From fe39ffb8b90ae4e002ed73fe98617cd590abb467 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 08:33:50 +0200 Subject: Adding upstream version 2.4.56. Signed-off-by: Daniel Baumann --- docs/cgi-examples/printenv | 27 + docs/cgi-examples/printenv.vbs | 32 + docs/cgi-examples/printenv.wsf | 33 + docs/cgi-examples/test-cgi | 42 + docs/conf/charset.conv | 55 + docs/conf/extra/httpd-autoindex.conf.in | 93 + docs/conf/extra/httpd-dav.conf.in | 50 + docs/conf/extra/httpd-default.conf.in | 90 + docs/conf/extra/httpd-info.conf.in | 36 + docs/conf/extra/httpd-languages.conf.in | 141 + docs/conf/extra/httpd-manual.conf.in | 38 + docs/conf/extra/httpd-mpm.conf.in | 119 + docs/conf/extra/httpd-multilang-errordoc.conf.in | 52 + docs/conf/extra/httpd-ssl.conf.in | 290 + docs/conf/extra/httpd-userdir.conf.in | 21 + docs/conf/extra/httpd-vhosts.conf.in | 41 + docs/conf/extra/proxy-html.conf.in | 90 + docs/conf/httpd.conf.in | 418 ++ docs/conf/magic | 385 ++ docs/conf/mime.types | 1855 ++++++ docs/docroot/index.html | 1 + docs/doxygen.conf | 74 + docs/error/HTTP_BAD_GATEWAY.html.var | 371 ++ docs/error/HTTP_BAD_REQUEST.html.var | 266 + docs/error/HTTP_FORBIDDEN.html.var | 476 ++ docs/error/HTTP_GONE.html.var | 534 ++ docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var | 576 ++ docs/error/HTTP_LENGTH_REQUIRED.html.var | 279 + docs/error/HTTP_METHOD_NOT_ALLOWED.html.var | 269 + docs/error/HTTP_NOT_FOUND.html.var | 536 ++ docs/error/HTTP_NOT_IMPLEMENTED.html.var | 254 + docs/error/HTTP_PRECONDITION_FAILED.html.var | 257 + docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var | 282 + docs/error/HTTP_REQUEST_TIME_OUT.html.var | 270 + docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var | 271 + docs/error/HTTP_SERVICE_UNAVAILABLE.html.var | 286 + docs/error/HTTP_UNAUTHORIZED.html.var | 423 ++ docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var | 252 + docs/error/HTTP_VARIANT_ALSO_VARIES.html.var | 278 + docs/error/README | 40 + docs/error/contact.html.var | 153 + docs/error/include/bottom.html | 12 + docs/error/include/spacer.html | 2 + docs/error/include/top.html | 21 + docs/icons/README | 166 + docs/icons/README.html | 815 +++ docs/icons/a.gif | Bin 0 -> 246 bytes docs/icons/a.png | Bin 0 -> 306 bytes docs/icons/alert.black.gif | Bin 0 -> 242 bytes docs/icons/alert.black.png | Bin 0 -> 293 bytes docs/icons/alert.red.gif | Bin 0 -> 247 bytes docs/icons/alert.red.png | Bin 0 -> 314 bytes docs/icons/apache_pb.gif | Bin 0 -> 4463 bytes docs/icons/apache_pb.png | Bin 0 -> 9691 bytes docs/icons/apache_pb.svg | 5879 ++++++++++++++++++++ docs/icons/apache_pb2.gif | Bin 0 -> 4234 bytes docs/icons/apache_pb2.png | Bin 0 -> 10401 bytes docs/icons/back.gif | Bin 0 -> 216 bytes docs/icons/back.png | Bin 0 -> 308 bytes docs/icons/ball.gray.gif | Bin 0 -> 233 bytes docs/icons/ball.gray.png | Bin 0 -> 298 bytes docs/icons/ball.red.gif | Bin 0 -> 205 bytes docs/icons/ball.red.png | Bin 0 -> 289 bytes docs/icons/binary.gif | Bin 0 -> 246 bytes docs/icons/binary.png | Bin 0 -> 310 bytes docs/icons/binhex.gif | Bin 0 -> 246 bytes docs/icons/binhex.png | Bin 0 -> 319 bytes docs/icons/blank.gif | Bin 0 -> 148 bytes docs/icons/blank.png | Bin 0 -> 215 bytes docs/icons/bomb.gif | Bin 0 -> 308 bytes docs/icons/bomb.png | Bin 0 -> 375 bytes docs/icons/box1.gif | Bin 0 -> 251 bytes docs/icons/box1.png | Bin 0 -> 325 bytes docs/icons/box2.gif | Bin 0 -> 268 bytes docs/icons/box2.png | Bin 0 -> 336 bytes docs/icons/broken.gif | Bin 0 -> 247 bytes docs/icons/broken.png | Bin 0 -> 320 bytes docs/icons/burst.gif | Bin 0 -> 235 bytes docs/icons/burst.png | Bin 0 -> 341 bytes docs/icons/c.gif | Bin 0 -> 242 bytes docs/icons/c.png | Bin 0 -> 299 bytes docs/icons/comp.blue.gif | Bin 0 -> 251 bytes docs/icons/comp.blue.png | Bin 0 -> 330 bytes docs/icons/comp.gray.gif | Bin 0 -> 246 bytes docs/icons/comp.gray.png | Bin 0 -> 318 bytes docs/icons/compressed.gif | Bin 0 -> 1038 bytes docs/icons/compressed.png | Bin 0 -> 1108 bytes docs/icons/continued.gif | Bin 0 -> 214 bytes docs/icons/continued.png | Bin 0 -> 296 bytes docs/icons/dir.gif | Bin 0 -> 225 bytes docs/icons/dir.png | Bin 0 -> 295 bytes docs/icons/diskimg.gif | Bin 0 -> 167 bytes docs/icons/diskimg.png | Bin 0 -> 215 bytes docs/icons/down.gif | Bin 0 -> 163 bytes docs/icons/down.png | Bin 0 -> 256 bytes docs/icons/dvi.gif | Bin 0 -> 238 bytes docs/icons/dvi.png | Bin 0 -> 305 bytes docs/icons/f.gif | Bin 0 -> 236 bytes docs/icons/f.png | Bin 0 -> 296 bytes docs/icons/folder.gif | Bin 0 -> 225 bytes docs/icons/folder.open.gif | Bin 0 -> 242 bytes docs/icons/folder.open.png | Bin 0 -> 332 bytes docs/icons/folder.png | Bin 0 -> 295 bytes docs/icons/folder.sec.gif | Bin 0 -> 243 bytes docs/icons/folder.sec.png | Bin 0 -> 313 bytes docs/icons/forward.gif | Bin 0 -> 219 bytes docs/icons/forward.png | Bin 0 -> 308 bytes docs/icons/generic.gif | Bin 0 -> 221 bytes docs/icons/generic.png | Bin 0 -> 275 bytes docs/icons/generic.red.gif | Bin 0 -> 220 bytes docs/icons/generic.red.png | Bin 0 -> 283 bytes docs/icons/generic.sec.gif | Bin 0 -> 249 bytes docs/icons/generic.sec.png | Bin 0 -> 295 bytes docs/icons/hand.right.gif | Bin 0 -> 217 bytes docs/icons/hand.right.png | Bin 0 -> 311 bytes docs/icons/hand.up.gif | Bin 0 -> 223 bytes docs/icons/hand.up.png | Bin 0 -> 304 bytes docs/icons/icon.sheet.gif | Bin 0 -> 11977 bytes docs/icons/icon.sheet.png | Bin 0 -> 9018 bytes docs/icons/image1.gif | Bin 0 -> 274 bytes docs/icons/image1.png | Bin 0 -> 325 bytes docs/icons/image2.gif | Bin 0 -> 309 bytes docs/icons/image2.png | Bin 0 -> 371 bytes docs/icons/image3.gif | Bin 0 -> 286 bytes docs/icons/image3.png | Bin 0 -> 338 bytes docs/icons/index.gif | Bin 0 -> 268 bytes docs/icons/index.png | Bin 0 -> 332 bytes docs/icons/layout.gif | Bin 0 -> 276 bytes docs/icons/layout.png | Bin 0 -> 323 bytes docs/icons/left.gif | Bin 0 -> 172 bytes docs/icons/left.png | Bin 0 -> 257 bytes docs/icons/link.gif | Bin 0 -> 249 bytes docs/icons/link.png | Bin 0 -> 314 bytes docs/icons/movie.gif | Bin 0 -> 243 bytes docs/icons/movie.png | Bin 0 -> 272 bytes docs/icons/odf6odb.png | Bin 0 -> 1047 bytes docs/icons/odf6odc.png | Bin 0 -> 1000 bytes docs/icons/odf6odf.png | Bin 0 -> 1047 bytes docs/icons/odf6odg.png | Bin 0 -> 1072 bytes docs/icons/odf6odi.png | Bin 0 -> 1067 bytes docs/icons/odf6odm.png | Bin 0 -> 1060 bytes docs/icons/odf6odp.png | Bin 0 -> 978 bytes docs/icons/odf6ods.png | Bin 0 -> 971 bytes docs/icons/odf6odt.png | Bin 0 -> 983 bytes docs/icons/odf6otc.png | Bin 0 -> 1040 bytes docs/icons/odf6otf.png | Bin 0 -> 1082 bytes docs/icons/odf6otg.png | Bin 0 -> 1106 bytes docs/icons/odf6oth.png | Bin 0 -> 1062 bytes docs/icons/odf6oti.png | Bin 0 -> 1107 bytes docs/icons/odf6otp.png | Bin 0 -> 1017 bytes docs/icons/odf6ots.png | Bin 0 -> 1010 bytes docs/icons/odf6ott.png | Bin 0 -> 1022 bytes docs/icons/p.gif | Bin 0 -> 237 bytes docs/icons/p.png | Bin 0 -> 298 bytes docs/icons/patch.gif | Bin 0 -> 251 bytes docs/icons/patch.png | Bin 0 -> 310 bytes docs/icons/pdf.gif | Bin 0 -> 249 bytes docs/icons/pdf.png | Bin 0 -> 304 bytes docs/icons/pie0.gif | Bin 0 -> 188 bytes docs/icons/pie0.png | Bin 0 -> 259 bytes docs/icons/pie1.gif | Bin 0 -> 198 bytes docs/icons/pie1.png | Bin 0 -> 279 bytes docs/icons/pie2.gif | Bin 0 -> 198 bytes docs/icons/pie2.png | Bin 0 -> 272 bytes docs/icons/pie3.gif | Bin 0 -> 191 bytes docs/icons/pie3.png | Bin 0 -> 276 bytes docs/icons/pie4.gif | Bin 0 -> 193 bytes docs/icons/pie4.png | Bin 0 -> 258 bytes docs/icons/pie5.gif | Bin 0 -> 189 bytes docs/icons/pie5.png | Bin 0 -> 277 bytes docs/icons/pie6.gif | Bin 0 -> 186 bytes docs/icons/pie6.png | Bin 0 -> 273 bytes docs/icons/pie7.gif | Bin 0 -> 185 bytes docs/icons/pie7.png | Bin 0 -> 275 bytes docs/icons/pie8.gif | Bin 0 -> 173 bytes docs/icons/pie8.png | Bin 0 -> 259 bytes docs/icons/portal.gif | Bin 0 -> 254 bytes docs/icons/portal.png | Bin 0 -> 319 bytes docs/icons/ps.gif | Bin 0 -> 244 bytes docs/icons/ps.png | Bin 0 -> 303 bytes docs/icons/quill.gif | Bin 0 -> 267 bytes docs/icons/quill.png | Bin 0 -> 329 bytes docs/icons/right.gif | Bin 0 -> 172 bytes docs/icons/right.png | Bin 0 -> 254 bytes docs/icons/screw1.gif | Bin 0 -> 258 bytes docs/icons/screw1.png | Bin 0 -> 328 bytes docs/icons/screw2.gif | Bin 0 -> 263 bytes docs/icons/screw2.png | Bin 0 -> 333 bytes docs/icons/script.gif | Bin 0 -> 242 bytes docs/icons/script.png | Bin 0 -> 290 bytes docs/icons/small/back.gif | Bin 0 -> 129 bytes docs/icons/small/back.png | Bin 0 -> 181 bytes docs/icons/small/binary.gif | Bin 0 -> 134 bytes docs/icons/small/binary.png | Bin 0 -> 172 bytes docs/icons/small/binhex.gif | Bin 0 -> 131 bytes docs/icons/small/binhex.png | Bin 0 -> 178 bytes docs/icons/small/blank.gif | Bin 0 -> 55 bytes docs/icons/small/blank.png | Bin 0 -> 100 bytes docs/icons/small/broken.gif | Bin 0 -> 139 bytes docs/icons/small/broken.png | Bin 0 -> 184 bytes docs/icons/small/burst.gif | Bin 0 -> 128 bytes docs/icons/small/burst.png | Bin 0 -> 210 bytes docs/icons/small/comp1.gif | Bin 0 -> 130 bytes docs/icons/small/comp1.png | Bin 0 -> 216 bytes docs/icons/small/comp2.gif | Bin 0 -> 131 bytes docs/icons/small/comp2.png | Bin 0 -> 215 bytes docs/icons/small/compressed.gif | Bin 0 -> 128 bytes docs/icons/small/compressed.png | Bin 0 -> 212 bytes docs/icons/small/continued.gif | Bin 0 -> 114 bytes docs/icons/small/continued.png | Bin 0 -> 163 bytes docs/icons/small/doc.gif | Bin 0 -> 191 bytes docs/icons/small/doc.png | Bin 0 -> 222 bytes docs/icons/small/folder.gif | Bin 0 -> 132 bytes docs/icons/small/folder.png | Bin 0 -> 196 bytes docs/icons/small/folder2.gif | Bin 0 -> 122 bytes docs/icons/small/folder2.png | Bin 0 -> 180 bytes docs/icons/small/forward.gif | Bin 0 -> 125 bytes docs/icons/small/forward.png | Bin 0 -> 174 bytes docs/icons/small/generic.gif | Bin 0 -> 116 bytes docs/icons/small/generic.png | Bin 0 -> 149 bytes docs/icons/small/generic2.gif | Bin 0 -> 127 bytes docs/icons/small/generic2.png | Bin 0 -> 179 bytes docs/icons/small/generic3.gif | Bin 0 -> 113 bytes docs/icons/small/generic3.png | Bin 0 -> 171 bytes docs/icons/small/image.gif | Bin 0 -> 126 bytes docs/icons/small/image.png | Bin 0 -> 197 bytes docs/icons/small/image2.gif | Bin 0 -> 138 bytes docs/icons/small/image2.png | Bin 0 -> 203 bytes docs/icons/small/index.gif | Bin 0 -> 145 bytes docs/icons/small/index.png | Bin 0 -> 225 bytes docs/icons/small/key.gif | Bin 0 -> 187 bytes docs/icons/small/key.png | Bin 0 -> 210 bytes docs/icons/small/movie.gif | Bin 0 -> 134 bytes docs/icons/small/movie.png | Bin 0 -> 159 bytes docs/icons/small/patch.gif | Bin 0 -> 182 bytes docs/icons/small/patch.png | Bin 0 -> 211 bytes docs/icons/small/ps.gif | Bin 0 -> 184 bytes docs/icons/small/ps.png | Bin 0 -> 217 bytes docs/icons/small/rainbow.gif | Bin 0 -> 3811 bytes docs/icons/small/rainbow.png | Bin 0 -> 2427 bytes docs/icons/small/sound.gif | Bin 0 -> 130 bytes docs/icons/small/sound.png | Bin 0 -> 197 bytes docs/icons/small/sound2.gif | Bin 0 -> 119 bytes docs/icons/small/sound2.png | Bin 0 -> 171 bytes docs/icons/small/tar.gif | Bin 0 -> 132 bytes docs/icons/small/tar.png | Bin 0 -> 173 bytes docs/icons/small/text.gif | Bin 0 -> 128 bytes docs/icons/small/text.png | Bin 0 -> 163 bytes docs/icons/small/transfer.gif | Bin 0 -> 124 bytes docs/icons/small/transfer.png | Bin 0 -> 211 bytes docs/icons/small/unknown.gif | Bin 0 -> 131 bytes docs/icons/small/unknown.png | Bin 0 -> 172 bytes docs/icons/small/uu.gif | Bin 0 -> 125 bytes docs/icons/small/uu.png | Bin 0 -> 166 bytes docs/icons/sound1.gif | Bin 0 -> 248 bytes docs/icons/sound1.png | Bin 0 -> 331 bytes docs/icons/sound2.gif | Bin 0 -> 221 bytes docs/icons/sound2.png | Bin 0 -> 315 bytes docs/icons/sphere1.gif | Bin 0 -> 285 bytes docs/icons/sphere1.png | Bin 0 -> 347 bytes docs/icons/sphere2.gif | Bin 0 -> 264 bytes docs/icons/sphere2.png | Bin 0 -> 339 bytes docs/icons/svg.png | Bin 0 -> 1010 bytes docs/icons/tar.gif | Bin 0 -> 219 bytes docs/icons/tar.png | Bin 0 -> 261 bytes docs/icons/tex.gif | Bin 0 -> 251 bytes docs/icons/tex.png | Bin 0 -> 310 bytes docs/icons/text.gif | Bin 0 -> 229 bytes docs/icons/text.png | Bin 0 -> 288 bytes docs/icons/transfer.gif | Bin 0 -> 242 bytes docs/icons/transfer.png | Bin 0 -> 334 bytes docs/icons/unknown.gif | Bin 0 -> 245 bytes docs/icons/unknown.png | Bin 0 -> 307 bytes docs/icons/up.gif | Bin 0 -> 164 bytes docs/icons/up.png | Bin 0 -> 255 bytes docs/icons/uu.gif | Bin 0 -> 236 bytes docs/icons/uu.png | Bin 0 -> 296 bytes docs/icons/uuencoded.gif | Bin 0 -> 236 bytes docs/icons/uuencoded.png | Bin 0 -> 296 bytes docs/icons/world1.gif | Bin 0 -> 228 bytes docs/icons/world1.png | Bin 0 -> 332 bytes docs/icons/world2.gif | Bin 0 -> 261 bytes docs/icons/world2.png | Bin 0 -> 363 bytes docs/icons/xml.png | Bin 0 -> 1053 bytes docs/man/ab.1 | 216 + docs/man/apachectl.8 | 95 + docs/man/apxs.1 | 247 + docs/man/dbmmanage.1 | 121 + docs/man/fcgistarter.8 | 59 + docs/man/htcacheclean.8 | 146 + docs/man/htdbm.1 | 187 + docs/man/htdigest.1 | 62 + docs/man/htpasswd.1 | 173 + docs/man/httpd.8 | 119 + docs/man/httxt2dbm.1 | 65 + docs/man/logresolve.1 | 51 + docs/man/rotatelogs.8 | 192 + docs/man/suexec.8 | 48 + docs/man/tr/ab.1 | 213 + docs/man/tr/apachectl.8 | 95 + docs/man/tr/apxs.1 | 251 + docs/man/tr/dbmmanage.1 | 121 + docs/man/tr/fcgistarter.8 | 59 + docs/man/tr/htcacheclean.8 | 146 + docs/man/tr/htdbm.1 | 187 + docs/man/tr/htdigest.1 | 62 + docs/man/tr/htpasswd.1 | 170 + docs/man/tr/httpd.8 | 119 + docs/man/tr/httxt2dbm.1 | 65 + docs/man/tr/logresolve.1 | 51 + docs/man/tr/rotatelogs.8 | 177 + docs/man/tr/suexec.8 | 48 + docs/manual/BUILDING | 2 + docs/manual/LICENSE | 202 + docs/manual/bind.html | 25 + docs/manual/bind.html.de | 229 + docs/manual/bind.html.en | 246 + docs/manual/bind.html.fr.utf8 | 254 + docs/manual/bind.html.ja.utf8 | 209 + docs/manual/bind.html.ko.euc-kr | 179 + docs/manual/bind.html.tr.utf8 | 244 + docs/manual/caching.html | 13 + docs/manual/caching.html.en | 908 +++ docs/manual/caching.html.fr.utf8 | 1003 ++++ docs/manual/caching.html.tr.utf8 | 889 +++ docs/manual/configuring.html | 25 + docs/manual/configuring.html.de | 216 + docs/manual/configuring.html.en | 235 + docs/manual/configuring.html.fr.utf8 | 253 + docs/manual/configuring.html.ja.utf8 | 205 + docs/manual/configuring.html.ko.euc-kr | 182 + docs/manual/configuring.html.tr.utf8 | 233 + docs/manual/content-negotiation.html | 21 + docs/manual/content-negotiation.html.en | 711 +++ docs/manual/content-negotiation.html.fr.utf8 | 742 +++ docs/manual/content-negotiation.html.ja.utf8 | 752 +++ docs/manual/content-negotiation.html.ko.euc-kr | 632 +++ docs/manual/content-negotiation.html.tr.utf8 | 680 +++ docs/manual/convenience.map | 726 +++ docs/manual/custom-error.html | 25 + docs/manual/custom-error.html.en | 237 + docs/manual/custom-error.html.es | 249 + docs/manual/custom-error.html.fr.utf8 | 250 + docs/manual/custom-error.html.ja.utf8 | 229 + docs/manual/custom-error.html.ko.euc-kr | 230 + docs/manual/custom-error.html.tr.utf8 | 233 + docs/manual/developer/API.html | 5 + docs/manual/developer/API.html.en | 1245 +++++ docs/manual/developer/debugging.html | 5 + docs/manual/developer/debugging.html.en | 60 + docs/manual/developer/documenting.html | 9 + docs/manual/developer/documenting.html.en | 112 + docs/manual/developer/documenting.html.zh-cn.utf8 | 109 + docs/manual/developer/filters.html | 5 + docs/manual/developer/filters.html.en | 234 + docs/manual/developer/hooks.html | 5 + docs/manual/developer/hooks.html.en | 261 + docs/manual/developer/index.html | 9 + docs/manual/developer/index.html.en | 89 + docs/manual/developer/index.html.zh-cn.utf8 | 88 + docs/manual/developer/modguide.html | 5 + docs/manual/developer/modguide.html.en | 1739 ++++++ docs/manual/developer/modules.html | 9 + docs/manual/developer/modules.html.en | 306 + docs/manual/developer/modules.html.ja.utf8 | 301 + docs/manual/developer/new_api_2_4.html | 5 + docs/manual/developer/new_api_2_4.html.en | 601 ++ docs/manual/developer/output-filters.html | 5 + docs/manual/developer/output-filters.html.en | 585 ++ docs/manual/developer/request.html | 5 + docs/manual/developer/request.html.en | 248 + docs/manual/developer/thread_safety.html | 5 + docs/manual/developer/thread_safety.html.en | 307 + docs/manual/dns-caveats.html | 21 + docs/manual/dns-caveats.html.en | 217 + docs/manual/dns-caveats.html.fr.utf8 | 226 + docs/manual/dns-caveats.html.ja.utf8 | 279 + docs/manual/dns-caveats.html.ko.euc-kr | 253 + docs/manual/dns-caveats.html.tr.utf8 | 207 + docs/manual/dso.html | 21 + docs/manual/dso.html.en | 332 ++ docs/manual/dso.html.fr.utf8 | 356 ++ docs/manual/dso.html.ja.utf8 | 330 ++ docs/manual/dso.html.ko.euc-kr | 306 + docs/manual/dso.html.tr.utf8 | 329 ++ docs/manual/env.html | 21 + docs/manual/env.html.en | 529 ++ docs/manual/env.html.fr.utf8 | 560 ++ docs/manual/env.html.ja.utf8 | 456 ++ docs/manual/env.html.ko.euc-kr | 400 ++ docs/manual/env.html.tr.utf8 | 529 ++ docs/manual/expr.html | 9 + docs/manual/expr.html.en | 657 +++ docs/manual/expr.html.fr.utf8 | 693 +++ docs/manual/faq/index.html | 21 + docs/manual/faq/index.html.en | 50 + docs/manual/faq/index.html.es | 50 + docs/manual/faq/index.html.fr.utf8 | 50 + docs/manual/faq/index.html.tr.utf8 | 50 + docs/manual/faq/index.html.zh-cn.utf8 | 49 + docs/manual/filter.html | 25 + docs/manual/filter.html.en | 183 + docs/manual/filter.html.es | 204 + docs/manual/filter.html.fr.utf8 | 201 + docs/manual/filter.html.ja.utf8 | 112 + docs/manual/filter.html.ko.euc-kr | 108 + docs/manual/filter.html.tr.utf8 | 194 + docs/manual/getting-started.html | 13 + docs/manual/getting-started.html.en | 254 + docs/manual/getting-started.html.fr.utf8 | 279 + docs/manual/getting-started.html.ru.utf8 | 271 + docs/manual/glossary.html | 29 + docs/manual/glossary.html.de | 583 ++ docs/manual/glossary.html.en | 515 ++ docs/manual/glossary.html.es | 556 ++ docs/manual/glossary.html.fr.utf8 | 619 +++ docs/manual/glossary.html.ja.utf8 | 482 ++ docs/manual/glossary.html.ko.euc-kr | 396 ++ docs/manual/glossary.html.tr.utf8 | 529 ++ docs/manual/handler.html | 29 + docs/manual/handler.html.en | 182 + docs/manual/handler.html.es | 195 + docs/manual/handler.html.fr.utf8 | 188 + docs/manual/handler.html.ja.utf8 | 189 + docs/manual/handler.html.ko.euc-kr | 181 + docs/manual/handler.html.tr.utf8 | 179 + docs/manual/handler.html.zh-cn.utf8 | 157 + docs/manual/howto/access.html | 13 + docs/manual/howto/access.html.en | 229 + docs/manual/howto/access.html.es | 236 + docs/manual/howto/access.html.fr.utf8 | 242 + docs/manual/howto/auth.html | 25 + docs/manual/howto/auth.html.en | 640 +++ docs/manual/howto/auth.html.es | 717 +++ docs/manual/howto/auth.html.fr.utf8 | 681 +++ docs/manual/howto/auth.html.ja.utf8 | 692 +++ docs/manual/howto/auth.html.ko.euc-kr | 355 ++ docs/manual/howto/auth.html.tr.utf8 | 639 +++ docs/manual/howto/cgi.html | 21 + docs/manual/howto/cgi.html.en | 601 ++ docs/manual/howto/cgi.html.es | 619 +++ docs/manual/howto/cgi.html.fr.utf8 | 643 +++ docs/manual/howto/cgi.html.ja.utf8 | 593 ++ docs/manual/howto/cgi.html.ko.euc-kr | 533 ++ docs/manual/howto/htaccess.html | 25 + docs/manual/howto/htaccess.html.en | 465 ++ docs/manual/howto/htaccess.html.es | 464 ++ docs/manual/howto/htaccess.html.fr.utf8 | 512 ++ docs/manual/howto/htaccess.html.ja.utf8 | 417 ++ docs/manual/howto/htaccess.html.ko.euc-kr | 363 ++ docs/manual/howto/htaccess.html.pt-br | 407 ++ docs/manual/howto/http2.html | 13 + docs/manual/howto/http2.html.en | 346 ++ docs/manual/howto/http2.html.es | 421 ++ docs/manual/howto/http2.html.fr.utf8 | 429 ++ docs/manual/howto/index.html | 25 + docs/manual/howto/index.html.en | 170 + docs/manual/howto/index.html.es | 163 + docs/manual/howto/index.html.fr.utf8 | 178 + docs/manual/howto/index.html.ja.utf8 | 132 + docs/manual/howto/index.html.ko.euc-kr | 124 + docs/manual/howto/index.html.zh-cn.utf8 | 121 + docs/manual/howto/public_html.html | 25 + docs/manual/howto/public_html.html.en | 218 + docs/manual/howto/public_html.html.es | 216 + docs/manual/howto/public_html.html.fr.utf8 | 235 + docs/manual/howto/public_html.html.ja.utf8 | 228 + docs/manual/howto/public_html.html.ko.euc-kr | 190 + docs/manual/howto/public_html.html.tr.utf8 | 229 + docs/manual/howto/reverse_proxy.html | 9 + docs/manual/howto/reverse_proxy.html.en | 360 ++ docs/manual/howto/reverse_proxy.html.fr.utf8 | 381 ++ docs/manual/howto/ssi.html | 21 + docs/manual/howto/ssi.html.en | 503 ++ docs/manual/howto/ssi.html.es | 361 ++ docs/manual/howto/ssi.html.fr.utf8 | 518 ++ docs/manual/howto/ssi.html.ja.utf8 | 515 ++ docs/manual/howto/ssi.html.ko.euc-kr | 458 ++ docs/manual/images/apache_header.gif | Bin 0 -> 4084 bytes docs/manual/images/bal-man-b.png | Bin 0 -> 321860 bytes docs/manual/images/bal-man-w.png | Bin 0 -> 374905 bytes docs/manual/images/bal-man.png | Bin 0 -> 255941 bytes docs/manual/images/build_a_mod_2.png | Bin 0 -> 74459 bytes docs/manual/images/build_a_mod_3.png | Bin 0 -> 51249 bytes docs/manual/images/build_a_mod_4.png | Bin 0 -> 40188 bytes docs/manual/images/caching_fig1.gif | Bin 0 -> 16515 bytes docs/manual/images/caching_fig1.png | Bin 0 -> 13452 bytes docs/manual/images/caching_fig1.tr.png | Bin 0 -> 11460 bytes docs/manual/images/custom_errordocs.png | Bin 0 -> 17167 bytes docs/manual/images/down.gif | Bin 0 -> 56 bytes docs/manual/images/favicon.ico | Bin 0 -> 1086 bytes docs/manual/images/feather.gif | Bin 0 -> 3656 bytes docs/manual/images/feather.png | Bin 0 -> 21145 bytes docs/manual/images/filter_arch.png | Bin 0 -> 2411 bytes docs/manual/images/filter_arch.tr.png | Bin 0 -> 2502 bytes docs/manual/images/home.gif | Bin 0 -> 1465 bytes docs/manual/images/index.gif | Bin 0 -> 1540 bytes docs/manual/images/left.gif | Bin 0 -> 60 bytes docs/manual/images/mod_filter_new.gif | Bin 0 -> 2392 bytes docs/manual/images/mod_filter_new.png | Bin 0 -> 1052 bytes docs/manual/images/mod_filter_new.tr.png | Bin 0 -> 1326 bytes docs/manual/images/mod_filter_old.gif | Bin 0 -> 1230 bytes docs/manual/images/mod_filter_old.png | Bin 0 -> 738 bytes docs/manual/images/mod_rewrite_fig1.gif | Bin 0 -> 3525 bytes docs/manual/images/mod_rewrite_fig1.png | Bin 0 -> 1700 bytes docs/manual/images/mod_rewrite_fig2.gif | Bin 0 -> 2553 bytes docs/manual/images/mod_rewrite_fig2.png | Bin 0 -> 1381 bytes docs/manual/images/pixel.gif | Bin 0 -> 61 bytes docs/manual/images/reverse-proxy-arch.png | Bin 0 -> 11702 bytes docs/manual/images/rewrite_backreferences.png | Bin 0 -> 37163 bytes docs/manual/images/rewrite_process_uri.png | Bin 0 -> 106807 bytes docs/manual/images/rewrite_rule_flow.png | Bin 0 -> 40325 bytes docs/manual/images/right.gif | Bin 0 -> 59 bytes docs/manual/images/ssl_intro_fig1.gif | Bin 0 -> 5738 bytes docs/manual/images/ssl_intro_fig1.png | Bin 0 -> 3331 bytes docs/manual/images/ssl_intro_fig2.gif | Bin 0 -> 2700 bytes docs/manual/images/ssl_intro_fig2.png | Bin 0 -> 1208 bytes docs/manual/images/ssl_intro_fig3.gif | Bin 0 -> 4020 bytes docs/manual/images/ssl_intro_fig3.png | Bin 0 -> 2568 bytes docs/manual/images/sub.gif | Bin 0 -> 6083 bytes docs/manual/images/syntax_rewritecond.png | Bin 0 -> 44876 bytes docs/manual/images/syntax_rewriterule.png | Bin 0 -> 53367 bytes docs/manual/images/up.gif | Bin 0 -> 57 bytes docs/manual/index.html | 45 + docs/manual/index.html.da | 121 + docs/manual/index.html.de | 130 + docs/manual/index.html.en | 127 + docs/manual/index.html.es | 129 + docs/manual/index.html.fr.utf8 | 130 + docs/manual/index.html.ja.utf8 | 129 + docs/manual/index.html.ko.euc-kr | 118 + docs/manual/index.html.pt-br | 123 + docs/manual/index.html.ru.utf8 | 127 + docs/manual/index.html.tr.utf8 | 127 + docs/manual/index.html.zh-cn.utf8 | 124 + docs/manual/install.html | 29 + docs/manual/install.html.de | 436 ++ docs/manual/install.html.en | 501 ++ docs/manual/install.html.es | 483 ++ docs/manual/install.html.fr.utf8 | 528 ++ docs/manual/install.html.ja.utf8 | 434 ++ docs/manual/install.html.ko.euc-kr | 388 ++ docs/manual/install.html.tr.utf8 | 497 ++ docs/manual/invoking.html | 29 + docs/manual/invoking.html.de | 187 + docs/manual/invoking.html.en | 175 + docs/manual/invoking.html.es | 190 + docs/manual/invoking.html.fr.utf8 | 188 + docs/manual/invoking.html.ja.utf8 | 185 + docs/manual/invoking.html.ko.euc-kr | 168 + docs/manual/invoking.html.tr.utf8 | 172 + docs/manual/license.html | 5 + docs/manual/license.html.en | 264 + docs/manual/logs.html | 21 + docs/manual/logs.html.en | 710 +++ docs/manual/logs.html.fr.utf8 | 761 +++ docs/manual/logs.html.ja.utf8 | 604 ++ docs/manual/logs.html.ko.euc-kr | 550 ++ docs/manual/logs.html.tr.utf8 | 684 +++ docs/manual/misc/index.html | 25 + docs/manual/misc/index.html.en | 94 + docs/manual/misc/index.html.es | 100 + docs/manual/misc/index.html.fr.utf8 | 99 + docs/manual/misc/index.html.ko.euc-kr | 95 + docs/manual/misc/index.html.tr.utf8 | 96 + docs/manual/misc/index.html.zh-cn.utf8 | 85 + docs/manual/misc/password_encryptions.html | 9 + docs/manual/misc/password_encryptions.html.en | 259 + docs/manual/misc/password_encryptions.html.fr.utf8 | 273 + docs/manual/misc/perf-tuning.html | 17 + docs/manual/misc/perf-tuning.html.en | 986 ++++ docs/manual/misc/perf-tuning.html.fr.utf8 | 1058 ++++ docs/manual/misc/perf-tuning.html.ko.euc-kr | 1006 ++++ docs/manual/misc/perf-tuning.html.tr.utf8 | 1021 ++++ docs/manual/misc/relevant_standards.html | 13 + docs/manual/misc/relevant_standards.html.en | 234 + docs/manual/misc/relevant_standards.html.fr.utf8 | 253 + docs/manual/misc/relevant_standards.html.ko.euc-kr | 221 + docs/manual/misc/security_tips.html | 17 + docs/manual/misc/security_tips.html.en | 491 ++ docs/manual/misc/security_tips.html.fr.utf8 | 513 ++ docs/manual/misc/security_tips.html.ko.euc-kr | 373 ++ docs/manual/misc/security_tips.html.tr.utf8 | 485 ++ docs/manual/mod/core.html | 25 + docs/manual/mod/core.html.de | 3911 +++++++++++++ docs/manual/mod/core.html.en | 5288 ++++++++++++++++++ docs/manual/mod/core.html.es | 4602 +++++++++++++++ docs/manual/mod/core.html.fr.utf8 | 5669 +++++++++++++++++++ docs/manual/mod/core.html.ja.utf8 | 3825 +++++++++++++ docs/manual/mod/core.html.tr.utf8 | 5245 +++++++++++++++++ docs/manual/mod/directive-dict.html | 25 + docs/manual/mod/directive-dict.html.en | 323 ++ docs/manual/mod/directive-dict.html.es | 314 ++ docs/manual/mod/directive-dict.html.fr.utf8 | 319 ++ docs/manual/mod/directive-dict.html.ja.utf8 | 334 ++ docs/manual/mod/directive-dict.html.ko.euc-kr | 284 + docs/manual/mod/directive-dict.html.tr.utf8 | 305 + docs/manual/mod/directives.html | 33 + docs/manual/mod/directives.html.de | 807 +++ docs/manual/mod/directives.html.en | 808 +++ docs/manual/mod/directives.html.es | 810 +++ docs/manual/mod/directives.html.fr.utf8 | 808 +++ docs/manual/mod/directives.html.ja.utf8 | 805 +++ docs/manual/mod/directives.html.ko.euc-kr | 805 +++ docs/manual/mod/directives.html.tr.utf8 | 804 +++ docs/manual/mod/directives.html.zh-cn.utf8 | 803 +++ docs/manual/mod/event.html | 9 + docs/manual/mod/event.html.en | 432 ++ docs/manual/mod/event.html.fr.utf8 | 500 ++ docs/manual/mod/index.html | 33 + docs/manual/mod/index.html.de | 283 + docs/manual/mod/index.html.en | 279 + docs/manual/mod/index.html.es | 284 + docs/manual/mod/index.html.fr.utf8 | 325 ++ docs/manual/mod/index.html.ja.utf8 | 269 + docs/manual/mod/index.html.ko.euc-kr | 265 + docs/manual/mod/index.html.tr.utf8 | 272 + docs/manual/mod/index.html.zh-cn.utf8 | 274 + docs/manual/mod/mod_access_compat.html | 13 + docs/manual/mod/mod_access_compat.html.en | 499 ++ docs/manual/mod/mod_access_compat.html.fr.utf8 | 524 ++ docs/manual/mod/mod_access_compat.html.ja.utf8 | 476 ++ docs/manual/mod/mod_actions.html | 21 + docs/manual/mod/mod_actions.html.de | 197 + docs/manual/mod/mod_actions.html.en | 186 + docs/manual/mod/mod_actions.html.fr.utf8 | 196 + docs/manual/mod/mod_actions.html.ja.utf8 | 205 + docs/manual/mod/mod_actions.html.ko.euc-kr | 194 + docs/manual/mod/mod_alias.html | 21 + docs/manual/mod/mod_alias.html.en | 635 +++ docs/manual/mod/mod_alias.html.fr.utf8 | 646 +++ docs/manual/mod/mod_alias.html.ja.utf8 | 419 ++ docs/manual/mod/mod_alias.html.ko.euc-kr | 386 ++ docs/manual/mod/mod_alias.html.tr.utf8 | 622 +++ docs/manual/mod/mod_allowmethods.html | 9 + docs/manual/mod/mod_allowmethods.html.en | 116 + docs/manual/mod/mod_allowmethods.html.fr.utf8 | 119 + docs/manual/mod/mod_asis.html | 17 + docs/manual/mod/mod_asis.html.en | 143 + docs/manual/mod/mod_asis.html.fr.utf8 | 143 + docs/manual/mod/mod_asis.html.ja.utf8 | 144 + docs/manual/mod/mod_asis.html.ko.euc-kr | 138 + docs/manual/mod/mod_auth_basic.html | 17 + docs/manual/mod/mod_auth_basic.html.en | 288 + docs/manual/mod/mod_auth_basic.html.fr.utf8 | 315 ++ docs/manual/mod/mod_auth_basic.html.ja.utf8 | 198 + docs/manual/mod/mod_auth_basic.html.ko.euc-kr | 191 + docs/manual/mod/mod_auth_digest.html | 13 + docs/manual/mod/mod_auth_digest.html.en | 298 + docs/manual/mod/mod_auth_digest.html.fr.utf8 | 316 ++ docs/manual/mod/mod_auth_digest.html.ko.euc-kr | 317 ++ docs/manual/mod/mod_auth_form.html | 9 + docs/manual/mod/mod_auth_form.html.en | 735 +++ docs/manual/mod/mod_auth_form.html.fr.utf8 | 821 +++ docs/manual/mod/mod_authn_anon.html | 17 + docs/manual/mod/mod_authn_anon.html.en | 247 + docs/manual/mod/mod_authn_anon.html.fr.utf8 | 262 + docs/manual/mod/mod_authn_anon.html.ja.utf8 | 251 + docs/manual/mod/mod_authn_anon.html.ko.euc-kr | 243 + docs/manual/mod/mod_authn_core.html | 9 + docs/manual/mod/mod_authn_core.html.en | 281 + docs/manual/mod/mod_authn_core.html.fr.utf8 | 297 + docs/manual/mod/mod_authn_dbd.html | 9 + docs/manual/mod/mod_authn_dbd.html.en | 231 + docs/manual/mod/mod_authn_dbd.html.fr.utf8 | 248 + docs/manual/mod/mod_authn_dbm.html | 17 + docs/manual/mod/mod_authn_dbm.html.en | 179 + docs/manual/mod/mod_authn_dbm.html.fr.utf8 | 188 + docs/manual/mod/mod_authn_dbm.html.ja.utf8 | 167 + docs/manual/mod/mod_authn_dbm.html.ko.euc-kr | 159 + docs/manual/mod/mod_authn_file.html | 17 + docs/manual/mod/mod_authn_file.html.en | 164 + docs/manual/mod/mod_authn_file.html.fr.utf8 | 173 + docs/manual/mod/mod_authn_file.html.ja.utf8 | 174 + docs/manual/mod/mod_authn_file.html.ko.euc-kr | 157 + docs/manual/mod/mod_authn_socache.html | 9 + docs/manual/mod/mod_authn_socache.html.en | 255 + docs/manual/mod/mod_authn_socache.html.fr.utf8 | 286 + docs/manual/mod/mod_authnz_fcgi.html | 9 + docs/manual/mod/mod_authnz_fcgi.html.en | 566 ++ docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 | 588 ++ docs/manual/mod/mod_authnz_ldap.html | 9 + docs/manual/mod/mod_authnz_ldap.html.en | 1435 +++++ docs/manual/mod/mod_authnz_ldap.html.fr.utf8 | 1466 +++++ docs/manual/mod/mod_authz_core.html | 9 + docs/manual/mod/mod_authz_core.html.en | 689 +++ docs/manual/mod/mod_authz_core.html.fr.utf8 | 697 +++ docs/manual/mod/mod_authz_dbd.html | 9 + docs/manual/mod/mod_authz_dbd.html.en | 315 ++ docs/manual/mod/mod_authz_dbd.html.fr.utf8 | 334 ++ docs/manual/mod/mod_authz_dbm.html | 13 + docs/manual/mod/mod_authz_dbm.html.en | 215 + docs/manual/mod/mod_authz_dbm.html.fr.utf8 | 225 + docs/manual/mod/mod_authz_dbm.html.ko.euc-kr | 156 + docs/manual/mod/mod_authz_groupfile.html | 17 + docs/manual/mod/mod_authz_groupfile.html.en | 158 + docs/manual/mod/mod_authz_groupfile.html.fr.utf8 | 165 + docs/manual/mod/mod_authz_groupfile.html.ja.utf8 | 130 + docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr | 121 + docs/manual/mod/mod_authz_host.html | 9 + docs/manual/mod/mod_authz_host.html.en | 253 + docs/manual/mod/mod_authz_host.html.fr.utf8 | 256 + docs/manual/mod/mod_authz_owner.html | 17 + docs/manual/mod/mod_authz_owner.html.en | 169 + docs/manual/mod/mod_authz_owner.html.fr.utf8 | 182 + docs/manual/mod/mod_authz_owner.html.ja.utf8 | 182 + docs/manual/mod/mod_authz_owner.html.ko.euc-kr | 177 + docs/manual/mod/mod_authz_user.html | 17 + docs/manual/mod/mod_authz_user.html.en | 122 + docs/manual/mod/mod_authz_user.html.fr.utf8 | 124 + docs/manual/mod/mod_authz_user.html.ja.utf8 | 90 + docs/manual/mod/mod_authz_user.html.ko.euc-kr | 88 + docs/manual/mod/mod_autoindex.html | 21 + docs/manual/mod/mod_autoindex.html.en | 1072 ++++ docs/manual/mod/mod_autoindex.html.fr.utf8 | 1150 ++++ docs/manual/mod/mod_autoindex.html.ja.utf8 | 1081 ++++ docs/manual/mod/mod_autoindex.html.ko.euc-kr | 893 +++ docs/manual/mod/mod_autoindex.html.tr.utf8 | 1076 ++++ docs/manual/mod/mod_brotli.html | 9 + docs/manual/mod/mod_brotli.html.en | 349 ++ docs/manual/mod/mod_brotli.html.fr.utf8 | 360 ++ docs/manual/mod/mod_buffer.html | 9 + docs/manual/mod/mod_buffer.html.en | 128 + docs/manual/mod/mod_buffer.html.fr.utf8 | 131 + docs/manual/mod/mod_cache.html | 17 + docs/manual/mod/mod_cache.html.en | 1078 ++++ docs/manual/mod/mod_cache.html.fr.utf8 | 1187 ++++ docs/manual/mod/mod_cache.html.ja.utf8 | 680 +++ docs/manual/mod/mod_cache.html.ko.euc-kr | 532 ++ docs/manual/mod/mod_cache_disk.html | 17 + docs/manual/mod/mod_cache_disk.html.en | 292 + docs/manual/mod/mod_cache_disk.html.fr.utf8 | 310 ++ docs/manual/mod/mod_cache_disk.html.ja.utf8 | 234 + docs/manual/mod/mod_cache_disk.html.ko.euc-kr | 228 + docs/manual/mod/mod_cache_socache.html | 9 + docs/manual/mod/mod_cache_socache.html.en | 266 + docs/manual/mod/mod_cache_socache.html.fr.utf8 | 279 + docs/manual/mod/mod_cern_meta.html | 13 + docs/manual/mod/mod_cern_meta.html.en | 157 + docs/manual/mod/mod_cern_meta.html.fr.utf8 | 162 + docs/manual/mod/mod_cern_meta.html.ko.euc-kr | 150 + docs/manual/mod/mod_cgi.html | 17 + docs/manual/mod/mod_cgi.html.en | 294 + docs/manual/mod/mod_cgi.html.fr.utf8 | 313 ++ docs/manual/mod/mod_cgi.html.ja.utf8 | 279 + docs/manual/mod/mod_cgi.html.ko.euc-kr | 262 + docs/manual/mod/mod_cgid.html | 17 + docs/manual/mod/mod_cgid.html.en | 160 + docs/manual/mod/mod_cgid.html.fr.utf8 | 164 + docs/manual/mod/mod_cgid.html.ja.utf8 | 147 + docs/manual/mod/mod_cgid.html.ko.euc-kr | 143 + docs/manual/mod/mod_charset_lite.html | 13 + docs/manual/mod/mod_charset_lite.html.en | 236 + docs/manual/mod/mod_charset_lite.html.fr.utf8 | 252 + docs/manual/mod/mod_charset_lite.html.ko.euc-kr | 228 + docs/manual/mod/mod_data.html | 9 + docs/manual/mod/mod_data.html.en | 106 + docs/manual/mod/mod_data.html.fr.utf8 | 105 + docs/manual/mod/mod_dav.html | 17 + docs/manual/mod/mod_dav.html.en | 281 + docs/manual/mod/mod_dav.html.fr.utf8 | 302 + docs/manual/mod/mod_dav.html.ja.utf8 | 291 + docs/manual/mod/mod_dav.html.ko.euc-kr | 293 + docs/manual/mod/mod_dav_fs.html | 17 + docs/manual/mod/mod_dav_fs.html.en | 144 + docs/manual/mod/mod_dav_fs.html.fr.utf8 | 151 + docs/manual/mod/mod_dav_fs.html.ja.utf8 | 135 + docs/manual/mod/mod_dav_fs.html.ko.euc-kr | 140 + docs/manual/mod/mod_dav_lock.html | 13 + docs/manual/mod/mod_dav_lock.html.en | 128 + docs/manual/mod/mod_dav_lock.html.fr.utf8 | 137 + docs/manual/mod/mod_dav_lock.html.ja.utf8 | 132 + docs/manual/mod/mod_dbd.html | 9 + docs/manual/mod/mod_dbd.html.en | 394 ++ docs/manual/mod/mod_dbd.html.fr.utf8 | 421 ++ docs/manual/mod/mod_deflate.html | 17 + docs/manual/mod/mod_deflate.html.en | 442 ++ docs/manual/mod/mod_deflate.html.fr.utf8 | 473 ++ docs/manual/mod/mod_deflate.html.ja.utf8 | 453 ++ docs/manual/mod/mod_deflate.html.ko.euc-kr | 439 ++ docs/manual/mod/mod_dialup.html | 9 + docs/manual/mod/mod_dialup.html.en | 107 + docs/manual/mod/mod_dialup.html.fr.utf8 | 113 + docs/manual/mod/mod_dir.html | 21 + docs/manual/mod/mod_dir.html.en | 349 ++ docs/manual/mod/mod_dir.html.fr.utf8 | 382 ++ docs/manual/mod/mod_dir.html.ja.utf8 | 261 + docs/manual/mod/mod_dir.html.ko.euc-kr | 246 + docs/manual/mod/mod_dir.html.tr.utf8 | 365 ++ docs/manual/mod/mod_dumpio.html | 13 + docs/manual/mod/mod_dumpio.html.en | 139 + docs/manual/mod/mod_dumpio.html.fr.utf8 | 142 + docs/manual/mod/mod_dumpio.html.ja.utf8 | 139 + docs/manual/mod/mod_echo.html | 17 + docs/manual/mod/mod_echo.html.en | 100 + docs/manual/mod/mod_echo.html.fr.utf8 | 100 + docs/manual/mod/mod_echo.html.ja.utf8 | 100 + docs/manual/mod/mod_echo.html.ko.euc-kr | 103 + docs/manual/mod/mod_env.html | 21 + docs/manual/mod/mod_env.html.en | 165 + docs/manual/mod/mod_env.html.fr.utf8 | 172 + docs/manual/mod/mod_env.html.ja.utf8 | 151 + docs/manual/mod/mod_env.html.ko.euc-kr | 144 + docs/manual/mod/mod_env.html.tr.utf8 | 166 + docs/manual/mod/mod_example_hooks.html | 13 + docs/manual/mod/mod_example_hooks.html.en | 184 + docs/manual/mod/mod_example_hooks.html.fr.utf8 | 196 + docs/manual/mod/mod_example_hooks.html.ko.euc-kr | 185 + docs/manual/mod/mod_expires.html | 17 + docs/manual/mod/mod_expires.html.en | 274 + docs/manual/mod/mod_expires.html.fr.utf8 | 280 + docs/manual/mod/mod_expires.html.ja.utf8 | 267 + docs/manual/mod/mod_expires.html.ko.euc-kr | 257 + docs/manual/mod/mod_ext_filter.html | 17 + docs/manual/mod/mod_ext_filter.html.en | 362 ++ docs/manual/mod/mod_ext_filter.html.fr.utf8 | 383 ++ docs/manual/mod/mod_ext_filter.html.ja.utf8 | 399 ++ docs/manual/mod/mod_ext_filter.html.ko.euc-kr | 382 ++ docs/manual/mod/mod_file_cache.html | 13 + docs/manual/mod/mod_file_cache.html.en | 238 + docs/manual/mod/mod_file_cache.html.fr.utf8 | 271 + docs/manual/mod/mod_file_cache.html.ko.euc-kr | 232 + docs/manual/mod/mod_filter.html | 9 + docs/manual/mod/mod_filter.html.en | 525 ++ docs/manual/mod/mod_filter.html.fr.utf8 | 569 ++ docs/manual/mod/mod_headers.html | 17 + docs/manual/mod/mod_headers.html.en | 623 +++ docs/manual/mod/mod_headers.html.fr.utf8 | 680 +++ docs/manual/mod/mod_headers.html.ja.utf8 | 381 ++ docs/manual/mod/mod_headers.html.ko.euc-kr | 369 ++ docs/manual/mod/mod_heartbeat.html | 9 + docs/manual/mod/mod_heartbeat.html.en | 135 + docs/manual/mod/mod_heartbeat.html.fr.utf8 | 142 + docs/manual/mod/mod_heartmonitor.html | 9 + docs/manual/mod/mod_heartmonitor.html.en | 155 + docs/manual/mod/mod_heartmonitor.html.fr.utf8 | 166 + docs/manual/mod/mod_http2.html | 9 + docs/manual/mod/mod_http2.html.en | 970 ++++ docs/manual/mod/mod_http2.html.fr.utf8 | 1101 ++++ docs/manual/mod/mod_ident.html | 17 + docs/manual/mod/mod_ident.html.en | 131 + docs/manual/mod/mod_ident.html.fr.utf8 | 140 + docs/manual/mod/mod_ident.html.ja.utf8 | 131 + docs/manual/mod/mod_ident.html.ko.euc-kr | 128 + docs/manual/mod/mod_imagemap.html | 13 + docs/manual/mod/mod_imagemap.html.en | 416 ++ docs/manual/mod/mod_imagemap.html.fr.utf8 | 440 ++ docs/manual/mod/mod_imagemap.html.ko.euc-kr | 393 ++ docs/manual/mod/mod_include.html | 13 + docs/manual/mod/mod_include.html.en | 1150 ++++ docs/manual/mod/mod_include.html.fr.utf8 | 1234 ++++ docs/manual/mod/mod_include.html.ja.utf8 | 901 +++ docs/manual/mod/mod_info.html | 17 + docs/manual/mod/mod_info.html.en | 231 + docs/manual/mod/mod_info.html.fr.utf8 | 240 + docs/manual/mod/mod_info.html.ja.utf8 | 222 + docs/manual/mod/mod_info.html.ko.euc-kr | 199 + docs/manual/mod/mod_isapi.html | 13 + docs/manual/mod/mod_isapi.html.en | 371 ++ docs/manual/mod/mod_isapi.html.fr.utf8 | 393 ++ docs/manual/mod/mod_isapi.html.ko.euc-kr | 349 ++ docs/manual/mod/mod_lbmethod_bybusyness.html | 9 + docs/manual/mod/mod_lbmethod_bybusyness.html.en | 103 + .../mod/mod_lbmethod_bybusyness.html.fr.utf8 | 109 + docs/manual/mod/mod_lbmethod_byrequests.html | 9 + docs/manual/mod/mod_lbmethod_byrequests.html.en | 255 + .../mod/mod_lbmethod_byrequests.html.fr.utf8 | 264 + docs/manual/mod/mod_lbmethod_bytraffic.html | 9 + docs/manual/mod/mod_lbmethod_bytraffic.html.en | 119 + .../manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 | 125 + docs/manual/mod/mod_lbmethod_heartbeat.html | 9 + docs/manual/mod/mod_lbmethod_heartbeat.html.en | 102 + .../manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 | 109 + docs/manual/mod/mod_ldap.html | 9 + docs/manual/mod/mod_ldap.html.en | 878 +++ docs/manual/mod/mod_ldap.html.fr.utf8 | 958 ++++ docs/manual/mod/mod_log_config.html | 21 + docs/manual/mod/mod_log_config.html.en | 606 ++ docs/manual/mod/mod_log_config.html.fr.utf8 | 645 +++ docs/manual/mod/mod_log_config.html.ja.utf8 | 510 ++ docs/manual/mod/mod_log_config.html.ko.euc-kr | 441 ++ docs/manual/mod/mod_log_config.html.tr.utf8 | 586 ++ docs/manual/mod/mod_log_debug.html | 9 + docs/manual/mod/mod_log_debug.html.en | 172 + docs/manual/mod/mod_log_debug.html.fr.utf8 | 183 + docs/manual/mod/mod_log_forensic.html | 17 + docs/manual/mod/mod_log_forensic.html.en | 196 + docs/manual/mod/mod_log_forensic.html.fr.utf8 | 218 + docs/manual/mod/mod_log_forensic.html.ja.utf8 | 197 + docs/manual/mod/mod_log_forensic.html.tr.utf8 | 195 + docs/manual/mod/mod_logio.html | 21 + docs/manual/mod/mod_logio.html.en | 154 + docs/manual/mod/mod_logio.html.fr.utf8 | 166 + docs/manual/mod/mod_logio.html.ja.utf8 | 141 + docs/manual/mod/mod_logio.html.ko.euc-kr | 140 + docs/manual/mod/mod_logio.html.tr.utf8 | 151 + docs/manual/mod/mod_lua.html | 9 + docs/manual/mod/mod_lua.html.en | 1922 +++++++ docs/manual/mod/mod_lua.html.fr.utf8 | 2079 +++++++ docs/manual/mod/mod_macro.html | 9 + docs/manual/mod/mod_macro.html.en | 303 + docs/manual/mod/mod_macro.html.fr.utf8 | 310 ++ docs/manual/mod/mod_md.html | 9 + docs/manual/mod/mod_md.html.en | 1484 +++++ docs/manual/mod/mod_md.html.fr.utf8 | 1714 ++++++ docs/manual/mod/mod_mime.html | 13 + docs/manual/mod/mod_mime.html.en | 1060 ++++ docs/manual/mod/mod_mime.html.fr.utf8 | 1129 ++++ docs/manual/mod/mod_mime.html.ja.utf8 | 1011 ++++ docs/manual/mod/mod_mime_magic.html | 9 + docs/manual/mod/mod_mime_magic.html.en | 304 + docs/manual/mod/mod_mime_magic.html.fr.utf8 | 312 ++ docs/manual/mod/mod_negotiation.html | 13 + docs/manual/mod/mod_negotiation.html.en | 372 ++ docs/manual/mod/mod_negotiation.html.fr.utf8 | 388 ++ docs/manual/mod/mod_negotiation.html.ja.utf8 | 332 ++ docs/manual/mod/mod_nw_ssl.html | 9 + docs/manual/mod/mod_nw_ssl.html.en | 127 + docs/manual/mod/mod_nw_ssl.html.fr.utf8 | 131 + docs/manual/mod/mod_privileges.html | 9 + docs/manual/mod/mod_privileges.html.en | 427 ++ docs/manual/mod/mod_privileges.html.fr.utf8 | 480 ++ docs/manual/mod/mod_proxy.html | 13 + docs/manual/mod/mod_proxy.html.en | 2173 ++++++++ docs/manual/mod/mod_proxy.html.fr.utf8 | 2472 ++++++++ docs/manual/mod/mod_proxy.html.ja.utf8 | 1288 +++++ docs/manual/mod/mod_proxy_ajp.html | 13 + docs/manual/mod/mod_proxy_ajp.html.en | 639 +++ docs/manual/mod/mod_proxy_ajp.html.fr.utf8 | 693 +++ docs/manual/mod/mod_proxy_ajp.html.ja.utf8 | 565 ++ docs/manual/mod/mod_proxy_balancer.html | 13 + docs/manual/mod/mod_proxy_balancer.html.en | 363 ++ docs/manual/mod/mod_proxy_balancer.html.fr.utf8 | 408 ++ docs/manual/mod/mod_proxy_balancer.html.ja.utf8 | 349 ++ docs/manual/mod/mod_proxy_connect.html | 13 + docs/manual/mod/mod_proxy_connect.html.en | 137 + docs/manual/mod/mod_proxy_connect.html.fr.utf8 | 143 + docs/manual/mod/mod_proxy_connect.html.ja.utf8 | 114 + docs/manual/mod/mod_proxy_express.html | 9 + docs/manual/mod/mod_proxy_express.html.en | 204 + docs/manual/mod/mod_proxy_express.html.fr.utf8 | 207 + docs/manual/mod/mod_proxy_fcgi.html | 9 + docs/manual/mod/mod_proxy_fcgi.html.en | 356 ++ docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 | 380 ++ docs/manual/mod/mod_proxy_fdpass.html | 9 + docs/manual/mod/mod_proxy_fdpass.html.en | 101 + docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 | 104 + docs/manual/mod/mod_proxy_ftp.html | 9 + docs/manual/mod/mod_proxy_ftp.html.en | 267 + docs/manual/mod/mod_proxy_ftp.html.fr.utf8 | 296 + docs/manual/mod/mod_proxy_hcheck.html | 9 + docs/manual/mod/mod_proxy_hcheck.html.en | 282 + docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 | 314 ++ docs/manual/mod/mod_proxy_html.html | 9 + docs/manual/mod/mod_proxy_html.html.en | 490 ++ docs/manual/mod/mod_proxy_html.html.fr.utf8 | 555 ++ docs/manual/mod/mod_proxy_http.html | 9 + docs/manual/mod/mod_proxy_http.html.en | 174 + docs/manual/mod/mod_proxy_http.html.fr.utf8 | 193 + docs/manual/mod/mod_proxy_http2.html | 9 + docs/manual/mod/mod_proxy_http2.html.en | 156 + docs/manual/mod/mod_proxy_http2.html.fr.utf8 | 156 + docs/manual/mod/mod_proxy_scgi.html | 9 + docs/manual/mod/mod_proxy_scgi.html.en | 213 + docs/manual/mod/mod_proxy_scgi.html.fr.utf8 | 230 + docs/manual/mod/mod_proxy_uwsgi.html | 9 + docs/manual/mod/mod_proxy_uwsgi.html.en | 113 + docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 | 116 + docs/manual/mod/mod_proxy_wstunnel.html | 9 + docs/manual/mod/mod_proxy_wstunnel.html.en | 152 + docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 | 157 + docs/manual/mod/mod_ratelimit.html | 9 + docs/manual/mod/mod_ratelimit.html.en | 100 + docs/manual/mod/mod_ratelimit.html.fr.utf8 | 104 + docs/manual/mod/mod_reflector.html | 9 + docs/manual/mod/mod_reflector.html.en | 125 + docs/manual/mod/mod_reflector.html.fr.utf8 | 129 + docs/manual/mod/mod_remoteip.html | 9 + docs/manual/mod/mod_remoteip.html.en | 378 ++ docs/manual/mod/mod_remoteip.html.fr.utf8 | 424 ++ docs/manual/mod/mod_reqtimeout.html | 9 + docs/manual/mod/mod_reqtimeout.html.en | 224 + docs/manual/mod/mod_reqtimeout.html.fr.utf8 | 234 + docs/manual/mod/mod_request.html | 13 + docs/manual/mod/mod_request.html.en | 132 + docs/manual/mod/mod_request.html.fr.utf8 | 138 + docs/manual/mod/mod_request.html.tr.utf8 | 132 + docs/manual/mod/mod_rewrite.html | 9 + docs/manual/mod/mod_rewrite.html.en | 1609 ++++++ docs/manual/mod/mod_rewrite.html.fr.utf8 | 1720 ++++++ docs/manual/mod/mod_sed.html | 9 + docs/manual/mod/mod_sed.html.en | 176 + docs/manual/mod/mod_sed.html.fr.utf8 | 191 + docs/manual/mod/mod_session.html | 9 + docs/manual/mod/mod_session.html.en | 550 ++ docs/manual/mod/mod_session.html.fr.utf8 | 619 +++ docs/manual/mod/mod_session_cookie.html | 9 + docs/manual/mod/mod_session_cookie.html.en | 197 + docs/manual/mod/mod_session_cookie.html.fr.utf8 | 217 + docs/manual/mod/mod_session_crypto.html | 9 + docs/manual/mod/mod_session_crypto.html.en | 266 + docs/manual/mod/mod_session_crypto.html.fr.utf8 | 293 + docs/manual/mod/mod_session_dbd.html | 9 + docs/manual/mod/mod_session_dbd.html.en | 357 ++ docs/manual/mod/mod_session_dbd.html.fr.utf8 | 407 ++ docs/manual/mod/mod_setenvif.html | 21 + docs/manual/mod/mod_setenvif.html.en | 361 ++ docs/manual/mod/mod_setenvif.html.fr.utf8 | 373 ++ docs/manual/mod/mod_setenvif.html.ja.utf8 | 340 ++ docs/manual/mod/mod_setenvif.html.ko.euc-kr | 297 + docs/manual/mod/mod_setenvif.html.tr.utf8 | 347 ++ docs/manual/mod/mod_slotmem_plain.html | 9 + docs/manual/mod/mod_slotmem_plain.html.en | 121 + docs/manual/mod/mod_slotmem_plain.html.fr.utf8 | 123 + docs/manual/mod/mod_slotmem_shm.html | 9 + docs/manual/mod/mod_slotmem_shm.html.en | 129 + docs/manual/mod/mod_slotmem_shm.html.fr.utf8 | 138 + docs/manual/mod/mod_so.html | 21 + docs/manual/mod/mod_so.html.en | 228 + docs/manual/mod/mod_so.html.fr.utf8 | 244 + docs/manual/mod/mod_so.html.ja.utf8 | 230 + docs/manual/mod/mod_so.html.ko.euc-kr | 208 + docs/manual/mod/mod_so.html.tr.utf8 | 230 + docs/manual/mod/mod_socache_dbm.html | 9 + docs/manual/mod/mod_socache_dbm.html.en | 87 + docs/manual/mod/mod_socache_dbm.html.fr.utf8 | 86 + docs/manual/mod/mod_socache_dc.html | 9 + docs/manual/mod/mod_socache_dc.html.en | 84 + docs/manual/mod/mod_socache_dc.html.fr.utf8 | 83 + docs/manual/mod/mod_socache_memcache.html | 9 + docs/manual/mod/mod_socache_memcache.html.en | 129 + docs/manual/mod/mod_socache_memcache.html.fr.utf8 | 135 + docs/manual/mod/mod_socache_redis.html | 9 + docs/manual/mod/mod_socache_redis.html.en | 153 + docs/manual/mod/mod_socache_redis.html.fr.utf8 | 156 + docs/manual/mod/mod_socache_shmcb.html | 9 + docs/manual/mod/mod_socache_shmcb.html.en | 87 + docs/manual/mod/mod_socache_shmcb.html.fr.utf8 | 87 + docs/manual/mod/mod_speling.html | 17 + docs/manual/mod/mod_speling.html.en | 192 + docs/manual/mod/mod_speling.html.fr.utf8 | 196 + docs/manual/mod/mod_speling.html.ja.utf8 | 193 + docs/manual/mod/mod_speling.html.ko.euc-kr | 176 + docs/manual/mod/mod_ssl.html | 9 + docs/manual/mod/mod_ssl.html.en | 2888 ++++++++++ docs/manual/mod/mod_ssl.html.fr.utf8 | 3198 +++++++++++ docs/manual/mod/mod_status.html | 21 + docs/manual/mod/mod_status.html.en | 204 + docs/manual/mod/mod_status.html.fr.utf8 | 210 + docs/manual/mod/mod_status.html.ja.utf8 | 172 + docs/manual/mod/mod_status.html.ko.euc-kr | 165 + docs/manual/mod/mod_status.html.tr.utf8 | 198 + docs/manual/mod/mod_substitute.html | 9 + docs/manual/mod/mod_substitute.html.en | 224 + docs/manual/mod/mod_substitute.html.fr.utf8 | 241 + docs/manual/mod/mod_suexec.html | 21 + docs/manual/mod/mod_suexec.html.en | 109 + docs/manual/mod/mod_suexec.html.fr.utf8 | 114 + docs/manual/mod/mod_suexec.html.ja.utf8 | 113 + docs/manual/mod/mod_suexec.html.ko.euc-kr | 111 + docs/manual/mod/mod_suexec.html.tr.utf8 | 113 + docs/manual/mod/mod_systemd.html | 9 + docs/manual/mod/mod_systemd.html.en | 113 + docs/manual/mod/mod_systemd.html.fr.utf8 | 113 + docs/manual/mod/mod_tls.html | 5 + docs/manual/mod/mod_tls.html.en | 663 +++ docs/manual/mod/mod_unique_id.html | 17 + docs/manual/mod/mod_unique_id.html.en | 250 + docs/manual/mod/mod_unique_id.html.fr.utf8 | 272 + docs/manual/mod/mod_unique_id.html.ja.utf8 | 248 + docs/manual/mod/mod_unique_id.html.ko.euc-kr | 221 + docs/manual/mod/mod_unixd.html | 13 + docs/manual/mod/mod_unixd.html.en | 211 + docs/manual/mod/mod_unixd.html.fr.utf8 | 226 + docs/manual/mod/mod_unixd.html.tr.utf8 | 214 + docs/manual/mod/mod_userdir.html | 21 + docs/manual/mod/mod_userdir.html.en | 223 + docs/manual/mod/mod_userdir.html.fr.utf8 | 236 + docs/manual/mod/mod_userdir.html.ja.utf8 | 219 + docs/manual/mod/mod_userdir.html.ko.euc-kr | 191 + docs/manual/mod/mod_userdir.html.tr.utf8 | 222 + docs/manual/mod/mod_usertrack.html | 9 + docs/manual/mod/mod_usertrack.html.en | 304 + docs/manual/mod/mod_usertrack.html.fr.utf8 | 313 ++ docs/manual/mod/mod_version.html | 17 + docs/manual/mod/mod_version.html.en | 166 + docs/manual/mod/mod_version.html.fr.utf8 | 176 + docs/manual/mod/mod_version.html.ja.utf8 | 164 + docs/manual/mod/mod_version.html.ko.euc-kr | 180 + docs/manual/mod/mod_vhost_alias.html | 13 + docs/manual/mod/mod_vhost_alias.html.en | 361 ++ docs/manual/mod/mod_vhost_alias.html.fr.utf8 | 385 ++ docs/manual/mod/mod_vhost_alias.html.tr.utf8 | 354 ++ docs/manual/mod/mod_watchdog.html | 9 + docs/manual/mod/mod_watchdog.html.en | 106 + docs/manual/mod/mod_watchdog.html.fr.utf8 | 110 + docs/manual/mod/mod_xml2enc.html | 9 + docs/manual/mod/mod_xml2enc.html.en | 219 + docs/manual/mod/mod_xml2enc.html.fr.utf8 | 239 + docs/manual/mod/module-dict.html | 21 + docs/manual/mod/module-dict.html.en | 147 + docs/manual/mod/module-dict.html.fr.utf8 | 147 + docs/manual/mod/module-dict.html.ja.utf8 | 149 + docs/manual/mod/module-dict.html.ko.euc-kr | 139 + docs/manual/mod/module-dict.html.tr.utf8 | 119 + docs/manual/mod/mpm_common.html | 21 + docs/manual/mod/mpm_common.html.de | 780 +++ docs/manual/mod/mpm_common.html.en | 891 +++ docs/manual/mod/mpm_common.html.fr.utf8 | 975 ++++ docs/manual/mod/mpm_common.html.ja.utf8 | 801 +++ docs/manual/mod/mpm_common.html.tr.utf8 | 910 +++ docs/manual/mod/mpm_netware.html | 9 + docs/manual/mod/mpm_netware.html.en | 138 + docs/manual/mod/mpm_netware.html.fr.utf8 | 140 + docs/manual/mod/mpm_winnt.html | 17 + docs/manual/mod/mpm_winnt.html.de | 99 + docs/manual/mod/mpm_winnt.html.en | 157 + docs/manual/mod/mpm_winnt.html.fr.utf8 | 163 + docs/manual/mod/mpm_winnt.html.ja.utf8 | 101 + docs/manual/mod/mpmt_os2.html | 9 + docs/manual/mod/mpmt_os2.html.en | 101 + docs/manual/mod/mpmt_os2.html.fr.utf8 | 102 + docs/manual/mod/overrides.html | 9 + docs/manual/mod/overrides.html.en | 753 +++ docs/manual/mod/overrides.html.fr.utf8 | 848 +++ docs/manual/mod/prefork.html | 21 + docs/manual/mod/prefork.html.de | 222 + docs/manual/mod/prefork.html.en | 218 + docs/manual/mod/prefork.html.fr.utf8 | 233 + docs/manual/mod/prefork.html.ja.utf8 | 220 + docs/manual/mod/prefork.html.tr.utf8 | 217 + docs/manual/mod/quickreference.html | 33 + docs/manual/mod/quickreference.html.de | 1263 +++++ docs/manual/mod/quickreference.html.en | 1248 +++++ docs/manual/mod/quickreference.html.es | 1252 +++++ docs/manual/mod/quickreference.html.fr.utf8 | 1581 ++++++ docs/manual/mod/quickreference.html.ja.utf8 | 1178 ++++ docs/manual/mod/quickreference.html.ko.euc-kr | 1206 ++++ docs/manual/mod/quickreference.html.tr.utf8 | 1245 +++++ docs/manual/mod/quickreference.html.zh-cn.utf8 | 1243 +++++ docs/manual/mod/worker.html | 21 + docs/manual/mod/worker.html.de | 201 + docs/manual/mod/worker.html.en | 208 + docs/manual/mod/worker.html.fr.utf8 | 212 + docs/manual/mod/worker.html.ja.utf8 | 217 + docs/manual/mod/worker.html.tr.utf8 | 203 + docs/manual/mpm.html | 33 + docs/manual/mpm.html.de | 160 + docs/manual/mpm.html.en | 211 + docs/manual/mpm.html.es | 151 + docs/manual/mpm.html.fr.utf8 | 227 + docs/manual/mpm.html.ja.utf8 | 166 + docs/manual/mpm.html.ko.euc-kr | 154 + docs/manual/mpm.html.tr.utf8 | 210 + docs/manual/mpm.html.zh-cn.utf8 | 155 + docs/manual/new_features_2_0.html | 29 + docs/manual/new_features_2_0.html.de | 295 + docs/manual/new_features_2_0.html.en | 268 + docs/manual/new_features_2_0.html.fr.utf8 | 284 + docs/manual/new_features_2_0.html.ja.utf8 | 283 + docs/manual/new_features_2_0.html.ko.euc-kr | 261 + docs/manual/new_features_2_0.html.pt-br | 271 + docs/manual/new_features_2_0.html.tr.utf8 | 275 + docs/manual/new_features_2_2.html | 21 + docs/manual/new_features_2_2.html.en | 305 + docs/manual/new_features_2_2.html.fr.utf8 | 331 ++ docs/manual/new_features_2_2.html.ko.euc-kr | 156 + docs/manual/new_features_2_2.html.pt-br | 165 + docs/manual/new_features_2_2.html.tr.utf8 | 305 + docs/manual/new_features_2_4.html | 13 + docs/manual/new_features_2_4.html.en | 473 ++ docs/manual/new_features_2_4.html.fr.utf8 | 523 ++ docs/manual/new_features_2_4.html.tr.utf8 | 492 ++ docs/manual/platform/ebcdic.html | 9 + docs/manual/platform/ebcdic.html.en | 616 ++ docs/manual/platform/ebcdic.html.ko.euc-kr | 585 ++ docs/manual/platform/index.html | 17 + docs/manual/platform/index.html.en | 124 + docs/manual/platform/index.html.fr.utf8 | 130 + docs/manual/platform/index.html.ko.euc-kr | 109 + docs/manual/platform/index.html.zh-cn.utf8 | 103 + docs/manual/platform/netware.html | 13 + docs/manual/platform/netware.html.en | 693 +++ docs/manual/platform/netware.html.fr.utf8 | 763 +++ docs/manual/platform/netware.html.ko.euc-kr | 609 ++ docs/manual/platform/perf-hp.html | 13 + docs/manual/platform/perf-hp.html.en | 131 + docs/manual/platform/perf-hp.html.fr.utf8 | 143 + docs/manual/platform/perf-hp.html.ko.euc-kr | 128 + docs/manual/platform/rpm.html | 9 + docs/manual/platform/rpm.html.en | 248 + docs/manual/platform/rpm.html.fr.utf8 | 264 + docs/manual/platform/win_compiling.html | 13 + docs/manual/platform/win_compiling.html.en | 517 ++ docs/manual/platform/win_compiling.html.fr.utf8 | 603 ++ docs/manual/platform/win_compiling.html.ko.euc-kr | 448 ++ docs/manual/platform/windows.html | 13 + docs/manual/platform/windows.html.en | 664 +++ docs/manual/platform/windows.html.fr.utf8 | 718 +++ docs/manual/platform/windows.html.ko.euc-kr | 716 +++ docs/manual/programs/ab.html | 17 + docs/manual/programs/ab.html.en | 360 ++ docs/manual/programs/ab.html.fr.utf8 | 404 ++ docs/manual/programs/ab.html.ko.euc-kr | 231 + docs/manual/programs/ab.html.tr.utf8 | 383 ++ docs/manual/programs/apachectl.html | 17 + docs/manual/programs/apachectl.html.en | 188 + docs/manual/programs/apachectl.html.fr.utf8 | 202 + docs/manual/programs/apachectl.html.ko.euc-kr | 174 + docs/manual/programs/apachectl.html.tr.utf8 | 195 + docs/manual/programs/apxs.html | 17 + docs/manual/programs/apxs.html.en | 364 ++ docs/manual/programs/apxs.html.fr.utf8 | 395 ++ docs/manual/programs/apxs.html.ko.euc-kr | 354 ++ docs/manual/programs/apxs.html.tr.utf8 | 388 ++ docs/manual/programs/configure.html | 17 + docs/manual/programs/configure.html.en | 706 +++ docs/manual/programs/configure.html.fr.utf8 | 790 +++ docs/manual/programs/configure.html.ko.euc-kr | 960 ++++ docs/manual/programs/configure.html.tr.utf8 | 772 +++ docs/manual/programs/dbmmanage.html | 17 + docs/manual/programs/dbmmanage.html.en | 224 + docs/manual/programs/dbmmanage.html.fr.utf8 | 247 + docs/manual/programs/dbmmanage.html.ko.euc-kr | 202 + docs/manual/programs/dbmmanage.html.tr.utf8 | 240 + docs/manual/programs/fcgistarter.html | 13 + docs/manual/programs/fcgistarter.html.en | 96 + docs/manual/programs/fcgistarter.html.fr.utf8 | 96 + docs/manual/programs/fcgistarter.html.tr.utf8 | 95 + docs/manual/programs/htcacheclean.html | 17 + docs/manual/programs/htcacheclean.html.en | 248 + docs/manual/programs/htcacheclean.html.fr.utf8 | 264 + docs/manual/programs/htcacheclean.html.ko.euc-kr | 143 + docs/manual/programs/htcacheclean.html.tr.utf8 | 246 + docs/manual/programs/htdbm.html | 13 + docs/manual/programs/htdbm.html.en | 347 ++ docs/manual/programs/htdbm.html.fr.utf8 | 384 ++ docs/manual/programs/htdbm.html.tr.utf8 | 359 ++ docs/manual/programs/htdigest.html | 17 + docs/manual/programs/htdigest.html.en | 111 + docs/manual/programs/htdigest.html.fr.utf8 | 119 + docs/manual/programs/htdigest.html.ko.euc-kr | 105 + docs/manual/programs/htdigest.html.tr.utf8 | 114 + docs/manual/programs/htpasswd.html | 17 + docs/manual/programs/htpasswd.html.en | 304 + docs/manual/programs/htpasswd.html.fr.utf8 | 343 ++ docs/manual/programs/htpasswd.html.ko.euc-kr | 247 + docs/manual/programs/htpasswd.html.tr.utf8 | 315 ++ docs/manual/programs/httpd.html | 17 + docs/manual/programs/httpd.html.en | 225 + docs/manual/programs/httpd.html.fr.utf8 | 239 + docs/manual/programs/httpd.html.ko.euc-kr | 218 + docs/manual/programs/httpd.html.tr.utf8 | 216 + docs/manual/programs/httxt2dbm.html | 13 + docs/manual/programs/httxt2dbm.html.en | 114 + docs/manual/programs/httxt2dbm.html.fr.utf8 | 122 + docs/manual/programs/httxt2dbm.html.tr.utf8 | 116 + docs/manual/programs/index.html | 25 + docs/manual/programs/index.html.en | 130 + docs/manual/programs/index.html.es | 132 + docs/manual/programs/index.html.fr.utf8 | 132 + docs/manual/programs/index.html.ko.euc-kr | 111 + docs/manual/programs/index.html.tr.utf8 | 115 + docs/manual/programs/index.html.zh-cn.utf8 | 124 + docs/manual/programs/log_server_status.html | 9 + docs/manual/programs/log_server_status.html.en | 86 + .../manual/programs/log_server_status.html.fr.utf8 | 89 + docs/manual/programs/logresolve.html | 17 + docs/manual/programs/logresolve.html.en | 102 + docs/manual/programs/logresolve.html.fr.utf8 | 106 + docs/manual/programs/logresolve.html.ko.euc-kr | 101 + docs/manual/programs/logresolve.html.tr.utf8 | 99 + docs/manual/programs/other.html | 17 + docs/manual/programs/other.html.en | 68 + docs/manual/programs/other.html.fr.utf8 | 70 + docs/manual/programs/other.html.ko.euc-kr | 89 + docs/manual/programs/other.html.tr.utf8 | 68 + docs/manual/programs/rotatelogs.html | 17 + docs/manual/programs/rotatelogs.html.en | 321 ++ docs/manual/programs/rotatelogs.html.fr.utf8 | 325 ++ docs/manual/programs/rotatelogs.html.ko.euc-kr | 175 + docs/manual/programs/rotatelogs.html.tr.utf8 | 302 + docs/manual/programs/split-logfile.html | 9 + docs/manual/programs/split-logfile.html.en | 85 + docs/manual/programs/split-logfile.html.fr.utf8 | 92 + docs/manual/programs/suexec.html | 17 + docs/manual/programs/suexec.html.en | 91 + docs/manual/programs/suexec.html.fr.utf8 | 96 + docs/manual/programs/suexec.html.ko.euc-kr | 94 + docs/manual/programs/suexec.html.tr.utf8 | 91 + docs/manual/rewrite/access.html | 9 + docs/manual/rewrite/access.html.en | 323 ++ docs/manual/rewrite/access.html.fr.utf8 | 331 ++ docs/manual/rewrite/advanced.html | 9 + docs/manual/rewrite/advanced.html.en | 370 ++ docs/manual/rewrite/advanced.html.fr.utf8 | 390 ++ docs/manual/rewrite/avoid.html | 9 + docs/manual/rewrite/avoid.html.en | 254 + docs/manual/rewrite/avoid.html.fr.utf8 | 271 + docs/manual/rewrite/flags.html | 9 + docs/manual/rewrite/flags.html.en | 796 +++ docs/manual/rewrite/flags.html.fr.utf8 | 858 +++ docs/manual/rewrite/htaccess.html | 9 + docs/manual/rewrite/htaccess.html.en | 66 + docs/manual/rewrite/htaccess.html.fr.utf8 | 67 + docs/manual/rewrite/index.html | 17 + docs/manual/rewrite/index.html.en | 96 + docs/manual/rewrite/index.html.fr.utf8 | 110 + docs/manual/rewrite/index.html.tr.utf8 | 91 + docs/manual/rewrite/index.html.zh-cn.utf8 | 80 + docs/manual/rewrite/intro.html | 9 + docs/manual/rewrite/intro.html.en | 400 ++ docs/manual/rewrite/intro.html.fr.utf8 | 426 ++ docs/manual/rewrite/proxy.html | 9 + docs/manual/rewrite/proxy.html.en | 119 + docs/manual/rewrite/proxy.html.fr.utf8 | 124 + docs/manual/rewrite/remapping.html | 9 + docs/manual/rewrite/remapping.html.en | 697 +++ docs/manual/rewrite/remapping.html.fr.utf8 | 717 +++ docs/manual/rewrite/rewritemap.html | 9 + docs/manual/rewrite/rewritemap.html.en | 481 ++ docs/manual/rewrite/rewritemap.html.fr.utf8 | 511 ++ docs/manual/rewrite/tech.html | 9 + docs/manual/rewrite/tech.html.en | 205 + docs/manual/rewrite/tech.html.fr.utf8 | 223 + docs/manual/rewrite/vhosts.html | 9 + docs/manual/rewrite/vhosts.html.en | 228 + docs/manual/rewrite/vhosts.html.fr.utf8 | 239 + docs/manual/sections.html | 21 + docs/manual/sections.html.en | 607 ++ docs/manual/sections.html.fr.utf8 | 687 +++ docs/manual/sections.html.ja.utf8 | 523 ++ docs/manual/sections.html.ko.euc-kr | 452 ++ docs/manual/sections.html.tr.utf8 | 645 +++ docs/manual/server-wide.html | 21 + docs/manual/server-wide.html.en | 142 + docs/manual/server-wide.html.fr.utf8 | 144 + docs/manual/server-wide.html.ja.utf8 | 134 + docs/manual/server-wide.html.ko.euc-kr | 125 + docs/manual/server-wide.html.tr.utf8 | 140 + docs/manual/sitemap.html | 33 + docs/manual/sitemap.html.de | 377 ++ docs/manual/sitemap.html.en | 376 ++ docs/manual/sitemap.html.es | 353 ++ docs/manual/sitemap.html.fr.utf8 | 399 ++ docs/manual/sitemap.html.ja.utf8 | 353 ++ docs/manual/sitemap.html.ko.euc-kr | 351 ++ docs/manual/sitemap.html.tr.utf8 | 371 ++ docs/manual/sitemap.html.zh-cn.utf8 | 351 ++ docs/manual/socache.html | 9 + docs/manual/socache.html.en | 148 + docs/manual/socache.html.fr.utf8 | 152 + docs/manual/ssl/index.html | 21 + docs/manual/ssl/index.html.en | 71 + docs/manual/ssl/index.html.fr.utf8 | 73 + docs/manual/ssl/index.html.ja.utf8 | 72 + docs/manual/ssl/index.html.tr.utf8 | 71 + docs/manual/ssl/index.html.zh-cn.utf8 | 72 + docs/manual/ssl/ssl_compat.html | 9 + docs/manual/ssl/ssl_compat.html.en | 248 + docs/manual/ssl/ssl_compat.html.fr.utf8 | 257 + docs/manual/ssl/ssl_faq.html | 9 + docs/manual/ssl/ssl_faq.html.en | 935 ++++ docs/manual/ssl/ssl_faq.html.fr.utf8 | 1036 ++++ docs/manual/ssl/ssl_howto.html | 9 + docs/manual/ssl/ssl_howto.html.en | 449 ++ docs/manual/ssl/ssl_howto.html.fr.utf8 | 489 ++ docs/manual/ssl/ssl_intro.html | 13 + docs/manual/ssl/ssl_intro.html.en | 672 +++ docs/manual/ssl/ssl_intro.html.fr.utf8 | 727 +++ docs/manual/ssl/ssl_intro.html.ja.utf8 | 730 +++ docs/manual/stopping.html | 29 + docs/manual/stopping.html.de | 288 + docs/manual/stopping.html.en | 264 + docs/manual/stopping.html.es | 297 + docs/manual/stopping.html.fr.utf8 | 305 + docs/manual/stopping.html.ja.utf8 | 279 + docs/manual/stopping.html.ko.euc-kr | 235 + docs/manual/stopping.html.tr.utf8 | 273 + docs/manual/style/build.properties | 27 + docs/manual/style/common.dtd | 201 + docs/manual/style/css/manual-chm.css | 27 + docs/manual/style/css/manual-loose-100pc.css | 155 + docs/manual/style/css/manual-print.css | 717 +++ docs/manual/style/css/manual-zip-100pc.css | 23 + docs/manual/style/css/manual-zip.css | 24 + docs/manual/style/css/manual.css | 1048 ++++ docs/manual/style/css/prettify.css | 121 + docs/manual/style/faq.dtd | 36 + docs/manual/style/lang.dtd | 24 + docs/manual/style/latex/atbeginend.sty | 80 + docs/manual/style/manualpage.dtd | 29 + docs/manual/style/modulesynopsis.dtd | 92 + docs/manual/style/scripts/MINIFY | 5 + docs/manual/style/scripts/prettify.js | 1622 ++++++ docs/manual/style/scripts/prettify.min.js | 123 + docs/manual/style/sitemap.dtd | 42 + docs/manual/style/version.ent | 24 + docs/manual/suexec.html | 21 + docs/manual/suexec.html.en | 641 +++ docs/manual/suexec.html.fr.utf8 | 689 +++ docs/manual/suexec.html.ja.utf8 | 643 +++ docs/manual/suexec.html.ko.euc-kr | 564 ++ docs/manual/suexec.html.tr.utf8 | 580 ++ docs/manual/upgrading.html | 9 + docs/manual/upgrading.html.en | 537 ++ docs/manual/upgrading.html.fr.utf8 | 598 ++ docs/manual/urlmapping.html | 21 + docs/manual/urlmapping.html.en | 379 ++ docs/manual/urlmapping.html.fr.utf8 | 402 ++ docs/manual/urlmapping.html.ja.utf8 | 318 ++ docs/manual/urlmapping.html.ko.euc-kr | 277 + docs/manual/urlmapping.html.tr.utf8 | 365 ++ docs/manual/vhosts/details.html | 17 + docs/manual/vhosts/details.html.en | 348 ++ docs/manual/vhosts/details.html.fr.utf8 | 369 ++ docs/manual/vhosts/details.html.ko.euc-kr | 412 ++ docs/manual/vhosts/details.html.tr.utf8 | 319 ++ docs/manual/vhosts/examples.html | 21 + docs/manual/vhosts/examples.html.en | 566 ++ docs/manual/vhosts/examples.html.fr.utf8 | 586 ++ docs/manual/vhosts/examples.html.ja.utf8 | 680 +++ docs/manual/vhosts/examples.html.ko.euc-kr | 657 +++ docs/manual/vhosts/examples.html.tr.utf8 | 562 ++ docs/manual/vhosts/fd-limits.html | 21 + docs/manual/vhosts/fd-limits.html.en | 155 + docs/manual/vhosts/fd-limits.html.fr.utf8 | 167 + docs/manual/vhosts/fd-limits.html.ja.utf8 | 157 + docs/manual/vhosts/fd-limits.html.ko.euc-kr | 152 + docs/manual/vhosts/fd-limits.html.tr.utf8 | 150 + docs/manual/vhosts/index.html | 29 + docs/manual/vhosts/index.html.de | 124 + docs/manual/vhosts/index.html.en | 126 + docs/manual/vhosts/index.html.fr.utf8 | 127 + docs/manual/vhosts/index.html.ja.utf8 | 120 + docs/manual/vhosts/index.html.ko.euc-kr | 119 + docs/manual/vhosts/index.html.tr.utf8 | 123 + docs/manual/vhosts/index.html.zh-cn.utf8 | 105 + docs/manual/vhosts/ip-based.html | 21 + docs/manual/vhosts/ip-based.html.en | 210 + docs/manual/vhosts/ip-based.html.fr.utf8 | 213 + docs/manual/vhosts/ip-based.html.ja.utf8 | 190 + docs/manual/vhosts/ip-based.html.ko.euc-kr | 180 + docs/manual/vhosts/ip-based.html.tr.utf8 | 211 + docs/manual/vhosts/mass.html | 17 + docs/manual/vhosts/mass.html.en | 348 ++ docs/manual/vhosts/mass.html.fr.utf8 | 363 ++ docs/manual/vhosts/mass.html.ko.euc-kr | 453 ++ docs/manual/vhosts/mass.html.tr.utf8 | 334 ++ docs/manual/vhosts/name-based.html | 25 + docs/manual/vhosts/name-based.html.de | 299 + docs/manual/vhosts/name-based.html.en | 224 + docs/manual/vhosts/name-based.html.fr.utf8 | 267 + docs/manual/vhosts/name-based.html.ja.utf8 | 303 + docs/manual/vhosts/name-based.html.ko.euc-kr | 266 + docs/manual/vhosts/name-based.html.tr.utf8 | 238 + docs/server-status/README.md | 40 + docs/server-status/feather.png | Bin 0 -> 2549 bytes docs/server-status/server-status.lua | 1901 +++++++ 1459 files changed, 352319 insertions(+) create mode 100644 docs/cgi-examples/printenv create mode 100644 docs/cgi-examples/printenv.vbs create mode 100644 docs/cgi-examples/printenv.wsf create mode 100644 docs/cgi-examples/test-cgi create mode 100644 docs/conf/charset.conv create mode 100644 docs/conf/extra/httpd-autoindex.conf.in create mode 100644 docs/conf/extra/httpd-dav.conf.in create mode 100644 docs/conf/extra/httpd-default.conf.in create mode 100644 docs/conf/extra/httpd-info.conf.in create mode 100644 docs/conf/extra/httpd-languages.conf.in create mode 100644 docs/conf/extra/httpd-manual.conf.in create mode 100644 docs/conf/extra/httpd-mpm.conf.in create mode 100644 docs/conf/extra/httpd-multilang-errordoc.conf.in create mode 100644 docs/conf/extra/httpd-ssl.conf.in create mode 100644 docs/conf/extra/httpd-userdir.conf.in create mode 100644 docs/conf/extra/httpd-vhosts.conf.in create mode 100644 docs/conf/extra/proxy-html.conf.in create mode 100644 docs/conf/httpd.conf.in create mode 100644 docs/conf/magic create mode 100644 docs/conf/mime.types create mode 100644 docs/docroot/index.html create mode 100644 docs/doxygen.conf create mode 100644 docs/error/HTTP_BAD_GATEWAY.html.var create mode 100644 docs/error/HTTP_BAD_REQUEST.html.var create mode 100644 docs/error/HTTP_FORBIDDEN.html.var create mode 100644 docs/error/HTTP_GONE.html.var create mode 100644 docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var create mode 100644 docs/error/HTTP_LENGTH_REQUIRED.html.var create mode 100644 docs/error/HTTP_METHOD_NOT_ALLOWED.html.var create mode 100644 docs/error/HTTP_NOT_FOUND.html.var create mode 100644 docs/error/HTTP_NOT_IMPLEMENTED.html.var create mode 100644 docs/error/HTTP_PRECONDITION_FAILED.html.var create mode 100644 docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var create mode 100644 docs/error/HTTP_REQUEST_TIME_OUT.html.var create mode 100644 docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var create mode 100644 docs/error/HTTP_SERVICE_UNAVAILABLE.html.var create mode 100644 docs/error/HTTP_UNAUTHORIZED.html.var create mode 100644 docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var create mode 100644 docs/error/HTTP_VARIANT_ALSO_VARIES.html.var create mode 100644 docs/error/README create mode 100644 docs/error/contact.html.var create mode 100644 docs/error/include/bottom.html create mode 100644 docs/error/include/spacer.html create mode 100644 docs/error/include/top.html create mode 100644 docs/icons/README create mode 100644 docs/icons/README.html create mode 100644 docs/icons/a.gif create mode 100644 docs/icons/a.png create mode 100644 docs/icons/alert.black.gif create mode 100644 docs/icons/alert.black.png create mode 100644 docs/icons/alert.red.gif create mode 100644 docs/icons/alert.red.png create mode 100644 docs/icons/apache_pb.gif create mode 100644 docs/icons/apache_pb.png create mode 100644 docs/icons/apache_pb.svg create mode 100644 docs/icons/apache_pb2.gif create mode 100644 docs/icons/apache_pb2.png create mode 100644 docs/icons/back.gif create mode 100644 docs/icons/back.png create mode 100644 docs/icons/ball.gray.gif create mode 100644 docs/icons/ball.gray.png create mode 100644 docs/icons/ball.red.gif create mode 100644 docs/icons/ball.red.png create mode 100644 docs/icons/binary.gif create mode 100644 docs/icons/binary.png create mode 100644 docs/icons/binhex.gif create mode 100644 docs/icons/binhex.png create mode 100644 docs/icons/blank.gif create mode 100644 docs/icons/blank.png create mode 100644 docs/icons/bomb.gif create mode 100644 docs/icons/bomb.png create mode 100644 docs/icons/box1.gif create mode 100644 docs/icons/box1.png create mode 100644 docs/icons/box2.gif create mode 100644 docs/icons/box2.png create mode 100644 docs/icons/broken.gif create mode 100644 docs/icons/broken.png create mode 100644 docs/icons/burst.gif create mode 100644 docs/icons/burst.png create mode 100644 docs/icons/c.gif create mode 100644 docs/icons/c.png create mode 100644 docs/icons/comp.blue.gif create mode 100644 docs/icons/comp.blue.png create mode 100644 docs/icons/comp.gray.gif create mode 100644 docs/icons/comp.gray.png create mode 100644 docs/icons/compressed.gif create mode 100644 docs/icons/compressed.png create mode 100644 docs/icons/continued.gif create mode 100644 docs/icons/continued.png create mode 100644 docs/icons/dir.gif create mode 100644 docs/icons/dir.png create mode 100644 docs/icons/diskimg.gif create mode 100644 docs/icons/diskimg.png create mode 100644 docs/icons/down.gif create mode 100644 docs/icons/down.png create mode 100644 docs/icons/dvi.gif create mode 100644 docs/icons/dvi.png create mode 100644 docs/icons/f.gif create mode 100644 docs/icons/f.png create mode 100644 docs/icons/folder.gif create mode 100644 docs/icons/folder.open.gif create mode 100644 docs/icons/folder.open.png create mode 100644 docs/icons/folder.png create mode 100644 docs/icons/folder.sec.gif create mode 100644 docs/icons/folder.sec.png create mode 100644 docs/icons/forward.gif create mode 100644 docs/icons/forward.png create mode 100644 docs/icons/generic.gif create mode 100644 docs/icons/generic.png create mode 100644 docs/icons/generic.red.gif create mode 100644 docs/icons/generic.red.png create mode 100644 docs/icons/generic.sec.gif create mode 100644 docs/icons/generic.sec.png create mode 100644 docs/icons/hand.right.gif create mode 100644 docs/icons/hand.right.png create mode 100644 docs/icons/hand.up.gif create mode 100644 docs/icons/hand.up.png create mode 100644 docs/icons/icon.sheet.gif create mode 100644 docs/icons/icon.sheet.png create mode 100644 docs/icons/image1.gif create mode 100644 docs/icons/image1.png create mode 100644 docs/icons/image2.gif create mode 100644 docs/icons/image2.png create mode 100644 docs/icons/image3.gif create mode 100644 docs/icons/image3.png create mode 100644 docs/icons/index.gif create mode 100644 docs/icons/index.png create mode 100644 docs/icons/layout.gif create mode 100644 docs/icons/layout.png create mode 100644 docs/icons/left.gif create mode 100644 docs/icons/left.png create mode 100644 docs/icons/link.gif create mode 100644 docs/icons/link.png create mode 100644 docs/icons/movie.gif create mode 100644 docs/icons/movie.png create mode 100644 docs/icons/odf6odb.png create mode 100644 docs/icons/odf6odc.png create mode 100644 docs/icons/odf6odf.png create mode 100644 docs/icons/odf6odg.png create mode 100644 docs/icons/odf6odi.png create mode 100644 docs/icons/odf6odm.png create mode 100644 docs/icons/odf6odp.png create mode 100644 docs/icons/odf6ods.png create mode 100644 docs/icons/odf6odt.png create mode 100644 docs/icons/odf6otc.png create mode 100644 docs/icons/odf6otf.png create mode 100644 docs/icons/odf6otg.png create mode 100644 docs/icons/odf6oth.png create mode 100644 docs/icons/odf6oti.png create mode 100644 docs/icons/odf6otp.png create mode 100644 docs/icons/odf6ots.png create mode 100644 docs/icons/odf6ott.png create mode 100644 docs/icons/p.gif create mode 100644 docs/icons/p.png create mode 100644 docs/icons/patch.gif create mode 100644 docs/icons/patch.png create mode 100644 docs/icons/pdf.gif create mode 100644 docs/icons/pdf.png create mode 100644 docs/icons/pie0.gif create mode 100644 docs/icons/pie0.png create mode 100644 docs/icons/pie1.gif create mode 100644 docs/icons/pie1.png create mode 100644 docs/icons/pie2.gif create mode 100644 docs/icons/pie2.png create mode 100644 docs/icons/pie3.gif create mode 100644 docs/icons/pie3.png create mode 100644 docs/icons/pie4.gif create mode 100644 docs/icons/pie4.png create mode 100644 docs/icons/pie5.gif create mode 100644 docs/icons/pie5.png create mode 100644 docs/icons/pie6.gif create mode 100644 docs/icons/pie6.png create mode 100644 docs/icons/pie7.gif create mode 100644 docs/icons/pie7.png create mode 100644 docs/icons/pie8.gif create mode 100644 docs/icons/pie8.png create mode 100644 docs/icons/portal.gif create mode 100644 docs/icons/portal.png create mode 100644 docs/icons/ps.gif create mode 100644 docs/icons/ps.png create mode 100644 docs/icons/quill.gif create mode 100644 docs/icons/quill.png create mode 100644 docs/icons/right.gif create mode 100644 docs/icons/right.png create mode 100644 docs/icons/screw1.gif create mode 100644 docs/icons/screw1.png create mode 100644 docs/icons/screw2.gif create mode 100644 docs/icons/screw2.png create mode 100644 docs/icons/script.gif create mode 100644 docs/icons/script.png create mode 100644 docs/icons/small/back.gif create mode 100644 docs/icons/small/back.png create mode 100644 docs/icons/small/binary.gif create mode 100644 docs/icons/small/binary.png create mode 100644 docs/icons/small/binhex.gif create mode 100644 docs/icons/small/binhex.png create mode 100644 docs/icons/small/blank.gif create mode 100644 docs/icons/small/blank.png create mode 100644 docs/icons/small/broken.gif create mode 100644 docs/icons/small/broken.png create mode 100644 docs/icons/small/burst.gif create mode 100644 docs/icons/small/burst.png create mode 100644 docs/icons/small/comp1.gif create mode 100644 docs/icons/small/comp1.png create mode 100644 docs/icons/small/comp2.gif create mode 100644 docs/icons/small/comp2.png create mode 100644 docs/icons/small/compressed.gif create mode 100644 docs/icons/small/compressed.png create mode 100644 docs/icons/small/continued.gif create mode 100644 docs/icons/small/continued.png create mode 100644 docs/icons/small/doc.gif create mode 100644 docs/icons/small/doc.png create mode 100644 docs/icons/small/folder.gif create mode 100644 docs/icons/small/folder.png create mode 100644 docs/icons/small/folder2.gif create mode 100644 docs/icons/small/folder2.png create mode 100644 docs/icons/small/forward.gif create mode 100644 docs/icons/small/forward.png create mode 100644 docs/icons/small/generic.gif create mode 100644 docs/icons/small/generic.png create mode 100644 docs/icons/small/generic2.gif create mode 100644 docs/icons/small/generic2.png create mode 100644 docs/icons/small/generic3.gif create mode 100644 docs/icons/small/generic3.png create mode 100644 docs/icons/small/image.gif create mode 100644 docs/icons/small/image.png create mode 100644 docs/icons/small/image2.gif create mode 100644 docs/icons/small/image2.png create mode 100644 docs/icons/small/index.gif create mode 100644 docs/icons/small/index.png create mode 100644 docs/icons/small/key.gif create mode 100644 docs/icons/small/key.png create mode 100644 docs/icons/small/movie.gif create mode 100644 docs/icons/small/movie.png create mode 100644 docs/icons/small/patch.gif create mode 100644 docs/icons/small/patch.png create mode 100644 docs/icons/small/ps.gif create mode 100644 docs/icons/small/ps.png create mode 100644 docs/icons/small/rainbow.gif create mode 100644 docs/icons/small/rainbow.png create mode 100644 docs/icons/small/sound.gif create mode 100644 docs/icons/small/sound.png create mode 100644 docs/icons/small/sound2.gif create mode 100644 docs/icons/small/sound2.png create mode 100644 docs/icons/small/tar.gif create mode 100644 docs/icons/small/tar.png create mode 100644 docs/icons/small/text.gif create mode 100644 docs/icons/small/text.png create mode 100644 docs/icons/small/transfer.gif create mode 100644 docs/icons/small/transfer.png create mode 100644 docs/icons/small/unknown.gif create mode 100644 docs/icons/small/unknown.png create mode 100644 docs/icons/small/uu.gif create mode 100644 docs/icons/small/uu.png create mode 100644 docs/icons/sound1.gif create mode 100644 docs/icons/sound1.png create mode 100644 docs/icons/sound2.gif create mode 100644 docs/icons/sound2.png create mode 100644 docs/icons/sphere1.gif create mode 100644 docs/icons/sphere1.png create mode 100644 docs/icons/sphere2.gif create mode 100644 docs/icons/sphere2.png create mode 100644 docs/icons/svg.png create mode 100644 docs/icons/tar.gif create mode 100644 docs/icons/tar.png create mode 100644 docs/icons/tex.gif create mode 100644 docs/icons/tex.png create mode 100644 docs/icons/text.gif create mode 100644 docs/icons/text.png create mode 100644 docs/icons/transfer.gif create mode 100644 docs/icons/transfer.png create mode 100644 docs/icons/unknown.gif create mode 100644 docs/icons/unknown.png create mode 100644 docs/icons/up.gif create mode 100644 docs/icons/up.png create mode 100644 docs/icons/uu.gif create mode 100644 docs/icons/uu.png create mode 100644 docs/icons/uuencoded.gif create mode 100644 docs/icons/uuencoded.png create mode 100644 docs/icons/world1.gif create mode 100644 docs/icons/world1.png create mode 100644 docs/icons/world2.gif create mode 100644 docs/icons/world2.png create mode 100644 docs/icons/xml.png create mode 100644 docs/man/ab.1 create mode 100644 docs/man/apachectl.8 create mode 100644 docs/man/apxs.1 create mode 100644 docs/man/dbmmanage.1 create mode 100644 docs/man/fcgistarter.8 create mode 100644 docs/man/htcacheclean.8 create mode 100644 docs/man/htdbm.1 create mode 100644 docs/man/htdigest.1 create mode 100644 docs/man/htpasswd.1 create mode 100644 docs/man/httpd.8 create mode 100644 docs/man/httxt2dbm.1 create mode 100644 docs/man/logresolve.1 create mode 100644 docs/man/rotatelogs.8 create mode 100644 docs/man/suexec.8 create mode 100644 docs/man/tr/ab.1 create mode 100644 docs/man/tr/apachectl.8 create mode 100644 docs/man/tr/apxs.1 create mode 100644 docs/man/tr/dbmmanage.1 create mode 100644 docs/man/tr/fcgistarter.8 create mode 100644 docs/man/tr/htcacheclean.8 create mode 100644 docs/man/tr/htdbm.1 create mode 100644 docs/man/tr/htdigest.1 create mode 100644 docs/man/tr/htpasswd.1 create mode 100644 docs/man/tr/httpd.8 create mode 100644 docs/man/tr/httxt2dbm.1 create mode 100644 docs/man/tr/logresolve.1 create mode 100644 docs/man/tr/rotatelogs.8 create mode 100644 docs/man/tr/suexec.8 create mode 100644 docs/manual/BUILDING create mode 100644 docs/manual/LICENSE create mode 100644 docs/manual/bind.html create mode 100644 docs/manual/bind.html.de create mode 100644 docs/manual/bind.html.en create mode 100644 docs/manual/bind.html.fr.utf8 create mode 100644 docs/manual/bind.html.ja.utf8 create mode 100644 docs/manual/bind.html.ko.euc-kr create mode 100644 docs/manual/bind.html.tr.utf8 create mode 100644 docs/manual/caching.html create mode 100644 docs/manual/caching.html.en create mode 100644 docs/manual/caching.html.fr.utf8 create mode 100644 docs/manual/caching.html.tr.utf8 create mode 100644 docs/manual/configuring.html create mode 100644 docs/manual/configuring.html.de create mode 100644 docs/manual/configuring.html.en create mode 100644 docs/manual/configuring.html.fr.utf8 create mode 100644 docs/manual/configuring.html.ja.utf8 create mode 100644 docs/manual/configuring.html.ko.euc-kr create mode 100644 docs/manual/configuring.html.tr.utf8 create mode 100644 docs/manual/content-negotiation.html create mode 100644 docs/manual/content-negotiation.html.en create mode 100644 docs/manual/content-negotiation.html.fr.utf8 create mode 100644 docs/manual/content-negotiation.html.ja.utf8 create mode 100644 docs/manual/content-negotiation.html.ko.euc-kr create mode 100644 docs/manual/content-negotiation.html.tr.utf8 create mode 100644 docs/manual/convenience.map create mode 100644 docs/manual/custom-error.html create mode 100644 docs/manual/custom-error.html.en create mode 100644 docs/manual/custom-error.html.es create mode 100644 docs/manual/custom-error.html.fr.utf8 create mode 100644 docs/manual/custom-error.html.ja.utf8 create mode 100644 docs/manual/custom-error.html.ko.euc-kr create mode 100644 docs/manual/custom-error.html.tr.utf8 create mode 100644 docs/manual/developer/API.html create mode 100644 docs/manual/developer/API.html.en create mode 100644 docs/manual/developer/debugging.html create mode 100644 docs/manual/developer/debugging.html.en create mode 100644 docs/manual/developer/documenting.html create mode 100644 docs/manual/developer/documenting.html.en create mode 100644 docs/manual/developer/documenting.html.zh-cn.utf8 create mode 100644 docs/manual/developer/filters.html create mode 100644 docs/manual/developer/filters.html.en create mode 100644 docs/manual/developer/hooks.html create mode 100644 docs/manual/developer/hooks.html.en create mode 100644 docs/manual/developer/index.html create mode 100644 docs/manual/developer/index.html.en create mode 100644 docs/manual/developer/index.html.zh-cn.utf8 create mode 100644 docs/manual/developer/modguide.html create mode 100644 docs/manual/developer/modguide.html.en create mode 100644 docs/manual/developer/modules.html create mode 100644 docs/manual/developer/modules.html.en create mode 100644 docs/manual/developer/modules.html.ja.utf8 create mode 100644 docs/manual/developer/new_api_2_4.html create mode 100644 docs/manual/developer/new_api_2_4.html.en create mode 100644 docs/manual/developer/output-filters.html create mode 100644 docs/manual/developer/output-filters.html.en create mode 100644 docs/manual/developer/request.html create mode 100644 docs/manual/developer/request.html.en create mode 100644 docs/manual/developer/thread_safety.html create mode 100644 docs/manual/developer/thread_safety.html.en create mode 100644 docs/manual/dns-caveats.html create mode 100644 docs/manual/dns-caveats.html.en create mode 100644 docs/manual/dns-caveats.html.fr.utf8 create mode 100644 docs/manual/dns-caveats.html.ja.utf8 create mode 100644 docs/manual/dns-caveats.html.ko.euc-kr create mode 100644 docs/manual/dns-caveats.html.tr.utf8 create mode 100644 docs/manual/dso.html create mode 100644 docs/manual/dso.html.en create mode 100644 docs/manual/dso.html.fr.utf8 create mode 100644 docs/manual/dso.html.ja.utf8 create mode 100644 docs/manual/dso.html.ko.euc-kr create mode 100644 docs/manual/dso.html.tr.utf8 create mode 100644 docs/manual/env.html create mode 100644 docs/manual/env.html.en create mode 100644 docs/manual/env.html.fr.utf8 create mode 100644 docs/manual/env.html.ja.utf8 create mode 100644 docs/manual/env.html.ko.euc-kr create mode 100644 docs/manual/env.html.tr.utf8 create mode 100644 docs/manual/expr.html create mode 100644 docs/manual/expr.html.en create mode 100644 docs/manual/expr.html.fr.utf8 create mode 100644 docs/manual/faq/index.html create mode 100644 docs/manual/faq/index.html.en create mode 100644 docs/manual/faq/index.html.es create mode 100644 docs/manual/faq/index.html.fr.utf8 create mode 100644 docs/manual/faq/index.html.tr.utf8 create mode 100644 docs/manual/faq/index.html.zh-cn.utf8 create mode 100644 docs/manual/filter.html create mode 100644 docs/manual/filter.html.en create mode 100644 docs/manual/filter.html.es create mode 100644 docs/manual/filter.html.fr.utf8 create mode 100644 docs/manual/filter.html.ja.utf8 create mode 100644 docs/manual/filter.html.ko.euc-kr create mode 100644 docs/manual/filter.html.tr.utf8 create mode 100644 docs/manual/getting-started.html create mode 100644 docs/manual/getting-started.html.en create mode 100644 docs/manual/getting-started.html.fr.utf8 create mode 100644 docs/manual/getting-started.html.ru.utf8 create mode 100644 docs/manual/glossary.html create mode 100644 docs/manual/glossary.html.de create mode 100644 docs/manual/glossary.html.en create mode 100644 docs/manual/glossary.html.es create mode 100644 docs/manual/glossary.html.fr.utf8 create mode 100644 docs/manual/glossary.html.ja.utf8 create mode 100644 docs/manual/glossary.html.ko.euc-kr create mode 100644 docs/manual/glossary.html.tr.utf8 create mode 100644 docs/manual/handler.html create mode 100644 docs/manual/handler.html.en create mode 100644 docs/manual/handler.html.es create mode 100644 docs/manual/handler.html.fr.utf8 create mode 100644 docs/manual/handler.html.ja.utf8 create mode 100644 docs/manual/handler.html.ko.euc-kr create mode 100644 docs/manual/handler.html.tr.utf8 create mode 100644 docs/manual/handler.html.zh-cn.utf8 create mode 100644 docs/manual/howto/access.html create mode 100644 docs/manual/howto/access.html.en create mode 100644 docs/manual/howto/access.html.es create mode 100644 docs/manual/howto/access.html.fr.utf8 create mode 100644 docs/manual/howto/auth.html create mode 100644 docs/manual/howto/auth.html.en create mode 100644 docs/manual/howto/auth.html.es create mode 100644 docs/manual/howto/auth.html.fr.utf8 create mode 100644 docs/manual/howto/auth.html.ja.utf8 create mode 100644 docs/manual/howto/auth.html.ko.euc-kr create mode 100644 docs/manual/howto/auth.html.tr.utf8 create mode 100644 docs/manual/howto/cgi.html create mode 100644 docs/manual/howto/cgi.html.en create mode 100644 docs/manual/howto/cgi.html.es create mode 100644 docs/manual/howto/cgi.html.fr.utf8 create mode 100644 docs/manual/howto/cgi.html.ja.utf8 create mode 100644 docs/manual/howto/cgi.html.ko.euc-kr create mode 100644 docs/manual/howto/htaccess.html create mode 100644 docs/manual/howto/htaccess.html.en create mode 100644 docs/manual/howto/htaccess.html.es create mode 100644 docs/manual/howto/htaccess.html.fr.utf8 create mode 100644 docs/manual/howto/htaccess.html.ja.utf8 create mode 100644 docs/manual/howto/htaccess.html.ko.euc-kr create mode 100644 docs/manual/howto/htaccess.html.pt-br create mode 100644 docs/manual/howto/http2.html create mode 100644 docs/manual/howto/http2.html.en create mode 100644 docs/manual/howto/http2.html.es create mode 100644 docs/manual/howto/http2.html.fr.utf8 create mode 100644 docs/manual/howto/index.html create mode 100644 docs/manual/howto/index.html.en create mode 100644 docs/manual/howto/index.html.es create mode 100644 docs/manual/howto/index.html.fr.utf8 create mode 100644 docs/manual/howto/index.html.ja.utf8 create mode 100644 docs/manual/howto/index.html.ko.euc-kr create mode 100644 docs/manual/howto/index.html.zh-cn.utf8 create mode 100644 docs/manual/howto/public_html.html create mode 100644 docs/manual/howto/public_html.html.en create mode 100644 docs/manual/howto/public_html.html.es create mode 100644 docs/manual/howto/public_html.html.fr.utf8 create mode 100644 docs/manual/howto/public_html.html.ja.utf8 create mode 100644 docs/manual/howto/public_html.html.ko.euc-kr create mode 100644 docs/manual/howto/public_html.html.tr.utf8 create mode 100644 docs/manual/howto/reverse_proxy.html create mode 100644 docs/manual/howto/reverse_proxy.html.en create mode 100644 docs/manual/howto/reverse_proxy.html.fr.utf8 create mode 100644 docs/manual/howto/ssi.html create mode 100644 docs/manual/howto/ssi.html.en create mode 100644 docs/manual/howto/ssi.html.es create mode 100644 docs/manual/howto/ssi.html.fr.utf8 create mode 100644 docs/manual/howto/ssi.html.ja.utf8 create mode 100644 docs/manual/howto/ssi.html.ko.euc-kr create mode 100644 docs/manual/images/apache_header.gif create mode 100644 docs/manual/images/bal-man-b.png create mode 100644 docs/manual/images/bal-man-w.png create mode 100644 docs/manual/images/bal-man.png create mode 100644 docs/manual/images/build_a_mod_2.png create mode 100644 docs/manual/images/build_a_mod_3.png create mode 100644 docs/manual/images/build_a_mod_4.png create mode 100644 docs/manual/images/caching_fig1.gif create mode 100644 docs/manual/images/caching_fig1.png create mode 100644 docs/manual/images/caching_fig1.tr.png create mode 100644 docs/manual/images/custom_errordocs.png create mode 100644 docs/manual/images/down.gif create mode 100644 docs/manual/images/favicon.ico create mode 100644 docs/manual/images/feather.gif create mode 100644 docs/manual/images/feather.png create mode 100644 docs/manual/images/filter_arch.png create mode 100644 docs/manual/images/filter_arch.tr.png create mode 100644 docs/manual/images/home.gif create mode 100644 docs/manual/images/index.gif create mode 100644 docs/manual/images/left.gif create mode 100644 docs/manual/images/mod_filter_new.gif create mode 100644 docs/manual/images/mod_filter_new.png create mode 100644 docs/manual/images/mod_filter_new.tr.png create mode 100644 docs/manual/images/mod_filter_old.gif create mode 100644 docs/manual/images/mod_filter_old.png create mode 100644 docs/manual/images/mod_rewrite_fig1.gif create mode 100644 docs/manual/images/mod_rewrite_fig1.png create mode 100644 docs/manual/images/mod_rewrite_fig2.gif create mode 100644 docs/manual/images/mod_rewrite_fig2.png create mode 100644 docs/manual/images/pixel.gif create mode 100644 docs/manual/images/reverse-proxy-arch.png create mode 100644 docs/manual/images/rewrite_backreferences.png create mode 100644 docs/manual/images/rewrite_process_uri.png create mode 100644 docs/manual/images/rewrite_rule_flow.png create mode 100644 docs/manual/images/right.gif create mode 100644 docs/manual/images/ssl_intro_fig1.gif create mode 100644 docs/manual/images/ssl_intro_fig1.png create mode 100644 docs/manual/images/ssl_intro_fig2.gif create mode 100644 docs/manual/images/ssl_intro_fig2.png create mode 100644 docs/manual/images/ssl_intro_fig3.gif create mode 100644 docs/manual/images/ssl_intro_fig3.png create mode 100644 docs/manual/images/sub.gif create mode 100644 docs/manual/images/syntax_rewritecond.png create mode 100644 docs/manual/images/syntax_rewriterule.png create mode 100644 docs/manual/images/up.gif create mode 100644 docs/manual/index.html create mode 100644 docs/manual/index.html.da create mode 100644 docs/manual/index.html.de create mode 100644 docs/manual/index.html.en create mode 100644 docs/manual/index.html.es create mode 100644 docs/manual/index.html.fr.utf8 create mode 100644 docs/manual/index.html.ja.utf8 create mode 100644 docs/manual/index.html.ko.euc-kr create mode 100644 docs/manual/index.html.pt-br create mode 100644 docs/manual/index.html.ru.utf8 create mode 100644 docs/manual/index.html.tr.utf8 create mode 100644 docs/manual/index.html.zh-cn.utf8 create mode 100644 docs/manual/install.html create mode 100644 docs/manual/install.html.de create mode 100644 docs/manual/install.html.en create mode 100644 docs/manual/install.html.es create mode 100644 docs/manual/install.html.fr.utf8 create mode 100644 docs/manual/install.html.ja.utf8 create mode 100644 docs/manual/install.html.ko.euc-kr create mode 100644 docs/manual/install.html.tr.utf8 create mode 100644 docs/manual/invoking.html create mode 100644 docs/manual/invoking.html.de create mode 100644 docs/manual/invoking.html.en create mode 100644 docs/manual/invoking.html.es create mode 100644 docs/manual/invoking.html.fr.utf8 create mode 100644 docs/manual/invoking.html.ja.utf8 create mode 100644 docs/manual/invoking.html.ko.euc-kr create mode 100644 docs/manual/invoking.html.tr.utf8 create mode 100644 docs/manual/license.html create mode 100644 docs/manual/license.html.en create mode 100644 docs/manual/logs.html create mode 100644 docs/manual/logs.html.en create mode 100644 docs/manual/logs.html.fr.utf8 create mode 100644 docs/manual/logs.html.ja.utf8 create mode 100644 docs/manual/logs.html.ko.euc-kr create mode 100644 docs/manual/logs.html.tr.utf8 create mode 100644 docs/manual/misc/index.html create mode 100644 docs/manual/misc/index.html.en create mode 100644 docs/manual/misc/index.html.es create mode 100644 docs/manual/misc/index.html.fr.utf8 create mode 100644 docs/manual/misc/index.html.ko.euc-kr create mode 100644 docs/manual/misc/index.html.tr.utf8 create mode 100644 docs/manual/misc/index.html.zh-cn.utf8 create mode 100644 docs/manual/misc/password_encryptions.html create mode 100644 docs/manual/misc/password_encryptions.html.en create mode 100644 docs/manual/misc/password_encryptions.html.fr.utf8 create mode 100644 docs/manual/misc/perf-tuning.html create mode 100644 docs/manual/misc/perf-tuning.html.en create mode 100644 docs/manual/misc/perf-tuning.html.fr.utf8 create mode 100644 docs/manual/misc/perf-tuning.html.ko.euc-kr create mode 100644 docs/manual/misc/perf-tuning.html.tr.utf8 create mode 100644 docs/manual/misc/relevant_standards.html create mode 100644 docs/manual/misc/relevant_standards.html.en create mode 100644 docs/manual/misc/relevant_standards.html.fr.utf8 create mode 100644 docs/manual/misc/relevant_standards.html.ko.euc-kr create mode 100644 docs/manual/misc/security_tips.html create mode 100644 docs/manual/misc/security_tips.html.en create mode 100644 docs/manual/misc/security_tips.html.fr.utf8 create mode 100644 docs/manual/misc/security_tips.html.ko.euc-kr create mode 100644 docs/manual/misc/security_tips.html.tr.utf8 create mode 100644 docs/manual/mod/core.html create mode 100644 docs/manual/mod/core.html.de create mode 100644 docs/manual/mod/core.html.en create mode 100644 docs/manual/mod/core.html.es create mode 100644 docs/manual/mod/core.html.fr.utf8 create mode 100644 docs/manual/mod/core.html.ja.utf8 create mode 100644 docs/manual/mod/core.html.tr.utf8 create mode 100644 docs/manual/mod/directive-dict.html create mode 100644 docs/manual/mod/directive-dict.html.en create mode 100644 docs/manual/mod/directive-dict.html.es create mode 100644 docs/manual/mod/directive-dict.html.fr.utf8 create mode 100644 docs/manual/mod/directive-dict.html.ja.utf8 create mode 100644 docs/manual/mod/directive-dict.html.ko.euc-kr create mode 100644 docs/manual/mod/directive-dict.html.tr.utf8 create mode 100644 docs/manual/mod/directives.html create mode 100644 docs/manual/mod/directives.html.de create mode 100644 docs/manual/mod/directives.html.en create mode 100644 docs/manual/mod/directives.html.es create mode 100644 docs/manual/mod/directives.html.fr.utf8 create mode 100644 docs/manual/mod/directives.html.ja.utf8 create mode 100644 docs/manual/mod/directives.html.ko.euc-kr create mode 100644 docs/manual/mod/directives.html.tr.utf8 create mode 100644 docs/manual/mod/directives.html.zh-cn.utf8 create mode 100644 docs/manual/mod/event.html create mode 100644 docs/manual/mod/event.html.en create mode 100644 docs/manual/mod/event.html.fr.utf8 create mode 100644 docs/manual/mod/index.html create mode 100644 docs/manual/mod/index.html.de create mode 100644 docs/manual/mod/index.html.en create mode 100644 docs/manual/mod/index.html.es create mode 100644 docs/manual/mod/index.html.fr.utf8 create mode 100644 docs/manual/mod/index.html.ja.utf8 create mode 100644 docs/manual/mod/index.html.ko.euc-kr create mode 100644 docs/manual/mod/index.html.tr.utf8 create mode 100644 docs/manual/mod/index.html.zh-cn.utf8 create mode 100644 docs/manual/mod/mod_access_compat.html create mode 100644 docs/manual/mod/mod_access_compat.html.en create mode 100644 docs/manual/mod/mod_access_compat.html.fr.utf8 create mode 100644 docs/manual/mod/mod_access_compat.html.ja.utf8 create mode 100644 docs/manual/mod/mod_actions.html create mode 100644 docs/manual/mod/mod_actions.html.de create mode 100644 docs/manual/mod/mod_actions.html.en create mode 100644 docs/manual/mod/mod_actions.html.fr.utf8 create mode 100644 docs/manual/mod/mod_actions.html.ja.utf8 create mode 100644 docs/manual/mod/mod_actions.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_alias.html create mode 100644 docs/manual/mod/mod_alias.html.en create mode 100644 docs/manual/mod/mod_alias.html.fr.utf8 create mode 100644 docs/manual/mod/mod_alias.html.ja.utf8 create mode 100644 docs/manual/mod/mod_alias.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_alias.html.tr.utf8 create mode 100644 docs/manual/mod/mod_allowmethods.html create mode 100644 docs/manual/mod/mod_allowmethods.html.en create mode 100644 docs/manual/mod/mod_allowmethods.html.fr.utf8 create mode 100644 docs/manual/mod/mod_asis.html create mode 100644 docs/manual/mod/mod_asis.html.en create mode 100644 docs/manual/mod/mod_asis.html.fr.utf8 create mode 100644 docs/manual/mod/mod_asis.html.ja.utf8 create mode 100644 docs/manual/mod/mod_asis.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_auth_basic.html create mode 100644 docs/manual/mod/mod_auth_basic.html.en create mode 100644 docs/manual/mod/mod_auth_basic.html.fr.utf8 create mode 100644 docs/manual/mod/mod_auth_basic.html.ja.utf8 create mode 100644 docs/manual/mod/mod_auth_basic.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_auth_digest.html create mode 100644 docs/manual/mod/mod_auth_digest.html.en create mode 100644 docs/manual/mod/mod_auth_digest.html.fr.utf8 create mode 100644 docs/manual/mod/mod_auth_digest.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_auth_form.html create mode 100644 docs/manual/mod/mod_auth_form.html.en create mode 100644 docs/manual/mod/mod_auth_form.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authn_anon.html create mode 100644 docs/manual/mod/mod_authn_anon.html.en create mode 100644 docs/manual/mod/mod_authn_anon.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authn_anon.html.ja.utf8 create mode 100644 docs/manual/mod/mod_authn_anon.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_authn_core.html create mode 100644 docs/manual/mod/mod_authn_core.html.en create mode 100644 docs/manual/mod/mod_authn_core.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authn_dbd.html create mode 100644 docs/manual/mod/mod_authn_dbd.html.en create mode 100644 docs/manual/mod/mod_authn_dbd.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authn_dbm.html create mode 100644 docs/manual/mod/mod_authn_dbm.html.en create mode 100644 docs/manual/mod/mod_authn_dbm.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authn_dbm.html.ja.utf8 create mode 100644 docs/manual/mod/mod_authn_dbm.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_authn_file.html create mode 100644 docs/manual/mod/mod_authn_file.html.en create mode 100644 docs/manual/mod/mod_authn_file.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authn_file.html.ja.utf8 create mode 100644 docs/manual/mod/mod_authn_file.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_authn_socache.html create mode 100644 docs/manual/mod/mod_authn_socache.html.en create mode 100644 docs/manual/mod/mod_authn_socache.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authnz_fcgi.html create mode 100644 docs/manual/mod/mod_authnz_fcgi.html.en create mode 100644 docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authnz_ldap.html create mode 100644 docs/manual/mod/mod_authnz_ldap.html.en create mode 100644 docs/manual/mod/mod_authnz_ldap.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_core.html create mode 100644 docs/manual/mod/mod_authz_core.html.en create mode 100644 docs/manual/mod/mod_authz_core.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_dbd.html create mode 100644 docs/manual/mod/mod_authz_dbd.html.en create mode 100644 docs/manual/mod/mod_authz_dbd.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_dbm.html create mode 100644 docs/manual/mod/mod_authz_dbm.html.en create mode 100644 docs/manual/mod/mod_authz_dbm.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_dbm.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_authz_groupfile.html create mode 100644 docs/manual/mod/mod_authz_groupfile.html.en create mode 100644 docs/manual/mod/mod_authz_groupfile.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_groupfile.html.ja.utf8 create mode 100644 docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_authz_host.html create mode 100644 docs/manual/mod/mod_authz_host.html.en create mode 100644 docs/manual/mod/mod_authz_host.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_owner.html create mode 100644 docs/manual/mod/mod_authz_owner.html.en create mode 100644 docs/manual/mod/mod_authz_owner.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_owner.html.ja.utf8 create mode 100644 docs/manual/mod/mod_authz_owner.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_authz_user.html create mode 100644 docs/manual/mod/mod_authz_user.html.en create mode 100644 docs/manual/mod/mod_authz_user.html.fr.utf8 create mode 100644 docs/manual/mod/mod_authz_user.html.ja.utf8 create mode 100644 docs/manual/mod/mod_authz_user.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_autoindex.html create mode 100644 docs/manual/mod/mod_autoindex.html.en create mode 100644 docs/manual/mod/mod_autoindex.html.fr.utf8 create mode 100644 docs/manual/mod/mod_autoindex.html.ja.utf8 create mode 100644 docs/manual/mod/mod_autoindex.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_autoindex.html.tr.utf8 create mode 100644 docs/manual/mod/mod_brotli.html create mode 100644 docs/manual/mod/mod_brotli.html.en create mode 100644 docs/manual/mod/mod_brotli.html.fr.utf8 create mode 100644 docs/manual/mod/mod_buffer.html create mode 100644 docs/manual/mod/mod_buffer.html.en create mode 100644 docs/manual/mod/mod_buffer.html.fr.utf8 create mode 100644 docs/manual/mod/mod_cache.html create mode 100644 docs/manual/mod/mod_cache.html.en create mode 100644 docs/manual/mod/mod_cache.html.fr.utf8 create mode 100644 docs/manual/mod/mod_cache.html.ja.utf8 create mode 100644 docs/manual/mod/mod_cache.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_cache_disk.html create mode 100644 docs/manual/mod/mod_cache_disk.html.en create mode 100644 docs/manual/mod/mod_cache_disk.html.fr.utf8 create mode 100644 docs/manual/mod/mod_cache_disk.html.ja.utf8 create mode 100644 docs/manual/mod/mod_cache_disk.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_cache_socache.html create mode 100644 docs/manual/mod/mod_cache_socache.html.en create mode 100644 docs/manual/mod/mod_cache_socache.html.fr.utf8 create mode 100644 docs/manual/mod/mod_cern_meta.html create mode 100644 docs/manual/mod/mod_cern_meta.html.en create mode 100644 docs/manual/mod/mod_cern_meta.html.fr.utf8 create mode 100644 docs/manual/mod/mod_cern_meta.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_cgi.html create mode 100644 docs/manual/mod/mod_cgi.html.en create mode 100644 docs/manual/mod/mod_cgi.html.fr.utf8 create mode 100644 docs/manual/mod/mod_cgi.html.ja.utf8 create mode 100644 docs/manual/mod/mod_cgi.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_cgid.html create mode 100644 docs/manual/mod/mod_cgid.html.en create mode 100644 docs/manual/mod/mod_cgid.html.fr.utf8 create mode 100644 docs/manual/mod/mod_cgid.html.ja.utf8 create mode 100644 docs/manual/mod/mod_cgid.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_charset_lite.html create mode 100644 docs/manual/mod/mod_charset_lite.html.en create mode 100644 docs/manual/mod/mod_charset_lite.html.fr.utf8 create mode 100644 docs/manual/mod/mod_charset_lite.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_data.html create mode 100644 docs/manual/mod/mod_data.html.en create mode 100644 docs/manual/mod/mod_data.html.fr.utf8 create mode 100644 docs/manual/mod/mod_dav.html create mode 100644 docs/manual/mod/mod_dav.html.en create mode 100644 docs/manual/mod/mod_dav.html.fr.utf8 create mode 100644 docs/manual/mod/mod_dav.html.ja.utf8 create mode 100644 docs/manual/mod/mod_dav.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_dav_fs.html create mode 100644 docs/manual/mod/mod_dav_fs.html.en create mode 100644 docs/manual/mod/mod_dav_fs.html.fr.utf8 create mode 100644 docs/manual/mod/mod_dav_fs.html.ja.utf8 create mode 100644 docs/manual/mod/mod_dav_fs.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_dav_lock.html create mode 100644 docs/manual/mod/mod_dav_lock.html.en create mode 100644 docs/manual/mod/mod_dav_lock.html.fr.utf8 create mode 100644 docs/manual/mod/mod_dav_lock.html.ja.utf8 create mode 100644 docs/manual/mod/mod_dbd.html create mode 100644 docs/manual/mod/mod_dbd.html.en create mode 100644 docs/manual/mod/mod_dbd.html.fr.utf8 create mode 100644 docs/manual/mod/mod_deflate.html create mode 100644 docs/manual/mod/mod_deflate.html.en create mode 100644 docs/manual/mod/mod_deflate.html.fr.utf8 create mode 100644 docs/manual/mod/mod_deflate.html.ja.utf8 create mode 100644 docs/manual/mod/mod_deflate.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_dialup.html create mode 100644 docs/manual/mod/mod_dialup.html.en create mode 100644 docs/manual/mod/mod_dialup.html.fr.utf8 create mode 100644 docs/manual/mod/mod_dir.html create mode 100644 docs/manual/mod/mod_dir.html.en create mode 100644 docs/manual/mod/mod_dir.html.fr.utf8 create mode 100644 docs/manual/mod/mod_dir.html.ja.utf8 create mode 100644 docs/manual/mod/mod_dir.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_dir.html.tr.utf8 create mode 100644 docs/manual/mod/mod_dumpio.html create mode 100644 docs/manual/mod/mod_dumpio.html.en create mode 100644 docs/manual/mod/mod_dumpio.html.fr.utf8 create mode 100644 docs/manual/mod/mod_dumpio.html.ja.utf8 create mode 100644 docs/manual/mod/mod_echo.html create mode 100644 docs/manual/mod/mod_echo.html.en create mode 100644 docs/manual/mod/mod_echo.html.fr.utf8 create mode 100644 docs/manual/mod/mod_echo.html.ja.utf8 create mode 100644 docs/manual/mod/mod_echo.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_env.html create mode 100644 docs/manual/mod/mod_env.html.en create mode 100644 docs/manual/mod/mod_env.html.fr.utf8 create mode 100644 docs/manual/mod/mod_env.html.ja.utf8 create mode 100644 docs/manual/mod/mod_env.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_env.html.tr.utf8 create mode 100644 docs/manual/mod/mod_example_hooks.html create mode 100644 docs/manual/mod/mod_example_hooks.html.en create mode 100644 docs/manual/mod/mod_example_hooks.html.fr.utf8 create mode 100644 docs/manual/mod/mod_example_hooks.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_expires.html create mode 100644 docs/manual/mod/mod_expires.html.en create mode 100644 docs/manual/mod/mod_expires.html.fr.utf8 create mode 100644 docs/manual/mod/mod_expires.html.ja.utf8 create mode 100644 docs/manual/mod/mod_expires.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_ext_filter.html create mode 100644 docs/manual/mod/mod_ext_filter.html.en create mode 100644 docs/manual/mod/mod_ext_filter.html.fr.utf8 create mode 100644 docs/manual/mod/mod_ext_filter.html.ja.utf8 create mode 100644 docs/manual/mod/mod_ext_filter.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_file_cache.html create mode 100644 docs/manual/mod/mod_file_cache.html.en create mode 100644 docs/manual/mod/mod_file_cache.html.fr.utf8 create mode 100644 docs/manual/mod/mod_file_cache.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_filter.html create mode 100644 docs/manual/mod/mod_filter.html.en create mode 100644 docs/manual/mod/mod_filter.html.fr.utf8 create mode 100644 docs/manual/mod/mod_headers.html create mode 100644 docs/manual/mod/mod_headers.html.en create mode 100644 docs/manual/mod/mod_headers.html.fr.utf8 create mode 100644 docs/manual/mod/mod_headers.html.ja.utf8 create mode 100644 docs/manual/mod/mod_headers.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_heartbeat.html create mode 100644 docs/manual/mod/mod_heartbeat.html.en create mode 100644 docs/manual/mod/mod_heartbeat.html.fr.utf8 create mode 100644 docs/manual/mod/mod_heartmonitor.html create mode 100644 docs/manual/mod/mod_heartmonitor.html.en create mode 100644 docs/manual/mod/mod_heartmonitor.html.fr.utf8 create mode 100644 docs/manual/mod/mod_http2.html create mode 100644 docs/manual/mod/mod_http2.html.en create mode 100644 docs/manual/mod/mod_http2.html.fr.utf8 create mode 100644 docs/manual/mod/mod_ident.html create mode 100644 docs/manual/mod/mod_ident.html.en create mode 100644 docs/manual/mod/mod_ident.html.fr.utf8 create mode 100644 docs/manual/mod/mod_ident.html.ja.utf8 create mode 100644 docs/manual/mod/mod_ident.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_imagemap.html create mode 100644 docs/manual/mod/mod_imagemap.html.en create mode 100644 docs/manual/mod/mod_imagemap.html.fr.utf8 create mode 100644 docs/manual/mod/mod_imagemap.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_include.html create mode 100644 docs/manual/mod/mod_include.html.en create mode 100644 docs/manual/mod/mod_include.html.fr.utf8 create mode 100644 docs/manual/mod/mod_include.html.ja.utf8 create mode 100644 docs/manual/mod/mod_info.html create mode 100644 docs/manual/mod/mod_info.html.en create mode 100644 docs/manual/mod/mod_info.html.fr.utf8 create mode 100644 docs/manual/mod/mod_info.html.ja.utf8 create mode 100644 docs/manual/mod/mod_info.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_isapi.html create mode 100644 docs/manual/mod/mod_isapi.html.en create mode 100644 docs/manual/mod/mod_isapi.html.fr.utf8 create mode 100644 docs/manual/mod/mod_isapi.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_lbmethod_bybusyness.html create mode 100644 docs/manual/mod/mod_lbmethod_bybusyness.html.en create mode 100644 docs/manual/mod/mod_lbmethod_bybusyness.html.fr.utf8 create mode 100644 docs/manual/mod/mod_lbmethod_byrequests.html create mode 100644 docs/manual/mod/mod_lbmethod_byrequests.html.en create mode 100644 docs/manual/mod/mod_lbmethod_byrequests.html.fr.utf8 create mode 100644 docs/manual/mod/mod_lbmethod_bytraffic.html create mode 100644 docs/manual/mod/mod_lbmethod_bytraffic.html.en create mode 100644 docs/manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 create mode 100644 docs/manual/mod/mod_lbmethod_heartbeat.html create mode 100644 docs/manual/mod/mod_lbmethod_heartbeat.html.en create mode 100644 docs/manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 create mode 100644 docs/manual/mod/mod_ldap.html create mode 100644 docs/manual/mod/mod_ldap.html.en create mode 100644 docs/manual/mod/mod_ldap.html.fr.utf8 create mode 100644 docs/manual/mod/mod_log_config.html create mode 100644 docs/manual/mod/mod_log_config.html.en create mode 100644 docs/manual/mod/mod_log_config.html.fr.utf8 create mode 100644 docs/manual/mod/mod_log_config.html.ja.utf8 create mode 100644 docs/manual/mod/mod_log_config.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_log_config.html.tr.utf8 create mode 100644 docs/manual/mod/mod_log_debug.html create mode 100644 docs/manual/mod/mod_log_debug.html.en create mode 100644 docs/manual/mod/mod_log_debug.html.fr.utf8 create mode 100644 docs/manual/mod/mod_log_forensic.html create mode 100644 docs/manual/mod/mod_log_forensic.html.en create mode 100644 docs/manual/mod/mod_log_forensic.html.fr.utf8 create mode 100644 docs/manual/mod/mod_log_forensic.html.ja.utf8 create mode 100644 docs/manual/mod/mod_log_forensic.html.tr.utf8 create mode 100644 docs/manual/mod/mod_logio.html create mode 100644 docs/manual/mod/mod_logio.html.en create mode 100644 docs/manual/mod/mod_logio.html.fr.utf8 create mode 100644 docs/manual/mod/mod_logio.html.ja.utf8 create mode 100644 docs/manual/mod/mod_logio.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_logio.html.tr.utf8 create mode 100644 docs/manual/mod/mod_lua.html create mode 100644 docs/manual/mod/mod_lua.html.en create mode 100644 docs/manual/mod/mod_lua.html.fr.utf8 create mode 100644 docs/manual/mod/mod_macro.html create mode 100644 docs/manual/mod/mod_macro.html.en create mode 100644 docs/manual/mod/mod_macro.html.fr.utf8 create mode 100644 docs/manual/mod/mod_md.html create mode 100644 docs/manual/mod/mod_md.html.en create mode 100644 docs/manual/mod/mod_md.html.fr.utf8 create mode 100644 docs/manual/mod/mod_mime.html create mode 100644 docs/manual/mod/mod_mime.html.en create mode 100644 docs/manual/mod/mod_mime.html.fr.utf8 create mode 100644 docs/manual/mod/mod_mime.html.ja.utf8 create mode 100644 docs/manual/mod/mod_mime_magic.html create mode 100644 docs/manual/mod/mod_mime_magic.html.en create mode 100644 docs/manual/mod/mod_mime_magic.html.fr.utf8 create mode 100644 docs/manual/mod/mod_negotiation.html create mode 100644 docs/manual/mod/mod_negotiation.html.en create mode 100644 docs/manual/mod/mod_negotiation.html.fr.utf8 create mode 100644 docs/manual/mod/mod_negotiation.html.ja.utf8 create mode 100644 docs/manual/mod/mod_nw_ssl.html create mode 100644 docs/manual/mod/mod_nw_ssl.html.en create mode 100644 docs/manual/mod/mod_nw_ssl.html.fr.utf8 create mode 100644 docs/manual/mod/mod_privileges.html create mode 100644 docs/manual/mod/mod_privileges.html.en create mode 100644 docs/manual/mod/mod_privileges.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy.html create mode 100644 docs/manual/mod/mod_proxy.html.en create mode 100644 docs/manual/mod/mod_proxy.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy.html.ja.utf8 create mode 100644 docs/manual/mod/mod_proxy_ajp.html create mode 100644 docs/manual/mod/mod_proxy_ajp.html.en create mode 100644 docs/manual/mod/mod_proxy_ajp.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_ajp.html.ja.utf8 create mode 100644 docs/manual/mod/mod_proxy_balancer.html create mode 100644 docs/manual/mod/mod_proxy_balancer.html.en create mode 100644 docs/manual/mod/mod_proxy_balancer.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_balancer.html.ja.utf8 create mode 100644 docs/manual/mod/mod_proxy_connect.html create mode 100644 docs/manual/mod/mod_proxy_connect.html.en create mode 100644 docs/manual/mod/mod_proxy_connect.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_connect.html.ja.utf8 create mode 100644 docs/manual/mod/mod_proxy_express.html create mode 100644 docs/manual/mod/mod_proxy_express.html.en create mode 100644 docs/manual/mod/mod_proxy_express.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_fcgi.html create mode 100644 docs/manual/mod/mod_proxy_fcgi.html.en create mode 100644 docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_fdpass.html create mode 100644 docs/manual/mod/mod_proxy_fdpass.html.en create mode 100644 docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_ftp.html create mode 100644 docs/manual/mod/mod_proxy_ftp.html.en create mode 100644 docs/manual/mod/mod_proxy_ftp.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_hcheck.html create mode 100644 docs/manual/mod/mod_proxy_hcheck.html.en create mode 100644 docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_html.html create mode 100644 docs/manual/mod/mod_proxy_html.html.en create mode 100644 docs/manual/mod/mod_proxy_html.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_http.html create mode 100644 docs/manual/mod/mod_proxy_http.html.en create mode 100644 docs/manual/mod/mod_proxy_http.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_http2.html create mode 100644 docs/manual/mod/mod_proxy_http2.html.en create mode 100644 docs/manual/mod/mod_proxy_http2.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_scgi.html create mode 100644 docs/manual/mod/mod_proxy_scgi.html.en create mode 100644 docs/manual/mod/mod_proxy_scgi.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_uwsgi.html create mode 100644 docs/manual/mod/mod_proxy_uwsgi.html.en create mode 100644 docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 create mode 100644 docs/manual/mod/mod_proxy_wstunnel.html create mode 100644 docs/manual/mod/mod_proxy_wstunnel.html.en create mode 100644 docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 create mode 100644 docs/manual/mod/mod_ratelimit.html create mode 100644 docs/manual/mod/mod_ratelimit.html.en create mode 100644 docs/manual/mod/mod_ratelimit.html.fr.utf8 create mode 100644 docs/manual/mod/mod_reflector.html create mode 100644 docs/manual/mod/mod_reflector.html.en create mode 100644 docs/manual/mod/mod_reflector.html.fr.utf8 create mode 100644 docs/manual/mod/mod_remoteip.html create mode 100644 docs/manual/mod/mod_remoteip.html.en create mode 100644 docs/manual/mod/mod_remoteip.html.fr.utf8 create mode 100644 docs/manual/mod/mod_reqtimeout.html create mode 100644 docs/manual/mod/mod_reqtimeout.html.en create mode 100644 docs/manual/mod/mod_reqtimeout.html.fr.utf8 create mode 100644 docs/manual/mod/mod_request.html create mode 100644 docs/manual/mod/mod_request.html.en create mode 100644 docs/manual/mod/mod_request.html.fr.utf8 create mode 100644 docs/manual/mod/mod_request.html.tr.utf8 create mode 100644 docs/manual/mod/mod_rewrite.html create mode 100644 docs/manual/mod/mod_rewrite.html.en create mode 100644 docs/manual/mod/mod_rewrite.html.fr.utf8 create mode 100644 docs/manual/mod/mod_sed.html create mode 100644 docs/manual/mod/mod_sed.html.en create mode 100644 docs/manual/mod/mod_sed.html.fr.utf8 create mode 100644 docs/manual/mod/mod_session.html create mode 100644 docs/manual/mod/mod_session.html.en create mode 100644 docs/manual/mod/mod_session.html.fr.utf8 create mode 100644 docs/manual/mod/mod_session_cookie.html create mode 100644 docs/manual/mod/mod_session_cookie.html.en create mode 100644 docs/manual/mod/mod_session_cookie.html.fr.utf8 create mode 100644 docs/manual/mod/mod_session_crypto.html create mode 100644 docs/manual/mod/mod_session_crypto.html.en create mode 100644 docs/manual/mod/mod_session_crypto.html.fr.utf8 create mode 100644 docs/manual/mod/mod_session_dbd.html create mode 100644 docs/manual/mod/mod_session_dbd.html.en create mode 100644 docs/manual/mod/mod_session_dbd.html.fr.utf8 create mode 100644 docs/manual/mod/mod_setenvif.html create mode 100644 docs/manual/mod/mod_setenvif.html.en create mode 100644 docs/manual/mod/mod_setenvif.html.fr.utf8 create mode 100644 docs/manual/mod/mod_setenvif.html.ja.utf8 create mode 100644 docs/manual/mod/mod_setenvif.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_setenvif.html.tr.utf8 create mode 100644 docs/manual/mod/mod_slotmem_plain.html create mode 100644 docs/manual/mod/mod_slotmem_plain.html.en create mode 100644 docs/manual/mod/mod_slotmem_plain.html.fr.utf8 create mode 100644 docs/manual/mod/mod_slotmem_shm.html create mode 100644 docs/manual/mod/mod_slotmem_shm.html.en create mode 100644 docs/manual/mod/mod_slotmem_shm.html.fr.utf8 create mode 100644 docs/manual/mod/mod_so.html create mode 100644 docs/manual/mod/mod_so.html.en create mode 100644 docs/manual/mod/mod_so.html.fr.utf8 create mode 100644 docs/manual/mod/mod_so.html.ja.utf8 create mode 100644 docs/manual/mod/mod_so.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_so.html.tr.utf8 create mode 100644 docs/manual/mod/mod_socache_dbm.html create mode 100644 docs/manual/mod/mod_socache_dbm.html.en create mode 100644 docs/manual/mod/mod_socache_dbm.html.fr.utf8 create mode 100644 docs/manual/mod/mod_socache_dc.html create mode 100644 docs/manual/mod/mod_socache_dc.html.en create mode 100644 docs/manual/mod/mod_socache_dc.html.fr.utf8 create mode 100644 docs/manual/mod/mod_socache_memcache.html create mode 100644 docs/manual/mod/mod_socache_memcache.html.en create mode 100644 docs/manual/mod/mod_socache_memcache.html.fr.utf8 create mode 100644 docs/manual/mod/mod_socache_redis.html create mode 100644 docs/manual/mod/mod_socache_redis.html.en create mode 100644 docs/manual/mod/mod_socache_redis.html.fr.utf8 create mode 100644 docs/manual/mod/mod_socache_shmcb.html create mode 100644 docs/manual/mod/mod_socache_shmcb.html.en create mode 100644 docs/manual/mod/mod_socache_shmcb.html.fr.utf8 create mode 100644 docs/manual/mod/mod_speling.html create mode 100644 docs/manual/mod/mod_speling.html.en create mode 100644 docs/manual/mod/mod_speling.html.fr.utf8 create mode 100644 docs/manual/mod/mod_speling.html.ja.utf8 create mode 100644 docs/manual/mod/mod_speling.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_ssl.html create mode 100644 docs/manual/mod/mod_ssl.html.en create mode 100644 docs/manual/mod/mod_ssl.html.fr.utf8 create mode 100644 docs/manual/mod/mod_status.html create mode 100644 docs/manual/mod/mod_status.html.en create mode 100644 docs/manual/mod/mod_status.html.fr.utf8 create mode 100644 docs/manual/mod/mod_status.html.ja.utf8 create mode 100644 docs/manual/mod/mod_status.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_status.html.tr.utf8 create mode 100644 docs/manual/mod/mod_substitute.html create mode 100644 docs/manual/mod/mod_substitute.html.en create mode 100644 docs/manual/mod/mod_substitute.html.fr.utf8 create mode 100644 docs/manual/mod/mod_suexec.html create mode 100644 docs/manual/mod/mod_suexec.html.en create mode 100644 docs/manual/mod/mod_suexec.html.fr.utf8 create mode 100644 docs/manual/mod/mod_suexec.html.ja.utf8 create mode 100644 docs/manual/mod/mod_suexec.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_suexec.html.tr.utf8 create mode 100644 docs/manual/mod/mod_systemd.html create mode 100644 docs/manual/mod/mod_systemd.html.en create mode 100644 docs/manual/mod/mod_systemd.html.fr.utf8 create mode 100644 docs/manual/mod/mod_tls.html create mode 100644 docs/manual/mod/mod_tls.html.en create mode 100644 docs/manual/mod/mod_unique_id.html create mode 100644 docs/manual/mod/mod_unique_id.html.en create mode 100644 docs/manual/mod/mod_unique_id.html.fr.utf8 create mode 100644 docs/manual/mod/mod_unique_id.html.ja.utf8 create mode 100644 docs/manual/mod/mod_unique_id.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_unixd.html create mode 100644 docs/manual/mod/mod_unixd.html.en create mode 100644 docs/manual/mod/mod_unixd.html.fr.utf8 create mode 100644 docs/manual/mod/mod_unixd.html.tr.utf8 create mode 100644 docs/manual/mod/mod_userdir.html create mode 100644 docs/manual/mod/mod_userdir.html.en create mode 100644 docs/manual/mod/mod_userdir.html.fr.utf8 create mode 100644 docs/manual/mod/mod_userdir.html.ja.utf8 create mode 100644 docs/manual/mod/mod_userdir.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_userdir.html.tr.utf8 create mode 100644 docs/manual/mod/mod_usertrack.html create mode 100644 docs/manual/mod/mod_usertrack.html.en create mode 100644 docs/manual/mod/mod_usertrack.html.fr.utf8 create mode 100644 docs/manual/mod/mod_version.html create mode 100644 docs/manual/mod/mod_version.html.en create mode 100644 docs/manual/mod/mod_version.html.fr.utf8 create mode 100644 docs/manual/mod/mod_version.html.ja.utf8 create mode 100644 docs/manual/mod/mod_version.html.ko.euc-kr create mode 100644 docs/manual/mod/mod_vhost_alias.html create mode 100644 docs/manual/mod/mod_vhost_alias.html.en create mode 100644 docs/manual/mod/mod_vhost_alias.html.fr.utf8 create mode 100644 docs/manual/mod/mod_vhost_alias.html.tr.utf8 create mode 100644 docs/manual/mod/mod_watchdog.html create mode 100644 docs/manual/mod/mod_watchdog.html.en create mode 100644 docs/manual/mod/mod_watchdog.html.fr.utf8 create mode 100644 docs/manual/mod/mod_xml2enc.html create mode 100644 docs/manual/mod/mod_xml2enc.html.en create mode 100644 docs/manual/mod/mod_xml2enc.html.fr.utf8 create mode 100644 docs/manual/mod/module-dict.html create mode 100644 docs/manual/mod/module-dict.html.en create mode 100644 docs/manual/mod/module-dict.html.fr.utf8 create mode 100644 docs/manual/mod/module-dict.html.ja.utf8 create mode 100644 docs/manual/mod/module-dict.html.ko.euc-kr create mode 100644 docs/manual/mod/module-dict.html.tr.utf8 create mode 100644 docs/manual/mod/mpm_common.html create mode 100644 docs/manual/mod/mpm_common.html.de create mode 100644 docs/manual/mod/mpm_common.html.en create mode 100644 docs/manual/mod/mpm_common.html.fr.utf8 create mode 100644 docs/manual/mod/mpm_common.html.ja.utf8 create mode 100644 docs/manual/mod/mpm_common.html.tr.utf8 create mode 100644 docs/manual/mod/mpm_netware.html create mode 100644 docs/manual/mod/mpm_netware.html.en create mode 100644 docs/manual/mod/mpm_netware.html.fr.utf8 create mode 100644 docs/manual/mod/mpm_winnt.html create mode 100644 docs/manual/mod/mpm_winnt.html.de create mode 100644 docs/manual/mod/mpm_winnt.html.en create mode 100644 docs/manual/mod/mpm_winnt.html.fr.utf8 create mode 100644 docs/manual/mod/mpm_winnt.html.ja.utf8 create mode 100644 docs/manual/mod/mpmt_os2.html create mode 100644 docs/manual/mod/mpmt_os2.html.en create mode 100644 docs/manual/mod/mpmt_os2.html.fr.utf8 create mode 100644 docs/manual/mod/overrides.html create mode 100644 docs/manual/mod/overrides.html.en create mode 100644 docs/manual/mod/overrides.html.fr.utf8 create mode 100644 docs/manual/mod/prefork.html create mode 100644 docs/manual/mod/prefork.html.de create mode 100644 docs/manual/mod/prefork.html.en create mode 100644 docs/manual/mod/prefork.html.fr.utf8 create mode 100644 docs/manual/mod/prefork.html.ja.utf8 create mode 100644 docs/manual/mod/prefork.html.tr.utf8 create mode 100644 docs/manual/mod/quickreference.html create mode 100644 docs/manual/mod/quickreference.html.de create mode 100644 docs/manual/mod/quickreference.html.en create mode 100644 docs/manual/mod/quickreference.html.es create mode 100644 docs/manual/mod/quickreference.html.fr.utf8 create mode 100644 docs/manual/mod/quickreference.html.ja.utf8 create mode 100644 docs/manual/mod/quickreference.html.ko.euc-kr create mode 100644 docs/manual/mod/quickreference.html.tr.utf8 create mode 100644 docs/manual/mod/quickreference.html.zh-cn.utf8 create mode 100644 docs/manual/mod/worker.html create mode 100644 docs/manual/mod/worker.html.de create mode 100644 docs/manual/mod/worker.html.en create mode 100644 docs/manual/mod/worker.html.fr.utf8 create mode 100644 docs/manual/mod/worker.html.ja.utf8 create mode 100644 docs/manual/mod/worker.html.tr.utf8 create mode 100644 docs/manual/mpm.html create mode 100644 docs/manual/mpm.html.de create mode 100644 docs/manual/mpm.html.en create mode 100644 docs/manual/mpm.html.es create mode 100644 docs/manual/mpm.html.fr.utf8 create mode 100644 docs/manual/mpm.html.ja.utf8 create mode 100644 docs/manual/mpm.html.ko.euc-kr create mode 100644 docs/manual/mpm.html.tr.utf8 create mode 100644 docs/manual/mpm.html.zh-cn.utf8 create mode 100644 docs/manual/new_features_2_0.html create mode 100644 docs/manual/new_features_2_0.html.de create mode 100644 docs/manual/new_features_2_0.html.en create mode 100644 docs/manual/new_features_2_0.html.fr.utf8 create mode 100644 docs/manual/new_features_2_0.html.ja.utf8 create mode 100644 docs/manual/new_features_2_0.html.ko.euc-kr create mode 100644 docs/manual/new_features_2_0.html.pt-br create mode 100644 docs/manual/new_features_2_0.html.tr.utf8 create mode 100644 docs/manual/new_features_2_2.html create mode 100644 docs/manual/new_features_2_2.html.en create mode 100644 docs/manual/new_features_2_2.html.fr.utf8 create mode 100644 docs/manual/new_features_2_2.html.ko.euc-kr create mode 100644 docs/manual/new_features_2_2.html.pt-br create mode 100644 docs/manual/new_features_2_2.html.tr.utf8 create mode 100644 docs/manual/new_features_2_4.html create mode 100644 docs/manual/new_features_2_4.html.en create mode 100644 docs/manual/new_features_2_4.html.fr.utf8 create mode 100644 docs/manual/new_features_2_4.html.tr.utf8 create mode 100644 docs/manual/platform/ebcdic.html create mode 100644 docs/manual/platform/ebcdic.html.en create mode 100644 docs/manual/platform/ebcdic.html.ko.euc-kr create mode 100644 docs/manual/platform/index.html create mode 100644 docs/manual/platform/index.html.en create mode 100644 docs/manual/platform/index.html.fr.utf8 create mode 100644 docs/manual/platform/index.html.ko.euc-kr create mode 100644 docs/manual/platform/index.html.zh-cn.utf8 create mode 100644 docs/manual/platform/netware.html create mode 100644 docs/manual/platform/netware.html.en create mode 100644 docs/manual/platform/netware.html.fr.utf8 create mode 100644 docs/manual/platform/netware.html.ko.euc-kr create mode 100644 docs/manual/platform/perf-hp.html create mode 100644 docs/manual/platform/perf-hp.html.en create mode 100644 docs/manual/platform/perf-hp.html.fr.utf8 create mode 100644 docs/manual/platform/perf-hp.html.ko.euc-kr create mode 100644 docs/manual/platform/rpm.html create mode 100644 docs/manual/platform/rpm.html.en create mode 100644 docs/manual/platform/rpm.html.fr.utf8 create mode 100644 docs/manual/platform/win_compiling.html create mode 100644 docs/manual/platform/win_compiling.html.en create mode 100644 docs/manual/platform/win_compiling.html.fr.utf8 create mode 100644 docs/manual/platform/win_compiling.html.ko.euc-kr create mode 100644 docs/manual/platform/windows.html create mode 100644 docs/manual/platform/windows.html.en create mode 100644 docs/manual/platform/windows.html.fr.utf8 create mode 100644 docs/manual/platform/windows.html.ko.euc-kr create mode 100644 docs/manual/programs/ab.html create mode 100644 docs/manual/programs/ab.html.en create mode 100644 docs/manual/programs/ab.html.fr.utf8 create mode 100644 docs/manual/programs/ab.html.ko.euc-kr create mode 100644 docs/manual/programs/ab.html.tr.utf8 create mode 100644 docs/manual/programs/apachectl.html create mode 100644 docs/manual/programs/apachectl.html.en create mode 100644 docs/manual/programs/apachectl.html.fr.utf8 create mode 100644 docs/manual/programs/apachectl.html.ko.euc-kr create mode 100644 docs/manual/programs/apachectl.html.tr.utf8 create mode 100644 docs/manual/programs/apxs.html create mode 100644 docs/manual/programs/apxs.html.en create mode 100644 docs/manual/programs/apxs.html.fr.utf8 create mode 100644 docs/manual/programs/apxs.html.ko.euc-kr create mode 100644 docs/manual/programs/apxs.html.tr.utf8 create mode 100644 docs/manual/programs/configure.html create mode 100644 docs/manual/programs/configure.html.en create mode 100644 docs/manual/programs/configure.html.fr.utf8 create mode 100644 docs/manual/programs/configure.html.ko.euc-kr create mode 100644 docs/manual/programs/configure.html.tr.utf8 create mode 100644 docs/manual/programs/dbmmanage.html create mode 100644 docs/manual/programs/dbmmanage.html.en create mode 100644 docs/manual/programs/dbmmanage.html.fr.utf8 create mode 100644 docs/manual/programs/dbmmanage.html.ko.euc-kr create mode 100644 docs/manual/programs/dbmmanage.html.tr.utf8 create mode 100644 docs/manual/programs/fcgistarter.html create mode 100644 docs/manual/programs/fcgistarter.html.en create mode 100644 docs/manual/programs/fcgistarter.html.fr.utf8 create mode 100644 docs/manual/programs/fcgistarter.html.tr.utf8 create mode 100644 docs/manual/programs/htcacheclean.html create mode 100644 docs/manual/programs/htcacheclean.html.en create mode 100644 docs/manual/programs/htcacheclean.html.fr.utf8 create mode 100644 docs/manual/programs/htcacheclean.html.ko.euc-kr create mode 100644 docs/manual/programs/htcacheclean.html.tr.utf8 create mode 100644 docs/manual/programs/htdbm.html create mode 100644 docs/manual/programs/htdbm.html.en create mode 100644 docs/manual/programs/htdbm.html.fr.utf8 create mode 100644 docs/manual/programs/htdbm.html.tr.utf8 create mode 100644 docs/manual/programs/htdigest.html create mode 100644 docs/manual/programs/htdigest.html.en create mode 100644 docs/manual/programs/htdigest.html.fr.utf8 create mode 100644 docs/manual/programs/htdigest.html.ko.euc-kr create mode 100644 docs/manual/programs/htdigest.html.tr.utf8 create mode 100644 docs/manual/programs/htpasswd.html create mode 100644 docs/manual/programs/htpasswd.html.en create mode 100644 docs/manual/programs/htpasswd.html.fr.utf8 create mode 100644 docs/manual/programs/htpasswd.html.ko.euc-kr create mode 100644 docs/manual/programs/htpasswd.html.tr.utf8 create mode 100644 docs/manual/programs/httpd.html create mode 100644 docs/manual/programs/httpd.html.en create mode 100644 docs/manual/programs/httpd.html.fr.utf8 create mode 100644 docs/manual/programs/httpd.html.ko.euc-kr create mode 100644 docs/manual/programs/httpd.html.tr.utf8 create mode 100644 docs/manual/programs/httxt2dbm.html create mode 100644 docs/manual/programs/httxt2dbm.html.en create mode 100644 docs/manual/programs/httxt2dbm.html.fr.utf8 create mode 100644 docs/manual/programs/httxt2dbm.html.tr.utf8 create mode 100644 docs/manual/programs/index.html create mode 100644 docs/manual/programs/index.html.en create mode 100644 docs/manual/programs/index.html.es create mode 100644 docs/manual/programs/index.html.fr.utf8 create mode 100644 docs/manual/programs/index.html.ko.euc-kr create mode 100644 docs/manual/programs/index.html.tr.utf8 create mode 100644 docs/manual/programs/index.html.zh-cn.utf8 create mode 100644 docs/manual/programs/log_server_status.html create mode 100644 docs/manual/programs/log_server_status.html.en create mode 100644 docs/manual/programs/log_server_status.html.fr.utf8 create mode 100644 docs/manual/programs/logresolve.html create mode 100644 docs/manual/programs/logresolve.html.en create mode 100644 docs/manual/programs/logresolve.html.fr.utf8 create mode 100644 docs/manual/programs/logresolve.html.ko.euc-kr create mode 100644 docs/manual/programs/logresolve.html.tr.utf8 create mode 100644 docs/manual/programs/other.html create mode 100644 docs/manual/programs/other.html.en create mode 100644 docs/manual/programs/other.html.fr.utf8 create mode 100644 docs/manual/programs/other.html.ko.euc-kr create mode 100644 docs/manual/programs/other.html.tr.utf8 create mode 100644 docs/manual/programs/rotatelogs.html create mode 100644 docs/manual/programs/rotatelogs.html.en create mode 100644 docs/manual/programs/rotatelogs.html.fr.utf8 create mode 100644 docs/manual/programs/rotatelogs.html.ko.euc-kr create mode 100644 docs/manual/programs/rotatelogs.html.tr.utf8 create mode 100644 docs/manual/programs/split-logfile.html create mode 100644 docs/manual/programs/split-logfile.html.en create mode 100644 docs/manual/programs/split-logfile.html.fr.utf8 create mode 100644 docs/manual/programs/suexec.html create mode 100644 docs/manual/programs/suexec.html.en create mode 100644 docs/manual/programs/suexec.html.fr.utf8 create mode 100644 docs/manual/programs/suexec.html.ko.euc-kr create mode 100644 docs/manual/programs/suexec.html.tr.utf8 create mode 100644 docs/manual/rewrite/access.html create mode 100644 docs/manual/rewrite/access.html.en create mode 100644 docs/manual/rewrite/access.html.fr.utf8 create mode 100644 docs/manual/rewrite/advanced.html create mode 100644 docs/manual/rewrite/advanced.html.en create mode 100644 docs/manual/rewrite/advanced.html.fr.utf8 create mode 100644 docs/manual/rewrite/avoid.html create mode 100644 docs/manual/rewrite/avoid.html.en create mode 100644 docs/manual/rewrite/avoid.html.fr.utf8 create mode 100644 docs/manual/rewrite/flags.html create mode 100644 docs/manual/rewrite/flags.html.en create mode 100644 docs/manual/rewrite/flags.html.fr.utf8 create mode 100644 docs/manual/rewrite/htaccess.html create mode 100644 docs/manual/rewrite/htaccess.html.en create mode 100644 docs/manual/rewrite/htaccess.html.fr.utf8 create mode 100644 docs/manual/rewrite/index.html create mode 100644 docs/manual/rewrite/index.html.en create mode 100644 docs/manual/rewrite/index.html.fr.utf8 create mode 100644 docs/manual/rewrite/index.html.tr.utf8 create mode 100644 docs/manual/rewrite/index.html.zh-cn.utf8 create mode 100644 docs/manual/rewrite/intro.html create mode 100644 docs/manual/rewrite/intro.html.en create mode 100644 docs/manual/rewrite/intro.html.fr.utf8 create mode 100644 docs/manual/rewrite/proxy.html create mode 100644 docs/manual/rewrite/proxy.html.en create mode 100644 docs/manual/rewrite/proxy.html.fr.utf8 create mode 100644 docs/manual/rewrite/remapping.html create mode 100644 docs/manual/rewrite/remapping.html.en create mode 100644 docs/manual/rewrite/remapping.html.fr.utf8 create mode 100644 docs/manual/rewrite/rewritemap.html create mode 100644 docs/manual/rewrite/rewritemap.html.en create mode 100644 docs/manual/rewrite/rewritemap.html.fr.utf8 create mode 100644 docs/manual/rewrite/tech.html create mode 100644 docs/manual/rewrite/tech.html.en create mode 100644 docs/manual/rewrite/tech.html.fr.utf8 create mode 100644 docs/manual/rewrite/vhosts.html create mode 100644 docs/manual/rewrite/vhosts.html.en create mode 100644 docs/manual/rewrite/vhosts.html.fr.utf8 create mode 100644 docs/manual/sections.html create mode 100644 docs/manual/sections.html.en create mode 100644 docs/manual/sections.html.fr.utf8 create mode 100644 docs/manual/sections.html.ja.utf8 create mode 100644 docs/manual/sections.html.ko.euc-kr create mode 100644 docs/manual/sections.html.tr.utf8 create mode 100644 docs/manual/server-wide.html create mode 100644 docs/manual/server-wide.html.en create mode 100644 docs/manual/server-wide.html.fr.utf8 create mode 100644 docs/manual/server-wide.html.ja.utf8 create mode 100644 docs/manual/server-wide.html.ko.euc-kr create mode 100644 docs/manual/server-wide.html.tr.utf8 create mode 100644 docs/manual/sitemap.html create mode 100644 docs/manual/sitemap.html.de create mode 100644 docs/manual/sitemap.html.en create mode 100644 docs/manual/sitemap.html.es create mode 100644 docs/manual/sitemap.html.fr.utf8 create mode 100644 docs/manual/sitemap.html.ja.utf8 create mode 100644 docs/manual/sitemap.html.ko.euc-kr create mode 100644 docs/manual/sitemap.html.tr.utf8 create mode 100644 docs/manual/sitemap.html.zh-cn.utf8 create mode 100644 docs/manual/socache.html create mode 100644 docs/manual/socache.html.en create mode 100644 docs/manual/socache.html.fr.utf8 create mode 100644 docs/manual/ssl/index.html create mode 100644 docs/manual/ssl/index.html.en create mode 100644 docs/manual/ssl/index.html.fr.utf8 create mode 100644 docs/manual/ssl/index.html.ja.utf8 create mode 100644 docs/manual/ssl/index.html.tr.utf8 create mode 100644 docs/manual/ssl/index.html.zh-cn.utf8 create mode 100644 docs/manual/ssl/ssl_compat.html create mode 100644 docs/manual/ssl/ssl_compat.html.en create mode 100644 docs/manual/ssl/ssl_compat.html.fr.utf8 create mode 100644 docs/manual/ssl/ssl_faq.html create mode 100644 docs/manual/ssl/ssl_faq.html.en create mode 100644 docs/manual/ssl/ssl_faq.html.fr.utf8 create mode 100644 docs/manual/ssl/ssl_howto.html create mode 100644 docs/manual/ssl/ssl_howto.html.en create mode 100644 docs/manual/ssl/ssl_howto.html.fr.utf8 create mode 100644 docs/manual/ssl/ssl_intro.html create mode 100644 docs/manual/ssl/ssl_intro.html.en create mode 100644 docs/manual/ssl/ssl_intro.html.fr.utf8 create mode 100644 docs/manual/ssl/ssl_intro.html.ja.utf8 create mode 100644 docs/manual/stopping.html create mode 100644 docs/manual/stopping.html.de create mode 100644 docs/manual/stopping.html.en create mode 100644 docs/manual/stopping.html.es create mode 100644 docs/manual/stopping.html.fr.utf8 create mode 100644 docs/manual/stopping.html.ja.utf8 create mode 100644 docs/manual/stopping.html.ko.euc-kr create mode 100644 docs/manual/stopping.html.tr.utf8 create mode 100644 docs/manual/style/build.properties create mode 100644 docs/manual/style/common.dtd create mode 100644 docs/manual/style/css/manual-chm.css create mode 100644 docs/manual/style/css/manual-loose-100pc.css create mode 100644 docs/manual/style/css/manual-print.css create mode 100644 docs/manual/style/css/manual-zip-100pc.css create mode 100644 docs/manual/style/css/manual-zip.css create mode 100644 docs/manual/style/css/manual.css create mode 100644 docs/manual/style/css/prettify.css create mode 100644 docs/manual/style/faq.dtd create mode 100644 docs/manual/style/lang.dtd create mode 100644 docs/manual/style/latex/atbeginend.sty create mode 100644 docs/manual/style/manualpage.dtd create mode 100644 docs/manual/style/modulesynopsis.dtd create mode 100644 docs/manual/style/scripts/MINIFY create mode 100644 docs/manual/style/scripts/prettify.js create mode 100644 docs/manual/style/scripts/prettify.min.js create mode 100644 docs/manual/style/sitemap.dtd create mode 100644 docs/manual/style/version.ent create mode 100644 docs/manual/suexec.html create mode 100644 docs/manual/suexec.html.en create mode 100644 docs/manual/suexec.html.fr.utf8 create mode 100644 docs/manual/suexec.html.ja.utf8 create mode 100644 docs/manual/suexec.html.ko.euc-kr create mode 100644 docs/manual/suexec.html.tr.utf8 create mode 100644 docs/manual/upgrading.html create mode 100644 docs/manual/upgrading.html.en create mode 100644 docs/manual/upgrading.html.fr.utf8 create mode 100644 docs/manual/urlmapping.html create mode 100644 docs/manual/urlmapping.html.en create mode 100644 docs/manual/urlmapping.html.fr.utf8 create mode 100644 docs/manual/urlmapping.html.ja.utf8 create mode 100644 docs/manual/urlmapping.html.ko.euc-kr create mode 100644 docs/manual/urlmapping.html.tr.utf8 create mode 100644 docs/manual/vhosts/details.html create mode 100644 docs/manual/vhosts/details.html.en create mode 100644 docs/manual/vhosts/details.html.fr.utf8 create mode 100644 docs/manual/vhosts/details.html.ko.euc-kr create mode 100644 docs/manual/vhosts/details.html.tr.utf8 create mode 100644 docs/manual/vhosts/examples.html create mode 100644 docs/manual/vhosts/examples.html.en create mode 100644 docs/manual/vhosts/examples.html.fr.utf8 create mode 100644 docs/manual/vhosts/examples.html.ja.utf8 create mode 100644 docs/manual/vhosts/examples.html.ko.euc-kr create mode 100644 docs/manual/vhosts/examples.html.tr.utf8 create mode 100644 docs/manual/vhosts/fd-limits.html create mode 100644 docs/manual/vhosts/fd-limits.html.en create mode 100644 docs/manual/vhosts/fd-limits.html.fr.utf8 create mode 100644 docs/manual/vhosts/fd-limits.html.ja.utf8 create mode 100644 docs/manual/vhosts/fd-limits.html.ko.euc-kr create mode 100644 docs/manual/vhosts/fd-limits.html.tr.utf8 create mode 100644 docs/manual/vhosts/index.html create mode 100644 docs/manual/vhosts/index.html.de create mode 100644 docs/manual/vhosts/index.html.en create mode 100644 docs/manual/vhosts/index.html.fr.utf8 create mode 100644 docs/manual/vhosts/index.html.ja.utf8 create mode 100644 docs/manual/vhosts/index.html.ko.euc-kr create mode 100644 docs/manual/vhosts/index.html.tr.utf8 create mode 100644 docs/manual/vhosts/index.html.zh-cn.utf8 create mode 100644 docs/manual/vhosts/ip-based.html create mode 100644 docs/manual/vhosts/ip-based.html.en create mode 100644 docs/manual/vhosts/ip-based.html.fr.utf8 create mode 100644 docs/manual/vhosts/ip-based.html.ja.utf8 create mode 100644 docs/manual/vhosts/ip-based.html.ko.euc-kr create mode 100644 docs/manual/vhosts/ip-based.html.tr.utf8 create mode 100644 docs/manual/vhosts/mass.html create mode 100644 docs/manual/vhosts/mass.html.en create mode 100644 docs/manual/vhosts/mass.html.fr.utf8 create mode 100644 docs/manual/vhosts/mass.html.ko.euc-kr create mode 100644 docs/manual/vhosts/mass.html.tr.utf8 create mode 100644 docs/manual/vhosts/name-based.html create mode 100644 docs/manual/vhosts/name-based.html.de create mode 100644 docs/manual/vhosts/name-based.html.en create mode 100644 docs/manual/vhosts/name-based.html.fr.utf8 create mode 100644 docs/manual/vhosts/name-based.html.ja.utf8 create mode 100644 docs/manual/vhosts/name-based.html.ko.euc-kr create mode 100644 docs/manual/vhosts/name-based.html.tr.utf8 create mode 100644 docs/server-status/README.md create mode 100644 docs/server-status/feather.png create mode 100644 docs/server-status/server-status.lua (limited to 'docs') diff --git a/docs/cgi-examples/printenv b/docs/cgi-examples/printenv new file mode 100644 index 0000000..5b5035e --- /dev/null +++ b/docs/cgi-examples/printenv @@ -0,0 +1,27 @@ +# + +# To permit this cgi, replace # on the first line above with the +# appropriate #!/path/to/perl shebang, and on Unix / Linux also +# set this script executable with chmod 755. +# +# ***** !!! WARNING !!! ***** +# This script echoes the server environment variables and therefore +# leaks information - so NEVER use it in a live server environment! +# It is provided only for testing purpose. +# Also note that it is subject to cross site scripting attacks on +# MS IE and any other browser which fails to honor RFC2616. + +## +## printenv -- demo CGI program which just prints its environment +## +use strict; +use warnings; + +print "Content-type: text/plain; charset=iso-8859-1\n\n"; +foreach my $var (sort(keys(%ENV))) { + my $val = $ENV{$var}; + $val =~ s|\n|\\n|g; + $val =~ s|"|\\"|g; + print "${var}=\"${val}\"\n"; +} + diff --git a/docs/cgi-examples/printenv.vbs b/docs/cgi-examples/printenv.vbs new file mode 100644 index 0000000..9336d43 --- /dev/null +++ b/docs/cgi-examples/printenv.vbs @@ -0,0 +1,32 @@ +' + +' To permit this cgi, replace ' on the first line above with the +' appropriate shebang, f.e. '!c:/windows/system32/cscript -nologo +' +' ***** !!! WARNING !!! ***** +' This script echoes the server environment variables and therefore +' leaks information - so NEVER use it in a live server environment! +' It is provided only for testing purpose. +' Also note that it is subject to cross site scripting attacks on +' MS IE and any other browser which fails to honor RFC2616. + +'' +'' printenv -- demo CGI program which just prints its environment +'' +Option Explicit + +Dim objShell, objArray, str, envvar, envval +Set objShell = CreateObject("WScript.Shell") +Set objArray = CreateObject("System.Collections.ArrayList") + +WScript.StdOut.WriteLine "Content-type: text/plain; charset=iso-8859-1" & vbLF +For Each str In objShell.Environment("PROCESS") + objArray.Add str +Next +objArray.Sort() +For Each str In objArray + envvar = Left(str, InStr(str, "=")) + envval = Replace(Mid(str, InStr(str, "=") + 1), vbLF, "\n") + WScript.StdOut.WriteLine envvar & Chr(34) & envval & Chr(34) +Next + diff --git a/docs/cgi-examples/printenv.wsf b/docs/cgi-examples/printenv.wsf new file mode 100644 index 0000000..d982eac --- /dev/null +++ b/docs/cgi-examples/printenv.wsf @@ -0,0 +1,33 @@ +' + +' To permit this cgi, replace ' on the first line above with the +' appropriate shebang, f.e. '!c:/windows/system32/cscript -nologo +' +' ***** !!! WARNING !!! ***** +' This script echoes the server environment variables and therefore +' leaks information - so NEVER use it in a live server environment! +' It is provided only for testing purpose. +' Also note that it is subject to cross site scripting attacks on +' MS IE and any other browser which fails to honor RFC2616. + +'' +'' printenv -- demo CGI program which just prints its environment +'' + + + + diff --git a/docs/cgi-examples/test-cgi b/docs/cgi-examples/test-cgi new file mode 100644 index 0000000..eb80f3e --- /dev/null +++ b/docs/cgi-examples/test-cgi @@ -0,0 +1,42 @@ +# + +# To permit this cgi, replace # on the first line above with the +# appropriate #!/path/to/sh shebang, and set this script executable +# with chmod 755. +# +# ***** !!! WARNING !!! ***** +# This script echoes the server environment variables and therefore +# leaks information - so NEVER use it in a live server environment! +# It is provided only for testing purpose. +# Also note that it is subject to cross site scripting attacks on +# MS IE and any other browser which fails to honor RFC2616. + +# disable filename globbing +set -f + +echo "Content-type: text/plain; charset=iso-8859-1" +echo + +echo CGI/1.0 test script report: +echo + +echo argc is $#. argv is "$*". +echo + +echo SERVER_SOFTWARE = $SERVER_SOFTWARE +echo SERVER_NAME = $SERVER_NAME +echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE +echo SERVER_PROTOCOL = $SERVER_PROTOCOL +echo SERVER_PORT = $SERVER_PORT +echo REQUEST_METHOD = $REQUEST_METHOD +echo HTTP_ACCEPT = "$HTTP_ACCEPT" +echo PATH_INFO = "$PATH_INFO" +echo PATH_TRANSLATED = "$PATH_TRANSLATED" +echo SCRIPT_NAME = "$SCRIPT_NAME" +echo QUERY_STRING = "$QUERY_STRING" +echo REMOTE_HOST = $REMOTE_HOST +echo REMOTE_ADDR = $REMOTE_ADDR +echo REMOTE_USER = $REMOTE_USER +echo AUTH_TYPE = $AUTH_TYPE +echo CONTENT_TYPE = $CONTENT_TYPE +echo CONTENT_LENGTH = $CONTENT_LENGTH diff --git a/docs/conf/charset.conv b/docs/conf/charset.conv new file mode 100644 index 0000000..3cd6fa9 --- /dev/null +++ b/docs/conf/charset.conv @@ -0,0 +1,55 @@ + +# Lang-abbv Charset Language +#--------------------------------- +en ISO-8859-1 English +UTF-8 utf8 UTF-8 +Unicode ucs Unicode +th Cp874 Thai +ja SJIS Japanese +ko Cp949 Korean +zh Cp950 Chinese-Traditional +zh-cn GB2312 Chinese-Simplified +zh-tw Cp950 Chinese +cs ISO-8859-2 Czech +hu ISO-8859-2 Hungarian +hr ISO-8859-2 Croation +pl ISO-8859-2 Polish +ro ISO-8859-2 Romanian +sr ISO-8859-2 Serbian +sk ISO-8859-2 Slovak +sl ISO-8859-2 Slovenian +sq ISO-8859-2 Albanian +bg ISO-8859-5 Bulgarian +be ISO-8859-5 Byelorussian +mk ISO-8859-5 Macedonian +ru ISO-8859-5 Russian +uk ISO-8859-5 Ukrainian +ca ISO-8859-1 Catalan +de ISO-8859-1 German +da ISO-8859-1 Danish +fi ISO-8859-1 Finnish +fr ISO-8859-1 French +es ISO-8859-1 Spanish +is ISO-8859-1 Icelandic +it ISO-8859-1 Italian +nl ISO-8859-1 Dutch +no ISO-8859-1 Norwegian +pt ISO-8859-1 Portuguese +sv ISO-8859-1 Swedish +af ISO-8859-1 Afrikaans +eu ISO-8859-1 Basque +fo ISO-8859-1 Faroese +gl ISO-8859-1 Galician +ga ISO-8859-1 Irish +gd ISO-8859-1 Scottish +mt ISO-8859-3 Maltese +eo ISO-8859-3 Esperanto +el ISO-8859-7 Greek +tr ISO-8859-9 Turkish +he ISO-8859-8 Hebrew +iw ISO-8859-8 Hebrew +ar ISO-8859-6 Arabic +et ISO-8859-1 Estonian +lv ISO-8859-2 Latvian +lt ISO-8859-2 Lithuanian + \ No newline at end of file diff --git a/docs/conf/extra/httpd-autoindex.conf.in b/docs/conf/extra/httpd-autoindex.conf.in new file mode 100644 index 0000000..51b02ed --- /dev/null +++ b/docs/conf/extra/httpd-autoindex.conf.in @@ -0,0 +1,93 @@ +# +# Directives controlling the display of server-generated directory listings. +# +# Required modules: mod_authz_core, mod_authz_host, +# mod_autoindex, mod_alias +# +# To see the listing of a directory, the Options directive for the +# directory must include "Indexes", and the directory must not contain +# a file matching those listed in the DirectoryIndex directive. +# + +# +# IndexOptions: Controls the appearance of server-generated directory +# listings. +# +IndexOptions FancyIndexing HTMLTable VersionSort + +# We include the /icons/ alias for FancyIndexed directory listings. If +# you do not use FancyIndexing, you may comment this out. +# +Alias /icons/ "@exp_iconsdir@/" + + + Options Indexes MultiViews + AllowOverride None + Require all granted + + +# +# AddIcon* directives tell the server which icon to show for different +# files or filename extensions. These are only displayed for +# FancyIndexed directories. +# +AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip + +AddIconByType (TXT,/icons/text.gif) text/* +AddIconByType (IMG,/icons/image2.gif) image/* +AddIconByType (SND,/icons/sound2.gif) audio/* +AddIconByType (VID,/icons/movie.gif) video/* + +AddIcon /icons/binary.gif .bin .exe +AddIcon /icons/binhex.gif .hqx +AddIcon /icons/tar.gif .tar +AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv +AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip +AddIcon /icons/a.gif .ps .ai .eps +AddIcon /icons/layout.gif .html .shtml .htm .pdf +AddIcon /icons/text.gif .txt +AddIcon /icons/c.gif .c +AddIcon /icons/p.gif .pl .py +AddIcon /icons/f.gif .for +AddIcon /icons/dvi.gif .dvi +AddIcon /icons/uuencoded.gif .uu +AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl +AddIcon /icons/tex.gif .tex +AddIcon /icons/bomb.gif core + +AddIcon /icons/back.gif .. +AddIcon /icons/hand.right.gif README +AddIcon /icons/folder.gif ^^DIRECTORY^^ +AddIcon /icons/blank.gif ^^BLANKICON^^ + +# +# DefaultIcon is which icon to show for files which do not have an icon +# explicitly set. +# +DefaultIcon /icons/unknown.gif + +# +# AddDescription allows you to place a short description after a file in +# server-generated indexes. These are only displayed for FancyIndexed +# directories. +# Format: AddDescription "description" filename +# +#AddDescription "GZIP compressed document" .gz +#AddDescription "tar archive" .tar +#AddDescription "GZIP compressed tar archive" .tgz + +# +# ReadmeName is the name of the README file the server will look for by +# default, and append to directory listings. +# +# HeaderName is the name of a file which should be prepended to +# directory indexes. +ReadmeName README.html +HeaderName HEADER.html + +# +# IndexIgnore is a set of filenames which directory indexing should ignore +# and not include in the listing. Shell-style wildcarding is permitted. +# +IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t + diff --git a/docs/conf/extra/httpd-dav.conf.in b/docs/conf/extra/httpd-dav.conf.in new file mode 100644 index 0000000..f1d35e0 --- /dev/null +++ b/docs/conf/extra/httpd-dav.conf.in @@ -0,0 +1,50 @@ +# +# Distributed authoring and versioning (WebDAV) +# +# Required modules: mod_alias, mod_auth_digest, mod_authn_core, mod_authn_file, +# mod_authz_core, mod_authz_user, mod_dav, mod_dav_fs, +# mod_setenvif + +# The following example gives DAV write access to a directory called +# "uploads" under the ServerRoot directory. +# +# The User/Group specified in httpd.conf needs to have write permissions +# on the directory where the DavLockDB is placed and on any directory where +# "Dav On" is specified. + +DavLockDB "@@ServerRoot@@/var/DavLock" + +Alias /uploads "@@ServerRoot@@/uploads" + + + Dav On + + AuthType Digest + AuthName DAV-upload + # You can use the htdigest program to create the password database: + # htdigest -c "@@ServerRoot@@/user.passwd" DAV-upload admin + AuthUserFile "@@ServerRoot@@/user.passwd" + AuthDigestProvider file + + # Allow universal read-access, but writes are restricted + # to the admin user. + + Require method GET POST OPTIONS + Require user admin + + + +# +# The following directives disable redirects on non-GET requests for +# a directory that does not include the trailing slash. This fixes a +# problem with several clients that do not appropriately handle +# redirects for folders with DAV methods. +# +BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully +BrowserMatch "MS FrontPage" redirect-carefully +BrowserMatch "^WebDrive" redirect-carefully +BrowserMatch "^WebDAVFS/1.[01234]" redirect-carefully +BrowserMatch "^gnome-vfs/1.0" redirect-carefully +BrowserMatch "^XML Spy" redirect-carefully +BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully +BrowserMatch " Konqueror/4" redirect-carefully diff --git a/docs/conf/extra/httpd-default.conf.in b/docs/conf/extra/httpd-default.conf.in new file mode 100644 index 0000000..7196922 --- /dev/null +++ b/docs/conf/extra/httpd-default.conf.in @@ -0,0 +1,90 @@ +# +# This configuration file reflects default settings for Apache HTTP Server. +# +# You may change these, but chances are that you may not need to. +# + +# +# Timeout: The number of seconds before receives and sends time out. +# +Timeout 60 + +# +# KeepAlive: Whether or not to allow persistent connections (more than +# one request per connection). Set to "Off" to deactivate. +# +KeepAlive On + +# +# MaxKeepAliveRequests: The maximum number of requests to allow +# during a persistent connection. Set to 0 to allow an unlimited amount. +# We recommend you leave this number high, for maximum performance. +# +MaxKeepAliveRequests 100 + +# +# KeepAliveTimeout: Number of seconds to wait for the next request from the +# same client on the same connection. +# +KeepAliveTimeout 5 + +# +# UseCanonicalName: Determines how Apache constructs self-referencing +# URLs and the SERVER_NAME and SERVER_PORT variables. +# When set "Off", Apache will use the Hostname and Port supplied +# by the client. When set "On", Apache will use the value of the +# ServerName directive. +# +UseCanonicalName Off + +# +# AccessFileName: The name of the file to look for in each directory +# for additional configuration directives. See also the AllowOverride +# directive. +# +AccessFileName .htaccess + +# +# ServerTokens +# This directive configures what you return as the Server HTTP response +# Header. The default is 'Full' which sends information about the OS-Type +# and compiled in modules. +# Set to one of: Full | OS | Minor | Minimal | Major | Prod +# where Full conveys the most information, and Prod the least. +# +ServerTokens Full + +# +# Optionally add a line containing the server version and virtual host +# name to server-generated pages (internal error documents, FTP directory +# listings, mod_status and mod_info output etc., but not CGI generated +# documents or custom error documents). +# Set to "EMail" to also include a mailto: link to the ServerAdmin. +# Set to one of: On | Off | EMail +# +ServerSignature Off + +# +# HostnameLookups: Log the names of clients or just their IP addresses +# e.g., www.apache.org (on) or 204.62.129.132 (off). +# The default is off because it'd be overall better for the net if people +# had to knowingly turn this feature on, since enabling it means that +# each client request will result in AT LEAST one lookup request to the +# nameserver. +# +HostnameLookups Off + +# +# Set a timeout for how long the client may take to send the request header +# and body. +# The default for the headers is header=20-40,MinRate=500, which means wait +# for the first byte of headers for 20 seconds. If some data arrives, +# increase the timeout corresponding to a data rate of 500 bytes/s, but not +# above 40 seconds. +# The default for the request body is body=20,MinRate=500, which is the same +# but has no upper limit for the timeout. +# To disable, set to header=0 body=0 +# + + RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 + diff --git a/docs/conf/extra/httpd-info.conf.in b/docs/conf/extra/httpd-info.conf.in new file mode 100644 index 0000000..5cfdf69 --- /dev/null +++ b/docs/conf/extra/httpd-info.conf.in @@ -0,0 +1,36 @@ +# +# Get information about the requests being processed by the server +# and the configuration of the server. +# +# Required modules: mod_authz_core, mod_authz_host, +# mod_info (for the server-info handler), +# mod_status (for the server-status handler) + +# +# Allow server status reports generated by mod_status, +# with the URL of http://servername/server-status +# Change the ".example.com" to match your domain to enable. + + + SetHandler server-status + Require host .example.com + Require ip 127 + + +# +# ExtendedStatus controls whether Apache will generate "full" status +# information (ExtendedStatus On) or just basic information (ExtendedStatus +# Off) when the "server-status" handler is called. The default is Off. +# +#ExtendedStatus On + +# +# Allow remote server configuration reports, with the URL of +# http://servername/server-info (requires that mod_info.c be loaded). +# Change the ".example.com" to match your domain to enable. +# + + SetHandler server-info + Require host .example.com + Require ip 127 + diff --git a/docs/conf/extra/httpd-languages.conf.in b/docs/conf/extra/httpd-languages.conf.in new file mode 100644 index 0000000..7f66461 --- /dev/null +++ b/docs/conf/extra/httpd-languages.conf.in @@ -0,0 +1,141 @@ +# +# Settings for hosting different languages. +# +# Required modules: mod_mime, mod_negotiation + +# DefaultLanguage and AddLanguage allows you to specify the language of +# a document. You can then use content negotiation to give a browser a +# file in a language the user can understand. +# +# Specify a default language. This means that all data +# going out without a specific language tag (see below) will +# be marked with this one. You probably do NOT want to set +# this unless you are sure it is correct for all cases. +# +# * It is generally better to not mark a page as +# * being a certain language than marking it with the wrong +# * language! +# +# DefaultLanguage nl +# +# Note 1: The suffix does not have to be the same as the language +# keyword --- those with documents in Polish (whose net-standard +# language code is pl) may wish to use "AddLanguage pl .po" to +# avoid the ambiguity with the common suffix for perl scripts. +# +# Note 2: The example entries below illustrate that in some cases +# the two character 'Language' abbreviation is not identical to +# the two character 'Country' code for its country, +# E.g. 'Danmark/dk' versus 'Danish/da'. +# +# Note 3: In the case of 'ltz' we violate the RFC by using a three char +# specifier. There is 'work in progress' to fix this and get +# the reference data for rfc1766 cleaned up. +# +# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl) +# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de) +# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja) +# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn) +# Norwegian (no) - Polish (pl) - Portugese (pt) +# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv) +# Turkish (tr) - Simplified Chinese (zh-CN) - Spanish (es) +# Traditional Chinese (zh-TW) +# +AddLanguage ca .ca +AddLanguage cs .cz .cs +AddLanguage da .dk +AddLanguage de .de +AddLanguage el .el +AddLanguage en .en +AddLanguage eo .eo +AddLanguage es .es +AddLanguage et .et +AddLanguage fr .fr +AddLanguage he .he +AddLanguage hr .hr +AddLanguage it .it +AddLanguage ja .ja +AddLanguage ko .ko +AddLanguage ltz .ltz +AddLanguage nl .nl +AddLanguage nn .nn +AddLanguage no .no +AddLanguage pl .po +AddLanguage pt .pt +AddLanguage pt-BR .pt-br +AddLanguage ru .ru +AddLanguage sv .sv +AddLanguage tr .tr +AddLanguage zh-CN .zh-cn +AddLanguage zh-TW .zh-tw + +# LanguagePriority allows you to give precedence to some languages +# in case of a tie during content negotiation. +# +# Just list the languages in decreasing order of preference. We have +# more or less alphabetized them here. You probably want to change this. +# +LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW + +# +# ForceLanguagePriority allows you to serve a result page rather than +# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback) +# [in case no accepted languages matched the available variants] +# +ForceLanguagePriority Prefer Fallback + +# +# Commonly used filename extensions to character sets. You probably +# want to avoid clashes with the language extensions, unless you +# are good at carefully testing your setup after each change. +# See http://www.iana.org/assignments/character-sets for the +# official list of charset names and their respective RFCs. +# +AddCharset us-ascii.ascii .us-ascii +AddCharset ISO-8859-1 .iso8859-1 .latin1 +AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen +AddCharset ISO-8859-3 .iso8859-3 .latin3 +AddCharset ISO-8859-4 .iso8859-4 .latin4 +AddCharset ISO-8859-5 .iso8859-5 .cyr .iso-ru +AddCharset ISO-8859-6 .iso8859-6 .arb .arabic +AddCharset ISO-8859-7 .iso8859-7 .grk .greek +AddCharset ISO-8859-8 .iso8859-8 .heb .hebrew +AddCharset ISO-8859-9 .iso8859-9 .latin5 .trk +AddCharset ISO-8859-10 .iso8859-10 .latin6 +AddCharset ISO-8859-13 .iso8859-13 +AddCharset ISO-8859-14 .iso8859-14 .latin8 +AddCharset ISO-8859-15 .iso8859-15 .latin9 +AddCharset ISO-8859-16 .iso8859-16 .latin10 +AddCharset ISO-2022-JP .iso2022-jp .jis +AddCharset ISO-2022-KR .iso2022-kr .kis +AddCharset ISO-2022-CN .iso2022-cn .cis +AddCharset Big5.Big5 .big5 .b5 +AddCharset cn-Big5 .cn-big5 +# For russian, more than one charset is used (depends on client, mostly): +AddCharset WINDOWS-1251 .cp-1251 .win-1251 +AddCharset CP866 .cp866 +AddCharset KOI8 .koi8 +AddCharset KOI8-E .koi8-e +AddCharset KOI8-r .koi8-r .koi8-ru +AddCharset KOI8-U .koi8-u +AddCharset KOI8-ru .koi8-uk .ua +AddCharset ISO-10646-UCS-2 .ucs2 +AddCharset ISO-10646-UCS-4 .ucs4 +AddCharset UTF-7 .utf7 +AddCharset UTF-8 .utf8 +AddCharset UTF-16 .utf16 +AddCharset UTF-16BE .utf16be +AddCharset UTF-16LE .utf16le +AddCharset UTF-32 .utf32 +AddCharset UTF-32BE .utf32be +AddCharset UTF-32LE .utf32le +AddCharset euc-cn .euc-cn +AddCharset euc-gb .euc-gb +AddCharset euc-jp .euc-jp +AddCharset euc-kr .euc-kr +#Not sure how euc-tw got in - IANA doesn't list it??? +AddCharset EUC-TW .euc-tw +AddCharset gb2312 .gb2312 .gb +AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2 +AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4 +AddCharset shift_jis .shift_jis .sjis diff --git a/docs/conf/extra/httpd-manual.conf.in b/docs/conf/extra/httpd-manual.conf.in new file mode 100644 index 0000000..e8222a9 --- /dev/null +++ b/docs/conf/extra/httpd-manual.conf.in @@ -0,0 +1,38 @@ +# +# Provide access to the documentation on your server as +# http://yourserver.example.com/manual/ +# The documentation is always available at +# http://httpd.apache.org/docs/2.4/ +# +# Required modules: mod_alias, mod_authz_core, mod_authz_host, +# mod_setenvif, mod_negotiation +# + +AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "@exp_manualdir@$1" + + + Options Indexes + AllowOverride None + Require all granted + + + SetHandler type-map + + + # .tr is text/troff in mime.types! + RemoveType tr + + # Traditionally, used .dk filename extension for da language + AddLanguage da .da + + SetEnvIf Request_URI ^/manual/(da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn)/ prefer-language=$1 + RedirectMatch 301 ^/manual(?:/(da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn)){2,}(/.*)?$ /manual/$1$2 + + # Reflect the greatest effort in translation (most content available), + # inferring greater attention to detail (potentially false assumption, + # counting translations presently in-sync would be more helpful.) + # Use caution counting; safest pattern is '*.xml.XX'. Recent .xml source + # document count: 266 214 110 94 82 25 22 18 4 1 1 + LanguagePriority en fr ko ja tr es de zh-cn pt-br da ru + ForceLanguagePriority Prefer Fallback + diff --git a/docs/conf/extra/httpd-mpm.conf.in b/docs/conf/extra/httpd-mpm.conf.in new file mode 100644 index 0000000..bf29faf --- /dev/null +++ b/docs/conf/extra/httpd-mpm.conf.in @@ -0,0 +1,119 @@ +# +# Server-Pool Management (MPM specific) +# + +# +# PidFile: The file in which the server should record its process +# identification number when it starts. +# +# Note that this is the default PidFile for most MPMs. +# + + PidFile "@rel_runtimedir@/httpd.pid" + + +# +# Only one of the below sections will be relevant on your +# installed httpd. Use "apachectl -l" to find out the +# active mpm. +# + +# prefork MPM +# StartServers: number of server processes to start +# MinSpareServers: minimum number of server processes which are kept spare +# MaxSpareServers: maximum number of server processes which are kept spare +# MaxRequestWorkers: maximum number of server processes allowed to start +# MaxConnectionsPerChild: maximum number of connections a server process serves +# before terminating + + StartServers 5 + MinSpareServers 5 + MaxSpareServers 10 + MaxRequestWorkers 250 + MaxConnectionsPerChild 0 + + +# worker MPM +# StartServers: initial number of server processes to start +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# ThreadsPerChild: constant number of worker threads in each server process +# MaxRequestWorkers: maximum number of worker threads +# MaxConnectionsPerChild: maximum number of connections a server process serves +# before terminating + + StartServers 3 + MinSpareThreads 75 + MaxSpareThreads 250 + ThreadsPerChild 25 + MaxRequestWorkers 400 + MaxConnectionsPerChild 0 + + +# event MPM +# StartServers: initial number of server processes to start +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# ThreadsPerChild: constant number of worker threads in each server process +# MaxRequestWorkers: maximum number of worker threads +# MaxConnectionsPerChild: maximum number of connections a server process serves +# before terminating + + StartServers 3 + MinSpareThreads 75 + MaxSpareThreads 250 + ThreadsPerChild 25 + MaxRequestWorkers 400 + MaxConnectionsPerChild 0 + + +# NetWare MPM +# ThreadStackSize: Stack size allocated for each worker thread +# StartThreads: Number of worker threads launched at server startup +# MinSpareThreads: Minimum number of idle threads, to handle request spikes +# MaxSpareThreads: Maximum number of idle threads +# MaxThreads: Maximum number of worker threads alive at the same time +# MaxConnectionsPerChild: Maximum number of connections a thread serves. It +# is recommended that the default value of 0 be set +# for this directive on NetWare. This will allow the +# thread to continue to service requests indefinitely. + + ThreadStackSize 65536 + StartThreads 250 + MinSpareThreads 25 + MaxSpareThreads 250 + MaxThreads 1000 + MaxConnectionsPerChild 0 + + +# OS/2 MPM +# StartServers: Number of server processes to maintain +# MinSpareThreads: Minimum number of idle threads per process, +# to handle request spikes +# MaxSpareThreads: Maximum number of idle threads per process +# MaxConnectionsPerChild: Maximum number of connections per server process + + StartServers 2 + MinSpareThreads 5 + MaxSpareThreads 10 + MaxConnectionsPerChild 0 + + +# WinNT MPM +# ThreadsPerChild: constant number of worker threads in the server process +# MaxConnectionsPerChild: maximum number of connections a server process serves + + ThreadsPerChild 150 + MaxConnectionsPerChild 0 + + +# The maximum number of free Kbytes that every allocator is allowed +# to hold without calling free(). In threaded MPMs, every thread has its own +# allocator. When not set, or when set to zero, the threshold will be set to +# unlimited. + + MaxMemFree 2048 + + + MaxMemFree 100 + diff --git a/docs/conf/extra/httpd-multilang-errordoc.conf.in b/docs/conf/extra/httpd-multilang-errordoc.conf.in new file mode 100644 index 0000000..3da3bf2 --- /dev/null +++ b/docs/conf/extra/httpd-multilang-errordoc.conf.in @@ -0,0 +1,52 @@ +# +# The configuration below implements multi-language error documents through +# content-negotiation. +# +# Required modules: mod_alias, mod_authz_core, mod_authz_host, +# mod_include, mod_negotiation +# +# We use Alias to redirect any /error/HTTP_.html.var response to +# our collection of by-error message multi-language collections. We use +# includes to substitute the appropriate text. +# +# You can modify the messages' appearance without changing any of the +# default HTTP_.html.var files by adding the line: +# +# Alias /error/include/ "/your/include/path/" +# +# which allows you to create your own set of files by starting with the +# @exp_errordir@/include/ files and copying them to /your/include/path/, +# even on a per-VirtualHost basis. The default include files will display +# your Apache version number and your ServerAdmin email address regardless +# of the setting of ServerSignature. + +Alias /error/ "@exp_errordir@/" + + + AllowOverride None + Options IncludesNoExec + AddOutputFilter Includes html + AddHandler type-map var + Require all granted + LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr + ForceLanguagePriority Prefer Fallback + + +ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var +ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var +ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var +ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var +ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var +ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var +ErrorDocument 410 /error/HTTP_GONE.html.var +ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var +ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var +ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var +ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var +ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var +ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var +ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var +ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var +ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var +ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var + diff --git a/docs/conf/extra/httpd-ssl.conf.in b/docs/conf/extra/httpd-ssl.conf.in new file mode 100644 index 0000000..6a3c67a --- /dev/null +++ b/docs/conf/extra/httpd-ssl.conf.in @@ -0,0 +1,290 @@ +# +# This is the Apache server configuration file providing SSL support. +# It contains the configuration directives to instruct the server how to +# serve pages over an https connection. For detailed information about these +# directives see +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# Required modules: mod_log_config, mod_setenvif, mod_ssl, +# socache_shmcb_module (for default value of SSLSessionCache) + +# +# Pseudo Random Number Generator (PRNG): +# Configure one or more sources to seed the PRNG of the SSL library. +# The seed data should be of good random quality. +# WARNING! On some platforms /dev/random blocks if not enough entropy +# is available. This means you then cannot use the /dev/random device +# because it would lead to very long connection times (as long as +# it requires to make more entropy available). But usually those +# platforms additionally provide a /dev/urandom device which doesn't +# block. So, if available, use this one instead. Read the mod_ssl User +# Manual for more details. +# +#SSLRandomSeed startup file:/dev/random 512 +#SSLRandomSeed startup file:/dev/urandom 512 +#SSLRandomSeed connect file:/dev/random 512 +#SSLRandomSeed connect file:/dev/urandom 512 + + +# +# When we also provide SSL we have to listen to the +# standard HTTP port (see above) and to the HTTPS port +# +Listen @@SSLPort@@ + +## +## SSL Global Context +## +## All SSL configuration in this context applies both to +## the main server and all SSL-enabled virtual hosts. +## + +# SSL Cipher Suite: +# List the ciphers that the client is permitted to negotiate, +# and that httpd will negotiate as the client of a proxied server. +# See the OpenSSL documentation for a complete list of ciphers, and +# ensure these follow appropriate best practices for this deployment. +# httpd 2.2.30, 2.4.13 and later force-disable aNULL, eNULL and EXP ciphers, +# while OpenSSL disabled these by default in 0.9.8zf/1.0.0r/1.0.1m/1.0.2a. +SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES +SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES + +# By the end of 2016, only TLSv1.2 ciphers should remain in use. +# Older ciphers should be disallowed as soon as possible, while the +# kRSA ciphers do not offer forward secrecy. These changes inhibit +# older clients (such as IE6 SP2 or IE8 on Windows XP, or other legacy +# non-browser tooling) from successfully connecting. +# +# To restrict mod_ssl to use only TLSv1.2 ciphers, and disable +# those protocols which do not support forward secrecy, replace +# the SSLCipherSuite and SSLProxyCipherSuite directives above with +# the following two directives, as soon as practical. +# SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA +# SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA + +# User agents such as web browsers are not configured for the user's +# own preference of either security or performance, therefore this +# must be the prerogative of the web server administrator who manages +# cpu load versus confidentiality, so enforce the server's cipher order. +SSLHonorCipherOrder on + +# SSL Protocol support: +# List the protocol versions which clients are allowed to connect with. +# Disable SSLv3 by default (cf. RFC 7525 3.1.1). TLSv1 (1.0) should be +# disabled as quickly as practical. By the end of 2016, only the TLSv1.2 +# protocol or later should remain in use. +SSLProtocol all -SSLv3 +SSLProxyProtocol all -SSLv3 + +# Pass Phrase Dialog: +# Configure the pass phrase gathering process. +# The filtering dialog program (`builtin' is an internal +# terminal dialog) has to provide the pass phrase on stdout. +SSLPassPhraseDialog builtin + +# Inter-Process Session Cache: +# Configure the SSL Session Cache: First the mechanism +# to use and second the expiring timeout (in seconds). +#SSLSessionCache "dbm:@exp_runtimedir@/ssl_scache" +SSLSessionCache "shmcb:@exp_runtimedir@/ssl_scache(512000)" +SSLSessionCacheTimeout 300 + +# OCSP Stapling (requires OpenSSL 0.9.8h or later) +# +# This feature is disabled by default and requires at least +# the two directives SSLUseStapling and SSLStaplingCache. +# Refer to the documentation on OCSP Stapling in the SSL/TLS +# How-To for more information. +# +# Enable stapling for all SSL-enabled servers: +#SSLUseStapling On + +# Define a relatively small cache for OCSP Stapling using +# the same mechanism that is used for the SSL session cache +# above. If stapling is used with more than a few certificates, +# the size may need to be increased. (AH01929 will be logged.) +#SSLStaplingCache "shmcb:@exp_runtimedir@/ssl_stapling(32768)" + +# Seconds before valid OCSP responses are expired from the cache +#SSLStaplingStandardCacheTimeout 3600 + +# Seconds before invalid OCSP responses are expired from the cache +#SSLStaplingErrorCacheTimeout 600 + +## +## SSL Virtual Host Context +## + + + +# General setup for the virtual host +DocumentRoot "@exp_htdocsdir@" +ServerName www.example.com:@@SSLPort@@ +ServerAdmin you@example.com +ErrorLog "@exp_logfiledir@/error_log" +TransferLog "@exp_logfiledir@/access_log" + +# SSL Engine Switch: +# Enable/Disable SSL for this virtual host. +SSLEngine on + +# Server Certificate: +# Point SSLCertificateFile at a PEM encoded certificate. If +# the certificate is encrypted, then you will be prompted for a +# pass phrase. Note that a kill -HUP will prompt again. Keep +# in mind that if you have both an RSA and a DSA certificate you +# can configure both in parallel (to also allow the use of DSA +# ciphers, etc.) +# Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt) +# require an ECC certificate which can also be configured in +# parallel. +SSLCertificateFile "@exp_sysconfdir@/server.crt" +#SSLCertificateFile "@exp_sysconfdir@/server-dsa.crt" +#SSLCertificateFile "@exp_sysconfdir@/server-ecc.crt" + +# Server Private Key: +# If the key is not combined with the certificate, use this +# directive to point at the key file. Keep in mind that if +# you've both a RSA and a DSA private key you can configure +# both in parallel (to also allow the use of DSA ciphers, etc.) +# ECC keys, when in use, can also be configured in parallel +SSLCertificateKeyFile "@exp_sysconfdir@/server.key" +#SSLCertificateKeyFile "@exp_sysconfdir@/server-dsa.key" +#SSLCertificateKeyFile "@exp_sysconfdir@/server-ecc.key" + +# Server Certificate Chain: +# Point SSLCertificateChainFile at a file containing the +# concatenation of PEM encoded CA certificates which form the +# certificate chain for the server certificate. Alternatively +# the referenced file can be the same as SSLCertificateFile +# when the CA certificates are directly appended to the server +# certificate for convenience. +#SSLCertificateChainFile "@exp_sysconfdir@/server-ca.crt" + +# Certificate Authority (CA): +# Set the CA certificate verification path where to find CA +# certificates for client authentication or alternatively one +# huge file containing all of them (file must be PEM encoded) +# Note: Inside SSLCACertificatePath you need hash symlinks +# to point to the certificate files. Use the provided +# Makefile to update the hash symlinks after changes. +#SSLCACertificatePath "@exp_sysconfdir@/ssl.crt" +#SSLCACertificateFile "@exp_sysconfdir@/ssl.crt/ca-bundle.crt" + +# Certificate Revocation Lists (CRL): +# Set the CA revocation path where to find CA CRLs for client +# authentication or alternatively one huge file containing all +# of them (file must be PEM encoded). +# The CRL checking mode needs to be configured explicitly +# through SSLCARevocationCheck (defaults to "none" otherwise). +# Note: Inside SSLCARevocationPath you need hash symlinks +# to point to the certificate files. Use the provided +# Makefile to update the hash symlinks after changes. +#SSLCARevocationPath "@exp_sysconfdir@/ssl.crl" +#SSLCARevocationFile "@exp_sysconfdir@/ssl.crl/ca-bundle.crl" +#SSLCARevocationCheck chain + +# Client Authentication (Type): +# Client certificate verification type and depth. Types are +# none, optional, require and optional_no_ca. Depth is a +# number which specifies how deeply to verify the certificate +# issuer chain before deciding the certificate is not valid. +#SSLVerifyClient require +#SSLVerifyDepth 10 + +# TLS-SRP mutual authentication: +# Enable TLS-SRP and set the path to the OpenSSL SRP verifier +# file (containing login information for SRP user accounts). +# Requires OpenSSL 1.0.1 or newer. See the mod_ssl FAQ for +# detailed instructions on creating this file. Example: +# "openssl srp -srpvfile @exp_sysconfdir@/passwd.srpv -add username" +#SSLSRPVerifierFile "@exp_sysconfdir@/passwd.srpv" + +# Access Control: +# With SSLRequire you can do per-directory access control based +# on arbitrary complex boolean expressions containing server +# variable checks and other lookup directives. The syntax is a +# mixture between C and Perl. See the mod_ssl documentation +# for more details. +# +#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ +# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ +# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ +# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ +# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ +# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ +# + +# SSL Engine Options: +# Set various options for the SSL engine. +# o FakeBasicAuth: +# Translate the client X.509 into a Basic Authorisation. This means that +# the standard Auth/DBMAuth methods can be used for access control. The +# user name is the `one line' version of the client's X.509 certificate. +# Note that no password is obtained from the user. Every entry in the user +# file needs this password: `xxj31ZMTZzkVA'. +# o ExportCertData: +# This exports two additional environment variables: SSL_CLIENT_CERT and +# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the +# server (always existing) and the client (only existing when client +# authentication is used). This can be used to import the certificates +# into CGI scripts. +# o StdEnvVars: +# This exports the standard SSL/TLS related `SSL_*' environment variables. +# Per default this exportation is switched off for performance reasons, +# because the extraction step is an expensive operation and is usually +# useless for serving static content. So one usually enables the +# exportation for CGI and SSI requests only. +# o StrictRequire: +# This denies access when "SSLRequireSSL" or "SSLRequire" applied even +# under a "Satisfy any" situation, i.e. when it applies access is denied +# and no other module can change it. +# o OptRenegotiate: +# This enables optimized SSL connection renegotiation handling when SSL +# directives are used in per-directory context. +#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire + + SSLOptions +StdEnvVars + + + SSLOptions +StdEnvVars + + +# SSL Protocol Adjustments: +# The safe and default but still SSL/TLS standard compliant shutdown +# approach is that mod_ssl sends the close notify alert but doesn't wait for +# the close notify alert from client. When you need a different shutdown +# approach you can use one of the following variables: +# o ssl-unclean-shutdown: +# This forces an unclean shutdown when the connection is closed, i.e. no +# SSL close notify alert is sent or allowed to be received. This violates +# the SSL/TLS standard but is needed for some brain-dead browsers. Use +# this when you receive I/O errors because of the standard approach where +# mod_ssl sends the close notify alert. +# o ssl-accurate-shutdown: +# This forces an accurate shutdown when the connection is closed, i.e. a +# SSL close notify alert is send and mod_ssl waits for the close notify +# alert of the client. This is 100% SSL/TLS standard compliant, but in +# practice often causes hanging connections with brain-dead browsers. Use +# this only for browsers where you know that their SSL implementation +# works correctly. +# Notice: Most problems of broken clients are also related to the HTTP +# keep-alive facility, so you usually additionally want to disable +# keep-alive for those clients, too. Use variable "nokeepalive" for this. +# Similarly, one has to force some clients to use HTTP/1.0 to workaround +# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and +# "force-response-1.0" for this. +BrowserMatch "MSIE [2-5]" \ + nokeepalive ssl-unclean-shutdown \ + downgrade-1.0 force-response-1.0 + +# Per-Server Logging: +# The home of a custom SSL log file. Use this when you want a +# compact non-error SSL logfile on a virtual host basis. +CustomLog "@exp_logfiledir@/ssl_request_log" \ + "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" + + diff --git a/docs/conf/extra/httpd-userdir.conf.in b/docs/conf/extra/httpd-userdir.conf.in new file mode 100644 index 0000000..a744322 --- /dev/null +++ b/docs/conf/extra/httpd-userdir.conf.in @@ -0,0 +1,21 @@ +# Settings for user home directories +# +# Required module: mod_authz_core, mod_authz_host, mod_userdir + +# +# UserDir: The name of the directory that is appended onto a user's home +# directory if a ~user request is received. Note that you must also set +# the default access control for these directories, as in the example below. +# +UserDir public_html + +# +# Control access to UserDir directories. The following is an example +# for a site where these directories are restricted to read-only. +# + + AllowOverride FileInfo AuthConfig Limit Indexes + Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec + Require method GET POST OPTIONS + + diff --git a/docs/conf/extra/httpd-vhosts.conf.in b/docs/conf/extra/httpd-vhosts.conf.in new file mode 100644 index 0000000..fbd2df4 --- /dev/null +++ b/docs/conf/extra/httpd-vhosts.conf.in @@ -0,0 +1,41 @@ +# Virtual Hosts +# +# Required modules: mod_log_config + +# If you want to maintain multiple domains/hostnames on your +# machine you can setup VirtualHost containers for them. Most configurations +# use only name-based virtual hosts so the server doesn't need to worry about +# IP addresses. This is indicated by the asterisks in the directives below. +# +# Please see the documentation at +# +# for further details before you try to setup virtual hosts. +# +# You may use the command line option '-S' to verify your virtual host +# configuration. + +# +# VirtualHost example: +# Almost any Apache directive may go into a VirtualHost container. +# The first VirtualHost section is used for all requests that do not +# match a ServerName or ServerAlias in any block. +# + + ServerAdmin webmaster@dummy-host.example.com + DocumentRoot "@@ServerRoot@@/docs/dummy-host.example.com" + ServerName dummy-host.example.com + ServerAlias www.dummy-host.example.com + ErrorLog "@rel_logfiledir@/dummy-host.example.com-error_log" + CustomLog "@rel_logfiledir@/dummy-host.example.com-access_log" common + + + + ServerAdmin webmaster@dummy-host2.example.com + DocumentRoot "@@ServerRoot@@/docs/dummy-host2.example.com" + ServerName dummy-host2.example.com + ErrorLog "@rel_logfiledir@/dummy-host2.example.com-error_log" + CustomLog "@rel_logfiledir@/dummy-host2.example.com-access_log" common + + + + diff --git a/docs/conf/extra/proxy-html.conf.in b/docs/conf/extra/proxy-html.conf.in new file mode 100644 index 0000000..683a091 --- /dev/null +++ b/docs/conf/extra/proxy-html.conf.in @@ -0,0 +1,90 @@ +# Configuration example. +# +# For detailed information about these directives see +# +# and for mod_xml2enc see +# +# +# First, to load the module with its prerequisites. Note: mod_xml2enc +# is not always necessary, but without it mod_proxy_html is likely to +# mangle pages in encodings other than ASCII or Unicode (utf-8). +# +# For Unix-family systems: +# LoadFile /usr/lib/libxml2.so +# LoadModule proxy_html_module modules/mod_proxy_html.so +# LoadModule xml2enc_module modules/mod_xml2enc.so +# +# For Windows (I don't know if there's a standard path for the libraries) +# LoadFile C:/path/zlib.dll +# LoadFile C:/path/iconv.dll +# LoadFile C:/path/libxml2.dll +# LoadModule proxy_html_module modules/mod_proxy_html.so +# LoadModule xml2enc_module modules/mod_xml2enc.so +# +# All knowledge of HTML links has been removed from the mod_proxy_html +# code itself, and is instead read from httpd.conf (or included file) +# at server startup. So you MUST declare it. This will normally be +# at top level, but can also be used in a . +# +# Here's the declaration for W3C HTML 4.01 and XHTML 1.0 + +ProxyHTMLLinks a href +ProxyHTMLLinks area href +ProxyHTMLLinks link href +ProxyHTMLLinks img src longdesc usemap +ProxyHTMLLinks object classid codebase data usemap +ProxyHTMLLinks q cite +ProxyHTMLLinks blockquote cite +ProxyHTMLLinks ins cite +ProxyHTMLLinks del cite +ProxyHTMLLinks form action +ProxyHTMLLinks input src usemap +ProxyHTMLLinks head profile +ProxyHTMLLinks base href +ProxyHTMLLinks script src for + +# To support scripting events (with ProxyHTMLExtended On), +# you'll need to declare them too. + +ProxyHTMLEvents onclick ondblclick onmousedown onmouseup \ + onmouseover onmousemove onmouseout onkeypress \ + onkeydown onkeyup onfocus onblur onload \ + onunload onsubmit onreset onselect onchange + +# If you need to support legacy (pre-1998, aka "transitional") HTML or XHTML, +# you'll need to uncomment the following deprecated link attributes. +# Note that these are enabled in earlier mod_proxy_html versions +# +# ProxyHTMLLinks frame src longdesc +# ProxyHTMLLinks iframe src longdesc +# ProxyHTMLLinks body background +# ProxyHTMLLinks applet codebase +# +# If you're dealing with proprietary HTML variants, +# declare your own URL attributes here as required. +# +# ProxyHTMLLinks myelement myattr otherattr +# +########### +# EXAMPLE # +########### +# +# To define the URL /my-gateway/ as a gateway to an appserver with address +# http://some.app.intranet/ on a private network, after loading the +# modules and including this configuration file: +# +# ProxyRequests Off <-- this is an important security setting +# ProxyPass /my-gateway/ http://some.app.intranet/ +# +# ProxyPassReverse / +# ProxyHTMLEnable On +# ProxyHTMLURLMap http://some.app.intranet/ /my-gateway/ +# ProxyHTMLURLMap / /my-gateway/ +# +# +# Many (though not all) real-life setups are more complex. +# +# See the documentation at +# http://apache.webthing.com/mod_proxy_html/ +# and the tutorial at +# http://www.apachetutor.org/admin/reverseproxies diff --git a/docs/conf/httpd.conf.in b/docs/conf/httpd.conf.in new file mode 100644 index 0000000..37d7c0b --- /dev/null +++ b/docs/conf/httpd.conf.in @@ -0,0 +1,418 @@ +# +# This is the main Apache HTTP server configuration file. It contains the +# configuration directives that give the server its instructions. +# See for detailed information. +# In particular, see +# +# for a discussion of each configuration directive. +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# Configuration and logfile names: If the filenames you specify for many +# of the server's control files begin with "/" (or "drive:/" for Win32), the +# server will use that explicit path. If the filenames do *not* begin +# with "/", the value of ServerRoot is prepended -- so "logs/access_log" +# with ServerRoot set to "/usr/local/apache2" will be interpreted by the +# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" +# will be interpreted as '/logs/access_log'. + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# Do not add a slash at the end of the directory path. If you point +# ServerRoot at a non-local disk, be sure to specify a local disk on the +# Mutex directive, if file-based mutexes are used. If you wish to share the +# same ServerRoot for multiple httpd daemons, you will need to change at +# least PidFile. +# +ServerRoot "@@ServerRoot@@" + +# +# Mutex: Allows you to set the mutex mechanism and mutex file directory +# for individual mutexes, or change the global defaults +# +# Uncomment and change the directory if mutexes are file-based and the default +# mutex file directory is not on a local disk or is not appropriate for some +# other reason. +# +# Mutex default:@rel_runtimedir@ + +# +# Listen: Allows you to bind Apache to specific IP addresses and/or +# ports, instead of the default. See also the +# directive. +# +# Change this to Listen on specific IP addresses as shown below to +# prevent Apache from glomming onto all bound IP addresses. +# +#Listen 12.34.56.78:80 +Listen @@Port@@ + +# +# Dynamic Shared Object (DSO) Support +# +# To be able to use the functionality of a module which was built as a DSO you +# have to place corresponding `LoadModule' lines at this location so the +# directives contained in it are actually available _before_ they are used. +# Statically compiled modules (those listed by `httpd -l') do not need +# to be loaded here. +# +# Example: +# LoadModule foo_module modules/mod_foo.so +# +@@LoadModule@@ + + +# +# If you wish httpd to run as a different user or group, you must run +# httpd as root initially and it will switch. +# +# User/Group: The name (or #number) of the user/group to run httpd as. +# It is usually good practice to create a dedicated user and group for +# running httpd, as with most system services. +# +User daemon +Group daemon + + + +# 'Main' server configuration +# +# The directives in this section set up the values used by the 'main' +# server, which responds to any requests that aren't handled by a +# definition. These values also provide defaults for +# any containers you may define later in the file. +# +# All of these directives may appear inside containers, +# in which case these default settings will be overridden for the +# virtual host being defined. +# + +# +# ServerAdmin: Your address, where problems with the server should be +# e-mailed. This address appears on some server-generated pages, such +# as error documents. e.g. admin@your-domain.com +# +ServerAdmin you@example.com + +# +# ServerName gives the name and port that the server uses to identify itself. +# This can often be determined automatically, but we recommend you specify +# it explicitly to prevent problems during startup. +# +# If your host doesn't have a registered DNS name, enter its IP address here. +# +#ServerName www.example.com:@@Port@@ + +# +# Deny access to the entirety of your server's filesystem. You must +# explicitly permit access to web content directories in other +# blocks below. +# + + AllowOverride none + Require all denied + + +# +# Note that from this point forward you must specifically allow +# particular features to be enabled - so if something's not working as +# you might expect, make sure that you have specifically enabled it +# below. +# + +# +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# +DocumentRoot "@exp_htdocsdir@" + + # + # Possible values for the Options directive are "None", "All", + # or any combination of: + # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews + # + # Note that "MultiViews" must be named *explicitly* --- "Options All" + # doesn't give it to you. + # + # The Options directive is both complicated and important. Please see + # http://httpd.apache.org/docs/2.4/mod/core.html#options + # for more information. + # + Options Indexes FollowSymLinks + + # + # AllowOverride controls what directives may be placed in .htaccess files. + # It can be "All", "None", or any combination of the keywords: + # AllowOverride FileInfo AuthConfig Limit + # + AllowOverride None + + # + # Controls who can get stuff from this server. + # + Require all granted + + +# +# DirectoryIndex: sets the file that Apache will serve if a directory +# is requested. +# + + DirectoryIndex index.html + + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# + + Require all denied + + +# +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a +# container, that host's errors will be logged there and not here. +# +ErrorLog "@rel_logfiledir@/error_log" + +# +# LogLevel: Control the number of messages logged to the error_log. +# Possible values include: debug, info, notice, warn, error, crit, +# alert, emerg. +# +LogLevel warn + + + # + # The following directives define some format nicknames for use with + # a CustomLog directive (see below). + # + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + + # You need to enable mod_logio.c to use %I and %O + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + + + # + # The location and format of the access logfile (Common Logfile Format). + # If you do not define any access logfiles within a + # container, they will be logged here. Contrariwise, if you *do* + # define per- access logfiles, transactions will be + # logged therein and *not* in this file. + # + CustomLog "@rel_logfiledir@/access_log" common + + # + # If you prefer a logfile with access, agent, and referer information + # (Combined Logfile Format) you can use the following directive. + # + #CustomLog "@rel_logfiledir@/access_log" combined + + + + # + # Redirect: Allows you to tell clients about documents that used to + # exist in your server's namespace, but do not anymore. The client + # will make a new request for the document at its new location. + # Example: + # Redirect permanent /foo http://www.example.com/bar + + # + # Alias: Maps web paths into filesystem paths and is used to + # access content that does not live under the DocumentRoot. + # Example: + # Alias /webpath /full/filesystem/path + # + # If you include a trailing / on /webpath then the server will + # require it to be present in the URL. You will also likely + # need to provide a section to allow access to + # the filesystem path. + + # + # ScriptAlias: This controls which directories contain server scripts. + # ScriptAliases are essentially the same as Aliases, except that + # documents in the target directory are treated as applications and + # run by the server when requested rather than as documents sent to the + # client. The same rules about trailing "/" apply to ScriptAlias + # directives as to Alias. + # + ScriptAlias /cgi-bin/ "@exp_cgidir@/" + + + + + # + # ScriptSock: On threaded servers, designate the path to the UNIX + # socket used to communicate with the CGI daemon of mod_cgid. + # + #Scriptsock cgisock + + +# +# "@exp_cgidir@" should be changed to whatever your ScriptAliased +# CGI directory exists, if you have that configured. +# + + AllowOverride None + Options None + Require all granted + + + + # + # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied + # backend servers which have lingering "httpoxy" defects. + # 'Proxy' request header is undefined by the IETF, not listed by IANA + # + RequestHeader unset Proxy early + + + + # + # TypesConfig points to the file containing the list of mappings from + # filename extension to MIME-type. + # + TypesConfig @rel_sysconfdir@/mime.types + + # + # AddType allows you to add to or override the MIME configuration + # file specified in TypesConfig for specific file types. + # + #AddType application/x-gzip .tgz + # + # AddEncoding allows you to have certain browsers uncompress + # information on the fly. Note: Not all browsers support this. + # + #AddEncoding x-compress .Z + #AddEncoding x-gzip .gz .tgz + # + # If the AddEncoding directives above are commented-out, then you + # probably should define those extensions to indicate media types: + # + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + + # + # AddHandler allows you to map certain file extensions to "handlers": + # actions unrelated to filetype. These can be either built into the server + # or added with the Action directive (see below) + # + # To use CGI scripts outside of ScriptAliased directories: + # (You will also need to add "ExecCGI" to the "Options" directive.) + # + #AddHandler cgi-script .cgi + + # For type maps (negotiated resources): + #AddHandler type-map var + + # + # Filters allow you to process content before it is sent to the client. + # + # To parse .shtml files for server-side includes (SSI): + # (You will also need to add "Includes" to the "Options" directive.) + # + #AddType text/html .shtml + #AddOutputFilter INCLUDES .shtml + + +# +# The mod_mime_magic module allows the server to use various hints from the +# contents of the file itself to determine its type. The MIMEMagicFile +# directive tells the module where the hint definitions are located. +# +#MIMEMagicFile @rel_sysconfdir@/magic + +# +# Customizable error responses come in three flavors: +# 1) plain text 2) local redirects 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://www.example.com/subscription_info.html +# + +# +# MaxRanges: Maximum number of Ranges in a request before +# returning the entire resource, or one of the special +# values 'default', 'none' or 'unlimited'. +# Default setting is to accept 200 Ranges. +#MaxRanges unlimited + +# +# EnableMMAP and EnableSendfile: On systems that support it, +# memory-mapping or the sendfile syscall may be used to deliver +# files. This usually improves server performance, but must +# be turned off when serving from networked-mounted +# filesystems or if support for these functions is otherwise +# broken on your system. +# Defaults: EnableMMAP On, EnableSendfile Off +# +#EnableMMAP off +#EnableSendfile on + +# Supplemental configuration +# +# The configuration files in the @rel_sysconfdir@/extra/ directory can be +# included to add extra features or to modify the default configuration of +# the server, or you may simply copy their contents here and change as +# necessary. + +# Server-pool management (MPM specific) +#Include @rel_sysconfdir@/extra/httpd-mpm.conf + +# Multi-language error messages +#Include @rel_sysconfdir@/extra/httpd-multilang-errordoc.conf + +# Fancy directory listings +#Include @rel_sysconfdir@/extra/httpd-autoindex.conf + +# Language settings +#Include @rel_sysconfdir@/extra/httpd-languages.conf + +# User home directories +#Include @rel_sysconfdir@/extra/httpd-userdir.conf + +# Real-time info on requests and configuration +#Include @rel_sysconfdir@/extra/httpd-info.conf + +# Virtual hosts +#Include @rel_sysconfdir@/extra/httpd-vhosts.conf + +# Local access to the Apache HTTP Server Manual +#Include @rel_sysconfdir@/extra/httpd-manual.conf + +# Distributed authoring and versioning (WebDAV) +#Include @rel_sysconfdir@/extra/httpd-dav.conf + +# Various default settings +#Include @rel_sysconfdir@/extra/httpd-default.conf + +# Configure mod_proxy_html to understand HTML4/XHTML1 + +Include @rel_sysconfdir@/extra/proxy-html.conf + + +# Secure (SSL/TLS) connections +#Include @rel_sysconfdir@/extra/httpd-ssl.conf +# +# Note: The following must must be present to support +# starting without SSL on platforms with no /dev/random equivalent +# but a statically compiled-in mod_ssl. +# + +SSLRandomSeed startup builtin +SSLRandomSeed connect builtin + + diff --git a/docs/conf/magic b/docs/conf/magic new file mode 100644 index 0000000..bc891d9 --- /dev/null +++ b/docs/conf/magic @@ -0,0 +1,385 @@ +# Magic data for mod_mime_magic Apache module (originally for file(1) command) +# The module is described in /manual/mod/mod_mime_magic.html +# +# The format is 4-5 columns: +# Column #1: byte number to begin checking from, ">" indicates continuation +# Column #2: type of data to match +# Column #3: contents of data to match +# Column #4: MIME type of result +# Column #5: MIME encoding of result (optional) + +#------------------------------------------------------------------------------ +# Localstuff: file(1) magic for locally observed files +# Add any locally observed files here. + +#------------------------------------------------------------------------------ +# end local stuff +#------------------------------------------------------------------------------ + +#------------------------------------------------------------------------------ +# Java + +0 short 0xcafe +>2 short 0xbabe application/java + +#------------------------------------------------------------------------------ +# audio: file(1) magic for sound formats +# +# from Jan Nicolai Langfeldt , +# + +# Sun/NeXT audio data +0 string .snd +>12 belong 1 audio/basic +>12 belong 2 audio/basic +>12 belong 3 audio/basic +>12 belong 4 audio/basic +>12 belong 5 audio/basic +>12 belong 6 audio/basic +>12 belong 7 audio/basic + +>12 belong 23 audio/x-adpcm + +# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format +# that uses little-endian encoding and has a different magic number +# (0x0064732E in little-endian encoding). +0 lelong 0x0064732E +>12 lelong 1 audio/x-dec-basic +>12 lelong 2 audio/x-dec-basic +>12 lelong 3 audio/x-dec-basic +>12 lelong 4 audio/x-dec-basic +>12 lelong 5 audio/x-dec-basic +>12 lelong 6 audio/x-dec-basic +>12 lelong 7 audio/x-dec-basic +# compressed (G.721 ADPCM) +>12 lelong 23 audio/x-dec-adpcm + +# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" +# AIFF audio data +8 string AIFF audio/x-aiff +# AIFF-C audio data +8 string AIFC audio/x-aiff +# IFF/8SVX audio data +8 string 8SVX audio/x-aiff + +# Creative Labs AUDIO stuff +# Standard MIDI data +0 string MThd audio/unknown +#>9 byte >0 (format %d) +#>11 byte >1 using %d channels +# Creative Music (CMF) data +0 string CTMF audio/unknown +# SoundBlaster instrument data +0 string SBI audio/unknown +# Creative Labs voice data +0 string Creative\ Voice\ File audio/unknown +## is this next line right? it came this way... +#>19 byte 0x1A +#>23 byte >0 - version %d +#>22 byte >0 \b.%d + +# [GRR 950115: is this also Creative Labs? Guessing that first line +# should be string instead of unknown-endian long...] +#0 long 0x4e54524b MultiTrack sound data +#0 string NTRK MultiTrack sound data +#>4 long x - version %ld + +# Microsoft WAVE format (*.wav) +# [GRR 950115: probably all of the shorts and longs should be leshort/lelong] +# Microsoft RIFF +0 string RIFF +# - WAVE format +>8 string WAVE audio/x-wav +# MPEG audio. +0 beshort&0xfff0 0xfff0 audio/mpeg +# C64 SID Music files, from Linus Walleij +0 string PSID audio/prs.sid + +#------------------------------------------------------------------------------ +# c-lang: file(1) magic for C programs or various scripts +# + +# XPM icons (Greg Roelofs, newt@uchicago.edu) +# ideally should go into "images", but entries below would tag XPM as C source +0 string /*\ XPM image/x-xbm 7bit + +# this first will upset you if you're a PL/1 shop... (are there any left?) +# in which case rm it; ascmagic will catch real C programs +# C or REXX program text +0 string /* text/plain +# C++ program text +0 string // text/plain + +#------------------------------------------------------------------------------ +# compress: file(1) magic for pure-compression formats (no archives) +# +# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc. +# +# Formats for various forms of compressed data +# Formats for "compress" proper have been moved into "compress.c", +# because it tries to uncompress it to figure out what's inside. + +# standard unix compress +0 string \037\235 application/octet-stream x-compress + +# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver) +0 string \037\213 application/octet-stream x-gzip + +# According to gzip.h, this is the correct byte order for packed data. +0 string \037\036 application/octet-stream +# +# This magic number is byte-order-independent. +# +0 short 017437 application/octet-stream + +# XXX - why *two* entries for "compacted data", one of which is +# byte-order independent, and one of which is byte-order dependent? +# +# compacted data +0 short 0x1fff application/octet-stream +0 string \377\037 application/octet-stream +# huf output +0 short 0145405 application/octet-stream + +# Squeeze and Crunch... +# These numbers were gleaned from the Unix versions of the programs to +# handle these formats. Note that I can only uncrunch, not crunch, and +# I didn't have a crunched file handy, so the crunch number is untested. +# Keith Waclena +#0 leshort 0x76FF squeezed data (CP/M, DOS) +#0 leshort 0x76FE crunched data (CP/M, DOS) + +# Freeze +#0 string \037\237 Frozen file 2.1 +#0 string \037\236 Frozen file 1.0 (or gzip 0.5) + +# lzh? +#0 string \037\240 LZH compressed data + +#------------------------------------------------------------------------------ +# frame: file(1) magic for FrameMaker files +# +# This stuff came on a FrameMaker demo tape, most of which is +# copyright, but this file is "published" as witness the following: +# +0 string \ +# and Anna Shergold +# +0 string \ +0 string \14 byte 12 (OS/2 1.x format) +#>14 byte 64 (OS/2 2.x format) +#>14 byte 40 (Windows 3.x format) +#0 string IC icon +#0 string PI pointer +#0 string CI color icon +#0 string CP color pointer +#0 string BA bitmap array + +0 string \x89PNG image/png +0 string FWS application/x-shockwave-flash +0 string CWS application/x-shockwave-flash + +#------------------------------------------------------------------------------ +# lisp: file(1) magic for lisp programs +# +# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string ;; text/plain 8bit +# Emacs 18 - this is always correct, but not very magical. +0 string \012( application/x-elc +# Emacs 19 +0 string ;ELC\023\000\000\000 application/x-elc + +#------------------------------------------------------------------------------ +# mail.news: file(1) magic for mail and news +# +# There are tests to ascmagic.c to cope with mail and news. +0 string Relay-Version: message/rfc822 7bit +0 string #!\ rnews message/rfc822 7bit +0 string N#!\ rnews message/rfc822 7bit +0 string Forward\ to message/rfc822 7bit +0 string Pipe\ to message/rfc822 7bit +0 string Return-Path: message/rfc822 7bit +0 string Path: message/news 8bit +0 string Xref: message/news 8bit +0 string From: message/rfc822 7bit +0 string Article message/news 8bit +#------------------------------------------------------------------------------ +# msword: file(1) magic for MS Word files +# +# Contributor claims: +# Reversed-engineered MS Word magic numbers +# + +0 string \376\067\0\043 application/msword +0 string \333\245-\0\0\0 application/msword + +# disable this one because it applies also to other +# Office/OLE documents for which msword is not correct. See PR#2608. +#0 string \320\317\021\340\241\261 application/msword + + + +#------------------------------------------------------------------------------ +# printer: file(1) magic for printer-formatted files +# + +# PostScript +0 string %! application/postscript +0 string \004%! application/postscript + +# Acrobat +# (due to clamen@cs.cmu.edu) +0 string %PDF- application/pdf + +#------------------------------------------------------------------------------ +# sc: file(1) magic for "sc" spreadsheet +# +38 string Spreadsheet application/x-sc + +#------------------------------------------------------------------------------ +# tex: file(1) magic for TeX files +# +# XXX - needs byte-endian stuff (big-endian and little-endian DVI?) +# +# From + +# Although we may know the offset of certain text fields in TeX DVI +# and font files, we can't use them reliably because they are not +# zero terminated. [but we do anyway, christos] +0 string \367\002 application/x-dvi +#0 string \367\203 TeX generic font data +#0 string \367\131 TeX packed font data +#0 string \367\312 TeX virtual font data +#0 string This\ is\ TeX, TeX transcript text +#0 string This\ is\ METAFONT, METAFONT transcript text + +# There is no way to detect TeX Font Metric (*.tfm) files without +# breaking them apart and reading the data. The following patterns +# match most *.tfm files generated by METAFONT or afm2tfm. +#2 string \000\021 TeX font metric data +#2 string \000\022 TeX font metric data +#>34 string >\0 (%s) + +# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) +#0 string \\input\ texinfo Texinfo source text +#0 string This\ is\ Info\ file GNU Info text + +# correct TeX magic for Linux (and maybe more) +# from Peter Tobias (tobias@server.et-inf.fho-emden.de) +# +0 leshort 0x02f7 application/x-dvi + +# RTF - Rich Text Format +0 string {\\rtf application/rtf + +#------------------------------------------------------------------------------ +# animation: file(1) magic for animation/movie formats +# +# animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8) +# MPEG file +0 string \000\000\001\263 video/mpeg +# +# The contributor claims: +# I couldn't find a real magic number for these, however, this +# -appears- to work. Note that it might catch other files, too, +# so BE CAREFUL! +# +# Note that title and author appear in the two 20-byte chunks +# at decimal offsets 2 and 22, respectively, but they are XOR'ed with +# 255 (hex FF)! DL format SUCKS BIG ROCKS. +# +# DL file version 1 , medium format (160x100, 4 images/screen) +0 byte 1 video/unknown +0 byte 2 video/unknown +# Quicktime video, from Linus Walleij +# from Apple quicktime file format documentation. +4 string moov video/quicktime +4 string mdat video/quicktime + diff --git a/docs/conf/mime.types b/docs/conf/mime.types new file mode 100644 index 0000000..7508c26 --- /dev/null +++ b/docs/conf/mime.types @@ -0,0 +1,1855 @@ +# This file maps Internet media types to unique file extension(s). +# Although created for httpd, this file is used by many software systems +# and has been placed in the public domain for unlimited redisribution. +# +# The table below contains both registered and (common) unregistered types. +# A type that has no unique extension can be ignored -- they are listed +# here to guide configurations toward known types and to make it easier to +# identify "new" types. File extensions are also commonly used to indicate +# content languages and encodings, so choose them carefully. +# +# Internet media types should be registered as described in RFC 4288. +# The registry is at . +# +# MIME type (lowercased) Extensions +# ============================================ ========== +# application/1d-interleaved-parityfec +# application/3gpdash-qoe-report+xml +# application/3gpp-ims+xml +# application/a2l +# application/activemessage +# application/alto-costmap+json +# application/alto-costmapfilter+json +# application/alto-directory+json +# application/alto-endpointcost+json +# application/alto-endpointcostparams+json +# application/alto-endpointprop+json +# application/alto-endpointpropparams+json +# application/alto-error+json +# application/alto-networkmap+json +# application/alto-networkmapfilter+json +# application/aml +application/andrew-inset ez +# application/applefile +application/applixware aw +# application/atf +# application/atfx +application/atom+xml atom +application/atomcat+xml atomcat +# application/atomdeleted+xml +# application/atomicmail +application/atomsvc+xml atomsvc +# application/atxml +# application/auth-policy+xml +# application/bacnet-xdd+zip +# application/batch-smtp +# application/beep+xml +# application/calendar+json +# application/calendar+xml +# application/call-completion +# application/cals-1840 +# application/cbor +# application/ccmp+xml +application/ccxml+xml ccxml +# application/cdfx+xml +application/cdmi-capability cdmia +application/cdmi-container cdmic +application/cdmi-domain cdmid +application/cdmi-object cdmio +application/cdmi-queue cdmiq +# application/cdni +# application/cea +# application/cea-2018+xml +# application/cellml+xml +# application/cfw +# application/cms +# application/cnrp+xml +# application/coap-group+json +# application/commonground +# application/conference-info+xml +# application/cpl+xml +# application/csrattrs +# application/csta+xml +# application/cstadata+xml +# application/csvm+json +application/cu-seeme cu +# application/cybercash +# application/dash+xml +# application/dashdelta +application/davmount+xml davmount +# application/dca-rft +# application/dcd +# application/dec-dx +# application/dialog-info+xml +# application/dicom +# application/dii +# application/dit +# application/dns +application/docbook+xml dbk +# application/dskpp+xml +application/dssc+der dssc +application/dssc+xml xdssc +# application/dvcs +application/ecmascript ecma +# application/edi-consent +# application/edi-x12 +# application/edifact +# application/efi +# application/emergencycalldata.comment+xml +# application/emergencycalldata.deviceinfo+xml +# application/emergencycalldata.providerinfo+xml +# application/emergencycalldata.serviceinfo+xml +# application/emergencycalldata.subscriberinfo+xml +application/emma+xml emma +# application/emotionml+xml +# application/encaprtp +# application/epp+xml +application/epub+zip epub +# application/eshop +# application/example +application/exi exi +# application/fastinfoset +# application/fastsoap +# application/fdt+xml +# application/fits +application/font-tdpfr pfr +# application/framework-attributes+xml +# application/geo+json +application/gml+xml gml +application/gpx+xml gpx +application/gxf gxf +# application/gzip +# application/h224 +# application/held+xml +# application/http +application/hyperstudio stk +# application/ibe-key-request+xml +# application/ibe-pkg-reply+xml +# application/ibe-pp-data +# application/iges +# application/im-iscomposing+xml +# application/index +# application/index.cmd +# application/index.obj +# application/index.response +# application/index.vnd +application/inkml+xml ink inkml +# application/iotp +application/ipfix ipfix +# application/ipp +# application/isup +# application/its+xml +application/java-archive jar +application/java-serialized-object ser +application/java-vm class +application/javascript js +# application/jose +# application/jose+json +# application/jrd+json +application/json json +# application/json-patch+json +# application/json-seq +application/jsonml+json jsonml +# application/jwk+json +# application/jwk-set+json +# application/jwt +# application/kpml-request+xml +# application/kpml-response+xml +# application/ld+json +# application/lgr+xml +# application/link-format +# application/load-control+xml +application/lost+xml lostxml +# application/lostsync+xml +# application/lxf +application/mac-binhex40 hqx +application/mac-compactpro cpt +# application/macwriteii +application/mads+xml mads +application/marc mrc +application/marcxml+xml mrcx +application/mathematica ma nb mb +application/mathml+xml mathml +# application/mathml-content+xml +# application/mathml-presentation+xml +# application/mbms-associated-procedure-description+xml +# application/mbms-deregister+xml +# application/mbms-envelope+xml +# application/mbms-msk+xml +# application/mbms-msk-response+xml +# application/mbms-protection-description+xml +# application/mbms-reception-report+xml +# application/mbms-register+xml +# application/mbms-register-response+xml +# application/mbms-schedule+xml +# application/mbms-user-service-description+xml +application/mbox mbox +# application/media-policy-dataset+xml +# application/media_control+xml +application/mediaservercontrol+xml mscml +# application/merge-patch+json +application/metalink+xml metalink +application/metalink4+xml meta4 +application/mets+xml mets +# application/mf4 +# application/mikey +application/mods+xml mods +# application/moss-keys +# application/moss-signature +# application/mosskey-data +# application/mosskey-request +application/mp21 m21 mp21 +application/mp4 mp4s +# application/mpeg4-generic +# application/mpeg4-iod +# application/mpeg4-iod-xmt +# application/mrb-consumer+xml +# application/mrb-publish+xml +# application/msc-ivr+xml +# application/msc-mixer+xml +application/msword doc dot +application/mxf mxf +# application/nasdata +# application/news-checkgroups +# application/news-groupinfo +# application/news-transmission +# application/nlsml+xml +# application/nss +# application/ocsp-request +# application/ocsp-response +application/octet-stream bin dms lrf mar so dist distz pkg bpk dump elc deploy +application/oda oda +# application/odx +application/oebps-package+xml opf +application/ogg ogx +application/omdoc+xml omdoc +application/onenote onetoc onetoc2 onetmp onepkg +application/oxps oxps +# application/p2p-overlay+xml +# application/parityfec +application/patch-ops-error+xml xer +application/pdf pdf +# application/pdx +application/pgp-encrypted pgp +# application/pgp-keys +application/pgp-signature asc sig +application/pics-rules prf +# application/pidf+xml +# application/pidf-diff+xml +application/pkcs10 p10 +# application/pkcs12 +application/pkcs7-mime p7m p7c +application/pkcs7-signature p7s +application/pkcs8 p8 +application/pkix-attr-cert ac +application/pkix-cert cer +application/pkix-crl crl +application/pkix-pkipath pkipath +application/pkixcmp pki +application/pls+xml pls +# application/poc-settings+xml +application/postscript ai eps ps +# application/ppsp-tracker+json +# application/problem+json +# application/problem+xml +# application/provenance+xml +# application/prs.alvestrand.titrax-sheet +application/prs.cww cww +# application/prs.hpub+zip +# application/prs.nprend +# application/prs.plucker +# application/prs.rdf-xml-crypt +# application/prs.xsf+xml +application/pskc+xml pskcxml +# application/qsig +# application/raptorfec +# application/rdap+json +application/rdf+xml rdf +application/reginfo+xml rif +application/relax-ng-compact-syntax rnc +# application/remote-printing +# application/reputon+json +application/resource-lists+xml rl +application/resource-lists-diff+xml rld +# application/rfc+xml +# application/riscos +# application/rlmi+xml +application/rls-services+xml rs +application/rpki-ghostbusters gbr +application/rpki-manifest mft +application/rpki-roa roa +# application/rpki-updown +application/rsd+xml rsd +application/rss+xml rss +application/rtf rtf +# application/rtploopback +# application/rtx +# application/samlassertion+xml +# application/samlmetadata+xml +application/sbml+xml sbml +# application/scaip+xml +# application/scim+json +application/scvp-cv-request scq +application/scvp-cv-response scs +application/scvp-vp-request spq +application/scvp-vp-response spp +application/sdp sdp +# application/sep+xml +# application/sep-exi +# application/session-info +# application/set-payment +application/set-payment-initiation setpay +# application/set-registration +application/set-registration-initiation setreg +# application/sgml +# application/sgml-open-catalog +application/shf+xml shf +# application/sieve +# application/simple-filter+xml +# application/simple-message-summary +# application/simplesymbolcontainer +# application/slate +# application/smil +application/smil+xml smi smil +# application/smpte336m +# application/soap+fastinfoset +# application/soap+xml +application/sparql-query rq +application/sparql-results+xml srx +# application/spirits-event+xml +# application/sql +application/srgs gram +application/srgs+xml grxml +application/sru+xml sru +application/ssdl+xml ssdl +application/ssml+xml ssml +# application/tamp-apex-update +# application/tamp-apex-update-confirm +# application/tamp-community-update +# application/tamp-community-update-confirm +# application/tamp-error +# application/tamp-sequence-adjust +# application/tamp-sequence-adjust-confirm +# application/tamp-status-query +# application/tamp-status-response +# application/tamp-update +# application/tamp-update-confirm +application/tei+xml tei teicorpus +application/thraud+xml tfi +# application/timestamp-query +# application/timestamp-reply +application/timestamped-data tsd +# application/ttml+xml +# application/tve-trigger +# application/ulpfec +# application/urc-grpsheet+xml +# application/urc-ressheet+xml +# application/urc-targetdesc+xml +# application/urc-uisocketdesc+xml +# application/vcard+json +# application/vcard+xml +# application/vemmi +# application/vividence.scriptfile +# application/vnd.3gpp-prose+xml +# application/vnd.3gpp-prose-pc3ch+xml +# application/vnd.3gpp.access-transfer-events+xml +# application/vnd.3gpp.bsf+xml +# application/vnd.3gpp.mid-call+xml +application/vnd.3gpp.pic-bw-large plb +application/vnd.3gpp.pic-bw-small psb +application/vnd.3gpp.pic-bw-var pvb +# application/vnd.3gpp.sms +# application/vnd.3gpp.sms+xml +# application/vnd.3gpp.srvcc-ext+xml +# application/vnd.3gpp.srvcc-info+xml +# application/vnd.3gpp.state-and-event-info+xml +# application/vnd.3gpp.ussd+xml +# application/vnd.3gpp2.bcmcsinfo+xml +# application/vnd.3gpp2.sms +application/vnd.3gpp2.tcap tcap +# application/vnd.3lightssoftware.imagescal +application/vnd.3m.post-it-notes pwn +application/vnd.accpac.simply.aso aso +application/vnd.accpac.simply.imp imp +application/vnd.acucobol acu +application/vnd.acucorp atc acutc +application/vnd.adobe.air-application-installer-package+zip air +# application/vnd.adobe.flash.movie +application/vnd.adobe.formscentral.fcdt fcdt +application/vnd.adobe.fxp fxp fxpl +# application/vnd.adobe.partial-upload +application/vnd.adobe.xdp+xml xdp +application/vnd.adobe.xfdf xfdf +# application/vnd.aether.imp +# application/vnd.ah-barcode +application/vnd.ahead.space ahead +application/vnd.airzip.filesecure.azf azf +application/vnd.airzip.filesecure.azs azs +application/vnd.amazon.ebook azw +# application/vnd.amazon.mobi8-ebook +application/vnd.americandynamics.acc acc +application/vnd.amiga.ami ami +# application/vnd.amundsen.maze+xml +application/vnd.android.package-archive apk +# application/vnd.anki +application/vnd.anser-web-certificate-issue-initiation cii +application/vnd.anser-web-funds-transfer-initiation fti +application/vnd.antix.game-component atx +# application/vnd.apache.thrift.binary +# application/vnd.apache.thrift.compact +# application/vnd.apache.thrift.json +# application/vnd.api+json +application/vnd.apple.installer+xml mpkg +application/vnd.apple.mpegurl m3u8 +# application/vnd.arastra.swi +application/vnd.aristanetworks.swi swi +# application/vnd.artsquare +application/vnd.astraea-software.iota iota +application/vnd.audiograph aep +# application/vnd.autopackage +# application/vnd.avistar+xml +# application/vnd.balsamiq.bmml+xml +# application/vnd.balsamiq.bmpr +# application/vnd.bekitzur-stech+json +# application/vnd.biopax.rdf+xml +application/vnd.blueice.multipass mpm +# application/vnd.bluetooth.ep.oob +# application/vnd.bluetooth.le.oob +application/vnd.bmi bmi +application/vnd.businessobjects rep +# application/vnd.cab-jscript +# application/vnd.canon-cpdl +# application/vnd.canon-lips +# application/vnd.cendio.thinlinc.clientconf +# application/vnd.century-systems.tcp_stream +application/vnd.chemdraw+xml cdxml +# application/vnd.chess-pgn +application/vnd.chipnuts.karaoke-mmd mmd +application/vnd.cinderella cdy +# application/vnd.cirpack.isdn-ext +# application/vnd.citationstyles.style+xml +application/vnd.claymore cla +application/vnd.cloanto.rp9 rp9 +application/vnd.clonk.c4group c4g c4d c4f c4p c4u +application/vnd.cluetrust.cartomobile-config c11amc +application/vnd.cluetrust.cartomobile-config-pkg c11amz +# application/vnd.coffeescript +# application/vnd.collection+json +# application/vnd.collection.doc+json +# application/vnd.collection.next+json +# application/vnd.comicbook+zip +# application/vnd.commerce-battelle +application/vnd.commonspace csp +application/vnd.contact.cmsg cdbcmsg +# application/vnd.coreos.ignition+json +application/vnd.cosmocaller cmc +application/vnd.crick.clicker clkx +application/vnd.crick.clicker.keyboard clkk +application/vnd.crick.clicker.palette clkp +application/vnd.crick.clicker.template clkt +application/vnd.crick.clicker.wordbank clkw +application/vnd.criticaltools.wbs+xml wbs +application/vnd.ctc-posml pml +# application/vnd.ctct.ws+xml +# application/vnd.cups-pdf +# application/vnd.cups-postscript +application/vnd.cups-ppd ppd +# application/vnd.cups-raster +# application/vnd.cups-raw +# application/vnd.curl +application/vnd.curl.car car +application/vnd.curl.pcurl pcurl +# application/vnd.cyan.dean.root+xml +# application/vnd.cybank +application/vnd.dart dart +application/vnd.data-vision.rdz rdz +# application/vnd.debian.binary-package +application/vnd.dece.data uvf uvvf uvd uvvd +application/vnd.dece.ttml+xml uvt uvvt +application/vnd.dece.unspecified uvx uvvx +application/vnd.dece.zip uvz uvvz +application/vnd.denovo.fcselayout-link fe_launch +# application/vnd.desmume.movie +# application/vnd.dir-bi.plate-dl-nosuffix +# application/vnd.dm.delegation+xml +application/vnd.dna dna +# application/vnd.document+json +application/vnd.dolby.mlp mlp +# application/vnd.dolby.mobile.1 +# application/vnd.dolby.mobile.2 +# application/vnd.doremir.scorecloud-binary-document +application/vnd.dpgraph dpg +application/vnd.dreamfactory dfac +# application/vnd.drive+json +application/vnd.ds-keypoint kpxx +# application/vnd.dtg.local +# application/vnd.dtg.local.flash +# application/vnd.dtg.local.html +application/vnd.dvb.ait ait +# application/vnd.dvb.dvbj +# application/vnd.dvb.esgcontainer +# application/vnd.dvb.ipdcdftnotifaccess +# application/vnd.dvb.ipdcesgaccess +# application/vnd.dvb.ipdcesgaccess2 +# application/vnd.dvb.ipdcesgpdd +# application/vnd.dvb.ipdcroaming +# application/vnd.dvb.iptv.alfec-base +# application/vnd.dvb.iptv.alfec-enhancement +# application/vnd.dvb.notif-aggregate-root+xml +# application/vnd.dvb.notif-container+xml +# application/vnd.dvb.notif-generic+xml +# application/vnd.dvb.notif-ia-msglist+xml +# application/vnd.dvb.notif-ia-registration-request+xml +# application/vnd.dvb.notif-ia-registration-response+xml +# application/vnd.dvb.notif-init+xml +# application/vnd.dvb.pfr +application/vnd.dvb.service svc +# application/vnd.dxr +application/vnd.dynageo geo +# application/vnd.dzr +# application/vnd.easykaraoke.cdgdownload +# application/vnd.ecdis-update +application/vnd.ecowin.chart mag +# application/vnd.ecowin.filerequest +# application/vnd.ecowin.fileupdate +# application/vnd.ecowin.series +# application/vnd.ecowin.seriesrequest +# application/vnd.ecowin.seriesupdate +# application/vnd.emclient.accessrequest+xml +application/vnd.enliven nml +# application/vnd.enphase.envoy +# application/vnd.eprints.data+xml +application/vnd.epson.esf esf +application/vnd.epson.msf msf +application/vnd.epson.quickanime qam +application/vnd.epson.salt slt +application/vnd.epson.ssf ssf +# application/vnd.ericsson.quickcall +application/vnd.eszigno3+xml es3 et3 +# application/vnd.etsi.aoc+xml +# application/vnd.etsi.asic-e+zip +# application/vnd.etsi.asic-s+zip +# application/vnd.etsi.cug+xml +# application/vnd.etsi.iptvcommand+xml +# application/vnd.etsi.iptvdiscovery+xml +# application/vnd.etsi.iptvprofile+xml +# application/vnd.etsi.iptvsad-bc+xml +# application/vnd.etsi.iptvsad-cod+xml +# application/vnd.etsi.iptvsad-npvr+xml +# application/vnd.etsi.iptvservice+xml +# application/vnd.etsi.iptvsync+xml +# application/vnd.etsi.iptvueprofile+xml +# application/vnd.etsi.mcid+xml +# application/vnd.etsi.mheg5 +# application/vnd.etsi.overload-control-policy-dataset+xml +# application/vnd.etsi.pstn+xml +# application/vnd.etsi.sci+xml +# application/vnd.etsi.simservs+xml +# application/vnd.etsi.timestamp-token +# application/vnd.etsi.tsl+xml +# application/vnd.etsi.tsl.der +# application/vnd.eudora.data +application/vnd.ezpix-album ez2 +application/vnd.ezpix-package ez3 +# application/vnd.f-secure.mobile +# application/vnd.fastcopy-disk-image +application/vnd.fdf fdf +application/vnd.fdsn.mseed mseed +application/vnd.fdsn.seed seed dataless +# application/vnd.ffsns +# application/vnd.filmit.zfc +# application/vnd.fints +# application/vnd.firemonkeys.cloudcell +application/vnd.flographit gph +application/vnd.fluxtime.clip ftc +# application/vnd.font-fontforge-sfd +application/vnd.framemaker fm frame maker book +application/vnd.frogans.fnc fnc +application/vnd.frogans.ltf ltf +application/vnd.fsc.weblaunch fsc +application/vnd.fujitsu.oasys oas +application/vnd.fujitsu.oasys2 oa2 +application/vnd.fujitsu.oasys3 oa3 +application/vnd.fujitsu.oasysgp fg5 +application/vnd.fujitsu.oasysprs bh2 +# application/vnd.fujixerox.art-ex +# application/vnd.fujixerox.art4 +application/vnd.fujixerox.ddd ddd +application/vnd.fujixerox.docuworks xdw +application/vnd.fujixerox.docuworks.binder xbd +# application/vnd.fujixerox.docuworks.container +# application/vnd.fujixerox.hbpl +# application/vnd.fut-misnet +application/vnd.fuzzysheet fzs +application/vnd.genomatix.tuxedo txd +# application/vnd.geo+json +# application/vnd.geocube+xml +application/vnd.geogebra.file ggb +application/vnd.geogebra.tool ggt +application/vnd.geometry-explorer gex gre +application/vnd.geonext gxt +application/vnd.geoplan g2w +application/vnd.geospace g3w +# application/vnd.gerber +# application/vnd.globalplatform.card-content-mgt +# application/vnd.globalplatform.card-content-mgt-response +application/vnd.gmx gmx +application/vnd.google-earth.kml+xml kml +application/vnd.google-earth.kmz kmz +# application/vnd.gov.sk.e-form+xml +# application/vnd.gov.sk.e-form+zip +# application/vnd.gov.sk.xmldatacontainer+xml +application/vnd.grafeq gqf gqs +# application/vnd.gridmp +application/vnd.groove-account gac +application/vnd.groove-help ghf +application/vnd.groove-identity-message gim +application/vnd.groove-injector grv +application/vnd.groove-tool-message gtm +application/vnd.groove-tool-template tpl +application/vnd.groove-vcard vcg +# application/vnd.hal+json +application/vnd.hal+xml hal +application/vnd.handheld-entertainment+xml zmm +application/vnd.hbci hbci +# application/vnd.hcl-bireports +# application/vnd.hdt +# application/vnd.heroku+json +application/vnd.hhe.lesson-player les +application/vnd.hp-hpgl hpgl +application/vnd.hp-hpid hpid +application/vnd.hp-hps hps +application/vnd.hp-jlyt jlt +application/vnd.hp-pcl pcl +application/vnd.hp-pclxl pclxl +# application/vnd.httphone +application/vnd.hydrostatix.sof-data sfd-hdstx +# application/vnd.hyperdrive+json +# application/vnd.hzn-3d-crossword +# application/vnd.ibm.afplinedata +# application/vnd.ibm.electronic-media +application/vnd.ibm.minipay mpy +application/vnd.ibm.modcap afp listafp list3820 +application/vnd.ibm.rights-management irm +application/vnd.ibm.secure-container sc +application/vnd.iccprofile icc icm +# application/vnd.ieee.1905 +application/vnd.igloader igl +application/vnd.immervision-ivp ivp +application/vnd.immervision-ivu ivu +# application/vnd.ims.imsccv1p1 +# application/vnd.ims.imsccv1p2 +# application/vnd.ims.imsccv1p3 +# application/vnd.ims.lis.v2.result+json +# application/vnd.ims.lti.v2.toolconsumerprofile+json +# application/vnd.ims.lti.v2.toolproxy+json +# application/vnd.ims.lti.v2.toolproxy.id+json +# application/vnd.ims.lti.v2.toolsettings+json +# application/vnd.ims.lti.v2.toolsettings.simple+json +# application/vnd.informedcontrol.rms+xml +# application/vnd.informix-visionary +# application/vnd.infotech.project +# application/vnd.infotech.project+xml +# application/vnd.innopath.wamp.notification +application/vnd.insors.igm igm +application/vnd.intercon.formnet xpw xpx +application/vnd.intergeo i2g +# application/vnd.intertrust.digibox +# application/vnd.intertrust.nncp +application/vnd.intu.qbo qbo +application/vnd.intu.qfx qfx +# application/vnd.iptc.g2.catalogitem+xml +# application/vnd.iptc.g2.conceptitem+xml +# application/vnd.iptc.g2.knowledgeitem+xml +# application/vnd.iptc.g2.newsitem+xml +# application/vnd.iptc.g2.newsmessage+xml +# application/vnd.iptc.g2.packageitem+xml +# application/vnd.iptc.g2.planningitem+xml +application/vnd.ipunplugged.rcprofile rcprofile +application/vnd.irepository.package+xml irp +application/vnd.is-xpr xpr +application/vnd.isac.fcs fcs +application/vnd.jam jam +# application/vnd.japannet-directory-service +# application/vnd.japannet-jpnstore-wakeup +# application/vnd.japannet-payment-wakeup +# application/vnd.japannet-registration +# application/vnd.japannet-registration-wakeup +# application/vnd.japannet-setstore-wakeup +# application/vnd.japannet-verification +# application/vnd.japannet-verification-wakeup +application/vnd.jcp.javame.midlet-rms rms +application/vnd.jisp jisp +application/vnd.joost.joda-archive joda +# application/vnd.jsk.isdn-ngn +application/vnd.kahootz ktz ktr +application/vnd.kde.karbon karbon +application/vnd.kde.kchart chrt +application/vnd.kde.kformula kfo +application/vnd.kde.kivio flw +application/vnd.kde.kontour kon +application/vnd.kde.kpresenter kpr kpt +application/vnd.kde.kspread ksp +application/vnd.kde.kword kwd kwt +application/vnd.kenameaapp htke +application/vnd.kidspiration kia +application/vnd.kinar kne knp +application/vnd.koan skp skd skt skm +application/vnd.kodak-descriptor sse +application/vnd.las.las+xml lasxml +# application/vnd.liberty-request+xml +application/vnd.llamagraphics.life-balance.desktop lbd +application/vnd.llamagraphics.life-balance.exchange+xml lbe +application/vnd.lotus-1-2-3 123 +application/vnd.lotus-approach apr +application/vnd.lotus-freelance pre +application/vnd.lotus-notes nsf +application/vnd.lotus-organizer org +application/vnd.lotus-screencam scm +application/vnd.lotus-wordpro lwp +application/vnd.macports.portpkg portpkg +# application/vnd.mapbox-vector-tile +# application/vnd.marlin.drm.actiontoken+xml +# application/vnd.marlin.drm.conftoken+xml +# application/vnd.marlin.drm.license+xml +# application/vnd.marlin.drm.mdcf +# application/vnd.mason+json +# application/vnd.maxmind.maxmind-db +application/vnd.mcd mcd +application/vnd.medcalcdata mc1 +application/vnd.mediastation.cdkey cdkey +# application/vnd.meridian-slingshot +application/vnd.mfer mwf +application/vnd.mfmp mfm +# application/vnd.micro+json +application/vnd.micrografx.flo flo +application/vnd.micrografx.igx igx +# application/vnd.microsoft.portable-executable +# application/vnd.miele+json +application/vnd.mif mif +# application/vnd.minisoft-hp3000-save +# application/vnd.mitsubishi.misty-guard.trustweb +application/vnd.mobius.daf daf +application/vnd.mobius.dis dis +application/vnd.mobius.mbk mbk +application/vnd.mobius.mqy mqy +application/vnd.mobius.msl msl +application/vnd.mobius.plc plc +application/vnd.mobius.txf txf +application/vnd.mophun.application mpn +application/vnd.mophun.certificate mpc +# application/vnd.motorola.flexsuite +# application/vnd.motorola.flexsuite.adsi +# application/vnd.motorola.flexsuite.fis +# application/vnd.motorola.flexsuite.gotap +# application/vnd.motorola.flexsuite.kmr +# application/vnd.motorola.flexsuite.ttc +# application/vnd.motorola.flexsuite.wem +# application/vnd.motorola.iprm +application/vnd.mozilla.xul+xml xul +# application/vnd.ms-3mfdocument +application/vnd.ms-artgalry cil +# application/vnd.ms-asf +application/vnd.ms-cab-compressed cab +# application/vnd.ms-color.iccprofile +application/vnd.ms-excel xls xlm xla xlc xlt xlw +application/vnd.ms-excel.addin.macroenabled.12 xlam +application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb +application/vnd.ms-excel.sheet.macroenabled.12 xlsm +application/vnd.ms-excel.template.macroenabled.12 xltm +application/vnd.ms-fontobject eot +application/vnd.ms-htmlhelp chm +application/vnd.ms-ims ims +application/vnd.ms-lrm lrm +# application/vnd.ms-office.activex+xml +application/vnd.ms-officetheme thmx +# application/vnd.ms-opentype +# application/vnd.ms-package.obfuscated-opentype +application/vnd.ms-pki.seccat cat +application/vnd.ms-pki.stl stl +# application/vnd.ms-playready.initiator+xml +application/vnd.ms-powerpoint ppt pps pot +application/vnd.ms-powerpoint.addin.macroenabled.12 ppam +application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm +application/vnd.ms-powerpoint.slide.macroenabled.12 sldm +application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm +application/vnd.ms-powerpoint.template.macroenabled.12 potm +# application/vnd.ms-printdevicecapabilities+xml +# application/vnd.ms-printing.printticket+xml +# application/vnd.ms-printschematicket+xml +application/vnd.ms-project mpp mpt +# application/vnd.ms-tnef +# application/vnd.ms-windows.devicepairing +# application/vnd.ms-windows.nwprinting.oob +# application/vnd.ms-windows.printerpairing +# application/vnd.ms-windows.wsd.oob +# application/vnd.ms-wmdrm.lic-chlg-req +# application/vnd.ms-wmdrm.lic-resp +# application/vnd.ms-wmdrm.meter-chlg-req +# application/vnd.ms-wmdrm.meter-resp +application/vnd.ms-word.document.macroenabled.12 docm +application/vnd.ms-word.template.macroenabled.12 dotm +application/vnd.ms-works wps wks wcm wdb +application/vnd.ms-wpl wpl +application/vnd.ms-xpsdocument xps +# application/vnd.msa-disk-image +application/vnd.mseq mseq +# application/vnd.msign +# application/vnd.multiad.creator +# application/vnd.multiad.creator.cif +# application/vnd.music-niff +application/vnd.musician mus +application/vnd.muvee.style msty +application/vnd.mynfc taglet +# application/vnd.ncd.control +# application/vnd.ncd.reference +# application/vnd.nervana +# application/vnd.netfpx +application/vnd.neurolanguage.nlu nlu +# application/vnd.nintendo.nitro.rom +# application/vnd.nintendo.snes.rom +application/vnd.nitf ntf nitf +application/vnd.noblenet-directory nnd +application/vnd.noblenet-sealer nns +application/vnd.noblenet-web nnw +# application/vnd.nokia.catalogs +# application/vnd.nokia.conml+wbxml +# application/vnd.nokia.conml+xml +# application/vnd.nokia.iptv.config+xml +# application/vnd.nokia.isds-radio-presets +# application/vnd.nokia.landmark+wbxml +# application/vnd.nokia.landmark+xml +# application/vnd.nokia.landmarkcollection+xml +# application/vnd.nokia.n-gage.ac+xml +application/vnd.nokia.n-gage.data ngdat +application/vnd.nokia.n-gage.symbian.install n-gage +# application/vnd.nokia.ncd +# application/vnd.nokia.pcd+wbxml +# application/vnd.nokia.pcd+xml +application/vnd.nokia.radio-preset rpst +application/vnd.nokia.radio-presets rpss +application/vnd.novadigm.edm edm +application/vnd.novadigm.edx edx +application/vnd.novadigm.ext ext +# application/vnd.ntt-local.content-share +# application/vnd.ntt-local.file-transfer +# application/vnd.ntt-local.ogw_remote-access +# application/vnd.ntt-local.sip-ta_remote +# application/vnd.ntt-local.sip-ta_tcp_stream +application/vnd.oasis.opendocument.chart odc +application/vnd.oasis.opendocument.chart-template otc +application/vnd.oasis.opendocument.database odb +application/vnd.oasis.opendocument.formula odf +application/vnd.oasis.opendocument.formula-template odft +application/vnd.oasis.opendocument.graphics odg +application/vnd.oasis.opendocument.graphics-template otg +application/vnd.oasis.opendocument.image odi +application/vnd.oasis.opendocument.image-template oti +application/vnd.oasis.opendocument.presentation odp +application/vnd.oasis.opendocument.presentation-template otp +application/vnd.oasis.opendocument.spreadsheet ods +application/vnd.oasis.opendocument.spreadsheet-template ots +application/vnd.oasis.opendocument.text odt +application/vnd.oasis.opendocument.text-master odm +application/vnd.oasis.opendocument.text-template ott +application/vnd.oasis.opendocument.text-web oth +# application/vnd.obn +# application/vnd.oftn.l10n+json +# application/vnd.oipf.contentaccessdownload+xml +# application/vnd.oipf.contentaccessstreaming+xml +# application/vnd.oipf.cspg-hexbinary +# application/vnd.oipf.dae.svg+xml +# application/vnd.oipf.dae.xhtml+xml +# application/vnd.oipf.mippvcontrolmessage+xml +# application/vnd.oipf.pae.gem +# application/vnd.oipf.spdiscovery+xml +# application/vnd.oipf.spdlist+xml +# application/vnd.oipf.ueprofile+xml +# application/vnd.oipf.userprofile+xml +application/vnd.olpc-sugar xo +# application/vnd.oma-scws-config +# application/vnd.oma-scws-http-request +# application/vnd.oma-scws-http-response +# application/vnd.oma.bcast.associated-procedure-parameter+xml +# application/vnd.oma.bcast.drm-trigger+xml +# application/vnd.oma.bcast.imd+xml +# application/vnd.oma.bcast.ltkm +# application/vnd.oma.bcast.notification+xml +# application/vnd.oma.bcast.provisioningtrigger +# application/vnd.oma.bcast.sgboot +# application/vnd.oma.bcast.sgdd+xml +# application/vnd.oma.bcast.sgdu +# application/vnd.oma.bcast.simple-symbol-container +# application/vnd.oma.bcast.smartcard-trigger+xml +# application/vnd.oma.bcast.sprov+xml +# application/vnd.oma.bcast.stkm +# application/vnd.oma.cab-address-book+xml +# application/vnd.oma.cab-feature-handler+xml +# application/vnd.oma.cab-pcc+xml +# application/vnd.oma.cab-subs-invite+xml +# application/vnd.oma.cab-user-prefs+xml +# application/vnd.oma.dcd +# application/vnd.oma.dcdc +application/vnd.oma.dd2+xml dd2 +# application/vnd.oma.drm.risd+xml +# application/vnd.oma.group-usage-list+xml +# application/vnd.oma.lwm2m+json +# application/vnd.oma.lwm2m+tlv +# application/vnd.oma.pal+xml +# application/vnd.oma.poc.detailed-progress-report+xml +# application/vnd.oma.poc.final-report+xml +# application/vnd.oma.poc.groups+xml +# application/vnd.oma.poc.invocation-descriptor+xml +# application/vnd.oma.poc.optimized-progress-report+xml +# application/vnd.oma.push +# application/vnd.oma.scidm.messages+xml +# application/vnd.oma.xcap-directory+xml +# application/vnd.omads-email+xml +# application/vnd.omads-file+xml +# application/vnd.omads-folder+xml +# application/vnd.omaloc-supl-init +# application/vnd.onepager +# application/vnd.openblox.game+xml +# application/vnd.openblox.game-binary +# application/vnd.openeye.oeb +application/vnd.openofficeorg.extension oxt +# application/vnd.openxmlformats-officedocument.custom-properties+xml +# application/vnd.openxmlformats-officedocument.customxmlproperties+xml +# application/vnd.openxmlformats-officedocument.drawing+xml +# application/vnd.openxmlformats-officedocument.drawingml.chart+xml +# application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml +# application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml +# application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml +# application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml +# application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml +# application/vnd.openxmlformats-officedocument.extended-properties+xml +# application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml +# application/vnd.openxmlformats-officedocument.presentationml.comments+xml +# application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml +# application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml +# application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml +application/vnd.openxmlformats-officedocument.presentationml.presentation pptx +# application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml +# application/vnd.openxmlformats-officedocument.presentationml.presprops+xml +application/vnd.openxmlformats-officedocument.presentationml.slide sldx +# application/vnd.openxmlformats-officedocument.presentationml.slide+xml +# application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml +# application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml +application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx +# application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml +# application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml +# application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml +# application/vnd.openxmlformats-officedocument.presentationml.tags+xml +application/vnd.openxmlformats-officedocument.presentationml.template potx +# application/vnd.openxmlformats-officedocument.presentationml.template.main+xml +# application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx +# application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx +# application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml +# application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml +# application/vnd.openxmlformats-officedocument.theme+xml +# application/vnd.openxmlformats-officedocument.themeoverride+xml +# application/vnd.openxmlformats-officedocument.vmldrawing +# application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.document docx +# application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx +# application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml +# application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml +# application/vnd.openxmlformats-package.core-properties+xml +# application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml +# application/vnd.openxmlformats-package.relationships+xml +# application/vnd.oracle.resource+json +# application/vnd.orange.indata +# application/vnd.osa.netdeploy +application/vnd.osgeo.mapguide.package mgp +# application/vnd.osgi.bundle +application/vnd.osgi.dp dp +application/vnd.osgi.subsystem esa +# application/vnd.otps.ct-kip+xml +# application/vnd.oxli.countgraph +# application/vnd.pagerduty+json +application/vnd.palm pdb pqa oprc +# application/vnd.panoply +# application/vnd.paos.xml +application/vnd.pawaafile paw +# application/vnd.pcos +application/vnd.pg.format str +application/vnd.pg.osasli ei6 +# application/vnd.piaccess.application-licence +application/vnd.picsel efif +application/vnd.pmi.widget wg +# application/vnd.poc.group-advertisement+xml +application/vnd.pocketlearn plf +application/vnd.powerbuilder6 pbd +# application/vnd.powerbuilder6-s +# application/vnd.powerbuilder7 +# application/vnd.powerbuilder7-s +# application/vnd.powerbuilder75 +# application/vnd.powerbuilder75-s +# application/vnd.preminet +application/vnd.previewsystems.box box +application/vnd.proteus.magazine mgz +application/vnd.publishare-delta-tree qps +application/vnd.pvi.ptid1 ptid +# application/vnd.pwg-multiplexed +# application/vnd.pwg-xhtml-print+xml +# application/vnd.qualcomm.brew-app-res +# application/vnd.quarantainenet +application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb +# application/vnd.quobject-quoxdocument +# application/vnd.radisys.moml+xml +# application/vnd.radisys.msml+xml +# application/vnd.radisys.msml-audit+xml +# application/vnd.radisys.msml-audit-conf+xml +# application/vnd.radisys.msml-audit-conn+xml +# application/vnd.radisys.msml-audit-dialog+xml +# application/vnd.radisys.msml-audit-stream+xml +# application/vnd.radisys.msml-conf+xml +# application/vnd.radisys.msml-dialog+xml +# application/vnd.radisys.msml-dialog-base+xml +# application/vnd.radisys.msml-dialog-fax-detect+xml +# application/vnd.radisys.msml-dialog-fax-sendrecv+xml +# application/vnd.radisys.msml-dialog-group+xml +# application/vnd.radisys.msml-dialog-speech+xml +# application/vnd.radisys.msml-dialog-transform+xml +# application/vnd.rainstor.data +# application/vnd.rapid +# application/vnd.rar +application/vnd.realvnc.bed bed +application/vnd.recordare.musicxml mxl +application/vnd.recordare.musicxml+xml musicxml +# application/vnd.renlearn.rlprint +application/vnd.rig.cryptonote cryptonote +application/vnd.rim.cod cod +application/vnd.rn-realmedia rm +application/vnd.rn-realmedia-vbr rmvb +application/vnd.route66.link66+xml link66 +# application/vnd.rs-274x +# application/vnd.ruckus.download +# application/vnd.s3sms +application/vnd.sailingtracker.track st +# application/vnd.sbm.cid +# application/vnd.sbm.mid2 +# application/vnd.scribus +# application/vnd.sealed.3df +# application/vnd.sealed.csf +# application/vnd.sealed.doc +# application/vnd.sealed.eml +# application/vnd.sealed.mht +# application/vnd.sealed.net +# application/vnd.sealed.ppt +# application/vnd.sealed.tiff +# application/vnd.sealed.xls +# application/vnd.sealedmedia.softseal.html +# application/vnd.sealedmedia.softseal.pdf +application/vnd.seemail see +application/vnd.sema sema +application/vnd.semd semd +application/vnd.semf semf +application/vnd.shana.informed.formdata ifm +application/vnd.shana.informed.formtemplate itp +application/vnd.shana.informed.interchange iif +application/vnd.shana.informed.package ipk +application/vnd.simtech-mindmapper twd twds +# application/vnd.siren+json +application/vnd.smaf mmf +# application/vnd.smart.notebook +application/vnd.smart.teacher teacher +# application/vnd.software602.filler.form+xml +# application/vnd.software602.filler.form-xml-zip +application/vnd.solent.sdkm+xml sdkm sdkd +application/vnd.spotfire.dxp dxp +application/vnd.spotfire.sfs sfs +# application/vnd.sss-cod +# application/vnd.sss-dtf +# application/vnd.sss-ntf +application/vnd.stardivision.calc sdc +application/vnd.stardivision.draw sda +application/vnd.stardivision.impress sdd +application/vnd.stardivision.math smf +application/vnd.stardivision.writer sdw vor +application/vnd.stardivision.writer-global sgl +application/vnd.stepmania.package smzip +application/vnd.stepmania.stepchart sm +# application/vnd.street-stream +# application/vnd.sun.wadl+xml +application/vnd.sun.xml.calc sxc +application/vnd.sun.xml.calc.template stc +application/vnd.sun.xml.draw sxd +application/vnd.sun.xml.draw.template std +application/vnd.sun.xml.impress sxi +application/vnd.sun.xml.impress.template sti +application/vnd.sun.xml.math sxm +application/vnd.sun.xml.writer sxw +application/vnd.sun.xml.writer.global sxg +application/vnd.sun.xml.writer.template stw +application/vnd.sus-calendar sus susp +application/vnd.svd svd +# application/vnd.swiftview-ics +application/vnd.symbian.install sis sisx +application/vnd.syncml+xml xsm +application/vnd.syncml.dm+wbxml bdm +application/vnd.syncml.dm+xml xdm +# application/vnd.syncml.dm.notification +# application/vnd.syncml.dmddf+wbxml +# application/vnd.syncml.dmddf+xml +# application/vnd.syncml.dmtnds+wbxml +# application/vnd.syncml.dmtnds+xml +# application/vnd.syncml.ds.notification +application/vnd.tao.intent-module-archive tao +application/vnd.tcpdump.pcap pcap cap dmp +# application/vnd.tmd.mediaflex.api+xml +# application/vnd.tml +application/vnd.tmobile-livetv tmo +application/vnd.trid.tpt tpt +application/vnd.triscape.mxs mxs +application/vnd.trueapp tra +# application/vnd.truedoc +# application/vnd.ubisoft.webplayer +application/vnd.ufdl ufd ufdl +application/vnd.uiq.theme utz +application/vnd.umajin umj +application/vnd.unity unityweb +application/vnd.uoml+xml uoml +# application/vnd.uplanet.alert +# application/vnd.uplanet.alert-wbxml +# application/vnd.uplanet.bearer-choice +# application/vnd.uplanet.bearer-choice-wbxml +# application/vnd.uplanet.cacheop +# application/vnd.uplanet.cacheop-wbxml +# application/vnd.uplanet.channel +# application/vnd.uplanet.channel-wbxml +# application/vnd.uplanet.list +# application/vnd.uplanet.list-wbxml +# application/vnd.uplanet.listcmd +# application/vnd.uplanet.listcmd-wbxml +# application/vnd.uplanet.signal +# application/vnd.uri-map +# application/vnd.valve.source.material +application/vnd.vcx vcx +# application/vnd.vd-study +# application/vnd.vectorworks +# application/vnd.vel+json +# application/vnd.verimatrix.vcas +# application/vnd.vidsoft.vidconference +application/vnd.visio vsd vst vss vsw +application/vnd.visionary vis +# application/vnd.vividence.scriptfile +application/vnd.vsf vsf +# application/vnd.wap.sic +# application/vnd.wap.slc +application/vnd.wap.wbxml wbxml +application/vnd.wap.wmlc wmlc +application/vnd.wap.wmlscriptc wmlsc +application/vnd.webturbo wtb +# application/vnd.wfa.p2p +# application/vnd.wfa.wsc +# application/vnd.windows.devicepairing +# application/vnd.wmc +# application/vnd.wmf.bootstrap +# application/vnd.wolfram.mathematica +# application/vnd.wolfram.mathematica.package +application/vnd.wolfram.player nbp +application/vnd.wordperfect wpd +application/vnd.wqd wqd +# application/vnd.wrq-hp3000-labelled +application/vnd.wt.stf stf +# application/vnd.wv.csp+wbxml +# application/vnd.wv.csp+xml +# application/vnd.wv.ssp+xml +# application/vnd.xacml+json +application/vnd.xara xar +application/vnd.xfdl xfdl +# application/vnd.xfdl.webform +# application/vnd.xmi+xml +# application/vnd.xmpie.cpkg +# application/vnd.xmpie.dpkg +# application/vnd.xmpie.plan +# application/vnd.xmpie.ppkg +# application/vnd.xmpie.xlim +application/vnd.yamaha.hv-dic hvd +application/vnd.yamaha.hv-script hvs +application/vnd.yamaha.hv-voice hvp +application/vnd.yamaha.openscoreformat osf +application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg +# application/vnd.yamaha.remote-setup +application/vnd.yamaha.smaf-audio saf +application/vnd.yamaha.smaf-phrase spf +# application/vnd.yamaha.through-ngn +# application/vnd.yamaha.tunnel-udpencap +# application/vnd.yaoweme +application/vnd.yellowriver-custom-menu cmp +application/vnd.zul zir zirz +application/vnd.zzazz.deck+xml zaz +application/voicexml+xml vxml +# application/vq-rtcpxr +# application/watcherinfo+xml +# application/whoispp-query +# application/whoispp-response +application/widget wgt +application/winhlp hlp +# application/wita +# application/wordperfect5.1 +application/wsdl+xml wsdl +application/wspolicy+xml wspolicy +application/x-7z-compressed 7z +application/x-abiword abw +application/x-ace-compressed ace +# application/x-amf +application/x-apple-diskimage dmg +application/x-authorware-bin aab x32 u32 vox +application/x-authorware-map aam +application/x-authorware-seg aas +application/x-bcpio bcpio +application/x-bittorrent torrent +application/x-blorb blb blorb +application/x-bzip bz +application/x-bzip2 bz2 boz +application/x-cbr cbr cba cbt cbz cb7 +application/x-cdlink vcd +application/x-cfs-compressed cfs +application/x-chat chat +application/x-chess-pgn pgn +# application/x-compress +application/x-conference nsc +application/x-cpio cpio +application/x-csh csh +application/x-debian-package deb udeb +application/x-dgc-compressed dgc +application/x-director dir dcr dxr cst cct cxt w3d fgd swa +application/x-doom wad +application/x-dtbncx+xml ncx +application/x-dtbook+xml dtb +application/x-dtbresource+xml res +application/x-dvi dvi +application/x-envoy evy +application/x-eva eva +application/x-font-bdf bdf +# application/x-font-dos +# application/x-font-framemaker +application/x-font-ghostscript gsf +# application/x-font-libgrx +application/x-font-linux-psf psf +application/x-font-pcf pcf +application/x-font-snf snf +# application/x-font-speedo +# application/x-font-sunos-news +application/x-font-type1 pfa pfb pfm afm +# application/x-font-vfont +application/x-freearc arc +application/x-futuresplash spl +application/x-gca-compressed gca +application/x-glulx ulx +application/x-gnumeric gnumeric +application/x-gramps-xml gramps +application/x-gtar gtar +# application/x-gzip +application/x-hdf hdf +application/x-install-instructions install +application/x-iso9660-image iso +application/x-java-jnlp-file jnlp +application/x-latex latex +application/x-lzh-compressed lzh lha +application/x-mie mie +application/x-mobipocket-ebook prc mobi +application/x-ms-application application +application/x-ms-shortcut lnk +application/x-ms-wmd wmd +application/x-ms-wmz wmz +application/x-ms-xbap xbap +application/x-msaccess mdb +application/x-msbinder obd +application/x-mscardfile crd +application/x-msclip clp +application/x-msdownload exe dll com bat msi +application/x-msmediaview mvb m13 m14 +application/x-msmetafile wmf wmz emf emz +application/x-msmoney mny +application/x-mspublisher pub +application/x-msschedule scd +application/x-msterminal trm +application/x-mswrite wri +application/x-netcdf nc cdf +application/x-nzb nzb +application/x-pkcs12 p12 pfx +application/x-pkcs7-certificates p7b spc +application/x-pkcs7-certreqresp p7r +application/x-rar-compressed rar +application/x-research-info-systems ris +application/x-sh sh +application/x-shar shar +application/x-shockwave-flash swf +application/x-silverlight-app xap +application/x-sql sql +application/x-stuffit sit +application/x-stuffitx sitx +application/x-subrip srt +application/x-sv4cpio sv4cpio +application/x-sv4crc sv4crc +application/x-t3vm-image t3 +application/x-tads gam +application/x-tar tar +application/x-tcl tcl +application/x-tex tex +application/x-tex-tfm tfm +application/x-texinfo texinfo texi +application/x-tgif obj +application/x-ustar ustar +application/x-wais-source src +# application/x-www-form-urlencoded +application/x-x509-ca-cert der crt +application/x-xfig fig +application/x-xliff+xml xlf +application/x-xpinstall xpi +application/x-xz xz +application/x-zmachine z1 z2 z3 z4 z5 z6 z7 z8 +# application/x400-bp +# application/xacml+xml +application/xaml+xml xaml +# application/xcap-att+xml +# application/xcap-caps+xml +application/xcap-diff+xml xdf +# application/xcap-el+xml +# application/xcap-error+xml +# application/xcap-ns+xml +# application/xcon-conference-info+xml +# application/xcon-conference-info-diff+xml +application/xenc+xml xenc +application/xhtml+xml xhtml xht +# application/xhtml-voice+xml +application/xml xml xsl +application/xml-dtd dtd +# application/xml-external-parsed-entity +# application/xml-patch+xml +# application/xmpp+xml +application/xop+xml xop +application/xproc+xml xpl +application/xslt+xml xslt +application/xspf+xml xspf +application/xv+xml mxml xhvml xvml xvm +application/yang yang +application/yin+xml yin +application/zip zip +# application/zlib +# audio/1d-interleaved-parityfec +# audio/32kadpcm +# audio/3gpp +# audio/3gpp2 +# audio/ac3 +audio/adpcm adp +# audio/amr +# audio/amr-wb +# audio/amr-wb+ +# audio/aptx +# audio/asc +# audio/atrac-advanced-lossless +# audio/atrac-x +# audio/atrac3 +audio/basic au snd +# audio/bv16 +# audio/bv32 +# audio/clearmode +# audio/cn +# audio/dat12 +# audio/dls +# audio/dsr-es201108 +# audio/dsr-es202050 +# audio/dsr-es202211 +# audio/dsr-es202212 +# audio/dv +# audio/dvi4 +# audio/eac3 +# audio/encaprtp +# audio/evrc +# audio/evrc-qcp +# audio/evrc0 +# audio/evrc1 +# audio/evrcb +# audio/evrcb0 +# audio/evrcb1 +# audio/evrcnw +# audio/evrcnw0 +# audio/evrcnw1 +# audio/evrcwb +# audio/evrcwb0 +# audio/evrcwb1 +# audio/evs +# audio/example +# audio/fwdred +# audio/g711-0 +# audio/g719 +# audio/g722 +# audio/g7221 +# audio/g723 +# audio/g726-16 +# audio/g726-24 +# audio/g726-32 +# audio/g726-40 +# audio/g728 +# audio/g729 +# audio/g7291 +# audio/g729d +# audio/g729e +# audio/gsm +# audio/gsm-efr +# audio/gsm-hr-08 +# audio/ilbc +# audio/ip-mr_v2.5 +# audio/isac +# audio/l16 +# audio/l20 +# audio/l24 +# audio/l8 +# audio/lpc +audio/midi mid midi kar rmi +# audio/mobile-xmf +audio/mp4 m4a mp4a +# audio/mp4a-latm +# audio/mpa +# audio/mpa-robust +audio/mpeg mpga mp2 mp2a mp3 m2a m3a +# audio/mpeg4-generic +# audio/musepack +audio/ogg oga ogg spx +# audio/opus +# audio/parityfec +# audio/pcma +# audio/pcma-wb +# audio/pcmu +# audio/pcmu-wb +# audio/prs.sid +# audio/qcelp +# audio/raptorfec +# audio/red +# audio/rtp-enc-aescm128 +# audio/rtp-midi +# audio/rtploopback +# audio/rtx +audio/s3m s3m +audio/silk sil +# audio/smv +# audio/smv-qcp +# audio/smv0 +# audio/sp-midi +# audio/speex +# audio/t140c +# audio/t38 +# audio/telephone-event +# audio/tone +# audio/uemclip +# audio/ulpfec +# audio/vdvi +# audio/vmr-wb +# audio/vnd.3gpp.iufp +# audio/vnd.4sb +# audio/vnd.audiokoz +# audio/vnd.celp +# audio/vnd.cisco.nse +# audio/vnd.cmles.radio-events +# audio/vnd.cns.anp1 +# audio/vnd.cns.inf1 +audio/vnd.dece.audio uva uvva +audio/vnd.digital-winds eol +# audio/vnd.dlna.adts +# audio/vnd.dolby.heaac.1 +# audio/vnd.dolby.heaac.2 +# audio/vnd.dolby.mlp +# audio/vnd.dolby.mps +# audio/vnd.dolby.pl2 +# audio/vnd.dolby.pl2x +# audio/vnd.dolby.pl2z +# audio/vnd.dolby.pulse.1 +audio/vnd.dra dra +audio/vnd.dts dts +audio/vnd.dts.hd dtshd +# audio/vnd.dvb.file +# audio/vnd.everad.plj +# audio/vnd.hns.audio +audio/vnd.lucent.voice lvp +audio/vnd.ms-playready.media.pya pya +# audio/vnd.nokia.mobile-xmf +# audio/vnd.nortel.vbk +audio/vnd.nuera.ecelp4800 ecelp4800 +audio/vnd.nuera.ecelp7470 ecelp7470 +audio/vnd.nuera.ecelp9600 ecelp9600 +# audio/vnd.octel.sbc +# audio/vnd.qcelp +# audio/vnd.rhetorex.32kadpcm +audio/vnd.rip rip +# audio/vnd.sealedmedia.softseal.mpeg +# audio/vnd.vmx.cvsd +# audio/vorbis +# audio/vorbis-config +audio/webm weba +audio/x-aac aac +audio/x-aiff aif aiff aifc +audio/x-caf caf +audio/x-flac flac +audio/x-matroska mka +audio/x-mpegurl m3u +audio/x-ms-wax wax +audio/x-ms-wma wma +audio/x-pn-realaudio ram ra +audio/x-pn-realaudio-plugin rmp +# audio/x-tta +audio/x-wav wav +audio/xm xm +chemical/x-cdx cdx +chemical/x-cif cif +chemical/x-cmdf cmdf +chemical/x-cml cml +chemical/x-csml csml +# chemical/x-pdb +chemical/x-xyz xyz +font/collection ttc +font/otf otf +# font/sfnt +font/ttf ttf +font/woff woff +font/woff2 woff2 +image/bmp bmp +image/cgm cgm +# image/dicom-rle +# image/emf +# image/example +# image/fits +image/g3fax g3 +image/gif gif +image/ief ief +# image/jls +# image/jp2 +image/jpeg jpeg jpg jpe +# image/jpm +# image/jpx +image/ktx ktx +# image/naplps +image/png png +image/prs.btif btif +# image/prs.pti +# image/pwg-raster +image/sgi sgi +image/svg+xml svg svgz +# image/t38 +image/tiff tiff tif +# image/tiff-fx +image/vnd.adobe.photoshop psd +# image/vnd.airzip.accelerator.azv +# image/vnd.cns.inf2 +image/vnd.dece.graphic uvi uvvi uvg uvvg +image/vnd.djvu djvu djv +image/vnd.dvb.subtitle sub +image/vnd.dwg dwg +image/vnd.dxf dxf +image/vnd.fastbidsheet fbs +image/vnd.fpx fpx +image/vnd.fst fst +image/vnd.fujixerox.edmics-mmr mmr +image/vnd.fujixerox.edmics-rlc rlc +# image/vnd.globalgraphics.pgb +# image/vnd.microsoft.icon +# image/vnd.mix +# image/vnd.mozilla.apng +image/vnd.ms-modi mdi +image/vnd.ms-photo wdp +image/vnd.net-fpx npx +# image/vnd.radiance +# image/vnd.sealed.png +# image/vnd.sealedmedia.softseal.gif +# image/vnd.sealedmedia.softseal.jpg +# image/vnd.svf +# image/vnd.tencent.tap +# image/vnd.valve.source.texture +image/vnd.wap.wbmp wbmp +image/vnd.xiff xif +# image/vnd.zbrush.pcx +image/webp webp +# image/wmf +image/x-3ds 3ds +image/x-cmu-raster ras +image/x-cmx cmx +image/x-freehand fh fhc fh4 fh5 fh7 +image/x-icon ico +image/x-mrsid-image sid +image/x-pcx pcx +image/x-pict pic pct +image/x-portable-anymap pnm +image/x-portable-bitmap pbm +image/x-portable-graymap pgm +image/x-portable-pixmap ppm +image/x-rgb rgb +image/x-tga tga +image/x-xbitmap xbm +image/x-xpixmap xpm +image/x-xwindowdump xwd +# message/cpim +# message/delivery-status +# message/disposition-notification +# message/example +# message/external-body +# message/feedback-report +# message/global +# message/global-delivery-status +# message/global-disposition-notification +# message/global-headers +# message/http +# message/imdn+xml +# message/news +# message/partial +message/rfc822 eml mime +# message/s-http +# message/sip +# message/sipfrag +# message/tracking-status +# message/vnd.si.simp +# message/vnd.wfa.wsc +# model/example +# model/gltf+json +model/iges igs iges +model/mesh msh mesh silo +model/vnd.collada+xml dae +model/vnd.dwf dwf +# model/vnd.flatland.3dml +model/vnd.gdl gdl +# model/vnd.gs-gdl +# model/vnd.gs.gdl +model/vnd.gtw gtw +# model/vnd.moml+xml +model/vnd.mts mts +# model/vnd.opengex +# model/vnd.parasolid.transmit.binary +# model/vnd.parasolid.transmit.text +# model/vnd.rosette.annotated-data-model +# model/vnd.valve.source.compiled-map +model/vnd.vtu vtu +model/vrml wrl vrml +model/x3d+binary x3db x3dbz +# model/x3d+fastinfoset +model/x3d+vrml x3dv x3dvz +model/x3d+xml x3d x3dz +# model/x3d-vrml +# multipart/alternative +# multipart/appledouble +# multipart/byteranges +# multipart/digest +# multipart/encrypted +# multipart/example +# multipart/form-data +# multipart/header-set +# multipart/mixed +# multipart/parallel +# multipart/related +# multipart/report +# multipart/signed +# multipart/voice-message +# multipart/x-mixed-replace +# text/1d-interleaved-parityfec +text/cache-manifest appcache +text/calendar ics ifb +text/css css +text/csv csv +# text/csv-schema +# text/directory +# text/dns +# text/ecmascript +# text/encaprtp +# text/enriched +# text/example +# text/fwdred +# text/grammar-ref-list +text/html html htm +# text/javascript +# text/jcr-cnd +# text/markdown +# text/mizar +text/n3 n3 +# text/parameters +# text/parityfec +text/plain txt text conf def list log in +# text/provenance-notation +# text/prs.fallenstein.rst +text/prs.lines.tag dsc +# text/prs.prop.logic +# text/raptorfec +# text/red +# text/rfc822-headers +text/richtext rtx +# text/rtf +# text/rtp-enc-aescm128 +# text/rtploopback +# text/rtx +text/sgml sgml sgm +# text/t140 +text/tab-separated-values tsv +text/troff t tr roff man me ms +text/turtle ttl +# text/ulpfec +text/uri-list uri uris urls +text/vcard vcard +# text/vnd.a +# text/vnd.abc +text/vnd.curl curl +text/vnd.curl.dcurl dcurl +text/vnd.curl.mcurl mcurl +text/vnd.curl.scurl scurl +# text/vnd.debian.copyright +# text/vnd.dmclientscript +text/vnd.dvb.subtitle sub +# text/vnd.esmertec.theme-descriptor +text/vnd.fly fly +text/vnd.fmi.flexstor flx +text/vnd.graphviz gv +text/vnd.in3d.3dml 3dml +text/vnd.in3d.spot spot +# text/vnd.iptc.newsml +# text/vnd.iptc.nitf +# text/vnd.latex-z +# text/vnd.motorola.reflex +# text/vnd.ms-mediapackage +# text/vnd.net2phone.commcenter.command +# text/vnd.radisys.msml-basic-layout +# text/vnd.si.uricatalogue +text/vnd.sun.j2me.app-descriptor jad +# text/vnd.trolltech.linguist +# text/vnd.wap.si +# text/vnd.wap.sl +text/vnd.wap.wml wml +text/vnd.wap.wmlscript wmls +text/x-asm s asm +text/x-c c cc cxx cpp h hh dic +text/x-fortran f for f77 f90 +text/x-java-source java +text/x-nfo nfo +text/x-opml opml +text/x-pascal p pas +text/x-setext etx +text/x-sfv sfv +text/x-uuencode uu +text/x-vcalendar vcs +text/x-vcard vcf +# text/xml +# text/xml-external-parsed-entity +# video/1d-interleaved-parityfec +video/3gpp 3gp +# video/3gpp-tt +video/3gpp2 3g2 +# video/bmpeg +# video/bt656 +# video/celb +# video/dv +# video/encaprtp +# video/example +video/h261 h261 +video/h263 h263 +# video/h263-1998 +# video/h263-2000 +video/h264 h264 +# video/h264-rcdo +# video/h264-svc +# video/h265 +# video/iso.segment +video/jpeg jpgv +# video/jpeg2000 +video/jpm jpm jpgm +video/mj2 mj2 mjp2 +# video/mp1s +# video/mp2p +# video/mp2t +video/mp4 mp4 mp4v mpg4 +# video/mp4v-es +video/mpeg mpeg mpg mpe m1v m2v +# video/mpeg4-generic +# video/mpv +# video/nv +video/ogg ogv +# video/parityfec +# video/pointer +video/quicktime qt mov +# video/raptorfec +# video/raw +# video/rtp-enc-aescm128 +# video/rtploopback +# video/rtx +# video/smpte292m +# video/ulpfec +# video/vc1 +# video/vnd.cctv +video/vnd.dece.hd uvh uvvh +video/vnd.dece.mobile uvm uvvm +# video/vnd.dece.mp4 +video/vnd.dece.pd uvp uvvp +video/vnd.dece.sd uvs uvvs +video/vnd.dece.video uvv uvvv +# video/vnd.directv.mpeg +# video/vnd.directv.mpeg-tts +# video/vnd.dlna.mpeg-tts +video/vnd.dvb.file dvb +video/vnd.fvt fvt +# video/vnd.hns.video +# video/vnd.iptvforum.1dparityfec-1010 +# video/vnd.iptvforum.1dparityfec-2005 +# video/vnd.iptvforum.2dparityfec-1010 +# video/vnd.iptvforum.2dparityfec-2005 +# video/vnd.iptvforum.ttsavc +# video/vnd.iptvforum.ttsmpeg2 +# video/vnd.motorola.video +# video/vnd.motorola.videop +video/vnd.mpegurl mxu m4u +video/vnd.ms-playready.media.pyv pyv +# video/vnd.nokia.interleaved-multimedia +# video/vnd.nokia.videovoip +# video/vnd.objectvideo +# video/vnd.radgamettools.bink +# video/vnd.radgamettools.smacker +# video/vnd.sealed.mpeg1 +# video/vnd.sealed.mpeg4 +# video/vnd.sealed.swf +# video/vnd.sealedmedia.softseal.mov +video/vnd.uvvu.mp4 uvu uvvu +video/vnd.vivo viv +# video/vp8 +video/webm webm +video/x-f4v f4v +video/x-fli fli +video/x-flv flv +video/x-m4v m4v +video/x-matroska mkv mk3d mks +video/x-mng mng +video/x-ms-asf asf asx +video/x-ms-vob vob +video/x-ms-wm wm +video/x-ms-wmv wmv +video/x-ms-wmx wmx +video/x-ms-wvx wvx +video/x-msvideo avi +video/x-sgi-movie movie +video/x-smv smv +x-conference/x-cooltalk ice diff --git a/docs/docroot/index.html b/docs/docroot/index.html new file mode 100644 index 0000000..f5f1c37 --- /dev/null +++ b/docs/docroot/index.html @@ -0,0 +1 @@ +

It works!

diff --git a/docs/doxygen.conf b/docs/doxygen.conf new file mode 100644 index 0000000..dad045a --- /dev/null +++ b/docs/doxygen.conf @@ -0,0 +1,74 @@ +PROJECT_NAME=Apache2 + +# make the generated documentation searchable +SEARCHENGINE=YES +INPUT=. +RECURSIVE=YES +FILE_PATTERNS=*.h + +OUTPUT_DIRECTORY=docs/dox + +#EXTRACT_STATIC=YES +EXTRACT_ALL=YES + +# add documentation for functions that are declared internal use only +INTERNAL_DOCS=YES +HAVE_DOT=YES +CLASS_GRAPH=YES + + +ENABLE_PREPROCESSING=YES +MACRO_EXPANSION=YES +QUIET=YES +EXPAND_ONLY_PREDEF=YES +#EXPAND_AS_DEFINED= +# not sure why this doesn't work as EXPAND_AS_DEFINED, it should! +PREDEFINED="APR_DECLARE(x)=x" \ + "APR_DECLARE_NONSTD(x)=x" \ + "AP_DECLARE_HOOK(ret,name,args)=ret name args;" \ + "APR_DECLARE_OPTIONAL_FN(ret,name,args)=ret name args;" \ + "APR_DECLARE_EXTERNAL_HOOK(ns,link,ret,name,args)= ret ns##_hook_##name args;" \ + "AP_DECLARE(x)=x" \ + "AP_DECLARE_NONSTD(x)=x" \ + AP_CORE_DECLARE(x)=x \ + "AP_CORE_DECLARE_NONSTD(x)=x" \ + "APR_HAS_THREADS" \ + "APR_HAS_MMAP" \ + APR_HAS_INLINE \ + APR_HAS_FLOCK_SERIALIZE \ + APR_HAS_SYSVSEM_SERIALIZE \ + APR_HAS_POSIXSEM_SERIALIZE \ + APR_HAS_FCNTL_SERIALIZE \ + APR_HAS_PROC_PTHREAD_SERIALIZE \ + APR_HAS_RWLOCK_SERIALIZE \ + APR_HAS_SHARED_MEMORY \ + APR_HAS_SENDFILE \ + APR_HAS_FORK \ + APR_HAS_RANDOM \ + APR_HAS_XLATE \ + APR_HAS_OTHER_CHILD \ + APR_HAS_DSO \ + APR_HAS_SO_ACCEPTFILTER \ + APR_HAS_UNICODE_FS \ + APR_HAS_PROC_INVOKED \ + APR_HAS_USER \ + APR_HAS_LARGE_FILES \ + APR_HAS_XTHREAD_FILES \ + DOXYGEN= \ + APU_DECLARE_DATA= \ + __pre_nw__= \ + "APU_DECLARE(x)=x" \ + "CACHE_DECLARE(x)=x" \ + "PROXY_DECLARE(x)=x" + + +OPTIMIZE_OUTPUT_FOR_C=YES + +GENERATE_TREEVIEW=YES + +FULL_PATH_NAMES=YES +# some autoconf guru needs to make configure set this correctly... +#STRIP_FROM_PATH=/var/www/lxr/source + +#GENERATE_TAGFILE=docs/dox/httpd.tag +#TAGFILES=../apr/docs/dox/apr.tag=/apr ../apr-util/docs/dox/apu.tag=/apr-util diff --git a/docs/error/HTTP_BAD_GATEWAY.html.var b/docs/error/HTTP_BAD_GATEWAY.html.var new file mode 100644 index 0000000..2288037 --- /dev/null +++ b/docs/error/HTTP_BAD_GATEWAY.html.var @@ -0,0 +1,371 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Proxy server obdržel od nadÅ™azeného + serveru chybnou odpovÄ›Ä. + + + + + + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Der Proxy-Server erhielt eine fehlerhafte Antwort + eines übergeordneten Servers oder Proxies. + + + + + + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The proxy server received an invalid + response from an upstream server. + + + + + + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + El servidor 'proxy' ha recibido; información + no válida del servidor de origen. + + + + + + + + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Le serveur proxy a reçu une réponse + incorrecte de la part d'un serveur supérieur. + + + + + + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Fuair an seachfhreastalaí freagairt neamhbhailí + ó freastalaí thuasthrutha. + + + + + + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il server proxy ha ricevuto una risposta + non valida dal server precedente. + + + + + + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + プロクシサーãƒã¯ä¸Šæµã‚µãƒ¼ãƒã‹ã‚‰ä¸æ­£ãªå¿œç­”ã‚’å—ä¿¡ã—ã¾ã—ãŸã€‚ + + + + + + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 프ë¡ì‹œ 서버가 ë” ìœ—ìª½ì˜ ì„œë²„ë¡œë¶€í„° ìž˜ëª»ëœ ì‘ë‹µì„ ë°›ì•˜ìŠµë‹ˆë‹¤. + + + + + + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De proxy server heeft een ongeldig + antwoord ontvangen van een gecontacteerde server. + + + + + + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Proxyserveren mottok et ugyldig svar fra + en oppstrøms server. + + + + + + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Serwer otrzymał nieprawidłową odpowiedź + od kolejnego serwera. + + + + + + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O servidor proxy recebeu uma resposta + inválida do servidor destino. + + + + + + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O servidor de proxy recebeu uma resposta + inválida de um outro servidor externo a ele. + + + + + + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Serverul proxy a primit un raspuns invalid + de la serverul precedent. + + + + + + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + ПрокÑи-Ñервер получил недопуÑтимый ответ от + вышеÑтоÑщего Ñервера. + + + + + + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + ПоÑреднички Ñервер је примио неиÑправан + одговор од Ñледећег Ñервера у низу. + + + + + + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Proxyservern mottog ett felaktigt svar från + en tidigare server. + + + + + + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Vekil sunucu üstbirim sunucudan + anlamsız bir yanıt aldı. + + + + + + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 代ç†æœåŠ¡å™¨ä»Žä¸Šæ¸¸æœåŠ¡å™¨æ”¶åˆ°äº†æ— æ•ˆçš„å“应。 + + + + + + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 代ç†ä¼ºæœå™¨å¾žä¸ŠéŠä¼ºæœå™¨æ”¶åˆ°äº†ç„¡æ•ˆçš„響應。 + + + + + + + +----------zh-tw-- diff --git a/docs/error/HTTP_BAD_REQUEST.html.var b/docs/error/HTTP_BAD_REQUEST.html.var new file mode 100644 index 0000000..86cce54 --- /dev/null +++ b/docs/error/HTTP_BAD_REQUEST.html.var @@ -0,0 +1,266 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Váš prohlížeÄ (nebo proxy server) vyslal požadavek, + kterému tento server nerozumÄ›l. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Ihr Browser (oder Proxy) hat eine ungültige Anfrage + gesendet, die vom Server nicht beantwortet werden kann. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + Your browser (or proxy) sent a request that + this server could not understand. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + Su navegador (o 'proxy') ha enviado una petición + que el servidor no ha podido entender. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Votre navigateur (ou votre proxy) a envoyé + une demande que ce serveur n'a pas comprise. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Seol do chuid brabhsálaí (nó + seachfhreastalaí) freagairt nárbh fhéidir leis an + fhreastalaí seo a thuisceant. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il tuo browser (o il proxy) ha inviato a + questo server una richiesta incomprensibile. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + ãŠä½¿ã„ã®ãƒ–ラウザ (ã¾ãŸã¯ãƒ—ロクシ) + ãŒã€ã‚µãƒ¼ãƒã®ç†è§£ã§ããªã„リクエストをé€ä¿¡ã—ã¾ã—ãŸã€‚ + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 브ë¼ìš°ì € ë˜ëŠ” 프ë¡ì‹œê°€ + ì´ ì„œë²„ê°€ 처리할 수 없는 ìž˜ëª»ëœ ìš”ì²­ì„ ë³´ëƒˆìŠµë‹ˆë‹¤. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + Uw browser (of proxy) stuurde een vraag die + deze server niet kon begrijpen. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Din nettleser eller proxy sendte en forespørsel + som denne serveren ikke kunne forstÃ¥. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Twoja przeglądarka (lub serwer pośredniczący) wysłał żądanie, + którego ten serwer nie potrafi obsłużyć. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + Seu "browser" (ou o servidor proxy) enviou uma + requisição inválida ao servidor. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O seu browser ou proxy enviou + um pedido que este servidor não compreendeu. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Browserul (sau proxy-ul) dumneavoastra a trimis + serverului o cerere ce nu poate fi procesata. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + ЗапроÑ, поÑланный Вашим браузером (или прокÑи-Ñервером), + Ñодержит ошибку и не может быть обработан. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Ваш читач (или поÑреднички Ñервер) поÑлао је захтев који + овај Ñервер није могао да разуме. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Din webbläsare eller proxy skickade en förfrågan + som denna server inte kunde förstå. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Tarayıcınız (veya vekil sunucunuz) bu sunucunun + anlayamadığı bir istekte bulundu. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 您的æµè§ˆå™¨ï¼ˆæˆ–代ç†ï¼‰å‘é€äº†ä¸€ä¸ªæœåŠ¡å™¨æ— æ³•è§£æžçš„请求。 + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 您的ç€è¦½å™¨ï¼ˆæˆ–代ç†ï¼‰ç™¼é€äº†ä¸€å€‹ä¼ºæœå™¨ç„¡æ³•è§£æžçš„請求。 + + +----------zh-tw-- diff --git a/docs/error/HTTP_FORBIDDEN.html.var b/docs/error/HTTP_FORBIDDEN.html.var new file mode 100644 index 0000000..a8a8d7d --- /dev/null +++ b/docs/error/HTTP_FORBIDDEN.html.var @@ -0,0 +1,476 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + + + Nemáte právo pro přístup do požadovaného adresáře. BuÄ neexistuje žádný + dokument s obsahem (tzv. index), nebo je adresář chránÄ›n proti Ätení. + + + + Nemáte právo pro přístup k požadovanému objektu. + BuÄ je chránÄ›n proti Ätení, nebo není serverem Äitelný. + + + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + + + Der Zugriff auf das angeforderte Verzeichnis ist nicht möglich. + Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis + ist zugriffsgeschützt. + + + + Der Zugriff auf das angeforderte Objekt ist nicht möglich. + Entweder kann es vom Server nicht gelesen werden oder es + ist zugriffsgeschützt. + + + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + + + You don't have permission to access the requested directory. + There is either no index document or the directory is read-protected. + + + + You don't have permission to access the requested object. + It is either read-protected or not readable by the server. + + + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + + + Usted no tiene permiso para acceder al directorio solicitado. + No existe un documento índice, o el directorio está + protegido contra lectura. + + + + Usted no tiene permiso para acceder al objeto solicitado. + El objeto está protegido contra lectura o + el servidor no puede leerlo. + + + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + + + Vous n'avez pas le droit d'accéder au répertoire + demandé. Soit il n'y a pas de document index soit le répertoire + est protégé. + + + + Vous n'avez pas le droit d'accéder à l'objet + demandé. Soit celui-ci est protégé, soit il ne peut + être lu par le serveur. + + + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + + + Níl cead agat rochtain a dhéanamh ar an comhadlann faoi + iarratais. Is féidir nach bhfuil aon doiciméad + innéacs, nó go bhfuil cosaint ar lémh an comhadlann. + + + + Níl cead agat rochtain a dhéanamh ar an aidhm faoi iarratais. + Is féidir go bhfuil cosaint ar lé air, nó go bhfuil + sé doléite don freastalaí. + + + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + + + Non disponi dei permessi necessari per accedere alla + directory richiesta oppure non esiste il documento indice. + + + + Non disponi dei permessi necessari per accedere all'oggetto + richiesto, oppure l'oggetto non può essere letto dal server. + + + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + + + è¦æ±‚ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 + インデックスドキュメントãŒå­˜åœ¨ã—ãªã„ã‹ã€ + ディレクトリã®èª­ã¿è¾¼ã¿ãŒè¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。 + + + + è¦æ±‚ã•ã‚ŒãŸã‚ªãƒ–ジェクトã¸ã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒã‚ã‚Šã¾ã›ã‚“。 + 読ã¿è¾¼ã¿ãŒè¨±å¯ã•ã‚Œã¦ã„ãªã„ã‹ã€ + サーãƒãŒèª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ãŸã‹ã§ã—ょã†ã€‚ + + + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + + + 요청한 ë””ë ‰í† ë¦¬ì— ì ‘ê·¼í•  수 있는 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤. + ë””ë ‰í† ë¦¬ì— ì²« 페ì´ì§€ê°€ 없거나 아니면 ì½ê¸° 보호가 ë˜ì–´ 있습니다. + + + + 요청한 ê°ì²´ì— 접근할 수 있는 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤. + ì½ê¸° 보호가 ë˜ì–´ 있거나 웹서버가 ì½ì„ 수 ì—†ë„ë¡ ë˜ì–´ 있습니다. + + + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + + + U hebt niet de toestemming om toegang te krijgen tot de gevraagde map. + Er is of wel geen index document of de map is beveiligd tegen lezen. + + + + U hebt niet de toestemming om toegang te krijgen tot de gevraagde map. + Die is ofwel beveiligd tegen lezen of onleesbaar door de server. + + + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + + + Du har ikke tilstrekkelige rettigheter for Ã¥ fÃ¥ tilgang til den + ønskede katalogen. Det eksisterer ikke et indeksdokument, eller + katalogen er lesebeskyttet. + + + + Du har ikke tilstrekkelige rettigheter for Ã¥ fÃ¥ adgang til det + ønskede dokumentet. Objektet er lesebeskyttet, eller ikke lesbart + for serveren. + + + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + + + Nie masz prawa dostępu do żądanego katalogu. W katalogu nie + ma indeksu lub katalog jest zabezpieczony przed odczytem. + + + + Nie masz dostępu do żądanego obiektu. Jest on zabezpieczony + przed odczytem lub nie może być odczytany przez serwer. + + + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + + + Você não tem permissão para acessar o + diretório requisitado. + Pode não existir o arquivo de índice ou + o diretório pode estar protegido contra leitura. + + + + Você não tem permissão para acessar o + objeto requisitado. Ele pode estar protegido contra leitura ou + não ser legível pelo servidor. + + + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + + + Não tem permissão para aceder ao directório + que deseja. Ou não existe o documento de índice + ou o directório está protegido contra leitura. + + + + Não tem permissão para aceder ao objecto + que deseja. Este está protegido contra leitura ou + o servidor não o consegue ler. + + + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + + + Nu aveti permisiunea sa accesati directorul cerut. + Nu este nici un document index sau directorul este protejat la citire. + + + + Nu aveti permisiunea sa accesati obiectul cerut. + Este protejat la citire sau nu poate fi citit de server. + + + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + + + У Ð’Ð°Ñ Ð½ÐµÑ‚ прав доÑтупа к Ñтой директории. + ОтÑутÑтвует индекÑный файл, или Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ. + + + + У Ð’Ð°Ñ Ð½ÐµÑ‚ прав доÑтупа к Ñтому объекту. + Файл недоÑтупен Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ, или Ñервер не может его прочитать. + + + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + + + Ðемате дозволу да приÑтупите захтеваном директоријуму. + Могуће је да нема индекÑног документа, или да је директоријум заштићен од читања. + + + + Ðемате дозволу да приÑтупите захтеваном објекту. + Могуће је да је заштићен од читања, или да га Ñервер не може прочитати. + + + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + + + Du har inte tillräckliga rättigheter för att få + tillgång till den önskade katalogen. Det existerar inget + indexdokument eller så är katalogen lässkyddad. + + + + Du har inte tillräckliga rättigheter för att få + tillgång till det önskade objektet. Objektet är + lässkyddat eller inte läsbart för servern. + + + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + + + Talep ettiÄŸiniz dizine eriÅŸim izniniz yok. + Ya dizin içerik dosyası yok, ya da dizin okumaya karşı korumalı. + + + + Talep ettiÄŸiniz dizine eriÅŸim izniniz yok. + Dizin, ya okumaya karşı korumalı + ya da sunucu tarafından okunamıyor. + + + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + + + 您无æƒè®¿é—®æ‰€è¯·æ±‚的目录。 + 这是由于没有主页或该目录ä¸å…许被读å–导致的。 + + + + 您无æƒè®¿é—®æ‰€è¯·æ±‚的对象。 + 它å¯èƒ½ä¸å…许被读å–或无法被æœåŠ¡å™¨è¯»å–。 + + + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + + + 您無權訪å•æ‰€è«‹æ±‚的目錄。 + 這是由於沒有主é æˆ–該目錄ä¸å…許被讀å–導致的。 + + + + 您無權訪å•æ‰€è«‹æ±‚的物件。 + 它å¯èƒ½ä¸å…許被讀å–或無法被伺æœå™¨è®€å–。 + + + + +----------zh-tw-- diff --git a/docs/error/HTTP_GONE.html.var b/docs/error/HTTP_GONE.html.var new file mode 100644 index 0000000..89f6689 --- /dev/null +++ b/docs/error/HTTP_GONE.html.var @@ -0,0 +1,534 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Požadované URL již není na tomto serveru k dispozici, ani není k dispozici + žádná adresa k pÅ™esmÄ›rování. + + + + Informujte, prosím, autora + ">odkazující + stránky, že odkaz je zastaralý. + + + + Pokud jste následovali odkaz z cizí stránky, kontaktujte, prosím, + jejího autora. + + + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Der angeforderte URL existiert auf dem Server nicht mehr + und wurde dauerhaft entfernt. + Eine Weiterleitungsadresse ist nicht verfügbar. + + + + Bitte informieren Sie den Autor der + ">verweisenden + Seite, dass der Link nicht mehr aktuell ist. + + + + Falls Sie einem Link von einer anderen Seite gefolgt sind, + informieren Sie bitte den Autor dieser Seite hierüber. + + + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The requested URL is no longer available on this server and there is no + forwarding address. + + + + Please inform the author of the + ">referring + page that the link is outdated. + + + + If you followed a link from a foreign page, please contact the + author of this page. + + + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + La URL solicitada ya no está disponible en este servidor y + no existe una dirección a la cual remitirle. + + + + Por favor, comunique al autor de la + ">página + que le ha remitido que la URL está obsoleta. + + + + Si usted ha seguido un enlace de una página externa, + por favor contacte con el autor de esa página. + + + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + L'URL demandée n'est plus accessible sur ce serveur et il + n'y a pas d'adresse de redirection. + + + + Nous vous prions d'informer l'auteur de + ">la + page en question que la référence n'est plus valable. + + + + Si vous avez suivi une référence issue d'une page autre, + veuillez contacter l'auteur de cette page. + + + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Níl an URL iarraithe ar fáil ar an fhreastalaí seo + a thuilleadh, agus níl aon seoladh nua ann dó. + + + + Cur in úil do úadar an + ">leathanach + thagarthach go bhfuil an nasc as-dáta, le do thoil. + + + + Má leanfá nasc ó leathanach iasachta, téigh i + dteaghmháil le úadar an leathanach sin, le do thoil. + + + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + L'URL richiesto non è più disponibile su questo server + e non esistono indirizzi verso i quali sia possibile inoltrare + la richiesta. + + + + Per favore, informa l'autore della + ">pagina + di provenienza che il link non è più valido. + + + + Se sei arrivato da una pagina esterna, informa l'autore della + pagina di provenienza che il link non è più valido. + + + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + è¦æ±‚ã•ã‚ŒãŸ URL ã¯æ—¢ã«æœ¬ã‚µãƒ¼ãƒã§ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“ã—〠+ 移動先もã‚ã‹ã‚Šã¾ã›ã‚“。 + + + + " + >å‚照元ページã®è‘—者ã«ã€ + リンクãŒå¤ããªã£ã¦ã„ã‚‹ã“ã¨ã‚’ã”連絡ãã ã•ã„。 + + + + ä»–ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ã®ãƒªãƒ³ã‚¯ã‚’辿ã£ã¦ããŸå ´åˆã¯ã€ + ãã®ãƒšãƒ¼ã‚¸ã®è‘—者ã«ã”連絡ãã ã•ã„。 + + + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 요청한 URLì€ ë” ì´ìƒ ì´ ì„œë²„ì— ë‚¨ì•„ìžˆì§€ 않으며, + ê·¸ ê°ì²´ê°€ 옮겨진 다른 URL ì—­ì‹œ 남아있지 않습니다. + + + + ">ì´ì „ + 페ì´ì§€ì˜ 만든ì´ì—게 주소가 잘못ë˜ì—ˆë‹¤ê³  알려주시기 ë°”ëžë‹ˆë‹¤. + + + + 다른 페ì´ì§€ì˜ ë§í¬ë¥¼ ë”°ë¼ì˜¤ì…¨ë‹¤ë©´, ê·¸ 페ì´ì§€ì˜ 만든ì´ì—게 ì—°ë½ì„ 하시기 + ë°”ëžë‹ˆë‹¤. + + + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De gevraagde URL is niet langer beschikbaar op deze server en er is geen + doorverwijsadres. + + + + Gelieve aan de auteur van + ">deze pagina + te melden dat deze link niet langer actueel is. + + + + Indien u deze link hebt gekregen van een andere pagina, gelieve + de auteur van deze pagina te contacteren. + + + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Den ønskede adressen er ikke lenger tilgjengelig hos denne + serveren og det finnes ingen adresse for videresending. + + + + Venligst informer forfatteren bak + ">den + aktuelle siden om at lenken er utdatert. + + + + Om du fulgte en lenke fra en ekstern side, venligst kontakt + forfatteren bak den siden. + + + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Poszukiwany zasób nie jest już dostępny na tym serwerze i nie + podano nowego adresu zasobu. + + + + Prosimy poinformować autora + ">referującej + strony o nieaktualnym linku. + + + + Jeśli podążyłeś za linkiem z innej strony, skontaktuj się z jej + autorem. + + + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + A URL solicitada não está disponível neste servidor + e não existe um endereço alternativo. + + + + Por favor informe o autor da + ">página + referida que a URL está desatualizada. + + + + Se você seguiu um "link" de uma página externa, por favor + entre em contato com o autor desta página e o informe sobre a + mudança do "link". + + + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O URL desejado já não está disponível + neste servidor e não existe endereço alternativo. + + + + Por favor informe o autor da + ">página + originária que a hiperligação está + desactualizada. + + + + Se chegou aqui a partir de uma hiperligação externa, + por favor contacte o autor dessa página. + + + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + URL-ul cerut nu mai este disponibil pe acest server si nu + exista o adresa de inaintare. + + + + Va rugam informati autorul + ">paginii + referite ca link-ul nu mai este de actualitate. + + + + Va rugam contactati autorul acestei pagini daca ati urmat + un link dintr-o pagina externa. + + + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Документ удалён, и Ð°Ð´Ñ€ÐµÑ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÑутÑтвует. + + + + ПожалуйÑта, Ñообщите автору + ">Ñтраницы, + ÑÑылающейÑÑ Ð½Ð° документ, что ÑÑылка уÑтарела. + + + + ЕÑли Ð’Ñ‹ обратилиÑÑŒ к документу по ÑÑылке Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñтраницы, пожалуйÑта, + Ñообщите её автору об ошибке. + + + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Захтевани УРЛ није више доÑтупан на овом Ñерверу и нема + адреÑе на коју биÑте могли бити проÑлеђени. + + + + Молимо обавеÑтите аутора + ">иÑходишне + Ñтранице да је веза заÑтарела. + + + + Ðко Ñте пратили везу Ñа Ñпољне Ñтранице, молимо обавеÑтите + аутора те Ñтранице. + + + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Den önskade adressen är inte längre tillgänglig hos + denna server och det finns inte någon adress för vidarebefodran. + + + + Vänligen informera författaren bakom + ">den aktuella + sidan att länken är inaktuell. + + + + Om du följde en länk från en extern sida, vänligen + kontakta författaren av den sidan. + + + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Talep ettiÄŸiniz URL artık kullanılabilir deÄŸil + ve herhangi bir yönlendirme de mevcut deÄŸil. + + + + Lütfen + ">istenen sayfanın + yazarına, bu baÄŸlantının güncel olmadığını bildirin. + + + + BaÅŸka bir sunucudaki bir baÄŸlantıyı izleyerek buraya geldiyseniz, + lütfen sözkonusu sayfanın yazarına baÄŸlantının güncel olmadığını bildirin. + + + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 您请求的 URL 在此æœåŠ¡å™¨ä¸Šä¸å†å¯ç”¨ï¼Œä¸”没有设置转å‘的地å€ã€‚ + + + + 请通知">æ¥æºé¡µé¢çš„作者,该链接已过期。 + + + + 如果您从外部页é¢çš„一个链接访问,请è”系该页é¢çš„作者。 + + + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 您請求的 URL 在此伺æœå™¨ä¸Šä¸å†å¯ç”¨ï¼Œä¸”沒有設置轉發的ä½å€ã€‚ + + + + 請通知">來æºé é¢çš„作者,該連çµå·²éŽæœŸã€‚ + + + + 如果您從外部é é¢çš„一個連çµè¨ªå•ï¼Œè«‹è¯ç¹«æ­¤é é¢çš„作者。 + + + + +----------zh-tw-- diff --git a/docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var b/docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var new file mode 100644 index 0000000..b00df31 --- /dev/null +++ b/docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var @@ -0,0 +1,576 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + + + Nastala vnitÅ™ní chyba a server nebyl schopen + dokonÄit Váš požadavek. + + + + Chybová zpráva +
+ + + + Nastala vnitÅ™ní chyba a server nebyl schopen + dokonÄit Váš požadavek. BuÄ je server + pÅ™etížen, nebo doÅ¡lo k chybÄ› v CGI skriptu. + + + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + + + Die Anfrage kann nicht beantwortet werden, da im Server + ein interner Fehler aufgetreten ist. + + + + Fehlermeldung: +
+ + + + Die Anfrage kann nicht beantwortet werden, da im Server + ein interner Fehler aufgetreten ist. + Der Server ist entweder überlastet oder ein Fehler in + einem CGI-Skript ist aufgetreten. + + + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + + + The server encountered an internal error and was + unable to complete your request. + + + + Error message: +
+ + + + The server encountered an internal error and was + unable to complete your request. Either the server is + overloaded or there was an error in a CGI script. + + + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + Se ha producido un error interno en el servidor y no + se ha podido completar su solicitud. + + + + + Mensaje de error:
+ + + + + Se ha producido un error interno en el servidor y no se + ha podido completar su solicitud. O el servidor está + sobrecargado o ha habido un fallo en la ejecución de + un programa CGI. + + + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + + + Le serveur a été victime d'une erreur interne et n'a pas + été capable de faire aboutir votre requête. + + + + Message d'erreur: +
+ + + + Le serveur a été victime d'une erreur interne et n'a pas + été capable de faire aboutir votre requête. + Soit le server est surchargé soit il s'agit d'une erreur dans + le script CGI. + + + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + + + Thit an freastalaí ar earráid inmheánach + agus theip air do chuid iarratais a comhlíonadh. + + + + Teachtaireacht earráide: +
+ + + + Thit an freastalaí ar earráid inmheánach + agus theip air do chuid iarratais a comhlíonadh. + Is féidir go bhfuil an freastalaí + rólóaidithe, nó go raibh earráid + i script CGI éigin. + + + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + + + Il server ha generato un errore interno e non è + in grado di soddisfare la richiesta. + + + + Messaggio di errore: +
+ + + + Il server ha generato un errore interno e non è + in grado di soddisfare la richiesta. Il server potrebbe + essere sovraccarico oppure si è verificato un + errore in uno script CGI. + + + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + + + サーãƒå†…部ã§éšœå®³ãŒç™ºç”Ÿã—〠+ リクエストã«å¿œãˆã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ + + + + Error message: +
+ + + + サーãƒå†…部ã§éšœå®³ãŒç™ºç”Ÿã—〠+ リクエストã«å¿œãˆã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ + サーãƒãŒéŽè² è·ã§ã‚ã‚‹ã‹ã€ + CGI スクリプトã«ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã™ã€‚ + + + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + + + ì„œë²„ì— ë‚´ë¶€ 오류가 ë°œìƒí•˜ì—¬ ìš”ì²­ì„ ë까지 처리하지 못했습니다. + + + + 오류 ë‚´ìš©: +
+ + + + ì„œë²„ì— ë‚´ë¶€ 오류가 ìƒê²¨ ìš”ì²­ì„ ë까지 처리하지 못했습니다. + ì„œë²„ì— ê³¼ë¶€í•˜ê°€ 걸렸거나 아니면 CGI í”„ë¡œê·¸ëž¨ì— ì˜¤ë¥˜ê°€ 있었습니다. + + + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + + + + + Foutbericht: +
+ + + + De server kreeg een interne fout en kon + uw vraag niet beantwoorden. De server is overbelast + of er was een fout in een CGI script. + + + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + + + Det inntraff en intern feil hos serveren, og det var ikke mulig å + gjennomføre din forespørsel. + + + + Feilmelding: +
+ + + + Det inntraff en intern feil hos serveren, og det var ikke mulig Ã¥ + gjennomføre din forespørsel. Serveren er enten overbelastet, eller + CGI-skriptet inneholder feil. + + + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + + + Serwer napotkał błąd wewnętrzny i nie jest w stanie + zrealizować twojego żądania. + + + + Informacja o błędzie: +
+ + + + Serwer napotkał błąd wewnętrzny i nie jest w stanie + zrealizować twojego żądania. Serwer jest przeciążony lub + napotkał na błąd w skrypcie CGI. + + + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + + + O servidor encontrou um erro interno e não pode + completar sua requisição. + + + + Mensagem de Erro: +
+ + + + O servidor encontrou um erro interno e não + foi possível completar sua requisição. + O servidor está sobrecarregado ou existe um + erro em um script CGI. + + + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + + + O servidor encontrou um erro interno e não pode completar + o seu pedido. + + + + Mensagem de erro: +
+ + + + O servidor encontrou um erro interno e não pode completar + o seu pedido. Ou o servidor está sobrecarregado, ou ocorreu + um erro num script CGI. + + + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + + + Serverul a intalnit o eroare interna si nu a + putut rezolva cererea dumneavoastra. + + + + Mesajul de eroare : +
+ + + + Serverul a intalnit o eroare interna si nu a + putut rezolva cererea dumneavoastra. Serverul este + supraincarcat sau a fost o eroare intr-un script CGI. + + + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + + + Произошла внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера, в результате которой + Ñерверу не удалоÑÑŒ завершить обработку Вашего запроÑа. + + + + Error message: +
+ + + + Произошла внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера, в результате которой + Ñерверу не удалоÑÑŒ завершить обработку Вашего запроÑа. + Сервер перегружен, или в CGI-Ñкрипте обнаружена ошибка. + + + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + + + Сервер је имао унутрашњу грешку и није био + у могућноÑти да иÑпуни ваш захтев. + + + + Порука о грешци: +
+ + + + Сервер је имао унутрашњу грешку и није био + у могућноÑти да иÑпуни ваш захтев. Могуће је да је Ñервер + преоптерећен, или да Ñе деÑила грешка у CGI Ñкрипти. + + + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + + + Servern råkade ut för ett internt fel och det var inte möjligt + att slutföra din begäran. + + + + Felmeddelande: +
+ + + + Servern råkade ut för ett internt fel och det var inte möjligt + att slutföra din begäran. Servern är antingen överbelastad + eller så innehåller CGI-skriptet fel. + + + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + + + Sunucuda içsel bir hata oluÅŸtuÄŸundan sunucu isteÄŸinizi yerine getiremiyor. + + + + Hata iletisi: +
+ + + + Sunucuda içsel bir hata oluÅŸtuÄŸundan sunucu isteÄŸinizi yerine getiremiyor. + Ya sunucu aşırı yüklü ya da CGI betiÄŸinde bir hata oluÅŸtu. + + + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + + + æœåŠ¡å™¨å‘生了内部错误,无法处ç†æ‚¨çš„请求。 + + + + 错误信æ¯ï¼š +
+ + + + æœåŠ¡å™¨å‘生了内部错误,无法处ç†æ‚¨çš„请求。原因å¯èƒ½æ˜¯æœåŠ¡å™¨è¿‡è½½æˆ–在 CGI 脚本中出错。 + + + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + + + 伺æœå™¨ç™¼ç”Ÿäº†å…§éƒ¨éŒ¯èª¤ï¼Œç„¡æ³•è™•ç†æ‚¨çš„請求。 + + + + 錯誤資訊: +
+ + + + 伺æœå™¨ç™¼ç”Ÿäº†å…§éƒ¨éŒ¯èª¤ï¼Œç„¡æ³•è™•ç†æ‚¨çš„請求。原因å¯èƒ½æ˜¯ä¼ºæœå™¨è¶…載或在 CGI 腳本中出錯。 + + + + +----------zh-tw-- diff --git a/docs/error/HTTP_LENGTH_REQUIRED.html.var b/docs/error/HTTP_LENGTH_REQUIRED.html.var new file mode 100644 index 0000000..cbc7910 --- /dev/null +++ b/docs/error/HTTP_LENGTH_REQUIRED.html.var @@ -0,0 +1,279 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Požadavek metodou + vyžaduje korektní hlaviÄku Content-Length. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Die Anfrage kann nicht beantwortet werden. + Bei Verwendung der -Methode + muß ein korrekter Content-Length-Header + angegeben werden. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + A request with the + method requires a valid Content-Length header. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + Una petición con el método requiere que el encabezado + Content-Length sea válido. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Une requête utilisant la méthode nécessite un en-tête + Content-Length (indiquant la longueur) valable. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Is gá go mbhéadh ceanntáisc + Content-Length + bhailí do iarratais faoin modh + . + + +----------ga-- + + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Una richiesta con il metodo + + richiede che venga specificato un header Content-Length + valido. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + + メソッドã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã¯ã€ + æ­£ã—ã„ Content-Length ヘッダãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + ë°©ì‹ì„ 쓰는 + ìš”ì²­ì€ ì˜¬ë°”ë¥¸ Content-Length í—¤ë”ë„ í•¨ê»˜ 보내야만 합니다. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + Een vraag met het + type methode heeft een correcte Content-Length lijn nodig. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + En forespørsel med + metoden krever en korrekt Content-Length header. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Żądanie + wymaga poprawnego nagłówka Content-Length. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + Uma requisição + do método + requer um cabeçalho Content-Length válido. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + Um pedido com o método + necessita de um cabeçalho Content-Length válido. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + O cerere cu metoda + necesita un header Content-Length valid. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ метода + должен иметь правильное значение длины в поле Content-Length. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Захтев Ñа + методом мора имати иÑправно Content-Length + (дужина Ñадржаја) заглавље. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + En förfrågan med + metoden kräver ett korrekt Content-Length huvud. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + yöntemini kullanan bir istek + geçerli bir Content-Length (içerik uzunluÄŸu) baÅŸlığı gerektirir. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 对 方法的请求必须带有有效的 + Content-Length 头字段。 + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + å° æ–¹æ³•çš„è«‹æ±‚å¿…é ˆå¸¶æœ‰æœ‰æ•ˆçš„ + Content-Length 頭欄ä½ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var b/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var new file mode 100644 index 0000000..16a8c91 --- /dev/null +++ b/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var @@ -0,0 +1,269 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Metoda + není pro požadované URL povolena. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Die -Methode + ist für den angeforderten URL nicht erlaubt. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The + method is not allowed for the requested URL. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + No se permite el método + para la URL solicitada. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + La méthode + n'est pas utilisable pour l'URL demandée. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Níl cead an modh + + a úasáid leis an URL iarraithe. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il metodo + non è consentito per l'URL richiesto. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + + メソッドã¯ã€è¦æ±‚ã•ã‚ŒãŸ URL ã«å¯¾ã—ã¦ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。 + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + ë°©ì‹ì€ + 요청한 URLì— ì‚¬ìš©í•  수 없습니다. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + Het + type methode is niet toegelaten voor de gevraagde URL. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + metoden er ikke + tillatt for den forespurte adressen. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Metoda + jest niedozwolona dla podanego URL-a. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O método + não é permitido para a URL requisitada. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O método não + é permitido para o URL pedido. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Metoda + nu este permisa pentru URL-ul cerut. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Метод + Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ к запрашиваемому реÑурÑу. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + + метод није дозвољен за захтевани УРЛ. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + + metoden är inte tillåten för den förfrågade + adressen. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + + yöntemi istediÄŸiniz URL için kullanılamaz. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 在请求的 URL 上ä¸å…许使用 + 方法。 + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 在請求的 URL 上ä¸å…許使用 + 方法。 + + +----------zh-tw-- diff --git a/docs/error/HTTP_NOT_FOUND.html.var b/docs/error/HTTP_NOT_FOUND.html.var new file mode 100644 index 0000000..9a8be31 --- /dev/null +++ b/docs/error/HTTP_NOT_FOUND.html.var @@ -0,0 +1,536 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Požadované URL nebylo na tomto serveru nalezeno. + + + + Zdá se, že odkaz na + ">odkazující + stránce je chybný nebo zastaralý. Informujte, prosím, autora + ">této stránky + o chybÄ›. + + + + Pokud jste zadal(a) URL ruÄnÄ›, zkontrolujte, prosím, + zda jste zadal(a) URL správnÄ›, a zkuste to znovu. + + + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Der angeforderte URL konnte auf dem Server nicht gefunden werden. + + + + Der Link auf der + ">verweisenden + Seite scheint falsch oder nicht mehr aktuell zu sein. + Bitte informieren Sie den Autor + ">dieser Seite + über den Fehler. + + + + Sofern Sie den URL manuell eingegeben haben, + überprüfen Sie bitte die Schreibweise und versuchen Sie es erneut. + + + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The requested URL was not found on this server. + + + + The link on the + ">referring + page seems to be wrong or outdated. Please inform the author of + ">that page + about the error. + + + + If you entered the URL manually please check your + spelling and try again. + + + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + No se ha localizado la URL solicitada en este servidor. + + + + La URL de la ">página que le ha remitido + parece ser errónea o estar obsoleta. Por favor, informe del error + al autor de ">esa + página. + + + + Si usted ha introducido la URL manualmente, por favor revise su + ortografía e inténtelo de nuevo. + + + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + L'URL demandée n'a pas pu être trouvée sur ce serveur. + + + + La référence sur + ">la page + citée + semble être erronée ou perimée. Nous vous prions + d'informer l'auteur de + ">cette page + de cette erreur. + + + + Si vous avez tapé l'URL à la main, veuillez vérifier + l'orthographe et réessayer. + + + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Níor aimsigh an URL iarraithe ar an fhreastalaí seo. + + + + Is cosúil go bhfuil an nasc ar an + ">leathanach + thagarthach mícheart nó as dáta. + Cur in iúl d'úadar + " + >an leathanach sin go bhfuil earráid ann, le do thoil. + + + + Má chuir tú isteach an URL tú féin, deimhnigh + go bhfuil sé litrithe i gceart agat, agus déan iarracht eile + le do thoil. + + + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + L'URL richiesto non esiste su questo server. + + + + Il link della + ">pagina da cui + sei arrivato potrebbe essere errato o non essere più valido. + Per favore, informa dell'errore l'autore della + ">pagina. + + + + Se hai scritto l'URL a mano, per favore controlla che + non ci siano errori. + + + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + è¦æ±‚ã•ã‚ŒãŸ URL ã¯æœ¬ã‚µãƒ¼ãƒã§ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ + + + + "> + å‚照元ページã®ãƒªãƒ³ã‚¯ãŒé–“é•ã£ã¦ã„ã‚‹ã‹ã€å¤ããªã£ã¦ã—ã¾ã£ã¦ã„るよã†ã§ã™ã€‚ + " + >ページã®è‘—者ã«ã“ã®ã‚¨ãƒ©ãƒ¼ã‚’ãŠçŸ¥ã‚‰ã›ä¸‹ã•ã„。 + + + + ã‚‚ã—手入力㧠URL を入力ã—ãŸå ´åˆã¯ã€ç¶´ã‚Šã‚’確èªã—ã¦å†åº¦ãŠè©¦ã—下ã•ã„。 + + + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 요청한 URLì„ ì´ ì„œë²„ì—ì„œ ì°¾ì„ ìˆ˜ 없습니다. + + + + ">ì´ì „ + 페ì´ì§€ì— 있는 ë§í¬ê°€ 잘못ë˜ì—ˆê±°ë‚˜ 오래ë˜ì–´ 없어진 것 같습니다. + ">ê·¸ 페ì´ì§€ë¥¼ + 만든ì´ì—게 ì´ ì‚¬ì‹¤ì„ ì•Œë ¤ì£¼ì‹œê¸° ë°”ëžë‹ˆë‹¤. + + + + URLì„ ì§ì ‘ 입력하셨다면 바르게 입력하셨는지 확ì¸í•˜ì‹œê³  다시 ì‹œë„하시기 + ë°”ëžë‹ˆë‹¤. + + + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De gevraagde URL was niet gevonden op deze server. + + + + De link op + ">deze pagina + pagina is verkeerd of achterhaald. Gelieve de auteur van + ">die pagina + in te lichten over deze fout. + + + + Indien u de URL manueel hebt ingevuld, gelieve uw + spelling te controleren en probeer opnieuw. + + + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Den etterspurte adressen finnes ikke pÃ¥ denne serveren. + + + + Lenken pÃ¥ den + ">forrige siden +ser ut til Ã¥ være feil eller utdatert. Venligst informer forfatteren av + ">siden + om feilen. + + + + Om du skrev inn adressen manuelt, vennligst kontroller stavingen og + forsøk igjen. + + + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Nie znaleziono żądanego URL-a na tym serwerze. + + + + Odnośnik na + ">referującej stronie + wydaje się być nieprawidłowy lub nieaktualny. Poinformuj autora + ">tej strony + o problemie. + + + Jeśli wpisałeś URL-a ręcznie, sprawdź, czy się nie pomyliłeś. + + + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + A URL requisitada não foi encontrada neste servidor. + + + + O link na + ">página + referida parece estar com algum erro ou desatualizado. Por favor informe o + autor ">desta + página sobre o erro. + + + + Se você digitou o endereço (URL) manualmente, + por favor verifique novamente a sintaxe do endereço. + + + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O método não + é permitido para o URL pedido. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + URL-ul cerut nu a fost gasit pe acest server. + + + + Link-ul de pe + ">pagina + de unde ati venit pare a fi gresit sau invechit. Va rugam informati autorul + ">acestei pagini + despre eroare. + + + + Daca ati introdus URL-ul manual, va rugam verificati + corectitudinea si incercati din nou. + + + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Запрашиваемый реÑÑƒÑ€Ñ Ð½Ðµ найден. + + + + СÑылка на + ">Ñтранице + неверна или уÑтарела. ПожалуйÑта, Ñообщите автору + ">Ñтой Ñтраницы + об ошибке. + + + + ЕÑли Ð’Ñ‹ ввели Ð°Ð´Ñ€ÐµÑ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ реÑурÑа вручную, пожалуйÑта, удоÑтовертеÑÑŒ, + что в напиÑании адреÑа нет ошибок. + + + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Захтевани УРЛ није пронађен на овом Ñерверу. + + + + Изгледа да је веза на + ">иÑходишној + Ñтраници погрешна или заÑтарела. Молимо обавеÑтите аутора + ">те Ñтранице + о грешци. + + + + Уколико Ñте УРЛ унели ручно, молимо проверите могуће + грешке и пробајте поново. + + + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Den efterfrågade adressen hittades inte på denna server. + + + + Länken på den + ">tidigare sidan + verkar vara felaktig eller inaktuell. Vänligen informera författaren av + ">sidan + om felet. + + + + Om du skrev in adressen manuellt så kontrollera din stavning och + försök igen. + + + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Talep ettiÄŸiniz URL, sunucu üzerinde bulunmuyor. + + + + ">Ä°stek yapılan sayfa + üzerindeki baÄŸlantı güncel deÄŸil. Lütfen ">sayfa yazarını hata hakkında bilgilendirin. + + + + URL'yi elle girdiyseniz, yazdıklarınızı gözden geçirip yeniden deneyin. + + + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 您请求的 URL 在该æœåŠ¡å™¨ä¸Šæœªæ‰¾åˆ°ã€‚ + + + + 您的">æ¥æºé¡µé¢ä¸Šçš„链接å¯èƒ½å‡ºé”™æˆ–过期。 + 请将错误通知给">该页é¢çš„作者。 + + + + 如果您是手动输入的 URL ,请检查拼写并é‡è¯•ã€‚ + + + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 您請求的 URL 在該伺æœå™¨ä¸Šæœªæ‰¾åˆ°ã€‚ + + + + 您的">來æºé é¢ä¸Šçš„連çµå¯èƒ½å‡ºéŒ¯æˆ–éŽæœŸã€‚ + 請將錯誤通知給">該來æºé é¢çš„作者。 + + + + 如果您是手動輸入的 URL ,請檢查拼寫並é‡è©¦ã€‚ + + + + +----------zh-tw-- diff --git a/docs/error/HTTP_NOT_IMPLEMENTED.html.var b/docs/error/HTTP_NOT_IMPLEMENTED.html.var new file mode 100644 index 0000000..67f596e --- /dev/null +++ b/docs/error/HTTP_NOT_IMPLEMENTED.html.var @@ -0,0 +1,254 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Server nepodporuje akci požadovanou prohlížeÄem. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Die vom Browser angeforderte Aktion wird vom Server + nicht unterstützt. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The server does not support the action requested by the browser. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + El servidor no soporta la acción + solicitada por el navegador. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Le serveur n'est pas en mesure d'effectuer l'action + demandée par le navigateur. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Níl tacaíocht ag an fhreastalaí don gníomh + atá á iarraidh ag an mbrabhsálaí. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il server non supporta il tipo di azione richiesta dal browser. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + ブラウザã®è¦æ±‚ã—ãŸã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。 + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 브ë¼ìš°ì €ê°€ 보낸 ìš”ì²­ì„ ì´ ì„œë²„ê°€ 지ì›í•˜ì§€ 않습니다. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De server ondersteunt de actie, gevraagd door de browser, niet. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Serveren støtter ikke den handlingen som ønskes utført av + nettleseren. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Ten serwer nie obsługuje żądania przesłanego przez przeglądarkę. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O servidor não suporta a ação requisitada pelo + seu "browser". + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O servidor não suporta a acção pedida pelo + browser. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Serverul nu suporta actiunea ceruta de browser. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Сервер не поддерживает возможноÑтей, необходимых Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ запроÑа. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Сервер не подржава акцију коју је читач захтевао. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Servern stödjer inte den handling som önskades + av webbläsaren. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Sunucu, tarayıcı tarafından istenen eylemi desteklemiyor. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + æœåŠ¡å™¨ä¸æ”¯æŒæµè§ˆå™¨è¯·æ±‚的动作。 + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 伺æœå™¨ä¸æ”¯æ´ç€è¦½å™¨è«‹æ±‚的動作。 + + +----------zh-tw-- diff --git a/docs/error/HTTP_PRECONDITION_FAILED.html.var b/docs/error/HTTP_PRECONDITION_FAILED.html.var new file mode 100644 index 0000000..8bf2716 --- /dev/null +++ b/docs/error/HTTP_PRECONDITION_FAILED.html.var @@ -0,0 +1,257 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Vstupní podmínka pro požadavek o zadané URL nesplnila pozitivní + vyhodnocení. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Die für den Abruf der angeforderten URL notwendige + Vorbedingung wurde nicht erfüllt. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The precondition on the request for the URL failed positive evaluation. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + No se ha evaluado positivamente la pre-condición + de la petición para la URL. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + La précondition pour l'URL demandé a été + évaluée négativement. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Theip meastóireacht an réamhchoinníoll + don iarratais den URL. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + I criteri di precondizione per consentire l'invio dell'URL + richiesto non sono stati soddisfatti. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + 指定ã•ã‚ŒãŸ URL ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ãŠã‘る事å‰æ¡ä»¶ãŒæº€ãŸã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚ + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 미리 주어진 ì¡°ê±´ì´ ë§Œì¡±ë˜ì§€ ì•Šì•„ì„œ URL ìš”ì²­ì„ ì²˜ë¦¬í•  수 없습니다. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + Een startvoorwaarde werd niet voldaan bij verwerking van de vraag naar de URL. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Den nødvendige forutsetningen for forespørselen passerte ikke + vurderingen med positivt resultat. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Warunek wstępny dla URL-a nie został spełniony. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + A condição necessária para a + requisição da URL foi avaliada como falsa. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + A condição necessária ao pedido do URL + foi avaliada com resultado negativo. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Preconditionarea pentru cererea URL-ului nu a fost evaluata pozitiv. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + УÑловие в запроÑе к данному реÑурÑу не было выполнено. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + ПредуÑлов за захтев УРЛ-а није иÑпуњен. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Den nödvändiga förutsättningen för + adressförfrågan passerade inte utvärderingen + med acceptabelt resultat. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + URL talebinin önkoÅŸulu olumlanamadı. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 对该 URL å‘é€çš„请求,包å«çš„先决æ¡ä»¶ä¸æˆç«‹ã€‚ + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + å°è©² URL 發é€çš„請求,包å«çš„先決æ¢ä»¶ä¸æˆç«‹ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var b/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var new file mode 100644 index 0000000..c821951 --- /dev/null +++ b/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var @@ -0,0 +1,282 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Metoda + nedovoluje pÅ™enos dat nebo objem dat + pÅ™esahuje kapacitní limit. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Die bei der Anfrage übermittelten Daten sind für + die -Methode + nicht erlaubt oder die Datenmenge hat das Maximum überschritten. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The + method does not allow the data transmitted, or the data volume + exceeds the capacity limit. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + El método + no permite transmitir la información, o el + volumen de la información excede los límites + de capacidad del mismo. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + La méthode + n'autorise pas le transfert de ces données ou bien le volume + des données excède la limite de capacité. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Ní ligeann an modh an + tarchur sonraíocht tríd, nó tá an méid + sonraíocht breis ar an teoireann cumas. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il metodo + non consente di trasferire dati, oppure la quantità di dati + richiesti è eccessiva. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + + メソッドãŒãƒ‡ãƒ¼ã‚¿ã®é€ä¿¡ã‚’許å¯ã—ã¦ã„ãªã„ã‹ã€ + データé‡ãŒè¨±å®¹é‡ã‚’超ãˆã¦ã„ã¾ã™ã€‚ + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + ë°©ì‹ì˜ + 요청으로는 ë‚´ìš©ì„ ë³´ë‚¼ 수 없거나, ë˜ëŠ” 보내온 ë‚´ìš©ì´ ê·¸ ë°©ì‹ì—ì„œ 허용하는 + 최대 길ì´ë¥¼ 넘었습니다. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + Het type methode laat niet toe + data te versturen of het datavolume is groter dan maximaal toegelaten. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + metoden tillater ikke + de sendte data eller sÃ¥ overskrider datamengenden + kapasitetsbegrensningen. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Metoda + nie zezwala na typ przesyłanych danych lub rozmiar danych przekracza + ustalony limit. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O método + não permite a transmissão dos dados, + ou o volume de dados excede a capacidade limite. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O método + não permite todos os dados que foram transmitidos, + ou o volume de dados excede o limite da capacidade. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Metoda + nu permite transmiterea datelor, sau volumul de date + depaseste limita capacitatii. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Тип передаваеиых данных запрещён методом , + или размера тела запроÑа Ñлишком велик. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + + метод не дозвољава Ð¿Ñ€ÐµÐ½Ð¾Ñ Ð¾Ð²Ð¸Ñ… података, или количина података + премашује ограничења могућноÑти. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + metoden tillåter + inte den skickade datan eller så överskrider datavolymen + kapacitetsnivån. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + yöntemi ya veri aktarımına + izin vermiyor ya da veri hacmi iÅŸlenemeyecek kadar büyük. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 方法ä¸å…许传输数æ®ï¼Œæˆ–æ•°æ®é‡è¶…过容é‡é™åˆ¶ã€‚ + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 方法ä¸å…許傳輸資料,或資料é‡è¶…éŽå®¹é‡é™åˆ¶ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_REQUEST_TIME_OUT.html.var b/docs/error/HTTP_REQUEST_TIME_OUT.html.var new file mode 100644 index 0000000..81eeca5 --- /dev/null +++ b/docs/error/HTTP_REQUEST_TIME_OUT.html.var @@ -0,0 +1,270 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Server uzavÅ™el síťové spojení, protože prohlížeÄ + nedokonÄil požadavek ve stanoveném Äase. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Der Server konnte nicht mehr länger auf die Beendigung + der Browseranfrage warten; die Netzwerkverbindung wurde + vom Server geschlossen. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The server closed the network connection because the browser + didn't finish the request within the specified time. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + El servidor ha cerrado la conexión de red + debido a que el navegador no ha finalizado la solicitud + dentro del tiempo permitido. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Le serveur a fermé la connection car le navigateur n'a pas + fini la requête dans le temps spécifié. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Dún an freastalaí an nasc líonra, + mar níor chríochnaidh an brabhsálaí + leis an iarratais, taobh istigh den am sonraithe. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il server ha chiuso la connessione in quanto è stato + superato il limite di tempo entro il quale il browser avrebbe + dovuto eseguire la richiesta. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + ブラウザãŒæŒ‡å®šæ™‚間以内ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’完了ã—ãªã‹ã£ãŸã®ã§ã€ + サーãƒã¯æŽ¥ç¶šã‚’切りã¾ã—ãŸã€‚ + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 브ë¼ìš°ì €ê°€ 너무 오랫ë™ì•ˆ ìš”ì²­ì„ ë내지 ì•Šì•„ì„œ 서버가 ë„¤íŠ¸ì›Œí¬ ì—°ê²°ì„ + 강제로 ëŠì—ˆìŠµë‹ˆë‹¤. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De server heeft de netwerkverbinding gesloten omdat de browser + de vraag niet heeft beëindigd binnen een gestelde tijd. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Serveren stengte forbindelsen fordi nettleseren ikke avsluttet + forespørselen innen tidsgrensen. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Serwer zamknął połączenie sieciowe, ponieważ przeglądarka + nie zakończyła operacji w przewidywanym czasie. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O servidor encerrou a conexão porque o "browser" + não finalizou a requisição dentro + do tempo limite. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O servidor interrompeu a ligação de rede porque o + browser não terminou o pedido dentro do tempo limite. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Serverul a terminat conexiunea cu browserul pentru ca acesta + nu a terminat cererea in limita timpului specificat. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Сервер закрыл Ñоединение из-за иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸, + отведённого браузеру на выполнение запроÑа. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Сервер је прекинуо везу Ñа мрежом јер читач + није завршио захтев за дозвољено време. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Servern stängde förbindelsen därför att + webbläsaren inte avslutade förfrågan inom + förbestämd tid. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Tarayıcı isteÄŸi zamanında tamamlayamadığından sunucu aÄŸ baÄŸlantısını kapattı. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 由于æµè§ˆå™¨æœªåœ¨æŒ‡å®šæ—¶é—´å†…完æˆè¯·æ±‚,æœåŠ¡å™¨å…³é—­äº†ç½‘络连接。 + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 由於ç€è¦½å™¨æœªåœ¨æŒ‡å®šæ™‚間內完æˆè«‹æ±‚,伺æœå™¨é—œé–‰äº†ç¶²è·¯é€£æŽ¥ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var b/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var new file mode 100644 index 0000000..f147cb4 --- /dev/null +++ b/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var @@ -0,0 +1,271 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Délka požadovaného URL pÅ™esahuje kapacitní limit tohoto + serveru. Požadavek nemůže být zpracován. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Der bei der Anfrage übermittelte URI überschreitet + die maximale Länge. + Die Anfrage kann nicht ausgeführt werden. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The length of the requested URL exceeds the capacity limit for + this server. The request cannot be processed. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + La longitud de la URL solicitada excede el límite de + capacidad para este servidor. No se puede procesar la solicitud. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + La longueur de l'URL demandée excède la limite de + capacitè pour ce serveur. Nous ne pouvons donner suite + à votre requête. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Tá faid an URL iarraithe breis ar an teorainn cumas don + freastalaí seo. Ní féidir an iarratas a + phróiseáil. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + La lunghezza dell'indirizzo (URL) trasmesso supera il + limite massimo imposto da questo server. + La richiesta non può essere soddisfatta. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + リクエスト㮠URL ã®é•·ã•ãŒã€æ‰±ãˆã‚‹é•·ã•ã‚’超ãˆã¦ã„ã¾ã™ã€‚ + リクエストã®å‡¦ç†ã‚’続ã‘られã¾ã›ã‚“。 + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 요청한 URLì´ ë„ˆë¬´ 길어서 ì´ ì„œë²„ê°€ 처리할 수 없습니다. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De lengte van de aangeboden URL overschreidt het maximum + voor deze server. De vraag kan niet verwerkt worden. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Lengden pÃ¥ adressen som etterspurtes overskrider + kapasitetsgrensen for denne serveren. Forespørselen kan + ikke prosesseres. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Długość żądanego URL-a przekracza limit ustanowiony dla tego + serwera. Żądanie nie może zostać zrealizowane. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O tamanho do endereço (URL) excede a capacidade limite + desse servidor. A requisição não pode ser + processada. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O tamanho do URL pedido excede o limite da capacidade deste + servidor. O pedido não pode ser processado. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Lungimea URL-ului cerut depaseste limita capacitatii pentru + acest server. Cererea nu poate fi procesata. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Длина запрашиваемого URL превышает макÑимально допуÑтимую + Ñервером. Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ может быть обработан. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Дужина захтеваног УРЛ-а премашује ограничења могућноÑти + овог Ñервера. Захтев не може бити обрађен. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Längden på adressen som efterfrågas överskrider + kapacitetsgränsen för denna server. Förfrågan kan + inte verkställas. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Talep edilen URI'nin uzunluÄŸu, sunucunun sınırlarını + aÅŸtığından istek yerine getirilemiyor. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 请求 URL 的长度超出了æœåŠ¡å™¨çš„长度é™åˆ¶ã€‚该请求无法处ç†ã€‚ + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 請求 URL 的長度超出了伺æœå™¨çš„長度é™åˆ¶ã€‚該請求無法處ç†ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var b/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var new file mode 100644 index 0000000..6f9fb6b --- /dev/null +++ b/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var @@ -0,0 +1,286 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Server doÄasnÄ› nemůže zpracovat Váš požadavek + kvůli údržbÄ› nebo kapacitním problémům. + Zkuste to, prosím, pozdÄ›ji. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Der Server ist derzeit nicht in der Lage die Anfrage + zu bearbeiten. Entweder ist der Server derzeit überlastet + oder wegen Wartungsarbeiten nicht verfügbar. + Bitte versuchen Sie es später wieder. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The server is temporarily unable to service your + request due to maintenance downtime or capacity + problems. Please try again later. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + El servidor no puede procesar su solicitud en este momento + debido a tareas de mantenimiento o a problemas de capacidad. + Por favor, inténtelo de nuevo más tarde. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + En raison de travaux de maintenance ou de problèmes + de capacité le serveur n'est pas en mesure de répondre + à votre requête pour l'instant. Veuillez réessayer + plus tard. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Níl an freastalaí seo in ann do chuid + iarratais a líonadh ag an am seo, toisc + cóthábháil nó fhaidhbeanna cumas. + Déan iarracht eile níos déanaí, le do thoil. + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il server in questo momento non è in grado di + soddisfare la richiesta per motivi di manutenzione + o di sovraccarico del sistema. + Per favore, riprova più tardi. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + メンテナンスã§åœæ­¢ä¸­ã‹ã€ã‚µãƒ¼ãƒã®å‡¦ç†èƒ½åŠ›ã®å•é¡Œã®ãŸã‚〠+ ç¾åœ¨ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œã˜ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 + 後ã»ã©å†åº¦ãŠè©¦ã—下ã•ã„。 + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 관리 ìž‘ì—…ì´ë‚˜ 용량 문제로 서버가 ìž ì‹œë™ì•ˆ ìš”ì²­ì„ ì²˜ë¦¬í•  수 없습니다. + ë‚˜ì¤‘ì— ë‹¤ì‹œ ì‹œë„해주시기 ë°”ëžë‹ˆë‹¤. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De server kan tijdelijk uw vraag niet verwerken + door onderhoud of problemen met de capaciteit van de server. + Gelieve later nog eens opnieuw te proberen. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Serveren er midlertidig ikke i stand til Ã¥ utføre din + forespørsel. Vennligst prøv igjen senere. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Serwer nie może zrealizować twojego żądania + ze względu na konserwację lub zbyt duże obciążenie. + Prosimy spróbować później. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O servidor está temporariamente fora de serviço + para manutanção ou devido a problemas de capacidade. + Por favor tente acessar mais tarde. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O servidor está temporáriamente incapaz de servir + o seu pedido devido a uma interrupção para + manutenção ou problemas de capacidade. Por favor + tente de novo mais tarde. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Serverul nu poate, temporar, sa raspunda cererii + dumneavoastra datorita intretinerii acestuia sau a + unor probleme de capacitate. Va rugam incercati mai tarziu. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Сервер временно не имеет возможноÑти обработать Ваш Ð·Ð°Ð¿Ñ€Ð¾Ñ + по техничеÑким причинам. ПожалуйÑта, повторите позже. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Сервер тренутно није у могућноÑти да уÑлужи ваш + захтев пошто је затворен због одржавања или има недовољан + капацитет. Молимо покушајте поново каÑније. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Servern är för tillfället oförmögen att + utföra din förfrågan på grund av underhåll + eller kapacitetsbegränsningar. Vänligen försök + igen senare. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Sunucu, bakım gerektiren çeÅŸitli sorunlardan ötürü, + bir süreliÄŸine taleplerinize yanıt veremiyor. + Lütfen daha sonra tekrar deneyin. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 由于æœåŠ¡å™¨ç»´æŠ¤æˆ–负载问题,æœåŠ¡å™¨æš‚时无法处ç†æ‚¨çš„请求。请ç¨åŽé‡è¯•ã€‚ + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 由於伺æœå™¨ç¶­è­·æˆ–負載å•é¡Œï¼Œä¼ºæœå™¨æš«æ™‚無法處ç†æ‚¨çš„請求。請ç¨å¾Œé‡è©¦ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_UNAUTHORIZED.html.var b/docs/error/HTTP_UNAUTHORIZED.html.var new file mode 100644 index 0000000..5bd8554 --- /dev/null +++ b/docs/error/HTTP_UNAUTHORIZED.html.var @@ -0,0 +1,423 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Server nemohl ověřit, že jste autorizován(a) k přístupu + k URL "". + BuÄ jste dodal(a) neplatné pověření (napÅ™. chybné heslo) nebo Váš + prohlížeÄ neumí dodat požadované ověření. + + + + V případÄ›, že smíte požadovat tento dokument, zkontrolujte, prosím, + VaÅ¡i uživatelskou identifikaci a heslo a zkuste to znovu. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Der Server konnte nicht verifizieren, ob Sie autorisiert sind, + auf den URL "" zuzugreifen. + Entweder wurden falsche Referenzen (z.B. ein falsches Passwort) + angegeben oder ihr Browser versteht nicht, wie die geforderten + Referenzen zu übermitteln sind. + + + + Sofern Sie für den Zugriff berechtigt sind, überprüfen + Sie bitte die eingegebene User-ID und das Passwort und versuchen Sie + es erneut. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + This server could not verify that you are authorized to access + the URL "". + You either supplied the wrong credentials (e.g., bad password), or your + browser doesn't understand how to supply the credentials required. + + + + In case you are allowed to request the document, please + check your user-id and password and try again. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + El servidor no puede certificar que usted esté autorizado + para acceder a la URL "". + Ha podido suministrar información incorrecta (ej. + contraseña no válida) o el navegador no sabe + cómo suministrar la información requerida. + + + + En caso de que usted tenga permiso para acceder al documento, + por favor verifique su nombre de usuario y contraseña y + vuélvalo a intentar. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Ce server n'a pas été en mesure de vérifier que + vous êtes autorisé à accéder à cette + URL "". + + Vous avez ou bien fourni des coordonnées erronées + (p.ex. mot de passe inexact) ou bien votre navigateur ne parvient + pas à fournir les données exactes. + + + + Si vous êtes autorisé à requérir le document, + veuillez vérifier votre nom d'utilisateur et votre mot de passe + et réessayer. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Níorbh fhéidir leis an freastalaí a dheimhniú + go bhfuil an údaráis agat rochtain a dheanamh ar an URL + "". Is féidir go + soláthair tú faisnéis mícheart (m.s., + pasfhocail mícheart), nó nach dtuigeann do chuid + brabhsálaí conas an faisnéis is gá a + soláthair i gceart. + + + + Más é gur ceart go mbhéadh cead agat iarratais a + dheanamh don doiciméid, deimhnigh go bhfuil do chuid ainm + úsáideora agus pasfhocal i gceart, agus dean iarracht eile, + le do thoil. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Questo server non può verificare l'autorizzazione + all'accesso a "". + Questo errore potrebbe essere causato da credenziali errate + (nome utente o password errata) oppure da un browser che non + riesce a comunicare il nome utente e la password in modo corretto. + + + + Nel caso in cui ritieni di aver diritto ad accedere al documento, + controlla il nome utente e la password forniti e riprova. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + URL "" + ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ãŒã‚ã‚‹ã“ã¨ã‚’確èªã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ + é–“é•ã£ãŸè³‡æ ¼æƒ…å ± (例ãˆã°ã€èª¤ã£ãŸãƒ‘スワード) を入力ã—ãŸã‹ã€ + ブラウザãŒå¿…è¦ãªè³‡æ ¼æƒ…報をé€ä¿¡ã™ã‚‹æ–¹æ³•ã‚’ç†è§£ã—ã¦ã„ãªã„ã‹ã§ã™ã€‚ + + + + ドキュメントをè¦æ±‚ã§ãã‚‹ç­ˆã§ã‚ã‚‹å ´åˆã¯ã€ + ユーザ ID ã¨ãƒ‘スワードをå†ç¢ºèªã—ã¦ä¸‹ã•ã„。 + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + ì´ ì„œë²„ê°€ "" URLì„ + 접근할 수 있는 ê¶Œí•œì´ ìžˆëŠ”ì§€ 확ì¸í•˜ì§€ 못했습니다. + ìž˜ëª»ëœ ì¸ì¦ ì •ë³´(가령, ìž˜ëª»ëœ ì•”í˜¸)를 보냈거나 아니면 + 사용하시는 브ë¼ìš°ì €ê°€ 필요한 ì¸ì¦ 정보를 어떻게 보내는지 모르는 것입니다. + + + + ì´ ë¬¸ì„œë¥¼ 사용할 수 있ë„ë¡ í—ˆê°€ë¥¼ 받았는ë°ë„ ì´ëŸ°ë‹¤ë©´, + ì‚¬ìš©ìž ID와 암호를 확ì¸í•˜ì‹œê³  다시 ì‹œë„하시기 ë°”ëžë‹ˆë‹¤. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De server kon niet controleren of u gemachtigd bent om toegang te krijgen + tot de URL "". + U hebt zich onvoldoende geauthenticeerd ( vb : verkeerd paswoord ), of + uw browser is niet in staat de nodige authentificatiegegevens door te geven. + + + + Indien u toch gemachtigd bent toegang te krijgen tot het document, + controleer uw gebruikersnaam en paswoord en probeer opnieuw. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Serveren kunne ikke verifisere at du har tillatelse til Ã¥ besøke + adressen "". Enten + oppga du feil opplysninger (f.eks. feil passord) eller sÃ¥ støtter + ikke din nettleser dette autentiseringsystemet. + + + + Om du har tillatelse til Ã¥ besøke siden, vennligst kontroler ditt + brukernavn og passord og forsøk igjen. + + +----------nb-- + + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Serwer nie może zweryfikować, że masz uprawnienia dostępu do + URL-a "". + Nie podałeś prawidłowych danych autoryzacyjnych (np. hasła) + lub twoja przeglądarka nie potrafi ich przesłać. + + + + Jeśli masz prawo dostępu do żądanego dokumentu, sprawdź + podaną nazwę użytkownika i hasło. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + Este servidor não pode autorizar o seu acesso à URL + "". + Você deve ter fornecido dados incorretos (ex. senha errada), ou o seu + "browser" não fornece as credenciais necessárias. + + + + No caso de você realmente possuir permissão para este documento, + por favor checar seu login e sua senha e tentar novamente. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + Este servidor não conseguiu validar a sua autoridade para aceder + ao URL "". + Ou forneceu as credenciais erradas (e.g.: senha incorrecta) + ou o seu browser não sabe como fornecer as credenciais + necessárias. + + + + Caso lhe seja permitido aceder ao documento, por favor verifique o + seu nome de utilizador e senha e tente de novo. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Acest server nu a putut verifica daca sunteti autorizat sa accesati + URL-ul "". + Ati furnizat parametrii de acreditare gresiti (ex: parola gresita), sau browserul + dumneavoastra nu poate furniza aceste detalii de acreditare. + + + + In cazul in care nu va este permis sa cereti un document, va rugam + sa va verificati numele de utilizator si parola si sa incercati din nou. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Сервер не Ñмог проверить данные аутентификации + на доÑтуп к "". + Ð’Ñ‹ предоÑтавили неверные учётные данные (например: пароль), или Ваш + браузер не знает, как их предоÑтавить. + + + + ЕÑли Вам разрешено запрашивать данный документ, пожалуйÑта, + проверьте Ñвои учётные данные и повторите запроÑ. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Овај Ñервер није могао да потврди да Ñте овлашћени да приÑтупите + УРЛ-у "". + Могуће је или да Ñте навели погрешне личне податке (нпр. нетачну лозинку), или да + ваш читач не разуме како да пошаље захтеване личне податке. + + + + Уколико вам је дозвољено да преузимате документ, молимо да + проверите Ñвоје кориÑничко име и лозинку и пробате поново. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Servern kunde inte verifiera att du har tillåtelse att besöka + adressen "". + Antingen angav du felaktiga uppgifter (ex. fel lösenord) eller så + stödjer inte din webbläsare detta autentiseringssätt. + + + + Om du har tillåtelse att besöka sidan, vänligen kontrollera ditt + användarnamn samt lösenord och försök igen. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Sunucu "" adresine eriÅŸim + izninizi doÄŸrulayamadı. Ya saÄŸladığınız kanıtlar yanlış (yanlış parola gibi) + ya da tarayıcınız bu kanıtların nasıl saÄŸlanacağını bilmiyor. + + + + EÄŸer eriÅŸim izniniz olduÄŸuna eminseniz, lütfen kullanıcı adınızı + ve parolanızı gözden geçirip yeniden deneyin. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + æ­¤æœåŠ¡å™¨æ— æ³•éªŒè¯æ‚¨æ˜¯å¦æœ‰æƒè®¿é—® URL ""。 + 原因å¯èƒ½æ˜¯æ‚¨æ供了错误的凭æ®ï¼ˆä¾‹å¦‚,错误的密ç ï¼‰ï¼Œæˆ–您的æµè§ˆå™¨ä¸çŸ¥é“如何æ供所需的凭æ®ã€‚ + + + + 如果您有æƒè®¿é—®è¯¥æ–‡æ¡£ï¼Œè¯·æ£€æŸ¥æ‚¨çš„用户å和密ç å¹¶é‡è¯•ã€‚ + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 此伺æœå™¨ç„¡æ³•é©—證您是å¦æœ‰æ¬Šè¨ªå• URL ""。 + 原因å¯èƒ½æ˜¯æ‚¨æ供了錯誤的憑據(例如,錯誤的密碼),或您的ç€è¦½å™¨ä¸çŸ¥é“如何æ供所需的憑據。 + + + + 如果您有權訪å•è©²æ–‡æª”,請檢查您的使用者å和密碼並é‡è©¦ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var b/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var new file mode 100644 index 0000000..29adee5 --- /dev/null +++ b/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var @@ -0,0 +1,252 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Server nepodporuje typ prostÅ™edku (media) pÅ™eneseného v požadavku. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Das bei der Anfrage übermittelte Format (Media Type) + wird vom Server nicht unterstützt. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + The server does not support the media type transmitted in the request. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + El servidor no soporta el tipo + de medio transmitido en la solicitud. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Le serveur ne supporte pas le type de média utilisé + dans votre requête. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Ní tachaíonn an fhreastalaí an cineáil + meán a sheoladh san iarratais. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Il server non è in grado di gestire il + tipo del formato dei dati trasmesso nella richiesta. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + リクエストã§æŒ‡å®šã•ã‚ŒãŸãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。 + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 요청으로 보내온 미디어 형ì‹ì„ ì´ ì„œë²„ê°€ 지ì›í•˜ì§€ 않습니다. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + De server ondersteunt het gevraagde formaat ( media type ) niet. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + Serveren støtter ikke den mediatypen som ble forespurt. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Serwer nie zna typu danych przesłanych w żądaniu. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + O servidor não suporta o tipo de mídia + transmitida nesta requisição. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + O servidor não suporta o media type transmitido no pedido. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + Serverul nu suporta tipul de date trimise in cerere. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Сервер не поддерживает работу Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ типом данных. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Сервер не подржава врÑту медија пренеÑену у захтеву. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + Servern stödjer inte den mediatyp som skickats i förfrågan. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Sunucu, istekte belirtilen ortam türünü desteklemiyor. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + æœåŠ¡å™¨ä¸æ”¯æŒè¯·æ±‚中传输的媒体类型。 + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 伺æœå™¨ä¸æ”¯æŒè«‹æ±‚中傳輸的媒體型å¼ã€‚ + + +----------zh-tw-- diff --git a/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var b/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var new file mode 100644 index 0000000..9de84b1 --- /dev/null +++ b/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var @@ -0,0 +1,278 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- + + + Varianta požadované entity má sama více variant. Přístup není možný. + + +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- + + + Ein Zugriff auf das angeforderte Objekt bzw. einer + Variante dieses Objektes ist nicht möglich, da es ebenfalls + ein variables Objekt darstellt. + + +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- + + + A variant for the requested entity + is itself a negotiable resource. + Access not possible. + + +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- + + + + Una variante de la entidad solicitada es por si misma + un recurso negociable. + No es posible tener acceso a la entidad. + + +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- + + + Une variante pour l'entité demandée + est elle-même une ressource négociable. + L'accès est impossible. + + +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- + + + Is é ceann de na athraithaí + don aonán iarraithe acmhainn + intráchta féin. + Rochtain dodhéanta. + + +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- + + + Non è possibile accedere all'entità + richiesta perché è essa stessa + una risorsa negoziabile. + + +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- + + + リクエストã•ã‚ŒãŸã‚‚ã®ã® variant + ã¯ãれ自体もã¾ãŸã€ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³å¯èƒ½ãªãƒªã‚½ãƒ¼ã‚¹ã§ã™ã€‚ + アクセスã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ + + +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- + + + 요청한 ê°ì²´ì˜ 형태 ë˜í•œ 여러 형태를 가지고 있어서 + ì ‘ê·¼ì´ ë¶ˆê°€ëŠ¥í•©ë‹ˆë‹¤. + + +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- + + + Een variant van het gevraagde object + is op zich ook een te onderhandelen variant. + Toegang is niet mogelijk. + + +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- + + + En variant av den forespurte enheten er i seg selv en forhandelbar + ressurs. Tilgang ikke mulig. + + +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- + + + Wariant żądanego zasobu jest również zasobem negocjowalnym. + Dostęp jest niemożliwy. + + +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- + + + Uma variante da entidade de requisição + é por si mesma um recurso negociável. + Acesso não é possível. + + +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- + + + A variante relativa à entidade pedida é ela mesma + um recurso negociável. Não é possível + ter acesso. + + +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- + + + O varianta pentru entitatea ceruta + este ea insasi o resursa negociabila. + Accesul nu este posibil. + + +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- + + + Вариант запрашиваемого объекта - и Ñам реÑÑƒÑ€Ñ Ð½ÐµÐ¿Ð¾ÑтоÑнный. + ДоÑтуп к объекту невозможен. + + +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- + + + Варијанта захтеваног ентитета + је и Ñама реÑÑƒÑ€Ñ ÐºÐ¾Ñ˜Ð¸ поÑтоји у више варијанти. + ПриÑтуп није могућ. + + +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- + + + En variant av den förfrågade enheten är i + sig själv en giltig resurs. Åtkomst är inte + möjlig. + + +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- + + + Ä°stenen gösterim çeÅŸidinin kendisi zaten kendi içinde uzlaşımlı. + EriÅŸim mümkün deÄŸil. + + +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- + + + 请求实体的一个å˜å…ƒè‡ªèº«æ˜¯ä¸€ä¸ªå¯è¢«å商的资æºã€‚无法访问。 + + +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- + + + 請求實體的一個變元自身是一個å¯è¢«å”商的資æºã€‚無法訪å•ã€‚ + + +----------zh-tw-- diff --git a/docs/error/README b/docs/error/README new file mode 100644 index 0000000..fd9de91 --- /dev/null +++ b/docs/error/README @@ -0,0 +1,40 @@ + + Multi Language Custom Error Documents + ------------------------------------- + + The 'error' directory contains HTTP error messages in multiple languages. + If the preferred language of a client is available it is selected + automatically via the MultiViews feature. This feature is enabled + by default via the Options, Language and ErrorDocument directives. + + You may configure the design and markup of the documents by modifying + the HTML files in the directory 'error/include'. + + Supported Languages: + + +-----------------------+------------------------------------------+ + | Language | Contributed by | + +-----------------------+------------------------------------------+ + | Brazilian (pt-br) | Ricardo Leite | + | Chinese (zh-cn/zh-tw) | CodeingBoy & popcorner | + | Czech (cs) | Marcel Kolaja | + | Dutch (nl) | Peter Van Biesen | + | English (en) | Lars Eilebrecht | + | French (fr) | Cecile de Crecy | + | German (de) | Lars Eilebrecht | + | Italian (it) | Luigi Rosa | + | Japanese (ja) | TAKAHASHI Makoto | + | Korean (ko) | Jaeho Shin | + | Norwegian BokmÃ¥l (nb) | Tom Fredrik Klaussen | + | Polish (pl) | Tomasz Kepczynski | + | Romanian (ro) | Andrei Besleaga | + | Russian (ru) | Alexander Gaganashvili | + | Serbian (sr) | Nikola Smolenski | + | Spanish (es) | Karla Quintero | + | Swedish (sv) | Thomas Sjögren | + | Turkish (tr) | Emre Sokullu & Nilgün Belma Bugüner | + | Irish (ga) | Noirin Shirley | + +-----------------------+------------------------------------------+ + (Please see http://httpd.apache.org/docs-project/ if you would + like to contribute the pages in an additional language.) + diff --git a/docs/error/contact.html.var b/docs/error/contact.html.var new file mode 100644 index 0000000..bcae258 --- /dev/null +++ b/docs/error/contact.html.var @@ -0,0 +1,153 @@ +Content-language: cs +Content-type: text/html; charset=UTF-8 +Body:----------cs-- +Pokud si myslíte, že toto je chyba serveru, kontaktujte, prosím, +">webmastera. +----------cs-- + +Content-language: de +Content-type: text/html; charset=UTF-8 +Body:----------de-- +Sofern Sie dies für eine Fehlfunktion des Servers halten, +informieren Sie bitte den +">Webmaster +hierüber. +----------de-- + +Content-language: en +Content-type: text/html; charset=UTF-8 +Body:----------en-- +If you think this is a server error, please contact +the ">webmaster. +----------en-- + +Content-language: es +Content-type: text/html +Body:----------es-- +Si usted cree que esto es un error del servidor, por favor comuníqueselo al +">administrador +del portal. +----------es-- + +Content-language: fr +Content-type: text/html; charset=UTF-8 +Body:----------fr-- +Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le +">webmestre. +----------fr-- + +Content-language: ga +Content-type: text/html; charset=UTF-8 +Body:----------ga-- +Má cheapann tú gur earráid fhreastalaí í seo, +téigh i dteagmháil leis an +"> +stiúrthóir gréasáin, le do thoil. +----------ga-- + +Content-language: it +Content-type: text/html; charset=UTF-8 +Body:----------it-- +Se pensi che questo sia un errore del server, per favore contatta il +">webmaster. +----------it-- + +Content-language: ja +Content-type: text/html; charset=UTF-8 +Body:----------ja-- +サーãƒãƒ¼ã®éšœå®³ã¨æ€ã‚れる場åˆã¯ã€" +>ウェブ管ç†è€…ã¾ã§ã”連絡ãã ã•ã„。 +----------ja-- + +Content-language: ko +Content-type: text/html; charset=UTF-8 +Body:----------ko-- +만약 ì´ê²ƒì´ 서버 오류ë¼ê³  ìƒê°ë˜ë©´, +">웹 관리ìžì—게 ì—°ë½í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤. +----------ko-- + +Content-language: nl +Content-type: text/html; charset=UTF-8 +Body:----------nl-- +Indien u van oordeel bent dat deze server in fout is, gelieve +de ">webmaster te contacteren. +----------nl-- + +Content-language: nb +Content-type: text/html; charset=UTF-8 +Body:----------nb-- +Om du tror dette skyldes en serverfeil, venligst kontakt +">webansvarlig. +----------nb-- + +Content-language: pl +Content-type: text/html; charset=UTF-8 +Body:----------pl-- +Jeśli myślisz, że jest to błąd tego serwera, skontaktuj się z +">administratorem. +----------pl-- + +Content-language: pt-br +Content-type: text/html; charset=UTF-8 +Body:-------pt-br-- +Se você acredita ter encontrado um problema no servidor, +por favor entre em contato com o +">webmaster. +-------pt-br-- + +Content-language: pt +Content-type: text/html; charset=ISO-8859-1 +Body:----------pt-- +Se considera que o servidor está errado, por favor contacte o +">webmaster. +----------pt-- + +Content-language: ro +Content-type: text/html; charset=UTF-8 +Body:----------ro-- +Va rugam sa il contactati pe +">webmaster +in cazul in care credeti ca aceasta este o eroare a serverului. +----------ro-- + +Content-language: ru +Content-type: text/html; charset=UTF-8 +Body:----------ru-- +ЕÑли Ð’Ñ‹ Ñчитаете, что Ñто ошибка Ñервера, пожалуйÑта, Ñообщите об Ñтом +">веб-маÑтеру. +----------ru-- + +Content-language: sr +Content-type: text/html; charset=UTF-8 +Body:----------sr-- +Ðко миÑлите да је ово грешка Ñервера, молимо обавеÑтите +">вебмаÑтера. +----------sr-- + +Content-language: sv +Content-type: text/html; charset=UTF-8 +Body:----------sv-- +Om du tror att detta beror på ett serverfel, vänligen kontakta +">webbansvarig. +----------sv-- + +Content-language: tr +Content-type: text/html; charset=UTF-8 +Body:----------tr-- +Bunun bir sunucu hatası olduğunu düşÃ¼nüyorsanız, lütfen +">site +yöneticisi ile iletişime geçin. +----------tr-- + +Content-language: zh-cn +Content-type: text/html; charset=UTF-8 +Body:----------zh-cn-- +如果您认为这是一个æœåŠ¡å™¨é”™è¯¯ï¼Œè¯·è”ç³»">网站管ç†å‘˜ã€‚ +----------zh-cn-- + +Content-language: zh-tw +Content-type: text/html; charset=UTF-8 +Body:----------zh-tw-- +如果您èªç‚ºé€™æ˜¯ä¸€å€‹ä¼ºæœå™¨éŒ¯èª¤ï¼Œè«‹è¯ç¹«">網站管ç†å“¡ã€‚ +----------zh-tw-- diff --git a/docs/error/include/bottom.html b/docs/error/include/bottom.html new file mode 100644 index 0000000..971de02 --- /dev/null +++ b/docs/error/include/bottom.html @@ -0,0 +1,12 @@ +

+

+ +

+ +

Error

+
+
+ +
+ + diff --git a/docs/error/include/spacer.html b/docs/error/include/spacer.html new file mode 100644 index 0000000..7d5e595 --- /dev/null +++ b/docs/error/include/spacer.html @@ -0,0 +1,2 @@ +

+

diff --git a/docs/error/include/top.html b/docs/error/include/top.html new file mode 100644 index 0000000..ae63020 --- /dev/null +++ b/docs/error/include/top.html @@ -0,0 +1,21 @@ + + +" xml:lang=""> + +<!--#echo encoding="none" var="TITLE" --> +" /> + + + + +

+

diff --git a/docs/icons/README b/docs/icons/README new file mode 100644 index 0000000..48250d5 --- /dev/null +++ b/docs/icons/README @@ -0,0 +1,166 @@ +Public Domain Icons + + These icons were originally made for Mosaic for X and have been + included in the NCSA httpd and Apache server distributions in the + past. They are in the public domain and may be freely included in any + application. The originals were done by Kevin Hughes (kevinh@kevcom.com). + Andy Polyakov tuned the icon colors and added a few new images. + + If you'd like to contribute additions to this set, contact the httpd + documentation project . + + Almost all of these icons are 20x22 pixels in size. There are + alternative icons in the "small" directory that are 16x16 in size, + provided by Mike Brown (mike@hyperreal.org). + +Suggested Uses + +The following are a few suggestions, to serve as a starting point for ideas. +Please feel free to tweak and rename the icons as you like. + + a.gif + This might be used to represent PostScript or text layout + languages. + + alert.black.gif, alert.red.gif + These can be used to highlight any important items, such as a + README file in a directory. + + back.gif, forward.gif + These can be used as links to go to previous and next areas. + + ball.gray.gif, ball.red.gif + These might be used as bullets. + + binary.gif + This can be used to represent binary files. + + binhex.gif + This can represent BinHex-encoded data. + + blank.gif + This can be used as a placeholder or a spacing element. + + bomb.gif + This can be used to represent core files. + + box1.gif, box2.gif + These icons can be used to represent generic 3D applications and + related files. + + broken.gif + This can represent corrupted data. + + burst.gif + This can call attention to new and important items. + + c.gif + This might represent C source code. + + comp.blue.gif, comp.gray.gif + These little computer icons can stand for telnet or FTP + sessions. + + compressed.gif + This may represent compressed data. + + continued.gif + This can be a link to a continued listing of a directory. + + down.gif, up.gif, left.gif, right.gif + These can be used to scroll up, down, left and right in a + listing or may be used to denote items in an outline. + + dir.gif + Identical to folder.gif below. + + diskimg.gif + This can represent floppy disk storage. + + dvi.gif + This can represent DVI files. + + f.gif + This might represent FORTRAN or Forth source code. + + folder.gif, folder.open.gif, folder.sec.gif + The folder can represent directories. There is also a version + that can represent secure directories or directories that cannot + be viewed. + + generic.gif, generic.sec.gif, generic.red.gif + These can represent generic files, secure files, and important + files, respectively. + + hand.right.gif, hand.up.gif + These can point out important items (pun intended). + + image1.gif, image2.gif, image3.gif + These can represent image formats of various types. + + index.gif + This might represent a WAIS index or search facility. + + layout.gif + This might represent files and formats that contain graphics as + well as text layout, such as HTML and PDF files. + + link.gif + This might represent files that are symbolic links. + + movie.gif + This can represent various movie formats. + + p.gif + This may stand for Perl or Python source code. + + pie0.gif ... pie8.gif + These icons can be used in applications where a list of + documents is returned from a search. The little pie chart images + can denote how relevant the documents may be to your search + query. + + patch.gif + This may stand for patches and diff files. + + portal.gif + This might be a link to an online service or a 3D world. + + pdf.gif, ps.gif, quill.gif + These may represent PDF and PostScript files. + + screw1.gif, screw2.gif + These may represent CAD or engineering data and formats. + + script.gif + This can represent any of various interpreted languages, such as + Perl, python, TCL, and shell scripts, as well as server + configuration files. + + sound1.gif, sound2.gif + These can represent sound files. + + sphere1.gif, sphere2.gif + These can represent 3D worlds or rendering applications and + formats. + + tar.gif + This can represent TAR archive files. + + tex.gif + This can represent TeX files. + + text.gif + This can represent generic (plain) text files. + + transfer.gif + This can represent FTP transfers or uploads/downloads. + + unknown.gif + This may represent a file of an unknown type. + + uu.gif, uuencoded.gif + This can stand for uuencoded data. + + world1.gif, world2.gif + These can represent 3D worlds or other 3D formats. diff --git a/docs/icons/README.html b/docs/icons/README.html new file mode 100644 index 0000000..a8b82b9 --- /dev/null +++ b/docs/icons/README.html @@ -0,0 +1,815 @@ + + + + + +

Public Domain Icons

+ +

These icons were originally made for Mosaic for X and have been +included in the NCSA httpd and Apache server distributions in the +past. They are in the public domain and may be freely included in any +application. The originals were done by Kevin Hughes (kevinh@kevcom.com). +Andy Polyakov tuned the icon colors and added few new images.

+ +

If you'd like to contribute additions to this set, contact the httpd +documentation project http://httpd.apache.org/docs-project/.

+ +

Almost all of these icons are 20x22 pixels in size. There are +alternative icons in the "small" directory that are 16x16 in size, +provided by Mike Brown (mike@hyperreal.org).

+ +

Suggested Uses

+ +

The following are a few suggestions, to serve as a starting point for ideas. +Please feel free to tweak and rename the icons as you like.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ a.gif +
a.png
This might be used to represent PostScript or text layout +languages.
+ alert.black.gif +
alert.black.png
+ alert.red.gif +
alert.red.png
These can be used to highlight any important items, +such as a README file in a directory.
+ back.gif +
back.png
+ forward.gif +
forward.png
+ small.gif +
small/back.png
+ small/forward.gif +
small/forward.png
These can be used as links to go to previous and next +areas.
+ ball.gray.gif +
ball.gray.png
+ ball.red.gif +
ball.red.png
These might be used as bullets.
+ binary.gif +
binary.png
+ small/binary.gif +
small/binary.png
This can be used to represent binary files.
+ binhex.gif +
binhex.png
+ small/binhex.gif +
small/binhex.png
This can represent BinHex-encoded data.
+ blank.gif +
blank.png
+ small/blank.gif +
small/blank.png
This can be used as a placeholder or a spacing +element.
+ bomb.gif +
bomb.png
This can be used to represent core files.
+ box1.gif +
box1.png
+ box2.gif +
box2.png
These icons can be used to represent generic 3D +applications and related files.
+ broken.gif +
broken.png
+ small/broken.gif +
small/broken.png
This can represent corrupted data.
+ burst.gif +
burst.png
+ small/burst.gif +
small/burst.png
This can call attention to new and important items.
+ c.gif +
c.png
This might represent C source code.
+ comp.blue.gif +
comp.blue.png
+ comp.gray.gif +
comp.gray.png
+ small/comp1.gif +
small/comp1.png
+ small/comp2.gif +
small/comp2.png
These little computer icons can stand for telnet or FTP +sessions.
+ compressed.gif +
compressed.png
+ small/compressed.gif +
small/compressed.png
This may represent compressed data.
+ continued.gif +
continued.png
+ small/continued.gif +
small/continued.png
This can be a link to a continued listing of a +directory.
+ down.gif +
down.png
+ up.gif +
up.png
+ left.gif +
left.png
+ right.gif +
right.png
These can be used to scroll up, down, left and right in a +listing or may be used to denote items in an outline.
+ dir.gif +
dir.png
Identical to folder.gif (.png) below.
+ diskimg.gif +
diskimg.png
This can represent floppy disk storage.
+ small/doc.gif +
small/doc.png
This can represent document files.
+ dvi.gif +
dvi.png
This can represent DVI files.
+ f.gif +
f.png
This might represent FORTRAN or Forth source code.
+ folder.gif +
folder.png
+ folder.open.gif +
folder.open.png
+ folder.sec.gif +
folder.sec.png
+ small/folder.gif +
small/folder.png
+ small/folder2.gif +
small/folder2.png
The folder can represent directories. There is also a +version that can represent secure directories or directories that cannot +be viewed.
+ generic.gif +
generic.png
+ generic.sec.gif +
generic.sec.png
+ generic.red.gif +
generic.red.png
+ small/generic.gif +
small/generic.png
+ small/generic2.gif +
small/generic2.png
+ small/generic3.gif +
small/generic3.png
These can represent generic files, secure files, and +important files, respectively.
+ hand.right.gif +
hand.right.png
+ hand.up.gif +
hand.up.png
These can point out important items (pun intended).
+ image1.gif +
image1.png
+ image2.gif +
image2.png
+ image3.gif +
image3.png
+ small/image.gif +
small/image.png
+ small/image2.gif +
small/image2.png
These can represent image formats of various types.
+ index.gif +
index.png
+ small/index.gif +
small/index.png
This might represent a WAIS index or search facility.
+ small/key.gif +
small/key.png
This might represent a locked file.
+ layout.gif +
layout.png
This might represent files and formats that contain +graphics as well as text layout, such as HTML and PDF files.
+ link.gif +
link.png
This might represent files that are symbolic links.
+ movie.gif +
movie.png
+ small/movie.gif +
small/movie.png
This can represent various movie formats.
+ p.gif +
p.png
This may stand for Perl or Python source code.
+ pie0.gif +
pie0.png
+ pie1.gif +
pie1.png
+ pie2.gif +
pie2.png
+ pie3.gif +
pie3.png
+ pie4.gif +
pie4.png
+ pie5.gif +
pie5.png
+ pie6.gif +
pie6.png
+ pie7.gif +
pie7.png
+ pie8.gif +
pie8.png
These icons can be used in applications where a list of +documents is returned from a search. The little pie chart images +can denote how relevant the documents may be to your search query.
+ patch.gif +
patch.png
+ small/patch.gif +
small/patch.png
This may stand for patches and diff files.
+ portal.gif +
portal.png
This might be a link to an online service or a 3D +world.
+ pdf.gif +
pdf.png
+ ps.gif +
ps.png
+ quill.gif +
quill.png
+ small/ps.gif +
small/ps.png
These may represent PDF and PostScript files.
+ screw1.gif +
screw1.png
+ screw2.gif +
screw2.png
These may represent CAD or engineering data and +formats.
+ script.gif +
script.png
This can represent any of various interpreted languages, +such as Perl, python, TCL, and shell scripts, as well as server configuration +files.
+ sound1.gif +
sound1.png
+ sound2.gif +
sound2.png
+ small/sound.gif +
small/sound.png
+ small/sound2.gif +
small/sound2.png
These can represent sound files.
+ sphere1.gif +
sphere1.png
+ sphere2.gif +
sphere2.png
These can represent 3D worlds or rendering applications and +formats.
+ tar.gif +
tar.png
+ small/tar.gif +
small/tar.png
This can represent TAR archive files.
+ tex.gif +
tex.png
This can represent TeX files.
+ text.gif +
text.png
+ small/text.gif +
small/text.png
This can represent generic (plain) text files.
+ transfer.gif +
transfer.png
+ small/transfer.gif +
small/transfer.png
This can represent FTP transfers or uploads/downloads.
+ unknown.gif +
unknown.png
+ small/unknown.gif +
small/unknown.png
This may represent a file of an unknown type.
+ uu.gif +
uu.png
+ uuencoded.gif +
uuencoded.png
+ small/uu.gif +
small/uu.png
This can stand for uuencoded data.
+ world1.gif +
world1.png
+ world2.gif +
world2.png
These can represent 3D worlds or other 3D formats.
+ + diff --git a/docs/icons/a.gif b/docs/icons/a.gif new file mode 100644 index 0000000..bb23d97 Binary files /dev/null and b/docs/icons/a.gif differ diff --git a/docs/icons/a.png b/docs/icons/a.png new file mode 100644 index 0000000..98fd358 Binary files /dev/null and b/docs/icons/a.png differ diff --git a/docs/icons/alert.black.gif b/docs/icons/alert.black.gif new file mode 100644 index 0000000..eaecd21 Binary files /dev/null and b/docs/icons/alert.black.gif differ diff --git a/docs/icons/alert.black.png b/docs/icons/alert.black.png new file mode 100644 index 0000000..60b2952 Binary files /dev/null and b/docs/icons/alert.black.png differ diff --git a/docs/icons/alert.red.gif b/docs/icons/alert.red.gif new file mode 100644 index 0000000..a423894 Binary files /dev/null and b/docs/icons/alert.red.gif differ diff --git a/docs/icons/alert.red.png b/docs/icons/alert.red.png new file mode 100644 index 0000000..27f1924 Binary files /dev/null and b/docs/icons/alert.red.png differ diff --git a/docs/icons/apache_pb.gif b/docs/icons/apache_pb.gif new file mode 100644 index 0000000..2f4137e Binary files /dev/null and b/docs/icons/apache_pb.gif differ diff --git a/docs/icons/apache_pb.png b/docs/icons/apache_pb.png new file mode 100644 index 0000000..fa3f647 Binary files /dev/null and b/docs/icons/apache_pb.png differ diff --git a/docs/icons/apache_pb.svg b/docs/icons/apache_pb.svg new file mode 100644 index 0000000..a7b963f --- /dev/null +++ b/docs/icons/apache_pb.svg @@ -0,0 +1,5879 @@ + + + + + + Powered By: Apache 2.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Powered By: Apache 2.4 + October 2nd, 2012 + + + Daniel Gruno [humbedooh@apache.org] + + + + + Copyright 2012, Apache Software Foundation + + + + + Apache Software Foun + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Powered by httpd 2.4 + + + + + + + + + + + + + + diff --git a/docs/icons/apache_pb2.gif b/docs/icons/apache_pb2.gif new file mode 100644 index 0000000..c81cfc6 Binary files /dev/null and b/docs/icons/apache_pb2.gif differ diff --git a/docs/icons/apache_pb2.png b/docs/icons/apache_pb2.png new file mode 100644 index 0000000..e5af8fb Binary files /dev/null and b/docs/icons/apache_pb2.png differ diff --git a/docs/icons/back.gif b/docs/icons/back.gif new file mode 100644 index 0000000..a694ae1 Binary files /dev/null and b/docs/icons/back.gif differ diff --git a/docs/icons/back.png b/docs/icons/back.png new file mode 100644 index 0000000..a97b41e Binary files /dev/null and b/docs/icons/back.png differ diff --git a/docs/icons/ball.gray.gif b/docs/icons/ball.gray.gif new file mode 100644 index 0000000..eb84268 Binary files /dev/null and b/docs/icons/ball.gray.gif differ diff --git a/docs/icons/ball.gray.png b/docs/icons/ball.gray.png new file mode 100644 index 0000000..75a6b76 Binary files /dev/null and b/docs/icons/ball.gray.png differ diff --git a/docs/icons/ball.red.gif b/docs/icons/ball.red.gif new file mode 100644 index 0000000..a8425cb Binary files /dev/null and b/docs/icons/ball.red.gif differ diff --git a/docs/icons/ball.red.png b/docs/icons/ball.red.png new file mode 100644 index 0000000..983ebd3 Binary files /dev/null and b/docs/icons/ball.red.png differ diff --git a/docs/icons/binary.gif b/docs/icons/binary.gif new file mode 100644 index 0000000..9a15cba Binary files /dev/null and b/docs/icons/binary.gif differ diff --git a/docs/icons/binary.png b/docs/icons/binary.png new file mode 100644 index 0000000..c86d3e9 Binary files /dev/null and b/docs/icons/binary.png differ diff --git a/docs/icons/binhex.gif b/docs/icons/binhex.gif new file mode 100644 index 0000000..62d0363 Binary files /dev/null and b/docs/icons/binhex.gif differ diff --git a/docs/icons/binhex.png b/docs/icons/binhex.png new file mode 100644 index 0000000..5b34c87 Binary files /dev/null and b/docs/icons/binhex.png differ diff --git a/docs/icons/blank.gif b/docs/icons/blank.gif new file mode 100644 index 0000000..0ccf01e Binary files /dev/null and b/docs/icons/blank.gif differ diff --git a/docs/icons/blank.png b/docs/icons/blank.png new file mode 100644 index 0000000..5fd29a8 Binary files /dev/null and b/docs/icons/blank.png differ diff --git a/docs/icons/bomb.gif b/docs/icons/bomb.gif new file mode 100644 index 0000000..270fdb1 Binary files /dev/null and b/docs/icons/bomb.gif differ diff --git a/docs/icons/bomb.png b/docs/icons/bomb.png new file mode 100644 index 0000000..29a1182 Binary files /dev/null and b/docs/icons/bomb.png differ diff --git a/docs/icons/box1.gif b/docs/icons/box1.gif new file mode 100644 index 0000000..65dcd00 Binary files /dev/null and b/docs/icons/box1.gif differ diff --git a/docs/icons/box1.png b/docs/icons/box1.png new file mode 100644 index 0000000..5397132 Binary files /dev/null and b/docs/icons/box1.png differ diff --git a/docs/icons/box2.gif b/docs/icons/box2.gif new file mode 100644 index 0000000..c43bc4f Binary files /dev/null and b/docs/icons/box2.gif differ diff --git a/docs/icons/box2.png b/docs/icons/box2.png new file mode 100644 index 0000000..0e3812e Binary files /dev/null and b/docs/icons/box2.png differ diff --git a/docs/icons/broken.gif b/docs/icons/broken.gif new file mode 100644 index 0000000..9f8cbe9 Binary files /dev/null and b/docs/icons/broken.gif differ diff --git a/docs/icons/broken.png b/docs/icons/broken.png new file mode 100644 index 0000000..2ebe459 Binary files /dev/null and b/docs/icons/broken.png differ diff --git a/docs/icons/burst.gif b/docs/icons/burst.gif new file mode 100644 index 0000000..fbdcf57 Binary files /dev/null and b/docs/icons/burst.gif differ diff --git a/docs/icons/burst.png b/docs/icons/burst.png new file mode 100644 index 0000000..aafaa6d Binary files /dev/null and b/docs/icons/burst.png differ diff --git a/docs/icons/c.gif b/docs/icons/c.gif new file mode 100644 index 0000000..7555b6c Binary files /dev/null and b/docs/icons/c.gif differ diff --git a/docs/icons/c.png b/docs/icons/c.png new file mode 100644 index 0000000..46abf10 Binary files /dev/null and b/docs/icons/c.png differ diff --git a/docs/icons/comp.blue.gif b/docs/icons/comp.blue.gif new file mode 100644 index 0000000..f8d76a8 Binary files /dev/null and b/docs/icons/comp.blue.gif differ diff --git a/docs/icons/comp.blue.png b/docs/icons/comp.blue.png new file mode 100644 index 0000000..8e7e006 Binary files /dev/null and b/docs/icons/comp.blue.png differ diff --git a/docs/icons/comp.gray.gif b/docs/icons/comp.gray.gif new file mode 100644 index 0000000..7664cd0 Binary files /dev/null and b/docs/icons/comp.gray.gif differ diff --git a/docs/icons/comp.gray.png b/docs/icons/comp.gray.png new file mode 100644 index 0000000..521fd76 Binary files /dev/null and b/docs/icons/comp.gray.png differ diff --git a/docs/icons/compressed.gif b/docs/icons/compressed.gif new file mode 100644 index 0000000..39e7327 Binary files /dev/null and b/docs/icons/compressed.gif differ diff --git a/docs/icons/compressed.png b/docs/icons/compressed.png new file mode 100644 index 0000000..1959b85 Binary files /dev/null and b/docs/icons/compressed.png differ diff --git a/docs/icons/continued.gif b/docs/icons/continued.gif new file mode 100644 index 0000000..b0ffb7e Binary files /dev/null and b/docs/icons/continued.gif differ diff --git a/docs/icons/continued.png b/docs/icons/continued.png new file mode 100644 index 0000000..b21bd3b Binary files /dev/null and b/docs/icons/continued.png differ diff --git a/docs/icons/dir.gif b/docs/icons/dir.gif new file mode 100644 index 0000000..4826460 Binary files /dev/null and b/docs/icons/dir.gif differ diff --git a/docs/icons/dir.png b/docs/icons/dir.png new file mode 100644 index 0000000..df03153 Binary files /dev/null and b/docs/icons/dir.png differ diff --git a/docs/icons/diskimg.gif b/docs/icons/diskimg.gif new file mode 100644 index 0000000..49b12a8 Binary files /dev/null and b/docs/icons/diskimg.gif differ diff --git a/docs/icons/diskimg.png b/docs/icons/diskimg.png new file mode 100644 index 0000000..d8f04c2 Binary files /dev/null and b/docs/icons/diskimg.png differ diff --git a/docs/icons/down.gif b/docs/icons/down.gif new file mode 100644 index 0000000..a354c87 Binary files /dev/null and b/docs/icons/down.gif differ diff --git a/docs/icons/down.png b/docs/icons/down.png new file mode 100644 index 0000000..60f2a39 Binary files /dev/null and b/docs/icons/down.png differ diff --git a/docs/icons/dvi.gif b/docs/icons/dvi.gif new file mode 100644 index 0000000..791be33 Binary files /dev/null and b/docs/icons/dvi.gif differ diff --git a/docs/icons/dvi.png b/docs/icons/dvi.png new file mode 100644 index 0000000..463e1aa Binary files /dev/null and b/docs/icons/dvi.png differ diff --git a/docs/icons/f.gif b/docs/icons/f.gif new file mode 100644 index 0000000..fbe353c Binary files /dev/null and b/docs/icons/f.gif differ diff --git a/docs/icons/f.png b/docs/icons/f.png new file mode 100644 index 0000000..8c89b27 Binary files /dev/null and b/docs/icons/f.png differ diff --git a/docs/icons/folder.gif b/docs/icons/folder.gif new file mode 100644 index 0000000..4826460 Binary files /dev/null and b/docs/icons/folder.gif differ diff --git a/docs/icons/folder.open.gif b/docs/icons/folder.open.gif new file mode 100644 index 0000000..30979cb Binary files /dev/null and b/docs/icons/folder.open.gif differ diff --git a/docs/icons/folder.open.png b/docs/icons/folder.open.png new file mode 100644 index 0000000..6b5d520 Binary files /dev/null and b/docs/icons/folder.open.png differ diff --git a/docs/icons/folder.png b/docs/icons/folder.png new file mode 100644 index 0000000..df03153 Binary files /dev/null and b/docs/icons/folder.png differ diff --git a/docs/icons/folder.sec.gif b/docs/icons/folder.sec.gif new file mode 100644 index 0000000..75332d9 Binary files /dev/null and b/docs/icons/folder.sec.gif differ diff --git a/docs/icons/folder.sec.png b/docs/icons/folder.sec.png new file mode 100644 index 0000000..e6198c6 Binary files /dev/null and b/docs/icons/folder.sec.png differ diff --git a/docs/icons/forward.gif b/docs/icons/forward.gif new file mode 100644 index 0000000..b2959b4 Binary files /dev/null and b/docs/icons/forward.gif differ diff --git a/docs/icons/forward.png b/docs/icons/forward.png new file mode 100644 index 0000000..34ef3ae Binary files /dev/null and b/docs/icons/forward.png differ diff --git a/docs/icons/generic.gif b/docs/icons/generic.gif new file mode 100644 index 0000000..de60b29 Binary files /dev/null and b/docs/icons/generic.gif differ diff --git a/docs/icons/generic.png b/docs/icons/generic.png new file mode 100644 index 0000000..478e06e Binary files /dev/null and b/docs/icons/generic.png differ diff --git a/docs/icons/generic.red.gif b/docs/icons/generic.red.gif new file mode 100644 index 0000000..9474398 Binary files /dev/null and b/docs/icons/generic.red.gif differ diff --git a/docs/icons/generic.red.png b/docs/icons/generic.red.png new file mode 100644 index 0000000..c518e9c Binary files /dev/null and b/docs/icons/generic.red.png differ diff --git a/docs/icons/generic.sec.gif b/docs/icons/generic.sec.gif new file mode 100644 index 0000000..88d5240 Binary files /dev/null and b/docs/icons/generic.sec.gif differ diff --git a/docs/icons/generic.sec.png b/docs/icons/generic.sec.png new file mode 100644 index 0000000..e0cd444 Binary files /dev/null and b/docs/icons/generic.sec.png differ diff --git a/docs/icons/hand.right.gif b/docs/icons/hand.right.gif new file mode 100644 index 0000000..5cdbc72 Binary files /dev/null and b/docs/icons/hand.right.gif differ diff --git a/docs/icons/hand.right.png b/docs/icons/hand.right.png new file mode 100644 index 0000000..3c5bd12 Binary files /dev/null and b/docs/icons/hand.right.png differ diff --git a/docs/icons/hand.up.gif b/docs/icons/hand.up.gif new file mode 100644 index 0000000..85a5d68 Binary files /dev/null and b/docs/icons/hand.up.gif differ diff --git a/docs/icons/hand.up.png b/docs/icons/hand.up.png new file mode 100644 index 0000000..acfc368 Binary files /dev/null and b/docs/icons/hand.up.png differ diff --git a/docs/icons/icon.sheet.gif b/docs/icons/icon.sheet.gif new file mode 100644 index 0000000..ad1686e Binary files /dev/null and b/docs/icons/icon.sheet.gif differ diff --git a/docs/icons/icon.sheet.png b/docs/icons/icon.sheet.png new file mode 100644 index 0000000..8b2a201 Binary files /dev/null and b/docs/icons/icon.sheet.png differ diff --git a/docs/icons/image1.gif b/docs/icons/image1.gif new file mode 100644 index 0000000..01e442b Binary files /dev/null and b/docs/icons/image1.gif differ diff --git a/docs/icons/image1.png b/docs/icons/image1.png new file mode 100644 index 0000000..eafff5e Binary files /dev/null and b/docs/icons/image1.png differ diff --git a/docs/icons/image2.gif b/docs/icons/image2.gif new file mode 100644 index 0000000..751faee Binary files /dev/null and b/docs/icons/image2.gif differ diff --git a/docs/icons/image2.png b/docs/icons/image2.png new file mode 100644 index 0000000..1fe3209 Binary files /dev/null and b/docs/icons/image2.png differ diff --git a/docs/icons/image3.gif b/docs/icons/image3.gif new file mode 100644 index 0000000..4f30484 Binary files /dev/null and b/docs/icons/image3.gif differ diff --git a/docs/icons/image3.png b/docs/icons/image3.png new file mode 100644 index 0000000..5de386b Binary files /dev/null and b/docs/icons/image3.png differ diff --git a/docs/icons/index.gif b/docs/icons/index.gif new file mode 100644 index 0000000..162478f Binary files /dev/null and b/docs/icons/index.gif differ diff --git a/docs/icons/index.png b/docs/icons/index.png new file mode 100644 index 0000000..eec0334 Binary files /dev/null and b/docs/icons/index.png differ diff --git a/docs/icons/layout.gif b/docs/icons/layout.gif new file mode 100644 index 0000000..c96338a Binary files /dev/null and b/docs/icons/layout.gif differ diff --git a/docs/icons/layout.png b/docs/icons/layout.png new file mode 100644 index 0000000..7c6b763 Binary files /dev/null and b/docs/icons/layout.png differ diff --git a/docs/icons/left.gif b/docs/icons/left.gif new file mode 100644 index 0000000..279e671 Binary files /dev/null and b/docs/icons/left.gif differ diff --git a/docs/icons/left.png b/docs/icons/left.png new file mode 100644 index 0000000..1087e70 Binary files /dev/null and b/docs/icons/left.png differ diff --git a/docs/icons/link.gif b/docs/icons/link.gif new file mode 100644 index 0000000..c5b6889 Binary files /dev/null and b/docs/icons/link.gif differ diff --git a/docs/icons/link.png b/docs/icons/link.png new file mode 100644 index 0000000..f53339b Binary files /dev/null and b/docs/icons/link.png differ diff --git a/docs/icons/movie.gif b/docs/icons/movie.gif new file mode 100644 index 0000000..0035183 Binary files /dev/null and b/docs/icons/movie.gif differ diff --git a/docs/icons/movie.png b/docs/icons/movie.png new file mode 100644 index 0000000..131e9dc Binary files /dev/null and b/docs/icons/movie.png differ diff --git a/docs/icons/odf6odb.png b/docs/icons/odf6odb.png new file mode 100644 index 0000000..4c3bd2e Binary files /dev/null and b/docs/icons/odf6odb.png differ diff --git a/docs/icons/odf6odc.png b/docs/icons/odf6odc.png new file mode 100644 index 0000000..fd3f60a Binary files /dev/null and b/docs/icons/odf6odc.png differ diff --git a/docs/icons/odf6odf.png b/docs/icons/odf6odf.png new file mode 100644 index 0000000..5e65467 Binary files /dev/null and b/docs/icons/odf6odf.png differ diff --git a/docs/icons/odf6odg.png b/docs/icons/odf6odg.png new file mode 100644 index 0000000..43b2b7d Binary files /dev/null and b/docs/icons/odf6odg.png differ diff --git a/docs/icons/odf6odi.png b/docs/icons/odf6odi.png new file mode 100644 index 0000000..02353b7 Binary files /dev/null and b/docs/icons/odf6odi.png differ diff --git a/docs/icons/odf6odm.png b/docs/icons/odf6odm.png new file mode 100644 index 0000000..d24aeb3 Binary files /dev/null and b/docs/icons/odf6odm.png differ diff --git a/docs/icons/odf6odp.png b/docs/icons/odf6odp.png new file mode 100644 index 0000000..52ed9e5 Binary files /dev/null and b/docs/icons/odf6odp.png differ diff --git a/docs/icons/odf6ods.png b/docs/icons/odf6ods.png new file mode 100644 index 0000000..039bad1 Binary files /dev/null and b/docs/icons/odf6ods.png differ diff --git a/docs/icons/odf6odt.png b/docs/icons/odf6odt.png new file mode 100644 index 0000000..216cb19 Binary files /dev/null and b/docs/icons/odf6odt.png differ diff --git a/docs/icons/odf6otc.png b/docs/icons/odf6otc.png new file mode 100644 index 0000000..1712875 Binary files /dev/null and b/docs/icons/odf6otc.png differ diff --git a/docs/icons/odf6otf.png b/docs/icons/odf6otf.png new file mode 100644 index 0000000..0efcf67 Binary files /dev/null and b/docs/icons/odf6otf.png differ diff --git a/docs/icons/odf6otg.png b/docs/icons/odf6otg.png new file mode 100644 index 0000000..60e2c77 Binary files /dev/null and b/docs/icons/odf6otg.png differ diff --git a/docs/icons/odf6oth.png b/docs/icons/odf6oth.png new file mode 100644 index 0000000..16ec9c6 Binary files /dev/null and b/docs/icons/odf6oth.png differ diff --git a/docs/icons/odf6oti.png b/docs/icons/odf6oti.png new file mode 100644 index 0000000..e7d3c26 Binary files /dev/null and b/docs/icons/odf6oti.png differ diff --git a/docs/icons/odf6otp.png b/docs/icons/odf6otp.png new file mode 100644 index 0000000..14ab2ef Binary files /dev/null and b/docs/icons/odf6otp.png differ diff --git a/docs/icons/odf6ots.png b/docs/icons/odf6ots.png new file mode 100644 index 0000000..9b16646 Binary files /dev/null and b/docs/icons/odf6ots.png differ diff --git a/docs/icons/odf6ott.png b/docs/icons/odf6ott.png new file mode 100644 index 0000000..fa91e7c Binary files /dev/null and b/docs/icons/odf6ott.png differ diff --git a/docs/icons/p.gif b/docs/icons/p.gif new file mode 100644 index 0000000..7b917b4 Binary files /dev/null and b/docs/icons/p.gif differ diff --git a/docs/icons/p.png b/docs/icons/p.png new file mode 100644 index 0000000..450d9c6 Binary files /dev/null and b/docs/icons/p.png differ diff --git a/docs/icons/patch.gif b/docs/icons/patch.gif new file mode 100644 index 0000000..39bc90e Binary files /dev/null and b/docs/icons/patch.gif differ diff --git a/docs/icons/patch.png b/docs/icons/patch.png new file mode 100644 index 0000000..85c9ba0 Binary files /dev/null and b/docs/icons/patch.png differ diff --git a/docs/icons/pdf.gif b/docs/icons/pdf.gif new file mode 100644 index 0000000..c88fd77 Binary files /dev/null and b/docs/icons/pdf.gif differ diff --git a/docs/icons/pdf.png b/docs/icons/pdf.png new file mode 100644 index 0000000..777fb18 Binary files /dev/null and b/docs/icons/pdf.png differ diff --git a/docs/icons/pie0.gif b/docs/icons/pie0.gif new file mode 100644 index 0000000..6f7a0ae Binary files /dev/null and b/docs/icons/pie0.gif differ diff --git a/docs/icons/pie0.png b/docs/icons/pie0.png new file mode 100644 index 0000000..f9b6adf Binary files /dev/null and b/docs/icons/pie0.png differ diff --git a/docs/icons/pie1.gif b/docs/icons/pie1.gif new file mode 100644 index 0000000..03aa6be Binary files /dev/null and b/docs/icons/pie1.gif differ diff --git a/docs/icons/pie1.png b/docs/icons/pie1.png new file mode 100644 index 0000000..633959c Binary files /dev/null and b/docs/icons/pie1.png differ diff --git a/docs/icons/pie2.gif b/docs/icons/pie2.gif new file mode 100644 index 0000000..b04c5e0 Binary files /dev/null and b/docs/icons/pie2.gif differ diff --git a/docs/icons/pie2.png b/docs/icons/pie2.png new file mode 100644 index 0000000..198f3e4 Binary files /dev/null and b/docs/icons/pie2.png differ diff --git a/docs/icons/pie3.gif b/docs/icons/pie3.gif new file mode 100644 index 0000000..4db9d02 Binary files /dev/null and b/docs/icons/pie3.gif differ diff --git a/docs/icons/pie3.png b/docs/icons/pie3.png new file mode 100644 index 0000000..3fab58c Binary files /dev/null and b/docs/icons/pie3.png differ diff --git a/docs/icons/pie4.gif b/docs/icons/pie4.gif new file mode 100644 index 0000000..93471fd Binary files /dev/null and b/docs/icons/pie4.gif differ diff --git a/docs/icons/pie4.png b/docs/icons/pie4.png new file mode 100644 index 0000000..7fa6a03 Binary files /dev/null and b/docs/icons/pie4.png differ diff --git a/docs/icons/pie5.gif b/docs/icons/pie5.gif new file mode 100644 index 0000000..57aee93 Binary files /dev/null and b/docs/icons/pie5.gif differ diff --git a/docs/icons/pie5.png b/docs/icons/pie5.png new file mode 100644 index 0000000..c7e3c58 Binary files /dev/null and b/docs/icons/pie5.png differ diff --git a/docs/icons/pie6.gif b/docs/icons/pie6.gif new file mode 100644 index 0000000..0dc327b Binary files /dev/null and b/docs/icons/pie6.gif differ diff --git a/docs/icons/pie6.png b/docs/icons/pie6.png new file mode 100644 index 0000000..072fd40 Binary files /dev/null and b/docs/icons/pie6.png differ diff --git a/docs/icons/pie7.gif b/docs/icons/pie7.gif new file mode 100644 index 0000000..8661337 Binary files /dev/null and b/docs/icons/pie7.gif differ diff --git a/docs/icons/pie7.png b/docs/icons/pie7.png new file mode 100644 index 0000000..8817d87 Binary files /dev/null and b/docs/icons/pie7.png differ diff --git a/docs/icons/pie8.gif b/docs/icons/pie8.gif new file mode 100644 index 0000000..59ddb34 Binary files /dev/null and b/docs/icons/pie8.gif differ diff --git a/docs/icons/pie8.png b/docs/icons/pie8.png new file mode 100644 index 0000000..b2c70e3 Binary files /dev/null and b/docs/icons/pie8.png differ diff --git a/docs/icons/portal.gif b/docs/icons/portal.gif new file mode 100644 index 0000000..0e6e506 Binary files /dev/null and b/docs/icons/portal.gif differ diff --git a/docs/icons/portal.png b/docs/icons/portal.png new file mode 100644 index 0000000..ed73327 Binary files /dev/null and b/docs/icons/portal.png differ diff --git a/docs/icons/ps.gif b/docs/icons/ps.gif new file mode 100644 index 0000000..0f565bc Binary files /dev/null and b/docs/icons/ps.gif differ diff --git a/docs/icons/ps.png b/docs/icons/ps.png new file mode 100644 index 0000000..65bc122 Binary files /dev/null and b/docs/icons/ps.png differ diff --git a/docs/icons/quill.gif b/docs/icons/quill.gif new file mode 100644 index 0000000..818a5cd Binary files /dev/null and b/docs/icons/quill.gif differ diff --git a/docs/icons/quill.png b/docs/icons/quill.png new file mode 100644 index 0000000..550efbb Binary files /dev/null and b/docs/icons/quill.png differ diff --git a/docs/icons/right.gif b/docs/icons/right.gif new file mode 100644 index 0000000..b256e5f Binary files /dev/null and b/docs/icons/right.gif differ diff --git a/docs/icons/right.png b/docs/icons/right.png new file mode 100644 index 0000000..00495dc Binary files /dev/null and b/docs/icons/right.png differ diff --git a/docs/icons/screw1.gif b/docs/icons/screw1.gif new file mode 100644 index 0000000..af6ba2b Binary files /dev/null and b/docs/icons/screw1.gif differ diff --git a/docs/icons/screw1.png b/docs/icons/screw1.png new file mode 100644 index 0000000..c945690 Binary files /dev/null and b/docs/icons/screw1.png differ diff --git a/docs/icons/screw2.gif b/docs/icons/screw2.gif new file mode 100644 index 0000000..06dccb3 Binary files /dev/null and b/docs/icons/screw2.gif differ diff --git a/docs/icons/screw2.png b/docs/icons/screw2.png new file mode 100644 index 0000000..6912f9e Binary files /dev/null and b/docs/icons/screw2.png differ diff --git a/docs/icons/script.gif b/docs/icons/script.gif new file mode 100644 index 0000000..d8a853b Binary files /dev/null and b/docs/icons/script.gif differ diff --git a/docs/icons/script.png b/docs/icons/script.png new file mode 100644 index 0000000..d2a00ca Binary files /dev/null and b/docs/icons/script.png differ diff --git a/docs/icons/small/back.gif b/docs/icons/small/back.gif new file mode 100644 index 0000000..e331454 Binary files /dev/null and b/docs/icons/small/back.gif differ diff --git a/docs/icons/small/back.png b/docs/icons/small/back.png new file mode 100644 index 0000000..e339315 Binary files /dev/null and b/docs/icons/small/back.png differ diff --git a/docs/icons/small/binary.gif b/docs/icons/small/binary.gif new file mode 100644 index 0000000..995f79b Binary files /dev/null and b/docs/icons/small/binary.gif differ diff --git a/docs/icons/small/binary.png b/docs/icons/small/binary.png new file mode 100644 index 0000000..b836c7c Binary files /dev/null and b/docs/icons/small/binary.png differ diff --git a/docs/icons/small/binhex.gif b/docs/icons/small/binhex.gif new file mode 100644 index 0000000..3d54a54 Binary files /dev/null and b/docs/icons/small/binhex.gif differ diff --git a/docs/icons/small/binhex.png b/docs/icons/small/binhex.png new file mode 100644 index 0000000..cc61dd1 Binary files /dev/null and b/docs/icons/small/binhex.png differ diff --git a/docs/icons/small/blank.gif b/docs/icons/small/blank.gif new file mode 100644 index 0000000..606787a Binary files /dev/null and b/docs/icons/small/blank.gif differ diff --git a/docs/icons/small/blank.png b/docs/icons/small/blank.png new file mode 100644 index 0000000..89edd4d Binary files /dev/null and b/docs/icons/small/blank.png differ diff --git a/docs/icons/small/broken.gif b/docs/icons/small/broken.gif new file mode 100644 index 0000000..1bcc57f Binary files /dev/null and b/docs/icons/small/broken.gif differ diff --git a/docs/icons/small/broken.png b/docs/icons/small/broken.png new file mode 100644 index 0000000..7a6b2db Binary files /dev/null and b/docs/icons/small/broken.png differ diff --git a/docs/icons/small/burst.gif b/docs/icons/small/burst.gif new file mode 100644 index 0000000..d882ceb Binary files /dev/null and b/docs/icons/small/burst.gif differ diff --git a/docs/icons/small/burst.png b/docs/icons/small/burst.png new file mode 100644 index 0000000..1155c67 Binary files /dev/null and b/docs/icons/small/burst.png differ diff --git a/docs/icons/small/comp1.gif b/docs/icons/small/comp1.gif new file mode 100644 index 0000000..712f36a Binary files /dev/null and b/docs/icons/small/comp1.gif differ diff --git a/docs/icons/small/comp1.png b/docs/icons/small/comp1.png new file mode 100644 index 0000000..bbc3d0e Binary files /dev/null and b/docs/icons/small/comp1.png differ diff --git a/docs/icons/small/comp2.gif b/docs/icons/small/comp2.gif new file mode 100644 index 0000000..7759eb1 Binary files /dev/null and b/docs/icons/small/comp2.gif differ diff --git a/docs/icons/small/comp2.png b/docs/icons/small/comp2.png new file mode 100644 index 0000000..8243345 Binary files /dev/null and b/docs/icons/small/comp2.png differ diff --git a/docs/icons/small/compressed.gif b/docs/icons/small/compressed.gif new file mode 100644 index 0000000..d3b1560 Binary files /dev/null and b/docs/icons/small/compressed.gif differ diff --git a/docs/icons/small/compressed.png b/docs/icons/small/compressed.png new file mode 100644 index 0000000..c7856f7 Binary files /dev/null and b/docs/icons/small/compressed.png differ diff --git a/docs/icons/small/continued.gif b/docs/icons/small/continued.gif new file mode 100644 index 0000000..e1c9f2c Binary files /dev/null and b/docs/icons/small/continued.gif differ diff --git a/docs/icons/small/continued.png b/docs/icons/small/continued.png new file mode 100644 index 0000000..a9a7c09 Binary files /dev/null and b/docs/icons/small/continued.png differ diff --git a/docs/icons/small/doc.gif b/docs/icons/small/doc.gif new file mode 100644 index 0000000..0fcf18d Binary files /dev/null and b/docs/icons/small/doc.gif differ diff --git a/docs/icons/small/doc.png b/docs/icons/small/doc.png new file mode 100644 index 0000000..9947268 Binary files /dev/null and b/docs/icons/small/doc.png differ diff --git a/docs/icons/small/folder.gif b/docs/icons/small/folder.gif new file mode 100644 index 0000000..7b37b09 Binary files /dev/null and b/docs/icons/small/folder.gif differ diff --git a/docs/icons/small/folder.png b/docs/icons/small/folder.png new file mode 100644 index 0000000..057b52d Binary files /dev/null and b/docs/icons/small/folder.png differ diff --git a/docs/icons/small/folder2.gif b/docs/icons/small/folder2.gif new file mode 100644 index 0000000..425d6e4 Binary files /dev/null and b/docs/icons/small/folder2.gif differ diff --git a/docs/icons/small/folder2.png b/docs/icons/small/folder2.png new file mode 100644 index 0000000..221475c Binary files /dev/null and b/docs/icons/small/folder2.png differ diff --git a/docs/icons/small/forward.gif b/docs/icons/small/forward.gif new file mode 100644 index 0000000..2997466 Binary files /dev/null and b/docs/icons/small/forward.gif differ diff --git a/docs/icons/small/forward.png b/docs/icons/small/forward.png new file mode 100644 index 0000000..8187d38 Binary files /dev/null and b/docs/icons/small/forward.png differ diff --git a/docs/icons/small/generic.gif b/docs/icons/small/generic.gif new file mode 100644 index 0000000..f8da6ff Binary files /dev/null and b/docs/icons/small/generic.gif differ diff --git a/docs/icons/small/generic.png b/docs/icons/small/generic.png new file mode 100644 index 0000000..bd36b08 Binary files /dev/null and b/docs/icons/small/generic.png differ diff --git a/docs/icons/small/generic2.gif b/docs/icons/small/generic2.gif new file mode 100644 index 0000000..992f133 Binary files /dev/null and b/docs/icons/small/generic2.gif differ diff --git a/docs/icons/small/generic2.png b/docs/icons/small/generic2.png new file mode 100644 index 0000000..11231d9 Binary files /dev/null and b/docs/icons/small/generic2.png differ diff --git a/docs/icons/small/generic3.gif b/docs/icons/small/generic3.gif new file mode 100644 index 0000000..85aa275 Binary files /dev/null and b/docs/icons/small/generic3.gif differ diff --git a/docs/icons/small/generic3.png b/docs/icons/small/generic3.png new file mode 100644 index 0000000..3874aa3 Binary files /dev/null and b/docs/icons/small/generic3.png differ diff --git a/docs/icons/small/image.gif b/docs/icons/small/image.gif new file mode 100644 index 0000000..dc3d95c Binary files /dev/null and b/docs/icons/small/image.gif differ diff --git a/docs/icons/small/image.png b/docs/icons/small/image.png new file mode 100644 index 0000000..50fbb84 Binary files /dev/null and b/docs/icons/small/image.png differ diff --git a/docs/icons/small/image2.gif b/docs/icons/small/image2.gif new file mode 100644 index 0000000..a5c40f1 Binary files /dev/null and b/docs/icons/small/image2.gif differ diff --git a/docs/icons/small/image2.png b/docs/icons/small/image2.png new file mode 100644 index 0000000..4aeff45 Binary files /dev/null and b/docs/icons/small/image2.png differ diff --git a/docs/icons/small/index.gif b/docs/icons/small/index.gif new file mode 100644 index 0000000..526df6b Binary files /dev/null and b/docs/icons/small/index.gif differ diff --git a/docs/icons/small/index.png b/docs/icons/small/index.png new file mode 100644 index 0000000..97df00e Binary files /dev/null and b/docs/icons/small/index.png differ diff --git a/docs/icons/small/key.gif b/docs/icons/small/key.gif new file mode 100644 index 0000000..8dfd6c0 Binary files /dev/null and b/docs/icons/small/key.gif differ diff --git a/docs/icons/small/key.png b/docs/icons/small/key.png new file mode 100644 index 0000000..4476074 Binary files /dev/null and b/docs/icons/small/key.png differ diff --git a/docs/icons/small/movie.gif b/docs/icons/small/movie.gif new file mode 100644 index 0000000..7b4a42e Binary files /dev/null and b/docs/icons/small/movie.gif differ diff --git a/docs/icons/small/movie.png b/docs/icons/small/movie.png new file mode 100644 index 0000000..87adc23 Binary files /dev/null and b/docs/icons/small/movie.png differ diff --git a/docs/icons/small/patch.gif b/docs/icons/small/patch.gif new file mode 100644 index 0000000..100484e Binary files /dev/null and b/docs/icons/small/patch.gif differ diff --git a/docs/icons/small/patch.png b/docs/icons/small/patch.png new file mode 100644 index 0000000..78148ed Binary files /dev/null and b/docs/icons/small/patch.png differ diff --git a/docs/icons/small/ps.gif b/docs/icons/small/ps.gif new file mode 100644 index 0000000..fa4bcfc Binary files /dev/null and b/docs/icons/small/ps.gif differ diff --git a/docs/icons/small/ps.png b/docs/icons/small/ps.png new file mode 100644 index 0000000..23e42ad Binary files /dev/null and b/docs/icons/small/ps.png differ diff --git a/docs/icons/small/rainbow.gif b/docs/icons/small/rainbow.gif new file mode 100644 index 0000000..8216b89 Binary files /dev/null and b/docs/icons/small/rainbow.gif differ diff --git a/docs/icons/small/rainbow.png b/docs/icons/small/rainbow.png new file mode 100644 index 0000000..16e63fa Binary files /dev/null and b/docs/icons/small/rainbow.png differ diff --git a/docs/icons/small/sound.gif b/docs/icons/small/sound.gif new file mode 100644 index 0000000..a7a89ff Binary files /dev/null and b/docs/icons/small/sound.gif differ diff --git a/docs/icons/small/sound.png b/docs/icons/small/sound.png new file mode 100644 index 0000000..1bbc582 Binary files /dev/null and b/docs/icons/small/sound.png differ diff --git a/docs/icons/small/sound2.gif b/docs/icons/small/sound2.gif new file mode 100644 index 0000000..07706e0 Binary files /dev/null and b/docs/icons/small/sound2.gif differ diff --git a/docs/icons/small/sound2.png b/docs/icons/small/sound2.png new file mode 100644 index 0000000..06a6c87 Binary files /dev/null and b/docs/icons/small/sound2.png differ diff --git a/docs/icons/small/tar.gif b/docs/icons/small/tar.gif new file mode 100644 index 0000000..59c3ffb Binary files /dev/null and b/docs/icons/small/tar.gif differ diff --git a/docs/icons/small/tar.png b/docs/icons/small/tar.png new file mode 100644 index 0000000..66ee8a2 Binary files /dev/null and b/docs/icons/small/tar.png differ diff --git a/docs/icons/small/text.gif b/docs/icons/small/text.gif new file mode 100644 index 0000000..66ceefb Binary files /dev/null and b/docs/icons/small/text.gif differ diff --git a/docs/icons/small/text.png b/docs/icons/small/text.png new file mode 100644 index 0000000..4c1c626 Binary files /dev/null and b/docs/icons/small/text.png differ diff --git a/docs/icons/small/transfer.gif b/docs/icons/small/transfer.gif new file mode 100644 index 0000000..d460d3f Binary files /dev/null and b/docs/icons/small/transfer.gif differ diff --git a/docs/icons/small/transfer.png b/docs/icons/small/transfer.png new file mode 100644 index 0000000..ff2f88a Binary files /dev/null and b/docs/icons/small/transfer.png differ diff --git a/docs/icons/small/unknown.gif b/docs/icons/small/unknown.gif new file mode 100644 index 0000000..7bf0bbc Binary files /dev/null and b/docs/icons/small/unknown.gif differ diff --git a/docs/icons/small/unknown.png b/docs/icons/small/unknown.png new file mode 100644 index 0000000..dbd518b Binary files /dev/null and b/docs/icons/small/unknown.png differ diff --git a/docs/icons/small/uu.gif b/docs/icons/small/uu.gif new file mode 100644 index 0000000..8c793f8 Binary files /dev/null and b/docs/icons/small/uu.gif differ diff --git a/docs/icons/small/uu.png b/docs/icons/small/uu.png new file mode 100644 index 0000000..52117a2 Binary files /dev/null and b/docs/icons/small/uu.png differ diff --git a/docs/icons/sound1.gif b/docs/icons/sound1.gif new file mode 100644 index 0000000..8efb49f Binary files /dev/null and b/docs/icons/sound1.gif differ diff --git a/docs/icons/sound1.png b/docs/icons/sound1.png new file mode 100644 index 0000000..16bb332 Binary files /dev/null and b/docs/icons/sound1.png differ diff --git a/docs/icons/sound2.gif b/docs/icons/sound2.gif new file mode 100644 index 0000000..48e6a7f Binary files /dev/null and b/docs/icons/sound2.gif differ diff --git a/docs/icons/sound2.png b/docs/icons/sound2.png new file mode 100644 index 0000000..8cbbe02 Binary files /dev/null and b/docs/icons/sound2.png differ diff --git a/docs/icons/sphere1.gif b/docs/icons/sphere1.gif new file mode 100644 index 0000000..7067070 Binary files /dev/null and b/docs/icons/sphere1.gif differ diff --git a/docs/icons/sphere1.png b/docs/icons/sphere1.png new file mode 100644 index 0000000..ae3b3a3 Binary files /dev/null and b/docs/icons/sphere1.png differ diff --git a/docs/icons/sphere2.gif b/docs/icons/sphere2.gif new file mode 100644 index 0000000..a9e462a Binary files /dev/null and b/docs/icons/sphere2.gif differ diff --git a/docs/icons/sphere2.png b/docs/icons/sphere2.png new file mode 100644 index 0000000..1fb64de Binary files /dev/null and b/docs/icons/sphere2.png differ diff --git a/docs/icons/svg.png b/docs/icons/svg.png new file mode 100644 index 0000000..33a3b5b Binary files /dev/null and b/docs/icons/svg.png differ diff --git a/docs/icons/tar.gif b/docs/icons/tar.gif new file mode 100644 index 0000000..4032c1b Binary files /dev/null and b/docs/icons/tar.gif differ diff --git a/docs/icons/tar.png b/docs/icons/tar.png new file mode 100644 index 0000000..4287713 Binary files /dev/null and b/docs/icons/tar.png differ diff --git a/docs/icons/tex.gif b/docs/icons/tex.gif new file mode 100644 index 0000000..45e4323 Binary files /dev/null and b/docs/icons/tex.gif differ diff --git a/docs/icons/tex.png b/docs/icons/tex.png new file mode 100644 index 0000000..a3d08eb Binary files /dev/null and b/docs/icons/tex.png differ diff --git a/docs/icons/text.gif b/docs/icons/text.gif new file mode 100644 index 0000000..4c62390 Binary files /dev/null and b/docs/icons/text.gif differ diff --git a/docs/icons/text.png b/docs/icons/text.png new file mode 100644 index 0000000..c43fb62 Binary files /dev/null and b/docs/icons/text.png differ diff --git a/docs/icons/transfer.gif b/docs/icons/transfer.gif new file mode 100644 index 0000000..33697db Binary files /dev/null and b/docs/icons/transfer.gif differ diff --git a/docs/icons/transfer.png b/docs/icons/transfer.png new file mode 100644 index 0000000..b969e43 Binary files /dev/null and b/docs/icons/transfer.png differ diff --git a/docs/icons/unknown.gif b/docs/icons/unknown.gif new file mode 100644 index 0000000..32b1ea2 Binary files /dev/null and b/docs/icons/unknown.gif differ diff --git a/docs/icons/unknown.png b/docs/icons/unknown.png new file mode 100644 index 0000000..e4e2982 Binary files /dev/null and b/docs/icons/unknown.png differ diff --git a/docs/icons/up.gif b/docs/icons/up.gif new file mode 100644 index 0000000..6d6d6d1 Binary files /dev/null and b/docs/icons/up.gif differ diff --git a/docs/icons/up.png b/docs/icons/up.png new file mode 100644 index 0000000..4aa8faf Binary files /dev/null and b/docs/icons/up.png differ diff --git a/docs/icons/uu.gif b/docs/icons/uu.gif new file mode 100644 index 0000000..4387d52 Binary files /dev/null and b/docs/icons/uu.gif differ diff --git a/docs/icons/uu.png b/docs/icons/uu.png new file mode 100644 index 0000000..a57837a Binary files /dev/null and b/docs/icons/uu.png differ diff --git a/docs/icons/uuencoded.gif b/docs/icons/uuencoded.gif new file mode 100644 index 0000000..4387d52 Binary files /dev/null and b/docs/icons/uuencoded.gif differ diff --git a/docs/icons/uuencoded.png b/docs/icons/uuencoded.png new file mode 100644 index 0000000..a57837a Binary files /dev/null and b/docs/icons/uuencoded.png differ diff --git a/docs/icons/world1.gif b/docs/icons/world1.gif new file mode 100644 index 0000000..05b4ec2 Binary files /dev/null and b/docs/icons/world1.gif differ diff --git a/docs/icons/world1.png b/docs/icons/world1.png new file mode 100644 index 0000000..fbe0167 Binary files /dev/null and b/docs/icons/world1.png differ diff --git a/docs/icons/world2.gif b/docs/icons/world2.gif new file mode 100644 index 0000000..e3203f7 Binary files /dev/null and b/docs/icons/world2.gif differ diff --git a/docs/icons/world2.png b/docs/icons/world2.png new file mode 100644 index 0000000..e7ea489 Binary files /dev/null and b/docs/icons/world2.png differ diff --git a/docs/icons/xml.png b/docs/icons/xml.png new file mode 100644 index 0000000..cea0683 Binary files /dev/null and b/docs/icons/xml.png differ diff --git a/docs/man/ab.1 b/docs/man/ab.1 new file mode 100644 index 0000000..bf38b9b --- /dev/null +++ b/docs/man/ab.1 @@ -0,0 +1,216 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "AB" 1 "2018-10-10" "Apache HTTP Server" "ab" + +.SH NAME +ab \- Apache HTTP server benchmarking tool + +.SH "SYNOPSIS" + +.PP +\fB\fBab\fR [ -\fBA\fR \fIauth-username\fR:\fIpassword\fR ] [ -\fBb\fR \fIwindowsize\fR ] [ -\fBB\fR \fIlocal-address\fR ] [ -\fBc\fR \fIconcurrency\fR ] [ -\fBC\fR \fIcookie-name\fR=\fIvalue\fR ] [ -\fBd\fR ] [ -\fBe\fR \fIcsv-file\fR ] [ -\fBE\fR \fIclient-certificate file\fR ] [ -\fBf\fR \fIprotocol\fR ] [ -\fBg\fR \fIgnuplot-file\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIcustom-header\fR ] [ -\fBi\fR ] [ -\fBk\fR ] [ -\fBl\fR ] [ -\fBm\fR \fIHTTP-method\fR ] [ -\fBn\fR \fIrequests\fR ] [ -\fBp\fR \fIPOST-file\fR ] [ -\fBP\fR \fIproxy-auth-username\fR:\fIpassword\fR ] [ -\fBq\fR ] [ -\fBr\fR ] [ -\fBs\fR \fItimeout\fR ] [ -\fBS\fR ] [ -\fBt\fR \fItimelimit\fR ] [ -\fBT\fR \fIcontent-type\fR ] [ -\fBu\fR \fIPUT-file\fR ] [ -\fBv\fR \fIverbosity\fR] [ -\fBV\fR ] [ -\fBw\fR ] [ -\fBx\fR \fI-attributes\fR ] [ -\fBX\fR \fIproxy\fR[:\fIport\fR] ] [ -\fBy\fR \fI-attributes\fR ] [ -\fBz\fR \fI
-attributes\fR ] [ -\fBZ\fR \fIciphersuite\fR ] [http[s]://]\fIhostname\fR[:\fIport\fR]/\fIpath\fR\fR + + +.SH "SUMMARY" + +.PP +\fBab\fR is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server\&. It is designed to give you an impression of how your current Apache installation performs\&. This especially shows you how many requests per second your Apache installation is capable of serving\&. + + +.SH "OPTIONS" + + +.TP +\fB-A \fIauth-username\fR:\fIpassword\fR\fR +Supply BASIC Authentication credentials to the server\&. The username and password are separated by a single \fB:\fR and sent on the wire base64 encoded\&. The string is sent regardless of whether the server needs it (\fIi\&.e\&.\fR, has sent an 401 authentication needed)\&. +.TP +\fB-b \fIwindowsize\fR\fR +Size of TCP send/receive buffer, in bytes\&. +.TP +\fB-B \fIlocal-address\fR\fR +Address to bind to when making outgoing connections\&. +.TP +\fB-c \fIconcurrency\fR\fR +Number of multiple requests to perform at a time\&. Default is one request at a time\&. +.TP +\fB-C \fIcookie-name\fR=\fIvalue\fR\fR +Add a \fBCookie:\fR line to the request\&. The argument is typically in the form of a \fB\fIname\fR=\fIvalue\fR\fR pair\&. This field is repeatable\&. +.TP +\fB-d\fR +Do not display the "percentage served within XX [ms] table"\&. (legacy support)\&. +.TP +\fB-e \fIcsv-file\fR\fR +Write a Comma separated value (CSV) file which contains for each percentage (from 1% to 100%) the time (in milliseconds) it took to serve that percentage of the requests\&. This is usually more useful than the 'gnuplot' file; as the results are already 'binned'\&. +.TP +\fB-E \fIclient-certificate-file\fR\fR +When connecting to an SSL website, use the provided client certificate in PEM format to authenticate with the server\&. The file is expected to contain the client certificate, followed by intermediate certificates, followed by the private key\&. Available in 2\&.4\&.36 and later\&. +.TP +\fB-f \fIprotocol\fR\fR +Specify SSL/TLS protocol (SSL2, SSL3, TLS1, TLS1\&.1, TLS1\&.2, or ALL)\&. TLS1\&.1 and TLS1\&.2 support available in 2\&.4\&.4 and later\&. +.TP +\fB-g \fIgnuplot-file\fR\fR +Write all measured values out as a 'gnuplot' or TSV (Tab separate values) file\&. This file can easily be imported into packages like Gnuplot, IDL, Mathematica, Igor or even Excel\&. The labels are on the first line of the file\&. +.TP +\fB-h\fR +Display usage information\&. +.TP +\fB-H \fIcustom-header\fR\fR +Append extra headers to the request\&. The argument is typically in the form of a valid header line, containing a colon-separated field-value pair (\fIi\&.e\&.\fR, \fB"Accept-Encoding: zip/zop;8bit"\fR)\&. +.TP +\fB-i\fR +Do \fBHEAD\fR requests instead of \fBGET\fR\&. +.TP +\fB-k\fR +Enable the HTTP KeepAlive feature, \fIi\&.e\&.\fR, perform multiple requests within one HTTP session\&. Default is no KeepAlive\&. +.TP +\fB-l\fR +Do not report errors if the length of the responses is not constant\&. This can be useful for dynamic pages\&. Available in 2\&.4\&.7 and later\&. +.TP +\fB-m \fIHTTP-method\fR\fR +Custom HTTP method for the requests\&. Available in 2\&.4\&.10 and later\&. +.TP +\fB-n \fIrequests\fR\fR +Number of requests to perform for the benchmarking session\&. The default is to just perform a single request which usually leads to non-representative benchmarking results\&. +.TP +\fB-p \fIPOST-file\fR\fR +File containing data to POST\&. Remember to also set \fB-T\fR\&. +.TP +\fB-P \fIproxy-auth-username\fR:\fIpassword\fR\fR +Supply BASIC Authentication credentials to a proxy en-route\&. The username and password are separated by a single \fB:\fR and sent on the wire base64 encoded\&. The string is sent regardless of whether the proxy needs it (\fIi\&.e\&.\fR, has sent an 407 proxy authentication needed)\&. +.TP +\fB-q\fR +When processing more than 150 requests, \fBab\fR outputs a progress count on \fBstderr\fR every 10% or 100 requests or so\&. The \fB-q\fR flag will suppress these messages\&. +.TP +\fB-r\fR +Don't exit on socket receive errors\&. +.TP +\fB-s \fItimeout\fR\fR +Maximum number of seconds to wait before the socket times out\&. Default is 30 seconds\&. Available in 2\&.4\&.4 and later\&. +.TP +\fB-S\fR +Do not display the median and standard deviation values, nor display the warning/error messages when the average and median are more than one or two times the standard deviation apart\&. And default to the min/avg/max values\&. (legacy support)\&. +.TP +\fB-t \fItimelimit\fR\fR +Maximum number of seconds to spend for benchmarking\&. This implies a \fB-n 50000\fR internally\&. Use this to benchmark the server within a fixed total amount of time\&. Per default there is no timelimit\&. +.TP +\fB-T \fIcontent-type\fR\fR +Content-type header to use for POST/PUT data, eg\&. \fBapplication/x-www-form-urlencoded\fR\&. Default is \fBtext/plain\fR\&. +.TP +\fB-u \fIPUT-file\fR\fR +File containing data to PUT\&. Remember to also set \fB-T\fR\&. +.TP +\fB-v \fIverbosity\fR\fR +Set verbosity level - \fB4\fR and above prints information on headers, \fB3\fR and above prints response codes (404, 200, etc\&.), \fB2\fR and above prints warnings and info\&. +.TP +\fB-V\fR +Display version number and exit\&. +.TP +\fB-w\fR +Print out results in HTML tables\&. Default table is two columns wide, with a white background\&. +.TP +\fB-x \fI-attributes\fR\fR +String to use as attributes for \fB
\fR\&. Attributes are inserted \fB
\fR\&. +.TP +\fB-X \fIproxy\fR[:\fIport\fR]\fR +Use a proxy server for the requests\&. +.TP +\fB-y \fI-attributes\fR\fR +String to use as attributes for \fB\fR\&. +.TP +\fB-z \fI
-attributes\fR\fR +String to use as attributes for \fB\fR\&. +.TP +\fB-Z \fIciphersuite\fR\fR +Specify SSL/TLS cipher suite (See openssl ciphers) + +.SH "OUTPUT" + +.PP +The following list describes the values returned by \fBab\fR: + + +.TP +Server Software +The value, if any, returned in the \fIserver\fR HTTP header of the first successful response\&. This includes all characters in the header from beginning to the point a character with decimal value of 32 (most notably: a space or CR/LF) is detected\&. +.TP +Server Hostname +The DNS or IP address given on the command line +.TP +Server Port +The port to which ab is connecting\&. If no port is given on the command line, this will default to 80 for http and 443 for https\&. +.TP +SSL/TLS Protocol +The protocol parameters negotiated between the client and server\&. This will only be printed if SSL is used\&. +.TP +Document Path +The request URI parsed from the command line string\&. +.TP +Document Length +This is the size in bytes of the first successfully returned document\&. If the document length changes during testing, the response is considered an error\&. +.TP +Concurrency Level +The number of concurrent clients used during the test +.TP +Time taken for tests +This is the time taken from the moment the first socket connection is created to the moment the last response is received +.TP +Complete requests +The number of successful responses received +.TP +Failed requests +The number of requests that were considered a failure\&. If the number is greater than zero, another line will be printed showing the number of requests that failed due to connecting, reading, incorrect content length, or exceptions\&. +.TP +Write errors +The number of errors that failed during write (broken pipe)\&. +.TP +Non-2xx responses +The number of responses that were not in the 200 series of response codes\&. If all responses were 200, this field is not printed\&. +.TP +Keep-Alive requests +The number of connections that resulted in Keep-Alive requests +.TP +Total body sent +If configured to send data as part of the test, this is the total number of bytes sent during the tests\&. This field is omitted if the test did not include a body to send\&. +.TP +Total transferred +The total number of bytes received from the server\&. This number is essentially the number of bytes sent over the wire\&. +.TP +HTML transferred +The total number of document bytes received from the server\&. This number excludes bytes received in HTTP headers +.TP +Requests per second +This is the number of requests per second\&. This value is the result of dividing the number of requests by the total time taken +.TP +Time per request +The average time spent per request\&. The first value is calculated with the formula \fBconcurrency * timetaken * 1000 / done\fR while the second value is calculated with the formula \fBtimetaken * 1000 / done\fR +.TP +Transfer rate +The rate of transfer as calculated by the formula \fBtotalread / 1024 / timetaken\fR + +.SH "BUGS" + +.PP +There are various statically declared buffers of fixed length\&. Combined with the lazy parsing of the command line arguments, the response headers from the server and other external inputs, this might bite you\&. + +.PP +It does not implement HTTP/1\&.x fully; only accepts some 'expected' forms of responses\&. The rather heavy use of \fBstrstr(3)\fR shows up top in profile, which might indicate a performance problem; \fIi\&.e\&.\fR, you would measure the \fBab\fR performance rather than the server's\&. + diff --git a/docs/man/apachectl.8 b/docs/man/apachectl.8 new file mode 100644 index 0000000..870a048 --- /dev/null +++ b/docs/man/apachectl.8 @@ -0,0 +1,95 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "APACHECTL" 8 "2018-07-06" "Apache HTTP Server" "apachectl" + +.SH NAME +apachectl \- Apache HTTP Server Control Interface + +.SH "SYNOPSIS" + +.PP +When acting in pass-through mode, \fBapachectl\fR can take all the arguments available for the httpd binary\&. + +.PP +\fB\fBapachectl\fR [ \fIhttpd-argument\fR ]\fR + +.PP +When acting in SysV init mode, \fBapachectl\fR takes simple, one-word commands, defined below\&. + +.PP +\fB\fBapachectl\fR \fIcommand\fR\fR + + +.SH "SUMMARY" + +.PP +\fBapachectl\fR is a front end to the Apache HyperText Transfer Protocol (HTTP) server\&. It is designed to help the administrator control the functioning of the Apache httpd daemon\&. + +.PP +The \fBapachectl\fR script can operate in two modes\&. First, it can act as a simple front-end to the httpd command that simply sets any necessary environment variables and then invokes httpd, passing through any command line arguments\&. Second, \fBapachectl\fR can act as a SysV init script, taking simple one-word arguments like \fBstart\fR, \fBrestart\fR, and \fBstop\fR, and translating them into appropriate signals to httpd\&. + +.PP +If your Apache installation uses non-standard paths, you will need to edit the \fBapachectl\fR script to set the appropriate paths to the httpd binary\&. You can also specify any necessary httpd command line arguments\&. See the comments in the script for details\&. + +.PP +The \fBapachectl\fR script returns a 0 exit value on success, and >0 if an error occurs\&. For more details, view the comments in the script\&. + + +.SH "OPTIONS" + +.PP +Only the SysV init-style options are defined here\&. Other arguments are defined on the httpd manual page\&. + + +.TP +\fBstart\fR +Start the Apache httpd daemon\&. Gives an error if it is already running\&. This is equivalent to \fBapachectl -k start\fR\&. +.TP +\fBstop\fR +Stops the Apache httpd daemon\&. This is equivalent to \fBapachectl -k stop\fR\&. +.TP +\fBrestart\fR +Restarts the Apache httpd daemon\&. If the daemon is not running, it is started\&. This command automatically checks the configuration files as in \fBconfigtest\fR before initiating the restart to make sure the daemon doesn't die\&. This is equivalent to \fBapachectl -k restart\fR\&. +.TP +\fBfullstatus\fR +Displays a full status report from mod_status\&. For this to work, you need to have mod_status enabled on your server and a text-based browser such as \fBlynx\fR available on your system\&. The URL used to access the status report can be set by editing the \fBSTATUSURL\fR variable in the script\&. +.TP +\fBstatus\fR +Displays a brief status report\&. Similar to the \fBfullstatus\fR option, except that the list of requests currently being served is omitted\&. +.TP +\fBgraceful\fR +Gracefully restarts the Apache httpd daemon\&. If the daemon is not running, it is started\&. This differs from a normal restart in that currently open connections are not aborted\&. A side effect is that old log files will not be closed immediately\&. This means that if used in a log rotation script, a substantial delay may be necessary to ensure that the old log files are closed before processing them\&. This command automatically checks the configuration files as in \fBconfigtest\fR before initiating the restart to make sure Apache doesn't die\&. This is equivalent to \fBapachectl -k graceful\fR\&. +.TP +\fBgraceful-stop\fR +Gracefully stops the Apache httpd daemon\&. This differs from a normal stop in that currently open connections are not aborted\&. A side effect is that old log files will not be closed immediately\&. This is equivalent to \fBapachectl -k graceful-stop\fR\&. +.TP +\fBconfigtest\fR +Run a configuration file syntax test\&. It parses the configuration files and either reports \fBSyntax Ok\fR or detailed information about the particular syntax error\&. This is equivalent to \fBapachectl -t\fR\&. + +.PP +The following option was available in earlier versions but has been removed\&. + + +.TP +\fBstartssl\fR +To start httpd with SSL support, you should edit your configuration file to include the relevant directives and then use the normal \fBapachectl start\fR\&. + diff --git a/docs/man/apxs.1 b/docs/man/apxs.1 new file mode 100644 index 0000000..9e8373e --- /dev/null +++ b/docs/man/apxs.1 @@ -0,0 +1,247 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "APXS" 1 "2018-07-06" "Apache HTTP Server" "apxs" + +.SH NAME +apxs \- APache eXtenSion tool + +.SH "SYNOPSIS" + +.PP +\fB\fBapxs\fR -\fBg\fR [ -\fBS\fR \fIname\fR=\fIvalue\fR ] -\fBn\fR \fImodname\fR\fR + +.PP +\fB\fBapxs\fR -\fBq\fR [ -\fBv\fR ] [ -\fBS\fR \fIname\fR=\fIvalue\fR ] \fIquery\fR \&.\&.\&.\fR + +.PP +\fB\fBapxs\fR -\fBc\fR [ -\fBS\fR \fIname\fR=\fIvalue\fR ] [ -\fBo\fR \fIdsofile\fR ] [ -\fBI\fR \fIincdir\fR ] [ -\fBD\fR \fIname\fR=\fIvalue\fR ] [ -\fBL\fR \fIlibdir\fR ] [ -\fBl\fR \fIlibname\fR ] [ -\fBWc,\fR\fIcompiler-flags\fR ] [ -\fBWl,\fR\fIlinker-flags\fR ] \fIfiles\fR \&.\&.\&.\fR + +.PP +\fB\fBapxs\fR -\fBi\fR [ -\fBS\fR \fIname\fR=\fIvalue\fR ] [ -\fBn\fR \fImodname\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-file\fR \&.\&.\&.\fR + +.PP +\fB\fBapxs\fR -\fBe\fR [ -\fBS\fR \fIname\fR=\fIvalue\fR ] [ -\fBn\fR \fImodname\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-file\fR \&.\&.\&.\fR + + +.SH "SUMMARY" + +.PP +\fBapxs\fR is a tool for building and installing extension modules for the Apache HyperText Transfer Protocol (HTTP) server\&. This is achieved by building a dynamic shared object (DSO) from one or more source or object \fIfiles\fR which then can be loaded into the Apache server under runtime via the LoadModule directive from mod_so\&. + +.PP +So to use this extension mechanism your platform has to support the DSO feature and your Apache httpd binary has to be built with the mod_so module\&. The \fBapxs\fR tool automatically complains if this is not the case\&. You can check this yourself by manually running the command + +.nf + + $ httpd -l + +.fi + +.PP +The module mod_so should be part of the displayed list\&. If these requirements are fulfilled you can easily extend your Apache server's functionality by installing your own modules with the DSO mechanism by the help of this \fBapxs\fR tool: + +.nf + + $ apxs -i -a -c mod_foo\&.c + gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo\&.c + ld -Bshareable -o mod_foo\&.so mod_foo\&.o + cp mod_foo\&.so /path/to/apache/modules/mod_foo\&.so + chmod 755 /path/to/apache/modules/mod_foo\&.so + [activating module `foo' in /path/to/apache/etc/httpd\&.conf] + $ apachectl restart + /path/to/apache/sbin/apachectl restart: httpd not running, trying to start + [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module + /path/to/apache/sbin/apachectl restart: httpd started + $ _ + +.fi + +.PP +The arguments \fIfiles\fR can be any C source file (\&.c), a object file (\&.o) or even a library archive (\&.a)\&. The \fBapxs\fR tool automatically recognizes these extensions and automatically used the C source files for compilation while just using the object and archive files for the linking phase\&. But when using such pre-compiled objects make sure they are compiled for position independent code (PIC) to be able to use them for a dynamically loaded shared object\&. For instance with GCC you always just have to use \fB-fpic\fR\&. For other C compilers consult its manual page or at watch for the flags \fBapxs\fR uses to compile the object files\&. + +.PP +For more details about DSO support in Apache read the documentation of mod_so or perhaps even read the \fBsrc/modules/standard/mod_so\&.c\fR source file\&. + + +.SH "OPTIONS" + +.SS "Common Options" + + +.TP +\fB-n \fImodname\fR\fR +This explicitly sets the module name for the \fB-i\fR (install) and \fB-g\fR (template generation) option\&. Use this to explicitly specify the module name\&. For option \fB-g\fR this is required, for option \fB-i\fR the \fBapxs\fR tool tries to determine the name from the source or (as a fallback) at least by guessing it from the filename\&. + +.SS "Query Options" + + +.TP +\fB-q\fR +Performs a query for variables and environment settings used to build \fBhttpd\fR\&. When invoked without \fIquery\fR parameters, it prints all known variables and their values\&. The optional \fB-v\fR parameter formats the list output\&. .PP Use this to manually determine settings used to build the \fBhttpd\fR that will load your module\&. For instance use INC=-I`apxs -q INCLUDEDIR` .PP inside your own Makefiles if you need manual access to Apache's C header files\&. + +.SS "Configuration Options" + + +.TP +\fB-S \fIname\fR=\fIvalue\fR\fR +This option changes the apxs settings described above\&. + +.SS "Template Generation Options" + + +.TP +\fB-g\fR +This generates a subdirectory \fIname\fR (see option \fB-n\fR) and there two files: A sample module source file named \fBmod_\fIname\fR\&.c\fR which can be used as a template for creating your own modules or as a quick start for playing with the apxs mechanism\&. And a corresponding \fBMakefile\fR for even easier build and installing of this module\&. + +.SS "DSO Compilation Options" + + +.TP +\fB-c\fR +This indicates the compilation operation\&. It first compiles the C source files (\&.c) of \fIfiles\fR into corresponding object files (\&.o) and then builds a dynamically shared object in \fIdsofile\fR by linking these object files plus the remaining object files (\&.o and \&.a) of \fIfiles\fR\&. If no \fB-o\fR option is specified the output file is guessed from the first filename in \fIfiles\fR and thus usually defaults to \fBmod_\fIname\fR\&.so\fR\&. +.TP +\fB-o \fIdsofile\fR\fR +Explicitly specifies the filename of the created dynamically shared object\&. If not specified and the name cannot be guessed from the \fIfiles\fR list, the fallback name \fBmod_unknown\&.so\fR is used\&. +.TP +\fB-D \fIname\fR=\fIvalue\fR\fR +This option is directly passed through to the compilation command(s)\&. Use this to add your own defines to the build process\&. +.TP +\fB-I \fIincdir\fR\fR +This option is directly passed through to the compilation command(s)\&. Use this to add your own include directories to search to the build process\&. +.TP +\fB-L \fIlibdir\fR\fR +This option is directly passed through to the linker command\&. Use this to add your own library directories to search to the build process\&. +.TP +\fB-l \fIlibname\fR\fR +This option is directly passed through to the linker command\&. Use this to add your own libraries to search to the build process\&. +.TP +\fB-Wc,\fIcompiler-flags\fR\fR +This option passes \fIcompiler-flags\fR as additional flags to the \fBlibtool --mode=compile\fR command\&. Use this to add local compiler-specific options\&. +.TP +\fB-Wl,\fIlinker-flags\fR\fR +This option passes \fIlinker-flags\fR as additional flags to the \fBlibtool --mode=link\fR command\&. Use this to add local linker-specific options\&. +.TP +\fB-p\fR +This option causes apxs to link against the apr/apr-util libraries\&. This is useful when compiling helper programs that use the apr/apr-util libraries\&. + +.SS "DSO Installation and Configuration Options" + + +.TP +\fB-i\fR +This indicates the installation operation and installs one or more dynamically shared objects into the server's \fImodules\fR directory\&. +.TP +\fB-a\fR +This activates the module by automatically adding a corresponding LoadModule line to Apache's \fBhttpd\&.conf\fR configuration file, or by enabling it if it already exists\&. +.TP +\fB-A\fR +Same as option \fB-a\fR but the created LoadModule directive is prefixed with a hash sign (\fB#\fR), \fIi\&.e\&.\fR, the module is just prepared for later activation but initially disabled\&. +.TP +\fB-e\fR +This indicates the editing operation, which can be used with the \fB-a\fR and \fB-A\fR options similarly to the \fB-i\fR operation to edit Apache's \fBhttpd\&.conf\fR configuration file without attempting to install the module\&. + +.SH "EXAMPLES" + +.PP +Assume you have an Apache module named \fBmod_foo\&.c\fR available which should extend Apache's server functionality\&. To accomplish this you first have to compile the C source into a shared object suitable for loading into the Apache server under runtime via the following command: + +.nf + + $ apxs -c mod_foo\&.c + /path/to/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c + /path/to/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo + $ _ + +.fi + +.PP +Then you have to update the Apache configuration by making sure a LoadModule directive is present to load this shared object\&. To simplify this step \fBapxs\fR provides an automatic way to install the shared object in its "modules" directory and updating the \fBhttpd\&.conf\fR file accordingly\&. This can be achieved by running: + +.nf + + $ apxs -i -a mod_foo\&.la + /path/to/instdso\&.sh mod_foo\&.la /path/to/apache/modules + /path/to/libtool --mode=install cp mod_foo\&.la /path/to/apache/modules + \&.\&.\&. + chmod 755 /path/to/apache/modules/mod_foo\&.so + [activating module `foo' in /path/to/apache/conf/httpd\&.conf] + $ _ + +.fi + +.PP +This way a line named + +.nf + + LoadModule foo_module modules/mod_foo\&.so + +.fi + +.PP +is added to the configuration file if still not present\&. If you want to have this disabled per default use the \fB-A\fR option, \fIi\&.e\&.\fR + +.nf + + $ apxs -i -A mod_foo\&.c + +.fi + +.PP +For a quick test of the apxs mechanism you can create a sample Apache module template plus a corresponding Makefile via: + +.nf + + $ apxs -g -n foo + Creating [DIR] foo + Creating [FILE] foo/Makefile + Creating [FILE] foo/modules\&.mk + Creating [FILE] foo/mod_foo\&.c + Creating [FILE] foo/\&.deps + $ _ + +.fi + +.PP +Then you can immediately compile this sample module into a shared object and load it into the Apache server: + +.nf + + $ cd foo + $ make all reload + apxs -c mod_foo\&.c + /path/to/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c + /path/to/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo + apxs -i -a -n "foo" mod_foo\&.la + /path/to/instdso\&.sh mod_foo\&.la /path/to/apache/modules + /path/to/libtool --mode=install cp mod_foo\&.la /path/to/apache/modules + \&.\&.\&. + chmod 755 /path/to/apache/modules/mod_foo\&.so + [activating module `foo' in /path/to/apache/conf/httpd\&.conf] + apachectl restart + /path/to/apache/sbin/apachectl restart: httpd not running, trying to start + [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module + /path/to/apache/sbin/apachectl restart: httpd started + $ _ + +.fi + diff --git a/docs/man/dbmmanage.1 b/docs/man/dbmmanage.1 new file mode 100644 index 0000000..30452b9 --- /dev/null +++ b/docs/man/dbmmanage.1 @@ -0,0 +1,121 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "DBMMANAGE" 1 "2018-07-06" "Apache HTTP Server" "dbmmanage" + +.SH NAME +dbmmanage \- Manage user authentication files in DBM format + +.SH "SYNOPSIS" + +.PP +\fB\fBdbmmanage\fR [ \fIencoding\fR ] \fIfilename\fR add|adduser|check|delete|update \fIusername\fR [ \fIencpasswd\fR [ \fIgroup\fR[,\fIgroup\fR\&.\&.\&.] [ \fIcomment\fR ] ] ]\fR + +.PP +\fB\fBdbmmanage\fR \fIfilename\fR view [ \fIusername\fR ]\fR + +.PP +\fB\fBdbmmanage\fR \fIfilename\fR import\fR + + +.SH "SUMMARY" + +.PP +\fBdbmmanage\fR is used to create and update the DBM format files used to store usernames and password for basic authentication of HTTP users via mod_authn_dbm\&. Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBdbmmanage\fR\&. This program can only be used when the usernames are stored in a DBM file\&. To use a flat-file database see htpasswd\&. + +.PP +Another tool to maintain a DBM password database is htdbm\&. + +.PP +This manual page only lists the command line arguments\&. For details of the directives necessary to configure user authentication in httpd see the httpd manual, which is part of the Apache distribution or can be found at http://httpd\&.apache\&.org/\&. + + +.SH "OPTIONS" + + +.TP +\fB\fIfilename\fR\fR +The filename of the DBM format file\&. Usually without the extension \fB\&.db\fR, \fB\&.pag\fR, or \fB\&.dir\fR\&. +.TP +\fB\fIusername\fR\fR +The user for which the operations are performed\&. The \fIusername\fR may not contain a colon (\fB:\fR)\&. +.TP +\fB\fIencpasswd\fR\fR +This is the already encrypted password to use for the \fBupdate\fR and \fBadd\fR commands\&. You may use a hyphen (\fB-\fR) if you want to get prompted for the password, but fill in the fields afterwards\&. Additionally when using the \fBupdate\fR command, a period (\fB\&.\fR) keeps the original password untouched\&. +.TP +\fB\fIgroup\fR\fR +A group, which the user is member of\&. A groupname may not contain a colon (\fB:\fR)\&. You may use a hyphen (\fB-\fR) if you don't want to assign the user to a group, but fill in the comment field\&. Additionally when using the \fBupdate\fR command, a period (\fB\&.\fR) keeps the original groups untouched\&. +.TP +\fB\fIcomment\fR\fR +This is the place for your opaque comments about the user, like realname, mailaddress or such things\&. The server will ignore this field\&. + +.SS "Encodings" + + +.TP +\fB-d\fR +crypt encryption (default, except on Win32, Netware) +.TP +\fB-m\fR +MD5 encryption (default on Win32, Netware) +.TP +\fB-s\fR +SHA1 encryption +.TP +\fB-p\fR +plaintext (\fInot recommended\fR) + +.SS "Commands" + + +.TP +\fBadd\fR +Adds an entry for \fIusername\fR to \fIfilename\fR using the encrypted password \fIencpasswd\fR\&. dbmmanage passwords\&.dat add rbowen foKntnEF3KSXA +.TP +\fBadduser\fR +Asks for a password and then adds an entry for \fIusername\fR to \fIfilename\fR\&. dbmmanage passwords\&.dat adduser krietz +.TP +\fBcheck\fR +Asks for a password and then checks if \fIusername\fR is in \fIfilename\fR and if it's password matches the specified one\&. dbmmanage passwords\&.dat check rbowen +.TP +\fBdelete\fR +Deletes the \fIusername\fR entry from \fIfilename\fR\&. dbmmanage passwords\&.dat delete rbowen +.TP +\fBimport\fR +Reads \fB\fIusername\fR:\fIpassword\fR\fR entries (one per line) from \fBSTDIN\fR and adds them to \fIfilename\fR\&. The passwords already have to be crypted\&. +.TP +\fBupdate\fR +Same as the \fBadduser\fR command, except that it makes sure \fIusername\fR already exists in \fIfilename\fR\&. dbmmanage passwords\&.dat update rbowen +.TP +\fBview\fR +Just displays the contents of the DBM file\&. If you specify a \fIusername\fR, it displays the particular record only\&. dbmmanage passwords\&.dat view + +.SH "BUGS" + +.PP +One should be aware that there are a number of different DBM file formats in existence, and with all likelihood, libraries for more than one format may exist on your system\&. The three primary examples are SDBM, NDBM, the GNU project's GDBM, and Berkeley DB 2\&. Unfortunately, all these libraries use different file formats, and you must make sure that the file format used by \fIfilename\fR is the same format that \fBdbmmanage\fR expects to see\&. \fBdbmmanage\fR currently has no way of determining what type of DBM file it is looking at\&. If used against the wrong format, will simply return nothing, or may create a different DBM file with a different name, or at worst, it may corrupt the DBM file if you were attempting to write to it\&. + +.PP +\fBdbmmanage\fR has a list of DBM format preferences, defined by the \fB@AnyDBM::ISA\fR array near the beginning of the program\&. Since we prefer the Berkeley DB 2 file format, the order in which \fBdbmmanage\fR will look for system libraries is Berkeley DB 2, then NDBM, then GDBM and then SDBM\&. The first library found will be the library \fBdbmmanage\fR will attempt to use for all DBM file transactions\&. This ordering is slightly different than the standard \fB@AnyDBM::ISA\fR ordering in Perl, as well as the ordering used by the simple \fBdbmopen()\fR call in Perl, so if you use any other utilities to manage your DBM files, they must also follow this preference ordering\&. Similar care must be taken if using programs in other languages, like C, to access these files\&. + +.PP +One can usually use the \fBfile\fR program supplied with most Unix systems to see what format a DBM file is in\&. + diff --git a/docs/man/fcgistarter.8 b/docs/man/fcgistarter.8 new file mode 100644 index 0000000..7440fd7 --- /dev/null +++ b/docs/man/fcgistarter.8 @@ -0,0 +1,59 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "FCGISTARTER" 8 "2020-02-08" "Apache HTTP Server" "fcgistarter" + +.SH NAME +fcgistarter \- Start a FastCGI program + +.SH "SYNOPSIS" + +.PP +\fB\fBfcgistarter\fR -\fBc\fR \fIcommand\fR -\fBp\fR \fIport\fR [ -\fBi\fR \fIinterface\fR ] -\fBN\fR \fInum\fR \fR + + +.SH "SUMMARY" + +.PP + + + +.SH "NOTE" + +.PP +Currently only works on Unix systems\&. + +.SH "OPTIONS" + + +.TP +\fB-c \fIcommand\fR\fR +Absolute path of the FastCGI program +.TP +\fB-p \fIport\fR\fR +Port which the program will listen on +.TP +\fB-i \fIinterface\fR\fR +Interface which the program will listen on +.TP +\fB-N \fInum\fR\fR +Number of instances of the program + diff --git a/docs/man/htcacheclean.8 b/docs/man/htcacheclean.8 new file mode 100644 index 0000000..d8c8469 --- /dev/null +++ b/docs/man/htcacheclean.8 @@ -0,0 +1,146 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTCACHECLEAN" 8 "2019-08-09" "Apache HTTP Server" "htcacheclean" + +.SH NAME +htcacheclean \- Clean up the disk cache + +.SH "SYNOPSIS" + +.PP +\fB\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBr\fR ] [ -\fBn\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [ -\fBl\fR\fIlimit\fR ] [ -\fBL\fR\fIlimit\fR ]\fR + +.PP +\fB\fBhtcacheclean\fR [ -\fBn\fR ] [ -\fBt\fR ] [ -\fBi\fR ] [ -\fBP\fR\fIpidfile\fR ] [ -\fBR\fR\fIround\fR ] -\fBd\fR\fIinterval\fR -\fBp\fR\fIpath\fR [ -\fBl\fR\fIlimit\fR ] [ -\fBL\fR\fIlimit\fR ]\fR + +.PP +\fB\fBhtcacheclean\fR [ -\fBv\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR [ -\fBa\fR ] [ -\fBA\fR ]\fR + +.PP +\fB\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBR\fR\fIround\fR ] -\fBp\fR\fIpath\fR \fIurl\fR\fR + + +.SH "SUMMARY" + +.PP +\fBhtcacheclean\fR is used to keep the size of mod_cache_disk's storage within a given size limit, or limit on inodes in use\&. This tool can run either manually or in daemon mode\&. When running in daemon mode, it sleeps in the background and checks the cache directory at regular intervals for cached content to be removed\&. You can stop the daemon cleanly by sending it a TERM or INT signal\&. When run manually, a once off check of the cache directory is made for cached content to be removed\&. If one or more URLs are specified, each URL will be deleted from the cache, if present\&. + + +.SH "OPTIONS" + + +.TP +\fB-d\fIinterval\fR\fR +Daemonize and repeat cache cleaning every \fIinterval\fR minutes\&. This option is mutually exclusive with the \fB-D\fR, \fB-v\fR and \fB-r\fR options\&. To shutdown the daemon cleanly, just send it a \fBSIGTERM\fR or \fBSIGINT\fR\&. +.TP +\fB-D\fR +Do a dry run and don't delete anything\&. This option is mutually exclusive with the \fB-d\fR option\&. When doing a dry run and deleting directories with \fB-t\fR, the inodes reported deleted in the stats cannot take into account the directories deleted, and will be marked as an estimate\&. +.TP +\fB-v\fR +Be verbose and print statistics\&. This option is mutually exclusive with the \fB-d\fR option\&. +.TP +\fB-r\fR +Clean thoroughly\&. This assumes that the Apache web server is not running (otherwise you may get garbage in the cache)\&. This option is mutually exclusive with the \fB-d\fR option and implies the \fB-t\fR option\&. +.TP +\fB-n\fR +Be nice\&. This causes slower processing in favour of other processes\&. \fBhtcacheclean\fR will sleep from time to time so that (a) the disk IO will be delayed and (b) the kernel can schedule other processes in the meantime\&. +.TP +\fB-t\fR +Delete all empty directories\&. By default only cache files are removed, however with some configurations the large number of directories created may require attention\&. If your configuration requires a very large number of directories, to the point that inode or file allocation table exhaustion may become an issue, use of this option is advised\&. +.TP +\fB-p\fIpath\fR\fR +Specify \fIpath\fR as the root directory of the disk cache\&. This should be the same value as specified with the CacheRoot directive\&. +.TP +\fB-P\fIpidfile\fR\fR +Specify \fIpidfile\fR as the name of the file to write the process ID to when daemonized\&. +.TP +\fB-R\fIround\fR\fR +Specify \fIround\fR as the amount to round sizes up to, to compensate for disk block sizes\&. Set to the block size of the cache partition\&. +.TP +\fB-l\fIlimit\fR\fR +Specify \fIlimit\fR as the total disk cache size limit\&. The value is expressed in bytes by default (or attaching \fBB\fR to the number)\&. Attach \fBK\fR for Kbytes, \fBM\fR for MBytes or \fBG\fR for Gbytes\&. +.TP +\fB-L\fIlimit\fR\fR +Specify \fIlimit\fR as the total disk cache inode limit\&. \fBK\fR, \fBM\fR or \fBG\fR suffix can also be used\&. +.TP +\fB-i\fR +Be intelligent and run only when there was a modification of the disk cache\&. This option is only possible together with the \fB-d\fR option\&. +.TP +\fB-a\fR +List the URLs currently stored in the cache\&. Variants of the same URL will be listed once for each variant\&. +.TP +\fB-A\fR +List the URLs currently stored in the cache, along with their attributes in the following order: url, header size, body size, status, entity version, date, expiry, request time, response time, body present, head request\&. + +.SH "DELETING A SPECIFIC URL" + +.PP +If \fBhtcacheclean\fR is passed one or more URLs, each URL will be deleted from the cache\&. If multiple variants of an URL exists, all variants would be deleted\&. + +.PP +When a reverse proxied URL is to be deleted, the effective URL is constructed from the \fBHost\fR header, the \fBport\fR, the \fBpath\fR and the \fBquery\fR\&. Note the '?' in the URL must always be specified explicitly, whether a query string is present or not\&. For example, an attempt to delete the path \fB/\fR from the server \fBlocalhost\fR, the URL to delete would be \fBhttp://localhost:80/?\fR\&. + +.SH "LISTING URLS IN THE CACHE" + +.PP +By passing the \fB-a\fR or \fB-A\fR options to \fBhtcacheclean\fR, the URLs within the cache will be listed as they are found, one URL per line\&. The \fB-A\fR option dumps the full cache entry after the URL, with fields in the following order: + + +.TP +url +The URL of the entry\&. +.TP +header size +The size of the header in bytes\&. +.TP +body size +The size of the body in bytes\&. +.TP +status +Status of the cached response\&. +.TP +entity version +The number of times this entry has been revalidated without being deleted\&. +.TP +date +Date of the response\&. +.TP +expiry +Expiry date of the response\&. +.TP +request time +Time of the start of the request\&. +.TP +response time +Time of the end of the request\&. +.TP +body present +If 0, no body is stored with this request, 1 otherwise\&. +.TP +head request +If 1, the entry contains a cached HEAD request with no body, 0 otherwise\&. + +.SH "EXIT STATUS" + +.PP +\fBhtcacheclean\fR returns a zero status ("true") if all operations were successful, \fB1\fR otherwise\&. If an URL is specified, and the URL was cached and successfully removed, \fB0\fR is returned, \fB2\fR otherwise\&. If an error occurred during URL removal, \fB1\fR is returned\&. + diff --git a/docs/man/htdbm.1 b/docs/man/htdbm.1 new file mode 100644 index 0000000..8c18c6e --- /dev/null +++ b/docs/man/htdbm.1 @@ -0,0 +1,187 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTDBM" 1 "2018-07-06" "Apache HTTP Server" "htdbm" + +.SH NAME +htdbm \- Manipulate DBM password databases + +.SH "SYNOPSIS" + +.PP +\fB\fBhtdbm\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBi\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIfilename\fR \fIusername\fR\fR + +.PP +\fB\fBhtdbm\fR -\fBb\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIfilename\fR \fIusername\fR \fIpassword\fR\fR + +.PP +\fB\fBhtdbm\fR -\fBn\fR [ -\fBi\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIusername\fR\fR + +.PP +\fB\fBhtdbm\fR -\fBnb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIusername\fR \fIpassword\fR\fR + +.PP +\fB\fBhtdbm\fR -\fBv\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBi\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIfilename\fR \fIusername\fR\fR + +.PP +\fB\fBhtdbm\fR -\fBvb\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIfilename\fR \fIusername\fR \fIpassword\fR\fR + +.PP +\fB\fBhtdbm\fR -\fBx\fR [ -\fBT\fR\fIDBTYPE\fR ] \fIfilename\fR \fIusername\fR\fR + +.PP +\fB\fBhtdbm\fR -\fBl\fR [ -\fBT\fR\fIDBTYPE\fR ] \fR + + +.SH "SUMMARY" + +.PP +\fBhtdbm\fR is used to manipulate the DBM format files used to store usernames and password for basic authentication of HTTP users via mod_authn_dbm\&. See the dbmmanage documentation for more information about these DBM files\&. + + +.SH "OPTIONS" + + +.TP +\fB-b\fR +Use batch mode; \fIi\&.e\&.\fR, get the password from the command line rather than prompting for it\&. This option should be used with extreme care, since \fBthe password is clearly visible\fR on the command line\&. For script use see the \fB-i\fR option\&. +.TP +\fB-i\fR +Read the password from stdin without verification (for script usage)\&. +.TP +\fB-c\fR +Create the \fIpasswdfile\fR\&. If \fIpasswdfile\fR already exists, it is rewritten and truncated\&. This option cannot be combined with the \fB-n\fR option\&. +.TP +\fB-n\fR +Display the results on standard output rather than updating a database\&. This option changes the syntax of the command line, since the \fIpasswdfile\fR argument (usually the first one) is omitted\&. It cannot be combined with the \fB-c\fR option\&. +.TP +\fB-m\fR +Use MD5 encryption for passwords\&. On Windows and Netware, this is the default\&. +.TP +\fB-B\fR +Use bcrypt encryption for passwords\&. This is currently considered to be very secure\&. +.TP +\fB-C\fR +This flag is only allowed in combination with \fB-B\fR (bcrypt encryption)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 31)\&. +.TP +\fB-d\fR +Use \fBcrypt()\fR encryption for passwords\&. The default on all platforms but Windows and Netware\&. Though possibly supported by \fBhtdbm\fR on all platforms, it is not supported by the httpd server on Windows and Netware\&. This algorithm is \fBinsecure\fR by today's standards\&. +.TP +\fB-s\fR +Use SHA encryption for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&. +.TP +\fB-p\fR +Use plaintext passwords\&. Though \fBhtdbm\fR will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&. +.TP +\fB-l\fR +Print each of the usernames and comments from the database on stdout\&. +.TP +\fB-v\fR +Verify the username and password\&. The program will print a message indicating whether the supplied password is valid\&. If the password is invalid, the program exits with error code 3\&. +.TP +\fB-x\fR +Delete user\&. If the username exists in the specified DBM file, it will be deleted\&. +.TP +\fB-t\fR +Interpret the final parameter as a comment\&. When this option is specified, an additional string can be appended to the command line; this string will be stored in the "Comment" field of the database, associated with the specified username\&. +.TP +\fB\fIfilename\fR\fR +The filename of the DBM format file\&. Usually without the extension \fB\&.db\fR, \fB\&.pag\fR, or \fB\&.dir\fR\&. If \fB-c\fR is given, the DBM file is created if it does not already exist, or updated if it does exist\&. +.TP +\fB\fIusername\fR\fR +The username to create or update in \fIpasswdfile\fR\&. If \fIusername\fR does not exist in this file, an entry is added\&. If it does exist, the password is changed\&. +.TP +\fB\fIpassword\fR\fR +The plaintext password to be encrypted and stored in the DBM file\&. Used only with the \fB-b\fR flag\&. +.TP +\fB-T\fIDBTYPE\fR\fR +Type of DBM file (SDBM, GDBM, DB, or "default")\&. + +.SH "BUGS" + +.PP +One should be aware that there are a number of different DBM file formats in existence, and with all likelihood, libraries for more than one format may exist on your system\&. The three primary examples are SDBM, NDBM, GNU GDBM, and Berkeley/Sleepycat DB 2/3/4\&. Unfortunately, all these libraries use different file formats, and you must make sure that the file format used by \fIfilename\fR is the same format that \fBhtdbm\fR expects to see\&. \fBhtdbm\fR currently has no way of determining what type of DBM file it is looking at\&. If used against the wrong format, will simply return nothing, or may create a different DBM file with a different name, or at worst, it may corrupt the DBM file if you were attempting to write to it\&. + +.PP +One can usually use the \fBfile\fR program supplied with most Unix systems to see what format a DBM file is in\&. + +.SH "EXIT STATUS" + +.PP +\fBhtdbm\fR returns a zero status ("true") if the username and password have been successfully added or updated in the DBM File\&. \fBhtdbm\fR returns \fB1\fR if it encounters some problem accessing files, \fB2\fR if there was a syntax problem with the command line, \fB3\fR if the password was entered interactively and the verification entry didn't match, \fB4\fR if its operation was interrupted, \fB5\fR if a value is too long (username, filename, password, or final computed record), \fB6\fR if the username contains illegal characters (see the Restrictions section), and \fB7\fR if the file is not a valid DBM password file\&. + +.SH "EXAMPLES" + +.nf + + htdbm /usr/local/etc/apache/\&.htdbm-users jsmith + +.fi + +.PP +Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. If executed on a Windows system, the password will be encrypted using the modified Apache MD5 algorithm; otherwise, the system's \fBcrypt()\fR routine will be used\&. If the file does not exist, \fBhtdbm\fR will do nothing except return an error\&. + +.nf + + htdbm -c /home/doe/public_html/\&.htdbm jane + +.fi + +.PP +Creates a new file and stores a record in it for user \fBjane\fR\&. The user is prompted for the password\&. If the file exists and cannot be read, or cannot be written, it is not altered and \fBhtdbm\fR will display a message and return an error status\&. + +.nf + + htdbm -mb /usr/web/\&.htdbm-all jones Pwd4Steve + +.fi + +.PP +Encrypts the password from the command line (\fBPwd4Steve\fR) using the MD5 algorithm, and stores it in the specified file\&. + +.SH "SECURITY CONSIDERATIONS" + +.PP +Web password files such as those managed by \fBhtdbm\fR should \fInot\fR be within the Web server's URI space -- that is, they should not be fetchable with a browser\&. + +.PP +The use of the \fB-b\fR option is discouraged, since when it is used the unencrypted password appears on the command line\&. + +.PP +When using the \fBcrypt()\fR algorithm, note that only the first 8 characters of the password are used to form the password\&. If the supplied password is longer, the extra characters will be silently discarded\&. + +.PP +The SHA encryption format does not use salting: for a given password, there is only one encrypted representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&. + +.PP +The SHA and \fBcrypt()\fR formats are insecure by today's standards\&. + +.SH "RESTRICTIONS" + +.PP +On the Windows platform, passwords encrypted with \fBhtdbm\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&. + +.PP +The MD5 algorithm used by \fBhtdbm\fR is specific to the Apache software; passwords encrypted using it will not be usable with other Web servers\&. + +.PP +Usernames are limited to \fB255\fR bytes and may not include the character \fB:\fR\&. + diff --git a/docs/man/htdigest.1 b/docs/man/htdigest.1 new file mode 100644 index 0000000..9f83228 --- /dev/null +++ b/docs/man/htdigest.1 @@ -0,0 +1,62 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTDIGEST" 1 "2018-07-06" "Apache HTTP Server" "htdigest" + +.SH NAME +htdigest \- manage user files for digest authentication + +.SH "SYNOPSIS" + +.PP +\fB\fBhtdigest\fR [ -\fBc\fR ] \fIpasswdfile\fR \fIrealm\fR \fIusername\fR\fR + + +.SH "SUMMARY" + +.PP +\fBhtdigest\fR is used to create and update the flat-files used to store usernames, realm and password for digest authentication of HTTP users\&. Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBhtdigest\fR\&. + +.PP +This manual page only lists the command line arguments\&. For details of the directives necessary to configure digest authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd\&.apache\&.org/\&. + + +.SH "OPTIONS" + + +.TP +\fB-c\fR +Create the \fIpasswdfile\fR\&. If \fIpasswdfile\fR already exists, it is deleted first\&. +.TP +\fB\fIpasswdfile\fR\fR +Name of the file to contain the username, realm and password\&. If \fB-c\fR is given, this file is created if it does not already exist, or deleted and recreated if it does exist\&. +.TP +\fB\fIrealm\fR\fR +The realm name to which the user name belongs\&. See http://tools\&.ietf\&.org/html/rfc2617#section-3\&.2\&.1 for more details\&. +.TP +\fB\fIusername\fR\fR +The user name to create or update in \fIpasswdfile\fR\&. If \fIusername\fR does not exist is this file, an entry is added\&. If it does exist, the password is changed\&. + +.SH "SECURITY CONSIDERATIONS" + +.PP +This program is not safe as a setuid executable\&. Do \fInot\fR make it setuid\&. + diff --git a/docs/man/htpasswd.1 b/docs/man/htpasswd.1 new file mode 100644 index 0000000..d0ad7e8 --- /dev/null +++ b/docs/man/htpasswd.1 @@ -0,0 +1,173 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTPASSWD" 1 "2019-08-09" "Apache HTTP Server" "htpasswd" + +.SH NAME +htpasswd \- Manage user files for basic authentication + +.SH "SYNOPSIS" + +.PP +\fB\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR\fR + +.PP +\fB\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR \fIpassword\fR\fR + +.PP +\fB\fBhtpasswd\fR -\fBn\fR [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR\fR + +.PP +\fB\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR \fIpassword\fR\fR + + +.SH "SUMMARY" + +.PP +\fBhtpasswd\fR is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users\&. If \fBhtpasswd\fR cannot access a file, such as not being able to write to the output file or not being able to read the file in order to update it, it returns an error status and makes no changes\&. + +.PP +Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBhtpasswd\fR\&. This program can only manage usernames and passwords stored in a flat-file\&. It can encrypt and display password information for use in other types of data stores, though\&. To use a DBM database see dbmmanage or htdbm\&. + +.PP +\fBhtpasswd\fR encrypts passwords using either bcrypt, a version of MD5 modified for Apache, SHA1, or the system's \fBcrypt()\fR routine\&. Files managed by \fBhtpasswd\fR may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-encrypted passwords while others in the same file may have passwords encrypted with \fBcrypt()\fR\&. + +.PP +This manual page only lists the command line arguments\&. For details of the directives necessary to configure user authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd\&.apache\&.org/\&. + + +.SH "OPTIONS" + + +.TP +\fB-b\fR +Use batch mode; \fIi\&.e\&.\fR, get the password from the command line rather than prompting for it\&. This option should be used with extreme care, since \fBthe password is clearly visible\fR on the command line\&. For script use see the \fB-i\fR option\&. Available in 2\&.4\&.4 and later\&. +.TP +\fB-i\fR +Read the password from stdin without verification (for script usage)\&. +.TP +\fB-c\fR +Create the \fIpasswdfile\fR\&. If \fIpasswdfile\fR already exists, it is rewritten and truncated\&. This option cannot be combined with the \fB-n\fR option\&. +.TP +\fB-n\fR +Display the results on standard output rather than updating a file\&. This is useful for generating password records acceptable to Apache for inclusion in non-text data stores\&. This option changes the syntax of the command line, since the \fIpasswdfile\fR argument (usually the first one) is omitted\&. It cannot be combined with the \fB-c\fR option\&. +.TP +\fB-m\fR +Use MD5 encryption for passwords\&. This is the default (since version 2\&.2\&.18)\&. +.TP +\fB-B\fR +Use bcrypt encryption for passwords\&. This is currently considered to be very secure\&. +.TP +\fB-C\fR +This flag is only allowed in combination with \fB-B\fR (bcrypt encryption)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 17)\&. +.TP +\fB-d\fR +Use \fBcrypt()\fR encryption for passwords\&. This is not supported by the httpd server on Windows and Netware\&. This algorithm limits the password length to 8 characters\&. This algorithm is \fBinsecure\fR by today's standards\&. It used to be the default algorithm until version 2\&.2\&.17\&. +.TP +\fB-s\fR +Use SHA encryption for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&. +.TP +\fB-p\fR +Use plaintext passwords\&. Though \fBhtpasswd\fR will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&. +.TP +\fB-D\fR +Delete user\&. If the username exists in the specified htpasswd file, it will be deleted\&. +.TP +\fB-v\fR +Verify password\&. Verify that the given password matches the password of the user stored in the specified htpasswd file\&. Available in 2\&.4\&.5 and later\&. +.TP +\fB\fIpasswdfile\fR\fR +Name of the file to contain the user name and password\&. If \fB-c\fR is given, this file is created if it does not already exist, or rewritten and truncated if it does exist\&. +.TP +\fB\fIusername\fR\fR +The username to create or update in \fIpasswdfile\fR\&. If \fIusername\fR does not exist in this file, an entry is added\&. If it does exist, the password is changed\&. +.TP +\fB\fIpassword\fR\fR +The plaintext password to be encrypted and stored in the file\&. Only used with the \fB-b\fR flag\&. + +.SH "EXIT STATUS" + +.PP +\fBhtpasswd\fR returns a zero status ("true") if the username and password have been successfully added or updated in the \fIpasswdfile\fR\&. \fBhtpasswd\fR returns \fB1\fR if it encounters some problem accessing files, \fB2\fR if there was a syntax problem with the command line, \fB3\fR if the password was entered interactively and the verification entry didn't match, \fB4\fR if its operation was interrupted, \fB5\fR if a value is too long (username, filename, password, or final computed record), \fB6\fR if the username contains illegal characters (see the Restrictions section), and \fB7\fR if the file is not a valid password file\&. + +.SH "EXAMPLES" + +.nf + + htpasswd /usr/local/etc/apache/\&.htpasswd-users jsmith + +.fi + +.PP +Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. The password will be encrypted using the modified Apache MD5 algorithm\&. If the file does not exist, \fBhtpasswd\fR will do nothing except return an error\&. + +.nf + + htpasswd -c /home/doe/public_html/\&.htpasswd jane + +.fi + +.PP +Creates a new file and stores a record in it for user \fBjane\fR\&. The user is prompted for the password\&. If the file exists and cannot be read, or cannot be written, it is not altered and \fBhtpasswd\fR will display a message and return an error status\&. + +.nf + + htpasswd -db /usr/web/\&.htpasswd-all jones Pwd4Steve + +.fi + +.PP +Encrypts the password from the command line (\fBPwd4Steve\fR) using the \fBcrypt()\fR algorithm, and stores it in the specified file\&. + +.SH "SECURITY CONSIDERATIONS" + +.PP +Web password files such as those managed by \fBhtpasswd\fR should \fInot\fR be within the Web server's URI space -- that is, they should not be fetchable with a browser\&. + +.PP +This program is not safe as a setuid executable\&. Do \fInot\fR make it setuid\&. + +.PP +The use of the \fB-b\fR option is discouraged, since when it is used the unencrypted password appears on the command line\&. + +.PP +When using the \fBcrypt()\fR algorithm, note that only the first 8 characters of the password are used to form the password\&. If the supplied password is longer, the extra characters will be silently discarded\&. + +.PP +The SHA encryption format does not use salting: for a given password, there is only one encrypted representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&. + +.PP +The SHA and \fBcrypt()\fR formats are insecure by today's standards\&. + +.SH "RESTRICTIONS" + +.PP +On the Windows platform, passwords encrypted with \fBhtpasswd\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&. + +.PP +The MD5 algorithm used by \fBhtpasswd\fR is specific to the Apache software; passwords encrypted using it will not be usable with other Web servers\&. + +.PP +Usernames are limited to \fB255\fR bytes and may not include the character \fB:\fR\&. + +.PP +The cost of computing a bcrypt password hash value increases with the number of rounds specified by the \fB-C\fR option\&. The \fBapr-util\fR library enforces a maximum number of rounds of 17 in version \fB1\&.6\&.0\fR and later\&. + diff --git a/docs/man/httpd.8 b/docs/man/httpd.8 new file mode 100644 index 0000000..75223f6 --- /dev/null +++ b/docs/man/httpd.8 @@ -0,0 +1,119 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTTPD" 8 "2018-07-06" "Apache HTTP Server" "httpd" + +.SH NAME +httpd \- Apache Hypertext Transfer Protocol Server + +.SH "SYNOPSIS" + +.PP +\fB\fBhttpd\fR [ -\fBd\fR \fIserverroot\fR ] [ -\fBf\fR \fIconfig\fR ] [ -\fBC\fR \fIdirective\fR ] [ -\fBc\fR \fIdirective\fR ] [ -\fBD\fR \fIparameter\fR ] [ -\fBe\fR \fIlevel\fR ] [ -\fBE\fR \fIfile\fR ] [ \fB-k\fR start|restart|graceful|stop|graceful-stop ] [ -\fBh\fR ] [ -\fBl\fR ] [ -\fBL\fR ] [ -\fBS\fR ] [ -\fBt\fR ] [ -\fBv\fR ] [ -\fBV\fR ] [ -\fBX\fR ] [ -\fBM\fR ] [ -\fBT\fR ] \fR + +.PP +On Windows systems, the following additional arguments are available: + +.PP +\fB\fBhttpd\fR [ -\fBk\fR install|config|uninstall ] [ -\fBn\fR \fIname\fR ] [ -\fBw\fR ]\fR + + +.SH "SUMMARY" + +.PP +\fBhttpd\fR is the Apache HyperText Transfer Protocol (HTTP) server program\&. It is designed to be run as a standalone daemon process\&. When used like this it will create a pool of child processes or threads to handle requests\&. + +.PP +In general, \fBhttpd\fR should not be invoked directly, but rather should be invoked via apachectl on Unix-based systems or as a service on Windows NT, 2000 and XP and as a console application on Windows 9x and ME\&. + + +.SH "OPTIONS" + + +.TP +\fB-d \fIserverroot\fR\fR +Set the initial value for the ServerRoot directive to \fIserverroot\fR\&. This can be overridden by the ServerRoot directive in the configuration file\&. The default is \fB/usr/local/apache2\fR\&. +.TP +\fB-f \fIconfig\fR\fR +Uses the directives in the file \fIconfig\fR on startup\&. If \fIconfig\fR does not begin with a /, then it is taken to be a path relative to the ServerRoot\&. The default is \fBconf/httpd\&.conf\fR\&. +.TP +\fB-k \fBstart|restart|graceful|stop|graceful-stop\fR\fR +Signals \fBhttpd\fR to start, restart, or stop\&. See Stopping Apache httpd for more information\&. +.TP +\fB-C \fIdirective\fR\fR +Process the configuration \fIdirective\fR before reading config files\&. +.TP +\fB-c \fIdirective\fR\fR +Process the configuration \fIdirective\fR after reading config files\&. +.TP +\fB-D \fIparameter\fR\fR +Sets a configuration \fIparameter \fRwhich can be used with sections in the configuration files to conditionally skip or process commands at server startup and restart\&. Also can be used to set certain less-common startup parameters including \fB-DNO_DETACH\fR (prevent the parent from forking) and \fB-DFOREGROUND\fR (prevent the parent from calling \fBsetsid()\fR et al)\&. +.TP +\fB-e \fIlevel\fR\fR +Sets the LogLevel to \fIlevel\fR during server startup\&. This is useful for temporarily increasing the verbosity of the error messages to find problems during startup\&. +.TP +\fB-E \fIfile\fR\fR +Send error messages during server startup to \fIfile\fR\&. +.TP +\fB-h\fR +Output a short summary of available command line options\&. +.TP +\fB-l\fR +Output a list of modules compiled into the server\&. This will \fBnot\fR list dynamically loaded modules included using the LoadModule directive\&. +.TP +\fB-L\fR +Output a list of directives provided by static modules, together with expected arguments and places where the directive is valid\&. Directives provided by shared modules are not listed\&. +.TP +\fB-M\fR +Dump a list of loaded Static and Shared Modules\&. +.TP +\fB-S\fR +Show the settings as parsed from the config file (currently only shows the virtualhost settings)\&. +.TP +\fB-T\fR (Available in 2\&.3\&.8 and later) +Skip document root check at startup/restart\&. +.TP +\fB-t\fR +Run syntax tests for configuration files only\&. The program immediately exits after these syntax parsing tests with either a return code of 0 (Syntax OK) or return code not equal to 0 (Syntax Error)\&. If -D \fIDUMP\fR_\fIVHOSTS \fRis also set, details of the virtual host configuration will be printed\&. If -D \fIDUMP\fR_\fIMODULES \fR is set, all loaded modules will be printed\&. +.TP +\fB-v\fR +Print the version of \fBhttpd\fR, and then exit\&. +.TP +\fB-V\fR +Print the version and build parameters of \fBhttpd\fR, and then exit\&. +.TP +\fB-X\fR +Run httpd in debug mode\&. Only one worker will be started and the server will not detach from the console\&. + +.PP +The following arguments are available only on the Windows platform: + + +.TP +\fB-k install|config|uninstall\fR +Install Apache httpd as a Windows NT service; change startup options for the Apache httpd service; and uninstall the Apache httpd service\&. +.TP +\fB-n \fIname\fR\fR +The \fIname\fR of the Apache httpd service to signal\&. +.TP +\fB-w\fR +Keep the console window open on error so that the error message can be read\&. + diff --git a/docs/man/httxt2dbm.1 b/docs/man/httxt2dbm.1 new file mode 100644 index 0000000..2a06b0c --- /dev/null +++ b/docs/man/httxt2dbm.1 @@ -0,0 +1,65 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTTXT2DBM" 1 "2019-11-13" "Apache HTTP Server" "httxt2dbm" + +.SH NAME +httxt2dbm \- Generate dbm files for use with RewriteMap + +.SH "SYNOPSIS" + +.PP +\fB\fBhttxt2dbm\fR [ -\fBv\fR ] [ -\fBf\fR \fIDBM_TYPE\fR ] -\fBi\fR \fISOURCE_TXT\fR -\fBo\fR \fIOUTPUT_DBM\fR \fR + + +.SH "SUMMARY" + +.PP +\fBhttxt2dbm\fR is used to generate dbm files from text input, for use in RewriteMap with the \fBdbm\fR map type\&. + +.PP +If the output file already exists, it will not be truncated\&. New keys will be added and existing keys will be updated\&. + + +.SH "OPTIONS" + + +.TP +\fB-v\fR +More verbose output +.TP +\fB-f \fIDBM_TYPE\fR\fR +Specify the DBM type to be used for the output\&. If not specified, will use the APR Default\&. Available types are: \fBGDBM\fR for GDBM files, \fBSDBM\fR for SDBM files, \fBDB\fR for berkeley DB files, \fBNDBM\fR for NDBM files, \fBdefault\fR for the default DBM type\&. +.TP +\fB-i \fISOURCE_TXT\fR\fR +Input file from which the dbm is to be created\&. The file should be formatted with one record per line, of the form: \fBkey value\fR\&. See the documentation for RewriteMap for further details of this file's format and meaning\&. +.TP +\fB-o \fIOUTPUT_DBM\fR\fR +Name of the output dbm files\&. + +.SH "EXAMPLES" + +.nf + + httxt2dbm -i rewritemap\&.txt -o rewritemap\&.dbm + httxt2dbm -f SDBM -i rewritemap\&.txt -o rewritemap\&.dbm +.fi + diff --git a/docs/man/logresolve.1 b/docs/man/logresolve.1 new file mode 100644 index 0000000..92fadb2 --- /dev/null +++ b/docs/man/logresolve.1 @@ -0,0 +1,51 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "LOGRESOLVE" 1 "2018-07-06" "Apache HTTP Server" "logresolve" + +.SH NAME +logresolve \- Resolve IP-addresses to hostnames in Apache log files + +.SH "SYNOPSIS" + +.PP +\fB\fBlogresolve\fR [ -\fBs\fR \fIfilename\fR ] [ -\fBc\fR ] < \fIaccess_log\fR > \fIaccess_log\&.new\fR\fR + + +.SH "SUMMARY" + +.PP +\fBlogresolve\fR is a post-processing program to resolve IP-addresses in Apache's access logfiles\&. To minimize impact on your nameserver, logresolve has its very own internal hash-table cache\&. This means that each IP number will only be looked up the first time it is found in the log file\&. + +.PP +Takes an Apache log file on standard input\&. The IP addresses must be the first thing on each line and must be separated from the remainder of the line by a space\&. + + +.SH "OPTIONS" + + +.TP +\fB-s \fIfilename\fR\fR +Specifies a filename to record statistics\&. +.TP +\fB-c\fR +This causes \fBlogresolve\fR to apply some DNS checks: after finding the hostname from the IP address, it looks up the IP addresses for the hostname and checks that one of these matches the original address\&. + diff --git a/docs/man/rotatelogs.8 b/docs/man/rotatelogs.8 new file mode 100644 index 0000000..29c35da --- /dev/null +++ b/docs/man/rotatelogs.8 @@ -0,0 +1,192 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "ROTATELOGS" 8 "2023-03-05" "Apache HTTP Server" "rotatelogs" + +.SH NAME +rotatelogs \- Piped logging program to rotate Apache logs + +.SH "SYNOPSIS" + +.PP +\fB\fBrotatelogs\fR [ -\fBl\fR ] [ -\fBL\fR \fIlinkname\fR ] [ -\fBp\fR \fIprogram\fR ] [ -\fBf\fR ] [ -\fBD\fR ] [ -\fBt\fR ] [ -\fBv\fR ] [ -\fBe\fR ] [ -\fBc\fR ] [ -\fBn\fR \fInumber-of-files\fR ] \fIlogfile\fR \fIrotationtime\fR|\fIfilesize\fR(B|K|M|G) [ \fIoffset\fR ]\fR + + +.SH "SUMMARY" + +.PP +\fBrotatelogs\fR is a simple program for use in conjunction with Apache's piped logfile feature\&. It supports rotation based on a time interval or maximum size of the log\&. + + +.SH "OPTIONS" + + +.TP +\fB-l\fR +Causes the use of local time rather than GMT as the base for the interval or for \fBstrftime(3)\fR formatting with size-based rotation\&. +.TP +\fB-L\fR \fIlinkname\fR +.PP Causes a hard link to be made from the current logfile to the specified link name\&. This can be used to watch the log continuously across rotations using a command like \fBtail -F linkname\fR\&. .PP If the linkname is not an absolute path, it is relative to \fBrotatelogs\fR' working directory, which is the ServerRoot when \fBrotatelogs\fR is run by the server\&. +.TP +\fB-p\fR \fIprogram\fR +If given, \fBrotatelogs\fR will execute the specified program every time a new log file is opened\&. The filename of the newly opened file is passed as the first argument to the program\&. If executing after a rotation, the old log file is passed as the second argument\&. \fBrotatelogs\fR does not wait for the specified program to terminate before continuing to operate, and will not log any error code returned on termination\&. The spawned program uses the same stdin, stdout, and stderr as rotatelogs itself, and also inherits the environment\&. +.TP +\fB-f\fR +Causes the logfile to be opened immediately, as soon as \fBrotatelogs\fR starts, instead of waiting for the first logfile entry to be read (for non-busy sites, there may be a substantial delay between when the server is started and when the first request is handled, meaning that the associated logfile does not "exist" until then, which causes problems from some automated logging tools) +.TP +\fB-D\fR +Creates the parent directories of the path that the log file will be placed in if they do not already exist\&. This allows \fBstrftime(3)\fR formatting to be used in the path and not just the filename\&. +.TP +\fB-t\fR +Causes the logfile to be truncated instead of rotated\&. This is useful when a log is processed in real time by a command like tail, and there is no need for archived data\&. No suffix will be added to the filename, however format strings containing '%' characters will be respected\&. +.TP +\fB-T\fR +Causes all but the initial logfile to be truncated when opened\&. This is useful when the format string contains something that will loop around, such as the day of the month\&. Available in 2\&.4\&.56 and later\&. +.TP +\fB-v\fR +Produce verbose output on STDERR\&. The output contains the result of the configuration parsing, and all file open and close actions\&. +.TP +\fB-e\fR +Echo logs through to stdout\&. Useful when logs need to be further processed in real time by a further tool in the chain\&. +.TP +\fB-c\fR +Create log file for each interval, even if empty\&. +.TP +\fB-n \fInumber-of-files\fR\fR +Use a circular list of filenames without timestamps\&. This option overwrites log files at startup and during rotation\&. With -n 3, the series of log files opened would be "logfile", "logfile\&.1", "logfile\&.2", then overwriting "logfile"\&. When this program first opens "logfile", the file will only be truncated if \fB-t\fR is also provided\&. Every subsequent rotation will always begin with truncation of the target file\&. For size based rotation without \fB-t\fR and existing log files in place, this option may result in unintuitive behavior such as initial log entries being sent to "logfile\&.1", and entries in "logfile\&.1" not being preserved even if later "logfile\&.n" have not yet been used\&. Available in 2\&.4\&.5 and later\&. +.TP +\fB\fIlogfile\fR\fR +.PP The path plus basename of the logfile\&. If \fIlogfile\fR includes any '%' characters, it is treated as a format string for \fBstrftime(3)\fR\&. Otherwise, the suffix \fI\&.nnnnnnnnnn\fR is automatically added and is the time in seconds (unless the -t option is used)\&. Both formats compute the start time from the beginning of the current period\&. For example, if a rotation time of 86400 is specified, the hour, minute, and second fields created from the \fBstrftime(3)\fR format will all be zero, referring to the beginning of the current 24-hour period (midnight)\&. .PP When using \fBstrftime(3)\fR filename formatting, be sure the log file format has enough granularity to produce a different file name each time the logs are rotated\&. Otherwise rotation will overwrite the same file instead of starting a new one\&. For example, if \fIlogfile\fR was \fB/var/log/errorlog\&.%Y-%m-%d\fR with log rotation at 5 megabytes, but 5 megabytes was reached twice in the same day, the same log file name would be produced and log rotation would keep writing to the same file\&. .PP If the logfile is not an absolute path, it is relative to \fBrotatelogs\fR' working directory, which is the ServerRoot when \fBrotatelogs\fR is run by the server\&. +.TP +\fB\fIrotationtime\fR\fR +The time between log file rotations in seconds\&. The rotation occurs at the beginning of this interval\&. For example, if the rotation time is 3600, the log file will be rotated at the beginning of every hour; if the rotation time is 86400, the log file will be rotated every night at midnight\&. (If no data is logged during an interval, no file will be created\&.) +.TP +\fB\fIfilesize\fR(B|K|M|G)\fR +The maximum file size in followed by exactly one of the letters \fBB\fR (Bytes), \fBK\fR (KBytes), \fBM\fR (MBytes) or \fBG\fR (GBytes)\&. .PP When time and size are specified, the size must be given after the time\&. Rotation will occur whenever either time or size limits are reached\&. +.TP +\fB\fIoffset\fR\fR +The number of minutes offset from UTC\&. If omitted, zero is assumed and UTC is used\&. For example, to use local time in the zone UTC -5 hours, specify a value of \fB-300\fR for this argument\&. In most cases, \fB-l\fR should be used instead of specifying an offset\&. + +.SH "EXAMPLES" + +.nf + + CustomLog "|bin/rotatelogs /var/log/logfile 86400" common + +.fi + +.PP +This creates the files /var/log/logfile\&.nnnn where nnnn is the system time at which the log nominally starts (this time will always be a multiple of the rotation time, so you can synchronize cron scripts with it)\&. At the end of each rotation time (here after 24 hours) a new log is started\&. + +.nf + + CustomLog "|bin/rotatelogs -l /var/log/logfile\&.%Y\&.%m\&.%d 86400" common + +.fi + +.PP +This creates the files /var/log/logfile\&.yyyy\&.mm\&.dd where yyyy is the year, mm is the month, and dd is the day of the month\&. Logging will switch to a new file every day at midnight, local time\&. + +.nf + + CustomLog "|bin/rotatelogs /var/log/logfile 5M" common + +.fi + +.PP +This configuration will rotate the logfile whenever it reaches a size of 5 megabytes\&. + +.nf + + ErrorLog "|bin/rotatelogs /var/log/errorlog\&.%Y-%m-%d-%H_%M_%S 5M" + +.fi + +.PP +This configuration will rotate the error logfile whenever it reaches a size of 5 megabytes, and the suffix to the logfile name will be created of the form \fBerrorlog\&.YYYY-mm-dd-HH_MM_SS\fR\&. + +.nf + + CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common + +.fi + +.PP +This creates the file \fB/var/log/logfile\fR, truncating the file at startup and then truncating the file once per day\&. It is expected in this scenario that a separate process (such as tail) would process the file in real time\&. + +.nf + + CustomLog "|bin/rotatelogs -T /var/log/logfile\&.%d 86400" common + +.fi + +.PP +If the server is started (or restarted) on the first of the month, this appends to \fB/var/log/logfile\&.01\fR\&. When a log entry is written on the second of the month, \fB/var/log/logfile\&.02\fR is truncated and new entries will be added to the top\&. This example keeps approximately 1 months worth of logs without external maintenance\&. + +.SH "PORTABILITY" + +.PP +The following logfile format string substitutions should be supported by all \fBstrftime(3)\fR implementations, see the \fBstrftime(3)\fR man page for library-specific extensions\&. + +.Ip "\(bu \s-1\fB%A\fR\s0 \- full weekday name (localized) + +.Ip "\(bu \s-1\fB%a\fR\s0 \- 3-character weekday name (localized) + +.Ip "\(bu \s-1\fB%B\fR\s0 \- full month name (localized) + +.Ip "\(bu \s-1\fB%b\fR\s0 \- 3-character month name (localized) + +.Ip "\(bu \s-1\fB%c\fR\s0 \- date and time (localized) + +.Ip "\(bu \s-1\fB%d\fR\s0 \- 2-digit day of month + +.Ip "\(bu \s-1\fB%H\fR\s0 \- 2-digit hour (24 hour clock) + +.Ip "\(bu \s-1\fB%I\fR\s0 \- 2-digit hour (12 hour clock) + +.Ip "\(bu \s-1\fB%j\fR\s0 \- 3-digit day of year + +.Ip "\(bu \s-1\fB%M\fR\s0 \- 2-digit minute + +.Ip "\(bu \s-1\fB%m\fR\s0 \- 2-digit month + +.Ip "\(bu \s-1\fB%p\fR\s0 \- am/pm of 12 hour clock (localized) + +.Ip "\(bu \s-1\fB%S\fR\s0 \- 2-digit second + +.Ip "\(bu \s-1\fB%U\fR\s0 \- 2-digit week of year (Sunday first day of week) + +.Ip "\(bu \s-1\fB%W\fR\s0 \- 2-digit week of year (Monday first day of week) + +.Ip "\(bu \s-1\fB%w\fR\s0 \- 1-digit weekday (Sunday first day of week) + +.Ip "\(bu \s-1\fB%X\fR\s0 \- time (localized) + +.Ip "\(bu \s-1\fB%x\fR\s0 \- date (localized) + +.Ip "\(bu \s-1\fB%Y\fR\s0 \- 4-digit year + +.Ip "\(bu \s-1\fB%y\fR\s0 \- 2-digit year + +.Ip "\(bu \s-1\fB%Z\fR\s0 \- time zone name + +.Ip "\(bu \s-1\fB%%\fR\s0 \- literal `%' + diff --git a/docs/man/suexec.8 b/docs/man/suexec.8 new file mode 100644 index 0000000..1eb7902 --- /dev/null +++ b/docs/man/suexec.8 @@ -0,0 +1,48 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "SUEXEC" 8 "2018-07-06" "Apache HTTP Server" "suexec" + +.SH NAME +suexec \- Switch user before executing external programs + +.SH "SYNOPSIS" + +.PP +\fB\fBsuexec\fR -\fBV\fR\fR + + +.SH "SUMMARY" + +.PP +\fBsuexec\fR is used by the Apache HTTP Server to switch to another user before executing CGI programs\&. In order to achieve this, it must run as \fBroot\fR\&. Since the HTTP daemon normally doesn't run as \fBroot\fR, the \fBsuexec\fR executable needs the setuid bit set and must be owned by \fBroot\fR\&. It should never be writable for any other person than \fBroot\fR\&. + +.PP +For further information about the concepts and the security model of suexec please refer to the suexec documentation (http://httpd\&.apache\&.org/docs/2\&.4/suexec\&.html)\&. + + +.SH "OPTIONS" + + +.TP +\fB-V\fR +If you are \fBroot\fR, this option displays the compile options of \fBsuexec\fR\&. For security reasons all configuration options are changeable only at compile time\&. + diff --git a/docs/man/tr/ab.1 b/docs/man/tr/ab.1 new file mode 100644 index 0000000..f9499e5 --- /dev/null +++ b/docs/man/tr/ab.1 @@ -0,0 +1,213 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "AB" 1 "2014-06-24" "Apache HTTP Sunucusu" "ab" +.nh +.SH İSİM +ab \- Apache HTTP sunucusu başarım ölçme aracı + +.SH "KULLANIM" + +.PP +\fBab\fR [ -\fBA\fR \fIyetkili-kullanıcı:parola\fR ] [ -\fBb\fR \fItampon-boyu\fR ] [ -\fBB\fR \fIyerel-adres\fR ] [ -\fBc\fR \fIbağlantı-sayısı\fR ] [ -\fBC\fR \fIçerez-ismi=değer\fR ] [ -\fBd\fR ] [ -\fBe\fR \fIcsv-dosyası\fR ] [ -\fBf\fR \fIprotokol\fR ] [ -\fBg\fR \fIgnuplot-dosyası\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIözel-başlık\fR ] [ -\fBi\fR ] [ -\fBk\fR ] [ -\fBl\fR ] [ -\fBm\fR \fIHTTP-yöntemi\fR ] [ -\fBn\fR \fIistek-sayısı\fR ] [ -\fBp\fR \fIPOST-dosyası\fR ] [ -\fBP\fR \fIvekil-yetkilisi:parola\fR ] [ -\fBq\fR ] [ -\fBr\fR ] [ -\fBs\fR \fIzamanasimi\fR ] [ -\fBS\fR ] [ -\fBt\fR \fIsaniye\fR ] [ -\fBT\fR \fIiçerik-türü\fR ] [ -\fBu\fR \fIPUT-dosyası\fR ] [ -\fBv\fR \fIayrıntı-düzeyi\fR] [ -\fBV\fR ] [ -\fBw\fR ] [ -\fBx\fR \fI-öznitelikleri\fR ] [ -\fBX\fR \fIvekil\fR[:\fIport\fR] ] [ -\fBy\fR \fI-öznitelikleri\fR ] [ -\fBz\fR \fI
-öznitelikleri\fR ] [ -\fBZ\fR \fIşifre-kümesi\fR ] [http[s]://]\fIkonakadı\fR[:\fIport\fR]/\fIdizin\fR + + +.SH "ÖZET" + +.PP +\fBab\fR Apache Hiper Metin Aktarım Protokolü (HTTP) sunucunuzun başarımını ölçmek amacıyla kullanabileceğiniz bir kıyaslama aracıdır\&. Mevcut Apache kurulumunuzun görevini nasıl yerine getirdiği hakkında bir izlenim edinmeniz için tasarlanmıştır\&. Özellikle, Apache kurulumunuzun saniyede kaç isteği sunma yeteneğinde olduğunu gösterir\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-A\fR \fIyetkili-kullanıcı\fR:\fIparola\fR +Sunucuya TEMEL Kimlik Doğrulamada kullanılmak üzere kanıt sağlar\&. Kullanıcı adı ile parola arasına sadece : konur ve sunucunun buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "401 kimlik doğrulaması gerekli" yanıtı beklenmeden) bağlantı üzerinden base64 kodlu olarak sunucuya gönderilir\&. +.TP +\fB-b\fR \fItampon-boyu\fR +TCP gönderme/alma tamponlarının bayt cinsinden uzunluğu\&. +.TP +\fB-B\fR \fIyerel-adres\fR +Uzak bağlantılar yaparken dinlenecek adres\&. +.TP +\fB-c\fR \fIbağlantı-sayısı\fR +Aynı anda işleme sokulacak bağlantı sayısı\&. Aynı anda bir bağlantı öntanımlı değerdir\&. +.TP +\fB-C\fR \fIçerez-ismi\fR=\fIdeğer\fR +İsteğe bir Cookie: satırı ekler\&. Argüman olarak genellikle bir \fIisim=değer\fR çifti kullanılır\&. Bu çiftler birden fazla olabilir\&. +.TP +\fB-d\fR +"percentage served within XX [ms] table" iletisi gösterilmez\&. (Geriye uyumluluk için vardır)\&. +.TP +\fB-e\fR \fIcsv-dosyası\fR +Sunulan isteğin birim zamanda (milisaniye) ne kadarının (yüzde cinsinden) sunulduğunu gösteren virgül ayraçlı değerler (CSV) dosyası\&. Sonuçlar 'bobin haline' getirilmiş olduğundan doğal olarak 'gnuplot' dosyasından daha yararlıdır\&. +.TP +\fB-f\fR \fIprotokol\fR +SSL/TLS protokolü belirtilir (SSL2, SSL3, TLS1, TLS1\&.1, TLS1\&.2 veya ALL)\&. TLS1\&.1 ve TLS1\&.2 desteği 2\&.4\&.4 ve sonraki sürümler içindir\&. +.TP +\fB-g\fR \fIgnuplot-dosyası\fR +Ölçülen değerler bir 'gnuplot' veya TSV (sekme ayraçlı değerler) dosyasına yazılır\&. Bu dosya, Gnuplot, IDL, Mathematica, Igor hatta Excel tarafından veri dosyası olarak kabul edilir\&. Veri sütunlarının başlıkları dosyanın ilk satırında bulunur\&. +.TP +\fB-h\fR +Kullanım bilgisi gösterir\&. +.TP +\fB-H\fR \fIözel-başlık\fR +İsteğe fazladan başlık ekler\&. \fIözel-başlık\fR, aralarında iki nokta imi bulunan bir isim-değer çifti olarak belirtilir\&. Örnek: "Accept-Encoding: zip/zop;8bit" +.TP +\fB-i\fR +GET istekleri yerine HEAD istekleri yapılır\&. +.TP +\fB-k\fR +HTTP KeepAlive (kalıcı bağlantı) özelliğini etkinleştirir, yani tek bir oturum içinde çok sayıda isteğe hizmet sunulabilir\&. Özellik öntanımlı olarak kapalıdır\&. +.TP +\fB-l\fR +Yanıtarın uzunluğu sabit değilse hataları raporlamaz\&. Özdevinimli sayfalarda kullanışlı olabilir\&. 2\&.4\&.7 ve sonraki sürümler içindir\&. +.TP +\fB-m\fR \fIHTTP-yöntemi\fR +İstekler için özel HTTP yöntemi, belirtilir\&. 2\&.4\&.10 ve sonraki sürümler içindir\&. +.TP +\fB-n\fR \fIistek-sayısı\fR +Kıyaslama oturumu sırasında sunucuya uygulanacak istek sayısı\&. Öntanımlı olarak hiçbir başarım ölçütü sağlamayan tek bir istek yapılır\&. +.TP +\fB-p\fR \fIPOST-dosyası\fR +POST isteği ile ilgili verileri içeren dosya\&. Ayrıca \fB-T\fR seçeneğini de belirtmeyi unutmayın\&.\&. +.TP +\fB-P\fR \fIvekil-yetkilisi\fR:\fIparola\fR +Vekil sunucuya TEMEL Kimlik Doğrulamasında kullanılacak kanıtları sağlar\&. Kullanıcı adı ile parola arasına sadece : konur ve vekilin buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "407 vekilde kimlik doğrulaması gerekiyor" yanıtı beklenmeden) bağlantı üzerinden base64 kodlu olarak sunucuya gönderilir\&. +.TP +\fB-q\fR +İstek sayısı 150'den fazla olduğunda, \fBab\fR her 100 veya %10 istekte bir, standart hataya bir işlenen istek sayacı çıktılar\&. \fB-q\fR seçeneği bu çıktının üretilmemesini sağlar\&. +.TP +\fB-r\fR +Soket hata alsa bile program çıkmaz\&. +.TP +\fB-s\fR \fIzamanasimi\fR +Soket zaman aşımına uğramadan önce beklenecek azami saniye sayısı\&. 30 saniye öntanımlı süredir\&. 2\&.4\&.4 ve sonraki sürümler içindir\&. +.TP +\fB-S\fR +Ortalama ve ortanca değerler arasında bir veya iki standart sapmadan fazlası varsa ne ortalama değer ne standart sapma değeri ne de uyarı/hata iletileri gösterilir\&. Öntanımlı olarak, asgari/ortalama/azami değerler gösterilir\&. (Geriye uyumluluk)\&. +.TP +\fB-t\fR \fIsaniye\fR +Ölçümleme işleminin ne kadar süreyle uygulanacağı belirtilir\&. Dahili olarak \fB-n 50000\fR seçeneği uygulanır\&. Bunu belli bir süreye göre kıyaslama yapmak amacıyla kullanabilirsiniz\&. Öntanımlı olarak bir süre kısıtlaması yoktur\&. +.TP +\fB-T\fR \fIiçerik-türü\fR +POST/PUT verisi için kullanılacak içerik türü belirtilir\&. Örnek: application/x-www-form-urlencoded\&. Öntanımlı değer: text/plain\&. +.TP +\fB-v\fR \fIayrıntı-düzeyi\fR +Çıktının ayrıntı düzeyi belirtilir\&. 4 ve üstü ile başlıklar hakkında bilgi, 3 ve üstü ile yanıt kodları (404, 200, vb\&.), 2 ve üstü ile ise uyarı ve bilgi iletileri gösterilir\&. +.TP +-u \fIPUT-dosyası\fR +PUT verisini içeren dosya\&. Ayrıca, -T seçeneğini belirtmeyi de unutmayın\&. +.TP +\fB-V\fR +Sürüm bilgilerini gösterir ve çıkar\&. +.TP +\fB-w\fR +Sonuçları HTML tabloları olarak basar\&. Öntanımlı tablo, beyaz artalanlı ve iki sütunludur\&. +.TP +\fB-x\fR \fI-öznitelikleri\fR +
etiketinde kullanılacak öznitelikler belirtilir\&. Belirtilen öznitelikler etiket içine
biçeminde yerleştirilir\&. +.TP +\fB-X\fR \fIvekil\fR[:\fIport\fR] +İstekler için bir vekil sunucu kullanılır\&. +.TP +\fB-y\fR \fI-öznitelikleri\fR + etiketinde kullanılacak öznitelikler belirtilir\&. +.TP +\fB-z\fR \fI
-öznitelikleri\fR + etiketinde kullanılacak öznitelikler belirtilir\&. +.TP +-Z \fIşifre-kümesi\fR +SSL/TLS şifre kümesi belirtilir (\fBopenssl\fR(1) şifrelerine bakınız)\&. + +.SH "ÇIKTI" + +.PP +Aşağıda \fBab\fR tarafından döndürülen değerler açıklanmıştır: + + +.TP +Server Software +İlk başarılı yanıtın, varsa, \fIserver\fR HTTP başlığında döndürülen değer\&. Bu başlıktaki başlangıçtan 32 ondalık değerli karaktere (genellikle boşluk veya CR/LF karakteri) kadar tüm karakterleri içerir\&. +.TP +Server Hostname +Komut satırında belirtilen DNS veya IP adresi\&. +.TP +Server Port +\fBab\fR'nin bağlandığı port\&. Komut satırında port belirtilmemişse, öntanımlı olarak http için 80, https için 443'tür\&. +.TP +SSL/TLS Protocol +İstemci le sunucu arasında uzlaşılmış protokol değerleri\&. Bu sadece SSL kullanılıyorsa çıktılanır\&. +.TP +Document Path +Komut satırı dizgesinden çözümlenen isteğin URI'si\&. +.TP +Document Length +Başarıyla döndürülen ilk belgenin bayt cinsinden uzunluğu\&. Eğer belge uzunluğu sınama sırasında değişirse yanıt bir hata içerecektir\&. +.TP +Concurrency Level +Sınama sırasında kullanılan eşzamanlı istemcilerin sayısı\&. +.TP +Time taken for tests +İlk soket bağlantısının alındığı andan son yanıtın alındığı ana kadar geçen süre\&. +.TP +Complete requests +Alınan başarılı yanıtların sayısı\&. +.TP +Failed requests +Başarısızlık olarak addedilen isteklerin sayısı\&. Sayı sıfırdan büyükse, diğer satırda, bağlanma, okuma, yanlış içerik uzunluğu, istisnalar gibi sebeplerle başarısız olmuş istekler gösterilir\&. +.TP +Write errors +Başarısız yazma hatalarının (kırık boru) sayısı\&. +.TP +Non-2xx responses +200 serisi yanıt kodları ile açıklanamayan yanıtların sayısı\&. Tüm yanıtlar 200 olursa bu alan çıktılanmaz\&. +.TP +Keep-Alive requests +Keep-Alive isteklerinde sonuçlanan bağlantı sayısı\&. +.TP +Total body sent +Sınamanın parçası olarak veri gönderimi yapılandırılmışsa, bu sınama sırasında gönderilen toplam bayt sayısıdır\&. Sınama sırasında gövde gönderilmiyorsa bu alan çıktılanmaz\&. +.TP +Total transferred +Sunucudan alınan toplam bayt sayısı\&. Bu sayı aslında hattan gönderilen bayt sayısıdır\&. +.TP +HTML transferred +Sunucudan alınan belge baytlarının sayısı\&. Bu sayı HTTP başlıklarının bayt sayısını içermez\&. +.TP +Requests per second +Saniyedeki istek sayısı\&. İstek sayısının toplam süreye oranıdır\&. +.TP +Time per request +İstek başına harcanan süre\&. İlk değer eşzamanlılık * süre * 1000 / biten formülüyle hesaplanırken ikincisi için süre * 1000 / biten formülü kullanılır\&. +.TP +Transfer rate +okunantoplam / 1024 / süre formülüyle hesaplanan aktarım hızı\&. + +.SH "BÖRTÜ BÖCEK" + +.PP +Duruk bildirimli sabit uzunlukta çeşitli tamponlar vardır\&. Sunucudan gelen yanıt başlıkları ve diğer harici girdiler, komut satırı argümanları ile birlikte basitçe çözümlenir, bu size can sıkıcı gelebilir\&. + +.PP +HTTP/1\&.x protokolünü tamamen gerçeklemez; sadece yanıtların 'belli başlı' bazı biçimlerini kabul eder\&. Aksi takdirde, \fBstrstr\fR(3) işlevinin yoğun kullanımı nedeniyle sunucu yerine \fBab\fR'nin başarımını ölçerdiniz\&. + diff --git a/docs/man/tr/apachectl.8 b/docs/man/tr/apachectl.8 new file mode 100644 index 0000000..9553bc0 --- /dev/null +++ b/docs/man/tr/apachectl.8 @@ -0,0 +1,95 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "APACHECTL" 8 "2013-04-17" "Apache HTTP Sunucusu" "apachectl" +.nh +.SH İSİM +apachectl \- Apache HTTP Sunucusu Denetim Arayüzü + +.SH "KULLANIM" + +.PP +\fBapachectl\fR önyüz kipinde çalıştığında \fBhttpd\fR programının bütün komut satırı argümanlarını kabul edebilir\&. + +.PP +\fBapachectl\fR [ \fIhttpd-argümanları\fR ] + +.PP +SysV başlatma betiği kipinde ise, \fBapachectl\fR aşağıda tanımlanan basit, tek sözcüklük komutları kabul eder\&. + +.PP +\fBapachectl\fR \fIkomut\fR + + +.SH "ÖZET" + +.PP +\fBapachectl\fR Apache Hiper Metin Aktarım Protokolü (HTTP) sunucusu için bir denetim aracıdır\&. Sistem yöneticisinin Apache \fBhttpd\fR artalan sürecini denetimi altında tutabilmesine yardımcı olmak amacıyla tasarlanmıştır\&. + +.PP +\fBapachectl\fR iki kipte işleyebilir\&. İlkinde, \fBhttpd\fR komutu için basit bir önyüz gibi davranarak, gerekli ortam değişkenlerini atar ve belirtilen komut satırı seçenekleriyle \fBhttpd\fR sürecini başlatır\&. İkinci kipte ise, \fBapachectl\fR bir SysV başlatma betiği olarak \fBstart\fR, \fBrestart\fR, \fBstop\fR gibi tek sözcüklük basit argümanlar alır ve bunları uygun sinyallere dönüştürerek \fBhttpd\fR'ye gönderir\&. + +.PP +Eğer Apache kurulumunuzda standart dışı dosya yolları kullanmışsanız, \fBhttpd\fR programına uygun yolları atamak için \fBapachectl\fR betiğini elden geçirmelisiniz\&. Bu arada gerek gördüğünüz \fBhttpd\fR komut satırı argümanlarını da belirtebilirsiniz\&. Ayrıntılar için betik içindeki açıklamalara bakınız\&. + +.PP +\fBapachectl\fR betiği başarı durumunda 0 çıkış değeri ile döner\&. Bir hata durumunda ise sıfırdan farklı bir değerle döner\&. Daha fazla bilgi için betik içindeki açıklamalara bakınız\&. + + +.SH "SEÇENEKLER" + +.PP +Burada sadece SysV başlatma betiğine özgü seçeneklere yer verilmiştir\&. Diğer argümanlar için \fBhttpd\fR kılavuz sayfasına bakınız\&. + + +.TP +\fBstart\fR +Apache \fBhttpd\fR artalan sürecini başlatır\&. Zaten çalışmaktaysa bir hata verir\&. \fBapachectl -k start\fR komutuna eşdeğerdir\&. +.TP +\fBstop\fR +Apache \fBhttpd\fR artalan sürecini durdurur\&. \fBapachectl -k stop\fR komutuna eşdeğerdir\&. +.TP +\fBrestart\fR +Apache \fBhttpd\fR artalan sürecini yeniden başlatır; çalışmıyorsa çalıştırılır\&. Artalan sürecinin ölü olmadığından emin olmak için yeniden başlatmadan önce \fBconfigtest\fR seçeneği verilmiş gibi yapılandırma dosyaları sınanır\&. \fBapachectl -k restart\fR komutuna eşdeğerdir\&. +.TP +\fBfullstatus\fR +\fBmod_status\fR üzerinden tam bir durum raporu gösterir\&. Bunun çalışması için sunucuda \fBmod_status\fR etkinleştirilmiş olmalı ve sisteminizde \fBlynx\fR gibi bir metin kipi HTTP tarayıcı kurulu olmalıdır\&. Durum raporuna erişmek için kullanılacak adres betik içinde STATUSURL değişkenine atanabilir\&. +.TP +\fBstatus\fR +Özet halinde bir durum raporu gösterir\&. O an sunulmakta olan isteklerin gösterilmemesi dışında \fBfullstatus\fR seçeneği gibidir\&. +.TP +\fBgraceful\fR +Apache \fBhttpd\fR artalan sürecini \fInazikçe\fR yeniden başlatır; çalışmıyorsa çalıştırılır\&. O an hizmet sunmakta olan çocuk süreçleri hemen durdurmaması dışında normal yeniden başlatma gibidir\&. Bir yan etki olarak eski günlük dosyaları hemen kapatılmaz\&. Yani, günlük dosyalarını döndüren bir betik kullanıyorsanız yenilerini başlatmadan önce eski dosyaların tamamen kapandığından emin olmak için belli bir süre beklemeniz gerekecektir\&. Artalan sürecinin ölü olmadığından emin olmak için yeniden başlatmadan önce \fBconfigtest\fR seçeneği verilmiş gibi yapılandırma dosyaları sınanır\&. \fBapachectl -k graceful\fR komutuna eşdeğerdir\&. +.TP +\fBgraceful-stop\fR +Apache \fBhttpd\fR artalan sürecini \fInazikçe\fR durdurur\&. O an hizmet sunmakta olan çocuk süreçleri hemen durdurmaması dışında normal durdurma gibidir\&. Bir yan etki olarak eski günlük dosyaları hemen kapatılmaz\&. \fBapachectl -k graceful-stop\fR komutuna eşdeğerdir\&. +.TP +\fBconfigtest\fR +Yapılandırma dosyasında sözdizimi denetimi yapılmasını sağlar\&. Yapılandırma dosyaları çözümlenir ve bir sorun yoksa bir Syntax Ok raporu verilir fakat, bir hata varsa o hataya ilişkin ayrıntılı bilgi verilir\&. \fBapachectl -t\fR komutuna eşdeğerdir\&. + +.PP +Aşağıdaki seçenek eski sürümlerde kullanılmaktaydı, fakat artık kullanılmamaktadır\&. + + +.TP +startssl +\fBhttpd\fR programını SSL destekli başlatmak için, yapılandırma dosyanızı ilgili yönergeleri içermesi için elden geçirmeli ve normal \fBapachectl start\fR komutunu kullanmalısınız\&. + diff --git a/docs/man/tr/apxs.1 b/docs/man/tr/apxs.1 new file mode 100644 index 0000000..75216e5 --- /dev/null +++ b/docs/man/tr/apxs.1 @@ -0,0 +1,251 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "APXS" 1 "2013-08-16" "Apache HTTP Sunucusu" "apxs" +.nh +.SH İSİM +apxs \- Apache Eklenti Aracı + +.SH "KULLANIM" + +.PP +\fBapxs\fR -\fBg\fR [ -\fBS\fR \fIisim=değer\fR ] -\fBn\fR \fImodüladı\fR + +.PP +\fBapxs\fR -\fBq\fR [ -\fBv\fR ] [ -\fBS\fR \fIisim=değer\fR ] \fIsorgu\fR \&.\&.\&. + +.PP +\fBapxs\fR -\fBc\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBo\fR \fIdso-dosyası\fR ] [ -\fBI\fR \fIinclude-dizini\fR ] [ -\fBD\fR \fIisim=değer\fR ] [ -\fBL\fR \fIlib-dizini\fR ] [ -\fBl\fR \fIkütüphane-adı\fR ] [ -\fBWc,\fR\fIderleyici-seçenekleri\fR ] [ -\fBWl,\fR\fIilintileyici-seçenekleri\fR ] [ -\fBp\fR ] \fIdosya\fR \&.\&.\&. + +.PP +\fBapxs\fR -\fBi\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBn\fR \fImodüladı\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-dosyası\fR \&.\&.\&. + +.PP +\fBapxs\fR -\fBe\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBn\fR \fImodüladı\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-dosyası\fR \&.\&.\&. + + +.SH "ÖZET" + +.PP +\fBapxs\fR, Apache Hiper Metin Aktarım Protokolü (HTTP) sunucusu için ek modül derleme ve kurulum aracıdır\&. Bu araç sayesinde, bir veya daha fazla kaynak veya nesne \fIdosya\fRsından bir devingen paylaşımlı nesne (DSO - "Dynamic Shared Object" kısaltması) derlemek ve bu nesneyi (modülü) Apache sunucusuna çalışma anında \fBmod_so\fR modülünün \fBLoadModule\fR yönergesi üzerinden yüklemek mümkün olmaktadır\&. + +.PP +Bu eklenti mekanizmasını platformunuzda kullanmak için DSO desteğinin olması ve \fBhttpd\fR programının \fBmod_so\fR modülünü içerecek şekilde derlenmiş olması gerekir\&. Eğer bunlar mevcut değilse \fBapxs\fR aracı durumu size bildirecektir\&. Bunu aşağıdaki komutla kendiniz de sınayabilirsiniz: + +.nf + + $ httpd -l + +.fi + +.PP +\fBmod_so\fR modülü gösterilen listede yer almalıdır\&. Bu gereksinimler sağlandığı takdirde \fBapxs\fR aracı sayesinde DSO mekanizması üzerinden kendi modüllerinizi kurmak suretiyle Apache sunucunuzun işlevselliğini kolayca arttırabilirsiniz\&. Örnek bir uygulama: + +.nf + + $ apxs -i -a -c mod_foo\&.c + gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo\&.c + ld -Bshareable -o mod_foo\&.so mod_foo\&.o + cp mod_foo\&.so /dosya/yolu/apache/modules/mod_foo\&.so + chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so + [`foo' modülü /dosya/yolu/apache/etc/httpd\&.conf'ta etkinleştiriliyor] + $ apachectl restart + /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start + [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module + /dosya/yolu/apache/sbin/apachectl restart: httpd started + $ _ + +.fi + +.PP +\fIdosya\fR olarak bir C kaynak dosyası (\&.c), bir nesne dosyası (\&.o) ve hatta bir kütüphane arşivi archive (\&.a) belirtebilirsiniz\&. \fBapxs\fR aracı bu dosya uzantılarını tanıdığından C dosyalarını derleme işleminden, arşiv ve nesne dosyalarını ise doğrudan ilintileme işleminden geçirir\&. Fakat böyle önceden derlenmiş nesne dosyalarını kullanırken, devingen paylaşımlı nesne olarak kullanılmalarını sağlamak üzere konumdan bağımsız kod (PIC) üretecek şekilde derlenmiş olduklarından emin olmalısınız\&. Örneğin GCC'yi bunun için daima \fB-fpic\fR seçeneği ile kullanmalısınız\&. Diğer C derleyiciler için, \fBapxs\fR'in nesne dosyalarını derlerken kullanacağı seçenekleri öğrenmek için o derleyicilerin kılavuz sayfalarına bakınız\&. + +.PP +Apache'deki DSO desteği ile ilgili daha ayrıntılı bilgi edinmek için \fBmod_so\fR belgesini okumakla yetinmeyip src/modules/standard/mod_so\&.c kaynak dosyasını da okuyunuz\&. + + +.SH "SEÇENEKLER" + +.SS "Ortak Seçenekler" + + +.TP +\fB-n\fR \fImodüladı\fR +\fB-i\fR (kurulum) ve \fB-g\fR (şablon üretimi) seçenekleri için modül ismi belirtmek amacıyla kullanılır\&. Bir modül ismi belirtmek için bu seçeneği kullanın\&. \fB-g\fR seçeneği için bu gereklidir\&. \fB-i\fR seçeneği için ise araç, modül ismini kaynağın ismine bakarak veya (son çare olarak) dosya isminden tahmin etmeye çalışarak saptamaya çalışır\&. + +.SS "Sorgu Seçenekleri" + + +.TP +\fB-q\fR \fIsorgu\fR +httpd'yi derlemekte kullanılacak değişkenler ve ortam ayarları için bir sorgu gerçekleştirir\&. When invoked without \fIsorgu\fR belirtilmeksizin çağrıldığında, bilinen değişkenleri değerleriyle birlikte basar\&. İsteğe bağlı \fB-v\fR seçeneği liste çıktısını biçemler\&. .PP Modülünüzü yükleyecek \fBhttpd\fR'yi derlemek için kullanılacak ayarları elle belirtmek için kullanılır\&. Örneğin, Apache'nin C başlık dosyalarının yerini kendi Makefile dosyalarınızın içinde şöyle belirtebilirsiniz: INC=-I`apxs -q INCLUDEDIR` + +.SS "Yapılandırma Seçenekleri" + + +.TP +\fB-S\fR \fIisim=değer\fR +Bu seçenek yukarıda açıklanan \fBapxs\fR ayarlarını değiştirir\&. + +.SS "Şablon Üretme Seçenekleri" + + +.TP +\fB-g\fR +\fImodüladı\fR (\fB-n\fR seçeneğine bakınız) adında bir alt dizin oluşturur ve içine iki dosya yerleştirir: Kendi modülünüzü oluşturabilmeniz için veya \fBapxs\fR mekanizmaları ile hemen oynamaya başlayabilmeniz için mod_\fImodüladı\fR\&.c adında bir modül kaynak dosyası örneği ve bu modülü derleyip kurmayı kolaylaştırmak için bir Makefile dosyası\&. + +.SS "DSO Derleme Seçenekleri" + + +.TP +\fB-c\fR +Bu seçenek derleme yapılacağını belirtir\&. Önce belirtilen C kaynak \fIdosyalar\fRını (\&.c), nesne dosyalarını (\&.o) elde etmek için derler\&. Sonra bunları kalan nesne dosyaları (\&.o ve \&.a) ile ilintileyerek \fIdso-dosyası\fR adında bir devingen paylaşımlı nesne oluşturur\&. Eğer \fB-o\fR seçeneği ile modül ismi belirtilmemişse \fIdosyalar\fR arasındaki ilk dosyanın ismine bakarak dosya ismi tahmin edilmeye çalışılır ve mod_\fIisim\fR\&.so dosya adı bu isimden elde edilir\&. +.TP +\fB-o\fR \fIdso-dosyası\fR +Oluşturulacak devingen paylaşımlı nesnenin ismini belirtmek için kullanılır\&. Modül ismi bu seçenekle belirtilmez ve \fIdosya\fR listesinden bir isim tahmini de yapılamazsa son çare olarak mod_unknown\&.so ismi kullanılır\&. +.TP +\fB-D\fR \fIisim=değer\fR +Bu seçenek doğrudan derleme komutlarına aktarılır\&. Bu seçeneği derleme işlemine kendi tanımlarınızı belirtmek için kullanın\&. +.TP +\fB-I\fR \fIinclude-dizini\fR +Bu seçenek doğrudan derleme komutlarına aktarılır\&. Bu seçeneği derleme işleminde kullanılmak üzere kendi başlık dosyalarınızı içeren dizinleri arama yollarına eklemek için kullanın\&. +.TP +\fB-L\fR \fIlib-dizini\fR +Bu seçenek doğrudan derleme komutlarına aktarılır\&. Bu seçeneği derleme işleminde kullanılmak üzere kendi kütüphane dizinlerinizi arama yollarına eklemek için kullanın\&. +.TP +\fB-l\fR \fIkütüphane-adı\fR +Bu seçenek doğrudan derleme komutlarına aktarılır\&. Bu seçeneği derleme işleminde kullanılmak üzere kendi kütüphanelerinizi arama yollarına eklemek için kullanın\&. +.TP +\fB-Wc\fR,\fIderleyici-seçenekleri\fR +Bu seçenek libtool --mode=compile komutuna doğrudan seçenek aktarmak için kullanılır\&. Bu seçeneği yerel derleyiciniz için gereken ek seçenekleri belirtmek için kullanın\&. +.TP +\fB-Wl\fR,\fIilintileyici-seçenekleri\fR +Bu seçenek libtool --mode=link komutuna doğrudan seçenek aktarmak için kullanılır\&. Bu seçeneği yerel ilintileyiciniz için gereken ek seçenekleri belirtmek için kullanın\&. +.TP +\fB-p\fR +Bu seçenek apxs'in apr/apr-util kütüphaneleriyle ilintilenmesini sağlar\&. apr/apr-util kütüphanelerini kullanan yardımcı uygulamaları derlerken yararlıdır\&. + +.SS "DSO Kurulum ve Yapılandırma Seçenekleri" + + +.TP +\fB-i\fR +Kurulum işlemini belirtir ve devingen olarak paylaşımlı nesneleri sunucunun \fImodules\fR dizinine kurar\&. +.TP +\fB-a\fR +İlgili LoadModule satırını Apache'nin httpd\&.conf yapılandırma dosyasına özdevinimli olarak ekleyerek veya böyle bir satır varsa bunu etkin kılarak modülü etkinleştirir\&. +.TP +\fB-A\fR +\fBLoadModule\fR yönergesini daha sonra etkinleştirmek üzere satırın başına bir diyez imi (#) yerleştirmesi dışında \fB-a\fR seçeneği ile aynıdır\&. +.TP +\fB-e\fR +Modülü kurmaya çalışmaksızın Apache'nin httpd\&.conf yapılandırma dosyasını \fB-i\fR işlemine benzer şekilde \fB-a\fR ve \fB-A\fR seçenekleri ile düzenleme işlemini belirtir\&. + +.SH "ÖRNEKLER" + +.PP +Apache'nin sunucu işlevselliğini genişletmek amacıyla kullanacağınız mod_foo\&.c adında bir Apache modülünüz olduğunu varsayalım\&. Öncelikle, C kaynak dosyasını, Apache sunucusuna çalışma anında yüklenmeye uygun bir paylaşımlı nesne olarak derlemeniz gerekir\&. Bunu sağlamak için şu komutları vermelisiniz: + +.nf + + $ apxs -c mod_foo\&.c + /dosya/yolu/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c + /dosya/yolu/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo + $ _ + +.fi + +.PP +Bundan sonra, Apache yapılandırmanızın bu paylaşımlı nesneyi yüklemek için bir \fBLoadModule\fR yönergesi içermesini sağlamalısınız\&. \fBapxs\fR bu adımı basitleştirmek amacıyla, paylaşımlı nesneyi sunucunun \fImodules\fR dizinine özdevinimli olarak kurmak ve httpd\&.conf dosyasını buna uygun olarak güncellemek için bir yol sağlar\&. Bu sonuç şöyle elde edilebilir: + +.nf + + $ apxs -i -a mod_foo\&.la + /dosya/yolu/instdso\&.sh mod_foo\&.la /path/to/apache/modules + /dosya/yolu/libtool --mode=install cp mod_foo\&.la /dosya/yolu/apache/modules + \&.\&.\&. + chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so + [`foo' modülü /dosya/yolu/apache/conf/httpd\&.conf'da etkinleştiriliyor] + $ _ + +.fi + +.PP +Yapılandıma dosyasına (eğer yoksa) şu satır eklenir: + +.nf + + LoadModule foo_module modules/mod_foo\&.so + +.fi + +.PP +Bunu öntanımlı olarak iptal etmek isterseniz \fB-A\fR seçeneğini kullanmanız gerekir: + +.nf + + $ apxs -i -A mod_foo\&.c + +.fi + +.PP +\fBapxs\fR mekanizmalarını hızlıca denemek için örnek bir Apache modül şablonunu ve bir Makefile dosyasını şöyle oluşturabilirsiniz: + +.nf + + $ apxs -g -n foo + Creating [DIR] foo + Creating [FILE] foo/Makefile + Creating [FILE] foo/modules\&.mk + Creating [FILE] foo/mod_foo\&.c + Creating [FILE] foo/\&.deps + $ _ + +.fi + +.PP +Ardından bu örnek modülü bir paylaşımlı nesne olarak derleyip Apache sunucusuna yükleyebilirsiniz: + +.nf + + $ cd foo + $ make all reload + apxs -c mod_foo\&.c + /dosya/yolu/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c + /dosya/yolu/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo + apxs -i -a -n "foo" mod_foo\&.la + /dosya/yolu/instdso\&.sh mod_foo\&.la /dosya/yolu/apache/modules + /dosya/yolu/libtool --mode=install cp mod_foo\&.la /dosya/yolu/apache/modules + \&.\&.\&. + chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so + [`foo' modülü /dosya/yolu/apache/conf/httpd\&.conf'ta etkinleştiriliyor] + apachectl restart + /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start + chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so + [`foo' modülü /dosya/yolu/apache/etc/httpd\&.conf'ta etkinleştiriliyor] + apachectl restart + /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start + [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module + /dosya/yolu/apache/sbin/apachectl restart: httpd started + $ _ + +.fi + diff --git a/docs/man/tr/dbmmanage.1 b/docs/man/tr/dbmmanage.1 new file mode 100644 index 0000000..4e4b17c --- /dev/null +++ b/docs/man/tr/dbmmanage.1 @@ -0,0 +1,121 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "DBMMANAGE" 1 "2013-04-17" "Apache HTTP Sunucusu" "dbmmanage" +.nh +.SH İSİM +dbmmanage \- DBM biçemli kullanıcı kimlik doğrulama dosyalarını yönetir + +.SH "KULLANIM" + +.PP +\fBdbmmanage\fR [ \fIkodlama\fR ] \fIdosyaismi\fR add|adduser|check|delete|update \fIkullanıcı\fR [ \fIşifreli_parola\fR [ \fIgrup\fR[,\fIgrup\fR\&.\&.\&.] [ \fIaçıklama\fR ] ] ] + +.PP +\fBdbmmanage\fR \fIdosyaismi\fR view [ \fIkullanıcı\fR ] + +.PP +\fBdbmmanage\fR \fIdosyaismi\fR import + + +.SH "ÖZET" + +.PP +\fBdbmmanage\fR, mod_authn_dbm üzerinden HTTP kullanıcılarının temel kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının saklanmasında kullanılacak DBM dosyalarını oluşturmak ve güncellemek için kullanılır\&. Apache HTTP sunucusunun mevcut özkaynaklarının kullanımı sadece \fBdbmmanage\fR tarafından oluşturulan dosyalarda listelenmiş kullanıcılara tahsis edilebilir\&. Bu program sadece, kullanıcı isimleri bir DBM dosyasında saklanmak istenirse işe yarar\&. Düz metin bir veritabanı kullanmak isterseniz \fBhtpasswd\fR sayfasına bakınız\&. + +.PP +DBM parola veritabanı sağlayan diğer bir araç da \fBhtdbm\fR'dir\&. + +.PP +Bu kılavuz sayfası sadece komut satırı değiştirgelerini listeler\&. Kullanıcı kimlik doğrulamasını \fBhttpd\fR'de yapılandırmak için gerekli yönergelerle ilgili ayrıntılar için Apache dağıtımının bir parçası olan ve http://httpd\&.apache\&.org/ adresinde de bulunan Apache HTTP Sunucusu Belgelerine bakınız\&. + + +.SH "SEÇENEKLER" + + +.TP +\fIdosyaismi\fR +DBM dosyasının ismi\&. Genellikle, \&.db, \&.pag veya \&.dir eklentisi olmaksızın belirtilir\&. +.TP +\fIkullanıcı\fR +İşlemleri gerçekleştirecek kullanıcı ismi\&. \fIkullanıcı\fR ismi ikinokta imi (:) içeremez\&. +.TP +\fIşifreli_parola\fR +\fBupdate\fR ve \fBadd\fR komutları için kullanılacak şifreli paroladır\&. Parolanın istenmesini sağlamak, fakat hemen ardından alanları doldurmak için bir tire imi (-) kullanabilirsiniz\&. Buna ek olarak, \fBupdate\fR komutunu kullanırken özgün parolaya dokunulmaması için bir nokta imi (\&.) kullanabilirsiniz\&. +.TP +\fIgrup\fR +Kullanıcının üyesi olduğu grup\&. Grup ismi ikinokta imi (:) içeremez\&.Kullanıcıyı bir gruba atamadan açıklama alanını doldurmak istiyorsanız bir tire imi (-) kullanabilirsiniz\&. Buna ek olarak, \fBupdate\fR komutunu kullanırken özgün gruba dokunulmaması için bir nokta imi (\&.) kullanabilirsiniz\&. +.TP +\fIaçıklama\fR +Adı ve soyadı, eposta adresi gibi kullanıcıyla ilgili bir takım bilgiler buraya yazılır\&. Sunucu bu alanı gözardı eder\&. + +.SS "Kodlamalar" + + +.TP +\fB-d\fR +CRYPT şifrelemesi (Win32 ve Netware hariç, öntanımlı) +.TP +\fB-m\fR +MD5 şifrelemesi (Win32 ve Netware için öntanımlı) +.TP +\fB-s\fR +SHA1 şifrelemesi +.TP +\fB-p\fR +düz metin (\fIönerilmez\fR) + +.SS "Komutlar" + + +.TP +\fBadd\fR +\fIşifreli_parola\fR'yı kullanarak \fIdosyaismi\fR dosyasına \fIkullanıcı\fR için bir girdi ekler\&. dbmmanage passwords\&.dat add rbowen foKntnEF3KSXA +.TP +\fBadduser\fR +Parola sorduktan sonra \fIdosyaismi\fR dosyasına \fIkullanıcı\fR için bir girdi ekler\&. dbmmanage passwords\&.dat adduser krietz +.TP +\fBcheck\fR +Parola sorduktan sonra belirtilen \fIkullanıcı\fR, \fIdosyaismi\fR dosyasında var mı diye bakar; varsa belirtilen parolayı kullanıcınınkiyle eşleştirmeye çalışır\&. dbmmanage passwords\&.dat check rbowen +.TP +\fBdelete\fR +\fIdosyaismi\fR dosyasından \fIkullanıcı\fR girdisini siler\&. dbmmanage passwords\&.dat delete rbowen +.TP +\fBimport\fR +Standart girdiden \fIkullanıcı\fR:\fIparola\fR satırlarını (her satırda bir tane) okur ve bunları \fIdosyaismi\fR dosyasına ekler\&. Parola şifrelenmiş olmalıdır\&. +.TP +\fBupdate\fR +Belirtilen \fIkullanıcı\fR'nın \fIdosyaismi\fR dosyasında mevcut olması dışında \fBadduser\fR komutu gibidir\&. dbmmanage passwords\&.dat update rbowen +.TP +\fBview\fR +Sadece, DBM dosyasının içeriğini gösterir\&. Bir \fIkullanıcı\fR belirtirseniz sadece o kaydı gösterir\&. dbmmanage passwords\&.dat view + +.SH "HATALAR" + +.PP +Birden fazla DBM dosya biçemi vardır ve büyük bir olasılıkla da sisteminizde bu birden fazla biçemle ilgili kütüphaneler vardır\&. SDBM, NDBM, GNU'nun GDBM projesi ve Berkeley DB 2 bunların başlıcalarıdır\&. Ne yazık ki, bu kütüphanelerin her birinin dosya biçimleri farklıdır\&. Bu bakımdan, \fIdosyaismi\fR dosyasında kullanılan dosya biçeminin \fBdbmmanage\fR tarafından kullanılanla aynı biçemde olduğundan emin olmalısınız\&. \fBdbmmanage\fR hangi tür DBM dosyasına baktığını saptayacak yeterliliğe sahip değildir\&. Yanlış biçemli bir dosya belirtirseniz hiçbir şey dönmeyebileceği gibi, başka isimde bir DBM dosyasının oluşturulması veya daha da kötüsü üzerine yazmaya çalışıyorsanız DBM dosyasının bozulması bile olasıdır\&. + +.PP +\fBdbmmanage\fR programının başlangıcında @AnyDBM::ISA dizisi olarak tanımlanmış DBM biçem tercihlerinin bir listesi vardır\&. Berkeley DB 2 biçemini tercih ettiğimizden \fBdbmmanage\fR sistem kütüphanelerini şu sıraya göre arar: Berkeley DB 2, NDBM, GDBM ve SDBM\&. \fBdbmmanage\fR DBM dosyası hareketleri için bu sıralamaya göre bulduğu ilk kütüphaneyi kullanacaktır\&. Sıralama Perl'deki dbmopen() çağrısının kullandığından faklı olduğu gibi Perl'deki standart @AnyDBM::ISA sıralamasından da oldukça farklıdır\&. Bu bakımdan, DBM dosyalarınızı yönetmek için Perl ile yazılmış başka araçlar kullanıyorsanız, onların da bu tercih sırasını izlemesini sağlamalısınız\&. Benzer şekilde, bu dosyalara erişmek için diğer dillerde (C gibi) yazılmış programlar kullanıyorsanız bunlar için de aynı durum geçerlidir\&. + +.PP +Unix sistemlerinde, kullanılan DBM dosyasının biçemini öğrenmek için \fBfile\fR programı kullanılabilir\&. + diff --git a/docs/man/tr/fcgistarter.8 b/docs/man/tr/fcgistarter.8 new file mode 100644 index 0000000..bb1aad5 --- /dev/null +++ b/docs/man/tr/fcgistarter.8 @@ -0,0 +1,59 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "FCGİSTARTER" 8 "2013-11-22" "Apache HTTP Sunucusu" "fcgistarter" +.nh +.SH İSİM +fcgistarter \- Bir FastCGI programını çalıştır + +.SH "KULLANIM" + +.PP +\fBfcgistarter\fR -\fBc\fR \fIkomut\fR -\fBp\fR \fIport\fR [ -\fBi\fR \fIarabirim\fR ] -\fBN\fR \fIsayı\fR + + +.SH "ÖZET" + +.PP + + + +.SH "BİLGİNİZE" + +.PP +Şimdilik sadece Unix sistemlerinde çalışmaktadır\&. + +.SH "SEÇENEKLER" + + +.TP +\fB-c\fR \fIkomut\fR +Çalıştırılacak FastCGI programı +.TP +\fB-p\fR \fIport\fR +Programın dinleyeceği port +.TP +\fB-i\fR \fIarabirim\fR +Programın dinleyeceği arabirim +.TP +\fB-N\fR \fIsayı\fR +Program örneklerinin sayısı + diff --git a/docs/man/tr/htcacheclean.8 b/docs/man/tr/htcacheclean.8 new file mode 100644 index 0000000..010dca2 --- /dev/null +++ b/docs/man/tr/htcacheclean.8 @@ -0,0 +1,146 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTCACHECLEAN" 8 "2013-04-17" "Apache HTTP Sunucusu" "htcacheclean" +.nh +.SH İSİM +htcacheclean \- Disk arabelleğini temizler + +.SH "KULLANIM" + +.PP +\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBr\fR ] [ -\fBn\fR ] [ -\fBR\fR\fIboyut\fR ] -\fBp\fR\fIyol\fR [ -\fBl\fR\fIsınır\fR | -\fBL\fR\fIlimit\fR ] + +.PP +\fBhtcacheclean\fR [ -\fBn\fR ] [ -\fBt\fR ] [ -\fBi\fR ] [ -\fBP\fR\fIpiddosyası\fR ] [ -\fBR\fR\fIboyut\fR ] -\fBd\fR\fIsüre\fR -\fBp\fR\fIyol\fR [ -\fBl\fR\fIsınır\fR | -\fBL\fR\fIlimit\fR ] + +.PP +\fBhtcacheclean\fR [ -\fBv\fR ] [ -\fBR\fR\fIboyut\fR ] -\fBp\fR\fIyol\fR [ -\fBa\fR ] [ -\fBA\fR ] + +.PP +\fBhtcacheclean\fR [ -\fBD\fR ] [ -\fBv\fR ] [ -\fBt\fR ] [ -\fBR\fR\fIboyut\fR ] -\fBp\fR\fIyol\fR \fIurl\fR + + +.SH "ÖZET" + +.PP +\fBhtcacheclean\fR, mod_cache_disk deposunun boyutlarını belli sınırlar içinde veya kullanımdaki dosya düğümlerinin sınırları içinde tutmak için kullanılır\&. Bu araç ya elle ya da bir artalan süreci olarak çalıştırılır\&. Artalan süreci olarak çalıştırıldığında, silinecek arabellek içeriğini tespit etmek için arabellek dizinlerine belli aralıklarla bakmak dışında uykuda olur\&. Artalan sürecini temiz olarak durdurmak için TERM veya INT sinyali göndermeniz yeterlidir\&. Elle çalıştırıldığında, silinecek arabellek içeriğini tespit etmek için arabellek dizinlerine bir kereliğine bakar\&. Bir veya daha fazla URL belirtilmesi durumunda arabellekte olanlar arabellekten silinir\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-d\fR\fI süre\fR +Artalanda çalışarak \fIsüre\fR dakikada bir arabelleği temizler\&. Bu seçenek \fB-D\fR, \fB-v\fR ve \fB-r\fR seçenekleri ile birlikte kullanılamaz\&. Artalan sürecini temiz olarak sonlandırmak için SIGTERM veya SIGINT göndermek yeterlidir\&. +.TP +\fB-D\fR +Kuru kuruya çalışıp, hiçbir şeyi silmez\&. \fB-d\fR seçeneği ile birlikte kullanılamaz\&. Kuru çalıştırma sırasında \fB-t\fR seçeneği ile dizinler silinmek istenirse, statlarda silinmiş görünen dosya düğümleri silinmiş dizinler olarak hesaba katılmaz ve tahmini olarak imlenir\&. +.TP +\fB-v\fR +Çıktı daha ayrıntılı olur\&. \fB-d\fR seçeneği ile birlikte kullanılamaz\&. +.TP +\fB-r\fR +İyice temizlik yapılır\&. Bunun için Apache HTTP sunucusunun çalışmadığı varsayılır (aksi takdirde arabellek içeriği bozulabilir)\&. \fB-t\fR seçeneğinin de uygulanmasını sağlar\&. \fB-d\fR seçeneği ile birlikte kullanılamaz\&. +.TP +\fB-n\fR +Nazik olur\&. Diğer süreçlerin yararına daha yavaş çalışır\&. (a) disk G/Ç işlemlerinde gecikmeler olursa ve (b) çekirdek bu arada başka bir süreci öne çekmişse \fBhtcacheclean\fR uyumayı tercih edecektir\&. +.TP +\fB-t\fR +Tüm boş dizinleri siler\&. Öntanımlı olarak, sadece arabellek dosyaları silinirse de bazı yapılandırmalarda büyük miktarda dizin oluşturulması bu seçeneğin kullanılmasını gerektirebilir\&. Yapılandırmanız çok sayıda dizin gerektiriyorsa ve dosya düğümlerinin veya dosya ayırma tablolarının tükenmesi sözkonusu ise bu seçeneğin kullanılması önerilir\&. +.TP +\fB-p\fR\fI yol\fR +\fIyol\fR, disk arabelleğinin kök dizini olarak belirtilir\&. CacheRoot yönergesinde belirtilen dizin olmalıdır\&. +.TP +\fB-P\fR\fIpiddosyası\fR +Artalan süreci olarak çalışmada süreç kimliğinin yazılacağı dosyanın adını belirtmek için kullanılır\&. +.TP +\fB-R\fR\fIboyut\fR +Disk bloklarının boyunu denkleştirmek için yuvarlanacak üst boyutu belirtmekte kullanılır\&. Arabellek bölümünün blok boyutunu belirler\&. +.TP +\fB-l\fR\fI sınır\fR +\fIsınır\fR, disk arabelleğinin toplam boyutu olarak belirtilir\&. Değerin öntanımlı olarak bayt cinsinden belirtileceği varsayılır\&. Değerin sonuna kilobayt için K, megabayt M, bayt için B harfi konulabilir\&. +.TP +\fB-L\fR\fIlimit\fR +Disk arabellek dosyası düğümü toplamının sınırını belirlemekte kullanılır\&. +.TP +\fB-i\fR +Akıllı olup sadece disk arabelleği değiştiği zaman çalışır\&. Bu seçenek \fB-d\fR seçeneği ile birlikte belirtilmek zorundadır\&. +.TP +\fB-a\fR +O an arabellekte saklanmakta olan URL'leri listeler\&. Birden fazla aynı URL varsa yalnız biri listelenir\&. +.TP +\fB-A\fR +O an arabellekte saklanmakta olan URL'leri öznitelikleri ile listeler\&. Öznitelikler şu sırayla verilir: url, header size, body size, status, entity version, date, expiry, request time, response time, body present, head request + +.SH "BELLİ BİR URL'NİN SİLİNMESİ" + +.PP +\fBhtcacheclean\fR tarafından aktarılan URL'ler arabellekten silinir\&. Bir URL birden fazla mevcutsa hepsi silinir\&. + +.PP +Ters vekilli bir URL silinmişse, etkin URL \fBHost\fR başlığı \fBport\fR, \fByol\fR ve \fBsorgu\fR ile oluşturulur\&. Bir sorgu dizgesi olsun olmasın, URL içinde '?' daima açıkça belirtilmelidir\&. Örneğin, \fBlocalhost\fR sunucusundaki \fB/\fR yolu silinmek istenirse silinecek URL \fBhttp://localhost:80/?\fR olurdu\&. + +.SH "ARABELLEKTEKİ URL'LERİN LİSTELENMESİ" + +.PP +\fBhtcacheclean\fR'e \fB-a\fR veya \fB-A\fR seçeneğinin aktarılmasıyla, arabellekteki URL'ler bulundukça her satıra bir URL gelecek biçemde listelenir\&. \fB-A\fR seçeneği URL'nin ardından arabellek içeriğini tamamını şu sırayla dökümler: + + +.TP +url +Öğenin URL'si\&. +.TP +header size +Bayt cinsinden başlık uzunluğu\&. +.TP +body size +Bayt cinsinden gövde uzunluğu\&. +.TP +status +Arabellekteki yanıtın durumu\&. +.TP +entity version +Öğenin silinmeksizin kaç kere doğrulandığı\&. +.TP +date +Yanıt tarihi\&. +.TP +expiry +Yanıtın zaman aşımı tarihi\&. +.TP +request time +İsteğin başlama zamanı\&. +.TP +response time +İsteğin bitiş zamanı\&. +.TP +body present +0 ise istekle birlikte gövde saklanmaz, 1 ise saklanır\&. +.TP +head request +1 ise, öğe, gövde olmaksızın arabellekli bir HEAD isteği içerir, 0 ise içermez\&. + +.SH "ÇIKIŞ DURUMU" + +.PP +\fBhtcacheclean\fR, tüm işlemler başarıyla yerine getirildiğinde 0, aksi takdirde 1 döndürür\&. Bir URL belirtildiğinde, bu URL arablleklenmi ve silinmişse 0, aksi takdirde 2 döndürür\&. URL'nin silinmesi sırasında bir hata oluşursa 1 döndürür\&. + diff --git a/docs/man/tr/htdbm.1 b/docs/man/tr/htdbm.1 new file mode 100644 index 0000000..ddd216b --- /dev/null +++ b/docs/man/tr/htdbm.1 @@ -0,0 +1,187 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTDBM" 1 "2013-04-17" "Apache HTTP Sunucusu" "htdbm" +.nh +.SH İSİM +htdbm \- DBM parola veritabanlarını yönetir + +.SH "KULLANIM" + +.PP +\fBhtdbm\fR [ -\fBT\fR\fIVTtürü\fR ] [ -\fBi\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIparola-dosyası\fR \fIkullanıcı\fR + +.PP +\fBhtdbm\fR -\fBb\fR [ -\fBT\fR\fIVTtürü\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIparola-dosyası\fR \fIkullanıcı\fR \fIparola\fR + +.PP +\fBhtdbm\fR -\fBn\fR [ -\fBi\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIkullanıcı\fR + +.PP +\fBhtdbm\fR -\fBnb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIkullanıcı\fR \fIparola\fR + +.PP +\fBhtdbm\fR -\fBv\fR [ -\fBT\fR\fIVTtürü\fR ] [ -\fBi\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIparola-dosyası\fR \fIkullanıcı\fR + +.PP +\fBhtdbm\fR -\fBvb\fR [ -\fBT\fR\fIVTtürü\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIparola-dosyası\fR \fIkullanıcı\fR \fIparola\fR + +.PP +\fBhtdbm\fR -\fBx\fR [ -\fBT\fR\fIVTtürü\fR ] \fIparola-dosyası\fR \fIkullanıcı\fR + +.PP +\fBhtdbm\fR -\fBl\fR [ -\fBT\fR\fIVTtürü\fR ] + + +.SH "ÖZET" + +.PP +\fBhtdbm\fR, mod_authn_dbm üzerinden HTTP kullanıcılarının temel kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının saklanmasında kullanılacak DBM dosyalarını yönetmek için kullanılır\&. DBM dosyaları hakkında daha ayrıntılı bilgi edinmek için \fBdbmmanage\fR sayfasına bakınız\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-b\fR +Betik kipi; parola için istek yapmak yerine parola komut satırından verilir\&. \fBParola komut satırında görünür\fR olacağından çok dikkatli kullanmak gerekir\&. Betik kullanımı için \fB-i\fR seçeneğine bakınız\&. +.TP +\fB-i\fR +Parolayı doğrulamaksızın standart girdiden okur (betik kullanımı için)\&. +.TP +\fB-c\fR +\fIparola-dosyası\fR oluşturur\&. Dosya mevcutsa, dosya silinip yeniden yazılır\&. Bu seçenek \fB-n\fR seçeneği ile birlikte kullanılamaz\&. +.TP +\fB-n\fR +Sonuçları veritabanında güncellemek yerine standart çıktıya gönderir\&. \fIparola-dosyası\fR belirtilmediğinden, bu seçenek komut satırı sözdizimini değiştirir\&. Bu seçenek \fB-c\fR seçeneği ile birlikte kullanılamaz\&. +.TP +\fB-m\fR +Parolalar için MD5 şifrelemesi kullanılır\&. Windows ve Netware için bu öntanımlıdır\&. +.TP +\fB-B\fR +Parolalar için bcrypt şifrelemesi kullanılır\&. Şu an için çok güvenli kabul edilmektedir\&. +.TP +\fB-C\fR \fIbedel\fR +Bu seçenek sadece \fB-B\fR (bcrypt şifrelemesi) seçeneği ile birlikte kullanılabilir\&. Bcrypt algoritmasına hesaplama süresini belirtir (daha yüksek değerler daha güvenlidir, öntanımlı 5, geçerli değerler: 4 - 31)\&. +.TP +\fB-d\fR +Parolaları şifrelemek için crypt() kullanılır\&. Windows, ve Netware dışında öntanımlıdır\&. \fBhtdbm\fR tarafından tüm platformlarda destekleniyor olsa da Windows ve Netware üzerinde httpd sunucusu tarafından desteklenmez\&. Bu algoritma günümüz standartlarında \fBgüvenilmez\fR kabul edilmektedir\&. +.TP +\fB-s\fR +Parolalar için SHA şifrelemesi kullanılır\&. LDAP Dizin değişim biçemini (ldif) kullanarak Netscape sunucularına/sunucularından göçü kolaylaştırır\&. Bu algoritma günümüz standartlarında \fBgüvenilmez\fR kabul edilmektedir\&. +.TP +\fB-p\fR +Düz metin parolalar kullanılır\&. \fBhtdbm\fR tarafından tüm platformlarda destekleniyor olsa da Windows, Netware ve TPF üzerinde httpd sunucusu tarafından sadece düz metin parolalar kabul edilir\&. +.TP +\fB-l\fR +Veritabanındaki kullanıcıları açıklamalarıyla birlikte standart çıktıya gönderir\&. +.TP +\fB-v\fR +Kullanıcı adını ve parolasını doğrular\&. Program belirtilen parolanın geçerli olup olmadığını belirten bir ileti basar\&. Eğer parola geçersizse program hata kodu 3 ile çıkar\&. +.TP +\fB-x\fR +Kullanıcıyı siler\&. Kullanıcı belirtilen DBM dosyasında mevcutsa silinir\&. +.TP +\fB-t\fR +Son değiştirgenin bir açıklama olarak yorumlanmasını sağlar\&. Bu seçenek kullanıldığında komut satırının sonuna fazladan bir dizge eklenebilir\&. Bu dizge, veritabanında belirtilen kullanıcının "Comment" alanında saklanır\&. +.TP +\fIparola-dosyası\fR +DBM dosyasının ismi\&. Genellikle, \&.db, \&.pag veya \&.dir eklentisi olmaksızın belirtilir\&. \fB-c\fR seçeneği ile birlikte verilmişse ve DBM dosyası mevcut değilse dosya oluşturulur, mevcutsa dosya güncellenir\&. +.TP +\fIkullanıcı\fR +\fIparola-dosyası\fR'nda oluşturulacak veya güncellenecek kullanıcı ismi\&. \fIkullanıcı\fR bu dosyada mevcut değilse yeni bir girdi eklenir\&. Girdi mevcutsa parolası değiştirilir\&. +.TP +\fIparola\fR +Şifrelenip DBM dosyasında saklanacak düz metin parola\&. Sadece \fB-b\fR seçeneği ile kullanılır\&. +.TP +\fB-T\fR \fIVTtürü\fR +DBM dosyasının türü; SDBM, GDBM, DB, veya "default" olabilir\&. + +.SH "HATALAR" + +.PP +Birden fazla DBM dosya biçemi vardır ve büyük bir olasılıkla da sisteminizde bu birden fazla biçemle ilgili kütüphaneler vardır\&. SDBM, NDBM, GNU'nun GDBM projesi ve Berkeley/Sleepycat DB 2/3/4 bunların başlıcalarıdır\&. Ne yazık ki, bu kütüphanelerin her birinin dosya biçimleri farklıdır\&. Bu bakımdan, \fIdosyaismi\fR dosyasında kullanılan dosya biçeminin \fBhtdbm\fR tarafından kullanılanla aynı biçemde olduğundan emin olmalısınız\&. \fBhtdbm\fR hangi tür DBM dosyasına baktığını saptayacak yeterliliğe sahip değildir\&. Yanlış biçemli bir dosya belirtirseniz hiçbir şey dönmeyebileceği gibi, başka isimde bir DBM dosyasının oluşturulması veya daha da kötüsü üzerine yazmaya çalışıyorsanız DBM dosyasının bozulması bile olasıdır\&. + +.PP +Unix sistemlerinde, kullanılan DBM dosyasının biçemini öğrenmek için \fBfile\fR programı kullanılabilir\&. + +.SH "ÇIKIŞ DURUMU" + +.PP +\fBhtdbm\fR, kullanıcı ismi ve parolasını DBM dosyasına başarıyla eklemiş veya güncellemişse 0, dosyalara erişirken bir sorun çıkmışsa 1, komut satırında bir sözdizimi hatası varsa 2, parola etkileşimli alınmış fakat girdi ile eşleşme sağlanamamışsa 3, işlem kesintiye uğramışsa 4, bir değer çok uzunsa 5 (kullanıcı, parola, dosya ismi veya açıklama), kullanıcı ismi kuraldışı karakter içeriyorsa (Kısıtlamalar bölümüne bakınız) 6 ve dosya geçerli bir DBM parola dosyası değilse 7 değeriyle döner\&. + +.SH "ÖRNEKLER" + +.nf + + htdbm /usr/local/etc/apache/\&.htdbm-users jsmith + +.fi + +.PP +jsmith kullanıcısı için parolayı ekler veya değiştirir\&. Parolayı vermesi için kullanıcıya parola isteği yapılır\&. Windows üzerinde çalıştırılırsa parola Apache MD5 algoritması ile şifrelenir, aksi takdirde sistemin crypt() yordamı kullanılır\&. Dosya mevcut değilse \fBhtdbm\fR beklenen hiçbir işlemi yapmadan bir hata vererek çıkar\&. + +.nf + + htdbm -c /home/doe/public_html/\&.htdbm jane + +.fi + +.PP +Yeni bir dosya oluşturur ve kullanıcı jane için kaydı bir girdi olarak bu dosyaya yazar\&. Dosya mevcutsa fakat okunamıyor veya yazılamıyorsa dosyada bir değişiklik yapılmaz ve \fBhtdbm\fR bir ileti gösterip bir hata durumu ile çıkar\&. + +.nf + + htdbm -mb /usr/web/\&.htdbm-all jones Pwd4Steve + +.fi + +.PP +Komut satırından verilen parolayı (Pwd4Steve) MD5 algoritmasıyla şifreler ve bunu belirtilen dosyada saklar\&. + +.SH "GÜVENLİK DEĞERLENDİRMELERİ" + +.PP +\fBhtdbm\fR tarafından yönetilen parola dosyalarına sunucunun URI uzayından erişilememelidir; yani dosya bir tarayıcı ile okunabilecek bir yerde bulunmamalıdır\&. + +.PP +Komut satırında parolanın şifrelenmemiş olarak görünmesi sebebiyle \fB-b\fR seçeneğinin kullanımından kaçınılmasını öneriyoruz\&. + +.PP +crypt() algoritması kullanılırken, parolayı şekillendirmek için parolanın ilk 8 baytının kullanılacağına dikkat ediniz\&. Eğer parola 8 bayttan uzunsa kalanlar bir uyarı verilmeksizin iptal edilir\&. + +.PP +SHA şifreleme biçeminde tuz kullanılmaz; yani, bir parolanın sadece bir şifreli gösterimi olabilir\&. crypt() ve MD5 biçemleri parolanın önüne rasgele üretilmiş bir tuz dizgesi eklediklerinden sözlük saldırılarına karşı daha dayanıklıdır\&. + +.PP +SHA ve crypt() biçimleri günümüz standartlarında \fBgüvenilmez\fR kabul edilmektedir\&. + +.SH "KISITLAMALAR" + +.PP +Windows platformunda, \fBhtdbm\fR ile şifrelenen parolalar 255 karakterden daha uzun olamaz\&. 255 karakterden sonrası kırpılır\&. + +.PP +\fBhtdbm\fR tarafından kullanılan MD5 algoritması Apache yazılımına özeldir; bu algoritma ile şifrelenen parolalar başka HTTP sunucularında kullanılamayabilir\&. + +.PP +Kullanıcı isimleri 255 bayttan uzun olamaz ve iki nokta imi (:) içeremez\&. + diff --git a/docs/man/tr/htdigest.1 b/docs/man/tr/htdigest.1 new file mode 100644 index 0000000..5fecb4e --- /dev/null +++ b/docs/man/tr/htdigest.1 @@ -0,0 +1,62 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTDİGEST" 1 "2013-04-17" "Apache HTTP Sunucusu" "htdigest" +.nh +.SH İSİM +htdigest \- Özet kimlik doğrulama dosyalarını yönetir + +.SH "KULLANIM" + +.PP +\fBhtdigest\fR [ -\fBc\fR ] \fIparola-dosyası\fR \fIbölge\fR \fIkullanıcı\fR + + +.SH "ÖZET" + +.PP +\fBhtdigest\fR, HTTP kullanıcılarının digest türü kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının saklanmasında kullanılacak düz metin dosyalarını oluşturmak ve güncellemek için kullanılır\&. Apache HTTP sunucusunun mevcut özkaynaklarının kullanımı sadece \fBhtdigest\fR tarafından oluşturulan dosyalarda listelenmiş kullanıcılara tahsis edilebilir\&. + +.PP +Bu kılavuz sayfası sadece komut satırı değiştirgelerini listeler\&. Kullanıcı kimlik doğrulamasını \fBhttpd\fR'de yapılandırmak için gerekli yönergelerle ilgili ayrıntılar için Apache dağıtımının bir parçası olan ve http://httpd\&.apache\&.org/ adresinde de bulunan Apache HTTP Sunucusu Belgelerine bakınız\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-c\fR +\fIparola-dosyası\fR oluşturur\&. Dosya mevcutsa, dosya silinip yeniden yazılır\&. +.TP +\fIparola-dosyası\fR +Kullanıcı ismi, parola ve bölge bilgilerini içeren dosyanın ismi\&. \fB-c\fR seçeneği verilmişse ve dosya mevcut değilse oluşturulur, dosya mevcutsa silinip yeniden oluşturulur\&. +.TP +\fIbölge\fR +Kullanıcının mensup olduğu bölge ismi\&. Daha fazla bilgi için: http://tools\&.ietf\&.org/html/rfc2617#section-3\&.2\&.1 +.TP +\fIkullanıcı\fR +\fIparola-dosyası\fR'nda oluşturulacak veya güncellenecek kullanıcı ismi\&. \fIkullanıcı\fR bu dosyada mevcut değilse yeni bir girdi eklenir\&. Girdi mevcutsa parolası değiştirilir\&. + +.SH "GÜVENLİK DEĞERLENDİRMELERİ" + +.PP +Bu program bir setuid çalıştırılabiliri olarak güvenilir olmadığından \fIsetuid yapılmamalıdır\fR\&. + diff --git a/docs/man/tr/htpasswd.1 b/docs/man/tr/htpasswd.1 new file mode 100644 index 0000000..8f36035 --- /dev/null +++ b/docs/man/tr/htpasswd.1 @@ -0,0 +1,170 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTPASSWD" 1 "2014-06-24" "Apache HTTP Sunucusu" "htpasswd" +.nh +.SH İSİM +htpasswd \- Temel kimlik doğrulama dosyalarını yönetir + +.SH "KULLANIM" + +.PP +\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIparola-dosyası\fR \fIkullanıcı\fR + +.PP +\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIparola-dosyası\fR \fIkullanıcı\fR \fIparola\fR + +.PP +\fBhtpasswd\fR -\fBn\fR [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] \fIkullanıcı\fR + +.PP +\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIbedel\fR ] \fIkullanıcı\fR \fIparola\fR + + +.SH "ÖZET" + +.PP +\fBhtpasswd\fR, HTTP kullanıcılarının temel kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının saklanmasında kullanılacak düz metin dosyalarını oluşturmak ve güncellemek için kullanılır\&. \fBhtpasswd\fR, güncelleme sırasında yazmak veya okumak için bir dosyaya erişemezse beklenen hiçbir işlemi yapmaz ve hata vererek çıkar\&. + +.PP +Apache HTTP sunucusunun mevcut özkaynaklarının kullanımı sadece \fBhtpasswd\fR tarafından oluşturulan dosyalarda listelenmiş kullanıcılara tahsis edilebilir\&. \fBhtpasswd\fR sadece düz metin dosyalarda saklanmış kullanıcı isimlerini ve parolalarını yönetirse de, diğer veri saklama türleri için parolayı şifreleyip gösterebilir\&. Bir DBM veritabanı kullanmak isterseniz \fBdbmmanage\fR ve \fBhtdbm\fR sayfasına bakınız\&. + +.PP +\fBhtpasswd\fR, parolaları şifrelemek için bcrypt, Apache'nin kendine özgü MD5 algoritması, SHA1 ya da sistemin crypt() yordamını kullanır\&. Bu bakımdan \fBhtpasswd\fR tarafından yönetilen dosyalar farklı algoritmalarla şifrelenmiş parolalar içerebilir\&. + +.PP +Bu kılavuz sayfası sadece komut satırı değiştirgelerini listeler\&. Kullanıcı kimlik doğrulamasını \fBhttpd\fR'de yapılandırmak için gerekli yönergelerle ilgili ayrıntılar için Apache dağıtımının bir parçası olan ve http://httpd\&.apache\&.org/ adresinde de bulunan Apache HTTP Sunucusu Belgelerine bakınız\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-b\fR +Betik kipi; parola için istek yapmak yerine parola komut satırından verilir\&. \fBParola komut satırında görünür\fR olacağından çok dikkatli kullanmak gerekir\&. Betik kullanımı için \fB-i\fR seçeneğine bakınız\&. 2\&.4\&.4 ve sonraki sürümler içindir\&. +.TP +\fB-i\fR +Parolayı doğrulamaksızın standart girdiden okur (betik kullanımı için)\&. +.TP +\fB-c\fR +\fIparola-dosyası\fR oluşturur\&. Dosya mevcutsa, dosya silinip yeniden yazılır\&. Bu seçenek \fB-n\fR seçeneği ile birlikte kullanılamaz\&. +.TP +\fB-n\fR +Sonuçları veritabanında güncellemek yerine standart çıktıya gönderir\&. Bu seçenek, Apache'nin metin veriler içermeyen veri depolarına dahil edilebilecek parolaları üretmekte yararlıdır\&. \fIparola-dosyası\fR belirtilmediğinden, bu seçenek komut satırı sözdizimini değiştirir\&. Bu seçenek \fB-c\fR seçeneği ile birlikte kullanılamaz\&. +.TP +\fB-m\fR +Parolalar için MD5 şifrelemesi kullanılır\&. Bu 2\&.2\&.18 sürümünden beri öntanımlıdır\&. +.TP +\fB-B\fR +Parolalar için bcrypt şifrelemesi kullanılır\&. Şu an için çok güvenli kabul edilmektedir\&. +.TP +\fB-C\fR \fIbedel\fR +Bu seçenek sadece \fB-B\fR (bcrypt şifrelemesi) seçeneği ile birlikte kullanılabilir\&. Bcrypt algoritmasına hesaplama süresini belirtir (daha yüksek değerler daha güvenlidir, öntanımlı 5, geçerli değerler: 4 - 31)\&. +.TP +\fB-d\fR +Parolaları şifrelemek için crypt() kullanılır\&. \fBhtpasswd\fR tarafından tüm platformlarda destekleniyor olsa da Windows, Netware ve TPF üzerinde httpd sunucusu tarafından desteklenmez\&. Bu algoritma günümüz standartlarında \fBgüvenilmez\fR kabul edilmektedir\&. 2\&.2\&.17 sürümüne kadar öntanımlı algoritma olarak kullanılmıştı\&. +.TP +\fB-s\fR +Parolalar için SHA şifrelemesi kullanılır\&. LDAP Dizin değişim biçemini (ldif) kullanarak Netscape sunucularına/sunucularından göçü kolaylaştırır\&.Bu algoritma günümüz standartlarında \fBgüvenilmez\fR kabul edilmektedir\&. +.TP +\fB-p\fR +Düz metin parolalar kullanılır\&. \fBhtpasswd\fR tarafından tüm platformlarda destekleniyor olsa da Windows, Netware ve TPF üzerinde httpd sunucusu tarafından sadece düz metin parolalar kabul edilir\&. +.TP +\fB-D\fR +Kullanıcıyı siler\&. Kullanıcı belirtilen dosyada mevcutsa silinir\&. +.TP +-v +Parolayı doğrular\&. Verilen parolayı belitilen htpasswd dosyasında saklanan kullanıcı parolası ile karşılaştırarak doğrulama yapar\&. 2\&.4\&.5 ve sonraki sürümler içindir\&. +.TP +\fIparola-dosyası\fR +Kullanıcı ismini ve parolasını içeren dosyanın ismi\&. \fB-c\fR seçeneği verilmişse ve dosya mevcut değilse oluşturulur, dosya mevcutsa silinip yeniden oluşturulur\&. +.TP +\fIkullanıcı\fR +\fIparola-dosyası\fR'nda oluşturulacak veya güncellenecek kullanıcı ismi\&. \fIkullanıcı\fR bu dosyada mevcut değilse yeni bir girdi eklenir\&. Girdi mevcutsa parolası değiştirilir\&. +.TP +\fIparola\fR +Şifrelenip dosyada saklanacak düz metin parola\&. Sadece \fB-b\fR seçeneği ile kullanılır\&. + +.SH "ÇIKIŞ DURUMU" + +.PP +\fBhtpasswd\fR, kullanıcı ismi ve parolasını DBM dosyasına başarıyla eklemiş veya güncellemişse 0, dosyalara erişirken bir sorun çıkmışsa 1, komut satırında bir sözdizimi hatası varsa 2, parola etkileşimli alınmış fakat girdi ile eşleşme sağlanamamışsa 3, işlem kesintiye uğramışsa 4, bir değer çok uzunsa 5 (kullanıcı, parola, dosya ismi veya açıklama), kullanıcı ismi kuraldışı karakter içeriyorsa (Kısıtlamalar bölümüne bakınız) 6 ve dosya geçerli bir DBM parola dosyası değilse 7 değeriyle döner\&. + +.SH "ÖRNEKLER" + +.nf + + htpasswd /usr/local/etc/apache/\&.htpasswd-users jsmith + +.fi + +.PP +jsmith kullanıcısı için parolayı ekler veya değiştirir\&. Parolayı vermesi için kullanıcıya parola isteği yapılır\&. Parola takviyeli Apache MD5 algoritması ile şifrelenir\&. Dosya mevcut değilse \fBhtpasswd\fR beklenen hiçbir işlemi yapmadan bir hata vererek çıkar\&. + +.nf + + htpasswd -c /home/doe/public_html/\&.htpasswd jane + +.fi + +.PP +Yeni bir dosya oluşturur ve kullanıcı jane için kaydı bir girdi olarak bu dosyaya yazar\&. Dosya mevcutsa fakat okunamıyor veya yazılamıyorsa dosyada bir değişiklik yapılmaz ve \fBhtpasswd\fR bir ileti gösterip bir hata durumu ile çıkar\&. + +.nf + + htpasswd -db /usr/web/\&.htpasswd-all jones Pwd4Steve + +.fi + +.PP +Komut satırından verilen parolayı (Pwd4Steve) crypt() algoritmasıyla şifreler ve bunu belirtilen dosyada saklar\&. + +.SH "GÜVENLİK DEĞERLENDİRMELERİ" + +.PP +\fBhtpasswd\fR tarafından yönetilen parola dosyalarına sunucunun URI uzayından erişilememelidir; yani dosya bir tarayıcı ile okunabilecek bir yerde bulunmamalıdır\&. + +.PP +Bu program bir setuid çalıştırılabiliri olarak güvenilir olmadığından \fIsetuid yapılmamalıdır\fR\&. + +.PP +Komut satırında parolanın şifrelenmemiş olarak görünmesi sebebiyle \fB-b\fR seçeneğinin kullanımından kaçınılmasını öneriyoruz\&. + +.PP +crypt() algoritması kullanılırken, parolayı şekillendirmek için parolanın ilk 8 baytının kullanılacağına dikkat ediniz\&. Eğer parola 8 bayttan uzunsa kalanlar bir uyarı verilmeksizin iptal edilir\&. + +.PP +SHA şifreleme biçeminde tuz kullanılmaz; yani, bir parolanın sadece bir şifreli gösterimi olabilir\&. crypt() ve MD5 biçemleri parolanın önüne rasgele üretilmiş bir tuz dizgesi eklediklerinden sözlük saldırılarına karşı daha dayanıklıdırlar\&. + +.PP +SHA ve crypt() biçimleri günümüz standartlarında \fBgüvenilmez\fR kabul edilmektedir\&. + +.SH "KISITLAMALAR" + +.PP +Windows platformuda, \fBhtpasswd\fR ile şifrelenen parolalar 255 karakterden daha uzun olamaz\&. 255 karakterden sonrası kırpılır\&. + +.PP +\fBhtpasswd\fR tarafından kullanılan MD5 algoritması Apache yazılımına özeldir; bu algoritma ile şifrelenen parolalar başka HTTP sunucularında kullanılamayabilir\&. + +.PP +Kullanıcı isimleri 255 bayttan uzun olamaz ve iki nokta imi (:) içeremez\&. + diff --git a/docs/man/tr/httpd.8 b/docs/man/tr/httpd.8 new file mode 100644 index 0000000..dbcb79b --- /dev/null +++ b/docs/man/tr/httpd.8 @@ -0,0 +1,119 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTTPD" 8 "2014-06-24" "Apache HTTP Sunucusu" "httpd" +.nh +.SH İSİM +httpd \- Apache Hiper Metin Aktarım Protokolü Sunucusu + +.SH "KULLANIM" + +.PP +\fBhttpd\fR [ -\fBd\fR \fIsunucu-kök-dizini\fR ] [ -\fBf\fR \fIyapılandırma-dosyası\fR ] [ -\fBC\fR \fIyönerge\fR ] [ -\fBc\fR \fIyönerge\fR ] [ -\fBD\fR \fIparametre\fR ] [ -\fBe\fR \fIseviye\fR ] [ -\fBE\fR \fIdosya\fR ] [ \fB-k\fR start | restart | graceful | stop | graceful-stop ] [ -\fBh\fR ] [ -\fBl\fR ] [ -\fBL\fR ] [ -\fBS\fR ] [ -\fBt\fR ] [ -\fBv\fR ] [ -\fBV\fR ] [ -\fBX\fR ] [ -\fBM\fR ] [ -\fBT\fR ] + +.PP +Windows sistemlerinde, ek olarak şunlar vardır: + +.PP +\fBhttpd\fR [ -\fBk\fR install | config | uninstall ] [ -\fBn\fR \fIisim\fR ] [ -\fBw\fR ] + + +.SH "ÖZET" + +.PP +\fBhttpd\fR, Apache Hiper Metin Aktarım Protokolü (HTTP) sunucusu programıdır\&. Tek başına çalışan bir artalan süreci olarak tasarlanmıştır\&. Bu tarz kullanıldığında istekleri işleme sokmak için çocuk süreçlerden ve evrelerden oluşan bir havuz oluşturur\&. + +.PP +Genelde, \fBhttpd\fR'nin doğrudan çağrılmaması gerekir\&. Unix ve benzerlerinde apachectl aracılığıyla, Windows NT, 2000 ve XP'de bir hizmet olarak, Windows 9x ve ME'de ise bir konsol uygulaması olarak çalıştırılır\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-d\fR \fIsunucu-kök-dizini\fR +\fIsunucu-kök-dizini\fR'ni ServerRoot yönergesine ilk değer olarak atar\&. Yapılandırma dosyasındaki bir ServerRoot yönergesiyle bu atama geçersiz kılınabilir\&. Bu seçenek belirtilmediği takdirde /usr/local/apache2 dizini öntanımlıdır\&. +.TP +\fB-f\fR \fIyapılandırma-dosyası\fR +Başlatma sırasında \fIyapılandırma-dosyası\fR'ndaki yönergeler kullanılır\&. Eğer \fIyapılandırma-dosyası\fR bir / ile başlamıyorsa dosyanın ServerRoot yönergesinin değerine göreli olduğu varsayılır\&. Seçenek belirtilmediği takdirde conf/httpd\&.conf öntanımlı değerdir\&. +.TP +\fB-k\fR start | restart | graceful | stop | graceful-stop +\fBhttpd\fR'yi başlatmak, durdurmak ve yeniden başlatmak için sinyal gönderir\&. Daha ayrıntılı bilgi edinmek için Apache httpd'nin Durdurulması belgesine bakınız\&. +.TP +\fB-C\fR \fIyönerge\fR +Yapılandırma \fIyönerge\fR'sini yapılandırma dosyalarını okumadan önce işleme sokar\&. +.TP +\fB-c\fR \fIyönerge\fR +Yapılandırma \fIyönerge\fR'sini yapılandırma dosyalarını okuduktan sonra işleme sokar\&. +.TP +\fB-D\fR \fIparametre\fR +Sunucu başlatılırken veya yeniden başlatılırken komutları şarta bağlı olarak işleme sokmak veya atlamak için yapılandırma dosyalarında kullanılan bölümlerinde kullanılmak üzere bir yapılandırma \fIparametre\fR'si tanımlar\&. Ayrıca, -DNO_DETACH (ana sürecin çatallanmasını engellemek için), -DFOREGROUND (ana sürecin setsid() ve benzerlerinden çağrılmasını engellemek için) gibi daha az bilinen bazı başlatma parametrelerini atamakta da kullanılabilir\&. +.TP +\fB-e\fR \fIseviye\fR +Hata günlüğü seviyesi olarak LogLevel yönergesine sunucu başlatılırken \fIseviye\fR değerini atar\&. Bu seçenek, başlatma sırasındaki sorunları saptamak amacıyla hata iletilerinin ayrıntı seviyesini geçici olarak arttırmak için kullanılır\&. +.TP +\fB-E\fR \fIdosya\fR +Sunucunun başlatılması sırasında hata iletilerinin belirtilen \fIdosya\fR'ya gönderilmesini sağlar\&. +.TP +\fB-h\fR +Mevcut komut satırı seçeneklerinin kısa bir özetini çıktılar\&. +.TP +\fB-l\fR +Sunucunun içinde derlenmiş modüllerin listesini çıktılar\&. Bu liste LoadModule yönergesi kullanılarak devingen olarak yüklenen modülleri içermez\&. +.TP +\fB-L\fR +Durağan modüllerce sağlanmış yönergeleri olası değerleriyle geçerli konumlarına yerleştirerek listeler\&. Paylaşımlı modüllerce sağlanan yönergeleri listelemez\&. +.TP +\fB-M\fR +Yüklü durağan ve paylaşımlı modülleri listeler\&. +.TP +\fB-S\fR +Yapılandırma dosyasından çözümlenmiş haliyle ayarları gösterir (şu an sadece sanal konak ayarları gösterilmektedir)\&. +.TP +\fB-T\fR (2\&.3\&.8 ve sonrasında kullanılabilmektedir) +Başlatma ve yeniden başlatma sırasında belge kökü sınanmadan geçilir\&. +.TP +\fB-t\fR +Yapılandırma dosyasını sözdizimi hatalarına karşı denetler\&. Program sözdizimini denetledikten sonra sözdizimi geçerliyse 0 ile, değilse sıfırdan farklı bir değerle çıkar\&. \fB-D\fRDUMP_VHOSTS seçeneği ile birlikte kullanılmışsa ek olarak sanal konak ayrıntıları da basılır\&. \fB-D\fRDUMP_MODULES seçeneği ile ise ek olarak tüm modüller listelenir\&. +.TP +\fB-v\fR +\fBhttpd\fR sürümünü basar ve çıkar\&. +.TP +\fB-V\fR +Sürümü ve \fBhttpd\fR kurulum parametrelerini basar ve çıkar\&. +.TP +\fB-X\fR +\fBhttpd\fR hata ayıklama kipinde çalışır\&. Tek çocuk süreç başlatılır ve sunucu konsolu terketmez\&. + +.PP +Aşağıdaki seçenekler sadece Windows platformunda geçerlidir: + + +.TP +\fB-k\fR install | config | uninstall +Parametreler bakımından sırasıyla: Apache httpd bir Windows NT hizmeti haline getirilir; başlatma seçenekleri Apache httpd hizmeti için değiştirilir; ve Apache httpd hizmeti sistemden kaldırılır\&. +.TP +\fB-n\fR \fIisim\fR +Sinyal gönderilecek Apache httpd hizmetinin \fIismi\fR\&. +.TP +\fB-w\fR +Hata durumunda konsol penceresi açık tutularak hata iletilerinin okunması sağlanır\&. + diff --git a/docs/man/tr/httxt2dbm.1 b/docs/man/tr/httxt2dbm.1 new file mode 100644 index 0000000..b5d9814 --- /dev/null +++ b/docs/man/tr/httxt2dbm.1 @@ -0,0 +1,65 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "HTTXT2DBM" 1 "2013-04-17" "Apache HTTP Sunucusu" "httxt2dbm" +.nh +.SH İSİM +httxt2dbm \- RewriteMap ile kullanmak için DBM dosyaları üretir + +.SH "KULLANIM" + +.PP +\fBhttxt2dbm\fR [ -\fBv\fR ] [ -\fBf\fR \fIDBM_türü\fR ] -\fBi\fR \fIkaynak_metin\fR -\fBo\fR \fIçıktı_DBM\fR + + +.SH "ÖZET" + +.PP +\fBhttxt2dbm\fR, RewriteMap ile kullanmak için düz metin dosyalardan DBM dosyaları üretir\&. + +.PP +Çıktı dosyası mevcutsa dosya kırpılmaz\&. Yeni anahtarlar eklenir, mevcutlar da güncellenir\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-v\fR +Çıktı daha ayrıntılı olur\&. +.TP +\fB-f\fR \fIDBM_türü\fR +Çıktı için kullanılacak DBM türü belirtilir\&. Belirtilmediği takdirde APR öntanımlısı kullanılır\&. Belirtilebilecek DBM türleri: GDBM dosyalar için GDBM, SDBM dosyalar için SDBM, Berkeley DB dosyalar için DB, NDBM dosyalar için NDBM, öntanımlı DBM türü için default +.TP +\fB-i\fR \fIkaynak_metin\fR +DBM dosyasının üretiminde kullanılacak girdi dosyası belirtilir\&. Bu dosya, her satırda bir kayıt bulunmak üzere her satırı şöyle biçemlenmiş olmalıdır: anahtar değer\&. Bu dosyanın biçemi ve manası ile ilgili ayrıntılar için RewriteMap yönergesinin açıklamasına bakınız\&. +.TP +\fB-o\fR \fIçıktı_DBM\fR +Çıktılanacak DBM dosyasının ismi belirtilir\&. + +.SH "ÖRNEKLER" + +.nf + + httxt2dbm -i rewritemap\&.txt -o rewritemap\&.dbm + httxt2dbm -f SDBM -i rewritemap\&.txt -o rewritemap\&.dbm +.fi + diff --git a/docs/man/tr/logresolve.1 b/docs/man/tr/logresolve.1 new file mode 100644 index 0000000..7ec05a4 --- /dev/null +++ b/docs/man/tr/logresolve.1 @@ -0,0 +1,51 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "LOGRESOLVE" 1 "2013-04-17" "Apache HTTP Sunucusu" "logresolve" +.nh +.SH İSİM +logresolve \- Apache günlük dosyalarındaki IP adreslerini konak isimlerine dönüştürür + +.SH "KULLANIM" + +.PP +\fBlogresolve\fR [ -\fBs\fR \fIdosyaismi\fR ] [ -\fBc\fR ] < \fIgünlük_dosyası\fR > \fIyeni_günlük_dosyası\fR + + +.SH "ÖZET" + +.PP +\fBlogresolve\fR, Apache'nin erişim günlüklerindeki IP adreslerini çözümlemek için bir ardıl işlem uygulamasıdır\&. İsim sunucunuza bindirdiği yükü en aza indirmek için \fBlogresolve\fR kendi arabelleğinde oluşturduğu eşleme tablosunu kullanır\&. + +.PP +Apache günlük dosyasını standart girdisinden okur\&. IP adresleri günlük dosyası satırlarında ilk bileşen olmalı ve sonraki bileşenlerden bir boşluk ile ayrılmalıdır\&. + + +.SH "SEÇENEKLER" + + +.TP +-s \fIdosyaismi\fR +İstatistiklerin kaydedileceği dosyanın ismi belirtilir\&. +.TP +-c +\fBlogresolve\fR uygulamasının bazı DNS sorguları yapmasına sebep olur: IP adresine karşılık olan konak ismini bulduktan sonra özgün adresle karşılaştırmak için bu konak ismine karşılık gelen IP adresini sorgular\&. + diff --git a/docs/man/tr/rotatelogs.8 b/docs/man/tr/rotatelogs.8 new file mode 100644 index 0000000..5a515aa --- /dev/null +++ b/docs/man/tr/rotatelogs.8 @@ -0,0 +1,177 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "ROTATELOGS" 8 "2015-01-18" "Apache HTTP Sunucusu" "rotatelogs" +.nh +.SH İSİM +rotatelogs \- Apache günlüklerini döndürmek için borulu günlük kayıt programı + +.SH "KULLANIM" + +.PP +\fBrotatelogs\fR [ -\fBl\fR ] [ -\fBL\fR \fIisim\fR ] [ -\fBp\fR \fIprogram\fR ] [ -\fBf\fR ] [ -\fBt\fR ] [ -\fBv\fR ] [ -\fBe\fR ] [ -\fBc\fR ] [ -\fBn\fR \fIdosya_sayısı\fR ] \fIdosyaismi\fR \fIsüre\fR|\fIboyut\fR(B|K|M|G) [ \fIsaat_farkı\fR ] + + +.SH "ÖZET" + +.PP +\fBrotatelogs\fR, Apache'nin borulu günlük dosyaları özelliği ile birlikte kullanmak için tasarlanmış basit bir programdır\&. Günlük dosyasının azami boyutuna göre veya belli aralıklarla günlük dosyalarını döndürür\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-l\fR +GMT yerine yerel zamanın kullanılmasını sağlar\&. +.TP +\fB-L\fR \fIbagismi\fR +Belirtilen bağ dosyası ismine geçerli günlük dosyasından kalıcı bir bağ oluşturulur\&. tail -F bagismi gibi bir komut kullanılarak günlüğün sürekli izlenmesi için kullanılabilir\&. +.TP +\fB-p\fR \fIprogram\fR +Belirtildiği takdirde, \fBrotatelogs\fR yeni bir günlük dosyasının her açılışında belirtilen programı çalıştırır\&. Yeni açılan dosyanın ismi programa ilk argüman olarak aktarılır\&. Bu işlem bir döndürme sonrası yapılırsa eski günlük dosyası ikinci argüman olarak aktarılır\&. \fBrotatelogs\fR işlemini sürdürmek için belirtilen programın sonlanmasını beklemez, dolayısıyla sonlanma soucunda döndürülen hata kodunu günlüğe kaydetmez\&. Çalıştırılan program \fBrotatelogs\fR ile aynı stdin, stdout ve stderr'i kullanır ve ortamı da miras alır\&. +.TP +\fB-f\fR +İlk günlük giridisinin okunmasını beklemeden \fBrotatelogs\fR başlar başlamaz günlük dosyasının açılmasını sağlar\&. Çok meşgul sitelerde, sunucu başlatılıp ilk istek sunuluncaya kadar geçen zamanda günlük dosyasının yokluğu özdevinimli işlemler yapan bazı günlükleme araçlarında sorunlara yol açabilir\&. Bu seçenek bu gibi durumlarda yararlıdır\&. +.TP +\fB-t\fR +Günlük dosyasının döndürülmek yerine tepeden kırpılmasına sebep olur\&. Günlüğün \fBtail\fR gibi bir araç tarafından gerçek zamanda işlendiği ve veriyi saklamanın gerekmediği durumda kullanışlıdır\&. Dosya ismine bir sonek eklenmez, ancak biçem dizgesi '%' karakteri içeriyorsa buna uyulur\&. +.TP +\fB-v\fR +Standart hataya verilen çıktı daha ayrıntılı olur\&. Çıktı, yapılandırma çözümlemesinin sonuçlarını ve tüm dosya açma/kapama işlemlerini içerir\&. +.TP +\fB-e\fR +Günlüğü standart çıktıya basar\&. Günlüğün zincirdeki ilgili araç tarafından gerçek zamanda işlenmesi gerektiğinde kullanışlıdır\&. +.TP +\fB-c\fR +Create log file for each interval, even if empty\&. +.TP +\fB-n\fR \fIdosya_sayısı\fR +Zaman damgalarına bakılmaksızın bir dosya serisi açılır\&. Örneğin -n3 belirtilirse "logfile", "logfile\&.1", "logfile\&.2" serisi açılır ve "logfile" üzerine yazılır\&. 2\&.4\&.5 ve sonraki sürümler içindir\&. +.TP +\fIdosyaismi\fR +.PP Günlük dosyasının ismi yoluyla birlikte belirtilir\&. \fIdosyaismi\fR '%' karakterleri içeriyorsa bunlar strftime(3) biçem belirteçleri olarak ele alınır\&. Aksi takdirde, özdevinimli olarak \fI\&.nnnnnnnnnn\fR uzantısı üretilir\&. (\fB-t\fR seçeneği kullanılmadıkça) Uzantı saniye cinsindendir ve her iki durumda da bu değer, mevcut döngü diliminin başlangıcına göre hesaplanır\&. Örneğin, döndürmenin 86400 saniyede bir yapılacağı belirtilmişse, strftime(3) biçeminde oluşturulan saat, dakika ve saniye alanları, 24 saatlik sürenin başlangıcını (geceyarısı) göstermek üzere sıfırlarla doldurulur\&. .PP strftime(3) dosyaismi biçemlemesi kullanılırken, günlük dosyası biçeminin günlük dosyası döndürülürken her zaman farklı bir dosya ismi üretecek yeterlilikte parçacıklı yapıya sahip olduğundan emin olmalısınız\&. Aks takdirde döndürme işlemi yeni bir dosya başlatmak yerine hep aynı dosyanın üzerine yazar\&. Örneğin, \fIlogfile\fR için /var/log/errorlog\&.%Y-%m-%d belirtilmişse 5 mega baytta bir yeni bir günlük dosyasına başlanacaktır\&. Fakat 5 megabayta gün içinde iki kez ulaşılırsa aynı günlük dosyası üretilir ve günlük hep aynı dosyanın üzerine yazılır\&. +.TP +\fIsüre\fR +Günlük dosyasının yenisinin kaç saniyede bir açılacağı belirtilir\&. Örneğin, bu süre 3600 saniye ise günlük dosyası her saat başında yenilenir; 86400 saniye ise her geceyarısı yenilenir\&. (Bu süre zarfında günlüğe kaydedilecek bir olay gerçekleşmemişse dosya oluşturulmaz\&.) +.TP +\fIboyut\fR(B|K|M|G) +Boyuta göre döndürme için azami dosya boyutu\&. Belirtilenin bir süre değil de bir boyut değeri olarak ele alınması için değerin sonuna şu karakterlerden biri eklenmelidir: B (Bayt), K (kilobayt), M (megabayt), G (gigabayt)\&. .PP Süre ve boyut birlikte belirtilmişse boyut süreden sonra belirtilmelidir\&. Dosya yenilemesi, bunlardan hangisi daha önce aşılırsa o zaman gerçekleşir\&. +.TP +\fIsaat_farkı\fR +Koordinatlı evrensel zamana göre "dakika" farkı\&. Belirtilmezse, sıfır öntanımlıdır\&. Örneğin, -5 saatlik bir zaman diliminde bulunuyorsanız bu değer -300 olmalıdır\&. Çoğu durumda, bunun yerine \fB-l\fR seçeneğini kullanmak gerekir\&. + +.SH "ÖRNEKLER" + +.nf + + CustomLog "|bin/rotatelogs /var/log/logfile 86400" common + +.fi + +.PP +nnnn, günlük kaydının başladığı sistem zamanı olmak üzere /var/log/logfile\&.nnnn dosyası oluşturulur\&. Bu zaman, daima döngü süresinin katları olacağından bunu cron betiklerinizi eşzamanlamakta kullanabilirsiniz\&. Her döngü süresinin sonunda (burada 24 saat sonra) yeni bir günlük dosyası açılır\&. + +.nf + + CustomLog "|bin/rotatelogs -l /var/log/logfile\&.%Y\&.%m\&.%d 86400" common + +.fi + +.PP +yyyy, yıl; mm, ay; dd, ayın gününü belirtmek üzere /var/log/logfile\&.yyyy\&.mm\&.dd dosyası oluşturulur\&. Her gün yerel zamanla geceyarısı yeni bir günlük dosyasına geçilecektir\&. + +.nf + + CustomLog "|bin/rotatelogs /var/log/logfile 5M" common + +.fi + +.PP +Günlük dosyası 5 megabaytlık olunca yenisinin oluşturulmasını sağlar\&. + +.nf + + ErrorLog "|bin/rotatelogs /var/log/errorlog\&.%Y-%m-%d-%H_%M_%S 5M" + +.fi + +.PP +Hata günlüğünün 5 megabaytta bir errorlog\&.YYYY-mm-dd-HH_MM_SS biçemli bir isimle oluşturulmasını sağlar\&. + +.nf + + CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common + +.fi + +.PP +/var/log/logfile dosyasını oluşturur, sunucu başlatılırken ve günde bir kere dosyanın tepesi kırpılır\&. Bu senaryoda ayrı bir sürecin (tail gibi) dosyayı gerçek zamanlı işleyeceği umulur\&. + +.SH "TAŞINABİLİRLİK" + +.PP +Aşağıdaki günlük dosyası biçem belirteçlerinin tüm strftime(3) gerçeklenimlerince desteklenmesi gerekir\&. Kullandığınız kütüphaneye özgü belirteçler için sisteminizdeki strftime(3) kılavuz sayfasına bakınız\&. + +.Ip "\(bu \s-1%A\s0 \- tam gün ismi (yerelleştirilmiş) + +.Ip "\(bu \s-1%a\s0 \- 3 harflik gün ismi (yerelleştirilmiş) + +.Ip "\(bu \s-1%B\s0 \- tam ay ismi (yerelleştirilmiş) + +.Ip "\(bu \s-1%b\s0 \- 3 harflik ay ismi (yerelleştirilmiş) + +.Ip "\(bu \s-1%c\s0 \- tarih ve saat (yerelleştirilmiş) + +.Ip "\(bu \s-1%d\s0 \- 2 haneli ay günü numarası + +.Ip "\(bu \s-1%H\s0 \- 2 haneli saat (24 saatlik) + +.Ip "\(bu \s-1%I\s0 \- 2 haneli saat (12 saatlik) + +.Ip "\(bu \s-1%j\s0 \- 3 hanelik yıl günü numarası + +.Ip "\(bu \s-1%M\s0 \- 2 haneli dakika + +.Ip "\(bu \s-1%m\s0 \- 2 haneli ay + +.Ip "\(bu \s-1%p\s0 \- 12 saatlik kip için öö/ös (yerelleştirilmiş) + +.Ip "\(bu \s-1%S\s0 \- 2 haneli saniye + +.Ip "\(bu \s-1%U\s0 \- 2 haneli yılın hafta numarası (Haftanın ilk gününün Pazar olduğu varsayımıyla) + +.Ip "\(bu \s-1%W\s0 \- 2 haneli yılın hafta numarası (Haftanın ilk gününün Pazartesi olduğu varsayımıyla) + +.Ip "\(bu \s-1%w\s0 \- 1 hanelik haftanın gün numarası (Haftanın ilk gününün Pazar olduğu varsayımıyla) + +.Ip "\(bu \s-1%X\s0 \- saat (yerelleştirilmiş) + +.Ip "\(bu \s-1%x\s0 \- tarih (yerelleştirilmiş) + +.Ip "\(bu \s-1%Y\s0 \- 4 hanelik yıl + +.Ip "\(bu \s-1%y\s0 \- 2 hanelik yıl + +.Ip "\(bu \s-1%Z\s0 \- zaman dilimi ismi + +.Ip "\(bu \s-1%%\s0 \- `%' iminin kendisi + diff --git a/docs/man/tr/suexec.8 b/docs/man/tr/suexec.8 new file mode 100644 index 0000000..324d408 --- /dev/null +++ b/docs/man/tr/suexec.8 @@ -0,0 +1,48 @@ +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.\" DO NOT EDIT! Generated from XML source. +.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "SUEXEC" 8 "2013-08-16" "Apache HTTP Sunucusu" "suexec" +.nh +.SH İSİM +suexec \- harici programları çalıştırmadan önce kullanıcıyı değiştirir + +.SH "KULLANIM" + +.PP +\fBsuexec\fR -\fBV\fR + + +.SH "ÖZET" + +.PP +\fBsuexec\fR, CGI programlarını çalıştırmadan önce Apache HTTP Sunucusu tarafından kullanıcı değiştirmek için kullanılır\&. Bunu yapabilmek için sunucunun root tarafından çalıştırılmış olması gerekir\&. HTTP artalan süreci normalde root aidiyetinde çalışmadığından \fBsuexec\fR'in çalıştırılabilir dosyasının sahibi root olmalı, setuid biti etkin (u+s) olmalı ve dosyaya root dışında hiç kimse yazamamalıdır\&. + +.PP +\fBsuexec\fR güvenlik modeli ve kavramlar hakkında bilgi edinmek için suexec belgesine (http://httpd\&.apache\&.org/docs/2\&.4/suexec\&.html) bakınız\&. + + +.SH "SEÇENEKLER" + + +.TP +\fB-V\fR +root iseniz, bu seçenek \fBsuexec\fR derleme seçeneklerini gösterir\&. Güvenlik sebebiyle tüm yapılandırma seçenekleri sadece derleme sırasında değiştirilebilir\&. + diff --git a/docs/manual/BUILDING b/docs/manual/BUILDING new file mode 100644 index 0000000..71ad945 --- /dev/null +++ b/docs/manual/BUILDING @@ -0,0 +1,2 @@ +For instructions on building the manual, see +. diff --git a/docs/manual/LICENSE b/docs/manual/LICENSE new file mode 100644 index 0000000..57bc88a --- /dev/null +++ b/docs/manual/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + diff --git a/docs/manual/bind.html b/docs/manual/bind.html new file mode 100644 index 0000000..150fa61 --- /dev/null +++ b/docs/manual/bind.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: bind.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: bind.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: bind.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: bind.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: bind.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: bind.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/bind.html.de b/docs/manual/bind.html.de new file mode 100644 index 0000000..fcad060 --- /dev/null +++ b/docs/manual/bind.html.de @@ -0,0 +1,229 @@ + + + + + +An Adressen und Ports binden - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

An Adressen und Ports binden

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Konfiguration der vom Apache HTTP Server verwendeten Adressen und + Ports.

+
+ +
top
+
+

Überblick

+ + + + +

Beim Start bindet sich der httpd an bestimmte Adressen und Ports + der lokalen Maschine und wartet auf eingehende Anfragen. + Standardmäßig lauscht er an allen Adressen des Systems. + Es kann jeodch notwendig sein, ihm mit zuteilen, nur an bestimmten + Ports zu lauschen oder nur an ausgewählten Adressen, bzw. einer + Kombination aus beidem. Dies wird oft mit der Funktionalität virtueller Hosts kombiniert, die bestimmt, wie + der httpd auf verschiedene IP-Adressen, Hostnamen und + Ports reagiert.

+ +

Die Direktive Listen + weist den Server an, eingehende Anfragen nur an bestimmten Port(s) + oder Adress/Port-Kombinationen zu akzeptieren. Wenn bei der + Listen-Direktive nur eine + Portnummer angegeben wird, dann lauscht der Server auf allen + Netzwerkinterfaces an dem angegebenen Port. Ist auch eine IP-Adresse + angegeben, dann lauscht der Server an der angegebenen Schnittstelle + auf dem angegebenen Port. Es können mehrere Listen-Anweisungen verwendet werden, + um eine Reihe von Adressen und Ports anzugeben, an denen gelauscht + werden soll. Der Server wird dann auf Anfragen an jeder der + abgehörten Adressen und Ports antworten.

+ +

Um beispielsweise den Server zu veranlassen, auf allen + Netzwerkinterfaces sowohl an Port 80, als auch an Port 8000 + Verbindungen zu akzeptieren, geben Sie an:

+ +
Listen 80
+Listen 8000
+
+ +

Um den Server Verbindungen an Port 80 auf einem Netzwerkinterface + akzeptieren zu lassen und an Port 8080 auf einem anderen Interface, geben + Sie an:

+ +
Listen 192.0.2.1:80
+Listen 192.0.2.5:8000
+
+ +

IPv6-Adressen müssen wie im folgenden Beispiel in eckigen + Klammern angegeben werden:

+ +
Listen [2001:db8::a00:20ff:fea7:ccea]:80
+
+ +

Sich überlappende Listen-Direktiven generieren einen + fatalen Fehler, der verhindert, dass der Server hochfährt.

+ +

+ (48)Address already in use: make_sock: could not bind to address [::]:80 +

+ +

Diese + Diskussion im Wiki gibt weitere Tipps zur Fehlerbehebung.

+
+
top
+
+

Betrachtung von IPv6-Besonderheiten

+ + +

Eine wachsende Anzahl von Plattformen implementiert IPv6. Die + APR unterstützt IPv6 auf den meisten + dieser Plattformen und ermöglicht dem httpd, IPv6-Sockets zu + verwenden und über IPv6 gesendete Anfragen zu behandeln.

+ +

Für httpd-Administratoren kommt erschwerend die Frage hinzu, + ob IPv6-Sockets sowohl IPv4- als auch IPv6-Verbindungen handhaben + können. Zum Betrieb von IPv4-Verbindungen an IPv6-Sockets + werden auf IPv6 abgebildete IPv4-Adressen (Anm.d.Ü.: so genannete + IPv4-gemappte IPv6-Adressen) verwendet, welche + standardmäßig auf den meisten Plattformen erlaubt sind. + Unter FreeBSD, NetBSD und OpenBSD jedoch sind sie + standardmäßig deaktiviert, um den Systemgrundsätzen + dieser Plattformen zu entsprechen. Auf Systemen, wo dies + standardmäßig dekativiert ist, kann dieses Verhalten mit + einem speziellen configure-Parameter für den + httpd geändert werden.

+ +

Auf der anderen Seite ist die Verwendung von gemappten Adressen + bei einigen Plattformen wie Linux und True64 der + einzige Weg, sowohl IPv4 wie auch IPv6 zu + verwenden. Wenn Sie möchten, dass der httpd IPv4- + und IPv6-Verbindungen mit einem Minimum an Sockets behandelt, was + die Verwendung von IPv4-gemappten IPv6-Adressen erfordert, dann + müssen Sie die configure-Option + --enable-v4-mapped angeben.

+ +

--enable-v4-mapped ist die Voreinstellung auf allen + Plattformen außer FreeBSD, NetBSD und OpenBSD, so dass Ihr + httpd wahrscheinlich so übersetzt wurde.

+ +

Geben Sie wie in dem folgenden Beispiel bei allen Listen-Anweisungen eine IPv4-Adresse + an, wenn Sie möchten, dass Ihr httpd lediglich IPv4-Adressen + behandelt, unabhängig davon, was Ihre Plattform und die APR + unterstützen:

+ +
Listen 0.0.0.0:80
+Listen 192.0.2.1:80
+
+ +

Wenn Sie möchten, dass der httpd IPv4- und IPv6-Verbindungen + an separaten Sockets behandelt (d.h. IPv4-gemappte Adressen + deaktiviert werden sollen) und Ihre Plattform es unterstützt, + dann müssen Sie die configure-Option + --disable-v4-mapped angeben. Unter FreeBSD, NetBSD und + OpenBSD ist --disable-v4-mapped voreingestellt.

+
top
+
+

Angabe des Protokolls bei Listen

+ +

Das optionale zweite Protokoll-Argument von Listen ist für die meisten + Konfigurationen gar nicht erforderlich. Wenn nicht angegeben, sind + https für Port 443 und http für + alle anderen Ports die Voreinstellungen. Die Protokollangabe wird + sowohl dazu verwendet, herauszufinden, welches Modul Anfragen + verarbeiten soll, als auch, um protokollspezifische Optimierungen + bei der AcceptFilter-Direktive + zu aktivieren.

+ +

Sie müssen das Protokoll nur angeben, wenn Sie + ungewöhnliche Ports benutzen, beispielsweise https + auf Port 8443:

+ +
Listen 192.170.2.1:8443 https
+
+
top
+
+

Das Zusammenspiel mit virtuellen Hosts

+ + +

Die Direktive Listen + implementiert keine virtuellen Hosts - sie teilt dem Hauptserver + lediglich mit, an welchen Adressen und Ports er zu lauschen hat. + Werden keine <VirtualHost>-Container verwendet, dann + verhält sich der Server bei allen angenommenen Anfragen gleich. + <VirtualHost>-Abschnitte können jedoch + dazu verwendet werden, ein unterschiedliches Verhalten für eine + oder mehrere Adressen und Ports festzulegen. Um einen virtuellen + Host einzurichten, muss dem Server zunächst mitgeteilt werden, + an den betreffenden Adressen oder Ports zu lauschen. Dann sollte ein + <VirtualHost>-Abschnitt für die + angebene Adresse und den angegebenen Port erstellt werden, um das + Verhalten dieses virtuellen Hosts festzulegen. Beachten Sie bitte, + dass auf einen <VirtualHost> nicht zugegriffen werden + kann, wenn er für eine Adresse und einen Port eingerichtet + wurde, an dem der Server nicht lauscht.

+
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/bind.html.en b/docs/manual/bind.html.en new file mode 100644 index 0000000..1c8567b --- /dev/null +++ b/docs/manual/bind.html.en @@ -0,0 +1,246 @@ + + + + + +Binding to Addresses and Ports - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Binding to Addresses and Ports

+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Configuring Apache HTTP Server to listen on specific addresses and ports.

+
+ +
top
+
+

Overview

+ + + + + +

When httpd starts, it binds to some port and address on + the local machine and waits for incoming requests. By default, + it listens to all addresses on the machine. However, it may need to + be told to listen on specific ports, or only on selected + addresses, or a combination of both. This is often combined with the + Virtual Host feature, which determines how + httpd responds to different IP addresses, hostnames and + ports.

+ +

The Listen + directive tells the server to accept + incoming requests only on the specified port(s) or + address-and-port combinations. If only a port number is + specified in the Listen + directive, the server listens to the given port on all interfaces. + If an IP address is given as well as a port, the server will listen + on the given port and interface. Multiple Listen directives may be used to + specify a number of addresses and ports to listen on. The + server will respond to requests from any of the listed + addresses and ports.

+ +

For example, to make the server accept connections on both + port 80 and port 8000, on all interfaces, use:

+ +
Listen 80
+Listen 8000
+
+ +

To make the server accept connections on port 80 for one interface, + and port 8000 on another, use

+ +
Listen 192.0.2.1:80
+Listen 192.0.2.5:8000
+
+ +

IPv6 addresses must be enclosed in square brackets, as in the + following example:

+ +
Listen [2001:db8::a00:20ff:fea7:ccea]:80
+
+ +

Overlapping Listen directives will result in a + fatal error which will prevent the server from starting up.

+ +

+ (48)Address already in use: make_sock: could not bind to address [::]:80 +

+ +

See the + discussion in the wiki for further troubleshooting tips.

+ +
+ +
top
+
+

Changing Listen configuration on restart

+ + +

When httpd is restarted, special consideration must be made for + changes to Listen directives. During a restart, httpd keeps ports + bound (as in the original configuration) to avoid generating + "Connection refused" errors for any new attempts to connect to the + server. If changes are made to the set of Listen directives used + which conflict with the old configuration, configuration will fail + and the server will terminate.

+ +

For example, changing from configuration:

+ +
Listen 127.0.0.1:80
+
+ +

to the following may fail, because binding to port 80 across + all addresses conflicts with binding to port 80 on just + 127.0.0.1.

+ +
Listen 80
+
+ +

To have such configuration changes take effect, it is necessary + to stop and then start the server.

+ +
top
+
+

Special IPv6 Considerations

+ + +

A growing number of platforms implement IPv6, and + APR supports IPv6 on most of these platforms, + allowing httpd to allocate IPv6 sockets, and to handle requests sent + over IPv6.

+ +

One complicating factor for httpd administrators is whether or + not an IPv6 socket can handle both IPv4 connections and IPv6 + connections. Handling IPv4 connections with an IPv6 socket uses + IPv4-mapped IPv6 addresses, which are allowed by default on most + platforms, but are disallowed by default on FreeBSD, NetBSD, and + OpenBSD, in order to match the system-wide policy on those + platforms. On systems where it is disallowed by default, a + special configure parameter can change this behavior + for httpd.

+ +

On the other hand, on some platforms, such as Linux and Tru64, the + only way to handle both IPv6 and IPv4 is to use + mapped addresses. If you want httpd to handle IPv4 and IPv6 connections + with a minimum of sockets, which requires using IPv4-mapped IPv6 + addresses, specify the --enable-v4-mapped configure option.

+ +

--enable-v4-mapped is the default on all platforms except + FreeBSD, NetBSD, and OpenBSD, so this is probably how your httpd was + built.

+ +

If you want httpd to handle IPv4 connections only, regardless of + what your platform and APR will support, specify an IPv4 address on all + Listen directives, as in the + following examples:

+ +
Listen 0.0.0.0:80
+Listen 192.0.2.1:80
+
+ +

If your platform supports it and you want httpd to handle IPv4 and + IPv6 connections on separate sockets (i.e., to disable IPv4-mapped + addresses), specify the --disable-v4-mapped configure option. --disable-v4-mapped is the + default on FreeBSD, NetBSD, and OpenBSD.

+
top
+
+

Specifying the protocol with Listen

+ +

The optional second protocol argument of + Listen + is not required for most + configurations. If not specified, https is the default for + port 443 and http the default for all other ports. The + protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the + AcceptFilter directive.

+ +

You only need to set the protocol if you are running on non-standard + ports. For example, running an https site on port 8443:

+ +
Listen 192.170.2.1:8443 https
+
+
top
+
+

How This Works With Virtual Hosts

+ + +

The Listen directive does not implement + Virtual Hosts - it only tells the + main server what addresses and ports to listen on. If no + <VirtualHost> + directives are used, the server will behave + in the same way for all accepted requests. However, + <VirtualHost> + can be used to specify a different behavior + for one or more of the addresses or ports. To implement a + VirtualHost, the server must first be told to listen to the + address and port to be used. Then a + <VirtualHost> section + should be created for the specified address and port to set the + behavior of this virtual host. Note that if the + <VirtualHost> + is set for an address and port that the + server is not listening to, it cannot be accessed.

+
+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/bind.html.fr.utf8 b/docs/manual/bind.html.fr.utf8 new file mode 100644 index 0000000..d5a6e03 --- /dev/null +++ b/docs/manual/bind.html.fr.utf8 @@ -0,0 +1,254 @@ + + + + + +Ecoute sélective - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Ecoute sélective

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Configuration du serveur HTTP Apache pour l'écoute + sur un port et une adresse IP spécifiques.

+
+ +
top
+
+

Vue d'ensemble

+ + + + + +

Au démarrage de httpd, un port et une adresse lui sont associés sur + l'hôte local et le serveur se met en attente de l'arrivée d'une requête. + Par défaut, le serveur écoute toutes les adresses de l'hôte local. + Cependant, on peut lui préciser des ports et des adresses spécifiques à + écouter, ou une combinaison des deux. Tout ceci est souvent associé avec la + fonctionnalité des serveurs virtuels qui détermine la + manière dont httpd répond aux différents ports, noms d'hôtes et + adresses IP.

+ +

La directive Listen permet + d'indiquer au serveur qu'il ne doit accepter des requêtes que sur le(s) + port(s) spécifiés ou une combinaison adresse/port. Si seul un numéro de port + est spécifié dans la directive Listen, le serveur se met à l'écoute sur ce + port et sur toutes les interfaces réseau. Si une adresse IP est spécifiée + en plus du port, le serveur va écouter sur ce port et uniquement sur + l'interface réseau correspondante. On peut utiliser plusieurs directives + Listen pour spécifier plusieurs + adresses et ports à écouter. Le serveur répondra alors aux requêtes sur tous + les ports et adresses spécifiés.

+ +

Par exemple, pour faire en sorte que le serveur accepte des connexions + sur les ports 80 et 8000 et sur toutes les interfaces, utilisez :

+ +
Listen 80
+Listen 8000
+
+ +

Pour faire en sorte que le serveur accepte des connexions sur le port 80 + pour une interface, et sur le port 8000 pour une + autre interface, utilisez :

+ +
Listen 192.0.2.1:80
+Listen 192.0.2.5:8000
+
+ +

Les adresses IPv6 doivent être mises entre crochets, comme dans + l'exemple suivant :

+ +
Listen [2001:db8::a00:20ff:fea7:ccea]:80
+
+ +

Des directives Listen + imbriquées provoqueront une erreur fatale qui + empêchera le serveur de démarrer.

+ +

+ (48)Address already in use: make_sock: could not bind to address [::]:80 +

+ +

Voir cette + discussion dans le wiki pour plus de détails à propos de la résolution + de ce problème.

+ +
+ +
top
+
+

Changer la configuration de l'écoute au redémarrage

+ + +

Lorsque httpd est redémarré, certaines remarques sont à prendre en compte + quant aux modifications apportées aux directives Listen. Au cours du redémarrage, httpd + conserve la liaison avec les ports de la configuration précédente afin + d'éviter l'obtention d'un message d'erreur "Connection refused" lors d'une + tentative ultérieure de connexion au serveur. Si les modifications apportées au jeu de + directives Listen utilisé entrent + en conflit avec ce dernier, le serveur refusera de redémarrer.

+ +

Par exemple, modifier la configuration suivante :

+ +
Listen 127.0.0.1:80
+
+ +

pour utiliser la suivante pourra échouer car écouter le port 80 sur + toutes les adresses IP entre en conflit avec une écoute sélective du port 80 + sur la seule adresse IP 127.0.0.1.

+ +
Listen 80
+
+ +

Pour qu'une telle modification de configuration soit prise en compte avec + succès, il est nécessaire d'arrêter, puis de démarrer le serveur.

+ +
top
+
+

Remarques spécifiques à IPv6

+ + +

Un nombre croissant de plateformes implémentent IPv6, et + APR supporte IPv6 sur la plupart d'entre elles, + ce qui permet à httpd d'allouer des points de connexion (sockets) IPv6 + et de traiter des requêtes envoyées sur IPv6.

+ +

Les administrateurs de httpd doivent se préoccuper de la possibilité + pour un point de connexion IPv6 de traiter à la fois des connexions IPv4 + et des connexions IPv6. + Le traitement de connexions IPv4 avec un point de connexion IPv6 utilise + des adresses IPv6 traduites en IPv4 qui sont autorisées par défaut sur la + plupart des plateformes, mais sont interdites par défaut sous FreeBSD, NetBSD, + et OpenBSD, afin de respecter la politique de sécurité du système sur ces plateformes. + Sur les systèmes où ces adresses sont interdites par défaut, un + paramètre spécial du script configure permet de modifier + ce comportement pour httpd.

+ +

En revanche, sur certaines plateformes comme Linux et Tru64, la + seule manière de gérer à la fois IPv6 et IPv4 passe + par l'utilisation d'adresses traduites. Si vous voulez que httpd gère + des connexions IPv4 et IPv6 avec un minimum de points de connexion, + ce qui nécessite l'utilisation d'adresses IPv6 traduites en IPv4, + utilisez l'option --enable-v4-mapped du script configure.

+ +

L'option --enable-v4-mapped est utilisée par défaut sur + toutes les plateformes sauf FreeBSD, NetBSD, et OpenBSD; + votre httpd a donc probablement été construit avec cette option.

+ +

Si vous souhaitez que httpd ne gère que des connexions IPv4, sans se + soucier de ce que votre plateforme et APR supportent, spécifiez une adresse + IPv4 dans toutes les directives + Listen, comme dans l'exemple + suivant :

+ +
Listen 0.0.0.0:80
+Listen 192.0.2.1:80
+
+ +

Si votre plateforme le supporte et si vous souhaitez que httpd gère + des connexions IPv4 et IPv6 sur des points de connexion séparés + (c'est à dire désactiver la traduction des adresses IPv6 au format IPv4), + utilisez l'option --disable-v4-mapped du script + configure. --disable-v4-mapped est + utilisé par défaut sur FreeBSD, NetBSD, et OpenBSD.

+
top
+
+

Spécification du protocole avec Listen

+ +

Dans la plupart des configurations, le second paramètre optionnel + protocol de la directive Listen n'est pas obligatoire. S'il + n'est pas spécifié, les protocoles par défaut + sont https pour le port 443, et http pour + tous les autres ports. Le protocole sert à déterminer quel module + doit traiter une requête, et à appliquer les optimisations + spécifiques au protocole via la directive AcceptFilter.

+ +

Vous ne devez définir le protocole que si vous travaillez avec + des ports non standards. Par exemple, pour travailler en + https sur le port 8443 :

+ +
Listen 192.170.2.1:8443 https
+
+
top
+
+

Qu'en est-il avec les serveurs virtuels

+ + +

La directive Listen n'implémente pas les serveurs virtuels. + Elle indique simplement au serveur principal sur quels adresses et ports + il doit écouter. Si aucune directive + <VirtualHost> + n'est présente, le serveur se comportera de la même façon pour toutes + les requêtes acceptées. En revanche, la directive + <VirtualHost> + peut être utilisée pour provoquer une réaction différente du serveur + pour un ou plusieurs adresses ou ports. Pour implémenter un serveur virtuel, + on doit d'abord indiquer au serveur sur quels adresses et ports il doit écouter. + Ensuite, une section + <VirtualHost> + doit être créée pour le couple adresse+port spécifié afin de définir le + comportement de cet hôte virtuel. Notez que si la directive + <VirtualHost> + est définie pour une adresse et un port sur lesquels le serveur n'est pas censé + écouter, cet hôte virtuel ne sera pas accessible.

+
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/bind.html.ja.utf8 b/docs/manual/bind.html.ja.utf8 new file mode 100644 index 0000000..a719842 --- /dev/null +++ b/docs/manual/bind.html.ja.utf8 @@ -0,0 +1,209 @@ + + + + + +ãƒã‚¤ãƒ³ãƒ‰ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

ãƒã‚¤ãƒ³ãƒ‰

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

Apache ãŒä½¿ç”¨ã™ã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚

+
+ +
top
+
+

概è¦

+ + + + + +

Apache ã¯èµ·å‹•æ™‚ã«ã€ãƒ­ãƒ¼ã‚«ãƒ«ãƒžã‚·ãƒ³ã®ã‚ã‚‹ãƒãƒ¼ãƒˆãŠã‚ˆã³ã‚¢ãƒ‰ãƒ¬ã‚¹ + ã«å¯¾ã—ã¦æŽ¥ç¶šã—ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¥ã‚‹ã®ã‚’å¾…ã¡ã¾ã™ã€‚ + デフォルトã§ã¯ãƒžã‚·ãƒ³ã®ã™ã¹ã¦ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«å¯¾ã—㦠Listen ã—ã¾ã™ã€‚ + 特定ã®ãƒãƒ¼ãƒˆã‹ã€ç‰¹å®šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ã¿ã‹ã€ + ã¾ãŸã¯ãれらã®çµ„ã¿åˆã‚ã›ã§ Listen ã™ã‚‹ã‚ˆã†ã«æŒ‡å®šã—ãŸã„å ´åˆã‚‚ã‚ã‚Šã¾ã™ã€‚ + ç•°ãªã‚‹ IP アドレスã€ãƒ›ã‚¹ãƒˆåã€ãƒãƒ¼ãƒˆã«å¯¾ã—㦠Apache ãŒã©ã®ã‚ˆã†ã« + 応答ã™ã‚‹ã‹ã‚’制御ã™ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆæ©Ÿèƒ½ã¨çµ„ã¿åˆã‚ã›ã¦ã‚ˆã使ã‚ã‚Œã¾ã™ã€‚

+ +

Listen + ディレクティブã§ã€ç‰¹å®šã®ãƒãƒ¼ãƒˆã‚„アドレス・ãƒãƒ¼ãƒˆã®çµ„ã‹ã‚‰å…¥ã£ã¦ãã‚‹ + リクエストã®ã¿ã‚’å—ã‘付ã‘るよã†ã«ã§ãã¾ã™ã€‚ + ã‚‚ã—ãƒãƒ¼ãƒˆç•ªå·ã ã‘㌠Listen + ディレクティブã§æŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ + ã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®ä¸Žãˆã‚‰ã‚ŒãŸãƒãƒ¼ãƒˆç•ªå·ã«å¯¾ã—㦠+ Listen ã—ã¾ã™ã€‚ IP アドレスã¨ãƒãƒ¼ãƒˆç•ªå·ã¨ãŒåŒæ™‚ã«ä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã¯ã€ + サーãƒã¯ä¸Žãˆã‚‰ã‚ŒãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒˆã‚’ Listen ã—ã¾ã™ã€‚ + Listen ディレクティブを複数使ã£ã¦ + Listen ã™ã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã‚’ã„ãã¤ã‚‚指定ã§ãã¾ã™ã€‚ + サーãƒã¯æŒ‡å®šã•ã‚ŒãŸã‚¢ãƒ‰ãƒ¬ã‚¹ã‚„ãƒãƒ¼ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã™ã¹ã¦ã« + 対ã—ã¦å¿œç­”ã—ã¾ã™ã€‚

+ +

ãŸã¨ãˆã°ã€å…¨ã¦ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒˆ 80 㨠8000 ã®ä¸¡æ–¹ã«ãŠã„㦠+ 接続をå—ã‘付ã‘ã‚‹ã«ã¯

+ +

+ Listen 80
+ Listen 8000 +

+ +

ã¨ã—ã¾ã™ã€‚ + ã‚るインターフェースã§ã¯ 80 番ã§ã€ã¾ãŸã€åŒæ™‚ã«ä»–ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã® + 8000 番ãƒãƒ¼ãƒˆã§æŽ¥ç¶šã‚’å—ã‘付ã‘ã‚‹ã«ã¯ã€ +

+ +

+ Listen 192.0.2.1:80
+ Listen 192.0.2.5:8000 +

+ +

ã¨ã—ã¾ã™ã€‚ + IPv6 アドレスã¯ã€è§’括弧ã§æ¬¡ã®ä¾‹ã®ã‚ˆã†ã«å›²ã¾ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。

+ +

+ Listen [2001:db8::a00:20ff:fea7:ccea]:80 +

+
top
+
+

IPv6 ã®ç‰¹è¨˜äº‹é …

+ + +

多ãã®ãƒ—ラットホーム㧠IPv6 ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ãã¦ã„ã¦ã€ + APR ã¯ã“れらã®ã»ã¨ã‚“ã©ã§ IPv6 をサãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã®ã§ã€ + Apache 㯠IPv6 ソケットを割り当ã¦ã¦ IPv6 + 経由ã§é€ã‚‰ã‚Œã¦ããŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

IPv6 ソケット㌠IPv4 㨠IPv6 コãƒã‚¯ã‚·ãƒ§ãƒ³ã®ä¸¡æ–¹ã‚’扱ã†ã“ã¨ãŒã§ãã‚‹ã‹ + ã©ã†ã‹ã¯ã€Apache 管ç†è€…ã«ã¨ã£ã¦åŽ„介ãªå•é¡Œã§ã™ã€‚ + IPv4 コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ IPv6 ソケットã§æ‰±ã†å ´åˆã¯ã€ + IPv4 マップã•ã‚ŒãŸ IPv6 アドレスを使用ã—ã¦ã„ã¦ã€ + ã»ã¨ã‚“ã©ã®ãƒ—ラットホームã§ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ä½¿ç”¨å¯èƒ½ã§ã™ãŒã€ + FreeBSD, NetBSD, OpenBSD ã§ã¯ã€ã‚·ã‚¹ãƒ†ãƒ å…¨ä½“ã¨ã—ã¦ã®ãƒãƒªã‚·ãƒ¼ã¨ã®æ•´åˆæ€§ã‹ã‚‰ã€ + デフォルトã§ã¯ä½¿ç”¨ä¸å¯ã«è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã“れらã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ä½¿ç”¨ä¸å¯ã®ãƒ—ラットホームã§ã‚ã£ã¦ã‚‚〠+ 特別㪠configure ã® + 設定パラメータ㧠Apache ã®æŒ™å‹•ã‚’変化ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

一方ã§ã€Linux ã‚„ Tru64 ã¨ã„ã£ãŸãƒ—ラットホーム㧠IPv4 㨠IPv6 + ã®ä¸¡æ–¹ã‚’扱ã†ã«ã¯ã€ãƒžãƒƒãƒ—ドアドレスを使用ã™ã‚‹ä»¥å¤–ã®æ–¹æ³•ã¯ã‚ã‚Šã¾ã›ã‚“。 + IPv4 㨠IPv6 ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’最å°é™ã®ã‚½ã‚±ãƒƒãƒˆã§æ‰±ã„ãŸã„ã®ã§ã‚ã‚Œã°ã€ + IPv4 マップ㮠IPv6 アドレスを使用ã™ã‚‹å¿…è¦ãŒã‚り〠+ --enable-v4-mapped configure + オプションを指定ã—ã¾ã™ã€‚

+ +

--enable-v4-mapped ã¯ã€ + FreeBSD, NetBSD, OpenBSD 以外ã®å…¨ã¦ã®ãƒ—ラットホームã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã™ã€‚ + ã§ã™ã‹ã‚‰ã€ãŠãらããŠæ‰‹å…ƒã® Apache ã¯ã“ã®è¨­å®šã§ãƒ“ルドã•ã‚Œã¦ã„ã‚‹ã§ã—ょã†ã€‚

+ +

プラットフォームや APR ãŒä½•ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã‹ã«é–¢ã‚らãšã€ + IPv4 コãƒã‚¯ã‚·ãƒ§ãƒ³ã®ã¿ã‚’扱ã†ã‚ˆã†ã«ã—ãŸã„å ´åˆã¯ã€ + 次ã®ä¾‹ã®ã‚ˆã†ã«å…¨ã¦ã® + Listen ディレクティブ㧠+ IPv4 アドレスを指定ã—ã¦ãã ã•ã„。

+ +

+ Listen 0.0.0.0:80
+ Listen 192.0.2.1:80 +

+ +

æ¡ä»¶ã‚’満ãŸã™ãƒ—ラットホームã§ã€Apache ㌠+ IPv4 㨠IPv6 ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’別々ã®ã‚½ã‚±ãƒƒãƒˆã§æ‰±ã†ã‚ˆã†ã«ã—ãŸã„å ´åˆ + (ã¤ã¾ã‚Š IPv4 マップã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’無効ã«ã—ãŸã„å ´åˆ) + ã¯ã€--disable-v4-mapped + configure + オプションを指定ã—ã¦ã€æ¬¡ã®ã‚ˆã†ã«å€‹åˆ¥æŒ‡å®šã® + Listen + ディレクティブを使用ã—ã¦ãã ã•ã„。 + --disable-v4-mapped ã¯ã€ + FreeBSD, NetBSD, OpenBSD プラットホームã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã™ã€‚

+
top
+
+

ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã—ã¦ã©ã†åƒãã®ã‹

+ + +

Listen ディレクティブ + ã§ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒå®Ÿè£…ã•ã‚Œã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + Listen ã¯å˜ã«ãƒ¡ã‚¤ãƒ³ã‚µãƒ¼ãƒã«ã©ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã‚’ Listen ã™ã¹ãã‹ã‚’ + æ•™ãˆã‚‹ã ã‘ã§ã™ã€‚ + <VirtualHost> + ディレクティブãŒä½¿ã‚ã‚Œãªã„å ´åˆã¯ã€ + å—ã‘入れãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã™ã¹ã¦ã«å¯¾ã—ã¦å…¨ãåŒã˜æŒ™å‹•ã‚’ã—ã¾ã™ã€‚ + ã—ã‹ã—ãªãŒã‚‰ + <VirtualHost> + を使ã£ã¦ã€ + 一ã¤ä»¥ä¸Šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚„ãƒãƒ¼ãƒˆã«å¯¾ã—ã¦ç•°ãªã‚‹æŒ™å‹•ã‚’ã™ã‚‹ã‚ˆã†ã« + 指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + VirtualHost を実装ã™ã‚‹ã«ã¯ã€ã¾ãšåˆã‚ã«ä½¿ç”¨ã—ãŸã„アドレスã¨ãƒãƒ¼ãƒˆã«å¯¾ã—㦠+ サーãƒãŒ Listen ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ãã—ã¦ã€ãã®æŒ‡å®šã—ãŸã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã§ã® + ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®æŒ™å‹•ã‚’設定ã™ã‚‹ãŸã‚ã«ã€ + <VirtualHost> + セクションを作りã¾ã™ã€‚ã‚‚ã— + <VirtualHost> + ㌠Listen ã—ã¦ã„ãªã„アドレスã¨ãƒãƒ¼ãƒˆã«å¯¾ã—㦠+ 設定ã•ã‚Œã¦ã—ã¾ã†ã¨ã€ + ãã‚Œã«ã¯ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/bind.html.ko.euc-kr b/docs/manual/bind.html.ko.euc-kr new file mode 100644 index 0000000..34b0252 --- /dev/null +++ b/docs/manual/bind.html.ko.euc-kr @@ -0,0 +1,179 @@ + + + + + +ÁÖ¼Ò¿Í Æ÷Æ® ÁöÁ¤ (Binding) - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

ÁÖ¼Ò¿Í Æ÷Æ® ÁöÁ¤ (Binding)

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

¾ÆÆÄÄ¡°¡ ƯÁ¤ ÁÖ¼Ò¿Í Æ÷Æ®¿¡¼­ ¼­ºñ½ºÇϵµ·Ï ¼³Á¤Çϱâ.

+
+ +
top
+
+

°³¿ä

+ + + + + +

¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÏ¸é ¾ÆÆÄÄ¡´Â ÄÄÇ»ÅÍÀÇ ¾î¶² Æ÷Æ®¿Í ÁÖ¼Ò¿¡ + ¿¬°áÇÏ¿©, µé¾î¿À´Â ¿äûÀ» ±â´Ù¸°´Ù. ±âº»ÀûÀ¸·Î ¾ÆÆÄÄ¡´Â + ÄÄÇ»ÅÍÀÇ ¸ðµç ÁÖ¼Ò¿¡¼­ ±â´Ù¸°´Ù. ±×·¯³ª ¾ÆÆÄÄ¡°¡ ƯÁ¤ Æ÷Æ®³ª + ¼±ÅÃÇÑ ÁÖ¼Ò¸¸À» ±â´Ù¸®°Ô ÇؾßÇÒ °æ¿ì°¡ ÀÖ´Ù. ¶Ç ÀÌ ¹®Á¦´Â + ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô ´Ù¸¥ IP ÁÖ¼Ò, È£½ºÆ®¸í, Æ÷Æ®¿¡ ¹ÝÀÀÇÒÁö¸¦ + °áÁ¤ÇÏ´Â °¡»óÈ£½ºÆ® ±â´É°úµµ °ü·ÃµÇÀÖ´Ù.

+ +

Listen Áö½Ã¾î´Â + ¼­¹ö°¡ ƯÁ¤ Æ÷Æ®³ª ÁÖ¼Ò¿Í Æ÷Æ® Á¶ÇÕ¿¡¼­¸¸ ¿äûÀ» ¹Þ°Ô + ÇÑ´Ù. Listen + Áö½Ã¾î¿¡ Æ÷Æ® ¹øÈ£¸¸ ÁöÁ¤Çϸé, ¼­¹ö´Â ¸ðµç ÀÎÅÍÆäÀ̽º¿¡¼­ + ÁöÁ¤ÇÑ Æ÷Æ®¸¦ ±â´Ù¸°´Ù. ¿©·¯ Listen Áö½Ã¾î·Î ±â´Ù¸± ¿©·¯ + ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù. ¼­¹ö´Â ¿­°ÅÇÑ ÁÖ¼Ò¿Í Æ÷Æ®·Î + ¿äûÀÌ µé¾î¿À¸é ÀÀ´äÇÑ´Ù.

+ +

¿¹¸¦ µé¾î, ¼­¹ö°¡ 80¹ø°ú 8000¹ø Æ÷Æ® ¸ðµÎ¿¡¼­ ¿¬°áÀ» + ¹Þµµ·Ï ÇÏ·Á¸é:

+ +

+ Listen 80
+ Listen 8000 +

+ +

¼­¹ö°¡ ÁöÁ¤ÇÑ µÎ ÀÎÅÍÆäÀ̽º¿Í Æ÷Æ®¿¡¼­ ¿¬°áÀ» ±â´Ù¸®µµ·Ï + ÇÏ·Á¸é,

+ +

+ Listen 192.0.2.1:80
+ Listen 192.0.2.5:8000 +

+ +

IPv6 ÁÖ¼Ò´Â ´ÙÀ½°ú °°ÀÌ ´ë°ýÈ£·Î ¹­¾î¾ß ÇÑ´Ù:

+ +

+ Listen [2001:db8::a00:20ff:fea7:ccea]:80 +

+
top
+
+

IPv6¿¡¼­ Ưº°È÷ °í·ÁÇÒ Á¡

+ + +

IPv6¸¦ ±¸ÇöÇÑ Ç÷¡ÆûÀÌ ´Ã°í ÀÖ°í APRÀÌ À̵é Ç÷¡Æû ´ëºÎºÐ¿¡¼­ + IPv6¸¦ Áö¿øÇϱ⶧¹®¿¡, ¾ÆÆÄÄ¡´Â IPv6 ¼ÒÄÏÀ» ÇÒ´çÇÏ¿© IPv6·Î + ¹ÞÀº ¿äûÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù.

+ +

¾ÆÆÄÄ¡ °ü¸®ÀÚ¿¡°Ô º¹ÀâÇÑ ºÎºÐÀº IPv6 ¼ÒÄÏÀÌ IPv4 ¿¬°á°ú + IPv6 ¿¬°áÀ» ¸ðµÎ ó¸®ÇÒ ¼ö ÀÖ´À³Ä´Â Á¡ÀÌ´Ù. ´ëºÎºÐÀÇ Ç÷¡Æû¿¡¼­´Â + IPv4-´ëÀÀ(mapped) IPv6 ÁÖ¼Ò¸¦ »ç¿ëÇÏ¿© IPv6 ¼ÒÄÏ¿¡¼­ IPv4 + ¿¬°áÀ» ¹ÞÁö¸¸, FreeBSD¿Í NetBSD¿Í OpenBSDÀº ½Ã½ºÅÛÀüü Á¤Ã¥¶§¹®¿¡ + ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö¾Ê´Â + ½Ã½ºÅÛÀÌ¶óµµ ¾ÆÆÄÄ¡¸¦ À§ÇØ Æ¯º°ÇÑ ¼³Á¤ ÆĶó¹ÌÅÍ·Î º¯°æÇÒ + ¼ö ÀÖ´Ù.

+ +

¹Ý¸é ¸®´ª½º¿Í Tru64 °°Àº ÀϺΠÇ÷¡Æû¿¡¼­ IPv4¿Í IPv6À» + ¸ðµÎ ó¸®ÇÏ·Á¸é ´ëÀÀ ÁÖ¼Ò¸¦ »ç¿ëÇؾ߸¸ + ÇÑ´Ù. ¾ÆÆÄÄ¡°¡ ÃÖ¼ÒÇÑÀÇ ¼ÒÄÏÀ» »ç¿ëÇÏ¿© IPv4 ¿¬°á°ú IPv6 + ¿¬°áÀ» ¸ðµÎ ¹Þµµ·ÏÇÏ·Á¸é, IPv4-´ëÀÀ IPv6 ÁÖ¼Ò¸¦ »ç¿ëÇÏ°í + configure ¿É¼Ç + --enable-v4-mapped¸¦ ÁöÁ¤ÇÑ´Ù.

+ +

--enable-v4-mapped´Â FreeBSD, NetBSD, OpenBSD¸¦ + Á¦¿ÜÇÑ ¸ðµç Ç÷¡Æû¿¡¼­ ±âº»°ªÀÌ°í, ¾Æ¸¶µµ ´ç½ÅÀÇ ¾ÆÆÄÄ¡µµ + ¸¶Âù°¡ÁöÀÏ °ÍÀÌ´Ù.

+ +

Ç÷¡Æû°ú APRÀÇ Áö¿ø¿©ºÎ¿Í °ü°è¾øÀÌ ¾ÆÆÄÄ¡°¡ IPv4 ¿¬°á¸¸À» + ¹Þµµ·ÏÇÏ·Á¸é, ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ¸ðµç Listen Áö½Ã¾î¿¡ IPv4 ÁÖ¼Ò¸¦ + »ç¿ëÇÑ´Ù:

+ +

+ Listen 0.0.0.0:80
+ Listen 192.0.2.1:80 +

+ +

Ç÷¡Æû¿¡¼­ Áö¿øÇÏ¸ç ¾ÆÆÄÄ¡°¡ ¼­·Î ´Ù¸¥ ¼ÒÄÏÀ¸·Î IPv4 + ¿¬°á°ú IPv6 ¿¬°áÀ» ¹Þµµ·ÏÇÏ·Á¸é (Áï IPv4-´ëÀÀ ÁÖ¼Ò¸¦ »ç¿ëÇÏÁö + ¾ÊÀ¸·Á¸é), configure + ¿É¼Ç --disable-v4-mapped¸¦ + ÁöÁ¤ÇÑ´Ù. --disable-v4-mapped´Â FreeBSD, NetBSD, + OpenBSD¿¡¼­ ±âº»°ªÀÌ´Ù.

+ +
top
+
+

°¡»óÈ£½ºÆ®¿Í ¾î¶»°Ô ¿¬°üµÇ³ª

+ + +

ListenÀº + °¡»óÈ£½ºÆ®¸¦ ¸¸µéÁö ¾Ê´Â´Ù. ÀÌ´Â ´ÜÁö ÁÖ¼­¹ö°¡ + ¾î¶² ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ±â´Ù¸±Áö¸¸ ¾Ë·ÁÁØ´Ù. <VirtualHost> Áö½Ã¾î¸¦ + »ç¿ëÇÏÁö ¾ÊÀ¸¸é, ¼­¹ö´Â ¹ÞÀº ¸ðµç ¿äûÀ» ¶È°°ÀÌ Ã³¸®ÇÑ´Ù. + ±×·¯³ª <VirtualHost>·Î ¿©·¯ ÁÖ¼Ò¿Í Æ÷Æ®¿¡ + ´ëÇØ ´Ù¸¥ ÇൿÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. °¡»óÈ£½ºÆ®¸¦ ¸¸µé·Á¸é + ¸ÕÀú ¼­¹ö¿¡°Ô »ç¿ëÇÒ ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ¾Ë·ÁÁà¾ß ÇÑ´Ù. ±×¸®°í + ƯÁ¤ ÁÖ¼Ò¿Í Æ÷Æ®¿¡ ´ëÇÑ °¡»óÈ£½ºÆ®ÀÇ ÇൿÀ» ÁöÁ¤ÇÒ + <VirtualHost> + ¼½¼ÇÀÌ ÇÊ¿äÇÏ´Ù. ÁÖ¼­¹ö°¡ ±â´Ù¸®Áö¾Ê´Â ÁÖ¼Ò¿Í Æ÷Æ®¸¦ »ç¿ëÇÏ´Â + <VirtualHost>´Â + Á¢±ÙÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/bind.html.tr.utf8 b/docs/manual/bind.html.tr.utf8 new file mode 100644 index 0000000..ab535ae --- /dev/null +++ b/docs/manual/bind.html.tr.utf8 @@ -0,0 +1,244 @@ + + + + + +Adresleri ve Portları Dinleme - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Adresleri ve Portları Dinleme

+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Apache HTTPD sunucusunun belli adresleri ve portları dinlemek üzere + yapılandırılması.

+
+ +
top
+
+

Genel Bakış

+ + + + + +

httpd başlatıldığında yerel makinedeki bazı adres ve portları kendine + bağlar ve gelecek istekleri bekler. Öntanımlı olarak makine üzerindeki + tüm adresleri dinler. Bununla birlikte, belli portları veya sadece + seçilmiş bazı adresleri ya da her ikisini de dinlemesi için bunun + belirtilmesi gerekebilir. Bu çoğunlukla, httpd’nin farklı IP + adreslerine, konak isimlerine ve portlarına nasıl yanıt vereceğinin + belirlendiği sanal konak özelliği ile birlikte + yürür.

+ +

Listen yönergesi sunucuya + gelen istekleri sadece belli port(lar)dan veya belli adres ve port + birleşimlerinden kabul etmesini söyler. Listen yönergesinde sadece port + numarası belirtilmişse sunucu tüm arabirimlerin belirtilen portunu + dinleyecektir. Portla birlikte bir IP adresi de belirtilmişse sunucu + belirtilen portu ve arabirimi dinleyecektir. Çok sayıda adres ve portu + dinlemek için çok sayıda Listen yönergesi kullanılabilir. Sunucu + böyle bir durumda belirtilen bütün adres ve portlardan gelen isteklere + yanıt verecektir.

+ +

Örneğin, sunucunun hem 80 portundan hem de 8000 portundan gelen + bağlantıları kabul etmesini sağlamak için,

+ +
Listen 80
+Listen 8000
+
+ +

yapılandırmasını kullanabilirsiniz. Sunucunun 80 portuna gelen + bağlantıları bir arabirimden 8000 portuna gelenleri ise başka bir + arabirimden kabul etmesini sağlamak için ise,

+ +
Listen 192.0.2.1:80
+Listen 192.0.2.5:8000
+
+ +

yapılandırmasını kullanabilirsiniz. IPv6 adresleri aşağıdaki örnekteki + gibi köşeli ayraçlar içine alınarak belirtilmelidir:

+ +
Listen [2001:db8::a00:20ff:fea7:ccea]:80
+
+ +
+

Bir Listen yönergesinin + aynısının tekrarı sunucunun başlatılmasını engelleyen ölümcül bir hatayla + sonuçlanacaktır.

+ +

+ (48)Address already in use: make_sock: could not bind to address [::]:80 +

+ +

Sorun giderme ile ilgili ipuçları için + wiki + belgesine bakınız.

+
+ +
top
+
+

Dinleme yapılandırmasının yeniden başlatırken değiştirilmesi

+ + +

httpd yeniden başlatılırken, + Listen yönergelerindeki + değişiklikler için özel değerlendirmeler yapılmalıdır. Yeniden başlatma + sırasında, httpd, yeni bağlanma çabalarında "Connection refused" (bağlantı + reddedildi) hatasından kaçınmak için [özgün yapılandırmadaki gibi] portları + bağlı tutar. Bu bakımdan, Listen + yönergelerinden yapılan değişiklikler yenden başlatılrken yapılandırmanın + başarısız olmasına ve sunucunun sonlanmasına sebep olur.

+ +

Örneğin:

+ +
Listen 127.0.0.1:80
+
+ +

yapılandırmasını aşağıdakiyle değiştirmek yenden başlatma sırasında + sucunun hta verip sonlanmasına sebep olur. Çünkü, tüm adreslerden 80 porta + bağlanmak sadece 127.0.0.1 adresine bağlanmakla çelişir.

+ +
Listen 80
+
+ +

Böyle değişikliklerin etkili olabilmesi için sunucu önce durdurulmalı + sonra başlatımalıdır (restart yerine stop ve start kullanılmalıdır).

+ +
top
+
+

IPv6 Adreslerin Durumu

+ + +

IPv6’yı gerçekleyen platformların sayısı giderek artmaktadır. Bu + platformların çoğunda APR, httpd’nin IPv6 + soketleri ayırmasını mümkün kılarak IPv6’yı desteklemekte ve IPv6 + üzerinden gönderilmiş istekleri elde etmektedir.

+ +

httpd yöneticilerinin kafasını karıştırıran tek şey IPv6 soketlerin + hem IPv4 hem de IPv6 bağlantılarını kabul edip etmeyeceğidir. IPv4 + bağlantılarını kabul eden IPv6 soketleri IPv4 eşlemli IPv6 adresleri + kullanırlar. Bu çoğu sistemde öntanımlı olarak böyleyken, FreeBSD, + NetBSD ve OpenBSD’de sistem geneline uygulanan kurallar gereğince + öntanımlı olarak buna izin verilmez; bu sistemlerde özel bir + configure parametresi ile httpd’nin + davranışı değiştirilebilir.

+ +

Diğer taraftan, Linux ve Tru64 gibi bazı platformlarda hem IPv4 hem de + IPv6 adresleri kabul etmenin tek yolu eşlemli adresler + kullanmaktır. httpd’nin IPv4 ve IPv6 adresleri, IPv4 eşlemli + IPv6 adreslerin kullanımını gerektiren en az sayıda soketle kabul etmesini + istiyorsanız, configure betiğine + --enable-v4-mapped seçeneğini belirtiniz.

+ +

--enable-v4-mapped seçeneği, FreeBSD, NetBSD ve OpenBSD + hariç tüm platformlarda öntanımlıdır. Muhtemelen siz de + httpd’nin böyle derlenmesini isterdiniz.

+ +

Platformunuzun ve APR’nin neyi desteklediğine bakmaksızın + httpd’nin sadece IPv4 adresleri kabul etmesini istiyorsanız, + tüm Listen yönergelerinde + örnekteki gibi IPv4 adresleri belirtiniz:

+ +
Listen 0.0.0.0:80
+Listen 192.0.2.1:80
+
+ +

Platformunuz IPv4 ve IPv6 adresleri ayrı soketlerden kabul ediyorsa ve + httpd’nin de buna uygun davranmasını (yani IPv4 eşlemli IPv6 + adreslerin iptalini) istiyorsanız configure + betiğine --disable-v4-mapped seçeneğini belirtiniz. Bu + seçenek FreeBSD, NetBSD ve OpenBSD’de öntanımlıdır.

+
top
+
+

Protokolü Listen ile Belirtme

+ +

Listen yönergesinin isteğe + bağlı ikinci değiştirgesi protokol çoğu yapılandırmada gerekli + olmaz. Belirtilmediği takdirde, https için 443, + http için ise diğer bütün portlar öntanımlıdır. Protokol, + isteğin hangi modül tarafından işleneceğini ve AcceptFilter yönergesi ile uygulanacak + protokole özgü en iyilemeleri belirlemekte kullanılır.

+ +

Sadece standartdışı bir port kullanmak isterseniz protokolü belirtmeniz + gerekir. Örneğin, birhttps sitesini port 8443 üzerinde + çalıştırmak isterseniz:

+ +
Listen 192.170.2.1:8443 https
+
+
top
+
+

Sanal Konaklarla Nasıl Çalışır?

+ + +

Listen yönergesi sanal + konaklar için gerçeklenmemiştir; sadece ana sunucuya hangi adresleri ve + portları dinleyeceğini söyler. Hiç <VirtualHost> yönergesi kullanılmamışsa sunucu + kabul edilen tüm isteklere aynı şekilde davranacaktır. Eğer bir veya + daha fazla adres ve port için farklı bir davranış belirtmek + istiyorsanız <VirtualHost> kullanabilirsiniz. Bir sanal + konağı gerçeklemek için önce sunucunun sanal konak için kullanacağı + adres ve portu dinleyeceğini belirtmek gerekir. Bundan sonra bu sanal + konağın davranışını ayarlamak üzere belirtilen adres ve port için bir + <VirtualHost> bölümü + oluşturulmalıdır. Yalnız dikkat edin, eğer <VirtualHost> için belirtilen adres ve port + sunucu tarafından dinlenmiyorsa ona erişemezsiniz.

+
+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/caching.html b/docs/manual/caching.html new file mode 100644 index 0000000..72dfd5b --- /dev/null +++ b/docs/manual/caching.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: caching.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: caching.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: caching.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/caching.html.en b/docs/manual/caching.html.en new file mode 100644 index 0000000..e40da2c --- /dev/null +++ b/docs/manual/caching.html.en @@ -0,0 +1,908 @@ + + + + + +Caching Guide - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Caching Guide

+
+

Available Languages:  en  | + fr  | + tr 

+
+ +

This document supplements the mod_cache, + mod_cache_disk, mod_file_cache and htcacheclean reference documentation. + It describes how to use the Apache HTTP Server's caching features to accelerate web and + proxy serving, while avoiding common problems and misconfigurations.

+
+ +
top
+
+

Introduction

+ + +

The Apache HTTP server offers a range of caching features that + are designed to improve the performance of the server in various + ways.

+ +
+
Three-state RFC2616 HTTP caching
+
+ mod_cache + and its provider modules + mod_cache_disk + provide intelligent, HTTP-aware caching. The content itself is stored + in the cache, and mod_cache aims to honor all of the various HTTP + headers and options that control the cacheability of content + as described in + Section + 13 of RFC2616. + mod_cache + is aimed at both simple and complex caching configurations, where + you are dealing with proxied content, dynamic local content or + have a need to speed up access to local files on a potentially + slow disk. +
+ +
Two-state key/value shared object caching
+
+ The shared object cache API (socache) + and its provider modules provide a + server wide key/value based shared object cache. These modules + are designed to cache low level data such as SSL sessions and + authentication credentials. Backends allow the data to be stored + server wide in shared memory, or datacenter wide in a cache such + as memcache or distcache. +
+ +
Specialized file caching
+
+ mod_file_cache + offers the ability to pre-load + files into memory on server startup, and can improve access + times and save file handles on files that are accessed often, + as there is no need to go to disk on each request. +
+
+ +

To get the most from this document, you should be familiar with + the basics of HTTP, and have read the Users' Guides to + Mapping URLs to the Filesystem and + Content negotiation.

+ +
top
+
+

Three-state RFC2616 HTTP caching

+ + + + + +

The HTTP protocol contains built in support for an in-line caching + mechanism + + described by section 13 of RFC2616, and the + mod_cache module can be used to take advantage of + this.

+ +

Unlike a simple two state key/value cache where the content + disappears completely when no longer fresh, an HTTP cache includes + a mechanism to retain stale content, and to ask the origin server + whether this stale content has changed and if not, make it fresh + again.

+ +

An entry in an HTTP cache exists in one of three states:

+ +
+
Fresh
+
+ If the content is new enough (younger than its freshness + lifetime), it is considered fresh. An + HTTP cache is free to serve fresh content without making any + calls to the origin server at all. +
+
Stale
+
+

If the content is too old (older than its freshness + lifetime), it is considered stale. An + HTTP cache should contact the origin server and check whether + the content is still fresh before serving stale content to a + client. The origin server will either respond with replacement + content if not still valid, or ideally, the origin server will + respond with a code to tell the cache the content is still + fresh, without the need to generate or send the content again. + The content becomes fresh again and the cycle continues.

+ +

The HTTP protocol does allow the cache to serve stale data + under certain circumstances, such as when an attempt to freshen + the data with an origin server has failed with a 5xx error, or + when another request is already in the process of freshening + the given entry. In these cases a Warning header + is added to the response.

+
+
Non Existent
+
+ If the cache gets full, it reserves the option to delete content + from the cache to make space. Content can be deleted at any time, + and can be stale or fresh. The htcacheclean tool can be + run on a once off basis, or deployed as a daemon to keep the size + of the cache within the given size, or the given number of inodes. + The tool attempts to delete stale content before attempting to + delete fresh content. +
+
+ +

Full details of how HTTP caching works can be found in + + Section 13 of RFC2616.

+ +

Interaction with the Server

+ + +

The mod_cache module hooks into the server in two + possible places depending on the value of the + CacheQuickHandler directive: +

+ +
+
Quick handler phase
+
+

This phase happens very early on during the request processing, + just after the request has been parsed. If the content is + found within the cache, it is served immediately and almost + all request processing is bypassed.

+ +

In this scenario, the cache behaves as if it has been "bolted + on" to the front of the server.

+ +

This mode offers the best performance, as the majority of + server processing is bypassed. This mode however also bypasses the + authentication and authorization phases of server processing, so + this mode should be chosen with care when this is important.

+ +

Requests with an "Authorization" header (for example, HTTP Basic + Authentication) are neither cacheable nor served from the cache + when mod_cache is running in this phase.

+
+
Normal handler phase
+
+

This phase happens late in the request processing, after all + the request phases have completed.

+ +

In this scenario, the cache behaves as if it has been "bolted + on" to the back of the server.

+ +

This mode offers the most flexibility, as the potential exists + for caching to occur at a precisely controlled point in the filter + chain, and cached content can be filtered or personalized before + being sent to the client.

+
+
+ +

If the URL is not found within the cache, mod_cache + will add a filter to the filter stack in order + to record the response to the cache, and then stand down, allowing normal + request processing to continue. If the content is determined to be + cacheable, the content will be saved to the cache for future serving, + otherwise the content will be ignored.

+ +

If the content found within the cache is stale, the + mod_cache module converts the request into a + conditional request. If the origin server responds with + a normal response, the normal response is cached, replacing the content + already cached. If the origin server responds with a 304 Not Modified + response, the content is marked as fresh again, and the cached content + is served by the filter instead of saving it.

+ + +

Improving Cache Hits

+ + +

When a virtual host is known by one of many different server aliases, + ensuring that UseCanonicalName is + set to On can dramatically improve the ratio of cache hits. + This is because the hostname of the virtual-host serving the content is + used within the cache key. With the setting set to On + virtual-hosts with multiple server names or aliases will not produce + differently cached entities, and instead content will be cached as + per the canonical hostname.

+ + + +

Freshness Lifetime

+ + +

Well formed content that is intended to be cached should declare an + explicit freshness lifetime with the Cache-Control + header's max-age or s-maxage fields, or + by including an Expires header.

+ +

At the same time, the origin server defined freshness lifetime can + be overridden by a client when the client presents their own + Cache-Control header within the request. In this case, + the lowest freshness lifetime between request and response wins.

+ +

When this freshness lifetime is missing from the request or the + response, a default freshness lifetime is applied. The default + freshness lifetime for cached entities is one hour, however + this can be easily over-ridden by using the CacheDefaultExpire directive.

+ +

If a response does not include an Expires header but does + include a Last-Modified header, mod_cache + can infer a freshness lifetime based on a heuristic, which can be + controlled through the use of the CacheLastModifiedFactor directive.

+ +

For local content, or for remote content that does not define its own + Expires header, mod_expires may be used to + fine-tune the freshness lifetime by adding max-age and + Expires.

+ +

The maximum freshness lifetime may also be controlled by using the + CacheMaxExpire.

+ + + +

A Brief Guide to Conditional Requests

+ + +

When content expires from the cache and becomes stale, rather than + pass on the original request, httpd will modify the request to make + it conditional instead.

+ +

When an ETag header exists in the original cached + response, mod_cache will add an + If-None-Match header to the request to the origin server. + When a Last-Modified header exists in the original + cached response, mod_cache will add an + If-Modified-Since header to the request to the origin + server. Performing either of these actions makes the request + conditional.

+ +

When a conditional request is received by an origin server, the + origin server should check whether the ETag or the Last-Modified + parameter has changed, as appropriate for the request. If not, the + origin should respond with a terse "304 Not Modified" response. This + signals to the cache that the stale content is still fresh should be + used for subsequent requests until the content's new freshness lifetime + is reached again.

+ +

If the content has changed, then the content is served as if the + request were not conditional to begin with.

+ +

Conditional requests offer two benefits. Firstly, when making such + a request to the origin server, if the content from the origin + matches the content in the cache, this can be determined easily and + without the overhead of transferring the entire resource.

+ +

Secondly, a well designed origin server will be designed in such + a way that conditional requests will be significantly cheaper to + produce than a full response. For static files, typically all that is + involved is a call to stat() or similar system call, to + see if the file has changed in size or modification time. As such, even + local content may still be served faster from the cache if it has not + changed.

+ +

Origin servers should make every effort to support conditional + requests as is practical, however if conditional requests are not + supported, the origin will respond as if the request was not + conditional, and the cache will respond as if the content had changed + and save the new content to the cache. In this case, the cache will + behave like a simple two state cache, where content is effectively + either fresh or deleted.

+ + +

What Can be Cached?

+ + +

The full definition of which responses can be cached by an HTTP + cache is defined in + + RFC2616 Section 13.4 Response Cacheability, and can be summed up as + follows:

+ +
    +
  1. Caching must be enabled for this URL. See the CacheEnable and CacheDisable directives.
  2. + +
  3. If the response has an HTTP status code other than 200, 203, 300, + 301 or 410 it must also specify an "Expires" or "Cache-Control" header. +
  4. + +
  5. The request must be a HTTP GET request.
  6. + +
  7. If the response contains an "Authorization:" header, it must + also contain an "s-maxage", "must-revalidate" or "public" option + in the "Cache-Control:" header, or it won't be cached.
  8. + +
  9. If the URL included a query string (e.g. from a HTML form GET + method) it will not be cached unless the response specifies an + explicit expiration by including an "Expires:" header or the max-age + or s-maxage directive of the "Cache-Control:" header, as per RFC2616 + sections 13.9 and 13.2.1.
  10. + +
  11. If the response has a status of 200 (OK), the response must + also include at least one of the "Etag", "Last-Modified" or + the "Expires" headers, or the max-age or s-maxage directive of + the "Cache-Control:" header, unless the + CacheIgnoreNoLastMod + directive has been used to require otherwise.
  12. + +
  13. If the response includes the "private" option in a "Cache-Control:" + header, it will not be stored unless the + CacheStorePrivate has been + used to require otherwise.
  14. + +
  15. Likewise, if the response includes the "no-store" option in a + "Cache-Control:" header, it will not be stored unless the + CacheStoreNoStore has been + used.
  16. + +
  17. A response will not be stored if it includes a "Vary:" header + containing the match-all "*".
  18. +
+ + +

What Should Not be Cached?

+ + +

It should be up to the client creating the request, or the origin + server constructing the response to decide whether or not the content + should be cacheable or not by correctly setting the + Cache-Control header, and mod_cache should + be left alone to honor the wishes of the client or server as appropriate. +

+ +

Content that is time sensitive, or which varies depending on the + particulars of the request that are not covered by HTTP negotiation, + should not be cached. This content should declare itself uncacheable + using the Cache-Control header.

+ +

If content changes often, expressed by a freshness lifetime of minutes + or seconds, the content can still be cached, however it is highly + desirable that the origin server supports + conditional requests correctly to ensure that + full responses do not have to be generated on a regular basis.

+ +

Content that varies based on client provided request headers can be + cached through intelligent use of the Vary response + header.

+ + + +

Variable/Negotiated Content

+ + +

When the origin server is designed to respond with different content + based on the value of headers in the request, for example to serve + multiple languages at the same URL, HTTP's caching mechanism makes it + possible to cache multiple variants of the same page at the same URL.

+ +

This is done by the origin server adding a Vary header + to indicate which headers must be taken into account by a cache when + determining whether two variants are different from one another.

+ +

If for example, a response is received with a vary header such as;

+ +

+Vary: negotiate,accept-language,accept-charset +

+ +

mod_cache will only serve the cached content to + requesters with accept-language and accept-charset headers + matching those of the original request.

+ +

Multiple variants of the content can be cached side by side, + mod_cache uses the Vary header and the + corresponding values of the request headers listed by Vary + to decide on which of many variants to return to the client.

+ + +
top
+
+

Cache Setup Examples

+ + + + + +

Caching to Disk

+ + +

The mod_cache module relies on specific backend store + implementations in order to manage the cache, and for caching to disk + mod_cache_disk is provided to support this.

+ +

Typically the module will be configured as so;

+ +
CacheRoot   "/var/cache/apache/"
+CacheEnable disk /
+CacheDirLevels 2
+CacheDirLength 1
+ + +

Importantly, as the cached files are locally stored, operating system + in-memory caching will typically be applied to their access also. So + although the files are stored on disk, if they are frequently accessed + it is likely the operating system will ensure that they are actually + served from memory.

+ + + +

Understanding the Cache-Store

+ + +

To store items in the cache, mod_cache_disk creates + a 22 character hash of the URL being requested. This hash incorporates + the hostname, protocol, port, path and any CGI arguments to the URL, + as well as elements defined by the Vary header to ensure that multiple + URLs do not collide with one another.

+ +

Each character may be any one of 64-different characters, which mean + that overall there are 64^22 possible hashes. For example, a URL might + be hashed to xyTGxSMO2b68mBCykqkp1w. This hash is used + as a prefix for the naming of the files specific to that URL within + the cache, however first it is split up into directories as per + the CacheDirLevels and + CacheDirLength + directives.

+ +

CacheDirLevels + specifies how many levels of subdirectory there should be, and + CacheDirLength + specifies how many characters should be in each directory. With + the example settings given above, the hash would be turned into + a filename prefix as + /var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w.

+ +

The overall aim of this technique is to reduce the number of + subdirectories or files that may be in a particular directory, + as most file-systems slow down as this number increases. With + setting of "1" for + CacheDirLength + there can at most be 64 subdirectories at any particular level. + With a setting of 2 there can be 64 * 64 subdirectories, and so on. + Unless you have a good reason not to, using a setting of "1" + for CacheDirLength + is recommended.

+ +

Setting + CacheDirLevels + depends on how many files you anticipate to store in the cache. + With the setting of "2" used in the above example, a grand + total of 4096 subdirectories can ultimately be created. With + 1 million files cached, this works out at roughly 245 cached + URLs per directory.

+ +

Each URL uses at least two files in the cache-store. Typically + there is a ".header" file, which includes meta-information about + the URL, such as when it is due to expire and a ".data" file + which is a verbatim copy of the content to be served.

+ +

In the case of a content negotiated via the "Vary" header, a + ".vary" directory will be created for the URL in question. This + directory will have multiple ".data" files corresponding to the + differently negotiated content.

+ + +

Maintaining the Disk Cache

+ + +

The mod_cache_disk module makes no attempt to + regulate the amount of disk space used by the cache, although it + will gracefully stand down on any disk error and behave as if the + cache was never present.

+ +

Instead, provided with httpd is the htcacheclean tool which allows you + to clean the cache periodically. Determining how frequently to run htcacheclean and what target size to + use for the cache is somewhat complex and trial and error may be needed to + select optimal values.

+ +

htcacheclean has two modes of + operation. It can be run as persistent daemon, or periodically from + cron. htcacheclean can take up to an hour + or more to process very large (tens of gigabytes) caches and if you are + running it from cron it is recommended that you determine how long a typical + run takes, to avoid running more than one instance at a time.

+ +

It is also recommended that an appropriate "nice" level is chosen for + htcacheclean so that the tool does not cause excessive disk io while the + server is running.

+ +

+
+ Figure 1: Typical + cache growth / clean sequence.

+ +

Because mod_cache_disk does not itself pay attention + to how much space is used you should ensure that + htcacheclean is configured to + leave enough "grow room" following a clean.

+ + +

Caching to memcached

+ + +

Using the mod_cache_socache module, mod_cache + can cache data from a variety of implementations (aka: "providers"). Using the + mod_socache_memcache module, for example, one can specify that + memcached is to be used as the + the backend storage mechanism.

+ +

Typically the module will be configured as so:

+ +
CacheEnable socache /
+CacheSocache memcache:memcd.example.com:11211
+ + +

Additional memcached servers can be specified by + appending them to the end of the CacheSocache memcache: + line separated by commas:

+ +
CacheEnable socache /
+CacheSocache memcache:mem1.example.com:11211,mem2.example.com:11212
+ + +

This format is also used with the other various mod_cache_socache + providers. For example:

+ +
CacheEnable socache /
+CacheSocache shmcb:/path/to/datafile(512000)
+ + +
CacheEnable socache /
+CacheSocache dbm:/path/to/datafile
+ + + + +
top
+
+

General Two-state Key/Value Shared Object Caching

+ + + + + +

The Apache HTTP server offers a low level shared object cache for + caching information such as SSL sessions, or authentication credentials, + within the socache interface.

+ +

Additional modules are provided for each implementation, offering the + following backends:

+ +
+
mod_socache_dbm
+
DBM based shared object cache.
+
mod_socache_dc
+
Distcache based shared object cache.
+
mod_socache_memcache
+
Memcache based shared object cache.
+
mod_socache_shmcb
+
Shared memory based shared object cache.
+
+ +

Caching Authentication Credentials

+ + + + +

The mod_authn_socache module allows the result of + authentication to be cached, relieving load on authentication backends.

+ + + +

Caching SSL Sessions

+ + + + +

The mod_ssl module uses the socache interface + to provide a session cache and a stapling cache.

+ + + +
top
+
+

Specialized File Caching

+ + + + + +

On platforms where a filesystem might be slow, or where file + handles are expensive, the option exists to pre-load files into + memory on startup.

+ +

On systems where opening files is slow, the option exists to + open the file on startup and cache the file handle. These + options can help on systems where access to static files is + slow.

+ +

File-Handle Caching

+ + +

The act of opening a file can itself be a source of delay, particularly + on network filesystems. By maintaining a cache of open file descriptors + for commonly served files, httpd can avoid this delay. Currently httpd + provides one implementation of File-Handle Caching.

+ +

CacheFile

+ + +

The most basic form of caching present in httpd is the file-handle + caching provided by mod_file_cache. Rather than caching + file-contents, this cache maintains a table of open file descriptors. Files + to be cached in this manner are specified in the configuration file using + the CacheFile + directive.

+ +

The + CacheFile directive + instructs httpd to open the file when it is started and to re-use + this file-handle for all subsequent access to this file.

+ +
CacheFile /usr/local/apache2/htdocs/index.html
+ + +

If you intend to cache a large number of files in this manner, you + must ensure that your operating system's limit for the number of open + files is set appropriately.

+ +

Although using CacheFile + does not cause the file-contents to be cached per-se, it does mean + that if the file changes while httpd is running these changes will + not be picked up. The file will be consistently served as it was + when httpd was started.

+ +

If the file is removed while httpd is running, it will continue + to maintain an open file descriptor and serve the file as it was when + httpd was started. This usually also means that although the file + will have been deleted, and not show up on the filesystem, extra free + space will not be recovered until httpd is stopped and the file + descriptor closed.

+ + + + +

In-Memory Caching

+ + +

Serving directly from system memory is universally the fastest method + of serving content. Reading files from a disk controller or, even worse, + from a remote network is orders of magnitude slower. Disk controllers + usually involve physical processes, and network access is limited by + your available bandwidth. Memory access on the other hand can take mere + nano-seconds.

+ +

System memory isn't cheap though, byte for byte it's by far the most + expensive type of storage and it's important to ensure that it is used + efficiently. By caching files in memory you decrease the amount of + memory available on the system. As we'll see, in the case of operating + system caching, this is not so much of an issue, but when using + httpd's own in-memory caching it is important to make sure that you + do not allocate too much memory to a cache. Otherwise the system + will be forced to swap out memory, which will likely degrade + performance.

+ +

Operating System Caching

+ + +

Almost all modern operating systems cache file-data in memory managed + directly by the kernel. This is a powerful feature, and for the most + part operating systems get it right. For example, on Linux, let's look at + the difference in the time it takes to read a file for the first time + and the second time;

+ +
colm@coroebus:~$ time cat testfile > /dev/null
+real    0m0.065s
+user    0m0.000s
+sys     0m0.001s
+colm@coroebus:~$ time cat testfile > /dev/null
+real    0m0.003s
+user    0m0.003s
+sys     0m0.000s
+ +

Even for this small file, there is a huge difference in the amount + of time it takes to read the file. This is because the kernel has cached + the file contents in memory.

+ +

By ensuring there is "spare" memory on your system, you can ensure + that more and more file-contents will be stored in this cache. This + can be a very efficient means of in-memory caching, and involves no + extra configuration of httpd at all.

+ +

Additionally, because the operating system knows when files are + deleted or modified, it can automatically remove file contents from the + cache when necessary. This is a big advantage over httpd's in-memory + caching which has no way of knowing when a file has changed.

+ + +

Despite the performance and advantages of automatic operating system + caching there are some circumstances in which in-memory caching may be + better performed by httpd.

+ +

MMapFile Caching

+ + +

mod_file_cache provides the + MMapFile directive, which + allows you to have httpd map a static file's contents into memory at + start time (using the mmap system call). httpd will use the in-memory + contents for all subsequent accesses to this file.

+ +
MMapFile /usr/local/apache2/htdocs/index.html
+ + +

As with the + CacheFile directive, any + changes in these files will not be picked up by httpd after it has + started.

+ +

The MMapFile + directive does not keep track of how much memory it allocates, so + you must ensure not to over-use the directive. Each httpd child + process will replicate this memory, so it is critically important + to ensure that the files mapped are not so large as to cause the + system to swap memory.

+ + + +
top
+
+

Security Considerations

+ + +

Authorization and Access Control

+ + +

Using mod_cache in its default state where + CacheQuickHandler is set to + On is very much like having a caching reverse-proxy bolted + to the front of the server. Requests will be served by the caching module + unless it determines that the origin server should be queried just as an + external cache would, and this drastically changes the security model of + httpd.

+ +

As traversing a filesystem hierarchy to examine potential + .htaccess files would be a very expensive operation, + partially defeating the point of caching (to speed up requests), + mod_cache makes no decision about whether a cached + entity is authorised for serving. In other words; if + mod_cache has cached some content, it will be served + from the cache as long as that content has not expired.

+ +

If, for example, your configuration permits access to a resource by IP + address you should ensure that this content is not cached. You can do this + by using the CacheDisable + directive, or mod_expires. Left unchecked, + mod_cache - very much like a reverse proxy - would cache + the content when served and then serve it to any client, on any IP + address.

+ +

When the CacheQuickHandler + directive is set to Off, the full set of request processing + phases are executed and the security model remains unchanged.

+ + +

Local exploits

+ + +

As requests to end-users can be served from the cache, the cache + itself can become a target for those wishing to deface or interfere with + content. It is important to bear in mind that the cache must at all + times be writable by the user which httpd is running as. This is in + stark contrast to the usually recommended situation of maintaining + all content unwritable by the Apache user.

+ +

If the Apache user is compromised, for example through a flaw in + a CGI process, it is possible that the cache may be targeted. When + using mod_cache_disk, it is relatively easy to + insert or modify a cached entity.

+ +

This presents a somewhat elevated risk in comparison to the other + types of attack it is possible to make as the Apache user. If you are + using mod_cache_disk you should bear this in mind - + ensure you upgrade httpd when security upgrades are announced and + run CGI processes as a non-Apache user using suEXEC if possible.

+ + + +

Cache Poisoning

+ + +

When running httpd as a caching proxy server, there is also the + potential for so-called cache poisoning. Cache Poisoning is a broad + term for attacks in which an attacker causes the proxy server to + retrieve incorrect (and usually undesirable) content from the origin + server.

+ +

For example if the DNS servers used by your system running httpd + are vulnerable to DNS cache poisoning, an attacker may be able to control + where httpd connects to when requesting content from the origin server. + Another example is so-called HTTP request-smuggling attacks.

+ +

This document is not the correct place for an in-depth discussion + of HTTP request smuggling (instead, try your favourite search engine) + however it is important to be aware that it is possible to make + a series of requests, and to exploit a vulnerability on an origin + webserver such that the attacker can entirely control the content + retrieved by the proxy.

+ + +

Denial of Service / Cachebusting

+ + +

The Vary mechanism allows multiple variants of the same URL to be + cached side by side. Depending on header values provided by the client, + the cache will select the correct variant to return to the client. This + mechanism can become a problem when an attempt is made to vary on a + header that is known to contain a wide range of possible values under + normal use, for example the User-Agent header. Depending + on the popularity of the particular web site thousands or millions of + duplicate cache entries could be created for the same URL, crowding + out other entries in the cache.

+ +

In other cases, there may be a need to change the URL of a particular + resource on every request, usually by adding a "cachebuster" string to + the URL. If this content is declared cacheable by a server for a + significant freshness lifetime, these entries can crowd out + legitimate entries in a cache. While mod_cache + provides a + CacheIgnoreURLSessionIdentifiers + directive, this directive should be used with care to ensure that + downstream proxy or browser caches aren't subjected to the same denial + of service issue.

+ +
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/caching.html.fr.utf8 b/docs/manual/caching.html.fr.utf8 new file mode 100644 index 0000000..72b0ebc --- /dev/null +++ b/docs/manual/caching.html.fr.utf8 @@ -0,0 +1,1003 @@ + + + + + +Guide de la mise en cache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Guide de la mise en cache

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

Ce document complète la documentation de référence des modules + mod_cache, mod_cache_disk, + mod_file_cache et du programme htcacheclean. + Il décrit l'utilisation des fonctionnalités de mise en + cache du serveur HTTP Apache + pour accélérer les services web et proxy, tout en évitant les problèmes + courants et les erreurs de configuration.

+
+ +
top
+
+

Introduction

+ + +

Le serveur HTTP Apache offre tout un ensemble de fonctionnalités + de mise en cache qui ont été conçues pour améliorer les performances + du serveur de différentes manières.

+ +
+
Mise en cache HTTP à trois états RFC2616
+
mod_cache et son module de fournisseur + mod_cache_disk proposent une mise en cache + intelligente de niveau HTTP. Le contenu proprement dit est + stocké dans le cache, et mod_cache vise à respecter tous les + en-têtes HTTP, ainsi que les options qui contrôlent la mise en + cache du contenu comme décrit dans la Section + 13 de la RFC2616. mod_cache peut gérer des + configurations de mise en cache simples, mais aussi complexes + comme dans les cas où vous avez à faire à des contenus mandatés, + à des contenus locaux dynamiques, ou lorsque vous avez besoin + d'accélérer l'accès aux fichiers locaux situés sur disque + supposé lent. +
+ +
Mise en cache d'objets partagés de forme clé/valeur à deux + états
+
+ L'API du cache d'objets partagés (socache) + et ses modules de fournisseurs + proposent une mise en cache d'objets partagés à base de + couples clé/valeur de niveau serveur. Ces modules sont + conçus pour la mise en cache de données de bas niveau comme + les sessions SSL et les données d'authentification. les + serveurs d'arrière-plan permettent le stockage des données + au niveau serveur en mémoire partagée, ou au niveau + datacenter dans un cache comme memcache ou distcache. +
+ +
Mise en cache de fichiers spécialisée
+
+ mod_file_cache offre la possibilité de + précharger des fichiers en mémoire au démarrage du serveur, + et peut améliorer les temps d'accès et sauvegarder les + gestionnaires de fichiers pour les fichiers qui font l'objet + d'accès fréquents, évitant ainsi d'avoir à accéder au disque + à chaque requête. +
+
+ +

Pour tirer parti efficacement de ce document, les bases de HTTP doivent + vous être familières, et vous devez avoir lu les sections + Mise en correspondance des + URLs avec le système de fichiers et + Négociation sur le contenu + du guide de l'utilisateur.

+ +
top
+
+

Mise en cache HTTP à trois états RFC2616

+ + + + + +

Le module mod_cache permet de tirer avantage du + mécanisme de mise en cache en ligne faisant partie + intégrante du protocole HTTP, et décrit dans la section + 13 de la RFC2616.

+ +

A la différence d'un cache simple clé/valeur à deux états où le + contenu est supprimé lorsqu'il est périmé, un cache HTTP comporte un + mécanisme permettant de conserver temporairement un contenu périmé, + de demander au serveur original si ce contenu périmé a été modifié, + et dans le cas contraire de le rendre à nouveau valide.

+ +

Une entrée d'un cache HTTP peut se présenter sous un de ces trois + états :

+ +
+
Frais
+
+ Si un contenu est suffisamment récent (plus jeune que sa + durée de fraîcheur), il est considéré comme + frais. Un cache HTTP peut servir un contenu + frais sans avoir à demander quoi que ce soit au serveur + d'origine. +
+
Périmé
+
+

Si le contenu est trop ancien (plus vieux que sa + durée de fraîcheur), il est considéré comme + périmé. Un cache HTTP doit contacter le serveur + original pour vérifier si le contenu, même s'il est périmé, est + encore à jour avant de le servir au client. Soit le serveur + original va répondre en envoyant un contenu de remplacement si + le contenu périmé n'est plus à jour, soit dans le cas idéal il + renverra un code pour signaler au cache que le contenu est + encore à jour, et qu'il est inutile de le générer ou de + l'envoyer à nouveau. Le contenu repasse à l'état "frais" et le + cycle continue.

+ +

Le protocole HTTP permet au cache de servir des données + périmées dans certaines circonstances, comme lorsqu'une + tentative de rafraîchir une entrée depuis un serveur original + se solde par un échec avec un code d'erreur 5xx, ou lorsqu'une + autre requête est déjà en train d'essayer de rafraîchir la même + entrée. Dans ces cas, un en-tête Warning est ajouté + à la réponse.

+
+
Non Existent
+
+ Si le cache est plein, il se réserve la possibilité de supprimer + des entrées pour faire de la place. Une entrée peut être + supprimée à tout moment, qu'elle soit fraîche ou périmée. + L'outil htcacheclean + peut être utilisé à la demande, ou lancé en tant que démon afin + de conserver la taille du cache ou le nombre d'inodes en deçà de + valeurs spécifiées. Cet outil essaie cependant de + supprimer les entrées périmées avant les entrées fraîches. +
+
+ +

Le fonctionnement détaillé d'un cache HTTP est décrit dans la Section + 13 de la RFC2616.

+ +

Interaction avec le serveur

+ + +

Le module mod_cache interagit avec le serveur + à deux niveaux possibles en fonction de la directive CacheQuickHandler : +

+ +
+
Phase de gestion rapide
+
+

Cette phase se déroule très tôt au cours du traitement de + la requête, juste après l'interprétation de cette dernière. Si + le contenu se trouve dans le cache, il est servi immédiatement + et pratiquement tout le reste du traitement de la requête est + court-circuité.

+ +

Dans ce scénario, le cache se comporte comme s'il avait + été "boulonné" à l'entrée du serveur.

+ +

Ce mode possède les meilleures performances car la + majorité des traitements au niveau du serveur sont + court-circuités. Cependant, il court-circuite aussi les + phases d'authentification et d'autorisation du traitement + au niveau du serveur, et il doit donc être utilisé avec + prudence lorsque que ces phases sont importantes.

+ +

Les requêtes comportant un en-tête "Authorization" + (comme par exemple l'authentification HTTP basique) ne + peuvent être ni mises en cache, ni servies depuis ce + dernier lorsque mod_cache s'exécute dans + cette phase.

+
+
Phase de gestion normale
+
+

Cette phase se déroule très tard au cours du traitement + de la requête, en fait après toutes les phases de ce + traitement.

+ +

Dans ce scénario, le cache se comporte comme s'il avait + été "boulonné" à la sortie du serveur.

+ +

Ce mode offre la plus grande souplesse, car il permet + de faire intervenir la mise en cache en un point + précisément spécifié de la chaîne de filtrage, et le + contenu issu du cache peut être filtré ou personnalisé + avant d'être servi au client.

+
+
+ +

Si l'URL ne se trouve pas dans le cache, + mod_cache ajoutera un filtre à la chaîne de filtrage afin + d'enregistrer la réponse dans le cache, puis passera la main + pour permettre le déroulement normal de la suite du traitement + de la requête. Si la mise en cache du contenu est autorisée, il + sera enregistré dans le cache pour pouvoir être servi à nouveau + ; dans le cas contraire, le contenu sera ignoré.

+ +

Si le contenu trouvé dans le cache est périmé, le module + mod_cache convertit la requête en + requête conditionnelle. Si le serveur original + renvoie une réponse normale, elle est enregistrée dans le cache + en lieu et place du contenu périmé. Si le serveur original + renvoie une réponse "304 Not Modified", le contenu repasse à + l'état "frais" et est servi par le filtre au lieu d'être + sauvegardé.

+ + +

Amélioration du taux de présence dans le cache

+ + +

Lorsqu'un serveur virtuel est connu sous la forme d'un des + nombreux alias du serveur, la définition de la directive + UseCanonicalName à + On peut augmenter de manière significative le nombre + de correspondances positives dans le cache. Ceci est du au fait + que la clé du cache contient le nom d'hôte du serveur virtuel. + Avec UseCanonicalName positionnée + à On, + les hôtes virtuels possédant plusieurs noms de serveur ou alias ne + généreront pas d'entités de cache différentes, et le contenu sera mis en + cache en faisant référence au nom d'hôte canonique.

+ + + +

Durée de fraîcheur

+ + +

Un contenu bien formé destiné à être mis en cache doit déclarer + explicitement une durée de fraîcheur via les champs + max-age ou s-maxage de l'en-tête + Cache-Control, ou en incluant un en-tête + Expires.

+ +

De plus, un client peut passer outre la durée de fraîcheur + définie pour le serveur original en ajoutant son propre en-tête + Cache-Control à la requête. Dans ce cas, c'est la + durée de fraîcheur la plus basse entre la requête et la réponse + qui l'emporte.

+ +

Lorsque cette durée de fraîcheur est absente de la requête ou + de la réponse, une durée de fraîcheur par défaut s'applique. La + durée de fraîcheur par défaut des entrées du cache est d'une heure + ; elle peut cependant être facilement modifiée à l'aide de + la directive CacheDefaultExpire.

+ +

Si une réponse ne contient pas d'en-tête Expires mais + inclut un en-tête Last-Modified, mod_cache + peut déduire une durée de fraîcheur en se basant sur une + heuristique, qui peut être contrôlée via la directive CacheLastModifiedFactor.

+ +

Pour les contenus locaux, ou les contenus distants qui ne + spécifient pas leur propre en-tête Expires, + mod_expires permet de régler finement la durée de + fraîcheur via les paramètres max-age et + Expires.

+ +

On peut aussi contrôler la durée de fraîcheur maximale en utilisant + la directive CacheMaxExpire.

+ + + +

Guide succinct des requêtes conditionnelles

+ + +

Lorsqu'un contenu du cache est périmé, httpd modifie la requête + pour en faire une requête conditionnelle

+ +

Lorsque la réponse originale du cache contient un en-tête + ETag, mod_cache ajoute un en-tête + If-None-Match à la requête envoyée au serveur + d'origine. Lorsque la réponse originale du cache contient un en-tête + Last-Modified, mod_cache ajoute un en-tête + If-Modified-Since à la requête envoyée au serveur + d'origine. Dans ces deux cas, la requête devient une requête + conditionnelle.

+ +

Lorsqu'un serveur d'origine reçoit une requête conditionnelle, + il vérifie si le paramètre Etag ou Last-Modified a été modifié en + fonction des paramètres de la requête. Si ce n'est pas le cas, il + répondra avec le message lapidaire "304 Not Modified". Ceci + informe le cache que le contenu est périmé mais encore à jour, et + peut être utilisé tel quel pour les prochaines requêtes jusqu'à ce + qu'il atteigne à nouveau sa date de péremption.

+ +

Si le contenu a été modifié, il est servi comme s'il s'agissait + d'une requête normale et non conditionnelle.

+ +

Les requêtes conditionnelles offrent deux avantages. D'une + part, il est facile de déterminer si le contenu du serveur + d'origine correspond à celui situé + dans le cache, et ainsi d'économiser la consommation de ressources + nécessaire au transfert du contenu dans son ensemble.

+ +

D'autre part, un serveur d'origine bien conçu sera configuré de + telle manière que les requêtes conditionnelles nécessitent pour + leur production bien moins de ressources qu'une réponse complète. + Dans le cas des fichiers statiques, il suffit en général d'un + appel système de type stat() ou similaire pour + déterminer si la taille ou la date de modification du fichier a + été modifiée. Ainsi, même un contenu local pourra être servi plus + rapidement depuis le cache s'il n'a pas été modifié.

+ +

Il serait souhaitable que tous les serveurs d'origine + supportent les requêtes conditionnelles, car dans le cas + contraire, ils répondent comme s'il s'agissait d'une requête + normale, et le cache répond comme si le contenu avait été + modifié et enregistre ce dernier. Le cache se comporte alors + comme un simple cache à deux état, où le contenu est servi s'il + est à jour, ou supprimé dans le cas contraire.

+ + +

Que peut-on mettre en cache ?

+ + +

La liste complète des conditions nécessaires pour qu'une + réponse puisse être enregistrée dans un cache HTTP est fournie + dans la section + 13.4 Response Cacheability de la RFC2616, et peut se résumer + ainsi :

+ +
    +
  1. La mise en cache doit être activée pour cette URL. Voir les + directives CacheEnable et CacheDisable.
  2. + +
  3. Si la reponse possède un code de statut HTTP autre que 200, 203, 300, 301 + ou 410, elle doit aussi comporter un en-tête "Expires" ou + "Cache-Control".
  4. + +
  5. La requête doit être de type HTTP GET.
  6. + +
  7. Si la réponse contient un en-tête "Authorization:", elle doit aussi + contenir une option "s-maxage", "must-revalidate" ou "public" + dans l'en-tête "Cache-Control:".
  8. + +
  9. Si l'URL contient une chaîne de requête + (provenant par exemple d'une méthode GET de formulaire HTML), elle ne + sera pas mise en cache, à moins que la réponse ne + spécifie explicitement un délai d'expiration via un + en-tête "Expires:" ou une directive max-age ou s-maxage de + l'en-tête "Cache-Control:" comme indiqué dans les + sections 13.2.1. et 13.9 de la RFC2616.
  10. + +
  11. Si la réponse a un statut de 200 (OK), elle doit aussi contenir + au moins un des en-têtes "Etag", "Last-Modified" ou + "Expires", ou une directive max-age ou s-maxage de + l'en-tête "Cache-Control:", à moins que la directive + CacheIgnoreNoLastMod + ne précise d'autres contraintes.
  12. + +
  13. Si la réponse contient l'option "private" dans un en-tête + "Cache-Control:", elle ne sera pas mise en cache à moins que la + directive + CacheStorePrivate + ne précise d'autres contraintes.
  14. + +
  15. De même, si la réponse contient l'option "no-store" dans un en-tête + "Cache-Control:", elle ne sera pas mise en cache à moins que la + directive + CacheStoreNoStore + n'ait été utilisée.
  16. + +
  17. Une réponse ne sera pas mise en cache si elle comporte un en-tête + "Vary:" contenant le caractère "*" qui correspond à toute + chaîne de caractères.
  18. +
+ + +

Qu'est ce qui ne doit pas être mis en cache ?

+ + +

Le client qui crée la requête ou le serveur d'origine qui + génère la réponse doit être à même de déterminer si le contenu + doit pouvoir être mis en cache ou non en définissant correctement + l'en-tête Cache-Control, et + mod_cache sera alors en mesure de satisfaire les + souhaits du client ou du serveur de manière appropriée. +

+ +

Les contenus qui varient au cours du temps, ou en fonction de + particularités de la requête non prises en compte par la + négociation HTTP ne doivent pas être mis en cache. Ce type de + contenu doit se déclarer lui-même "à ne pas mettre en cache" via + l'en-tête Cache-Control.

+ +

Si le contenu change souvent, suite par exemple à une durée de + fraîcheur de l'ordre de la minute ou de la seconde, il peut tout + de même être mis en cache, mais il est alors fortement souhaitable + que le serveur d'origine supporte correctement les + requêtes conditionnelles afin que des réponses + complètes ne soient pas systématiquement générées.

+ +

Un contenu qui varie en fonction d'en-têtes de requête fournis + par le client peut être mis en cache, sous réserve d'une + utilisation appropriée de l'en-tête de réponse Vary.

+ + +

Contenu variable et/ou négocié

+ + +

Lorsque le serveur d'origine est configuré pour servir des + contenus différents en fonction de la valeur de certains en-têtes + de la requête, par exemple pour servir une ressource en plusieurs + langages à partir d'une seule URL, le mécanisme de mise en cache + d'HTTP permet de mettre en cache plusieurs variantes de la même + page à partir d'une seule URL.

+ +

Pour y parvenir, le serveur d'origine ajoute un en-tête + Vary pour indiquer quels en-têtes doivent être pris + en compte par un cache pour déterminer si deux variantes sont + différentes l'une de l'autre.

+ +

Si par exemple, une réponse est reçue avec l'en-tête Vary suivant,

+ +

+Vary: negotiate,accept-language,accept-charset +

+ +

mod_cache ne servira aux demandeurs que le contenu + mis en cache qui correspond au contenu des en-têtes accept-language et + accept-charset de la requête originale.

+ +

Plusieurs variantes d'un contenu peuvent être mises en cache + simultanément ; mod_cache utilise l'en-tête + Vary et les valeurs correspondantes des en-têtes de + la requête spécifiés dans ce dernier pour + déterminer quelle variante doit être servie au client.

+ + + +
top
+
+

Exemples de configuration du cache

+ + + + + +

Mise en cache sur disque

+ + +

Le module mod_cache s'appuie sur des + implémentations de stockage sous-jacentes spécifiques pour gérer + le cache ; à ce titre, mod_cache_disk fournit le + support de la mise en cache sur disque.

+ +

En général, le module se configure comme suit :

+ +
CacheRoot   "/var/cache/apache/"
+CacheEnable disk /
+CacheDirLevels 2
+CacheDirLength 1
+ + +

Il est important de savoir que, les fichiers mis en cache étant stockés + localement, la mise en cache par l'intermédiaire du système d'exploitation + sera en général aussi appliquée à leurs accès. Si bien que même si les + fichiers sont stockés sur disque, s'il font l'objet d'accès fréquents, + il est probable que le système d'exploitation s'appliquera à ce qu'ils + soient servis à partir de la mémoire.

+ + + +

Comprendre le stockage dans le cache

+ + +

Pour stocker des entités dans le cache, + le module mod_cache_disk crée une empreinte (hash) de 22 + caractères de l'URL qui a fait l'objet d'une requête. Cette empreinte + comprend le nom d'hôte, le protocole, le port, le chemin et tout argument + de type CGI associé à l'URL, ainsi que les éléments + spécifiés dans l'en-tête Vary afin d'être sur que plusieurs URLs + n'interfèrent pas entre elles.

+ +

Chaque position de l'empreinte peut contenir un caractère + choisi parmi 64 caractères différents, il y a donc + 64^22 possibilités pour une empreinte. Par exemple, une URL peut posséder + l'empreinte xyTGxSMO2b68mBCykqkp1w. Cette empreinte est + utilisée pour préfixer les noms de fichiers spécifiques à cette URL à + l'intérieur du cache; cependant, elle est tout d'abord placée dans les + répertoires du cache selon les directives + CacheDirLevels et + CacheDirLength.

+ +

La directive + CacheDirLevels + définit le nombre de niveaux de sous-répertoires, et + CacheDirLength + le nombre de caractères composant le nom des sous-répertoires. Dans + l'exemple donné plus haut, l'empreinte se trouvera à : + /var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w.

+ +

Cette technique a pour but principal de réduire le nombre de + sous-répertoires ou de fichiers contenus dans un répertoire particulier, + car le fonctionnement de la plupart des systèmes de fichiers est ralenti + quand ce nombre augmente. Avec la valeur "1" pour la directive + CacheDirLength, + il peut y avoir au plus 64 sous-répertoires à un niveau quelconque. + Avec la valeur "2", il peut y en avoir 64 * 64, etc... + A moins d'avoir une bonne raison pour ne pas le faire, l'utilisation de + la valeur "1" pour la directive + CacheDirLength + est recommandée.

+ +

Le paramétrage de la directive + CacheDirLevels + dépend du nombre de fichiers que vous pensez stocker dans le cache. + Avec une valeur de "2" comme dans l'exemple donné plus haut, + 4096 sous-répertoires peuvent être créés au total. Avec 1 million de + fichiers dans le cache, cela équivaut à environ 245 URLs mises en cache + dans chaque répertoire.

+ +

Chaque URL nécessite au moins deux fichiers dans le cache. Ce sont en + général un fichier ".header", qui contient des meta-informations à propos + de l'URL, comme la date de son arrivée à expiration, + et un fichier ".data" qui est la copie exacte du contenu à servir.

+ +

Dans le cas d'un contenu négocié via l'en-tête "Vary", un répertoire + ".vary" sera créé pour l'URL en question. Ce répertoire contiendra de + multiples fichiers ".data" correspondant aux différents contenus + négociés.

+ + +

Maintenance du cache sur disque

+ + +

Le module mod_cache_disk n'effectue aucune + régulation de l'espace disque utilisé par le cache, mais s'il + s'arrête en douceur en cas d'erreur disque et se comporte alors + comme si le cache n'avait jamais existé.

+ +

Par contre l'utilitaire + htcacheclean fourni avec + httpd + vous permet de nettoyer le cache périodiquement. + Déterminer la fréquence à laquelle lancer htcacheclean et la taille souhaitée + pour le cache est une tâche relativement complexe et il vous faudra de + nombreux essais et erreurs pour arriver à sélectionner des valeurs + optimales.

+ +

htcacheclean opère selon deux + modes. Il peut s'exécuter comme démon résident, ou être lancé + périodiquement par cron. htcacheclean peut mettre une heure + ou plus pour traiter de très grands caches (plusieurs dizaines de + Gigaoctets) et si vous l'exécutez à partir de cron, il vous est + conseillé de déterminer la durée typique d'un traitement, afin d'éviter + d'exécuter plusieurs instances à la fois.

+ +

Il est aussi conseillé d'attribuer un niveau de priorité "nice" + approprié à htcacheclean de façon à ce qu'il n'effectue pas trop + d'accès disque pendant le fonctionnement du serveur.

+ +

+
+ Figure 1: Croissance + typique du cache / séquence de nettoyage.

+ +

Comme mod_cache_disk ne tient pas compte de l'espace + utilisé dans le cache, vous devez vous assurer que + htcacheclean est configuré de + façon à laisser suffisamment d'"espace de croissance" + à la suite d'un nettoyage.

+ + +

Cache en mémoire

+ + +

En utilisant le module mod_cache_socache, + mod_cache peut mettre en cache des données à partir de + diverses implémentations aussi nommées "fournisseurs". Par exemple, en + utilisant le module mod_socache_memcache, on peut + spécifier que c'est memcached qui doit + être utilisé comme mécanisme de stockage sous-jacent.

+ +

Typiquement, le module sera configuré comme suit :

+ +
CacheEnable socache /
+CacheSocache memcache:memcd.example.com:11211
+ + +

En outre, il est possible de spécifier plusieurs serveurs + memcached en les ajoutant à la fin de la ligne + CacheSocache memcache: et en les séparant par des virgules :

+ +
CacheEnable socache /
+CacheSocache memcache:mem1.example.com:11211,mem2.example.com:11212
+ + +

Divers autres fournisseurs mod_cache_socache utilisent + aussi ce format. Par exemple :

+ +
CacheEnable socache /
+CacheSocache shmcb:/path/to/datafile(512000)
+ + +
CacheEnable socache /
+CacheSocache dbm:/path/to/datafile
+ + + + +
top
+
+

Mise en cache générale d'objets partagés à deux états de forme + clé/valeur

+ + + + + +

Le serveur HTTP Apache fournit un cache d'objets partagés de bas + niveau pour la mise en cache d'informations comme les sessions SSL + ou les données d'authentification dans l'interface socache.

+ +

Pour chaque implémentation un module supplémentaire est fourni + qui offre les services d'arrière-plan suivants :

+ +
+
mod_socache_dbm
+
Cache d'objets partagés basé sur DBM.
+
mod_socache_dc
+
Cache d'objets partagés basé sur Distcache.
+
mod_socache_memcache
+
Cache d'objets partagés basé sur Memcache.
+
mod_socache_shmcb
+
Cache d'objets partagés basé sur la mémoire partagée.
+
+ +

Mise en cache des données d'authentification

+ + + + +

Le module mod_authn_socache permet la mise en + cache des données issues d'une authentification, diminuant ainsi + la charge des serveurs d'authentification d'arrière-plan.

+ + + +

Mise en cache des sessions SSL

+ + + + +

Le module mod_ssl utilise l'interface + socache pour fournir un cache de session et un cache + de base.

+ + + +
top
+
+

Mise en cache à base de fichiers spécialisés

+ + + + + +

Sur les plateformes où le système de fichiers peut être lent, ou + lorsque les descripteurs de fichiers sont gourmands en ressources, + il est possible de précharger des fichiers en mémoire au démarrage + du serveur.

+ +

Sur les systèmes où l'ouverture des fichiers est lente, il est + possible d'ouvrir le fichier au démarrage du serveur et de mettre en + cache le descripteur de fichier. Ces options peuvent vous aider sur + les systèmes où l'accès aux fichiers statiques est lent.

+ +

Mise en cache des descripteurs de fichier

+ + +

Le processus d'ouverture d'un fichier peut être en soi une + source de ralentissement, en particulier sur les systèmes de + fichiers sur le réseau. httpd permet d'éviter ce ralentissement en + maintenant un cache des descripteurs de fichiers ouverts pour les + fichiers souvent servis. Actuellement, httpd fournit une seule + implémentation de mise en cache des descripteurs de fichiers.

+ +

CacheFile

+ + +

La forme la plus basique de mise en cache que propose httpd + est la mise en cache des descripteurs de fichiers fournie par le + module mod_file_cache. Plutôt que de mettre en + cache le contenu des fichiers, ce cache maintient une table des + descripteurs de fichiers ouverts. Les fichiers devant faire + l'objet d'une mise en cache de ce type sont spécifiés dans le + fichier de configuration via la directive CacheFile.

+ +

La directive CacheFile informe httpd + qu'il doit ouvrir le fichier lors de son démarrage et qu'il doit + réutiliser le descripteur de fichier mis en cache pour tous les + accès futurs à ce fichier.

+ +
CacheFile /usr/local/apache2/htdocs/index.html
+ + +

Si vous désirez mettre en cache un grand nombre de fichiers + de cette manière, vous devez vous assurer que le nombre maximal + de fichiers ouverts pour votre système d'exploitation est défini + à une valeur suffisante.

+ +

Bien que l'utilisation de la directive CacheFile n'entraîne pas de + mise en cache du contenu du fichier proprement dit, elle + implique que si le fichier est modifié pendant l'exécution du + serveur, ces modifications ne seront pas prises en compte. Le + fichier sera toujours servi dans l'état où il se trouvait au + moment du démarrage du serveur.

+ +

Si le fichier est supprimé pendant l'exécution du serveur, ce + dernier conservera le descripteur de fichier ouvert associé et + servira le fichier dans l'état où il se trouvait au + moment du démarrage du serveur. Cela signifie aussi que même si + le fichier a été supprimé, et n'apparaît donc plus dans le + système de fichiers, l'espace disque libéré ne sera disponible + qu'une fois le serveur httpd arrêté et donc le descripteur de + fichier fermé.

+ + + + +

In-Memory Caching

+ + +

Servir un contenu directement depuis la mémoire système est + universellement reconnu comme la méthode la plus rapide. Lire des fichiers + depuis un contrôleur de disque ou pire, depuis un réseau distant est plus + lent de plusieurs ordres de grandeur. Les contrôleurs de disque réalisent + en général des opérations mécaniques, et l'accès au réseau est limité par la + bande passante dont vous disposez. Par contre, les temps d'accès à la + mémoire sont de l'ordre de la nano-seconde.

+ +

Cependant la mémoire système n'est pas bon marché; à capacité égale, + c'est de loin le type de stockage le plus coûteux et il est important de + s'assurer qu'elle est utilisée efficacement. Le fait de mettre en cache + des fichiers en mémoire diminue d'autant la quantité de mémoire système + disponible. Comme nous le verrons plus loin, ce n'est pas un problème en + soi dans le cas de la mise en cache par l'intermédiaire du système + d'exploitation, mais si l'on utilise la mise en cache en mémoire propre à + httpd, il faut prendre garde à ne pas allouer trop de mémoire au cache. + Sinon le système sera contraint d'utiliser le swap, ce qui dégradera + sensiblement les performances.

+ +

Mise en cache par l'intermédiaire du système d'exploitation

+ + +

Dans la plupart des systèmes d'exploitation modernes, c'est le noyau + qui gère directement la mise en cache en mémoire des données relatives + aux fichiers. C'est une fonctionnalité puissante, et les systèmes + d'exploitation s'en acquittent fort bien pour la plus grande partie. + Considérons par exemple, dans le cas de Linux, la différence entre le + temps nécessaire à la première lecture d'un fichier et le temps + nécessaire à sa deuxième lecture;

+ +
colm@coroebus:~$ time cat testfile > /dev/null
+real    0m0.065s
+user    0m0.000s
+sys     0m0.001s
+colm@coroebus:~$ time cat testfile > /dev/null
+real    0m0.003s
+user    0m0.003s
+sys     0m0.000s
+ +

Même pour ce petit fichier, il y a une grande différence entre les + temps nécessaires pour lire le fichier. Ceci est du au fait que le + noyau a mis en cache le contenu du fichier en mémoire.

+ +

Du fait de toujours pouvoir disposer de mémoire système, vous pouvez + être assuré qu'il y aura de plus en plus de contenus de fichiers stockés + dans ce cache. Ceci peut s'avérer une méthode de mise en cache en mémoire + très efficace, et ne nécessite aucune configuration supplémentaire + de httpd.

+ +

De plus, comme le système d'exploitation sait si des fichiers + ont été + supprimés ou modifiés, il peut effacer automatiquement des contenus de + fichiers du cache lorsque cela s'avère nécessaire. Ceci constitue un gros + avantage par rapport à la mise en cache en mémoire + de httpd qui n'a + aucune possibilité de savoir si un fichier a été modifié.

+ + +

En dépit des performances et des avantages de la mise en cache + automatique par le système d'exploitation, la mise en cache en mémoire + peut être effectuée plus efficacement par httpd dans certaines + circonstances.

+ +

Mise en cache à l'aide de la directive MMapFile

+ + +

La directive MMapFile + fournie par le module mod_file_cache vous permet de + demander à httpd de charger un contenu de fichier statique en mémoire + lors de son démarrage (à l'aide de l'appel + système mmap). httpd + utilisera le contenu chargé en mémoire pour satisfaire ultérieurement + toutes les demandes d'accès à ce fichier.

+ +
MMapFile /usr/local/apache2/htdocs/index.html
+ + +

Comme dans le cas de la directive + CacheFile, toute + modification du fichier ne sera plus prise en compte par httpd une fois + ce dernier démarré.

+ +

La directive + MMapFile ne gardant + pas la trace de la quantité de mémoire qu'elle alloue, vous devez prendre + garde de ne pas en abuser. Chaque processus enfant de httpd utilisant + sa propre réplique de la mémoire allouée, il est donc d'une importance + critique de s'assurer que les fichiers chargés ne sont pas d'une taille + trop importante afin d'épargner au système l'utilisation du swap.

+ + + +
top
+
+

Considérations sur la sécurité

+ + +

Autorisation et contrôle d'accès

+ + +

Utiliser mod_cache revient sensiblement à la même + chose qu'avoir un mandataire inverse intégré (reverse-proxy). Les requêtes + seront servies par le module de mise en cache sauf si ce dernier + détermine qu'un processus d'arrière-plan doit être appelé. La mise en + cache de ressources locales modifie considérablement le modèle de + sécurité de httpd.

+ +

Comme le parcours de la hiérarchie d'un système de fichiers pour + examiner le contenu d'éventuels fichiers + .htaccess serait une opération très coûteuse en ressources, + annulant partiellement de ce fait l'intérêt de la mise en cache + (accélérer le traitement des requêtes), + mod_cache ne se préoccupe pas de savoir s'il a + l'autorisation de servir une entité mise en cache. En d'autres termes, + si mod_cache a mis en cache un certain contenu, ce + dernier sera servi à partir du cache tant qu'il ne sera pas arrivé à + expiration.

+ +

Si par exemple, votre configuration autorise l'accès à une ressource + en fonction de l'adresse IP, vous devez vous assurer que ce contenu n'est + pas mis en cache. Ceci est possible en utilisant la directive + CacheDisable, ou le module + mod_expires. Livré à lui-même, + mod_cache - pratiquement comme un mandataire inverse - + mettrait en cache le contenu lors de son service, et le servirait ensuite + à tout client, vers n'importe quelle adresse IP.

+ +

Lorsque la directive CacheQuickHandler est définie à + Off, toutes les phases du traitement de la requête + sont exécutées et le modèle de sécurité reste le même.

+ + + +

Piratages locaux

+ + +

Etant donné que les requêtes des utilisateurs finaux peuvent être + servies depuis le cache, ce dernier est une cible potentielle pour ceux + qui veulent défigurer un contenu ou interférer avec lui. Il est important + de garder à l'esprit que l'utilisateur sous lequel tourne + httpd doit + toujours avoir l'accès en écriture dans le cache. Ceci est en contraste + total avec la recommandation usuelle d'interdire à l'utilisateur sous + lequel tourne Apache + l'accès en écriture à tout contenu.

+ +

Si l'utilisateur sous lequel tourne Apache est compromis, + par exemple à cause d'une + faille de sécurité dans un processus CGI, il est possible que le cache + fasse l'objet d'une attaque. Il est relativement aisé d'insérer ou de + modifier une entité dans le cache en utilisant le module + mod_cache_disk.

+ +

Cela représente un risque relativement élévé par rapport aux autres + types d'attaques qu'il est possible de mener sous l'utilisateur apache. + Si vous utilisez mod_cache_disk, vous devez garder ceci + à l'esprit : effectuez toujours les mises à jour de + httpdquand des + correctifs de sécurité sont annoncés et exécutez les processus CGI sous + un utilisateur autre qu'apache en utilisant + suEXEC dans la mesure du possible.

+ + + +

Empoisonnement du cache (Cache Poisoning)

+ + +

Si vous utilisez httpd comme serveur mandataire avec mise en cache, + vous vous exposez aussi à un éventuel "Empoisonnement du + cache" (Cache poisoning). L'empoisonnement du cache est un terme général + pour désigner les attaques au cours desquelles l'attaquant fait en sorte + que le serveur mandataire renvoie à un contenu incorrect (et souvent + indésirable) suite à en provenance du serveur d'arrière-plan. +

+ +

Par exemple, si les serveur DNS qu'utilise votre système où tourne + httpd sont vulnérables à l'empoisonnement du cache des DNS, un attaquant + pourra contrôler vers où httpd se connecte lorsqu'il demande un contenu + depuis le serveur d'origine. + Un autre exemple est constitué par les attaques ainsi nommées + "Dissimulation de requêtes HTTP" (HTTP request-smuggling).

+ +

Ce document n'est pas le bon endroit pour une discussion approfondie + à propos de la Dissimulation de requêtes HTTP (utilisez plutôt votre + moteur de recherche favori); il est cependant important de savoir qu'il + est possible d'élaborer une série de requêtes, et d'exploiter une + vulnérabilité d'un serveur web d'origine de telle façon que l'attaquant + puisse contrôler entièrement le contenu renvoyé par le mandataire.

+ + +

Déni de Service / Cachebusting

+ + +

Le mécanisme utilisé via l'en-tête Vary permet de mettre en + cache simultanément plusieurs variantes d'une ressource avec la + même URL. Le cache sélectionne la variante correcte à envoyer au + client en fonction des valeurs d'en-tête fournies par ce dernier. + Ce mécanisme peut devenir un problème lorsqu'on tente d'appliquer + le mécanisme des variantes à un en-tête connu pour pouvoir + posséder un grand nombre de valeurs + possibles en utilisation normal, comme par exemple l'en-tête + User-Agent. En fonction de la popularité du site web, + des milliers ou même des millions d'entrées de cache dupliquées + peuvent être créées pour la même URL, submergeant les autres + entrées du cache.

+ +

Dans d'autres cas, il peut être nécessaire de modifier l'URL + d'une ressource particulière à chaque requête, en général en lui + ajoutant une chaîne "cachebuster". Si ce contenu est déclaré comme + pouvant être mis en cache par un serveur avec une durée de + fraîcheur significative, ces entrées peuvent submerger les entrées + légitimes du cache. Alors que mod_cache fournit + une directive CacheIgnoreURLSessionIdentifiers, + cette dernière doit être utilisée avec prudence pour s'assurer que + les caches du navigateur ou du mandataire le plus proche + (downstream proxy) ne sont pas victimes du même problème de Déni de + service.

+ +
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/caching.html.tr.utf8 b/docs/manual/caching.html.tr.utf8 new file mode 100644 index 0000000..804460a --- /dev/null +++ b/docs/manual/caching.html.tr.utf8 @@ -0,0 +1,889 @@ + + + + + +Önbellek Kullanım Kılavuzu - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Önbellek Kullanım Kılavuzu

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ +

Bu belge mod_cache, + mod_cache_disk, mod_file_cache + modülleri ve htcacheclean + için bir başvuru kılavuzu niteliğindedir. HTTP sunucusu ve vekil + olarak çalışmada işlemleri hızlandırmak için bilinen sorunlar ve + yanlış yapılandırmalardan kaçınarak Apache HTTPD sunucusunun önbellekleme + özelliklerinin nasıl kullanılacağı açıklanmıştır.

+
+ +
top
+
+

GiriÅŸ

+ + +

Apache HTTP sunucusu, sunucunun başarımını çeşitli yollarla arttırmak + üzere tasarlanmış bir dizi önbellekleme özelliğine sahiptir.

+ +
+
Üç durumlu RFC2616 HTTP önbelleklemesi
+
+ mod_cache ve destek modülü + mod_cache_disk akılcı ve HTTP'ye uygun + önbellekleme sağlar. İçeriğin kendisi önbellekte saklanır ve + mod_cache, RFC2616'nın 13. bölümünde açıklandığı gibi, içeriğin + önbelleklenebilirliğini denetleyen çeşitli HTTP başlıklarının ve + seçeneklerinin tümünü onurlandırmayı hedefler. + Devingen yerel içerik veya vekalet edilen içerik ile ilgilendiğiniz + durumda veya muhtemel bir yavaş disk üzerinde yerel dosyalara + erişimi hızlandırmak ihtiyacında olduğunuz durumda + mod_cache hem basit hem de karmaşık önbellekleme + yapılandırmalarını hedefler. +
+
İki durumlu anahtar/değer paylaşımlı nesne önbellekleme
+
+ Paylaşımlı nesne önbellek API'si + (socache) ve destek modülleri sunucu taraflı bir anahtar/değer + paylaşımlı nesne önbelleklemesi sağlar. Bu modüller SSL oturumları + ve kimlik doğrulama bilgileri gibi düşük seviyeli verileri + önbelleklemek için tasarlanmıştır. Destek modülleri verinin sunucu + tarafı bir paylaşımlı bellekte veya veri merkezi tarafı memcache + veya distcache gibi bir önbellekte saklanmasını mümkün kılar. +
+
Uzmanlaşmış dosya önbellekleme
+
+ mod_file_cache dosyaların sunucunun başlatılması + sırasında belleğe yüklenmesi ile ilgilenir. Böylece dosyalara + erişim zamanını kısaltabilir, sıkça erişilen dosyaların dosya + tanıtıcılarını kaydedebilir, her istekte diske gitme ihtiyacını + ortadan kaldırır. +
+
+ +

Bu belgeden azami yararı sağlayabilmek için temel bir HTTP bilginizin + olması ve URL’lerin Dosya Sistemine + Eşlenmesi ile İçerik Uzlaşımı + belgelerini okumuş olmanız gerekir.

+ +
top
+
+

Üç durumlu RFC2616 HTTP önbelleklemesi

+ + + + + +

HTTP protokolü + RFC2616'nın 13. bölümünde açıklanan satıriçi önbellekleme + mekanizması için yerleşik bir destek içerir ve bunun getirilerinden + yararlanmak için mod_cache modülü kullanılabilir.

+ +

İçeriğin taze olmadığı durumda içeriğin kaybolmasına sebep olan basit + iki durumlu anahtar/değer önbelleklemesinin tersine, HTTP önbelleği + eskimiş içeriği tutan ve bu eski içeriğin değişip değişmediğini özgün + sunucuya soran ve duruma göre onu tekrar taze duruma getiren bir + mekanizma içerir.

+ +

HTTP önbelleğinde bulunan bir girdi şu üç durumdan birinde olabilir:

+ +
+
Taze
+
+ İçerik yeteri kadar yeni (tazelik ömründen daha genç) + ise taze sayılır. Bir HTTP önbelleği böyle bir içeriği + özgün sunucuya birşey sormadan sunabilir. +
+
Bayat
+
+

İçerik çok eski (tazelik ömründen daha yaşlı) + ise bayat sayılır. Bir HTTP önbelleği böyle bir + içeriği istemciye sunmadan önce özgün sunucuya bağlanıp bayat içeriğin + hala yeterince taze olup olmadığına bakmalıdır. Özgün sunucu, içerik + geçersizse yenisini gönderecektir, aksi takdirde, (ideal olanı budur) + içeriğin hala geçerli olduğunu belirten bir kod ile yanıt verecektir. + İçerik tekrar taze hale gelince süreç kaldığı yerden devam eder.

+ +

HTTP protokolü belli koşullar altında önbelleğin bayat içeriği + sunmasına izin vermez. Örneğin, bir içeriği özgün sunucuda tazeleme + çabasının bir 5xx hatasıyla başarısız olması veya başka bir tazeleme + isteğinin henüz sonuçlanmamış olması bu çeşit koşullardandır. Bu + durumlarda yanıta bir Warning başlığı eklenir.

+
+
Yok
+
+ Önbellekte yer kalmazsa yer açmak için içeriğin silinmesi seçenek + dahilindedir. İçerik taze olsun olmasın her zaman silinebilir. Önlem + olarak htcacheclean elle veya bir artalan süreci + olarak çalıştırılabilir. Böylece önbelleğin boyutunun belirtilen + boyutta veya belirtilen dosya düğümü sayısında kalması sağlanabilir. + Araç içeriği silerken bayat içeriğe öncelik verir. +
+
+ +

HTTP önbelleklemesinin çalışması ile ilgili bütün ayrıntılar + RFC2616'nın 13. bölümünde bulunabilir.

+ +

Sunucu ile etkileÅŸim

+ + +

mod_cache modülü + CacheQuickHandler yönergesinin + değerine bağlı olarak iki olası yerde sunucuya bağlanır: +

+ +
+
Çabuk eylem aşaması
+
+

Bu aşama çok erken gerçekleşen bir aşama olup isteğin işlenmesi + sırasında isteğin çözümlenmesinin hemen sonrasıdır. İçerik + önbellekte mevcutsa hemen sunulur ve geri kalan istek işleme işlemi + iptal edilir.

+ +

Bu senaryoda önbellek sunucunun önüne vidalanmış gibi + davranır.

+ +

Sunucuda gerçekleşecek bir dizi işlemin büyük çoğunluğunun + yapılmadan geçilmesi nedeniyle bu en yüksek başarımlı kiptir. + Bu kip ayrıca, sunucu işlemlerinin kimlik doğrulama ve yetkilendirme + aşamalarının da yapılmadan geçilmesini sağlar. Bu bakımdan bu kip + seçilirken bu durum dikkate alınmalıdır.

+ +

"Authorization" başlığı içeren istekler (örneğin, HTTP Temel + Kimlik Kanıtlaması gibi) mod_cache bu kipte + çalışırken önbelleğe alınmadıkları gibi önbellekten bir işleme de + sokulmazlar.

+
+
Normal eylem aşaması
+
+

Bu aşama geç bir aşama olup, isteğin tamamen işlenmesinin + sonrasıdır.

+ +

Bu senaryoda önbellek sunucunun arkasına vidalanmış gibi + davranır.

+ +

Bu kip en esneğidir. Önbelleğin, süzme zincirinin hassas olarak + denetlenen bir noktasında oluşması sağlanabilir ve önbelleklenen + içerik istemciye gönderilmeden önce süzülüp + kişiselleştirilebilir.

+
+
+ +

URL önbellekte yoksa mod_cache modülü yanıtı + önbelleğe kaydetme aşamasında süzgeç yığıtına bir + süzgeç ekler ve geri çekilerek normal istek + işlemlerinin devam etmesine izin verir. İçeriğin önbelleklenebilir + olduğu saptanırsa içerik gelecekte sunulmak üzere önbelleğe + kaydedilir, aksi takdirde içerik yok sayılır.

+ +

Önbellekteki içerik bayatsa, mod_cache modülü + isteği bir koşullu istek haline getirir. Özgün + sunucu normal bir yanıt verirse bu yanıt mevcut içeriğin yerine + önbelleklenir. Özgün sunucu bir 304 Not Modified yanıtı + verirse içerik tekrar taze olarak imlenir ve önbellekteki içerik + süzgeç tarafından kaydedilmeden sunulur.

+ + +

Önbelleğin Hızlandırılması

+ + +

Bir sanal konak birçok farklı sunucu takma adından biri olarak + bilindiği takdirde UseCanonicalName yönergesine On + değeri atanmışsa önbellekten sunulan sayfa sayısında büyük bir artış + olduğu görülür. Bunun sebebi içeriği sunan sanal konağın isminin + önbellek anahtarının içinde kullanılmasıdır. Yönergeye + On değerini atamak suretiyle çok isimli ve rumuzlu sanal + konaklar için farklı önbellek girdileri oluşturulmaz, bunun yerine her + meşru sanal konak için ayrı bir önbellek tutulur.

+ + +

Tazelik Ömrü

+ + +

Önbelleklenmek üzere tasarlanmış iyi biçimli bir içerik tazelik ömrünü + Cache-Control başlığının max-age veya + s-maxage alanlarıyla ya da bir Expires + başlığını içererek bildirmelidir.

+ +

Aynı zamanda, özgün sunucunun tanımladığı tazelik ömrü, bir istemci + tarafından istekte bir Cache-Control başlığı kullanılarak + geçersiz kılınmak istenebilir. Bu durumda hangi tazelik ömrü daha + kısaysa o geçerli olur.

+ +

Tazelik ömrü istekte veya yanıtta mevcut değilse öntanımlı bir tazelik + ömrü kullanılır. Öntanımlı tazelik ömrü önbellekli içerik için bir saat + olmakla birlikte CacheDefaultExpire yönergesi + kullanılarak kolayca değiştirilebilir.

+ +

Bir yanıt Expires başlığını değil de + Last-Modified başlığını içeriyorsa + mod_cache tazelik ömrünü CacheLastModifiedFactor yönergesine + bakarak saptar.

+ +

Yerel içerik için, ya da kendi Expires başlığını + tanımlamayan uzak içerik için tazelik ömrünü max-age ve + Expires ekleyerek hassas olarak ayarlamak + için mod_expires kullanılabilir.

+ +

Tazelik ömrünün üst sınırı CacheMaxExpire yönergesi ile + belirlenebilir.

+ + +

Şartlı İstekler için Özlü Kılavuz

+ + +

Önbellekteki içeriğin zaman aşımına uğrayıp bayat hale gelmesi, + httpd’nin özgün isteği aktarmak yerine isteği değişikliğe uğratarak + şartlı bir istek yapması sonucunu doğurur.

+ +

Özgün önbellekli yanıtta bir ETag başlığı mevcutsa, + mod_cache modülü özgün sunucuya yapılan isteğe + bir If-None-Match başlığı ekler. + Özgün önbellekli yanıtta bir Last-Modified başlığı + mevcutsa, mod_cache modülü özgün sunucuya yapılan + isteğe bir If-Modified-Since başlığı ekler. Bunlardan + birinin varlığı isteği koşullu yapar.

+ +

Bir koşullu istek özgün sunucu tarafından alındığında, özgün sunucu + ETag veya Last-Modified başlığının isteğe + uygun olarak değişip değişmediğine bakmalıdır. Değişmemişse, özgün + sunucu kısa ve öz bir "304 Not Modified" yanıtı ile yanıt vermelidir. + Bunun önbellekteki anlamı şudur: Eskimiş içerik hala tazedir ve içerik + yeni tazelik ömrüne ulaşıncaya kadar sonraki isteklerde + kullanılmalıdır.

+ +

İçerik değişmişse, bir şartlı istek yapılmamış gibi içeriğin kendisi + sunulur.

+ +

Şartlı istekler çifte yarar sağlar. Birinci olarak, böyle bir istek + özgün sunucuya yapılıyorsa ve iki içerik de aynıysa bunu saptamak kolay + olur ve özkaynağın tamamını aktarma külfetinden kurtulunur.

+ +

İkinci olarak, iyi tasarlanmış bir özgün sunucu, koşullu istekler tam + bir yanıt üretmekten önemli ölçüde ucuz olacak şekilde tasarlanmış + olacaktır. Durağan dosyalar için bu genellikle + stat() veya benzeri bir sistem çağrısıyla dosya + boyutları ve değişiklik zamanına bakmak şeklinde gerçekleşir. + Böylelikle, yerel içeriği bir değişiklik olmadığı takdirde önbellekten + sunmak daha hızlı olacaktır.

+ +

Özgün sunucular koşullu istekleri desteklemek için her türlü çabayı + göstermelidir. Ancak, koşullu istekler desteklenmiyorsa, özgün sunucu + istek koşullu değilmiş gibi yanıt vermeli, önbellek ise, içerik + değişmiş ve yani içerik önbelleğe kaydedilmiş gibi yanıt vermelidir. Bu + durumda, önbellek basit bir iki durumlu (içerik ya tazedir ya da + silinmiş) önbellek gibi davranacaktır.

+ + +

Neler Önbelleklenebilir?

+ + +

HTTP önbelleğin tarafından önbelleklenebilecek içerik + + RFC2616 Section 13.4 Response Cacheability belgesinde tanımlanmış + olup, bunlar şöyle özetlenebilir:

+ +
    +
  1. Önbellekleme bu URL ile etkin kılınabilmelidir. CacheEnable ve CacheDisable yönergelerine bakınız.
  2. + +
  3. Yanıtın HTTP durum kodu 200, 203, 300, 301 veya 410 olmalıdır.
  4. + +
  5. Yanıtın HTTP durum kodu 200, 203, 300, 301 veya 410 değilse + yanıtın ayrıca, "Expires" veya "Cache-Control" başlığı da içermesi + gerekir.
  6. + +
  7. İstek bir HTTP GET isteği olmalıdır.
  8. + +
  9. Eğer yanıt bir "Authorization:" başlığı içeriyorsa ayrıca + "Cache-Control:" başlığında da "s-maxage", "must-revalidate" veya + "public" değerlerinden birini içermelidir, aksi takdirde + önbelleklenmez.
  10. + +
  11. Eğer URL (GET yöntemi kullanan bir HTML formunun yaptığı gibi) bir + sorgu dizgesi içeriyorsa yanıt, RFC2616’nın 13.9. bölümünde + açıklandığı gibi bir "Expires:" başlığı içermedikçe veya + "Cache-Control:" başlığının max-age veya max-age yönergesini + içermedikçe yanıt içeriği önbelleğe alınmayacaktır.
  12. + +
  13. CacheIgnoreNoLastMod + yönergesinin kullanımını gerektiren bir durum olmadıkça 200 durum + koduna sahip bir yanıtın "Etag", "Last-Modified" ve "Expires" + başlıklarından birini veya "Cache-Control:" başlığının "max-age" veya + "s-maxage" yönergelerinden birini (en azından) içermesi gerekir.
  14. + +
  15. CacheStorePrivate + yönergesinin kullanımını gerektiren bir durum olmadıkça yanıt + "private" değerli bir "Cache-Control:" başlığı içerdiği takdirde + yanıtın içeriği önbelleğe alınmayacaktır.
  16. + +
  17. Benzer şekilde, CacheStoreNoStore yönergesi kullanılmamışsa yanıt + "no-store" değerli bir "Cache-Control:" başlığı içeriyorsa yanıt + içeriği önbelleğe alınmayacaktır.
  18. + +
  19. Herşeyle eşleşen "*" değerli bir "Vary:" başlığı içeren bir + yanıtın içeriği önbelleğe alınmaz.
  20. +
+ + +

Neler Önbelleklenmemeli?

+ + +

İçerik zamana bağımlıysa ya da istek kısmen bile olsa HTTP uzlaşımıyla + bağdaşmıyorsa önbelleğe alınmamalıdır. Bu içerik önbelleklenemeyeceğini + Cache-Control başlığını kullanarak sunucuya + bildirmelidir.

+ +

İçerik sıkça değişiyorsa, tazelik ömrü dakikalar veya saniyelerle + ifade ediliyorsa, içerik yine de önbelleklenebilir. Ancak, tam + yanıtların düzenli olarak üretilmemesinin temini için özgün sunucunun + koşullu istekleri doğru olarak desteklemesi + sağlanmalıdır.

+ +

İstemcinin sağladığı istek başlıklarına dayanarak değişen içerik, + Vary yanıt başlığının akıllıca kullanımıyla + önbelleklenebilir.

+ + +

Değişken/Uzlaşımlı İçerik

+ + +

Özgün sunucu, istekteki başlık değerlerine dayanarak farklı + içeriklerle yanıt vermeye ayarlandığı takdirde, örneğin aynı URL'de + farklı dillerde içerik sunmak gibi, HTTP'nin önbellekleme mekanizması + aynı URL'de aynı sayfanın değişik sürümlerini önbelleklemeyi mümkün + kılar.

+ +

Bu özgün sunucu tarafından bir Vary başlığı eklenerek + yapılır. Bir sayfanın farklı sürümleri arasındaki farkları saptarken + önbellek tarafından hangi başlıkların hesaba katılacağını + Vary başlığı belirler.

+ +

Örneğin, bir yanıt şöyle bir başlık ile alınmışsa,

+ +

+ Vary: negotiate,accept-language,accept-charset +

+ +

mod_cache sadece accept-language ve accept-charset + başlıkları özgün istekle eşleşen önbellekli içeriği sunacaktır.

+ +

İçeriğin farklı sürümleri yan yana önbelleklenebilir. + mod_cache modülü Vary başlığını + kullanarak başlıkta listelenmiş istek başlıklarının uygun değerlerini + saptar ve istemciye hangi sürümle yanıt verileceğine karar verir.

+ + +
top
+
+

Önbellek Ayarlama Örnekleri

+ + + + + +

Disk Üzerinde Önbellekleme

+ + +

mod_cache modülü önbelleği yönetmek için çeşitli + depolama ortamlarına özgü gerçeklenimleri kullanır. Diske önbellekleme + desteğini mod_cache_disk sağlar.

+ +

Tipik olarak modül şöyle yapılandırılır:

+ +
CacheRoot   "/var/cache/apache/"
+CacheEnable disk /
+CacheDirLevels 2
+CacheDirLength 1
+ + +

En önemlisi önbelleklenen dosyaların yerel olarak saklanması olup + işletim sisteminin sağladığı bellekiçi önbelleklemeden de ayrıca + faydalanılmış olur. Bu bakımdan, dosyalar disk üzerinde saklansa bile + sıkça erişilen dosyalar işletim sistemi sayesinde aslında bellekten + sunulmuş olacaklardır.

+ + +

Önbellekte Saklamanın Anlamı

+ + +

mod_cache_disk öğeleri önbellekte saklamak için + istek yapılan URL’nin 22 karakterlik özetini oluşturur. Bu özet, çok + sayıda URL’nin aynı özeti oluşturmaması için konak ismi, protokol, + port ve varsa CGI argümanlarından başka Vary başlığında + tanımlı elemanlardan oluşur.

+ +

Özeti oluşturan karakterler 64 karakterlik bir karakter kümesinden + seçildiğinden oluşturulması olası farklı özet sayısı 64^22’dir. + Örneğin, bir URL’nin xyTGxSMO2b68mBCykqkp1w gibi bir + özeti olabilir. Bu özet, bu URL ile erişilen dosyalar önbellek içinde + saklanırken dosya ismi öneki olarak kullanılır. Ancak bununla + yetinilmez ve içerik CacheDirLevels ve CacheDirLength yönergelerinin + değerlerine göre önce dizinlere ayrılır.

+ +

CacheDirLevels + yönergesi kaç alt seviye dizin olacağını ve CacheDirLength her dizinde kaç + karakter olacağını belirler. Örneğin, yukarıdaki + özete sahip bir dosyanın isminin başına yukarıdaki yapılandırma + örneğine uygun olarak + /var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w gibi bir önek + getirilebilirdi.

+ +

Bu tekniğin asıl amacı belli bir dizin içinde bulunabilecek + dosyaların ve alt dizinlerin sayısını düşük tutmaktır. Bu sayının + büyük olması çoğu işletim sisteminde başarımın düşmesine sebep olur. + CacheDirLength + yönergesi "1" değeriyle kullanıldığında her dizin altında en fazla 64 + alt dizin veya dosya açılabilir. "2" değeriyle kullanıldığında ise bu + sayı 64^2’ye yükselir ve böyle artarak gider. İyi bir sebebiniz + olmadıkça CacheDirLength için değer olarak + "1" belirtmenizi öneririz.

+ +

CacheDirLevels + yönergesine atanacak değer önbellekte saklamayı düşündüğünüz olası + dosya sayısı ile ilgilidir. Yukarıdaki örnekte olduğu gibi "2" + değerini belirtirseniz, toplamda en fazla 4096 dizin oluşturulabilir. + 1 milyon dosyanın önbelleklendiği bir durumda bu, her dizinde yaklaşık + olarak 245 önbelleklenmiş URL demektir.

+ +

Her URL için önbellekte en az iki dosya saklanır. Biri genellikle URL + hakkındaki temel verilerden oluşan ".header" dosyasıdır, diğeri ise + sunulacak içeriğin bire bir kopyası olan ".data" dosyasıdır.

+ +

"Vary" başlığı üzerinden içeriğin uzlaşıldığı durumda URL için bir + ".vary" dizini oluşturulur. Bu dizin her biri farklı bir uzlaşıma ait + çok sayıda ".data" dosyası içerebilir.

+ + +

Disk Önbelleğinin Bakımı

+ + +

mod_cache_disk zaman aşımına uğrayan önbellekli + içeriği silse de önbelleğin toplam boyu ve ne kadar boş bellek kaldığı + hakkında bilgi vermez.

+ +

Bunun yerine httpd önbellek içeriğini düzenli aralıklarla + temizleyebilmeniz için htcacheclean adında bir araç + içerir. Önbellek için azami ne kadar yer kullanılacağının ve bunun + üzerinde htcacheclean’i hangi sıklıkta + çalıştırılacağının tespiti biraz karmaşık bir işlem olup uygun değerler + genellikle deneme yanılma yoluyla bulunur.

+ +

htcacheclean iki işlem kipine sahiptir. Kalıcı bir + artalan süreci olarak çalışabileceği gibi cron üzerinden belli + aralıklarla da çalıştırılabilir. Çok büyük (onlarca GB) önbelleklerde + htcacheclean’in işini bitirmesi 1 saatten fazla + sürebileceğinden, cron ile çalıştırma durumunda aynı anda birden fazla + kopyanın çalışıyor durumda olmaması için + htcacheclean’in çalıştırılma aralığını iyi + belirlemek gerekir.

+ +

Ayrıca, htcacheclean için uygun bir "nice" seviyesi + seçilmesi önerilr. Böylece, sunucu çalışırken aracın ölçüsüz disk g/ç + yapmasına sebebiyet verilmemiş olur.

+ +

+
+ Şekil 1: + Önbelleğin büyümesi ve düzenli aralıklarla temizlenmesi.

+ +

mod_cache_disk ne kadar bellek kullanıldığı hakkında + bilgi vermediğinden, htcacheclean'in bir temizliğin + ardından yeterli bir büyüme alanı kalacak şekilde yapılandırılması + temin edilmelidir.

+ + +

memcached ile önbellekleme

+ + +

mod_cache_socache modülünü kullanarak, + mod_cache çeşitli gerçeklenimlerden (diğer adıyla: + "sağlayıcılar"dan) gelen veriyi önbellekleyebilir. + mod_socache_memcache modülü kullanılarak, örneğin, + artalan saklama mekanizması olarak + memcached kullanıldığı + söylenebilir.

+ +

Genelde modül şöyle yapılandırılır:

+ +
CacheEnable socache /
+CacheSocache memcache:memcd.example.com:11211
+ + +

İlave memcached sunucular + CacheSocache memcache: satırının ardına virgüllerle + ayrılarak eklenebilir:

+ +
CacheEnable socache /
+CacheSocache memcache:mem1.example.com:11211,mem2.example.com:11212
+ + +

Bu biçim diğer mod_cache_socache sağlayıcıları için de kullanılabilir:

+ +
CacheEnable socache /
+CacheSocache shmcb:/path/to/datafile(512000)
+ + +
CacheEnable socache /
+CacheSocache dbm:/path/to/datafile
+ + + + +
top
+
+

Genel İki durumlu Anahtar/Değer Paylaşımlı Nesne Önbellekleme

+ + + + +

Apache HTTP sunucusu, SSL oturumları, kimlik doğrulama bilgileri gibi + önbelleklenebilen özel bilgiler için socache + arayüzü içinde düşük seviyeli bir paylaşımlı nesne önbelleğine + sahiptir.

+ +

Her gerçeklenime uygun ek modüller de sağlanmıştır:

+ +
+
mod_socache_dbm
+
DBM tabanlı paylaşımlı nesne önbelleklemesi.
+
mod_socache_dc
+
Distcache tabanlı paylaşımlı nesne önbelleklemesi.
+
mod_socache_memcache
+
Memcache tabanlı paylaşımlı nesne önbelleklemesi.
+
mod_socache_shmcb
+
Paylaşımlı belleğe dayalı paylaşımlı nesne önbelleklemesi.
+
+ +

Kimlik Doğrulama Bilgilerinin Önbelleklenmesi

+ + + + +

mod_authn_socache modülü kimlik doğrulama araçlarının + yükünün hafifletilmesini, kimlik doğrulama sonucunun önbelleklenmesini + sağlar.

+ + +

SSL Oturumlarının Önbelleklenmesi

+ + + + +

mod_ssl modülü, oturum önbelleği ve önbellek + zımbalaması sağlamak için socache arayüzünü kullanır.

+ +
top
+
+

Uzmanlaşmış Dosya Önbellekleme

+ + + + +

Dosya sisteminin yavaş olabildiği veya dosya tanıtıcılarının + kullanımının pahalıya mal olduğu sistemlerde, sunucunun başlatılması + sırasında dosyaların belleğe yüklenmesi seçeneği vardır.

+ +

Dosyaların açılmasının yavaş olduğu sistemlerde, dosyaların sunucunun + başlatılması sırasında açılması ve dosya tanıtıcısını önbelleklenmesi + seçeneği vardır. Bu seçeneklerin duruk dosyalara erişimin yavaş olduğu + sistemlere de bir yardımı olabilir.

+ +

Dosya Tanıtıcı Önbelleklemesi

+ + +

Bir dosyanın açılması işlemi, özellikle de ağ dosya sistemlerinde + bulunan dosyalar için önemli bir gecikme kaynağı olabilir. Önbellekte, + çok sunulan dosyaların kendilerinin değil, açık dosya tanıtıcılarının + saklanması httpd’yi bu tür gecikmelerden koruyabilir. httpd’de tek + türde dosya tanıtıcı önbelleklemesi yapılabilmektedir.

+ +

CacheFile yönergesi ile

+ + +

httpd’de mevcut önbelleklemenin en temel şekli + mod_file_cache tarafından sağlanan dosya tanıtıcı + önbelleklemesidir. Bu önbellek türü dosyaların kendilerini değil açık + dosya tanıtıcılarının bir listesini saklar. Dosyaların bu anlamda + önbelleklenmesi, CacheFile yönergesi yapılandırma dosyasında belirtilerek + sağlanabilir.

+ +

CacheFile yönergesi + belirtilen dosyanın httpd başlatıldığında açılmasını ve dosya için + yapılan sonraki her istekte bu dosya tanıtıcısının kullanılmasını + sağlar.

+ +
CacheFile /usr/local/apache2/htdocs/index.html
+ + +

Büyük miktarda dosyayı bu anlamda önbelleklemeyi tasarlıyorsanız + işletim sisteminizin açık dosya tanıtıcılarının sayısı ile ilgili + sınırlamasını uygun bir değere ayarlamanız gerekebilir.

+ +

CacheFile yönergesini + kullandığınız takdirde dosya içeriğindeki değişiklikleri anında + isteğe yansıtamazsınız. httpd dosyayı ilk başlatıldığındaki haliyle + sunar.

+ +

Eğer httpd çalışırken dosya silinmişse httpd ilk başlatıldığındaki + haline ilişkin dosya tanıtıcıyı sağlamaya ve dolayısıyla dosya + içeriğini sunmaya devam edecektir. Yani, dosya silinmiş ve artık + dosya sisteminde görünmüyor olsa bile httpd durdurulup dosya + tanıtıcıları kapanmadıkça dosyaların silinmesiyle açılan yer serbest + kalmayacaktır.

+ + + + +

Sistem Belleğinde Önbellekleme

+ + +

İçeriğin sistem belleğinden sunulması içerik sunmanın evrensel olarak + en hızlı yoludur. Dosyaların bir disk denetleyiciden okunması ya da daha + kötüsü uzak bir ağdan okunması bellekten okumayla karşılaştırılamayacak + ölçüde yavaş işlemlerdir. Disk denetleyiciler genellikle fiziksel + süreçleri denetlerler. Ağ erişimi ise band genişliği sınırlamalarından + etkilenir. Halbuki bellek erişimi sadece nano saniyeler mertebesinde + gerçekleşir.

+ +

Sistem belleği en pahalı saklama ortamı olması sebebiyle en verimli + şekilde kullanımı önemlidir. Dosyaları sistem belleğinde saklamakla + sistemin kullanabileceği bellek miktarını azaltmış olursunuz. İşletim + sistemi önbelleklemesinde göreceğiniz gibi bu öyle basit bir konu + değildir. httpd’nin kendi kullandığı belleğin bir kısmını önbellek + olarak ayırırken çok fazla bellek kullanmamak önemlidir. Aksi takdirde + işletim sistemi belleğin yetmediği noktada belleği diske + takaslayacağından istenen başarım artışı sağlanamayacaktır.

+ +

İşletim Sistemi Önbelleklemesi

+ + +

Günümüz iştetim sistemlerinin hemen hemen tamamında bellek içi + dosya/veri saklama işlemlerini çekirdek yönetir. Bu güçlü bir + özelliktir ve işletim sistemlerinin büyük çoğunluğu bunu böyle yapar. + Örneğin, Linux’ta bir dosyanın ilk defa okunduğunda ve ikinci kez + okunduğunda işlemcinin ne kadar meşgul edildiğine bakalım:

+ +

+ colm@coroebus:~$ time cat testfile > /dev/null
+ real 0m0.065s
+ user 0m0.000s
+ sys 0m0.001s
+ colm@coroebus:~$ time cat testfile > /dev/null
+ real 0m0.003s
+ user 0m0.003s
+ sys 0m0.000s +

+ +

Küçük bir dosya için bile okuma süresi bakımından büyük fark ortaya + çıkmaktadır. Bunun sebebi çekirdeğin dosya içeriğini bellek daha + güncel amaçlar için lazım olana dek bellek içinde saklamasıdır.

+ +

Sisteminizde yeterince yedek bellek olduğundan eminseniz, bu + önbellekte daha fazla dosya saklanacağından emin olabilirsiniz. + Bundan, önbelleğin sistem belleğinde verimli biçimde tutulması için + httpd’de ek bir yapılandırmaya gidilmesinin gerekmediği sonucu + çıkarılabilir.

+ +

Bundan başka, işletim sistemi dosyaların değiştiği ve silindiği + zamanları bildiğinden bu tür dosyaların içerikleri gerektiğinde + önbellekten kendiliğinden silinmiş olur. Bellek içinde dosya + saklarken dosyaların değiştirilme zamanlarını bilme olanağı + olmadığından bu durum httpd’ye büyük yarar sağlar.

+ + +

İşletim sisteminin dosyaların önbelleklenmesi için sağladığı bunca + yarara ve başarım artışına karşın bellek içinde dosya önbelleklemenin + httpd tarafından yerine getirilmesinin daha iyi olacağı bazı durumlar + vardır.

+ +

MMapFile yönergesi ile

+ + +

mod_file_cache modülü, bir durağan dosyanın + içeriğini sunucunun başlatılması sırasında (mmap sistem çağrısıyla) + belleğe eşlenmesini mümkün kılmak için MMapFile yönergesini sağlar. + httpd bu dosyaya gelecek sonraki istekler için dosyanın bellekiçi + içeriğini kullanacaktır.

+ +
MMapFile /usr/local/apache2/htdocs/index.html
+ + +

CacheFile + yönergesinde olduğu gibi bu dosyalarda httpd başlatıldıktan sonra + yapılacak bir değişiklikten httpd’nin haberi olmayacaktır.

+ +

MMapFile yönergesi + ayırdığı belleğin toplam miktarı ile ilgilenmez, dolayısıyla + yönergenin aşırı kullanımından kaçınmalısınız. httpd’nin çocuk + süreçlerinin her biri bu belleğin kendilerine ait birer kopyasını + yapacağından belleğe eşlenen dosyaların çok yer kaplamaması büyük + önem taşımaktadır; aksi takdirde işletim sistemi belleği diske + takaslayacağından beklenen fayda sağlanamayacaktır.

+ + +
top
+
+

Güvenlik Kaygıları

+ + +

EriÅŸim Denetimi ve Yetkilendirme

+ + +

CacheQuickHandler + yönergesine On değerinin atandığı öntanımlı durumda + mod_cache kullanımı, daha çok sunucunun önüne + vidalanmış önbelleklemeli bir karşı vekile sahip olmak gibidir. Özgün + sunucunun bir harici önbellekmiş gibi sorgulanmasını gerektirmeyen tüm + istekler önbellekleme modülü tarafından karşılanacaktır. Bu durum + httpd'nin güvenlik modelini büyük ölçüde değiştirir.

+ +

Olası .htaccess dosyalarının dosya sisteminin tamamında + taranması çok pahalı bir işlem olduğundan mod_cache, + (işlemi hızlandırmak için) önbelleğe almanın temel amacını kısmen + gözardı ederek, önbellekteki içeriğin sunumu için gerekli + yetkilendirmenin olup olmadığı konusunda bir karar üretmez. Başka bir + deyişle, eğer mod_cache bir kısım içeriği önbelleğe + almışsa içerik zaman aşımına uğramadığı sürece bu içerik önbellekten + sunulacaktır.

+ +

Örneğin, yapılandırmanız bir özkaynağa IP adresine göre erişime izin + veriyorsa bu içeriğin önbelleğe alınmayacağından emin olmalısınız. + Bunu CacheDisable + yönergesini veya mod_expires modülünü kullanarak + yapabilirsiniz. Bunu yapmaz, olayı kendi haline bırakırsanız + mod_cache bir karşı vekil gibi çalışarak sunulan her + içeriği önbelleğe alacak ve hangi IP adresinden gelirse gelsin her + istemciye bunu sunacaktır.

+ +

CacheQuickHandler + yönergesine Off atandığı takdirde, istek işleme + aşamalarının tamamı yerine getirilir ve güvenlik modeli değişmeden + kalır.

+ + +

Yerel İstismarcılar

+ + +

Son kullanıcılarıın isteklerine önbellekten hizmet sunulduğundan + önbelleğin kendisi içerikle etkileşime geçmek isteyenlerin veya + içeriği tahrif etmek isteyenlerin hedefi haline gelebilir. httpd’yi + çalıştıran kullanıcı tarafından her zaman önbelleğe yazılabileceğini + akıldan çıkarmamak önemlidir. Bu durumda alışılmışın tersine tüm + içeriğin Apache kullanıcısı tarafından yazılamamasının sağlanması + önerilir.

+ +

Eğer Apache kullanıcısı, örneğin bir CGI sürecindeki açık nedeniyle + tehlikeye atılırsa, önbellek hedef alınabilir. + mod_cache_disk kullanılırken önbellekteki bir öğeyi + değiştirmek veya önbelleğe yeni bir öğe eklemek görece daha + kolaydır.

+ +

Bu risk, Apache kullanıcısını kullanan diğer saldırı türleriyle + karşılaştırıldığında daha yüksektir. mod_cache_disk + kullanıyorsanız şunları aklınızdan çıkarmayın: (1) httpd güvenlik + güncellemelerini takip edin ve sunucunuzu buna göre güncelleyin. (2) + Mümkünse suEXEC kullanarak CGI süreçlerini + Apache kullanıcısı olmayan bir kullanıcının aidiyetinde çalıştırın.

+ + +

Önbellek Zehirlenmeleri

+ + +

httpd bir önbellekli vekil sunucu olarak çalıştığında önbellek + zehirlenmesi adı verilen sorunla karşılaşılma olasılığı vardır. + Önbellek zehirlenmesi, vekil sunucunun özgün sunucudan yanlış (ve + genellikle istenmeyen) içerik almasına sebep olan bir saldırı türünü + betimlemek için yaygın olarak kullanılan bir terimdir.

+ +

Örneğin httpd’nin çalıştığı sistemin kullandığı DNS sunucuları DNS + önbellek zehirlenmesinden etkilenebilecek durumdaysa, bir saldırgan + httpd’nin istekleri almak için başvuracağı kaynak sunucunun yerini + değiştirebilir. Diğer bir örnek, HTTP istek kaçakçılığı adı verilen + bir saldırı türüdür.

+ +

Bu belge HTTP istek kaçakçılığını derinliğine incelenmesi için uygun + yer değildir (böyle kaynaklara arama motorunuzla erişebilirsiniz). + Bununla birlikte, vekil tarafından kaynak sunucudan alınan içeriği + tamamen denetim altına almak amacıyla kaynak sunucudaki bir açığı + istismar etmeye yönelik bir dizi istek yapılabileceğinin olasılık + dahilinde olduğunu bilmenizde yarar vardır.

+ + +

Hizmet Reddi / Önbelleğin Engellenmesi

+ + +

Vary mekanizması aynı URL'nin çok sayıda sürümünün yan yana + önbelleklenmesini mümkün kılar. İstemci tarafından sağlanan başlık + değerlerine bağlı olarak, önbellek istemciye gönderilecek doğru yanıtı + bulacaktır. Normal kullanımda olası değerlerin çok geniş olduğunun + bilindiği durumda bir başlığı (örn, User-Agent) + değişikliğe uğratma çabası bu mekanizmayı bir sorun haline getirebilir. + Sitenin tanınırlığına bağlı olarak aynı URL'nin binlerce hatta + milyonlarca önbellek girdisi oluşabilir ve bunlar önbellekteki diğer + girdilerin yerini alabilir.

+ +

Diğer yandan, belli bir özkaynağın URL'sinin her istekte + değiştirilmesi ihtiyacı ortaya çıkabilir. Bu normalde URL dizgesine bir + "cachebuster" dizgesi eklenerek yapılır. Bu içerik sunucu tarafından + anlamlı bir tazelik ömrüyle önbelleklenebilir olarak imlenmişse bu + girdiler kısa zamanda önbellekteki meşru girdilerin yerini alabilir. + mod_cache modülü bunun önlenmesi için CacheIgnoreURLSessionIdentifiers + yönergesine sahipse de bu yönerge, yoldaki vekillerin veya tarayıcı + önbelleklerinin aynı hizmet reddi saldırısına maruz kalmamaları için + dikkatle kullanılmalıdır.

+ +
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/configuring.html b/docs/manual/configuring.html new file mode 100644 index 0000000..7019240 --- /dev/null +++ b/docs/manual/configuring.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: configuring.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: configuring.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: configuring.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: configuring.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: configuring.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: configuring.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/configuring.html.de b/docs/manual/configuring.html.de new file mode 100644 index 0000000..a927884 --- /dev/null +++ b/docs/manual/configuring.html.de @@ -0,0 +1,216 @@ + + + + + +Konfigurationsdateien - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Konfigurationsdateien

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Dieses Dokument beschreibt die Dateien, die zur Konfiguration des Apache + HTTP Servers verwendet werden.

+
+ +
top
+
+

Hauptkonfigurationsdateien

+ + + +

Der Apache wird konfiguriert, indem Direktiven in einfache Textdateien + eingetragen werden. Die Hauptkonfigurationsdatei heißt + üblicherweise httpd.conf. Der Ablageort dieser Datei + wird bei der Kompilierung festgelegt, kann jedoch mit der + Befehlszeilenoption -f überschrieben werden. Durch + Verwendung der Direktive Include + können außerdem weitere Konfigurationsdateien hinzugefügt + werden. Zum Einfügen von mehreren Konfigurationsdateien können + Platzhalter verwendet werden. Jede Direktive darf in jeder dieser + Konfigurationsdateien angegeben werden. Änderungen in den + Hauptkonfigurationsdateien werden vom Apache nur beim Start oder Neustart + erkannt.

+ +

Der Server liest auch eine Datei mit MIME-Dokumenttypen ein. Der + Name dieser Datei wird durch die Direktive TypesConfig bestimmt. Die Voreinstellung + ist mime.types.

+
top
+
+

Syntax der Konfigurationsdateien

+ + +

Die Konfigurationsdateien des Apache enthalten eine Direktive pro Zeile. + Der Backslash "\" läßt sich als letztes Zeichen in einer Zeile + dazu verwenden, die Fortsetzung der Direktive in der nächsten Zeile + anzuzeigen. Es darf kein weiteres Zeichen oder Whitespace zwischen dem + Backslash und dem Zeilenende folgen.

+ +

In den Konfigurationsdateien wird bei den Direktiven nicht zwischen + Groß- und Kleinschreibung unterschieden. Bei den Argumenten der + Direktiven wird dagegen oftmals zwischen Groß- und Kleinschreibung + differenziert. Zeilen, die mit dem Doppelkreuz "#" beginnen, werden als + Kommentare betrachtet und ignoriert. Kommentare dürfen + nicht am Ende einer Zeile nach der Direktive + eingefügt werden. Leerzeilen und Whitespaces vor einer Direktive + werden ignoriert. Dadurch lassen sich Direktiven zur besseren Lesbarbeit + einrücken.

+ +

Sie können die Syntax Ihrer Konfigurationsdateien auf Fehler + prüfen, ohne den Server zu starten, indem Sie apachectl + configtest oder die Befehlszeilenoption -t + verwenden.

+
top
+
+

Module

+ + + + +

Der Apache ist ein modularer Server. Das bedeutet, dass nur die abolute + Grundfunktionalität im Kernserver enthalten ist. Weitergehende + Fähigkeiten sind mittels Modulen verfügbar, + die in den Apache geladen werden können. Standardmäßig + wird bei der Kompilierung ein Satz von Basismodulen (Anm.d.Ü.: die so + genannten Base-Module) in den Server eingebunden. Wenn der + Server für die Verwendung von dynamisch + ladbaren Modulen kompiliert wurde, dann können Module separat + kompiliert und jederzeit mittels der Direktive LoadModule hinzugefügt werden. + Andernfalls muss der Apache neu kompiliert werden, um Module + hinzuzufügen oder zu entfernen. Konfigurationsanweisungen können + abhängig vom Vorhandensein eines bestimmten Moduls eingesetzt werden, + indem sie in einen <IfModule>-Block eingeschlossen werden.

+ +

Um zu sehen, welche Module momentan in den Server einkompiliert sind, + kann die Befehlszeilenoption -l verwendet werden.

+
top
+
+

Der Gültigkeitsbereich von Direktiven

+ + + + +

Direktiven in den Hauptkonfigurationsdateien gelten für den + gesamten Server. Wenn Sie die Konfiguration nur für einen Teil des + Servers verändern möchten, können Sie den + Gültigkeitsbereich der Direktiven beschränken, indem Sie diese + in <Directory>-, + <DirectoryMatch>-, + <Files>-, + <FilesMatch>-, + <Location>- oder + <LocationMatch>-Abschnitte eingefügen. + Diese Abschnitte begrenzen die Anwendung der umschlossenen Direktiven + auf bestimmte Pfade des Dateisystems oder auf + bestimmte URLs. Sie können für eine fein abgestimmte + Konfiguration auch ineinander verschachtelt werden.

+ + +

Der Apache besitzt die Fähigkeit, mehrere verschiedene Websites + gleichzeitig zu bedienen. Dies wird virtuelles + Hosten genannt. Direktiven können auch in ihrem + Gültigkeitsgereich eingeschränkt werden, indem sie innerhalb + eines <VirtualHost>-Abschnittes angegeben werden. + Sie werden dann nur auf Anfragen für eine bestimmte Website + angewendet.

+ +

Obwohl die meisten Direktiven in jedem dieser Abschnitte platziert + werden können, ergeben einige Direktiven in manchen Kontexten + keinen Sinn. Direktiven zur Prozesssteuerung beispielsweise + dürfen nur im Kontext des Hauptservers angegeben werden. Prüfen + Sie den Kontext der + Direktive, um herauszufinden, welche Direktiven in welche Abschnitte + eingefügt werden können. Weitere Informationen finden Sie unter + "Wie Directory-, Location- und Files-Abschnitte + arbeiten".

+ +
top
+
+

.htaccess-Dateien

+ + + + +

Der Apache ermöglicht die dezentrale Verwaltung der + Konfiguration mittes spezieller Dateien innerhalb des + Web-Verzeichnisbaums. Diese speziellen Dateien heißen + gewöhnlich .htaccess, mit der Direktive AccessFileName kann jedoch auch ein anderer + Name festgelegt werden. In .htaccess-Dateien angegebene + Direktiven werden auf das Verzeichnis und dessen Unterverzeichnisse + angewendet, in dem die Datei abgelegt ist. .htaccess-Dateien + folgen der gleichen Syntax wie die Hauptkonfigurationsdateien. Da + .htaccess-Dateien bei jeder Anfrage eingelesen werden, + werden Änderungen in diesen Dateien sofort wirksam.

+ +

Prüfen Sie den Kontext der Direktive, um + herauszufinden, welche Direktiven in .htaccess-Dateien + angegeben werden können. Darüber hinaus steuert der + Serveradministrator mit der Einstellung der Direktive AllowOverride in den + Hauptkonfigurationsdateien welche Direktiven in + .htaccess-Dateien verwendet werden dürfen.

+ +

Weitere Informationen über .htaccess-Dateien finden + Sie in der .htaccess-Einführung.

+
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/configuring.html.en b/docs/manual/configuring.html.en new file mode 100644 index 0000000..653062d --- /dev/null +++ b/docs/manual/configuring.html.en @@ -0,0 +1,235 @@ + + + + + +Configuration Files - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Configuration Files

+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+ +

This document describes the files used to configure Apache HTTP +Server.

+
+ +
top
+
+

Main Configuration Files

+ + + +

Apache HTTP Server is configured by placing directives in plain text + configuration files. The main configuration file is usually called + httpd.conf. The location of this file is set at + compile-time, but may be overridden with the -f + command line flag. In addition, other configuration files may be + added using the Include + directive, and wildcards can be used to include many configuration + files. Any directive may be placed in any of these configuration + files. Changes to the main configuration files are only + recognized by httpd when it is started or restarted.

+ +

The server also reads a file containing mime document types; + the filename is set by the TypesConfig directive, + and is mime.types by default.

+
top
+
+

Syntax of the Configuration Files

+ + +

httpd configuration files contain one directive per line. + The backslash "\" may be used as the last character on a line + to indicate that the directive continues onto the next line. + There must be no other characters or white space between the + backslash and the end of the line.

+ +

Arguments to directives are separated by whitespace. If an + argument contains spaces, you must enclose that argument in quotes.

+ +

Directives in the configuration files are case-insensitive, + but arguments to directives are often case sensitive. Lines + that begin with the hash character "#" are considered + comments, and are ignored. Comments may not be + included on the same line as a configuration directive. + White space occurring before a directive is ignored, so + you may indent directives for clarity. Blank lines are also ignored.

+ +

The values of variables defined with the Define of or shell environment variables can + be used in configuration file lines using the syntax ${VAR}. + If "VAR" is the name of a valid variable, the value of that variable is + substituted into that spot in the configuration file line, and processing + continues as if that text were found directly in the configuration file. + Variables defined with Define take + precedence over shell environment variables. + If the "VAR" variable is not found, the characters ${VAR} + are left unchanged, and a warning is logged. + Variable names may not contain colon ":" characters, to avoid clashes with + RewriteMap's syntax.

+ +

Only shell environment variables defined before the server is started + can be used in expansions. Environment variables defined in the + configuration file itself, for example with SetEnv, take effect too late to be used for + expansions in the configuration file.

+ +

The maximum length of a line in normal configuration files, after + variable substitution and joining any continued lines, is approximately + 16 MiB. In .htaccess files, the + maximum length is 8190 characters.

+ +

You can check your configuration files for syntax errors + without starting the server by using apachectl + configtest or the -t command line + option.

+ +

You can use mod_info's -DDUMP_CONFIG to + dump the configuration with all included files and environment + variables resolved and all comments and non-matching + <IfDefine> and + <IfModule> sections + removed. However, the output does not reflect the merging or overriding + that may happen for repeated directives.

+
top
+
+

Modules

+ + + + +

httpd is a modular server. This implies that only the most + basic functionality is included in the core server. Extended + features are available through modules which can be loaded + into httpd. By default, a base set of modules is + included in the server at compile-time. If the server is + compiled to use dynamically loaded + modules, then modules can be compiled separately and added at + any time using the LoadModule + directive. + Otherwise, httpd must be recompiled to add or remove modules. + Configuration directives may be included conditional on a + presence of a particular module by enclosing them in an <IfModule> block. However, + <IfModule> blocks are not + required, and in some cases may mask the fact that you're missing an + important module.

+ +

To see which modules are currently compiled into the server, + you can use the -l command line option. You can also + see what modules are loaded dynamically using the -M + command line option.

+
top
+
+

Scope of Directives

+ + + + +

Directives placed in the main configuration files apply to + the entire server. If you wish to change the configuration for + only a part of the server, you can scope your directives by + placing them in <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, and <LocationMatch> + sections. These sections limit the application of the + directives which they enclose to particular filesystem + locations or URLs. They can also be nested, allowing for very + fine grained configuration.

+ +

httpd has the capability to serve many different websites + simultaneously. This is called Virtual + Hosting. Directives can also be scoped by placing them + inside <VirtualHost> + sections, so that they will only apply to requests for a + particular website.

+ +

Although most directives can be placed in any of these + sections, some directives do not make sense in some contexts. + For example, directives controlling process creation can only + be placed in the main server context. To find which directives + can be placed in which sections, check the Context of the + directive. For further information, we provide details on How Directory, Location and Files sections + work.

+
top
+
+

.htaccess Files

+ + + + +

httpd allows for decentralized management of configuration + via special files placed inside the web tree. The special files + are usually called .htaccess, but any name can be + specified in the AccessFileName + directive. Directives placed in .htaccess files + apply to the directory where you place the file, and all + sub-directories. The .htaccess files follow the + same syntax as the main configuration files. Since + .htaccess files are read on every request, changes + made in these files take immediate effect.

+ +

To find which directives can be placed in + .htaccess files, check the Context of the + directive. The server administrator further controls what + directives may be placed in .htaccess files by + configuring the AllowOverride + directive in the main configuration files.

+ +

For more information on .htaccess files, see + the .htaccess tutorial.

+
+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/configuring.html.fr.utf8 b/docs/manual/configuring.html.fr.utf8 new file mode 100644 index 0000000..800f62e --- /dev/null +++ b/docs/manual/configuring.html.fr.utf8 @@ -0,0 +1,253 @@ + + + + + +Fichiers de configuration - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Fichiers de configuration

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Ce document décrit les fichiers utilisés pour configurer +le Serveur HTTP Apache.

+
+ +
top
+
+

Fichiers de configuration principaux

+ + + +

La configuration du serveur HTTP Apache est effectuée en plaçant des directives dans des fichiers de + configuration au format texte. Le fichier de configuration principal se nomme + en général + httpd.conf. La localisation de ce fichier est définie + à la compilation, mais peut être redéfinie à l'aide de l'option + de ligne de commande -f. En outre, d'autres fichiers de + configuration peuvent être ajoutés à l'aide de la directive + Include, et des caractères de + remplacement + peuvent être utilisés pour inclure de nombreux fichiers de configuration. + Des directives de tous types peuvent être placées dans chacun de ces fichiers + de configuration. Les modifications dans les fichiers de configuration + principaux ne sont prises en compte par httpd que lorsque le serveur + est démarré ou redémarré.

+ +

Le serveur lit aussi un fichier contenant les types de document mime; + ce fichier est défini par la directive TypesConfig, + et se nomme mime.types par défaut.

+
top
+
+

Syntaxe des fichiers de configuration

+ + +

Les fichiers de configuration de httpd contiennent une directive + par ligne. + On peut utiliser l'anti-slash "\" comme dernier caractère d'une ligne + pour indiquer que la directive continue à la ligne suivante. + Il ne doit y avoir aucun caractère ni espace entre l'anti-slash et + la fin de la ligne.

+ +

Les arguments des directives sont séparés les uns des autres par + des espaces. Si un argument contient des espaces, il doit être + entouré de guillemets.

+ +

Les directives dans les fichiers de configuration ne sont pas + sensibles à la casse, mais leurs arguments le sont souvent. Les lignes + qui débutent par le caractère "#" sont interprétées comme des + commentaires, et sont ignorées. Les commentaires ne doivent + pas apparaître sur la même ligne qu'une directive + de configuration. Les espaces précédant une directive + sont ignorés; vous pouvez par conséquent indenter les directives + afin d'améliorer la lisibilité. Les lignes vides sont + aussi ignorées.

+ +

Les valeurs des variables d'environnement ou des variables + définies via la directive Define peuvent être utilisées dans le + fichier de configuration en utilisant la syntaxe + ${VAR}. Si "VAR" est le nom d'une variable valide, la + valeur de la variable est alors substituée à la chaîne + ${VAR}, et le processus de lecture du fichier de + configuration continue comme si la chaîne correspondant à la valeur + de la variable s'y était trouvée littéralement. Les variables définies + via la directive Define + l'emportent sur les autres variables d'environnement du shell. Si la + variable "VAR" n'est pas trouvée, la chaîne ${VAR} + n'est pas modifiée, et un avertissement est enregistré dans le + journal. Le caractère ":" est interdit dans les noms de variables + afin d'éviter tout conflit avec la syntaxe de la directive RewriteMap.

+ +

Seules les variables d'environnement du shell définies avant le démarrage + du serveur peuvent être utilisées en extension. + Les variables d'environnement + définies dans le fichier de configuration lui-même, par exemple avec SetEnv, prennent effet trop tard pour + pouvoir être utilisées en extension au sein du fichier de + configuration.

+ +

La longueur maximale d'une ligne dans un fichier de configuration + normal, après substitution des variables et fusion des lignes + interrompues, est approximativement de 16 Mo. Dans les fichiers .htaccess, la longueur + maximale est de 8190 caractères.

+ +

Vous pouvez vérifier l'absence d'erreurs de syntaxe dans vos fichiers + de configuration sans démarrer le serveur à l'aide de la commande + apachectl configtest ou de l'option de ligne de commande + -t.

+ +

Vous pouvez utiliser la définition -DDUMP_CONFIG de + mod_info pour afficher la configuration avec tous + les fichiers inclus et les variables d'environnement évaluées, tous + les commentaires et les sections <IfDefine> et <IfModule> non actives ayant + été supprimés. Cependant, la sortie ne reflète + pas les fusions ou écrasements pouvant intervenir en cas de + définitions multiples de directives.

+
top
+
+

Modules

+ + + + +

httpd est un serveur modulaire. Ceci implique que seules les + fonctionnalités les plus courantes sont incluses dans le serveur de base. + Les fonctionnalités étendues sont fournies à l'aide de modules qui peuvent être chargés dans httpd. + Par défaut, un jeu de modules de base est inclus dans le + serveur à la compilation. Si le serveur est compilé de façon à utiliser + les modules chargés dynamiquement, + alors les modules peuvent être compilés séparément et chargés à + n'importe quel moment à l'aide de la directive + LoadModule. + Dans le cas contraire, httpd doit être recompilé pour ajouter ou + supprimer des modules. + Les directives de configuration peuvent être incluses de manière + conditionnelle selon la présence ou l'absence d'un module particulier + en les plaçant dans un bloc <IfModule>.

+ +

Pour voir quels modules ont été compilés avec le serveur, + vous pouvez utiliser l'option de ligne de commande -l.

+
top
+
+

Portée des directives

+ + + + +

Les directives placées dans les fichiers de configuration principaux + s'appliquent au serveur dans son ensemble. Si vous souhaitez modifier la + configuration d'une partie du serveur seulement, vous pouvez limiter la + portée de vos directives en les plaçant dans une section + <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, ou <LocationMatch>. + Ces sections limitent le champ d'application des directives qu'elles + contiennent à des URls ou des portions du système de fichiers particulières. + Elles peuvent aussi être imbriquées, ce qui permet + une configuration très fine.

+ +

httpd peut servir simultanément de nombreux sites web au travers des + Hôtes Virtuels. La portée des directives peut ainsi + être limitée en les plaçant dans des sections + <VirtualHost>, + afin qu'elles ne s'appliquent qu'aux requêtes + pour un site web particulier.

+ +

Bien que la plupart des directives puissent être placées dans + chacune de ces sections, certaines d'entre elles n'ont aucun sens + dans certains contextes. + Par exemple, les directives qui contrôlent la création des processus + n'ont de sens que dans le contexte du serveur principal. Pour déterminer + quelles directives peuvent être placées dans quelles sections, consultez + le Contexte de la + directive. Pour plus d'informations, nous fournissons des détails dans + Comment fonctionnent les sections Directory, + Location et Files.

+
top
+
+

Fichiers .htaccess

+ + + + +

httpd permet la gestion décentralisée de la configuration + via des fichiers spéciaux placés dans l'arborescence du site web. + Ces fichiers spéciaux se nomment en général .htaccess, + mais tout autre nom peut être spécifié à l'aide de la directive + AccessFileName. + Les directives placées dans les fichiers .htaccess + s'appliquent au répertoire dans lequel vous avez placé le fichier, + ainsi qu'à tous ses sous-répertoires. + La syntaxe des fichiers .htaccess est la même que celle + des fichiers de configuration principaux. Comme les fichiers + .htaccess sont lus à chaque requête, les modifications de + ces fichiers prennent effet immédiatement.

+ +

Pour déterminer quelles directives peuvent être placées + dans les fichiers .htaccess, consultez le + Contexte de la + directive. L'administrateur du serveur peut contrôler quelles + directives peuvent être placées dans les fichiers + .htaccess en définissant la directive + AllowOverride + dans les fichiers de configuration principaux.

+ +

Pour plus d'informations sur les fichiers .htaccess, + se référer au tutoriel .htaccess.

+
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/configuring.html.ja.utf8 b/docs/manual/configuring.html.ja.utf8 new file mode 100644 index 0000000..ce3915a --- /dev/null +++ b/docs/manual/configuring.html.ja.utf8 @@ -0,0 +1,205 @@ + + + + + +設定ファイル - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

設定ファイル

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ã“ã®æ–‡æ›¸ã§ã¯ã€Apache HTTP サーãƒã‚’設定ã™ã‚‹ã®ã«ä½¿ç”¨ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¤ã„㦠+記述ã—ã¦ã„ã¾ã™ã€‚

+
+ +
top
+
+

メインã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«

+ + + +

Apache 㯠ディレクティブ を設定ファイルã«å¹³æ–‡ã§æ›¸ãã“ã¨ã«ã‚ˆã‚Šè¨­å®šã—ã¾ã™ã€‚ + メインã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯æ™®é€šã¯ httpd.conf ã¨ã„ã†åå‰ã§ã™ã€‚ + ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½ç½®ã¯ã‚³ãƒ³ãƒ‘イル時ã«è¨­å®šã•ã‚Œã¾ã™ãŒã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã® + -f フラグã«ã‚ˆã‚Šä¸Šæ›¸ãã§ãã¾ã™ã€‚ + ã¾ãŸã€ä»–ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’ Include + ディレクティブã«ã‚ˆã£ã¦è¿½åŠ ã§ãã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚’使用ã—ã¦å¤šæ•°ã® + 設定ファイルを追加ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã©ã‚“ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚‚ã€ã“れらã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã©ã‚Œã«ã§ã‚‚入れるã“ã¨ãŒã§ãã¾ã™ã€‚ + Apache ã¯èµ·å‹•æ™‚ã‹å†èµ·å‹•æ™‚ã®ã¿ãƒ¡ã‚¤ãƒ³è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´ã‚’èªè­˜ã—ã¾ã™ã€‚

+ +

サーãƒã¯ MIME + ドキュメントタイプをå«ã‚“ã§ã„るファイルも読ã¿è¾¼ã¿ã¾ã™ã€‚ファイルå㯠+ TypesConfig + ã§è¨­å®šã•ã‚Œã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ mime.types + ã«ãªã£ã¦ã„ã¾ã™ã€‚

+
top
+
+

設定ファイルã®æ§‹æ–‡

+ + +

Apache ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯ 1 行㫠1 ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‹ã‚‰ãªã‚Šã¾ã™ã€‚ + ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ "\" ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæ¬¡ã®è¡Œã«ç¶™ç¶šã—ã¦ã„ã‚‹ã“ã¨ã‚’ + 示ã™ãŸã‚ã«è¡Œã®æœ€å¾Œã®æ–‡å­—ã¨ã—ã¦ä½¿ã‚ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + è¡Œã®æœ€å¾Œã¨ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®é–“ã«ä»–ã®æ–‡å­—や空白ãŒã‚ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“。 +

+ +

設定ファイルã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“ãŒã€ + 引数ã«ã¯ã—ã°ã—ã°åŒºåˆ¥ã™ã‚‹ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ãƒãƒƒã‚·ãƒ¥æ–‡å­— "#" + ã§å§‹ã¾ã‚‹è¡Œã¯ã‚³ãƒ¡ãƒ³ãƒˆã¨è¦‹ãªã•ã‚Œã¦ç„¡è¦–ã•ã‚Œã¾ã™ã€‚ + 設定ディレクティブã¨åŒä¸€è¡Œã®æœ«å°¾ã«ã‚³ãƒ¡ãƒ³ãƒˆãŒå«ã¾ã‚Œã¦ã„ã¦ã¯ã„ã‘ã¾ã›ã‚“。ディレクティブã®å‰ã®ç©ºè¡Œã¨ç©ºç™½ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã®ã§ã€ + ã‚ã‹ã‚Šã‚„ã™ãã™ã‚‹ãŸã‚ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をインデントã—ã¦ã‚‚構ã„ã¾ã›ã‚“。 +

+ +

設定ファイルã®æ§‹æ–‡ã‚¨ãƒ©ãƒ¼ã¯ã€ + apachectl configtest + ã‹ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚ªãƒ—ション + -t を使ã£ã¦èª¿ã¹ã‚‰ã‚Œã¾ã™ã€‚

+
top
+
+

モジュール

+ + + + +

Apache ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«åŒ–ã•ã‚ŒãŸã‚µãƒ¼ãƒã§ã™ã€‚ + コアサーãƒã«ã¯æœ€ã‚‚基本的ãªæ©Ÿèƒ½ã ã‘ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚拡張機能㯠+ Apache ã«ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã—ã¦åˆ©ç”¨å¯èƒ½ã§ã™ã€‚デフォルトã§ã¯ã€ã‚³ãƒ³ãƒ‘イル時ã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® + Base セット (基本セット) ㌠+ サーãƒã«å«ã¾ã‚Œã¾ã™ã€‚サーãƒãŒå‹•çš„ロードモジュールを使ã†ã‚ˆã†ã«ã‚³ãƒ³ãƒ‘イルã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€ + モジュールを別ã«ã‚³ãƒ³ãƒ‘イルã—ã¦ã€ã„ã¤ã§ã‚‚ + LoadModule + ディレクティブを使ã£ã¦è¿½åŠ ã§ãã¾ã™ã€‚ + ãã†ã§ãªã„å ´åˆã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®è¿½åŠ ã‚„削除をã™ã‚‹ãŸã‚ã«ã¯ Apache + ã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚設定ディレクティブ㯠<IfModule> + ブロックã«å…¥ã‚Œã‚‹ã“ã¨ã§ç‰¹å®šã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå­˜åœ¨ã™ã‚‹ã¨ãã ã‘ + 設定ファイルã«å«ã¾ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

コマンドラインオプション -l を使ã£ã¦ç¾æ™‚点㧠+ ã©ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚µãƒ¼ãƒã«ã‚³ãƒ³ãƒ‘イルã•ã‚Œã¦ã„ã‚‹ã‹ã‚’知るã“ã¨ãŒã§ãã¾ã™ã€‚

+
top
+
+

ディレクティブã®é©ç”¨ç¯„囲

+ + + + +

メイン設定ファイルã«ã‚るディレクティブã¯ã‚µãƒ¼ãƒå…¨ä½“ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + サーãƒã®ä¸€éƒ¨åˆ†ã®è¨­å®šã ã‘を変更ã—ãŸã„å ´åˆã¯ <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch> + セクションã®ä¸­ã«ç½®ãã“ã¨ã§é©ç”¨ç¯„囲を決ã‚られã¾ã™ã€‚ + ã“れらã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ãã®ä¸­ã«ã‚るディレクティブã®é©ç”¨ç¯„囲を + 特定ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ä½ç½®ã‚„ URL ã«é™å®šã—ã¾ã™ã€‚ + éžå¸¸ã«ç´°ç²’度ã®è¨­å®šã‚’å¯èƒ½ã«ã™ã‚‹ãŸã‚ã«ã€ + セクションを入れå­ã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

Apache ã¯åŒæ™‚ã«å¤šãã®é•ã†ã‚¦ã‚§ãƒ–サイトを扱ã†èƒ½åŠ›ãŒã‚ã‚Šã¾ã™ã€‚ + ã“れ㯠ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ ã¨å‘¼ã°ã‚Œã¦ã„ã¾ã™ã€‚ + 特定ã®ã‚¦ã‚§ãƒ–サイトã«ã®ã¿é©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã€ + ディレクティブ㯠+ <VirtualHost> + セクションã®ä¸­ã«ç½®ãã“ã¨ã§ã‚‚é©ç”¨ç¯„囲を変ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã»ã¨ã‚“ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã©ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«ã§ã‚‚書ã‘ã¾ã™ãŒã€ + 中ã«ã¯ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã«ã‚ˆã£ã¦ã¯æ„味をãªã•ãªã„ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ã€‚ + 例ãˆã°ã€ãƒ—ロセスã®ä½œæˆã‚’制御ã—ã¦ã„るディレクティブã¯ãƒ¡ã‚¤ãƒ³ã‚µãƒ¼ãƒã® + コンテキストã«ã®ã¿æ›¸ãã“ã¨ãŒã§ãã¾ã™ã€‚ + ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ã©ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«æ›¸ãã“ã¨ãŒã§ãã‚‹ã‹ã‚’知るãŸã‚ã«ã¯ + ディレクティブ㮠コンテキスト を調ã¹ã¦ãã ã•ã„。詳ã—ã„情報ã¯ã€ + Directory, Location, Files + セクションã®å‹•ä½œæ³•ã«ã‚ã‚Šã¾ã™ã€‚

+
top
+
+

.htaccess ファイル

+ + + + +

Apache ã§ã¯ã‚¦ã‚§ãƒ–ツリーã®ä¸­ã«ç½®ã‹ã‚ŒãŸç‰¹åˆ¥ãªãƒ•ã‚¡ã‚¤ãƒ«ã‚’使ã£ã¦ + éžä¸­å¤®é›†æ¨©çš„ãªè¨­å®šç®¡ç†ã‚’ã§ãã¾ã™ã€‚ãã®ç‰¹åˆ¥ãªãƒ•ã‚¡ã‚¤ãƒ«ã¯æ™®é€šã¯ + .htaccess ã¨ã„ã†åå‰ã§ã€ + AccessFileName + ディレクティブã§ã©ã‚“ãªåå‰ã«ã§ã‚‚指定ã§ãã¾ã™ã€‚ + .htaccess + ファイルã«æ›¸ã‹ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ç½®ã„㟠+ ディレクトリã¨ãã®å…¨ã¦ã®ã‚µãƒ–ディレクトリã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + .htaccess ファイルã¯ã€ãƒ¡ã‚¤ãƒ³ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã¨åŒã˜ + 構文を使ã„ã¾ã™ã€‚ + .htaccess + ファイルã¯ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§èª­ã¿è¾¼ã¾ã‚Œã‚‹ãŸã‚〠+ 変更ã¯ã™ãã«å映ã•ã‚Œã¾ã™ã€‚

+ +

ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㌠.htaccess + ファイルã«æ›¸ã‘ã‚‹ã‹ã‚’調ã¹ã‚‹ã«ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ + を調ã¹ã¦ãã ã•ã„。サーãƒç®¡ç†è€…ã¯ã•ã‚‰ã«ãƒ¡ã‚¤ãƒ³è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® + AllowOverride + を設定ã™ã‚‹ã“ã¨ã§ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ .htaccess + ファイルã«æ›¸ã‘るよã†ã«ã™ã‚‹ã‹ã‚’制御ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

.htaccess ファイルã«é–¢ã™ã‚‹è©³ã—ã„情報㯠+ .htaccess ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« + ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/configuring.html.ko.euc-kr b/docs/manual/configuring.html.ko.euc-kr new file mode 100644 index 0000000..b17d264 --- /dev/null +++ b/docs/manual/configuring.html.ko.euc-kr @@ -0,0 +1,182 @@ + + + + + +¼³Á¤ÆÄÀÏ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¼³Á¤ÆÄÀÏ

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ¼³Á¤ÇÏ´Â ÆÄÀϵéÀ» ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

ÁÖ¼³Á¤ÆÄÀÏ

+ + + +

ÀÏ¹Ý ¹®¼­ ÆÄÀÏÀÎ ¼³Á¤ÆÄÀÏ¿¡ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡¸¦ + ¼³Á¤ÇÑ´Ù. ÁÖ¼³Á¤ÆÄÀÏÀ» º¸Åë httpd.conf¶ó°í + ºÎ¸¥´Ù. ÀÌ ÆÄÀÏÀÇ À§Ä¡´Â ÄÄÆÄÀϽà Á¤ÇØÁö³ª, -f + ¸í·ÉÇà ¿É¼ÇÀ¸·Î ÁöÁ¤ÇØÁÙ ¼ö ÀÖ´Ù. ¶Ç ´Ù¸¥ ¼³Á¤ÆÄÀÏÀ» Include Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© Æ÷ÇÔÇÒ + ¼ö ÀÖ°í, ¿ÍÀϵåÄ«µå¸¦ »ç¿ëÇÏ¿© ¸¹Àº ¼³Á¤ÆÄÀÏÀ» Æ÷ÇÔÇÒ ¼öµµ + ÀÖ´Ù. ÀÌ °æ¿ì Áö½Ã¾î¸¦ ¾î¶² ¼³Á¤ÆÄÀÏ¿¡³ª »ç¿ëÇصµ µÈ´Ù. + ÁÖ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇÏ¸é ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϰųª Àç½ÃÀÛÇÑ ÀÌÈÄ¿¡ + ¹Ý¿µµÈ´Ù.

+ +

¼­¹ö´Â mime ¹®¼­Å¸ÀÔÀ» ´ãÀº ÆÄÀϵµ Àд´Ù. ÆÄÀϸíÀº + TypesConfig Áö½Ã¾î·Î + ¼³Á¤ÇÏ°í, ±âº»°ªÀº mime.typesÀÌ´Ù.

+
top
+
+

¼³Á¤ÆÄÀÏ ¹®¹ý

+ + +

¾ÆÆÄÄ¡ ¼³Á¤ÆÄÀÏÀº ÇÑÁÙ¿¡ ÇÑ Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. ÁÙ ¸¶Áö¸· + ¹®ÀÚ°¡ ¹é½½·¡½¬ "\"À̸é Áö½Ã¾î°¡ ´ÙÀ½ ÁÙ¿¡¼­ °è¼ÓµÊÀ» ¶æÇÑ´Ù. + ÀÌ °æ¿ì ¹é½½·¡½¬ µÚ¿¡ ¾î¶² ¹®ÀÚ³ª °ø¹éµµ ³ª¿À¸é ¾ÈµÈ´Ù.

+ +

¼³Á¤ÆÄÀÏÀÇ Áö½Ã¾î´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö ¾ÊÁö¸¸, Áö½Ã¾îÀÇ + ¾Æ±Ô¸ÕÆ®´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. Çؽ¬¹®ÀÚ "#"·Î + ½ÃÀÛÇÏ´Â ÁÙÀº ÁÖ¼®À¸·Î ¹«½ÃÇÑ´Ù. ÁÖ¼®À» ¼³Á¤ Áö½Ã¾î¿Í °°Àº + ÁÙ¿¡ »ç¿ëÇÒ ¼ö ¾ø´Ù. ºóÁÙ°ú Áö½Ã¾î ¾Õ¿¡ ³ª¿À´Â + °ø¹éÀº ¹«½ÃÇϹǷÎ, °£°áÇÏ°Ô º¸À̵µ·Ï Áö½Ã¾î¸¦ ÁÙµéÀÓÇÒ(indent) + ¼ö ÀÖ´Ù.

+ +

apachectl configtest³ª -t ¸í·ÉÇà + ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏÁö ¾Ê°íµµ ¼³Á¤ÆÄÀÏÀÇ ¹®¹ý + ¿À·ù¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù.

+
top
+
+

¸ðµâ

+ + + + +

¾ÆÆÄÄ¡´Â ¸ðµâÈ­µÈ ¼­¹ö´Ù. ÀÌ´Â ¸Å¿ì ±âº»ÀûÀÎ ±â´É¸¸ÀÌ + ¼­¹ö Çٽɿ¡ Æ÷ÇÔµÇÀÖÀ½À» ¶æÇÑ´Ù. ¾ÆÆÄÄ¡´Â ¸ðµâÀ» Àоîµé¿©¼­ ±â´ÉÀ» + È®ÀåÇÑ´Ù. ±âº»ÀûÀ¸·Î ÄÄÆÄÀÏÇÏ¸é ¼­¹ö¿¡ base ¸ðµâµéÀÌ Æ÷ÇԵȴÙ. + ¼­¹ö¸¦ µ¿ÀûÀ¸·Î ÀоîµéÀÌ´Â ¸ðµâÀ» + »ç¿ëÇÒ ¼ö ÀÖ°Ô ÄÄÆÄÀÏÇÏ¿´´Ù¸é ¸ðµâÀ» µû·Î ÄÄÆÄÀÏÇÏ¿© ¾Æ¹«¶§³ª + LoadModule Áö½Ã¾î·Î + Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸ðµâÀ» Ãß°¡Çϰųª »©±âÀ§ÇØ + ¾ÆÆÄÄ¡¸¦ ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù. ¼³Á¤ Áö½Ã¾î¸¦ IfModule ºí·ÏÀ¸·Î °¨½Î¼­ ƯÁ¤ + ¸ðµâÀÌ ÀÖ´Â °æ¿ì¿¡¸¸ ¼±ÅÃÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Ù.

+ +

ÇöÀç ¼­¹ö¿¡ ¾î¶² ¸ðµâÀÌ ÄÄÆÄÀϵÇÀÖ´ÂÁö º¸·Á¸é -l + ¸í·ÉÇà ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.

+
top
+
+

Áö½Ã¾î Àû¿ë¹üÀ§

+ + + + +

ÁÖ¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î´Â ¼­¹ö Àüü¿¡ Àû¿ëµÈ´Ù. Áö½Ã¾î°¡ + ¼­¹öÀÇ ÀϺο¡¸¸ Àû¿ëµÇ°Ô ÇÏ·Á¸é Áö½Ã¾î¸¦ <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch> ¼½¼Ç ¾È¿¡ µÎ¾î¾ßÇÑ´Ù. + ÀÌ ¼½¼ÇµéÀº ±×µéÀÌ °¨½Î´Â Áö½Ã¾îÀÇ Àû¿ë¹üÀ§¸¦ ÆÄÀϽýºÅÛÀ̳ª + URLÀÇ Æ¯Á¤ À§Ä¡·Î ÇÑÁ¤ÇÑ´Ù. ¶Ç, ¼­·Î °ãÃļ­ »ç¿ëÇÒ ¼ö Àֱ⶧¹®¿¡ + ¸Å¿ì ¼¼¹ÐÇÑ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù.

+ +

¾ÆÆÄÄ¡´Â ¿©·¯ ´Ù¸¥ À¥»çÀÌÆ®¸¦ µ¿½Ã¿¡ ¼­ºñ½ºÇÏ´Â + ´É·ÂÀÌ ÀÖ´Ù. À̸¦ °¡»óÈ£½ºÆ®¶ó°í ÇÑ´Ù. + Áö½Ã¾î¸¦ + <VirtualHost> + ¼½¼Ç ¾È¿¡ µÎ¾î ƯÁ¤ À¥»çÀÌÆ®¿¡¸¸ Áö½Ã¾î¸¦ Àû¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

Áö½Ã¾î´Â ´ëºÎºÐ ¾î¶² ¼½¼Ç¿¡ ³ª¿Íµµ µÇÁö¸¸, ¾î¶² Áö½Ã¾î´Â + ƯÁ¤ Àå¼Ò¿¡¼­ Àǹ̰¡ ¾ø´Ù. ¿¹¸¦ µé¾î ÇÁ·Î¼¼½º »ý¼ºÀ» Á¶ÀýÇÏ´Â + Áö½Ã¾î´Â ÁÖ¼­¹ö¼³Á¤ Àå¼Ò¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Áö½Ã¾î°¡ + ¾î¶² ¼½¼Ç¿¡ À§Ä¡ÇÒ ¼ö ÀÖ´ÂÁö ¾Ë·Á¸é Áö½Ã¾îÀÇ »ç¿ëÀå¼Ò¸¦ È®ÀÎÇ϶ó. + ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ¾î¶»°Ô Directory, + Location, Files ¼½¼ÇÀÌ µ¿ÀÛÇϳª¸¦ Âü°íÇ϶ó.

+
top
+
+

.htaccess ÆÄÀÏ

+ + + + +

¾ÆÆÄÄ¡´Â Ưº°ÇÑ ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¼³Á¤À» + ³ª´²¼­(ºÐ±ÇÀûÀ¸·Î) °ü¸®ÇÒ ¼ö ÀÖ´Ù. ÀÌ Æ¯º°ÇÑ ÆÄÀÏÀ» º¸Åë + .htaccess¶ó°í ºÎ¸£Áö¸¸, À̸§Àº AccessFileName Áö½Ã¾î·Î + ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. .htaccess ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î´Â + ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿Í ¸ðµç ÇÏÀ§µð·ºÅ丮¿¡ Àû¿ëµÈ´Ù. + .htaccess ÆÄÀÏÀº ÁÖ¼³Á¤ÆÄÀÏ°ú °°Àº ¹®¹ýÀ» + µû¸¥´Ù. .htaccess ÆÄÀÏÀº ¸Å ¿äû¶§¸¶´Ù Àб⶧¹®¿¡ + ÆÄÀÏÀ» ¼öÁ¤Çϸé Áï½Ã È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù.

+ +

¾î¶² Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡ »ç¿ëÇÒ ¼ö + ÀÖ´ÂÁö ¾Ë·Á¸é Áö½Ã¾îÀÇ »ç¿ëÀå¼Ò¸¦ + È®ÀÎÇ϶ó. ¼­¹ö °ü¸®ÀÚ´Â ÁÖ¼³Á¤ÆÄÀÏÀÇ AllowOverride Áö½Ã¾î·Î + .htaccess ÆÄÀÏ¿¡ ¾î¶² Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö + Á¶ÀýÇÒ ¼ö ÀÖ´Ù.

+ +

.htaccess ÆÄÀÏ¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â + .htaccess ÅõÅ丮¾óÀ» + Âü°íÇ϶ó.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/configuring.html.tr.utf8 b/docs/manual/configuring.html.tr.utf8 new file mode 100644 index 0000000..90c3046 --- /dev/null +++ b/docs/manual/configuring.html.tr.utf8 @@ -0,0 +1,233 @@ + + + + + +Yapılandırma Dosyaları - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Yapılandırma Dosyaları

+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu belgede Apache HTTP Sunucusunu yapılandırmakta kullanılan dosyalar +açıklanmıştır.

+
+ +
top
+
+

Ana Yapılandırma Dosyaları

+ + + +

Apache HTTP Sunucusu düz metin yapılandırma dosyalarına yönergeler yerleştirilerek yapılandırılır. + Ana yapılandırma dosyasının ismi normalde httpd.conf’tur. + Bu dosyanın yeri derleme sırasında belirlenir, ancak çalıştırma + sırasında -f komut satırı seçeneği ile başka bir yer + belirtilebilir. Ayrıca, Include + yönergesi kullanılarak başka yapılandırma dosyaları da eklenebilir + ve bu dosyaların isimleri belirtilirken dosya ismi şablonları + kullanılabilir. Bu dosyaların içine de ana yapılandırma dosyasında + olduğu gibi her türlü yönerge yerleştirilebilir. Ana yapılandırma + dosyalarındaki değişiklikler httpd tarafından sadece başlatma veya + yeniden başlatma sırasında etkin kılınır.

+ +

Sunucu ayrıca MIME belge türlerini içeren bir dosya daha okur; + dosya ismi öntanımlı olarak mime.types olup TypesConfig yönergesi ile başka bir dosya + belirtilebilir.

+
top
+
+

Yapılandırma Dosyalarının Sözdizimi

+ + +

httpd yapılandırma dosyalarının her satırında sadece bir yönerge + bulunur ve bir yönergenin birden fazla satıra yayılması daha iyi + olacaksa satır katlanabilir; devamı bir alt satırda olan her satırın + son karakteri “\†(tersbölü) olmalı, satırsonu karakteri ile bu tersbölü + karakteri arasında başka karakter bulunmamalıdır.

+ +

Yönergelerdeki değiştirgeler boşluklarla ayrılır. Eğer bir değiştirge + kendi içinde boşluklar içeriyorsa tırnak içine alınır.

+ +

Yapılandırma dosyalarındaki yönergelerin isimleri harf büyüklüğüne + duyarlı olduÄŸu halde argümanları genellikle harf büyüklüğüne duyarlı + deÄŸildir. Diyez (“#â€) karakteri ile baÅŸlayan satırlar açıklama olarak + ele alınır ve yok sayılırlar. Yapılandırma yönergesi içeren satırlara + açıklama yerleÅŸtirilemez. Yönerge isminden önce yer alan boÅŸluklar + yoksayılır; bu özellik, okunabilirliÄŸi saÄŸlamak için yönergelerin + girintilenebilmesi olanağını verir. Ayrıca, boÅŸ satırlar da + yoksayılır.

+ + +

Define ile veya kabuğun ortam + değişkenleri ile tanımlanmış değişkenlerin değerleri, yapılandırma + dosyasının satırlarında ${VAR} sözdizimi ile kullanılabilir. + "VAR" geçerli bir değişkenin adı olduğu takdirde, bu değişkenin değeri + yapılandırma dosyasının bu noktasında yerine konacak ve orada zaten + değişken yerine değeri varmış gibi işlem kaldığı yerden devam edecektir. + Define ile tanımlanmış değişkenler + kabuğun ortam değişkenlerinden önceliklidir. "VAR" diye bir değişken yoksa + ${VAR} içindeki karakterler değişmeden kalır ve günlüğe bir + uyarı çıktılanır. RewriteMap + sözdizimi ile olası bir karışıklığı önlemek için, değişken isimleri iki + nokta imini (":") içeremez.

+ +

Kabuğun ortam değişkenlerinin, sadece, sunucu başlatılmadan önce + tanımlanmış değerleri kullanılabilir. Yapılandırma dosyasının kendisinde + tanımlanmış ortam değişkenleri (örneğin, + SetEnv ile), yapılandırma + dosyasındaki işlemlerde çok daha sonra yer alır.

+ +

Yapılandırma dosyasındaki bir satırın uzunluğu, değişken ikamesi + yapıldıkta, devam satırları eklenditen sonra en fazla 16MiB olabilir. .htaccess dosyalarında azami uzunluk + 8190 karakterdir.

+ +

Sunucuyu başlatmadan önce apachectl configtest ile veya + -t komut satırı seçeneği ile yapılandırma dosyalarınızı + sözdizimi hatalarına karşı sınayabilirsiniz.

+ +

Eşleşmeyen <IfDefine> + ve <IfModule> bölümleri + kaldırılmış, tüm açıklamalar, çözümlenmiş ortam değişkenleri ve içerilmiş + tüm dosyalar dahil yapılandırmanın bir dökümünü almak için + mod_info'nun -DDUMP_CONFIG seçeneğini + kullanabilirsiniz. Ancak, çıktı yinelenen yönergeler için katıştırılan veya + geçersiz kılınanları yansıtmayacaktır.

+
top
+
+

Modüller

+ + + + +

httpd modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en + temel işlevselliği içermesi demektir. Ek özellikler, httpd’ye modüller halinde yüklenebilir. Öntanımlı olarak, derleme + sırasında sunucunun temel bir + modül kümesi içermesi sağlanır. Eğer sunucu devingen + yüklenen modülleri kullanmak üzere yapılandırılarak derlenirse modüller + ayrı olarak derlenip gerektiği zaman + LoadModule yönergesi kullanılarak yüklenebilir. Aksi takdirde, + ek modülleri yükleyebilmek veya kaldırabilmek için httpd’nin yeniden + derlenmesi gerekir. Yapılandırma yönergeleri belli bir modülün varlığına + dayalı olarak bir <IfModule> + bloku içine alınmak suretiyle sunucuya koşullu olarak eklenebilir. Ancak, + <IfModule> yönergeleri + gerekli değildir, önemli bir modülün yokluğu gibi durumlarda + maskelenebilir.

+ +

Sunucunun içinde derlenmiş modüllerin listesini görmek için + -l komut satırı seçeneğini kullanabilirsiniz. Ayrıca, + -M komut satırı seçeneği ile hangi modüllerin devingen olarak + yüklendiğini görebilirsiniz.

+
top
+
+

Yönergelerin Etki Alanı

+ + + + +

Ana yapılandırma dosyasına yerleştirilen yönergeler sunucunun tamamına + uygulanır. Yapılandırmanızı sunucunun belli bir parçası için değiştirmek + isterseniz yönergelerinizi <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location> ve <LocationMatch> bölümleri içine yerleştirerek etki + alanlarını değiştirebilirsiniz. Bu bölümler yönergelerin etkilediği + alanları dosya sistemininin belli yerleri veya belli URL’lerle sınırlar. + Yerine göre daha hassas ayarlamalar yapmak için bu bölgeler iç içe de + kullanılabilir.

+ +

httpd, çok sayıda farklı siteyi aynı anda sunabilecek yetenektedir. + Buna Sanal Konaklık adı verilir. Yönergelerin etki + alanları ayrıca <VirtualHost> + bölümleri içine konarak da değiştirilebilir. Böylece belli bir siteye gelen + isteklere farklı bir uygulama yapılabilir.

+ +

Yönergelerin çoğu bu bölümlere yerleştirilebilirse de bazı yönergelerin + bazı bağlamlarda bir etkisi olmaz. Örneğin, süreç oluşturmayı denetleyen + yönergeler sadece ana sunucu bağlamına yerleştirilebilir. Hangi yönergenin + hangi bağlama yerleştirilebileceğini bulmak için yönergenin bağlamına bakınız. Bu konuda daha + ayrıntılı bilgi edinmek için: Directory, Location ve + Files Bölümleri Nasıl Çalışır.

+
top
+
+

.htaccess Dosyaları

+ + + + +

httpd yapılandırma sorumluluğunu dağıtmak için site ağaçları içine özel + dosyalar yerleştirilmesine izin verir. Bu özel dosyalar normalde + .htaccess dosyaları olmakla birlikte AccessFileName yönergesi kullanılarak rasgele bir isim + belirtilebilir. .htaccess dosyalarına yerleştirilen yönergeler + sadece dosyanın bulunduğu dizine ve alt dizinlerine uygulanır. + .htaccess dosyalarında da ana yapılandırma dosyalarında geçerli + sözdizimi kullanılır. .htaccess dosyaları her istek gelişinde + yeniden okunduğundan bu dosyalarda yapılan değişiklikler hemen etkisini + gösterir.

+ +

.htaccess dosyalarına hangi yönergelerin + yerleştirilebileceğini bulmak için yönerge bağlamına bakınız. + Sunucunun yöneticisi .htaccess dosyalarına hangi yönergelerin + yerleştirilebileceğini ana yapılandırma dosyalarında + AllowOverride yönergesini kullanarak + belirleyebilir.

+ +

.htaccess dosyaları hakkında daha ayrıntılı bilgi edinmek + için .htaccess öğreticisine bakabilirsiniz.

+
+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/content-negotiation.html b/docs/manual/content-negotiation.html new file mode 100644 index 0000000..38e61c2 --- /dev/null +++ b/docs/manual/content-negotiation.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: content-negotiation.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: content-negotiation.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: content-negotiation.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: content-negotiation.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: content-negotiation.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/content-negotiation.html.en b/docs/manual/content-negotiation.html.en new file mode 100644 index 0000000..e64e336 --- /dev/null +++ b/docs/manual/content-negotiation.html.en @@ -0,0 +1,711 @@ + + + + + +Content Negotiation - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Content Negotiation

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Apache HTTPD supports content negotiation as described in + the HTTP/1.1 specification. It can choose the best + representation of a resource based on the browser-supplied + preferences for media type, languages, character set and + encoding. It also implements a couple of features to give + more intelligent handling of requests from browsers that send + incomplete negotiation information.

+ +

Content negotiation is provided by the + mod_negotiation module, which is compiled in + by default.

+
+ +
top
+
+

About Content Negotiation

+ +

A resource may be available in several different + representations. For example, it might be available in + different languages or different media types, or a combination. + One way of selecting the most appropriate choice is to give the + user an index page, and let them select. However it is often + possible for the server to choose automatically. This works + because browsers can send, as part of each request, information + about what representations they prefer. For example, a browser + could indicate that it would like to see information in French, + if possible, else English will do. Browsers indicate their + preferences by headers in the request. To request only French + representations, the browser would send

+ +

Accept-Language: fr

+ +

Note that this preference will only be applied when there is + a choice of representations and they vary by language.

+ +

As an example of a more complex request, this browser has + been configured to accept French and English, but prefer + French, and to accept various media types, preferring HTML over + plain text or other text types, and preferring GIF or JPEG over + other media types, but also allowing any other media type as a + last resort:

+ +

+ Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 +

+ +

httpd supports 'server driven' content negotiation, as + defined in the HTTP/1.1 specification. It fully supports the + Accept, Accept-Language, + Accept-Charset and Accept-Encoding + request headers. httpd also supports 'transparent' + content negotiation, which is an experimental negotiation + protocol defined in RFC 2295 and RFC 2296. It does not offer + support for 'feature negotiation' as defined in these RFCs.

+ +

A resource is a conceptual entity + identified by a URI (RFC 2396). An HTTP server like Apache HTTP Server + provides access to representations of the + resource(s) within its namespace, with each representation in + the form of a sequence of bytes with a defined media type, + character set, encoding, etc. Each resource may be associated + with zero, one, or more than one representation at any given + time. If multiple representations are available, the resource + is referred to as negotiable and each of its + representations is termed a variant. The ways + in which the variants for a negotiable resource vary are called + the dimensions of negotiation.

+
top
+
+

Negotiation in httpd

+ +

In order to negotiate a resource, the server needs to be + given information about each of the variants. This is done in + one of two ways:

+ +
    +
  • Using a type map (i.e., a *.var + file) which names the files containing the variants + explicitly, or
  • + +
  • Using a 'MultiViews' search, where the server does an + implicit filename pattern match and chooses from among the + results.
  • +
+ +

Using a type-map file

+ +

A type map is a document which is associated with the handler + named type-map (or, for backwards-compatibility with + older httpd configurations, the MIME-type + application/x-type-map). Note that to use this + feature, you must have a handler set in the configuration that + defines a file suffix as type-map; this is best done + with

+ +
AddHandler type-map .var
+ + +

in the server configuration file.

+ +

Type map files should have the same name as the resource + which they are describing, followed by the extension + .var. In the examples shown below, the resource is + named foo, so the type map file is named + foo.var.

+ +

This file should have an entry for each available + variant; these entries consist of contiguous HTTP-format header + lines. Entries for different variants are separated by blank + lines. Blank lines are illegal within an entry. It is + conventional to begin a map file with an entry for the combined + entity as a whole (although this is not required, and if + present will be ignored). An example map file is shown below.

+ +

URIs in this file are relative to the location of the type map + file. Usually, these files will be located in the same directory as + the type map file, but this is not required. You may provide + absolute or relative URIs for any file located on the same server as + the map file.

+ +

+ URI: foo
+
+ URI: foo.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: foo.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+

+ +

Note also that a typemap file will take precedence over the + filename's extension, even when Multiviews is on. If the + variants have different source qualities, that may be indicated + by the "qs" parameter to the media type, as in this picture + (available as JPEG, GIF, or ASCII-art):

+ +

+ URI: foo
+
+ URI: foo.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: foo.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: foo.txt
+ Content-type: text/plain; qs=0.01
+

+ +

qs values can vary in the range 0.000 to 1.000. Note that + any variant with a qs value of 0.000 will never be chosen. + Variants with no 'qs' parameter value are given a qs factor of + 1.0. The qs parameter indicates the relative 'quality' of this + variant compared to the other available variants, independent + of the client's capabilities. For example, a JPEG file is + usually of higher source quality than an ASCII file if it is + attempting to represent a photograph. However, if the resource + being represented is an original ASCII art, then an ASCII + representation would have a higher source quality than a JPEG + representation. A qs value is therefore specific to a given + variant depending on the nature of the resource it + represents.

+ +

The full list of headers recognized is available in the mod_negotiation + typemap documentation.

+ + +

Multiviews

+ +

MultiViews is a per-directory option, meaning it + can be set with an Options + directive within a <Directory>, <Location> or <Files> section in + httpd.conf, or (if AllowOverride is properly set) in + .htaccess files. Note that Options All + does not set MultiViews; you have to ask for it by + name.

+ +

The effect of MultiViews is as follows: if the + server receives a request for /some/dir/foo, if + /some/dir has MultiViews enabled, and + /some/dir/foo does not exist, then the + server reads the directory looking for files named foo.*, and + effectively fakes up a type map which names all those files, + assigning them the same media types and content-encodings it + would have if the client had asked for one of them by name. It + then chooses the best match to the client's requirements.

+ +

MultiViews may also apply to searches for the file + named by the DirectoryIndex directive, if the + server is trying to index a directory. If the configuration files + specify

+
DirectoryIndex index
+ +

then the server will arbitrate between index.html + and index.html3 if both are present. If neither + are present, and index.cgi is there, the server + will run it.

+ +

If one of the files found when reading the directory does not + have an extension recognized by mod_mime to designate + its Charset, Content-Type, Language, or Encoding, then the result + depends on the setting of the MultiViewsMatch directive. This + directive determines whether handlers, filters, and other + extension types can participate in MultiViews negotiation.

+ +
top
+
+

The Negotiation Methods

+ +

After httpd has obtained a list of the variants for a given + resource, either from a type-map file or from the filenames in + the directory, it invokes one of two methods to decide on the + 'best' variant to return, if any. It is not necessary to know + any of the details of how negotiation actually takes place in + order to use httpd's content negotiation features. However the + rest of this document explains the methods used for those + interested.

+ +

There are two negotiation methods:

+ +
    +
  1. Server driven negotiation with the httpd + algorithm is used in the normal case. The httpd + algorithm is explained in more detail below. When this + algorithm is used, httpd can sometimes 'fiddle' the quality + factor of a particular dimension to achieve a better result. + The ways httpd can fiddle quality factors is explained in + more detail below.
  2. + +
  3. Transparent content negotiation is used + when the browser specifically requests this through the + mechanism defined in RFC 2295. This negotiation method gives + the browser full control over deciding on the 'best' variant, + the result is therefore dependent on the specific algorithms + used by the browser. As part of the transparent negotiation + process, the browser can ask httpd to run the 'remote + variant selection algorithm' defined in RFC 2296.
  4. +
+ +

Dimensions of Negotiation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DimensionNotes
Media TypeBrowser indicates preferences with the Accept + header field. Each item can have an associated quality factor. + Variant description can also have a quality factor (the "qs" + parameter).
LanguageBrowser indicates preferences with the + Accept-Language header field. Each item can have + a quality factor. Variants can be associated with none, one or + more than one language.
EncodingBrowser indicates preference with the + Accept-Encoding header field. Each item can have + a quality factor.
CharsetBrowser indicates preference with the + Accept-Charset header field. Each item can have a + quality factor. Variants can indicate a charset as a parameter + of the media type.
+ + +

httpd Negotiation Algorithm

+ +

httpd can use the following algorithm to select the 'best' + variant (if any) to return to the browser. This algorithm is + not further configurable. It operates as follows:

+ +
    +
  1. First, for each dimension of the negotiation, check the + appropriate Accept* header field and assign a + quality to each variant. If the Accept* header for + any dimension implies that this variant is not acceptable, + eliminate it. If no variants remain, go to step 4.
  2. + +
  3. + Select the 'best' variant by a process of elimination. Each + of the following tests is applied in order. Any variants + not selected at each test are eliminated. After each test, + if only one variant remains, select it as the best match + and proceed to step 3. If more than one variant remains, + move on to the next test. + +
      +
    1. Multiply the quality factor from the Accept + header with the quality-of-source factor for this variants + media type, and select the variants with the highest + value.
    2. + +
    3. Select the variants with the highest language quality + factor.
    4. + +
    5. Select the variants with the best language match, + using either the order of languages in the + Accept-Language header (if present), or else + the order of languages in the LanguagePriority + directive (if present).
    6. + +
    7. Select the variants with the highest 'level' media + parameter (used to give the version of text/html media + types).
    8. + +
    9. Select variants with the best charset media + parameters, as given on the Accept-Charset + header line. Charset ISO-8859-1 is acceptable unless + explicitly excluded. Variants with a text/* + media type but not explicitly associated with a particular + charset are assumed to be in ISO-8859-1.
    10. + +
    11. Select those variants which have associated charset + media parameters that are not ISO-8859-1. If + there are no such variants, select all variants + instead.
    12. + +
    13. Select the variants with the best encoding. If there + are variants with an encoding that is acceptable to the + user-agent, select only these variants. Otherwise if + there is a mix of encoded and non-encoded variants, + select only the unencoded variants. If either all + variants are encoded or all variants are not encoded, + select all variants.
    14. + +
    15. Select the variants with the smallest content + length.
    16. + +
    17. Select the first variant of those remaining. This + will be either the first listed in the type-map file, or + when variants are read from the directory, the one whose + file name comes first when sorted using ASCII code + order.
    18. +
    +
  4. + +
  5. The algorithm has now selected one 'best' variant, so + return it as the response. The HTTP response header + Vary is set to indicate the dimensions of + negotiation (browsers and caches can use this information when + caching the resource). End.
  6. + +
  7. To get here means no variant was selected (because none + are acceptable to the browser). Return a 406 status (meaning + "No acceptable representation") with a response body + consisting of an HTML document listing the available + variants. Also set the HTTP Vary header to + indicate the dimensions of variance.
  8. +
+ +
top
+
+

Fiddling with Quality + Values

+ +

httpd sometimes changes the quality values from what would + be expected by a strict interpretation of the httpd + negotiation algorithm above. This is to get a better result + from the algorithm for browsers which do not send full or + accurate information. Some of the most popular browsers send + Accept header information which would otherwise + result in the selection of the wrong variant in many cases. If a + browser sends full and correct information these fiddles will not + be applied.

+ +

Media Types and Wildcards

+ +

The Accept: request header indicates preferences + for media types. It can also include 'wildcard' media types, such + as "image/*" or "*/*" where the * matches any string. So a request + including:

+ +

Accept: image/*, */*

+ +

would indicate that any type starting "image/" is acceptable, + as is any other type. + Some browsers routinely send wildcards in addition to explicit + types they can handle. For example:

+ +

+ Accept: text/html, text/plain, image/gif, image/jpeg, */* +

+

The intention of this is to indicate that the explicitly listed + types are preferred, but if a different representation is + available, that is ok too. Using explicit quality values, + what the browser really wants is something like:

+

+ Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +

+

The explicit types have no quality factor, so they default to a + preference of 1.0 (the highest). The wildcard */* is given a + low preference of 0.01, so other types will only be returned if + no variant matches an explicitly listed type.

+ +

If the Accept: header contains no q + factors at all, httpd sets the q value of "*/*", if present, to + 0.01 to emulate the desired behavior. It also sets the q value of + wildcards of the format "type/*" to 0.02 (so these are preferred + over matches against "*/*". If any media type on the + Accept: header contains a q factor, these special + values are not applied, so requests from browsers which + send the explicit information to start with work as expected.

+ + +

Language Negotiation Exceptions

+ +

New in httpd 2.0, some exceptions have been added to the + negotiation algorithm to allow graceful fallback when language + negotiation fails to find a match.

+ +

When a client requests a page on your server, but the server + cannot find a single page that matches the + Accept-language sent by + the browser, the server will return either a "No Acceptable + Variant" or "Multiple Choices" response to the client. To avoid + these error messages, it is possible to configure httpd to ignore + the Accept-language in these cases and provide a + document that does not explicitly match the client's request. The + ForceLanguagePriority + directive can be used to override one or both of these error + messages and substitute the servers judgement in the form of the + LanguagePriority + directive.

+ +

The server will also attempt to match language-subsets when no + other match can be found. For example, if a client requests + documents with the language en-GB for British + English, the server is not normally allowed by the HTTP/1.1 + standard to match that against a document that is marked as simply + en. (Note that it is almost surely a configuration + error to include en-GB and not en in the + Accept-Language header, since it is very unlikely + that a reader understands British English, but doesn't understand + English in general. Unfortunately, many current clients have + default configurations that resemble this.) However, if no other + language match is possible and the server is about to return a "No + Acceptable Variants" error or fallback to the LanguagePriority, the server + will ignore the subset specification and match en-GB + against en documents. Implicitly, httpd will add + the parent language to the client's acceptable language list with + a very low quality value. But note that if the client requests + "en-GB; q=0.9, fr; q=0.8", and the server has documents + designated "en" and "fr", then the "fr" document will be returned. + This is necessary to maintain compliance with the HTTP/1.1 + specification and to work effectively with properly configured + clients.

+ +

In order to support advanced techniques (such as cookies or + special URL-paths) to determine the user's preferred language, + since httpd 2.0.47 mod_negotiation recognizes + the environment variable + prefer-language. If it exists and contains an + appropriate language tag, mod_negotiation will + try to select a matching variant. If there's no such variant, + the normal negotiation process applies.

+ +

Example

SetEnvIf Cookie "language=(.+)" prefer-language=$1
+Header append Vary cookie
+
+ +
top
+
+

Extensions to Transparent Content +Negotiation

+ +

httpd extends the transparent content negotiation protocol (RFC +2295) as follows. A new {encoding ..} element is used in +variant lists to label variants which are available with a specific +content-encoding only. The implementation of the RVSA/1.0 algorithm +(RFC 2296) is extended to recognize encoded variants in the list, and +to use them as candidate variants whenever their encodings are +acceptable according to the Accept-Encoding request +header. The RVSA/1.0 implementation does not round computed quality +factors to 5 decimal places before choosing the best variant.

+
top
+
+

Note on hyperlinks and naming conventions

+ +

If you are using language negotiation you can choose between + different naming conventions, because files can have more than + one extension, and the order of the extensions is normally + irrelevant (see the mod_mime documentation + for details).

+ +

A typical file has a MIME-type extension (e.g., + html), maybe an encoding extension (e.g., + gz), and of course a language extension + (e.g., en) when we have different + language variants of this file.

+ +

Examples:

+ +
    +
  • foo.en.html
  • + +
  • foo.html.en
  • + +
  • foo.en.html.gz
  • +
+ +

Here some more examples of filenames together with valid and + invalid hyperlinks:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FilenameValid hyperlinkInvalid hyperlink
foo.html.enfoo
+ foo.html
-
foo.en.htmlfoofoo.html
foo.html.en.gzfoo
+ foo.html
foo.gz
+ foo.html.gz
foo.en.html.gzfoofoo.html
+ foo.html.gz
+ foo.gz
foo.gz.html.enfoo
+ foo.gz
+ foo.gz.html
foo.html
foo.html.gz.enfoo
+ foo.html
+ foo.html.gz
foo.gz
+ +

Looking at the table above, you will notice that it is always + possible to use the name without any extensions in a hyperlink + (e.g., foo). The advantage is that you + can hide the actual type of a document rsp. file and can change + it later, e.g., from html to + shtml or cgi without changing any + hyperlink references.

+ +

If you want to continue to use a MIME-type in your + hyperlinks (e.g. foo.html) the language + extension (including an encoding extension if there is one) + must be on the right hand side of the MIME-type extension + (e.g., foo.html.en).

+
top
+
+

Note on Caching

+ +

When a cache stores a representation, it associates it with + the request URL. The next time that URL is requested, the cache + can use the stored representation. But, if the resource is + negotiable at the server, this might result in only the first + requested variant being cached and subsequent cache hits might + return the wrong response. To prevent this, httpd normally + marks all responses that are returned after content negotiation + as non-cacheable by HTTP/1.0 clients. httpd also supports the + HTTP/1.1 protocol features to allow caching of negotiated + responses.

+ +

For requests which come from a HTTP/1.0 compliant client + (either a browser or a cache), the directive CacheNegotiatedDocs can be + used to allow caching of responses which were subject to + negotiation. This directive can be given in the server config or + virtual host, and takes no arguments. It has no effect on requests + from HTTP/1.1 clients.

+ +

For HTTP/1.1 clients, httpd sends a Vary HTTP + response header to indicate the negotiation dimensions for the + response. Caches can use this information to determine whether a + subsequent request can be served from the local copy. To + encourage a cache to use the local copy regardless of the + negotiation dimensions, set the force-no-vary environment variable.

+ +
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/content-negotiation.html.fr.utf8 b/docs/manual/content-negotiation.html.fr.utf8 new file mode 100644 index 0000000..7d6ca70 --- /dev/null +++ b/docs/manual/content-negotiation.html.fr.utf8 @@ -0,0 +1,742 @@ + + + + + +Négociation de contenu - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Négociation de contenu

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Apache HTTPD supporte la négociation de + contenu telle qu'elle est décrite + dans la spécification HTTP/1.1. Il peut choisir la meilleure représentation + d'une ressource en fonction des préférences du navigateur pour ce qui + concerne le type de media, les langages, le jeu de caractères et son + encodage. Il implémente aussi quelques fonctionnalités pour traiter de + manière plus intelligente les requêtes en provenance de navigateurs qui + envoient des informations de négociation incomplètes.

+ +

La négociation de contenu est assurée par le module + mod_negotiation qui est compilé par défaut + dans le serveur.

+
+ +
top
+
+

À propos de la négociation de contenu

+ +

Une ressource peut être disponible selon différentes représentations. + Par exemple, elle peut être disponible en différents langages ou pour + différents types de média, ou une combinaison des deux. + Pour faire le meilleur choix, on peut fournir à l'utilisateur une page + d'index, et le laisser choisir. Cependant, le serveur peut souvent faire + ce choix automatiquement. Ceci est possible car les navigateurs peuvent + envoyer des informations sur les + représentations qu'ils préfèrent à l'intérieur de chaque requête. + Par exemple, un navigateur peut indiquer + qu'il préfère voir les informations en français, mais qu'en cas + d'impossibilité l'anglais peut convenir. Les navigateurs indiquent leurs + préférences à l'aide d'en-têtes dans la requête. Pour ne demander que des + représentations en français, le navigateur peut utiliser l'en-tête :

+ +

Accept-Language: fr

+ +

Notez qu'il ne sera tenu compte de cette préférence que s'il existe un + choix de représentations et que ces dernières varient en fonction + du langage.

+ +

À titre d'exemple d'une requête plus complexe, ce navigateur a été + configuré pour accepter le français et l'anglais, avec une préférence pour + le français, et accepter différents types de média, avec une préférence + pour HTML par rapport à au texte plat ("plain text") ou autres types de fichiers texte, et + avec une préférence pour GIF ou JPEG par rapport à tout autre type de + média, mais autorisant tout autre type de média en dernier ressort :

+ +

+ Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 +

+ +

httpd supporte la négociation de contenu "server driven" (telle qu'elle + est définie dans la spécification HTTP/1.1), où c'est le serveur qui + décide quelle est la meilleure représentation à retourner pour la ressource + demandée. Il supporte entièrement les en-têtes de requête + Accept, Accept-Language, + Accept-Charset et Accept-Encoding. + httpd supporte aussi la négociation de contenu transparente, qui est un + protocole de négociation expérimental défini dans les RFC 2295 et 2296. + Il ne supporte pas la négociation de fonctionnalité (feature negotiation) + telle qu'elle est définie dans ces RFCs.

+ +

Une ressource est une entité conceptuelle identifiée + par une URI (RFC 2396). Un serveur HTTP comme le serveur HTTP Apache + propose l'accès à des + représentations de la ressource à l'intérieur de son + espace de nommage, chaque représentation étant composée d'une séquence + d'octets avec la définition d'un type de media, d'un jeu de caractères, + d'un encodage, etc... A un instant donné, chaque ressource peut être + associée avec zéro, une ou plusieurs représentations. Si plusieurs + représentations sont disponibles, la ressource est qualifiée de + négociable et chacune de ses représentations se nomme + variante. Les différences entre les + variantes disponibles d'une ressource négociable constituent les + dimensions de la négociation.

+
top
+
+

La négociation avec httpd

+ +

Afin de négocier une ressource, on doit fournir au serveur des + informations à propos de chacune des variantes. Il y a deux manières + d'accomplir ceci :

+ +
    +
  • Utiliser une liste de correspondances de type ("type-map") (c'est à dire + un fichier *.var) qui nomme explicitement les fichiers + contenant les variantes, ou
  • + +
  • Utiliser une recherche "multivues", où le serveur effectue une + recherche de correspondance sur un motif de nom de fichier implicite et + fait son choix parmi les différents résultats.
  • +
+ +

Utilisation d'un fichier de + correspondances de types (type-map)

+ +

Une liste de correspondances de types est un document associé au + gestionnaire type-map (ou, dans un souci de compatibilité + ascendante avec des configurations de httpd plus anciennes, le + type MIME + application/x-type-map). Notez que pour utiliser cette + fonctionnalité, vous devez, dans le fichier de configuration, définir un + gestionnaire qui associe un suffixe de fichier à une type-map; + ce qui se fait simplement en ajoutant

+ +
AddHandler type-map .var
+ + +

dans le fichier de configuration du serveur.

+ +

Les fichiers de correspondances de types doivent posséder le même nom que + la ressource qu'ils décrivent, avec pour extension + .var. Dans l'exemple ci-dessous, la ressource a pour + nom foo, et le fichier de correspondances se nomme donc + foo.var.

+ +

Ce fichier doit comporter une entrée pour chaque variante + disponible; chaque entrée consiste en une ligne contiguë d'en-têtes au + format HTTP. les entrées sont séparées par des lignes vides. Les lignes + vides à l'intérieur d'une entrée sont interdites. Par convention, le + fichier de correspondances de types débute par une entrée concernant l'entité + considérée dans son ensemble (bien que ce ne soit pas obligatoire, et + ignoré si présent). Un exemple de fichier de + correspondance de types est fourni + ci-dessous.

+ +

Les URIs de ce fichier sont relatifs à la localisation du fichier + de correspondances de types. En général, ces fichiers se trouveront dans le + même répertoire que le fichier de correspondances de types, mais ce + n'est pas obligatoire. Vous pouvez utiliser des URIs absolus ou + relatifs pour tout fichier situé sur le même serveur que le fichier + de correspondances.

+ +

+ URI: foo
+
+ URI: foo.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: foo.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+

+ +

Notez aussi qu'un fichier de correspondances de types prend le pas sur + les extensions de noms de fichiers, même si les Multivues sont activées. + Si les variantes sont de qualités différentes, on doit l'indiquer + à l'aide du paramètre "qs" à la suite du type de média, comme pour cette + image + (disponible aux formats JPEG, GIF, ou ASCII-art) :

+ +

+ URI: foo
+
+ URI: foo.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: foo.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: foo.txt
+ Content-type: text/plain; qs=0.01
+

+ +

Les valeurs de qs peuvent varier de 0.000 à 1.000. Notez que toute + variante possédant une valeur de qs de 0.000 ne sera jamais choisie. + Les variantes qui n'ont pas de paramètre qs défini se voient attribuer + une valeur de 1.0. Le paramètre qs indique la qualité relative de la + variante comparée à celle des autres variantes disponibles, sans tenir + compte des capacités du client. Par exemple, un fichier JPEG possède + en général une qualité supérieure à celle d'un fichier ASCII s'il + représente une photographie. Cependant, si la ressource représentée est + à un ASCII art original, la représentation ASCII sera de meilleure qualité + que la représentation JPEG. Ainsi une valeur de qs est associée à une + variante en fonction de la nature de la ressource qu'elle représente.

+ +

La liste complète des en-têtes reconnus est disponible dans la + documentation sur les correspondances de types du + module mod_negotiation.

+ + +

Multivues (option Multiviews)

+ +

MultiViews est une option qui s'applique à un répertoire, + ce qui signifie qu'elle peut être activée à l'aide d'une directive + Options à l'intérieur d'une section + <Directory>, <Location> ou <Files> dans + httpd.conf, ou (si AllowOverride est correctement positionnée) dans + des fichiers + .htaccess. Notez que Options All + n'active pas MultiViews; vous devez activer cette option en + la nommant explicitement.

+ +

L'effet de MultiViews est le suivant : si le serveur reçoit + une requête pour /tel/répertoire/foo, si + MultiViews est activée pour + /tel/répertoire, et si + /tel/répertoire/foo n'existe pas, le serveur parcourt + le répertoire à la recherche de fichiers nommés foo.*, et simule + littéralement une correspondance de types (type map) qui liste tous ces + fichiers, en leur associant les mêmes types de média et encodages de + contenu qu'ils auraient eu si le client avait demandé l'accès à l'un + d'entre eux par son nom. Il choisit ensuite ce qui correspond le mieux + aux besoins du client.

+ +

MultiViews peut aussi s'appliquer à la recherche du fichier + nommé par la directive DirectoryIndex, si le serveur tente d'indexer + un répertoire. Si les fichiers de configuration spécifient

+
DirectoryIndex index
+ +

le serveur va choisir entre index.html + et index.html3 si les deux fichiers sont présents. Si aucun + n'est présent, mais index.cgi existe, + le serveur l'exécutera.

+ +

Si, parcequ'elle n'est pas reconnue par mod_mime, + l'extension d'un des fichiers du répertoire ne permet pas de + déterminer son jeu de caractères, son type de contenu, son langage, ou son + encodage, alors + le résultat dépendra de la définition de la directive MultiViewsMatch. Cette directive détermine + si les gestionnaires (handlers), les filtres, et autres types d'extensions + peuvent participer à la négociation MultiVues.

+ +
top
+
+

Les méthodes de négociation

+ +

Une fois obtenue la liste des variantes pour une ressource donnée, + httpd dispose de deux méthodes pour choisir la meilleure variante à + retourner, s'il y a lieu, soit à partir d'un fichier de + correspondances de types, soit en se basant sur les noms de fichiers du + répertoire. Il n'est pas nécessaire de connaître en détails comment la + négociation fonctionne réellement pour pouvoir utiliser les fonctionnalités + de négociation de contenu de httpd. La suite de ce document explique + cependant les méthodes utilisées pour ceux ou celles qui sont + intéressés(ées).

+ +

Il existe deux méthodes de négociation :

+ +
    +
  1. La négociation effectuée par le serveur selon l'algorithme + de httpd est normalement utilisée. l'algorithme de + httpd est + expliqué plus en détails ci-dessous. Quand cet algorithme est utilisé, + httpd peut parfois "bricoler" le facteur de qualité (qs) d'une dimension + particulière afin d'obtenir un meilleur résultat. + La manière dont httpd peut modifier les facteurs de qualité est + expliquée plus en détails ci-dessous.
  2. + +
  3. La négociation de contenu transparente est utilisée + quand le navigateur le demande explicitement selon le mécanisme défini + dans la RFC 2295. Cette méthode de négociation donne au navigateur le + contrôle total du choix de la meilleure variante; le résultat dépend + cependant de la spécificité des algorithmes utilisés par le navigateur. + Au cours du processus de négociation transparente, le navigateur peut + demander à httpd d'exécuter l'"algorithme de sélection de variante à + distance" défini dans la RFC 2296.
  4. +
+ +

Les dimensions de la négociation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DimensionNotes
Type de médiaLe navigateur affiche ses préférences à l'aide du champ d'en-tête + Accept. Chaque type de média peut se voir associé un facteur de + qualité. La description de la variante peut aussi avoir un facteur de + qualité (le paramètre "qs").
LangageLe navigateur affiche ses préférences à l'aide du champ d'en-tête + Accept-Language. Chaque langue peut se voir associé un facteur de + qualité. Les variantes peuvent être associées avec zéro, un ou + plusieurs langages.
EncodingLe navigateur affiche ses préférences à l'aide du champ d'en-tête + Accept-Encoding. Chaque encodage peut se voir associé un facteur de + qualité.
CharsetLe navigateur affiche ses préférences à l'aide du champ d'en-tête + Accept-Charset. Chaque jeu de caractère peut se voir associé un facteur de + qualité. Les variantes peuvent préciser un jeu de caractères comme + paramètre du type de média.
+ + +

L'algorithme de négociation de +httpd

+ +

httpd peut utiliser l'algorithme suivant pour choisir la "meilleure" + variante (s'il y en a une) à retourner au navigateur. Cet algorithme n'est pas + configurable. Il fonctionne comme suit :

+ +
    +
  1. En premier lieu, pour chaque dimension de la négociation, consulter + le champ d'en-tête Accept* approprié et assigner une qualité à + chaque variante. Si l'en-tête Accept* pour toute dimension + implique que la variante n'est pas acceptable, éliminer cette dernière. + S'il ne reste plus de variante, aller à l'étape 4.
  2. + +
  3. + Choisir la "meilleure" variante par élimination. Chacun des tests + suivants est effectué dans cet ordre. Toute variante non sélectionnée + à l'issue d'un test est éliminée. Après chaque test, s'il reste une + seule variante, choisir cette dernière comme celle qui correspond le + mieux puis aller à l'étape 3. S'il reste plusieurs variantes, passer + au test suivant. + +
      +
    1. Multiplier le facteur de qualité de l'en-tête + Accept par le facteur de qualité "qs" pour le type de + média de ces variantes, et choisir la variante qui possède la valeur + la plus importante.
    2. + +
    3. Sélectionner les variantes qui possèdent le facteur de qualité + de langage le plus haut.
    4. + +
    5. Sélectionner les variantes dont le langage correspond le mieux, + en se basant sur l'ordre des langages de l'en-tête + Accept-Language (s'il existe), ou de la directive + LanguagePriority (si elle existe).
    6. + +
    7. Sélectionner les variantes possédant le paramètre de média + "level" le plus élevé (utilisé pour préciser la version des types de + média text/html).
    8. + +
    9. Sélectionner les variantes possédant le paramètre de média + "charset" (jeu de caractères) qui correspond le mieux, en se basant + sur la ligne d'en-tête Accept-Charset . Le jeu de + caractères ISO-8859-1 est acceptable sauf s'il est explicitement + exclus. Les variantes avec un type de média text/* + mais non explicitement associées avec un jeu de caractères + particulier sont supposées être en ISO-8859-1.
    10. + +
    11. Sélectionner les variantes dont le paramètre de média "charset" + associé n'est pas ISO-8859-1. S'il n'en existe pas, + sélectionner toutes les variantes.
    12. + +
    13. Sélectionner les variantes avec le meilleur encodage. S'il existe + des variantes avec un encodage acceptable pour le client, + sélectionner celles-ci. Sinon, s'il existe des variantes encodées et + des variantes non encodées, ne sélectionner que les variantes non + encodées. Si toutes les variantes sont encodées ou si aucune + ne l'est, sélectionner toutes les variantes.
    14. + +
    15. Sélectionner les variantes dont le contenu a la longueur + la plus courte.
    16. + +
    17. Sélectionner la première des variantes restantes. Il s'agira + soit de la première variante listée dans le fichier de + correspondances de types, soit, quand les variantes sont lues depuis + le répertoire, la première par ordre alphabétique quand elles sont + triées selon le code ASCII.
    18. +
    +
  4. + +
  5. L'algorithme a maintenant sélectionné une variante considérée comme + la "meilleure", il la retourne donc au client en guise de réponse. + L'en-tête HTTP Vary de la réponse est renseigné de façon à + indiquer les dimensions de la négociation (les navigateurs et les caches + peuvent utiliser cette information lors de la mise en cache de la + ressource). Travail terminé.
  6. + +
  7. Le passage par cette étape signifie qu'aucune variante n'a été + sélectionnée (parcequ'aucune n'est acceptable pour le navigateur). + Envoyer une réponse avec un code de statut 406 (qui signifie "Aucune + représentation acceptable") et un corps comportant un document HTML qui + affiche les variantes disponibles. Renseigner aussi l'en-tête HTTP + Vary de façon à indiquer les dimensions de la variante.
  8. +
+ +
top
+
+

Ajustement des valeurs de qualité

+ +

Parfois httpd modifie les valeurs de qualité par rapport à celles qui + découleraient d'une stricte interprétation de l'algorithme de négociation + de httpd ci-dessus, ceci pour améliorer les résultats de l'algorithme pour + les navigateurs qui envoient des informations incomplètes ou inappropriées. + Certains des navigateurs les plus populaires envoient des informations dans + l'en-tête Accept qui, sans ce traitement, provoqueraient la + sélection d'une variante inappropriée dans de nombreux cas. Quand un + navigateur envoie des informations complètes et correctes ces ajustements + ne sont pas effectués.

+ +

Types de média et caractères génériques

+ +

L'en-tête de requête Accept: indique les types de média + souhaités. Il peut aussi contenir des types de média avec caractères + génériques, comme "image/*" ou "*/*" où * correspond à n'importe quelle + chaîne de caractères. Ainsi une requête contenant :

+ +

Accept: image/*, */*

+ +

indiquerait que tout type de média est acceptable, avec une préférence + pour les types commençant par "image/". + Certains navigateurs ajoutent par défaut des types de média avec caractères + génériques aux types explicitement nommés qu'ils peuvent gérer. + Par exemple :

+ +

+ Accept: text/html, text/plain, image/gif, image/jpeg, */* +

+

Ceci indique que les types explicitement listés sont préférés, mais + qu'une représentation avec un type différent de ces derniers conviendra + aussi. Les valeurs de qualités explicites, + afin de préciser ce que veut vraiment le navigateur, s'utilisent + comme suit :

+

+ Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +

+

Les types explicites n'ont pas de facteur de qualité, la valeur par + défaut de leur préférence est donc de 1.0 (la plus haute). Le type avec + caractères génériques */* se voit attribuer une préférence basse de 0.01, + si bien que les types autres que ceux explicitement listés ne seront retournés + que s'il n'existe pas de variante correspondant à un type explicitement + listé.

+ +

Si l'en-tête Accept: ne contient pas aucun + facteur de qualité, httpd positionne la valeur de qualité de + "*/*", si present, à 0.01 pour simuler l'effet désiré. Il positionne aussi + la valeur de qualité des types avec caractères génériques au format + "type/*" à 0.02 (ils sont donc préférés à ceux correspondant à "*/*"). Si + un type de média dans l'en-tête Accept: contient un facteur de + qualité, ces valeurs spéciales ne seront pas appliquées, de façon + à ce que les requêtes de navigateurs qui envoient les informations + explicites à prendre en compte fonctionnent comme souhaité.

+ + +

Exceptions dans la négociation du +langage

+ +

A partir de la version 2.0 de httpd, certaines exceptions ont été + ajoutées à l'algorithme de négociation afin de ménager une issue de secours + quand la négociation ne trouve aucun langage correspondant.

+ +

Quand un client demande une page sur votre serveur, si ce dernier ne + parvient pas à trouver une page dont la langue corresponde à l'en-tête + Accept-language envoyé par le navigateur, il enverra au client + une réponse "Aucune variante acceptable" ou "Plusieurs choix possibles". + Pour éviter ces + messages d'erreur, il est possible de configurer httpd de façon à ce que, + dans ces cas, il ignore l'en-tête Accept-language et fournisse + tout de même un document, même s'il ne correspond pas exactement à la + demande explicite du client. La directive ForceLanguagePriority + peut être utilisée pour éviter ces messages d'erreur et leur substituer une + page dont le langage sera déterminé en fonction du contenu de la directive + LanguagePriority.

+ +

Le serveur va aussi essayer d'étendre sa recherche de correspondance aux + sous-ensembles de langages quand aucune correspondance exacte ne peut être + trouvée. Par exemple, si un client demande des documents possédant le + langage en-GB, c'est à dire anglais britannique, le standard + HTTP/1.1 n'autorise normalement pas le serveur à faire correspondre cette + demande à un document dont le langage est simplement en. + (Notez qu'inclure en-GB et non en dans l'en-tête + Accept-Language constitue une quasi-erreur de configuration, + car il est très peu probable qu'un lecteur qui comprend l'anglais + britannique, ne comprenne pas l'anglais en général. Malheureusement, de + nombreux clients ont réellement des configurations par défaut de ce type.) + Cependant, si aucune autre correspondance de langage n'est possible, et que le + serveur est sur le point de retourner une erreur "Aucune variable + acceptable" ou de choisir le langage défini par la directive LanguagePriority, le serveur ignorera + la spécification du sous-ensemble de langage et associera la demande en + en-GB à des documents en en. Implicitement, + httpd ajoute le langage parent à la liste de langues acceptés par le + client avec une valeur de qualité très basse. Notez cependant que si le + client demande "en-GB; q=0.9, fr; q=0.8", et le serveur dispose de + documents estampillés "en" et "fr", alors c'est le document "fr" qui sera + retourné, tout ceci dans un souci de compatibilité avec la spécification + HTTP/1.1 et afin de fonctionner efficacement avec les clients + correctement configurés.

+ +

Pour supporter les techniques avancées (comme les cookies ou les chemins + d'URL spéciaux) afin de déterminer le langage préféré de l'utilisateur, le + module mod_negotiation reconnaît la + variable d'environnement + prefer-language + depuis la version 2.0.47 de httpd. Si elle est définie et contient un + symbole de langage approprié, mod_negotiation va essayer + de sélectionner une variante correspondante. S'il n'existe pas de telle + variante, le processus normal de négociation sera lancé.

+ +

Exemple

SetEnvIf Cookie "language=(.+)" prefer-language=$1
+Header append Vary cookie
+
+ +
top
+
+

Extensions à la négociation de contenu +transparente

+ +

httpd étend le protocole de négociation de contenu transparente (RFC +2295) comme suit. Un nouvel élément {encodage ..} est utilisé dans +les listes de variantes pour marquer celles qui ne sont disponibles qu'avec un +encodage de contenu spécifique. L'implémentation de l'algorithme +RVSA/1.0 (RFC 2296) est étendue à la reconnaissance de variantes encodées dans +la liste, et à leur utilisation en tant que variantes candidates à partir du +moment où leur encodage satisfait au contenu de l'en-tête de requête +Accept-Encoding. L'implémentation RVSA/1.0 n'arrondit pas les +facteurs de qualité calculés à 5 décimales avant d'avoir choisi la meilleure +variante.

+
top
+
+

Remarques à propos des liens hypertextes et des +conventions de nommage

+ +

Si vous utilisez la négociation de langage, vous avez le choix entre + différentes conventions de nommage, car les fichiers peuvent posséder + plusieurs extensions, et l'ordre dans lequel ces dernières apparaissent + est en général sans rapport (voir la documentation sur le module mod_mime + pour plus de détails).

+ +

Un fichier type possède une extension liée au type MIME + (par exemple, html), mais parfois aussi une + extension liée à l'encodage (par exemple, gz), + et bien sûr une extension liée au langage + (par exemple, en) quand plusieurs variantes de + langage sont disponibles pour ce fichier.

+ +

Exemples :

+ +
    +
  • foo.en.html
  • + +
  • foo.html.en
  • + +
  • foo.en.html.gz
  • +
+ +

Ci-dessous d'autres exemples de noms de fichiers avec des liens + hypertextes valides et invalides :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom fichierlien valideLien invalide
foo.html.enfoo
+ foo.html
-
foo.en.htmlfoofoo.html
foo.html.en.gzfoo
+ foo.html
foo.gz
+ foo.html.gz
foo.en.html.gzfoofoo.html
+ foo.html.gz
+ foo.gz
foo.gz.html.enfoo
+ foo.gz
+ foo.gz.html
foo.html
foo.html.gz.enfoo
+ foo.html
+ foo.html.gz
foo.gz
+ +

En regardant la table ci-dessus, vous remarquerez qu'il est toujours + possible d'utiliser le nom de fichier sans extension dans un lien + (par exemple, foo). L'avantage est de pouvoir + dissimuler le type réel du fichier associé à un document et de pouvoir + le modifier + ultérieurement, par exemple, de html à + shtml ou cgi sans avoir à + mettre à jour aucun lien.

+ +

Si vous souhaitez continuer à utiliser un type MIME dans vos liens + (par exemple foo.html), l'extension liée au langage + (y compris une extension liée à l'encodage s'il en existe une) + doit se trouver à droite de l'extension liée au type MIME + (par exemple, foo.html.en).

+
top
+
+

Remarque sur la mise en cache

+ +

Quand un cache stocke une représentation, il l'associe avec l'URL de la + requête. Lorsque cette URL est à nouveau demandée, le cache peut utiliser + la représentation stockée. Cependant, si la ressource est négociable au + niveau du serveur, il se peut que seule la première variante demandée soit + mise en cache et de ce fait, la correspondance positive du cache peut + entraîner une réponse inappropriée. Pour + éviter ceci, httpd marque par + défaut toutes les réponses qui sont retournées après une négociation de + contenu comme "non-cachables" par les clients HTTP/1.0. httpd supporte + aussi les fonctionnalités du protocole HTTP/1.1 afin de permettre la mise + en cache des réponses négociées.

+ +

Pour les requêtes en provenance d'un client compatible HTTP/1.0 + (un navigateur ou un cache), la directive CacheNegotiatedDocs peut être utilisée + pour permettre la mise en cache des réponses qui ont fait l'objet d'une + négociation. Cette directive peut intervenir dans la configuration au + niveau du serveur ou de l'hôte virtuel, et n'accepte aucun argument. Elle + n'a aucun effet sur les requêtes en provenance de clients HTTP/1.1.

+ +

Pour les clients HTTP/1.1, httpd envoie un en-tête de réponse HTTP + Vary afin d'indiquer les dimensions de la négociation pour + cette réponse. Les caches peuvent + utiliser cette information afin de déterminer + si une requête peut être servie à partir de la copie locale. Pour inciter + un cache à utiliser la copie locale sans tenir compte des dimensions de la + négociation, définissez la + variable d'environnement + force-no-vary.

+ +
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/content-negotiation.html.ja.utf8 b/docs/manual/content-negotiation.html.ja.utf8 new file mode 100644 index 0000000..14bc15c --- /dev/null +++ b/docs/manual/content-negotiation.html.ja.utf8 @@ -0,0 +1,752 @@ + + + + + +コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + +

Apache 㯠HTTP/1.1 ã®è¦æ ¼ã«è¨˜è¿°ã•ã‚Œã¦ã„るコンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ + サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + ブラウザã«ã‚ˆã‚Šæä¾›ã•ã‚ŒãŸãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—〠+ 言語ã€æ–‡å­—セットã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®å„ªå…ˆå‚¾å‘ã«åŸºã¥ã„ã¦ã€ + 最é©ãªãƒªã‚½ãƒ¼ã‚¹ã®è¡¨ç¾ã‚’é¸æŠžã§ãã¾ã™ã€‚ + ã¾ãŸã€ä¸å®Œå…¨ãªãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³æƒ…報をé€ã£ã¦ãるブラウザã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + ã‚‚ã£ã¨è³¢ãå–り扱ãˆã‚‹ã‚ˆã†ã€ã„ãã¤ã‹æ©Ÿèƒ½ã‚‚実装ã—ã¦ã‚ã‚Šã¾ã™ã€‚

+ +

コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã¯ + mod_negotiation + モジュールã«ã‚ˆã£ã¦æä¾›ã•ã‚Œã¦ã„ã¦ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã¾ã™ã€‚

+
+ +
top
+
+

コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã«ã¤ã„ã¦

+ +

リソースã¯ã€å¹¾ã¤ã‹ç•°ãªã£ãŸè¡¨ç¾ã§åˆ©ç”¨ã§ãã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ + 例ãˆã°ã€ç•°ãªã‚‹è¨€èªžã‚„ç•°ãªã‚‹ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—〠+ ã¾ãŸã¯ãれらã®çµ„ã¿åˆã‚ã›ã§åˆ©ç”¨ã§ãã‚‹ã‹ã‚‚知れã¾ã›ã‚“。 + ã‚‚ã£ã¨ã‚‚é©ã—ãŸé¸æŠžã‚’ã™ã‚‹æ–¹æ³•ã®ä¸€ã¤ã«ã¯ã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¸ã‚’ + ユーザã«è¦‹ã›ã¦ã€ãƒ¦ãƒ¼ã‚¶ã«é¸ã‚“ã§ã‚‚らã†æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚ + ã—ã‹ã—ã€ã‚µãƒ¼ãƒãŒè‡ªå‹•çš„ã«é¸ã¶ã“ã¨ãŒã§ãã‚‹å ´åˆãŒå¤šãã‚ã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯ã€ãƒ–ラウザãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆæ¯Žã«ã€ + ã©ã®è¡¨ç¾ã‚’嗜好ã™ã‚‹ã‹ã¨ã„ã†æƒ…報をé€ã‚‹ã“ã¨ã§å‹•ä½œã—ã¦ã„ã¾ã™ã€‚ + 例ãˆã°ãƒ–ラウザã¯ã€å¯èƒ½ãªã‚‰ãƒ•ãƒ©ãƒ³ã‚¹èªžã§æƒ…報を見ãŸã„〠+ ä¸å¯èƒ½ãªã‚‰ãã®ä»£ã‚ã‚Šã«è‹±èªžã§ã‚‚よã„ã¨ã€ + 自分ã®å—œå¥½ã‚’知らã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ブラウザã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ˜ãƒƒãƒ€ã§è‡ªåˆ†ã®å„ªå…ˆå‚¾å‘を知らã›ã¾ã™ã€‚ + フランス語ã®ã¿ã®è¡¨ç¾ã‚’è¦æ±‚ã™ã‚‹å ´åˆã¯ã€ãƒ–ラウザã¯æ¬¡ã‚’é€ã‚Šã¾ã™ã€‚

+ +

Accept-Language: fr

+ +

ã“ã®å„ªå…ˆå‚¾å‘ã¯ã€é¸æŠžå¯èƒ½ãªè¡¨ç¾ãŒå­˜åœ¨ã—ã¦ã€ + 言語ã«ã‚ˆã£ã¦æ§˜ã€…ãªè¡¨ç¾ãŒã‚ã‚‹å ´åˆã«ã®ã¿é©ç”¨ã•ã‚Œã‚‹ + ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

ã‚‚ã£ã¨è¤‡é›‘ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ä¾‹ã‚’挙ã’ã¾ã—ょã†ã€‚ + ã“ã®ãƒ–ラウザã¯ãƒ•ãƒ©ãƒ³ã‚¹èªžã¨è‹±èªžã‚’å—ã‘付ã‘ã‚‹ã€ã—ã‹ã—フランス語を好む〠+ ãã—ã¦æ§˜ã€…ãªãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã‚’å—ã‘付ã‘ã‚‹ãŒã€ + プレインテキストや他ã®ã‚¿ã‚¤ãƒ—より㯠HTML を好む〠+ ä»–ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—より㯠GIF ã‚„ JPEG を好むã€ã—ã‹ã—最終手段ã¨ã—㦠+ ä»–ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã‚‚å—ã‘付ã‘ã‚‹ã€ã¨è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

+ Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 +

+ +

Apache 㯠HTTP/1.1 è¦æ ¼ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ 'server + driven' コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + Accept, Accept-Language, + Accept-Charset, Accept-Encoding + リクエストヘッダを完全ã«ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚Apache 㯠+ 'transparent' コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚‚サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ãŒã€ + ã“れ㯠RFC 2295 㨠RFC 2296 ã§å®šç¾©ã•ã‚Œã¦ã„る試験的㪠+ ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ãƒ—ロトコルã§ã™ã€‚ + ã“れら㮠RFCã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ 'feature negotiation' + ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。

+ +

リソースã¨ã¯ URI + ã§ç‰¹å®šã•ã‚Œã‚‹æ¦‚念上ã®ã‚‚ã®ã®ã“ã¨ã§ã™ (RFC 2396)。 Apache + ã®ã‚ˆã†ãª HTTP サーãƒã¯ã€ãã®åå‰ç©ºé–“ã®ä¸­ã§ã® + リソースã®è¡¨ç¾ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æä¾›ã—ã¾ã™ã€‚ + ãã‚Œãžã‚Œã®è¡¨ç¾ã¯ + 定義ã•ã‚ŒãŸãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã€æ–‡å­—セットã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ç­‰ã® + 付属ã—ãŸã€ãƒã‚¤ãƒˆåˆ—ã®å½¢å¼ã§ã™ã€‚ + ãã‚Œãžã‚Œã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã‚る時点㧠0 個ã€1 個ã€ãれ以上ã®è¡¨ç¾ã¨ + 関連付ã‘られるå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚複数ã®è¡¨ç¾ãŒåˆ©ç”¨ã§ãã‚‹å ´åˆã¯ã€ + リソースã¯ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³å¯èƒ½ã§ã‚ã‚‹ã¨ã•ã‚Œã€ + 個々ã®è¡¨ç¾ã¯ variant ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ + ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³å¯èƒ½ãªãƒªã‚½ãƒ¼ã‚¹ã® variant ãŒç•°ãªã‚‹ã€ + ãã®çŠ¶æ…‹ã‚’指ã—ã¦ã€ + ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®æ¬¡å…ƒã¨å‘¼ã³ã¾ã™ã€‚

+
top
+
+

Apache ã«ãŠã‘ã‚‹ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³

+ +

リソースをãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹ãŸã‚ã«ã¯ã€ + サーãƒã¯ variant ãã‚Œãžã‚Œã«ã¤ã„ã¦ã®æƒ…報を知ã£ã¦ãŠãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯ä»¥ä¸‹ã®äºŒã¤ã®æ–¹æ³•ã®ã©ã¡ã‚‰ã‹ã§è¡Œã‚ã‚Œã¾ã™ã€‚

+ +
    +
  • タイプマップ + (ã™ãªã‚ã¡ *.var ファイル) + を使ã†æ–¹æ³•ã€‚ ã“れ㯠variant + を明示的ã«æŒ™ã’ã¦ã„るファイルを指定ã—ã¾ã™ã€‚
  • + +
  • 'Multiviews' + を使ã£ã¦ã€ã‚µãƒ¼ãƒãŒæš—é»™ã®å†…ã«ãƒ•ã‚¡ã‚¤ãƒ«åã«ãƒ‘ターン照åˆã‚’ + è¡Œãªã£ã¦ãã®çµæžœã‹ã‚‰é¸æŠžã™ã‚‹æ–¹æ³•ã€‚
  • +
+ +

type-map ファイルを使ã†

+ +

タイプマップ㯠type-map ãƒãƒ³ãƒ‰ãƒ© + (ã‚‚ã—ãã¯ã€å¤ã„ Apache + ã®è¨­å®šã¨ä¸‹ä½äº’æ›ã§ã‚ã‚‹ MIME タイプ + application/x-type-map) + ã«é–¢é€£ä»˜ã‘られãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã‚’使ã†ãŸã‚ã«ã¯ã€ã‚るファイルã®æ‹¡å¼µå­ã‚’ + type-map + ã¨ã—ã¦å®šç¾©ã™ã‚‹ã‚ˆã†ãªãƒãƒ³ãƒ‰ãƒ©ã‚’〠+ 設定ファイル中ã«ç½®ãå¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ã“ã‚Œã¯

+ +

AddHandler type-map .var

+ +

をサーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã«æ›¸ãã“ã¨ãŒä¸€ç•ªè‰¯ã„方法ã§ã™ã€‚

+ +

タイプマップファイルã¯è¨˜è¿°ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã¨åŒã˜åå‰ã‚’æŒã£ã¦ã„ã¦ã€ + 利用å¯èƒ½ãª variant ãã‚Œãžã‚Œã®ã‚¨ãƒ³ãƒˆãƒªã‚’æŒã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ãã—ã¦ã€ã“ã®ã‚¨ãƒ³ãƒˆãƒªã¯é€£ç¶šã—㟠HTTP ã®ãƒ˜ãƒƒãƒ€è¡Œã§æ§‹æˆã•ã‚Œã¾ã™ã€‚ + ç•°ãªã‚‹ variant ã®ãŸã‚ã®ã‚¨ãƒ³ãƒˆãƒªã¯ç©ºè¡Œã§åŒºåˆ‡ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚ + エントリ中ã«ç©ºè¡ŒãŒè¤‡æ•°ã‚ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“。 + 習慣的ã«ã¯ã€ãƒžãƒƒãƒ—ファイルã¯å…¨ä½“ã‚’çµåˆã—ãŸã‚‚ã®ã®ã‚¨ãƒ³ãƒˆãƒªã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ + (ã—ã‹ã—ã“ã‚Œã¯å¿…é ˆã§ã¯ãªãã€ã‚ã£ãŸã¨ã—ã¦ã‚‚無視ã•ã‚Œã‚‹ã‚‚ã®ã§ã™)。 + 次ã«ä¾‹ã‚’示ã—ã¾ã™ã€‚ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ãƒªã‚½ãƒ¼ã‚¹ foo + を記述ã—ã¦ã„ã‚‹ã®ã§ã€foo.var ã¨ã„ã†åå‰ã«ãªã‚Šã¾ã™ã€‚

+ +

+ URI: foo
+
+ URI: foo.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: foo.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+

+

ãŸã¨ãˆ MultiViews を使用ã™ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ãŸã¨ã—ã¦ã‚‚〠+ ファイルåã®æ‹¡å¼µå­ã‚ˆã‚Šã‚¿ã‚¤ãƒ—マップã®æ–¹ãŒå„ªå…ˆæ¨©ã‚’æŒã¤ã¨ã„ã†ã“ã¨ã«ã‚‚ + 注æ„ã—ã¦ãã ã•ã„。 + variant ã®å“質ãŒé•ã†ã¨ãã¯ã€ã“ã®ç”»åƒã®ã‚ˆã†ã« (JPEG, GIF, ASCII + アートãŒã‚ã‚Šã¾ã™) メディアタイプ㮠"qs" + パラメータã§æŒ‡å®šã•ã‚Œã¾ã™ã€‚

+ +

+ URI: foo
+
+ URI: foo.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: foo.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: foo.txt
+ Content-type: text/plain; qs=0.01
+

+ +

qs 値ã®ç¯„囲㯠0.000 ã‹ã‚‰ 1.000 ã§ã™ã€‚qs 値㌠+ 0.000 ã® variant ã¯æ±ºã—㦠+ é¸æŠžã•ã‚Œãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。'qs' 値ã®ãªã„ variant + 㯠qs 値 1.0 ã‚’ 与ãˆã‚‰ã‚Œã¾ã™ã€‚qs + パラメータã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®èƒ½åŠ›ã«é–¢ä¿‚ç„¡ãã€ä»–ã® variant 㨠+ 比較ã—ãŸã¨ãã® variant + ã®ç›¸å¯¾çš„ãªã€Œå“質ã€ã‚’示ã—ã¾ã™ã€‚ + 例ãˆã°ã€å†™çœŸã‚’表ç¾ã—よã†ã¨ã—ã¦ã„ã‚‹ã¨ã㯠JPEG + ファイルã®æ–¹ãŒæ™®é€šã¯ ASCII + ファイルよりも高ã„å“質ã«ãªã‚Šã¾ã™ã€‚ã—ã‹ã—ã€ãƒªã‚½ãƒ¼ã‚¹ãŒå…ƒã€… + ASCII アートã§è¡¨ç¾ã•ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€ASCII ファイル㮠+ 方㌠JPEG ファイルよりも高ã„å“質ã«ãªã‚Šã¾ã™ã€‚ã“ã®ã‚ˆã†ã«ã€qs + 㯠表ç¾ã•ã‚Œã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®æ€§è³ªã«ã‚ˆã£ã¦ variant + 毎ã«ç‰¹æœ‰ã®å€¤ã‚’å–ã‚Šã¾ã™ã€‚

+ +

èªè­˜ã•ã‚Œã‚‹ãƒ˜ãƒƒãƒ€ã®ä¸€è¦§ã¯ + mod_negotiation + ドキュメントã«ã‚ã‚Šã¾ã™ã€‚

+ + +

Multiviews

+ +

MultiViews ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã®ã‚ªãƒ—ションã§ã€ + httpd.confファイル㮠+ <Directory>, + <Location>, + <Files> + セクション中やã€(AllowOverride + ãŒé©åˆ‡ãªå€¤ã« 設定ã•ã‚Œã¦ã„ã‚‹ã¨) .htaccess + ファイル㧠Options + ディレクティブã«ã‚ˆã£ã¦è¨­å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + Options All 㯠+ MultiViews + をセットã—ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。明示的㫠+ ãã®åå‰ã‚’書ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

MultiViews ã®åŠ¹æžœã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™: + サーãƒãŒ /some/dir/foo + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã‚Šã€/some/dir 㧠+ MultiViews ãŒæœ‰åŠ¹ã§ã‚ã£ã¦ã€ + /some/dir/foo ãŒå­˜åœ¨ã—ãªã„å ´åˆã€ + サーãƒã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’読ん㧠foo.* + ã«ã‚ã¦ã¯ã¾ã‚‹å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã—〠+ 事実上ãれらã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’マップã™ã‚‹ã‚¿ã‚¤ãƒ—マップを作りã¾ã™ã€‚ + ãã®ã¨ãã€ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã¨ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’ + 直接指定ã—ãŸã¨ãã¨åŒã˜ã‚‚ã®ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ + ãã‚Œã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¦æ±‚ã«ä¸€ç•ªåˆã†ã‚‚ã®ã‚’é¸ã³ã¾ã™ã€‚

+ +

サーãƒãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ç´¢å¼•ã‚’作ã‚ã†ã¨ã—ã¦ã„ã‚‹å ´åˆã€ + MultiViews + 㯠DirectoryIndex + ディレクティブã§æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã™éŽç¨‹ã«ã‚‚ + é©ç”¨ã•ã‚Œã¾ã™ã€‚設定ファイルã«

+

DirectoryIndex index

+

ãŒæ›¸ã‹ã‚Œã¦ã„ã¦ã€index.html 㨠+ index.html3 ㌠+ 両方存在ã—ã¦ã„ã‚‹ã¨ã€ã‚µãƒ¼ãƒã¯ãã®ä¸­ã‹ã‚‰ã©ã¡ã‚‰ã‹ã‚’é©å½“ã«é¸ã³ã¾ã™ã€‚ + ã‚‚ã—ãã®ä¸¡æ–¹ãŒå­˜åœ¨ã›ãšã« index.cgi + ãŒå­˜åœ¨ã—ã¦ã„ã‚‹ã¨ã€ サーãƒã¯ãれを実行ã—ã¾ã™ã€‚

+ +

ã‚‚ã—ディレクトリを読んã§ã„ã‚‹éš›ã«ã€ + 文字セットã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã€è¨€èªžã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’ + 指定ã™ã‚‹ãŸã‚ã® mod_mime + ã§èªè­˜ã§ãã‚‹æ‹¡å¼µå­ã‚’æŒãŸãªã„ファイルãŒè¦‹ã¤ã‹ã‚‹ã¨ã€çµæžœã¯ + MultiViewsMatch + ディレクティブã®è¨­å®šã«ä¾å­˜ã—ã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ ãƒãƒ³ãƒ‰ãƒ©ã€ãƒ•ã‚£ãƒ«ã‚¿ã€ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã‚¿ã‚¤ãƒ—ã®ã©ã‚ŒãŒ + MultiViews ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã§ä½¿ç”¨ã§ãã‚‹ã‹ã‚’決定ã—ã¾ã™ã€‚

+ +
top
+
+

ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³æ–¹æ³•

+ +

Apache ã¯ãƒªã‚½ãƒ¼ã‚¹ã® variant ã®ä¸€è¦§ã‚’ã€ã‚¿ã‚¤ãƒ—マップファイル㋠+ ディレクトリ内ã®ãƒ•ã‚¡ã‚¤ãƒ«åã‹ã‚‰ã‹ã§å–å¾—ã—ãŸå¾Œã€ + 「最é©ãªã€ variant を決定ã™ã‚‹ãŸã‚ã«äºŒã¤ã®æ–¹æ³•ã® + ã©ã¡ã‚‰ã‹ã‚’èµ·å‹•ã—ã¾ã™ã€‚ + Apache ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®æ©Ÿèƒ½ã‚’使ã†ãŸã‚ã«ã€ + ã©ã®ã‚ˆã†ã«ã—ã¦ã“ã®èª¿åœãŒè¡Œã‚れるã‹è©³ç´°ã‚’知る必è¦ã¯ã‚ã‚Šã¾ã›ã‚“。 + ã—ã‹ã—ãªãŒã‚‰ã€ã“ã®æ–‡æ›¸ã®æ®‹ã‚Šã§ã¯é–¢å¿ƒã®ã‚る人ã®ãŸã‚ã«ã€ + 使用ã•ã‚Œã¦ã„る方法ã«ã¤ã„ã¦èª¬æ˜Žã—ã¦ã„ã¾ã™ã€‚

+ +

ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³æ–¹æ³•ã¯äºŒã¤ã‚ã‚Šã¾ã™ã€‚

+ +
    +
  1. 通常㯠Apache ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’用ã„㟠Server + driven negotiation ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚Apache + ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯å¾Œã«è©³ç´°ã«èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã“ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã€Apache + ã¯ã‚ˆã‚Šè‰¯ã„çµæžœã«ãªã‚‹ã‚ˆã†ã«ã€ç‰¹å®šã®æ¬¡å…ƒã«ãŠã„ã¦å“質ã®å€¤ã‚’ + 「変ãˆã‚‹ã€ã“ã¨ãŒã§ãã¾ã™ã€‚Apache + ãŒå“質ã®å€¤ã‚’変ãˆã‚‹æ–¹æ³•ã¯å¾Œã§è©³ç´°ã«èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚
  2. + +
  3. RFC 2295 + ã§å®šç¾©ã•ã‚Œã¦ã„る機構を用ã„ã¦ãƒ–ラウザãŒç‰¹ã«æŒ‡å®šã—ãŸå ´åˆã€ + transparent content negotiation + ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã®ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³æ–¹æ³•ã§ã¯ã€ã€Œæœ€é©ãªã€ + variant ã®æ±ºå®šã‚’ブラウザãŒå®Œå…¨ã«åˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€çµæžœã¯ãƒ–ラウザãŒä½¿ç”¨ã—ã¦ã„るアルゴリズムã«ä¾å­˜ã—ã¾ã™ã€‚ + Transparent negotiation ã®å‡¦ç†ã®éŽç¨‹ã§ã€ãƒ–ラウザ㯠RFC 2296 + 㧠定義ã•ã‚Œã¦ã„ã‚‹ 'remote variant selection algorithm' + を実行ã™ã‚‹ã‚ˆã†ã«é ¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚
  4. +
+ +

ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®æ¬¡å…ƒ

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
次元説明
メディアタイプブラウザ㯠Accept + ヘッダフィールドã§å„ªå…ˆå‚¾å‘を指定ã—ã¾ã™ã€‚ + アイテムãã‚Œãžã‚Œã¯ã€é–¢é€£ã—ãŸå“質数値をæŒã¤ã“ã¨ãŒã§ãã¾ã™ã€‚ + variant ã®èª¬æ˜Žã‚‚å“質数値をæŒã¤ã“ã¨ãŒã§ãã¾ã™ + ("qs" パラメータをã”覧下ã•ã„)。
言語ブラウザ㯠Accept-Language + ヘッダフィールドã§å„ªå…ˆå‚¾å‘を指定ã—ã¾ã™ã€‚ + è¦ç´ ãã‚Œãžã‚Œã«å“質数値をæŒãŸã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + variants 㯠0 ã‹ 1 ã¤ã‹ãれ以上ã®è¨€èªžã¨ + 関連ã¥ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
エンコーディングブラウザ㯠Accept-Encoding + ヘッダフィールドã§å„ªå…ˆå‚¾å‘を指定ã—ã¾ã™ã€‚ + è¦ç´ ãã‚Œãžã‚Œã«å“質数値をæŒãŸã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
文字セットブラウザ㯠Accept-Charset + ヘッダフィールドã§å„ªå…ˆå‚¾å‘を指定ã—ã¾ã™ã€‚ + è¦ç´ ãã‚Œãžã‚Œã«å“質数値をæŒãŸã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + variant ã¯ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã®ãƒ‘ラメータã¨ã—ã¦æ–‡å­—セットを + 指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ + +

Apache ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 

+ +

ブラウザã«è¿”ã™ã€Œæœ€é©ãªã€variant ã‚’ (ã‚‚ã—ã‚ã‚Œã°) é¸æŠžã™ã‚‹ã‚ˆã†ã« + Apache ã¯æ¬¡ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’設定ã«ã‚ˆã‚Šå¤‰æ›´ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 + 次ã®ã‚ˆã†ã«å‹•ä½œã—ã¾ã™:

+ +
    +
  1. ã¾ãšã¯ã˜ã‚ã«ã€ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®æ¬¡å…ƒãã‚Œãžã‚Œã«ã¤ã„ã¦é©åˆ‡ãª + Accept* ヘッダフィールドを調ã¹ã€ + variant ãã‚Œãžã‚Œã«å“質を割り当ã¦ã¾ã™ã€‚ + ã‚‚ã—ã‚る次元㮠Accept* ヘッダã§ãã® variant + ãŒè¨±å®¹ã§ããªã„ã“ã¨ãŒç¤ºã•ã‚Œã¦ã„ã‚Œã°ã€ãれを削除ã—ã¾ã™ã€‚ + variant ãŒä¸€ã¤ã‚‚残ã£ã¦ã„ãªã‘ã‚Œã°ã€ã‚¹ãƒ†ãƒƒãƒ— 4 ã«è¡Œãã¾ã™ã€‚
  2. + +
  3. + 消去法ã§ã€Œæœ€é©ãªã€ variant ã‚’é¸ã³ã¾ã™ã€‚ + 次ã®ãƒ†ã‚¹ãƒˆãŒé †ç•ªã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + テストã§é¸æŠžã•ã‚Œãªã‹ã£ãŸ variant ã¯å‰Šé™¤ã•ã‚Œã¦ã„ãã¾ã™ã€‚ + テスト後 variant ãŒä¸€ã¤ã ã‘残ã£ã¦ã„ã‚Œã°ã€ãれを最é©ãªã‚‚ã®ã¨ã—㦠+ ステップ 3 ã«é€²ã¿ã¾ã™ã€‚ + 複数 variant ãŒæ®‹ã£ã¦ã„ã‚Œã°ã€æ¬¡ã®ãƒ†ã‚¹ãƒˆã«é€²ã¿ã¾ã™ã€‚ + +
      +
    1. variant ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã®å“質数値㨠Accept + ヘッダã®å“質数値ã¨ã®ç©ã‚’計算ã—ã¦ã€æœ€é«˜å€¤ã® variant + ã‚’é¸ã³ã¾ã™ã€‚
    2. + +
    3. 言語å“質数値ãŒæœ€é«˜ã® variant ã‚’é¸ã³ã¾ã™ã€‚
    4. + +
    5. (ã‚‚ã—ã‚ã‚Œã°) Accept-Language ヘッダã®è¨€èªžé †ã‹ã€ + (ã‚‚ã—ã‚ã‚Œã°) + LanguagePriority + ディレクティブã®è¨€èªžé †ã§æœ€é©ãªè¨€èªžã® variant ã‚’é¸ã³ã¾ã™ã€‚
    6. + +
    7. 最高「レベルã€ã®ãƒ¡ãƒ‡ã‚£ã‚¢ãƒ‘ラメータ + (text/html メディアタイプã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’与ãˆã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™) + ã‚’æŒã¤ variant ã‚’é¸ã³ã¾ã™ã€‚
    8. + +
    9. Accept-Charset ヘッダ行ã§ä¸Žãˆã‚‰ã‚Œã¦ã„る最高ã®æ–‡å­—セット + メディアパラメータをæŒã¤ variant ã‚’é¸ã³ã¾ã™ã€‚ + 明示的ã«é™¤å¤–ã•ã‚Œã¦ã„ãªã„é™ã‚Šã€ISO-8859-1 + ãŒè¨±å®¹ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ + text/* メディアタイプã§ã‚ã‚‹ã‘ã‚Œã©ã‚‚ + 特定ã®æ–‡å­—セットã«æ˜Žç¤ºçš„ã«é–¢é€£ã¥ã‘られã¦ã„ã‚‹ã‚ã‘ã§ã¯ãªã„ + variant 㯠ISO-8859-1 ã§ã‚ã‚‹ã¨ä»®å®šã•ã‚Œã¾ã™ã€‚
    10. + +
    11. ISO-8859-1 ã§ã¯ãªã„文字セットメディアパラメータ㨠+ 関連ã¥ã‘られã¦ã„ã‚‹ variant ã‚’é¸ã³ã¾ã™ã€‚ + ãã®ã‚ˆã†ãª variant ãŒãªã„å ´åˆã¯ã€ä»£ã‚ã‚Šã«å…¨ã¦ã® + variant ã‚’é¸ã³ã¾ã™ã€‚
    12. + +
    13. 最é©ãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã® variant ã‚’é¸ã³ã¾ã™ã€‚ + ã‚‚ã— user-agent ãŒè¨±å®¹ã™ã‚‹ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒã‚ã‚Œã°ã€ + ãã® variant ã®ã¿ã‚’é¸ã³ã¾ã™ã€‚ + ãã†ã§ã¯ãªãã€ã‚‚ã—エンコードã•ã‚ŒãŸã‚‚ã®ã¨ãã†ã§ãªã„ + variant ãŒæ··ã–ã£ã¦å­˜åœ¨ã—ã¦ã„ãŸã‚‰ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ãªã„ + variant ã®ã¿ã‚’é¸ã³ã¾ã™ã€‚ + variant ãŒå…¨éƒ¨ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹ã‹ + variant ãŒå…¨éƒ¨ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ãªã„ã¨ã„ã†å ´åˆã¯ã€ + å…¨ã¦ã® variant ã‚’é¸ã³ã¾ã™ã€‚
    14. + +
    15. 内容ã®æœ€ã‚‚短ㄠvariant ã‚’é¸ã³ã¾ã™ã€‚
    16. + +
    17. 残ã£ã¦ã„ã‚‹ variant ã®æœ€åˆã®ã‚‚ã®ã‚’é¸ã³ã¾ã™ã€‚ + タイプマップファイルã®æœ€åˆã«ãƒªã‚¹ãƒˆã•ã‚Œã¦ã„ã‚‹ã‹ã€ + variant ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰æœ€åˆã«èª­ã¿è¾¼ã¾ã‚Œã‚‹æ™‚ã« + ASCIIé †ã§ã‚½ãƒ¼ãƒˆã—ã¦ãƒ•ã‚¡ã‚¤ãƒ«åãŒå…ˆé ­ã«ãªã£ãŸã‹ã€ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚
    18. +
    +
  4. + +
  5. アルゴリズムを使ã£ã¦ä¸€ã¤ã®ã€Œæœ€é©ãªã€variant ã‚’é¸ã³ã¾ã—ãŸã®ã§ã€ + ãれを応答ã¨ã—ã¦è¿”ã—ã¾ã™ã€‚ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®æ¬¡å…ƒã‚’指定ã™ã‚‹ãŸã‚ã« + HTTP レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ Vary ãŒè¨­å®šã•ã‚Œã¾ã™ + (リソースã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’ã™ã‚‹æ™‚ã«ã€ + ブラウザやキャッシュã¯ã“ã®æƒ…報を使ã†ã“ã¨ãŒã§ãã¾ã™)。 + 以上ã§çµ‚ã‚り。
  6. + +
  7. ã“ã“ã«æ¥ãŸã¨ã„ã†ã“ã¨ã¯ã€variant ãŒä¸€ã¤ã‚‚é¸æŠžã•ã‚Œãªã‹ã£ãŸ + (ブラウザãŒè¨±å®¹ã™ã‚‹ã‚‚ã®ãŒãªã‹ã£ãŸãŸã‚) ã¨ã„ã†ã“ã¨ã§ã™ã€‚ + 406 ステータス ("No Acceptable representation" ã‚’æ„味ã™ã‚‹) + ãŒã€åˆ©ç”¨å¯èƒ½ãª variant ã®ãƒªã‚¹ãƒˆã®ã¤ã„㟠HTML + ドキュメントã¨ã¨ã‚‚ã«è¿”ã•ã‚Œã¾ã™ã€‚ + 相é•ã®æ¬¡å…ƒã‚’示㙠HTTP Vary ヘッダも設定ã•ã‚Œã¾ã™ã€‚
  8. +
+ +
top
+
+

å“質ã®å€¤ã‚’変ãˆã‚‹

+ +

上記㮠Apache ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®åŽ³æ ¼ãªè§£é‡ˆã§ + 得られるã§ã‚ã‚ã†å€¤ã‹ã‚‰ã€Apache ã¯å“質数値を時々変ãˆã¾ã™ã€‚ + ã“ã‚Œã¯ã€ã“ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§å®Œå…¨ã§ã¯ãªã„ã€ã‚ã‚‹ã„ã¯æ­£ç¢ºã§ãªã„情報をé€ã‚‹ + ブラウザå‘ã‘ã«ã‚ˆã‚Šã‚ˆã„çµæžœã‚’å¾—ã‚‹ãŸã‚ã«è¡Œã‚ã‚Œã¾ã™ã€‚ + ã‹ãªã‚Šãƒãƒ”ュラーãªãƒ–ラウザã§ã€ã‚‚ã—ãªã„ã¨é–“é•ã£ãŸ variant + ã‚’é¸æŠžã™ã‚‹çµæžœã«ãªã£ã¦ã—ã¾ã†ã‚ˆã†ãª Accept + ヘッダ情報をé€ã‚‹ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ã€‚ + ブラウザãŒå®Œå…¨ã§æ­£ã—ã„情報をé€ã£ã¦ã„ã‚Œã°ã€ + ã“ã®æ•°å€¤å¤‰åŒ–ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。

+ +

メディアタイプã¨ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰

+ +

Accept: リクエストヘッダã¯ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã®å„ªå…ˆå‚¾å‘を指定ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ã¾ãŸã€"image/*" ã‚„ "*/*" + ã¨ã„ã£ãŸã€Œãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã€ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã‚’å«ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã“㧠* ã¯ä»»æ„ã®æ–‡å­—列ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€æ¬¡ã®:

+ +

Accept: image/*, */*

+ +

ã‚’å«ã‚€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€"image/" ã§ã¯ã˜ã¾ã‚‹ã‚¿ã‚¤ãƒ—å…¨ã¦ãŒè¨±å®¹ã§ãる〠+ ãã—ã¦ä»–ã®ã©ã‚“ãªã‚¿ã‚¤ãƒ—も許容ã§ãã‚‹ + (ã“ã®å ´åˆã¯ã˜ã‚ã® "image/*" ã¯å†—é•·ã«ãªã‚Šã¾ã™) + ã“ã¨ã‚’示ã—ã¾ã™ã€‚ + 扱ã†ã“ã¨ã®ã§ãる明示的ãªã‚¿ã‚¤ãƒ—ã«åŠ ãˆã¦ã€æ©Ÿæ¢°çš„ã« + ワイルドカードをé€ã‚‹ãƒ–ラウザもã‚ã‚Šã¾ã™ã€‚例ãˆã°:

+ +

+ Accept: text/html, text/plain, image/gif, image/jpeg, */* +

+

ã“ã†ã™ã‚‹ã“ã¨ã®ç‹™ã„ã¯ã€æ˜Žç¤ºçš„ã«ãƒªã‚¹ãƒˆã—ã¦ã„るタイプãŒå„ªå…ˆã•ã‚Œã‚‹ã‘ã‚Œã©ã‚‚〠+ ç•°ãªã‚‹è¡¨ç¾ãŒåˆ©ç”¨å¯èƒ½ã§ã‚ã‚Œã°ãã‚Œã§ã‚‚良ã„ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚ + ã—ã‹ã—ãªãŒã‚‰ã€ä¸Šã®åŸºæœ¬çš„ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§ã¯ã€ + */* ワイルドカードã¯ä»–ã®å…¨ã¦ã®ã‚¿ã‚¤ãƒ—ã¨å…¨ãåŒç­‰ãªã®ã§å„ªå…ˆã•ã‚Œã¾ã›ã‚“。 + ブラウザ㯠*/* ã«ã‚‚ã£ã¨ä½Žã„å“質 (優先) + 値を付ã‘ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹ã¹ããªã®ã§ã™ã€‚例ãˆã°:

+

+ Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +

+

明示的ãªã‚¿ã‚¤ãƒ—ã«ã¯å“質数値ãŒä»˜ã‘られã¦ã„ã¾ã›ã‚“ã®ã§ã€ + デフォルト㮠1.0 (最高値) ã®å„ªå…ˆã«ãªã‚Šã¾ã™ã€‚ + ワイルドカード */* ã¯ä½Žã„優先度 0.01 を与ãˆã‚‰ã‚Œã¦ã„ã‚‹ã®ã§ã€ + 明示的ã«ãƒªã‚¹ãƒˆã•ã‚Œã¦ã„るタイプã«åˆè‡´ã™ã‚‹ variant ãŒãªã„å ´åˆã«ã®ã¿ã€ + ä»–ã®ã‚¿ã‚¤ãƒ—ãŒè¿”ã•ã‚Œã¾ã™ã€‚

+ +

ã‚‚ã— Accept: ヘッダ㌠q 値を全ãå«ã‚“ã§ã„ãªã‘ã‚Œã°ã€ + 望ã¿ã®æŒ™å‹•ã‚’ã™ã‚‹ãŸã‚ã«ã€ + Apache 㯠"*/*" ãŒã‚れ㰠0.01 ã® q 値を設定ã—ã¾ã™ã€‚ + ã¾ãŸã€"type/*" ã®å½¢ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã«ã¯ 0.02 ã® q 値を設定ã—ã¾ã™ + (ã§ã™ã‹ã‚‰ã“れら㯠"*/*" ã®ãƒžãƒƒãƒã‚ˆã‚Šã‚‚優先ã•ã‚Œã¾ã™)。 + ã‚‚ã— Accept: ヘッダ中ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã®ã©ã‚Œã‹ãŒ q + 値をå«ã‚“ã§ã„ã‚Œã°ã€ã“れらã®ç‰¹æ®Šãªå€¤ã¯é©å¿œã•ã‚Œãšã€ + æ­£ã—ã„情報をé€ã‚‹ãƒ–ラウザã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯æœŸå¾…通り㫠+ 動作ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+ + +

言語ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®ä¾‹å¤–処ç†

+ +

Apache 2.0 ã§ã¯æ–°ãŸã«ã€è¨€èªžãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ãŒé©åˆã™ã‚‹ã‚‚ã®ã‚’ + 見ã¤ã‘ã‚‹ã®ã«å¤±æ•—ã—ãŸæ™‚ã«ã€å„ªé›…ã«ãƒ•ã‚©ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§ãるよã†ãª + ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ãŒå¹¾ã¤ã‹è¿½åŠ ã•ã‚Œã¾ã—ãŸã€‚

+ +

サーãƒã®ãƒšãƒ¼ã‚¸ã‚’クライアントãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã—ãŸã‘ã‚Œã©ã‚‚〠+ ブラウザã®é€ã£ã¦ã㟠Accept-Language ã«åˆè‡´ã™ã‚‹ãƒšãƒ¼ã‚¸ãŒä¸€ã¤ã‚‚ + 見ã¤ã‹ã‚‰ãªã‹ã£ãŸå ´åˆã«ã€ã‚µãƒ¼ãƒã¯ "No Acceptable Variant" + ã‹ "Multiple Choices" レスãƒãƒ³ã‚¹ã‚’クライアントã«è¿”ã—ã¾ã™ã€‚ + ã“れらã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’è¿”ã•ãªã„よã†ã«ã€ + ã“ã®ã‚ˆã†ãªå ´åˆã«ã¯ Apache ㌠Accept-Language を無視ã—ã¦ã€ + クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«æ˜Žç¤ºçš„ã«ã¯åˆè‡´ã—ãªã„ドキュメントを + æä¾›ã™ã‚‹ã‚ˆã†ã«è¨­å®šã§ãã¾ã™ã€‚ + ForceLanguagePriority + ディレクティブã¯ã€ã“れらã®ã‚¨ãƒ©ãƒ¼ã®ä¸€ã¤ã‹ä¸¡æ–¹ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ãŸã‚ã« + 使用ã§ãã¦ã€ + LanguagePriority + ディレクティブã®å†…容を使ã£ã¦ã‚µãƒ¼ãƒã®åˆ¤æ–­ã‚’代行ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚

+ +

サーãƒã¯ä»–ã«é©åˆã™ã‚‹ã‚‚ã®ãŒè¦‹ã¤ã‹ã‚‰ãªã‘ã‚Œã°ã€ + 言語サブセットã§é©åˆã™ã‚‹ã‚‚ã®ã‚’試ãã†ã¨ã‚‚ã—ã¾ã™ã€‚ + 例ãˆã°ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒè‹±å›½è‹±èªžã§ã‚ã‚‹ en-GB 言語㧠+ ドキュメントをリクエストã—ãŸå ´åˆã€ã‚µãƒ¼ãƒã¯ HTTP/1.1 + è¦æ ¼ã§ã¯ã€å˜ã« en ã¨ãƒžãƒ¼ã‚¯ã•ã‚Œã¦ã„るドキュメントを + マッãƒã™ã‚‹ã‚‚ã®ã¨ã™ã‚‹ã“ã¨ã¯é€šå¸¸ã¯è¨±ã•ã‚Œã¦ã„ã¾ã›ã‚“。 + (英国英語ã¯ç†è§£ã§ãã‚‹ã‘ã©ä¸€èˆ¬çš„ãªè‹±èªžã¯ç†è§£ã§ããªã„ã¨ã„ã†èª­ã¿æ‰‹ã¯ + 考ãˆã‚‰ã‚Œãªã„ã®ã§ã€Accept-Language ヘッダ㧠en-GB + ã‚’å«ã‚“㧠en ã‚’å«ã¾ãªã„ã®ã¯ã»ã¼ç¢ºå®Ÿã«è¨­å®šã®é–“é•ã„ã§ã‚る〠+ ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ã§ã™ãŒä¸å¹¸ãªã“ã¨ã«ã€å¤šãã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ + ã“ã®ã‚ˆã†ãªè¨­å®šã«ãªã£ã¦ã„ã¾ã™ã€‚) + ã—ã‹ã—ãªãŒã‚‰ã€ä»–ã®è¨€èªžã«ã¯ãƒžãƒƒãƒã›ãšã€"No Acceptable Variants" + エラーを返ã—ãŸã‚Šã€ + LanguagePriority + ã«ãƒ•ã‚©ãƒ¼ãƒ«ãƒãƒƒã‚¯ã—よã†ã¨ã—ã¦ã„ã‚‹ã¨ãã¯ã€ + サブセット指定を無視ã—ã¦ã€en-GB ã‚’ en + ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + Apache ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¨±å®¹è¨€èªžãƒªã‚¹ãƒˆã«æš—黙㫠+ éžå¸¸ã«ä½Žã„å“質値ã®è¦ªè¨€èªžã‚’加ãˆã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + ã—ã‹ã—ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ "en-GB; q=0.9, fr; q=0.8" ã¨ãƒªã‚¯ã‚¨ã‚¹ãƒˆã—ã¦ã€ + サーãƒãŒ "en" 㨠"fr" ã¨è¨­è¨ˆã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’æŒã£ã¦ã„ã‚‹å ´åˆã¯ã€ + "fr" ドキュメントãŒè¿”ã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ã“ã®ã‚ˆã†ãªå‡¦ç†ã¯ã€HTTP 1.1 è¦æ ¼ã¨ã®æ•´åˆæ€§ã‚’維æŒã—ã¦ã€ + é©åˆ‡ã«è¨­å®šã•ã‚ŒãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚‚ãã¡ã‚“ã¨å‹•ä½œã™ã‚‹ãŸã‚ã« + å¿…è¦ã§ã™ã€‚

+ +

より高度ãªãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ (Cookie や特殊㪠URL パス等) + ã«ãŠã„ã¦ã‚‚ユーザã®è¨€èªžé¸æŠžã‚’サãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚〠+ Apache 2.0.47 ã‹ã‚‰ã¯ã€mod_negotiation + ãŒç’°å¢ƒå¤‰æ•° prefer-language + ã‚’èªè­˜ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ã“ã®å¤‰æ•°ãŒå­˜åœ¨ã—ã¦ã€é©åˆ‡ãªè¨€èªžã‚¿ã‚°ãŒä»£å…¥ã•ã‚Œã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€ + mod_negotiation ã¯åˆè‡´ã™ã‚‹ variant + ã‚’é¸æŠžã—よã†ã¨ã—ã¾ã™ã€‚åˆè‡´ã™ã‚‹ã‚‚ã®ãŒç„¡ã‘ã‚Œã°ã€ + 通常ã®ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³æ‰‹é †ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

Example

+ SetEnvIf Cookie "language=(.+)" prefer-language=$1
+ Header append Vary cookie +

+ +
top
+
+

Transparent Content Negotiation +ã®æ‹¡å¼µ

+ +

Apache 㯠transparent content negotiation プロトコル +(RFC 2295) を次ã®ã‚ˆã†ã«æ‹¡å¼µã—ã¦ã„ã¾ã™ã€‚ +特定ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®ã¿ãŒåˆ©ç”¨å¯èƒ½ã§ã‚ã‚‹ variant +ã«å°ã‚’付ã‘ã‚‹ãŸã‚ã«ã€æ–°ãŸã« {encoding ..} +è¦ç´ ã‚’ variant リスト中ã«ä½¿ã£ã¦ã„ã¾ã™ã€‚ +リスト中ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚ŒãŸ variant ã‚’èªè­˜ã—〠+Accept-Encoding リクエストヘッダã«å¾“ã£ã¦è¨±å®¹ã•ã‚Œã‚‹ +エンコードをもã£ãŸ variant ã¯ã€ã©ã‚Œã§ã‚‚候補 variant +ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã‚ˆã†ã«ã€ +RVSA/1.0 アルゴリズム (RFC 2296) ã®å®Ÿè£…ãŒæ‹¡å¼µã•ã‚Œã¾ã—ãŸã€‚ +RVSA/1.0 ã®å®Ÿè£…ã§ã¯ã€æœ€é©ãª variant ãŒè¦‹ã¤ã‹ã‚‹ã¾ã§ã€ +計算ã—ãŸå“質数値ã¯å°æ•°ç‚¹ä»¥ä¸‹ 5 æ¡ã¾ã§ä¸¸ã‚ã¾ã›ã‚“。

+
top
+
+

リンクã¨åå‰ã®å¤‰æ›ã«é–¢ã™ã‚‹æ³¨æ„点

+ +

言語ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’使ã£ã¦ã„ã‚‹å ´åˆã¯ã€ + ファイルãŒä¸€ã¤ä»¥ä¸Šã®æ‹¡å¼µå­ã‚’æŒã¦ã¦ã€ + æ‹¡å¼µå­ã®é †ç•ªã¯é€šå¸¸ã¯è€ƒæ…®ã•ã‚Œãªã„ + (詳細㯠mod_mime + ã‚’å‚ç…§) ã®ã§ã€ + å¹¾ã¤ã‹ã®ç•°ãªã‚‹åå‰ã®å¤‰æ›ã‚’é¸ã¹ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

典型的ãªãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã€MIME ã‚¿ã‚¤ãƒ—æ‹¡å¼µå­ (例ãˆã° + html) ã‚’æŒã£ã¦ã„ã¦ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°æ‹¡å¼µå­ + (例ãˆã° gz) ã‚’æŒã£ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œãªãã¦ã€ + ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ç•°ãªã‚‹è¨€èªž variant を用æ„ã—ã¦ã„ã‚Œã°ã€ + ã‚‚ã¡ã‚ã‚“è¨€èªžæ‹¡å¼µå­ (例ãˆã° en) + ã‚’æŒã£ã¦ã„ã‚‹ã§ã—ょã†ã€‚

+ +

例:

+ +
    +
  • foo.en.html
  • + +
  • foo.html.en
  • + +
  • foo.en.html.gz
  • +
+ +

ファイルåã¨ã€ãã‚Œã«å¯¾ã—ã¦ä½¿ãˆã‚‹ãƒªãƒ³ã‚¯ã¨ä½¿ãˆãªã„リンクã®ä¾‹ã§ã™:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ファイルå使ãˆã‚‹ãƒªãƒ³ã‚¯ä½¿ãˆãªã„リンク
foo.html.enfoo
+ foo.html
-
foo.en.htmlfoofoo.html
foo.html.en.gzfoo
+ foo.html
foo.gz
+ foo.html.gz
foo.en.html.gzfoofoo.html
+ foo.html.gz
+ foo.gz
foo.gz.html.enfoo
+ foo.gz
+ foo.gz.html
foo.html
foo.html.gz.enfoo
+ foo.html
+ foo.html.gz
foo.gz
+ +

上ã®è¡¨ã‚’見ã¦ã€æ‹¡å¼µå­ãªã—ã®ãƒªãƒ³ã‚¯ (例ãˆã° foo) + ãŒã„ã¤ã§ã‚‚使ãˆã‚‹ã“ã¨ã«æ°—ãŒä»˜ãã§ã—ょã†ã€‚ + ã“ã®åˆ©ç‚¹ã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¨ã—ã¦å¿œç­”ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã® + 実際ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—を隠蔽ã—ã¦ã€ãƒªãƒ³ã‚¯ã®å‚照を変更ã™ã‚‹ã“ã¨ãªã + 後ã‹ã‚‰ãƒ•ã‚¡ã‚¤ãƒ«ã‚’変更ã§ãる〠+ 例ãˆã° html ã‹ã‚‰ shtml + ã«ã€ã‚ã‚‹ã„㯠cgi ã«å¤‰æ›´ã§ãる点ã§ã™ã€‚

+ +

リンク㫠MIME タイプを使ã„続ã‘ãŸã„ (例ãˆã° + foo.html)時ã¯ã€è¨€èªžæ‹¡å¼µå­ã¯ + (エンコーディング拡張å­ã‚‚ã‚ã‚Œã°ãれもå«ã‚ã¦) + MIME タイプ拡張å­ã®å³å´ã«ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“ + (例ãˆã° foo.html.en)。

+
top
+
+

キャッシュã«é–¢ã™ã‚‹æ³¨æ„事項

+ +

キャッシュãŒä¸€ã¤ã®è¡¨ç¾ã‚’ä¿å­˜ã—ã¦ã„ã‚‹ã¨ãã¯ã€ + リクエスト URL ã¨é–¢é€£ã¥ã‘られã¦ã„ã¾ã™ã€‚ + 次ã«ãã® URL ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸæ™‚ã«ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¯ + ä¿å­˜ã•ã‚Œã¦ã„る表ç¾ã‚’使用ã§ãã¾ã™ã€‚ã—ã‹ã—〠+ リソースãŒã‚µãƒ¼ãƒã§ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³å¯èƒ½ã§ã‚ã‚Œã°ã€ + 最åˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¦ç¶šãキャッシュヒットã§ã¯ + é–“é•ã£ãŸå¿œç­”ã‚’è¿”ã—ã¦ã—ã¾ã†ã¨ã„ã†ã“ã¨ã«ãªã‚Šã‹ã­ã¾ã›ã‚“。 + ã“れを防ããŸã‚ã«ã€Apache ã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã® + 後ã«è¿”ã•ã‚ŒãŸå¿œç­”å…¨ã¦ã«ã€HTTP/1.0 クライアントã§ã¯ + キャッシュä¸å¯èƒ½ã®å°ã‚’ã¤ã‘ã¾ã™ã€‚ + ã¾ãŸã€ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã•ã‚ŒãŸå¿œç­”ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’å¯èƒ½ã«ã™ã‚‹ + HTTP/1.1 プロトコルã®æ©Ÿèƒ½ã‚‚ Apache ã¯ã‚µãƒãƒ¼ãƒˆã—ã¾ã™ã€‚

+ +

HTTP/1.0 準拠ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ã¯ã€ + (ブラウザã§ã‚ã‚ã†ã¨ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã§ã‚ã‚ã†ã¨) + ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’å—ã‘ãŸå¿œç­”ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’許ã™ãŸã‚ã«ã€ + CacheNegotiatedDocs + ディレクティブを使用ã§ãã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚„ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«æ›¸ãã“ã¨ãŒã§ã〠+ 引数をã¨ã‚Šã¾ã›ã‚“。 + HTTP/1.1 クライアントã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯åŠ¹åŠ›ã‚’æŒã¡ã¾ã›ã‚“。

+ +

HTTP/1.1 クライアントã«å¯¾ã—ã¦ã¯ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³æ¬¡å…ƒ + を示ã™ãŸã‚ã« Vary HTTP レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ã‚’é€ã‚Šã¾ã™ã€‚ + キャッシュã¯ã€ã“れを使ã£ã¦å¾Œç¶šã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ãƒ­ãƒ¼ã‚«ãƒ«ã‚³ãƒ”ーã§å¿œç­”ã§ãã‚‹ã‹ + ã©ã†ã‹ã‚’決定ã§ãã¾ã™ã€‚ + ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³æ¬¡å…ƒã¨ã¯é–¢ä¿‚ãªã—ã«ãƒ­ãƒ¼ã‚«ãƒ«ã‚³ãƒ”ーã®ä½¿ç”¨ã‚’優先ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ã€ + force-no-vary 環境変数を + 設定ã—ã¾ã™ã€‚

+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/content-negotiation.html.ko.euc-kr b/docs/manual/content-negotiation.html.ko.euc-kr new file mode 100644 index 0000000..f7e57dd --- /dev/null +++ b/docs/manual/content-negotiation.html.ko.euc-kr @@ -0,0 +1,632 @@ + + + + + +³»¿ëÇù»ó (Content Negotiation) - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

³»¿ëÇù»ó (Content Negotiation)

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +

¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ ±â¼úµÈ ³»¿ëÇù»ó(content + negotiation)À» Áö¿øÇÑ´Ù. ³»¿ëÇù»óÀº media type, ¾ð¾î, ¹®ÀÚÁýÇÕ, + ÀÎÄÚµù µî¿¡ ´ëÇØ ºê¶ó¿ìÀú°¡ Á¦°øÇÑ ¼±È£µµ¿¡ µû¶ó ÀÚ¿øÀÇ + °¡Àå ÀûÇÕÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÑ´Ù. ¶Ç ºÒ¿ÏÀüÇÑ Çù»ó Á¤º¸¸¦ º¸³»´Â + ºê¶ó¿ìÀúÀÇ ¿äûÀ» Áö´ÉÀûÀ¸·Î ó¸®ÇÏ´Â ±â´Éµµ ÀÖ´Ù.

+ +

±âº»ÀûÀ¸·Î ÄÄÆÄÀϵǴ mod_negotiation + ¸ðµâÀÌ ³»¿ëÇù»ó ±â´ÉÀ» Á¦°øÇÑ´Ù.

+
+ +
top
+
+

³»¿ëÇù»ó¿¡ ´ëÇØ

+ +

ÀÚ¿øÀº ¿©·¯ ´Ù¸¥ Ç¥ÇöÀ» °¡Áú ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´Ù¸¥ + ¾ð¾î³ª ´Ù¸¥ media type ȤÀº µÑ ¸ðµÎ°¡ ´Ù¸¥ Ç¥ÇöµéÀÌ ÀÖÀ» + ¼ö ÀÖ´Ù. °¡Àå Àû´çÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÏ´Â ÇÑ°¡Áö ¹æ¹ýÀº »ç¿ëÀÚ¿¡°Ô + ¸ñ·Ï ÆäÀÌÁö¸¦ º¸¿©ÁÖ°í ¼±ÅÃÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. ±×·¯³ª ¼­¹ö°¡ + ÀÚµ¿À¸·Î ¼±ÅÃÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ´Â ºê¶ó¿ìÀú°¡ ¿äûÀÇ + ÀϺηΠ±×µéÀÌ ¼±È£Çϴ ǥÇö¿¡ ´ëÇÑ Á¤º¸¸¦ º¸³»±â¶§¹®¿¡ + °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î, ºê¶ó¿ìÀú´Â °¡´ÉÇÑÇÑ ºÒ¾î·Î, ±×·¯³ª + ¾ø´Ù¸é ¿µ¾î·Î Á¤º¸¸¦ º¸°í½Í´Ù°í ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ºê¶ó¿ìÀú´Â + ¿äûÀÇ Çì´õ·Î ±×µéÀÇ ±âÈ£¸¦ ³ªÅ¸³½´Ù. ¿ÀÁ÷ ºÒ¾î·ÎµÈ Ç¥Çö¸¸À» + ¿äûÇÑ´Ù¸é ºê¶ó¿ìÀú´Â ´ÙÀ½°ú °°ÀÌ º¸³½´Ù.

+ +

Accept-Language: fr

+ +

ÀÌ·± ±âÈ£´Â Ç¥ÇöÀÌ ¾ð¾îº°·Î ´Ù¸¦ °æ¿ì¿¡¸¸ °í·ÁµÈ´Ù.

+ +

´ÙÀ½Àº ´õ º¹ÀâÇÑ ¿äûÀÇ ¿¹·Î ºê¶ó¿ìÀú°¡ ºÒ¾î¿Í ¿µ¾î¸¦ + ¹ÞÀ» ¼ö ÀÖÁö¸¸, ºÒ¾î¸¦ ´õ ¼±È£ÇÏ°í, ¿©·¯ media typeÀ» ¹ÞÀ» + ¼ö ÀÖÁö¸¸, ÀÏ¹Ý ÅؽºÆ® º¸´Ù´Â HTML, ´Ù¸¥ media type º¸´Ù´Â + GIF¿Í JPEGÀ» ¼±È£ÇÑ´Ù°í ¾Ë·ÁÁØ´Ù.

+ +

+ Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 +

+ +

¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ Á¤ÀÇµÈ '¼­¹ö ÁÖµµ(server driven)' + ³»¿ëÇù»óÀ» Áö¿øÇÑ´Ù. ¾ÆÆÄÄ¡´Â Accept, + Accept-Language, Accept-Charset, + Accept-Encoding ¿äû Çì´õ¸¦ ¸ðµÎ Áö¿øÇÑ´Ù. + ¶Ç, ¾ÆÆÄÄ¡´Â RFC 2295¿Í RFC 2296¿¡ Á¤ÀÇµÈ ½ÇÇèÀûÀÎ ³»¿ëÇù»óÀÎ + 'ÀÚ¿¬½º·¯¿î(transparent)' ¿äû Çì´õµµ Áö¿øÇÑ´Ù. ±×·¯³ª ÀÌ + RFC¿¡ Á¤ÀÇµÈ '±â´É Çù»ó(feature negotiation)'Àº Áö¿øÇÏÁö + ¾Ê´Â´Ù.

+ +

ÀÚ¿ø(resource)Àº (RFC 2396) URI·Î ±¸º°ÇÏ´Â + °³³äÀûÀÎ Á¸Àç´Ù. ¾ÆÆÄÄ¡¿Í °°Àº À¥¼­¹ö´Â ÀÚ¿øÀÇ + Ç¥Çö(representations)À» Á¦°øÇÑ´Ù. Ç¥ÇöÀº + ÁöÁ¤µÈ media type, ¹®ÀÚÁýÇÕ, ÀÎÄÚµù µîÀ» °¡Áø ¹ÙÀÌÆ®µé·Î + µÇÀÖ´Ù. ÀÚ¿øÀº ¿©·¯ Ç¥Çö°ú (¶§·Î´Â ¾øÀ» ¼öµµ ÀÖ´Ù) ¿¬°üµÈ´Ù. + ÀÚ¿ø¿¡ ¿©·¯ Ç¥ÇöÀÌ ÀÖ´Ù¸é ÀÚ¿øÀ» + Çù»ó°¡´ÉÇÏ´Ù°í(negotiable) ºÎ¸£¸ç, À̶§ + °¢ Ç¥ÇöÀ» º¯Çü(variant)À̶ó°í ÇÑ´Ù. + Çù»ó°¡´ÉÇÑ ÀÚ¿øÀÇ º¯Çü Á¾·ù¸¦ Çù»óÀÇ + ¹üÀ§(dimension)¶ó°í ÇÑ´Ù.

+
top
+
+

¾ÆÆÄÄ¡ÀÇ Çù»ó

+ +

ÀÚ¿øÀ» Çù»óÇϱâÀ§ÇØ ¼­¹ö´Â °¢ º¯Çü¿¡ ´ëÇÑ Á¤º¸°¡ ÇÊ¿äÇÏ´Ù. + ´ÙÀ½ µÎ°¡Áö ¹æ¹ýÁß Çϳª·Î Á¤º¸¸¦ ¾ò´Â´Ù:

+ +
    +
  • º¯ÇüÀ» ´ãÀº ÆÄÀϵéÀ» Á÷Á¢ ¿­°ÅÇÑ type mapÀ» (¿¹¸¦ + µé¾î, *.var ÆÄÀÏ) »ç¿ëÇϰųª,
  • + +
  • Á÷Á¢ ÁöÁ¤ÇÏÁö¾Ê¾Æµµ ¼­¹ö°¡ ÆÄÀÏ¸í¿¡¼­ ±ÔÄ¢À» ã¾Æ¼­ + °á°ú¸¦ ¼±ÅÃÇÏ´Â 'MultiViews'¸¦ »ç¿ëÇÑ´Ù.
  • +
+ +

type-map ÆÄÀÏ »ç¿ëÇϱâ

+ +

type mapÀº type-mapÀ̶õ Çڵ鷯¿Í ¿¬°áµÈ + (ȤÀº ÀÌÀü ¾ÆÆÄÄ¡ ¼³Á¤°ú ȣȯÀ» À§ÇØ MIME typeÀÌ + application/x-type-mapÀÎ) ¹®¼­´Ù. ÀÌ ±â´ÉÀ» + »ç¿ëÇÏ·Á¸é ¼³Á¤¿¡¼­ type-map Çڵ鷯¿¡ ´ëÇÑ + ÆÄÀÏ È®ÀåÀÚ¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¼­¹ö ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ + ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

+ +

AddHandler type-map .var

+ +

Type map ÆÄÀÏÀº ÇØ´çÇÏ´Â ÀÚ¿ø°ú À̸§ÀÌ °°¾Æ¾ß ÇÏ°í, + °¢ º¯Çü¿¡ ´ëÇÑ Ç׸ñÀÌ ÀÖ¾î¾ß ÇÑ´Ù. Ç׸ñÀº ¿©·¯ HTTPÇü½Ä + Çì´õ ÁÙ·Î ±¸¼ºµÈ´Ù. º¯Çü¿¡ ´ëÇÑ °¢°¢ÀÇ Ç׸ñµéÀº ºóÁÙ·Î + ±¸ºÐÇÑ´Ù. Ç׸ñ¾È¿¡¼­ ºóÁÙÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. (ÀÌ·¸°Ô ÇÒ + ÇÊ¿ä°¡ ¾ø°í, À־ ¹«½ÃÇÏÁö¸¸) ¿©·¯ Ç׸ñÀÌ °øÅëÀ¸·Î °¡Áö°í + ÀÖ´Â ³»¿ëÀ¸·Î map ÆÄÀÏÀ» ½ÃÀÛÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ´ÙÀ½Àº + map ÆÄÀÏ ¿¹´Ù. ÀÌ ÆÄÀÏÀÇ À̸§Àº foo.var·Î, + foo¶ó´Â ÀÚ¿øÀ» ¼³¸íÇÑ´Ù.

+ +

+ URI: foo
+
+ URI: foo.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: foo.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+

+

typemap ÆÄÀÏÀÌ ÆÄÀϸí È®ÀåÀÚ º¸´Ù, ½ÉÁö¾î Multiviews¸¦ + »ç¿ëÇÏ¿©µµ, ¿ì¼±±ÇÀ» °¡ÁüÀ» ÁÖÀÇÇ϶ó. º¯ÇüÀÌ ¼­·Î ´Ù¸¥ Ç°ÁúÀ» + °¡Áø´Ù¸é, ´ÙÀ½°ú °°ÀÌ (JPEG, GIF, ASCII-art¿¡ ÇØ´çÇÏ´Â) + media type¿¡ "qs" ÆĶó¹ÌÅÍ·Î Ç°Áú(source quality)À» Ç¥½ÃÇÒ + ¼ö ÀÖ´Ù:

+ +

+ URI: foo
+
+ URI: foo.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: foo.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: foo.txt
+ Content-type: text/plain; qs=0.01
+

+ +

qs °ªÀº 0.000¿¡¼­ 1.000 »çÀÌ´Ù. qs °ªÀÌ 0.000ÀÎ º¯ÇüÀº + Àý´ë ¼±ÅõÇÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó. 'qs' °ªÀÌ ¾ø´Â º¯ÇüÀº 1.0À¸·Î + Ãë±ÞµÈ´Ù. qs °ªÀº Ŭ¶óÀ̾ðÆ®ÀÇ ´É·Â°ú´Â °ü°è¾øÀÌ ´Ù¸¥ º¯Çüµé°ú + ºñ±³ÇÏ¿© ±× º¯ÇüÀÇ »ó´ëÀûÀÎ 'Ç°Áú'À» ³ªÅ¸³½´Ù. ¿¹¸¦ µé¾î, + »çÁøÀ» ³ªÅ¸³»·Á´Â °æ¿ì JPEG ÆÄÀÏÀÌ ASCII ÆÄÀϺ¸´Ù´Â Ç×»ó + ³ôÀº Ç°ÁúÀ» °¡Áø´Ù. ±×·¯³ª ÀÚ¿øÀÌ ¿ø·¡ ASCII art¿´´Ù¸é + ASCII Ç¥ÇöÀÌ JPEG Ç¥Çöº¸´Ù ´õ ³ôÀº Ç°ÁúÀ» °¡Áú ¼ö ÀÖ´Ù. + ±×·¯¹Ç·Î ¾î¶² º¯ÇüÀÇ qs °ªÀº Ç¥ÇöÇÏ·Á´Â ÀÚ¿øÀÇ ¼ºÁú¿¡ + µû¶ó ´Ù¸£´Ù.

+ +

Áö¿øÇÏ´Â ¸ðµç Çì´õ ¸ñ·ÏÀº mod_negotation + typemap ¹®¼­¸¦ Âü°íÇ϶ó.

+ + +

Multiviews

+ +

MultiViews´Â µð·ºÅ丮º° ¿É¼ÇÀ̹ǷÎ, + httpd.confÀÇ + <Directory>, + <Location>, + <Files> + ¼½¼Ç ȤÀº (AllowOverride°¡ + ÀûÀýÈ÷ ¼³Á¤µÇ¾ú´Ù¸é) .htaccess ÆÄÀÏÀÇ + Options Áö½Ã¾î¿¡ ¼³Á¤ÇÒ + ¼ö ÀÖ´Ù. Options AllÀº MultiViews¸¦ + Æ÷ÇÔÇÏÁö¾ÊÀ½À» ÁÖÀÇÇ϶ó. µû·Î Á÷Á¢ ½áÁà¾ß ÇÑ´Ù.

+ +

MultiViews¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀÏÀÌ ÀϾ´Ù: + ¼­¹ö°¡ /some/dir/foo¿¡ ´ëÇÑ ¿äûÀ» ¹Þ°í + /some/dir/foo¿¡ MultiViews°¡ µ¿ÀÛÇϸç + /some/dir/foo°¡ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì, + ¼­¹ö´Â µð·ºÅ丮¿¡¼­ À̸§ÀÌ foo.*ÀÎ ÆÄÀϵéÀ» ¸ðµç Æ÷ÇÔÇÏ´Â + °¡»óÀÇ type mapÀ» ¸¸µç´Ù. Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇÑ media type°ú + content-encodingÀ» °¡Áö°í ÀÌÁß¿¡ °¡Àå ÀûÇÕÇÑ °ÍÀ» ¼±ÅÃÇÑ´Ù.

+ +

MultiViews´Â ¼­¹ö°¡ µð·ºÅ丮¸¦ ÂüÁ¶ÇÒ¶§ + ÆÄÀÏÀ» ã´Â DirectoryIndex Áö½Ã¾î¿¡µµ + Àû¿ëµÈ´Ù. ¼³Á¤ÆÄÀÏÀÌ ´ÙÀ½°ú °°´Ù¸é,

+

DirectoryIndex index

+

index.html°ú index.html3ÀÌ + ¸ðµÎ ÀÖ´Ù¸é ¼­¹ö´Â ÀÌµÑ Áß¿¡ Çϳª¸¦ °áÁ¤ÇÑ´Ù. µÑ ¸ðµÎ ¾ø°í + index.cgi°¡ ÀÖ´Ù¸é, ¼­¹ö´Â ±×°ÍÀ» ½ÇÇàÇÑ´Ù.

+ +

µð·ºÅ丮¸¦ ÀÐÀ»¶§ ÆÄÀÏÁß Çϳª°¡ Charset, Content-Type, + Language, Encoding¸¦ ÆÇ´ÜÇÏ´Â mod_mimeÀÌ ¸ð¸£´Â + È®ÀåÀÚ¸¦ °¡Áø´Ù¸é, °á°ú´Â MultiViewsMatch Áö½Ã¾î ¼³Á¤¿¡ + ´Þ·Ç´Ù. ÀÌ Áö½Ã¾î´Â Çڵ鷯, ÇÊÅÍ, ´Ù¸¥ È®ÀåÇüµéÀÌ MultiViews + Çù»ó¿¡ Âü¿©ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.

+ +
top
+
+

Çù»ó¹æ¹ý

+ +

¾ÆÆÄÄ¡°¡ type-map ÆÄÀÏÀ̳ª µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀϸíµé·Î + ÁÖ¾îÁø ÀÚ¿ø¿¡ ´ëÇÑ º¯Çü ¸ñ·ÏÀ» ¾ò°ÔµÇ¸é 'ÃÖÀûÀÇ' º¯ÇüÀ» + °áÁ¤ÇϱâÀ§ÇØ µÎ ¹æ¹ýÁß Çϳª¸¦ »ç¿ëÇÑ´Ù. ¾ÆÆÄÄ¡ ³»¿ëÇù»ó + ±â´ÉÀ» »ç¿ëÇϱâÀ§ÇØ Á¤È®È÷ Çù»óÀÌ ¾î¶»°Ô ÀϾ´ÂÁö ÀÚ¼¼È÷ + ¾Ë ÇÊ¿ä´Â ¾ø´Ù. ±×·¯³ª ±Ã±ÝÇÑ »ç¶÷À» À§ÇØ ÀÌ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+ +

µÎ°¡Áö Çù»ó¹æ¹ýÀÌ ÀÖ´Ù:

+ +
    +
  1. ¾ÆÆÄÄ¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ¿© ¼­¹ö°¡ ÁÖµµÇÏ´Â + Çù»óÀº ÀϹÝÀûÀÎ °æ¿ì¿¡ »ç¿ëÇÑ´Ù. ¾ÆÆÄÄ¡ ¾Ë°í¸®ÁòÀº + ¾Æ·¡¼­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. ÀÌ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ¸é ¾ÆÆÄÄ¡´Â + ´õ ³ªÀº °á°ú¸¦ ¾ò±âÀ§ÇØ Á¾Á¾ ƯÁ¤ ¹üÀ§ÀÇ + Ç°Áú°è¼ö(quality factor)¸¦ 'Á¶ÀÛÇÑ´Ù'. ¾ÆÆÄÄ¡°¡ Ç°Áú°è¼ö¸¦ + Á¶ÀÛÇÏ´Â ¹æ¹ýÀº ¾Æ·¡¼­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
  2. + +
  3. ÀÚ¿¬½º·¯¿î(Transparent) ³»¿ëÇù»óÀº + ºê¶ó¿ìÀú°¡ RFC 2295¿¡ Á¤ÀÇµÈ ¹æ¹ýÀ¸·Î ¿äûÇÒ °æ¿ì¿¡¸¸ + »ç¿ëÇÑ´Ù. ÀÌ Çù»ó¹æ¹ýÀº 'ÃÖÀûÀÇ' º¯ÇüÀ» °áÁ¤ÇÒ ±ÇÇÑÀ» + ºê¶ó¿ìÀú¿¡°Ô ºÎ¿©ÇÑ´Ù. ±×·¡¼­ °á°ú´Â ºê¶ó¿ìÀúÀÇ ¾Ë°í¸®Áò¿¡ + ´Þ·È´Ù. ÀÚ¿¬½º·¯¿î Çù»ó°úÁ¤Áß¿¡ ºê¶ó¿ìÀú´Â ¾ÆÆÄÄ¡¿¡°Ô + RFC 2296¿¡ Á¤ÀÇµÈ '¿ø°Ý º¯Çü¼±Åà ¾Ë°í¸®Áò(remote variant + selection algorithm)'À» ¿äûÇÒ ¼ö ÀÖ´Ù.
  4. +
+ +

Çù»óÀÇ ¹üÀ§

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
¹üÀ§¼³¸í
Media Typeºê¶ó¿ìÀú´Â Accept Çì´õ·Î ¼±È£¸¦ ³ªÅ¸³½´Ù. + °¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀÇ ¼³¸íµµ Ç°Áú°è¼ö¸¦ + ("qs" ÆĶó¹ÌÅÍ) °¡Áú ¼ö ÀÖ´Ù.
Languageºê¶ó¿ìÀú´Â Accept-Language Çì´õ·Î ¼±È£¸¦ + ³ªÅ¸³½´Ù. °¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº + ¿©·¯ ¾ð¾î¸¦ °¡Áú (ȤÀº ¾Æ¹« ¾ð¾îµµ ¾øÀ») ¼ö ÀÖ´Ù.
Encodingºê¶ó¿ìÀú´Â Accept-Encoding Çì´õ·Î ¼±È£¸¦ + ³ªÅ¸³½´Ù. °¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù.
Charsetºê¶ó¿ìÀú´Â Accept-Charset Çì´õ·Î ¼±È£¸¦ + ³ªÅ¸³½´Ù. °¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº + media typeÀÇ ÆĶó¹ÌÅÍ·Î ¹®ÀÚÁýÇÕÀ» ³ªÅ¸³¾ ¼ö ÀÖ´Ù.
+ + +

¾ÆÆÄÄ¡ Çù»ó ¾Ë°í¸®Áò

+ +

¾ÆÆÄÄ¡´Â ºê¶ó¿ìÀú¿¡°Ô º¸³¾ 'ÃÖÀûÀÇ' º¯ÇüÀ» (ÀÖ´Ù¸é) + ¼±ÅÃÇϱâÀ§ÇØ ¾Æ·¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ´Ù. ÀÌ ¾Ë°í¸®ÁòÀº º¯°æÇÒ + ¼ö ¾ø´Ù. ´ÙÀ½¿Í °°ÀÌ µ¿ÀÛÇÑ´Ù:

+ +
    +
  1. ¸ÕÀú, Çù»óÀÇ °¢ ¹üÀ§¿¡ ´ëÇØ ÇØ´çÇÏ´Â Accept* + Çì´õ¸¦ °Ë»çÇÏ°í, °¢ º¯Çü¿¡ Ç°Áú°ªÀ» ¸Å±ä´Ù. ¾î¶² ¹üÀ§ÀÇ + Accept* Çì´õ°¡ ¹Þ¾ÆµéÀÌÁö ¾Ê´Â º¯ÇüÀº Èĺ¸¿¡¼­ + Á¦¿ÜÇÑ´Ù. ¾î¶² º¯Çüµµ ³²Áö¾ÊÀ¸¸é 4 ´Ü°è·Î °£´Ù.
  2. + +
  3. + Èĺ¸¿¡¼­ Çϳª¾¿ Á¦¿ÜÇÏ¿© 'ÃÖÀûÀÇ' º¯ÇüÀ» ã´Â´Ù. ´ÙÀ½ + °¢ °Ë»ç´Â ¼ø¼­´ë·Î ÀϾ´Ù. °¢ °Ë»ç¿¡¼­ ¼±ÅõÇÁö¾ÊÀº + º¯ÇüÀº Á¦¿ÜµÈ´Ù. °¢ °Ë»çÈÄ ÇÑ º¯Çü¸¸ ³²À¸¸é À̸¦ ÃÖÀûÀÇ + º¯ÇüÀ¸·Î ¼±ÅÃÇÏ°í 3 ´Ü°è·Î °£´Ù. ¿©·¯ º¯ÇüÀÌ ³²À¸¸é + ´ÙÀ½ °Ë»ç¸¦ ÁøÇàÇÑ´Ù. + +
      +
    1. Accept Çì´õÀÇ Ç°Áú°è¼ö¿Í º¯ÇüÀÇ + media type¿¡ ´ëÇÑ Ç°Áú°ªÀ» °öÇÏ¿© °¡Àå ³ôÀº °ªÀ» + °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.
    2. + +
    3. °¡Àå ³ôÀº ¾ð¾î(language) Ç°Áú°è¼ö¸¦ °¡Áø º¯ÇüÀ» + ¼±ÅÃÇÑ´Ù.
    4. + +
    5. Accept-Language Çì´õ¿¡ (ÀÖ´Ù¸é) + ³ª¿Â ¾ð¾îÀÇ ¼ø¼­ ȤÀº LanguagePriority + Áö½Ã¾î¿¡ (ÀÖ´Ù¸é) ³ª¿Â ¾ð¾îÀÇ ¼ø¼­¸¦ °¡Áö°í °¡Àå + ÀûÇÕÇÑ ¾ð¾î¸¦ °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.
    6. + +
    7. °¡Àå ³ôÀº (text/html media typeÀÇ ¹öÀüÀ» ³ªÅ¸³»´Â) + 'level' media ÆĶó¹ÌÅ͸¦ °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.
    8. + +
    9. Accept-Charset Çì´õ¸¦ °¡Áö°í °¡Àå + ÀûÇÕÇÑ charset media ÆĶó¹ÌÅ͸¦ °¡Áø º¯ÇüÀ» ã´Â´Ù. + Çì´õ°¡ ¾ø´Ù¸é ISO-8859-1 ¹®ÀÚÁýÇÕÀ» °¡Àå ¼±È£ÇÑ´Ù. + text/* media typeÀ» °¡ÁöÁö¸¸ ¸í½ÃÀûÀ¸·Î + ƯÁ¤ ¹®ÀÚÁýÇÕ°ú ¿¬°áµÇÁö¾ÊÀº º¯ÇüÀº ISO-8859-1·Î + °¡Á¤ÇÑ´Ù.
    10. + +
    11. ISO-8859-1ÀÌ ¾Æ´Ñ charset media ÆĶó¹ÌÅ͸¦ + °¡Áø º¯ÇüµéÀ» ¼±ÅÃÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é, ´ë½Å ¸ðµç + º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.
    12. + +
    13. °¡Àå ÀûÇÕÇÑ ÀÎÄÚµùÀ» °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù. + user-agent¿¡ ÀûÇÕÇÑ ÀÎÄÚµùÀ» °¡Áø º¯ÇüÀÌ ÀÖ´Ù¸é ±× + º¯Çü¸¸À» ¼±ÅÃÇÑ´Ù. ±×·¸Áö¾Ê°í ÀÎÄÚµùµÈ º¯Çü°ú ÀÎÄÚµù¾ÈµÈ + º¯ÇüÀÌ °°ÀÌ ÀÖ´Ù¸é ÀÎÄÚµù¾ÈµÊ º¯Çü¸¸À» ¼±ÅÃÇÑ´Ù. º¯ÇüÀÌ + ¸ðµÎ ÀÎÄÚµùµÇ¾ú°Å³ª ¸ðµÎ ÀÎÄÚµù¾ÈµÈ °æ¿ì ¸ðµç º¯ÇüÀ» + ¼±ÅÃÇÑ´Ù.
    14. + +
    15. content length°¡ °¡Àå ÀûÀº º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.
    16. + +
    17. ³²Àº °ÍÁß Ã¹¹øÀç º¯ÇüÀ» ¼±ÅÃÇÑ´Ù. ÀÌ´Â type-map + ÆÄÀÏÀÇ ¾Õ¿¡ ³ª¿Ô°Å³ª, µð·ºÅ丮¿¡¼­ º¯ÇüÀ» ÀÐÀº °æ¿ì + ÆÄÀϸíÀ» ASCII ÄÚµå ¼ø¼­·Î ÇÏ¿© ¾Õ¿¡ ³ª¿À´Â °ÍÀÌ´Ù.
    18. +
    +
  4. + +
  5. ÀÌÁ¦ ¾Ë°í¸®ÁòÀÌ 'ÃÖÀûÀÇ' º¯ÇüÀ» ¼±ÅÃÇß´Ù. ÀÌ°ÍÀ» ÀÀ´äÀ¸·Î + º¸³½´Ù. HTTP ÀÀ´ä Çì´õ Vary´Â Çù»óÀÇ ¹üÀ§¸¦ + ³ªÅ¸³»°Ô µÈ´Ù. (ºê¶ó¿ìÀú¿Í ij½¬´Â ÀÚ¿øÀ» ij½¬ÇÒ¶§ ÀÌ Á¤º¸¸¦ + »ç¿ëÇÒ ¼ö ÀÖ´Ù.) ³¡.
  6. + +
  7. ÀÌ ´Ü°è¿¡ µµ´ÞÇß´Ù¸é (¸ðµÎ ºê¶ó¿ìÀú°¡ ¹ÞÁö¸øÇϱ⠶§¹®¿¡) + ¾î¶² º¯Çüµµ ¼±ÅÃÀÌ ¾ÈµÈ °æ¿ì´Ù. ("No acceptable + representation"¸¦ ¶æÇÏ´Â) »óÅ 406°ú ³»¿ëÀ¸·Î »ç¿ë°¡´ÉÇÑ + º¯ÇüÀÇ ¸ñ·ÏÀ» ´ãÀº HTML ¹®¼­¸¦ ÀÀ´äÀ» º¸³½´Ù. ¶Ç, HTML + Vary Çì´õ´Â º¯ÇüÀÇ ¹üÀ§¸¦ ³ªÅ¸³½´Ù.
  8. +
+ +
top
+
+

Ç°Áú°è¼ö Á¶ÀÛÇϱâ

+ +

¾ÆÆÄÄ¡´Â Á¾Á¾ À§ÀÇ ¾ÆÆÄÄ¡ Çù»ó ¾Ë°í¸®ÁòÀ» ¾ö°ÝÈ÷ ÁöÅ°Áö¾Ê°í + Ç°Áú°è¼ö¸¦ º¯°æÇÑ´Ù. ÀÌÀ¯´Â ¿ÏÀüÇÏ°í Á¤È®ÇÑ Á¤º¸¸¦ º¸³»Áö¾Ê´Â + ºê¶ó¿ìÀú¿¡°Ô (¾Ë°í¸®ÁòÀÇ) ´õ ³ªÀº °á°ú¸¦ º¸³»±â À§Çؼ­´Ù. + ³Î¸® ¾²ÀÌ´Â ºê¶ó¿ìÀúÁß ÀϺδ ÀÚÁÖ À߸øµÈ º¯ÇüÀ» ¼±ÅÃÇϵµ·Ï + Accept Çì´õ¸¦ º¸³½´Ù. ºê¶ó¿ìÀú°¡ ¿ÏÀüÇÏ°í ¿Ã¹Ù¸¥ + Á¤º¸¸¦ º¸³½´Ù¸é, Á¶ÀÛÀ» ÇÏÁö¾Ê´Â´Ù.

+ +

Media Type°ú ¿ÍÀϵåÄ«µå

+ +

Accept: ¿äû Çì´õ´Â media type¿¡ ´ëÇÑ ¼±È£¸¦ + ³ªÅ¸³½´Ù. ¶Ç, *´Â ¾î¶² ¹®ÀÚ¿­ÀÌ¶óµµ °¡´ÉÇϱ⶧¹®¿¡ "image/*"³ª + "*/*" °°ÀÌ '¿ÍÀϵåÄ«µå' media typeÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¡¼­ + ´ÙÀ½°ú °°Àº ¿äûÀº:

+ +

Accept: image/*, */*

+ +

"image/"·Î ½ÃÀÛÇÏ´Â ¾î¶² type°ú ´Ù¸¥ ¾î¶² typeµµ °¡´ÉÇÔÀ» + ÀǹÌÇÑ´Ù. ¾î¶² ºê¶ó¿ìÀú´Â + ÀÚ½ÅÀÌ ½ÇÁ¦·Î ´Ù·ê ¼ö ÀÖ´Â type¿¡ Ãß°¡·Î ¿ÍÀϵåÄ«µå¸¦ º¸³½´Ù. + ¿¹¸¦ µé¸é:

+ +

+ Accept: text/html, text/plain, image/gif, image/jpeg, */* +

+

ÀÌÀ¯´Â Á÷Á¢ ¿­°ÅÇÑ typeÀ» ¼±È£ÇÏÁö¸¸ ´Ù¸¥ Ç¥ÇöÀÌ ÀÖ´Ù¸é + ±×°Íµµ ±¦ÂúÀ½À» ³ªÅ¸³»±â À§Çؼ­´Ù. ºê¶ó¿ìÀú°¡ ½ÇÁ¦·Î ¿øÇÑ + °ÍÀº ´ÙÀ½°ú °°ÀÌ ¸í½ÃÀûÀ¸·Î Ç°Áú°ªÀ» »ç¿ëÇÑ °ÍÀÌ´Ù.

+

+ Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +

+

Á÷Á¢ ¿­°ÅÇÑ typeÀº Ç°Áú°è¼ö°¡ ¾ø¾î¼­ ±âº»°ªÀÎ (°¡Àå ³ôÀº) + 1.0À» °¡Áø´Ù. ¿ÍÀϵåÄ«µå */*´Â ³·Àº ¼±È£µµ 0.01À» °¡Áö¹Ç·Î + Á÷Á¢ ¿­°ÅÇÑ type¿¡ ¸Â´Â º¯ÇüÀÌ ¾ø´Â °æ¿ì¿¡¸¸ ´Ù¸¥ typeµéÀÌ + »ç¿ëµÈ´Ù.

+ +

Accept: Çì´õ¿¡ q °è¼ö°¡ ÀüÇô ¾ø°í + "*/*"°¡ ÀÖ´Ù¸é, ¾ÆÆÄÄ¡´Â ¹Ù¶÷Á÷ÇÑ ÇൿÀ» À§ÇØ q °ªÀ¸·Î 0.01À» + ÁöÁ¤ÇÑ´Ù. ¶Ç, "type/*" ÇüÅÂÀÇ ¿ÍÀϵåÄ«µå¿¡´Â ("*/*"º¸´Ù´Â + ´õ ¼±È£Çϵµ·Ï) 0.02¸¦ ÁöÁ¤ÇÑ´Ù. Accept: Çì´õ¿¡¼­ + q °è¼ö¸¦ °¡Áö´Â media typeÀÌ ÀÖ´Ù¸é ÀÌ·± Ưº°ÇÑ °ªÀ» Ãß°¡ÇÏÁö + ¾Ê´Â´Ù. ±×·¡¼­ ¸í½ÃÀûÀÎ Á¤º¸¸¦ º¸³»´Â ºê¶ó¿ìÀúÀÇ + ¿äûÀº ¿äûÇѵ¥·Î ó¸®ÇÑ´Ù.

+ + +

¾ð¾î(language) Çù»óÀÇ ¿¹¿Ü

+ +

¾ÆÆÄÄ¡ 2.0Àº ¾ð¾î Çù»óÀÌ ½ÇÆÐÇÑ °æ¿ì ºÎµå·´°Ô º¹±¸ÇϱâÀ§ÇØ + Çù»ó ¾Ë°í¸®Áò¿¡ »õ·Î ¿¹¿Ü¸¦ ¸î°³ Ãß°¡Çß´Ù.

+ +

Ŭ¶óÀ̾ðÆ®°¡ ¼­¹ö¿¡ ÆäÀÌÁö¸¦ ¿äûÇßÀ»¶§ ¼­¹ö°¡ ºê¶ó¿ìÀú°¡ + º¸³½ Accept-language¿¡ ¸Â´Â ÆäÀÌÁö¸¦ ´Ü ÇÑ°³¸¸ + ãÀ¸¸é ¹®Á¦°¡ ¾øÁö¸¸, ±×·¯Áö ¾ÊÀº °æ¿ì ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô + "No Acceptable Variant"³ª "Multiple Choices" ÀÀ´äÀ» º¸³½´Ù. + ÀÌ·± ¿À·ù¹®À» ÇÇÇϱâÀ§ÇØ ÀÌ °æ¿ì Accept-language¸¦ + ¹«½ÃÇÏ°í Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ¸íÈ®È÷ ¸ÂÁö´Â ¾ÊÁö¸¸ ¹®¼­¸¦ + º¸³»µµ·Ï ¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ForceLanguagePriority + Áö½Ã¾î´Â ¼­¹ö°¡ ÀÌ·± ¿À·ù¹®Áß Çϳª ȤÀº µÑ´Ù¸¦ ¹«½ÃÇÏ°í + LanguagePriority + Áö½Ã¾î·Î ÆÇ´ÜÇϵµ·Ï ÇÑ´Ù.

+ +

¶Ç, ¼­¹ö´Â ¸Â´Â ¾ð¾î¸¦ ¸øãÀº °æ¿ì ºÎ¸ð¾ð¾î¸¦ ãÀ» ¼öµµ + ÀÖ´Ù. ¿¹¸¦ µé¾î Ŭ¶óÀ̾ðÆ®°¡ ¿µ±¹¿µ¾î¸¦ ¶æÇÏ´Â + en-GB ¾ð¾î·Î ¹®¼­¸¦ ¿äûÇÑ °æ¿ì, HTTP/1.1 Ç¥ÁØ¿¡ + µû¸£¸é ¼­¹ö´Â enÀ¸·Î¸¸ Ç¥½ÃµÈ ¹®¼­¸¦ ÀϹÝÀûÀ¸·Î + ¼±ÅÃÇÏÁö ¸øÇÑ´Ù. (±×·¡¼­ ¿µ±¹¿µ¾î¸¦ ÀÌÇØÇÏ´Â µ¶ÀÚ°¡ ÀϹÝÀûÀÎ + ¿µ¾îµµ ÀÌÇØÇÒ ¼ö ÀÖÀ¸¹Ç·Î Accept-Language Çì´õ¿¡ + en-GB¸¸ Æ÷ÇÔÇÏ°í enÀ» Æ÷ÇÔÇÏÁö¾ÊÀ¸¸é + °ÅÀÇ È®½ÇÈ÷ À߸øµÈ ¼³Á¤ÀÓÀ» À¯ÀÇÇ϶ó. ºÒÇàÈ÷µµ ÇöÀç ¸¹Àº + Ŭ¶óÀ̾ðÆ®µéÀº ÀÌ·± ½ÄÀ¸·Î ±âº»¼³Á¤µÇÀÖ´Ù.) ´Ù¸¥ ¾ð¾î¸¦ + ãÁö ¸øÇÏ¿© ¼­¹ö°¡ "No Acceptable Variants" ¿À·ù¸¦ º¸³»°Å³ª + LanguagePriority·Î + µ¹¾Æ°¡¾ß ÇÑ´Ù¸é, ¼­¹ö´Â ÇÏÀ§¾ð¾î ±Ô¾àÀ» ¹«½ÃÇÏ°í + en-GB¸¦ en ¹®¼­¿¡ ´ëÀÀÇÑ´Ù. + ¾Ï¹¬ÀûÀ¸·Î ¾ÆÆÄÄ¡´Â ºÎ¸ð¾ð¾î¸¦ ¸Å¿ì ³·Àº Ç°Áú°ªÀ¸·Î + Ŭ¶óÀ̾ðÆ®ÀÇ Çã¿ë¾ð¾î ¸ñ·Ï¿¡ Ãß°¡ÇÑ´Ù. ±×·¯³ª Ŭ¶óÀ̾ðÆ®°¡ + "en-GB; q=0.9, fr; q=0.8"À» ¿äûÇÏ°í ¼­¹ö¿¡ "en"°ú "fr" + ¹®¼­°¡ ÀÖ´Ù¸é, "fr" ¹®¼­°¡ ¼±ÅõÊÀ» ÁÖÀÇÇ϶ó. ÀÌ´Â HTTP/1.1 + Ç¥ÁØÀ» ÁöÅ°°í, ¿Ã¹Ù·Î ¼³Á¤µÈ Ŭ¶óÀ̾ðÆ®¿Í È¿À²ÀûÀ¸·Î + µ¿ÀÛÇϱâÀ§ÇÔÀÌ´Ù.

+ +

»ç¿ëÀÚ°¡ ¼±È£ÇÏ´Â ¾ð¾î¸¦ ¾Ë¾Æ³»±âÀ§ÇÑ (ÄíÅ°³ª Ưº°ÇÑ + URL-°æ·Î °°Àº) °í±Þ ±â¹ýÀ» Áö¿øÇϱâÀ§ÇØ ¾ÆÆÄÄ¡ 2.0.47ºÎÅÍ + mod_negotiationÀº prefer-language¶ó´Â + ȯ°æº¯¼ö¸¦ ÀνÄÇÑ´Ù. ÀÌ È¯°æº¯¼ö°¡ + Á¸ÀçÇÏ°í ÀûÀýÇÑ ¾ð¾îű׸¦ Æ÷ÇÔÇÑ´Ù¸é, + mod_negotiationÀº ÇØ´çÇÏ´Â º¯ÇüÀ» ¼±ÅÃÇÏ·Á°í + ½ÃµµÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é ÀϹÝÀûÀÎ Çù»ó°úÁ¤À» ½ÃÀÛÇÑ´Ù.

+ +

¿¹Á¦

+ SetEnvIf Cookie "language=(.+)" prefer-language=$1 +

+ +
top
+
+

ÀÚ¿¬½º·¯¿î(transparent) ³»¿ëÇù»óÀÇ È®Àå

+ +

¾ÆÆÄÄ¡´Â ´ÙÀ½°ú °°ÀÌ ÀÚ¿¬½º·¯¿î ³»¿ëÈ®Àå ÇÁ·ÎÅäÄÝÀ» (RFC 2295) +È®ÀåÇÑ´Ù. º¯Çü ¸ñ·ÏÀÇ »õ·Î¿î {encoding ..}´Â ƯÁ¤ +content-encodingÀ» °¡Áø º¯Çü¸¸À» ÁöĪÇÑ´Ù. RVSA/1.0 ¾Ë°í¸®ÁòÀº +(RFC 2296) ¸ñ·Ï¿¡¼­ ÀÎÄÚµùµÈ º¯ÇüÀ» ÀνÄÇÒ ¼ö ÀÖ°í, ÀÎÄÚµùÀÌ +Accept-Encoding ¿äû Çì´õ¿¡ ¸Â´Â °æ¿ì ÀÎÄÚµùµÈ +º¯Çüµéµµ È帷Π»ç¿ëÇϵµ·Ï È®ÀåµÇ¾ú´Ù. RVSA/1.0 ±¸ÇöÀº ÃÖÀûÀÇ +º¯ÇüÀ» ã±â Àü¿¡ °è»êµÈ Ç°Áú°è¼ö¸¦ ¼Ò¼öÁ¡ 5ÀÚ¸®¿¡¼­ ¹Ý¿Ã¸²ÇÏÁö +¾Ê´Â´Ù.

+
top
+
+

ÇÏÀÌÆÛ¸µÅ©¿Í À̸§±ÔÄ¢¿¡ ´ëÇÏ¿©

+ +

¾ð¾î(language) Çù»óÀ» »ç¿ëÇÑ´Ù¸é ÆÄÀÏÀº ¿©·¯ È®ÀåÀÚ¸¦ + °¡Áö°í È®ÀåÀÚÀÇ ¼ø¼­´Â º¸Åë °ü°è¾øÀ¸¹Ç·Î ÆÄÀÏ¸í¿¡ ¿©·¯ ´Ù¸¥ + À̸§±ÔÄ¢À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. (ÀÚ¼¼ÇÑ ³»¿ëÀº mod_mime ¹®¼­¸¦ + Âü°íÇ϶ó.)

+ +

ÀüÇüÀûÀÎ ÆÄÀÏÀº MIME-type È®ÀåÀÚ (¿¹¸¦ µé¾î, + html), °æ¿ì¿¡ µû¶ó encoding È®ÀåÀÚ (¿¹¸¦ + µé¾î, gz), ÆÄÀÏ¿¡ ¿©·¯ ¾ð¾î º¯ÇüÀÌ ÀÖ´Â + °æ¿ì ¹°·Ð ¾ð¾î È®ÀåÀÚ¸¦ (¿¹¸¦ µé¾î, en) + °¡Áø´Ù.

+ +

¿¹Á¦:

+ +
    +
  • foo.en.html
  • + +
  • foo.html.en
  • + +
  • foo.en.html.gz
  • +
+ +

´ÙÀ½Àº ¸î¸î ÆÄÀϸí°ú ±× ÆÄÀÏ¿¡ ´ëÇÑ À¯È¿ÇÏ°í À¯È¿ÇÏÁö¾ÊÀº + ÇÏÀÌÆÛ¸µÅ©¸¦ º¸ÀδÙ:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ÆÄÀϸíÀ¯È¿ÇÑ ÇÏÀÌÆÛ¸µÅ©À¯È¿ÇÏÁö¾ÊÀº ÇÏÀÌÆÛ¸µÅ©
foo.html.enfoo
+ foo.html
-
foo.en.htmlfoofoo.html
foo.html.en.gzfoo
+ foo.html
foo.gz
+ foo.html.gz
foo.en.html.gzfoofoo.html
+ foo.html.gz
+ foo.gz
foo.gz.html.enfoo
+ foo.gz
+ foo.gz.html
foo.html
foo.html.gz.enfoo
+ foo.html
+ foo.html.gz
foo.gz
+ +

À§ Ç¥¸¦ º¸¸é ÇÏÀÌÆÛ¸µÅ©¿¡ ¾î¶² È®ÀåÀÚµµ ¾ø´Â À̸§À» + (¿¹¸¦ µé¾î, foo) Ç×»ó »ç¿ëÇÒ ¼ö ÀÖÀ½À» + ¾Ë ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀåÁ¡Àº ¹®¼­ÀÇ ½ÇÁ¦ Á¾·ù¸¦ ¼û±æ ¼ö À־, + ¿¹¸¦ µé¾î ÇÏÀÌ·¯¸µÅ© ÂüÁ¶¸¦ ¼öÁ¤ÇϾʰí + html ÆÄÀÏÀ» shtmlÀ̳ª + cgi·Î º¯°æÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù.

+ +

°è¼Ó ÇÏÀÌÆÛ¸µÅ©¿¡ MIME-typeÀ» (¿¹¸¦ µé¾î, + foo.html) »ç¿ëÇÏ°í ½Í´Ù¸é (encoding È®ÀåÀÚ°¡ + ÀÖ´Ù¸é À̰͵µ Æ÷ÇÔÇÏ¿©) ¾ð¾î È®ÀåÀÚ¸¦ MIME-type È®ÀåÀÚº¸´Ù + ¿À¸¥ÂÊ¿¡ (¿¹¸¦ µé¾î, foo.html.en) + µÎ¾î¾ßÇÑ´Ù.

+
top
+
+

ij½¬¿¡ ´ëÇÏ¿©

+ +

ij½¬°¡ Ç¥ÇöÀ» ÀúÀåÇϸé Ç¥Çö°ú ¿äû URLÀ» ¿¬°ü½ÃŲ´Ù. + ´ÙÀ½¹ø ±× URLÀ» ¿äûÇϸé ij½¬´Â ÀúÀåµÈ Ç¥ÇöÀ» »ç¿ëÇÑ´Ù. + ±×·¯³ª ¼­¹ö¿Í Çù»óÀÌ °¡´ÉÇÑ ÀÚ¿øÀÎ °æ¿ì ù¹ø° ¿äûÇÑ º¯Çü¸¸ + ij½¬µÇ¾î ÀÌÈÄ ¿äûÀº ij½¬µÈ À߸øµÈ ÀÀ´äÀ» ¾òÀ» ¼ö ÀÖ´Ù. + À̸¦ ¸·±âÀ§ÇØ ¾ÆÆÄÄ¡´Â º¸Åë ³»¿ëÇù»óÈÄ ¹ÝȯµÇ´Â ¸ðµç ¿äû¿¡ + HTTP/1.0 Ŭ¶óÀ̾ðÆ®°¡ ij½¬¸¦ ¸øÇϵµ·Ï Ç¥½Ã¸¦ ÇÑ´Ù. ¶Ç, ¾ÆÆÄÄ¡´Â + Çù»óÇÑ ÀÀ´äÀÇ Ä³½¬¸¦ Çã¿ëÇÏ´Â HTTP/1.1 ÇÁ·ÎÅäÄÝÀÇ ±â´ÉÀ» + Áö¿øÇÑ´Ù.

+ +

CacheNegotiatedDocs + Áö½Ã¾î´Â HTTP/1.0 ȣȯ Ŭ¶óÀ̾ðÆ®(ºê¶ó¿ìÀú ȤÀº ij½¬)°¡ + º¸³½ ¿äû¿¡ ´ëÇØ Çù»óÇÑ ÀÀ´äÀ» ij½¬ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â + ¼­¹ö³ª °¡»óÈ£½ºÆ® ¼³Á¤¿¡ »ç¿ëÇϸç, ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¾Ê´Â´Ù. + ÀÌ Áö½Ã¾î´Â HTTP/1.1 Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû°ú´Â °ü°è°¡ ¾ø´Ù.

+ +

HTTP/1.1 Ŭ¶óÀ̾ðÆ®¿¡°Ô ¾ÆÆÄÄ¡´Â ÀÀ´äÀÇ Çù»ó ¹üÀ§¸¦ + ¾Ë·ÁÁÖ´Â Vary HTTP ÀÀ´äÇì´õ¸¦ º¸³½´Ù. ÀÌ Á¤º¸¸¦ + »ç¿ëÇÏ¿© ´ÙÀ½ ¿äûÀ» ij½¬µÈ º¹»çº»À¸·Î ´ëüÇÒ ¼ö ÀÖ´ÂÁö + ÆÇ´ÜÇÒ ¼ö ÀÖ´Ù. Çé»óÀÇ ¹üÀ§¿Í °ü°è¾øÀÌ Ä³½¬µÈ º¹»çº»À» + ±ÇÇÑ´Ù¸é force-no-vary ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/content-negotiation.html.tr.utf8 b/docs/manual/content-negotiation.html.tr.utf8 new file mode 100644 index 0000000..e09e3bc --- /dev/null +++ b/docs/manual/content-negotiation.html.tr.utf8 @@ -0,0 +1,680 @@ + + + + + +İçerik Uzlaşımı - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

İçerik Uzlaşımı

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Apache HTTPD, içerik uzlaşımını HTTP/1.1 belirtiminde bahsedildiği şekliyle + destekler. Bir özkaynağın en iyi gösterimini, tarayıcının sağladığı + karakter kodlaması, karakter kümesi, dil, ortam türü gibi kullanıcı + tercihlerine bağlı olarak seçebilir. Ayrıca, tarayıcının kullanıcı + tercihlerini tam yansıtamadığı durumlarda istekleri daha akıllıca ele + alabilmeyi sağlayacak bir takım özelliklere de sahiptir.

+ +

İçerik uzlaşımı öntanımlı olarak derlenen + mod_negotiation modülü tarafından sağlanır.

+
+ +
top
+
+

İçerik Uzlaşımı Hakkında

+ +

Bir özkaynağın bir çok farklı gösterimi olabilir. Örneğin, bir belgenin + farklı ortam türleri ve/veya farklı diller için gösterimleri olabilir. + En uygun seçimi yapmanın tek yolu kullanıcıya bir liste verip seçmesini + istemektir. Bununla birlikte sunucunun bu seçimi kendiliğinden yapması + da mümkündür. Tarayıcılar isteğin bir parçası olarak kullanıcı + tercihlerini de gönderdiğinden bu istendiği gibi çalışır. Örneğin bir + tarayıcı, kullanıcısınının mümkünse Fransızca içerik tercih ettiğini + yoksa İngilizce içeriğe de razı olabileceğini belirtebilirdi. + Tarayıcılar bu tercihleri başlıkta belirtirler. Tarayıcı sadece Türkçe + içerik istendiğini şöyle belirtebilirdi:

+ +

Accept-Language: tr

+ +

Bu tercihin yerine getirilebilmesininin sadece, desteklenen diller + arasında bu dilin varlığına ve istenen belgenin bu dilde bir + gösteriminin bulunmasına bağlı oluşuna dikkat ediniz.

+ +

Daha karmaşık bir istek örneği olarak, tarayıcının Fransızca ve + İngilizce içerik kabul etmeye ayarlandığını fakat Fransızcayı tercih + ettiğini ve çeşitli ortam türlerini kabul etmekle birlikte salt metin ve + diğer metin türlerinden ziyade HTML tercih ettiğini, ayrıca, diğer ortam + türleri üzerinde GIF veya JPEG tercih ettiğini fakat başka çare yoksa + her ortam türüne de izin verdiğini belirtiyor olsun:

+ +

+ Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; + q=0.6, image/*; q=0.5, */*; q=0.1 +

+ +

httpd, HTTP/1.1 belirtiminde tanımlanan şekliyle ‘sunucu yönetiminde’ + içerik uzlaşımını destekler. Accept, + Accept-Language, Accept-Charset ve + Accept-Encoding istek başlıklarını tamamen destekler. + httpd ayrıca, RFC 2295 ve RFC 2296’da tanımlanan bir deneysel uzlaşım + olarak ‘şeffaf’ içerik uzlaşımını da destekler. Fakat ‘özellik + uzlaşımını’ bu RFC’lerde tanımlandığı gibi desteklemez.

+ +

Bir özkaynak bir URI (RFC 2396) tarafından betimlenen + kavramsal bir öğedir. Apache gibi bir HTTP sunucusu, ortam türü, + karakter kümesi, kodlama ve saire ile tanımlanmış bir bayt dizisi + şeklindeki her gösterimiyle, özkaynaklara kendi isim alanları dahilinde + erişim sağlar. Her özkaynağın aynı anda bir veya daha fazla gösterimi + mevcut olabileceği gibi hiç mevcut olmayabilir de. Eğer çok sayıda + gösterim mevcutsa, bu özkaynağın uzlaşılabilir + olduğundan ve her gösteriminin bir çeşitlilik + oluşturduğundan bunun da uzlaşımın boyutlarından + kaynaklandığından bahsedilebilir.

+
top
+
+

httpd’de İçerik Uzlaşımı

+ +

Bir özkaynak üzerinde uzlaşılırken gösterim çeşitlerinin her biri + hakkında sunucuya bilgi verilmesi gerekir. Bu iki yolla yapılabilir:

+ +
    +
  • Ya gösterim çeÅŸitlerini içeren dosyaların isimleriyle eÅŸleÅŸmeyi + saÄŸlayan bir tür eÅŸlemi kullanılır (bir *.var dosyası + gibi).
  • + +
  • Ya da sunucu örtük bir dosya ismi kalıbı eÅŸleÅŸmesinin ardından + sonuçlar arasından seçim yapar; buna ‘Çoklu Görünüm’ araması adı + verilir.
  • +
+ +

Bir türeşlem dosyası kullanmak

+ +

Bir türeşlem dosyası, type-map eylemcisi ile ilişkili bir + belgedir (ya da eski httpd yapılandırmaları ile geriye uyumluluk için, + application/x-type-map MIME türünde + bir belgedir). Bu özelliği kullanmak için, yapılandırmada bir tür + eşleyici olarak her dosya ismi uzantısı için bir type-map + eylemcisi tanımlamalısınız. Bu, sunucu yapılandırma dosyasında en iyi + şöyle yapılabilir:

+ +
AddHandler type-map .var
+ + +

Türeşlem dosyaları kendilerini tanımlayan özkaynak ile aynı isimde + olmalı ve isim bir .var uzantısı içermelidir. Aşağıdaki + örneklerde özkaynak ismi foo olduğundan türeşlem dosyasının + ismi foo.var'dır.

+ +

Bu dosya her gösterim çeşidi için bir girdi içermelidir; bu girdiler + ardarda belirtilen HTTP biçem başlık satırlarından oluşur. Farklı + gösterimlerin girdileri bir boş satırla diğerlerinden ayrılır. Aynı + girdi içinde boş satır kullanılamaz. Bir eşlem dosyasını bir birleşik + öğenin tamamı için bir girdi ile başlatmak adet olmuştur (ise de, bu + gerekli değildir, hele yoksayılacaksa hiç gerekli değildir). Eşlem + dosyası için aşağıda bir örnek verilmiştir.

+ +

Bu dosyadaki URI'ler türeşlem dosyasının yerine görelidir. Dolayısıyla, + bu dosyaların aynı dizinde bulunması beklenirse de bu gerekli değildir. + Aynı sunucuda bulunan tüm dosyalar için türeşlem dosyasındaki gibi mutlak + veya göreli URI'ler belirtebilirsiniz.

+ +

+ URI: misal
+
+ URI: misal.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: misal.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+

+ +

Ayrıca, MultiViews etkin olsa bile bir türeşlem dosyasının + dosya ismi uzantılarının taranmasına göre öncelik alacağına dikkat + ediniz. Eğer gösterimler bu örnekteki resim dosyasında olduğu gibi + farklı kaynak üstünlüklerine sahipseler, ortam türünün qs + parametresi kullanılarak kaynak üstünlükleri belirtilebilir:

+ +

+ URI: misal
+
+ URI: misal.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: misal.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: misal.txt
+ Content-type: text/plain; qs=0.01
+

+ +

qs değerleri 0.000-1.000 değer aralığı içinde + belirtilebilir. 0.000 qs değerine sahip gösterimin asla + seçilmeyeceğine dikkat ediniz. Bir qs değeri belirtilmeyen + gösterimlerin kaynak üstünlüğü 1.000 kabul edilir. qs + parametresinin belirttiği değer istemcinin yeteneklerinden bağımsız + olarak olası gösterimler arasında göreli bir üstünlük ifade eder. + Örneğin bir fotoğraf sözkonusu olduğunda bir JPEG dosyasının kaynak + üstünlüğü bir ASCII çiziminkinden yüksek olacaktır. Diğer taraftan özgün + resim bir ASCII çizim olduğu takdirde, ASCII çizim, bir JPEG gösterimine + göre öncelikli olacaktır. Bu nedenle qs değeri özkaynağın + doğasına bakarak belirlenir.

+ +

Tanınan başlıkların tam listesini mod_negotiation modülünün + belgesinde bulabilirsiniz.

+ + +

Çoklu Görünümler

+ +

MultiViews, httpd.conf dosyasındaki veya + (AllowOverride yönergesinin + değerine bağlı olarak) .htaccess dosyalarındaki <Directory>, <Location> veya <Files> bölümleri içinde + Options yönergeleri ile + belirtilebilen, dizine özgü bir seçenektir. Yalnız, dikkatli olun, + Options All yaparak MultiViews seçeneğini + etkin kılamazsınız; seçeneği ismiyle açıkça belirtmelisiniz.

+ +

MultiViews şöyle etki eder: Sunucudan, + MultiViews seçeneğinin etkin olduğu /bir/dizin + dizininden filanca dosyası için bir istekte bulunulmuşsa + fakat dizinde bu dosya yoksa, sunucu dizin içeriğini + filanca.* dosyaları için tarar ve bu dosyalar için + istemcinin ismiyle talep ettiği ortam türlerini ve kodlamaları + kullanarak bir türeşlem dosyası uydurup bu gösterimler arasından + istemcinin gereksinimlerine en uygun gösterimi seçer.

+ +

MultiViews ayrıca, sunucunun bir dizin içeriğini + listelemeye çalıştığı durumda DirectoryIndex yönergesi ile belirtilen dosya için de bir + arama tertipleyebilir. Eğer yapılandırma dosyalarında

+ +
DirectoryIndex index
+ + +

şeklinde bir atama varsa ve dizinde index.html ve + index.html3 dosyaları varsa sunucu bunlar arasından hakem + sıfatıyla bir seçim yapacaktır; ama bu ikisi yerine dizinde sadece + index.cgi mevcutsa sunucu sadece bu dosyayı + çalıştıracaktır.

+ +

Okunan dizinde bulunan dosyalar arasında mod_mime + tarafından tanınan karakter kümesi, içerik türü, dil ve kodlama + başlıklarına uygun gösterim uzantılarından birine sahip bir dosya yoksa + sonuç MultiViewsMatch + yönergesiyle yapılan tanıma bağlı olur. Bu yönerge hangi diğer dosya + uzantılarının, eylemcilerin veya süzgeçlerin çok gösterimli uzlaşımla + ilintileneceğini belirler.

+ +
top
+
+

Uzlaşım Yöntemleri

+ +

httpd’nin, bir türeşlem dosyası veya dizin içindeki bir dosya + sayesinde belli bir özkaynağın gösterim çeşitlerinin bir listesini elde + ettikten sonra ‘en uygun’ gösterime karar vermek için kullanabileceği + iki yöntem vardır. httpd’nin içerik uzlaşım özelliklerinin kullanımı + sırasında uzlaşımın nasıl yerine getirileceği ile ilgili ayrıntıları + bilmek aslında gerekli değildir. Bununla birlikte belgenin kalanında bu + konu açıklanmaya çalışılmıştır.

+ +

İki uzlaşım yöntemi vardır:

+ +
    +
  1. Normal durumda sunucu yönetiminde httpd uzlaşım + algoritması kullanılır. Bu algoritma aşağıda ayrıntılı olarak + açıklanmıştır. Bu algoritma kullanıldığı zaman, httpd, en iyi sonuca + ulaşmak için bazen belli boyutların üstünlük katsayılarıyla ‘oynar’. + httpd’nin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha + ayrıntılı açıklanmıştır.
  2. + +
  3. İstemci bu işlem için özellikle RFC 2295’te tanımlanan mekanizmanın + kullanılmasını isterse şeffaf içerik uzlaşımı + kullanılır. Bu uzlaşım yöntemi, en uygun gösterimin seçilmesi + konusunda tarayıcıya tam denetim imkanı verir; dolayısıyla sonuç + tarayıcının bu işlem için kullandığı algoritmanın başarısına bağlıdır. + Şeffaf uzlaşım sürecinin bir parçası olarak, tarayıcı, RFC 2296’da + tanımlanan ‘gösterim çeşidini uzaktan seçme algoritması’nın + çalıştırılmasını httpd’den isteyebilir.
  4. +
+ +

Uzlaşımın Boyutları

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BoyutAçıklama
Ortam TürüTarayıcı ortam türü tercihlerini Accept başlık alanı + ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir. Gösterimin açıklaması da ayrıca bir kaynak üstünlüğüne + (qs parametresi) sahip olabilir.
DilTarayıcı dil tercihlerini Accept-Language başlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir. Gösterimler bir kaç dilde olabileceği gibi hiç bir dille + ilişkilendirimemiş de olabilir.
KodlamaTarayıcı kodlama tercihlerini Accept-Encoding başlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir.
Karakter KümesiTarayıcı karakter kümesi tercihlerini Accept-Charset + başlık alanı ile belirtir. Her öğenin kendine özgü bir üstünlük + katsayısı olabilir. Gösterim çeşitleri karakter kümesini ortam + türünün bir parametresi olarak belirtebilirler.
+ + +

httpd Uzlaşım Algoritması

+ +

httpd, tarayıcıya döndürülecek en uygun gösterim çeşidini (varsa) + seçmek için aşağıdaki algoritmayı kullanabilir. Bu algoritma pek de + yapılandırılabilir değildir. Şöyle çalışır:

+ +
    +
  1. Önce her uzlaşım boyutu için ilgili Accept* başlık alanına + bakılıp her gösterim çeşidine bir üstünlük katsayısı atanır. Eğer + boyutlardan bazıları için ilgili Accept* başlığı + uygulanabilir değilse bu boyut elenir ve sonuçta hiçbir gösterim + çeşidi kalmasza 4. adıma atlanır.
  2. + +
  3. ‘En uygun’ gösterim çeşidi bir eleme süreciyle seçilir. Bu süreç + sırasında aşağıdaki sınamalar sırayla uygulanır. Sınamalardan + geçemeyen bir gösterim çeşidi elenir. Sınamaların bir aşamasında tek + bir gösterim çeşidi kalırsa bu en uygun eşleşme olarak seçilmiş olur + ve 3. adıma atlanır. Eğer birden fazla gösterim çeşidi kalırsa sonraki + sınamaya geçilir. + +
      +
    1. Accept başlığındaki üstünlük katsayısı ile + gösterimin ortam türünde belirtilen kaynak üstünlüğünün çarpımı en + büyük olan gösterim çeşidi seçilir.
    2. + +
    3. En yüksek dil üstünlük katsayısına sahip gösterim çeşidi seçilir. +
    4. + +
    5. En uygun dil eşleşmesine sahip gösterim çeşidini seçmek için + önce varsa Accept-Language başlığındaki dil + sıralamasına bakılır, aksi takdirde LanguagePriority + yönergesi ile atanmışsa oradaki dil sıralamasına bakılır.
    6. + +
    7. En yüksek ‘seviyeden’ ortam parametresine (text/html ortam türü + sürümünü belirtmekte kullanılır) sahip gösterim çeşitleri + seçilir.
    8. + +
    9. Accept-Charset başlık satırında belirtilene bakarak + en uygun karakter kümesine sahip gösterim çeşitleri seçilir. + Alenen dışlanmadıkça ISO-8859-1 kabul edilebilir karakter + kümesidir. text/* ortam türüne sahip gösterim + çeşitlerinden belli bir karakter kümesi ile ilişkilendirilmemiş + olanların karakter kümesinin ISO-8859-1 olduğu varsayılır.
    10. + +
    11. ISO-8859-1 karakter kümesi ile ilişkilendirilmemiş gösterim + çeşitleri seçilir. Böyle hiçbir gösterim yoksa bütün gösterimler + seçilir.
    12. + +
    13. En uygun kodlamaya sahip gösterim çeşitleri seçilir. Tarayıcı + tarafından kabul edilebilir kodlamaya sahip gösterim çeşitleri + varsa bunlar seçilir. Yoksa kodlanmış ve kodlanmamış gösterim + çeşitleri karışık olarak mevcutsa sadece kodlanmamış olanlar + seçilir. Eğer bütün gösterim çeşitlerinin sadece kodlanmış ya da + sadece kodlanmamış gösterimleri mevcutsa hepsi seçilir.
    14. + +
    15. En küçük içerik uzunluğuna sahip gösterim çeşitleri seçilir.
    16. + +
    17. Kalan gösterim çeşitlerinin ilki seçilir. Bu ilk, ya türeşlem + dosyasında listelenen ilk çeşittir ya da gösterimler bir dizinden + okunuyorsa ASCII kod sıralamasına göre ilk sıradaki dosya ismine + sahip gösterimdir.
    18. +
    +
  4. + +
  5. Algoritma, artık seçilmiş en uygun gösterim çeşidine sahipse bu + artık yanıt olarak döndürülebilir. HTTP yanıt başlığı + Vary’ye uzlaşım boyutları atanır (tarayıcı ve + arabellekler özkaynağı kaydederken bu bilgiyi kullanırlar) + ve algoritma sonlandırılır.
  6. + +
  7. Buraya gelinmişse hiçbir gösterim seçilmemiş demektir (hiçbiri + tarayıcı tarafından kabul edilebilir bulunmadığından dolayı). + Gövdesinde mevcut gösterim çeşitlerini listeleyen bir HTML belgesi 406 + durum koduyla döndürülür (406: ‘kabul edilebilir bir gösterim yok’). + Ayrıca HTTP Vary başlığında gösterim çeşitliliğinin + boyutları belirtilir.
  8. +
+ +
top
+
+

Üstünlük Değerleriyle Oynamak

+ +

httpd bazen yukarıdaki httpd uzlaşım algoritmasının kesin sonucunun + beklenenden farklı olması için üstünlük değerleriyle oynar. Bunu tam ve + doğru bilgi göndermeyen tarayıcılar için algoritmadan en iyi sonucu elde + etmek amacıyla yapar. Bazen günümüzün en tanınmış tarayıcıları bile çoğu + durumda yanlış bir seçimle sonuçlanmayacaksa Accept başlık + bilgilerini göndermemektedir. Eğer tarayıcı eksiksiz ve doğru bilgi + gönderirse httpd bu değerlerle oynamayacaktır.

+ +

Ortam Türleri ve Dosyaismi Kalıpları

+ +

Accept: istek başlığı ortam türü tercihlerini yansıtır. + Ayrıca, * bir dizge ile eşleşmek üzere "image/*" veya "*/*" gibi ortam + türü kalıpları da içerebilir. Dolayısıyla şöyle bir istek,

+ +

Accept: image/*, */*

+ +

diğer türler gibi "image/" ile başlayan ortam türlerini kabul + edilebilir kılacaktır. Bazı tarayıcılar ortam türlerini örtük olarak + elde etmek amacıyla hep bu tür kalıplar gönderirler. Örnek:

+ +

+ Accept: text/html, text/plain, image/gif, image/jpeg, */* +

+ +

Bunun amacı, açıkça listelenmiş türlerin tercih edildiğini, fakat + farklı gösterimler varsa onların da kabul edilebileceğini belirtmektir. + Üstünlük değerlerini doğrudan kullanarak tarayıcılar gerçekte ne + istediklerini şuna benzer şekilde belirtebilirler:

+ +

+ Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +

+ +

Açıkça belirtilen türler için üstünlük katsayısı belirtilmemiştir, + dolayısıyla üstünlük katsayılarının 1.0 (en yüksek) olduğu + varsayılmaktadır. */* kalıbı 0.01 gibi çok daha düşük bir öncelik + belirtmektedir. Bu bakımdan, ancak, açıkça belirtilen türlerden + hiçbirinin bulunmaması halinde diğer türler eşleşecektir.

+ +

Eğer Accept: başlığı hiçbir q + katsayısı içermiyorsa ve başlıkta "*/*" belirtilmişse, httpd istenen + davranışı taklit etmek için bu kalıba 0.01 katsayısını atar. Keza + "type/*" kalıbına da 0.02 katsayısını atar (yani, */* kalıbına göre + tercihli olur). Eğer Accept: alanındaki her ortam türü bir + q katsayısı içeriyorsa bu özel değerler uygulanmaz. + Dolayısıyla gerekli bilgiyi açıkça bildiren tarayıcılardan gelen + istekler umulduğu gibi işlem görecektir.

+ + +

Dil Uzlaşımında İstisnalar

+ +

httpd 2.0’dan itibaren, uzlaşım algoritmasına, bir eşleşme bulmak + konusunda algoritma başarılı olamadığı takdirde hoş bir son çareye izin + vermek için bazı istisnalar eklenmiştir.

+ +

İstemci sunucudan bir sayfa istediğinde, sunucu, tarayıcı tarafından + gönderilen Accept-language başlığıyla eşleşen tek bir sayfa + bulamadığı takdirde istemciye ya “Kabul edilebilir bir gösterim çeşidi + yok†ya da “Çok sayıda seçim belirtilmiş†yanıtını döndürür. Bu hata + iletilerinden kaçınmak için bu gibi durumlarda httpd + Accept-language başlığını yoksaymaya ayarlanabilir. Böylece + istemcinin isteğine tam olarak uymasa da bir belge sağlanır. Bu hata + iletilerinin birini veya her ikisini de geçersiz kılmak için ForceLanguagePriority yönergesi + kullanılabilir ve sunucunun kararını LanguagePriority yönergesine + dayanarak vermesi sağlanabilir.

+ +

Sunucu ayrıca, tam bir eşleşme bulunmadığı zaman lehçelerle de eşleşme + arayabilir. Örneğin, bir istemci Britanya İngilizcesi + (en-GB) ile yazılmış belgeler için istekte bulunursa, + sunucu normalde HTTP/1.1 standardına göre bir belgenin basitçe + en olarak imlenmesine izin vermez. (Bir okuyucu Britanya + İngilizcesini anlıyor ama genel İngilizceyi anlamıyor diye + Accept-Language başlığında en değil de + en-GB’yi belirtmesinin hemen hemen daima bir yapılandırma + hatasına yol açacağına dikkat ediniz. Maalesef, mevcut istemcilerin çoğu + öntanımlı yapılandırmalarında buna benzer şeyler yapmaktadır.) Bununla + birlikte, başka bir dille eşleşme mümkün değilse ve sunucu “Kabul + edilebilir bir gösterim çeşidi yok†hatasını döndürmeye hazırsa veya + LanguagePriority son + çaresine ayarlanmışsa alt küme belirtimini yok sayacak ve + en belge isteklerine en-GB belgelerle yanıt + verecektir. httpd, lehçenin üyesi olduğu anadili, istemcinin kabul + edilebilir diller listesine örtük olarak düşük bir üstünlük değeri ile + ekler. Yalnız şuna dikkat edin, eğer istemci tercihini "en-GB; q=0.9, + fr; q=0.8" olarak belirtirse ve sunucuda sadece "en" ve "fr" belgeleri + varsa sunucu "fr" belge ile yanıt verecektir. HTTP/1.1 belirtimi ile + uyumluluğu sağlamak ve düzgün yapılandırılmış istemcilerle gerektiği + gibi çalışabilmek için bu gereklidir.

+ +

Gelişmiş tekniklerin (çerezler, özel URL yolları gibi) desteklenmesi + sırasında, kullanıcının tercih ettiği dili saptamak için httpd 2.0.47 + sürümünden beri mod_negotiation modülü + prefer-language ortam değişkenini + tanımaktadır. Değişken mevcutsa ve uygun bir dil yaftası içeriyorsa + mod_negotiation uygun gösterimi seçmeyi deneyecektir. + Böyle bir gösterim çeşidi mevcut değilse normal uzlaşım işlemi + uygulanacaktır.

+ +

Örnek

SetEnvIf Cookie "language=(.+)" prefer-language=$1
+Header append Vary cookie
+
+ +
top
+
+

Şeffaf İçerik Uzlaşımının Genişletilmesi

+ + +

httpd, şeffaf içerik uzlaşımı protokolünü (RFC 2295) şöyle genişletir: + Sadece içerik kodlamasına özgü olmak üzere gösterim çeşidi listelerinde + gösterim çeşitlerini imlemek için yeni bir {encoding ..} + elemanı kullanılır. RVSA/1.0 algoritmasının (RFC 2296) gerçeklenimi, + listedeki kodlanmış gösterim çeşitlerini tanımak ve onları + Accept-Encoding başlık alanıyla ilgili olarak kabul + edilebilir kodlamalara aday gösterim çeşitleri olarak kullanmak üzere + genişletilmiştir. RVSA/1.0 gerçeklenimi, en uygun gösterim çeşidi + seçiminin öncesinde hesaplanmış üstünlük katsayısını virgülden sonra beş + haneye yuvarlamaz.

+
top
+
+

Hiperbağlar ve İsimlendirme Uzlaşımları

+ +

Eğer dil uzlaşımı kullanıyorsanız ve birden fazla dosya ismi uzantısına + sahip dosyalarınız varsa uzantıların sıralamasının normalde uygunsuz + düştüğü farklı isimlendirme yaklaşımlarında bulunabilirsiniz (ayrıntılar + için mod_mime belgesine + bakınız).

+ +

Bir MIME türü uzantısına sahip bir dosyanın (html gibi), + kodlanmış bir gösterimi (gz gibi) mevcut olabilir. Bu + dosyanın ayrıca farklı dillerdeki gösterimleri için de bir uzantısı + (en gibi) olabilir.

+ +

Örnekler:

+ +
    +
  • misal.en.html
  • + +
  • misal.html.en
  • + +
  • misal.en.html.gz
  • +
+ +

Hiperbağ olarak geçerli ve geçersiz bazı dosya ismi örnekleri:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Dosya ismiGeçerli HiperbağGeçersiz Hiperbağ
misal.html.enmisal
+ misal.html
-
misal.en.htmlmisalmisal.html
misal.html.en.gzmisal
+ misal.html
misal.gz
+ misal.html.gz
misal.en.html.gzmisalmisal.html
+ misal.html.gz
+ misal.gz
misal.gz.html.enmisal
+ misal.gz
+ misal.gz.html
misal.html
misal.html.gz.enmisal
+ misal.html
+ misal.html.gz
misal.gz
+ +

Yukarıdaki tabloya bakarak hiperbağlarda bir dosya ismini uzantısız + olarak (misal gibi) kullanmanın daima mümkün olduğunu + farkedeceksiniz. Böylece bir belgenin asıl türünü gizleyebilir ve + sonradan bir hiperbağ değişikliği yapmaksızın örneğin + html’den shtml veya cgi’ye + geçebilirsiniz.

+ +

Hiperbağlarda MIME türlerini (misal.html gibi) kullanmaya + devam etmek istiyorsanız dil uzantısı MIME türü uzantısının sağında + kalmalıdır (misal.html.en gibi).

+
top
+
+

Arabellekler Hakkında

+ +

Bir arabellek, bir gösterimi istek URL’si ile ilişkilendirerek saklar. + Böylece, sonradan aynı URL için bir istek yapıldığında kaydettiği + gösterimi kullanabilir. Fakat özkaynak sunucuyla uzlaşılan türdeyse + arabelleğe ilk istenen çeşit saklanmış olacağından isteğe yanlış + gösterimle yanıt verilmiş olacaktır. Bunun olmaması için httpd, normal + olarak içerik uzlaşımının sonucu olarak döndürülen tüm yanıtları + HTTP/1.0 istemciler tarafından arabelleklenemez olarak imler. httpd + ayrıca, uzlaşımlı yanıtların arabelleklenmesini mümkün kılan HTTP/1.1 + protokolünü de destekler.

+ +

HTTP/1.0 uyumlu istemcilerden (bir tarayıcı veya arabellek) gelen + istekler için, uzlaşıma konu yanıtların arabelleklenmesini mümkün kılmak + üzere CacheNegotiatedDocs yönergesi kullanılabilir. Bu yönerge + argümansızdır ve sunucu genelinde veya sanal konakların + yapılandırılmasında kullanılabilir. Bunun HTTP/1.1 istemcilerinden gelen + isteklere bir etkisi yoktur.

+ +

HTTP/1.1 istemciler için, httpd, yanıtın uzlaşım boyutlarını göstermek + üzere bir Vary HTTP yanıt başlığı gönderir. Arabellekler bu + bilgiyi sonraki istekleri yerel kopyadan sunarken kullanabilirler. Bir + arabelleğin uzlaşım boyutlarına bakmaksızın yerel kopyasını kullanmaya + teşvik etmek için force-no-vary ortam değişkenini etkin kılabilirsiniz.

+ +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/convenience.map b/docs/manual/convenience.map new file mode 100644 index 0000000..19befc8 --- /dev/null +++ b/docs/manual/convenience.map @@ -0,0 +1,726 @@ +# Mapping from directive names to URLs +# GENERATED FROM XML -- DO NOT EDIT +# You may use it as follows: +# RewriteEngine On +# RewriteMap dir2url txt:/path/to/convenience.map +# RewriteCond ${dir2url:$1} (.+) +# RewriteRule ^/+([^/]+)$ /manual/%1 [R=301,NE,L] + +acceptfilter mod/core.html#acceptfilter +acceptpathinfo mod/core.html#acceptpathinfo +accessfilename mod/core.html#accessfilename +action mod/mod_actions.html#action +addalt mod/mod_autoindex.html#addalt +addaltbyencoding mod/mod_autoindex.html#addaltbyencoding +addaltbytype mod/mod_autoindex.html#addaltbytype +addcharset mod/mod_mime.html#addcharset +adddefaultcharset mod/core.html#adddefaultcharset +adddescription mod/mod_autoindex.html#adddescription +addencoding mod/mod_mime.html#addencoding +addhandler mod/mod_mime.html#addhandler +addicon mod/mod_autoindex.html#addicon +addiconbyencoding mod/mod_autoindex.html#addiconbyencoding +addiconbytype mod/mod_autoindex.html#addiconbytype +addinputfilter mod/mod_mime.html#addinputfilter +addlanguage mod/mod_mime.html#addlanguage +addmoduleinfo mod/mod_info.html#addmoduleinfo +addoutputfilter mod/mod_mime.html#addoutputfilter +addoutputfilterbytype mod/mod_filter.html#addoutputfilterbytype +addtype mod/mod_mime.html#addtype +alias mod/mod_alias.html#alias +aliasmatch mod/mod_alias.html#aliasmatch +allow mod/mod_access_compat.html#allow +allowconnect mod/mod_proxy_connect.html#allowconnect +allowencodedslashes mod/core.html#allowencodedslashes +allowmethods mod/mod_allowmethods.html#allowmethods +allowoverride mod/core.html#allowoverride +allowoverridelist mod/core.html#allowoverridelist +anonymous mod/mod_authn_anon.html#anonymous +anonymous_logemail mod/mod_authn_anon.html#anonymous_logemail +anonymous_mustgiveemail mod/mod_authn_anon.html#anonymous_mustgiveemail +anonymous_nouserid mod/mod_authn_anon.html#anonymous_nouserid +anonymous_verifyemail mod/mod_authn_anon.html#anonymous_verifyemail +asyncrequestworkerfactor mod/event.html#asyncrequestworkerfactor +authbasicauthoritative mod/mod_auth_basic.html#authbasicauthoritative +authbasicfake mod/mod_auth_basic.html#authbasicfake +authbasicprovider mod/mod_auth_basic.html#authbasicprovider +authbasicusedigestalgorithm mod/mod_auth_basic.html#authbasicusedigestalgorithm +authdbduserpwquery mod/mod_authn_dbd.html#authdbduserpwquery +authdbduserrealmquery mod/mod_authn_dbd.html#authdbduserrealmquery +authdbmgroupfile mod/mod_authz_dbm.html#authdbmgroupfile +authdbmtype mod/mod_authn_dbm.html#authdbmtype +authdbmuserfile mod/mod_authn_dbm.html#authdbmuserfile +authdigestalgorithm mod/mod_auth_digest.html#authdigestalgorithm +authdigestdomain mod/mod_auth_digest.html#authdigestdomain +authdigestnoncelifetime mod/mod_auth_digest.html#authdigestnoncelifetime +authdigestprovider mod/mod_auth_digest.html#authdigestprovider +authdigestqop mod/mod_auth_digest.html#authdigestqop +authdigestshmemsize mod/mod_auth_digest.html#authdigestshmemsize +authformauthoritative mod/mod_auth_form.html#authformauthoritative +authformbody mod/mod_auth_form.html#authformbody +authformdisablenostore mod/mod_auth_form.html#authformdisablenostore +authformfakebasicauth mod/mod_auth_form.html#authformfakebasicauth +authformlocation mod/mod_auth_form.html#authformlocation +authformloginrequiredlocation mod/mod_auth_form.html#authformloginrequiredlocation +authformloginsuccesslocation mod/mod_auth_form.html#authformloginsuccesslocation +authformlogoutlocation mod/mod_auth_form.html#authformlogoutlocation +authformmethod mod/mod_auth_form.html#authformmethod +authformmimetype mod/mod_auth_form.html#authformmimetype +authformpassword mod/mod_auth_form.html#authformpassword +authformprovider mod/mod_auth_form.html#authformprovider +authformsitepassphrase mod/mod_auth_form.html#authformsitepassphrase +authformsize mod/mod_auth_form.html#authformsize +authformusername mod/mod_auth_form.html#authformusername +authgroupfile mod/mod_authz_groupfile.html#authgroupfile +authldapauthorizeprefix mod/mod_authnz_ldap.html#authldapauthorizeprefix +authldapbindauthoritative mod/mod_authnz_ldap.html#authldapbindauthoritative +authldapbinddn mod/mod_authnz_ldap.html#authldapbinddn +authldapbindpassword mod/mod_authnz_ldap.html#authldapbindpassword +authldapcharsetconfig mod/mod_authnz_ldap.html#authldapcharsetconfig +authldapcompareasuser mod/mod_authnz_ldap.html#authldapcompareasuser +authldapcomparednonserver mod/mod_authnz_ldap.html#authldapcomparednonserver +authldapdereferencealiases mod/mod_authnz_ldap.html#authldapdereferencealiases +authldapgroupattribute mod/mod_authnz_ldap.html#authldapgroupattribute +authldapgroupattributeisdn mod/mod_authnz_ldap.html#authldapgroupattributeisdn +authldapinitialbindasuser mod/mod_authnz_ldap.html#authldapinitialbindasuser +authldapinitialbindpattern mod/mod_authnz_ldap.html#authldapinitialbindpattern +authldapmaxsubgroupdepth mod/mod_authnz_ldap.html#authldapmaxsubgroupdepth +authldapremoteuserattribute mod/mod_authnz_ldap.html#authldapremoteuserattribute +authldapremoteuserisdn mod/mod_authnz_ldap.html#authldapremoteuserisdn +authldapsearchasuser mod/mod_authnz_ldap.html#authldapsearchasuser +authldapsubgroupattribute mod/mod_authnz_ldap.html#authldapsubgroupattribute +authldapsubgroupclass mod/mod_authnz_ldap.html#authldapsubgroupclass +authldapurl mod/mod_authnz_ldap.html#authldapurl +authmerging mod/mod_authz_core.html#authmerging +authname mod/mod_authn_core.html#authname +authncachecontext mod/mod_authn_socache.html#authncachecontext +authncacheenable mod/mod_authn_socache.html#authncacheenable +authncacheprovidefor mod/mod_authn_socache.html#authncacheprovidefor +authncachesocache mod/mod_authn_socache.html#authncachesocache +authncachetimeout mod/mod_authn_socache.html#authncachetimeout +authnprovideralias mod/mod_authn_core.html#authnprovideralias +authnzfcgicheckauthnprovider mod/mod_authnz_fcgi.html#authnzfcgicheckauthnprovider +authnzfcgidefineprovider mod/mod_authnz_fcgi.html#authnzfcgidefineprovider +authtype mod/mod_authn_core.html#authtype +authuserfile mod/mod_authn_file.html#authuserfile +authzdbdlogintoreferer mod/mod_authz_dbd.html#authzdbdlogintoreferer +authzdbdquery mod/mod_authz_dbd.html#authzdbdquery +authzdbdredirectquery mod/mod_authz_dbd.html#authzdbdredirectquery +authzdbmtype mod/mod_authz_dbm.html#authzdbmtype +authzprovideralias mod/mod_authz_core.html#authzprovideralias +authzsendforbiddenonfailure mod/mod_authz_core.html#authzsendforbiddenonfailure +balancergrowth mod/mod_proxy.html#balancergrowth +balancerinherit mod/mod_proxy.html#balancerinherit +balancermember mod/mod_proxy.html#balancermember +balancerpersist mod/mod_proxy.html#balancerpersist +brotlialteretag mod/mod_brotli.html#brotlialteretag +brotlicompressionmaxinputblock mod/mod_brotli.html#brotlicompressionmaxinputblock +brotlicompressionquality mod/mod_brotli.html#brotlicompressionquality +brotlicompressionwindow mod/mod_brotli.html#brotlicompressionwindow +brotlifilternote mod/mod_brotli.html#brotlifilternote +browsermatch mod/mod_setenvif.html#browsermatch +browsermatchnocase mod/mod_setenvif.html#browsermatchnocase +bufferedlogs mod/mod_log_config.html#bufferedlogs +buffersize mod/mod_buffer.html#buffersize +cachedefaultexpire mod/mod_cache.html#cachedefaultexpire +cachedetailheader mod/mod_cache.html#cachedetailheader +cachedirlength mod/mod_cache_disk.html#cachedirlength +cachedirlevels mod/mod_cache_disk.html#cachedirlevels +cachedisable mod/mod_cache.html#cachedisable +cacheenable mod/mod_cache.html#cacheenable +cachefile mod/mod_file_cache.html#cachefile +cacheheader mod/mod_cache.html#cacheheader +cacheignorecachecontrol mod/mod_cache.html#cacheignorecachecontrol +cacheignoreheaders mod/mod_cache.html#cacheignoreheaders +cacheignorenolastmod mod/mod_cache.html#cacheignorenolastmod +cacheignorequerystring mod/mod_cache.html#cacheignorequerystring +cacheignoreurlsessionidentifiers mod/mod_cache.html#cacheignoreurlsessionidentifiers +cachekeybaseurl mod/mod_cache.html#cachekeybaseurl +cachelastmodifiedfactor mod/mod_cache.html#cachelastmodifiedfactor +cachelock mod/mod_cache.html#cachelock +cachelockmaxage mod/mod_cache.html#cachelockmaxage +cachelockpath mod/mod_cache.html#cachelockpath +cachemaxexpire mod/mod_cache.html#cachemaxexpire +cachemaxfilesize mod/mod_cache_disk.html#cachemaxfilesize +cacheminexpire mod/mod_cache.html#cacheminexpire +cacheminfilesize mod/mod_cache_disk.html#cacheminfilesize +cachenegotiateddocs mod/mod_negotiation.html#cachenegotiateddocs +cachequickhandler mod/mod_cache.html#cachequickhandler +cachereadsize mod/mod_cache_disk.html#cachereadsize +cachereadtime mod/mod_cache_disk.html#cachereadtime +cacheroot mod/mod_cache_disk.html#cacheroot +cachesocache mod/mod_cache_socache.html#cachesocache +cachesocachemaxsize mod/mod_cache_socache.html#cachesocachemaxsize +cachesocachemaxtime mod/mod_cache_socache.html#cachesocachemaxtime +cachesocachemintime mod/mod_cache_socache.html#cachesocachemintime +cachesocachereadsize mod/mod_cache_socache.html#cachesocachereadsize +cachesocachereadtime mod/mod_cache_socache.html#cachesocachereadtime +cachestaleonerror mod/mod_cache.html#cachestaleonerror +cachestoreexpired mod/mod_cache.html#cachestoreexpired +cachestorenostore mod/mod_cache.html#cachestorenostore +cachestoreprivate mod/mod_cache.html#cachestoreprivate +cgidscripttimeout mod/mod_cgid.html#cgidscripttimeout +cgimapextension mod/core.html#cgimapextension +cgipassauth mod/core.html#cgipassauth +cgivar mod/core.html#cgivar +charsetdefault mod/mod_charset_lite.html#charsetdefault +charsetoptions mod/mod_charset_lite.html#charsetoptions +charsetsourceenc mod/mod_charset_lite.html#charsetsourceenc +checkbasenamematch mod/mod_speling.html#checkbasenamematch +checkcaseonly mod/mod_speling.html#checkcaseonly +checkspelling mod/mod_speling.html#checkspelling +chrootdir mod/mod_unixd.html#chrootdir +contentdigest mod/core.html#contentdigest +cookiedomain mod/mod_usertrack.html#cookiedomain +cookieexpires mod/mod_usertrack.html#cookieexpires +cookiehttponly mod/mod_usertrack.html#cookiehttponly +cookiename mod/mod_usertrack.html#cookiename +cookiesamesite mod/mod_usertrack.html#cookiesamesite +cookiesecure mod/mod_usertrack.html#cookiesecure +cookiestyle mod/mod_usertrack.html#cookiestyle +cookietracking mod/mod_usertrack.html#cookietracking +coredumpdirectory mod/mpm_common.html#coredumpdirectory +customlog mod/mod_log_config.html#customlog +dav mod/mod_dav.html#dav +davdepthinfinity mod/mod_dav.html#davdepthinfinity +davgenericlockdb mod/mod_dav_lock.html#davgenericlockdb +davlockdb mod/mod_dav_fs.html#davlockdb +davmintimeout mod/mod_dav.html#davmintimeout +dbdexptime mod/mod_dbd.html#dbdexptime +dbdinitsql mod/mod_dbd.html#dbdinitsql +dbdkeep mod/mod_dbd.html#dbdkeep +dbdmax mod/mod_dbd.html#dbdmax +dbdmin mod/mod_dbd.html#dbdmin +dbdparams mod/mod_dbd.html#dbdparams +dbdpersist mod/mod_dbd.html#dbdpersist +dbdpreparesql mod/mod_dbd.html#dbdpreparesql +dbdriver mod/mod_dbd.html#dbdriver +defaulticon mod/mod_autoindex.html#defaulticon +defaultlanguage mod/mod_mime.html#defaultlanguage +defaultruntimedir mod/core.html#defaultruntimedir +defaulttype mod/core.html#defaulttype +define mod/core.html#define +deflatebuffersize mod/mod_deflate.html#deflatebuffersize +deflatecompressionlevel mod/mod_deflate.html#deflatecompressionlevel +deflatefilternote mod/mod_deflate.html#deflatefilternote +deflateinflatelimitrequestbody mod/mod_deflate.html#deflateinflatelimitrequestbody +deflateinflateratioburst mod/mod_deflate.html#deflateinflateratioburst +deflateinflateratiolimit mod/mod_deflate.html#deflateinflateratiolimit +deflatememlevel mod/mod_deflate.html#deflatememlevel +deflatewindowsize mod/mod_deflate.html#deflatewindowsize +deny mod/mod_access_compat.html#deny +directory mod/core.html#directory +directorycheckhandler mod/mod_dir.html#directorycheckhandler +directoryindex mod/mod_dir.html#directoryindex +directoryindexredirect mod/mod_dir.html#directoryindexredirect +directorymatch mod/core.html#directorymatch +directoryslash mod/mod_dir.html#directoryslash +documentroot mod/core.html#documentroot +dtraceprivileges mod/mod_privileges.html#dtraceprivileges +dumpioinput mod/mod_dumpio.html#dumpioinput +dumpiooutput mod/mod_dumpio.html#dumpiooutput +else mod/core.html#else +elseif mod/core.html#elseif +enableexceptionhook mod/mpm_common.html#enableexceptionhook +enablemmap mod/core.html#enablemmap +enablesendfile mod/core.html#enablesendfile +error mod/core.html#error +errordocument mod/core.html#errordocument +errorlog mod/core.html#errorlog +errorlogformat mod/core.html#errorlogformat +example mod/mod_example_hooks.html#example +expiresactive mod/mod_expires.html#expiresactive +expiresbytype mod/mod_expires.html#expiresbytype +expiresdefault mod/mod_expires.html#expiresdefault +extendedstatus mod/core.html#extendedstatus +extfilterdefine mod/mod_ext_filter.html#extfilterdefine +extfilteroptions mod/mod_ext_filter.html#extfilteroptions +fallbackresource mod/mod_dir.html#fallbackresource +fileetag mod/core.html#fileetag +files mod/core.html#files +filesmatch mod/core.html#filesmatch +filterchain mod/mod_filter.html#filterchain +filterdeclare mod/mod_filter.html#filterdeclare +filterprotocol mod/mod_filter.html#filterprotocol +filterprovider mod/mod_filter.html#filterprovider +filtertrace mod/mod_filter.html#filtertrace +flushmaxpipelined mod/core.html#flushmaxpipelined +flushmaxthreshold mod/core.html#flushmaxthreshold +forcelanguagepriority mod/mod_negotiation.html#forcelanguagepriority +forcetype mod/core.html#forcetype +forensiclog mod/mod_log_forensic.html#forensiclog +globallog mod/mod_log_config.html#globallog +gprofdir mod/core.html#gprofdir +gracefulshutdowntimeout mod/mpm_common.html#gracefulshutdowntimeout +group mod/mod_unixd.html#group +h2copyfiles mod/mod_http2.html#h2copyfiles +h2direct mod/mod_http2.html#h2direct +h2earlyhints mod/mod_http2.html#h2earlyhints +h2maxsessionstreams mod/mod_http2.html#h2maxsessionstreams +h2maxworkeridleseconds mod/mod_http2.html#h2maxworkeridleseconds +h2maxworkers mod/mod_http2.html#h2maxworkers +h2minworkers mod/mod_http2.html#h2minworkers +h2moderntlsonly mod/mod_http2.html#h2moderntlsonly +h2outputbuffering mod/mod_http2.html#h2outputbuffering +h2padding mod/mod_http2.html#h2padding +h2push mod/mod_http2.html#h2push +h2pushdiarysize mod/mod_http2.html#h2pushdiarysize +h2pushpriority mod/mod_http2.html#h2pushpriority +h2pushresource mod/mod_http2.html#h2pushresource +h2serializeheaders mod/mod_http2.html#h2serializeheaders +h2streammaxmemsize mod/mod_http2.html#h2streammaxmemsize +h2tlscooldownsecs mod/mod_http2.html#h2tlscooldownsecs +h2tlswarmupsize mod/mod_http2.html#h2tlswarmupsize +h2upgrade mod/mod_http2.html#h2upgrade +h2windowsize mod/mod_http2.html#h2windowsize +header mod/mod_headers.html#header +headername mod/mod_autoindex.html#headername +heartbeataddress mod/mod_heartbeat.html#heartbeataddress +heartbeatlisten mod/mod_heartmonitor.html#heartbeatlisten +heartbeatmaxservers mod/mod_heartmonitor.html#heartbeatmaxservers +heartbeatstorage mod/mod_lbmethod_heartbeat.html#heartbeatstorage +heartbeatstorage mod/mod_heartmonitor.html#heartbeatstorage +hostnamelookups mod/core.html#hostnamelookups +httpprotocoloptions mod/core.html#httpprotocoloptions +identitycheck mod/mod_ident.html#identitycheck +identitychecktimeout mod/mod_ident.html#identitychecktimeout +if mod/core.html#if +ifdefine mod/core.html#ifdefine +ifdirective mod/core.html#ifdirective +iffile mod/core.html#iffile +ifmodule mod/core.html#ifmodule +ifsection mod/core.html#ifsection +ifversion mod/mod_version.html#ifversion +imapbase mod/mod_imagemap.html#imapbase +imapdefault mod/mod_imagemap.html#imapdefault +imapmenu mod/mod_imagemap.html#imapmenu +include mod/core.html#include +includeoptional mod/core.html#includeoptional +indexheadinsert mod/mod_autoindex.html#indexheadinsert +indexignore mod/mod_autoindex.html#indexignore +indexignorereset mod/mod_autoindex.html#indexignorereset +indexoptions mod/mod_autoindex.html#indexoptions +indexorderdefault mod/mod_autoindex.html#indexorderdefault +indexstylesheet mod/mod_autoindex.html#indexstylesheet +inputsed mod/mod_sed.html#inputsed +isapiappendlogtoerrors mod/mod_isapi.html#isapiappendlogtoerrors +isapiappendlogtoquery mod/mod_isapi.html#isapiappendlogtoquery +isapicachefile mod/mod_isapi.html#isapicachefile +isapifakeasync mod/mod_isapi.html#isapifakeasync +isapilognotsupported mod/mod_isapi.html#isapilognotsupported +isapireadaheadbuffer mod/mod_isapi.html#isapireadaheadbuffer +keepalive mod/core.html#keepalive +keepalivetimeout mod/core.html#keepalivetimeout +keptbodysize mod/mod_request.html#keptbodysize +languagepriority mod/mod_negotiation.html#languagepriority +ldapcacheentries mod/mod_ldap.html#ldapcacheentries +ldapcachettl mod/mod_ldap.html#ldapcachettl +ldapconnectionpoolttl mod/mod_ldap.html#ldapconnectionpoolttl +ldapconnectiontimeout mod/mod_ldap.html#ldapconnectiontimeout +ldaplibrarydebug mod/mod_ldap.html#ldaplibrarydebug +ldapopcacheentries mod/mod_ldap.html#ldapopcacheentries +ldapopcachettl mod/mod_ldap.html#ldapopcachettl +ldapreferralhoplimit mod/mod_ldap.html#ldapreferralhoplimit +ldapreferrals mod/mod_ldap.html#ldapreferrals +ldapretries mod/mod_ldap.html#ldapretries +ldapretrydelay mod/mod_ldap.html#ldapretrydelay +ldapsharedcachefile mod/mod_ldap.html#ldapsharedcachefile +ldapsharedcachesize mod/mod_ldap.html#ldapsharedcachesize +ldaptimeout mod/mod_ldap.html#ldaptimeout +ldaptrustedclientcert mod/mod_ldap.html#ldaptrustedclientcert +ldaptrustedglobalcert mod/mod_ldap.html#ldaptrustedglobalcert +ldaptrustedmode mod/mod_ldap.html#ldaptrustedmode +ldapverifyservercert mod/mod_ldap.html#ldapverifyservercert +limit mod/core.html#limit +limitexcept mod/core.html#limitexcept +limitinternalrecursion mod/core.html#limitinternalrecursion +limitrequestbody mod/core.html#limitrequestbody +limitrequestfields mod/core.html#limitrequestfields +limitrequestfieldsize mod/core.html#limitrequestfieldsize +limitrequestline mod/core.html#limitrequestline +limitxmlrequestbody mod/core.html#limitxmlrequestbody +listen mod/mpm_common.html#listen +listenbacklog mod/mpm_common.html#listenbacklog +listencoresbucketsratio mod/mpm_common.html#listencoresbucketsratio +loadfile mod/mod_so.html#loadfile +loadmodule mod/mod_so.html#loadmodule +location mod/core.html#location +locationmatch mod/core.html#locationmatch +logformat mod/mod_log_config.html#logformat +logiotrackttfb mod/mod_logio.html#logiotrackttfb +loglevel mod/core.html#loglevel +logmessage mod/mod_log_debug.html#logmessage +luaauthzprovider mod/mod_lua.html#luaauthzprovider +luacodecache mod/mod_lua.html#luacodecache +luahookaccesschecker mod/mod_lua.html#luahookaccesschecker +luahookauthchecker mod/mod_lua.html#luahookauthchecker +luahookcheckuserid mod/mod_lua.html#luahookcheckuserid +luahookfixups mod/mod_lua.html#luahookfixups +luahookinsertfilter mod/mod_lua.html#luahookinsertfilter +luahooklog mod/mod_lua.html#luahooklog +luahookmaptostorage mod/mod_lua.html#luahookmaptostorage +luahookpretranslate mod/mod_lua.html#luahookpretranslate +luahooktranslatename mod/mod_lua.html#luahooktranslatename +luahooktypechecker mod/mod_lua.html#luahooktypechecker +luainherit mod/mod_lua.html#luainherit +luainputfilter mod/mod_lua.html#luainputfilter +luamaphandler mod/mod_lua.html#luamaphandler +luaoutputfilter mod/mod_lua.html#luaoutputfilter +luapackagecpath mod/mod_lua.html#luapackagecpath +luapackagepath mod/mod_lua.html#luapackagepath +luaquickhandler mod/mod_lua.html#luaquickhandler +luaroot mod/mod_lua.html#luaroot +luascope mod/mod_lua.html#luascope +macro mod/mod_macro.html#macro +maxconnectionsperchild mod/mpm_common.html#maxconnectionsperchild +maxkeepaliverequests mod/core.html#maxkeepaliverequests +maxmemfree mod/mpm_common.html#maxmemfree +maxrangeoverlaps mod/core.html#maxrangeoverlaps +maxrangereversals mod/core.html#maxrangereversals +maxranges mod/core.html#maxranges +maxrequestworkers mod/mpm_common.html#maxrequestworkers +maxspareservers mod/prefork.html#maxspareservers +maxsparethreads mod/mpm_common.html#maxsparethreads +maxthreads mod/mpm_netware.html#maxthreads +mdactivationdelay mod/mod_md.html#mdactivationdelay +mdbaseserver mod/mod_md.html#mdbaseserver +mdcachallenges mod/mod_md.html#mdcachallenges +mdcertificateagreement mod/mod_md.html#mdcertificateagreement +mdcertificateauthority mod/mod_md.html#mdcertificateauthority +mdcertificatecheck mod/mod_md.html#mdcertificatecheck +mdcertificatefile mod/mod_md.html#mdcertificatefile +mdcertificatekeyfile mod/mod_md.html#mdcertificatekeyfile +mdcertificatemonitor mod/mod_md.html#mdcertificatemonitor +mdcertificateprotocol mod/mod_md.html#mdcertificateprotocol +mdcertificatestatus mod/mod_md.html#mdcertificatestatus +mdchallengedns01 mod/mod_md.html#mdchallengedns01 +mdcontactemail mod/mod_md.html#mdcontactemail +mddrivemode mod/mod_md.html#mddrivemode +mdexternalaccountbinding mod/mod_md.html#mdexternalaccountbinding +mdhttpproxy mod/mod_md.html#mdhttpproxy +mdmember mod/mod_md.html#mdmember +mdmembers mod/mod_md.html#mdmembers +mdmessagecmd mod/mod_md.html#mdmessagecmd +mdmuststaple mod/mod_md.html#mdmuststaple +mdnotifycmd mod/mod_md.html#mdnotifycmd +mdomain mod/mod_md.html#mdomain +mdomainset mod/mod_md.html#mdomainset +mdportmap mod/mod_md.html#mdportmap +mdprivatekeys mod/mod_md.html#mdprivatekeys +mdrenewmode mod/mod_md.html#mdrenewmode +mdrenewwindow mod/mod_md.html#mdrenewwindow +mdrequirehttps mod/mod_md.html#mdrequirehttps +mdserverstatus mod/mod_md.html#mdserverstatus +mdstapleothers mod/mod_md.html#mdstapleothers +mdstapling mod/mod_md.html#mdstapling +mdstaplingkeepresponse mod/mod_md.html#mdstaplingkeepresponse +mdstaplingrenewwindow mod/mod_md.html#mdstaplingrenewwindow +mdstoredir mod/mod_md.html#mdstoredir +mdwarnwindow mod/mod_md.html#mdwarnwindow +memcacheconnttl mod/mod_socache_memcache.html#memcacheconnttl +mergeslashes mod/core.html#mergeslashes +mergetrailers mod/core.html#mergetrailers +metadir mod/mod_cern_meta.html#metadir +metafiles mod/mod_cern_meta.html#metafiles +metasuffix mod/mod_cern_meta.html#metasuffix +mimemagicfile mod/mod_mime_magic.html#mimemagicfile +minspareservers mod/prefork.html#minspareservers +minsparethreads mod/mpm_common.html#minsparethreads +mmapfile mod/mod_file_cache.html#mmapfile +modemstandard mod/mod_dialup.html#modemstandard +modmimeusepathinfo mod/mod_mime.html#modmimeusepathinfo +multiviewsmatch mod/mod_mime.html#multiviewsmatch +mutex mod/core.html#mutex +namevirtualhost mod/core.html#namevirtualhost +noproxy mod/mod_proxy.html#noproxy +nwssltrustedcerts mod/mod_nw_ssl.html#nwssltrustedcerts +nwsslupgradeable mod/mod_nw_ssl.html#nwsslupgradeable +options mod/core.html#options +order mod/mod_access_compat.html#order +outputsed mod/mod_sed.html#outputsed +passenv mod/mod_env.html#passenv +pidfile mod/mpm_common.html#pidfile +privilegesmode mod/mod_privileges.html#privilegesmode +protocol mod/core.html#protocol +protocolecho mod/mod_echo.html#protocolecho +protocols mod/core.html#protocols +protocolshonororder mod/core.html#protocolshonororder +proxy mod/mod_proxy.html#proxy +proxy100continue mod/mod_proxy.html#proxy100continue +proxyaddheaders mod/mod_proxy.html#proxyaddheaders +proxybadheader mod/mod_proxy.html#proxybadheader +proxyblock mod/mod_proxy.html#proxyblock +proxydomain mod/mod_proxy.html#proxydomain +proxyerroroverride mod/mod_proxy.html#proxyerroroverride +proxyexpressdbmfile mod/mod_proxy_express.html#proxyexpressdbmfile +proxyexpressdbmtype mod/mod_proxy_express.html#proxyexpressdbmtype +proxyexpressenable mod/mod_proxy_express.html#proxyexpressenable +proxyfcgibackendtype mod/mod_proxy_fcgi.html#proxyfcgibackendtype +proxyfcgisetenvif mod/mod_proxy_fcgi.html#proxyfcgisetenvif +proxyftpdircharset mod/mod_proxy_ftp.html#proxyftpdircharset +proxyftpescapewildcards mod/mod_proxy_ftp.html#proxyftpescapewildcards +proxyftplistonwildcard mod/mod_proxy_ftp.html#proxyftplistonwildcard +proxyhcexpr mod/mod_proxy_hcheck.html#proxyhcexpr +proxyhctemplate mod/mod_proxy_hcheck.html#proxyhctemplate +proxyhctpsize mod/mod_proxy_hcheck.html#proxyhctpsize +proxyhtmlbufsize mod/mod_proxy_html.html#proxyhtmlbufsize +proxyhtmlcharsetout mod/mod_proxy_html.html#proxyhtmlcharsetout +proxyhtmldoctype mod/mod_proxy_html.html#proxyhtmldoctype +proxyhtmlenable mod/mod_proxy_html.html#proxyhtmlenable +proxyhtmlevents mod/mod_proxy_html.html#proxyhtmlevents +proxyhtmlextended mod/mod_proxy_html.html#proxyhtmlextended +proxyhtmlfixups mod/mod_proxy_html.html#proxyhtmlfixups +proxyhtmlinterp mod/mod_proxy_html.html#proxyhtmlinterp +proxyhtmllinks mod/mod_proxy_html.html#proxyhtmllinks +proxyhtmlmeta mod/mod_proxy_html.html#proxyhtmlmeta +proxyhtmlstripcomments mod/mod_proxy_html.html#proxyhtmlstripcomments +proxyhtmlurlmap mod/mod_proxy_html.html#proxyhtmlurlmap +proxyiobuffersize mod/mod_proxy.html#proxyiobuffersize +proxymatch mod/mod_proxy.html#proxymatch +proxymaxforwards mod/mod_proxy.html#proxymaxforwards +proxypass mod/mod_proxy.html#proxypass +proxypassinherit mod/mod_proxy.html#proxypassinherit +proxypassinterpolateenv mod/mod_proxy.html#proxypassinterpolateenv +proxypassmatch mod/mod_proxy.html#proxypassmatch +proxypassreverse mod/mod_proxy.html#proxypassreverse +proxypassreversecookiedomain mod/mod_proxy.html#proxypassreversecookiedomain +proxypassreversecookiepath mod/mod_proxy.html#proxypassreversecookiepath +proxypreservehost mod/mod_proxy.html#proxypreservehost +proxyreceivebuffersize mod/mod_proxy.html#proxyreceivebuffersize +proxyremote mod/mod_proxy.html#proxyremote +proxyremotematch mod/mod_proxy.html#proxyremotematch +proxyrequests mod/mod_proxy.html#proxyrequests +proxyscgiinternalredirect mod/mod_proxy_scgi.html#proxyscgiinternalredirect +proxyscgisendfile mod/mod_proxy_scgi.html#proxyscgisendfile +proxyset mod/mod_proxy.html#proxyset +proxysourceaddress mod/mod_proxy.html#proxysourceaddress +proxystatus mod/mod_proxy.html#proxystatus +proxytimeout mod/mod_proxy.html#proxytimeout +proxyvia mod/mod_proxy.html#proxyvia +proxywebsocketfallbacktoproxyhttp mod/mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp +qualifyredirecturl mod/core.html#qualifyredirecturl +readbuffersize mod/core.html#readbuffersize +readmename mod/mod_autoindex.html#readmename +receivebuffersize mod/mpm_common.html#receivebuffersize +redirect mod/mod_alias.html#redirect +redirectmatch mod/mod_alias.html#redirectmatch +redirectpermanent mod/mod_alias.html#redirectpermanent +redirecttemp mod/mod_alias.html#redirecttemp +redisconnpoolttl mod/mod_socache_redis.html#redisconnpoolttl +redistimeout mod/mod_socache_redis.html#redistimeout +reflectorheader mod/mod_reflector.html#reflectorheader +regexdefaultoptions mod/core.html#regexdefaultoptions +registerhttpmethod mod/core.html#registerhttpmethod +remoteipheader mod/mod_remoteip.html#remoteipheader +remoteipinternalproxy mod/mod_remoteip.html#remoteipinternalproxy +remoteipinternalproxylist mod/mod_remoteip.html#remoteipinternalproxylist +remoteipproxiesheader mod/mod_remoteip.html#remoteipproxiesheader +remoteipproxyprotocol mod/mod_remoteip.html#remoteipproxyprotocol +remoteipproxyprotocolexceptions mod/mod_remoteip.html#remoteipproxyprotocolexceptions +remoteiptrustedproxy mod/mod_remoteip.html#remoteiptrustedproxy +remoteiptrustedproxylist mod/mod_remoteip.html#remoteiptrustedproxylist +removecharset mod/mod_mime.html#removecharset +removeencoding mod/mod_mime.html#removeencoding +removehandler mod/mod_mime.html#removehandler +removeinputfilter mod/mod_mime.html#removeinputfilter +removelanguage mod/mod_mime.html#removelanguage +removeoutputfilter mod/mod_mime.html#removeoutputfilter +removetype mod/mod_mime.html#removetype +requestheader mod/mod_headers.html#requestheader +requestreadtimeout mod/mod_reqtimeout.html#requestreadtimeout +require mod/mod_authz_core.html#require +requireall mod/mod_authz_core.html#requireall +requireany mod/mod_authz_core.html#requireany +requirenone mod/mod_authz_core.html#requirenone +rewritebase mod/mod_rewrite.html#rewritebase +rewritecond mod/mod_rewrite.html#rewritecond +rewriteengine mod/mod_rewrite.html#rewriteengine +rewritemap mod/mod_rewrite.html#rewritemap +rewriteoptions mod/mod_rewrite.html#rewriteoptions +rewriterule mod/mod_rewrite.html#rewriterule +rlimitcpu mod/core.html#rlimitcpu +rlimitmem mod/core.html#rlimitmem +rlimitnproc mod/core.html#rlimitnproc +satisfy mod/mod_access_compat.html#satisfy +scoreboardfile mod/mpm_common.html#scoreboardfile +script mod/mod_actions.html#script +scriptalias mod/mod_alias.html#scriptalias +scriptaliasmatch mod/mod_alias.html#scriptaliasmatch +scriptinterpretersource mod/core.html#scriptinterpretersource +scriptlog mod/mod_cgi.html#scriptlog +scriptlogbuffer mod/mod_cgi.html#scriptlogbuffer +scriptloglength mod/mod_cgi.html#scriptloglength +scriptsock mod/mod_cgid.html#scriptsock +securelisten mod/mod_nw_ssl.html#securelisten +seerequesttail mod/core.html#seerequesttail +sendbuffersize mod/mpm_common.html#sendbuffersize +serveradmin mod/core.html#serveradmin +serveralias mod/core.html#serveralias +serverlimit mod/mpm_common.html#serverlimit +servername mod/core.html#servername +serverpath mod/core.html#serverpath +serverroot mod/core.html#serverroot +serversignature mod/core.html#serversignature +servertokens mod/core.html#servertokens +session mod/mod_session.html#session +sessioncookiename mod/mod_session_cookie.html#sessioncookiename +sessioncookiename2 mod/mod_session_cookie.html#sessioncookiename2 +sessioncookieremove mod/mod_session_cookie.html#sessioncookieremove +sessioncryptocipher mod/mod_session_crypto.html#sessioncryptocipher +sessioncryptodriver mod/mod_session_crypto.html#sessioncryptodriver +sessioncryptopassphrase mod/mod_session_crypto.html#sessioncryptopassphrase +sessioncryptopassphrasefile mod/mod_session_crypto.html#sessioncryptopassphrasefile +sessiondbdcookiename mod/mod_session_dbd.html#sessiondbdcookiename +sessiondbdcookiename2 mod/mod_session_dbd.html#sessiondbdcookiename2 +sessiondbdcookieremove mod/mod_session_dbd.html#sessiondbdcookieremove +sessiondbddeletelabel mod/mod_session_dbd.html#sessiondbddeletelabel +sessiondbdinsertlabel mod/mod_session_dbd.html#sessiondbdinsertlabel +sessiondbdperuser mod/mod_session_dbd.html#sessiondbdperuser +sessiondbdselectlabel mod/mod_session_dbd.html#sessiondbdselectlabel +sessiondbdupdatelabel mod/mod_session_dbd.html#sessiondbdupdatelabel +sessionenv mod/mod_session.html#sessionenv +sessionexclude mod/mod_session.html#sessionexclude +sessionexpiryupdateinterval mod/mod_session.html#sessionexpiryupdateinterval +sessionheader mod/mod_session.html#sessionheader +sessioninclude mod/mod_session.html#sessioninclude +sessionmaxage mod/mod_session.html#sessionmaxage +setenv mod/mod_env.html#setenv +setenvif mod/mod_setenvif.html#setenvif +setenvifexpr mod/mod_setenvif.html#setenvifexpr +setenvifnocase mod/mod_setenvif.html#setenvifnocase +sethandler mod/core.html#sethandler +setinputfilter mod/core.html#setinputfilter +setoutputfilter mod/core.html#setoutputfilter +ssiendtag mod/mod_include.html#ssiendtag +ssierrormsg mod/mod_include.html#ssierrormsg +ssietag mod/mod_include.html#ssietag +ssilastmodified mod/mod_include.html#ssilastmodified +ssilegacyexprparser mod/mod_include.html#ssilegacyexprparser +ssistarttag mod/mod_include.html#ssistarttag +ssitimeformat mod/mod_include.html#ssitimeformat +ssiundefinedecho mod/mod_include.html#ssiundefinedecho +sslcacertificatefile mod/mod_ssl.html#sslcacertificatefile +sslcacertificatepath mod/mod_ssl.html#sslcacertificatepath +sslcadnrequestfile mod/mod_ssl.html#sslcadnrequestfile +sslcadnrequestpath mod/mod_ssl.html#sslcadnrequestpath +sslcarevocationcheck mod/mod_ssl.html#sslcarevocationcheck +sslcarevocationfile mod/mod_ssl.html#sslcarevocationfile +sslcarevocationpath mod/mod_ssl.html#sslcarevocationpath +sslcertificatechainfile mod/mod_ssl.html#sslcertificatechainfile +sslcertificatefile mod/mod_ssl.html#sslcertificatefile +sslcertificatekeyfile mod/mod_ssl.html#sslcertificatekeyfile +sslciphersuite mod/mod_ssl.html#sslciphersuite +sslcompression mod/mod_ssl.html#sslcompression +sslcryptodevice mod/mod_ssl.html#sslcryptodevice +sslengine mod/mod_ssl.html#sslengine +sslfips mod/mod_ssl.html#sslfips +sslhonorcipherorder mod/mod_ssl.html#sslhonorcipherorder +sslinsecurerenegotiation mod/mod_ssl.html#sslinsecurerenegotiation +sslocspdefaultresponder mod/mod_ssl.html#sslocspdefaultresponder +sslocspenable mod/mod_ssl.html#sslocspenable +sslocspnoverify mod/mod_ssl.html#sslocspnoverify +sslocspoverrideresponder mod/mod_ssl.html#sslocspoverrideresponder +sslocspproxyurl mod/mod_ssl.html#sslocspproxyurl +sslocsprespondercertificatefile mod/mod_ssl.html#sslocsprespondercertificatefile +sslocsprespondertimeout mod/mod_ssl.html#sslocsprespondertimeout +sslocspresponsemaxage mod/mod_ssl.html#sslocspresponsemaxage +sslocspresponsetimeskew mod/mod_ssl.html#sslocspresponsetimeskew +sslocspuserequestnonce mod/mod_ssl.html#sslocspuserequestnonce +sslopensslconfcmd mod/mod_ssl.html#sslopensslconfcmd +ssloptions mod/mod_ssl.html#ssloptions +sslpassphrasedialog mod/mod_ssl.html#sslpassphrasedialog +sslprotocol mod/mod_ssl.html#sslprotocol +sslproxycacertificatefile mod/mod_ssl.html#sslproxycacertificatefile +sslproxycacertificatepath mod/mod_ssl.html#sslproxycacertificatepath +sslproxycarevocationcheck mod/mod_ssl.html#sslproxycarevocationcheck +sslproxycarevocationfile mod/mod_ssl.html#sslproxycarevocationfile +sslproxycarevocationpath mod/mod_ssl.html#sslproxycarevocationpath +sslproxycheckpeercn mod/mod_ssl.html#sslproxycheckpeercn +sslproxycheckpeerexpire mod/mod_ssl.html#sslproxycheckpeerexpire +sslproxycheckpeername mod/mod_ssl.html#sslproxycheckpeername +sslproxyciphersuite mod/mod_ssl.html#sslproxyciphersuite +sslproxyengine mod/mod_ssl.html#sslproxyengine +sslproxymachinecertificatechainfile mod/mod_ssl.html#sslproxymachinecertificatechainfile +sslproxymachinecertificatefile mod/mod_ssl.html#sslproxymachinecertificatefile +sslproxymachinecertificatepath mod/mod_ssl.html#sslproxymachinecertificatepath +sslproxyprotocol mod/mod_ssl.html#sslproxyprotocol +sslproxyverify mod/mod_ssl.html#sslproxyverify +sslproxyverifydepth mod/mod_ssl.html#sslproxyverifydepth +sslrandomseed mod/mod_ssl.html#sslrandomseed +sslrenegbuffersize mod/mod_ssl.html#sslrenegbuffersize +sslrequire mod/mod_ssl.html#sslrequire +sslrequiressl mod/mod_ssl.html#sslrequiressl +sslsessioncache mod/mod_ssl.html#sslsessioncache +sslsessioncachetimeout mod/mod_ssl.html#sslsessioncachetimeout +sslsessionticketkeyfile mod/mod_ssl.html#sslsessionticketkeyfile +sslsessiontickets mod/mod_ssl.html#sslsessiontickets +sslsrpunknownuserseed mod/mod_ssl.html#sslsrpunknownuserseed +sslsrpverifierfile mod/mod_ssl.html#sslsrpverifierfile +sslstaplingcache mod/mod_ssl.html#sslstaplingcache +sslstaplingerrorcachetimeout mod/mod_ssl.html#sslstaplingerrorcachetimeout +sslstaplingfaketrylater mod/mod_ssl.html#sslstaplingfaketrylater +sslstaplingforceurl mod/mod_ssl.html#sslstaplingforceurl +sslstaplingrespondertimeout mod/mod_ssl.html#sslstaplingrespondertimeout +sslstaplingresponsemaxage mod/mod_ssl.html#sslstaplingresponsemaxage +sslstaplingresponsetimeskew mod/mod_ssl.html#sslstaplingresponsetimeskew +sslstaplingreturnrespondererrors mod/mod_ssl.html#sslstaplingreturnrespondererrors +sslstaplingstandardcachetimeout mod/mod_ssl.html#sslstaplingstandardcachetimeout +sslstrictsnivhostcheck mod/mod_ssl.html#sslstrictsnivhostcheck +sslusername mod/mod_ssl.html#sslusername +sslusestapling mod/mod_ssl.html#sslusestapling +sslverifyclient mod/mod_ssl.html#sslverifyclient +sslverifydepth mod/mod_ssl.html#sslverifydepth +startservers mod/mpm_common.html#startservers +startthreads mod/mpm_common.html#startthreads +stricthostcheck mod/core.html#stricthostcheck +substitute mod/mod_substitute.html#substitute +substituteinheritbefore mod/mod_substitute.html#substituteinheritbefore +substitutemaxlinelength mod/mod_substitute.html#substitutemaxlinelength +suexec mod/mod_unixd.html#suexec +suexecusergroup mod/mod_suexec.html#suexecusergroup +threadlimit mod/mpm_common.html#threadlimit +threadsperchild mod/mpm_common.html#threadsperchild +threadstacksize mod/mpm_common.html#threadstacksize +timeout mod/core.html#timeout +tlscertificate mod/mod_tls.html#tlscertificate +tlsciphersprefer mod/mod_tls.html#tlsciphersprefer +tlscipherssuppress mod/mod_tls.html#tlscipherssuppress +tlsengine mod/mod_tls.html#tlsengine +tlshonorclientorder mod/mod_tls.html#tlshonorclientorder +tlsoptions mod/mod_tls.html#tlsoptions +tlsprotocol mod/mod_tls.html#tlsprotocol +tlsproxyca mod/mod_tls.html#tlsproxyca +tlsproxyciphersprefer mod/mod_tls.html#tlsproxyciphersprefer +tlsproxycipherssuppress mod/mod_tls.html#tlsproxycipherssuppress +tlsproxyengine mod/mod_tls.html#tlsproxyengine +tlsproxymachinecertificate mod/mod_tls.html#tlsproxymachinecertificate +tlsproxyprotocol mod/mod_tls.html#tlsproxyprotocol +tlssessioncache mod/mod_tls.html#tlssessioncache +tlsstrictsni mod/mod_tls.html#tlsstrictsni +traceenable mod/core.html#traceenable +transferlog mod/mod_log_config.html#transferlog +typesconfig mod/mod_mime.html#typesconfig +undefine mod/core.html#undefine +undefmacro mod/mod_macro.html#undefmacro +unsetenv mod/mod_env.html#unsetenv +use mod/mod_macro.html#use +usecanonicalname mod/core.html#usecanonicalname +usecanonicalphysicalport mod/core.html#usecanonicalphysicalport +user mod/mod_unixd.html#user +userdir mod/mod_userdir.html#userdir +vhostcgimode mod/mod_privileges.html#vhostcgimode +vhostcgiprivs mod/mod_privileges.html#vhostcgiprivs +vhostgroup mod/mod_privileges.html#vhostgroup +vhostprivs mod/mod_privileges.html#vhostprivs +vhostsecure mod/mod_privileges.html#vhostsecure +vhostuser mod/mod_privileges.html#vhostuser +virtualdocumentroot mod/mod_vhost_alias.html#virtualdocumentroot +virtualdocumentrootip mod/mod_vhost_alias.html#virtualdocumentrootip +virtualhost mod/core.html#virtualhost +virtualscriptalias mod/mod_vhost_alias.html#virtualscriptalias +virtualscriptaliasip mod/mod_vhost_alias.html#virtualscriptaliasip +watchdoginterval mod/mod_watchdog.html#watchdoginterval +xbithack mod/mod_include.html#xbithack +xml2encalias mod/mod_xml2enc.html#xml2encalias +xml2encdefault mod/mod_xml2enc.html#xml2encdefault +xml2startparse mod/mod_xml2enc.html#xml2startparse diff --git a/docs/manual/custom-error.html b/docs/manual/custom-error.html new file mode 100644 index 0000000..9f0e635 --- /dev/null +++ b/docs/manual/custom-error.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: custom-error.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: custom-error.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: custom-error.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: custom-error.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: custom-error.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: custom-error.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/custom-error.html.en b/docs/manual/custom-error.html.en new file mode 100644 index 0000000..358a19a --- /dev/null +++ b/docs/manual/custom-error.html.en @@ -0,0 +1,237 @@ + + + + + +Custom Error Responses - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Custom Error Responses

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Although the Apache HTTP Server provides generic error responses + in the event of 4xx or 5xx HTTP status codes, these responses are + rather stark, uninformative, and can be intimidating to site users. + You may wish to provide custom error responses which are either + friendlier, or in some language other than English, or perhaps which + are styled more in line with your site layout.

+ +

Customized error responses can be defined for any HTTP status + code designated as an error condition - that is, any 4xx or 5xx + status.

+ +

Additionally, a set of values are provided, so + that the error document can be customized further based on the + values of these variables, using Server + Side Includes. Or, you can have error conditions handled by a + cgi program, or other dynamic handler (PHP, mod_perl, etc) which + makes use of these variables.

+ +
+ +
top
+
+

Configuration

+ +

Custom error documents are configured using the ErrorDocument directive, + which may be used in global, + virtualhost, or directory context. It may be used in .htaccess files + if AllowOverride is set to + FileInfo.

+ +
ErrorDocument 500 "Sorry, our script crashed. Oh dear"
+ErrorDocument 500 /cgi-bin/crash-recover
+ErrorDocument 500 http://error.example.com/server_error.html
+ErrorDocument 404 /errors/not_found.html
+ErrorDocument 401 /subscription/how_to_subscribe.html
+ + +

The syntax of the ErrorDocument directive is:

+ +
ErrorDocument <3-digit-code> <action>
+ + +

where the action will be treated as:

+ +
    +
  1. A local URL to redirect to (if the action begins with a "/").
  2. +
  3. An external URL to redirect to (if the action is a valid URL).
  4. +
  5. Text to be displayed (if none of the above). The text must be + wrapped in quotes (") if it consists of more than one word.
  6. +
+ +

When redirecting to a local URL, additional environment variables + are set so that the response can be further customized. They are not sent to + external URLs.

+ +
top
+
+

Available Variables

+ +

Redirecting to another URL can be useful, but only if some + information can be passed which can then be used to explain or log + the error condition more clearly.

+ +

To achieve this, when the error redirect is sent, additional + environment variables will be set, which will be generated from + the headers provided to the original request by prepending + 'REDIRECT_' onto the original header name. This provides the error + document the context of the original request.

+ +

For example, you might receive, in addition to more usual + environment variables, the following.

+ +

+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png
+ REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin
+ REDIRECT_QUERY_STRING=
+ REDIRECT_REMOTE_ADDR=121.345.78.123
+ REDIRECT_REMOTE_HOST=client.example.com
+ REDIRECT_SERVER_NAME=www.example.edu
+ REDIRECT_SERVER_PORT=80
+ REDIRECT_SERVER_SOFTWARE=Apache/2.2.15
+ REDIRECT_URL=/cgi-bin/buggy.pl +

+ +

REDIRECT_ environment variables are created from + the environment variables which existed prior to the + redirect. They are renamed with a REDIRECT_ + prefix, i.e., HTTP_USER_AGENT becomes + REDIRECT_HTTP_USER_AGENT.

+ +

REDIRECT_URL, REDIRECT_STATUS, and + REDIRECT_QUERY_STRING are guaranteed to be set, and + the other headers will be set only if they existed prior to the + error condition.

+ +

None of these will be + set if the ErrorDocument target is an + external redirect (anything starting with a + scheme name like http:, even if it refers to the same host + as the server).

+
top
+
+

Customizing Error Responses

+ +

If you point your ErrorDocument to some variety of + dynamic handler such as a server-side include document, CGI + script, or some variety of other handler, you may wish to use the + available custom environment variables to customize this + response.

+ +

If the ErrorDocument specifies a local redirect to a CGI + script, the script should include a "Status:" + header field in its output in order to ensure the propagation + all the way back to the client of the error condition that + caused it to be invoked. For instance, a Perl ErrorDocument + script might include the following:

+ +
...
+print  "Content-type: text/html\n";
+printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+...
+ + +

If the script is dedicated to handling a particular error + condition, such as 404 Not Found, it can + use the specific code and error text instead.

+ +

Note that if the response contains Location: + header (in order to issue a client-side redirect), the script + must emit an appropriate Status: header + (such as 302 Found). Otherwise the + Location: header may have no effect.

+ +
top
+
+

Multi Language Custom Error Documents

+ +

Provided with your installation of the Apache HTTP Server is a + directory of custom error documents translated into 16 different + languages. There's also a configuration file in the + conf/extra configuration directory that can be included + to enable this feature.

+ +

In your server configuration file, you'll see a line such as:

+ +
# Multi-language error messages
+#Include conf/extra/httpd-multilang-errordoc.conf
+ + +

Uncommenting this Include line will enable this + feature, and provide language-negotiated error messages, based on + the language preference set in the client browser.

+ +

Additionally, these documents contain various of the + REDIRECT_ variables, so that additional information can + be provided to the end-user about what happened, and what they can + do now.

+ +

These documents can be customized to whatever degree you wish to + provide more useful information to users about your site, and what + they can expect to find there.

+ +

mod_include and mod_negotiation + must be enabled to use this feature.

+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/custom-error.html.es b/docs/manual/custom-error.html.es new file mode 100644 index 0000000..bebc604 --- /dev/null +++ b/docs/manual/custom-error.html.es @@ -0,0 +1,249 @@ + + + + + +Respuestas de error personalizadas - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Respuestas de error personalizadas

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Apache ofrece la posibilidad de que los webmasters puedan + configurar las respuestas que muestra el servidor Apache cuando se + producen algunos errores o problemas.

+ +

Las respuestas personalizadas pueden definirse para activarse + en caso de que el servidor detecte un error o problema.

+ +

Si un script termina de forma anormal y se produce una respuesta + "500 Server Error", esta respuesta puede ser sustituida por otro + texto de su elección o por una redirección a otra URL + (local o externa).

+
+ +
top
+
+

Comportamiento

+ + +

Comportamiento anterior

+ + +

NCSA httpd 1.3 devolvía mensajes antiguos del error o + problema encontrado que con frecuencia no tenían + significado alguno para el usuario, y que no incluían en + los logs información que diera pistas sobre las causas de + lo sucedido.

+ + +

Comportamiento actual

+ + +

Se puede hacer que el servidor siga uno de los siguientes + comportamientos:

+ +
    +
  1. Desplegar un texto diferente, en lugar de los mensajes de + la NCSA, o
  2. + +
  3. redireccionar la petición a una URL local, o
  4. + +
  5. redireccionar la petición a una URL externa.
  6. +
+ +

Redireccionar a otra URL puede resultar de utilidad, pero + solo si con ello se puede también pasar alguna + información que pueda explicar el error o problema y/o + registrarlo en el log correspondiente más claramente.

+ +

Para conseguir esto, Apache define ahora variables de entorno + similares a las de los CGI:

+ +

+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, + image/jpeg
+ REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 + 9000/712)
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
+ REDIRECT_QUERY_STRING=
+ REDIRECT_REMOTE_ADDR=121.345.78.123
+ REDIRECT_REMOTE_HOST=ooh.ahhh.com
+ REDIRECT_SERVER_NAME=crash.bang.edu
+ REDIRECT_SERVER_PORT=80
+ REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
+ REDIRECT_URL=/cgi-bin/buggy.pl +

+ +

Tenga en cuenta el prefijo REDIRECT_.

+ +

Al menos REDIRECT_URL y + REDIRECT_QUERY_STRING se pasarán a la nueva + URL (asumiendo que es un cgi-script o un cgi-include). Las otras + variables existirán solo si existían antes de aparecer + el error o problema. Ninguna de estas variables + se creará si en la directiva ErrorDocument ha especificado una + redirección externa (cualquier cosa que empiece + por un nombre de esquema del tipo http:, incluso si + se refiere al mismo servidor).

+ +
top
+
+

Configuración

+ + +

El uso de ErrorDocument + está activado para los ficheros .htaccess cuando AllowOverride tiene el valor + adecuado.

+ +

Aquí hay algunos ejemplos más...

+ +

+ ErrorDocument 500 /cgi-bin/crash-recover
+ ErrorDocument 500 "Sorry, our script crashed. Oh dear"
+ ErrorDocument 500 http://xxx/
+ ErrorDocument 404 /Lame_excuses/not_found.html
+ ErrorDocument 401 /Subscription/how_to_subscribe.html +

+ +

La sintaxis es,

+ +

+ ErrorDocument <3-digit-code> <action> +

+ +

donde action puede ser,

+ +
    +
  1. Texto a mostrar. Ponga antes del texto que quiere que se + muestre unas comillas ("). Lo que sea que siga a las comillas se + mostrará. Nota: las comillas (") no se + muestran.
  2. + +
  3. Una URL local a la que se redireccionará la + petición.
  4. + +
  5. Una URL externa a la que se redireccionará la + petición.
  6. +
+
top
+
+

Mesajes de error personalizados y redirecciones

+ + +

El comportamiento de Apache en cuanto a las redirecciones ha + cambiado para que puedan usarse más variables de entorno con + los script/server-include.

+ +

Antiguo comportamiento

+ + +

Las variables CGI estándar estaban disponibles para el + script al que se hacía la redirección. No se incluía + ninguna indicación sobre la precedencia de la + redirección.

+ + +

Nuevo comportamiento

+ + +

Un nuevo grupo de variables de entorno se inicializa para que + las use el script al que ha sido redireccionado. Cada + nueva variable tendrá el prefijo REDIRECT_. + Las variables de entorno REDIRECT_ se crean a + partir de de las variables de entorno CGI que existen antes de + la redirección, se les cambia el nombre + añadiéndoles el prefijo REDIRECT_, por + ejemplo, HTTP_USER_AGENT pasa a ser + REDIRECT_HTTP_USER_AGENT. Además, para esas + nuevas variables, Apache definirá REDIRECT_URL + y REDIRECT_STATUS para ayudar al script a seguir su + origen. Tanto la URL original como la URL a la que es redirigida + la petición pueden almacenarse en los logs de acceso.

+ +

Si ErrorDocument especifica una redirección local a un + script CGI, el script debe incluir una campo de cabeceraa + "Status:" en el resultado final para asegurar que + es posible hacer llegar al cliente de vuelta la condición + de error que lo provocó. Por ejemplo, un script en Perl + para usar con ErrorDocument podría incluir lo + siguiente:

+ +

+ ...
+ print "Content-type: text/html\n";
+ printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+ ... +

+ +

Si el script tiene como fin tratar una determinada + condición de error, por ejemplo + 404 Not Found, se pueden usar los + códigos de error y textos específicos en su lugar.

+ +

Tenga en cuenta que el script debe incluir un campo + de cabecera Status: apropiado (como + 302 Found), si la respuesta contiene un campo de + cabecera Location: (para poder enviar una + redirección que se interprete en el cliente). De otra + manera, la cabecera + Location: puede que no tenga efecto.

+ +
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/custom-error.html.fr.utf8 b/docs/manual/custom-error.html.fr.utf8 new file mode 100644 index 0000000..d09efac --- /dev/null +++ b/docs/manual/custom-error.html.fr.utf8 @@ -0,0 +1,250 @@ + + + + + +Messages d'erreur personnalisés - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Messages d'erreur personnalisés

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Le serveur HTTP Apache fournit des messages d'erreur génériques + pour les codes de statut 4xx ou 5xx ; ces messages sont cependant + relativement austères, imprécis, et peuvent s'avérer intimidants + pour les visiteurs du site. Si vous le souhaitez, vous pouvez + afficher des messages d'erreur plus conviviaux, dans un langage + autre que l'anglais, ou même sous une forme plus en adéquation avec + le style de votre site.

+ +

Il est possible de définir des messages d'erreur personnalisés + pour chaque code de statut HTTP associé à une condition d'erreur - + c'est à dire tout code de statut 4xx ou 5xx.

+ +

De plus, il est possible de + personnaliser le message d'erreur en fonction d'un jeu de valeurs + fourni, en utilisant les Inclusions Côté + Serveur (SSI). Un programme CGI ou un autre gestionnaire + dynamique (PHP, mod_perl, etc...) peut aussi utiliser ces variables + pour gérer les conditions d'erreur.

+ + +
+ +
top
+
+

Configuration

+ +

Les messages d'erreur personnalisés sont configurés via la + directive ErrorDocument, qui + peut être utilisée dans un contexte global, serveur virtuel ou + répertoire. On peut utiliser cette directive dans les fichiers + .htaccess si AllowOverride est + définie à FileInfo.

+ +
ErrorDocument 500 "Désolé, notre script s'est
+crashé ; comme c'est dommage !"
+ErrorDocument 500 /cgi-bin/crash-recover
+ErrorDocument 500 http://error.example.com/server_error.html
+ErrorDocument 404 /errors/not_found.html 
+ErrorDocument 401 /subscription/how_to_subscribe.html
+ + +

La syntaxe de la directive ErrorDocument est :

+
ErrorDocument <code_3_chiffres> <action>
+ +

où action peut être traitée comme :

+
    +
  1. Une URL de redirection local (si l'action commence par un "/").
  2. +
  3. Une URL de redirection externe (si action est une URL valide).
  4. +
  5. Le texte à afficher (si l'action ne répond à aucune des + deux conditions précédentes). Entourez le texte de guillemets (") + s'il contient plusieurs mots.
  6. +
+ +

Dans le cas d'une redirection vers une URL locale, des variables + d'environnement supplémentaires sont définies de façon à ce que la + réponse puisse être personnalisée par la suite. Elles ne sont pas + envoyées aux URLs externes.

+ +
top
+
+

Variables disponibles

+ +

La redirection vers une autre URL peut être utile, mais + seulement s'il est possible de transmettre certaines informations + qui pourront être utilisées pour expliquer ou journaliser + la condition d'erreur ou le problème plus clairement.

+ +

Pour y parvenir, lorsque la redirection d'erreur est envoyée, + des variables d'environnement supplémentaires sont définies à + partir des en-têtes de la requête originale en préfixant le nom + d'origine de l'en-tête par 'REDIRECT_', ce qui permet de fournir au + message d'erreur le contexte de la requête originelle.

+ +

Par exemple, en plus des variables d'environnement habituelles, + vous pouvez recevoir ce qui suit :

+ + +

+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png
+ REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin
+ REDIRECT_QUERY_STRING=
+ REDIRECT_REMOTE_ADDR=121.345.78.123
+ REDIRECT_REMOTE_HOST=client.example.com
+ REDIRECT_SERVER_NAME=www.example.edu
+ REDIRECT_SERVER_PORT=80
+ REDIRECT_SERVER_SOFTWARE=Apache/2.2.15
+ REDIRECT_URL=/cgi-bin/buggy.pl +

+ +

Les variables d'environnement REDIRECT_ sont + créées à partir des variables d'environnement préexistantes à la + redirection qui sont préfixées par la chaîne REDIRECT_ ; + par exemple, HTTP_USER_AGENT devient + REDIRECT_HTTP_USER_AGENT.

+ +

REDIRECT_URL, REDIRECT_STATUS, et + REDIRECT_QUERY_STRING sont systématiquement définies, + les autres variables n'étant définies que si l'en-tête + correspondant existait avant la condition d'erreur.

+ +

Aucune d'entre elles ne sera définie si votre + directive ErrorDocument + spécifie une redirection externe (toute URL commençant + par un protocole du style http:, même si elle fait + référence au même hôte que le serveur).

+ +
top
+
+

Personnalisation des messages d'erreur

+ + +

Si vous faites pointer votre directive + ErrorDocument vers certains gestionnaires + dynamiques comme les inclusions côté serveur, les scripts CGI ou + d'autres gestionnaires, vous pouvez utiliser les variables + d'environnement supplémentaires disponibles pour personnaliser + le message.

+ + +

Si la directive ErrorDname-basedocument spécifie une redirection locale + vers un script CGI, ce dernier doit ajouter un en-tête + "Status:" dans sa sortie afin de s'assurer du bon + acheminement jusqu'au client de la condition d'erreur qui a + provoqué cette redirection. Par exemple, un script Perl spécifié + par une directive ErrorDocument pourrait contenir ce qui suit + :

+ +
...
+print  "Content-type: text/html\n"; 
+printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; 
+...
+ + +

Si un script est dédié à la gestion d'une condition d'erreur + spécifique, telle que 404 Not Found, il + peut utiliser le code et le texte de l'erreur spécifiques à la + place.

+ +

Notez que si la réponse contient un en-tête + Location: (afin d'initier une redirection côté + client), le script doit émettre un en-tête approprié + (comme 302 Found). Dans le cas contraire, + l'en-tête Location: ne produira aucun effet.

+
top
+
+

Messages d'erreur personnalisés + multilingues

+ +

Vous trouverez dans la distribution du serveur HTTP Apache un + répertoire contenant des messages d'erreur personnalisés traduits en + 16 langues différentes. Pour activer cette fonctionnalité, vous + pouvez aussi inclure un fichier de configuration qui se trouve dans + le répertoire de configuration conf/extra.

+ +

Dans le fichier de configuration de votre serveur, vous trouverez + un groupe de lignes du style :

+ +
    # Multi-language error messages
+    #Include conf/extra/httpd-multilang-errordoc.conf
+ + +

Décommentez la ligne Include pour activer cette + fonctionnalité, et présenter des messages d'erreur dont le langage + sera négocié en fonction du langage préféré défini au niveau du + navigateur du client.

+ +

De plus, ces documents contiennent diverses variables + REDIRECT_, de façon à ce que l'utilisateur final + dispose d'informations supplémentaires à propos de ce qui a pu se + produire, et de ce qu'il est susceptible de faire maintenant.

+ +

Ces documents peuvent être personnalisés en fournissant autant + d'informations utiles que vous le souhaitez aux utilisateurs à + propos de votre site, et de ce qu'ils sont susceptibles d'y trouver.

+ +

Pour pouvoir utiliser cette fonctionnalité, vous devez activer + mod_include et mod_negotiation.

+ +
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/custom-error.html.ja.utf8 b/docs/manual/custom-error.html.ja.utf8 new file mode 100644 index 0000000..60721e4 --- /dev/null +++ b/docs/manual/custom-error.html.ja.utf8 @@ -0,0 +1,229 @@ + + + + + +カスタムエラーレスãƒãƒ³ã‚¹ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

カスタムエラーレスãƒãƒ³ã‚¹

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ウェブマスターãŒä½•ã‚‰ã‹ã®ã‚¨ãƒ©ãƒ¼ã‚„å•é¡Œã«å¯¾ã™ã‚‹ + Apache ã®å応を設定ã§ãるよã†ã«ã™ã‚‹è¿½åŠ æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚

+ +

サーãƒãŒã‚¨ãƒ©ãƒ¼ã‚„å•é¡Œã‚’発見ã—ãŸå ´åˆã®å応を〠+ カスタマイズã—ã¦å®šç¾©ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

スクリプトã®å®Ÿè¡ŒãŒå¤±æ•—ã—㦠"500 Server Error" + を発生ã•ã›ãŸã¨ã—ã¾ã™ã€‚ã“ã®å ´åˆã®å応をã€ã‚ˆã‚Šå¥½ã¾ã—ã„テキストやã€åˆ¥ã® + URL (内部åŠã³å¤–部) ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ç½®ãæ›ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +

+
+ +
top
+
+

動作

+ + +

å¤ã„動作

+ + +

NCSA httpd 1.3 ã¯ã€å¤ãã¦é€€å±ˆãªã‚¨ãƒ©ãƒ¼/å•é¡Œãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ + è¿”ã—ã¦ã„ã¾ã—ãŸã€‚ãã‚Œã¯ã—ã°ã—ã°ãƒ¦ãƒ¼ã‚¶ã«ã¯ç„¡æ„味ã§ã‚り〠+ ã¾ãŸãれを発生ã•ã›ãŸåŽŸå› ã‚’記録ã™ã‚‹æ–¹æ³•ã‚‚æä¾›ã—ã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚

+ + +

æ–°ã—ã„動作

+ + +
    +
  1. NCSA ã®ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä»£ã‚ã‚Šã« + ä»–ã®ãƒ†ã‚­ã‚¹ãƒˆã‚’表示
  2. + +
  3. ローカル㮠URL ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ
  4. + +
  5. 外部㮠URL ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ
  6. +
+ +

ã™ã‚‹ã‚ˆã†ã«ã‚µãƒ¼ãƒã‚’設定ã§ãã¾ã™ã€‚

+ +

別㮠URL ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ã“ã¨ã¯å½¹ã«ç«‹ã¡ã¾ã™ãŒã€ + ãã‚Œã¯èª¬æ˜Žã‚’ã—ãŸã‚Šã€ã‚ˆã‚Šæ˜Žç¢ºã«èª¤ã‚Š/å•é¡Œã‚’記録ã—ãŸã‚Šã™ã‚‹ãŸã‚ã« + 何ã‹æƒ…報をä¼ãˆã‚‰ã‚Œã‚‹ã¨ãã«é™ã‚Šã¾ã™ã€‚

+ +

ã“れを実ç¾ã™ã‚‹ãŸã‚ã«ã€ Apache ã¯æ–°ã—ã CGI ã®ã‚ˆã†ãªç’°å¢ƒå¤‰æ•°ã‚’ + 定義ã—ã¾ã™:

+ +

+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, + image/x-xbitmap, image/jpeg
+ REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX + A.09.05 9000/712)
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
+ REDIRECT_QUERY_STRING=
+ REDIRECT_REMOTE_ADDR=121.345.78.123
+ REDIRECT_REMOTE_HOST=ooh.ahhh.com
+ REDIRECT_SERVER_NAME=crash.bang.edu
+ REDIRECT_SERVER_PORT=80
+ REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
+ REDIRECT_URL=/cgi-bin/buggy.pl +

+ +

é ­ã«ä»˜ã REDIRECT_ ã«æ³¨ç›®ã—ã¦ãã ã•ã„。

+ +

å°‘ãªãã¨ã‚‚ REDIRECT_URL 㨠+ REDIRECT_QUERY_STRING ã¯æ–°ã—ã„ URL (CGI スクリプト㋠+ CGI インクルードã§ã‚ã‚‹ã¨ä»®å®šã•ã‚Œã¾ã™) ã«æ¸¡ã•ã‚Œã¾ã™ã€‚ + ä»–ã®å¤‰æ•°ã¯ã€ã‚¨ãƒ©ãƒ¼ã‚„å•é¡ŒãŒèµ·ãã‚‹å‰ã«å­˜åœ¨ã—ãŸå ´åˆã«ã ã‘存在ã—ã¾ã™ã€‚ + ã‚‚ã—ã‚ãªãŸã®è¨­å®šã—㟠ErrorDocument ㌠外部リダイレクト + (ã™ãªã‚ã¡ã€http: + ã®ã‚ˆã†ãªä½“ç³»åã‹ã‚‰å§‹ã¾ã‚‹ã™ã¹ã¦ã®ã‚‚ã®ã€‚ãŸã¨ãˆåŒã˜ãƒ›ã‚¹ãƒˆã‚’指ã—ã¦ã„ã¦ã‚‚) + ãªã‚‰ã°ã€ã“れらã¯ã¾ã£ãŸã設定ã•ã‚Œã¾ã›ã‚“。

+ +
top
+
+

設定

+ + +

AllowOverride ãŒé©åˆ‡ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€ + .htaccess ファイル㧠ErrorDocument + を使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã“ã“ã«ã€ã„ãã¤ã‹ã®ä¾‹ã‚’挙ã’ã¾ã™ã€‚

+ +

+ ErrorDocument 500 /cgi-bin/crash-recover
+ ErrorDocument 500 "Sorry, our script crashed. Oh dear"
+ ErrorDocument 500 http://xxx/
+ ErrorDocument 404 /Lame_excuses/not_found.html
+ ErrorDocument 401 /Subscription/how_to_subscribe.html +

+ +

構文

+ +

+ ErrorDocument <3-digit-code> <action> +

+ +

action (動作) ã¯ã€ä¸‹è¨˜ã®ã„ãšã‚Œã‹ã§ã™

+ +
    +
  1. 表示ã™ã‚‹ãƒ†ã‚­ã‚¹ãƒˆã€‚テキストã¯å¼•ç”¨ç¬¦ (") ã§å›²ã‚“ã§æŒ‡å®šã—ã¾ã™ã€‚
  2. + +
  3. リダイレクト先ã®å¤–部 URL
  4. + +
  5. リダイレクト先ã®ãƒ­ãƒ¼ã‚«ãƒ« URL
  6. +
+
top
+
+

カスタムエラーレスãƒãƒ³ã‚¹ã¨ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ

+ + +

スクリプト/SSI ã«è¿½åŠ ã®ç’°å¢ƒå¤‰æ•°ãŒåˆ©ç”¨å¯èƒ½ã«ãªã‚‹ã‚ˆã†ã«ã€ + リダイレクトã•ã‚ŒãŸ URL ã«å¯¾ã™ã‚‹ Apache ã®å‹•ä½œãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚

+ +

å¤ã„動作

+ + +

リダイレクトã•ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—トã¯æ¨™æº–ã® CGI + 環境変数を利用å¯èƒ½ã§ã—ãŸã€‚ã—ã‹ã—ã€ã©ã“ã‹ã‚‰ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ + ã•ã‚ŒãŸã‹ã®æƒ…å ±ã¯æä¾›ã•ã‚Œã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚

+ + +

æ–°ã—ã„動作

+ + +

リダイレクトã•ã‚ŒãŸå…ˆã®ã‚¹ã‚¯ãƒªãƒ—トãŒä½¿ç”¨å¯èƒ½ãªã‚ˆã†ã«ã€ + æ–°ã—ã„ãŸãã•ã‚“ã®ç’°å¢ƒå¤‰æ•°ãŒåˆæœŸåŒ–ã•ã‚Œã¾ã™ã€‚æ–°ã—ã„変数ã¯ã€ãã‚Œãžã‚Œ + REDIRECT_ ã§å§‹ã¾ã‚Šã¾ã™ã€‚ + REDIRECT_ ã§å§‹ã¾ã‚‹ç’°å¢ƒå¤‰æ•°ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã‚‹å‰ã«å­˜åœ¨ã—ã¦ã„㟠+ CGI 環境変数ã®é ­ã« REDIRECT_ を付ã‘ã¦ä½œæˆã•ã‚Œã¾ã™ã€‚ + ã™ãªã‚ã¡ã€HTTP_USER_AGENT 㯠+ REDIRECT_HTTP_USER_AGENT ã«ãªã‚Šã¾ã™ã€‚ + ã“れらã®æ–°ã—ã„変数ã«åŠ ãˆã¦ã€Apache ã¯ã€ + スクリプトãŒãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå…ƒã®ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’助ã‘ã‚‹ãŸã‚ã« + REDIRECT_URL 㨠REDIRECT_STATUS + を定義ã—ã¾ã™ã€‚アクセスログã«ã¯å…ƒã® URL ã¨ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚ŒãŸ URL + ã®ä¸¡æ–¹ãŒè¨˜éŒ²ã•ã‚Œã¾ã™ã€‚

+ +

ErrorDocument ㌠CGI スクリプトã¸ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’ + 指定ã—ã¦ã„ã‚‹å ´åˆã¯ã€ãれを起動ã™ã‚‹ã“ã¨ã«ãªã£ãŸã‚¨ãƒ©ãƒ¼ã®çŠ¶æ…‹ã‚’ + クライアントã¾ã§ç¢ºå®Ÿã«ä¼ãˆã‚‹ãŸã‚ã« "Status:" + ヘッダをå«ã‚€ã¹ãã§ã™ã€‚例ãˆã°ã€ErrorDocument 用㮠Perl + スクリプトã¯ä»¥ä¸‹ã®ã‚ˆã†ãªã‚‚ã®ã‚’å«ã‚€ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 +

+ +

+ ...
+ print "Content-type: text/html\n";
+ printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+ ... +

+ +

スクリプト㌠404 Not Found ã®ã‚ˆã†ãª + 特定ã®ã‚¨ãƒ©ãƒ¼ã‚³ãƒ³ãƒ‡ã‚£ã‚·ãƒ§ãƒ³ã‚’扱ã†ãŸã‚ã ã‘ã«ä½¿ã‚れる場åˆã¯ã€ + 代ã‚ã‚Šã«ç‰¹å®šã®ã‚³ãƒ¼ãƒ‰ã¨ã‚¨ãƒ©ãƒ¼ãƒ†ã‚­ã‚¹ãƒˆã‚’使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/custom-error.html.ko.euc-kr b/docs/manual/custom-error.html.ko.euc-kr new file mode 100644 index 0000000..85ae77c --- /dev/null +++ b/docs/manual/custom-error.html.ko.euc-kr @@ -0,0 +1,230 @@ + + + + + +»ç¿ëÀÚÁ¤ÀÇ ¿À·ù ÀÀ´ä - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

»ç¿ëÀÚÁ¤ÀÇ ¿À·ù ÀÀ´ä

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

À¥¸¶½ºÅÍ´Â ¿À·ù³ª ¹®Á¦°¡ ¹ß»ýÇßÀ»¶§ ¾ÆÆÄÄ¡ÀÇ ÀÀ´äÀ» + ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

+ +

¼­¹ö°¡ ¿À·ù³ª ¹®Á¦¸¦ ¹ß°ßÇßÀ»¶§ º¸³¾ »ç¿ëÀÚÁ¤ÀÇ ÀÀ´äÀ» + Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.

+ +

½ºÅ©¸³Æ®°¡ Á×Àº °æ¿ì "500 Server Error" ÀÀ´ä ´ë½Å »ç¿ëÀÚ¿¡°Ô + ´õ Ä£±ÙÇÑ ¹®±¸¸¦ »ç¿ëÇϰųª ´Ù¸¥ (°°Àº »çÀÌÆ®³ª ¿ÜºÎ »çÀÌÆ®ÀÇ) + URL·Î ¸®´ÙÀÌ·º¼ÇÀ» ÇÒ ¼ö ÀÖ´Ù.

+
+ +
top
+
+

Çൿ

+ + +

ÀÌÀü Çൿ

+ + +

NCSA httpd 1.3Àº »ç¿ëÀÚ¿¡°Ô ¹«ÀǹÌÇÏ°í Áö·çÇÑ ¿À·ù¹®À» + º¸³Â´Ù. ¹®Á¦°¡ ¹ß»ýÇÑ ÀÌÀ¯¸¦ ·Î±×¿¡ ³²±æ ¼öµµ ¾ø¾ú´Ù.

+ + +

»õ·Î¿î Çൿ

+ + +

¼­¹ö´Â ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù:

+ +
    +
  1. NCSAÀÇ °íÁ¤µÈ ¹®±¸ ´ë½Å ´Ù¸¥ ¹®±¸¸¦ º¸¿©Áְųª
  2. + +
  3. °°Àº »çÀÌÆ®ÀÇ URL·Î ¸®´ÙÀÌ·º¼ÇÇϰųª
  4. + +
  5. ¿ÜºÎ »çÀÌÆ®ÀÇ URL·Î ¸®´ÙÀÌ·º¼ÇÇÑ´Ù.
  6. +
+ +

´Ù¸¥ »çÀÌÆ®ÀÇ URL·Î ¸®´ÙÀÌ·º¼ÇÇÏ´Â °ÍÀÌ À¯¿ëÇÒ ¼ö ÀÖÁö¸¸, + ÀÌ °æ¿ì ¹®Á¦¸¦ ¼³¸íÇϰųª ·Î±×Çϴµ¥ ÇÊ¿äÇÑ Á¤º¸Áß ÀϺθ¸ + Àü´ÞµÈ´Ù.

+ +

¿À·ù¿¡ ´ëÇÑ Á¤º¸¸¦ Àü´ÞÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â CGI½ÄÀÇ »õ·Î¿î + ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÑ´Ù:

+ +

+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, + image/jpeg
+ REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 + 9000/712)
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
+ REDIRECT_QUERY_STRING=
+ REDIRECT_REMOTE_ADDR=121.345.78.123
+ REDIRECT_REMOTE_HOST=ooh.ahhh.com
+ REDIRECT_SERVER_NAME=crash.bang.edu
+ REDIRECT_SERVER_PORT=80
+ REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
+ REDIRECT_URL=/cgi-bin/buggy.pl +

+ +

REDIRECT_ Á¢µÎ»ç¿¡ ÁÖ¸ñÇ϶ó.

+ +

ÃÖ¼ÒÇÑ REDIRECT_URL°ú + REDIRECT_QUERY_STRINGÀº (cgi-script³ª + cgi-includeÀÏ) »õ URL·Î ³Ñ°ÜÁø´Ù. ´Ù¸¥ º¯¼ö´Â ¿À·ù°¡ + ¹ß»ýÇϱâ ÀÌÀü¿¡ (¿ªÁÖ; À̸§¿¡¼­ REDIRECT_¸¦ + »« ȯ°æº¯¼ö°¡) Á¸ÀçÇÑ °æ¿ì¿¡¸¸ ÀÖ´Ù. + ErrorDocument°¡ + ¿ÜºÎ·Î (°°Àº ¼­¹ö¶óµµ http:¿Í + °°Àº ½ºÅ´(scheme)À¸·Î ½ÃÀÛÇÑ´Ù¸é) ¸®´ÙÀÌ·º¼ÇÇÑ´Ù¸é + ÀÌÁß ¾î¶² °Íµµ ¼³Á¤µÇÁö ¾Ê´Â´Ù.

+ +
top
+
+

¼³Á¤

+ + +

AllowOverride°¡ + ÀûÀýÈ÷ ¼³Á¤µÇ¾ú´Ù¸é .htaccess ÆÄÀÏ¿¡¼­ + ErrorDocument¸¦ »ç¿ëÇÒ + ¼ö ÀÖ´Ù.

+ +

´ÙÀ½Àº ¿¹ÀÌ´Ù...

+ +

+ ErrorDocument 500 /cgi-bin/crash-recover
+ ErrorDocument 500 "Sorry, our script crashed. Oh dear"
+ ErrorDocument 500 http://xxx/
+ ErrorDocument 404 /Lame_excuses/not_found.html
+ ErrorDocument 401 /Subscription/how_to_subscribe.html +

+ +

¹®¹ýÀº,

+ +

+ ErrorDocument <3-digit-code> <action> +

+ +

°¡´ÉÇÑ actionÀº,

+ +
    +
  1. Ãâ·ÂÇÒ ¹®±¸. µû¿ÈÇ¥ (")¸¦ ¹®±¸ ¾Õ¿¡ ºÙÀδÙ. µÚ¿¡ ³ª¿À´Â + µû¿ÈÇ¥´Â Ãâ·ÂµÈ´Ù. ÁÖÀÇ: ¾Õ¿¡ ºÙÀº µû¿ÈÇ¥ (")´Â Ãâ·ÂµÇÁö + ¾Ê´Â´Ù.
  2. + +
  3. ¸®´ÙÀÌ·º¼ÇÇÒ ¿ÜºÎ URL.
  4. + +
  5. ¸®´ÙÀÌ·º¼ÇÇÒ ³»ºÎ URL.
  6. +
+
top
+
+

»ç¿ëÀÚÁ¤ÀÇ ¿À·ù ÀÀ´ä°ú ¸®´ÙÀÌ·º¼Ç

+ + +

URL·Î ¸®´ÙÀÌ·º¼ÇÇÏ´Â ¾ÆÆÄÄ¡ ÇൿÀº + ½ºÅ©¸³Æ®/server-include¿¡ ȯ°æº¯¼ö¸¦ ´õ ³Ñ°ÜÁÖµµ·Ï º¯°æµÇ¾ú´Ù.

+ +

ÀÌÀü Çൿ

+ + +

¸®´ÙÀÌ·º¼ÇµÇ´Â ½ºÅ©¸³Æ®¿¡ Ç¥ÁØ CGI º¯¼öµéÀÌ ³Ñ¾î°£´Ù. + ¾îµð¿¡¼­ ¸®´ÙÀÌ·º¼ÇÀÌ ÀϾ´ÂÁö ¾Ë ¼ö ¾ø´Ù.

+ + +

»õ·Î¿î Çൿ

+ + +

¸®´ÙÀÌ·º¼ÇµÈ ½ºÅ©¸³Æ®´Â »õ·Î¿î ȯ°æº¯¼öµéÀ» »ç¿ëÇÒ + ¼ö ÀÖ´Ù. ¸ðµÎ ¾Õ¿¡ REDIRECT_°¡ ºÙ¾îÀÖ´Ù. + REDIRECT_ ȯ°æº¯¼ö´Â ¿ø·¡ CGI ȯ°æº¯¼ö¸í + ¾Õ¿¡ REDIRECT_¸¦ ºÙ¿©¼­ ¸¸µç´Ù. ¿¹¸¦ + µé¾î, HTTP_USER_AGENT´Â + REDIRECT_HTTP_USER_AGENT°¡ µÇ¾ú´Ù. ÀÌ·± º¯¼ö¿¡ + Ãß°¡·Î ½ºÅ©¸³Æ®°¡ ¿ø·¡ URLÀ» ¾Ëµµ·Ï ¾ÆÆÄÄ¡´Â + REDIRECT_URL°ú REDIRECT_STATUS¸¦ + Á¤ÀÇÇÑ´Ù. ¿ø·¡ URL°ú ¸®´ÙÀÌ·º¼ÇµÈ URL ¸ðµÎ Á¢±Ù ·Î±×¿¡ + ±â·ÏÇÒ ¼ö ÀÖ´Ù.

+ +

ErrorDocument°¡ °°Àº ¼­¹ö¿¡ ÀÖ´Â CGI ½ºÅ©¸³Æ®·Î + ¸®´ÙÀÌ·º¼ÇÇÑ´Ù¸é, ½ºÅ©¸³Æ®´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¿À·ù »óȲÀ» + È®½ÇÈ÷ Àü´ÞÇϱâÀ§ÇØ Ãâ·Â¿¡ "Status:" Çì´õ + Çʵ带 Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, Perl·Î ÀÛ¼ºÇÑ ErrorDocument + ½ºÅ©¸³Æ®´Â ´ÙÀ½°ú °°´Ù:

+ +

+ ...
+ print "Content-type: text/html\n";
+ printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+ ... +

+ +

404 Not Found¿Í °°Àº ƯÁ¤ ¿À·ù + »óȲ¿¡ ´ëÇÑ ½ºÅ©¸³Æ®¶ó¸é, ´ë½Å (¿ªÁÖ; °íÁ¤µÈ) + ƯÁ¤ »óÅÂÄÚµå¿Í ¿À·ù¹®À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

(Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀ» ¿äûÇϱâÀ§ÇØ) ÀÀ´ä¿¡ + Location: Çì´õ¸¦ Æ÷ÇÔÇÑ´Ù¸é, ½ºÅ©¸³Æ®´Â + ¹Ýµå½Ã (302 Found °°Àº) ÀûÀýÇÑ + Status: Çì´õ¸¦ Ãâ·ÂÇØ¾ß ÇÔÀ» ÁÖÀÇÇ϶ó. ±×·¸Áö¾ÊÀ¸¸é + Location: Çì´õ°¡ ¾Æ¹« ¼Ò¿ë¾ø°Ô µÉ ¼ö ÀÖ´Ù.

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/custom-error.html.tr.utf8 b/docs/manual/custom-error.html.tr.utf8 new file mode 100644 index 0000000..e73afd3 --- /dev/null +++ b/docs/manual/custom-error.html.tr.utf8 @@ -0,0 +1,233 @@ + + + + + +Hata Yanıtlarının Kişiselleştirilmesi - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Hata Yanıtlarının Kişiselleştirilmesi

+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Apache HTTP Sunucusu 4xx veya 5xx HTTP durum kodları ile ilgili + olaylarda soysal hata yanıtları üretse de bu yanıtlar site + kullanıcılarına aşırı sade, bilgi vermez ve hatta korkutucu gelebilir. + Daha dostça yazılmış, İngilizce değil de kendi dilinizde ve belki + sayfalarınızın yerleşimine uygun daha hoş satırlarda özel hata yanıtları + üretmek isteyebilirsiniz.

+ +

Kişiselleştirilmiş hata yanıtları, bir hata durumuna göre tasarlanmış + herhangi bir HTTP durum kodu (yani 4xx ve 5xx kodlarından biri) için + tanımlanabilir.

+ +

Ek olarak bir değer kümesi de sağlanmıştır. Böylece hata belgeleri, Sunucu taraflı İçerik Yerleştirme kullanılarak + bu değişkenlerin değerlerine göre özelleştirilebilir. İsterseniz bunun + yerine bir CGI programı veya devingen bir eylemci (PHP, mod_perl, vs.) + kullanarak da bu değişkenlerin değerlerine göre hata sayfalarınızı + üretebilirsiniz.

+ +
+ +
top
+
+

Yapılandırma

+ +

Kişiselleştirilmiş hata belgeleri ErrorDocument yönergesi kullanılarak yapılandırılabilir. Bu + yönerge küresel bağlamda olabileceği gibi sanal konak ve dizin + bağlamlarında da kullanılabilir. AllowOverride yönergesine FileInfo + atanarak .htaccess dosyalarında da kullanılabilir.

+ +
ErrorDocument 500 "Pardon, galiba bizim betik hata verdi."
+ErrorDocument 500 /cgi-bin/hata-kurtarma
+ErrorDocument 500 http://error.example.com/server_error.html
+ErrorDocument 404 /ozuru_kabahatinden_buyuk/yok.html
+ErrorDocument 401 /Uyeler/NASIL_uye_olunur.html
+ + +

ErrorDocument yönergesinin sözdizimi:

+ +
ErrorDocument <3-rakamlı-kod> <eylem>
+ + +

eylem ÅŸunlardan biri olabilir:

+ +
    +
  1. Yönlendirmenin yapılacağı dahili adres (eylem bir "/" ile + başlıyorsa).
  2. +
  3. Yönlendirmenin yapılacağı harici adres (eylem geçerli bir + URL ise).
  4. +
  5. Gösterilecek metin (yukardakilerin hiçbiri yoksa). Birden fazla + sözcük içeriyorsa tırnak (") içine alınmalıdır.
  6. +
+ +

Yerel bir adrese yönlendirme yapılırken ek ortam değişkenleri de + atanarak yanıt daha da özelleştirilebilir. Bunlar harici URL'lere + gönderilmez.

+ +
top
+
+

Kullanılabilen Değişkenler

+ +

Hata durumunu açıklayacak veya hata günlüğüne daha açıkça + kaydedilebilecek bazı bilgilerin aktarılması koşuluyla, başka bir + adrese yönlendirme kullanışlı olabilir

+ +

Hata yönlendirmesi yapılırken bunu sağlamak için ek ortam değişkenleri + tanımlanır. Bu değişkenlerin isimleri, özgün istekle sağlanan + başlık isimlerinin önüne 'REDIRECT_' dizgesi getirilerek üretilir. + Böylece özgün istek bağlamından hata belgesi üretilebilir.

+ +

Örneğin, aşağıdaki gibi, daha yararlı olacak ek ortam değişkenleri + alabilirsiniz.

+ +

+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png
+ REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin
+ REDIRECT_QUERY_STRING=
+ REDIRECT_REMOTE_ADDR=121.345.78.123
+ REDIRECT_REMOTE_HOST=client.example.com
+ REDIRECT_SERVER_NAME=www.example.edu
+ REDIRECT_SERVER_PORT=80
+ REDIRECT_SERVER_SOFTWARE=Apache/2.2.15
+ REDIRECT_URL=/cgi-bin/buggy.pl +

+ +

REDIRECT_ ortam değişkenleri, yönlendirme öncesi varolan + ortam değişkenlerinden üretilir. Bunlar önlerine REDIRECT_ + getirilerek yeniden isimlendirilir. Örneğin, + HTTP_USER_AGENT değişkeni + REDIRECT_HTTP_USER_AGENT haline gelir.

+ +

REDIRECT_URL, REDIRECT_STATUS ve + REDIRECT_QUERY_STRING mutlaka atanır. Diğer başlıklarla + ilgili olanlar ise hata durumu öncesinde mevcut oldukları takdirde + üretilirler.

+ +

Eğer ErrorDocument hedefi bir + harici yönlendirme ise bunların hiçbiri + üretilmez (sunucunun bulunduğu konağı hedeflese bile http: + ile başlayan herşey harici yönlendirme sayılır).

+
top
+
+

Özel Hata Yanıtları

+ +

Hata yanıtınızı üretmek için sunucu taraflı içerik yerleştirme, bir + CGI betiği veya başka bir eylemciyi devingen eylemci olarak + kullanıyorsanız, bu yanıtı özelleştirmek için bu kullanıma özel + üretilmiş ortam değişkenlerini kullanmak isteyebilirsiniz.

+ +

ErrorDocument yönergesi bir CGI + betiğine bir yerel yönlendirme belirtiyorsa, hatanın kaynağı hakkında + istemciye bilgi vermek amacıyla betiğin çıktısında bir + "Status:" başlık alanına yer verilmelidir. Örneğin, bir + Perl betiği şunları içerebilirdi:

+ +
...
+print  "Content-type: text/html\n";
+printf "Status: %s durumu saptandı.\n", $ENV{"REDIRECT_STATUS"};
+...
+ + +

EÄŸer betik, 404 Not Found gibi, belli bir hata + durumunu ele almaya adanmışsa duruma özel kod ve hata metni + kullanılabilir.

+ +

EÄŸer yanıt, (istemci taraflı yönlendirme yapılırken) bir + Location: baÅŸlığı da içeriyorsa betiÄŸin çıktıya uygun bir + Status: baÅŸlığı (302 Found) eklemesinin + gerekli oluÅŸuna dikkat ediniz. Aksi takdirde, Location: + baÅŸlığı etkisiz olabilir.

+ +
top
+
+

Çok Dilli Özel Hata Belgeleri

+ +

Apache HTTP Sunucusunun kurulumunda, 16 dile çevrilmiş özel hata + iletileri belgeleri içeren bir dizin bulunmaktadır. Ayrıca, + conf/extra yaplandırma dizininde bu özelliği etkin kılmak + için yapılandırmaya dahil edilebilecek bir yapılandırma dosyası + vardır.

+ +

Sunucu yapılandırma dosyanızda şöyle satırlar görebilirsiniz:

+ +
# Multi-language error messages
+#Include conf/extra/httpd-multilang-errordoc.conf
+ + +

Bu Include satırını açıklama olmaktan çıkarırsanız + bu özelliği etkinleştirmiş olursunuz. Böylece, istemcinin tarayıcısında + belirtilmiş dil tercihine uygun dil uzlaşımlı hata iletileri + sağlanır.

+ +

Ek olarak, bu belgeler çeşitli REDIRECT_ değişkenleri + içerir. Böylece, son kullanıcıya neler olduğu ve şimdi ne yapması + beklendiği hakkında ek bilgiler sağlanabilir.

+ +

Bu belgeleri istediğiniz kadar özelleştirebilir, kullanıcıya siteniz + hakkında ve orada bulabilecekleri şeylere dair faydalı bilgiler de + sağlayabilirsiniz.

+ +

Bu özelliği kullanmak için mod_include ve + mod_negotiation etkin kılınmalıdır.

+ +
+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/API.html b/docs/manual/developer/API.html new file mode 100644 index 0000000..f178e90 --- /dev/null +++ b/docs/manual/developer/API.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: API.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/API.html.en b/docs/manual/developer/API.html.en new file mode 100644 index 0000000..60be1bc --- /dev/null +++ b/docs/manual/developer/API.html.en @@ -0,0 +1,1245 @@ + + + + + +Apache 1.3 API notes - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache 1.3 API notes

+
+

Available Languages:  en 

+
+ +

Warning

+

This document has not been updated to take into account changes made + in the 2.0 version of the Apache HTTP Server. Some of the information may + still be relevant, but please use it with care.

+
+ +

These are some notes on the Apache API and the data structures you have + to deal with, etc. They are not yet nearly complete, but hopefully, + they will help you get your bearings. Keep in mind that the API is still + subject to change as we gain experience with it. (See the TODO file for + what might be coming). However, it will be easy to adapt modules + to any changes that are made. (We have more modules to adapt than you + do).

+ +

A few notes on general pedagogical style here. In the interest of + conciseness, all structure declarations here are incomplete -- the real + ones have more slots that I'm not telling you about. For the most part, + these are reserved to one component of the server core or another, and + should be altered by modules with caution. However, in some cases, they + really are things I just haven't gotten around to yet. Welcome to the + bleeding edge.

+ +

Finally, here's an outline, to give you some bare idea of what's coming + up, and in what order:

+ + +
+ +
top
+
+

Basic concepts

+

We begin with an overview of the basic concepts behind the API, and how + they are manifested in the code.

+ +

Handlers, Modules, and Requests

+

Apache breaks down request handling into a series of steps, more or + less the same way the Netscape server API does (although this API has a + few more stages than NetSite does, as hooks for stuff I thought might be + useful in the future). These are:

+ +
    +
  • URI -> Filename translation
  • +
  • Auth ID checking [is the user who they say they are?]
  • +
  • Auth access checking [is the user authorized here?]
  • +
  • Access checking other than auth
  • +
  • Determining MIME type of the object requested
  • +
  • `Fixups' -- there aren't any of these yet, but the phase is intended + as a hook for possible extensions like SetEnv, which don't really fit well elsewhere.
  • +
  • Actually sending a response back to the client.
  • +
  • Logging the request
  • +
+ +

These phases are handled by looking at each of a succession of + modules, looking to see if each of them has a handler for the + phase, and attempting invoking it if so. The handler can typically do one + of three things:

+ +
    +
  • Handle the request, and indicate that it has done so by + returning the magic constant OK.
  • + +
  • Decline to handle the request, by returning the magic integer + constant DECLINED. In this case, the server behaves in all + respects as if the handler simply hadn't been there.
  • + +
  • Signal an error, by returning one of the HTTP error codes. This + terminates normal handling of the request, although an ErrorDocument may + be invoked to try to mop up, and it will be logged in any case.
  • +
+ +

Most phases are terminated by the first module that handles them; + however, for logging, `fixups', and non-access authentication checking, + all handlers always run (barring an error). Also, the response phase is + unique in that modules may declare multiple handlers for it, via a + dispatch table keyed on the MIME type of the requested object. Modules may + declare a response-phase handler which can handle any request, + by giving it the key */* (i.e., a wildcard MIME type + specification). However, wildcard handlers are only invoked if the server + has already tried and failed to find a more specific response handler for + the MIME type of the requested object (either none existed, or they all + declined).

+ +

The handlers themselves are functions of one argument (a + request_rec structure. vide infra), which returns an integer, + as above.

+ + +

A brief tour of a module

+

At this point, we need to explain the structure of a module. Our + candidate will be one of the messier ones, the CGI module -- this handles + both CGI scripts and the ScriptAlias config file command. It's actually a great deal + more complicated than most modules, but if we're going to have only one + example, it might as well be the one with its fingers in every place.

+ +

Let's begin with handlers. In order to handle the CGI scripts, the + module declares a response handler for them. Because of ScriptAlias, it also has handlers for the + name translation phase (to recognize ScriptAliased URIs), the type-checking phase (any + ScriptAliased request is typed + as a CGI script).

+ +

The module needs to maintain some per (virtual) server information, + namely, the ScriptAliases in + effect; the module structure therefore contains pointers to a functions + which builds these structures, and to another which combines two of them + (in case the main server and a virtual server both have ScriptAliases declared).

+ +

Finally, this module contains code to handle the ScriptAlias command itself. This particular + module only declares one command, but there could be more, so modules have + command tables which declare their commands, and describe where + they are permitted, and how they are to be invoked.

+ +

A final note on the declared types of the arguments of some of these + commands: a pool is a pointer to a resource pool + structure; these are used by the server to keep track of the memory which + has been allocated, files opened, etc., either to service a + particular request, or to handle the process of configuring itself. That + way, when the request is over (or, for the configuration pool, when the + server is restarting), the memory can be freed, and the files closed, + en masse, without anyone having to write explicit code to track + them all down and dispose of them. Also, a cmd_parms + structure contains various information about the config file being read, + and other status information, which is sometimes of use to the function + which processes a config-file command (such as ScriptAlias). With no further ado, the + module itself:

+ +

+ /* Declarations of handlers. */
+
+ int translate_scriptalias (request_rec *);
+ int type_scriptalias (request_rec *);
+ int cgi_handler (request_rec *);
+
+ /* Subsidiary dispatch table for response-phase
+  * handlers, by MIME type */
+
+ handler_rec cgi_handlers[] = {
+ + { "application/x-httpd-cgi", cgi_handler },
+ { NULL }
+
+ };
+
+ /* Declarations of routines to manipulate the
+  * module's configuration info. Note that these are
+  * returned, and passed in, as void *'s; the server
+  * core keeps track of them, but it doesn't, and can't,
+  * know their internal structure.
+  */
+
+ void *make_cgi_server_config (pool *);
+ void *merge_cgi_server_config (pool *, void *, void *);
+
+ /* Declarations of routines to handle config-file commands */
+
+ extern char *script_alias(cmd_parms *, void *per_dir_config, char *fake, + char *real);
+
+ command_rec cgi_cmds[] = {
+ + { "ScriptAlias", script_alias, NULL, RSRC_CONF, TAKE2,
+ "a fakename and a realname"},
+ { NULL }
+
+ };
+
+ module cgi_module = { +

  STANDARD_MODULE_STUFF,
+  NULL,                     /* initializer */
+  NULL,                     /* dir config creator */
+  NULL,                     /* dir merger */
+  make_cgi_server_config,   /* server config */
+  merge_cgi_server_config,  /* merge server config */
+  cgi_cmds,                 /* command table */
+  cgi_handlers,             /* handlers */
+  translate_scriptalias,    /* filename translation */
+  NULL,                     /* check_user_id */
+  NULL,                     /* check auth */
+  NULL,                     /* check access */
+  type_scriptalias,         /* type_checker */
+  NULL,                     /* fixups */
+  NULL,                     /* logger */
+  NULL                      /* header parser */
+};
+ +
top
+
+

How handlers work

+

The sole argument to handlers is a request_rec structure. + This structure describes a particular request which has been made to the + server, on behalf of a client. In most cases, each connection to the + client generates only one request_rec structure.

+ +

A brief tour of the request_rec

+

The request_rec contains pointers to a resource pool + which will be cleared when the server is finished handling the request; + to structures containing per-server and per-connection information, and + most importantly, information on the request itself.

+ +

The most important such information is a small set of character strings + describing attributes of the object being requested, including its URI, + filename, content-type and content-encoding (these being filled in by the + translation and type-check handlers which handle the request, + respectively).

+ +

Other commonly used data items are tables giving the MIME headers on + the client's original request, MIME headers to be sent back with the + response (which modules can add to at will), and environment variables for + any subprocesses which are spawned off in the course of servicing the + request. These tables are manipulated using the ap_table_get + and ap_table_set routines.

+ +
+

Note that the Content-type header value cannot + be set by module content-handlers using the ap_table_*() + routines. Rather, it is set by pointing the content_type + field in the request_rec structure to an appropriate + string. e.g.,

+

+ r->content_type = "text/html"; +

+
+ +

Finally, there are pointers to two data structures which, in turn, + point to per-module configuration structures. Specifically, these hold + pointers to the data structures which the module has built to describe + the way it has been configured to operate in a given directory (via + .htaccess files or <Directory> sections), for private data it has built in the + course of servicing the request (so modules' handlers for one phase can + pass `notes' to their handlers for other phases). There is another such + configuration vector in the server_rec data structure pointed + to by the request_rec, which contains per (virtual) server + configuration data.

+ +

Here is an abridged declaration, giving the fields most commonly + used:

+ +

+ struct request_rec {
+
+ pool *pool;
+ conn_rec *connection;
+ server_rec *server;
+
+ /* What object is being requested */
+
+ char *uri;
+ char *filename;
+ char *path_info; +

char *args;           /* QUERY_ARGS, if any */
+struct stat finfo;    /* Set by server core;
+                       * st_mode set to zero if no such file */

+ char *content_type;
+ char *content_encoding;
+
+ /* MIME header environments, in and out. Also,
+  * an array containing environment variables to
+  * be passed to subprocesses, so people can write
+  * modules to add to that environment.
+  *
+  * The difference between headers_out and
+  * err_headers_out is that the latter are printed
+  * even on error, and persist across internal
+  * redirects (so the headers printed for
+  * ErrorDocument handlers will have + them).
+  */
+
+ table *headers_in;
+ table *headers_out;
+ table *err_headers_out;
+ table *subprocess_env;
+
+ /* Info about the request itself... */
+
+

int header_only;     /* HEAD request, as opposed to GET */
+char *protocol;      /* Protocol, as given to us, or HTTP/0.9 */
+char *method;        /* GET, HEAD, POST, etc. */
+int method_number;   /* M_GET, M_POST, etc. */

+ /* Info for logging */
+
+ char *the_request;
+ int bytes_sent;
+
+ /* A flag which modules can set, to indicate that
+  * the data being returned is volatile, and clients
+  * should be told not to cache it.
+  */
+
+ int no_cache;
+
+ /* Various other config info which may change
+  * with .htaccess files
+  * These are config vectors, with one void*
+  * pointer for each module (the thing pointed
+  * to being the module's business).
+  */
+
+

void *per_dir_config;   /* Options set in config files, etc. */
+void *request_config;   /* Notes on *this* request */

+ }; +

+ + +

Where request_rec structures come from

+

Most request_rec structures are built by reading an HTTP + request from a client, and filling in the fields. However, there are a + few exceptions:

+ +
    +
  • If the request is to an imagemap, a type map (i.e., a + *.var file), or a CGI script which returned a local + `Location:', then the resource which the user requested is going to be + ultimately located by some URI other than what the client originally + supplied. In this case, the server does an internal redirect, + constructing a new request_rec for the new URI, and + processing it almost exactly as if the client had requested the new URI + directly.
  • + +
  • If some handler signaled an error, and an ErrorDocument + is in scope, the same internal redirect machinery comes into play.
  • + +
  • Finally, a handler occasionally needs to investigate `what would + happen if' some other request were run. For instance, the directory + indexing module needs to know what MIME type would be assigned to a + request for each directory entry, in order to figure out what icon to + use.

    + +

    Such handlers can construct a sub-request, using the + functions ap_sub_req_lookup_file, + ap_sub_req_lookup_uri, and ap_sub_req_method_uri; + these construct a new request_rec structure and processes it + as you would expect, up to but not including the point of actually sending + a response. (These functions skip over the access checks if the + sub-request is for a file in the same directory as the original + request).

    + +

    (Server-side includes work by building sub-requests and then actually + invoking the response handler for them, via the function + ap_run_sub_req).

    +
  • +
+ + +

Handling requests, declining, and returning + error codes

+

As discussed above, each handler, when invoked to handle a particular + request_rec, has to return an int to indicate + what happened. That can either be

+ +
    +
  • OK -- the request was handled successfully. This may or + may not terminate the phase.
  • + +
  • DECLINED -- no erroneous condition exists, but the module + declines to handle the phase; the server tries to find another.
  • + +
  • an HTTP error code, which aborts handling of the request.
  • +
+ +

Note that if the error code returned is REDIRECT, then + the module should put a Location in the request's + headers_out, to indicate where the client should be + redirected to.

+ + +

Special considerations for response + handlers

+

Handlers for most phases do their work by simply setting a few fields + in the request_rec structure (or, in the case of access + checkers, simply by returning the correct error code). However, response + handlers have to actually send a request back to the client.

+ +

They should begin by sending an HTTP response header, using the + function ap_send_http_header. (You don't have to do anything + special to skip sending the header for HTTP/0.9 requests; the function + figures out on its own that it shouldn't do anything). If the request is + marked header_only, that's all they should do; they should + return after that, without attempting any further output.

+ +

Otherwise, they should produce a request body which responds to the + client as appropriate. The primitives for this are ap_rputc + and ap_rprintf, for internally generated output, and + ap_send_fd, to copy the contents of some FILE * + straight to the client.

+ +

At this point, you should more or less understand the following piece + of code, which is the handler which handles GET requests + which have no more specific handler; it also shows how conditional + GETs can be handled, if it's desirable to do so in a + particular response handler -- ap_set_last_modified checks + against the If-modified-since value supplied by the client, + if any, and returns an appropriate code (which will, if nonzero, be + USE_LOCAL_COPY). No similar considerations apply for + ap_set_content_length, but it returns an error code for + symmetry.

+ +

+ int default_handler (request_rec *r)
+ {
+ + int errstatus;
+ FILE *f;
+
+ if (r->method_number != M_GET) return DECLINED;
+ if (r->finfo.st_mode == 0) return NOT_FOUND;
+
+ if ((errstatus = ap_set_content_length (r, r->finfo.st_size))
+     || + (errstatus = ap_set_last_modified (r, r->finfo.st_mtime)))
+ return errstatus;
+
+ f = fopen (r->filename, "r");
+
+ if (f == NULL) {
+ + log_reason("file permissions deny server access", r->filename, r);
+ return FORBIDDEN;
+
+ }
+
+ register_timeout ("send", r);
+ ap_send_http_header (r);
+
+ if (!r->header_only) send_fd (f, r);
+ ap_pfclose (r->pool, f);
+ return OK;
+
+ } +

+ +

Finally, if all of this is too much of a challenge, there are a few + ways out of it. First off, as shown above, a response handler which has + not yet produced any output can simply return an error code, in which + case the server will automatically produce an error response. Secondly, + it can punt to some other handler by invoking + ap_internal_redirect, which is how the internal redirection + machinery discussed above is invoked. A response handler which has + internally redirected should always return OK.

+ +

(Invoking ap_internal_redirect from handlers which are + not response handlers will lead to serious confusion).

+ + +

Special considerations for authentication + handlers

+

Stuff that should be discussed here in detail:

+ +
    +
  • Authentication-phase handlers not invoked unless auth is + configured for the directory.
  • + +
  • Common auth configuration stored in the core per-dir + configuration; it has accessors ap_auth_type, + ap_auth_name, and ap_requires.
  • + +
  • Common routines, to handle the protocol end of things, at + least for HTTP basic authentication + (ap_get_basic_auth_pw, which sets the + connection->user structure field + automatically, and ap_note_basic_auth_failure, + which arranges for the proper WWW-Authenticate: + header to be sent back).
  • +
+ + +

Special considerations for logging + handlers

+

When a request has internally redirected, there is the question of + what to log. Apache handles this by bundling the entire chain of redirects + into a list of request_rec structures which are threaded + through the r->prev and r->next pointers. + The request_rec which is passed to the logging handlers in + such cases is the one which was originally built for the initial request + from the client; note that the bytes_sent field will only be + correct in the last request in the chain (the one for which a response was + actually sent).

+ +
top
+
+

Resource allocation and resource pools

+

One of the problems of writing and designing a server-pool server is + that of preventing leakage, that is, allocating resources (memory, open + files, etc.), without subsequently releasing them. The resource + pool machinery is designed to make it easy to prevent this from happening, + by allowing resource to be allocated in such a way that they are + automatically released when the server is done with them.

+ +

The way this works is as follows: the memory which is allocated, file + opened, etc., to deal with a particular request are tied to a + resource pool which is allocated for the request. The pool is a + data structure which itself tracks the resources in question.

+ +

When the request has been processed, the pool is cleared. At + that point, all the memory associated with it is released for reuse, all + files associated with it are closed, and any other clean-up functions which + are associated with the pool are run. When this is over, we can be confident + that all the resource tied to the pool have been released, and that none of + them have leaked.

+ +

Server restarts, and allocation of memory and resources for per-server + configuration, are handled in a similar way. There is a configuration + pool, which keeps track of resources which were allocated while reading + the server configuration files, and handling the commands therein (for + instance, the memory that was allocated for per-server module configuration, + log files and other files that were opened, and so forth). When the server + restarts, and has to reread the configuration files, the configuration pool + is cleared, and so the memory and file descriptors which were taken up by + reading them the last time are made available for reuse.

+ +

It should be noted that use of the pool machinery isn't generally + obligatory, except for situations like logging handlers, where you really + need to register cleanups to make sure that the log file gets closed when + the server restarts (this is most easily done by using the function ap_pfopen, which also arranges for the + underlying file descriptor to be closed before any child processes, such as + for CGI scripts, are execed), or in case you are using the + timeout machinery (which isn't yet even documented here). However, there are + two benefits to using it: resources allocated to a pool never leak (even if + you allocate a scratch string, and just forget about it); also, for memory + allocation, ap_palloc is generally faster than + malloc.

+ +

We begin here by describing how memory is allocated to pools, and then + discuss how other resources are tracked by the resource pool machinery.

+ +

Allocation of memory in pools

+

Memory is allocated to pools by calling the function + ap_palloc, which takes two arguments, one being a pointer to + a resource pool structure, and the other being the amount of memory to + allocate (in chars). Within handlers for handling requests, + the most common way of getting a resource pool structure is by looking at + the pool slot of the relevant request_rec; hence + the repeated appearance of the following idiom in module code:

+ +

+ int my_handler(request_rec *r)
+ {
+ + struct my_structure *foo;
+ ...
+
+ foo = (foo *)ap_palloc (r->pool, sizeof(my_structure));
+
+ } +

+ +

Note that there is no ap_pfree -- + ap_palloced memory is freed only when the associated resource + pool is cleared. This means that ap_palloc does not have to + do as much accounting as malloc(); all it does in the typical + case is to round up the size, bump a pointer, and do a range check.

+ +

(It also raises the possibility that heavy use of + ap_palloc could cause a server process to grow excessively + large. There are two ways to deal with this, which are dealt with below; + briefly, you can use malloc, and try to be sure that all of + the memory gets explicitly freed, or you can allocate a + sub-pool of the main pool, allocate your memory in the sub-pool, and clear + it out periodically. The latter technique is discussed in the section + on sub-pools below, and is used in the directory-indexing code, in order + to avoid excessive storage allocation when listing directories with + thousands of files).

+ + +

Allocating initialized memory

+

There are functions which allocate initialized memory, and are + frequently useful. The function ap_pcalloc has the same + interface as ap_palloc, but clears out the memory it + allocates before it returns it. The function ap_pstrdup + takes a resource pool and a char * as arguments, and + allocates memory for a copy of the string the pointer points to, returning + a pointer to the copy. Finally ap_pstrcat is a varargs-style + function, which takes a pointer to a resource pool, and at least two + char * arguments, the last of which must be + NULL. It allocates enough memory to fit copies of each of + the strings, as a unit; for instance:

+ +

+ ap_pstrcat (r->pool, "foo", "/", "bar", NULL); +

+ +

returns a pointer to 8 bytes worth of memory, initialized to + "foo/bar".

+ + +

Commonly-used pools in the Apache Web + server

+

A pool is really defined by its lifetime more than anything else. + There are some static pools in http_main which are passed to various + non-http_main functions as arguments at opportune times. Here they + are:

+ +
+
permanent_pool
+
never passed to anything else, this is the ancestor of all pools
+ +
pconf
+
+
    +
  • subpool of permanent_pool
  • + +
  • created at the beginning of a config "cycle"; exists + until the server is terminated or restarts; passed to all + config-time routines, either via cmd->pool, or as the + "pool *p" argument on those which don't take pools
  • + +
  • passed to the module init() functions
  • +
+
+ +
ptemp
+
+
    +
  • sorry I lie, this pool isn't called this currently in + 1.3, I renamed it this in my pthreads development. I'm + referring to the use of ptrans in the parent... contrast + this with the later definition of ptrans in the + child.
  • + +
  • subpool of permanent_pool
  • + +
  • created at the beginning of a config "cycle"; exists + until the end of config parsing; passed to config-time + routines via cmd->temp_pool. Somewhat of a + "bastard child" because it isn't available everywhere. + Used for temporary scratch space which may be needed by + some config routines but which is deleted at the end of + config.
  • +
+
+ +
pchild
+
+
    +
  • subpool of permanent_pool
  • + +
  • created when a child is spawned (or a thread is + created); lives until that child (thread) is + destroyed
  • + +
  • passed to the module child_init functions
  • + +
  • destruction happens right after the child_exit + functions are called... (which may explain why I think + child_exit is redundant and unneeded)
  • +
+
+ +
ptrans
+
+
    +
  • should be a subpool of pchild, but currently is a + subpool of permanent_pool, see above
  • + +
  • cleared by the child before going into the accept() + loop to receive a connection
  • + +
  • used as connection->pool
  • +
+
+ +
r->pool
+
+
    +
  • for the main request this is a subpool of + connection->pool; for subrequests it is a subpool of + the parent request's pool.
  • + +
  • exists until the end of the request (i.e., + ap_destroy_sub_req, or in child_main after + process_request has finished)
  • + +
  • note that r itself is allocated from r->pool; + i.e., r->pool is first created and then r is + the first thing palloc()d from it
  • +
+
+
+ +

For almost everything folks do, r->pool is the pool to + use. But you can see how other lifetimes, such as pchild, are useful to + some modules... such as modules that need to open a database connection + once per child, and wish to clean it up when the child dies.

+ +

You can also see how some bugs have manifested themself, such as + setting connection->user to a value from + r->pool -- in this case connection exists for the + lifetime of ptrans, which is longer than + r->pool (especially if r->pool is a + subrequest!). So the correct thing to do is to allocate from + connection->pool.

+ +

And there was another interesting bug in mod_include + / mod_cgi. You'll see in those that they do this test + to decide if they should use r->pool or + r->main->pool. In this case the resource that they are + registering for cleanup is a child process. If it were registered in + r->pool, then the code would wait() for the + child when the subrequest finishes. With mod_include this + could be any old #include, and the delay can be up to 3 + seconds... and happened quite frequently. Instead the subprocess is + registered in r->main->pool which causes it to be + cleaned up when the entire request is done -- i.e., after the + output has been sent to the client and logging has happened.

+ + +

Tracking open files, etc.

+

As indicated above, resource pools are also used to track other sorts + of resources besides memory. The most common are open files. The routine + which is typically used for this is ap_pfopen, which takes a + resource pool and two strings as arguments; the strings are the same as + the typical arguments to fopen, e.g.,

+ +

+ ...
+ FILE *f = ap_pfopen (r->pool, r->filename, "r");
+
+ if (f == NULL) { ... } else { ... }
+

+ +

There is also a ap_popenf routine, which parallels the + lower-level open system call. Both of these routines arrange + for the file to be closed when the resource pool in question is + cleared.

+ +

Unlike the case for memory, there are functions to close files + allocated with ap_pfopen, and ap_popenf, namely + ap_pfclose and ap_pclosef. (This is because, on + many systems, the number of files which a single process can have open is + quite limited). It is important to use these functions to close files + allocated with ap_pfopen and ap_popenf, since to + do otherwise could cause fatal errors on systems such as Linux, which + react badly if the same FILE* is closed more than once.

+ +

(Using the close functions is not mandatory, since the + file will eventually be closed regardless, but you should consider it in + cases where your module is opening, or could open, a lot of files).

+ + +

Other sorts of resources -- cleanup functions

+

More text goes here. Describe the cleanup primitives in terms of + which the file stuff is implemented; also, spawn_process.

+ +

Pool cleanups live until clear_pool() is called: + clear_pool(a) recursively calls destroy_pool() + on all subpools of a; then calls all the cleanups for + a; then releases all the memory for a. + destroy_pool(a) calls clear_pool(a) and then + releases the pool structure itself. i.e., + clear_pool(a) doesn't delete a, it just frees + up all the resources and you can start using it again immediately.

+ + +

Fine control -- creating and dealing with sub-pools, with + a note on sub-requests

+

On rare occasions, too-free use of ap_palloc() and the + associated primitives may result in undesirably profligate resource + allocation. You can deal with such a case by creating a sub-pool, + allocating within the sub-pool rather than the main pool, and clearing or + destroying the sub-pool, which releases the resources which were + associated with it. (This really is a rare situation; the only + case in which it comes up in the standard module set is in case of listing + directories, and then only with very large directories. + Unnecessary use of the primitives discussed here can hair up your code + quite a bit, with very little gain).

+ +

The primitive for creating a sub-pool is ap_make_sub_pool, + which takes another pool (the parent pool) as an argument. When the main + pool is cleared, the sub-pool will be destroyed. The sub-pool may also be + cleared or destroyed at any time, by calling the functions + ap_clear_pool and ap_destroy_pool, respectively. + (The difference is that ap_clear_pool frees resources + associated with the pool, while ap_destroy_pool also + deallocates the pool itself. In the former case, you can allocate new + resources within the pool, and clear it again, and so forth; in the + latter case, it is simply gone).

+ +

One final note -- sub-requests have their own resource pools, which are + sub-pools of the resource pool for the main request. The polite way to + reclaim the resources associated with a sub request which you have + allocated (using the ap_sub_req_... functions) is + ap_destroy_sub_req, which frees the resource pool. Before + calling this function, be sure to copy anything that you care about which + might be allocated in the sub-request's resource pool into someplace a + little less volatile (for instance, the filename in its + request_rec structure).

+ +

(Again, under most circumstances, you shouldn't feel obliged to call + this function; only 2K of memory or so are allocated for a typical sub + request, and it will be freed anyway when the main request pool is + cleared. It is only when you are allocating many, many sub-requests for a + single main request that you should seriously consider the + ap_destroy_... functions).

+ +
top
+
+

Configuration, commands and the like

+

One of the design goals for this server was to maintain external + compatibility with the NCSA 1.3 server --- that is, to read the same + configuration files, to process all the directives therein correctly, and + in general to be a drop-in replacement for NCSA. On the other hand, another + design goal was to move as much of the server's functionality into modules + which have as little as possible to do with the monolithic server core. The + only way to reconcile these goals is to move the handling of most commands + from the central server into the modules.

+ +

However, just giving the modules command tables is not enough to divorce + them completely from the server core. The server has to remember the + commands in order to act on them later. That involves maintaining data which + is private to the modules, and which can be either per-server, or + per-directory. Most things are per-directory, including in particular access + control and authorization information, but also information on how to + determine file types from suffixes, which can be modified by + AddType and ForceType directives, and so forth. In general, + the governing philosophy is that anything which can be made + configurable by directory should be; per-server information is generally + used in the standard set of modules for information like + Aliases and Redirects which come into play before the + request is tied to a particular place in the underlying file system.

+ +

Another requirement for emulating the NCSA server is being able to handle + the per-directory configuration files, generally called + .htaccess files, though even in the NCSA server they can + contain directives which have nothing at all to do with access control. + Accordingly, after URI -> filename translation, but before performing any + other phase, the server walks down the directory hierarchy of the underlying + filesystem, following the translated pathname, to read any + .htaccess files which might be present. The information which + is read in then has to be merged with the applicable information + from the server's own config files (either from the <Directory> sections in + access.conf, or from defaults in srm.conf, which + actually behaves for most purposes almost exactly like <Directory + />).

+ +

Finally, after having served a request which involved reading + .htaccess files, we need to discard the storage allocated for + handling them. That is solved the same way it is solved wherever else + similar problems come up, by tying those structures to the per-transaction + resource pool.

+ +

Per-directory configuration structures

+

Let's look out how all of this plays out in mod_mime.c, + which defines the file typing handler which emulates the NCSA server's + behavior of determining file types from suffixes. What we'll be looking + at, here, is the code which implements the AddType and AddEncoding commands. These commands can appear in + .htaccess files, so they must be handled in the module's + private per-directory data, which in fact, consists of two separate + tables for MIME types and encoding information, and is declared as + follows:

+ +
typedef struct {
+    table *forced_types;      /* Additional AddTyped stuff */
+    table *encoding_types;    /* Added with AddEncoding... */
+} mime_dir_config;
+ +

When the server is reading a configuration file, or <Directory> section, which includes + one of the MIME module's commands, it needs to create a + mime_dir_config structure, so those commands have something + to act on. It does this by invoking the function it finds in the module's + `create per-dir config slot', with two arguments: the name of the + directory to which this configuration information applies (or + NULL for srm.conf), and a pointer to a + resource pool in which the allocation should happen.

+ +

(If we are reading a .htaccess file, that resource pool + is the per-request resource pool for the request; otherwise it is a + resource pool which is used for configuration data, and cleared on + restarts. Either way, it is important for the structure being created to + vanish when the pool is cleared, by registering a cleanup on the pool if + necessary).

+ +

For the MIME module, the per-dir config creation function just + ap_pallocs the structure above, and a creates a couple of + tables to fill it. That looks like this:

+ +

+ void *create_mime_dir_config (pool *p, char *dummy)
+ {
+ + mime_dir_config *new =
+ + (mime_dir_config *) ap_palloc (p, sizeof(mime_dir_config));
+
+
+ new->forced_types = ap_make_table (p, 4);
+ new->encoding_types = ap_make_table (p, 4);
+
+ return new;
+
+ } +

+ +

Now, suppose we've just read in a .htaccess file. We + already have the per-directory configuration structure for the next + directory up in the hierarchy. If the .htaccess file we just + read in didn't have any AddType + or AddEncoding commands, its + per-directory config structure for the MIME module is still valid, and we + can just use it. Otherwise, we need to merge the two structures + somehow.

+ +

To do that, the server invokes the module's per-directory config merge + function, if one is present. That function takes three arguments: the two + structures being merged, and a resource pool in which to allocate the + result. For the MIME module, all that needs to be done is overlay the + tables from the new per-directory config structure with those from the + parent:

+ +

+ void *merge_mime_dir_configs (pool *p, void *parent_dirv, void *subdirv)
+ {
+ + mime_dir_config *parent_dir = (mime_dir_config *)parent_dirv;
+ mime_dir_config *subdir = (mime_dir_config *)subdirv;
+ mime_dir_config *new =
+ + (mime_dir_config *)ap_palloc (p, sizeof(mime_dir_config));
+
+
+ new->forced_types = ap_overlay_tables (p, subdir->forced_types,
+ + parent_dir->forced_types);
+
+ new->encoding_types = ap_overlay_tables (p, subdir->encoding_types,
+ + parent_dir->encoding_types);
+
+
+ return new;
+
+ } +

+ +

As a note -- if there is no per-directory merge function present, the + server will just use the subdirectory's configuration info, and ignore + the parent's. For some modules, that works just fine (e.g., for + the includes module, whose per-directory configuration information + consists solely of the state of the XBITHACK), and for those + modules, you can just not declare one, and leave the corresponding + structure slot in the module itself NULL.

+ + +

Command handling

+

Now that we have these structures, we need to be able to figure out how + to fill them. That involves processing the actual AddType and AddEncoding commands. To find commands, the server looks in + the module's command table. That table contains information on how many + arguments the commands take, and in what formats, where it is permitted, + and so forth. That information is sufficient to allow the server to invoke + most command-handling functions with pre-parsed arguments. Without further + ado, let's look at the AddType + command handler, which looks like this (the AddEncoding command looks basically the same, and won't be + shown here):

+ +

+ char *add_type(cmd_parms *cmd, mime_dir_config *m, char *ct, char *ext)
+ {
+ + if (*ext == '.') ++ext;
+ ap_table_set (m->forced_types, ext, ct);
+ return NULL;
+
+ } +

+ +

This command handler is unusually simple. As you can see, it takes + four arguments, two of which are pre-parsed arguments, the third being the + per-directory configuration structure for the module in question, and the + fourth being a pointer to a cmd_parms structure. That + structure contains a bunch of arguments which are frequently of use to + some, but not all, commands, including a resource pool (from which memory + can be allocated, and to which cleanups should be tied), and the (virtual) + server being configured, from which the module's per-server configuration + data can be obtained if required.

+ +

Another way in which this particular command handler is unusually + simple is that there are no error conditions which it can encounter. If + there were, it could return an error message instead of NULL; + this causes an error to be printed out on the server's + stderr, followed by a quick exit, if it is in the main config + files; for a .htaccess file, the syntax error is logged in + the server error log (along with an indication of where it came from), and + the request is bounced with a server error response (HTTP error status, + code 500).

+ +

The MIME module's command table has entries for these commands, which + look like this:

+ +

+ command_rec mime_cmds[] = {
+ + { "AddType", add_type, NULL, OR_FILEINFO, TAKE2,
+ "a mime type followed by a file extension" },
+ { "AddEncoding", add_encoding, NULL, OR_FILEINFO, TAKE2,
+ + "an encoding (e.g., gzip), followed by a file extension" },
+
+ { NULL }
+
+ }; +

+ +

The entries in these tables are:

+
    +
  • The name of the command
  • +
  • The function which handles it
  • +
  • a (void *) pointer, which is passed in the + cmd_parms structure to the command handler --- + this is useful in case many similar commands are handled by + the same function.
  • + +
  • A bit mask indicating where the command may appear. There + are mask bits corresponding to each + AllowOverride option, and an additional mask + bit, RSRC_CONF, indicating that the command may + appear in the server's own config files, but not in + any .htaccess file.
  • + +
  • A flag indicating how many arguments the command handler + wants pre-parsed, and how they should be passed in. + TAKE2 indicates two pre-parsed arguments. Other + options are TAKE1, which indicates one + pre-parsed argument, FLAG, which indicates that + the argument should be On or Off, + and is passed in as a boolean flag, RAW_ARGS, + which causes the server to give the command the raw, unparsed + arguments (everything but the command name itself). There is + also ITERATE, which means that the handler looks + the same as TAKE1, but that if multiple + arguments are present, it should be called multiple times, + and finally ITERATE2, which indicates that the + command handler looks like a TAKE2, but if more + arguments are present, then it should be called multiple + times, holding the first argument constant.
  • + +
  • Finally, we have a string which describes the arguments + that should be present. If the arguments in the actual config + file are not as required, this string will be used to help + give a more specific error message. (You can safely leave + this NULL).
  • +
+ +

Finally, having set this all up, we have to use it. This is ultimately + done in the module's handlers, specifically for its file-typing handler, + which looks more or less like this; note that the per-directory + configuration structure is extracted from the request_rec's + per-directory configuration vector by using the + ap_get_module_config function.

+ +

+ int find_ct(request_rec *r)
+ {
+ + int i;
+ char *fn = ap_pstrdup (r->pool, r->filename);
+ mime_dir_config *conf = (mime_dir_config *)
+ + ap_get_module_config(r->per_dir_config, &mime_module);
+
+ char *type;
+
+ if (S_ISDIR(r->finfo.st_mode)) {
+ + r->content_type = DIR_MAGIC_TYPE;
+ return OK;
+
+ }
+
+ if((i=ap_rind(fn,'.')) < 0) return DECLINED;
+ ++i;
+
+ if ((type = ap_table_get (conf->encoding_types, &fn[i])))
+ {
+ + r->content_encoding = type;
+
+ /* go back to previous extension to try to use it as a type */
+ fn[i-1] = '\0';
+ if((i=ap_rind(fn,'.')) < 0) return OK;
+ ++i;
+
+ }
+
+ if ((type = ap_table_get (conf->forced_types, &fn[i])))
+ {
+ + r->content_type = type;
+
+ }
+
+ return OK; +
+ } +

+ + +

Side notes -- per-server configuration, + virtual servers, etc.

+

The basic ideas behind per-server module configuration are basically + the same as those for per-directory configuration; there is a creation + function and a merge function, the latter being invoked where a virtual + server has partially overridden the base server configuration, and a + combined structure must be computed. (As with per-directory configuration, + the default if no merge function is specified, and a module is configured + in some virtual server, is that the base configuration is simply + ignored).

+ +

The only substantial difference is that when a command needs to + configure the per-server private module data, it needs to go to the + cmd_parms data to get at it. Here's an example, from the + alias module, which also indicates how a syntax error can be returned + (note that the per-directory configuration argument to the command + handler is declared as a dummy, since the module doesn't actually have + per-directory config data):

+ +

+ char *add_redirect(cmd_parms *cmd, void *dummy, char *f, char *url)
+ {
+ + server_rec *s = cmd->server;
+ alias_server_conf *conf = (alias_server_conf *)
+ + ap_get_module_config(s->module_config,&alias_module);
+
+ alias_entry *new = ap_push_array (conf->redirects);
+
+ if (!ap_is_url (url)) return "Redirect to non-URL";
+
+ new->fake = f; new->real = url;
+ return NULL;
+
+ } +

+ +
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/debugging.html b/docs/manual/developer/debugging.html new file mode 100644 index 0000000..83dcee2 --- /dev/null +++ b/docs/manual/developer/debugging.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: debugging.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/debugging.html.en b/docs/manual/developer/debugging.html.en new file mode 100644 index 0000000..00ce08c --- /dev/null +++ b/docs/manual/developer/debugging.html.en @@ -0,0 +1,60 @@ + + + + + +Debugging Memory Allocation in APR - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Debugging Memory Allocation in APR

+
+

Available Languages:  en 

+
+ +

+ This document has been removed. +

+
+
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/documenting.html b/docs/manual/developer/documenting.html new file mode 100644 index 0000000..fef7894 --- /dev/null +++ b/docs/manual/developer/documenting.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: documenting.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: documenting.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/documenting.html.en b/docs/manual/developer/documenting.html.en new file mode 100644 index 0000000..4902eb7 --- /dev/null +++ b/docs/manual/developer/documenting.html.en @@ -0,0 +1,112 @@ + + + + + +Documenting code in Apache 2.4 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Documenting code in Apache 2.4

+
+

Available Languages:  en  | + zh-cn 

+
+ +

Apache 2.4 uses Doxygen to + document the APIs and global variables in the code. This will explain + the basics of how to document using Doxygen.

+
+
top
+
+

Brief Description

+

To start a documentation block, use /**
+ To end a documentation block, use */

+ +

In the middle of the block, there are multiple tags we can + use:

+ +

+ Description of this functions purpose
+ @param parameter_name description
+ @return description
+ @deffunc signature of the function
+

+ +

The deffunc is not always necessary. DoxyGen does not + have a full parser in it, so any prototype that use a macro in the + return type declaration is too complex for scandoc. Those functions + require a deffunc. An example (using &gt; rather + than >):

+ +

+ /**
+  * return the final element of the pathname
+  * @param pathname The path to get the final element of
+  * @return the final element of the path
+  * @tip Examples:
+  * <pre>
+  * "/foo/bar/gum" -&gt; "gum"
+  * "/foo/bar/gum/" -&gt; ""
+  * "gum" -&gt; "gum"
+  * "wi\\n32\\stuff" -&gt; "stuff"
+  * </pre>
+  * @deffunc const char * ap_filename_of_pathname(const char *pathname)
+  */ +

+ +

At the top of the header file, always include:

+

+ /**
+  * @package Name of library header
+  */ +

+ +

Doxygen uses a new HTML file for each package. The HTML files are named + {Name_of_library_header}.html, so try to be concise with your names.

+ +

For a further discussion of the possibilities please refer to + the Doxygen site.

+
+
+

Available Languages:  en  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/documenting.html.zh-cn.utf8 b/docs/manual/developer/documenting.html.zh-cn.utf8 new file mode 100644 index 0000000..dab18a1 --- /dev/null +++ b/docs/manual/developer/documenting.html.zh-cn.utf8 @@ -0,0 +1,109 @@ + + + + + +Apache 2.0 文档 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

Apache 2.0 文档

+
+

å¯ç”¨è¯­è¨€:  en  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

Apache 2.0 使用 Doxygen 从代ç ä¸­ + ç”Ÿæˆ API 和全局å˜é‡çš„文档。下é¢æ˜¯å¯¹ä½¿ç”¨ Doxygen 生æˆæ–‡æ¡£çš„简介。

+
+
top
+
+

简è¦è¯´æ˜Ž

+

使用 /** 开始文档å—
+ 使用 */ 结æŸæ–‡æ¡£å—

+ +

在文档å—中,我们å¯ä»¥ä½¿ç”¨å¤šä¸ªæ ‡ç­¾:

+ +

+ Description of this functions purpose
+ @param parameter_name description
+ @return description
+ @deffunc signature of the function
+

+ +

一般ä¸éœ€è¦ deffunc 。DoxyGen 没有完整的解æžå™¨ï¼Œæ‰€ä»¥ä»»ä½• + 在返回类型声明中使用å®çš„原型,都是太å¤æ‚了。这些函数就需è¦ä½¿ç”¨ deffunc。 + 例如 (使用 &gt; 而ä¸æ˜¯ >):

+ +

+ /**
+  * return the final element of the pathname
+  * @param pathname The path to get the final element of
+  * @return the final element of the path
+  * @tip Examples:
+  * <pre>
+  * "/foo/bar/gum" -&gt; "gum"
+  * "/foo/bar/gum/" -&gt; ""
+  * "gum" -&gt; "gum"
+  * "wi\\n32\\stuff" -&gt; "stuff"
+  * </pre>
+  * @deffunc const char * ap_filename_of_pathname(const char *pathname)
+  */ +

+ +

总是在头文件开始包å«:

+

+ /**
+  * @package Name of library header
+  */ +

+ +

Doxygen 为æ¯ä¸ªåŒ…生æˆä¸€ä¸ªæ–°çš„ HTML 文件,å字是 + {Name_of_library_header}.html,所以请简化å称。

+ +

更深入的讨论,请å‚è§ + Doxygen 站点。

+
+
+

å¯ç”¨è¯­è¨€:  en  | + zh-cn 

+
top

评论

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/filters.html b/docs/manual/developer/filters.html new file mode 100644 index 0000000..48559da --- /dev/null +++ b/docs/manual/developer/filters.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: filters.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/filters.html.en b/docs/manual/developer/filters.html.en new file mode 100644 index 0000000..61971b5 --- /dev/null +++ b/docs/manual/developer/filters.html.en @@ -0,0 +1,234 @@ + + + + + +How filters work in Apache 2.0 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

How filters work in Apache 2.0

+
+

Available Languages:  en 

+
+ +

Warning

+

This is a cut 'n paste job from an email + (<022501c1c529$f63a9550$7f00000a@KOJ>) and only reformatted for + better readability. It's not up to date but may be a good start for + further research.

+
+
+ +
top
+
+

Filter Types

+

There are three basic filter types (each of these is actually broken + down into two categories, but that comes later).

+ +
+
CONNECTION
+
Filters of this type are valid for the lifetime of this connection. + (AP_FTYPE_CONNECTION, AP_FTYPE_NETWORK)
+ +
PROTOCOL
+
Filters of this type are valid for the lifetime of this request from + the point of view of the client, this means that the request is valid + from the time that the request is sent until the time that the response + is received. (AP_FTYPE_PROTOCOL, + AP_FTYPE_TRANSCODE)
+ +
RESOURCE
+
Filters of this type are valid for the time that this content is used + to satisfy a request. For simple requests, this is identical to + PROTOCOL, but internal redirects and sub-requests can change + the content without ending the request. (AP_FTYPE_RESOURCE, + AP_FTYPE_CONTENT_SET)
+
+ +

It is important to make the distinction between a protocol and a + resource filter. A resource filter is tied to a specific resource, it + may also be tied to header information, but the main binding is to a + resource. If you are writing a filter and you want to know if it is + resource or protocol, the correct question to ask is: "Can this filter + be removed if the request is redirected to a different resource?" If + the answer is yes, then it is a resource filter. If it is no, then it + is most likely a protocol or connection filter. I won't go into + connection filters, because they seem to be well understood. With this + definition, a few examples might help:

+ +
+
Byterange
+
We have coded it to be inserted for all requests, and it is removed + if not used. Because this filter is active at the beginning of all + requests, it can not be removed if it is redirected, so this is a + protocol filter.
+ +
http_header
+
This filter actually writes the headers to the network. This is + obviously a required filter (except in the asis case which is special + and will be dealt with below) and so it is a protocol filter.
+ +
Deflate
+
The administrator configures this filter based on which file has been + requested. If we do an internal redirect from an autoindex page to an + index.html page, the deflate filter may be added or removed based on + config, so this is a resource filter.
+
+ +

The further breakdown of each category into two more filter types is + strictly for ordering. We could remove it, and only allow for one + filter type, but the order would tend to be wrong, and we would need to + hack things to make it work. Currently, the RESOURCE filters + only have one filter type, but that should change.

+
top
+
+

How are filters inserted?

+

This is actually rather simple in theory, but the code is + complex. First of all, it is important that everybody realize that + there are three filter lists for each request, but they are all + concatenated together:

+
    +
  • r->output_filters (corresponds to RESOURCE)
  • +
  • r->proto_output_filters (corresponds to PROTOCOL)
  • +
  • r->connection->output_filters (corresponds to CONNECTION)
  • +
+ +

The problem previously, was that we used a singly linked list to create the filter stack, and we + started from the "correct" location. This means that if I had a + RESOURCE filter on the stack, and I added a + CONNECTION filter, the CONNECTION filter would + be ignored. This should make sense, because we would insert the connection + filter at the top of the c->output_filters list, but the end + of r->output_filters pointed to the filter that used to be + at the front of c->output_filters. This is obviously wrong. + The new insertion code uses a doubly linked list. This has the advantage + that we never lose a filter that has been inserted. Unfortunately, it comes + with a separate set of headaches.

+ +

The problem is that we have two different cases were we use subrequests. + The first is to insert more data into a response. The second is to + replace the existing response with an internal redirect. These are two + different cases and need to be treated as such.

+ +

In the first case, we are creating the subrequest from within a handler + or filter. This means that the next filter should be passed to + make_sub_request function, and the last resource filter in the + sub-request will point to the next filter in the main request. This + makes sense, because the sub-request's data needs to flow through the + same set of filters as the main request. A graphical representation + might help:

+ +
Default_handler --> includes_filter --> byterange --> ...
+ +

If the includes filter creates a sub request, then we don't want the + data from that sub-request to go through the includes filter, because it + might not be SSI data. So, the subrequest adds the following:

+ +
Default_handler --> includes_filter -/-> byterange --> ...
+                                    /
+Default_handler --> sub_request_core
+ +

What happens if the subrequest is SSI data? Well, that's easy, the + includes_filter is a resource filter, so it will be added to + the sub request in between the Default_handler and the + sub_request_core filter.

+ +

The second case for sub-requests is when one sub-request is going to + become the real request. This happens whenever a sub-request is created + outside of a handler or filter, and NULL is passed as the next filter to + the make_sub_request function.

+ +

In this case, the resource filters no longer make sense for the new + request, because the resource has changed. So, instead of starting from + scratch, we simply point the front of the resource filters for the + sub-request to the front of the protocol filters for the old request. + This means that we won't lose any of the protocol filters, neither will + we try to send this data through a filter that shouldn't see it.

+ +

The problem is that we are using a doubly-linked list for our filter + stacks now. But, you should notice that it is possible for two lists to + intersect in this model. So, you do you handle the previous pointer? + This is a very difficult question to answer, because there is no "right" + answer, either method is equally valid. I looked at why we use the + previous pointer. The only reason for it is to allow for easier + addition of new servers. With that being said, the solution I chose was + to make the previous pointer always stay on the original request.

+ +

This causes some more complex logic, but it works for all cases. My + concern in having it move to the sub-request, is that for the more + common case (where a sub-request is used to add data to a response), the + main filter chain would be wrong. That didn't seem like a good idea to + me.

+
top
+
+

Asis

+

The final topic. :-) Mod_Asis is a bit of a hack, but the + handler needs to remove all filters except for connection filters, and + send the data. If you are using mod_asis, all other + bets are off.

+
top
+
+

Explanations

+

The absolutely last point is that the reason this code was so hard to + get right, was because we had hacked so much to force it to work. I + wrote most of the hacks originally, so I am very much to blame. + However, now that the code is right, I have started to remove some + hacks. Most people should have seen that the reset_filters + and add_required_filters functions are gone. Those inserted + protocol level filters for error conditions, in fact, both functions did + the same thing, one after the other, it was really strange. Because we + don't lose protocol filters for error cases any more, those hacks went away. + The HTTP_HEADER, Content-length, and + Byterange filters are all added in the + insert_filters phase, because if they were added earlier, we + had some interesting interactions. Now, those could all be moved to be + inserted with the HTTP_IN, CORE, and + CORE_IN filters. That would make the code easier to + follow.

+
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/hooks.html b/docs/manual/developer/hooks.html new file mode 100644 index 0000000..75c3cad --- /dev/null +++ b/docs/manual/developer/hooks.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: hooks.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/hooks.html.en b/docs/manual/developer/hooks.html.en new file mode 100644 index 0000000..30aa6f9 --- /dev/null +++ b/docs/manual/developer/hooks.html.en @@ -0,0 +1,261 @@ + + + + + +Hook Functions in the Apache HTTP Server 2.x - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Hook Functions in the Apache HTTP Server 2.x

+
+

Available Languages:  en 

+
+ +

Warning

+

This document is still in development and may be partially out of + date.

+
+ +

In general, a hook function is one that the Apache HTTP Server + will call at some point during the processing of a request. + Modules can provide functions that are called, and specify when + they get called in comparison to other modules.

+
+ +
top
+
+

Core Hooks

+

The httpd's core modules offer a predefinined list of hooks + used during the standard request processing + phase. Creating a new hook will expose a function that + implements it (see sections below) but it is essential to understand that you will not + extend the httpd's core hooks. Their presence and order in the request processing is in fact + a consequence of how they are called in server/request.c + (check this section + for an overview). The core hooks are listed in the + doxygen documentation.

+ +

Reading guide for developing modules and + request processing before proceeding is + highly recommended. +

+
top
+
+

Creating a hook function

+

In order to create a new hook, four things need to be + done:

+ +

Declare the hook function

+

Use the AP_DECLARE_HOOK macro, which needs to be given + the return type of the hook function, the name of the hook, and the + arguments. For example, if the hook returns an int and + takes a request_rec * and an int and is + called do_something, then declare it like this:

+
AP_DECLARE_HOOK(int, do_something, (request_rec *r, int n))
+ + +

This should go in a header which modules will include if + they want to use the hook.

+ + +

Create the hook structure

+

Each source file that exports a hook has a private structure + which is used to record the module functions that use the hook. + This is declared as follows:

+ +
APR_HOOK_STRUCT(
+  APR_HOOK_LINK(do_something)
+  ...
+)
+ + + +

Implement the hook caller

+

The source file that exports the hook has to implement a + function that will call the hook. There are currently three + possible ways to do this. In all cases, the calling function is + called ap_run_hookname().

+ +

Void hooks

+

If the return value of a hook is void, then all the + hooks are called, and the caller is implemented like this:

+ +
AP_IMPLEMENT_HOOK_VOID(do_something, (request_rec *r, int n), (r, n))
+ + +

The second and third arguments are the dummy argument + declaration and the dummy arguments as they will be used when + calling the hook. In other words, this macro expands to + something like this:

+ +
void ap_run_do_something(request_rec *r, int n)
+{
+    ...
+    do_something(r, n);
+}
+ + + +

Hooks that return a value

+

If the hook returns a value, then it can either be run until + the first hook that does something interesting, like so:

+ +
AP_IMPLEMENT_HOOK_RUN_FIRST(int, do_something, (request_rec *r, int n), (r, n), DECLINED)
+ + +

The first hook that does not return DECLINED + stops the loop and its return value is returned from the hook + caller. Note that DECLINED is the traditional + hook return value meaning "I didn't do anything", but it can be + whatever suits you.

+ +

Alternatively, all hooks can be run until an error occurs. + This boils down to permitting two return values, one of + which means "I did something, and it was OK" and the other + meaning "I did nothing". The first function that returns a + value other than one of those two stops the loop, and its + return is the return value. Declare these like so:

+ +
AP_IMPLEMENT_HOOK_RUN_ALL(int, do_something, (request_rec *r, int n), (r, n), OK, DECLINED)
+ + +

Again, OK and DECLINED are the traditional + values. You can use what you want.

+ + + +

Call the hook callers

+

At appropriate moments in the code, call the hook caller, + like so:

+ +
int n, ret;
+request_rec *r;
+
+ret=ap_run_do_something(r, n);
+ + +
top
+
+

Hooking the hook

+

A module that wants a hook to be called needs to do two + things.

+ +

Implement the hook function

+

Include the appropriate header, and define a static function + of the correct type:

+ +
static int my_something_doer(request_rec *r, int n)
+{
+    ...
+    return OK;
+}
+ + + +

Add a hook registering function

+

During initialisation, the server will call each modules hook + registering function, which is included in the module + structure:

+ +
static void my_register_hooks()
+{
+    ap_hook_do_something(my_something_doer, NULL, NULL, APR_HOOK_MIDDLE);
+}
+
+mode MODULE_VAR_EXPORT my_module =
+{
+    ...
+    my_register_hooks       /* register hooks */
+};
+ + + +

Controlling hook calling order

+

In the example above, we didn't use the three arguments in + the hook registration function that control calling order of + all the functions registered within the hook. + There are two mechanisms for doing this. The first, rather + crude, method, allows us to specify roughly where the hook is + run relative to other modules. The final argument control this. + There are three possible values: APR_HOOK_FIRST, + APR_HOOK_MIDDLE and APR_HOOK_LAST.

+ +

All modules using any particular value may be run in any + order relative to each other, but, of course, all modules using + APR_HOOK_FIRST will be run before APR_HOOK_MIDDLE + which are before APR_HOOK_LAST. Modules that don't care + when they are run should use APR_HOOK_MIDDLE. These + values are spaced out, so that positions like APR_HOOK_FIRST-2 + are possible to hook slightly earlier than other functions.

+ +

Note that there are two more values, + APR_HOOK_REALLY_FIRST and APR_HOOK_REALLY_LAST. These + should only be used by the hook exporter.

+ +

The other method allows finer control. When a module knows + that it must be run before (or after) some other modules, it + can specify them by name. The second (third) argument is a + NULL-terminated array of strings consisting of the names of + modules that must be run before (after) the current module. For + example, suppose we want "mod_xyz.c" and "mod_abc.c" to run + before we do, then we'd hook as follows:

+ +
static void register_hooks()
+{
+    static const char * const aszPre[] = { "mod_xyz.c", "mod_abc.c", NULL };
+
+    ap_hook_do_something(my_something_doer, aszPre, NULL, APR_HOOK_MIDDLE);
+}
+ + +

Note that the sort used to achieve this is stable, so + ordering set by APR_HOOK_ORDER is preserved, as far + as is possible.

+ + +
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/index.html b/docs/manual/developer/index.html new file mode 100644 index 0000000..d79f31b --- /dev/null +++ b/docs/manual/developer/index.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/index.html.en b/docs/manual/developer/index.html.en new file mode 100644 index 0000000..48b834d --- /dev/null +++ b/docs/manual/developer/index.html.en @@ -0,0 +1,89 @@ + + + + + +Developer Documentation for the Apache HTTP Server 2.4 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Developer Documentation for the Apache HTTP Server 2.4

+
+

Available Languages:  en  | + zh-cn 

+
+ +

Warning

+

Many of the documents listed here are in need of update. + They are in different stages of progress. + Please be patient and follow this link + to propose a fix or point out any error/discrepancy.

+
+
+ +
top
+
top
+
top
+
+
+

Available Languages:  en  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/developer/index.html.zh-cn.utf8 b/docs/manual/developer/index.html.zh-cn.utf8 new file mode 100644 index 0000000..b4e21ae --- /dev/null +++ b/docs/manual/developer/index.html.zh-cn.utf8 @@ -0,0 +1,88 @@ + + + + + +Apache 2.0 å¼€å‘者文档 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

Apache 2.0 å¼€å‘者文档

+
+

å¯ç”¨è¯­è¨€:  en  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

å¼€å‘者页é¢çš„许多文档都æ¥è‡ªäºŽ Apache 1.3。当更新到 Apache 2 + 时,它们å¯èƒ½ä½äºŽä¸åŒçš„阶段。请è€å¿ƒç­‰å¾…ï¼Œæˆ–è€…ç›´æŽ¥å‘ + dev@httpd.apache.org 邮件列表报告开å‘者页é¢çš„差异或错误。

+
+ +
top
+
top
+
+
+

å¯ç”¨è¯­è¨€:  en  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/developer/modguide.html b/docs/manual/developer/modguide.html new file mode 100644 index 0000000..3e5c834 --- /dev/null +++ b/docs/manual/developer/modguide.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: modguide.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/modguide.html.en b/docs/manual/developer/modguide.html.en new file mode 100644 index 0000000..3ac127e --- /dev/null +++ b/docs/manual/developer/modguide.html.en @@ -0,0 +1,1739 @@ + + + + + +Developing modules for the Apache HTTP Server 2.4 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Developing modules for the Apache HTTP Server 2.4

+
+

Available Languages:  en 

+
+ +

This document explains how you can develop modules for the Apache HTTP +Server 2.4

+
+ +
top
+
+

Introduction

+

What we will be discussing in this document

+

+This document will discuss how you can create modules for the Apache +HTTP Server 2.4, by exploring an example module called +mod_example. In the first part of this document, the purpose +of this module will be to calculate and print out various digest values for +existing files on your web server, whenever we access the URL +http://hostname/filename.sum. For instance, if we want to know the +MD5 digest value of the file located at +http://www.example.com/index.html, we would visit +http://www.example.com/index.html.sum. +

+ +

+In the second part of this document, which deals with configuration +directive and context awareness, we will be looking at a module that simply +writes out its own configuration to the client. +

+ + +

Prerequisites

+

+First and foremost, you are expected to have a basic knowledge of how the C +programming language works. In most cases, we will try to be as pedagogical +as possible and link to documents describing the functions used in the +examples, but there are also many cases where it is necessary to either +just assume that "it works" or do some digging yourself into what the hows +and whys of various function calls. +

+

+Lastly, you will need to have a basic understanding of how modules are +loaded and configured in the Apache HTTP Server, as well as how to get the headers for +Apache if you do not have them already, as these are needed for compiling +new modules. +

+ +

Compiling your module

+

+To compile the source code we are building in this document, we will be +using APXS. Assuming your source file +is called mod_example.c, compiling, installing and activating the module is +as simple as: +

+
apxs -i -a -c mod_example.c
+ + +
top
+
+

Defining a module

+

+Module name tags
+Every module starts with the same declaration, or name tag if you will, +that defines a module as a separate entity within Apache:

+ + + +
module AP_MODULE_DECLARE_DATA   example_module =
+{ 
+    STANDARD20_MODULE_STUFF,
+    create_dir_conf, /* Per-directory configuration handler */
+    merge_dir_conf,  /* Merge handler for per-directory configurations */
+    create_svr_conf, /* Per-server configuration handler */
+    merge_svr_conf,  /* Merge handler for per-server configurations */
+    directives,      /* Any directives we may have for httpd */
+    register_hooks   /* Our hook registering function */
+};
+ + + +

+This bit of code lets the server know that we have now registered a new module +in the system, and that its name is example_module. The name +of the module is used primarily for two things:
+

+
    +
  • Letting the server know how to load the module using the LoadModule
  • +
  • Setting up a namespace for the module to use in configurations
  • +
+

+For now, we're only concerned with the first purpose of the module name, +which comes into play when we need to load the module: +

+
LoadModule example_module modules/mod_example.so
+ +

+In essence, this tells the server to open up mod_example.so and look for a module +called example_module. +

+

+Within this name tag of ours is also a bunch of references to how we would +like to handle things: Which directives do we respond to in a configuration +file or .htaccess, how do we operate within specific contexts, and what +handlers are we interested in registering with the Apache HTTP service. We'll +return to all these elements later in this document. +

+
top
+
+

Getting started: Hooking into the server

+

An introduction to hooks

+

+When handling requests in Apache HTTP Server 2.4, the first thing you will need to do is +create a hook into the request handling process. A hook is essentially a +message telling the server that you are willing to either serve or at least +take a glance at certain requests given by clients. All handlers, whether +it's mod_rewrite, mod_authn_*, mod_proxy and so on, are hooked into +specific parts of the request process. As you are probably aware, modules +serve different purposes; Some are authentication/authorization handlers, +others are file or script handlers while some third modules rewrite URIs or +proxies content. Furthermore, in the end, it is up to the user of the server +how and when each module will come into place. Thus, the server itself does not +presume to know which module is responsible for handling a specific +request, and will ask each module whether they have an interest in a given +request or not. It is then up to each module to either gently decline +serving a request, accept serving it or flat out deny the request from +being served, as authentication/authorization modules do:
+Hook handling in httpd
+To make it a bit easier for handlers such as our mod_example to know +whether the client is requesting content we should handle or not, the server +has directives for hinting to modules whether their assistance is needed or +not. Two of these are AddHandler +and SetHandler. Let's take a look at +an example using AddHandler. In +our example case, we want every request ending with .sum to be served by +mod_example, so we'll add a configuration directive that tells +the server to do just that: +

+
AddHandler example-handler .sum
+ +

+What this tells the server is the following: Whenever we receive a request +for a URI ending in .sum, we are to let all modules know that we are +looking for whoever goes by the name of "example-handler" . +Thus, when a request is being served that ends in .sum, the server will let all +modules know, that this request should be served by "example-handler +". As you will see later, when we start building mod_example, we will +check for this handler tag relayed by AddHandler and reply to +the server based on the value of this tag. +

+ +

Hooking into httpd

+

+To begin with, we only want to create a simple handler that replies to the +client browser when a specific URL is requested, so we won't bother setting +up configuration handlers and directives just yet. Our initial module +definition will look like this:

+ + + +
module AP_MODULE_DECLARE_DATA   example_module =
+{
+    STANDARD20_MODULE_STUFF,
+    NULL,
+    NULL,
+    NULL,
+    NULL,
+    NULL,
+    register_hooks   /* Our hook registering function */
+};
+ + + + +

This lets the server know that we are not interested in anything fancy, we +just want to hook onto the requests and possibly handle some of them.

+ +

The reference in our example declaration, register_hooks +is the name of a function we will create to manage how we hook onto the +request process. In this example module, the function has just one purpose; +To create a simple hook that gets called after all the rewrites, access +control etc has been handled. Thus, we will let the server know that we want +to hook into its process as one of the last modules: +

+ + +
static void register_hooks(apr_pool_t *pool)
+{
+    /* Create a hook in the request handler, so we get called when a request arrives */
+    ap_hook_handler(example_handler, NULL, NULL, APR_HOOK_LAST);
+}
+ + + +

+The example_handler reference is the function that will handle +the request. We will discuss how to create a handler in the next chapter. +

+ +

Other useful hooks

+

+Hooking into the request handling phase is but one of many hooks that you +can create. Some other ways of hooking are: +

+
    +
  • ap_hook_child_init: Place a hook that executes when a child process is spawned (commonly used for initializing modules after the server has forked)
  • +
  • ap_hook_pre_config: Place a hook that executes before any configuration data has been read (very early hook)
  • +
  • ap_hook_post_config: Place a hook that executes after configuration has been parsed, but before the server has forked
  • +
  • ap_hook_pre_translate_name: Place a hook that executes when a URI needs to be translated into a filename on the server, before decoding
  • +
  • ap_hook_translate_name: Place a hook that executes when a URI needs to be translated into a filename on the server (think mod_rewrite)
  • +
  • ap_hook_quick_handler: Similar to ap_hook_handler, except it is run before any other request hooks (translation, auth, fixups etc)
  • +
  • ap_hook_log_transaction: Place a hook that executes when the server is about to add a log entry of the current request
  • +
+ + +
top
+
+

Building a handler

+

+A handler is essentially a function that receives a callback when a request +to the server is made. It is passed a record of the current request (how it was +made, which headers and requests were passed along, who's giving the +request and so on), and is put in charge of either telling the server that it's +not interested in the request or handle the request with the tools provided. +

+

A simple "Hello, world!" +handler

+

Let's start off by making a very simple request handler +that does the following: +

+
    +
  1. Check that this is a request that should be served by "example-handler"
  2. +
  3. Set the content type of our output to text/html
  4. +
  5. Write "Hello, world!" back to the client browser
  6. +
  7. Let the server know that we took care of this request and everything went fine
  8. +
+

+In C code, our example handler will now look like this: +

+ + +
static int example_handler(request_rec *r)
+{
+    /* First off, we need to check if this is a call for the "example-handler" handler.
+     * If it is, we accept it and do our things, if not, we simply return DECLINED,
+     * and the server will try somewhere else.
+     */
+    if (!r->handler || strcmp(r->handler, "example-handler")) return (DECLINED);
+    
+    /* Now that we are handling this request, we'll write out "Hello, world!" to the client.
+     * To do so, we must first set the appropriate content type, followed by our output.
+     */
+    ap_set_content_type(r, "text/html");
+    ap_rprintf(r, "Hello, world!");
+    
+    /* Lastly, we must tell the server that we took care of this request and everything went fine.
+     * We do so by simply returning the value OK to the server.
+     */
+    return OK;
+}
+ + + +

+Now, we put all we have learned together and end up with a program that +looks like +mod_example_1.c +. The functions used in this example will be explained later in the section +"Some useful functions you should know". +

+ +

The request_rec structure

+

The most essential part of any request is the request record +. In a call to a handler function, this is represented by the +request_rec* structure passed along with every call that is made. +This struct, typically just referred to as r in modules, +contains all the information you need for your module to fully process any +HTTP request and respond accordingly.

Some key elements of the +request_rec structure are: +

+
    +
  • r->handler (char*): Contains the name of the handler the server is currently asking to do the handling of this request
  • +
  • r->method (char*): Contains the HTTP method being used, f.x. GET or POST
  • +
  • r->filename (char*): Contains the translated filename the client is requesting
  • +
  • r->args (char*): Contains the query string of the request, if any
  • +
  • r->headers_in (apr_table_t*): Contains all the headers sent by the client
  • +
  • r->connection (conn_rec*): A record containing information about the current connection
  • +
  • r->user (char*): If the URI requires authentication, this is set to the username provided
  • +
  • r->useragent_ip (char*): The IP address of the client connecting to us
  • +
  • r->pool (apr_pool_t*): The memory pool of this request. We'll discuss this in the +"Memory management" chapter.
  • +
+

+A complete list of all the values contained within the request_rec structure can be found in +the httpd.h header +file or at http://ci.apache.org/projects/httpd/trunk/doxygen/structrequest__rec.html. +

+ + +

+Let's try out some of these variables in another example handler:
+

+ + +
static int example_handler(request_rec *r)
+{
+    /* Set the appropriate content type */
+    ap_set_content_type(r, "text/html");
+
+    /* Print out the IP address of the client connecting to us: */
+    ap_rprintf(r, "<h2>Hello, %s!</h2>", r->useragent_ip);
+    
+    /* If we were reached through a GET or a POST request, be happy, else sad. */
+    if ( !strcmp(r->method, "POST") || !strcmp(r->method, "GET") ) {
+        ap_rputs("You used a GET or a POST method, that makes us happy!<br/>", r);
+    }
+    else {
+        ap_rputs("You did not use POST or GET, that makes us sad :(<br/>", r);
+    }
+
+    /* Lastly, if there was a query string, let's print that too! */
+    if (r->args) {
+        ap_rprintf(r, "Your query string was: %s", r->args);
+    }
+    return OK;
+}
+ + + + + +

Return values

+

+Apache relies on return values from handlers to signify whether a request +was handled or not, and if so, whether the request went well or not. If a +module is not interested in handling a specific request, it should always +return the value DECLINED. If it is handling a request, it +should either return the generic value OK, or a specific HTTP +status code, for example: +

+ + +
static int example_handler(request_rec *r)
+{
+    /* Return 404: Not found */
+    return HTTP_NOT_FOUND;
+}
+ + + +

+Returning OK or a HTTP status code does not necessarily mean +that the request will end. The server may still have other handlers that are +interested in this request, for instance the logging modules which, upon a +successful request, will write down a summary of what was requested and how +it went. To do a full stop and prevent any further processing after your +module is done, you can return the value DONE to let the server +know that it should cease all activity on this request and carry on with +the next, without informing other handlers. +
+General response codes: +

+
    +
  • DECLINED: We are not handling this request
  • +
  • OK: We handled this request and it went well
  • +
  • DONE: We handled this request and the server should just close this thread without further processing
  • +
+

+HTTP specific return codes (excerpt): +

+
    +
  • HTTP_OK (200): Request was okay
  • +
  • HTTP_MOVED_PERMANENTLY (301): The resource has moved to a new URL
  • +
  • HTTP_UNAUTHORIZED (401): Client is not authorized to visit this page
  • +
  • HTTP_FORBIDDEN (403): Permission denied
  • +
  • HTTP_NOT_FOUND (404): File not found
  • +
  • HTTP_INTERNAL_SERVER_ERROR (500): Internal server error (self explanatory)
  • +
+ + +

Some useful functions you should know

+ +
    +
  • + ap_rputs(const char *string, request_rec *r):
    + Sends a string of text to the client. This is a shorthand version of + ap_rwrite. + + + +
    ap_rputs("Hello, world!", r);
    + + + + +
  • +
  • + + ap_rprintf:
    + This function works just like printf, except it sends the result to the client. + + + +
    ap_rprintf(r, "Hello, %s!", r->useragent_ip);
    + + + +
  • +
  • + + ap_set_content_type(request_rec *r, const char *type):
    + Sets the content type of the output you are sending. + + + +
    ap_set_content_type(r, "text/plain"); /* force a raw text output */
    + + + +
  • + + +
+ + +

Memory management

+

+Managing your resources in Apache HTTP Server 2.4 is quite easy, thanks to the memory pool +system. In essence, each server, connection and request have their own +memory pool that gets cleaned up when its scope ends, e.g. when a request +is done or when a server process shuts down. All your module needs to do is +latch onto this memory pool, and you won't have to worry about having to +clean up after yourself - pretty neat, huh? +

+ +

+In our module, we will primarily be allocating memory for each request, so +it's appropriate to use the r->pool +reference when creating new objects. A few of the functions for allocating +memory within a pool are: +

+
    +
  • void* apr_palloc( +apr_pool_t *p, apr_size_t size): Allocates size number of bytes in the pool for you
  • +
  • void* apr_pcalloc( +apr_pool_t *p, apr_size_t size): Allocates size number of bytes in the pool for you and sets all bytes to 0
  • +
  • char* apr_pstrdup( +apr_pool_t *p, const char *s): Creates a duplicate of the string s. This is useful for copying constant values so you can edit them
  • +
  • char* apr_psprintf( +apr_pool_t *p, const char *fmt, ...): Similar to sprintf, except the server supplies you with an appropriately allocated target variable
  • +
+ +

Let's put these functions into an example handler:

+ + + +
static int example_handler(request_rec *r)
+{
+    const char *original = "You can't edit this!";
+    char *copy;
+    int *integers;
+    
+    /* Allocate space for 10 integer values and set them all to zero. */
+    integers = apr_pcalloc(r->pool, sizeof(int)*10); 
+    
+    /* Create a copy of the 'original' variable that we can edit. */
+    copy = apr_pstrdup(r->pool, original);
+    return OK;
+}
+ + + +

+This is all well and good for our module, which won't need any +pre-initialized variables or structures. However, if we wanted to +initialize something early on, before the requests come rolling in, we +could simply add a call to a function in our register_hooks +function to sort it out: +

+ + +
static void register_hooks(apr_pool_t *pool)
+{
+    /* Call a function that initializes some stuff */
+    example_init_function(pool);
+    /* Create a hook in the request handler, so we get called when a request arrives */
+    ap_hook_handler(example_handler, NULL, NULL, APR_HOOK_LAST);
+}
+ + + +

+In this pre-request initialization function we would not be using the +same pool as we did when allocating resources for request-based functions. +Instead, we would use the pool given to us by the server for allocating memory +on a per-process based level. +

+ + +

Parsing request data

+

+In our example module, we would like to add a feature, that checks which +type of digest, MD5 or SHA1 the client would like to see. This could be +solved by adding a query string to the request. A query string is typically +comprised of several keys and values put together in a string, for instance +valueA=yes&valueB=no&valueC=maybe. It is up to the +module itself to parse these and get the data it requires. In our example, +we'll be looking for a key called digest, and if set to +md5, we'll produce an MD5 digest, otherwise we'll produce a SHA1 +digest. +

+

+Since the introduction of Apache HTTP Server 2.4, parsing request data from GET and +POST requests have never been easier. All we require to parse both GET and +POST data is four simple lines: +

+ + + +
+apr_table_t *GET; 
+apr_array_header_t*POST; 
+
+
+
+ap_args_to_table(r, &GET); 
+
+ap_parse_form_data(r, NULL, &POST, -1, 8192);
+ + + +

+In our specific example module, we're looking for the digest +value from the query string, which now resides inside a table called +GET. To extract this value, we need only perform a simple operation: +

+ + + +
/* Get the "digest" key from the query string, if any. */
+const char *digestType = apr_table_get(GET, "digest");
+
+/* If no key was returned, we will set a default value instead. */
+if (!digestType) digestType = "sha1";
+ + + +

+The structures used for the POST and GET data are not exactly the same, so +if we were to fetch a value from POST data instead of the query string, we +would have to resort to a few more lines, as outlined in this example in the last chapter of this document. +

+ + +

Making an advanced handler

+

+Now that we have learned how to parse form data and manage our resources, +we can move on to creating an advanced version of our module, that spits +out the MD5 or SHA1 digest of files: +

+ + + +
static int example_handler(request_rec *r)
+{
+    int rc, exists;
+    apr_finfo_t finfo;
+    apr_file_t *file;
+    char *filename;
+    char buffer[256];
+    apr_size_t readBytes;
+    int n;
+    apr_table_t *GET;
+    apr_array_header_t *POST;
+    const char *digestType;
+    
+    
+    /* Check that the "example-handler" handler is being called. */
+    if (!r->handler || strcmp(r->handler, "example-handler")) return (DECLINED);
+    
+    /* Figure out which file is being requested by removing the .sum from it */
+    filename = apr_pstrdup(r->pool, r->filename);
+    filename[strlen(filename)-4] = 0; /* Cut off the last 4 characters. */
+    
+    /* Figure out if the file we request a sum on exists and isn't a directory */
+    rc = apr_stat(&finfo, filename, APR_FINFO_MIN, r->pool);
+    if (rc == APR_SUCCESS) {
+        exists =
+        (
+            (finfo.filetype != APR_NOFILE)
+        &&  !(finfo.filetype & APR_DIR)
+        );
+        if (!exists) return HTTP_NOT_FOUND; /* Return a 404 if not found. */
+    }
+    /* If apr_stat failed, we're probably not allowed to check this file. */
+    else return HTTP_FORBIDDEN;
+    
+    /* Parse the GET and, optionally, the POST data sent to us */
+    
+    ap_args_to_table(r, &GET);
+    ap_parse_form_data(r, NULL, &POST, -1, 8192);
+    
+    /* Set the appropriate content type */
+    ap_set_content_type(r, "text/html");
+    
+    /* Print a title and some general information */
+    ap_rprintf(r, "<h2>Information on %s:</h2>", filename);
+    ap_rprintf(r, "<b>Size:</b> %u bytes<br/>", finfo.size);
+    
+    /* Get the digest type the client wants to see */
+    digestType = apr_table_get(GET, "digest");
+    if (!digestType) digestType = "MD5";
+    
+    
+    rc = apr_file_open(&file, filename, APR_READ, APR_OS_DEFAULT, r->pool);
+    if (rc == APR_SUCCESS) {
+        
+        /* Are we trying to calculate the MD5 or the SHA1 digest? */
+        if (!strcasecmp(digestType, "md5")) {
+            /* Calculate the MD5 sum of the file */
+            union {
+                char      chr[16];
+                uint32_t  num[4];
+            } digest;
+            apr_md5_ctx_t md5;
+            apr_md5_init(&md5);
+            readBytes = 256;
+            while ( apr_file_read(file, buffer, &readBytes) == APR_SUCCESS ) {
+                apr_md5_update(&md5, buffer, readBytes);
+            }
+            apr_md5_final(digest.chr, &md5);
+            
+            /* Print out the MD5 digest */
+            ap_rputs("<b>MD5: </b><code>", r);
+            for (n = 0; n < APR_MD5_DIGESTSIZE/4; n++) {
+                ap_rprintf(r, "%08x", digest.num[n]);
+            }
+            ap_rputs("</code>", r);
+            /* Print a link to the SHA1 version */
+            ap_rputs("<br/><a href='?digest=sha1'>View the SHA1 hash instead</a>", r);
+        }
+        else {
+            /* Calculate the SHA1 sum of the file */
+            union {
+                char      chr[20];
+                uint32_t  num[5];
+            } digest;
+            apr_sha1_ctx_t sha1;
+            apr_sha1_init(&sha1);
+            readBytes = 256;
+            while ( apr_file_read(file, buffer, &readBytes) == APR_SUCCESS ) {
+                apr_sha1_update(&sha1, buffer, readBytes);
+            }
+            apr_sha1_final(digest.chr, &sha1);
+            
+            /* Print out the SHA1 digest */
+            ap_rputs("<b>SHA1: </b><code>", r);
+            for (n = 0; n < APR_SHA1_DIGESTSIZE/4; n++) {
+                ap_rprintf(r, "%08x", digest.num[n]);
+            }
+            ap_rputs("</code>", r);
+            
+            /* Print a link to the MD5 version */
+            ap_rputs("<br/><a href='?digest=md5'>View the MD5 hash instead</a>", r);
+        }
+        apr_file_close(file);
+        
+    }    
+    /* Let the server know that we responded to this request. */
+    return OK;
+}
+ + + +

+This version in its entirety can be found here: +mod_example_2.c. +

+ + +
top
+
+

Adding configuration options

+

+In this next segment of this document, we will turn our eyes away from the +digest module and create a new example module, whose only function is to +write out its own configuration. The purpose of this is to examine how +the server works with configuration, and what happens when you start writing +advanced configurations +for your modules. +

+

An introduction to configuration +directives

+

+If you are reading this, then you probably already know +what a configuration directive is. Simply put, a directive is a way of +telling an individual module (or a set of modules) how to behave, such as +these directives control how mod_rewrite works: +

+
RewriteEngine On
+RewriteCond "%{REQUEST_URI}" "^/foo/bar"
+RewriteRule "^/foo/bar/(.*)$" "/foobar?page=$1"
+ +

+Each of these configuration directives are handled by a separate function, +that parses the parameters given and sets up a configuration accordingly. +

+ +

Making an example configuration

+

To begin with, we'll create a basic configuration in C-space:

+ + + +
typedef struct {
+    int         enabled;      /* Enable or disable our module */
+    const char *path;         /* Some path to...something */
+    int         typeOfAction; /* 1 means action A, 2 means action B and so on */
+} example_config;
+ + + +

+Now, let's put this into perspective by creating a very small module that +just prints out a hard-coded configuration. You'll notice that we use the +register_hooks function for initializing the configuration +values to their defaults: +

+ + +
typedef struct {
+    int         enabled;      /* Enable or disable our module */
+    const char *path;         /* Some path to...something */
+    int         typeOfAction; /* 1 means action A, 2 means action B and so on */
+} example_config;
+
+static example_config config;
+
+static int example_handler(request_rec *r)
+{
+    if (!r->handler || strcmp(r->handler, "example-handler")) return(DECLINED);
+    ap_set_content_type(r, "text/plain");
+    ap_rprintf(r, "Enabled: %u\n", config.enabled);
+    ap_rprintf(r, "Path: %s\n", config.path);
+    ap_rprintf(r, "TypeOfAction: %x\n", config.typeOfAction);
+    return OK;
+}
+
+static void register_hooks(apr_pool_t *pool) 
+{
+    config.enabled = 1;
+    config.path = "/foo/bar";
+    config.typeOfAction = 0x00;
+    ap_hook_handler(example_handler, NULL, NULL, APR_HOOK_LAST);
+}
+
+/* Define our module as an entity and assign a function for registering hooks  */
+
+module AP_MODULE_DECLARE_DATA   example_module =
+{
+    STANDARD20_MODULE_STUFF,
+    NULL,            /* Per-directory configuration handler */
+    NULL,            /* Merge handler for per-directory configurations */
+    NULL,            /* Per-server configuration handler */
+    NULL,            /* Merge handler for per-server configurations */
+    NULL,            /* Any directives we may have for httpd */
+    register_hooks   /* Our hook registering function */
+};
+ + + +

+So far so good. To access our new handler, we could add the following to +our configuration: +

+
<Location "/example">
+    SetHandler example-handler
+</Location>
+ +

+When we visit, we'll see our current configuration being spit out by our +module. +

+ + +

Registering directives with the server

+

+What if we want to change our configuration, not by hard-coding new values +into the module, but by using either the httpd.conf file or possibly a +.htaccess file? It's time to let the server know that we want this to be +possible. To do so, we must first change our name tag to include a +reference to the configuration directives we want to register with the server: +

+ + +
module AP_MODULE_DECLARE_DATA   example_module =
+{
+    STANDARD20_MODULE_STUFF,
+    NULL,               /* Per-directory configuration handler */
+    NULL,               /* Merge handler for per-directory configurations */
+    NULL,               /* Per-server configuration handler */
+    NULL,               /* Merge handler for per-server configurations */
+    example_directives, /* Any directives we may have for httpd */
+    register_hooks      /* Our hook registering function */
+};
+ + + +

+This will tell the server that we are now accepting directives from the +configuration files, and that the structure called example_directives + holds information on what our directives are and how they work. +Since we have three different variables in our module configuration, we +will add a structure with three directives and a NULL at the end: +

+ + +
static const command_rec        example_directives[] =
+{
+    AP_INIT_TAKE1("exampleEnabled", example_set_enabled, NULL, RSRC_CONF, "Enable or disable mod_example"),
+    AP_INIT_TAKE1("examplePath", example_set_path, NULL, RSRC_CONF, "The path to whatever"),
+    AP_INIT_TAKE2("exampleAction", example_set_action, NULL, RSRC_CONF, "Special action value!"),
+    { NULL }
+};
+ + + +

+Directives structure
+As you can see, each directive needs at least 5 parameters set: +

+
    +
  1. AP_INIT_TAKE1: This is a macro that tells the server that this directive takes one and only one argument. +If we required two arguments, we could use the macro AP_INIT_TAKE2 and so on (refer to httpd_conf.h +for more macros).
  2. +
  3. exampleEnabled: This is the name of our directive. More precisely, it is what the user must put in his/her +configuration in order to invoke a configuration change in our module.
  4. +
  5. example_set_enabled: This is a reference to a C function that parses the directive and sets the configuration +accordingly. We will discuss how to make this in the following paragraph.
  6. +
  7. RSRC_CONF: This tells the server where the directive is permitted. We'll go into details on this value in the +later chapters, but for now, RSRC_CONF means that the server will only accept these directives in a server context.
  8. +
  9. "Enable or disable....": This is simply a brief description of what the directive does.
  10. +
+

+(The "missing" parameter in our definition, which is usually set to +NULL, is an optional function that can be run after the +initial function to parse the arguments have been run. This is usually +omitted, as the function for verifying arguments might as well be used to +set them.) +

+ +

The directive handler function

+

+Now that we have told the server to expect some directives for our module, it's +time to make a few functions for handling these. What the server reads in the +configuration file(s) is text, and so naturally, what it passes along to +our directive handler is one or more strings, that we ourselves need to +recognize and act upon. You'll notice, that since we set our +exampleAction directive to accept two arguments, its C function also +has an additional parameter defined:

+ + +
/* Handler for the "exampleEnabled" directive */
+const char *example_set_enabled(cmd_parms *cmd, void *cfg, const char *arg)
+{
+    if(!strcasecmp(arg, "on")) config.enabled = 1;
+    else config.enabled = 0;
+    return NULL;
+}
+
+/* Handler for the "examplePath" directive */
+const char *example_set_path(cmd_parms *cmd, void *cfg, const char *arg)
+{
+    config.path = arg;
+    return NULL;
+}
+
+/* Handler for the "exampleAction" directive */
+/* Let's pretend this one takes one argument (file or db), and a second (deny or allow), */
+/* and we store it in a bit-wise manner. */
+const char *example_set_action(cmd_parms *cmd, void *cfg, const char *arg1, const char *arg2)
+{
+    if(!strcasecmp(arg1, "file")) config.typeOfAction = 0x01;
+    else config.typeOfAction = 0x02;
+    
+    if(!strcasecmp(arg2, "deny")) config.typeOfAction += 0x10;
+    else config.typeOfAction += 0x20;
+    return NULL;
+}
+ + + + + +

Putting it all together

+

+Now that we have our directives set up, and handlers configured for them, +we can assemble our module into one big file: +

+ + +
/* mod_example_config_simple.c: */
+#include <stdio.h>
+#include "apr_hash.h"
+#include "ap_config.h"
+#include "ap_provider.h"
+#include "httpd.h"
+#include "http_core.h"
+#include "http_config.h"
+#include "http_log.h"
+#include "http_protocol.h"
+#include "http_request.h"
+
+/*
+ ==============================================================================
+ Our configuration prototype and declaration:
+ ==============================================================================
+ */
+typedef struct {
+    int         enabled;      /* Enable or disable our module */
+    const char *path;         /* Some path to...something */
+    int         typeOfAction; /* 1 means action A, 2 means action B and so on */
+} example_config;
+
+static example_config config;
+
+/*
+ ==============================================================================
+ Our directive handlers:
+ ==============================================================================
+ */
+/* Handler for the "exampleEnabled" directive */
+const char *example_set_enabled(cmd_parms *cmd, void *cfg, const char *arg)
+{
+    if(!strcasecmp(arg, "on")) config.enabled = 1;
+    else config.enabled = 0;
+    return NULL;
+}
+
+/* Handler for the "examplePath" directive */
+const char *example_set_path(cmd_parms *cmd, void *cfg, const char *arg)
+{
+    config.path = arg;
+    return NULL;
+}
+
+/* Handler for the "exampleAction" directive */
+/* Let's pretend this one takes one argument (file or db), and a second (deny or allow), */
+/* and we store it in a bit-wise manner. */
+const char *example_set_action(cmd_parms *cmd, void *cfg, const char *arg1, const char *arg2)
+{
+    if(!strcasecmp(arg1, "file")) config.typeOfAction = 0x01;
+    else config.typeOfAction = 0x02;
+    
+    if(!strcasecmp(arg2, "deny")) config.typeOfAction += 0x10;
+    else config.typeOfAction += 0x20;
+    return NULL;
+}
+
+/*
+ ==============================================================================
+ The directive structure for our name tag:
+ ==============================================================================
+ */
+static const command_rec        example_directives[] =
+{
+    AP_INIT_TAKE1("exampleEnabled", example_set_enabled, NULL, RSRC_CONF, "Enable or disable mod_example"),
+    AP_INIT_TAKE1("examplePath", example_set_path, NULL, RSRC_CONF, "The path to whatever"),
+    AP_INIT_TAKE2("exampleAction", example_set_action, NULL, RSRC_CONF, "Special action value!"),
+    { NULL }
+};
+/*
+ ==============================================================================
+ Our module handler:
+ ==============================================================================
+ */
+static int example_handler(request_rec *r)
+{
+    if(!r->handler || strcmp(r->handler, "example-handler")) return(DECLINED);
+    ap_set_content_type(r, "text/plain");
+    ap_rprintf(r, "Enabled: %u\n", config.enabled);
+    ap_rprintf(r, "Path: %s\n", config.path);
+    ap_rprintf(r, "TypeOfAction: %x\n", config.typeOfAction);
+    return OK;
+}
+
+/*
+ ==============================================================================
+ The hook registration function (also initializes the default config values):
+ ==============================================================================
+ */
+static void register_hooks(apr_pool_t *pool) 
+{
+    config.enabled = 1;
+    config.path = "/foo/bar";
+    config.typeOfAction = 3;
+    ap_hook_handler(example_handler, NULL, NULL, APR_HOOK_LAST);
+}
+/*
+ ==============================================================================
+ Our module name tag:
+ ==============================================================================
+ */
+module AP_MODULE_DECLARE_DATA   example_module =
+{
+    STANDARD20_MODULE_STUFF,
+    NULL,               /* Per-directory configuration handler */
+    NULL,               /* Merge handler for per-directory configurations */
+    NULL,               /* Per-server configuration handler */
+    NULL,               /* Merge handler for per-server configurations */
+    example_directives, /* Any directives we may have for httpd */
+    register_hooks      /* Our hook registering function */
+};
+ + + + +

+In our httpd.conf file, we can now change the hard-coded configuration by +adding a few lines: +

+
ExampleEnabled On
+ExamplePath "/usr/bin/foo"
+ExampleAction file allow
+ +

+And thus we apply the configuration, visit /example on our +web site, and we see the configuration has adapted to what we wrote in our +configuration file. +

+ + + +
top
+
+

Context aware configurations

+

Introduction to context aware configurations

+

+In Apache HTTP Server 2.4, different URLs, virtual hosts, directories etc can have very +different meanings to the user of the server, and thus different contexts +within which modules must operate. For example, let's assume you have this +configuration set up for mod_rewrite: +

+
<Directory "/var/www">
+    RewriteCond "%{HTTP_HOST}" "^example.com$"
+    RewriteRule "(.*)" "http://www.example.com/$1"
+</Directory>
+<Directory "/var/www/sub">
+    RewriteRule "^foobar$" "index.php?foobar=true"
+</Directory>
+ +

+In this example, you will have set up two different contexts for +mod_rewrite:

+
    +
  1. Inside /var/www, all requests for http://example.com must go to http://www.example.com
  2. +
  3. Inside /var/www/sub, all requests for foobar must go to index.php?foobar=true
  4. +
+

+If mod_rewrite (or the entire server for that matter) wasn't context aware, then +these rewrite rules would just apply to every and any request made, +regardless of where and how they were made, but since the module can pull +the context specific configuration straight from the server, it does not need +to know itself, which of the directives are valid in this context, since +the server takes care of this.

+ +

+So how does a module get the specific configuration for the server, +directory or location in question? It does so by making one simple call: +

+ + +
example_config *config = (example_config*) ap_get_module_config(r->per_dir_config, &example_module);
+ + + +

+That's it! Of course, a whole lot goes on behind the scenes, which we will +discuss in this chapter, starting with how the server came to know what our +configuration looks like, and how it came to be set up as it is in the +specific context. +

+ + +

Our basic configuration setup

+

In this chapter, we will be working with a slightly modified version of +our previous context structure. We will set a context +variable that we can use to track which context configuration is being +used by the server in various places: +

+ +
typedef struct {
+    char        context[256];
+    char        path[256];
+    int         typeOfAction;
+    int         enabled;
+} example_config;
+ + + +

Our handler for requests will also be modified, yet still very simple:

+ + + +
static int example_handler(request_rec *r)
+{
+    if(!r->handler || strcmp(r->handler, "example-handler")) return(DECLINED);
+    example_config *config = (example_config*) ap_get_module_config(r->per_dir_config, &example_module);
+    ap_set_content_type(r, "text/plain");
+    ap_rprintf("Enabled: %u\n", config->enabled);
+    ap_rprintf("Path: %s\n", config->path);
+    ap_rprintf("TypeOfAction: %x\n", config->typeOfAction);
+    ap_rprintf("Context: %s\n", config->context);
+    return OK;
+}
+ + + + + +

Choosing a context

+

+Before we can start making our module context aware, we must first define, +which contexts we will accept. As we saw in the previous chapter, defining +a directive required five elements be set:

+ + + +
AP_INIT_TAKE1("exampleEnabled", example_set_enabled, NULL, RSRC_CONF, "Enable or disable mod_example"),
+ + + + +

The RSRC_CONF definition told the server that we would only allow +this directive in a global server context, but since we are now trying out +a context aware version of our module, we should set this to something +more lenient, namely the value ACCESS_CONF, which lets us use +the directive inside <Directory> and <Location> blocks. For more +control over the placement of your directives, you can combine the following +restrictions together to form a specific rule: +

+
    +
  • RSRC_CONF: Allow in .conf files (not .htaccess) outside <Directory> or <Location>
  • +
  • ACCESS_CONF: Allow in .conf files (not .htaccess) inside <Directory> or <Location>
  • +
  • OR_OPTIONS: Allow in .conf files and .htaccess when AllowOverride Options is set
  • +
  • OR_FILEINFO: Allow in .conf files and .htaccess when AllowOverride FileInfo is set
  • +
  • OR_AUTHCFG: Allow in .conf files and .htaccess when AllowOverride AuthConfig is set
  • +
  • OR_INDEXES: Allow in .conf files and .htaccess when AllowOverride Indexes is set
  • +
  • OR_ALL: Allow anywhere in .conf files and .htaccess
  • +
+ + +

Using the server to allocate configuration slots

+

A much smarter way to manage your configurations is by letting the server +help you create them. To do so, we must first start off by changing our +name tag to let the server know, that it should assist us in creating +and managing our configurations. Since we have chosen the per-directory +(or per-location) context for our module configurations, we'll add a +per-directory creator and merger function reference in our tag:

+ + +
module AP_MODULE_DECLARE_DATA   example_module =
+{
+    STANDARD20_MODULE_STUFF,
+    create_dir_conf, /* Per-directory configuration handler */
+    merge_dir_conf,  /* Merge handler for per-directory configurations */
+    NULL,            /* Per-server configuration handler */
+    NULL,            /* Merge handler for per-server configurations */
+    directives,      /* Any directives we may have for httpd */
+    register_hooks   /* Our hook registering function */
+};
+ + + + + + + +

Creating new context configurations

+

+Now that we have told the server to help us create and manage configurations, +our first step is to make a function for creating new, blank +configurations. We do so by creating the function we just referenced in +our name tag as the Per-directory configuration handler:

+ +
void *create_dir_conf(apr_pool_t *pool, char *context) {
+    context = context ? context : "(undefined context)";
+    example_config *cfg = apr_pcalloc(pool, sizeof(example_config));
+    if(cfg) {
+        /* Set some default values */
+        strcpy(cfg->context, context);
+        cfg->enabled = 0;
+        cfg->path = "/foo/bar";
+        cfg->typeOfAction = 0x11;
+    }
+    return cfg;
+}
+ + + + + + +

Merging configurations

+

+Our next step in creating a context aware configuration is merging +configurations. This part of the process particularly applies to scenarios +where you have a parent configuration and a child, such as the following: +

+
<Directory "/var/www">
+    ExampleEnabled On
+    ExamplePath "/foo/bar"
+    ExampleAction file allow
+</Directory>
+<Directory "/var/www/subdir">
+    ExampleAction file deny
+</Directory>
+ +

+In this example, it is natural to assume that the directory +/var/www/subdir should inherit the values set for the /var/www + directory, as we did not specify an ExampleEnabled nor +an ExamplePath for this directory. The server does not presume to +know if this is true, but cleverly does the following: +

+
    +
  1. Creates a new configuration for /var/www
  2. +
  3. Sets the configuration values according to the directives given for /var/www
  4. +
  5. Creates a new configuration for /var/www/subdir
  6. +
  7. Sets the configuration values according to the directives given for /var/www/subdir
  8. +
  9. Proposes a merge of the two configurations into a new configuration for /var/www/subdir
  10. +
+

+This proposal is handled by the merge_dir_conf function we +referenced in our name tag. The purpose of this function is to assess the +two configurations and decide how they are to be merged:

+ + + +
void *merge_dir_conf(apr_pool_t *pool, void *BASE, void *ADD) {
+    example_config *base = (example_config *) BASE ; /* This is what was set in the parent context */
+    example_config *add = (example_config *) ADD ;   /* This is what is set in the new context */
+    example_config *conf = (example_config *) create_dir_conf(pool, "Merged configuration"); /* This will be the merged configuration */
+    
+    /* Merge configurations */
+    conf->enabled = ( add->enabled == 0 ) ? base->enabled : add->enabled ;
+    conf->typeOfAction = add->typeOfAction ? add->typeOfAction : base->typeOfAction;
+    strcpy(conf->path, strlen(add->path) ? add->path : base->path);
+    
+    return conf ;
+}
+ + + + + + +

Trying out our new context aware configurations

+

+Now, let's try putting it all together to create a new module that is +context aware. First off, we'll create a configuration that lets us test +how the module works: +

+
<Location "/a">
+    SetHandler example-handler
+    ExampleEnabled on
+    ExamplePath "/foo/bar"
+    ExampleAction file allow
+</Location>
+
+<Location "/a/b">
+    ExampleAction file deny
+    ExampleEnabled off
+</Location>
+
+<Location "/a/b/c">
+    ExampleAction db deny
+    ExamplePath "/foo/bar/baz"
+    ExampleEnabled on
+</Location>
+ +

+Then we'll assemble our module code. Note, that since we are now using our +name tag as reference when fetching configurations in our handler, I have +added some prototypes to keep the compiler happy: +

+ + +
/*$6
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ * mod_example_config.c
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ */
+
+
+#include <stdio.h>
+#include "apr_hash.h"
+#include "ap_config.h"
+#include "ap_provider.h"
+#include "httpd.h"
+#include "http_core.h"
+#include "http_config.h"
+#include "http_log.h"
+#include "http_protocol.h"
+#include "http_request.h"
+
+/*$1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Configuration structure
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+typedef struct
+{
+    char    context[256];
+    char    path[256];
+    int     typeOfAction;
+    int     enabled;
+} example_config;
+
+/*$1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Prototypes
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+static int    example_handler(request_rec *r);
+const char    *example_set_enabled(cmd_parms *cmd, void *cfg, const char *arg);
+const char    *example_set_path(cmd_parms *cmd, void *cfg, const char *arg);
+const char    *example_set_action(cmd_parms *cmd, void *cfg, const char *arg1, const char *arg2);
+void          *create_dir_conf(apr_pool_t *pool, char *context);
+void          *merge_dir_conf(apr_pool_t *pool, void *BASE, void *ADD);
+static void   register_hooks(apr_pool_t *pool);
+
+/*$1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Configuration directives
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+static const command_rec    directives[] =
+{
+    AP_INIT_TAKE1("exampleEnabled", example_set_enabled, NULL, ACCESS_CONF, "Enable or disable mod_example"),
+    AP_INIT_TAKE1("examplePath", example_set_path, NULL, ACCESS_CONF, "The path to whatever"),
+    AP_INIT_TAKE2("exampleAction", example_set_action, NULL, ACCESS_CONF, "Special action value!"),
+    { NULL }
+};
+
+/*$1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Our name tag
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+module AP_MODULE_DECLARE_DATA    example_module =
+{
+    STANDARD20_MODULE_STUFF,
+    create_dir_conf,    /* Per-directory configuration handler */
+    merge_dir_conf,     /* Merge handler for per-directory configurations */
+    NULL,               /* Per-server configuration handler */
+    NULL,               /* Merge handler for per-server configurations */
+    directives,         /* Any directives we may have for httpd */
+    register_hooks      /* Our hook registering function */
+};
+
+/*
+ =======================================================================================================================
+    Hook registration function
+ =======================================================================================================================
+ */
+static void register_hooks(apr_pool_t *pool)
+{
+    ap_hook_handler(example_handler, NULL, NULL, APR_HOOK_LAST);
+}
+
+/*
+ =======================================================================================================================
+    Our example web service handler
+ =======================================================================================================================
+ */
+static int example_handler(request_rec *r)
+{
+    if(!r->handler || strcmp(r->handler, "example-handler")) return(DECLINED);
+
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+    example_config    *config = (example_config *) ap_get_module_config(r->per_dir_config, &example_module);
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+    ap_set_content_type(r, "text/plain");
+    ap_rprintf(r, "Enabled: %u\n", config->enabled);
+    ap_rprintf(r, "Path: %s\n", config->path);
+    ap_rprintf(r, "TypeOfAction: %x\n", config->typeOfAction);
+    ap_rprintf(r, "Context: %s\n", config->context);
+    return OK;
+}
+
+/*
+ =======================================================================================================================
+    Handler for the "exampleEnabled" directive
+ =======================================================================================================================
+ */
+const char *example_set_enabled(cmd_parms *cmd, void *cfg, const char *arg)
+{
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+    example_config    *conf = (example_config *) cfg;
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+    if(conf)
+    {
+        if(!strcasecmp(arg, "on"))
+            conf->enabled = 1;
+        else
+            conf->enabled = 0;
+    }
+
+    return NULL;
+}
+
+/*
+ =======================================================================================================================
+    Handler for the "examplePath" directive
+ =======================================================================================================================
+ */
+const char *example_set_path(cmd_parms *cmd, void *cfg, const char *arg)
+{
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+    example_config    *conf = (example_config *) cfg;
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+    if(conf)
+    {
+        strcpy(conf->path, arg);
+    }
+
+    return NULL;
+}
+
+/*
+ =======================================================================================================================
+    Handler for the "exampleAction" directive ;
+    Let's pretend this one takes one argument (file or db), and a second (deny or allow), ;
+    and we store it in a bit-wise manner.
+ =======================================================================================================================
+ */
+const char *example_set_action(cmd_parms *cmd, void *cfg, const char *arg1, const char *arg2)
+{
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+    example_config    *conf = (example_config *) cfg;
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+    if(conf)
+    {
+        {
+            if(!strcasecmp(arg1, "file"))
+                conf->typeOfAction = 0x01;
+            else
+                conf->typeOfAction = 0x02;
+            if(!strcasecmp(arg2, "deny"))
+                conf->typeOfAction += 0x10;
+            else
+                conf->typeOfAction += 0x20;
+        }
+    }
+
+    return NULL;
+}
+
+/*
+ =======================================================================================================================
+    Function for creating new configurations for per-directory contexts
+ =======================================================================================================================
+ */
+void *create_dir_conf(apr_pool_t *pool, char *context)
+{
+    context = context ? context : "Newly created configuration";
+
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+    example_config    *cfg = apr_pcalloc(pool, sizeof(example_config));
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+    if(cfg)
+    {
+        {
+            /* Set some default values */
+            strcpy(cfg->context, context);
+            cfg->enabled = 0;
+            memset(cfg->path, 0, 256);
+            cfg->typeOfAction = 0x00;
+        }
+    }
+
+    return cfg;
+}
+
+/*
+ =======================================================================================================================
+    Merging function for configurations
+ =======================================================================================================================
+ */
+void *merge_dir_conf(apr_pool_t *pool, void *BASE, void *ADD)
+{
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+    example_config    *base = (example_config *) BASE;
+    example_config    *add = (example_config *) ADD;
+    example_config    *conf = (example_config *) create_dir_conf(pool, "Merged configuration");
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+    conf->enabled = (add->enabled == 0) ? base->enabled : add->enabled;
+    conf->typeOfAction = add->typeOfAction ? add->typeOfAction : base->typeOfAction;
+    strcpy(conf->path, strlen(add->path) ? add->path : base->path);
+    return conf;
+}
+ + + + + + + +
top
+
+

Summing up

+

+We have now looked at how to create simple modules for Apache HTTP Server 2.4 and +configuring them. What you do next is entirely up to you, but it is my +hope that something valuable has come out of reading this documentation. +If you have questions on how to further develop modules, you are welcome +to join our mailing lists +or check out the rest of our documentation for further tips. +

+
top
+
+

Some useful snippets of code

+ +

Retrieve variables from POST form data

+ + + +
typedef struct {
+    const char *key;
+    const char *value;
+} keyValuePair;
+
+keyValuePair *readPost(request_rec *r) {
+    apr_array_header_t *pairs = NULL;
+    apr_off_t len;
+    apr_size_t size;
+    int res;
+    int i = 0;
+    char *buffer;
+    keyValuePair *kvp;
+
+    res = ap_parse_form_data(r, NULL, &pairs, -1, HUGE_STRING_LEN);
+    if (res != OK || !pairs) return NULL; /* Return NULL if we failed or if there are is no POST data */
+    kvp = apr_pcalloc(r->pool, sizeof(keyValuePair) * (pairs->nelts + 1));
+    while (pairs && !apr_is_empty_array(pairs)) {
+        ap_form_pair_t *pair = (ap_form_pair_t *) apr_array_pop(pairs);
+        apr_brigade_length(pair->value, 1, &len);
+        size = (apr_size_t) len;
+        buffer = apr_palloc(r->pool, size + 1);
+        apr_brigade_flatten(pair->value, buffer, &size);
+        buffer[len] = 0;
+        kvp[i].key = apr_pstrdup(r->pool, pair->name);
+        kvp[i].value = buffer;
+        i++;
+    }
+    return kvp;
+}
+
+static int example_handler(request_rec *r)
+{
+    /*~~~~~~~~~~~~~~~~~~~~~~*/
+    keyValuePair *formData;
+    /*~~~~~~~~~~~~~~~~~~~~~~*/
+
+    formData = readPost(r);
+    if (formData) {
+        int i;
+        for (i = 0; &formData[i]; i++) {
+            if (formData[i].key && formData[i].value) {
+                ap_rprintf(r, "%s = %s\n", formData[i].key, formData[i].value);
+            } else if (formData[i].key) {
+                ap_rprintf(r, "%s\n", formData[i].key);
+            } else if (formData[i].value) {
+                ap_rprintf(r, "= %s\n", formData[i].value);
+            } else {
+                break;
+            }
+        }
+    }
+    return OK;
+}
+ + + + + + +

Printing out every HTTP header received

+ + + +
static int example_handler(request_rec *r)
+{
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+    const apr_array_header_t    *fields;
+    int                         i;
+    apr_table_entry_t           *e = 0;
+    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+    fields = apr_table_elts(r->headers_in);
+    e = (apr_table_entry_t *) fields->elts;
+    for(i = 0; i < fields->nelts; i++) {
+        ap_rprintf(r, "%s: %s\n", e[i].key, e[i].val);
+    }
+    return OK;
+}
+ + + + + + +

Reading the request body into memory

+ + + +
static int util_read(request_rec *r, const char **rbuf, apr_off_t *size)
+{
+    /*~~~~~~~~*/
+    int rc = OK;
+    /*~~~~~~~~*/
+
+    if((rc = ap_setup_client_block(r, REQUEST_CHUNKED_ERROR))) {
+        return(rc);
+    }
+
+    if(ap_should_client_block(r)) {
+
+        /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+        char         argsbuffer[HUGE_STRING_LEN];
+        apr_off_t    rsize, len_read, rpos = 0;
+        apr_off_t length = r->remaining;
+        /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+        *rbuf = (const char *) apr_pcalloc(r->pool, (apr_size_t) (length + 1));
+        *size = length;
+        while((len_read = ap_get_client_block(r, argsbuffer, sizeof(argsbuffer))) > 0) {
+            if((rpos + len_read) > length) {
+                rsize = length - rpos;
+            }
+            else {
+                rsize = len_read;
+            }
+
+            memcpy((char *) *rbuf + rpos, argsbuffer, (size_t) rsize);
+            rpos += rsize;
+        }
+    }
+    return(rc);
+}
+
+static int example_handler(request_rec *r) 
+{
+    /*~~~~~~~~~~~~~~~~*/
+    apr_off_t   size;
+    const char  *buffer;
+    /*~~~~~~~~~~~~~~~~*/
+
+    if(util_read(r, &buffer, &size) == OK) {
+        ap_rprintf(r, "We read a request body that was %" APR_OFF_T_FMT " bytes long", size);
+    }
+    return OK;
+}
+ + + + + + + +
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/modules.html b/docs/manual/developer/modules.html new file mode 100644 index 0000000..ebc705b --- /dev/null +++ b/docs/manual/developer/modules.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: modules.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: modules.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/modules.html.en b/docs/manual/developer/modules.html.en new file mode 100644 index 0000000..fb7ccef --- /dev/null +++ b/docs/manual/developer/modules.html.en @@ -0,0 +1,306 @@ + + + + + +Converting Modules from Apache 1.3 to Apache 2.0 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Converting Modules from Apache 1.3 to Apache 2.0

+
+

Available Languages:  en  | + ja 

+
+ +

This is a first attempt at writing the lessons I learned + when trying to convert the mod_mmap_static module to Apache + 2.0. It's by no means definitive and probably won't even be + correct in some ways, but it's a start.

+
+ +
top
+
+

The easier changes ...

+ +

Cleanup Routines

+

These now need to be of type apr_status_t and return a + value of that type. Normally the return value will be + APR_SUCCESS unless there is some need to signal an error in + the cleanup. Be aware that even though you signal an error not all code + yet checks and acts upon the error.

+ + +

Initialisation Routines

+

These should now be renamed to better signify where they sit + in the overall process. So the name gets a small change from + mmap_init to mmap_post_config. The arguments + passed have undergone a radical change and now look like

+ +
    +
  • apr_pool_t *p
  • +
  • apr_pool_t *plog
  • +
  • apr_pool_t *ptemp
  • +
  • server_rec *s
  • +
+ + +

Data Types

+

A lot of the data types have been moved into the APR. This means that some have had + a name change, such as the one shown above. The following is a brief + list of some of the changes that you are likely to have to make.

+ +
    +
  • pool becomes apr_pool_t
  • +
  • table becomes apr_table_t
  • +
+ +
top
+
+

The messier changes...

+ +

Register Hooks

+

The new architecture uses a series of hooks to provide for + calling your functions. These you'll need to add to your module + by way of a new function, static void register_hooks(void). + The function is really reasonably straightforward once you + understand what needs to be done. Each function that needs + calling at some stage in the processing of a request needs to + be registered, handlers do not. There are a number of phases + where functions can be added, and for each you can specify with + a high degree of control the relative order that the function + will be called in.

+ +

This is the code that was added to mod_mmap_static:

+
static void register_hooks(void)
+{
+    static const char * const aszPre[]={ "http_core.c",NULL };
+    ap_hook_post_config(mmap_post_config,NULL,NULL,HOOK_MIDDLE);
+    ap_hook_translate_name(mmap_static_xlat,aszPre,NULL,HOOK_LAST);
+};
+ +

This registers 2 functions that need to be called, one in + the post_config stage (virtually every module will need this + one) and one for the translate_name phase. note that while + there are different function names the format of each is + identical. So what is the format?

+ +

+ ap_hook_phase_name(function_name, + predecessors, successors, position); +

+ +

There are 3 hook positions defined...

+ +
    +
  • HOOK_FIRST
  • +
  • HOOK_MIDDLE
  • +
  • HOOK_LAST
  • +
+ +

To define the position you use the position and then modify + it with the predecessors and successors. Each of the modifiers + can be a list of functions that should be called, either before + the function is run (predecessors) or after the function has + run (successors).

+ +

In the mod_mmap_static case I didn't care about the + post_config stage, but the mmap_static_xlat + must be called after the core module had done its name + translation, hence the use of the aszPre to define a modifier to the + position HOOK_LAST.

+ + +

Module Definition

+

There are now a lot fewer stages to worry about when + creating your module definition. The old definition looked + like

+ +
module MODULE_VAR_EXPORT module_name_module =
+{
+    STANDARD_MODULE_STUFF,
+    /* initializer */
+    /* dir config creater */
+    /* dir merger --- default is to override */
+    /* server config */
+    /* merge server config */
+    /* command handlers */
+    /* handlers */
+    /* filename translation */
+    /* check_user_id */
+    /* check auth */
+    /* check access */
+    /* type_checker */
+    /* fixups */
+    /* logger */
+    /* header parser */
+    /* child_init */
+    /* child_exit */
+    /* post read-request */
+};
+ +

The new structure is a great deal simpler...

+
module MODULE_VAR_EXPORT module_name_module =
+{
+    STANDARD20_MODULE_STUFF,
+    /* create per-directory config structures */
+    /* merge per-directory config structures  */
+    /* create per-server config structures    */
+    /* merge per-server config structures     */
+    /* command handlers */
+    /* handlers */
+    /* register hooks */
+};
+ +

Some of these read directly across, some don't. I'll try to + summarise what should be done below.

+ +

The stages that read directly across :

+ +
+
/* dir config creater */
+
/* create per-directory config structures */
+ +
/* server config */
+
/* create per-server config structures */
+ +
/* dir merger */
+
/* merge per-directory config structures */
+ +
/* merge server config */
+
/* merge per-server config structures */
+ +
/* command table */
+
/* command apr_table_t */
+ +
/* handlers */
+
/* handlers */
+
+ +

The remainder of the old functions should be registered as + hooks. There are the following hook stages defined so + far...

+ +
+
ap_hook_pre_config
+
do any setup required prior to processing configuration + directives
+ +
ap_hook_check_config
+
review configuration directive interdependencies
+ +
ap_hook_test_config
+
executes only with -t option
+ +
ap_hook_open_logs
+
open any specified logs
+ +
ap_hook_post_config
+
this is where the old _init routines get + registered
+ +
ap_hook_http_method
+
retrieve the http method from a request. (legacy)
+ +
ap_hook_auth_checker
+
check if the resource requires authorization
+ +
ap_hook_access_checker
+
check for module-specific restrictions
+ +
ap_hook_check_user_id
+
check the user-id and password
+ +
ap_hook_default_port
+
retrieve the default port for the server
+ +
ap_hook_pre_connection
+
do any setup required just before processing, but after + accepting
+ +
ap_hook_process_connection
+
run the correct protocol
+ +
ap_hook_child_init
+
call as soon as the child is started
+ +
ap_hook_create_request
+
??
+ +
ap_hook_fixups
+
last chance to modify things before generating content
+ +
ap_hook_handler
+
generate the content
+ +
ap_hook_header_parser
+
lets modules look at the headers, not used by most modules, because + they use post_read_request for this
+ +
ap_hook_insert_filter
+
to insert filters into the filter chain
+ +
ap_hook_log_transaction
+
log information about the request
+ +
ap_hook_optional_fn_retrieve
+
retrieve any functions registered as optional
+ +
ap_hook_post_read_request
+
called after reading the request, before any other phase
+ +
ap_hook_quick_handler
+
called before any request processing, used by cache modules.
+ +
ap_hook_translate_name
+
translate the URI into a filename
+ +
ap_hook_type_checker
+
determine and/or set the doc type
+
+ +
+
+

Available Languages:  en  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/modules.html.ja.utf8 b/docs/manual/developer/modules.html.ja.utf8 new file mode 100644 index 0000000..097e6bc --- /dev/null +++ b/docs/manual/developer/modules.html.ja.utf8 @@ -0,0 +1,301 @@ + + + + + +モジュール㮠Apache 1.3 ã‹ã‚‰ Apache 2.0 ã¸ã®ç§»æ¤ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

モジュール㮠Apache 1.3 ã‹ã‚‰ Apache 2.0 ã¸ã®ç§»æ¤

+
+

翻訳済ã¿è¨€èªž:  en  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ã“ã®æ–‡æ›¸ã¯ mod_mmap_static モジュールを Apache 2.0 用ã«ç§»æ¤ã—ãŸæ™‚ã« + 学んã çµŒé¨“ã‚’ã‚‚ã¨ã«æ›¸ã„ãŸã€æœ€åˆã®æ‰‹å¼•ã書ã§ã™ã€‚ã¾ã ã¾ã å®Œå…¨ã˜ã‚ƒãªã„ã—〠+ ã²ã‚‡ã£ã¨ã™ã‚‹ã¨é–“é•ã£ã¦ã„る部分もã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€ + å–ã£æŽ›ã‚Šã«ã¯ãªã‚‹ã§ã—ょã†ã€‚

+
+ +
top
+
+

ç°¡å˜ãªå¤‰æ›´ç‚¹

+ +

クリーンナップ ルーãƒãƒ³

+

クリーンナップルーãƒãƒ³ã¯ apr_status_t åž‹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ãã—ã¦ã€apr_status_t åž‹ã®å€¤ã‚’è¿”ã•ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。 + クリーンナップ中ã®ã‚¨ãƒ©ãƒ¼ã‚’通知ã™ã‚‹å¿…è¦ãŒãªã‘ã‚Œã°ã€è¿”り値ã¯æ™®é€šã€ + ARP_SUCCESS ã§ã™ã€‚ãŸã¨ãˆã‚¨ãƒ©ãƒ¼ã‚’通知ã—ãŸã¨ã—ã¦ã‚‚〠+ ã™ã¹ã¦ã®ã‚³ãƒ¼ãƒ‰ãŒãã®é€šçŸ¥ã‚’ãƒã‚§ãƒƒã‚¯ã—ãŸã‚Šã€ + エラーã«å¿œã˜ãŸå‹•ä½œã‚’ã™ã‚‹ã‚ã‘ã§ã¯ãªã„ã“ã¨ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。

+ + + +

åˆæœŸåŒ–ルーãƒãƒ³

+ +

åˆæœŸåŒ–ルーãƒãƒ³ã¯å‡¦ç†å…¨ä½“ã‹ã‚‰è¦‹ã¦ã—ã£ãã‚Šãるよã†ãªæ„味を表ã™ã‚ˆã†ã«ã€ + åå‰ãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã§ã™ã‹ã‚‰ã€mmap_init ã‹ã‚‰ mmap_post_config + ã®ã‚ˆã†ã«ã¡ã‚‡ã£ã¨å¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ + 渡ã•ã‚Œã‚‹å¼•æ•°ã¯å¤§å¹…ã«å¤‰æ›´ã•ã‚Œã€æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚

+ +
    +
  • apr_pool_t *p
  • +
  • apr_pool_t *plog
  • +
  • apr_pool_t *ptemp
  • +
  • server_rec *s
  • +
+ + +

データ型

+

データ型ã®ã»ã¨ã‚“ã©ã¯ APR ã«ç§»ã•ã‚Œã¾ã—ãŸã€‚ã¤ã¾ã‚Šã€ + ã„ãã¤ã‹ã®åå‰ãŒå‰è¿°ã®ã‚ˆã†ã«å¤‰æ›´ã•ã‚Œã¦ã„ã¾ã™ã€‚ + æ–½ã™ã¹ã変更点ã®ç°¡å˜ãªä¸€è¦§ã‚’以下ã«ç¤ºã—ã¾ã™ã€‚

+ +
    +
  • pool becomes apr_pool_t
  • +
  • table becomes apr_table_t
  • +
+ +
top
+
+

ã‚‚ã£ã¨åŽ„介ãªå¤‰æ›´ç‚¹â€¦

+ +

フックã®ç™»éŒ²

+

æ–°ã—ã„アーキテクãƒãƒ£ã§ã¯ä½œæˆã—ãŸé–¢æ•°ã‚’呼ã³å‡ºã™ã®ã« + 一連ã®ãƒ•ãƒƒã‚¯ã‚’使用ã—ã¾ã™ã€‚ã“ã®ãƒ•ãƒƒã‚¯ã¯ã€æ–°ã—ã„関数 + static void register_hooks(void) を使ã£ã¦ç™»éŒ²ã™ã‚‹ã‚ˆã†ã€ + モジュールã«æ›¸ã足ã•ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。 + ã“ã®é–¢æ•°ã¯ã€ãªã«ã‚’ã™ã¹ãã‹ä¸€æ—¦ç†è§£ã—ã¦ã—ã¾ãˆã°ã€ + å分ã«ã‚ã‹ã‚Šã‚„ã™ã„ã‚‚ã®ã§ã™ã€‚ + リクエストã®å‡¦ç†ã®ã‚るステージã§å‘¼ã³å‡ºã•ãªãã¦ã¯ãªã‚‰ãªã„ + 関数ã¯ç™»éŒ²ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ãƒãƒ³ãƒ‰ãƒ©ã¯ç™»éŒ²ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。 + 関数を登録ã§ãるフェーズã¯ãŸãã•ã‚“ã‚ã‚Šã¾ã™ã€‚ + ãã‚Œãžã‚Œã®ãƒ•ã‚§ãƒ¼ã‚ºã§ã€é–¢æ•°ã‚’呼ã³å‡ºã™ç›¸å¯¾çš„ãªé †ç•ªã¯ã€ + ã‹ãªã‚Šã®ç¨‹åº¦åˆ¶å¾¡ã§ãã¾ã™ã€‚

+ +

以下ã¯ã€mod_mmap_static ã«è¿½åŠ ã—ãŸã‚³ãƒ¼ãƒ‰ã§ã™:

+ +
static void register_hooks(void)
+{
+    static const char * const aszPre[]={ "http_core.c",NULL };
+    ap_hook_post_config(mmap_post_config,NULL,NULL,HOOK_MIDDLE);
+    ap_hook_translate_name(mmap_static_xlat,aszPre,NULL,HOOK_LAST);
+};
+ +

ã“ã“ã§ã¯å‘¼ã³ã ã™ã¹ã二ã¤ã®é–¢æ•°ã‚’登録ã—ã¦ã„ã¾ã™ã€‚一ã¤ã¯ + post_config ステージ用 (ã»ã¨ã‚“ã©ã™ã¹ã¦ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« + ã¯ã“ã‚ŒãŒå¿…è¦ã§ã™) ã§ã€ã‚‚ã†ä¸€ã¤ã¯ translate_name フェーズ用ã§ã™ã€‚ + ãã‚Œãžã‚Œã®é–¢æ•°ã¯åå‰ã¯é•ã†ã‘ã‚Œã©ã‚‚å½¢å¼ã¯åŒã˜ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ãã‚Œã§ã¯ã€å½¢å¼ã¯ã©ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã§ã—ょã†ã‹?

+ +

+ ap_hook_phase_name(function_name, + predecessors, successors, position); +

+ +

三ã¤ã®ä½ç½®ãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã™â€¦

+ +
    +
  • HOOK_FIRST
  • +
  • HOOK_MIDDLE
  • +
  • HOOK_LAST
  • +
+ +

ä½ç½®ã‚’定義ã™ã‚‹ã«ã¯ã€ä¸Šè¨˜ã®ã€Œä½ç½®ã€ã‚’指定ã—〠+ 修飾å­ã§ã‚る「先行ã€ã¨ã€Œå¾Œè¡Œã€ã§æ‰‹ã‚’加ãˆã¾ã™ã€‚ + 「先行ã€ã€Œå¾Œè¡Œã€ã¯ã€å‘¼ã°ã‚Œã‚‹ã¹ã関数ã®ãƒªã‚¹ãƒˆã§ã™ã€‚ + 「先行ã€ã¯é–¢æ•°ã®å®Ÿè¡Œå‰ã«å‘¼ã°ã‚Œã‚‹ã‚‚ã®ã§ã€ + 「後行ã€ã¯å®Ÿè¡Œå¾Œã«å‘¼ã°ã‚Œã‚‹ã‚‚ã®ã§ã™ã€‚

+ +

mod_mmap_static ã®å ´åˆã€post_config + ステージã§ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“ãŒã€ + mmap_static_xlat ㌠core モジュールãŒåå‰ã®å¤‰æ›ã‚’実行ã—ãŸå¾Œã« + 呼ã°ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ãã“㧠aszPre を使ã£ã¦ HOOK_LAST ã®ä¿®é£¾å­ã‚’定義ã—ã¦ã„ã¾ã™ã€‚

+ + +

モジュールã®å®šç¾©

+

モジュールã®å®šç¾©ã‚’作æˆã™ã‚‹éš›ã«æ³¨æ„ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ + ステージã®æ•°ã¯æ¿€æ¸›ã—ã¦ã„ã¾ã™ã€‚å¤ã„定義ã¯æ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã—ãŸã€‚

+ +
module MODULE_VAR_EXPORT module_name_module =
+{
+    STANDARD_MODULE_STUFF,
+    /* initializer */
+    /* dir config creater */
+    /* dir merger --- default is to override */
+    /* server config */
+    /* merge server config */
+    /* command handlers */
+    /* handlers */
+    /* filename translation */
+    /* check_user_id */
+    /* check auth */
+    /* check access */
+    /* type_checker */
+    /* fixups */
+    /* logger */
+    /* header parser */
+    /* child_init */
+    /* child_exit */
+    /* post read-request */
+};
+ +

æ–°ã—ã„構造体ã¯ã¨ã£ã¦ã‚‚シンプルã§ã™â€¦

+
module MODULE_VAR_EXPORT module_name_module =
+{
+    STANDARD20_MODULE_STUFF,
+    /* create per-directory config structures */
+    /* merge per-directory config structures  */
+    /* create per-server config structures    */
+    /* merge per-server config structures     */
+    /* command handlers */
+    /* handlers */
+    /* register hooks */
+};
+ +

ã“ã®ã†ã¡ã®ã„ãã¤ã‹ã¯å¤ã„ã‚‚ã®ã‹ã‚‰æ–°ã—ã„ã‚‚ã®ã«ç›´æŽ¥èª­ã¿æ›¿ãˆã‚‰ã‚Œã‚‹ã‚‚ã®ã§ã€ + ã„ãã¤ã‹ã¯ãã†ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ã©ã†ã™ã‚Œã°ã„ã„ã®ã‹ã‚’è¦ç´„ã—ã¦ã¿ã¾ã™ã€‚

+ +

直接読ã¿æ›¿ãˆã‚‰ã‚Œã‚‹ã‚¹ãƒ†ãƒ¼ã‚¸:

+ +
+
/* ディレクトリ設定作æˆé–¢æ•° */
+
/* ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žè¨­å®šæ§‹é€ ä½“ä½œæˆ */
+ +
/* サーãƒè¨­å®šä½œæˆé–¢æ•° */
+
/* サーãƒæ¯Žè¨­å®šæ§‹é€ ä½“ä½œæˆ */
+ +
/* ディレクトリ設定マージ関数 */
+
/* ディレクトリ毎設定構造体マージ */
+ +
/* サーãƒè¨­å®šãƒžãƒ¼ã‚¸é–¢æ•° */
+
/* サーãƒæ¯Žè¨­å®šæ§‹é€ ä½“作æˆãƒžãƒ¼ã‚¸ */
+ +
/* コマンド・テーブル */
+
/* コマンド apr_table_t */
+ +
/* ãƒãƒ³ãƒ‰ãƒ© */
+
/* ãƒãƒ³ãƒ‰ãƒ© */
+
+ +

å¤ã„関数ã®æ®‹ã‚Šã®ã‚‚ã®ã¯ãƒ•ãƒƒã‚¯ã¨ã—ã¦ç™»éŒ²ã•ã‚Œã‚‹ã¹ãã§ã™ã€‚ + ç¾æ™‚点ã§æ¬¡ã®ã‚ˆã†ãªãƒ•ãƒƒã‚¯ãƒ»ã‚¹ãƒ†ãƒ¼ã‚¸ãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã™â€¦

+ +
+
ap_hook_post_config
+
(以å‰ã® _init ルーãƒãƒ³ãŒç™»éŒ²ã•ã‚Œã‚‹ã¹ã場所ã§ã™)
+ +
ap_hook_http_method
+
(リクエストã‹ã‚‰ HTTP メソッドをå–å¾—ã—ã¾ã™ (互æ›ç”¨))
+ +
ap_hook_open_logs
+
(特定ã®ãƒ­ã‚°ã®ã‚ªãƒ¼ãƒ—ン)
+ +
ap_hook_auth_checker
+
(リソースãŒæ¨©é™ã‚’å¿…è¦ã¨ã™ã‚‹ã‹ã©ã†ã‹ã®ç¢ºèª)
+ +
ap_hook_access_checker
+
(モジュール固有ã®åˆ¶ç´„ã®ç¢ºèª)
+ +
ap_hook_check_user_id
+
(ユーザ ID ã¨ãƒ‘スワードã®ç¢ºèª)
+ +
ap_hook_default_port
+
(サーãƒã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ»ãƒãƒ¼ãƒˆã®å–å¾—)
+ +
ap_hook_pre_connection
+
(処ç†ã®ç›´å‰ã«å¿…è¦ãªã“ã¨ã‚’実行。ãŸã ã— accept 直後ã«å‘¼ã°ã‚Œã‚‹)
+ +
ap_hook_process_connection
+
(プロトコルã®å‡¦ç†)
+ +
ap_hook_child_init
+
(å­ãƒ—ロセル起動直後)
+ +
ap_hook_create_request
+
(??)
+ +
ap_hook_fixups
+
(応答内容ã®ç”Ÿæˆã‚’変更ã™ã‚‹ãƒ©ã‚¹ãƒˆãƒ»ãƒãƒ£ãƒ³ã‚¹)
+ +
ap_hook_handler
+
(応答内容ã®ç”Ÿæˆ)
+ +
ap_hook_header_parser
+
(モジュールã«ãƒ˜ãƒƒãƒ€ã®ç…§ä¼šã‚’ã•ã›ã‚‹ã€‚ã»ã¨ã‚“ã©ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ã¯ä½¿ã‚ã‚Œã¾ã›ã‚“。post_read_request を使ã„ã¾ã™)
+ +
ap_hook_insert_filter
+
(フィルタ・ãƒã‚§ã‚¤ãƒ³ã«ãƒ•ã‚£ãƒ«ã‚¿ã‚’挿入)
+ +
ap_hook_log_transaction
+
(リクエストã«ã¤ã„ã¦ã®æƒ…報を記録ã™ã‚‹)
+ +
ap_hook_optional_fn_retrieve
+
(オプションã¨ã—ã¦ç™»éŒ²ã•ã‚ŒãŸé–¢æ•°ã®å–å¾—)
+ +
ap_hook_post_read_request
+
(リクエストを読ã¿ã“ã‚“ã å¾Œã€ä»–ã®ãƒ•ã‚§ãƒ¼ã‚ºã®å‰ã«å‘¼ã°ã‚Œã‚‹)
+ +
ap_hook_quick_handler
+
リクエストã®å‡¦ç†ãŒå§‹ã¾ã‚‹å‰ã«å‘¼ã°ã‚Œã‚‹ã€‚キャッシュモジュール㌠+ 使用ã—ã¦ã„ã‚‹
+ +
ap_hook_translate_name
+
(URI をファイルåã«å¤‰æ›ã™ã‚‹)
+ +
ap_hook_type_checker
+
(文書型ã®æ±ºå®šã¨è¨­å®šã€‚ã‚ã‚‹ã„ã¯ãã®ç‰‡æ–¹)
+
+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/new_api_2_4.html b/docs/manual/developer/new_api_2_4.html new file mode 100644 index 0000000..e79fd3c --- /dev/null +++ b/docs/manual/developer/new_api_2_4.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: new_api_2_4.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/new_api_2_4.html.en b/docs/manual/developer/new_api_2_4.html.en new file mode 100644 index 0000000..6354e85 --- /dev/null +++ b/docs/manual/developer/new_api_2_4.html.en @@ -0,0 +1,601 @@ + + + + + +API Changes in Apache HTTP Server 2.4 since 2.2 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

API Changes in Apache HTTP Server 2.4 since 2.2

+
+

Available Languages:  en 

+
+ +

This document describes changes to the Apache HTTPD API from + version 2.2 to 2.4, that may be of interest to module/application + developers and core hacks. As of the first GA release of the + 2.4 branch API compatibility is preserved for the life of the + 2.4 branch. (The + VERSIONING + description for the 2.4 release provides more information about API + compatibility.)

+ +

API changes fall into two categories: APIs that are altogether new, + and existing APIs that are expanded or changed. The latter are + further divided into those where all changes are backwards-compatible + (so existing modules can ignore them), and those that might + require attention by maintainers. As with the transition from + HTTPD 2.0 to 2.2, existing modules and applications will require + recompiling and may call for some attention, but most should not + require any substantial updating (although some may be able to + take advantage of API changes to offer significant improvements).

+

For the purpose of this document, the API is split according + to the public header files. These headers are themselves the + reference documentation, and can be used to generate a browsable + HTML reference with make docs.

+
+ +
top
+
+

Changed APIs

+ + +

ap_expr (NEW!)

+ +

Introduces a new API to parse and evaluate boolean and algebraic + expressions, including provision for a standard syntax and + customised variants.

+ + +

ap_listen (changed; backwards-compatible)

+ +

Introduces a new API to enable httpd child processes to serve + different purposes.

+ + +

ap_mpm (changed)

+ +

ap_mpm_run is replaced by a new mpm hook. + Also ap_graceful_stop_signalled is lost, and + ap_mpm_register_timed_callback is new.

+ + +

ap_regex (changed)

+ +

In addition to the existing regexp wrapper, a new higher-level API + ap_rxplus is now provided. This provides the capability to + compile Perl-style expressions like s/regexp/replacement/flags + and to execute them against arbitrary strings. Support for regexp + backreferences is also added.

+ + +

ap_slotmem (NEW!)

+ +

Introduces an API for modules to allocate and manage memory slots, + most commonly for shared memory.

+ + +

ap_socache (NEW!)

+ +

API to manage a shared object cache.

+ + +

heartbeat (NEW!)

+ +

common structures for heartbeat modules

+ + +

ap_parse_htaccess (changed)

+ +

The function signature for ap_parse_htaccess has been + changed. A apr_table_t of individual directives allowed + for override must now be passed (override remains).

+ + +

http_config (changed)

+ +
    +
  • Introduces per-module, per-directory loglevels, including macro wrappers.
  • +
  • New AP_DECLARE_MODULE macro to declare all modules.
  • +
  • New APLOG_USE_MODULE macro necessary for per-module loglevels in + multi-file modules.
  • +
  • New API to retain data across module unload/load
  • +
  • New check_config hook
  • +
  • New ap_process_fnmatch_configs() function to process wildcards
  • +
  • Change ap_configfile_t, ap_cfg_getline(), + ap_cfg_getc() to return error codes, and add + ap_pcfg_strerror() for retrieving an error description.
  • +
  • Any config directive permitted in ACCESS_CONF context must now + correctly handle being called from an .htaccess file via the new + AllowOverrideList directive. + ap_check_cmd_context() accepts a new flag NOT_IN_HTACCESS to detect + this case.
  • +
+ + +

http_core (changed)

+ +
    +
  • REMOVED ap_default_type, ap_requires, all + 2.2 authnz API
  • +
  • Introduces Optional Functions for logio and authnz
  • +
  • New function ap_get_server_name_for_url to support IPv6 + literals.
  • +
  • New function ap_register_errorlog_handler to register error log + format string handlers.
  • +
  • Arguments of error_log hook have changed. Declaration has moved to + http_core.h.
  • +
  • New function ap_state_query to determine if the server is in the + initial configuration preflight phase or not. This is both easier to + use and more correct than the old method of creating a pool userdata + entry in the process pool.
  • +
  • New function ap_get_conn_socket to get the socket descriptor for a + connection. This should be used instead of accessing the core + connection config directly.
  • +
+ + +

httpd (changed)

+ +
    +
  • Introduce per-directory, per-module loglevel
  • +
  • New loglevels APLOG_TRACEn
  • +
  • Introduce errorlog ids for requests and connections
  • +
  • Support for mod_request kept_body
  • +
  • Support buffering filter data for async requests
  • +
  • New CONN_STATE values
  • +
  • Function changes: ap_escape_html updated; + ap_unescape_all, ap_escape_path_segment_buffer
  • +
  • Modules that load other modules later than the EXEC_ON_READ config + reading stage need to call ap_reserve_module_slots() or + ap_reserve_module_slots_directive() in their + pre_config hook.
  • +
  • The useragent IP address per request can now be tracked + independently of the client IP address of the connection, for + support of deployments with load balancers.
  • +
+ + +

http_log (changed)

+ +
    +
  • Introduce per-directory, per-module loglevel
  • +
  • New loglevels APLOG_TRACEn
  • +
  • ap_log_*error become macro wrappers (backwards-compatible if + APLOG_MARK macro is used, except that is no longer possible to + use #ifdef inside the argument list)
  • +
  • piped logging revamped
  • +
  • module_index added to error_log hook
  • +
  • new function: ap_log_command_line
  • +
+ + +

http_request (changed)

+ +
    +
  • New auth_internal API and auth_provider API
  • +
  • New EOR bucket type
  • +
  • New function ap_process_async_request
  • +
  • New flags AP_AUTH_INTERNAL_PER_CONF and + AP_AUTH_INTERNAL_PER_URI
  • +
  • New access_checker_ex hook to apply additional access control + and/or bypass authentication.
  • +
  • New functions ap_hook_check_access_ex, + ap_hook_check_access, ap_hook_check_authn, + ap_hook_check_authz which accept + AP_AUTH_INTERNAL_PER_* flags
  • +
  • DEPRECATED direct use of ap_hook_access_checker, + access_checker_ex, ap_hook_check_user_id, + ap_hook_auth_checker
  • +
+

When possible, registering all access control hooks (including + authentication and authorization hooks) using AP_AUTH_INTERNAL_PER_CONF + is recommended. If all modules' access control hooks are registered + with this flag, then whenever the server handles an internal + sub-request that matches the same set of access control configuration + directives as the initial request (which is the common case), it can + avoid invoking the access control hooks another time.

+

If your module requires the old behavior and must perform access + control checks on every sub-request with a different URI from the + initial request, even if that URI matches the same set of access + control configuration directives, then use + AP_AUTH_INTERNAL_PER_URI.

+ + +

mod_auth (NEW!)

+ +

Introduces the new provider framework for authn and authz

+ + +

mod_cache (changed)

+ +

Introduces a commit_entity() function to the cache provider + interface, allowing atomic writes to cache. Add a cache_status() + hook to report the cache decision. All private structures and functions were + removed.

+ + +

mod_core (NEW!)

+ +

This introduces low-level APIs to send arbitrary headers, + and exposes functions to handle HTTP OPTIONS and TRACE.

+ + +

mod_cache_disk (changed)

+ +

Changes the disk format of the disk cache to support atomic cache + updates without locking. The device/inode pair of the body file is + embedded in the header file, allowing confirmation that the header + and body belong to one another.

+ + +

mod_disk_cache (renamed)

+ +

The mod_disk_cache module has been renamed to mod_cache_disk in + order to be consistent with the naming of other modules within the + server.

+ + +

mod_request (NEW!)

+ +

The API for mod_request, to make input data + available to multiple application/handler modules where required, + and to parse HTML form data.

+ + +

mpm_common (changed)

+ +
    +
  • REMOVES: accept, lockfile, lock_mech, + set_scoreboard (locking uses the new ap_mutex API)
  • +
  • NEW API to drop privileges (delegates this platform-dependent + function to modules)
  • +
  • NEW Hooks: mpm_query, timed_callback, and + get_name
  • +
  • CHANGED interfaces: monitor hook, + ap_reclaim_child_processes, + ap_relieve_child_processes
  • +
+ + +

scoreboard (changed)

+ +

ap_get_scoreboard_worker is made non-backwards-compatible + as an alternative version is introduced. Additional proxy_balancer + support. Child status stuff revamped.

+ + +

util_cookies (NEW!)

+ +

Introduces a new API for managing HTTP Cookies.

+ + +

util_ldap (changed)

+ +

no description available

+ + +

util_mutex (NEW!)

+ +

A wrapper for APR proc and global mutexes in httpd, providing + common configuration for the underlying mechanism and location + of lock files.

+ + +

util_script (changed)

+ +

NEW: ap_args_to_table

+ + +

util_time (changed)

+ +

NEW: ap_recent_ctime_ex

+ + +
top
+
+

Specific information on upgrading modules from 2.2

+ + +

Logging

+ +

In order to take advantage of per-module loglevel configuration, any + source file that calls the ap_log_* functions should declare + which module it belongs to. If the module's module_struct is called + foo_module, the following code can be used to remain + backward compatible with HTTPD 2.0 and 2.2:

+

+ #include <http_log.h>
+
+ #ifdef APLOG_USE_MODULE
+ APLOG_USE_MODULE(foo);
+ #endif +

+

Note: This is absolutely required for C++-language modules. It + can be skipped for C-language modules, though that breaks + module-specific log level support for files without it.

+

The number of parameters of the ap_log_* functions and the + definition of APLOG_MARK has changed. Normally, the change + is completely transparent. However, changes are required if a + module uses APLOG_MARK as a parameter to its own functions + or if a module calls ap_log_* without passing + APLOG_MARK. A module which uses wrappers + around ap_log_* typically uses both of these constructs.

+ +

The easiest way to change code which passes APLOG_MARK to + its own functions is to define and use a different macro that expands to + the parameters required by those functions, as APLOG_MARK + should only be used when calling ap_log_* + directly. In this way, the code will remain compatible with HTTPD 2.0 + and 2.2.

+ +

Code which calls ap_log_* without passing + APLOG_MARK will necessarily differ between 2.4 and earlier + releases, as 2.4 requires a new third argument, + APLOG_MODULE_INDEX.

+ +

+ /* code for httpd 2.0/2.2 */
+ ap_log_perror(file, line, APLOG_ERR, 0, p, "Failed to allocate dynamic lock structure");
+
+ /* code for httpd 2.4 */
+ ap_log_perror(file, line, APLOG_MODULE_INDEX, APLOG_ERR, 0, p, "Failed to allocate dynamic lock structure");
+
+

+ +

ap_log_*error are now implemented as macros. This means + that it is no longer possible to use #ifdef inside the + argument list of ap_log_*error, as this would cause + undefined behavior according to C99.

+ +

A server_rec pointer must be passed to + ap_log_error() when called after startup. This + was always appropriate, but there are even more limitations with + a NULL server_rec in 2.4 than in + previous releases. Beginning with 2.3.12, the global variable + ap_server_conf can always be used as + the server_rec parameter, as it will be + NULL only when it is valid to pass NULL + to ap_log_error(). ap_server_conf + should be used only when a more appropriate server_rec + is not available.

+ +

Consider the following changes to take advantage of the new + APLOG_TRACE1..8 log levels:

+
    +
  • Check current use of APLOG_DEBUG and + consider if one of the APLOG_TRACEn levels is + more appropriate.
  • +
  • If your module currently has a mechanism for configuring + the amount of debug logging which is performed, consider + eliminating that mechanism and relying on the use of + different APLOG_TRACEn levels. If expensive + trace processing needs to be bypassed depending on the + configured log level, use the APLOGtracen + and APLOGrtracen macros to first check + if tracing is enabled.
  • +
+ +

Modules sometimes add process id and/or thread id to their log + messages. These ids are now logged by default, so it may not + be necessary for the module to log them explicitly. (Users may + remove them from the error log format, but they can be + instructed to add it back if necessary for problem diagnosis.)

+ + +

If your module uses these existing APIs...

+ + +
+
ap_default_type()
+
This is no longer available; Content-Type must be configured + explicitly or added by the application.
+ +
ap_get_server_name()
+
If the returned server name is used in a URL, + use ap_get_server_name_for_url() instead. This new + function handles the odd case where the server name is an IPv6 + literal address.
+ +
ap_get_server_version()
+
For logging purposes, where detailed information is + appropriate, use ap_get_server_description(). + When generating output, where the amount of information + should be configurable by ServerTokens, use + ap_get_server_banner().
+ +
ap_graceful_stop_signalled()
+
Replace with a call + to ap_mpm_query(AP_MPMQ_MPM_STATE) and checking for + state AP_MPMQ_STOPPING.
+ +
ap_max_daemons_limit, ap_my_generation, + and ap_threads_per_child
+
Use ap_mpm_query() query codes + AP_MPMQ_MAX_DAEMON_USED, AP_MPMQ_GENERATION, + and AP_MPMQ_MAX_THREADS, respectively.
+ +
ap_mpm_query()
+
Ensure that it is not used until after the register-hooks + hook has completed. Otherwise, an MPM built as a DSO + would not have had a chance to enable support for this + function.
+ +
ap_requires()
+
The core server now provides better infrastructure for handling + Require configuration. + Register an auth provider function for each supported entity using + ap_register_auth_provider(). The function will be + called as necessary during Require + processing. (Consult bundled modules for detailed examples.)
+ +
ap_server_conf->process->pool + userdata
+
+ Optional: +
    +
  • If your module uses this to determine which pass of the + startup hooks is being run, + use ap_state_query(AP_SQ_MAIN_STATE).
  • +
  • If your module uses this to maintain data across the + unloading and reloading of your module, use + ap_retained_data_create() and + ap_retained_data_get().
  • +
+
+ +
apr_global_mutex_create(), + apr_proc_mutex_create()
+
Optional: See ap_mutex_register(), + ap_global_mutex_create(), and + ap_proc_mutex_create(); these allow your + mutexes to be configurable with + the Mutex directive; + you can also remove any configuration mechanisms in your + module for such mutexes +
+ +
CORE_PRIVATE
+
This is now unnecessary and ignored.
+ +
dav_new_error() + and dav_new_error_tag()
+
Previously, these assumed that errno contained + information describing the failure. Now, + an apr_status_t parameter must be provided. Pass + 0/APR_SUCCESS if there is no such error information, or a valid + apr_status_t value otherwise.
+ +
mpm_default.h, DEFAULT_LOCKFILE, + DEFAULT_THREAD_LIMIT, DEFAULT_PIDLOG, + etc.
+
The header file and most of the default configuration + values set in it are no longer visible to modules. (Most can + still be overridden at build time.) DEFAULT_PIDLOG + and DEFAULT_REL_RUNTIMEDIR are now universally + available via ap_config.h.
+ +
unixd_config
+
This has been renamed to ap_unixd_config.
+ +
unixd_setup_child()
+
This has been renamed to ap_unixd_setup_child(), but most callers + should call the added ap_run_drop_privileges() hook.
+ +
conn_rec->remote_ip and + conn_rec->remote_addr
+
These fields have been renamed in order to distinguish between + the client IP address of the connection and the useragent IP address + of the request (potentially overridden by a load balancer or proxy). + References to either of these fields must be updated with one of the + following options, as appropriate for the module: +
    +
  • When you require the IP address of the user agent, which + might be connected directly to the server, or might optionally be + separated from the server by a transparent load balancer or + proxy, use request_rec->useragent_ip and + request_rec->useragent_addr.
  • +
  • When you require the IP address of the client that is + connected directly to the server, which might be the useragent or + might be the load balancer or proxy itself, use + conn_rec->client_ip and + conn_rec->client_addr.
  • +
+
+
+ + +

If your module interfaces with this feature...

+ +
+
suEXEC
+
Optional: If your module logs an error + when ap_unixd_config.suexec_enabled is 0, + also log the value of the new + field suexec_disabled_reason, which contains an + explanation of why it is not available.
+ +
Extended status data in the scoreboard
+
In previous releases, ExtendedStatus had to be + set to On, which in turn required that + mod_status was loaded. In 2.4, just + set ap_extended_status to 1 in a + pre-config hook and the extended status data will be + available.
+
+ + +

Does your module...

+ +
+
Parse query args
+
Consider if ap_args_to_table() would be + helpful.
+ +
Parse form data...
+
Use ap_parse_form_data().
+ +
Check for request header fields Content-Length + and Transfer-Encoding to see if a body was + specified
+
Use ap_request_has_body().
+ +
Implement cleanups which clear pointer variables
+
Use ap_pool_cleanup_set_null().
+ +
Create run-time files such as shared memory files, pid files, + etc.
+
Use ap_runtime_dir_relative() so that the global + configuration for the location of such files, either by the + DEFAULT_REL_RUNTIMEDIR compile setting or the + DefaultRuntimeDir directive, + will be respected. Apache httpd 2.4.2 and above.
+ +
+ + +
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/output-filters.html b/docs/manual/developer/output-filters.html new file mode 100644 index 0000000..ee632a6 --- /dev/null +++ b/docs/manual/developer/output-filters.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: output-filters.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/output-filters.html.en b/docs/manual/developer/output-filters.html.en new file mode 100644 index 0000000..cd5cf8c --- /dev/null +++ b/docs/manual/developer/output-filters.html.en @@ -0,0 +1,585 @@ + + + + + +Guide to writing output filters - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Guide to writing output filters

+
+

Available Languages:  en 

+
+ +

There are a number of common pitfalls encountered when writing + output filters; this page aims to document best practice for + authors of new or existing filters.

+ +

This document is applicable to both version 2.0 and version 2.2 + of the Apache HTTP Server; it specifically targets + RESOURCE-level or CONTENT_SET-level + filters though some advice is generic to all types of filter.

+
+ +
top
+
+

Filters and bucket brigades

+ + +

Each time a filter is invoked, it is passed a bucket + brigade, containing a sequence of buckets which + represent both data content and metadata. Every bucket has a + bucket type; a number of bucket types are defined and + used by the httpd core modules (and the + apr-util library which provides the bucket brigade + interface), but modules are free to define their own types.

+ +
Output filters must be prepared to process + buckets of non-standard types; with a few exceptions, a filter + need not care about the types of buckets being filtered.
+ +

A filter can tell whether a bucket represents either data or + metadata using the APR_BUCKET_IS_METADATA macro. + Generally, all metadata buckets should be passed down the filter + chain by an output filter. Filters may transform, delete, and + insert data buckets as appropriate.

+ +

There are two metadata bucket types which all filters must pay + attention to: the EOS bucket type, and the + FLUSH bucket type. An EOS bucket + indicates that the end of the response has been reached and no + further buckets need be processed. A FLUSH bucket + indicates that the filter should flush any buffered buckets (if + applicable) down the filter chain immediately.

+ +
FLUSH buckets are sent when the + content generator (or an upstream filter) knows that there may be + a delay before more content can be sent. By passing + FLUSH buckets down the filter chain immediately, + filters ensure that the client is not kept waiting for pending + data longer than necessary.
+ +

Filters can create FLUSH buckets and pass these + down the filter chain if desired. Generating FLUSH + buckets unnecessarily, or too frequently, can harm network + utilisation since it may force large numbers of small packets to + be sent, rather than a small number of larger packets. The + section on Non-blocking bucket reads + covers a case where filters are encouraged to generate + FLUSH buckets.

+ +

Example bucket brigade

+ HEAP FLUSH FILE EOS

+ +

This shows a bucket brigade which may be passed to a filter; it + contains two metadata buckets (FLUSH and + EOS), and two data buckets (HEAP and + FILE).

+ +
top
+
+

Filter invocation

+ + +

For any given request, an output filter might be invoked only + once and be given a single brigade representing the entire response. + It is also possible that the number of times a filter is invoked + for a single response is proportional to the size of the content + being filtered, with the filter being passed a brigade containing + a single bucket each time. Filters must operate correctly in + either case.

+ +
An output filter which allocates long-lived + memory every time it is invoked may consume memory proportional to + response size. Output filters which need to allocate memory + should do so once per response; see Maintaining + state below.
+ +

An output filter can distinguish the final invocation for a + given response by the presence of an EOS bucket in + the brigade. Any buckets in the brigade after an EOS should be + ignored.

+ +

An output filter should never pass an empty brigade down the + filter chain. To be defensive, filters should be prepared to + accept an empty brigade, and should return success without passing + this brigade on down the filter chain. The handling of an empty + brigade should have no side effects (such as changing any state + private to the filter).

+ +

How to handle an empty brigade

apr_status_t dummy_filter(ap_filter_t *f, apr_bucket_brigade *bb)
+{
+    if (APR_BRIGADE_EMPTY(bb)) {
+        return APR_SUCCESS;
+    }
+    ...
+
+ +
top
+
+

Brigade structure

+ + +

A bucket brigade is a doubly-linked list of buckets. The list + is terminated (at both ends) by a sentinel which can be + distinguished from a normal bucket by comparing it with the + pointer returned by APR_BRIGADE_SENTINEL. The list + sentinel is in fact not a valid bucket structure; any attempt to + call normal bucket functions (such as + apr_bucket_read) on the sentinel will have undefined + behaviour (i.e. will crash the process).

+ +

There are a variety of functions and macros for traversing and + manipulating bucket brigades; see the apr_buckets.h + header for complete coverage. Commonly used macros include:

+ +
+
APR_BRIGADE_FIRST(bb)
+
returns the first bucket in brigade bb
+ +
APR_BRIGADE_LAST(bb)
+
returns the last bucket in brigade bb
+ +
APR_BUCKET_NEXT(e)
+
gives the next bucket after bucket e
+ +
APR_BUCKET_PREV(e)
+
gives the bucket before bucket e
+ +
+ +

The apr_bucket_brigade structure itself is + allocated out of a pool, so if a filter creates a new brigade, it + must ensure that memory use is correctly bounded. A filter which + allocates a new brigade out of the request pool + (r->pool) on every invocation, for example, will fall + foul of the warning above concerning + memory use. Such a filter should instead create a brigade on the + first invocation per request, and store that brigade in its state structure.

+ +

It is generally never advisable to use + apr_brigade_destroy to "destroy" a brigade unless + you know for certain that the brigade will never be used + again, even then, it should be used rarely. The + memory used by the brigade structure will not be released by + calling this function (since it comes from a pool), but the + associated pool cleanup is unregistered. Using + apr_brigade_destroy can in fact cause memory leaks; + if a "destroyed" brigade contains buckets when its + containing pool is destroyed, those buckets will not be + immediately destroyed.

+ +

In general, filters should use apr_brigade_cleanup + in preference to apr_brigade_destroy.

+ +
top
+
+

Processing buckets

+ + + +

When dealing with non-metadata buckets, it is important to + understand that the "apr_bucket *" object is an + abstract representation of data:

+ +
    +
  1. The amount of data represented by the bucket may or may not + have a determinate length; for a bucket which represents data of + indeterminate length, the ->length field is set to + the value (apr_size_t)-1. For example, buckets of + the PIPE bucket type have an indeterminate length; + they represent the output from a pipe.
  2. + +
  3. The data represented by a bucket may or may not be mapped + into memory. The FILE bucket type, for example, + represents data stored in a file on disk.
  4. +
+ +

Filters read the data from a bucket using the + apr_bucket_read function. When this function is + invoked, the bucket may morph into a different bucket + type, and may also insert a new bucket into the bucket brigade. + This must happen for buckets which represent data not mapped into + memory.

+ +

To give an example; consider a bucket brigade containing a + single FILE bucket representing an entire file, 24 + kilobytes in size:

+ +

FILE(0K-24K)

+ +

When this bucket is read, it will read a block of data from the + file, morph into a HEAP bucket to represent that + data, and return the data to the caller. It also inserts a new + FILE bucket representing the remainder of the file; + after the apr_bucket_read call, the brigade looks + like:

+ +

HEAP(8K) FILE(8K-24K)

+ +
top
+
+

Filtering brigades

+ + +

The basic function of any output filter will be to iterate + through the passed-in brigade and transform (or simply examine) + the content in some manner. The implementation of the iteration + loop is critical to producing a well-behaved output filter.

+ +

Taking an example which loops through the entire brigade as + follows:

+ +

Bad output filter -- do not imitate!

apr_bucket *e = APR_BRIGADE_FIRST(bb);
+const char *data;
+apr_size_t length;
+
+while (e != APR_BRIGADE_SENTINEL(bb)) {
+    apr_bucket_read(e, &data, &length, APR_BLOCK_READ);
+    e = APR_BUCKET_NEXT(e);
+}
+
+return ap_pass_brigade(bb);
+
+ +

The above implementation would consume memory proportional to + content size. If passed a FILE bucket, for example, + the entire file contents would be read into memory as each + apr_bucket_read call morphed a FILE + bucket into a HEAP bucket.

+ +

In contrast, the implementation below will consume a fixed + amount of memory to filter any brigade; a temporary brigade is + needed and must be allocated only once per response, see the Maintaining state section.

+ +

Better output filter

apr_bucket *e;
+const char *data;
+apr_size_t length;
+
+while ((e = APR_BRIGADE_FIRST(bb)) != APR_BRIGADE_SENTINEL(bb)) {
+    rv = apr_bucket_read(e, &data, &length, APR_BLOCK_READ);
+    if (rv) ...;
+    /* Remove bucket e from bb. */
+    APR_BUCKET_REMOVE(e);
+    /* Insert it into  temporary brigade. */
+    APR_BRIGADE_INSERT_HEAD(tmpbb, e);
+    /* Pass brigade downstream. */
+    rv = ap_pass_brigade(f->next, tmpbb);
+    if (rv) ...;
+    apr_brigade_cleanup(tmpbb);
+}
+
+ +
top
+
+

Maintaining state

+ + + +

A filter which needs to maintain state over multiple + invocations per response can use the ->ctx field of + its ap_filter_t structure. It is typical to store a + temporary brigade in such a structure, to avoid having to allocate + a new brigade per invocation as described in the Brigade structure section.

+ +

Example code to maintain filter state

struct dummy_state {
+    apr_bucket_brigade *tmpbb;
+    int filter_state;
+    ...
+};
+
+apr_status_t dummy_filter(ap_filter_t *f, apr_bucket_brigade *bb)
+{
+    struct dummy_state *state;
+
+    state = f->ctx;
+    if (state == NULL) {
+
+        /* First invocation for this response: initialise state structure.
+         */
+        f->ctx = state = apr_palloc(f->r->pool, sizeof *state);
+
+        state->tmpbb = apr_brigade_create(f->r->pool, f->c->bucket_alloc);
+        state->filter_state = ...;
+    }
+    ...
+
+ +
top
+
+

Buffering buckets

+ + +

If a filter decides to store buckets beyond the duration of a + single filter function invocation (for example storing them in its + ->ctx state structure), those buckets must be set + aside. This is necessary because some bucket types provide + buckets which represent temporary resources (such as stack memory) + which will fall out of scope as soon as the filter chain completes + processing the brigade.

+ +

To setaside a bucket, the apr_bucket_setaside + function can be called. Not all bucket types can be setaside, but + if successful, the bucket will have morphed to ensure it has a + lifetime at least as long as the pool given as an argument to the + apr_bucket_setaside function.

+ +

Alternatively, the ap_save_brigade function can be + used, which will move all the buckets into a separate brigade + containing buckets with a lifetime as long as the given pool + argument. This function must be used with care, taking into + account the following points:

+ +
    +
  1. On return, ap_save_brigade guarantees that all + the buckets in the returned brigade will represent data mapped + into memory. If given an input brigade containing, for example, + a PIPE bucket, ap_save_brigade will + consume an arbitrary amount of memory to store the entire output + of the pipe.
  2. + +
  3. When ap_save_brigade reads from buckets which + cannot be setaside, it will always perform blocking reads, + removing the opportunity to use Non-blocking + bucket reads.
  4. + +
  5. If ap_save_brigade is used without passing a + non-NULL "saveto" (destination) brigade parameter, + the function will create a new brigade, which may cause memory + use to be proportional to content size as described in the Brigade structure section.
  6. +
+ +
Filters must ensure that any buffered data is + processed and passed down the filter chain during the last + invocation for a given response (a brigade containing an EOS + bucket). Otherwise such data will be lost.
+ +
top
+
+

Non-blocking bucket reads

+ + +

The apr_bucket_read function takes an + apr_read_type_e argument which determines whether a + blocking or non-blocking read will be performed + from the data source. A good filter will first attempt to read + from every data bucket using a non-blocking read; if that fails + with APR_EAGAIN, then send a FLUSH + bucket down the filter chain, and retry using a blocking read.

+ +

This mode of operation ensures that any filters further down the + filter chain will flush any buffered buckets if a slow content + source is being used.

+ +

A CGI script is an example of a slow content source which is + implemented as a bucket type. mod_cgi will send + PIPE buckets which represent the output from a CGI + script; reading from such a bucket will block when waiting for the + CGI script to produce more output.

+ +

Example code using non-blocking bucket reads

apr_bucket *e;
+apr_read_type_e mode = APR_NONBLOCK_READ;
+
+while ((e = APR_BRIGADE_FIRST(bb)) != APR_BRIGADE_SENTINEL(bb)) {
+    apr_status_t rv;
+
+    rv = apr_bucket_read(e, &data, &length, mode);
+    if (rv == APR_EAGAIN && mode == APR_NONBLOCK_READ) {
+
+        /* Pass down a brigade containing a flush bucket: */
+        APR_BRIGADE_INSERT_TAIL(tmpbb, apr_bucket_flush_create(...));
+        rv = ap_pass_brigade(f->next, tmpbb);
+        apr_brigade_cleanup(tmpbb);
+        if (rv != APR_SUCCESS) return rv;
+
+        /* Retry, using a blocking read. */
+        mode = APR_BLOCK_READ;
+        continue;
+    }
+    else if (rv != APR_SUCCESS) {
+        /* handle errors */
+    }
+
+    /* Next time, try a non-blocking read first. */
+    mode = APR_NONBLOCK_READ;
+    ...
+}
+
+ +
top
+
+

Ten rules for output filters

+ + +

In summary, here is a set of rules for all output filters to + follow:

+ +
    +
  1. Output filters should not pass empty brigades down the filter + chain, but should be tolerant of being passed empty + brigades.
  2. + +
  3. Output filters must pass all metadata buckets down the filter + chain; FLUSH buckets should be respected by passing + any pending or buffered buckets down the filter chain.
  4. + +
  5. Output filters should ignore any buckets following an + EOS bucket.
  6. + +
  7. Output filters must process a fixed amount of data at a + time, to ensure that memory consumption is not proportional to + the size of the content being filtered.
  8. + +
  9. Output filters should be agnostic with respect to bucket + types, and must be able to process buckets of unfamiliar + type.
  10. + +
  11. After calling ap_pass_brigade to pass a brigade + down the filter chain, output filters should call + apr_brigade_cleanup to ensure the brigade is empty + before reusing that brigade structure; output filters should + never use apr_brigade_destroy to "destroy" + brigades.
  12. + +
  13. Output filters must setaside any buckets which are + preserved beyond the duration of the filter function.
  14. + +
  15. Output filters must not ignore the return value of + ap_pass_brigade, and must return appropriate errors + back up the filter chain.
  16. + +
  17. Output filters must only create a fixed number of bucket + brigades for each response, rather than one per invocation.
  18. + +
  19. Output filters should first attempt non-blocking reads from + each data bucket, and send a FLUSH bucket down the + filter chain if the read blocks, before retrying with a blocking + read.
  20. + +
+ +
top
+
+

Use case: buffering in mod_ratelimit

+ +

The r1833875 change is a good + example to show what buffering and keeping state means in the context of an + output filter. In this use case, a user asked on the users' mailing list a + interesting question about why mod_ratelimit seemed not to + honor its setting with proxied content (either rate limiting at a different + speed or simply not doing it at all). Before diving deep into the solution, + it is better to explain on a high level how mod_ratelimit works. + The trick is really simple: take the rate limit settings and calculate a + chunk size of data to flush every 200ms to the client. For example, let's imagine + that to set rate-limit 60 in our config, these are the high level + steps to find the chunk size:

+
/* milliseconds to wait between each flush of data */
+RATE_INTERVAL_MS = 200;
+/* rate limit speed in b/s */
+speed = 60 * 1024;
+/* final chunk size is 12228 bytes */
+chunk_size = (speed / (1000 / RATE_INTERVAL_MS));
+ +

If we apply this calculation to a bucket brigade carrying 38400 bytes, it means + that the filter will try to do the following:

+
    +
  1. Split the 38400 bytes in chunks of maximum 12228 bytes each.
  2. +
  3. Flush the first 12228 chunk of bytes and sleep 200ms.
  4. +
  5. Flush the second 12228 chunk of bytes and sleep 200ms.
  6. +
  7. Flush the third 12228 chunk of bytes and sleep 200ms.
  8. +
  9. Flush the remaining 1716 bytes.
  10. +
+

The above pseudo code works fine if the output filter handles only one brigade + for each response, but it might happen that it needs to be called multiple times + with different brigade sizes as well. The former use case is for example when + httpd directly serves some content, like a static file: the bucket brigade + abstraction takes care of handling the whole content, and rate limiting + works nicely. But if the same static content is served via mod_proxy_http (for + example a backend is serving it rather than httpd) then the content generator + (in this case mod_proxy_http) may use a maximum buffer size and then send data + as bucket brigades to the output filters chain regularly, triggering of course + multiple calls to mod_ratelimit. If the reader tries to execute the pseudo code + assuming multiple calls to the output filter, each one requiring to process + a bucket brigade of 38400 bytes, then it is easy to spot some + anomalies:

+
    +
  1. Between the last flush of a brigade and the first one of the next, + there is no sleep.
  2. +
  3. Even if the sleep was forced after the last flush, then that chunk size + would not be the ideal size (1716 bytes instead of 12228) and the final client's speed + would quickly become different than what set in the httpd's config.
  4. +
+

In this case, two things might help:

+
    +
  1. Use the ctx internal data structure, initialized by mod_ratelimit + for each response handling cycle, to "remember" when the last sleep was + performed across multiple invocations, and act accordingly.
  2. +
  3. If a bucket brigade is not splittable into a finite number of chunk_size + blocks, store the remaining bytes (located in the tail of the bucket brigade) + in a temporary holding area (namely another bucket brigade) and then use + ap_save_brigade to set them aside. + These bytes will be prepended to the next bucket brigade that will be handled + in the subsequent invocation.
  4. +
  5. Avoid the previous logic if the bucket brigade that is currently being + processed contains the end of stream bucket (EOS). There is no need to sleep + or buffering data if the end of stream is reached.
  6. +
+

The commit linked in the beginning of the section contains also a bit of code + refactoring so it is not trivial to read during the first pass, but the overall + idea is basically what written up to now. The goal of this section is not to + cause a headache to the reader trying to read C code, but to put him/her into + the right mindset needed to use efficiently the tools offered by the httpd's + filter chain toolset.

+
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/request.html b/docs/manual/developer/request.html new file mode 100644 index 0000000..92c1bee --- /dev/null +++ b/docs/manual/developer/request.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: request.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/request.html.en b/docs/manual/developer/request.html.en new file mode 100644 index 0000000..2ea780d --- /dev/null +++ b/docs/manual/developer/request.html.en @@ -0,0 +1,248 @@ + + + + + +Request Processing in the Apache HTTP Server 2.x - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Request Processing in the Apache HTTP Server 2.x

+
+

Available Languages:  en 

+
+ +

Warning

+

Warning - this is a first (fast) draft that needs further + revision!

+
+ +

Several changes in 2.0 and above affect the internal request + processing mechanics. Module authors need to be aware of these + changes so they may take advantage of the optimizations and + security enhancements.

+ +

The first major change is to the subrequest and redirect + mechanisms. There were a number of different code paths in + the Apache HTTP Server 1.3 to attempt to optimize subrequest + or redirect behavior. As patches were introduced to 2.0, these + optimizations (and the server behavior) were quickly broken due + to this duplication of code. All duplicate code has been folded + back into ap_process_request_internal() to prevent + the code from falling out of sync again.

+ +

This means that much of the existing code was 'unoptimized'. + It is the Apache HTTP Project's first goal to create a robust + and correct implementation of the HTTP server RFC. Additional + goals include security, scalability and optimization. New + methods were sought to optimize the server (beyond the + performance of 1.3) without introducing fragile or + insecure code.

+
+ +
top
+
+

The Request Processing Cycle

+

All requests pass through ap_process_request_internal() + in server/request.c, including subrequests and redirects. If a module + doesn't pass generated requests through this code, the author is cautioned + that the module may be broken by future changes to request + processing.

+ +

To streamline requests, the module author can take advantage + of the hooks offered to drop + out of the request cycle early, or to bypass core hooks which are + irrelevant (and costly in terms of CPU.)

+
top
+
+

The Request Parsing Phase

+

Unescapes the URL

+

The request's parsed_uri path is unescaped, once and only + once, at the beginning of internal request processing.

+ +

This step is bypassed if the proxyreq flag is set, or the + parsed_uri.path element is unset. The module has no further + control of this one-time unescape operation, either failing to + unescape or multiply unescaping the URL leads to security + repercussions.

+ + +

Strips Parent and This Elements from the + URI

+

All /../ and /./ elements are + removed by ap_getparents(), as well as any trailing + /. or /.. element. This helps to ensure + the path is (nearly) absolute before the request processing + continues. (See RFC 1808 section 4 for further discussion.)

+ +

This step cannot be bypassed.

+ + +

Initial URI Location Walk

+

Every request is subject to an + ap_location_walk() call. This ensures that + <Location> sections + are consistently enforced for all requests. If the request is an internal + redirect or a sub-request, it may borrow some or all of the processing + from the previous or parent request's ap_location_walk, so this step + is generally very efficient after processing the main request.

+ + +

translate_name

+

Modules can determine the file name, or alter the given URI + in this step. For example, mod_vhost_alias will + translate the URI's path into the configured virtual host, + mod_alias will translate the path to an alias path, + and if the request falls back on the core, the DocumentRoot is prepended to the request resource.

+ +

If all modules DECLINE this phase, an error 500 is + returned to the browser, and a "couldn't translate name" error is logged + automatically.

+ + +

Hook: map_to_storage

+

After the file or correct URI was determined, the + appropriate per-dir configurations are merged together. For + example, mod_proxy compares and merges the appropriate + <Proxy> sections. + If the URI is nothing more than a local (non-proxy) TRACE + request, the core handles the request and returns DONE. + If no module answers this hook with OK or DONE, + the core will run the request filename against the <Directory> and <Files> sections. If the request + 'filename' isn't an absolute, legal filename, a note is set for + later termination.

+ + +

URI Location Walk

+

Every request is hardened by a second + ap_location_walk() call. This reassures that a + translated request is still subjected to the configured + <Location> sections. + The request again borrows some or all of the processing from its previous + location_walk above, so this step is almost always very + efficient unless the translated URI mapped to a substantially different + path or Virtual Host.

+ + +

Hook: header_parser

+

The main request then parses the client's headers. This + prepares the remaining request processing steps to better serve + the client's request.

+ +
top
+
+

The Security Phase

+

Needs Documentation. Code is:

+ +
if ((access_status = ap_run_access_checker(r)) != 0) {
+    return decl_die(access_status, "check access", r);
+}
+
+if ((access_status = ap_run_check_user_id(r)) != 0) {
+    return decl_die(access_status, "check user", r);
+}
+
+if ((access_status = ap_run_auth_checker(r)) != 0) {
+    return decl_die(access_status, "check authorization", r);
+}
+ +
top
+
+

The Preparation Phase

+

Hook: type_checker

+

The modules have an opportunity to test the URI or filename + against the target resource, and set mime information for the + request. Both mod_mime and + mod_mime_magic use this phase to compare the file + name or contents against the administrator's configuration and set the + content type, language, character set and request handler. Some modules + may set up their filters or other request handling parameters at this + time.

+ +

If all modules DECLINE this phase, an error 500 is + returned to the browser, and a "couldn't find types" error is logged + automatically.

+ + +

Hook: fixups

+

Many modules are 'trounced' by some phase above. The fixups + phase is used by modules to 'reassert' their ownership or force + the request's fields to their appropriate values. It isn't + always the cleanest mechanism, but occasionally it's the only + option.

+ +
top
+
+

The Handler Phase

+

This phase is not part of the processing in + ap_process_request_internal(). Many + modules prepare one or more subrequests prior to creating any + content at all. After the core, or a module calls + ap_process_request_internal() it then calls + ap_invoke_handler() to generate the request.

+ +

Hook: insert_filter

+

Modules that transform the content in some way can insert + their values and override existing filters, such that if the + user configured a more advanced filter out-of-order, then the + module can move its order as need be. There is no result code, + so actions in this hook better be trusted to always succeed.

+ + +

Hook: handler

+

The module finally has a chance to serve the request in its + handler hook. Note that not every prepared request is sent to + the handler hook. Many modules, such as mod_autoindex, + will create subrequests for a given URI, and then never serve the + subrequest, but simply lists it for the user. Remember not to + put required teardown from the hooks above into this module, + but register pool cleanups against the request pool to free + resources as required.

+ +
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/developer/thread_safety.html b/docs/manual/developer/thread_safety.html new file mode 100644 index 0000000..8196302 --- /dev/null +++ b/docs/manual/developer/thread_safety.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: thread_safety.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/developer/thread_safety.html.en b/docs/manual/developer/thread_safety.html.en new file mode 100644 index 0000000..7e842d8 --- /dev/null +++ b/docs/manual/developer/thread_safety.html.en @@ -0,0 +1,307 @@ + + + + + +Apache HTTP Server 2.x Thread Safety Issues - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache HTTP Server 2.x Thread Safety Issues

+
+

Available Languages:  en 

+
+ +

When using any of the threaded mpms in the Apache HTTP Server 2.x it is important + that every function called from Apache be thread safe. When linking in 3rd + party extensions it can be difficult to determine whether the resulting + server will be thread safe. Casual testing generally won't tell you this + either as thread safety problems can lead to subtle race conditions that + may only show up in certain conditions under heavy load.

+
+ +
top
+
+

Global and static variables

+

When writing your module or when trying to determine if a module or + 3rd party library is thread safe there are some common things to keep in + mind.

+ +

First, you need to recognize that in a threaded model each individual + thread has its own program counter, stack and registers. Local variables + live on the stack, so those are fine. You need to watch out for any + static or global variables. This doesn't mean that you are absolutely not + allowed to use static or global variables. There are times when you + actually want something to affect all threads, but generally you need to + avoid using them if you want your code to be thread safe.

+ +

In the case where you have a global variable that needs to be global and + accessed by all threads, be very careful when you update it. If, for + example, it is an incrementing counter, you need to atomically increment + it to avoid race conditions with other threads. You do this using a mutex + (mutual exclusion). Lock the mutex, read the current value, increment it + and write it back and then unlock the mutex. Any other thread that wants + to modify the value has to first check the mutex and block until it is + cleared.

+ +

If you are using APR, have a look + at the apr_atomic_* functions and the + apr_thread_mutex_* functions.

+ +
top
+
+

errno

+

This is a common global variable that holds the error number of the + last error that occurred. If one thread calls a low-level function that + sets errno and then another thread checks it, we are bleeding error + numbers from one thread into another. To solve this, make sure your + module or library defines _REENTRANT or is compiled with + -D_REENTRANT. This will make errno a per-thread variable + and should hopefully be transparent to the code. It does this by doing + something like this:

+ +

+ #define errno (*(__errno_location())) +

+ +

which means that accessing errno will call + __errno_location() which is provided by the libc. Setting + _REENTRANT also forces redefinition of some other functions + to their *_r equivalents and sometimes changes + the common getc/putc macros into safer function + calls. Check your libc documentation for specifics. Instead of, or in + addition to _REENTRANT the symbols that may affect this are + _POSIX_C_SOURCE, _THREAD_SAFE, + _SVID_SOURCE, and _BSD_SOURCE.

+
top
+
+

Common standard troublesome functions

+

Not only do things have to be thread safe, but they also have to be + reentrant. strtok() is an obvious one. You call it the first + time with your delimiter which it then remembers and on each subsequent + call it returns the next token. Obviously if multiple threads are + calling it you will have a problem. Most systems have a reentrant version + of the function called strtok_r() where you pass in an + extra argument which contains an allocated char * which the + function will use instead of its own static storage for maintaining + the tokenizing state. If you are using APR you can use apr_strtok().

+ +

crypt() is another function that tends to not be reentrant, + so if you run across calls to that function in a library, watch out. On + some systems it is reentrant though, so it is not always a problem. If + your system has crypt_r() chances are you should be using + that, or if possible simply avoid the whole mess by using md5 instead.

+ +
top
+
+

Common 3rd Party Libraries

+

The following is a list of common libraries that are used by 3rd party + Apache modules. You can check to see if your module is using a potentially + unsafe library by using tools such as ldd(1) and + nm(1). For PHP, for example, + try this:

+ +

+ % ldd libphp4.so
+ libsablot.so.0 => /usr/local/lib/libsablot.so.0 (0x401f6000)
+ libexpat.so.0 => /usr/lib/libexpat.so.0 (0x402da000)
+ libsnmp.so.0 => /usr/lib/libsnmp.so.0 (0x402f9000)
+ libpdf.so.1 => /usr/local/lib/libpdf.so.1 (0x40353000)
+ libz.so.1 => /usr/lib/libz.so.1 (0x403e2000)
+ libpng.so.2 => /usr/lib/libpng.so.2 (0x403f0000)
+ libmysqlclient.so.11 => /usr/lib/libmysqlclient.so.11 (0x40411000)
+ libming.so => /usr/lib/libming.so (0x40449000)
+ libm.so.6 => /lib/libm.so.6 (0x40487000)
+ libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x404a8000)
+ libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x404e7000)
+ libcrypt.so.1 => /lib/libcrypt.so.1 (0x40505000)
+ libssl.so.2 => /lib/libssl.so.2 (0x40532000)
+ libcrypto.so.2 => /lib/libcrypto.so.2 (0x40560000)
+ libresolv.so.2 => /lib/libresolv.so.2 (0x40624000)
+ libdl.so.2 => /lib/libdl.so.2 (0x40634000)
+ libnsl.so.1 => /lib/libnsl.so.1 (0x40637000)
+ libc.so.6 => /lib/libc.so.6 (0x4064b000)
+ /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) +

+ +

In addition to these libraries you will need to have a look at any + libraries linked statically into the module. You can use nm(1) + to look for individual symbols in the module.

+
top
+
+

Library List

+

Please drop a note to dev@httpd.apache.org + if you have additions or corrections to this list.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LibraryVersionThread Safe?Notes
ASpell/PSpell ?
Berkeley DB3.x, 4.xYesBe careful about sharing a connection across threads.
bzip2 YesBoth low-level and high-level APIs are thread-safe. However, + high-level API requires thread-safe access to errno.
cdb ?
C-Client Perhapsc-client uses strtok() and + gethostbyname() which are not thread-safe on most C + library implementations. c-client's static data is meant to be shared + across threads. If strtok() and + gethostbyname() are thread-safe on your OS, c-client + may be thread-safe.
libcrypt ?
Expat YesNeed a separate parser instance per thread
FreeTDS ?
FreeType ?
GD 1.8.x ?
GD 2.0.x ?
gdbm NoErrors returned via a static gdbm_error + variable
ImageMagick5.2.2YesImageMagick docs claim it is thread safe since version 5.2.2 (see Change log). +
Imlib2 ?
libjpegv6b?
libmysqlclient YesUse mysqlclient_r library variant to ensure thread-safety. For + more information, please read http://dev.mysql.com/doc/mysql/en/Threaded_clients.html.
Ming0.2a?
Net-SNMP5.0.x?
OpenLDAP2.1.xYesUse ldap_r library variant to ensure + thread-safety.
OpenSSL0.9.6gYesRequires proper usage of CRYPTO_num_locks, + CRYPTO_set_locking_callback, + CRYPTO_set_id_callback
liboci8 (Oracle 8+)8.x,9.x?
pdflib5.0.xYesPDFLib docs claim it is thread safe; changes.txt indicates it + has been partially thread-safe since V1.91: http://www.pdflib.com/products/pdflib-family/pdflib/.
libpng1.0.x?
libpng1.2.x?
libpq (PostgreSQL)8.xYesDon't share connections across threads and watch out for + crypt() calls
Sablotron0.95?
zlib1.1.4YesRelies upon thread-safe zalloc and zfree functions Default is to + use libc's calloc/free which are thread-safe.
+
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dns-caveats.html b/docs/manual/dns-caveats.html new file mode 100644 index 0000000..f4a35c2 --- /dev/null +++ b/docs/manual/dns-caveats.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: dns-caveats.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: dns-caveats.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: dns-caveats.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: dns-caveats.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: dns-caveats.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/dns-caveats.html.en b/docs/manual/dns-caveats.html.en new file mode 100644 index 0000000..ac35fe4 --- /dev/null +++ b/docs/manual/dns-caveats.html.en @@ -0,0 +1,217 @@ + + + + + +Issues Regarding DNS and Apache HTTP Server - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Issues Regarding DNS and Apache HTTP Server

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

This page could be summarized with the statement: don't + configure Apache HTTP Server in such a way that it relies on DNS resolution + for parsing of the configuration files. If httpd requires DNS + resolution to parse the configuration files then your server + may be subject to reliability problems (ie. it might not start up), + or denial and theft of service attacks (including virtual hosts able + to steal hits from other virtual hosts).

+
+ +
top
+
+

A Simple Example

+ + +
# This is a misconfiguration example, do not use on your server
+<VirtualHost www.example.dom>
+  ServerAdmin webgirl@example.dom
+  DocumentRoot "/www/example"
+</VirtualHost>
+ + +

In order for the server to function properly, it absolutely needs + to have two pieces of information about each virtual host: the + ServerName and at least one + IP address that the server will bind and respond to. The above + example does not include the IP address, so httpd must use DNS + to find the address of www.example.dom. If for some + reason DNS is not available at the time your server is parsing + its config file, then this virtual host will not be + configured. It won't be able to respond to any hits + to this virtual host.

+ +

Suppose that www.example.dom has address 192.0.2.1. + Then consider this configuration snippet:

+ +
# This is a misconfiguration example, do not use on your server
+<VirtualHost 192.0.2.1>
+  ServerAdmin webgirl@example.dom
+  DocumentRoot "/www/example"
+</VirtualHost>
+ + +

This time httpd needs to use reverse DNS to find the + ServerName for this virtualhost. If that reverse + lookup fails then it will partially disable the virtualhost. + If the virtual host is name-based then it will effectively be + totally disabled, but if it is IP-based then it will mostly + work. However, if httpd should ever have to generate a full + URL for the server which includes the server name (such as when a + Redirect is issued), then it will fail to generate a valid URL.

+ +

Here is a snippet that avoids both of these problems:

+ +
<VirtualHost 192.0.2.1>
+  ServerName www.example.dom
+  ServerAdmin webgirl@example.dom
+  DocumentRoot "/www/example"
+</VirtualHost>
+ +
top
+
+

Denial of Service

+ + +

Consider this configuration snippet:

+ +
<VirtualHost www.example1.dom>
+  ServerAdmin webgirl@example1.dom
+  DocumentRoot "/www/example1"
+</VirtualHost>
+<VirtualHost www.example2.dom>
+  ServerAdmin webguy@example2.dom
+  DocumentRoot "/www/example2"
+</VirtualHost>
+ + +

Suppose that you've assigned 192.0.2.1 to + www.example1.dom and 192.0.2.2 to + www.example2.dom. Furthermore, suppose that + example1.dom has control of their own DNS. With this + config you have put example1.dom into a position where + they can steal all traffic destined to example2.dom. To + do so, all they have to do is set www.example1.dom to + 192.0.2.2. Since they control their own DNS you can't stop them + from pointing the www.example1.dom record wherever they + wish.

+ +

Requests coming in to 192.0.2.2 (including all those where + users typed in URLs of the form + http://www.example2.dom/whatever) will all be served by + the example1.dom virtual host. To better understand why + this happens requires a more in-depth discussion of how httpd + matches up incoming requests with the virtual host that will + serve it. A rough document describing this is available.

+
top
+
+

The "main server" Address

+ + +

Name-based + virtual host support requires httpd to know + the IP address(es) of the host that httpd + is running on. To get this address it uses either the global + ServerName + (if present) or calls the C function gethostname + (which should return the same as typing "hostname" at the + command prompt). Then it performs a DNS lookup on this address. + At present there is no way to avoid this lookup.

+ +

If you fear that this lookup might fail because your DNS + server is down then you can insert the hostname in + /etc/hosts (where you probably already have it so + that the machine can boot properly). Then ensure that your + machine is configured to use /etc/hosts in the + event that DNS fails. Depending on what OS you are using this + might be accomplished by editing /etc/resolv.conf, + or maybe /etc/nsswitch.conf.

+ +

If your server doesn't have to perform DNS for any other + reason then you might be able to get away with running httpd + with the HOSTRESORDER environment variable set to + "local". This all depends on what OS and resolver libraries you + are using. It also affects CGIs unless you use + mod_env to control the environment. It's best + to consult the man pages or FAQs for your OS.

+
top
+
+

Tips to Avoid These Problems

+ + +
    +
  • + use IP addresses in + VirtualHost +
  • + +
  • + use IP addresses in + Listen +
  • + +
  • + ensure all virtual hosts have an explicit + ServerName +
  • + +
  • create a <VirtualHost _default_:*> + server that has no pages to serve
  • +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dns-caveats.html.fr.utf8 b/docs/manual/dns-caveats.html.fr.utf8 new file mode 100644 index 0000000..082a639 --- /dev/null +++ b/docs/manual/dns-caveats.html.fr.utf8 @@ -0,0 +1,226 @@ + + + + + +Problèmes liés au DNS avec le serveur HTTP Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Problèmes liés au DNS avec le serveur HTTP Apache

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Cette page pourrait se résumer ainsi : configurez le + serveur HTTP Apache de façon + à ce qu'il n'ait pas besoin de résolution DNS pour interpréter les + fichiers de configuration. Si httpd doit effectuer des résolutions + DNS pour interpréter les fichiers de configuration, votre serveur + pourra présenter des problèmes de fiabilité (en d'autres termes, + il est possible qu'il refuse de démarrer), ou d'attaques par déni ou + usurpation de service (y compris l'attribution de requêtes à un + serveur virtuel autre que le serveur virtuel voulu).

+
+ +
top
+
+

Un exemple simple

+ + +
# Ceci est un exemple de mauvaise configuration ; ne l'utilisez pas comme base
+# de configuration
+<VirtualHost www.example.dom>
+  ServerAdmin webgirl@example.dom
+  DocumentRoot "/www/example"
+</VirtualHost>
+ + +

Pour fonctionner correctement, le serveur a absolument besoin de deux + informations à propos de chaque serveur virtuel : le nom du serveur + défini par la directive ServerName, et au moins une adresse IP à + laquelle le serveur va se rattacher et répondre. L'exemple ci-dessus + ne comporte pas d'adresse IP, si bien que httpd devra utiliser le + DNS pour trouver l'adresse IP de www.example.dom. Si pour + une raison quelconque, le DNS n'est pas disponible au moment où + votre serveur interprète son fichier de configuration, ce serveur + virtuel ne sera pas pris en compte dans la + configuration. Il sera incapable de + répondre à toute requête pour ce serveur virtuel.

+ +

Supposons que l'adresse de www.example.dom soit + 192.0.2.1, et examinons cet extrait de configuration :

+ +
# Ceci est un exemple de mauvaise configuration ; ne l'utilisez pas comme base
+# de configuration
+<VirtualHost 192.0.2.1>
+  ServerAdmin webgirl@example.dom
+  DocumentRoot "/www/example"
+</VirtualHost>
+ + +

Cette fois, httpd doit effectuer une recherche DNS inverse pour + trouver le nom ServerName de ce serveur virtuel. Si + cette recherche inverse échoue, le serveur virtuel sera + partiellement désactivé. Si le serveur + virtuel est à base de nom, il sera en fait totalement désactivé, + mais s'il est à base d'adresse IP, il fonctionnera probablement. + Cependant, httpd échouera s'il doit générer une URL complète pour + le serveur qui inclut ce nom de serveur (comme dans le cas d'une + redirection).

+ +

Voici un extrait de configuration qui permet d'éviter ces deux + types de problèmes :

+ +
<VirtualHost 192.0.2.1>
+  ServerName www.example.dom
+  ServerAdmin webgirl@example.dom
+  DocumentRoot "/www/example"
+</VirtualHost>
+ +
top
+
+

Déni de service

+ + +

Considérons cet extrait de configuration :

+ +
<VirtualHost www.example1.dom>
+  ServerAdmin webgirl@example1.dom
+  DocumentRoot "/www/example1"
+</VirtualHost>
+<VirtualHost www.example2.dom>
+  ServerAdmin webguy@example2.dom
+  DocumentRoot "/www/example2"
+</VirtualHost>
+ + +

Supposons que vous ayez assigné 192.0.2.1 à + www.example1.dom et 192.0.2.2 à www.example2.dom. En + outre, supposons que example1.dom gère son propre DNS. Avec + cette configuration, example1.dom sera en mesure de + détourner tout trafic destiné à example2.dom. Pour y + parvenir, tout ce qu'ils ont à faire consiste à + assigner 192.0.2.2 à + www.example1.dom. Comme ils gèrent leur propre DNS, vous ne + pouvez pas les empêcher de faire pointer l'enregistrement + www.example1.dom vers l'adresse qu'ils veulent.

+ +

Les requêtes à destination de 192.0.2.2 (y compris toutes celles + où l'utilisateur à tapé une URL de la forme + http://www.example2.dom/quelquepart), seront toutes servies + par le serveur virtuel example1.dom. Une meilleur + compréhension de la raison pour laquelle ceci peut se produire + nécessite une discussion plus approfondie à propos de la manière + dont httpd associe les requêtes entrantes aux différents serveurs + virtuels qui vont les servir. Un document de base décrivant ceci est disponible.

+
top
+
+

L'adresse du "serveur principal"

+ + +

Le support des + serveurs virtuels à base de nom oblige httpd à + connaître la/les adresse(s) IP de l'hôte sur + lequel httpd s'exécute. Pour obtenir cette + adresse, soit il utilise la directive ServerName globale (si elle est présente), + soit il fait appel à la fonction C gethostname (qui + doit renvoyer le même nom que la commande shell "hostname"). Il + effectue ensuite une recherche DNS sur cette adresse. Pour le + moment, il n'existe aucun moyen d'éviter cette recherche DNS.

+ +

Si vous craignez que cette recherche DNS échoue parce que votre + serveur DNS est arrêté, vous pouvez insérer le nom d'hôte dans le + fichier /etc/hosts (où il est probablement déjà + enregistré afin que la machine démarre correctement). Assurez-vous + ensuite que la machine est configurée pour utiliser + /etc/hosts dans le cas où la recherche DNS échoue. + Suivant le système d'exploitation que vous utilisez, vous y + parviendrez en éditant /etc/resolv.conf, ou + /etc/nsswitch.conf.

+ +

Si votre serveur n'a aucune autre raison d'effectuer des + recherches DNS, vous pouvez définir la variable d'environnement + HOSTRESORDER à "local", et vous serez alors en mesure + d'exécuter httpd. Tout dépend du système d'exploitation et des + bibliothèques de résolution de noms que vous utilisez. Elle affecte + aussi les programmes CGI, à moins que vous n'utilisiez + mod_env pour contrôler l'environnement. Il est + conseillé de consulter les pages de manuel ou les FAQs de votre + système d'exploitation.

+
top
+
+

Conseils pour éviter ce genre de problème

+ + +
    +
  • + utilisez des adresses IP au sein des VirtualHost +
  • + +
  • + utilisez des adresses IP avec la directive Listen +
  • + +
  • + vérifiez que tous les serveurs virtuels possèdent un nom + ServerName explicite +
  • + +
  • créez un serveur virtuel <VirtualHost + _default_:*> qui n'a aucune page à servir
  • +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dns-caveats.html.ja.utf8 b/docs/manual/dns-caveats.html.ja.utf8 new file mode 100644 index 0000000..553a02d --- /dev/null +++ b/docs/manual/dns-caveats.html.ja.utf8 @@ -0,0 +1,279 @@ + + + + + +DNS 㨠Apache ã«ã¾ã¤ã‚る注æ„事項 - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

DNS 㨠Apache ã«ã¾ã¤ã‚る注æ„事項

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

本文書ã®å†…容ã¯æ¬¡ã®ä¸€è¨€ã«å°½ãã¾ã™ã€‚「Apache ãŒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€ã¨ãã« + DNS を使用ã™ã‚‹å¿…è¦ãŒãªã„よã†ã«ã—ã¦ä¸‹ã•ã„ã€ã€‚Apache ãŒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + 読ã¿è¾¼ã‚€ã¨ãã« DNS を使用ã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã€ä¿¡é ¼æ€§ã®å•é¡Œ + (èµ·å‹•ã—ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“) やサービス拒å¦ã‚„盗用アタック + (ä»–ã®ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ãƒ’ットを盗むã“ã¨ã‚’å«ã¿ã¾ã™) + ã®å•é¡Œã«ç›´é¢ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+
+ +
top
+
+

ç°¡å˜ãªä¾‹

+ + +

+ <VirtualHost www.abc.dom>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

Apache ãŒæ­£å¸¸ã«æ©Ÿèƒ½ã™ã‚‹ã«ã¯ã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆæ¯Žã«å¿…ãšäºŒã¤ã® + 情報ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ãã‚Œã¯ã€ + ServerName + ã¨ã€ãã®ã‚µãƒ¼ãƒãŒå¿œç­”ã™ã‚‹ãŸã‚ã® IP (最低一ã¤) ã§ã™ã€‚ + 上記例ã§ã¯ IP アドレスをå«ã‚“ã§ã„ã¾ã›ã‚“ã®ã§ã€Apache 㯠DNS + を使用ã—㦠www.abc.dom を見ã¤ã‘ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + 何らã‹ã®ç†ç”±ã§è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚“ã§ã„ã‚‹ã¨ãã« DNS + ãŒåˆ©ç”¨ã§ããªã‹ã£ãŸå ´åˆã€ + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯è¨­å®šã•ã‚Œã¾ã›ã‚“。 + ãã—ã¦ã€ãã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã™ã‚‹ãƒ’ットã«ã¯å¿œç­”ãŒãªã•ã‚Œã¾ã›ã‚“ + (Apache 1.2 以å‰ã§ã¯èµ·å‹•ã™ã‚‰ã—ã¾ã›ã‚“)。

+ +

www.abc.dom ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ 192.0.2.1 + ã ã¨ã—ã¾ã™ã€‚ã§ã¯ã€æ¬¡ã®è¨­å®šã«ã¤ã„ã¦è€ƒãˆã¦ã¿ã¾ã—ょã†ã€‚

+ +

+ <VirtualHost 192.0.2.1>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

ç¾åœ¨ã®ãƒªãƒªãƒ¼ã‚¹ã§ã¯ Apache 㯠DNS 逆引ãを使用ã—㦠+ ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® ServerName + を見ã¤ã‘ã¾ã™ã€‚ + ãã®é€†å¼•ããŒå¤±æ•—ã—ãŸå ´åˆã¯éƒ¨åˆ†çš„ã«ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’無効ã«ã—ã¾ã™ + (Apache 1.2 よりå‰ã§ã¯èµ·å‹•ã™ã‚‰ã—ã¾ã›ã‚“)。 + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒåå‰ãƒ™ãƒ¼ã‚¹ã§ã‚ã‚Œã°å®Œå…¨ã«ç„¡åŠ¹ã«ãªã‚Šã¾ã™ãŒã€ + IP ベースã§ã‚ã‚Œã°æ¦‚ã­å‹•ä½œã—ã¾ã™ã€‚ã—ã‹ã—ãªãŒã‚‰ã€ã‚µãƒ¼ãƒåã‚’ + å«ã‚€å®Œå…¨ãª URL を生æˆã—ãªã‘ã‚Œã°ãªã‚‰ãªã„å ´åˆã¯ã€æ­£ã—ã„ URL + ã®ç”ŸæˆãŒã§ãã¾ã›ã‚“。

+ +

次ã®ä¾‹ã¯ä¸Šè¨˜ã®å•é¡Œã‚’解決ã—ã¦ã„ã¾ã™ã€‚

+ +

+ <VirtualHost 192.0.2.1>
+ ServerName www.abc.dom
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+
top
+
+

サービス拒å¦

+ + +

サービス拒å¦ãŒèµ·ã“ã‚‹å ´åˆã€(å°‘ãªãã¨ã‚‚) 二ã¤ã®ã‚±ãƒ¼ã‚¹ãŒã‚ã‚Šã¾ã™ã€‚ + Apache 1.2 よりå‰ã‚’実行ã—ã¦ã„ã‚‹å ´åˆã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãŸã‚ã® + 上記ã®äºŒã¤ã® DNS 検索ã®ã†ã¡ä¸€ã¤å¤±æ•—ã™ã‚Œã°èµ·å‹•ã™ã‚‰ã—ã¾ã›ã‚“。 + ãã—ã¦ã“ã® DNS 検索ãŒè‡ªåˆ†ã®åˆ¶å¾¡ä¸‹ã«ã™ã‚‰ãªã„å ´åˆã‚‚ã‚ã‚Šãˆã¾ã™ã€‚ + 例ãˆã°ã€abc.dom ãŒé¡§å®¢ã®ã‚µãƒ¼ãƒã®ä¸€ã¤ã§ã€ + DNS ã¯é¡§å®¢è‡ªèº«ã§ç®¡ç†ã—ã¦ã„ã‚‹å ´åˆã€å˜ã« + www.abc.dom レコードを削除ã™ã‚‹ã ã‘ã§ã€ + (1.2 よりå‰ã®) サーãƒã‚’èµ·å‹•ä¸èƒ½ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã‚‚ã†ä¸€ã¤ã®ã‚±ãƒ¼ã‚¹ã¯ã€ã‚ˆã‚Šæ°—付ãã«ãã„ã‚‚ã®ã§ã™ã€‚ + 次ã®è¨­å®šã«ã¤ã„ã¦è€ƒãˆã¦ã¿ã¾ã—ょã†ã€‚

+ +

+ <VirtualHost www.abc.dom>
+ + ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+
+ </VirtualHost>
+
+ <VirtualHost www.def.dom>
+ + ServerAdmin webguy@def.dom
+ DocumentRoot /www/def
+
+ </VirtualHost> +

+ +

192.0.2.1 ã‚’ www.abc.dom ã«ã€ + 192.0.2.2 ã‚’ www.def.dom ã«å‰²ã‚Šå½“ã¦ã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚ + ã¾ãŸã€def.dom ã¯é¡§å®¢è‡ªèº«ã® DNS + ã®åˆ¶å¾¡ä¸‹ã«ã‚ã‚‹ã¨ã—ã¾ã™ã€‚ã“ã®è¨­å®šã§ã€abc.dom + ã«å‘ã‘られãŸãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯å…¨ã¦ã‚’奪ã†ã“ã¨ãŒã§ãã‚‹ä½ç½®ã« + def.dom を設置ã§ãã¦ã„ã¾ã™ã€‚後ã¯å˜ã« + www.def.dom ㌠192.0.2.1 ã‚’å‚ç…§ã™ã‚‹ã‚ˆã†ã« + 設定ã™ã‚‹ã ã‘ã§ã™ã€‚DNS ã¯é¡§å®¢å´ã® DNS ã§ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã®ã§ã€ + www.def.dom レコードãŒå¥½ããªå ´æ‰€ã‚’指ã™ã‚ˆã†ã« + 設定ã§ãã¦ã—ã¾ã†ã®ã‚’æ­¢ã‚ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。

+ +

192.0.2.1 ã«å¯¾ã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆ + (http://www.abc.dom/whatever å½¢å¼ã® URL + を入力ã—ãŸãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ã‚‚ã®å…¨ã¦ã‚’å«ã¿ã¾ã™) + ã¯ã€def.dom ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§å¿œç­”ã•ã‚Œã¾ã™ã€‚ + ã“ã®ã‚ˆã†ãªã“ã¨ãŒä½•æ•…èµ·ã“ã‚‹ã‹ã‚‚ã£ã¨è‰¯ã知るãŸã‚ã«ã¯ã€ + 応答ã®å¿…è¦ãªãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ã€ + Apache ãŒã©ã®ã‚ˆã†ã«æ•´åˆæ€§ã‚’確ä¿ã™ã‚‹ã‹ã«ã¤ã„ã¦ã€ + æ·±ã„è­°è«–ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ãŠãŠã–ã£ã±ãªèª¬æ˜Žã¯ã“ã¡ã‚‰ã«è¨˜è¿°ã•ã‚Œã¦ã„ã¾ã™ã€‚

+
top
+
+

「主サーãƒã€ã‚¢ãƒ‰ãƒ¬ã‚¹

+ + +

Apache 1.1 ã§ã® åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ã‚µãƒãƒ¼ãƒˆ 追加ã®éš›ã«ã€ + Apache 㯠httpd ã®å®Ÿè¡Œã•ã‚Œã¦ã„るホスト㮠IP + アドレスを知る必è¦ãŒå‡ºã¦ãã¾ã—ãŸã€‚ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å¾—ã‚‹ãŸã‚ã«ã€ + (ã‚‚ã—ã‚ã‚Œã°) グローãƒãƒ«ãª + ServerName を使用ã™ã‚‹ã‹ã€ + C 言語ã®é–¢æ•° gethostname (コマンドプロンプト㧠+ hostname ã¨ã‚¿ã‚¤ãƒ—ã—ãŸã¨ãã¨åŒã˜ã‚‚ã®ã‚’è¿”ã—ã¾ã™) + を呼ã³å‡ºã™ã‹ã‚’ã—ã¾ã™ã€‚ + ãã®å¾Œã€å¾—られãŸã‚¢ãƒ‰ãƒ¬ã‚¹ã§ DNS 検索を行ãªã„ã¾ã™ã€‚ + ç¾åœ¨ã®ã¨ã“ã‚ã€ã“ã® DNS 検索を回é¿ã™ã‚‹æ–¹æ³•ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

DNS サーãƒãŒãƒ€ã‚¦ãƒ³ã—ã¦ã€ã“ã®æ¤œç´¢ãŒã§ããªã„事態ãŒèµ·ã“ã‚‹ã“ã¨ã‚’ + æã‚Œã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€/etc/hosts + ã«ãƒ›ã‚¹ãƒˆåを記述ã—ã¦ãŠãã“ã¨ãŒã§ãã¾ã™ + (マシンãŒæ­£å¸¸ã«èµ·å‹•ã™ã‚‹ã‚ˆã†ã«æ—¢ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“)。 + ãã®å ´åˆã€DNS å‚ç…§ãŒå¤±æ•—ã—ãŸå ´åˆã«ãƒžã‚·ãƒ³ãŒ /etc/hosts + を使用ã™ã‚‹ã‚ˆã†ã«è¨­å®šã—ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。 + ãã®æ–¹æ³•ã¯ã€ã©ã® OS を使用ã—ã¦ã„ã‚‹ã‹ã«ä¾å­˜ã—ã¾ã™ãŒã€ + /etc/resolv.conf ã‹ /etc/nsswitch.conf + を編集ã™ã‚‹ã“ã¨ã§è¨­å®šã§ãã¾ã™ã€‚

+ +

ã‚‚ã—ä»–ã®ç†ç”±ã§ DNS を利用ã™ã‚‹å¿…è¦ãŒãªã„å ´åˆã¯ã€ + HOSTRESORDER 環境変数を「 local + ã€ã«è¨­å®šã™ã‚‹ã“ã¨ã§ãã®ã‚ˆã†ã«ã§ãã¾ã™ã€‚以上ã“れらã®äº‹æŸ„ã¯ã€ã©ã‚“㪠+ OS ã€ãƒ¬ã‚¾ãƒ«ãƒãƒ©ã‚¤ãƒ–ラリを使用ã—ã¦ã„ã‚‹ã‹ã«ä¾å­˜ã—ã¾ã™ã€‚ã¾ãŸã€ + mod_env を使用ã—ã¦ç’°å¢ƒå¤‰æ•°ã‚’制御ã—ãªã„é™ã‚Šã€ + CGI ã«ã‚‚影響を与ãˆã¾ã™ã€‚man ページや使用ã—ã¦ã„ã‚‹ OS + ã® FAQ ã§èª¿ã¹ã‚‹ã¨è‰¯ã„ã§ã—ょã†ã€‚

+
top
+
+

以上ã®å•é¡Œã‚’解決ã™ã‚‹æ–¹æ³•

+ + +
    +
  • + VirtualHost + 㧠IP アドレスを使用ã™ã‚‹ã€‚ +
  • + +
  • + Listen + 㧠IP アドレスを使用ã™ã‚‹ã€‚ +
  • + +
  • + å…¨ã¦ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒæ˜Žç¤ºçš„ã« + ServerName + ã‚’æŒã¤ã‚ˆã†ã«ã™ã‚‹ã€‚ +
  • + +
  • 何も応答ã—ãªã„ + <VirtualHost _default_:*> + サーãƒã‚’作る。
  • +
+
top
+
+

付録: å°†æ¥çš„ãªæ–¹å‘性

+ + +

DNS ã«é–¢ã—ã¦ã€ç¾çŠ¶ã¯å…¨ã宜ã—ãã‚ã‚Šã¾ã›ã‚“。Apache 1.2 ã§ã€ + DNS ã®ã‚¤ãƒ™ãƒ³ãƒˆãŒå¤±æ•—ã—ã¦ã‚‚å°‘ãªãã¨ã‚‚起動プロセスãŒç¶šãよã†ã«ã—ã¾ã—ãŸãŒã€ + ã“ã‚ŒãŒæœ€é«˜ã®è§£æ±ºæ–¹æ³•ã§ã¯ãªã„ã§ã—ょã†ã€‚アドレスã®å†å‰²ã‚Šå½“ã¦ãŒå¿…è¦ä¸å¯é¿ + ã¨ãªã£ã¦ã„る今日ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã«ãŠã„ã¦ã¯ã€ + 設定ファイルã®ä¸­ã§æ˜Žç¤ºçš„㪠IP アドレスをè¦æ±‚ã™ã‚‹ä»•æ§˜ã¯ã€ + å…¨ã宜ã—ãã‚ã‚Šã¾ã›ã‚“。

+ +

盗用ã®ã‚µãƒ¼ãƒ“スアタックã«é–¢ã—ã¦è¡Œãªã†ã¹ã事ã¯ã€ + DNS 順引ãã‚’è¡Œãªã£ã¦å¾—られãŸã‚¢ãƒ‰ãƒ¬ã‚¹ã«å¯¾ã™ã‚‹ DNS + 逆引ãã‚’è¡Œãªã£ã¦ã€äºŒã¤ã®åå‰ã‚’比較ã™ã‚‹ã“ã¨ã§ã™ã€‚ + ã“ã®äºŒã¤ãŒä¸€è‡´ã—ãªã‘ã‚Œã°ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ç„¡åŠ¹ã«ãªã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚ + ã“ã†ã™ã‚‹ãŸã‚ã«ã¯é€†å¼•ã DNS ãŒé©åˆ‡ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ + (FTP サーãƒã‚„ TCP ラッパーã®ãŠã‹ã’ã§ã€ŒäºŒé‡é€†å¼•ãã€DNS ã¯ä¸€èˆ¬çš„ã« + ãªã£ã¦ã„ã¾ã™ã®ã§ã€ç®¡ç†è€…ã«ã¯ãŠé¦´æŸ“ã¿ã‚‚ã®ã§ã—ょã†)。

+ +

IP アドレスãŒä½¿ç”¨ã•ã‚Œã¦ã„ãªã㦠DNS ãŒå¤±æ•—ã—ãŸå ´åˆã¯ã€ + ã©ã†ã—ã¦ã‚‚ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚¦ã‚§ãƒ–サーãƒã‚’信頼性を確ä¿ã—㦠+ èµ·å‹•ã•ã›ã‚‹ã“ã¨ã¯ä¸å¯èƒ½ã®ã‚ˆã†ã§ã™ã€‚ + 設定ã®ä¸€éƒ¨ã‚’無効ã«ã™ã‚‹ã¨ã„ã†ã‚ˆã†ãªéƒ¨åˆ†çš„ãªè§£æ±ºã§ã¯ã€ + サーãƒãŒä½•ã‚’ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ã‹ã«ã‚‚よりã¾ã™ãŒã€ + ãã®ã‚µãƒ¼ãƒãŒèµ·å‹•ã—ãªã„より確実ã«æ‚ªã„状æ³ã«ãªã‚‹ã§ã—ょã†ã€‚

+ +

HTTP/1.1 ãŒé–‹ç™ºã•ã‚Œã€ãƒ–ラウザやプロキシ㌠Host + ヘッダを発行ã™ã‚‹ã‚ˆã†ã«ãªã£ãŸã®ã§ã€IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’ + å…¨ã使用ã—ãªãã¦ã‚‚済むよã†ã«ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã“ã®å ´åˆã€ã‚¦ã‚§ãƒ–サーãƒã¯è¨­å®šä¸­ã« DNS å‚照をã—ãªãã¦ã‚‚済ã¿ã¾ã™ã€‚ + ã—ã‹ã— 1997 å¹´ 3 月時点ã®çŠ¶æ³ã§ã¯ã€ + 商用レベルã®ã‚¦ã‚§ãƒ–サーãƒã§ä½¿ç”¨ã§ãã‚‹ã»ã©ã«ã¯ã€ + ã“れらã®æ©Ÿèƒ½ã¯åºƒã開発ãŒé€²ã‚“ã§ã„ã¾ã›ã‚“。

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dns-caveats.html.ko.euc-kr b/docs/manual/dns-caveats.html.ko.euc-kr new file mode 100644 index 0000000..f399a36 --- /dev/null +++ b/docs/manual/dns-caveats.html.ko.euc-kr @@ -0,0 +1,253 @@ + + + + + +DNS¿Í ¾ÆÆÄÄ¡¿Í °ü·ÃµÈ »çÇ× - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

DNS¿Í ¾ÆÆÄÄ¡¿Í °ü·ÃµÈ »çÇ×

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­¸¦ ÇÑ ¹®ÀåÀ¸·Î ¿ä¾àÇÒ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ ¼³Á¤ÆÄÀÏÀ» + ÀÐÀ»¶§ DNS¸¦ ÀÇÁ¸ÇÏÁö¾Êµµ·Ï Ç϶ó. ¾ÆÆÄÄ¡°¡ ¼³Á¤ÆÄÀÏÀ» Àдµ¥ + DNS°¡ ÇÊ¿äÇÏ´Ù¸é ¼­¹ö´Â ½Å·Ú¼º ¹®Á¦ (½ÃÀÛÀÌ ¾ÈµÉ ¼öµµ ÀÖ´Ù) + ȤÀº ¼­ºñ½º°ÅºÎ °ø°Ý°ú (»ç¿ëÀÚ°¡ ´Ù¸¥ »ç¿ëÀÚ¿¡ ´ëÇÑ Á¢±ÙÀ» + °¡·Îä´Â °ÍÀ» Æ÷ÇÔÇÏ¿©) ¼­ºñ½ºµµµÏ(theft of service) °ø°Ý¿¡ + ½Ã´Þ¸± ¼ö ÀÖ´Ù.

+
+ +
top
+
+

°£´ÜÇÑ ¿¹Á¦

+ + +

+ <VirtualHost www.abc.dom>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

¾ÆÆÄÄ¡°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâÀ§Çؼ­´Â °¢ °¡»óÈ£½ºÆ®¿¡ + ´ëÇØ µÎ°¡Áö Á¤º¸°¡ Àý´ëÀûÀ¸·Î ÇÊ¿äÇÏ´Ù. ÀÌ Á¤º¸´Â + ServerName°ú ¼­¹ö°¡ + ±â´Ù¸®°í ÀÀ´äÇÒ ÃÖ¼Ò ÇÑ°³ÀÇ IP ÁÖ¼ÒÀÌ´Ù. ÀÌ ¿¹´Â IP ÁÖ¼Ò°¡ + ¾ø±â¶§¹®¿¡, ¾ÆÆÄÄ¡´Â DNS¸¦ »ç¿ëÇÏ¿© www.abc.domÀÇ + ÁÖ¼Ò¸¦ ã¾Æ¾ß ÇÑ´Ù. ¼­¹ö°¡ ¼³Á¤ÆÄÀÏÀ» ÀÐÀ»¶§ ¾î¶² ÀÌÀ¯¿¡¼­°Ç + DNS¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù¸é °¡»óÈ£½ºÆ®¸¦ ¸¸µé ¼ö ¾ø´Ù. + ÀÌ °¡»óÈ£½ºÆ®´Â ¿äû¿¡ ÀÀ´äÇÒ ¼ö ¾ø´Ù. (¾ÆÆÄÄ¡ 1.2 ÀÌÀü + ¹öÀü¿¡¼­´Â ½ÉÁö¾î ¼­¹ö°¡ ºÎÆõµ ¾ÈÇÑ´Ù.)

+ +

www.abc.domÀÇ ÁÖ¼Ò°¡ 192.0.2.1À̶ó°í °¡Á¤ÇÏÀÚ. + ±×¸®°í ´ÙÀ½ ¼³Á¤À» º¸¶ó:

+ +

+ <VirtualHost 192.0.2.1>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+ +

ÀÌÁ¦ ¾ÆÆÄÄ¡´Â ÀÌ °¡»óÈ£½ºÆ®ÀÇ ServerNameÀ» + ã±âÀ§ÇØ ¿ªDNS¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¿ªÃ£±â°¡ ½ÇÆÐÇÏ¸é ¾ÆÆÄÄ¡´Â + °¡»óÈ£½ºÆ®¸¦ ºÎºÐÀûÀ¸·Î ²ö´Ù. (¾ÆÆÄÄ¡ 1.2 ÀÌÀü ¹öÀü¿¡¼­´Â + ½ÉÁö¾î ¼­¹ö°¡ ºÎÆõµ ¾ÈÇÑ´Ù.) Áï, ÀÌ °æ¿ì À̸§±â¹Ý + °¡»óÈ£½ºÆ®¶ó¸é °¡»óÈ£½ºÆ®´Â ¿ÏÀüÈ÷ µ¿ÀÛÇÏÁö¾Ê°í, ip±â¹ÝÀ̶ó¸é + ´ëºÎºÐ µ¿ÀÛÇÑ´Ù. ±×·¯³ª ¾ÆÆÄÄ¡°¡ ¼­¹ö¸íÀ» Æ÷ÇÔÇÏ¿© ¼­¹öÀÇ + Àüü URLÀ» ¸¸µé¾î¾ß ÇÑ´Ù¸é Á¤»óÀûÀÎ URLÀ» ¸¸µéÁö ¸øÇÑ´Ù.

+ +

¾Æ·¡ °æ¿ì ÀÌ µÎ°¡Áö ¹®Á¦°¡ ¾ø´Ù.

+ +

+ <VirtualHost 192.0.2.1>
+ ServerName www.abc.dom
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost> +

+
top
+
+

¼­ºñ½º°ÅºÎ (Denial of Service)

+ + +

(ÃÖ¼ÒÇÑ) µÎ°¡Áö Á¾·ùÀÇ ¼­ºñ½º°ÅºÎ°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. + ¾ÆÆÄÄ¡ 1.2 ÀÌÀü ¹öÀüÀÇ °æ¿ì ¾î¶² °¡»óÈ£½ºÆ®¿¡¼­¶óµµ + À§¿¡¼­ ¸»ÇÑ µÎ DNS °Ë»öÀÌ ½ÇÆÐÇÏ¸é ¼­¹ö°¡ ÄÑÁöÁöµµ ¾Ê´Â´Ù. + DNS°¡ ´ç½ÅÀÇ ±ÇÇÑ ¹ÛÀÇ ¹®Á¦ÀÏ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, + abc.domÀÌ °í°´ »çÀÌÆ®ÀÌ°í °í°´ÀÌ ÀÚ½ÅÀÇ DNS¸¦ + °ü¸®ÇÑ´Ù¸é, www.abc.dom ·¹Äڵ带 Áö¿ì±â¸¸ Çصµ + (1.2 ÀÌÀü) ¼­¹ö´Â ½ÃÀÛÇÏÁö ¸øÇÑ´Ù.

+ +

ÈξÀ ´õ ±³È°ÇÑ ¹æ¹ýµµ ÀÖ´Ù. ´ÙÀ½ ¼³Á¤À» »ìÆ캸ÀÚ:

+ +

+ <VirtualHost www.abc.dom>
+   ServerAdmin webgirl@abc.dom
+   DocumentRoot /www/abc
+ </VirtualHost>
+
+ <VirtualHost www.def.dom>
+   ServerAdmin webguy@def.dom
+   DocumentRoot /www/def
+ </VirtualHost> +

+ +

´ç½ÅÀÌ www.abc.dom¿¡ 192.0.2.1, + www.def.dom¿¡ 192.0.2.2¸¦ ÇÒ´çÇß´Ù°í ÇÏÀÚ. + ¶Ç, def.domÀº ÀÚü DNS¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÏÀÚ. + ÀÌ ¼³Á¤°ú ÇÔ²² def.domÀ» abc.domÀ¸·Î + °¡´Â ¸ðµç Åë½ÅÀ» °¡·Îç ¼ö ÀÖ´Â Àå¼Ò¿¡ µÎ¾ú´Ù. ±×·¸´Ù¸é ±×µéÀº + www.def.domÀ» 192.0.2.1·Î ¼³Á¤Çϱ⸸ ÇÏ¸é µÈ´Ù. + ±×µéÀÌ ÀÚü DNS¸¦ »ç¿ëÇϱ⶧¹®¿¡ ´ç½ÅÀº ±×µéÀÌ ¿øÇϴµ¥·Î + www.def.dom ·¹Äڵ带 ¼³Á¤ÇÏ´Â °ÍÀ» ¸·À» ¼ö + ¾ø´Ù.

+ +

(»ç¿ëÀÚ°¡ http://www.abc.dom/whatever Çü½ÄÀÇ + URLÀ» ÀÔ·ÂÇÏ´Â °æ¿ì¸¦ Æ÷ÇÔÇÏ¿©) 192.0.2.1·Î ¿À´Â ¸ðµç ¿äûÀ» + def.dom °¡»óÈ£½ºÆ®°¡ ¼­ºñ½ºÇÏ°Ô µÈ´Ù. ¿Ö ÀÌ·± + ÀÏÀÌ ÀϾ´ÂÁö ÀÌÇØÇÏ·Á¸é ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô °¡»óÈ£½ºÆ®·Î + ¿À´Â ¿äûÀ» ó¸®ÇÏ´ÂÁö¿¡ ´ëÇÑ ¼³¸íÀÌ ÇÊ¿äÇÏ´Ù. + ¿©±â¿¡ ´ë°­ ¼³¸íµÇÀÖ´Ù.

+
top
+
+

"ÁÖ¼­¹ö" ÁÖ¼Ò

+ + +

¾ÆÆÄÄ¡ 1.1¿¡¼­ À̸§±â¹Ý + °¡»óÈ£½ºÆ® Áö¿øÀÌ Æ÷ÇԵǾú±â¶§¹®¿¡ ¾ÆÆÄÄ¡´Â À¥¼­¹ö¸¦ + ½ÇÇàÇϴ ȣ½ºÆ®ÀÇ IP ÁÖ¼Ò(µé)¸¦ ¾Ë ÇÊ¿ä°¡ »ý°å´Ù. ÀÌ ÁÖ¼Ò´Â + (ÀÖ´Ù¸é) Àü¿ª ServerName + ȤÀº C ÇÔ¼ö gethostnameÀ¸·Î (¸í·ÉÇÁ·ÒÇÁÆ®¿¡ + "hostname"À» ÀÔ·ÂÇßÀ»¶§¿Í °°Àº °á°ú) ¾ò´Â´Ù. ±×·¯¸é ÀÌ ÁÖ¼Ò·Î + DNS °Ë»öÀ» ÇÑ´Ù. ÇöÀç ÀÌ °Ë»öÀº ÇÇÇÒ ¼ö ¾ø´Ù.

+ +

DNS ¼­¹ö°¡ Á׾ ÀÌ °Ë»öÀÌ ½ÇÆÐÇÒ °Í °°´Ù¸é + /etc/hosts¿¡ È£½ºÆ®¸íÀ» Áý¾î³ÖÀ» ¼ö ÀÖ´Ù. + (ÄÄÇ»ÅÍ°¡ Á¤»óÀûÀ¸·Î ºÎÆõǾú´Ù¸é ¾Æ¸¶ ÀÌ¹Ì µé¾îÀÖÀ» °ÍÀÌ´Ù.) + ±×¸®°í DNS°¡ ½ÇÆÐÇÏ¸é ¼­¹ö°¡ /etc/hosts¸¦ + »ç¿ëÇÏ´ÂÁö È®ÀÎÇ϶ó. »ç¿ëÇÏ´Â ¿î¿µÃ¼Á¦¿¡ µû¶ó + /etc/resolv.conf ȤÀº /etc/nsswitch.conf¸¦ + ¼öÁ¤ÇÏ¸é µÉ °ÍÀÌ´Ù.

+ +

¼­¹ö°¡ ¾î¶² ÀÌÀ¯¿¡¼­°Ç DNS¸¦ °Ë»öÇÏ¸é ¾ÈµÈ´Ù¸é + HOSTRESORDER ȯ°æº¯¼ö¸¦ "local"·Î ¼³Á¤ÇÏ°í + ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. mod_env¸¦ + »ç¿ëÇÏ¿© ȯ°æÀ» º¯°æÇÏÁö ¾Ê´Â´Ù¸é ÀÌ È¯°æº¯¼ö´Â + CGI¿¡µµ ¿µÇâÀ» ÁØ´Ù. ¿î¿µÃ¼Á¦ÀÇ manpage³ª FAQ¸¦ Âü°íÇÏ´Â + °ÍÀÌ ÁÁ´Ù.

+
top
+
+

ÀÌ ¹®Á¦¸¦ ÇÇÇϱâÀ§ÇÑ ÆÁ

+ + +
    +
  • + VirtualHost¿¡ IP + ÁÖ¼Ò¸¦ »ç¿ëÇ϶ó +
  • + +
  • + Listen¿¡ + IP ÁÖ¼Ò¸¦ »ç¿ëÇ϶ó +
  • + +
  • + ¸ðµç °¡»óÈ£½ºÆ®´Â ¸í½ÃÀûÀ¸·Î + ServerNameÀ» + °¡Áö°Ô Ç϶ó +
  • + +
  • ¾î¶² ÆäÀÌÁöµµ ¼­ºñ½ºÇÏÁö¾Ê´Â + <VirtualHost _default_:*> ¼­¹ö¸¦ + ¸¸µé¾î¶ó
  • +
+
top
+
+

ºÎ·Ï: ¾ÕÀ¸·Î´Â

+ + +

DNS¿Í °ü·ÃµÈ »óȲÀº ¸Å¿ì ¹Ù¶÷Á÷ÇÏÁö ¸øÇÏ´Ù. ¾ÆÆÄÄ¡ 1.2¿¡¼­ + ¿ì¸®´Â DNS°¡ ½ÇÆÐÇÑ °æ¿ì¿¡µµ ÃÖ¼ÒÇÑ ¼­¹ö°¡ ÄÑÁöµµ·Ï ³ë·ÂÇßÁö¸¸ + °á°ú´Â ³ª»¦´Ù. ¾î·µç ¼³Á¤ÆÄÀÏ¿¡ Á÷Á¢ IP ÁÖ¼Ò¸¦ ¿ä±¸ÇÏ´Â + °ÍÀº ¹øÈ£¸¦ ´Ù½Ã ¼³Á¤ÇؾßÇÒ ¿äÁò ÀÎÅͳݿ¡ ¸Å¿ì ¹Ù¶÷Á÷ÇÏÁö + ¸øÇÏ´Ù.

+ +

À§¿¡¼­ ¼³¸íÇÑ ¼­ºñ½ºµµµÏ °ø°ÝÀ» ¸·´Â ÇÑ°¡Áö ¹æ¹ýÀº °Ë»öÇÑ + IP ÁÖ¼Ò¿¡ ´Ù½Ã ¿ªDNS °Ë»öÀ» ÇÏ¿© µÎ À̸§À» ºñ±³ÇÏ´Â °ÍÀÌ´Ù. + ¼­·Î ´Ù¸¥ °æ¿ì °¡»óÈ£½ºÆ®¸¦ °¡µ¿ÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. ÀÌ ¹æ¹ýÀº + ¿ªDNS°¡ ¿Ã¹Ù·Î ¼³Á¤µÇ¾ß ÇÑ´Ù. (FTP ¼­¹ö³ª TCP wrapper°¡ + "Áߺ¹-¿ª" DNS °Ë»öÀ» ÀÚÁÖ »ç¿ëÇϱ⶧¹®¿¡ ´ëºÎºÐÀÇ °ü¸®ÀÚ¿¡°Ô + Àͼ÷ÇÒ °ÍÀÌ´Ù.)

+ +

¾î·µç IP ÁÖ¼Ò¸¦ »ç¿ëÇÏÁö¾ÊÀ¸¸é DNS°¡ ½ÇÆÐÇÑ °æ¿ì °¡»óÈ£½ºÆ® + À¥¼­¹ö¸¦ ¹ÏÀ» ¼ö ÀÖ°Ô ½ÃÀÛÇÒ ¼ö ¾ø´Ù. ¼³Á¤ÀÇ ÀϺθ¦ ¹«½ÃÇÏ´Â + °Í°ú °°Àº ºÎºÐÀûÀÎ ÇØ°áÃ¥Àº À¥¼­¹ö Àüü¸¦ ½ÃÀÛÇÏÁö¾Ê´Â °Íº¸´Ù + ´õ ³ª»Ü ¼öµµ ÀÖ´Ù.

+ +

HTTP/1.1ÀÌ ³ª¿Ô°í ºê¶ó¿ìÀú¿Í ÇÁ·Ï½Ã°¡ Host + Çì´õ¸¦ º¸³»±â ½ÃÀÛÇßÀ¸¹Ç·Î IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ¿ÏÀüÈ÷ + »ç¿ëÇÏÁö¾Ê´Â °ÍÀÌ °¡´ÉÇØÁú °ÍÀÌ´Ù. ±×·¯¸é À¥¼­¹ö´Â ¼³Á¤Áß¿¡¼­ + DNS °Ë»öÀ» ÇÒ ÇÊ¿ä°¡ ¾ø¾îÁø´Ù. ±×·¯³ª 1997³â 3¿ù¿¡´Â Áß¿äÇÑ + À¥¼­¹ö¿¡ Æ÷ÇÔÇÒ Á¤µµ·Î À̸§±â¹Ý °¡»óÈ£½ºÆ®°¡ ³Î¸® »ç¿ëµÇÁö + ¾Ê¾Ò´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dns-caveats.html.tr.utf8 b/docs/manual/dns-caveats.html.tr.utf8 new file mode 100644 index 0000000..8dd1460 --- /dev/null +++ b/docs/manual/dns-caveats.html.tr.utf8 @@ -0,0 +1,207 @@ + + + + + +Apache HTTP Sunucusu ve DNS ile ilgili Konular - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache HTTP Sunucusu ve DNS ile ilgili Konular

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu sayfanın konusu şöyle özetlenebilirdi: Yapılandırma dosyalarınızda + DNS sorguları yapılmasını gerektirecek ayarlamalardan kaçınınız. Eğer + yapılandırma dosyalarınızda DNS sorgusu yapılarak çözümlenebilecek + adresler bulunursa sunucunuz beklenmedik davranışlar (hiç + başlamayabilir) gösterebileceği gibi hizmet reddi veya hizmet + hırsızlığı (bazı sanal konakların diğerlerine giden sayfaları çalma + olasılığı dahil) saldırılarına açık hale gelebilir.

+
+ +
top
+
+

Basit Bir Örnek

+ + +
# Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın.
+<VirtualHost falan.fesmekan.dom>
+  ServerAdmin filanca@fesmekan.dom
+  DocumentRoot "/siteler/fesmekan"
+</VirtualHost>
+ + +

httpd’nin beklendiği gibi işlemesi için her sanal konak için iki + veriye mutlaka ihtiyacı vardır: ServerName ve sunucunun bağlantı kabul edip hizmet + sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi + bulunmamaktadır, dolayısıyla Apache, falan.fesmekan.dom + adresi için bir DNS sorgusu yapmak zorundadır. Eğer sunucu, + yapılandırma dosyasını çözümlediği sırada bir sebeple DNS sunucusuna + erişemezse bu sanal konak yapılandırılmayacak ve bu sanal konağa + yapılan isteklere yanıt verilemeyecektir.

+ +

falan.fesmekan.dom’un 192.168.2.1 IP adresine sahip + olduğunu varsayarsak yapılandırma şöyle olurdu:

+ +
# Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın.
+<VirtualHost 192.168.2.1>
+  ServerAdmin filanca@fesmekan.dom
+  DocumentRoot "/siteler/fesmekan"
+</VirtualHost>
+ + +

Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için + httpd’nin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu + başarısız olursa kısmi bir yapılandırmaya gidilir. + Eğer sanal konak isme dayalı ise sanal konak + kısmen bile yapılandırılmaz. IP’ye dayalı sanal konaklar büyük oranda + çalışır, fakat (örneğin, bir Redirect varlığında olduğu gibi) sunucu ismini + içeren tam bir adres üretilmesini gerektiren bir durumda, sunucu geçerli + bir adres üretemez.

+ +

Her iki sorunu da çözen yapılandırma şöyle olurdu:

+ +
<VirtualHost 192.168.2.1>
+  ServerName falan.fesmekan.dom
+  ServerAdmin filanca@fesmekan.dom
+  DocumentRoot "/siteler/fesmekan"
+</VirtualHost>
+ +
top
+
+

Hizmet Reddi

+ + +

Şöyle bir yapılandırmanız olsun:

+ +
<VirtualHost falan.fesmekan.dom>
+  ServerAdmin filanca@fesmekan.dom
+  DocumentRoot "/siteler/fesmekan"
+</VirtualHost>
+
+<VirtualHost misal.mesela.dom>
+  ServerAdmin falanca@mesela.dom
+  DocumentRoot "/siteler/mesela"
+</VirtualHost>
+ + +

falan.fesmekan.dom’a 192.168.2.1, + misal.mesela.dom’a 192.168.2.2 atadığınızı fakat, + mesela.dom’un DNS kaydının sizin denetiminizde olmadığını + varsayalım. Bu yapılandırmayla, mesela.dom’u + fesmekan.dom’a giden tüm trafiği çalabilecek duruma + getirirsiniz. Bunu gerçekleştirmek için DNS kaydında + misal.mesela.dom’a 192.168.2.1 adresinin atanması + yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı + misal.mesela.dom’a istedikleri IP adresini atamaktan + onları alıkoyamazsınız.

+ +

192.168.2.1’e gelen isteklerin hepsine + (http://falan.fesmekan.dom/biryer şeklinde yazılan + adresler dahil) mesela.dom sanal konağınca hizmet + sunulacaktır. Apache’nin gelen istekleri sunduğu sanal konaklarla nasıl + eşleştirdiğini bilirseniz bunun sebebini kolayca anlarsınız. Bunu + kabataslak açıklayan bir belgemiz + mevcuttur.

+
top
+
+

"Ana Sunucu" Adresi

+ + +

İsme dayalı sanal konak + desteği, httpd’nin çalıştığı makinenin IP adres(ler)ini de bilmesini + gerektirir. Bu adresi elde etmek için sunucu, ya sunucu genelinde geçerli + ServerName yönergesine bakar ya da bir + C işlevi olan gethostname’i kullanır (işlev, komut + isteminden hostname komutuna dönen yanıtın aynısını + döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar. + Bu sorgudan kaçınmanın henüz bir yolu yoktur.

+ +

Eğer bu sorgunun (DNS sunucusunun çökmüş olması gibi bir nedenle) + başarısız olabileceğinden korkuyorsanız, makine ismini ve IP adresini + /etc/hosts dosyanıza yazabilirsiniz (Makinenizin düzgün + olarak açılabilmesi için zaten bu kaydı yapmış olmanız gerekir). + Kullandığınız işletim sistemine bağlı olarak bu kaydın + /etc/resolv.conf veya /etc/nsswitch.conf + dosyasında bulunması gerekebilir.

+ +

Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya + yapmamalıysa, httpd’yi HOSTRESORDER ortam değişkenine + "local" değerini atadıktan sonra çalıştırabilirsiniz. Bu + tamamen işletim sistemine ve kullandığınız çözümleyici kütüphanelere + bağlıdır. Ayrıca, ortamı denetlemek için mod_env + kullanmıyorsanız, CGI’ler de bundan etkilenir. En iyisi işletim + sisteminizin SSS belgelerini ve kılavuz sayfalarını okumaktır.

+
top
+
+

Bu Sorunlardan Kaçınmak için İpuçları

+ + +
    +
  • VirtualHost yönergelerinizde + IP adresleri kullanınız.
  • + +
  • Listen yönergelerinizde + IP adresleri kullanınız.
  • + +
  • Tüm sanal konakların ayrı birer ServerName yönergesi olsun.
  • + +
  • Hiçbir sayfa sunulmayan bir <VirtualHost + _default_:*> sanal konağınız olsun.
  • +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dso.html b/docs/manual/dso.html new file mode 100644 index 0000000..ea80dcf --- /dev/null +++ b/docs/manual/dso.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: dso.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: dso.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: dso.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: dso.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: dso.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/dso.html.en b/docs/manual/dso.html.en new file mode 100644 index 0000000..85ffc30 --- /dev/null +++ b/docs/manual/dso.html.en @@ -0,0 +1,332 @@ + + + + + +Dynamic Shared Object (DSO) Support - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Dynamic Shared Object (DSO) Support

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

The Apache HTTP Server is a modular program where the + administrator can choose the functionality to include in the + server by selecting a set of modules. + Modules will be compiled as Dynamic Shared Objects (DSOs) + that exist separately from the main httpd + binary file. DSO modules may be compiled at the time the server + is built, or they may be compiled and added at a later time + using the Apache Extension Tool (apxs).

+

Alternatively, the modules can be statically compiled into + the httpd binary when the server is built.

+ +

This document describes how to use DSO modules as well as + the theory behind their use.

+
+ +
top
+
+

Implementation

+ + + +

The DSO support for loading individual Apache httpd modules is based + on a module named mod_so which must be statically + compiled into the Apache httpd core. It is the only module besides + core which cannot be put into a DSO + itself. Practically all other distributed Apache httpd modules will then + be placed into a DSO. After a module is compiled into a DSO named + mod_foo.so you can use mod_so's LoadModule directive in your + httpd.conf file to load this module at server startup + or restart.

+

The DSO builds for individual modules can be disabled via + configure's --enable-mods-static + option as discussed in the install + documentation.

+ +

To simplify this creation of DSO files for Apache httpd modules + (especially for third-party modules) a support program + named apxs (APache + eXtenSion) is available. It can be used to build DSO based + modules outside of the Apache httpd source tree. The idea is + simple: When installing Apache HTTP Server the configure's + make install procedure installs the Apache httpd C + header files and puts the platform-dependent compiler and + linker flags for building DSO files into the apxs + program. This way the user can use apxs to compile + his Apache httpd module sources without the Apache httpd distribution + source tree and without having to fiddle with the + platform-dependent compiler and linker flags for DSO + support.

+
top
+
+

Usage Summary

+ +

To give you an overview of the DSO features of Apache HTTP Server 2.x, + here is a short and concise summary:

+ +
    +
  1. +

    Build and install a distributed Apache httpd module, say + mod_foo.c, into its own DSO + mod_foo.so:

    + +

    +$ ./configure --prefix=/path/to/install --enable-foo
    +$ make install +

    +
  2. + +
  3. +

    Configure Apache HTTP Server with all modules enabled. Only a basic + set will be loaded during server startup. You can change the set of loaded + modules by activating or deactivating the LoadModule directives in + httpd.conf.

    + +

    +$ ./configure --enable-mods-shared=all
    +$ make install +

    +
  4. + +
  5. +

    Some modules are only useful for developers and will not be build. + when using the module set all. To build all available modules + including developer modules use reallyall. In addition the + LoadModule directives for all + built modules can be activated via the configure option + --enable-load-all-modules.

    + +

    +$ ./configure --enable-mods-shared=reallyall --enable-load-all-modules
    +$ make install +

    +
  6. + +
  7. + Build and install a third-party Apache httpd module, say + mod_foo.c, into its own DSO + mod_foo.so outside of the Apache httpd + source tree using apxs: + +

    +$ cd /path/to/3rdparty
    +$ apxs -cia mod_foo.c +

    +
  8. +
+ +

In all cases, once the shared module is compiled, you must + use a LoadModule + directive in httpd.conf to tell Apache httpd to activate + the module.

+ +

See the apxs documentation for more details.

+
top
+
+

Background

+ +

On modern Unix derivatives there exists a mechanism + called dynamic linking/loading of Dynamic Shared + Objects (DSO) which provides a way to build a piece of + program code in a special format for loading it at run-time + into the address space of an executable program.

+ +

This loading can usually be done in two ways: automatically + by a system program called ld.so when an + executable program is started or manually from within the + executing program via a programmatic system interface to the + Unix loader through the system calls + dlopen()/dlsym().

+ +

In the first way the DSO's are usually called shared + libraries or DSO libraries and named + libfoo.so or libfoo.so.1.2. They + reside in a system directory (usually /usr/lib) + and the link to the executable program is established at + build-time by specifying -lfoo to the linker + command. This hard-codes library references into the executable + program file so that at start-time the Unix loader is able to + locate libfoo.so in /usr/lib, in + paths hard-coded via linker-options like -R or in + paths configured via the environment variable + LD_LIBRARY_PATH. It then resolves any (yet + unresolved) symbols in the executable program which are + available in the DSO.

+ +

Symbols in the executable program are usually not referenced + by the DSO (because it's a reusable library of general code) + and hence no further resolving has to be done. The executable + program has no need to do anything on its own to use the + symbols from the DSO because the complete resolving is done by + the Unix loader. (In fact, the code to invoke + ld.so is part of the run-time startup code which + is linked into every executable program which has been bound + non-static). The advantage of dynamic loading of common library + code is obvious: the library code needs to be stored only once, + in a system library like libc.so, saving disk + space for every program.

+ +

In the second way the DSO's are usually called shared + objects or DSO files and can be named with an + arbitrary extension (although the canonical name is + foo.so). These files usually stay inside a + program-specific directory and there is no automatically + established link to the executable program where they are used. + Instead the executable program manually loads the DSO at + run-time into its address space via dlopen(). At + this time no resolving of symbols from the DSO for the + executable program is done. But instead the Unix loader + automatically resolves any (yet unresolved) symbols in the DSO + from the set of symbols exported by the executable program and + its already loaded DSO libraries (especially all symbols from + the ubiquitous libc.so). This way the DSO gets + knowledge of the executable program's symbol set as if it had + been statically linked with it in the first place.

+ +

Finally, to take advantage of the DSO's API the executable + program has to resolve particular symbols from the DSO via + dlsym() for later use inside dispatch tables + etc. In other words: The executable program has to + manually resolve every symbol it needs to be able to use it. + The advantage of such a mechanism is that optional program + parts need not be loaded (and thus do not spend memory) until + they are needed by the program in question. When required, + these program parts can be loaded dynamically to extend the + base program's functionality.

+ +

Although this DSO mechanism sounds straightforward there is + at least one difficult step here: The resolving of symbols from + the executable program for the DSO when using a DSO to extend a + program (the second way). Why? Because "reverse resolving" DSO + symbols from the executable program's symbol set is against the + library design (where the library has no knowledge about the + programs it is used by) and is neither available under all + platforms nor standardized. In practice the executable + program's global symbols are often not re-exported and thus not + available for use in a DSO. Finding a way to force the linker + to export all global symbols is the main problem one has to + solve when using DSO for extending a program at run-time.

+ +

The shared library approach is the typical one, because it + is what the DSO mechanism was designed for, hence it is used + for nearly all types of libraries the operating system + provides.

+ +
top
+
+

Advantages and Disadvantages

+ +

The above DSO based features have the following + advantages:

+ +
    +
  • The server package is more flexible at run-time because + the server process can be assembled at run-time via + LoadModule + httpd.conf configuration directives instead of + configure options at build-time. For instance, + this way one is able to run different server instances + (standard & SSL version, minimalistic & dynamic + version [mod_perl, mod_php], etc.) with only one Apache httpd + installation.
  • + +
  • The server package can be easily extended with + third-party modules even after installation. This is + a great benefit for vendor package maintainers, who can create + an Apache httpd core package and additional packages containing + extensions like PHP, mod_perl, mod_security, etc.
  • + +
  • Easier Apache httpd module prototyping, because with the + DSO/apxs pair you can both work outside the + Apache httpd source tree and only need an apxs -i + command followed by an apachectl restart to + bring a new version of your currently developed module into + the running Apache HTTP Server.
  • +
+ +

DSO has the following disadvantages:

+ +
    +
  • The server is approximately 20% slower at startup time + because of the symbol resolving overhead the Unix loader now + has to do.
  • + +
  • The server is approximately 5% slower at execution time + under some platforms, because position independent code (PIC) + sometimes needs complicated assembler tricks for relative + addressing, which are not necessarily as fast as absolute + addressing.
  • + +
  • Because DSO modules cannot be linked against other + DSO-based libraries (ld -lfoo) on all platforms + (for instance a.out-based platforms usually don't provide + this functionality while ELF-based platforms do) you cannot + use the DSO mechanism for all types of modules. Or in other + words, modules compiled as DSO files are restricted to only + use symbols from the Apache httpd core, from the C library + (libc) and all other dynamic or static libraries + used by the Apache httpd core, or from static library archives + (libfoo.a) containing position independent code. + The only chances to use other code is to either make sure the + httpd core itself already contains a reference to it or + loading the code yourself via dlopen().
  • +
+ +
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dso.html.fr.utf8 b/docs/manual/dso.html.fr.utf8 new file mode 100644 index 0000000..2ff0cbc --- /dev/null +++ b/docs/manual/dso.html.fr.utf8 @@ -0,0 +1,356 @@ + + + + + +Support des objets dynamiques partagés (DSO) - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Support des objets dynamiques partagés (DSO)

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

La conception modulaire du serveur HTTP Apache permet à l'administrateur + de choisir les fonctionnalités à inclure dans le serveur en sélectionnant + un certain nombre de modules. Les modules seront compilés en tant + qu'Objets Dynamiques Partagés (Dynamic Shared Objects ou DSOs) + qui mènent une existence séparée du fichier binaire principal + httpd. Les modules DSO peuvent être compilés en + même temps que le serveur, ou compilés et ajoutés ultérieurement via + l'Outil des Extensions à Apache (Apache Extension Tool ou + apxs).

+

Les modules peuvent aussi être intégrés statiquement dans le + binaire httpd lors de la compilation de ce + dernier.

+ +

Ce document décrit l'utilisation des modules DSO ainsi que les dessous + de leur fonctionnement.

+
+ +
top
+
+

Implémentation

+ + + +

Le support DSO pour le chargement de modules individuels d'Apache + httpd est + assuré par un module nommé mod_so qui doit être compilé + statiquement dans le coeur d'Apache httpd. Il s'agit du seul module avec le + module core à ne pas pouvoir être compilé en tant que + module DSO lui-même. Pratiquement tous les autres modules d'Apache httpd + distribués seront alors compilés en tant que modules DSO. Une fois + compilé en tant que module DSO nommé mod_foo.so, un + module peut être chargé en mémoire au + démarrage ou redémarrage du serveur à l'aide de + la directive LoadModule du module + mod_so, placée + dans votre fichier httpd.conf.

+

La compilation en mode DSO peut être désactivée pour certains + modules via l'option --enable-mods-static du script + configure, comme expliqué dans la Documentation sur l'installation.

+ +

Un utilitaire permet de simplifier la création de + fichiers DSO pour les modules d'Apache httpd + (particulièrement pour les modules tiers) ; il s'agit du programme nommé + apxs (APache + eXtenSion). On peut l'utiliser pour construire des modules de type + DSO en dehors de l'arborescence des sources d'Apache httpd. L'idée est + simple : à l'installation du serveur HTTP Apache, la procédure make install + du script configure installe les fichiers d'en-têtes + d'Apache httpd et positionne, pour la plateforme de compilation, les drapeaux du compilateur et de + l'éditeur de liens à l'intérieur du programme + apxs, qui sera utilisé pour la construction de fichiers DSO. + Il est ainsi possible d'utiliser le programme apxs + pour compiler ses sources de modules Apache httpd sans avoir besoin de + l'arborescence des sources de la distribution d'Apache, et sans avoir à + régler les drapeaux du compilateur et de l'éditeur de liens pour le support DSO.

+
top
+
+

Mode d'emploi succinct

+ +

Afin que vous puissiez vous faire une idée des fonctionnalités DSO + du serveur HTTP Apache 2.x, en voici un résumé court et concis :

+ +
    +
  1. +

    Construire et installer un module Apache httpd faisant partie de la + distribution, par exemple mod_foo.c, + en tant que module DSO mod_foo.so :

    + +

    +$ ./configure --prefix=/chemin/vers/installation --enable-foo
    +$ make install +

    +
  2. + +
  3. +

    Configure le serveur HTTP Apache avec tous les modules + activés. Seul un jeu de modules de base sera chargé au + démarrage du serveur. Vous pouvez modifier ce jeu de modules + chargés au démarrage en activant ou désactivant les directives LoadModule correspondantes dans le + fichier httpd.conf.

    + +

    +$ ./configure --enable-mods-shared=all
    +$ make install +

    + +

    L'argument most de l'option + --enable-modules indique que tous les modules + non-expérimentaux ou qui ne sont pas là à titre d'exemple seront + compilés.

    +
  4. + +
  5. +

    Certains modules ne sont utilisés que par les développeurs et + ne seront pas compilés. Si vous voulez les utiliser, spécifiez + l'option all. Pour compiler tous les modules disponibles, + y compris les modules de développeurs, spécifiez l'option + reallyall. En outre, la directive LoadModule peut être activée pour tous + les modules compilés via l'option du script configure + --enable-load-all-modules.

    + +

    +$ ./configure --enable-mods-shared=reallyall --enable-load-all-modules
    +$ make install +

    +
  6. + +
  7. + Construire et installer un module Apache httpd tiers, par exemple + mod_foo.c, en tant que module DSO + mod_foo.so en dehors de l'arborescence des sources + d'Apache httpd à l'aide du programme apxs : + +

    +$ cd /chemin/vers/module_tiers
    +$ apxs -cia mod_foo.c +

    +
  8. +
+ +

Dans tous les cas, une fois le module partagé compilé, vous devez + ajouter une directive LoadModule + dans le fichier httpd.conf pour qu'Apache httpd active le module.

+ +

Voir la documentation sur apxs + pour plus de détails.

+
top
+
+

Les dessous du fonctionnement des DSO

+ +

Les clônes modernes d'UNIX proposent un mécanisme + appelé édition de liens et chargement dynamiques d' + Objets Dynamiques Partagés (DSO), qui permet de construire un + morceau de programme dans un format spécial pour le rendre chargeable + à l'exécution dans l'espace d'adressage d'un programme exécutable.

+ +

Ce chargement peut s'effectuer de deux manières : automatiquement par + un programme système appelé ld.so quand un programme + exécutable est démarré, ou manuellement à partir du programme en cours + d'exécution via sa propre interface système vers le chargeur Unix à l'aide + des appels système dlopen()/dlsym().

+ +

Dans la première méthode, les DSO sont en général appelés + bibliothèques partagées ou encore bibliothèques DSO, et + possèdent des noms du style + libfoo.so ou libfoo.so.1.2. Ils résident dans un + répertoire système (en général /usr/lib) + et le lien avec le programme exécutable est établi à la compilation en + ajoutant -lfoo à la commande de l'éditeur de liens. Les + références à la bibliothèque sont ainsi codées en dur dans le fichier du + programme exécutable de façon à ce qu'au démarrage du programme, le + chargeur Unix soit capable de localiser libfoo.so dans + /usr/lib, dans des chemins codés en dur à l'aide d'options de + l'éditeur de liens comme -R ou dans des chemins définis par la + variable d'environnement + LD_LIBRARY_PATH. Le chargeur peut dès lors résoudre tous les symboles + (jusque là non encore résolus) du DSO dans le programme exécutable.

+ +

Les symboles du programme exécutable ne sont en général pas + référencés par le DSO (car c'est une bibliothèque de code à usage général + et réutilisable), + et ainsi aucune résolution supplémentaire n'est nécessaire. De son côté, + le programme exécutable ne doit accomplir aucune action particulière + pour utiliser les + symboles du DSO car toutes les résolutions sont effectuées par le chargeur + Unix. En fait, le code permettant d'invoquer + ld.so fait partie du code de démarrage pour l'exécution qui + est lié dans tout programme exécutable non statiquement lié. + L'avantage du chargement dynamique du code d'une bibliothèque partagée est + évident : le code de la bibliothèque ne doit être stocké qu'une seule fois + dans une bibliothèque système telle que libc.so, ce qui permet + d'économiser de l'espace disque pour les autres programmes.

+ +

Dans la seconde méthode, les DSO sont en général appelés objets + partagés ou fichiers DSO, et peuvent être nommés avec + l'extension de son choix (bien que le nom conseillé soit du style + foo.so). Ces fichiers résident en général dans un répertoire + spécifique à un programme, et aucun lien n'est automatiquement établi avec + le programme exécutable dans lequel ils sont utilisés. + Le programme exécutable charge manuellement le DSO à l'exécution dans son + espace d'adressage à l'aide de l'appel système dlopen(). + A ce moment, aucune résolution de symboles du DSO n'est effectuée pour le + programme exécutable. Par contre le chargeur Unix + résoud automatiquement tout symbole du DSO (non encore résolu) + faisant partie de l'ensemble de symboles exporté par le programme + exécutable et ses bibliothèques DSO déjà chargées (et en particulier tous + les symboles de la bibliothèque à tout faire libc.so). + De cette façon, le DSO prend connaissance de l'ensemble de symboles du + programme exécutable comme s'il avait été lié statiquement avec lui + auparavant.

+ +

Finalement, pour tirer profit de l'API des DSO, le programme exécutable + doit résoudre certains symboles du DSO à l'aide de l'appel système + dlsym() pour une utilisation ultérieure dans les tables de + distribution, etc... En d'autres termes, le programme exécutable doit + résoudre manuellement tous les symboles dont il a besoin pour pouvoir les + utiliser. + Avantage d'un tel mécanisme : les modules optionnels du programme n'ont pas + besoin d'être chargés (et ne gaspillent donc pas de ressources mémoire) + tant qu'il ne sont pas nécessaires au programme en question. Si nécessaire, + ces modules peuvent être chargés dynamiquement afin d'étendre les + fonctionnalités de base du programme.

+ +

Bien que ce mécanisme DSO paraisse évident, il comporte au moins une + étape difficile : la résolution des symboles depuis le programme exécutable + pour le DSO lorsqu'on utilise un DSO pour étendre les fonctionnalités d'un + programme (la seconde méthode). Pourquoi ? Parce que la "résolution + inverse" des symboles DSO à partir du jeu de symboles du programme + exécutable dépend de la conception de la bibliothèque (la bibliothèque n'a + aucune information sur le programme qui l'utilise) et n'est ni standardisée + ni disponible sur toutes les plateformes. En pratique, les symboles globaux + du programme exécutable ne sont en général pas réexportés et donc + indisponibles pour l'utilisation dans un DSO. Trouver une méthode pour + forcer l'éditeur de liens à exporter tous les symboles globaux est le + principal problème que l'on doit résoudre lorsqu'on utilise un DSO pour + étendre les fonctionnalités d'un programme au moment de son exécution.

+ +

L'approche des bibliothèques partagées est la plus courante, parce que + c'est dans cette optique que le mécanisme DSO a été conçu ; c'est cette + approche qui est ainsi + utilisée par pratiquement tous les types de bibliothèques que fournit le + système d'exploitation.

+ +
top
+
+

Avantages et inconvénients

+ +

Les fonctionnalités ci-dessus basées sur les DSO présentent les + avantages suivants :

+ +
    +
  • Le paquetage du serveur est plus flexible à l'exécution car le + processus serveur peut être assemblé à l'exécution via la + directive LoadModule du fichier de + configuration httpd.conf plutôt que par des options du script + configure à la compilation. Par exemple, + on peut ainsi exécuter différentes instances du serveur + (standard et version SSL, version minimale et version dynamique + [mod_perl, mod_php], etc...) à partir d'une seule installation + d'Apache httpd.
  • + +
  • Le paquetage du serveur peut être facilement étendu avec des modules + tiers, même après l'installation. Ceci présente un gros + avantage pour les mainteneurs de paquetages destinés aux distributions, + car ils peuvent créer un paquetage Apache httpd de base, et des paquetages + additionnels contenant des extensions telles que PHP, mod_perl, mod_fastcgi, + etc...
  • + +
  • Une facilité de prototypage des modules Apache httpd, car la paire + DSO/apxs vous permet d'une part de travailler en + dehors de l'arborescence des sources d'Apache httpd, et d'autre part de n'avoir + besoin que de la commande apxs -i + suivie d'un apachectl restart pour introduire une nouvelle + version de votre module fraîchement développé dans le serveur HTTP Apache + en cours d'exécution.
  • +
+ +

Inconvénients des DSO :

+ +
    +
  • Le serveur est environ 20 % plus lent au démarrage + à cause des résolutions de symboles supplémentaires que le chargeur + Unix doit effectuer.
  • + +
  • Le serveur est environ 5 % plus lent à l'exécution + sur certaines plates-formes, car le code indépendant de la position (PIC) + nécessite parfois des manipulations compliquées en assembleur pour + l'adressage relatif qui ne sont pas toujours aussi rapides que celles + que permet l'adressage absolu.
  • + +
  • Comme les modules DSO ne peuvent pas être liés avec d'autres + bibliothèques basées sur DSO (ld -lfoo) sur toutes les + plates-formes + (par exemple, les plates-formes basées sur a.out ne fournissent en + général pas cette fonctionnalité alors que les plates-formes basées sur + ELF le font), vous ne pouvez pas utiliser le mécanisme DSO pour tous les + types de modules. Ou en d'autres termes, les modules compilés comme + fichiers DSO sont contraints de n'utiliser que les symboles du coeur + d'Apache httpd, de la bibliothèque C + (libc) et toutes autres bibliothèques statiques ou + dynamiques utilisées par le coeur d'Apache httpd, ou d'archives statiques + (libfoo.a) contenant du code indépendant de la + position (PIC). + Il y a deux solutions pour utiliser un autre type de code : soit le + coeur d'Apache httpd contient déjà lui-même une référence au code, soit vous + chargez le code vous-même via dlopen().
  • +
+ +
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dso.html.ja.utf8 b/docs/manual/dso.html.ja.utf8 new file mode 100644 index 0000000..8a8d9f4 --- /dev/null +++ b/docs/manual/dso.html.ja.utf8 @@ -0,0 +1,330 @@ + + + + + +動的共有オブジェクト (DSO) サãƒãƒ¼ãƒˆ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

動的共有オブジェクト (DSO) サãƒãƒ¼ãƒˆ

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

Apache HTTP サーãƒã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«åŒ–ã•ã‚ŒãŸãƒ—ログラムã§ã€ + 管ç†è€…ãŒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’é¸æŠžã™ã‚‹ã“ã¨ã§ã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã‚€æ©Ÿèƒ½ã‚’é¸ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚ + モジュールã¯ã‚µãƒ¼ãƒãŒãƒ“ルドã•ã‚Œã‚‹ã¨ãã« httpd ãƒã‚¤ãƒŠãƒªã« + é™çš„ã«çµ„ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚ã‚‚ã—ãã¯ã€httpd ãƒã‚¤ãƒŠãƒªã¨ã¯ + 別ã«å­˜åœ¨ã™ã‚‹å‹•çš„共有オブジェクト (訳注: Dynamic Shared Object) + (DSO) ã¨ã—ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚‹ã“ã¨ã‚‚ + ã§ãã¾ã™ã€‚DSO モジュールã¯ã‚µãƒ¼ãƒãŒãƒ“ルドã•ã‚Œã‚‹ã¨ãã«ã‚³ãƒ³ãƒ‘イルã—ãŸã‚Šã€ + Apache 拡張ツール (apxs) ã‚’ + 使ã£ã¦å¾Œã§ã‚³ãƒ³ãƒ‘イルã—ã¦è¿½åŠ ã—ãŸã‚Šã§ãã¾ã™ã€‚

+ +

ã“ã®æ–‡æ›¸ã¯ DSO モジュールã®ä½¿ã„æ–¹ã¨ã€ä»•çµ„ã¿ã«ã¤ã„㦠+ 説明ã—ã¾ã™ã€‚

+
+ +
top
+
+

実装

+ + + +

個々㮠Apache モジュールをロードã™ã‚‹ãŸã‚ã® DSO サãƒãƒ¼ãƒˆã¯ + mod_so.c ã¨ã„ã†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ©Ÿèƒ½ã«åŸºã¥ã„ã¦ã„ã¾ã™ã€‚ + ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« 㯠Apache ã®ã‚³ã‚¢ã«é™çš„ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ãれ㯠core.c 以外ã§ã¯ DSO ã«ã§ããªã„唯一㮠+ モジュールã§ã™ã€‚事実上ã€ä»–ã®ã™ã¹ã¦ã® Apache ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ + インストールã®æ–‡æ›¸ã§èª¬æ˜Žã•ã‚Œã¦ã„るよã†ã«ã€ + configure ã® + --enable-module=shared オプションã§ãã‚Œãžã‚Œã‚’ + DSO ビルドã«ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€DSO モジュールã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + mod_foo.so ã®ã‚ˆã†ãª DSO ã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚³ãƒ³ãƒ‘イルã•ã‚Œã‚Œã°ã€ + httpd.conf ファイル中㧠mod_so ã® + LoadModule + ディレクティブを使ã†ã“ã¨ã§ã‚µãƒ¼ãƒã®èµ·å‹•ã‚„å†èµ·å‹•æ™‚ã«ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ + ロードã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚

+ +

Apache モジュール用㮠(特ã«ã‚µãƒ¼ãƒ‰ãƒ‘ーティモジュールã®) DSO ファイル㮠+ 作æˆã‚’ç°¡å˜ã«ã™ã‚‹ãŸã‚ã«ã€apxs + (APache eXtenSion) ã¨ã„ã†æ–°ã—ã„サãƒãƒ¼ãƒˆãƒ—ログラムãŒã‚ã‚Šã¾ã™ã€‚ + Apache ã®ã‚½ãƒ¼ã‚¹ãƒ„リーã®å¤–㧠DSO モジュールをビルドã™ã‚‹ãŸã‚ã« + 使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚発想ã¯å˜ç´”ã§ã™: Apache ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ™‚ã® + configureã€make install ã®ã¨ãã« Apache ã® + C ヘッダをインストールã—ã€DSO ビルド用ã®ãƒ—ラットフォームä¾å­˜ã® + コンパイラã¨ãƒªãƒ³ã‚«ã®ãƒ•ãƒ©ã‚°ã‚’ apxs プログラムã«è¿½åŠ ã—ã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ãƒ¦ãƒ¼ã‚¶ãŒ Apache ã®é…布ソースツリーãªã—ã§ã€ã•ã‚‰ã« + DSO サãƒãƒ¼ãƒˆã®ãŸã‚ã®ãƒ—ラットフォームä¾å­˜ã®ã‚³ãƒ³ãƒ‘イラやリンカ㮠+ フラグをã„ã˜ã‚‹ã“ã¨ãªã Apache ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã‚½ãƒ¼ã‚¹ã‚’コンパイル + ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+
top
+
+

使用法ã®æ¦‚è¦

+ +

Apache 2.x ã® DSO 機能ã®æ¦‚略を知るã“ã¨ãŒã§ãã‚‹ãŸã‚ã®ã€ + 短ãç°¡æ½”ãªæ¦‚è¦ã§ã™:

+ +
    +
  1. + é…布ã•ã‚Œã¦ã„ã‚‹ Apache モジュールã€ä»®ã« mod_foo.c + ã¨ã—ã¦ã€ãれを DSO mod_foo.so ã«ãƒ“ルドã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«: + +

    +$ ./configure --prefix=/path/to/install --enable-foo=shared
    +$ make install +

    +
  2. + +
  3. + サードパーティ Apache モジュールã€ä»®ã« mod_foo.c + ã¨ã—ã¦ã€ãれを DSO mod_foo.so ã«ãƒ“ルドã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«: + +

    +$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c \
    + + --enable-foo=shared
    +
    +$ make install +

    +
  4. + +
  5. + 共有モジュール㮠後々ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« ã®ãŸã‚ã« + Apache を設定: + +

    +$ ./configure --enable-so
    +$ make install +

    +
  6. + +
  7. + サードパーティ Apache モジュールã€ä»®ã« mod_foo.c + ã¨ã—ã¦ã€ãれを apxs を使ã£ã¦ + Apache ソースツリーã®å¤–㧠DSO ã«ãƒ“ルドã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«: + +

    +$ cd /path/to/3rdparty
    +$ apxs -c mod_foo.c
    +$ apxs -i -a -n foo mod_foo.la +

    +
  8. +
+ +

ã©ã®å ´åˆã«ãŠã„ã¦ã‚‚ã€å…±æœ‰ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’コンパイルã—ãŸå¾Œã§ã€ + httpd.conf 㧠+ LoadModule + ディレクティブを使ã£ã¦ Apache ãŒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使用ã™ã‚‹ã‚ˆã†ã« + ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
top
+
+

背景

+ +

最近㮠Unix 系㮠OS ã«ã¯ 動的共有オブジェクト (DSO) + ã®å‹•çš„リンク/ロードã¨ã„ã†æ°—ã®ãã„ãŸæ©Ÿæ§‹ãŒ + 存在ã—ã¾ã™ã€‚ã“ã‚Œã¯ã€å®Ÿè¡Œæ™‚ã«ãƒ—ログラムã®ã‚¢ãƒ‰ãƒ¬ã‚¹ç©ºé–“ã« + ロードã§ãるよã†ãªç‰¹åˆ¥ãªå½¢å¼ã§ãƒ—ログラムをビルドã™ã‚‹ã“ã¨ã‚’ + å¯èƒ½ã«ã—ã¾ã™ã€‚

+ +

ã“ã®ãƒ­ãƒ¼ãƒ‰ã¯äºŒã¤ã®æ–¹æ³•ã§è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™: 実行プログラム㌠+ èµ·å‹•ã•ã‚ŒãŸã¨ãã« ld.so ã¨ã„ã†ã‚·ã‚¹ãƒ†ãƒ ãƒ—ログラム + ã«ã‚ˆã‚Šè‡ªå‹•çš„ã«è¡Œãªã‚れる方法ã¨ã€å®Ÿè¡Œãƒ—ログラム中ã‹ã‚‰ã€ã‚·ã‚¹ãƒ†ãƒ ã‚³ãƒ¼ãƒ« + dlopen()/dlsym() ã«ã‚ˆã‚‹ Unix ローダã¸ã® + プログラムシステムã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‚’使ã£ã¦æ‰‹å‹•ã§è¡Œãªã†æ–¹æ³•ã¨ãŒ + ã‚ã‚Šã¾ã™ã€‚

+ +

最åˆã®æ–¹æ³•ã§ã¯ DSO ã¯æ™®é€šã¯å…±æœ‰ãƒ©ã‚¤ãƒ–ラリや DSO + ライブラリ ã¨å‘¼ã°ã‚Œã¦ã„ã¦ã€DSO ã®åå‰ã¯ + libfoo.so ã‚„ libfoo.so.1.2 ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ + ã“れらã¯ã‚·ã‚¹ãƒ†ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª (通常 /usr/lib) ã«å­˜åœ¨ã—〠+ 実行プログラムã¸ã®ãƒªãƒ³ã‚¯ã¯ãƒ“ルド時㫠-lfoo をリンカ㫠+ 指定ã™ã‚‹ã“ã¨ã§ç¢ºç«‹ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šãƒ©ã‚¤ãƒ–ラリã¸ã®å‚ç…§ãŒå®Ÿè¡Œãƒ—ログラム㮠+ ファイルã«æ›¸ãè¾¼ã¾ã‚Œã¦ã€èµ·å‹•æ™‚ã« Unix ã®ãƒ­ãƒ¼ãƒ€ãŒ /usr/lib や〠+ リンカ㮠-R ã®ã‚ˆã†ãªã‚ªãƒ—ションã«ã‚ˆã‚Šãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ‘ス〠+ 環境変数 LD_LIBRARY_PATH ã«ã‚ˆã‚Šè¨­å®šã•ã‚ŒãŸãƒ‘スã€ã®ä¸­ã‹ã‚‰ + libfoo.so ã®å ´æ‰€ã‚’見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãã‚Œã‹ã‚‰ã€ + 実行プログラム中㮠(ã¾ã æœªè§£æ±ºã®) シンボルを DSO ã«ã‚るシンボル㧠+ 解決ã—ã¾ã™ã€‚

+ +

普通ã¯å®Ÿè¡Œãƒ—ログラム中ã®ã‚·ãƒ³ãƒœãƒ«ã¯ DSO ã‹ã‚‰ã¯å‚ç…§ã•ã‚Œã¾ã›ã‚“ + (DSO ã¯ä¸€èˆ¬çš„ãªã‚³ãƒ¼ãƒ‰ã«ã‚ˆã‚‹å†åˆ©ç”¨å¯èƒ½ãªãƒ©ã‚¤ãƒ–ラリã§ã™ã®ã§)。 + ã§ã™ã‹ã‚‰ã€ã•ã‚‰ãªã‚‹ã‚·ãƒ³ãƒœãƒ«ã®è§£æ±ºã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。 + シンボル㯠Unix ローダã«ã‚ˆã‚Šå®Œå…¨ãªè§£æ±ºãŒè¡Œãªã‚ã‚Œã¾ã™ã®ã§ã€å®Ÿè¡Œãƒ•ã‚¡ã‚¤ãƒ«è‡ªèº«ã¯ + 何もã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã›ã‚“。(実際ã®ã¨ã“ã‚ã€é™çš„ã§ãªã„方法ã§ãƒªãƒ³ã‚¯ã•ã‚Œã¦ã„ã‚‹ + ã™ã¹ã¦ã®å®Ÿè¡Œãƒ—ログラムã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„る開始用ã®ã‚³ãƒ¼ãƒ‰ã®ä¸€éƒ¨ã« + ld.so ã‚’èµ·å‹•ã™ã‚‹ã‚³ãƒ¼ãƒ‰ãŒå«ã¾ã‚Œã¦ã„ã¾ã™)。よã使ã‚れる + ライブラリã®å‹•çš„ロードã®åˆ©ç‚¹ã¯æ˜Žã‚‰ã‹ã§ã™ã€‚ライブラリã®ã‚³ãƒ¼ãƒ‰ã¯ + システムライブラリ㫠libc.so ã®ã‚ˆã†ã«ã—ã¦ä¸€åº¦ä¿å­˜ã™ã‚‹ã ã‘ã§ã‚ˆã〠+ プログラムã®ãŸã‚ã«å¿…è¦ãªãƒ‡ã‚£ã‚¹ã‚¯ã®é ˜åŸŸã‚’節約ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

二ã¤ã‚ã®æ–¹æ³•ã§ã¯ DSO ã¯æ™®é€šã¯å…±æœ‰ã‚ªãƒ–ジェクトや + DSO ファイルã¨å‘¼ã°ã‚Œã¦ã„ã¦ã€ä»»æ„ã®æ‹¡å¼µå­ã‚’付ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ + (ãŸã ã—ã€æ¨™æº–çš„ãªåå‰ã¯ foo.so ã§ã™)。 + ã“れらã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯é€šå¸¸ã¯ãƒ—ログラム専用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ã‹ã‚Œã€ + ã“れらを使ã†å®Ÿè¡Œãƒ—ログラムã¸ã®ãƒªãƒ³ã‚¯ã¯è‡ªå‹•çš„ã«ã¯ã•ã‚Œã¾ã›ã‚“。 + ã§ã™ã®ã§ã€å®Ÿè¡Œãƒ—ログラム㯠dlopen() を使ã£ã¦ + 実行時ã«æ‰‹å‹•ã§ DSO をプログラムã®ã‚¢ãƒ‰ãƒ¬ã‚¹ç©ºé–“ã«ãƒ­ãƒ¼ãƒ‰ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®æ™‚点ã§ã¯å®Ÿè¡Œãƒ—ログラムã«å¯¾ã—㦠DSO ã®ã‚·ãƒ³ãƒœãƒ«ã®è§£æ±ºã¯è¡Œãªã‚ã‚Œã¾ã›ã‚“。 + ã—ã‹ã—ã€ãã®ä»£ã‚ã‚Šã« Unix ã®ãƒ­ãƒ¼ãƒ€ãŒ DSO ã® (ã¾ã æœªè§£æ±ºã®) シンボルを + 実行プログラムã«ã‚ˆã‚Šã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ã¨æ—¢ã«ãƒ­ãƒ¼ãƒ‰ã•ã‚ŒãŸ + DSO ライブラリã«ã‚ˆã‚Šã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ« (特ã«ã€ã©ã“ã«ã§ã‚‚ã‚ã‚‹ + libc.so ã®ã™ã¹ã¦ã®ã‚·ãƒ³ãƒœãƒ«) ã§è‡ªå‹•çš„ã«è§£æ±ºã—ã¾ã™ã€‚ + ã“ã†ã™ã‚‹ã“ã¨ã§ã€DSO ã¯æœ€åˆã‹ã‚‰é™çš„ã«ãƒªãƒ³ã‚¯ã•ã‚Œã¦ã„ãŸã‹ã®ã‚ˆã†ã«ã€ + 実行プログラムã®ã‚·ãƒ³ãƒœãƒ«ã‚’知るã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

最後ã«ã€DSO ã® API を利点を生ã‹ã™ãŸã‚ã«ã€ãƒ—ログラム㯠+ 後ã§ãƒ‡ã‚£ã‚¹ãƒ‘ッãƒãƒ†ãƒ¼ãƒ–ルãªã©ã§ã‚·ãƒ³ãƒœãƒ«ã‚’使ã†ã“ã¨ãŒã§ãるよã†ã«ã€ + dlsym() を使ã£ã¦ã„ãã¤ã‹ã®ã‚·ãƒ³ãƒœãƒ«ã‚’解決ã—ã¾ã™ã€‚ + ã™ãªã‚ã¡: 実行プログラムã¯å¿…è¦ãªã™ã¹ã¦ã®ã‚·ãƒ³ãƒœãƒ«ã‚’手動ã§è§£æ±ºã—ãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。ã“ã®æ©Ÿæ§‹ã®åˆ©ç‚¹ã¯ãƒ—ログラムã®ã‚ªãƒ—ショナルãªéƒ¨åˆ†ã¯ + å¿…è¦ã«ãªã‚‹ã¾ã§ãƒ­ãƒ¼ãƒ‰ã™ã‚‹å¿…è¦ãŒãªã„ (ã ã‹ã‚‰ãƒ¡ãƒ¢ãƒªã‚‚消費ã—ãªã„) + ã“ã¨ã§ã™ã€‚å¿…è¦ãªã‚‰ã°ã€åŸºæœ¬ãƒ—ログラムã®æ©Ÿèƒ½ã‚’æ‹¡å¼µã™ã‚‹ãŸã‚ã« + ã“れらã®éƒ¨åˆ†ã‚’å‹•çš„ã«ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã“ã® DSO 機構ã¯ç°¡å˜ãªã‚ˆã†ã«è¦‹ãˆã¾ã™ãŒã€å°‘ãªãã¨ã‚‚一ã¤é›£ã—ã„点㌠+ ã‚ã‚Šã¾ã™: プログラムを拡張ã™ã‚‹ãŸã‚ã« DSO を使ã£ã¦ã„ã‚‹ã¨ãã«ã€ + DSO ãŒå®Ÿè¡Œãƒ—ログラムã‹ã‚‰ã‚·ãƒ³ãƒœãƒ«ã‚’解決ã™ã‚‹ç‚¹ã§ã™ (二番目ã®æ–¹æ³•)。 + ã“ã‚Œã¯ãªãœã§ã—ょã†ã‹ã€‚ãã‚Œã¯ã€DSO ã®ã‚·ãƒ³ãƒœãƒ«ã‚’実行プログラム㮠+ シンボルã‹ã‚‰ã€Œé€†è§£æ±ºã€ã™ã‚‹ã¨ã„ã†ã®ã¯ãƒ©ã‚¤ãƒ–ラリã®è¨­è¨ˆ + (ライブラリã¯ãれを使用ã™ã‚‹ãƒ—ログラムã®ã“ã¨ã¯ä½•ã‚‚ + 知らãªã„) ã«åã—ã¦ã„ã¦ã€ã“ã®æ©Ÿèƒ½ã¯ã™ã¹ã¦ã®ãƒ—ラットフォーム㫠+ ã‚ã‚‹ã‚ã‘ã§ã¯ãªãã€æ¨™æº–化もã•ã‚Œã¦ã„ãªã„ã‹ã‚‰ã§ã™ã€‚ + 実際ã«ã¯å®Ÿè¡Œãƒ—ログラムã®ã‚°ãƒ­ãƒ¼ãƒãƒ«ãªã‚·ãƒ³ãƒœãƒ«ã¯å†ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚Œã‚‹ã“ã¨ã¯ + ã‚ã¾ã‚Šãªãã€DSO ã‹ã‚‰ä½¿ã†ã“ã¨ãŒã§ãã¾ã›ã‚“。リンカã«ã‚°ãƒ­ãƒ¼ãƒãƒ«ã‚·ãƒ³ãƒœãƒ«ã™ã¹ã¦ã‚’ + エクスãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«ã•ã›ã‚‹æ–¹æ³•ã‚’見ã¤ã‘ã‚‹ã“ã¨ãŒã€å®Ÿè¡Œæ™‚ã«ãƒ—ログラムを + æ‹¡å¼µã™ã‚‹ãŸã‚ã« DSO を使ã†ã¨ãã®ä¸€ç•ªã®å•é¡Œã§ã™ã€‚

+ +

共有ライブラリã®ã‚¢ãƒ—ローãƒãŒæ™®é€šã®æ–¹æ³•ã§ã™ã€‚DSO 機構ã¯ãã®ãŸã‚ã« + 設計ã•ã‚ŒãŸã‚‚ã®ã§ã™ã‹ã‚‰ã€‚ã—ãŸãŒã£ã¦ã€ãã®æ–¹æ³•ã¯ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ãŒ + æä¾›ã™ã‚‹ã»ã¨ã‚“ã©ã™ã¹ã¦ã®ç¨®é¡žã®ãƒ©ã‚¤ãƒ–ラリã§ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚ + 一方ã€ãƒ—ログラムã®æ‹¡å¼µã®ãŸã‚ã«å…±æœ‰ã‚ªãƒ–ジェクトを使用ã™ã‚‹ã€ã¨ã„ã†æ–¹ã¯ + ã‚ã¾ã‚Šä½¿ã‚ã‚Œã¦ã„ã¾ã›ã‚“。

+ +

1998 å¹´ã®æ™‚点ã§ã€å®Ÿè¡Œæ™‚ã«å®Ÿéš›ã«æ©Ÿèƒ½æ‹¡å¼µã®ãŸã‚ã« DSO 機構を使ã£ã¦ã„ã‚‹ + ソフトウェアパッケージã¯å°‘ã—ã ã‘ã§ã—ãŸ: Perl 5 (XS 機構㨠DnaLoader モジュール + ã«ã‚ˆã‚‹ã‚‚ã®)ã€Netscape サーãƒãªã©ã§ã™ã€‚Apache ã¯ã™ã§ã« + モジュールã®æ¦‚念を使ã£ã¦æ©Ÿèƒ½æ‹¡å¼µã‚’ã—ã¦ã„ã¦ã€å†…部的ã«ãƒ‡ã‚£ã‚¹ãƒ‘ッãƒãƒªã‚¹ãƒˆã« + 基ã¥ã„ãŸå¤–部モジュール㮠Apache コア機能ã¸ã®ãƒªãƒ³ã‚¯ã‚’è¡Œãªã£ã¦ã„ã¾ã—ãŸã®ã§ã€ + ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.3 ã‹ã‚‰ã€Apache ã‚‚ DSO 機構を使ã†ä»²é–“ã«ãªã‚Šã¾ã—ãŸã€‚ + Apache ã¯å®Ÿè¡Œæ™‚ã« DSO を使ã£ã¦ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ロードã™ã‚‹ã‚ˆã†ã«ã™ã§ã« + é‹å‘½ä»˜ã‘られã¦ã„ãŸã®ã§ã™ã€‚

+
top
+
+

利点ã¨æ¬ ç‚¹

+ +

上記㮠DSO ã«åŸºã¥ã„ãŸæ©Ÿèƒ½ã¯ä»¥ä¸‹ã®åˆ©ç‚¹ãŒã‚ã‚Šã¾ã™:

+ +
    +
  • 実際ã®ã‚µãƒ¼ãƒãƒ—ロセスを組ã¿ç«‹ã¦ã‚‹ãŸã‚ã«ã€ + ビルド時㫠configure ã®ã‚ªãƒ—ションを使ã†ä»£ã‚ã‚Šã« + 実行時㫠httpd.conf ã®è¨­å®šç”¨ã‚³ãƒžãƒ³ãƒ‰ + LoadModule + を使ã†ã“ã¨ãŒã§ãã¾ã™ã®ã§ã€ã‚µãƒ¼ãƒãƒ‘ッケージã®æŸ”軟性ãŒé«˜ã¾ã‚Šã¾ã—ãŸã€‚ + ãŸã¨ãˆã°ã€ä¸€ã¤ã® Apache ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‹ã‚‰ + é•ã†æ§‹æˆã®ã‚µãƒ¼ãƒ (標準版㨠SSL 版ã€æœ€å°æ§‹æˆã¨æ‹¡å¼µç‰ˆ [mod_perl, PHP3] + ãªã©) を実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
  • + +
  • インストールã®å¾Œã§ã‚ã£ã¦ã‚‚ã€ã‚µãƒ¼ãƒã®ãƒ‘ッケージをサードパーティ + モジュールã§ç°¡å˜ã«æ‹¡å¼µã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ã“ã‚Œã¯ã€Apache コア + パッケージã¨ã€PHP3, mod_perl, mod_fastcgi ãªã© ã®è¿½åŠ ã® + パッケージを作æˆã§ãã‚‹ã®ã§ã€å°‘ãªãã¨ã‚‚ベンダã®ãƒ‘ッケージ管ç†è€…ã«ã¨ã£ã¦ + 大ããªåˆ©ç‚¹ãŒã‚ã‚Šã¾ã™ã€‚
  • + +
  • Apache モジュールã®é–‹ç™ºãŒç°¡å˜ã«ãªã‚Šã¾ã™ã€‚ + ã“れ㯠DSO 㨠apxs ã®çµ„ã¿åˆã‚ã›ã«ã‚ˆã‚Šã€Apache ソースツリー㮠+ 外ã§ä½œæ¥­ã§ãã€é–‹ç™ºä¸­ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ + 実行中㮠Apache サーãƒã«çµ„ã¿è¾¼ã‚€ãŸã‚ã« apxs -i 㨠+ apachectl restart ã‚’è¡Œãªã†ã ã‘ã§è‰¯ããªã‚‹ã‹ã‚‰ã§ã™ã€‚
  • +
+ +

DSO ã«ã¯ä»¥ä¸‹ã®æ¬ ç‚¹ãŒã‚ã‚Šã¾ã™:

+ +
    +
  • ã™ã¹ã¦ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ãŒãƒ—ログラムã®ã‚¢ãƒ‰ãƒ¬ã‚¹ç©ºé–“ã« + コードを動的ロードã™ã‚‹ã“ã¨ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‚ã§ã¯ãªã„ã®ã§ã€ + プラットフォームã«ã‚ˆã£ã¦ã¯ DSO 機構ã¯ä½¿ãˆã¾ã›ã‚“。
  • + +
  • Unix ã®ãƒ­ãƒ¼ãƒ€ãŒã‚·ãƒ³ãƒœãƒ«ã®è§£æ±ºã‚’ã™ã‚‹å¿…è¦ãŒã§ããŸã®ã§ã€ + ãã®ã‚ªãƒ¼ãƒãƒ˜ãƒƒãƒ‰ã«ã‚ˆã‚Šã‚µãƒ¼ãƒã®èµ·å‹•æ™‚é–“ãŒç´„ 20% é…ããªã£ã¦ã„ã¾ã™ã€‚
  • + +
  • ä½ç½®éžä¾å­˜ã‚³ãƒ¼ãƒ‰ (PIC) (訳注 position independent code) 㯠+ 相対アドレスã®ãŸã‚ã«è¤‡é›‘ãªã‚¢ã‚»ãƒ³ãƒ–ラã®ãƒˆãƒªãƒƒã‚¯ãŒå¿…è¦ãªã“ã¨ãŒã‚り〠+ ãã‚Œã¯å¿…ãšã—も絶対アドレスã¨åŒã˜ãらã„ã®é€Ÿåº¦ãŒã§ã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã®ã§ã€ + プラットフォームã«ã‚ˆã£ã¦ã¯ã‚µãƒ¼ãƒã®å®Ÿè¡Œé€Ÿåº¦ãŒç´„ 5% é…ããªã‚Šã¾ã™ã€‚
  • + +
  • DSO モジュールã¯ã™ã¹ã¦ã®ãƒ—ラットフォームã§ä»–ã® DSO ã«åŸºã¥ã„㟠+ ライブラリã«å¯¾ã—ã¦ãƒªãƒ³ã‚¯ã§ãã‚‹ (ld -lfoo) + ã¨ã„ã†ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã®ã§ (ãŸã¨ãˆã°ã€a.out ã®ãƒ—ラットフォームã§ã¯ + ã“ã®æ©Ÿèƒ½ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ELF ã®ãƒ—ラットフォームã«ã¯ã‚ã‚Šã¾ã™)〠+ ã™ã¹ã¦ã®ç¨®é¡žã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã« DSO 機構を使ãˆã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + 言ã„æ›ãˆã‚‹ã¨ã€DSO ファイルã¨ã—ã¦ã‚³ãƒ³ãƒ‘イルã•ã‚ŒãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® + 使ãˆã‚‹ã‚·ãƒ³ãƒœãƒ«ã¯ã€ + Apache ã®ã‚³ã‚¢ã®ã‚·ãƒ³ãƒœãƒ«ã€C ライブラリ (libc) 㨠+ Apache コアãŒä½¿ã£ã¦ã„ã‚‹ä»–ã®ã™ã¹ã¦ã®é™çš„ãªãƒ©ã‚¤ãƒ–ラリã¨å‹•çš„ライブラリ㮠+ シンボルã€PIC ã«ã‚ˆã‚‹é™çš„ãªãƒ©ã‚¤ãƒ–ラリ (libfoo.a) ã® + シンボルã®ã¿ã«åˆ¶é™ã•ã‚Œã¾ã™ã€‚ãã®ä»–ã®ã‚³ãƒ¼ãƒ‰ã‚’使ã†æ–¹æ³•ã¯ã€ + Apache コア自身ãŒã™ã§ã«ãã®ã‚³ãƒ¼ãƒ‰ã¸ã®å‚ç…§ãŒã‚るよã†ã«ã™ã‚‹ã‹ã€ + dlopen () を使ã£ã¦ã‚³ãƒ¼ãƒ‰ã‚’自分自身ã§ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ã‹ã® + ã©ã¡ã‚‰ã‹ã—ã‹ã‚ã‚Šã¾ã›ã‚“。
  • +
+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dso.html.ko.euc-kr b/docs/manual/dso.html.ko.euc-kr new file mode 100644 index 0000000..d85a499 --- /dev/null +++ b/docs/manual/dso.html.ko.euc-kr @@ -0,0 +1,306 @@ + + + + + +µ¿Àû°øÀ¯°´Ã¼ (DSO) Áö¿ø - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

µ¿Àû°øÀ¯°´Ã¼ (DSO) Áö¿ø

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â °ü¸®ÀÚ°¡ ¸ðµâµéÀ» ¼±ÅÃÇÏ¿© ¼­¹ö¿¡ Æ÷ÇÔÇÒ + ±â´ÉÀ» °áÁ¤ÇÒ ¼ö ÀÖ´Â ¸ðµâÈ­µÈ ÇÁ·Î±×·¥ÀÌ´Ù. ¼­¹ö¸¦ ÄÄÆÄÇÒ¶§ + httpd ½ÇÇàÆÄÀÏ¿¡ Á¤ÀûÀ¸·Î ¸ðµâÀ» ÄÄÆÄÀÏÇÒ + ¼ö ÀÖ´Ù. ¾Æ´Ï¸é ¸ðµâÀ» httpd ½ÇÇàÆÄÀÏ°ú + ºÐ¸®ÇÏ¿© µ¿Àû°øÀ¯°´Ã¼(Dynamic Shared Objects, DSO)·Î ÄÄÆÄÀÏÇÒ + ¼ö ÀÖ´Ù. DSO ¸ðµâÀº ¼­¹ö¸¦ ÄÄÆÄÀÏÇÒ¶§ ÄÄÆÄÀÏÇϰųª, Apache + Extension Tool (apxs)À» + »ç¿ëÇÏ¿© ³ªÁß¿¡ ÄÄÆÄÀÏÇÏ¿© Ãß°¡ÇÒ ¼ö ÀÖ´Ù.

+ +

ÀÌ ¹®¼­´Â DSO ¸ðµâ »ç¿ë¹ý°ú ¹è°æ ÀÌ·ÐÀ» ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

±¸Çö

+ + + +

¾ÆÆÄÄ¡ Çٽɿ¡ Á¤ÀûÀ¸·Î ÄÄÆÄÀÏÇؾßÇÒ + mod_so.c¶ó´Â ¸ðµâÀº ¾ÆÆÄÄ¡ ¸ðµâÀ» + ÀоîµéÀ̱âÀ§ÇÑ DSO¸¦ Áö¿øÇÑ´Ù. + ÀÌ ¸ðµâÀº core¸¦ Á¦¿ÜÇÏ°í DSO°¡ + µÉ ¼ö ¾ø´Â À¯ÀÏÇÑ ¸ðµâÀÌ´Ù. ½ÇÁ¦·Î ´Ù¸¥ ¸ðµç ¾ÆÆÄÄ¡ ¸ðµâÀº + ¼³Ä¡ ¹®¼­¿¡¼­ ¼³¸íÇÑ + configureÀÇ --enable-module=shared + ¿É¼ÇÀ» »ç¿ëÇÏ¿© DSO·Î ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. ¸ðµâÀ» + mod_foo.so¿Í °°ÀÌ DSO·Î ÄÄÆÄÀÏÇÑÈÄ httpd.conf + ÆÄÀÏ¿¡ mod_soÀÇ + LoadModule ¸í·É¾î¸¦ + »ç¿ëÇÏ¿© ¼­¹ö ½ÃÀ۽à ȤÀº Àç½ÃÀ۽à ±× ¸ðµâÀ» ÀоîµéÀÏ ¼ö + ÀÖ´Ù.

+ +

¾ÆÆÄÄ¡ ¸ðµâ(ƯÈ÷ Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâ)·Î »ç¿ëÇÒ DSO ÆÄÀÏÀ» ½±°Ô + ¸¸µé±âÀ§ÇØ apxs (APache + eXtenSion)¶ó´Â »õ·Î¿î Áö¿ø ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº + ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼­ DSO·Î »ç¿ëÇÒ ¸ðµâÀ» + ÄÄÆÄÀÏÇÒ¶§ »ç¿ëÇÑ´Ù. °³³äÀº ½±´Ù. ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÒ¶§ + configure¿Í make installÀÌ + ¾ÆÆÄÄ¡ C Çì´õÆÄÀÏÀ» ¼³Ä¡ÇÏ°í, DSO ÆÄÀÏÀ» ÄÄÆÄÀÏÇϱâÀ§ÇÑ + Ç÷¡Æû ƯÀ¯ÀÇ ÄÄÆÄÀÏ·¯ ¿É¼Ç°ú ¸µÄ¿ ¿É¼ÇÀ» apxs + ÇÁ·Î±×·¥¿¡ ±â·ÏÇÑ´Ù. ±×·¡¼­ apxs¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚ´Â + ¾ÆÆÄÄ¡ ¹èÆ÷º» ¼Ò½º Æ®¸®¾øÀÌ, ¶Ç DSO Áö¿øÀ» À§ÇÑ Ç÷¡Æû ƯÀ¯ÀÇ + ÄÄÆÄÀÏ·¯ ¿É¼Ç¿Í ¸µÄ¿ ¿É¼Ç¿¡ ½Å°æÀ» ¾²Áö¾Ê°í ÀÚ½ÅÀÇ ¾ÆÆÄÄ¡ + ¸ðµâ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù.

+
top
+
+

»ç¿ë¹ý ¿ä¾à

+ +

Apache 2.2ÀÇ DSO ±â´É¿¡ ´ëÇÑ Âª°í °£·«ÇÑ ¿ä¾àÀÌ´Ù:

+ +
    +
  1. + ¹èÆ÷º»¿¡ ÀÖ´Â ¾ÆÆÄÄ¡ ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â + °æ¿ì. ¿¹¸¦ µé¾î mod_foo.c¸¦ DSO + mod_foo.so·Î: + +

    +$ ./configure --prefix=/path/to/install --enable-foo=shared
    +$ make install +

    +
  2. + +
  3. + Á¦»ïÀÚ°¡ ¸¸µç ¾ÆÆÄÄ¡ ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â + °æ¿ì. ¿¹¸¦ µé¾î mod_foo.c¸¦ DSO + mod_foo.so·Î: + +

    +$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared
    +$ make install +

    +
  4. + +
  5. + °øÀ¯ ¸ðµâÀ» ³ªÁß¿¡ »ç¿ëÇϱâÀ§ÇØ ¾ÆÆÄÄ¡¸¦ ±¸¼ºÇÏ´Â + °æ¿ì: + +

    +$ ./configure --enable-so
    +$ make install +

    +
  6. + +
  7. + Á¦»ïÀÚ°¡ ¸¸µç ¾ÆÆÄÄ¡ ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â + °æ¿ì. apxs¸¦ »ç¿ëÇÏ¿© + ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼­ mod_foo.c¸¦ + DSO mod_foo.so·Î: + +

    +$ cd /path/to/3rdparty
    +$ apxs -c mod_foo.c
    +$ apxs -i -a -n foo mod_foo.la +

    +
  8. +
+ +

¸ðµç °æ¿ì ÀÏ´Ü °øÀ¯ ¸ðµâÀÌ ÄÄÆÄÀϵǸé, httpd.conf¿¡ + LoadModule Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡°¡ ±× ¸ðµâÀ» ÀоîµéÀÌ°Ô ¸¸µç´Ù.

+
top
+
+

¹è°æÁö½Ä

+ +

Çö´ëÀûÀÎ À¯´Ð½º·ù¿¡´Â µ¿Àû°øÀ¯°´Ã¼ (DSO)ÀÇ + µ¿Àû ¸µÅ·/·Îµù(dynamic linking/loading)À̶ó°í ÇÏ¿©, Ưº°ÇÑ + Çü½ÄÀÇ ½ÇÇàÄÚµå Á¶°¢À» ¸¸µé¾î ½ÇÇàÁßÀÎ ½ÇÇàÇÁ·Î±×·¥ÀÇ + ÁÖ¼Ò°ø°£¿¡ ÀоîµéÀÌ´Â ¸ÚÁø ±â´ÉÀÌ ÀÖ´Ù.

+ +

º¸Åë µÎ°¡Áö ¹æ¹ýÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Ù. Çϳª´Â ½ÇÇàÇÁ·Î±×·¥ÀÌ + ½ÃÀÛÇÒ¶§ ld.so¶ó´Â ½Ã½ºÅÛ ÇÁ·Î±×·¥ÀÌ ÀÚµ¿À¸·Î + ÀоîµéÀÌ´Â °æ¿ì°í, ´Ù¸¥ Çϳª´Â ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥ÀÌ + dlopen()/dlsym() ½Ã½ºÅÛÈ£Ãâ·Î À¯´Ð½º ·Î´õ(loader)ÀÇ + ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽ºÀ» »ç¿ëÇÏ¿© Á÷Á¢ ÀоîµéÀÌ´Â °æ¿ì´Ù.

+ +

ù¹ø° °æ¿ì DSO¸¦ º¸Åë °øÀ¯¶óÀ̺귯¸®(shared libraries) + ȤÀº DSO ¶óÀ̺귯¸®¶ó°í ºÎ¸£¸ç, ÆÄÀÏÀº + libfoo.so³ª libfoo.so.1.2 °°Àº + À̸§À» °¡Áø´Ù. À̵éÀº ½Ã½ºÅÛ µð·ºÅ丮(º¸Åë /usr/lib)¿¡ + ÀÖ°í, ÄÄÆÄÀϽà ¸µÄ¿ ¸í·É¾î¿¡ -lfoo¸¦ ÁÖ¾î + ½ÇÇàÆÄÀÏ°ú ¿¬°áÇÑ´Ù. ÀÌ·¸°Ô Á÷Á¢ ½áÁØ ¶óÀ̺귯¸®´Â ½ÇÇàÆÄÀÏ¿¡ + ÂüÁ¶µÇ¿©¼­, ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÒ¶§ ¸µÄ¿ ¿É¼Ç -R·Î + Á÷Á¢ ÁöÁ¤ÇÑ °æ·Î, ȯ°æº¯¼ö LD_LIBRARY_PATH·Î + ÁöÁ¤ÇÑ °æ·Î ȤÀº /usr/lib¿¡¼­ À¯´Ð½º ·Î´õ°¡ + libfoo.so¸¦ ãÀ» ¼ö ÀÖ´Ù. ±×·¯¸é ½ÇÇàÇÁ·Î±×·¥ÀÇ + (¾ÆÁ÷ ¸øãÀº(unresolved)) ½Éº¼(symbol)À» DSO¿¡¼­ ã°ÔµÈ´Ù.

+ +

DSO´Â º¸Åë ½ÇÇàÇÁ·Î±×·¥ÀÇ ½Éº¼À» ãÁö¾Ê±â ¶§¹®¿¡ (DSO°¡ + Àç»ç¿ë°¡´ÉÇÑ ÀϹÝÀûÀÎ ÄÚµå ¶óÀ̺귯¸®À̹ǷÎ) ã±â´Â ¿©±â¼­ + ³¡³­´Ù. À¯´Ð½º ·Î´õ°¡ ½Éº¼ ã±â¸¦ ¿ÏÀüÈ÷ ´ã´çÇϹǷΠ½ÇÇàÇÁ·Î±×·¥ÀÌ + Á÷Á¢ DSO¿¡¼­ ½Éº¼À» ãÀ» ÇÊ¿ä°¡ ¾ø´Ù. (»ç½Ç ld.so¸¦ + ºÎ¸£´Â ÄÚµå´Â Á¤ÀûÀÌ ¾Æ´Ñ ¸ðµç ½ÇÇàÇÁ·Î±×·¥¿¡ ¸µÅ©µÇ´Â ½ÇÇà½Ã + ½ÃÀÛÄÚµåÀÇ ÀϺδÙ.) °øÅëµÈ ¶óÀ̺귯¸® Äڵ带 µ¿ÀûÀ¸·Î ÀоîµéÀÌ´Â + ÀåÁ¡Àº ¸íÈ®ÇÏ´Ù. ¶óÀ̺귯¸® Äڵ尡 ¸ðµç ÇÁ·Î±×·¥¿¡ Áߺ¹Çؼ­ + ÀúÀåµÇ´Â ´ë½Å libc.so¿Í °°Àº ½Ã½ºÅÛ ¶óÀ̺귯¸®¿¡ + Çѹø¸¸ ÀúÀåµÇ±â ¶§¹®¿¡ µð½ºÅ© °ø°£ÀÌ Àý¾àµÈ´Ù.

+ +

µÎ¹ø° °æ¿ì DSO¸¦ º¸Åë °øÀ¯°´Ã¼(shared objects) + ȤÀº DSO ÆÄÀÏÀ̶ó°í ºÎ¸£°í, (±ÔÄ¢»ó À̸§Àº + foo.soÀÌÁö¸¸) ÆÄÀÏÀÇ È®ÀåÀÚ´Â ÀÚÀ¯·Ó´Ù. ÀÌ + ÆÄÀϵéÀº º¸Åë ÇÁ·Î±×·¥ ÀÚü µð·ºÅ丮¿¡ À§Ä¡ÇÏ°í ½ÇÇàÇÁ·Î±×·¥¿¡ + ÀÚµ¿À¸·Î ¿¬°áµÇÁö ¾Ê´Â´Ù. ´ë½Å ½ÇÇàÇÁ·Î±×·¥Àº ½ÇÇà½Ã + dlopen()À» »ç¿ëÇÏ¿© DSO¸¦ ÁÖ¼Ò°ø°£¿¡ + Á÷Á¢ Àоîµé¿©¾ß ÇÑ´Ù. À̶§ ½ÇÇàÇÁ·Î±×·¥Àº DSO¿¡¼­ ½Éº¼À» + ãÁö ¾Ê´Â´Ù. ´ë½Å ¾Õ¿¡¼­ º» À¯´Ð½º ·Î´õ´Â ÀÚµ¿À¸·Î ½ÇÇàÆÄÀÏ°ú + ½ÇÇàÆÄÀÏÀÌ ÀÌ¹Ì ÀоîµéÀÎ DSO ¶óÀ̺귯¸®(ƯÈ÷ Ç×»ó Á¸ÀçÇÏ´Â + libc.soÀÇ ¸ðµç ½Éº¼)¿¡¼­ DSOÀÇ (¾ÆÁ÷ ¸øãÀº) + ½Éº¼À» ã´Â´Ù. ±×·¡¼­ DSO´Â ¸¶Ä¡ óÀ½ºÎÅÍ ½ÇÇàÇÁ·Î±×·¥¿¡ + Á¤ÀûÀ¸·Î ¸µÅ©µÈ°Í°ú °°ÀÌ ½ÇÇàÆÄÀÏÀÇ ½Éº¼À» ¾Ë°ÔµÈ´Ù.

+ +

DSOÀÇ API¸¦ ÀÌ¿ëÇϱâÀ§Çؼ­ ¸¶Áö¸·À¸·Î ½ÇÇàÇÁ·Î±×·¥Àº + dlsym()À¸·Î DSO¿¡¼­ ƯÁ¤ ½Éº¼À» ã¾Æ¼­, ¾ÕÀ¸·Î + »ç¿ëÇϱâÀ§ÇØ µð½ºÆÐÄ¡(dispatch) Ç¥ µî¿¡ ÀúÀåÇÑ´Ù. + ´Ù¸¥ ¸»·Î ½ÇÇàÇÁ·Î±×·¥Àº »ç¿ëÇÒ ¸ðµç ½Çº¼À» Á÷Á¢ ã¾Æ¾ßÇÑ´Ù. + ÀÌ·± ±¸Á¶ÀÇ ÀåÁ¡Àº ÇÁ·Î±×·¥ÀÇ ÀϺθ¦ ÇÁ·Î±×·¥ÀÌ + ÇÊ¿äÇÒ¶§±îÁö ÀоîµéÀÌÁö ¾Ê¾Æµµ (±×·¡¼­ ¸Þ¸ð¸®¸¦ ³¶ºñÇÏÁö + ¾Ê°Ô) µÈ´Ù´Â Á¡ÀÌ´Ù. ±âº» ÇÁ·Î±×·¥ÀÇ ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ + ÇÊ¿äÇÑ °æ¿ì ÀÌ ºÎºÐÀ» µ¿ÀûÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Ù.

+ +

ÀÌ·± DSO ±¸Á¶°¡ ÀÚ¿¬½º·´°Ô º¸ÀÌÁö¸¸, ÃÖ¼ÒÇÑ ¾î·Á¿î Á¡ÀÌ + ÇÑ°¡ÁöÀÖ´Ù. ÇÁ·Î±×·¥À» È®ÀåÇϱâÀ§ÇØ DSO¸¦ »ç¿ëÇÒ¶§ DSO°¡ + ½ÇÇàÇÁ·Î±×·¥ÀÇ ½Éº¼À» ã´Â ÀÏÀÌ´Ù. ¿Ö? DSO°¡ ½ÇÇàÇÁ·Î±×·¥ÀÇ + ½Éº¼À» "¿ªÀ¸·Î ã´Â °Í"Àº (¶óÀ̺귯¸®´Â ÀÚ½ÅÀ» »ç¿ëÇÏ´Â ÇÁ·Î±×·¥¿¡ + ´ëÇØ ¸ð¸¥´Ù´Â) ¶óÀ̺귯¸® ¼³°è¿¡ ¹ÝÇϸç, ¸ðµç Ç÷¡Æû¿¡¼­ + Áö¿øµÇÁö¾Ê°í Ç¥ÁØÈ­µÇÁöµµ ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ½ÇÁ¦·Î ½ÇÇàÆÄÀÏÀÇ + Àü¿ª½Éº¼(global symbol)Àº º¸Åë ÀͽºÆ÷Æ®(export)µÇÁö ¾Ê±â¶§¹®¿¡ + DSO°¡ »ç¿ëÇÒ ¼ö ¾ø´Ù. DSO¸¦ »ç¿ëÇÏ¿© ½ÇÇàÁß ÇÁ·Î±×·¥À» È®ÀåÇÏ·Á¸é + ¸µÄ¿¿¡°Ô ¸ðµç Àü¿ª½Éº¼À» ÀͽºÆ÷Æ®Çϵµ·Ï °­Á¦ÇÏ´Â °ÍÀÌ ÁÖµÈ + ÇØ°áÃ¥ÀÌ´Ù.

+ +

°øÀ¯¶óÀ̺귯¸®´Â DSO ¹æ½ÄÀÇ ¼³°è¿øÄ¢´ë·Î ÀüÇüÀûÀ̱⶧¹®¿¡ + ¿î¿µÃ¼Á¦°¡ Á¦°øÇÏ´Â °ÅÀÇ ¸ðµç Á¾·ùÀÇ ¶óÀ̺귯¸®°¡ »ç¿ëÇÑ´Ù. + ¹Ý´ë·Î ¸¹Àº ÇÁ·Î±×·¥Àº ÇÁ·Î±×·¥À» È®ÀåÇϱâÀ§ÇØ °øÀ¯°´Ã¼¸¦ + »ç¿ëÇÏÁö ¾Ê´Â´Ù.

+ +

1998³â ½ÇÇàÁß ½ÇÁ¦·Î ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ DSO ±¸Á¶¸¦ »ç¿ëÇÑ + ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö´Â (XS ±¸Á¶¿Í DynaLoader ¸ðµâÀ» »ç¿ëÇÑ) + Perl 5, Netscape Server µîÀ¸·Î µå¹°¾ú´Ù. ¾ÆÆÄÄ¡´Â + ÀÌ¹Ì ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ ¸ðµâ °³³äÀ» »ç¿ëÇß°í ¿ÜºÎ ¸ðµâÀ» + ¾ÆÆÄÄ¡ Çٽɱâ´É¿¡ ¿¬°áÇϱâÀ§ÇØ ³»ºÎÀûÀ¸·Î µð½ºÆÐÄ¡¸ñ·ÏÀ» + ÀÌ¿ëÇÑ Á¢±Ù¹æ¹ýÀ» »ç¿ëÇ߱⶧¹®¿¡ 1.3 ¹öÀüºÎÅÍ ÀÌ ´ë¿­¿¡ ÇÕ·ùÇß´Ù. + ±×·¡¼­ ¾ÆÆÄÄ¡´Â ½ÇÇàÁß ¸ðµâÀ» ÀоîµéÀ̴µ¥ DSO¸¦ »ç¿ëÇϵµ·Ï + ¿î¸íÁö¿öÁ³´Ù.

+
top
+
+

Àå´ÜÁ¡

+ +

¾Õ¿¡¼­ ¸»ÇÑ DSO¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀåÁ¡ÀÌ ÀÖ´Ù:

+ +
    +
  • ½ÇÁ¦ ¼­¹ö ÇÁ·Î¼¼½º°¡ ÄÄÆÄÀϽà configure + ¿É¼Ç´ë½Å httpd.confÀÇ LoadModuleÀ» »ç¿ëÇÏ¿© ½ÇÇàÁß¿¡ + °áÇյǹǷΠ¼­¹ö ÆÐÅ°Áö ½ÇÇàÀÌ ´õ À¯¿¬ÇÏ´Ù. ¿¹¸¦ µé¾î ÇѹøÀÇ + ¾ÆÆÄÄ¡ ¼³Ä¡¸¸À¸·Î ´Ù¸¥ ¼­¹ö(Ç¥ÁØ ¹öÀü°ú SSL ¹öÀü, ÃÖ¼ÒÈ­ + ¹öÀü°ú ±â´ÉÃß°¡ ¹öÀü [mod_perl, PHP3] µî)¸¦ ½ÇÇàÇÒ + ¼ö ÀÖ´Ù.
  • + +
  • ¼­¹ö´Â ¼³Ä¡ÈÄ¿¡µµ Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâÀ» »ç¿ëÇÏ¿© ½±°Ô + È®ÀåÇÒ ¼ö ÀÖ´Ù. ÃÖ¼ÒÇÑ ±â¾÷ÀÇ ÆÐÅ°Áö Á¦ÀÛÀÚ´Â ¾ÆÆÄÄ¡ ÇÙ½É + ÆÐÅ°Áö¿Í º°µµ·Î PHP3, mod_perl, mod_fastcgi µîÀ» + Ãß°¡ ÆÐÅ°Áö·Î ¸¸µé ¼ö À־ Å« À̵æÀÌ´Ù.
  • + +
  • DSO¿Í apxs¸¦ °¡Áö°í ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼­ + ÀÛ¾÷ÇÏ°í apxs -i¿Í apachectl restart + ¸í·É¾î¸¸À¸·Î ÇöÀç °³¹ßÇÑ ¸ðµâÀÇ »õ ¹öÀüÀ» ½ÇÇàÁßÀÎ ¾ÆÆÄÄ¡ + ¼­¹ö¿¡ ¹Ý¿µÇÒ ¼ö À־ ´õ ½±°Ô ¾ÆÆÄÄ¡ ¸ðµâÀ» °³¹ßÇÒ ¼ö + ÀÖ´Ù.
  • +
+ +

DSO´Â ´ÙÀ½°ú °°Àº ´ÜÁ¡ÀÌ ÀÖ´Ù:

+ +
    +
  • ÇÁ·Î±×·¥ÀÇ ÁÖ¼Ò°ø°£¿¡ Äڵ带 µ¿ÀûÀ¸·Î ÀоîµéÀÌ´Â ±â´ÉÀ» + Áö¿øÇÏÁö¾Ê´Â ¿î¿µÃ¼Á¦°¡ Àֱ⠶§¹®¿¡ ¸ðµç Ç÷¡Æû¿¡¼­ DSO¸¦ + »ç¿ëÇÒ ¼ö ¾ø´Ù.
  • + +
  • À¯´Ð½º ·Î´õ°¡ ½Éº¼À» ã¾Æ¾ßÇϱ⠶§¹®¿¡ ¼­¹ö ½ÃÀÛÀÌ + ¾à 20% Á¤µµ ´Ê¾îÁø´Ù.
  • + +
  • ¼­¹ö´Â À§Ä¡µ¶¸³ÄÚµå(position independent code, PIC) + ¶§¹®¿¡ Àý´ëÁÖ¼ÒÁöÁ¤(absolute addressing)º¸´Ù ´À¸° + »ó´ëÁÖ¼ÒÁöÁ¤(relative addressing)ÀÇ º¹ÀâÇÑ ¾î¼Àºí·¯ ±â¹ýÀÌ + ÇÊ¿äÇϹǷΠ¾î¶² Ç÷¡Æû¿¡¼­ ½ÇÇà½Ã ¾à 5% Á¤µµ ´Ê´Ù.
  • + +
  • DSO ¸ðµâÀ» ´Ù¸¥ DSO±â¹Ý ¶óÀ̺귯¸®(ld -lfoo)¿¡ + ¸µÅ©ÇÒ ¼ö ¾ø´Â Ç÷¡ÆûÀÌ Àֱ⶧¹®¿¡ (¿¹¸¦ µé¾î ELF±â¹Ý + Ç÷¡ÆûÀº Áö¿øÇÏÁö¸¸ a.out±â¹Ý Ç÷¡ÆûÀº º¸Åë ÀÌ ±â´ÉÀ» + Áö¿øÇÏÁö ¾Ê´Â´Ù) ¸ðµç Á¾·ùÀÇ ¸ðµâ¿¡ DSO¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. + ´Ù¸¥ ¸»·Î DSO ÆÄÀÏ·Î ÄÄÆÄÀÏÇÏ´Â ¸ðµâÀº ¾ÆÆÄÄ¡ Çٽɰú ¾ÆÆÄÄ¡ + ÇÙ½ÉÀÌ »ç¿ëÇÏ´Â C ¶óÀ̺귯¸®(libc)¿Í ´Ù¸¥ + µ¿Àû/Á¤Àû ¶óÀ̺귯¸®, À§Ä¡µ¶¸³Äڵ带 ´ã°í ÀÖ´Â Á¤Àû ¶óÀ̺귯¸® + ¾ÆÄ«À̺ê(libfoo.a)ÀÇ ½Éº¼¸¸À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. + ´Ù¸¥ Äڵ带 »ç¿ëÇÏ·Á¸é ¾ÆÆÄÄ¡ ÇÙ½ÉÀÌ ±×°ÍÀ» ÂüÁ¶ÇÏ´øÁö, + dlopen()À¸·Î Á÷Á¢ Äڵ带 Àоîµé¿©¾ß ÇÑ´Ù.
  • +
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/dso.html.tr.utf8 b/docs/manual/dso.html.tr.utf8 new file mode 100644 index 0000000..941c94b --- /dev/null +++ b/docs/manual/dso.html.tr.utf8 @@ -0,0 +1,329 @@ + + + + + +Devingen Paylaşımlı Nesne Desteği - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Devingen Paylaşımlı Nesne Desteği

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Apache HTTP Sunucusu modüler bir program olup, yönetici sadece bir + grup modül seçerek sunucuya işlevsellik ekleyebilir. Modüller, Devingen + Paylaşımlı Nesneler (DSO - Dynamic Shared Object) halinde + httpd programından ayrı olarak derlenir. DSO modülleri + sunucunun derlenmesi sırasında derlenebileceği gibi ayrı olarak derlenip + daha sonra Apache Eklenti Aracı (Apache Extension Tool) + apxs programı kullanılarak da sunucuya eklenebilir.

+ +

Bu belgede DSO modüllerinin kullanımının yanında teorisine de + değinilecektir.

+
+ +
top
+
+

Gerçeklenim

+ + + +

Apache httpd modüllerini yüklemek için DSO desteği, Apache httpd + çekirdeğine durağan olarak ilintilenerek derlenmiş olan + mod_so adında bir modül tarafından sağlanır. + core modülünden başka, bir DSO modülü olamayan tek modül + mod_so modülüdür. Apache ile dağıtılan hemen hemen tüm + diğer Apache modülleri bir DSO modülüne yerleştirilebilir. Derlenmiş + modüller mod_filanca.so biçeminde birer DSO ismi alırlar ve + her biri istenirse httpd.conf dosyasında + mod_so modülünün LoadModule yönergesiyle belirtilerek sunucu başlatılırken + veya yeniden başlatılırken sunucuya yüklenebilir.

+ +

Kurulum belgesinde açıklandığı gibi, her DSO + modülü configure programının + --enable-mods-static seçeneği ile devredışı bırakılabilir.

+ +

Apache httpd modülleri için (özellikle üçüncü parti modüller için) DSO + dosyası üretimini kolaylaştırmak amacıyla apxs + (APache eXtenSion) adında yeni bir destek programı + kullanılmaktadır. Bu program Apache httpd modüllerini Apache httpd kaynak + ağacından ayrı olarak derlemek için kullanılabilir. Fikir basittir: Apache + HTTP Sunucusu derlenirken DSO dosyalarını derlemek için platforma bağımlı + derleyici ve ilintileyici seçenekleri apxs + programının içine konur ve make install ile kurulum sırasında + Apache httpd C başlık dosyaları da kurulur. Böylece + kullanıcı Apache httpd dağıtımının kaynak ağacına ihtiyaç duymadan ve + platforma bağımlı derleyici ve ilintileyici seçeneklerini bilmek zorunda + kalmadan istediği Apache httpd modülünü apxs + programını kullanarak derleyebilir.

+
top
+
+

Kullanım Özeti

+ +

Apache HTTP Sunucusu 2.x’in DSO özelliklerine bir giriş olarak burada + kısaca bir bilgi vermekle yetinilecektir:

+ +
    +
  1. Kaynak dosyası mod_filanca.c dosyasında dağıtılan bir + özgün Apache htpd modülünü mod_filanca.so isminde + bir DSO modülü olarak derlemek ve kurmak için şöyle yapılır:

    + +

    + $ ./configure --prefix=/kurulum/yeri --enable-filanca
    + $ make install +

    +
  2. + +
  3. Apache HTTP Sunucusunu tüm modüller etkin olarak + derleyebilirsiniz. Fakat sunucunun başlatılması sırasında sadece temel + modüller yüklenir. Daha sonra httpd.conf içindeki + LoadModule yönergelerini etkin + veya etkisiz hale getirerek yüklenecek modülleri + değiştirebilirsiniz.

    + +

    +$ ./configure --enable-mods-shared=all
    +$ make install +

    +
  4. + +
  5. Bazı modüller sadece geliştiriciler içindir ve bunlar tüm + modüllerin derlenmesini (all) seçseniz bile derlenmeyecektir. + Geliştirici modülleri dehil tüm modülleri derlemek isterseniz + reallyall kullanınız. Ek olarak, derlenmiş modüller için + kullanılan LoadModule + yönergelerinin tamamını --enable-load-all-modules derleme + seçeneği ile etkin kılabilirsiniz.

    + +

    +$ ./configure --enable-mods-shared=reallyall --enable-load-all-modules
    +$ make install +

    +
  6. + +
  7. Kaynak dosyası mod_filanca.c dosyasında dağıtılan bir + üçüncü parti Apache httpd modülü mod_filanca.so + isminde bir DSO modülü olarak Apache httpd kaynak ağacının dışında + apxs kullanarak derlemek ve kurmak için şöyle + yapılır:

    + +

    +$ cd /bir/kurulum/yeri
    +$ apxs -c mod_filanca.c
    +$ apxs -aci filanca mod_filanca.la +

    +
  8. +
+ +

Tüm durumlarda derlenen paylaşımlı modülü Apache httpd’nin etkin + kılabilmesi için httpd.conf dosyasında o modül için bir + LoadModule yönergesi + bulunmalıdır.

+ +

Ayrıntılı bilgi için apxs belgelerine + bakınız.

+
top
+
+

Artalan Bilgisi

+ +

Günümüzün Unix türevlerinde var olan bir mekanizma sayesinde + çalıştırılabilir bir programın adres uzayına çalışma anında yüklenmek + veya ilintilenmek üzere Devingen Paylaşımlı Nesneler (DSO - + Dynamic Shared Object) adı verilen, özel bir biçem kullanarak kodlanmış + program parçaları oluşturulabilir.

+ +

Bu yükleme normalde iki yolla yapılabilir: Ya çalıştırılabilir + programın başlatılması sırasında yüklenen ld.so adlı bir + sistem programınının devingen olarak yüklenmesi ile ya da + çalıştırılabilir programın içinden Unix yükleyicisine programsal sistem + arayüzü sağlayan dlopen()/dlsym() sistem çağrılarının elle + yapılması suretiyle.

+ +

İlk yöntemde kullanılan DSO’lara genelde paylaşımlı + kütüphaneler veya DSO kütüphaneleri adı verilir ve + bunların dosyaları libfilanca.so veya + libfilanca.so.1.2 biçiminde isimlendirilir. Belli bir + sistem dizininde (normalde /usr/lib) bulunurlar ve derleme + sırasında ilintileyici komutuna -lfilanca şeklinde + belirtilerek çalıştırılabilir programla ilintilenirler. Doğrudan + çalıştırılabilir koda eklenen bu kodlar Unix yükleyicisinin programın + başlatılması sırasında kütüphaneyi /usr/lib altında + libfilanca.so adıyla bulabilmesini sağlar. Kütüphanelerin + aranacağı yerler ya -R gibi bir ilintileyici seçeneği ile + koda eklenir ya da arama yolları LD_LIBRARY_PATH ortam + değişkeni aracılığıyla yapılandırılır. Böylece çalıştırılabilir + programda henüz çözümlenmemiş simgeler DSO içinde bulunarak + çözümlenebilir.

+ +

Çalıştırılabilir program içindeki simgelere normalde DSO içinden + atıfta bulunulmaz (genel kod kütüphanesinin başka programlarca da + kullanılması nedeniyle). Bu bakımdan DSO tarafında böyle bir çözümleme + yapılmaz. Çalıştırılabilir program da DSO’daki simgeleri kendisi + çözümlemeye uğraşmaz, bu işlemlerden tamamen Unix yükleyicisi + (ld.so) sorumludur. (Aslında, ld.so’yu + çağıracak kod, her çalıştırılabilir programın içine ilintilenmiş + (durağan değil) başlatma kodunun bir parçasıdır.) Programlar tarafından + ortaklaşa kullanılan kütüphanelerin devingen olarak yüklenmesinin sebebi + basittir: Kütüphane kodu libc.so gibi bir sistem + kütüphanesine bir kere kaydedilip disk alanından yer kazanılmış + olur.

+ +

İkinci yöntemde kullanılan DSO’lara yine paylaşımlı + kütüphaneler veya DSO kütüphaneleri adı verilir fakat + bunların dosyaları geçerli kabule göre filanca.so gibi + isimlendirilse de genelde keyfi olarak seçilen bir dosya uzantısı + kullanılarak isimlendirilirler. Bu dosyalar genellikle programa özel bir + dizinde dururlar ve bu dosyaları kullanacak olan çalıştırılabilir + programla aralarında özdevimli olarak bağ kurulmamıştır. Bunun yerine, + çalıştırılabilir program DSO’yu çalışma anında dlopen() + sayesinde kendi adres uzayına ekler. Çalıştırılabilir program için + DSO’daki simgeler bu sırada çözümlenmez. Özdevimli olarak devreye + giren Unix yükleyicisi, (varsa) artakalan simgeleri, çalıştırılabilir + ihraç edilen simge kümelerini (ve özellikle her yerde hazır ve nazır + libc.so içindeki tüm simgeleri) kullanarak çözümler. Bu + yolla DSO, çalıştırılabilir programın simge kümesi bilgilerini sanki + kendisine baştan durağan olarak ilintilenmiş gibi ulaşabilir.

+ +

Son olarak, DSO’nun programlama arayüzünün getirilerinden yararlanmak + amacıyla çalıştırılabilir program, daha sonra dağıtım tabloları vb. + yerlerde kullanmak üzere dlsym() üzerinden DSO’daki belli + simgeleri çözümlemek zorundadır. Başka bir deyişle: Çalıştırılabilir + program ihtiyaç duyduğu her simgeyi kullanmak için kendisi çözümleme + yapmak zorundadır. Böyle bir mekanizmanın getirisi, programın isteğe + bağlı parçalarının gerekli olana kadar yüklenmemesidir (böylece daha az + bellek alanı kullanılır). Gerektiği zaman programın işlevselliğini + arttırmak amacıyla bu parçalar devingen olarak programa + yüklenebilir.

+ +

DSO mekanizmasının bu basit gibi görünen işleyişinde zorluk içeren bir + adım şudur (başkaları da olabilir): Bir programın işlevselliğini + genişletmek için DSO kullanılırken (ikinci yöntem) çalıştırılabilir + programdan DSO için simgelerin çözümlenmesi. Zorluğun sebebi, + "tersine çözümleme" yapılmasıdır; çalıştırılabilir programın simge + kümesindeki DSO simgeleri kütüphane tasarımına aykırı bir şekilde + çözümlenir ve bu uygulama tüm platformlarda hazır olarak + desteklenmediği gibi standartlaşmış da değildir. Geçer uygulamada + çalıştırılabilir programın evrensel simgeleri çoğunlukla yeniden dışa + verilmez ve bu bakımdan bir DSO içinde kullanılmaları uygun değildir. + Esas sorun, çalıştırılabilir bir programın işlevselliğini çalışma + anında genişletmek için DSO kullanımı sırasında ilintileyicinin tüm + evrensel simgeleri dışa vermesini zorlamanın bir yolunu bulmaktır.

+ +

Paylaşımlı kütüphane yaklaşımı bu bakımdan türünün tek örneğidir, + çünkü DSO mekanizması özellikle bunun için tasarlanmıştır, dolayısıyla + işletim sisteminin sağladığı hemen hemen tüm kütüphaneler için + kullanılabilir.

+
top
+
+

Getiriler ve Götürüler

+ +

Yukarıda bahsedilen DSO’ya dayalı özelliklerin getirileri + şunlardır:

+ +
    +
  • Sunucu paketi çalışma anında daha esnektir çünkü, sunucuyu + oluÅŸturan parçalar derleme sırasında configure + seçenekleriyle birleÅŸtirilmek yerine httpd.conf içinde + LoadModule yönergeleri + sayesinde çalışma anında birleÅŸtirilebilmektedir. Bu yolla, örneÄŸin + tek bir Apache kurulumuyla birbirinden farklı yapılandırmalara sahip + çok sayıda sunucu çalıştırmak mümkündür. (standart veya SSL sürümü; + basitleÅŸtirilmiÅŸ veya devingen sürümü [mod_perl, PHP3], vs.)
  • + +
  • Sunucu paketi kurulumdan sonra bile üçüncü parti modüllerle kolayca + geniÅŸletilebilir. Bu özellikle, bir Apache temel paketinin yanında + PHP, mod_perl, mod_security gibi ek paketler oluÅŸturan paket + dağıtıcılarına büyük yarar saÄŸlar.
  • + +
  • Yeni Apache httpd modülleri için daha kolay prototip + geliÅŸtirilebilir: Modül kaynak kodunu DSO/apxs çifti + sayesinde Apache httpd kaynak aÄŸacının dışında derleyip modülün yeni + bir sürümünü bir apxs -i komutunun ardından + apachectl restart yaparak çalışan bir Apache HTTP + Sunucusunda denemek daha kolay hale getirilmiÅŸtir.
  • +
+ +

DSO kullanımının götürüleri ise şunlardır:

+ +
    +
  • Ä°lk yüklemede %20 yavaÅŸlama: Unix yükleyicisi simgeleri çözümlemek + zorunda olduÄŸundan sunucu ilk baÅŸlatılırken yaklaşık %20 daha yavaÅŸ + faaliyete geçer.
  • + +
  • Çalışma sırasında % 5 yavaÅŸlama: Konumdan bağımsız kodun (PIC - + Position Independent Code) göreli adresleme için karmaşık oyunlara + girmesi ve bunun mutlak adresleme kadar hızlı olmaması nedeniyle + sunucu bazı platformlarda çalışma anında yaklaşık %5 daha yavaÅŸ + çalışabilir.
  • + +
  • DSO'nun tüm modüller için uygun olmaması: DSO modülleri bazı + platformlarda diÄŸer DSO temelli kütüphanelerle ilintilenemediÄŸinden + (ld -lfilanca) DSO mekanizmasını tüm modül türleri için + kullanamazsınız (örneÄŸin a.out temelli platformlar bu iÅŸlevselliÄŸi + ELF temelli platformlar kadar iyi saÄŸlamaz). BaÅŸka bir deyiÅŸle, DSO + dosyaları olarak derlenmiÅŸ modüllerin kullanabileceÄŸi simgeler ya + Apache httpd temel kodunda vardır ya Apache httpd temel kodunun + kullandığı C kütüphanesinde (libc) ve diÄŸer duraÄŸan ve + devingen kütüphanelerde vardır ya da konumdan bağımsız kodu içeren + duraÄŸan kütüphane arÅŸivlerinde (libfilanca.a) + vardır. DiÄŸer modülleri kullanmak için tek ÅŸansınız ya Apache httpd + çekirdeÄŸinin modüle bir atıf içermesini saÄŸlamak ya da modül kodunu + dlopen() vasıtasıyla yüklemektir.
  • +
+ +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/env.html b/docs/manual/env.html new file mode 100644 index 0000000..1ccf3fa --- /dev/null +++ b/docs/manual/env.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: env.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: env.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: env.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: env.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: env.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/env.html.en b/docs/manual/env.html.en new file mode 100644 index 0000000..7876cdd --- /dev/null +++ b/docs/manual/env.html.en @@ -0,0 +1,529 @@ + + + + + +Environment Variables in Apache - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Environment Variables in Apache

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

There are two kinds of environment variables that affect + the Apache HTTP Server.

+ +

First, there are the environment variables controlled by + the underlying operating system. These are set before the + server starts. They can be used in expansions in configuration + files, and can optionally be passed to CGI scripts and SSI + using the PassEnv directive.

+ +

Second, the Apache HTTP Server provides a mechanism for storing + information in named variables that are also called environment + variables. This information can be used to control various + operations such as logging or access control. The variables are + also used as a mechanism to communicate with external programs + such as CGI scripts. This document discusses different ways to + manipulate and use these variables.

+ +

Although these variables are referred to as environment + variables, they are not the same as the environment + variables controlled by the underlying operating system. + Instead, these variables are stored and manipulated in an + internal Apache structure. They only become actual operating + system environment variables when they are provided to CGI + scripts and Server Side Include scripts. If you wish to + manipulate the operating system environment under which the + server itself runs, you must use the standard environment + manipulation mechanisms provided by your operating system + shell.

+
+ +
top
+
+

Setting Environment Variables

+ + + +

Basic Environment Manipulation

+ + +

The most basic way to set an environment variable in Apache + is using the unconditional SetEnv directive. Variables may also be passed from + the environment of the shell which started the server using the + PassEnv directive.

+ + +

Conditional Per-Request Settings

+ + +

For additional flexibility, the directives provided by + mod_setenvif allow environment variables to be set + on a per-request basis, conditional on characteristics of particular + requests. For example, a variable could be set only when a + specific browser (User-Agent) is making a request, or only when + a specific Referer [sic] header is found. Even more flexibility + is available through the mod_rewrite's RewriteRule which uses the + [E=...] option to set environment variables.

+ + +

Unique Identifiers

+ + +

Finally, mod_unique_id sets the environment + variable UNIQUE_ID for each request to a value which is + guaranteed to be unique across "all" requests under very + specific conditions.

+ + +

Standard CGI Variables

+ + +

In addition to all environment variables set within the + Apache configuration and passed from the shell, CGI scripts and + SSI pages are provided with a set of environment variables + containing meta-information about the request as required by + the CGI + specification.

+ + +

Some Caveats

+ + +
    +
  • It is not possible to override or change the standard CGI + variables using the environment manipulation directives.
  • + +
  • When suexec is used to launch + CGI scripts, the environment will be cleaned down to a set of + safe variables before CGI scripts are launched. The + list of safe variables is defined at compile-time in + suexec.c.
  • + +
  • For portability reasons, the names of environment + variables may contain only letters, numbers, and the + underscore character. In addition, the first character may + not be a number. Characters which do not match this + restriction will be replaced by an underscore when passed to + CGI scripts and SSI pages.
  • + +
  • A special case are HTTP headers which are passed to CGI + scripts and the like via environment variables (see below). + They are converted to uppercase and only dashes are replaced with + underscores; if the header contains any other (invalid) character, + the whole header is silently dropped. See + below for a workaround.
  • + +
  • The SetEnv directive runs + late during request processing meaning that directives such as + SetEnvIf and RewriteCond will not see the + variables set with it.
  • + +
  • When the server looks up a path via an internal + subrequest such as looking + for a DirectoryIndex + or generating a directory listing with mod_autoindex, + per-request environment variables are not inherited in the + subrequest. Additionally, + SetEnvIf directives + are not separately evaluated in the subrequest due to the API phases + mod_setenvif takes action in.
  • +
+ +
top
+
+

Using Environment Variables

+ + + + +

CGI Scripts

+ + +

One of the primary uses of environment variables is to + communicate information to CGI scripts. As discussed above, the + environment passed to CGI scripts includes standard + meta-information about the request in addition to any variables + set within the Apache configuration. For more details, see the + CGI tutorial.

+ + +

SSI Pages

+ + +

Server-parsed (SSI) documents processed by + mod_include's + INCLUDES filter can print environment variables + using the echo element, and can use environment + variables in flow control elements to makes parts of a page + conditional on characteristics of a request. Apache also + provides SSI pages with the standard CGI environment variables + as discussed above. For more details, see the SSI tutorial.

+ + +

Access Control

+ + +

Access to the server can be controlled based on + environment variables using the Require env + and Require not env directives. In combination with + SetEnvIf, this + allows for flexible control of access to the server based on + characteristics of the client. For example, you can use these + directives to deny access to a particular browser (User-Agent). +

+ + +

Conditional Logging

+ + +

Environment variables can be logged in the access log using + the LogFormat + option %e. In addition, the decision on whether + or not to log requests can be made based on the status of + environment variables using the conditional form of the + CustomLog + directive. In combination with SetEnvIf this allows for flexible control of which + requests are logged. For example, you can choose not to log + requests for filenames ending in gif, or you can + choose to only log requests from clients which are outside your + subnet.

+ + +

Conditional Response Headers

+ + +

The Header + directive can use the presence or + absence of an environment variable to determine whether or not + a certain HTTP header will be placed in the response to the + client. This allows, for example, a certain response header to + be sent only if a corresponding header is received in the + request from the client.

+ + + +

External Filter Activation

+ + +

External filters configured by mod_ext_filter + using the ExtFilterDefine directive can + by activated conditional on an environment variable using the + disableenv= and enableenv= options.

+ + +

URL Rewriting

+ + +

The %{ENV:variable} form of + TestString in the RewriteCond allows mod_rewrite's rewrite + engine to make decisions conditional on environment variables. + Note that the variables accessible in mod_rewrite + without the ENV: prefix are not actually environment + variables. Rather, they are variables special to + mod_rewrite which cannot be accessed from other + modules.

+ +
top
+
+

Special Purpose Environment Variables

+ + +

Interoperability problems have led to the introduction of + mechanisms to modify the way Apache behaves when talking to + particular clients. To make these mechanisms as flexible as + possible, they are invoked by defining environment variables, + typically with BrowserMatch, though SetEnv and PassEnv could also be used, for example.

+ +

downgrade-1.0

+ + +

This forces the request to be treated as a HTTP/1.0 request + even if it was in a later dialect.

+ + +

force-gzip

+ +

If you have the DEFLATE filter activated, this + environment variable will ignore the accept-encoding setting of + your browser and will send compressed output unconditionally.

+ +

force-no-vary

+ + +

This causes any Vary fields to be removed from + the response header before it is sent back to the client. Some + clients don't interpret this field correctly; setting this + variable can work around this problem. Setting this variable + also implies force-response-1.0.

+ + +

force-response-1.0

+ + +

This forces an HTTP/1.0 response to clients making an HTTP/1.0 + request. It was originally + implemented as a result of a problem with AOL's proxies. Some + HTTP/1.0 clients may not behave correctly when given an HTTP/1.1 + response, and this can be used to interoperate with them.

+ + + +

gzip-only-text/html

+ + +

When set to a value of "1", this variable disables the + DEFLATE output filter provided by + mod_deflate for content-types other than + text/html. If you'd rather + use statically compressed files, mod_negotiation + evaluates the variable as well (not only for gzip, but for all + encodings that differ from "identity").

+ + +

no-gzip

+ +

When set, the DEFLATE filter of + mod_deflate will be turned off and + mod_negotiation will refuse to deliver encoded + resources.

+ + + +

no-cache

+

Available in versions 2.2.12 and later

+ +

When set, mod_cache will not save an otherwise + cacheable response. This environment variable does not influence + whether a response already in the cache will be served for the current + request.

+ + + +

nokeepalive

+ + +

This disables KeepAlive + when set.

+ + + +

prefer-language

+ +

This influences mod_negotiation's behaviour. If + it contains a language tag (such as en, ja + or x-klingon), mod_negotiation tries + to deliver a variant with that language. If there's no such variant, + the normal negotiation process + applies.

+ + + +

redirect-carefully

+ + +

This forces the server to be more careful when sending a redirect + to the client. This is typically used when a client has a known + problem handling redirects. This was originally implemented as a + result of a problem with Microsoft's WebFolders software which has + a problem handling redirects on directory resources via DAV + methods.

+ + + +

suppress-error-charset

+ + +

Available in versions after 2.0.54

+ +

When Apache issues a redirect in response to a client request, + the response includes some actual text to be displayed in case + the client can't (or doesn't) automatically follow the redirection. + Apache ordinarily labels this text according to the character set + which it uses, which is ISO-8859-1.

+ +

However, if the redirection is to a page that uses a different + character set, some broken browser versions will try to use the + character set from the redirection text rather than the actual page. + This can result in Greek, for instance, being incorrectly rendered.

+ +

Setting this environment variable causes Apache to omit the character + set for the redirection text, and these broken browsers will then correctly + use that of the destination page.

+ +
+

Security note

+ +

Sending error pages without a specified character set may + allow a cross-site-scripting attack for existing browsers (MSIE) + which do not follow the HTTP/1.1 specification and attempt to + "guess" the character set from the content. Such browsers can + be easily fooled into using the UTF-7 character set, and UTF-7 + content from input data (such as the request-URI) will not be + escaped by the usual escaping mechanisms designed to prevent + cross-site-scripting attacks.

+
+ + + +

force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, + proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled

+ +

These directives alter the protocol behavior of + mod_proxy. See the mod_proxy and mod_proxy_http + documentation for more details.

+ + +
top
+
+

Examples

+ + +

Passing broken headers to CGI scripts

+ + +

Starting with version 2.4, Apache is more strict about how HTTP + headers are converted to environment variables in mod_cgi + and other modules: Previously any invalid characters + in header names were simply translated to underscores. This allowed + for some potential cross-site-scripting attacks via header injection + (see + Unusual Web Bugs, slide 19/20).

+ +

If you have to support a client which sends broken headers and + which can't be fixed, a simple workaround involving mod_setenvif + and mod_headers allows you to still accept + these headers:

+ +
#
+# The following works around a client sending a broken Accept_Encoding
+# header.
+#
+SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1
+RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
+ + + + +

Changing protocol behavior with misbehaving clients

+ + +

Earlier versions recommended that the following lines be included in + httpd.conf to deal with known client problems. Since the affected clients + are no longer seen in the wild, this configuration is likely no-longer + necessary.

+
#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to understand a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+ + + +

Do not log requests for images in the access log

+ + +

This example keeps requests for images from appearing in the + access log. It can be easily modified to prevent logging of + particular directories, or to prevent logging of requests + coming from particular hosts.

+ +
SetEnvIf Request_URI \.gif image-request
+SetEnvIf Request_URI \.jpg image-request
+SetEnvIf Request_URI \.png image-request
+CustomLog "logs/access_log" common env=!image-request
+ + + +

Prevent "Image Theft"

+ + +

This example shows how to keep people not on your server + from using images on your server as inline-images on their + pages. This is not a recommended configuration, but it can work + in limited circumstances. We assume that all your images are in + a directory called /web/images.

+ +
SetEnvIf Referer "^http://www\.example\.com/" local_referal
+# Allow browsers that do not send Referer info
+SetEnvIf Referer "^$" local_referal
+<Directory "/web/images">
+    Require env local_referal
+</Directory>
+ + +

For more information about this technique, see the + "Keeping Your Images from Adorning Other Sites" + tutorial on ServerWatch.

+ +
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/env.html.fr.utf8 b/docs/manual/env.html.fr.utf8 new file mode 100644 index 0000000..4a2e67c --- /dev/null +++ b/docs/manual/env.html.fr.utf8 @@ -0,0 +1,560 @@ + + + + + +Apache et les variables d'environnement - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Apache et les variables d'environnement

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Deux types de variables d'environnement affectent le serveur + HTTP Apache.

+ +

Le premier type correspond aux variables d'environnement + contrôlées par le système d'exploitation sous-jacent et définies + avant le démarrage du serveur. Leurs valeurs peuvent être utilisées + directement dans les fichiers de configuration, et peuvent + éventuellement être transmises aux scripts CGI et SSI via la + directive PassEnv.

+ +

Le second type correspond aux variables nommées appelées aussi + variables d'environnement dans lesquelles le serveur HTTP + Apache stocke des informations via un mécanisme spécial. Ces + informations peuvent servir à contrôler diverses opérations comme + l'enregistrement des traces ou le contrôle d'accès. On utilise aussi ces + variables dans le mécanisme de communication avec les programmes externes + comme les scripts CGI. Ce document présente différentes méthodes pour + manipuler et utiliser ces variables.

+ +

Bien que ces variables soient référencées comme variables + d'environnement, il ne faut pas les confondre avec les variables + d'environnement contrôlées par le système d'exploitation sous-jacent. + En fait, ces variables sont stockées et manipulées dans une structure + interne à Apache. Elles ne deviennent de véritables variables + d'environnement du système d'exploitation que lorsqu'elles sont mises à la + disposition de scripts CGI et de scripts inclus côté serveur (SSI). Si vous + souhaitez manipuler l'environnement du système d'exploitation sous lequel + le serveur s'exécute, vous devez utiliser les mécanismes standards de + manipulation de l'environnement fournis par l'interpréteur de commandes + (shell) de votre système d'exploitation.

+
+ +
top
+
+

Définition des variables d'environnement

+ + + +

Manipulations de base de l'environnement

+ + +

La méthode la plus élémentaire pour définir une variable + d'environnement au niveau d'Apache consiste à utiliser la directive + inconditionnelle SetEnv. Les variables peuvent aussi être transmises depuis + l'environnement du shell à partir duquel le serveur a été démarré en + utilisant la directive + PassEnv.

+ + +

Définitions conditionnelles en fonction des requêtes

+ + +

Pour plus de souplesse, les directives fournies par le module + mod_setenvif permettent de définir les + variables d'environnement en tenant compte des caractéristiques + de chaque requête. Par exemple, une + variable pourrait n'être définie que lorsqu'un navigateur spécifique + (User-Agent) a généré la requête, ou seulement quand un en-tête + Referer particulier est présent. La directive + RewriteRule du module + mod_rewrite qui utilise l'option + [E=...] pour définir + les variables d'environnement apporte encore plus de souplesse.

+ + +

Identifiants uniques

+ + +

Finalement, le module mod_unique_id définit la variable + d'environnement UNIQUE_ID pour chaque requête à une valeur + qui est garantie unique parmi "toutes" les requêtes sous des + conditions très spécifiques.

+ + +

Variables CGI standards

+ + +

En plus de l'ensemble des variables d'environnement internes à la + configuration d'Apache et de celles transmises depuis le shell, + les scripts CGI et les pages SSI + se voient affectés un ensemble de variables + d'environnement contenant des méta-informations à propos de la requête + comme préconisé dans la + spécification + sur les CGIs.

+ + +

Quelques mises en garde

+ + +
    +
  • Les directives de manipulation de l'environnement ne permettent + pas de supplanter ou modifier les variables CGI standards.
  • + +
  • Lorsqu'on utilise suexec pour exécuter des + scripts CGI, l'environnement est nettoyé et réduit à un ensemble de + variables sûres avant l'exécution du script. La liste des + variables sûres est définie à la compilation dans + suexec.c.
  • + +
  • Pour des raisons de portabilité, les noms des variables + d'environnement ne peuvent contenir que des lettres, des chiffres, et + le caractère "sousligné". En outre, le premier caractère ne doit pas + être un chiffre. Les caractères qui ne satisfont pas à ces conditions + seront remplacés par un caractère "sousligné" quand ils seront + transmis aux scripts CGI et aux pages SSI.
  • + +
  • Les contenus d'en-têtes HTTP transmis aux scripts de type + CGI ou autre via des variables d'environnement constituent un + cas particulier (voir plus loin). Leur nom est converti en + majuscules et seuls les tirets sont remplacés par des + caractères '_' ("souligné") ; si le format du nom de l'en-tête + n'est pas valide, celui-ci est ignoré. Voir plus loin pour une solution de + contournement du problème.
  • + +
  • La directive SetEnv s'exécute assez tard au + cours du traitement de la requête, ce qui signifie que des + directives telles que SetEnvIf et RewriteCond ne verront pas + les variables qu'elle aura définies.
  • + +
  • Lorsque le serveur cherche un chemin via une sous-requête interne (par exemple la + recherche d'un DirectoryIndex), ou lorsqu'il génère un + listing du contenu d'un répertoire via le module + mod_autoindex, la sous-requête n'hérite pas des + variables d'environnement spécifiques à la requête. En outre, à cause + des phases de l'API auxquelles mod_setenvif prend + part, les directives SetEnvIf ne sont pas évaluées + séparément dans la sous-requête.
  • +
+ +
top
+
+

Utilisation des variables d'environnement

+ + + + +

Scripts CGI

+ + +

La communication d'informations aux scripts CGI constitue une des + principales utilisations des variables d'environnement. Comme indiqué + plus haut, l'environnement transmis aux scripts CGI comprend des + méta-informations standards à propos de la requête, en plus des + variables définies dans la configuration d'Apache. Pour plus de + détails, se référer au + tutoriel CGI.

+ + +

Pages SSI

+ + +

Les documents inclus côté serveur (SSI) traités par le filtre + INCLUDES du module mod_include, + peuvent afficher les + variables d'environnement à l'aide de l'élément echo, + et peuvent utiliser des variables d'environnement dans les éléments + de contrôle de flux pour rendre certaines parties d'une page + conditionnelles en fonction des caractéristiques de la requête. + Apache fournit aussi les variables d'environnement CGI standards + aux pages SSI + comme indiqué plus haut. Pour plus de détails, se référer au + tutoriel SSI.

+ + +

Contrôle d'accès

+ + +

L'accès au serveur peut être contrôlé en fonction de la valeur de + variables d'environnement à l'aide des directives + Require env et Require not env. + En association avec la directive + SetEnvIf, ceci confère une + grande souplesse au contrôle d'accès au serveur en fonction des + caractéristiques du client. Par exemple, vous pouvez utiliser ces + directives pour interdire l'accès depuis un navigateur particulier + (User-Agent). +

+ + +

Enregistrement conditionnel des traces

+ + +

Les variables d'environnement peuvent être enregistrées dans le + fichier de log des accès à l'aide de l'option %e de la + directive LogFormat. + En outre, la décision de tracer ou non les requêtes peut être prise + en fonction de l'état de variables d'environnement en utilisant la + forme conditionnelle de la directive + CustomLog. En + association avec la directive SetEnvIf, ceci confère une grande souplesse au contrôle + du traçage des requêtes. Par exemple, vous pouvez choisir de ne pas + tracer les requêtes pour des noms de fichiers se terminant par + gif, ou encore de ne tracer que les requêtes des clients + n'appartenant pas à votre sous-réseau.

+ + +

En-têtes de réponse conditionnels

+ + +

La directive Header + peut se baser sur la présence ou l'absence d'une variable + d'environnement pour décider si un certain en-tête HTTP sera placé + dans la réponse au client. Ceci permet, par exemple, de n'envoyer un + certain en-tête de réponse que si un en-tête correspondant est présent + dans la requête du client.

+ + + +

Activation de filtres externes

+ + +

Les filtres externes configurés par le module + mod_ext_filter à l'aide de la directive ExtFilterDefine peuvent être + activés de manière conditionnelle en fonction d'une variable + d'environnement à l'aide des options + disableenv= et enableenv=.

+ + +

Réécriture d'URL

+ + +

La forme %{ENV:variable} de + TestString dans la + directive RewriteCond + permet au moteur de réécriture du module + mod_rewrite de prendre des + décisions conditionnées par des variables d'environnement. + Notez que les variables accessibles dans + mod_rewrite sans le préfixe + ENV: ne sont pas de véritables variables + d'environnement. Ce sont plutôt des variables spécifiques à + mod_rewrite + qui ne sont pas accessibles pour les autres modules.

+ +
top
+
+

Variables d'environnement à usage spécial

+ + +

Des problèmes d'interopérabilité ont conduit à l'introduction de + mécanismes permettant de modifier le comportement d'Apache lorsqu'il + dialogue avec certains clients. Afin de rendre ces mécanismes aussi + souples que possible, ils sont invoqués en définissant des variables + d'environnement, en général à l'aide de la directive + BrowserMatch, bien que les + directives SetEnv et + PassEnv puissent aussi être + utilisées, par exemple.

+ +

downgrade-1.0

+ + +

Ceci force le traitement d'une requête comme une requête HTTP/1.0 + même si elle a été rédigée dans un langage plus récent.

+ + +

force-gzip

+ +

Si le filtre DEFLATE est activé, cette variable + d'environnement ignorera les réglages accept-encoding de votre + navigateur et enverra une sortie compressée inconditionnellement.

+ +

force-no-vary

+ + +

Cette variable entraîne la suppression de tout champ + Vary des en-têtes de la réponse avant que cette dernière + soit renvoyée au client. Certains clients n'interprètent pas ce champ + correctement, et la définition de cette variable permet de contourner + ce problème, mais implique aussi la définition de + force-response-1.0.

+ + +

force-response-1.0

+ + +

Cette variable force une réponse en langage HTTP/1.0 aux clients + qui envoient des requêtes dans le même langage. Elle fut implémentée à + l'origine suite à des problèmes avec les mandataires d'AOL. Certains + clients en langage HTTP/1.0 ne réagissent pas correctement face à une + réponse en langage HTTP/1.1, et cette variable peut être utilisée pour + assurer l'interopérabilité avec eux.

+ + + +

gzip-only-text/html

+ + +

Positionnée à "1", cette variable désactive le filtre en sortie + DEFLATE fourni par le module mod_deflate pour les + types de contenu autres que text/html. Si vous préférez + utiliser des fichiers compressés statiquement, + mod_negotiation évalue aussi la variable (non + seulement pour gzip, mais aussi pour tous les encodages autres que + "identity").

+ + +

no-gzip

+ +

Quand cette variable est définie, le filtre DEFLATE du + module mod_deflate est désactivé, et + mod_negotiation refusera de délivrer des ressources + encodées.

+ + + +

no-cache

+

Disponible dans les versions 2.2.12 et ultérieures d'Apache

+ +

Lorsque cette variable est définie, + mod_cache ne sauvegardera pas de réponse + susceptible d'être mise en cache. Cette variable d'environnement + n'a aucune incidence sur le fait qu'une réponse déjà enregistrée + dans la cache soit utilisée ou non pour la requête courante.

+ + + +

nokeepalive

+ + +

Quand cette variable est définie, la directive + KeepAlive est désactivée.

+ + + +

prefer-language

+ +

Cette variable modifie le comportement du module + mod_negotiation. Si elle contient un symbole de + langage (tel que en, ja + ou x-klingon), mod_negotiation essaie de + délivrer une variante dans ce langage. S'il n'existe pas de telle + variante, le processus normal de + négociation s'applique.

+ + + +

redirect-carefully

+ + +

Cette variable force le serveur à être plus prudent lors de l'envoi + d'une redirection au client. Elle est en général utilisée quand un + client présente un problème connu avec les redirections. Elle fut + implémentée à l'origine suite a un problème rencontré avec le logiciel + WebFolders de Microsoft qui ne gère pas correctement les redirections + vers des ressources de type répertoire via des méthodes DAV.

+ + + +

suppress-error-charset

+ + +

Disponible dans les versions postérieures à 2.0.54

+ +

Quand Apache génère une redirection en réponse à une requête client, + la réponse inclut un texte destiné à être affiché au cas où le client ne + suivrait pas, ou ne pourrait pas suivre automatiquement la redirection. + Habituellement, Apache marque ce texte en accord avec le jeu de caractères + qu'il utilise, à savoir ISO-8859-1.

+

Cependant, si la redirection fait référence à une page qui utilise un + jeu de caractères différent, certaines versions de navigateurs obsolètes + essaieront d'utiliser le jeu de caractères du texte de la redirection + plutôt que celui de la page réelle. + Ceci peut entraîner, par exemple, un rendu incorrect du Grec.

+

Si cette variable d'environnement est définie, Apache omettra le jeu de + caractères pour le texte de la redirection, et les navigateurs obsolètes + précités utiliseront correctement celui de la page de destination.

+ +
+

Note concernant la sécurité

+ +

L'envoi de pages d'erreur sans spécifier un jeu de caractères peut + conduire à des attaques de type "cross-site-scripting" pour les + navigateurs qui ne respectent pas la spécification HTTP/1.1 (MSIE) et + tentent de déduire le jeu de caractères à partir du contenu. De tels + navigateurs peuvent être facilement trompés et utiliser le jeu de + caractères UTF-7 ; les contenus des données en entrée de type UTF-7 + (comme les URI de requête) ne seront alors plus protégés par les + mécanismes d'échappement usuels conçus pour prévenir les attaques + de type "cross-site-scripting".

+
+ + + +

force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, + proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled

+ +

Ces directives modifient le comportement protocolaire du module + mod_proxy. Voir la documentation sur + mod_proxy et mod_proxy_http pour plus de détails.

+ + +
top
+
+

Exemples

+ + +

Transmission du contenu d'en-têtes non valides aux scripts + CGI

+ + +

Avec la version 2.4, Apache est plus strict avec la conversion + des en-têtes HTTP en variables d'environnement dans + mod_cgi et d'autres modules : dans les versions + précédentes, tout caractère invalide dans les noms d'en-têtes + était tout simplement remplacé par un caractère '_', ce qui + pouvait exposer à des attaques de type cross-site-scripting via + injection d'en-têtes (voir Bogues + du Web inhabituelles, planche 19/20).

+ +

Si vous devez supporter un client qui envoie des en-têtes non + conformes et si ceux-ci ne peuvent pas être corrigés, il existe + une solution de contournement simple mettant en jeu les modules + mod_setenvif et mod_headers, + et permettant de prendre en compte ces en-têtes :

+ +
# L'exemple suivant montre comment prendre en compte un en-tête
+# Accept_Encoding non conforme envoyé par un client. +# +SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1 +RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
+ + + + +

Modification du comportement protocolaire face à des clients + réagissant de manière non conforme

+ + +

Les versions antérieures recommandaient l'ajout de ces lignes dans + httpd.conf pour tenir compte de problèmes connus avec certains clients. + Comme les clients concernés sont maintenant très peu utilisés, cet + ajout n'est pratiquement plus nécessaire.

+
#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+ + + +

Ne pas tracer les requêtes pour des images dans le fichier de + trace des accès

+ + +

Dans cet exemple, les requêtes pour des images n'apparaissent pas + dans le fichier de trace des accès. Il peut être facilement adapté pour + empêcher le traçage de répertoires particuliers, ou de requêtes + en provenance de certains hôtes.

+
SetEnvIf Request_URI \.gif image-request
+SetEnvIf Request_URI \.jpg image-request
+SetEnvIf Request_URI \.png image-request
+CustomLog "logs/access_log" common env=!image-request
+ + + +

Prévention du "Vol d'image"

+ + +

Cet exemple montre comment empêcher les utilisateurs ne faisant pas + partie de votre serveur d'utiliser des images de votre serveur comme + images en ligne dans leurs pages. Cette configuration n'est pas + recommandée, mais elle peut fonctionner dans des circonstances bien + définies. Nous supposons que toutes vos images sont enregistrées dans + un répertoire nommé /web/images.

+
SetEnvIf Referer "^http://www\.example\.com/" local_referal
+# Autorise les navigateurs qui n'envoient aucune information de Referer
+SetEnvIf Referer "^$" local_referal
+<Directory "/web/images">
+    Require env local_referal
+</Directory>
+ + +

Pour plus d'informations sur cette technique, voir le tutoriel sur + ServerWatch + "Keeping Your Images from Adorning Other Sites".

+ +
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/env.html.ja.utf8 b/docs/manual/env.html.ja.utf8 new file mode 100644 index 0000000..b0bf7c9 --- /dev/null +++ b/docs/manual/env.html.ja.utf8 @@ -0,0 +1,456 @@ + + + + + +Apache ã®ç’°å¢ƒå¤‰æ•° - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache ã®ç’°å¢ƒå¤‰æ•°

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

Apache HTTP サーãƒã¯ç’°å¢ƒå¤‰æ•°ã¨å‘¼ã°ã‚Œã‚‹ã€åå‰ã®ã¤ã„㟠+ 変数ã«æƒ…報を記憶ã™ã‚‹ä»•çµ„ã¿ã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚ã“ã®æƒ…å ±ã¯ãƒ­ã‚°åŽé›†ã‚„ + アクセス制御ãªã©ã®ã„ã‚ã„ã‚ãªæ“作を制御ã™ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“れらã®å¤‰æ•°ã¯ CGI スクリプトãªã©ã®å¤–部プログラムã¨é€šä¿¡ã™ã‚‹ãŸã‚ã«ã‚‚ + 使ã‚ã‚Œã¾ã™ã€‚ã“ã®æ–‡æ›¸ã¯ãれらã®å¤‰æ•°ã®æ“作方法ã¨ä½¿ç”¨æ–¹æ³•ã‚’ã„ãã¤ã‹ + 紹介ã—ã¾ã™ã€‚

+ +

ã“れらã®å¤‰æ•°ã¯ç’°å¢ƒå¤‰æ•°ã¨å‘¼ã°ã‚Œã¦ã„ã¾ã™ãŒã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚° + システムã«ã‚ˆã£ã¦åˆ¶å¾¡ã•ã‚Œã¦ã„る環境変数ã¨åŒã˜ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + 実際ã¯ã€ã“れらã®å¤‰æ•°ã¯ Apache ã®å†…部構造ã®ä¸­ã«è¨˜æ†¶ã•ã‚Œã€æ“作ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ãれらã¯ã€CGI ã‚„ SSI スクリプトã«æ¸¡ã•ã‚ŒãŸã¨ãã ã‘ã€å®Ÿéš›ã® + オペレーティングシステムã®ç’°å¢ƒå¤‰æ•°ã«ãªã‚Šã¾ã™ã€‚サーãƒè‡ªèº«ãŒ + 実行ã•ã‚Œã¦ã„るオペレーティングシステムã®ç’°å¢ƒã‚’æ“作ã—ãŸã„å ´åˆã¯ã€ + オペレーティングシステムã®ã‚·ã‚§ãƒ«ãŒæä¾›ã—ã¦ã„る標準ã®ç’°å¢ƒå¤‰æ•°ã® + æ“作方法を使ã‚ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
+ +
top
+
+

環境変数ã®è¨­å®š

+ + + +

基本的ãªç’°å¢ƒã®æ“作

+ + +

Apache ã«ãŠã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ä¸€ç•ªåŸºæœ¬çš„ãªæ–¹æ³•ã¯ã€ + ç„¡æ¡ä»¶ã«ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ SetEnv ディレクティブを使用ã™ã‚‹ã“ã¨ã§ã™ã€‚ + PassEnv + ディレクティブã«ã‚ˆã‚Šã€Apache ãŒèµ·å‹•ã•ã‚ŒãŸã‚·ã‚§ãƒ«ã® + 環境変数を渡ã™ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ + +

リクエスト毎ã«æ¡ä»¶ã«åŸºã¥ã„ã¦è¨­å®šã™ã‚‹

+ + +

より柔軟性を高ã‚ã‚‹ãŸã‚ã«ã€mod_setenvif + ã§æä¾›ã•ã‚Œã¦ã„るディレクティブを使用ã™ã‚‹ã“ã¨ã§ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã® + 特性ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€ç‰¹å®šã®ãƒ–ラウザ + (User-Agent) ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„特定㮠Referer [æ„図的ãªç¶´ã‚Šã§ã™] + (訳注: æ­£ã—ã„綴り㯠referrer ã§ã™ãŒã€HTTP ã®ä»•æ§˜ã§ã¯ Referer + ã¨ãªã£ã¦ã„ã¾ã™)ヘッダãŒè¦‹ã¤ã‹ã£ãŸã¨ãã®ã¿å¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + mod_rewrite ã® RewriteRule + ディレクティブã«ãŠã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ [E=...] + オプションを使用ã™ã‚‹ã“ã¨ã§ã€ + より柔軟ãªè¨­å®šã‚’è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ + +

一æ„ãªè­˜åˆ¥å­

+ + +

mod_unique_id ã¯ã€éžå¸¸ã«é™ã‚‰ã‚ŒãŸæ¡ä»¶ã®ä¸‹ã§ + 「ã™ã¹ã¦ã€ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¤ã„ã¦ã€ä¸€æ„ã§ã‚ã‚‹ã“ã¨ãŒä¿è¨¼ã•ã‚Œã¦ã„る値を環境変数 + UNIQUE_ID ã«è¨­å®šã—ã¾ã™ã€‚

+ + +

標準 CGI 変数

+ + +

Apache ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§è¨­å®šã•ã‚ŒãŸç’°å¢ƒå¤‰æ•°ã¨ã‚·ã‚§ãƒ«ã‹ã‚‰æ¸¡ã•ã‚Œã‚‹ + 環境変数ã«åŠ ãˆã¦ã€CGI スクリプト㨠SSI ページã«ã¯ CGI ã®ä»•æ§˜ã§è¦æ±‚ã•ã‚Œã¦ã„る〠+ リクエストã®ãƒ¡ã‚¿æƒ…報をæŒã£ãŸç’°å¢ƒå¤‰æ•°ã®çµ„ãŒæä¾›ã•ã‚Œã¾ã™ã€‚

+ + +

ã„ãã¤ã‹ã®æ³¨æ„

+ + +
    +
  • 環境をæ“作ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã£ã¦æ¨™æº– CGI + 変数を上書ãã—ãŸã‚Šå¤‰æ›´ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
  • + +
  • CGI スクリプトを起動ã™ã‚‹ãŸã‚ã« suexec + ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã‚‹å ´åˆã€CGI スクリプトãŒèµ·å‹•ã™ã‚‹ãŸã‚ã«ã€ç’°å¢ƒå¤‰æ•°ã¯å®‰å…¨ãªç’°å¢ƒå¤‰æ•°ã®çµ„ã«æ•´ç†ã•ã‚Œã¾ã™ã€‚ + ã“ã®å®‰å…¨ãªç’°å¢ƒå¤‰æ•°ã®é›†åˆã¯ã€ã‚³ãƒ³ãƒ‘イル時㫠suexec.c + ã§å®šç¾©ã•ã‚Œã¾ã™ã€‚
  • + +
  • 移æ¤æ€§ã®ãŸã‚ã«ã€ç’°å¢ƒå¤‰æ•°ã®åå‰ã¯ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã€ + æ•°å­—ã¨ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ (訳注: '_') ã ã‘ã‹ã‚‰æˆã‚Šã¾ã™ã€‚ + ã•ã‚‰ã«ã€æœ€åˆã®æ–‡å­—ã¯æ•°å­—ã§ã‚ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“。 + ã“ã®åˆ¶é™ã«åˆã‚ãªã„文字㯠CGI スクリプト㨠SSI + ページã«æ¸¡ã•ã‚Œã‚‹ã¨ãã«ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ã«ç½®æ›ã•ã‚Œã¾ã™ã€‚
  • + +
  • SetEnv ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆå‡¦ç†ã® + 段階ã®ä¸­ã§ã‚‚é…ãã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ã¤ã¾ã‚Š + SetEnvIf ã‚„ + RewriteCond + ãªã©ã‹ã‚‰ã¯ã€å¤‰æ•°ãŒãã“ã§è¨­å®šã•ã‚Œã¦ã„ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šã¾ã›ã‚“。
  • +
+ +
top
+
+

環境変数ã®ä½¿ç”¨

+ + + + +

CGI スクリプト

+ + +

環境変数ã®ä¸»ãªåˆ©ç”¨æ³•ã®ä¸€ã¤ã¯ã€CGI スクリプトã«æƒ…報をä¼ãˆã‚‹ã“ã¨ã§ã™ã€‚ + 上ã§èª¬æ˜Žã•ã‚Œã¦ã„るよã†ã«ã€CGI スクリプトã«æ¸¡ã•ã‚Œã‚‹ç’°å¢ƒå¤‰æ•°ã¯ Apache + ã®è¨­å®šã«ã‚ˆã‚Šè¨­å®šã•ã‚Œã‚‹å¤‰æ•°ã«åŠ ãˆã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ¨™æº–ã®ãƒ¡ã‚¿æƒ…報をå«ã‚“ã§ã„ã¾ã™ã€‚ + 詳細㯠CGI ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« + ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ + +

SSI ページ

+ + +

mod_include ã® INCLUDES フィルタã§å‡¦ç†ã•ã‚Œã‚‹ + server-parsed (SSI) ドキュメントã§ã¯ã€echo + è¦ç´ ã‚’使用ã™ã‚‹ã¨ç’°å¢ƒå¤‰æ•°ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ + ã¾ãŸã€ãƒšãƒ¼ã‚¸ã®ã‚る部分ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ€§è³ªã«å¿œã˜ã¦å¤‰æ›´ã•ã‚Œã‚‹ã‚ˆã†ã«ã€ + 環境変数をフロー制御è¦ç´ ã§ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚詳細㯠+ SSI ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ + +

アクセス制御

+ + +

allow from env= ディレクティブ㨠deny from env= + ディレクティブを使用ã—ã¦ã€ã‚µãƒ¼ãƒã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’環境変数ã®å€¤ã§åˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + SetEnvIf + ディレクティブã¨çµ„ã¿åˆã‚ã›ã‚‹ã“ã¨ã§ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ç‰¹æ€§ã«åŸºã¥ã„㦠+ サーãƒã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã‚’柔軟ã«è¡Œãªã†ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + ãŸã¨ãˆã°ã€ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使用ã—ã¦ã€ç‰¹å®šã®ãƒ–ラウザ (User-Agent) + ã‹ã‚‰ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ + +

æ¡ä»¶ä»˜ãログ記録

+ + +

LogFormat + ディレクティブã®ã‚ªãƒ—ション %e + を使用ã™ã‚‹ã“ã¨ã§ã€ç’°å¢ƒå¤‰æ•°ã‚’アクセスログã«è¨˜éŒ²ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã•ã‚‰ã«ã€ + CustomLog + ディレクティブã®æ¡ä»¶åˆ†å²å¼ã‚’使用ã™ã‚‹ã“ã¨ã§ã€ + 環境変数ã®å€¤ã«ã‚ˆã£ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ログã«è¨˜éŒ²ã™ã‚‹ã‹ã©ã†ã‹ã‚’決ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + SetEnvIf + ディレクティブã¨çµ„ã¿åˆã‚ã›ã‚‹ã“ã¨ã§ã€ + ã©ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ログã«è¨˜éŒ²ã™ã‚‹ã‹ã‚’柔軟ã«åˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚ãŸã¨ãˆã°ã€ + gif ã§çµ‚ã‚るファイルåã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ãƒ­ã‚°ã«è¨˜éŒ²ã—ãªã„〠+ é•ã†ã‚µãƒ–ãƒãƒƒãƒˆã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã ã‘をログã«è¨˜éŒ²ã™ã‚‹ã€ + ã¨ã„ã†é¸æŠžãŒå¯èƒ½ã§ã™ã€‚

+ + +

æ¡ä»¶ä»˜ã応答ヘッダ

+ + +

Header + ディレクティブã¯ç’°å¢ƒå¤‰æ•°ã®å­˜åœ¨ã‚„ä¸åœ¨ã«ã‚ˆã£ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®å¿œç­”ã«ç‰¹å®šã® + HTTP ヘッダを付ã‘ã‚‹ã‹ã©ã†ã‹ã‚’決ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ãŸã¨ãˆã°ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆ + ã«ã‚るヘッダãŒã‚ã‚‹å ´åˆã«ã®ã¿ç‰¹å®šã®å¿œç­”ヘッダをé€ã‚‹ã€ã¨ã„ã†ã‚ˆã†ãªã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+ + + +

外部フィルタã®é©ç”¨

+ + +

ExtFilterDefine + ディレクティブを使用ã—㦠+ mod_ext_filter ã§è¨­å®šã•ã‚Œã‚‹å¤–部フィルタã¯ã€ + disableenv= 㨠enableenv= + オプションを使ã£ã¦ã€ç’°å¢ƒå¤‰æ•°ã«ã‚ˆã‚‹æ¡ä»¶ä»˜ãé©ç”¨ãŒã§ãã¾ã™ã€‚

+ + +

URL ã®æ›¸ãæ›ãˆ

+ + +

RewriteCond + ディレクティブã§è©•ä¾¡æ–‡å­—列ã¨ã—㦠+ %{ENV:...} å¼ã‚’指定ã™ã‚‹ã“ã¨ã§ã€mod_rewrite + ã®æ›¸ãæ›ãˆã‚¨ãƒ³ã‚¸ãƒ³ãŒç’°å¢ƒå¤‰æ•°ã«åŸºã„ã¦æ¡ä»¶åˆ†å²ã‚’è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + mod_rewrite ãŒä½¿ç”¨å¯èƒ½ãªå¤‰æ•°ã§ ENV: ãŒå‰ã«ã¤ã„ã¦ã„ãªã„変数ã¯ã€ + 実際ã¯ç’°å¢ƒå¤‰æ•°ã§ã¯ãªã„ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ãれらã¯ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‹ã‚‰ã¯ä½¿ç”¨ã§ããªã„ mod_rewrite 用ã®ç‰¹åˆ¥ãªå¤‰æ•°ã§ã™ã€‚ +

+ +
top
+
+

特別ãªç›®çš„ã®ç’°å¢ƒå¤‰æ•°

+ + +

互æ›æ€§ã®å•é¡Œã‚’解決ã™ã‚‹ãŸã‚ã«ã€ç‰¹å®šã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨é€šä¿¡ã—ã¦ã„ã‚‹ã¨ã㯠+ Apache ã®å‹•ä½œã‚’変更ã§ãる機構ãŒå°Žå…¥ã•ã‚Œã¾ã—ãŸã€‚ã§ãã‚‹ã ã‘柔軟ã«ã™ã‚‹ãŸã‚ã«ã€ + ã“れらã®æ©Ÿæ§‹ã¯ç’°å¢ƒå¤‰æ•°ã‚’定義ã™ã‚‹ã“ã¨ã§å‘¼ã³å‡ºã•ã‚Œã¾ã™ã€‚普通ã¯ã€ + BrowserMatch + ディレクティブを使ã„ã¾ã™ãŒã€ãŸã¨ãˆã° SetEnv ディレクティブや PassEnv ディレクティブも使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

downgrade-1.0

+ + +

ã“れを指定ã™ã‚‹ã“ã¨ã§ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒ HTTP/1.0 + より新ã—ã„プロトコルã®å ´åˆã§ã‚‚ã€HTTP/1.0 ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ + +

force-gzip

+ +

DEFLATE フィルタãŒä½¿ç”¨ã™ã‚‹ã‚ˆã†ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ãã«ã€ + ã“ã®ç’°å¢ƒå¤‰æ•°ã¯ãƒ–ラウザ㮠accept-encoding ã®è¨­å®šã‚’無視ã—ã¦å¸¸ã« + 圧縮ã•ã‚ŒãŸå‡ºåŠ›ã‚’é€ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

force-no-vary

+ + +

応答ヘッダãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‰ã‚Œã‚‹å‰ã« Vary + フィールドをå–り除ãã¾ã™ã€‚ + クライアントã®ä¸­ã«ã¯ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æ­£ã—ã解釈ã—ãªã„ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®å¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ã§ãã®å•é¡Œã‚’回é¿ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®å¤‰æ•°ã‚’設定ã™ã‚‹ã¨ã€force-response-1.0 + ãŒè¨­å®šã•ã‚ŒãŸã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ + +

force-response-1.0

+ + +

ã“ã‚ŒãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€HTTP/1.0 リクエストを発行ã™ã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾ã—ã¦ã¯ + 常㫠HTTP/1.0 ã§å¿œç­”ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯ã€ + 元々㯠AOL ã®ãƒ—ロキシã®å•é¡Œã®ãŸã‚ã«å®Ÿè£…ã•ã‚Œã¾ã—ãŸã€‚HTTP/1.0 クライアントã®ä¸­ã«ã¯ã€ + HTTP/1.1 ã®å¿œç­”ã‚’è¿”ã•ã‚Œã‚‹ã¨æ­£ã—ã動作ã—ãªã„ã‚‚ã®ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹ã“ã¨ã§ã€ãã®ã‚ˆã†ãªã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã®é–“ã®äº’æ›æ€§å•é¡Œã‚’解決ã§ãã¾ã™ã€‚

+ + +

gzip-only-text/html

+ + +

ã“れ㌠1 ã«è¨­å®šã•ã‚Œã‚‹ã¨ã€ã“ã®å¤‰æ•°ã¯ text/html + 以外ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã«å¯¾ã™ã‚‹ã€mod_deflate + æ供㮠DEFLATE 出力フィルタを無効ã«ã—ã¾ã™ã€‚ + ã¾ãŸã€é™çš„ã«ã€æ—¢ã«åœ§ç¸®ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã—ãŸã„å ´åˆã€ + (gzip ã ã‘ã§ãªãã€"identity" ã¨ç•°ãªã‚‹å…¨ã¦ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã«å¯¾ã—ã¦) + mod_negotiation も変数を評価ã—ã¾ã™ã€‚

+ + +

no-gzip

+

セットã•ã‚Œã‚‹ã¨ã€mod_deflate ã® + DEFLATE フィルタãŒã‚ªãƒ•ã«ãªã‚Šã¾ã™ã€‚ + ãã—㦠mod_negotiation + ã¯ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ã‚’é€ã‚‰ãªã„よã†ã«ã—ã¾ã™ã€‚

+ + +

nokeepalive

+ + +

ã“ã‚ŒãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€KeepAlive を使用ã—ãªã„よã†ã«ã—ã¾ã™ã€‚

+ +

prefer-language

+ +

mod_negotiation ã®æŒ™å‹•ã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚ + (en, ja, x-klingonã¨ã„ã£ãŸ) + 言語タグãŒæ ¼ç´ã•ã‚Œã¦ã„ã‚Œã°ã€ãã®è¨€èªžã® variant ã‚’é€ä¿¡ã—よã†ã¨ã—ã¾ã™ã€‚ + ãã®ã‚ˆã†ãª variant ãŒãªã„å ´åˆã¯ã€ + 通常ã®ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³å‡¦ç†ãŒ + é©ç”¨ã•ã‚Œã¾ã™ã€‚

+ + + + +

redirect-carefully

+ + +

ã“ã‚Œã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã®é€ä¿¡ã‚’サーãƒãŒã‚ˆã‚Šæ³¨æ„æ·±ã + è¡Œãªã†ã‚ˆã†ã«ã—ã¾ã™ã€‚ + ã“ã‚Œã¯é€šå¸¸ã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã«éš›ã—ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« + å•é¡ŒãŒã‚ã‚‹ã“ã¨ãŒåˆ†ã‹ã£ã¦ã„ã‚‹å ´åˆã«ä½¿ã‚ã‚Œã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯å…ƒã€…㯠+ マイクロソフトã®ã‚¦ã‚§ãƒ–フォルダã®ã‚½ãƒ•ãƒˆãŒ DAV + メソッドã«ã‚ˆã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒªã‚½ãƒ¼ã‚¹ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã®æ‰±ã„ã« + å•é¡ŒãŒã‚Šã€ãれを回é¿ã™ã‚‹ãŸã‚ã«å®Ÿè£…ã•ã‚Œã¾ã—ãŸã€‚

+ + + +

suppress-error-charset

+ + +

Apache 2.2 以é™ã§åˆ©ç”¨å¯èƒ½

+ +

クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹å¿œç­”ã¨ã—ã¦ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’é€ä¿¡ã™ã‚‹éš›ã€ + レスãƒãƒ³ã‚¹ã«ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãŒè‡ªå‹•çš„ã«è¡Œãªãˆãªã„ (è¡Œãªã‚ã‚Œãªã„) + å ´åˆã«è¡¨ç¤ºã™ã‚‹ãƒ†ã‚­ã‚¹ãƒˆãŒå«ã¾ã‚Œã¾ã™ã€‚ + 通常ã€ã“ã®ãƒ†ã‚­ã‚¹ãƒˆã«åˆè‡´ã—ãŸã‚­ãƒ£ãƒ©ã‚¯ã‚¿ã‚»ãƒƒãƒˆã€ISO-8859-1 + ã§ãƒ©ãƒ™ãƒ«ä»˜ã‘ã‚’ã—ã¾ã™ã€‚

+

ã—ã‹ã—ã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå…ˆãŒåˆ¥ã®æ–‡å­—セットを使ã£ã¦ã„ã‚‹å ´åˆã€ + ã‚ã‚‹å•é¡Œã®ã‚るブラウザã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ + リダイレクト先ã®å®Ÿéš›ã®æ–‡å­—セットã®ä»£ã‚ã‚Šã«ã€ + リダイレクト元ã®æ–‡å­—セットを使ã£ã¦ã—ã¾ã†ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ + ãã®çµæžœã€ä¾‹ãˆã°å¤‰ãªæç”»ãŒè¡Œãªã‚ã‚ŒãŸã‚Šã—ã¦ã€èª­ã‚ãªããªã£ãŸã‚Šã—ã¾ã™ã€‚

+

ã“ã®ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ã§ã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã«å¯¾ã™ã‚‹ + キャラクタセットã®æŒ‡å®šã‚’除去ã—ã¾ã™ã®ã§ã€ãれらå•é¡Œã®ã‚るブラウザã§ã‚‚ + リダイレクト先ã®æ–‡å­—セットを正ã—ã使ã†ã‚ˆã†ã«ã§ãã¾ã™ã€‚

+ +
+

セキュリティ

+ +

文字セットを指定ã›ãšã«ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã‚’é€ä¿¡ã™ã‚‹ã¨ã€ + クロスサイトスクリプティング (訳注: XSS) + 攻撃ã®å±é™ºæ€§ãŒã§ã¦ãã¾ã™ã€‚ + HTTP/1.1 仕様ã«æº–æ‹ ã—ã¦ã„ãªãã¦ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ä¸­èº«ã‹ã‚‰æ–‡å­—セットを + "推測" ã—よã†ã¨ã™ã‚‹ãƒ–ラウザ (MSIE) ãŒå®Ÿéš›ã«ã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚ + ãã®ã‚ˆã†ãªãƒ–ラウザ㯠UTF-7 文字セットを使ã£ã¦ç°¡å˜ã«é¨™ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ + クロスサイトスクリプティング攻撃を防ããŸã‚ã«å®Ÿè£…ã•ã‚Œã¦ã„ã‚‹ + 通常ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—機構ãŒã€å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ä¸­ã«ã‚ã‚‹ UTF-7 㧠+ エンコードã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ (リクエスト URI ãªã©) ã«ã¯ + ã†ã¾ã動作ã—ãªã„ã‹ã‚‰ã§ã™ã€‚

+
+ + + +

force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, proxy-sendcl

+ +

ã“れらã®æŒ‡ç¤ºå­ã¯ mod_proxy ã®æŒ™å‹•ã‚’変更ã—ã¾ã™ã€‚ + 詳細㯠mod_proxy ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ã”å‚ç…§ãã ã•ã„。

+ + +
top
+
+

例

+ + +

ãŠã‹ã—ãªæŒ™å‹•ã‚’ã™ã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾ã—ã¦ãƒ—ロトコルã®å‹•ä½œã‚’変更ã™ã‚‹

+ + +

クライアントã«é–¢ã™ã‚‹æ—¢çŸ¥ã®å•é¡Œã«å¯¾å‡¦ã™ã‚‹ãŸã‚ã«ã€ä»¥ä¸‹ã®è¡Œã‚’ + httpd.conf ã«å…¥ã‚Œã‚‹ã“ã¨ã‚’推奨ã—ã¦ã„ã¾ã™ã€‚

+

å¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Apache ã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®å•é¡Œã«å¯¾å¿œã™ã‚‹ãŸã‚ã« + httpd.conf ã«æ¬¡ã®è¡Œã‚’加ãˆã‚‹ã‚ˆã†æŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã—ãŸãŒã€ + 今ã¨ãªã£ã¦ã¯ã€å•é¡Œã¨ã—ã¦ã„ãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯å®Ÿéš›ã«ã¯è¦‹ã‹ã‘ã‚‹ã“ã¨ã¯ + ãªããªã£ã¦ããŸã®ã§ã€ã“ã®è¨­å®šã¯ã‚‚ã¯ã‚„å¿…è¦ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+
#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+ + +

ç”»åƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’アクセスログã«è¨˜éŒ²ã—ãªã„

+ + +

ã“ã®ä¾‹ã§ã¯ã€ç”»åƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã«ç¾ã‚Œãªã„よã†ã«ã—ã¾ã™ã€‚ + ã“れを変更ã™ã‚‹ã“ã¨ã§ã€ç‰¹å®šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ­ã‚°åŽé›†ã‚’ã‚„ã‚ãŸã‚Šã€ + 特定ã®ãƒ›ã‚¹ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ­ã‚°åŽé›†ã‚’ã‚„ã‚ãŸã‚Šã™ã‚‹ã“ã¨ãŒç°¡å˜ã«ã§ãã¾ã™ã€‚ +

+
SetEnvIf Request_URI \.gif image-request
+SetEnvIf Request_URI \.jpg image-request
+SetEnvIf Request_URI \.png image-request
+CustomLog logs/access_log common env=!image-request
+ + +

「画åƒã®ç›—用ã€ã‚’防ã

+ + +

ã“ã®ä¾‹ã¯ã€åˆ¥ã®ã‚µãƒ¼ãƒã«ã„る人ãŒã€ã‚ãªãŸã®ã‚µãƒ¼ãƒã«ã‚ã‚‹ç”»åƒã‚’ + inline ç”»åƒã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚’防ãŽã¾ã™ã€‚ + ã“ã‚Œã¯æŽ¨å¥¨ã•ã‚Œã¦ã„る設定ã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ã‚ã‚‹é™å®šã•ã‚ŒãŸçŠ¶æ³ã§ã¯æœ‰åŠ¹ã§ã™ã€‚ + ã“ã“ã§ã¯ã€ã™ã¹ã¦ã®ç”»åƒã¯ /web/images + ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚ã‚‹ã¨ä»®å®šã—ã¾ã™ã€‚

+
SetEnvIf Referer "^http://www\.example\.com/" local_referal
+# Allow browsers that do not send Referer info
+SetEnvIf Referer "^$" local_referal
+<Directory /web/images>
+   Order Deny,Allow
+   Deny from all
+   Allow from env=local_referal
+</Directory>
+ +

ã“ã®æ‰‹æ³•ã«é–¢ã™ã‚‹è©³ã—ã„情報㯠ServerWatch ã«ã‚ã‚‹ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« + 「Keeping Your Images from Adorning Other Sites + ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/env.html.ko.euc-kr b/docs/manual/env.html.ko.euc-kr new file mode 100644 index 0000000..957b16d --- /dev/null +++ b/docs/manual/env.html.ko.euc-kr @@ -0,0 +1,400 @@ + + + + + +¾ÆÆÄÄ¡ÀÇ È¯°æº¯¼ö - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ÀÇ È¯°æº¯¼ö

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â ȯ°æº¯¼ö(environment variable)¶ó´Â + º¯¼ö¿¡ Á¤º¸¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ÀÌ Á¤º¸¸¦ »ç¿ëÇÏ¿© ·Î±×³ª + Á¢±ÙÁ¦¾î µî ¿©·¯ ÀÛ¾÷À» Á¶ÀýÇÑ´Ù. ¶Ç, ȯ°æº¯¼ö´Â CGI ½ºÅ©¸³Æ®¿Í + °°Àº ¿ÜºÎ ÇÁ·Î±×·¥°ú Åë½ÅÇÏ´Â ¼ö´ÜÀÌ µÈ´Ù. ÀÌ ¹®¼­´Â ȯ°æº¯¼ö¸¦ + ´Ù·ç°í »ç¿ëÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýµéÀ» ¼³¸íÇÑ´Ù.

+ +

ÀÌ º¯¼öµéÀ» ȯ°æº¯¼ö¶ó°í ºÎ¸£Áö¸¸, ¿î¿µÃ¼Á¦¿¡¼­ + ¸»Çϴ ȯ°æº¯¼ö¿Í ´Ù¸£´Ù. ÀÌ º¯¼ö´Â ¾ÆÆÄÄ¡ ³»ºÎ¿¡ ÀúÀåµÇ°í + »ç¿ëµÈ´Ù. ȯ°æº¯¼ö´Â CGI ½ºÅ©¸³Æ®³ª Server Side Include + ½ºÅ©¸³Æ®·Î ³Ñ°ÜÁú¶§¸¸ ½ÇÁ¦ ¿î¿µÃ¼Á¦ ȯ°æº¯¼ö°¡ µÈ´Ù. ¼­¹ö¸¦ + ½ÇÇàÇÏ´Â ¿î¿µÃ¼Á¦ ȯ°æÀ» ¼öÁ¤ÇÏ°í ½Í´Ù¸é ¿î¿µÃ¼Á¦ ½©¿¡¼­ + ȯ°æÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

+
+ +
top
+
+

ȯ°æº¯¼ö ¼³Á¤Çϱâ

+ + + +

±âº»ÀûÀΠȯ°æ¼³Á¤

+ + +

¾ÆÆÄÄ¡¿¡¼­ ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ´Â °¡Àå ±âº»ÀûÀÎ ¹æ¹ýÀº + ¹«Á¶°ÇÀûÀÎ SetEnv Áö½Ã¾î¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. PassEnv Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + ¼­¹ö¸¦ ½ÃÀÛÇÑ ½©¿¡¼­ ȯ°æº¯¼ö¸¦ °¡Á®¿Ã ¼öµµ ÀÖ´Ù.

+ + +

¿äû¿¡ µû¸¥ Á¶°ÇºÎ ¼³Á¤

+ + +

´õ À¯¿¬ÇÏ°Ô, mod_setenvif°¡ Á¦°øÇÏ´Â Áö½Ã¾î´Â ¿äû¸¶´Ù + ¿äûÀÇ Æ¯Â¡¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù. ¿¹¸¦ µé¾î, ƯÁ¤ + ºê¶ó¿ìÀú·Î (User-Agent) ¿äûÇϰųª ƯÁ¤ Referer (¸ÂÃã¹ýÀÌ + Ʋ¸®Áö ¾Ê¾Ò´Ù) Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸ º¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö + ÀÖ´Ù. ½ÉÁö¾î mod_rewrite¿¡ ÀÖ´Â RewriteRuleÀÇ + [E=...] ¿É¼ÇÀ» »ç¿ëÇÏ¿© ´õ À¯¿¬ÇÏ°Ô È¯°æº¯¼ö¸¦ + ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.

+ + +

À¯ÀÏÇÑ ½Äº°ÀÚ

+ + +

¸¶Áö¸·À¸·Î mod_unique_id´Â °¢ ¿äû¿¡ ´ëÇØ ¾î¶² °æ¿ì¿¡µµ + "¸ðµç" ¿äûÁß¿¡ È®½ÇÈ÷ À¯ÀÏÇÑ(°ãÄ¡Áö¾ÊÀº) °ªÀ¸·Î + UNIQUE_ID ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.

+ + +

Ç¥ÁØ CGI º¯¼ö

+ + +

CGI ½ºÅ©¸³Æ®¿Í SSI ¹®¼­´Â ¾ÆÆÄÄ¡ ¼³Á¤¿¡¼­ ¼³Á¤ÇÏ¿´°Å³ª + ½©¿¡¼­ °¡Á®¿Â ȯ°æº¯¼ö ¿Ü¿¡ Ãß°¡·Î CGI ±Ô¾àÀÌ ±ÔÁ¤ÇÑ + ¿äû¿¡ ´ëÇÑ Á¤º¸¸¦ ¾Ë·ÁÁִ ȯ°æº¯¼öµéÀ» ¹Þ´Â´Ù.

+ + +

ÁÖÀÇÇÒ Á¡

+ + +
    +
  • ȯ°æ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© Ç¥ÁØ CGI º¯¼ö¸¦ ¹«½ÃÇϰųª + ¼öÁ¤ÇÒ ¼ö ¾ø´Ù.
  • + +
  • suexec°¡ CGI ½ºÅ©¸³Æ®¸¦ + ½ÇÇàÇÏ´Â °æ¿ì, ½ÃÀÛÇϱâÀü¿¡ CGI ½ºÅ©¸³Æ®ÀÇ È¯°æÀº + ¾ÈÀüÇÑ º¯¼öµé¸¸ °¡Áöµµ·Ï û¼ÒµÈ´Ù. + ¾ÈÀüÇÑ º¯¼ö ¸ñ·ÏÀº ÄÄÆÄÀϽà + suexec.c¿¡ Á¤ÀǵȴÙ.
  • + +
  • Æ÷ÆÃÀ» À§ÇØ È¯°æº¯¼ö À̸§¿¡´Â ¿ÀÁ÷ ¹®ÀÚ, ¼ýÀÚ, + ¹ØÁÙ¹®ÀÚ¸¸ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. ¶Ç, ù¹ø° ¹®ÀÚ·Î + ¼ýÀÚ¸¦ »ç¿ëÇÏÁö¾Ê´Â °ÍÀÌ ÁÁ´Ù. CGI ½ºÅ©¸³Æ®³ª SSI + ÆäÀÌÁö¿¡ ³Ñ¾î°¥¶§ ÀÌ¿ÜÀÇ ¹®ÀÚ´Â ¹ØÁÙ·Î ´ëüµÈ´Ù.
  • +
+ +
top
+
+

ȯ°æº¯¼ö »ç¿ëÇϱâ

+ + + + +

CGI ½ºÅ©¸³Æ®

+ + +

ȯ°æº¯¼öÀÇ ÁÖµÈ ¿ëµµÁß Çϳª´Â CGI ½ºÅ©¸³Æ®¿Í Á¤º¸¸¦ + ±³È¯ÇÏ´Â °ÍÀÌ´Ù. ¾Õ¿¡¼­ ¼³¸íÇßµíÀÌ ¾ÆÆÄÄ¡ ¼³Á¤¿¡¼­ ¼³Á¤ÇÑ + º¯¼ö¿Ü¿¡ ¿äû¿¡ ´ëÇÑ Ç¥ÁØ Á¤º¸¸¦ °¡Áø º¯¼ö°¡ CGI ½ºÅ©¸³Æ®·Î + ³Ñ¾î°£´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº CGI + ÅõÅ丮¾óÀ» Âü°íÇ϶ó.

+ + +

SSI ÆäÀÌÁö

+ + +

mod_includeÀÇ INCLUDES ÇÊÅÍ°¡ ó¸®ÇÏ´Â + ¼­¹öÆÄ½Ì (SSI) ¹®¼­´Â echo ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© + ȯ°æº¯¼ö¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ°í, ȯ°æº¯¼ö¸¦ »ç¿ëÇÏ¿© ¿äûÀÇ + Ư¡¿¡ µû¶ó È帧Á¦¾î ¿ä¼Ò·Î ÆäÀÌÁöÀÇ ÀϺθ¦ º¯°æÇÒ ¼ö + ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¶Ç SSI ¹®¼­¿¡°Ô À§¿¡¼­ ¼³¸íÇÑ Ç¥ÁØ CGI + ȯ°æº¯¼ö¸¦ Á¦°øÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº SSI ÅõÅ丮¾óÀ» Âü°íÇ϶ó.

+ + +

Á¢±ÙÁ¦¾î

+ + +

allow from env=°ú deny from env= + Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ȯ°æº¯¼ö °ª¿¡ µû¶ó ¼­¹ö·ÎÀÇ Á¢±ÙÀ» + Á¶ÀýÇÒ ¼ö ÀÖ´Ù. SetEnvIf¿Í °°ÀÌ »ç¿ëÇϸé + Ŭ¶óÀ̾ðÆ®ÀÇ Æ¯Â¡¿¡ µû¶ó ÀÚÀ¯·Ó°Ô ¼­¹ö·ÎÀÇ Á¢±ÙÀ» Á¦¾îÇÒ + ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ƯÁ¤ ºê¶ó¿ìÀúÀÇ (User-Agent) Á¢±ÙÀ» + °ÅºÎÇÒ ¼ö ÀÖ´Ù.

+ + +

Á¶°ÇºÎ ·Î±×

+ + +

LogFormatÀÇ + %e ¿É¼ÇÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¸¦ Á¢±Ù ·Î±×¿¡ + ±â·ÏÇÒ ¼ö ÀÖ´Ù. ¶Ç, CustomLog Áö½Ã¾îÀÇ + Á¶°ÇºÎ Çü½ÄÀ» »ç¿ëÇϸé ȯ°æº¯¼öÀÇ »óȲ¿¡ µû¶ó ¿äûÀ» + ·Î±×ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Ù. SetEnvIf¿Í °°ÀÌ »ç¿ëÇÏ¿© + ¾î¶² ¿äûÀ» ·Î±×ÇÒÁö ÀÚÀ¯·Ó°Ô °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, + ÆÄÀϸíÀÌ gif·Î ³¡³ª´Â ¿äûÀº ·Î±×ÇÏÁö ¾Ê°Å³ª, + ¿ÜºÎ ³×Æ®¿÷¿¡ Àִ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¸¸À» ·Î±×ÇÒ ¼ö ÀÖ´Ù.

+ + +

Á¶°ÇºÎ ÀÀ´ä Çì´õ

+ + +

Header + Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÀ´äÀ» º¸³¾¶§ ȯ°æº¯¼öÀÇ À¯¹«¿¡ + µû¶ó ¾î¶² HTTP Çì´õ¸¦ Æ÷ÇÔÇÒÁö °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ + µé¾î, Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ƯÁ¤ Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸ + ¾î¶² ÀÀ´ä Çì´õ¸¦ º¸³¾ ¼ö ÀÖ´Ù.

+ + + +

¿ÜºÎ ÇÊÅÍ ½ÇÇàÇϱâ

+ + +

mod_ext_filterÀÇ ExtFilterDefine + Áö½Ã¾î·Î ¼³Á¤ÇÑ ¿ÜºÎ ÇÊÅ͸¦ disableenv=¿Í + enableenv= ¿É¼ÇÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¿¡ µû¶ó + ¼±ÅÃÀûÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

+ + +

URL ÀçÀÛ¼º(Rewriting)

+ + +

RewriteCondÀÇ + TestString¿¡ %{ENV:...} Çü½ÄÀ» + »ç¿ëÇϸé mod_rewriteÀÇ ÀçÀÛ¼º ¿£ÁøÀÌ È¯°æº¯¼ö¿¡ µû¶ó + ´Ù¸£°Ô ÇൿÇÑ´Ù. mod_rewrite¿¡¼­ ¾Õ¿¡ ENV:¸¦ + ºÙÀÌÁö¾Ê°í Á¢±ÙÇÏ´Â º¯¼ö´Â ½ÇÁ¦ ȯ°æº¯¼ö°¡ ¾Æ´ÔÀ» ÁÖÀÇÇ϶ó. + ±×µéÀº ´Ù¸¥ ¸ðµâ¿¡¼­ ÀÐÀ» ¼ö ¾ø´Â mod_rewrite¿¡ ÇÑÁ¤µÈ + º¯¼ö´Ù.

+ +
top
+
+

Ưº°ÇÑ ¸ñÀûÀÇ È¯°æº¯¼ö

+ + +

Ŭ¶óÀ̾ðÆ®¿Í ¿øÈ°ÇÑ µ¿ÀÛÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â Ưº°ÇÑ + Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇØ ÀÚ½ÅÀÇ ÇൿÀ» ¼öÁ¤ÇÑ´Ù. º¸Åë BrowserMatch¿¡¼­ + ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÏ¿© ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÑ´Ù. ±×·¯³ª SetEnv¿Í PassEnv·Îµµ °¡´ÉÇÏ´Ù.

+ +

downgrade-1.0

+ + +

¿äûÀÌ ÀÌÈÄ ¹öÀüÀ» »ç¿ëÇÏ´õ¶óµµ HTTP/1.0 ¿äûÀ¸·Î + ó¸®ÇÑ´Ù.

+ + +

force-gzip

+ +

DEFLATE ÇÊÅ͸¦ »ç¿ëÇÒ¶§ ÀÌ È¯°æº¯¼ö´Â + ºê¶ó¿ìÀúÀÇ accept-encoding ¼³Á¤À» ¹«½ÃÇÏ°í ¹«Á¶°Ç + ¾ÐÃàµÈ °á°ú¸¦ º¸³½´Ù.

+ +

force-no-vary

+ + +

ÀÀ´äÀ» Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»±â Àü¿¡ ÀÀ´ä Çì´õ¿¡¼­ + Vary Çʵ带 »«´Ù. ¾î¶² Ŭ¶óÀ̾ðÆ®´Â ÀÌ + Çʵ带 Á¦´ë·Î Çؼ®ÇÏÁö ¸øÇÑ´Ù. ÀÌ º¯¼ö´Â ÀÌ·± ¹®Á¦¸¦ + ÇØ°áÇÑ´Ù. ¶ÇÇÑ, ÀÌ º¯¼ö´Â + force-response-1.0À» °¡Á¤ÇÑ´Ù.

+ + +

force-response-1.0

+ + +

HTTP/1.0 ¿äûÀ» Çϴ Ŭ¶óÀ̾ðÆ®¿¡°Ô HTTP/1.0 ÀÀ´äÀ» + °­Á¦ÇÑ´Ù. ¿ø·¡ AOL ÇÁ·Ï½Ã¿¡ ¹®Á¦°¡ À־ ¸¸µé¾îÁ³´Ù. + ¾î¶² HTTP/1.0 Ŭ¶óÀ̾ðÆ®´Â HTTP/1.1 ÀÀ´äÀ» ¹ÞÀ¸¸é Á¦´ë·Î + µ¿ÀÛÇÏÁö ¾ÊÀ¸¹Ç·Î, ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇØ »ç¿ëÇÑ´Ù.

+ + +

gzip-only-text/html

+ + +

°ªÀÌ "1"À̸é text/htmlÀÌ ¾Æ´Ñ content-type¿¡ + ´ëÇØ mod_deflateÀÇ DEFLATE Ãâ·ÂÇÊÅ͸¦ + »ç¿ëÇÏÁö ¾Ê´Â´Ù. (gzip »Ó¸¸ ¾Æ´Ï¶ó "identity"°¡ ¾Æ´Ñ ¸ðµç + ÀÎÄÚµùÀÇ) Á¤ÀûÀ¸·Î ¾ÐÃàÇÑ ÆÄÀÏÀÇ °æ¿ì¿¡µµ + mod_negotiationÀº ÀÌ º¯¼ö¸¦ Âü°íÇÑ´Ù.

+ + +

no-gzip

+ +

ÀÌ ¿É¼ÇÀ» ¼³Á¤Çϸé mod_deflateÀÇ + DEFLATE ÇÊÅ͸¦ »ç¿ëÇÏÁö ¾Ê°í, + mod_negotiationÀº ÀÎÄÚµùµÈ ÀÚ¿øÀ» + º¸³»Áö ¾Ê´Â´Ù.

+ + + +

nokeepalive

+ + +

KeepAlive¸¦ + ¹«½ÃÇÑ´Ù.

+ + + +

prefer-language

+ +

ÀÌ º¯¼ö´Â mod_negotiationÀÇ Çൿ¿¡ + ¿µÇâÀ» ¹ÌÄ£´Ù. º¯¼ö°¡ (en, ja, + x-klingon µî) ¾ð¾îű׸¦ ´ã°íÀÖ´Ù¸é, + mod_negotiation´Â ±× ¾ð¾î·Î µÈ º¯ÇüÀ» + º¸³»±æ ½ÃµµÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é ÀϹÝÀûÀÎ Çù»ó °úÁ¤À» ½ÃÀÛÇÑ´Ù.

+ + + +

redirect-carefully

+ + +

¼­¹ö°¡ ´õ Á¶½ÉÈ÷ Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù. + º¸Åë ¸®´ÙÀÌ·º¼ÇÀ» ó¸®Çϴµ¥ ¹®Á¦°¡ Àִ Ŭ¶óÀ̾ðÆ®À» + À§ÇØ »ç¿ëÇÑ´Ù. ¿ø·¡ MicrosoftÀÇ WebFolders ¼ÒÇÁÆ®¿þ¾î°¡ + DAV ¸Þ½áµå¸¦ ÅëÇØ µð·ºÅ丮 ÀÚ¿øÀÇ ¸®´ÙÀÌ·º¼ÇÀ» ó¸®Çϴµ¥ + ¹®Á¦°¡ À־ ¸¸µé¾îÁ³´Ù.

+ + + +

suppress-error-charset

+ + +

2.0.40 ÀÌÈÄ ¹öÀü¿¡ ÀÖ´Ù

+ +

¾ÆÆÄÄ¡°¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¸®´ÙÀÌ·º¼ÇÀ» + º¸³¾¶§ Ŭ¶óÀ̾ðÆ®°¡ ÀÚµ¿À¸·Î ¸®´ÙÀÌ·º¼ÇÀ» µû¶ó°¡Áö ¸øÇÏ´Â(ȤÀº + ¾Ê´Â) °æ¿ì¿¡ ´ëºñÇÏ¿© ÀÀ´ä¿¡ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ¹®±¸¸¦ Æ÷ÇÔÇÑ´Ù. + ¾ÆÆÄÄ¡´Â º¸Åë ÀÌ ±ÛÀ» ¾ÆÆÄÄ¡°¡ »ç¿ëÇÏ´Â ¹®ÀÚÁýÇÕÀÎ ISO-8859-1·Î + Ç¥½ÃÇÑ´Ù.

+

±×·¯³ª ¸®´ÙÀÌ·º¼ÇµÈ ÆäÀÌÁö°¡ ´Ù¸¥ ¹®ÀÚÁýÇÕÀ» »ç¿ëÇÒ °æ¿ì + ¾î¶² ÀÌ»óÇÑ ºê¶ó¿ìÀú ¹öÀüÀº ½ÇÁ¦ ÆäÀÌÁö°¡ ¾Æ´Ï¶ó ¸®´ÙÀÌ·º¼Ç + ÆäÀÌÁöÀÇ ¹®ÀÚÁýÇÕÀ» »ç¿ëÇÏ·Á°í ÇÑ´Ù. ¿¹¸¦ µé¾î, ±×¸®½º¾î°¡ + ÀÌ»óÇÏ°Ô º¸ÀÏ ¼ö ÀÖ´Ù.

+

ÀÌ È¯°æº¯¼ö´Â ¾ÆÆÄÄ¡°¡ ¸®´ÙÀÌ·º¼Ç ÆäÀÌÁö¿¡ ¹®ÀÚÁýÇÕÀ» + ¼³Á¤ÇÏÁö¾Êµµ·Ï ÇÏ¿©, ÀÌ·± ºê¶ó¿ìÀú°¡ ½ÇÁ¦ ÆäÀÌÁöÀÇ ¹®ÀÚÁýÇÕÀ» + ¿Ã¹Ù·Î »ç¿ëÇÏ°Ô ¸¸µç´Ù.

+ + + +
top
+
+

¿¹Á¦

+ + +

À߸ø µ¿ÀÛÇϴ Ŭ¶óÀ̾ðÆ®µéÀ» À§ÇØ ÇÁ·ÎÅäÄÝ Çൿ + º¯°æÇϱâ

+ + +

Ŭ¶óÀ̾ðÆ®µéÀÇ ÀÌ¹Ì ¾Ë·ÁÁø ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇØ + httpd.conf¿¡ ´ÙÀ½ ³»¿ëÀ» Æ÷ÇÔÇÏ±æ ¹Ù¶õ´Ù.

+
#
+# ´ÙÀ½ Áö½Ã¾îµéÀº ÀϹÝÀûÀÎ HTTP ÀÀ´äÀ» º¯°æÇÑ´Ù.
+# ù¹ø° Áö½Ã¾î´Â Netscape 2.x¿Í À̸¦ °¡ÀåÇÑ ºê¶ó¿ìÀú¿¡°Ô
+# keepalive¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÀÌµé ºê¶ó¿ìÀú ±¸Çö¿¡ ¹®Á¦°¡ ÀÖ´Ù.
+# µÎ¹ø° Áö½Ã¾î´Â HTTP/1.1 ±¸ÇöÀÌ À߸øµÇ¾ú°í 301À̳ª 302
+# (¸®´ÙÀÌ·º¼Ç) ÀÀ´ä¿¡ »ç¿ëÇÑ keepalive¸¦ Á¦´ë·Î Áö¿øÇÏÁö
+# ¸øÇÏ´Â Microsoft Internet Explorer 4.0b2¸¦ À§ÇÑ °ÍÀÌ´Ù.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# ´ÙÀ½ Áö½Ã¾î´Â ±âº»ÀûÀÎ HTTP/1.1 ÀÀ´äÀ» ÀÌÇØÇÏÁö ¸øÇÏ¿©
+# HTTP/1.0 ±Ô¾àÀ» ¾î±â´Â ºê¶ó¿ìÀú¿¡°Ô HTTP/1.1 ÀÀ´äÀ» º¸³»Áö ¾Ê´Â´Ù.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+ + +

Á¢±Ù ·Î±×¿¡ À̹ÌÁö¿¡ ´ëÇÑ ¿äûÀ» ·Î±×ÇÏÁö ¾Ê±â

+ + +

ÀÌ ¿¹Á¦´Â À̹ÌÁö¿¡ ´ëÇÑ ¿äûÀ» Á¢±Ù ·Î±×¿¡ ±â·ÏÇÏÁö + ¾Ê´Â´Ù. ƯÁ¤ µð·ºÅ丮¿¡ ´ëÇÑ È¤Àº ƯÁ¤ È£½ºÆ®¿¡¼­ ¿Â + ¿äûÀ» ·Î±×ÇÏÁö ¾Êµµ·Ï ½±°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+
SetEnvIf Request_URI \.gif image-request
+SetEnvIf Request_URI \.jpg image-request
+SetEnvIf Request_URI \.png image-request
+CustomLog logs/access_log common env=!image-request
+ + +

"À̹ÌÁö µµµÏ" ¹æÁö

+ + +

ÀÌ ¿¹´Â ÇöÀç ¼­¹ö¿ÜÀÇ »ç¿ëÀÚ°¡ ÆäÀÌÁö¿¡ ¼­¹ö¿¡ ÀÖ´Â + À̹ÌÁö¸¦ Æ÷ÇÔÇÏÁö ¸øÇϵµ·Ï ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ÀÌ + ¼³Á¤À» ±ÇÀåÇÏÁö´Â ¾ÊÀ¸¸ç, Á¦ÇÑµÈ °æ¿ì¿¡¸¸ µ¿ÀÛÇÑ´Ù. + ¿ì¸®´Â ¸ðµç À̹ÌÁö°¡ /web/images µð·ºÅ丮 ¾È¿¡ ÀÖ´Ù°í + °¡Á¤ÇÑ´Ù.

+
SetEnvIf Referer "^http://www.example.com/" local_referal
+# Referer Á¤º¸¸¦ º¸³»Áö ¾Ê´Â ºê¶ó¿ìÀú¸¦ Çã¿ëÇÑ´Ù
+SetEnvIf Referer "^$" local_referal
+<Directory /web/images>
+   Order Deny,Allow
+   Deny from all
+   Allow from env=local_referal
+</Directory>
+ +

ÀÌ ±â¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ApacheToday ÅõÅ丮¾ó " + Keeping Your Images from Adorning Other Sites"¸¦ Âü°íÇ϶ó.

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/env.html.tr.utf8 b/docs/manual/env.html.tr.utf8 new file mode 100644 index 0000000..66ffec8 --- /dev/null +++ b/docs/manual/env.html.tr.utf8 @@ -0,0 +1,529 @@ + + + + + +Apache’de Ortam Değişkenleri - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache’de Ortam Değişkenleri

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Apache HTTP Sunucusunu etkileyen ortam değişkenleri iki çeşittir.

+ +

İlki, işletim sisteminin denetimindeki ortam değişkenleridir. Bu + değişkenlere değer atama işlemi sunucu başlatılmadan önce yapılır. + Bunlar yapılandırma dosyalarının içinde kullanılabilir. Ayrıca, + istenirse PassEnv yönergesi kullanılarak bunlar CGI betiklerine ve + SSI sayfalarına da aktarılabilir.

+ +

İkincisi ise, Apache HTTP Sunucusunun kendi ortam değişkenleridir. + Bu değişkenlerde saklanan bilgi erişim denetimi, günlük kaydı gibi + çeşitli işlemleri denetlemekte kullanılabilir. Değişkenler ayrıca, CGI + betikleri gibi harici uygulamalarla iletişim mekanizması olarak da + kullanılabilir. Bu belgede bu değişkenler üzerindeki işlemlere ve + kullanım şekillerine değinilmiştir.

+ +

Bu değişkenlere ortam değişkenleri dense de işletim sisteminin + ortam değişkenleri gibi değillerdir. Bunlar sadece Apache ortamında + geçerli değişkenler olup işletim sisteminin bu değişkenlerden haberi + olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar + tarafından üretilen ortam değişkenleri sistem ortamının değişkenleri + haline gelirler. İşletim sistemi ortamına çalışmakta olan sunucudan + müdahale etmek isterseniz işletim sisteminizin kabuğu tarafından sağlanan + standart ortam müdahale mekanizmalarını kullanmalısınız.

+
+ +
top
+
+

Ortam Değişkenlerinin Atanması

+ + + +

Temel Ortamda DeÄŸiÅŸiklik

+ + +

Apache ortamında bir ortam değişkenine müdahale etmenin en temel + yolu hiçbir koşula tabi olmayan SetEnv yönergesini kullanmaktır. Bu değişkenleri Apache + başlatılırken sistem ortam değişkenleri haline getirmek için + PassEnv yönergesi + kullanılabilir.

+ + +

İsteğe Bağlı Şartlı Atamalar

+ + +

Esnekliği arttırmak için, mod_setenvif modülü ile + isteğin özelliklerine uygun olarak her isteğe özel değişkenler + atayabilmek mümkün kılınmıştır. Örneğin, bir değişken sadece isteği + yapan tarayıcıya özgü bir değerle veya sadece belli bir başlık + alanınına bağlı olarak atanabilir. Daha da esnek bir mekanizma, + ortam değişkeni atamak için [E=...] seçeneğinin + kullanıldığı mod_rewrite modülünün RewriteRule yönergesi ile + sağlanmıştır.

+ + +

EÅŸsiz Betimleyiciler

+ + +

Son olarak, mod_unique_id UNIQUE_ID + ortam değişkenine her istek için o isteğin çok özel koşullar altında + tüm diğer istekler arasında eşsizliğini garanti edecek bir değer + atar.

+ + +

Standart CGI DeÄŸiÅŸkenleri

+ + +

Apache yapılandırmasıyla atanan ve kabuğa aktarılan ortam + değişkenlerinden başka CGI + Belirtiminin gerektirdiği istekler hakkında temel bilgileri + içeren ortam değişkenlerinin CGI betikleri ve SSI sayfalarınca + atanabilmesi sağlanmıştır.

+ + +

Bazı Yetersizlikler

+ + +
    +
  • Standart CGI deÄŸiÅŸkenlerini ortam deÄŸiÅŸkenlerine müdahale + yönergelerini kullanarak deÄŸiÅŸtirmek veya geçersiz kılmak mümkün + deÄŸildir.
  • + +
  • CGI betiklerini çalıştırmak için suexec + kullanıldığında ortam, CGI betikleri çalıştırılmadan önce + güvenilir deÄŸiÅŸkenler kalacak ÅŸekilde temizlenir. + Güvenilir deÄŸiÅŸken listesi suexec.c içinde + derleme sırasında tanımlanır.
  • + +
  • Taşınabilirlik adına, ortam deÄŸiÅŸkenlerinin isimleri sadece + harfler, rakamlar ve alt çizgi imlerini içerebilir. Bunlara ek + olarak ismin ilk karakteri bir rakam olmamalıdır. DeÄŸiÅŸkenler CGI + betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun + olmayan karakterlerin yerlerine alt çizgi imleri konur.
  • + +
  • Bir özel durum, CGI betiklerine ve benzerlerine ortam + deÄŸiÅŸkenleri üzerinden aktarılan HTTP baÅŸlıklarıdır (aÅŸağıya + bakın). Bunlar büyük harfe dönüştürülür ve sadece tireler + altçizgilere dönüştürülür. EÄŸer HTTP baÅŸlığı geçersiz karakter + içeriyorsa baÅŸlığın tamamı yoksayılır. Böyle bir durumda ne + yapılacağı öğrenmek için aÅŸağıya + bakın.
  • + +
  • Ä°steklerin iÅŸleme konması sırasında SetEnv yönergesi geç çalıştırılır, + yani SetEnvIf ve + RewriteCond gibi + yönergeler SetEnv ile + atanan deÄŸiÅŸken deÄŸerlerini görmezler.
  • + +
  • mod_autoindex ile dizin listesi oluÅŸturulması + veya bir DirectoryIndex + için yol aranması gibi bir dahili alt + istek için sunucu yol araması yaparken isteklere özgü + ortam deÄŸiÅŸkenleri alt istekler tarafından miras alınMAZ. Buna ek + olarak, mod_setenvif modülünün devreye girdiÄŸi API + fazlarından dolayı yapılan alt isteklerde + SetEnvIf yönergeleri + ayrı ayrı deÄŸerlendirilMEZ.
  • +
+ +
top
+
+

Ortam Değişkenlerinin Kullanımı

+ + + + +

CGI Betikleri

+ + +

Ortam değişkenlerinin başlıca amaçlarından biri CGI betikleriyle + iletişim kurmaktır. Yukarıda bahsedildiği gibi CGI betiklerine + aktarılan ortam Apache yapılandırmasında atanan değişkenlere ek + olarak istek hakkında standart temel bilgileri de içerir. Bu konuda + ayrıntılı bilgi edinmek için CGI + Öğreticisine bakabilirsiniz.

+ + +

SSI Sayfaları

+ + +

Sunucu tarafında mod_include modülünün + INCLUDES süzgeci ile yorumlanan SSI sayfalarında ortam + değişkenleri echo elemanı ile basılabilir ve sayfayı + isteğin özelliklerine uygun olarak oluşturmak için ortam + değişkenleri akış denetim elemanları içinde kullanılabilir. Apache + ayrıca, yukarıda bahsedildiği gibi standart CGI ortam değişkenli SSI + sayfalarını da sağlayabilmektedir. Daha ayrıntılı bilgi edinmek için + SSI Öğreticisine bakabilirsiniz.

+ + +

EriÅŸim Denetimi

+ + +

Require env ve Require not env + yönergeleri sayesinde ortam değişkenlerine dayalı olarak sunucuya + erişim denetim altında tutulabilir. Bunlar SetEnvIf yönergesi ile birlikte + kullanılmak suretiyle sunucuya erişim isteğin özelliklerine bağlı + olarak daha esnek bir tarzda denetlenebilir. Örneğin, belli bir + tarayıcının sunucuya erişimi bu yönergelerle engellenebilir.

+ + +

Şartlı Günlük Kaydı

+ + +

Ortam değişkenleri LogFormat yönergesinin %e seçeneği + kullanılarak erişim günlüğüne kaydedilebilir. Bundan başka, + CustomLog yönergesi + sayesinde isteklerin günlüğe kaydedilip kaydedilmeyeceğine ortam + değişkenlerine dayalı olarak karar verilmesi sağlanabilir. Bunlar + SetEnvIf yönergesi ile + birlikte kullanılmak suretiyle günlük kayıtları isteğin + özelliklerine bağlı olarak daha esnek bir tarzda denetlenebilir. + Örneğin, gif uzantılı dosyalar için yapılan isteklerin + günlüğe kaydedilmemesi veya sadece alt ağınızın dışından gelen + isteklerin günlüğe kaydedilmesini isteyebilirsiniz.

+ + +

Şartlı Yanıt Başlıkları

+ + +

Header yönergesi belli + bir yanıt başlığının istemciye gönderilip gönderilmeyeceğine belli + bir ortam değişkeninin varlığına bakarak karar vermek için + kullanılabilir. Böylece örneğin, belli bir başlığın istemciye + gönderilmesine istemciden belli bir başlığın alınıp alınmadığına + bağlı olarak karar verilebilir.

+ + + +

Harici Süzgeçlerin Etkinleştirilmesi

+ + +

mod_ext_filter tarafından yapılandırılan harici + süzgeçler ExtFilterDefine yönergesinin disableenv= ve + enableenv= seçenekleri kullanılarak bir ortam + değişkenine bağlı olarak etkinleştirilebilir.

+ + +

URL Kurgulaması

+ + +

RewriteCond + yönergesinin SınamaDizgesi olarak kullanılan + %{ENV:değişken} biçemi + mod_rewrite yeniden yazma motorunun ortam + değişkenlerine bağlı kararlar almasını mümkün kılar. Yalnız şuna + dikkat ediniz: mod_rewrite’ta ENV: + öneki kullanılmadan belirtilen değişkenler ortam değişkenleri + değillerdir. Onlar mod_rewrite’a özgü diğer + modüllerden erişilemeyen özel değişkenlerdir.

+ +
top
+
+

Özel Amaçlı Ortam Değişkenleri

+ + +

Birlikte çalışabilirlik sorunları Apache’nin belli istemcilerle + veri alışverişi sırasında davranışını değiştirmesini gerektirebilir. + Genellikle SetEnv ve + PassEnv yönergelerinden + başka BrowserMatch + gibi yönergelerle ortam değişkenleri atanarak bunu sağlayan + mekanizmaların olabildiğince esnek davranabilmesi sağlanabilir.

+ +

downgrade-1.0

+ + +

İstek, daha yüksek bir HTTP protokolüyle yapılmış olsa bile + HTTP/1.0 isteği olarak ele alınır.

+ + +

force-gzip

+ +

DEFLATE süzgeci etkinse tarayıcının tercih ettiği + kodlama koşulsuz olarak yoksayılarak sıkıştırılmış çıktı + gönderilir.

+ +

force-no-vary

+ + +

İstemciye gönderilmeden önce yanıttan Vary alanının + çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiği gibi + yorumlayamazlar, bu değişken atanarak bu sorunla karşılaşılmamaya + çalışılır. Bu değişkenin atanması ayrıca + force-response-1.0 değişkeninin de atanmasına sebep + olur.

+ + +

force-response-1.0

+ + +

HTTP/1.0 isteği yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu + kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiştir. Bazı + HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doğru davranmayabilirler; bu + değişken atanarak bunların sorunları giderilebilir.

+ + + +

gzip-only-text/html

+ + +

Bu değişkene "1" değeri atandığında text/html’den + farklı içerik türleri için mod_deflate modülü + tarafından sağlanan DEFLATE çıktı süzgeci iptal + edilir. Sıkıştırılmış olarak saklanan dosyalar kullanıyorsanız bu + değişkeni mod_negotiation modülü de dikkate alır + (kimliğine bakarak sadece gzip için değil, tüm kodlamalar için bunu + yapar).

+ + +

no-gzip

+ +

Bu değişken atandığında, mod_deflate modülünün + DEFLATE süzgeci kapatılır ve + mod_negotiation modülü kodlanmış kaynak teslimatını + reddeder.

+ + + +

no-cache

+

2.2.12 sürümünden beri kullanılabilmektedir.

+ +

Atandığı takdirde, mod_cache artık + önbelleklenebilecek yanıtları kaydetmeyecektir. Bu ortam değişkeni bir + yanıtın halihazırda mevcut bir isteğe sunulmak üzere önbellekte olup + olmadığından etkilenmez.

+ + + +

nokeepalive

+ + +

Bu değişken atandığında, KeepAlive yönergesi iptal edilir.

+ + + +

prefer-language

+ + +

Değer olarak en, ja veya + x-klingon gibi bir dil kısaltması verilerek atanmışsa + mod_negotiation modülünün normal davranışını + değiştirerek belirtilen dilde bir teslimat yapılmaya çalışılır. + Böyle bir belge yoksa normal uzlaşım süreci uygulanır.

+ + + +

redirect-carefully

+ + +

İstemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya + zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu + olduğu bilindiği takdirde yararlı olur. Bu değişkenin gerçeklenme + sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini + kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.

+ + + +

suppress-error-charset

+ + +

2.0.54 sürümünden beri mevcuttur.

+ +

Apache bir isteğe bir yönlendirme ile yanıt verdiğinde istemci + yönlendirmeyi kendiliğinden yapmaz veya yapamazsa kullanıcıya yanıtla + birlikte gönderilen metin gösterilir. Apache normal olarak bu metni + ISO-8859-1 ile kodlar.

+ +

Ancak, yönlendirmenin yapıldığı sayfa farklı bir karakter kümesine + sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine + yönlendirmenin kodlamasını kullanmaya çalışırlar. Bu özellikle Yunanca + gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.

+ +

Bu ortam değişkeninin atanması Apache’nin yönlendirme için karakter + kümesi belirtmemesini sağlamak suretiyle hatalı tarayıcıların hedef + sayfayı yanlış karakter kodlamasıyla yorumlamasını önler.

+ +
+

Güvenlik Uyarısı

+ +

Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması, + HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriğe bakarak + tahmin etmeye çalışan tarayıcılarda (MSIE) karşı siteden betik + saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik + (istek betimleyici gibi) karşı siteden betik saldırılarını engellemek + için tasarlanmış normal önceleme mekanizmalarıyla öncelenmeyeceği için + böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca + aldatılabilir.

+
+ + + +

force-proxy-request-1.0, + proxy-nokeepalive, proxy-sendchunked ve + proxy-sendcl, proxy-chain-auth, + proxy-interim-response, proxy-initial-not-pooled +

+ +

Bu yönergeler mod_proxy modülünün normal protokol + davranışını değiştirirler. Daha ayrıntılı bilgi için + mod_proxy ve mod_proxy_http + belgelerine bakınız.

+ + +
top
+
+

Örnekler

+ + +

Bozuk başlıkların CGI betiklerine aktarılması

+ + +

2.4 sürümünden itibaren, mod_cgi modülü ve diğer + modüllerde HTTP başlıklarının ortam değişkenlerine dönüştürülmesi + bağlamında Apache daha seçici davranmaktadır. Önce HTTP başlığındaki + geçersiz karakterlerin tamamı altçizgilere dönüştürülür. Bu, başlık + zerki yoluyla yapılan karşı-site-betiklerini-çalıştırma saldırısını + önlemeye yöneliktir. (Bakınız: Unusual Web Bugs, slide 19/20).

+ +

Bozuk başlıklar gönderdiği halde bunlara dokunulmamasını gerektiren + bir istemciniz varsa, mod_setenvif ve + mod_headers modüllerinin sunduğu yapıyı örnekteki gibi + kullanarak bu sorunun üstesinden gelebilirsiniz:

+ +
#
+# Aşağıdaki satırlarla bir istemcinin gönderdiği bozuk
+# Accept_Encoding başlıklarının istenildiği gibi işlenmesi
+# saÄŸlanabilir.
+#
+SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1
+RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
+ + + + +

Protokolü yanlış yorumlayan tarayıcıların davranışlarının + değiştirilmesi

+ + +

Önceki sürümlerde bilinen istemci davranışlarına karşı önlem olarak + aşağıdaki satırların httpd.conf içinde bulunması + önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediğinden + bu yapılandırmaya da artık gerek kalmamıştır.

+ +
#
+# Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler.
+# İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için
+# kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1
+# protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları
+# kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen
+# Microsoft Internet Explorer 4.0b2 içindir.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan
+# tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+ + + +

Resim isteklerinin erişim günlüğüne kaydedilmemesi

+ + +

Bu örnek resim isteklerinin erişim günlüğüne yazılmasını engeller. + Bu örnek değiştirilerek belli dizinlerin veya belli konaklardan + gelen isteklerin günlüğe kaydedilmesini engellemek amacıyla da + kullanılabilir.

+ +
SetEnvIf Request_URI \.gif image-request
+SetEnvIf Request_URI \.jpg image-request
+SetEnvIf Request_URI \.png image-request
+CustomLog "logs/access_log" common env=!image-request
+ + + + +

“Resim Hırsızlığı†için önlem alınması

+ + +

Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki + resimlerin kullanılmasının nasıl önleneceği gösterilmiştir. Bu + yapılandırma önerilmemekle birlikte nadir durumlarda işe yarar. Tüm + resimlerin /siteler/resimler dizini altında tutulduğu + varsayılmıştır.

+ +
SetEnvIf Referer "^http://www\.example\.com/" local_referal
+# Referrer bilgisi göndermeyen tarayıcılara izin verelim
+SetEnvIf Referer "^$" local_referal
+<Directory "/siteler/resimler">
+  Require env local_referal
+</Directory>
+ + +

Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch + üzerindeki "Diğer sitelerin sizin resimlerinizle donatılmasını engellemek" + belgesine bakınız.

+ +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/expr.html b/docs/manual/expr.html new file mode 100644 index 0000000..1871cae --- /dev/null +++ b/docs/manual/expr.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: expr.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: expr.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/expr.html.en b/docs/manual/expr.html.en new file mode 100644 index 0000000..5520c33 --- /dev/null +++ b/docs/manual/expr.html.en @@ -0,0 +1,657 @@ + + + + + +Expressions in Apache HTTP Server - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Expressions in Apache HTTP Server

+
+

Available Languages:  en  | + fr 

+
+ +

Historically, there are several syntax variants for expressions + used to express a condition in the different modules of the Apache + HTTP Server. There is some ongoing effort to only use a single + variant, called ap_expr, for all configuration directives. + This document describes the ap_expr expression parser. +

+

The ap_expr expression is intended to replace most other + expression variants in HTTPD. For example, the deprecated SSLRequire expressions can be replaced + by Require expr.

+
+ +
top
+
+

Grammar in Backus-Naur Form notation

+ +

Backus-Naur + Form (BNF) is a notation technique for context-free grammars, + often used to describe the syntax of languages used in computing. + In most cases, expressions are used to express boolean values. + For these, the starting point in the BNF is expr. + However, a few directives like LogMessage accept expressions + that evaluate to a string value. For those, the starting point in + the BNF is string. +

+
+
expr        ::= "true" | "false"
+              | "!" expr
+              | expr "&&" expr
+              | expr "||" expr
+              | "(" expr ")"
+              | comp
+
+comp        ::= stringcomp
+              | integercomp
+              | unaryop word
+              | word binaryop word
+              | word "in" "{" wordlist "}"
+              | word "in" listfunction
+              | word "=~" regex
+              | word "!~" regex
+
+
+stringcomp  ::= word "==" word
+              | word "!=" word
+              | word "<"  word
+              | word "<=" word
+              | word ">"  word
+              | word ">=" word
+
+integercomp ::= word "-eq" word | word "eq" word
+              | word "-ne" word | word "ne" word
+              | word "-lt" word | word "lt" word
+              | word "-le" word | word "le" word
+              | word "-gt" word | word "gt" word
+              | word "-ge" word | word "ge" word
+
+wordlist    ::= word
+              | wordlist "," word
+
+word        ::= word "." word
+              | digit
+              | "'" string "'"
+              | """ string """
+              | variable
+              | rebackref
+              | function
+
+string      ::= stringpart
+              | string stringpart
+
+stringpart  ::= cstring
+              | variable
+              | rebackref
+
+cstring     ::= ...
+digit       ::= [0-9]+
+
+variable    ::= "%{" varname "}"
+              | "%{" funcname ":" funcargs "}"
+
+rebackref   ::= "$" [0-9]
+
+function     ::= funcname "(" word ")"
+
+listfunction ::= listfuncname "(" word ")"
+
+ +
top
+
+

Variables

+ + +

The expression parser provides a number of variables of the form + %{HTTP_HOST}. Note that the value of a variable may depend + on the phase of the request processing in which it is evaluated. For + example, an expression used in an <If > + directive is evaluated before authentication is done. Therefore, + %{REMOTE_USER} will not be set in this case.

+ +

The following variables provide the values of the named HTTP request + headers. The values of other headers can be obtained with the + req function. Using these + variables may cause the header name to be added to the Vary + header of the HTTP response, except where otherwise noted for the + directive accepting the expression. The req_novary + function may be used to circumvent this + behavior.

+ + + + + + + + + +
Name
HTTP_ACCEPT
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_REFERER
HTTP_USER_AGENT
+ +

Other request related variables

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
REQUEST_METHODThe HTTP method of the incoming request (e.g. + GET)
REQUEST_SCHEMEThe scheme part of the request's URI
REQUEST_URIThe path part of the request's URI
DOCUMENT_URISame as REQUEST_URI
REQUEST_FILENAMEThe full local filesystem path to the file or script matching the + request, if this has already been determined by the server at the + time REQUEST_FILENAME is referenced. Otherwise, such + as when used in virtual host context, the same value as + REQUEST_URI
SCRIPT_FILENAMESame as REQUEST_FILENAME
LAST_MODIFIEDThe date and time of last modification of the file in the format + 20101231235959, if this has already been determined by + the server at the time LAST_MODIFIED is referenced. +
SCRIPT_USERThe user name of the owner of the script.
SCRIPT_GROUPThe group name of the group of the script.
PATH_INFOThe trailing path name information, see + AcceptPathInfo
QUERY_STRINGThe query string of the current request
IS_SUBREQ"true" if the current request is a subrequest, + "false" otherwise
THE_REQUESTThe complete request line (e.g., + "GET /index.html HTTP/1.1")
REMOTE_ADDRThe IP address of the remote host
REMOTE_PORTThe port of the remote host (2.4.26 and later)
REMOTE_HOSTThe host name of the remote host
REMOTE_USERThe name of the authenticated user, if any (not available during <If>)
REMOTE_IDENTThe user name set by mod_ident
SERVER_NAMEThe ServerName of + the current vhost
SERVER_PORTThe server port of the current vhost, see + ServerName
SERVER_ADMINThe ServerAdmin of + the current vhost
SERVER_PROTOCOLThe protocol used by the request
DOCUMENT_ROOTThe DocumentRoot of + the current vhost
AUTH_TYPEThe configured AuthType (e.g. + "basic")
CONTENT_TYPEThe content type of the response (not available during <If>)
HANDLERThe name of the handler creating + the response
HTTP2"on" if the request uses http/2, + "off" otherwise
HTTPS"on" if the request uses https, + "off" otherwise
IPV6"on" if the connection uses IPv6, + "off" otherwise
REQUEST_STATUSThe HTTP error status of the request (not available during <If>)
REQUEST_LOG_IDThe error log id of the request (see + ErrorLogFormat)
CONN_LOG_IDThe error log id of the connection (see + ErrorLogFormat)
CONN_REMOTE_ADDRThe peer IP address of the connection (see the + mod_remoteip module)
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT
+ +

Misc variables

+ + + + + + + + + + + + + + + + + + + + + + +
NameDescription
TIME_YEARThe current year (e.g. 2010)
TIME_MONThe current month (01, ..., 12)
TIME_DAYThe current day of the month (01, ...)
TIME_HOURThe hour part of the current time + (00, ..., 23)
TIME_MINThe minute part of the current time
TIME_SECThe second part of the current time
TIME_WDAYThe day of the week (starting with 0 + for Sunday)
TIMEThe date and time in the format + 20101231235959
SERVER_SOFTWAREThe server version string
API_VERSIONThe date of the API version (module magic number)
+ +

Some modules register additional variables, see e.g. + mod_ssl.

+ +
top
+
+

Binary operators

+ + +

With the exception of some built-in comparison operators, binary + operators have the form "-[a-zA-Z][a-zA-Z0-9_]+", i.e. a + minus and at least two characters. The name is not case sensitive. + Modules may register additional binary operators.

+ +

Comparison operators

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameAlternative Description
===String equality
!= + String inequality
< + String less than
<= + String less than or equal
> + String greater than
>= + String greater than or equal
=~ + String matches the regular expression
!~ + String does not match the regular expression
-eqeqInteger equality
-neneInteger inequality
-ltltInteger less than
-leleInteger less than or equal
-gtgtInteger greater than
-gegeInteger greater than or equal
+ + +

Other binary operators

+ + + + + + + + + + + +
NameDescription
-ipmatchIP address matches address/netmask
-strmatchleft string matches pattern given by right string (containing + wildcards *, ?, [])
-strcmatchsame as -strmatch, but case insensitive
-fnmatchsame as -strmatch, but slashes are not matched by + wildcards
+ + +
top
+
+

Unary operators

+ + +

Unary operators take one argument and have the form + "-[a-zA-Z]", i.e. a minus and one character. + The name is case sensitive. + Modules may register additional unary operators.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionRestricted
-dThe argument is treated as a filename. + True if the file exists and is a directoryyes
-eThe argument is treated as a filename. + True if the file (or dir or special) existsyes
-fThe argument is treated as a filename. + True if the file exists and is regular fileyes
-sThe argument is treated as a filename. + True if the file exists and is not emptyyes
-LThe argument is treated as a filename. + True if the file exists and is symlinkyes
-hThe argument is treated as a filename. + True if the file exists and is symlink + (same as -L)yes
-FTrue if string is a valid file, accessible via all the server's + currently-configured access controls for that path. This uses an + internal subrequest to do the check, so use it with care - it can + impact your server's performance!
-UTrue if string is a valid URL, accessible via all the server's + currently-configured access controls for that path. This uses an + internal subrequest to do the check, so use it with care - it can + impact your server's performance!
-AAlias for -U
-nTrue if string is not empty
-zTrue if string is empty
-TFalse if string is empty, "0", "off", + "false", or "no" (case insensitive). + True otherwise.
-RSame as "%{REMOTE_ADDR} -ipmatch ...", but more + efficient +
+ +

The operators marked as "restricted" are not available in some modules + like mod_include.

+
top
+
+

Functions

+ + +

Normal string-valued functions take one string as argument and return + a string. Functions names are not case sensitive. + Modules may register additional functions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionSpecial notes
req, httpGet HTTP request header; header names may be added to the Vary + header, see below
req_novarySame as req, but header names will not be added to the + Vary header
respGet HTTP response header (most response headers will not yet be set + during <If>)
reqenvLookup request environment variable (as a shortcut, + v can also be used to access variables). + ordering
osenvLookup operating system environment variable
noteLookup request noteordering
envReturn first match of note, reqenv, + osenvordering
tolowerConvert string to lower case
toupperConvert string to upper case
escapeEscape special characters in %hex encoding
unescapeUnescape %hex encoded string, leaving encoded slashes alone; + return empty string if %00 is found
base64Encode the string using base64 encoding
unbase64Decode base64 encoded string, return truncated string if 0x00 is + found
md5Hash the string using MD5, then encode the hash with hexadecimal + encoding
sha1Hash the string using SHA1, then encode the hash with hexadecimal + encoding
fileRead contents from a file (including line endings, when present) + restricted
filesizeReturn size of a file (or 0 if file does not exist or is not + regular file)restricted
ldapEscape characters as required by LDAP distinguished name escaping + (RFC4514) and LDAP filter escaping (RFC4515).
+ (Available in httpd 2.4.53 and later)
+ +

The functions marked as "restricted" in the final column are not + available in some modules like mod_include.

+ +

The functions marked as "ordering" in the final column require some + consideration for the ordering of different components of the server, + especially when the function is used within the + <If> directive which is + evaluated relatively early.

+
+

Environment variable ordering

+ When environment variables are looked up within an + <If> condition, it's important + to consider how extremely early in request processing that this + resolution occurs. As a guideline, any directive defined outside of virtual host + context (directory, location, htaccess) is not likely to have yet had a + chance to execute. SetEnvIf + in virtual host scope is one directive that runs prior to this resolution +
+
+ When reqenv is used outside of <If>, the resolution will generally occur later, but the + exact timing depends on the directive the expression has been used within. +
+ +

When the functions req or http are used, + the header name will automatically be added to the Vary header of the + HTTP response, except where otherwise noted for the directive accepting + the expression. The req_novary function can be used to + prevent names from being added to the Vary header.

+ +

In addition to string-valued functions, there are also + list-valued functions which take one string as argument and return a + wordlist, i.e. a list of strings. The wordlist can be used with the + special -in operator. Functions names are not case + sensitive. Modules may register additional functions.

+ +

There are no built-in list-valued functions. mod_ssl + provides PeerExtList. See the description of + SSLRequire for details + (but PeerExtList is also usable outside + of SSLRequire).

+ +
top
+
+

Example expressions

+ + +

The following examples show how expressions might be used to + evaluate requests:

+ + +
# Compare the host name to example.com and redirect to www.example.com if it matches
+<If "%{HTTP_HOST} == 'example.com'">
+    Redirect permanent "/" "http://www.example.com/"
+</If>
+
+# Force text/plain if requesting a file with the query string contains 'forcetext'
+<If "%{QUERY_STRING} =~ /forcetext/">
+    ForceType text/plain
+</If>
+
+# Only allow access to this content during business hours
+<Directory "/foo/bar/business">
+    Require expr %{TIME_HOUR} -gt 9 && %{TIME_HOUR} -lt 17
+</Directory>
+
+# Check a HTTP header for a list of values
+<If "%{HTTP:X-example-header} in { 'foo', 'bar', 'baz' }">
+    Header set matched true
+</If>
+
+# Check an environment variable for a regular expression, negated.
+<If "! reqenv('REDIRECT_FOO') =~ /bar/">
+    Header set matched true
+</If>
+
+# Check result of URI mapping by running in Directory context with -f
+<Directory "/var/www">
+    AddEncoding x-gzip gz
+<If "-f '%{REQUEST_FILENAME}.unzipme' && ! %{HTTP:Accept-Encoding} =~ /gzip/">
+      SetOutputFilter INFLATE
+</If>
+</Directory>
+
+# Check against the client IP
+<If "-R '192.168.1.0/24'">
+    Header set matched true
+</If>
+
+# Function example in boolean context
+<If "md5('foo') == 'acbd18db4cc2f85cedef654fccc4a4d8'">
+  Header set checksum-matched true
+</If>
+
+# Function example in string context
+Header set foo-checksum "expr=%{md5:foo}"
+
+# This delays the evaluation of the condition clause compared to <If>
+Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path\.php$#"
+
+# Conditional logging
+CustomLog logs/access-errors.log common "expr=%{REQUEST_STATUS} >= 400"
+CustomLog logs/access-errors-specific.log common "expr=%{REQUEST_STATUS} -in {'405','410'}"
+ +
top
+
+

Other

+ + + + + + + + + + + + + + +
NameAlternative Description
-ininstring contained in wordlist
/regexp/m#regexp#Regular expression (the second form allows different + delimiters than /)
/regexp/im#regexp#iCase insensitive regular expression
$0 ... $9 + Regular expression backreferences
+ +

Regular expression backreferences

+ +

The strings $0 ... $9 allow to reference + the capture groups from a previously executed, successfully + matching regular expressions. They can normally only be used in the + same expression as the matching regex, but some modules allow special + uses.

+ + +
top
+
+

Comparison with SSLRequire

+ +

The ap_expr syntax is mostly a superset of the syntax of the + deprecated SSLRequire directive. + The differences are described in SSLRequire's documentation.

+
top
+
+

Version History

+ +

The req_novary function + is available for versions 2.4.4 and later.

+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/expr.html.fr.utf8 b/docs/manual/expr.html.fr.utf8 new file mode 100644 index 0000000..6800023 --- /dev/null +++ b/docs/manual/expr.html.fr.utf8 @@ -0,0 +1,693 @@ + + + + + +Les expressions dans le serveur HTTP Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Les expressions dans le serveur HTTP Apache

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Historiquement, il existe de nombreuses variantes dans la syntaxe + des expressions permettant d'exprimer une condition dans les + différents modules du serveur HTTP Apache. À ce titre, des travaux sont + en cours pour n'utiliser qu'une seule variante nommée + ap_expr, pour toutes les directives de configuration. Ce + document décrit l'interpréteur d'expressions ap_expr. +

+

Le type d'expression ap_expr est appelé à remplacer la + plupart des autres types d'expressions dans HTTPD. Par exemple, la + directive obsolète SSLRequire peut être remplacée par la + directive Require + expr. +

+
+ +
top
+
+

Syntaxe en Forme de Backus-Naur

+ +

La Forme de Backus-Naur + (souvent abrégée en BNF, de l'anglais Backus-Naur Form) est une notation permettant de décrire + les règles syntaxiques des langages de programmation. En + général, les expressions représentent des valeurs booléennes. Dans + ce cas, le point de départ de la BNF est expr. + Cependant, certaines directives comme LogMessage utilisent comme + paramètres des expressions qui représentent des chaînes de + caractères. Dans ce cas, le point de départ de la BNF est + string. +

+
+
expr        ::= "true" | "false"
+              | "!" expr
+              | expr "&&" expr
+              | expr "||" expr
+              | "(" expr ")"
+              | comp
+
+comp        ::= stringcomp
+              | integercomp
+              | unaryop word
+              | word binaryop word
+              | word "in" "{" wordlist "}"
+              | word "in" listfunction
+              | word "=~" regex
+              | word "!~" regex
+
+
+stringcomp  ::= word "==" word
+              | word "!=" word
+              | word "<"  word
+              | word "<=" word
+              | word ">"  word
+              | word ">=" word
+
+integercomp ::= word "-eq" word | word "eq" word
+              | word "-ne" word | word "ne" word
+              | word "-lt" word | word "lt" word
+              | word "-le" word | word "le" word
+              | word "-gt" word | word "gt" word
+              | word "-ge" word | word "ge" word
+
+wordlist    ::= word
+              | wordlist "," word
+
+word        ::= word "." word
+              | digit
+              | "'" string "'"
+              | """ string """
+              | variable
+	      | rebackref
+              | function
+
+string      ::= stringpart
+              | string stringpart
+
+stringpart  ::= cstring
+              | variable
+	      | rebackref
+
+cstring     ::= ...
+digit       ::= [0-9]+
+
+variable    ::= "%{" varname "}"
+              | "%{" funcname ":" funcargs "}"
+
+rebackref   ::= "$" [0-9]
+
+function     ::= funcname "(" word ")"
+
+listfunction ::= listfuncname "(" word ")"
+
+ +
top
+
+

Variables

+ + +

L'interpréteur d'expressions fournit plusieurs variables de la + forme %{HTTP_HOST}. Notez que la valeur d'une variable + peut dépendre de la phase du traitement de la requête au cours de + laquelle elle est évaluée. Par exemple, une expression utilisée dans + une directive <If > sera évaluée avant + la phase d'authentification. Par conséquent, la variable + %{REMOTE_USER} ne sera pas encore définie à ce stade.

+ +

Les variables suivantes contiennent la valeur de l'en-tête de + requête HTTP correspondant. La fonction + req permet d'extraire les valeurs des autres + en-têtes. L'utilisation de ces variables peut provoquer + l'ajout du nom d'en-tête correspondant à l'en-tête Vary de la + réponse HTTP, sauf spécification contraire pour la directive + qui accepte l'expression comme paramètre. La function req_novary permet de + modifier ce comportement.

+ + + + + + + + + +
Nom
HTTP_ACCEPT
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_REFERER
HTTP_USER_AGENT
+ +

Autres variables liées aux requêtes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NomDescription
REQUEST_METHODLa méthode HTTP de la requête entrante (par exemple + GET)
REQUEST_SCHEMELe protocole associé à l'URI de la requête
REQUEST_URILa partie chemin de l'URI de la requête
DOCUMENT_URIIdem REQUEST_URI
REQUEST_FILENAMELe chemin complet dans le système de fichiers local du + fichier ou du script correspondant à la requête, si le serveur + l'a dèjà déterminé à l'instant où REQUEST_FILENAME + est référencée. Dans le cas contraire, comme dans un + contexte de serveur virtuel, même valeur que REQUEST_URI
SCRIPT_FILENAMEIdentique à REQUEST_FILENAME
LAST_MODIFIEDLa date et heure de dernière modification du fichier au + format 20101231235959, si elle est déjà connue du + serveur au moment où LAST_MODIFIED est référencé. +
SCRIPT_USERLe nom d'utilisateur du propriétaire du script.
SCRIPT_GROUPLe nom du groupe auquel appartient le script.
PATH_INFOL'information relative au nom de chemin située en fin, voir + la directive AcceptPathInfo
QUERY_STRINGLa chaîne de paramètres de la requête courante
IS_SUBREQ"true" si la requête courante est une + sous-requête, "false" dans le cas contraire
THE_REQUESTLa requête complète (par exemple "GET /index.html + HTTP/1.1")
REMOTE_ADDRL'adresse IP de l'hôte distant
REMOTE_PORTLe port de l'hôte distant (versions 2.4.26 et supérieures)
REMOTE_HOSTLe nom d'hôte de l'hôte distant
REMOTE_USERLe nom de l'utilisateur authentifié, s'il existe (non + disponible à l'intérieur d'un bloc <If>)
REMOTE_IDENTLe nom de l'utilisateur défini par mod_ident
SERVER_NAMELa valeur de la directive ServerName du serveur virtuel courant
SERVER_PORTLe port associé au serveur virtuel courant ; voir la + directive ServerName
SERVER_ADMINLa valeur de la directive ServerAdmin du serveur virtuel courant
SERVER_PROTOCOLLe protocole utilisé par la requête
DOCUMENT_ROOTLa valeur de la directive DocumentRoot du serveur virtuel + courant
AUTH_TYPELa valeur de la directive AuthType (par exemple + "basic")
CONTENT_TYPELe type de contenu de la réponse (non + disponible à l'intérieur d'un bloc <If>)
HANDLERLe nom du gestionnaire qui a + généré la réponse
HTTP2"on" si la requête utilise http/2, + "off" dans le cas contraire
HTTPS"on" si la requête utilise https, + "off" dans le cas contraire
IPV6"on" si la connexion utilise IPv6, + "off" dans le cas contraire
REQUEST_STATUSLe code d'erreur HTTP de la requête (non + disponible à l'intérieur d'un bloc <If>)
REQUEST_LOG_IDL'identifiant du message d'erreur associé à la requête (voir + la directive ErrorLogFormat)
CONN_LOG_IDL'identifiant du message d'erreur associé à la connexion + (voir la directive ErrorLogFormat)
CONN_REMOTE_ADDRL'adresse IP du correspondant pour la connexion (voir le module + mod_remoteip)
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT
+ +

Variables diverses

+ + + + + + + + + + + + + + + + + + + + + + +
NomDescription
TIME_YEARL'année courante (par exemple 2010)
TIME_MONLe mois courant (01, ..., 12)
TIME_DAYLe jour courant dans le mois (01, ...)
TIME_HOURLes heures de la date courante (00, ..., + 23)
TIME_MINLes minutes de la date courante
TIME_SECLes secondes de la date courante
TIME_WDAYLe jour de la semaine (à partir de 0 pour + dimanche)
TIMELa date et heure au format 20101231235959
SERVER_SOFTWARELa chaîne contenant la version du serveur
API_VERSIONLa date de la version de l'API (module magic number)
+ +

Certains modules, comme mod_ssl, définissent des + variables supplémentaires.

+ +
top
+
+

Opérateurs binaires

+ + +

À l'exception de quelques opérateurs de comparaison internes, les + opérateurs binaires sont de la forme + "-[a-zA-Z][a-zA-Z0-9_]+", autrement dit un signe moins + et au moins deux caractères. Le nom est insensible à la casse. Les + modules peuvent fournir des opérateurs binaires supplémentaires.

+ +

Opérateurs de comparaison

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NomAlternative Description
===Egalité de chaînes
!= + Inégalité de chaînes
< + Chaîne inférieure à
<= + Chaîne inférieure ou égale à
> + Chaîne supérieure à
>= + Chaîne supérieure ou égale à
=~ + La chaîne correspond à l'expression rationnelle
!~ + La chaîne ne correspond pas à l'expression rationnelle
-eqeqEgalité d'entiers
-neneInégalité d'entiers
-ltltEntier inférieur à
-leleEntier inférieur ou égal à
-gtgtEntier supérieur à
-gegeEntier supérieur ou égal à
+ + +

Autres opérateurs binaires

+ + + + + + + + + + + +
NomDescription
-ipmatchL'adresse IP correspond à adresse/masque
-strmatchla chaîne de gauche correspond au modèle constitué par la + chaîne de droite (contenant des caractères génériques *, ?, [])
-strcmatchidem -strmatch, mais insensible à la casse
-fnmatchidem -strmatch, mais les slashes ne sont pas + pris en compte par les caractères génériques
+ + +
top
+
+

Opérateurs unaires

+ + +

Les opérateurs unaires acceptent un seul argument et sont + de la forme "-[a-zA-Z]", + autrement dit le signe moins et un caractère. Le nom est + sensible à la casse. Les modules peuvent fournir des opérateurs + unaires supplémentaires.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NomDescriptionRemarques particulières
-dL'argument est traité comme un nom de fichier. + Vrai si le fichier existe et correspond à un + répertoireoui
-eL'argument est traité comme un nom de fichier. Vrai si le + fichier (ou dir ou special) existeoui
-fL'argument est traité comme un nom de fichier. Vrai si le + fichier existe et correspond à un fichier + régulieroui
-sL'argument est traité comme un nom de fichier. Vrai si le + fichier existe et n'est pas videoui
-LL'argument est traité comme un nom de fichier. Vrai si le + fichier existe et correspond à un lien + symboliqueoui
-hL'argument est traité comme un nom de fichier. Vrai si le + fichier existe et correspond à un lien symbolique + (identique à -L)oui
-FVrai si la chaîne correspond a un fichier valide, accessible + avec tous les contrôles d'accès configurés pour ce chemin. A + cette fin, une sous-requête effectue la vérification, et vous + devez utiliser ce drapeau avec soin car il peut impacter les + performances de votre serveur !
-UVrai si la chaîne correspond a une URL valide, accessible + avec tous les contrôles d'accès configurés pour ce chemin. A + cette fin, une sous-requête effectue la vérification, et vous + devez utiliser ce drapeau avec soin car il peut impacter les + performances de votre serveur !
-AAlias pour -U
-nVrai si la chaîne n'est pas vide
-zVrai si la chaîne est vide
-TFaux si la chaîne est vide, "0", + "off", "false", ou "no" + (insensibilité à la casse). Vrai dans le cas contraire.
-RIdem "%{REMOTE_ADDR} -ipmatch ...", en plus + efficace +
+ +

Les opérateurs marqués comme "restreints" ne sont pas disponibles + avec certains modules comme mod_include.

+ +
top
+
+

Fonctions

+ + +

Normalement, les fonctions dont la valeur est une chaîne acceptent une chaîne + comme argument et renvoient une chaîne. Les noms de fonctions sont + insensibles à la casse. Les modules peuvent fournir des fonctions + supplémentaires.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NomDescriptionNotes particulières
req, httpLit l'en-tête de requête HTTP ; les noms + d'en-tête correspondants peuvent être ajoutés + à l'en-tête Vary, + voir ci-dessous
req_novaryIdentique à req, mais aucun nom d'en-tête n'est + ajouté à l'en-tête Vary
respLit l'en-tête de réponse HTTP (La plupart des en-têtes de la réponse + ne seront pas encore définis pendant le traitement de la directive + <If>)
reqenvRecherche une variable d'environnement de requête (on + peut aussi utiliser le raccourci v). + ordonnancement
osenvRecherche une variable d'environnement du système + d'exploitation
noteRecherche une note de requêteordonnancement
envRenvoie le premier résultat positif de note, + reqenv, osenvordonnancement
tolowerConvertit une chaîne en minuscules
toupperConvertit une chaîne en majuscules
escapeEchappe les caractères spéciaux en codage hexadécimal
unescape"Déséchappe" les chaînes codées + en hexadécimal, en ne gardant encodés que les slashes; renvoie la chaîne vide + si la séquence %00 est rencontrée
base64Encode la chaîne en base64
unbase64Décode les chaînes codées en base64, renvoie une chaîne + tronquée si le caractère 0x00 est rencontré
md5Génère un hash de la chaîne en utilisant MD5, puis code le + hash obtenu en hexadécimal
sha1Génère un hash de la chaîne en utilisant SHA1, puis encode + le hash obtenu en hexadécimal
fileLit le contenu d'un fichier(fins de lignes incluses, si + elles existent)limité
filesizeRenvoie la taille d'un fichier (ou 0 si le fichier n'existe + pas ou ne correspond pas à un fichier régulier)limité
ldapEchappe les caractères selon la RFC4514 (Echappement des + noms distinctifs LDAP - DN) et la RFC4515 (Echappement des + filtres LDAP).
+ Disponible à partir de la version 2.4.53 du serveur HTTP + Apache.
+ +

Les fonctions marquées comme "limité" dans la dernière colonne ne sont + pas disponibles avec certains modules comme + mod_include.

+ +

Les fonctions marquées comme "ordonnancement" dans la dernière colonne + nécessitent une attention particulière pour l'ordonnancement des différents + composants du serveur, spécialement lorsque la fonction est utilisée au sein + d'une directive <If> qui est + évaluée relativement tôt.

+
+

Ordonnancement des variables d'environnement

+ Lorsque des variables d'environnement sont évaluées au sein d'une directive + <If>, il est important de tenir + compte du moment où cette évaluation intervient dans le traitement de la + requête. Par exemple, toute directive définie en dehors d'un contexte de + serveur virtuel (directory, location, htaccess) aura peu de chance d'être + déjà exécutée. Ainsi la directive SetEnvIf est une directive qui s'exécute + avant cette évaluation. +
+
+ Lorsque reqenv est utilisé en dehors de la directive + <If>, l'évaluation survient en + général plus tard, mais le moment exact dépend de la directive dans laquelle + l'expression a été utilisée. +
+ +

Lorsque les fonctions req ou http sont + utilisées, le nom d'en-tête sera automatiquement ajouté à l'en-tête + Vary de la réponse HTTP, sauf spécification contraire pour la + directive qui accepte l'expression comme paramètre. La + fonction req_novary permet d'empêcher l'ajout de noms + d'en-têtes à l'en-tête Vary.

+ +

En plus des fonctions dont la valeur est une chaîne, il existe + aussi des fonctions dont la valeur est une liste, qui acceptent une + chaîne comme argument, et renvoient une liste de mots, autrement dit + une liste de chaînes. La liste de mot peut être utilisée avec + l'opérateur spécial -in. Les noms de fonctions sont + insensibles à la casse. Les modules peuvent fournir des fonctions + supplémentaires.

+ +

Il n'existe pas de fonctions internes dont la valeur est une + liste. Le module mod_ssl fournit la fonction + PeerExtList. Voir la description de la directive + SSLRequire pour plus de + détails (notez que la fonction PeerExtList peut aussi + être utilisée en dehors de la directive SSLRequire).

+ +
top
+
+

Exemples d'expressions

+ + +

Les exemples suivants montent comment utiliser les + expressions pour évaluer les requêtes :

+ +
# Comparer le nom d'hôte avec example.com et rediriger vers
+# www.example.com si le nom d'hôte correspond
+<If "%{HTTP_HOST} == 'example.com'">
+    Redirect permanent "/" "http://www.example.com/"
+</If>
+
+# Forcer le type text/plain si un fichier fait l'objet d'une
+# requête dont la chaîne de paramètres contient 'forcetext'
+<If "%{QUERY_STRING} =~ /forcetext/">
+    ForceType text/plain
+</If>
+
+# N'autoriser l'accès à ce contenu que pendant les heures de
+# travail
+<Directory "/foo/bar/business">
+     Require expr %{TIME_HOUR} -gt 9 && %{TIME_HOUR} -lt 17
+</Directory>
+
+# Vérifie si un en-tête HTTP correspond à une des valeurs d'une liste
+<If "%{HTTP:X-example-header} in { 'foo', 'bar', 'baz' }">
+    La définition de l'en-tête correspond à une des valeurs recherchées
+</If>
+
+# Recherche la valeur d'une expression rationnelle dans une variable
+# d'environnement, et renvoie la négation du résultat.
+<If "! reqenv('REDIRECT_FOO') =~ /bar/">
+    La condition est vérifiée
+</If>
+
+# Vérifie le résultat de la recherche d'une correspondance d'URI dans un
+# contexte de répertoire avec l'option -f
+<Directory "/var/www">
+    AddEncoding x-gzip gz
+<If "-f '%{REQUEST_FILENAME}.unzipme' && ! %{HTTP:Accept-Encoding} =~ /gzip/">
+      SetOutputFilter INFLATE
+</If>
+</Directory>
+
+# Vérifie l'adresse IP du client
+<If "-R '192.168.1.0/24'">
+    Header set matched true
+</If>
+
+# Exemple de fonction dans un contexte booléen
+<If "md5('foo') == 'acbd18db4cc2f85cedef654fccc4a4d8'">
+  Header set checksum-matched true
+</If>
+
+# Function example in string context
+Header set foo-checksum "expr=%{md5:foo}"
+
+# L'exemple suivant retarde l'évaluation de la clause de condition par rapport à
+# <If>
+Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path\.php$#"
+
+# Journalisation conditionnelle
+CustomLog logs/access-errors.log common "expr=%{REQUEST_STATUS} >= 400"
+CustomLog logs/access-errors-specific.log common "expr=%{REQUEST_STATUS} -in {'405','410'}"
+ +
top
+
+

Autres

+ + + + + + + + + + + + + + +
NomAlternative Description
-ininchaîne contenue dans une liste de mots
/regexp/m#regexp#Expression rationnelle (la seconde forme permet de spécifier + des délimiteurs autres que /)
/regexp/im#regexp#iExpression rationnelle insensible à la casse
$0 ... $9 + Références arrières dans les expressions rationnelles
+ +

Références arrières dans les expressions rationnelles

+ +

Les chaînes $0 ... $9 permettent de + référencer les groupes de capture en provenance d'expressions + rationnelles précédemment exécutées et mises en correspondance avec + succès. Elles ne peuvent normalement être utilisées que dans la + même expression que celle mise en correspondance, mais certains + modules permettent de les utiliser de manière spéciale.

+ + +
top
+
+

Comparaison avec SSLRequire

+ +

La syntaxe ap_expr consiste principalement en une + surcouche de la syntaxe de la directive obsolète SSLRequire. Vous pouvez consulter la + liste de leur différences dans la documentation de la directive + SSLRequire.

+
top
+
+

Historique de version

+ +

La fonction req_novary est + disponible à partir de la version 2.4.4 du serveur HTTP Apache.

+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/faq/index.html b/docs/manual/faq/index.html new file mode 100644 index 0000000..6099102 --- /dev/null +++ b/docs/manual/faq/index.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/faq/index.html.en b/docs/manual/faq/index.html.en new file mode 100644 index 0000000..61ba9c1 --- /dev/null +++ b/docs/manual/faq/index.html.en @@ -0,0 +1,50 @@ + + + + + +Frequently Asked Questions - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Frequently Asked Questions

+
+

Available Languages:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ + +

The FAQ has been moved to the HTTP Server Wiki.

+
+
+
+

Available Languages:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/faq/index.html.es b/docs/manual/faq/index.html.es new file mode 100644 index 0000000..d5bb16b --- /dev/null +++ b/docs/manual/faq/index.html.es @@ -0,0 +1,50 @@ + + + + + +Preguntas Frecuentes - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Preguntas Frecuentes

+
+

Idiomas disponibles:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ + +

Las preguntas frecuentes se han movido a la Wiki de HTTP Server (en Inglés).

+
+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/faq/index.html.fr.utf8 b/docs/manual/faq/index.html.fr.utf8 new file mode 100644 index 0000000..1281ff5 --- /dev/null +++ b/docs/manual/faq/index.html.fr.utf8 @@ -0,0 +1,50 @@ + + + + + +Foire aux questions - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Foire aux questions

+
+

Langues Disponibles:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ + +

La FAQ a été transférée vers le Wiki du serveur HTTP.

+
+
+
+

Langues Disponibles:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/faq/index.html.tr.utf8 b/docs/manual/faq/index.html.tr.utf8 new file mode 100644 index 0000000..7be5f79 --- /dev/null +++ b/docs/manual/faq/index.html.tr.utf8 @@ -0,0 +1,50 @@ + + + + + +Sıkça Sorulan Sorular - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Sıkça Sorulan Sorular

+
+

Mevcut Diller:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ +

SSS belgesi HTTP Server + Wiki'ye taşındı.

+
+
+
+

Mevcut Diller:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/faq/index.html.zh-cn.utf8 b/docs/manual/faq/index.html.zh-cn.utf8 new file mode 100644 index 0000000..df67319 --- /dev/null +++ b/docs/manual/faq/index.html.zh-cn.utf8 @@ -0,0 +1,49 @@ + + + + + +常è§é—®é¢˜ - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

常è§é—®é¢˜

+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ +

常è§é—®é¢˜å·²ç»ç§»åˆ° HTTP æœåŠ¡å™¨ç»´åŸºã€‚

+
+
+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/filter.html b/docs/manual/filter.html new file mode 100644 index 0000000..1c3ff3e --- /dev/null +++ b/docs/manual/filter.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: filter.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: filter.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: filter.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: filter.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: filter.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: filter.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/filter.html.en b/docs/manual/filter.html.en new file mode 100644 index 0000000..1185e62 --- /dev/null +++ b/docs/manual/filter.html.en @@ -0,0 +1,183 @@ + + + + + +Filters - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Filters

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

This document describes the use of filters in Apache.

+
+ +
top
+
+

Filtering in Apache 2

+ + + +

The Filter Chain is available in Apache 2.0 and higher, +and enables applications to process incoming and outgoing data +in a highly flexible and configurable manner, regardless of +where the data comes from. We can pre-process incoming data, +and post-process outgoing data, at will. This is basically +independent of the traditional request processing phases.

+

+Filters can be chained, in a Data Axis orthogonal to request processing +

+

Some examples of filtering in the standard Apache distribution are:

+ +

Apache also uses a number of filters internally to perform +functions like chunking and byte-range handling.

+ +

A wider range of applications are implemented by third-party filter +modules. A few of these are:

+ +
    +
  • HTML and XML processing and rewriting
  • +
  • XSLT transforms and XIncludes
  • +
  • XML Namespace support
  • +
  • File Upload handling and decoding of HTML Forms
  • +
  • Image processing
  • +
  • Protection of vulnerable applications such as PHP scripts
  • +
  • Text search-and-replace editing
  • +
+
top
+
+

Smart Filtering

+ +

+Smart filtering applies different filter providers according to the state of request processing +

+

mod_filter, included in Apache 2.1 and later, +enables the filter chain to be configured dynamically at run time. +So for example you can set up a proxy to rewrite +HTML with an HTML filter and JPEG images with a completely +separate filter, despite the proxy having no prior information +about what the origin server will send. This works by using a +filter harness, that dispatches to different providers according +to the actual contents at runtime. Any filter may be either +inserted directly in the chain and run unconditionally, or +used as a provider and inserted dynamically. For example,

+
    +
  • an HTML processing filter will only run if the content is +text/html or application/xhtml+xml
  • +
  • A compression filter will only run if the input is a +compressible type and not already compressed
  • +
  • A charset conversion filter will be inserted if a text +document is not already in the desired charset
  • +
+
top
+
+

Exposing Filters as an HTTP Service

+ + +

Filters can be used to process content originating from the client in +addition to processing content originating on the server using the +mod_reflector module.

+ +

mod_reflector accepts POST requests from clients, and reflects +the content request body received within the POST request back in the response, +passing through the output filter stack on the way back to the client.

+ +

This technique can be used as an alternative to a web service running within +an application server stack, where an output filter provides the transformation +required on the request body. For example, the mod_deflate +module might be used to provide a general compression service, or an image +transformation filter might be turned into an image transformation service.

+ +
top
+
+

Using Filters

+ +

There are two ways to use filtering: Simple and Dynamic. +In general, you should use one or the other; mixing them can +have unexpected consequences (although simple Input filtering +can be mixed freely with either simple or dynamic Output filtering).

+

The Simple Way is the only way to configure input filters, and is +sufficient for output filters where you need a static filter chain. +Relevant directives are + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter, and + RemoveOutputFilter.

+ +

The Dynamic Way enables both static and flexible, dynamic configuration +of output filters, as discussed in the mod_filter page. +Relevant directives are + FilterChain, + FilterDeclare, and + FilterProvider.

+ +

One further directive AddOutputFilterByType is still supported, +but deprecated. Use dynamic configuration instead.

+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/filter.html.es b/docs/manual/filter.html.es new file mode 100644 index 0000000..11d006a --- /dev/null +++ b/docs/manual/filter.html.es @@ -0,0 +1,204 @@ + + + + + +Filtros - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Filtros

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ +

Este documento describe cómo usar filtros en Apache.

+
+ +
top
+
+

Filtros en Apache 2

+ + + +

La cadena de filtrado está disponible en Apache 2.0 y superiores. + Un filtro es un proceso que se aplica a los datos que + se reciben o se envían por el servidor. Los datos enviados + por los clientes al servidor son procesados por filtros de + entrada mientras que los datos enviados por el servidor se + procesan por los filtros de salida. A los datos se les + pueden aplicar varios filtros, y el orden en que se aplica cada + filtro puede especificarse explícitamente. + Todo este proceso es independiente de las tradicionales fase de + peticiones

+

+ Filters can be chained, in a Data Axis orthogonal to request processing +

+

Algunos ejemplos de filtrado en la distribución estándar de Apache son:

+
    +
  • mod_include, implementa server-side includes (SSI).
  • +
  • mod_ssl, implementa cifrado SSL (https).
  • +
  • mod_deflate, implementa compresión y descompresión en el acto.
  • +
  • mod_charset_lite, transcodificación entre diferentes juegos de caracteres.
  • +
  • mod_ext_filter, ejecuta un programa externo como filtro.
  • +
+

Los filtros se usan internamente por Apache para llevar a cabo + funciones tales como chunking y servir peticiones de + byte-range. Además, los módulos contienen filtros que se + pueden seleccionar usando directivas de configuración al + iniciar el servidor.

+ +

Una mayor amplitud de aplicaciones son implementadas con módulos de + filtros de terceros que estan disponibles en modules.apache.org y en otros lados. + algunos de ellos son:

+ +
    +
  • Procesamiento y reescritura de HTML y XML.
  • +
  • Transformaciones de XSLT y XIncludes.
  • +
  • Soporte de espacios de nombres en XML.
  • +
  • Manipulación de carga de archivos y decodificación de los + formularios HTML.
  • +
  • Procesamiento de imágenes.
  • +
  • Protección de aplicaciones vulnerables, tales como scripts PHP
  • +
  • Edición de texto de búsqueda y remplazo.
  • +
+
top
+
+

Filtrado Inteligente

+ +

+ Smart filtering applies different filter providers according to the state of request processing +

+

mod_filter, incluido en Apache 2.1 y posterior, + habilita la cadena de filtrado para ser configurada dinámicamente en + tiempo de ejecución. Así, por ejemplo, usted puede configurar un + proxy para que reescriba HTML con un filtro de HTML y imágenes JPEG + con filtros completos por separado, a pesar de que el proxy no tiene + información previa sobre lo que enviará al servidor de origen. + Esto funciona usando un engranaje filtros, que envía a diferentes + proveedores dependiendo del contenido en tiempo de ejecución. + Cualquier filtro puede ser, ya sea insertado directamente en la + cadena y ejecutado incondicionalmente, o usado como proveedor y + añadido dinámicamente + Por ejemplo:

+
    +
  • Un filtro de procesamiento de HTML sólo se ejecuta si el + contenido es text/html o application/xhtml + xml.
  • +
  • Un filtro de compresión sólo se ejecuta si la entrada es un tipo + compresible y no está ya comprimida.
  • +
  • Se insertará un filtro de conversión de juego de caracteres, + si un documento de texto no está ya en el juego de caracteres + deseado.
  • +
+
top
+
+

Filtros expuestos como un servicio HTTP

+ + +

Los filtros pueden ser usados para procesar contenido originado + desde el cliente además de usarse para procesar el contenido originado + desde el propio servidor usando el módulo mod_reflector.

+ +

mod_reflector acepta peticiones POST de los clientes, y + refleja el cuerpo de la petición POST recibida, dentro del contenido de la + respuesta de la petición, pasa a través de la pila del filtro de salida en + el camino de vuelta al cliente.

+ +

Esta técnica se puede utilizar como una alternativa a un servicio web + que se ejecuta en una pila de de aplicaciones dentro del servidor, + en donde el filtro de salida proporciona la transformación requerida en el + cuerpo de la petición. Por ejemplo, el módulo mod_deflate + puede ser usado para proporcionar un servicio de compresión general, + o un filtro de transformación de imagen, puede ser convertido en un + servicio de conversión de imágenes. +

+ +
top
+
+

Usando los Filtros

+ +

Hay dos formas de usar el filtrado: de forma Simple y Dinámica. + Generalmente, deberá usar una forma u otra; ya que mezclarlas puede + causar consecuencias inesperadas (a pesar de que reglas de Entrada de + tipo simple pueden ser combinadas libremente con reglas de filtrado + de Salidas de tipo simple o dinámico).

+

La forma más sencilla es la única manera de configurar filtros de + Entrada, y es suficiente para filtros de Salida donde se necesita una + cadena de filtros estática. + Las directivas más relevantes son: + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter, and + RemoveOutputFilter.

+ +

La forma Dinámica habilita ambas configuraciones estática, y dinámica, para los filtros de Salida, como se plantea en la página mod_filter. + Las directivas más relevantes son: + FilterChain, + FilterDeclare, and + FilterProvider.

+ +

Una directiva más como es AddOutputFilterByType sigue siendo + soportada pero esta obsoleta. Usa en cambio la configuración dinámica.

+ +
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/filter.html.fr.utf8 b/docs/manual/filter.html.fr.utf8 new file mode 100644 index 0000000..5a11ec1 --- /dev/null +++ b/docs/manual/filter.html.fr.utf8 @@ -0,0 +1,201 @@ + + + + + +Filtres - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Filtres

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Ce document décrit l'utilisation des filtres avec Apache.

+
+ +
top
+
+

Le filtrage avec Apache 2

+ + + +

La chaîne de filtrage est disponible depuis la version 2.0 d'Apache, +et permet aux applications de traiter les données en entrée et en sortie +d'une manière hautement flexible et configurable, quelle que soit la +provenance de ces données. Il est possible de pré-traiter les données +en entrée, et post-traiter les données en sortie, selon +vos souhaits. +Ces traitements sont tout à fait indépendants des traditionnelles phases +de traitement des requêtes.

+

+les filtres peuvent s'enchaîner, perpendiculairement au traitement des requêtes +

+

Voici quelques exemples de filtrage avec la distribution standard d'Apache:

+
    +
  • mod_include, implémente les inclusions côté serveur.
  • +
  • mod_ssl, implémente le cryptage SSL (https).
  • +
  • mod_deflate, implémente la compression/décompression +à la volée.
  • +
  • mod_charset_lite, transcodage entre différents +jeux de caractères.
  • +
  • mod_ext_filter, utilisation d'un programme externe +comme filtre.
  • +
+

Apache utilise aussi plusieurs filtres en interne pour accomplir des tâches +comme le découpage des grosses requêtes (chunking) et la gestion des +requêtes portant sur une partie d'un fichier (byte-range).

+ +

Un grand choix d'applications sont implémentées par des modules de filtrage +tiers. En voici quelques exemples :

+ +
    +
  • Traitement et réécriture HTML et XML
  • +
  • Transformations XSLT et inclusions XML (XIncludes)
  • +
  • Support de l'espace de nommage XML
  • +
  • Gestion du chargement de fichier et décodage des formulaires HTML
  • +
  • Traitement d'image
  • +
  • Protection des applications vulnérables comme les scripts PHP
  • +
  • Edition de texte par Chercher/Remplacer
  • +
+
top
+
+

Filtrage intelligent

+ +

+Le filtrage intelligent applique différents fournisseurs de filtrage en fonction de l'état du traitement de la requête +

+

mod_filter, inclus dans les version 2.1 et supérieures +d'Apache, permet de configurer la chaîne de filtrage dynamiquement +à l'exécution. +Ainsi par exemple, vous pouvez définir un proxy pour réécrire du code HTML +avec un filtre HTML et traiter des images JPEG avec un filtre totalement +séparé, bien que le proxy ne possède aucune information préliminaire +sur ce que le serveur à l'origine des données à filtrer va envoyer. +Ceci fonctionne grâce à l'utilisation d'un gestionnaire de filtre, +qui distribue les tâches à différents fournisseurs de filtrage en fonction +du contenu réel à filtrer à l'exécution. Tout filtre peut se voir soit +inséré directement dans la chaîne et lancé inconditionnellement, soit +utilisé comme un fournisseur de filtrage et inséré dynamiquement. +Par exemple,

+
    +
  • un filtre de traitement HTML sera lancé uniquement si le contenu est +de type text/html ou application/xhtml+xml
  • +
  • Un filtre de compression sera lancé uniquement si les données en entrée +sont de type compressible et non déjà compressées
  • +
  • Un filtre de conversion de jeux de caractères ne sera inséré que si +le document texte n'est pas déjà dans le jeu de caractères voulu
  • +
+
top
+
+

Présentation des filtres en tant que service HTTP

+ + +

Les filtres permettent de traiter les requêtes des clients avant +traitement par le serveur, ainsi que les contenus issus du serveur avant de les renvoyer +au client. Le module mod_reflector permet aussi +d'utiliser les filtres pour traiter les requêtes des clients avant de +les renvoyer directement à ces derniers.

+ +

Le module mod_reflector reçoit les requêtes POST des +clients, et en répercute le corps dans la requête POST constituant la +réponse, lors de l'envoi de cette dernière au client en passant à travers la +pile de filtres en sortie.

+ +

Cette technique peut être utilisée comme alternative à un service web +s'exécutant à l'intérieur de la pile d'un serveur d'applications, où un +filtre en sortie effectue la transformation requise sur le corps de la +requête. Par exemple, on peut utiliser le module +mod_deflate pour fournir un service général de +compression ; un filtre de transformation d'images peut aussi se voir +mué en service de transformation d'images.

+ +
top
+
+

Utilisation des filtres

+ +

Il y a deux manières d'utiliser le filtrage : Simple et Dynamique. +En général, vous utiliserez l'une ou l'autre méthode; le mélange des deux +peut avoir des conséquences inattendues (bien que le filtrage simple en entrée +puisse être associé sans problème avec le filtrage simple ou dynamique +en sortie).

+

La méthode Simple est la seule permettant de configurer les filtres +en entrée, et suffit pour les filtres en sortie pour lesquels vous avez besoin +d'une chaîne de filtres statique. +Les directives correspondantes sont + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter, et + RemoveOutputFilter.

+ +

La méthode Dynamique permet une configuration dynamique des filtres en +sortie à la fois statique et flexible, comme discuté dans la page +mod_filter. +Les directives correspondantes sont + FilterChain, + FilterDeclare, et + FilterProvider.

+ +

Une autre directive AddOutputFilterByType est encore supportée, +mais obsolète. Utilisez la +configuration dynamique à la place.

+ +
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/filter.html.ja.utf8 b/docs/manual/filter.html.ja.utf8 new file mode 100644 index 0000000..088b76e --- /dev/null +++ b/docs/manual/filter.html.ja.utf8 @@ -0,0 +1,112 @@ + + + + + +フィルタ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

フィルタ

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

Apache ã§ã®ãƒ•ã‚£ãƒ«ã‚¿ã®ä½¿ã„æ–¹ã«ã¤ã„ã¦è¨˜è¿°ã—ã¦ã„ã¾ã™ã€‚

+
+
top
+
+

フィルタ

+ + + +

フィルタ ã¨ã¯ã€ã‚µãƒ¼ãƒãŒé€å—ä¿¡ã—ãŸãƒ‡ãƒ¼ã‚¿ã« + é©ç”¨ã•ã‚Œã‚‹å‡¦ç†ãƒ—ロセスã®ã“ã¨ã‚’ã„ã„ã¾ã™ã€‚クライアントã‹ã‚‰ã‚µãƒ¼ãƒã« + é€ã‚‰ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã¯ 入力フィルタ ã«ã‚ˆã£ã¦ã€ã‚µãƒ¼ãƒã‹ã‚‰ + クライアントã«é€ã‚‰ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ã¯å‡ºåŠ›ãƒ•ã‚£ãƒ«ã‚¿ã«ã‚ˆã£ã¦ + 処ç†ã•ã‚Œã¾ã™ã€‚複数ã®ãƒ•ã‚£ãƒ«ã‚¿ã‚’é©ç”¨ã™ã‚‹ã“ã¨ãŒã§ã〠+ ãã®é †ç•ªã‚’厳密ã«æŒ‡å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

Apache 内部ã§ã¯ã€ãƒãƒ£ãƒ³ã‚¯ (データã®ã¶ã¤åˆ‡ã‚Š) ã‚’è¡Œã£ãŸã‚Šã€ + ãƒã‚¤ãƒˆç¯„囲ã®æŒ‡å®šã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã£ãŸã‚Šã¨ã„ã£ãŸæ©Ÿèƒ½ã‚’ + è¡Œã†éš›ã«ã€ãƒ•ã‚£ãƒ«ã‚¿ãŒä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚ãã‚Œã«åŠ ãˆã¦ã€ + 実行時ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§é¸æŠžãŒå¯èƒ½ãªãƒ•ã‚£ãƒ«ã‚¿ã‚’ + モジュールãŒæä¾›ã§ãã¾ã™ã€‚ + データã«é©å¿œã•ã‚Œã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã®ã‚»ãƒƒãƒˆã¯ã€ + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter, + RemoveOutputFilter + ディレクティブã§åˆ¶å¾¡ã§ãã¾ã™ã€‚

+ +

ç¾è¡Œã® Apache HTTP サーãƒã®é…布ã§ã¯ã€ + 次ã®ãƒ¦ãƒ¼ã‚¶é¸æŠžå¯èƒ½ãªãƒ•ã‚£ãƒ«ã‚¿ãŒæä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +
+
INCLUDES
+
mod_include 㧠Server-Side Include ã‚’ã—ã¾ã™ã€‚
+
DEFLATE
+
mod_deflate + を使ã£ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ä¿¡ã™ã‚‹å‰ã«å‡ºåŠ›ã‚’圧縮ã—ã¾ã™ã€‚
+
+ +

ã¾ãŸã€mod_ext_filter モジュール㧠+ 外部プログラムをフィルタã¨ã—ã¦æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/filter.html.ko.euc-kr b/docs/manual/filter.html.ko.euc-kr new file mode 100644 index 0000000..3e15587 --- /dev/null +++ b/docs/manual/filter.html.ko.euc-kr @@ -0,0 +1,108 @@ + + + + + +ÇÊÅÍ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

ÇÊÅÍ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡¿¡¼­ ÇÊÅ͸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+
+
top
+
+

ÇÊÅÍ

+ + + +

ÇÊÅÍ(filter)´Â ¼­¹ö°¡ º¸³»°Å³ª ¹Þ´Â ÀÚ·á¿¡ + Àû¿ëµÇ´Â ÀÛ¾÷ÀÌ´Ù. Ŭ¶óÀ̾ðÆ®°¡ ¼­¹ö¿¡°Ô º¸³»´Â ÀÚ·á´Â + ÀÔ·ÂÇÊÅÍ(input filter)°¡ ó¸®ÇÏ°í, ¼­¹ö°¡ + Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»´Â ÀÚ·á´Â Ãâ·ÂÇÊÅÍ(output filter)°¡ + ó¸®ÇÑ´Ù. ÀÚ·á¿¡ ¿©·¯ ÇÊÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ°í, Á÷Á¢ ÇÊÅÍÀÇ + ¼ø¼­¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +

¾ÆÆÄÄ¡´Â À̾î¹Þ±â(byte-range) ¿äû µîÀ» ó¸®ÇϱâÀ§ÇØ + ³»ºÎÀûÀ¸·Î ÇÊÅ͸¦ »ç¿ëÇÑ´Ù. ¶Ç, ¼³Á¤ Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© ¼±Åð¡´ÉÇÑ ÇÊÅ͸¦ Á¦°øÇÏ´Â ¸ðµâµµ ÀÖ´Ù. + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter, + RemoveOutputFilter + Áö½Ã¾î·Î ÀڷḦ ó¸®ÇÏ´Â ÇÊÅ͸¦ Á¶ÀýÇÑ´Ù.

+ +

ÇöÀç ¾ÆÆÄÄ¡ À¥¼­¹ö ¹èÆ÷º»Àº »ç¿ëÀÚ°¡ ¼±ÅÃÇÒ ¼ö ÀÖ´Â ´ÙÀ½°ú + °°Àº ÇÊÅ͸¦ Á¦°øÇÑ´Ù.

+ +
+
INCLUDES
+
mod_include°¡ ó¸®ÇÏ´Â Server-Side Includes
+
DEFLATE
+
mod_deflate¸¦ »ç¿ëÇÏ¿© Ãâ·ÂÀ» + Ŭ¶óÀ̾ðÆ®·Î º¸³»±â Àü¿¡ ¾ÐÃà +
+
+ +

¶Ç, mod_ext_filter ¸ðµâÀ» »ç¿ëÇÏ¿© + ¿ÜºÎ ÇÁ·Î±×·¥À» ÇÊÅÍ·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/filter.html.tr.utf8 b/docs/manual/filter.html.tr.utf8 new file mode 100644 index 0000000..2208d32 --- /dev/null +++ b/docs/manual/filter.html.tr.utf8 @@ -0,0 +1,194 @@ + + + + + +Süzgeçler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Süzgeçler

+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu belge, Apache’de süzgeç kullanımı hakkındadır.

+
+ +
top
+
+

Apache 2’de Süzme İşlemi

+ + +

Apache 2.0 ve sonrasında mevcut olan Süzgeç Zinciri, uygulamaların + nereden geldiğine bakmaksızın gelen ve giden verileri oldukça esnek ve + yapılandırılabilir tarzda işlemesini mümkün kılar. Böylece, gelen veriyi + bir takım ön işlemlerden geçirebilir, giden veriyi de son bir defa bazı + işlemlere sokabiliriz. Bu işlem temel olarak geleneksel istek işleme + aşamalarından bağımsızdır.

+ +

+ Süzgeçler, İstek işleme eksenine dik bir veri eksenine peş peşe  yerleştirilebilir. +

+ +

Standard Apache dağıtımıyla gelen süzgeç uygulamalarından bazıları:

+ +
    +
  • mod_include, sunucu taraflı içerik yerleÅŸtirmeyi + gerçekler.
  • +
  • mod_ssl, SSL ÅŸifrelemesini gerçekler (https).
  • +
  • mod_deflate, veri sıkıştırma/açma iÅŸlemlerini + çalışma anında gerçekleÅŸtirir.
  • +
  • mod_charset_lite, karakter kümeleri arasında + dönüşümü gerçekleÅŸtirir.
  • +
  • mod_ext_filter, harici bir yazılımı bir süzgeç + olarak çalıştırır.
  • +
+ +

Apache, bunlardan başka, bayt dizilerinin elde edilmesi ve içeriğin + bölünmesi gibi işlemleri gerçekleştirmek için bir takım dahili süzgeçler + de kullanabilir.

+ +

Üçüncü parti süzgeç modülleri tarafından gerçeklenmiş + modüllerden bazılarının uygulama alanları:

+ +
    +
  • HTML ve XML belgelerin iÅŸlenmesi ve yazılması
  • +
  • XSLT dönüşümleri ve XInclude’lar
  • +
  • XML Ä°sim-alanı desteÄŸi
  • +
  • HTML Formlarının çözümlenmesi ve sunucuya dosya yükleme
  • +
  • Resim iÅŸleme
  • +
  • PHP betikleri gibi zararlı olabilecek uygulamalardan korunma
  • +
  • Metin düzenleme ve arama iÅŸlemleri
  • +
+
top
+
+

Akıllı Süzme

+

+ Farklı süzgeç üreticilerinin uygulamaları istek işlemenin durumuna  bağlı olarak akıllıca uygulanabilir. +

+ +

mod_filter, Apache 2.1 ve sonrasında mevcut olup, + süzgeç zincirinin çalışma anında devingen olarak yapılandırılabilmesini + mümkün kılar. Böylece, örneğin, bir vekili, özgün sunucunun ne + göndereceğini bilmeden HTML’yi bir HTML süzgeciyle yazmaya ve JPEG + resimleri tamamen farklı bir süzgeçten geçirmeye ayarlayabilirsiniz. Bu, + asıl içeriğe bağlı olarak çalışma anında içeriği farklı içerik + sağlayıcılara dağıtan bir süzgeç düzeneği kullanılarak çalışır. Bir + süzgeç, doğrudan zincire yerleştirilip koşulsuz olarak + çalıştırılabileceği gibi bir içerik sağlayıcı gibi kullanılarak zincire + devingen olarak yerleştirilebilir. Örneğin:

+ +
    +
  • Bir HTML iÅŸleme süzgeci sadece içerik text/html veya + application/xhtml+xml olduÄŸu takdirde çalışır.
  • +
  • Bir sıkıştırma süzgeci sadece girdi sıkıştırılabilir nitelikteyse ve + sıkıştırılmamışsa çalışır.
  • +
  • Bir karakter kümesi dönüşüm süzgeci, bir metin belgesi istenen + karakter kümesine sahip deÄŸilse zincire yerleÅŸtirilir.
  • +
+
top
+
+

Süzgeçleri bir HTTP Hizmeti gibi göstermek

+ +

Süzgeçler, istemciden kaynaklanan içeriği işlemekte kullanılabileceği + gibi mod_reflector modülü kullanılarak sunucudan + kaynaklanan içeriği işlemekte de kullanılabilir.

+ +

mod_reflector istemcilerden gelen POST isteklerini + kabul eder ve çıktı süzgeç yığıtı yoluyla istemciye aktararak, POST + isteği içinde alınan içerik istek gövdesini yanıt içinde geri + gönderir.

+ +

Bu teknik, bir çıktı süzgeciyle istek gövdesinde gerekli dönüşümün + sağlandığı durumda, bir uygulama sunucusu yığıtı içinde çalışan bir http + hizmetinin yerine de kullanılabilir. Örneğin, + mod_deflate modülü genel bir sıkıştırma hizmeti + sağlamakta kullanılabilir veya bir resim dönüştürme süzgeci bir resim + dönüşüm hizmeti haline getirilebilir.

+ +
top
+
+

Süzgeçlerin Kullanımı

+

Süzgeçler iki şekilde kullanılır: Basit ve Devingen. + Genelde ikisinden biri kullanılır; karışık kullanılırsa istenmeyen + sonuçlara yol açabilir (ise de, basit girdi süzme ile çıktı süzme işlemi + basit olsun olmasın karışık kullanılabilir).

+ +

Basit yol, girdi süzgeçlerini yapılandırmanın tek yoludur ve bir + durağan süzgeç zincirinin gerektiği yerlerde çıktı süzgeçleri için + yeterlidir. İlgili yönergeler: + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter ve + RemoveOutputFilter.

+ +

Devingen yol, mod_filter belgesinde açıklandığı gibi, + çıktı süzgeçlerinin hem durağan hem de esnek ve devingen olarak + yapılandırılabilmesini mümkün kılar. İlgili yönergeler: + FilterChain, + FilterDeclare ve + FilterProvider.

+ +

AddOutputFilterByType yönergesi + hala desteklenmekteyse de kullanımı artık + önerilmemektedir. Onun yerine devingen yapılandırma kullanınız.

+ +
+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/getting-started.html b/docs/manual/getting-started.html new file mode 100644 index 0000000..5c47e99 --- /dev/null +++ b/docs/manual/getting-started.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: getting-started.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: getting-started.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: getting-started.html.ru.utf8 +Content-Language: ru +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/getting-started.html.en b/docs/manual/getting-started.html.en new file mode 100644 index 0000000..6cacc51 --- /dev/null +++ b/docs/manual/getting-started.html.en @@ -0,0 +1,254 @@ + + + + + +Getting Started - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Getting Started

+
+

Available Languages:  en  | + fr  | + ru 

+
+ +

If you're completely new to the Apache HTTP Server, or even to running +a website at all, you might not know where to start, or what questions to +ask. This document walks you through the basics.

+
+ +
top
+
+

Clients, Servers, and URLs

+ + +

+Addresses on the Web are expressed with URLs - Uniform Resource Locators +- which specify a protocol (e.g. http), a servername (e.g. +www.apache.org), a URL-path (e.g. +/docs/current/getting-started.html), and possibly a query +string (e.g. ?arg=value) used to pass additional +arguments to the server. +

+ +

A client (e.g., a web browser) connects to a server (e.g., your Apache HTTP Server), +with the specified protocol, and makes a request for a resource using the +URL-path.

+ +

The URL-path may represent any number of things on the server. It may +be a file (like getting-started.html) a handler (like server-status) or some kind of program +file (like index.php). We'll discuss this more below in +the Web Site Content section.

+ +

+The server will send a response consisting of a status +code and, optionally, a response body. +The status code indicates whether the request was successful, and, if not, what +kind of error condition there was. This tells the client what it should +do with the response. You can read about the possible response codes in +HTTP Server +wiki.

+ +

Details of the transaction, and any error conditions, are written to +log files. This is discussed in greater detail below in the Logs Files and Troubleshooting section.

+ +
top
+
+

Hostnames and DNS

+ + +

In order to connect to a server, the client will first have to resolve +the servername to an IP address - the location on the Internet where the +server resides. Thus, in order for your web server to be reachable, it +is necessary that the servername be in DNS.

+ +

If you don't know how to do this, you'll need to contact your network +administrator, or Internet service provider, to perform this step for +you.

+ +

More than one hostname may point to the same IP address, and more +than one IP address can be attached to the same physical server. Thus, you +can run more than one web site on the same physical server, using a +feature called virtual hosts.

+ +

If you are testing a server that is not Internet-accessible, you +can put host names in your hosts file in order to do local resolution. +For example, you might want to put a record in your hosts file to map a +request for www.example.com to your local system, for +testing purposes. This entry would look like:

+ +

+127.0.0.1 www.example.com +

+ +

A hosts file will probably be located at /etc/hosts or +C:\Windows\system32\drivers\etc\hosts.

+ +

You can read more about the hosts file at Wikipedia.org/wiki/Hosts_(file), and +more about DNS at Wikipedia.org/wiki/Domain_Name_System.

+
top
+
+

Configuration Files and Directives

+ + +

The Apache HTTP Server is configured via simple text files. +These files may be located any of a variety of places, depending on how +exactly you installed the server. Common locations for these files may +be found in +the httpd wiki. If you installed httpd from source, the default +location of the configuration files is +/usr/local/apache2/conf. The default configuration file is +usually called httpd.conf. This, too, can vary in +third-party distributions of the server.

+ +

The configuration is frequently broken into multiple smaller files, +for ease of management. These files are loaded via the Include directive. The names or locations of +these sub-files are not magical, and may vary greatly from one +installation to another. Arrange and subdivide these files as +makes the most sense to you. If the file arrangement +you have by default doesn't make sense to you, feel free to rearrange it.

+ +

The server is configured by placing configuration directives in these +configuration files. A directive is a keyword followed by one or more +arguments that set its value.

+ +

The question of "Where should I put that +directive?" is generally answered by considering where you want a +directive to be effective. If it is a global setting, it should appear +in the configuration file, outside of any <Directory>, <Location>, <VirtualHost>, or other section. If it is to +apply only to a particular directory, then it should go inside a +<Directory> section referring to +that directory, and so on. See the Configuration +Sections document for further discussion of these sections.

+ +

In addition to the main configuration files, certain directives may go in +.htaccess files located in the content directories. +.htaccess files are primarily for people who do not have +access to the main server configuration file(s). You can read more about +.htaccess files in the .htaccess howto.

+ +
top
+
+

Web Site Content

+ + +

Web site content can take many different forms, but may be broadly +divided into static and dynamic content.

+ +

Static content is things like HTML files, image files, CSS files, +and other files that reside in the filesystem. The DocumentRoot directive specifies where in your +filesystem you should place these files. This directive is either set +globally, or per virtual host. Look in your configuration file(s) to +determine how this is set for your server.

+ +

Typically, a document called index.html will be served +when a directory is requested without a file name being specified. For +example, if DocumentRoot is set to +/var/www/html and a request is made for +http://www.example.com/work/, the file +/var/www/html/work/index.html will be served to the +client.

+ +

Dynamic content is anything that is generated at request +time, and may change from one request to another. There are numerous +ways that dynamic content may be generated. Various handlers are available to generate content. CGI programs may be written to generate +content for your site.

+ +

Third-party modules like mod_php may be used to write code that does a +variety of things. Many third-party applications, written using a +variety of languages and tools, are available for download and +installation on your Apache HTTP Server. Support of these third-party +things is beyond the scope of this documentation, and you should find +their documentation or other support forums to answer your questions +about them.

+
top
+
+

Log Files and Troubleshooting

+ +

As an Apache HTTP Server administrator, your most valuable assets are +the log files, and, in particular, the error log. Troubleshooting any +problem without the error log is like driving with your eyes closed.

+ +

The location of the error log is defined by the ErrorLog directive, which may be set globally, +or per virtual host. Entries in the error log tell you what went wrong, +and when. They often also tell you how to fix it. Each error log message +contains an error code, which you can search for online for even more +detailed descriptions of how to address the problem. You can also +configure your error log to contain a log ID which you can then +correlate to an access log entry, so that you can determine what request +caused the error condition.

+ +

You can read more about logging in the logs +documentation.

+
top
+
+

What's next?

+ + +

Once you have the prerequisites under your belt, it's time to move +on.

+ +

This document covers only the bare basics. We hope that this gets you +started, but there are many other things that you might need to +know.

+ + + +
+
+

Available Languages:  en  | + fr  | + ru 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/getting-started.html.fr.utf8 b/docs/manual/getting-started.html.fr.utf8 new file mode 100644 index 0000000..5a916ef --- /dev/null +++ b/docs/manual/getting-started.html.fr.utf8 @@ -0,0 +1,279 @@ + + + + + +Pour démarrer - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Pour démarrer

+
+

Langues Disponibles:  en  | + fr  | + ru 

+
+ +

Si vous ne connaissez rien au serveur HTTP Apache, ou même au +fonctionnement d'un site web, vous vous demandez probablement par où +commencer et quelles questions poser. Ce document vous permettra de +parcourir les bases du sujet.

+
+ +
top
+
+

Clients, serveurs et URLs

+ + +

+Les adresses des pages web sur la Toile se présentent sous forme d'URLs +- Uniform Resource Locators - qui comportent un protocole (par + exemple http), un nom de serveur (par exemple + www.apache.org), un chemin (par exemple + /docs/current/getting-started.html), et le cas échéant + une chaîne de paramètres (query string) (par exemple ?arg=value) + permettant de transmettre des informations supplémentaires au serveur. +

+ +

Un client (par exemple un navigateur web) se connecte à un serveur +(par exemple votre serveur HTTP Apache) avec un protocole spécifique, et +effectue une requête pour une ressource en spécifiant +son chemin.

+ +

Un chemin peut représenter plusieurs types de ressources sur le +serveur. Ce peut être un fichier (comme +getting-started.html), un gestionnaire (comme server-status), ou toute sorte de +programme (comme index.php). Nous décrirons tout ceci plus +en détails ci-dessous dans la section Contenu d'un +site web.

+ +

+Le serveur envoie alors une réponse comportant un code +d'état, et éventuellement un corps de réponse. Le code d'état indique si +la requête a été traitée avec succès, ou dans la négative quel type +d'erreur a été rencontré. Le client est alors censé savoir quoi faire de +la réponse. Vous pouvez vous familiariser avec les différents codes +d'état en consultant le Wiki du +serveur HTTP Apache.

+ +

Les détails de la transaction, ainsi que les erreurs rencontrées, +sont enregistrés dans des fichiers journaux. Tout ceci est décrit en +détails ci-dessous dans la section Débogage et fichiers +journaux.

+ +
top
+
+

Noms d'hôte et DNS

+ + +

Pour se connecter à un serveur, le client doit tout d'abord traduire +le nom du serveur en adresse IP, cette dernière permettant de localiser +le serveur sur Internet. Ainsi, pour que votre serveur web soit +accessible, son nom doit être enregistré dans le DNS.

+ +

Si vous ne savez pas comment effectuer cet enregistrement, vous +devez contacter votre administrateur réseau ou votre fournisseur +d'accès à Internet afin qu'il effectue cette opération pour vous.

+ +

Plusieurs noms d'hôte peuvent pointer vers la même adresse IP, et +plusieurs adresses IP peuvent être attachées au même serveur physique. +Vous pouvez ainsi héberger plusieurs serveurs web sur le même serveur +physique grâce au mécanisme des serveurs virtuels.

+ +

Pour tester un serveur non encore accessible sur Internet, vous +pouvez renseigner son nom d'hôte dans votre fichier hosts afin +d'effectuer une résolution de nom locale. Par exemple, pour tester le +serveur web www.example.com depuis le serveur physique qui +l'héberge, vous pouvez ajouter la ligne suivante au fichier hosts de ce +dernier :

+ +

+127.0.0.1 www.example.com +

+ +

En général, le fichier hosts se trouve dans le répertoire +/etc sur les systèmes de style Unix, ou +C:\Windows\system32\drivers\etc sous Windows.

+ +

Vous trouverez plus de détails à propos du fichier hosts à Wikipedia.org/wiki/Hosts_(file), +et à propos du DNS à Wikipedia.org/wiki/Domain_Name_System.

+
top
+
+

Fichiers de configuration et directives

+ + +

La configuration du serveur HTTP Apache s'effectue via de simples +fichiers textes. Ces fichiers peuvent se trouver dans de nombreux +endroits différents en fonction du mode d'installation du serveur. Vous +trouverez les positions courantes de ces fichiers dans le wiki httpd. +Si vous installez httpd depuis le code source, le répertoire par défaut +des fichiers de configuration est /usr/local/apache2/conf. +Le nom du fichier de configuration par défaut est en général +httpd.conf, mais peut aussi varier en fonction des +distributions tierces du serveur.

+ +

L'ensemble de la configuration est en général divisé en plusieurs +fichiers afin d'en faciliter la gestion. Ces fichiers sont inclus dans +le fichier de configuration principal via la directive Include. Les noms ou positions de ces fichiers +ne sont pas figés et peuvent varier considérablement d'une distribution +à l'autre. N'hésitez pas à les arranger et subdiviser selon +vos goûts et besoins, quitte à en modifier +l'organisation par défaut.

+ +

La configuration du serveur s'effectue via des directives de configuration que l'on +insère dans les fichiers de configuration. Une directive se compose d'un +mot-clé suivi d'un ou plusieurs arguments qui définissent sa valeur.

+ +

La réponse à la question "Où dois-je placer cette directive +?" dépend en général du niveau auquel cette directive doit être +prise en compte. S'il s'agit du niveau global, elle doit être placée +dans le fichier de configuration principal, et en dehors de toute +section <Directory>, <Location>, <VirtualHost>, ou de toute autre section. Si +par exemple elle ne doit s'appliquer qu'à un répertoire particulier, +elle doit être placée dans la section <Directory> qui fait référence à ce répertoire. +Voir la documentation sur les Sections de +configuration pour plus de détails.

+ +

En complément des fichiers de configuration principaux, certaines +directives peuvent être insérées dans des fichiers +.htaccess que l'on place directement dans le répertoire +concerné. Les fichiers .htaccess sont essentiellement +destinés aux personnes qui n'ont pas accès aux fichiers de configuration +du serveur. Vous trouverez plus de détails à propos des fichiers +.htaccess dans ce .htaccesshowto.

+ +
top
+
+

Contenu du site web

+ + +

Si le contenu du site web peut se présenter sous de nombreuses +formes, il en existe deux principales : les +contenus statiques et les contenus dynamiques.

+ +

Les contenus statiques sont par exemple les fichiers HTML, les +images, les fichiers CSS et tout autre fichier résidant dans le système +de fichiers. La directive DocumentRoot permet de définir la position +dans l'arborescence du site où vous devez placer ces fichiers. Cette +directive peut être définie au niveau global, ou au niveau de chaque +serveur virtuel. Vous pouvez consulter vos fichiers de configuration +pour vérifier la manière dont cette directive est définie pour votre +serveur.

+ +

En général, et si aucun nom de fichier n'est spécifié dans la +requête, c'est une page de nom index.html qui sera +renvoyée. Par exemple, si la directive DocumentRoot est +définie à /var/www/html, et si une requête est effectuée +pour l'adresse http://www.example.com/work/, c'est le +fichier /var/www/html/work/index.html qui sera envoyé au +client par le serveur.

+ +

Un contenu dynamique est un contenu qui est généré au moment du +traitement de la requête, et qui peut différer d'une requête à l'autre. +Ces contenus dynamiques peuvent être générés de nombreuses manières par +l'intermédiaire de gestionnaires de contenu +ou "handlers". Il est aussi possible de créer des programmes CGI pour générer le contenu de +votre site.

+ +

Enfin, on peut utiliser des modules tiers comme mod_php pour écrire +du code permettant d'effectuer de nombreuses choses. De nombreuses +applications tierces écrites à partir de divers langages ou outils sont +disponibles en téléchargement et peuvent être installées sur votre +serveur HTTP Apache. Le support de ces applications est en dehors du sujet de +ce document, et nous vous invitons à consulter le site de leur éditeur +pour accéder à leur documentation.

+
top
+
+

Fichiers journaux et résolution des problèmes

+ +

En tant qu'administrateur d'un serveur HTTP Apache, vos sources +d'informations principales sont les fichiers journaux, et en particulier +le journal des erreurs. Toute tentative de résolution d'un problème sans +consulter le journal des erreurs revient à essayer de conduire les yeux +fermés.

+ +

La position dans le système de fichiers du journal des erreurs est +spécifiée par la directive ErrorLog +qui peut être définie au niveau global, ou au niveau de chaque serveur +virtuel. Chaque entrée du journal des erreurs vous informe sur la nature +des problèmes et le moment de leur survenue. En outre, elle vous indique +souvent comment résoudre le problème. Chaque message d'erreur contient +un code d'erreur que vous pouvez utiliser pour effectuer une recherche +en ligne afin d'obtenir une description plus détaillée de la manière de +résoudre le problème. Vous pouvez aussi configurer votre journal des +erreurs de manière à ce qu'il enregistre un identifiant d'erreur que +vous pourrez ensuite utiliser pour effectuer une corrélation avec le +journal des accès afin de déterminer quelle requête est à l'origine de +l'erreur.

+ +

Vous trouverez plus de détails à ce sujet dans la Documentation sur la journalisation.

+
top
+
+

Et maintenant, comment faire pour aller plus loin ?

+ + +

La question des prérequis étant réglée, il est temps de passer aux +choses sérieuses.

+ +

Ce document ne couvre que les notions de base. Nous espérons qu'il +vous permettra de mettre le pied à l'étrier, mais il y a encore de +nombreuses choses que vous devez savoir.

+ + + +
+
+

Langues Disponibles:  en  | + fr  | + ru 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/getting-started.html.ru.utf8 b/docs/manual/getting-started.html.ru.utf8 new file mode 100644 index 0000000..62ae3f5 --- /dev/null +++ b/docs/manual/getting-started.html.ru.utf8 @@ -0,0 +1,271 @@ + + + + + +Ðачало работы - HTTP Ñервер Apache ВерÑÐ¸Ñ 2.4 + + + + + + + +
<-
+

Ðачало работы

+
+

Available Languages:  en  | + fr  | + ru 

+
+ +

ЕÑли вы абÑолютный новичок в работе Ñ HTTP-Ñервером Apache или +в запуÑке веб-Ñайтов вообще, вы можете не знать Ñ Ñ‡ÐµÐ³Ð¾ начать или какие +вопроÑÑ‹ задавать. Этот документ познакомит Ð²Ð°Ñ Ñ Ð¾Ñновами.

+
+ +
top
+
+

Клиенты, Ñерверы и URL-адреÑа

+ + +

ÐдреÑа в Интернете запиÑываютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ URL — Uniform Resource +Locator (унифицированный указатель реÑурÑа), который указывает на +иÑпользуемый протокол (например, http), Ð¸Ð¼Ñ Ñервера +(например, www.apache.org), URL-путь (например, +/docs/current/getting-started.html) и, возможно, +Ñтроку запроÑа (например, ?arg=value), иÑпользуемую Ð´Ð»Ñ +передачи Ñерверу дополнительных аргументов.

+ +

Клиент (например, веб-браузер) подключаетÑÑ Ðº Ñерверу +(например, вашему HTTP-Ñерверу Apache), иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ протокол, +и отправлÑет Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° реÑурÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ URL-путь.

+ +

URL-путь может обозначать множеÑтво вещей на Ñервере. Это может быть +файл (как getting-started.html), обработчик +(как server-status) или файл какой-то +программы (как index.php). Мы раÑÑмотрим Ñто подробней ниже, +в разделе Контент веб-Ñайта.

+ +

Сервер отправлÑет ответ, Ñодержащий код ÑоÑтоÑÐ½Ð¸Ñ Ð¸, +опционально, тело ответа. Код ÑоÑтоÑÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚, был ли Ð·Ð°Ð¿Ñ€Ð¾Ñ ÑƒÑпешно +обработан, а еÑли нет, то ÐºÐ°ÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° произошла. +Это говорит клиенту, что он должен делать Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð¼. +Ð’Ñ‹ можете прочитать о возможных кодах ответа на + +Вики HTTP-Ñервера Apache.

+ +

Детали транзакции и уÑÐ»Ð¾Ð²Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ запиÑываютÑÑ +в файлы журналов. Это опиÑываетÑÑ Ð±Ð¾Ð»ÐµÐµ подробно ниже, в разделе +Файлы журналов и уÑтранение неполадок.

+ +
top
+
+

Имена хоÑтов и DNS

+ + +

Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы ÑоединитьÑÑ Ñ Ñервером, клиент Ñначала должен преобразовать +Ð¸Ð¼Ñ Ñервера в IP-Ð°Ð´Ñ€ÐµÑ â€” меÑто в Интернете, где находитÑÑ Ñервер. +Таким образом, чтобы ваш веб-Ñервер был доÑтупен, необходимо, +чтобы Ð¸Ð¼Ñ Ñервера было в DNS.

+ +

ЕÑли вы не знаете как Ñто Ñделать, вам нужно обратитьÑÑ Ðº Ñетевому +админиÑтратору или поÑтавщику уÑлуг Интернета (провайдеру). +Они могут Ñделать Ñто Ð´Ð»Ñ Ð²Ð°Ñ.

+ +

ÐеÑколько хоÑтов могут указывать на один и тот же IP-адреÑ, +а один физичеÑкий Ñервер может иметь больше одного IP-адреÑа. +Таким образом на одном физичеÑком Ñервере вы можете запуÑтить больше одного +Ñайта Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ оÑобенноÑти: виртуальные хоÑÑ‚Ñ‹.

+ +

ЕÑли вы теÑтируете Ñервер, не имеющий выхода в Интернет, можете помеÑтить +имена хоÑтов в файл hosts Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ что бы Ð¸Ð¼Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°Ð»Ð¾ÑÑŒ локально. +Ðапример, вы можете добавить запиÑÑŒ Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ запроÑов к +www.example.com на локальный компьютер, Ð´Ð»Ñ Ñ‚ÐµÑтированиÑ. +Эта запиÑÑŒ будет выглÑдеть так:

+ +

+127.0.0.1 www.example.com +

+ +

Файл hosts, Ñкорее вÑего, раÑположен в /etc/hosts или +C:\Windows\system32\drivers\etc\hosts.

+ +

Вы можете узнать больше о файле +hosts и больше о +DNS.

+
top
+
+

Файлы конфигурации и директивы

+ + +

HTTP-Ñервер Apache наÑтроен Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ проÑÑ‚Ñ‹Ñ… текÑтовых файлов. +Эти файлы могут раÑполагатьÑÑ Ð² разных меÑтах, в завиÑимоÑти от того как вы +уÑтановили Ñервер. Общие меÑта раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² можно найти в +Вики +HTTP-Ñервера Apache. ЕÑли вы уÑтановили httpd из иÑходного кода, +то раÑположение файлов конфигурации по умолчанию Ñледующее: +/usr/local/apache2/conf. +По умолчанию файл конфигурации называетÑÑ httpd.conf. +Это тоже может варьироватьÑÑ Ð² Ñторонних диÑтрибутивах Ñервера.

+ +

ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñ‡Ð°Ñто разбиваетÑÑ Ð½Ð° неÑколько небольших файлов, Ð´Ð»Ñ +удобÑтва управлениÑ. Эти файлы загружаютÑÑ Ñ‡ÐµÑ€ÐµÐ· директиву +Include. +Имена или раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñтих файлов конфигурации +могут Ñильно отличатьÑÑ Ð¾Ñ‚ одной уÑтановки к другой. +РаÑположите и разделите Ñти файлы наиболее подходÑщим Ð´Ð»Ñ +Ð²Ð°Ñ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð¼. ЕÑли раÑположение файлов по умолчанию, +не имеет ÑмыÑла Ð´Ð»Ñ Ð²Ð°Ñ, не ÑтеÑнÑйтеÑÑŒ изменить его.

+ +

Сервер наÑтраиваетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ +директив конфигурации в Ñтих файлах конфигурации. +Директива — Ñто ключевое Ñлово Ñ Ð¾Ð´Ð½Ð¸Ð¼ или неÑколькими аргументами, +уÑтанавливающими её значение.

+ +

Ðа вопроÑ: «Где Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ пропиÑать Ñту директиву?» – обычно +отвечают, там где Ñ‚Ñ‹ хочешь иÑпользовать её. ЕÑли Ñто Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ Ð½Ð°Ñтройка, +она должна раÑполагатьÑÑ Ð² конфигурационном файле вне разделов +<Directory>, +<Location>, +<VirtualHost> или других +разделов. ЕÑли наÑтройка отноÑитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к конкретному каталогу, +значит она должна быть внутри Ñекции +<Directory>, +ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð¿Ð¸Ñывает Ñтот каталог, и так далее. +Смотри документ Разделы конфигурации +Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ñ‹Ð¼ опиÑанием вышеуказанных разделов.

+ +

Ð’ дополнение к оÑновному файлу конфигурации, некоторые директивы могут +раÑполагатьÑÑ Ð² файлах .htaccess, раÑположенных в папках Ñ +контентом. Файлы .htaccess в первую очередь предназначены Ð´Ð»Ñ +людей у которых нет доÑтупа к главному конфигурационному файлу Ñервера. +Ð’Ñ‹ можете узнать больше о файлах .htaccess в инÑтрукции +.htaccess.

+ +
top
+
+

Контент веб-Ñайта

+ + +

Содержимое Ñайта может принимать различные формы, но в широком ÑмыÑле +разделÑетÑÑ Ð½Ð° ÑтатичеÑкий и динамичеÑкий контент.

+ +

СтатичеÑкий контент — Ñто, например, HTML-файлы, файлы изображений, +CSS-файлы и другие файлы, которые проÑто лежат на диÑке. +Директива DocumentRoot указывает +где в вашей файловой ÑиÑтеме, вы должны размеÑтить Ñти файлы. +Эта директива уÑтанавливаетÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾ или отдельно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ +виртуального хоÑта. ПоÑмотрите в Ñвоём файле(ах) конфигурации, +чтобы узнать, как именно Ñта директива иÑпользуетÑÑ Ð½Ð° вашем Ñервере.

+ +

Обычно, когда запрашиваетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³, без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ файла, то будет +отдан документ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ index.html. Ðапример, еÑли Ð´Ð»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñ‹ +DocumentRoot уÑтановлено значение /var/www/html +и приходит Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° Ð°Ð´Ñ€ÐµÑ +http://www.example.com/work/, +то файл раÑположенный по пути +/var/www/html/work/index.html +будет отдан клиенту.

+ +

ДинамичеÑкий контент — Ñто вÑÑ‘ что генерируетÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа и может +изменÑÑ‚ÑŒÑÑ Ð¾Ñ‚ запроÑа к запроÑу. СущеÑтвует множеÑтво ÑпоÑобов ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ +динамичеÑкого контента. Различные обработчики +доÑтупны Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñодержимого. Могут быть напиÑаны Ñпециальные +CGI программы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ контента на Ñайте.

+ +

Ð”Ð»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð° Ñ Ñ€Ð°Ð·Ð½Ð¾Ð¾Ð±Ñ€Ð°Ð·Ð½Ñ‹Ð¼ функционалом +могут иÑпользоватьÑÑ Ñторонние модули, такие как mod_php. +МножеÑтво Ñторонних приложений, напиÑанных на различных Ñзыках +программированиÑ, и утилит доÑтупны Ð´Ð»Ñ ÑÐºÐ°Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸ уÑтановки +на ваш HTTP-Ñервер Apache. +Поддержка Ñторонних продуктов выходит за рамки Ñтой документации. +При необходимоÑти вы должны ÑамоÑтоÑтельно найти их документацию +или форумы поддержки, где вы Ñможете получить ответы на Ñвои вопроÑÑ‹.

+
top
+
+

Файлы журналов и уÑтранение неполадок

+ +

Ð”Ð»Ñ Ð²Ð°Ñ, как админиÑтратора HTTP-Ñервера Apache, +Ñамые ценные активы — Ñто файлы журналов (лог-файлы), +в чаÑтноÑти, журнал ошибок. ИÑправление любой проблемы без журнала ошибок +можно Ñравнить Ñ Ð²Ð¾Ð¶Ð´ÐµÐ½Ð¸ÐµÐ¼ Ð°Ð²Ñ‚Ð¾Ð¼Ð¾Ð±Ð¸Ð»Ñ Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼Ð¸ глазами.

+ +

РаÑположение журнала ошибок задаётÑÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¾Ð¹ +ErrorLog, +ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть уÑтановлена глобально или Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ виртуального хоÑта. +ЗапиÑи в журнале ошибок раÑÑкажут вам, что и когда пошло не так. +ЗачаÑтую они также Ñмогут подÑказать, как что-то иÑправить. +ÐšÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в журнале ошибок Ñодержит код ошибки, +по которому вы можете поиÑкать в Интернете более подробное +опиÑание того, как решить проблему. +Ð’Ñ‹ также можете наÑтроить журнал ошибок так, чтобы в него запиÑывалÑÑ +идентификатор журнала, который можно ÑопоÑтавить Ñ Ð·Ð°Ð¿Ð¸ÑÑми в журнале +доÑтупа — Ñто поможет определить, какой Ð·Ð°Ð¿Ñ€Ð¾Ñ ÐºÐ°ÐºÑƒÑŽ ошибку вызвал.

+ +

Больше о логирование вы можете узнать в +документации о журналах.

+
top
+
+

Что дальше?

+ + +

Теперь, когда вы знакомы Ñ Ð¾Ñновами, пора двигатьÑÑ Ð´Ð°Ð»ÑŒÑˆÐµ.

+ +

Этот документ Ñодержит только базовую информацию. +Мы надеемÑÑ, что она поможет вам начать работу, +но еÑÑ‚ÑŒ множеÑтво других вещей, о которых вам, возможно, нужно узнать.

+ + + +
+
+

Available Languages:  en  | + fr  | + ru 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html b/docs/manual/glossary.html new file mode 100644 index 0000000..9c493ca --- /dev/null +++ b/docs/manual/glossary.html @@ -0,0 +1,29 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: glossary.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: glossary.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: glossary.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: glossary.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: glossary.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: glossary.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: glossary.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/glossary.html.de b/docs/manual/glossary.html.de new file mode 100644 index 0000000..3ce84ce --- /dev/null +++ b/docs/manual/glossary.html.de @@ -0,0 +1,583 @@ + + + + + +Glossar - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Glossar

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Dieses Glossar erläutert einige gebräuchliche Fachbegriffe im + Zusammenhang mit dem Apache im Speziellen und Web-Diensten im + Allgemeinen. Weitere Informationen zum jeweiligen Begriff erreichen Sie + über die Links.

+
+
top
+
+

Definitionen

+ +
+
Algorithmus
+
Eine eindeutige Formel oder ein Satz von Regeln zur Lösung eines + Problems in einer endlichen Anzahl von Schritten. Algorithmen zur + Verschlüsselung werden üblicherweise Chiffre genannt. +
+ +
APache + eXtension Tool (apxs)
+
Ein Perl-Skript zur Kompilierung von Modul-Quelltexten zu Dynamic-Shared-Objects + (DSOs) und zur Installation dieser zum + Apache-Webserver.
+ Siehe: apxs-Dokumentation +
+ +
Apache Portable Runtime (APR)
+
Eine Menge von Bibliotheken, die viele grundlegende Schnittstellen + zwischen dem Server und dem Betriebssystem anbietet. Die APR + wird parallel zum Apache HTTP Server in einem eigenständigen Projekt + entwickelt.
+ Siehe auch: Apache Portable Runtime + Project +
+ +
Authentifizierung
+
Die positive Identifizierung einer Netzwerkeinheit, wie z.B. + eines Servers, eines Clients oder eines Benutzers.
+ Siehe: Authentisierung, Autorisierung und + Zugriffskontrolle +
+ +
Certification Authority + [səˈtifiˈkeiʃən + ɔːθɔriti] + (CA)
+
(Anm.d.Ü.: die Zertifizierungsstelle) Eine + vertrauenswürdige dritte Partei, deren Zweck es ist, + Zertifikate für Netzwerkeinheiten zu signieren. Andere + Netzwerkeinheiten können die Signatur prüfen, um + sicherzustellen, dass eine CA den Inhaber eines Zertifikats + authentifiziert hat.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Certificate Signing Request + [səˈtifikit sainiŋ + riˈkwest] (CSR)
+
(Anm.d.Ü.: Zertifikats-Signierungsanfrage) Ein unsigniertes + Zertifikat zur Einreichung bei + einer Zertifizierungsstelle, welche + es mit dem privaten Schlüssel + ihres CA-Zertifikats signiert. Durch die Signatur wird ein CSR + zum echten Zertifikat.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Chiffre
+
Die Chiffre ist ein Algorithmus oder System zur + Datenverschlüsselung. Beispiele sind DES, IDEA, RC4 usw. Im + Englischen spricht man von + Cipher [ˈsaifə]
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Chiffretext
+
Das Ergebnis, nachdem ein Klartext + eine Chiffre durchlaufen hat.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Common + Gateway Interface [ˈkɔmən geitwei + ˈintəːfeis] + (CGI)
+
Eine einheitliche Definition einer Schnittstelle zwischen einem + Webserver und einem externen Programm, welcher dem externen Programm die + Behandlung von Anfragen ermöglicht. Die Schnittstelle ist + ursprünglich von der NCSA + definiert worden. Es exisitert jedoch auch ein RFC-Projekt.
+ Siehe: Dynamische Inhalte mit CGI +
+ +
CONNECT + [kənekt]
+
Eine HTTP-Methode zur Weiterleitung + von Rohdaten über HTTP. Sie kann dazu verwendet werden, andere + Protokolle wie zum Beispiel das SSL-Protokoll zu kapseln. +
+ +
Digitale + Signatur
+
Ein chiffrierter Textblock, der die Gültigkeit eines Zertifikats + oder einer anderen Datei bestätigt. Eine Zertifizierungsstelle erstellt + eine digitale Signatur durch Generierung eines Hashs aus dem in einem Zertifikat + enthaltenen öffentlichen Schlüssel und + anschließender Codierung des Hashs mit dem privaten + Schlüssel des Zertifikats. Nur der öffentliche + Schlüssel der CA kann die Signatur decodieren. So wird + sichergestellt, dass die CA die Netwerkeinheit, welche das + Zertifikat besitzt, authentifiziert hat.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Direktive
+
Eine Konfigurationsanweisung, die das Verhalten des Apache in einem + oder mehreren Punkten steuert. Direktiven werden in den Konfigurationsdateien gesetzt.
+ Siehe: Verzeichnis der Direktiven +
+ +
Dynamic + Shared Object + [daiˈnæmik ʃɛəd + ˈɔbdʒikt] (DSO)
+
Separat von der Apache-Binärdatei httpd + kompilierte Module, die bei Bedarf + geladen werden können.
+ Siehe: Unterstützung für + Dynamic-Shared-Objects +
+ +
exportbeschränkt
+
Verminderte kryptografische Stärke (und Sicherheit), um den + Exportbesimmungen der Vereinigten Staaten (Anm.d.Ü.: konkret: United + States' Export Administration Regulations (EAR)) zu + entsprechen. Exportbeschränkte Verschlüsselungssoftware ist + auf eine kurze Schlüssellänge begrenzt, was zu + Chiffretexten führt, die gewöhnlich mittels + Brute-Force dekodiert werden können.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Filter
+
Ein Verfahren, dass auf vom Server empfangene oder zu sendende Daten + angewendet wird. Eingabefilter verarbeiten vom Client an den Server + gesendetet Daten, während Ausgabefilter vom Server an den Client zu + sendende Daten verarbeiten. Der Ausgabefilter INCLUDES + beispielsweise untersucht Dokumente nach Server-Side-Includes und führt sie aus.
+ Siehe: Filter +
+ +
Handler + [ˈhændlə]
+
Eine Apache-interne Darstellung der Aktion, die beim Aufruf einer + Datei auszuführen ist. Im Allgemeinen besitzen Dateien implizite, + auf dem Dateityp basierende Handler. Gewöhnlich werden alle Dateien + vom Server bedient, einige Dateitypen werden jedoch separat "behandelt" + (Anm.d.Ü.: besitzen einen separaten Handler). Der + cgi-script-Handler beispielsweise kennzeichnet Dateien, die + als CGI-Programme ausgeführt werden + sollen.
+ Siehe: Verwendung von Apache-Handlern +
+ +
Hash + [hæʃ]
+
Ein mathematischer, unumkehrbarer Einweg-Algorithmus zur Generierung + einer Zeichenfolge fester Länge aus einer anderen Zeichenfolge + beliebiger Länge. Unterschiedliche Zeichenfolgen bei der Eingabe + ergeben üblischerweise unterschiedliche Hashes (abhängig von + der Hash-Funktion). +
+ +
Header + [hedə]
+
Der Teil der HTTP-Anfrage und -Antwort, + der vor den eigentlichen Daten übermittelt wird und den Inhalt + beschreibende Meta-Informationen enthält. +
+ +
.htaccess
+
Eine Konfigurationsdatei, + die innerhalb des Web-Verzeichnisbaums abgelegt wird und zu dem + Verzeichnis, in dem sie abgelegt ist, sowie allen Unterverzeichnissen + Konfigurationsdirektiven + enthält. Trotz ihres Namens kann diese Datei nahezu alle Arten von + Direktiven enthalten, nicht nur Direktiven zur Zugriffskontrolle.
+ Siehe: Konfigurationsdateien +
+ +
httpd.conf
+
Die Haupt-Konfigurationsdatei ist + /usr/local/apache2/conf/httpd.conf. Dies kann aber zur + Laufzeit oder zur Kompilierungszeit anders konfiguriert werden.
+ Siehe: Konfigurationsdateien +
+ +
HTTPS
+
Das HyperText-Transfer-Protokoll (Secure), der + Standard-Verschlüsselungsmechanismus im World Wide Web. + Tatsächlich handelt es sich hierbei um HTTP über SSL.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
HyperText-Transfer-Protokoll + (HTTP)
+
Das Standard-Übertragungsprotokoll im World Wide Web. Der Apache + implementiert die Protokollversion 1.1, bezeichnet als HTTP/1.1 und + definiert in RFC 2616. +
+ +
Klartext
+
Der unverschlüsselte Text.
+ +
Konfigurationsanweisung
+
Siehe: Direktive
+ +
Konfigurationsdatei
+
Eine Textdatei mit Direktiven, + welche die Konfiguration des Apache steuern.
+ Siehe: Konfigurationsdateien +
+ +
Kontext
+
Ein Bereich in den Konfigurationsdateien, in dem + verschiedene Typen von Direktiven + erlaubt sind.
+ Siehe: Erklärung der + Fachbegriffe zu Apache-Direktiven +
+ +
Message-Digest + [ˈmesidʒ]
+
Ein Hash einer Nachricht, mit dem sich sicherstellen läßt, + dass der Inhalt der Nachricht während der Übertragung nicht + verändert wurde. (Anm.d.Ü.: ein so genannter Extrakt der + Nachricht)
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Methode
+
Im HTTP-Kontext eine in der + Anfrage(zeile) des Clients angegeben Aktion, die auf eine Ressource + angewendet wird. GET, POST und PUT + sind einige der verfügbaren HTTP-Methoden. +
+ +
MIME-Typ + [maim tyːp]
+
Eine Art und Weise, den Typ des übermittelten Dokuments zu + beschreiben. Sein Name leitet sich davon ab, dass sein Format den + Multipurpose Internet Mail Extensions entlehnt wurde. Er besteht aus + einem Haupttyp und einem Untertyp, getrennt durch einen + Schrägstrich. Einige Beispiele sind text/html, + image/gif und application/octet-stream. + Bei HTTP wird der MIME-Typ mit dem Header Content-Type + übermittelt.
+ Siehe: mod_mime +
+ +
Modul
+
Ein selbstständiger Teil eines Programms. Ein Großteil der + Funktionalität des Apache ist in Modulen enthalten, die Sie einbinden + oder entfernen können. In die Apache-Binärdatei httpd einkompilierte Module werden statische Module + genannt, während Module, die separat gespeichert sind und optional + zur Laufzeit geladen werden können, dynamische Module oder + DSOs genannt werden. + Standardmäßig eingebundene Module werden Basismodule + genannt. Für den Apache sind viele Module verfügbar, die nicht + als Bestandteil des Apache-HTTP-Server-Tarballs ausgeliefert + werden. Diese werden als Drittmodule bezeichnet.
+ Siehe: Modulverzeichnis +
+ +
Module-Magic-Number + [ˈmɔjuːl mædʒik + ˈnʌmbə] + (MMN)
+
Die Module-Magic-Number ist eine Konstante, die im Apache-Quelltext + definiert ist und im Zusammenhang mit der Binärkompatibilität + von Modulen steht. Sie wird geändert, wenn sich interne + Apache-Strukturen, -Funktionen oder andere signifikante Teile der API + derart ändern, dass eine Binärkompatibilität nicht mehr + gewährleistet werden kann. Bei einer MMN-Änderung müssen + alle Module von Drittanbietern zumindest neu kompiliert und zuweilen auch + geringfügig angepaßt werden, um mit der neuen Apache-Version zu + funktionieren. +
+ +
Öffentlicher + Schlüssel
+
Der öffentlich verfügbare Schlüssel in einem Public-Key-Kryptographie-System, + mit dem für seinen Eigentümer bestimmte Nachrichten + verschlüsselt und Signaturen von seinem Eigentümer + entschlüsselt werden.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
OpenSSL + [ˈəupənɛsɛsˈɛl] +
+
Das Open-Source-Toolkit für SSL/TLS
+ Siehe: http://www.openssl.org/ +
+ +
Passphrase + [paːfreiz]
+
Das Wort oder die Phrase, welches private Schlüssel-Dateien + schützt. Sie verhindert die Entschlüsselung durch nicht + authorisierte Benutzer. Normalerweise ist dies einfach der geheimen + (De-)Codierungsschlüssel, der für Chiffren verwendet wird.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Privater Schlüssel
+
Der geheime Schlüssel in einem Public-Key-Kryptographie-System, + mit dem hereinkommende Nachrichten decodiert und ausgehende signiert + werden.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Proxy
+
Ein zwischen dem Client und dem ursprünglichen Server + (Anm.d.Ü.: der Server, den der Client tatsächlich erreichen + möchte) liegender Server. Er nimmt Anfragen von + Clients entgegen, übermittelt diese Anfragen dem + ursprünglichen Server und liefert die Antwort des + ursprünglichen Servers an den Client zurück. Wenn mehrere + Clients den gleichen Inhalt abfragen, dann kann der Proxy diesen Inhalt + aus seinem Zwischenspeicher ausliefern, anstatt ihn jedesmal vom + ursprünglichen Server anzufordern, und dadurch die Antwortzeit + verringern.
+ Siehe: mod_proxy +
+ +
Public-Key-Kryptographie + [ˈpʌblik kiː + ˈkyptograˈfiː]
+
Theorie und Anwendung asymmetrischer Verschlüsselungssysteme, + die einen Schlüssel zur Verschlüsselung und einen anderen zur + Entschlüsselung verwenden. Zwei derart zusammengehörende + Schlüssel bilden Schüsselpaar. Man spricht auch von + "Asymetrischer Kryptographie".
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Regulärer + Ausdruck (Regex)
+
Eine Form, ein Muster im Text zu beschreiben - zum Beispiel: "alle + Wörter, die mit dem Buchstaben A beginnen" oder "Jeder Satz mit + zwei Kommata und ohne großes Q". Beim Apache sind reguläre + Ausdrücke hilfreich, da sie auf sehr flexible Art und Weise die + Anwendung bestimmter Eigenschaften auf eine Auswahl von Dateien oder + Ressourcen ermöglichen. - Zum Beispiel können alle .gif- und + .jpg-Dateien eines Verzeichnis "images" mit + "/images/.*(jpg|gif)$" beschrieben werden. Der Apache + verwendet Perl-kompatible reguläre Ausdrücke, wie sie die + PCRE-Bibliothek bereitstellt. +
+ +
Reverse Proxy + [riːvəːs + ˈprɔksi]
+
Ein Proxy-Server, der dem Client + gegenüber als ursprünglicher Server erscheint. Dies + ist nützlich, um den tatsächlichen Server aus + Sicherheitsgründen oder zur Lastverteilung vor dem Client zu + verstecken. +
+ +
Secure Sockets + Layer [siˈkjuə ˈsɔkits + ˈleiə] (SSL)
+
Ein von der Firma Netscape Communications Corporation entwickeltes + Protokoll zur allgemeinen Authentisierung und Verschlüsselung der + Kommunikation über TCP/IP-Netzwerke. Die meistverbreitete Nutzung + ist HTTPS, d.h. HyperText Transfer Protocol (HTTP) über + SSL.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Server Side + Includes [səːə said + inˈkluːds] (SSI)
+
Eine Technik zum Einbetten von weiterverarbeitenden Anweisungen in + HMTL-Dateien.
+ Siehe: Einführung in Server Side + Includes +
+ +
Session + [ˈseʃən]
+
Allgemein der Kontext einer Kommunikation.
+ +
SSLeay
+
Die Bibliothek der Original-SSL/TLS-Implementation von Eric A. + Young
+ +
Symmetrische Kryptographie
+
Die Theorie und Anwendung von Chiffren, die einen einzigen + geheimen Schlüssel sowohl zur Verschlüsswelung als auch zur + Entschlüsselung benutzen.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Tarball + [taːbɔːl]
+
Ein Paket von Dateien, die mit dem Hilfsprogramm tar + zusammengefasst wurden. Apache-Distributionen werden in komprimierten + tar-Archiven oder unter Verwendung von pkzip gespeichert. +
+ +
Transport + Layer Security [trænsˈpɔːt + ˈeiə siˈkjuəriti] + (TLS)
+
Das SSL-Nachfolgeprotokoll, das von der Internet Engineering Task + Force (IETF) zur allgemeinen Authentisierung und Verschlüsselung + einer Kommunikation über TCP/IP-Netzwerke entwickelt worden ist. + TLS Version 1 ist nahezu identisch mit SSL Version 3.
+ Siehe: SSL/TLS-Verschlüsseliung +
+ +
Umgebungsvariable (env-Variable)
+
Benannte, von der Betriebssystem-Shell verwaltete Variablen zur + Speicherung von Informationen und zur Kommunikation zwischen Programmen. + Der Apache beinhaltet auch interne Variablen, die ebenfalls + Umgebungsvariablen genannt werden, die aber statt in der + Shell-Umgebung in internen Apache-Strukturen gespeichert sind.
+ Siehe: Umgebungsvariablen im Apache +
+ +
Uniform + Resource Locator [ˈjuːnifɔːm + riˈsɔːs ləuˈkeitə] + (URL)
+
Der Name bzw. die Adresse einer Ressource im Internet. Dies ist der + allgemein gebräuchliche Audruck für die formale Bezeichnung + Uniform Resource + Identifier. URLs bestehen üblicherweise aus einem + Schema wie http oder https, einem Hostnamen + und einem Pfad. Die URL für diese Seite ist + http://httpd.apache.org/docs/2.4/glossary.html. +
+ +
Uniform Resource Identifier + [ˈjuːnifɔːm + riˈsɔːs aiˈdentifaiə] + (URI)
+
Eine kompakte Zeichenfolge zur Identifizierung einer abstrakten oder + physischen Ressource. Er wird in dem RFC 2396 formell + definiert. Im World Wide Web verwendete URIs werden üblicherweise + als URLs bezeichnet. +
+ +
Virtual-Hosting + [vəˈtjuəl + həustiŋ]
+
Die Bedienung mehrere Websites mit einer einzigen Apache-Instanz. + IP-basierte virtuelle Hosts unterscheiden zwischen + verschiedenen Websites aufgrund ihrer IP-Adressen, während + namensbasierte virtuelle Hosts nur den Namen des Hosts + verwenden und daher mehrere Angebote unter der gleichen IP-Adresse + hosten können.
+ Siehe: Apache-Dokumentation zu virtuellen + Hosts +
+ +
Voll-qualifizierter Domainname + (FQDN)
+
Der eindeutige Name einer Netzwerkeinheit, bestehend aus einem + Hostnamen und dem Domainnamen, welcher zu einer IP-Adresse + aufgelöst werden kann. Zum Beispiel ist www ein + Hostname, example.com ein Domainname und + www.example.com ein voll-qualifizierter Domainname. +
+ + +
Website + [websait]
+
Im Gegensatz zur Webseite, die einer konkreten URL entspricht, ist mit + Website ein komplettes Angebot unter einem bestimmten Hostnamen (und Port) + gemeint. Dieses kann aus vielen verschiedenen Webseiten bestehen. +
+ +
X.509
+
Ein von der International Telecommunication Union (ITU-T) empfohlenes + Schema für Authentifizierungszertifikate. Es wird für + SSL/TLS-Authentifizierungen verwendet.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Zertifikat
+
Ein Datensatz zur Authentisierung einer + Nertzwerkeinheit wie Server oder Client. Ein Zertifikat + enthält X.509-Informationen + über seinen Eigentümer (das sogenannte Betreff + (Anm.d.Ü.: engl.: subject)) und die + signierende Certification + Authority (der sogenannte Aussteller (Anm.d.Ü.: engl.: + issuer)) sowie den öffentlichen Schlüssel des + Eigentümers und die Signatur der CA. Netzwerkeinheiten + überprüfen diese Signatur mit Hilfe von CA-Zertifikaten.
+ Siehe: SSL/TLS-Verschlüsselung +
+ +
Zugriffskontrolle
+
Die Beschränkung des Zugriffs auf Netzwerkbereiche. Im + Apache-Kontext in der Regel die Zugriffsbeschränkung auf bestimmte + URLs.
+ Siehe: Authentisierung, Autorisierung und + Zugriffskontrolle +
+
+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html.en b/docs/manual/glossary.html.en new file mode 100644 index 0000000..ce4f11c --- /dev/null +++ b/docs/manual/glossary.html.en @@ -0,0 +1,515 @@ + + + + + +Glossary - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Glossary

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

This glossary defines some of the common terminology related to Apache in + particular, and web serving in general. More information on each concept + is provided in the links.

+
+
top
+
+

Definitions

+ +
+
Access Control
+
The restriction of access to network realms. In an Apache context + usually the restriction of access to certain URLs.
See: Authentication, Authorization, and Access + Control +
+ +
Algorithm
+
An unambiguous formula or set of rules for solving a problem in a finite + number of steps. Algorithms for encryption are usually called + Ciphers. +
+ +
APache + eXtension Tool (apxs)
+
A perl script that aids in compiling module sources into Dynamic Shared Objects + (DSOs) and helps install them in the + Apache Web server.
+ See: Manual Page: apxs +
+ +
Apache Portable Runtime (APR)
+
A set of libraries providing many of the basic interfaces + between the server and the operating system. APR is developed + parallel to the Apache HTTP Server as an independent project.
+ See: Apache Portable Runtime + Project +
+ +
Authentication
+
The positive identification of a network entity such as a server, a + client, or a user.
+ See: Authentication, Authorization, and Access + Control +
+ +
Certificate
+
A data record used for authenticating network entities such + as a server or a client. A certificate contains X.509 information pieces + about its owner (called the subject) and the signing Certification Authority (called + the issuer), plus the owner's public + key and the + signature made by the CA. Network entities verify these signatures + using CA certificates.
+ See: SSL/TLS Encryption +
+ +
Certificate Signing Request + (CSR)
+
An unsigned certificate for + submission to a Certification + Authority, which signs it with the Private Key of their CA + Certificate. Once the CSR is signed, it becomes a real + certificate.
+ See: SSL/TLS Encryption +
+ +
Certification Authority + (CA)
+
A trusted third party whose purpose is to sign certificates for network + entities it has authenticated using secure means. Other network entities + can check the signature to verify that a CA has authenticated the bearer + of a certificate.
+ See: SSL/TLS Encryption +
+ +
Cipher
+
An algorithm or system for data encryption. Examples are DES, IDEA, RC4, + etc.
+ See: SSL/TLS Encryption +
+ +
Ciphertext
+
The result after Plaintext is + passed through a Cipher.
See: SSL/TLS Encryption +
+ +
Common + Gateway Interface (CGI)
+
A standard definition for an interface between a web server and an + external program that allows the external program to service requests. + There is an Informational + RFC which covers the specifics.
+ See: Dynamic Content with CGI +
+ +
Configuration Directive
+
See: Directive
+ +
Configuration + File
+
A text file containing Directives + that control the configuration of Apache.
+ See: Configuration Files +
+ +
CONNECT
+
An HTTP method for proxying raw data + channels over HTTP. It can be used to encapsulate other protocols, such as + the SSL protocol. +
+ +
Context
+
An area in the configuration + files where certain types of directives are allowed.
+ See: Terms Used to Describe + Apache Directives +
+ +
Digital + Signature
+
An encrypted text block that validates a certificate or other file. A + Certification Authority + creates a signature by generating a hash of the Public Key + embedded in a Certificate, then encrypting the hash with its own + Private Key. Only the CA's public key can decrypt the signature, + verifying that the CA has authenticated the network entity that owns the + Certificate.
+ See: SSL/TLS Encryption +
+ +
Directive
+
A configuration command that controls one or more aspects of Apache's + behavior. Directives are placed in the Configuration File
+ See: Directive Index +
+ +
Dynamic + Shared Object (DSO)
+
Modules compiled separately from the + Apache httpd binary that can be loaded on-demand.
+ See: Dynamic Shared Object Support +
+ +
Environment + Variable (env-variable)
+
Named variables managed by the operating system shell and used to store + information and communicate between programs. Apache also contains + internal variables that are referred to as environment variables, but are + stored in internal Apache structures, rather than in the shell + environment.
+ See: Environment Variables in Apache +
+ +
Export-Crippled
+
Diminished in cryptographic strength (and security) in order to comply + with the United States' Export Administration Regulations (EAR). + Export-crippled cryptographic software is limited to a small key size, + resulting in Ciphertext which usually can be decrypted by brute + force.
+ See: SSL/TLS Encryption +
+ +
Filter
+
A process that is applied to data that is sent or received by the + server. Input filters process data sent by the client to the server, + while output filters process documents on the server before they are sent + to the client. For example, the INCLUDES output filter + processes documents for Server Side + Includes.
+ See: Filters +
+ +
Fully-Qualified Domain-Name + (FQDN)
+
The unique name of a network entity, consisting of a hostname and a + domain name that can resolve to an IP address. For example, + www is a hostname, example.com is a domain name, + and www.example.com is a fully-qualified domain name. +
+ +
Handler
+
An internal Apache representation of the action to be performed when a + file is called. Generally, files have implicit handlers, based on the file + type. Normally, all files are simply served by the server, but certain + file types are "handled" separately. For example, the + cgi-script handler designates files to be processed as + CGIs.
+ See: Apache's Handler Use +
+ +
Hash
+
A mathematical one-way, irreversible algorithm generating a string with + fixed-length from another string of any length. Different input strings + will usually produce different hashes (depending on the hash function). +
+ +
Header
+
The part of the HTTP request and + response that is sent before the actual content, and that contains + meta-information describing the content. +
+ +
.htaccess
+
A configuration file that + is placed inside the web tree and applies configuration directives to the directory where it is + placed and all sub-directories. Despite its name, this file can hold + almost any type of directive, not just access-control directives.
+ See: Configuration Files +
+ +
httpd.conf
+
The main Apache configuration + file. The default location is + /usr/local/apache2/conf/httpd.conf, but it may be moved using + run-time or compile-time configuration.
+ See: Configuration Files +
+ +
HyperText Transfer Protocol + (HTTP)
+
The standard transmission protocol used on the World Wide Web. Apache + implements version 1.1 of the protocol, referred to as HTTP/1.1 and + defined by RFC 2616. +
+ +
HTTPS
+
The HyperText Transfer Protocol (Secure), the standard encrypted + communication mechanism on the World Wide Web. This is actually just HTTP + over SSL.
+ See: SSL/TLS Encryption +
+ +
Method
+
In the context of HTTP, an action to + perform on a resource, specified on the request line by the client. Some + of the methods available in HTTP are GET, POST, + and PUT. +
+ +
Message Digest
+
A hash of a message, which can be used to verify that the contents of + the message have not been altered in transit.
+ See: SSL/TLS Encryption +
+ +
MIME-type
+
A way to describe the kind of document being transmitted. Its name + comes from that fact that its format is borrowed from the Multipurpose + Internet Mail Extensions. It consists of a major type and a minor type, + separated by a slash. Some examples are text/html, + image/gif, and application/octet-stream. In + HTTP, the MIME-type is transmitted in the Content-Type + header.
+ See: mod_mime +
+ +
Module
+
An independent part of a program. Much of Apache's functionality is + contained in modules that you can choose to include or exclude. Modules + that are compiled into the Apache httpd binary are + called static modules, while modules that are stored + separately and can be optionally loaded at run-time are called + dynamic modules or DSOs. + Modules that are included by default + are called base modules. Many modules are available for Apache + that are not distributed as part of the Apache HTTP Server tarball. These are referred to as + third-party modules.
+ See: Module Index +
+ +
Module Magic + Number (MMN)
+
Module Magic Number is a constant defined in the Apache source code that + is associated with binary compatibility of modules. It is changed when + internal Apache structures, function calls and other significant parts of + API change in such a way that binary compatibility cannot be guaranteed + any more. On MMN change, all third party modules have to be at least + recompiled, sometimes even slightly changed in order to work with the new + version of Apache. +
+ +
OpenSSL
+
The Open Source toolkit for SSL/TLS
+ See http://www.openssl.org/# +
+ +
Pass Phrase
+
The word or phrase that protects private key files. It prevents + unauthorized users from encrypting them. Usually it's just the secret + encryption/decryption key used for Ciphers.
+ See: SSL/TLS Encryption +
+ +
Plaintext
+
The unencrypted text.
+ +
Private Key
+
The secret key in a Public Key + Cryptography system, used to decrypt incoming messages and + sign outgoing ones.
+ See: SSL/TLS Encryption +
+ +
Proxy
+
An intermediate server that sits between the client and the origin + server. It accepts requests from clients, transmits those requests + on to the origin server, and then returns the response from the origin + server to the client. If several clients request the same content, the + proxy can deliver that content from its cache, rather than requesting it + from the origin server each time, thereby reducing response time.
+ See: mod_proxy +
+ +
Public Key
+
The publicly available key in a Public Key Cryptography system, + used to encrypt messages bound for its owner and to decrypt signatures + made by its owner.
+ See: SSL/TLS Encryption +
+ +
Public Key Cryptography
+
The study and application of asymmetric encryption systems, which use + one key for encryption and another for decryption. A corresponding pair of + such keys constitutes a key pair. Also called Asymmetric Cryptography. +
+ See: SSL/TLS Encryption +
+ +
Regular Expression + (Regex)
+
A way of describing a pattern in text - for example, "all the words that + begin with the letter A" or "every 10-digit phone number" or even "Every + sentence with two commas in it, and no capital letter Q". Regular + expressions are useful in Apache because they let you apply certain + attributes against collections of files or resources in very flexible ways + - for example, all .gif and .jpg files under any "images" directory could + be written as "/images/.*(jpg|gif)$". In places where + regular expressions are used to replace strings, the special variables + $1 ... $9 contain backreferences to the grouped parts (in parentheses) of + the matched expression. The special variable $0 contains a backreference + to the whole matched expression. To write a literal dollar sign in a + replacement string, it can be escaped with a backslash. Historically, the + variable & could be used as alias for $0 in some places. This is no + longer possible since version 2.3.6. Apache uses Perl Compatible Regular + Expressions provided by the PCRE + library. You can find more documentation about PCRE's regular expression + syntax at that site, or at + Wikipedia. +
+ +
Reverse Proxy
+
A proxy server that appears to the client + as if it is an origin server. This is useful to hide the real + origin server from the client for security reasons, or to load balance. +
+ +
Secure Sockets + Layer (SSL)
+
A protocol created by Netscape Communications Corporation for general + communication authentication and encryption over TCP/IP networks. The most + popular usage is HTTPS, i.e. the HyperText Transfer Protocol (HTTP) + over SSL.
+ See: SSL/TLS Encryption +
+ +
Server Name + Indication (SNI)
+
An SSL function that allows passing the desired server + hostname in the initial SSL handshake message, so that the web + server can select the correct virtual host configuration to use + in processing the SSL handshake. It was added to SSL starting + with the TLS extensions, RFC 3546.
+ See: the SSL FAQ + and RFC 3546 +
+ +
Server Side + Includes (SSI)
+
A technique for embedding processing directives inside HTML files.
+ See: Introduction to Server Side Includes +
+ +
Session
+
The context information of a communication in general.
+ +
SSLeay
+
The original SSL/TLS implementation library developed by Eric A. + Young +
+ +
Subrequest
+
Apache provides a subrequest API to modules that allows other + filesystem or URL paths to be partially or fully evaluated by + the server. Example consumers of this API are + DirectoryIndex, + mod_autoindex, and mod_include. +
+ +
Symmetric + Cryptography
+
The study and application of Ciphers that use a single secret key + for both encryption and decryption operations.
+ See: SSL/TLS Encryption +
+ +
Tarball
+
A package of files gathered together using the tar utility. + Apache distributions are stored in compressed tar archives or using + pkzip. +
+ +
Transport + Layer Security (TLS)
+
The successor protocol to SSL, created by the Internet Engineering Task + Force (IETF) for general communication authentication and encryption over + TCP/IP networks. TLS version 1 is nearly identical with SSL version 3.
+ See: SSL/TLS Encryption +
+ +
Uniform + Resource Locator (URL)
+
The name/address of a resource on the Internet. This is the common + informal term for what is formally called a Uniform Resource Identifier. + URLs are usually made up of a scheme, like http or + https, a hostname, and a path. A URL for this page might + be http://httpd.apache.org/docs/2.4/glossary.html. +
+ +
Uniform Resource Identifier + (URI)
+
A compact string of characters for identifying an abstract or physical + resource. It is formally defined by RFC 2396. URIs used on the + world-wide web are commonly referred to as URLs. +
+ +
Virtual Hosting
+
Serving multiple websites using a single instance of Apache. IP + virtual hosting differentiates between websites based on their IP + address, while name-based virtual hosting uses only the name of the + host and can therefore host many sites on the same IP address.
+ See: Apache Virtual Host documentation +
+ +
X.509
+
An authentication certificate scheme recommended by the International + Telecommunication Union (ITU-T) which is used for SSL/TLS authentication.
See: SSL/TLS Encryption +
+
+
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html.es b/docs/manual/glossary.html.es new file mode 100644 index 0000000..ac1c6f0 --- /dev/null +++ b/docs/manual/glossary.html.es @@ -0,0 +1,556 @@ + + + + + +Glosario - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Glosario

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Éste glosario define las terminologías más comunes + relacionada con Apache en particular, y con los servidores web en + general. En los enlaces que hay asociados a cada término se puede + encontrar información más detallada de cada uno.

+
+
top
+
+

Definiciones

+
+
Algoritmo
+
Un proceso definido sin ambigüedades o un conjunto de reglas + para solucionar un problema en un número finito de pasos. + Los algoritmos para encriptar se llaman + normalmente algoritmos de cifrado. +
+ + +
Algoritmo de cifrado, (Cipher).
+
Es un algoritmo o sistema de encriptado de información. + Ejemplos de estos algoritmos son DES, IDEA, RC4, etc.
+ Consulte: Encriptado SSL/TLS
+ +
Autenticación.
+
La identificación positiva de una entidad de red tal como un + servidor, un cliente, o un usuario.
+ Consulte: Autentificación, Autorización, + y Control de Acceso
+ + +
Autoridad Certificadora. (CA)
Es una entidad externa de confianza cuyo fin + es firmar certificados para las entidades de red que ha autentificado + usando medios seguros. Otras entidades de red pueden verificar la + firma para comprobar que una Autoridad Certificadora ha autentificado + al poseedor del certificado.
Consulte: Encriptado + SSL/TLS
+ + +
Cabecera.
Es la parte de la + petición y la respuesta HTTP que se + envía antes del contenido propiamente dicho, y que contiene + meta-información describiendo el contenido.
+ +
Certificado.
+
Una información que se almacena para autenticar entidades + de red tales como un servidor o un cliente. Un certificado + contiene piezas de información X.509 sobre su poseedor + (llamado sujeto) y sobre la Autoridad Certificadora + (llamada el emisor) que lo firma, más la clave pública del propietario y la firma de + la AC(Autoridad Certificadora). Las entidades de red verifican las firmas usando + certificados de las AC.
+ Consulte: Encriptado SSL/TLS +
+ + + +
Clave Pública.
+
La clave disponible + públicamente en un sistema + criptográfico de Clave Pública, usado para encriptar + mensajes destinados a su propietario y para desencriptar firmas hechas + por su propietario.
Consulte: Encriptado + SSL/TLS
+ + + +
Clave Privada.
+
La clave secreta + de un Sistema criptográfico de + Clave Pública, usada para desencriptar los mensajes entrantes + y firmar los salientes.
Consulte: Encriptado + SSL/TLS
+ + +
CONNECT
Un método de HTTP para hacer proxy a canales de + datos sin usar HTTP. Puede usarse para encapsular otros protocolos, + tales como el protocolo SSL.
+ + + +
Contexto
Un área en los + ficheros de configuración + donde están permitidos ciertos tipos de directivas.
+ Consulte: Términos + usados para describir las directivas de Apache
+ + +
Control de Acceso.
+
La + restricción en el acceso al entorno de una red. En el contexto de + Apache significa normalmente la restricción en el acceso a + ciertas URLs.
+ Consulte: Autentificación, Autorización, y + Control de Acceso
+ + +
Criptografía + Simétrica
El estudio y aplicación de + Algoritmos de Cifrado que usan una sola clave secreta tanto + para cifrar como para descifrar.
Consulte: Encriptado SSL/TLS
+ + +
Directiva
+
Un comando de + configuración que controla uno o más aspectos del + comportamiento de Apache. Las directivas se ponen en el Fichero de Configuración
+ Consulte: Índice de + Directivas
+ +
Directivas de + configuración.
Consulte: Directivas
+ +
Entorno Portable de tiempo de ejecución de Apache, (APR, Apache Portable Runtime)
+
Es un conjunto de librerías que proveen las interfaces básicas + entre el servidor y el sistema operativo. El desarrollo de APR es + paralelo al del Servidor HTTP Apache, como un proyecto independiente. + Puedes visitar el proyecto en:
+ Apache Portable Runtime + Project +
+ +
Export-Crippled
+
Disminución de la fortaleza criptográfica (y seguridad) + para cumplir con las Regulaciones sobre Exportación de la + Administración de los Estados Unidos (EAR). El software + criptográfico Export-crippled está limitado a una clave de + pequeño tamaño, de tal manera que el texto cifrado + que se consigue con él, puede descifrarse por medio de fuerza bruta.
Consulte: Encriptado SSL/TLS
+ + +
Expresiones Regulares + (Regex)
Una forma de describir un patrón en un + texto - por ejemplo, "todas las palabras que empiezan con la letra "A" + o "todos los números de teléfono que contienen 10 + dígitos" o incluso "Todas las frases entre comas, y que no + contengan ninguna letra Q". Las Expresiones Regulares son útiles en + Apache porque permiten aplicar ciertos atributos a colecciones de + ficheros o recursos de una forma flexible - por ejemplo, todos los + archivos .gif y .jpg que estén en el directorio "imágenes" + podrían ser escritos como "/images/.*(jpg|gif)$". + En los lugares donde expresiones regulares se utilizan para reemplazar + cadenas, las variables especiales $ 1 ... $ 9 contienen + referencias inversa las partes agrupadas (entre paréntesis) + de la expresión coincidente. La variable especial $ 0 contiene + una referencia inversa a todo el ejemplar de la expresión. + Para escribir un símbolo de dolar literal en una sustitución de + una cadena, se puede escapar usando "\". Históricamente, la variable & + se podía usar como un alias a $0 en algunos sitios. + Esto ya no esta soportado desde la versión 2.3.6. + Apache usa Expresiones Regulares compatibles con Perl gracias a la + librería PCRE. + Puedes encontrar más documentación sobre las expresiones regulares + de PCRE y su sintaxis en esa página o en la + Wikipedia.
+ + + +
Fichero de Configuración.
+
Un fichero de texto que contiene Directivas que controlan la configuración + de Apache.
Consulte: Ficheros de + Configuración
+ + +
.htaccess
+
Un fichero de configuración que se + pone dentro de la estructura de directorios del sitio web y aplica directivas de configuración al directorio + en el que está y a sus subdirectorios. A pesar de su nombre, este + fichero puede contener cualquier tipo de directivas, no solo + directivas de control de acceso.
Consulte: Ficheros de Configuración para más información.
+ +
httpd.conf
+
Es el fichero de configuración principal + de Apache. Su ubicación por defecto es + /usr/local/apache2/conf/httpd.conf, pero puede moverse + usando opciones de configuración al compilar o al iniciar + Apache.
Consulte: Ficheros de + Configuración
+ +
Filtro
+
Un proceso que se aplica a la + información que es enviada o recibida por el servidor. Los + ficheros de entrada procesan la información enviada por un + cliente al servidor, mientras que los filtros de salida procesan la + información en el servidor antes de enviársela al + cliente. Por ejemplo, el filtro de salida INCLUDES + procesa documentos para Server Side Includes.
+ Consulte: Filtros
+ + + +
Firma Digital
+
Un bloque de + texto encriptado que verifica la validez de un certificado o de otro + fichero. Una Autoridad + Certificadora crea una firma generando un hash a partir de la + Clave Pública que lleva incorporada en un + Certificado, después encriptando el hash con su propia + Clave Privada. Solo las claves públicas de las CAs + pueden desencriptar la firma, verificando que la CA ha autentificado a + la entidad de red propietaria del Certificado.
+ Consulte: Encriptado SSL/TLS
+ +
Handler
+
Es una representación + interna de Apache de una acción a ser ejecutada cuando se llama a + un fichero. Generalmente, los ficheros tienen un handler (manejador) + implícito, basado en el tipo de fichero. Normalmente, todos los + ficheros son simplemente servidos por el servidor, pero sobre algunos + tipos de ficheros se ejecutan acciones complementarias. Por ejemplo, + el handler cgi-script designa los ficheros a ser + procesados como CGIs.
Consulte: Uso de Handlers en Apache
+ +
Herramienta de extensión de + Apache. (apxs)
+
Es un script escrito en Perl que ayuda a compilar el código + fuente de algunos módulos para + convertirlos en Objetos Dinámicos Compartidos (DSOs) + y ayuda a instalarlos en el Servidor Web de Apache.
+ Consulte: Manual de: apxs
+ + + +
Hash
+
Algoritmo matemático de un solo sentido e irreversible, que genera + una cadena de una determinada longitud de otra cadena de + cualquier tamaño. Diferentes entradas darán diferentes hashes + (dependiendo de la función hash.) +
+ + + + + +
Hosting Virtual
Se trata de + servir diferentes sitios web con una sola entidad de Apache. El + hosting virtual de IPs diferencia los sitios web basándose en sus + direcciones IP, mientras que el hosting virtual basado en + nombres usa solo el nombre del host y de esta manera puede alojar + muchos sitios web con la misma dirección IP.
Consulte: Documentación sobre Hosting Virtual en + Apache
+ + +
Identificador de Recursos + Uniforme (URI)
Una cadena de caracteres + compacta para identificar un recurso físico o abstracto. Se + define formalmente en la RFC 2396. Los URIs que + se usan en world-wide web se refieren normalmente como URLs.
+ + + + +
Indicador del Nombre del servidor + Server Name Indication (SNI)
+
Una función SSL que permite pasar el nombre de host del servidor deseado + en el mensaje inicial del protocolo de enlace SSL, para que el servidor web + pueda seleccionar la configuración correcta del host virtual para usar en el + procesamiento del protocolo de enlace SSL. Se añadió a SSL + con las extensiones TLS en el RFC 3546.
+ See: the SSL FAQ + and RFC 3546 +
+ + + + +
Interfaz de Pasarela Común. Common Gateway Interface (CGI)
+
Una definición estándar para + un interfaz entre un servidor web y un programa externo que permite + hacer peticiones de servicio a los programas externos. Este interfaz + esta definido en el RFC-3875.
+ Consulte: Contenido Dinámico con CGI +
+ +
Localizador de Recursos + Uniforme (URL)
+
El nombre de un recurso + en Internet. Es la manera informal de decir lo que formalmente se + llama un Identificador de + Recursos Uniforme. Las URLs están compuestas normalmente por + un esquema, tal como http o https, un nombre + de host, y una ruta. Una URL para esta página es + http://httpd.apache.org/docs/2.4/glossary.html.
+ + +
Módulo
+
Una parte independiente + de un programa. La mayor parte de la funcionalidad de Apache + está contenida en módulos que pueden incluirse o excluirse. + Los módulos que se compilan con el binario httpdde Apache se + llaman módulos estáticos, mientras que los que se + almacenan de forma separada y pueden ser cargados de forma opcional, + se llaman módulos dinámicos o DSOs. + Los módulos que están incluidos por defecto de llaman + módulos base. Hay muchos módulos disponibles para + Apache que no se distribuyen con la tarball del + Servidor HTTP Apache. Estos módulos son llamados + módulos de terceros.
Consulte: Índice de Módulos
+ + +
Método
+
En el contexto de HTTP, es una acción a ejecutar sobre un recurso, + especificado en la líneas de petición por el cliente. + Algunos de los métodos disponibles en HTTP son GET, + POST, y PUT.
+ +
Mensaje Resumen (Message Digest)
+
Un hash de un + mensaje, el cual pude ser usado para verificar que el contenido del + mensaje no ha sido alterado durante la transmisión.
+ Consulte: Encriptado SSL/TLS
+ +
MIME-type
+
Una manera de describir + el tipo de documento a ser transmitido. Su nombre viene del hecho de + que su formato se toma de las Extensiones del "Multipurpose Internet + Mail". Consiste en dos componentes, uno principal y otro secundario, + separados por una barra. Algunos ejemplos son text/html, + image/gif, y application/octet-stream. En + HTTP, el tipo MIME se transmite en la cabecera + del Tipo Contenido.
Consulte: mod_mime
+ +
Módulo del Número Mágico + (MMN Module Magic + Number)
El módulo del número + mágico es una constante definida en el código + fuente de Apache que está asociado con la compatibilidad binaria + de los módulos. Ese número cambia cuando cambian las + estructuras internas de Apache, las llamadas a funciones y otras + partes significativas de la interfaz de programación de manera + que la compatibilidad binaria no puede garantizarse sin cambiarlo. Si + cambia el número mágico de módulo, todos los + módulos de terceros tienen que ser al menos recompilados, y + algunas veces, incluso hay que introducir ligeras modificaciones para + que funcionen con la nueva versión de Apache
+ + +
Nombre de dominio + completamente qualificado (FQDN)
+
El + nombre único de una entidad de red, que consiste en un nombre de + host y un nombre de dominio que puede traducirse a una dirección + IP. Por ejemplo, www es un nombre de host, + example.com es un nombre de dominio, y + www.example.com es un nombre de dominio completamente + qualificado.
+ +
Objetos Dinámicos + Compartidos (DSO, dinamic shared objects)
+
Los Módulos compilados de forma separada al + binario httpd de Apache se pueden cargar según se necesiten.
Consulte: Soporte de Objetos Dinámicos + Compartidos
+ + +
OpenSSL
+
El toolkit Open Source para SSL/TLS
+ Ver: http://www.openssl.org/
+ + +
Pass Phrase o frase de contraseña
+
La palabra o frase + que protege los archivos de clave privada. Evita que usuarios no + autorizados los encripten. Normalmente es solo la clave de + encriptado/desencriptado usada por los Algoritmos de + Cifrado.
Consulte: Encriptado + SSL/TLS
+ +
Petición de firma de + Certificado. (CSR)
+
Es la petición a + una Autoridad Certificadora para + que firme un certificado aún sin + firmar. La Autoridad Certificadora firma el Certificado con + la Clave Privada de su + certificado. Una vez que el CSR está firmado, se + convierte en un auténtico certificado.
+ Consulte: Encriptado SSL/TLS
+ + + +
Protocolo de Transferencia de + Hipertexto (HTTP)
+
Es el protocolo de + transmisión estádar usado en la World Wide Web. Apache + implementa la versión 1.1 de este protocolo, al que se hace + referencia como HTTP/1.1 y definido por el RFC 2616.
+ +
HTTPS
+
Protocolo de transferencia de + Hipertexto (Seguro), es el mecanismo de comunicación encriptado + estándar en World Wide Web. En realidad es HTTP sobre SSL.
Consulte: Encriptado + SSL/TLS
+ +
Proxy
Un servidor intermedio que se + pone entre el cliente y el servidor de origen. Acepta las + peticiones de los clientes, las transmite al servidor de origen, y + después devuelve la respuesta del servidor de origen al + cliente. Si varios clientes piden el mismo contenido, el proxy sirve + el contenido desde su caché, en lugar de pedirlo cada vez que lo + necesita al servidor de origen, reduciendo con esto el tiempo de + respuesta.
Consulte: mod_proxy
+ + +
Proxy Inverso
+
Es un servidor + proxy que se presenta al cliente como si fuera un + servidor de origen. Es útil para esconder el + auténtico servidor de origen a los clientes por cuestiones de + seguridad, o para equilibrar la carga.
+ + +
SSL, Capa de Conexión Segura Secure Sockets Layer(SSL)
Es un protocolo creado por Netscape + Communications Corporation para la autenticación en + comunicaciones en general y encriptado sobre redes TCP/IP. Su + aplicación más popular es en HTTPS, ejemplo.: el Protocolo de + Transferencia de Hipertexto (HTTP) sobre SSL.
Consulte: Encriptado SSL/TLS
+ + +
SSLeay
La implementación + original de la librería SSL/TLS desarrollada por Eric + A. Young
+ + + +
Server Side Includes (SSI)
Una técnica para incluir directivas de + proceso en archivos HTML.
Consulte: Introducción a Server Side + Includes
+ + + +
Sesión
Información del + contexto de una comunicación en general.
+ + +
Sistema Criptográfico de Clave + Pública
El estudio y aplicación de sistemas de + encriptado asimétricos, que usa una clave para encriptar y otra + para desencriptar. Una clave de cada uno de estos tipos constituye un + par de claves. También se llama Criptografía Asimétrica.
+ Consulte: Encriptado SSL/TLS
+ + +
Subconsulta
+
Apache proporciona una API de subconsultasd a los módulos, + que permiten a otros sistemas de ficheros o paths de URL ser parcial o totalmente evaluados + por el servidor. Un ejemplo de los que usan esta API sería + DirectoryIndex, + mod_autoindex, y mod_include. +
+ +
Tarball
Un grupo de ficheros + puestos en un solo paquete usando la utilidad tar. Las + distribuciones Apache se almacenan en ficheros comprimidos con tar o + con pkzip.
+ +
Texto cifrado.
+
El resultado de + haber aplicado a un texto plano un algoritmo de cifrado.
Consultar: Encriptado SSL/TLS
+ + + +
Texto plano
+
Un texto no encriptado.
+ + +
Transport + Layer Security (TLS)
Es el sucesor del protocolo SSL, creado + por el "Internet Engineering Task Force" (IETF) para la + autentificación en comunicaciones en general y encriptado sobre + redes TCP/IP. La versión 1 de TLS es casi idéntica a la + versión 3 de SSL.
Consulte: Encriptado + SSL/TLS
+ + +
Variable de Entorno (env-variable)
+
Variables que + gestionan el shell del sistema operativo y que se usan para guardar + información y para la comunicación entre programas. Apache + también contiene variables internas que son referidas como + variables de entorno, pero que son almacenadas en las estructuras + internas de Apache, en lugar de en el entorno del shell.
+ Consulte: Variables de entorno de Apache
+ + +
X.509
Un esquema de certificado de + autentificación recomendado por la International + Telecommunication Union (ITU-T) que se usa en la autentificación + SSL/TLS.
Consulte: Encriptado SSL/TLS
+ +
+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html.fr.utf8 b/docs/manual/glossary.html.fr.utf8 new file mode 100644 index 0000000..ed619df --- /dev/null +++ b/docs/manual/glossary.html.fr.utf8 @@ -0,0 +1,619 @@ + + + + + +Glossaire - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Glossaire

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Ce glossaire définit la terminologie courante relative à Apache en + particulier, et aux serveurs web en général. Vous trouverez plus + d'informations sur chaque concept dans les liens fournis.

+
+
top
+
+

Définitions

+
+
Algorithme
+ +
Une formule sans ambiguité ou un jeu de règles destinées à + résoudre un problème en un nombre fini d'étapes. Les algorithmes de + chiffrement sont en général appelés + Ciphers. +
+ +
Algorithme de chiffrement + (Cipher)
+
Un algorithme ou un système de chiffrement des données. + Quelques exemples : DES, IDEA, RC4, etc.
+ Voir : chiffrement SSL/TLS +
+ +
APR
+
Voir "Bibliothèques pour la portabilité d'Apache" +
+ +
Archive Tar (Tarball)
+
Un paquetage de fichiers rassemblés dans une archive + à l'aide de l'utilitaire tar. + Les distributions d'Apache sont stockées dans des Archives Tar compressées + ou en utilisant pkzip. +
+ +
Authentification
+
L'identification formelle d'une entité du réseau comme un serveur, un + client, ou un utilisateur.
+ Voir : Authentification, Autorisation, et + contrôle d'accès +
+ +
Autorité de Certification + (Certification Authority) + (CA)
+
Un tiers de confiance habilité à signer des certificats pour des entités + du réseau qu'il a authentifiées selon des critères basés sur la sécurité. + Les autres entités du réseau peuvent alors utiliser la signature pour + vérifier qu'une CA a authentifié le porteur du certificat.
+ Voir : chiffrement SSL/TLS +
+ +
Bibliothèques pour la portabilité d'Apache + (Apache Portable Runtime) (APR)
+
Un jeu de bibliothèques qui fournit la plupart des interfaces de base + entre le serveur et le système d'exploitation. APR est développé + parallèlement au serveur HTTP Apache comme projet indépendant.
+ Voir : Apache Portable Runtime + Project +
+ + +
Certificat (Certificate)
+
Un ensemble de données servant à authentifier des entités du + réseau comme un serveur ou un client. Un certificat contient des ensembles + d'informations X509 à propos de son propriétaire (appelé sujet/subject) + et de l'Autorité de Certification + (Certification Authority) ou CA signataire (appelée + le fournisseur/issuer), ainsi que la + clé publique (public + key) du propriétaire et la + signature de la CA. Les entités du réseau vérifient ces signatures + en utilisant les certificats des Autorités de Certification.
+ Voir : chiffrement SSL/TLS +
+ +
Chiffrement à Clé Publique + (Public Key Cryptography)
+
L'étude et l'application des systèmes de chiffrement asymétriques, + qui utilisent une clé pour le chiffrement et une autre pour le + déchiffrement. Les deux clés correspondantes constituent une paire de clés. + Appelé aussi chiffrement asymétrique. +
+ Voir : chiffrement SSL/TLS +
+ +
Clé Privée (Private Key)
+
La clé secrète dans un système de + chiffrement à clé publique, + utilisée pour déchiffrer les messages entrants et signer + les messages sortants.
+ Voir : chiffrement SSL/TLS +
+ +
Clé Publique (Public Key)
+
La clé accessible au public dans un système de Chiffrement à clé publique, + utilisée pour chiffrer les messages destinés uniquement à son + propriétaire et déchiffrer les signatures + faites par son propriétaire.
+ Voir : chiffrement SSL/TLS +
+ +
CONNECT
+
Une méthode HTTP pour encapsuler + des données brutes dans HTTP. Elle peut aussi être utilisée pour encapsuler + d'autres protocoles, comme le protocole SSL. +
+ +
Contexte (Context)
+
Une portion des + fichiers de configuration dans laquelle certains types de + directives sont autorisés.
+ Voir : Termes utilisés + pour décrire les directives d'Apache +
+ +
Contrôle d'accès + (Access Control)
+
La restriction d'accès à des zones du réseau. Habituellement + dans un contexte Apache, + la restriction d'accès à certaines URLs.
+ Voir : Authentification, Autorisation et + Contrôle d'accès +
+ +
+ Couche des Points de connexion Sécurisés + (Secure Sockets Layer) + (SSL)
+
Un protocole créé par Netscape Communications Corporation pour + l'authentification et le chiffrement généraux des communications dans les + réseaux TCP/IP. L'utilisation la plus connue est HTTPS, autrement dit + le Protocole de Transfert Hypertexte (HTTP) au dessus de SSL.
+ Voir : chiffrement SSL/TLS +
+ +
Sous-requête
+
Apache possède une API des sous-requêtes pour les modules qui + permettent l'évaluation complète ou partielle par le serveur de + chemins d'autres systèmes de fichiers ou d'URL. Par exemple, la + directive DirectoryIndex, + les modules mod_autoindex et + mod_include utilisent cette API. +
+ +
+ Cryptographie Symétrique (Symmetric Cryptography)
+
L'étude et l'application des Algorithmes de chiffrement qui + utilisent une clé secrète unique pour les opérations de chiffrement et de + déchiffrement.
+ Voir : chiffrement SSL/TLS +
+ + +
+ Dégradé pour l'exportation + (Export-Crippled)
+
Diminué en terme de puissance cryptographique (et de sécurité) + afin de respecter les Règles de l'Administration des Exportations + des Etats-Unis (Export Administration Regulations ou EAR). + Les logiciels de cryptographie dégradés pour l'exportation sont limités + à une clé de petite taille, et produisent un + Texte crypté qui peut en général être décrypté + par force brute.
+ Voir : chiffrement SSL/TLS +
+ + +
Demande de signature de certificat + (Certificate Signing Request) + (CSR)
+
La soumission d'un certificat + non signé à une Autorité de + certification, qui le signe avec la Clé privée de leur + Certificat de CA. Une fois le CSR signé, il devient un vrai + certificat.
+ Voir : chiffrement SSL/TLS +
+ +
Directive
+
Une commande de configuration qui contrôle un ou plusieurs aspects du + comportement d'Apache. Les directives sont placées dans le Fichier de configuration
+ Voir : Index des directives +
+ +
Directive de configuration + (Configuration Directive)
+
Voir : Directive
+ +
En-tête (Header)
+
La partie de la requête et de la réponse + HTTP qui est envoyée avant le contenu + proprement dit, et contient des méta-informations décrivant le contenu. +
+ +
Expression Rationnelle + (Regular Expression) + (Regex)
+
Une méthode pour décrire un modèle sous forme de texte - par exemple, + "tous les mots qui commencent par la lettre A" ou "tous les numéros de + téléphone à 10 chiffres" ou encore "Toutes les phrases contenant 2 virgules, + et aucun Q majuscule". Les expressions rationnelles sont très utiles dans + Apache car elles vous permettent d'appliquer certains attributs à des + ensembles de fichiers ou ressources avec une grande flexibilité + - par exemple, tous les fichiers .gif et .jpg situés dans tout répertoire + nommé "images", pourraient être enregistrés comme + "/images/.*(jpg|gif)$". Lorsque l'on utilise des + expressions rationnelles pour la substitution de chaînes, les + variables spéciales $1 ... $9 contiennent des références arrières + vers les parties regroupées (entre parenthèses) de l'expression + qui correspond. La variable spéciale $0 contient une référence + arrière vers l'ensemble de l'expression qui correspond. Pour + insérer un caractère littéral "dollar" dans la chaîne de + remplacement, il faut l'échapper avec un anti-slash. Pour des + raisons historiques, la variable & peut être utilisée en tant + qu'alias de $0 dans certains cas, mais ceci n'est plus possible + depuis la version 2.3.6. Apache utilise les Expressions + Rationnelles Compatibles avec Perl fournies par la librairie PCRE. Vous trouverez plus + d'information à propos de la syntaxe des expressions rationnelles + PCRE sur ce site, ou dans le Wikipedia de la PCRE. +
+ +
+ Fichier de configuration + (Configuration File)
+
Un fichier texte contenant des + Directives + qui contrôlent la configuration d'Apache.
+ Voir : Fichiers de configuration +
+ +
Filtre (Filter)
+
Un traitement appliqué aux données envoyées ou reçues par le serveur. + Les filtres en entrée traitent les données envoyées au serveur par le + client, alors que les filtres en sortie traitent les documents sur le + serveur avant qu'ils soient envoyés au client. + Par exemple, le filtre en sortie + INCLUDES + traite les documents pour les + Server Side Includes (Inclusions côté Serveur) + .
+ Voir : Filtres +
+ +
Gestionnaire (Handler)
+
Une représentation interne à Apache de l'action à entreprendre + quand un fichier est appelé. En général, les fichiers ont des gestionnaires + implicites, basés sur le type de fichier. Normalement, tous les + fichiers sont directement servis par le serveur, mais certains + types de fichiers sont "gérés" séparément. Par exemple, le gestionnaire + cgi-script désigne les fichiers qui doivent être traités + comme CGIs.
+ Voir : Utilisation des gestionnaires d'Apache +
+ +
Hachage (Hash)
+
Un algorithme mathématique à sens unique, irréversible, générant une + chaîne de longueur fixe à partir d'une autre chaîne de longueur quelconque. + Des chaînes différentes en entrée vont normalement produire des chaînes + différentes en sortie (selon la fonction de hachage). +
+ +
Hébergement Virtuel + (Virtual Hosting)
+
Servir des sites web multiples en utilisant une seule instance d'Apache. + Les Hôtes virtuels basés sur IP différencient les sites web en se + basant sur leur adresse IP, alors que les + Hôtes virtuels basés sur le nom utilisent uniquement le nom d'hôte + et peuvent en conséquence héberger de nombreux sites avec la même + adresse IP.
+ Voir la Documentation des Hôtes Virtuels d'Apache +
+ + +
.htaccess
+
Un fichier de configuration + placé à un certain niveau de l'arborescence du site web, et appliquant des + directives de configuration au + répertoire dans lequel il est placé, ainsi qu'à tous ses sous-répertoires. + En dépit de son nom, ce fichier peut contenir pratiquement tout type de + directive, et pas seulement des directives de contrôle d'accès.
+ Voir : Fichiers de configuration +
+ +
httpd.conf
+
Le fichier de configuration + principal d'Apache. Sa localisation par défaut est + /usr/local/apache2/conf/httpd.conf, mais ceci peut être + changé en utilisant des options de compilation ou d'exécution.
+ Voir : Fichiers de configuration +
+ +
HTTPS
+
Le Protocole de Transfert Hypertexte (Sécurisé), le mécanisme de + communication cryptée standard sur le World Wide Web. + Il s'agit en fait de HTTP au dessus de + SSL.
+ Voir : chiffrement SSL/TLS +
+ +
Identificateur de Ressource Uniformisé + (Uniform Resource Identifier) + (URI)
+
Une chaîne de caractères compacte servant à identifier une ressource + abstraite ou physique. Elle est formellement définie par la RFC 2396. Les URIs + utilisées sur le world-wide web sont souvent appelées URLs. +
+ +
+ Inclusions Côté Serveur + (Server Side Includes) (SSI) +
+
Une technique permettant d'englober des directives de traitement dans + des fichiers HTML.
+ Voir : Introduction aux Inclusions Côté Serveur +
+ +
Indication du nom du serveur (SNI)
+
Une fonctionnalité SSL permettant de spécifier le + nom du serveur désiré dans le message initial de la + négociation SSL, de façon à ce que le serveur web + puisse choisir la bonne configuration de serveur virtuel à + utiliser pendant le déroulement de la négociation SSL. + Cette fonctionnalité a été ajoutée + à SSL lorsque sont apparues les extensions TLS, RFC 3546.
+ Voir la FAQ SSL + et la RFC 3546 +
+ + + +
+Interface commune avec les programmes externes +(Common Gateway Interface) + (CGI)
+
La définition standard d'une interface entre un serveur web et un + programme externe pour permettre à ce dernier de traiter des requêtes. + Il existe une RFC + informationnelle qui en couvre les spécificités.
+ Voir : Contenu dynamique avec CGI +
+ + + +
+Localisation de Ressource Uniformisée +(Uniform Resource Locator) + (URL)
+
Le nom/adresse d'une ressource sur l'Internet. Il s'agit du terme + informel commun pour ce qui est formellement défini comme + Identificateur de Ressource Uniformisé. + Les URLs sont généralement construites selon un schéma, comme + http ou + https, un nom d'hôte, et un chemin. Une URL pour cette page + pourrait être + http://httpd.apache.org/docs/2.4/glossary.html. +
+ + +
Mandataire (Proxy)
+
Un serveur intermédiaire qui se situe entre le client et le + serveur d'origine. + Il prend en compte les requêtes des clients, les transmet au serveur + d'origine, puis renvoie la réponse du serveur d'origine au client. + Si plusieurs clients demandent le même contenu, le mandataire peut l'extraire + de son cache, plutôt que le demander au serveur d'origine + à chaque fois, ce qui réduit le temps de réponse.
+ Voir : mod_proxy +
+ +
Mandataire inverse + (Reverse Proxy)
+
Un serveur mandataire qui est vu du client + comme un serveur d'origine. Ceci peut s'avérer utile pour + dissimuler le serveur d'origine réel au client pour des raisons de sécurité, + ou pour répartir la charge. +
+ +
Méthode (Method)
+
Dans le contexte HTTP, une action à + effectuer sur une ressource spécifiée dans la ligne de requête + par le client. Parmi les méthodes disponibles dans HTTP, on trouve + GET, POST, + et PUT. +
+ +
Module
+
Une partie indépendante d'un programme. De nombreuses fonctionnalités + d'Apache sont fournies par des modules que vous pouvez choisir d'inclure + ou d'exclure. Les modules qui sont compilés dans le binaire + httpd sont appelés modules statiques, alors + que les modules qui existent séparément et peuvent être chargés + optionnellement à l'exécution sont appelés + modules dynamiques ou DSOs. + Les modules qui sont inclus par défaut sont appelés + modules de base. De nombreux modules disponibles pour Apache + ne se trouvent pas dans l'archive + du Serveur HTTP Apache . Il sont appelés + modules tiers.
+ Voir : Index des modules +
+ +
Mot de Passe (Pass Phrase)
+
Le mot ou la phrase qui protège les fichiers de clés privées. + Il empêche les utilisateurs non autorisés de les déchiffrer. En général, + il s'agit simplement de la clé secrète de chiffrement/déchiffrement + utilisée pour les Algorithmes de chiffrement.
+ Voir : chiffrement SSL/TLS +
+ +
Nom de domaine entièrement qualifié + (Fully-Qualified Domain-Name) + (FQDN)
+
Le nom unique d'une entité du réseau, comprenant un nom d'hôte et un + nom de domaine qui peuvent être résolus en une adresse IP. Par exemple, + www est un nom d'hôte, example.com est un nom + de domaine, et www.example.com est un nom de domaine + entièrement qualifié. +
+ +
+ Nombre Magique des Modules + (Module Magic Number) + (MMN)
+
Le Nombre Magique des Modules est une constante définie dans le code + source d'Apache et associée à la compatibilité binaire des modules. + Sa valeur est modifiée quand des structures internes d'Apache, des appels + de fonctions et d'autres parties significatives de l'API sont modifiées + de telle façon que la compatibilité binaire ne peut plus être garantie. + En cas de changement de MMN, tous les modules tiers doivent être au + moins recompilés, et parfois même légèrement modifiés afin de pouvoir + fonctionner avec la nouvelle version d'Apache. +
+ +
+ Objet Dynamique Partagé (Dynamic Shared Object) + (DSO)
+
Modules compilés en dehors du binaire + Apache httpd et qui peuvent être + chargés à la demande.
+ Voir : Support des objets dynamiques partagés +
+ +
OpenSSL
+
L'ensemble d'outils Open Source pour SSL/TLS
+ Voir http://www.openssl.org/# +
+ +
+ Outil de gestion des extensions Apache + (APache eXtension Tool) + (apxs)
+
Un script Perl qui aide à la compilation des sources de module sous forme d'Objets Dynamiques Partagés + (Dynamic Shared Objects ou + DSOs) et facilite leur installation + dans le serveur Web Apache.
+ Voir : Page de manuel : apxs +
+ +
Plein Texte (Plaintext)
+
Le texte non chiffré.
+ + + +
Protocole de Transfert Hypertexte + (HyperText Transfer Protocol) + (HTTP)
+
Le protocole de transmission standard utilisé sur le World Wide Web. + Apache implémente la version 1.1 du protocole, référencée comme HTTP/1.1 et + définie par la + RFC 2616. +
+ +
Résumé de message + (Message Digest)
+
Un hachage du message, qui peut être utilisé pour vérifier + que son contenu n'a pas été altéré durant le transfert.
+ Voir : chiffrement SSL/TLS +
+ +
+ Sécurité de la couche Transport + (Transport Layer Security) + (TLS)
+
Le protocole successeur de SSL, créé par l'Internet Engineering Task + Force (IETF) pour l'authentification et le chiffrement généraux des + communications dans les réseaux TCP/IP. TLS version 1 est pratiquement + identique à SSL version 3.
+ Voir : chiffrement SSL/TLS +
+ +
Session
+
Les informations sur le contexte d'une communication en général.
+ +
Signature numérique + (Digital Signature)
+
Un bloc de texte crypté qui valide un certificat ou un autre fichier. + Une Autorité de certification + crée une signature en générant une empreinte de la Clé publique + fournie avec le Certificat; la CA chiffre ensuite l'empreinte + avec sa propre Clé privée. Seule la clé publique de la CA + peut décrypter la signature, ce qui permet de vérifier que la CA a bien + authentifié l'entité du réseau qui possède le + Certificat.
+ Voir : chiffrement SSL/TLS +
+ +
SSLeay
+
La bibliothèque originelle d'implémentation de SSL/TLS développée par + Eric A. Young +
+ +
Texte crypté +(Ciphertext)
+
Le résultat du passage d'un document + Plaintext (Plein texte) par un + Cipher.
+ Voir : chiffrement SSL/TLS +
+ +
Type MIME (MIME-type)
+
Une méthode pour décrire le type de document transmis. Son nom + vient du fait que son format est issu des Multipurpose + Internet Mail Extensions (Extensions Multi-usages de la + Messagerie par Internet) . Il comprend un type majeur et un type + mineur, séparés par un slash (barre oblique). On trouve + entre autres types text/html, + image/gif, et application/octet-stream. Dans + HTTP, le type MIME est transmis dans l' + en-tête Content-Type.
+ Voir : mod_mime +
+ + +
+ Variable d'environnement + (Environment Variable) (env-variable)
+
Ce sont des variables nommées gérées par le shell du système + d'exploitation, et servant au stockage d'informations et à la + communication entre les programmes. Apache possède aussi des variables + internes considérées comme variables d'environnement, mais stockées dans + des structures internes à Apache, et non dans l'environnement + du shell.
+ Voir : Les variables d'environnement dans Apache +
+ +
X.509
+
Une norme de certificat d'authentification recommandée par l'International + Telecommunication Union (ITU-T) et utilisée pour + l'authentification SSL/TLS.
Voir : chiffrement SSL/TLS +
+
+
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html.ja.utf8 b/docs/manual/glossary.html.ja.utf8 new file mode 100644 index 0000000..e42d321 --- /dev/null +++ b/docs/manual/glossary.html.ja.utf8 @@ -0,0 +1,482 @@ + + + + + +用語 - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

用語

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ã“ã®ç”¨èªžé›†ã§ã¯ Apacheã«ç‰¹åŒ–ã—ãŸç”¨èªžã¨ã€ + ウェブサーãƒå…¨èˆ¬ã§ä¸€èˆ¬çš„ãªç”¨èªžã‚’ã„ãã¤ã‹å®šç¾©ã—ã¦ã„ã¾ã™ã€‚ + ãã‚Œãžã‚Œã®æ¦‚念ã®ã€ã‚ˆã‚Šè©³ç´°ãªæƒ…å ±ã¯ãƒªãƒ³ã‚¯å…ˆã«ã‚ã‚Šã¾ã™ã€‚

+
+
top
+
+

定義

+ +
+
アクセス制御
+
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯èªå¯é ˜åŸŸã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã—ã¾ã™ã€‚Apache ã«ãŠã„ã¦ã¯ã€ + 普通ã¯ã‚¢ã‚¯ã‚»ã‚¹ã®åˆ¶é™ã¯ URL ã«å¯¾ã™ã‚‹ã‚‚ã®ã¨ãªã‚Šã¾ã™ã€‚
+ å‚ç…§: èªè¨¼ã€æ‰¿èªã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ +
+ +
アルゴリズム
+
有é™å›žã®ã‚¹ãƒ†ãƒƒãƒ—ã§å•é¡Œã‚’解ããŸã‚ã®ã‚ã„ã¾ã„ã§ãªã„å¼ã‚‚ã—ãã¯è¦å‰‡ã® + 集åˆã€‚æš—å·ã®ãŸã‚ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯é€šå¸¸ Cipher ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ +
+ +
APache + eXtension Tool (apxs)
+
モジュール ソースを + 動的共有オブジェクト (DSO) ã«ã‚³ãƒ³ãƒ‘イルã—〠+ Apache Web サーãƒã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹æ‰‹åŠ©ã‘ã‚’ã™ã‚‹ perl スクリプト。
+ å‚ç…§: マニュアルページ: apxs +
+ +
Apache Portable Runtime (APR)
+
サーãƒ(訳注: Apache HTTP Server)㨠OS ã® + é–“ã®åŸºæœ¬çš„ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®å¤šãã‚’æä¾›ã™ã‚‹(訳注: + OS ã®å·®ã‚’å¸åŽã™ã‚‹)ライブラリã®ã‚»ãƒƒãƒˆã€‚ APR 㯠独立ã—㟠+ プロジェクトã¨ã—㦠Apache HTTP Server ã¨å¹³è¡Œã—ã¦é–‹ç™ºãŒè¡Œã‚ã‚Œã¦ã„ã¾ã™ã€‚
+ å‚ç…§: Apache Portable Runtime + プロジェクト +
+ +
èªè¨¼
+
サーãƒã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã€ãƒ¦ãƒ¼ã‚¶ã¨ã„ã£ãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã® + 身元ã®ç‰¹å®šã€‚
+ å‚ç…§: èªè¨¼ã€æ‰¿èªã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ +
+ +
証明書
+
サーãƒã‚„クライアントã¨ã„ã£ãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’èªè¨¼ã™ã‚‹ã®ã« + 使用ã•ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ¬ã‚³ãƒ¼ãƒ‰ã€‚証明書ã«ã¯ (subject ã¨å‘¼ã°ã‚Œã‚‹) 所有者ã¨ã€ + (issuer ã¨å‘¼ã°ã‚Œã‚‹) èªè¨¼å±€ ã®ç½²åã€æ‰€æœ‰è€…ã® + å…¬é–‹éµ ã¨ã€CA ã«ã‚ˆã‚‹ç½²åã¨ã„ㆠ+ X.509 ã®æƒ…å ±ãŒå«ã¾ã‚Œã¾ã™ã€‚ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ãれらã®ç½²åã‚’ + CA 証明書を使ã£ã¦æ¤œè¨¼ã—ã¾ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
証明書署åリクエスト + (訳注: Certificate Signing Request) + (CSR)
+
èªè¨¼å±€ ã«æ出 + ã™ã‚‹æœªç½²å㮠証明書。 + èªè¨¼å±€ã¯ CA 証明書 ã® ç§˜å¯†éµ ã§ç½²åã—ã¾ã™ã€‚ + 一旦 CSR ã«ç½²åãŒãªã•ã‚Œã‚‹ã¨ã€ãã‚Œã¯æœ¬ç‰©ã®è¨¼æ˜Žæ›¸ã«ãªã‚Šã¾ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
証明局 + (訳注: Certification Authority) + (CA)
+
安全ãªæ–¹æ³•ã§èªè¨¼ã‚’è¡Œãªã£ãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®è¨¼æ˜Žæ›¸ã‚’ + ç½²åã™ã‚‹ãŸã‚ã®ä¿¡é ¼ã§ãる第三者機関。他ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ + 証明書ã®ä¿æŒè€…㌠CA ã«èªè¨¼ã•ã‚ŒãŸã‹ã‚’ç½²åを検証ã™ã‚‹ã“ã¨ã§èª¿ã¹ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
Cipher
+
データ暗å·åŒ–ã®ãŸã‚ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã€‚例ãˆã° DES, IDEA, RC4 ãªã©ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
æš—å·æ–‡
+
平文 ㌠+ Cipher ã‚’ã‹ã‘られãŸçµæžœã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
Common + Gateway Interface (CGI)
+
外部プログラムãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ã“ã¨ãŒã§ãるよã†ã«ã™ã‚‹ãŸã‚ã® + ウェブサーãƒã¨å¤–部プログラム間ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®æ¨™æº–仕様。 + インタフェースã¯å…ƒã€… NCSA ã«ã‚ˆã‚Šå®šç¾© + ã•ã‚Œã¦ã„ã¾ã—ãŸãŒ + RFC プロジェクト も存在ã—ã¾ã™ã€‚
+ å‚ç…§: CGI ã«ã‚ˆã‚‹å‹•çš„コンテンツ +
+ +
設定ディレクティブ
+
å‚ç…§: ディレクティブ
+ +
設定ファイル
+
Apache ã®è¨­å®šã‚’制御ã™ã‚‹ ディレクティブ + ã®æ›¸ã‹ã‚ŒãŸãƒ†ã‚­ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã€‚
+ å‚ç…§: 設定ファイル +
+ +
CONNECT
+
データãƒãƒ£ãƒãƒ«ã‚’ãã®ã¾ã¾ HTTP 上ã§ãƒ—ロキシã™ã‚‹ãŸã‚ã® HTTP + メソッド。SSL ã®ã‚ˆã†ãªä»–ã® + プロトコルをãã‚‹ã‚€ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ +
+ +
コンテキスト
+
設定ファイル 中ã§ã€ + 特定ã®ç¨®é¡žã® ディレクティブ ãŒè¨±å¯ã•ã‚Œã¦ã„る場所。
+ å‚ç…§: Apache ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã® + 説明ã«ä½¿ã‚ã‚Œã¦ã„る用語 +
+ +
デジタル署å
+
証明書や他ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’検証ã™ã‚‹ãŸã‚ã®æš—å·åŒ–ã•ã‚ŒãŸãƒ†ã‚­ã‚¹ãƒˆãƒ–ロック。 + èªè¨¼å±€ 㯠+ 証明書 ã«åŸ‹ã‚è¾¼ã¾ã‚ŒãŸ å…¬é–‹éµ ã®ãƒãƒƒã‚·ãƒ¥ã‚’作æˆã—〠+ ãã‚Œã‚’è‡ªèº«ã® ç§˜å¯†éµ ã§æš—å·åŒ–ã™ã‚‹ã“ã¨ã§ç½²åを作æˆã—ã¾ã™ã€‚ + CA ã®å…¬é–‹éµã§ã®ã¿ãã®ç½²åを復å·ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã®ã§ã€ãã‚Œã«ã‚ˆã‚Š + 証明書 ã‚’ä¿æœ‰ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’ CA ãŒèªè¨¼ã—㟠+ ã“ã¨ã‚’検証ã§ãã¾ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
ディレクティブ
+
Apache ã®ã„ã‚ã„ã‚ãªæŒ¯ã‚‹èˆžã„を制御ã™ã‚‹è¨­å®šã‚³ãƒžãƒ³ãƒ‰ã€‚ディレクティブ㯠+ 設定ファイル ã« + 書ã‹ã‚Œã¾ã™ã€‚
+ å‚ç…§: ディレクティブ索引 +
+ +
動的 + 共有オブジェクト (訳注: Dynamic + Shared Object) (DSO)
+
å¿…è¦ã«å¿œã˜ã¦èª­ã¿è¾¼ã‚€ã“ã¨ãŒå¯èƒ½ãªã€Apache httpd ã¨ã¯ + 別ã«ã‚³ãƒ³ãƒ‘イルã•ã‚ŒãŸ モジュール
+ å‚ç…§: 動的共有オブジェクトサãƒãƒ¼ãƒˆ +
+ +
環境変数 + (env-variable)
+
情報をä¿ç®¡ã—ãŸã‚Šã€ãƒ—ログラム間ã®é€šä¿¡ã‚’ã™ã‚‹ãŸã‚ã«ä½¿ã‚れる〠+ オペレーティングシステムã®ã‚·ã‚§ãƒ«ã«ã‚ˆã‚Šç®¡ç†ã•ã‚Œã¦ã„ã‚‹åå‰ä»˜ãã®å¤‰æ•°ã€‚ + Apache も環境変数ã¨å‘¼ã°ã‚Œã‚‹å†…部変数をæŒã£ã¦ã„ã¾ã™ãŒã€ã“ã¡ã‚‰ã¯ + シェル環境ã§ã¯ãªãã€Apache ã®å†…部構造体ã«ä¿æŒã•ã‚Œã¦ã„ã¾ã™ã€‚
+ å‚ç…§: Apache ã®ç’°å¢ƒå¤‰æ•° +
+ +
輸出強度削減 + (訳注: Export-Crippled)
+
アメリカ㮠Export Administration Regulations (EAR) + (訳注: 輸出管ç†è¦å‰‡) ã«å¾“ã†ãŸã‚ã«æš—å·ã®å¼·åº¦ (ã¨ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£) + を削減ã™ã‚‹ã“ã¨ã€‚輸出強度削減ã•ã‚ŒãŸæš—å·ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯å°ã•ã„キー㫠+ 制é™ã•ã‚Œã€é€šå¸¸ç·å½“ãŸã‚Šæ”»æ’ƒã§å¾©å·ã§ãã¦ã—ã¾ã† æš—å·æ–‡ を生æˆã™ã‚‹ + ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
フィルタ
+
サーãƒã‹ã‚‰é€ã‚‰ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ã¨ã‚µãƒ¼ãƒãŒå—ã‘å–るデータã«é©ç”¨ã•ã‚Œã‚‹å‡¦ç†ã€‚ + 入力フィルタã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã‚µãƒ¼ãƒã«é€ã‚‰ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã—〠+ 出力フィルタã¯ã‚µãƒ¼ãƒã«ã‚る文書をクライアントã«é€ã‚‹å‰ã«å‡¦ç†ã—ã¾ã™ã€‚ + 例ãˆã°ã€INCLUDES 出力フィルタ㯠+ Server Side Includes ã®æ–‡æ›¸ã‚’ + 処ç†ã—ã¾ã™ã€‚
+ å‚ç…§: フィルタ +
+ +
完全修飾ドメインå + (訳注: Fully-Qualified Domain-Name) + (FQDN)
+
IP アドレスã«è§£æ±ºã§ãるホストåã¨ã€ãƒ‰ãƒ¡ã‚¤ãƒ³åã‹ã‚‰ãªã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ + エンティティã®ä¸€æ„ãªåå‰ã€‚例ãˆã°ã€www ã¯ãƒ›ã‚¹ãƒˆåã§ã€ + example.com ã¯ãƒ‰ãƒ¡ã‚¤ãƒ³åãªã®ã§ã€ + www.example.com ã¯å®Œå…¨ä¿®é£¾ãƒ‰ãƒ¡ã‚¤ãƒ³åã«ãªã‚Šã¾ã™ã€‚
+ +
ãƒãƒ³ãƒ‰ãƒ©
+
ファイルãŒå‘¼ã°ã‚ŒãŸã¨ãã«è¡Œãªã‚れる動作㮠Apache ã®å†…部ã§ã®è¡¨ç¾ã€‚ + 一般ã«ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¨®é¡žã«å¿œã˜ã¦æš—é»™ã®ãƒãƒ³ãƒ‰ãƒ©ãŒè¨­å®šã•ã‚Œã¦ + ã„ã¾ã™ã€‚普通ã¯ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚µãƒ¼ãƒã«ã‚ˆã‚Šé€ã‚‰ã‚Œã¾ã™ãŒã€åˆ¥ã« + 扱ã‚れる (訳注: handle) ファイルã®ç¨®é¡žã‚‚存在ã—ã¾ã™ã€‚ + 例ãˆã° cgi-script ã¯ãƒ•ã‚¡ã‚¤ãƒ«ãŒ + CGI ã¨ã—ã¦å‡¦ç†ã•ã‚Œã‚‹ã‚ˆã†ã«æŒ‡å®šã—ã¾ã™ã€‚
+ å‚ç…§: Apache ã®ãƒãƒ³ãƒ‰ãƒ©ã®ä½¿ç”¨ +
+ +
ãƒãƒƒã‚·ãƒ¥
+
ä»»æ„ã®æ–‡å­—列ã‹ã‚‰å›ºå®šé•·ã®æ–‡å­—列を生æˆã™ã‚‹ã€æ•°å­¦çš„ãªä¸€æ–¹å‘ã§ä¸å¯é€†ãª + アルゴリズム。異ãªã£ãŸå…¥åŠ›æ–‡å­—列ã‹ã‚‰ã¯æ™®é€šã¯é•ã†ãƒãƒƒã‚·ãƒ¥ãŒç”Ÿæˆã•ã‚Œã¾ã™ + (ãƒãƒƒã‚·ãƒ¥é–¢æ•°ã«ä¾å­˜ã—ã¾ã™)。
+ +
ヘッダ
+
実際ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®å‰ã«é€ã‚‰ã‚Œã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を説明ã™ã‚‹ãƒ¡ã‚¿æƒ…報㮠+ å…¥ã£ãŸ HTTP リクエストã¨å¿œç­”ã®ä¸€éƒ¨åˆ†ã€‚
+ +
.htaccess
+
ウェブツリーã«ç½®ã‹ã‚Œã¦ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã‚µãƒ–ディレクトリ㫠+ ディレクティブ ã‚’é©ç”¨ã™ã‚‹ + 設定ファイル。 + åå‰ã¨ã¯è£è…¹ã«ã€ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã ã‘ã§ãªã〠+ ã»ã¨ã‚“ã©ã©ã‚“ãªç¨®é¡žã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã‚‚書ãã“ã¨ãŒã§ãã¾ã™ã€‚
+ å‚ç…§: 設定ファイル +
+ +
httpd.conf
+
メイン㮠Apache 設定 + ファイル。デフォルトã®å ´æ‰€ã¯ + /usr/local/apache2/conf/httpd.conf + ã§ã™ãŒã€å®Ÿè¡Œæ™‚やコンパイル時ã®è¨­å®šã«ã‚ˆã‚Šé•ã†å ´æ‰€ã«ç§»å‹•ã•ã‚Œã¦ + ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ å‚ç…§: 設定ファイル +
+ +
HyperText Transfer Protocol + (HTTP)
+
World Wide Web ã§ä½¿ã‚れる標準ã®è»¢é€ãƒ—ロトコル。Apache + 㯠HTTP/1.1 ã¨å‘¼ã°ã‚Œã€RFC 2616 + ã§å®šç¾©ã•ã‚Œã¦ã„るプロトコルã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.1 を実装ã—ã¦ã„ã¾ã™ã€‚
+ +
HTTPS
+
The HyperText Transfer Protocol (Secure), + World Wide Web ã§ã®æš—å·åŒ–ã•ã‚ŒãŸæ¨™æº–ã®é€šä¿¡æ©Ÿæ§‹ã€‚ã“ã‚Œã¯å®Ÿéš›ã¯ + å˜ã« SSL 上ã§ã® HTTP ã§ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
メソッド
+
HTTP ã®æ–‡è„ˆã§ã¯ã€ + クライアントã‹ã‚‰æŒ‡å®šã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆè¡Œã«å¯¾å¿œã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ + ã«å¯¾ã—ã¦è¡Œãªã†å‹•ä½œã€‚HTTP ã§ã¯ GET, POST, + PUT ã¨ã„ã£ãŸã‚ˆã†ãªãƒ¡ã‚½ãƒƒãƒ‰ãŒã‚ã‚Šã¾ã™ã€‚
+ +
メッセージダイジェスト
+
メッセージã®ãƒãƒƒã‚·ãƒ¥ã§ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å†…容ãŒè»¢é€æ™‚ã«å¤‰æ›´ã•ã‚Œã¦ã„ãªã„ã“ã¨ã®æ¤œè¨¼ã« + 使ãˆã‚‹ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
MIME タイプ
+
é€ä¿¡ã•ã‚Œã¦ã„るドキュメントã®ç¨®é¡žã‚’表ã™ãŸã‚ã®æ–¹æ³•ã€‚ + ã“ã®åå‰ã¯ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆãŒ Multipurpose Internet Mail Extensions ã‹ã‚‰ + 借りã¦ã“られãŸã“ã¨ã«ã‚ˆã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§åˆ†é›¢ã•ã‚ŒãŸã€ + 主タイプã¨å‰¯ã‚¿ã‚¤ãƒ—ã‹ã‚‰ãªã‚Šã¾ã™ã€‚例ãˆã°ã€text/html, + image/gif, application/octet-stream ãªã© + ãŒã‚ã‚Šã¾ã™ã€‚HTTP ã§ã¯ã€MIME タイプ㯠Content-Type + ヘッダ ã§é€ä¿¡ã•ã‚Œã¾ã™ã€‚
+ å‚ç…§: mod_mime +
+ +
モジュール
+
プログラムã®ç‹¬ç«‹ã—ãŸä¸€éƒ¨åˆ†ã€‚Apache ã®æ©Ÿèƒ½ã®å¤šãã¯ä½¿ç”¨ã™ã‚‹ã‹ã—ãªã„ã‹ã‚’ + é¸æŠžã§ãるモジュールã®ä¸­ã«ã‚ã‚Šã¾ã™ã€‚Apache httpd + ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„るモジュールã¯é™çš„モジュールã¨å‘¼ã°ã‚Œã€ + 別ã«ä¿å­˜ã•ã‚Œã€å®Ÿè¡Œæ™‚ã«èª­ã¿è¾¼ã‚€ã“ã¨ã®ã§ãるモジュール㯠+ 動的モジュール ã‚‚ã—ã㯠DSO 㨠+ 呼ã°ã‚Œã¾ã™ã€‚デフォルトã§å«ã¾ã‚Œã¦ã„るモジュールã¯base モジュール + ã¨å‘¼ã°ã‚Œã¾ã™ã€‚Apache HTTP サーãƒã® tarball + ã®ä¸€éƒ¨ã¨ã—ã¦ã¯é…られã¦ã„ãªã„ Apache 用ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã™ã€‚ + ãれら㯠サードパーティモジュール ã¨å‘¼ã°ã‚Œã¾ã™ã€‚
+ å‚ç…§: モジュール索引 +
+ +
Module Magic + Number (MMN)
+
Apache ソースコードã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒã‚¤ãƒŠãƒªäº’æ›æ€§ã« + é–¢ã™ã‚‹å®šæ•°ã€‚ãƒã‚¤ãƒŠãƒªäº’æ›æ€§ãŒä¿ã¦ãªããªã‚‹ã‚ˆã†ãª Apache 内部ã®æ§‹é€ ä½“や〠+ 関数呼ã³å‡ºã—ã€ãã®ä»–ã® API ã®é‡è¦ãªéƒ¨åˆ†ã®å¤‰æ›´ãŒã‚ã£ãŸã¨ãã«å¤‰æ›´ã•ã‚Œã¾ã™ã€‚ + MMN ãŒå¤‰ã‚ã‚‹ã¨ã€ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ‰ãƒ‘ーティモジュールã¯å°‘ãªãã¨ã‚‚å†ã‚³ãƒ³ãƒ‘イルを + ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã€å ´åˆã«ã‚ˆã£ã¦ã¯æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Apache ã§å‹•ä½œã™ã‚‹ãŸã‚ã« + å°‘ã—変更ã™ã‚‹å¿…è¦ã•ãˆã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ +
OpenSSL
+
SSL/TLS 用ã®ã‚ªãƒ¼ãƒ—ンソースツールキット
+ å‚ç…§ http://www.openssl.org/# +
+ +
パスフレーズ
+
秘密éµã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä¿è­·ã™ã‚‹ãŸã‚ã®èªžå¥ã€‚権é™ã®ç„¡ã„ユーザ㌠+ æš—å·åŒ–ã™ã‚‹ã®ã‚’防ãŽã¾ã™ã€‚通常ã¯å˜ã« Cipher ã®ç§˜å¯†ã®æš—å·ç”¨ã¨å¾©å·ç”¨ã®ã‚­ãƒ¼ã§ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
平文
+
æš—å·åŒ–ã•ã‚Œã¦ã„ãªã„テキスト。
+ +
秘密éµ
+
å—ã‘å–るメッセージã®å¾©å·ã¨é€å‡ºã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ç½²åã«ä½¿ã‚れる〠+ 公開éµæš—å· ã® + 秘密éµã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
プロキシ
+
クライアント㨠オリジンã®ã‚µãƒ¼ãƒ ã®é–“ã«å­˜åœ¨ã™ã‚‹ä¸­é–“サーãƒã€‚ + クライアントã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã‚Šã€ã‚ªãƒªã‚¸ãƒ³ã®ã‚µãƒ¼ãƒã«é€ä¿¡ã—ã¦ã€ã‚ªãƒªã‚¸ãƒ³ã® + サーãƒã‹ã‚‰ã®å¿œç­”をクライアントã«è¿”ã—ã¾ã™ã€‚複数ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒåŒã˜ + コンテンツをè¦æ±‚ã™ã‚‹å ´åˆã¯ã€æ¯Žå›žå…ƒã®ã‚µãƒ¼ãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹ä»£ã‚ã‚Š + プロキシã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’é€ã‚Šã€å¿œç­”時間を短縮ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚
+ å‚ç…§: mod_proxy +
+ +
公開éµ
+
所有者ã«å‘ã‘られãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æš—å·åŒ–ã¨æ‰€æœ‰è€…ã«ã‚ˆã‚‹ç½²åã®å¾©å·ã«ä½¿ã‚れる〠+ 公開éµæš—å·ã‚·ã‚¹ãƒ†ãƒ ã« + ãŠã‘ã‚‹å…¬ã‘ã«ã•ã‚Œã¦ã„ã‚‹éµã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
公開éµæš—å·
+
ã‚ã‚‹éµã‚’æš—å·ã«ä½¿ã„ã€åˆ¥ã®éµã‚’復å·ã«ä½¿ã†éžå¯¾ç§°æš—å·ã‚·ã‚¹ãƒ†ãƒ ã«ã¤ã„ã¦ã®ç ”究や + ãã®å¿œç”¨ã‚’指ã™ã€‚対応ã™ã‚‹éµã¯ã‚­ãƒ¼ãƒšã‚¢ã¨å‘¼ã°ã‚Œã¾ã™ã€‚éžå¯¾ç§°æš—å·ã¨ã‚‚呼ã°ã‚Œã¾ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
æ­£è¦è¡¨ç¾ + (Regex)
+
テキストã®ãƒ‘ターンを表ç¾ã™ã‚‹æ–¹å¼ã®ä¸€ã¤ã€‚例ãˆã°ã€ + 「A ã§å§‹ã¾ã‚‹ã™ã¹ã¦ã®å˜èªžã€ã‚„「ã™ã¹ã¦ã® 10 æ¡ã®é›»è©±ç•ªå·ã€ã‚„〠+ 「コンマãŒäºŒã¤ã‚ã‚Šã€å¤§æ–‡å­—ã® Q ãŒãªã„ã™ã¹ã¦ã®æ–‡ã€ã¨ã„ã†ã®ã§ã•ãˆè¡¨ç¾ + ã§ãã¾ã™ã€‚ + æ­£è¦è¡¨ç¾ã¯ Apache ã«ãŠã„ã¦ã‚‚便利ãªã‚‚ã®ã§ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚„リソースã®é›†ã¾ã‚Šã«å¯¾ã—㦠+ 何らã‹ã®å±žæ€§ã‚’é©ç”¨ã™ã‚‹ã“ã¨ãŒã¨ã¦ã‚‚柔軟ã«ã§ãã¾ã™ã€‚例ãˆã°ã€ + ã™ã¹ã¦ã® "images" ディレクトリã®ä¸‹ã®ã€ã™ã¹ã¦ã® .gif 㨠.jpg ファイル + 㯠/images/.*(jpg|gif)$ ã¨æ›¸ãã“ã¨ãŒã§ãã¾ã™ã€‚ + Apache ã§ã¯ PCRE ライブラリãŒæä¾›ã™ã‚‹ + Perl 互æ›æ­£è¦è¡¨ç¾ (訳注: Perl Compatible Regular Expressions) + を使ã„ã¾ã™ã€‚
+ +
リãƒãƒ¼ã‚¹ãƒ—ロキシ
+
クライアントã«ã¯ オリジンã®ã‚µãƒ¼ãƒ ã®ã‚ˆã†ã«è¦‹ãˆã‚‹ + プロキシ サーãƒã€‚セキュリティ㮠+ ãŸã‚ã‚„ã€è² è·åˆ†æ•£ã®ãŸã‚ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã‚ªãƒªã‚¸ãƒ³ã®ã‚µãƒ¼ãƒã‚’éš ã—ãŸã„ã¨ãã« + 便利ã§ã™ã€‚
+ +
Secure Sockets + Layer (SSL)
+
Netscape Communications Corporation ã«ã‚ˆã‚Š + TCP/IP ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§ä¸€èˆ¬ã®é€šä¿¡ã®èªè¨¼ã¨æš—å·ç”¨ã«ä½œã‚‰ã‚ŒãŸãƒ—ロトコル。 + 最もよã使ã‚ã‚Œã¦ã„ã‚‹ã‚‚ã®ã¯ HTTPS ã¤ã¾ã‚Š SSL 上ã§ã® + HyperText Transfer Protocol (HTTP) ã§ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
Server Side + Includes (SSI)
+
HTML ファイル中ã«å‡¦ç†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を埋ã‚込む技術ã®ä¸€ã¤ã€‚
+ å‚ç…§: Server Side Includes 入門 +
+ +
セッション
+
一般的ãªé€šä¿¡ã«ãŠã‘る文脈情報。
+ +
SSLeay
+
Eric A. Young æ°ã«ã‚ˆã‚‹ SSL/TLS を実装ã—ãŸå…ƒã€…ã®ãƒ©ã‚¤ãƒ–ラリ。
+ +
å¯¾ç§°æš—å· +
+
一ã¤ã®ç§˜å¯†éµã‚’æš—å·åŒ–ã¨å¾©å·ã®ä¸¡æ–¹ã«ä½¿ã† Cipher ã® + 研究や応用を指ã™ã€‚
+ +
Tarball
+
tar ユーティリティを使ã£ã¦ã¾ã¨ã‚られãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ッケージ。 + Apache é…布ã¯åœ§ç¸®ã•ã‚ŒãŸ tar アーカイブ㋠pkzip ã§ä¿ç®¡ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ +
Transport + Layer Security (TLS)
+
TCP/IP ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§ã®ä¸€èˆ¬é€šä¿¡ã®èªè¨¼ã¨æš—å·åŒ–用㫠+ Internet Engineering Task Force (IETF) ã«ã‚ˆã‚Šä½œæˆã•ã‚ŒãŸ SSL ã® + 後継プロトコル。TLS ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1 㯠SSL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 ã¨ã»ã¼åŒã˜ã§ã™ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+ +
Uniform + Resource Locator (URL)
+
Internet ã®ãƒªã‚½ãƒ¼ã‚¹ã®åå‰ã€ã‚‚ã—ãã¯ã‚¢ãƒ‰ãƒ¬ã‚¹ã€‚ã“ã‚Œã¯æ­£å¼ã«ã¯ + Uniform Resource Identifier + ã¨å‘¼ã°ã‚Œã‚‹ã‚‚ã®ã®ã‚ˆã使ã‚れるéžå…¬å¼ãªåå‰ã§ã™ã€‚URL ã¯æ™®é€šã¯ã€ + http ã‚„ https ã¨ã„ã£ãŸã‚¹ã‚­ãƒ¼ãƒ ã¨ãƒ›ã‚¹ãƒˆå〠+ パスã‹ã‚‰ãªã‚Šã¾ã™ã€‚ã“ã®ãƒšãƒ¼ã‚¸ã® URL ã¯ãŠãらã + http://httpd.apache.org/docs/2.4/glossary.html + ã¨æ€ã‚ã‚Œã¾ã™ã€‚ +
+ +
Uniform Resource Identifier + (URI)
+
抽象的ãªãƒªã‚½ãƒ¼ã‚¹ã‚„物ç†ãƒªã‚½ãƒ¼ã‚¹ã‚’åŒå®šã™ã‚‹ãŸã‚ã®ã‚³ãƒ³ãƒ‘クトãªæ–‡å­—列。 + æ­£å¼ã«ã¯ RFC 2396 㧠+ 定義ã•ã‚Œã¦ã„ã¾ã™ã€‚WWW ã§ä½¿ã‚ã‚Œã¦ã„ã‚‹ URI ã¯é€šå¸¸ + URL ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ +
+ +
ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
+
一ã¤ã® Apache を使ã£ã¦è¤‡æ•°ã®ã‚¦ã‚§ãƒ–サイトを扱ã†ã“ã¨ã€‚ + IP ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ 㯠IP アドレスを使ã£ã¦ã‚¦ã‚§ãƒ–サイトを + 区別ã—ã¾ã™ã€‚ã¾ãŸ åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ 㯠+ ホストã®åå‰ã ã‘を使ã£ã¦åŒºåˆ¥ã™ã‚‹ã®ã§ã€åŒã˜ IP アドレス上ã§ã®å¤šãã®ã‚µã‚¤ãƒˆã‚’ + ホストã§ãã¾ã™ã€‚
+ å‚ç…§: Apache ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®æ–‡æ›¸ +
+ +
X.509
+
SSL/TLS èªè¨¼ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹ International + Telecommunication Union (ITU-T) ã«ã‚ˆã‚ŠæŽ¨å¥¨ã•ã‚Œã¦ã„ã‚‹èªè¨¼è¨¼æ˜Žæ›¸ã®å½¢å¼ã€‚
+ å‚ç…§: SSL/TLS æš—å·åŒ– +
+
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html.ko.euc-kr b/docs/manual/glossary.html.ko.euc-kr new file mode 100644 index 0000000..6fab105 --- /dev/null +++ b/docs/manual/glossary.html.ko.euc-kr @@ -0,0 +1,396 @@ + + + + + +¿ë¾î - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¿ë¾î

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â À¥ ¼­ºñ½º ÀϹݿ¡ ´ëÇÑ, ƯÈ÷ ¾ÆÆÄÄ¡¿Í °ü·ÃµÈ, ¿ë¾îµéÀ» +Á¤ÀÇÇÑ´Ù. °¢ °³³ä¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ¸µÅ©¸¦ Âü°íÇ϶ó. +(¿ªÁÖ; ÇöÀç ´Ü¾îÀÇ ¼ø¼­´Â ÇÑ±Û ¼ø¼­°¡ ¾Æ´Ï¶ó, ¿µ¹®ÀÚ +¼ø¼­ÀÔ´Ï´Ù. ¿ë¾î¹ø¿ªÇ¥´Â ¿©±â¸¦ +Âü°íÇÏ±æ ¹Ù¶ø´Ï´Ù.)

+
+
top
+
+

Á¤ÀÇ

+ +
+
Á¢±ÙÁ¦¾î (Access Control)
+
³×Æ®¿÷ ¿µ¿ª¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦ÇÑ. ¾ÆÆÄÄ¡¿¡¼­´Â º¸Åë ƯÁ¤ +URLÀÇ Á¢±ÙÀ» Á¦ÇÑÇϱâÀ§ÇØ »ç¿ëÇÑ´Ù.
Âü°í: ÀÎÁõ, ±ÇÇѺο©, Á¢±ÙÁ¦¾î
+ +
¾Ë°í¸®Áò (Algorithm)
+
À¯ÇÑÇÑ ´Ü°è¸¦ °ÅÃÄ ¹®Á¦¸¦ Ǫ´Â ¸íÈ®ÇÑ °ø½Ä ȤÀº ±ÔÄ¢µé. +¾Ïȣȭ¸¦ À§ÇÑ ¾Ë°í¸®ÁòÀ» º¸Åë ¾ÏÈ£±â(Ciphers)¶ó°í +ºÎ¸¥´Ù.
+ +
APache eXtension Tool +(apxs)
¸ðµâ +(module) ¼Ò½º¸¦ µ¿Àû°øÀ¯°´Ã¼ (DSO)·Î +ÄÄÆÄÀÏÇÏ°í ¾ÆÆÄÄ¡ À¥¼­¹ö¿¡ ¼³Ä¡ÇÏ´Â ÀÛ¾÷À» µ½´Â perl +½ºÅ©¸³Æ®.
Âü°í: Manpage: +apxs
+ +
ÀÎÁõ (Authentication)
+
¼­¹ö, Ŭ¶óÀ̾ðÆ®, »ç¿ëÀÚ µî ³×Æ®¿÷ ½Çü¿¡ ´ëÇÑ +È®ÀÎ.
Âü°í: ÀÎÁõ, ±ÇÇѺο©, +Á¢±ÙÁ¦¾î
+ +
ÀÎÁõ¼­ (Certificate)
+
¼­¹ö³ª Ŭ¶óÀ̾ðÆ®¿Í °°Àº ³×Æ®¿÷ ½Çü¸¦ ÀÎÁõÇÏ´Â ÀÚ·á. + ÀÎÁõ¼­¿¡´Â ¼ÒÀ¯ÀÚ (subject¶ó°í ÇÔ), ¼­¸í ÀÎÁõ±â°ü (Certificate + Authority) (issuer¶ó°í ÇÔ), ¼ÒÀ¯ÀÚÀÇ °ø°³Å°, CA°¡ ¸¸µç ¼­¸í µî¿¡ ´ëÇÑ + X.509 Á¤º¸°¡ ÀÖ´Ù. ³×Æ®¿÷ ½Çü´Â CA ÀÎÁõ¼­¸¦ »ç¿ëÇÏ¿© + ¼­¸íÀ» °Ë»çÇÑ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
ÀÎÁõ ¼­¸í ¿äû (Certificate +Signing Request, CSR)
ÀÎÁõ±â°ü (Certification +Authority)¿¡ Á¦ÃâÇÏ¿© CA ÀÎÁõ¼­ (Certificate)ÀÇ +°³ÀÎÅ° (Private Key)·Î ¼­¸íµÉ ¾ÆÁ÷ +¼­¸íµÇÁö¾ÊÀº ÀÎÁõ¼­. CSRÀÌ ¼­¸íµÇ¸é +½ÇÁ¦ ÀÎÁõ¼­°¡ µÈ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
ÀÎÁõ±â°ü (Certification +Authority, CA)
¾ÈÀüÇÑ ¹æ¹ýÀ¸·Î +³×Æ®¿÷ ½Çü¿¡ ´ëÇÑ ÀÎÁõÀ» ¼­¸íÇÏ´Â ½Å·ÚÇÏ´Â Á¦»ïÀÚ. ´Ù¸¥ ³×Æ®¿÷ +½ÇüµéÀº ¼­¸íÀ¸·Î CA°¡ ÀÎÁõ¼­ ¼ÒÀ¯ÀÚ¸¦ ÀÎÁõÇß´ÂÁö È®ÀÎÇÒ ¼ö +ÀÖ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
¾ÏÈ£±â (Cipher)
ÀڷḦ +¾ÏȣȭÇÏ´Â ¾Ë°í¸®ÁòÀ̳ª ½Ã½ºÅÛ. ¿¹¸¦ µé¾î, DES, IDEA, RC4 µîÀÌ ÀÖ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
¾ÏÈ£¹® (Ciphertext)
Æò¹® (Plaintext)À» ¾ÏÈ£±â +(Cipher)·Î ó¸®ÇÑ °á°ú.
Âü°í: SSL/TLS +¾Ïȣȭ
+ +
°øÅë °ÔÀÌÆ®¿þÀÌ ÀÎÅÍÆäÀ̽º +(Common Gateway Interface, CGI)
+
¿ÜºÎ ÇÁ·Î±×·¥ÀÌ ¿äûÀ» ¼­ºñ½ºÇÒ ¼ö ÀÖµµ·Ï ¸¸µç À¥¼­¹ö¿Í ¿ÜºÎ +ÇÁ·Î±×·¥ »çÀÌÀÇ ÀÎÅÍÆäÀ̽º Ç¥ÁØ. ÀÎÅÍÆäÀ̽º´Â ¿ø·¡ NCSA°¡ +Á¤ÀÇÇßÁö¸¸, RFC +ÇÁ·ÎÁ§Æ®À̱⵵ ÇÏ´Ù.
+Âü°í: CGI·Î µ¿Àû ÆäÀÌÁö »ý¼º
+ + +
¼³Á¤ Áö½Ã¾î (Configuration +Directive)
+
Âü°í: Áö½Ã¾î
+ +
¼³Á¤ÆÄÀÏ (Configuration File)
+
¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇÏ´Â Áö½Ã¾î (directive)¸¦ +Àû¾îµÐ ÅؽºÆ®ÆÄÀÏ.
+Âü°í: ¼³Á¤ÆÄÀÏ
+ +
CONNECT
+
HTTP¸¦ ÅëÇØ ÀÚ·áÈ帧À» ÇÁ·Ï½ÃÇÏ´Â HTTP ¸Þ½áµå +(method). SSL ÇÁ·ÎÅäÄÝ µî ´Ù¸¥ ÇÁ·ÎÅäÄÝÀ» °¨½Î±âÀ§ÇØ »ç¿ëÇÑ´Ù.
+ +
»ç¿ëÀå¼Ò (Context)
¼³Á¤ÆÄÀÏ (configuration file)¿¡¼­ +ƯÁ¤ Áö½Ã¾î (directive)¸¦ »ç¿ëÇÒ ¼ö +ÀÖ´Â Àå¼Ò.
Âü°í: ¾ÆÆÄÄ¡ Áö½Ã¾î¸¦ ¼³¸íÇϴµ¥ +»ç¿ëÇÑ ¿ë¾îÁ¤ÀÇ
+ +
ÀüÀÚ¼­¸í (Digital Signature)
+
ÀÎÁõ¼­³ª ´Ù¸¥ ÆÄÀÏÀ» °Ë»çÇÏ´Â ¾ÏȣȭµÈ ¹®ÀÚµé. ÀÎÁõ±â°ü (Certification + Authority)Àº ÀÎÁõ¼­ (Certificate)¿¡ Æ÷ÇÔµÈ + °ø°³Å° (Public Key)¸¦ Çؽ¬ÇÑ °á°ú¸¦ ÀÚ½ÅÀÇ + °³ÀÎÅ° (Private Key)·Î ¾ÏȣȭÇÏ¿© ¼­¸íÀ» ¸¸µç´Ù. + ¿ÀÁ÷ CAÀÇ °ø°³Å°¸¸ÀÌ ¼­¸íÀ» Ç® ¼ö Àֱ⶧¹®¿¡, CA°¡ ÀÎÁõ¼­ + (Certificate)¸¦ °¡Áø ³×Æ®¿÷ ½Çü¸¦ ÀÎÁõÇßÀ½À» Áõ¸íÇÒ + ¼ö ÀÖ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
Áö½Ã¾î (Directive)
¾ÆÆÄÄ¡ÀÇ +¿©·¯ ±â´ÉÀ» Á¶ÀýÇÏ´Â ¼³Á¤ ¸í·É¾î. Áö½Ã¾î´Â ¼³Á¤ÆÄÀÏ (Configuration File)¿¡¼­ +»ç¿ëÇÑ´Ù.
Âü°í: Áö½Ã¾î ¸ñ·Ï
+ +
µ¿Àû°øÀ¯°´Ã¼ (Dynamic Shared +Object) (DSO)
¾ÆÆÄÄ¡ httpd +½ÇÇàÆÄÀÏ°ú º°µµ·Î ÄÄÆÄÀÏÇÏ¿© ÇÊ¿äÇÒ¶§ ÀоîµéÀÏ ¼ö ÀÖ´Â ¸ðµâ (Module).
+Âü°í: µ¿Àû°øÀ¯°´Ã¼ Áö¿ø
+ +
ȯ°æº¯¼ö (Environment Variable) +(env-variable)
+
Á¤º¸¸¦ ÀúÀåÇÏ°í ÇÁ·Î±×·¥°£¿¡ Åë½ÅÀ» À§ÇØ ¿î¿µÃ¼Á¦ ½©ÀÌ °ü¸®ÇÏ´Â +º¯¼ö. ¾ÆÆÄÄ¡¿¡µµ ȯ°æº¯¼ö¶ó´Â ³»ºÎ º¯¼ö°¡ ÀÖÁö¸¸, ½© ȯ°æÀÌ +¾Æ´Ï¶ó ¾ÆÆÄÄ¡ ³»ºÎ¿¡ ÀúÀåµÈ´Ù.
+Âü°í: ¾ÆÆÄÄ¡ÀÇ È¯°æº¯¼ö
+ +
¼öÃâ¿ë (Export-Crippled)
+
¹Ì±¹ ¼öÃâ°ü¸®±ÔÁ¦(Export Administration Regulations, EAR)¸¦ + ÁؼöÇϱâÀ§ÇØ ¾ÏÈ£(¿Í º¸¾È)ÀÇ °­µµ¸¦ ³·Ãã. ¼öÃâ¿ë ¾Ïȣȭ + ¼ÒÇÁÆ®¿þ¾î´Â Å° Å©±â°¡ ÀÛ°Ô Á¦ÇѵǾî, ¾ÏÈ£¹® + (Ciphertext)À» ¹«½ÄÇÑ ¹æ¹ý(brute force)À¸·Î Ç® ¼ö ÀÖ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ (SSL/TLS Encryption)
+ +
ÇÊÅÍ (Filter)
+
¼­¹ö°¡ º¸³»°Å³ª ¹Þ´Â ÀڷḦ ó¸®ÇÏ´Â °úÁ¤. ÀÔ·ÂÇÊÅÍ´Â +Ŭ¶óÀ̾ðÆ®°¡ ¼­¹ö·Î º¸³»´Â ÀڷḦ ó¸®ÇÏ°í, Ãâ·ÂÇÊÅÍ´Â ¼­¹ö°¡ +Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³¾ ¹®¼­¸¦ ó¸®ÇÑ´Ù. ¿¹¸¦ µé¾î, +INCLUDES Ãâ·ÂÇÊÅÍ´Â ¹®¼­ÀÇ Server +Side Includes¸¦ ó¸®ÇÑ´Ù.
+Âü°í: ÇÊÅÍ
+ +
¿ÏÀüÇÑ µµ¸ÞÀθí +(Fully-Qualified Domain-Name) (FQDN)
+
IP ÁÖ¼Ò¿¡ ´ëÀÀÇÏ´Â, È£½ºÆ®¸í°ú µµ¸ÞÀθíÀ¸·Î ±¸¼ºµÈ ³×Æ®¿÷ +½ÇüÀÇ À¯ÀÏÇÑ À̸§. ¿¹¸¦ µé¾î, www°¡ È£½ºÆ®¸íÀÌ°í +example.comÀÌ µµ¸ÞÀθíÀ϶§, +www.example.comÀº ¿ÏÀüÇÑ µµ¸ÞÀθíÀÌ´Ù.
+ +
Çڵ鷯 (Handler)
+
ÆÄÀÏÀ» ¿äûÇÒ¶§ ¼öÇàÇÏ´Â ÀÛ¾÷¿¡ ´ëÇÑ ¾ÆÆÄÄ¡ ³»ºÎ Ç¥Çö. +ÀϹÝÀûÀ¸·Î ÆÄÀÏÀº ÆÄÀÏ Á¾·ù¿¡ µû¶ó ¾Ï¹¬ÀûÀÎ Çڵ鷯¸¦ °¡Áø´Ù. +º¸Åë ¸ðµç ÆÄÀÏÀº ¼­¹ö°¡ °£´ÜÈ÷ ¼­ºñ½ºÇÏÁö¸¸, ¾î¶² ÆÄÀÏ Á¾·ù´Â +µû·Î "󸮵ȴÙ(handled)". ¿¹¸¦ µé¾î, cgi-script +Çڵ鷯´Â CGI·Î ó¸®ÇÒ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù.
+Âü°í: ¾ÆÆÄÄ¡¿¡¼­ Çڵ鷯 »ç¿ë
+ +
Çì´õ (Header)
+
HTTP ¿äû°ú ÀÀ´ä¿¡¼­ ½ÇÁ¦ ³»¿ë ÀÌÀü¿¡ +º¸³»´Â ºÎºÐÀ¸·Î ³»¿ëÀ» ¼³¸íÇÏ´Â Á¤º¸°¡ ÀÖ´Ù.
+ +
.htaccess
À¥¹®¼­µé ¾È¿¡ ÀÖ´Â +¼³Á¤ÆÄÀÏ (configuration file)·Î, +¼³Á¤ Áö½Ã¾î (directive)¸¦ ÀÚ½ÅÀÌ À§Ä¡ÇÑ +µð·ºÅ丮¿Í ¸ðµç ÇÏÀ§µð·ºÅ丮¿¡ Àû¿ëÇÑ´Ù. À̸§°ú ´Þ¸® ÀÌ +ÆÄÀÏ¿¡¼­´Â ´Ü¼øÇÑ Á¢±ÙÁ¦¾î Áö½Ã¾î¿Ü¿¡ °ÅÀÇ ¸ðµç Á¾·ùÀÇ Áö½Ã¾î¸¦ +»ç¿ëÇÒ ¼ö ÀÖ´Ù.
+Âü°í: ¼³Á¤ÆÄÀÏ
+ +
httpd.conf
+
¾ÆÆÄÄ¡ ÁÖ ¼³Á¤ÆÄÀÏ (configuration +file). ±âº»ÀûÀÎ À§Ä¡´Â +/usr/local/apache2/conf/httpd.confÀÌÁö¸¸, ½ÇÇàÇÒ¶§ +ȤÀº ÄÄÆÄÀ϶§ ¼³Á¤À¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù.
+Âü°í: ¼³Á¤ÆÄÀÏ
+ +
HyperText Transfer +Protocol (HTTP)
+
¿ùµå¿ÍÀ̵åÀ¥¿¡¼­ »ç¿ëÇϴ ǥÁØ Àü¼Û ÇÁ·ÎÅäÄÝ. ¾ÆÆÄÄ¡´Â +RFC 2616¿¡¼­ +Á¤ÀÇÇÑ HTTP/1.1À̶ó´Â ÇÁ·ÎÅäÄÝÀÇ 1.1 ¹öÀüÀ» ±¸ÇöÇÑ´Ù.
+ +
HTTPS
+
¿ùµåÈ­À̵åÀ¥ÀÇ Ç¥ÁØ ¾ÏÈ£Åë½Å ¹æ¹ý, HyperText Transfer + Protocol (Secure). »ç½Ç ¹Ø´Ü¿¡ SSLÀ» + »ç¿ëÇÑ HTTPÀÌ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
¸Þ½áµå (Method)
Ŭ¶óÀ̾ðÆ®°¡ +º¸³»´Â HTTP ¿äûÁÙÀÌ +ÀÚ¿ø¿¡ ¼öÇàÇϵµ·Ï Áö½ÃÇÑ Çൿ. HTTP ¸Þ½áµå¿¡´Â GET, +POST, PUT µîÀÌ ÀÖ´Ù.
+ +
¸Þ½ÃÁö ¿ä¾à (Message Digest)
+
¸Þ½ÃÁö ³»¿ëÀÌ Àü¼ÛÁß º¯°æµÇÁö ¾Ê¾ÒÀ½À» Áõ¸íÇϱâÀ§ÇÑ + ¸Þ½ÃÁöÀÇ Çؽ¬.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
MIME-type
Àü¼ÛÇÒ ¹®¼­ÀÇ +Á¾·ù¸¦ ¼³¸íÇÏ´Â ¹æ½Ä. Multipurpose Internet Mail Extensions +Çü½ÄÀ» ºô·Á¿Ô±â¶§¹®¿¡ ÀÌ·¸°Ô À̸§À» Áö¾ú´Ù. ½½·¡½¬¸¦ »çÀÌ¿¡ +µÐ major type°ú minor typeÀ¸·Î ÀÌ·ç¾îÁø´Ù. ¿¹¸¦ µé¸é, +text/html, image/gif, +application/octet-stream µîÀÌ´Ù. MIME-typeÀº HTTPÀÇ +Content-Type Çì´õ (header)·Î +Àü¼ÛÇÑ´Ù.
Âü°í: mod_mime
+ +
¸ðµâ (Module)
ÇÁ·Î±×·¥ÀÇ µ¶¸³µÈ +ºÎºÐ. ¸¹Àº ¾ÆÆÄÄ¡ ±â´ÉÀº ´ç½ÅÀÌ Æ÷ÇÔ¿©ºÎ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Â ¸ðµâ¿¡ +µé¾îÀÖ´Ù. ¾ÆÆÄÄ¡ httpd ½ÇÇàÆÄÀÏ°ú °°ÀÌ ÄÄÆÄÀÏÇÑ ¸ðµâÀ» Á¤Àû +¸ðµâÀ̶ó°í Çϸç, µû·Î ºÐ¸®µÇ¾î ½ÇÇà½Ã ¼±ÅÃÀûÀ¸·Î ÀоîµéÀÏ +¼ö ÀÖ´Â ¸ðµâÀ» µ¿Àû ¸ðµâ ȤÀº DSO¶ó°í +ÇÑ´Ù. ±âº»ÀûÀ¸·Î Æ÷ÇÔÇÏ´Â ¸ðµâÀ» base ¸ðµâÀ̶ó°í ÇÑ´Ù. +¾ÆÆÄÄ¡ À¥¼­¹ö Ÿº¼ (tarball)°ú °°ÀÌ +¹èÆ÷µÇÁö´Â ¾ÊÁö¸¸ ¾ÆÆÄÄ¡¿¡´Â ¸¹Àº ¸ðµâµéÀÌ ÀÖ´Ù. À̵éÀ» +Á¦»ïÀÚ°¡ ¸¸µç(third-party) ¸ðµâÀ̶ó°í ÇÑ´Ù.
+Âü°í: ¸ðµâ ¸ñ·Ï
+ +
¸ðµâ ¸¶¹ý¼ö (Module Magic Number) +(MMN)
+
¸ðµâ ¸¶¹ý¼ö´Â ¾ÆÆÄÄ¡ ¼Ò½ºÄڵ尡 Á¤ÀÇÇÑ »ó¼ö·Î, ¸ðµâÀÇ +ÀÌÁøȣȯ¼º°ú °ü·ÃÀÌ ÀÖ´Ù. ¸ðµâ ¸¶¹ý¼ö´Â ÀÌÁøȣȯ¼ºÀ» ´õ ÀÌ»ó º¸ÀåÇÒ +¼ö ¾øµµ·Ï ¾ÆÆÄÄ¡ ³»ºÎ ±¸Á¶³ª ÇÔ¼ö È£Ãâ, ´Ù¸¥ API ÀϺΰ¡ º¯°æµÈ +°æ¿ì¿¡ ¹Ù²ï´Ù. MMNÀÌ º¯Çϸé Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâÀº ¸ðµÎ ÃÖ¼ÒÇÑ ´Ù½Ã +ÄÄÆÄÀÏµÇ¾ß ÇÑ´Ù. »õ ¾ÆÆÄÄ¡ ¹öÀü¿¡ ¸Âµµ·Ï Á¶±Ý ¼öÁ¤ÇؾßÇÒ °æ¿ìµµ +ÀÖ´Ù. +
+ +
OpenSSL
+
SSL/TLS¸¦ À§ÇÑ ¿ÀǼҽº µµ±¸
+ Âü°í http://www.openssl.org/
+ +
Pass Phrase
+
°³ÀÎÅ° ÆÄÀÏÀ» º¸È£ÇÏ´Â ¹®±¸. ÀÎÁõÇÏÁö¾ÊÀº »ç¿ëÀÚ°¡ ÀÌ °³ÀÎÅ° +ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¾ÏȣȭÇÏÁö ¸øÇϵµ·Ï ÇÑ´Ù. º¸Åë ¾ÏÈ£±â +(Ciphers)°¡ »ç¿ëÇÏ´Â ºñ¹Ð½º·± ¾ÏÈ£/Çص¶ Å°ÀÌ´Ù.
Âü°í: SSL/TLS ¾Ïȣȭ
+ +
Æò¹® (Plaintext)
+
¾ÏȣȭÇÏÁö ¾ÊÀº ±Û.
+ +
°³ÀÎÅ° (Private Key)
¹ÞÀº +ÀڷḦ Çص¶ÇÏ°í º¸³»´Â ÀڷḦ ¼­¸íÇϱâÀ§ÇÑ °ø°³Å° ¾Ïȣȭ (Public Key +Cryptography) ½Ã½ºÅÛÀÇ ¾ÏȣŰ.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
ÇÁ·Ï½Ã (Proxy)
Ŭ¶óÀ̾ðÆ®¿Í +½ÇÁ¦ ¼­¹ö »çÀÌ¿¡ ÀÖ´Â Áß°£ ¼­¹ö. Ŭ¶óÀ̾ðÆ®¿¡°Ô ¿äûÀ» +¹Þ¾Æ ½ÇÁ¦ ¼­¹ö·Î º¸³»°í, ½ÇÁ¦ ¼­¹ö¿¡°Ô¼­ ¹ÞÀº ÀÀ´äÀ» ´Ù½Ã +Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³½´Ù. ¿©·¯ Ŭ¶óÀ̾ðÆ®°¡ °°Àº ³»¿ëÀ» ¿äûÇϸé +ÇÁ·Ï½Ã´Â ¸Å¹ø ¼­¹ö¿¡ ¿äûÇÏÁö¾Ê°í ij½¬¿¡ ÀúÀåµÈ ³»¿ëÀ» »ç¿ëÇÏ¿© +ÀÀ´ä½Ã°£À» ÁÙÀÏ ¼ö ÀÖ´Ù.
+Âü°í: mod_proxy
+ +
°ø°³Å° (Public Key)
°ø°³Å° ¾Ïȣȭ (Public Key +Cryptography) ½Ã½ºÅÛ¿¡¼­ Å°ÀÇ ¼ÒÀ¯ÀÚ¿¡°Ô º¸³»´Â ¹®±¸¸¦ ¾ÏȣȭÇϰųª +¼ÒÀ¯ÀÚ°¡ ¸¸µç ¼­¸íÀ» Ç®±âÀ§ÇÑ °ø°³µÈ Å°.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
°ø°³Å° ¾Ïȣȭ (Public Key +Cryptography)
+
¾ÏÈ£¿Í Çص¶¿¡ ¼­·Î ´Ù¸¥ Å°¸¦ »ç¿ëÇÏ´Â ºñ´ëĪ(asymmetric) +¾Ïȣȭ ½Ã½ºÅÛÀÇ ¿¬±¸ ¹× È°¿ë. ¾ÏÈ£¿Í Çص¶¿¡ »ç¿ëÇÏ´Â µÎ°³ÀÇ Å°´Â +Å°½Ö(key pair)À» ÀÌ·é´Ù. ºñ´ëĪ ¾Ïȣȭ¶ó°íµµ ºÎ¸¥´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
Á¤±ÔÇ¥Çö½Ä (Regular Expression) (Regex)
±ÛÀÇ ÆÐÅÏÀ» ±â¼úÇÏ´Â ¹æ½Ä. +¿¹¸¦ µé¾î, "¹®ÀÚ A·Î ½ÃÀÛÇÏ´Â ¸ðµç ´Ü¾î", "¼ýÀÚ 10°³·ÎµÈ ÀüÈ­¹øÈ£", +½ÉÁö¾î "½°Ç¥°¡ µÎ°³ÀÖ°í ´ë¹®ÀÚ Q°¡ ¾ø´Â ¹®Àå" µîÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. +Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¸é ¸Å¿ì À¯¿¬ÇÏ°Ô ÆÄÀÏÀ̳ª ÀÚ¿ø¿¡ ¾î¶² ¼ºÁúÀ» Àû¿ëÇÒ +¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, "images"¶õ µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Â ¸ðµç .gif¿Í +.jpg ÆÄÀÏÀº "/images/.*(jpg|gif)$"·Î ÁöĪÇÒ ¼ö +ÀÖ´Ù. ¾ÆÆÄÄ¡´Â PCRE ¶óÀ̺귯¸®¸¦ +»ç¿ëÇÏ¿© Perlȣȯ Á¤±ÔÇ¥Çö½ÄÀ» Áö¿øÇÑ´Ù.
+ +
¿ªÇÁ·Ï½Ã (Reverse Proxy)
+
Ŭ¶óÀ̾ðÆ®¿¡°Ô ½ÇÁ¦ ¼­¹öó·³ º¸ÀÌ´Â ÇÁ·Ï½Ã (proxy) ¼­¹ö. º¸¾È»ó ÀÌÀ¯ ȤÀº ºÎÇϸ¦ +ºÐ»êÇϱâÀ§ÇØ Å¬¶óÀ̾ðÆ®¿¡°Ô ½ÇÁ¦ ¼­¹ö¸¦ ¼û±æ¶§ À¯¿ëÇÏ´Ù.
+ +
Secure Sockets Layer (SSL)
Netscape Communications»ç°¡ TCP/IP +³×Æ®¿÷ÀÇ ÀϹÝÀûÀÎ Åë½Å ÀÎÁõ°ú ¾Ïȣȭ¸¦ À§ÇØ ¸¸µç ÇÁ·ÎÅäÄÝ. +°¡Àå ÀϹÝÀûÀÎ ¿ëµµ´Â HTTPS (HyperText Transfer Protocol +(HTTP) over SSL)ÀÌ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
Server Side Includes (SSI)
HTML ÆÄÀÏ ¾È¿¡ ó¸®Áö½Ã¾î¸¦ Æ÷ÇÔÇÏ´Â +±â¼ú.
Âü°í: Server Side Includes ¼Ò°³
+ +
¼¼¼Ç (Session)
+
ÀϹÝÀûÀ¸·Î Åë½ÅÀÇ »óȲ(context) Á¤º¸.
+ +
SSLeay
+
Eric A. YoungÀÌ °³¹ßÇÑ ¿ø·¡ SSL/TLS ±¸Çö ¶óÀ̺귯¸®
+ +
´ëĪÀû ¾ÏÈ£¹ý (Symmetric +Cryptography)
+
¾ÏÈ£¿Í Çص¶ ÀÛ¾÷¿¡ °°Àº ¾Ïȣ۸¦ »ç¿ëÇÏ´Â ¾ÏÈ£±â + (Ciphers)ÀÇ ¿¬±¸ ¹× È°¿ë.
+Âü°í: SSL/TLS Encryption
+ +
Ÿº¼ (Tarball)
+
tar µµ±¸¸¦ »ç¿ëÇÏ¿© ÆÄÀϵéÀ» ¸ðÀº ¹­À½. ¾ÆÆÄÄ¡´Â +tar ÆÄÀÏÀ» ¾ÐÃàÇϰųª pkzipÀ¸·Î ¾ÐÃàÇÏ¿© ¹èÆ÷µÈ´Ù.
+ +
Transport Layer Security (TLS)
+
ÀÎÅͳݱâ¼ú °ü·Ã ±¹Á¦Ç¥ÁØÈ­±â±¸(Internet Engineering Task +Force, IETF)°¡ TCP/IP ³×Æ®¿÷ÀÇ ÀϹÝÀûÀÎ Åë½Å ÀÎÁõ°ú ¾Ïȣȭ¸¦ +À§ÇØ ¸¸µç SSLÀÇ ÈÄ¼Ó ÇÁ·ÎÅäÄÝ. TLS ¹öÀü 1Àº SSL ¹öÀü 3°ú °ÅÀÇ +À¯»çÇÏ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+ +
Uniform Resource Locator +(URL)
+
ÀÎÅͳݿ¡ ÀÖ´Â ÀÚ¿øÀÇ À̸§/ÁÖ¼Ò. Á¤½ÄÀ¸·Î´Â Uniform Resource +Identifier¶ó°í ÇÏ´Â °ÍÀÇ ÀÏ»óÀûÀÎ ºñ°ø½Ä ¸íĪÀÌ´Ù. º¸Åë URLÀº +http³ª https°°Àº ½ºÅ´(scheme), È£½ºÆ®¸í, +°æ·Î·Î ±¸¼ºµÈ´Ù. ÀÌ ÆäÀÌÁöÀÇ URLÀº +http://httpd.apache.org/docs/2.4/glossary.htmlÀÌ´Ù.
+ +
Uniform Resource Identifier +(URI)
+
Ãß»óÀûÀÎ ÀÚ¿øÀ̳ª ½ÇÁ¦ ÀÚ¿øÀ» ÁöĪÇϱâÀ§ÇÑ °£°áÇÑ ¹®ÀÚ¿­. +°ø½ÄÀûÀ¸·Î RFC +2396¿¡¼­ Á¤ÀÇÇÑ´Ù. ¿ùµå¿ÍÀ̵åÀ¥¿¡¼­ »ç¿ëÇÏ´Â URI¸¦ º¸Åë +URLÀ̶ó°í ºÎ¸¥´Ù.
+ +
°¡»óÈ£½ºÆ® (Virtual Hosting)
+
¾ÆÆÄÄ¡ Çϳª·Î ¿©·¯ À¥»çÀÌÆ®¸¦ ¼­ºñ½ºÇϱâ. IP °¡»óÈ£½ºÆ®´Â +À¥»çÀÌÆ®¸¶´Ù IP ÁÖ¼Ò°¡ ´Ù¸£´Ù. À̸§±â¹Ý(name-based) +°¡»óÈ£½ºÆ®´Â È£½ºÆ®¸í¸¸À» »ç¿ëÇϹǷΠÇÑ IP ÁÖ¼Ò¿¡¼­ ¿©·¯ +»çÀÌÆ®¸¦ ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù.
+Âü°í: ¾ÆÆÄÄ¡ °¡»óÈ£½ºÆ® ¹®¼­
+ +
X.509
+
±¹Á¦Àü±âÅë½Å¿¬ÇÕ(International Telecommunication Union, +ITU-T)ÀÌ ±ÇÀåÇÏ´Â ÀÎÁõ¼­ ¾ç½Ä. SSL/TLS ÀÎÁõ¿¡¼­ »ç¿ëÇÑ´Ù.
+Âü°í: SSL/TLS ¾Ïȣȭ
+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/glossary.html.tr.utf8 b/docs/manual/glossary.html.tr.utf8 new file mode 100644 index 0000000..04a97f1 --- /dev/null +++ b/docs/manual/glossary.html.tr.utf8 @@ -0,0 +1,529 @@ + + + + + +Terim Sözlüğü - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Terim Sözlüğü

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu sözlük, genelinde HTML sayfa sunumuna, özelinde Apache HTTP Sunucusuna + özgü ortak terminolojinin bir kısmını içerir. Her kavram ile ilgili daha + ayrıntılı bilgi bağlarla sağlanmıştır.

+
+
top
+
+

Tanımlar

+ +
+
Algoritma
+ +
Bir sorunu sonlu sayıda adımda çözümlemek için uygulanan kurallar + kümesi veya anlam belirsizliği içermeyen bir formül. Şifreleme için + kullanılan algoritmalara şifre denir. +
+ +
Aktarım Katmanı Güvenliği
+
Ä°ngilizcesi: Transport Layer Security (TLS)
+
TCP/IP ağları üzerinden genel iletişimin kimlik doğrulamalı ve şifreli + yapılabilmesi için SSL’nin ardılı olarak Genel Ağ Mühendisliği Görev Gücü + (IETF) tarafından oluşturulmuş protokol. TLS’nin 1. sürümü ile SSL’in 3. + sürümü hemen hemen aynıdır.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Alt istek
+
Diğer dosya sistemlerini veya URL yollarını kısmen veya tamamen + değerlendiren modüller için sunucuda bir alt istek API'si mevcuttur. Bu + API'nin olası müşterileri için + DirectoryIndex, + mod_autoindex ve mod_include örnek + verilebilir. +
+ +
Anahtar Parolası
+
Özel anahtar dosyalarını yetkisiz kişilerden koruyan sözcük veya + cümle. Genellikle sadece şifreler + için kullanılan gizli şifreleme/şifre çözme anahtarını korur.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Apache Eklenti + Aracı (apxs)
+
Ä°ngilizcesi: APache eXtension Tool - apxs
+
Modül kaynak kodlarının devinen + paylaşımlı nesneler (DSO) halinde + derlenmesine ve Apache Sunucusu içinde kurulmasına yardım eden bir Perl + betiği.
Daha ayrıntılı bilgi için apxs kılavuz + sayfasına bakınız. +
+ +
Apache Taşınabilir Arayüzü (APR)
+
Ä°ngilizcesi: Apache Portable Runtime - APR
+
Sunucu ile işletim sistemi arasındaki temel arayüzleri oluşturan + kütüphaneler kümesine verilen ad. APR, Apache HTTP Sunucusuna paralel + bağımsız bir proje olarak geliştirilmektedir.
+ Bakınız: Apache Taşınabilir Arayüzü + Projesi +
+ +
BaÄŸlam
+
Yapılandırma dosyalarında + sadece belli türdeki yönergelerin + bulunmasına izin verilen bir bölge.
+ Bakınız: Apache Yönergelerini + Açıklamak için Kullanılan Terimler +
+ +
Bakışımlı Şifreleme Tekniği
+
Şifreleme ve şifre çözme için tek bir anahtarın kullanıldığı + bir şifreleme tekniği.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Başlık
+
Bir HTTP isteğinin parçası olarak, + gönderilen yanıtta asıl içerikten önce yer alan ve içerik hakkında + mecazlar içeren veri. +
+ +
CONNECT
+
Ham veri kanallarını HTTP üzerinden yönlendirmek için kullanılan bir HTTP yöntemi. SSL protokolü gibi diğer protokolleri sarmalamakta kullanılabilir. +
+ +
Devingen + Paylaşımlı Nesne (DSO)
+
Ä°ngilizcesi: Dynamic Shared Object (DSO)
+
İstek halinde yüklenebilen, Apache httpd + çalıştırılabilir dosyasından ayrı olarak derlenmiş modüllerin ortak adı.
+ Bakınız: Devingen Paylaşımlı Nesne Desteği +
+ +
Düz Metin
+
ÅžifrelenmemiÅŸ metin.
+ +
Düzenli İfade + (Regex)
+
Metin içinde bir şablon tanımlama yolu. Örneğin, “A harfi ile + başlayan bütün sözcükler†veya “10 rakamlı telefon numaraları†ya da + “Baş harfi Z olmayan ve iki virgül içeren cümleler†gibi. Düzenli + ifadeler, Apache’de belli özniteliklere uygun dosya veya özkaynakları + toplamak için esnek bir yol sağlamasından ötürü oldukça yararlıdır. + Örneğin, “resimler†dizini altındaki dosyalardan .gif ve .jpg uzantılı + olanları toplamak için “/resimler/.*(jpg|gif)$†düzenli + ifadesi yazılabilir. Dizgileri değiştirmek için düzenli ifadelerin + kullanıldığı yerlerde, eşleşen (parantezlerin içinde) gruplanmış + parçalara başvurmak için $1 ... $9 özel değişkenleri kullanılır. $0 özel + değişkeni eşleşen ifadenin tamamına karşılık gelir. Bir dizgi içinde $ + işaretini kendisi olarak kullanmak isterseniz önüne bir \ imi + koymalısınız. Geçmişe uyumluluk adına bazı yerlerde $0 yerine & + değişkeni kullanılabilir. Ancak 2.3.6 sürümünden beri bu artık mümkün + değildir. Apache, PCRE kütüphanesi ile + sağlanan Perl uyumlu düzenli ifadeleri kullanır. PCRE düzenli + ifadelerinin sözdizimi ile ilgili ayrıntılı bilgiyi Wikipedia'da bulabilirsiniz. +
+ +
EriÅŸim Denetimi
+ +
Ağ bölgelerine erişimin kısıtlanması. Apache bağlamında normal + olarak belli URL’lere erişimi kısıtlamak şeklinde + uygulanır.
Bakınız: Kimlik Doğrulama, + Yetkilendirme ve Erişim Denetimi +
+ +
Eylemci
+
Bir dosya istendiğinde uygulanacak eylemi Apache içinde gerçekleştiren + nesne. Genellikle dosyalar, dosya türüne bağlı dolaylı eylemcilere + sahiptir. Normalde tüm dosyalar sunucu tarafından sıradan birer dosya + olarak işleme sokulduğu halde bazı belli dosyalar diğerlerinden ayrı + ele alınır. Örneğin, cgi-script eylemcisi dosyaları + CGI’ler tarafından işlenebilir hale + getirmek üzere işleme sokar.
+ Bakınız: Apache Eylemcilerinin Kullanımı +
+ +
Genel Anahtar
+
Genel Anahtarlı + Şifreleme Tekniğinde, sahibinin yaptığı imzaları çözmeye ve + sahibine gönderilen iletileri şifrelemeye yarayan genel erişime açık + anahtar.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Genel Anahtarlı Şifreleme Tekniği
+
Şifreleme ve şifre çözme için iki ayrı anahtarın kullanıldığı + bakışımsız şifreleme sistemlerinin konusu veya uygulaması. Bu amaçla + kullanılan anahtarlar bir anahtar çiftinden oluşur. Genel Anahtarlı + Şifrelemeye Bakışımsız Şifreleme de denir.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Gizli Anahtar
+
Genel Anahtarlı + Şifreleme Tekniğinde, giden iletileri imzalamak ve gelen + iletilerin şifrelerini çözmek amacıyla kullanılan gizli anahtar.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Güvenli Hiper Metin Aktarım Protokolü + (HTTPS)
+
Ä°ngilizcesi: The HyperText Transfer Protocol (Secure), (HTTPS)
+
Güvenli Hiper Metin Aktarım Protokolü, Genel Ağ’da kullanılan standart + şifreli iletişim mekanizmasıdır. Aslında HTTP protokolünün SSL üzerinden gerçekleştirilmesinden başka bir + şey değildir.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Güvenli Soket Katmanı
+
Ä°ngilizcesi: Secure Sockets Layer (SSL)
+
TCP/IP ağları üzerinden genel iletişimin kimlik doğrulamalı ve şifreli + yapılabilmesi için Netscape Communications Corporation tarafından + oluşturulmuş bir protokol. Günümüzde en çok HTTPS, yani SSL + üzerinden Hiper Metin Aktarım Protokolü şeklinde kullanılmaktadır.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Hiper Metin Aktarım Protokolü + (HTTP)
+
Ä°ngilizcesi: HyperText Transfer Protocol (HTTP)
+
Genel Ağ’da kullanılan standart aktarım protokollerinden biri. + Apache, RFC 2616 ile + tanımlanmış protokolün HTTP/1.1 olarak bilinen 1.1 sürümünü gerçekler. +
+ +
.htaccess
+
Belge dosyaları ağacı içine yerleştirilen bir yapılandırma dosyası olup yerleştiği + dizine ve o dizinin alt dizinlerine yapılandırma yönergeleri + uygulanmasını sağlar. İsmine rağmen böyle bir dosyanın içerebileceği + yönergeler erişim denetleme yönergeleri ile sınırlı değildir; hemen + her tür yönergeyi içerebilir.
+ Bakınız: Yapılandırma Dosyaları +
+ +
httpd.conf
+
Ana Apache yapılandırma + dosyası. Dosya sistemindeki öntanımlı yeri + /usr/local/apache2/conf/httpd.conf olup derleme + sırasındaki yapılandırmayla veya çalışma anındaki yapılandırmayla + başka bir yer belirtilebilir.
+ Bakınız: Yapılandırma Dosyaları +
+ +
Ä°hracat Engelli
+
Ä°ngilizcesi: Export-Crippled
+
Amerika Birleşik Devletlerinin İhracat Yönetim Düzenlemelerine (EAR) + uymak için şifreleme yoluyla sakatlanmış yazılım. İhracat engelli olması + için şifrelenmiş yazılımları birer şifreli metin haline getiren şifre + anahtarları küçük boyutlu olduğundan şifreleme zor + kullanılarak kırılabilir.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
İleti Özeti
+
Ä°ngilizcesi: Message Digest
+
Aktarım sırasında içeriğinin değişme olasılığı bulunan bir iletinin + içeriğini doğrulamak için kullanılan bir özet.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Karşı Vekil
+
İstemciye kendini asıl sunucu imiş gibi gösteren bir + vekil sunucu. Güvenlik, yük dengelemesi + gibi sebeplerle asıl sunucuyu istemcilerden gizlemek için yararlıdır. +
+ +
Kimlik DoÄŸrulama
+
Sunucu, istemci veya kullanıcı gibi bir ağ öğesinin kimliğinin + olumlanması.
Bakınız: Kimlik Doğrulama, + Yetkilendirme ve Erişim Denetimi +
+ +
MIME türü
+
Aktarılan belgenin çeşidini betimlemenin bir yolu. MIME, Türkçe’ye + ‘Çok Amaçlı Genel Ağ Posta Eklentileri’ olarak çevrilebilecek olan + "Multipurpose Internet Mail Extensions" sözcüklerinden türetilmiş bir + kısaltmadır. MIME türleri bir bölü çizgisi ile ayrılmış bir ana ve bir + alt belge türünün birleşiminden oluşur. text/html, + image/gif ve application/octet-stream örnek + olarak verilebilir. HTTP protokolünde MIME türleri + Content-Type başlığında + aktarılır.
Bakınız: mod_mime +
+ +
Modül
+
Bir programın bağımsız parçalarından her biri. Apache işlevselliğinin + çoğu yapılandırmaya dahil edilip edilmeyeceğine kullanıcı tarafından + karar verilebilen modüllerden oluşur. Apache httpd + çalıştırılabiliri içinde derlenmiş modüllere durağan modüller + adı verilirken ayrı bir yerde saklanan ve çalışma anında isteğe bağlı + olarak yüklenebilen modüllere devingen modüller veya + DSO’lar denir. Yapılandırmaya öntanımlı + olarak dahil edilen modüllere temel modüller denir. Apache + için kullanılabilecek modüllerin çoğu Apache HTTP Sunucusunun + tar paketi içinde dağıtılmaz; bunlara + üçüncü parti modüller denir.
+ Bakınız: Modül Dizini +
+ +
OpenSSL
+
SSL/TLS için açık kaynak kodlu araç kiti.
Daha ayrıntılı bilgi + için http://www.openssl.org/ + adresine bakınız. +
+ +
Ortak Ağgeçidi Arayüzü (CGI)
+
Ä°ngilizcesi: Common Gateway Interface (CGI)
+
Bir HTTP sunucusunun bir harici programa hizmet istekleri yapmasını + mümkün kılan, sunucu ile bir harici program arasındaki bir arayüz + standardı. Özellikleri kapsayan bir + Bilgilendirici RFC + vardır.
+ Bakınız: CGI ile Devingen İçerik +
+ +
Ortam DeÄŸiÅŸkeni (ortam-deÄŸiÅŸkeni)
+
İşletim sistemi kabuğu tarafından yönetilen ve programlar arasında + bilgi alışverişi amacıyla kullanılan isimli değişkenler. Ayrıca, + Apache de ortam değişkenleri olarak tanımlanabilecek dahili değişkenler + içerir fakat bunlar kabuk ortamında değil dahili Apache yapıları içinde + saklanır.
+ Bakınız: Apache Ortam Değişkenleri +
+ +
Oturum
+
Bir iletiÅŸimin baÄŸlamsal bilgileri.
+ +
Özet
+
Uzunluğu değişebilen bir dizgenin belli bir durumuna ilişkin sabit + uzunlukta bir dizge üretmek için kullanılan geri dönüşümsüz bir + algoritma. Algoritmaya girdi olan farklı uzunluktaki dizgeler (özet + işlevine bağlı olarak) aynı uzunlukta farklı özetler üretir. +
+ +
Sanal Konaklık
+
Tek bir Apache sunucusundan çok sayıda site sunulması. IP tabanlı + sanal konaklıkta siteler birbirlerinden IP adreslerine göre + ayrılırken, isim tabanlı sanal konaklıkta siteler aynı IP + adresinden kendi isimleriyle sunulabilirler.
+ Bakınız: Apache Sanal Konak Belgeleri +
+ +
Sayısal İmza
+
Bir sertifikayı veya bir dosyayı doğrulamakta kullanılan şifreli bir + metin. Bir imza Sertifika + Makamı tarafından bir sertifikaya gömülü olan + genel anahtardan bir özet üretilerek oluşturulur. İmza şifresi + sadece sertifika sahibi ağ öğesinin kimliğini doğrulayacak + SM’nin genel anahtarı kullanılarak çözülebilir.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Sertifika
+
Sunucu, istemci gibi ağ öğelerinin kimliğini kanıtlamakta kullanılan + bir veri kaydı. Bir sertifika, sertifika sahibi (buna sertifikanın + konusu da denir), sertifikayı imzalayan Sertifika Makamı (SM) (buna + sertifika yayıncısı da denir), sertifika sahibinin genel anahtarı ve SM tarafından üretilen imza + gibi parçalardan oluşan X.509 bilgisi içerir. Ağ öğeleri bu imzaları SM + sertifikalarını kullanarak doğrular.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Sertifika Ä°mzalama Ä°steÄŸi (SÄ°Ä°)
+
Ä°ngilizcesi: Certificate Signing Request (CSR)
+
İmzasız bir sertifikayı Sertifika Makamına kendi SM Sertifikasının + özel anahtarı ile imzalaması + için yapılan istek. Sİİ imzalanınca bir gerçek sertifika haline + gelir.
Bakınız: SSL/TLS Şifrelemesi +
+ +
Sertifika Makamı (SM)
+
Ä°ngilizcesi: Certification Authority (CA)
+
Ağ öğelerinin güvenilir olarak kimliklerinin doğrulanması için + sertifikaları imzalayan güvenilir üçüncü şahıs. Diğer ağ öğeleri, + sertifikalı bir öğenin kimliğini kanıtlayan bir SM’yi doğrulamak + için imzayı sınayabilir.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Sihirli Modül + Numarası (SMN)
+
Sihirli Modül Numarası, modüllerin ikil uyumluluğu ile ilgili olarak + Apache kaynak kodunda tanımlanmış bir sabittir. Apache dahili yapıları, + uygulama programlama arayüzünün önemli parçaları ve işlev çağrıları artık + ikil uyumluluğun garanti edilemeyeceği kadar değiştiği zaman SMN + değiştirilir. Bir SMN değişikliğinde ve bazen de sırf yeni bir Apache + sürümü ile çalışmak icabettiğinde tüm üçüncü parti modüllerin en azından + yeniden derlenmesi gerekir. +
+ +
SSLeay
+
Eric A. Young tarafından geliştirilmiş özgün SSL/TLS + gerçeklenim kütüphanesi. +
+ +
Sunucu Adı + Belirtimi
+
Ä°ngilizcesi: Server Name Indication (SNI)
+
İlk SSL uzlaşımı sırasında istenen sunucu isminin aktarılmasını + mümkün kılan bir SSL işlevidir. Böylece sunucunun, SSL uzlaşım + işlemlerlerinde kullanılacak sanal konak yapılandırmasını doğru + bir şekilde seçebilmesi sağlanmıştır. Bu özellik RFC 3546'da TLS + eklentili SSL başlatma bölümüne eklenmiştir.
+ Bakınız: SSL SSS + ve RFC 3546 +
+ +
Sunucu Taraflı İçerik Yerleştirme
+
Ä°ngilizcesi: Server Side Includes (SSI)
+
İşlem yönergelerini HTML dosyalara gömme tekniği.
+ Bakınız: Sunucu Taraflı İçerik Yerleştirmeye + Giriş +
+ +
Süzgeç
+
Sunucu tarafından alınan ve gönderilen veriye uygulanan bir işlem. + Giriş süzgeçleri sunucuya istemci tarafından gönderilen veriyi işlerken + çıkış süzgeçleri sunucu tarafından istemciye gönderilen belgeleri işler. + Örneğin, INCLUDES çıkış süzgeci, belgeleri sunucu taraflı içerik için işleme sokar.
+ Bakınız: Süzgeçler +
+ +
Åžifre
+
Veri şifrelemek için kullanılan bir algoritma veya sistem. DES, IDEA + veya RC4 örnek verilebilir.
+ Bakınız: SSL/TLS Şifrelemesi +
+ +
Åžifreli Metin
+
Bir Düz Metin bir + Şifreden geçirilince elde edilen + sonuç.
Bakınız: SSL/TLS Şifrelemesi +
+ +
Tam Alan Adı + (TAA)
+
Ä°ngilizcesi: Fully-Qualified Domain-Name (FQDN)
+
Bir IP adresiyle eşleşebilen, bir konak adıyla bir alan adının + birleşiminden oluşan eşsiz bir ağ öğesi ismi. Örneğin, + httpd.apache.org tam alan adında httpd bir konak + adıyken apache.org bir alan adıdır. +
+ +
Tar Paketi
+
tar uygulaması kullanılarak bir araya getirilmiş + dosyalardan oluşan bir paket. Apache dağıtımları sıkıştırılmış tar + arşivleri içinde veya pkzip kullanılarak saklanır. +
+ +
Tektip Özkaynak Betimleyici
+
Ä°ngilizcesi: Uniform Resource Identifier + (URI)
+
Soyut veya somut bir özkaynağı betimlemek için kullanılan bütünleşik + bir karakter dizisi. Aslen RFC 2396 tarafından tanımlanmıştır. Genel Ağ’da kullanılan URI’lerden + genellikle URL’ler olarak bahsedilir. +
+ +
Tektip Özkaynak Konumlayıcı
+
Ä°ngilizcesi: Uniform Resource Locator (URL)
+
Genel Ağ üzerindeki bir özkaynağın ismi veya adresi. Aslen Tektip Özkaynak Betimleyici + denilen terimin gayrı resmi karşılığıdır. URL’ler http veya + https gibi bir şemayı takip eden bir konak adı ve bir dosya + yolundan oluşurlar. Örneğin, bu sayfanın URL’si + http://httpd.apache.org/docs/2.4/glossary.html olurdu. +
+ +
Vekil
+
Asıl sunucu ile istemci arasında aracılık yapan sunucu. + İstemciden aldığı istekleri asıl sunucuya gönderip, ondan aldığı + yanıtları istemciye gönderir. Aynı içeriğe birden fazla istemci talip + olursa vekil sunucu bu istekleri her seferinde asıl sunucudan istemek + yerine kendi deposundan karşılar, böylece yanıt zamanı kısalır.
+ Bakınız: mod_proxy +
+ +
Yapılandırma Dosyası
+
Apache yapılandırmasını denetim altına alan yönergeleri içeren bir metin dosyası.
+ Bakınız: Yapılandırma Dosyaları +
+ +
Yapılandırma Yönergesi
+
Bakınız: Yönerge
+ +
Yönerge
+
Belli Apache davranışlarından bir veya daha fazlasını denetim altına + alan bir yapılandırma komutu. Yönergeler yapılandırma dosyalarına yerleştirilir.
+ Bakınız: Yönerge Dizini +
+ +
Yöntem
+
HTTP bağlamında, istemci tarafından + istek satırında belirtilen, bir özkaynağa uygulanacak bir eylem. HTTP + bağlamında belirtilebilecek yöntemlere örnek olarak GET, + POST ve PUT verilebilir. +
+ +
X.509
+
SSL/TLS kimlik doğrulamasında kullanılmak üzere Uluslararası Telekom + Birliği (ITU-T) tarafından önerilmiş bir kimlik doğrulama sertitifası + şeması
Bakınız: SSL/TLS Şifrelemesi +
+
+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/handler.html b/docs/manual/handler.html new file mode 100644 index 0000000..d6db324 --- /dev/null +++ b/docs/manual/handler.html @@ -0,0 +1,29 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: handler.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: handler.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: handler.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: handler.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: handler.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: handler.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: handler.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/handler.html.en b/docs/manual/handler.html.en new file mode 100644 index 0000000..231d6fc --- /dev/null +++ b/docs/manual/handler.html.en @@ -0,0 +1,182 @@ + + + + + +Apache's Handler Use - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache's Handler Use

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

This document describes the use of Apache's Handlers.

+
+ +
top
+
+

What is a Handler

+ + + + +

A "handler" is an internal Apache representation of the + action to be performed when a file is called. Generally, files + have implicit handlers, based on the file type. Normally, all + files are simply served by the server, but certain file types + are "handled" separately.

+ +

Handlers may also be configured explicitly, + based on either filename extensions or on location, + without relation to file type. This is + advantageous both because it is a more elegant solution, and + because it also allows for both a type and a + handler to be associated with a file. (See also Files with Multiple + Extensions.)

+ +

Handlers can either be built into the server or included in + a module, or they can be added with the Action directive. The + built-in handlers in the standard distribution are as + follows:

+ +
    +
  • default-handler: Send the file using the + default_handler(), which is the handler used by + default to handle static content. (core)
  • + +
  • send-as-is: Send file with HTTP headers + as is. (mod_asis)
  • + +
  • cgi-script: Treat the file as a CGI + script. (mod_cgi)
  • + +
  • imap-file: Parse as an imagemap rule + file. (mod_imagemap)
  • + +
  • server-info: Get the server's + configuration information. (mod_info)
  • + +
  • server-status: Get the server's status + report. (mod_status)
  • + +
  • type-map: Parse as a type map file for + content negotiation. (mod_negotiation)
  • +
+
top
+
+

Examples

+ + +

Modifying static content using a CGI script

+ + +

The following directives will cause requests for files with + the html extension to trigger the launch of the + footer.pl CGI script.

+ +
Action add-footer /cgi-bin/footer.pl
+AddHandler add-footer .html
+ + +

Then the CGI script is responsible for sending the + originally requested document (pointed to by the + PATH_TRANSLATED environment variable) and making + whatever modifications or additions are desired.

+ + +

Files with HTTP headers

+ + +

The following directives will enable the + send-as-is handler, which is used for files which + contain their own HTTP headers. All files in the + /web/htdocs/asis/ directory will be processed by + the send-as-is handler, regardless of their + filename extensions.

+ +
<Directory "/web/htdocs/asis">
+    SetHandler send-as-is
+</Directory>
+ + + +
top
+
+

Programmer's Note

+ + +

In order to implement the handler features, an addition has + been made to the Apache API that + you may wish to make use of. Specifically, a new record has + been added to the request_rec structure:

+ +
char *handler
+ + +

If you wish to have your module engage a handler, you need + only to set r->handler to the name of the + handler at any time prior to the invoke_handler + stage of the request. Handlers are implemented as they were + before, albeit using the handler name instead of a content + type. While it is not necessary, the naming convention for + handlers is to use a dash-separated word, with no slashes, so + as to not invade the media type name-space.

+
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/handler.html.es b/docs/manual/handler.html.es new file mode 100644 index 0000000..b5caeac --- /dev/null +++ b/docs/manual/handler.html.es @@ -0,0 +1,195 @@ + + + + + +Uso de los Handlers en Apache - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Uso de los Handlers en Apache

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Este documento describe el uso de los Handlers en Apache.

+
+ +
top
+
+

¿Qué es un Handler?

+ + + + +

Un "handler" es una representación interna de Apache de + una acción que se va a ejecutar cuando hay una llamada a un + fichero. Generalmente, los ficheros tienen handlers + implícitos, basados en el tipo de fichero de que se + trata. Normalmente, todos los ficheros son simplemente servidos + por el servidor, pero algunos tipos de ficheros se tratan de forma + diferente.

+ +

Handlers pueden ser usados de manera explicita, + basándose en la extensión del fichero o en + la ubicación en la que esté, se pueden especificar handlers + sin tener en cuenta el tipo de fichero que se trate. Esto es + una ventaja por dos razones. Primero, es una solución + más elegante. Segundo, porque a un fichero se le pueden + asignar tanto un tipo como un handler. (Consulte + también la sección Ficheros y extensiones + múltiples.)

+ +

Los Handlers pueden tanto ser compilados con el servidor + como incluidos en un módulo, o añadidos con la + directiva Action. Los + handlers que vienen incluidos en el core con el servidor de la distribución + estándar de Apache son:

+ +
    +
  • default-handler: Envía el fichero + usando el default_handler(), que es el handler + usado por defecto para tratar contenido + estático. (core)
  • + +
  • send-as-is: Envía el fichero con + cabeceras HTTP tal y como es. (mod_asis)
  • + +
  • cgi-script: Trata el fichero como un sript + CGI. (mod_cgi)
  • + +
  • imap-file: Trata el fichero como un mapa de + imágenes. (mod_imagemap)
  • + +
  • server-info: Extrae la información de + configuración del + servidor. (mod_info)
  • + +
  • server-status: Extrae el informe del estado + del servidor. (mod_status)
  • + +
  • type-map: Trata el fichero como una + correspondencia de tipos para la negociación de contenidos. + (mod_negotiation)
  • +
+
top
+
+

Ejemplos

+ + +

Modificar contenido estático usando un script + CGI

+ + +

Las siguientes directivas hacen que cuando haya una + petición de ficheros con la extensión + html se lance el script CGI + footer.pl.

+ +

+ Action add-footer /cgi-bin/footer.pl
+ AddHandler add-footer .html +

+ +

En este caso, el script CGI es el responsable de enviar el + documento originalmente solicitado (contenido en la variable de + entorno PATH_TRANSLATED) y de hacer cualquier + modificación o añadido deseado.

+ + +

Archivos con cabeceras HTTP

+ + +

Las siguientes directivas activan el handler + send-as-is, que se usa para ficheros que contienen + sus propias cabeceras HTTP. Todos los archivos en el directorio + /web/htdocs/asis/ serán procesados por el + handler send-as-is, sin tener en cuenta su + extension.

+ +
<Directory "/web/htdocs/asis">
+    SetHandler send-as-is
+</Directory>
+ + + +
top
+
+

Nota para programadores

+ + +

Para implementar las funcionalidades de los handlers, se ha + hecho un añadido a la API de + Apache que puede que quiera usar. Para ser más + específicos, se ha añadido un nuevo registro a la + estructura request_rec:

+ +
char *handler
+ + +

Si quiere que su módulo llame a un handler , solo tiene + que añadir r->handler al nombre del handler + en cualquier momento antes de la fase invoke_handler + de la petición. Los handlers se implementan siempre como se + hacía antes, aunque usando el nombre del handler en vez de un + tipo de contenido. Aunque no es de obligado cumplimiento, la + convención de nombres para los handlers es que se usen + palabras separadas por guiones, sin barras, de manera que no se + invada el media type name-space.

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/handler.html.fr.utf8 b/docs/manual/handler.html.fr.utf8 new file mode 100644 index 0000000..3a2ca51 --- /dev/null +++ b/docs/manual/handler.html.fr.utf8 @@ -0,0 +1,188 @@ + + + + + +Utilisation des gestionnaires d'Apache (handlers) - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Utilisation des gestionnaires d'Apache (handlers)

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).

+
+ +
top
+
+

Qu'est-ce qu'un gestionnaire ?

+ + + + +

Un "gestionnaire" est une représentation interne à Apache de l'action + qui doit être entreprise quand un fichier est appelé. En général, les + fichiers ont des gestionnaires implicites, basés sur le type du fichier. + Normalement, tous les fichiers sont traités simplement par le serveur, + mais certains types de fichiers sont "gérés" séparément.

+ +

Les gestionnaires peuvent aussi être configurés explicitement, + soit en fonction des extensions des noms de fichier, soit en fonction + du chemin du fichier, + sans faire référence au type de fichier. Ceci a le double avantage d'être + une solution plus élégante, et aussi d'autoriser à associer à la fois + un type et un gestionnaire avec un fichier. (Voir aussi Fichiers avec extensions + multiples.)

+ +

Les gestionnaires peuvent être soit partie intégrante + du serveur ou inclus dans un module, soit ajoutés à l'aide de la directive + Action. Les gestionnaires + intégrés dans la distribution standard se présentent comme suit :

+ +
    +
  • default-handler: envoie le fichier en utilisant + le default_handler(), qui est le gestionnaire utilisé par + défaut pour traiter les contenus statiques. (core)
  • + +
  • send-as-is: envoie les fichiers avec en-têtes HTTP + tels quels. (mod_asis)
  • + +
  • cgi-script: traite le fichier comme un + script CGI. (mod_cgi)
  • + +
  • imap-file: Traite le fichier comme un ensemble + de règles de descriptions d'images (imagemap). + (mod_imagemap)
  • + +
  • server-info: Extrait des informations sur la + configuration du serveur. (mod_info)
  • + +
  • server-status: Rédige un rapport sur le statut + du serveur. (mod_status)
  • + +
  • type-map: Traite le fichier comme une description + de type pour la négociation du contenu. + (mod_negotiation)
  • +
+
top
+
+

Exemples

+ + +

Modification d'un contenu statique à l'aide d'un script CGI

+ + +

Les directives suivantes vont faire en sorte que les requêtes pour + des fichiers possédant une extension html déclenchent + l'exécution du script CGI footer.pl.

+ +
Action add-footer /cgi-bin/footer.pl
+AddHandler add-footer .html
+ + +

À ce moment-là, le script CGI se charge d'envoyer le document + initialement demandé (référencé par la variable d'environnement + PATH_TRANSLATED) et d'effectuer tous ajout ou modification + voulus.

+ + +

Fichiers avec en-têtes HTTP

+ + +

Les directives suivantes vont activer le gestionnaire + send-as-is, qui est utilisé pour les fichiers qui possèdent + leurs propres en-têtes HTTP. Tous les fichiers situés dans le répertoire + /web/htdocs/asis/ seront traités par le gestionnaire + send-as-is, sans tenir compte de l'extension + de leur nom de fichier.

+ +
<Directory "/web/htdocs/asis">
+    SetHandler send-as-is
+</Directory>
+ + + +
top
+
+

Note du développeur

+ + +

Pour implémenter la fonctionnalité des gestionnaires, l' + API Apache a fait l'objet d'un ajout + que vous pourriez être amené à utiliser. + + Plus précisément, un nouvel enregistrement a été ajouté à la structure + request_rec :

+ +
char *handler
+ + +

Si vous voulez que votre module déclenche l'utilisation d'un + gestionnaire, il vous suffit de définir r->handler avec + le nom du gestionnaire à n'importe quel moment avant l'étape + invoke_handler + de la requête. Les gestionnaires sont implémentés comme auparavant, + quoique l'on utilise le nom du gestionnaire à la place d'un type + de contenu. Bien que ce ne soit pas obligatoire, la convention de nommage + des gestionnaires stipule l'utilisation d'un mot composé séparé par des + tirets, sans slashes, afin de ne pas interférer avec l'espace de nommage + des types de média.

+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/handler.html.ja.utf8 b/docs/manual/handler.html.ja.utf8 new file mode 100644 index 0000000..19ce38d --- /dev/null +++ b/docs/manual/handler.html.ja.utf8 @@ -0,0 +1,189 @@ + + + + + +Apache ã®ãƒãƒ³ãƒ‰ãƒ©ã®ä½¿ç”¨ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache ã®ãƒãƒ³ãƒ‰ãƒ©ã®ä½¿ç”¨

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

Apache ã®ãƒãƒ³ãƒ‰ãƒ©ã®ä½¿ç”¨ã«é–¢ã—ã¦è¨˜è¿°ã—ã¦ã„ã¾ã™ã€‚

+
+ +
top
+
+

ãƒãƒ³ãƒ‰ãƒ©ã¨ã¯

+ + + + +

「ãƒãƒ³ãƒ‰ãƒ©ã€ã¨ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ãŒå‘¼ã°ã‚ŒãŸã¨ãã«å®Ÿè¡Œã•ã‚Œã‚‹å‹•ä½œã® + Apache ã«ãŠã‘る内部表ç¾ã§ã™ã€‚ + 通常ã€ãƒ•ã‚¡ã‚¤ãƒ«ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—(訳注: MIME-type)ã«åŸºã¥ã„ãŸæš—é»™ã®ãƒãƒ³ãƒ‰ãƒ©ãŒã‚ã‚Šã¾ã™ã€‚ + 普通ã¯ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯å˜ã«ã‚µãƒ¼ãƒã«æ‰±ã‚ã‚Œã¾ã™ãŒã€ + ファイルタイプã®ä¸­ã«ã¯åˆ¥ã«ã€Œãƒãƒ³ãƒ‰ãƒ«ã€(訳注: 扱ã†) + ã•ã‚Œã‚‹ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ã€‚

+ +

ファイルã®æ‹¡å¼µå­ã‚„ç½®ã„ã¦ã„る場所ã«åŸºã¥ã„ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—ã¨é–¢ä¿‚ãªã〠+ ãƒãƒ³ãƒ‰ãƒ©ã‚’明示的ã«è¨­å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + ã“ã‚Œã¯ã‚ˆã‚Šå„ªé›…ãªè§£æ±ºæ³•ã¨ã„ã†ç‚¹ã¨ã€ãƒ•ã‚¡ã‚¤ãƒ«ã«ã‚¿ã‚¤ãƒ—ã¨ãƒãƒ³ãƒ‰ãƒ©ã®ä¸¡æ–¹ã‚’関連付ã‘ã‚‹ã“ã¨ãŒã§ãã‚‹ã¨ã„ã†ç‚¹ã§å„ªã‚Œã¦ã„ã¾ã™ã€‚ + (複数ã®æ‹¡å¼µå­ã®ã‚るファイルもå‚ç…§ã—ã¦ãã ã•ã„)。

+ +

ãƒãƒ³ãƒ‰ãƒ©ã¯ã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã‚“ã ã‚Šã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã—ã¦å«ã‚ãŸã‚Šã€ + Action + ディレクティブã¨ã—ã¦è¿½åŠ ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 以下ã¯æ¨™æº–é…布ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ãƒãƒ³ãƒ‰ãƒ©ã§ã™ã€‚ +

+ +
    +
  • default-handler:default_handelr() + を使ã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é€ã‚Šã¾ã™ã€‚ + é™çš„ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„を扱ã†ã¨ãã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ä½¿ç”¨ã•ã‚Œã‚‹ãƒãƒ³ãƒ‰ãƒ©ã§ã™ã€‚ + (core)
  • + +
  • send-as-is: + HTTP ヘッダã®ã‚るファイルをãã®ã¾ã¾é€ã‚Šã¾ã™ã€‚ + (mod_asis)
  • + +
  • cgi-script: ファイルを CGI + スクリプトã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚ + (mod_cgi)
  • + +
  • imap-file: + イメージマップã®ãƒ«ãƒ¼ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦è§£æžã—ã¾ã™ã€‚ + (mod_imagemap)
  • + +
  • server-info: サーãƒã®è¨­å®šæƒ…報をå–å¾—ã—ã¾ã™ã€‚ + (mod_info)
  • + +
  • server-status: サーãƒã®çŠ¶æ…‹å ±å‘Šã‚’å–å¾—ã—ã¾ã™ã€‚ + (mod_status)
  • + +
  • type-map: + コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®ãŸã‚ã®ã‚¿ã‚¤ãƒ—マップã¨ã—ã¦è§£æžã—ã¾ã™ã€‚ + (mod_negotiation)
  • +
+
top
+
+

例

+ + +

CGI スクリプトを用ã„ã¦é™çš„ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„を変更ã™ã‚‹

+ + +

以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã‚ˆã£ã¦ã€æ‹¡å¼µå­ãŒ html + ã§ã‚るファイル㯠footer.pl + CGI スクリプトを起動ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+ +
Action add-footer /cgi-bin/footer.pl
+AddHandler add-footer .html
+ + +

CGI スクリプトã¯å¸Œæœ›ã®ä¿®æ­£ã‚„追加を行ãªã£ã¦ã€å…ƒã€…è¦æ±‚ã•ã‚ŒãŸæ–‡æ›¸ + (環境変数 PATH_TRANSLATED + ã§æŒ‡ã•ã‚Œã¦ã„ã¾ã™) ã‚’é€ã‚‹è²¬ä»»ãŒã‚ã‚Šã¾ã™ã€‚ +

+ + +

HTTP ヘッダã®ã‚るファイル

+ + +

以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠send-as-is + ãƒãƒ³ãƒ‰ãƒ©ã‚’使用ã™ã‚‹ã‚ˆã†ã«æŒ‡ç¤ºã—ã¾ã™ã€‚ã“ã®ãƒãƒ³ãƒ‰ãƒ©ã¯è‡ªåˆ†è‡ªèº«ã® HTTP + ヘッダをæŒã£ã¦ã„るファイルã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã“ã§ã¯ã€æ‹¡å¼µå­ã«é–¢ã‚らãšã€ + /web/htdocs/asis ディレクトリã«ã‚ã‚‹å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ + send-as-is ãƒãƒ³ãƒ‰ãƒ©ã«ã‚ˆã£ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +
<Directory /web/htdocs/asis>
+    SetHandler send-as-is
+</Directory>
+ + + +
top
+
+

プログラマå‘ã‘ã®ãƒ¡ãƒ¢

+ + +

ãƒãƒ³ãƒ‰ãƒ©ã®æ©Ÿèƒ½ã‚’実装ã™ã‚‹ãŸã‚ã«ã€åˆ©ç”¨ã™ã‚‹ã¨ä¾¿åˆ©ã‹ã‚‚ã—ã‚Œãªã„ã‚‚ã®ãŒ + Apache API + ã«è¿½åŠ ã•ã‚Œã¾ã—ãŸã€‚詳ã—ã言ã†ã¨ã€request_rec + 構造体ã«æ–°ã—ã„レコードãŒè¿½åŠ ã•ã‚ŒãŸã¨ã„ã†ã“ã¨ã§ã™ã€‚

+ +
char *handler
+ + +

ã‚‚ã—モジュールãŒãƒãƒ³ãƒ‰ãƒ©ã«é–¢ã‚ã‚ŠãŸã„å ´åˆã€ + やらãªã‘ã‚Œã°ãªã‚‰ãªã„ã“ã¨ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒ invoke_handler + ステージã«é”ã™ã‚‹ä»¥å‰ã« r->handler + を設定ã™ã‚‹ã“ã¨ã ã‘ã§ã™ã€‚ãƒãƒ³ãƒ‰ãƒ©ã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã®ä»£ã‚ã‚Šã« + ãƒãƒ³ãƒ‰ãƒ©åを使ã†ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã“ã¨ä»¥å¤–ã¯ã€ä»¥å‰ã¨åŒã˜ã‚ˆã†ã«å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚ + å¿…ãšè¦æ±‚ã•ã‚Œã¦ã„ã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ— + ã®åå‰ç©ºé–“ã‚’ä¾µã•ãªã„よã†ã«ã€ãƒãƒ³ãƒ‰ãƒ©ã®åå‰ã«ã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’å«ã¾ãªã„〠+ ダッシュ(訳注: "-")ã§åˆ†é›¢ã•ã‚ŒãŸåå‰ã‚’付ã‘ã‚‹ç¿’æ…£ã«ãªã£ã¦ã„ã¾ã™ã€‚

+
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/handler.html.ko.euc-kr b/docs/manual/handler.html.ko.euc-kr new file mode 100644 index 0000000..312b3c5 --- /dev/null +++ b/docs/manual/handler.html.ko.euc-kr @@ -0,0 +1,181 @@ + + + + + +¾ÆÆÄÄ¡¿¡¼­ Çڵ鷯 »ç¿ë - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡¿¡¼­ Çڵ鷯 »ç¿ë

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡¿¡¼­ Çڵ鷯¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

Çڵ鷯°¡ ¹«¾ùÀΰ¡

+ + + + +

ÆÄÀÏÀ» ¿äûÇÒ¶§ ¾ÆÆÄÄ¡°¡ ³»ºÎÀûÀ¸·Î ¼öÇàÇÒ ÀÛ¾÷À» + "Çڵ鷯(handler)"¶ó°í ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ÆÄÀÏÀº ÆÄÀÏ Á¾·ù¿¡ + µû¶ó ¾Ï¹¬ÀûÀÎ Çڵ鷯¸¦ °¡Áö°í ÀÖ´Ù. ¸ðµç ÆÄÀÏÀº º¸Åë °£´ÜÈ÷ + ¼­¹ö°¡ ¼­ºñ½ºÇÏÁö¸¸, ¾î¶² ÆÄÀÏ Á¾·ù´Â µû·Î "󸮵ȴÙ(handled)".

+ +

Apache 1.1ºÎÅÍ Çڵ鷯¸¦ ¸í½ÃÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. + ÆÄÀÏ Á¾·ù¿Í °ü°è¾øÀÌ Çڵ鷯¸¦ ÆÄÀÏÀÇ È®ÀåÀÚ³ª À§Ä¡¿¡ µû¶ó + ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ´õ ÈǸ¢ÇÑ ¹æ¹ýÀÌ°í ÆÄÀÏÀ» Á¾·ù¿Í Çڵ鷯 + µÑ ¸ðµÎ¿Í ¿¬°èÇÒ ¼ö Àֱ⶧¹®¿¡ ÁÁ´Ù. (¿©·¯ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀϵµ + Âü°í)

+ +

Çڵ鷯´Â ¼­¹ö³ª ¸ðµâ·Î ±¸ÇöÇÏ¿©, Action Áö½Ã¾î·Î Ãß°¡ÇÒ + ¼ö ÀÖ´Ù. Ç¥ÁØ ¹èÆ÷º»¿¡ ÀÖ´Â ±âº» Çڵ鷯´Â ´ÙÀ½°ú °°´Ù:

+ +
    +
  • default-handler: Á¤ÀûÀÎ ³»¿ëÀ» + ó¸®ÇϱâÀ§ÇØ ±âº»ÀûÀ¸·Î »ç¿ëÇÏ´Â Çڵ鷯 + default_handler()¸¦ »ç¿ëÇÏ¿© ÆÄÀÏÀ» º¸³½´Ù. + (core)
  • + +
  • send-as-is: HTTP Çì´õ°¡ ÀÖ´Â ÆÄÀÏÀ» + ±×´ë·Î º¸³½´Ù. (mod_asis)
  • + +
  • cgi-script: ÆÄÀÏÀ» CGI·Î ó¸®ÇÑ´Ù. + (mod_cgi)
  • + +
  • imap-file: imagemap ±ÔÄ¢ ÆÄÀÏ·Î + ó¸®ÇÑ´Ù. (mod_imagemap)
  • + +
  • server-info: ¼­¹öÀÇ ¼³Á¤ Á¤º¸¸¦ + ¾Ë·ÁÁØ´Ù. (mod_info)
  • + +
  • server-status: ¼­¹öÀÇ »óŸ¦ º¸°íÇÑ´Ù. + (mod_status)
  • + +
  • type-map: ³»¿ëÇù»ó¿¡ »ç¿ëÇÒ + type mapÀ¸·Î ó¸®ÇÑ´Ù. + (mod_negotiation)
  • +
+
top
+
+

¿¹Á¦

+ + +

CGI ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© Á¤ÀûÀÎ ³»¿ë ¼öÁ¤Çϱâ

+ + +

´ÙÀ½ Áö½Ã¾î´Â È®ÀåÀÚ°¡ htmlÀÎ ÆÄÀÏÀ» + ¿äûÇÒ °æ¿ì footer.pl CGI ½ºÅ©¸³Æ®¸¦ ¶ç¿î´Ù.

+ +

+ Action add-footer /cgi-bin/footer.pl
+ AddHandler add-footer .html +

+ +

CGI ½ºÅ©¸³Æ®´Â + (PATH_TRANSLATED ȯ°æº¯¼ö°¡ ÁöĪÇÏ´Â) ¿ø·¡ + ¿äûÇÑ ¹®¼­¸¦ ÀûÀýÈ÷ ¼öÁ¤ÇÑ ÈÄ º¸³½´Ù.

+ + +

HTTP Çì´õ¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏ

+ + +

´ÙÀ½ Áö½Ã¾î´Â HTTP Çì´õ¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏ¿¡ + send-as-is Çڵ鷯¸¦ Áö½ÃÇÑ´Ù. + /web/htdocs/asis/ µð·ºÅ丮 ¾È¿¡ ÀÖ´Â ¸ðµç + ÆÄÀÏÀº È®ÀåÀÚ¿Í °ü°è¾øÀÌ send-as-is Çڵ鷯°¡ + ó¸®ÇÑ´Ù.

+ +

+ <Directory /web/htdocs/asis>
+ SetHandler send-as-is
+ </Directory> +

+ + +
top
+
+

ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ Á¤º¸

+ + +

Çڵ鷯 ±â´ÉÀ» ±¸ÇöÇϱâÀ§ÇØ »ç¿ëÇÔÁ÷ÇÑ + Apache API°¡ Ãß°¡µÇ¾ú´Ù. + ƯÈ÷ request_rec ±¸Á¶Ã¼¿¡ »õ·Î¿î Çʵ尡 + Ãß°¡µÇ¾ú´Ù:

+ +

+ char *handler +

+ +

¸ðµâÀÌ Çڵ鷯¸¦ »ç¿ëÇÏ·Á¸é, ¿äûÀÇ + invoke_handler ´Ü°è ÀÌÀü¿¡ + r->handler¿¡ Çڵ鷯 À̸§À» ÁöÁ¤ÇØÁֱ⸸ + ÇÏ¸é µÈ´Ù. Çڵ鷯´Â content type ´ë½Å Çڵ鷯 À̸§À» »ç¿ëÇÑ + °ÍÀ» Á¦¿ÜÇÏ°í´Â Àü°ú °°ÀÌ ±¸ÇöµÇ¾ú´Ù. ²À Áöų ÇÊ¿ä´Â ¾øÁö¸¸ + Çڵ鷯 À̸§¿¡ ½½·¡½¬¸¦ »ç¿ëÇÏÁö ¾Ê°í, ´Ü¾îµé »çÀÌ¿¡ »©±â + ±âÈ£¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. ±×·¡¼­ Çڵ鷯 À̸§ÀÌ + media type°ú °ãÄ¡Áö ¾Ê´Â´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/handler.html.tr.utf8 b/docs/manual/handler.html.tr.utf8 new file mode 100644 index 0000000..bcab625 --- /dev/null +++ b/docs/manual/handler.html.tr.utf8 @@ -0,0 +1,179 @@ + + + + + +Apache Eylemcilerinin Kullanımı - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache Eylemcilerinin Kullanımı

+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Bu belgede Apache Eylemcilerinin kullanımı açıklanmıştır.

+
+ +
top
+
+

Eylemci Nedir?

+ + + + +

Bir eylemci bir dosya çağrıldığında uygulanacak eylemin Apache + dahilindeki gösterimidir. Genellikle dosyaların kendi türüne bağlı + olarak örtük eylemcileri vardır. Normalde tüm dosyalar basitçe sunucu + tarafından sunulurlar, fakat bazı dosya türleri normalden farklı şekilde + ele alınırlar.

+ +

Eylemciler, dosya türünden bağımsız olarak dosyanın bulunduğu yere veya + dosya ismi uzantısına göre de yapılandırılabilirler. Gerek, zarif bir + çözüm oluşuyla gerekse, hem dosya türünü hem de bir dosya ile ilişkili + bir eylemciyi mümkün kılması sebebiyle bunun getirisi daha yüksektir. + (Ayrıca, çok uzantılı + dosyalara da bakınız.)

+ +

Eylemciler sunucu içinde derlenebileceği gibi bir modül olarak ya da + Action yönergesi ile de + sunucuya dahil edilebilirler. Standart dağıtımda bulunan yerleşik + eylemciler şunlardır:

+ +
    +
  • default-handler: Dosyayı, öntanımlı olarak duraÄŸan + içeriÄŸi iÅŸlemekte kullanılan default_handler() iÅŸlevini + kullanarak gönderir. (core)
  • + +
  • send-as-is: Dosyayı HTTP baÅŸlıklarıyla olduÄŸu gibi + gönderir. (mod_asis)
  • + +
  • cgi-script: Dosyayı bir CGI betiÄŸi olarak ele alır. + (mod_cgi)
  • + +
  • imap-file: Dosyayı bir resim eÅŸleme kuralları + dosyası olarak çözümler. (mod_imagemap)
  • + +
  • server-info: Sunucunun yapılandırma bilgisini + döndürür. (mod_info)
  • + +
  • server-status: Sunucunun durum raporunu döndürür. + (mod_status)
  • + +
  • type-map: Dosyayı içerik uzlaşımı için bir tür + eÅŸlem dosyası olarak çözümler. (mod_negotiation)
  • +
+
top
+
+

Örnekler

+ + +

Bir CGI betiği kullanarak durağan içeriğin değiştirilmesi

+ + +

Aşağıdaki yönergeler sayesinde, html uzantılı dosyalar + için yapılan istekler footer.pl CGI betiğininin + çalıştırılmasına sebep olacaktır.

+ +
Action add-footer /cgi-bin/footer.pl
+AddHandler add-footer .html
+ + +

Bu yapılandırmayla, istenen belgenin özgün haliyle mi (yeri + PATH_TRANSLATED ortam değişkenindedir) yoksa istenen + değişiklikler veya eklemeler yapıldıktan sonra mı gönderileceğinden + CGI betiği sorumlu olacaktır.

+ + +

HTTP başlıklı dosyalar

+ + +

Aşağıdaki yönergeler kendi HTTP başlıklarını içeren dosyalar için + kullanılan send-as-is eylemcisini etkinleştirmek amacıyla + kullanılmıştır. /siteler/htdocs/asis/ dizinindeki tüm + dosyalar dosya ismi uzantılarına bakılmaksızın send-as-is + eylemcisi tarafından işleme sokulacaktır.

+ +
<Directory "/web/htdocs/asis">
+    SetHandler send-as-is
+</Directory>
+ + + +
top
+
+

Yazılım Geliştirenler İçin

+ + +

Eylemci özellikleri gerçeklenirken kullanılmak üzere Apache API’ye bir ekleme yapılmıştır. + Özellikle de, request_rec yapısına yeni bir kayıt + eklenmiştir:

+ +
char *handler
+ + +

Modülünüzün bir eylemciyi devreye sokmasını isterseniz, tek yapacağınız + isteğin invoke_handler aşamasının hemen öncesinde + r->handler alanına eylemcinin ismini atamak olacaktır. + Eylemciler daha önce de bahsedildiği gibi bir içerik türü yerine bir + eylemci ismi kullanılarak gerçeklenirler. Çok gerekli olmamakla + birlikte, eylemciler için kullanılan adlandırma uzlaşımları gereğince, + ismi oluşturan sözcükler, ortam türü isim alanını ihlal etmemek amacıyla + bölü imleri ile değil tire imleri ile ayrılırlar.

+
+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/handler.html.zh-cn.utf8 b/docs/manual/handler.html.zh-cn.utf8 new file mode 100644 index 0000000..e1256bd --- /dev/null +++ b/docs/manual/handler.html.zh-cn.utf8 @@ -0,0 +1,157 @@ + + + + + +Apache 的处ç†å™¨ - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

Apache 的处ç†å™¨

+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

本页æè¿° Apache 处ç†å™¨çš„用法。

+
+ +
top
+
+

什么是处ç†å™¨

+ + + + +

“处ç†å™¨â€æ˜¯å½“文件被调用时,Apache è¦æ‰§è¡Œçš„动作的内部表示形å¼ã€‚ + 一般æ¥è¯´ï¼Œæ¯ä¸ªæ–‡ä»¶éƒ½æœ‰åŸºäºŽå…¶æ–‡ä»¶ç±»åž‹çš„éšå¼å¤„ç†å™¨ã€‚通常的文件会被 + æœåŠ¡å™¨ç®€å•å¤„ç†ï¼Œä½†æ˜¯æŸäº›æ–‡ä»¶ç±»åž‹ä¼šè¢«åˆ†åˆ«â€œå¤„ç†â€ã€‚

+ +

处ç†å™¨ä¹Ÿå¯ä»¥è¢«åŸºäºŽæ‰©å±•å或ä½ç½®æ¥æ˜Žç¡®é…置。它们都很有用,这ä¸ä»… + 因为它是优雅的方案,而且还å…许类型与处ç†å™¨å…³è”到文件 + (å‚è§æ–‡ä»¶ä¸Žå¤šä¸ªæ‰©å±•å)。

+ +

处ç†å™¨å¯ä»¥ç¼–译到æœåŠ¡å™¨ä¸­ï¼Œæˆ–者包å«åœ¨æ¨¡å—中,它们还å¯ä»¥è¢« Action 指令增加。标准å‘行版中内置的处ç†å™¨æœ‰:

+ +
    +
  • default-handler: 使用 + default_handler() å‘é€æ–‡ä»¶ï¼Œå®ƒæ˜¯ç”¨æ¥å¤„ç†é™æ€å†…容的处ç†å™¨(核心)。
  • + +
  • send-as-is: 直接å‘é€ï¼Œä¸å¢žåŠ  HTTP 头(mod_asis)。
  • + +
  • cgi-script: 按 CGI 脚本处ç†(mod_cgi)。
  • + +
  • imap-file: 按 imagemap 规则处ç†(mod_imagemap)。
  • + +
  • server-info: å–å¾—æœåŠ¡å™¨é…置信æ¯(mod_info)。
  • + +
  • server-status: å–å¾—æœåŠ¡å™¨çŠ¶æ€æŠ¥å‘Š(mod_status)。
  • + +
  • type-map: 用于内容å商,按类型映射文件处ç†(mod_negotiation)。
  • +
+
top
+
+

例å­

+ + +

使用 CGI 脚本修改é™æ€å†…容

+ + +

下é¢çš„指令将会使具有html扩展åçš„æ–‡ä»¶ï¼Œè§¦å‘ CGI 脚本footer.pl的执行。

+ +

+ Action add-footer /cgi-bin/footer.pl
+ AddHandler add-footer .html +

+ +

于是 CGI è´Ÿè´£å‘é€è¯·æ±‚的文档(PATH_TRANSLATED 环境å˜é‡æŒ‡å‘它),按照需è¦ä½œå‡º and making + whatever modifications or additions are desired.

+ + +

å«æœ‰ HTTP 头的文件

+ + +

下é¢çš„指令会å¯ç”¨ + send-as-is 处ç†å™¨ï¼Œç”¨äºŽåŒ…å«è‡ªå·±çš„ HTTP 的文件。ä¸ç®¡ä»€ä¹ˆæ‰©å±•å, + 所有ä½äºŽ /web/htdocs/asis/ 目录的文件会被 + send-as-is 处ç†å™¨å¤„ç†ã€‚

+ +

+ <Directory /web/htdocs/asis>
+ SetHandler send-as-is
+ </Directory> +

+ + +
top
+
+

对程åºå‘˜çš„说明

+ + +

为了实现处ç†å™¨ç‰¹æ€§ï¼Œå¢žåŠ äº†éœ€è¦ä½¿ç”¨çš„ Apache API。 + 特别的,结构 request_rec 增加了新æˆå‘˜:

+ +

+ char *handler +

+ +

如果你想è¦æ¨¡å—实现处ç†å™¨ï¼Œåªéœ€è¦åœ¨åœ¨å¤„ç†è¯·æ±‚,调用 invoke_handler + 之å‰ï¼Œå°† r->handler 指å‘处ç†å™¨å称。处ç†å™¨çš„实现与以å‰ä¸€æ ·ï¼Œåªæ˜¯ç”¨å¤„ç†å™¨å称å–代了内容类型。 + 虽然ä¸æ˜¯å¿…è¦ï¼Œå¤„ç†å™¨çš„命å约定是使用破折å·åˆ†å‰²çš„å•è¯ï¼Œæ²¡æœ‰æ–œæ ï¼Œä»Žè€Œä¸ä¾µå…¥åª’体类型å称空间。

+
+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

评论

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/access.html b/docs/manual/howto/access.html new file mode 100644 index 0000000..2e5d6ab --- /dev/null +++ b/docs/manual/howto/access.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: access.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: access.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: access.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/howto/access.html.en b/docs/manual/howto/access.html.en new file mode 100644 index 0000000..1bd3e0e --- /dev/null +++ b/docs/manual/howto/access.html.en @@ -0,0 +1,229 @@ + + + + + +Access Control - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Access Control

+
+

Available Languages:  en  | + es  | + fr 

+
+ +

Access control refers to any means of controlling access to any + resource. This is separate from authentication and authorization.

+
+ +
top
+
+

Related Modules and Directives

+ +

Access control can be done by several different modules. The most + important of these are mod_authz_core and + mod_authz_host. Also discussed in this document + is access control using mod_rewrite.

+ +
top
+
+

Access control by host

+

+ If you wish to restrict access to portions of your site based on the + host address of your visitors, this is most easily done using + mod_authz_host. +

+ +

The Require + provides a variety of different ways to allow or deny access to + resources. In conjunction with the RequireAll, RequireAny, and RequireNone directives, these + requirements may be combined in arbitrarily complex ways, to enforce + whatever your access policy happens to be.

+ +

+ The Allow, + Deny, and + Order directives, + provided by mod_access_compat, are deprecated and + will go away in a future version. You should avoid using them, and + avoid outdated tutorials recommending their use. +

+ +

The usage of these directives is:

+ +
Require host address
+Require ip ip.address
+ + +

In the first form, address is a fully qualified + domain name (or a partial domain name); you may provide multiple + addresses or domain names, if desired.

+ +

In the second form, ip.address is an IP address, a + partial IP address, a network/netmask pair, or a network/nnn CIDR + specification. Either IPv4 or IPv6 addresses may be used.

+ +

See the + mod_authz_host documentation for further examples of this + syntax.

+ +

You can insert not to negate a particular requirement. + Note, that since a not is a negation of a value, it cannot + be used by itself to allow or deny a request, as not true + does not constitute false. Thus, to deny a visit using a negation, + the block must have one element that evaluates as true or false. + For example, if you have someone spamming your message + board, and you want to keep them out, you could do the + following:

+ +
<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+ + +

Visitors coming from that address (10.252.46.165) + will not be able to see the content covered by this directive. If, + instead, you have a machine name, rather than an IP address, you + can use that.

+ +
Require not host host.example.com
+    
+ + +

And, if you'd like to block access from an entire domain, + you can specify just part of an address or domain name:

+ +
Require not ip 192.168.205
+Require not host phishers.example.com moreidiots.example
+Require not host gov
+ + +

Use of the RequireAll, RequireAny, and RequireNone directives may be + used to enforce more complex sets of requirements.

+ +
top
+
+

Access control by arbitrary variables

+ +

Using the <If>, + you can allow or deny access based on arbitrary environment + variables or request header values. For example, to deny access + based on user-agent (the browser type) you might do the + following:

+ +
<If "%{HTTP_USER_AGENT} == 'BadBot'">
+    Require all denied
+</If>
+ + +

Using the Require + expr syntax, this could also be written as:

+ + +
Require expr %{HTTP_USER_AGENT} != 'BadBot'
+ + +

Warning:

+

Access control by User-Agent is an unreliable technique, + since the User-Agent header can be set to anything at all, + at the whim of the end user.

+
+ +

See the expressions document for a + further discussion of what expression syntaxes and variables are + available to you.

+ +
top
+
+

Access control with mod_rewrite

+ +

The [F] RewriteRule flag causes a 403 Forbidden + response to be sent. Using this, you can deny access to a resource based + on arbitrary criteria.

+ +

For example, if you wish to block access to a resource between 8pm + and 7am, you can do this using mod_rewrite.

+ +
RewriteEngine On
+RewriteCond "%{TIME_HOUR}" ">=20" [OR]
+RewriteCond "%{TIME_HOUR}" "<07"
+RewriteRule "^/fridge"     "-" [F]
+ + +

This will return a 403 Forbidden response for any request after 8pm + or before 7am. This technique can be used for any criteria that you wish + to check. You can also redirect, or otherwise rewrite these requests, if + that approach is preferred.

+ +

The <If> directive, + added in 2.4, replaces many things that mod_rewrite has + traditionally been used to do, and you should probably look there first + before resorting to mod_rewrite.

+ +
top
+
+

More information

+ +

The expression engine gives you a + great deal of power to do a variety of things based on arbitrary + server variables, and you should consult that document for more + detail.

+ +

Also, you should read the mod_authz_core + documentation for examples of combining multiple access requirements + and specifying how they interact.

+ +

See also the Authentication and Authorization + howto.

+
+
+

Available Languages:  en  | + es  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/access.html.es b/docs/manual/howto/access.html.es new file mode 100644 index 0000000..c5e562a --- /dev/null +++ b/docs/manual/howto/access.html.es @@ -0,0 +1,236 @@ + + + + + +Control de Acceso - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Control de Acceso

+
+

Idiomas disponibles:  en  | + es  | + fr 

+
+ +

El control de acceso, hace referencia a todos los medios que proporcionan + una forma de controlar el acceso a cualquier recurso. Esta parte está + separada de autenticación y autorización.

+
+ +
top
+
+

Módulos y Directivas relacionados

+ +

El control de acceso puede efectuarse mediante diferentes módulos. Los + más importantes de éstos son mod_authz_core y + mod_authz_host. También se habla en este documento de + el control de acceso usando el módulo mod_rewrite.

+ +
top
+
+

Control de Acceso por host

+

+ Si lo que se quiere es restringir algunas zonas del sitio web, basándonos + en la dirección del visitante, esto puede ser realizado de manera + fácil con el módulo mod_authz_host. +

+ +

La directiva Require + proporciona una variedad de diferentes maneras de permitir o denegar el acceso a los recursos. Además puede ser usada junto con las directivas:RequireAll, RequireAny, y RequireNone, estos requerimientos pueden + ser combinados de forma compleja y arbitraria, para cumplir cualquiera que + sean tus políticas de acceso.

+ +

+ Las directivas Allow, + Deny, y + Order, + proporcionadas por mod_access_compat, están obsoletas y + serán quitadas en futuras versiones. Deberá evitar su uso, y también + los tutoriales desactualizaos que recomienden su uso. +

+ +

El uso de estas directivas es:

+ + +
Require host address 
+Require ip ip.address +
+ + +

En la primera línea, address es el FQDN de un nombre de + dominio (o un nombre parcial del dominio); puede proporcionar múltiples + direcciones o nombres de dominio, si se desea. +

+ +

En la segunda línea, ip.address es la dirección IP, una + dirección IP parcial, una red con su máscara, o una especificación red/nnn + CIDR. Pueden usarse tanto IPV4 como IPV6.

+ +

Consulte también la + documentación de mod_authz_host para otros ejemplos de esta sintaxis. +

+ +

Puede ser insertado not para negar un requisito en particular. + Note que, ya que not es una negación de un valor, no puede ser + usado por si solo para permitir o denegar una petición, como not true + que no contituye ser false. En consecuencia, para denegar una + visita usando una negación, el bloque debe tener un elemento que se evalúa como + verdadero o falso. Por ejemplo, si tienes a alguien espameandote tu tablón de + mensajes, y tu quieres evitar que entren o dejarlos fuera, puedes realizar + lo siguiente: +

+ +
<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+ + +

Los visitantes que vengan desde la IP que se configura (10.252.46.165) + no tendrán acceso al contenido que cubre esta directiva. Si en cambio, lo que se + tiene es el nombre de la máquina, en vez de la IP, podrás usar:

+ +
Require not host host.example.com
+    
+ + +

Y, Si lo que se quiere es bloquear el acceso desde dominio especifico, + podrás especificar parte de una dirección o nombre de dominio:

+ +
Require not ip 192.168.205
+Require not host phishers.example.com moreidiots.example
+Require not host gov
+ + +

Uso de las directivas RequireAll, RequireAny, y RequireNone pueden ser usadas + para forzar requisitos más complejos.

+ +
top
+
+

Control de acceso por variables arbitrarias.

+ +

Haciendo el uso de <If>, + puedes permitir o denegar el acceso basado en variables de entrono arbitrarias + o en los valores de las cabeceras de las peticiones. Por ejemplo para denegar + el acceso basándonos en el "user-agent" (tipo de navegador así como Sistema Operativo) + puede que hagamos lo siguiente: +

+ +
<If "%{HTTP_USER_AGENT} == 'BadBot'">
+    Require all denied
+</If>
+ + +

Usando la sintaxis de Require + expr , esto también puede ser escrito de la siguiente forma: +

+ + +
Require expr %{HTTP_USER_AGENT} != 'BadBot'
+ + +

Advertencia:

+

El control de acceso por User-Agent es una técnica poco fiable, + ya que la cabecera de User-Agent puede ser modificada y establecerse + al antojo del usuario.

+
+ +

Vea también la página de expresiones + para una mayor aclaración de que sintaxis tienen las expresiones y que + variables están disponibles.

+ +
top
+
+

Control de acceso con mod_rewrite

+ +

El flag [F] de RewriteRule causa una respuesta 403 Forbidden + para ser enviada. USando esto, podrá denegar el acceso a recursos basándose + en criterio arbitrario.

+ +

Por ejemplo, si lo que desea es bloquear un recurso entre las 8pm y las + 7am, podrá hacerlo usando mod_rewrite:

+ +
RewriteEngine On
+RewriteCond "%{TIME_HOUR}" ">=20" [OR]
+RewriteCond "%{TIME_HOUR}" "<07"
+RewriteRule "^/fridge"     "-"       [F]
+ + +

Esto devolverá una respuesta de error 403 Forbidden para cualquier petición + después de las 8pm y antes de las 7am. Esta técnica puede ser usada para cualquier + criterio que desee usar. También puede redireccionar, o incluso reescribir estas + peticiones, si se prefiere ese enfoque. +

+ +

La directiva <If>, + añadida en la 2.4, sustituye muchas cosas que mod_rewrite + tradicionalmente solía hacer, y deberá comprobar estas antes de recurrir a +

+ +
top
+
+

Más información

+ +

El motor de expresiones le da una gran + capacidad de poder para hacer una gran variedad de cosas basadas en + las variables arbitrarias del servidor, y debe consultar este + documento para más detalles.

+ +

También, deberá leer la documentación de mod_authz_core + para ejemplos de combinaciones de múltiples requisitos de acceso y especificar + cómo interactúan. +

+ +

Vea también los howtos de Authenticación y Autorización +

+
+
+

Idiomas disponibles:  en  | + es  | + fr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/access.html.fr.utf8 b/docs/manual/howto/access.html.fr.utf8 new file mode 100644 index 0000000..057d8e3 --- /dev/null +++ b/docs/manual/howto/access.html.fr.utf8 @@ -0,0 +1,242 @@ + + + + + +Contrôle d'accès - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Contrôle d'accès

+
+

Langues Disponibles:  en  | + es  | + fr 

+
+ +

Le contrôle d'accès fait référence à tout concept de contrôle + d'accès à une ressource quelconque. Il est distinct du processus d'authentification et d'autorisation.

+
+ +
top
+
+

Modules et directives concernés

+ +

Plusieurs modules peuvent intervenir dans le contrôle d'accès. + Les plus importants sont mod_authz_core et + mod_authz_host. Ce document illustre aussi comment + utiliser mod_rewrite pour le contrôle + d'accès.

+ +
top
+
+

Contrôle d'accès en fonction de l'hôte du +client

+

+ Si vous souhaitez restreindre l'accès à certaines parties de votre + site web en fonction de l'addresse de l'hôte de vos visiteurs, le + plus simple pour y parvenir consiste à utiliser le module + mod_authz_host. +

+ +

La directive Require permet d'accorder ou + d'interdire l'accès à certaines ressources de différentes manières. + Ces critères d'accès, en conjonction avec les directives RequireAll, RequireAny, et RequireNone, peuvent être + combinés d'une manière suffisamment complexe pour + satisfaire votre politique de contrôle d'accès.

+ +

+ Les directives Allow, Deny, et Order fournies par le module + mod_access_compat sont obsolètes, et sont appelées à + disparaître dans les versions futures. Il est donc déconseillé de + les utiliser, et de se fier aux tutoriels qui recommandent leur + utilisation. +

+ +

Les directives Require s'utilisent comme suit :

+ +
Require host address
+Require ip ip.address
+ + +

Dans la première forme, nom-hôte est un nom de domaine + pleinement qualifié (fqdn), ou un nom de domaine partiel ; vous + pouvez spécifier plusieurs noms de domaines, si vous le désirez.

+ +

Dans la seconde forme, adresse-ip est une adresse IP + complète, une adresse IP partielle, une paire réseau/masque de + sous-réseau ou une spécification CIDR de la forme réseau/nnn. Il est + possible de spécifier des adresses IPv4 ou IPv6.

+ +

Voir la + documentation de mod_authz_host pour d'autres exemples de cette + syntaxe.

+ +

Vous pouvez insérer le mot-clé not pour inverser un + critère particulier. Notez que le mot not étant la + négation d'une valeur, il ne peut pas être utilisé pour autoriser + ou interdire une requête, car non vrai ne + sera pas interpreté par httpd comme faux. Ainsi, pour interdire la + visite d'une page à l'aide d'une négation, le bloc doit contenir un + élément évalué à vrai ou faux. + Par exemple, si quelqu'un est en train d'inonder + votre forum de messages indésirables, vous pouvez ajouter cette ligne pour lui refuser + l'accès :

+ +
<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+ + +

Les visiteurs possédant cette adresse (10.252.46.165) ne pourront pas voir le + contenu concerné par cette directive. Si vous voulez interdire + l'accès à une machine en fonction de son nom, vous pouvez ajouter + ceci :

+ +
Require not host host.example.com
+    
+ + +

Et si vous voulez interdire l'accès à un domaine particulier, + vous pouvez spécifier des adresses IP partielles ou des noms de + domaine, comme ceci :

+ +
Require not ip 192.168.205
+Require not host phishers.example.com moreidiots.example
+Require not host gov
+ + +

Les directives RequireAll, RequireAny, et RequireNone permettent également de préciser des + critères d'accès plus complexes.

+ +
top
+
+

Contrôle d'accès en fonction de variables +arbitraires

+ +

Vous pouvez accorder ou refuser l'accès en fonction de variables + d'environnement arbitraires ou de valeurs d'en-têtes de la requête + en utilisant la directive <If>. Par exemple, pour interdire l'accès en + fonction du user-agent (le type de navigateur), vous pouvez + spécifier ceci :

+ +
<If "%{HTTP_USER_AGENT} == 'BadBot'">
+    Require all denied
+</If>
+ + +

La syntaxe expr de la directive Require permet de réécrire + l'exemple précédent de la manière suivante :

+ + +
Require expr %{HTTP_USER_AGENT} != 'BadBot'
+ + +

Avertissement :

+

Contrôler l'accès en fonction de l'en-tête + User-Agent n'est pas une technique fiable, car cet + en-tête peut être défini à une valeur quelconque, selon le bon + vouloir de l'utilisateur.

+
+ +

Voir le document à propos des expressions pour une description plus + approfondie des syntaxes d'expressions et des variables disponibles.

+ +
top
+
+

Utilisation de mod_rewrite pour le contrôle +d'accès

+ +

Le drapeau [F] de la directive RewriteRule permet d'envoyer une + réponse de type 403 Forbidden. Il vous permet donc d'interdire + l'accès à une ressource en fonction d'un critère arbitraire.

+ +

Par exemple, pour bloquer l'accès à une ressources entre 20h et + 7h du matin, vous pouvez utiliser mod_rewrite :

+ +
RewriteEngine On
+RewriteCond "%{TIME_HOUR}" ">=20" [OR]
+RewriteCond "%{TIME_HOUR}" "<07"
+RewriteRule "^/fridge"     "-" [F]
+ + +

Toute requête arrivant après 20h ou avant 7h du matin provoquera + l'envoi d'une réponse de type 403 Forbidden. Vous pouvez utiliser + cette technique pour vérifier toutes sortes de critères. En outre, + si vous le préférez, vous pouvez rediriger ou réécrire la requête.

+ +

Notez que la directive <If>, introduite à partir de la version 2.4, + permet de remplacer le module mod_rewrite dans de + nombreuses situations où il était traditionnellement utilisé, et + il sera probablement préférable pour vous de tenter de l'utiliser + avant de vous tourner vers mod_rewrite.

+ +
top
+
+

Informations complémentaires

+ +

Le moteur d'expressions vous fournit + une grande puissance d'action en fonction de variables du serveur + arbitraires, et il vous est conseillé de consulter le document + correspondant pour plus de détails.

+ +

De même, vous devez lire la documentation du module + mod_authz_core pour des exemples de combinaison de + critères d'accès multiples, et en particulier la manière dont ces + derniers interagissent.

+ +

Voir aussi le How-To Authentification and + autorisation.

+
+
+

Langues Disponibles:  en  | + es  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/auth.html b/docs/manual/howto/auth.html new file mode 100644 index 0000000..5e5578d --- /dev/null +++ b/docs/manual/howto/auth.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: auth.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: auth.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: auth.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: auth.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: auth.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: auth.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/howto/auth.html.en b/docs/manual/howto/auth.html.en new file mode 100644 index 0000000..d8a9b0e --- /dev/null +++ b/docs/manual/howto/auth.html.en @@ -0,0 +1,640 @@ + + + + + +Authentication and Authorization - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Authentication and Authorization

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Authentication is any process by which you verify that + someone is who they claim they are. Authorization is any + process by which someone is allowed to be where they want to + go, or to have information that they want to have.

+ +

For general access control, see the Access + Control How-To.

+
+ +
top
+
+

Related Modules and Directives

+ +

There are three types of modules involved in the authentication and +authorization process. You will usually need to choose at least one +module from each group.

+ + + +

In addition to these modules, there are also + mod_authn_core and + mod_authz_core. These modules implement core + directives that are core to all auth modules.

+ +

The module mod_authnz_ldap is both an + authentication and authorization provider. The module + mod_authz_host provides authorization + and access control based on hostname, IP address or characteristics + of the request, but is not part of the authentication provider + system. For backwards compatibility with the mod_access, there is + a new module mod_access_compat.

+ +

You probably also want to take a look at the Access Control howto, which discusses the + various ways to control access to your server.

+ +
top
+
+

Introduction

+

If you have information on your web site that is sensitive + or intended for only a small group of people, the techniques in + this article will help you make sure that the people that see + those pages are the people that you wanted to see them.

+ +

This article covers the "standard" way of protecting parts + of your web site that most of you are going to use.

+ +

Note:

+

If your data really needs to be secure, consider using + mod_ssl in addition to any authentication.

+
+
top
+
+

The Prerequisites

+

The directives discussed in this article will need to go + either in your main server configuration file (typically in a + <Directory> section), or + in per-directory configuration files (.htaccess files).

+ +

If you plan to use .htaccess files, you will + need to have a server configuration that permits putting + authentication directives in these files. This is done with the + AllowOverride directive, which + specifies which directives, if any, may be put in per-directory + configuration files.

+ +

Since we're talking here about authentication, you will need + an AllowOverride directive like the + following:

+ +
AllowOverride AuthConfig
+ + +

Or, if you are just going to put the directives directly in + your main server configuration file, you will of course need to + have write permission to that file.

+ +

And you'll need to know a little bit about the directory + structure of your server, in order to know where some files are + kept. This should not be terribly difficult, and I'll try to + make this clear when we come to that point.

+ +

You will also need to make sure that the modules + mod_authn_core and mod_authz_core + have either been built into the httpd binary or loaded by the + httpd.conf configuration file. Both of these modules provide core + directives and functionality that are critical to the configuration + and use of authentication and authorization in the web server.

+
top
+
+

Getting it working

+

Here's the basics of password protecting a directory on your + server.

+ +

First, you need to create a password file. Exactly how you do + this will vary depending on what authentication provider you have + chosen. More on that later. To start with, we'll use a text password + file.

+ +

This file should be + placed somewhere not accessible from the web. This is so that + folks cannot download the password file. For example, if your + documents are served out of /usr/local/apache/htdocs, you + might want to put the password file(s) in + /usr/local/apache/passwd.

+ +

To create the file, use the htpasswd utility that + came with Apache. This will be located in the bin directory + of wherever you installed Apache. If you have installed Apache from + a third-party package, it may be in your execution path.

+ +

To create the file, type:

+ +

+ htpasswd -c /usr/local/apache/passwd/passwords rbowen +

+ +

htpasswd will ask you for the password, and + then ask you to type it again to confirm it:

+ +

+ # htpasswd -c /usr/local/apache/passwd/passwords rbowen
+ New password: mypassword
+ Re-type new password: mypassword
+ Adding password for user rbowen +

+ +

If htpasswd is not in your path, of course + you'll have to type the full path to the file to get it to run. + With a default installation, it's located at + /usr/local/apache2/bin/htpasswd

+ +

Next, you'll need to configure the server to request a + password and tell the server which users are allowed access. + You can do this either by editing the httpd.conf + file or using an .htaccess file. For example, if + you wish to protect the directory + /usr/local/apache/htdocs/secret, you can use the + following directives, either placed in the file + /usr/local/apache/htdocs/secret/.htaccess, or + placed in httpd.conf inside a <Directory + "/usr/local/apache/htdocs/secret"> section.

+ +
AuthType Basic
+AuthName "Restricted Files"
+# (Following line optional)
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+Require user rbowen
+ + +

Let's examine each of those directives individually. The AuthType directive selects + the method that is used to authenticate the user. The most + common method is Basic, and this is the method + implemented by mod_auth_basic. It is important to be aware, + however, that Basic authentication sends the password from the client to + the server unencrypted. This method should therefore not be used for + highly sensitive data, unless accompanied by mod_ssl. + Apache supports one other authentication method: + AuthType Digest. This method is implemented by mod_auth_digest and was intended to be more secure. This is no + longer the case and the connection should be encrypted with mod_ssl instead.

+ +

The AuthName directive sets + the Realm to be used in the authentication. The realm serves + two major functions. First, the client often presents this information to + the user as part of the password dialog box. Second, it is used by the + client to determine what password to send for a given authenticated + area.

+ +

So, for example, once a client has authenticated in the + "Restricted Files" area, it will automatically + retry the same password for any area on the same server that is + marked with the "Restricted Files" Realm. + Therefore, you can prevent a user from being prompted more than + once for a password by letting multiple restricted areas share + the same realm. Of course, for security reasons, the client + will always need to ask again for the password whenever the + hostname of the server changes.

+ +

The AuthBasicProvider is, + in this case, optional, since file is the default value + for this directive. You'll need to use this directive if you are + choosing a different source for authentication, such as + mod_authn_dbm or mod_authn_dbd.

+ +

The AuthUserFile + directive sets the path to the password file that we just + created with htpasswd. If you have a large number + of users, it can be quite slow to search through a plain text + file to authenticate the user on each request. Apache also has + the ability to store user information in fast database files. + The mod_authn_dbm module provides the AuthDBMUserFile directive. These + files can be created and manipulated with the dbmmanage and htdbm programs. Many + other types of authentication options are available from third + party modules.

+ +

Finally, the Require + directive provides the authorization part of the process by + setting the user that is allowed to access this region of the + server. In the next section, we discuss various ways to use the + Require directive.

+
top
+
+

Letting more than one +person in

+

The directives above only let one person (specifically + someone with a username of rbowen) into the + directory. In most cases, you'll want to let more than one + person in. This is where the AuthGroupFile comes in.

+ +

If you want to let more than one person in, you'll need to + create a group file that associates group names with a list of + users in that group. The format of this file is pretty simple, + and you can create it with your favorite editor. The contents + of the file will look like this:

+ +

+ GroupName: rbowen dpitts sungo rshersey +

+ +

That's just a list of the members of the group in a long + line separated by spaces.

+ +

To add a user to your already existing password file, + type:

+ +

+ htpasswd /usr/local/apache/passwd/passwords dpitts +

+ +

You'll get the same response as before, but it will be + appended to the existing file, rather than creating a new file. + (It's the -c that makes it create a new password + file).

+ +

Now, you need to modify your .htaccess file or + <Directory> block + to look like the following:

+ +
AuthType Basic
+AuthName "By Invitation Only"
+# Optional line:
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+AuthGroupFile "/usr/local/apache/passwd/groups"
+Require group GroupName
+ + +

Now, anyone that is listed in the group GroupName, + and has an entry in the password file, will be let in, if + they type the correct password.

+ +

There's another way to let multiple users in that is less + specific. Rather than creating a group file, you can just use + the following directive:

+ +
Require valid-user
+ + +

Using that rather than the Require user rbowen + line will allow anyone in that is listed in the password file, + and who correctly enters their password.

+
top
+
+

Possible problems

+

Because of the way that Basic authentication is specified, + your username and password must be verified every time you + request a document from the server. This is even if you're + reloading the same page, and for every image on the page (if + they come from a protected directory). As you can imagine, this + slows things down a little. The amount that it slows things + down is proportional to the size of the password file, because + it has to open up that file, and go down the list of users + until it gets to your name. And it has to do this every time a + page is loaded.

+ +

A consequence of this is that there's a practical limit to + how many users you can put in one password file. This limit + will vary depending on the performance of your particular + server machine, but you can expect to see slowdowns once you + get above a few hundred entries, and may wish to consider a + different authentication method at that time.

+
top
+
+

Alternate password storage

+ +

Because storing passwords in plain text files has the above + problems, you may wish to store your passwords somewhere else, such + as in a database.

+ +

mod_authn_dbm and mod_authn_dbd are two + modules which make this possible. Rather than selecting AuthBasicProvider file, instead + you can choose dbm or dbd as your storage + format.

+ +

To select a dbm file rather than a text file, for example:

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider dbm
+    AuthDBMUserFile "/www/passwords/passwd.dbm"
+    Require valid-user
+</Directory>
+ + +

Other options are available. Consult the + mod_authn_dbm documentation for more details.

+
top
+
+

Using multiple providers

+ +

With the introduction of the new provider based authentication and + authorization architecture, you are no longer locked into a single + authentication or authorization method. In fact any number of the + providers can be mixed and matched to provide you with exactly the + scheme that meets your needs. In the following example, both the + file and LDAP based authentication providers are being used.

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file ldap
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    Require valid-user
+</Directory>
+ + +

In this example the file provider will attempt to authenticate + the user first. If it is unable to authenticate the user, the LDAP + provider will be called. This allows the scope of authentication + to be broadened if your organization implements more than + one type of authentication store. Other authentication and authorization + scenarios may include mixing one type of authentication with a + different type of authorization. For example, authenticating against + a password file yet authorizing against an LDAP directory.

+ +

Just as multiple authentication providers can be implemented, multiple + authorization methods can also be used. In this example both file group + authorization as well as LDAP group authorization is being used.

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    AuthGroupFile "/usr/local/apache/passwd/groups"
+    Require group GroupName
+    Require ldap-group cn=mygroup,o=yourorg
+</Directory>
+ + +

To take authorization a little further, authorization container + directives such as + <RequireAll> + and + <RequireAny> + allow logic to be applied so that the order in which authorization + is handled can be completely controlled through the configuration. + See Authorization + Containers for an example of how they may be applied.

+ +
top
+
+

Beyond just authorization

+ +

The way that authorization can be applied is now much more flexible + than just a single check against a single data store. Ordering, logic + and choosing how authorization will be done is now possible.

+ +

Applying logic and ordering

+

Controlling how and in what order authorization will be applied + has been a bit of a mystery in the past. In Apache 2.2 a provider-based + authentication mechanism was introduced to decouple the actual + authentication process from authorization and supporting functionality. + One of the side benefits was that authentication providers could be + configured and called in a specific order which didn't depend on the + load order of the auth module itself. This same provider based mechanism + has been brought forward into authorization as well. What this means is + that the Require directive + not only specifies which authorization methods should be used, it also + specifies the order in which they are called. Multiple authorization + methods are called in the same order in which the + Require directives + appear in the configuration.

+ +

With the introduction of authorization container directives + such as + <RequireAll> + and + <RequireAny>, + the configuration also has control over when the + authorization methods are called and what criteria determines when + access is granted. See + Authorization Containers + for an example of how they may be used to express complex + authorization logic.

+ +

By default all + Require + directives are handled as though contained within a + <RequireAny> + container directive. In other words, if + any of the specified authorization methods succeed, then authorization + is granted.

+ + + +

Using authorization providers for access control

+

Authentication by username and password is only part of the + story. Frequently you want to let people in based on something + other than who they are. Something such as where they are + coming from.

+ +

The authorization providers all, + env, host and ip let you + allow or deny access based on other host based criteria such as + host name or ip address of the machine requesting a + document.

+ +

The usage of these providers is specified through the + Require directive. + This directive registers the authorization providers + that will be called during the authorization stage of the request + processing. For example:

+ +
Require ip address
+        
+ + +

where address is an IP address (or a partial IP + address) or:

+ +
Require host domain_name
+        
+ + +

where domain_name is a fully qualified domain name + (or a partial domain name); you may provide multiple addresses or + domain names, if desired.

+ +

For example, if you have someone spamming your message + board, and you want to keep them out, you could do the + following:

+ +
<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+ + +

Visitors coming from that address will not be able to see + the content covered by this directive. If, instead, you have a + machine name, rather than an IP address, you can use that.

+ +
<RequireAll>
+    Require all granted
+    Require not host host.example.com
+</RequireAll>
+ + +

And, if you'd like to block access from an entire domain, + you can specify just part of an address or domain name:

+ +
<RequireAll>
+    Require all granted
+    Require not ip 192.168.205
+    Require not host phishers.example.com moreidiots.example
+    Require not host ke
+</RequireAll>
+ + +

Using <RequireAll> + with multiple <Require> directives, each negated with not, + will only allow access, if all of negated conditions are true. In other words, + access will be blocked, if any of the negated conditions fails.

+ + + +

Access Control backwards compatibility

+

One of the side effects of adopting a provider based mechanism for + authentication is that the previous access control directives + Order, + Allow, + Deny and + Satisfy are no longer needed. + However to provide backwards compatibility for older configurations, these + directives have been moved to the mod_access_compat module.

+ +

Note

+

The directives provided by mod_access_compat have + been deprecated by mod_authz_host. + Mixing old directives like Order, Allow or Deny with new ones like + Require is technically possible + but discouraged. The mod_access_compat module was created to support + configurations containing only old directives to facilitate the 2.4 upgrade. + Please check the upgrading guide for more + information. +

+
+ + +
top
+
+

Authentication Caching

+

There may be times when authentication puts an unacceptable load + on a provider or on your network. This is most likely to affect users + of mod_authn_dbd (or third-party/custom providers). + To deal with this, HTTPD 2.3/2.4 introduces a new caching provider + mod_authn_socache to cache credentials and reduce + the load on the origin provider(s).

+

This may offer a substantial performance boost to some users.

+
top
+
+

More information

+

You should also read the documentation for + mod_auth_basic and mod_authz_host + which contain some more information about how this all works. The + directive <AuthnProviderAlias> can also help + in simplifying certain authentication configurations.

+ +

The various ciphers supported by Apache for authentication data are + explained in Password + Encryptions.

+ +

And you may want to look at the Access + Control howto, which discusses a number of related topics.

+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/auth.html.es b/docs/manual/howto/auth.html.es new file mode 100644 index 0000000..fd72860 --- /dev/null +++ b/docs/manual/howto/auth.html.es @@ -0,0 +1,717 @@ + + + + + +Autenticación y Autorización - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Autenticación y Autorización

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ +

Autenticación es cualquier proceso por el cuál se verifica que uno es + quien dice ser. Autorización es cualquier proceso en el cuál cualquiera + está permitido a estar donde se quiera, o tener información la cuál se + quiera tener. +

+ +

Para información de control de acceso de forma genérica visiteHow to de Control de Acceso.

+
+ +
top
+
+

Módulos y Directivas Relacionados

+ +

Hay tres tipos de módulos involucrados en los procesos de la autenticación + y autorización. Normalmente deberás escoger al menos un módulo de cada grupo.

+ + + +

A parte de éstos módulos, también están + mod_authn_core y + mod_authz_core. Éstos módulos implementan las directivas + esenciales que son el centro de todos los módulos de autenticación.

+ +

El módulo mod_authnz_ldap es tanto un proveedor de + autenticación como de autorización. El módulo + mod_authz_host proporciona autorización y control de acceso + basado en el nombre del Host, la dirección IP o características de la propia + petición, pero no es parte del sistema proveedor de + autenticación. Para tener compatibilidad inversa con el mod_access, + hay un nuevo modulo llamado mod_access_compat.

+ +

También puedes mirar el how-to de Control de Acceso , donde se plantean varias formas del control de acceso al servidor.

+ +
top
+
+

Introducción

+

Si se tiene información en nuestra página web que sea información + sensible o pensada para un grupo reducido de usuarios/personas, + las técnicas que se describen en este manual, le servirán + de ayuda para asegurarse de que las personas que ven esas páginas sean + las personas que uno quiere.

+ +

Este artículo cubre la parte "estándar" de cómo proteger partes de un + sitio web que muchos usarán.

+ +

Nota:

+

Si de verdad es necesario que tus datos estén en un sitio seguro, + considera usar mod_ssl como método de autenticación adicional a cualquier forma de autenticación.

+
+
top
+
+

Los Prerequisitos

+

Las directivas que se usan en este artículo necesitaran ponerse ya sea + en el fichero de configuración principal del servidor ( típicamente en + la sección + <Directory> de httpd.conf ), o + en cada uno de los ficheros de configuraciones del propio directorio + (los archivos .htaccess).

+ +

Si planea usar los ficheros .htaccess , necesitarás + tener en la configuración global del servidor, una configuración que permita + poner directivas de autenticación en estos ficheros. Esto se hace con la + directiva AllowOverride, la cual especifica + que directivas, en su caso, pueden ser puestas en cada fichero de configuración + por directorio.

+ +

Ya que estamos hablando aquí de autenticación, necesitarás una directiva + AllowOverride como la siguiente: +

+ +
AllowOverride AuthConfig
+ + +

O, si solo se van a poner las directivas directamente en la configuración + principal del servidor, deberás tener, claro está, permisos de escritura + en el archivo.

+ +

Y necesitarás saber un poco de como está estructurado el árbol de + directorios de tu servidor, para poder saber donde se encuentran algunos + archivos. Esto no debería ser una tarea difícil, aún así intentaremos + dejarlo claro llegado el momento de comentar dicho aspecto.

+ +

También deberás de asegurarte de que los módulos + mod_authn_core y mod_authz_core + han sido incorporados, o añadidos a la hora de compilar en tu binario httpd o + cargados mediante el archivo de configuración httpd.conf. Estos + dos módulos proporcionan directivas básicas y funcionalidades que son críticas + para la configuración y uso de autenticación y autorización en el servidor web.

+
top
+
+

Conseguir que funcione

+

Aquí está lo básico de cómo proteger con contraseña un directorio en tu + servidor.

+ +

Primero, necesitarás crear un fichero de contraseña. Dependiendo de que + proveedor de autenticación se haya elegido, se hará de una forma u otra. Para empezar, + usaremos un fichero de contraseña de tipo texto.

+ +

Este fichero deberá estar en un sitio que no se pueda tener acceso desde + la web. Esto también implica que nadie pueda descargarse el fichero de + contraseñas. Por ejemplo, si tus documentos están guardados fuera de + /usr/local/apache/htdocs, querrás poner tu archivo de contraseñas en + /usr/local/apache/passwd.

+ +

Para crear el fichero de contraseñas, usa la utilidad + htpasswd que viene con Apache. Esta herramienta se + encuentra en el directorio /bin en donde sea que se ha + instalado el Apache. Si ha instalado Apache desde un paquete de terceros, + puede ser que se encuentre en su ruta de ejecución.

+ +

Para crear el fichero, escribiremos:

+ +

+ htpasswd -c /usr/local/apache/passwd/passwords rbowen +

+ +

htpasswd te preguntará por una contraseña, y después + te pedirá que la vuelvas a escribir para confirmarla:

+ +

+ $ htpasswd -c /usr/local/apache/passwd/passwords rbowen
+ New password: mypassword
+ Re-type new password: mypassword
+ Adding password for user rbowen +

+ +

Si htpasswd no está en tu variable de entorno "path" del + sistema, por supuesto deberás escribir la ruta absoluta del ejecutable para + poder hacer que se ejecute. En una instalación por defecto, está en: + /usr/local/apache2/bin/htpasswd

+ +

Lo próximo que necesitas, será configurar el servidor para que pida una + contraseña y así decirle al servidor que usuarios están autorizados a acceder. + Puedes hacer esto ya sea editando el fichero httpd.conf + de configuración o usando in fichero .htaccess. Por ejemplo, + si quieres proteger el directorio + /usr/local/apache/htdocs/secret, puedes usar las siguientes + directivas, ya sea en el fichero .htaccess localizado en + following directives, either placed in the file + /usr/local/apache/htdocs/secret/.htaccess, o + en la configuración global del servidor httpd.conf dentro de la + sección <Directory + "/usr/local/apache/htdocs/secret"> , como se muestra a continuación:

+ +
<Directory "/usr/local/apache/htdocs/secret">
+AuthType Basic
+AuthName "Restricted Files"
+# (Following line optional)
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+Require user rbowen
+</Directory>
+ + +

Vamos a explicar cada una de las directivas individualmente. + La directiva AuthType selecciona el método + que se usa para autenticar al usuario. El método más común es + Basic, y éste es el método que implementa + mod_auth_basic. Es muy importante ser consciente, + de que la autenticación básica, envía las contraseñas desde el cliente + al servidor sin cifrar. + Este método por tanto, no debe ser utilizado para proteger datos muy sensibles, + a no ser que, este método de autenticación básica, sea acompañado del módulo + mod_ssl. + Apache soporta otro método más de autenticación que es del tipo + AuthType Digest. Este método, es implementado por el módulo mod_auth_digest y con el se pretendía crear una autenticación más + segura. Este ya no es el caso, ya que la conexión deberá realizarse con mod_ssl en su lugar. +

+ +

La directiva AuthName + establece el Realm para ser usado en la autenticación. El + Realm tiene dos funciones principales. + La primera, el cliente presenta a menudo esta información al usuario como + parte del cuadro de diálogo de contraseña. La segunda, que es utilizado por + el cliente para determinar qué contraseña enviar a para una determinada zona + de autenticación.

+ +

Así que, por ejemple, una vez que el cliente se ha autenticado en el área de + los "Ficheros Restringidos", entonces re-intentará automáticamente + la misma contraseña para cualquier área en el mismo servidor que es marcado + con el Realm de "Ficheros Restringidos" + Por lo tanto, puedes prevenir que a un usuario se le pida mas de una vez por su + contraseña, compartiendo así varias áreas restringidas el mismo Realm + Por supuesto, por razones de seguridad, el cliente pedirá siempre por una contraseña, + siempre y cuando el nombre del servidor cambie. +

+ +

La directiva AuthBasicProvider es, + en este caso, opcional, ya que file es el valor por defecto + para esta directiva. Deberás usar esta directiva si estas usando otro medio + diferente para la autenticación, como por ejemplo + mod_authn_dbm o mod_authn_dbd.

+ +

La directiva AuthUserFile + establece el path al fichero de contraseñas que acabamos de crear con el + comando htpasswd. Si tiene un número muy grande de usuarios, + puede ser realmente lento el buscar el usuario en ese fichero de texto plano + para autenticar a los usuarios en cada petición. + Apache también tiene la habilidad de almacenar información de usuarios en + unos ficheros de rápido acceso a modo de base de datos. + El módulo mod_authn_dbm proporciona la directiva AuthDBMUserFile. Estos ficheros pueden ser creados y + manipulados con el programa dbmmanage y htdbm. + Muchos otros métodos de autenticación así como otras opciones, están disponibles en + módulos de terceros + Base de datos de Módulos disponibles.

+ +

Finalmente, la directiva Require + proporciona la parte del proceso de autorización estableciendo el o los + usuarios que se les está permitido acceder a una región del servidor. + En la próxima sección, discutiremos las diferentes vías de utilizar la + directiva Require.

+
top
+
+

Dejar que más de una persona + entre

+

Las directivas mencionadas arriba sólo permiten a una persona + (especialmente con un usuario que en ej ejemplo es rbowen) + en el directorio. En la mayoría de los casos, se querrá permitir el acceso + a más de una persona. Aquí es donde la directiva + AuthGroupFile entra en juego.

+ +

Si lo que se desea es permitir a más de una persona el acceso, necesitarás + crear un archivo de grupo que asocie los nombres de grupos con el de personas + para permitirles el acceso. El formato de este fichero es bastante sencillo, + y puedes crearlo con tu editor de texto favorito. El contenido del fichero + se parecerá a:

+ +

+ GroupName: rbowen dpitts sungo rshersey +

+ +

Básicamente eso es la lista de miembros los cuales están en un mismo fichero + de grupo en una sola linea separados por espacios.

+ +

Para añadir un usuario a tu fichero de contraseñas existente teclee:

+ +

+ htpasswd /usr/local/apache/passwd/passwords dpitts +

+ +

Te responderá lo mismo que anteriormente, pero se añadirá al fichero + existente en vez de crear uno nuevo. (Es decir el flag -c será + el que haga que se genere un nuevo + fichero de contraseñas).

+ +

Ahora, tendrá que modificar su fichero .htaccess para que sea + parecido a lo siguiente:

+ +
AuthType Basic
+AuthName "By Invitation Only"
+# Optional line:
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+AuthGroupFile "/usr/local/apache/passwd/groups"
+Require group GroupName
+ + +

Ahora, cualquiera que esté listado en el grupo GroupName, + y tiene una entrada en el fichero de contraseñas, se les + permitirá el acceso, si introducen su contraseña correctamente.

+ +

Hay otra manera de dejar entrar a varios usuarios, que es menos específica. + En lugar de crear un archivo de grupo, sólo puede utilizar la siguiente + directiva:

+ +
Require valid-user
+ + +

Usando ésto en vez de la línea Require user rbowen + permitirá a cualquier persona acceder, la cuál aparece en el archivo de + contraseñas, y que introduzca correctamente su contraseña. Incluso puede + emular el comportamiento del grupo aquí, sólo manteniendo un fichero de + contraseñas independiente para cada grupo. La ventaja de este enfoque es + que Apache sólo tiene que comprobar un archivo, en lugar de dos. La desventaja + es que se tiene que mantener un montón de ficheros de contraseña de grupo, y + recuerde hacer referencia al fichero correcto en la directiva + AuthUserFile.

+
top
+
+

Posibles Problemas

+

Debido a la forma en que se especifica la autenticación básica, + su nombre de usuario y la contraseña deben ser verificados cada vez + que se solicita un documento desde el servidor. Esto es, incluso si  + se  vuelve a cargar la misma página, y para cada imagen de la página (si +    provienen de un directorio protegido). Como se puede imaginar, esto +    ralentiza las cosas un poco. La cantidad que ralentiza las cosas es + proporcional al tamaño del archivo de contraseñas, porque tiene que + abrir ese archivo, recorrer lista de usuarios hasta que llega a su nombre. + Y tiene que hacer esto cada vez que se carga una página.

+ +

Una consecuencia de esto, es que hay un limite práctico de cuantos + usuarios puedes introducir en el fichero de contraseñas. Este límite + variará dependiendo de la máquina en la que tengas el servidor, + pero puedes notar ralentizaciones en cuanto se metan cientos de entradas, + y por lo tanto consideraremos entonces otro método de autenticación + en ese momento. +

+
top
+
+

Método alternativo de almacenamiento de las + contraseñas

+ +

Debido a que el almacenamiento de las contraseñas en texto plano tiene + el problema mencionado anteriormente, puede que se prefiera guardar + las contraseñas en otro lugar como por ejemplo una base de datos. +

+ +

Los módulos mod_authn_dbm y mod_authn_dbd son + dos módulos que hacen esto posible. En vez de seleccionar la directiva de fichero + AuthBasicProvider , en su lugar + se puede elegir dbm o dbd como formato de almacenamiento.

+ +

Para seleccionar los ficheros de tipo dbm en vez de texto plano, podremos hacer algo parecido a lo siguiente:

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider dbm
+    AuthDBMUserFile "/www/passwords/passwd.dbm"
+    Require valid-user
+</Directory>
+ + +

Hay otras opciones disponibles. Consulta la documentación de + mod_authn_dbm para más detalles.

+
top
+
+

Uso de múltiples proveedores

+ +

Con la introducción de la nueva autenticación basada en un proveedor y + una arquitectura de autorización, ya no estaremos restringidos a un único + método de autenticación o autorización. De hecho, cualquier número de + los proveedores pueden ser mezclados y emparejados para ofrecerle + exactamente el esquema que se adapte a sus necesidades. + En el siguiente ejemplo, veremos como ambos proveedores tanto el fichero + como el LDAP son usados en la autenticación: +

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file ldap
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    Require valid-user
+</Directory>
+ + +

En este ejemplo el fichero, que actúa como proveedor, intentará autenticar + primero al usuario. Si no puede autenticar al usuario, el proveedor del LDAP + será llamado para que realice la autenticación. + Esto permite al ámbito de autenticación ser amplio, si su organización + implementa más de un tipo de almacén de autenticación. + Otros escenarios de autenticación y autorización pueden incluir la + mezcla de un tipo de autenticación con un tipo diferente de autorización. + Por ejemplo, autenticar contra un fichero de contraseñas pero autorizando + dicho acceso mediante el directorio del LDAP.

+ +

Así como múltiples métodos y proveedores de autenticación pueden + ser implementados, también pueden usarse múltiples formas de + autorización. + En este ejemplo ambos ficheros de autorización de grupo así como + autorización de grupo mediante LDAP va a ser usado: +

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    AuthGroupFile "/usr/local/apache/passwd/groups"
+    Require group GroupName
+    Require ldap-group cn=mygroup,o=yourorg
+</Directory>
+ + +

Para llevar la autorización un poco más lejos, las directivas + de autorización de contenedores tales como + <RequireAll> + and + <RequireAny> + nos permiten aplicar una lógica de en qué orden se manejará la autorización dependiendo + de la configuración y controlada a través de ella. + Mire también Contenedores de + Autorización para ejemplos de cómo pueden ser aplicados.

+ +
top
+
+

Más allá de la Autorización

+ +

El modo en que la autorización puede ser aplicada es ahora mucho más flexible + que us solo chequeo contra un almacén de datos (contraseñas). Ordenando la + lógica y escoger la forma en que la autorización es realizada, ahora es posible +

+ +

Aplicando la lógica y ordenación

+

Controlar el cómo y en qué orden se va a aplicar la autorización ha + sido un misterio en el pasado. En Apache 2.2 un proveedor del + mecanismo de autenticación fue introducido para disociar el proceso actual + de autenticación y soportar funcionalidad. + Uno de los beneficios secundarios fue que los proveedores de autenticación + podían ser configurados y llamados en un orden especifico que no dependieran + en el orden de carga del propio modulo. + Este proveedor de dicho mecanismo, ha sido introducido en la autorización + también. Lo que esto significa es que la directiva + Require + no sólo especifica que método de autorización deberá ser usado, si no + también especifica el orden en que van a ser llamados. Múltiples + métodos de autorización son llamados en el mismo orden en que la directiva + Require aparece en la + configuración. +

+ +

+ Con la Introducción del contenedor de directivas de autorización tales como + <RequireAll> + y + <RequireAny>, + La configuración también tiene control sobre cuándo se llaman a los métodos + de autorización y qué criterios determinan cuándo se concede el acceso. + Vease + Contenedores de autorización + Para un ejemplo de cómo pueden ser utilizados para expresar una lógica + más compleja de autorización. +

+ +

+ Por defecto todas las directivas + Require + son manejadas como si estuvieran contenidas en una directiva + <RequireAny>. + En otras palabras, Si alguno de los métodos de autorización + especificados tiene éxito, se concede la autorización. +

+ + + +

Uso de los proveedores de autorización para + el control de acceso

+ +

+ La autenticación de nombre de usuario y contraseña es sólo parte + de toda la historia que conlleva el proceso. Frecuentemente quiere + dar acceso a la gente en base a algo más que lo que son. + Algo como de donde vienen. +

+ +

+ Los proveedores de autorización all, + env, host y ip + te permiten denegar o permitir el acceso basándose en otros + criterios como el nombre de la máquina o la IP de la máquina que + realiza la consulta para un documento. +

+ +

+ El uso de estos proveedores se especifica a través de la directiva + Require. + La directiva registra los proveedores de autorización que serán llamados + durante la solicitud de la fase del proceso de autorización. Por ejemplo: +

+ +
Require ip address
+        
+ + +

+ Donde address es una dirección IP (o una dirección IP parcial) + o bien: +

+ +
Require host domain_name
+        
+ + +

+ Donde domain_name es el nombre completamente cualificado de un nombre + de dominio (FQDN) (o un nombre parcial del dominio); + puede proporcionar múltiples direcciones o nombres de dominio, si se desea. +

+ +

+ Por ejemplo, si alguien envía spam a su tablón de mensajes y desea + mantenerlos alejados, podría hacer lo siguiente:

+ +
<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+ + +

+ Visitantes que vengan desde esa IP no serán capaces de ver el contenido + que cubre esta directiva. Si, en cambio, lo que se tiene es el nombre de + la máquina, en vez de la dirección IP, podría usar: +

+ +
<RequireAll>
+    Require all granted
+    Require not host host.example.com
+</RequireAll>
+ + +

+ Y, si lo que se quiere es bloquear el acceso desde un determinado dominio + (bloquear el acceso desde el dominio entero), puede especificar parte + de la dirección o del propio dominio a bloquear: +

+ +
<RequireAll>
+    Require all granted
+    Require not ip 192.168.205
+    Require not host phishers.example.com moreidiots.example
+    Require not host ke
+</RequireAll>
+ + +

+ Usando <RequireAll> + con múltiples directivas <Require>, cada una negada con un not, + Sólo permitirá el acceso, si todas las condiciones negadas son verdaderas. + En otras palabras, el acceso será bloqueado, si cualquiera de las condiciones + negadas fallara. +

+ + + +

Compatibilidad de Control de Acceso con versiones + anteriores

+ +

+ Uno de los efectos secundarios de adoptar proveedores basados en + mecanismos de autenticación es que las directivas anteriores + Order, + Allow, + Deny y + Satisfy ya no son necesarias. + Sin embargo, para proporcionar compatibilidad con configuraciones antiguas, + estas directivas se han movido al módulo mod_access_compat. +

+ +

Nota:

+

+ Las directivas proporcionadas por mod_access_compat + han quedado obsoletas por mod_authz_host. Mezclar + directivas antiguas como + Order, + Allow ó + Deny con las nuevas + como + Require + es técnicamente posible pero desaconsejable. El módulo + mod_access_compat se creó para soportar configuraciones + que contuvieran sólo directivas antiguas para facilitar la actualización + a la versión 2.4. + Por favor revise la documentación de + actualización para más información al + respecto. +

+
+ + +
top
+
+

Cache de Autenticación

+

+ Puede haber momentos en que la autenticación ponga una carga + inaceptable en el proveedor (de autenticación) o en tu red. + Esto suele afectar a los usuarios de mod_authn_dbd + (u otros proveedores de terceros/personalizados). + Para lidiar con este problema, HTTPD 2.3/2.4 introduce un nuevo proveedor + de caché mod_authn_socache para cachear las credenciales + y reducir la carga en el proveedor(es) original. +

+

+ Esto puede ofrecer un aumento de rendimiento sustancial para algunos usuarios. +

+
top
+
+

Más información

+ +

+ También debería leer la documentación para + mod_auth_basic y mod_authz_host + la cuál contiene más información de como funciona todo esto. + La directiva <AuthnProviderAlias> puede también ayudar + a la hora de simplificar ciertas configuraciones de autenticación. +

+ +

+ Los diferentes algoritmos de cifrado que están soportados por Apache + para la autenticación se explican en + Cifrado de Contraseñas. +

+ +

+ Y tal vez quiera ojear la documentación de "how to" + Control de Acceso donde se mencionan temas + relacionados.

+ +
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/auth.html.fr.utf8 b/docs/manual/howto/auth.html.fr.utf8 new file mode 100644 index 0000000..760a222 --- /dev/null +++ b/docs/manual/howto/auth.html.fr.utf8 @@ -0,0 +1,681 @@ + + + + + +Authentification et autorisation - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Authentification et autorisation

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

L'authentification est un processus qui vous permet de vérifier + qu'une personne est bien celle qu'elle prétend être. L'autorisation + est un processus qui permet à une personne d'aller là où elle veut + aller, ou d'obtenir les informations qu'elle désire.

+ +

Pour le contrôle d'accès en général, voir le How-To Contrôle d'accès.

+
+ +
top
+
+

Modules et directives concernés

+ +

Trois groupes de modules sont concernés par le processus +d'authentification et d'autorisation. Vous devrez utiliser au moins un +module de chaque groupe.

+ + + +

On peut aussi ajouter mod_authn_core et + mod_authz_core. Ces modules implémentent des + directives générales qui opèrent au dessus de tous les modules + d'authentification.

+ +

Le module mod_authnz_ldap est un fournisseur + d'authentification et d'autorisation. Le module + mod_authz_host fournit une autorisation et un + contrôle d'accès basés sur le nom du serveur, l'adresse IP ou + certaines caractéristiques de la requête, mais ne fait pas partie du + système fournisseur d'authentification. Le module + mod_access_compat a été créé à des fins de + compatibilité ascendante avec mod_access.

+ +

Vous devriez aussi jeter un coup d'oeil au manuel de recettes de Contrôle d'accès, qui décrit les différentes + méthodes de contrôle d'accès à votre serveur.

+ +
top
+
+

Introduction

+

Si votre site web contient des informations sensibles ou + destinées seulement à un groupe de personnes restreint, les + techniques exposées dans cet article vont vous aider à vous assurer + que les personnes qui ont accès à ces pages sont bien celles + auxquelles vous avez donné l'autorisation d'accès.

+ +

Cet article décrit les méthodes "standards" de protection de + parties de votre site web que la plupart d'entre vous sont appelés à + utiliser.

+ +

Note :

+

Si vos données ont un réel besoin de sécurisation, prévoyez + l'utilisation de mod_ssl en plus de toute méthode + d'authentification.

+
+
top
+
+

Les prérequis

+

Les directives décrites dans cet article devront être insérées + soit au niveau de la configuration de votre serveur principal (en + général dans une section <Directory>), soit au niveau de la + configuration des répertoires (fichiers .htaccess)

+ +

Si vous envisagez l'utilisation de fichiers + .htaccess, la configuration de votre serveur devra + permettre l'ajout de directives d'authentification dans ces + fichiers. Pour ce faire, on utilise la directive AllowOverride, qui spécifie quelles + directives pourront éventuellement contenir les fichiers de + configuration de niveau répertoire.

+ +

Comme il est ici question d'authentification, vous aurez besoin + d'une directive AllowOverride + du style :

+ +
AllowOverride AuthConfig
+ + +

Si vous avez l'intention d'ajouter les directives directement + dans le fichier de configuration principal, vous devrez bien entendu + posséder les droits en écriture sur ce fichier.

+ +

Vous devrez aussi connaître un tant soit peu la structure des + répertoires de votre serveur, ne serait-ce que pour savoir où se + trouvent certains fichiers. Cela ne devrait pas présenter de grandes + difficultés, et nous essaierons de clarifier tout ça lorsque le besoin + s'en fera sentir.

+ +

Enfin, vous devrez vous assurer que les modules + mod_authn_core et mod_authz_core + ont été soit compilés avec le binaire httpd, soit chargés par le + fichier de configuration httpd.conf. Ces deux modules fournissent + des directives générales et des fonctionnalités qui sont critiques + quant à la configuration et l'utilisation de l'authentification et + de l'autorisation au sein du serveur web.

+
top
+
+

Mise en oeuvre

+

Nous décrivons ici les bases de la protection par mot de passe + d'un répertoire de votre serveur.

+ +

Vous devez en premier lieu créer un fichier de mots de passe. La + méthode exacte selon laquelle vous allez créer ce fichier va varier + en fonction du fournisseur d'authentification choisi. Mais nous + entrerons dans les détails plus loin, et pour le moment, nous nous + contenterons d'un fichier de mots de passe en mode texte.

+ +

Ce fichier doit être enregistré à un endroit non accessible + depuis le web, de façon à ce que les clients ne puissent pas le + télécharger. Par exemple, si vos documents sont servis à partir de + /usr/local/apache/htdocs, vous pouvez enregistrer le + fichier des mots de passe dans + /usr/local/apache/passwd.

+ +

L'utilitaire htpasswd fourni avec Apache + permet de créer ce fichier. Vous le trouverez dans le répertoire + bin de votre installation d'Apache. Si vous avez + installé Apache à partir d'un paquetage tiers, il sera probablement + dans le chemin par défaut de vos exécutables.

+ +

Pour créer le fichier, tapez :

+ +

+ htpasswd -c /usr/local/apache/passwd/passwords rbowen +

+ +

htpasswd vous demandera d'entrer le mot de + passe, et de le retaper pour confirmation :

+ +

+ # htpasswd -c /usr/local/apache/passwd/passwords rbowen
+ New password: mot-de-passe
+ Re-type new password: mot-de-passe
+ Adding password for user rbowen +

+ +

Si htpasswd n'est pas dans le chemin par + défaut de vos exécutables, vous devrez bien entendu entrer le chemin + complet du fichier. Dans le cas d'une installation par défaut, il se + trouve à /usr/local/apache2/bin/htpasswd.

+ +

Ensuite, vous allez devoir configurer le serveur de façon à ce + qu'il demande un mot de passe et lui préciser quels utilisateurs ont + l'autorisation d'accès. Pour ce faire, vous pouvez soit éditer le + fichier httpd.conf, soit utiliser un fichier + .htaccess. Par exemple, si vous voulez protéger le + répertoire /usr/local/apache/htdocs/secret, vous pouvez + utiliser les directives suivantes, soit dans le fichier + /usr/local/apache/htdocs/secret/.htaccess, soit dans le + fichier httpd.conf à l'intérieur d'une section <Directory + "/usr/local/apache/htdocs/secret"> :

+ +
AuthType Basic
+AuthName "Restricted Files"
+# (Following line optional)
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+Require user rbowen
+ + +

Examinons ces directives une à une. La directive AuthType définit la méthode + utilisée pour authentifier l'utilisateur. La méthode la plus + courante est Basic, et elle est implémentée par + mod_auth_basic. Il faut cependant garder à l'esprit + que l'authentification Basic transmet le mot de passe depuis le + client vers le serveur en clair. Cette méthode ne devra donc pas + être utilisée pour la transmission de données hautement sensibles si + elle n'est pas associée au module mod_ssl. Apache + supporte une autre méthode d'authentification : AuthType + Digest. Cette méthode est implémentée par le module mod_auth_digest et a été conçue pour + améliorer la sécurité. Ce but n'a cependant pas été atteint et il est préférable + de chiffrer la connexion avec mod_ssl.

+ +

La directive AuthName définit + l'Identificateur (Realm) à utiliser avec + l'authentification. L'identificateur possède deux fonctions. Tout + d'abord, le client présente en général cette information à + l'utilisateur dans le cadre de la boîte de dialogue de mot de passe. + Ensuite, le client l'utilise pour déterminer quel mot de passe + envoyer pour une zone authentifiée donnée.

+ +

Ainsi par exemple, une fois un client authentifié dans la zone + "Fichiers réservés", il soumettra à nouveau + automatiquement le même mot de passe pour toute zone du même serveur + marquée de l'identificateur "Fichiers réservés". De + cette façon, vous pouvez éviter à un utilisateur d'avoir à saisir + plusieurs fois le même mot de passe en faisant partager le même + identificateur entre plusieurs zones réservées. Bien entendu et pour + des raisons de sécurité, le client devra redemander le mot + de passe chaque fois que le nom d'hôte du serveur sera modifié.

+ +

La directive AuthBasicProvider est, dans ce + cas, facultative, car file est la valeur par défaut + pour cette directive. Par contre, cette directive sera obligatoire + si vous utilisez une autre source d'authentification comme + mod_authn_dbm ou + mod_authn_dbd.

+ +

La directive AuthUserFile définit le chemin + du fichier de mots de passe que nous venons de créer avec + htpasswd. Si vous possédez un grand nombre + d'utilisateurs, la durée de la recherche dans un fichier texte pour + authentifier un utilisateur à chaque requête va augmenter + rapidement, et pour pallier cet inconvénient, Apache peut aussi + stocker les données relatives aux + utilisateurs dans des bases de données rapides. Le module + mod_authn_dbm fournit la directive AuthDBMUserFile. Les programmes dbmmanage et htdbm permettent de + créer et manipuler ces fichiers. Enfin, de nombreux modules tiers + fournissent d'autres types d'authentification.

+ +

Enfin, la directive Require implémente la partie + autorisation du processus en définissant l'utilisateur autorisé à + accéder à cette zone du serveur. Dans la section suivante, nous + décrirons les différentes méthodes d'utilisation de la directive + Require.

+
top
+
+

Autorisation d'accès à +plusieurs personnes

+

Les directives ci-dessus n'autorisent qu'une personne (quelqu'un + possédant le nom d'utilisateur rbowen) à accéder au + répertoire. Dans la plupart des cas, vous devrez autoriser + l'accès à plusieurs personnes. C'est ici + qu'intervient la directive AuthGroupFile.

+ +

Si vous voulez autoriser l'accès à plusieurs personnes, vous + devez créer un fichier de groupes qui associe des noms de groupes + avec une liste d'utilisateurs de ce groupe. Le format de ce fichier + est très simple, et vous pouvez le créer avec votre éditeur favori. + Son contenu se présente comme suit :

+ +

+ Nom-de-groupe: rbowen dpitts sungo rshersey +

+ +

Il s'agit simplement une liste des membres du groupe sous la + forme d'une ligne séparée par des espaces.

+ +

Pour ajouter un utilisateur à votre fichier de mots de passe + préexistant, entrez :

+ +

+ htpasswd /usr/local/apache/passwd/passwords dpitts +

+ +

Vous obtiendrez le même effet qu'auparavant, mais le mot de passe + sera ajouté au fichier, plutôt que d'en créer un nouveau (C'est le + drapeau -c qui permet de créer un nouveau fichier de + mots de passe)..

+ +

Maintenant, vous devez modifier votre fichier + .htaccess ou la section <Directory> comme suit :

+ +
AuthType Basic
+AuthName "By Invitation Only"
+# Optional line:
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+AuthGroupFile "/usr/local/apache/passwd/groups"
+Require group GroupName
+ + +

Maintenant, quiconque appartient au groupe + Nom-de-groupe, et possède une entrée dans le fichier + password pourra accéder au répertoire s'il tape le bon + mot de passe.

+ +

Il existe une autre méthode moins contraignante pour autoriser + l'accès à plusieurs personnes. Plutôt que de créer un fichier de + groupes, il vous suffit d'ajouter la directive suivante :

+ +
Require valid-user
+ + +

Le remplacement de la ligne Require user rbowen par + la ligne Require valid-user autorisera l'accès à + quiconque possédant une entrée dans le fichier password, et ayant + tapé le bon mot de passe.

+
top
+
+

Problèmes possibles

+

L'authentification Basic est spécifiée d'une telle manière que + vos nom d'utilisateur et mot de passe doivent être vérifiés chaque + fois que vous demandez un document au serveur, et ceci même si vous + rechargez la même page, et pour chaque image contenue dans la page + (si elles sont situées dans un répertoire protégé). Comme vous + pouvez l'imaginer, ceci ralentit un peu le fonctionnement. La mesure + dans laquelle le fonctionnement est ralenti est proportionnelle à la + taille du fichier des mots de passe, car ce dernier doit être ouvert + et la liste des utilisateurs parcourue jusqu'à ce que votre nom soit + trouvé, et ceci chaque fois qu'une page est chargée.

+ +

En conséquence, ce ralentissement impose une limite pratique au + nombre d'utilisateurs que vous pouvez enregistrer dans un fichier de + mots de passe. Cette limite va varier en fonction des performances + de votre serveur, mais vous commencerez à remarquer un + ralentissement lorsque vous atteindrez quelques centaines + d'utilisateurs, et serez alors appelés à utiliser une méthode + d'authentification différente.

+
top
+
+

Autre méthode de stockage des mots de +passe

+ +

Suite au problème évoqué précédemment et induit par le stockage + des mots de passe dans un fichier texte, vous pouvez être appelé à + stocker vos mots de passe d'une autre manière, par exemple dans une + base de données.

+ +

Pour y parvenir, on peut utiliser les modules + mod_authn_dbm ou mod_authn_dbd. + Vous pouvez choisir comme format de stockage dbm ou + dbd à la place de file pour la directive + AuthBasicProvider.

+ +

Par exemple, pour sélectionner un fichier dbm à la place d'un + fichier texte :

+ +
<Directory "/www/docs/private">
+
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider dbm
+    AuthDBMUserFile "/www/passwords/passwd.dbm"
+    Require valid-user
+
+</Directory>
+ + +

D'autres options sont disponibles. Consultez la documentation de + mod_authn_dbm pour plus de détails.

+
top
+
+

Utilisation de plusieurs fournisseurs +d'authentification

+ +

Depuis l'arrivée des nouvelles architecture d'autorisation et + d'authentification basées sur les fournisseurs, vous n'êtes plus + limité à une méthode d'authentification et d'autorisation + unique. En fait, on peut panacher autant de fournisseurs que l'on + veut, ce qui vous permet d'élaborer l'architecture qui correspond + exactement à vos besoins. Dans l'exemple suivant, on utilise + conjointement les fournisseurs d'authentification + file et LDAP :

+ +
<Directory "/www/docs/private">
+
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file ldap
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    Require valid-user
+
+</Directory>
+ + +

Dans cet exemple, le fournisseur file va tenter d'authentifier + l'utilisateur en premier. S'il n'y parvient pas, le fournisseur LDAP + sera sollicité. Ceci permet l'élargissement des possibilités + d'authentification si votre organisation implémente plusieurs types + de bases d'authentification. D'autres scénarios d'authentification + et d'autorisation peuvent associer un type d'authentification avec + un autre type d'autorisation. Par exemple, une authentification + basée sur un fichier de mots de passe peut permettre l'attribution + d'autorisations basée sur un annuaire LDAP.

+ +

Tout comme plusieurs fournisseurs d'authentification peuvent être + implémentés, on peut aussi utiliser plusieurs méthodes + d'autorisation. Dans l'exemple suivant, on utilise à la fois une + autorisation à base de fichier de groupes et une autorisation à base + de groupes LDAP.

+ +
<Directory "/www/docs/private">
+
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    AuthGroupFile "/usr/local/apache/passwd/groups"
+    Require group GroupName
+    Require ldap-group cn=mygroup,o=yourorg
+
+</Directory>
+ + +

Pour un scénario d'autorisation un peu plus avancé, des + directives de conteneur d'autorisation comme <RequireAll> et + <RequireAny> permettent d'appliquer une + logique telle que l'ordre dans lequel les autorisations sont + appliquées peut être entièrement contrôlé au niveau de la + configuration. Voir Conteneurs + d'autorisations pour un exemple de ce contrôle.

+ +
top
+
+

Pour aller plus loin qu'une simple +autorisation

+ +

La manière dont les autorisations sont accordées est désormais + beaucoup plus souple qu'une simple vérification auprès d'une seule + base de données. Il est maintenant possible de choisir l'ordre, la + logique et la manière selon lesquels une autorisation est + accordée.

+ +

Appliquer logique et + ordonnancement

+

Le contrôle de la manière et de l'ordre selon lesquels le + processus d'autorisation était appliqué + constituait une sorte de mystère par + le passé. Dans Apache 2.2, un mécanisme d'authentification basé + sur les fournisseurs a été développé afin de séparer le + véritable processus d'authentification de l'autorisation et ses + différentes fonctionnalités. Un des avantages colatéraux + résidait dans le fait que les fournisseurs d'authentification + pouvaient être configurés et appelés selon un ordre particulier + indépendant de l'ordre de chargement du module auth proprement + dit. Ce mécanisme basé sur les fournisseurs a été étendu au + processus d'autorisation. Ceci signifie que la directive + Require définit + non seulement quelles méthodes d'autorisation doivent être + utilisées, mais aussi l'ordre dans lequel elles sont appelées. + Les méthodes d'autorisation sont appelées selon l'ordre dans + lequel les directives Require apparaissent dans la + configuration.

+ +

Avec l'introduction des directives de conteneur + d'autorisations <RequireAll> + et <RequireAny>, la + configuration contrôle aussi le moment où les méthodes + d'autorisation sont appelées, et quels critères déterminent + l'autorisation d'accès. Voir Conteneurs + d'autorisations pour un exemple de la manière de les + utiliser pour exprimer des logiques d'autorisation + complexes.

+ +

Par défaut, toutes les directives Require sont + traitées comme si elles étaient contenues dans une directive + <RequireAny>. En d'autres termes, il + suffit + qu'une méthode d'autorisation s'applique avec succès pour que + l'autorisation soit accordée.

+ + + +

Utilisation de fournisseurs + d'autorisation pour le contrôle d'accès

+

La vérification du nom d'utilisateur et du mot de passe ne + constituent qu'un aspect des méthodes d'authentification. + Souvent, le contrôle d'accès à certaines personnes n'est pas + basé sur leur identité ; il peut dépendre, par exemple de leur + provenance.

+ +

Les fournisseurs d'autorisation all, + env, host et ip vous + permettent d'accorder ou refuser l'accès en + fonction de critères tels que le nom d'hôte ou l'adresse + IP de la machine qui effectue la requête.

+ +

L'utilisation de ces fournisseurs est spécifiée à l'aide de + la directive Require. Cette directive + permet d'enregistrer quels fournisseurs d'autorisation + seront appelés dans le processus d'autorisation au cours du + traitement de la requête. Par exemple :

+ +
Require ip address
+ + +

où adresse est une adresse IP (ou une adresse IP + partielle) ou :

+ +
Require host domain_name
+ + +

où nom_domaine est un nom de domaine entièrement + qualifé (ou un nom de domaine partiel) ; vous pouvez indiquer + plusieurs adresses ou noms de domaines, si vous le désirez.

+ +

Par exemple, si vous voulez rejeter les spams dont une + machine vous inonde, vous pouvez utiliser ceci :

+ +
<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+ + +

Ainsi, les visiteurs en provenance de cette adresse ne + pourront pas voir le contenu concerné par cette directive. Si, + par contre, vous connaissez le nom de la machine, vous pouvez + utiliser ceci :

+ +
<RequireAll>
+    Require all granted
+    Require not host host.example.com
+</RequireAll>
+ + +

Et si vous voulez interdire l'accès à toutes les machines + d'un domaine, vous pouvez spécifier une partie seulement de + l'adresse ou du nom de domaine :

+ +
<RequireAll>
+    Require all granted
+    Require not ip 192.168.205
+    Require not host phishers.example.com moreidiots.example
+    Require not host ke
+</RequireAll>
+ + +

L'utilisation de la directive <RequireAll> + avec de multiples directives <Require>, toutes avec la négation + not, n'accordera l'accès que si toutes les + conditions négatives sont vérifiées. En d'autres termes, l'accès + sera refusé si au moins une des conditions négatives n'est pas + vérifiée.

+ + + +

Compatibilité ascendante du contrôle + d'accès

+

L'adoption d'un mécanisme à base de fournisseurs pour + l'authentification, a pour effet colatéral de rendre inutiles + les directives Order, Allow, Deny et Satisfy. Cependant, et à + des fins de compatibilité ascendante vers les anciennes + configurations, ces directives ont été déplacées vers le module + mod_access_compat.

+ +

Note

+

Les directives fournies par le module + mod_access_compat sont devenues obsolètes depuis + la refonte du module mod_authz_host. Mélanger d'anciennes + directives comme Order, Allow ou Deny avec des nouvelles comme + Require est techniquement + possible mais déconseillé. En effet, mod_access_compat a + été conçu pour supporter des configurations ne contenant que des anciennes + directives afin de faciliter le passage à la version 2.4. Voir le document + upgrading pour plus de détails. +

+
+ + +
top
+
+

Mise en cache de l'authentification

+

Dans certains cas, l'authentification constitue une charge + inacceptable pour un fournisseur d'authentification ou votre réseau. + Ceci est susceptible d'affecter les utilisateurs du module + mod_authn_dbd (ou les fournisseurs + tiers/personnalisés). Pour résoudre ce problème, HTTPD 2.3/2.4 + propose un nouveau fournisseur de mise en cache, + mod_authn_socache, qui permet de mettre en cache + les données d'authentification, et ainsi réduire la charge du/des + fournisseurs(s) originels.

+

Cette mise en cache apportera un gain en performance substantiel + à certains utilisateurs.

+
top
+
+

Pour aller plus loin . . .

+

Vous pouvez aussi lire la documentation de + mod_auth_basic et mod_authz_host + qui contient des informations supplémentaires à propos du + fonctionnement de tout ceci. + Certaines configurations d'authentification peuvent aussi être + simplifiées à l'aide de la directive <AuthnProviderAlias>.

+ +

Les différents algorithmes de chiffrement supportés par Apache + pour authentifier les données sont expliqués dans PasswordEncryptions.

+ +

Enfin vous pouvez consulter la recette Contrôle + d'accès, qui décrit un certain nombre de situations en relation + avec le sujet.

+ +
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/auth.html.ja.utf8 b/docs/manual/howto/auth.html.ja.utf8 new file mode 100644 index 0000000..78519bd --- /dev/null +++ b/docs/manual/howto/auth.html.ja.utf8 @@ -0,0 +1,692 @@ + + + + + +èªè¨¼ã€æ‰¿èªã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

èªè¨¼ã€æ‰¿èªã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

「èªè¨¼ã€ã¨ã¯ã€èª°ã‹ãŒè‡ªåˆ†ã¯èª°ã§ã‚ã‚‹ã‹ã‚’主張ã—ãŸå ´åˆã«ã€ + ãれを確èªã™ã‚‹ãŸã‚ã®å…¨éŽç¨‹ã‚’指ã—ã¾ã™ã€‚「承èªã€ã¨ã¯ã€ + 誰ã‹ãŒè¡ŒããŸã„場所ã«è¡Œã‘るよã†ã«ã€ã‚ã‚‹ã„ã¯æ¬²ã—ã„情報を + å¾—ã‚‹ã“ã¨ãŒã§ãるよã†ã«ã™ã‚‹ãŸã‚ã®å…¨éŽç¨‹ã‚’指ã—ã¾ã™ã€‚

+
+ +
top
+
+

関連ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–

+

èªè¨¼ã¨æ‰¿èªã®å‡¦ç†ã«é–¢é€£ã™ã‚‹ 3 種類ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã™ã€‚ +ãã‚Œãžã‚Œå°‘ãªãã¨ã‚‚ã²ã¨ã¤ãšã¤å¿…è¦ã§ã™ã€‚

+ + + +

ã“れらã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«åŠ ãˆã¦ã€mod_authn_core + 㨠mod_authz_core ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã® 2 ã¤ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯èªè¨¼ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«å…±é€šãªã‚³ã‚¢ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + 実装ã—ã¦ã„ã¾ã™ã€‚

+ +

mod_authnz_ldap ã¯èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã¨æ‰¿èªãƒ—ロãƒã‚¤ãƒ€ã® + 両方ã®æ©Ÿèƒ½ã‚’æŒã£ã¦ã„ã¾ã™ã€‚ + mod_authz_host ã¯ãƒ›ã‚¹ãƒˆåã€IP アドレスや + リクエストã®ç‰¹å¾´ã«åŸºã¥ã„ãŸã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã‚’è¡Œã„ã¾ã™ãŒã€ + èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã®ã‚·ã‚¹ãƒ†ãƒ ã®ä¸€éƒ¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + mod_access ã¨ã®å¾Œæ–¹äº’æ›æ€§ã®ãŸã‚〠+ æ–°ã—ã„モジュール㮠mod_access_compat ãŒã‚ã‚Šã¾ã™ã€‚

+ +

様々ãªã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã®è¡Œãªã„æ–¹ã«ã¤ã„ã¦ã¯ã€ + アクセス制御ã®æ–¹æ³•ã‚’ã”覧ãã ã•ã„。

+ +
top
+
+

ã¯ã˜ã‚ã«

+

ã‚‚ã—機密ã®æƒ…報やã€ã”ãã”ã少数グループã®äººå‘ã‘ã®æƒ…報を + ウェブサイトã«ç½®ãã®ã§ã‚ã‚Œã°ã€ã“ã®æ–‡æ›¸ã«æ›¸ã‹ã‚Œã¦ã„ã‚‹ + テクニックを使ã†ã“ã¨ã§ã€ãã®ãƒšãƒ¼ã‚¸ã‚’見ã¦ã„る人ãŸã¡ãŒ + 望ã¿ã®äººãŸã¡ã§ã‚ã‚‹ã“ã¨ã‚’確実ã«ã§ãã‚‹ã§ã—ょã†ã€‚

+ +

ã“ã®æ–‡æ›¸ã§ã¯ã€å¤šãã®äººãŒæŽ¡ç”¨ã™ã‚‹ã§ã‚ã‚ã†ã€ + ウェブサイトã®ä¸€éƒ¨åˆ†ã‚’ä¿è­·ã™ã‚‹ã€Œä¸€èˆ¬çš„ãªã€ + 方法ã«ã¤ã„ã¦ã‚«ãƒãƒ¼ã—ã¦ã„ã¾ã™ã€‚

+ +

注æ„

+

データãŒæœ¬å½“ã«æ©Ÿå¯†ãªã®ã§ã‚ã‚Œã°ã€èªè¨¼ã«åŠ ãˆã¦ã•ã‚‰ã« + mod_ssl を使ã†ã¨è‰¯ã„ã§ã—ょã†ã€‚

+
+
top
+
+

準備

+

ã“ã®æ–‡æ›¸ã§å–り扱ã‚れるディレクティブã¯ã€ + メインサーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ« (普通㯠+ <Directory> + セクション中) ã‹ã€ã‚ã‚‹ã„ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ« + (.htaccess ファイル) ã‹ã§ç”¨ã„ã¾ã™ã€‚

+ +

.htaccess ファイルを用ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€ + ã“れらã®ãƒ•ã‚¡ã‚¤ãƒ«ã«èªè¨¼ç”¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ç½®ã‘るよã†ã« + サーãƒã®è¨­å®šã‚’ã—ãªã„ã¨ã„ã‘ãªã„ã§ã—ょã†ã€‚ã“れ㯠+ AllowOverride + ディレクティブã§å¯èƒ½ã«ãªã‚Šã¾ã™ã€‚ + AllowOverride + ディレクティブã§ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã«ç½®ãã“ã¨ã®ã§ãã‚‹ + ディレクティブをã€ã‚‚ã—ã‚ã‚Œã°ã€æŒ‡å®šã—ã¾ã™ã€‚

+ +

èªè¨¼ã«ã¤ã„ã¦è©±ã‚’進ã‚ã¦ã„ã‚‹ã®ã§ã€æ¬¡ã®ã‚ˆã†ãª + AllowOverride + ディレクティブãŒå¿…è¦ã«ãªã‚‹ã§ã—ょã†ã€‚

+ +

+ AllowOverride AuthConfig +

+ +

ãã†ã§ãªãã€ãƒ¡ã‚¤ãƒ³ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸­ã« + 直接置ãã®ã§ã‚ã‚Œã°ã€å½“然ãªãŒã‚‰ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®æ›¸ã込㿠+ 権é™ã‚’æŒã£ã¦ã„ãªã‘ã‚Œã°ãªã‚‰ãªã„ã§ã—ょã†ã€‚

+ +

ã¾ãŸã€ã©ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã©ã“ã«ä¿å­˜ã•ã‚Œã¦ã„ã‚‹ã‹çŸ¥ã‚‹ãŸã‚ã«ã€ + サーãƒã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹é€ ã«ã¤ã„ã¦å°‘ã—知ã£ã¦ãŠã + å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚ + ã“ã‚Œã¯ãã‚“ãªã«é›£ã—ããªã„ã®ã§ã€ã“ã®æ–‡æ›¸ä¸­ã§ + ディレクトリ構造ã«ã¤ã„ã¦çŸ¥ã£ã¦ãŠãå¿…è¦ãŒã‚ã‚‹å ´é¢ã§ã¯ã€ + 明らã‹ã«ãªã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

mod_authn_core 㨠mod_authz_core + ã®ä¸¡æ–¹ãŒ httpd ãƒã‚¤ãƒŠãƒªã«é™çš„ã«çµ„ã¿è¾¼ã¿æ¸ˆã¿ã§ã‚ã‚‹ã‹ã€httpd.conf + 設定ファイルã§å‹•çš„ã«ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã‚‹ã‹ã—ã¦ã€httpd ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。ã“れらã®äºŒã¤ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã®ãªã‹ã§éžå¸¸ã« + é‡è¦ã§ã‚¦ã‚§ãƒ–サーãƒã®èªè¨¼ã¨æ‰¿èªã§ä½¿ç”¨ã•ã‚Œã‚‹ã‚³ã‚¢ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㨠+ ãã®æ©Ÿèƒ½ã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚

+
top
+
+

動作ã•ã›ã‚‹

+

ã§ã¯ã€ã‚µãƒ¼ãƒä¸Šã®ã‚るディレクトリをパスワードã§ä¿è­·ã™ã‚‹ + 基本手順を示ã—ã¾ã™ã€‚

+ +

ã¾ãšã¯ã˜ã‚ã«ã€ãƒ‘スワードファイルを作りã¾ã™ã€‚ + ã©ã®èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã‚’使ã†ã‹ã«ã‚ˆã£ã¦ã€ãƒ‘スワードファイル生æˆã®æ‰‹é †ã¯ + 大ããç•°ãªã‚Šã¾ã™ã€‚ã“ã“ã§ã®ä¾‹ã§ã¯ã€æ‰‹å§‹ã‚ã«ãƒ†ã‚­ã‚¹ãƒˆãƒ‘スワードファイルを + 使ã„ã¾ã™ã€‚

+ +

ã“ã®ãƒ‘スワードファイルã¯ã€ã‚¦ã‚§ãƒ–ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã§ãる場所㫠+ ç½®ãã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。他ã®äººãŒãƒ‘スワードファイルを + ダウンロードã§ããªã„よã†ã«ã™ã‚‹ãŸã‚ã§ã™ã€‚例ãˆã°ã€ + /usr/local/apache/htdocs ã§ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ + æä¾›ã—ã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€ãƒ‘スワードファイル㯠+ /usr/local/apache/passwd + ãªã©ã«ç½®ã„ãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚

+ +

ファイルを作るãŸã‚ã«ã¯ã€Apache 付属㮠htpasswd + を使ã„ã¾ã™ã€‚ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ Apache ã‚’ã©ã“ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—よã†ã¨ã‚‚〠+ インストールディレクトリ㮠bin + ディレクトリ以下ã«ç½®ã‹ã‚Œã¾ã™ã€‚サードãƒãƒ¼ãƒ†ã‚£è£½ã®ãƒ‘ッケージ㧠+ インストールã—ãŸå ´åˆã¯ã€å®Ÿè¡Œãƒ‘スã®ä¸­ã§è¦‹ã¤ã‹ã‚‹ã§ã—ょã†ã€‚

+ +

ファイルを作るã«ã¯ã€æ¬¡ã®ã‚ˆã†ã«ã‚¿ã‚¤ãƒ—ã—ã¦ãã ã•ã„。

+ +

+ htpasswd -c /usr/local/apache/passwd/passwords rbowen +

+ +

htpasswd ã¯ã€ãƒ‘スワードをè¦æ±‚ã—ã€ãã®å¾Œ + 確èªã®ãŸã‚ã«ã‚‚ã†ä¸€åº¦å…¥åŠ›ã™ã‚‹ã‚ˆã†ã«è¦æ±‚ã—ã¦ãã¾ã™ã€‚

+ +

+ # htpasswd -c /usr/local/apache/passwd/passwords rbowen
+ New password: mypassword
+ Re-type new password: mypassword
+ Adding password for user rbowen +

+ +

ã‚‚ã— htpasswd ãŒãƒ‘スã®ä¸­ã«å…¥ã£ã¦ã„ãªã„å ´åˆã¯ã€ + ã‚‚ã¡ã‚ã‚“ã€å®Ÿè¡Œã™ã‚‹ãŸã‚ã«ãƒ—ログラムã¾ã§ã®ãƒ•ãƒ«ãƒ‘スを + タイプã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚デフォルトã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«çŠ¶æ…‹ã§ã‚ã‚Œã°ã€ + /usr/local/apache/bin/htpasswd + ã«ãƒ—ログラムãŒç½®ã‹ã‚Œã¦ã„ã¾ã™ã€‚

+ +

次ã«ã€ã‚µãƒ¼ãƒãŒãƒ‘スワードをè¦æ±‚ã™ã‚‹ã‚ˆã†ã«è¨­å®šã—ã¦ã€ + ã©ã®ãƒ¦ãƒ¼ã‚¶ãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’許ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’サーãƒã«çŸ¥ã‚‰ã›ãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。 httpd.conf を編集ã™ã‚‹ã‹ + .htaccess ファイルを使用ã™ã‚‹ã‹ã§ + 設定ã—ã¾ã™ã€‚例ãˆã°ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª + /usr/local/apache/htdocs/secret + ã‚’ä¿è­·ã—ãŸã„å ´åˆã¯ã€ + /usr/local/apache/htdocs/secret/.htaccess + ã‹ httpd.conf 中㮠<Directory + /usr/local/apache/htdocs/secret> セクション㫠+ é…ç½®ã—ã¦ã€æ¬¡ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

+ AuthType Basic
+ AuthName "Restricted Files"
+ # (Following line optional)
+ AuthBasicProvider file
+ AuthUserFile /usr/local/apache/passwd/passwords
+ Require user rbowen +

+ +

個々ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã¤ã„ã¦è¦‹ã¦ã¿ã¾ã—ょã†ã€‚ + AuthType + ディレクティブã¯ã©ã†ã„ã†èªè¨¼æ–¹æ³•ã§ãƒ¦ãƒ¼ã‚¶ã®èªè¨¼ã‚’è¡Œã†ã‹ã‚’ + é¸æŠžã—ã¾ã™ã€‚最も一般的ãªæ–¹æ³•ã¯ Basic + ã§ã€ã“れ㯠mod_auth_basic + ã§å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚ã—ã‹ã—ãªãŒã‚‰ã€ + ã“ã‚Œã¯æ°—を付ã‘ã‚‹ã¹ãé‡è¦ãªãƒã‚¤ãƒ³ãƒˆãªã®ã§ã™ãŒã€ + Basic èªè¨¼ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã‚µãƒ¼ãƒã¸ã€ + パスワードを暗å·åŒ–ã›ãšã«é€ã‚Šã¾ã™ã€‚ã§ã™ã‹ã‚‰ã“ã®æ–¹æ³•ã¯ã€ + mod_ssl ã¨çµ„ã¿åˆã‚ã›ãªã„状態ã§ã¯ã€ + 特ã«æ©Ÿå¯†æ€§ã®é«˜ã„データã«å¯¾ã—ã¦ã¯ç”¨ã„ã‚‹ã¹ãã§ã¯ + ã‚ã‚Šã¾ã›ã‚“。 Apache ã§ã¯ã‚‚ã†ä¸€ã¤åˆ¥ã®èªè¨¼æ–¹æ³•: + AuthType Digest をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + ã“ã®æ–¹æ³•ã¯ mod_auth_digest + ã§å®Ÿè£…ã•ã‚Œã¦ã„ã¦ã€ã‚‚ã£ã¨å®‰å…¨ã§ã™ã€‚ + 最近ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ Digest + èªè¨¼ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„るよã†ã§ã™ã€‚

+ +

AuthName + ディレクティブã§ã¯ã€èªè¨¼ã«ä½¿ã† Realm (訳注: 領域) + を設定ã—ã¾ã™ã€‚Realm ã¯å¤§ãã分ã‘ã¦äºŒã¤ã®æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ + 一ã¤ç›®ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒãƒ‘スワードダイアログボックス㮠+ 一部ã¨ã—ã¦ãƒ¦ãƒ¼ã‚¶ã«ã“ã®æƒ…報をよãæ示ã™ã‚‹ã€ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚ + 二ã¤ç›®ã«ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒä¸Žãˆã‚‰ã‚ŒãŸèªè¨¼é ˜åŸŸã«å¯¾ã—ã¦ã©ã®ãƒ‘スワードを + é€ä¿¡ã™ã‚Œã°è‰¯ã„ã®ã‹ã‚’決定ã™ã‚‹ãŸã‚ã«ä½¿ã‚れるã€ã¨ã„ã†æ©Ÿèƒ½ã§ã™ã€‚

+ +

例ãˆã°ã€"Restricted Files" 領域中㧠+ 一度èªè¨¼ã•ã‚Œã‚Œã°ã€åŒä¸€ã‚µãƒ¼ãƒä¸Šã§ "Restricted Files" + Realm ã¨ã—ã¦ãƒžãƒ¼ã‚¯ã•ã‚ŒãŸã©ã‚“ãªé ˜åŸŸã§ã‚‚ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ + 自動的ã«åŒã˜ãƒ‘スワードを使ãŠã†ã¨è©¦ã¿ã¾ã™ã€‚ + ã“ã®ãŠã‹ã’ã§ã€è¤‡æ•°ã®åˆ¶é™é ˜åŸŸã«åŒã˜ realm を共有ã•ã›ã¦ã€ + ユーザãŒãƒ‘スワードを何度もè¦æ±‚ã•ã‚Œã‚‹äº‹æ…‹ã‚’ + 防ãã“ã¨ãŒã§ãã¾ã™ã€‚ã‚‚ã¡ã‚ã‚“ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®ç†ç”±ã‹ã‚‰ã€ + サーãƒã®ãƒ›ã‚¹ãƒˆåãŒå¤‰ã‚ã‚Œã°ã„ã¤ã§ã‚‚å¿…ãšã€ + クライアントã¯å†ã³ãƒ‘スワードを尋ã­ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

AuthBasicProvider + ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒ file ãªã®ã§ã€ä»Šå›žã®å ´åˆã¯ç„¡ãã¦ã‚‚構ã„ã¾ã›ã‚“。 + mod_authn_dbm ã‚„ mod_authn_dbd + ã¨ã„ã£ãŸä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使ã†å ´åˆã«ã¯å¿…è¦ã«ãªã‚Šã¾ã™ã€‚ +

+ +

AuthUserFile + ディレクティブ㯠htpasswd ã§ä½œã£ãŸ + パスワードファイルã¸ã®ãƒ‘スを設定ã—ã¾ã™ã€‚ + ユーザ数ãŒå¤šã„å ´åˆã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆæ¯Žã®ãƒ¦ãƒ¼ã‚¶ã®èªè¨¼ã®ãŸã‚ã® + プレーンテキストã®æŽ¢ç´¢ãŒéžå¸¸ã«é…ããªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ + Apache ã§ã¯ãƒ¦ãƒ¼ã‚¶æƒ…報を高速ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã« + ä¿ç®¡ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + mod_authn_dbm モジュール㌠+ AuthDBMUserFile + ディレクティブをæä¾›ã—ã¾ã™ã€‚ã“れらã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ dbmmanage + プログラムã§ä½œæˆã—ãŸã‚Šæ“作ã—ãŸã‚Šã§ãã¾ã™ã€‚ + Apache + モジュールデータベース中ã«ã‚るサードパーティー製㮠+ モジュールã§ã€ãã®ä»–多ãã®ã‚¿ã‚¤ãƒ—ã®èªè¨¼ã‚ªãƒ—ション㌠+ 利用å¯èƒ½ã§ã™ã€‚

+ +

最後ã«ã€Require + ディレクティブãŒã€ã‚µãƒ¼ãƒã®ã“ã®é ˜åŸŸã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるユーザを + 指定ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ãƒ—ロセスã®æ‰¿èªéƒ¨åˆ†ã‚’æä¾›ã—ã¾ã™ã€‚ + 次ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€Require + ディレクティブã®æ§˜ã€…ãªç”¨æ³•ã«ã¤ã„ã¦è¿°ã¹ã¾ã™ã€‚

+
top
+
+

+複数ã®äººãŒå…¥ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹

+

上記ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãŸã ä¸€äºº (具体的ã«ã¯ãƒ¦ãƒ¼ã‚¶å + rbowen ã®èª°ã‹) ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + 入れるよã†ã«ã—ã¾ã™ã€‚多ãã®å ´åˆã¯ã€è¤‡æ•°ã®äººãŒ + 入れるよã†ã«ã—ãŸã„ã§ã—ょã†ã€‚ã“ã“㧠+ AuthGroupFile + ã®ç™»å ´ã§ã™ã€‚

+ +

ã‚‚ã—複数ã®äººãŒå…¥ã‚Œã‚‹ã‚ˆã†ã«ã—ãŸã„ã®ã§ã‚ã‚Œã°ã€ + グループã«å±žã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã®ä¸€è¦§ã®å…¥ã£ã¦ã„ã‚‹ã€ã‚°ãƒ«ãƒ¼ãƒ—åã®ã¤ã„㟠+ グループファイルを作る必è¦ãŒã‚ã‚Šã¾ã™ã€‚ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã® + 書å¼ã¯ãã‚ã‚ã¦å˜ç´”ã§ã€ãŠå¥½ã¿ã®ã‚¨ãƒ‡ã‚£ã‚¿ã§ç”Ÿæˆã§ãã¾ã™ã€‚ + ファイルã®ä¸­èº«ã¯æ¬¡ã®ã‚ˆã†ãªã‚‚ã®ã§ã™ã€‚

+ +

+ GroupName: rbowen dpitts sungo rshersey +

+ +

一行ã«ã‚¹ãƒšãƒ¼ã‚¹åŒºåˆ‡ã‚Šã§ã€ã‚°ãƒ«ãƒ¼ãƒ—ã«æ‰€å±žã™ã‚‹ãƒ¡ãƒ³ãƒãƒ¼ã® + 一覧をãªã‚‰ã¹ã‚‹ã ã‘ã§ã™ã€‚

+ +

æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒ‘スワードファイルã«ãƒ¦ãƒ¼ã‚¶ã‚’加ãˆã‚‹å ´åˆã¯ã€ + 次ã®ã‚ˆã†ã«ã‚¿ã‚¤ãƒ—ã—ã¦ãã ã•ã„。

+ +

+ htpasswd /usr/local/apache/passwd/passwords dpitts +

+ +

以å‰ã¨åŒã˜å¿œç­”ãŒè¿”ã•ã‚Œã¾ã™ãŒã€æ–°ã—ã„ファイルを + 作るã®ã§ã¯ãªãã€æ—¢ã«ã‚るファイルã«è¿½åŠ ã•ã‚Œã¦ã„ã¾ã™ã€‚ + (æ–°ã—ã„パスワードファイルを作るã«ã¯ -c + を使ã„ã¾ã™ã€‚)

+ +

ã“ã“ã§æ¬¡ã®ã‚ˆã†ã«ã—㦠.htaccess ファイルを + 修正ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

+ AuthType Basic
+ AuthName "By Invitation Only"
+ # Optional line:
+ AuthBasicProvider file
+ AuthUserFile /usr/local/apache/passwd/passwords
+ AuthGroupFile /usr/local/apache/passwd/groups
+ Require group GroupName +

+ +

ã“ã‚Œã§ã€ã‚°ãƒ«ãƒ¼ãƒ— GroupName ã«ãƒªã‚¹ãƒˆã•ã‚Œã¦ã„ã¦ã€ + password ファイルã«ã‚¨ãƒ³ãƒˆãƒªãŒã‚る人ã¯ã€ + æ­£ã—ã„パスワードをタイプã™ã‚Œã°å…¥ã‚‹ã“ã¨ãŒã§ãã‚‹ã§ã—ょã†ã€‚

+ +

ã‚‚ã£ã¨ç‰¹å®šã›ãšã«è¤‡æ•°ã®ãƒ¦ãƒ¼ã‚¶ãŒå…¥ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ã€ + ã‚‚ã†ä¸€ã¤ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚グループファイルを作るã®ã§ã¯ãªã〠+ 次ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ãˆã°ã§ãã¾ã™ã€‚

+ +

+ Require valid-user +

+ +

require user rbowen è¡Œã§ãªãã€ä¸Šè¨˜ã‚’使ã†ã¨ã€ + パスワードファイルã«ãƒªã‚¹ãƒˆã•ã‚Œã¦ã„る人ã§ã‚ã‚Œã°èª°ã§ã‚‚ + 許å¯ã•ã‚Œã¾ã™ã€‚ + å˜ã«ãƒ‘スワードファイルをグループ毎ã«åˆ†ã‘ã¦ãŠãã“ã¨ã§ã€ + グループã®ã‚ˆã†ãªæŒ¯ã‚‹èˆžã„ã‚’ã•ã›ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + ã“ã®ã‚¢ãƒ—ローãƒã®åˆ©ç‚¹ã¯ã€Apache ã¯äºŒã¤ã§ã¯ãªã〠+ ãŸã ä¸€ã¤ã®ãƒ•ã‚¡ã‚¤ãƒ«ã ã‘を検査ã™ã‚Œã°ã‚ˆã„ã¨ã„ã†ç‚¹ã§ã™ã€‚ + 欠点ã¯ã€ãŸãã•ã‚“ã®ãƒ‘スワードファイルを管ç†ã—ã¦ã€ãã®ä¸­ã‹ã‚‰ + AuthUserFile + ディレクティブã«æ­£ã—ã„ファイルをå‚ç…§ã•ã›ãªã‘ã‚Œã°ãªã‚‰ãªã„点ã§ã™ã€‚

+
top
+
+

èµ·ã“ã‚Šãˆã‚‹å•é¡Œ

+

Basic èªè¨¼ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€ + サーãƒã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’リクエストã™ã‚‹åº¦ã« + ユーザåã¨ãƒ‘スワードを検査ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ã“ã‚Œã¯åŒã˜ãƒšãƒ¼ã‚¸ã€ãƒšãƒ¼ã‚¸ã«ã‚ã‚‹å…¨ã¦ã®ç”»åƒã‚’ + リロードã™ã‚‹å ´åˆã§ã‚ã£ã¦ã‚‚該当ã—ã¾ã™ + (ã‚‚ã—ç”»åƒã‚‚ä¿è­·ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰æ¥ã‚‹ã®ã§ã‚ã‚Œã°) 。 + 予想ã•ã‚Œã‚‹é€šã‚Šã€ã“ã‚Œã¯å‹•ä½œã‚’多少é…ãã—ã¾ã™ã€‚ + é…ããªã‚‹ç¨‹åº¦ã¯ãƒ‘スワードファイルã®å¤§ãã•ã¨æ¯”例ã—ã¾ã™ãŒã€ + ã“ã‚Œã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã„ã¦ã‚ãªãŸã®åå‰ã‚’発見ã™ã‚‹ã¾ã§ + ユーザåã®ãƒªã‚¹ãƒˆã‚’読ã¾ãªã‘ã‚Œã°ãªã‚‰ãªã„ã‹ã‚‰ã§ã™ã€‚ + ãã—ã¦ã€ãƒšãƒ¼ã‚¸ãŒãƒ­ãƒ¼ãƒ‰ã•ã‚Œã‚‹åº¦ã«ã“れを行ã‚ãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。

+ +

çµè«–ã¨ã—ã¦ã¯ã€ä¸€ã¤ã®ãƒ‘スワードファイルã«ç½®ãã“ã¨ã®ã§ãã‚‹ + ユーザ数ã«ã¯å®Ÿè³ªçš„ãªé™ç•ŒãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®é™ç•Œã¯ã‚µãƒ¼ãƒãƒžã‚·ãƒ³ã®æ€§èƒ½ã«ä¾å­˜ã—ã¦å¤‰ã‚ã‚Šã¾ã™ãŒã€ + 数百ã®ã‚¨ãƒ³ãƒˆãƒªã‚’越ãˆãŸã‚ãŸã‚Šã‹ã‚‰é€Ÿåº¦ä½Žä¸‹ãŒè¦‹ã‚‰ã‚Œã‚‹ã¨äºˆæœŸã•ã‚Œã¦ã„ã¾ã™ã€‚ + ãã®æ™‚ã¯ä»–ã®èªè¨¼æ–¹æ³•ã‚’考慮ã«å…¥ã‚ŒãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚

+
top
+
+

パスワードã®ä¿å­˜å½¢å¼ã‚’変ãˆã‚‹

+ +

プレーンテキストã§ãƒ‘スワードをä¿å­˜ã™ã‚‹æ–¹æ³•ã«ã¯ä¸Šè¨˜ã®å•é¡ŒãŒã‚り〠+ データベースã®ã‚ˆã†ãªåˆ¥ã®å ´æ‰€ã«ãƒ‘スワードをä¿å­˜ã—ãŸã„ã¨æ€ã† + ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +

mod_authn_dbm 㨠mod_authn_dbd + を使ã†ã¨ã€ãã‚ŒãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + AuthBasicSource + 㧠file ã®ä»£ã‚ã‚Šã«ã€dbm ã‚ã‚‹ã„㯠dbd + ã‚’æ ¼ç´å½¢å¼ã¨ã—ã¦é¸ã¹ã¾ã™ã€‚

+ +

テキストファイルã®ä»£ã‚ã‚Šã« dbm ファイルをé¸æŠžã™ã‚‹å ´åˆã¯ã€ãŸã¨ãˆã°æ¬¡ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

+ <Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider dbm
+ AuthDBMUserFile /www/passwords/passwd.dbm
+ Require valid-user
+ </Directory> +

+ +

ã“ã®ä»–ã®ã‚ªãƒ—ションも存在ã—ã¾ã™ã€‚詳細ã«é–¢ã—ã¦ã¯ + mod_authn_dbm ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ã”覧ãã ã•ã„。

+
top
+
+

複数ã®ãƒ—ロãƒã‚¤ãƒ€ã‚’使用ã™ã‚‹

+ +

èªè¨¼æ‰¿èªã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã«åŸºã¥ã„ã¦ã„ã‚‹æ–°ã—ã„プロãƒã‚¤ãƒ€ã‚’使ã†ã¨ã€ + èªè¨¼æ‰¿èªã®æ–¹æ³•ã‚’ã²ã¨ã¤ã«ç¸›ã‚‹å¿…è¦ãŒãªããªã‚Šã¾ã™ã€‚ + ã„ãã¤ã‚‚ã®ãƒ—ロãƒã‚¤ãƒ€ã‚’組ã¿åˆã‚ã›ã¦ã€è‡ªåˆ†ã®æœ›ã¿ã®æŒ™å‹•ã«ã§ãã¾ã™ã€‚ + 次ã®ä¾‹ã§ã¯ file èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã¨ ldap èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã‚’ + 組ã¿åˆã‚ã›ã¦ã„ã¾ã™ã€‚

+ +

+ <Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider file ldap
+ AuthUserFile /usr/local/apache/passwd/passwords
+ AuthLDAPURL ldap://ldaphost/o=yourorg
+ Require valid-user +

+ +

ã“ã®ä¾‹ã§ã¯ã€ã¾ãš file プロãƒã‚¤ãƒ€ãŒãƒ¦ãƒ¼ã‚¶èªè¨¼ã‚’試ã¿ã¾ã™ã€‚ + èªè¨¼ã§ããªã‹ã£ãŸå ´åˆã«ã¯ã€ldap プロãƒã‚¤ãƒ€ãŒå‘¼ã³å‡ºã•ã‚Œã¾ã™ã€‚ + 組織ã§è¤‡æ•°ã®èªè¨¼æ ¼ç´æ–¹æ³•ã‚’使ã£ã¦ã„ã‚‹éš›ãªã©ã«ã€ + ã“ã®æ–¹æ³•ã‚’使ã£ã¦èªè¨¼ã®ã‚¹ã‚³ãƒ¼ãƒ—を拡大ã§ãã¾ã™ã€‚ + ã‚‚ã†ã²ã¨ã¤ã®ã‚·ãƒŠãƒªã‚ªã¯ã€ã²ã¨ã¤ã®èªè¨¼ã‚¿ã‚¤ãƒ—ã¨ç•°ãªã‚‹æ‰¿èªã‚’ + 組ã¿åˆã‚ã›ã‚‹æ–¹æ³•ã§ã—ょã†ã€‚ãŸã¨ãˆã°ã€ãƒ‘スワードファイルã§èªè¨¼ã—ã¦ã€ + ldap ディレクトリã§æ‰¿èªã‚’è¡Œã†ã¨ã„ã£ãŸå ´åˆã§ã™ã€‚

+ +

èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã‚’複数実装ã§ãるよã†ã«ã€æ‰¿èªæ–¹æ³•ã‚‚複数使用ã§ãã¾ã™ã€‚ + ã“ã®ä¾‹ã§ã¯ file グループ承èªã¨ ldap グループ承èªã‚’使ã£ã¦ã„ã¾ã™ã€‚

+ +

+ <Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider file
+ AuthUserFile /usr/local/apache/passwd/passwords
+ AuthLDAPURL ldap://ldaphost/o=yourorg + AuthGroupFile /usr/local/apache/passwd/groups
+ Require group GroupName
+ Require ldap-group cn=mygroup,o=yourorg +

+ +

承èªã‚’より細ã‹ã制御ã—ãŸã„å ´åˆã¯ã€ + <SatisfyAll> 㨠+ <SatisfyOne> + ディレクティブを使ã£ã¦ AND/OR ロジックã§æŒ‡å®šã—ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§ + 承èªã®å‡¦ç†é †ç•ªã®åˆ¶å¾¡ãŒã§ãるよã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ + ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ã©ã®ã‚ˆã†ã«ä½¿ãˆã‚‹ã‹ã€ç¶²ç¾…ã—ãŸä¾‹ã‚’ã”覧ãã ã•ã„。

+ +
top
+
+

å˜ç´”ãªæ‰¿èªã®ãã®å…ˆ

+ +

承èªã®æ–¹æ³•ã¯ã€ã²ã¨ã¤ã®ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã‚’見ã¦ä¸€å›žã ã‘ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã®ã¨æ¯”ã¹ã¦ã€ + ãšã£ã¨å¤šå½©ãªé©ç”¨æ–¹æ³•ãŒã§ãã¾ã™ã€‚ + 承èªå‡¦ç†ã®é©ç”¨é †åºã‚„制御ã€é¸æŠžãŒã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚

+ +

AND/OR ロジックã®é©ç”¨ã¨é †åºä»˜ã‘

+

承èªãŒã©ã®ã‚ˆã†ãªé †åºã§é©ç”¨ã•ã‚Œã¦ã„ã‚‹ã‹ã€ã¾ãŸã€ãれをã©ã®ã‚ˆã†ã«åˆ¶å¾¡ã™ã‚‹ã‹ã¯ã€ + ã“ã‚Œã¾ã§æ··ä¹±ã‚’æ‹›ã„ã¦ã„ã¾ã—ãŸã€‚ + Apache 2.2 ã§ã¯ãƒ—ロãƒã‚¤ãƒ€ãƒ™ãƒ¼ã‚¹ã®èªè¨¼ãƒ¡ã‚«ãƒ‹ã‚ºãƒ ãŒå°Žå…¥ã•ã‚Œã€ + 承èªå‡¦ç†ã‹ã‚‰èªè¨¼å‡¦ç†ã¨ã‚µãƒãƒ¼ãƒˆæ©Ÿèƒ½ã¨ãŒåˆ‡ã‚Šåˆ†ã‘られã¾ã—ãŸã€‚ + ã“ã‚Œã«ã‚ˆã‚‹ã²ã¨ã¤ã®åŠ¹æžœã¨ã—ã¦ã€ + èªè¨¼ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ­ãƒ¼ãƒ‰é †ã‚„モジュール自体ã®é †åºã«ä¾å­˜ã™ã‚‹ã“ã¨ãªã〠+ 指定ã—ãŸé †ç•ªã§èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ãŒå‘¼ã³å‡ºã›ã‚‹ã‚ˆã†ã€ + 設定ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ã“ã®ãƒ—ロãƒã‚¤ãƒ€ãƒ¡ã‚«ãƒ‹ã‚ºãƒ ã¯æ‰¿èªå‡¦ç†ã§ã‚‚å°Žå…¥ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã¤ã¾ã‚Šã€Require + ディレクティブã¯å˜ã«ã©ã®æ‰¿èªæ‰‹æ³•ãŒä½¿ã‚れるã‹ã‚’指定ã™ã‚‹ã ã‘ã§ã¯ãªã〠+ ãれらã®å‘¼ã³å‡ºã—é †åºã‚‚指定ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ + 複数ã®æ‰¿èªæ‰‹æ³•ãŒã‚ã‚‹ã¨ãã€ãã®å‘¼ã³å‡ºã—é †ã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® + Require ディレクティブ中㧠+ ç¾ã‚ŒãŸé †åºã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚

+ +

追加ã§å°Žå…¥ã•ã‚ŒãŸ + <SatisfyAll>, + <SatisfyOne> + ディレクティブを使ã£ã¦ã€æ‰¿èªæ‰‹æ³•ãŒã„ã¤å‘¼ã³å‡ºã•ã‚Œã€ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚ŒãŸéš›ã« + ã©ã®æ‰‹ç¶šããŒé©ç”¨ã•ã‚Œã‚‹ã‹æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ãŸã¨ãˆã°ã€æ¬¡ã®æ‰¿èªãƒ–ロックã®ãƒ­ã‚¸ãƒƒã‚¯ã‚’見ã¦ã¿ã¾ã—ょã†:

+ +

+ # if ((user == "John") ||
+ #    ((Group == "admin")
+ #     && (ldap-group <ldap-object> contains auth'ed_user)
+ #     && ((ldap-attribute dept == "sales")
+ #         || (file-group contains auth'ed_user))))
+ # then
+ #   auth_granted
+ # else
+ #   auth_denied
+ #
+ <Directory /www/mydocs>
+ + Authname ...
+ AuthBasicProvider ...
+ ...
+ Require user John
+ <SatisfyAll>
+ + Require Group admins
+ Require ldap-group cn=mygroup,o=foo
+ <SatisfyOne>
+ + Require ldap-attribute dept="sales"
+ Require file-group
+
+ </SatisfyOne>
+
+ </SatisfyAll>
+
+ </Directory> +

+ +

デフォルトã§ã¯ Require + ディレクティブ㯠OR æ“作ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ã¤ã¾ã‚Šã€ã‚‚ã—指定ã—ãŸæ‰¿èªæ‰‹æ³•ã® + ã²ã¨ã¤ã§ã‚‚åˆæ ¼ã™ã‚Œã°ã€æ‰¿èªã•ã‚Œã¾ã™ã€‚ + Require ディレクティブã®ã‚»ãƒƒãƒˆã‚’ + ã²ã¨ã¤ã® <SatisfyAll> + ブロックã§å›²ã‚€ã¨AND æ“作ã¨ãªã‚Šã€å…¨ã¦ã®æ‰¿èªæ‰‹æ³•ã§åˆæ ¼ã—ãªã‘ã‚Œã°è¨±å¯ã•ã‚Œã¾ã›ã‚“。

+ + + +

アクセス制御ã«ãŠã‘ã‚‹ Require 㨠Reject ã®ä½¿ã„æ–¹

+

ユーザåã¨ãƒ‘スワードã«ã‚ˆã‚‹èªè¨¼ã¯å…¨ä½“ã®ä¸€éƒ¨åˆ†ã§ã—ã‹ã‚ã‚Šã¾ã›ã‚“。 + 誰ãŒã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ããŸã‹ã¨ã„ã£ãŸæƒ…報以外ã®æ¡ä»¶ã‚’使ã„ãŸã„〠+ ã¨ã‚ˆãæ€ã†ã“ã¨ã§ã—ょã†ã€‚ + ãŸã¨ãˆã°ã€ã©ã“ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ãã¦ã„ã‚‹ã‹ã€ã¨ã„ã£ãŸå…·åˆã§ã™ã€‚

+ +

承èªãƒ—ロãƒã‚¤ãƒ€ all, + env, + host, + ip + を使ã†ã¨ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã—ã¦ãã¦ã„るマシンã®ãƒ›ã‚¹ãƒˆåã‚„ IP アドレス + ã¨ã„ã£ãŸã€ãƒ›ã‚¹ãƒˆãƒ™ãƒ¼ã‚¹ã§ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ãŒã§ãã¾ã™ã€‚

+ +

ã“れらプロãƒã‚¤ãƒ€ã®æ‰±ã„㯠+ Require ã‚„ + Reject 㧠+ 指定ã•ã‚Œã¾ã™ã€‚ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯æ‰¿èªãƒ—ロãƒã‚¤ãƒ€ã‚’登録ã—〠+ リクエスト処ç†ã®æ‰¿èªæ®µéšŽã§å‘¼ã³å‡ºã•ã‚Œã¾ã™ã€‚ãŸã¨ãˆã°:

+ +

+ Require ip address +

+ +

ã“ã“ã§ã€address 㯠IP アドレス (ã‚ã‚‹ã„㯠IP アドレス㮠+ 一部) ã‹ :

+ +

+ Require host domain_name +

+ +

ã“ã“㧠domain_name 㯠FQDN (ã‚ã‚‹ã„ã¯ãƒ‰ãƒ¡ã‚¤ãƒ³åã®ä¸€éƒ¨) + ã§ã€å¿…è¦ã§ã‚ã‚Œã°è¤‡æ•°ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚„ドメインåを書ãã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ãŸã¨ãˆã°ã€ã‚¹ãƒ‘ムメッセージをé€ä¿¡ã—ã¦ãる誰ã‹ã‚’æ‹’å¦ã—ãŸã„å ´åˆã€ + 次ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ :

+ +

+ Reject ip 10.252.46.165 +

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæœ‰åŠ¹ãªç¯„囲ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«å¯¾ã—ã¦ã¯ã€ + ãã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ãã¦ã‚‚見るã“ã¨ãŒã§ãã¾ã›ã‚“。 + ã‚‚ã—マシンåãŒã‚ã‹ã£ã¦ã„㦠IP アドレスよりもãã¡ã‚‰ã§ + 指定ã—ãŸã„ã®ã§ã‚ã‚Œã°ã€ãã®ãƒžã‚·ãƒ³åãŒä½¿ãˆã¾ã™ã€‚

+ +

+ Reject host host.example.com +

+ +

ã¾ãŸã€ç‰¹å®šã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‹ã‚‰ã®ã‚¢ã‚¯ã‚»ã‚¹å…¨ã¦ã‚’ブロックã—ãŸã„å ´åˆã¯ã€ + IP アドレスã®ä¸€éƒ¨ã‚„ã€ãƒ‰ãƒ¡ã‚¤ãƒ³åãŒæŒ‡å®šã§ãã¾ã™ :

+ +

+ <SatisfyAll>
+ + Reject ip 192.168.205
+ Reject host phishers.example.com moreidiots.example
Reject host ke
+
+ </SatisfyAll> +

+ +

Reject ディレクティブを + <SatisfyAll> ブロックã®ä¸­ã§ä½¿ã†ã¨ã€ + 許å¯ã—ãŸã„グループã«ã®ã¿ã‚¢ã‚¯ã‚»ã‚¹ãŒã§ãるよã†ã«ç¢ºèªã§ãã¾ã™ã€‚

+ +

上記ã®ä¾‹ã§ã¯ <SatisfyAll> + を使ã£ã¦ã€ã‚¢ã‚¯ã‚»ã‚¹ã«åˆæ ¼ã™ã‚‹å‰æ®µéšŽã§ã€å…¨ã¦ã® + Reject ディレクティブ㌠+ 満ãŸã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ã„ã¾ã™ã€‚

+ + + +

アクセス制御ã®å¾Œæ–¹äº’æ›æ€§

+

èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ãƒ™ãƒ¼ã‚¹ã®æ©Ÿæ§‹ãŒã‚ã‚‹ãŸã‚ã€ä»¥å‰ä½¿ç”¨ã•ã‚Œã¦ã„ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ– + Order, + Allow, + Deny, + Satisfy + ã¯å¿…è¦ãªããªã‚Šã¾ã—ãŸã€‚ + ã¨ã¯ã„ã†ã‚‚ã®ã®ã€å¤ã„設定ファイルã§ã®å¾Œæ–¹äº’æ›æ€§ã‚’æä¾›ã™ã‚‹ãŸã‚〠+ ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠mod_access_compat モジュールã«ç§»ã•ã‚Œã¾ã—ãŸã€‚

+ +

ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®æŠ±ãˆã¦ã„ãŸå•é¡Œã®ã²ã¨ã¤ã«ã€æ‰¿èªã®è¨­å®šè¡Œã¨ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã®è¨­å®šè¡Œã® + 関係ãŒã¨ã¦ã‚‚ã‚ã„ã¾ã„ã ã£ãŸã“ã¨ãŒæŒ™ã’られã¾ã™ã€‚ + Satisfy ディレクティブ㯠+ リクエスト処ç†ä¸­ã§ãれ自身を呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã£ã¦ã€ã“れら㮠2 ã¤ã®å‡¦ç†æ®µéšŽã‚’çµã³ã¤ã‘よã†ã¨ã—ã¾ã™ã€‚ + ç¾åœ¨ã¯ã€ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠mod_access_compat ã«ç§»å‹•ã—〠+ æ–°ã—ã„èªè¨¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¨å¤ã„アクセス制御ディレクティブを混ãœã¦ä½¿ã†ã“ã¨ã¯ + 難ã—ããªã£ã¦ã„ã¾ã™ã€‚ã“ã®å•é¡Œã®ãŸã‚ã€mod_authz_default モジュールを + ロードã™ã‚‹ã“ã¨ãŒã¨ã¦ã‚‚é‡è¦ã§ã€å¿…é ˆã«ãªã£ã¦ã„ã¾ã™ã€‚ + mod_authz_default モジュールã®ä¸»ãªç›®çš„ã¯ã€ã©ã®æ‰¿èªãƒ—ロãƒã‚¤ãƒ€ã§ + 処ç†ã•ã‚Œãªã‹ã£ãŸæ‰¿èªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘ã‚‹ã“ã¨ã«ã‚ã‚Šã¾ã™ã€‚ + ã—ã‹ã—ã€å¤ã„アクセス制御ディレクティブãŒç”¨ã„られãŸå ´åˆã«ã¯ã€ + アクセス制御ã¨æ‰¿èªã‚’çµã³ã¤ã‘ã¦ã€ã™ã¹ã¦ã®å‡¦ç†æ®µéšŽã®å‡ºåŠ›çµæžœã‚’見ã¦ã‚¢ã‚¯ã‚»ã‚¹ã«åˆæ ¼ã™ã‚‹ã‹ã‚’決ã‚ã¦ã„ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€å¤ã„ディレクティブãŒã†ã¾ã動作ã—ãªã„å ´åˆã¯ã€ + mod_authz_default ãŒãƒ­ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ãªã„ã‹ã‚‰ã‹ã‚‚ã—ã‚Œãªã„〠+ ã¨ç–‘ã£ã¦ã¿ã¦ãã ã•ã„。

+ + + +
top
+
+

追加情報

+

ã“れら全ã¦ãŒã©ã®ã‚ˆã†ã«å‹•ä½œã™ã‚‹ã‹ã«ã¤ã„㦠+ ã‚‚ã£ã¨å¤šãã®æƒ…å ±ãŒæ›¸ã‹ã‚Œã¦ã„ã‚‹ mod_auth_basic 㨠+ mod_authz_host + ã®æ–‡æ›¸ã‚‚読むã¨ã‚ˆã„ã§ã—ょã†ã€‚ + <AuthnProviderAlias> + ディレクティブを使ã†ã¨ã€ç‰¹å®šã®èªè¨¼è¨­å®šãŒç°¡å˜ã«æ›¸ã‘るよã†ã«ãªã‚Šã¾ã™ã€‚

+ +

アクセス制御ã®æ–¹æ³•ã‚‚〠+ 関連ã™ã‚‹ãƒˆãƒ”ックãŒãŸãã•ã‚“記載ã•ã‚Œã¦ã„ã¾ã™ã®ã§ã€ã”覧ãã ã•ã„。

+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/auth.html.ko.euc-kr b/docs/manual/howto/auth.html.ko.euc-kr new file mode 100644 index 0000000..a6013b8 --- /dev/null +++ b/docs/manual/howto/auth.html.ko.euc-kr @@ -0,0 +1,355 @@ + + + + + +ÀÎÁõ(Authentication), ±ÇÇѺο©(Authorization), +Á¢±ÙÁ¦¾î(Access Control) - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

ÀÎÁõ(Authentication), ±ÇÇѺο©(Authorization), +Á¢±ÙÁ¦¾î(Access Control)

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÎÁõ(authentication)Àº ÀÚ½ÅÀÌ ´©±¸¶ó°í ÁÖÀåÇÏ´Â »ç¶÷À» + È®ÀÎÇÏ´Â ÀýÂ÷ÀÌ´Ù. ±ÇÇѺο©(authorization)´Â °¡°í ½ÍÀº °÷À¸·Î + °¡µµ·Ï ȤÀº ¿øÇÏ´Â Á¤º¸¸¦ ¾òµµ·Ï Çã¿ëÇÏ´Â °úÁ¤ÀÌ´Ù.

+
+ +
top
+
top
+
+

¼Ò°³

+

´ç½ÅÀÇ À¥»çÀÌÆ®¿¡ ÀÖ´Â Á¤º¸°¡ ¼Ò¼öÀÇ »ç¶÷µé¸¸ÀÇ ºñ¹ÐÀ̰ųª + À̵鸸À» À§ÇÑ Á¤º¸¶ó¸é, ÀÌ ±Û¿¡¼­ ¼³¸íÇÏ´Â ±â¹ýÀ» »ç¿ëÇÏ¿© + ´ç½ÅÀÌ º¸±æ ¿øÇÏ´Â »ç¶÷¸¸ ÆäÀÌÁö¸¦ º¸µµ·Ï ÇÒ ¼ö ÀÖ´Ù.

+ +

ÀÌ ±ÛÀº À¥»çÀÌÆ®ÀÇ ÀϺθ¦ º¸È£ÇϱâÀ§ÇØ ¸¹Àº »ç¶÷µéÀÌ + »ç¿ëÇÏ´Â "Ç¥ÁØÀûÀÎ" ¹æ¹ýÀ» ´Ù·é´Ù.

+
top
+
+

±âº» Áö½Ä

+

ÀÌ ±Û¿¡¼­ ´Ù·ç´Â Áö½Ã¾î´Â ¼­¹öÀÇ ÁÖ¼³Á¤ÆÄÀÏ(ÀϹÝÀûÀ¸·Î + <Directory> + ¼½¼Ç)À̳ª µð·ºÅ丮º° ¼³Á¤ÆÄÀÏ(.htaccess ÆÄÀÏ)¿¡¼­ + »ç¿ëÇÑ´Ù.

+ +

.htaccess ÆÄÀÏÀ» »ç¿ëÇÏ·Á¸é ÀÌ ÆÄÀÏ¿¡ ÀÖ´Â + ÀÎÁõ Áö½Ã¾î¸¦ Çã¿ëÇϵµ·Ï ¼­¹ö¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. À̸¦ À§ÇØ + µð·ºÅ丮º° ¼³Á¤ÆÄÀÏ¿¡ ¾î¶² Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö¸¦ °áÁ¤ÇÏ´Â + AllowOverride Áö½Ã¾î¸¦ + »ç¿ëÇÑ´Ù.

+ +

¿©±â¼­´Â ÀÎÁõÀ» ´Ù·ç±â ¶§¹®¿¡, ´ÙÀ½°ú °°Àº + AllowOverride Áö½Ã¾î°¡ ÇÊ¿äÇÏ´Ù.

+ +

+ AllowOverride AuthConfig +

+ +

ȤÀº Áö½Ã¾î¸¦ Á÷Á¢ ¼­¹ö ÁÖ¼³Á¤ÆÄÀÏ¿¡ Àû´Â´Ù¸é, ±× ÆÄÀÏ¿¡ + ¾²±â ±ÇÇÑÀÌ ¹°·Ð ÀÖ¾î¾ß ÇÑ´Ù.

+ +

±×¸®°í º¸È£ÇÒ ÆÄÀÏÀÌ ¾îµðÀÖ´ÂÁö ¾Ë±âÀ§ÇØ ¼­¹öÀÇ µð·ºÅ丮 + ±¸Á¶¿¡ ´ëÇØ Á¶±Ý ¾Ë¾Æ¾ßÇÑ´Ù. ÀÌ ÀÏÀº ¾î·ÆÁö¾Ê°í, Àû´çÇÑ + ¶§¿¡ ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù.

+
top
+
+

±âº»ÀûÀÎ ¼³Á¤Çϱâ

+

ÀÌÁ¦ ¼­¹öÀÇ µð·ºÅ丮¸¦ ¾ÏÈ£·Î º¸È£ÇÏ´Â ±âº»ÀûÀÎ ¹æ¹ýÀ» + ¼³¸íÇÑ´Ù.

+ +

¸ÕÀú ¾ÏÈ£ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ÀÌ ÆÄÀÏÀº À¥¿¡¼­ Á¢±ÙÇÒ + ¼ö ¾ø´Â °÷¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ´Ù¸¥»ç¶÷ÀÌ ¾ÏÈ£ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏÁö + ¸øÇÏ°ÔÇϱâ À§Çؼ­´Ù. ¿¹¸¦ µé¾î, ¹®¼­µéÀÌ + /usr/local/apache/htdocs¿¡ ÀÖ´Ù¸é ¾ÏÈ£ÆÄÀÏ(µé)Àº + /usr/local/apache/passwd¿¡ µÐ´Ù.

+ +

¾ÆÆÄÄ¡¿¡ Æ÷ÇÔµÈ htpasswd µµ±¸¸¦ »ç¿ëÇÏ¿© + ¾ÏÈ£ÆÄÀÏÀ» ¸¸µç´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÑ °÷ÀÇ + bin µð·ºÅ丮¿¡ ÀÖ´Ù. ÆÄÀÏÀ» ¸¸µé·Á¸é ´ÙÀ½°ú + °°ÀÌ ÀÔ·ÂÇÑ´Ù.

+ +

+ htpasswd -c /usr/local/apache/passwd/passwords rbowen +

+ +

htpasswd´Â ¾ÏÈ£¸¦ ¹°¾îº¸°í, È®ÀÎÀ» À§ÇØ + ¾ÏÈ£¸¦ ´Ù½Ã ÀÔ·ÂÇ϶ó°í ¿äûÇÑ´Ù.

+ +

+ # htpasswd -c /usr/local/apache/passwd/passwords rbowen
+ New password: mypassword
+ Re-type new password: mypassword
+ Adding password for user rbowen +

+ +

¹°·Ð htpasswdÀÌ ½ÇÇàÆÄÀÏ °æ·Î¿¡ ¾ø´Ù¸é + ½ÇÇàÆÄÀÏÀÇ Àüü °æ·Î¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ³»°¡ »ç¿ëÇÏ´Â ¼­¹ö¿¡¼­´Â + /usr/local/apache/bin/htpasswd¿¡ ½ÇÇàÆÄÀÏÀÌ + ÀÖ´Ù.

+ +

´ÙÀ½À¸·Î ¼­¹ö°¡ ¾ÏÈ£¸¦ ¿äûÇϵµ·Ï ¼³Á¤ÇÏ°í, ¼­¹ö¿¡°Ô + ¾î¶² »ç¿ëÀÚÀÇ Á¢±ÙÀ» Çã¿ëÇÒÁö ¾Ë·ÁÁà¾ß ÇÑ´Ù. + httpd.conf¸¦ ÆíÁýÇϰųª .htaccess + ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¼³Á¤ÇÑ´Ù. ¿¹¸¦ µé¾î, + /usr/local/apache/htdocs/secret µð·ºÅ丮¸¦ + º¸È£ÇÏ·Á¸é, ¾Æ·¡ Áö½Ã¾î¸¦ + /usr/local/apache/htdocs/secret/.htaccess ÆÄÀÏÀ̳ª + httpd.confÀÇ <Directory + /usr/local/apache/apache/htdocs/secret> ¼½¼Ç¿¡ Àû¾î¾ß + ÇÑ´Ù.

+ +

+ AuthType Basic
+ AuthName "Restricted Files"
+ AuthUserFile /usr/local/apache/passwd/passwords
+ Require user rbowen +

+ +

Áö½Ã¾î¸¦ Çϳª¾¿ »ìÆ캸ÀÚ. AuthType Áö½Ã¾î´Â »ç¿ëÀÚ¸¦ ÀÎÁõÇÒ + ¹æ¹ýÀ» ¼±ÅÃÇÑ´Ù. °¡Àå ÀϹÝÀûÀÎ ¹æ¹ýÀº BasicÀ¸·Î, + mod_auth_basicÀÌ ±¸ÇöÇÑ´Ù. ±×·¯³ª Basic + ÀÎÁõÀº ºê¶ó¿ìÀú°¡ ¼­¹ö·Î ¾ÏÈ£¸¦ ¾ÏȣȭÇÏÁö ¾Ê°í º¸³½´Ù. + ±×·¯¹Ç·Î ±â¹Ð ÀڷḦ º¸È£ÇϱâÀ§ÇØ ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. + ¾ÆÆÄÄ¡´Â AuthType Digest¶ó´Â ÀÎÁõ ¹æ¹ýµµ Áö¿øÇÑ´Ù. + ÀÌ ¹æ¹ýÀº mod_auth_digest°¡ ±¸ÇöÇϸç, ¸Å¿ì + ¾ÈÀüÇÏ´Ù. °¡Àå Ãֱ٠Ŭ¶óÀ̾ðÆ®µé¸¸ÀÌ Digest ÀÎÁõÀ» Áö¿øÇÑ´Ù°í + ÇÑ´Ù.

+ +

AuthName Áö½Ã¾î´Â + ÀÎÁõ¿¡ »ç¿ëÇÒ ¿µ¿ª(realm)À» ÁöÁ¤ÇÑ´Ù. ¿µ¿ªÀº + µÎ°¡Áö ¿ªÇÒÀ» ÇÑ´Ù. ù¹ø°´Â Ŭ¶óÀ̾ðÆ®°¡ º¸Åë ÀÌ Á¤º¸¸¦ + ¾ÏÈ£ ´ëȭâ¿¡ º¸¿©ÁØ´Ù. µÎ¹ø°´Â ¿µ¿ª Á¤º¸¸¦ »ç¿ëÇÏ¿© + Ŭ¶óÀ̾ðÆ®°¡ ƯÁ¤ ÀÎÁõ±¸¿ª¿¡ ¾î¶² ¾ÏÈ£¸¦ º¸³¾Áö °áÁ¤ÇÑ´Ù.

+ +

¿¹¸¦ µé¾î, ÀÏ´Ü Å¬¶óÀ̾ðÆ®°¡ "Restricted Files" + ¿µ¿ª¿¡ ÀÎÁõÀÌ ¼º°øÇÏ¿´´Ù¸é, Ŭ¶óÀ̾ðÆ®´Â ÀÚµ¿À¸·Î °°Àº ¼­¹ö¿¡¼­ + "Restricted Files" ¿µ¿ªÀ¸·Î Ç¥½ÃµÈ ±¸¿ª¿¡ ´ëÇØ + µ¿ÀÏÇÑ ¾ÏÈ£¸¦ ½ÃµµÇÑ´Ù. ±×·¡¼­ ¿©·¯ Á¦ÇÑ ±¸¿ªÀÌ °°Àº ¿µ¿ªÀ» + °øÀ¯ÇÏ¸é »ç¿ëÀÚ°¡ ¿©·¯¹ø ¾ÏÈ£¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Æµµ µÈ´Ù. ¹°·Ð + º¸¾È»ó ÀÌÀ¯·Î Ŭ¶óÀ̾ðÆ®´Â ¼­¹öÀÇ È£½ºÆ®¸íÀÌ ´Ù¸£¸é Ç×»ó + »õ·Î ¾ÏÈ£¸¦ ¹°¾îº»´Ù.

+ +

AuthUserFile + Áö½Ã¾î´Â ¿ì¸®°¡ ¹æ±Ý htpasswd·Î ¸¸µç ¾ÏÈ£ÆÄÀÏÀÇ + °æ·Î¸¦ ¼³Á¤ÇÑ´Ù. »ç¿ëÀÚ°¡ ¸¹´Ù¸é ¿äû¸¶´Ù ¸Å¹ø »ç¿ëÀÚ¸¦ + ÀÎÁõÇϱâÀ§ÇØ ÀÏ¹Ý ¹®¼­ÆÄÀÏÀ» °Ë»öÇϴµ¥ ½Ã°£ÀÌ »ó´çÈ÷ ¸¹ÀÌ + °É¸± ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ºü¸¥ µ¥ÀÌŸº£À̽º ÆÄÀÏ¿¡ »ç¿ëÀÚ Á¤º¸¸¦ + ÀúÀåÇÒ ¼ö ÀÖ´Ù. mod_authn_dbm ¸ðµâÀº AuthDBMUserFile Áö½Ã¾î¸¦ + Á¦°øÇÑ´Ù. dbmmanage + ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ¾ÏÈ£ÆÄÀÏÀ» ¸¸µé°í ´Ù·é´Ù. ¾ÆÆÄÄ¡ ¸ðµâ + µ¥ÀÌŸº£À̽º¿¡´Â ¿©·¯ ´Ù¸¥ ÀÎÁõ ¹æ½ÄÀ» Á¦°øÇÏ´Â Á¦»ïÀÚ°¡ + ¸¸µç ¸ðµâµéÀÌ ÀÖ´Ù.

+ +

¸¶Áö¸·À¸·Î Require + Áö½Ã¾î´Â ¼­¹öÀÇ Æ¯Á¤ ¿µ¿ª¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ ÁöÁ¤ÇÏ¿© + ±ÇÇѺο©¸¦ ÇÑ´Ù. ´ÙÀ½ ÀýÀº require Áö½Ã¾î¸¦ + »ç¿ëÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+
top
+
+

¿©·¯¸íÀ» µé¿©º¸³»±â

+

À§ÀÇ Áö½Ã¾î´Â µð·ºÅ丮·Î (»ç¿ëÀÚ¸íÀÌ rbowenÀÎ) + ÇÑ »ç¶÷¸¸À» µé¿©º¸³½´Ù. ´ëºÎºÐÀÇ °æ¿ì ¿©·¯ »ç¶÷À» µé¿©º¸³»°í + ½ÍÀ» °ÍÀÌ´Ù. ÀÌÁ¦ AuthGroupFileÀ» + »ç¿ëÇÒ ¶§´Ù.

+ +

¿©·¯ »ç¶÷À» µé¿©º¸³»°í ½Í´Ù¸é ±×·ì¸í°ú ±× ±×·ì¿¡ ¾î¶² + »ç¿ëÀÚµéÀÌ ÀÖ´ÂÁö ¾Ë·ÁÁÖ´Â ±×·ìÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ ÆÄÀÏÀÇ + Çü½ÄÀº ¸Å¿ì °£´ÜÇÏ¿©, ¾Æ¹« ÆíÁý±â·Î³ª ¸¸µé ¼ö ÀÖ´Ù. ÆÄÀϳ»¿ëÀº + ´ÙÀ½°ú °°´Ù.

+ +

+ GroupName: rbowen dpitts sungo rshersey +

+ +

±×³É °ø¹éÀ¸·Î ±¸ºÐÇÑ ±ä ±×·ì ±¸¼º¿ø ¸ñ·ÏÀÏ »ÓÀÌ´Ù.

+ +

±âÁ¸ÀÇ ¾ÏÈ£ÆÄÀÏ¿¡ »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù

+ +

+ htpasswd /usr/local/apache/passwd/passwords dpitts +

+ +

Àü°ú °°Áö¸¸, »õ·Î ÆÄÀÏÀ» ¸¸µéÁö ¾Ê°í ±âÁ¸ ÆÄÀÏ¿¡ »ç¿ëÀÚ¸¦ + Ãß°¡ÇÑ´Ù. (-c ¿É¼ÇÀº »õ·Î ¾ÏÈ£ÆÄÀÏÀ» ¸¸µç´Ù).

+ +

ÀÌÁ¦ .htaccess ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

+ +

+ AuthType Basic
+ AuthName "By Invitation Only"
+ AuthUserFile /usr/local/apache/passwd/passwords
+ AuthGroupFile /usr/local/apache/passwd/groups
+ Require group GroupName +

+ +

±×·¯¸é GroupName ±×·ì¿¡ ¼ÓÇϸç + password ÆÄÀÏ¿¡ Ç׸ñÀÌ ÀÖ´Â »ç¿ëÀÚ°¡ ¿Ã¹Ù¸¥ + ¾ÏÈ£¸¦ ÀÔ·ÂÇϸé Á¢±ÙÀ» Çã¿ëÇÑ´Ù.

+ +

¿©·¯ ÀÏ¹Ý »ç¿ëÀÚ¸¦ µé¿©º¸³»´Â ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù. ±×·ìÆÄÀÏÀ» + ¸¸µé ÇÊ¿ä¾øÀÌ ´ÙÀ½ Áö½Ã¾î¸¦ »ç¿ëÇϱ⸸ ÇÏ¸é µÈ´Ù.

+ +

+ Require valid-user +

+ +

Require user rbowen ´ë½Å ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇϸé + ¾ÏÈ£ÆÄÀÏ¿¡ ÀÖ´Â ´©±¸¶óµµ ¿Ã¹Ù¸¥ ¾ÏÈ£¸¦ ÀÔ·ÂÇϱ⸸ Çϸé Á¢±ÙÀ» + Çã¿ëÇÑ´Ù. ±×·ìº°·Î ´Ù¸¥ ¾ÏÈ£ÆÄÀÏÀ» »ç¿ëÇÏ¿© ±×·ì°ú ºñ½ÁÇÑ + È¿°ú¸¦ ¾òÀ» ¼öµµ ÀÖ´Ù. ÀÌ °æ¿ì ¾ÆÆÄÄ¡°¡ ÆÄÀÏ µÎ°³(¾ÏÈ£ÆÄÀÏ°ú + ±×·ìÆÄÀÏ)°¡ ¾Æ´Ñ ÆÄÀÏ ÇÑ°³(¾ÏÈ£ÆÄÀÏ)¸¸ °Ë»çÇÏ¸é µÈ´Ù´Â °ÍÀÌ + ÀåÁ¡ÀÌ´Ù. ±×·¯³ª ¿©·¯ ¾ÏÈ£ÆÄÀÏÀ» °ü¸®ÇØ¾ß ÇÏ°í, AuthUserFile Áö½Ã¾î¿¡ + Á¤È®ÇÑ ¾ÏÈ£ÆÄÀÏÀ» ÁöÁ¤ÇØ¾ß ÇÏ´Â °ÍÀº ´ÜÁ¡ÀÌ´Ù.

+
top
+
+

¹ß»ýÇÒ ¼ö ÀÖ´Â ¹®Á¦Á¡

+

Basic ÀÎÁõ ¹æ½ÄÀº ¼­¹ö¿¡¼­ ¹®¼­¸¦ ¿äûÇÒ ¶§¸¶´Ù »ç¿ëÀÚ¸í°ú + ¾ÏÈ£¸¦ È®ÀÎÇÑ´Ù. ½ÉÁö¾î °°Àº ÆäÀÌÁö¸¦ »õ·Î °íħÇÒ ¶§µµ ÆäÀÌÁö¿Í + (±×¸²ÀÌ ¾ÏÈ£·Î º¸È£ÇÏ´Â µð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì) ÆäÀÌÁö¿¡ ÀÖ´Â + ¸ðµç ±×¸²¿¡ ´ëÇØ ´Ù½Ã È®ÀÎÇÑ´Ù. ÁüÀÛÇϵíÀÌ ¼Óµµ°¡ Á¶±Ý ´À·ÁÁø´Ù. + ¾ÏÈ£ÆÄÀÏÀ» ¿­¾î¼­ »ç¿ëÀÚ¸íÀ» ãÀ» ¶§±îÁö »ç¿ëÀÚ ¸ñ·ÏÀ» »ìÆìºÁ¾ß + Çϱ⶧¹®¿¡ ¾ÏÈ£ÆÄÀÏ Å©±â°¡ Ä¿Áú ¼ö·Ï ´õ ´À·ÁÁø´Ù. ±×¸®°í + ÀÌ ÀÛ¾÷À» ÆäÀÌÁö¸¦ ¿äûÇÒ ¶§¸¶´Ù ÁøÇàÇÑ´Ù.

+ +

±×·¡¼­ Çö½ÇÀûÀ¸·Î ÇÑ ¾ÏÈ£ÆÄÀÏ¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¼ö¿¡´Â + ÇÑ°è°¡ ÀÖ´Ù. ÀÌ ÇÑ°è´Â »ç¿ëÇÏ´Â ¼­¹öÀÇ ¼º´É¿¡ µû¶ó ´Ù¸£Áö¸¸, + Ç׸ñÀÌ ¼ö¹é°³°¡ ³Ñ´Â´Ù¸é ´À·ÁÁø´Ù°í »ý°¢ÇÏ°í ´Ù¸¥ ÀÎÁõ ¹æ¹ýÀ» + °í·ÁÇØ¾ß ÇÑ´Ù.

+
top
+
+

´Ù¸¥ ¹æ¹ýµµ °¡´ÉÇÑ°¡?

+

»ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ »ç¿ëÇÑ ÀÎÁõÀÌ ´Ù°¡ ¾Æ´Ï´Ù. Á¾Á¾ Á¢¼ÓÇÑ + Àå¼Ò¿Í °°Àº ´Ù¸¥ Á¤º¸¸¦ °¡Áö°í »ç¿ëÀÚ¸¦ µé¿©º¸³»°í ½ÍÀ» + ¶§°¡ ÀÖ´Ù.

+ +

Allow¿Í + Deny Áö½Ã¾î´Â + ¹®¼­¸¦ ¿äûÇÑ ÄÄÇ»ÅÍÀÇ È£½ºÆ®¸í ȤÀº È£½ºÆ® ÁÖ¼Ò¸¦ °¡Áö°í + Á¢±ÙÀ» Çã¿ëÇϰųª °ÅºÎÇÑ´Ù. Order Áö½Ã¾î´Â ÀÌ µÎ + Áö½Ã¾î¿Í °°ÀÌ »ç¿ëÇÏ¿©, ¾ÆÆÄÄ¡¿¡°Ô ¾î¶² ¼ø¼­·Î ±ÔÄ¢À» Àû¿ëÇÒÁö + ¾Ë¸°´Ù.

+ +

À̵é Áö½Ã¾î »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.

+ +

+ Allow from address +

+ +

¿©±â¼­ address´Â IP ÁÖ¼Ò(ȤÀº IP ÁÖ¼Ò ÀϺÎ)³ª + ¿ÏÀüÇÑ µµ¸ÞÀθí(ȤÀº µµ¸ÞÀθí ÀϺÎ)ÀÌ´Ù. ¿øÇÑ´Ù¸é ¿©·¯ ÁÖ¼Ò³ª + µµ¸ÞÀθíÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¿¹¸¦ µé¾î, ´©±º°¡°¡ °Ô½ÃÆÇ¿¡ ±¤°í¸¦ ¿Ã¸®°í ÀÖ´Ù¸é ´ÙÀ½°ú + °°ÀÌ Á¢±ÙÀ» ¸·À» ¼ö ÀÖ´Ù.

+ +

+ Deny from 205.252.46.165 +

+ +

±× ÁÖ¼Ò¿¡¼­ µé¾î¿À´Â ¹æ¹®ÀÚ´Â ÀÌ Áö½Ã¾î°¡ º¸È£ÇÏ´Â ÆäÀÌÁö¸¦ + º¼ ¼ö ¾ø´Ù. IP ÁÖ¼Ò ´ë½Å ´ÙÀ½°ú °°ÀÌ ÄÄÇ»Å͸íÀ» »ç¿ëÇÒ ¼öµµ + ÀÖ´Ù.

+ +

+ Deny from host.example.com +

+ +

¶Ç, Àüü µµ¸ÞÀÎÀÇ Á¢±ÙÀ» ¸·À¸·Á¸é ÁÖ¼Ò³ª µµ¸ÞÀθíÀÇ ÀϺθ¦ + »ç¿ëÇÑ´Ù.

+ +

+ Deny from 192.101.205
+ Deny from cyberthugs.com moreidiots.com
+ Deny from ke +

+ +

Order¸¦ + Deny¿Í Allow Áö½Ã¾î¿Í °°ÀÌ + »ç¿ëÇÏ¿© ½ÇÁ¦·Î ¿øÇÏ´Â ´ë»óÀ» ¸·À» ¼ö ÀÖ´Ù.

+ +

+ Order deny,allow
+ Deny from all
+ Allow from dev.example.com +

+ +

Allow + Áö½Ã¾î¸¸ »ç¿ëÇϸé, ÇØ´ç È£½ºÆ®ÀÇ »ç¿ëÀÚ¸¦ Çã¿ëÇÏ°í °Å±â¿¡ + Ãß°¡·Î ¸ðµç »ç¶÷À» Çã¿ëÇϹǷΠ¿øÇÏ´Â °á°ú¸¦ ¾òÁö ¸øÇÑ´Ù. + ´ç½ÅÀº ƯÁ¤ »ç¶÷¸¸ Çã¿ëÇÏ±æ ¿øÇÑ´Ù.

+
top
+
+

´õ ¸¹Àº Á¤º¸

+

mod_auth_basic°ú + mod_authz_host ¹®¼­¿¡ Á¢±ÙÁ¦¾î°¡ µ¿ÀÛÇÏ´Â + ¹æ¹ý¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸°¡ ÀÖ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/auth.html.tr.utf8 b/docs/manual/howto/auth.html.tr.utf8 new file mode 100644 index 0000000..fda3281 --- /dev/null +++ b/docs/manual/howto/auth.html.tr.utf8 @@ -0,0 +1,639 @@ + + + + + +Kimlik Doğrulama ve Yetkilendirme - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Kimlik DoÄŸrulama ve Yetkilendirme

+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir. + Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye + ulaşacaklarına müsaade edilmesi işlemidir.

+ +

Genel erişim denetimi için Erişim Denetimi + Nasıl belgesine bakınız.

+
+ +
top
+
+

İlgili modüller ve Yönergeler

+ +

Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül + vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.

+ + + +

Bu modüllere ek olarak, mod_authn_core ve + mod_authz_core modülleri bulunur. Bu modüller + yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri + gerçekler.

+ +

mod_authnz_ldap modülü kimlik doğrulama ve + yetkilendirme işlemlerinin ikisini birden gerçekleştirir. + mod_authz_host modülü bu işlemleri sunucu adına, IP + adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir. + Ancak kimlik doğrulama sisteminin bir parçası değildir. + mod_access ile geriye uyumluluk için + mod_access_compat diye bir modül daha vardır.

+ +

Muhtemelen göz atmak isteyeceğiniz Erişim + Denetimi nasıl belgesi, sunucuya erişimlerin çeşitli yollarından + bahsetmektedir.

+
top
+
+

GiriÅŸ

+

Sitenizde sadece küçük bir grup insana hitap eden ya da hassas + bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz + kişilerin sadece dilediğiniz sayfaları görüntülemesini + sağlayabilirsiniz.

+ +

Bu makale sitenizin bazı parçalarını korumak için kullanacağınız + "standart" yolları içermektedir.

+ +

Bilginize:

+

Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik + doğrulamasına ilaveten mod_ssl modülünü de + kullanabilirsiniz.

+
+ +
top
+
+

Ön gereksinimler

+ +

Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma + dosyasında (genellikle <Directory> bölümünde) ya da dizin içi + yapılandırma dosyalarında (.htaccess dosyaları) + bulunmak zorundadır.

+ +

Eğer .htaccess dosyalarını kullanmayı + tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine + koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır. + Bunun için, dizin içi yapılandırma dosyalarının içine hangi + yönergelerin konacağını belirleyen AllowOverride yönergesi kullanılır.

+ +

Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen + şekilde bir AllowOverride yönergesine ihtiyacınız olacaktır:

+ +
AllowOverride AuthConfig
+ + +

Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına + koyacaksanız bu dosyaya yazma izniniz olmalıdır.

+ +

Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin + yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da + zor olmamakla birlikte bu noktaya gelindiğinde konuyu + netleştireceğiz.

+ +

Ayrıca mod_authn_core ve + mod_authz_core modülleri ya httpd + çalıştırılabilirinin içinde derlenmiş olmalı ya da + httpd.conf yapılandırma dosyası ile yüklenmelidir. Bu + iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme + kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri + ve işlevselliği sağlar.

+ +
top
+
+

Çalışmaya Başlama

+

Burada, sunucu üzerindeki bir dizini parolayla korumak için + gereken temel bilgiler verilecektir.

+ +

İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl + yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre + değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız. + Başlangıç için parolaları bir metin dosyasında tutacağız.

+ +

Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları + parola dosyasını indiremezler. Örneğin belgeleriniz + /usr/local/apache/htdocs üzerinden sunuluyorsa parola + dosyanızı /usr/local/apache/passwd dizininde + tutabilirsiniz.

+ +

Dosyayı oluşturmak için Apache ile gelen + htpasswd uygulamasını kullanacağız. Bu uygulama + Apache'nin kurulumunda belirtilen bin dizininde + bulunur. Eğer Apache'yi üçüncü parti paketlerden kurduysanız, + çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.

+ +

Bir dosya oluşturmak için şunları yazın:

+ +

+ htpasswd -c /usr/local/apache/passwd/passwords umut +

+ +

htpasswd size parola soracaktır arkasından da + teyit etmek için parolayı tekrar girmenizi isteyecektir:

+ +

+ # htpasswd -c /usr/local/apache/passwd/passwords umut
+ New password: parolam
+ Re-type new password: parolam
+ Adding password for user umut +

+ +

Eğer htpasswd normal yollar üzerinde değilse + çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz + gerekecektir. Dosyanın öntanımlı kurulum yeri: + /usr/local/apache2/bin/htpasswd

+ +

Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim + izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi + httpd.confdosyasını düzenleyerek ya da bir + .htaccess dosyası kullanarak yapabilirsiniz. Örneğin, + /usr/local/apache/htdocs/secret dizinini korumayı + amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri + /usr/local/apache/htdocs/secret/.htaccess dosyası içine + veya httpd.conf içindeki <Directory + "/usr/local/apache/htdocs/secret"> bölümüne koyabilirsiniz.

+ +
AuthType Basic
+AuthName "Gizli Dosyalar"
+# (Aşağıdaki satırın kullanımı isteğe bağlıdır)
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+Require user umut
+ + +

Bu yönergeleri tek tek inceleyelim. + AuthType yönergesi + kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En + çok kullanılan yöntem Basic'tir ve bu yöntem + mod_auth_basic modülüyle gerçeklenmiştir. Temel + (Basic) kimlik doğrulamasıyla gönderilen parolanın + şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı + mod_ssl eşliğinde kullanılmadığı sürece yüksek + hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka + kimlik doğrulama yöntemini daha destekler: AuthType + Digest. Bu yöntem mod_auth_digest tarafından + gerçeklenmişti ve çok daha güvenli olacağı düşünülmüştü. Bu artık + geçerliliğini yitirdiğinden bağlantının bundan böyle + mod_ssl ile şifrelenmesi gerekmektedir.

+ +

AuthName yönergesi + ile kimlik doğrulamada kullanılacak Saha da + belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır. + Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog + kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik + doğrulamalı alan için gönderilecek parolayı belirlerken istemci + tarafından kullanılır.

+ +

Örneğin, bir istemcinin "Gizli Dosyalar" alanında + kimliği doğrulanmış olsun. Aynı sunucu üzerinde "Gizli + Dosyalar" Sahası olarak belirlenmiş alanlarda aynı parola + özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek + aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak + gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı, + her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması + gerekir.

+ +

AuthBasicProvider + yönergesinin öntanımlı değeri file olduğundan, bu + durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik + doğrulaması için mod_authn_dbm ya da + mod_authn_dbd gibi farklı bir kaynak seçecekseniz + bu yönergeyi kullanmanız gerekecektir.

+ +

AuthUserFile + yönergesi htpasswd ile oluşturduğumuz parola + dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda + kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği + için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş + olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı + dosyasında depolama özelliğine de sahiptir. Bu amaçla, + mod_authn_dbm modülünün + AuthDBMUserFile + yönergesi kullanılabilir. Bu dosyalar dbmmanage ve + htdbm programı ile oluşturulabilir ve değiştirilebilir. + Üçüncü parti modüllerinde çok sayıda + başka kimlik doğrulama türü de vardır.

+ +

Son olarak Require + yönergesi, sunucunun bu bölgesine erişimine izin verilen + kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili + kısmını sağlar. Bir sonraki bölümde Require yönergesini kullanmanın + çeşitli yoları üzerinde duracağız.

+
top
+
+

Birden çok kişiye izin vermek

+ +

Yukarıdaki yönergelerle bir dizinde sadece bir kişiye + (umut adlı kullanıcıya) izin verir. Çoğunlukla birden + çok kişiye izin verilmesi istenir. Bu durumda AuthGroupFile yönergesi + devreye girer.

+ +

Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı + isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın + biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile + oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi + görünecektir:

+ +

+ GroupName: umut samet engin kubilay +

+ +

Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin + isimlerinden oluşan uzun bir liste içerir.

+ +

Varolan parola dosyasına bir kullanıcı eklemek için şunu + yazın:

+ +

+ htpasswd /usr/local/apache/passwd/passwords birey +

+ +

Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni + bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir. + (Yeni bir parola dosyası oluşturmak için -c seçeneği + kullanılır).

+ +

Şimdi, .htaccess dosyanızı veya + <Directory> bölümünüzü + aşağıda görüldüğü şekilde değiştirebilirsiniz:

+ +
AuthType Basic
+AuthName "Davete Binaen"
+# Satır isteğe bağlıdır:
+AuthBasicProvider file
+AuthUserFile "/usr/local/apache/passwd/passwords"
+AuthGroupFile "/usr/local/apache/passwd/groups"
+Require group Grupismi
+ + +

Artık, Grupismi gurubunda listelenmiş ve + password dosyasında kaydı olan kişiye, parolayı doğru + yazdığı takdirde izin verilecektir.

+ +

Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir + yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi + kullanabilirsiniz:

+ +
Require valid-user
+ + +

Require user umut satırı ile parola dosyasında + listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin + vermektense, her grup için ayrı bir parola dosyası tutarak grup + davranışını taklit edebilirsiniz.

+ +
top
+
+

Olası Sorunlar

+

Temel kimlik doğrulama yolu belirtildiği için, sunucuya + yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın + doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da + sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan + bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama + miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu + işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz + bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her + yüklenişinde tekrar edilecektir.

+ +

Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı + sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun + başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın + üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu + anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.

+ +
top
+
+

Diğer parola depolama yöntemleri

+ +

Parolaları basit bir metin dosyasında depolamak yukarıda + bahsedilen sorunlara yol açtığından parolaları başka bir yerde + depolamayı düşünebilirsiniz; örneğin bir veritabanında.

+ +

mod_authn_dbm ve mod_authn_dbd + modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak + AuthBasicProvider file yerine, dbm + veya dbd kullanabilirsiniz.

+ +

Bir metin dosyası yerine bir dbm dosyası kullanım örneği:

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider dbm
+    AuthDBMUserFile "/www/passwords/passwd.dbm"
+    Require valid-user
+</Directory>
+ + +

Başka seçenekler de mümkündür. Ayrınılar için + mod_authn_dbm belgesine başvurun.

+ +
top
+
+

Birden çok tedarikçi kullanmak

+ +

Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni + tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama + yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi + ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki + örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir + arada kullanılmıştır.

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file ldap
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    Require valid-user
+</Directory>
+ + +

Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini + doğrulamaya teşebbüs edecektir. Kullanıcının kimliği + doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden + çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik + doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik + kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması + ile birden fazla yetkilendirme türüne izin verebilir.

+ +

Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği + gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte + dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması + kullanılmıştır.

+ +
<Directory "/www/docs/private">
+    AuthName "Private"
+    AuthType Basic
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    AuthLDAPURL ldap://ldaphost/o=yourorg
+    AuthGroupFile "/usr/local/apache/passwd/groups"
+    Require group GroupName
+    Require ldap-group cn=mygroup,o=yourorg
+</Directory>
+ + +

Kimlik doğrulama konusunu biraz daha genişletirsek, <RequireAll> ve + <RequireAny> gibi yetkilendirme taşıyıcısı + yönergelerle hangi iznin hangi sırayla uygulanacağını + belirlenebilir. Yetkilendirme Taşıyıcıları bölümünde bunun bir uygulama + örneğini görebilirsiniz.

+ +
top
+
+

Yetkilendirmenin biraz ötesi

+

Tek bir veri deposundan yapılacak tek bir sınamadan çok daha + esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi + kimlik doğrulamasının kullanılacağını seçmek mümkündür.

+ +

Mantık ve sıralamanın uygulanması

+ +

Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl + denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de, + tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl + kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden + ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik + doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün + kendi yükleme sırasından bağımsız olarak özel bir sırayla + çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı + yetkilendirmeye de getirilmiştir. Bunun anlamı Require yönergesinde hangi + izin yönteminin kullanılması gerektiğinin belirtmesinin yanında + hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok + sayıda yetkilendirme yöntemi kullanıldığında, bunlar, Require yönergelerinin + yapılandırma dosyasında göründükleri sıra ile çağırılır.

+ +

<RequireAll> ve <RequireAny> gibi yetkilendirme + taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme + yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime + izin verirken hangi kuralların uygulanacağı konusunda denetim + yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını + ifade etmek için kullanılan bir örneği görmek için + Yetkilendirme + Taşıyıcıları bölümüne bakınız.

+ +

Öntanımlı olarak tüm + Require yönergeleri, <RequireAny> + taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer + belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı + olursa yetkilendirme de sağlanmış olur.

+ + + +

Erişim denetimi için yetkilendirme tedarikçilerinin + kullanımı

+ +

Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin + sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre + değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden + geldikleri gibi.

+ +

all, env, host ve + ip gibi yetkilendirme tedarikçileri ile, bir belgenin + istendiği makinenin IP adresi veya konak ismi gibi bazı özelliklerine + dayalı olarak erişime izin verip vermeyeceğinizi belirtebilirsiniz.

+ +

Bu tedarikçilerin kullanımı Require yönergesinde açıklanmıştır. Bu yönergeler, + isteklerin işlenmesi sırasında yetkilendirme aşamasında + çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin: +

+ +
Require ip adres
+      
+ + +

Burada, adres bir IP adresidir (veya kısmi bir IP + addresidir)

+ +
Require host alan_adı
+      
+ + +

Burada, alan_adı bir tam nitelikli alan adıdır + (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP + adresi de belirtilebilir.

+ +

Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak + tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları + yapabilirsiniz:

+ +
<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+ + +

Bu adresden gelen ziyaretçiler bu yönergedeki içeriği + göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de + makine adı varsa şunu kullanabilirsiniz:

+ +
<RequireAll>
+    Require all granted
+    Require not host host.example.com
+</RequireAll>
+ + +

Eğer alan adının tamanıdan gelecek olan bütün erişimleri + engellemek isterseniz adresin ya da alan adının bir parçasını + belirtin:

+ +
<RequireAll>
+    Require all granted
+    Require not ip 192.168.205
+    Require not host phishers.example.com moreidiots.example
+    Require not host ke
+</RequireAll>
+ + +

<RequireAll> yönergesini çok sayıda + <Require> yönergesi ile birlikte kullanarak, + sadece not ile olumsuzlanan tüm koşulları gerçekleyen + bağlantılara erişim verilir. Başka bir deyişle, olumsuzlanan koşulları + gerçeklemeyen bağlantıların erişimi engellenir.

+ + + +

EriÅŸim denetimi ve geriye uyumluluk

+ +

Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının + yan etkilerinden birisi, + Order, + Allow, + Deny ve + Satisfy erişim + denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski + yapılandırmalarla uyumluluğu sağlamak için bu yönergeler + mod_access_compat modülüne taşınmıştır.

+ +

Note

+

mod_access_compat ile sağlanan yönergelerin + kullanımı artık önerilmemekte, mod_authz_host + modülündeki yönergeler önerilmektedir. Order, Allow veya Deny ile + Require gibi daha yeni + olanlarının yenilerle karışık kullanımı teknik olarak mümkünse de + önerilmemektedir. mod_access_compat modülü, 2.4 + yükseltmesini kolaylaştırmak için sadece eski yönergeleri içeren + yapılandırmaları desteklemek üzere oluşturulmuştur. Daha ayrıntılı + bilgi için yükseltme belgesine bakınız. +

+
+ + +
top
+
+

Kimlik DoÄŸrulama ArabelleÄŸi

+

Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul + edilemez yükler oluşturur. Bu çoğunlukla mod_authn_dbd + (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla + ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün + sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı + olarak mod_authn_socache modülü ile gelmektedir.

+

Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.

+
top
+
+

Daha fazla bilgi

+

Daha fazla bilgi için mod_auth_basic ve + mod_authz_host modüllerinin belgelerine bakınız. + AuthnProviderAlias + yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.

+ +

Apache tarafından desteklenen şifrelerle ilgili bilgi için Parola Biçemleri + belgesine bakınız.

+ +

Erişim Denetimi nasıl belgesinden de + bazı bilgiler edinebilirsiniz.

+
+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/cgi.html b/docs/manual/howto/cgi.html new file mode 100644 index 0000000..81f1cfc --- /dev/null +++ b/docs/manual/howto/cgi.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: cgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: cgi.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: cgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: cgi.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: cgi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/howto/cgi.html.en b/docs/manual/howto/cgi.html.en new file mode 100644 index 0000000..ef5d866 --- /dev/null +++ b/docs/manual/howto/cgi.html.en @@ -0,0 +1,601 @@ + + + + + +Apache Tutorial: Dynamic Content with CGI - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache Tutorial: Dynamic Content with CGI

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko 

+
+
+ +
top
+
+

Introduction

+ + + + +

The CGI (Common Gateway Interface) defines a way for a web + server to interact with external content-generating programs, + which are often referred to as CGI programs or CGI scripts. It + is a simple way to put dynamic content on + your web site, using whatever programming language you're most + familiar with. This document will be an introduction to setting + up CGI on your Apache web server, and getting started writing + CGI programs.

+
top
+
+

Configuring Apache to permit CGI

+ + +

In order to get your CGI programs to work properly, you'll + need to have Apache configured to permit CGI execution. There + are several ways to do this.

+ +
Note: If Apache has been built with shared module + support you need to ensure that the module is loaded; in your + httpd.conf you need to make sure the + LoadModule + directive has not been commented out. A correctly configured directive + may look like this: + +
LoadModule cgid_module modules/mod_cgid.so
+ + + + On Windows, or using a non-threaded MPM like prefork, A correctly + configured directive may look like this: + +
LoadModule cgi_module modules/mod_cgi.so
+
+ + +

ScriptAlias

+ + +

The + ScriptAlias + + directive tells Apache that a particular directory is set + aside for CGI programs. Apache will assume that every file in + this directory is a CGI program, and will attempt to execute + it, when that particular resource is requested by a + client.

+ +

The ScriptAlias + directive looks like:

+ +
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+ + +

The example shown is from your default httpd.conf + configuration file, if you installed Apache in the default + location. The ScriptAlias + directive is much like the Alias directive, which defines a URL prefix that + is to mapped to a particular directory. Alias + and ScriptAlias are usually used for + directories that are outside of the DocumentRoot directory. The difference between + Alias and ScriptAlias + is that ScriptAlias has the added meaning + that everything under that URL prefix will be considered a CGI + program. So, the example above tells Apache that any request for a + resource beginning with /cgi-bin/ should be served from + the directory /usr/local/apache2/cgi-bin/, and should be + treated as a CGI program.

+ +

For example, if the URL + http://www.example.com/cgi-bin/test.pl + is requested, Apache will attempt to execute the file + /usr/local/apache2/cgi-bin/test.pl + and return the output. Of course, the file will have to + exist, and be executable, and return output in a particular + way, or Apache will return an error message.

+ + +

CGI outside of ScriptAlias directories

+ + +

CGI programs are often restricted to ScriptAlias'ed directories for security reasons. + In this way, administrators can tightly control who is allowed to + use CGI programs. However, if the proper security precautions are + taken, there is no reason why CGI programs cannot be run from + arbitrary directories. For example, you may wish to let users + have web content in their home directories with the + UserDir directive. + If they want to have their own CGI programs, but don't have access to + the main cgi-bin directory, they will need to be able to + run CGI programs elsewhere.

+ +

There are two steps to allowing CGI execution in an arbitrary + directory. First, the cgi-script handler must be + activated using the AddHandler or SetHandler directive. Second, + ExecCGI must be specified in the Options directive.

+ + +

Explicitly using Options to permit CGI execution

+ + +

You could explicitly use the Options directive, inside your main server configuration + file, to specify that CGI execution was permitted in a particular + directory:

+ +
<Directory "/usr/local/apache2/htdocs/somedir">
+    Options +ExecCGI
+</Directory>
+ + +

The above directive tells Apache to permit the execution + of CGI files. You will also need to tell the server what + files are CGI files. The following AddHandler directive tells the server to treat all + files with the cgi or pl extension as CGI + programs:

+ +
AddHandler cgi-script .cgi .pl
+ + + +

.htaccess files

+ + +

The .htaccess tutorial + shows how to activate CGI programs if you do not have + access to httpd.conf.

+ + +

User Directories

+ + +

To allow CGI program execution for any file ending in + .cgi in users' directories, you can use the + following configuration.

+ +
<Directory "/home/*/public_html">
+    Options +ExecCGI
+    AddHandler cgi-script .cgi
+</Directory>
+ + +

If you wish designate a cgi-bin subdirectory of + a user's directory where everything will be treated as a CGI + program, you can use the following.

+ +
<Directory "/home/*/public_html/cgi-bin">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + + + +
top
+
+

Writing a CGI program

+ + +

There are two main differences between ``regular'' + programming, and CGI programming.

+ +

First, all output from your CGI program must be preceded by + a MIME-type header. This is HTTP header that tells the client + what sort of content it is receiving. Most of the time, this + will look like:

+ +

+ Content-type: text/html +

+ +

Secondly, your output needs to be in HTML, or some other + format that a browser will be able to display. Most of the + time, this will be HTML, but occasionally you might write a CGI + program that outputs a gif image, or other non-HTML + content.

+ +

Apart from those two things, writing a CGI program will look + a lot like any other program that you might write.

+ +

Your first CGI program

+ + +

The following is an example CGI program that prints one + line to your browser. Type in the following, save it to a + file called first.pl, and put it in your + cgi-bin directory.

+ +
#!/usr/bin/perl
+print "Content-type: text/html\n\n";
+print "Hello, World.";
+ + +

Even if you are not familiar with Perl, you should be able + to see what is happening here. The first line tells Apache + (or whatever shell you happen to be running under) that this + program can be executed by feeding the file to the + interpreter found at the location /usr/bin/perl. + The second line prints the content-type declaration we + talked about, followed by two carriage-return newline pairs. + This puts a blank line after the header, to indicate the end + of the HTTP headers, and the beginning of the body. The third + line prints the string "Hello, World.". And that's the end + of it.

+ +

If you open your favorite browser and tell it to get the + address

+ +

+ http://www.example.com/cgi-bin/first.pl +

+ +

or wherever you put your file, you will see the one line + Hello, World. appear in your browser window. + It's not very exciting, but once you get that working, you'll + have a good chance of getting just about anything working.

+ +
top
+
+

But it's still not working!

+ + +

There are four basic things that you may see in your browser + when you try to access your CGI program from the web:

+ +
+
The output of your CGI program
+
Great! That means everything worked fine. If the output is correct, + but the browser is not processing it correctly, make sure you have the + correct Content-Type set in your CGI program.
+ +
The source code of your CGI program or a "POST Method Not + Allowed" message
+
That means that you have not properly configured Apache + to process your CGI program. Reread the section on + configuring + Apache and try to find what you missed.
+ +
A message starting with "Forbidden"
+
That means that there is a permissions problem. Check the + Apache error log and the section below on + file permissions.
+ +
A message saying "Internal Server Error"
+
If you check the + Apache error log, you will probably + find that it says "Premature end of + script headers", possibly along with an error message + generated by your CGI program. In this case, you will want to + check each of the below sections to see what might be + preventing your CGI program from emitting the proper HTTP + headers.
+
+ +

File permissions

+ + +

Remember that the server does not run as you. That is, + when the server starts up, it is running with the permissions + of an unprivileged user - usually nobody, or + www - and so it will need extra permissions to + execute files that are owned by you. Usually, the way to give + a file sufficient permissions to be executed by nobody + is to give everyone execute permission on the file:

+ +

+ chmod a+x first.pl +

+ +

Also, if your program reads from, or writes to, any other + files, those files will need to have the correct permissions + to permit this.

+ + + +

Path information and environment

+ + +

When you run a program from your command line, you have + certain information that is passed to the shell without you + thinking about it. For example, you have a PATH, + which tells the shell where it can look for files that you + reference.

+ +

When a program runs through the web server as a CGI program, + it may not have the same PATH. Any programs that you + invoke in your CGI program (like sendmail, for + example) will need to be specified by a full path, so that the + shell can find them when it attempts to execute your CGI + program.

+ +

A common manifestation of this is the path to the script + interpreter (often perl) indicated in the first + line of your CGI program, which will look something like:

+ +
#!/usr/bin/perl
+ + +

Make sure that this is in fact the path to the + interpreter.

+
+ When editing CGI scripts on Windows, end-of-line characters may be + appended to the interpreter path. Ensure that files are then + transferred to the server in ASCII mode. Failure to do so may + result in "Command not found" warnings from the OS, due to the + unrecognized end-of-line character being interpreted as a part of + the interpreter filename. +
+ + +

Missing environment variables

+ + +

If your CGI program depends on non-standard environment variables, you will need to + assure that those variables are passed by Apache.

+ +

When you miss HTTP headers from the environment, make + sure they are formatted according to + RFC 2616, + section 4.2: Header names must start with a letter, + followed only by letters, numbers or hyphen. Any header + violating this rule will be dropped silently.

+ + + +

Program errors

+ + +

Most of the time when a CGI program fails, it's because of + a problem with the program itself. This is particularly true + once you get the hang of this CGI stuff, and no longer make + the above two mistakes. The first thing to do is to make + sure that your program runs from the command line before + testing it via the web server. For example, try:

+ +

+ cd /usr/local/apache2/cgi-bin
+ ./first.pl +

+ +

(Do not call the perl interpreter. The shell + and Apache should find the interpreter using the path information on the first line of + the script.)

+ +

The first thing you see written by your program should be + a set of HTTP headers, including the Content-Type, + followed by a blank line. If you see anything else, Apache will + return the Premature end of script headers error if + you try to run it through the server. See Writing a CGI program above for more + details.

+ + +

Error logs

+ + +

The error logs are your friend. Anything that goes wrong + generates message in the error log. You should always look + there first. If the place where you are hosting your web site + does not permit you access to the error log, you should + probably host your site somewhere else. Learn to read the + error logs, and you'll find that almost all of your problems + are quickly identified, and quickly solved.

+ + +

Suexec

+ + +

The suexec support program + allows CGI programs to be run under different user permissions, + depending on which virtual host or user home directory they are + located in. Suexec has very strict permission checking, and any + failure in that checking will result in your CGI programs + failing with Premature end of script headers.

+ +

To check if you are using suexec, run apachectl + -V and check for the location of SUEXEC_BIN. + If Apache finds an suexec binary there on startup, + suexec will be activated.

+ +

Unless you fully understand suexec, you should not be using it. + To disable suexec, simply remove (or rename) the suexec + binary pointed to by SUEXEC_BIN and then restart the + server. If, after reading about suexec, + you still wish to use it, then run suexec -V to find + the location of the suexec log file, and use that log file to + find what policy you are violating.

+ +
top
+
+

What's going on behind the scenes?

+ + +

As you become more advanced in CGI programming, it will + become useful to understand more about what's happening behind + the scenes. Specifically, how the browser and server + communicate with one another. Because although it's all very + well to write a program that prints "Hello, World.", it's not + particularly useful.

+ +

Environment variables

+ + +

Environment variables are values that float around you as + you use your computer. They are useful things like your path + (where the computer searches for the actual file + implementing a command when you type it), your username, your + terminal type, and so on. For a full list of your normal, + every day environment variables, type + env at a command prompt.

+ +

During the CGI transaction, the server and the browser + also set environment variables, so that they can communicate + with one another. These are things like the browser type + (Netscape, IE, Lynx), the server type (Apache, IIS, WebSite), + the name of the CGI program that is being run, and so on.

+ +

These variables are available to the CGI programmer, and + are half of the story of the client-server communication. The + complete list of required variables is at + Common Gateway + Interface RFC.

+ +

This simple Perl CGI program will display all of the + environment variables that are being passed around. Two + similar programs are included in the + cgi-bin + + directory of the Apache distribution. Note that some + variables are required, while others are optional, so you may + see some variables listed that were not in the official list. + In addition, Apache provides many different ways for you to + add your own environment variables + to the basic ones provided by default.

+ +
#!/usr/bin/perl
+use strict;
+use warnings;
+
+print "Content-type: text/html\n\n";
+foreach my $key (keys %ENV) {
+    print "$key --> $ENV{$key}<br>";
+}
+ + + +

STDIN and STDOUT

+ + +

Other communication between the server and the client + happens over standard input (STDIN) and standard + output (STDOUT). In normal everyday context, + STDIN means the keyboard, or a file that a + program is given to act on, and STDOUT + usually means the console or screen.

+ +

When you POST a web form to a CGI program, + the data in that form is bundled up into a special format + and gets delivered to your CGI program over STDIN. + The program then can process that data as though it was + coming in from the keyboard, or from a file

+ +

The "special format" is very simple. A field name and + its value are joined together with an equals (=) sign, and + pairs of values are joined together with an ampersand + (&). Inconvenient characters like spaces, ampersands, and + equals signs, are converted into their hex equivalent so that + they don't gum up the works. The whole data string might look + something like:

+ +

+ name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +

+ +

You'll sometimes also see this type of string appended to + a URL. When that is done, the server puts that string + into the environment variable called + QUERY_STRING. That's called a GET + request. Your HTML form specifies whether a GET + or a POST is used to deliver the data, by setting the + METHOD attribute in the FORM tag.

+ +

Your program is then responsible for splitting that string + up into useful information. Fortunately, there are libraries + and modules available to help you process this data, as well + as handle other of the aspects of your CGI program.

+ +
top
+
+

CGI modules/libraries

+ + +

When you write CGI programs, you should consider using a + code library, or module, to do most of the grunt work for you. + This leads to fewer errors, and faster development.

+ +

If you're writing CGI programs in Perl, modules are + available on CPAN. The most + popular module for this purpose is CGI.pm. You might + also consider CGI::Lite, which implements a minimal + set of functionality, which is all you need in most programs.

+ +

If you're writing CGI programs in C, there are a variety of + options. One of these is the CGIC library, from + https://web.mit.edu/wwwdev/www/cgic.html.

+
top
+
+

For more information

+ + +

The current CGI specification is available in the + Common Gateway + Interface RFC.

+ +

When you post a question about a CGI problem that you're + having, whether to a mailing list, or to a newsgroup, make sure + you provide enough information about what happened, what you + expected to happen, and how what actually happened was + different, what server you're running, what language your CGI + program was in, and, if possible, the offending code. This will + make finding your problem much simpler.

+ +

Note that questions about CGI problems should never + be posted to the Apache bug database unless you are sure you + have found a problem in the Apache source code.

+
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/cgi.html.es b/docs/manual/howto/cgi.html.es new file mode 100644 index 0000000..bfaebd7 --- /dev/null +++ b/docs/manual/howto/cgi.html.es @@ -0,0 +1,619 @@ + + + + + +Tutorial de Apache: Contenido Dinámico con CGI - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Tutorial de Apache: Contenido Dinámico con CGI

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+
+ +
top
+
+

Introducción

+ + + +

CGI (Common Gateway Interface) es un método por el cual + un servidor web puede interactuar con programas externos de + generación de contenido, a ellos nos referimos comúnmente como + programas CGI o scripts CGI. Es el método más común y sencillo de + mostrar contenido dinámico en su sitio web. Este documento es una + introducción para configurar CGI en su servidor web Apache, y de + iniciación para escribir programas CGI.

+
top
+
+

Configurando Apache para permitir CGI

+ + +

Para conseguir que sus programas CGI funcionen correctamente, + deberá configurar Apache para que permita la ejecución de CGI. Hay + distintas formas de hacerlo.

+ +
Nota: Si Apache ha sido compilado con soporte + de módulos compartidos, necesitará que el módulo de CGI esté cargado; + en su httpd.conf tiene que asegurarse de que la directiva + LoadModule + no ha sido comentada. Una directiva configurada correctamente sería así: + +
LoadModule cgid_module modules/mod_cgid.so
+ + + En Windows, o si usa un mpm que no es multihilo, como prefork, una + directiva configurada correctamente podría definirse así: + +
LoadModule cgi_module modules/mod_cgi.so
+
+ +

ScriptAlias

+ + +

La directiva + ScriptAlias + indica a Apache que un directorio se ha configurado específicamente + para programas CGI. Apache asumirá que cada fichero en este + directorio es un programa CGI, e intentará ejecutarlos cuando un + cliente solicita este recurso.

+ +

La directiva + ScriptAlias se puede + definir así:

+ +
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+ + +

El ejemplo que se muestra es de un archivo de configuración + httpd.conf por defecto si usted instaló Apache + en la ubicación por defecto. La directiva + ScriptAlias es muy + parecida a la directiva Alias, + ésta define un prefijo de URL que se enlaza a un directorio + en particular. Alias y + ScriptAlias se usan generalmente para + directorios que se encuentran fuera del directorio + DocumentRoot. La diferencia + entre Alias y ScriptAlias + es que en ScriptAlias cualquier elemento + debajo de ese prefijo de URL será considerado un programa CGI. Así, + el ejemplo de más arriba le indica a Apache que + cualquier solicitud para un recurso que comience con + /cgi-bin/ debería servirse desde el directorio + /usr/local/apache2/cgi-bin/, y debería tratarse como un + programa CGI.

+ +

Por ejemplo, si se solicita la URL + http://www.example.com/cgi-bin/test.pl, + Apache intentará ejecutar el archivo + /usr/local/apache2/cgi-bin/test.pl y dar + el resultado. Por supuesto el archivo debe existir y ser ejecutable, + y dar el resultado de una manera específica o Apache devolverá + un mensaje de error.

+ + +

CGI fuera de directorios ScriptAlias

+ + +

Los programas CGI habitualmente se restringen a los directorios de + ScriptAlias por razones de + seguridad. De esta manera, los administradores pueden controlar de una + manera más segura quien puede ejecutar programas CGI. Aun así, si no + se toman suficientes precauciones, no hay ninguna razón por la que + programas CGI no se puedan ejecutar desde directorios seleccionados de + manera arbitraria. Por ejemplo, quizás quiera permitir que usuarios del + sistema tengan contenido web en sus directorios home con la directiva + UserDir. Si quieren + tener sus propios programas CGI, pero no tienen acceso al directorio + principal cgi-bin, necesitarán ser capaces de + ejecutar sus scripts CGI en algún otro sitio.

+ +

Hay dos pasos a seguir para permitir la ejecución CGI en directorios + seleccionados de manera arbitraria. Primero, el handler + cgi-script debe estar activado usando la directiva + AddHandler o la directiva + SetHandler. Segundo, el parámetro + ExecCGI debe estar definido en la directiva + Options.

+ + +

Usando Options de manera explícita para permitir ejecución de + CGI

+ + +

Puede usar la directiva + Options, en el archivo de + configuración principal para especificar que se permite la ejecución + de CGI en un directorio en particular:

+ +
<Directory "/usr/local/apache2/htdocs/somedir">
+    Options +ExecCGI
+</Directory>
+ + +

Esta directiva de aquí arriba le indica a Apache que debe + permitir la ejecución de archivos CGI. También necesitará indicarle + al servidor que los archivos son archivos CGI. La directiva + AddHandler le indica al + servidor que debe tratar a todos los archivos con la extensión + cgi o pl como programas CGI:

+ +
AddHandler cgi-script .cgi .pl
+ + + +

Ficheros .htaccess

+ + +

El tutorial .htaccess + enseña como activar programas CGI si no tienes acceso a + httpd.conf.

+ + +

Directorios de Usuario

+ + +

Para permitir la ejecución de programas CGI para cualquier + archivo que acabe en .cgi en directorios de usuario, + puedes usar la siguiente configuración:

+ +
<Directory "/home/*/public_html">
+    Options +ExecCGI
+    AddHandler cgi-script .cgi
+</Directory>
+ + +

Si quiere designar un subdirectorio cgi-bin dentro + de un directorio de usuario en el que todos los ficheros serán + tratados como un programa CGI, puede usar lo siguiente:

+ +
<Directory "/home/*/public_html/cgi-bin">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + +
top
+
+

Escribiendo un programa CGI

+ + +

Hay dos diferencias principales entre programación ``regular'' y + programación en CGI.

+ +

Primera, el resultado al completo de tu programa CGI debe estar + precedido de una cabecera MIME-type. Esta + cabecera HTTP le indica al cliente que tipo de contenido está + recibiendo. La mayor parte de las veces, ésto será algo como:

+ +

+ Content-type: text/html +

+ +

Segunda, el resultado debe estar en formato HTML, o cualquier + otro formato que su navegador sea capaz de mostrar. La mayor + parte de las veces, será HTML, pero otras escribirá un programa + CGI que devuelve una imagen gif, u otro contenido no-HTML.

+ +

Aparte de estas dos cosas, escribir un programa en CGI se + parecerá bastante a cualquier otro programa que vaya a escribir. +

+ + +

Su primer programa CGI

+ + +

A continuación podrá ver un ejemplo de programa CGI que muestra + una línea de texto en su navegador. Escriba lo siguiente, + guárdelo en un archivo con el nombre first.pl, y + póngalo en su directorio cgi-bin.

+ +
#!/usr/bin/perl
+print "Content-type: text/html\n\n";
+print "Hola, Mundo.";
+ + +

Incluso si Perl no le resulta familiar, podrá ver lo que está + ocurriendo aquí. La primera línea le dice a Apache (o a + cualquier shell en la que se esté ejecutando) que este programa + puede ejecutarse con el intérprete en la ubicación + /usr/bin/perl. La segunda línea imprime la + declaración de Content-Type que mencionamos antes, seguida de + dos pares de retornos de carro. Esto pone una línea en blanco + después de la cabecera para indicar el final de las cabeceras + HTTP, y el comienzo del cuerpo del contenido. La tercera + imprime la cadena de caracteres "Hola, Mundo.". Y ese es el + final del programa.

+ +

Si lo abre con su navegador favorito y le dice que solicite la + dirección

+ +

+ http://www.example.com/cgi-bin/first.pl +

+ +

o donde quiera que pusiera el archivo, verá una línea + Hola, Mundo. aparecerán la ventana del navegador. No es + muy emocionante, pero una vez que consiga que funcione podrá hacer + lo mismo con casi cualquier programa.

+ +
top
+
+

¡Pero todavía no funciona!

+ + +

Hay 4 cosas básicas que puede llegar a ver en su navegador cuando + intenta acceder a un programa CGI desde la web:

+ +
+
El resultado del programa CGI
+
¡Genial! Esto indica que todo funcionó correctamente. Si el + resultado es correcto, pero el navegador no lo procesa + correctamente, asegúrese de que tiene especificado + correctamente el Content-Type en su programa + CGI.
+ +
El código fuente de su programa CGI o un mensaje del tipo + "POST Method Not Allowed".
+ +
Eso significa que no ha configurado Apache de manera + apropiada para interpretar su programa CGI. Relea la sección + de Configurando Apache e intente + encontrar qué le falta.
+ +
Un mensaje que empieza con "Forbidden"
+
Eso significa que hay un problema de permisos. Compruebe el + Log de Errores de Apache y la + sección de más abajo de Permisos de + Fichero.
+ +
Un mensaje indicando "Internal Server Error"
+
Si comprueba el Log de errores de + Apache, probablemente encontrará que indica "Premature + end of script headers", posiblemente acompañado de otro + mensaje de error generado por su programa CGI. En este caso, + querrá comprobar cada una de las secciones de más adelante + para ver qué impide que su programa CGI genere las cabeceras + HTTP adecuadas.
+
+ +

Permisos de Fichero

+ + +

Recuerde que el servidor no se ejecuta con su usuario. Es decir, + cuando el servidor arranca, está funcionando con un usuario sin + privilegios, generalmente el usuario nobody, o + www-data, así que necesitará permisos extra para + ejecutar los archivos de los que usted es dueño. Generalmente, + el método para dar permisos suficientes para que se pueda + ejecutar con nobody es dar permisos de ejecución a + todo el mundo en el fichero:

+ +

+ chmod a+x first.pl +

+ +

Además, si su programa lee desde o escribe a cualquier otro/s + archivo/s, esos archivos necesitarán tener los permisos correctos + para permitir esas acciones.

+ + + +

Información de Ruta y Entorno

+ + +

Cuando ejecuta un programa desde la línea de comandos, usted tiene + cierta información que se le pasa a la shell sin que usted se + percate de ello. Por ejemplo, usted tiene un PATH, + que le indica a la shell dónde debe buscar archivos a los que usted + hace referencia.

+ +

Cuando un programa se ejecuta a través del servidor web como un + programa CGI, puede que no tenga el mismo PATH. + Cualquier programa que invoque desde su programa CGI (como por + ejemplo sendmail) necesitará que se le indique la + ruta absoluta, así la shell puede encontrarlos cuando intenta + ejecutar su programa CGI.

+ +

Una manifestación común de esto es la ruta del intérprete del + script (a menudo perl) indicado en la primera línea + de su programa CGI, que parecerá algo como:

+ +
#!/usr/bin/perl
+ + +

Asegúrese de que éste es de hecho el path de su intérprete.

+
+ Cuando edita scripts CGI en Windows, los caracteres de retorno de + carro podrían añadirse a la línea donde se especifica el intérprete. + Asegúrese de que los archivos se transfieren al servidor en modo + ASCII. Fallar en esto puede acabar con avisos del tipo "Command not + found" del Sistema Operativo, debido a que éste no reconoce los + caracteres de final de línea interpretados como parte del nombre + de fichero del intérprete. +
+ + +

Faltan Variables de Entorno

+ + +

Si su programa CGI depende de variables de entorno no estándar, necesitará + asegurarse de que Apache pasa esas variables.

+ +

Cuando no encuentra ciertas cabeceras HTTP del entorno, asegúrese + de que están formateadas según el + RFC 2616, + sección 4.2: Nombres de Cabeceras deben empezar con una letra, + seguida solo de letras, números o guión. Cualquier cabecera + que no cumpla esta regla será ignorada de manera silenciosa.

+ + + +

Errores de Programa

+ + +

La mayor parte de las veces cuando un programa CGI falla, es por un + problema en el programa mismo. Esto ocurre generalmente cuando se + maneja bien con "esto del CGI", y ya no comete los dos errores + mencionados más arriba. Lo primero que hay que hacer es asegurarse + de que su programa se ejecuta correctamente en línea de comandos + antes de probarlo a través del servidor web. Por ejemplo, + intente:

+ +

+ cd /usr/local/apache2/cgi-bin
+ ./first.pl +

+ +

(No llame al intérprete de perl. La consola y Apache + tienen que poder encontrar el intérprete usando línea + línea de información en la primera + línea del script.)

+ +

Lo primero que debe ver escrito por su programa es un conjunto de + cabeceras HTTP, incluyendo el Content-Type, + seguido de una línea en blanco. Si ve alguna otra cosa, Apache + devolverá el error Premature end of script headers si + intenta lanzar el script en el servidor web. Vea + Escribiendo un programa CGI más arriba para + más detalle.

+ + +

Log de Errores

+ + +

El log de errores es su amigo. Cualquier cosa que vaya mal generará + un mensaje en el log de errores. Debería mirar siempre ahí primero. + Si el lugar donde está alojando su sitio web no permite que acceda + al log de errores, probablemente debería alojarlo en otro sitio. + Aprenda a leer el log de errores y se dará cuenta de que enseguida + averiguará el motivo del error y lo solucionará rápidamente.

+ + +

Suexec

+ + +

El programa de soporte suexec permite + que programas CGI se ejecuten con permisos de usuario distintos, + dependiendo del virtualhost o el directorio home donde se + encuentren. Suexec tiene una comprobación de permisos muy estricta, + y cualquier fallo en esa comprobación dará como resultado un error + con el mensaje Premature end of script headers.

+ +

Para comprobar si está usando Suexec, ejecute + apachectl -V y compruebe la ubicación de + SUEXEC_BIN. Si Apache encuentra un binario + suexec al arrancar, suexec se activará.

+ +

A menos que comprenda suxec perfectamente, no debería usarlo. + Para desactivar suexec, basta con eliminar el binario + suexec al que apunta SUEXEC_BIN y + reiniciar el servidor. Si después de leer sobre + suexec todavía quiere usarlo, entonces + ejecute suexec -V para encontrar la ubicación del + fichero log de suexec, y use ese log para encontrar que política no + está cumpliendo.

+ +
top
+
+

¿Qué ocurre entre bastidores?

+ + +

En cuanto tenga conocimiento avanzado de programación CGI, le será + útil comprender más de lo que ocurre entre bastidores. + Específicamente, cómo el navegador y el servidor se comunican el uno + con el otro. Porque aunque esté muy bien escribir un programa que + diga "Hola, Mundo.", no tiene una gran utilidad.

+ +

Variables de Entorno

+ + +

Las variables de entorno son valores que están ahí cuando + usa el ordenador. Son cosas útiles como el path (donde su ordenador + busca el archivo específico que se lanza cuando usted escribe un + comando), su nombre de usuario, el tipo de terminal que usa, etc. + Para una lista completa de la variables de entorno normales que se + se usan en su día a día escriba env en la línea de + comandos.

+ +

Durante la transacción CGI, el servidor y el navegador también + configuran variables de entorno, y así pueden comunicarse entre + ellos. Cosas como el tipo de navegador (Netscape, IE, Lynx), el tipo + de servidor (Apache, IIS, WebSite), el nombre del programa CGI que + se está ejecutando, etc.

+ +

Estas variables están disponibles para el programador de CGI, y son + la mitad de la historia de la comunicación cliente-servidor. La + lista completa de las variables necesarias se encuentra en + el RFC de Common Gateway + Interface.

+ +

Este sencillo programa CGI en Perl mostrará todas las variables + de entorno que se están pasando entre el cliente y el navegador. Dos + programas similares están incluidos en el directorio + cgi-bin de la distribución de Apache. Tenga en cuenta + que algunas variables son necesarias mientras que otras son + opcionales, así que es posible que vea algunas variables que no + están en la lista oficial. Adicionalmente, Apache aporta distintas + maneras diferentes para que pueda + añadir sus variables de entorno a las + básicas que se proveen por defecto.

+ +
#!/usr/bin/perl
+use strict;
+use warnings;
+
+print "Content-type: text/html\n\n";
+          
+foreach my $key (keys %ENV) {
+    print "$key --> $ENV{$key}<br>";
+}
+ + + +

STDIN y STDOUT

+ + +

Otra comunicación entre el servidor y el cliente ocurre en la + entrada estándar (STDIN) y la salida estándar + (STDOUT). En el contexto normal de cada día, + STDIN es la entrada con el teclado, o un fichero que se + le da a un programa para que actúe sobre él, y STDOUT + generalmente es la consola o la pantalla.

+ +

Cuando hace POST con un formulario de web a un programa + CGI, los datos en ese formulario se empaquetan en un formato especial + que se entrega a su programa CGI en el STDIN. + Entonces el programa puede procesar la información como si le llegara + desde el teclado, o desde un fichero.

+ +

El "formato especial" es muy sencillo. Un nombre de campo y su + valor se asocian juntos con el signo igual (=), y pares de valores + se asocian juntos con el ampersand ó et en español (&). + Caracteres inconvenientes como los espacios, ampersands y signos de + igual, se convierten en su equivalente hexadecimal para no impidan + el funcionamiento correcto del programa. La cadena de datos al + completo será algo como:

+ +

+ name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +

+ +

A veces tendrá este tipo de cadena de caracteres al final de una + URL. Cuando esto ocurre, el servidor pone esa cadena en una variable + de entorno que se llama QUERY_STRING. Esto se llama + solicitud GET. Su formulario HTML especifica si se usa + un GET o un POST para entregar la + información, configurando el atributo METHOD en la + etiqueta FORM.

+ +

Su programa es el responsable de convertir esa cadena de + caracteres en información útil. Afortunadamente, hay librerías y + módulos disponibles que ayudan a procesar la información, así como a + gestionar los distintos aspectos de su programa CGI.

+ +
top
+
+

Módulos/librerías CGI

+ + +

Cuando escribe programas CGI, debería considerar usar una librería de + código, o módulo, para hacer todo el trabajo más arduo por usted. + Esto lleva a tener menos errores y un desarrollo de código más + rápido.

+ +

Si está escribiendo un programa CGI en Perl, existen módulos + disponibles en CPAN. El módulo más + conocido para este propósito es CGI.pm. Quizás quiera + considerar CGI::Lite, que implementa una funcionalidad + mínima, que es todo lo que se necesita en la mayoría de los programas.

+ +

Si está escribiendo programas CGI en C, hay varidad de opciones. Una + de estas es la librería CGIC, de + http://www.boutell.com/cgic/. +

+
top
+
+

Para más información

+ + +

La especificación actual de CGI está disponible en el + RFC de Common Gateway + Interface.

+ +

Cuando envíe una pregunta sobre un problema de CGI, o bien a una + lista de correo, o a un grupo de noticias, asegúrese de que facilita suficiente + información de lo que ha ocurrido, de lo que espera que ocurra, y de + lo que está ocurriendo en su lugar que es diferente, el servidor que + está ejecutando, en qué lenguaje CGI está hecho su programa, y si es + posible, el código que falla. Esto hará encontrar el problema mucho más + fácil.

+ +

Tenga en cuenta que las preguntas sobre problemas CGI + nunca deberían enviarse a la base de datos de bugs de + bugs de Apache a menos que esté seguro de haber encontrado un + problema en el código fuente de Apache.

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/cgi.html.fr.utf8 b/docs/manual/howto/cgi.html.fr.utf8 new file mode 100644 index 0000000..8ce0d77 --- /dev/null +++ b/docs/manual/howto/cgi.html.fr.utf8 @@ -0,0 +1,643 @@ + + + + + +Tutoriel Apache : Contenu dynamique basé sur CGI - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Tutoriel Apache : Contenu dynamique basé sur CGI

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+
+ +
top
+
+

Introduction

+ + + + +

CGI (Common Gateway Interface) définit une méthode d'interaction + entre un serveur web et des programmes générateurs de contenu + externes, plus souvent appelés programmes CGI ou scripts CGI. + Il s'agit d'une méthode simple pour ajouter du contenu dynamique à votre site + web en utilisant votre langage de programmation préféré. + Ce document est une introduction à la configuration de CGI sur votre + serveur web Apache, et une initiation à l'écriture de programmes + CGI.

+
top
+
+

Configurer Apache pour autoriser CGI

+ + +

Apache doit être configuré pour permettre l'exécution des + programmes CGI, pour que vos programmes CGI puissent fonctionner + correctement. Il existe plusieurs méthodes pour y parvenir.

+ +
Note: si Apache a été compilé avec le support + des modules partagés (DSO), vous devez vous assurer que le module CGI est + chargé ; vous devez pour cela vérifier que la directive LoadModule correspondante n'a pas été + commentée dans votre httpd.conf. Une directive correcte + doit ressembler à ceci : + +
LoadModule cgid_module modules/mod_cgid.so
+ + + + Sous Windows, ou si l'on utilise un module MPM non-threadé comme prefork, + une directive correctement configurée sera du style : + +
LoadModule cgi_module modules/mod_cgi.so
+
+ + +

ScriptAlias

+ + +

La directive ScriptAlias indique à Apache qu'un + répertoire particulier est dédié aux programmes CGI. Apache + considérera que tout fichier situé dans ce répertoire est un + programme CGI, et tentera de l'exécuter lorsque cette ressource + fera l'objet d'une requête client.

+ +

La directive ScriptAlias se présente comme suit + :

+ +
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+ + +

Cet exemple est tiré de votre fichier de configuration + httpd.conf par défaut, si vous avez installé Apache + dans son répertoire par défaut. La directive ScriptAlias est similaire à la + directive Alias, qui + définit à quel répertoire particulier doit correspondre un préfixe + d'URL. Alias et + ScriptAlias sont généralement utilisés pour + accéder à des répertoires situés en dehors du répertoire défini + par la directive DocumentRoot. La différence entre + Alias et ScriptAlias + réside dans le fait que ScriptAlias indique + en plus que tout ce qui se trouve sous le préfixe d'URL doit être + considéré comme un programme CGI. Ainsi, l'exemple ci-dessus + indique à Apache que toute requête pour une ressource commençant + par /cgi-bin/ doit être servie depuis le répertoire + /usr/local/apache2/cgi-bin/, et doit être traitée en + tant que programme CGI.

+ +

Par exemple, si une requête pour l'URL + http://www.example.com/cgi-bin/test.pl est + effectuée, Apache tentera d'exécuter le fichier + /usr/local/apache2/cgi-bin/test.pl et en renverra la + sortie. Bien entendu, le fichier doit exister, être exécutable, et + retourner sa sortie d'une manière particulière, sinon Apache + renverra un message d'erreur.

+ + +

CGI en dehors des répertoires ScripAlias

+ + +

Pour des raisons de sécurité, la localisation des programmes + CGI est souvent restreinte aux + répertoires définis par ScriptAlias. De cette manière, les administrateurs + peuvent contrôler précisément qui est autorisé à utiliser les + programmes CGI. Cependant, si les précautions adéquates quant à + la sécurité sont prises, il n'y a aucune raison pour que les + programmes CGI ne puissent pas être exécutés depuis d'autres + répertoires. Par exemple, vous pouvez autoriser les utilisateurs à + enregistrer des contenus web dans leurs répertoires home à l'aide + de la directive UserDir. S'ils veulent mettre en + oeuvre leurs propres programmes CGI, mais n'ont pas l'autorisation + d'accès au répertoire cgi-bin principal, ils devront + être en mesure d'exécuter ces programmes depuis un autre + répertoire.

+ +

L'autorisation d'exécution des programmes CGI dans un + répertoire arbitraire se fait en deux étapes. En premier lieu, le + gestionnaire cgi-script doit être activé à l'aide + d'une directive AddHandler ou SetHandler. En second lieu, + ExecCGI doit être spécifié dans la directive Options.

+ + +

Utilisation d'options explicites pour permettre l'exécution + des programmes CGI

+ + +

Vous pouvez utiliser de manière explicite la directive + Options dans le fichier de + configuration de votre serveur principal, pour indiquer que + l'exécution des programmes CGI est permise depuis un répertoire + particulier :

+ +
<Directory "/usr/local/apache2/htdocs/somedir">
+    Options +ExecCGI
+</Directory>
+ + +

La directive ci-dessus indique à Apache qu'il doit permettre + l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur + quels fichiers sont des fichiers CGI. La directive AddHandler suivante indique au + serveur qu'il doit traiter tous les fichiers possédant une + extension cgi ou pl en tant que + programmes CGI :

+ +
AddHandler cgi-script .cgi .pl
+ + + +

Fichiers .htaccess

+ + +

Le tutoriel + .htaccess montre comment activer les programmes + CGI si vous n'avez pas accès au + fichier httpd.conf.

+ + +

Répertoires utilisateurs

+ + +

Pour permettre l'exécution en tant que programme CGI de tout + fichier possédant l'extension .cgi et situé dans un + répertoire utilisateur, vous pouvez utiliser la configuration + suivante :

+ +
<Directory "/home/*/public_html">
+    Options +ExecCGI
+    AddHandler cgi-script .cgi
+</Directory>
+ + +

Pour indiquer un sous-répertoire cgi-bin d'un + répertoire utilisateur où tout fichier sera traité en tant que + programme CGI, vous pouvez utiliser ceci :

+ +
<Directory "/home/*/public_html/cgi-bin">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + + + +
top
+
+

Ecrire un programme CGI

+ + +

Il y a deux différences principales entre la programmation + "standard" et la programmation CGI.

+ +

En premier lieu, toute sortie de votre programme CGI doit être + précédée d'un en-tête MIME-type. Il s'agit d'un + en-tête HTTP qui indique au client quel type de contenu il reçoit. + La plupart du temps, il se présente comme suit :

+ +

+ Content-type: text/html +

+ +

En second lieu, votre sortie doit être en HTML, ou tout autre + format qu'un navigateur est en mesure d'afficher. La plupart du + temps, il s'agira de HTML, mais occasionnellement, vous pouvez être + amené à écrire un programme CGI qui renvoie une image gif, ou un + autre type de contenu non-HTML.

+ +

A part ces deux différences, un programme CGI ressemblera à tout + autre programme que vous pourriez être amené à écrire.

+ +

Votre premier programme CGI

+ + +

L'exemple suivant est un exemple de programme CGI qui permet + d'afficher une ligne de caractères dans votre navigateur. Ecrivez + ce qui suit, enregistrez le dans un fichier nommé + premier.pl, et placez le dans votre répertoire + cgi-bin.

+ +
#!/usr/bin/perl
+print "Content-type: text/html\n\n";
+print "Hello, World.";
+ + +

Même si Perl ne vous est pas familier, vous devriez être + capable de comprendre le fonctionnement de ce programme. La + première ligne indique à Apache (ou à toute interface à partir de + laquelle le programme s'exécute) que ce programme peut être + exécuté en fournissant son fichier à l'interpréteur + /usr/bin/perl. La seconde ligne affiche la + déclaration du type de contenu considéré, suivie de deux paires + "Retour chariot - Nouvelle ligne". Ceci a pour effet d'insérer une + ligne vide après l'en-tête pour marquer la fin des en-têtes HTTP, + et le début du corps du document. La troisième ligne affiche la + chaîne de caractères "Bonjour tout le monde . . .". Et c'est tout + ce dont vous avez besoin.

+ +

Si vous ouvrez votre navigateur favori et lui indiquez + l'adresse

+ +

+ http://www.example.com/cgi-bin/premier.pl +

+ +

ou toute autre URL correspondant à votre programme CGI, Vous + verrez la ligne Bonjour tout le monde . . . + s'afficher dans la fenêtre de votre navigateur. Ce n'est pas + extraordinaire, mais si vous y êtes parvenu, vous avez de bonnes + chances d'y parvenir pour tout autre programme plus + sophistiqué.

+ +
top
+
+

Mais ça ne marche toujours pas !

+ + +

Vous devriez voir au moins une des quatre sorties suivantes dans + votre navigateur lorsque vous essayez d'accéder à votre programme + CGI depuis le web :

+ +
+
Le flux de sortie de votre programme CGI
+
Impeccable ! Cela signifie que tout fonctionne correctement. + Si la sortie est correcte mais n'est pas traitée correctement par + le navigateur, assurez-vous d'avoir défini + Content-Type de manière appropriée dans votre + programme CGI.
+ +
Le code source de votre programme CGI ou un message "POST + Method Not Allowed"
+
Cela signifie que vous n'avez pas configuré Apache de manière + à ce qu'il puisse traiter votre programme CGI. Relisez la section + sur la configuration d'Apache, et + essayez de trouver votre erreur.
+ +
Un message commençant par "Forbidden"
+
Ce type de message est révélateur d'un problème de + droits. Consultez le journal des erreurs + d'Apache et la section ci-dessous sur les droits des fichiers.
+ +
Un message contenant "Internal Server Error"
+
Si vous consultez le journal des erreurs + d'Apache, vous y trouverez probablement des messages du type + "Premature end of script headers" (Fin prématurée des en-têtes de + script), éventuellement accompagnés d'un message d'erreur généré + par votre programme CGI. Dans ce cas, il va vous falloir lire + chacune des sections ci-dessous pour déterminer ce qui empêche + votre programme CGI de générer les en-têtes appropriés.
+
+ +

Droits des fichiers

+ + +

Souvenez-vous que le serveur ne s'exécute pas sous votre nom. + En d'autres termes, lorsque le serveur a démarré, il s'exécute + avec les droits d'un utilisateur non privilégié - en général + nobody, ou www - et en conséquence, il + aura besoin de droits supplémentaires pour pouvoir exécuter des + fichiers dont vous êtes le propriétaire. En général, pour qu'un + fichier ait des droits suffisants pour être exécutable par + nobody, il suffit de lui attribuer des droits + d'exécution pour tout le monde :

+ +

+ chmod a+x premier.pl +

+ +

En outre, si votre programme doit pouvoir accéder en lecture + et/ou écriture à d'autres fichiers, ces derniers devront avoir les + droits appropriés.

+ + + +

Chemin des exécutables (PATH) et variables + d'environnement

+ + +

Lorsque vous lancez un programme depuis la ligne de commande, + certaines informations sont passées au shell sans que vous vous en + doutiez. Par exemple, la variable PATH indique au + shell où il doit rechercher les exécutables auxquels vous faites + référence.

+ +

Lorsqu'un programme s'exécute depuis le serveur web en tant que + programme CGI, sa variable PATH n'aura peut-être pas + la même valeur. Tout programme que vous invoquez dans votre + programme CGI ( comme par exemple sendmail) devra + être spécifié par son chemin complet, de façon à ce que le shell + puisse le trouver lorsqu'il tentera d'exécuter votre programme + CGI.

+ +

Un exemple typique de spécification de programme est le chemin + vers l'interpréteur de script (souvent perl) que l'on + trouve à la première ligne de votre programme CGI et qui va + ressembler à ceci :

+ +
#!/usr/bin/perl
+ + +

Assurez-vous qu'il s'agit bien du chemin correct vers + l'interpréteur.

+ +
+ Lors de l'édition de scripts CGI sous Windows, il se peut que des + caractères de fin de ligne soient ajoutés au chemin de + l'interpréteur. Assurez-vous donc que les fichiers sont bien + transmis au serveur en mode ASCII. Dans le cas contraire, l'OS + pourra envoyer des avertissements "Command not found" à cause des + caractères de fin de ligne non reconnus car considérés comme + faisant partie du nom de fichier de l'interpréteur. +
+ + + +

Variables d'environnement manquantes

+ + +

Si votre programme CGI dépend de variables + d'environnement non standards, vous devrez vous assurez que + ces variables lui sont bien transmises par Apache.

+ +

Lorsque des en-têtes HTTP ne sont pas transmis à + l'environnement, assurez-vous qu'ils sont bien formatés selon la + RFC 2616, section + 4.2 : les noms d'en-têtes doivent commencer par une lettre, + elle-même suivie de lettres, chiffres ou traits d'union. Tout + en-tête dont le nom viole cette règle sera ignoré.

+ + + +

Erreurs inhérentes au programme

+ + +

La plupart des échecs dans l'exécution d'un programme CGI + proviennent du programme lui-même. Ceci est particulièrement vrai + lorsque ce satané programme CGI se bloque, alors que vous avez + appris à ne plus commettre les deux erreurs précédentes. La + première chose à faire est de vous assurer que votre programme + s'exécute depuis la ligne de commande, avant de le tester à partir + du serveur web. Par exemple, essayez :

+ +

+ cd /usr/local/apache2/cgi-bin
+ ./premier.pl +

+ +

(N'invoquez pas l'interpréteur perl. Le shell et + Apache doivent être capable de le déterminer à partir de l'information sur le chemin située sur + la première ligne du script.)

+ +

La première chose que vous devriez voir affichée par votre + programme est un ensemble d'en-têtes HTTP, comprenant entre autres + le Content-Type, et suivi d'une ligne vide. Si vous + voyez quoi que ce soit d'autre, Apache renverra l'erreur + Premature end of script headers si vous tentez + d'exécuter le programme depuis le serveur. Voir Ecriture d'un programme CGI ci-dessus pour + plus de détails.

+ + +

Journalisation des erreurs

+ + +

Les journaux d'erreurs sont vos amis. Toute anomalie de + fonctionnement est consignée dans le journal des erreurs et c'est + ici que vous devez regarder en premier en cas de problème. Si + l'hébergeur de votre site ne vous donne pas accès au journal des + erreurs, vous avez tout intérêt à vous tourner vers quelqu'un + d'autre. Apprenez à déchiffrer les journaux d'erreurs, et vous + vous apercevrez que la plupart des problèmes seront rapidement + identifiés . . . et résolus.

+ + +

Suexec

+ + +

Le programme suexec permet + d'exécuter les programmes CGI avec des droits différents selon le + serveur virtuel ou le répertoire utilisateur dans lequel ils + se situent. Suexec effectue une vérification des droits très + stricte, et toute anomalie détectée au cours de cette vérification + entraînera un echec d'exécution de votre programme CGI avec + affichage de l'erreur Premature end of script + headers.

+ +

Pour savoir si vous pouvez utiliser suexec, tapez la commande + apachectl -V, et regardez le chemin indiqué par + SUEXEC_BIN. Si au démarrage d'Apache, ce dernier + trouve un exécutable suexec dans ce chemin, + suexec sera activé.

+ +

Si vous ne maîtrisez pas le fonctionnement de suexec, il vous + est déconseillé de l'utiliser. Pour désactiver suexec, supprimer + simplement (ou renommez) l'exécutable suexec + pointé par SUEXEC_BIN et redémarrez le serveur. Si + après une lecture de suexec, vous + décidez quand-même de l'utiliser, tapez la commande suexec + -V pour voir où se situe le journal de suexec, et utilisez + ce dernier pour déterminer quelles règles vous violez + éventuellement.

+ +
top
+
+

Que se passe-t-il en coulisse

+ + +

Lorsque vos compétences en programmation CGI seront plus + poussées, il s'avérera intéressant pour vous de mieux comprendre ce + qui se passe en coulisse, et en particulier la manière dont le + navigateur et le serveur dialoguent entre eux. En effet, bien qu'il + soit tout à fait louable d'écrire un programme qui affiche "Bonjour + tout le monde . . .", cela ne sert pas à grand chose.

+ +

Variables d'environnement

+ + +

Les variables d'environnement sont des valeurs qui gravitent + autour de vous lorsque vous utilisez votre ordinateur. Elles sont + très utiles, à l'instar de votre chemin par défaut (où votre + ordinateur va rechercher le fichier physique correspondant à la + commande que vous avez tapée), votre nom d'utilisateur, le type de + votre terminal, etc... Pour obtenir une liste complète des + variables d'environnement standards que vous utilisez tous les + jours, tapez env dans votre interpréteur + de commandes.

+ +

Au cours de la transaction CGI, le serveur et le navigateur + définissent aussi des variables d'environnement, de façon à ce + qu'ils puissent communiquer entre eux. Ces variables définissent + entre autre le type de navigateur (Netscape, IE, Lynx), le type de + serveur (Apache, IIS, WebSite), le nom du programme CGI en cours + d'exécution, etc...

+ +

Ces variables sont à la disposition du programmeur CGI, et + elles constituent 50% de la communication client-serveur. La liste + complète des variables requises se trouve à + Common Gateway + Interface RFC.

+ +

Ce programme CGI basique en Perl permet d'afficher toutes les + variables d'environnement qui sont échangées. Deux programmes + similaires sont fournis avec la distribution d'Apache et situés + dans le répertoire cgi-bin. + Notez que certaines variables sont + obligatoires, alors que d'autres sont optionnelles, si bien que + vous verrez s'afficher certaines variables qui ne font pas partie + de la liste officielle. De plus, Apache vous propose de nombreuses + méthodes pour ajouter vos propres + variables d'environnement aux variables de base fournies par + défaut.

+ +
#!/usr/bin/perl
+use strict;
+use warnings;
+
+print "Content-type: text/html\n\n";
+foreach my $key (keys %ENV) {
+    print "$key --> $ENV{$key}<br>";
+}
+ + + +

STDIN et STDOUT

+ + +

L'entrée standard (STDIN) et la sortie standard + (STDOUT) constituent d'autres voies de communication + entre le client et le serveur. Dans un contexte normal, + STDIN correspond au clavier, ou à un fichier fourni + au programme à des fins de traitement, et STDOUT à la + console ou à l'écran.

+ +

Lorsque vous transmettez un formulaire web à un programme CGI + par la méthode POST, les données de ce formulaire + sont transcrites dans un format spécial et transmises à votre + programme CGI via STDIN. Le programme peut alors les + traiter comme si elles provenaient du clavier ou d'un + fichier.

+ +

Ce "format spécial" est très simple. Un nom de champ et sa + valeur sont reliés entre eux par un signe "égal" (=), et chacune + de ces paires nom champ/valeur est séparée de la suivante par un + "et" commercial (&). Les caractères + spéciaux comme les espaces, les "et" commerciaux, et les signes + "égal" sont convertis en leur équivalent hexadécimal pour éviter + qu'ils ne gâchent le travail. La chaîne contenant les données doit + ressembler à ceci :

+ +

+ name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +

+ +

Vous verrez aussi parfois une chaîne de ce type accolée à une + URL. Dans ce cas, le serveur enregistre cette chaîne dans la + variable d'environnement appelée QUERY_STRING. On a + alors affaire à une requête de type GET. Votre + formulaire HTML indique laquelle des méthodes GET ou + POST est utilisée pour transmettre les données, en + définissant l'attribut METHOD au niveau de la balise + FORM.

+ +

Votre programme est ensuite chargé d'extraire les informations + utiles de cette chaîne. Heureusement, des bibliothèques et des + modules sont à votre disposition pour vous aider à traiter ces + données, et à gérer les différents aspects de votre programme + CGI.

+ +
top
+
+

Bibliothèques et modules CGI

+ + +

Pour écrire un programme CGI, il vous est conseillé d'utiliser + une bibliothèque de code, ou un module, qui effectueront une grande + partie du travail de base pour vous. Ceci vous permettra de diminuer + le nombre d'erreurs et d'accélérer le développement.

+ +

Si vous écrivez des programmes CGI en Perl, des modules sont à + votre disposition à CPAN. A ce + sujet, le module le plus populaire est CGI.pm. Vous + pouvez aussi essayer CGI::Lite, qui implémente les + fonctionnalités strictement nécessaires, mais suffisantes pour + la majorité des programmes.

+ +

Si vous écrivez des programmes CGI en C, vous disposez de nombreuses + options. L'une d'elles est la bibliothèque CGIC de https://web.mit.edu/wwwdev/www/cgic.html.

+
top
+
+

Pour plus d'informations

+ + +

La spécification CGI actuelle est disponible dans la Common Gateway + Interface RFC.

+ +

Lorsque vous postez une question à propos d'un problème CGI que + vous rencontrez, que ce soit dans une liste de diffusion ou dans un + newsgroup, faites en sorte de fournir suffisamment d'informations + sur le problème rencontré, ce que vous attendiez exactement, et en + quoi ce qui se produit est réellement différent de ce que vous + attendiez, quel serveur vous utilisez, en quel langage votre + programme CGI a été écrit, et, si possible, son code source. Ceci + permettra une résolution plus aisée de votre problème.

+ +

Notez que les questions à propos de problèmes CGI ne doivent + jamais être postées dans la base de données de + bogues d'Apache, à moins que vous ne soyez sûr d'avoir trouvé un + problème dans le code source d'Apache.

+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/cgi.html.ja.utf8 b/docs/manual/howto/cgi.html.ja.utf8 new file mode 100644 index 0000000..476ac83 --- /dev/null +++ b/docs/manual/howto/cgi.html.ja.utf8 @@ -0,0 +1,593 @@ + + + + + +Apache Tutorial: CGI ã«ã‚ˆã‚‹å‹•çš„コンテンツ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache Tutorial: CGI ã«ã‚ˆã‚‹å‹•çš„コンテンツ

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+
+ +
top
+
+

ã¯ã˜ã‚ã«

+ + + + +

CGI (Common Gateway Interface) ã¯ã€ã‚¦ã‚§ãƒ–サーãƒãŒ + コンテンツ生æˆã‚’ã™ã‚‹å¤–部プログラムã¨å”調ã—ã¦å‹•ä½œã™ã‚‹ãŸã‚ã®æ–¹æ³•ã‚’ + 定義ã—ã¦ã„ã¾ã™ã€‚ãã®ãƒ—ログラムã¯ã—ã°ã—ã° CGI プログラムや + CGI スクリプトã¨å‘¼ã°ã‚Œã¾ã™ã€‚CGI ã¯ã€ã‚¦ã‚§ãƒ–サイトã«å‹•çš„㪠+ コンテンツを置ããŸã‚ã®æœ€ã‚‚ç°¡å˜ã§ä¸€èˆ¬çš„ãªæ–¹æ³•ã§ã™ã€‚ã“ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯ã€ + Apache ウェブサーãƒã§ CGI を設定ã—〠+ CGI プログラムを書ã始ã‚ã‚‹ãŸã‚ã®å…¥é–€æ›¸ã¨ãªã‚‹ã§ã—ょã†ã€‚

+
top
+
+

CGI を許å¯ã™ã‚‹ã‚ˆã†ã« Apache を設定ã™ã‚‹

+ + +

CGI プログラムを正ã—ã動作ã•ã›ã‚‹ã«ã¯ã€CGI を許å¯ã™ã‚‹ã‚ˆã†ã« + Apache ã®è¨­å®šã‚’è¡Œã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“れを行ãªã†ãŸã‚ã®æ–¹æ³•ãŒã„ãã¤ã‹ã‚ã‚Šã¾ã™ã€‚

+ +
+ 注: Apache ãŒå…±æœ‰ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«æ©Ÿèƒ½ç€ãã§ãƒ“ルドã•ã‚Œã¦ã„ã‚‹å ´åˆã€ + モジュールãŒãƒ­ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。 + ã¤ã¾ã‚Š httpd.conf 㧠+ LoadModule + ãŒã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã•ã‚Œã¦ã„ãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。 + 正常ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°æ¬¡ã®ã‚ˆã†ã«ãªã‚‹ã¯ãšã§ã™: + +

+ LoadModule cgi_module modules/mod_cgi.so +

+ +

ScriptAlias

+ + +

ScriptAlias + ディレクティブを使用ã—ã¦ã€ + CGI プログラム用ã®ç‰¹åˆ¥ãªåˆ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ Apache ã«è¨­å®šã—ã¾ã™ã€‚ + Apache ã¯ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸­ã®å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ CGI + プログラムã§ã‚ã‚‹ã¨ä»®å®šã—ã¾ã™ã€‚ + ãã—ã¦ã€ã“ã®ç‰¹åˆ¥ãªãƒªã‚½ãƒ¼ã‚¹ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰è¦æ±‚ã•ã‚Œã‚‹ã¨ã€ + ãã®ãƒ—ログラムã®å®Ÿè¡Œã‚’試ã¿ã¾ã™ã€‚

+ +

ScriptAlias + ディレクティブã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ä½¿ç”¨ã—ã¾ã™:

+ +

+ ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ +

+ +

デフォルトä½ç½®ã« Apache をインストールã—ãŸãªã‚‰ã°ã€ + ã“ã®ä¾‹ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆçŠ¶æ…‹ã® httpd.conf + 設定ファイルã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ + ScriptAlias + ディレクティブã¯ã€URL ã®å‰ã«ä»˜åŠ ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’定義ã™ã‚‹ + Alias + ディレクティブã¨ã‹ãªã‚Šä¼¼ã¦ã„ã¾ã™ã€‚ + Alias 㨠ScriptAlias + ã¯é€šå¸¸ã€DocumentRoot + ディレクトリ外ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ + Alias 㨠ScriptAlias + ã¨ã®å·®ã¯ã€ScriptAlias ãŒæŽ¥é ­è¾žã§å§‹ã¾ã‚‹ã™ã¹ã¦ã® + URL 㯠CGI プログラムã¨ã¿ãªã•ã‚Œã‚‹ã¨ã„ã†è¿½åŠ ã®æ„味をå«ã‚“ã§ã„ã‚‹ã“ã¨ã§ã™ã€‚ + 従ã£ã¦ã€ä¸Šè¨˜ã®ä¾‹ã§ã¯ã€/cgi-bin/ + ã§å§‹ã¾ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã¸ã®ã‚らゆるリクエストã«å¯¾ã—ã¦ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª + /usr/local/apache2/cgi-bin/ ã‹ã‚‰æä¾›ã—ã€ãれらを + CGI プログラムã¨ã—ã¦æ‰±ã†ã‚ˆã† Apache ã«ç¤ºã—ã¾ã™ã€‚

+ +

例ãˆã°ã€URL http://www.example.com/cgi-bin/test.pl + ãŒè¦æ±‚ã•ã‚ŒãŸå ´åˆã€Apache 㯠ファイル + /usr/local/apache2/cgi-bin/test.pl + を実行ã—ã€ãã®å‡ºåŠ›ã‚’è¿”ã™ã“ã¨ã‚’試ã¿ã¾ã™ã€‚ + ã‚‚ã¡ã‚ã‚“ã€ãƒ•ã‚¡ã‚¤ãƒ«ãŒå­˜åœ¨ã—ã€å®Ÿè¡Œå¯èƒ½ã§ã‚ã‚Šã€æ±ºã‚られãŸæ–¹æ³•ã§å‡ºåŠ›ã‚’è¿”ã—ã¾ã™ã€‚ + ãã†ã§ãªã‘ã‚Œã°ã€Apache ã¯ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’è¿”ã—ã¾ã™ã€‚

+ + +

ScriptAlias ディレクトリ外㮠CGI

+ + +

CGI プログラムã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®ç†ç”±ã‹ã‚‰ + ScriptAlias + ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«åˆ¶é™ã•ã‚Œã‚‹ã“ã¨ãŒã—ã°ã—ã°ã‚ã‚Šã¾ã™ã€‚ã“ã®æ–¹æ³•ã«ã‚ˆã‚Šã€ + CGI プログラムを使用ã§ãるユーザを管ç†è€…ãŒåŽ³ã—ã制御ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã—ã‹ã—ãªãŒã‚‰ã€é©åˆ‡ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£äº‹å‰å¯¾ç­–ãŒã¨ã‚‰ã‚Œã‚‹ãªã‚‰ã°ã€CGI + プログラムを任æ„ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§å®Ÿè¡Œã§ããªã„よã†ã«ã™ã‚‹ç†ç”±ã¯ã‚ã‚Šã¾ã›ã‚“。 + 例ãˆã°ã€ãƒ¦ãƒ¼ã‚¶ã« UserDir + ディレクティブã§å½¼ã‚‰ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªé…下ã«ã‚¦ã‚§ãƒ–コンテンツをæŒãŸã›ãŸã„ã¨ã—ã¾ã™ã€‚ + ã‚‚ã—ã€å½¼ã‚‰ãŒ CGI プログラムをæŒã¤ã“ã¨ã‚’望んã§ã„ã¦ã‚‚ã€ãƒ¡ã‚¤ãƒ³ã® + cgi-bin ディレクトリã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒã§ããªã„å ´åˆã€ + CGI プログラムを実行ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ä»–ã®å ´æ‰€ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚

+ +

ä»»æ„ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ CGI ã®å®Ÿè¡Œã‚’許å¯ã™ã‚‹ã«ã¯äºŒæ®µéšŽã®è¨­å®šãŒå¿…è¦ã§ã™ã€‚ + ã¾ãšã€AddHandler ã‚„ SetHandler ディレクティブã«ã‚ˆã£ã¦ + cgi-script ãƒãƒ³ãƒ‰ãƒ©ãŒå¯èƒ½ã«ãªã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 次ã«ã€Options ディレクティブ㧠+ ExecCGI ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ + +

CGI ã®å®Ÿè¡Œã‚’å¯èƒ½ã«ã™ã‚‹ãŸã‚ã« Options を明示的ã«ä½¿ç”¨ã™ã‚‹

+ + +

サーãƒã®ãƒ¡ã‚¤ãƒ³ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã§ Options + ディレクティブを明示的ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã§ã€ç‰¹å®šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªé…下㧠+ CGI ã®å®Ÿè¡Œã‚’許å¯ã™ã‚‹ã‚ˆã†ã«æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +

+ <Directory /usr/local/apache2/htdocs/somedir>
+ + Options +ExecCGI
+
+ </Directory> +

+ +

上記ディレクティブã¯ã€CGI ファイルã®å®Ÿè¡Œã‚’å¯èƒ½ã«ã™ã‚‹ã‚ˆã† + Apache ã«ä¼ãˆã¾ã™ã€‚ã¾ãŸã€ã©ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ CGI ファイルã‹ã‚’ + サーãƒã«ä¼ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚次㮠+ AddHandler + ディレクティブã®ä¾‹ã§ã¯ã€cgi ã¾ãŸã¯ pl + ã‚’æ‹¡å¼µå­ã«æŒã¤ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ CGI + プログラムã¨ã—ã¦ã¿ãªã™ã“ã¨ã‚’サーãƒã«ä¼ãˆã¾ã™:

+ +

+ AddHandler cgi-script .cgi .pl +

+ + +

.htaccess ファイル

+ + +

.htaccess ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« + 㯠httpd.conf を変更ã§ããªã„å ´åˆã«ã©ã†ã‚„ã£ã¦ CGI プログラムを + 使ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã‹ã‚’説明ã—ã¦ã„ã¾ã™ã€‚

+ + +

User ディレクトリ

+ + +

.cgi ã§çµ‚ã‚ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—㦠CGI プログラム㮠+ 実行を許å¯ã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®è¨­å®šã‚’使用ã§ãã¾ã™ã€‚

+ +

+ <Directory /home/*/public_html>
+ + Options +ExecCGI
+ AddHandler cgi-script .cgi
+
+ </Directory> +

+ +

ユーザディレクトリ㮠cgi-bin サブディレクトリ㮠+ ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ CGI プログラムã¨ã—ã¦æŒ‡å®šã—ãŸã„å ´åˆã«ã¯ + 以下ã®ã‚ˆã†ãªã‚‚ã®ã‚’使ã„ã¾ã™ã€‚

+ +

+ <Directory /home/*/public_html/cgi-bin>
+ + Options ExecCGI
+ SetHandler cgi-script
+
+ </Directory> +

+ + +
top
+
+

CGI プログラムを書ã

+ + +

「通常ã®ã€ãƒ—ログラミング㨠CGI + プログラミングã®é–“ã«ã¯ä¸»ã«äºŒã¤ã®é•ã„ãŒã‚ã‚Šã¾ã™ã€‚

+ +

一ã¤ã¯ã€CGI プログラムã®ã™ã¹ã¦ã®å‡ºåŠ›ã«ã¯MIME タイプ + ヘッダを付ã‘ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ã“ã‚Œã¯ã©ã®ã‚ˆã†ãªç¨®é¡žã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å—ã‘å–ã£ã¦ã„ã‚‹ã‹ã‚’クライアントã«ç¤ºã™ + HTTP ヘッダã§ã™ã€‚ã»ã¨ã‚“ã©ã®å ´åˆã§ã¯ã€æ¬¡ã®ã‚ˆã†ã«å‡ºåŠ›ã—ã¾ã™:

+ +

+ Content-type: text/html +

+ +

ã‚‚ã†ä¸€ã¤ã¯ã€å‡ºåŠ›ã‚’ HTML + ã‹ã€ãƒ–ラウザãŒè¡¨ç¤ºã™ã‚‹ã“ã¨ãŒã§ãる何ã‹ä»–ã®å½¢å¼ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 大抵ã®å ´åˆã¯ HTML ã§ã—ょã†ãŒã€GIF イメージや他ã®éž HTML + コンテンツを出力ã™ã‚‹ CGI プログラムを書ãã“ã¨ã‚‚ã‚ã‚‹ã§ã—ょã†ã€‚

+ +

ã“れら二点以外ã§ã¯ã€CGI プログラムを書ãã“ã¨ã¯ã€ + ã‚ãªãŸãŒæ›¸ã„ã¦ã„ã‚‹ä»–ã®ãƒ—ログラムã¨ã‚ˆãä¼¼ã¦ã„ã‚‹ã§ã—ょã†ã€‚

+ +

最åˆã® CGI プログラム

+ + +

次ã«ç¤ºã™ã®ã¯ã€ãƒ–ラウザ㫠1 è¡Œå°å­—ã™ã‚‹ CGI + プログラムã®ä¾‹ã§ã™ã€‚以下を入力ã—ã€first.pl + ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã—ã€ãれを cgi-bin + ディレクトリã«ç½®ã„ã¦ãã ã•ã„。

+ +

+ #!/usr/bin/perl
+ print "Content-type: text/html\n\n";
+ print "Hello, World."; +

+ +

Perl ã«ç²¾é€šã—ã¦ã„ãªãã¦ã‚‚〠+ 何ãŒèµ·ã“ã‚‹ã‹ã‚’ç†è§£ã™ã‚‹ã“ã¨ã¯ã§ãã‚‹ã§ã—ょã†ã€‚1 行目ã¯ã€ + /usr/bin/perl ã§è¦‹ã¤ã‘られるインタプリタ㫠+ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’供給ã™ã‚‹ã“ã¨ã§ã“ã®ãƒ—ログラムãŒå®Ÿè¡Œã•ã‚Œã‚‹ã“ã¨ã‚’ + Apache ã« (シェル上ã§å®Ÿè¡Œã—よã†ã¨ã—ã¦ã„ã‚‹ãªã‚‰ã°ã€ãã®ã‚·ã‚§ãƒ«ã« ) + 示ã—ã¾ã™ã€‚2 行目ã¯ã€å‰è¿°ã—ãŸã¨ãŠã‚Š content-type ã®å®šç¾©ã‚’å°å­—ã—ã¾ã™ã€‚ + ã“ã‚Œã«ã¯å¾©å¸°æ”¹è¡Œã®äºŒã¤ã®çµ„を後ã«ä»˜åŠ ã—ã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ãƒ˜ãƒƒãƒ€ã®çµ‚ã‚Šã«ç©ºè¡ŒãŒç½®ã‹ã‚Œã€HTTP + ヘッダã®çµ‚ã‚Šã¨ãƒœãƒ‡ã‚£ã®å§‹ã¾ã‚Šã‚’示ã—ã¾ã™ã€‚3 行目ã¯ã€"Hello, World." + ã¨ã„ã†æ–‡å­—列をå°å­—ã—ã€ã“ã‚Œã§çµ‚ã‚Šã¨ãªã‚Šã¾ã™ã€‚

+ +

好ã¿ã®ãƒ–ラウザを開ãã€ã‚¢ãƒ‰ãƒ¬ã‚¹

+ +

+ http://www.example.com/cgi-bin/first.pl +

+ +

ã‚ã‚‹ã„ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ç½®ã„ãŸãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚’指定ã™ã‚‹ã¨ã€ + Hello, World. + ã¨ã„ㆠ1 è¡ŒãŒãƒ–ラウザウィンドã«ç¾ã‚Œã‚‹ã§ã—ょã†ã€‚ + ãã‚Œã¯ã‚ã¾ã‚Šã‚¨ã‚­ã‚µã‚¤ãƒ†ã‚£ãƒ³ã‚°ãªã“ã¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + ã—ã‹ã—ã€ã“ã‚ŒãŒã†ã¾ãå‹•ã‘ã°ã€ + ä»–ã®ã©ã®ã‚ˆã†ãªã‚‚ã®ã§ã‚‚å‹•ã‹ã™ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+ +
top
+
+

ã—ã‹ã—ã€ã¾ã å‹•ã‹ãªã„ !

+ + +

ウェブã‹ã‚‰ CGI プログラムã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’è¡Œãªã£ãŸã¨ã〠+ ブラウザã§è¦‹ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹å››ã¤ã®åŸºæœ¬çš„ãªã“ã¨ãŒã‚ã‚Šã¾ã™:

+ +
+
CGI プログラムã®å‡ºåŠ›
+
素晴らã—ã„ ! ãã‚Œã¯ã™ã¹ã¦ãŒã†ã¾ãå‹•ã„ãŸã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ + 出力ãŒæ­£å¸¸ã ã‘ã‚Œã©ã‚‚ã€ãƒ–ラウザãŒæ­£å¸¸ã«å‡¦ç†ã—ã¦ãã‚Œãªã„å ´åˆã¯ã€ + æ­£ã—ã„ Content-Type ã‚’ CGI プログラム内㧠+ セットã—ãŸã‹ã‚’確èªã—ã¦ãã ã•ã„。
+ +
CGI プログラムã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã€ã¾ãŸã¯ "POST Method Not Allowed" + ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸
+
ã“ã‚Œã¯ã€CGI プログラムを処ç†ã§ãるよㆠApache + ã‚’é©åˆ‡ã«è¨­å®šã—ã¦ã„ãªã‹ã£ãŸã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚「CGI を許å¯ã™ã‚‹ã‚ˆã†ã« + Apache を設定ã™ã‚‹ã€ã®ç« ã‚’読ã¿ç›´ã—〠+ ã‚ãªãŸãŒä½•ã‚’é–“é•ãˆãŸã‹ã‚’探ã—ã¦ã¿ã¦ãã ã•ã„。 +
+ +
メッセージ㌠"Forbidden" ã§å§‹ã¾ã£ã¦ã„ã‚‹
+
ã“ã‚Œã¯ãƒ‘ーミッションã®å•é¡Œã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ + Apache ã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã¨ã€å¾Œè¿°ã®ã€Œãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ーミッション〠+ ã®ç« ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。 +
+ +
"Internal Server Error" ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸
+
Apache + ã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã¨ã€"Premature end of script headers" + ã¨ã„ã†ãƒ­ã‚°ãŒè¨˜éŒ²ã•ã‚Œã¦ã„ã‚‹ã¨æ€ã„ã¾ã™ã€‚ãã—ã¦ã€ãŠãらã CGI + プログラムã«ã‚ˆã£ã¦ç”Ÿæˆã•ã‚ŒãŸã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚‚記録ã•ã‚Œã¦ã„ã‚‹ã§ã—ょã†ã€‚ + ã“ã®å ´åˆã€CGI プログラムãŒé©åˆ‡ãª + HTTP ヘッダを出力ã§ããªã„原因を知るãŸã‚ã«ã€ + 以下ã®å„ç« ã§ãƒã‚§ãƒƒã‚¯ã—ã¦ã¿ã¦ãã ã•ã„。
+
+ +

ファイルã®ãƒ‘ーミッション

+ + +

サーãƒã¯ã‚ãªãŸã®æ¨©é™ã§å®Ÿè¡Œã•ã‚Œã¦ã„ãªã„ã®ã‚’忘れãªã„よã†ã«ã€‚ + ã¤ã¾ã‚Šã€èµ·å‹•ã™ã‚‹ã¨ãã€ã‚µãƒ¼ãƒã¯ç‰¹æ¨©ã‚’ã‚‚ãŸãªã„ユーザ - 通常 nobody + ã‚„ www ã®æ¨©é™ã§å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ + ファイルを実行ã™ã‚‹ã«ã¯åˆ¥ã®ãƒ‘ーミッションãŒå¿…è¦ã¨ãªã‚Šã¾ã™ã€‚ + 通常ã€nobody ãŒå®Ÿè¡Œã™ã‚‹ã®ã«å分ãªãƒ‘ーミッションを与ãˆã‚‹æ–¹æ³•ã¯ã€ + ファイルã«èª°ã§ã‚‚実行å¯èƒ½ã¨ã™ã‚‹ãƒ‘ーミッションを与ãˆã‚‹ã“ã¨ã§ã™:

+ +

+ chmod a+x first.pl +

+ +

ã¾ãŸã€ã‚‚ã—ã‚ãªãŸã®ãƒ—ログラムãŒä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿æ›¸ãã™ã‚‹ãªã‚‰ã°ã€ + ãれらã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€ã“ã‚ŒãŒå¯èƒ½ã¨ãªã‚‹æ­£ã—ã„パーミッション + ã‚’æŒã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ + + +

パス情報ã¨ç’°å¢ƒ

+ + +

コマンドラインã‹ã‚‰ãƒ—ログラムを実行ã™ã‚‹ã¨ã〠+ æ„è­˜ã—ãªãã¦ã‚‚シェルã«æ¸¡ã•ã‚Œã‚‹æƒ…å ±ãŒã‚ã‚Šã¾ã™ã€‚ + 例ãˆã°ã€å‚ç…§ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãŸã‚ã«ã©ã“を検索ã—ãŸã‚‰ã‚ˆã„ã‹ã‚’ + シェルã«ä¼ãˆã‚‹ PATH ãŒã‚ã‚Šã¾ã™ã€‚

+ +

プログラム㌠CGI プログラムã¨ã—ã¦ã‚¦ã‚§ãƒ–サーãƒã«ã‚ˆã£ã¦å®Ÿè¡Œã•ã‚Œã‚‹ã¨ã〠+ ãã‚Œã¯åŒã˜ PATH ã§ã¯ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + CGI プログラム内ã§å‘¼ã³å‡ºã™ã‚らゆるプログラム + (例ãˆã°ã€sendmail ã®ã‚ˆã†ãªã‚‚ã®) ã¯ã€ + フルパスã§æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚ãã‚Œã«ã‚ˆã‚Šã€CGI + プログラムを実行ã—よã†ã¨ã—ãŸã¨ã〠+ シェルã¯ãã®ã‚ˆã†ãªãƒ—ログラムを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

åŒæ§˜ãªã“ã¨ã¯ã€ã‚¹ã‚¯ãƒªãƒ—トã®ã‚¤ãƒ³ã‚¿ãƒ—リタ (ã—ã°ã—ã° perl) + ã¸ã®ãƒ‘スã§ã€CGI プログラム㮠1 行目ã«æ¬¡ã®ã‚ˆã†ã«ç¤ºã•ã‚Œã¾ã™:

+ +

+ #!/usr/bin/perl +

+ +

ã“ã‚ŒãŒã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã¸ã®å®Ÿéš›ã®ãƒ‘スã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãŠãã¾ã™ã€‚

+ + +

ã¾ãŸã€CGI プログラムãŒä»–ã®ç’°å¢ƒå¤‰æ•°ã«ä¾å­˜ã—ã¦ã„ã‚‹å ´åˆã¯ã€ãã®ç’°å¢ƒå¤‰æ•°ãŒ + Apache ã‹ã‚‰æ¸¡ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

プログラムエラー

+ + +

CGI + プログラムãŒå¤±æ•—ã™ã‚‹ã®ã¯å¤§æŠµã€ãƒ—ログラム自身ã«å•é¡ŒãŒã‚ã‚‹å ´åˆã§ã™ã€‚ + 一度 CGI ã®ä½¿ã„方をç†è§£ã—ã€å‰è¿°ã®äºŒã¤ã®èª¤ã‚Šã‚’犯ã—ã¦ã„ãªã„ãªã‚‰ã°ã€ + ã¾ãšé–“é•ã„ãªããã†ã§ã—ょã†ã€‚ブラウザを使ã£ã¦ãƒ†ã‚¹ãƒˆã™ã‚‹å‰ã« + ã¾ãšç¢ºèªã™ã‚‹ã“ã¨ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‹ã‚‰ãƒ—ログラムãŒå®Ÿè¡Œã§ãã‚‹ã“ã¨ã§ã™ã€‚ + 例ãˆã°ã€ä»¥ä¸‹ã‚’実行ã—ã¦ã¿ã¦ãã ã•ã„:

+ +

+ cd /usr/local/apache2/cgi-bin
+ ./first.pl +

+ +

(perl インタプリタã¯å‘¼ã°ãªã„ã§ãã ã•ã„。 + シェル㨠Apache ãŒã‚¹ã‚¯ãƒªãƒ—トã®æœ€åˆã®è¡Œã® パス情報 を使ã£ã¦è¦‹ã¤ã‘ã¾ã™ã€‚)

+ +

最åˆã«ãƒ—ログラムã‹ã‚‰å‡ºåŠ›ã•ã‚Œã‚‹ã®ã¯ Content-Type ã‚’å«ã¿ã€ + 後ã«ç©ºè¡Œã®ç¶šã HTTP ヘッダã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。他ã®ã‚‚ã®ãŒå‡ºåŠ›ã•ã‚Œã¦ã„ã‚‹ + å ´åˆã¯ã€Apache ã¯ã“ã®ãƒ—ログラムをサーãƒçµŒç”±ã§å®Ÿè¡Œã—よã†ã¨ã—ãŸã¨ãã«ã¯ + Premature end of script headers エラーを出力ã—ã¾ã™ã€‚詳細㯠+ 上記㮠CGI プログラムを書ã を読んã§ãã ã•ã„。

+ + +

エラーログ

+ + +

エラーログã¯å‹é”ã§ã™ã€‚ + å…¨ã¦ã®ã†ã¾ãã„ã‹ãªã„ã“ã¨ã¯ã€ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’生æˆã—ã¾ã™ã€‚ + å¿…ãšãれを最åˆã«è¦‹ã‚‹ã¹ãã§ã™ã€‚ + ã‚‚ã—ã€ã‚ãªãŸãŒã‚¦ã‚§ãƒ–サイトを主催ã—ã¦ã„る場所㌠+ エラーログã®å‚照を許ã—ã¦ã„ãªã„ãªã‚‰ã°ã€ãã£ã¨ä»–ã®ã‚µã‚¤ãƒˆã§ä¸»å‚¬ã™ã‚‹ã¹ãã§ã™ã€‚ + エラーログã®èª­ã¿æ–¹ã‚’å­¦ã¶ã“ã¨ã§ã€ã»ã¨ã‚“ã©å…¨ã¦ã®å•é¡ŒãŒè¿…速ã«ç¢ºèªã•ã‚Œã€ + 迅速ã«è§£æ±ºã•ã‚Œã‚‹ã¨ã„ã†ã“ã¨ãŒåˆ†ã‹ã‚‹ã§ã—ょã†ã€‚

+ + +

Suexec

+ + +

suexec サãƒãƒ¼ãƒˆãƒ—ログラム㯠+ ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚„ユーザã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å ´æ‰€ã«ä¾ã£ã¦ + CGI プログラムをé•ã†ãƒ¦ãƒ¼ã‚¶æ¨©é™ã®ä¸‹ã§èµ°ã‚‰ã›ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚ + Suexec ã®æ¨©é™ã®ãƒã‚§ãƒƒã‚¯ã¯éžå¸¸ã«åŽ³ã—ãã€ãれを満ãŸã•ãªã„å ´åˆã¯ + CGI プログラム㌠Premature end of script headers エラー㧠+ 実行ã•ã‚Œã¾ã›ã‚“。

+ +

suexec を使ã£ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ãŸã‚ã«ã¯ apachectl + -V を実行ã—ã¦ã€SUEXEC_BIN ã®å ´æ‰€ã‚’調ã¹ã¦ãã ã•ã„。 + Apache ãŒãã“ã« suexec ã®ãƒã‚¤ãƒŠãƒªã‚’発見ã—ãŸå ´åˆã¯ã€suexec ㌠+ 使用ã•ã‚Œã¾ã™ã€‚

+ +

suexec を完全ã«ç†è§£ã—ã¦ã„ãªã„é™ã‚Šã€ä½¿ã†ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + suexec を無効ã«ã™ã‚‹ã«ã¯ã€SUEXEC_BIN ã‹ã‚‰æŒ‡ã•ã‚Œã¦ã„ã‚‹ + suexec ãƒã‚¤ãƒŠãƒªã‚’削除 (ã‹åå‰ã‚’変更) ã™ã‚‹ã ã‘ã§ã™ã€‚ + suexec を読んã å¾Œã§ã€ã¾ã ãれを + 使ã„ãŸã„ã®ã§ã‚ã‚Œã°ã€suexec -V を実行ã—㦠suexec ã® + ログファイルã®ä½ç½®ã‚’調ã¹ã€ãã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’使ã£ã¦ãƒãƒªã‚·ãƒ¼é•åã‚’ + 見ã¤ã‘ã¦ãã ã•ã„。

+ +
top
+
+

è£ã§ä½•ãŒèµ·ã“ã£ã¦ã„ã‚‹ã®ã‹?

+ + +

CGI プログラミングã«ç¿’熟ã™ã‚‹ã¨ã€ + è£ã§èµ·ã“ã£ã¦ã„ã‚‹ã“ã¨ã«ã¤ã„ã¦æ›´ã«ç†è§£ã™ã‚‹ã“ã¨ã®å½¹ã«ç«‹ã¡ã¾ã™ã€‚ + ブラウザã¨ã‚µãƒ¼ãƒãŒã©ã®ã‚ˆã†ã«ç›¸äº’通信ã™ã‚‹ã‹ã«ã¤ã„ã¦ã¯ç‰¹ã«ãã†ã§ã™ã€‚ + ãªãœãªã‚‰ã€"Hello, World." + ã‚’å°å­—ã™ã‚‹ãƒ—ログラムを書ãã“ã¨ã¯ãŠãŠã„ã«çµæ§‹ã§ã™ãŒã€ + ãã‚Œã¯ç‰¹ã«æœ‰ç›Šã§ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

環境変数

+ + +

環境変数ã¯ã€ + ã‚ãªãŸãŒã‚³ãƒ³ãƒ”ュータを使ã†ã¨ãã«è¾ºã‚Šã«å­˜åœ¨ã—ã¦ã„る値ã§ã™ã€‚ + ãれらã¯ã€ãƒ‘ス + (コマンドをタイプã—ãŸã¨ãã«å®Ÿè¡Œã™ã‚‹å®Ÿéš›ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã—出ã™ã¨ã“ã‚)〠+ ユーザåã€ç«¯æœ«åž‹ãªã©ã®ã‚ˆã†ãªä¾¿åˆ©ãªã‚‚ã®ã§ã™ã€‚ + 通常ã€æ™®æ®µä½¿ç”¨ã—ã¦ã„る環境変数ã®å®Œå…¨ãªãƒªã‚¹ãƒˆã‚’調ã¹ã‚‹ã«ã¯ã€ + コマンドプロンプト㧠env を入力ã—ã¾ã™ã€‚

+ +

CGI ã®å‡¦ç†ä¸­ã€ã‚µãƒ¼ãƒã¨ãƒ–ラウザも環境変数を設定ã—〠+ ãã‚Œã«ã‚ˆã‚Šç›¸äº’ã«é€šä¿¡ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + ãã®ç’°å¢ƒå¤‰æ•°ã¯ã€ãƒ–ラウザタイプ (Netscape, IE, Lynx)ã€ã‚µãƒ¼ãƒã‚¿ã‚¤ãƒ— + (Apache, IIS, WebSite)ã€å®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹ CGI + プログラムã®åå‰ãªã©ã§ã™ã€‚

+ +

ã“れらã®å¤‰æ•°ã¯ CGI プログラマãŒä½¿ç”¨ã§ãã¾ã™ã€‚ + ãã—ã¦ã€ãã‚Œã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒã®é€šä¿¡ã®è©±ã®åŠåˆ†ã§ã™ã€‚ + å¿…è¦ãªå¤‰æ•°ã®å®Œå…¨ãªãƒªã‚¹ãƒˆã¯ http://hoohoo.ncsa.uiuc.edu/cgi/env.html ã«ã‚ã‚Šã¾ã™ã€‚

+ +

以下ã®å˜ç´”㪠Perl CGI + プログラムã¯ã€æ¸¡ã•ã‚Œã‚‹å…¨ã¦ã®ç’°å¢ƒå¤‰æ•°ã‚’表示ã—ã¾ã™ã€‚åŒæ§˜ã®ãƒ—ログラムã¯ã€ + Apache ディストリビューション㮠cgi-bin + ディレクトリã«äºŒã¤å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ + ã„ãã¤ã‹ã®å¤‰æ•°ãŒå¿…é ˆã§ã‚ã‚Šã€ã„ãã¤ã‹ã¯ä»»æ„ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ãã—ã¦ã€å…¬å¼ã®ãƒªã‚¹ãƒˆã«ã¯ãªã„ã„ãã¤ã‹ã®å¤‰æ•°ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã•ã‚‰ã«ã€Apache ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ç”¨æ„ã•ã‚Œã¦ã„る基本的ãªã‚‚ã®ã« + ã‚ãªãŸè‡ªèº«ã®ç’°å¢ƒå¤‰æ•°ã‚’加ãˆã‚‹ãŸã‚ã®ã€ + 多ãã®ç•°ãªã‚‹æ–¹æ³•ã‚’用æ„ã—ã¦ã—ã¾ã™ã€‚

+ +

+ #!/usr/bin/perl
+ print "Content-type: text/html\n\n";
+ foreach $key (keys %ENV) {
+ + print "$key --> $ENV{$key}<br>";
+
+ } +

+ + +

STDIN 㨠STDOUT

+ + +

サーãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆé–“ã®ã‚‚ã†ä¸€ã¤ã®é€šä¿¡ã¯ã€æ¨™æº–入力 + (STDIN)ã¨æ¨™æº–出力 (STDOUT) + を通ã˜ã¦è¡Œãªã‚ã‚Œã¾ã™ã€‚通常ã®æ–‡è„ˆã«ãŠã„ã¦ã€STDIN + ã¯ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã‚„プログラムãŒå‹•ä½œã™ã‚‹ãŸã‚ã«ä¸Žãˆã‚‰ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ„味ã—〠+ STDOUT ã¯é€šå¸¸ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã¾ãŸã¯ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚’æ„味ã—ã¾ã™ã€‚

+ +

ウェブフォームã‹ã‚‰ CGI プログラムã¸POST + ã—ãŸã¨ãã€ãƒ•ã‚©ãƒ¼ãƒ ã®ãƒ‡ãƒ¼ã‚¿ã¯ç‰¹åˆ¥ãªãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã§æŸã­ã‚‰ã‚Œã€ + STDIN を通ã—ã¦ã€CGI プログラムã«å¼•ã渡ã•ã‚Œã¾ã™ã€‚ + プログラムã¯ãƒ‡ãƒ¼ã‚¿ãŒã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ + ã‚‚ã—ãã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰æ¥ã¦ã„ãŸã‹ã®ã‚ˆã†ã«å‡¦ç†ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

「特別ãªãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã€ã¯ã¨ã¦ã‚‚å˜ç´”ã§ã™ã€‚フィールドåã¨å€¤ã¯ã‚¤ã‚³ãƒ¼ãƒ« + (=) ã§çµã°ã‚Œã¾ã™ã€‚ãã—ã¦å€¤ã®çµ„ã¯ã‚¢ãƒ³ãƒ‘サンド (&) ã§çµã°ã‚Œã¾ã™ã€‚ + スペースã€ã‚¢ãƒ³ãƒ‘サンドã€ã‚¤ã‚³ãƒ¼ãƒ«ã®ã‚ˆã†ãªé¢å€’ãªæ–‡å­—ã¯ã€ + ãれらãŒå‹•ä½œã‚’駄目ã«ã—ãªã„よã†ã«ãã®æ–‡å­—ã«ç›¸å½“ã™ã‚‹ 16 進ã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚ + 全データ文字列ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™: +

+ +

+ name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +

+ +

時々ã€ã“ã®ã‚ˆã†ãªæ–‡å­—列㌠URL + ã«ä»˜åŠ ã•ã‚Œã‚‹ã®ã‚’見るã§ã—ょã†ã€‚ãã®å ´åˆã€ã‚µãƒ¼ãƒã¯ + QUERY_STRING ã¨ã„ã†ç’°å¢ƒå¤‰æ•°ã«ãã®æ–‡å­—列を入れã¾ã™ã€‚ãれ㯠+ GET リクエストã¨å‘¼ã°ã‚Œã¾ã™ã€‚ + HTML フォームã§ã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚’渡ã™ãŸã‚ã« GET 㨠+ POST ã®ã©ã¡ã‚‰ã‚’使用ã™ã‚‹ã‹ã‚’ã€FORM ã‚¿ã‚°ã® + METHOD 属性ã®è¨­å®šã§æŒ‡å®šã—ã¾ã™ã€‚

+ +

CGI プログラムã¯ã€ãã®æ–‡å­—列を役ã«ç«‹ã¤æƒ…å ±ã«åˆ†å‰²ã™ã‚‹è²¬ä»»ãŒã‚ã‚Šã¾ã™ã€‚ + 幸ã„ã«ã‚‚ã€ãã®ãƒ‡ãƒ¼ã‚¿å‡¦ç†ã‚’助ã‘るライブラリやモジュールãŒå­˜åœ¨ã—ã¾ã™ã€‚ + ã“れらã¯ã€CGI プログラムã®ä»–ã®é¢ã§ã‚‚åŒæ§˜ã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +
top
+
+

CGI モジュール/ライブラリ

+ + +

CGI プログラムを書ãã¨ãã€é¢å€’ãªä»•äº‹ã®å¤§éƒ¨åˆ†ã‚’ã—ã¦ãれる + コードライブラリã¾ãŸã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使ã†ã“ã¨ã‚’検討ã™ã¹ãã§ã™ã€‚ + ã“ã‚Œã¯ã‚¨ãƒ©ãƒ¼ã‚’減らã—ã€æ—©ã„開発ã«ã¤ãªãŒã‚Šã¾ã™ã€‚

+ +

Perl 㧠CGI プログラムを書ã„ã¦ã„ã‚‹ãªã‚‰ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ CPAN ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã“ã®ç›®çš„ã®ãŸã‚ã®æœ€ã‚‚æ™®åŠã—ã¦ã„るモジュール㯠CGI.pm ã§ã™ã€‚ + CGI::Lite も検討ã—ã¾ã—ょã†ã€‚ã“ã‚Œã¯ã€ã»ã¨ã‚“ã©ã®ãƒ—ログラム + ã«ãŠã„ã¦å¿…è¦ã¨ã™ã‚‹ã™ã¹ã¦ã®æ©Ÿèƒ½ã®æœ€å°ã‚»ãƒƒãƒˆã®å®Ÿè£…ã§ã™ã€‚

+ +

C 㧠CGI プログラムを書ã„ã¦ã„ã‚‹ãªã‚‰ã€ã„ã‚ã„ã‚㪠+ オプションãŒã‚ã‚Šã¾ã™ã€‚ã“れらã®å†…ã®ä¸€ã¤ã¯ http://www.boutell.com/cgic/ + ã§æä¾›ã•ã‚Œã¦ã„ã‚‹ CGIC ライブラリã§ã™ã€‚

+
top
+
+

æ›´ãªã‚‹æƒ…å ±

+ + +

CGI ã«é–¢ã™ã‚‹æƒ…å ±ã¯ã‚¦ã‚§ãƒ–ã§æ•°å¤šãæä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚CGI + ã®å•é¡Œã«ã¤ã„ã¦ã¯ Usenet ã® comp.infosystems.www.authoring.cgi ã§ã€ + ä»–ã®ãƒ¦ãƒ¼ã‚¶ã¨è«–è­°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚HTML Writers Guide ã® + -servers メーリングリストã¯ã€ã‚ãªãŸã®è³ªå•ã«å›žç­”ã—ã¦ãれるå‰å¤§ãªãƒªã‚½ãƒ¼ã‚¹ã§ã™ã€‚ + http://www.hwg.org/lists/hwg-servers/ + ã§æ›´ã«å¤šãを探ã—出ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ãã—ã¦ã‚‚ã¡ã‚ã‚“ã€ãŠãらã CGI + プログラムã®å‹•ä½œã«é–¢ã™ã‚‹è©³ç´°ã®å…¨ã¦ãŒè¨˜è¿°ã•ã‚Œã¦ã„ã‚‹ + CGI ã®ä»•æ§˜ã‚’読むã¹ãã§ã™ã€‚オリジナルãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ + NCSA + ã§ã€ã‚¢ãƒƒãƒ—デートã•ã‚ŒãŸãƒ‰ãƒ©ãƒ•ãƒˆã‚’ + Common Gateway Interface RFC + プロジェクトã§å‚ç…§ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

CGI ã®å•é¡Œã«ã¤ã„ã¦ã€åŠ ã‚ã£ã¦ã„るメーリングリストã¾ãŸã¯ãƒ‹ãƒ¥ãƒ¼ã‚¹ + グループã«è³ªå•ã‚’é€ã‚‹ã¨ãã€èµ·ã“ã£ãŸã‚‚ã®ã€èµ·ã“ã£ã¦ã»ã—ã„ã“ã¨ã€ + 実際ã«èµ·ã“ã£ãŸã“ã¨ãŒã©ã†é•ã†ã‹ã€ä½¿ç”¨ã—ã¦ã„るサーãƒã€ + CGI プログラムを記述ã—ã¦ã„る言語ã«é–¢ã™ã‚‹å分ãªæƒ…å ±ã¨ã€ + å¯èƒ½ã§ã‚ã‚Œã°å•é¡Œã®ã‚³ãƒ¼ãƒ‰ã‚’æä¾›ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 + ãã†ã™ã‚‹ã“ã¨ã§ã€å•é¡ŒãŒã‚ˆã‚Šé–“å˜ã«è¦‹ã¤ã‹ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+ +

Apache ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã«ãŠã„ã¦å•é¡Œã‚’発見ã—ãŸã“ã¨ã‚’確信ã—ã¦ã„ãªã„é™ã‚Šã€ + CGI ã®å•é¡Œã«é–¢ã™ã‚‹è³ªå•ã‚’ Apache + ãƒã‚°ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«é€ã‚‹ã¹ãã§ãªã„ + ã“ã¨ã«æ³¨ç›®ã—ã¦ãã ã•ã„。

+
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/cgi.html.ko.euc-kr b/docs/manual/howto/cgi.html.ko.euc-kr new file mode 100644 index 0000000..13f1372 --- /dev/null +++ b/docs/manual/howto/cgi.html.ko.euc-kr @@ -0,0 +1,533 @@ + + + + + +¾ÆÆÄÄ¡ ÅõÅ丮¾ó: CGI¸¦ »ç¿ëÇÑ µ¿Àû ÆäÀÌÁö »ý¼º - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ ÅõÅ丮¾ó: CGI¸¦ »ç¿ëÇÑ µ¿Àû ÆäÀÌÁö »ý¼º

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+
+ +
top
+
+

¼Ò°³

+ + + + +

CGI (Common Gateway Interface)´Â À¥¼­¹ö°¡ º¸Åë CGI ÇÁ·Î±×·¥ + ȤÀº CGI ½ºÅ©¸³Æ®¶ó°í ºÎ¸£´Â, (À¥ÆäÀÌÁö ³»¿ëÀ» ¸¸µå´Â) ¿ÜºÎ + ÇÁ·Î±×·¥°ú Åë½ÅÇÏ´Â ¹æ¹ýÀ» Á¤ÀÇÇÑ´Ù. À¥»çÀÌÆ®¿¡¼­ µ¿ÀûÀÎ + ÆäÀÌÁö¸¦ ¸¸µå´Â °¡Àå ÈçÇÏ°í °£´ÜÇÑ ¹æ¹ýÀÌ´Ù. ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ + À¥¼­¹ö¿¡ CGI¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÏ°í, CGI ÇÁ·Î±×·¥À» + ÀÛ¼ºÇغ»´Ù.

+
top
+
+

CGI¸¦ Çã¿ëÇϵµ·Ï ¾ÆÆÄÄ¡ ¼³Á¤Çϱâ

+ + +

CGI ÇÁ·Î±×·¥ÀÌ ¿Ã¹Ù·Î µ¿ÀÛÇÏ·Á¸é CGI ½ÇÇàÀÌ °¡´ÉÇϵµ·Ï + ¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¼³Á¤ÇÏ´Â ¹æ¹ýÀº ¿©·¯°¡Áö´Ù.

+ +

ScriptAlias

+ + +

ScriptAlias + Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é ¾ÆÆÄÄ¡´Â ƯÁ¤ µð·ºÅ丮¸¦ CGI ÇÁ·Î±×·¥¿ëÀ¸·Î + µÐ´Ù. ¾ÆÆÄÄ¡´Â ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏÀÌ CGI + ÇÁ·Î±×·¥À̶ó°í °¡Á¤ÇÏ¿© Ŭ¶óÀ̾ðÆ®°¡ ÀÚ¿øÀ» ¿äûÇϸé ÀÚ¿øÀ» + ½ÇÇàÇÏ·Á°í ½ÃµµÇÑ´Ù.

+ +

ScriptAlias + Áö½Ã¾î´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.

+ +

+ ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ +

+ +

À§ ¿¹Á¦´Â ¾ÆÆÄÄ¡¸¦ ±âº» Àå¼Ò¿¡ ¼³Ä¡ÇÑ °æ¿ì + httpd.conf ¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀÌ´Ù. ScriptAlias Áö½Ã¾î´Â Alias Áö½Ã¾î¿Í °°ÀÌ URL + ¾ÕºÎºÐÀ» ƯÁ¤ µð·ºÅ丮·Î ´ëÀÀÇÑ´Ù. + Alias¿Í + ScriptAlias´Â º¸Åë DocumentRoot µð·ºÅ丮 ¹Û¿¡ ÀÖ´Â + µð·ºÅ丮¿¡ »ç¿ëÇÑ´Ù. Alias¿Í + ScriptAliasÀÇ Â÷ÀÌÁ¡Àº + ScriptAlias°¡ Ãß°¡·Î URL ¾ÕºÎºÐÀ¸·Î + ½ÃÀÛÇÏ´Â ¸ðµç ÆÄÀÏÀ» CGI ÇÁ·Î±×·¥À¸·Î Ãë±ÞÇÏ´Â Á¡ÀÌ´Ù. + ±×·¡¼­ À§ÀÇ ¼³Á¤Àº ¾ÆÆÄÄ¡¿¡°Ô /cgi-bin/À¸·Î + ½ÃÀÛÇÏ´Â ÀÚ¿øÀ» ¿äûÇϸé + /usr/local/apache2/cgi-bin/ µð·ºÅ丮¿¡¼­ + ã¾Æ¼­ CGI ÇÁ·Î±×·¥À¸·Î ó¸®Ç϶ó°í ¾Ë¸°´Ù.

+ +

¿¹¸¦ µé¾î, URL + http://www.example.com/cgi-bin/test.plÀ» + ¿äûÇÏ¸é ¾ÆÆÄÄ¡´Â + /usr/local/apache2/cgi-bin/test.pl ÆÄÀÏÀ» + ½ÇÇàÇÏ¿© °á°ú¸¦ ¹ÝȯÇÑ´Ù. ¹°·Ð ÆÄÀÏÀÌ Á¸ÀçÇÏ°í ½ÇÇà°¡´ÉÇϸç + ¾î¶² ¹æ¹ýÀ¸·Îµç Ãâ·ÂÀ» ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¾ÆÆÄÄ¡´Â + ¿À·ù¹®À» º¸³½´Ù.

+ + +

ScriptAlias µð·ºÅ丮 ¹Û¿¡ ÀÖ´Â CGI

+ + +

º¸Åë º¸¾È»ó ÀÌÀ¯¶§¹®¿¡ CGI ÇÁ·Î±×·¥Àº ScriptAliasÇÑ µð·ºÅ丮¿¡ + ÇÑÁ¤ÇÑ´Ù. ±×·¡¼­ °ü¸®ÀÚ´Â ´©°¡ CGI ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö + ÀÖ´ÂÁö ¾ö°ÝÈ÷ °¨µ¶ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª Àû´çÇÑ º¸¾ÈÁ¶Ä¡¸¦ + ÃëÇß´Ù¸é ¾Æ¹« µð·ºÅ丮¿¡¼­³ª CGI ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¾ÊÀ» + ÀÌÀ¯°¡ ¾ø´Ù. ¿¹¸¦ µé¾î, UserDir Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ È¨µð·ºÅ丮¿¡ À¥ÆäÀÌÁö¸¦ °¡Áö´Â °æ¿ì¸¦ + °¡Á¤ÇÏÀÚ. »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ CGI ÇÁ·Î±×·¥À» »ç¿ëÇÏ°í ½ÍÀºµ¥ + cgi-bin µð·ºÅ丮¿¡ Á¢±Ù±ÇÇÑÀÌ ¾ø´Ù¸é, ´Ù¸¥ + °÷¿¡¼­¶óµµ CGI ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°í ½ÍÀ» °ÍÀÌ´Ù.

+ +

¾Æ¹« µð·ºÅ丮¿¡¼­³ª CGI ½ÇÇàÀ» Çã¿ëÇÏ·Á¸é µÎ °úÁ¤ÀÌ + ÇÊ¿äÇÏ´Ù. ¸ÕÀú, AddHandler³ª SetHandler Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + cgi-script Çڵ鷯¸¦ ÀÛµ¿ÇØ¾ß ÇÑ´Ù. µÎ¹ø°·Î, + Options Áö½Ã¾î¿¡ + ExecCGI¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù.

+ + +

Options¸¦ »ç¿ëÇÏ¿© ¸í½ÃÀûÀ¸·Î CGI ½ÇÇàÀ» Çã¿ëÇϱâ

+ + +

¼­¹öÀÇ ÁÖ¼³Á¤ÆÄÀÏ¿¡ Á÷Á¢ Options Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ƯÁ¤ + µð·ºÅ丮¿¡¼­ CGI ½ÇÇàÀ» Çã¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

+ <Directory /usr/local/apache2/htdocs/somedir>
+ + Options +ExecCGI
+
+ </Directory> +

+ +

À§ Áö½Ã¾î·Î ¾ÆÆÄÄ¡´Â CGI ÆÄÀÏÀÇ ½ÇÇàÀ» Çã¿ëÇÑ´Ù. ¾î¶² + ÆÄÀÏÀÌ CGI ÆÄÀÏÀÎÁöµµ ¼­¹ö¿¡°Ô ¾Ë·Á¾ß ÇÑ´Ù. ´ÙÀ½ AddHandler Áö½Ã¾î´Â ¼­¹ö¿¡°Ô + È®ÀåÀÚ°¡ cgi³ª plÀÎ ÆÄÀÏÀº ¸ðµÎ + CGI ÇÁ·Î±×·¥À̶ó°í ¾Ë¸°´Ù.

+ +

+ AddHandler cgi-script .cgi .pl +

+ + +

.htaccess ÆÄÀÏ

+ + +

.htaccess ÅõÅ丮¾óÀº + httpd.conf¿¡ Á¢±Ù±ÇÇÑÀÌ ¾ø´Â °æ¿ì¿¡ CGI ÇÁ·Î±×·¥À» + »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù.

+ + +

»ç¿ëÀÚ µð·ºÅ丮

+ + +

¾Æ·¡ ¼³Á¤À» »ç¿ëÇÏ¸é »ç¿ëÀÚ µð·ºÅ丮¿¡¼­ .cgi·Î + ³¡³ª´Â ÆÄÀÏÀ» CGI ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇÑ´Ù.

+ +

+ <Directory /home/*/public_html>
+ + Options +ExecCGI
+ AddHandler cgi-script .cgi
+
+ </Directory> +

+ +

´ÙÀ½À» »ç¿ëÇÏ¸é »ç¿ëÀÚ µð·ºÅ丮ÀÇ cgi-bin + ÇÏÀ§µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏÀ» CGI ÇÁ·Î±×·¥À¸·Î ÀνÄÇÑ´Ù.

+ +

+ <Directory /home/*/public_html/cgi-bin>
+ + Options ExecCGI
+ SetHandler cgi-script
+
+ </Directory> +

+ + + +
top
+
+

CGI ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ

+ + +

``ÀϹÝÀûÀÎ'' ÇÁ·Î±×·¡¹Ö°ú CGI ÇÁ·Î±×·¡¹Ö »çÀÌ¿¡´Â µÎ°¡Áö + ÁÖµÈ Â÷ÀÌÁ¡ÀÌ ÀÖ´Ù.

+ +

ù¹ø° Â÷ÀÌ´Â CGI ÇÁ·Î±×·¥Àº ´Ù¸¥ Ãâ·ÂÀ» ÇϱâÀü¿¡ ¸ÕÀú + MIME-type Çì´õ¸¦ Ãâ·ÂÇØ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. HTTP Çì´õ´Â + Ŭ¶óÀ̾ðÆ®¿¡°Ô Ŭ¶óÀ̾ðÆ®°¡ ¾î¶² ³»¿ëÀ» ¹Þ°ÔµÉÁö ¹Ì¸® ¾Ë¸°´Ù. + º¸Åë ´ÙÀ½°ú °°´Ù.

+ +

+ Content-type: text/html +

+ +

µÎ¹ø° Â÷ÀÌ´Â HTML ȤÀº ºê¶ó¿ìÀú°¡ º¸¿©ÁÙ ¼ö ÀÖ´Â Çü½ÄÀ¸·Î + Ãâ·ÂÇØ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. ´ëºÎºÐÀÇ °æ¿ì HTMLÀ» Ãâ·ÂÇÏÁö¸¸, + ¶§¶§·Î gif ±×¸²°ú °°ÀÌ HTMLÀÌ ¾Æ´Ñ ³»¿ëÀ» Ãâ·ÂÇÏ´Â CGI + ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °æ¿ìµµ ÀÖ´Ù.

+ +

µÎ°¡Áö¸¦ Á¦¿ÜÇÏ°í´Â CGI ÇÁ·Î±×·¥ ÀÛ¼ºÀº ÀÌ¹Ì ¸¸µé¾î º¸¾ÒÀ» + ´Ù¸¥ ÇÁ·Î±×·¥µé°ú ¸Å¿ì ºñ½ÁÇÏ´Ù.

+ +

óÀ½À¸·Î ¸¸µç CGI ÇÁ·Î±×·¥

+ + +

´ÙÀ½Àº ºê¶ó¿ìÀú¿¡ ÇÑ ÁÙÀ» Âï´Â CGI ÇÁ·Î±×·¥ ¿¹Á¦´Ù. + ±×´ë·Î first.plÀ̶ó´Â ÆÄÀÏ¿¡ ÀúÀåÇÏ°í, + cgi-bin µð·ºÅ丮¿¡ º¹»çÇÑ´Ù.

+ +

+ #!/usr/bin/perl
+ print "Content-type: text/html\n\n";
+ print "Hello, World."; +

+ +

Perl¿¡ Àͼ÷ÇÏÁö ¾Ê´õ¶óµµ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö ¾Ë ¼ö + ÀÖ´Ù. ù¹ø° ÁÙÀº ¾ÆÆÄÄ¡(ȤÀº »ç¿ëÇÏ´Â ½©)¿¡°Ô + /usr/bin/perl À§Ä¡¿¡ ÀÖ´Â ÀÎÅÍÇÁ¸®ÅÍÀ» »ç¿ëÇÏ¿© + ÀÌ ÇÁ·Î±×·¥ ÆÄÀÏÀ» ½ÇÇàÇ϶ó°í ¾Ë¸°´Ù. µÎ¹ø° ÁÙÀº ¹æ±Ý + ¸»ÇÑ content-type ¼±¾ðÀ» Ãâ·ÂÇÏ°í carriage-return ÁٹٲÞÀ» + µÎ¹ø Ãâ·ÂÇÑ´Ù. ±×·¯¸é Çì´õ µÚ¿¡ HTTP Çì´õÀÇ ³¡À» ¶æÇÏ´Â + ºóÁÙÀÌ »ý±â°í, º»¹®ÀÌ ½ÃÀÛÇÑ´Ù. ¼¼¹ø° ÁÙÀº "Hello, World." + ¹®ÀÚ¿­À» Ãâ·ÂÇÑ´Ù. ÀÌ°ÍÀ¸·Î ³¡ÀÌ´Ù.

+ +

ºê¶ó¿ìÀú¸¦ ½ÇÇàÇÏ°í ÁÖ¼Ò¸¦ ÀÔ·ÂÇÑ´Ù

+ +

+ http://www.example.com/cgi-bin/first.pl +

+ +

ÆÄÀÏ Àå¼Ò¸¦ ÀÔ·ÂÇϸé, ºê¶ó¿ìÀúâ¿¡ Hello, World. + ÇÑ ÁÙÀÌ º¸ÀδÙ. ÈïºÐµÇÁö´Â ¾ÊÁö¸¸, Çѹø µ¿ÀÛÇÏ´Â °ÍÀ» + º¸¾ÒÀ¸´Ï ÀÌÁ¦ ´Ù¸¥ °ÍÀ» ½ÃµµÇØ º¼ ¼ö ÀÖ´Ù.

+ +
top
+
+

±×·¯³ª ¾ÆÁ÷ µ¿ÀÛÇÏÁö ¾Ê¾Æ¿ä!

+ + +

À¥¿¡¼­ CGI ÇÁ·Î±×·¥¿¡ Á¢±ÙÇÒ¶§ ºê¶ó¿ìÀú¿¡ ³ª¿Ã ¼ö ÀÖ´Â + ³»¿ëÀº ±âº»ÀûÀ¸·Î ³×°¡Áö´Ù.

+ +
+
CGI ÇÁ·Î±×·¥ÀÇ Ãâ·Â
+
ÁÁ´Ù! ¸ðµç °ÍÀÌ Àß µ¿ÀÛÇÑ´Ù´Â ¶æÀÌ´Ù. Ãâ·ÂÀº Á¤È®ÇÏÁö¸¸ + ºê¶ó¿ìÀú°¡ ¿Ã¹Ù·Î ó¸®ÇÏÁö ¸øÇÑ´Ù¸é, CGI ÇÁ·Î±×·¥¿¡¼­ + ¿Ã¹Ù¸¥ Content-TypeÀ» ¼³Á¤ÇÏ¿´´ÂÁö È®ÀÎÇÑ´Ù.
+ +
CGI ÇÁ·Î±×·¥ ¼Ò½ºÄÚµå ȤÀº "POST Method Not Allowed" + ¹®±¸
+
CGI ÇÁ·Î±×·¥À» ½ÇÇàÇϵµ·Ï ¾ÆÆÄÄ¡¸¦ ÀûÀýÈ÷ ¼³Á¤ÇÏÁö + ¾Ê¾Ò´Ù´Â ¶æÀÌ´Ù. ¾ÆÆÄÄ¡ ¼³Á¤Çϱâ + ÀýÀ» ´Ù½Ã ÀÐ°í »©¸ÔÀº ºÎºÐÀÌ ÀÖ´ÂÁö ã¾ÆºÁ¶ó.
+ +
"Forbidden"À¸·Î ½ÃÀÛÇÏ´Â ¹®±¸
+
±ÇÇÑ ¹®Á¦°¡ ÀÖ´Ù´Â ¶æÀÌ´Ù. ¾ÆÆÄÄ¡ + ¿À·ù ·Î±×¿Í ¾Æ·¡ ÆÄÀϱÇÇÑ + ÀýÀ» È®ÀÎÇ϶ó.
+ +
"Internal Server Error"¶ó´Â ¹®±¸
+
¾ÆÆÄÄ¡ ¿À·ù ·Î±×¸¦ º¸¸é ¾Æ¸¶µµ + CGI ÇÁ·Î±×·¥ÀÌ Ãâ·ÂÇÑ ¿À·ù¹®°ú ÇÔ²² "Premature end of + script headers"°¡ º¸ÀÏ °ÍÀÌ´Ù. ÀÌ °æ¿ì ¾Æ·¡ ³»¿ëµéÀ» Çϳª¾¿ + È®ÀÎÇÏ¿© ¾î¶² ÀÌÀ¯·Î CGI ÇÁ·Î±×·¥ÀÌ ÀûÀýÇÑ HTTP Çì´õ¸¦ + Ãâ·ÂÇÏÁö ¸øÇß´ÂÁö ¾Ë¾Æº»´Ù.
+
+ +

ÆÄÀϱÇÇÑ

+ + +

¼­¹ö´Â ´ç½Å°ú µ¿ÀÏÇÑ °èÁ¤À¸·Î µ¿ÀÛÇÏÁö ¾ÊÀ½À» ¸í½ÉÇ϶ó. + Áï, ¼­¹ö°¡ ½ÃÀÛÇÏ¸é ¼­¹ö´Â ºñƯ±Ç »ç¿ëÀÚ ±ÇÇÑ(º¸Åë + nobody³ª www)À¸·Î µ¿ÀÛÇÑ´Ù. + ±×·¡¼­ ´ç½ÅÀÌ ¼ÒÀ¯ÇÑ ÆÄÀÏÀ» ½ÇÇàÇÏ·Á¸é ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù. + ÆÄÀÏ¿¡ nobody°¡ ½ÇÇàÇϱ⿡ ÃæºÐÇÑ ±ÇÇÑÀ» + ÁÖ±âÀ§ÇØ º¸Åë ¸ðµÎ¿¡°Ô ÆÄÀÏÀÇ ½ÇÇà ±ÇÇÑÀ» ÁØ´Ù.

+ +

+ chmod a+x first.pl +

+ +

¶Ç, ÇÁ·Î±×·¥ÀÌ ´Ù¸¥ ÆÄÀÏÀ» Àаųª ¾´´Ù¸é ÀÌ ÆÄÀÏ¿¡µµ + ÀûÀýÇÑ ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.

+ + + +

°æ·Î Á¤º¸¿Í ȯ°æ

+ + +

¸í·ÉÇà¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇàÇϸé ÀÚµ¿À¸·Î ¾î¶² Á¤º¸°¡ + ½©·Î Àü´ÞµÈ´Ù. ¿¹¸¦ µé¾î, PATH´Â ½©¿¡°Ô ´ç½ÅÀÌ + ¸»ÇÑ ÆÄÀÏÀ» ãÀ» Àå¼Ò¸¦ ¾Ë·ÁÁØ´Ù.

+ +

À¥¼­¹ö°¡ ÇÁ·Î±×·¥À» CGI ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇÒ¶§´Â + PATH°¡ ´Ù¸¦ ¼ö ÀÖ´Ù. (¿¹¸¦ µé¾î, + sendmail °°ÀÌ) CGI ÇÁ·Î±×·¥ ¾È¿¡¼­ ½ÇÇàÇÏ´Â + ¸í·É¾î´Â ¿ÏÀüÇÑ °æ·Î·Î ¸í½ÃÇØ¾ß ½©ÀÌ ¸í·É¾î¸¦ ãÀ» ¼ö + ÀÖ´Ù.

+ +

°æ·Î ¹®Á¦´Â ´ÙÀ½°ú °°ÀÌ CGI ÇÁ·Î±×·¥ ù¹ø° ÁÙ¿¡ ³ª¿À´Â + ½ºÅ©¸³Æ® ÀÎÅÍÇÁ¸®ÅÍ (º¸Åë perl) °æ·Î¿¡¼­ + ÀÚÁÖ ¹ß»ýÇÑ´Ù.

+ +

+ #!/usr/bin/perl +

+ +

½ÇÁ¦·Î ÀÎÅÍÇÁ¸®ÅÍÀÇ °æ·ÎÀÎÁö È®ÀÎÇÑ´Ù.

+ +

¶Ç, CGI ÇÁ·Î±×·¥ÀÌ ´Ù¸¥ ȯ°æº¯¼ö¸¦ + »ç¿ëÇÑ´Ù¸é ¾ÆÆÄÄ¡°¡ ÀÌ º¯¼öµéÀ» ÇÁ·Î±×·¥¿¡°Ô Àü´ÞÇØ¾ß + ÇÑ´Ù.

+ + + +

ÇÁ·Î±×·¥ ¿À·ù

+ + +

CGI ÇÁ·Î±×·¥ÀÌ ½ÇÆÐÇÏ´Â °æ¿ì ´ëºÎºÐ ÇÁ·Î±×·¥ ÀÚü + ¹®Á¦¶§¹®ÀÌ´Ù. ƯÈ÷ À§ÀÇ µÎ°¡Áö ½Ç¼ö¸¦ ÇÏÁö ¾Ê¾Ò°í ÀÌ ±ÛÀ» + °è¼Ó º¸°í ÀÖ´Ù¸é ´õ´õ¿í ±×·¸´Ù. ¸ÕÀú À¥¼­¹ö¿¡¼­ ½ÇÇàÇϱâ + Àü¿¡ ¸í·ÉÇà¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇàÇغ»´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú + °°ÀÌ ½ÇÇàÇÑ´Ù.

+ +

+ cd /usr/local/apache2/cgi-bin
+ ./first.pl +

+ +

(perl ÀÎÅÍÇÁ¸®Å͸¦ ½ÇÇàÇÏÁö ¸¶¶ó. ½©°ú + ¾ÆÆÄÄ¡´Â ½ºÅ©¸³Æ® ù¹ø° ÁÙ¿¡ ÀÖ´Â °æ·Î Á¤º¸¸¦ »ç¿ëÇÏ¿© ÀÎÅÍÇÁ¸®Å͸¦ + ã¾Æ¾ß ÇÑ´Ù.)

+ +

ÇÁ·Î±×·¥Àº Á¦ÀÏ ¸ÕÀú Content-TypeÀ» Æ÷ÇÔÇÑ + HTTP Çì´õµéÀ» Ãâ·ÂÇÏ°í ºó ÁÙÀ» Ãâ·ÂÇØ¾ß ÇÑ´Ù. ´Ù¸¥ °ÍÀ» + Ãâ·ÂÇÑ´Ù¸é À¥¼­¹ö¿¡¼­ ½ÇÇàÇÒ °æ¿ì ¾ÆÆÄÄ¡´Â Premature + end of script headers¸¦ ¹ÝȯÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº + À§ÀÇ CGI ÇÁ·Î±×·¥ ÀÛ¼ºÇϱ⸦ Âü°íÇ϶ó.

+ + +

¿À·ù ·Î±×

+ + +

¿À·ù ·Î±×´Â ´ç½Å ÆíÀÌ´Ù. ¹«¾ð°¡ À߸øµÇ¸é ¿À·ù ·Î±×¿¡ + ¹®±¸°¡ »ý±ä´Ù. ¿À·ù ·Î±×¸¦ Á¦ÀÏ ¸ÕÀú »ìÆìºÁ¾ß ÇÑ´Ù. À¥»çÀÌÆ®¸¦ + È£½ºÆÃÇÏ´Â °÷¿¡¼­ ¿À·ù ·Î±×¸¦ º¸Áö ¸øÇÏ°Ô ÇÑ´Ù¸é, ¾Æ¸¶µµ + ´Ù¸¥ ¾÷ü¸¦ ¾Ë¾ÆºÁ¾ß ÇÑ´Ù. ¿À·ù ·Î±×¸¦ º¸´Â ¹æ¹ýÀ» ÀÍÈ÷¸é, + ´ëºÎºÐÀÇ ¹®Á¦¸¦ »¡¸® ÆľÇÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ´Ù.

+ + +

Suexec

+ + +

suexec Áö¿ø ÇÁ·Î±×·¥À» + »ç¿ëÇÏ¸é ¾î¶² °¡»óÈ£½ºÆ® ȤÀº ¾î¶² »ç¿ëÀÚ µð·ºÅ丮¿¡ ÀÖ´ÂÁö¿¡ + µû¶ó CGI ÇÁ·Î±×·¥À» ´Ù¸¥ »ç¿ëÀÚ ±ÇÇÑÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù. + Suexec´Â ¸Å¿ì ¾ö°ÝÇÏ°Ô ±ÇÇÑÀ» °Ë»çÇϸç, °Ë»ç¸¦ Çϳª¶óµµ + Åë°úÇÏÁö ¸øÇϸé CGI ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¾Ê°í Premature + end of script headers¸¦ ¹ÝȯÇÑ´Ù.

+ +

suexec¸¦ »ç¿ëÇÏ°í ÀÖ´ÂÁö ¾Ë·Á¸é apachectl -V¸¦ + ½ÇÇàÇÏ¿© SUEXEC_BIN À§Ä¡¸¦ È®ÀÎÇÑ´Ù. ¾ÆÆÄÄ¡°¡ + ½ÃÀÛÇÒ¶§ ±× Àå¼Ò¿¡¼­ suexec ½ÇÇàÆÄÀÏÀ» ¹ß°ßÇϸé, suexec¸¦ + »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

suexec¸¦ ¿ÏÀüÈ÷ ÀÌÇØÇÏÁö ¸øÇß´Ù¸é »ç¿ëÇؼ­´Â ¾ÈµÈ´Ù. + suexec¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸·Á¸é SUEXEC_BIN À§Ä¡¿¡ + ÀÖ´Â suexec ½ÇÇàÆÄÀÏÀ» Áö¿ì°í (ȤÀº ÆÄÀϸíÀ» + ¹Ù²Ù°í) ¼­¹ö¸¦ Àç½ÃÀÛÇÏ¸é µÈ´Ù. suexec¿¡ ´ëÇØ ÀÐÀº ´ÙÀ½ ±×·¡µµ + »ç¿ëÇÏ°í ½Í´Ù¸é, suexec -V¸¦ ½ÇÇàÇÏ¿© suexec + ·Î±×ÆÄÀÏ À§Ä¡¸¦ ¾Ë¾Æ³»°í ·Î±×ÆÄÀÏ¿¡¼­ ´ç½ÅÀÌ ¾î¶² ±ÔÄ¢À» + ¾î±â°í ÀÖ´ÂÁö ã´Â´Ù.

+ +
top
+
+

µÚ¿¡¼­´Â ¹«½¼ ÀÏÀÌ ¹ú¾îÁö´Â°¡?

+ + +

CGI ÇÁ·Î±×·¡¹Ö¿¡ Àͼ÷ÇØÁú¼ö·Ï µÚ¿¡¼­ ¹ú¾îÁö´Â ÀÏÀ» ÀÌÇØÇϸé + µµ¿òÀÌ µÈ´Ù. ±¸Ã¼ÀûÀ¸·Î ºê¶ó¿ìÀú¿Í ¼­¹ö°¡ ¼­·Î Åë½ÅÇÏ´Â + ¹æ¹ýÀ» ¸»ÇÏ´Â °ÍÀÌ´Ù. ¸ô¶óµµ "Hello, World."¸¦ Ãâ·ÂÇÏ´Â + ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖÁö¸¸ ÀÌ·± ÇÁ·Î±×·¥Àº º°·Î ¾µ¸ð°¡ + ¾ø±â¶§¹®ÀÌ´Ù.

+ +

ȯ°æº¯¼ö

+ + +

ȯ°æº¯¼ö´Â ´ç½ÅÀÌ ÄÄÇ»Å͸¦ »ç¿ëÇÏ´Â µ¿¾È ´ç½Å ÁÖÀ§¸¦ + ¶°´Ù´Ï´Â °ªÀÌ´Ù. ȯ°æº¯¼ö´Â path (ÄÄÇ»ÅÍ°¡ ´ç½ÅÀÌ ÀÔ·ÂÇÑ + ¸í·É¾î¿¡ ÇØ´çÇÏ´Â ½ÇÁ¦ ÆÄÀÏÀ» ã´Â Àå¼Ò), »ç¿ëÀÚ¸í, Å͹̳Π+ Á¾·ù¿Í °°ÀÌ À¯¿ëÇÑ Á¤º¸´Ù. ÀϹÝÀûÀΠȯ°æº¯¼ö¸¦ ¸ðµÎ º¸·Á¸é + ¸í·ÉÇà ÇÁ·ÒÇÁÆ®¿¡¼­ env¸¦ ÀÔ·ÂÇÑ´Ù.

+ +

CGI¸¦ ½ÇÇàÇÒ¶§µµ ¼­¹ö¿Í ºê¶ó¿ìÀú´Â °¢ÀÚÀÇ È¯°æº¯¼ö¸¦ + ¼­·Î ±³È¯ÇÑ´Ù. ÀÌ Á¤º¸¿¡´Â ºê¶ó¿ìÀú Á¾·ù (Netscape, IE, + Lynx), ¼­¹ö Á¾·ù (¾ÆÆÄÄ¡, IIS, WebSite), ½ÇÇàÇÏ´Â CGI + ÇÁ·Î±×·¥¸í µîÀÌ ÀÖ´Ù.

+ +

CGI ÇÁ·Î±×·¡¸Ó´Â ÀÌ·± º¯¼öµéÀ» »ç¿ëÇÒ ¼ö ÀÖ°í, + ȯ°æº¯¼ö´Â Ŭ¶óÀ̾ðÆ®-¼­¹ö Åë½Å¿¡´Â ÀϺκÐÀ» Â÷ÁöÇÑ´Ù. + Àüü Çʼö º¯¼ö ¸ñ·ÏÀº http://hoohoo.ncsa.uiuc.edu/cgi/env.html¿¡ ÀÖ´Ù.

+ +

¾Æ·¡ °£´ÜÇÑ Perl CGI ÇÁ·Î±×·¥Àº Àڽſ¡°Ô Àü´ÞµÈ ¸ðµç + ȯ°æº¯¼ö¸¦ º¸¿©ÁØ´Ù. ¾ÆÆÄÄ¡ ¹èÆ÷º»ÀÇ cgi-bin + µð·ºÅ丮¿¡ ÀÌ¿Í ºñ½ÁÇÑ ÇÁ·Î±×·¥ÀÌ µÎ°³ ÀÖ´Ù. ¸î¸î º¯¼ö´Â + ÇʼöÀÌ°í ³ª¸ÓÁö´Â ¼±ÅÃÀûÀÌ´Ù. ±×·¡¼­ °ø½Ä ¸ñ·Ï¿¡ ¾ø´Â + º¯¼öµµ º¸ÀδÙ. ¶Ç, ¾ÆÆÄÄ¡´Â ±âº»ÀûÀ¸·Î Á¦°øÇϴ ȯ°æº¯¼ö + ¿Ü¿¡ ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î Á÷Á¢ ȯ°æº¯¼ö¸¦ + Ãß°¡ÇÒ ¼ö ÀÖ´Ù.

+ +

+ #!/usr/bin/perl
+ print "Content-type: text/html\n\n";
+ foreach $key (keys %ENV) {
+ + print "$key --> $ENV{$key}<br>";
+
+ } +

+ + +

STDIN°ú STDOUT

+ + +

¶Ç, ¼­¹ö¿Í Ŭ¶óÀ̾ðÆ®´Â Ç¥ÁØÀÔ·Â(STDIN)°ú + Ç¥ÁØÃâ·Â(STDOUT)À¸·Î Åë½ÅÇÑ´Ù. ÀÏ»óÀûÀÎ °æ¿ì + STDINÀº Å°º¸µå³ª ÇÁ·Î±×·¥ÀÌ Ã³¸®ÇÏ´Â ÆÄÀÏÀ» + ³ªÅ¸³»°í, STDOUTÀº º¸Åë ÄܼÖÀ̳ª È­¸éÀ» ¶æÇÑ´Ù.

+ +

CGI ÇÁ·Î±×·¥¿¡°Ô À¥ ¾ç½Ä(form)À» POSTÇϸé + ¾ç½Ä¿¡ ÀÔ·ÂÇÑ ÀڷḦ Ưº°ÇÑ Çü½ÄÀ¸·Î ¹­¾î¼­ CGI ÇÁ·Î±×·¥ÀÇ + STDINÀ¸·Î Àü´ÞÇÑ´Ù. ±×·¯¸é ÇÁ·Î±×·¥Àº Å°º¸µå³ª + ÆÄÀÏ¿¡¼­ ¾òÀº ÀڷḦ ó¸®ÇϵíÀÌ ÀڷḦ ó¸®ÇÒ ¼ö ÀÖ´Ù.

+ +

"Ưº°ÇÑ Çü½Ä"Àº ¸Å¿ì °£´ÜÇÏ´Ù. Ç׸ñ À̸§°ú °ªÀ» µîÈ£(=)·Î + ¿¬°áÇÏ°í, Ç׸ñ À̸§°ú °ªÀÇ ½ÖµéÀ» ¼­·Î ¾ØÆÛ»÷µå(&)·Î + ¿¬°áÇÑ´Ù. °ø¹é, ¾ÚÆÛ»÷µå, µîÈ£ °°Àº ºÎÀÚ¿¬½º·¯¿î ¹®ÀÚ´Â + È¥µ¿ÇÏÁö ¾Êµµ·Ï 16Áø¼ö·Î º¯È¯ÇÑ´Ù. ¿ÏÀüÇÑ ÀÚ·á ¹®ÀÚ¿­Àº + ´ÙÀ½°ú °°ÀÌ »ý°å´Ù.

+ +

+ name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +

+ +

Á¾Á¾ URL µÚ¿¡¼­ ÀÌ·± ¹®ÀÚ¿­À» º¸°Ô µÈ´Ù. ÀÌ °æ¿ì ¼­¹ö´Â + ¹®ÀÚ¿­À» QUERY_STRINGÀ̶ó´Â ȯ°æº¯¼ö¿¡ ÀúÀåÇÑ´Ù. + À̸¦ GET ¿äûÀ̶ó°í ÇÑ´Ù. FORM + ű×ÀÇ METHOD ¼Ó¼ºÀ» ÁöÁ¤ÇÏ¿© HTML ¾ç½Ä(form)ÀÌ + ÀڷḦ GETÇÒÁö POSTÇÒÁö °áÁ¤ÇÑ´Ù.

+ +

ÀÌÁ¦ ÇÁ·Î±×·¥Àº ÀÌ·± ¹®ÀÚ¿­À» À¯¿ëÇÑ Á¤º¸·Î ÂÉ°³¾ß + ÇÑ´Ù. ´ÙÇàÈ÷µµ ÀÌ·± ÀÚ·á 󸮸¦ µ½°í CGI ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ + ¿©·¯ ¸éÀ» »ìÇÇ´Â ¶óÀ̺귯¸®¿Í ¸ðµâµéÀÌ ÀÖ´Ù.

+ +
top
+
+

CGI ¸ðµâ/¶óÀ̺귯¸®

+ + +

CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ¶§ Áö·çÇÑ ÀÛ¾÷À» ´ë½ÅÇØÁÖ´Â ÄÚµå + ¶óÀ̺귯¸® ȤÀº ¸ðµâÀ» »ç¿ëÇÒÁö °í·ÁÇغÁ¾ß ÇÑ´Ù. ÀÌ·± °ÍÀ» + »ç¿ëÇÏ¸é ¹ö±×°¡ ÁÙ°í ´õ »¡¸® ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ´Ù.

+ +

Perl·Î CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù¸é CPAN¿¡¼­ °ü·Ã ¸ðµâµéÀ» ãÀ» + ¼ö ÀÖ´Ù. CGI °³¹ß¿¡ °¡Àå ³Î¸® »ç¿ëµÇ´Â ¸ðµâÀº + CGI.pmÀÌ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¥¿¡ ÃæºÐÇÑ ÃÖ¼Ò + ±â´ÉÀ» ±¸ÇöÇÑ CGI::Liteµµ °í·ÁÇØ º¼ ¼ö ÀÖ´Ù.

+ +

C·Î CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù¸é ¼±ÅÃÀÇ ¿©Áö°¡ ¸¹´Ù. ÀÌÁß + Çϳª°¡ http://www.boutell.com/cgic/¿¡ + ÀÖ´Â CGIC ¶óÀ̺귯¸®´Ù.

+
top
+
+

´õ ¸¹Àº Á¤º¸...

+ + +

À¥¿¡ ¸Å¿ì ¸¹Àº CGI Á¤º¸°¡ ÀÖ´Ù. ´º½º±×·ì comp.infosystems.www.authoring.cgi¿¡¼­ ¿©·¯ »ç¶÷µé°ú + CGI ¹®Á¦¸¦ ³íÀÇÇÒ ¼ö ÀÖ´Ù. HTML Writers GuildÀÇ -servers + ¸ÞÀϸµ¸®½ºÆ®´Â Áú¹®¿¡ ´ëÇÑ ´äÀ» ã±â¿¡ ÈǸ¢ÇÑ Àå¼Ò´Ù. http://www.hwg.org/lists/hwg-servers/¿¡¼­ ´õ ¸¹Àº °ÍÀ» + ¾Ë ¼ö ÀÖ´Ù.

+ +

±×¸®°í ¹°·Ð CGI ÇÁ·Î±×·¥ µ¿ÀÛ¿¡ ´ëÇÑ ¸ðµç ³»¿ëÀ» ¼³¸íÇÑ + CGI ±Ô¾àÀ» Àоî¾ß ÇÒÁöµµ ¸ð¸¥´Ù. NCSA¿¡ + ¿øº» ¹®¼­°¡ ÀÖ°í, ¼öÁ¤ÇÑ ÃʾÈÀº Common Gateway Interface + RFC ÇÁ·ÎÁ§Æ®¿¡ ÀÖ´Ù.

+ +

¸ÞÀϸµ¸®½ºÆ®³ª ´º½º±×·ì¿¡ ÇöÀç °Ý°í ÀÖ´Â CGI ¹®Á¦¿¡ ´ëÇØ + Áú¹®ÇÒ¶§´Â ¹ß»ýÇÑ Çö»ó°ú ¿ø·¡ ±â´ëÇÑ °á°ú, ½ÇÁ¦·Î ¹ß»ýÇÑ + Çö»óÀÌ ¾î¶»°Ô ´Ù¸¥Áö, »ç¿ëÇÏ´Â ¼­¹ö, CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ + ¾ð¾î, °¡´ÉÇϸé ÇØ´ç Äڵ带 ÀÚ¼¼È÷ Àû¾î¶ó. ±×·¯¸é ÇØ°áÃ¥À» + ã±â ½¬¿öÁø´Ù.

+ +

¾ÆÆÄÄ¡ ¼Ò½ºÄڵ尡 À߸øµÇ¾ú´Ù°í È®½ÅÇÏÁö ¾Ê´Â ÇÑ CGI Áú¹®À» + ¾ÆÆÄÄ¡ ¹ö±× µ¥ÀÌÅͺ£À̽º¿¡ ¿Ã¸®¸é Àý´ë·Î + ¾ÈµÈ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/htaccess.html b/docs/manual/howto/htaccess.html new file mode 100644 index 0000000..1e6a6f0 --- /dev/null +++ b/docs/manual/howto/htaccess.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: htaccess.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: htaccess.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: htaccess.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: htaccess.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: htaccess.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: htaccess.html.pt-br +Content-Language: pt-br +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/howto/htaccess.html.en b/docs/manual/howto/htaccess.html.en new file mode 100644 index 0000000..e16fc1f --- /dev/null +++ b/docs/manual/howto/htaccess.html.en @@ -0,0 +1,465 @@ + + + + + +Apache HTTP Server Tutorial: .htaccess files - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache HTTP Server Tutorial: .htaccess files

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
+ +

.htaccess files provide a way to make configuration +changes on a per-directory basis.

+
+ +
top
+
+

.htaccess files

+ + +
You should avoid using .htaccess files completely if you have access to + httpd main server config file. Using .htaccess files slows down your Apache http server. + Any directive that you can include in a .htaccess file is better set in a Directory block, as it will have the same effect with better performance.
+
top
+
+

What they are/How to use them

+ + +

.htaccess files (or "distributed configuration files") + provide a way to make configuration changes on a per-directory basis. A + file, containing one or more configuration directives, is placed in a + particular document directory, and the directives apply to that + directory, and all subdirectories thereof.

+ +

Note:

+

If you want to call your .htaccess file something + else, you can change the name of the file using the AccessFileName directive. For example, + if you would rather call the file .config then you + can put the following in your server configuration file:

+ +
AccessFileName ".config"
+ +
+ +

In general, .htaccess files use the same syntax as + the main configuration + files. What you can put in these files is determined by the + AllowOverride directive. This + directive specifies, in categories, what directives will be + honored if they are found in a .htaccess file. If a + directive is permitted in a .htaccess file, the + documentation for that directive will contain an Override section, + specifying what value must be in AllowOverride in order for that + directive to be permitted.

+ +

For example, if you look at the documentation for the AddDefaultCharset + directive, you will find that it is permitted in .htaccess + files. (See the Context line in the directive summary.) The Override line reads + FileInfo. Thus, you must have at least + AllowOverride FileInfo in order for this directive to be + honored in .htaccess files.

+ +

Example:

+ + + + + + + + + +
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
+ +

If you are unsure whether a particular directive is permitted in a + .htaccess file, look at the documentation for that + directive, and check the Context line for ".htaccess".

+
top
+
+

When (not) to use .htaccess files

+ +

In general, you should only use .htaccess files when + you don't have access to the main server configuration file. There is, + for example, a common misconception that user authentication should + always be done in .htaccess files, and, in more recent years, + another misconception that mod_rewrite directives + must go in .htaccess files. This is simply not the + case. You can put user authentication configurations in the main server + configuration, and this is, in fact, the preferred way to do + things. Likewise, mod_rewrite directives work better, + in many respects, in the main server configuration.

+ +

.htaccess files should be used in a case where the + content providers need to make configuration changes to the server on a + per-directory basis, but do not have root access on the server system. + In the event that the server administrator is not willing to make + frequent configuration changes, it might be desirable to permit + individual users to make these changes in .htaccess files + for themselves. This is particularly true, for example, in cases where + ISPs are hosting multiple user sites on a single machine, and want + their users to be able to alter their configuration.

+ +

However, in general, use of .htaccess files should be + avoided when possible. Any configuration that you would consider + putting in a .htaccess file, can just as effectively be + made in a <Directory> section in your main server + configuration file.

+ +

There are two main reasons to avoid the use of + .htaccess files.

+ +

The first of these is performance. When AllowOverride + is set to allow the use of .htaccess files, httpd will + look in every directory for .htaccess files. Thus, + permitting .htaccess files causes a performance hit, + whether or not you actually even use them! Also, the + .htaccess file is loaded every time a document is + requested.

+ +

Further note that httpd must look for .htaccess files + in all higher-level directories, in order to have a full complement of + directives that it must apply. (See section on how + directives are applied.) Thus, if a file is requested out of a + directory /www/htdocs/example, httpd must look for the + following files:

+ +

+ /.htaccess
+ /www/.htaccess
+ /www/htdocs/.htaccess
+ /www/htdocs/example/.htaccess +

+ +

And so, for each file access out of that directory, there are 4 + additional file-system accesses, even if none of those files are + present. (Note that this would only be the case if + .htaccess files were enabled for /, which + is not usually the case.)

+ +

In the case of RewriteRule directives, in + .htaccess context these regular expressions must be + re-compiled with every request to the directory, whereas in main + server configuration context they are compiled once and cached. + Additionally, the rules themselves are more complicated, as one must + work around the restrictions that come with per-directory context + and mod_rewrite. Consult the Rewrite Guide for more + detail on this subject.

+ +

The second consideration is one of security. You are permitting + users to modify server configuration, which may result in changes over + which you have no control. Carefully consider whether you want to give + your users this privilege. Note also that giving users less + privileges than they need will lead to additional technical support + requests. Make sure you clearly tell your users what level of + privileges you have given them. Specifying exactly what you have set + AllowOverride to, and pointing them + to the relevant documentation, will save yourself a lot of confusion + later.

+ +

Note that it is completely equivalent to put a .htaccess + file in a directory /www/htdocs/example containing a + directive, and to put that same directive in a Directory section + <Directory "/www/htdocs/example"> in your main server + configuration:

+ +

.htaccess file in /www/htdocs/example:

+ +

Contents of .htaccess file in + /www/htdocs/example

AddType text/example ".exm"
+
+ +

Section from your httpd.conf + file

<Directory "/www/htdocs/example">
+    AddType text/example ".exm"
+</Directory>
+
+ +

However, putting this configuration in your server configuration + file will result in less of a performance hit, as the configuration is + loaded once when httpd starts, rather than every time a file is + requested.

+ +

The use of .htaccess files can be disabled completely + by setting the AllowOverride + directive to none:

+ +
AllowOverride None
+ +
top
+
+

How directives are applied

+ +

The configuration directives found in a .htaccess file + are applied to the directory in which the .htaccess file + is found, and to all subdirectories thereof. However, it is important + to also remember that there may have been .htaccess files + in directories higher up. Directives are applied in the order that they + are found. Therefore, a .htaccess file in a particular + directory may override directives found in .htaccess files + found higher up in the directory tree. And those, in turn, may have + overridden directives found yet higher up, or in the main server + configuration file itself.

+ +

Example:

+ +

In the directory /www/htdocs/example1 we have a + .htaccess file containing the following:

+ +
Options +ExecCGI
+ + +

(Note: you must have "AllowOverride Options" in effect + to permit the use of the "Options" directive in + .htaccess files.)

+ +

In the directory /www/htdocs/example1/example2 we have + a .htaccess file containing:

+ +
Options Includes
+ + +

Because of this second .htaccess file, in the directory + /www/htdocs/example1/example2, CGI execution is not + permitted, as only Options Includes is in effect, which + completely overrides any earlier setting that may have been in + place.

+ +

Merging of .htaccess with the main + configuration files

+ +

As discussed in the documentation on Configuration Sections, + .htaccess files can override the <Directory> sections for + the corresponding directory, but will be overridden by other types + of configuration sections from the main configuration files. This + fact can be used to enforce certain configurations, even in the + presence of a liberal AllowOverride setting. For example, to + prevent script execution while allowing anything else to be set in + .htaccess you can use:

+ +
<Directory "/www/htdocs">
+    AllowOverride All
+</Directory>
+
+<Location "/">
+    Options +IncludesNoExec -ExecCGI
+</Location>
+ + +
This example assumes that your DocumentRoot is /www/htdocs.
+ + +
top
+
+

Authentication example

+ +

If you jumped directly to this part of the document to find out how + to do authentication, it is important to note one thing. There is a + common misconception that you are required to use + .htaccess files in order to implement password + authentication. This is not the case. Putting authentication directives + in a <Directory> + section, in your main server configuration file, is the preferred way + to implement this, and .htaccess files should be used only + if you don't have access to the main server configuration file. See above for a discussion of when you should and should + not use .htaccess files.

+ +

Having said that, if you still think you need to use a + .htaccess file, you may find that a configuration such as + what follows may work for you.

+ +

.htaccess file contents:

+ +
AuthType Basic
+AuthName "Password Required"
+AuthUserFile "/www/passwords/password.file"
+AuthGroupFile "/www/passwords/group.file"
+Require group admins
+ + +

Note that AllowOverride AuthConfig must be in effect + for these directives to have any effect.

+ +

Please see the authentication tutorial for a + more complete discussion of authentication and authorization.

+
top
+
+

Server Side Includes example

+ +

Another common use of .htaccess files is to enable + Server Side Includes for a particular directory. This may be done with + the following configuration directives, placed in a + .htaccess file in the desired directory:

+ +
Options +Includes
+AddType text/html shtml
+AddHandler server-parsed shtml
+ + +

Note that AllowOverride Options and AllowOverride + FileInfo must both be in effect for these directives to have any + effect.

+ +

Please see the SSI tutorial for a more + complete discussion of server-side includes.

+
top
+
+

Rewrite Rules in .htaccess files

+

When using RewriteRule in +.htaccess files, be aware that the per-directory context +changes things a bit. In particular, rules are taken to be relative to +the current directory, rather than being the original requested URI. +Consider the following examples:

+ +
# In httpd.conf
+RewriteRule "^/images/(.+)\.jpg" "/images/$1.png"
+
+# In .htaccess in root dir
+RewriteRule "^images/(.+)\.jpg" "images/$1.png"
+
+# In .htaccess in images/
+RewriteRule "^(.+)\.jpg" "$1.png"
+ + +

In a .htaccess in your document directory, the leading +slash is removed from the value supplied to RewriteRule, and in the +images subdirectory, /images/ is removed from +it. Thus, your regular expression needs to omit that portion as +well.

+ +

Consult the mod_rewrite documentation for +further details on using mod_rewrite.

+ +
top
+
+

CGI example

+ +

Finally, you may wish to use a .htaccess file to permit + the execution of CGI programs in a particular directory. This may be + implemented with the following configuration:

+ +
Options +ExecCGI
+AddHandler cgi-script cgi pl
+ + +

Alternately, if you wish to have all files in the given directory be + considered to be CGI programs, this may be done with the following + configuration:

+ +
Options +ExecCGI
+SetHandler cgi-script
+ + +

Note that AllowOverride Options and AllowOverride + FileInfo must both be in effect for these directives to have any + effect.

+ +

Please see the CGI tutorial for a more + complete discussion of CGI programming and configuration.

+ +
top
+
+

Troubleshooting

+ +

When you put configuration directives in a .htaccess + file, and you don't get the desired effect, there are a number of + things that may be going wrong.

+ +

Most commonly, the problem is that AllowOverride is not + set such that your configuration directives are being honored. Make + sure that you don't have a AllowOverride None in effect + for the file scope in question. A good test for this is to put garbage + in your .htaccess file and reload the page. If a server error is + not generated, then you almost certainly have AllowOverride + None in effect.

+ +

If, on the other hand, you are getting server errors when trying to + access documents, check your httpd error log. It will likely tell you + that the directive used in your .htaccess file is not + permitted.

+ +

+ [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here +

+ +

This will indicate either that you've used a directive that is + never permitted in .htaccess files, or that you simply + don't have AllowOverride set to + a level sufficient for the directive you've used. Consult the + documentation for that particular directive to determine which is + the case.

+ +

Alternately, it may tell you that you had a syntax error in your + usage of the directive itself.

+ +

+ [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters +

+ +

In this case, the error message should be specific to the + particular syntax error that you have committed.

+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/htaccess.html.es b/docs/manual/howto/htaccess.html.es new file mode 100644 index 0000000..ad63d84 --- /dev/null +++ b/docs/manual/howto/htaccess.html.es @@ -0,0 +1,464 @@ + + + + + +Tutorial del Servidor Apache HTTP: Ficheros .htaccess - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Tutorial del Servidor Apache HTTP: Ficheros .htaccess

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
+ +

Los ficheros .htaccess facilitan una forma de realizar + cambios en la configuración en contexto directorio.

+
+ +
top
+
+

Ficheros .htaccess

+ + +
Debería evitar usar ficheros .htaccess completamente si + tiene acceso al fichero de configuración principal de httpd. Usar ficheros + .htaccess ralentiza su servidor Apache http. Cualquier + directiva que pueda incluir en un fichero .htaccess + estará mejor configurada dentro de una sección + Directory, tendrá el mismo efecto y + mejor rendimiento.
+
top
+
+

Qué son/Cómo usarlos

+ + +

Los ficheros .htaccess (o "ficheros de configuración + distribuida") facilitan una forma de realizar cambios en la configuración + en contexto directorio. Un fichero, que contiene una o más directivas, se + coloca en un documento específico de un directorio, y estas directivas + aplican a ese directorio y todos sus subdirectorios.

+ +

Nota:

+

Si quiere llamar a su fichero .htaccess de otra manera, + puede cambiar el nombre del fichero usando la directiva AccessFileName. Por ejemplo, si usted prefiere + llamar al fichero .config, entonces puede poner lo siguiente + en el fichero de configuración de su servidor:

+ +
AccessFileName ".config"
+ +
+ +

Generalmente, los ficheros .htaccess usan la misma sintáxis + que los ficheros de la configuración + principal. Lo que puede utilizar en estos ficheros lo determina la + directiva AllowOverride. Esta directiva + especifica, en categorías, qué directivas tendrán efecto si se encuentran en + un fichero .htaccess. Si se permite una directiva en un fichero + .htaccess, la documentación para esa directiva contendrá una + sección Override, especificando qué valor debe ir en + AllowOverride para que se permita esa + directiva.

+ +

Por ejemplo, si busca en la documentación la directiva AddDefaultCharset, encontrará que se permite en + ficheros .htaccess. (Vea la línea de Contexto en el sumario de + la directiva.) La línea Override muestra + FileInfo. De este modo, debe tener al menos + AllowOverride FileInfo para que esta directiva se aplique en + ficheros .htaccess.

+ +

Ejemplo:

+ + + + + + + + + +
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
+ +

Si no está seguro de cuándo, una directiva en concreto, se puede usar en un + fichero .htaccess, consulte la documentación para esa directiva, + y compruebe la línea Context buscando ".htaccess".

+
top
+
+

Cuando (no) usar ficheros .htaccess

+ +

Generalmente, solo debería usar ficheros .htaccess cuando no + tiene acceso al fichero principal de configuración del servidor. Hay, por + ejemplo, una creencia errónea de que la autenticación de usuario debería + hacerse siempre dentro de ficheros .htaccess, y, más recientemente, otra creencia errónea de que las directivas de + mod_rewrite deben ir en ficheros .htaccess. + Esto sencillamente no es el caso. Puede poner las configuraciones de + autenticación de usuario en la configuración principal del servidor, y esto + es de hecho, el método preferido de configurar Apache. Del mismo modo, las + directivas mod_rewrite funcionan mejor, en muchos sentidos, en + el fichero de configuración principal del servidor.

+ +

Los ficheros .htaccess deberían usarse cuando su proveedor + de contenidos le permite hacer modificaciones de configuración + en contexto directorio, pero usted no tiene acceso de root en el servidor. + En el caso de que el administrador no esté dispuesto a hacer cambios + frecuentes en la configuración, puede que sea necesario permitir a usuarios + individuales realizar estos cambios de configuración en ficheros + .htaccess por ellos mismos. Lo cual ocurre a menudo, por + ejemplo, en casos donde los ISP están albergando múltiples sitios web de + usuario en una sola máquina, y quieren que sus usuarios tengan la + posibilidad de modificar sus configuraciones.

+ +

Aun así, generalmente, el uso de ficheros .htaccess debería + evitarse cuando sea posible. Cualquier configuración que consideraría poner + en un fichero .htaccess, puede usarse con la misma efectividad + en una sección <Directory> en el fichero de configuración + del servidor.

+ +

Hay dos razones para evitar el uso de ficheros .htaccess.

+ +

La primera es el rendimiento. Cuando AllowOverride + está configurado para permitir el uso de ficheros .htaccess, + httpd buscará ficheros .htaccess en cada directorio. Así, + permitiendo ficheros .htaccess provoca una pérdida de + rendimiento, ¡incluso aunque no los use! Además, los ficheros + .htaccess se cargan cada vez que se solicita un documento.

+ +

Además tenga en cuenta que httpd debe buscar ficheros + .htaccess en todos los directorios de mayor jerarquía, + para poder terner la lista completa de directivas que debe aplicar. (Vea + la sección sobre Cómo se aplican las directivas.) Así, si + se solicita un fichero de un directorio /www/htdocs/example, + httpd debe buscar los siguientes ficheros:

+ +

+ /.htaccess
+ /www/.htaccess
+ /www/htdocs/.htaccess
+ /www/htdocs/example/.htaccess +

+ +

De esta manera, por cada acceso a un fichero de ese directorio, hay 4 + accesos adicionales al sistema de ficheros, incluso si ninguno de esos + ficheros está presente. (Tenga en cuenta que este caso solo se daría si los + ficheros .htaccess están activados en /, que + generalmente no es el caso.).

+ +

En el caso de las directivas RewriteRule, en el contexto de + .htaccess estas expresiones regulares deben recompilarse con + cada solicitud a ese directorio, cuando en el contexto de configuración del + servidor solo se compilan una vez y se cachean. Adicionalmente, las reglas + en sí mismas son más complicadas, puesto que uno debe sortear las + restricciones que vienen acompañadas del contexto directorio y + mod_rewrite. Consulte la Guía de Rewrite para un mayor + detalle sobre este tema.

+ +

La segunda consideración es de seguridad. Estará permitiendo que usuarios + modifiquen la configuración del servidor, lo cual puede dar lugar a cambios sobre los que usted no tendrá ningún control. Medite profundamente si debe + dar a sus usuarios ese privilegio. Además tenga en cuenta que dar a los usuarios menos privilegios de los que necesitan dará lugar a más peticiones + de soporte. Asegúrese de que le indica a sus usuarios claramente el nivel de privilegios que les está dando. Especificando exactamente cómo ha + configurado AllowOverride, e invíteles + a revisar la documentación relacionada, lo cual le ahorrará + bastantes confusiones más adelante.

+ +

Tenga en cuenta que esto es equivalente por completo a poner un fichero + .htaccess en un directorio /www/htdocs/example + con una directiva, y poner la misma directiva en una sección + Directory <Directory "/www/htdocs/example"> en su + configuración principal del servidor:

+ +

Fichero .htaccess en /www/htdocs/example:

+ +

Contenido de fichero .htaccess en + /www/htdocs/example

AddType text/example ".exm"
+
+ +

Sección de su fichero httpd.conf

<Directory "/www/htdocs/example">
+    AddType text/example ".exm"
+</Directory>
+
+ +

Aun así, poniendo ésta en el fichero de configuración dará como resultado + una menor pérdida de rendimiento, y como la configuración se carga una vez + cuando el httpd arranca, en lugar de cada vez que se solicita un fichero.

+ +

El uso de ficheros .htaccess puede desactivarse por completo + configurando la directiva AllowOverride + a none:

+ +
AllowOverride None
+ +
top
+
+

How directives are applied

+ +

Las directivas de configuración que se encuentran en el fichero + .htaccess se aplican al directorio en el que el fichero + .htaccess se encuentra, y a todos sus subdirectorios. Sin + embargo, es importante recordar que puede haber otros ficheros + .htaccess en directorios previos. Las directivas se aplican en + el orden en el que se encuentran. Por lo tanto, un fichero + .htaccess puede sobrescribir directivas que se encuentran + en ficheros .htaccess que se encuentran en directorios previos + del árbol de directorios. Y estos, en cambio, pueden haber sobrescrito + directivas que se encontraban más arriba, o en el fichero principal de + configuración del servidor mismo.

+ +

Ejemplo:

+ +

En el directorio /www/htdocs/example1 tenemos un fichero + .htaccess que contiene lo siguiente:

+ +
Options +ExecCGI
+ + +

(Nota: debe terner "AllowOverride Options" configurado para + permitir el uso de la directiva "Options" en ficheros + .htaccess files.)

+ +

En el directorio /www/htdocs/example1/example2 tenemos un + fichero .htaccess que contiene:

+ +
Options Includes
+ + +

Por este segundo fichero .htaccess, en el directorio + /www/htdocs/example1/example2, la ejecución de CGI execution no + está permitida, porque solo se ha definido Options Includes, + que sobrescribe completamente una configuración previa que se pudiera haber + definido.

+ +

Incorporando el .htaccess en los ficheros de + configuración principal

+ +

Como se ha comentado en la documentación en las Secciones de Configuración, los ficheros + .htaccess pueden sobrescribir las secciones <Directory> por el directorio + correspondiente, pero se sobrescribirán por otros tipos de secciones de + configuración de los ficheros de configuración principal. Este hecho se + puede usar para forzar ciertas configuraciones, incluso en presencia + de una configuración laxa de + AllowOverride. Por ejemplo, para + prevenir la ejecución de un script mientras se permite cualquier otra cosa + en .htaccess puede usar:

+ +
<Directory "/www/htdocs">
+    AllowOverride All
+</Directory>
+
+<Location "/">
+    Options +IncludesNoExec -ExecCGI
+</Location>
+ + +
Este ejemplo asume que su DocumentRoot es /www/htdocs.
+ + +
top
+
+

Ejemplo de Autenticación

+ +

Si saltó directamente a esta parte del documento para averiguar como + hacer la autenticación, es important que tenga en cuenta una cosa. Hay una + creencia errónea de que necesita usar ficheros .htaccess para + configurar autenticación con contraseña. Este no es el caso. Colocar las + directivas de autenticación en una sección + <Directory>, en su fichero + de configuración principal, es el método recomendado para configurar esto, + y los ficheros .htaccess deberían usarse solamente si no tiene + acceso al fichero de configuración principal del servidor. Vea más arriba una explicación de cuando debería y cuando no + debería usar ficheros .htaccess.

+ +

Dicho esto, si todavía cree que debe usar el fichero + .htaccess, podrá ver que una configuración como la que sigue + podría servirle.

+ +

Contenido del fichero .htaccess:

+ +
AuthType Basic
+AuthName "Password Required"
+AuthUserFile "/www/passwords/password.file"
+AuthGroupFile "/www/passwords/group.file"
+Require group admins
+ + +

Tenga en cuenta que AllowOverride AuthConfig debe estar + habilitado para que estas directivas tengan algún efecto.

+ +

Por favor vea el tutorial de autenticación para + una explicación más completa de la autenticación y la autorización.

+
top
+
+

Ejemplo de Server Side Includes

+ +

Otro uso común de ficheros .htaccess es activar Server Side + Includes para un directorio en particular. Esto puede hacerse + con las siguientes directivas de configuración, colocadas en un fichero + .htaccess y el directorio deseado:

+ +
Options +Includes
+AddType text/html "shtml"
+AddHandler server-parsed shtml
+ + +

Tenga en cuenta que AllowOverride Options y + AllowOverride FileInfo deben estar activadas para que estas + directivas tengan efecto.

+ +

Por favor vea el tutorial de SSI para una + explicación más completa de server-side includes.

+
top
+
+

Reglas de Rewrite en ficheros .htaccess

+

Cuando use RewriteRule en + ficheros .htaccess, tenga en cuenta que el contexto + directorio cambia las cosas un poco. En concreto, las reglas son + relativas al directorio actual, en lugar de serlo de la petición de URI + solicitada originalmente. + Considere los siguientes ejemplos:

+ +
# En httpd.conf
+RewriteRule "^/images/(.+)\.jpg" "/images/$1.png"
+
+# En .htaccess en el directorio raíz
+RewriteRule "^images/(.+)\.jpg" "images/$1.png"
+
+# En .htaccess en images/
+RewriteRule "^(.+)\.jpg" "$1.png"
+ + +

En un .htaccess en cualquier directorio del DocumentRoot, la + barra ("/") inicial se elimina del valor facilitado a RewriteRule, y en el subdirectorio + images, se elimina /images/ también de este valor. + Así, su expresión regular necesita omitir también esa parte.

+ +

Consulte la documentación de mod_rewrite para + más detalles al usar mod_rewrite.

+ +
top
+
+

Ejemplo de CGI

+ +

Finalmente, puede que quiera usar un fichero .htaccess para + permitir la ejecución de programas CGI en un directorio en particular. Esto + se puede implementar con la siguiente configuración:

+ +
Options +ExecCGI
+AddHandler cgi-script "cgi" "pl"
+ + +

Alternativamente, si quiere considerar como programas CGI todos los + ficheros de un directorio concreto, esto se puede conseguir con la siguiente + configuración:

+ +
Options +ExecCGI
+SetHandler cgi-script
+ + +

Tenga en cuenta que AllowOverride Options y + AllowOverride FileInfo deben estar ambas activadas para que + estas directivas tengan efecto.

+ +

Por favor vea el tutorial CGI para mayor detalle + sobre programación y configuración de CGI.

+ +
top
+
+

Resolución de problemas

+ +

Cuando pone directivas en un fichero .htaccess y no obtiene + el efecto deseado hay una serie de cosas que pueden haber ido mal.

+ +

El problema más común es que AllowOverride + no está configurada para que sus directivas puedan surtir + efecto. Asegúrese de que no tiene AllowOverride None + configurado para el directorio en cuestión. Una buena forma de probar esto + es poner "basura" en su fichero .htaccess y recargar la página. + Si no se genera un error en el servidor, casi seguro que tiene configurado + AllowOverride None.

+ +

Si, por otro lado, obtiene errores de servidor al intentar acceder a + documentos, compruebe el log de errores de httpd. Seguramente le indiquen + que la directiva en uso en su fichero .htaccess no está + permitida.

+ +

+ [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here +

+ +

Esto indicará que o bien ha usado una directiva que no se permite nunca + en ficheros .htaccess, o que simplementa no tiene + AllowOverride configurado + a un nivel suficiente para la directiva que ha usado. Consulte la + documentación para esa directiva en particular para determinar cual es el + caso.

+ +

Alternativamente, puede que le indique que hay un error de sintaxis en + el uso de la propia directiva.

+ +

+ [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters +

+ +

En este caso, el mensaje de error debería ser específico para el error de + sintaxis concreto que ha cometido.

+ +
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/htaccess.html.fr.utf8 b/docs/manual/howto/htaccess.html.fr.utf8 new file mode 100644 index 0000000..2b71c5b --- /dev/null +++ b/docs/manual/howto/htaccess.html.fr.utf8 @@ -0,0 +1,512 @@ + + + + + +Tutoriel du serveur HTTP Apache : fichiers .htaccess - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Tutoriel du serveur HTTP Apache : fichiers .htaccess

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
+ +

Les fichiers .htaccess fournissent une méthode pour +modifier la configuration du serveur au niveau de chaque répertoire.

+
+ +
top
+
+

Fichiers .htaccess

+ + +
Les fichiers .htaccess ne doivent être utilisés + que si vous n'avez pas accès au fichier de configuration du serveur + principal. L'utilisation des fichiers .htaccess + ralentit le fonctionnement de votre serveur HTTP Apache. Il est toujours + préférable de définir les directives que vous pouvez inclure dans un + fichier .htaccess dans une section Directory, car elles produiront le + même effet avec de meilleures performances.
+
top
+
+

Que sont ce fichiers, comment les utiliser ?

+ + +

Les fichiers .htaccess (ou "fichiers de + configuration distribués") fournissent une méthode pour modifier la + configuration du serveur au niveau d'un répertoire. Un fichier, + contenant une ou plusieurs directives de configuration, est placé + dans un répertoire de documents particulier, et ses directives + s'appliquent à ce répertoire et à tous ses sous-répertoires.

+ +

Note :

+

Si vous voulez donner un autre nom à votre fichier + .htaccess, vous pouvez le faire en utilisant la + directive AccessFileName. Par + exemple, si vous préférez nommer votre fichier + .config, vous pouvez mettre ceci dans le fichier de + configuration de votre serveur :

+ +
AccessFileName ".config"
+ +
+ +

En général, les fichiers .htaccess utilisent la même + syntaxe que les fichiers de + configuration principaux. Ce que vous pouvez mettre dans ces + fichier est déterminé par la directive AllowOverride. Cette directive spécifie, + sous forme de catégories, quelles directives seront traitées si + elles se trouvent dans un fichier .htaccess. Si une + directive est permise dans un fichier .htaccess file, + la documentation de cette directive contiendra une section Override, + spécifiant quelle valeur doit prendre AllowOverride pour que cette directive + soit traitée.

+ +

Par exemple, si vous regardez la documentation de la directive + AddDefaultCharset, vous verrez + que cette dernière est permise dans les fichiers + .htaccess (Voir la ligne de contexte dans le résumé de + la directive). La ligne Override indique + FileInfo. Vous devez donc avoir au moins + AllowOverride FileInfo pour que cette directive soit + traitée dans les fichiers .htaccess.

+ +

Exemple :

+ + + + + + + + + +
Contexte :configuration du serveur, serveur virtuel, directory, .htaccess
Override:FileInfo
+ +

Si vous n'êtes pas sûr qu'une directive particulière soit permise + dans un fichier .htaccess, lisez la documentation de + cette directive, et consultez la ligne de contexte pour + ".htaccess".

+
top
+
+

Quand doit-on (ne doit-on pas) utiliser + les fichiers .htaccess ?

+ +

En principe, vous ne devriez utiliser les fichiers + .htaccess que lorsque vous n'avez pas accès au fichier de + configuration du serveur principal. Par exemple, la fausse + idée + selon laquelle l'authentification de l'utilisateur devrait toujours + être faite dans les fichiers .htaccess est très + répandue. Il est aussi souvent avancé, ces dernières + années, que les directives de mod_rewrite doivent + être définies dans les fichiers .htaccess. Ceci est + tout simplement faux. Vous pouvez configurer + l'authentification des utilisateurs au niveau de la configuration du + serveur principal, et c'est en fait cette méthode qui doit être + privilégiée. De même, les directives de + mod_rewrite fonctionneront mieux, à de nombreux égards, + dans le contexte du serveur principal.

+ +

Les fichiers .htaccess ne devraient être utilisés + que dans le cas où les fournisseurs de contenu ont besoin de + modifier la configuration du serveur au niveau d'un répertoire, mais + ne possèdent pas l'accès root sur le système du serveur. Si + l'administrateur du serveur ne souhaite pas effectuer des + modifications de configuration incessantes, il peut être intéressant + de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces + modifications par le biais de fichiers .htaccess. Ceci + est particulièrement vrai dans le cas où le fournisseur d'accès à + Internet héberge de nombreux sites d'utilisateurs sur un seul + serveur, et souhaite que ces utilisateurs puissent modifier + eux-mêmes leurs configurations.

+ +

Cependant et d'une manière générale, il vaut mieux éviter + d'utiliser les fichiers .htaccess. Tout élément de + configuration que vous pourriez vouloir mettre dans un fichier + .htaccess, peut aussi être mis, et avec la même + efficacité, dans une section <Directory> du fichier de configuration de + votre serveur principal.

+ +

Il y a deux raisons principales d'éviter l'utilisation des + fichiers .htaccess.

+ +

La première est liée aux performances. Lorsque la directive + AllowOverride est définie de + façon à autoriser l'utilisation des fichiers .htaccess, + httpd va rechercher leur présence dans chaque répertoire. Ainsi, + permettre l'utilisation des fichiers .htaccess est déjà + en soi une cause de dégradation des performances, que vous utilisiez + effectivement ces fichiers ou non ! De plus, le fichier + .htaccess est chargé en mémoire chaque fois qu'un + document fait l'objet d'une requête.

+ +

Notez aussi que httpd doit rechercher les fichiers + .htaccess dans tous les répertoires de niveau + supérieur, afin de rassembler toutes les directives qui s'appliquent + au répertoire courant (Voir la section comment sont + appliquées les directives). Ainsi, si un fichier fait l'objet + d'une requête à partir d'un répertoire + /www/htdocs/exemple, httpd doit rechercher les + fichiers suivants :

+ +

+ /.htaccess
+ /www/.htaccess
+ /www/htdocs/.htaccess
+ /www/htdocs/exemple/.htaccess +

+ +

En conséquence, chaque accès à un fichier de ce répertoire + nécessite 4 accès au système de fichiers supplémentaires pour + rechercher des fichiers .htaccess, même si + aucun de ces fichiers n'est présent. Notez que cet exemple ne peut + se produire que si les fichiers .htaccess ont été + autorisés pour le répertoire /, ce qui est rarement le + cas.

+ +

La seconde raison d'éviter l'utilisation des fichiers + .htaccess est liée à la sécurité. Si vous permettez aux + utilisateurs de modifier la configuration du serveur, il peut en + résulter des conséquences sur lesquelles vous n'aurez aucun + contrôle. Réfléchissez bien avant de donner ce privilège à vos + utilisateurs. Notez aussi que ne pas donner aux utilisateurs les + privilèges dont ils ont besoin va entraîner une augmentation des + demandes de support technique. Assurez-vous d'avoir informé + clairement vos utilisateurs du niveau de privilèges que vous leur + avez attribué. Indiquer exactement comment vous avez défini la + directive AllowOverride et + diriger les utilisateurs vers la documentation correspondante vous + évitera bien des confusions ultérieures.

+ +

Notez que mettre un fichier .htaccess contenant une + directive dans un répertoire /www/htdocs/exemple + revient exactement au même que mettre la même directive dans une + section Directory <Directory "/www/htdocs/exemple"> + du fichier de configuration de votre serveur principal :

+ +

Fichier .htaccess dans + /www/htdocs/exemple :

+ +

Contenu du fichier .htaccess dans + /www/htdocs/exemple

AddType text/example ".exm"
+
+ +

Section de votre fichier + httpd.conf

<Directory "/www/htdocs/example">
+    AddType text/example .exm
+</Directory>
+
+ +

Cependant, la perte de performances sera moindre si vous + définissez cette directive dans la configuration de + votre serveur principal, car cette dernière ne sera chargée qu'une + seule fois au moment du démarrage du serveur, alors qu'elle le sera + à chaque accès dans le cas d'un fichier .htaccess.

+ +

L'utilisation des fichiers .htaccess peut être + entièrement désactivée en définissant la directive AllowOverride à none :

+ +
AllowOverride None
+ +
top
+
+

Comment sont appliquées les directives ?

+ +

Les directives de configuration situées dans un fichier + .htaccess s'appliquent au répertoire dans lequel ce + fichier .htaccess se trouve, ainsi qu'à tous ses + sous-répertoires. Cependant, il est important de garder à l'esprit + qu'il peut y avoir des fichiers .htaccess dans les + répertoires de niveau supérieur. Les directives sont appliquées + selon l'ordre dans lequel elles sont rencontrées. Ainsi, les + directives d'un fichier .htaccess situé dans un + répertoire particulier peuvent écraser les directives se trouvant + dans des fichiers .htaccess situés à un niveau + supérieur dans l'arborescence des répertoires. Et ces dernières + peuvent elles-mêmes avoir écrasé des directives d'un fichier + .htaccess situé à un niveau encore plus haut, ou dans + le fichier de configuration du serveur principal.

+ +

Exemple :

+ +

Dans le répertoire /www/htdocs/exemple1 se trouve un + fichier .htaccess contenant ce qui suit :

+ +
Options +ExecCGI
+ + +

Note : "AllowOverride Options" doit être présent + pour permettre l'utilisation de la directive "Options" dans les fichiers + .htaccess.

+ +

Dans le répertoire /www/htdocs/exemple1/exemple2 se + trouve un fichier .htaccess contenant ce qui suit + :

+ +
Options Includes
+ + +

Ainsi, à cause de ce second fichier .htaccess du + répertoire /www/htdocs/exemple1/exemple2, l'exécution + des CGI est interdite, car la dernière définition d'options + Options Includes écrase toute autre définition + d'options d'un fichier .htaccess situé dans un + répertoire de niveau supérieur.

+ +

Interactions entre les fichiers .htaccess + et les fichiers de configuration du serveur principal

+ +

Comme indiqué dans la documentation sur les Sections de configuration, les fichiers + .htaccess peuvent écraser les directives des sections + <Directory> pour + le répertoire correspondant, mais peuvent eux-mêmes être écrasés + par d'autres types de sections des fichiers de la + configuration principale. Cette possibilité peut s'avérer utile pour + forcer certaines configurations, même en cas de présence de l'option + libérale AllowOverride. Par + exemple, pour interdire l'exécution de scripts en autorisant la + définition de toute autre option dans les fichiers + .htaccess, vous pouvez utiliser :

+ +
<Directory "/www/htdocs">
+    AllowOverride All
+</Directory>
+
+<Location "/">
+    Options +IncludesNoExec -ExecCGI
+</Location>
+ + +
Dans cet exemple, on considère que le chemin défini par la + directive DocumentRoot est + /www/htdocs.
+ + +
top
+
+

Exemple d'authentification

+ +

Si vous accédez directement à ce point du document pour apprendre + à effectuer une authentification, il est important de noter ceci. Il + existe une fausse idée selon laquelle il serait nécessaire + d'utiliser les fichiers .htaccess pour implémenter + l'authentification par mot de passe. Ceci est tout simplement faux. + Pour y parvenir, il est préférable de mettre les directives + d'authentification dans une section <Directory> du fichier de configuration de + votre serveur principal, et les fichiers .htaccess ne + devraient être utilisés que dans le cas où vous n'avez pas accès au + fichier de configuration du serveur principal. Voir ci-dessus pour savoir dans quels cas vous devez ou + ne devez pas utiliser les fichiers .htaccess.

+ +

Ceci étant dit, si vous pensez que vous devez quand-même utiliser + un fichier .htaccess, vous pouvez utiliser la + configuration suivante :

+ +

Contenu du fichier .htaccess :

+ +
AuthType Basic
+AuthName "Password Required"
+AuthUserFile "/www/passwords/password.file"
+AuthGroupFile "/www/passwords/group.file"
+Require group admins
+ + +

Notez que AllowOverride AuthConfig doit être présent + pour que ces directives produisent leur effet.

+ +

Vous pouvez vous référer au tutoriel sur + l'authentification pour une description plus détaillée de + l'authentification et de l'autorisation.

+
top
+
+

Exemple d'Inclusion Côté Serveur (Server Side +Includes - SSI)

+ +

Les fichiers .htaccess sont aussi couramment + utilisés pour activer les SSI pour un répertoire particulier. Pour y + parvenir, on utilise les directives de configuration suivantes, + placées dans un fichier .htaccess enregistré dans le + répertoire considéré :

+ +
Options +Includes
+AddType text/html shtml
+AddHandler server-parsed shtml
+ + +

Notez que AllowOverride Options et AllowOverride + FileInfo doivent être tous les deux présents pour que ces + directives puissent produire leur effet.

+ +

Vous pouvez vous référer au tutoriel SSI + pour une description plus détaillée des SSI.

+
top
+
+

Les règles de réécriture dans les fichiers .htaccess

+

Sivous utilisez des directives RewriteRule dans un fichier +.htaccess, gardez à l'esprit que les choses sont légèrement +différentes dans un contexte de répertoire. En particulier, les règles +sont relatives au répertoire courant, et non à l'URI original. Considérez +les exemples suivants :

+ +
# Dans httpd.conf
+RewriteRule "^/images/(.+)\.jpg" "/images/$1.png"
+
+# Dans un fichier .htaccess situé dans le répertoire racine de vos
+# documents
+RewriteRule "^images/(.+)\.jpg" "images/$1.png"
+
+# Dans un fichier .htaccess situé dans le répertoire images/
+RewriteRule "^(.+)\.jpg" "$1.png"
+ + +

On voit que si le fichier .htaccess se situe à la racine +de vos documents, le slash de tête est supprimé de la valeur de +remplacement spécifiée pour la règle RewriteRule, et que si le fichier +.htaccess se situe dans le répertoire images, +la chaîne /images/ disparaît de cette même valeur de +remplacement. Il doit donc en être de même dans votre expression +rationnelle.

+ +

Veuillez vous référer à cette documentation +pour une étude détaillée de l'utilisation du module +mod_rewrite.

+ +
top
+
+

Exemple de CGI

+ +

En fin de compte, vous avez décidé d'utiliser un fichier + .htaccess pour permettre l'exécution des programmes CGI + dans un répertoire particulier. Pour y parvenir, vous pouvez + utiliser la configuration suivante :

+ +
Options +ExecCGI
+AddHandler cgi-script cgi pl
+ + +

Alternativement, si vous souhaitez que tous les fichiers d'un + répertoire donné soient considérés comme des programmes CGI, vous + pouvez utiliser la configuration suivante :

+ +
Options +ExecCGI
+SetHandler cgi-script
+ + +

Notez que AllowOverride Options et AllowOverride + FileInfo doivent être tous les deux présents pour que ces + directives puissent produire leur effet.

+ +

Vous pouvez vous référer au tutoriel CGI + pour une description plus détaillée de la configuration et de la + proprammation CGI.

+ +
top
+
+

Résolution des problèmes

+ +

De nombreuses raisons peuvent être à l'origine du fait que + les directives que vous avez mises dans un fichier + .htaccess ne produisent pas l'effet désiré.

+ +

Le plus souvent, le problème vient du fait que la définition de + la directive AllowOverride + ne permet pas l'activation des directives de votre fichier + .htaccess. Vérifiez si une directive + AllowOverride None n'affecte pas le répertoire où se + trouve votre fichier. Un bon test consiste à mettre des directives + dont la syntaxe est erronée dans votre ficher .htaccess + et de recharger la page. Si aucune erreur n'est générée par le + serveur, il est pratiquement certain qu'une directive + AllowOverride None affecte votre répertoire.

+ +

Par contre, si vous obtenez des erreurs de serveur lorsque vous + tentez d'accéder à des documents, consultez votre journal des + erreurs de httpd. Il vous indiquera probablement que la directive + utilisée dans votre fichier .htaccess n'est pas + permise.

+ +

+ [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here +

+

Cela signifie soit que vous utilisez une directive qui n'est + jamais permise dans les fichiers .htaccess, soit + que vous n'avez tout simplement pas défini la directive + AllowOverride à un niveau + suffisant pour la directive que vous utilisez. Consultez la + documentation de cette directive pour déterminer quel cas + s'applique.

+ +

Le journal des erreurs peut aussi vous signaler une erreur de + syntaxe dans l'usage de la directive elle-même.

+ +

+ [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters +

+ +

Dans ce cas, le message d'erreur sera spécifique à l'erreur + de syntaxe que vous avez commise.

+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/htaccess.html.ja.utf8 b/docs/manual/howto/htaccess.html.ja.utf8 new file mode 100644 index 0000000..6d42801 --- /dev/null +++ b/docs/manual/howto/htaccess.html.ja.utf8 @@ -0,0 +1,417 @@ + + + + + +Apache ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«: .htaccess ファイル - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«: .htaccess ファイル

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

.htaccess ファイルã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã«è¨­å®šã‚’変更ã™ã‚‹æ–¹æ³•ã‚’ +æä¾›ã—ã¾ã™ã€‚

+
+ +
top
+
top
+
+

.htaccess ファイルã¨ã¯ä½•ã‹/ãã®ä½¿ã„æ–¹

+ + +

.htaccess ファイル (「分散設定ファイルã€) 㯠+ ディレクトリ毎ã«è¨­å®šã‚’変更ã™ã‚‹æ–¹æ³•ã‚’æä¾›ã—ã¾ã™ã€‚ディレクティブ㮠+ 書ã‹ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’ディレクトリã«ç½®ãã“ã¨ã§ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãã® + サブディレクトリã™ã¹ã¦ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’é©ç”¨ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

注:

+

.htaccess ファイルを別ã®åå‰ã«ã—ãŸã„å ´åˆã¯ã€ + AccessFileName ディレクティブを + 使ã£ã¦å¤‰æ›´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ .config + ã¨ã„ã†åå‰ã«ã—ãŸã„å ´åˆã¯ã€ä»¥ä¸‹ã®è¨­å®šã‚’サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«å…¥ã‚Œã‚‹ã“ã¨ãŒ + ã§ãã¾ã™:

+ +

+ AccessFileName .config +

+
+ +

一般ã«ã€.htaccess ファイルã®æ§‹æ–‡ã¯ + 主設定ファイル + ã¨åŒã˜ã§ã™ã€‚ã“れらã®ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãã“ã¨ã®ã§ãるディレクティブ㯠AllowOverride ディレクティブã«ã‚ˆã‚Šæ±ºã¾ã‚Šã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€.htaccess ファイル㫠+ 書ã‹ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä¸­ã§ã€ã€ + ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒé©ç”¨ã•ã‚Œã‚‹ã‹ã‚’カテゴリーå˜ä½ã§æŒ‡å®šã—ã¾ã™ã€‚ + .htaccess ã«æ›¸ãã“ã¨ã®ã§ãるディレクティブã§ã‚ã‚Œã°ã€ + 説明文書ã«ã¯ã€Œä¸Šæ›¸ãã€ã¨ã„ã†é …ç›®ãŒã‚ã‚Šã€.htaccess ã«æ›¸ãã“ã¨ãŒã§ãるよã†ã« + ãªã‚‹ãŸã‚ã® AllowOverride ã®å€¤ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

例ãˆã°ã€AddDefaultCharset ディレクティブã®èª¬æ˜Žã‚’ + 見るã¨ã€.htaccess ファイルã§ã®ä½¿ç”¨ãŒè¨±å¯ã•ã‚Œã¦ã„ã‚‹ã“ã¨ãŒ + ã‚ã‹ã‚Šã¾ã™ã€‚ (ディレクティブã®æ¦‚è¦ã®æ‰€ã«ã‚る「コンテキストã€ã¨æ›¸ã‹ã‚Œã¦ã„ã‚‹ + 行を見ã¦ãã ã•ã„。) 上書ãã¨æ›¸ã‹ã‚Œã¦ã„ã‚‹è¡Œã«ã¯ + FileInfo ã¨ã‚ã‚Šã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€.htaccess 中㮠+ ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæœ‰åŠ¹ã«ãªã‚‹ãŸã‚ã«ã¯ã€å°‘ãªãã¨ã‚‚ + AllowOverride FileInfo ãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

例:

+ + + + + + + + + +
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«,ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ,ディレクトリ,.htaccess
上書ã:FileInfo
+ +

ã‚るディレクティブを .htaccess ファイルã«æ›¸ãã“ã¨ãŒã§ãã‚‹ã‹ + ã©ã†ã‹ã‚ã‹ã‚‰ãªã„ã¨ãã¯ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®èª¬æ˜Žã‚’探ã—ã¦ã€".htaccess" + ã®ãŸã‚ã®ã€Œã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã€ã®è¡Œã‚’調ã¹ã¦ãã ã•ã„。

+
top
+
+

ã„㤠.htaccess ファイルを使ã†(使ã‚ãªã„)ã‹ã€‚

+ +

一般的ã«ã€ã‚µãƒ¼ãƒã®ä¸»è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„å ´åˆã‚’除ã„ã¦ã€ + .htaccess ファイルã®ä½¿ç”¨ã¯æ¥µåŠ›é¿ã‘ã¦ãã ã•ã„。 + 世ã®ä¸­ã«ã¯ã€ä¾‹ãˆã°ã€ãƒ¦ãƒ¼ã‚¶èªè¨¼ã¯å¸¸ã« .htaccess ファイル㧠+ è¡Œãªã‚ãªã‘ã‚Œã°ãªã‚‰ãªã„ã€ã¨ã„ã†èª¤è§£ãŒåºƒã¾ã£ã¦ã„ã¾ã™ãŒã€ã¾ã£ãŸããã‚“ãªã“ã¨ã¯ + ã‚ã‚Šã¾ã›ã‚“。ユーザèªè¨¼ã®è¨­å®šã¯ã‚µãƒ¼ãƒä¸»è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãã“ã¨ãŒã§ã〠+ 実際ã€ãã®æ–¹ãŒã‚ˆã‚Šè‰¯ã„設定方法ã§ã™ã€‚

+ +

.htaccess ファイルã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„æ供者ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã® + 設定を行ãªã„ãŸã„ã‘ã‚Œã©ã€ã‚µãƒ¼ãƒã‚·ã‚¹ãƒ†ãƒ ã® root アクセス権é™ã‚’æŒã£ã¦ã„ãªã„ + ã¨ã„ã†å ´åˆã«ã®ã¿ä½¿ã†ã¹ãã‚‚ã®ã§ã™ã€‚サーãƒç®¡ç†è€…ãŒé »ç¹ã«è¨­å®šå¤‰æ›´ã‚’è¡Œãªã„ãŸã㯠+ ãªã„ã€ã¨ã„ã†ã¨ãã«ã¯å€‹ã€…ã®ãƒ¦ãƒ¼ã‚¶ãŒ .htaccess ファイルを使ã£ã¦ + 自分ã§è¨­å®šã®å¤‰æ›´ã‚’è¡Œãªã†ã“ã¨ã‚’許å¯ã—ãŸæ–¹ãŒè‰¯ã„ã¨ãã‚‚ã‚ã‚‹ã§ã—ょã†ã€‚ + ã“ã‚Œã¯ç‰¹ã«ã€ISP ãŒè¤‡æ•°ã®ãƒ¦ãƒ¼ã‚¶ã®ã‚µã‚¤ãƒˆã‚’一ã¤ã®ãƒžã‚·ãƒ³ã§ãƒ›ã‚¹ãƒˆã—ã¦ã„ã¦ã€ + å„ユーザãŒè¨­å®šã®å¤‰æ›´ã‚’ã§ãるよã†ã«ã—ãŸã„よã†ãªã¨ãã«ã‚ã¦ã¯ã¾ã‚Šã¾ã™ã€‚

+ +

ã—ã‹ã—ã€æ™®é€šã¯å¯èƒ½ã§ã‚れ㰠.htaccess ファイルã®ä½¿ç”¨ã¯ + é¿ã‘ã¦ãã ã•ã„。.htaccess ファイルã«æ›¸ã“ã†ã¨è€ƒãˆã‚‹ã‚ˆã†ãª + ã™ã¹ã¦ã®è¨­å®šã¯ã€ã‚µãƒ¼ãƒã®ä¸»è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® <Directory> セクションã§åŒã˜ã‚ˆã†ã«è¡Œãªã†ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+ +

.htaccess ファイルã®ä½¿ç”¨ã‚’é¿ã‘ã‚‹ç†ç”±ã¯ä¸»ã«äºŒã¤ã‚ã‚Šã¾ã™ã€‚

+ +

一ã¤ç›®ã¯ã‚µãƒ¼ãƒã®æ€§èƒ½ã®å•é¡Œã§ã™ã€‚AllowOverride ディレクティブ㌠+ .htaccess ファイルã®è¨­å®šã‚’許å¯ã—ã¦ã„ã‚‹å ´åˆã¯ã€Apache 㯠+ å„ディレクトリ㧠.htaccess ファイルを探ã—ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€.htaccess ファイルを許å¯ã™ã‚‹ã¨ã€å®Ÿéš›ã«ä½¿ç”¨ã—ã¦ã„ã‚‹ã‹ + ã©ã†ã‹ã«é–¢ã‚らãšã€æ€§èƒ½ã®ä½Žä¸‹ã‚’æ‹›ãã“ã¨ã«ãªã‚Šã¾ã™! ã¾ãŸã€.htaccess + ファイルã¯æ–‡æ›¸ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚Œã‚‹åº¦ã«èª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚

+ +

ã•ã‚‰ã«ã€Apache ã¯é©ç”¨ã™ã¹ãディレクティブを集ã‚ã‚‹ãŸã‚ã«ã€ã™ã¹ã¦ã® + 上ä½ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® .htaccess ファイルを探ã™å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«ã‚‚ + 注æ„ã—ã¦ãã ã•ã„。(ディレクティブãŒé©ç”¨ã•ã‚Œã‚‹æ–¹æ³•ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。)ã§ã™ã‹ã‚‰ã€/www/htdocs/example ã«ã‚ã‚‹ + ファイルãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸã¨ãã¯ã€Apache ã¯ä»¥ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’調ã¹ã¾ã™ã€‚

+ +

+ /.htaccess
+ /www/.htaccess
+ /www/htdocs/.htaccess
+ /www/htdocs/example/.htaccess +

+ +

ã§ã™ã‹ã‚‰ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãã‚Œãžã‚Œã®ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«å¯¾ã—ã¦ã€ + 上ã®ä¾‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã¾ã£ãŸã存在ã—ãªã„ã¨ãã§ã‚‚ã€è¿½åŠ ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã® + アクセスãŒè¡Œãªã‚れるã“ã¨ã«ãªã‚Šã¾ã™ã€‚(ã“ã‚Œã¯ã€.htaccess ㌠+ / ã«å¯¾ã—ã¦æœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ã¨ãã®å ´åˆã§ã€æ™®é€šã¯ãã†ãªã£ã¦ + ã„ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。)

+ +

二ã¤ç›®ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã§ã™ã€‚ユーザã«ã‚µãƒ¼ãƒã®è¨­å®šã‚’変更ã™ã‚‹ã“ã¨ã‚’ + 許å¯ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã®ã§ã€ã‚ãªãŸè‡ªèº«ãŒç®¡ç†ã§ããªã„変更をã•ã‚Œã‚‹ + æã‚ŒãŒã‚ã‚Šã¾ã™ã€‚ユーザã«ã“ã®ç‰¹æ¨©ã‚’与ãˆã‚‹ã®ãŒè‰¯ã„ã®ã‹ã©ã†ã‹ã€å分 + 検討ã—ã¦ãã ã•ã„。ã¾ãŸã€ãƒ¦ãƒ¼ã‚¶ã«ä¸Žãˆã‚‹æ¨©é™ãŒå¿…è¦ãªã‚‚ã®ã‚ˆã‚Šã‚‚å°‘ãªã™ãŽã‚‹ã¨ã€ + 余分ãªæŠ€è¡“サãƒãƒ¼ãƒˆå ±å‘Šã‚’å—ã‘å–るよã†ã«ãªã‚‹å¯èƒ½æ€§ãŒé«˜ã„ã“ã¨ã«ã‚‚ + 注æ„ã—ã¦ãã ã•ã„。確実ã«ã€ãƒ¦ãƒ¼ã‚¶ã«ã©ã®ç¨‹åº¦ã®æ¨©é™ã‚’与ãˆãŸã‹æ˜Žç¢ºã«å‘Šã’るよã†ã« + ã—ã¦ãã ã•ã„。AllowOverride ã« + 何を設定ã—ãŸã‹ã¨ã„ã†ã“ã¨ã¨ã€é–¢é€£ã™ã‚‹æ–‡æ›¸ã‚’示ã™ã“ã¨ã§ã€ + 後々ã®æ··ä¹±ã‚’ãã£ã¨æ¸›ã‚‰ã™ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+ +

ã¨ã“ã‚ã§ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®æ›¸ã‹ã‚ŒãŸ .htaccess ã‚’ + /www/htdocs/example ã«ç½®ãã“ã¨ã¨ã€åŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + 主サーãƒè¨­å®šã® Directory セクション + <Directory /www/htdocs/example> ã«æ›¸ãã“ã¨ã¯ + 完全ã«ç­‰ä¾¡ã§ã™:

+ +

/www/htdocs/example 㮠.htaccess ファイル:

+ +

/www/htdocs/example 㮠.htaccess ファイル㮠+ 内容

+ AddType text/example .exm +

+ +

httpd.conf ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ + file

+ <Directory /www/htdocs/example>
+ + AddType text/example .exm
+
+ </Directory> +

+ +

ã—ã‹ã—ã€ã“ã®è¨­å®šã¯ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã„ãŸæ–¹ãŒãƒ‘フォーマンス㮠+ 低下ãŒå°‘ãªããªã‚Šã¾ã™ã€‚ファイルãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚Œã‚‹åº¦ã« + 読ã¿è¾¼ã¾ã‚Œã‚‹ä»£ã‚ã‚Šã«ã€Apache ã®èµ·å‹•æ™‚ã« 1 回ã ã‘読ã¿è¾¼ã‚ã° + よããªã‚‹ã‹ã‚‰ã§ã™ã€‚

+ +

AllowOverride ディレクティブ㮠+ 値を none ã«è¨­å®šã™ã‚‹ã“ã¨ã§ .htaccess ファイル + ã®ä½¿ç”¨ã‚’完全ã«ç„¡åŠ¹ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

+ AllowOverride None +

+
top
+
+

ディレクティブã®é©ç”¨ã®ã•ã‚Œæ–¹

+ +

.htaccess ファイルã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠.htaccess + ファイルã®å­˜åœ¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã€ãã®ã‚µãƒ–ディレクトリã™ã¹ã¦ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + ã—ã‹ã—ã€ä¸Šã®éšŽå±¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚‚ .htaccess ファイル㌠+ 存在ã™ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã“ã¨ã‚’覚ãˆã¦ãŠãã“ã¨ã¯å¤§åˆ‡ã§ã™ã€‚ディレクティブã¯ç¾ã‚Œã‚‹ + 順番ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ã‚るディレクトリ㮠.htaccess 㯠+ ディレクトリツリーã®ã‚ˆã‚Šä¸Šã®éšŽå±¤ã® .htaccess ファイル㮠+ 設定を上書ãã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ãã—ã¦ã€ãã® .htaccess ã‚‚ + より上ã®éšŽå±¤ã§æ›¸ã‹ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を上書ãã—ãŸã‚Šã€ä¸»ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ« + ãã®ã‚‚ã®ã®è¨­å®šã‚’上書ãã—ãŸã‚Šã—ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +

例:

+ +

ディレクトリ /www/htdocs/example1 ã«ä»¥ä¸‹ã®å†…容㮠+ .htaccess ファイルãŒã‚ã‚Šã¾ã™:

+ +

+ Options +ExecCGI +

+ +

(注: .htaccess + ファイル㧠"Options" ディレクティブãŒæœ‰åŠ¹ã«ãªã‚‹ãŸã‚ã«ã¯ã€ + "AllowOverride Options" を有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚)

+ +

ディレクトリ /www/htdocs/example1/example2 ã«ã¯ + 以下ã®ã‚ˆã†ãª .htaccess ファイルãŒã‚ã‚Šã¾ã™:

+ +

+ Options Includes +

+ +

二ã¤ã‚ã® .htaccess ã«ã‚ˆã‚Šã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª + /www/htdocs/example1/example2 ã§ã¯ CGI ã®å®Ÿè¡Œã¯ + 許å¯ã•ã‚Œã¾ã›ã‚“。ã“ã‚Œã¯ã€Options Includes ã®ã¿ãŒ + 効力をæŒã¡ã€ãã‚ŒãŒã™ã¹ã¦ã®ä»¥å‰ã®è¨­å®šã‚’上書ãã™ã‚‹ã‹ã‚‰ã§ã™ã€‚

+ +

メイン設定ファイルã«å¯¾ã™ã‚‹ + .htaccess ã®ãƒžãƒ¼ã‚¸

+ +

As discussed in the documentation on Configuration Sections, + .htaccess files can override the <Directory> sections for + the corresponding directory, but will be overriden by other types + of configuration sections from the main configuration files. This + fact can be used to enforce certain configurations, even in the + presence of a liberal AllowOverride setting. For example, to + prevent script execution while allowing anything else to be set in + .htaccess you can use:

+

セクションã®è¨­å®š + ã«è¨˜è¼‰ã•ã‚Œã¦ã„るよã†ã«ã€.htaccess ファイルを使ã£ã¦ + <Directory> + セクションã®è¨­å®šã‚’ディレクトリ毎ã«ä¸Šæ›¸ãã§ãã¾ã™ãŒã€ + メイン設定ファイル中ã«ã‚ã‚‹ã€ä»–ã®ç¨®é¡žã®è¨­å®šã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«ã‚ˆã£ã¦ + ã•ã‚‰ã«ä¸Šæ›¸ãã•ã‚Œã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚ + ã“ã®ç‰¹å¾´ã‚’使ã£ã¦ã€ + AllowOverride + ã§è‡ªç”±åº¦ã®é«˜ã„設定ãŒã‚ã£ãŸã¨ã—ã¦ã‚‚ã€ã‚る特定ã®è¨­å®šãŒç¢ºå®Ÿã« + å映ã•ã‚Œã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚例ãˆã°ã€CGI スクリプトã®å®Ÿè¡Œã¯ + ä¸è¨±å¯ã«ã€ã‹ã¤ã€.htaccess ã§ãã®ä»–ã®é …目㯠+ 設定ã§ãるよã†ã«ã€ã¨ã„ã†å ´åˆã¯æ¬¡ã®ã‚ˆã†ã«ã§ãã¾ã™ :

+ +

+<Directory />
+ +Allowoverride All
+
+</Directory>
+
+<Location />
+ +Options +IncludesNoExec -ExecCGI
+
+</Location> +

+ + +
top
+
+

èªè¨¼ã®ä¾‹

+ +

ã‚‚ã—èªè¨¼ã®æ–¹æ³•ã‚’知るãŸã‚ã«ã“ã®éƒ¨åˆ†ã«ç›´æŽ¥æ¥ãŸã®ã§ã‚ã‚Œã°ã€æ¬¡ã®ã“ã¨ã‚’ + 知ã£ã¦ãŠãã“ã¨ãŒé‡è¦ã§ã™ã€‚よãã‚る誤解ã«ã€ãƒ‘スワードèªè¨¼ã‚’è¡Œãªã†ãŸã‚ã«ã¯ + .htaccess ファイルを使ã†å¿…è¦ãŒã‚ã‚‹ã€ã¨ã„ã†ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯æ­£ã—ãã‚ã‚Šã¾ã›ã‚“。主サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® <Directory> セクション㫠+ èªè¨¼ç”¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ãæ–¹ãŒæŽ¨å¥¨ã•ã‚Œã‚‹æ–¹æ³•ã§ã€.htaccess + ファイルã¯ä¸»ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’変更ã§ããªã„ã¨ãã«ã®ã¿ä½¿ç”¨ã™ã¹ãã§ã™ã€‚ + ã„㤠.htaccess ファイルを使ã†ã¹ãã§ã€ã„ã¤ä½¿ã†ã¹ãã§ã¯ãªã„ã‹ã« + ã¤ã„ã¦ã¯ 上をå‚ç…§ã—ã¦ãã ã•ã„。

+ +

以上ã®ã“ã¨ã‚’ãµã¾ãˆãŸä¸Šã§ã€ã‚‚ã— .htaccess ã®ä½¿ç”¨ãŒ + ã¾ã å¿…è¦ã ã¨æ€ã†å ´åˆã¯ã€æ¬¡ã®ã‚ˆã†ãªã‚‚ã®ãŒæœ›ã¿ã®ã“ã¨ã‚’ã—ã¦ãれるã‹ã‚‚ + ã—ã‚Œã¾ã›ã‚“。

+ +

.htaccess ファイルã®å†…容:

+ +

+ AuthType Basic
+ AuthName "Password Required"
+ AuthUserFile /www/passwords/password.file
+ AuthGroupFile /www/passwords/group.file
+ Require Group admins +

+ +

ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæœ‰åŠ¹ã«ãªã‚‹ãŸã‚ã«ã¯ã€ + AllowOverride AuthConfig ãŒæœ‰åŠ¹ã§ãªãã¦ã¯ãªã‚‰ãªã„ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。

+ +

èªè¨¼ã¨æ‰¿èªã«ã¤ã„ã¦ã¯ èªè¨¼ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。

+
top
+
+

SSI ã®ä¾‹

+ +

ã‚‚ã†ä¸€ã¤ã® .htaccess ファイルã®ã‚ˆãã‚る利用法㯠+ 特定ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ SSI を有効ã«ã™ã‚‹ã“ã¨ã§ã™ã€‚ã“ã‚Œã¯ã€æœ›ã¿ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® + .htaccess ファイルã«ä»¥ä¸‹ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ãã“ã¨ã§ + é”æˆã§ãã¾ã™:

+ +

+ Options +Includes
+ AddType text/html shtml
+ AddHandler server-parsed shtml +

+ +

ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæœ‰åŠ¹ã«ãªã‚‹ãŸã‚ã«ã¯ã€ + AllowOverride Options 㨠AllowOverride + FileInfo ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

よりã¾ã¨ã¾ã£ãŸ SSI ã®èª¬æ˜Žã¯ SSI ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。

+
top
+
+

CGI ã®ä¾‹

+ +

最後ã«ã€ç‰¹å®šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ CGI プログラムã®å®Ÿè¡Œã‚’許å¯ã—ãŸã„ã“ã¨ãŒ + ã‚ã‚‹ã§ã—ょã†ã€‚ã“ã‚Œã¯ä»¥ä¸‹ã®è¨­å®šã§è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™:

+ +

+ Options +ExecCGI
+ AddHandler cgi-script cgi pl +

+ +

ã‚‚ã—ãã¯ã€ã‚るディレクトリã®ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ CGI プログラム㨠+ ã¿ãªã•ã‚Œã‚‹ã‚ˆã†ã«ã—ãŸã„ãªã‚‰ã€ä»¥ä¸‹ã®è¨­å®šã§å®Ÿç¾ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +

+ Options +ExecCGI
+ SetHandler cgi-script +

+ +

ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæœ‰åŠ¹ã«ãªã‚‹ãŸã‚ã«ã¯ã€ + AllowOverride Options 㨠AllowOverride + FileInfo ãŒæœ‰åŠ¹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

CGI プログラムã¨è¨­å®šã®ã‚ˆã‚Šã¾ã¨ã¾ã£ãŸèª¬æ˜Žã¯ CGI ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +
top
+
+

å•é¡Œè§£æ±º

+ +

設定ディレクティブを .htaccess ファイルã«æ›¸ã„ãŸã‘ã‚Œã©ã‚‚〠+ 期待ã—ãŸåŠ¹æžœãŒå¾—られãªã„ã¨ãã«ã¯ã€ã„ãã¤ã‹ã®åŽŸå› ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚

+ +

一番よãã‚ã‚‹ã“ã¨ã¯ã€è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒè€ƒæ…®ã•ã‚Œã‚‹ã‚ˆã†ã«ã¯ + AllowOverride ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„ + ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚該当ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¹ã‚³ãƒ¼ãƒ—ã« AllowOverride None + ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。ã“れを調ã¹ã‚‹ãŸã‚ã®è‰¯ã„方法ã¯ã€ + .htaccess ファイルã«ã”ã¿ã‚’書ã„ã¦ã€ãƒªãƒ­ãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ã§ã™ã€‚ + サーãƒã®ã‚¨ãƒ©ãƒ¼ãŒç”Ÿæˆã•ã‚Œãªã„ã¨ãã¯ã€ã»ã¼ç¢ºå®Ÿã« AllowOverride + None ãŒè¨­å®šã•ã‚Œã¦ã„る状態ã«ãªã£ã¦ã„ã¾ã™ã€‚

+ +

ãã†ã§ã¯ãªãã€æ–‡æ›¸ã‚’アクセスã—よã†ã¨ã—ãŸã¨ãã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¦ã„ã‚‹ + ã¨ãã¯ã€Apache ã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã‚’調ã¹ã¦ãã ã•ã„。.htaccess ファイル㧠+ 使用ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒè¨±å¯ã•ã‚Œã¦ã„ãªã„ã€ã¨ã„ã†ã“ã¨ã‚’知らã›ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒé«˜ã„ã§ã™ã€‚ã¾ãŸã¯ã€æ§‹æ–‡ã®é–“é•ã„ãŒã‚ã‚‹ã“ã¨ã‚’è¿°ã¹ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ãã®å ´åˆã«ã¯ã¾ãšãれを修正ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/htaccess.html.ko.euc-kr b/docs/manual/howto/htaccess.html.ko.euc-kr new file mode 100644 index 0000000..69d856f --- /dev/null +++ b/docs/manual/howto/htaccess.html.ko.euc-kr @@ -0,0 +1,363 @@ + + + + + +¾ÆÆÄÄ¡ ÅõÅ丮¾ó: .htaccess ÆÄÀÏ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ ÅõÅ丮¾ó: .htaccess ÆÄÀÏ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

.htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¿© µð·ºÅ丮º°·Î ¼³Á¤À» +º¯°æÇÒ ¼ö ÀÖ´Ù.

+
+ +
top
+
top
+
+

¹«¾ùÀ̸ç/¾î¶»°Ô »ç¿ëÇϴ°¡

+ + +

.htaccess ÆÄÀÏ(ȤÀº "ºÐ»ê ¼³Á¤ÆÄÀÏ")À» + »ç¿ëÇÏ¸é µð·ºÅ丮º°·Î ¼³Á¤À» º¯°æÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¼³Á¤ Áö½Ã¾î°¡ + ÀÖ´Â ÆÄÀÏÀ» ƯÁ¤ ¹®¼­ µð·ºÅ丮¿¡ µÎ¸é, ±× µð·ºÅ丮¿Í ¸ðµç + ÇÏÀ§µð·ºÅ丮¿¡ Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù.

+ +

ÁÖÀÇ:

+

.htaccess ÆÄÀϸíÀ» ´Ù¸£°Ô »ç¿ëÇÏ°í ½Í´Ù¸é, + AccessFileName Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© º¯°æÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, .config + ÆÄÀϸíÀ» »ç¿ëÇÏ·Á¸é ¼­¹ö ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇÑ´Ù.

+ +

+ AccessFileName .config +

+
+ +

ÀϹÝÀûÀ¸·Î .htaccess ÆÄÀÏÀº ÁÖ¼³Á¤ÆÄÀÏ°ú ¹®¹ýÀÌ + °°´Ù. AllowOverride + Áö½Ã¾î°¡ ÀÌ ÆÄÀÏ¿¡ ³ª¿Ã ¼ö ÀÖ´Â ³»¿ëÀ» °áÁ¤ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â + .htaccess ÆÄÀÏ¿¡¼­ Çã¿ëÇÏ´Â Áö½Ã¾î ºÐ·ù¸¦ ÁöÁ¤ÇÑ´Ù. + Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù¸é, + ÇØ´ç Áö½Ã¾î ¹®¼­ÀÇ Override Ç׸ñÀº Áö½Ã¾î¸¦ Çã¿ëÇϱâÀ§ÇØ + AllowOverride¿¡ »ç¿ëÇÒ + °ªÀ» ¾Ë·ÁÁØ´Ù.

+ +

¿¹¸¦ µé¾î, AddDefaultCharset + Áö½Ã¾î ¹®¼­¸¦ º¸¸é ÀÌ Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. (Áö½Ã¾î ¿ä¾à¿¡¼­ »ç¿ëÀå¼Ò Ç׸ñÀ» º¸¶ó.) + Override + ÁÙ¿¡ FileInfo°¡ ÀÖ´Ù. ±×·¡¼­ ÀÌ Áö½Ã¾î¸¦ + .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇϱâÀ§Çؼ­´Â ÃÖ¼ÒÇÑ + AllowOverride FileInfo°¡ ÇÊ¿äÇÏ´Ù.

+ +

¿¹Á¦:

+ + + + + + + + + +
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override:FileInfo
+ +

ƯÁ¤ Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ + ¼ö ÀÖ´ÂÁö ±Ã±ÝÇϸé Áö½Ã¾î ¹®¼­ÀÇ »ç¿ëÀå¼Ò Ç׸ñ¿¡ ".htaccess"°¡ + ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.

+
top
+
+

¾ðÁ¦ .htaccess ÆÄÀÏÀ» »ç¿ëÇϳª + (ȤÀº »ç¿ëÇÏÁö ¾Ê³ª)

+ +

ÀϹÝÀûÀ¸·Î ÁÖ¼­¹öÆÄÀÏ¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ¾Æ´Ï¶ó¸é + .htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. ¿¹¸¦ µé¾î, + »ç¿ëÀÚ ÀÎÁõÀÌ Ç×»ó .htaccess ÆÄÀÏ¿¡ ÀÖ¾î¾ß + ÇÑ´Ù´Â °ÍÀº À߸ø ¾Ë·ÁÁø ¿ÀÇØ´Ù. ÀÌ´Â »ç½ÇÀÌ ¾Æ´Ï´Ù. ÁÖ¼­¹ö¼³Á¤¿¡ + »ç¿ëÀÚ ÀÎÁõ ¼³Á¤À» ÀûÀ» ¼ö ÀÖ°í, »ç½Ç ÀÌ·¯±æ ±ÇÇÑ´Ù.

+ +

.htaccess ÆÄÀÏÀº ÄÁÅÙÃ÷ Á¦°øÀÚ°¡ µð·ºÅ丮º°·Î + ¼­¹ö ¼³Á¤À» ´Ù¸£°ÔÇÏ°í ½ÍÁö¸¸ ¼­¹ö ½Ã½ºÅÛ¿¡ root ±ÇÇÑÀÌ + ¾ø´Â °æ¿ì¿¡ »ç¿ëÇÑ´Ù. ¼­¹ö °ü¸®ÀÚ°¡ ¼³Á¤À» ÀÚÁÖ º¯°æÇÏ°í + ½ÍÁö ¾ÊÀº °æ¿ì ÀÏ¹Ý »ç¿ëÀÚ°¡ Á÷Á¢ .htaccess + ÆÄÀÏÀ» ¼öÁ¤Çϵµ·Ï Çã¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ¿¹¸¦ µé¾î, ÇÑ + ÄÄÇ»ÅÍ¿¡ ¿©·¯ »ç¿ëÀÚ »çÀÌÆ®¸¦ ¼­ºñ½ºÇÏ´Â ISP¿¡¼­ »ç¿ëÀÚ°¡ + ÀÚ½ÅÀÇ ¼³Á¤À» º¯°æÇÏ°í ½ÍÀº °æ¿ì°¡ ±×·¯ÇÏ´Ù.

+ +

±×·¯³ª ÀϹÝÀûÀ¸·Î .htaccess ÆÄÀÏÀº °¡±ÞÀû + ÇÇÇØ¾ß ÇÑ´Ù. .htaccess ÆÄÀÏ¿¡¼­ Çã¿ëÇÏ´Â Áö½Ã¾î´Â + ÁÖ¼³Á¤ÆÄÀÏÀÇ <Directory> ¼½¼Ç°ú °°Àº È¿°ú°¡ + ÀÖ´Ù.

+ +

´ÙÀ½ µÎ°¡Áö Å« ÀÌÀ¯¶§¹®¿¡ .htaccess ÆÄÀÏ + »ç¿ëÀ» ÇÇÇØ¾ß ÇÑ´Ù.

+ +

ù¹ø°´Â ¼º´ÉÀÌ´Ù. AllowOverride°¡ .htaccess + ÆÄÀÏÀ» »ç¿ëÇϵµ·Ï Çã¿ëÇϸé, ¾ÆÆÄÄ¡´Â µð·ºÅ丮¸¶´Ù + .htaccess ÆÄÀÏÀ» ã´Â´Ù. ±×·¡¼­ + .htaccess ÆÄÀÏÀ» Çã¿ëÇÏ¸é ½ÇÁ¦·Î ÆÄÀÏÀ» »ç¿ëÇÏÁö + ¾Ê´Â °æ¿ì¿¡µµ ¼º´ÉÀÌ ¶³¾îÁø´Ù! ¶Ç, .htaccess + ÆÄÀÏÀº ¹®¼­¸¦ ¿äûÇÒ¶§¸¶´Ù ÀоîµéÀδÙ.

+ +

°Ô´Ù°¡ Àû¿ëÇØ¾ß ÇÏ´Â Àüü Áö½Ã¾î¸¦ ¸ðÀ¸±âÀ§ÇØ ¾ÆÆÄÄ¡´Â + ¸ðµç »óÀ§ µð·ºÅ丮¿¡¼­ .htaccess ÆÄÀÏÀ» ã´Â´Ù. + (¾î¶»°Ô Áö½Ã¾î¸¦ Àû¿ëÇϳª ÀýÀ» Âü°í.) + ±×·¡¼­ /www/htdocs/example µð·ºÅ丮¿¡ ÀÖ´Â + ÆÄÀÏÀ» ¿äûÇϸé, ¾ÆÆÄÄ¡´Â ´ÙÀ½ ÆÄÀϵéÀ» ã¾Æ¾ß ÇÑ´Ù.

+ +

+ /.htaccess
+ /www/.htaccess
+ /www/htdocs/.htaccess
+ /www/htdocs/example/.htaccess +

+ +

±×·¡¼­ ±× µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀ» Á¢±ÙÇÒ ¶§¸¶´Ù ¼³Á¤ÆÄÀÏÀÌ + ÀüÇô ¾ø¾îµµ ÆÄÀϽýºÅÛÀ» 4¹ø ´õ Á¢±ÙÇØ¾ß ÇÑ´Ù. + (/¿¡¼­µµ .htaccess ÆÄÀÏÀ» Çã¿ëÇÑ + °æ¿ì¸¦ ¸»ÇÑ´Ù. º¸ÅëÀº Çã¿ëÇÏÁö ¾Ê´Â´Ù.)

+ +

µÎ¹ø° ÀÌÀ¯´Â º¸¾ÈÀÌ´Ù. »ç¿ëÀÚ¿¡°Ô ¼­¹ö¼³Á¤ º¯°æ ±ÇÇÑÀ» + ÁÖ¸é ´ç½ÅÀÌ °¨´çÇÒ ¼ö ¾ø´Â º¯È­°¡ ÀϾ ¼ö ÀÖ´Ù. »ç¿ëÀÚ¿¡°Ô + ÀÌ·± ±ÇÇÑÀ» ÁÙÁö °õ°õÀÌ »ý°¢Ç϶ó. ¶Ç, »ç¿ëÀÚ°¡ ¿øÇÏ´Â °Íº¸´Ù + ÀûÀº ±ÇÇÑÀ» ÁÖ¸é ±â¼úÁö¿ø¿äûÀÌ µé¾î¿Â´Ù. »ç¿ëÀÚ¿¡°Ô °¡´ÉÇÑ + ±ÇÇÑ ¼öÁØÀ» ¸íÈ®È÷ ¾Ë·Á¶ó. »ç¿ëÀÚ¿¡°Ô AllowOverride¸¦ ¾î¶»°Ô ¼³Á¤ÇÏ¿´´ÂÁö + Á¤È®È÷ ¾Ë¸®°í °ü·Ã ¹®¼­¸¦ Á¦°øÇÏ¸é ¾ÕÀ¸·Î È¥¶õÀ» ÇÇÇÒ ¼ö + ÀÖ´Ù.

+ +

Áö½Ã¾î¸¦ /www/htdocs/example µð·ºÅ丮ÀÇ + .htaccess ÆÄÀÏÀ» µÎ´Â °Í°ú ÁÖ¼­¹ö¼³Á¤ÀÇ + <Directory /www/htdocs/example> Directory + ¼³Á¤¿¡ µÎ´Â °ÍÀº ¿ÏÀüÈ÷ °°´Ù.

+ +

/www/htdocs/example¿¡ ÀÖ´Â + .htaccess ¼½¼Ç:

+ +

/www/htdocs/example¿¡ ÀÖ´Â + .htaccess ÆÄÀÏ ³»¿ë

+ AddType text/example .exm +

+ +

httpd.conf ÆÄÀÏ¿¡ ÀÖ´Â ¼½¼Ç

+ <Directory /www/htdocs/example>
+ + AddType text/example .exm
+
+ </Directory> +

+ +

±×·¯³ª ÆÄÀÏÀ» ¿äûÇÒ ¶§¸¶´Ù ¼³Á¤À» ÀÐÁö¾Ê°í ¾ÆÆÄÄ¡°¡ + ½ÃÀÛÇÒ¶§ Çѹø¸¸ ¼³Á¤À» Àб⶧¹®¿¡ °°Àº ¼³Á¤À» ¼­¹ö¼³Á¤ÆÄÀÏ¿¡ + »ç¿ëÇÏ¸é ¼º´ÉÀÌ ´õ ºü¸£´Ù.

+ +

AllowOverride Áö½Ã¾î¸¦ + noneÀ¸·Î ¼³Á¤Çϸé .htaccess ÆÄÀÏÀ» + ¿ÏÀüÈ÷ »ç¿ëÇÒ ¼ö ¾ø´Ù.

+ +

+ AllowOverride None +

+
top
+
+

¾î¶»°Ô Áö½Ã¾î¸¦ Àû¿ëÇϳª

+ +

.htaccess ÆÄÀÏÀ» ¹ß°ßÇÑ µð·ºÅ丮¿Í ±× µð·ºÅ丮ÀÇ + ¸ðµç ÇÏÀ§µð·ºÅ丮¿¡ .htaccess ÆÄÀÏ¿¡ ÀÖ´Â ¼³Á¤ + Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ±×·¡¼­ »óÀ§µð·ºÅ丮ÀÇ .htaccess + ÆÄÀÏÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù. ¹ß°ßÇÑ ¼ø¼­·Î Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ƯÁ¤ + µð·ºÅ丮¿¡ ÀÖ´Â .htaccess ÆÄÀÏÀº »óÀ§µð·ºÅ丮¿¡ + ÀÖ´Â .htaccess ÆÄÀÏÀÇ Áö½Ã¾î¸¦ ¹«È¿·Î ¸¸µé + ¼ö ÀÖ°í, »óÀ§µð·ºÅ丮¿¡ ÀÖ´Â Áö½Ã¾î´Â ´õ »óÀ§µð·ºÅ丮 ȤÀº + ÁÖ¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î¸¦ ¹«È¿·Î ¸¸µé ¼ö ÀÖ´Ù.

+ +

¿¹Á¦:

+ +

/www/htdocs/example1 µð·ºÅ丮¿¡ ´ÙÀ½°ú °°Àº + .htaccess ÆÄÀÏÀÌ ÀÖ´Ù.

+ +

+ Options +ExecCGI +

+ +

(ÁÖÀÇ: .htaccess ÆÄÀÏ¿¡ "Options" Áö½Ã¾î¸¦ »ç¿ëÇÏ·Á¸é + "AllowOverride Options"°¡ ÇÊ¿äÇÏ´Ù.)

+ +

/www/htdocs/example1/example2 µð·ºÅ丮¿¡´Â + ´ÙÀ½°ú °°Àº .htaccess ÆÄÀÏÀÌ ÀÖ´Ù.

+ +

+ Options Includes +

+ +

ÀÌ µÎ¹ø° .htaccess ÆÄÀÏÀÇ + Options Includes°¡ ÀÌÀü ¼³Á¤À» ¿ÏÀüÈ÷ ¹«È¿·Î + ¸¸µé±â¶§¹®¿¡ /www/htdocs/example1/example2 + µð·ºÅ丮´Â CGI ½ÇÇàÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù.

+
top
+
+

ÀÎÁõ ¿¹Á¦

+ +

ÀÎÁõ ¹æ¹ýÀ» ¾Ë±âÀ§ÇØ ¹Ù·Î ÀÌ°÷ºÎÅÍ Àд´ٸé ÁÖÀÇÇÒ °ÍÀÌ + ÀÖ´Ù. ¾ÏÈ£ ÀÎÁõÀ» ÇÏ·Á¸é .htaccess ÆÄÀÏÀÌ + ÇÊ¿äÇÏ´Ù´Â ¿ÀÇØ°¡ ³Î¸® ÆÛÁ®ÀÖ´Ù. ÀÌ´Â »ç½ÇÀÌ ¾Æ´Ï´Ù. + ÁÖ¼³Á¤ÆÄÀÏÀÇ <Directory> ¼½¼Ç¿¡ ÀÎÁõ Áö½Ã¾î¸¦ + µÎ´Â °ÍÀÌ ´õ ±ÇÀåÇÏ´Â ¹æ¹ýÀÌ°í, ¼­¹öÀÇ ÁÖ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇÒ + ¼ö ¾ø´Â °æ¿ì¿¡¸¸ .htaccess ÆÄÀÏÀ» »ç¿ëÇØ¾ß + ÇÑ´Ù. ¾ðÁ¦ .htaccess ÆÄÀÏÀ» »ç¿ëÇØ¾ß ÇÏ´ÂÁö¿Í + »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÏ´ÂÁö´Â À§¿¡¼­ + ¼³¸íÇÏ¿´´Ù.

+ +

¾Õ¿¡¼­ ¸»ÇßÁö¸¸ ¾ÆÁ÷µµ .htaccess ÆÄÀÏÀÌ + ÇÊ¿äÇÏ´Ù°í »ý°¢µÇ¸é ¾Æ·¡ ¼³Á¤ÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

+ +

.htaccess ÆÄÀÏ ³»¿ë.

+ +

+ AuthType Basic
+ AuthName "Password Required"
+ AuthUserFile /www/passwords/password.file
+ AuthGroupFile /www/passwords/group.file
+ Require Group admins +

+ +

ÀÌ Áö½Ã¾î°¡ µ¿ÀÛÇϱâÀ§Çؼ­´Â + AllowOverride AuthConfig Áö½Ã¾î°¡ ÇÊ¿äÇÔÀ» + ¸í½ÉÇ϶ó.

+ +

ÀÎÁõ°ú ±ÇÇѺο©¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ÀÎÁõ + ÅõÅ丮¾óÀ» º¸±æ ¹Ù¶õ´Ù.

+
top
+
+

Server Side Includes ¿¹Á¦

+ +

¶Ç´Ù¸¥ ÀϹÝÀûÀÎ .htaccess ÆÄÀÏÀÇ ¿ëµµ´Â + ƯÁ¤ µð·ºÅ丮¿¡¼­ Server Side Includes¸¦ °¡´ÉÇÏ°Ô ¸¸µå´Â + °ÍÀÌ´Ù. ¿øÇÏ´Â µð·ºÅ丮ÀÇ .htaccess ÆÄÀÏ¿¡ + ´ÙÀ½°ú °°Àº ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é µÈ´Ù.

+ +

+ Options +Includes
+ AddType text/html shtml
+ AddHandler server-parsed shtml +

+ +

ÀÌ Áö½Ã¾î°¡ µ¿ÀÛÇÏ·Á¸é AllowOverride Options¿Í + AllowOverride FileInfo°¡ ¸ðµÎ ÇÊ¿äÇÔÀ» ¸í½ÉÇ϶ó.

+ +

server-side includes¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº SSI ÅõÅ丮¾óÀ» º¸±æ ¹Ù¶õ´Ù.

+
top
+
+

CGI ¿¹Á¦

+ +

¸¶Áö¸·À¸·Î .htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¿© ƯÁ¤ + µð·ºÅ丮¿¡¼­ CGI ÇÁ·Î±×·¥ ½ÇÇàÀ» Çã¿ëÇÏ°í ½Í´Ù¸é, ´ÙÀ½°ú + °°Àº ¼³Á¤À» »ç¿ëÇÑ´Ù.

+ +

+ Options +ExecCGI
+ AddHandler cgi-script cgi pl +

+ +

ȤÀº ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏÀ» CGI ÇÁ·Î±×·¥À¸·Î + ó¸®ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°Àº ¼³Á¤µµ °¡´ÉÇÏ´Ù.

+ +

+ Options +ExecCGI
+ SetHandler cgi-script +

+ +

ÀÌ Áö½Ã¾î°¡ µ¿ÀÛÇÏ·Á¸é AllowOverride Options¿Í + AllowOverride FileInfo°¡ ¸ðµÎ ÇÊ¿äÇÔÀ» ¸í½ÉÇ϶ó.

+ +

CGI ÇÁ·Î±×·¡¹Ö°ú ¼³Á¤¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº CGI ÅõÅ丮¾óÀ» º¸±æ ¹Ù¶õ´Ù.

+ +
top
+
+

¹®Á¦ÇØ°á

+ +

.htaccess ÆÄÀÏ¿¡ µÐ ¼³Á¤ Áö½Ã¾î°¡ ¿øÇÏ´Â + ±â´ÉÀ» ÇÏÁö ¾Ê´Â °æ¿ì ¿©·¯°¡Áö ÀÌÀ¯°¡ ÀÖÀ» ¼ö ÀÖ´Ù.

+ +

°¡Àå ÀϹÝÀûÀÎ ¹®Á¦´Â ¼³Á¤ Áö½Ã¾î¸¦ °¡´ÉÇÏ°Ô ¸¸µå´Â AllowOverride¸¦ ¼³Á¤ÇÏÁö ¾ÊÀº + °æ¿ì´Ù. ¹®Á¦°¡ µÇ´Â ÆÄÀÏ ¿µ¿ª¿¡ AllowOverride NoneÀÌ + ¾ø´ÂÁö È®ÀÎÇÑ´Ù. .htaccess ÆÄÀÏÀ» ¾Æ¹«·¸°Ô³ª + ÀûÀº ´ÙÀ½ ÆäÀÌÁö¸¦ ´Ù½Ã Á¢±ÙÇÏ¿© ½±°Ô °Ë»çÇغ¼ ¼ö ÀÖ´Ù. + ¼­¹ö ¿À·ù°¡ ³ª¿ÀÁö ¾ÊÀ¸¸é °ÅÀÇ È®½ÇÈ÷ + AllowOverride NoneÀ» »ç¿ëÇÑ °æ¿ì´Ù.

+ +

¹Ý´ë·Î ¹®¼­¿¡ Á¢±ÙÇÒ¶§ ¼­¹ö ¿À·ù°¡ ¹ß»ýÇÏ¸é ¾ÆÆÄÄ¡ ¿À·ù·Î±×¸¦ + »ìÆìºÁ¶ó. ¾Æ¸¶µµ .htaccess ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î¸¦ + Çã¿ëÇÏÁö ¾Ê´Â´Ù°í ÇÒ °ÍÀÌ´Ù. ¾Æ´Ï°í ¹®¹ý ¿À·ù°¡ ÀÖ´Ù¸é ¿À·ù¸¦ + °íÄ£´Ù.

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/htaccess.html.pt-br b/docs/manual/howto/htaccess.html.pt-br new file mode 100644 index 0000000..1468957 --- /dev/null +++ b/docs/manual/howto/htaccess.html.pt-br @@ -0,0 +1,407 @@ + + + + + +Tutorial do Apache: arquivos .htaccess - Servidor HTTP Apache Versão 2.4 + + + + + + + +
<-
+

Tutorial do Apache: arquivos .htaccess

+
+

Línguas Disponíveis:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
+
Esta tradução pode estar desatualizada. + Confira a versão em Inglês para mudanças recentes.
+ +

Arquivos .htaccess oferecem um meio de fazer mudanças + nas configurações por-diretório.

+
+ +
top
+
top
+
+

O que eles são/Como usá-los

+ + +

Os arquivos .htaccess (ou "arquivos de + configuração distribuída") oferecem um meio de fazer mudanças nas + configurações por-diretório. Um arquivo, contendo uma ou mais + diretrizes de configurações, é colocado em um diretório + em particular, e as diretrizes se aplicam para aquele diretório e todos + os seu subdiretórios subseqüentes.

+ +

Nota:

+

Se você quiser renomear o seu arquivo .htaccess + para outro nome, você deve usar a diretriz AccessFileName. Por exemplo, se você + prefere que o arquivo se chame .config, então você + pode adicionar a seguinte linha ao seu arquivo de configuração + do servidor:

+ +

+ AccessFileName .config +

+
+ +

No geral, arquivos .htaccess usam a mesma sintaxe + que os arquivos de + configuração principal. O que você pode colocar nesses + arquivos é determinado pele diretriz AllowOverride. Essa diretriz especifica, + em categorias, quais diretrizes serão aceitas caso sejam + encontradas em um arquivo .htaccess. Se uma diretriz + for permitida em um arquivo .htaccess, a documentação + para essa diretriz irá conter uma seção Override, + especificando que valor precisa estar em AllowOverride para que esta diretriz + seja permitida.

+ +

Por exemplo, se você procurar na documentação pela diretriz + AddDefaultCharset, você + achará que ela é permitida nos arquivos .htaccess. + (Veja a linha Contexto no sumário das diretivas.) A + linha Override lê + FileInfo. Então, você deve ao menos ter + AllowOverride FileInfo para que essa diretriz seja + aceita nos arquivos .htaccess.

+ +

Exemplo:

+ + + + + + + + + +
Contexto:configuração do servidor, hospedeiros virtuais, diretório, .htaccess
Override:FileInfo
+ +

Se você estiver incerto se uma diretriz em particular é + aceita em um arquivo .htaccess, procure na + documentação por essa diretriz, e verifique a linha de + Contexto por ".htaccess".

top
+
+

Quando (não) usar arquivos .htaccess

+ +

No geral, você nunca deve usar arquivos .htaccess + a não ser que você não tenha acesso ao arquivo de configuração + principal do servidor. Existe, por exemplo, um erro de concepção + que dita que a autenticação de usuários sempre deve + ser feita usando os arquivos .htaccess. Esse + simplesmente não é o caso. Você pode usar as configurações de + autenticação de usuário no arquivo de configuração principal do + servidor, e isso é, de fato, a maneira mais adequada de se fazer + as coisas.

+ +

Arquivos .htaccess devem ser usados em casos onde + os provedores de conteúdo do site precisem fazer mudanças na + configuração do servidor por-diretório, mas não tem + acesso root ao sistema do servidor. Caso o administrador do + servidor não esteja disposto a fazer mudanças freqüentes nas + configurações do servidor, é desejável permitir que os + usuários possam fazer essas mudanças através de arquivos + .htaccess eles mesmos. Isso é particularmente + verdade, por exemplo, em casos onde provedores estão fornecendo + múltiplos sites para usuários em apenas uma máquina, e querem que + seus usuários possam alterar suas configurações.

+ +

No entanto, de modo geral, o uso de arquivos .htaccess + deve ser evitado quando possível. Quaisquer configurações + que você considerar acrescentar em um arquivo .htaccess, podem + ser efetivamente colocadas em uma seção <Directory> no arquivo principal de + configuração de seu servidor.

+ +

Existem duas razões principais para evitar o uso de arquivos + .htaccess.

+ +

A primeira delas é a performance. Quando AllowOverride é configurado para + permitir o uso de arquivos .htaccess, o Apache procura + em todos diretórios por arquivos .htaccess. + Logo, permitir arquivos .htaccess causa um impacto na + performance, mesmo sem você usá-los de fato! Além disso, + o arquivo .htaccess é carregado toda vez que um documento + é requerido.

+ +

Além disso, note que o Apache precisa procurar pelos arquivos + .htaccess em todos os diretórios superiores, para ter + o complemento total de todas as diretivas que devem ser + aplicadas. (Veja a seção como as diretrizes são + aplicadas.) Então, se um arquivo de um diretório + /www/htdocs/example é requerido, o Apache precisa + procurar pelos seguintes arquivos:

+ +

+ /.htaccess
+ /www/.htaccess
+ /www/htdocs/.htaccess
+ /www/htdocs/example/.htaccess +

+ +

Assim, para cada acesso de arquivo fora desse diretório, + existem 4 acessos ao sistema de arquivos adicionais, mesmo + que nenhum desses arquivos estejam presentes. (Note que esse + só será o caso se os arquivos .htaccess + estiverem habilitados para /, o que + normalmente não é o verdade.)

+ +

A segunda consideração é relativa à segurança. + Você está permitindo que os usuários modifiquem as + configurações do servidor, o que pode resultar em mudanças + que podem fugir ao seu controle. Considere com cuidado se você quer + ou não dar aos seus usuários esses privilégios. Note também + que dar aos usuários menos privilégios que eles precisam, acarreta em + pedidos de suporte técnico adicionais. Tenha certeza que você comunicou + aos usuários que nível de privilégios você os deu. + Especificar exatamente o que você configurou na diretriz AllowOverride, e direcioná-los para a + documentação relevante, irá poupá-lo de muita confusão + depois.

+ +

Perceba que é exatamente equivalente colocar o arquivo + .htaccess em um diretório + /www/htdocs/example contendo uma diretriz, e + adicionar a mesma diretriz em uma seção Directory + <Directory /www/htdocs/example> na configuração + principal do seu servidor:

+ +

Arquivo .htaccess em /www/htdocs/example:

+ +

Conteúdo de um arquivo .htaccess em + /www/htdocs/example

+ AddType text/example .exm +

+ +

Seção do seu arquivo httpd.conf

+ <Directory /www/htdocs/example>
+ + AddType text/example .exm
+
+ </Directory> +

+ +

No entanto, adicionando isso ao seu arquivo de configuração do + servidor resultará em uma menor perda de performance, na medida que + a configuração é carregada no momento da inicialização do + servidor, ao invés de toda que que um arquivo é requerido.

+ +

O uso de arquivos .htaccess pode ser totalmente + desabilitado, ajustando a diretriz AllowOverride para none:

+ +

+ AllowOverride None +

+
top
+
+

Como as diretrizes são aplicadas

+ +

As diretrizes de configuração que se encontram em um arquivo + .htaccess são aplicadas para o diretório no qual o + arquivo .htaccess se encontra, e para todos os + subdiretórios ali presentes. Mas, é importante lembrar também que + podem existir arquivos .htaccess no diretórios + superiores. As diretrizes são aplicadas na ordem que são + achadas. Logo, um arquivo .htaccess em um diretório + em particular, pode sobrescrever as diretrizes encontradas em um + diretório acima deste em sua respectiva árvore. Estes, por sua vez, + podem ter suas diretrizes sobrescritas por diretrizes ainda mais + acima, ou no próprio arquivo de configuração principal do + servidor.

+ +

Exemplo:

+ +

No diretório /www/htdocs/example1 nós temos + um arquivo .htaccess contendo o seguinte:

+ +

+ Options +ExecCGI +

+ +

(Nota: você deve ter "AllowOverride Options" para + permitir o uso da diretriz "Options" nos arquivos + .htaccess .)

+ +

No diretório /www/htdocs/example1/example2 nós temos + um arquivo .htaccess contendo:

+ +

+ Options Includes +

+ +

Devido a esse segundo arquivo .htaccess, no + diretório /www/htdocs/example1/example2, a execução + de scripts CGI não é permitida, pois somente Options + Includes está em efeito, o que sobrescreve completamente + quaisquer outros ajustes previamente configurados.

+
top
+
+

Exemplo de Autenticação

+ +

Se você veio diretamente à esta parte do documento para + aprender como fazer autenticação, é importante notar uma + coisa. Existe uma concepção errada, mas muito comum, de que é + necessário o uso de arquivos .htaccess para implementar + a autenticação por senha. Este não é o caso. Colocar + diretrizes de senha em uma seção <Directory>, no seu arquivo principal de + configuração do servidor, é a melhor maneira de se implementar + isto, e os arquivos .htaccess devem ser usados apenas + se você não tem acesso ao arquivo principal de configuração do + servidor. Veja acima a discussão sobre quando + você deve e quando não deve usar os arquivos + .htaccess.

+ +

Dito isso, se você ainda acredita que precisa usar um arquivo + .htaccess, a configuração a seguir provavelmente + funcionará para você.

+ +

Conteúdo de um arquivo .htaccess:

+ +

+ AuthType Basic
+ AuthName "Password Required"
+ AuthUserFile /www/passwords/password.file
+ AuthGroupFile /www/passwords/group.file
+ Require Group admins +

+ +

Note que AllowOverride AuthConfig precisa estar + habilitado para que estas diretrizes tenham efeito.

+ +

Por favor veja o tutorial de + autenticação para uma discussão mais completa sobre + autenticação e autorização.

+
top
+
+

Exemplo de Server Side Includes

+ +

Outro uso comum de arquivos .htaccess é ativar o + Server Side Includes para um diretório em particular. Isto pode + ser feito com as seguintes diretrizes de configuração, colocadas em + um arquivo .htaccess no diretório desejado:

+ +

+ Options +Includes
+ AddType text/html shtml
+ AddHandler server-parsed shtml +

+ +

Note que ambos AllowOverride Options e + AllowOverride FileInfo precisam estar habilitados + para essas diretrizes terem efeito.

+ +

Por favor veja o tutorial de SSI para + uma discussão mais completa sobre server-side includes.

+
top
+
+

Exemplo de CGI

+ +

Finalmente, você pode querer que um arquivo + .htaccess permita a execução de programas CGI em um + diretório em particular. Isto pode ser implementado com as + seguintes configurações:

+ +

+ Options +ExecCGI
+ AddHandler cgi-script cgi pl +

+ +

Alternativamente, se você desejar que todos os arquivos de um + dado diretório, sejam considerados programas CGI, isso pode ser + feito com a seguinte configuração:

+ +

+ Options +ExecCGI
+ SetHandler cgi-script +

+ +

Note que ambos AllowOverride Options e + AllowOverride FileInfo precisam estar habilitados + para que essas diretrizes tenham quaisquer efeito.

+ +

Por favor veja o tutorial de CGI + tutorial para uma discussão mais completa sobre programação + e configuração CGI.

+
top
+
+

Resolvendo Problemas

+ +

Quando você adiciona diretrizes de configuração em um arquivo + .htaccess, e não obtém o efeito desejado, existe uma + série de pontos que podem estar errados.

+ +

Mais comumente, o problema é que a diretriz AllowOverride não está habilitada + corretamente para que as suas diretrizes de configurações sejam + honradas. Verifique se você não possui AllowOverride + None ajustado para o escopo do arquivo em questão. Um bom + meio de testar isso é colocar "lixo" em seu arquivo + .htaccess e recarregá-lo. Se não for gerado nenhum + erro do servidor, certamente você tem AllowOverride + None habilitado.

+ +

Se, por outro lado, você está obtendo erros do servidor ao + tentar acessar documentos, verifique o registro de erros do + Apache. Ele provavelmente irá indicar que a diretriz usada em + seu arquivo .htaccess não é permitida. + Alternativamente, ele pode acusar erros de sintaxe que você terá + que corrigir.

+ +
+
+

Línguas Disponíveis:  en  | + es  | + fr  | + ja  | + ko  | + pt-br 

+
top

Comentários

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/http2.html b/docs/manual/howto/http2.html new file mode 100644 index 0000000..7de4a43 --- /dev/null +++ b/docs/manual/howto/http2.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: http2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: http2.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: http2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/howto/http2.html.en b/docs/manual/howto/http2.html.en new file mode 100644 index 0000000..8e96089 --- /dev/null +++ b/docs/manual/howto/http2.html.en @@ -0,0 +1,346 @@ + + + + + +HTTP/2 guide - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

HTTP/2 guide

+
+

Available Languages:  en  | + es  | + fr 

+
+ +

This is the howto guide for the HTTP/2 implementation in Apache httpd. This + feature is production-ready and you may expect interfaces and directives to + remain consistent releases. +

+
+ +
top
+
+

The HTTP/2 protocol

+ +

HTTP/2 is the evolution of the world's most successful application layer protocol, HTTP. + It focuses on making more efficient use of network resources. It does not change the fundamentals + of HTTP, the semantics. There are still request and responses and headers and all that. So, if + you already know HTTP/1, you know 95% about HTTP/2 as well.

+

There has been a lot written about HTTP/2 and how it works. The most normative is, of course, + its RFC 7540 + (also available in more readable formatting, YMMV). + So, there you'll find the nuts and bolts.

+

But, as RFC do, it's not really a good thing to read first. It's better to first understand + what a thing wants to do and then read the RFC about how it is done. A much + better document to start with is http2 explained + by Daniel Stenberg, the author of curl. It is available in + an ever growing list of languages, too!

+

Too Long, Didn't read: there are some new terms and gotchas that need to be kept in mind while reading this document:

+
    +
  • HTTP/2 is a binary protocol, as opposed to HTTP 1.1 that is plain text. The latter is meant to be human readable (for example sniffing network traffic) meanwhile the former is not. More info in the official FAQ question.
  • +
  • h2 is HTTP/2 over TLS (protocol negotiation via ALPN).
  • +
  • h2c is HTTP/2 over TCP.
  • +
  • A frame is the smallest unit of communication within an HTTP/2 connection, consisting of a header and a variable-length sequence of octets structured according to the frame type. More info in the official documentation section.
  • +
  • A stream is a bidirectional flow of frames within the HTTP/2 connection. The correspondent concept in HTTP 1.1 is a request/response message exchange. More info in the official documentation section.
  • +
  • HTTP/2 is able to run multiple streams of data over the same TCP connection, avoiding the classic HTTP 1.1 head of blocking slow request and avoiding to re-instantiate TCP connections for each request/response (KeepAlive patched the problem in HTTP 1.1 but did not fully solve it).
  • +
+
top
+
+

HTTP/2 in Apache httpd

+ +

The HTTP/2 protocol is implemented by its own httpd module, aptly named + mod_http2. It implements the complete set + of features described by RFC 7540 and supports HTTP/2 over cleartext (http:), as + well as secure (https:) connections. The cleartext variant is named 'h2c', + the secure one 'h2'. For h2c it allows the direct + mode and the Upgrade: via an initial HTTP/1 request.

+

One feature of HTTP/2 that offers new capabilities for web developers is + Server Push. See that section on how your web application + can make use of it.

+
top
+
+

Build httpd with HTTP/2 support

+ +

mod_http2 uses the library of nghttp2 + as its implementation base. In order to build mod_http2 you need at least version 1.2.1 of + libnghttp2 installed on your system.

+

When you ./configure your Apache httpd source tree, you need to give it + '--enable-http2' as additional argument to trigger the build of the module. + Should your libnghttp2 reside in an unusual place (whatever that is on your + operating system), you may announce its location with '--with-nghttp2=<path>' + to configure.

+

While that should do the trick for most, they are people who might prefer a statically + linked nghttp2 in this module. For those, the option --enable-nghttp2-staticlib-deps + exists. It works quite similar to how one statically links openssl to mod_ssl.

+

Speaking of SSL, you need to be aware that most browsers will speak HTTP/2 only on https: + URLs, so you need a server with SSL support. But not only that, you will need a SSL library + that supports the ALPN extension. If OpenSSL is the library you use, you need + at least version 1.0.2.

+
top
+
+

Basic Configuration

+ + +

When you have a httpd built with mod_http2 you need some + basic configuration for it becoming active. The first thing, as with every Apache module, + is that you need to load it:

+
LoadModule http2_module modules/mod_http2.so
+ + +

The second directive you need to add to your server configuration is

+
Protocols h2 http/1.1
+ +

This allows h2, the secure variant, to be the preferred protocol on your server + connections. When you want to enable all HTTP/2 variants, you simply write:

+
Protocols h2 h2c http/1.1
+ +

Depending on where you put this directive, it affects all connections or just + the ones to a certain virtual host. You can nest it, as in:

+
Protocols http/1.1
+<VirtualHost ...>
+    ServerName test.example.org
+    Protocols h2 http/1.1
+</VirtualHost>
+ + +

This allows only HTTP/1 on connections, except SSL connections to test.example.org + which offer HTTP/2.

+

Choose a strong SSLCipherSuite

+

The SSLCipherSuite needs to be configured with + a strong TLS cipher suite. The current version of mod_http2 does not enforce any cipher but most + clients do so. Pointing a browser to a h2 enabled server with a inappropriate + cipher suite will force it to simply refuse and fall back to HTTP 1.1. This is a common mistake + that is done while configuring httpd for HTTP/2 the first time, so please keep it in mind to avoid + long debugging sessions! If you want to be sure about the cipher suite to choose please avoid + the ones listed in the HTTP/2 TLS reject list.

+
+

The order of protocols mentioned is also relevant. By default, the first one is the + most preferred protocol. When a client offers multiple choices, the one most to the + left is selected. In

+
Protocols http/1.1 h2
+ +

the most preferred protocol is HTTP/1 and it will always be selected unless a + client only supports h2. Since we want to talk HTTP/2 to clients that + support it, the better order is

+
Protocols h2 h2c http/1.1
+ + +

There is one more thing to ordering: the client has its own preferences, too. If + you want, you can configure your server to select the protocol most preferred by + the client:

+
ProtocolsHonorOrder Off
+ +

makes the order you wrote the Protocols irrelevant and only the client's + ordering will decide.

+

A last thing: the protocols you configure are not checked for correctness + or spelling. You can mention protocols that do not exist, so there is no need + to guard Protocols with any + <IfModule> checks.

+

For more advanced tips on configuration, see the + modules section about dimensioning and + how to manage multiple hosts with the same certificate.

+
top
+
+

MPM Configuration

+ + +

HTTP/2 is supported in all multi-processing modules that come with httpd. However, if + you use the prefork mpm, there will be severe restrictions.

+

In prefork, mod_http2 will only process one request at at time + per connection. But clients, such as browsers, will send many requests at the same time. + If one of these takes long to process (or is a long polling one), the other requests will + stall.

+

mod_http2 will not work around this limit by default. The reason is that + prefork is today only chosen, if you run processing engines that are not + prepared for multi-threading, e.g. will crash with more than one request.

+

If your setup can handle it, configuring event mpm is nowadays + the best one (if supported on your platform).

+

If you are really stuck with prefork and want multiple requests, + you can tweak the H2MinWorkers to make + that possible. If it breaks, however, you own both parts.

+
top
+
+

Clients

+ +

Almost all modern browsers support HTTP/2, but only over SSL connections: Firefox (v43), + Chrome (v45), Safari (since v9), iOS Safari (v9), Opera (v35), Chrome for Android (v49) + and Internet Explorer (v11 on Windows10) (source).

+

Other clients, as well as servers, are listed + on the Implementations wiki, + among them implementations for c, c++, common lisp, dart, erlang, haskell, java, nodejs, php, + python, perl, ruby, rust, scala and swift.

+

Several of the non-browser client implementations support HTTP/2 over cleartext, h2c. The + most versatile being curl.

+
top
+
+

Useful tools to debug HTTP/2

+ +

The first tool to mention is of course curl. Please make sure that + your version supports HTTP/2 checking its Features:

+
    $ curl -V
+    curl 7.45.0 (x86_64-apple-darwin15.0.0) libcurl/7.45.0 OpenSSL/1.0.2d zlib/1.2.8 nghttp2/1.3.4
+    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 [...] 
+    Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2
+    
+ +

Mac OS homebrew notes

+ brew install curl --with-openssl --with-nghttp2 +
+

And for really deep inspection wireshark.

+

The nghttp2 package also includes clients, such as:

+
    +
  • nghttp - useful to visualize the HTTP/2 frames and get a better idea of the protocol.
  • +
  • h2load - useful to stress-test your server.
  • +
+

Chrome offers detailed HTTP/2 logs on its connections via the + special net-internals page. There is also an + interesting extension for Chrome + and Firefox + to visualize when your browser is using HTTP/2.

+
top
+
+

Server Push

+ +

The HTTP/2 protocol allows the server to PUSH responses to a client it never + asked for. The tone of the conversation is: "here is a request that you + never sent and the response to it will arrive soon..."

+

But there are restrictions: the client can disable this feature and the + server may only ever PUSH on a request that came from the client.

+

The intention is to allow the server to send resources to the client that + it will most likely need: a css or javascript resource that belongs to a html + page the client requested. A set of images that is referenced by a css, etc.

+

The advantage for the client is that it saves the time to send the request which + may range from a few milliseconds to half a second, depending on where on the + globe both are located. The disadvantage is that the client may get sent + things it already has in its cache. Sure, HTTP/2 allows for the early cancellation + of such requests, but still there are resources wasted.

+

To summarize: there is no one good strategy on how to make best use of this + feature of HTTP/2 and everyone is still experimenting. So, how do you experiment + with it in Apache httpd?

+

mod_http2 inspect response header for Link headers + in a certain format:

+
Link </xxx.css>;rel=preload, </xxx.js>; rel=preload
+ +

If the connection supports PUSH, these two resources will be sent to the + client. As a web developer, you may set these headers either directly in + your application response or you configure the server via

+
<Location /xxx.html>
+    Header add Link "</xxx.css>;rel=preload"
+    Header add Link "</xxx.js>;rel=preload"
+</Location>
+ +

If you want to use preload links without triggering a PUSH, you + can use the nopush parameter, as in

+
Link </xxx.css>;rel=preload;nopush
+ +

or you may disable PUSHes for your server entirely with the directive

+
H2Push Off
+ +

And there is more:

+

The module will keep a diary of what has been PUSHed for each connection + (hashes of URLs, basically) and will not PUSH the same resource twice. When + the connection closes, this information is discarded.

+

There are people thinking about how a client can tell a server what it + already has, so PUSHes for those things can be avoided, but this is all + highly experimental right now.

+

Another experimental draft that has been implemented in mod_http2 + is the + Accept-Push-Policy Header Field where a client can, for each request, define + what kind of PUSHes it accepts.

+

+ PUSH might not always trigger the request/response/performance that one expects or + hopes for. There are various studies on this topic to be found on the web that explain + benefits and weaknesses and how different features of client and network influence + the outcome. For example: just because the server PUSHes a resource does not mean + a browser will actually use the data.

+

The major thing that influences the response being PUSHed is the request that was + simulated. The request URL for a PUSH is given by the application, but where do the + request headers come from? For example, will the PUSH request a accept-language + header and if yes with what value?

+

Apache will look at the original request (the one that triggered the PUSH) and copy the + following headers over to PUSH requests: user-agent, accept, + accept-encoding, accept-language, cache-control.

+

All other headers are ignored. Cookies will also not be copied over. PUSHing resources + that require a cookie to be present will not work. This can be a matter of debate. But + unless this is more clearly discussed with browser, let's err on the side of caution and + not expose cookie where they might ordinarily not be visible.

+
top
+
+

Early Hints

+ +

An alternative to PUSHing resources is to send Link headers to the + client before the response is even ready. This uses the HTTP feature called "Early Hints" and + is described in RFC 8297.

+

In order to use this, you need to explicitly enable it on the server via

+
H2EarlyHints on
+ +

(It is not enabled by default since some older browser tripped on such responses.)

+

If this feature is on, you can use the directive H2PushResource to + trigger early hints and resource PUSHes:

+
<Location /xxx.html>
+    H2PushResource /xxx.css
+    H2PushResource /xxx.js
+</Location>
+ +

This will send out a "103 Early Hints" response to a client as soon + as the server starts processing the request. This may be much early than + the time the first response headers have been determined, depending on your web + application.

+

If H2Push is enabled, this will also start the PUSH right after the + 103 response. If H2Push is disabled however, the 103 response will be send + nevertheless to the client.

+
+
+

Available Languages:  en  | + es  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/http2.html.es b/docs/manual/howto/http2.html.es new file mode 100644 index 0000000..81fd4b3 --- /dev/null +++ b/docs/manual/howto/http2.html.es @@ -0,0 +1,421 @@ + + + + + +Guía HTTP/2 - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Guía HTTP/2

+
+

Idiomas disponibles:  en  | + es  | + fr 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ +

+ Esta es la guía para configurar HTTP/2 en Apache httpd. Ésta característica + está lista en produción así que es de esperar que las interfaces + y las directivas se mantengan consistentes en cada verión. +

+
+ +
top
+
+

El protocolo HTTP/2

+ + +

HTTP/2 es la evolución del protocolo de la capa de aplicación con más + éxito, HTTP. Se centra en hacer un uso más eficiente de los recursos de red. + No cambia la característica fundamental de HTTP, la semántica. Todavía hay + olicitudes, respuestas, cabeceras y todo los elementos típicos de HTTP/1. Así + que, si ya conoce HTTP/1, también conoce el 95% de HTTP/2.

+ +

Se ha escrito mucho sobre HTTP/2 y de cómo funciona. La norma más + estándar es, por supuesto, su + RFC 7540 + ( también disponible en un + formato más legible, YMMV). Así que, ahí encontrará toda la especificación + del protocolo.

+ +

Pero, como con todos los RFC, no es ideal como primera lectura. Es mejor + entender primero qué se quiere hacer y después leer el RFC sobre + cómo hacerlo. Un documento mucho mejor con el que empezar es + http2 explicado + por Daniel Stenberg, el autor de curl. + ¡También está disponible cada vez en un mayor número lenguajes!

+ +

Si le parece demasiado largo, o no lo ha leido, hay algunos términos + y elementos a tener en cuenta cuando lea este documento:

+
    +
  • HTTP/2 es un protocolo binario, al contrario que + HTTP 1.1 que es texto plano. La intención para HTTP 1.1 es que sea + legible (por ejemplo capturando el tráfico de red) mientras que para + HTTP/2 no. Más información en el FAQ oficial + ¿Por qué es + binario HTTP/2?
  • + +
  • h2 es HTTP/2 sobre TLS (negociación de protocolo a + través de ALPN).
  • + +
  • h2c es HTTP/2 sobre TCP.
  • + +
  • Un frame es la unidad más pequeña de comunicación + dentro de una conexión HTTP/2, que consiste en una cabecera y una secuencia + de octetos de longitud variable estructurada de acuerdo con el tipo de + frame. Más información en la documentación oficial + Sección de + Capa de Frame.
  • + +
  • Un stream es un flujo bidireccional de frames dentro + de una conexión HTTP/2. El concepto correspondiente en HTTP 1.1 es un + intercambio de mensajes de solicitud/respuesta. Más información en la + documentación oficial + Sección Capa + de Stream.
  • + +
  • + HTTP/2 es capaz de llevar múltiples streams de datos + sobre la misma conexión TCP, evitando la clásica solicitud lenta + "head-of-line blocking" de HTTP 1.1 y evitando generar múltiples conexiones + TCP para cada solicitud/respuesta (KeepAlive parcheó el problema en + HTTP 1.1 pero no lo resolvió completamente). +
  • +
+
top
+
+

HTTP/2 en Apache httpd

+ + +

+ El protocolo HTTP/2 se implementa con su propio módulo httpd, llamado + acertadamente mod_http2. Incluye el set completo de + características descritas por el RFC 7540 y soporta HTTP/2 sobre texto + plano (http:), así como conexiones seguras (https:). La variante de texto + plano se llama 'h2c', la segura 'h2'. Para + h2c permite el modo direct + y el Upgrade: a través de una solicitud inicial HTTP/1. +

+ +

+ Una característica de HTTP/2 que ofrece capacidades nuevas para + desarrolladores de web es Server Push. Vea esa sección + para saber como su aplicación web puede hacer uso de ella. +

+
top
+
+

Compilar httpd con soporte HTTP/2

+ + +

+ mod_http2 usa la librería + nghttp2como su implementación base. Para compilar + mod_http2 necesita al menos la versión 1.2.1 de + libnghttp2 instalada en su sistema. +

+ +

+ Cuando usted ejecuta ./configure en el código fuente de + Apache HTTPD, necesita indicarle '--enable-http2' como una + opción adicional para activar la compilación de este módulo. Si su + libnghttp2 está ubicado en una ruta no habitual (cualquiera que + sea en su sistema operativo), puede indicar su ubicación con + '--with-nghttp2=<path>' para ./configure. +

+ +

Aunque puede que eso sirva para la mayoría, habrá quien prefiera un nghttp2 compilado estáticamente para este módulo. Para ellos existe la opción --enable-nghttp2-staticlib-deps. Funciona de manera muy similar a como uno debe enlazar openssl estáticamente para mod_ssl.

+ +

Hablando de SSL, necesita estar al tanto de que la mayoría de los navegadores hablan HTTP/2 solo con URLs https:. Así que necesita un servidor con soporte SSL. Pero no solo eso, necesitará una librería SSL que de soporte a la extensión ALPN. Si usa OpenSSL, necesita al menos la versión 1.0.2.

+
top
+
+

Configuración básica

+ + +

Cuando tiene un httpd compilado con mod_http2 necesita una configuración básica para activarlo. Lo primero, como con cualquier otro módulo de Apache, es que necesita cargarlo:

+ +
LoadModule http2_module modules/mod_http2.so
+ + +

La segunda directiva que necesita añadir a la configuración de su servidor es:

+ +
Protocols h2 http/1.1
+ + +

Esto permite h2, la variante segura, para ser el protocolo preferido de las conexiones en su servidor. Cuando quiera habilitar todas las variantes de HTTP/2, entonces simplemente configure:

+ +
Protocols h2 h2c http/1.1
+ + +

Dependiendo de dónde pone esta directiva, afecta a todas las conexiones o solo a las de ciertos host virtuales. La puede anidar, como en:

+ +
Protocols http/1.1
+<VirtualHost ...>
+    ServerName test.example.org
+    Protocols h2 http/1.1
+</VirtualHost>
+ + +

Esto solo permite HTTP/1, excepto conexiones SSL hacia test.example.org que ofrecen HTTP/2.

+ +

Escoger un SSLCipherSuite seguro

+

Es necesario configurar SSLCipherSuite con una suite segura de cifrado TLS. La versión actual de mod_http2 no fuerza ningún cifrado pero la mayoría de los clientes si lo hacen. Encaminar un navegador hacia un servidor con h2 activado con una suite inapropiada de cifrados forzará al navegador a rehusar e intentar conectar por HTTP 1.1. Esto es un error común cuando se configura httpd con HTTP/2 por primera vez, ¡así que por favor tenga en cuenta que debe evitar largas sesiones de depuración! Si quiere estar seguro de la suite de cifrados que escoja, por favor evite los listados en la Lista Negra de TLS para HTTP/2.

+
+ +

El orden de los protocolos mencionados también es relevante. Por defecto, el primero es el protocolo preferido. Cuando un cliente ofrece múltiples opciones, la que esté más a la izquierda será la escogida. En

+
Protocols http/1.1 h2
+ + +

el protocolo preferido es HTTP/1 y siempre será seleccionado a menos que el cliente sólo soporte h2. Puesto que queremos hablar HTTP/2 con clientes que lo soporten, el orden correcto es:

+ +
Protocols h2 h2c http/1.1
+ + +

Hay algo más respecto al orden: el cliente también tiene sus propias preferencias. Si quiere, puede configurar su servidor para seleccionar el protocolo preferido por el cliente:

+ +
ProtocolsHonorOrder Off
+ + +

Hace que el orden en que usted escribió los Protocols sea irrelevante y sólo el orden de preferencia del cliente será decisorio.

+ +

Una última cosa: cuando usted configura los protocolos no se comprueba si son correctos o están bien escritos. Puede mencionar protocolos que no existen, así que no hay necesidad de proteger Protocols con ningún <IfModule> de comprobación.

+ +

Para más consejos avanzados de configuración, vea la + sección de módulos sobre dimensionamiento y + como gestionar multiples hosts con el mismo certificado.

+
top
+
+

Configuración MPM

+ + +

HTTP/2 está soportado en todos los módulos de multi-proceso que se ofrecen con httpd. Aun así, si usa el mpm prefork, habrá restricciones severas.

+ +

En prefork, mod_http2 solo procesará una solicitud cada vez por conexión. Pero los clientes, como los navegadores, enviarán muchas solicitudes al mismo tiempo. Si una de ellas tarda mucho en procesarse (o hace un sondeo que dura más de la cuenta), las otras solicitudes se quedarán atascadas.

+ +

mod_http2 no evitará este límite por defecto. El motivo es que prefork hoy en día solo se escoge si ejecuta motores de proceso que no están preparados para multi-hilo, p.ej. fallará con más de una solicitud.

+ +

Si su configuración lo soporta, hoy en día event es el mejor mpm que puede usar.

+ +

Si realmente está obligado a usar prefork y quiere multiples solicitudes, puede configurar la directiva H2MinWorkers para hacerlo posible. Sin embargo, si esto falla, es bajo su cuenta y riesgo.

+
top
+
+

Clientes

+ + +

Casi todos los navegadores modernos dan soporte a HTTP/2, pero solo en conexiones SSL: Firefox (v43), Chrome (v45), Safari (since v9), iOS Safari (v9), Opera (v35), Chrome para Android (v49) e Internet Explorer (v11 en Windows10) (Fuente).

+ +

Otros clientes, así cómo otros servidores, están listados en la + wiki de Implementaciones, entre ellos, implementaciones para c, c++, common lisp, dart, erlang, haskell, java, nodejs, php, python, perl, ruby, rust, scala y swift.

+ +

Muchos de las implementaciones de clientes que no son navegadores soportan HTTP/2 sobre texto plano, h2c. La más versátil es curl.

+
top
+
+

Herramientas útiles para depurar HTTP/2

+ + +

La primera herramienta a mencionar es por supuesto curl. Por favor asegúrese de que su versión soporta HTTP/2 comprobando sus Características:

+
    $ curl -V
+    curl 7.45.0 (x86_64-apple-darwin15.0.0) libcurl/7.45.0 OpenSSL/1.0.2d zlib/1.2.8 nghttp2/1.3.4
+    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 [...] 
+    Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2
+    
+ +

Notas sobre Mac OS homebrew

+ brew install curl --with-openssl --with-nghttp2 +
+

Y para una inspección en gran profundidad wireshark.

+

El paquete nghttp2 también incluye clientes, tales como:

+
    +
  • nghttp + - util para visualizar la frames de HTTP/2 y tener una mejor idea de como funciona el protocolo.
  • +
  • h2load - útil para hacer un stress-test de su servidor.
  • +
+ +

Chrome ofrece logs detallados de HTTP/2 en sus conexiones a través de la página especial de net-internals. También hay una extensión interesante para Chrome y Firefox con la que visualizar cuando su navegador usa HTTP/2.

+
top
+
+

Server Push

+ + +

El protocolo HTTP/2 permite al servidor hacer PUSH de respuestas a un cliente que nunca las solicitó. El tono de la conversación es: "Aquí tiene una solicitud que nunca envió y la respuesta llegará pronto..."

+ +

Pero hay restricciones: el cliente puede deshabilitar esta característica y el servidor entonces solo podrá hacer PUSH en una solicitud que hizo previamente del cliente.

+ +

La intención es permitir al servidor enviar recursos que el cliente seguramente vaya a necesitar, p. ej. un recurso css o javascript que pertenece a una página html que el cliente solicitó, un grupo de imágenes a las que se hace referencia en un css, etc.

+ +

La ventaja para el cliente es que ahorra tiempo para solicitudes que pueden tardar desde unos pocos milisegundos a medio segundo, dependiendo de la distancia entre el cliente y el servidor. La desventaja es que el cliente puede recibir cosas que ya tiene en su cache. Por supuesto que HTTP/2 soporta cancelación previa de tales solicitudes, pero aun así se malgastan recursos.

+ +

Resumiendo: no hay una estrategia mejor sobre cómo usar esta característica de HTTP/2 y todo el mundo está experimentando con ella. Así que, ¿cómo experimenta usted con ella en Apache httpd?

+ +

mod_http2 busca e inspecciona las cabeceras de respuesta + Link con cierto formato:

+ +
Link </xxx.css>;rel=preload, </xxx.js>; rel=preload
+ + +

+ Si la conexión soporta PUSH, estos dos recursos se enviarán al cliente. + Como desarrollador web, puede configurar estas cabeceras o bien + directamente en la respuesta de su aplicación o configurar su servidor con: +

+ +
<Location /xxx.html>
+    Header add Link "</xxx.css>;rel=preload"
+    Header add Link "</xxx.js>;rel=preload"
+</Location>
+ + +

Si quiere usar enlaces con preload sin activar un PUSH, puede + usar el parámetro nopush, como en:

+ +
Link </xxx.css>;rel=preload;nopush
+ + +

o puede desactivar PUSH para su servidor por completo con la directiva

+ +
H2Push Off
+ + +

Y hay más:

+ +

+ El módulo mantiene un registro de lo que se ha enviado con PUSH para cada + conexión (hashes de URLs, básicamente) y no hará PUSH del mismo recurso dos + veces. Cuando la conexión se cierra, la información es descartada. +

+ +

+ Hay gente pensando cómo un cliente puede decirle al servidor lo que ya + tiene, para evitar los PUSH de esos elementos, pero eso algo muy + experimental ahora mismo. +

+ +

Otro borrador experimental que ha sido implementado en + mod_http2 es el Campo de Cabecera + Accept-Push-Policy en la que un cliente puede, para cada solicitud, definir + qué tipo de PUSH acepta.

+ +

+ Puede que PUSH no siempre lance la peticion/respuesta/funcionamiento que + uno espera. Hay varios estudios sobre este tema en internet, que explican + el beneficio y las debilidades de como diferentes funcionalidades del + cliente y de la red influyen en el resultado. + Por Ejemplo, que un servidor haga "PUSH" de recursos, no significa que el + navegador vaya a usar dichos datos. +

+

+ Lo más importante que influye en la respuesta que se envía, es la solicitud + que se simuló. La url de solicitud de un PUSH es dada por la aplicación, + pero ¿de donde vienen las cabeceras de la petición? por ejemplo si el PUSH + pide una cabecera accept-language y si es así, ¿con qué valor? +

+

Httpd mirará la petición original (la que originó el PUSH) y copiará las + siguientes cabeceras a las peticiones PUSH: + user-agent, accept, accept-encoding, + accept-language, cache-control. +

+

+ Todas las otras cabeceras son ignorados. Las cookies tampoco serán copiadas. + Impulsar los recursos que requieren una cookie para estar presente no + funcionará. Esto puede ser una cuestión de debate. Pero a menos que esto se + discuta más claramente con el navegador, evitemos el exceso de precaución y + no expongamos las cookies donde podrían o no ser visibles. +

+ +
top
+
+

"Early Hints"

+ + +

Una alternativa de "Pushear" recursos es mandar una cabecera + Link al cliente antes que la respuesta esté lista. Esto usa + una caracteristica de HTTP que se llama "Early Hints" y está descrita en + la RFC 8297.

+

Para poder usar esto, necesita habilitarlo explicitamente en el servidor + via

+ +
H2EarlyHints on
+ + +

(No está habilitado por defecto ya q ue algunos navegadores más antiguos + se caen con dichas respuestas.) +

+ +

si esta funcionalidad esta activada, puede usar la directiva + H2PushResource para que lance + "Early hints" y recursos mediante push: +

+
<Location /xxx.html>
+    H2PushResource /xxx.css
+    H2PushResource /xxx.js
+</Location>
+ +

+ Esto lanzará una respuesta "103 Early Hints" a un cliente + tan pronto como el servidor comience a procesar la solicitud. + Esto puede ser mucho antes que en el momento en que se determinaron los + primeros encabezados de respuesta, dependiendo de su aplicación web. +

+ +

+ Si la directiva H2Push está + habilitada, esto comenzará el PUSH justo después de la respuesta 103. + Sin embargo, si la directiva H2Push está dehabilitada, la respuesta 103 se le enviará al cliente. +

+
+
+

Idiomas disponibles:  en  | + es  | + fr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/http2.html.fr.utf8 b/docs/manual/howto/http2.html.fr.utf8 new file mode 100644 index 0000000..9694f09 --- /dev/null +++ b/docs/manual/howto/http2.html.fr.utf8 @@ -0,0 +1,429 @@ + + + + + +Guide HTTP/2 - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Guide HTTP/2

+
+

Langues Disponibles:  en  | + es  | + fr 

+
+ +

Ce document est le guide de l'utilisateur de l'implémentation de HTTP/2 + dans Apache httpd. Cette fonctionnalité en est au stade + de production, et les interfaces et directives devraient donc être + dorénavant relativement stables. +

+
+ +
top
+
+

Le protocole HTTP/2

+ +

HTTP/2 est une évolution du protocole de la couche application le plus + utilisé au monde, HTTP. Cette évolution permet en particulier une utilisation + plus efficace des ressources réseau. Il ne modifie pas les aspects + fondamentaux de HTTP (sa sémantique). Entre autres, il y a toujours des + requêtes, des réponses et des en-têtes. Par conséquent, si vous connaissez + HTTP/1, vous connaissez déjà 95% de HTTP/2.

+

Beaucoup a déjà été écrit à propos de HTTP/2 et de son fonctionnement. La + documentation la plus officielle est bien entendu sa RFC 7540 (ou cette version au format plus + lisible). Vous trouverez ici une description des rouages de HTTP/2 dans + leurs moindres détails.

+

Le premier document à lire lorsqu'on ne connaît pas un mécanisme n'est + cependant pas sa RFC. Il est préférable de comprendre tout d'abord ce + que ce mécanisme est censé faire, et seulement ensuite de lire sa RFC + pour comprendre comment il fonctionne. http2 explained de Daniel Stenberg + (l'auteur de curl) + est un bien meilleur document pour démarrer l'étude de HTTP/2. En outre, de + nouveaux langages s'ajoutent régulièrement à sa liste de traductions + disponibles !

+

Si vous n'avez pas envie de le lire parce que vous le trouvez trop long, + voici certains pièges à éviter et nouveaux termes à connaître avant de lire + ce document :

+
    +
  • A la différence de HTTP/1 qui est en texte pur, HTTP/2 est un + protocole binaire, et alors que le premier est lisible par + un humain (par exemple pour sniffer le trafic réseau), le second ne + l'est pas. Voir la FAQ + officielle pour plus de détails.
  • +
  • h2 correspond à HTTP/2 sur TLS (négociation de + protocole via ALPN).
  • +
  • h2c correspond à HTTP/2 sur TCP.
  • +
  • Une frame ou trame est la plus petite unité de + communication au sein d'une connexion HTTP/2 et comporte une en-tête et + une séquence d'octets de longueur variable dont la structure correspond + au type de trame. Voir la section + correspondante de la documentation officielle pour plus de + détails.
  • +
  • Un stream est un flux bidirectionnel de frames au + sein d'une connexion HTTP/2. La notion correspondante dans HTTP/1 est un + échange de messages de type requête et réponse. Voir la section + correspondante de la documentation officielle pour plus de détails.
  • +
  • HTTP/2 peut gérer plusieurs streams de données sur + la même connexion TCP, ce qui permet d'éviter le point de blocage + classique de HTTP/1 pour les requêtes lentes, et de ne pas avoir à + ouvrir de nouvelles connexions TCP pour chaque requête/réponse (les + connexions persistantes ou KeepAlive avaient contourné le problème dans + HTTP/1 mais ne l'avaient pas entièrement résolu)
  • +
+
top
+
+

HTTP/2 dans Apache httpd

+ +

Le protocole HTTP/2 est implémenté dans Apache httpd via un module + propre, pertinemment nommé mod_http2. Ce + module implémente toutes les fonctionnalités décrites par la RFC 7540 et + supporte les connexions en texte pur (http:), ou sécurisées (https:). + La variante texte pur se nomme 'h2c', et la variante sécurisée + 'h2'. h2c peut être en mode direct ou + Upgrade: via une requête initiale en HTTP/1.

+

Server Push est une nouvelle fonctionnalité offerte + aux développeurs web par HTTP/2. La section correspondante de ce document + vous indiquera comment votre application peut en tirer parti.

+
top
+
+

Compilation de httpd avec le support de HTTP/2

+ +

mod_http2 se base sur la bibliothèque + de nghttp2 pour son implémentation. Pour + pouvoir compiler mod_http2, libnghttp2 version + 1.2.1. ou supérieure doit être installée dans votre système.

+

Pour déclencher la compilation de mod_http2, vous devez + ajouter l'argument '--enable-http2' au script + ./configure que vous exécutez à la racine de l'arborescence des + sources de httpd. Si libnghttp2 est installée dans un + répertoire non connu du chemin de vos bibliothèques, vous devez indiquer ce + répertoire au script ./configure via l'argument + '--with-nghttp2=<path>'.

+

Alors que cette méthode de compilation conviendra à la plupart, certains + préféreront lier statiquement nghttp2 à ce module. Pour ce + faire, utilisez l'argument --enable-nghttp2-staticlib-deps. + Cette méthode est pratiquement la même que celle utilisée pour lier + statiquement openssl à mod_ssl.

+

En parlant de SSL, vous devez savoir que la plupart des navigateurs ne + communiqueront en HTTP/2 que sur des URLs sécurisées de type + https: ; votre serveur doit donc supporter SSL. Mais de plus, + votre bibliothèque SSL devra supporter l'extension ALPN. Enfin, + si la bibliothèque que vous utilisez est OpenSSL, sa version devra être + 1.0.2. ou supérieure.

+
top
+
+

Configuration de base

+ + +

Maintenant que vous disposez d'un binaire httpd compilé avec le + module mod_http2, l'activation de ce dernier nécessite un + minimum de configuration supplémentaire. En premier lieu, comme pour tout + module Apache, vous devez le charger :

+
LoadModule http2_module modules/mod_http2.so
+ + +

La seconde directive que vous devez ajouter à votre fichier de + configuration est

+
Protocols h2 http/1.1
+ +

Ceci permet de définir h2, la variante sécurisée, comme le protocole + préféré pour les connexions à votre serveur. Si vous souhaitez que toutes les + variantes soient disponibles, utilisez la directive suivante :

+
Protocols h2 h2c http/1.1
+ +

Selon l'endroit où vous placez cette directive, elle affectera l'ensemble + de votre serveur, ou seulement un ou plusieurs serveurs virtuels. Vous + pouvez aussi l'imbriquer comme dans l'exemple suivant :

+
Protocols http/1.1
+<VirtualHost ...>
+    ServerName test.example.org
+    Protocols h2 http/1.1
+</VirtualHost>
+ + +

Seules les connexions en HTTP/1 seront alors permises, sauf pour le serveur + virtuel test.example.org qui acceptera aussi les connexions SSL + en HTTP/2.

+

Utilisez une chaîne d'algorithmes de chiffrement forte

+

La directive SSLCipherSuite doit + être définie avec une chaîne d'algorithmes de chiffrement TLS forte. Même si + la version actuelle de mod_http2 n'impose pas d'algorithmes + de chiffrement particuliers, la plupart des clients le font. Faire pointer + un navigateur vers un serveur où h2 est activé avec une chaîne + d'algorithmes de chiffrement inappropriée entraînera un rejet et une + retrogradation vers HTTP 1.1. C'est une erreur que l'on fait couramment + lorsqu'on configure httpd pour HTTP/2 pour la première fois ; donc gardez la + à l'esprit si vous voulez éviter de longues sessions de débogage ! Si vous + voulez être sûr de définir une chaîne d'algorithmes de chiffrement + appropriée, évitez ceux qui sont listés dans la liste des + algorithmes de chiffrement TLS HTTP/2 à proscrire.

+
+

L'ordre des protocoles indiqués est aussi important. Par défaut, le + premier sera le protocole préféré. Lorsqu'un client offre plusieurs choix, + c'est le plus à gauche qui sera sélectionné. Dans

+
Protocols http/1.1 h2
+ +

le protocole préféré sera HTTP/1 et il sera toujours sélectionné sauf si + un client ne supporte que h2. Comme nous souhaitons communiquer en + HTTP/2 avec les clients qui le supportent, la meilleure définition de la + directive est

+
Protocols h2 h2c http/1.1
+ + +

Toujours à propos de l'ordre des protocoles, le client a lui aussi ses + propres préférences en la matière. À ce titre, si vous le souhaitez, vous + pouvez configurer votre serveur pour qu'il sélectionne non plus son + protocole préféré, mais au contraire le protocole préféré + du client :

+
ProtocolsHonorOrder Off
+ +

Avec cette directive, l'ordre des protocoles que vous avez + défini devient caduque et seul l'ordre défini par le client sera pris en + compte.

+

Une dernière chose : les protocoles que vous définissez ne sont pas + vérifiés quant à leurs validité ou orthographe. Vous pouvez très bien + définir des protocoles qui n'existent pas, et il n'est donc pas nécessaire + de filtrer le contenu de la directive Protocols avec des vérifications de type + <IfModule>.

+

Pour des conseils plus avancés à propos de la configuration, voir la Documentation de mod_http2, et en particulier + la section à propos de la consommation supplémentaire de + ressources, ainsi que la section expliquant comment gérer les serveurs multiples avec certificat + commun.

+
top
+
+

Configuration du MPM

+ + +

Tous les modules multiprocessus (MPM) fournis avec httpd supportent + HTTP/2. Cependant, si vous utilisez le MPM prefork, vous allez + faire face à de sévères restrictions.

+

Avec le MPM prefork, mod_http2 ne traitera + qu'une requête à la fois par connexion alors que les clients tels que les + navigateurs internet envoient de nombreuses requêtes au même moment. Si + l'une d'entre elles est longue à traiter (ou implique une longue + interrogation), les autres requêtes seront mises en attente.

+

Par défaut, mod_http2 ne passe pas outre cette limitation pour + la simple et bonne raison que le MPM prefork n'est aujourd'hui + choisi que si vous exécutez des moteurs de traitement qui ne sont pas préparés + pour le multithreading (par exemple qui se crashent lorsque plusieurs + requêtes arrivent).

+

Si votre plateforme et votre installation de httpd le supportent, la + meilleur solution consiste actuellement à utiliser le MPM + event. +

+

Si vous n'avez pas d'autre choix que d'utiliser le MPM + prefork, mais souhaitez tout de même traiter plusieurs requêtes + simultanément, vous pouvez jouer avec la directive H2MinWorkers, sans garantie que cela + fonctionne.

+
top
+
+

Clients

+ +

La plupart des navigateurs modernes supportent HTTP/2, mais seulement sur + des connexions SSL : Firefox v43, Chrome v45, Safari v9, iOS Safari v9, + Opera v35, Chrome pour Android v49 et + Internet Explorer v11 sous Windows10 (selon cette source).

+

D'autres clients et serveurs sont listés dans le wiki des + implémentations ; entre autres des implémentations pour c, c++, common + lisp, dart, erlang, haskell, java, nodejs, php, python, perl, ruby, rust, + scala et swift.

+

De nombreuses implémentations clientes autres que les navigateurs + supportent HTTP/2 en texte pur, h2c. L'une des plus efficaces d'entre elles + est curl.

+
top
+
+

Outils efficaces pour déboguer HTTP/2

+ +

Le premier d'entre eux est bien entendu curl. Assurez-vous au préalable que votre + version supporte HTTP/2 en vérifiant ses Fonctionnalités :

+
    $ curl -V
+    curl 7.45.0 (x86_64-apple-darwin15.0.0) libcurl/7.45.0 OpenSSL/1.0.2d zlib/1.2.8 nghttp2/1.3.4
+    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 [...]
+    Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2
+    
+ +

homebrew sous Mac OS :

+ brew install curl --with-openssl --with-nghttp2 +
+

Pour une inspection en profondeur : wireshark.

+

Le paquet nghttp2 inclut aussi des + outils comme :

+
    +
  • nghttp + - permet de visualiser les trames HTTP/2 et ainsi de se faire une meilleure + idée du protocole.
  • +
  • h2load - + permet de tester votre serveur dans des conditions extremes.
  • +
+

Chrome fournit des journaux détaillés des connexions HTTP/2 via la page + special net-internals page. Il y + a aussi cette extension intéressante pour Chrome + et Firefox + qui permet d'indiquer que votre navigateur utilise HTTP/2.

+
top
+
+

Push serveur

+ +

Le protocole HTTP/2 permet au serveur de proposer (PUSH) des réponses + pour lesquelles le client n'a rien demandé. La communication autour de ces + réponses est du style : "voici une requête que vous n'avez jamais + envoyée, et la réponse vous parviendra bientôt tout de même ..."

+

Il y a cependant des conditions : le client peut désactiver cette + fonctionnalité et le serveur ne pourra alors lui proposer des réponses que + pour les requêtes qu'il a effectivement envoyées.

+

Cette fonctionnalité a pour but de permettre au serveur d'envoyer au + client des ressources dont il va probablement avoir besoin : par exemple une + ressource css ou javascript appartenant à une page html que le client a + demandée, un jeu d'images référencé par un css, etc...

+

Cette anticipation a pour avantage de permettre au client d'économiser le + temps qu'il lui aurait fallu pour envoyer une requête, quelques + millisecondes à une demi-seconde en fonction de l'éloignement du serveur. + Elle a cependant pour inconvénient d'imposer au client le téléchargement de + ressources qu'il possède peut-être déjà dans son cache. Bien entendu, HTTP/2 + permet d'annuler prématurément de telles requêtes, mais des ressources sont + tout de même gaspillées.

+

En résumé : il n'existe pas encore de stratégie efficace pour faire le + meilleur usage de cette fonctionnalité de HTTP/2 et tout le monde en est + encore au stade de l'expérimentation. À ce titre, voici des conseils pour + procéder vous-même à ces expérimentations :

+

mod_http2 inspecte l'en-tête de la réponse et recherche les + en-têtes Link sous un certain format :

+
Link </xxx.css>;rel=preload, </xxx.js>; rel=preload
+ +

Si la connexion supporte PUSH, ces deux ressources seront envoyées au + client. En tant que développeur web vous pouvez définir ces en-têtes soit + directement au niveau de la réponse de votre application, soit en + configurant votre serveur via

+
<Location /xxx.html>
+    Header add Link "</xxx.css>;rel=preload"
+    Header add Link "</xxx.js>;rel=preload"
+</Location>
+ +

Si vous souhaitez utiliser des liens preload sans déclencher + de PUSH, vous pouvez utiliser le paramètre nopush comme suit :

+
Link </xxx.css>;rel=preload;nopush
+ +

Vous pouvez aussi désactiver les PUSHes pour l'ensemble de votre + serveur via la directive

+
H2Push Off
+ +

À savoir aussi :

+

Le module maintient un journal des ressources ayant fait l'objet d'un + PUSH pour chaque connexion (en général des condensés hash des URLs), et + n'effectuera pas deux fois un PUSH pour la même ressource. Cependant, + lorsque la connexion est fermée, le journal de ses PUSHes est supprimé.

+

Certains développeurs planchent sur la manière de permettre au client + d'informer le serveur des ressources qu'il possède déjà dans son cache afin + d'éviter les PUSHes pour ces dernières, mais ceci n'en est actuellement qu'à + un stade très expérimental.

+

L' + en-tête Accept-Push-Policy est un autre dispositif expérimental + implémenté dans mod_http2 ; il permet au client de définir pour + chaque requête quels genres de PUSHes il accepte.

+ + +

+ La fonctionnalité PUSH n'apportera pas toujours le gain de performances dans + l'obtention de réponses aux requêtes. Vous trouverez plusieurs études sur ce + sujet sur internet qui en expliquent les avantages et inconvénients et + comment les particularités des clients et du réseau en influencent le + fonctionnement. Par exemple, le seul fait que le serveur PUSHes une + ressource n'implique pas forcément que le navigateur l'utilisera.

+

Ce qui influence le plus la réponse PUSHed, c'est la requête qui a été + simulée. En effet, l'URL de la requête pour un PUSH est fournie par + l'application, mais d'où viennent les en-têtes ? Par exemple, La requête + PUSH requiert-elle un en-tête accept-language et si oui, quelle + sera sa valeur ?

+

httpd va consulter la requête originale (celle qui a déclenché le PUSH) + et copier les en-têtes suivants vers la requête PUSH : + user-agent, accept, accept-encoding, + accept-language et cache-control.

+

Tous les autres en-têtes sont ignorés. Les cookies eux non plus ne seront + pas copiés. PUSHer des ressources qui requièrent la présence d'un cookie ne + fonctionnera pas. Ceci peut être sujet à débat, mais tant que ce ne sera pas + clairement discuté avec les navigateurs, restons prudents et évitons + d'exposer les cookies là où ils ne sont pas censés être visibles.

+
top
+
+

Suggestions précoces

+ +

A l'instar des ressources PUSHées, une autre méthode consiste à envoyer + des en-têtes Link au client avant même que la réponse ne soit + prête. Cette méthode utilise la fonctionnalité appelée "Suggestions + précoces" (Early Hints) décrite dans la RFC 8297.

+

Pour utiliser cette fonctionnalité, vous devez l'activer explicitement + sur le serveur via :

+
H2EarlyHints on
+ +

Elle n'est en effet pas activée par défaut car certains navigateurs + anciens perdent pied avec de telles réponses.

+

Une fois cette fonctionnalité activée, vous pouvez utiliser la directive + H2PushResource pour déclencher les + suggestions précoces et les PUSHes de ressources :

+
<Location /xxx.html>
+    H2PushResource /xxx.css
+    H2PushResource /xxx.js
+</Location>
+ +

Le serveur enverra alors au client une réponse "103 Early + Hints" dès qu'il commencera à traiter la requête. Selon + votre application web, cet envoi peut intervenir beaucoup plus tôt que le + moment où les premiers en-têtes de réponse auront été déterminés.

+

Si H2Push est activé, ceci + déclenchera aussi le PUSH juste après la réponse 103. Mais si H2Push n'est pas activé, la réponse 103 sera + quand-même envoyée au client.

+
+
+

Langues Disponibles:  en  | + es  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/index.html b/docs/manual/howto/index.html new file mode 100644 index 0000000..9a25dfa --- /dev/null +++ b/docs/manual/howto/index.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/howto/index.html.en b/docs/manual/howto/index.html.en new file mode 100644 index 0000000..a0dc578 --- /dev/null +++ b/docs/manual/howto/index.html.en @@ -0,0 +1,170 @@ + + + + + +How-To / Tutorials - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

How-To / Tutorials

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+
+
top
+
+

How-To / Tutorials

+ + + +
+
Authentication and Authorization
+
+

Authentication is any process by which you verify that + someone is who they claim they are. Authorization is any + process by which someone is allowed to be where they want to + go, or to have information that they want to have.

+ +

See: Authentication, Authorization

+
+
+ +
+
Access Control
+
+

Access control refers to the process of restricting, or + granting access to a resource based on arbitrary criteria. There + are a variety of different ways that this can be + accomplished.

+ +

See: Access Control

+
+
+ +
+
Dynamic Content with CGI
+
+

The CGI (Common Gateway Interface) defines a way for a web + server to interact with external content-generating programs, + which are often referred to as CGI programs or CGI scripts. It + is a simple way to put dynamic content on + your web site. This document will be an introduction to setting + up CGI on your Apache web server, and getting started writing + CGI programs.

+ +

See: CGI: Dynamic Content

+
+
+ +
+
.htaccess files
+
+

.htaccess files provide a way to make configuration + changes on a per-directory basis. A file, containing one or more + configuration directives, is placed in a particular document directory, + and the directives apply to that directory, and all subdirectories thereof.

+ +

See: .htaccess files

+
+
+ +
+
HTTP/2 with httpd
+
+

HTTP/2 is the evolution of the world's most successful application layer protocol, HTTP. + It focuses on making more efficient use of network resources without changing the semantics of HTTP. + This guide explains how HTTP/2 is implemented in httpd, showing basic configurations tips and + best practices. +

+ +

See: HTTP/2 guide

+
+
+ + +
+
Introduction to Server Side Includes
+
+

SSI (Server Side Includes) are directives that are placed in + HTML pages, and evaluated on the server while the pages are + being served. They let you add dynamically generated content to + an existing HTML page, without having to serve the entire page + via a CGI program, or other dynamic technology.

+ +

See: Server Side Includes (SSI)

+
+
+ +
+
Per-user web directories
+
+

On systems with multiple users, each user can be permitted to have a + web site in their home directory using the UserDir directive. Visitors + to a URL http://example.com/~username/ will get content + out of the home directory of the user "username", out of + the subdirectory specified by the UserDir directive.

+ +

See: User web directories (public_html)

+
+
+ +
+
Reverse Proxy guide
+
+

Apache httpd has extensive capabilities as a reverse proxy server using the + ProxyPass directive as well as + BalancerMember to create sophisticated + reverse proxying implementations which provide for high-availability, load + balancing and failover, cloud-based clustering and dynamic on-the-fly reconfiguration.

+ +

See: Reverse proxy guide

+
+
+ +
+
Rewriting URLs with mod_rewrite
+
+

Rewriting URLs with (and without) + mod_rewrite tends to be one of the most + frequently asked topics on our mailing lists and IRC channels. + We have devoted and entire section of our + documentation to howtos and recipes around this topic.

+
+
+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/howto/index.html.es b/docs/manual/howto/index.html.es new file mode 100644 index 0000000..a089254 --- /dev/null +++ b/docs/manual/howto/index.html.es @@ -0,0 +1,163 @@ + + + + + +How-To / Tutoriales - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

How-To / Tutoriales

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+
+
top
+
+

How-To / Tutoriales

+ + + +
+
Autenticación y Autorización
+
+

Autenticación es un proceso en el cual se verifica + que alguien es quien afirma ser. Autorización es cualquier + proceso en el que se permite a alguien acceder donde quiere ir, + o a obtener la información que desea tener.

+ +

Ver: Autenticación, Autorización

+
+
+ +
+
Control de Acceso
+
+

Control de acceso hace referencia al proceso de restringir, o + garantizar el acceso a un recurso en base a un criterio arbitrario. + Esto se puede conseguir de distintas formas.

+ +

Ver: Control de Acceso

+
+
+ +
+
Contenido Dinámico con CGI
+
+

El CGI (Common Gateway Interface) es un método por el cual + un servidor web puede interactuar con programas externos de + generación de contenido, a ellos nos referimos comúnmente como + programas CGI o scripts CGI. Es un método sencillo para mostrar + contenido dinámico en tu sitio web. Este documento es una + introducción para configurar CGI en tu servidor web Apache, y de + inicio para escribir programas CGI.

+ +

Ver: CGI: Contenido Dinámico

+
+
+ +
+
Ficheros .htaccess
+
+

Los ficheros .htaccess facilitan una forma de + hacer configuraciones por-directorio. Un archivo, que + contiene una o más directivas de configuración, se coloca en un + directorio específico y las directivas especificadas solo aplican + sobre ese directorio y los subdirectorios del mismo.

+ +

Ver: .htaccess files

+
+
+ +
+
HTTP/2 con httpd
+
+

HTTP/2 es la evolución del protocolo de capa de aplicación más conocido, HTTP. + Se centra en hacer un uso más eficiente de los recursos de red sin cambiar la + semántica de HTTP. Esta guía explica como se implementa HTTP/2 en httpd, + mostrando buenas prácticas y consejos de configuración básica. +

+ +

Ver: Guía HTTP/2

+
+
+ + +
+
Introducción a los SSI
+
+

Los SSI (Server Side Includes) son directivas que se colocan + en las páginas HTML, y son evaluadas por el servidor mientras + éste las sirve. Le permiten añadir contenido generado + dinámicamente a una página HTML existente, sin tener que servir + la página entera a través de un programa CGI u otro método + dinámico.

+ +

Ver: Server Side Includes (SSI)

+
+
+ +
+
Directorios web Por-usuario
+
+

En sistemas con múltiples usuarios, cada usuario puede tener + su directorio "home" compartido usando la directiva + UserDir. Aquellos + que visiten la URL http://example.com/~username/ + obtendrán contenido del directorio del usuario "username" + que se encuentra en el directorio "home" del sistema.

+ +

Ver: + Directorios Web de Usuario (public_html)

+
+
+ +
+
Guía de Proxy Inverso
+
+

Apache httpd ofrece muchas posibilidades como proxy inverso. Usando la + directiva ProxyPass así como + BalancerMember puede crear + sofisticadas configuraciones de proxy inverso que proveen de alta + disponibilidad, balanceo de carga, clustering basado en la nube y + reconfiguración dinámica en caliente.

+ +

Ver: Guía de Proxy Inverso

+
+
+ +
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/howto/index.html.fr.utf8 b/docs/manual/howto/index.html.fr.utf8 new file mode 100644 index 0000000..f38c685 --- /dev/null +++ b/docs/manual/howto/index.html.fr.utf8 @@ -0,0 +1,178 @@ + + + + + +How-To / Tutoriels - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

How-To / Tutoriels

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+
+
top
+
+

How-To / Tutoriels

+ + + +
+
Authentification et autorisation
+
+

L'authentification représente tout processus par lequel vous + vérifiez si quelqu'un correspond bien à la personne qu'il + prétend être. L'autorisation représente tout processus + permettant de savoir si une personne est autorisée à aller là où + elle veut aller, ou à obtenir les informations qu'elle demande.

+ +

Voir Authentification, Autorisation

+
+
+ +
+
Contrôle d'accès
+
+

Le contrôle d'accès se réfère au processus permettant + d'interdire ou d'accorder l'accès à une ressource en fonction de + certains critères, et il existe de nombreuses façons d'y + parvenir.

+ +

Voir Contrôle d'accès

+
+
+ +
+
Contenu dynamique avec CGI
+
+

L'interface CGI (Common Gateway Interface) + fournit au serveur web une méthode d'interaction avec des + programmes externes générateurs de contenu, souvent nommés + programmes CGI ou scripts CGI. Il s'agit d'une méthode + simple permettant d'ajouter du contenu + dynamique à votre site web. Ce document se veut une introduction + à la configuration de CGI sur votre serveur web Apache et à + l'écriture de programmes CGI.

+ +

Voir CGI : contenu dynamique

+
+
+ +
+
Fichiers .htaccess
+
+

Les fichiers .htaccess permettent de modifier la + configuration du serveur au niveau de chaque répertoire. À cet + effet, un fichier est placé dans un répertoire particulier du site + web, et les directives de configuration qu'il contient s'appliquent à ce + répertoire et à tous ses sous-répertoires.

+ +

Voir Fichiers .htaccess

+
+
+ +
+
HTTP/2 avec httpd
+
+

HTTP/2 est une évolution du protocole de la couche application le plus + connu au monde, HTTP. Les efforts se sont concentrés sur une amélioration + de l'efficacité de l'utilisation des ressources réseau sans modifier la + sémantique de HTTP. Ce guide explique la manière dont HTTP/2 est + implémenté dans httpd, donne des conseils pour une configuration de base + ainsi qu'une liste de recommandations. +

+ +

Voir le guide HTTP/2

+
+
+ +
+
Introduction au Inclusions côté Serveur (Server Side Includes + ou SSI)
+
+

Les SSI sont des directives que l'on place dans des pages + HTML, et qui sont évaluées par le serveur lorsque ces pages sont + servies. Elles vous permettent d'ajouter du contenu généré + dynamiquement à une page HTML existante, sans avoir à servir + l'intégralité de la page via un programme CGI, ou toute autre + technologie dynamique.

+ +

Voir Server Side Includes (SSI)

+
+
+ +
+
Répertoires web de l'utilisateur
+
+

Sur les systèmes multi-utilisateurs, vous pouvez permettre à + chaque utilisateur d'avoir un site web dans son répertoire home + via la directive UserDir. Les visiteurs de l'URL + http://example.com/~nom-utilisateur/ vont recevoir + du contenu situé dans le répertoire home de l'utilisateur + "nom-utilisateur", et dans le sous-répertoire + spécifié par la directive UserDir.

+ +

Voir Répertoires web des utilisateurs (public_html)

+
+
+
+
Mandataires inverses
+
+

Apache httpd possède des fonctionnalités évoluées de serveur + mandataire inverse via ses directives ProxyPass et BalancerMember qui permettent + d'implémenter un système de mandataire inverse sophistiqué garantissant + une haute disponibilité, une répartition et une réattribution de charge, + un regroupement de serveurs en grappe (clustering) basé sur le cloud et + une reconfiguration dynamique à la volée.

+ +

Voir le Guide de configuration des + mandataires inverses

+
+
+ +
+
Réécriture d'URLs avec mod_rewrite
+
+

La réécriture d'URLs avec (ou sans) mod_rewrite devient + l'une des questions les plus fréquentes posées dans nos listes de + diffusion et nos canaux IRC. C'est pourquoi nous avons dédié une section entière de notre documentation à des + howtos et recettes sur ce sujet.

+
+
+ +
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/howto/index.html.ja.utf8 b/docs/manual/howto/index.html.ja.utf8 new file mode 100644 index 0000000..59a7627 --- /dev/null +++ b/docs/manual/howto/index.html.ja.utf8 @@ -0,0 +1,132 @@ + + + + + +How-To / ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

How-To / ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+
+
top
+
+

How-To / ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«

+ + + +
+
èªè¨¼ã¨æ‰¿èª
+
+

èªè¨¼ã¨ã¯ã€èª°ã‹ãŒè‡ªåˆ†ã¯èª°ã§ã‚ã‚‹ã‹ã‚’åä¹—ã£ã¦ã„ã‚‹ã‚‚ã®ã‚’検証ã™ã‚‹ + 処ç†ã®ã“ã¨ã§ã™ã€‚承èªã¨ã¯ã€èª°ã‹ãŒæœ›ã¿ã®å ´æ‰€ã«è¾¿ã‚Šç€ã‘ãŸã‚Šã€ + 望ã¿ã®æƒ…報を手ã«å…¥ã‚ŒãŸã‚Šã™ã‚‹ã“ã¨ã‚’許å¯ã™ã‚‹å‡¦ç†ã®ã“ã¨ã§ã™ã€‚

+ +

å‚ç…§: èªè¨¼ã¨æ‰¿èª

+
+
+ +
+
アクセス制御
+
+

アクセス制御ã¯ã€ã•ã¾ã–ã¾ãªæ¡ä»¶ã§ãƒªã‚½ãƒ¼ã‚¹ã«å¯¾ã™ã‚‹ã‚¢ã‚¯ã‚»ã‚¹ã‚’ + 許å¯ã—ãŸã‚Šåˆ¶é™ã—ãŸã‚Šã™ã‚‹ã“ã¨ã‚’指ã—ã¾ã™ã€‚ + 実ç¾æ–¹æ³•ã«ã¯æ§˜ã€…ãªç•°ãªã‚‹æ‰‹æ³•ãŒã‚ã‚Šã¾ã™ã€‚

+ +

å‚ç…§: アクセス制御

+
+
+ +
+
CGI ã«ã‚ˆã‚‹å‹•çš„コンテンツ
+
+

CGI (Common Gateway Interface) ã¯ã‚¦ã‚§ãƒ–サーãƒãŒå¤–部ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ + 生æˆãƒ—ログラムã¨ã©ã®ã‚ˆã†ã«ç›¸äº’動作をã™ã‚‹ã‹ã‚’定義ã—ã¾ã™ã€‚ + ãã®å¤–部プログラムã¯é€šå¸¸ CGI プログラムや CGI スクリプトã¨å‘¼ã°ã‚Œã¾ã™ã€‚ + CGI ã¯ã‚¦ã‚§ãƒ–サイトã«å‹•çš„ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„を追加ã™ã‚‹ãŸã‚ã®ã€ + å˜ç´”ãªæ–¹æ³•ã§ã™ã€‚ã“ã®æ–‡æ›¸ã¯ Apache ウェブサーãƒã« + CGI を設定ã—ã€CGI プログラムを書ã始ã‚ã‚‹ãŸã‚ã®ã‚¤ãƒ³ãƒˆãƒ­ãƒ€ã‚¯ã‚·ãƒ§ãƒ³ã§ã™ã€‚

+ +

å‚ç…§: CGI: 動的コンテンツ

+
+
+ +
+
.htaccess ファイル
+
+

.htaccess ファイルã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã«è¨­å®šã‚’変更ã™ã‚‹ãŸã‚ã® + 方法をæä¾›ã—ã¾ã™ã€‚設定ディレクティブãŒæ›¸ã‹ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ãŒã€ã‚るドキュメント + ディレクトリã«ç½®ã‹ã‚Œã‚‹ã¨ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ + ã™ã¹ã¦ã®ã‚µãƒ–ディレクトリã«é©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§: .htaccess ファイル

+
+
+ +
+
Server Side Includes イントロダクション
+
+

SSI (Server Side Includes) 㯠HTML ページ中ã«æ›¸ã‹ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã€ + ページãŒé€ã‚‰ã‚Œã‚‹æ™‚ã«ã‚µãƒ¼ãƒã«ã‚ˆã‚Šè©•ä¾¡ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ãƒšãƒ¼ã‚¸å…¨ä½“ã‚’ + CGI プログラムã§ç”Ÿæˆã—ãŸã‚Šã€ä»–ã®å‹•çš„ãªæŠ€è¡“を使ã†ã“ã¨ãªãã€æ—¢å­˜ã® HTML + ページã«å‹•çš„ã«ç”Ÿæˆã•ã‚ŒãŸå†…容を付加ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

å‚ç…§: Server Side Includes (SSI)

+
+
+ +
+
ユーザ毎ã®ã‚¦ã‚§ãƒ–ディレクトリ
+
+

複数ユーザã®å­˜åœ¨ã™ã‚‹ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã€ãã‚Œãžã‚Œã®ãƒ¦ãƒ¼ã‚¶ã¯ UserDir ディレクティブを使ã†ã“ã¨ã«ã‚ˆã£ã¦ + ホームディレクトリ上ã«ã‚¦ã‚§ãƒ–サイトを作æˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + URL http://example.com/~username/ を訪れãŸäººã¯ + ユーザ "username" ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ã€UserDir ディレクティブã§æŒ‡å®šã•ã‚ŒãŸ + サブディレクトリã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å¾—ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

å‚ç…§: ユーザウェブディレクトリ (public_html)

+
+
+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/howto/index.html.ko.euc-kr b/docs/manual/howto/index.html.ko.euc-kr new file mode 100644 index 0000000..c58e25e --- /dev/null +++ b/docs/manual/howto/index.html.ko.euc-kr @@ -0,0 +1,124 @@ + + + + + +How-To / ÅõÅ丮¾ó - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

How-To / ÅõÅ丮¾ó

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+
+
top
+
+

How-To / ÅõÅ丮¾ó

+ + + +
+
ÀÎÁõ
+
+

ÀÎÁõ(authentication)Àº ÀÚ½ÅÀÌ ´©±¸¶ó°í ÁÖÀåÇÏ´Â »ç¶÷À» + È®ÀÎÇÏ´Â ÀýÂ÷ÀÌ´Ù. ±ÇÇѺο©(authorization)´Â °¡°í ½ÍÀº + °÷À¸·Î °¡µµ·Ï ȤÀº ¿øÇÏ´Â Á¤º¸¸¦ ¾òµµ·Ï Çã¿ëÇÏ´Â °úÁ¤ÀÌ´Ù.

+ +

Âü°í: ÀÎÁõ, ±ÇÇѺο©, Á¢±ÙÁ¦¾î

+
+
+ +
+
CGI¸¦ »ç¿ëÇÑ µ¿Àû ÆäÀÌÁö »ý¼º
+
+

CGI (Common Gateway Interface)´Â À¥¼­¹ö°¡ º¸Åë CGI + ÇÁ·Î±×·¥ ȤÀº CGI ½ºÅ©¸³Æ®ÇÏ°í ºÎ¸£´Â, (À¥ÆäÀÌÁö ³»¿ëÀ» + ¸¸µå´Â) ¿ÜºÎ ÇÁ·Î±×·¥°ú »óÈ£ÀÛ¿ëÇÏ´Â ¹æ¹ýÀ» Á¤ÀÇÇÑ´Ù. + À¥»çÀÌÆ®¿¡¼­ µ¿ÀûÀÎ ÆäÀÌÁö¸¦ ¸¸µå´Â °¡Àå ÈçÇÏ°í °£´ÜÇÑ + ¹æ¹ýÀÌ´Ù. ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ À¥¼­¹ö¿¡ CGI¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀ» + ¼Ò°³ÇÏ°í, CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇغ»´Ù.

+ +

Âü°í: CGI: µ¿Àû ÆäÀÌÁö »ý¼º

+
+
+ +
+
.htaccess ÆÄÀÏ
+
+

.htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¿© µð·ºÅ丮º°·Î + ¼³Á¤À» º¯°æÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¼³Á¤ Áö½Ã¾î°¡ ÀÖ´Â ÆÄÀÏÀ» + ƯÁ¤ ¹®¼­ µð·ºÅ丮¿¡ µÎ¸é, ±× µð·ºÅ丮¿Í ¸ðµç ÇÏÀ§µð·ºÅ丮¿¡ + Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù.

+ +

Âü°í: .htaccess + ÆÄÀÏ

+
+
+ +
+
Server Side Includes ¼Ò°³
+
+

SSI (Server Side Includes)´Â HTML ÆäÀÌÁö¿¡ »ç¿ëÇÏ´Â + Áö½Ã¾î·Î, ÆäÀÌÁö¸¦ ¼­ºñ½ºÇÒ¶§ ¼­¹ö°¡ ó¸®ÇÑ´Ù. SSI¸¦ + »ç¿ëÇϸé CGI ÇÁ·Î±×·¥À̳ª ´Ù¸¥ µ¿ÀûÀÎ ±â¼ú·Î ÆäÀÌÁö + Àüü¸¦ ¸¸µé¾î¼­ ¼­ºñ½ºÇÏÁö ¾Ê°íµµ HTML ÆäÀÌÁö¿¡ µ¿ÀûÀ¸·Î + »ý¼ºÇÑ ³»¿ëÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù.

+ +

Âü°í: Server Side Includes (SSI)

+
+
+ +
+
»ç¿ëÀÚº° À¥µð·ºÅ丮
+
+

¿©·¯ »ç¿ëÀÚ°¡ ÀÖ´Â ½Ã½ºÅÛ¿¡¼­ UserDir Áö½Ã¾î¸¦ »ç¿ëÇϸé + °¢ »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ È¨µð·ºÅ丮 ¾È¿¡ À¥»çÀÌÆ®¸¦ ¸¸µé ¼ö + ÀÖ´Ù. URL http://example.com/~username/¿¡ + Á¢±ÙÇÏ¸é »ç¿ëÀÚ "username"ÀÇ È¨µð·ºÅ丮¿¡¼­ + UserDir + Áö½Ã¾î·Î ÁöÁ¤ÇÑ ÇÏÀ§µð·ºÅ丮¿¡ ÀÖ´Â ÆäÀÌÁö¸¦ °¡Á®¿À°Ô + µÈ´Ù.

+ +

Âü°í: »ç¿ëÀÚ À¥µð·ºÅ丮 + (public_html)

+
+
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/howto/index.html.zh-cn.utf8 b/docs/manual/howto/index.html.zh-cn.utf8 new file mode 100644 index 0000000..754f139 --- /dev/null +++ b/docs/manual/howto/index.html.zh-cn.utf8 @@ -0,0 +1,121 @@ + + + + + +常è§æ“作/教程 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

常è§æ“作/教程

+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+
+
top
+
+

常è§æ“作/教程

+ + + +
+
认è¯ä¸ŽæŽˆæƒ
+
+

认è¯æ˜¯ä½ éªŒè¯æŸäººæ˜¯æ‰€å£°ç§°çš„人。 + 授æƒæ˜¯å…许æŸäººæ‰§è¡Œä»–想è¦çš„æ“作,或者获得想è¦çš„ä¿¡æ¯ã€‚

+ +

å‚è§: 认è¯ï¼ŒæŽˆæƒä¸Žè®¿é—®æŽ§åˆ¶

+
+
+ +
+
访问控制
+
+

访问控制是æ“作é™åˆ¶ï¼Œæˆ–基于任æ„æ¡ä»¶è®¿é—®èµ„æºã€‚è¿™å¯ä»¥é€šè¿‡å¤šç§æ–¹æ³•å®Œæˆã€‚

+ + +
+
+ +
+
CGI 与动æ€å†…容
+
+

CGI (通用网管接å£) 为 web æœåŠ¡å™¨å®šä¹‰äº†ä¸Žå¤–部的内容生æˆç¨‹åºçš„æ“作接å£ï¼Œ + 通常称为 CGI 程åºæˆ– CGI 脚本。它是在 web 站点放入动æ€å†…容的最简å•ï¼Œ + 也最常用的方法。 本文简å•ä»‹ç»äº†åœ¨ Apache æœåŠ¡å™¨ä¸­é…ç½® CGI 的方法, + 以åŠå¦‚何编写 CGI 程åºã€‚

+ +

å‚è§: CGI 与动æ€å†…容

+
+
+ +
+
.htaccess 文件
+
+

.htaccess files provide a way to make configuration + changes on a per-directory basis. A file, containing one or more + configuration directives, is placed in a particular document directory, + and the directives apply to that directory, and all subdirectories thereof.

+ +

See: .htaccess files

+
+
+ +
+
æœåŠ¡å™¨ç«¯æ’入简介
+
+

SSI (æœåŠ¡å™¨ç«¯æ’å…¥) 是在 HTML 页é¢ä¸­æ”¾å…¥çš„指令,在页é¢è¢«è®¿é—®çš„时候执行。 + 它å…许你在现有的 HTML 页é¢å¢žåŠ åŠ¨æ€ç”Ÿæˆçš„内容,ä¸éœ€è¦é€šè¿‡ CGI + 程åºæˆ–其它动æ€è®¡æ•°æ¥ç”Ÿæˆæ•´ä¸ªé¡µé¢ã€‚

+ +

å‚è§: æœåŠ¡å™¨ç«¯æ’å…¥ (SSI)

+
+
+ +
+
用户ç§äººç½‘站目录
+
+

在有多个用户的系统中,使用 UserDir 指令,å¯ä»¥å…许æ¯ä¸ªç”¨æˆ·åœ¨ä»–们的根目录中都有一个 + web 站点。 访问 URL http://example.com/~username/ 会得到ä½äºŽç”¨æˆ· + "username" 根目录中由 UserDir 指定的å­ç›®å½•ä¸­çš„内容。

+ +

å‚è§: 用户ç§äººç½‘站目录 (public_html)

+
+
+ +
+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ja  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/howto/public_html.html b/docs/manual/howto/public_html.html new file mode 100644 index 0000000..bd099f3 --- /dev/null +++ b/docs/manual/howto/public_html.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: public_html.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: public_html.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: public_html.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: public_html.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: public_html.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: public_html.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/howto/public_html.html.en b/docs/manual/howto/public_html.html.en new file mode 100644 index 0000000..d0b5162 --- /dev/null +++ b/docs/manual/howto/public_html.html.en @@ -0,0 +1,218 @@ + + + + + +Per-user web directories - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Per-user web directories

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

On systems with multiple users, each user can be permitted to have a + web site in their home directory using the UserDir directive. Visitors + to a URL http://example.com/~username/ will get content + out of the home directory of the user "username", out of + the subdirectory specified by the UserDir directive.

+

Note that, by default, access to these directories is not + enabled. You can enable access when using UserDir by uncommenting the line:

+
#Include conf/extra/httpd-userdir.conf
+ +

in the default config file conf/httpd.conf, and adapting the httpd-userdir.conf + file as necessary, or by including the appropriate directives in a + <Directory> block + within the main config file.

+
+ +
top
+
top
+
+

Setting the file path with UserDir

+ + +

The UserDir + directive specifies a directory out of which per-user + content is loaded. This directive may take several different forms.

+ +

If a path is given which does not start with a leading slash, it is + assumed to be a directory path relative to the home directory of the + specified user. Given this configuration:

+ +
UserDir public_html
+ + +

the URL http://example.com/~rbowen/file.html will be + translated to the file path + /home/rbowen/public_html/file.html

+ +

If a path is given starting with a slash, a directory path will be + constructed using that path, plus the username specified. Given this + configuration:

+ +
UserDir /var/html
+ + +

the URL http://example.com/~rbowen/file.html will be + translated to the file path /var/html/rbowen/file.html

+ +

If a path is provided which contains an asterisk (*), a path is used + in which the asterisk is replaced with the username. Given this + configuration:

+ +
UserDir /var/www/*/docs
+ + +

the URL http://example.com/~rbowen/file.html will be + translated to the file path + /var/www/rbowen/docs/file.html

+ +

Multiple directories or directory paths can also be set.

+ +
UserDir public_html /var/html
+ + +

For the URL http://example.com/~rbowen/file.html, + Apache will search for ~rbowen. If it isn't found, + Apache will search for rbowen in /var/html. If + found, the above URL will then be translated to the file path + /var/html/rbowen/file.html

+ +
top
+
+

Redirecting to external URLs

+ +

The UserDir directive can be + used to redirect user directory requests to external URLs.

+ +
UserDir http://example.org/users/*/
+ + +

The above example will redirect a request for + http://example.com/~bob/abc.html to + http://example.org/users/bob/abc.html.

+
top
+
+

Restricting what users are permitted to use this + feature

+ + +

Using the syntax shown in the UserDir documentation, you can restrict + what users are permitted to use this functionality:

+ +
UserDir disabled root jro fish
+ + +

The configuration above will enable the feature for all users + except for those listed in the disabled statement. + You can, likewise, disable the feature for all but a few users by + using a configuration like the following:

+ +
UserDir disabled
+UserDir enabled rbowen krietz
+ + +

See UserDir + documentation for additional examples.

+ +
top
+
+

Enabling a cgi directory for each user

+ + +

In order to give each user their own cgi-bin directory, you can use + a <Directory> + directive to make a particular subdirectory of a user's home directory + cgi-enabled.

+ +
<Directory "/home/*/public_html/cgi-bin/">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + +

Then, presuming that UserDir is set to + public_html, a cgi program example.cgi + could be loaded from that directory as:

+ +

+ http://example.com/~rbowen/cgi-bin/example.cgi +

+ +
top
+
+

Allowing users to alter configuration

+ + +

If you want to allows users to modify the server configuration in + their web space, they will need to use .htaccess files to + make these changes. Ensure that you have set AllowOverride to a + value sufficient for the directives that you want to permit the users + to modify. See the .htaccess tutorial for + additional details on how this works.

+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/public_html.html.es b/docs/manual/howto/public_html.html.es new file mode 100644 index 0000000..196f472 --- /dev/null +++ b/docs/manual/howto/public_html.html.es @@ -0,0 +1,216 @@ + + + + + +Directorios web por usuario - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Directorios web por usuario

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

En sistemas con múltiples usuarios, cada usuario puede tener un website + en su directorio home usando la directiva UserDir. Los visitantes de una URL + http://example.com/~username/ recibirán el contenido del + directorio home del usuario "username", en el subdirectorio + especificado por la directiva UserDir.

+ +

Tenga en cuenta que, por defecto, el acceso a estos directorios + NO está activado. Puede permitir acceso cuando usa + UserDir quitando el comentario de la línea:

+ +
#Include conf/extra/httpd-userdir.conf
+ + +

En el fichero por defecto de configuración conf/httpd.conf, + y adaptando el fichero httpd-userdir.conf según sea necesario, + o incluyendo las directivas apropiadas en un bloque + <Directory> dentro del fichero + principal de configuración.

+
+ +
top
+
+

Directorios web por usuario

+ + +
top
+
+

Configurando la ruta del fichero con UserDir

+ + +

La directiva UserDir + especifica un directorio del que cargar contenido por usuario. Esta directiva + puede tener muchas formas distintas.

+ +

Si se especifica una ruta que no empieza con una barra ("/"), se asume que + va a ser una ruta de directorio relativa al directorio home del usuario + especificado. Dada ésta configuración:

+ +
UserDir public_html
+ + +

La URL http://example.com/~rbowen/file.html se traducirá en + la ruta del fichero /home/rbowen/public_html/file.html

+ +

Si la ruta que se especifica comienza con una barra ("/"), la ruta del + directorio se construirá usando esa ruta, más el usuario especificado en la + configuración:

+ +
UserDir /var/html
+ + +

La URL http://example.com/~rbowen/file.html se traducirá en + la ruta del fichero /var/html/rbowen/file.html

+ +

Si se especifica una ruta que contiene un asterisco (*), se usará una ruta + en la que el asterisco se reemplaza con el nombre de usuario. Dada ésta configuración:

+ +
UserDir /var/www/*/docs
+ + +

La URL http://example.com/~rbowen/file.html se traducirá en + la ruta del fichero /var/www/rbowen/docs/file.html

+ +

También se pueden configurar múltiples directorios o rutas de directorios.

+ +
UserDir public_html /var/html
+ + +

Para la URL http://example.com/~rbowen/file.html, + Apache buscará ~rbowen. Si no lo encuentra, Apache buscará + rbowen en /var/html. Si lo encuentra, la URL de más + arriba se traducirá en la ruta del fichero + /var/html/rbowen/file.html

+ +
top
+
+

Redirigiendo a URLs externas

+ +

La directiva UserDir puede + usarse para redirigir solcitudes de directorios de usuario a URLs externas.

+ +
UserDir http://example.org/users/*/
+ + +

El ejemplo de aquí arriba redirigirá una solicitud para + http://example.com/~bob/abc.html hacia + http://example.org/users/bob/abc.html.

+
top
+
+

Restringiendo qué usuarios pueden usar esta característica

+ + +

Usando la sintaxis que se muestra en la documentación de UserDir, usted + puede restringir a qué usuarios se les permite usar esta funcionalidad:

+ +
UserDir disabled root jro fish
+ + +

La configuración de aquí arriba permitirá a todos los usuarios excepto a + los que se listan con la declaración disabled. Usted puede, + del mismo modo, deshabilitar esta característica para todos excepto algunos + usuarios usando una configuración como la siguiente:

+ +
UserDir disabled
+UserDir enabled rbowen krietz
+ + +

Vea la documentación de UserDir para más + ejemplos.

+ +
top
+
+

Activando un directorio cgi para cada usuario

+ + +

Para dar a cada usuario su propio directorio cgi-bin, puede usar una directiva + <Directory> + para activar cgi en un subdirectorio en particular del directorio home del usuario.

+ +
<Directory "/home/*/public_html/cgi-bin/">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + +

Entonces, asumiendo que UserDir está configurado con la + declaración public_html, un programa cgi example.cgi + podría cargarse de ese directorio así:

+ +

+ http://example.com/~rbowen/cgi-bin/example.cgi +

+ +
top
+
+

Permitiendo a usuarios cambiar la configuración

+ + +

Si quiere permitir que usuarios modifiquen la configuración del servidor en + su espacio web, necesitarán usar ficheros .htaccess para hacer + estos cambios. Asegúrese de tener configurado AllowOverride con un valor suficiente que permita a + los usuarios modificar las directivas que quiera permitir. + Vea el tutorial de .htaccess para obtener detalles adicionales sobre cómo funciona.

+ +
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/public_html.html.fr.utf8 b/docs/manual/howto/public_html.html.fr.utf8 new file mode 100644 index 0000000..94844a5 --- /dev/null +++ b/docs/manual/howto/public_html.html.fr.utf8 @@ -0,0 +1,235 @@ + + + + + +Répertoires web utilisateurs - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Répertoires web utilisateurs

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Sur les systèmes multi-utilisateurs, on peut permettre à chaque +utilisateur d'avoir un site web dans son répertoire home à l'aide de la +directive UserDir. Les +visiteurs de l'URL http://example.com/~nom_utilisateur/ +recevront un contenu situé dans le répertoire home de l'utilisateur +"nom_utilisateur", et dans le sous-répertoire spécifié par +la directive UserDir.

+

Notez que par défaut, l'accès à ces répertoires n'est +pas permis. Vous pouvez en permettre l'accès à l'aide +de la directive UserDir en +décommentant la ligne :

+
#Include conf/extra/httpd-userdir.conf
+ +

dans le fichier de configuration par défaut + conf/httpd.conf, et en adaptant le + fichier httpd-userdir.conf selon vos besoins, ou en + incluant les directives appropriées dans une section + <Directory> du fichier de + configuration principal.

+
+ +
top
+
+

Répertoires web utilisateurs

+ + +
top
+
+

Définition du chemin des fichiers avec UserDir

+ + +

La directive UserDir + permet de spécifier un répertoire à partir duquel le contenu de + l'utilisateur pourra être chargé. Elle peut revêtir plusieurs + formes.

+ +

Si le chemin spécifié ne commence pas par un slash, il sera + interprété comme chemin relatif au répertoire home de l'utilisateur + considéré. Par exemple, avec cette configuration :

+ +
UserDir public_html
+ + +

l'URL http://example.com/~rbowen/fichier.html + correspondra au chemin fichier + /home/rbowen/public_html/fichier.html

+ +

Si le chemin spécifié commence par un slash, le chemin du fichier + sera construit en utilisant ce chemin, suivi du nom de l'utilisateur + considéré. Par exemple, avec cette configuration :

+ +
UserDir /var/html
+ + +

l'URL http://example.com/~rbowen/fichier.html + correspondra au chemin fichier + /var/html/rbowen/fichier.html

+ +

Si le chemin spécifié contient un astérisque (*), ce dernier sera + remplacé par le nom de l'utilisateur dans le chemin du fichier + correspondant. Par exemple, avec cette configuration :

+ +
UserDir /var/www/*/docs
+ + +

l'URL http://example.com/~rbowen/fichier.html + correspondra au chemin fichier + /var/www/rbowen/docs/fichier.html

+ +

On peut aussi définir plusieurs répertoires ou chemins de + répertoires.

+ +
UserDir public_html /var/html
+ + +

Avec l'URL http://example.com/~rbowen/fichier.html, + Apache va rechercher ~rbowen. S'il ne le trouve pas, + Apache va rechercher rbowen dans + /var/html. S'il le trouve, l'URL ci-dessus correspondra + au chemin fichier /var/html/rbowen/file.html

+ +
top
+
+

Redirection vers des URLs externes

+ +

On peut utiliser la directive UserDir pour rediriger les requêtes + relatives aux répertoires utilisateurs vers des URLs externes.

+ +
UserDir http://example.org/users/*/
+ + +

L'exemple ci-dessus va rediriger une requête pour + http://example.com/~bob/abc.html vers + http://exemple.org/users/bob/abc.html.

+
top
+
+

Définition de la liste des utilisateurs autorisés à utiliser + cette fonctionnalité

+ + +

En suivant la syntaxe décrite dans la documentation de UserDir, + vous pouvez définir quels utilisateurs sont autorisés à utiliser + cette fonctionnalité :

+ +
UserDir disabled root jro fish
+ + +

La configuration ci-dessus va autoriser l'utilisation de la + fonctionnalité pour tous les utilisateurs, à l'exception de ceux + listés à la suite de l'argument disabled. De même, vous + pouvez interdire l'utilisation de la fonctionnalité à tous les + utilisateurs sauf certains d'entre eux en utilisant une + configuration du style :

+ +
UserDir disabled
+UserDir enabled rbowen krietz
+ + +

Vous trouverez d'autres exemples dans la documentation de + UserDir.

+ +
top
+
+

Définition d'un répertoire CGI pour chaque utilisateur

+ + +

Afin de réserver un répertoire cgi-bin pour chaque utilisateur, + vous pouvez utiliser une section <Directory> pour activer CGI dans un + sous-répertoire particulier d'un répertoire home utilisateur.

+ +
<Directory "/home/*/public_html/cgi-bin/">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + +

Avec la configuration ci-dessus, et en supposant que + UserDir est défini à public_html, un + programme CGI exemple.cgi pourra être chargé depuis ce + répertoire en passant par l'URL :

+ +

+ http://example.com/~rbowen/cgi-bin/exemple.cgi +

+ +
top
+
+

Permettre aux utilisateurs de modifier la + configuration

+ + +

Si vous voulez que vos utilisateurs puissent modifier la + configuration du serveur pour ce qui concerne leur espace web, ils + devront utiliser des fichiers .htaccess pour effectuer + ces modifications. Assurez-vous d'avoir défini la directive + AllowOverride à une valeur + appropriée pour les directives dont vous voulez permettre la + modification aux utilisateurs. Voir le tutoriel .htaccess pour plus de détails sur + la manière dont tout ceci fonctionne.

+ +
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/public_html.html.ja.utf8 b/docs/manual/howto/public_html.html.ja.utf8 new file mode 100644 index 0000000..272e5c1 --- /dev/null +++ b/docs/manual/howto/public_html.html.ja.utf8 @@ -0,0 +1,228 @@ + + + + + +ユーザ毎ã®ã‚¦ã‚§ãƒ–ディレクトリ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

ユーザ毎ã®ã‚¦ã‚§ãƒ–ディレクトリ

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

複数ã®ãƒ¦ãƒ¼ã‚¶ã®ã„るシステムã§ã¯ã€UserDir ディレクティブを使ã£ã¦ + å„ユーザãŒãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚¦ã‚§ãƒ–サイトを構築ã§ãるよã†ã«è¨­å®šã™ã‚‹ã“ã¨ãŒ + å¯èƒ½ã§ã™ã€‚URL http://example.com/~username/ を訪れãŸäººã¯ + "username" ã¨ã„ã†ãƒ¦ãƒ¼ã‚¶ã® UserDir ディレクティブã§æŒ‡å®šã•ã‚ŒãŸ + サブディレクトリã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å¾—ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

in the default config file, and adapting the httpd-userdir.conf + file as necessary, or by including the appropriate directives in a + Directory block within the main config file.

+

デフォルトã§ã¯ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。 + UserDir を使ã£ã¦æœ‰åŠ¹ã«ã§ãã¾ã™ã€‚ + 有効ã«ã™ã‚‹ã«ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§ä»˜éšã™ã‚‹ + httpd-userdir.conf ファイルãŒå¿…è¦ã§ã€ + ãã®ä¸­ã®æ¬¡ã®è¡Œã®ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’外ã—ã¦æœ‰åŠ¹ã«ã™ã‚‹ã‹ã€ +

+

+ #Include conf/extra/httpd-userdir.conf +

+

ã‚ã‚‹ã„ã¯ã€ãƒ¡ã‚¤ãƒ³ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® Directory + ブロックã®ä¸­ã«é©åˆ‡ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を記述ã—ã¦ãŠãã¾ã™ã€‚

+
+ +
top
+
+

ユーザ毎ã®ã‚¦ã‚§ãƒ–ディレクトリ

+ + +
top
+
+

UserDir を使ã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スを設定ã™ã‚‹

+ + +

UserDir ディレクティブ㯠+ ユーザ毎ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã—ã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã„ã‚ã„ã‚é•ã£ãŸå½¢å¼ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

スラッシュã§å§‹ã¾ã‚‰ãªã„パスãŒä¸Žãˆã‚‰ã‚ŒãŸã¨ãã¯ã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã¿ãªã•ã‚Œã¾ã™ã€‚次ã®è¨­å®šãŒã‚ã£ãŸã¨ãã«:

+ +
UserDir public_html
+ + +

URL http://example.com/~rbowen/file.html 㯠+ パス /home/rbowen/public_html/file.html 㸠+ 変æ›ã•ã‚Œã¾ã™ã€‚

+ +

パスãŒã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§å§‹ã¾ã‚‹ã¨ãã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ‘スã¯ãã®ãƒ‘ス㫠+ ユーザåを加ãˆãŸã‚‚ã®ã‹ã‚‰ãªã‚Šã¾ã™ã€‚次ã®è¨­å®šã®ã¨ã:

+ +
UserDir /var/html
+ + +

URL http://example.com/~rbowen/file.html 㯠+ パス /var/html/rbowen/file.html ã¸å¤‰æ›ã•ã‚Œã¾ã™ã€‚

+ +

アスタリスク (*) ã‚’å«ã‚€ãƒ‘スãŒæŒ‡å®šã•ã‚ŒãŸã¨ãã¯ã€ã‚¢ã‚¹ã‚¿ãƒªã‚¹ã‚¯ã‚’ + ユーザåã§ç½®æ›ã—ãŸã‚‚ã®ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã®ã‚ˆã†ãªè¨­å®šã ã¨:

+ +
UserDir /var/www/*/docs
+ + +

URL http://example.com/~rbowen/file.html 㯠+ パス /var/www/rbowen/docs/file.html ã¸å¤‰æ›ã•ã‚Œã¾ã™ã€‚

+ +

ディレクトリやディレクトリパスを複数設定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +
UserDir public_html /var/html
+ + + +

http://example.com/~rbowen/file.html ã¨ã„ㆠ+ URL ã«å¯¾ã—ã¦ã¯ ~rbowen を探ã—ã¾ã™ã€‚見ã¤ã‹ã‚‰ãªã‘ã‚Œã°ã€ + /var/html ã®ä¸‹ã«ã‚ã‚‹ rbowen を探ã—ã¾ã™ã€‚ + ã‚‚ã—見ã¤ã‹ã‚Œã°ä¸Šè¨˜ã® URL 㯠/var/html/rbowen/file.html + ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‘スã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚

+ +
top
+
+

外部 URL ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹

+ +

UserDir + ディレクティブを使ã£ã¦å¤–部 URL ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +
UserDir http://example.org/users/*/
+ + + +

上記例ã§ã¯ http://example.com/~bob/abc.html + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ http://example.org/users/bob/abc.html + ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã™ã€‚

+
top
+
+

ã“ã®æ©Ÿèƒ½ã‚’使用ã§ãるユーザを制é™ã™ã‚‹

+ + +

UserDir ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ç¤ºã•ã‚Œã¦ã„る構文を使ã†ã“ã¨ã§ã€ + ã©ã®ãƒ¦ãƒ¼ã‚¶ãŒã“ã®æ©Ÿèƒ½ã‚’使ã†ã“ã¨ãŒã§ãã‚‹ã‹ã‚’制é™ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +

+ UserDir enabled
+ UserDir disabled root jro fish +

+ +

上ã®è¨­å®šã¯ dissabled æ–‡ã®ãƒ¦ãƒ¼ã‚¶ä»¥å¤–ã®ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ã« + 対ã—㦠UserDir ã®æ©Ÿèƒ½ã‚’有効ã«ã—ã¾ã™ã€‚åŒæ§˜ã«ã—ã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ã« + æ•°åã®ãƒ¦ãƒ¼ã‚¶ä»¥å¤–ã«å¯¾ã—ã¦ã“ã®æ©Ÿèƒ½ã‚’無効ã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™:

+ +
      UserDir disabled
+ UserDir enabled rbowen krietz
+ + +

ä»–ã®ä¾‹ã¯ UserDir + ã®èª¬æ˜Žã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +
top
+
+

ユーザ毎㮠CGI ディレクトリ

+ + +

ãã‚Œãžã‚Œã®ãƒ¦ãƒ¼ã‚¶ã«å°‚用㮠cgi-bin ディレクトリを与ãˆã‚‹ãŸã‚ã«ã€ + <Directory> + を使ã£ã¦ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®æŒ‡å®šã•ã‚ŒãŸé ˜åŸŸã«å¯¾ã—㦠CGI を有効㫠+ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
<Directory /home/*/public_html/cgi-bin/>
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + +

ãã—ã¦ã€UserDir ㌠+ public_html ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ä»®å®šã™ã‚‹ã¨ã€ + ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® CGI プログラム example.cgi + ã¯ä»¥ä¸‹ã®æ§˜ã«å‘¼ã³å‡ºã•ã‚Œã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +

+ http://example.com/~rbowen/cgi-bin/example.cgi +

+ +
top
+
+

ユーザã«ã‚ˆã‚‹è¨­å®šå¤‰æ›´ã‚’許å¯

+ + +

ユーザã«å½¼ã‚‰ã®ã‚¦ã‚§ãƒ–空間ã§ã®ã‚µãƒ¼ãƒã®è¨­å®šã®å¤‰æ›´ã‚’許å¯ã™ã‚‹å ´åˆã€ + ユーザ㯠.htaccess ファイルを使ã£ã¦è¨­å®šã‚’変更ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + AllowOverride ã®å€¤ã‚’ + ユーザãŒå¤‰æ›´ã™ã‚‹ã“ã¨ã‚’許å¯ã—ãŸã„ディレクティブã«å¯¾ã—ã¦å分ãªã‚‚ã®ã« + 設定ã—ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。ã“ã®æ©Ÿèƒ½ãŒã©ã®ã‚ˆã†ã«ã—ã¦å‹•ä½œã—ã¦ã„ã‚‹ã‹ + ã®è©³ç´°ã¯ .htaccess ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« を読ん㧠+ ãã ã•ã„。

+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/public_html.html.ko.euc-kr b/docs/manual/howto/public_html.html.ko.euc-kr new file mode 100644 index 0000000..3d2f1f3 --- /dev/null +++ b/docs/manual/howto/public_html.html.ko.euc-kr @@ -0,0 +1,190 @@ + + + + + +»ç¿ëÀÚº° À¥µð·ºÅ丮 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

»ç¿ëÀÚº° À¥µð·ºÅ丮

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

¿©·¯ »ç¿ëÀÚ°¡ ÀÖ´Â ½Ã½ºÅÛ¿¡¼­ UserDir Áö½Ã¾î¸¦ »ç¿ëÇϸé + °¢ »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ È¨µð·ºÅ丮 ¾È¿¡ À¥»çÀÌÆ®¸¦ ¸¸µé ¼ö ÀÖ´Ù. + URL http://example.com/~username/¿¡ Á¢±ÙÇϸé + »ç¿ëÀÚ "username"ÀÇ È¨µð·ºÅ丮¿¡¼­ UserDir Áö½Ã¾î·Î ÁöÁ¤ÇÑ + ÇÏÀ§µð·ºÅ丮¿¡ ÀÖ´Â ÆäÀÌÁö¸¦ °¡Á®¿À°Ô µÈ´Ù.

+ +
+ +
top
+
+

»ç¿ëÀÚº° À¥µð·ºÅ丮

+ + +
top
+
+

UserDir·Î ÆÄÀÏ°æ·Î ÁöÁ¤Çϱâ

+ + +

UserDir + Áö½Ã¾î´Â »ç¿ëÀÚº° ÆäÀÌÁö¸¦ °¡Á®¿Ã µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ + Áö½Ã¾îÀÇ »ç¿ë¹ýÀº ¿©·¯°¡Áö´Ù.

+ +

½½·¡½¬·Î ½ÃÀÛÇÏÁö¾Ê´Â °æ·Î¸¦ ÁöÁ¤ÇÏ¸é °¢ »ç¿ëÀÚÀÇ + Ȩµð·ºÅ丮¿¡ »ó´ëÀûÀÎ µð·ºÅ丮 °æ·Î·Î ó¸®ÇÑ´Ù. ¿¹¸¦ µé¾î, + ¾Æ·¡ ¼³Á¤ÀÇ °æ¿ì:

+ +

+ UserDir public_html +

+ +

URL http://example.com/~rbowen/file.htmlÀº + ÆÄÀÏ °æ·Î /home/rbowen/public_html/file.htmlÀ» + ¶æÇÑ´Ù.

+ +

½½·¡½¬·Î ½ÃÀÛÇÏ´Â °æ·Î¸¦ ÁöÁ¤Çϸé ÁöÁ¤ÇÑ µð·ºÅ丮¿¡ + »ç¿ëÀÚ¸íÀ» ´õÇÑ µð·ºÅ丮 °æ·Î¸¦ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, ¾Æ·¡ + ¼³Á¤ÀÇ °æ¿ì:

+ +

+ UserDir /var/html +

+ +

URL http://example.com/~rbowen/file.htmlÀº + ÆÄÀÏ °æ·Î /var/html/rbowen/file.htmlÀ» ¶æÇÑ´Ù.

+ +

º°Ç¥ (*)¸¦ Æ÷ÇÔÇÑ °æ·Î¸¦ ÁöÁ¤ÇÏ¸é º°Ç¥¸¦ »ç¿ëÀÚ¸íÀ¸·Î + ´ëüÇÑ °æ·Î¸¦ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, ¾Æ·¡ ¼³Á¤ÀÇ °æ¿ì:

+ +

+ UserDir /var/www/*/docs +

+ +

URL http://example.com/~rbowen/file.htmlÀº + ÆÄÀÏ °æ·Î /var/www/rbowen/docs/file.htmlÀ» + ¶æÇÑ´Ù.

+ +
top
+
+

±â´ÉÀ» ÀÌ¿ëÇÒ »ç¿ëÀÚ Á¦ÇÑÇϱâ

+ + +

UserDir ¹®¼­¿¡ ÀÖ´Â ¹®¹ýÀ» »ç¿ëÇÏ¿© »ç¿ëÀÚº° À¥µð·ºÅ丮 + ±â´ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ Á¦ÇÑÇÒ ¼ö ÀÖ´Ù:

+ +

+ UserDir enabled
+ UserDir disabled root jro fish +

+ +

À§ ¼³Á¤Àº disabled ¹®Àå¿¡ ¿­°ÅÇÑ »ç¶÷À» + Á¦¿ÜÇÏ°í ¸ðµç »ç¿ëÀÚ¿¡°Ô À¥µð·ºÅ丮 ±â´ÉÀ» Çã¶ôÇÑ´Ù. ¶Ç, + ´ÙÀ½°ú °°ÀÌ ¸î¸î »ç¿ëÀÚ¸¦ Á¦¿ÜÇÏ°í ±â´ÉÀ» Çã¶ôÇÏÁö ¾ÊÀ» + ¼öµµ ÀÖ´Ù:

+ +

+ UserDir disabled
+ UserDir enabled rbowen krietz +

+ +

UserDir + ¹®¼­¿¡ ÀÖ´Â ´Ù¸¥ ¿¹µéµµ Âü°íÇ϶ó.

+ +
top
+
+

°¢ »ç¿ëÀÚº° cgi µð·ºÅ丮 ÁöÁ¤Çϱâ

+ + +

»ç¿ëÀÚ¸¶´Ù cgi-bin µð·ºÅ丮¸¦ ºÎ¿©ÇÏ·Á¸é <Directory> Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© »ç¿ëÀÚ È¨µð·ºÅ丮ÀÇ Æ¯Á¤ ÇÏÀ§µð·ºÅ丮¸¦ cgi °¡´ÉÇÏ°Ô + ¸¸µç´Ù.

+ +

+ <Directory /home/*/public_html/cgi-bin/>
+ Options ExecCGI
+ SetHandler cgi-script
+ </Directory> +

+ +

UserDirÀÌ public_htmlÀ̶ó°í + °¡Á¤Çϸé, ´ÙÀ½°ú °°ÀÌ ±× ¾È¿¡ ÀÖ´Â cgi ÇÁ·Î±×·¥ + example.cgi¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

+ +

+ http://example.com/~rbowen/cgi-bin/example.cgi +

+ +
top
+
+

»ç¿ëÀÚ°¡ ¼³Á¤À» º¯°æÇÒ ¼ö ÀÖµµ·Ï ¸¸µé±â

+ + +

»ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ À¥°ø°£¿¡ ´ëÇÑ À¥¼­¹ö ¼³Á¤À» ¼öÁ¤ÇÏ·Á¸é, + .htaccess ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. AllowOverride¸¦ »ç¿ëÀÚ°¡ ¼öÁ¤ÇÒ + ¼ö ÀÖ´Â Áö½Ã¾î¿¡ ÀûÇÕÇÑ °ªÀ¸·Î ¼³Á¤Ç϶ó. ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö¿¡ + ´ëÇÑ ÀÚ¼¼ÇÑ Á´º¸´Â .htaccess + ÅõÅ丮¾óÀ» Âü°íÇ϶ó.

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/public_html.html.tr.utf8 b/docs/manual/howto/public_html.html.tr.utf8 new file mode 100644 index 0000000..7c512a8 --- /dev/null +++ b/docs/manual/howto/public_html.html.tr.utf8 @@ -0,0 +1,229 @@ + + + + + +Kullanıcı Dizinleri (public_html) - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Kullanıcı Dizinleri (public_html)

+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Çok kullanıcılı sistemlerde, UserDir yönergesi ile her kullanıcının kendi ev dizininde + bir sitesi olması sağlanabilir. + http://example.com/~kullanıcı/ adresinin ziyaretçileri + "kullanıcı" isimli kullanıcının ev dizininin içeriğini değil, UserDir yönergesinde belirtilen alt + dizinin içeriğini görürler.

+ +

Öntanımlı olarak bu dizinlere erişimin etkin olmadığını unutmayınız. + UserDir yönergesini + kullanırken conf/httpd.conf öntanımlı yapılandırma + dosyasındaki

+ +
#Include conf/extra/httpd-userdir.conf
+ + +

satırını etkin hale getirip, gerekiyorsa httpd-userdir.conf + dosyasını da düzenleyerek veya ana yapılandırma dosyasında bir + <Directory> bloğu içine + uygun yönergeleri yerleştirerek bu dizinlere erişimi etkin hale + getirebilirsiniz.

+
+ +
top
+
top
+
+

UserDir ile dosya yolunun belirtilmesi

+ + +

UserDir yönergesinde + kullanıcı sayfalarının yükleneceği dizin belirtilir. Bu yönergeye değeri + çeşitli biçimlerde atanabilir.

+ +

Başında bölü çizgisi bulunmayan bir dosya yolu belirtilmişse, + kullanıcının ev dizinine göreli bir dizin belirtildiği varsayılır. + Yapılandırmada şöyle bir satır varsa:

+ +
UserDir public_html
+ + +

http://example.com/~orhan/dosya.html adresine karşılık + gelen dosya yolu /home/orhan/public_html/dosya.html olarak + çözümlenir.

+ +

Eğer başında bölü çizgisi bulunan bir dosya yolu belirtilirse, + kullanıcı sayfalarının bu dizinin altında kullanıcı ismini taşıyan + dizinlerde bulunacağı varsayılır. Yapılandırmada şöyle bir satır + varsa:

+ +
UserDir /var/html
+ + +

http://example.com/~orhan/dosya.html adresine karşılık + gelen dosya yolu /var/html/orhan/dosya.html olarak + çözümlenir.

+ +

Eğer belirtilen dosya yolu bir yıldız imi (*) içeriyorsa yıldız iminin + yerine kullanıcı ismi yerleştirilerek elde edilen dosya yolu + kullanılır. Yapılandırmada şöyle bir satır varsa:

+ +
UserDir /var/html/*/sayfam
+ + +

http://example.com/~orhan/dosya.html adresine karşılık + gelen dosya yolu /var/html/orhan/sayfam/dosya.html + olarak çözümlenir.

+ +

Çok sayıda dizin veya dizin yolu belirtmek de mümkündür.

+ +
UserDir public_html /var/html
+ + +

http://example.com/~orhan/dosya.html adresini Apache önce + /home/orhan/public_html/dosya.html olarak arayacak, + bulamazsa /var/siteler/orhan/sayfam/dosya.html olarak + arayacak, bulduğunda istenen dosyayı sunacaktır.

+ +
top
+
+

Harici adreslere yönlendirme

+ +

UserDir yönergesi + kullanıcı dizini isteklerini harici adreslere yönlendirmek için de + kullanılabilir.

+ +
UserDir http://example.org/users/*/
+ + +

Bu yapılandırmaya göre http://example.com/~bob/abc.html + için yapılan bir istek http://example.org/users/bob/abc.html + adresine yönlendirilecektir.

+
top
+
+

Bu özelliği kullanacak kullanıcıların sınırlandırılması

+ + +

UserDir yönergesinin + açıklamasında belirtilen sözdizimini kullanarak bu işlevselliği bazı + kullanıcılara yasaklayabilirsiniz:

+ +
UserDir disabled root ahmet veli
+ + +

Bu yapılandırma ile disabled deyiminin bulunduğu + satırdaki kullanıcılar dışında kalan bütün kullanıcılar için bu özellik + etkin olacaktır. Benzer şekilde, aşağıdaki yapılandırma ile + işlevselliğin belli kullanıcılar dışında kullanılmamasını da + sağlayabilirsiniz:

+ +
UserDir disabled
+UserDir enabled orhan yasar
+ + +

Daha fazla örnek için UserDir yönergesinin açıklamasına bakabilirsiniz.

+ +
top
+
+

Her kullanıcıya bir CGI dizini tahsis etmek

+ + +

Her kullanıcıya kendine ait bir CGI dizini vermek isterseniz, bir + <Directory> yönergesi + ile kullanıcının ev dizinindeki belli bir dizini CGI-etkin duruma + getirebilirsiniz.

+ +
<Directory "/home/*/public_html/cgi-bin/">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + +

UserDir yönergesinde + public_html belirtildiği varsayımıyla + mesela.cgi betiği bu dizinden şöyle bir adresle + yüklenebilir:

+ +

+ http://example.com/~orhan/cgi-bin/mesela.cgi +

+ +
top
+
+

Kullanıcıların yapılandırmayı değiştirmesine izin vermek

+ + +

Kullanıcıların kendilerine ayrılan bölge içinde sunucu + yapılandırmasını değiştirebilmelerine izin vermek isterseniz, + .htaccess dosyalarını kullanmalarına izin vermeniz + gerekir. Kullanıcının değiştirmesine izin vereceğiniz yönerge türlerini + AllowOverride yönergesinde + belirtmeyi ihmal etmeyin. .htaccess dosyalarının kullanımı + ile ilgili daha ayrıntılı bilgi için .htaccess + öğreticisine bakınız.

+ +
+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/reverse_proxy.html b/docs/manual/howto/reverse_proxy.html new file mode 100644 index 0000000..a89178e --- /dev/null +++ b/docs/manual/howto/reverse_proxy.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: reverse_proxy.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: reverse_proxy.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/howto/reverse_proxy.html.en b/docs/manual/howto/reverse_proxy.html.en new file mode 100644 index 0000000..27f8788 --- /dev/null +++ b/docs/manual/howto/reverse_proxy.html.en @@ -0,0 +1,360 @@ + + + + + +Reverse Proxy Guide - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Reverse Proxy Guide

+
+

Available Languages:  en  | + fr 

+
+ +

In addition to being a "basic" web server, and providing static and + dynamic content to end-users, Apache httpd (as well as most other web + servers) can also act as a reverse proxy server, also-known-as a + "gateway" server.

+ +

In such scenarios, httpd itself does not generate or host the data, + but rather the content is obtained by one or several backend servers, + which normally have no direct connection to the external network. As + httpd receives a request from a client, the request itself is proxied + to one of these backend servers, which then handles the request, generates + the content and then sends this content back to httpd, which then + generates the actual HTTP response back to the client.

+ +

There are numerous reasons for such an implementation, but generally + the typical rationales are due to security, high-availability, load-balancing + and centralized authentication/authorization. It is critical in these + implementations that the layout, design and architecture of the backend + infrastructure (those servers which actually handle the requests) are + insulated and protected from the outside; as far as the client is concerned, + the reverse proxy server is the sole source of all content.

+ +

A typical implementation is below:

+

reverse-proxy-arch

+ +
+ +
top
+
top
+
+

Simple reverse proxying

+ + +

+ The ProxyPass + directive specifies the mapping of incoming requests to the backend + server (or a cluster of servers known as a Balancer + group). The simplest example proxies all requests ("/") + to a single backend: +

+ +
ProxyPass "/"  "http://www.example.com/"
+ + +

+ To ensure that and Location: headers generated from + the backend are modified to point to the reverse proxy, instead of + back to itself, the ProxyPassReverse + directive is most often required: +

+ +
ProxyPass "/"  "http://www.example.com/"
+ProxyPassReverse "/"  "http://www.example.com/"
+ + +

Only specific URIs can be proxied, as shown in this example:

+ +
ProxyPass "/images"  "http://www.example.com/"
+ProxyPassReverse "/images"  "http://www.example.com/"
+ + +

In the above, any requests which start with the /images + path with be proxied to the specified backend, otherwise it will be handled + locally. +

+
top
+
+

Clusters and Balancers

+ + +

+ As useful as the above is, it still has the deficiencies that should + the (single) backend node go down, or become heavily loaded, that proxying + those requests provides no real advantage. What is needed is the ability + to define a set or group of backend servers which can handle such + requests and for the reverse proxy to load balance and failover among + them. This group is sometimes called a cluster but Apache httpd's + term is a balancer. One defines a balancer by leveraging the + <Proxy> and + BalancerMember directives as + shown: +

+ +
<Proxy balancer://myset>
+    BalancerMember http://www2.example.com:8080
+    BalancerMember http://www3.example.com:8080
+    ProxySet lbmethod=bytraffic
+</Proxy>
+
+ProxyPass "/images/"  "balancer://myset/"
+ProxyPassReverse "/images/"  "balancer://myset/"
+ + +

+ The balancer:// scheme is what tells httpd that we are creating + a balancer set, with the name myset. It includes 2 backend servers, + which httpd calls BalancerMembers. In this case, any requests for + /images will be proxied to one of the 2 backends. + The ProxySet directive + specifies that the myset Balancer use a load balancing algorithm + that balances based on I/O bytes. +

+ +

Hint

+

+ BalancerMembers are also sometimes referred to as workers. +

+
+ +
top
+
+

Balancer and BalancerMember configuration

+ + +

+ You can adjust numerous configuration details of the balancers + and the workers via the various parameters defined in + ProxyPass. For example, + assuming we would want http://www3.example.com:8080 to + handle 3x the traffic with a timeout of 1 second, we would adjust the + configuration as follows: +

+ +
<Proxy balancer://myset>
+    BalancerMember http://www2.example.com:8080
+    BalancerMember http://www3.example.com:8080 loadfactor=3 timeout=1
+    ProxySet lbmethod=bytraffic
+</Proxy>
+
+ProxyPass "/images"  "balancer://myset/"
+ProxyPassReverse "/images"  "balancer://myset/"
+ + +
top
+
+

Failover

+ + +

+ You can also fine-tune various failover scenarios, detailing which workers + and even which balancers should be accessed in such cases. For example, the + below setup implements three failover cases: +

+
    +
  1. + http://spare1.example.com:8080 and + http://spare2.example.com:8080 are only sent traffic if one + or both of http://www2.example.com:8080 or + http://www3.example.com:8080 is unavailable. (One spare + will be used to replace one unusable member of the same balancer set.) +
  2. +
  3. + http://hstandby.example.com:8080 is only sent traffic if + all other workers in balancer set 0 are not available. +
  4. +
  5. + If all load balancer set 0 workers, spares, and the standby + are unavailable, only then will the + http://bkup1.example.com:8080 and + http://bkup2.example.com:8080 workers from balancer set + 1 be brought into rotation. +
  6. +
+

+ Thus, it is possible to have one or more hot spares and hot standbys for + each load balancer set. +

+ +
<Proxy balancer://myset>
+    BalancerMember http://www2.example.com:8080
+    BalancerMember http://www3.example.com:8080 loadfactor=3 timeout=1
+    BalancerMember http://spare1.example.com:8080 status=+R
+    BalancerMember http://spare2.example.com:8080 status=+R
+    BalancerMember http://hstandby.example.com:8080 status=+H
+    BalancerMember http://bkup1.example.com:8080 lbset=1
+    BalancerMember http://bkup2.example.com:8080 lbset=1
+    ProxySet lbmethod=byrequests
+</Proxy>
+
+ProxyPass "/images/"  "balancer://myset/"
+ProxyPassReverse "/images/"  "balancer://myset/"
+ + +

+ For failover, hot spares are used as replacements for unusable workers in + the same load balancer set. A worker is considered unusable if it is + draining, stopped, or otherwise in an error/failed state. Hot standbys are + used if all workers and spares in the load balancer set are + unavailable. Load balancer sets (with their respective hot spares and + standbys) are always tried in order from lowest to highest. +

+ +
top
+
+

Balancer Manager

+ + +

+ One of the most unique and useful features of Apache httpd's reverse proxy is + the embedded balancer-manager application. Similar to + mod_status, balancer-manager displays + the current working configuration and status of the enabled + balancers and workers currently in use. However, not only does it + display these parameters, it also allows for dynamic, runtime, on-the-fly + reconfiguration of almost all of them, including adding new BalancerMembers + (workers) to an existing balancer. To enable these capability, the following + needs to be added to your configuration: +

+ +
<Location "/balancer-manager">
+    SetHandler balancer-manager
+    Require host localhost
+</Location>
+ + +

Warning

+

Do not enable the balancer-manager until you have secured your server. In + particular, ensure that access to the URL is tightly + restricted.

+
+ +

+ When the reverse proxy server is accessed at that url + (eg: http://rproxy.example.com/balancer-manager/, you will see a + page similar to the below: +

+

balancer-manager page

+ +

+ This form allows the devops admin to adjust various parameters, take + workers offline, change load balancing methods and add new works. For + example, clicking on the balancer itself, you will get the following page: +

+

balancer-manager page

+ +

+ Whereas clicking on a worker, displays this page: +

+

balancer-manager page

+ +

+ To have these changes persist restarts of the reverse proxy, ensure that + BalancerPersist is enabled. +

+ +
top
+
+

Dynamic Health Checks

+ + +

+ Before httpd proxies a request to a worker, it can "test" if that worker + is available via setting the ping parameter for that worker using + ProxyPass. Oftentimes it is + more useful to check the health of the workers out of band, in a + dynamic fashion. This is achieved in Apache httpd by the + mod_proxy_hcheck module. +

+ +
top
+
+

BalancerMember status flags

+ + +

+ In the balancer-manager the current state, or status, of a worker + is displayed and can be set/reset. The meanings of these statuses are as follows: +

+ + + + + + + + + + + + +
FlagStringDescription
 OkWorker is available
 InitWorker has been initialized
DDisWorker is disabled and will not accept any requests; will be + automatically retried.
SStopWorker is administratively stopped; will not accept requests + and will not be automatically retried
IIgnWorker is in ignore-errors mode and will always be considered available.
RSparWorker is a hot spare. For each worker in a given lbset that is unusable + (draining, stopped, in error, etc.), a usable hot spare with the same lbset will be used in + its place. Hot spares can help ensure that a specific number of workers are always available + for use by a balancer.
HStbyWorker is in hot-standby mode and will only be used if no other + viable workers or spares are available in the balancer set.
EErrWorker is in an error state, usually due to failing pre-request check; + requests will not be proxied to this worker, but it will be retried depending on + the retry setting of the worker.
NDrnWorker is in drain mode and will only accept existing sticky sessions + destined for itself and ignore all other requests.
CHcFlWorker has failed dynamic health check and will not be used until it + passes subsequent health checks.
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/reverse_proxy.html.fr.utf8 b/docs/manual/howto/reverse_proxy.html.fr.utf8 new file mode 100644 index 0000000..d9d634e --- /dev/null +++ b/docs/manual/howto/reverse_proxy.html.fr.utf8 @@ -0,0 +1,381 @@ + + + + + +Guide de configuration d'un mandataire inverse - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Guide de configuration d'un mandataire inverse

+
+

Langues Disponibles:  en  | + fr 

+
+ +

En plus de ses fonctions de serveur web "basique", à savoir fournir du + contenu statique et dynamique à l'utilisateur, Apache httpd (comme la + plupart des autres serveurs web) peut aussi assurer les fonctions de serveur + mandataire inverse, connu aussi sous le nom de serveur "passerelle".

+ +

Dans un tel scénario, httpd ne génère et n'héberge pas lui-même les + données, le contenu étant en général obtenu à partir d'un ou plusieurs serveurs + d'arrière-plan qui n'ont normalement aucune connexion directe avec le réseau + externe. Lorsque httpd reçoit une requête en provenance d'un client, la + requête proprement dite est mandatée vers un de ces serveurs + d'arrière-plan qui traite la requête, génère le contenu et l'envoie à httpd, + ce dernier générant la véritable réponse HTTP à destination du client.

+ +

De nombreuses raisons peuvent vous motiver à utiliser cette + fonctionnalité, mais elles sont souvent du domaine de la sécurité, de + la haute disponibilité, de la répartition de charge et de + l'authentification/autorisation centralisée. Il est alors indispensable que + l'organisation, la conception et l'architecture de l'infrastructure + d'arrière-plan (les serveurs qui traitent au sens propre les requêtes) soient + isolées et protégées de l'extérieur ; vu du client, le serveur mandataire + inverse est le seul serveur accessible pouvant lui fournir du + contenu.

+ +

Voici un exemple typique d'implémentation de cette fonctionnalité :

+

reverse-proxy-arch

+ +
+ +
top
+
+

Mandataire inverse

+ + +
top
+
+

Mandatement inverse simple

+ + +

+ La directive ProxyPass permet de + rediriger les requêtes entrantes vers un serveur d'arrière-plan (ou un + cluster de serveurs plus connu sous le nom de groupe + Balancer). Dans cet exemple le plus simple, toutes les + requêtes ("/") sont redirigées vers un serveur d'arrière-plan + unique : +

+ +
ProxyPass "/"  "http://www.example.com/"
+ + +

+ Pour être sur que cette redirection soit effectuée et que les en-têtes + Location: générés par le serveur d'arrière-plan soient + modifiés pour pointer vers le mandataire inverse, et non vers le serveur + d'arrière-plan, la directive ProxyPassReverse est souvent requise : +

+ +
ProxyPass "/"  "http://www.example.com/"
+ProxyPassReverse "/"  "http://www.example.com/"
+ + +

Seules des URIs spécifiques peuvent être mandatées, comme le montre + l'exemple suivant :

+ +
ProxyPass "/images"  "http://www.example.com/"
+ProxyPassReverse "/images"  "http://www.example.com/"
+ + +

Dans l'exemple précédent, si le chemin d'une requête commence par + /images, elle sera redirigée vers le serveur d'arrière-plan + spécifié ; dans le cas contraire, elle sera traitée localement. +

+
top
+
+

Clusters et Balancers

+ + +

+ Utiliser un serveur d'arrière-plan unique n'est cependant pas une solution + idéale car ce dernier peut devenir indisponible ou surchargé, et le + mandatement inverse vers ce serveur ne présente alors plus aucun avantage. + La solution réside dans la définition d'un groupe de serveurs + d'arrière-plan qui vont se partager le traitement des requêtes via un + mécanisme de répartition de charge et de gestion des indisponibilités pris + en charge par le mandataire. Ce groupe de répartition est plus connu sous le nom de + cluster, mais dans la terminologie d'Apache httpd, on utilise + plutôt le terme de balancer. Un balancer se définit en + utilisant les directives <Proxy> et BalancerMember comme suit : +

+ +
<Proxy balancer://myset>
+    BalancerMember http://www2.example.com:8080
+    BalancerMember http://www3.example.com:8080
+    ProxySet lbmethod=bytraffic
+</Proxy>
+
+ProxyPass "/images/"  "balancer://myset/"
+ProxyPassReverse "/images/"  "balancer://myset/"
+ + +

+ Le protocole balancer:// indique à httpd que l'on souhaite + créer un balancer nommé myset. Ce balancer comporte deux serveurs + d'arrière-plan référencés dans la terminologie httpd sous le nom de + BalancerMembers. Avec cet exemple, toute requête dont le chemin + commence par /images sera mandatée vers un des deux + serveurs d'arrière-plan. La directive ProxySet définit ici pour le balancer + myset un algorithme de + répartition de charge basé sur le trafic entrées/sorties. +

+ +

Remarque

+

+ Les BalancerMembers sont aussi souvent référencés sous le terme + workers. +

+
+ +
top
+
+

Configuration du Balancer et des BalancerMembers

+ + +

+ Vous pouvez configurer de manière détaillée les balancers et + workers via les nombreux paramètres de la directive ProxyPass. Par exemple, si vous souhaitez + que http://www3.example.com:8080 traite avec un facteur 3 le + trafic avec un timeout d'une seconde, utilisez la configuration suivante : +

+ +
<Proxy balancer://myset>
+    BalancerMember http://www2.example.com:8080
+    BalancerMember http://www3.example.com:8080 loadfactor=3 timeout=1
+    ProxySet lbmethod=bytraffic
+</Proxy>
+
+ProxyPass "/images"  "balancer://myset/"
+ProxyPassReverse "/images"  "balancer://myset/"
+ + +
top
+
+

Gestion des indisponibilités (Failover)

+ + +

+ Vous pouvez aussi définir finement des scénarios pour les cas + d'indisponibilité d'un ou plusieurs serveurs d'arrière-plan en spécifiant + quels serveurs doivent alors prendre le relai. Dans l'exemple suivant, + trois scénarios sont envisagés : +

+
    +
  1. + http://spare1.example.com:8080 et + http://spare2.example.com:8080 ne sont sollicités que si + http://www2.example.com:8080 ou + http://www3.example.com:8080 est indisponible (un serveur + de remplacement sera utilisé à la place d'un membre indisponible du même + jeu de serveurs cibles). +
  2. +
  3. + http://hstandby.example.com:8080 n'est sollicité que si + tous les autres serveurs cibles du jeu de serveurs 0 sont + indisponibles. +
  4. +
  5. + Les serveurs http://bkup1.example.com:8080 et + http://bkup2.example.com:8080 du jeu 1 ne seront sollicités que si + tous les serveurs du jeu 0, tous les serveurs de + remplacement et tous les serveurs de standby sont indisponibles. +
  6. +
+

+ Il est ainsi possible de définir un ou plusieurs serveurs de remplacement + ou de standby pour chaque jeu de serveurs du répartiteur de charge. +

+ +
<Proxy balancer://myset>
+    BalancerMember http://www2.example.com:8080
+    BalancerMember http://www3.example.com:8080 loadfactor=3 timeout=1
+    BalancerMember http://spare1.example.com:8080 status=+R
+    BalancerMember http://spare2.example.com:8080 status=+R
+    BalancerMember http://hstandby.example.com:8080 status=+H
+    BalancerMember http://bkup1.example.com:8080 lbset=1
+    BalancerMember http://bkup2.example.com:8080 lbset=1
+    ProxySet lbmethod=byrequests
+</Proxy>
+
+ProxyPass "/images/"  "balancer://myset/"
+ProxyPassReverse "/images/"  "balancer://myset/"
+ + +

+ Les serveurs de remplacement à chaud remplacent les serveurs indisponibles + du même jeu de serveurs du répartiteur de charge. Un serveur est + considéré comme indisponible s'il est en maintenance, arrêté ou en erreur. + Les serveurs de standby à chaud sont utilisés si tous les serveurs et + serveurs de remplacement du jeu de serveurs du répartiteur de charge sont + indisponibles. Les jeux de serveurs du répartiteur de charge (avec leurs + serveurs de standby et de remplacement à chaud respectifs) sont toujours + sollicités dans l'ordre du plus bas lbset vers le plus haut. +

+ +
top
+
+

Gestion du répartiteur de charge

+ + +

+ L'application balancer-manager fournie avec le mandataire inverse + d'Apache httpd en est un des outils les plus utiles. Comme + mod_status, balancer-manager affiche la + configuration et l'activité actuelles des balancers actifs. L'affichage de + ces informations n'est cependant pas sa seule fonction ; il permet aussi de + modifier la plupart d'entre elles et même d'ajouter des membres au groupe + de répartition de charge en temps réel. Pour activer ces fonctionnalités, + vous devez ajouter les lignes suivantes à votre fichier de configuration : +

+ +
<Location "/balancer-manager">
+    SetHandler balancer-manager
+    Require host localhost
+</Location>
+ + +

Avertissement

+

N'activez le balancer-manager que si vous avez déjà sécurisé votre serveur. + Assurez-vous en particulier que l'accès à l'URL soit fortement restreint.

+
+ +

+ Lorsque vous accédez au serveur mandataire avec une adresse du style + http://rproxy.example.com/balancer-manager/, la page suivante + s'affiche : +

+

balancer-manager page

+ +

+ Ce formulaire permet à l'administrateur de modifier certains paramètres, + de désactiver ou d'ajouter certains serveurs d'arrière-plan, et de + modifier les règles de répartition de charge. Par exemple, si on clique + sur le répartiteur, la page suivante s'affiche : +

+

balancer-manager page

+ +

+ Si on clique sur un membre du groupe de répartition de charge, la page + suivante s'affiche : +

+

balancer-manager page

+ +

+ Si vous souhaitez que ces modifications soient conservées après un + redémarrage du serveur, assurez-vous que la directive BalancerPersist soit définie à On. +

+ +
top
+
+

Vérification dynamique du bon fonctionnement d'un serveur + d'arrière-plan

+ + +

+ Avant que le mandataire httpd ne fasse appel à un serveur d'arrière-plan, il + peut "tester" si ce dernier est disponible en définissant le + paramètre ping de ce serveur via la directive ProxyPass. Cependant, il est souvent plus + judicieux de vérifier le bon fonctionnement d'un serveur hors + bande et de manière dynamique via le module + mod_proxy_hcheck d'Apache httpd. +

+ +
top
+
+

Drapeaux d'état d'un membre du groupe de répartition de charge

+ + +

+ balancer-manager permet d'afficher et de modifier l'état d'un + membre du groupe de répartition de charge. Les différents états et leurs + significations sont les suivants : +

+ + + + + + + + + + + + +
DrapeauSigleDescription
 OkLe serveur est disponible
 InitLe serveur a été initialisé
DDisLe serveur est + désactivé et n'accepte aucune requête ; il sera retesté automatiquement.
SStopLe serveur a été + arrêté par l'administrateur ; il n'accepte aucune requête et il ne sera + pas retesté automatiquement.
IIgnLes erreurs + concernant ce serveur sont ignorées et il sera donc toujours considéré + comme disponible.
RSparLe serveur cible sert de remplaçant à + chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable + (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à + chaud libre de même lbset sera utilisé à sa place. Les remplaçants à + chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles + sera toujours disponible pour un répartiteur de charge.
HStbyLe serveur est en + mode hot-standby et ne sera donc utilisé que si aucun autre serveur ou + serveur de remplacement n'est disponible dans le jeu de serveurs du + répartiteur de charge.
EErrLe serveur est en + erreur, en général suite à un test préalable à une requête ; aucune + requête ne lui sera soumise, mais il sera retesté en fonction de la + valeur de son paramètre retry.
NDrnLe serveur est en + mode drain ; il n'acceptera de requêtes que dans le cadre des sessions + persistantes qui lui sont réservées et ignorera toutes les autres.
CHcFlLe serveur a échoué + au test dynamique de bon fonctionnement et ne sera utilisé que lorsqu'il + aura réussi un test ultérieur.
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/ssi.html b/docs/manual/howto/ssi.html new file mode 100644 index 0000000..e3d279f --- /dev/null +++ b/docs/manual/howto/ssi.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ssi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: ssi.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: ssi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: ssi.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: ssi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/howto/ssi.html.en b/docs/manual/howto/ssi.html.en new file mode 100644 index 0000000..53ea265 --- /dev/null +++ b/docs/manual/howto/ssi.html.en @@ -0,0 +1,503 @@ + + + + + +Apache httpd Tutorial: Introduction to Server Side Includes - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache httpd Tutorial: Introduction to Server Side Includes

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko 

+
+ +

Server-side includes provide a means to add dynamic content to +existing HTML documents.

+
+ +
top
+
+

Introduction

+ + +

This article deals with Server Side Includes, usually called + simply SSI. In this article, I'll talk about configuring your + server to permit SSI, and introduce some basic SSI techniques + for adding dynamic content to your existing HTML pages.

+ +

In the latter part of the article, we'll talk about some of + the somewhat more advanced things that can be done with SSI, + such as conditional statements in your SSI directives.

+ +
top
+
+

What are SSI?

+ +

SSI (Server Side Includes) are directives that are placed in + HTML pages, and evaluated on the server while the pages are + being served. They let you add dynamically generated content to + an existing HTML page, without having to serve the entire page + via a CGI program, or other dynamic technology.

+ +

For example, you might place a directive into an existing HTML + page, such as:

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

And, when the page is served, this fragment will be evaluated and replaced with its value:

+ +

+ Tuesday, 15-Jan-2013 19:28:54 EST +

+ +

The decision of when to use SSI, and when to have your page + entirely generated by some program, is usually a matter of how + much of the page is static, and how much needs to be + recalculated every time the page is served. SSI is a great way + to add small pieces of information, such as the current time - shown + above. But if a majority of your page is being generated at the time + that it is served, you need to look for some other solution.

+
top
+
+

Configuring your server to permit SSI

+ + +

To permit SSI on your server, you must have the following + directive either in your httpd.conf file, or in a + .htaccess file:

+
Options +Includes
+ + +

This tells Apache that you want to permit files to be parsed + for SSI directives. Note that most configurations contain + multiple Options directives + that can override each other. You will probably need to apply the + Options to the specific directory where you want SSI + enabled in order to assure that it gets evaluated last.

+ +

Not just any file is parsed for SSI directives. You have to + tell Apache which files should be parsed. There are two ways to + do this. You can tell Apache to parse any file with a + particular file extension, such as .shtml, with + the following directives:

+
AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ + +

One disadvantage to this approach is that if you wanted to + add SSI directives to an existing page, you would have to + change the name of that page, and all links to that page, in + order to give it a .shtml extension, so that those + directives would be executed.

+ +

The other method is to use the XBitHack directive:

+
XBitHack on
+ + +

XBitHack + tells Apache to parse files for SSI + directives if they have the execute bit set. So, to add SSI + directives to an existing page, rather than having to change + the file name, you would just need to make the file executable + using chmod.

+

+ chmod +x pagename.html +

+ +

A brief comment about what not to do. You'll occasionally + see people recommending that you just tell Apache to parse all + .html files for SSI, so that you don't have to + mess with .shtml file names. These folks have + perhaps not heard about XBitHack. The thing to + keep in mind is that, by doing this, you're requiring that + Apache read through every single file that it sends out to + clients, even if they don't contain any SSI directives. This + can slow things down quite a bit, and is not a good idea.

+ +

Of course, on Windows, there is no such thing as an execute + bit to set, so that limits your options a little.

+ +

In its default configuration, Apache does not send the last + modified date or content length HTTP headers on SSI pages, + because these values are difficult to calculate for dynamic + content. This can prevent your document from being cached, and + result in slower perceived client performance. There are two + ways to solve this:

+ +
    +
  1. Use the XBitHack Full configuration. This + tells Apache to determine the last modified date by looking + only at the date of the originally requested file, ignoring + the modification date of any included files.
  2. + +
  3. Use the directives provided by + mod_expires to set an explicit expiration + time on your files, thereby letting browsers and proxies + know that it is acceptable to cache them.
  4. +
+
top
+
+

Basic SSI directives

+ +

SSI directives have the following syntax:

+

+ <!--#function attribute=value attribute=value ... --> +

+ +

It is formatted like an HTML comment, so if you don't have + SSI correctly enabled, the browser will ignore it, but it will + still be visible in the HTML source. If you have SSI correctly + configured, the directive will be replaced with its + results.

+ +

The function can be one of a number of things, and we'll talk + some more about most of these in the next installment of this + series. For now, here are some examples of what you can do with + SSI

+ +

Today's date

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

The echo function just spits out the value of a + variable. There are a number of standard variables, which + include the whole set of environment variables that are + available to CGI programs. Also, you can define your own + variables with the set function.

+ +

If you don't like the format in which the date gets printed, + you can use the config function, with a + timefmt attribute, to modify that formatting.

+ +

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Today is <!--#echo var="DATE_LOCAL" --> +

+ + +

Modification date of the file

+ +

+ This document last modified <!--#flastmod file="index.html" --> +

+ +

This function is also subject to timefmt format + configurations.

+ + +

Including the results of a CGI program

+ +

This is one of the more common uses of SSI - to output the + results of a CGI program, such as everybody's favorite, a ``hit + counter.''

+ +

+ <!--#include virtual="/cgi-bin/counter.pl" --> +

+ + +
top
+
+

Additional examples

+ + +

Following are some specific examples of things you can do in + your HTML documents with SSI.

+ +

When was this document +modified?

+ +

Earlier, we mentioned that you could use SSI to inform the + user when the document was most recently modified. However, the + actual method for doing that was left somewhat in question. The + following code, placed in your HTML document, will put such a + time stamp on your page. Of course, you will have to have SSI + correctly enabled, as discussed above.

+

+ <!--#config timefmt="%A %B %d, %Y" -->
+ This file last modified <!--#flastmod file="ssi.shtml" --> +

+ +

Of course, you will need to replace the + ssi.shtml with the actual name of the file that + you're referring to. This can be inconvenient if you're just + looking for a generic piece of code that you can paste into any + file, so you probably want to use the + LAST_MODIFIED variable instead:

+

+ <!--#config timefmt="%D" -->
+ This file last modified <!--#echo var="LAST_MODIFIED" --> +

+ +

For more details on the timefmt format, go to + your favorite search site and look for strftime. The + syntax is the same.

+ + +

Including a standard footer

+ + +

If you are managing any site that is more than a few pages, + you may find that making changes to all those pages can be a + real pain, particularly if you are trying to maintain some kind + of standard look across all those pages.

+ +

Using an include file for a header and/or a footer can + reduce the burden of these updates. You just have to make one + footer file, and then include it into each page with the + include SSI command. The include + function can determine what file to include with either the + file attribute, or the virtual + attribute. The file attribute is a file path, + relative to the current directory. That means that it + cannot be an absolute file path (starting with /), nor can it + contain ../ as part of that path. The virtual + attribute is probably more useful, and should specify a URL + relative to the document being served. It can start with a /, + but must be on the same server as the file being served.

+

+ <!--#include virtual="/footer.html" --> +

+ +

I'll frequently combine the last two things, putting a + LAST_MODIFIED directive inside a footer file to be + included. SSI directives can be contained in the included file, + and includes can be nested - that is, the included file can + include another file, and so on.

+ + +
top
+
+

What else can I config?

+ + +

In addition to being able to config the time + format, you can also config two other things.

+ +

Usually, when something goes wrong with your SSI directive, + you get the message

+

+ [an error occurred while processing this directive] +

+ +

If you want to change that message to something else, you + can do so with the errmsg attribute to the + config function:

+

+ <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +

+ +

Hopefully, end users will never see this message, because + you will have resolved all the problems with your SSI + directives before your site goes live. (Right?)

+ +

And you can config the format in which file + sizes are returned with the sizefmt attribute. You + can specify bytes for a full count in bytes, or + abbrev for an abbreviated number in Kb or Mb, as + appropriate.

+
top
+
+

Executing commands

+ + +

Here's something else that you can do with the exec + function. You can actually have SSI execute a command using the + shell (/bin/sh, to be precise - or the DOS shell, + if you're on Win32). The following, for example, will give you + a directory listing.

+

+ <pre>
+ <!--#exec cmd="ls" -->
+ </pre> +

+ +

or, on Windows

+

+ <pre>
+ <!--#exec cmd="dir" -->
+ </pre> +

+ +

You might notice some strange formatting with this directive + on Windows, because the output from dir contains + the string ``<dir>'' in it, which confuses + browsers.

+ +

Note that this feature is exceedingly dangerous, as it will + execute whatever code happens to be embedded in the + exec tag. If you have any situation where users + can edit content on your web pages, such as with a + ``guestbook'', for example, make sure that you have this + feature disabled. You can allow SSI, but not the + exec feature, with the IncludesNOEXEC + argument to the Options directive.

+
top
+
+

Advanced SSI techniques

+ + +

In addition to spitting out content, Apache SSI gives you + the option of setting variables, and using those variables in + comparisons and conditionals.

+ +

Setting variables

+ +

Using the set directive, you can set variables + for later use. We'll need this later in the discussion, so + we'll talk about it here. The syntax of this is as follows:

+

+ <!--#set var="name" value="Rich" --> +

+ +

In addition to merely setting values literally like that, you + can use any other variable, including environment variables or the variables + discussed above (like LAST_MODIFIED, for example) to + give values to your variables. You will specify that something is + a variable, rather than a literal string, by using the dollar sign + ($) before the name of the variable.

+ +

<!--#set var="modified" value="$LAST_MODIFIED" --> +

+ +

To put a literal dollar sign into the value of your + variable, you need to escape the dollar sign with a + backslash.

+

+ <!--#set var="cost" value="\$100" --> +

+ +

Finally, if you want to put a variable in the midst of a + longer string, and there's a chance that the name of the + variable will run up against some other characters, and thus be + confused with those characters, you can place the name of the + variable in braces, to remove this confusion. (It's hard to + come up with a really good example of this, but hopefully + you'll get the point.)

+

+ <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +

+ + +

Conditional expressions

+ + +

Now that we have variables, and are able to set and compare + their values, we can use them to express conditionals. This + lets SSI be a tiny programming language of sorts. + mod_include provides an if, + elif, else, endif + structure for building conditional statements. This allows you + to effectively generate multiple logical pages out of one + actual page.

+ +

The structure of this conditional construct is:

+

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

A test_condition can be any sort of logical + comparison - either comparing values to one another, or testing + the ``truth'' of a particular value. (A given string is true if + it is nonempty.) For a full list of the comparison operators + available to you, see the mod_include + documentation.

+ +

For example, if you wish to customize the text on your web page + based on the time of day, you could use the following recipe, placed + in the HTML page:

+ +

+ Good + <!--#if expr="%{TIME_HOUR} <12" -->
+ morning!
+ <!--#else -->
+ afternoon!
+ <!--#endif -->
+

+ +

Any other variable (either ones that you define, or normal + environment variables) can be used in conditional statements. + See Expressions in Apache HTTP Server for + more information on the expression evaluation engine.

+ +

With Apache's ability to set environment variables with the + SetEnvIf directives, and other related directives, + this functionality can let you do a wide variety of dynamic content + on the server side without resorting a full web application.

+ +
top
+
+

Conclusion

+ +

SSI is certainly not a replacement for CGI, or other + technologies used for generating dynamic web pages. But it is a + great way to add small amounts of dynamic content to pages, + without doing a lot of extra work.

+
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/ssi.html.es b/docs/manual/howto/ssi.html.es new file mode 100644 index 0000000..1b5eebf --- /dev/null +++ b/docs/manual/howto/ssi.html.es @@ -0,0 +1,361 @@ + + + + + +Tutorial de Apache httpd: Introducción a los Server Side Includes + - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Tutorial de Apache httpd: Introducción a los Server Side Includes +

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+ +

Los Server Side Includes (Inclusiones en la parte Servidor) facilitan un método para añadir contenido dinámico a documentos HTML existentes.

+
+ +
top
+
+

Introducción

+ + +

Este artículo trata sobre los Server Side Includes, generalmente llamados SSI. + En este artículo, hablaremos sobre cómo configurar su servidor para permitir SSI, + y de técnicas básicas de SSI para añadir contenido dinámico a sus páginas + HTML existentes.

+ +

Más adelante también hablaremos de algunas técnicas más avanzadas que + pueden usarse con SSI, tales como declaraciones condicionales en sus directivas SSI.

+ +
top
+
+

¿Qué son los SSI?

+ +

SSI (Server Side Includes) son directivas que se introducen en páginas HTML y son + evaluadas por el servidor mientras éste las sirve. Le permiten añadir + contenido generado de manera dinámica a sus páginas HTML existentes sin tener + que servir una página entera a través de un programa CGI, u otra tecnología + para generar contenido dinámico.

+ +

Por ejemplo, podría colocar una directiva en una página existente de HTML + de esta manera:

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

Y, cuando se sirve la página, este fragmento será evaluado y sustituido con su resultado:

+ +

+ Tuesday, 15-Jan-2013 19:28:54 EST +

+ +

La decisión sobre cuándo usar SSI, o de cuándo generar una página al completo con algún programa, suele depender generalmente de la cantidad de contenido estático que contiene, y cuánto de esa página tiene que ser recalculado cada vez que ésta se sirve. SSI es un buen método para añadir pequeñas partes de información, tales como la hora actual - como se ha mostrado más arriba. Pero si la mayoría de su página se tiene que generar en el momento en el que se está sirviendo, necesita buscar otra opción más adecuada que no sea SSI.

+
top
+
+

Configurar su servidor para permitir SSI

+ + +

Para permitir SSI en su servidor, debe tener la siguiente directiva en su fichero httpd.conf , o en un fichero + .htaccess:

+
Options +Includes
+ + +

Esto le dice a Apache que quiere permitir que se examinen los ficheros buscando directivas SSI. Tenga en cuenta que la mayoría de las configuraciones contienen múltiples directivas Options que pueden sobreescribirse las unas a las otras. Probablemente necesitará aplicar Options al directorio específico donde quiere SSI activado para asegurarse de que se evalúa en último lugar y por tanto se acabará aplicando.

+ +

No todos los ficheros se examinan buscando directivas SSI. Usted Le tiene que indicar a Apache qué ficheros se tienen que examinar. Hay dos formas de hacer esto. Puede decirle a Apache que examine cualquier fichero con una extensión determinada, como por ejemplo .shtml, con las siguientes directivas:

+
AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ + +

Una desventaja de este método es que si quisiera añadir directivas SSI a una página ya existente, tendría que cambiar el nombre de la página, y todos los enlaces que apuntasen a esa página, todo para poder darle la extensión .shtml y que esas directivas sean interpretadas.

+ +

El otro método es usar la directiva XBitHack :

+
XBitHack on
+ + +

XBitHack le dice a Apache que examine ficheros buscando directivas SSI si los ficheros tienen el bit de ejecución configurado. Asi que para añadir directivas SSI a una página existente, en lugar de tener que cambiarle el nombre, solo tendría que convertirla en ejecutable usando chmod.

+

+ chmod +x pagename.html +

+ +

Una breve recomendación de qué no hay que hacer. Ocasionalmente vemos gente recomendar que le diga a Apache que examine todos los ficheros + .html para activar SSI, para no tener que lidiar renombrando los ficheros a .shtml. Quizás estas personas no hayan oido hablar de XBitHack. Lo que hay que tener en cuenta, es que haciendo eso, está pidiendo al Apache que lea cada uno de los ficheros que manda al cliente, incluso si no contenien directivas SSI. Esto puede ralentizar bastante el servidor, y no es una buena idea.

+ +

Por supuesto, en Windows, no hay tal cosa como la configuración del bit de ejecución, así que esto limita las opciones un poco.

+ +

En su configuración por defecto, Apache no envía la fecha de última modificación o la longitud de contenido de páginas SSI porque es dificil calcular estos valores para contenido dinámico. Esto puede impedir que se cachee un documento, y dar como resultado en apareciencia un rendimiento más lento del cliente. Hay dos maneras de solucionar esto:

+ +
    +
  1. Usando la configuración XBitHack Full. Esto le indica a apache que determine la fecha de última modificación mirando sólo la fecha del fichero que se ha solicitado originalmente, obviando la modificación de cualquier otro fichero al que se hace referencia mediante SSI.
  2. + +
  3. Use las directivas facilitadas por mod_expires para configurar una expiración específica de tiempo en sus ficheros, y así hacer saber a proxies o navegadores web que es aceptable cachearlos.
  4. +
+
top
+
+

Directivas SSI básicas

+ +

Las directivas SSI tienen la sintaxis siguiente:

+

+ <!--#function attribute=value attribute=value ... --> +

+ +

Se formatean como comentarios HTML, así si no tiene SSI habilitado correctamente, el navegador las obviará, pero todavía serán visibles en el fichero HTML. Si tiene SSI configurado correctamente, la directiva será reemplazada con su propio resultado.

+ +

Esta función es una de tantas, y hablaremos de algunas de ellas más adelante. Por ahora, aquí mostramos unos ejemplos de lo que puede hacer con SSI.

+ +

La fecha de hoy

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

La función echo sencillamente muestra el valor de una variable. Hay muchas variables estándar que incluyen un conjunto de variables de entorno disponibles para programas CGI. También puede definir sus propias variables con la función set.

+ +

Si no le gusta el formato en el que se imprime la fecha, puede usar la función config, con un atributo + timefmt para modificar ese formato.

+ +

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Today is <!--#echo var="DATE_LOCAL" --> +

+ + +

Fecha de modificación del fichero

+ +

+ La última modificación de este documento <!--#flastmod file="index.html" --> +

+ +

Esta función también está sujeta a configuraciones de formato de + timefmt.

+ + +

Incluyendo los resultados de un programa CGI

+ +

Este es uno de los usos más comunes de SSI - para sacar el resultado de un programa CGI, tal y como ocurre con el que fuera el programa favorito de todos, un ``contador de visitas.''

+ +

+ <!--#include virtual="/cgi-bin/counter.pl" --> +

+ + +
top
+
+

Más ejemplos

+ + +

A continuación hay algunos ejemplos específicos de cosas que puede hacer con SSI en sus documentos HTML.

+ +

¿Cuándo fue modificado este documento?

+ +

Antes mencionamos que puede usar SSI para informar al usuario cuando el documento ha sido modificado por última vez. Aun así, el método actual para hacerlo se dejó en cuestión. El código que se muestra a continuación, puesto en un documento HTML, pondrá ese sello de tiempo en su página. Por descontado, tendrá que tener SSI habilitado correctamente, como se indicó más arriba.

+

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Ultima modificación de este fichero <!--#flastmod file="ssi.shtml" --> +

+ +

Obviamente, necesitará sustituir el nombre de fichero + ssi.shtml con el nombre real del fichero al que usted hace referencia. Esto puede ser inconveniente si solo está buscando un trozo genérico de código que pueda copiar y pegar en cualquier fichero, asi que probablemente necesite usar la variable LAST_MODIFIED en su lugar:

+

+ <!--#config timefmt="%D" -->
+ Última modificación de este fichero <!--#echo var="LAST_MODIFIED" --> +

+ +

Para más detalles sobre el formato timefmt, vaya a su buscador favorito y busque strftime. La sintaxis es la misma.

+ + +

Incluyendo un pie de página estándar

+ + +

Si gestiona un sitio que tiene más de unas cuantas páginas, probablemente se de cuenta de que modificar todas esa páginas es un auténtico engorro, especialmente si trata de mantener una apareciencia homogénea en todas ellas.

+ +

Si usa un Include de fichero para la cabecera y/o pie de página puede reducir la carga de trabajo de estas actualizaciones. Solo tiene que hacer un sólo pie de página, y después incluirlo en cada página con el comando SSI include. La función include + puede determinar qué fichero incluir cuando usa el atributo + file, o el atributo virtual. El atributo file es una ruta de fichero, relativa al directorio actual. Eso significa que no puede ser una ruta de fichero absoluta (que comienza con /), ni tampoco puede contener ../ como parte de la ruta. El atributo virtual es probablemente más útil, y debería especificar una URL relativa al documento que se está sirviendo. Puede empezar con una /, pero debe estar en el mismo servidor que el fichero que se está sirviendo.

+

+ <!--#include virtual="/footer.html" --> +

+ +

Frecuentemente combinaremos las dos últimas, poniendo una directiva + LAST_MODIFIED dentro de un fichero de pie de página que va a ser incluido. Se pueden encontrar directivas SSI en el fichero que se incluye, las inclusiones pueden anidarse - lo que quiere decir, que el fichero incluido puede incluir otro fichero, y así sucesivamente.

+ + +
top
+
+

¿Qué más puedo configurar?

+ + +

Además de poder configurar el formato de la hora, también puede configurar dos cosas más.

+ +

Generalmente, cuando algo sale mal con sus directivas SSI, obtiene el mensaje (ha ocurrido un error procesando esta directiva)

+

+ [an error occurred while processing this directive] +

+ +

Si quiere cambiar ese mensaje por otra cosa, puede hacerlo con el atributo errmsg para la función + config:

+

+ <!--#config errmsg="[Parece que no sabe cómo usar SSI]" --> +

+ +

Afortunadamente, los usuarios finales nunca verán este mensaje, porque habrá resuelto todos los problemas con sus directivas SSI antes de publicar su página web. (¿Verdad?)

+ +

Y puede configurar el formato en el que los tamaños de fichero se muestran con el formato sizefmt. Puede especificar + bytes para un recuento total en bytes, o + abbrev para un número abreviado en Kb o Mb, según sea necesario.

+
top
+
+

Ejecutando comandos

+ + +

Puede usar la función exec para ejecutar comandos. Y SSI puede ejecutar un comando usando la shell (/bin/sh, para ser más precisos - o la shell de DOS , si está en Win32). Lo siguiente, por ejemplo, le dará un listado de ficheros en un directorio.

+

+ <pre>
+ <!--#exec cmd="ls" -->
+ </pre> +

+ +

o, en Windows

+

+ <pre>
+ <!--#exec cmd="dir" -->
+ </pre> +

+ +

Notará un formato estraño con esta directiva en Windows, porque el resultado de dir contiene la cadena de caracterers ``<dir>'' ,que confunde a los navegadores.

+ +

Tenga en cuenta de que esta característica es muy peligrosa, puesto que ejecutará cualquier código que esté especificado con la etiqueta + exec. Si tiene una situación en la que los usuarios pueden editar contenido en sus páginas web, tales como por ejemplo un ``registro de visitas'', asegúrese de tener esta característica deshabilitada. Puede permitir SSI, pero no la característica exec, con el argumento IncludesNOEXEC en la directiva Options.

+
top
+
+

Técnicas avanzadas de SSI

+ + +

Además de mostrar contenido, SSI en Apache da la opción de configurar variables y usar esas variables en comparaciones y condicionales.

+ +

Configurando Variables

+ +

Usando la directiva set, puede configurar variables para su uso posterior. La sintaxis es como sigue:

+

+ <!--#set var="name" value="Rich" --> +

+ +

Además de configurar valores literales como esto, puede usar cualquier otra variable, incluyendo variables de entorno o las variables que se han mencionado antes (como por ejemplo LAST_MODIFIED) para dar valores a sus variables. Podrá especificar que algo es una vaiable, en lugar de una cadena de caracters literal, usando el símbolo del dolar ($) antes del nombre de la variable.

+ +

<!--#set var="modified" value="$LAST_MODIFIED" --> +

+ +

Para poner el símbolo del dolar de manera literal en un valor de su variable tendrá que escapar el símbolo del dolar con una barra "\".

+

+ <!--#set var="cost" value="\$100" --> +

+ +

Por último, si quiere poner una variable entre medias de una cadena de caracteres más larga, y se da la coincidencia de que el nombre de la variable se encontrará con otros caracteres, y de esta manera se confundirá con otros caracteres, puedes poner el nombre de la variable entre llaves, y así eliminar la confusión. (Es dificil encontrar un buen ejemplo para esto, pero con éste a lo mejor entiende lo que tratamos de transmitir.)

+

+ <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +

+ + +

Expresiones condicionales

+ + +

Ahora que tenemos variables, y somos capaces de comparar sus valores, podemos usarlas para expresar condicionales. Esto permite a SSI ser un cierto tipo de lenguaje de programación diminuto. + mod_include provee una estrucura if, + elif, else, endif + para construir declaraciones condicionales. Esto le permite generar de manera efectiva multitud de páginas lógicas desde tan solo una página.

+ +

La estructura de este sistema condicional es:

+

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

Una test_condition puede ser cualquier tipo de comparación lógica - o bien comparando valores entre ellos, o probando la ``verdad'' (o falsedad) de un valor en particular. (Una cadena de caracteres cualquiera es verdadera si no está vacía.) Para una lista completa de operadores de comparación, vea la documentación de mod_include.

+ +

Por ejemplo, si quiere personalizar el texto en su página web basado en la hora actual, puede usar la siguiente receta, colocada en su página HTML:

+ +

+ Good + <!--#if expr="%{TIME_HOUR} <12" -->
+ morning!
+ <!--#else -->
+ afternoon!
+ <!--#endif -->
+

+ +

Cualquier otra variable (o bien las que defina usted, o variables de entorno normales) puede usarse en declaraciones condicionales. + Vea Expresiones en el Servidor Apache HTTP para más información sobre el motor de evaluación de expresiones.

+ +

Con la habilidad de Apache de configurar variables de entorno con directivas SetEnvIf, y otras directivas relacionadas, + esta funcionalidad puede llevarle a hacer una gran variedad de contenido dinámico en la parte de servidor sin tener que depender de una aplicación web al completo.

+ +
top
+
+

Conclusión

+ +

Desde luego SSI no es un reemplazo para CGI u otras tecnologías que se usen para generar páginas web dinámicas. Pero es un gran método para añadir pequeñas cantidaddes de contenido dinámico a páginas web, sin hacer mucho más trabajo extra.

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/ssi.html.fr.utf8 b/docs/manual/howto/ssi.html.fr.utf8 new file mode 100644 index 0000000..a5bfcf6 --- /dev/null +++ b/docs/manual/howto/ssi.html.fr.utf8 @@ -0,0 +1,518 @@ + + + + + +Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur" +(Server Side Includes - SSI) - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur" +(Server Side Includes - SSI)

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+ +

Les SSI permettent d'ajouter du contenu dynamique à des documents +HTML préexistants.

+
+ +
top
+
+

Introduction

+ + +

Cet article traite des Inclusions Côté Serveur (Server Side + Includes), plus communément appelés SSI. Vous trouverez ici la + manière de configurer votre serveur pour permettre les SSI, ainsi + qu'une introduction à quelques techniques SSI de base permettant + d'ajouter du contenu dynamique à vos pages HTML préexistantes.

+ +

La dernière partie de cet article sera consacrée aux + configurations SSI plus avancées, telles que les expressions + conditionnelles dans les directives SSI.

+ +
top
+
+

Qu'est-ce que SSI ?

+ +

SSI (Server Side Includes) est constitué de directives placées dans + des pages HTML, et évaluées par le serveur au moment où les pages + sont servies. Elles vous permettent d'ajouter du contenu généré + dynamiquement à une page HTML préexistante, sans avoir à servir la + page entière via un programme CGI, ou toute autre technologie de + contenu dynamique.

+ +

Par exemple, vous pouvez insérer la directive suivante dans une + page HTML existante :

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

Ainsi, lorsque la page sera servie, la directive sera évaluée et + remplacée par sa valeur :

+ +

+ Tuesday, 15-Jan-2013 19:28:54 EST +

+ +

Le choix entre l'utilisation des SSI et la génération entière de + la page par un programme quelconque, est en général dicté par la + proportion de contenu statique et de contenu devant être généré + chaque fois que la page est servie. SSI est idéal pour ajouter de + petites quantités d'information, comme l'heure courante dans + l'exemple précédent. Mais si la + plus grande partie de votre page est générée au moment où elle est + servie, vous devez vous tourner vers une autre solution.

+
top
+
+

Configurer votre serveur pour permettre les SSI

+ + +

Pour permettre l'utilisation des SSI sur votre serveur, vous + devez ajouter la directive suivante dans votre fichier + httpd.conf, ou dans un fichier .htaccess + :

+
Options +Includes
+ + +

Cette directive indique à Apache que vous désirez permettre la + recherche de directives SSI lors de l'interprétation des fichiers. + Notez cependant que la plupart des configurations contiennent de + nombreuses directives Options + qui peuvent s'écraser les unes les autres. Vous devrez probablement + appliquer ces directives Options au répertoire + spécifique pour lequel vous voulez activer les SSI, afin d'être sûr + qu'elles y seront bien activées.

+ +

Tout fichier ne fera cependant pas l'objet de recherche de + directives SSI. Vous devez indiquer à Apache quels fichiers seront + concernés. Vous pouvez y parvenir en indiquant une extension, comme + .shtml, à l'aide des directives suivantes :

+
AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ + +

Un des désavantages de cette approche réside dans le fait que si + vous voulez ajouter des directives SSI à une page préexistante, vous + devrez changer le nom de cette page, et donc tout lien qui la + contient, de façon à ce qu'elle possède l'extension + .shtml, condition nécessaire pour que les directives + SSI qu'elle contient soient traitées.

+ +

Une autre méthode consiste à utiliser la directive XBitHack :

+
XBitHack on
+ + +

La directive XBitHack + indique à Apache qu'il doit rechercher des directivves SSI dans les + fichiers si leur bit d'exécution est positionné. Il n'est ainsi plus + nécessaire de changer le nom du fichier pour ajouter des directives + SSI à une page préexistante ; vous devez simplement attribuer les + droits d'exécution au fichier à l'aide de chmod.

+

+ chmod +x pagename.html +

+ +

Un bref commentaire sur ce qu'il ne faut pas faire. Certaines + personnes peuvent vous conseiller de tout simplement indiquer à + Apache de rechercher des directives SSI dans tous les fichiers + .html, ce qui vous évite d'avoir à gérer les noms de + fichiers avec extension .shtml. Ils n'ont probablement + pas entendu parler de la directive XBitHack. En effet, vous devez + garder à l'esprit qu'en faisant ceci, Apache va devoir rechercher + des directives SSI dans chaque fichier qu'il sert, même s'il n'en + contient aucune. Ce n'est donc pas une bonne idée car les + performances peuvent en être sensiblement affectées.

+ +

Bien entendu, sous Windows, il n'y a pas de bit d'exécution à + positionner, ce qui limite un peu vos choix.

+ +

Dans sa configuration par défaut, Apache n'envoie pas la date de + dernière modification ou les en-têtes HTTP relatifs à la taille des + contenus dans les pages SSI, car ses valeurs sont difficiles à + calculer pour les contenus dynamiques. Ceci peut induire une + impression de diminution des performances côté client, en empêchant + la mise en cache de votre document. Il existe deux méthodes pour + résoudre ce problème :

+ +
    +
  1. Utilisez la configuration XBitHack Full. Elle + indique à Apache de déterminer la date de dernière modification en + ne regardant que la date du fichier à l'origine de la requête, + tout en ignorant la date de modification de tout fichier inclus.
  2. + +
  3. Utilisez les directives fournies par le module + mod_expires pour définir de manière explicite la + date d'expiration de vos fichiers, laissant par la-même + aux navigateurs et aux mandataires le soin de déterminer s'il est + opportun ou non de les mettre en cache.
  4. +
+
top
+
+

Directives SSI de base

+ +

Les directives SSI adoptent la syntaxe suivante :

+

+ <!--#fonction attribut=valeur attribut=valeur ... --> +

+ +

Le format d'une directive SSI étant similaire à celui d'un + commentaire HTML, si vous n'avez pas activé correctement SSI, le + navigateur l'ignorera, mais elle sera encore visible dans le source + HTML. Si SSI est correctement configuré, la directive sera remplacée + par ses résultats.

+ +

"fonction" peut prendre de nombreuses formes, et nous décrirons + plus précisément la plupart d'entre eux dans la prochaine version de + ce document. Pour le moment, voici quelques exemples de ce que vous + pouvez faire avec SSI.

+ +

La date courante

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

La fonction echo permet d'afficher la valeur d'une + variable. Il existe un grand nombre de variables standards, y + compris l'ensemble des variables d'environnement disponibles pour + les programmes CGI. De plus, vous pouvez définir vos propres + variables à l'aide de la fonction set.

+ +

Si vous n'aimez pas le format sous lequel la date s'affiche, vous + pouvez utiliser la fonction config avec un attribut + timefmt, pour le modifier.

+ +

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Today is <!--#echo var="DATE_LOCAL" --> +

+ + +

Date de modification du fichier

+ +

+ Dernière modification du document <!--#flastmod file="index.html" --> +

+ +

Le format peut là aussi être modifié à l'aide de l'attribut + timefmt.

+ + +

Inclusion des résultats d'un programme CGI

+ +

C'est le cas le plus courant d'utilisation des SSI - afficher les + résultats d'un programme CGI, comme l'universellement adoré + "compteur d'accès".

+ +

+ <!--#include virtual="/cgi-bin/counter.pl" --> +

+ + +
top
+
+

Exemples additionnels

+ + +

Vous trouverez dans ce qui suit quelques exemples spécifiques de + ce que vous pouvez faire de vos documents HTML avec SSI.

+ +

Quand ce document a-t-il été modifié ?

+ +

Nous avons mentionné plus haut que vous pouviez utiliser SSI pour + informer l'utilisateur de la date de dernière modification du + document. Cependant, la méthode pour y parvenir n'a pas été vraiment + abordée. Placé dans votre document HTML, le code suivant va insérer + un repère de temps dans votre page. Bien entendu, SSI devra avoir + été correctement activé, comme décrit plus haut.

+

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Dernière modification du fichier <!--#flastmod file="ssi.shtml" --> +

+ +

Bien entendu, vous devez remplacer ssi.shtml par le + nom du fichier auquel vous faites référence. Ceci ne conviendra pas + si vous recherchez un morceau de code générique que vous pourrez + insérer dans tout fichier ; dans ce cas, il est préférable + d'utiliser la variable LAST_MODIFIED :

+

+ <!--#config timefmt="%D" -->
+ This file last modified <!--#echo var="LAST_MODIFIED" --> +

+ +

Pour plus de détails sur le format timefmt, tapez + strftime dans votre moteur de recherche préferé. La + syntaxe est identique.

+ + +

Inclusion d'un pied de page standard

+ + +

Si le site que vous gérez comporte plus que quelques pages, vous + allez vite vous apercevoir qu'effectuer des modifications sur toutes + ces pages peut devenir très contraignant, en particulier si vous + voulez qu'elles conservent un aspect homogène.

+ +

Inclure un fichier pour un en-tête et/ou un pied de page peut + simplifier cette corvée de mises à jour. Il vous suffit de + confectionner un fichier de pied de page, et de l'inclure dans + chaque page à l'aide de l'élément SSI include. Pour + définir le fichier à inclure, la fonction include peut + utiliser soit l'attribut file, soit l'attribut + virtual. L'attribut file est un chemin de + fichier relatif au répertoire courant. C'est à dire qu'il + ne peut ni avoir pour valeur un chemin absolu (commençant par /), ni + comporter "../" dans son chemin. L'attribut virtual est + probablement plus commode, et peut spécifier une URL relative au + document servi. Elle peut commencer par un /, mais le fichier inclus + et le fichier servi doivent résider sur le même serveur.

+

+ <!--#include virtual="/footer.html" --> +

+ +

Je combinerai souvent ces deux derniers points, en ajoutant une + directive LAST_MODIFIED dans un fichier de pied de page + destiné à être inclus. Le fichier inclus peut contenir des + directives SSI, et les inclusions peuvent être imbriquées - à + savoir, le fichier inclus peut inclure un autre fichier, etc...

+ + +
top
+
+

Que puis-je configurer d'autre ?

+ + +

En plus du format de date, vous pouvez utiliser l'élément + config pour configurer deux autres choses.

+ +

En général, lorsque quelque chose se passe mal avec votre + directive SSI, vous recevez le message :

+

+ [an error occurred while processing this directive] +

+ +

Pour modifier ce message, vous pouvez utiliser l'attribut + errmsg avec la fonction config :

+

+ <!--#config errmsg="[Il semblerait que vous ne sachiez pas + utiliser les SSI]" --> +

+ +

Il est cependant probable que les utilisateurs finaux ne voient + jamais ce message, car vous aurez résolu tous les problèmes issus de + vos directives SSI avant que votre site ne soit mis en production. + (N'est-ce pas ?)

+ +

Vous pouvez aussi modifier le format sous lequel les tailles de + fichiers sont affichées à l'aide de l'attribut sizefmt. + Vous pouvez spécifier bytes pour un affichage en + octets, ou abbrev pour un affichage plus concis en Ko + ou Mo, selon le cas.

+
top
+
+

Exécution de commandes

+ + +

Voici autre chose que vous pouvez faire avec la fonction + exec. Vous pouvez vraiment faire exécuter une commande + par SSI en utilisant le shell (/bin/sh, pour être plus + précis - ou le shell DOS, si vous êtes sous Win32). Par exemple, ce + qui suit vous permet d'afficher le contenu d'un répertoire.

+

+ <pre>
+ <!--#exec cmd="ls" -->
+ </pre> +

+ +

ou, sous Windows

+

+ <pre>
+ <!--#exec cmd="dir" -->
+ </pre> +

+ +

Vous noterez probablement l'étrange formatage provoqué par cette + directive sous Windows, car la sortie de dir contient + la chaîne de caractères "<dir>", ce qui trompe le + navigateur.

+ +

Notez que cette fonctionnalité est très dangereuse, car elle va + permettre d'exécuter tout code associé à l'élément + exec. Si vous êtes dans la situation où les + utilisateurs peuvent éditer le contenu de vos pages web, dans le cas + d'un "livre d'or" par exemple, assurez-vous de désactiver cette + fonctionnalité. Vous pouvez, tout en permettant les SSI, désactiver + la fonctionnalité exec à l'aide de l'argument + IncludesNOEXEC de la directive + Options.

+
top
+
+

Techniques SSI avancées

+ + +

Outre l'affichage de contenu, les SSI d'Apache vous permettent de + définir des variables, et de les utiliser dans des comparaisons et + des conditions.

+ +

Définition de variables

+ +

Avec l'élément set, vous pouvez définir des + variables pour un usage ultérieur. Comme nous en aurons besoin plus + loin, nous allons en parler tout de suite. La syntaxe se présente + comme suit :

+

+ <!--#set var="name" value="Rich" --> +

+ +

Pour affecter une valeur à vos variables, en plus de la + définition littérale de l'exemple ci-dessus, vous pouvez utiliser + une autre variable, y compris les variables d'environnement, ou les variables + décrites plus haut (comme LAST_MODIFIED par exemple). + Pour indiquer qu'il s'agit d'une variable et non d'une chaîne, vous + devez utiliser le symbole dollar ($) devant le nom de la + variable.

+ +

<!--#set var="modified" value="$LAST_MODIFIED" --> +

+ +

Pour insérer un caractère $ dans la valeur de votre variable, + vous devez l'échapper à l'aide d'un backslash.

+

+ <!--#set var="cost" value="\$100" --> +

+ +

Enfin, si vous voulez insérer une variable dans une chaîne, et + s'il y a une chance pour que le nom de la variable se confonde avec + le reste de la chaîne, vous pouvez l'entourer d'accolades pour + eviter toute confusion (Il est difficile de trouver un bon exemple + pour illustrer ceci, mais j'espère que vous comprendrez).

+

+ <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +

+ + +

Expressions conditionnelles

+ + +

Maintenent que nous avons des variables, et que nous pouvons + définir et comparer leurs valeurs, nous sommes à même de les + utiliser dans des expressions conditionnelles. Ceci confère à SSI le + statut de petit langage de programmation. + mod_include fournit une structure if, + elif, else, endif pour la + construction d'expressions conditionnelles, ce qui vous permet de + générer plusieurs pages logiques à partir d'une seule vraie + page.

+ +

La structure de l'expression conditionnelle est :

+

+ <!--#if expr="condition" -->
+ <!--#elif expr="condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

Une condition peut revêtir la forme de toute comparaison + logique - soit une comparaison de valeurs avec une autre, soit une + vérification de la "vérité" d'une valeur particulière (Une chaîne + donnée est vraie si elle n'est pas vide). Pour une liste exhaustive + des opérateurs de comparaison disponibles, voir la documentation du + module mod_include.

+ +

Par exemple, spour insérer l'heure du jour dans votre page web, + vous pouvez ajouter ces lignes dans la page HTML :

+ +

+ Good + <!--#if expr="%{TIME_HOUR} <12" -->
+ morning!
+ <!--#else -->
+ afternoon!
+ <!--#endif -->
+

+ +

Toute autre variable (que vous avez définie, ou une variable + d'environnement normale) peut être utilisée dans les expressions + conditionnelles. Voir le document Expressions + rationnelles dans le serveur HTTP Apache pour plus de détails à + propos du fonctionnement du moteur d'évaluation des expressions + rationnelles.

+ +

Associée à la possibilité avec Apache de définir + des variables d'environnement à l'aide de directives + SetEnvIf, ainsi que d'autres directives en rapport, + cette fonctionnalité vous permet d'ajouter une grande variété + de contenus dynamiques côté serveur sans avoir à concevoir une + application web de A à Z.

+ +
top
+
+

Conclusion

+ +

SSI ne remplace certainement pas CGI, ou d'autres technologies + utilisées pour la génération de pages web dynamiques. Mais c'est une + bonne méthode pour ajouter des petits contenus dynamiques à vos + pages, sans devoir fournir un gros effort supplémentaire.

+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/ssi.html.ja.utf8 b/docs/manual/howto/ssi.html.ja.utf8 new file mode 100644 index 0000000..269df5a --- /dev/null +++ b/docs/manual/howto/ssi.html.ja.utf8 @@ -0,0 +1,515 @@ + + + + + +Apache ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«: Server Side Includes 入門 - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«: Server Side Includes 入門

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

サーãƒã‚µã‚¤ãƒ‰ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã«ã‚ˆã£ã¦ã€æ—¢å­˜ã® HTML +ドキュメントã«å‹•çš„ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„を追加ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+ +
top
+
+

ã¯ã˜ã‚ã«

+ + +

ã“ã®è¨˜äº‹ã¯ã€é€šå¸¸ã¯å˜ã« SSI ã¨å‘¼ã°ã‚Œã‚‹ Server Side Includes + を扱ã„ã¾ã™ã€‚ã“ã®è¨˜äº‹ã«ãŠã„ã¦ã¯ã€ã‚µãƒ¼ãƒã§ã® SSI を許å¯ã™ã‚‹ãŸã‚ã®è¨­å®šã¨ã€ + ç¾åœ¨ã® HTML ページã«å‹•çš„ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„を加ãˆã‚‹ãŸã‚ã®ã„ãã¤ã‹ã®åŸºæœ¬çš„㪠+ SSI 技術を紹介ã—ã¾ã™ã€‚

+ +

記事ã®å¾ŒåŠã§ã¯ã€SSI ディレクティブ㧠SSI + ã¨å…±ã«å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã‚‹æ¡ä»¶æ–‡ã®ã‚ˆã†ãª + 幾分高度ãªäº‹æŸ„ã«ã¤ã„ã¦è¿°ã¹ã¦ã„ã¾ã™ã€‚

+ +
top
+
+

SSI ã¨ã¯ ?

+ +

SSI (Server Side Includes) ã¯ã€HTML + ページ中ã«é…ç½®ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã‚り〠+ サーãƒã§ãƒšãƒ¼ã‚¸ã‚’æä¾›ã™ã‚‹æ™‚ã«è©•ä¾¡ã•ã‚Œã¾ã™ã€‚SSI ã¯ã€CGI + プログラムやãã®ä»–ã®å‹•çš„ãªæŠ€è¡“ã§å…¨ã¦ã®ãƒšãƒ¼ã‚¸ã‚’æä¾›ã›ãšã«ã€ + å‹•çš„ã«ç”Ÿæˆã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’ç¾åœ¨ã® HTML ページã«åŠ ãˆã¾ã™ã€‚

+ +

ã©ã†ã„ã†å ´åˆã« SSI を使ã„ã€ã©ã†ã„ã†å ´åˆã«ãƒ—ログラム㧠+ ページを完全ã«ç”Ÿæˆã™ã‚‹ã‹ã¯ã€ãƒšãƒ¼ã‚¸ã®ã†ã¡ã©ã®ç¨‹åº¦ãŒé™çš„ã§ã‚り〠+ ページãŒæä¾›ã•ã‚Œã‚‹ãŸã³ã«å†è¨ˆç®—ã™ã‚‹å¿…è¦ãŒã©ã®ç¨‹åº¦ã‚ã‚‹ã‹ã§é€šå¸¸ã¯æ±ºå®šã—ã¾ã™ã€‚ + SSI ã¯ç¾åœ¨æ™‚刻ã®ã‚ˆã†ãªå°ã•ã„情報を加ãˆã‚‹ã«ã¯ã†ã£ã¦ã¤ã‘ã®æ–¹æ³•ã§ã™ã€‚ + ã—ã‹ã—ã€ãã®ãƒšãƒ¼ã‚¸ã®ã»ã¨ã‚“ã©ã®éƒ¨åˆ†ãŒæ供時ã«ç”Ÿæˆã•ã‚Œã‚‹å ´åˆã¯ã€ + ä»–ã®æ–¹æ³•ã‚’探ã™å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+
top
+
+

SSI を許å¯ã™ã‚‹ãŸã‚ã®ã‚µãƒ¼ãƒã®è¨­å®š

+ + +

サーãƒã§ SSI を許å¯ã™ã‚‹ã«ã¯ã€httpd.conf + ファイルã¾ãŸã¯ .htaccess + ファイルã«æ¬¡ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™:

+

+ Options +Includes +

+ +

ã“ã®æŒ‡å®šã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ SSI + ディレクティブã§è§£æžã•ã›ã‚‹ã“ã¨ã‚’許å¯ã™ã‚‹ã¨ã„ã†ã“ã¨ã‚’ Apache + ã«ä¼ãˆã¾ã™ã€‚ã»ã¨ã‚“ã©ã®è¨­å®šã§ã¯ãŠäº’ã„を上書ãã§ãã‚‹ã€è¤‡æ•°ã® + Options ãŒã‚ã‚‹ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。ãŠãらãã€è¨­å®šãŒæœ€å¾Œã«è©•ä¾¡ã•ã‚Œã‚‹ã“ã¨ã‚’ + ä¿è¨¼ã•ã‚Œã‚‹ãŸã‚ã«ã€SSI を使用ã—ãŸã„ディレクトリ㫠Options + ディレクティブをé©ç”¨ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚

+ +

å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ SSI + ディレクティブã§è§£æžã•ã‚Œã‚‹ã¨ã„ã†ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + ã©ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒè§£æžã•ã‚Œã‚‹ã‹ã‚’ Apache ã«ä¼ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“れを行ãªã†ã«ã¯äºŒã¤æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚ + 次ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã†ã“ã¨ã§ã€ä¾‹ãˆã° .shtml + ã®ã‚ˆã†ãªç‰¹åˆ¥ãªãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã‚’æŒã¤ãƒ•ã‚¡ã‚¤ãƒ«ã‚’解æžã™ã‚‹ã‚ˆã† + Apache ã«ä¼ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™:

+

+ AddType text/html .shtml
+ AddOutputFilter INCLUDES .shtml +

+ +

ã“ã®æ–¹æ³•ã®æ¬ ç‚¹ã¯ã€ã‚‚ã—ç¾åœ¨ã®ãƒšãƒ¼ã‚¸ã« SSI ディレクティブを加ãˆãŸã„å ´åˆã€ + ãれらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒå®Ÿè¡Œã•ã‚Œã‚‹ã‚ˆã†ã« + .shtml æ‹¡å¼µå­ã«ã™ã‚‹ãŸã‚ã€ãã®ãƒšãƒ¼ã‚¸ã®åå‰ã¨ã€ + ãã®ãƒšãƒ¼ã‚¸ã¸ã®å…¨ã¦ã®ãƒªãƒ³ã‚¯ã‚’変更ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ã“ã¨ã§ã™ã€‚

+ +

ã‚‚ã†ä¸€ã¤ã®æ–¹æ³•ã¯ã€XBitHack + ディレクティブを使用ã™ã‚‹ã“ã¨ã§ã™:

+

+ XBitHack on +

+ +

XBitHack + ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã®å®Ÿè¡Œãƒ“ットãŒç«‹ã£ã¦ã„ã‚‹å ´åˆã€ + SSI ディレクティブã«ã‚ˆã‚Šè§£æžã™ã‚‹ã“ã¨ã‚’ Apache ã«ä¼ãˆã¾ã™ã€‚ + 従ã£ã¦ã€SSI ディレクティブをç¾åœ¨ã®ãƒšãƒ¼ã‚¸ã«åŠ ãˆã‚‹ãŸã‚ã«ã¯ã€ + ファイルåを変更ã—ãªãã¦ã‚‚よãã€å˜ã« chmod + を使用ã—ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚’実行å¯èƒ½ã«ã™ã‚‹ã ã‘ã§æ¸ˆã¿ã¾ã™ã€‚

+

+ chmod +x pagename.html +

+ +

è¡Œãªã†ã¹ãã§ã¯ãªã„ã“ã¨ã«é–¢ã™ã‚‹çŸ­ã„コメント。時々誰ã‹ãŒã€å…¨ã¦ã® + .html ファイルを SSI ã§è§£æžã™ã‚‹ã‚ˆã† Apache ã«ä¼ãˆã‚Œã°ã€ + ã‚ã–ã‚ã– .shtml ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«åã«ã™ã‚‹å¿…è¦ãŒãªã„ã¨ã„ã£ã¦ + è–¦ã‚ã‚‹ã®ã‚’見るã“ã¨ã§ã—ょã†ã€‚ã“ã†ã„ã†äººãŸã¡ã¯ã€ãŠãらã + XBitHack + ã«ã¤ã„ã¦èžã„ãŸã“ã¨ãŒãªã„ã®ã§ã—ょã†ã€‚ + ã“ã®æ–¹æ³•ã«ã¤ã„ã¦æ³¨æ„ã™ã‚‹ã“ã¨ã¯ã€ãŸã¨ãˆ SSI + ディレクティブを全ãå«ã¾ãªã„å ´åˆã§ã‚‚ã€Apache ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« + é€ã‚‹å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’最後ã¾ã§èª­ã¿è¾¼ã¾ã›ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®æ–¹æ³•ã¯ã‹ãªã‚Šå‡¦ç†ã‚’é…ãã™ã‚‹ã‚‚ã®ã§ã‚ã‚Šã€è‰¯ããªã„アイデアã§ã™ã€‚

+ +

ã‚‚ã¡ã‚ã‚“ã€Windows ã§ã¯ãã®ã‚ˆã†ãªå®Ÿè¡Œãƒ“ットをセット + ã™ã‚‹ã‚ˆã†ãªã‚‚ã®ã¯ã‚ã‚Šã¾ã›ã‚“ã®ã§ã‚ªãƒ—ションãŒå°‘ã—制é™ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

デフォルトã®è¨­å®šã§ã¯ã€Apache 㯠SSI ページã«ã¤ã„ã¦æœ€çµ‚変更時刻や + コンテンツã®é•·ã•ã‚’ HTTP ヘッダã«é€ã‚Šã¾ã›ã‚“。 + å‹•çš„ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã§ã‚ã‚‹ãŸã‚ã€ãれらã®å€¤ã‚’計算ã™ã‚‹ã®ãŒé›£ã—ã„ã‹ã‚‰ã§ã™ã€‚ + ã“ã®ãŸã‚ドキュメントãŒã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œãªããªã‚Šã€ + çµæžœã¨ã—ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®æ€§èƒ½ãŒé…ããªã£ãŸã‚ˆã†ã«æ„Ÿã˜ã•ã›ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + ã“れを解決ã™ã‚‹æ–¹æ³•ãŒäºŒã¤ã‚ã‚Šã¾ã™:

+ +
    +
  1. XBitHack Full 設定を使用ã™ã‚‹ã€‚ + ã“ã®è¨­å®šã«ã‚ˆã‚Šã€ã‚‚ã¨ã‚‚ã¨è¦æ±‚ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æ™‚刻をå‚ç…§ã—〠+ 読ã¿è¾¼ã¾ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤‰æ›´æ™‚刻を無視ã—ã¦æœ€çµ‚変更時刻を決定ã™ã‚‹ã‚ˆã† + Apache ã«ä¼ãˆã¾ã™ã€‚
  2. + +
  3. mod_expires + ã§æä¾›ã•ã‚Œã¦ã„るディレクティブを使用ã—ã¦ã€ + ファイルãŒç„¡åŠ¹ã«ãªã‚‹æ™‚刻を明示ã—ã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ + ブラウザã¨ãƒ—ロキシã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒæœ‰åŠ¹ã§ã‚ã‚‹ã“ã¨ã‚’通知ã—ã¾ã™ã€‚
  4. +
+
top
+
+

基本的㪠SSI ディレクティブ

+ +

SSI ディレクティブã¯ä»¥ä¸‹ã®æ–‡æ³•ã§è¨˜è¿°ã—ã¾ã™:

+

+ <!--#element attribute=value attribute=value ... --> +

+ +

HTML ã®ã‚³ãƒ¡ãƒ³ãƒˆã®ã‚ˆã†ãªæ›¸å¼ã‚’ã—ã¦ã„ã‚‹ã®ã§ã€ã‚‚ã— SSI + ã‚’æ­£ã—ã動作å¯èƒ½ã«ã—ãªã‘ã‚Œã°ã€ãƒ–ラウザã¯ãれを無視ã™ã‚‹ã§ã—ょã†ã€‚ + ã—ã‹ã—ã€HTML ソース中ã§ã¯è¦‹ãˆã¾ã™ã€‚ã‚‚ã— SSI ã‚’æ­£ã—ã設定ã—ãŸãªã‚‰ã€ + ディレクティブã¯ãã®çµæžœã¨ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

+ +

element ã¯ãŸãã•ã‚“ã‚ã‚‹ã‚‚ã®ã‹ã‚‰ä¸€ã¤æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 指定ã§ãã‚‹ã‚‚ã®ã®å¤§å¤šæ•°ã«ã¤ã„ã¦ã¯ã€æ¬¡å›žã‚‚ã†å°‘ã—詳ã—ã説明ã—ã¾ã™ã€‚ + ã“ã“ã§ã¯ã€SSI ã§è¡Œãªã†ã“ã¨ãŒã§ãる例をã„ãã¤ã‹ç¤ºã—ã¾ã™ã€‚

+ +

今日ã®æ—¥ä»˜

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

echo è¦ç´ ã¯å˜ã«å¤‰æ•°ã®å€¤ã‚’出力ã—ã¾ã™ã€‚ + CGI プログラムã«åˆ©ç”¨å¯èƒ½ãªç’°å¢ƒå¤‰æ•°ã®å…¨ã¦ã® + セットをå«ã‚€å¤šãã®æ¨™æº–変数ãŒã‚ã‚Šã¾ã™ã€‚ã¾ãŸã€set + è¦ç´ ã‚’用ã„ã‚‹ã“ã¨ã§ã€ç‹¬è‡ªã®å¤‰æ•°ã‚’定義ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +

+ +

出力ã•ã‚Œã‚‹æ—¥ä»˜ã®æ›¸å¼ãŒå¥½ãã§ã¯ãªã„å ´åˆã€ãã®æ›¸å¼ã‚’修正ã™ã‚‹ãŸã‚ã«ã€ + config è¦ç´ ã« timefmt + 属性を使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Today is <!--#echo var="DATE_LOCAL" --> +

+ + +

ファイルã®å¤‰æ›´æ—¥

+ +

+ This document last modified <!--#flastmod file="index.html" --> +

+ +

ã“ã®è¦ç´ ã‚‚ timefmt + フォーマットã®è¨­å®šã«å¾“ã„ã¾ã™ã€‚

+ + +

CGI プログラムã®çµæžœã‚’å–り込む

+ +

ã“ã‚Œã¯ã€å…¨ã¦ã®äººã®ãŠæ°—ã«å…¥ã‚Šã§ã‚ã‚‹ ``ヒットカウンタ'' ã®ã‚ˆã†ãª + CGI プログラムã®çµæžœã‚’出力ã™ã‚‹ SSI + ã®ã‚ˆã‚Šä¸€èˆ¬çš„ãªä½¿ç”¨ã®ã†ã¡ã®ä¸€ã¤ã§ã™ã€‚

+ +

+ <!--#include virtual="/cgi-bin/counter.pl" --> +

+ + +
top
+
+

追加ã®ä¾‹

+ + +

以下ã¯ã€SSI を使用ã—㦠HTML + ドキュメントã«ãŠã„ã¦ã§ãã‚‹ã“ã¨ã®ã„ãã¤ã‹ã®ç‰¹åˆ¥ãªä¾‹ã§ã™ã€‚

+ +

ã„ã¤ã“ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯ä¿®æ­£ã•ã‚ŒãŸã®ã‹ +?

+ +

å…ˆã«ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒæœ€å¾Œã«å¤‰æ›´ã•ã‚ŒãŸã®ã¯ã„ã¤ã‹ã‚’ + ユーザã«é€šçŸ¥ã™ã‚‹ãŸã‚ã« SSI を使用ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã“ã¨ã‚’è¿°ã¹ã¾ã—ãŸã€‚ + ã—ã‹ã—ãªãŒã‚‰ã€å®Ÿéš›ã®æ–¹æ³•ã¯ã€ã„ãã¶ã‚“å•é¡Œã®ã¾ã¾ã«ã—ã¦ãŠãã¾ã—ãŸã€‚ + HTML ドキュメントã«é…ç½®ã•ã‚ŒãŸæ¬¡ã®ã‚³ãƒ¼ãƒ‰ã¯ã€ãƒšãƒ¼ã‚¸ã«ãã®ã‚ˆã†ãª + タイムスタンプを入れるã§ã—ょã†ã€‚ã‚‚ã¡ã‚ã‚“ã€ä¸Šè¿°ã®ã‚ˆã†ã«ã€ + SSI ã‚’æ­£ã—ã動作å¯èƒ½ã«ã—ã¦ãŠãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+

+ <!--#config timefmt="%A %B %d, %Y" -->
+ This file last modified <!--#flastmod file="ssi.shtml" --> +

+ +

ã‚‚ã¡ã‚ã‚“ã€ssi.shtml + ã®éƒ¨åˆ†ã‚’実際ã®å½“該ファイルåã¨ç½®ãæ›ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã‚‚ã—ã€ã‚らゆるファイルã«å¼µã‚‹ã“ã¨ãŒã§ãる一般的ãªã‚³ãƒ¼ãƒ‰ã‚’探ã—ã¦ã„ã‚‹ãªã‚‰ã€ + ã“ã‚Œã¯ä¸ä¾¿ã§ã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ãŠãらããã®å ´åˆã¯ã€ + ãã†ã™ã‚‹ä»£ã‚ã‚Šã«å¤‰æ•° LAST_MODIFIED + を使用ã—ãŸã„ã¨è€ƒãˆã‚‹ã§ã—ょã†:

+

+ <!--#config timefmt="%D" -->
+ This file last modified <!--#echo var="LAST_MODIFIED" --> +

+ +

timefmt + 書å¼ã«ã¤ã„ã¦ã®ã‚ˆã‚Šè©³ç´°ã«ã¤ã„ã¦ã¯ã€ãŠå¥½ã¿ã®æ¤œç´¢ã‚µã‚¤ãƒˆã«è¡Œã〠+ strftime ã§æ¤œç´¢ã—ã¦ã¿ã¦ãã ã•ã„。文法ã¯åŒã˜ã§ã™ã€‚

+ + +

標準ã®ãƒ•ãƒƒã‚¿ã‚’挿入ã™ã‚‹

+ + +

ã‚‚ã—数ページを超ãˆã‚‹ãƒšãƒ¼ã‚¸ã‚’æŒã¤ã‚µã‚¤ãƒˆã‚’管ç†ã—ã¦ã„ã‚‹ãªã‚‰ã°ã€ + 全ページã«å¯¾ã—ã¦å¤‰é …ã‚’è¡Œãªã†ã“ã¨ãŒæœ¬å½“ã«è‹¦ç—›ã¨ãªã‚Šå¾—ã‚‹ã“ã¨ãŒ + 分ã‹ã‚‹ã§ã—ょã†ã€‚å…¨ã¦ã®ãƒšãƒ¼ã‚¸ã«æ¸¡ã£ã¦ã‚る種ã®æ¨™æº–çš„ãªå¤–観を + 維æŒã—よã†ã¨ã—ã¦ã„ã‚‹ãªã‚‰ã°ç‰¹ã«ãã†ã§ã—ょã†ã€‚

+ +

ヘッダやフッタ用ã®æŒ¿å…¥ç”¨ãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã™ã‚‹ã“ã¨ã§ã€ + ã“ã®ã‚ˆã†ãªæ›´æ–°ã«ã‹ã‹ã‚‹è² æ‹…を減らã™ã“ã¨ãŒã§ãã¾ã™ã€‚ + 一ã¤ã®ãƒ•ãƒƒã‚¿ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã—ã€ãれを include + SSI コマンドã§å„ページã«å…¥ã‚Œã‚‹ã ã‘ã§æ¸ˆã¿ã¾ã™ã€‚include + è¦ç´ ã¯ã€file 属性ã¾ãŸã¯ virtual + 属性ã®ã„ãšã‚Œã‹ã‚’使用ã—ã¦ã©ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’挿入ã™ã‚‹ã‹ã‚’決ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + file 属性ã¯ã€ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã§ç¤ºã•ã‚ŒãŸ + ファイルパスã§ã™ã€‚ + ãれ㯠/ ã§å§‹ã¾ã‚‹çµ¶å¯¾ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‘スã«ã¯ã§ããšã€ã¾ãŸã€ãã®ãƒ‘スã®ä¸€éƒ¨ã« ../ + ã‚’å«ã‚€ã“ã¨ãŒã§ããªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚virtual + 属性ã¯ã€ãŠãらãより便利ã ã¨æ€ã„ã¾ã™ãŒã€æä¾›ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‹ã‚‰ã®ç›¸å¯¾ + URL ã§æŒ‡å®šã™ã¹ãã§ã™ã€‚ãれ㯠/ ã§å§‹ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ + æä¾›ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã¨åŒã˜ã‚µãƒ¼ãƒä¸Šã«å­˜åœ¨ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。

+

+ <!--#include virtual="/footer.html" --> +

+ +

ç§ã¯æœ€å¾Œã®äºŒã¤ã‚’組ã¿åˆã‚ã›ã¦ã€LAST_MODIFIED + ディレクティブをフッタファイルã®ä¸­ã«ç½®ãã“ã¨ãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚ + SSI ディレクティブã¯ã€æŒ¿å…¥ç”¨ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«å«ã¾ã›ãŸã‚Šã€ + 挿入ファイルã®ãƒã‚¹ãƒˆã‚’ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã™ãªã‚ã¡ã€ + 挿入用ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å†å¸°çš„ã«æŒ¿å…¥ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ + +
top
+
+

ä»–ã«ä½•ãŒè¨­å®šã§ãã‚‹ã®ã‹ ?

+ + +

時刻書å¼ã‚’ config ã§è¨­å®šã§ãã‚‹ã“ã¨ã«åŠ ãˆã¦ã€ + æ›´ã«äºŒã¤ config ã§è¨­å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

通常ã€SSI ディレクティブã§ä½•ã‹ãŒã†ã¾ãã„ã‹ãªã„ã¨ãã¯ã€ + 次ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚

+

+ [an error occurred while processing this directive] +

+ +

ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ä»–ã®ã‚‚ã®ã«ã—ãŸã„å ´åˆã€config + è¦ç´ ã® errmsg 属性ã§å¤‰æ›´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+

+ <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +

+ +

ãŠãらãã€ã‚¨ãƒ³ãƒ‰ãƒ¦ãƒ¼ã‚¶ã¯ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’決ã—ã¦è¦‹ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。 + ãªãœãªã‚‰ã€ãã®ã‚µã‚¤ãƒˆãŒç”ŸããŸçŠ¶æ…‹ã«ãªã‚‹å‰ã« SSI ディレクティブã«é–¢ã™ã‚‹ + å…¨ã¦ã®å•é¡Œã‚’解決ã—ã¦ã„ã‚‹ã¯ãšã ã‹ã‚‰ã§ã™ã€‚(ãã†ã§ã™ã‚ˆã­?)

+ +

ãã—ã¦ã€config ã«ãŠã„㦠sizefmt + 属性を使用ã™ã‚‹ã“ã¨ã§ã€ + è¿”ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã®æ›¸å¼ã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ãƒã‚¤ãƒˆæ•°ã«ã¯ bytes ã‚’ã€é©å½“ã« Kb ã‚„ Mb + ã«çŸ­ç¸®ã•ã›ã‚‹ã«ã¯ abbrev を指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
top
+
+

コマンドã®å®Ÿè¡Œ

+ + +

今後数ヶ月ã®ã†ã¡ã«ã€å°ã•ãª CGI プログラム㨠SSI + を使用ã™ã‚‹è¨˜äº‹ã‚’出ã—ãŸã„ã¨è€ƒãˆã¦ã„ã¾ã™ã€‚ã“ã“ã§ã¯ãã‚Œã¨ã¯åˆ¥ã«ã€ + exec è¦ç´ ã«ã‚ˆã£ã¦è¡Œãªã†ã“ã¨ãŒã§ãã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚ + SSI ã«ã‚·ã‚§ãƒ« (正確ã«ã¯ /bin/sh。Win32 ãªã‚‰ã° DOS シェル) + を使用ã—ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 下記ã®ä¾‹ã§ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒªã‚¹ãƒˆå‡ºåŠ›ã‚’è¡Œãªã„ã¾ã™ã€‚

+

+ <pre>
+ <!--#exec cmd="ls" -->
+ </pre> +

+ +

Windows 上ã§ã¯ã€

+

+ <pre>
+ <!--#exec cmd="dir" -->
+ </pre> +

+ +

Windows 上ã§ã¯ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã‚ˆã£ã¦ã„ãã¤ã‹ã®å¥‡å¦™ãª + 書å¼ã«æ°—ã¥ãã§ã—ょã†ã€‚ãªãœãªã‚‰ dir ã®å‡ºåŠ›ãŒæ–‡å­—列 + ``<dir>'' ã‚’å«ã¿ã€ãƒ–ラウザを混乱ã•ã›ã‚‹ã‹ã‚‰ã§ã™ã€‚

+ +

ã“ã®æ©Ÿèƒ½ã¯éžå¸¸ã«å±é™ºã§ã‚ã‚Šã€ã©ã‚“ãªã‚³ãƒ¼ãƒ‰ã§ã‚‚ exec + ã‚¿ã‚°ã«åŸ‹ã‚è¾¼ã¾ã‚Œã¦ã—ã¾ãˆã°å®Ÿè¡Œã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。例ãˆã° + `` ゲストブック '' ã®ã‚ˆã†ã«ã€ã‚‚ã—〠+ ユーザãŒãƒšãƒ¼ã‚¸ã®å†…容を編集ã§ãる状æ³ã«ã‚ã‚‹ãªã‚‰ã°ã€ + ã“ã®æ©Ÿèƒ½ã‚’確実ã«æŠ‘制ã—ã¦ãã ã•ã„。Options + ディレクティブ㮠IncludesNOEXEC 引数を指定ã™ã‚‹ã“ã¨ã§ã€ + SSI ã¯è¨±å¯ã™ã‚‹ã‘れ㩠exec + 機能ã¯è¨±å¯ã—ãªã„よã†ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
top
+
+

高度㪠SSI テクニック

+ + +

コンテンツを出力ã™ã‚‹ã“ã¨ã«åŠ ãˆã€Apache SSI ã¯å¤‰æ•°ã‚’設定ã—〠+ ãã—ã¦æ¯”較ã¨æ¡ä»¶åˆ†å²ã«ãã®å¤‰æ•°ã‚’使用ã§ãる機能をæä¾›ã—ã¦ã„ã¾ã™ã€‚ +

+ +

警告

+ +

ã“ã®è¨˜äº‹ã§è¿°ã¹ãŸå¤§éƒ¨åˆ†ã®æ©Ÿèƒ½ã¯ã€Apache 1.2 + 以é™ã‚’使用ã—ã¦ã„ã‚‹å ´åˆã®ã¿åˆ©ç”¨å¯èƒ½ã§ã™ã€‚ã‚‚ã¡ã‚ã‚“ã€ã‚‚ã— Apache 1.2 + 以é™ã‚’使用ã—ã¦ãªã„å ´åˆã€ç›´ã¡ã«ã‚¢ãƒƒãƒ—グレードã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã•ãã€ä»Šãれを行ãªã„ãªã•ã„。ãã‚Œã¾ã§å¾…ã£ã¦ã„ã¾ã™ã€‚

+ + +

変数を設定ã™ã‚‹

+ +

set ディレクティブを使用ã—ã¦ã€ + 後ã§ä½¿ç”¨ã™ã‚‹ãŸã‚ã«å¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã‚Œã¯å¾Œã®èª¬æ˜Žã§å¿…è¦ã«ãªã‚‹ã®ã§ã€ã“ã“ã§ãã‚Œã«ã¤ã„ã¦è¿°ã¹ã¦ã„ã¾ã™ã€‚ + 文法ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™:

+

+ <!--#set var="name" value="Rich" --> +

+ +

ã“ã®ã‚ˆã†ã«å˜ç´”ã«æ–‡å­—ã©ãŠã‚Šã«è¨­å®šã™ã‚‹ã“ã¨ã«åŠ ãˆã€ + 環境変数や上記ã®å¤‰æ•° + (例ãˆã° LAST_MODIFIED ã®ã‚ˆã†ãª) + ã‚’å«ã‚€ä»–ã®ã‚らゆる変数を値を設定ã™ã‚‹ã®ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 変数åã®å‰ã«ãƒ‰ãƒ«è¨˜å· ($) を使用ã™ã‚‹ã“ã¨ã§ã€ + ãã‚ŒãŒãƒªãƒ†ãƒ©ãƒ«æ–‡å­—列ã§ã¯ãªãã¦å¤‰æ•°ã§ã‚ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚

+

+ <!--#set var="modified" value="$LAST_MODIFIED" --> +

+ +

ãƒ‰ãƒ«è¨˜å· ($) を文字ã¨ã—ã¦å¤‰æ•°ã®å€¤ã«å…¥ã‚Œã‚‹ã«ã¯ã€ + ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã£ã¦ãƒ‰ãƒ«è¨˜å·ã‚’エスケープã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+

+ <!--#set var="cost" value="\$100" --> +

+ +

最後ã«ãªã‚Šã¾ã™ãŒã€é•·ã„文字列ã®ä¸­ã«å¤‰æ•°ã‚’ç½®ããŸã„å ´åˆã§ã€ + 変数åãŒä»–ã®æ–‡å­—ã¨ã¶ã¤ã‹ã‚‹å¯èƒ½æ€§ãŒã‚り〠+ ãれらã®æ–‡å­—ã«ã¤ã„ã¦æ··ä¹±ã—ã¦ã—ã¾ã†å ´åˆã€ã“ã®æ··ä¹±ã‚’å–り除ããŸã‚〠+ 変数åを中括弧ã§å›²ã‚€ã“ã¨ãŒã§ãã¾ã™ + (ã“ã‚Œã«ã¤ã„ã¦ã®è‰¯ã„例を示ã™ã®ã¯é›£ã—ã„ã®ã§ã™ãŒã€ + ãŠãらã分ã‹ã£ã¦ã„ãŸã ã‘ã‚‹ã§ã—ょã†)。 +

+

+ <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +

+ + +

æ¡ä»¶å¼

+ + +

ã•ã¦ã€å¤‰æ•°ã‚’æŒã£ã¦ã„ã¦ã€ + ãれらã®å€¤ã‚’設定ã—ã¦æ¯”較ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã®ã§ã™ã‹ã‚‰ã€ + æ¡ä»¶ã‚’表ã™ãŸã‚ã«ãれらを使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Š + SSI ã¯ã‚る種ã®å°ã•ãªãƒ—ログラミング言語ã«ãªã£ã¦ã„ã¾ã™ã€‚ + mod_include ã¯æ¡ä»¶ã‚’表ç¾ã™ã‚‹ãŸã‚ã« if, + elif, else, endif + 構造をæä¾›ã—ã¦ã„ã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã£ã¦ã€ + 一ã¤ã®å®Ÿéš›ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰è¤‡æ•°ã®è«–ç†ãƒšãƒ¼ã‚¸ã‚’効果的ã«ç”Ÿæˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

æ¡ä»¶æ§‹é€ ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™:

+

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

test_condition + ã¯ã‚らゆる種類ã®è«–ç†çš„比較をã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 値を比較ã—ãŸã‚Šã€ãã®å€¤ãŒ ``真'' ã‹ã©ã†ã‹ã‚’評価ã—ã¾ã™ + (空ã§ãªã„ãªã‚‰ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å­—列ã¯çœŸã§ã™)。 + 利用å¯èƒ½ãªæ¯”較演算å­ã®å…¨ã¦ã®ãƒªã‚¹ãƒˆã«ã¤ã„ã¦ã¯ã€ + mod_include ドキュメンテーションをå‚ç…§ã—ã¦ãã ã•ã„。 + ã“ã“ã§ã¯ã€ã“ã®æ§‹é€ ã‚’ã©ã†ä½¿ç”¨ã™ã‚‹ã‹ã®ä¾‹ã‚’ã„ãã¤ã‹ç¤ºã—ã¾ã™ã€‚

+ +

設定ファイルã§æ¬¡ã®è¡Œã‚’記述ã—ã¾ã™:

+

+ BrowserMatchNoCase macintosh Mac
+ BrowserMatchNoCase MSIE InternetExplorer +

+ +

ã“ã‚Œã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ Macintosh + 上ã§ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã‚¨ã‚¯ã‚¹ãƒ—ローラãŒå‹•ã„ã¦ã„ã‚‹å ´åˆã€ç’°å¢ƒå¤‰æ•° + ``Mac'' 㨠``InternetExplorer'' を真ã¨è¨­å®šã—ã¾ã™ã€‚

+ +

次ã«ã€SSI ãŒå¯èƒ½ã«ãªã£ãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§ä»¥ä¸‹ã‚’è¡Œãªã„ã¾ã™: +

+

+ <!--#if expr="${Mac} && ${InternetExplorer}" -->
+ Apologetic text goes here
+ <!--#else -->
+ Cool JavaScript code goes here
+ <!--#endif --> +

+ +

Mac 上㮠IE ã«å¯¾ã—ã¦ä½•ã‹æ€ã†ã¨ã“ã‚ãŒã‚ã‚‹ã‚ã‘ã§ã‚ã‚Šã¾ã›ã‚“。 + ä»–ã§ã¯å®Ÿè¡Œã§ãã¦ã„ã‚‹ã„ãã¤ã‹ã® JavaScript ã‚’ Mac 上㮠IE + ã§å®Ÿè¡Œã•ã›ã‚‹ã®ã«ã€å…ˆé€±æ•°æ™‚間苦労ã—ãŸã¨ã„ã†ã ã‘ã®ã“ã¨ã§ã™ã€‚ + 上ã®ä¾‹ã¯ãã®æš«å®šçš„ãªå¯¾å‡¦æ–¹æ³•ã§ã™ã€‚

+ +

ä»–ã®ã©ã‚“ãªå¤‰æ•° (ã‚ãªãŸãŒå®šç¾©ã™ã‚‹ã‚‚ã®ã€ + ã¾ãŸã¯æ™®é€šã®ç’°å¢ƒå¤‰æ•°ã®ã„ãšã‚Œã‹) ã‚‚ã€æ¡ä»¶æ–‡ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + Apache 㯠SetEnvIf ディレクティブや他ã®é–¢é€£ + ディレクティブを使用ã—ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã«ã‚ˆã‚Šã€CGI + ã«é ¼ã‚‹ã“ã¨ãªãã‹ãªã‚Šè¤‡é›‘ãªå‹•çš„ãªã“ã¨ã‚’ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
top
+
+

終ã‚ã‚Šã«

+ +

SSI ã¯ç¢ºã‹ã« CGI + ã‚„å‹•çš„ãªã‚¦ã‚§ãƒ–ページを生æˆã™ã‚‹ä»–ã®æŠ€è¡“ã«ä»£ã‚ã‚‹ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + ã—ã‹ã—ã€ãŸãã•ã‚“ã®ä½™åˆ†ãªä½œæ¥­ã‚’ã›ãšã«ã€ + å°‘é‡ã®å‹•çš„ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„を加ãˆã‚‹ã«ã¯ã™ãã‚ŒãŸæ–¹æ³•ã§ã™ã€‚

+
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/ssi.html.ko.euc-kr b/docs/manual/howto/ssi.html.ko.euc-kr new file mode 100644 index 0000000..01ebf3c --- /dev/null +++ b/docs/manual/howto/ssi.html.ko.euc-kr @@ -0,0 +1,458 @@ + + + + + +¾ÆÆÄÄ¡ ÅõÅ丮¾ó: Server Side Includes ¼Ò°³ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ ÅõÅ丮¾ó: Server Side Includes ¼Ò°³

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

Server-side includes¸¦ »ç¿ëÇÏ¿© HTML ¹®¼­¿¡ µ¿ÀûÀÎ ³»¿ëÀ» +Ãß°¡ÇÒ ¼ö ÀÖ´Ù.

+
+ +
top
+
+

¼Ò°³

+ + +

ÀÌ ±ÛÀº º¸Åë SSI¶ó°í ºÎ¸£´Â Server Side Includes¸¦ ¼³¸íÇÑ´Ù. + SSI°¡ °¡´ÉÇϵµ·Ï ¼­¹ö¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ý°ú HTML ÆäÀÌÁö¿¡ µ¿ÀûÀÎ + ³»¿ëÀ» Ãß°¡ÇÏ´Â ±âº»ÀûÀÎ SSI »ç¿ë¹ýÀ» ¼Ò°³ÇÑ´Ù.

+ +

ÀÌ ±ÛÀÇ µÞºÎºÐÀº SSI Áö½Ã¾î Á¶°Ç¹®°ú °°Àº °í±Þ±â¹ýÀ» + ¼³¸íÇÑ´Ù.

+ +
top
+
+

SSI°¡ ¹«¾ùÀΰ¡?

+ +

SSI (Server Side Includes)´Â HTML ÆäÀÌÁö¿¡ »ç¿ëÇÏ´Â Áö½Ã¾î·Î, + ÆäÀÌÁö¸¦ ¼­ºñ½ºÇÒ¶§ ¼­¹ö°¡ ó¸®ÇÑ´Ù. SSI¸¦ »ç¿ëÇϸé CGI + ÇÁ·Î±×·¥À̳ª ´Ù¸¥ µ¿ÀûÀÎ ±â¼ú·Î ÆäÀÌÁö Àüü¸¦ ¸¸µé¾î¼­ + ¼­ºñ½ºÇÏÁö ¾Ê°íµµ HTML ÆäÀÌÁö¿¡ µ¿ÀûÀ¸·Î »ý¼ºÇÑ ³»¿ëÀ» Ãß°¡ÇÒ + ¼ö ÀÖ´Ù.

+ +

SSI¸¦ »ç¿ëÇÒÁö ¾Æ´Ï¸é ÇÁ·Î±×·¥À¸·Î ÆäÀÌÁö Àüü¸¦ »ý¼ºÇÒÁö + °áÁ¤Àº ÆäÀÌÁö¿¡¼­ Á¤ÀûÀÎ ºÎºÐÀÌ ¸¹ÀºÁö¿Í ÆäÀÌÁö¸¦ ¼­ºñ½ºÇÒ + ¶§¸¶´Ù ¾î´ÀÁ¤µµ¸¦ ´Ù½Ã °è»êÇؾßÇÒÁö¿¡ ´Þ·È´Ù. SSI´Â ÇöÀç + ½Ã°£°ú °°ÀÌ ÀûÀº Á¤º¸¸¦ Ãß°¡Çϴµ¥ ÁÁ´Ù. ±×·¯³ª ÆäÀÌÁö¸¦ + ¼­ºñ½ºÇÒ¶§ ÆäÀÌÁöÀÇ ´ëºÎºÐÀ» »ý¼ºÇØ¾ß ÇÑ´Ù¸é ´Ù¸¥ ¹æ¹ýÀ» + ã¾ÆºÁ¾ß ÇÑ´Ù.

+
top
+
+

SSI°¡ °¡´ÉÇϵµ·Ï ¼­¹ö ¼³Á¤Çϱâ

+ + +

¼­¹ö°¡ SSI¸¦ ó¸®ÇÏ·Á¸é httpd.conf ÆÄÀÏÀ̳ª + .htaccess ÆÄÀÏ¿¡¼­ ´ÙÀ½ Áö½Ã¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

+

+ Options +Includes +

+ +

±×·¯¸é ¾ÆÆÄÄ¡´Â ÆÄÀÏ¿¡¼­ SSI Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù. ¼³Á¤¿¡´Â + º¸Åë ¿©·¯ Options Áö½Ã¾î°¡ + ÀÖ°í, ÀÌ Áö½Ã¾îµéÀº ¼­·Î µ¤¾î½á¼­ ¹«È¿·Î ¸¸µé´Ù. ±×·¡¼­ + Áö½Ã¾î¸¦ ¸Ç¸¶Áö¸·¿¡ ó¸®ÇϱâÀ§ÇØ º¸Åë SSI¸¦ ¿øÇϴ ƯÁ¤ + µð·ºÅ丮¿¡¼­ Options¸¦ »ç¿ëÇÑ´Ù.

+ +

¸ðµç ÆÄÀÏ¿¡¼­ SSI Áö½Ã¾î¸¦ ó¸®ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¾ÆÆÄÄ¡¿¡°Ô + ¾î¶² ÆÄÀÏÀ» ó¸®ÇÒÁö ¾Ë·ÁÁà¾ß ÇÑ´Ù. µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. + Çϳª´Â ´ÙÀ½°ú °°Àº Áö½Ã¾î·Î .shtml°ú °°Àº ƯÁ¤ + ÆÄÀÏ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏÀ» ó¸®ÇÏ´Â ¹æ¹ýÀÌ´Ù.

+

+ AddType text/html .shtml
+ AddOutputFilter INCLUDES .shtml +

+ +

ÀÌ ¹æ¹ýÀÇ ´ÜÁ¡Àº ÀÌ¹Ì ÀÖ´Â ÆäÀÌÁö¿¡ SSI Áö½Ã¾î¸¦ Ãß°¡ÇÏ´Â + °æ¿ì SSI Áö½Ã¾î¸¦ ó¸®ÇϱâÀ§ÇØ .shtml È®ÀåÀÚ¸¦ + ºÎ¿©Çϱ⶧¹®¿¡ ÆÄÀϸí°ú ÀÌ ÆäÀÌÁöÀÇ ¸ðµç ¸µÅ©¸¦ º¯°æÇØ¾ß + ÇÏ´Â Á¡ÀÌ´Ù.

+ +

´Ù¸¥ ¹æ¹ýÀº XBitHack + Áö½Ã¾î¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.

+

+ XBitHack on +

+ +

XBitHack´Â + ½ÇÇà±ÇÇÑÀÌ ÀÖ´Â ÆÄÀÏ¿¡¼­ SSI Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù. ±×·¡¼­ ÀÌ¹Ì + ÀÖ´Â ÆäÀÌÁö¿¡ SSI Áö½Ã¾î¸¦ Ãß°¡ÇÑ´Ù¸é ÆÄÀϸíÀ» º¯°æÇÏÁö + ¾Ê°í chmod·Î ÆÄÀÏ¿¡ ½ÇÇà±ÇÇÑÀ» ÁÖ¸é µÈ´Ù.

+

+ chmod +x pagename.html +

+ +

ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í Çϳª. °¡²û .shtml ÆÄÀÏ¸í¿¡ + °ñÄ¡¸¦ ¾ÎÁö¸»°í ¸ðµç .html ÆÄÀÏÀ» SSI ó¸®Ç϶ó°í + Ãæ°íÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù. ÀÌ »ç¶÷µéÀº ¾Æ¸¶µµ XBitHack¿¡ ´ëÇØ ¸ð¸£´Â + °Í °°´Ù. ¸í½ÉÇÒ Á¡Àº ÀÌ·¸°Ô ÇÏ¸é ¾ÆÆÄÄ¡´Â ÆÄÀÏ¿¡ SSI Áö½Ã¾î°¡ + ¾ø´õ¶óµµ Ŭ¶óÀ̾ðÆ®·Î º¸³»´Â ¸ðµç ÆÄÀÏÀ» »ìÆìºÁ¾ß ÇÑ´Ù´Â + °ÍÀÌ´Ù. ¼º´ÉÀÌ ¸Å¿ì ´À·ÁÁú ¼ö ÀÖÀ¸¸ç, ÁÁÀº »ý°¢ÀÌ ¾Æ´Ï´Ù.

+ +

¹°·Ð À©µµ¿ìÁî¿¡¼­´Â ½ÇÇà±ÇÇÑÀ̶õ °ÍÀÌ ¾ø±â¶§¹®¿¡ ÈÄÀÚ¸¦ + »ç¿ëÇÒ ¼ö ¾ø´Ù.

+ +

³»¿ëÀÌ µ¿ÀûÀÌ¿©¼­ °è»êÇϱ⠾î·Æ±â¶§¹®¿¡ ¾ÆÆÄÄ¡ ±âº» ¼³Á¤Àº + SSI ÆäÀÌÁöÀÇ ÃÖ±Ù¼öÁ¤ÀÏ°ú content length HTTP Çì´õ¸¦ º¸³»Áö + ¾Ê´Â´Ù. ±×·¡¼­ ¹®¼­¸¦ ij½¬ÇÏÁö ¸øÇÏ°í Ŭ¶óÀ̾ðÆ®°¡ ´À³¢´Â + ¼º´ÉÀÌ ¶³¾îÁø´Ù. µÎ°¡Áö ÇØ°á¹æ¹ýÀÌ ÀÖ´Ù.

+ +
    +
  1. XBitHack Full ¼³Á¤Àº »ç¿ëÇÑ´Ù. ±×·¯¸é + ¾ÆÆÄÄ¡´Â Æ÷ÇÔÇÏ´Â(include) ÆÄÀϵéÀÇ ¼öÁ¤ÀÏÀº ¹«½ÃÇÑü + ¿ø·¡ ¿äûÇÑ ÆÄÀÏÀÇ ³¯Â¥¸¸ º¸°í ÃÖ±Ù¼öÁ¤ÀÏÀ» ¾Ë¾Æ³½´Ù.
  2. + +
  3. mod_expires¿¡ ÀÖ´Â Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + ÆÄÀÏ¿¡ Á÷Á¢ ¸¸±âÀÏÀ» ¼³Á¤ÇÏ¸é ºê¶ó¿ìÀú¿Í ÇÁ·Ï½Ã°¡ ¹®¼­¸¦ + ij½¬ÇÒ ¼ö ÀÖ´Ù.
  4. +
+
top
+
+

±âº» SSI Áö½Ã¾î

+ +

SSI Áö½Ã¾îÀÇ »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.

+

+ <!--#element attribute=value attribute=value ... --> +

+ +

HTML ÁÖ¼®°°ÀÌ »ý°å±â¶§¹®¿¡ SSI ±â´ÉÀ» °¡µ¿ÇÏÁö ¾Ê¾Æµµ + HTML ¼Ò½º¿¡´Â ³ª¿ÀÁö¸¸ ºê¶ó¿ìÀú´Â ¹«½ÃÇÑ´Ù. SSI¸¦ ¿Ã¹Ù·Î + ¼³Á¤Çϸé Áö½Ã¾î¸¦ °á°ú°ªÀ¸·Î ¹Ù²Û´Ù.

+ +

element´Â ´ÙÀ½Áß Çϳª´Ù. ´ÙÀ½ ȸ¿¡ ´õ ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù. + Áö±ÝÀº SSI·Î ÇÒ ¼ö ÀÖ´Â ¸î°¡Áö ¿¹¸¦ º¸ÀδÙ

+ +

¿À´Ã ³¯Â¥

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

echo element´Â º¯¼ö°ªÀ» ±×´ë·Î Ãâ·ÂÇÑ´Ù. + CGI ÇÁ·Î±×·¥¿¡ Á¦°øÇϴ ȯ°æº¯¼öµé ¿Ü¿¡µµ ¿©·¯ Ç¥ÁØ º¯¼ö°¡ + ÀÖ´Ù. ¶Ç, set element¸¦ »ç¿ëÇÏ¿© Á÷Á¢ º¯¼ö¸¦ + Á¤ÀÇÇÒ ¼öµµ ÀÖ´Ù.

+ +

³¯Â¥ Ãâ·Â Çü½ÄÀÌ ¸¶À½¿¡ µéÁö ¾Ê´Â´Ù¸é, ´ÙÀ½°ú °°ÀÌ + config elementÀÇ timefmt attribute¸¦ + »ç¿ëÇÑ´Ù.

+ +

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Today is <!--#echo var="DATE_LOCAL" --> +

+ + +

ÆÄÀÏÀÇ ¼öÁ¤ÀÏ

+ +

+ ÀÌ ¹®¼­´Â <!--#flastmod file="index.html" -->¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤µÇ¾ú´Ù +

+ +

ÀÌ elementµµ timefmt Çü½Ä ¼³Á¤¿¡ ´Þ·È´Ù.

+ + +

CGI ÇÁ·Î±×·¥ °á°ú¸¦ Æ÷ÇÔÇϱâ

+ +

ÀϹÝÀûÀÎ SSI »ç¿ë¹ýÁß Çϳª·Î, ¸¹ÀÌµé ¾Ö¿ëÇÏ´Â ``¹æ¹®¼ö + Ä«¿îÅÍ'' °°Àº CGI ÇÁ·Î±×·¥ °á°ú¸¦ Ãâ·ÂÇÑ´Ù.

+ +

+ <!--#include virtual="/cgi-bin/counter.pl" --> +

+ + +
top
+
+

Ãß°¡ ¿¹Á¦

+ + +

´ÙÀ½Àº HTML ¹®¼­¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î°¡Áö SSI ¿¹Á¦´Ù.

+ +

ÀÌ ¹®¼­°¡ ¾ðÁ¦ ¸¶Áö¸·À¸·Î +¼öÁ¤µÇ¾ú³ª?

+ +

¾Õ¿¡¼­ SSI¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ¿¡°Ô ¹®¼­ÀÇ ÃÖ±Ù¼öÁ¤ÀÏÀ» + ¾Ë¸± ¼ö ÀÖ´Ù°í ¸»Çß´Ù. ±×·¯³ª ½ÇÁ¦ ¹æ¹ýÀº ¾Ë·ÁÁÖÁö ¾Ê¾Ò´Ù. + ´ÙÀ½ Äڵ带 HTML ¹®¼­¿¡ »ç¿ëÇϸé ÆäÀÌÁö¿¡ ½Ã°£ ±â·ÏÀ» ³²±ä´Ù. + ¹°·Ð À§¿¡¼­ ¼³¸íÇÑ´ë·Î SSI°¡ ¿Ã¹Ù·Î ÀÛµ¿ÇØ¾ß ÇÑ´Ù.

+

+ <!--#config timefmt="%A %B %d, %Y" -->
+ ÀÌ ¹®¼­´Â <!--#flastmod file="ssi.shtml" -->¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤µÇ¾ú´Ù; +

+ +

¹°·Ð ssi.shtml´ë½Å ¿øÇÏ´Â ½ÇÁ¦ ÆÄÀϸíÀ» + »ç¿ëÇÑ´Ù. ¾Æ¹« ÆäÀÌÁö¿¡¶óµµ ºÙ¿©³ÖÀ» ¼ö ÀÖ´Â ¹ü¿ëÄڵ带 + ¿øÇÑ´Ù¸é, ÆÄÀÏ¸í ´ë½Å LAST_MODIFIED º¯¼ö¸¦ + »ç¿ëÇÑ´Ù.

+

+ <!--#config timefmt="%D" -->
+ This file last modified <!--#echo var="LAST_MODIFIED" --> +

+ +

timefmt Çü½Ä¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â °Ë»ö¿£Áø¿¡¼­ + strftimeÀ» ã¾ÆºÁ¶ó. ¹®¹ýÀº °°´Ù.

+ + +

Ç¥ÁØ ÆäÀÌÁö ÇÏ´ÜÀ» Æ÷ÇÔÇϱâ

+ + +

¿©·¯ ÆäÀÌÁö°¡ ÀÖ´Â »çÀÌÆ®¸¦ °ü¸®ÇÑ´Ù¸é ÆäÀÌÁö Àüü¸¦ + ¼öÁ¤ÇÏ´Â °ÍÀº, ƯÈ÷ ÆäÀÌÁöµéÀÌ Ç¥ÁØ ¿Ü°üÀ» °¡Áöµµ·Ï ¼öÁ¤ÇÏ´Â + °ÍÀº Á¤¸»·Î ±«·Ó´Ù.

+ +

ÆäÀÌÁö »ó´Ü(header)°ú ÇÏ´Ü(footer)À» ÆÄÀÏ·Î Æ÷ÇÔÇÏ¿© + ÀÌ·± ¼öÁ¤ÀÇ ºÎ´ãÀ» ´ú ¼ö ÀÖ´Ù. ¸ðµç ÆäÀÌÁö¿¡¼­ + include SSI ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÆäÀÌÁö ÇÏ´Ü ÆÄÀÏ + Çϳª¸¦ Æ÷ÇÔÇÏ¸é µÈ´Ù. include elementÀÇ + file attribute³ª virtual attribute·Î + Æ÷ÇÔÇÒ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù. file attribute´Â ÇöÀç + µð·ºÅ丮¿¡ »ó´ëÀûÀÎ ÆÄÀÏ°æ·Î´Ù. Áï, (/·Î ½ÃÀÛÇÏ´Â) + Àý´ëÆÄÀÏ°æ·Î³ª °æ·Î ¾È¿¡ ../¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. ¾Æ¸¶µµ ¼­ºñ½ºÇÏ´Â + ¹®¼­ÀÇ »ó´ë URLÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â virtual attribute°¡ + ´õ À¯¿ëÇÒ °ÍÀÌ´Ù. °æ·Î¸¦ /·Î ½ÃÀÛÇÒ ¼ö ÀÖÁö¸¸, Æ÷ÇÔÇÏ·Á´Â + ÆÄÀÏÀÌ ¼­ºñ½ºÇÏ´Â ÆÄÀÏ°ú °°Àº ¼­¹ö¿¡ ÀÖ¾î¾ß ÇÑ´Ù.

+

+ <!--#include virtual="/footer.html" --> +

+ +

³ª´Â º¸Åë ÀÌ µÎ°¡Áö¸¦ ÇÕÃļ­ Æ÷ÇÔÇÒ ÆäÀÌÁö ÇÏ´Ü ÆÄÀÏ¿¡ + LAST_MODIFIED Áö½Ã¾î¸¦ ³Ö´Â´Ù. Æ÷ÇÔÇÏ·Á´Â ÆÄÀÏ¿¡µµ + SSI Áö½Ã¾î°¡ ³ª¿Ã ¼ö ÀÖÀ¸¸ç, ÀÌ·¸°Ô Æ÷ÇÔÇÑ ÆÄÀÏÀÌ ´Ù¸¥ ÆÄÀÏÀ» + Æ÷ÇÔÇÏ´Â ½ÄÀ¸·Î ¿©·¯¹ø °è¼Ó Æ÷ÇÔÇÒ ¼öµµ ÀÖ´Ù.

+ + +
top
+
+

ÀÌ¿Ü¿¡ ¼³Á¤ÇÒ ¼ö ÀÖ´Â °ÍÀº?

+ + +

½Ã°£ Çü½Ä config(¼³Á¤) ¿Ü¿¡ µÎ°¡Áö¸¦ ´õ + config(¼³Á¤)ÇÒ ¼ö ÀÖ´Ù.

+ +

º¸Åë SSI Áö½Ã¾î°¡ À߸øµÇ¸é ´ÙÀ½°ú °°Àº ¹®±¸°¡ ³ª¿Â´Ù

+

+ [an error occurred while processing this directive] +

+ +

ÀÌ ¹®±¸¸¦ º¯°æÇÏ°í ½Í´Ù¸é config elementÀÇ + errmsg attribute¸¦ »ç¿ëÇÏ¿© º¯°æÇÑ´Ù.

+

+ <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +

+ +

»çÀÌÆ®¸¦ ¼­ºñ½ºÇϱâ Àü¿¡ ¸ðµç SSI Áö½Ã¾î ¹®Á¦¸¦ ÇØ°áÇÏ¿© + »ç¿ëÀÚ°¡ ÀÌ·± ¹®±¸¸¦ º¸Áö ¾Ê±æ ¹Ù¶õ´Ù. (±×·¸Áö?)

+ +

±×¸®°í sizefmt attribute°¡ ¹ÝȯÇÏ´Â ÆÄÀÏÅ©±â + Çü½ÄÀ» config(¼³Á¤)ÇÒ ¼ö ÀÖ´Ù. ¹ÙÀÌÆ®·Î Å©±â¸¦ + º¸¿©ÁÖ·Á¸é bytes, ÀûÀýÈ÷ Kb³ª Mb·Î Å©±â¸¦ + º¸¿©ÁÖ·Á¸é abbrev¸¦ »ç¿ëÇÑ´Ù.

+
top
+
+

¸í·É¾î ½ÇÇàÇϱâ

+ + +

³ª´Â ´ÙÀ½ ´Þ¿¡ ÀÛÀº CGI ÇÁ·Î±×·¥°ú SSI¸¦ °°ÀÌ »ç¿ëÇÏ´Â + ±ÛÀ» ¾µ ¿¹Á¤ÀÌ´Ù. Áö±ÝÀº exec element·Î ÇÒ + ¼ö ÀÖ´Â ´Ù¸¥ °ÍµéÀ» ¼³¸íÇÒ °ÍÀÌ´Ù. SSI´Â ½ÇÁ¦ ½©À» (Á¤È®È÷´Â + /bin/sh³ª Win32¸¦ »ç¿ëÇÑ´Ù¸é DOS ½©) »ç¿ëÇÏ¿© + ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½Àº µð·ºÅ丮 ¸ñ·ÏÀ» º¸¿©ÁØ´Ù.

+

+ <pre>
+ <!--#exec cmd="ls" -->
+ </pre> +

+ +

or, on Windows

+

+ <pre>
+ <!--#exec cmd="dir" -->
+ </pre> +

+ +

dir Ãâ·Â¿¡ ºê¶ó¿ìÀú°¡ È¥µ¿ÇÒ + ``<dir>'' ¹®ÀÚ¿­ÀÌ Æ÷ÇÔµÇÀֱ⶧¹®¿¡, + À©µµ¿ìÁî¿¡¼­ ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é °á°ú°¡ Á¶±Ý ÀÌ»óÇÒ °ÍÀÌ´Ù.

+ +

ÀÌ ±â´ÉÀº exec ű׿¡ »ç¿ëÇÑ ¾î¶² ¸í·É¾î¶óµµ + ½ÇÇàÇÒ ¼ö Àֱ⶧¹®¿¡ ¸Å¿ì À§ÇèÇÏ´Ù. ``¹æ¸í·Ï''°ú °°ÀÌ »ç¿ëÀÚ°¡ + À¥ÆäÀÌÁö ³»¿ëÀ» ¼öÁ¤ÇÒ ¼ö Àִ ȯ°æÀ̶ó¸é, ÀÌ ±â´ÉÀ» Àý´ë·Î + »ç¿ëÇؼ± ¾ÈµÈ´Ù. Options Áö½Ã¾î¿¡ + IncludesNOEXEC ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÏ¿© SSI¸¦ Çã¿ëÇÏÁö¸¸ + exec ±â´ÉÀ» ¸·À» ¼ö ÀÖ´Ù.

+
top
+
+

°í±Þ SSI ±â¹ý

+ + +

³»¿ëÀ» Ãâ·ÂÇÏ´Â ±â´É ¿Ü¿¡ ¾ÆÆÄÄ¡ SSI´Â º¯¼ö ¼³Á¤ÀÌ °¡´ÉÇÏ°í, + ºñ±³¹®°ú Á¶°Ç¹®¿¡ ÀÌ º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

°æ°í

+ +

ÀÌ ±Û¿¡¼­ ¼³¸íÇÏ´Â ´ëºÎºÐÀÇ ±â´ÉÀº ¾ÆÆÄÄ¡ 1.2 ÀÌÈĺÎÅÍ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹°·Ð, ¾ÆÆÄÄ¡ 1.2 ÀÌ»óÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é + ¾Æ¸¶µµ »¡¸® ¾÷±×·¹À̵åÇØ¾ß ÇÑ´Ù. Çضó. Áö±Ý Çضó. ±â´Ù¸± + °ÍÀÌ´Ù.

+ + +

º¯¼ö ¼³Á¤

+ +

set Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ³ªÁß¿¡ »ç¿ëÇÒ º¯¼ö¸¦ + ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¾ÕÀ¸·Î º¯¼ö°¡ ÇÊ¿äÇϱ⶧¹®¿¡ ¸ÕÀú ¼³¸íÇÑ´Ù. + ¹®¹ýÀº ´ÙÀ½°ú °°´Ù.

+

+ <!--#set var="name" value="Rich" --> +

+ +

´ÙÀ½°ú °°ÀÌ °ªÀ» ¹®ÀÚ±×´ë·Î ¼³Á¤ÇÏÁö ¾Ê°í ȯ°æº¯¼ö³ª À§¿¡¼­ ¼³¸íÇÑ º¯¼ö(¿¹¸¦ + µé¾î, LAST_MODIFIED)¿Í °°ÀÌ ´Ù¸¥ º¯¼ö¸¦ »ç¿ëÇÏ¿© + º¯¼ö°ªÀ» ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. À̶§ º¯¼ö¸í ¾Õ¿¡ ´Þ·¯ Ç¥½Ã($)¸¦ + ºÙ¿©¼­ ¹®ÀÚ¿­ÀÌ ¾Æ´Ñ º¯¼öÀÓÀ» Ç¥½ÃÇÑ´Ù.

+ +

<!--#set var="modified" value="$LAST_MODIFIED" --> +

+ +

º¯¼ö°ª¿¡ ´Þ·¯ ¹®ÀÚ¸¦ ±×´ë·Î ÀÔ·ÂÇÏ·Á¸é ´Þ·¯ Ç¥½Ã ¾Õ¿¡ + ¹é½½·¡½¬¸¦ »ç¿ëÇÑ´Ù.

+

+ <!--#set var="cost" value="\$100" --> +

+ +

¸¶Áö¸·À¸·Î ±ä ¹®ÀÚ¿­ Áß°£¿¡ º¯¼ö¸¦ »ç¿ëÇϴµ¥ µÚ¿¡ ÀÖ´Â + ¹®ÀÚµµ º¯¼ö¸íÀ¸·Î ¿ÀÀÎÇÏ¿© È¥µ¿µÇ´Â °æ¿ì, º¯¼ö¸íÀ» ´ë°ýÈ£·Î + ¹­¾î¼­ È®½ÇÈ÷ ÇÑ´Ù. (ÁÁÀº ¿¹¸¦ ã±â ÈûµéÁö¸¸, ¹«½¼ ¸»ÀÎÁö + ÀÌÇØÇÏ±æ ¹Ù¶õ´Ù.)

+

+ <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +

+ + +

Á¶°Ç Ç¥Çö½Ä

+ + +

º¯¼ö¸¦ ¼³Á¤ÇÏ°í ºñ±³ÇÒ ¼ö ÀÖÀ¸´Ï Á¶°Ç¹®ÀÌ °¡´ÉÇÏ´Ù. ÀÌÁ¦ + SSI°¡ ÀÏÁ¾ÀÇ °£´ÜÇÑ ÇÁ·Î±×·¡¹Ö¾ð¾î°¡ µÈ´Ù. + mod_include´Â Á¶°Ç¹®À» ¸¸µå´Â if, + elif, else, endif + ±¸Á¶¸¦ Á¦°øÇÑ´Ù. ½ÇÁ¦ ÇÑ ÆäÀÌÁö·Î ¿©·¯ ³í¸®ÀûÀÎ ÆäÀÌÁö¸¦ + ¸¸µé ¼ö ÀÖ´Ù.

+ +

Á¶°Ç¹® ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.

+

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

test_condition¿¡´Â ¾î¶² ³í¸®ºñ±³¶óµµ »ç¿ëÇÒ + ¼ö ÀÖ´Ù. °ªÀ» ´Ù¸¥ °ª°ú ºñ±³Çϰųª, ƯÁ¤ °ªÀÌ ``Âü''ÀÎÁö + °Ë»çÇÑ´Ù. (¹®ÀÚ¿­ÀÌ ºñ¾îÀÖÁö ¾ÊÀ¸¸é ÂüÀÌ´Ù.) »ç¿ë°¡´ÉÇÑ + ºñ±³ ¿¬»êÀÚ¸¦ ¸ðµÎ º¸·Á¸é, mod_include + ¹®¼­¸¦ Âü°íÇ϶ó. ´ÙÀ½Àº Á¶°Ç¹®À» »ç¿ëÇÑ ¸î°¡Áö ¿¹Á¦´Ù.

+ +

¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½ ÁÙÀ» Ãß°¡ÇÑ´Ù.

+

+ BrowserMatchNoCase macintosh Mac
+ BrowserMatchNoCase MSIE InternetExplorer +

+ +

Ŭ¶óÀ̾ðÆ®°¡ ¸ÆŲÅä½Ã¿¡¼­ ½ÇÇàÇÏ´Â Internet Explorer¶ó¸é + ȯ°æº¯¼ö ``Mac''°ú ``InternetExplorer'' ¸ðµÎ ÂüÀ¸·Î ¼³Á¤ÇÑ´Ù.

+ +

±×¸®°í SSI ¹®¼­¿¡ ´ÙÀ½°ú °°ÀÌ Àû´Â´Ù.

+

+ <!--#if expr="${Mac} && ${InternetExplorer}" -->
+ ¿©±â¿¡ »ç°ú¹®°¡ ³ª¿Â´Ù
+ <!--#else -->
+ ¿©±â¿¡ ¸ÚÁø JavaScript Äڵ尡 ³ª¿Â´Ù
+ <!--#endif --> +

+ +

³»°¡ ¸ÅŲÅä½Ã IE¿¡ ¹Ý°¨ÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ³ª´Â ´ÜÁö + Àú¹øÁÖ¿¡ ´Ù¸¥ °÷¿¡¼­´Â ¹®Á¦°¡ ¾ø´Â JavaScript Äڵ尡 ¸ÅŲÅä½Ã + IE¿¡¼­´Â µ¿ÀÛÇÏÁö ¾Ê¾Æ¼­ ¸î½Ã°£À» °í»ýÇß´Ù. À§´Â Àӽà + ÇØ°áÃ¥ÀÌ´Ù.

+ +

(Á÷Á¢ Á¤ÀÇÇÏ¿´°Ç ÀÏ¹Ý È¯°æº¯¼öÀÌ°Ç) ¾î¶² º¯¼ö¶óµµ Á¶°Ç¹®¿¡ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Æ¶óÄ¡´Â SetEnvIf³ª ´Ù¸¥ °ü·Ã + Áö½Ã¾î·Î ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö Àֱ⶧¹®¿¡ CGI ¾øÀ̵µ ¸ÚÁö°Ô + µ¿ÀûÀÎ ³»¿ëÀ» ¸¸µé ¼ö ÀÖ´Ù.

+ +
top
+
+

°á·Ð

+ +

SSI´Â È®½ÇÈ÷ CGI³ª µ¿ÀûÀÎ À¥ÆäÀÌÁö¸¦ »ý¼ºÇÏ´Â ´Ù¸¥ ±â¼úÀ» + ´ëüÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ¸¹Àº Ãß°¡ ÀÛ¾÷¾øÀÌ ÆäÀÌÁö¿¡ µ¿ÀûÀÎ + ³»¿ëÀ» Á¶±Ý Ãß°¡Çϱ⿡´Â ÈǸ¢ÇÑ ¹æ¹ýÀÌ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/images/apache_header.gif b/docs/manual/images/apache_header.gif new file mode 100644 index 0000000..260e421 Binary files /dev/null and b/docs/manual/images/apache_header.gif differ diff --git a/docs/manual/images/bal-man-b.png b/docs/manual/images/bal-man-b.png new file mode 100644 index 0000000..941a948 Binary files /dev/null and b/docs/manual/images/bal-man-b.png differ diff --git a/docs/manual/images/bal-man-w.png b/docs/manual/images/bal-man-w.png new file mode 100644 index 0000000..4e5e9a4 Binary files /dev/null and b/docs/manual/images/bal-man-w.png differ diff --git a/docs/manual/images/bal-man.png b/docs/manual/images/bal-man.png new file mode 100644 index 0000000..2142943 Binary files /dev/null and b/docs/manual/images/bal-man.png differ diff --git a/docs/manual/images/build_a_mod_2.png b/docs/manual/images/build_a_mod_2.png new file mode 100644 index 0000000..cf21e6a Binary files /dev/null and b/docs/manual/images/build_a_mod_2.png differ diff --git a/docs/manual/images/build_a_mod_3.png b/docs/manual/images/build_a_mod_3.png new file mode 100644 index 0000000..9df5449 Binary files /dev/null and b/docs/manual/images/build_a_mod_3.png differ diff --git a/docs/manual/images/build_a_mod_4.png b/docs/manual/images/build_a_mod_4.png new file mode 100644 index 0000000..be0d2de Binary files /dev/null and b/docs/manual/images/build_a_mod_4.png differ diff --git a/docs/manual/images/caching_fig1.gif b/docs/manual/images/caching_fig1.gif new file mode 100644 index 0000000..456da36 Binary files /dev/null and b/docs/manual/images/caching_fig1.gif differ diff --git a/docs/manual/images/caching_fig1.png b/docs/manual/images/caching_fig1.png new file mode 100644 index 0000000..14794a7 Binary files /dev/null and b/docs/manual/images/caching_fig1.png differ diff --git a/docs/manual/images/caching_fig1.tr.png b/docs/manual/images/caching_fig1.tr.png new file mode 100644 index 0000000..0ccf94e Binary files /dev/null and b/docs/manual/images/caching_fig1.tr.png differ diff --git a/docs/manual/images/custom_errordocs.png b/docs/manual/images/custom_errordocs.png new file mode 100644 index 0000000..aeb5b5f Binary files /dev/null and b/docs/manual/images/custom_errordocs.png differ diff --git a/docs/manual/images/down.gif b/docs/manual/images/down.gif new file mode 100644 index 0000000..2194532 Binary files /dev/null and b/docs/manual/images/down.gif differ diff --git a/docs/manual/images/favicon.ico b/docs/manual/images/favicon.ico new file mode 100644 index 0000000..cb6dc78 Binary files /dev/null and b/docs/manual/images/favicon.ico differ diff --git a/docs/manual/images/feather.gif b/docs/manual/images/feather.gif new file mode 100644 index 0000000..0090a4b Binary files /dev/null and b/docs/manual/images/feather.gif differ diff --git a/docs/manual/images/feather.png b/docs/manual/images/feather.png new file mode 100644 index 0000000..1d45037 Binary files /dev/null and b/docs/manual/images/feather.png differ diff --git a/docs/manual/images/filter_arch.png b/docs/manual/images/filter_arch.png new file mode 100644 index 0000000..fb4a823 Binary files /dev/null and b/docs/manual/images/filter_arch.png differ diff --git a/docs/manual/images/filter_arch.tr.png b/docs/manual/images/filter_arch.tr.png new file mode 100644 index 0000000..9696fcc Binary files /dev/null and b/docs/manual/images/filter_arch.tr.png differ diff --git a/docs/manual/images/home.gif b/docs/manual/images/home.gif new file mode 100644 index 0000000..11299c1 Binary files /dev/null and b/docs/manual/images/home.gif differ diff --git a/docs/manual/images/index.gif b/docs/manual/images/index.gif new file mode 100644 index 0000000..741c893 Binary files /dev/null and b/docs/manual/images/index.gif differ diff --git a/docs/manual/images/left.gif b/docs/manual/images/left.gif new file mode 100644 index 0000000..2be3931 Binary files /dev/null and b/docs/manual/images/left.gif differ diff --git a/docs/manual/images/mod_filter_new.gif b/docs/manual/images/mod_filter_new.gif new file mode 100644 index 0000000..1566078 Binary files /dev/null and b/docs/manual/images/mod_filter_new.gif differ diff --git a/docs/manual/images/mod_filter_new.png b/docs/manual/images/mod_filter_new.png new file mode 100644 index 0000000..1304e97 Binary files /dev/null and b/docs/manual/images/mod_filter_new.png differ diff --git a/docs/manual/images/mod_filter_new.tr.png b/docs/manual/images/mod_filter_new.tr.png new file mode 100644 index 0000000..8ec1371 Binary files /dev/null and b/docs/manual/images/mod_filter_new.tr.png differ diff --git a/docs/manual/images/mod_filter_old.gif b/docs/manual/images/mod_filter_old.gif new file mode 100644 index 0000000..d9a9ede Binary files /dev/null and b/docs/manual/images/mod_filter_old.gif differ diff --git a/docs/manual/images/mod_filter_old.png b/docs/manual/images/mod_filter_old.png new file mode 100644 index 0000000..56c02d8 Binary files /dev/null and b/docs/manual/images/mod_filter_old.png differ diff --git a/docs/manual/images/mod_rewrite_fig1.gif b/docs/manual/images/mod_rewrite_fig1.gif new file mode 100644 index 0000000..664ac1e Binary files /dev/null and b/docs/manual/images/mod_rewrite_fig1.gif differ diff --git a/docs/manual/images/mod_rewrite_fig1.png b/docs/manual/images/mod_rewrite_fig1.png new file mode 100644 index 0000000..f012e81 Binary files /dev/null and b/docs/manual/images/mod_rewrite_fig1.png differ diff --git a/docs/manual/images/mod_rewrite_fig2.gif b/docs/manual/images/mod_rewrite_fig2.gif new file mode 100644 index 0000000..3ea8cb6 Binary files /dev/null and b/docs/manual/images/mod_rewrite_fig2.gif differ diff --git a/docs/manual/images/mod_rewrite_fig2.png b/docs/manual/images/mod_rewrite_fig2.png new file mode 100644 index 0000000..6ee23b0 Binary files /dev/null and b/docs/manual/images/mod_rewrite_fig2.png differ diff --git a/docs/manual/images/pixel.gif b/docs/manual/images/pixel.gif new file mode 100644 index 0000000..c080147 Binary files /dev/null and b/docs/manual/images/pixel.gif differ diff --git a/docs/manual/images/reverse-proxy-arch.png b/docs/manual/images/reverse-proxy-arch.png new file mode 100644 index 0000000..c2ccb97 Binary files /dev/null and b/docs/manual/images/reverse-proxy-arch.png differ diff --git a/docs/manual/images/rewrite_backreferences.png b/docs/manual/images/rewrite_backreferences.png new file mode 100644 index 0000000..49e2476 Binary files /dev/null and b/docs/manual/images/rewrite_backreferences.png differ diff --git a/docs/manual/images/rewrite_process_uri.png b/docs/manual/images/rewrite_process_uri.png new file mode 100644 index 0000000..525790d Binary files /dev/null and b/docs/manual/images/rewrite_process_uri.png differ diff --git a/docs/manual/images/rewrite_rule_flow.png b/docs/manual/images/rewrite_rule_flow.png new file mode 100644 index 0000000..9c5b08b Binary files /dev/null and b/docs/manual/images/rewrite_rule_flow.png differ diff --git a/docs/manual/images/right.gif b/docs/manual/images/right.gif new file mode 100644 index 0000000..f27eb97 Binary files /dev/null and b/docs/manual/images/right.gif differ diff --git a/docs/manual/images/ssl_intro_fig1.gif b/docs/manual/images/ssl_intro_fig1.gif new file mode 100644 index 0000000..3c20986 Binary files /dev/null and b/docs/manual/images/ssl_intro_fig1.gif differ diff --git a/docs/manual/images/ssl_intro_fig1.png b/docs/manual/images/ssl_intro_fig1.png new file mode 100644 index 0000000..7f7f514 Binary files /dev/null and b/docs/manual/images/ssl_intro_fig1.png differ diff --git a/docs/manual/images/ssl_intro_fig2.gif b/docs/manual/images/ssl_intro_fig2.gif new file mode 100644 index 0000000..26b295a Binary files /dev/null and b/docs/manual/images/ssl_intro_fig2.gif differ diff --git a/docs/manual/images/ssl_intro_fig2.png b/docs/manual/images/ssl_intro_fig2.png new file mode 100644 index 0000000..873b116 Binary files /dev/null and b/docs/manual/images/ssl_intro_fig2.png differ diff --git a/docs/manual/images/ssl_intro_fig3.gif b/docs/manual/images/ssl_intro_fig3.gif new file mode 100644 index 0000000..00a975b Binary files /dev/null and b/docs/manual/images/ssl_intro_fig3.gif differ diff --git a/docs/manual/images/ssl_intro_fig3.png b/docs/manual/images/ssl_intro_fig3.png new file mode 100644 index 0000000..969dd4f Binary files /dev/null and b/docs/manual/images/ssl_intro_fig3.png differ diff --git a/docs/manual/images/sub.gif b/docs/manual/images/sub.gif new file mode 100644 index 0000000..93061c5 Binary files /dev/null and b/docs/manual/images/sub.gif differ diff --git a/docs/manual/images/syntax_rewritecond.png b/docs/manual/images/syntax_rewritecond.png new file mode 100644 index 0000000..7c463c8 Binary files /dev/null and b/docs/manual/images/syntax_rewritecond.png differ diff --git a/docs/manual/images/syntax_rewriterule.png b/docs/manual/images/syntax_rewriterule.png new file mode 100644 index 0000000..5eb5fb8 Binary files /dev/null and b/docs/manual/images/syntax_rewriterule.png differ diff --git a/docs/manual/images/up.gif b/docs/manual/images/up.gif new file mode 100644 index 0000000..5afcbe2 Binary files /dev/null and b/docs/manual/images/up.gif differ diff --git a/docs/manual/index.html b/docs/manual/index.html new file mode 100644 index 0000000..0b78a95 --- /dev/null +++ b/docs/manual/index.html @@ -0,0 +1,45 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.da +Content-Language: da +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.pt-br +Content-Language: pt-br +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.ru.utf8 +Content-Language: ru +Content-type: text/html; charset=UTF-8 + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/index.html.da b/docs/manual/index.html.da new file mode 100644 index 0000000..a48d4eb --- /dev/null +++ b/docs/manual/index.html.da @@ -0,0 +1,121 @@ + + + + + +Apache HTTP Server Version 2.4 +Dokumentation - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ + +
+

Tilgængelige sprog:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.de b/docs/manual/index.html.de new file mode 100644 index 0000000..1da290d --- /dev/null +++ b/docs/manual/index.html.de @@ -0,0 +1,130 @@ + + + + + +Dokumentation zum Apache HTTP Server Version +2.4 - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

Dokumentation zum Apache HTTP Server Version +2.4

+
+

Verfügbare Sprachen:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+

+
+
+

Verfügbare Sprachen:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.en b/docs/manual/index.html.en new file mode 100644 index 0000000..e7079d3 --- /dev/null +++ b/docs/manual/index.html.en @@ -0,0 +1,127 @@ + + + + + +Apache HTTP Server Version 2.4 +Documentation - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ + +
+

Available Languages:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.es b/docs/manual/index.html.es new file mode 100644 index 0000000..2d020ce --- /dev/null +++ b/docs/manual/index.html.es @@ -0,0 +1,129 @@ + + + + + +Apache HTTP Server Versión 2.4 +Documentación - Servidor HTTP Apache Versión 2.4 + + + + + + + + +
<-
+ +

Apache HTTP Server Versión 2.4 +Documentación

+
+

Idiomas disponibles:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+

+
+
+

Idiomas disponibles:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.fr.utf8 b/docs/manual/index.html.fr.utf8 new file mode 100644 index 0000000..ae6b213 --- /dev/null +++ b/docs/manual/index.html.fr.utf8 @@ -0,0 +1,130 @@ + + + + + +Documentation du Serveur HTTP Apache Version 2.4 + - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +

Documentation du Serveur HTTP Apache Version 2.4 +

+
+

Langues Disponibles:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+

+
+
+

Langues Disponibles:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.ja.utf8 b/docs/manual/index.html.ja.utf8 new file mode 100644 index 0000000..e6c082e --- /dev/null +++ b/docs/manual/index.html.ja.utf8 @@ -0,0 +1,129 @@ + + + + + +Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 +ドキュメント - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +

Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 +ドキュメント

+
+

翻訳済ã¿è¨€èªž:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+

+
+
+

翻訳済ã¿è¨€èªž:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.ko.euc-kr b/docs/manual/index.html.ko.euc-kr new file mode 100644 index 0000000..191e7f9 --- /dev/null +++ b/docs/manual/index.html.ko.euc-kr @@ -0,0 +1,118 @@ + + + + + +Apache HTTP Server Version 2.4 ¹®¼­ - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

Apache HTTP Server Version 2.4 ¹®¼­

+
+

°¡´ÉÇÑ ¾ð¾î:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+

+
+
+

°¡´ÉÇÑ ¾ð¾î:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.pt-br b/docs/manual/index.html.pt-br new file mode 100644 index 0000000..0625f46 --- /dev/null +++ b/docs/manual/index.html.pt-br @@ -0,0 +1,123 @@ + + + + + +Documentação do Servidor HTTP Apache Versão +2.4 - Servidor HTTP Apache Versão 2.4 + + + + + + + + +
<-
+ +

Documentação do Servidor HTTP Apache Versão +2.4

+
+

Línguas Disponíveis:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+
Esta tradução pode estar desatualizada. + Confira a versão em Inglês para mudanças recentes.
+

+
+
+

Línguas Disponíveis:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.ru.utf8 b/docs/manual/index.html.ru.utf8 new file mode 100644 index 0000000..c4e1a82 --- /dev/null +++ b/docs/manual/index.html.ru.utf8 @@ -0,0 +1,127 @@ + + + + + +Apache HTTP Server верÑÐ¸Ñ 2.4 +Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ - HTTP Ñервер Apache ВерÑÐ¸Ñ 2.4 + + + + + + + + +
<-
+ +

Apache HTTP Server верÑÐ¸Ñ 2.4 +ДокументациÑ

+
+

Available Languages:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+

+

РуководÑтво пользователÑ

+ +
+
+

Available Languages:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.tr.utf8 b/docs/manual/index.html.tr.utf8 new file mode 100644 index 0000000..95895e7 --- /dev/null +++ b/docs/manual/index.html.tr.utf8 @@ -0,0 +1,127 @@ + + + + + +Apache HTTP Sunucusu Sürüm 2.4 +Belgeleri - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +

Apache HTTP Sunucusu Sürüm 2.4 +Belgeleri

+
+

Mevcut Diller:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+

+
+
+

Mevcut Diller:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/index.html.zh-cn.utf8 b/docs/manual/index.html.zh-cn.utf8 new file mode 100644 index 0000000..9a9b6b0 --- /dev/null +++ b/docs/manual/index.html.zh-cn.utf8 @@ -0,0 +1,124 @@ + + + + + +Apache HTTP æœåŠ¡å™¨ 2.4 文档 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + + +
<-
+ +

Apache HTTP æœåŠ¡å™¨ 2.4 文档

+
+

å¯ç”¨è¯­è¨€:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+

+
+
+

å¯ç”¨è¯­è¨€:  da  | + de  | + en  | + es  | + fr  | + ja  | + ko  | + pt-br  | + ru  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/install.html b/docs/manual/install.html new file mode 100644 index 0000000..f360b79 --- /dev/null +++ b/docs/manual/install.html @@ -0,0 +1,29 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: install.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: install.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: install.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: install.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: install.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: install.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: install.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/install.html.de b/docs/manual/install.html.de new file mode 100644 index 0000000..ebb48fb --- /dev/null +++ b/docs/manual/install.html.de @@ -0,0 +1,436 @@ + + + + + +Kompilieren und Installieren - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Kompilieren und Installieren

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Dieses Dokument umfaßt nur die Kompilierung und Installation des + Apache auf Unix und Unix-ähnlichen Systemen. Für die + Kompilierung und Installation unter Windows lesen Sie bitte Den Apache unter Microsoft Windows + betreiben. Für andere Plattformen lesen Sie bitte die + Dokumentation Plattformen.

+ +

Die Konfigurations- und Installationsumgebung des Apache 2.0 hat sich + seit dem Apache 1.3 komplett verändert. Der Apache 1.3 benutzt einen + speziellen Satz von Skripten, um eine einfache Installation zu + ermöglichen. Der Apache 2.0 dagegen verwendet nun + libtool und autoconf, um eine Umgebung zu + schaffen, die der vieler anderer Open Source Projekte ähnlich + sieht.

+ +

Wenn Sie von einer Unterversion auf die nächste aktualisieren (z.B. + von 2.0.50 auf 2.0.51), springen Sie bitte zum Abschnitt Upgrade.

+
+ +
top
+
+

Überblick für die Ungeduldigen

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Download$ lynx http://httpd.apache.org/download.cgi +
Auspacken$ gzip -d httpd-2_1_NN.tar.gz
+ $ tar xvf httpd-2_1_NN.tar
Konfigurieren$ ./configure --prefix=PREFIX +
Kompilieren$ make
Installieren$ make install
Anpassen$ vi PREFIX/conf/httpd.conf
Testen$ PREFIX/bin/apachectl start +
+ +

NN muss durch die Nummer der Unterversion ersetzt werden, + und PREFIX durch den Verzeichnispfad, + in dem der Server installiert werden soll. Wenn PREFIX nicht + angegeben ist, wird die Voreinstellung /usr/local/apache2 + verwendet.

+ +

Beginnend mit den Anforderungen + für die Kompilierung und Installation des Apache HTTPD ist + weiter unten jeder Abschnitt des Kompilierungs- und + Installationsvorganges genauer beschrieben.

+
top
+
+

Anforderungen

+ +

Folgende Anforderungen gelten für die Erstellung des + Apache:

+ +
+
Plattenplatz
+
Stellen Sie sicher, dass Sie kurzzeitig wenigstens 50 MB freien + Festplattenplatz zur Verfügung haben. Nach der Installation + belegt der Apache ungefähr 10 MB Plattenplatz. Der + tatsächliche Platzbedarf variiert in Abhängigkeit von den + gewählten Konfigurationseinstellungen und + Modulen von Drittanbietern.
+ +
ANSI-C-Compiler und Generierungswerkzeuge
+
Stellen Sie sicher, dass Sie einen ANSI-C Compiler installiert + haben. Der GNU C + Compiler (GCC) der Free Software + Foundation (FSF) ist empfehlenswert (Version 2.7.2 ist gut). Wenn + Sie den GCC nicht besitzen, stellen Sie zumindest sicher, dass der + Compiler Ihres Anbieters ANSI-kompatibel ist. Außerdem muss Ihr + PATH wesentliche Generierungswerkzeuge wie + make enthalten.
+ +
Zeitgenauigkeit bewahren
+
Elemente des HTTP-Protokolls werden in Form einer Tageszeit + ausgedrückt. Darum sollten Sie jetzt prüfen, ob Ihr System + die Fähigkeit zur Zeitsynchronisation besitzt, und diese + gegebenenfalls installieren. Üblicherweise werden hierfür + die Programme ntpdate oder xntpd verwendet, + die auf dem Network Time Protocol (NTP) basieren. Nähere + Informationen über NTP Software und öffentliche Zeitserver + finden Sie in der Usenet Newsgroup comp.protocols.time.ntp + und auf der NTP + Homepage.
+ +
Perl 5 + [OPTIONAL]
+
Für einige Hilfsskripte wie apxs + oder dbmmanage (die in Perl + geschrieben sind) wird der Perl 5 Interpreter benötigt (die + Versionen ab 5.003 sind ausreichend). Wenn Sie mehrere Perl + Interpreter haben (beispielsweise eine systemweite Installation von + Perl 4 und Ihre eigene Perl 5-Installation), dann sollten Sie die + --with-perl-Option (siehe unten) verwenden, um + sicherzustellen, dass der richtige Interpreter von + configure ausgewählt wird. + Wenn kein Perl 5-Interpreter vom configure-Skript + gefunden werden kann, können Sie die betroffenen Hilfsskripte nicht + verwenden, sind jedoch selbstverständlich nach wie vor in der Lage, + den Apache 2.0 zu bauen und zu installieren.
+
+
top
+
+

Download

+ +

Der Apache kann von der Apache HTTP Server + Downloadseite heruntergeladen werden, auf der verschiedene Spiegelserver + angegeben sind. Für die meisten Benutzer des Apache ist es auf + Unix-ähnlichen Systemen am Besten, die Quellcodeversion herunterzuladen + und zu kompilieren. Der Erstellungsprozess (weiter unten beschrieben) ist + einfach und erlaubt es Ihnen, den Server Ihren Bedürfnissen anzupassen. + Dazu kommt, dass Binärdistributionen gegenüber der aktuellen + Quellcodeversion oft veraltet sind. Wenn Sie tatsächlich ein + Binärpaket herunterladen, folgen Sie bitte den Anweisungen in der Datei + INSTALL.bindist, die der Distribution beiliegt.

+ +

Es ist wichtig, dass Sie nach dem Herunterladen überprüfen, + dass es sich um einer vollständige und unveränderte Version des + Apache HTTP Servers handelt. Das können Sie erreichen, indem Sie das + heruntergeladene Paket gegen die PGP-Signatur prüfen. Einzelheiten dazu + erfahren Sie auf der Download-Seite. Es + ist auch ein erweitertes Beispiel verfügbar, dass die Anwendung von PGP + beschreibt.

+ +
top
+
+

Auspacken

+ +

Das Auspacken des Quellcodes aus dem Apache HTTPD Tarball besteht + aus einem simplen Dekomprimieren und danach "Ent-tarren":

+ +

+ $ gzip -d httpd-2_1_NN.tar.gz
+ $ tar xvf httpd-2_1_NN.tar +

+ +

Dies erstellt unterhalb des aktuellen Verzeichnisses ein neues + Verzeichnis, das den Quellcode für die Distribution enthält. + Sie sollten mit cd in dieses Verzeichnis wechseln, + bevor Sie mit der Kompilierung des Servers weitermachen.

+ +
top
+
+

Den Codebaum konfigurieren

+ +

Der nächste Schritt ist die Konfiguration des + Apache-Codebaumes für Ihre spezielle Plattform und Ihre + persönlichen Bedürfnisse. Dies wird mit dem Skript + configure durchgeführt, das im Wurzelverzeichnis + der Distribution enthalten ist. (Entwickler, welche die CVS Version + des Apache-Codebaumes herunterladen, müssen autoconf + und libtool installiert haben und müssen + buildconf ausführen, bevor sie mit den + nächsten Schritten fortfahren können. Dies wird bei + offiziellen Releases nicht notwendig sein.)

+ +

Um den Codebaum mit den Standardeinstellungen zu konfigurieren, + geben Sie einfach ./configure ein. Zur Änderung + dieser Voreinstellungen akzeptiert configure eine + Reihe von Variablen und Kommandozeilenoptionen.

+ +

Die wichtigste Option ist --prefix, der Ablageort, an dem + der Apache später installiert wird, da er für diesen Ort + konfiguriert werden muss, um korrekt zu arbeiten. Eine feinere Einstellung + der Dateiablagen ist mit weiteren configure-Optionen + möglich.

+ +

Weiterhin können Sie zu diesem Zeitpunkt festlegen, welche Funktionalität Sie + in den Apache aufnehmen möchten, indem Sie Module + aktivieren oder deaktivieren. Der Apache bindet standardmäßig + einen Satz von Basismodulen ein. + Andere Module werden mit Hilfe der Option + --enable-module aktiviert, wobei module + den Namen des Moduls ohne das Präfix mod_ darstellt. + Ausserdem sind alle Unterstriche durch Bindestriche zu ersetzen. Sie + können sich auch entscheiden, Module als "Shared + Objects (DSOs)" zu kompilieren, welche zur Laufzeit ge- und entladen + werden können. Dazu verwenden Sie die Option + --enable-module=shared. Entsprechend können Sie + Basismodule mit der Option --disable-module + deaktivieren. Lassen Sie Vorsicht walten. wenn Sie diese Optionen verwenden, + da configure Sie nicht warnen kann, wenn die von Ihnen + angegebenen Module nicht existieren; die Option wird dann einfach + ignoriert.

+ +

Zusätzlich ist es zuweilen notwendig, das + configure-Skript mit Extrainformationen zum Ablageort + Ihres Compilers, Ihrer Bibliotheken oder Header-Dateien zu versorgen. Das + tun Sie, indem Sie entweder Umgebungsvariablen oder Kommandozeilenoptionen + an configure übergeben. Für mehr Informationen + lesen Sie bitte die Hilfeseite zu configure.

+ +

Um einen kurzen Eindruck zu gewinnen, welche Möglichkeiten Sie + haben, folgt hier ein typisches Beispiel, das den Apache mit einem + speziellen Compiler und Compilerflags für das + Installationsverzeichnis /sk/pkg/apache kompiliert, sowie + die beiden zusätzlichen Module mod_rewrite und + mod_speling für späteres Laden durch den + DSO-Mechanismus:

+ +

+ $ CC="pgcc" CFLAGS="-O2" \
+ ./configure --prefix=/sw/pkg/apache \
+ --enable-rewrite=shared \
+ --enable-speling=shared +

+ +

Wenn configure startet, benötigt es mehrere + Minuten, um die Verfügbarkeit von Features auf Ihrem System zu + prüfen und ein Makefile zu generieren, das später zur + Kompilierung des Servers verwendet wird.

+ +

Einzelheiten zu den vielen verschiedenen configure-Optionen finden Sie auf der Hilfeseite zu + configure.

+ +
top
+
+

Erstellen

+ +

Nun können Sie die verschiedenen Teile, die das Apache-Paket + bilden, einfach durch Ausführen des folgenden Befehls erstellen:

+ +

$ make

+ +

Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration + benötigt ungefähr 3 Minuten auf einem Pentium III/Linux 2.2. + System. Dies kann aber abhängig von Ihrer Hardware und der Anzahl + der Module, die Sie aktiviert haben, sehr stark variieren.

+
top
+
+

Installieren

+ +

Nun endlich installieren Sie das Package unter dem konfigurierten + Installations-PREFIX (siehe oben: Option --prefix + durch Aufrufen von:

+ +

$ make install

+ +

Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien + oder Dokumente nicht überschrieben.

+
top
+
+

Anpassen

+ +

Als nächstes können Sie Ihren Apache HTTP Server anpassen, + indem Sie die Konfigurationsdateien + unterhalb von PREFIX/conf/ editieren.

+ +

$ vi PREFIX/conf/httpd.conf

+ +

Werfen Sie auch einen Blick in das Apache-Handbuch unter docs/manual/. Die aktuellste Version dieses Handbuchs + sowie eine komplette Referenz der verfügbaren Konfigurationsanweisungen finden + Sie unter http://httpd.apache.org/docs/2.4/.

+
top
+
+

Testen

+ +

Sie können nun Ihren Apache HTTP Server starten, indem Sie einfach

+ +

$ PREFIX/bin/apachectl start

+ +

ausführen.

+ +

Danach sollten Sie Ihr erstes Dokument unter dem URL + http://localhost/ anfordern können. Die Webseite, + die Sie sehen, ist im DocumentRoot + abgelegt, welches üblicherweise PREFIX/htdocs/ + ist. Den Server stoppen Sie wieder durch + Ausführen von:

+ +

$ PREFIX/bin/apachectl stop

+
top
+
+

Upgrade

+ +

Der erste Schritt beim Aktualisieren besteht darin, die + Versionsankündigung sowie die CHANGES-Datei in der + Quelltextdistribution zu lesen, um Änderungen zu finden, die Ihr + System möglicherweise betreffen. Wenn Sie einen größeren + Versionssprung durchführen (z.B. vom 1.3 auf 2.0 oder von 2.0 auf + 2.2), wird es wahrscheinlich auch größere Unterschiede in der + Kompilier- und Laufzeitkonfiguration geben, die manuelle Nacharbeiten + erfordern. Außerdem müssen alle Module aktualisiert + werden, um den Änderungen der Modul-API gerecht zu werden.

+ +

Die Aktualisierung einer Unterversion auf eine andere (z.B. von 2.0.55 + auf 2.0.57) ist einfacher. make install überschreibt + keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien. + Ausserdem bemühen sich die Entwickler, inkompatible Änderungen + der configure-Optionen, der Laufzeitkonfiguration sowie + der Modul-API zu vermeiden. In den meisten Fällen sollten Sie in der + Lage sein, den gleichen configure-Befehl, die gleiche + Konfiguration und die gleichen Module wieder zu verwenden. (Das gilt erst + seit Version 2.0.41 -- frühere Versionen enthielten noch inkompatible + Änderungen).

+ +

Um auf eine neue Unterversion zu aktualisieren, suchen Sie zunächst + die Datei config.nice im build-Verzeichnis + Ihrer Serverinstallation oder im Wurzelverzeichnis des Quelltextbaums + der alten Installation. Die Datei enthält den genauen + configure-Befehl, der verwendet wurde, um den + Quellcode zu konfigurieren. Um jetzt von einer Version auf die + nächste zu aktualisieren, kopieren Sie einfach die + config.nice in das Verzeichnis der neuen Version, + passen sie bei Bedarf an, und führen Sie sie aus:

+ +

+ $ ./config.nice
+ $ make
+ $ make install
+ $ PREFIX/bin/apachectl stop
+ $ PREFIX/bin/apachectl start
+

+ +
Sie sollten jede neue Version immer in Ihrer Umgebung + testen, bevor Sie sie produktiv schalten. Beispielsweise können Sie + die neue Version neben der alten installieren, indem Sie ein anderes + --prefix und einen anderen Port wählen (durch Anpassen der + Listen-Direktive). So + können Sie auf eventuelle Inkompatibilitäten testen, bevor Sie + endgültig die neue Version verwenden.
+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/install.html.en b/docs/manual/install.html.en new file mode 100644 index 0000000..d5c4395 --- /dev/null +++ b/docs/manual/install.html.en @@ -0,0 +1,501 @@ + + + + + +Compiling and Installing - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Compiling and Installing

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ + +

This document covers compilation and installation of the Apache HTTP Server + on Unix and Unix-like systems only. For compiling and + installation on Windows, see Using Apache HTTP Server with Microsoft + Windows and Compiling Apache for Microsoft Windows. + For other platforms, see the platform documentation.

+ +

Apache httpd uses libtool and autoconf + to create a build environment that looks like many other Open Source + projects.

+ +

If you are upgrading from one minor version to the next (for + example, 2.4.8 to 2.4.9), please skip down to the upgrading section.

+ +
+ +
top
+
+

Overview for the + impatient

+ +
+
Installing on Fedora/CentOS/Red Hat Enterprise Linux
+
+
sudo yum install httpd
+sudo systemctl enable httpd
+sudo systemctl start httpd
+ + +
Newer releases of these distros use + dnf rather than yum. See the + Fedora project's documentation for platform-specific notes.
+
+ +
Installing on Ubuntu/Debian
+
+
sudo apt install apache2
+sudo service apache2 start
+ + +
See Ubuntu's documentation for platform-specific notes.
+ +
+ +
Installing from source
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DownloadDownload the latest release from http://httpd.apache.org/download.cgi +
Extract$ gzip -d httpd-NN.tar.gz
+ $ tar xvf httpd-NN.tar
+ $ cd httpd-NN
Configure$ ./configure --prefix=PREFIX +
Compile$ make
Install$ make install
Customize$ vi PREFIX/conf/httpd.conf
Test$ PREFIX/bin/apachectl -k start +
+ +

NN must be replaced with the current version + number, and PREFIX must be replaced with the + filesystem path under which the server should be installed. If + PREFIX is not specified, it defaults to + /usr/local/apache2.

+ +

Each section of the compilation and installation process is + described in more detail below, beginning with the requirements + for compiling and installing Apache httpd.

+
+
+ +
Don't see your favorite platform mentioned + here? Come help us + improve this doc.
+ +
top
+
+

Requirements

+ +

The following requirements exist for building Apache httpd:

+ +
+
APR and APR-Util
+
Make sure you have APR and APR-Util already installed on + your system. If you don't, or prefer to not use the system-provided + versions, download the latest versions of both APR and APR-Util + from Apache APR, unpack + them into /httpd_source_tree_root/srclib/apr and /httpd_source_tree_root/srclib/apr-util + (be sure the directory names do not have version numbers; for example, + the APR distribution must be under /httpd_source_tree_root/srclib/apr/) and use + ./configure's --with-included-apr + option. On some platforms, you may have to install the + corresponding -dev packages to allow httpd to build + against your installed copy of APR and APR-Util.
+ +
Perl-Compatible Regular Expressions Library (PCRE)
+
This library is required but not longer bundled with httpd. + Download the source code from http://www.pcre.org, + or install a Port or Package. If your build system can't find + the pcre-config script installed by the PCRE build, point to it + using the --with-pcre parameter. On some platforms, + you may have to install the corresponding -dev + package to allow httpd to build against your installed copy + of PCRE.
+ +
Disk Space
+
Make sure you have at least 50 MB of temporary free disk + space available. After installation the server occupies + approximately 10 MB of disk space. The actual disk space + requirements will vary considerably based on your chosen + configuration options, any third-party modules, and, of course, + the size of the web site or sites that you have on the server.
+ +
ANSI-C Compiler and Build System
+
Make sure you have an ANSI-C compiler installed. The GNU C + compiler (GCC) from the Free Software Foundation (FSF) + is recommended. If you don't have GCC + then at least make sure your vendor's compiler is ANSI + compliant. In addition, your PATH must contain + basic build tools such as make.
+ +
Accurate time keeping
+
Elements of the HTTP protocol are expressed as the time of + day. So, it's time to investigate setting some time + synchronization facility on your system. Usually the + ntpdate or xntpd programs are used for + this purpose which are based on the Network Time Protocol (NTP). + See the NTP + homepage for more details about NTP software and public + time servers.
+ +
Perl 5 + [OPTIONAL]
+
For some of the support scripts like apxs or dbmmanage (which are + written in Perl) the Perl 5 interpreter is required (versions + 5.003 or newer are sufficient). If no Perl 5 interpreter is found by the + configure script, you will not be able to use + the affected support scripts. Of course, you will still be able to + build and use Apache httpd.
+
+
top
+
+

Download

+ +

The Apache HTTP Server can be downloaded from the Apache HTTP Server + download site, which lists several mirrors. Most users of + Apache on unix-like systems will be better off downloading and + compiling a source version. The build process (described below) is + easy, and it allows you to customize your server to suit your needs. + In addition, binary releases are often not up to date with the latest + source releases. If you do download a binary, follow the instructions + in the INSTALL.bindist file inside the distribution.

+ +

After downloading, it is important to verify that you have a + complete and unmodified version of the Apache HTTP Server. This + can be accomplished by testing the downloaded tarball against the + PGP signature. Details on how to do this are available on the download + page and an extended example is available describing the use of + PGP.

+ +
top
+
+

Extract

+ +

Extracting the source from the Apache HTTP Server tarball is a + simple matter of uncompressing, and then untarring:

+ +

+$ gzip -d httpd-NN.tar.gz
+$ tar xvf httpd-NN.tar +

+ +

This will create a new directory under the current directory + containing the source code for the distribution. You should + cd into that directory before proceeding with + compiling the server.

+
top
+
+

Configuring the source tree

+ +

The next step is to configure the Apache source tree for your + particular platform and personal requirements. This is done using + the script configure included in + the root directory of the distribution. (Developers downloading + an unreleased version of the Apache source tree will need to have + autoconf and libtool installed and will + need to run buildconf before proceeding with the next + steps. This is not necessary for official releases.)

+ +

To configure the source tree using all the default options, + simply type ./configure. To change the default + options, configure accepts a variety of variables + and command line options.

+ +

The most important option is the location --prefix + where Apache is to be installed later, because Apache has to be + configured for this location to work correctly. More fine-tuned + control of the location of files is possible with additional configure + options.

+ +

Also at this point, you can specify which features you + want included in Apache by enabling and disabling modules. Apache comes with a wide range of modules + included by default. They will be compiled as + shared objects (DSOs) which can be loaded + or unloaded at runtime. + You can also choose to compile modules statically by using the option + --enable-module=static.

+ +

Additional modules are enabled using the + --enable-module option, where + module is the name of the module with the + mod_ string removed and with any underscore converted + to a dash. Similarly, you can disable modules with the + --disable-module option. Be careful when + using these options, since configure cannot warn you + if the module you specify does not exist; it will simply ignore the + option.

+ +

In addition, it is sometimes necessary to provide the + configure script with extra information about the + location of your compiler, libraries, or header files. This is + done by passing either environment variables or command line + options to configure. For more information, see the + configure manual page. Or invoke + configure using the --help option.

+ +

For a short impression of what possibilities you have, here + is a typical example which compiles Apache for the installation + tree /sw/pkg/apache with a particular compiler and flags + plus the two additional modules mod_ldap and + mod_lua:

+ +

+ $ CC="pgcc" CFLAGS="-O2" \
+ ./configure --prefix=/sw/pkg/apache \
+ --enable-ldap=shared \
+ --enable-lua=shared +

+ +

When configure is run it will take several minutes to + test for the availability of features on your system and build + Makefiles which will later be used to compile the server.

+ +

Details on all the different configure options are + available on the configure manual page.

+
top
+
+

Build

+ +

Now you can build the various parts which form the Apache + package by simply running the command:

+ +

$ make

+ +

Please be patient here, since a base configuration takes + several minutes to compile and the time will vary widely + depending on your hardware and the number of modules that you + have enabled.

+
top
+
+

Install

+ +

Now it's time to install the package under the configured + installation PREFIX (see --prefix option + above) by running:

+ +

$ make install

+ +

This step will typically require root privileges, since + PREFIX is usually a directory with restricted write + permissions.

+ +

If you are upgrading, the installation will not overwrite + your configuration files or documents.

+
top
+
+

Customize

+ +

Next, you can customize your Apache HTTP server by editing + the configuration files under + PREFIX/conf/.

+ +

$ vi PREFIX/conf/httpd.conf

+ +

Have a look at the Apache manual under + PREFIX/docs/manual/ or consult http://httpd.apache.org/docs/2.4/ for the most recent + version of this manual and a complete reference of available configuration directives.

+
top
+
+

Test

+ +

Now you can start your Apache + HTTP server by immediately running:

+ +

$ PREFIX/bin/apachectl -k start

+ +

You should then be able to request your first document + via the URL http://localhost/. The web page you see is located + under the DocumentRoot, + which will usually be PREFIX/htdocs/. + Then stop the server again by + running:

+ +

$ PREFIX/bin/apachectl -k stop

+
top
+
+

Upgrading

+ +

The first step in upgrading is to read the release announcement + and the file CHANGES in the source distribution to + find any changes that may affect your site. When changing between + major releases (for example, from 2.0 to 2.2 or from 2.2 to 2.4), + there will likely be major differences in the compile-time and + run-time configuration that will require manual adjustments. All + modules will also need to be upgraded to accommodate changes in the + module API.

+ +

Upgrading from one minor version to the next (for example, from + 2.2.55 to 2.2.57) is easier. The make install + process will not overwrite any of your existing documents, log + files, or configuration files. In addition, the developers make + every effort to avoid incompatible changes in the + configure options, run-time configuration, or the + module API between minor versions. In most cases you should be able to + use an identical configure command line, an identical + configuration file, and all of your modules should continue to + work.

+ +

To upgrade across minor versions, start by finding the file + config.nice in the build directory of + your installed server or at the root of the source tree for your + old install. This will contain the exact + configure command line that you used to + configure the source tree. Then to upgrade from one version to + the next, you need only copy the config.nice file to + the source tree of the new version, edit it to make any desired + changes, and then run:

+ +

+ $ ./config.nice
+ $ make
+ $ make install
+ $ PREFIX/bin/apachectl -k graceful-stop
+ $ PREFIX/bin/apachectl -k start
+

+ +
You should always test any new version in your + environment before putting it into production. For example, you + can install and run the new version along side the old one by + using a different --prefix and a + different port (by adjusting the Listen directive) to test for any + incompatibilities before doing the final upgrade.
+ +

You can pass additional arguments to config.nice, + which will be appended to your original configure + options:

+ +

+ $ ./config.nice --prefix=/home/test/apache --with-port=90 +

+
top
+
+

Third-party packages

+ +

A large number of third parties provide their own packaged + distributions of the Apache HTTP Server for installation on + particular platforms. This includes the various Linux distributions, + various third-party Windows packages, Mac OS X, Solaris, and many + more.

+ +

Our software license not only permits, but encourages, this kind + of redistribution. However, it does result in a situation where the + configuration layout and defaults on your installation of the server + may differ from what is stated in the documentation. While + unfortunate, this situation is not likely to change any time + soon.

+ +

A description + of these third-party distributions is maintained in the HTTP + Server wiki, and should reflect the current state of these + third-party distributions. However, you will need to familiarize + yourself with your particular platform's package management and + installation procedures.

+ +
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/install.html.es b/docs/manual/install.html.es new file mode 100644 index 0000000..ed6e8ac --- /dev/null +++ b/docs/manual/install.html.es @@ -0,0 +1,483 @@ + + + + + +Compilar e Instalar - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Compilar e Instalar

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ + +

Éste documento hace referencia a la compilación y la instalación del Apache + HTTP Server sólo para los sistemas Unix y tipo Unix. Para la compilación e instalación en Windows ir a Usando Apache HTTP Server con Microsoft + Windows y Compilando Apache para Microsoft Windows. + Para otras plataformas visite la documentación sobre plataformas.

+ +

Apache httpd usa libtool y autoconf + para crear un entorno de compilación que se parece a muchos otros proyectos de código abierto

+ +

Si está actualizando desde una versión menor a la siguiente (por + ejemplo, 2.4.8 a 2.4.9), pasa a la sección de actualización.

+ +
+ +
top
+
+

Descripción general para los impacientes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescargaDescarga la última versión + desde + http://httpd.apache.org/download.cgi +
Extraer$ gzip -d httpd-NN.tar.gz
+ $ tar xvf httpd-NN.tar
+ $ cd httpd-NN
Configura$ ./configure --prefix=PREFIX +
Compila$ make
Instala$ make install
Personalizalo$ vi PREFIX/conf/httpd.conf
Prueba$ PREFIX/bin/apachectl -k start +
+ +

NN hay que reemplazarlo por el número de la versión menor, y PREFIX hay que reemplazarlo por la ruta en la que se va a instalar Apache. Si no especifica ningún valor en PREFIX, el valor por defecto que se toma es /usr/local/apache2.

+ +

Cada parte del proceso de configuración e instalación se describe detalladamente más abajo, empezando por los requisitos para compilar e instalar Apache.

+
top
+
+

Requisitos

+ +

Estos son los requisitos necesarios para compilar Apache:

+ +
+
APR y APR-Util
+
Asegúrate de que tiene instalado ya en su sistema APR y APR-Util. Si no es así, o no quiere utilizar la versión que le proporciona el sistema, puede descargar la última versión de ambos APR y APR-Util de + Apache APR, descomprimelo en + /httpd_source_tree_root/srclib/apr y /httpd_source_tree_root/srclib/apr-util + (cerciórate de que no existen directorios con números de versiones; por ejemplo, + la distribución de APR debe estar en /httpd_source_tree_root/srclib/apr/) y usa el comando + ./configure --con-las-opciones-incluidas-en-apr. + En algunas plataformas deberás instalar la parte correspondiente a los paquetes + -dev para permitir que httpd se genere contra la instalación de la copia de APR y APR-Util.
+ +
Librería Compatible de expresiones regulares de Perl (PCRE)
+
Esta librería es requerida, pero ya no incluido con httpd. + Descarga el código fuente de http://www.pcre.org, + o instala un Port o un Paquete. Si la distrubución de su sistema no puede encontrar el escript pcre-config instalado por PCRE, seleccione utilizando el parámetro--with-pcre.En algunas plataformas, + deberás instalar la correspondiente versión -dev + del paquete para permitir a httpd que se genere contra la instalación de la copia del PCRE que se ha instalado.
+ +
Espacio en disco
+
Compruebe que tiene disponibles al + menos 50 MB de espacio libre en disco. Después de la + instalación, Apache ocupa aproximadamente 10 MB. No + obstante, la necesidad real de espacio en disco varía + considerablemente en función de las opciones de + configuración que elija y de los módulos externos que + use, y como no del tamaño de la página web
+ +
Systema de compilación ANSI-C
+
Compruebe que tiene instalado un compilador de ANSI-C. Se recomienda el Compilador GNU C + (GCC) de la Free Software + Foundation (FSF) es el recomendado. Si no tiene instalado el GCC, entonces compruebe que + el compilador que va a utilizar cumple con los estándares + ANSI. Además, su PATH debe contener la + ubicación donde de encuentran las herramientas básicas + para compilar tales como make.
+ +
Ajuste exacto del reloj del sistema
+
Los elementos + del protocolo HTTP están expresados según la hora del + día. Por eso, si quiere puede investigar como instalar alguna + utilidad para sincronizar la hora de su sistema. Para esto, + normalmente, se usan los programas ntpdate o + xntpd, que están basados en el protocolo + "Network Time Protocol" (NTP). Consulte elsitio web de NTP + para obtener más información sobre NTP y los + servidores públicos de tiempo.
+ +
Perl 5[OPCIONAL]
+
Para algunos de los scripts de soporte comoapxs o dbmmanage (que están + escritos en Perl) es necesario el intérprete de Perl 5 (las + versiones 5.003 o posteriores son suficientes). Si el escript + configure no se encuentra, no podrá usar los + escripts correspondientes que lo necesiten. Pero por supuesto + podrás compilar y usar Apache httpd.
+
+
top
+
+

Descargar

+ +

Puede descargar Apache desde la sección de + descargas del sitio web de Apache el cual tiene varios + mirrors. Para la mayoría de los usuarios de Apache que tienen + sistemas tipo Unix, se recomienda que se descarguen y compilen el + código fuente. El proceso de compilación (descrito + más abajo) es fácil, y permite adaptar el servidor + Apache a sus necesidades. Además, las versiones de + disponibles en archivos binarios no están siempre actualizadas + con las últimas modificaciones en el código fuente. Si se + descarga un binario, siga las instrucciones contenidas en el + archivo INSTALL.bindist incluido en la + distribución

+ +

Después de la descarga, es importante que verifique que el + archivo descargado del servidor HTTP Apache está completo y + sin modificaciones. Esto puede hacerlo comparando el archivo + descargado (.tgz) con su firma PGP. Instrucciones detalladas de + cómo hacer esto están disponibles en la + sección de descargas junto con un ejemplo de cómo usar + PGP.

+ +
top
+
+

Descomprimir

+ +

Extraer el código fuente del archivo .tgz del Servidor Apache HTTP que acabada + de descargar es muy fácil. Ejecute los siguientes comandos:

+ +

+$ gzip -d httpd-NN.tar.gz
+$ tar xvf httpd-NN.tar +

+ +

Estos comandos crearán un nuevo directorio dentro del + directorio en el que se encuentra y que contendrá el + código fuente de distribución. Debe cambiarse a ese + directorio con cd para proceder a compilar el + servidor Apache.

+
top
+
+

Configuración de la estructura de +directorios

+ +

El siguiente paso es configurar la estructura de directorios + para su plataforma y sus necesidades personales. Esto se hace + usando el script configure incluido en el directorio + raíz de la distribución que acaba de descargar. (Los + desarrolladores que se descarguen la versión del CVS de la + estructura de directorios necesitarán tener instalados + autoconf y libtool, y necesitarán + ejecutar buildconf antes de continuar con los + siguientes pasos. Esto no es preciso para las versiones + oficiales.)

+ +

Para configurar la estructura de directorios a partir del + código fuente usando las opciones por defecto, solo tiene que + ejecutar ./configure.Para cambiar las opciones por + defecto, configure acepta una serie de variables y + opciones por la línea de comandos.

+ +

La opción más importante es --prefix + que es el directorio en el que Apache va a ser instalado después, + porque Apache tiene que ser configurado para el directorio que se + especifique para que funcione correctamente. Es posible lograr un + mayor control del lugar donde se van a instalar los ficheros de + Apache con otras opciones de + configuración.

+ +

Llegados a este punto, puede especificar que características + o funcionalidades quiere incluir en Apache activando o + desactivando modules.Apache vine con una amplia + selección de módulos incluidos por defecto. Que serán compilados como . + Objetos Compartidos (DSOs) Que pueden ser activados + o desactivados en tiempo de ejecución. + También puede elegir por compilar módulos de forma estática usando las opciones + --enable-module=static.

+ + + +

Se pueden activar otros módulos usando la opción + --enable-module, where + module es el nombre del módulo sin el + mod_ y convirtiendo los guiones bajos que tenga en + guiones normales. Del mismo modo, puede desactivar los módulos con la + opción --disable-module. Tenga cuidado al utilizar esta opción, ya que + configure no le avisará si el módulo que especifica no existe; + simplemente ignorará esa opción.

+ +

Además, a veces es necesario pasarle al script + configure información adicional sobre donde esta + su compilador, librerías o ficheros de cabecera. Esto se puede + hacer, tanto pasando variables de entorno, como pasandole opciones + a configure. Para más información, consulte el manual de + configure. O use configure con la + opción --help.

+ +

Para que se haga una idea sobre las posibilidades que tiene, + aquí tiene un ejemplo típico que configura Apache para + la ruta /sw/pkg/apache con un compilador y unos flags + determinados, y además, con dos módulos adicionales + mod_ldap y mod_ldap para + cargarlos después a través del mecanismo DSO:

+ +

+ $ CC="pgcc" CFLAGS="-O2" \
+ ./configure --prefix=/sw/pkg/apache \
+ --enable-ldap=shared \
+ --enable-lua=shared +

+ +

Cuando se ejecuta configure se comprueban que + características o funcionalidades están disponibles en + su sistema y se crean los Makefiles que serán usados a continuación + para compilar el servidor. Esto tardará algunos minutos.

+ +

Los detalles de todas las opciones de configure están disponibles + en el manual de configure .

+
top
+
+

Build

+ +

Ahora puede compilar las diferentes partes que forman Apache + simplemente ejecutando el siguiente comando:

+ +

$ make

+ +

Por favor sea paciente llegado a este punto, ya que una configuración básica lleva unos minutos + para su compilación, y el tiempo puede variar mucho dependiendo de su hardware + y del número de módulos que haya habilitado para la compilación.(Se recomienda añadir al make el + parámetro -j3 como mínimo para que vaya más rápido)

+
top
+
+

Instalar

+ +

Ahora es el momento de instalar el paquete en el diretorio + elegido en PREFIX (consulte más arriba la opción + --prefix) ejecutando:

+ +

$ make install

+ +

Este paso requiere de forma típica privilegios de root, ya que + el directorio de PREFIX es normalmente un directorio con + restricciones de permisos escritura.

+ +

Si lo que esta es sólo actualizando, la instalación no sobreescribirá los + archivos de configuración.

+
top
+
+

Personalizar APACHE

+ +

Tras la instalación puede personalizarla, editando los + archivos de configuracion en el directorio de + PREFIX/conf/.

+ +

$ vi PREFIX/conf/httpd.conf

+ +

Échele un vistazo al Manual de Apache que está en + PREFIX/docs/manual/ o consulta http://httpd.apache.org/docs/2.4/ para la versión más + reciente de este manual y su completa + referencia de las directivas de configuracion disponibles.

+
top
+
+

Comprobar que la instalación +funciona

+ +

Ahora puedes ejecutar tu Apache + HTTP server ejecutando directamente:

+ +

$ PREFIX/bin/apachectl -k start

+ +

Ahora debe poder acceder a su primer documento + bajo la URL http://localhost/. La página o documento que ve se encuentra en + DocumentRoot, + que por norma general casi siempre será PREFIX/htdocs/. + Si quiere parar el servidor, puede hacerlo ejecutando:

+ +

$ PREFIX/bin/apachectl -k stop

+
top
+
+

Actualizar una instalación previa

+ +

El primer paso para actualizar una instalación anterior es + leer las especificaciones de la versión y el fichero + CHANGES en la distribución de código fuente + que ha descargado para encontrar los cambios que puedan afectar a + su instalación actual. Cuando el cambio sea entre versiones + mayores(por ejemplo, de la 2.0 a 2.2 o de la 2.2 a la 2.4), + entonces es más probable que haya diferencias importantes en + la compilación y en la ejecución que necesitarán + ajustes manuales. Todos los módulos necesitarán + también ser actualizados para adaptarse a los cambios en el + interfaz de programación (API) de módulos.

+ +

Actualizando de una versión menor a la siguiente + (por ejemplo, de la 2.2.55 a la 2.2.57) es mas fácil. El prodeso de realizar el make install + no sobreescribirá ninguno de tus documentos existentes,archivos + log, o archivos de configuración. De hecho, los desarrolladores están haciendo los esfuerzos + necerarios para evitar cambios que generen incompatibilidades en las opciones de + configure, la configuración al ser ejecutado, o el módulo de la API + entre versiones menores. En la mayor parte de los casos debe poder usar un + comando configure idéntico, un fichero de + configuración idéntico, y todos sus módulos deben + seguir funcionando.

+ +

Para actualizar entre versiones menores, empecemos encontrando el archivo de configuración + config.nice el directorio de instalación del servidor + o en el directorio raiz del código fuente de tu antigua instalación. Este archivo contendrá + los parámetros exactos para pasarle al + configure que usaste anteriormente para configurar tus directorios. + Entonces, para actualizar su instalación de una versión a la + siguinete, solo tiene que copiar el archivo + config.nice a la estructura de directorios del + código fuente de la nueva versión, editarlo, hacer + cualquier cambio que desee, y ejecutarlo :

+ +

+ $ ./config.nice
+ $ make
+ $ make install
+ $ PREFIX/bin/apachectl -k graceful-stop
+ $ PREFIX/bin/apachectl -k start
+

+ +
Tenga en cuenta que antes de poner una nueva + versión de Apache en producción, debe siempre probarla + antes en un entorno de pruebas. Por ejemplo, puede instalar y ejecutar la + nueva versión junto con la antigua usando un + --prefix diferente y un puerto diferente (modificando + la directiva Listen) + para comprobar que no existe ninguna incompatibilidad antes de + hacer la actualización definitiva.
+ +

Puede pasarle argumentos adicionales a config.nice, + que se agregarán a susopciones originales de configure:

+ +

+ $ ./config.nice --prefix=/home/test/apache --with-port=90 +

+
top
+
+

Paquetes de terceros

+ +

Un gran número de terceros proporcionan sus propias + distribuciones empaquetadas del Apache HTTP Server para su + instalación en plataformas específicas. Esto incluye las distintas + distribuciones de Linux, varios paquetes de Windows de terceros, + Mac OS X, Solaris, y muchos más.

+ +

Nuestra licencia de software no sólo permite, sino que anima, + este tipo de redistribución. Sin embargo, se da lugar a una situación + en la que el diseño y la configuración de los valores predeterminados + de la instalación del servidor pueden diferir de lo que se indica + en la documentación. Mientras lamentablemente, esta situación no es probable que cambie a corto plazo.

+ +

Una descripción + de estas distribuciones de terceros está siendo actualizada en el servidor de la WIKI de HTTP + Server, y debería reflejar el actual estado de éstas distribuciones de terceros. + Sin embargo, tendrá que familiarizarse con los procedimientos de gestión + e instalación de paquetes de su plataforma (SO) en particular.

+ +
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/install.html.fr.utf8 b/docs/manual/install.html.fr.utf8 new file mode 100644 index 0000000..21b44f3 --- /dev/null +++ b/docs/manual/install.html.fr.utf8 @@ -0,0 +1,528 @@ + + + + + +Compilation et installation - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Compilation et installation

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Ce document couvre l'installation et la compilation du serveur + HTTP Apache + sur les systèmes Unix et similaires seulement. Pour la compilation et + l'installation sous Windows, voir Utiliser le serveur HTTP Apache avec Microsoft + Windows et Compilation + d'Apache sous Microsoft Windows. Pour les autres plateformes, se + référer à la documentation par + plateforme.

+ +

Apache httpd utilise libtool et autoconf + afin de créer un environnement de construction similaire à la plupart + des projets Open Source .

+ +

Si vous effectuez une mise à jour depuis une version mineure vers + la suivante (par exemple, 2.4.8 à 2.4.9), veuillez passer à la section + mise à jour.

+ +
+ +
top
+
+

Aperçu pour les plus pressés

+ +
+
Installation sous Fedora/CentOS/Red Hat Enterprise Linux
+
+
sudo yum install httpd
+sudo service httpd start
+ + +
Les dernières versions de ces distributions préfèrent + dnf à yum. Voir la documentation du + projet Fedora pour des informations spécifiques à cette plateforme.
+
+ +
Installation sous Ubuntu/Debian
+
+
sudo apt install apache2
+sudo service apache2 start
+ + +
Voir la documentation + Ubuntu pour des informations spécifiques à cette plateforme.
+ +
+ +
Installation à partir des sources
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TéléchargementTéléchargez la dernière version depuis http://httpd.apache.org/download.cgi +
Extraction$ gzip -d httpd-NN.tar.gz
+ $ tar xvf httpd-NN.tar
+ $ cd httpd-NN
Configuration$ ./configure --prefix=PREFIX +
Compilation$ make
Installation$ make install
Personnalisation$ vi PREFIX/conf/httpd.conf
Test$ PREFIX/bin/apachectl -k start +
+ +

NN doit être remplacé par le numéro de version courant, + et PREFIX par le + chemin du répertoire d'installation. Si + PREFIX n'est pas spécifié, le chemin du répertoire + d'installation prendra sa valeur par défaut, à savoir + /usr/local/apache2.

+ +

Chaque étape du processus de compilation et d'installation est + décrite plus en détails ci-dessous, à commencer par les prérequis + pour compiler et installer Apache httpd.

+ +
+
+ +
L'installation sous votre plateforme favorite n'est pas + traitée ici ? N'hésitez pas à nous aider à compléter cette + documentation en nous faisant profiter de votre expérience.
+
top
+
+

Prérequis

+ +

Les prérequis pour la construction d'Apache httpd sont les suivants:

+ +
+
APR et APR-Util
+
APR et APR-Util doivent être déjà installés sur votre système. + Si ce n'est pas le cas, ou si vous préférez ne pas utiliser les + versions fournies par le système, téléchargez les dernières + versions d'APR et APR-Util depuis Apache APR, décompressez-les + respectivement dans /racine_sources_httpd/srclib/apr et + /racine_sources_httpd/srclib/apr-util (les noms des répertoires ne + doivent pas comporter de numéros de versions ; par exemple, la + distribution d'APR doit se trouver dans /racine_sources_httpd/srclib/apr/), et + utilisez l'option --with-included-apr du script + ./configure. Sur certaines plateformes, vous devrez + peut-être installer les paquets -dev correspondants + pour permettre la compilation de httpd avec les versions + installées d'APR et APR-Util.
+ +
Bibliothèque d'expressions rationnelles compatibles Perl + (PCRE)
+
Cette bibliothèque est nécessaire mais n'est plus fournie avec la + distribution de httpd. Téléchargez le code source depuis http://www.pcre.org ou installez + un portage du paquet. Si votre suite de compilation ne trouve pas + le script pcre-config installé au cours du processus de + construction de PCRE, indiquez son chemin via l'option + --with-pcre du script ./configure. Sur + certaines plateformes, vous devrez + peut-être installer les paquets -dev correspondants + pour permettre la compilation de httpd avec la version + installée de PCRE.
+ +
Espace disque
+
Assurez-vous d'avoir au moins 50 Mo d'espace disque disponible + temporaire. Après l'installation le serveur occupe + approximativement 10 Mo d'espace disque. L'espace disque réellement + nécessaire va varier considérablement en fonction de vos options + de configuration, de la présence éventuelle de + modules tiers, et bien entendu de la taille de votre site web et + des sites que vous hébergez sur votre serveur.
+ +
Compilateur ANSI-C et système de construction
+
Vous devez disposer d'un compilateur ANSI-C. Le compilateur GNU C (GCC) de la Free Software Foundation (FSF) + est recommandé. Si vous ne possédez pas GCC, + assurez-vous au moins que votre compilateur soit compatible ANSI. + En outre, votre PATH doit contenir + les outils de construction de base tels que make.
+ +
Connaissance de l'heure exacte
+
Les éléments du protocole HTTP font référence à l'heure du jour. + Par conséquent, il est nécessaire d'équiper votre système d'un + dispositif de synchronisation du temps. Les programmes + ntpdate ou xntpd, basés sur le protocole NTP, + sont couramment utilisés à cet effet. + Voir la page d'accueil de NTP + pour plus de détails à propos du logiciel NTP et des serveurs + de temps publics.
+ +
Perl 5 + [OPTIONNEL]
+
L'interpréteur Perl 5 (les versions 5.003 ou supérieures conviennent) + est nécessaire pour l'exécution de certains scripts comme + apxs ou dbmmanage + (qui sont écrits en Perl). + Si le script configure ne trouve pas d'interpréteur + Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin. + Bien entendu, vous pourrez tout de même construire et utiliser + Apache httpd.
+ +
+
top
+
+

Téléchargement

+ +

Le serveur HTTP Apache peut être téléchargé à partir du + site de téléchargement + du serveur HTTP Apache, qui fournit la liste de nombreux miroirs. + Il sera plus commode à la plupart des utilisateurs d'Apache sur les + systèmes UNIX ou similaires de télécharger et de compiler + la version sources. Le processus de construction (décrit ci-dessous) est + simple, et vous permet de personnaliser votre serveur selon vos besoins. + En outre, les versions binaires sont souvent plus anciennes que les + dernières versions sources. Si vous téléchargez une version binaire, + suivez les instructions décrites dans le fichier + INSTALL.bindist inclus dans la distribution.

+ +

Après le téléchargement, il est important de vérifier que vous + disposez d'une version complète et non modifiée du serveur HTTP Apache. + Vous pouvez le faire en testant l'archive téléchargée à l'aide de + la signature PGP. Vous trouverez les détails de cette opération sur la page de téléchargement ainsi qu'un exemple précis décrivant l'utilisation de + PGP.

+ +
top
+
+

Extraction

+ +

L'extraction des sources depuis l'archive du serveur HTTP Apache consiste + simplement à décompresser et à désarchiver cette dernière :

+ +

+$ gzip -d httpd-NN.tar.gz
+$ tar xvf httpd-NN.tar +

+ +

Ceci créera, dans le répertoire courant, un nouveau répertoire + contenant le code source de la distribution. Vous devrez vous positionner + dans ce répertoire avant de procéder à la compilation du serveur.

+
top
+
+

Configuration de l'arborescence des sources

+ +

L'étape suivante consiste à configurer l'arborescence des sources + d'Apache en fonction de votre plateforme et de vos besoins personnels. + Le script configure, situé à la racine du + répertoire de la distribution, a été conçu à cet effet + (Les développeurs qui téléchargent + une version non officielle de l'arborescence des sources d'Apache + devront disposer de + autoconf et libtool et + exécuter buildconf avant de passer à l'étape suivante, + ce qui n'est pas nécessaire pour les versions officielles).

+ +

Pour configurer l'arborescence des sources avec les valeurs par défaut + pour toutes les options, entrez simplement ./configure. + Pour modifier les valeurs des options, configure + accepte toute une variété de variables et + d'options de ligne de commande.

+ +

L'option la plus importante --prefix est le chemin + du répertoire d'installation d'Apache, car Apache doit être configuré + en fonction de ce chemin pour pouvoir fonctionner correctement. + Il est possible de définir plus finement le chemin d'installation des fichiers + à l'aide d'options + supplémentaires de configure.

+ +

À ce niveau, vous pouvez aussi spécifier de quelles fonctionnalités vous + voulez disposer dans Apache en activant ou désactivant des modules. Apache est fourni avec un grand nombre de + modules inclus par défaut. Ils seront compilés en tant qu'objets partagés (DSOs) qui pourront être chargés + ou déchargés à l'exécution. Vous pouvez aussi choisir de compiler + les modules statiquement via l'option + --enable-module=static.

+

Des modules supplémentaires peuvent être activés à l'aide de l'option + --enable-module, où + module est le nom du module sans la chaîne + mod_ et où tout caractère de soulignement est converti + en tiret. D'une manière similaire, + vous pouvez désactiver des modules à l'aide de l'option + --disable-module. Faites très attention + en utilisant ces options, car configure n'est pas en + mesure de vous avertir si le module que vous avez spécifié n'existe pas; + il ignorera tout simplement l'option.

+ +

En outre, vous devrez peut-être fournir au script + configure des informations supplémentaires sur + le chemin de votre compilateur, de vos bibliothèques, ou de vos fichiers + d'en-têtes. A cet effet, vous pouvez passer des options de ligne de + commande ou des variables d'environnement au script + configure. Pour plus d'informations, voir la + page de manuel de configure, ou lancez le script + configure avec l'option --help. +

+ +

Pour vous faire une idée des possibilités qui s'offrent à vous, voici + un exemple typique de compilation d'Apache avec le répertoire + d'installation /sw/pkg/apache, un compilateur et des drapeaux + particuliers et les deux modules additionnels mod_ldap + et mod_lua :

+ +

+ $ CC="pgcc" CFLAGS="-O2" \
+ ./configure --prefix=/sw/pkg/apache \
+ --enable-ldap=shared \
+ --enable-lua=shared +

+ +

Plusieurs minutes peuvent être nécessaires à + configure pour tester la disponibilité des + fonctionnalités + au sein de votre système, et construire les Makefiles qui seront utilisés + par la suite pour compiler le serveur.

+ +

Vous trouverez une description détaillée des options de + configure dans sa page de manuel.

+
top
+
+

Construction

+ +

Vous pouvez maintenant construire les différents éléments qui + composent le paquet Apache en lançant tout simplement la commande :

+ +

$ make

+ +

Vous devez être patient, car il faut plusieurs minutes pour compiler + une configuration de base, et cette durée peut varier considérablement + en fonction de votre matériel et du nombre de modules que vous avez activés.

+
top
+
+

Installation

+ +

Il est temps maintenant d'installer le paquet dans le répertoire + d'installation défini par PREFIX (voir plus haut l'option + --prefix) en lançant:

+ +

$ make install

+ +

Cette étape nécessite habituellement les privilèges + de root, car PREFIX est en général un + répertoire possèdant des droits en écriture + restreints.

+ +

Si vous effectuez une mise à jour, l'installation n'écrasera pas + vos fichiers de configuration ou autres documents.

+
top
+
+

Personnalisation

+ +

Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en + éditant les fichiers de configuration + situés dans PREFIX/conf/.

+ +

$ vi PREFIX/conf/httpd.conf

+ +

Consultez le manuel d'Apache situé dans + PREFIX/docs/manual/ ou + http://httpd.apache.org/docs/2.4/ pour la version la plus + récente de ce manuel et la liste complète des directives de configuration disponibles.

+
top
+
+

Test

+ +

Vous pouvez maintenant démarrer votre + serveur HTTP Apache en lançant:

+ +

$ PREFIX/bin/apachectl -k start

+ +

Vous devriez alors pouvoir requérir votre premier document + à l'aide de l'URL http://localhost/. La page web que vous + voyez est située dans le répertoire défini par la directive + DocumentRoot, + qui est généralement PREFIX/htdocs/. + Pour arrêter le serveur, lancez:

+ +

$ PREFIX/bin/apachectl -k stop

+
top
+
+

Mise à jour

+ +

La première étape d'une mise à jour consiste à lire l'annonce de la + sortie de la nouvelle version et le fichier CHANGES + dans la distribution des sources afin de déceler toutes les modifications + qui pourraient affecter votre site. Lors d'un changement majeur de version + (par exemple de 2.0 à 2.2 ou de 2.2 à 2.4), + il y aura certainement des différences importantes quant à la + configuration de la compilation et de l'exécution qui nécessiteront des + ajustements manuels. Tous les + modules devront aussi être mis à jour pour qu'ils s'adaptent aux + changements de l'API des modules.

+ +

La mise à jour d'une version mineure à la suivante (par exemple, de + 2.2.55 à 2.2.57) est plus aisée. Le processus make install + n'écrasera aucun de vos documents existants, fichiers de log, + ou fichiers de configuration. De plus, les développeurs font tout + leur possible pour éviter les changements entraînant une + incompatibilité dans les options de + configure, la configuration de l'exécution, ou l'API + des modules d'une version mineure à l'autre. Dans la plupart des cas, + vous pourrez utiliser une ligne de commande + configure identique, le même fichier de configuration, + et tous vos modules continueront de fonctionner.

+ +

Pour effectuer une mise à jour entre deux versions mineures, + commencez par trouver le fichier + config.nice dans le répertoire de construction + de votre serveur installé ou à la racine de l'arborescence des sources + de votre ancienne installation. Il contient la reproduction exacte de la + ligne de commande configure que vous avez utilisée pour + configurer l'arborescence des sources. Ensuite, pour mettre à jour + l'ancienne version vers la nouvelle, + il vous suffit de copier le fichier config.nice dans + l'arborescence des sources de la nouvelle version, de l'éditer pour + effectuer toute modification souhaitée, et de lancer :

+ +

+ $ ./config.nice
+ $ make
+ $ make install
+ $ PREFIX/bin/apachectl -k graceful-stop
+ $ PREFIX/bin/apachectl -k start
+

+ +
Vous devez toujours effectuer un test de la nouvelle + version dans votre environnement avant de la mettre en production. + Par exemple, vous pouvez installer et exécuter la nouvelle version + en parallèle avec l'ancienne en utilisant une option + --prefix et un port différents (en ajustant la directive + Listen) afin de déceler toute + incompatibilité avant d'effectuer la mise à jour définitive.
+ +

Vous pouvez ajouter des arguments supplémentaires à + config.nice ; ils seront alors ajoutés aux options de + votre script configure original :

+ +

+ $ ./config.nice --prefix=/home/test/apache --with-port=90 +

+ +
top
+
+

Paquets tiers

+ +

De nombreux tiers fournissent leur propre distribution du + serveur HTTP Apache à installer sur une plate-forme particulière. On + peut citer les différentes distributions Linux, divers + paquets tiers Windows, Mac OS X, Solaris et de nombreux autres.

+ +

Notre license logicielle non seulement permet, mais aussi + encourage ce genre de redistribution. Cependant, ceci conduit à une + situation ou l'organisation de la configuration et les valeurs par + défaut de votre installation du serveur peuvent ne pas correspondre + à ce qui est écrit dans la documentation. Bien que fâcheuse, cette + situation n'est pas appelée à évoluer de sitôt.

+ +

Une description + de ces distributions tierces est maintenue dans le wiki du + serveur HTTP, et doit en refléter l'état actuel. Vous devrez + cependant vous familiariser par vous-même avec la gestion du paquet + de votre plate-forme particulière et les procédures d'installation.

+ +
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/install.html.ja.utf8 b/docs/manual/install.html.ja.utf8 new file mode 100644 index 0000000..6677d3c --- /dev/null +++ b/docs/manual/install.html.ja.utf8 @@ -0,0 +1,434 @@ + + + + + +コンパイルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

コンパイルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + +

ã“ã®æ–‡æ›¸ã§æ‰±ã†ç¯„囲ã¯ã€Unix ã‚„ Unix ã«é¡žä¼¼ã—ãŸã‚·ã‚¹ãƒ†ãƒ ã§ã® + Apache ã®ã‚³ãƒ³ãƒ‘イルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã™ã€‚ Windows ã«ãŠã‘ã‚‹ + コンパイルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«é–¢ã—ã¦ã¯ã€ŒMicrosoft + Windows 㧠Apache を使ã†ã€ã‚’ã”覧下ã•ã„。 + ãã®ä»–ã®ãƒ—ラットホームã«é–¢ã—ã¦ã¯ã€Œãƒ—ラットホームã€ã‚’ã”覧下ã•ã„。

+ +

Apache 2.0 ã§ã¯ä»–ã® Open Source プロジェクトã¨åŒæ§˜ã€ + ビルド環境構築㫠libtool 㨠autoconf + を使ã†ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚

+ +

マイナーãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‹ã‚‰ãã®æ¬¡ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚¢ãƒƒãƒ—グレードã™ã‚‹ + (2.2.50 ã‹ã‚‰ 2.2.51 ã¸ç­‰) å ´åˆã¯ã€ã¾ãš + アップグレードをã”覧下ã•ã„。

+ +
+ +
top
+
+

æ¦‚è¦ (ã›ã£ã‹ã¡ãªäººå‘ã‘)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ダウンロード$ lynx http://httpd.apache.org/download.cgi +
展開$ gzip -d httpd-NN.tar.gz
+ $ tar xvf httpd-NN.tar
+ $ cd httpd-NN
設定$ ./configure --prefix=PREFIX +
コンパイル$ make
インストール$ make install
カスタマイズ$ vi PREFIX/conf/httpd.conf
テスト$ PREFIX/bin/apachectl -k start +
+ +

NN ã¯æœ€æ–°ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒŠãƒ³ãƒãƒ¼ã«ã€ + PREFIX ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã‚µãƒ¼ãƒã§ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‘スã«ã€ + ç½®ãæ›ãˆã¦ãã ã•ã„。PREFIX を指定ã—ãªã‹ã£ãŸå ´åˆã¯ã€ + デフォルト㮠/usr/local/apache2 ã«ãªã‚Šã¾ã™ã€‚

+ +

Apache httpd ã®ã‚³ãƒ³ãƒ‘イルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«å¿…è¦ãªã‚‚ã®ã‚’ã¯ã˜ã‚ã¨ã—ã¦ã€ + コンパイルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«ã¤ã„ã¦ã¯ã€æ¬¡ã«è©³ã—ã記述ã•ã‚Œã¦ã„ã¾ã™ã€‚

+
top
+
+

å¿…è¦ãªã‚‚ã®

+ +

Apache ã®ãƒ“ルドã«ã¯æ¬¡ã®ã‚‚ã®ãŒå¿…è¦ã§ã™:

+ +
+
ディスクスペース
+
ディスクã«å°‘ãªãã¨ã‚‚ 50 MB ã®ä¸€æ™‚çš„ãªç©ºã容é‡ãŒã‚るよã†ã« + 気を付ã‘ã¦ãã ã•ã„。インストール後㯠Apache 㯠10 MB 程度㮠+ ディスクスペースをå ã‚ã¾ã™ã€‚実際ã«å¿…è¦ã«ãªã‚‹ãƒ‡ã‚£ã‚¹ã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã¯ã€ + 設定オプションやサードパーティー製モジュールをã©ã†é¸æŠžã™ã‚‹ã‹ã«ã‚ˆã£ã¦ + 大ãã変ã‚ã‚‹ã§ã—ょã†ã€‚
+ +
ANSI-C コンパイラã¨ãƒ“ルドシステム
+
ANSI-C コンパイラをインストールã—ã¦ãŠã„ã¦ä¸‹ã•ã„。ãŠè–¦ã‚㯠Free Software Foundation (FSF) + ã«ã‚ˆã‚‹ GNU C + compiler (GCC) ã§ã™ã€‚GCC ãŒãªã„å ´åˆã¯ã€ + å°‘ãªãã¨ã‚‚æä¾›ã•ã‚Œã¦ã„るコンパイラ㌠ANSI 準拠ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãŠã„ã¦ä¸‹ã•ã„。 + ãã‚Œã‹ã‚‰ã€å¤‰æ•° PATH ã«ã¯ make + ã¨ã„ã£ãŸåŸºæœ¬çš„ãªãƒ“ルドツールãŒå«ã¾ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ +
時刻を正確ã«ã™ã‚‹
+
HTTP プロトコルã®è¦ç´ ã¯æ—¥æ™‚ã®æ™‚刻ã§è¡¨ç¾ã•ã‚Œã¦ã„ã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ + 正確ãªæ™‚刻ã«ã‚·ãƒ³ã‚¯ãƒ­ã•ã›ã‚‹æ©Ÿèƒ½ã‚’システムã«è¨­å®šã™ã‚‹ã“ã¨ã‚’åŸå‘³ã—ã¦ã¿ã¦ä¸‹ã•ã„。 + Network Time Protocol (NTP) をベースã¨ã—㟠ntpdate ã‚„ xntpd プログラム㌠+ ã“ã®ç›®çš„ã«ã‚ˆã用ã„られã¾ã™ã€‚NTP ソフトウェアや公開 NTP + サーãƒã«é–¢ã™ã‚‹è©³ç´°ã¯ã€NTP ホームページ ã‚’ã”覧下ã•ã„。
+ +
Perl 5 + [オプション]
+
æä¾›ã•ã‚Œã¦ã„るスクリプト幾ã¤ã‹ã€ä¾‹ãˆã° apxs ã‚„ + dbmmanage 㯠+ Perl ã§æ›¸ã‹ã‚Œã¦ã„ã‚‹ã®ã§ã€Perl + 5 インタプリタãŒå¿…è¦ã«ãªã‚Šã¾ã™ (5.003 以é™)。 + Perl インタプリタを複数インストールã—ã¦ã„ã‚‹ (ãŸã¨ãˆã°å…¨ä½“ã®ã‚·ã‚¹ãƒ†ãƒ ã®ä¸€éƒ¨ + ã¨ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ Perl 4 ã¨ã€è‡ªåˆ†ã§è¿½åŠ ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—㟠+ Perl 5 ãŒã‚ã‚‹ãªã©ã®) å ´åˆã€--with-perl オプション (下記å‚ç…§) + を使ã£ã¦ configure ãŒæ„図ã—ãŸã‚‚ã®ã‚’使ã†ã‚ˆã†ã« + 明示的ã«æŒ‡å®šã™ã‚‹ã¨è‰¯ã„ã§ã—ょã†ã€‚ + configure スクリプト㧠Perl 5 インタプリタ㌠+ 見ã¤ã‹ã‚‰ãªã„å ´åˆã¯ã€ã“ã®å½±éŸ¿ã‚’å—ã‘るサãƒãƒ¼ãƒˆã‚¹ã‚¯ãƒªãƒ—トãŒä½¿ãˆãªããªã‚Šã¾ã™ã€‚ + ã‚‚ã¡ã‚ã‚“ã€Apache httpd ã®ã‚³ãƒ³ãƒ‘イルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¯å•é¡Œãªãè¡Œãˆã¾ã™ã€‚
+
+
top
+
+

ダウンロード

+ +

Apache HTTP サーãƒã¯ Apache HTTP + サーãƒãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚µã‚¤ãƒˆã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã§ãã¾ã™ã—〠+ åŒã˜å ´æ‰€ã«å¹¾ã¤ã‹ã®ãƒŸãƒ©ãƒ¼ã‚µã‚¤ãƒˆã‚‚リストã—ã¦ã„ã¾ã™ã€‚ + UNIX ã«é¡žä¼¼ã™ã‚‹ã‚·ã‚¹ãƒ†ãƒ ã§ Apache を使ã†ãƒ¦ãƒ¼ã‚¶ã¯ã€ã‚½ãƒ¼ã‚¹ã‚’ + ダウンロードã—ã¦ãƒ“ルドã—ãŸã»ã†ãŒè‰¯ã„ã§ã—ょã†ã€‚ + ビルドã®æ‰‹é †ï¼ˆä¸‹è¨˜ï¼‰ã¯ç°¡å˜ã§ã™ã—ã€ãã®ãŠã‹ã’ã§ãƒ‹ãƒ¼ã‚ºã« + 見åˆã£ãŸã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã‚’ç°¡å˜ã«ã§ãã¾ã™ã€‚ + ã•ã‚‰ã«ã€ãƒã‚¤ãƒŠãƒªã®ãƒªãƒªãƒ¼ã‚¹ã¯ã‚½ãƒ¼ã‚¹ãƒªãƒªãƒ¼ã‚¹ã‚ˆã‚Šã‚‚ + é…ã‚Œã¦ã„ã‚‹ã“ã¨ãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚ + ãã‚Œã§ã‚‚ãƒã‚¤ãƒŠãƒªã‚’ダウンロードã—ãŸã®ã§ã‚ã‚Œã°ã€ + ディストリビューションã®ä¸­ã«ã‚ã‚‹ INSSTALL.bindist + ファイルã®èª¬æ˜Žã«å¾“ã£ã¦ãã ã•ã„。

+ +

ダウンロード後ã€ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã—ãŸã‚‚ã®ãŒ Apache HTTP + サーãƒã®å®Œå…¨ã§æ”¹ç«„ã•ã‚Œã¦ã„ãªã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚ã‚‹ã“ã¨ã‚’ + 検証ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚ã“ã‚Œã¯ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã—㟠tarball ã® PGP ç½²åã‚’ + テストã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦æ¤œè¨¼ã—ã¾ã™ã€‚ + ã“ã®æ‰‹é †ã®è©³ç´°ã¯ ダウンロード + ページ ã«ã‚ã‚Šã€ã•ã‚‰ã«è©³ã—ã„例㯠PGP ã®ä½¿ç”¨ + ã«è¨˜è¼‰ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +
top
+
+

展開

+ +

Apache HTTPD ã® tarball + ã‹ã‚‰ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’展開ã—ã¦å–り出ã™ã¨ã¯ã€ + å˜ãªã‚‹åœ§ç¸®ã®è§£é™¤ã¨ tar ã®å±•é–‹ã§ã™:

+ +

+$ gzip -d httpd-NN.tar.gz
+$ tar xvf httpd-NN.tar +

+ +

é…布用ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ãŒã‚ã‚‹ç¾åœ¨ã„るディレクトリã®ä¸‹ã«ã€ + æ–°ã—ã„ディレクトリãŒä½œã‚‰ã‚Œã¾ã™ã€‚ + サーãƒã‚’コンパイルã™ã‚‹æ®µéšŽã«é€²ã‚€å‰ã«ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + cd ã§ç§»å‹•ã—ã¦ãã ã•ã„。

+
top
+
+

ソースツリーを設定ã™ã‚‹

+ +

次ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯ã€ã‚ãªãŸã®ãƒ—ラットホーム㨠+ 個人的ãªè¦æ±‚ã«åˆã†ã‚ˆã†ã« Apache + ソースツリーを設定ã™ã‚‹ã“ã¨ã§ã™ã€‚ + ã“ã‚Œã¯é…布ディレクトリã®ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚る〠+ configure + スクリプトã§è¡Œãªã„ã¾ã™ã€‚ + (Apache ソースツリーã®æœªãƒªãƒªãƒ¼ã‚¹ + 版をダウンロードã—ãŸé–‹ç™ºè€…ã¯ã€æ¬¡ã®ã‚¹ãƒ†ãƒƒãƒ—ã«é€²ã‚€å‰ã« + autoconf ã¨libtool + をインストールã—㦠buildconf + を実行ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + å…¬å¼ãƒªãƒªãƒ¼ã‚¹ã§ã¯ã“ã®ä½œæ¥­ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。)

+ +

デフォルトオプションを使ã£ã¦ã‚½ãƒ¼ã‚¹ãƒ„リーを全ã¦è¨­å®šã™ã‚‹ + ã®ã§ã‚ã‚Œã°ã€å˜ç´”ã« ./configure ã¨ã‚¿ã‚¤ãƒ—ã—ã¦ãã ã•ã„。 + デフォルトオプションを変更ã§ãるよã†ã«ã€configure + ã«ã¯æ§˜ã€…ãªå¤‰æ•°ã‚„コマンドラインオプションãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

最もé‡è¦ãªã‚ªãƒ—ションã¯ã€Apache ãŒã“ã®å¾Œã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã‚‹ä½ç½® + --prefix ã§ã™ã€‚Apache ã¯ã€ã“ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ä½ç½®ã« + ãŠã„ã¦æ­£å¸¸ã«å‹•ä½œã™ã‚‹ã‚ˆã†ã«è¨­å®šã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ã‹ã‚‰ã§ã™ã€‚ + ã•ã‚‰ã«è©³ç´°ãªãƒ•ã‚¡ã‚¤ãƒ«ä½ç½®ã®åˆ¶å¾¡ã¯è¿½åŠ ã® 設定オプション + ã§ã§ãã¾ã™ã€‚

+ +

ã“ã®æ™‚点ã§ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« を有効ã«ã—ãŸã‚Š + 無効ã«ã—ãŸã‚Šã™ã‚‹ã“ã¨ã§ Apache 本体ã«å«ã¾ã‚Œã‚‹ 機能 + を指定ã§ãã¾ã™ã€‚Apache 本体ã«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® Base セット㌠+ å«ã¾ã‚Œã¾ã™ã€‚ãã®ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ + --enable-module オプション㧠+ 有効ã«ãªã‚Šã¾ã™ã€‚ã“ã“㧠module ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®åå‰ã§ã€ + ã¤ã¾ã‚Šãã‚Œã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®åå‰ã‹ã‚‰ mod_ 文字列をå–り除ã„ãŸå¾Œã« + アンダースコアをダッシュã§ç½®æ›ã—ãŸæ–‡å­—列ã§ã™ã€‚ + ã“ã‚Œã¨ã¯åˆ¥ã®æ–¹æ³•ã§ --enable-module=shared + オプションを使ã£ã¦ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ + シェアードオブジェクト (DSO) -- 実行時ã«ãƒ­ãƒ¼ãƒ‰ã—ãŸã‚Š + アンロードã—ãŸã‚Šã§ãã‚‹å½¢å¼ -- ã¨ã—ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + åŒæ§˜ã«ã€--disable-module オプション㧠+ Base モジュールを無効化ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + ã“れらã®ã‚ªãƒ—ションを使ã£ã¦ã„ã‚‹ã¨ãã«ã€ã‚‚ã—指定ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå­˜åœ¨ã—ãªãã¦ã‚‚ + configure ã¯è­¦å‘Šã‚’上ã’ã‚‹ã“ã¨ãªãã€å˜ç´”ã«ã‚ªãƒ—ションを + 無視ã™ã‚‹ã“ã¨ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。

+ +

上記ã«åŠ ãˆã¦ã€configure スクリプトã«ã€ + コンパイラã€ãƒ©ã‚¤ãƒ–ラリã€ãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½ç½®ã‚’追加情報ã¨ã—ã¦æ¸¡ã™ + å¿…è¦ãŒã‚ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ã“ã®ã‚ˆã†ãªå ´åˆã«ã¯ã€ç’°å¢ƒå¤‰æ•°ã‚ã‚‹ã„㯠+ コマンドラインオプション㧠configure ã«æ¸¡ã—ã¾ã™ã€‚ + 詳細ã«é–¢ã—ã¦ã¯ configure マニュアルページ + ã‚’ã”覧ãã ã•ã„。ã‚ã‚‹ã„㯠--help オプションã¤ã㧠+ configure を呼ã³å‡ºã—ã¦ãã ã•ã„。

+ +

ã¡ã‚‡ã£ã¨ã©ã‚“ãªã“ã¨ãŒã§ãã‚‹ã‹ã‚’見ã›ã¾ã—ょã†ã€‚ + ã“ã“ã§å…¸åž‹çš„ãªä¾‹ã¨ã—ã¦ã€/sw/pkg/apache + ã¨ã„ã†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãƒ„リーã§ã‚³ãƒ³ãƒ‘イラã¨ãƒ•ãƒ©ã‚°ã‚’指定ã—ã¦ã€ + ã•ã‚‰ã«äºŒã¤ã®è¿½åŠ ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« mod_rewrite 㨠+ mod_speling を後㧠DSO + メカニズムã§ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ã‚ˆã†ã«ã‚³ãƒ³ãƒ‘イルã—ã¦ã¿ã¾ã™:

+ +

+ $ CC="pgcc" CFLAGS="-O2" \
+ ./configure --prefix=/sw/pkg/apache \
+ --enable-rewrite=shared \
+ --enable-speling=shared +

+ +

configure を実行ã—ãŸã‚‰ã€ã‚·ã‚¹ãƒ†ãƒ ã®æ©Ÿèƒ½ã‚’ + テストã—ãŸã‚Šã€å¾Œã§ã‚µãƒ¼ãƒã‚’コンパイルã™ã‚‹ãŸã‚ã«å¿…è¦ãª Makefile + を生æˆã—ãŸã‚Šã™ã‚‹ã®ã«æ•°åˆ†é–“ã‹ã‹ã‚‹ã§ã—ょã†ã€‚

+ +

個々㮠configure オプションã®è©³ç´°ã«é–¢ã—ã¦ã¯ + configure マニュアルページ + ã‚’ã”覧ãã ã•ã„。

+
top
+
+

ビルド

+ +

ã“れ㧠Apache ã®æ§˜ã€…ãªãƒ‘ーツをビルドã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 次ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å˜ç´”ã«å®Ÿè¡Œã™ã‚‹ã ã‘ã§ã™:

+ +

$ make

+ +

基本的ãªè¨­å®šã‚’ã™ã‚‹ã®ã«æ•°åˆ†ã‹ã‹ã‚Šã¾ã™ãŒã€ + ã‚らã‹ã˜ã‚ã”了承ãã ã•ã„。 + ã¾ãŸã€æ™‚é–“ã¯ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚„有効ã«ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ•°ã« + 大ããä¾å­˜ã™ã‚‹ã§ã—ょã†ã€‚

+
top
+
+

インストール

+ +

ã•ã¦ã€è¨­å®šã—ãŸã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« PREFIX + (å‰è¿°ã® --prefix オプションをå‚ç…§) + 以下ã«ãƒ‘ッケージをインストールã™ã‚‹æ®µéšŽã«ãªã‚Šã¾ã—ãŸã€‚ + 次ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¦ãã ã•ã„:

+ +

$ make install

+ +

通常 PREFIX ã¯æ›¸ãè¾¼ã¿ãƒ‘ーミッションãŒåˆ¶é™ã•ã‚Œã¦ã„ã‚‹ + ディレクトリã«ãªã£ã¦ã„ã‚‹ã®ã§ã€ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯é€šå¸¸ã¯ + ルート権é™ãŒå¿…è¦ã§ã™ã€‚

+ +

アップグレードã™ã‚‹å ´åˆã¯ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚„ + ドキュメントファイルã®ä¸Šæ›¸ãã¯è¡Œã„ã¾ã›ã‚“。

+
top
+
+

カスタマイズ

+ +

次㫠PREFIX/conf/ 以下ã«ã‚ã‚‹ 設定ファイルを編集ã—ã¦ã€ + Apache HTTP サーãƒã‚’カスタマイズã—ã¾ã™ã€‚

+ +

$ vi PREFIX/conf/httpd.conf

+ +

PREFIX/docs/manual/ ã‚„ + docs/manual/ ã«ã‚ã‚‹ Apache マニュアルをã–ã£ã¨è¦‹ã¦ãã ã•ã„。 + ã¾ãŸã¯ã€http://httpd.apache.org/docs/2.4/ + ã«ã‚るマニュアル最新版ã€è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«å½“ãŸã£ã¦ã¿ã¦ãã ã•ã„。

+
top
+
+

テスト

+ +

次ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—㦠Apache HTTP サーãƒã‚’開始ã§ãã¾ã™:

+ +

$ PREFIX/bin/apachectl -k start

+ +

URL http://localhost/ を通ã—ã¦æœ€åˆã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«å¯¾ã™ã‚‹ + リクエストを発行ã™ã‚‹äº‹ãŒã§ãã‚‹ã¯ãšã§ã™ã€‚ã“ã‚Œã§è¦‹ãˆã‚‹ + ウェブページ㯠DocumentRoot + 以下ã«ç½®ã‹ã‚ŒãŸã‚‚ã®ã§ã€é€šå¸¸ã¯ + PREFIX/htdocs/ ã§ã—ょã†ã€‚ + サーãƒã‚’å†ã³åœæ­¢ã™ã‚‹ã«ã¯ã€ + 次ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™:

+ +

$ PREFIX/bin/apachectl -k stop

+
top
+
+

アップグレード

+ +

アップグレードã§ã¾ãšè¡Œãªã†ã¹ãã“ã¨ã¯ã€ãƒªãƒªãƒ¼ã‚¹ã‚¢ãƒŠã‚¦ãƒ³ã‚¹ã¨ + ソースディストリビューションã«å…¥ã£ã¦ã„ã‚‹ CHANGES を読んã§ã€ + 自身ã®ã‚µã‚¤ãƒˆã«å¯¾ã—ã¦å½±éŸ¿ã‚’åŠã¼ã™å¤‰æ›´ç‚¹ã‚’探ã™ã“ã¨ã§ã™ã€‚ + メジャーリリース間ã®å¤‰æ›´ã‚’ã™ã‚‹å ´åˆ (例ãˆã° 1.3 ã‹ã‚‰ 2.0 ã¸ã€2.0 ã‹ã‚‰ 2.2 ã¸) + ã¯ã€ã‚³ãƒ³ãƒ‘イル時や実行時ã®è¨­å®šã«å¤§ããªå·®ç•°ãŒã‚ã‚‹ã§ã—ょã†ã‹ã‚‰ã€ + 手動ã®èª¿æ•´ãŒå¿…è¦ã«ãªã‚‹ã§ã—ょã†ã€‚モジュールも全ã¦ã€API + ã®å¤‰æ›´ã«åˆã‚ã›ã‚‹ãŸã‚ã«ã‚¢ãƒƒãƒ—グレードãŒå¿…è¦ã«ãªã‚‹ã§ã—ょã†ã€‚

+ +

マイナーãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‹ã‚‰æ¬¡ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚¢ãƒƒãƒ—グレードã™ã‚‹å ´åˆ + (例ãˆã° 2.2.55 ã‹ã‚‰ 2.2.57 ã¸) ã¯ã€ã‚‚ã£ã¨ç°¡å˜ã§ã™ã€‚ + make install を実行ã—ã¦ã‚‚今ã‚るドキュメント〠+ ログファイルã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯ä¸Šæ›¸ãã•ã‚Œã¾ã›ã‚“。 + ã•ã‚‰ã«ã€ãƒžã‚¤ãƒŠãƒ¼ãƒãƒ¼ã‚¸ãƒ§ãƒ³é–“ã§ã¯ configure オプション〠+ 実行時ã®è¨­å®šã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« API ã«ä¸æ•´åˆãŒèµ·ã“らãªã„よã†ã«ã€ + 開発者ã¯æœ€å¤§é™ã®åŠªåŠ›ã‚’ã—ã¦ã„ã¾ã™ã€‚ + 大抵ã®å ´åˆã€åŒä¸€ã® configure コマンドライン〠+ åŒä¸€ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«å…¨ã¦ãŒæ­£å¸¸ã«å‹•ä½œã™ã‚‹ã¯ãšã§ã™ã€‚

+ +

マイナーãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚¢ãƒƒãƒ—グレードã™ã‚‹å ´åˆã¯ã€ + æ—¢ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„るサーãƒã® build ディレクトリ内ã‹ã€ + 以å‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«ä½¿ã£ãŸã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ãƒ„リーã®æœ€ä¸Šä½ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«ã‚る〠+ config.nice ファイルを探ã—ã¦ãã ã•ã„。 + ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ã‚½ãƒ¼ã‚¹ãƒ„リーを設定ã—ãŸæ™‚ã«ä½¿ã£ãŸ + configure コマンドラインãŒã€ãã®ã¾ã¾å…¥ã£ã¦ã„ã¾ã™ã€‚ + 次ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚¢ãƒƒãƒ—グレードã™ã‚‹å ´åˆã¯ config.nice + ファイルを新ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚½ãƒ¼ã‚¹ãƒ„リーã«ã‚³ãƒ”ーã—〠+ å¿…è¦ã§ã‚ã‚Œã°ãれを編集ã—ãŸå¾Œã«ã€æ¬¡ã®ã‚ˆã†ã«å®Ÿè¡Œã—ã¾ã™ã€‚

+ +

+ $ ./config.nice
+ $ make
+ $ make install
+ $ PREFIX/bin/apachectl -k graceful-stop
+ $ PREFIX/bin/apachectl -k start
+

+ +
æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’使用ã™ã‚‹å ´åˆã¯ã€ + 実際ã«é‹ç”¨ã‚’始ã‚ã‚‹å‰ã«ã€å¿…ãšè‡ªåˆ†ç”¨ã®ç’°å¢ƒã§ãƒ†ã‚¹ãƒˆã™ã¹ãã§ã™ã€‚ + 最終的ã«ã‚¢ãƒƒãƒ—グレードã™ã‚‹å‰ã«ã€éžäº’æ›æ€§ãŒãªã„ã‹ã‚’テストã™ã‚‹ãŸã‚ã«ã€ + 例ãˆã°ã€ç•°ãªã‚‹ --prefix ã¨ç•°ãªã‚‹ãƒãƒ¼ãƒˆ (Listen ディレクティブã§è¨­å®šã—ã¾ã™) + を使用ã™ã‚‹ã“ã¨ã§ã€å¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«å½±éŸ¿ã‚’与ãˆãšã«æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ + インストールã—ã€å®Ÿè¡Œã§ãã¾ã™ã€‚
+ +

ã‚‚ã¨ã® configure ã«è¿½åŠ ã™ã‚‹å½¢ã§ã€ + 追加ã®å¼•æ•°ã‚’ config.nice ã«æ¸¡ã™ã“ã¨ã‚‚ã§ãã¾ã™:

+ +

+ $ ./config.nice --prefix=/home/test/apache --with-port=90 +

+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/install.html.ko.euc-kr b/docs/manual/install.html.ko.euc-kr new file mode 100644 index 0000000..feb469a --- /dev/null +++ b/docs/manual/install.html.ko.euc-kr @@ -0,0 +1,388 @@ + + + + + +ÄÄÆÄÀÏ°ú ¼³Ä¡ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

ÄÄÆÄÀÏ°ú ¼³Ä¡

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +

ÀÌ ¹®¼­´Â À¯´Ð½º¿Í À¯´Ð½º·ù ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ°í + ¼³Ä¡ÇÏ´Â °Í¸¸À» ´Ù·é´Ù. À©µµ¿ìÁî¿¡¼­ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â ¹æ¹ýÀº + ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ìÁî¿¡¼­ + ¾ÆÆÄÄ¡ »ç¿ëÀ» Âü°íÇ϶ó. ´Ù¸¥ Ç÷¡Æû¿¡ ´ëÇؼ­´Â Ç÷¡Æû ¹®¼­¸¦ Âü°íÇ϶ó.

+ +

¾ÆÆÄÄ¡ 2.0ÀÇ ±¸¼º°ú ¼³Ä¡ ȯ°æÀº 1.3°ú ¸Å¿ì ´Ù¸£´Ù. + ¾ÆÆÄÄ¡ 1.3Àº ½¬¿î ¼³Ä¡¸¦ À§ÇØ ÀÚü ½ºÅ©¸³Æ®¸¦ »ç¿ëÇß´Ù. + ¾ÆÆÄÄ¡ 2.0Àº ÀÌÁ¦ ´Ù¸¥ ¿©·¯ ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿Í ºñ½ÁÇÑ È¯°æÀ» + ¸¸µé±âÀ§ÇØ libtool°ú autoconf¸¦ + »ç¿ëÇÑ´Ù.

+ +

¸¸¾à ÀÛÀº ¹öÀüÀ» ÇÑ´Ü°è ¾÷±×·¹À̵åÇÑ´Ù¸é (¿¹¸¦ µé¾î, + 2.0.50¿¡¼­ 2.0.51), ¾÷±×·¹À̵å + ÀåÀ¸·Î ¹Ù·Î °¡±æ ¹Ù¶õ´Ù.

+ +
+ +
top
+
+

¼º¹Ì ±ÞÇÑ »ç¶÷À» À§ÇÑ °³¿ä

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
´Ù¿î·Îµå$ lynx http://httpd.apache.org/download.cgi +
¾ÐÃà Ç®±â$ gzip -d httpd-2_1_NN.tar.gz
+ $ tar xvf httpd-2_1_NN.tar
±¸¼º$ ./configure --prefix=PREFIX +
ÄÄÆÄÀÏ$ make
¼³Ä¡$ make install
¼³Á¤$ vi PREFIX/conf/httpd.conf
°Ë»ç$ PREFIX/bin/apachectl start +
+ +

NNÀº ÇöÀç ÀÛÀº ¹öÀü ¼ýÀÚ·Î, PREFIX´Â + ¼­¹ö°¡ ¼³Ä¡µÉ ÆÄÀϽýºÅÛ °æ·Î·Î ´ëüÇØ¾ß ÇÑ´Ù. PREFIX¸¦ + ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»°ªÀ¸·Î /usr/local/apache2¸¦ + »ç¿ëÇÑ´Ù.

+ +

¾Æ·¡´Â ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇϱâÀ§ÇÑ ¿ä±¸»çÇ׺ÎÅÍ + ÄÄÆÄÀÏ°ú ¼³Ä¡ °úÁ¤À» °¢°¢ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.

+
top
+
+

¿ä±¸»çÇ×

+ +

¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇϱâÀ§ÇØ ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÇÊ¿äÇÏ´Ù:

+ +
+
µð½ºÅ© °ø°£
+
µð½ºÅ© ¿©À¯°ø°£ÀÌ ÃÖ¼Ò 50 MB ÀÌ»óÀÎÁö È®ÀÎÇ϶ó. + ¼³Ä¡ÈÄ ¾ÆÆÄÄ¡´Â ¾à 10 MBÀÇ µð½ºÅ© °ø°£À» Â÷ÁöÇÑ´Ù. + ½ÇÁ¦ ÇÊ¿äÇÑ µð½ºÅ© °ø°£Àº ¼±ÅÃÇÑ ±¸¼º ¿É¼Ç°ú Ãß°¡ ¸ðµâ¿¡ + µû¶ó »ó´çÈ÷ Â÷ÀÌ°¡ ³­´Ù.
+ +
ANSI-C ÄÄÆÄÀÏ·¯¿Í ÄÄÆÄÀÏ ½Ã½ºÅÛ
+
ANSI-C ÄÄÆÄÀÏ·¯°¡ ¼³Ä¡µÇÀÖ´ÂÁö È®ÀÎÇ϶ó. Free Software Foundation (FSF)ÀÇ + GNU C + compiler (GCC)¸¦ ÃßõÇÑ´Ù. (¹öÀü 2.7.2¸é µÈ´Ù.) GCC°¡ + ¾ø´Ù¸é ÃÖ¼ÒÇÑ »ç¿ëÇÏ´Â ÄÄÆÄÀÏ·¯°¡ ANSI ȣȯÀÎÁö È®ÀÎÇ϶ó. + Ãß°¡·Î PATH ȯ°æº¯¼ö´Â make¿Í + °°Àº ±âº»ÀûÀÎ ÄÄÆÄÀÏ µµ±¸¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù.
+ +
Á¤È®ÇÑ ½Ã°£
+
HTTP ÇÁ·ÎÅäÄÝ¿¡´Â ÇÏ·çÁß ½Ã°£À» Ç¥ÇöÇÏ´Â ºÎºÐÀÌ ÀÖ´Ù. ±×·¡¼­ + ÀÌÁ¦ ½Ã½ºÅÛÀÇ ½Ã°£ µ¿±âÈ­ ±â´ÉÀ» »ìÆ캼 ½Ã°£ÀÌ´Ù. º¸Åë + À̸¦ À§ÇØ Network Time Protocol (NTP)¿¡ ±â¹ÝÇÑ + ntpdate³ª xntpd¸¦ »ç¿ëÇÑ´Ù. + NTP ¼ÒÇÁÆ®¿þ¾î¿Í °ø°³ ½Ã°£ ¼­¹ö¿¡ ´ëÇÑ Á¤º¸´Â ´º½º±×·ì + comp.protocols.time.ntp¿Í + NTP ȨÆäÀÌÁö¸¦ + Âü°íÇ϶ó.
+ +
Perl 5 + [¼±ÅûçÇ×]
+
(Perl·Î ¾²¿©Áø) apxs³ª + dbmmanage¿Í °°Àº + Áö¿ø ½ºÅ©¸³Æ®¸¦ À§ÇØ Perl 5 ÀÎÅÍÇÁ¸®ÅÍ°¡ ÇÊ¿äÇÏ´Ù. (¹öÀü + 5.003 ÀÌ»óÀÌ¸é µÈ´Ù.) `configure' ½ºÅ©¸³Æ®°¡ + ÀÌ ÀÎÅÍÇÁ¸®Å͸¦ ãÁö ¸øÇصµ ¹®Á¦¾øÀÌ ¾ÆÆÄÄ¡ 2.0À» + ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸ Áö¿ø ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏÁö + ¸øÇÒ »ÓÀÌ´Ù. ¿©·¯ Perl ÀÎÅÍÇÁ¸®ÅÍ°¡ ¼³Ä¡µÇÀÖ´Ù¸é (¾Æ¸¶µµ + »ì¶§ Æ÷ÇÔµÈ Perl 4¿Í Á÷Á¢ ÄÄÆÄÀÏÇÑ Perl 5) + ./configure°¡ ¿Ã¹Ù¸¥ °ÍÀ» ã±âÀ§ÇØ + --with-perl ¿É¼ÇÀ» (¾Æ·¡ Âü°í) »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.
+
+
top
+
+

´Ù¿î·Îµå

+ +

¾ÆÆÄÄ¡´Â ¿©·¯ ¹Ì·¯ ¸ñ·ÏÀÌ ÀÖ´Â ¾ÆÆÄÄ¡ À¥¼­¹ö + ´Ù¿î·Îµå »çÀÌÆ®¿¡¼­ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º·ù ½Ã½ºÅÛÀ» + »ç¿ëÇÑ´Ù¸é ¼Ò½ºÄڵ带 ´Ù¿î¹Þ¾Æ¼­ ÄÄÆÄÀÏÇÏ´Â ÆíÀÌ ³´´Ù. ½±°Ô + (¾Æ·¡¿¡¼­ ¼³¸í) ÄÄÆÄÀÏÇÒ ¼ö ÀÖ°í, ÀÚ½ÅÀÇ ¿ëµµ¿¡ ¾Ë¸Â°Ô ¼­¹ö¸¦ + ¸ÂÃâ ¼ö ÀÖ´Ù. ¶Ç, ÃֽŠ¹öÀü ¹ÙÀ̳ʸ® ¹èÆ÷º»ÀÌ ¾ø´Â °æ¿ìµµ + ¸¹´Ù. ¹ÙÀ̳ʸ®¸¦ ´Ù¿î¹Þ´Â´Ù¸é ¹èÆ÷º»¿¡ ÀÖ´Â + INSTALL.bindist ÆÄÀÏÀÇ Áö½Ã¸¦ µû¸£¶ó.

+ +

´Ù¿î·ÎµåÈÄ ´Ù¿î¹ÞÀº ÆÄÀÏÀÌ ¿ÏÀüÇÏ°í + º¯°æµÇÁö¾ÊÀº ¾ÆÆÄÄ¡ À¥¼­¹öÀÓÀ» È®ÀÎÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. + PGP ¼­¸íÀ» °¡Áö°í ´Ù¿î·ÎµåÇÑ Å¸º¼(tarball)À» °Ë»çÇÏ¿© È®ÀÎÇÑ´Ù. + ÀÚ¼¼ÇÑ ¹æ¹ýÀº ´Ù¿î·Îµå + ÆäÀÌÁö¿¡ ÀÖ°í, PGP + »ç¿ë¹ýÀ» ¼³¸íÇÏ´Â »ó¼¼ÇÑ ¿¹µµ ÀÖ´Ù.

+ +
top
+
+

¾ÐÃà Ç®±â

+ +

¾ÆÆÄÄ¡ À¥¼­¹ö Ÿº¼¿¡¼­ ¼Ò½º¸¦ Ǫ´Â ÀÛ¾÷Àº ´Ü¼øÈ÷ ¾ÐÃà°ú + tar¸¦ Ǫ´Â °ÍÀÌ´Ù:

+ +

+$ gzip -d httpd-2_1_NN.tar.gz
+$ tar xvf httpd-2_1_NN.tar +

+ +

±×·¯¸é ÇöÀç µð·ºÅ丮 ¾Æ·¡¿¡ ¹èÆ÷º»ÀÇ ¼Ò½ºÄڵ带 ´ãÀº + »õ·Î¿î µð·ºÅ丮°¡ »ý±ä´Ù. ¼­¹ö¸¦ ÄÄÆÄÀÏÇϱâ Àü¿¡ ±× + µð·ºÅ丮·Î cdÇØ¾ß ÇÑ´Ù.

+
top
+
+

¼Ò½º Æ®¸® ±¸¼ºÇϱâ

+ +

´ÙÀ½ °úÁ¤Àº ƯÁ¤ Ç÷¡Æû°ú °³ÀÎÀûÀÎ ÇÊ¿ä¿¡ µû¶ó ¾ÆÆÄÄ¡ + ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÏ´Â ÀÏÀÌ´Ù. À̸¦ À§ÇØ ¹èÆ÷º»ÀÇ ÃÖ»óÀ§ µð·ºÅ丮¿¡ + ÀÖ´Â configure + ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù. (¾ÆÆÄÄ¡ + ¼Ò½º Æ®¸®ÀÇ CVS ¹öÀüÀ» ´Ù¿î·ÎµåÇÑ °³¹ßÀÚ´Â ÀÌ¹Ì + autoconf¿Í libtool°¡ ¼³Ä¡µÇÀÖ°í, + ´ÙÀ½ °úÁ¤À¸·Î ³Ñ¾î°¡±â Àü¿¡ buildconf¸¦ ½ÇÇàÇØ¾ß + ÇÑ´Ù. ÀÌ´Â Á¤½Ä ¹öÀü¿¡¼­´Â ÇÊ¿ä¾ø´Ù.)

+ +

¸ðµÎ ±âº» ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÏ·Á¸é °£´ÜÈ÷ + ./configure¸¦ ÀÔ·ÂÇϸéµÈ´Ù. ±âº» ¿É¼ÇÀ» ¼öÁ¤ÇÏ·Á¸é + ./configure¿¡ ¿©·¯ º¯¼ö¿Í ¸í·ÉÇà ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.

+ +

°¡Àå Áß¿äÇÑ ¿É¼ÇÀº ¾ÆÆÄÄ¡°¡ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇϱâÀ§ÇØ ¾ÆÆÄÄ¡¸¦ + ±¸¼ºÇÏ°í ¼³Ä¡ÇÒ Àå¼ÒÀÎ --prefix´Ù. ´Ù¸¥ configure + ¿É¼ÇµéÀ» »ç¿ëÇÏ¿© ÆÄÀÏÀÇ À§Ä¡¸¦ ´õ ÀÚ¼¼È÷ ¼³Á¤ÇÒ ¼öµµ + ÀÖ´Ù.

+ +

¸ðµâÀ» Æ÷ÇÔÇϰųª »©¼­ ¾ÆÆÄÄ¡¿¡ Æ÷ÇÔÇÒ + ±â´ÉÀ» + ¼±ÅÃÇÑ´Ù. Base + »óÅÂÀÎ ¸ðµâÀº ±âº»ÀûÀ¸·Î ¾ÆÆÄÄ¡¿¡ Æ÷ÇԵȴÙ. ´Ù¸¥ »óÅÂÀÇ + ¸ðµâÀº --enable-module ¿É¼ÇÀ» »ç¿ëÇÏ¿© + Æ÷ÇÔÇÑ´Ù. ¿©±â¼­ moduleÀº ¸ðµâ À̸§¿¡¼­ + mod_¸¦ »©°í ¹ØÁÙÀ» »©±â±âÈ£·Î º¯°æÇÑ °á°ú´Ù. + --enable-module=shared ¿É¼ÇÀ» »ç¿ëÇϸé + ¸ðµâÀ» ½ÇÇàÁß¿¡ Æ÷ÇÔÇϰųª »¬ ¼ö ÀÖ´Â °øÀ¯°´Ã¼(shared object, DSO)·Î ÄÄÆÄÀÏÇÑ´Ù. + ¶Ç, --disable-module ¿É¼ÇÀ» »ç¿ëÇÏ¿© + Base ¸ðµâÀ» »¬ ¼ö ÀÖ´Ù. ÁöÁ¤ÇÑ ¸ðµâÀÌ ¾ø¾îµµ + configure°¡ °æ°íÇÏÁö¾Ê°í ±×³É ¹«½ÃÇϱ⶧¹®¿¡ + ¸ðµâ À̸§À» Á¤È®È÷ ÀÔ·ÂÇ϶ó.

+ +

°¡²û configure ½ºÅ©¸³Æ®¿¡°Ô ÄÄÆÄÀÏ·¯, + ¶óÀ̺귯¸®, Çì´õÆÄÀÏ µîÀÇ À§Ä¡¸¦ ¾Ë·ÁÁà¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù. + ÀÌ Á¤º¸´Â ȯ°æº¯¼ö³ª configureÀÇ ¸í·ÉÇà ¿É¼ÇÀ» + »ç¿ëÇÏ¿© Àü´ÞÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº configure manpage¸¦ + Âü°íÇ϶ó.

+ +

¿©·¯ºÐÀÌ ¼±ÅÃÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀ» º¸¿©ÁÖ±âÀ§ÇØ ´ÙÀ½Àº + ƯÁ¤ ÄÄÆÄÀÏ·¯¿Í Ç÷¡±×¸¦ »ç¿ëÇÏ°í ³ªÁß¿¡ DSO·Î ÀоîµéÀÏ + µÎ ¸ðµâ mod_rewrite¿Í + mod_spelingÀ» Ãß°¡ÇÏ¿© + /sw/pkg/apache¿¡ ¼³Ä¡ÇÒ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ´Â + ÀüÇüÀûÀÎ ¿¹ÀÌ´Ù:

+ +

+ $ CC="pgcc" CFLAGS="-O2" \
+ ./configure --prefix=/sw/pkg/apache \
+ --enable-rewrite=shared \
+ --enable-speling=shared +

+ +

configure¸¦ ½ÇÇàÇÏ¸é ¸îºÐ°£ ½Ã½ºÅÛÀÇ ±â´ÉÀ» + °Ë»çÇÏ¿© ³ªÁß¿¡ ¼­¹ö¸¦ ÄÄÆÄÀÏÇÒ¶§ »ç¿ëÇÒ MakefileµéÀ» + ¸¸µç´Ù.

+ +

configure ¿É¼Çµé¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº configure manpage¿¡ ÀÖ´Ù.

+
top
+
+

ÄÄÆÄÀÏ

+ +

ÀÌÁ¦ ´ÙÀ½ ¸í·É¾î Çϳª·Î ¾ÆÆÄÄ¡ÀÇ ¿©·¯ ºÎºÐÀ» ÄÄÆÄÀÏÇÒ + ¼ö ÀÖ´Ù:

+ +

$ make

+ +

¿©±â¼­ Á» ±â´Ù·Á¶ó. ÆæƼ¾ö III/¸®´ª½º 2.2 ½Ã½ºÅÛ¿¡¼­ + ±âº» ±¸¼ºÀ» ÄÄÆÄÀÏÇϴµ¥ ¾à 3ºÐ Á¤µµ °É¸°´Ù. ÀÌ ½Ã°£Àº + Çϵå¿þ¾î¿Í Æ÷ÇÔÇÑ ¸ðµâ¼ö¿¡ µû¶ó Å©°Ô º¯ÇÑ´Ù.

+
top
+
+

¼³Ä¡

+ +

ÀÌÁ¦ ´ÙÀ½ ¸í·É¾î·Î ÆÐÅ°Áö¸¦ (À§ÀÇ --prefix + ¿É¼Ç Âü°í) ÁöÁ¤ÇÑ ¼³Ä¡ À§Ä¡ PREFIX¿¡ ¼³Ä¡ÇÑ´Ù:

+ +

$ make install

+ +

¾÷±×·¹À̵åÇÑ´Ù¸é ÀÌ ¼³Ä¡ °úÁ¤ÀÌ ±âÁ¸ ¼³Á¤ÆÄÀÏÀ̳ª ¹®¼­¸¦ + µ¤¾î¾²Áö ¾Ê´Â´Ù.

+
top
+
+

¼³Á¤

+ +

´ÙÀ½À¸·Î PREFIX/conf/¿¡ ÀÖ´Â + ¼³Á¤ÆÄÀÏÀ» ÆíÁýÇÏ¿© ¾ÆÆÄÄ¡ + À¥¼­¹ö¸¦ ¼³Á¤ÇÑ´Ù.

+ +

$ vi PREFIX/conf/httpd.conf

+ +

»ç¿ë°¡´ÉÇÑ ¼³Á¤ Áö½Ã¾î¿¡ + ´ëÇÑ ¿ÏÀüÇÑ ¼³¸í°ú ÀÌ ¹®¼­ÀÇ °¡Àå ÃÖ±Ù ÆÇÀº docs/manual/À̳ª http://httpd.apache.org/docs/2.4/¿¡ ÀÖ´Â ¾ÆÆÄÄ¡ ¼³¸í¼­¸¦ + Âü°íÇ϶ó.

+
top
+
+

°Ë»ç

+ +

ÀÌÁ¦ ´ÙÀ½°ú °°ÀÌ ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù:

+ +

$ PREFIX/bin/apachectl start

+ +

±×¸®°í URL http://localhost/·Î ù ¹®¼­¸¦ + ¿äûÇÑ´Ù. º¸°ÔµÉ À¥ÆäÀÌÁö´Â ¾Æ¸¶µµ + PREFIX/htdocs/ÀÏ DocumentRoot ¾Æ·¡¿¡ ÀÖ´Ù. ±×¸®°í + ´ÙÀ½ ¸í·É¾î·Î ´Ù½Ã ¼­¹ö¸¦ Áß´ÜÇÑ´Ù:

+ +

$ PREFIX/bin/apachectl stop

+
top
+
+

¾÷±×·¹À̵å

+ +

¾÷±×·¹À̵åÇÑ´Ù¸é ¸ÕÀú »çÀÌÆ®¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Â º¯È­°¡ + ÀÖ´ÂÁö ¾Ë¾Æº¸±âÀ§ÇØ ¹ßÇ¥¹®°ú ¼Ò½º ¹èÆ÷º»ÀÇ CHANGES + ÆÄÀÏÀ» Àд´Ù. (¿¹¸¦ µé¾î, 1.3¿¡¼­ 2.0À̳ª 2.0¿¡¼­ 2.2¿Í + °°Àº) Å« ¹öÀüÀÌ º¯ÇÑ °æ¿ì ÄÄÆÄÀÏ ¿É¼Ç°ú ¼³Á¤À» Á÷Á¢ ¼öÁ¤ÇؾßÇÒ + Á¤µµÀÇ Å« º¯È­°¡ ÀÖÀ» °ÍÀÌ´Ù. ¸ðµç ¸ðµâµµ ¸ðµâ APIÀÇ º¯È­¿¡ + ¾Ë¸Â°Ô ¾÷±×·¹À̵åÇØ¾ß ÇÑ´Ù.

+ +

ÀÛÀº ¹öÀüÀ» ÇÑ´Ü°è ¾÷±×·¹À̵åÇÏ´Â °ÍÀº (¿¹¸¦ µé¾î, + 2.0.55¿¡¼­ 2.0.57) ½±´Ù. make install ÀÛ¾÷Àº + ±âÁ¸ÀÇ ¹®¼­, ·Î±×ÆÄÀÏ, ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇÏÁö ¾Ê´Â´Ù. ¶Ç, + °³¹ßÀÚ´Â ÀÛÀº ¹öÀü°£¿¡ configure ¿É¼Ç, ¼³Á¤, + ¸ðµâ APIÀÇ È£È¯¼º¾ø´Â º¯È­¸¦ ÃÖ´ëÇÑ ¸·´Â´Ù. ´ëºÎºÐÀÇ °æ¿ì + µ¿ÀÏÇÑ configure ¸í·ÉÇà, µ¿ÀÏÇÑ ¼³Á¤ÆÄÀÏÀ» + »ç¿ëÇÒ ¼ö ÀÖ°í, ¸ðµâµéµµ ¸ðµÎ °è¼Ó µ¿ÀÛÇÒ °ÍÀÌ´Ù. (ÀÌ ¸»Àº + 2.0.41ÀÌÈÄ ¹öÀü¿¡¸¸ ÇØ´çÇÑ´Ù. ÀÌÀü ¹öÀüµé¿¡´Â ȣȯ¼º¾ø´Â + º¯È­°¡ ÀÖ´Ù.)

+ +

ÀÌÀü¿¡ ¼³Ä¡Çß´ø ¼Ò½º¸¦ °¡Áö°í ÀÖ´Ù¸é, ¾÷±×·¹À̵尡 ´õ + ½¬¿öÁø´Ù. ÀÌÀü ¼Ò½º ÃÖ»óÀ§¿¡ ÀÖ´Â config.nice + ÆÄÀÏ¿¡´Â ¼Ò½º¸¦ ±¸¼ºÇÒ ¶§ »ç¿ëÇß´ø configure + ¸í·ÉÇà ¿É¼ÇÀÌ ±×´ë·Î ÀÖ´Ù. ±×·¡¼­ ´ÙÀ½ ¹öÀüÀ¸·Î ¾÷±×·¹À̵åÇÑ´Ù¸é + »õ·Î¿î ¹öÀü ¼Ò½º·Î config.nice ÆÄÀÏÀ» º¹»çÇÏ°í, + ¿øÇÑ´Ù¸é Á¶±Ý ¼öÁ¤À» ÇÑ ÈÄ, ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù:

+ +

+ $ ./config.nice
+ $ make
+ $ make install
+ $ PREFIX/bin/apachectl stop
+ $ PREFIX/bin/apachectl start
+

+ +
»õ·Î¿î ¹öÀüÀ» »ç¿ëÇϱâ Àü¿¡ Ç×»ó °Ë»çÇغÁ¾ß + ÇÑ´Ù. ¿¹¸¦ µé¾î, ¾÷±×·¹À̵带 ¸¶Ä¡±â Àü¿¡ ȣȯ¼º ¹®Á¦°¡ + ÀÖ´ÂÁö ¾Ë¾Æº¸±âÀ§ÇØ ´Ù¸¥ --prefix¿Í (Listen Áö½Ã¾î·Î) ´Ù¸¥ Æ÷Æ®¸¦ + »ç¿ëÇÏ¿© »õ·Î¿î ¹öÀüÀ» ¼³Ä¡ÇÑÈÄ ÀÌÀü ¹öÀü°ú °°ÀÌ ½ÇÇàÇغ¼ + ¼ö ÀÖ´Ù.
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/install.html.tr.utf8 b/docs/manual/install.html.tr.utf8 new file mode 100644 index 0000000..015b69d --- /dev/null +++ b/docs/manual/install.html.tr.utf8 @@ -0,0 +1,497 @@ + + + + + +Derleme ve Kurulum - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Derleme ve Kurulum

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Bu belge Apache HTTP Sunucusunun sadece Unix ve Unix benzeri + sistemlerde derlenmesini ve kurulmasını kapsar. Windows üzerinde + derleme ve kurulum için Apache HTTP + Sunucusunun Microsoft Windows ile kullanımı ve Apache HTTP + Sunucusunun Microsoft Windows için Derlenmesi bölümüne bakınız. + Diğer platformlar için ise platform + belgelerine bakınız.

+ +

Apache HTTP Sunucusunun, derleme ortamını oluşturmak için çoğu Açık + Kaynak Kodlu projenin yaptığı gibi libtool ve + autoconf kullanır.

+ +

Eğer sadece sürüm yükseltiyorsanız (2.4.8’dwn 2.4.9’a yükseltmek + gibi) lütfen doğrudan Yükseltme bölümüne + atlayınız.

+ +
+ +
top
+
+

Tez canlılar için genel bir bakış

+
+
Fedora/CentOS/Red Hat Enterprise Linux üzerinde kurulum
+
+
sudo yum install httpd
+sudo systemctl enable httpd
+sudo systemctl start httpd
+ + +
Bu dağıtımların yeni sürümlerinde yum + yerine dnf kullanılmaktadır.yum. Daha ayrıntılı + bilgi için Fedora projesinin + belgelerine bakınız.
+
+ +
Ubuntu/Debian üzerinde kurulum
+
+
sudo apt install apache2
+sudo service apache2 start
+ + +
Daha ayrıntılı bilgi için Ubuntu + belgelerine bakınız.
+ +
+ +
Kaynak koddan kurulum
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
İndirmehttp://httpd.apache.org/download.cgi adresinden en son + dağıtımı indirin. + +
Paketi açma$ gzip -d httpd-NN.tar.gz
+ $ tar xvf httpd-NN.tar
+ $ cd httpd-NN
Yapılandırma$ ./configure --prefix=ÖNEK +
Derleme$ make
Kurulum$ make install
Kişiselleştirme$ vi ÖNEK/conf/httpd.conf
Deneme$ ÖNEK/bin/apachectl -k start +
+ +

NN yerine kuracağınız sürümü, ÖNEK + yerine de dosya sisteminde sunucunun altına kurulacağı dizin yolunu + yazınız. ÖNEK belirtilmezse + /usr/local/apache2 öntanımlıdır.

+ +

Derleme ve kurulum işleminin her aşaması, Apache HTTPd Sunucusunun + derlenmesi ve kurulması için gerekenler başta olmak üzere aşağıda + ayrıntılı olarak açıklanmıştır.

+
+
+ +
Kullandığınız platformu burada göremiyor musunuz? + Bu belgeleri geliştirmek + için gelin bize yardımcı olun.
+
top
+
+

Gereksinimler

+ +

Apache httpd’yi derleyebilmek için şunlar mevcut olmalıdır:

+ +
+
APR ve APR-Util
+
APR ve APR-Util'in sisteminizde kurulu olduğundan emin olun. Kurulu + değilse veya sisteminizce sağlanmış sürümlerini kullanmak + istemiyorsanız APR ve APR-Util'in ikisini birden Apache APR'den indirin ve onları + Apache httpd dağıtımını açtığınız dizinin altında + /httpd_kaynakkod_kök_dizini/srclib/apr ve + /httpd_kaynakkod_kök_dizini/srclib/apr-util dizinlerine + açın (Dizin isimlerinin sürüm numarası içermemesine dikkat edin, + örneğin, APR dağıtımı + /httpd_kaynakkod_kök_dizini/srclib/apr/ altında olsun.) + ve ./configure betiğinin --with-included-apr + seçeneğini kullanın. Bazı platformlarda, httpd'nin, kurulu APR ve + APR-Util kopyanıza karşın derlenmesini sağlamak için ilgili + -dev paketlerini kurmanız gerekebilir.
+ +
Perl-Uyumlu Düzenli İfade Kütüphanesi (PCRE)
+
Bu kütüphane gereklidir, ancak artık httpd ile birlikte + dağıtılmamaktadır. Kaynak kodunu http://www.pcre.org sitesinden indirin ve bir port veya paket + olarak kurun. Eğer derleme sisteminiz PCRE kurulumunuz tarafından + kurulan pcre-config betiğini bulamazsa + --with-pcre seçeneğini kullanarak yerini belirtin. Bazı + platformlarda, httpd'nin, kurulu PCRE kopyanıza karşın derlenmesini + sağlamak için ilgili -dev paketlerini kurmanız + gerekebilir.
+ +
Disk Alanı
+
Geçici olarak en azından 50 MB boş disk alanınız olduğundan emin + olunuz. Kurulumdan sonra sunucu yaklaşık 10 MB disk alanı kaplıyor + olacaktır. Asıl disk alanı gereksinimi seçtiğiniz yapılandırma + seçeneklerine, üçüncü parti modüllere ve şüphesiz sitenizin veya sunucu + üzerindeki sitelerin boyutlarına göre değişiklik + gösterecektir.
+ +
ANSI-C Derleyici ve Derleme Sistemi
+
Bir ANSI-C derleyicinin kurulu olduğundan emin olunuz. Free Software Foundation (FSF) + tarafından dağıtılan GNU C derleyicisini + (GCC) kullanmanız önerilir. GCC yoksa en azından satıcınızın + derleyicisinin ANSI uyumlu olduğundan emin olunuz. Ayrıca, + PATH ortam değişkeninizin içerdiği yollarda + make gibi temel derleme araçları da bulunmalıdır.
+ +
Zamanın doğru belirlenmesi
+
HTTP protokolünün elemanları sunuldukları tarih ve saate göre ifade + edilirler. Bu bakımdan sisteminizdeki zaman ayarlama oluşumunun + ayarlarını gözden geçirmenizin tam sırasıdır. Bu amaçla, Ağ Zaman + Protokolüne (NTP) göre çalışan ntpdate veya + xntpd programları kullanılır. NTP yazılımları ve halka + açık zaman sunucuları hakkında daha ayrıntılı bilgi için NTP sitesine bakınız.
+ +
Perl 5 [SEÇİMLİK]
+
Perl ile yazılmış apxs veya + dbmmanage gibi bazı betikleri desteklemek için + Perl 5 yorumlayıcısı gerekir (5.003 veya daha yeni sürümleri + yeterlidir). Eğer configure betiği sisteminizde + Perl 5 yorumlayıcısı + bulamazsa bu betikleri kullanamazsınız. Ancak, bu durum Apache + HTTPd’nin derlenip kurulmasına engel değildir.
+
+
top
+
+

Ä°ndirme

+ +

Apache HTTP Sunucusunu, çeşitli yansıların da listelendiği Apache HTTP Sunucusu + indirme sayfasından indirebilirsiniz. Unix benzeri sistemler + kullanan Apache HTTPd kullanıcılarının kaynak paketlerinden birini + indirip derlemeleri daha iyi olacaktır. Derleme işlemi (aşağıda + açıklanmıştır) kolaydır ve sunucunuzu ihtiyaçlarınıza uygun olarak + kişiselleştirmenize imkan tanır. Ayrıca, hazır derlenmiş paketler + çoğunlukla en son kaynak sürüm kadar güncel değildirler. Eğer böyle bir + paket indirmişseniz, kurarken paketin içinde bulunan + INSTALL.bindist dosyasındaki talimatlara uyunuz.

+ +

İndirme işleminin ardından Apache HTTP Sunucusunun eksiksiz ve + değişikliğe uğramamış olduğunun doğrulanması önemlidir. Bu indirilen + tar paketinin PGP imzasına göre sınanması ile sağlanabilir. Bunun nasıl + yapılacağı indirme + sayfasında anlatıldığı gibi PGP + kullanımının anlatıldığı daha geniş bir örnek de vardır.

+ +
top
+
+

Paketi açma

+ +

Apache HTTP Sunucusu tar paketinden sıkıştırmayı kaldırdıktan sonra tar + arşivinden dosyaları çıkarmak basit bir işlemdir:

+ +

+ $ gzip -d httpd-NN.tar.gz
+ $ tar xvf httpd-NN.tar +

+ +

Bu işlem bulunduğunuz dizinin içinde dağıtımın kaynak dosyalarını + içeren yeni bir dizin oluşturacaktır. Sunucuyu derleme işlmine + başlayabilmek için önce cd ile bu dizine geçmelisiniz.

+
top
+
+

Kaynak ağacının yapılandırılması

+ +

Sonraki adım, Apache HTTPd kaynak ağacının platformunuza ve kişisel + gereksinimlerinize uygun olarak yapılandırılmasıdır. Bu işlem dağıtımın + kök dizininde bulunan configure betiği kullanılarak + yapılır. (Apache HTTPd kaynak ağacının resmen dağıtıma girmemiş bir + sürümünü indiren geliştiricilerin sistemlerinde autoconf ve + libtool kurulu olması ve sonraki adıma geçmek için + buildconf çalıştırmaları gerekir. Bu işlem resmi + dağıtımlar için gerekli değildir.)

+ +

Kaynak ağacını tamamen öntanımlı seçenekler kullanılarak derlemek için + ./configure komutunu vermek yeterlidir. Öntanımlı + seçenekleri değiştirmek için configure betiği + çeşitli değişkenler ve komut satırı seçenekleri kabul eder.

+ +

En önemli seçenek, Apache HTTP Sunucusunun kurulacağı yerin + belirlenmesini, dolayısıyla Apache’nin bu konumda doğru olarak + çalışması için yapılandırılmasını sağlayan --prefix’tir. + Kurulacak dosyaların yerleri ile ilgili daha ayrıntılı denetim ek yapılandırma + seçenekleri ile mümkün kılınmıştır.

+ +

Bu noktada ayrıca, Apache HTTPd’de hangi özelliklerin bulunmasını + istediğinizi modülleri etkin kılarak veya iptal + ederek belirtebilirsiniz. Apache, öntanımlı olarak içerilmiş pek çok + modülle gelir. Bunlar çalışma anında devereye sokulup çıkarılabilen paylaşımlaı nesneler (DSO'lar) olarak derlenebilir. + Ayrıca, istediğiniz modülleri derleme sırasında + --enable-module=static seçeneğini kullanarak + durağan olarak derleyebilirsiniz. Ek modüller --enable- + modül seçenekleri kullanılarak etkinleştirilir. + Buradaki modül, önünden mod_ dizgesi + kaldırılmış ve içindeki altçizgi imleri tire imleri ile değiştirilmiş + modül ismidir. Temel modülleri de benzer şekilde + --disable-modül seçenekleriyle iptal + edebilirsiniz. configure betiği mevcut olmayan + modüller için sizi uyarmayıp, seçeneği yok saymakla yetineceğinden, bu + seçenekleri kullanırken dikkatli olmalısınız.

+ +

Ek olarak, bazen kullandığınız derleyici, kütüphaneler veya başlık + dosyalarının yerleri hakkında configure betiğine + ilave bilgiler sağlamanız gerekir. Bu işlem + configure betiğine ya ortam değişkenleriyle ya da + komut satırı seçenekleriyle bilgi aktarılarak yapılır. Daha fazla bilgi + için configure kılavuz sayfasına bakınız.

+ +

Apache’yi derlerken ne gibi olasılıklara sahip olduğunuz hakkında bir + izlenim edinmeniz için aşağıda tipik bir örneğe yer verilmiştir. Bu + örnekte, Apache’nin /sw/pkg/apache önekiyle başlayan + dizinlere kurulması, belli bir derleyici ve derleyici seçenekleriyle + derlenmesi ve mod_ldap ve + mod_luamodüllerinin de DSO mekanizması üzerinden + daha sonra yüklenmek üzere derlenmesi istenmektedir:

+ +

+ $ CC="pgcc" CFLAGS="-O2" \
+ ./configure --prefix=/sw/pkg/apache \
+ --enable-ldap=shared \
+ --enable-lua=shared +

+ +

configure betiği başlatıldığında sisteminizde + mevcut özelliklerin işe yararlığını sınamak ve sonradan sunucuyu + derlemek için kullanılacak Makefile dosyalarını oluşturmak için bir kaç + dakika çalışacaktır.

+ +

configure seçeneklerinin tamamı ayrıtılı olarak + configure kılavuz sayfasında açıklanmıştır.

+
top
+
+

Derleme

+ +

Artık, Apache HTTPd paketini şekillendiren çeşitli parçaları derlemek + için basitçe aşağıdaki komutu verebilirsiniz:

+ +

$ make

+ +

Bu komutu verdikten sonra lütfen sabırlı olunuz. Temel yapılandırmanın + derlenmesi bir kaç dakika alsa da modüllerin derlenmesi donanımınıza ve + seçtiğiniz modüllerin sayısına bağlı olarak daha uzun süre + gerektirecektir.

+
top
+
+

Kurulum

+ +

Şimdi sıra ÖNEK dizini altına kurulmak üzere + yapılandırdığınız (yukarı --prefix seçeneğine bakınız) + paketi kurmaya geldi. Basitçe şu komutu veriniz:

+ +

# make install

+ +

ÖNEK dizininde genellikle yazma izinlerinin + sınırlı oluşu nedeniyle bu adım genellikle root yetkilerini + gerektirir.

+ +

Eğer sürüm yükseltiyorsanız, kurulum sırasında mevcut yapılandırma + dosyalarının ve belgelerin üzerine yazılmayacaktır.

+
top
+
+

KiÅŸiselleÅŸtirme

+ +

Bu adımda, Apache HTTP Sunucunuzu ÖNEK/conf/ + dizini altındaki yapılandırma + dosyalarını düzenleyerek kişiselleştirebilirsiniz.

+ +

$ vi ÖNEK/conf/httpd.conf

+ +

Bu kılavuz ve kullanılabilecek yapılandırma yönergelerinin kılavuzlarını + ÖNEK/docs/manual/ altında + bulabileceğiniz gibi en son sürümünü daima http://httpd.apache.org/docs/2.4/ adresinde + bulabilirsiniz.

+
top
+
+

Deneme

+ +

Artık Apache HTTP Sunucunuzu başlatmaya + hazırsınız. Hemen şu komutu verin:

+ +

$ ÖNEK/bin/apachectl -k start

+ +

http://localhost/ üzerinden ilk belgeniz için bir istek + yapmalısınız. Genellikle DocumentRoot olarak bilinen + ÖNEK/htdocs/ altındaki sayfayı görürsünüz. + Çalışmakta olan sunucuyu durdurmak için şu + komutu verebilirsiniz:

+ +

$ ÖNEK/bin/apachectl -k stop

+
top
+
+

Yükseltme

+ +

Sürüm yükseltme işleminin ilk adımı, sitenizi etkileyen değişiklikleri + öğrenmek için dağıtım duyurusunu ve kaynak paketindeki + CHANGES dosyasını okumaktır. Ana sürümlerden yükseltme + yapıyorsanız (2.0’ten 2.2’ye veya 2.2’den 2.4’e gibi), derleme anı ve + çalışma anı yapılandırmalarındaki ana farklılıklar elle ayarlamalar + yapmanızı gerektirecektir. Ayrıca, tüm modüllerin de modül API’sindeki + değişikliklere uyum sağlaması için yükseltilmesi gerekecektir.

+ +

Aynı ana sürüm içinde yükseltme yapmak (2.2.55’ten 2.2.57’ye + yükseltmek gibi) daha kolaydır. make install işlemi, + mevcut yapılandırma ve günlük dosyalarınızın ve belgelerin üzerine + yazmayacaktır. Ek olarak, geliştiriciler alt sürüm değişikliklerinde + configure seçenekleri, çalışma anı yapılandırması + veya modül API’sinde uyumsuz değişiklikler yapmamaya özen + göstereceklerdir. Çoğu durumda, aynı configure komut + satırını, aynı yapılandırma dosyasını kullanabileceksiniz ve tüm + modülleriniz de çalışmaya devam edebilecektir.

+ +

Aynı ana sürüm içinde yükseltme işlemine, eski kaynak ağacının kök + dizininde veya kurulu sunucunuzun build dizininde + bulacağınız config.nice dosyasını yeni kaynak ağacının kök + dizinine kopyalamak suretiyle başlayabilirsiniz. Bu dosya evvelce + kaynak ağacını yapılandırmakta kullandığınız + configure komut satırını içerir. + config.nice dosyasında yapmak istediğiniz değişiklikler + varsa yaptıktan sonra şu komutları veriniz:

+ +

+ $ ./config.nice
+ $ make
+ $ make install
+ $ ÖNEK/bin/apachectl -k graceful-stop
+ $ ÖNEK/bin/apachectl -k start
+

+ +
Her yeni sürümü hizmete sokmadan önce daima çalışma + ortamınızda denemeniz gerekir. Örneğin, yükseltme işlemini + sonuçlandırmadan önce eski sürümün çalışmasını durdurmadan yenisini + farklı bir --prefix ile kurabilir ve farklı bir port ile + (Listen yönergesini + ayarlamak suretiyle) çalıştırabilirsiniz.
+ +

Özgün configure seçeneklerinizi değiştirmek veya + yeni seçenekler eklemek isterseniz bunları config.nice + betiğine komut satırı argümanları olarak belirtebilirsiniz:

+ +

+ $ ./config.nice --prefix=/home/dnm/apache --with-port=90 +

+
top
+
+

Üçüncü parti paketler

+ +

Üçüncü partilerin çoğunun, Apache HTTP Sunucusunun belli bir platforma + kurulumu için paketlenmiş kendi dağıtımları vardır. Çeşitli Linux + dağıtımları, üçüncü parti Windows paketleri, Mac OS X, Solaris ve daha + pek çokları bunlar arasında sayılabilir.r

+ +

Yazılım lisansımız bu çeşit yeniden dağıtımlara izin verdiği gibi + bunları cesaretlendirir de. Ancak, sunucunun kurulum ve yapılandırmasının + belgelerimizde belittiğimizden farklı olması gibi bir durum ortaya + çıkabilir. Ne yazık ki, bu durum yakın zamanda değişecekmiş gibi + görünmüyor.

+ +

Bu üçüncü parti + dağıtımlarla ilgili bir açıklamaya HTTP + Sunucu wikisinde yer verilmiş olup bunların şu anki durumunu + yansıtmaktadır. Ancak, yine de, dağıtımınızın belli platformlarla ilgili + paket yönetimi ve kurulum işlemleri hakkında bilgi sahibi olmanız + gerekmektir.

+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/invoking.html b/docs/manual/invoking.html new file mode 100644 index 0000000..ac588ce --- /dev/null +++ b/docs/manual/invoking.html @@ -0,0 +1,29 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: invoking.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: invoking.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: invoking.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: invoking.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: invoking.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: invoking.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: invoking.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/invoking.html.de b/docs/manual/invoking.html.de new file mode 100644 index 0000000..1af8979 --- /dev/null +++ b/docs/manual/invoking.html.de @@ -0,0 +1,187 @@ + + + + + +Apache starten - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache starten

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Unter Windows läuft der Apache üblicherweise als Dienst + (Windows NT, 2000 und XP) oder als Konsolenanwendung (Windows 9x und + ME). Für Einzelheiten lesen Sie bitte Apache als Dienst betreiben + und Apache als Konsolenanwendung betreiben.

+ +

Unter Unix wird das httpd-Programm als Daemon + ausgeführt, der im Hintergrund fortlaufend aktiv ist, um + Anfragen zu bearbeiten. Dieses Dokument beschreibt, wie + httpd aufgerufen wird.

+
+ +
top
+
+

Wie der Apache startet

+ +

Wenn die in der Konfigurationsdatei angegebene Listen-Anweisung auf die Voreinstellung + von 80 gesetzt ist (oder einen anderen Port unterhalb von 1024), dann + müssen Sie root-Berechtigung besitzen, um den Apache starten + zu können. Nur dann kann er sich an diesen privilegierten + Port binden. Sobald der Server gestartet ist und einige vorbereitende + Aktionen wie das Öffnen seiner Log-Dateien ausgeführt hat, + startet er mehrere Kind-Prozesse, welche die Arbeit erledigen: + das Lauschen auf und Beantworten von Anfragen von Clients. Der + Haupt-httpd-Prozess läuft unter dem Benutzer root + weiter, die Kind-Prozesse jedoch werden unter weniger privilegierten + Benutzerkennungen ausgeführt. Dies wird von dem ausgewählten + Multi-Processing-Modul gesteuert.

+ +

Die Verwendung des Steuerskripts apachectl ist die + empfohlene Methode, das httpd-Programm zu starten. + Dieses Skript setzt verschiedene Umgebungsvariablen, die für die + korrekte Funktion von httpd unter einigen + Betriebssystemen notwendig sind, und startet dann das + httpd-Programm. apachectl + reicht alle Kommandozeilenargumente durch, so dass alle + httpd-Optionen auch mit apachectl + verwendet werden können. Um den korrekten Ablageort des + httpd-Programms sowie einige Kommandozeilenargumente + anzugeben, die Sie immer verwenden möchten, können + Sie auch das Skript apachectl direkt editieren und die + Variable HTTPD am Anfang ändern.

+ +

Das Erste was httpd macht, wenn es startet, ist das + Suchen und Einlesen der Konfigurationsdatei httpd.conf. + Der Ablageort dieser Datei wird zur Kompilierungszeit festgelegt. Es ist + aber möglich, den Ablageort zur Laufzeit anzugeben, indem die + Kommandozeilenoption -f wie folgt verwendet wird:

+ +

/usr/local/apache2/bin/apachectl -f + /usr/local/apache2/conf/httpd.conf

+ +

Wenn während des Starts alles gutgeht, trennt sich der Server + vom Terminal ab und die Eingabeaufforderung erscheint gleich darauf + wieder. Dies zeigt an, dass der Server hochgefahren ist und läuft. + Sie können nun Ihren Browser benutzen, um Verbindung zum Server + aufzunehmen und sich die Testseite im DocumentRoot-Verzeichnis anzusehen wie auch + die lokale Kopie der Dokumentation, die von dieser Seite aus verlinkt + ist.

+
top
+
+

Fehler während des Hochfahrens

+ +

Wenn der Apache während des Hochfahrens einen schweren Fehler + feststellt, schreibt er entweder eine Nachricht, die das Problem + näher schildert, auf die Konsole oder ins ErrorLog, bevor er sich selbst beendet. + Eine der häufigsten Fehlermeldungen ist "Unable + to bind to Port ..." (Anm.d.Ü.: "Kann nicht an Port ... + binden"). Diese Meldung wird üblicherweise verursacht:

+ +
    +
  • entweder durch den Versuch, den Server an einem privilegierten + Port zu starten, während man nicht als Benutzer root angemeldet + ist,
  • + +
  • oder durch den Versuch, den Server zu starten, wenn bereits eine + andere Instanz des Apache oder ein anderer Webserver an den gleichen + Port gebunden ist.
  • +
+ +

Für weitere Anleitungen zur Fehlerbehebung lesen Sie bitte die + Apache-FAQ.

+
top
+
+

Beim Bootvorgang starten

+ +

Wenn Sie möchten, dass Ihr Server direkt nach einem + System-Neustart weiterläuft, sollten Sie einen Aufruf von + apachectl zu den Startdateien Ihres Systems + hinzufügen (üblicherweise rc.local oder + eine Datei in einem rc.N-Verzeichnis). Dies startet + den Apache als root. Stellen Sie zuvor jedoch sicher, dass Ihr + Server hinsichtlich Sicherheit und Zugriffsbeschränkungen + richtig konfiguriert ist.

+ +

Das apachectl-Skript ist dafür ausgelegt, wie + ein Standard-SysV-init-Skript zu arbeiten. Es akzeptiert die Argumente + start, restart und stop + und übersetzt sie in die entsprechenden Signale für + httpd. Daher können Sie oftmals + einfach apachectl in das entsprechende init-Verzeichnis + linken. Überprüfen Sie bitte auf jeden Fall die genauen + Anforderungen Ihres Systems.

+
top
+
+

Weitere Informationen

+ +

Weitere Informationen über Kommandozeilenoptionen von httpd und apachectl sowie anderen + Hilfsprogrammen, die dem Server beigefügt sind, sind auf der + Seite Server und Hilfsprogramme + verfügbar. Es existiert außerdem eine Dokumentation + aller in der Apache-Distribution enthaltenen Module und der von ihnen bereitgestellten + Direktiven.

+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/invoking.html.en b/docs/manual/invoking.html.en new file mode 100644 index 0000000..3155b41 --- /dev/null +++ b/docs/manual/invoking.html.en @@ -0,0 +1,175 @@ + + + + + +Starting Apache - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Starting Apache

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

On Windows, Apache is normally run as a service. + For details, see Running Apache as a Service. +

+ +

On Unix, the httpd program + is run as a daemon that executes continuously in the + background to handle requests. This document describes how + to invoke httpd.

+
+ +
top
+
+

How Apache Starts

+ +

If the Listen + specified in the configuration file is default of 80 (or any other + port below 1024), then it is necessary to have root privileges in + order to start apache, so that it can bind to this privileged + port. Once the server has started and performed a few preliminary + activities such as opening its log files, it will launch several + child processes which do the work of listening for and + answering requests from clients. The main httpd + process continues to run as the root user, but the child processes + run as a less privileged user. This is controlled by the selected + Multi-Processing Module.

+ +

The recommended method of invoking the httpd + executable is to use the apachectl control script. This + script sets certain environment variables that are necessary for + httpd to function correctly under some operating + systems, and then invokes the httpd binary. + apachectl will pass through any command line + arguments, so any httpd options may also be used with + apachectl. You may also directly edit the + apachectl script by changing the HTTPD + variable near the top to specify the correct location of the + httpd binary and any command-line arguments that you + wish to be always present.

+ +

The first thing that httpd does when it is + invoked is to locate and read the configuration file + httpd.conf. The location of this file is set at + compile-time, but it is possible to specify its location at run + time using the -f command-line option as in

+ +

/usr/local/apache2/bin/apachectl -f + /usr/local/apache2/conf/httpd.conf

+ +

If all goes well during startup, the server will detach from + the terminal and the command prompt will return almost + immediately. This indicates that the server is up and running. + You can then use your browser to connect to the server and view + the test page in the DocumentRoot directory.

+
top
+
+

Errors During Start-up

+ +

If Apache suffers a fatal problem during startup, it will + write a message describing the problem either to the console or + to the ErrorLog before + exiting. One of the most common error messages is "Unable + to bind to Port ...". This message is usually caused by + either:

+ +
    +
  • Trying to start the server on a privileged port when not + logged in as the root user; or
  • + +
  • Trying to start the server when there is another instance + of Apache or some other web server already bound to the same + Port.
  • +
+ +

For further trouble-shooting instructions, consult the + Apache FAQ.

+
top
+
+

Starting at Boot-Time

+ +

If you want your server to continue running after a system + reboot, you should add a call to apachectl to your + system startup files (typically rc.local or a file in + an rc.N directory). This will start Apache as + root. Before doing this ensure that your server is properly + configured for security and access restrictions.

+ +

The apachectl script is designed to act like a + standard SysV init script; it can take the arguments + start, restart, and stop + and translate them into the appropriate signals to + httpd. So you can often simply link + apachectl into the appropriate init directory. But be + sure to check the exact requirements of your system.

+
top
+
+

Additional Information

+ +

Additional information about the command-line options of httpd and apachectl as well as other support + programs included with the server is available on the + Server and Supporting Programs page. + There is also documentation on all the modules included with the Apache distribution + and the directives that they + provide.

+
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/invoking.html.es b/docs/manual/invoking.html.es new file mode 100644 index 0000000..a3fd0d6 --- /dev/null +++ b/docs/manual/invoking.html.es @@ -0,0 +1,190 @@ + + + + + +Iniciar Apache - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Iniciar Apache

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

En Windows, Apache se ejecuta normalmente como un servicio. + Para obtener más información, consulte + Ejecutar Apache como un + servicio.

+ +

En Unix, el programa httpd se + ejecuta como un demonio (daemon) de forma contíniua y en segundo plano + y atiende las peticiones que le lleguen. Este documento describe cómo + invocar el programa httpd.

+
+ +
top
+
+

Cómo iniciar Apache

+ +

Si el puerto especificado en la directiva Listen del fichero de + configuración es el que viene por defecto, es decir, el + puerto 80 (o cualquier otro puerto por debajo del 1024), entonces + es necesario tener privilegios de usuario root (superusuario) para + iniciar Apache, de modo que pueda establecerse una conexión a + través de esos puertos privilegiados. Una vez que el servidor + Apache se ha iniciado y ha completado algunas tareas preliminares, + tales como abrir sus ficheros log, lanzará varios procesos, + procesos hijo, que hacen el trabajo de escuchar y atender + las peticiones de los clientes. El proceso principal, + httpd continúa ejecutándose con el usuario root, pero los + procesos hijo se ejecutan con menores privilegios de usuario. + Esto lo controla el Módulo de + MultiProcesamiento (MPM) seleccionado.

+ +

La forma recomendada para invocar el ejecutable + httpd es usando el script de control + apachectl. Este script fija + determinadas variables de entorno que son necesarias para que + httpd funcione correctamente en el sistema operativo, + y después invoca el binario httpd. + apachectl pasa a httpd + cualquier argumento que se le pase a través de la línea de comandos, + de forma que cualquier opción de httpd puede ser usada + también con apachectl. Puede editar + directamente el script apachectl y cambiar la + variable HTTPD variable que está al principio y + que especifica la ubicación exacta en la que está el + binario httpd y cualquier argumento de línea de + comandos que quiera que esté siempre presente.

+ +

La primera cosa que hace httpd cuando es invocado + es localizar y leer el fichero de + configuración httpd.conf. El lugar en el que + está ese fichero se determina al compilar, pero también + es posible especificar la ubicación en la que se encuentra al + iniciar el servidor Apache usando la opción de línea de + comandos -f

+ +

/usr/local/apache2/bin/apachectl -f + /usr/local/apache2/conf/httpd.conf

+ +

Si todo va bien durante el arranque, la sesión de terminal + se suspenderá un momento y volverá a estar activa casi + inmediatamente. Esto quiere decir que el servidor está activo + y funcionando. Puede usar su navegador para conectarse al + servidor y ver la página de prueba que hay en el directorio de + la directiva + DocumentRoot.

+
top
+
+

Errores Durante el Arranque

+ +

Si Apache encuentra una error irrecuperable durante el + arranque, escribirá un mensaje describiendo el problema en la + consola o en el archivo ErrorLog antes de abortar la + ejecución. Uno de los mensajes de error más comunes es + "Unable to bind to Port ...". Cuando se recibe este + mensaje es normalmente por alguna de las siguientes razones:

+ +
    +
  • Está intentando iniciar el servidor Apache en un puerto + privilegiado (del 0 al 1024) sin haber hecho login como usuario + root; ó bien
  • + +
  • Está intentando iniciar el servidor Apache mientras + está ya ejecutando Apache o algún otro servidor web en + el mismo puerto.
  • +
+ +

Puede encontrar más información sobre cómo + solucionar problemas, en la sección de Preguntas Frecuentes de Apache.

+
top
+
+

Iniciar Apache al Iniciar el Sistema

+ +

Si quiere que el servidor Apache continúe su ejecución + después de reiniciar el sistema, debe añadir una llamada + a apachectl en sus archivos de arranque (normalmente + rc.local o un fichero en ese directorio del tipo + rc.N). Esto iniciará Apache como usuario + root. Antes de hacer esto, asegúrese de que la + configuración de seguridad y las restricciones de acceso de + su servidor Apache están correctamente configuradas.

+ +

El script apachectl está diseñado para + actuar como un script estándar de tipo SysV init; puede tomar los + argumentos start, restart, y + stop y traducirlos en las señales apropiadas + para httpd. De esta manera, casi siempre puede + simplemente enlazar apachectlcon el directorio init + adecuado. Pero asegúrese de comprobar los requisitos exactos + de su sistema.

+
top
+
+

Información Adicional

+ +

En la sección El Servidor y Programas + de Soporte puede encontrar más información sobre + las opciones de línea de comandos que puede pasar a httpd y apachectl así como sobre otros + programas de soporte incluidos con el servidor Apache. + También hay documentación sobre todos los módulos incluidos con la distribución de + Apache y sus correspondientes directivas asociadas.

+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/invoking.html.fr.utf8 b/docs/manual/invoking.html.fr.utf8 new file mode 100644 index 0000000..65f0655 --- /dev/null +++ b/docs/manual/invoking.html.fr.utf8 @@ -0,0 +1,188 @@ + + + + + +Démarrage d'Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Démarrage d'Apache

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Sous Windows, Apache est habituellement lancé en tant que + service. Pour plus de détails, voir Démarrer Apache en tant + que service.

+ +

Sous Unix, le programme httpd + est lancé en mode démon et s'exécute de manière permanente en + arrière-plan pour gérer les requêtes. Ce document décrit comment invoquer + httpd.

+
+ +
top
+
+

Comment Apache démarre

+ +

Si la directive Listen + spécifiée dans le fichier de configuration est à sa valeur par défaut + de 80 (ou tout autre port inférieur à 1024), il est nécessaire de + posséder les privilèges root pour pouvoir démarrer apache, et lui + permettre d'être associé à ce port privilégié. Lorsque le serveur est + démarré, il effectue quelques opérations préliminaires + comme ouvrir ses fichiers de log, puis il lance plusieurs processus + enfants qui ont pour rôle d'écouter et de répondre aux + requêtes des clients. Le processus httpd principal + continue à s'exécuter sous l'utilisateur root, tandis que les processus + enfants s'exécutent sous un utilisateur aux privilèges restreints. + Ceci s'effectue par la voie du + Module Multi-Processus (MPM).

+ +

Il est recommandé d'utiliser le script de contrôle + apachectl pour invoquer l'exécutable + httpd. A cet effet, ce script définit certaines variables + d'environnement nécessaires pour permettre à + httpd de fonctionner correctement sous certains systèmes + d'exploitation. + apachectl accepte des arguments de ligne de + commande ; + ainsi toute option de httpd peut aussi être utilisée avec + apachectl. Vous pouvez aussi éditer directement le + script apachectl en modifiant la variable + HTTPD située en début de script pour spécifier la + localisation du binaire httpd et tout argument de ligne + de commande que vous souhaitez voir systématiquement présent.

+ +

La première chose qu'effectue httpd quand il est + invoqué est de localiser et lire le fichier de configuration + httpd.conf. La localisation de ce fichier est définie à la + compilation, mais il est possible d'en spécifier une autre à + l'exécution en utilisant l'option de ligne de commande -f comme suit:

+ +

/usr/local/apache2/bin/apachectl -f + /usr/local/apache2/conf/httpd.conf

+ +

Si tout se passe bien pendant le démarrage, le serveur va se dissocier + du terminal et l'invite de commande réapparaîtra presque immédiatement. + Ceci indique que le serveur a démarré et est en cours d'exécution. + À partir de ce moment, vous pouvez utiliser votre navigateur pour vous connecter + au serveur et afficher la page de test située dans le répertoire défini + par la directive DocumentRoot

+
top
+
+

Erreurs en cours de démarrage

+ +

Si un problème fatal survient pendant le démarrage + d'Apache, ce dernier va + afficher un message décrivant le problème sur la console ou + enregistrer ces informations dans le fichier défini par la directive + ErrorLog avant de quitter. + Un des messages d'erreur les plus courants est "Unable + to bind to Port ...". Ce message d'erreur est habituellement + provoqué par :

+ +
    +
  • Une tentative de démarrage du serveur avec un port privilégié sans + être connecté root
  • + +
  • Une tentative de démarrage du serveur alors qu'une autre instance + d'Apache ou un autre serveur web est déjà associé au même port.
  • +
+ +

Pour plus d'instructions de dépannage, consultez la + FAQ Apache.

+
top
+
+

Lancement au démarrage du système

+ +

Si vous souhaitez que votre serveur web soit automatiquement + disponible après + un redémarrage du système, vous devez ajouter un appel à + apachectl à vos + fichiers de démarrage système (en général rc.local ou un + fichier dans un répertoire rc.N), ce qui démarrera Apache sous + l'utilisateur root. Avant de faire ceci, assurez-vous que votre serveur + soit correctement configuré en ce qui concerne la sécurité et les + restrictions d'accès.

+ +

Le script apachectl est conçu pour fonctionner + comme un script d'initialisation SysV standard ; il accepte les arguments + start, restart, et stop + et les traduit en signaux appropriés pour + httpd, et il suffit en général d'installer + un lien vers + apachectl dans le répertoire d'initialisation approprié. + Mais prenez soin de vérifier les besoins exacts de votre système + en la matière.

+
top
+
+

Informations supplémentaires

+ +

Des informations supplémentaires à propos des options en ligne de + commande de httpd et apachectl + ainsi que d'autres programmes support inclus dans la distribution + sont disponibles sur la page + Le serveur et ses programmes support. + Il existe aussi une documentation sur tous les modules inclus dans la distribution Apache + et les directives + qu'ils supportent.

+
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/invoking.html.ja.utf8 b/docs/manual/invoking.html.ja.utf8 new file mode 100644 index 0000000..d7c55e3 --- /dev/null +++ b/docs/manual/invoking.html.ja.utf8 @@ -0,0 +1,185 @@ + + + + + +Apache ã®èµ·å‹• - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache ã®èµ·å‹•

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Windows 上ã§ã¯ã€Apache ã¯é€šå¸¸ã¯ã‚µãƒ¼ãƒ“スã¨ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + 詳細ã«é–¢ã—ã¦ã¯ã€ã€Œ + サービスã¨ã—ã¦å®Ÿè¡Œã™ã‚‹ã€ã‚’ã”覧下ã•ã„。

+ +

Unixã§ã¯ã€httpd + プログラムãŒã€ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å¸¸ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆå‡¦ç†ã‚’行ㆠ+ デーモンã¨ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ã“ã®æ–‡æ›¸ã§ã¯ã©ã®ã‚ˆã†ã« + httpd ã‚’èµ·å‹•ã™ã‚‹ã‹ã«ã¤ã„ã¦è¨˜è¿°ã—ã¦ã„ã¾ã™ã€‚

+
+ +
top
+
+

Apache ã®èµ·å‹•æ–¹æ³•

+ +

ã‚‚ã—ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ + Listen + ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® 80 (ã‚‚ã—ã㯠1024 以下ã®ä»–ã®ãƒãƒ¼ãƒˆ) + ã§ã‚ã‚‹å ´åˆã¯ã€Apache ã‚’èµ·å‹•ã™ã‚‹ãŸã‚ã«ã¯ root + 権é™ãŒå¿…è¦ã«ãªã‚Šã¾ã™ãŒã€ + ã“ã‚Œã¯ã“ã®ç‰¹æ¨©ãƒãƒ¼ãƒˆã«ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ãŸã‚ã§ã™ã€‚ + èµ·å‹•ã—ã¦ã€ä¸€åº¦ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ãã¨ã„ã£ãŸæº–å‚™ã®ãŸã‚ã® + 動作を幾ã¤ã‹å®Ÿè¡Œã—ãŸå¾Œã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ + listen ã¨å¿œç­”を実際ã«è¡Œã†å­ãƒ—ロセスを起動ã—ã¾ã™ã€‚ + メイン㮠httpd プロセス㯠root 権é™ã§èµ°ã‚Šç¶šã‘ã¾ã™ãŒã€ + å­ãƒ—ロセスã¯ã‚‚ã£ã¨ä½Žã„権é™ã§èµ°ã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯é¸æŠžã—ãŸãƒžãƒ«ãƒãƒ—ロセッシングモジュールã§åˆ¶å¾¡ã•ã‚Œã¾ã™ã€‚

+ +

推奨㮠httpd 実行プログラムã®èµ·å‹•æ–¹æ³•ã¯ã€ + apachectl + 制御スクリプトを使用ã™ã‚‹æ–¹æ³•ã§ã™ã€‚ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã¯ã€httpd + ãŒã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ä¸Šã§æ­£å¸¸ã«å‹•ä½œã™ã‚‹ã‚ˆã†ã«å¿…è¦ãªç’°å¢ƒå¤‰æ•°ã‚’ + é©åˆ‡ã«è¨­å®šã—ã¦ã€httpd ãƒã‚¤ãƒŠãƒªã‚’èµ·å‹•ã—ã¾ã™ã€‚ + apachectl ã¯ã©ã‚“ãªã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã‚‚通éŽã•ã›ã¾ã™ã®ã§ã€ + httpd ã®ã©ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚ªãƒ—ションも + apachectl ã®ã‚ªãƒ—ションã¨ã—ã¦ä½¿ç”¨ã§ãã¾ã™ã€‚ + ã¾ãŸã€apachectl スクリプトを直接編集ã—〠+ スクリプト先頭付近㮠HTTPD 変数を変更ã™ã‚‹ã“ã¨ã§ã€ + httpd ãƒã‚¤ãƒŠãƒªã®æ­£ã—ã„ä½ç½®ã‚’指定ã—ãŸã‚Šã€å¸¸ã« + 付加ã•ã›ã‚‹ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã‚’指定ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

httpd ãŒèµ·å‹•ã•ã‚Œã¦ã¾ãšæœ€åˆã«ã™ã‚‹ã“ã¨ã¯ã€ + 設定ファイル + httpd.conf ã®ä½ç½®ã‚’特定ã—ã¦èª­ã¿è¾¼ã‚€ã“ã¨ã§ã™ã€‚ + ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½ç½®ã¯ã‚³ãƒ³ãƒ‘イル時ã«è¨­å®šã•ã‚Œã¾ã™ãŒã€å®Ÿè¡Œæ™‚ã« + -f コマンドラインオプションを使ã£ã¦ + ä½ç½®ã‚’指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚例ãˆã°æ¬¡ã®ã‚ˆã†ã«ã§ã™ã€‚

+ +

/usr/local/apache2/bin/apachectl -f + /usr/local/apache2/conf/httpd.conf

+ +

スタートアップãŒä¸‡äº‹ä¸Šæ‰‹ãã„ã£ãŸã‚‰ã€ã‚µãƒ¼ãƒã¯ã‚¿ãƒ¼ãƒŸãƒŠãƒ«ã‹ã‚‰ + 切り離ã•ã‚Œã¦ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ—ロンプトãŒå³åº§ã«æˆ»ã£ã¦ãã‚‹ã§ã—ょã†ã€‚ + ã“ã‚Œã¯ã‚µãƒ¼ãƒãŒèµ·å‹•ã—ã¦ã„る状態を示ã—ã¦ã„ã¾ã™ã€‚ + ãã®å¾Œã¯ãƒ–ラウザã§ã‚µãƒ¼ãƒã«æŽ¥ç¶šã—ã¦ã€ + DocumentRoot + ディレクトリã®ãƒ†ã‚¹ãƒˆãƒšãƒ¼ã‚¸ã‚’見るã“ã¨ãŒã§ãã‚‹ã§ã—ょã†ã€‚

+
top
+
+

起動時ã®ã‚¨ãƒ©ãƒ¼

+ +

Apache ã¯ã€èµ·å‹•æ™‚ã«è‡´å‘½çš„ãªå•é¡Œã«é­é‡ã™ã‚‹ã¨ã€ + 終了ã™ã‚‹å‰ã«ã€ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‹ + ErrorLog + ã®ã©ã¡ã‚‰ã‹ã«å•é¡Œã‚’記述ã—ãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã—ã¾ã™ã€‚ + 最もよãã‚るエラーメッセージ㯠+ 「Unable to bind to Port ...〠+ ã§ã™ã€‚ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯æ™®é€šã¯æ¬¡ã®ã©ã¡ã‚‰ã‹ãŒåŽŸå› ã§ã™ã€‚

+ +
    +
  • root ã§ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã„時ã«ã€ + 特権ãƒãƒ¼ãƒˆã§ã‚µãƒ¼ãƒã‚’èµ·å‹•ã—よã†ã¨ã—ãŸã€‚
  • + +
  • åŒã˜ãƒãƒ¼ãƒˆã«æ—¢ã«ãƒã‚¤ãƒ³ãƒ‰ã•ã‚Œã¦ã„ã‚‹ Apache + ãŒã‚‚ã†ä¸€ã¤ã‚ã‚‹ã¨ãã‚„ä»–ã®ã‚¦ã‚§ãƒ–サーãƒãŒå­˜åœ¨ã—ã¦ã„る時ã«ã€ + サーãƒã‚’開始ã—よã†ã¨ã—ãŸã€‚
  • +
+ +

より多ãã®å•é¡Œè§£æ±ºã®æ–¹ç­–ã®èª¬æ˜Žã¯ã€ + Apache FAQ ã‚’ã”覧下ã•ã„。

+
top
+
+

ブート時ã®èµ·å‹•

+ +

システムãŒãƒªãƒ–ートã—ãŸå¾Œã§ã‚‚ + サーãƒãŒå®Ÿè¡Œã•ã‚Œç¶šã‘るよã†ã«ã—ãŸã„å ´åˆã¯ã€ + apachectl + を呼ã³å‡ºã™ã‚‚ã®ã‚’システムスタートアップファイル + (通常 rc.local ã‚„ rc.N + 内ã®ãƒ•ã‚¡ã‚¤ãƒ«) ã«è¿½åŠ ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ã“ã®æ–¹æ³•ã§ã¯ Apache ã‚’ root 権é™ã§èµ·å‹•ã—ã¾ã™ã€‚ + ã“れをã™ã‚‹å‰ã«ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚„アクセス制é™ãŒ + é©åˆ‡ã«è¨­å®šã•ã‚Œã¦ã„ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。

+ +

apachectl スクリプトã¯é€šå¸¸ã¯ã€æ¨™æº–的㪠SysV init + スクリプトã¨ã—ã¦å‹•ä½œã™ã‚‹ã‚ˆã†ã«è¨­è¨ˆã•ã‚Œã¦ã„ã¾ã™ã€‚ + start, restart, stop + ã¨ã„ã£ãŸå¼•æ•°ã‚’ã¨ã£ã¦ã€httpd + ã¸ã®é©åˆ‡ãªã‚·ã‚°ãƒŠãƒ«ã«å¤‰æ›ã—ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€é€šå¸¸ã¯å˜ã«é©åˆ‡ãª init ディレクトリ内ã‹ã‚‰ + apachectl ã¸ãƒªãƒ³ã‚¯ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã—ã‹ã—〠+ 念ã®ãŸã‚システムã®è¦æ±‚ã«åˆè‡´ã—ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。

+
top
+
+

追加情報

+ +

httpd ã‚„ + apachectlã€ã‚µãƒ¼ãƒã«å«ã¾ã‚Œã¦ã„ãŸãã®ä»–補助プログラムã®ã€ + コマンドラインオプションã«é–¢ã™ã‚‹è¿½åŠ æƒ…å ±ã¯ã€ + サーãƒã¨è£œåŠ©ãƒ—ログラムページ㫠+ 記載ã•ã‚Œã¦ã„ã¾ã™ã€‚ + Apache é…布ã«å«ã¾ã‚Œã¦ã„る全モジュール〠+ ãã‚Œã«ã‚ˆã£ã¦æä¾›ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ– + ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚‚ã‚ã‚Šã¾ã™ã€‚

+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/invoking.html.ko.euc-kr b/docs/manual/invoking.html.ko.euc-kr new file mode 100644 index 0000000..153decb --- /dev/null +++ b/docs/manual/invoking.html.ko.euc-kr @@ -0,0 +1,168 @@ + + + + + +¾ÆÆÄÄ¡ ½ÃÀÛ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ ½ÃÀÛ

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

º¸Åë ¾ÆÆÄÄ¡´Â Windows NT, 2000, XP¿¡¼­´Â ¼­ºñ½º·Î, + Windows 95°ú ME¿¡¼­´Â ÄÜ¼Ö ÇÁ·Î±×·¥À¸·Î ½ÇÇàµÈ´Ù. ÀÚ¼¼ÇÑ + ³»¿ëÀº ¼­ºñ½º·Î + ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇϱâ¿Í ÄÜ¼Ö ÇÁ·Î±×·¥À¸·Î + ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇϱâ.

+ +

À¯´Ð½º¿¡¼­ httpd + ÇÁ·Î±×·¥Àº ¹é±×¶ó¿îµå¿¡¼­ °è¼Ó ¿äûÀ» ó¸®ÇÏ´Â µ¥¸óÀ¸·Î + ½ÇÇàµÈ´Ù. ÀÌ ¹®¼­´Â httpd¸¦ ½ÃÀÛÇÏ´Â ¹æ¹ýÀ» + ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

¾î¶»°Ô ¾ÆÆÄÄ¡°¡ ½ÃÀÛÇϳª

+ +

¼³Á¤ÆÄÀÏ¿¡¼­ ListenÀÌ ±âº»°ªÀÎ 80(ȤÀº + 1024ÀÌÇÏÀÇ ´Ù¸¥ Æ÷Æ®)À̶ó¸é ÀÌ Æ¯±Ç Æ÷Æ®¿¡ ¿¬°áÇϱâÀ§ÇØ + root ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù. ¼­¹ö´Â ½ÃÀÛÇÏ¿© ·Î±×ÆÄÀÏÀ» ¿©´Â µîÀÇ + ¸î¸î ±âÃÊÀûÀÎ ÀÛ¾÷À» ¸¶Ä£ÈÄ, Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ±â´Ù¸®°í + ÀÀ´äÇÏ´Â ÀÚ½Ä(child) ÇÁ·Î¼¼½º¸¦ ¿©·¯°³ ¶ç¿î´Ù. + ÁÖ httpd ÇÁ·Î¼¼½º´Â °è¼Ó root »ç¿ëÀÚ·Î ½ÇÇàµÇÁö¸¸, + ÀÚ½Ä ÇÁ·Î¼¼½ºµéÀº ´õ ±ÇÇÑÀÌ ÀÛÀº »ç¿ëÀÚ·Î ½ÇÇàµÈ´Ù. ÀÌ´Â + ¼±ÅÃÇÑ ´ÙÁßó¸® ¸ðµâ·Î Á¶Á¤ÇÑ´Ù.

+ +

apachectl + ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© httpd ½ÇÇàÆÄÀÏÀ» ½ÃÀÛÇϱæ + ±ÇÀåÇÑ´Ù. ÀÌ ½ºÅ©¸³Æ®´Â httpd°¡ ¸î¸î + ¿î¿µÃ¼Á¦¿¡¼­ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâÀ§ÇØ ÇÊ¿äÇÑ È¯°æº¯¼öµéÀ» + ¼³Á¤ÇÏ°í httpd ½ÇÇàÆÄÀÏÀ» ½ÃÀÛÇÑ´Ù. + apachectlÀº ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®¸¦ ±×´ë·Î ³Ñ±â±â¶§¹®¿¡, + httpdÀÇ ¾î¶² ¿É¼ÇÀÌ¶óµµ apachectl¿¡ + »ç¿ë°¡´ÉÇÏ´Ù. ¶Ç, apachectl ½ºÅ©¸³Æ®ÀÇ ¾ÕºÎºÐ¿¡ + ³ª¿À´Â HTTPD º¯¼ö¸¦ httpd ½ÇÇàÆÄÀÏÀÌ + ÀÖ´Â À§Ä¡¿Í Ç×»ó »ç¿ëÇÒ ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®·Î Á÷Á¢ + ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +

httpd¸¦ ½ÇÇàÇÏ¸é ¸ÕÀú ¼³Á¤ÆÄÀÏ httpd.conf¸¦ + ã¾Æ¼­ Àд´Ù. ÀÌ ÆÄÀÏÀÇ À§Ä¡´Â ÄÄÆÄÀÏ Áß¿¡ ÁöÁ¤Çϳª, ½ÇÇà½Ã + ´ÙÀ½°ú °°ÀÌ -f ¸í·ÉÇà ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.

+ +

/usr/local/apache2/bin/apachectl -f + /usr/local/apache2/conf/httpd.conf

+ +

½ÃÀÛÇÏ´Â °úÁ¤¿¡¼­ ¹®Á¦°¡ ¾ø´Ù¸é, ¼­¹ö´Â Å͹̳ο¡¼­ + ¶³¾îÁö°í ¸í·É ÇÁ·ÒÇÁÆ®°¡ °ÅÀÇ Áï½Ã ³ª¿À°ÔµÈ´Ù. ÀÌ´Â ¼­¹ö°¡ + ½ÇÇàµÊÀ» ÀǹÌÇÑ´Ù. ºê¶ó¿ìÀú·Î ¼­¹ö¿¡ ¿¬°áÇÏ¿© DocumentRoot µð·ºÅ丮¿¡ ÀÖ´Â + Å×½ºÆ® ÆäÀÌÁö¿Í ±× ÆäÀÌÁö¿¡ ¸µÅ©µÈ (·ÎÄÃÄ«ÇÇ) ¼³¸í¼­¸¦ º¼ + ¼ö ÀÖ´Ù.

+
top
+
+

½ÃÀÛÁß ¿À·ù

+ +

¾ÆÆÄÄ¡°¡ ½ÃÀÛÇÏ´Â °úÁ¤Áß¿¡ ½É°¢ÇÑ ¹®Á¦°¡ ¹ß»ýÇϸé, + Á¾·áÇϱâ Àü¿¡ ¹®Á¦¸¦ ¾Ë¸®´Â ¹®±¸¸¦ ÄܼÖÀ̳ª ErrorLog¿¡ ¾´´Ù. °¡Àå ÈçÇÑ ¿À·ù¹® Áß + Çϳª´Â "Unable to bind to Port ..."ÀÌ´Ù. + ÀÌ ¸Þ¼¼Áö´Â º¸Åë ´ÙÀ½ µÎ °æ¿ì¿¡ ¹ß»ýÇÑ´Ù:

+ +
    +
  • root »ç¿ëÀÚ·Î ·Î±×ÀÎÇÏÁö ¾Ê°í Ư±Ç Æ÷Æ®¿¡ ¼­¹ö¸¦ + ½ÃÀÛÇÏ·Á ÇÑ °æ¿ì. ȤÀº
  • + +
  • ÀÌ¹Ì ¾ÆÆÄÄ¡³ª ´Ù¸¥ À¥¼­¹ö°¡ »ç¿ëÁßÀÎ Æ÷Æ®¿¡ + ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á ÇÑ °æ¿ì.
  • +
+ +

±âŸ ¹®Á¦ÇØ°á ¹æ¹ýÀº ¾ÆÆÄÄ¡ FAQ¸¦ + Âü°íÇ϶ó.

+
top
+
+

ºÎÆÃÇÒ¶§ ½ÃÀÛÇϱâ

+ +

½Ã½ºÅÛÀÌ Àç½ÃÀÛÇÑ ÈÄ¿¡µµ ¼­¹ö°¡ °è¼Ó ½ÇÇàµÇ±æ ¹Ù¶õ´Ù¸é, + ½Ã½ºÅÛ ½ÃÀÛÆÄÀÏ(º¸Åë rc.localÀ̳ª rc.N + µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏ)¿¡ apachectlÀ» Ãß°¡ÇØ¾ß + ÇÑ´Ù. ÀÌ °æ¿ì ¾ÆÆÄÄ¡´Â root·Î ½ÃÀ۵ȴÙ. ÀÌÀü¿¡ ¼­¹öÀÇ º¸¾ÈÀ̳ª + Á¢±Ù Á¦ÇÑ(ÆÄÀϱÇÇÑ)ÀÌ ¿Ã¹Ù·Î ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇ϶ó.

+ +

apachectlÀº Ç¥ÁØ SysV init ½ºÅ©¸³Æ®¿Í ºñ½ÁÇÏ°Ô + µ¿ÀÛÇϵµ·Ï ¸¸µé¾îÁ³´Ù. ½ºÅ©¸³Æ®´Â ¾Æ±Ô¸ÕÆ®·Î start, + restart, stopÀ» ¹ÞÀ¸¸é °¢°¢ ÀûÀýÇÑ + ½Ã±×³ÎÀ» httpd¿¡ º¸³½´Ù. ±×·¡¼­ º¸ÅëÀº + apachectlÀ» ÀûÀýÇÑ init µð·ºÅ丮·Î ¸µÅ©¸¦ °É¸éµÈ´Ù. + ±×·¯³ª »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ Á¤È®ÇÑ ¿ä±¸»çÇ×À» È®ÀÎÇ϶ó.

+
top
+
+

Ãß°¡ Á¤º¸

+ +

httpd¿Í apachectl, ±âŸ ¼­¹ö¿¡ + Æ÷ÇÔµÈ Áö¿ø ÇÁ·Î±×·¥µéÀÇ ¸í·ÉÇà ¿É¼ÇÀº + ¼­¹ö¿Í Áö¿ø ÇÁ·Î±×·¥ ÆäÀÌÁö¸¦ + Âü°íÇ϶ó. ¶Ç ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡´Â ¸ðµç ¸ðµâ°ú + ±×µéÀÌ Á¦°øÇÏ´Â Áö½Ã¾î¿¡ + ´ëÇÑ ¹®¼­°¡ ÀÖ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/invoking.html.tr.utf8 b/docs/manual/invoking.html.tr.utf8 new file mode 100644 index 0000000..ce25991 --- /dev/null +++ b/docs/manual/invoking.html.tr.utf8 @@ -0,0 +1,172 @@ + + + + + +Apache HTTPd’nin başlatılması - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache HTTPd’nin başlatılması

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Apache normal olarak, Windows'ta bir hizmet olarak çalışır. Ayrıntılı + bilgi için Apache HTTPD’nin bir + hizmet olarak çalıştırılması bölümüne bakınız.

+ +

Unix’te ise artalanda isteklere yanıt vermek için sürekli çalışan bir + artalan sürecidir. Bu belgede httpd’nin nasıl + çalıştırılacağı açıklanmaktadır.

+
+ +
top
+
+

Apache Nasıl Başlatılır?

+ +

Yapılandırma dosyasında Listen yönergesi ile öntanımlı olan port + 80 (veya 1024’ten küçük herhangi bir port) belirtilmişse Apache HTTP + Sunucusunu başlatmak için root yetkileri gerekecektir. Sunucu başlatılıp + günlük dosyalarını açmak gibi bazı ön hazırlık etkinliklerinde + bulunduktan sonra istemcilerden gelen istekleri dinlemek ve yanıt vermek + için çeşitli çocuk süreçler başlatır. Ana + httpd süreci root kullanıcısının aidiyetinde + çalışmasını sürdürürken çocuk süreçler daha az yetkili bir kullanıcının + aidiyetinde çalışır. Bu işlem seçilen Çok Süreçlilik + Modülü tarafından denetlenir.

+ +

httpd’yi çalıştırmak için önerilen yöntem + apachectl betiğini kullanmaktır. Bu betik, + httpd’nin bazı işletim sistemlerinde işlevini + gerektiği gibi yerine getirebilmesi için gereken belli ortam + değişkenlerini ayarlar ve httpd’yi çalıştırır. + apachectl, komut satırı argümanlarını + httpd’ye aktarabildiğinden gerekli + httpd seçenekleri apachectl + betiğine komut satırı seçenekleri olarak belirtilebilir. Ayrıca, + apachectl betiğinin içeriğini doğrudan düzenlemek + suretiyle betiğin başlangıç satırlarındaki HTTPD + değişkenine httpd çalıştırılabilir dosyasının doğru + yerini ve daima mevcut olmasını istediğiniz komut satırı + seçeneklerini belirtebilirsiniz.

+ +

httpd çalıştırıldığında yaptığı ilk şey yapılandırma dosyası + httpd.conf’u bulup okumaktır. Bu dosyanın yeri derleme + sırasında belirtilmekteyse de -f komut satırı seçeneği + kullanılarak çalıştırma sırasında belirtmek de mümkündür:

+ +

/usr/local/apache2/bin/apachectl -f + /usr/local/apache2/conf/httpd.conf

+ +

Başlatma sırasında herşey yolunda giderse sunucu kendini uçbirimden + ayıracak ve hemen ardından uçbirim, komut istemine düşecektir. Bu, + sunucunun etkin ve çalışmakta olduğunu gösterir. Artık tarayıcınızı + kullanarak sunucuya bağlanabilir ve DocumentRoot dizinindeki deneme sayfasını + görebilirsiniz.

+
top
+
+

Başlatma Sırasındaki Hatalar

+ +

Apache başlatma sırasında ölümcül bir sorunla karşılaşacak olursa + çıkmadan önce sorunu açıklayan bir iletiyi konsola veya ErrorLog yönergesi ile belirtilen hata + günlüğüne yazacaktır. En çok karşılaşılan hata iletilerinden biri + "Unable to bind to Port ..." dizgesidir. Bu iletiye + genellikle şu iki durumdan biri sebep olur:

+ +
    +
  • Sunucunun, root yetkileri gerektiren bir portu kullanmak üzere root + kullanıcısı tarafından çalıştırılmamış olması.
  • + +
  • Aynı portu kullanan baÅŸka bir Apache Sunucusunun veya baÅŸka bir HTTP + sunucusunun zaten çalışmakta oluÅŸu.
  • +
+ +

Bu ve diğer sorun çözme talimatları için Apache SSS’sini inceleyiniz.

+
top
+
+

Sistem Açılışında Başlatma

+ +

Sunucunuzun sistem yeniden başlatıldıktan sonra çalışmasına devam + etmesini istiyorsanız sistem başlatma betiklerinize (genellikle ya + rc.local dosyasıdır ya da bir rc.N dizininde + bir dosyadır) apachectl betiği için bir çağrı + eklemelisiniz. Bu, Apache sunucunuzu root yetkileriyle başlatacaktır. + Bunu yapmadan önce sunucunuzun güvenlik ve erişim kısıtlamaları + bakımından gerektiği gibi yapılandırıldığından emin olunuz.

+ +

apachectl betiği, bir standart SysV init betiği gibi + davranacak şekilde tasarlanmıştır. start, + restart ve stop argümanlarını kabul edebilir + ve bunları httpd’ye uygun sinyallere dönüştürebilir. + Bu bakımdan, çoğunlukla uygun init dizinlerinden birine + apachectl betiği için basitçe bir bağ + yerleştirebilirsiniz. Fakat bunu yapmadan önce betiğin sisteminizin + gereklerini yerine getirdiğinden emin olunuz.

+
top
+
+

Ek Bilgiler

+ +

httpd, apachectl ve sunucuyla + gelen diğer destek programlarının komut satırı seçenekleri hakkında ek + bilgi Sunucu ve Destek Programları sayfasında + bulunabilir. Ayrıca, Apache dağıtımında bulunan tüm modüller ve bunlarla sağlanan yönergeler hakkında da belgeler + vardır.

+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/license.html b/docs/manual/license.html new file mode 100644 index 0000000..35d5f50 --- /dev/null +++ b/docs/manual/license.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: license.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/license.html.en b/docs/manual/license.html.en new file mode 100644 index 0000000..ed293d4 --- /dev/null +++ b/docs/manual/license.html.en @@ -0,0 +1,264 @@ + + + + + +The Apache License, Version 2.0 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

The Apache License, Version 2.0

+
+

Available Languages:  en 

+
+ +

Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/

+ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

+ +
    +
  1. Definitions
    + +

    "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document.

    + +

    "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License.

    + +

    "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity.

    + +

    "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License.

    + +

    "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files.

    + +

    "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types.

    + +

    "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below).

    + +

    "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof.

    + +

    "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution."

    + +

    "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work.

  2. + +
  3. Grant of Copyright License. Subject to the terms + and conditions of this License, each Contributor hereby grants to You + a perpetual, worldwide, non-exclusive, no-charge, royalty-free, + irrevocable copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form.
  4. + +
  5. Grant of Patent License. Subject to the terms + and conditions of this License, each Contributor hereby grants to You a + perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed.
  6. + +
  7. Redistribution. You may reproduce and distribute + copies of the Work or Derivative Works thereof in any medium, with or + without modifications, and in Source or Object form, provided that You + meet the following conditions: + +
      +
    1. You must give any other recipients of the Work or + Derivative Works a copy of this License; and
    2. + +
    3. You must cause any modified files to carry prominent notices + stating that You changed the files; and
    4. + +
    5. You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and
    6. + +
    7. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License.
    8. +
    + +

    You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License.

  8. + +
  9. Submission of Contributions. Unless You explicitly + state otherwise, any Contribution intentionally submitted for inclusion + in the Work by You to the Licensor shall be under the terms and + conditions of this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions.
  10. + +
  11. Trademarks. This License does not grant permission + to use the trade names, trademarks, service marks, or product names of + the Licensor, except as required for reasonable and customary use in + describing the origin of the Work and reproducing the content of the + NOTICE file.
  12. + +
  13. Disclaimer of Warranty. Unless required by + applicable law or agreed to in writing, Licensor provides the Work (and + each Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License.
  14. + +
  15. Limitation of Liability. In no event and under no + legal theory, whether in tort (including negligence), contract, or + otherwise, unless required by applicable law (such as deliberate and + grossly negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages.
  16. + +
  17. Accepting Warranty or Additional Liability. While + redistributing the Work or Derivative Works thereof, You may choose to + offer, and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability.
  18. +
+ +

END OF TERMS AND CONDITIONS

+ +

APPENDIX: How to apply the Apache License to your + work.

+ +

To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives.

+ +
Copyright [yyyy] [name of copyright owner]
+
+Licensed 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.
+
+
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/logs.html b/docs/manual/logs.html new file mode 100644 index 0000000..b2828f4 --- /dev/null +++ b/docs/manual/logs.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: logs.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: logs.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: logs.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: logs.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: logs.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/logs.html.en b/docs/manual/logs.html.en new file mode 100644 index 0000000..7be8a96 --- /dev/null +++ b/docs/manual/logs.html.en @@ -0,0 +1,710 @@ + + + + + +Log Files - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Log Files

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

In order to effectively manage a web server, it is necessary + to get feedback about the activity and performance of the + server as well as any problems that may be occurring. The Apache HTTP Server + provides very comprehensive and flexible logging + capabilities. This document describes how to configure its + logging capabilities, and how to understand what the logs + contain.

+
+ +
top
+
+

Overview

+ + + + +

+ The Apache HTTP Server provides a variety of different mechanisms for + logging everything that happens on your server, from the initial + request, through the URL mapping process, to the final resolution of + the connection, including any errors that may have occurred in the + process. In addition to this, third-party modules may provide logging + capabilities, or inject entries into the existing log files, and + applications such as CGI programs, or PHP scripts, or other handlers, + may send messages to the server error log. +

+ +

+ In this document we discuss the logging modules that are a standard + part of the http server. +

+ +
top
+
+

Security Warning

+ + +

Anyone who can write to the directory where Apache httpd is + writing a log file can almost certainly gain access to the uid + that the server is started as, which is normally root. Do + NOT give people write access to the directory the logs + are stored in without being aware of the consequences; see the + security tips document + for details.

+ +

In addition, log files may contain information supplied + directly by the client, without escaping. Therefore, it is + possible for malicious clients to insert control-characters in + the log files, so care must be taken in dealing with raw + logs.

+
top
+
+

Error Log

+ + + + +

The server error log, whose name and location is set by the + ErrorLog directive, is the + most important log file. This is the place where Apache httpd + will send diagnostic information and record any errors that it + encounters in processing requests. It is the first place to + look when a problem occurs with starting the server or with the + operation of the server, since it will often contain details of + what went wrong and how to fix it.

+ +

The error log is usually written to a file (typically + error_log on Unix systems and + error.log on Windows and OS/2). On Unix systems it + is also possible to have the server send errors to + syslog or pipe them to a + program.

+ +

The format of the error log is defined by the ErrorLogFormat directive, with which you + can customize what values are logged. A default is format defined + if you don't specify one. A typical log message follows:

+ +

+ [Fri Sep 09 10:42:29.902022 2011] [core:error] [pid 35708:tid 4328636416] + [client 72.15.99.187] File does not exist: /usr/local/apache2/htdocs/favicon.ico +

+ +

The first item in the log entry is the date and time of the + message. The next is the module producing the message (core, in this + case) and the severity level of that message. This is followed by + the process ID and, if appropriate, the thread ID, of the process + that experienced the condition. Next, we have the client address + that made the request. And finally is the detailed error message, + which in this case indicates a request for a file that did not + exist.

+ +

A very wide variety of different messages can appear in the + error log. Most look similar to the example above. The error + log will also contain debugging output from CGI scripts. Any + information written to stderr by a CGI script will + be copied directly to the error log.

+ +

Putting a %L token in both the error log and the access + log will produce a log entry ID with which you can correlate the entry + in the error log with the entry in the access log. If + mod_unique_id is loaded, its unique request ID will be + used as the log entry ID, too.

+ +

During testing, it is often useful to continuously monitor + the error log for any problems. On Unix systems, you can + accomplish this using:

+ +

+ tail -f error_log +

+
top
+
+

Per-module logging

+ + +

The LogLevel directive + allows you to specify a log severity level on a per-module basis. In + this way, if you are troubleshooting a problem with just one + particular module, you can turn up its logging volume without also + getting the details of other modules that you're not interested in. + This is particularly useful for modules such as + mod_proxy or mod_rewrite where you + want to know details about what it's trying to do.

+ +

Do this by specifying the name of the module in your + LogLevel directive:

+ +
LogLevel info rewrite:trace5
+ + +

This sets the main LogLevel to info, but + turns it up to trace5 for + mod_rewrite.

+ +
This replaces the per-module logging directives, such as + RewriteLog, that were present in earlier versions of + the server.
+
top
+
+

Access Log

+ + + + +

The server access log records all requests processed by the + server. The location and content of the access log are + controlled by the CustomLog + directive. The LogFormat + directive can be used to simplify the selection of + the contents of the logs. This section describes how to configure the server + to record information in the access log.

+ +

Storing the information in the access log is only + the start of log management. The next step is to analyze this + information to produce useful statistics. Log analysis in + general is beyond the scope of this document, and not really + part of the job of the web server itself. +

+ +

Various versions of Apache httpd have used other modules and + directives to control access logging, including + mod_log_referer, mod_log_agent, and the + TransferLog directive. The CustomLog directive now subsumes + the functionality of all the older directives.

+ +

The format of the access log is highly configurable. The format + is specified using a format string that looks much like a C-style + printf(1) format string. Some examples are presented in the next + sections. For a complete list of the possible contents of the + format string, see the mod_log_config format strings.

+ +

Common Log Format

+ + +

A typical configuration for the access log might look as + follows.

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+ + +

This defines the nickname common and + associates it with a particular log format string. The format + string consists of percent directives, each of which tell the + server to log a particular piece of information. Literal + characters may also be placed in the format string and will be + copied directly into the log output. The quote character + (") must be escaped by placing a backslash before + it to prevent it from being interpreted as the end of the + format string. The format string may also contain the special + control characters "\n" for new-line and + "\t" for tab.

+ +

The CustomLog + directive sets up a new log file using the defined + nickname. The filename for the access log is relative to + the ServerRoot unless it + begins with a slash.

+ +

The above configuration will write log entries in a format + known as the Common Log Format (CLF). This standard format can + be produced by many different web servers and read by many log + analysis programs. The log file entries produced in CLF will + look something like this:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 +

+ +

Each part of this log entry is described below.

+ +
+
127.0.0.1 (%h)
+ +
This is the IP address of the client (remote host) which + made the request to the server. If HostnameLookups is + set to On, then the server will try to determine + the hostname and log it in place of the IP address. However, + this configuration is not recommended since it can + significantly slow the server. Instead, it is best to use a + log post-processor such as logresolve to determine + the hostnames. The IP address reported here is not + necessarily the address of the machine at which the user is + sitting. If a proxy server exists between the user and the + server, this address will be the address of the proxy, rather + than the originating machine.
+ +
- (%l)
+ +
The "hyphen" in the output indicates that the requested + piece of information is not available. In this case, the + information that is not available is the RFC 1413 identity of + the client determined by identd on the clients + machine. This information is highly unreliable and should + almost never be used except on tightly controlled internal + networks. Apache httpd will not even attempt to determine + this information unless IdentityCheck is set + to On.
+ +
frank (%u)
+ +
This is the userid of the person requesting the document + as determined by HTTP authentication. The same value is + typically provided to CGI scripts in the + REMOTE_USER environment variable. If the status + code for the request (see below) is 401, then this value + should not be trusted because the user is not yet + authenticated. If the document is not password protected, + this part will be "-" just like the previous + one.
+ +
[10/Oct/2000:13:55:36 -0700] + (%t)
+ +
+ The time that the request was received. + The format is: + +

+ [day/month/year:hour:minute:second zone]
+ day = 2*digit
+ month = 3*letter
+ year = 4*digit
+ hour = 2*digit
+ minute = 2*digit
+ second = 2*digit
+ zone = (`+' | `-') 4*digit
+

+

It is possible to have the time displayed in another format + by specifying %{format}t in the log format + string, where format is either as in + strftime(3) from the C standard library, + or one of the supported special tokens. For details see + the mod_log_config format strings.

+
+ +
"GET /apache_pb.gif HTTP/1.0" + (\"%r\")
+ +
The request line from the client is given in double + quotes. The request line contains a great deal of useful + information. First, the method used by the client is + GET. Second, the client requested the resource + /apache_pb.gif, and third, the client used the + protocol HTTP/1.0. It is also possible to log + one or more parts of the request line independently. For + example, the format string "%m %U%q %H" will log + the method, path, query-string, and protocol, resulting in + exactly the same output as "%r".
+ +
200 (%>s)
+ +
This is the status code that the server sends back to the + client. This information is very valuable, because it reveals + whether the request resulted in a successful response (codes + beginning in 2), a redirection (codes beginning in 3), an + error caused by the client (codes beginning in 4), or an + error in the server (codes beginning in 5). The full list of + possible status codes can be found in the HTTP + specification (RFC2616 section 10).
+ +
2326 (%b)
+ +
The last part indicates the size of the object returned + to the client, not including the response headers. If no + content was returned to the client, this value will be + "-". To log "0" for no content, use + %B instead.
+
+ + +

Combined Log Format

+ + +

Another commonly used format string is called the Combined + Log Format. It can be used as follows.

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
+CustomLog log/access_log combined
+ + +

This format is exactly the same as the Common Log Format, + with the addition of two more fields. Each of the additional + fields uses the percent-directive + %{header}i, where header can be + any HTTP request header. The access log under this format will + look like:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + "http://www.example.com/start.html" "Mozilla/4.08 [en] + (Win98; I ;Nav)" +

+ +

The additional fields are:

+ +
+
"http://www.example.com/start.html" + (\"%{Referer}i\")
+ +
The "Referer" (sic) HTTP request header. This gives the + site that the client reports having been referred from. (This + should be the page that links to or includes + /apache_pb.gif).
+ +
"Mozilla/4.08 [en] (Win98; I ;Nav)" + (\"%{User-agent}i\")
+ +
The User-Agent HTTP request header. This is the + identifying information that the client browser reports about + itself.
+
+ + +

Multiple Access Logs

+ + +

Multiple access logs can be created simply by specifying + multiple CustomLog + directives in the configuration + file. For example, the following directives will create three + access logs. The first contains the basic CLF information, + while the second and third contain referer and browser + information. The last two CustomLog lines show how + to mimic the effects of the ReferLog and AgentLog directives.

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+CustomLog logs/referer_log "%{Referer}i -> %U"
+CustomLog logs/agent_log "%{User-agent}i"
+ + +

This example also shows that it is not necessary to define a + nickname with the LogFormat directive. Instead, + the log format can be specified directly in the CustomLog directive.

+ + +

Conditional Logs

+ + +

There are times when it is convenient to exclude certain + entries from the access logs based on characteristics of the + client request. This is easily accomplished with the help of environment variables. First, an + environment variable must be set to indicate that the request + meets certain conditions. This is usually accomplished with + SetEnvIf. Then the + env= clause of the CustomLog directive is used to + include or exclude requests where the environment variable is + set. Some examples:

+ +
# Mark requests from the loop-back interface
+SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
+# Mark requests for the robots.txt file
+SetEnvIf Request_URI "^/robots\.txt$" dontlog
+# Log what remains
+CustomLog logs/access_log common env=!dontlog
+ + +

As another example, consider logging requests from + english-speakers to one log file, and non-english speakers to a + different log file.

+ +
SetEnvIf Accept-Language "en" english
+CustomLog logs/english_log common env=english
+CustomLog logs/non_english_log common env=!english
+ + +

In a caching scenario one would want to know about + the efficiency of the cache. A very simple method to + find this out would be:

+ +
SetEnv CACHE_MISS 1
+LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cache
+CustomLog logs/access_log common-cache
+ + +

mod_cache will run before + mod_env and, when successful, will deliver the + content without it. In that case a cache hit will log + -, while a cache miss will log 1.

+ +

In addition to the env= syntax, LogFormat supports logging values + conditional upon the HTTP response code:

+ +
LogFormat "%400,501{User-agent}i" browserlog
+LogFormat "%!200,304,302{Referer}i" refererlog
+ + +

In the first example, the User-agent will be + logged if the HTTP status code is 400 or 501. In other cases, a + literal "-" will be logged instead. Likewise, in the second + example, the Referer will be logged if the HTTP + status code is not 200, 304, or 302. (Note the + "!" before the status codes.

+ +

Although we have just shown that conditional logging is very + powerful and flexible, it is not the only way to control the + contents of the logs. Log files are more useful when they + contain a complete record of server activity. It is often + easier to simply post-process the log files to remove requests + that you do not want to consider.

+ +
top
+
+

Log Rotation

+ + +

On even a moderately busy server, the quantity of + information stored in the log files is very large. The access + log file typically grows 1 MB or more per 10,000 requests. It + will consequently be necessary to periodically rotate the log + files by moving or deleting the existing logs. This cannot be + done while the server is running, because Apache httpd will continue + writing to the old log file as long as it holds the file open. + Instead, the server must be restarted after the log files are + moved or deleted so that it will open new log files.

+ +

By using a graceful restart, the server can be + instructed to open new log files without losing any existing or + pending connections from clients. However, in order to + accomplish this, the server must continue to write to the old + log files while it finishes serving old requests. It is + therefore necessary to wait for some time after the restart + before doing any processing on the log files. A typical + scenario that simply rotates the logs and compresses the old + logs to save space is:

+ +

+ mv access_log access_log.old
+ mv error_log error_log.old
+ apachectl graceful
+ sleep 600
+ gzip access_log.old error_log.old +

+ +

Another way to perform log rotation is using piped logs as discussed in the next + section.

+
top
+
+

Piped Logs

+ + +

Apache httpd is capable of writing error and access log + files through a pipe to another process, rather than directly + to a file. This capability dramatically increases the + flexibility of logging, without adding code to the main server. + In order to write logs to a pipe, simply replace the filename + with the pipe character "|", followed by the name + of the executable which should accept log entries on its + standard input. The server will start the piped-log process when + the server starts, and will restart it if it crashes while the + server is running. (This last feature is why we can refer to + this technique as "reliable piped logging".)

+ +

Piped log processes are spawned by the parent Apache httpd + process, and inherit the userid of that process. This means + that piped log programs usually run as root. It is therefore + very important to keep the programs simple and secure.

+ +

One important use of piped logs is to allow log rotation + without having to restart the server. The Apache HTTP Server + includes a simple program called rotatelogs + for this purpose. For example, to rotate the logs every 24 hours, you + can use:

+ +
CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
+ + +

Notice that quotes are used to enclose the entire command + that will be called for the pipe. Although these examples are + for the access log, the same technique can be used for the + error log.

+ +

As with conditional logging, piped logs are a very powerful + tool, but they should not be used where a simpler solution like + off-line post-processing is available.

+ +

By default the piped log process is spawned without invoking + a shell. Use "|$" instead of "|" + to spawn using a shell (usually with /bin/sh -c):

+ +
# Invoke "rotatelogs" using a shell
+CustomLog "|$/usr/local/apache/bin/rotatelogs   /var/log/access_log 86400" common
+ + +

This was the default behaviour for Apache 2.2. + Depending on the shell specifics this might lead to + an additional shell process for the lifetime of the logging + pipe program and signal handling problems during restart. + For compatibility reasons with Apache 2.2 the notation + "||" is also supported and equivalent to using + "|".

+ +

Windows note

+

Note that on Windows, you may run into problems when running many piped + logger processes, especially when HTTPD is running as a service. This is + caused by running out of desktop heap space. The desktop heap space given + to each service is specified by the third argument to the + SharedSection parameter in the + HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\SubSystems\Windows + registry value. Change this value with care; the normal + caveats for changing the Windows registry apply, but you might also exhaust + the desktop heap pool if the number is adjusted too high.

+
+
top
+
+

Virtual Hosts

+ + +

When running a server with many virtual + hosts, there are several options for dealing with log + files. First, it is possible to use logs exactly as in a + single-host server. Simply by placing the logging directives + outside the <VirtualHost> sections in the + main server context, it is possible to log all requests in the + same access log and error log. This technique does not allow + for easy collection of statistics on individual virtual + hosts.

+ +

If CustomLog + or ErrorLog + directives are placed inside a + <VirtualHost> + section, all requests or errors for that virtual host will be + logged only to the specified file. Any virtual host which does + not have logging directives will still have its requests sent + to the main server logs. This technique is very useful for a + small number of virtual hosts, but if the number of hosts is + very large, it can be complicated to manage. In addition, it + can often create problems with insufficient file + descriptors.

+ +

For the access log, there is a very good compromise. By + adding information on the virtual host to the log format + string, it is possible to log all hosts to the same log, and + later split the log into individual files. For example, + consider the following directives.

+ +
LogFormat "%v %l %u %t \"%r\" %>s %b" comonvhost
+CustomLog logs/access_log comonvhost
+ + +

The %v is used to log the name of the virtual + host that is serving the request. Then a program like split-logfile can be used to + post-process the access log in order to split it into one file + per virtual host.

+
top
+
+

Other Log Files

+ + + + +

Logging actual bytes sent and received

+ + +

mod_logio adds in two additional + LogFormat fields + (%I and %O) that log the actual number of bytes received and sent + on the network.

+ + +

Forensic Logging

+ + +

mod_log_forensic provides for forensic logging of + client requests. Logging is done before and after processing a + request, so the forensic log contains two log lines for each + request. The forensic logger is very strict with no customizations. + It can be an invaluable debugging and security tool.

+ + +

PID File

+ + +

On startup, Apache httpd saves the process id of the parent + httpd process to the file logs/httpd.pid. This + filename can be changed with the PidFile directive. The + process-id is for use by the administrator in restarting and + terminating the daemon by sending signals to the parent + process; on Windows, use the -k command line option instead. + For more information see the Stopping + and Restarting page.

+ + +

Script Log

+ + +

In order to aid in debugging, the + ScriptLog directive + allows you to record the input to and output from CGI scripts. + This should only be used in testing - not for live servers. + More information is available in the mod_cgi documentation.

+ + +
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/logs.html.fr.utf8 b/docs/manual/logs.html.fr.utf8 new file mode 100644 index 0000000..25e1804 --- /dev/null +++ b/docs/manual/logs.html.fr.utf8 @@ -0,0 +1,761 @@ + + + + + +Fichiers journaux - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Fichiers journaux

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Pour véritablement gérer un serveur web, + il est nécessaire de disposer d'un + retour d'informations à propos de l'activité et des performances du + serveur, ainsi que de tout problème qui pourrait survenir. Le serveur HTTP + Apache propose des fonctionnalités de journalisation souples et très + complètes. Ce document décrit comment configurer ces fonctionnalités de + journalisation et interpréter le contenu des journaux.

+
+ +
top
+
+

Vue d'ensemble

+ + + + +

+ Le serveur HTTP Apache fournit toute une variété de mécanismes + différents pour la journalisation de tout ce qui peut se passer au + sein de votre serveur, depuis la requête initiale, en passant par le + processus de mise en correspondance des URLs, et jusqu'à la fermeture + de la connexion, y compris toute erreur pouvant survenir au cours du + traitement. De plus, certains modules tiers fournissent des + fonctionnalités de journalisation ou insèrent des entrées dans les + fichiers journaux existants, et les applications comme les programmes + CGI, les scripts PHP ou autres gestionnaires peuvent envoyer des + messages vers le journal des erreurs du serveur. +

+ +

+ Ce document décrit le fonctionnement des modules de journalisation + fournis en standard avec le serveur httpd. +

+ +
top
+
+

Avertissement à propos de la sécurité

+ + +

Tout utilisateur qui a les droits en écriture sur le répertoire dans + lequel Apache httpd écrit ses journaux pourra quasi + certainement avoir accès à l'uid sous lequel le serveur est démarré, en + l'occurrence habituellement root. N'accordez PAS aux utilisateurs + l'accès en écriture au répertoire dans lequel les journaux sont stockés + sans savoir exactement quelles en seraient les conséquences ; voir le + document conseils sur la sécurité + pour plus de détails.

+ +

En outre, les journaux peuvent contenir des informations fournies + directement par un client, sans caractères d'échappement. Des clients mal + intentionnés peuvent donc insérer des caractères de contrôle dans les + journaux, et il convient par conséquent d'être très prudent lors de la + manipulation des journaux bruts.

+
top
+
+

Journal des erreurs

+ + + + +

Le journal des erreurs du serveur, dont le nom et la localisation sont + définis par la directive ErrorLog, + est le journal le plus important. C'est dans celui-ci + que le démon Apache httpd va envoyer les informations de diagnostic et + enregistrer toutes les erreurs qui surviennent lors du traitement des + requêtes. Lorsqu'un problème survient au démarrage du serveur ou pendant + son fonctionnement, la première chose à faire est de regarder dans ce + journal, car il vous renseignera souvent sur le problème rencontré et + la manière d'y remédier.

+ +

Le journal des erreurs est habituellement enregistré dans un fichier + (en général error_log sur les systèmes de type Unix et + error.log sur Windows et OS/2). Sur les systèmes de type Unix, + le serveur peut aussi enregistrer ses erreurs dans + syslog ou les + rediriger vers un programme par l'intermédiaire d'un + tube de communication (pipe).

+ +

Le format par défaut du journal des erreurs est descriptif et de forme + relativement libre. Certaines informations apparaissent cependant dans la + plupart des entrées du journal. Voici un message typique + à titre d'exemple :

+ +

+ [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] + client denied by server configuration: + /export/home/live/ap/htdocs/test +

+ +

Le premier champ de l'entrée du journal est la date et l'heure du + message. Le second champ indique la sévérité de l'erreur rapportée. La + directive LogLevel permet de + restreindre le type des erreurs qui doivent être enregistrées + dans le journal des erreurs en définissant leur niveau de sévérité. Le + troisième champ contient l'adresse IP du client qui a généré l'erreur. + Vient ensuite le message proprement dit, qui indique dans ce cas que le + serveur a été configuré pour interdire l'accès au client. Le serveur + indique le chemin système du document requis (et non + son chemin web).

+ +

Une grande variété de messages différents peuvent apparaître dans le + journal des erreurs. La plupart d'entre eux sont similaires à l'exemple + ci-dessus. Le journal des erreurs peut aussi contenir des informations de + débogage en provenance de scripts CGI. Toute information qu'un script CGI + écrit sur la sortie d'erreurs standard stderr sera recopiée + telle quelle dans le journal des erreurs.

+ +

La directive ErrorLogFormat + vous permet de personnaliser le format du journal des erreurs, et de + définir les informations à journaliser. Si + mod_unique_id est présent, vous pouvez utiliser le + drapeau %L à la fois dans le journal des erreurs et + dans le + journal des accès, ce qui aura pour effet de générer un identifiant + d'entrée qui vous permettra de corréler les entrées du journal des + erreurs avec celles du journal des accès.

+ +

Pendant la phase de test, il est souvent utile de visualiser en continu + le journal des erreurs afin de détecter tout problème éventuel. Sur les + systèmes de type Unix, ceci s'effectue à l'aide de la commande :

+ +

+ tail -f error_log +

+
top
+
+

Journalisation par module

+ + +

La directive LogLevel permet + de spécifier un niveau de sévérité de journalisation pour chaque + module. Vous pouvez ainsi résoudre un problème propre à un module particulier + en augmentant son volume de journalisation sans augmenter ce volume + pour les autres modules. Ceci est particulièrement utile lorsque + vous voulez obtenir des détails sur le fonctionnement de modules + comme mod_proxy ou mod_rewrite.

+ +

Pour ce faire, vous devez spécifier le nom du module dans votre + directive LogLevel :

+ +
LogLevel info rewrite:trace5
+ + +

Dans cet exemple, le niveau de journalisation général est défini + à info, et à trace5 pour mod_rewrite.

+ +
Cette directive remplace les directives de journalisation par + module des versions précédentes du serveur, comme + RewriteLog.
+
top
+
+

Journal des accès

+ + + + +

Le journal des accès au serveur + enregistre toutes les requêtes que traite + ce dernier. La localisation et le contenu du journal des accès sont définis + par la directive CustomLog. + La directive LogFormat + permet de simplifier la sélection du contenu du journal. Cette section + décrit comment configurer le serveur pour l'enregistrement des informations + dans le journal des accès.

+ +

Le stockage d'informations dans le journal des accès + n'est que le point de départ de la gestion de la journalisation. L'étape + suivante consiste à analyser ces informations de façon à pouvoir en + extraire des statistiques utiles. L'analyse de journaux en général est en + dehors du sujet de ce document et ne fait pas vraiment partie intégrante + du travail du serveur web lui-même.

+ +

Différentes versions du démon Apache httpd utilisaient d'autres modules + et directives pour contrôler la journalisation des accès, à l'instar de + mod_log_referer, mod_log_agent, et de la directive + TransferLog. La directive + CustomLog rassemble + désormais les fonctionnalités de toutes les anciennes directives.

+ +

Le format du journal des accès est hautement configurable. Il est + défini à l'aide d'une chaîne de format qui ressemble sensiblement à la + chaîne de format de style langage C de printf(1). Vous trouverez quelques + exemples dans les sections suivantes. Pour une liste exhaustive de ce que + peut contenir une chaîne de format, vous pouvez vous référer au chapitre + chaînes de format de la + documentation du module mod_log_config.

+ +

Format habituel du journal

+ + +

Voici une configuration typique pour le journal des accès :

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+ + +

Ici est définie l'identité common qui est + ensuite associée à une chaîne de format de journalisation particulière. + La chaîne de format est constituée de directives débutant par le + caractère %, chacune d'entre elles indiquant au serveur d'enregistrer + un élément particulier d'information. Des caractères littéraux peuvent + aussi être insérés dans la chaîne de format ; il seront copiés tels + quels dans le flux de sortie destiné à la journalisation. + Les guillemets (") doivent être échappées en les faisant + précéder d'un anti-slash (\) afin qu'elles ne soient pas + interprétées comme la fin de la chaîne de format. La chaîne de format + peut aussi contenir les caractères de contrôle spéciaux + "\n" et "\t" pour insérer respectivement + un passage à la ligne et une tabulation.

+ +

La directive CustomLog + définit un nouveau fichier journal en l'associant à l'identité + précédemment définie. Le chemin du nom de fichier associé au journal + des accès est relatif au chemin défini par la directive + ServerRoot, sauf s'il + débute par un slash.

+ +

La configuration ci-dessus va enregistrer les entrées de + journalisation selon un format connu sous le nom de + Common Log Format (CLF) pour "Format de journalisation standard". + Ce format standard peut être produit par de nombreux serveurs web + différents et lu par de nombreux programmes d'analyse de journaux. + Les entrées de fichier journal générées selon le format CLF + ressemblent à ceci :

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 +

+ +

Chaque partie de cette entrée de journal est décrite + dans ce qui suit.

+ +
+
127.0.0.1 (%h)
+ +
Il s'agit de l'adresse IP du client (l'hôte distant) qui a envoyé + la requête au serveur. Si la directive + HostnameLookups est positionnée à + On, le serveur va essayer de déterminer le nom de l'hôte + et de l'enregistrer à la place de l'adresse IP. Cette configuration + n'est cependant pas recommandée car elle peut ralentir le serveur de + manière significative. Il est par conséquent préférable d'utiliser un + processeur d'analyse de journaux a posteriori + tel que logresolve + pour déterminer les noms d'hôte. L'adresse IP indiquée ici n'est pas + nécessairement l'adresse IP de la machine devant laquelle se trouve + l'utilisateur. Si un serveur mandataire s'intercale entre le serveur + et l'utilisateur, l'adresse indiquée sera celle du mandataire et non + celle de la machine à l'origine de la requête.
+ +
- (%l)
+ +
Le "trait d'union" indique que la portion d'information + correspondante n'est pas disponible. Dans le cas présent, l'information + non disponible est l'identité (RFC 1413) du client telle que déterminée + par identd sur la machine cliente. Cette information est + très peu fiable et ne devrait jamais être utilisée, sauf dans le cas + de réseaux internes étroitement contrôlés. Le démon httpd ne cherchera + d'ailleurs à obtenir cette information que si la directive + IdentityCheck est positionnée + à On.
+ +
frank (%u)
+ +
Il s'agit de l'identifiant utilisateur de la personne qui a + demandé le document, issu d'une authentification HTTP. + Ce même identifiant est en général fourni aux scripts CGI par + l'intermédiaire de la valeur de la variable d'environnement + REMOTE_USER. Si le statut de la requête (voir plus loin) + est 401, cette identifiant n'est pas fiable car l'utilisateur n'est + pas encore authentifié. Si le document n'est pas protégé par + mot de passe, cette partie d'information sera représentée par + "-", comme la partie précédente.
+ +
[10/Oct/2000:13:55:36 -0700] + (%t)
+ +
+ L'heure à laquelle la requête a été reçue. + Le format est le suivant : + +

+ [jour/mois/année:heure:minutes:secondes zone]
+ jour = 2*chiffre
+ mois = 3*lettre
+ année = 4*chiffre
+ heure = 2*chiffre
+ minutes = 2*chiffre
+ secondes = 2*chiffre
+ zone = (`+' | `-') 4*chiffre
+

Il est possible de modifier le format d'affichage de l'heure + en spécifiant %{format}t dans la chaîne de format du + journal, où format est une chaîne de format + de la forme de celle de la fonction strftime(3) + de la bibliothèque C standard, ou choisie parmi les + formats spéciaux supportés. Pour plus de détails, + reportez-vous aux. chaînes de format + de mod_log_config. +
+ +
"GET /apache_pb.gif HTTP/1.0" + (\"%r\")
+ +
La ligne de la requête du client est placée entre guillemets. + Elle contient de nombreuses informations utiles. Tout d'abord, la + méthode utilisée par le client est GET. Ensuite, le + client a demandé la ressource /apache_pb.gif, et enfin, + le client a utilisé le protocole HTTP/1.0. Il est aussi + possible d'enregistrer séparément une ou plusieurs parties de la + requête. Par exemple, la chaîne de format "%m %U %q %H" + va enregistrer la méthode, le chemin, la chaîne de la requête et le + protocole, ce qui donnera le même résultat que + "%r".
+ +
200 (%>s)
+ +
C'est le code de statut que le serveur retourne au client. Cette + information est très importante car elle indique si la requête a fait + l'objet d'une réponse positive (codes commençant par 2), une + redirection (codes commençant par 3), une erreur due au client (codes + commençant par 4), ou une erreur due au serveur (codes commençant + par 5). Vous trouverez la liste complète des codes de statut possibles + dans la specification HTTP (RFC2616 section 10).
+ +
2326 (%b)
+ +
La dernière partie indique la taille de l'objet retourné au client, + en-têtes non compris. Si aucun contenu n'a été retourné au client, cette + partie contiendra "-". Pour indiquer l'absence de contenu + par "0", utilisez %B au lieu de + %b.
+
+ + +

Combined Log Format (Format de journalisation combiné)

+ + +

Une autre chaîne de format couramment utilisée est le + "Combined Log Format" (Format de journalisation combiné). Il s'utilise + comme suit :

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
+CustomLog log/access_log combined
+ + +

Ce format est identique au Common Log Format, avec deux champs + supplémentaires. Chacun de ces deux champs utilise la directive + commençant par le caractère "%" %{header}i, + où header peut être n'importe quel en-tête de requête HTTP. + Avec ce format, le journal des accès se présentera comme suit :

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + "http://www.example.com/start.html" "Mozilla/4.08 [en] + (Win98; I ;Nav)" +

+ +

Les champs supplémentaires sont :

+ +
+
"http://www.example.com/start.html" + (\"%{Referer}i\")
+ +
L'en-tête "Referer" (sic) de la requête HTTP. Il indique le site + depuis lequel le client prétend avoir lancé sa requête. (Ce doit être + la page qui contient un lien vers /apache_pb.gif ou + inclut ce dernier fichier).
+ +
"Mozilla/4.08 [en] (Win98; I ;Nav)" + (\"%{User-agent}i\")
+ +
L'en-tête User-Agent de la requête HTTP. C'est une information + d'identification que le navigateur du client envoie à propos + de lui-même.
+
+ + +

Journaux d'accès multiples

+ + +

Plusieurs journaux d'accès peuvent être créés en spécifiant tout + simplement plusieurs directives + CustomLog dans le + fichier de configuration. Par exemple, les directives suivantes vont + créer trois journaux d'accès. Le premier contiendra les informations + de base CLF, le second les informations du Referer, et le troisième + les informations sur le navigateur. Les deux dernières directives + CustomLog montrent + comment simuler les effets des directives ReferLog et + AgentLog.

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+CustomLog logs/referer_log "%{Referer}i -> %U"
+CustomLog logs/agent_log "%{User-agent}i"
+ + +

Cet exemple montre aussi qu'il n'est pas obligatoire d'associer + une chaîne de format à un alias au moyen de la directive + LogFormat. Elle peut + être définie directement dans la ligne de la directive + CustomLog.

+ + +

Journalisation conditionnelle

+ + +

Il est parfois souhaitable d'exclure certaines entrées des journaux + d'accès en fonction des caractéristiques de la requête du client. On + peut aisément accomplir ceci à l'aide des + variables d'environnement. Tout d'abord, une + variable d'environnement doit être définie pour indiquer que la + requête remplit certaines conditions. Pour ceci, on utilise en général + la directive SetEnvIf, + puis la clause env= de la directive + CustomLog pour inclure + ou exclure les requêtes pour lesquelles + la variable d'environnement est définie. + Quelques exemples :

+ +
# Marque les requêtes en provenance de l'interface loop-back
+SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
+# Marque les requêtes pour le fichier robots.txt
+SetEnvIf Request_URI "^/robots\.txt$" dontlog
+# Journalise toutes les autres requêtes
+CustomLog logs/access_log common env=!dontlog
+ + +

Autre exemple, imaginons l'enregistrement des requêtes en provenance + d'utilisateurs de langue anglaise dans un journal, et celles des autres + utilisateurs dans un autre journal.

+ +
        SetEnvIf Accept-Language "en" english
+        CustomLog logs/english_log common env=english
+        CustomLog logs/non_english_log common env=!english
+ + +

Dans le contexte d'une mise en cache, il peut être + intéressant de connaître l'efficacité du cache. Pour y parvenir, + on pourrait utiliser cette méthode simple :

+ +
SetEnv CACHE_MISS 1
+LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cache
+CustomLog logs/access_log common-cache
+ + +

mod_cache va s'exécuter avant + mod_env, et si son action est couronnée de + succès, il délivrera le contenu sans faire appel à ce dernier. Si + l'URL se trouve dans le cache, la valeur journalisée sera alors + -, tandis que dans le cas contraire elle sera + 1.

+ +

En plus de la syntaxe env=, la directive LogFormat supporte les + valeurs de journalisation conditionnelles basées sur le code de la + réponse HTTP :

+ +
LogFormat "%400,501{User-agent}i" browserlog
+LogFormat "%!200,304,302{Referer}i" refererlog
+ + +

Dans le premier exemple, le User-agent sera + enregistré si le code d'état HTTP est 400 ou 501. Dans le cas + contraire, c'est un caractère "-" qui sera enregistré à la place. + Dans le second exemple, le Referer sera enregistré si + le code d'état HTTP n'est pas 200, 304, ou 302 + (remarquez le caractère "!" avant les codes d'état).

+ +

Bien que nous venions de montrer que la journalisation conditionnelle + est souple et très puissante, cette méthode de contrôle du contenu des + journaux n'est pas la seule. Les fichiers journaux sont plus utiles + quand ils contiennent un enregistrement complet de l'activité du serveur, + et il est souvent plus aisé de simplement traiter à posteriori les fichiers + journaux pour supprimer les requêtes que vous ne voulez pas y voir + apparaître.

+ +
top
+
+

Rotation des journaux

+ + +

Même dans le cas d'un serveur modérément sollicité, la quantité + d'informations stockées dans les fichiers journaux est très importante. + Le fichier journal des accès grossit en général d'1 Mo ou plus toutes + les 10000 requêtes. Il est par conséquent nécessaire d'effectuer + périodiquement la rotation des journaux en déplaçant ou supprimant les + fichiers correspondants. On ne peut pas le faire pendant que le serveur + est en cours d'exécution, car Apache httpd va continuer à écrire dans l'ancien + fichier journal aussi longtemps qu'il le maintiendra ouvert. + C'est pourquoi le serveur doit être + redémarré après le déplacement ou la + suppression des fichiers journaux de façon à ce qu'il en ouvre + de nouveaux.

+ +

Avec un redémarrage graceful, on peut faire en sorte que le + serveur ouvre de nouveaux fichiers journaux sans perdre de connexions + existantes ou en cours avec les clients. Cependant, pour que ceci soit + possible, le serveur doit continuer à écrire dans les anciens fichiers + journaux pendant qu'il termine le traitement des requêtes en cours. + Il est donc nécessaire d'attendre un certain temps après le rédémarrage + avant d'effectuer tout traitement sur les fichiers journaux. Voici un + scénario typique dans lequel on effectue une simple rotation des + journaux en compressant les anciens fichiers correspondants afin + de gagner de l'espace disque :

+ +

+ mv access_log access_log.old
+ mv error_log error_log.old
+ apachectl graceful
+ sleep 600
+ gzip access_log.old error_log.old +

+ +

La section suivante présente une autre méthode de rotation des journaux + qui consiste à utiliser les + journaux redirigés.

+
top
+
+

Journaux redirigés

+ + +

Nous avons vu que le démon httpd écrivait les informations de + journalisation des erreurs et des accès dans un fichier journal ; + il peut aussi + rediriger ces informations vers un autre processus par l'intermédiaire d'un + tube de communication (pipe). Cette fonctionnalité améliore + considérablement la souplesse de la journalisation, sans ajouter de code + au serveur principal. Pour rediriger les informations de journalisation + vers un tube de communication, remplacez simplement le nom de fichier + journal par + le caractère pipe "|", suivi du nom de l'exécutable qui va + recueillir les entrées de journal sur son entrée + standard. Le serveur va + lancer le processus de redirection des journaux au moment du démarrage du + serveur, et le relancera s'il cesse de fonctionner + pendant l'exécution du serveur. + (Nous dénommons cette technique "journalisation + redirigée fiable" grâce à cette dernière fonctionnalité.)

+ +

Les processus de journalisation redirigée sont lancés par le processus + httpd parent, et héritent de l'UID de ce dernier. Cela signifie que les + programmes de journalisation dirigée s'exécutent généralement en tant que + root. Il est donc très important que ces programmes soient simples et + sécurisés.

+ +

Un des grands avantages de la journalisation redirigée est la possibilité + d'effectuer la rotation des journaux sans avoir à redémarrer le serveur. Pour + accomplir cette tâche, le serveur HTTP Apache fournit un programme simple + appelé rotatelogs. Par exemple, pour une rotation des + journaux toutes les 24 heures, ajoutez ces lignes :

+ +
CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
+ + +

Notez que l'ensemble de la commande qui sera appelée par le tube de + communication a été placée entre guillemets. Bien que cet exemple + concerne le journal des accès, la même technique peut être utilisée + pour le journal des erreurs.

+ +

Comme la journalisation conditionnelle, la journalisation redirigée est + un outil très puissant, mais si elle existe, il est préférable d'utiliser + une solution plus simple comme le traitement à posteriori hors ligne.

+ + +

Par défaut, le processus de redirection du journal est lancé sans + invoquer un shell. Pour invoquer un shell, utilisez "|$" + au lieu de "|" (en général avec /bin/sh -c) + :

+ +
# Invocation de "rotatelogs" en utilisant un shell
+CustomLog "|$/usr/local/apache/bin/rotatelogs   /var/log/access_log 86400" common
+ + + +

Il s'agissait du comportement par défaut sous Apache 2.2. Selon + les spécificités du shell, ceci peut générer un processus shell + supplémentaire pour toute la durée du programme de redirection du + journal, et induire des problèmes de gestion de signaux au cours du + redémarrage. La notation "||" est aussi supportée pour + des raisons de compatibilité avec Apache 2.2 et est équivalente à + "|".

+ +

Note à propos de la plateforme Windows

+

Notez que sous Windows, la mémoire allouée au bureau (desktop + heap) peut devenir insuffisante si vous utilisez de nombreux + processus vers lesquels sont redirigés des journaux via un pipe, et + ceci particulièrement si httpd s'exécute en tant que service. La + quantité de mémoire du bureau allouée à chaque service est spécifiée + dans le troisième argument du paramètre SharedSection + de la clé de registre + HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\SubSystems\Windows. + Modifiez cette valeur avec prudence ; les + précautions d'usage s'imposent lorsqu'on modifie la base de registre, + mais vous pouvez aussi saturer la mémoire du bureau si vous + spécifiez une valeur trop élevée.

+
+
top
+
+

Hôtes virtuels

+ + +

Lorsqu'un serveur possède plusieurs hôtes virtuels, il existe de nombreuses solutions pour gérer + les fichiers journaux. Par exemple, on peut utiliser les journaux comme + s'il s'agissait d'un serveur avec un seul hôte. Il suffit pour cela de + placer les directives de journalisation en dehors des sections + <VirtualHost> au niveau + du serveur principal, ce qui a pour effet de journaliser toutes les + requêtes dans le même journal des accès et des erreurs. Cette technique + est cependant inappropriée pour recueillir des statistiques sur chaque + hôte virtuel individuellement.

+ +

Si des directives CustomLog ou + ErrorLog sont placées dans une section + <VirtualHost>, toutes les + requêtes ou erreurs pour cet hôte virtuel ne seront enregistrées que dans + le fichier spécifié. Tout hôte virtuel qui ne possède pas de directives de + journalisation verra ses requêtes enregistrées dans le journal du serveur + principal. Cette technique est appropriée pour un petit nombre d'hôtes + virtuels, mais si ce nombre est important, elle peut devenir compliquée à + gérer. En outre, des problèmes de nombre de descripteurs + de fichiers insuffisant peuvent rapidement apparaître.

+ +

Il existe un très bon compromis pour le journal des accès. En intégrant + les informations à propos de l'hôte virtuel à la chaîne de format du + journal, il est possible de journaliser tous les hôtes dans le même + journal, puis de séparer ultérieurement le journal en plusieurs journaux + individuels. Considérons par exemple les directives suivantes :

+ +
LogFormat "%v %l %u %t \"%r\" %>s %b" comonvhost
+CustomLog logs/access_log comonvhost
+ + +

Le champ %v sert à enregistrer le nom de l'hôte virtuel qui + traite la requête. Un programme tel que split-logfile peut ensuite être utilisé + pour générer "à froid" autant de journaux que d'hôtes virtuels.

+
top
+
+

Autres fichiers journaux

+ + + + +

Enregistrement du nombre réel d'octets envoyés et reçus

+ + +

Le module mod_logio fournit deux champs + LogFormat supplémentaires + (%I et %O) qui permettent d'enregistrer le nombre réel d'octets reçus et + envoyés sur le réseau.

+ + +

Journalisation de style investigation judiciaire (forensic logging)

+ + +

Le module mod_log_forensic permet la journalisation + à des fins d'investigation judiciaire des requêtes des clients. La + journalisation est effectuée avant et après le traitement de la requête, + qui fait donc l'objet de deux entrées dans le journal. Le générateur de + journaux d'investigation est très strict et ne permet aucune + personnalisation. C'est un inestimable outil de débogage et de sécurité.

+ + +

Fichier PID

+ + +

Au démarrage, le démon httpd Apache enregistre l'identifiant du + processus httpd parent dans le fichier logs/httpd.pid. + Le nom de ce fichier peut être modifié à l'aide de la directive + PidFile. Cet identifiant + permet à l'administrateur de redémarrer et arrêter le démon en + envoyant des signaux au processus parent ; sous Windows, vous devez + utiliser l'option de ligne de commande -k. Pour plus de détails, + consulter la page Arrêt et redémarrage.

+ + +

Journal des scripts

+ + +

Afin de faciliter le débogage, la directive + ScriptLog vous permet + d'enregistrer les entrées et sorties des scripts CGI. Elle ne doit être + utilisée que pendant la phase de test, et en aucun cas sur un + serveur en production. Vous trouverez plus d'informations dans la + documentation du module mod_cgi.

+ + +
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/logs.html.ja.utf8 b/docs/manual/logs.html.ja.utf8 new file mode 100644 index 0000000..f129093 --- /dev/null +++ b/docs/manual/logs.html.ja.utf8 @@ -0,0 +1,604 @@ + + + + + +ログファイル - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

ログファイル

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ウェブサーãƒã‚’効果的ã«ç®¡ç†ã™ã‚‹ãŸã‚ã«ã¯ã€ã‚µãƒ¼ãƒã®æ´»å‹•ã‚„パフォーマンス〠+ 今発生ã—ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œãªã„å•é¡Œã«é–¢ã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ‰ãƒãƒƒã‚¯ã‚’å¾—ã‚‹ã“ã¨ãŒå¿…è¦ã§ã™ã€‚ + Apache HTTP サーãƒã«ã¯éžå¸¸ã«åŒ…括的ã§æŸ”軟ãªãƒ­ã‚®ãƒ³ã‚°æ©Ÿèƒ½ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®æ–‡æ›¸ã¯ãƒ­ã‚®ãƒ³ã‚°æ©Ÿèƒ½ã®è¨­å®šã®ä»•æ–¹ã¨ã€ãƒ­ã‚°ã«ä½•ãŒæ›¸ã‹ã‚Œã¦ã„ã‚‹ã‹ã‚’ + ç†è§£ã™ã‚‹ãŸã‚ã®æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚

+
+ +
top
+
+

+ セキュリティã«é–¢ã™ã‚‹è­¦å‘Š

+ +

Apache ãŒãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã„ã¦ã„るディレクトリã«æ›¸ãè¾¼ã‚る人ã¯ã€ + ã»ã¼ç¢ºå®Ÿã«ã‚µãƒ¼ãƒãŒèµ·å‹•ã•ã‚ŒãŸ uid ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’手ã«å…¥ã‚Œã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ãã—ã¦ã€ãã‚Œã¯é€šå¸¸ã¯ root ユーザã§ã™ã€‚ + ã¡ã‚ƒã‚“ã¨çµæžœã‚’考ãˆã‚‹ã“ã¨ãªãã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ã® + 書ãè¾¼ã¿æ¨©é™ã‚’与ãˆãªã„ã§ãã ã•ã„。詳ã—ã㯠+ セキュリティã®ã“ã¤ã®æ–‡æ›¸ã‚’ + 読んã§ãã ã•ã„。

+ +

加ãˆã¦ã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®æƒ…å ±ãŒãã®ã¾ã¾ã€ + エスケープã•ã‚Œã‚‹ã“ã¨ãªã書ã‹ã‚Œã¦ã„ã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€æ‚ªæ„ã®ã‚ã‚‹ + クライアントãŒãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«åˆ¶å¾¡æ–‡å­—を挿入ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 生ã®ãƒ­ã‚°ã‚’扱ã†ã¨ãã¯æ³¨æ„ã—ã¦ãã ã•ã„。

+
top
+
+

エラーログ

+ + + +

ErrorLog ディレクティブã«ã‚ˆã‚Š + åå‰ã¨å ´æ‰€ãŒæ±ºã¾ã‚‹ã‚µãƒ¼ãƒã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã¯ã€ä¸€ç•ªé‡è¦ãªãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚ + Apache ã®è¨ºæ–­æƒ…å ±ã¯ã“ã“ã«é€ã‚‰ã‚Œã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã—ã¦ã„ã‚‹ã¨ãã« + 発生ã—ãŸã‚¨ãƒ©ãƒ¼ã¯ã™ã¹ã¦ã“ã“ã«è¨˜éŒ²ã•ã‚Œã¾ã™ã€‚サーãƒã‚’èµ·å‹•ã—ãŸã¨ãや〠+ サーãƒã®å‹•ä½œã«å•é¡ŒãŒèµ·ã“ã£ãŸã¨ãã¯ã€ä¸€ç•ªæœ€åˆã«èª¿ã¹ã‚‹ã¹ã + ã¨ã“ã‚ã§ã™ã€‚é–“é•ã„ã®è©³ç´°ã‚„修正方法ãŒãã“ã«æ›¸ã‹ã‚Œã¦ã„ã‚‹ã“ã¨ãŒ + よãã‚ã‚Šã¾ã™ã€‚

+ +

エラーログã¯æ™®é€šã¯ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã‹ã‚Œã¾ã™ (通常 Unix システムã§ã¯ + error_logã€Windows 㨠OS/2 ã§ã¯ error.log)。 + Unix システムã§ã¯ã‚¨ãƒ©ãƒ¼ã‚’ syslog ã‚„ + パイプã§ãƒ—ログラムã«é€ã‚‹ ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

エラーログã®æ›¸å¼ã¯æ¯”較的自由度ã®é«˜ã„ã‚‚ã®ã§ã€èª¬æ˜Žçš„ã«æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚ + ãŸã ã—ã€ã„ãã¤ã‹ã®æƒ…å ±ã¯ã»ã¨ã‚“ã©ã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã®ã‚¨ãƒ³ãƒˆãƒªã«ã‚ã‚Šã¾ã™ã€‚ + 例ãˆã°ã€ä»£è¡¨çš„ãªã‚‚ã®ã«æ¬¡ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒã‚ã‚Šã¾ã™ã€‚

+ +

+ [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] + client denied by server configuration: + /export/home/live/ap/htdocs/test +

+ +

ログエントリã®æœ€åˆã®é …ç›®ã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æ—¥ä»˜ã¨æ™‚刻ã§ã™ã€‚ + 二ã¤ã‚ã®é …ç›®ã¯å ±å‘Šã•ã‚Œã¦ã„るエラーã®é‡è¦åº¦ã§ã™ã€‚ + LogLevel ã§é‡è¦åº¦ã®ãƒ¬ãƒ™ãƒ«ã‚’ + 制é™ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«é€ã‚‰ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ã®ç¨®é¡žã‚’制御ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚三ã¤ç›®ã®é …ç›®ã¯ã‚¨ãƒ©ãƒ¼ã‚’発生ã•ã›ãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã® IP アドレス + ã§ã™ã€‚残りã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ã€ã“ã®å ´åˆã¯ã‚µãƒ¼ãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’ + æ‹’å¦ã™ã‚‹ã‚ˆã†ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã€ã¨ã„ã†ã“ã¨ã‚’示ã—ã¦ã„ã¾ã™ã€‚ + サーãƒã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸæ–‡æ›¸ã® (ウェブã®ãƒ‘スã§ã¯ãªã) ファイルシステム㮠+ パスを報告ã—ã¾ã™ã€‚

+ +

éžå¸¸ã«åºƒç¯„囲ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ç¾ã‚Œã¾ã™ã€‚ãŸã„ã¦ã„ã®ã‚‚ã®ã¯ + 上ã®ä¾‹ã®ã‚ˆã†ãªæ„Ÿã˜ã§ã™ã€‚エラーログã«ã¯ CGI スクリプトã®ãƒ‡ãƒãƒƒã‚° + 出力も書ã‹ã‚Œã¾ã™ã€‚CGI スクリプト㌠stderr ã«æ›¸ã„㟠+ ã™ã¹ã¦ã®æƒ…å ±ã¯ç›´æŽ¥ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚

+ +

情報を追加ã—ãŸã‚Šå‰Šé™¤ã—ãŸã‚Šã—ã¦ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã‚’カスタマイズã™ã‚‹ã“ã¨ã¯ + ã§ãã¾ã›ã‚“。ã—ã‹ã—ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã®ã‚¨ãƒ³ãƒˆãƒªã¯ã€ + 対応ã™ã‚‹ã‚¨ãƒ³ãƒˆãƒªãŒã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã«ã‚ã‚Šã¾ã™ã€‚ + 例ãˆã°ã€ä¸Šã®ä¾‹ã®ã‚¨ãƒ³ãƒˆãƒªã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ 403 ã® + エントリã«å¯¾å¿œã—ã¾ã™ã€‚アクセスログã¯ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºå¯èƒ½ã§ã™ã®ã§ã€ + ãã¡ã‚‰ã‚’使ã†ã“ã¨ã«ã‚ˆã‚Šã‚¨ãƒ©ãƒ¼ã®çŠ¶æ³ã«é–¢ã™ã‚‹æƒ…報をより多ã + 手ã«å…¥ã‚Œã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

テストã®æœ€ä¸­ã¯ã€å•é¡ŒãŒç™ºç”Ÿã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’見るãŸã‚ã«ã€ + 常ã«ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã‚’監視ã™ã‚‹ã®ãŒå½¹ã«ç«‹ã¤å ´åˆãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚ + Unix システムã§ã¯ã€æ¬¡ã®ã‚‚ã®ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

+ tail -f error_log +

+
top
+
+

アクセスログ

+ + + + +

サーãƒã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã¯ã‚µãƒ¼ãƒãŒå‡¦ç†ã‚’ã—ãŸã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + 記録ã—ã¾ã™ã€‚アクセスログã®å ´æ‰€ã¨å†…容㯠CustomLog + ディレクティブã«ã‚ˆã‚Šæ±ºã¾ã‚Šã¾ã™ã€‚ログã®å†…容ã®é¸æŠžã‚’ç°¡æ½”ã«ã™ã‚‹ãŸã‚ã« + LogFormat + ディレクティブを使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã« + 情報を記録ã™ã‚‹ãŸã‚ã®ã‚µãƒ¼ãƒã®è¨­å®šæ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚

+ +

ã‚‚ã¡ã‚ã‚“ã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã«æƒ…報を蓄ç©ã™ã‚‹ã“ã¨ã¯ãƒ­ã‚°ç®¡ç†ã® + 始ã¾ã‚Šã«éŽãŽã¾ã›ã‚“。次ã®æ®µéšŽã¯æœ‰ç”¨ãªçµ±è¨ˆã‚’å–ã‚‹ãŸã‚ã«ã“ã®æƒ…報を + 解æžã™ã‚‹ã“ã¨ã§ã™ã€‚一般的ãªãƒ­ã‚°è§£æžã¯ã“ã®æ–‡æ›¸ã®ç¯„囲外ã§ã€ + ウェブサーãƒè‡ªèº«ã®ä»•äº‹ã¨ã„ã†ã‚ã‘ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。ã“ã®è©±ã‚„〠+ ログ解æžã‚’è¡Œãªã†ã‚¢ãƒ—リケーションã®æƒ…報を得るã«ã¯ã€ + Open Directory を調ã¹ã¦ãã ã•ã„。

+ +

ã„ã‚ã‚“ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Apache httpd ㌠mod_log_config, + mod_log_agent, TransferLog ディレクティブã¨ã„ã£ãŸã€ + ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚„ディレクティブを使ã£ã¦ã‚¢ã‚¯ã‚»ã‚¹ã®ãƒ­ã‚®ãƒ³ã‚°ã‚’ + 制御ã—ã¦ãã¾ã—ãŸã€‚今ã§ã¯ã€CustomLog ãŒã™ã¹ã¦ã®å¤ã„ + ディレクティブã®æ©Ÿèƒ½ã‚’å«ã‚€ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚

+ +

アクセスログã®æ›¸å¼ã¯éžå¸¸ã«æŸ”軟ãªè¨­å®šãŒå¯èƒ½ã§ã™ã€‚ + 書å¼ã¯ C ã® printf(1) フォーマット文字列ã«éžå¸¸ã«ä¼¼ãŸ + フォーマット文字列 + ã«ã‚ˆã‚ŠæŒ‡å®šã•ã‚Œã¾ã™ã€‚ã„ãã¤ã‹æ¬¡ã®ç¯€ã§ä¾‹ã‚’示ã—ã¾ã™ã€‚ + フォーマット文字列ã«ä½¿ç”¨ã§ãる内容ã®ä¸€è¦§ã¯ mod_log_config ã®æ–‡æ›¸ + を見ã¦ãã ã•ã„。

+ +

Common Log Format

+ + +

アクセスログã®ã‚ˆãã‚る設定ã«ä»¥ä¸‹ã®ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚

+ +

+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common +

+ +

ã“ã‚Œã¯ã€ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ  common を定義ã—〠+ ログã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å­—列ã®ä¸€ã¤ã¨é–¢é€£ä»˜ã‘ã¾ã™ã€‚フォーマット文字列㯠+ パーセントディレクティブã‹ã‚‰ãªã‚Šã€ãã‚Œãžã‚Œã®ãƒ‘ーセントディレクティブ㯠+ サーãƒã«ã©ã®æƒ…報をロギングã™ã‚‹ã‹ã‚’指示ã—ã¾ã™ã€‚フォーマット文字列㫠+ 文字をãã®ã¾ã¾å…¥ã‚Œã‚‹ã“ã¨ã‚‚ã§ãã€ãれらã¯ãƒ­ã‚°ã®å‡ºåŠ›ã«ç›´æŽ¥ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ + ãã“ã«å¼•ç”¨æ–‡å­— (") を書ãã¨ãã¯ã€ + フォーマット文字列ã®æœ€å¾Œã¨ã—ã¦è§£é‡ˆ + ã•ã‚Œã‚‹ã“ã¨ã‚’防ããŸã‚ã«ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + フォーマット文字列ã«ã¯æ”¹è¡Œç”¨ã® "\n"ã€ã‚¿ãƒ–用㮠+ "\t" ã¨ã„ã†ç‰¹åˆ¥ãªåˆ¶å¾¡æ–‡å­—ã‚‚å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

CustomLog ディレクティブ㯠+ æ—¢ã«å®šç¾©ã•ã‚ŒãŸ + ニックãƒãƒ¼ãƒ  を使ã£ã¦æ–°ã—ã„ログファイルを設定ã—ã¾ã™ã€‚ + アクセスログã®ãƒ•ã‚¡ã‚¤ãƒ«åã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§å§‹ã¾ã‚‰ãªã„é™ã‚Šã€ + ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—㦠+ 扱ã‚ã‚Œã¾ã™ã€‚

+ +

上ã®è¨­å®šã¯ Common Log Format (CLF) ã¨å‘¼ã°ã‚Œã‚‹å½¢å¼ã§ + ログエントリを書ãã¾ã™ã€‚ã“ã®æ¨™æº–ã®å½¢å¼ã¯ç•°ãªã‚‹ã‚¦ã‚§ãƒ–サーãƒã®å¤šã㌠+ 生æˆã™ã‚‹ã“ã¨ãŒã§ãã€å¤šãã®ãƒ­ã‚°è§£æžãƒ—ログラムãŒèª­ã¿ã“ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚ + CLF ã«ã‚ˆã‚Šç”Ÿæˆã•ã‚ŒãŸãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¨ãƒ³ãƒˆãƒªã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 +

+ +

ã“ã®ãƒ­ã‚°ã‚¨ãƒ³ãƒˆãƒªã®ãã‚Œãžã‚Œã®éƒ¨åˆ†ã®æ„味ã¯ä»¥ä¸‹ã§èª¬æ˜Žã—ã¾ã™ã€‚

+ +
+
127.0.0.1 (%h)
+ +
ã“ã‚Œã¯ã‚µãƒ¼ãƒã¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã—ãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ (リモートホスト) + ã® IP アドレスã§ã™ã€‚HostnameLookups ㌠+ On ã®å ´åˆã¯ã€ã‚µãƒ¼ãƒã¯ãƒ›ã‚¹ãƒˆåを調ã¹ã¦ã€ + IP アドレスãŒæ›¸ã‹ã‚Œã¦ã„ã‚‹ã¨ã“ã‚ã«è¨˜éŒ²ã—ã¾ã™ã€‚ã—ã‹ã—ã€ã“ã®è¨­å®šã¯ + サーãƒã‚’ã‹ãªã‚Šé…ãã™ã‚‹ã®ã§ã€ã‚ã¾ã‚ŠãŠå‹§ã‚ã§ãã¾ã›ã‚“。 + ãã†ã§ã¯ãªãã€logresolve ã® + よã†ãªãƒ­ã‚°ã®å¾Œå‡¦ç†ã‚’è¡Œãªã†ãƒ—ログラムã§ãƒ›ã‚¹ãƒˆåを調ã¹ã‚‹ã®ãŒè‰¯ã„ã§ã—ょã†ã€‚ + ã“ã“ã«å ±å‘Šã•ã‚Œã‚‹ IP アドレスã¯å¿…ãšã—もユーザãŒä½¿ã£ã¦ã„るマシン㮠+ ã‚‚ã®ã§ã‚ã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“。ユーザã¨ã‚µãƒ¼ãƒã®é–“ã«ãƒ—ロキシサーãƒãŒ + ã‚ã‚Œã°ã€ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯å…ƒã®ãƒžã‚·ãƒ³ã®ã‚‚ã®ã§ã¯ãªãã€ãƒ—ロキシ㮠+ アドレスã«ãªã‚Šã¾ã™ã€‚
+ +
- (%l)
+ +
出力中ã®ã€Œãƒã‚¤ãƒ•ãƒ³ã€ã¯è¦æ±‚ã•ã‚ŒãŸæƒ…å ±ãŒæ‰‹ã«å…¥ã‚‰ãªã‹ã£ãŸã¨ã„ã†ã“ã¨ã‚’ + æ„味ã—ã¾ã™ã€‚ã“ã®å ´åˆã€å–å¾—ã§ããªã‹ã£ãŸæƒ…å ±ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒžã‚·ãƒ³ã® + identd ã«ã‚ˆã‚Šæ±ºã¾ã‚‹ RFC 1413 ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã® + アイデンティティã§ã™ã€‚ã“ã®æƒ…å ±ã¯ã‚ã¾ã‚Šä¿¡ç”¨ã™ã‚‹ã“ã¨ãŒã§ããšã€ + ã—ã£ã‹ã‚Šã¨ç®¡ç†ã•ã‚ŒãŸå†…部ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’除ã„ã¦ã¯ä½¿ã†ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + Apache 㯠IdentityCheck ㌠+ On ã«ãªã£ã¦ã„ãªã„é™ã‚Šã€ã“ã®æƒ…報を得よã†ã¨ã™ã‚‰ã—ã¾ã›ã‚“。
+ +
frank (%u)
+ +
ã“れ㯠HTTP èªè¨¼ã«ã‚ˆã‚‹ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’リクエストã—ãŸäººã® + ユーザ ID ã§ã™ã€‚CGI スクリプトã«ã¯é€šå¸¸åŒã˜å€¤ãŒ REMOTE_USER + 環境変数ã¨ã—ã¦ä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚リクエストã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ + (以下をå‚ç…§) ㌠401 ã§ã‚ã£ãŸå ´åˆã¯ã€ãƒ¦ãƒ¼ã‚¶ã¯èªè¨¼ã«å¤±æ•—ã—ã¦ã„ã‚‹ã®ã§ã€ + ã“ã®å€¤ã¯ä¿¡ç”¨ã§ãã¾ã›ã‚“。ドキュメントãŒãƒ‘スワードã§ä¿è­·ã•ã‚Œã¦ã„ãªã„ + å ´åˆã¯ã€ã“ã®éƒ¨åˆ†ã¯å‰ã®ã‚‚ã®ã¨åŒã˜ã‚ˆã†ã« "-" ã« + ãªã‚Šã¾ã™ã€‚
+ +
[10/Oct/2000:13:55:36 -0700] + (%t)
+ +
+ サーãƒãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã£ãŸæ™‚刻ã§ã™ã€‚書å¼ã¯: + +

+ [day/month/year:hour:minute:second zone]
+ day = 2*digit
+ month = 3*letter
+ year = 4*digit
+ hour = 2*digit
+ minute = 2*digit
+ second = 2*digit
+ zone = (`+' | `-') 4*digit
+

+ ログã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å­—列㫠%{format}t ã‚’ + 指定ã™ã‚‹ã“ã¨ã§ã€åˆ¥ã®å½¢å¼ã§æ™‚刻を表示ã•ã›ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + ã“ã®ã¨ãã€format 㯠C ã®æ¨™æº–ライブラリ㮠+ strftime(3) ã®å½¢å¼ã«ãªã‚Šã¾ã™ã€‚ +
+ +
"GET /apache_pb.gif HTTP/1.0" + (\"%r\")
+ +
クライアントã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒäºŒé‡å¼•ç”¨ç¬¦ã®ä¸­ã«ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ + リクエストã«ã¯å¤šãã®æœ‰ç”¨ãªæƒ…å ±ãŒã‚ã‚Šã¾ã™ã€‚ã¾ãšã€ã“ã®å ´åˆã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ + 使ã£ãŸãƒ¡ã‚½ãƒƒãƒ‰ã¯ GET ã§ã™ã€‚次ã«ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ + リソース /apache_pb.gif ã‚’è¦æ±‚ã—ã¾ã—ãŸã€‚ãã—ã¦ã€ + クライアントã¯ãƒ—ロトコル HTTP/1.0 を使用ã—ã¾ã—ãŸã€‚ + リクエストã®å„部分を独立ã«ãƒ­ã‚°åŽé›†ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚例ãˆã°ã€ + フォーマット文字列 "%m %U%q %H" 㯠+ メソッドã€ãƒ‘スã€ã‚¯ã‚¨ãƒªæ–‡å­—列ã€ãƒ—ロトコルをログåŽé›†ã—〠+ çµå±€ "%r" ã¨ã¾ã£ãŸãåŒã˜å‡ºåŠ›ã«ãªã‚Šã¾ã™ã€‚
+ +
200 (%>s)
+ +
サーãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚Šè¿”ã™ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã§ã™ã€‚ + ã“ã®æƒ…å ±ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæˆåŠŸå¿œç­” (2 ã§å§‹ã¾ã‚‹ã‚³ãƒ¼ãƒ‰) ã§ã‚ã£ãŸã‹ã€ + リダイレクション (3 ã§å§‹ã¾ã‚‹ã‚³ãƒ¼ãƒ‰) ã§ã‚ã£ãŸã‹ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã‚ˆã‚‹ + エラー (4 ã§å§‹ã¾ã‚‹ã‚³ãƒ¼ãƒ‰) ã§ã‚ã£ãŸã‹ã€ã‚µãƒ¼ãƒã®ã‚¨ãƒ©ãƒ¼ (5 ã§å§‹ã¾ã‚‹ã‚³ãƒ¼ãƒ‰) + ã§ã‚ã£ãŸã‹ã€ã‚’表ã™ã®ã§ã€éžå¸¸ã«å¤§åˆ‡ã§ã™ã€‚ステータスコード㮠+ 完全ãªãƒªã‚¹ãƒˆã¯ HTTP + è¦æ ¼ (RFC2616 第 10 節) ã«ã‚ã‚Šã¾ã™ã€‚
+ +
2326 (%b)
+ +
ã“ã®æœ€å¾Œã®éƒ¨åˆ†ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ä¿¡ã•ã‚ŒãŸã‚ªãƒ–ジェクトã®ã€ + 応答ヘッダを除ã„ãŸã‚µã‚¤ã‚ºã‚’表ã—ã¾ã™ã€‚コンテントãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‰ã‚Œãªã‹ã£ãŸ + å ´åˆã¯ã€ã“ã®å€¤ã¯ "-" ã«ãªã‚Šã¾ã™ã€‚コンテントãŒç„¡ã„å ´åˆã« + "0" をログåŽé›†ã™ã‚‹ã«ã¯ã€%b ã§ã¯ãªã + %B を使ã£ã¦ãã ã•ã„。
+ +
+ + +

Combined Log Format

+ + +

ã‚‚ã†ä¸€ã¤ã®ã‚ˆã使ã‚れる書å¼ã¯ Combined Log Format ã¨å‘¼ã°ã‚Œã¦ã„ã¾ã™ã€‚ + 以下ã®ã‚ˆã†ã«ã—ã¦ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\"" combined
+ CustomLog log/access_log combined +

+ +

ã“ã®æ›¸å¼ã®æœ€åˆã®æ–¹ã¯ Common Log Format ã¨ã¾ã£ãŸãåŒã˜ã§ã€æœ€å¾Œã« + 二ã¤è¿½åŠ ã®ã‚¨ãƒ³ãƒˆãƒªãŒã‚ã‚Šã¾ã™ã€‚追加ã®ã‚¨ãƒ³ãƒˆãƒªã¯ãƒ‘ーセントディレクティブ + %{header}i を使ã£ã¦ã„ã¾ã™ã€‚ã“ã“㧠+ header 㯠HTTP ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã®ã©ã‚Œã‹ã§ã™ã€‚ã“ã®æ›¸å¼ã«ã‚ˆã‚‹ + アクセスログã¯ä»¥ä¸‹ã®ã‚ˆã†ãªæ„Ÿã˜ã«ãªã‚Šã¾ã™:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + "http://www.example.com/start.html" "Mozilla/4.08 [en] + (Win98; I ;Nav)" +

+ +

追加ã®ã‚¨ãƒ³ãƒˆãƒªã¯:

+ +
+
"http://www.example.com/start.html" + (\"%{Referer}i\")
+ +
"Referer" (æ„図的ãªç¶´ã‚Šé–“é•ã„) HTTP リクエストヘッダã§ã™ã€‚ + ã“ã‚Œã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒå ±å‘Šã—ã¦ãã‚‹å‚照元ã®ã‚µã‚¤ãƒˆã‚’表ã—ã¾ã™ã€‚ + (ã“ã®å ´åˆã¯ã€/apache_pb.gif ã«ãƒªãƒ³ã‚¯ã—ã¦ã„ã‚‹ã‹ã€ + ãれをå«ã‚“ã§ã„るページã§ã™)。
+ +
"Mozilla/4.08 [en] (Win98; I ;Nav)" + (\"%{User-agent}i\")
+ +
User-Agent HTTP リクエストヘッダã§ã™ã€‚ã“ã‚Œã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒ–ラウザ㌠+ 自分自身ã®ã“ã¨ã‚’報告ã—ã¦ãる情報ã§ã™ã€‚
+
+ + +

複数ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°

+ + +

複数ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã¯å˜ã«è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«è¤‡æ•°ã® CustomLog + ディレクティブを書ãã“ã¨ã§ä½œæˆã•ã‚Œã¾ã™ã€‚例ãˆã°ã€ä»¥ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ 三ã¤ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã‚’作りã¾ã™ã€‚最åˆã®ã‚‚ã®ã¯åŸºæœ¬çš„㪠CLF ã®æƒ…å ±ã§ã€ + 二ã¤ç›®ã¨ä¸‰ã¤ç›®ã¯ referer ã¨ãƒ–ラウザã®æƒ…å ±ã§ã™ã€‚最後二ã¤ã® + CustomLog 㯠+ ReferLog ディレクティブ㨠+ AgentLog ディレクティブã®åŠ¹æžœã‚’ã¾ã­ã‚‹æ–¹æ³•ã‚’示ã—ã¦ã„ã¾ã™ã€‚

+ +

+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common
+ CustomLog logs/referer_log "%{Referer}i -> %U"
+ CustomLog logs/agent_log "%{User-agent}i" +

+ +

ã“ã®ä¾‹ã¯ LogFormat 㧠+ ニックãƒãƒ¼ãƒ ã‚’定義ã™ã‚‹å¿…è¦ãŒãªã„〠+ ã¨ã„ã†ã“ã¨ã‚‚示ã—ã¦ã„ã¾ã™ã€‚ニックãƒãƒ¼ãƒ ã®ä»£ã‚ã‚Šã«ã€ + CustomLog ディレクティブ㫠+ 直接ログã®æ›¸å¼ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ + +

æ¡ä»¶ä»˜ãログ

+ + +

クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ç‰¹å¾´ã«åŸºã¥ã„ã¦ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã«ã‚¨ãƒ³ãƒˆãƒªã® + 一部をロギングã—ãªã„æ–¹ãŒä¾¿åˆ©ãªã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ã“れ㯠環境変数 ã®è£œåŠ©ã«ã‚ˆã‚Šç°¡å˜ã«å®Ÿç¾ã§ãã¾ã™ã€‚ã¾ãšã€ + リクエストãŒä½•ã‚‰ã‹ã®æ¡ä»¶ã«åˆã†ã¨ã„ã†ã“ã¨ã‚’表ã™ãŸã‚ã«ç’°å¢ƒå¤‰æ•°ãŒ + 設定ã•ã‚Œã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã“ã‚Œã¯é€šå¸¸ã¯ SetEnvIf ã«ã‚ˆã‚Š + è¡Œãªã‚ã‚Œã¾ã™ã€‚ãã—ã¦ã€CustomLog ディレクティブ㮠+ env= 節を使ã£ã¦ç’°å¢ƒå¤‰æ•°ãŒè¨­å®šã•ã‚Œã¦ã„るリクエストを + å«ã‚ãŸã‚ŠæŽ’除ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã„ãã¤ã‹ä¾‹ã‚’挙ã’ã¾ã™:

+ +

+ # Mark requests from the loop-back interface
+ SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
+ # Mark requests for the robots.txt file
+ SetEnvIf Request_URI "^/robots\.txt$" dontlog
+ # Log what remains
+ CustomLog logs/access_log common env=!dontlog +

+ +

ä»–ã®ä¾‹ã¨ã—ã¦ã€è‹±èªžã‚’話ã™äººã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨ãれ以外ã®äººã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + 分ã‘ãŸã„ã€ã¨ã„ã†å ´åˆã‚’考ãˆã¦ã¿ã¦ãã ã•ã„。

+ +

+ SetEnvIf Accept-Language "en" english
+ CustomLog logs/english_log common env=english
+ CustomLog logs/non_english_log common env=!english +

+ +

ã“ã“ã¾ã§ã§ã¯æ¡ä»¶ä»˜ãロギングãŒéžå¸¸ã«å¼·åŠ›ã§æŸ”軟ã§ã‚ã‚‹ã“ã¨ã‚’示ã—ã¦ãã¾ã—ãŸãŒã€ + ãã‚ŒãŒãƒ­ã‚°ã®å†…容を制御ã™ã‚‹å”¯ä¸€ã®æ–¹æ³•ã¨ã„ã†ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ログファイル㯠+ サーãƒã®æ´»å‹•ã®å®Œå…¨ãªè¨˜éŒ²ã§ã‚ã‚‹æ–¹ãŒã‚ˆã‚Šå½¹ã«ç«‹ã¡ã¾ã™ã€‚å˜ç´”ã«ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + 後処ç†ã—ã¦ã€è€ƒæ…®ã—ãŸããªã„ログを削除ã™ã‚‹æ–¹ãŒç°¡å˜ã§ã‚ã‚‹ã“ã¨ãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚

+ +
top
+
+

ログã®äº¤æ›¿

+ + +

普通ã®è² è·ã®ã‚µãƒ¼ãƒã§ã•ãˆã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã•ã‚Œã‚‹æƒ…å ±ã®é‡ã¯ + 膨大ã«ãªã‚Šã¾ã™ã€‚アクセスログã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ™®é€š 10,000 リクエスト毎㫠+ 1 MB 以上増ãˆã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€æ—¢å­˜ã®ãƒ­ã‚°ã‚’移動ã—ãŸã‚Šã€å‰Šé™¤ã—ãŸã‚Šã—ã¦ã€ + 定期的ã«ãƒ­ã‚°ã‚’交替ã•ã›ã‚‹ã“ã¨ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã‚µãƒ¼ãƒã®å®Ÿè¡Œä¸­ã«ã¯ + è¡Œãªãˆã¾ã›ã‚“。ã¨ã„ã†ã®ã¯ã€Apache ã¯ãƒ•ã‚¡ã‚¤ãƒ«ãŒ open ã•ã‚Œã¦ã„る間㯠+ ãšã£ã¨å¤ã„ログファイルã«æ›¸ã続ã‘ã‚‹ã‹ã‚‰ã§ã™ã€‚ + æ–°ã—ã„ログファイルを open ã§ãるよã†ã«ã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ãŒç§»å‹•ã•ã‚ŒãŸã‚Š + 削除ã•ã‚ŒãŸå¾Œã«ã€ã‚µãƒ¼ãƒã‚’å†èµ·å‹•ã™ã‚‹ + å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

優雅㪠å†èµ·å‹•ã‚’è¡Œãªã†ã“ã¨ã§ã€ã‚µãƒ¼ãƒã¯æ—¢å­˜ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚„ + 処ç†å¾…ã¡ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’失ã†ã“ã¨ãªãæ–°ã—ã„ログファイルを open ã•ã›ã‚‹ + ã“ã¨ãŒã§ãã¾ã™ã€‚ã—ã‹ã—ã€ã“れを実ç¾ã™ã‚‹ãŸã‚ã«ã€ã‚µãƒ¼ãƒã¯å¤ã„リクエストを + 扱ã£ã¦ã„ã‚‹é–“ã¯å¤ã„ログファイルã«æ›¸ã続ã‘ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€å†èµ·å‹•ã®å¾Œã§ã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®å‡¦ç†ã‚’始ã‚ã‚‹å‰ã«ã€ã—ã°ã‚‰ãå¾…ãŸãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。å˜ã«ãƒ­ã‚°ã‚’交替ã•ã›ã¦ã€ãƒ‡ã‚£ã‚¹ã‚¯ã®ç¯€ç´„ã®ãŸã‚ã«å¤ã„ログを + 圧縮ã™ã‚‹æ™®é€šã®ã‚·ãƒŠãƒªã‚ªã¯:

+ +

+ mv access_log access_log.old
+ mv error_log error_log.old
+ apachectl graceful
+ sleep 600
+ gzip access_log.old error_log.old +

+ +

ログã®äº¤æ›¿ã‚’ã™ã‚‹ã‚‚ã†ä¸€ã¤ã®æ–¹æ³•ã¯ãƒ‘イプ経由ã®ãƒ­ã‚°ã‚’使ã†ã‚‚ã®ã§ã€æ¬¡ã®ç¯€ã§èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚

+
top
+
+

パイプ経由ã®ãƒ­ã‚°

+ + +

Apache httpd ã¯ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã¨ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã‚’ファイルã«ç›´æŽ¥æ›¸ã代ã‚ã‚Šã«ã€ + パイプを通ã—ã¦åˆ¥ã®ãƒ—ログラムã«æ›¸ã出ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã«ã‚ˆã‚Šã€ä¸»ã‚µãƒ¼ãƒã«ã‚³ãƒ¼ãƒ‰ã‚’追加ã™ã‚‹ã“ã¨ãªã + ロギングã®æŸ”軟性ãŒéžå¸¸ã«é«˜ã¾ã£ã¦ã„ã¾ã™ã€‚パイプã«ãƒ­ã‚°ã‚’書ããŸã‚ã«ã¯ã€ + å˜ã«ãƒ•ã‚¡ã‚¤ãƒ«åをパイプ文字 "|" ã«ç½®ãæ›ãˆã€ãã®ç¶šãã« + 標準入力ã‹ã‚‰ãƒ­ã‚°ã®ã‚¨ãƒ³ãƒˆãƒªã‚’å—ã‘ã¨ã‚‹å®Ÿè¡Œãƒ—ログラムã®åå‰ã‚’書ãã ã‘ã§ã™ã€‚ + Apache ã¯ãƒ‘イプ経由ã®ãƒ­ã‚°ç”¨ã®ãƒ—ロセスをサーãƒã®èµ·å‹•æ™‚ã«å®Ÿè¡Œã—〠+ サーãƒã®å®Ÿè¡Œä¸­ã«ãã®ãƒ—ログラムãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã—ãŸã¨ãã¯ãれをå†ã³ + 実行ã—ã¾ã™ã€‚(ã“ã®æœ€å¾Œã®æ©Ÿèƒ½ãŒã“ã®æŠ€è¡“ãŒã€Œä¿¡é ¼æ€§ã®ã‚るパイプ経由ã®ãƒ­ã‚®ãƒ³ã‚°ã€ + ã¨å‘¼ã°ã‚Œã¦ã„ã‚‹ç†ç”±ã§ã™ã€‚)

+ +

パイプ経由ã®ãƒ­ã‚°ç”¨ã®ãƒ—ロセス㯠Apache httpd ã®è¦ªãƒ—ロセスã‹ã‚‰èµ·å‹•ã•ã‚Œã€ + ãã®ãƒ—ロセスã®ãƒ¦ãƒ¼ã‚¶ ID を継承ã—ã¾ã™ã€‚ã“ã‚Œã¯ã€ãƒ‘イプ経由ã®ãƒ­ã‚°ç”¨ã® + プログラムã¯æ™®é€š root ã¨ã—ã¦å®Ÿè¡Œã•ã‚Œã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€ãƒ—ログラムを簡å˜ã§å®‰å…¨ã«ä¿ã¤ã“ã¨ãŒéžå¸¸ã«é‡è¦ã§ã™ã€‚

+ +

パイプ経由ã®ãƒ­ã‚°ã®é‡è¦ãªåˆ©ç”¨æ³•ã¯ã€ã‚µãƒ¼ãƒã®å†èµ·å‹•ãªã—ã§ãƒ­ã‚°ã®äº¤æ›¿ã‚’ + ã™ã‚‹ã“ã¨ã§ã™ã€‚Apache HTTP サーãƒã«ã¯ã“ã®ãŸã‚ã® rotatelogs ã¨å‘¼ã°ã‚Œã‚‹ç°¡å˜ãª + プログラムãŒä»˜å±žã—ã¦ã„ã¾ã™ã€‚ãŸã¨ãˆã°ã€24 時間毎ã«ãƒ­ã‚°ã‚’交替ã•ã›ã‚‹ã«ã¯ã€ + 以下ã®ã‚‚ã®ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™:

+ +

+ CustomLog "|/usr/local/apache/bin/rotatelogs + /var/log/access_log 86400" common +

+ +

パイプã®å…ˆã§å‘¼ã°ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰å…¨ä½“ãŒå¼•ç”¨ç¬¦ã§å›²ã¾ã‚Œã¦ã„ã‚‹ã“ã¨ã«æ³¨ç›®ã—㦠+ ãã ã•ã„。ã“ã®ä¾‹ã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã‚’使ã£ã¦ã„ã¾ã™ãŒã€ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ã‚‚åŒã˜æŠ€è¡“ã‚’ + 使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ä¼¼ã¦ã„ã‚‹ã‘ã‚Œã©ã€ã‚ˆã‚Šãšã£ã¨æŸ”軟㪠+ cronolog ã¨ã„ã†ãƒ­ã‚°äº¤æ›¿ç”¨ã® + プログラムãŒå¤–部ã®ã‚µã‚¤ãƒˆã«ã‚ã‚Šã¾ã™ã€‚

+ +

æ¡ä»¶ä»˜ãロギングã¨åŒæ§˜ã€ãƒ‘イプ経由ã®ãƒ­ã‚°ã¯éžå¸¸ã«å¼·åŠ›ãª + é“å…·ã§ã™ãŒã€ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã®å¾Œå‡¦ç†ã®ã‚ˆã†ãªã€ã‚ˆã‚Šç°¡å˜ãªè§£æ±ºæ–¹æ³•ãŒã‚ã‚‹ã¨ã㯠+ 使ã‚ãªã„æ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚

+
top
+
+

ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ

+ + +

多ãã® ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ ã®ã‚るサーãƒã‚’実行ã—ã¦ã„ã‚‹ + ã¨ãã¯ã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‰±ã„æ–¹ã«ã„ãã¤ã‹ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚ + ã¾ãšã€å˜ç‹¬ã®ãƒ›ã‚¹ãƒˆã®ã¿ã®ã‚µãƒ¼ãƒã¨ã¾ã£ãŸãåŒã˜ã‚ˆã†ã«ãƒ­ã‚°ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + ロギングディレクティブを主サーãƒã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã® + <VirtualHost> セクションã®å¤–ã«ç½®ãã“ã¨ã§ã€ + ã™ã¹ã¦ã®ãƒ­ã‚°ã‚’åŒã˜ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã¨ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ãƒ­ã‚°åŽé›†ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®æ‰‹æ³•ã§ã¯å€‹ã€…ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®çµ±è¨ˆã‚’ç°¡å˜ã«ã¨ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

+ +

CustomLog ã‚„ + ErrorLog ディレクティブ㌠+ <VirtualHost> ã®ä¸­ã« + ç½®ã‹ã‚ŒãŸå ´åˆã¯ã€ãã®ãƒãƒ¼ãƒãƒ£ãƒ« + ホストã¸ã®ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„エラーãŒãã“ã§æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«ã®ã¿ + ログåŽé›†ã•ã‚Œã¾ã™ã€‚ロギングディレクティブã®ãªã„ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ + ä¾ç„¶ã¨ã—ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒä¸»ã‚µãƒ¼ãƒã®ãƒ­ã‚°ã«é€ã‚‰ã‚Œã¾ã™ã€‚ã“ã®æ‰‹æ³•ã¯å°‘ãªã„ + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã—ã¦ã¯éžå¸¸ã«æœ‰ç”¨ã§ã™ãŒã€ãƒ›ã‚¹ãƒˆã®æ•°ãŒéžå¸¸ã«å¤šããªã‚‹ã¨ + 管ç†ãŒå¤§å¤‰ã«ãªã‚Šã¾ã™ã€‚ã•ã‚‰ã«ã€ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã®é™ç•Œã®å•é¡Œã‚’èµ·ã“ã™ã“ã¨ãŒ + ã‚ã‚Šã¾ã™ã€‚

+ +

アクセスログã«ã¯ã€éžå¸¸ã«è‰¯ã„妥å”案ãŒã‚ã‚Šã¾ã™ã€‚ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® + 情報をログã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å­—列ã«åŠ ãˆã‚‹ã“ã¨ã§ã€ã™ã¹ã¦ã®ãƒ›ã‚¹ãƒˆã¸ã® + リクエストをåŒã˜ãƒ­ã‚°ã«ãƒ­ã‚°åŽé›†ã—ã¦ã€å¾Œã§ãƒ­ã‚°ã‚’個々ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«åˆ†å‰²ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚ãŸã¨ãˆã°ã€ä»¥ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を見ã¦ãã ã•ã„。

+ +

+ LogFormat "%v %l %u %t \"%r\" %>s %b" + comonvhost
+ CustomLog logs/access_log comonvhost +

+ +

%v ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã£ã¦ã„ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®åå‰ã‚’ + ログåŽé›†ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚ãã—ã¦ã€split-logfile ã®ã‚ˆã†ãªãƒ—ログラムを + 使ã£ã¦ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã‚’後処ç†ã™ã‚‹ã“ã¨ã§ã€ + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆæ¯Žã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒ­ã‚°ã‚’分割ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

残念ãªãŒã‚‰ã€ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ã¯åŒæ§˜ã®æ‰‹æ³•ã¯ã‚ã‚Šã¾ã›ã‚“。ã§ã™ã‹ã‚‰ã€ + ã™ã¹ã¦ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’åŒã˜ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã®ä¸­ã«æ··ãœã‚‹ã‹ã€ + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆæ¯Žã«ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã‚’使ã†ã‹ã‚’é¸ã°ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
top
+
+

ä»–ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«

+ + + + +

実際ã«é€å—ä¿¡ã—ãŸãƒã‚¤ãƒˆæ•°ã®ãƒ­ã‚°

+ + +

mod_logio ã¯ã€ + ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§å®Ÿéš›ã«é€å—ä¿¡ã—ãŸæ•°ã‚’ログã™ã‚‹ + 二ã¤ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ (%I 㨠%O) ã‚’ + LogFormat + ディレクティブã«è¿½åŠ ã—ã¾ã™ã€‚

+ + +

Forensic ログ

+ + +

mod_log_forensic ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒªã‚¯ã‚¨ã‚¹ãƒˆã® + forensic ログをå–ã‚Šã¾ã™ã€‚ログã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆå‡¦ç†å‰ã¨å‡¦ç†å¾Œã« + è¡Œã‚ã‚Œã¾ã™ã®ã§ã€1 リクエストã«å¯¾ã—㦠2 è¡Œã®ãƒ­ã‚°ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ + forensic ロガーã¯ã¨ã¦ã‚‚厳密ã§ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã§ãã¾ã›ã‚“。 + デãƒãƒƒã‚°ã‚„セキュリティ用ã®ãƒ„ールã¨ã—ã¦æœ‰åŠ¹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ + +

PID ファイル

+ + +

起動時ã«ã€Apache ã¯è¦ª httpd プロセスã®ãƒ—ロセス ID ã‚’ + logs/httpd.pid ã«ä¿å­˜ã—ã¾ã™ã€‚ã“ã® + ファイルå㯠PidFile ディレクティブを使ã£ã¦ + 変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚プロセス ID ã¯ç®¡ç†è€…ãŒè¦ªãƒ—ロセス㫠+ シグナルをé€ã‚‹ã“ã¨ã§ãƒ‡ãƒ¼ãƒ¢ãƒ³ã‚’å†èµ·å‹•ã—ãŸã‚Šçµ‚了ã•ã›ãŸã‚Šã™ã‚‹ã¨ãã« + 使用ã—ã¾ã™ã€‚Windows ã§ã¯ã€ä»£ã‚ã‚Šã« -k コマンドオプションを + 使ã£ã¦ãã ã•ã„。詳ã—ã„情報㯠終了㨠+ å†èµ·å‹• ã®ãƒšãƒ¼ã‚¸ã‚’見ã¦ãã ã•ã„。

+ + +

スクリプトログ

+ + +

デãƒãƒƒã‚°ã®è£œåŠ©ã®ãŸã‚ã«ã€ScriptLog ディレクティブ㯠+ CGI スクリプトã®å…¥åŠ›ã¨å‡ºåŠ›ã‚’記録ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚ + ã“ã‚Œã¯ãƒ†ã‚¹ãƒˆç”¨ã«ã®ã¿ä½¿ç”¨ã—ã¦ã€é€šå¸¸ã®ã‚µãƒ¼ãƒã§ã¯ä½¿ç”¨ã—ãªã„ã§ãã ã•ã„。 + 詳ã—ã„情報㯠mod_cgi ã®æ–‡æ›¸ ã«ã‚ã‚Šã¾ã™ã€‚

+ + +

リライトログ

+ + +

mod_rewrite ã®å¼·åŠ›ã§ + 複雑ãªæ©Ÿèƒ½ã‚’ + 使ã£ã¦ã„ã‚‹ã¨ãã¯ã€ã»ã¼ã„ã¤ã‚‚デãƒãƒƒã‚°ã‚’ç°¡å˜ã«ã™ã‚‹ãŸã‚ã« + RewriteLog ã®ä½¿ç”¨ãŒ + å¿…è¦ã§ã—ょã†ã€‚ã“ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ãƒªãƒ©ã‚¤ãƒˆã‚¨ãƒ³ã‚¸ãƒ³ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + 書ãæ›ãˆã‚‹æ–¹æ³•ã®è©³ç´°ãªè§£æžãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚詳ã—ã•ã®åº¦åˆã¯ RewriteLogLevel + ã§åˆ¶å¾¡ã§ãã¾ã™ã€‚

+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/logs.html.ko.euc-kr b/docs/manual/logs.html.ko.euc-kr new file mode 100644 index 0000000..2550d79 --- /dev/null +++ b/docs/manual/logs.html.ko.euc-kr @@ -0,0 +1,550 @@ + + + + + +·Î±×ÆÄÀÏ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

·Î±×ÆÄÀÏ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

È¿À²ÀûÀ¸·Î À¥¼­¹ö¸¦ °ü¸®ÇÏ·Á¸é ¹ß»ýÇÏ´Â ¹®Á¦¿Í ÇÔ²² ¼­¹öÀÇ + È°µ¿°ú ¼º´É¿¡ ´ëÇØ ¾Ë¾Æ¾ß ÇÑ´Ù. ¾ÆÆÄÄ¡ À¥¼­¹ö´Â ¸Å¿ì Á¾ÇÕÀûÀÌ°í + À¯¿¬ÇÑ ·Î±× ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ ¹®¼­´Â ·Î±× ±â´ÉÀ» ¼³Á¤ÇÏ´Â + ¹æ¹ý°ú ·Î±×¿¡ µé¾î°¥ ³»¿ëÀ» ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

º¸¾È °æ°í

+ + +

´©±º°¡¿¡°Ô ¾ÆÆÄÄ¡ÀÇ ·Î±×ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀÌ + ÀÖ´Ù¸é (º¸Åë root) ¼­¹ö¸¦ ½ÇÇàÇÏ´Â uid¸¦ °ÅÀÇ È®½ÇÈ÷ ¾òÀ» + ¼ö ÀÖ´Ù. À̸¦ °í·ÁÇÏÁö¾Ê°í ·Î±×°¡ ÀúÀåµÈ µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀ» + ÁÖÁö ¸¶¶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº º¸¾È ÆÁ ¹®¼­¸¦ Âü°íÇ϶ó.

+ +

¶Ç, Ŭ¶óÀ̾ðÆ®°¡ Á¦°øÇÑ Á¤º¸´Â ·Î±×ÆÄÀÏ¿¡ °ÅÀÇ ±×´ë·Î + ±â·ÏµÈ´Ù. ±×·¡¼­ ¾ÇÀÇ°¡ Àִ Ŭ¶óÀ̾ðÆ®°¡ ·Î±×ÆÄÀÏ¿¡ Á¦¾î¹®ÀÚ¸¦ + ³ÖÀ» ¼ö ÀÖÀ¸¹Ç·Î, ·Î±×¸¦ ´Ù·ê¶§´Â ÁÖÀÇÇØ¾ß ÇÑ´Ù.

+
top
+
+

¿À·ù ·Î±× (Error Log)

+ + + + +

ErrorLog Áö½Ã¾î´Â + °¡Àå Áß¿äÇÑ ·Î±×ÆÄÀÏÀÎ ¼­¹ö ¿À·ù ·Î±×ÀÇ À̸§°ú À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. + ¾ÆÆÄÄ¡ À¥¼­¹ö´Â ÀÌ ÆÄÀÏ¿¡ Áø´ÜÁ¤º¸¿Í ¿äûÀ» ó¸®ÇÏ´Â µµÁß + ¹ß»ýÇÑ ¿À·ù¸¦ ±â·ÏÇÑ´Ù. ¼­¹ö°¡ ½ÃÀÛÇϰųª µ¿ÀÛÇϴµ¥ ¹®Á¦°¡ + ÀÖ´Ù¸é ¹«¾ùÀÌ À߸øµÇ¾ú°í ¶§¶§·Î ¾î¶»°Ô °íÄ¡´ÂÁö¸¦ ¾Ë·ÁÁÖ´Â + ÀÌ°÷À» °¡Àå ¸ÕÀú »ìÆìºÁ¾ß ÇÑ´Ù.

+ +

¿À·ù ·Î±×´Â º¸Åë (ÀüÇüÀûÀ¸·Î À¯´Ð½º ½Ã½ºÅÛ¿¡¼­´Â + error_log, À©µµ¿ìÁî¿Í OS/2¿¡¼­´Â + error.log) ÆÄÀÏ¿¡ ±â·ÏµÈ´Ù. À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ + ¼­¹ö´Â ¿À·ù¸¦ syslog³ª ÆÄÀÌÇÁ¸¦ + »ç¿ëÇÏ¿© ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î º¸³¾ ¼öµµ ÀÖ´Ù.

+ +

¿À·ù ·Î±×ÀÇ Çü½ÄÀº »ó´ëÀûÀ¸·Î ÀÚÀ¯·Ó°í ÀÚ¼¼ÇÏ´Ù. ±×·¯³ª + ´ëºÎºÐÀÇ ¿À·ù ·Î±× Ç׸ñ¿¡ °øÅëÀûÀ¸·Î ³ª¿À´Â Á¤º¸°¡ ÀÖ´Ù. + ¿¹¸¦ µé¾î, Ç׸ñÀº º¸Åë ´ÙÀ½°ú °°´Ù.

+ +

+ [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] + client denied by server configuration: + /export/home/live/ap/htdocs/test +

+ +

·Î±× Ç׸ñ¿¡¼­ ù¹ø° Ç׸ñÀº ³¯Â¥¿Í ½Ã°£ÀÌ´Ù. µÎ¹ø° + Ç׸ñÀº º¸°íÇÏ´Â ¿À·ùÀÇ ½É°¢¼ºÀ» ³ªÅ¸³½´Ù. LogLevel Áö½Ã¾î·Î ¿À·ù ·Î±×¿¡ + ±â·ÏµÇ´Â ¿À·ùÀÇ ½É°¢¼ºÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ¼¼¹ø° Ç׸ñÀº + ¿À·ù¸¦ ¹ß»ýÇÑ Å¬¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼ÒÀÌ´Ù. ÀÌ ´ÙÀ½ºÎÅÍ ¿À·ù¹®ÀÌ + ³ª¿À¸ç, ÀÌ °æ¿ì ¼­¹ö°¡ Ŭ¶óÀ̾ðÆ®ÀÇ Á¢±ÙÀ» °ÅºÎÇϵµ·Ï + ¼³Á¤µÇ¾ú´Ù°í ³ª¿ÍÀÖ´Ù. ¿äûÇÑ ¹®¼­ÀÇ (À¥ °æ·Î°¡ ¾Æ´Ñ) + ÆÄÀϽýºÅÛ °æ·Îµµ º¸ÀδÙ.

+ +

¿À·ù ·Î±×¿¡´Â ¸Å¿ì ´Ù¾çÇÑ Á¾·ùÀÇ ¹®±¸°¡ ³ª¿Ã ¼ö ÀÖ´Ù. + ´ëºÎºÐÀº À§¿Í ºñ½ÁÇÏ´Ù. CGI ½ºÅ©¸³Æ®ÀÇ µð¹ö±ë Ãâ·Âµµ ¿À·ù + ·Î±×¿¡ ±â·ÏµÈ´Ù. CGI ½ºÅ©¸³Æ®°¡ stderr¿¡ ¾´ + Á¤º¸´Â ±×´ë·Î ¿À·ù ·Î±×·Î º¹»çµÈ´Ù.

+ +

¿À·ù ·Î±×¿¡ Á¤º¸¸¦ Ãß°¡ÇÏ°¡³ª »ý·«ÇÒ ¼ö ¾ø´Ù. ±×·¯³ª + ¿äû¿¡ ´ëÇÑ ¿À·ù ·Î±×ÀÇ °æ¿ì Á¢±Ù + ·Î±×¿¡µµ ´ëÀÀÇÏ´Â Ç׸ñÀÌ »ý±ä´Ù. ¿¹¸¦ µé¾î, À§ÀÇ °æ¿ì + »óÅÂÄڵ尡 403ÀÎ Á¢±Ù ·Î±× Ç׸ñÀÌ »ý±ä´Ù. Á¢±Ù ·Î±×´Â + »ç¿ëÀÚÁ¤ÀÇÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀÌ ÆÄÀÏÀ» Âü°íÇÏ¿© ¿À·ù »óȲ¿¡ + ´ëÇÑ Ãß°¡Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

+ +

°Ë»çÇÒ¶§ ¾î¶² ¹®Á¦°¡ »ý±â´ÂÁö ¿À·ù ·Î±×¸¦ °è¼Ó »ìÆ캸´Â + °ÍÀÌ ÁÁ´Ù. À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:

+ +

+ tail -f error_log +

+
top
+
+

Á¢±Ù ·Î±× (Access Log)

+ + + + +

¼­¹ö Á¢±Ù ·Î±×´Â ¼­¹ö°¡ ó¸®ÇÏ´Â ¸ðµç ¿äûÀ» ±â·ÏÇÑ´Ù. + CustomLog + Áö½Ã¾î´Â Á¢±Ù ·Î±×ÀÇ À§Ä¡¿Í ³»¿ëÀ» ÁöÁ¤ÇÑ´Ù. LogFormat Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© ·Î±×¿¡ Æ÷ÇÔÇÒ ³»¿ëÀ» ½±°Ô ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ÀÌ ÀýÀº + ¼­¹ö°¡ Á¢±Ù ·Î±×¿¡ ¾µ ³»¿ëÀ» ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+ +

¹°·Ð Á¢±Ù ·Î±×¿¡ Á¤º¸¸¦ ±â·ÏÇÏ´Â °ÍÀº ·Î±× °ü¸®ÀÇ ½ÃÀÛÀÏ + »ÓÀÌ´Ù. ´ÙÀ½ ´Ü°è´Â ÀÌ Á¤º¸¸¦ ºÐ¼®ÇÏ¿© À¯¿ëÇÑ Åë°è¸¦ ¸¸µå´Â + °ÍÀÌ´Ù. ÀÌ ¹®¼­´Â ÀϹÝÀûÀÎ ·Î±× ºÐ¼®¿¡ ´ëÇؼ­ ´Ù·çÁö ¾ÊÀ¸¸ç, + ·Î±× ºÐ¼®Àº ½ÇÁ¦ À¥¼­¹ö°¡ ÇÒ ÀÏÀÌ ¾Æ´Ï´Ù. ·Î±× ºÐ¼®¿¡ ´ëÇÑ + Á¤º¸¿Í ·Î±×¸¦ ºÐ¼®ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇؼ­´Â Open Directory³ª + Âü°íÇ϶ó.

+ +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â ÀÌÀüºÎÅÍ mod_log_referer, mod_log_agent, + CustomLog + °°Àº ¸ðµâ°ú Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© Á¢±Ù ·Î±×¸¦ ´Ù·ç¾ú´Ù. Áö±ÝÀº + CustomLog + Áö½Ã¾î°¡ ¿À·¡µÈ Áö½Ã¾îµéÀÇ ¸ðµç ±â´ÉÀ» À̾î¹Þ¾Ò´Ù.

+ +

Á¢±Ù ·Î±×ÀÇ Çü½ÄÀº ¸Å¿ì »ç¿ëÀÚÁ¤ÀÇ °¡´ÉÇÏ´Ù. Çü½ÄÀº CÀÇ + printf(1) Çü½Ä¹®ÀÚ¿­°ú ¸Å¿ì À¯»çÇÑ Çü½Ä¹®ÀÚ¿­À» »ç¿ëÇÏ¿© + ÁöÁ¤ÇÑ´Ù. ´ÙÀ½ Àý¿¡ ¿¹¸¦ µé¾ú´Ù. Çü½Ä¹®ÀÚ¿­¿¡ »ç¿ë°¡´ÉÇÑ + ¸ðµç ³»¿ëÀ» ¾Ë·Á¸é mod_log_config Çü½Ä¹®ÀÚ¿­À» + Âü°íÇ϶ó.

+ +

Common ·Î±× Çü½Ä

+ + +

Á¢±Ù ·Î±×ÀÇ ÀüÇüÀûÀÎ ¼³Á¤Àº ´ÙÀ½°ú °°´Ù.

+ +

+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common +

+ +

±×·¯¸é ÁöÁ¤ÇÑ ·Î±× Çü½Ä¹®ÀÚ¿­À» º°¸í + commonÀ¸·Î Á¤ÀÇÇÑ´Ù. Çü½Ä¹®ÀÚ¿­Àº ÆÛ¼¾Æ® + Áö½Ã¾îµé·Î ±¸¼ºµÇ¸ç, °¢°¢Àº ¾î¶² Á¤º¸¸¦ ±â·ÏÇÒÁö ¾Ë¸°´Ù. + Çü½Ä¹®ÀÚ¿­¿¡ ÀÏ¹Ý ¹®ÀÚ¸¦ ÀûÀ¸¸é ±×´ë·Î ·Î±×¿¡ Ãâ·ÂµÈ´Ù. + µû¿ÈÇ¥ ¹®ÀÚ(")¸¦ Ãâ·ÂÇÏ°í ½Í´Ù¸é ¹é½½·¡½¬¸¦ + ¾Õ¿¡ ºÙ¿©¼­ Çü½Ä¹®ÀÚ¿­ÀÇ ³¡ÀÌ ¾Æ´ÔÀ» Ç¥½ÃÇÑ´Ù. Çü½Ä¹®ÀÚ¿­¿¡ + ÁÙ¹Ù²Þ "\n", ÅÇ "\t"¿Í °°Àº + Ư¼ö Á¶Àý¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

CustomLog + Áö½Ã¾î´Â Á¤ÀÇÇÑ º°¸íÀ» »ç¿ëÇÏ´Â »õ·Î¿î ·Î±×ÆÄÀÏÀ» + ¸¸µç´Ù. Á¢±Ù ·Î±×ÀÇ ÆÄÀϸíÀÌ ½½·¡½¬·Î ½ÃÀÛÇÏÁö¾ÊÀ¸¸é + ServerRootÀÇ »ó´ë°æ·ÎÀÌ´Ù.

+ +

¾ÕÀÇ ¼³Á¤Àº °øÅë·Î±×Çü½Ä(Common Log Format, CLF)À̶ó´Â + Çü½ÄÀ¸·Î ·Î±× Ç׸ñÀ» ±â·ÏÇÑ´Ù. ¿©·¯ ´Ù¸¥ À¥¼­¹öµéµµ ÀÌ·± + Ç¥ÁØ Çü½ÄÀ¸·Î ·Î±×¸¦ ¸¸µé¸ç, ¿©·¯ ·Î±× ºÐ¼® ÇÁ·Î±×·¥¿¡¼­ + ÀÐÀ» ¼ö ÀÖ´Ù. CLF·Î ¸¸µç ·Î±×ÆÄÀÏ Ç׸ñÀº ´ÙÀ½°ú °°´Ù:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 +

+ +

ÀÌÁ¦ ·Î±× Ç׸ñÀÇ °¢ ºÎºÐÀ» ¼³¸íÇÑ´Ù.

+ +
+
127.0.0.1 (%h)
+ +
¼­¹ö¿¡ ¿äûÀ» ÇÑ Å¬¶óÀ̾ðÆ®(¿ø°Ý È£½ºÆ®)ÀÇ IP + ÁÖ¼ÒÀÌ´Ù. HostnameLookups°¡ + OnÀ̶ó¸é È£½ºÆ®¸íÀ» ã¾Æ¼­ IP ÁÖ¼Ò ÀÚ¸®¿¡ + ´ë½Å ¾´´Ù. ±×·¯³ª ÀÌ ¼³Á¤Àº ¼­¹ö¸¦ ¸Å¿ì ´À¸®°Ô ÇÒ ¼ö + ÀÖÀ¸¹Ç·Î ÃßõÇÏÁö ¾Ê´Â´Ù. È£½ºÆ®¸íÀ» ¾Ë·Á¸é ´ë½Å ³ªÁß¿¡ + logresolve¿Í + °°Àº ·Î±×¸¦ ó¸®ÇÏ´Â ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. + ¿©±â¿¡ ³ª¿Â IP ÁÖ¼Ò´Â »ç¿ëÀÚ°¡ »ç¿ëÇÏ´Â ÄÄÇ»ÅÍ ÁÖ¼Ò°¡ + ¾Æ´Ò ¼ö ÀÖ´Ù. ÇÁ·Ï½Ã ¼­¹ö°¡ »ç¿ëÀÚ¿Í ¼­¹ö»çÀÌ¿¡ Á¸ÀçÇÑ´Ù¸é, + ¿ø·¡ ÄÄÇ»ÅÍ ÁÖ¼Ò°¡ ¾Æ´Ï¶ó ÇÁ·Ï½ÃÀÇ ÁÖ¼Ò°¡ ±â·ÏµÉ °ÍÀÌ´Ù.
+ +
- (%l)
+ +
Ãâ·Â¿¡¼­ "»©±â±âÈ£"´Â ¿äûÇÑ Á¤º¸°¡ ¾øÀ½À» ³ªÅ¸³½´Ù. + ÀÌ °æ¿ì ¿©±â¿¡ ³ª¿Ã Á¤º¸´Â Ŭ¶óÀ̾ðÆ® ÄÄÇ»ÅÍÀÇ + identd°¡ Á¦°øÇÒ Å¬¶óÀ̾ðÆ®ÀÇ RFC 1413 + ½Å¿øÀÌ´Ù. ÀÌ Á¤º¸´Â ¸Å¿ì ¹ÏÀ» ¼ö ¾ø±â¶§¹®¿¡, ±ä¹ÐÈ÷ + °ü¸®µÇ´Â ³»ºÎ ³×Æ®¿÷ÀÌ ¾Æ´Ï¶ó¸é Àý´ë·Î ÀÌ Á¤º¸¸¦ »ç¿ëÇϸé + ¾ÈµÈ´Ù. IdentityCheck°¡ + OnÀÌ ¾Æ´Ï¶ó¸é ¾ÆÆÄÄ¡ À¥¼­¹ö´Â ÀÌ Á¤º¸¸¦ + ¾Ë¾Æº¸·Á°í ½ÃµµÇÏÁöµµ ¾Ê´Â´Ù.
+ +
frank (%u)
+ +
ÀÌ´Â HTTP ÀÎÁõÀ¸·Î ¾Ë¾Æ³½ ¹®¼­¸¦ ¿äûÇÑ »ç¿ëÀÚÀÇ + useridÀÌ´Ù. º¸Åë ÀÌ °ªÀº CGI ½ºÅ©¸³Æ®¿¡°Ô + REMOTE_USER ȯ°æº¯¼ö·Î ³Ñ°ÜÁø´Ù. ¿äûÀÇ + »óÅÂÄڵ尡 401À̶ó¸é (¾Æ·¡ Âü°í) »ç¿ëÀÚ°¡ ¾ÆÁ÷ ÀÎÁõÀ» + °ÅÄ¡Áö ¾Ê¾ÒÀ¸¹Ç·Î ÀÌ °ªÀ» ¹ÏÀ¸¸é ¾ÈµÈ´Ù. ¹®¼­¸¦ ¾ÏÈ£·Î + º¸È£ÇÏÁö ¾Ê´Â´Ù¸é ÀÌ Ç׸ñÀº ÀÌÀü Ç׸ñ°ú °°ÀÌ + "-"ÀÌ´Ù.
+ +
[10/Oct/2000:13:55:36 -0700] + (%t)
+ +
+ ¼­¹ö°¡ ¿äû󸮸¦ ¸¶Ä£ ½Ã°£. + Çü½ÄÀº: + +

+ [day/month/year:hour:minute:second zone]
+ day = ¼ýÀÚ 2°³
+ month = ¼ýÀÚ 3°³
+ year = ¼ýÀÚ 4°³
+ hour = ¼ýÀÚ 2°³
+ minute = ¼ýÀÚ 2°³
+ second = ¼ýÀÚ 2°³
+ zone = (`+' | `-') ¼ýÀÚ 4°³
+

+ ·Î±× Çü½Ä¹®ÀÚ¿­¿¡ %{format}t¸¦ »ç¿ëÇÏ¿© + ´Ù¸¥ Çü½ÄÀ¸·Î ½Ã°£À» Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. formatÀº + C Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ strftime(3)°ú °°´Ù. +
+ +
"GET /apache_pb.gif HTTP/1.0" + (\"%r\")
+ +
Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÁÙÀÌ ½Öµû¿ÈÇ¥·Î ¹­¿©ÀÖ´Ù. ¿äûÁÙÀº + ¸Å¿ì À¯¿ëÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Ù. ù°, Ŭ¶óÀ̾ðÆ®°¡ »ç¿ëÇÑ + ¸Þ½áµå´Â GETÀÌ´Ù. µÑ°, Ŭ¶óÀ̾ðÆ®´Â ÀÚ¿ø + /apache_pb.gif¸¦ ¿äûÇÑ´Ù. ¼¼¹ø°, Ŭ¶óÀ̾ðÆ®´Â + HTTP/1.0 ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù. ¿äûÁÙÀÇ + ¿©·¯ ºÎºÐÀ» µû·Î ·Î±×ÇÒ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, Çü½Ä¹®ÀÚ¿­ + "%m %U%q %H"Àº "%r"°ú ¶È°°ÀÌ + ¸Þ½áµå, °æ·Î, ÁúÀǹ®ÀÚ¿­, ÇÁ·ÎÅäÄÝÀ» ·Î±×ÇÑ´Ù.
+ +
200 (%>s)
+ +
ÀÌ´Â ¼­¹ö°¡ Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»´Â »óÅÂÄÚµåÀÌ´Ù. ÀÌ + Á¤º¸´Â (2·Î ½ÃÀÛÇÏ´Â ÄÚµå) ¿äûÀÌ ¼º°øÇÏ¿´´ÂÁö, (4·Î + ½ÃÀÛÇÏ´Â ÄÚµå) Ŭ¶óÀ̾ðÆ®¿¡ ¿À·ù°¡ ÀÖ´ÂÁö, (5·Î ½ÃÀÛÇÏ´Â + ÄÚµå) ¼­¹ö¿¡ ¿À·ù°¡ ÀÖ´ÂÁö ¾Ë·ÁÁֹǷΠ¸Å¿ì Áß¿äÇÏ´Ù. + »óÅÂÄÚµåÀÇ Àüü ¸ñ·ÏÀº HTTP + ±Ô¾à (RFC2616 section 10)¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.
+ +
2326 (%b)
+ +
¸¶Áö¸· Ç׸ñÀº ÀÀ´ä Çì´õ¸¦ Á¦¿ÜÇÏ°í Ŭ¶óÀ̾ðÆ®¿¡°Ô + º¸³»´Â ³»¿ëÀÇ Å©±â¸¦ ³ªÅ¸³½´Ù. Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»´Â + ³»¿ëÀÌ ¾ø´Ù¸é ÀÌ °ªÀº "-"ÀÌ´Ù. ³»¿ëÀÌ + ¾ø´Â °æ¿ì "0"À» ·Î±×ÇÏ·Á¸é ´ë½Å + %B¸¦ »ç¿ëÇÑ´Ù.
+
+ + +

Combined ·Î±× Çü½Ä

+ + +

ÀÚÁÖ »ç¿ëµÇ´Â ´Ù¸¥ Çü½Ä¹®ÀÚ¿­Àº °áÇյȷα×Çü½Ä(Combined + Log Format)ÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.

+ +

+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\"" combined
+ CustomLog log/access_log combined +

+ +

ÀÌ Çü½ÄÀº µÎ Ç׸ñÀ» ´õ Ãß°¡ÇÑ °ÍÀ» Á¦¿ÜÇÏ°í´Â Common + ·Î±× Çü½Ä°ú ¿ÏÀüÈ÷ °°´Ù. Ãß°¡µÈ Ç׸ñµéÀº ÆÛ¼¾Æ® Áö½Ã¾î + %{header}i¸¦ »ç¿ëÇÑ´Ù. ¿©±â¼­ + header ÀÚ¸®¿¡ HTTP ¿äû Çì´õ À̸§ÀÌ ³ª¿Ã ¼ö + ÀÖ´Ù. ÀÌ Çü½ÄÀÇ Á¢±Ù ·Î±×´Â ´ÙÀ½°ú °°´Ù:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + "http://www.example.com/start.html" "Mozilla/4.08 [en] + (Win98; I ;Nav)" +

+ +

Ãß°¡µÈ Ç׸ñÀº:

+ +
+
"http://www.example.com/start.html" + (\"%{Referer}i\")
+ +
"Referer" (¸ÂÃã¹ý Ʋ¸®Áö¾Ê¾ÒÀ½) HTTP ¿äû Çì´õ. + Ŭ¶óÀ̾ðÆ®°¡ ÂüÁ¶Çß´Ù°í ¼­¹ö¿¡°Ô ¾Ë¸° »çÀÌÆ®ÀÌ´Ù. + (Áï, /apache_pb.gif¸¦ ¸µÅ©ÇÏ¿´°Å³ª Æ÷ÇÔÇÑ + »çÀÌÆ®ÀÌ´Ù.)
+ +
"Mozilla/4.08 [en] (Win98; I ;Nav)" + (\"%{User-agent}i\")
+ +
User-Agent HTTP ¿äû Çì´õ. Ŭ¶óÀ̾ðÆ® ºê¶ó¿ìÀú°¡ + Àڽſ¡ ´ëÇØ ¾Ë¸®´Â ½Äº°Á¤º¸ÀÌ´Ù.
+
+ + +

¿©·¯ Á¢±Ù ·Î±×

+ + +

¼³Á¤ÆÄÀÏ¿¡ ¿©·¯ CustomLog Áö½Ã¾î¸¦ + »ç¿ëÇϸé Á¢±Ù ·Î±×°¡ ¿©·¯°³ ¸¸µé¾îÁø´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ + ¼³Á¤Àº ¼¼°¡Áö Á¢±Ù ·Î±×¸¦ ¸¸µç´Ù. ù¹ø°´Â ±âº» CLF Á¤º¸¸¦ + ±â·ÏÇÏ°í, µÎ¹ø°¿Í ¼¼¹ø°´Â referer¿Í ºê¶ó¿ìÀú Á¤º¸¸¦ + ±â·ÏÇÑ´Ù. ¸¶Áö¸· µÎ CustomLog ÁÙÀº ¾î¶»°Ô + ÀÌÀü ReferLog¿Í AgentLog Áö½Ã¾îÀÇ + ±â´ÉÀ» Èä³»³¾ ¼ö ÀÖ´ÂÁö º¸¿©ÁØ´Ù.

+ +

+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common
+ CustomLog logs/referer_log "%{Referer}i -> %U"
+ CustomLog logs/agent_log "%{User-agent}i" +

+ +

¶Ç, ÀÌ ¿¹´Â LogFormatÀ¸·Î ¹Ýµå½Ã + º°¸íÀ» Á¤ÀÇÇÒ ÇÊ¿ä´Â ¾øÀ½À» º¸¿©ÁØ´Ù. ´ë½Å CustomLog Áö½Ã¾î¿¡ + Á÷Á¢ ·Î±× Çü½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ + +

Á¶°ÇºÎ ·Î±×

+ + +

Ŭ¶óÀ̾ðÆ® ¿äûÀÇ ¼º°Ý¿¡ µû¶ó ÇØ´ç Ç׸ñÀ» Á¢±Ù ·Î±×¿¡ + ±â·ÏÇÏÁö¾Ê°í ½ÍÀ» ¶§°¡ ÀÖ´Ù. ȯ°æº¯¼ö¸¦ + »ç¿ëÇÏ¸é ½±°Ô ÇØ°áµÈ´Ù. ¸ÕÀú, Ŭ¶óÀ̾ðÆ®°¡ ƯÁ¤ Á¶°ÇÀ» + ¸¸Á·Çϸé ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ ÀÛ¾÷¿¡´Â º¸Åë SetEnvIf¸¦ »ç¿ëÇÑ´Ù. + ±×¸®°í CustomLog + Áö½Ã¾î¿¡ env=À» »ç¿ëÇÏ¿© ȯ°æº¯¼ö À¯¹«¿¡ + µû¶ó ¿äûÀ» Áý¾î³Ö°Å³ª »«´Ù. ¿¹¸¦ µé¸é:

+ +

+ # loop-back ÀÎÅÍÆäÀ̽º¿¡¼­ ¿äûÀ» Ç¥½ÃÇÑ´Ù
+ SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
+ # robots.txt ÆÄÀÏ¿¡ ´ëÇÑ ¿äûÀ» Ç¥½ÃÇÑ´Ù
+ SetEnvIf Request_URI "^/robots\.txt$" dontlog
+ # ³ª¸ÓÁö¸¦ ·Î±×¿¡ ³²±ä´Ù
+ CustomLog logs/access_log common env=!dontlog +

+ +

´Ù¸¥ ¿¹·Î ¿µ¾î±Ç »ç¿ëÀÚÀÇ ¿äû¸¸À» ÇÑ ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇÏ°í, + ºñ¿µ¾î±Ç »ç¿ëÀÚÀÇ ¿äûÀº ´Ù¸¥ ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇÏ´Â °æ¿ì¸¦ + »ý°¢Çغ¸ÀÚ.

+ +

+ SetEnvIf Accept-Language "en" english
+ CustomLog logs/english_log common env=english
+ CustomLog logs/non_english_log common env=!english +

+ +

Á¶°ÇºÎ ·Î±×´Â ¸Å¿ì °­·ÂÇÏ°í À¯¿¬ÇÏÁö¸¸, ÀÌ°ÍÀÌ ·Î±× + ³»¿ëÀ» Á¶ÀýÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ¾Æ´Ï´Ù. ·Î±×ÆÄÀÏÀº ¼­¹öÀÇ + ¸ðµç ÇൿÀ» ±â·ÏÇÒ¶§ ´õ À¯¿ëÇÏ´Ù. ³ªÁß¿¡ ¿øÇÏÁö¾Ê´Â ¿äûÀ» + Á¦¿ÜÇÏ°í ·Î±×ÆÄÀÏÀ» ºÐ¼®ÇÏ´Â °ÍÀÌ ´õ ½±´Ù.

+ +
top
+
+

·Î±× ¼øȯ (Log Rotation)

+ + +

Á¶±Ý ¹Ù»Û ¼­¹öÁ¶Â÷µµ ·Î±×ÆÄÀÏ¿¡ ÀúÀåµÇ´Â Á¤º¸·®Àº ¸Å¿ì + ¸¹´Ù. Á¢¼Ó ·Î±×´Â º¸Åë ¸¸¹ø ¿äû´ç 1MB ÀÌ»ó Áõ°¡ÇÑ´Ù. °á°úÀûÀ¸·Î + ±âÁ¸ÀÇ ·Î±×¸¦ ¿Å±â°Å³ª Áö¿ì´Â ¹æ¹ýÀ¸·Î ·Î±×¸¦ ÁÖ±âÀûÀ¸·Î + ¼øÈ°ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ÆÄÀÏÀ» ¿­°íÀÖ´Â µ¿¾È¿¡´Â °è¼Ó + ÀÌÀü ·Î±×ÆÄÀÏ¿¡ ¾²±â¶§¹®¿¡ ¼­¹ö°¡ ½ÇÇàÁßÀ϶§ ·Î±×¸¦ ¼øȯÇÒ + ¼ö ¾ø´Ù. ´ë½Å ·Î±×ÆÄÀÏÀ» ¿Å±â°Å³ª Áö¿îÈÄ ¼­¹ö¸¦ Àç½ÃÀÛÇÏ¿©, ·Î±×ÆÄÀÏÀ» »õ·Î ¿­¾î¾ß + ÇÑ´Ù.

+ +

Á¡ÀÝÀº Àç½ÃÀÛÀ» »ç¿ëÇÏ¸é ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®¿Í + ±âÁ¸ÀÇ È¤Àº ´ë±âµÈ ¿¬°áÀ» ÀÒÁö¾Ê°í »õ ·Î±×ÆÄÀÏÀ» ¿­ ¼ö ÀÖ´Ù. + ±×·¯³ª À̸¦ À§ÇØ ¼­¹ö´Â ¿À·¡µÈ ¿äûÀÇ ¼­ºñ½º¸¦ ³¡³»´Â µ¿¾È + ÀÌÀü ·Î±×ÆÄÀÏÀ» °è¼Ó »ç¿ëÇØ¾ß ÇÑ´Ù. ±×·¯¹Ç·Î Àç½ÃÀÛÇÑÈÄ + ·Î±×ÆÄÀÏÀ» ó¸®Çϱâ Àü¿¡ ¾ó¸¶°£ ±â´Ù¸± ÇÊ¿ä°¡ ÀÖ´Ù. ÀϹÝÀûÀ¸·Î + ´ÙÀ½°ú °°ÀÌ ·Î±×¸¦ ¼øȯÇÏ°í, µð½ºÅ©°ø°£À» Àý¾àÇϱâÀ§ÇØ ÀÌÀü + ·Î±×¸¦ ¾ÐÃàÇÑ´Ù:

+ +

+ mv access_log access_log.old
+ mv error_log error_log.old
+ apachectl graceful
+ sleep 600
+ gzip access_log.old error_log.old +

+ +

·Î±×¸¦ ¼øȯÇÏ´Â ´Ù¸¥ ¹æ¹ýÀº ´ÙÀ½ Àý¿¡¼­ ¼³¸íÇÒ ÆÄÀÌÇÁ ·Î±×¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

+
top
+
+

·Î±×¸¦ ÆÄÀÌÇÁ·Î º¸³»±â

+ + +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â ¿À·ù ·Î±×¿Í Á¢±Ù ·Î±×¸¦ ÆÄÀÏ¿¡ Á÷Á¢ + ¾²Áö¾Ê°í ÆÄÀÌÇÁ¸¦ ÅëÇØ ´Ù¸¥ ÇÁ·Î¼¼½º·Î º¸³¾ ¼ö ÀÖ´Ù. ÀÌ + ±â´ÉÀ» »ç¿ëÇÏ¸é ¼­¹ö¿¡ Äڵ带 Ãß°¡ÇÏÁö¾Ê°íµµ ¸Å¿ì À¯¿¬ÇÏ°Ô + ·Î±×¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù. ·Î±×¸¦ ÆÄÀÌÇÁ¿¡ ¾²±âÀ§ÇØ ÆÄÀϸí + ÀÚ¸®¿¡ ÆÄÀÌÇÁ¹®ÀÚ "|"¿Í µÚ¿¡ Ç¥ÁØÀÔ·ÂÀ¸·Î + ·Î±× Ç׸ñÀ» ÀÐÀ» ½ÇÇàÆÄÀϸíÀ» ÀûÀ¸¸é µÈ´Ù. ¾ÆÆÄÄ¡´Â ¼­¹ö°¡ + ½ÃÀÛÇÒ¶§ ÆÄÀÌÇÁ·Î ¿¬°áÇÒ ·Î±× ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÏ°í, ¼­¹ö°¡ + ½ÇÇàµÇ´Â µ¿¾È ÇÁ·Î¼¼½º°¡ Á×À¸¸é ´Ù½Ã ½ÃÀÛÇÑ´Ù. (ÀÌ ¸¶Áö¸· + ±â´É¶§¹®¿¡ ¿ì¸®´Â ÀÌ ¹æ¹ýÀ» "¹ÏÀ» ¼ö ÀÖ´Â ÆÄÀÌÇÁ ·Î±×"¶ó°í + ºÎ¸¥´Ù.)

+ +

ÆÄÀÌÇÁ·Î ¿¬°áµÈ ·Î±× ÇÁ·Î¼¼½º´Â ºÎ¸ð ¾ÆÆÄÄ¡ httpd ÇÁ·Î¼¼½º°¡ + ¶ç¿ì°í, ÇÁ·Î¼¼½ºÀÇ useridµµ °°´Ù. Áï, ÆÄÀÌÇÁ·Î ¿¬°áµÈ ·Î±× + ÇÁ·Î±×·¥Àº º¸Åë root·Î ½ÇÇàµÈ´Ù. ±×·¯¹Ç·Î ÇÁ·Î±×·¥À» °£´ÜÇÏ°í + ¾ÈÀüÇÏ°Ô ¸¸µå´Â °ÍÀÌ ¸Å¿ì Áß¿äÇÏ´Ù.

+ +

ÆÄÀÌÇÁ·Î ºÎ¸£´Â Àüü ¸í·É¾î¸¦ µû¿ÈÇ¥·Î ¹­À½À» ¸í½ÉÇ϶ó. + ÀÌ ¿¹´Â Á¢±Ù ·Î±×¿¡ ´ëÇÑ °ÍÀÌÁö¸¸, ¿À·ù ·Î±×µµ ¸¶Âù°¡Áö´Ù.

+ +

¼­¹ö¸¦ Àç½ÃÀÛÇÏÁö¾Ê°í ·Î±×¸¦ ¼øȯÇÒ ¼ö ÀÖ´Â °ÍÀÌ ÆÄÀÌÇÁ + ·Î±×¸¦ »ç¿ëÇÏ´Â Áß¿äÇÑ ÀÌÀ¯´Ù. ¾ÆÆÄÄ¡ À¥¼­¹ö´Â À̸¦ À§ÇØ + rotatelogs¶ó´Â °£´ÜÇÑ + ÇÁ·Î±×·¥À» Æ÷ÇÔÇÑ´Ù. ¿¹¸¦ µé¾î 24½Ã°£¸¶´Ù ·Î±×¸¦ ¼øȯÇÑ´Ù¸é:

+ +

+ CustomLog "|/usr/local/apache/bin/rotatelogs + /var/log/access_log 86400" common +

+ +

´Ù¸¥ »çÀÌÆ®¿¡ cronolog¶ó´Â ºñ½ÁÇÏÁö¸¸ + ÈξÀ ´õ À¯¿¬ÇÑ ·Î±× ¼øȯ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù.

+ +

Á¶°ÇºÎ ·Î±×¿Í °°ÀÌ ÆÄÀÌÇÁ ·Î±×´Â ¸Å¿ì °­·ÂÇÑ µµ±¸Áö¸¸, + ³ªÁß¿¡ ó¸®ÇÏ´Â µîÀÇ ´õ °£´ÜÇÑ ¹æ¹ýÀÌ °¡´ÉÇÑ °æ¿ì »ç¿ëÇؼ­´Â + ¾ÈµÈ´Ù.

+
top
+
+

°¡»óÈ£½ºÆ®

+ + +

¸¹Àº °¡»óÈ£½ºÆ®°¡ ÀÖ´Â ¼­¹ö¸¦ + ¿î¿µÇÒ¶§ ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î ·Î±×ÆÄÀÏÀ» ´Ù·ê ¼ö ÀÖ´Ù. ¸ÕÀú, + È£½ºÆ®°¡ ÇÑ°³ÀÎ ¼­¹ö¿Í °°ÀÌ ·Î±×¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <VirtualHost> ¼½¼ÇÀÌ + ¾Æ´Ñ ÁÖ¼­¹ö ¼³Á¤¿¡ ·Î±× Áö½Ã¾î¸¦ µÎ¸é ¸ðµç ¿äûÀÌ °°Àº Á¢±Ù + ·Î±×¿Í ¿À·ù ·Î±×·Î ±â·ÏµÈ´Ù. ÀÌ ¹æ¹ýÀº °¡»óÈ£½ºÆ®º°·Î ½±°Ô + Åë°è󸮸¦ ÇÒ ¼ö ¾ø´Ù.

+ +

<VirtualHost> + ¼½¼Ç ¾È¿¡ CustomLog³ª + ErrorLog Áö½Ã¾î¸¦ + »ç¿ëÇϸé ÇØ´ç °¡»óÈ£½ºÆ®¿¡ ´ëÇÑ ¿äû°ú ¿À·ù¸¸ÀÌ ÁöÁ¤µÈ + ÆÄÀÏ¿¡ ±â·ÏµÈ´Ù. ·Î±× Áö½Ã¾î°¡ ¾ø´Â ´Ù¸¥ °¡»óÈ£½ºÆ®´Â °è¼Ó + ÁÖ¼­¹ö ·Î±×¿¡ ·Î±×¸¦ ±â·ÏÇÑ´Ù. ÀÌ ¹æ¹ýÀº °¡»óÈ£½ºÆ® °³¼ö°¡ + ÀûÀ» °æ¿ì ¸Å¿ì À¯¿ëÇÏÁö¸¸, È£½ºÆ® ¼ö°¡ ¸¹´Ù¸é °ü¸®Çϱâ + Èûµé¾îÁø´Ù. ¶Ç, ÆÄÀϱâ¼úÀÚ°¡ + ºÎÁ·ÇÑ ¹®Á¦°¡ ÀÚÁÖ ¹ß»ýÇÑ´Ù.

+ +

Á¢±Ù ·Î±×ÀÇ °æ¿ì ¸Å¿ì ÁÁÀº ÇØ°áÃ¥ÀÌ ÀÖ´Ù. ·Î±× Çü½Ä¹®ÀÚ¿­¿¡ + °¡»óÈ£½ºÆ®¿¡ ´ëÇÑ Á¤º¸¸¦ Ãß°¡ÇÏ¸é ¸ðµç È£½ºÆ®°¡ °°Àº ·Î±×¸¦ + »ç¿ëÇÏ°í, ³ªÁß¿¡ ·Î±×¸¦ °¡»óÈ£½ºÆ®º°·Î ³ª´­ ¼ö ÀÖ´Ù. ¿¹¸¦ + µé¾î, ´ÙÀ½ Áö½Ã¾î¸¦ ºÁ¶ó.

+ +

+ LogFormat "%v %l %u %t \"%r\" %>s %b" + comonvhost
+ CustomLog logs/access_log comonvhost +

+ +

%v´Â ¿äûÀ» ¼­ºñ½ºÇÏ´Â °¡»óÈ£½ºÆ® À̸§À» + ±â·ÏÇÑ´Ù. ³ªÁß¿¡ split-logfile + °°Àº ÇÁ·Î±×·¥À¸·Î Á¢±Ù ·Î±×¸¦ °¡»óÈ£½ºº°·Î ³ª´­ ¼ö ÀÖ´Ù.

+
top
+
+

´Ù¸¥ ·Î±×ÆÄÀÏ

+ + + + +

PID ÆÄÀÏ

+ + +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â ½ÃÀÛÇÒ¶§ logs/httpd.pid + ÆÄÀÏ¿¡ ºÎ¸ð httpd ÇÁ·Î¼¼½ºÀÇ process id¸¦ ÀúÀåÇÑ´Ù. ÀÌ + ÆÄÀϸíÀº PidFile + Áö½Ã¾î·Î º¯°æÇÒ ¼ö ÀÖ´Ù. process-id´Â °ü¸®ÀÚ°¡ ºÎ¸ð ÇÁ·Î¼¼½º¿¡ + ½Ã±×³ÎÀ» º¸³» ¼­¹ö¸¦ Àç½ÃÀÛÇϰųª Á×À϶§ »ç¿ëÇÑ´Ù. + À©µµ¿ìÁî¿¡¼­´Â ´ë½Å -k ¸í·ÉÇà¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ + Á¤º¸´Â Áß´Ü°ú Àç½ÃÀÛ ÆäÀÌÁö¸¦ + Âü°íÇ϶ó.

+ + +

½ºÅ©¸³Æ® ·Î±×

+ + +

µð¹ö±ëÀ» µ½±âÀ§ÇØ ScriptLog Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + CGI ½ºÅ©¸³Æ®ÀÇ ÀԷ°ú Ãâ·ÂÀ» ±â·ÏÇÒ ¼ö ÀÖ´Ù. ÀÌ Áö½Ã¾î´Â + ¿ÀÁ÷ Å×½ºÆ®¿ëÀ¸·Î¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù. ½ÇÁ¦ »ç¿ëÇÏ´Â ¼­¹ö¿¡¼­ + »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â mod_cgi ¹®¼­¸¦ Âü°íÇ϶ó.

+ + +

ÀçÀÛ¼º ·Î±×

+ + +

mod_rewriteÀÇ °­·ÂÇÏ°í + º¹ÀâÇÑ ±â´ÉÀ» »ç¿ëÇÑ´Ù¸é µð¹ö±ëÀ» À§ÇØ °ÅÀÇ Ç×»ó RewriteLog¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ + ÀÖ´Ù. ÀÌ ·Î±×ÆÄÀÏÀº ÀçÀÛ¼º ¿£ÁøÀÌ ¾î¶»°Ô ¿äûÀ» º¯È¯ÇÏ´ÂÁö¿¡ + ´ëÇØ ÀÚ¼¼È÷ ¾Ë·ÁÁØ´Ù. ÀÚ¼¼ÇÑ Á¤µµ´Â RewriteLogLevel Áö½Ã¾î·Î + Á¶ÀýÇÑ´Ù.

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/logs.html.tr.utf8 b/docs/manual/logs.html.tr.utf8 new file mode 100644 index 0000000..f735d3d --- /dev/null +++ b/docs/manual/logs.html.tr.utf8 @@ -0,0 +1,684 @@ + + + + + +Günlük Dosyaları - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Günlük Dosyaları

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bir HTTP sunucusunu verimli şekilde yönetebilmek için oluşabilecek + sorunlardan başka sunucunun başarımı ve etkinliği hakkında da bazı geri + bildirimler almak gerekir. Apache HTTP Sunucusu çok kapsamlı ve esnek + bir günlükleme yeteneğine sahiptir. Bu belgede sunucunun günlükleme + yeteneğini nasıl yapılandıracağınızdan ve günlük kayıtlarını nasıl + yorumlayacağınızdan bahsedilecektir.

+
+ +
top
+
+

GiriÅŸ

+ + + + +

Apache HTTP Sunucusu, isteğin ilk alınışından itibaren, URL eşleme + işlemleri, bağlantının son çözümlemesi ve bu işlemler sırasına ortaya çıkan + hatalar da dahil olmak üzere sunucunuzda meydana gelen herşeyi günlüklemek + için çok çeşitli mekanizmalar içerir. Buna ek olarak, günlükleme + yetenekleri sağlayan üçüncü parti modüller de kullanılabilir veya mevcut + günlük dosyalarına girdiler enjekte edilebilir. Ayrıca, CGI programları, + PHP betikleri ve benzerleri sunucu hata günlüğüne kendi iletilerini + gönderebilirler.

+ +

Bu belgede Apache HTTP Sunucusunun standart parçası olan günlükleme + modülleri hakkında bilgi verilecektir.

+ +
top
+
+

Güvenlik Uyarısı

+ + +

Apache httpd’nin günlük dosyalarını yazdığı dizine yazabilen birinin sunucuyu + başlatan kullanıcı kimliğine (bu genellikle root olur) erişim + kazanabileceğine hemen hemen kesin gözüyle bakılabilir. Sonuçlarının + neler olacağını kestiremiyorsanız günlüklerin yazıldığı dizinde hiç + kimseye yazma erişimi vermeyin; ayrıntılı bilgi için güvenlik ipuçları belgesine + bakınız.

+ +

Buna ilaveten, günlük dosyaları istemci tarafından sağlanmış bilgiler + de içerebilir. Bu nedenle, kötü niyetli istemcilerin günlük dosyalarına + denetim karakterleri girmeleri olasılığına karşı ham günlükler ele + alınırken dikkatli olunmalıdır.

+
top
+
+

Hata Günlüğü

+ + + +

İsmi ve yeri ErrorLog yönergesi + ile belirtilen sunucu hata günlüğü, en önemli günlük dosyasıdır. Apache + httpd tarafından istekler işlenirken saptanan hatalar ve tanı bilgileri + bu dosyaya gönderilir. Sunucuyu başlatırken veya sunucu çalışırken bir + sorunla karşılaşıldığında, neyin yanlış gittiğini öğrenmek için + bakılacak ilk yer burasıdır. Günlük kaydı çoğunlukla sorunun nasıl + düzeltileceği ile ilgili ayrıntıları da içerir.

+ +

Hata günlüğü normal olarak bir dosyaya yazılır (genellikle, dosyanın + ismi Unix sistemlerinde error_log, OS/2 ve Windows’ta ise + error.log’dur). Ayrıca, Unix sistemlerinde sunucunun + hataları syslog’a veya borulamak suretiyle + bir programa aktarması da mümkündür.

+ +

Hata günlüğünün biçemi ErrorLogFormat yönergesi ile belirlenir. Bu yönergeyi + kullanarak günlüklenen değerleri özelleştirebilirsiniz. Bir biçem + belirtmezseniz öntanımlı biçem kullanılır. Örnek tipik bir hata iletisi + içermektedir:

+ +

+ [Fri Sep 09 10:42:29.902022 2011] [core:error] [pid 35708:tid 4328636416] + [client 72.15.99.187] Dosya yok: /usr/local/apache2/htdocs/favicon.ico +

+ +

Günlük girdisinin ilk öğesi iletinin yazıldığı tarih ve saatten oluşur. + İkincisi iletiyi üreten modülün ismi (bu durumda: core) ile raporlanan + bilginin önem derecesini belirtir. Bunu varsa sürecin kimliği ve yine + varsa evre kimliği izler. Sonraki öğe hatanın üretilmesine sebep olan + istemcinin IP adresini içerir. Kalanı iletinin kendisidir (duruma + bakılırsa bir dosyaya yapılan istek yerine getirilememiş).

+ +

Hata günlüğünde görünebilecek ileti çeşitliliği oldukça fazladır. Çoğu + yukarıdaki örneğin benzeridir. Hata günlüğü ayrıca, CGI betiklerinin + hata ayıklama çıktılarını da içerir. Bir CGI betiği tarafından standart + hataya (stderr) yazılan her türlü bilgi doğrudan hata + günlüğüne kopyalanır.

+ +

Hata günlüğüne ve erişim günlüğüne %L dizgeciği konularak + erişim günlüğündeki girdi ile hata günlüğündeki girdiyi ilişkilendirecek + bir günlük girdisi kimliği oluşturulabilir. + mod_unique_id yüklüyse günlük girdisi kimliği olarak + onun eşsiz istek kimliği de kullanılır.

+ +

Sunucuyu denerken olası sorunlara karşı hata günlüğünü sürekli + izlemelisiniz. Unix sistemlerinde bunu şöyle bir komutla + sağlayabilirsiniz:

+ +

+ tail -f error_log +

+
top
+
+

Modüllere göre günlükleme

+ + +

LogLevel yönergesi, günlük + iletisinin üretilmesine sebep olan modüle bağlı bir önem seviyesi + belirleyebilmenizi sağlar. Bu yolla sorun yaşadığınız modülle ilgili + günlük musluklarını sonuna kadar açabiliri ek olarak ilgilendiğiniz diğer + modüllerle ilgili ayrıntıları da edinebilirsiniz. Özellikle + mod_proxy veya mod_rewrite gibi + modüllerde yapılmak isteneni denerken neler olup bittiğini ayrıntılarıyla + bilmek istediğiniz durumlarda kullanışlıdır.

+ +

Bunu LogLevel yönergesinde modülün ismini + belirterek yapabilirsiniz:

+ +
LogLevel info rewrite:trace5
+ + +

Bu satırla ana LogLevel info'ya ayarlanırken + mod_rewrite için musluk trace5 seviyesine + kadar açılmaktadır.

+ +
Bu yönerge, Apache HTTP Sunucusunun evvelki sürümlerinde mevcut olan + RewriteLog gibi günlükleme modüllerinin yerini almıştır. +
+
top
+
+

Erişim Günlüğü

+ + + + +

Sunucu erişim günlüğü sunucu tarafından işleme alınan tüm istekleri + kaydeder. Erişim günlüğünün yeri ve içeriği CustomLog yönergesi ile belirlenir. + LogFormat yönergesi ile + günlük içeriğini kişiselleştirmek mümkündür. Bu bölümde sunucunun + bilgileri erişim günlüğüne kaydetmesi için nasıl yapılandırılacağından + bahsedilecektir.

+ +

Bilginin erişim günlüğünde saklanması günlük yönetiminde ilk + adımı oluşturur. Sonraki adım yararlı istatistikleri üretmek için bu + bilgiyi incelemektir. Günlük incelemesi bu belgenin kapsamına dahil + değildir ve aslında bu işlem sunucunun yaptığı işlerden biri + değildir.

+ +

Apache httpd’nin çeşitli sürümlerinde erişim günlüklerini denetlemek + için kullanılan diğer modüller ve yönergeler arasında mod_log_referer, + mod_log_agent modülleri ve TransferLog yönergesi + sayılabilir. Artık, daha eski tüm diğer yönergelerin işlevselliklerini + bir araya toplayan CustomLog yönergesi kullanılmaktadır.

+ +

Erişim günlüğünün girdi biçemi kolayca isteğe göre + düzenlenebilmektedir. Biçemi belirtmekte kullanılan biçem dizgesi, C + tarzı printf(1) biçem dizgesini andırır. Sonraki bölümlerde bazı + örneklere yer verilmiştir. Biçem dizgesini oluşturan belirteçlerin tam + listesi için mod_log_config belgesinin Günlük Girdilerinin + Kişiselleştirilmesi bölümüne bakınız.

+ +

Ortak Günlük Biçemi (OGB)

+ + +

Erişim günlüğü için sıklıkla kullanılan bir yapılandırma:

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+ + +

İlk satırda belli bir biçem dizgesi için common diye bir + takma ad tanımlanmaktadır. Biçem dizgesi, sunucuya hangi + belli bir bilgi parçalarını günlükleyeceğini söyleyen % imli biçem + belirteçlerinden oluşur. Biçem dizgesine ayrıca dizgesel sabitler de + yerleştirilebilir ve bunlar erişim günlüğüne oldukları gibi + kopyalanırlar. Biçem dizgesi içinde çift tırnak karakteri (") biçem + dizgesini vaktinden önce sonlandırmaması için ters bölü çizgisi ile + öncelenmelidir. Biçem dizgesi ayrıca, satır sonlarını belirtmek için + "\n" ve sekmeleri belirtmek için "\t" + denetim karakterlerini de içerebilir.

+ +

CustomLog yönergesi + evvelce tanımlanmış bir takma adı kullanarak yeni bir günlük + dosyası tanımlar. Erişim günlüğünün dosya ismi bölü çizgisi ile + başlamadıkça dosya yolunun ServerRoot değerine göreli olduğu varsayılır.

+ +

Yukarıdaki yapılandırma günlük dosyasına girdileri Ortak Günlük + Biçemi (Common Log Format) adı verilen standart biçemde yazar. + Bu standart biçem başka HTTP sunucuları tarafından da kullanılır ve + çoğu günlük inceleme yazılımı tarafından tanınır. Ortak Günlük + Biçeminde üretilen günlük girdileri şöyle görünür:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 +

+ +

Bu günlük girdisini parça parça açıklayalım:

+ +
+
127.0.0.1 (%h)
+ +
Bu, sunucuya istek yapan istemcinin (uzak konağın) IP adresidir. + Eğer HostnameLookups + yönergesine On değeri atanmışsa sunucu bu IP adresi + için DNS sorgusu yapacak ve IP adresi yerine bulduğu konak ismini + yazmaya çalışacaktır. Bununla birlikte, bu işlem sunucuyu epeyce + yavaşlattığından önerilmemektedir. Konak isimlerini saptamak için en + iyisi günlük girdilerini logresolve gibi bir + günlük işlemcisinden geçirmektir. Burada raporlanan IP adresi + doğrudan istemcinin IP adresi olmayabilir. Eğer sunucu ile istemci + arasında bir vekil sunucu varsa bu IP adresi, vekil sunucunun IP + adresi olacaktır.
+ +
- (%l)
+ +
Çıktıdaki bir "tire" imi istenen bilgi parçasının mevcut olmadığı + anlamına gelir. Bu durumda, mevcut olmayan bilgi istemci makine + üzerinde identd tarafından belirlenen istemcinin RFC + 1413 kimliğidir. Bu bilgi oldukça güvenilmezdir ve sıkıca denetlenen + iç ağlar haricinde hemen hemen asla kullanılmamalıdır. Apache, + IdentityCheck yönergesine + On değeri atanmış olmadıkça bu bilgiyi saptamaya + uğraşmaz.
+ +
frank (%u)
+ +
Bu, belge isteğinde bulunan kişinin HTTP kimlik doğrulamasıyla + saptanan kullanıcı kimliğidir. Bu değer CGI betiklerine + REMOTE_USER ortam değişkeni ile sağlanır. Eğer istek + için durum kodu 401 ise (aşağıya bakınız) henüz kullanıcının kimliği + doğrulanmamış olacağından bu değere güvenilmemelidir. Eğer belge + parola korumalı değilse günlüğün bu kısmı da yukarıdaki gibi + "-" olacaktır.
+ +
[10/Oct/2000:13:55:36 -0700] + (%t)
+ +
İsteğin alındığı tarih ve saat. Biçemi şöyledir: + +

+ [gün/ay/yıl:saat:dakika:saniye dilim]
+ gün    = 2 hane
+ ay     = 3 harf
+ yıl    = 4 hane
+ saat   = 2 hane
+ dakika = 2 hane
+ saniye = 2 hane
+ dilim  = (`+' | `-') 4 hane
+

+

Günlük biçem dizgesinde zaman gösterim biçemini + %{biçem}t şeklinde belirtmek de mümkündür. + Buradaki biçem dizgesi, stardart C + kütüphanesindeki strftime(3) işlevi için tanımlanmış + biçem belirteçleriyle veya desteklenen özel belirteçlerle + oluşturulabilir. Ayrıntılı bilgi için mod_log_config + biçem dizgelerine + bakın.

+
+ +
"GET /apache_pb.gif HTTP/1.0" + (\"%r\")
+ +
İstemciden alınan istek satırının çift tırnaklar arasında + gösterilmesi istenmiştir. İstek satırı en yararlı bilgi parçalarını + içerir. Birincisi, istemci tarafından kullanılan yöntem + GET’miş. İkinci olarak istemci + /apache_pb.gif dosyasını istemiş ve üçüncü olarak + istemci HTTP/1.0 protokolünü kullanmış. İstek satırının + bazı parçalarını bağımsız olarak da günlüklemek mümkündür. Örneğin, + "%m %U%q %H" dizgesi, yöntem, yol, sorgu dizgesi ve + protokolü kaydedecektir; bu dizge "%r" biçem + belirtecinin tek başına yaptığı işi yapar.
+ +
200 (%>s)
+ +
Bu, sunucunun istemciye gönderdiği durum kodudur. İsteğin + başarıyla yerine getirilip getirilmediğini gösterdiği için bu bilgi + çok değerlidir. Durum kodu 2 ile başlıyorsa istek başarıyla yerine + getirilmiştir, 3 ile başlıyorsa yönlendirilmiştir, 4 ile başlıyorsa + istemci tarafında bir hata oluşmuştur, 5 ile başlıyorsa sunucuda bir + hata oluşmuştur. Olası hata kodlarının tam listesi RFC2616 Hiper + Metin Aktarım Protokolünün 10. bölümünde bulunabilir.
+ +
2326 (%b)
+ +
Son parça istemciye döndürülen nesnenin yanıt başlığı hariç + uzunluğudur. Eğer istemciye bir içerik döndürülmemişse bu değer + "-" olacaktır. Bunun yerine günlüğe "0" + yazdırmak için %B belirtecini kullanınız.
+
+ + +

Birleşik Günlük Biçemi

+ + +

Sıklıkla kullanılan diğer bir biçem dizgesi Birleşik Günlük Biçemi + (Combined Log Format) olup şöyle kullanılabilir:

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
+CustomLog log/access_log combined
+ + +

Bu biçem ilaveten 2 alan içermesi dışında Ortak Günlük Biçemi ile + aynıdır. İlave alanların ikisi de %{başlık}i + biçeminde olup buradaki başlık, HTTP isteğindeki + başlık alanlarından biridir. Bu biçemin kullanıldığı bir erişim + günlüğü girdisi şöyle olurdu:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + "http://www.example.com/start.html" "Mozilla/4.08 [en] + (Win98; I ;Nav)" +

+ +

Ek alanlar:

+ +
+
"http://www.example.com/start.html" + (\"%{Referer}i\")
+ +
HTTP istek başlığı "Referer". İstemcinin raporladığı isteğin + kaynaklandığı URI. (Bu isteğin yapılmasını sağlayan bağlantıyı + içeren URL veya istek bir sayfanın bileşenleri ile ilgiliyse istenen + sayfanın URL’si olabilir.)
+ +
"Mozilla/4.08 [en] (Win98; I ;Nav)" + (\"%{User-agent}i\")
+ +
Tarayıcı kimliğini içeren HTTP istek başlığı. Bu istemcinin + tarayıcısının raporladığı kendi tanıtım bilgisidir.
+
+ + +

Çok Sayıda Erişim Günlüğü

+ + +

Yapılandırma dosyasında çok sayıda CustomLog yönergesi kullanarak çok + sayıda erişim günlüğü kolayca oluşturulabilir. Örneğin aşağıdaki + yönergelerle 3 tane erişim günlüğü oluşturulacaktır. İlki temel OGB + bilgisini içerirken diğer ikisi isteğin kaynaklandığı yeri ve tarayıcı + kimliğini içerir. Son iki CustomLog satırı ayrıca, ReferLog ve + AgentLog yönergelerinin etkilerinin nasıl taklit + edileceğini de göstermektedir.

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+CustomLog logs/referer_log "%{Referer}i -> %U"
+CustomLog logs/agent_log "%{User-agent}i"
+ + +

Bu örnek ayrıca, LogFormat yönergesi ile bir takma ad tanımlamanın şart + olmadığını da göstermektedir. Günlük biçemi doğrudan CustomLog yönergesinde + belirtilebilir.

+ + +

Şarta Bağlı Günlükler

+ + +

Bazı durumlarda istemcinin yaptığı isteğe bağlı olarak erişim + günlüğünde belli girdilerin dışlanması gerekebilir. Bu, ortam değişkenleri sayesinde kolayca yerine + getirilebilir. Önce isteğin belli koşulları sağladığını belirten bir + ortam değişkeni ataması yapılır. Bu işlem SetEnvIf yönergesi ile yapılır. + Sonra da, ortam değişkenine bağlı olarak isteklerin günlüğe dahil + edilip edilmeyeceği CustomLog yönergesinin + env= deyimi kullanılarak belirtilir. Bazı örnekler:

+ +
# yerel konaktan kaynaklanan istekleri imleyelim
+SetEnvIf Remote_Addr "127\.0\.0\.1" kaydetme
+# robots.txt dosyası isteklerini imleyelim
+SetEnvIf Request_URI "^/robots\.txt$" kaydetme
+# Kalanları günlüğe kaydedelim
+CustomLog logs/access_log common env=!kaydetme
+ + +

Başka bir örnek olarak, Türkçe belge isteklerini bir dosyaya diğer + dillerdeki istekleri başka bir dosyaya kaydedelim.

+ +
SetEnvIf Accept-Language "tr" turkce
+CustomLog logs/turkce_log common env=turkce
+CustomLog logs/diger_diller_log common env=!turkce
+ + +

Bir arabellekleme senaryosuna arabelleğin verimli kullanılıp + kullanılmadığını bilmek isteyelim. Bu basitçe şöyle yapılabilir:

+ +
SetEnv CACHE_MISS 1
+LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cache
+CustomLog logs/access_log common-cache
+ + +

mod_cache önce mod_env modülünü + çalıştıracak ve başarılı olunduğu takdirde içeriği onsuz teslim + edecektir. Bu durumda arabellek kaybı 1 olarak + günlüklenirken arabellek sunumu - olarak + günlüklenecektir.

+ +

env= sözdizimine ek olarak, LogFormat HTTP yanıt kodudaki koşul + değerlerini günlüklemeyi de destekler:

+ +
LogFormat "%400,501{User-agent}i" browserlog
+LogFormat "%!200,304,302{Referer}i" refererlog
+ + +

Bu örnekte, HTTP durum kodu 400 veya 501 ise User-agent + başlığı günlüklenecektir. Aksi takdirde, günlüğe bir "-" yazılacaktır. + Benzer şekilde ikinci örnekte, HTTP durum kodu 200, 304 veya 302 + değilse (durum kodlarının öncesindeki "!" imine + dikkat) Referer başlığı günlüklenecektir.

+ +

Koşula bağlı günlük kaydının çok esnek ve güçlü olabileceğini + göstermiş olsak da günlük içeriğini denetlemenin tek yolu bu değildir. + Günlük dosyaları sunucu etkinliğini eksiksiz olarak kaydedebildikleri + takdirde daha yararlı olurlar. Günlük dosyalarını sonradan işleme tabi + tutarak istenmeyen girdileri kaldırılmış bir kopya almak hem kolay hem + de daha yararlıdır.

+ +
top
+
+

Günlük Çevrimi

+ + +

Yükü ağır sunucularda günlük dosyalarına kaydedilen bilginin miktarı + çok büyük boyutlara ulaşabilir. 10.000 istek içeren bir erişim günlüğü + yaklaşık 1MB yer kaplar. Etkin günlük dosyasını belirli aralıklarla + değiştirmek veya silmek gerekebilir. Apache httpd çalışırken dosyayı sürekli + açık tuttuğu ve yazdığı için bu işlem sunucu çalışırken yapılamaz. Bu + bakımdan, günlük dosyası değiştirildikten veya silindikten sonra yeni + dosyanın açılması için sunucunun yeniden + başlatılması gerekir.

+ +

Nazikçe yeniden başlatmak + suretiyle sunucunun, mevcut ve bekleyen bağlantıları kaybetmeden yeni + günlük dosyalarını açması sağlanabilir. Bununla birlikte, bu işlem + sırasında sunucunun eski isteklere sunumu bitirene kadar eski günlük + dosyalarına yazmaya devam edebilmesi gerekir. Bu bakımdan, yeniden + başlatmanın ardından eski günlük dosyaları üzerinde bir işlem yapmadan + önce biraz beklemek gerekir. Günlük dosyalarını döndürürken kullanılan + senaryolarda genellikle eski günlük dosyaları yer kazanmak için + sıkıştırılırlar:

+ +

+ mv access_log access_log.old
+ mv error_log error_log.old
+ apachectl graceful
+ sleep 600
+ gzip access_log.old error_log.old +

+ +

Günlük çevrimi yapmanın başka bir yolu da sonraki bölümde açıklandığı + gibi borulu günlükler kullanmaktır.

+
top
+
+

Borulu Günlükler

+ + +

Apache httpd hata ve erişim günlüklerini doğrudan bir dosyaya yazmak + yerine bir boru üzerinden başka bir sürece yazabilir. Bu yetenek ana + sunucuya herhangi bir kod eklemeksizin günlükleme esnekliğini şaşırtıcı + derecede arttırır. Günlükler boruya yazılmak istenirse dosya ismini boru + karakteriyle ("|") değiştirip ardına günlük girdilerini + standart girdisinden kabul edecek programın ismini eklemek yeterlidir. + Apache httpd başlatıldığı zaman borulu günlük işlemini de + başlatacaktır. Eğer sunucu çalışırken günlükleri kabul eden süreç + çökerse Apache httpd bu programı yeniden başlatır. (Bu son özelliği + sebebiyle bu tekniğe “güvenilir borulu günlükleme†adını veriyoruz.)

+ +

Borulu günlük süreçleri ana Apache httpd süreci tarafından başlatılır + ve bu süreçler ana Apache httpd sürecinin kullanıcı kimliğini miras + alırlar. Yani borulu günlükleme programları aslında root tarafından + çalıştırılmış gibi olur. Bu bakımdan, bu programları basit ve güvenilir + kılmak çok önemlidir.

+ +

Borulu günlüklerin önemli kullanım alanlarından biri de sunucuyu + yeniden başlatmak gerekmeksizin günlük çevrimini mümkün kılmaktır. + Apache HTTP sunucusu bu amaçla kullanılmak üzere + rotatelogs diye bir program içerir. Örneğin, + günlükleri 24 saatte bir döndürmek isterseniz bunu şöyle + yapabilirsiniz:

+ +
CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
+ + +

Borunun diğer ucundaki süreci başlatacak komutun tırnak içine + alındığına dikkat ediniz. Bu örnekler erişim günlüğü için verilmişse de + aynı teknik hata günlüğü için de kullanılabilir.

+ +

Hariçten bir uygulama olarak cronolog isminde buna benzer ancak + çok daha esnek bir program daha vardır.

+ +

Borulu günlükler de şarta bağlı günlükleme kadar güçlü olmakla beraber + çevrimdışı ardıl işlemler gibi daha basit çözümler için + kullanılmamalıdır.

+ +

Öntanımlı olarak borulu günlük süreci bir kabuk kullanmadan + çalıştırılır. Kabuk kullanarak (genelde /bin/sh -c ile) + yapılmak istenirse "|" yerine "|$" + kullanılır:

+ +
# Kabuk kullanarak "rotatelogs" çalıştırmak
+CustomLog "|$/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
+ + +

Bu, Apache 2.2 için öntanımlı davranıştı. Kabuk özelliklerine bağlı + olarak, yeniden başlatma sırasındaki sinyal işleme sorunları ve günlük + borulama uygulamasının yaşam süresi için ek bir kabuk süreci ile + sonuçlanabilir. Apache 2.2 ile uyumluluk açısından "||" + gösterimi de desteklenmekte olup "|" kullanımına + eşdeğerdir.

+ +

Windows'ta yığın alanı

+

Windows'ta çok sayıda borulu günlükleme süreci çalışırken ve özellikle + HTTPD bir hizmet olarak çalışıyorsa sorunlar baş gösterebilir. Bunun + başlıca sebebi masaüstü yığın alanının (heap) dışına taşılmasıdır. Her + hizmete ayrılan masüstü yığın alanı, kayıt defterindeki + HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\SubSystems\Windows + kaydındaki üçüncü değiştirge olan SharedSection + değeridir. Bu değeri değiştirirken çok dikkatli olun; + bu, Windows kayıt defterini değiştirirken verilen normal + uyarılardandır, fakat eğer bu değer çok yüksek olursa masaüstü yığın + alanının tükenebileceği dikkate alınmalıdır.

+
+
top
+
+

Sanal Konaklar

+ + +

Bir sunucu çok sayıda sanal konak ile hizmet + sunarken bunların günlük kayıtları için çeşitli seçenekler mevcuttur. + İlk seçenekte, sanki sunucu tek bir konakla hizmet sunuyormuş gibi + günlük kaydı yapılır. Günlükleme yönergelerini <VirtualHost> bölümlerinin dışına, ana sunucu + bağlamına yerleştirerek tüm isteklerin aynı erişim ve hata günlüğüne + yazılmasını sağlamak olasıdır. Bu teknik, tek tek sanal konaklar için + kolayca istatistik toplamaya izin vermez.

+ +

Eğer CustomLog + veya ErrorLog yönergesi bir + <VirtualHost> bölümüne + yerleştirilirse bu sanal konağa bütün erişimler veya hatalar belirtilen + dosyaya günlüklenecektir. Böyle günlükleme yönergeleri içermeyen sanal + konakların günlükleri hala ana sunucunun hata ve erişim günlüklerine + yazılmaya devam edecektir. Bu teknik az sayıda sanal konak barındıran + sunucular için çok kullanışlıdır. Fakat sanal konak sayısı çok fazlaysa + bu teknikle günlük dosyalarını yönetmek çok karmaşık bir hal alabilir. + Ayrıca, yetersiz dosya tanıtıcısı + sorunlarıyla çok sık karşılaşılabilir.

+ +

Erişim günlükleri için çok az bir fedakarlıkla çok iyi bir çözüm vardır. + Günlük biçemine sanal konaklarla ilgili bilgi eklemek suretiyle tüm + konakların aynı günlük dosyasını kullanmaları olasıdır. Böylece günlük + dosyası sonradan her sanal konak için ayrı bir dosya oluşturmak üzere + ayrıştırılabilir. Örneğin, bu işlem için şu yönergeler kullanılıyor + olsun:

+ +
LogFormat "%v %l %u %t \"%r\" %>s %b" ortaksankon
+CustomLog logs/access_log ortaksankon
+ + +

%v belirteci isteği sunan sanal konağın ismini günlüğe + yazmak için kullanılır. Daha sonra split-logfile gibi bir program + kullanarak, bu dosyadan her sanal konak için ayrı birer dosya elde + edilebilir.

+
top
+
+

Diğer Günlük Dosyaları

+ + + + +

Gönderilen ve alınan bayt sayısının günlüklenmesi

+ + +

mod_logio modülü LogFormat yönergesinde kullanılan + biçem belirteçlerine alınan ve gönderilen bayt sayıları için iki + belirteç (%I ve %O) ekler.

+ + +

Adli Günlük

+ + +

mod_log_forensic modülü istemci isteklerinin kanıt + olarak kullanılmak amacıyla günlüklenmesini sağlar. Günlükleme her + istek için isteğe hizmet sunmadan önce ve sonra olmak üzere iki defa + yapılır. Böylece günlük dosyasında başarılı her istek için iki satır + bulunur. Adli günlükleme çok sıkı kurallara tabi olup + kişiselleştirilemez. Güvenlik ve hata ayıklama aracı olarak yararlı + değildir.

+ + +

PID Dosyası

+ + +

Apache httpd başlatıldığında, ana httpd sürecinin kimliği (PID) + logs/httpd.pid dosyasına kaydedilir. Bu dosyanın ismi + PidFile yönergesi ile + değiştirilebilir. Bu süreç kimliği sistem yöneticisi tarafından ana + sürece sinyal göndererek artalan sürecini sonlandırmak veya yeniden + başlatmak için kullanılır. Windows üzerinde bu işlem için + -k komut satırı seçeneği kullanılır. Bu konuda daha + ayrıntılı bilgi edinmek için Durdurma ve + Yeniden Başlatma belgesine bakınız.

+ + +

Betik Günlüğü

+ + +

ScriptLog yönergesi CGI + betiklerinin girdi ve çıktılarını kaydetmenizi mümkün kılmak suretiyle + hata ayıklamaya yardımcı olur. Bu sadece deneysel amaçla kullanılmalı, + asıl sunucuya uygulanmamalıdır. mod_cgi + belgesinde daha fazla bilgi bulunabilir.

+ +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/index.html b/docs/manual/misc/index.html new file mode 100644 index 0000000..af26b8b --- /dev/null +++ b/docs/manual/misc/index.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/misc/index.html.en b/docs/manual/misc/index.html.en new file mode 100644 index 0000000..ee71fa2 --- /dev/null +++ b/docs/manual/misc/index.html.en @@ -0,0 +1,94 @@ + + + + + +Apache Miscellaneous Documentation - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache Miscellaneous Documentation

+
+

Available Languages:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ + +

Below is a list of additional documentation pages that apply + to the Apache web server development project.

+ +

Warning

+

The documents below have not been fully updated + to take into account changes made in the 2.1 version of the + Apache HTTP Server. Some of the information may still be + relevant, but please use it with care.

+
+ +
+
Performance Notes - Apache + Tuning
+ +
+

Notes about how to (run-time and compile-time) configure + Apache for highest performance. Notes explaining why Apache + does some things, and why it doesn't do other things (which + make it slower/faster).

+
+ +
Security Tips
+ +
+

Some "do"s - and "don't"s - for keeping your Apache web + site secure.

+
+ +
Relevant Standards
+ +
+

This document acts as a reference page for most of the relevant + standards that Apache follows.

+
+ +
Password Encryption Formats
+ +
+

Discussion of the various ciphers supported by Apache for + authentication purposes.

+
+
+ +
+
+
+

Available Languages:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/misc/index.html.es b/docs/manual/misc/index.html.es new file mode 100644 index 0000000..a0c8f29 --- /dev/null +++ b/docs/manual/misc/index.html.es @@ -0,0 +1,100 @@ + + + + + +Documentación Variada de Apache - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Documentación Variada de Apache

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ + +

A continuación verá una lista de páginas adicionales de documentación que + aplican al proyecto de desarrollo del servidor web Apache.

+ +

Atención

+

Los documentos no han sido completamente actualizados para tener en cuenta + los cambios realizados en la versión 2.1 del Servidor Apache HTTP. Alguna + información todavía puede ser relevante, por favor revísela con cuidado.

+
+ +
+
Notas de Rendimiento - Mejorando Apache +
+ +
+

Notas sobre como configurar (en tiempo real y tiempo de compilación) + Apache para el mejor rendimiento. Notas explicando por qué Apache hace + ciertas cosas y por qué no hace otras (que le hacen ser más lento/rápido). +

+
+ +
Escalado de Rendimiento
+ +
+

Alguna configuración de fácil acceso y opciones de mejora para Apache + httpd 2.2 y 2.4 así como herramientas de motorización.

+
+ +
Consejos de Seguridad
+ +
+

Algunas de las cosas que se deben y no deben hacer para mantener seguro + su sitio web Apache.

+
+ +
Estándares Relevantes
+ +
+

Este documento actúa como una página de referencia para la mayor parte + de estándares relevantes que Apache sigue.

+
+ +
Formatos de Cifrado de Contraseñas
+ +
+

Discusión de los distintos cifrados soportados por Apache para el proceso + de autenticación.

+
+
+ +
+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/misc/index.html.fr.utf8 b/docs/manual/misc/index.html.fr.utf8 new file mode 100644 index 0000000..eba9551 --- /dev/null +++ b/docs/manual/misc/index.html.fr.utf8 @@ -0,0 +1,99 @@ + + + + + +Documentations diverses sur Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Documentations diverses sur Apache

+
+

Langues Disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ + +

Vous trouverez plus loin une liste de pages de documentation + additionnelles concernant le projet de développement du serveur web + Apache.

+ +

Avertissement

+

La mise à jour des documents ci-dessous permettant de prendre en + compte les modifications apportées par la version 2.1 du serveur + HTTP Apache n'a pas été entièrement menée à bien. Certaines + informations sont probablement encore pertinentes, mais utilisez-les tout de même avec + précautions.

+
+ +
+
Notes à propos des performances - + Réglages fins d'Apache
+ +
+

Notes à propos de la configuration d'Apache pour de plus + hautes performances (à l'exécution et à la compilation). Notes + expliquant pourquoi Apache accomplit certaines choses et + n'en accomplit pas certaines autres (les premières l'accélérant + et les deuxièmes le ralentissant).

+
+ +
Conseils concernant la + sécurité
+ +
+

Quelques conseils de type "faites" ou "ne faites pas" pour + que votre site web Apache reste sécurisé.

+
+ +
Standards concernés
+ +
+

Ce document constitue une page de référence pour la plupart + des standards concernés par Apache.

+
+ +
Formats de chiffrement des + mots de passe
+ +
+

Discussion à propos des divers algorithmes de chiffrement + supportés par Apache à des fins d'authentification.

+
+
+ +
+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/misc/index.html.ko.euc-kr b/docs/manual/misc/index.html.ko.euc-kr new file mode 100644 index 0000000..39e5417 --- /dev/null +++ b/docs/manual/misc/index.html.ko.euc-kr @@ -0,0 +1,95 @@ + + + + + +±âŸ ¾ÆÆÄÄ¡ ¹®¼­ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

±âŸ ¾ÆÆÄÄ¡ ¹®¼­

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +

¾Æ·¡´Â ¾ÆÆÄÄ¡ À¥¼­¹ö °³¹ß ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ Ãß°¡ ¹®¼­ + ¸ñ·ÏÀÌ´Ù.

+ +

ÁÖÀÇ

+

¾Æ·¡ ¹®¼­´Â ¾ÆÆÄÄ¡ À¥¼­¹ö 2.1 ¹öÀü¿¡¼­ º¯°æµÈ ³»¿ëÀ» + ´ã°í ÀÖÁö ¾Ê´Ù. ¾ÆÁ÷µµ À¯È¿ÇÑ Á¤º¸°¡ ÀÖÁö¸¸, ÁÖÀÇÇؼ­ + »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.

+
+ +
+
¾ÆÆÄÄ¡ ¼º´ÉÇâ»ó
+ +
+

ÃÖ°íÀÇ ¼º´ÉÀ» ³»±âÀ§ÇØ ¾ÆÆÄÄ¡¸¦ (½ÇÇà½Ã, ÄÄÆÄÀϽÃ) + ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. ¾ÆÆÄÄ¡°¡ ¿Ö ¾î¶² ÀÛ¾÷À» ÇÏ°í + (¾ÆÆÄÄ¡¸¦ ´À¸®°Å³ª ºü¸£°Ô ¸¸µå´Â) ¾î¶² ÀÛ¾÷À» ÇÏÁö ¾Ê´ÂÁö + ¼³¸íÇÑ´Ù.

+
+ +
º¸¾È ÆÁ
+ +
+

¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ¾ÈÀüÇÏ°Ô À¯ÁöÇϱâÀ§ÇØ "ÇÒ ÀÏ"°ú "ÇÏÁö + ¸»¾Æ¾ß ÇÒ ÀÏ".

+
+ +
URL ÀçÀÛ¼º Áöħ¼­
+ +
+

ÀÌ ¹®¼­´Â mod_rewrite ÂüÁ¶ ¹®¼­¸¦ º¸ÃæÇÑ´Ù. + ÀÌ ¹®¼­´Â À¥°ü¸®ÀÚ°¡ ½ÇÁ¦ ÀÛ¾÷¿¡¼­ ºÎµúÄ¡°ÔµÇ´Â ÀüÇüÀûÀÎ + URL°ü·Ã ¹®Á¦¸¦ ÇØ°áÇϱâÀ§Çؼ­ ¾î¶»°Ô ¾ÆÆÄÄ¡ + mod_rewrite¸¦ »ç¿ëÇÏ´ÂÁö ¼³¸íÇÑ´Ù.

+
+ +
°ü·Ã Ç¥ÁØ
+ +
+

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡°¡ µû¸£´Â °ü·Ã Ç¥ÁصéÀ» ¿­°ÅÇÑ´Ù.

+
+
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/misc/index.html.tr.utf8 b/docs/manual/misc/index.html.tr.utf8 new file mode 100644 index 0000000..bc261a5 --- /dev/null +++ b/docs/manual/misc/index.html.tr.utf8 @@ -0,0 +1,96 @@ + + + + + +Çeşitli Belgeler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Çeşitli Belgeler

+
+

Mevcut Diller:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ + +

Aşağıda listelenen belgeler de Apache HTTP sunucusu geliştirme projesi + kapsamındadır.

+ +

Uyarı

+

Aşağıdaki belgeler, Apache HTTP Sunucusunun 2.1 sürümünde yapılmış + değişikliklere göre tam olarak güncellenmemiştir. Hala güncel kalmış + bazı bilgiler olabilir, fakat siz yine de bu belgeleri kullanırken + dikkatli olun.

+
+ +
+
Başarım Arttırma İpuçları - Apache’ye + İnce Ayar Çekilmesi
+ +
+

Yüksek başarım elde etmek için Apache yapılandırmasında (çalışma + anında ve derleme sırasında) yapılacaklar ile ilgili bazı bilgiler + yanında Apache’de bazı şeylerin (bir şeyleri hızlandıran ve + yavaşlatan şeylerin) yapılma ve yapılmama sebepleri + açıklanmıştır.

+
+ +
Güvenlik İpuçları
+ +
+

Apache HTTP sitenizi güvenli kılmak için yapılacaklar ve + yapılmayacaklar.

+
+ +
Ä°lgili Standartlar
+ +
+

Bu belge Apache’nin uyacağı standartların bir çoğuna atıfta + bulunmak amacıyla hazırlanmıştır.

+
+ +
Parola Şifreleme Biçimleri +
+ +
+

Belgede, kimlik doğrulama amacıyla Apache tarafından desteklenen + çeşitli şifreleme tekniklerinden bahsedilmiştir.

+
+
+ +
+
+
+

Mevcut Diller:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/misc/index.html.zh-cn.utf8 b/docs/manual/misc/index.html.zh-cn.utf8 new file mode 100644 index 0000000..6a68f35 --- /dev/null +++ b/docs/manual/misc/index.html.zh-cn.utf8 @@ -0,0 +1,85 @@ + + + + + +Apache æ‚项文档 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

Apache æ‚项文档

+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ + +

下é¢æ˜¯é€‚用于 Apache æœåŠ¡å™¨å¼€å‘项目的附加文档。

+ +

警告

+

下é¢çš„文档尚未完全更新,以å映自 Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.1 + 之åŽçš„修改。æŸäº›ä¿¡æ¯å¯èƒ½ä»æ—§é€‚用,但请å°å¿ƒä½¿ç”¨å®ƒã€‚

+
+ +
+
Apache 性能调è°
+ +
+

对如何在编译或è¿è¡Œæ—¶ï¼Œé…ç½® Apache,以便性能更高的说明。 + 解释了为什么 Apache 这样åšï¼Œè€Œä¸é‚£æ ·åš (这会让它更慢或更快)。

+
+ +
安全技巧
+ +
+

åšå’Œä¸åš - 如何让你的 Apache 站点ä¿æŒå®‰å…¨ã€‚

+
+ +
相关标准
+ +
+

这篇文档是 Apache éµå¾ªçš„相关标准的å‚考页é¢ã€‚

+
+ +
密ç åŠ å¯†æ ¼å¼
+ +
+

对 Apache 身份认è¯æ”¯æŒçš„å„ç§å¯†ç åŠ å¯†æ ¼å¼çš„讨论。

+
+
+ +
+
+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/misc/password_encryptions.html b/docs/manual/misc/password_encryptions.html new file mode 100644 index 0000000..8a5b19c --- /dev/null +++ b/docs/manual/misc/password_encryptions.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: password_encryptions.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: password_encryptions.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/misc/password_encryptions.html.en b/docs/manual/misc/password_encryptions.html.en new file mode 100644 index 0000000..129bae8 --- /dev/null +++ b/docs/manual/misc/password_encryptions.html.en @@ -0,0 +1,259 @@ + + + + + +Password Formats - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Password Formats

+
+

Available Languages:  en  | + fr 

+
+ +

Notes about the password encryption formats generated and understood by + Apache.

+
+ +
top
+
+

Basic Authentication

+ +

There are five formats that Apache recognizes for basic-authentication + passwords. Note that not all formats work on every platform:

+ +
+
bcrypt
+
"$2y$" + the result of the crypt_blowfish algorithm. + See the APR source file + crypt_blowfish.c + for the details of the algorithm.
+ +
MD5
+
"$apr1$" + the result of an Apache-specific algorithm using an + iterated (1,000 times) MD5 digest of various combinations of a + random 32-bit salt and the password. See the APR source file + apr_md5.c + for the details of the algorithm.
+ +
SHA1
+
"{SHA}" + Base64-encoded SHA-1 digest of the password. Insecure.
+ +
CRYPT
+
Unix only. Uses the traditional Unix crypt(3) function + with a randomly-generated 32-bit salt (only 12 bits used) and the first 8 + characters of the password. Insecure.
+ +
PLAIN TEXT (i.e. unencrypted)
+
Windows & Netware only. Insecure.
+
+ +

Generating values with htpasswd

+ +

bcrypt

+ $ htpasswd -nbB myName myPassword
+ myName:$2y$05$c4WoMPo3SXsafkva.HHa6uXQZWr7oboPiC2bT/r7q1BB8I2s0BRqC +

+ +

MD5

+ $ htpasswd -nbm myName myPassword
+ myName:$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/ +

+ +

SHA1

+ $ htpasswd -nbs myName myPassword
+ myName:{SHA}VBPuJHI7uixaa6LQGWx4s+5GKNE= +

+ +

CRYPT

+ $ htpasswd -nbd myName myPassword
+ myName:rqXexS6ZhobKA +

+ + + +

Generating CRYPT and MD5 values with the OpenSSL + command-line program

+ + +

OpenSSL knows the Apache-specific MD5 algorithm.

+ +

MD5

+ $ openssl passwd -apr1 myPassword
+ $apr1$qHDFfhPC$nITSVHgYbDAK1Y0acGRnY0 +

+ +

CRYPT

+ openssl passwd -crypt myPassword
+ qQ5vTYO3c8dsU +

+ + +

Validating CRYPT or MD5 passwords with the OpenSSL command + line program

+ +

The salt for a CRYPT password is the first two characters (converted to + a binary value). To validate myPassword against + rqXexS6ZhobKA

+ +

CRYPT

+ $ openssl passwd -crypt -salt rq myPassword
+ Warning: truncating password to 8 characters
+ rqXexS6ZhobKA +

+ +

Note that using myPasswo instead of + myPassword will produce the same result because only the + first 8 characters of CRYPT passwords are considered.

+ +

The salt for an MD5 password is between $apr1$ and the + following $ (as a Base64-encoded binary value - max 8 chars). + To validate myPassword against + $apr1$r31.....$HqJZimcKQFAMYayBlzkrA/

+ +

MD5

+ $ openssl passwd -apr1 -salt r31..... myPassword
+ $apr1$r31.....$HqJZimcKQFAMYayBlzkrA/ +

+ + +

Database password fields for mod_dbd

+

The SHA1 variant is probably the most useful format for DBD + authentication. Since the SHA1 and Base64 functions are commonly + available, other software can populate a database with encrypted passwords + that are usable by Apache basic authentication.

+ +

To create Apache SHA1-variant basic-authentication passwords in various + languages:

+ +

PHP

+ '{SHA}' . base64_encode(sha1($password, TRUE)) +

+ +

Java

+ "{SHA}" + new sun.misc.BASE64Encoder().encode(java.security.MessageDigest.getInstance("SHA1").digest(password.getBytes())) +

+ +

ColdFusion

+ "{SHA}" & ToBase64(BinaryDecode(Hash(password, "SHA1"), "Hex")) +

+ +

Ruby

+ require 'digest/sha1'
+ require 'base64'
+ '{SHA}' + Base64.encode64(Digest::SHA1.digest(password)) +

+ +

C or C++

+ Use the APR function: apr_sha1_base64 +

+ +

Python

+ import base64
+ import hashlib
+ "{SHA}" + format(base64.b64encode(hashlib.sha1(password).digest())) +

+ +

PostgreSQL (with the contrib/pgcrypto functions + installed)

+ + '{SHA}'||encode(digest(password,'sha1'),'base64') +

+ + +
top
+
+

Digest Authentication

+

Apache recognizes one format for + digest-authentication passwords - the MD5 hash of the string + user:realm:password as a 32-character string of hexadecimal + digits. realm is the Authorization Realm argument to the + AuthName directive in + httpd.conf.

+ +

Database password fields for mod_dbd

+ +

Since the MD5 function is commonly available, other software can + populate a database with encrypted passwords that are usable by Apache + digest authentication.

+ +

To create Apache digest-authentication passwords in various + languages:

+ +

PHP

+ md5($user . ':' . $realm . ':' .$password) +

+ +

Java

+ byte b[] = java.security.MessageDigest.getInstance("MD5").digest( (user + ":" + realm + ":" + password ).getBytes());
+ java.math.BigInteger bi = new java.math.BigInteger(1, b);
+ String s = bi.toString(16);
+ while (s.length() < 32)
+ + s = "0" + s; + + // String s is the encrypted password +

+ +

ColdFusion

+ LCase(Hash( (user & ":" & realm & ":" & password) , "MD5")) +

+ +

Ruby

+ require 'digest/md5'
+ Digest::MD5.hexdigest(user + ':' + realm + ':' + password) +

+ +

PostgreSQL (with the contrib/pgcrypto functions installed)

+ + encode(digest( user || ':' || realm || ':' || password , 'md5'), 'hex') +

+ + +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/password_encryptions.html.fr.utf8 b/docs/manual/misc/password_encryptions.html.fr.utf8 new file mode 100644 index 0000000..b7e0f2c --- /dev/null +++ b/docs/manual/misc/password_encryptions.html.fr.utf8 @@ -0,0 +1,273 @@ + + + + + +Formats de mots de passe - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Formats de mots de passe

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Notes à propos des formats de chiffrement des mots de passe + générés et compris par Apache.

+
+ +
top
+
+

Authentification de base

+ +

Voici les cinq formats de mots de passe qu'Apache reconnaît + pour l'authentification de base. Notez que tous les formats ne sont + pas supportés par toutes les plates-formes :

+ +
+ +
bcrypt
+
"$2y$" + the result of the crypt_blowfish algorithm. Dérivé + de l'algorythme de chiffrement crypt_blowfish. Voir le fichier + source APR crypt_blowfish.c + pour plus de détails à propos de cet algorithme.
+ +
MD5
+
"$apr1$" + le résultat d'un algorithme spécifique à Apache + utilisant un condensé MD5 réitéré (1000 fois) de combinaisons + variées du mot de passe et d'une source d'entropie sur 32 bits. + Voir le fichier source APR apr_md5.c + pour les détails de l'algorithme.
+ + +
SHA1
+
"{SHA}" + un condensé SHA-1 du mot de passe codé en + Base64. Non sûr.
+ +
CRYPT
+
Unix seulement. Utilise la fonction Unix traditionnelle + crypt(3) avec une source d'entropie sur 32 bits + (seuls 12 bits sont utilisés), et seulement les 8 premiers + caractères du mot de passe. Non sûr.
+ +
PLAIN TEXT (autrement dit non chiffré)
+
Windows & Netware seulement. Non sûr.
+
+

Générer des mots de passe avec htpasswd

+ +

bcrypt

+ $ htpasswd -nbB monNom monMot-de-passe
+ monNom:$2y$05$c4WoMPo3SXsafkva.HHa6uXQZWr7oboPiC2bT/r7q1BB8I2s0BRqC +

+ +

MD5

+ $ htpasswd -nbm monNom monMot-de-passe
+ monNom:$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/ +

+ +

SHA1

+ $ htpasswd -nbs monNom monMot-de-passe
+ monNom:{SHA}VBPuJHI7uixaa6LQGWx4s+5GKNE= +

+ +

CRYPT

+ $ htpasswd -nbd monNom monMot-de-passe
+ monNom:rqXexS6ZhobKA +

+ + + +

Générer des mots de passe CRYPT and MD5 avec le programme + OpenSSL en ligne de commande

+ + +

OpenSSL connaît l'algorithme MD5 spécifique à Apache.

+ +

MD5

+ $ openssl passwd -apr1 monMot-de-passe
+ $apr1$qHDFfhPC$nITSVHgYbDAK1Y0acGRnY0 +

+ +

CRYPT

+ openssl passwd -crypt monMot-de-passe
+ qQ5vTYO3c8dsU +

+ + +

Valider des mots de passe CRYPT and MD5 avec le programme + OpenSSL en ligne de commande

+ +

La source d'entropie pour un mot de passe CRYPT est constituée + des deux premiers caractères (convertis en valeur binaire). Pour + valider monMot-de-passe par rapport à + rqXexS6ZhobKA

+ +

CRYPT

+ $ openssl passwd -crypt -salt rq monMot-de-passe
+ Warning: truncating password to 8 characters
+ rqXexS6ZhobKA +

+ +

Notez que spécifier monMot-d au lieu de + monMot-de-passe produira le même résultat car seuls + les 8 premiers caractères des mots de passe CRYPT sont pris en + compte.

+ +

La source d'entropie pour un mot de passe MD5 se situe entre + $apr1$ et le caractère $ suivant (sous + la forme d'une valeur binaire codée en Base64 - au maximum 8 + caractères). Pour valider monMot-de-passe par rapport + à $apr1$r31.....$HqJZimcKQFAMYayBlzkrA/

+ +

MD5

+ $ openssl passwd -apr1 -salt r31..... monMot-de-passe
+ $apr1$r31.....$HqJZimcKQFAMYayBlzkrA/ +

+ + +

Champs mot de passe de base de données pour + mod_dbd

+

La variante SHA1 constitue probablement le format le mieux + approprié pour l'authentification DBD. Comme les fonctions SHA1 et + Base64 sont en général disponibles, d'autres logiciels peuvent + renseigner une base de données avec des mots de passe chiffrés + utilisables par l'authentification basique d'Apache.

+ +

Pour créer des mots de passe au format SHA1 pour + l'authentification de base d'Apache dans divers langages :

+ +

PHP

+ '{SHA}' . base64_encode(sha1($password, TRUE)) +

+ +

Java

+ "{SHA}" + new sun.misc.BASE64Encoder().encode(java.security.MessageDigest.getInstance("SHA1").digest(password.getBytes())) +

+ +

ColdFusion

+ "{SHA}" & ToBase64(BinaryDecode(Hash(password, "SHA1"), "Hex")) +

+ +

Ruby

+ require 'digest/sha1'
+ require 'base64'
+ '{SHA}' + Base64.encode64(Digest::SHA1.digest(password)) +

+ +

C ou C++

+ Utilisez la fonction APR : apr_sha1_base64 +

+ +

Python

+ import base64
+ import hashlib
+ "{SHA}" + format(base64.b64encode(hashlib.sha1(password).digest())) +

+ +

PostgreSQL (avec les fonctions contrib/pgcrypto + installées)

+ + '{SHA}'||encode(digest(password,'sha1'),'base64') +

+ + +
top
+
+

Authentification à base de condensés

+

Apache ne reconnaît qu'un format pour les mots de passe + d'authentification à base de condensés - le condensé MD5 de la + chaîne utilisateur:domaine-de-protection:mot-de-passe + sous la forme d'une chaîne de 32 caractères au format hexadécimal. + domaine-de-protection est l'identifiant du domaine de + protection de l'autorisation passé en argument à la directive + AuthName dans + httpd.conf.

+ +

Champs de mot de passe de base de données pour + mod_dbd

+ +

Comme la fonction MD5 est en général disponible, d'autres + logiciels peuvent renseigner une base de données avec des mots de + passe chiffrés utilisables par l'authentification à base de + condensés d'Apache.

+ +

Pour créer des mots de passe pour l'authentification à base de + condensés d'Apache dans divers langages :

+ +

PHP

+ md5($user . ':' . $realm . ':' .$password) +

+ +

Java

+ byte b[] = java.security.MessageDigest.getInstance("MD5").digest( (user + ":" + realm + ":" + password ).getBytes());
+ java.math.BigInteger bi = new java.math.BigInteger(1, b);
+ String s = bi.toString(16);
+ while (s.length() < 32)
+ + s = "0" + s; + + // La chaîne s contient le mot de passe chiffré +

+ +

ColdFusion

+ LCase(Hash( (user & ":" & realm & ":" & password) , "MD5")) +

+ +

Ruby

+ require 'digest/md5'
+ Digest::MD5.hexdigest(user + ':' + realm + ':' + password) +

+ +

PostgreSQL (avec les fonctions contrib/pgcrypto + installées)

+ + encode(digest( user || ':' || realm || ':' || password , 'md5'), 'hex') +

+ + +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/perf-tuning.html b/docs/manual/misc/perf-tuning.html new file mode 100644 index 0000000..7ff8118 --- /dev/null +++ b/docs/manual/misc/perf-tuning.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: perf-tuning.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: perf-tuning.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: perf-tuning.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: perf-tuning.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/misc/perf-tuning.html.en b/docs/manual/misc/perf-tuning.html.en new file mode 100644 index 0000000..8047328 --- /dev/null +++ b/docs/manual/misc/perf-tuning.html.en @@ -0,0 +1,986 @@ + + + + + +Apache Performance Tuning - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache Performance Tuning

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ + +

Apache 2.x is a general-purpose webserver, designed to + provide a balance of flexibility, portability, and performance. + Although it has not been designed specifically to set benchmark + records, Apache 2.x is capable of high performance in many + real-world situations.

+ +

Compared to Apache 1.3, release 2.x contains many additional + optimizations to increase throughput and scalability. Most of + these improvements are enabled by default. However, there are + compile-time and run-time configuration choices that can + significantly affect performance. This document describes the + options that a server administrator can configure to tune the + performance of an Apache 2.x installation. Some of these + configuration options enable the httpd to better take advantage + of the capabilities of the hardware and OS, while others allow + the administrator to trade functionality for speed.

+ +
+ +
top
+
+

Hardware and Operating System Issues

+ + + +

The single biggest hardware issue affecting webserver + performance is RAM. A webserver should never ever have to swap, + as swapping increases the latency of each request beyond a point + that users consider "fast enough". This causes users to hit + stop and reload, further increasing the load. You can, and + should, control the MaxRequestWorkers setting so that your server + does not spawn so many children that it starts swapping. The procedure + for doing this is simple: determine the size of your average Apache + process, by looking at your process list via a tool such as + top, and divide this into your total available memory, + leaving some room for other processes.

+ +

Beyond that the rest is mundane: get a fast enough CPU, a + fast enough network card, and fast enough disks, where "fast + enough" is something that needs to be determined by + experimentation.

+ +

Operating system choice is largely a matter of local + concerns. But some guidelines that have proven generally + useful are:

+ +
    +
  • +

    Run the latest stable release and patch level of the + operating system that you choose. Many OS suppliers have + introduced significant performance improvements to their + TCP stacks and thread libraries in recent years.

    +
  • + +
  • +

    If your OS supports a sendfile(2) system + call, make sure you install the release and/or patches + needed to enable it. (With Linux, for example, this means + using Linux 2.4 or later. For early releases of Solaris 8, + you may need to apply a patch.) On systems where it is + available, sendfile enables Apache 2 to deliver + static content faster and with lower CPU utilization.

    +
  • +
+ +
top
+
+

Run-Time Configuration Issues

+ + + + + +

HostnameLookups and other DNS considerations

+ + + +

Prior to Apache 1.3, HostnameLookups defaulted to On. + This adds latency to every request because it requires a + DNS lookup to complete before the request is finished. In + Apache 1.3 this setting defaults to Off. If you need + to have addresses in your log files resolved to hostnames, use the + logresolve + program that comes with Apache, or one of the numerous log + reporting packages which are available.

+ +

It is recommended that you do this sort of postprocessing of + your log files on some machine other than the production web + server machine, in order that this activity not adversely affect + server performance.

+ +

If you use any Allow from domain or Deny from domain + directives (i.e., using a hostname, or a domain name, rather than + an IP address) then you will pay for + two DNS lookups (a reverse, followed by a forward lookup + to make sure that the reverse is not being spoofed). For best + performance, therefore, use IP addresses, rather than names, when + using these directives, if possible.

+ +

Note that it's possible to scope the directives, such as + within a <Location "/server-status"> section. + In this case the DNS lookups are only performed on requests + matching the criteria. Here's an example which disables lookups + except for .html and .cgi files:

+ +
HostnameLookups off
+<Files ~ "\.(html|cgi)$">
+  HostnameLookups on
+</Files>
+ + +

But even still, if you just need DNS names in some CGIs you + could consider doing the gethostbyname call in the + specific CGIs that need it.

+ + + +

FollowSymLinks and SymLinksIfOwnerMatch

+ + + +

Wherever in your URL-space you do not have an Options + FollowSymLinks, or you do have an Options + SymLinksIfOwnerMatch, Apache will need to issue extra + system calls to check up on symlinks. (One extra call per + filename component.) For example, if you had:

+ +
DocumentRoot "/www/htdocs"
+<Directory "/">
+  Options SymLinksIfOwnerMatch
+</Directory>
+ + +

and a request is made for the URI /index.html, + then Apache will perform lstat(2) on + /www, /www/htdocs, and + /www/htdocs/index.html. The results of these + lstats are never cached, so they will occur on + every single request. If you really desire the symlinks + security checking, you can do something like this:

+ +
DocumentRoot "/www/htdocs"
+<Directory "/">
+  Options FollowSymLinks
+</Directory>
+
+<Directory "/www/htdocs">
+  Options -FollowSymLinks +SymLinksIfOwnerMatch
+</Directory>
+ + +

This at least avoids the extra checks for the + DocumentRoot path. + Note that you'll need to add similar sections if you + have any Alias or + RewriteRule paths + outside of your document root. For highest performance, + and no symlink protection, set FollowSymLinks + everywhere, and never set SymLinksIfOwnerMatch.

+ + + +

AllowOverride

+ + + +

Wherever in your URL-space you allow overrides (typically + .htaccess files), Apache will attempt to open + .htaccess for each filename component. For + example,

+ +
DocumentRoot "/www/htdocs"
+<Directory "/">
+  AllowOverride all
+</Directory>
+ + +

and a request is made for the URI /index.html. + Then Apache will attempt to open /.htaccess, + /www/.htaccess, and + /www/htdocs/.htaccess. The solutions are similar + to the previous case of Options FollowSymLinks. + For highest performance use AllowOverride None + everywhere in your filesystem.

+ + + +

Negotiation

+ + + +

If at all possible, avoid content negotiation if you're + really interested in every last ounce of performance. In + practice the benefits of negotiation outweigh the performance + penalties. There's one case where you can speed up the server. + Instead of using a wildcard such as:

+ +
DirectoryIndex index
+ + +

Use a complete list of options:

+ +
DirectoryIndex index.cgi index.pl index.shtml index.html
+ + +

where you list the most common choice first.

+ +

Also note that explicitly creating a type-map + file provides better performance than using + MultiViews, as the necessary information can be + determined by reading this single file, rather than having to + scan the directory for files.

+ +

If your site needs content negotiation, consider using + type-map files, rather than the Options + MultiViews directive to accomplish the negotiation. See the + Content Negotiation + documentation for a full discussion of the methods of negotiation, + and instructions for creating type-map files.

+ + + +

Memory-mapping

+ + + +

In situations where Apache 2.x needs to look at the contents + of a file being delivered--for example, when doing server-side-include + processing--it normally memory-maps the file if the OS supports + some form of mmap(2).

+ +

On some platforms, this memory-mapping improves performance. + However, there are cases where memory-mapping can hurt the performance + or even the stability of the httpd:

+ +
    +
  • +

    On some operating systems, mmap does not scale + as well as read(2) when the number of CPUs increases. + On multiprocessor Solaris servers, for example, Apache 2.x sometimes + delivers server-parsed files faster when mmap is disabled.

    +
  • + +
  • +

    If you memory-map a file located on an NFS-mounted filesystem + and a process on another NFS client machine deletes or truncates + the file, your process may get a bus error the next time it tries + to access the mapped file content.

    +
  • +
+ +

For installations where either of these factors applies, you + should use EnableMMAP off to disable the memory-mapping + of delivered files. (Note: This directive can be overridden on + a per-directory basis.)

+ + + +

Sendfile

+ + + +

In situations where Apache 2.x can ignore the contents of the file + to be delivered -- for example, when serving static file content -- + it normally uses the kernel sendfile support for the file if the OS + supports the sendfile(2) operation.

+ +

On most platforms, using sendfile improves performance by eliminating + separate read and send mechanics. However, there are cases where using + sendfile can harm the stability of the httpd:

+ +
    +
  • +

    Some platforms may have broken sendfile support that the build + system did not detect, especially if the binaries were built on + another box and moved to such a machine with broken sendfile support.

    +
  • +
  • +

    With an NFS-mounted filesystem, the kernel may be unable + to reliably serve the network file through its own cache.

    +
  • +
+ +

For installations where either of these factors applies, you + should use EnableSendfile off to disable sendfile + delivery of file contents. (Note: This directive can be overridden + on a per-directory basis.)

+ + + +

Process Creation

+ + + +

Prior to Apache 1.3 the MinSpareServers, MaxSpareServers, and StartServers settings all had drastic effects on + benchmark results. In particular, Apache required a "ramp-up" + period in order to reach a number of children sufficient to serve + the load being applied. After the initial spawning of + StartServers children, + only one child per second would be created to satisfy the + MinSpareServers + setting. So a server being accessed by 100 simultaneous + clients, using the default StartServers of 5 would take on + the order of 95 seconds to spawn enough children to handle + the load. This works fine in practice on real-life servers + because they aren't restarted frequently. But it does really + poorly on benchmarks which might only run for ten minutes.

+ +

The one-per-second rule was implemented in an effort to + avoid swamping the machine with the startup of new children. If + the machine is busy spawning children, it can't service + requests. But it has such a drastic effect on the perceived + performance of Apache that it had to be replaced. As of Apache + 1.3, the code will relax the one-per-second rule. It will spawn + one, wait a second, then spawn two, wait a second, then spawn + four, and it will continue exponentially until it is spawning + 32 children per second. It will stop whenever it satisfies the + MinSpareServers + setting.

+ +

This appears to be responsive enough that it's almost + unnecessary to twiddle the MinSpareServers, MaxSpareServers and StartServers knobs. When more than 4 children are + spawned per second, a message will be emitted to the + ErrorLog. If you + see a lot of these errors, then consider tuning these settings. + Use the mod_status output as a guide.

+ +

Related to process creation is process death induced by the + MaxConnectionsPerChild + setting. By default this is 0, + which means that there is no limit to the number of connections + handled per child. If your configuration currently has this set + to some very low number, such as 30, you may want to bump this + up significantly. If you are running SunOS or an old version of + Solaris, limit this to 10000 or so because of memory leaks.

+ +

When keep-alives are in use, children will be kept busy + doing nothing waiting for more requests on the already open + connection. The default KeepAliveTimeout of 5 + seconds attempts to minimize this effect. The tradeoff here is + between network bandwidth and server resources. In no event + should you raise this above about 60 seconds, as + most of the benefits are lost.

+ + + +
top
+
+

Compile-Time Configuration Issues

+ + + +

Choosing an MPM

+ + + +

Apache 2.x supports pluggable concurrency models, called + Multi-Processing Modules (MPMs). + When building Apache, you must choose an MPM to use. There + are platform-specific MPMs for some platforms: + mpm_netware, + mpmt_os2, and mpm_winnt. For + general Unix-type systems, there are several MPMs from which + to choose. The choice of MPM can affect the speed and scalability + of the httpd:

+ +
    + +
  • The worker MPM uses multiple child + processes with many threads each. Each thread handles + one connection at a time. Worker generally is a good + choice for high-traffic servers because it has a smaller + memory footprint than the prefork MPM.
  • + +
  • The event MPM is threaded like the + Worker MPM, but is designed to allow more requests to be + served simultaneously by passing off some processing work + to supporting threads, freeing up the main threads to work + on new requests.
  • + +
  • The prefork MPM uses multiple child + processes with one thread each. Each process handles + one connection at a time. On many systems, prefork is + comparable in speed to worker, but it uses more memory. + Prefork's threadless design has advantages over worker + in some situations: it can be used with non-thread-safe + third-party modules, and it is easier to debug on platforms + with poor thread debugging support.
  • + +
+ +

For more information on these and other MPMs, please + see the MPM documentation.

+ + + +

Modules

+ + + +

Since memory usage is such an important consideration in + performance, you should attempt to eliminate modules that you are + not actually using. If you have built the modules as DSOs, eliminating modules is a simple + matter of commenting out the associated LoadModule directive for that module. + This allows you to experiment with removing modules and seeing + if your site still functions in their absence.

+ +

If, on the other hand, you have modules statically linked + into your Apache binary, you will need to recompile Apache in + order to remove unwanted modules.

+ +

An associated question that arises here is, of course, what + modules you need, and which ones you don't. The answer here + will, of course, vary from one web site to another. However, the + minimal list of modules which you can get by with tends + to include mod_mime, mod_dir, + and mod_log_config. mod_log_config is, + of course, optional, as you can run a web site without log + files. This is, however, not recommended.

+ + + +

Atomic Operations

+ + + +

Some modules, such as mod_cache and + recent development builds of the worker MPM, use APR's + atomic API. This API provides atomic operations that can + be used for lightweight thread synchronization.

+ +

By default, APR implements these operations using the + most efficient mechanism available on each target + OS/CPU platform. Many modern CPUs, for example, have + an instruction that does an atomic compare-and-swap (CAS) + operation in hardware. On some platforms, however, APR + defaults to a slower, mutex-based implementation of the + atomic API in order to ensure compatibility with older + CPU models that lack such instructions. If you are + building Apache for one of these platforms, and you plan + to run only on newer CPUs, you can select a faster atomic + implementation at build time by configuring Apache with + the --enable-nonportable-atomics option:

+ +

+ ./buildconf
+ ./configure --with-mpm=worker --enable-nonportable-atomics=yes +

+ +

The --enable-nonportable-atomics option is + relevant for the following platforms:

+ +
    + +
  • Solaris on SPARC
    + By default, APR uses mutex-based atomics on Solaris/SPARC. + If you configure with --enable-nonportable-atomics, + however, APR generates code that uses a SPARC v8plus opcode for + fast hardware compare-and-swap. If you configure Apache with + this option, the atomic operations will be more efficient + (allowing for lower CPU utilization and higher concurrency), + but the resulting executable will run only on UltraSPARC + chips. +
  • + +
  • Linux on x86
    + By default, APR uses mutex-based atomics on Linux. If you + configure with --enable-nonportable-atomics, + however, APR generates code that uses a 486 opcode for fast + hardware compare-and-swap. This will result in more efficient + atomic operations, but the resulting executable will run only + on 486 and later chips (and not on 386). +
  • + +
+ + + +

mod_status and ExtendedStatus On

+ + + +

If you include mod_status and you also set + ExtendedStatus On when building and running + Apache, then on every request Apache will perform two calls to + gettimeofday(2) (or times(2) + depending on your operating system), and (pre-1.3) several + extra calls to time(2). This is all done so that + the status report contains timing indications. For highest + performance, set ExtendedStatus off (which is the + default).

+ + + +

accept Serialization - Multiple Sockets

+ + + +

Warning:

+

This section has not been fully updated + to take into account changes made in the 2.x version of the + Apache HTTP Server. Some of the information may still be + relevant, but please use it with care.

+
+ +

This discusses a shortcoming in the Unix socket API. Suppose + your web server uses multiple Listen statements to listen on either multiple + ports or multiple addresses. In order to test each socket + to see if a connection is ready, Apache uses + select(2). select(2) indicates that a + socket has zero or at least one connection + waiting on it. Apache's model includes multiple children, and + all the idle ones test for new connections at the same time. A + naive implementation looks something like this (these examples + do not match the code, they're contrived for pedagogical + purposes):

+ +
        for (;;) {
+          for (;;) {
+            fd_set accept_fds;
+
+            FD_ZERO (&accept_fds);
+            for (i = first_socket; i <= last_socket; ++i) {
+              FD_SET (i, &accept_fds);
+            }
+            rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+            if (rc < 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i <= last_socket; ++i) {
+              if (FD_ISSET (i, &accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          process_the(new_connection);
+        }
+ + +

But this naive implementation has a serious starvation problem. + Recall that multiple children execute this loop at the same + time, and so multiple children will block at + select when they are in between requests. All + those blocked children will awaken and return from + select when a single request appears on any socket. + (The number of children which awaken varies depending on the + operating system and timing issues.) They will all then fall + down into the loop and try to accept the + connection. But only one will succeed (assuming there's still + only one connection ready). The rest will be blocked + in accept. This effectively locks those children + into serving requests from that one socket and no other + sockets, and they'll be stuck there until enough new requests + appear on that socket to wake them all up. This starvation + problem was first documented in PR#467. There + are at least two solutions.

+ +

One solution is to make the sockets non-blocking. In this + case the accept won't block the children, and they + will be allowed to continue immediately. But this wastes CPU + time. Suppose you have ten idle children in + select, and one connection arrives. Then nine of + those children will wake up, try to accept the + connection, fail, and loop back into select, + accomplishing nothing. Meanwhile none of those children are + servicing requests that occurred on other sockets until they + get back up to the select again. Overall this + solution does not seem very fruitful unless you have as many + idle CPUs (in a multiprocessor box) as you have idle children + (not a very likely situation).

+ +

Another solution, the one used by Apache, is to serialize + entry into the inner loop. The loop looks like this + (differences highlighted):

+ +
        for (;;) {
+          accept_mutex_on ();
+          for (;;) {
+            fd_set accept_fds;
+            
+            FD_ZERO (&accept_fds);
+            for (i = first_socket; i <= last_socket; ++i) {
+              FD_SET (i, &accept_fds);
+            }
+            rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+            if (rc < 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i <= last_socket; ++i) {
+              if (FD_ISSET (i, &accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          accept_mutex_off ();
+          process the new_connection;
+        }
+ + +

The functions + accept_mutex_on and accept_mutex_off + implement a mutual exclusion semaphore. Only one child can have + the mutex at any time. There are several choices for + implementing these mutexes. The choice is defined in + src/conf.h (pre-1.3) or + src/include/ap_config.h (1.3 or later). Some + architectures do not have any locking choice made, on these + architectures it is unsafe to use multiple + Listen + directives.

+ +

The Mutex directive can + be used to change the mutex implementation of the + mpm-accept mutex at run-time. Special considerations + for different mutex implementations are documented with that + directive.

+ +

Another solution that has been considered but never + implemented is to partially serialize the loop -- that is, let + in a certain number of processes. This would only be of + interest on multiprocessor boxes where it's possible that multiple + children could run simultaneously, and the serialization + actually doesn't take advantage of the full bandwidth. This is + a possible area of future investigation, but priority remains + low because highly parallel web servers are not the norm.

+ +

Ideally you should run servers without multiple + Listen + statements if you want the highest performance. + But read on.

+ + + +

accept Serialization - Single Socket

+ + + +

The above is fine and dandy for multiple socket servers, but + what about single socket servers? In theory they shouldn't + experience any of these same problems because all the children + can just block in accept(2) until a connection + arrives, and no starvation results. In practice this hides + almost the same "spinning" behavior discussed above in the + non-blocking solution. The way that most TCP stacks are + implemented, the kernel actually wakes up all processes blocked + in accept when a single connection arrives. One of + those processes gets the connection and returns to user-space. + The rest spin in the kernel and go back to sleep when they + discover there's no connection for them. This spinning is + hidden from the user-land code, but it's there nonetheless. + This can result in the same load-spiking wasteful behavior + that a non-blocking solution to the multiple sockets case + can.

+ +

For this reason we have found that many architectures behave + more "nicely" if we serialize even the single socket case. So + this is actually the default in almost all cases. Crude + experiments under Linux (2.0.30 on a dual Pentium pro 166 + w/128Mb RAM) have shown that the serialization of the single + socket case causes less than a 3% decrease in requests per + second over unserialized single-socket. But unserialized + single-socket showed an extra 100ms latency on each request. + This latency is probably a wash on long haul lines, and only an + issue on LANs. If you want to override the single socket + serialization, you can define + SINGLE_LISTEN_UNSERIALIZED_ACCEPT, and then + single-socket servers will not serialize at all.

+ + + +

Lingering Close

+ + + +

As discussed in + draft-ietf-http-connection-00.txt section 8, in order for + an HTTP server to reliably implement the + protocol, it needs to shut down each direction of the + communication independently. (Recall that a TCP connection is + bi-directional. Each half is independent of the other.)

+ +

When this feature was added to Apache, it caused a flurry of + problems on various versions of Unix because of shortsightedness. + The TCP specification does not state that the FIN_WAIT_2 + state has a timeout, but it doesn't prohibit it. + On systems without the timeout, Apache 1.2 induces many sockets + stuck forever in the FIN_WAIT_2 state. In many cases this + can be avoided by simply upgrading to the latest TCP/IP patches + supplied by the vendor. In cases where the vendor has never + released patches (i.e., SunOS4 -- although folks with + a source license can patch it themselves), we have decided to + disable this feature.

+ +

There are two ways to accomplish this. One is the socket + option SO_LINGER. But as fate would have it, this + has never been implemented properly in most TCP/IP stacks. Even + on those stacks with a proper implementation (i.e., + Linux 2.0.31), this method proves to be more expensive (cputime) + than the next solution.

+ +

For the most part, Apache implements this in a function + called lingering_close (in + http_main.c). The function looks roughly like + this:

+ +
        void lingering_close (int s)
+        {
+          char junk_buffer[2048];
+          
+          /* shutdown the sending side */
+          shutdown (s, 1);
+
+          signal (SIGALRM, lingering_death);
+          alarm (30);
+
+          for (;;) {
+            select (s for reading, 2 second timeout);
+            if (error) break;
+            if (s is ready for reading) {
+              if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {
+                break;
+              }
+              /* just toss away whatever is here */
+            }
+          }
+          
+          close (s);
+        }
+ + +

This naturally adds some expense at the end of a connection, + but it is required for a reliable implementation. As HTTP/1.1 + becomes more prevalent, and all connections are persistent, + this expense will be amortized over more requests. If you want + to play with fire and disable this feature, you can define + NO_LINGCLOSE, but this is not recommended at all. + In particular, as HTTP/1.1 pipelined persistent connections + come into use, lingering_close is an absolute + necessity (and + pipelined connections are faster, so you want to support + them).

+ + + +

Scoreboard File

+ + + +

Apache's parent and children communicate with each other + through something called the scoreboard. Ideally this should be + implemented in shared memory. For those operating systems that + we either have access to, or have been given detailed ports + for, it typically is implemented using shared memory. The rest + default to using an on-disk file. The on-disk file is not only + slow, but it is unreliable (and less featured). Peruse the + src/main/conf.h file for your architecture, and + look for either USE_MMAP_SCOREBOARD or + USE_SHMGET_SCOREBOARD. Defining one of those two + (as well as their companions HAVE_MMAP and + HAVE_SHMGET respectively) enables the supplied + shared memory code. If your system has another type of shared + memory, edit the file src/main/http_main.c and add + the hooks necessary to use it in Apache. (Send us back a patch + too, please.)

+ +
Historical note: The Linux port of Apache didn't start to + use shared memory until version 1.2 of Apache. This oversight + resulted in really poor and unreliable behavior of earlier + versions of Apache on Linux.
+ + + +

DYNAMIC_MODULE_LIMIT

+ + + +

If you have no intention of using dynamically loaded modules + (you probably don't if you're reading this and tuning your + server for every last ounce of performance), then you should add + -DDYNAMIC_MODULE_LIMIT=0 when building your + server. This will save RAM that's allocated only for supporting + dynamically loaded modules.

+ + + +
top
+
+

Appendix: Detailed Analysis of a Trace

+ + + +

Here is a system call trace of Apache 2.0.38 with the worker MPM + on Solaris 8. This trace was collected using:

+ +

+ truss -l -p httpd_child_pid. +

+ +

The -l option tells truss to log the ID of the + LWP (lightweight process--Solaris' form of kernel-level thread) + that invokes each system call.

+ +

Other systems may have different system call tracing utilities + such as strace, ktrace, or par. + They all produce similar output.

+ +

In this trace, a client has requested a 10KB static file + from the httpd. Traces of non-static requests or requests + with content negotiation look wildly different (and quite ugly + in some cases).

+ +
/67:    accept(3, 0x00200BEC, 0x00200C0C, 1) (sleeping...)
+/67:    accept(3, 0x00200BEC, 0x00200C0C, 1)            = 9
+ +

In this trace, the listener thread is running within LWP #67.

+ +
Note the lack of accept(2) serialization. On this + particular platform, the worker MPM uses an unserialized accept by + default unless it is listening on multiple ports.
+ +
/65:    lwp_park(0x00000000, 0)                         = 0
+/67:    lwp_unpark(65, 1)                               = 0
+ +

Upon accepting the connection, the listener thread wakes up + a worker thread to do the request processing. In this trace, + the worker thread that handles the request is mapped to LWP #65.

+ +
/65:    getsockname(9, 0x00200BA4, 0x00200BC4, 1)       = 0
+ +

In order to implement virtual hosts, Apache needs to know + the local socket address used to accept the connection. It + is possible to eliminate this call in many situations (such + as when there are no virtual hosts, or when + Listen directives + are used which do not have wildcard addresses). But + no effort has yet been made to do these optimizations.

+ +
/65:    brk(0x002170E8)                                 = 0
+/65:    brk(0x002190E8)                                 = 0
+ +

The brk(2) calls allocate memory from the heap. + It is rare to see these in a system call trace, because the httpd + uses custom memory allocators (apr_pool and + apr_bucket_alloc) for most request processing. + In this trace, the httpd has just been started, so it must + call malloc(3) to get the blocks of raw memory + with which to create the custom memory allocators.

+ +
/65:    fcntl(9, F_GETFL, 0x00000000)                   = 2
+/65:    fstat64(9, 0xFAF7B818)                          = 0
+/65:    getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B910, 2190656) = 0
+/65:    fstat64(9, 0xFAF7B818)                          = 0
+/65:    getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B914, 2190656) = 0
+/65:    setsockopt(9, 65535, 8192, 0xFAF7B918, 4, 2190656) = 0
+/65:    fcntl(9, F_SETFL, 0x00000082)                   = 0
+ +

Next, the worker thread puts the connection to the client (file + descriptor 9) in non-blocking mode. The setsockopt(2) + and getsockopt(2) calls are a side-effect of how + Solaris' libc handles fcntl(2) on sockets.

+ +
/65:    read(9, " G E T   / 1 0 k . h t m".., 8000)     = 97
+ +

The worker thread reads the request from the client.

+ +
/65:    stat("/var/httpd/apache/httpd-8999/htdocs/10k.html", 0xFAF7B978) = 0
+/65:    open("/var/httpd/apache/httpd-8999/htdocs/10k.html", O_RDONLY) = 10
+ +

This httpd has been configured with Options FollowSymLinks + and AllowOverride None. Thus it doesn't need to + lstat(2) each directory in the path leading up to the + requested file, nor check for .htaccess files. + It simply calls stat(2) to verify that the file: + 1) exists, and 2) is a regular file, not a directory.

+ +
/65:    sendfilev(0, 9, 0x00200F90, 2, 0xFAF7B53C)      = 10269
+ +

In this example, the httpd is able to send the HTTP response + header and the requested file with a single sendfilev(2) + system call. Sendfile semantics vary among operating systems. On some other + systems, it is necessary to do a write(2) or + writev(2) call to send the headers before calling + sendfile(2).

+ +
/65:    write(4, " 1 2 7 . 0 . 0 . 1   -  ".., 78)      = 78
+ +

This write(2) call records the request in the + access log. Note that one thing missing from this trace is a + time(2) call. Unlike Apache 1.3, Apache 2.x uses + gettimeofday(3) to look up the time. On some operating + systems, like Linux or Solaris, gettimeofday has an + optimized implementation that doesn't require as much overhead + as a typical system call.

+ +
/65:    shutdown(9, 1, 1)                               = 0
+/65:    poll(0xFAF7B980, 1, 2000)                       = 1
+/65:    read(9, 0xFAF7BC20, 512)                        = 0
+/65:    close(9)                                        = 0
+ +

The worker thread does a lingering close of the connection.

+ +
/65:    close(10)                                       = 0
+/65:    lwp_park(0x00000000, 0)         (sleeping...)
+ +

Finally the worker thread closes the file that it has just delivered + and blocks until the listener assigns it another connection.

+ +
/67:    accept(3, 0x001FEB74, 0x001FEB94, 1) (sleeping...)
+ +

Meanwhile, the listener thread is able to accept another connection + as soon as it has dispatched this connection to a worker thread (subject + to some flow-control logic in the worker MPM that throttles the listener + if all the available workers are busy). Though it isn't apparent from + this trace, the next accept(2) can (and usually does, under + high load conditions) occur in parallel with the worker thread's handling + of the just-accepted connection.

+ +
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/perf-tuning.html.fr.utf8 b/docs/manual/misc/perf-tuning.html.fr.utf8 new file mode 100644 index 0000000..27dbb27 --- /dev/null +++ b/docs/manual/misc/perf-tuning.html.fr.utf8 @@ -0,0 +1,1058 @@ + + + + + +Optimisation des performances d'Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Optimisation des performances d'Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ + +

Apache 2.x est un serveur web à usage général, conçu dans un but + d'équilibre entre souplesse, portabilité et performances. Bien que non + conçu dans le seul but d'établir une référence en la matière, + Apache 2.x est capable de hautes performances dans de nombreuses situations + du monde réel.

+ +

Comparée à Apache 1.3, la version 2.x comporte de nombreuses + optimisations supplémentaires permettant d'améliorer le débit du serveur + et sa personnalisation. La plupart de ces améliorations sont activées par + défaut. Cependant, certains choix de configuration à la compilation et à + l'exécution peuvent affecter les performances de manière significative. Ce + document décrit les options qu'un administrateur de serveur peut configurer + pour améliorer les performances d'une installation d'Apache 2.x. Certaines + de ces options de configuration permettent au démon httpd de mieux tirer + parti des possibilités du matériel et du système d'exploitation, tandis + que d'autres permettent à l'administrateur de privilégier la vitesse + par rapport aux fonctionnalités.

+ +
+ +
top
+
+

Problèmes matériels et relatifs au système d'exploitation

+ + + +

Le principal problème matériel qui affecte les performances du serveur + web est la mémoire vive (RAM). Un serveur web ne devrait jamais avoir à + utiliser le swap, car le swapping augmente le temps de réponse de chaque + requête au delà du point que les utilisateurs considèrent comme + "trop lent". Ceci incite les utilisateurs à cliquer sur "Stop", puis + "Charger à nouveau", ce qui a pour effet d'augmenter encore la charge + du serveur. Vous pouvez, et même devez définir la valeur de la directive + MaxRequestWorkers de façon à ce que + votre serveur ne lance pas un nombre de processus enfants tel qu'il + commence à faire du swapping. La méthode pour y parvenir est + simple : déterminez la taille de votre processus Apache standard en + consultant votre liste de processus à l'aide d'un outil tel que + top, et divisez votre quantité totale de mémoire disponible + par cette taille, tout en gardant un espace suffisant + pour les autres processus.

+ +

Hormis ce réglage relatif à la mémoire, le reste est trivial : le + processeur, la carte réseau et les disques doivent être suffisamment + rapides, où "suffisamment rapide" doit être déterminé par + l'expérience.

+ +

Le choix du système d'exploitation dépend principalement du + contexte local. Voici cependant quelques conseils qui se sont + généralement avérés utiles :

+ +
    +
  • +

    Exécutez la dernière version stable et le niveau de patches le + plus haut du système d'exploitation que vous avez choisi. De nombreux + éditeurs de systèmes d'exploitation ont amélioré de manière + significative les performances de leurs piles TCP et de leurs + bibliothèques de thread ces dernières années.

    +
  • + +
  • +

    Si votre système d'exploitation possède un appel système + sendfile(2), assurez-vous d'avoir installé la version + et/ou les patches nécessaires à son activation. (Pour Linux, par + exemple, cela se traduit par Linux 2.4 ou plus. Pour les versions + anciennes de Solaris 8, vous pouvez être amené à appliquer un patch.) + Sur les systèmes où il est disponible, sendfile permet + à Apache 2 de servir les contenus statiques plus rapidement, tout en + induisant une charge CPU inférieure.

    +
  • +
+ +
top
+
+

Optimisation de la configuration à l'exécution

+ + + + + +

HostnameLookups et autres considérations à propos du DNS

+ + + +

Avant Apache 1.3, la directive + HostnameLookups était positionnée + par défaut à On. Ce réglage augmente le temps de réponse de + chaque requête car il entraîne une recherche DNS et le traitement de la + requête ne pourra pas être achevé tant que cette recherche ne sera + pas terminée. Avec Apache 1.3, ce réglage est défini par défaut à + Off. Si vous souhaitez que les adresses dans vos fichiers + journaux soient résolues en noms d'hôtes, utilisez le programme + logresolve fourni avec Apache, ou un des nombreux + paquets générateurs de rapports sur les journaux disponibles.

+ +

Il est recommandé d'effectuer ce genre de traitement a posteriori + de vos fichiers journaux sur une autre machine que celle qui héberge le + serveur web en production, afin que cette activité n'affecte pas les + performances du serveur.

+ +

Si vous utilisez une directive + Allowfrom domain + ou + Deny from domain + (ce qui signifie que vous utilisez un nom d'hôte ou un nom de domaine à + la place d'une adresse IP), vous devrez compter avec deux recherches + DNS (une recherche inverse suivie d'une recherche directe pour + s'assurer que l'adresse IP n'a pas été usurpée). C'est pourquoi il est + préférable, pour améliorer les performances, d'utiliser des adresses IP + plutôt que des noms lorsqu'on utilise ces directives, du moins chaque + fois que c'est possible.

+ +

Notez qu'il est possible de modifier la portée des directives, en les + plaçant par exemple à l'intérieur d'une section + <Location "/server-status">. Les recherches DNS ne + seront alors effectuées que pour les requêtes qui satisfont aux critères. + Voici un exemple qui désactive les recherches DNS sauf pour les fichiers + .html et .cgi :

+ +
HostnameLookups off
+<Files ~ "\.(html|cgi)$">
+  HostnameLookups on
+</Files>
+ + +

Mais même dans ce cas, si vous n'avez besoin de noms DNS que dans + certains CGIs, vous pouvez effectuer l'appel à gethostbyname + dans les CGIs spécifiques qui en ont besoin.

+ + + +

FollowSymLinks et SymLinksIfOwnerMatch

+ + + +

Chaque fois que la ligne Options FollowSymLinks sera + absente, ou que la ligne Options SymLinksIfOwnerMatch sera + présente dans votre espace d'adressage, Apache devra effectuer des + appels système supplémentaires pour vérifier la présence de liens + symboliques. Un appel supplémentaire par élément du chemin du fichier. + Par exemple, si vous avez :

+ +
DocumentRoot "/www/htdocs"
+<Directory "/">
+  Options SymLinksIfOwnerMatch
+</Directory>
+ + +

et si une requête demande l'URI /index.html, Apache + effectuera un appel à lstat(2) pour + /www, /www/htdocs, et + /www/htdocs/index.html. Les résultats de ces appels à + lstat ne sont jamais mis en cache, ils devront donc être + générés à nouveau pour chaque nouvelle requête. Si vous voulez absolument + vérifier la sécurité des liens symboliques, vous pouvez utiliser une + configuration du style :

+ +
DocumentRoot "/www/htdocs"
+<Directory "/">
+  Options FollowSymLinks
+</Directory>
+
+<Directory "/www/htdocs">
+  Options -FollowSymLinks +SymLinksIfOwnerMatch
+</Directory>
+ + +

Ceci évite au moins les vérifications supplémentaires pour le chemin + défini par DocumentRoot. Notez que + vous devrez ajouter des sections similaires si vous avez des chemins + définis par les directives + Alias ou + RewriteRule en dehors de + la racine de vos documents. Pour améliorer les performances, et supprimer + toute protection des liens symboliques, ajoutez l'option + FollowSymLinks partout, et n'utilisez jamais l'option + SymLinksIfOwnerMatch.

+ + + +

AllowOverride

+ + + +

Dans toute partie de votre espace d'adressage où vous autoriserez + la surcharge de la configuration (en général à l'aide de fichiers + .htaccess), Apache va tenter d'ouvrir .htaccess + pour chaque élément du chemin du fichier demandé. Par exemple, si vous + avez :

+ +
DocumentRoot "/www/htdocs"
+<Directory "/">
+  AllowOverride all
+</Directory>
+ + +

et qu'une requête demande l'URI /index.html, Apache + tentera d'ouvrir /.htaccess, /www/.htaccess, + et /www/htdocs/.htaccess. Les solutions sont similaires à + celles évoquées précédemment pour Options FollowSymLinks. + Pour améliorer les performances, utilisez AllowOverride None + pour tous les niveaux de votre espace d'adressage.

+ + + +

Négociation

+ + + +

Dans la mesure du possible, évitez toute négociation de contenu si + vous tenez au moindre gain en performances. En pratique toutefois, + les bénéfices de la négociation l'emportent souvent sur la diminution + des performances. + Il y a cependant un cas dans lequel vous pouvez accélérer le serveur. + Au lieu d'utiliser une directive générique comme :

+ +
DirectoryIndex index
+ + +

utilisez une liste explicite d'options :

+ +
DirectoryIndex index.cgi index.pl index.shtml index.html
+ + +

où vous placez le choix courant en première position.

+ +

Notez aussi que créer explicitement un fichier de + correspondances de type fournit de meilleures performances + que l'utilisation des MultiViews, car les informations + nécessaires peuvent être simplement obtenues en lisant ce fichier, sans + avoir à parcourir le répertoire à la recherche de types de fichiers.

+ +

Par conséquent, si la négociation de contenu est nécessaire pour votre + site, préférez les fichiers de correspondances de type aux + directives Options MultiViews pour mener à bien cette + négociation. Se référer au document sur la + Négociation de contenu pour une + description complète des méthodes de négociation, et les instructions + permettant de créer des fichiers de correspondances de type.

+ + + +

Transfert en mémoire

+ + + +

Dans les situations où Apache 2.x doit consulter le contenu d'un + fichier en train d'être servi - par exemple à l'occasion du traitement + d'une inclusion côté serveur - il transfère en général le fichier en + mémoire si le système d'exploitation supporte une forme quelconque + de mmap(2).

+ +

Sur certains systèmes, ce transfert en mémoire améliore les + performances. Dans certains cas, ce transfert peut toutefois les dégrader + et même diminuer la stabilité du démon httpd :

+ +
    +
  • +

    Dans certains systèmes d'exploitation, mmap devient + moins efficace que read(2) quand le nombre de + processeurs augmente. Sur les serveurs multiprocesseurs sous Solaris, + par exemple, Apache 2.x sert parfois les fichiers consultés par le + serveur plus rapidement quand mmap est désactivé.

    +
  • + +
  • +

    Si vous transférez en mémoire un fichier localisé dans un système + de fichiers monté par NFS, et si un processus sur + une autre machine cliente NFS supprime ou tronque le fichier, votre + processus peut rencontrer une erreur de bus la prochaine fois qu'il + essaiera d'accéder au contenu du fichier en mémoire.

    +
  • +
+ +

Pour les installations où une de ces situations peut se produire, + vous devez utiliser EnableMMAP off afin de désactiver le + transfert en mémoire des fichiers servis. (Note : il est possible de + passer outre cette directive au niveau de chaque répertoire.)

+ + + +

Sendfile

+ + + +

Dans les cas où Apache peut se permettre d'ignorer le contenu du + fichier à servir - par exemple, lorsqu'il sert un contenu de fichier + statique - il utilise en général le support sendfile du noyau si le + système d'exploitation supporte l'opération sendfile(2).

+ +

Sur la plupart des plateformes, l'utilisation de sendfile améliore + les performances en éliminant les mécanismes de lecture et envoi séparés. + Dans certains cas cependant, l'utilisation de sendfile peut nuire à la + stabilité du démon httpd :

+ +
    +
  • +

    Certaines plateformes peuvent présenter un support de sendfile + défaillant que la construction du système n'a pas détecté, en + particulier si les binaires ont été construits sur une autre machine + et transférés sur la machine où le support de sendfile est + défaillant.

    +
  • +
  • +

    Dans le cas d'un système de fichiers monté + sous NFS, le noyau peut s'avérer incapable de servir + les fichiers réseau de manière fiable depuis + son propre cache.

    +
  • +
+ +

Pour les installations où une de ces situations peut se produire, + vous devez utiliser EnableSendfile off afin de désactiver + la mise à disposition de contenus de fichiers par sendfile. (Note : il + est possible de passer outre cette directive au niveau de chaque + répertoire.)

+ + + +

Process Creation

+ + + +

Avant Apache 1.3, les directives + MinSpareServers, + MaxSpareServers, et + StartServers avaient des + effets drastiques sur les performances de référence. En particulier, + Apache avait besoin d'un délai de "montée en puissance" afin d'atteindre + un nombre de processus enfants suffisant pour supporter la charge qui lui + était appliquée. Après le lancement initial des processus enfants par + StartServers, seulement un + processus enfant par seconde était créé afin d'atteindre la valeur de la + directive MinSpareServers. Ainsi, + un serveur accédé par 100 clients simultanés et utilisant la valeur par + défaut de 5 pour la directive + StartServers, nécessitait + environ 95 secondes pour lancer suffisamment de processus enfants + permettant de faire face à la charge. Ceci fonctionne en pratique pour + les serveurs en production, car ils sont rarement redémarrés. Ce n'est + cependant pas le cas pour les tests de référence (benchmarks) où le + serveur ne fonctionne que 10 minutes.

+ +

La règle "un processus par seconde" avait été implémentée afin + d'éviter l'enlisement de la machine dans le démarrage de nouveaux + processus enfants. Pendant que la machine est occupée à lancer des + processus enfants, elle ne peut pas traiter les requêtes. Mais cette + règle impactait tellement la perception des performances d'Apache qu'elle + a dû être remplacée. A partir d'Apache 1.3, le code a assoupli la règle + "un processus par seconde". Il va en lancer un, attendre une seconde, + puis en lancer deux, attendre une seconde, puis en lancer quatre et + ainsi de suite jusqu'à lancer 32 processus. Il s'arrêtera lorsque le + nombre de processus aura atteint la valeur définie par la directive + MinSpareServers.

+ +

Ceci s'avère suffisamment réactif pour pouvoir en général se passer + de manipuler les valeurs des directives + MinSpareServers, + MaxSpareServers et + StartServers. Lorsque plus de + 4 processus enfants sont lancés par seconde, un message est émis vers + le journal des erreurs. Si vous voyez apparaître souvent ce genre de + message, vous devez vous pencher sur ces réglages. Pour vous guider, + utilisez les informations délivrées par le module + mod_status.

+ +

À mettre en relation avec la création de processus, leur destruction + est définie par la valeur de la directive + MaxConnectionsPerChild. Sa valeur + par défaut est 0, ce qui signifie qu'il n'y a pas de limite + au nombre de connexions qu'un processus enfant peut traiter. Si votre + configuration actuelle a cette directive réglée à une valeur très basse, + de l'ordre de 30, il est conseillé de l'augmenter de manière + significative. Si vous utilisez SunOs ou une ancienne version de Solaris, + utilisez une valeur de l'ordre de 10000 à cause des fuites + de mémoire.

+ +

Lorsqu'ils sont en mode "keep-alive", les processus enfants sont + maintenus et ne font rien sinon attendre la prochaine requête sur la + connexion déjà ouverte. La valeur par défaut de 5 de la + directive KeepAliveTimeout tend à + minimiser cet effet. Il faut trouver le bon compromis entre la bande + passante réseau et les ressources du serveur. En aucun cas vous ne devez + choisir une valeur supérieure à 60 seconds, car + + la plupart des bénéfices sont alors perdus.

+ + + +
top
+
+

Optimisation de la configuration à la compilation

+ + + +

Choisir un Module Multi-Processus (MPM)

+ + + +

Apache 2.x supporte les modèles simultanés enfichables, appelés + Modules Multi-Processus (MPMs). Vous devez + choisir un MPM au moment de la construction d'Apache. Certaines + plateformes ont des modules MPM spécifiques : + mpm_netware, mpmt_os2 et + mpm_winnt. Sur les systèmes de type Unix, vous avez le + choix entre un grand nombre de modules MPM. Le choix du MPM peut affecter + la vitesse et l'évolutivité du démon httpd :

+ +
    + +
  • Le MPM worker utilise plusieurs processus + enfants possédant chacun de nombreux threads. Chaque thread gère une + seule connexion à la fois. Worker est en général un bon choix pour les + serveurs présentant un traffic important car il possède une empreinte + mémoire plus petite que le MPM prefork.
  • + +
  • Comme le MPM Worker, le MPM event utilise + les threads, mais il a été conçu pour traiter davantage de + requêtes simultanément en confiant une partie du travail à des + threads de support, ce qui permet aux threads principaux de + traiter de nouvelles requêtes.
  • + +
  • Le MPM prefork utilise plusieurs processus enfants + possédant chacun un seul thread. Chaque processus gère une seule + connexion à la fois. Sur de nombreux systèmes, prefork est comparable + en matière de vitesse à worker, mais il utilise plus de mémoire. De par + sa conception sans thread, prefork présente des avantages par rapport à + worker dans certaines situations : il peut être utilisé avec les + modules tiers qui ne supportent pas le threading, et son débogage est plus + aisé sur les platesformes présentant un support du débogage des threads + rudimentaire.
  • + +
+ +

Pour plus d'informations sur ces deux MPMs et les autres, veuillez + vous référer à la documentation sur les + MPM.

+ + + +

Modules

+ + + +

Comme le contrôle de l'utilisation de la mémoire est très important + en matière de performance, il est conseillé d'éliminer les modules que + vous n'utilisez pas vraiment. Si vous avez construit ces modules en + tant que DSOs, leur élimination consiste + simplement à commenter la directive + LoadModule associée à ce + module. Ceci vous permet de vérifier si votre site fonctionne toujours + après la suppression de tel ou tel module.

+ +

Par contre, si les modules que vous voulez supprimer sont liés + statiquement à votre binaire Apache, vous devrez recompiler ce dernier + afin de pouvoir les éliminer.

+ +

La question qui découle de ce qui précède est évidemment de + savoir de quels modules vous avez besoin et desquels vous pouvez vous + passer. La réponse sera bien entendu différente d'un site web à + l'autre. Cependant, la liste minimale de modules nécessaire à + la survie de votre site contiendra certainement + mod_mime, mod_dir et + mod_log_config. mod_log_config est bien + entendu optionnel puisque vous pouvez faire fonctionner un site web + en se passant de fichiers journaux ; ceci est cependant + déconseillé.

+ + + +

Opérations atomiques

+ + + +

Certains modules, à l'instar de mod_cache et des + versions de développement récentes du MPM worker, utilisent l'API + atomique d'APR. Cette API propose des opérations atomiques que l'on + peut utiliser pour alléger la synchronisation des threads.

+ +

Par défaut, APR implémente ces opérations en utilisant les + mécanismes les plus efficaces disponibles sur chaque plateforme cible + (Système d'exploitation et processeur). De nombreux processeurs modernes, + par exemple, possèdent une instruction qui effectue une opération + atomique de type comparaison et échange ou compare-and-swap (CAS) au + niveau matériel. Sur certaines platesformes cependant, APR utilise par + défaut une implémentation de l'API atomique plus lente, basée sur les + mutex, afin d'assurer la compatibilité avec les anciens modèles de + processeurs qui ne possèdent pas ce genre d'instruction. Si vous + construisez Apache pour une de ces platesformes, et ne prévoyez de + l'exécuter que sur des processeurs récents, vous pouvez sélectionner une + implémentation atomique plus rapide à la compilation en utilisant + l'option --enable-nonportable-atomics du + script configure :

+ +

+ ./buildconf
+ ./configure --with-mpm=worker --enable-nonportable-atomics=yes +

+ +

L'option --enable-nonportable-atomics concerne les + platesformes suivantes :

+ +
    + +
  • Solaris sur SPARC
    + Sur Solaris/SPARC, APR utilise par défaut les opérations + atomiques basées sur les mutex. Cependant, si vous ajoutez l'option + --enable-nonportable-atomics au script configure, APR + génère un code qui utilise le code opération SPARC v8plus pour des + opérations de compare-and-swap matériel plus rapides. Si vous + utilisez cette option de configure avec Apache, les opérations + atomiques seront plus efficaces (permettant d'alléger la charge du + processeur et un plus haut niveau de simultanéité), mais + l'exécutable produit ne fonctionnera que sur les processeurs + UltraSPARC. +
  • + +
  • Linux sur x86
    + Sous Linux, APR utilise par défaut les opérations atomiques basées + sur les mutex. Cependant, si vous ajoutez l'option + --enable-nonportable-atomics au script configure, + APR générera un code qui utilise un code d'opération du 486 + pour des opérations de compare-and-swap matériel plus rapides. Le + code résultant est plus efficace en matière d'opérations atomiques, + mais l'exécutable produit ne fonctionnera que sur des processeurs + 486 et supérieurs (et non sur des 386). +
  • + +
+ + + +

Module mod_status et ExtendedStatus On

+ + + +

Si vous incluez le module mod_status à la + construction d'Apache et ajoutez ExtendedStatus On à sa + configuration, Apache va effectuer pour chaque requête deux appels à + gettimeofday(2) (ou times(2) selon votre + système d'exploitation), et (pour les versions antérieures à 1.3) de + nombreux appels supplémentaires à time(2). Tous ces + appels sont effectués afin que le rapport de statut puisse contenir + des indications temporelles. Pour améliorer les performances, utilisez + ExtendedStatus off (qui est le réglage par défaut).

+ + + +

accept Serialization - points de connexion à un programme (sockets) multiples

+ + + +

Mise en garde :

+

Cette section n'a pas été totalement mise à jour car elle ne tient pas + compte des changements intervenus dans la version 2.x du Serveur HTTP + Apache. Certaines informations sont encore pertinentes, il vous est + cependant conseillé de les utiliser avec prudence.

+
+ +

Ce qui suit est une brève discussion à propos de l'API des sockets + Unix. Supposons que votre serveur web utilise plusieurs directives + Listen afin d'écouter + plusieurs ports ou de multiples adresses. Afin de tester chaque socket + pour voir s'il a une connexion en attente, Apache utilise + select(2). select(2) indique si un socket a + zéro ou au moins une connexion en attente. Le modèle + d'Apache comporte plusieurs processus enfants, et tous ceux qui sont + inactifs testent la présence de nouvelles connexions au même moment. + Une implémentation rudimentaire de ceci pourrait ressembler à + l'exemple suivant + (ces exemples ne sont pas extraits du code d'Apache, ils ne sont + proposés qu'à des fins pédagogiques) :

+ +
        for (;;) {
+          for (;;) {
+            fd_set accept_fds;
+
+            FD_ZERO (&accept_fds);
+            for (i = first_socket; i <= last_socket; ++i) {
+              FD_SET (i, &accept_fds);
+            }
+            rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+            if (rc < 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i <= last_socket; ++i) {
+              if (FD_ISSET (i, &accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          process_the(new_connection);
+        }
+ + +

Mais cette implémentation rudimentaire présente une sérieuse lacune. + Rappelez-vous que les processus enfants exécutent cette boucle au même + moment ; ils vont ainsi bloquer sur select s'ils se trouvent + entre deux requêtes. Tous ces processus bloqués vont se réactiver et + sortir de select quand une requête va apparaître sur un des + sockets (le nombre de processus enfants qui se réactivent varie en + fonction du système d'exploitation et des réglages de synchronisation). + Ils vont alors tous entrer dans la boucle et tenter un + "accept" de la connexion. Mais seulement un d'entre eux y + parviendra (en supposant qu'il ne reste q'une seule connexion en + attente), les autres vont se bloquer au niveau de accept. + Ceci verrouille vraiment ces processus de telle sorte qu'ils ne peuvent + plus servir de requêtes que par cet unique socket, et il en sera ainsi + jusqu'à ce que suffisamment de nouvelles requêtes apparaissent sur ce + socket pour les réactiver tous. Cette lacune a été documentée pour la + première fois dans + PR#467. Il existe + au moins deux solutions.

+ +

La première consiste à rendre les sockets non blocants. Dans ce cas, + accept ne bloquera pas les processus enfants, et ils + pourront continuer à s'exécuter immédiatement. Mais ceci consomme des + ressources processeur. Supposons que vous ayez dix processus enfants + inactifs dans select, et qu'une connexion arrive. + Neuf des dix processus vont se réactiver, tenter un accept + de la connexion, échouer, et boucler dans select, tout en + n'ayant finalement rien accompli. Pendant ce temps, aucun de ces processus + ne traite les requêtes qui arrivent sur d'autres sockets jusqu'à ce + qu'ils retournent dans select. Finalement, cette solution + ne semble pas très efficace, à moins que vous ne disposiez d'autant de + processeurs inactifs (dans un serveur multiprocesseur) que de processus + enfants inactifs, ce qui n'est pas une situation très courante.

+ +

Une autre solution, celle qu'utilise Apache, consiste à sérialiser les + entrées dans la boucle interne. La boucle ressemble à ceci (les + différences sont mises en surbrillance) :

+ +
        for (;;) {
+          accept_mutex_on ();
+          for (;;) {
+            fd_set accept_fds;
+            
+            FD_ZERO (&accept_fds);
+            for (i = first_socket; i <= last_socket; ++i) {
+              FD_SET (i, &accept_fds);
+            }
+            rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+            if (rc < 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i <= last_socket; ++i) {
+              if (FD_ISSET (i, &accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          accept_mutex_off ();
+          process the new_connection;
+        }
+ + +

Les fonctions + accept_mutex_on et accept_mutex_off + implémentent un sémaphore permettant une exclusion mutuelle. Un seul + processus enfant à la fois peut posséder le mutex. Plusieurs choix se + présentent pour implémenter ces mutex. Ce choix est défini dans + src/conf.h (versions antérieures à 1.3) ou + src/include/ap_config.h (versions 1.3 ou supérieures). + Certaines architectures ne font pas ce choix du mode de verrouillage ; + l'utilisation de directives + Listen multiples sur ces + architectures est donc peu sûr.

+ +

La directive Mutex permet + de modifier l'implémentation du mutex mpm-accept à + l'exécution. Des considérations spécifiques aux différentes + implémentations de mutex sont documentées avec cette directive.

+ +

Une autre solution qui a été imaginée mais jamais implémentée, consiste + à sérialiser partiellement la boucle -- c'est à dire y faire entrer un + certain nombre de processus. Ceci ne présenterait un intérêt que sur les + machines multiprocesseurs où plusieurs processus enfants peuvent + s'exécuter simultanément, et encore, la sérialisation ne tire pas + vraiment parti de toute la bande passante. C'est une possibilité + d'investigation future, mais demeure de priorité basse car les serveurs + web à architecture hautement parallèle ne sont pas la norme.

+ +

Pour bien faire, vous devriez faire fonctionner votre serveur sans + directives Listen multiples + si vous visez les performances les plus élevées. + Mais lisez ce qui suit.

+ + + +

accept Serialization - point de connexion à un programme (sockets) unique

+ + + +

Ce qui précède convient pour les serveurs à sockets multiples, mais + qu'en est-il des serveurs à socket unique ? En théorie, ils ne + devraient pas rencontrer les mêmes problèmes car tous les processus + enfants peuvent se bloquer dans accept(2) jusqu'à ce qu'une + connexion arrive, et ils ne sont pas utilisés à ne rien faire. En + pratique, ceci dissimule un même comportement de bouclage + discuté plus haut dans la solution non-blocante. De la manière dont + sont implémentées les piles TCP, le noyau réactive véritablement tous les + processus bloqués dans accept quand une seule connexion + arrive. Un de ces processus prend la connexion en compte et retourne + dans l'espace utilisateur, les autres bouclant dans l'espace du + noyau et se désactivant quand ils s'aperçoivent qu'il n'y a pas de + connexion pour eux. Ce bouclage est invisible depuis le code de l'espace + utilisateur, mais il est quand-même présent. Ceci peut conduire à la + même augmentation de charge à perte que la solution non blocante au cas + des sockets multiples peut induire.

+ +

Pour cette raison, il apparaît que de nombreuses architectures se + comportent plus "proprement" si on sérialise même dans le cas d'une socket + unique. Il s'agit en fait du comportement par défaut dans la plupart des + cas. Des expériences poussées sous Linux (noyau 2.0.30 sur un + biprocesseur Pentium pro 166 avec 128 Mo de RAM) ont montré que la + sérialisation d'une socket unique provoque une diminution inférieure à 3% + du nombre de requêtes par secondes par rapport au traitement non + sérialisé. Mais le traitement non sérialisé des sockets uniques induit + un temps de réponse supplémentaire de 100 ms pour chaque requête. Ce + temps de réponse est probablement provoqué par une limitation sur les + lignes à haute charge, et ne constitue un problème que sur les réseaux + locaux. Si vous voulez vous passer de la sérialisation des sockets + uniques, vous pouvez définir + SINGLE_LISTEN_UNSERIALIZED_ACCEPT et les + serveurs à socket unique ne pratiqueront plus du tout la + sérialisation.

+ + + +

Fermeture en prenant son temps (Lingering close)

+ + + +

Comme discuté dans + draft-ietf-http-connection-00.txt section 8, pour implémenter de + manière fiable le protocole, un serveur HTTP doit fermer + les deux directions d'une communication indépendamment (rappelez-vous + qu'une connexion TCP est bidirectionnelle, chaque direction étant + indépendante de l'autre).

+ +

Quand cette fonctionnalité fut ajoutée à Apache, elle causa une + avalanche de problèmes sur plusieurs versions d'Unix à cause d'une + implémentation à courte vue. La spécification TCP ne précise pas que + l'état FIN_WAIT_2 possède un temps de réponse mais elle ne + l'exclut pas. Sur les systèmes qui n'introduisent pas ce temps de + réponse, Apache 1.2 induit de nombreux blocages définitifs de socket + dans l'état FIN_WAIT_2. On peut eviter ceci dans de nombreux + cas tout simplement en mettant à jour TCP/IP avec le dernier patch mis à + disposition par le fournisseur. Dans les cas où le fournisseur n'a + jamais fourni de patch (par exemple, SunOS4 -- bien que les utilisateurs + possédant une license source puissent le patcher eux-mêmes), nous avons + décidé de désactiver cette fonctionnalité.

+ +

Il y a deux méthodes pour arriver à ce résultat. La première est + l'option de socket SO_LINGER. Mais le sort a voulu que cette + solution ne soit jamais implémentée correctement dans la plupart des + piles TCP/IP. Et même dans les rares cas où cette solution a été + implémentée correctement (par exemple Linux 2.0.31), elle se + montre beaucoup plus gourmande (en temps processeur) que la solution + suivante.

+ +

Pour la plus grande partie, Apache implémente cette solution à l'aide + d'une fonction appelée lingering_close (définie dans + http_main.c). La fonction ressemble approximativement à + ceci :

+ +
        void lingering_close (int s)
+        {
+          char junk_buffer[2048];
+          
+          /* shutdown the sending side */
+          shutdown (s, 1);
+
+          signal (SIGALRM, lingering_death);
+          alarm (30);
+
+          for (;;) {
+            select (s for reading, 2 second timeout);
+            if (error) break;
+            if (s is ready for reading) {
+              if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {
+                break;
+              }
+              /* just toss away whatever is here */
+            }
+          }
+          
+          close (s);
+        }
+ + +

Ceci ajoute naturellement un peu de charge à la fin d'une connexion, + mais s'avère nécessaire pour une implémentation fiable. Comme HTTP/1.1 + est de plus en plus présent et que toutes les connexions sont + persistentes, la charge sera amortie par la multiplicité des requêtes. + Si vous voulez jouer avec le feu en désactivant cette fonctionnalité, + vous pouvez définir NO_LINGCLOSE, mais c'est fortement + déconseillé. En particulier, comme les connexions persistantes en + pipeline de HTTP/1.1 commencent à être utilisées, + lingering_close devient une absolue nécessité (et les + + connexions en pipeline sont plus rapides ; vous avez donc tout + intérêt à les supporter).

+ + + +

Fichier tableau de bord (Scoreboard file)

+ + + +

Les processus parent et enfants d'Apache communiquent entre eux à + l'aide d'un objet appelé "Tableau de bord" (Scoreboard). Idéalement, cet + échange devrait s'effectuer en mémoire partagée. Pour les systèmes + d'exploitation auxquels nous avons eu accès, ou pour lesquels nous avons + obtenu des informations suffisamment détaillées pour effectuer un + portage, cet échange est en général implémenté en utilisant la mémoire + partagée. Pour les autres, on utilise par défaut un fichier d'échange sur + disque. Le fichier d'échange sur disque est non seulement lent, mais + aussi peu fiable (et propose moins de fonctionnalités). Recherchez dans + le fichier src/main/conf.h correspondant à votre + architecture soit USE_MMAP_SCOREBOARD, soit + USE_SHMGET_SCOREBOARD. La définition de l'un des deux + (ainsi que leurs compagnons respectifs HAVE_MMAP et + HAVE_SHMGET), active le code fourni pour la mémoire + partagée. Si votre système propose une autre solution pour la gestion de + la mémoire partagée, éditez le fichier src/main/http_main.c + et ajoutez la portion de code nécessaire pour pouvoir l'utiliser dans + Apache (Merci de nous envoyer aussi le patch correspondant).

+ +
Note à caractère historique : le portage d'Apache sous Linux + n'utilisait pas la mémoire partagée avant la version 1.2. Ceci entraînait + un comportement très rudimentaire et peu fiable des versions antérieures + d'Apache sous Linux.
+ + + +

DYNAMIC_MODULE_LIMIT

+ + + +

Si vous n'avez pas l'intention d'utiliser les modules chargés + dynamiquement (ce qui est probablement le cas si vous êtes en train de + lire ce document afin de personnaliser votre serveur en recherchant le + moindre des gains en performances), vous pouvez ajouter la définition + -DDYNAMIC_MODULE_LIMIT=0 à la construction de votre serveur. + Ceci aura pour effet de libérer la mémoire RAM allouée pour le + chargement dynamique des modules.

+ + + +
top
+
+

Appendice : Analyse détaillée d'une trace

+ + + +

Voici la trace d'un appel système d'Apache 2.0.38 avec le MPM worker + sous Solaris 8. Cette trace a été collectée à l'aide de la commande :

+ +

+ truss -l -p httpd_child_pid. +

+ +

L'option -l demande à truss de tracer l'ID du LWP + (lightweight process--la version de Solaris des threads niveau noyau) qui + invoque chaque appel système.

+ +

Les autres systèmes peuvent proposer des utilitaires de traçage + des appels système différents comme strace, + ktrace, ou par. Ils produisent cependant tous une + trace similaire.

+ +

Dans cette trace, un client a demandé un fichier statique de 10 ko au + démon httpd. Le traçage des requêtes pour des contenus non statiques + ou comportant une négociation de contenu a une présentation + différente (et même assez laide dans certains cas).

+ +
/67:    accept(3, 0x00200BEC, 0x00200C0C, 1) (sleeping...)
+/67:    accept(3, 0x00200BEC, 0x00200C0C, 1)            = 9
+ +

Dans cette trace, le thread à l'écoute s'exécute à l'intérieur de + LWP #67.

+ +
Notez l'absence de la sérialisation d'accept(2). Sur + cette plateforme spécifique, le MPM worker utilise un accept non sérialisé + par défaut sauf s'il est en écoute sur des ports multiples.
+ +
/65:    lwp_park(0x00000000, 0)                         = 0
+/67:    lwp_unpark(65, 1)                               = 0
+ +

Après avoir accepté la connexion, le thread à l'écoute réactive un + thread du worker pour effectuer le traitement de la requête. Dans cette + trace, le thread du worker qui traite la requête est associé à + LWP #65.

+ +
/65:    getsockname(9, 0x00200BA4, 0x00200BC4, 1)       = 0
+ +

Afin de pouvoir implémenter les hôtes virtuels, Apache doit connaître + l'adresse du socket local utilisé pour accepter la connexion. On pourrait + supprimer cet appel dans de nombreuses situations (par exemple dans le cas + où il n'y a pas d'hôte virtuel ou dans le cas où les directives + Listen contiennent des adresses + sans caractères de substitution). Mais aucun effort n'a été accompli à ce + jour pour effectuer ces optimisations.

+ +
/65:    brk(0x002170E8)                                 = 0
+/65:    brk(0x002190E8)                                 = 0
+ +

L'appel brk(2) alloue de la mémoire dans le tas. Ceci est + rarement visible dans une trace d'appel système, car le démon httpd + utilise des allocateurs mémoire de son cru (apr_pool et + apr_bucket_alloc) pour la plupart des traitements de requêtes. + Dans cette trace, le démon httpd vient juste de démarrer, et il doit + appeler malloc(3) pour réserver les blocs de mémoire + nécessaires à la création de ses propres allocateurs de mémoire.

+ +
/65:    fcntl(9, F_GETFL, 0x00000000)                   = 2
+/65:    fstat64(9, 0xFAF7B818)                          = 0
+/65:    getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B910, 2190656) = 0
+/65:    fstat64(9, 0xFAF7B818)                          = 0
+/65:    getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B914, 2190656) = 0
+/65:    setsockopt(9, 65535, 8192, 0xFAF7B918, 4, 2190656) = 0
+/65:    fcntl(9, F_SETFL, 0x00000082)                   = 0
+ +

Ensuite, le thread de worker passe la connexion du client (descripteur + de fichier 9) en mode non blocant. Les appels setsockopt(2) + et getsockopt(2) constituent un effet de bord de la manière + dont la libc de Solaris utilise fcntl(2) pour les sockets.

+ +
/65:    read(9, " G E T   / 1 0 k . h t m".., 8000)     = 97
+ +

Le thread de worker lit la requête du client.

+ +
/65:    stat("/var/httpd/apache/httpd-8999/htdocs/10k.html", 0xFAF7B978) = 0
+/65:    open("/var/httpd/apache/httpd-8999/htdocs/10k.html", O_RDONLY) = 10
+ +

Ce démon httpd a été configuré avec les options + Options FollowSymLinks et AllowOverride None. Il + n'a donc ni besoin d'appeler lstat(2) pour chaque répertoire + du chemin du fichier demandé, ni besoin de vérifier la présence de fichiers + .htaccess. Il appelle simplement stat(2) pour + vérifier d'une part que le fichier existe, et d'autre part que c'est un + fichier régulier, et non un répertoire.

+ +
/65:    sendfilev(0, 9, 0x00200F90, 2, 0xFAF7B53C)      = 10269
+ +

Dans cet exemple, le démon httpd peut envoyer l'en-tête de la réponse + HTTP et le fichier demandé à l'aide d'un seul appel système + sendfilev(2). La sémantique de sendfile varie en fonction des + systèmes d'exploitation. Sur certains autres systèmes, il faut faire un + appel à write(2) ou writev(2) pour envoyer les + en-têtes avant d'appeler sendfile(2).

+ +
/65:    write(4, " 1 2 7 . 0 . 0 . 1   -  ".., 78)      = 78
+ +

Cet appel à write(2) enregistre la requête dans le journal + des accès. Notez qu'une des choses manquant à cette trace est un appel à + time(2). A la différence d'Apache 1.3, Apache 2.x utilise + gettimeofday(3) pour consulter l'heure. Sur certains systèmes + d'exploitation, comme Linux ou Solaris, gettimeofday est + implémenté de manière optimisée de telle sorte qu'il consomme moins de + ressources qu'un appel système habituel.

+ +
/65:    shutdown(9, 1, 1)                               = 0
+/65:    poll(0xFAF7B980, 1, 2000)                       = 1
+/65:    read(9, 0xFAF7BC20, 512)                        = 0
+/65:    close(9)                                        = 0
+ +

Le thread de worker effectue une fermeture "en prenant son temps" + (lingering close) de la connexion.

+ +
/65:    close(10)                                       = 0
+/65:    lwp_park(0x00000000, 0)         (sleeping...)
+ +

Enfin, le thread de worker ferme le fichier qu'il vient de délivrer et + se bloque jusqu'à ce que le thread en écoute lui assigne une autre + connexion.

+ +
/67:    accept(3, 0x001FEB74, 0x001FEB94, 1) (sleeping...)
+ +

Pendant ce temps, le thread à l'écoute peut accepter une autre connexion + à partir du moment où il a assigné la connexion présente à un thread de + worker (selon une certaine logique de contrôle de flux dans le MPM worker + qui impose des limites au thread à l'écoute si tous les threads de worker + sont occupés). Bien que cela n'apparaisse pas dans cette trace, + l'accept(2) suivant peut (et le fait en général, en situation + de charge élevée) s'exécuter en parallèle avec le traitement de la + connexion qui vient d'être acceptée par le thread de worker.

+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/perf-tuning.html.ko.euc-kr b/docs/manual/misc/perf-tuning.html.ko.euc-kr new file mode 100644 index 0000000..bf88b86 --- /dev/null +++ b/docs/manual/misc/perf-tuning.html.ko.euc-kr @@ -0,0 +1,1006 @@ + + + + + +¾ÆÆÄÄ¡ ¼º´ÉÇâ»ó - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ ¼º´ÉÇâ»ó

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +

¾ÆÆÄÄ¡ 2.0Àº ±â´É°ú Æ÷Æð¡´É¼º°ú ¼º´ÉÀÇ ±ÕÇüÀÌ ¸Âµµ·Ï + ¼³°èÇÑ ¹ü¿ë À¥¼­¹öÀÌ´Ù. º¥Ä¡¸¶Å© ±â·ÏÀ» ¼¼¿ì±âÀ§ÇØ ¼³°èÇÏÁö + ¾Ê¾ÒÁö¸¸ ¾ÆÆÄÄ¡ 2.0Àº ½ÇÁ¦ ¸¹Àº °æ¿ì ³ôÀº ¼º´ÉÀ» ³½´Ù.

+ +

¾ÆÆÄÄ¡ 1.3°ú ºñ±³Çؼ­ 2.0 ¹öÀüÀº 󸮷®°ú È®À强(scalability)À» + ³ôÀ̱âÀ§ÇØ ¸¹Àº ÃÖÀûÈ­¸¦ Çß´Ù. ±âº»°ªÀ¸·Î ´ëºÎºÐ ÃÖÀûÈ­ÇÑ + °ªÀ» »ç¿ëÇÑ´Ù. ±×·¯³ª ÄÄÆÄÀϽà ȤÀº ½ÇÇà½Ã ¼³Á¤ÀÌ ¼º´É¿¡ + Å« ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ 2.0ÀÇ ¼º´ÉÀ» Çâ»óÇϱâÀ§ÇØ + ¼­¹ö °ü¸®ÀÚ°¡ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀ» ¼³¸íÇÑ´Ù. ¾î¶² ¼³Á¤ + ¿É¼ÇÀº À¥¼­¹ö°¡ Çϵå¿þ¾î¿Í ¿î¿µÃ¼Á¦ÀÇ ±â´ÉÀ» ´õ Àß È°¿ëÇϵµ·Ï + ÇÏ´Â ¹Ý¸é, ¾î¶² ¿É¼ÇÀº ¼Óµµ¸¦ À§ÇØ ±â´ÉÀ» Èñ»ýÇÑ´Ù.

+ +
+ +
top
+
+

Çϵå¿þ¾î¿Í ¿î¿µÃ¼Á¦¿¡ ´ëÇؼ­

+ + + +

À¥¼­¹ö ¼º´É¿¡ °¡Àå Å« ¿µÇâÀ» ÁÖ´Â °ÍÀº ¸Þ¸ð¸®´Ù. ½º¿ÒÀº + ¿äû´ç Áö¿¬½Ã°£À» »ç¿ëÀÚ°¡ "ÃæºÐÈ÷ ºü¸£´Ù°í" »ý°¢ÇÏÁö ¸øÇÏ°Ô + ´Ã¸®±â¶§¹®¿¡ À¥¼­¹ö´Â ½º¿ÒÀ» ÇÏ¸é ¾ÈµÈ´Ù. ´À·ÁÁö¸é »ç¿ëÀÚ´Â + Á¤ÁöÇÏ°í ´Ù½Ã Á¢¼ÓÇÏ¿© ºÎÇÏ°¡ °è¼Ó Áõ°¡ÇÑ´Ù. MaxClients Áö½Ã¾î¸¦ Á¶ÀýÇÏ¿© + À¥¼­¹ö°¡ ½º¿ÒÀ» ÇÒ Á¤µµ·Î ¸¹Àº ÀÚ½ÄÀ» ¸¸µéÁö¾Êµµ·Ï ÇØ¾ß + ÇÑ´Ù. ¹æ¹ýÀº °£´ÜÇÏ´Ù: top°ú °°Àº µµ±¸¿¡¼­ + ÇÁ·Î¼¼½º ¸ñ·ÏÀ» º¸°í ¾ÆÆÄÄ¡ ÇÁ·Î¼¼½ºÀÇ Æò±Õ ¸Þ¸ð¸® »ç¿ë·®À» + ¾Ë¾Æ³½ÈÄ, Àüü »ç¿ë°¡´ÉÇÑ ¸Þ¸ð¸®¿¡¼­ ´Ù¸¥ ÇÁ·Î¼¼½ºµéÀÌ »ç¿ëÇÒ + °ø°£À» »« °ª¿¡¼­ ³ª´«´Ù.

+ +

³ª¸ÓÁö´Â Æò¹üÇÏ´Ù: ÃæºÐÈ÷ ºü¸¥ CPU, ÃæºÐÈ÷ ºü¸¥ ³×Æ®¿÷Ä«µå, + ÃæºÐÈ÷ ºü¸¥ µð½ºÅ©, ¿©±â¼­ "ÃæºÐÈ÷ ºü¸¥"Àº ½ÇÇèÀ» Çؼ­ °áÁ¤ÇØ¾ß + ÇÑ´Ù.

+ +

¿î¿µÃ¼Á¦´Â º¸Åë °¢ÀÚ ¾Ë¾Æ¼­ ¼±ÅÃÇÒ ÀÏÀÌ´Ù. ±×·¯³ª ÀϹÝÀûÀ¸·Î + À¯¿ëÇÏ´Ù°í ÆǸíµÈ ¸î°¡Áö ÁöħÀÌ ÀÖ´Ù:

+ +
    +
  • +

    ¼±ÅÃÇÑ ¿î¿µÃ¼Á¦ÀÇ ÃֽŠ¾ÈÁ¤ ¹öÀü°ú ÆÐÄ¡¸¦ ½ÇÇàÇÑ´Ù. + ¸¹Àº ¿î¿µÃ¼Á¦ Á¦ÀÛ»ç´Â ÃÖ±Ù TCP ½ºÅðú ¾²·¹µå ¶óÀ̺귯¸®¿¡ + ¸¹Àº ¼ÓµµÇâ»óÀ» Çß´Ù.

    +
  • + +
  • +

    ¿î¿µÃ¼Á¦°¡ sendfile(2) ½Ã½ºÅÛÈ£ÃâÀ» + Áö¿øÇÑ´Ù¸é, À̸¦ »ç¿ëÇϱâÀ§ÇÑ ¹öÀüÀ̳ª ÆÐÄ¡¸¦ ¼³Ä¡ÇÏ¿´´ÂÁö + È®ÀÎÇÑ´Ù. (¿¹¸¦ µé¾î, ¸®´ª½º¶ó¸é 2.4 ÀÌ»ó ¹öÀüÀ» ¶æÇÑ´Ù. + Solaris 8 Ãʱ⠹öÀüÀº ÆÐÄ¡°¡ ÇÊ¿äÇÏ´Ù.) Áö¿øÇÏ´Â ½Ã½ºÅÛÀ̶ó¸é + ¾ÆÆÄÄ¡ 2´Â sendfileÀ» »ç¿ëÇÏ¿© CPU¸¦ ´ú + »ç¿ëÇϸç Á¤Àû ÆÄÀÏÀ» ´õ »¡¸® Àü¼ÛÇÒ ¼ö ÀÕ´Ù.

    +
  • +
+ +
top
+
+

½ÇÇà½Ã ¼³Á¤¿¡ ´ëÇؼ­

+ + + + + +

HostnameLookups¿Í DNS¿¡ ´ëÇØ °í·ÁÇÒ Á¡µé

+ + + +

¾ÆÆÄÄ¡ 1.3 ÀÌÀü¿¡ HostnameLookupsÀÇ ±âº»°ªÀº + OnÀÌ¿´´Ù. ¿äûÀ» ¸¶Ä¡±âÀü¿¡ DNS °Ë»öÀÌ ³¡³ª¾ß + ÇϹǷΠ¿äû¸¶´Ù Áö¿¬ÀÌ »ý°å´Ù. ¾ÆÆÄÄ¡ 1.3¿¡¼­ ÀÌ ¼³Á¤ÀÇ + ±âº»°ªÀÌ Off·Î º¯°æµÇ¾ú´Ù. ·Î±×ÆÄÀÏÀÇ ÁÖ¼Ò¸¦ + È£½ºÆ®¸íÀ¸·Î º¯È¯ÇÏ·Á¸é ¿©·¯ ·Î±×ó¸® ÇÁ·Î±×·¥Áß ÇϳªÀÎ, + ¾ÆÆÄÄ¡¿¡ Æ÷ÇÔµÈ logresolve + ÇÁ·Î±×·¥À» »ç¿ëÇ϶ó.

+ +

·Î±×ó¸® ÀÛ¾÷ÀÌ ¼­¹ö ¼º´É¿¡ ¾Ç¿µÇâÀ» ¹ÌÄ¡¹Ç·Î ½ÇÁ¦ + »ç¿ëÇÏ´Â À¥¼­¹ö°¡ ¾Æ´Ñ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼­ ·Î±×ÆÄÀÏÀ» ÈÄó¸®Çϱæ + ¹Ù¶õ´Ù.

+ +

Allow + from domainÀ̳ª Deny from domain + Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù¸é (Áï, IP ÁÖ¼Ò°¡ ¾Æ´Ñ È£½ºÆ®¸íÀ̳ª µµ¸ÞÀθíÀ» + »ç¿ëÇÑ´Ù¸é) ºÎµæÀÌ Áߺ¹-¿ª DNS °Ë»öÀ» (¿ª°Ë»öÀ» ÇÑÈÄ ¾ÇÀÇ·Î + º¯°æµÇ¾ú´ÂÁö È®ÀÎÇϱâÀ§ÇØ ´Ù½Ã °Ë»ö) ÇØ¾ß ÇÑ´Ù. ±×·¯¹Ç·Î + ¼º´ÉÀ» ³ôÀ̱âÀ§ÇØ ÀÌ·± Áö½Ã¾î¿¡´Â °¡´ÉÇϸé À̸§´ë½Å IP + ÁÖ¼Ò¸¦ »ç¿ëÇÑ´Ù.

+ +

<Location /server-status> ¼½¼Ç µîÀ¸·Î + Áö½Ã¾îÀÇ Àû¿ë¹üÀ§¸¦ Á¦ÇÑÇÒ ¼ö ÀÖÀ½À» ±â¾ïÇ϶ó. ÀÌ °æ¿ì + Á¶°Ç¿¡ ¸Â´Â ¿äû¿¡¸¸ DNS Á¶È¸¸¦ ÇÑ´Ù. ´ÙÀ½Àº + .html°ú .cgi ÆÄÀϸ¸ DNS °Ë»öÀ» + ÇÏ´Â ¿¹Á¦´Ù:

+ +

+ HostnameLookups off
+ <Files ~ "\.(html|cgi)$">
+ + HostnameLookups on
+
+ </Files> +

+ +

±×·¯³ª CGI¿¡¼­ DNS¸íÀÌ ÇÊ¿äÇÒ »ÓÀ̶ó¸é, ÇÊ¿äÇÑ Æ¯Á¤ + CGI¿¡¼­¸¸ gethostbyname È£ÃâÀ» Çϵµ·Ï °í·ÁÇغ¼ + ¼ö ÀÖ´Ù.

+ + + +

FollowSymLinks¿Í SymLinksIfOwnerMatch

+ + + +

URL °ø°£¿¡¼­ Options FollowSymLinks¸¦ + »ç¿ëÇÏÁö¾Ê°í Options SymLinksIfOwnerMatch¸¦ + »ç¿ëÇÏ¸é ¾ÆÆÄÄ¡´Â ½Éº¼¸µÅ©¸¦ °Ë»çÇϱâÀ§ÇØ ½Ã½ºÅÛÈ£ÃâÀ» + Çѹø ´õ ÇØ¾ß ÇÑ´Ù. ÆÄÀϸíÀÇ °¢ ºÎºÐ¸¶´Ù Çѹø¾¿ ´õ È£ÃâÀ» + ÇÑ´Ù. ¿¹¸¦ µé¾î, ¼³Á¤ÀÌ ´ÙÀ½°ú °°°í:

+ +

+ DocumentRoot /www/htdocs
+ <Directory />
+ + Options SymLinksIfOwnerMatch
+
+ </Directory> +

+ +

/index.html URI¿¡ ´ëÇÑ ¿äûÀÌ ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. + ±×·¯¸é ¾ÆÆÄÄ¡´Â /www, /www/htdocs, + /www/htdocs/index.html °¢°¢¿¡ ´ëÇØ + lstat(2)¸¦ È£ÃâÇÑ´Ù. lstats + °á°ú¸¦ ij½ÌÇÏÁö ¾Ê±â¶§¹®¿¡ ¿äûÀÌ µé¾î¿Ã ¶§¸¶´Ù ¸Å¹ø °°Àº + ÀÛ¾÷À» ÇÑ´Ù. ÁøÂ¥ ½Éº¼¸µÅ© º¸¾È °Ë»ç¸¦ ¿øÇÑ´Ù¸é ´ÙÀ½°ú + °°ÀÌ ÇÒ ¼ö ÀÖ´Ù:

+ +

+ DocumentRoot /www/htdocs
+ <Directory />
+ + Options FollowSymLinks
+
+ </Directory>
+
+ <Directory /www/htdocs>
+ + Options -FollowSymLinks +SymLinksIfOwnerMatch
+
+ </Directory> +

+ +

ÀÌ °æ¿ì ÃÖ¼ÒÇÑ DocumentRoot °æ·Î´Â °Ë»çÇÏÁö + ¾Ê´Â´Ù. DocumentRoot ¹Û¿¡ ÀÖ´Â °æ·Î·Î Alias³ª RewriteRuleÀ» »ç¿ëÇÑ + °æ¿ì¿¡µµ À§¿Í ºñ½ÁÇÑ ¼½¼ÇÀÌ ÇÊ¿äÇÏ´Ù. ½Éº¼¸µÅ© º¸¾ÈÀ» + °í·ÁÇÏÁö ¾Ê°í ÃÖ°íÀÇ ¼º´ÉÀ» ¾òÀ¸·Á¸é, + FollowSymLinks¸¦ ¼³Á¤ÇÏ°í, + SymLinksIfOwnerMatch´Â Àý´ë·Î ¾ÈµÈ´Ù.

+ + + +

AllowOverride

+ + + +

URL °ø°£¿¡¼­ overrides¸¦ Çã¿ëÇÑ´Ù¸é (º¸Åë + .htaccess ÆÄÀÏ) ¾ÆÆÄÄ¡´Â ÆÄÀϸíÀÇ °¢ ºÎºÐ¸¶´Ù + .htaccess¸¦ ¿­±æ ½ÃµµÇÑ´Ù. ¿¹¸¦ µé¾î,

+ +

+ DocumentRoot /www/htdocs
+ <Directory />
+ + AllowOverride all
+
+ </Directory> +

+ +

/index.html URI¿¡ ´ëÇÑ ¿äûÀÌ ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. + ¾ÆÆÄÄ¡´Â /.htaccess, /www/.htaccess, + /www/htdocs/.htaccess¸¦ ¿­·Á°í ½ÃµµÇÑ´Ù. + ÇØ°áÃ¥Àº ¾ÕÀÇ Options FollowSymLinks °æ¿ì¿Í + ºñ½ÁÇÏ´Ù. ÃÖ°íÀÇ ¼º´ÉÀ» ¾òÀ¸·Á¸é ÆÄÀϽýºÅÛ¿¡ ´ëÇؼ­ Ç×»ó + AllowOverride NoneÀ» »ç¿ëÇÑ´Ù.

+ + + +

³»¿ëÇù»ó

+ + + +

°¡´ÉÇÏ°í ÁøÂ¥ Á¶±ÝÀÇ ¼º´ÉÇâ»ó¿¡µµ °ü½ÉÀÌ ÀÖ´Ù¸é ³»¿ëÇù»óÀ» + ¸·´Â´Ù. ½ÇÁ¦·Î Çù»óÀÇ À̵æÀº ¼º´ÉÀúÇϺ¸´Ù ÀÛ´Ù. ¼­¹ö¸¦ + ºü¸£°Ô ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ ¿ÍÀϵåÄ«µå¸¦ »ç¿ëÇÏ´Â ´ë½Å:

+ +

+ DirectoryIndex index +

+ +

¿ÏÀüÇÑ ¸ñ·ÏÀ» »ç¿ëÇÑ´Ù:

+ +

+ DirectoryIndex index.cgi index.pl index.shtml index.html +

+ +

°¡Àå ÈçÇÑ °ÍÀ» ¾Õ¿¡ µÐ´Ù.

+ +

¶Ç, µð·ºÅ丮¿¡¼­ ÆÄÀϵéÀ» ã´Â MultiViews + º¸´Ù´Â, ÇÑ ÆÄÀϸ¸ ÀÐÀ¸¸é ÇÊ¿äÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â + type-map ÆÄÀÏÀ» Á÷Á¢ ¸¸µå´Â °ÍÀÌ ´õ ºü¸§À» + ¸í½ÉÇ϶ó.

+ +

»çÀÌÆ®¿¡ ³»¿ëÇù»óÀÌ ÇÊ¿äÇÏ´Ù¸é Çù»óÀ» À§ÇØ Options + MultiViews Áö½Ã¾î¸¦ »ç¿ëÇϱ⺸´Ù type-map + ÆÄÀÏÀ» °í·ÁÇ϶ó. Çù»ó¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í°ú + type-map ÆÄÀÏÀ» ¸¸µå´Â ¹æ¹ýÀº ³»¿ëÇù»ó ¹®¼­¸¦ Âü°íÇ϶ó.

+ + + +

¸Þ¸ð¸®´ëÀÀ (memory-mapping)

+ + + +

¿¹¸¦ µé¾î, server-side-include¸¦ ó¸®ÇÏ´Â µî ¾ÆÆÄÄ¡ + 2.0ÀÌ Àü¼ÛÇÒ ÆÄÀÏÀ» ÀÐÀ»¶§ ¿î¿µÃ¼Á¦°¡ mmap(2) + µîÀ» Áö¿øÇÑ´Ù¸é ÆÄÀÏÀ» ¸Þ¸ð¸®´ëÀÀÇÑ´Ù.

+ +

¿©·¯ Ç÷¡Æû¿¡¼­ ¸Þ¸ð¸®´ëÀÀÀ» ¼º´ÉÀ» Çâ»óÇÑ´Ù. ±×·¯³ª + ¸Þ¸ð¸®´ëÀÀÀÌ ¼­¹öÀÇ ¼º´ÉÀ» ¶³¾îÆ®¸®°í ½ÉÁö¾î ¾ÈÁ¤¼ºÀ» + ÇØÄ¡´Â °æ¿ì°¡ ÀÖ´Ù:

+ +
    +
  • +

    ¾î¶² ¿î¿µÃ¼Á¦¿¡¼­ mmapÀº CPU °³¼ö°¡ + ¸¹¾ÆÁú¶§ read(2) ¸¸Å­ È®À强ÀÌ ÁÁÁö ¾Ê´Ù. + ¿¹¸¦ µé¾î, ´ÙÁßÇÁ·Î¼¼¼­ Solaris ¼­¹ö¿¡¼­ ¾ÆÆÄÄ¡ 2.0Àº + Á¾Á¾ mmapÀ» »ç¿ëÇÏÁö ¾ÊÀ»¶§ ¼­¹ö°¡ ó¸®ÇÑ + ÆÄÀÏÀ» ´õ »¡¸® Àü¼ÛÇÑ´Ù.

    +
  • + +
  • +

    NFS ¸¶¿îÆ®ÇÑ ÆÄÀϽýºÅÛ¿¡ ÀÖ´Â ÆÄÀÏÀ» ¸Þ¸ð¸®´ëÀÀÇÏ´Â + µµÁß¿¡ ´Ù¸¥ NFS Ŭ¶óÀ̾ðÆ®¿¡ ÀÖ´Â ÇÁ·Î¼¼½º°¡ ÆÄÀÏÀ» + Áö¿ì°Å³ª ÆÄÀÏÅ©±â¸¦ ÁÙÀ̸é, À¥¼­¹ö ÇÁ·Î¼¼½º°¡ ´ÙÀ½ + ¹ø¿¡ ¸Þ¸ð¸®´ëÀÀÇÑ ÆÄÀϳ»¿ëÀ» ÀÐÀ»¶§ bus error°¡ ¹ß»ýÇÒ + ¼ö ÀÖ´Ù.

    +
  • +
+ +

À§ÀÇ Á¶°Ç¿¡ ÇØ´çÇϸé Àü¼ÛÇÏ´Â ÆÄÀÏÀ» ¸Þ¸ð¸®´ëÀÀÇÏÁö + ¾Êµµ·Ï EnableMMAP off¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. (ÁÖÀÇ: + ÀÌ Áö½Ã¾î´Â µð·ºÅ丮º°·Î º¯°æÇÒ ¼ö ÀÖ´Ù.)

+ + + +

Sendfile

+ + + +

¾ÆÆÄÄ¡´Â ¿î¿µÃ¼Á¦°¡ sendfile(2)À» Áö¿øÇϸé + Ä¿³Î sendfileÀ» »ç¿ëÇÏ¿© -- ¿¹¸¦ µé¾î, Á¤Àû ÆÄÀÏÀ» ¼­ºñ½ºÇÒ¶§ + -- Àü¼ÛÇÒ ÆÄÀÏÀ» Á÷Á¢ ÀÐÁö¾ÊÀ» ¼ö ÀÖ´Ù.

+ +

¿©·¯ Ç÷¡Æû¿¡¼­ sendfileÀ» »ç¿ëÇϸé read¿Í send¸¦ µû·Î + ÇÒ ÇÊ¿ä°¡ ¾ø¾î¼­ »¡¶óÁø´Ù. ±×·¯³ª sendfileÀ» »ç¿ëÇϸé + À¥¼­¹öÀÇ ¾ÈÁ¤¼ºÀ» ÇØÄ¡°ÔµÇ´Â °æ¿ì°¡ ÀÖ´Ù:

+ +
    +
  • +

    sendfile Áö¿øÀÌ À߸øµÇ¾ú°í ÄÄÆÄÀÏ ½Ã½ºÅÛÀÌ ÀÌÁ¡À» + ¹ß°ßÇÏÁö ¸øÇÏ´Â Ç÷¡ÆûÀÌ ÀÖ´Ù. ƯÈ÷ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼­ + ½ÇÇàÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ¿© sendfile Áö¿øÀÌ À߸øµÈ ÄÄÇ»ÅÍ·Î + °¡Á®¿Â °æ¿ì¿¡ °¡´ÉÇÏ´Ù.

    +
  • +
  • +

    Ä¿³ÎÀº ÀÚ½ÅÀÇ Ä³½¬¸¦ »ç¿ëÇÏ¿© NFS·Î ¸¶¿îÆ®ÇÑ ÆÄÀÏÀ» + ¾ÈÁ¤ÀûÀ¸·Î ¼­ºñ½ºÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ´Ù.

    +
  • +
+ +

À§ÀÇ Á¶°Ç¿¡ ÇØ´çÇϸé ÆÄÀÏÀ» sendfile Àü¼ÛÇÏÁö ¾Êµµ·Ï + EnableSendfile off¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. (ÁÖÀÇ: + ÀÌ Áö½Ã¾î´Â µð·ºÅ丮º°·Î º¯°æÇÒ ¼ö ÀÖ´Ù.)

+ + + +

ÇÁ·Î¼¼½º »ý¼º

+ + + +

¾ÆÆÄÄ¡ 1.3 ÀÌÀü¿¡´Â MinSpareServers, MaxSpareServers, StartServers ¼³Á¤ÀÌ ¸ðµÎ + º¥Ä¡¸¶Å© °á°ú¿¡ Å« ¿µÇâÀ» ¹ÌÃÆ´Ù. ƯÈ÷ ¾ÆÆÄÄ¡´Â ÀÛ¾÷À» + ¼­ºñ½ºÇϱâÀ§ÇØ ÃæºÐÇÑ Àڽļö¿¡ ´Ù´Ù¸¦ ¶§±îÁö "µµ´Þ" ±â°£ÀÌ + ÇÊ¿äÇß´Ù. óÀ½ StartServers°³ ÀÚ½ÄÀ» + ¸¸µçÈÄ, MinSpareServers + ¼³Á¤°ª±îÁö ÃÊ´ç ÀÚ½ÄÀ» Çϳª¾¿ ¸¸µé¾ú´Ù. ±×·¡¼­ StartServers ±âº»°ªÀÌ + 5ÀÎ ¼­¹ö¿¡ Ŭ¶óÀ̾ðÆ® 100°³°¡ µ¿½Ã¿¡ Á¢¼ÓÇϸé + ºÎÇϸ¦ ó¸®Çϱ⿡ ÃæºÐÇÑ ÀÚ½ÄÀ» ¸¸µé±â±îÁö 95ÃÊ°¡ °É·È´Ù. + ÀÚÁÖ Àç½ÃÀÛÇÏÁö ¾Ê´Â ½ÇÁ¦ ¼­¹ö¿¡¼­´Â Àß µ¿ÀÛÇÏÁö¸¸, 10ºÐ°£¸¸ + ½ÇÇàÇÏ´Â º¥Ä¡¸¶Å© °á°ú´Â ¸Å¿ì ³ª»Ú°Ô ³ª¿Â´Ù.

+ +

ÃÊ´ç ÇÑ°³ ±ÔÄ¢Àº ÀÚ½ÄÀ» »õ·Î ½ÃÀÛÇϸ鼭 ¼­¹ö¿¡ ¹«¸®¸¦ + ÁÖÁö ¾ÊÀ¸·Á°í Á¤Çß´Ù. ÄÄÇ»ÅÍ°¡ ÀÚ½ÄÀ» ½ÃÀÛÇÏ´À¶ó ¹Ù»Ú¸é + ¿äûÀ» ¼­ºñ½ºÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ÀÌ ±ÔÄ¢ÀÌ ¾ÆÆÄÄ¡ÀÇ Ã¼°¨ + ¼º´É¿¡ ¾Ç¿µÇâÀ» ÁÖ¾î º¯°æÇÏ¿´´Ù. ¾ÆÆÄÄ¡ 1.3¿¡¼­ ÃÊ´ç ÇÑ°³ + ±ÔÄ¢Àº ¿ÏÈ­µÇ¾ú´Ù. ÄÚµå´Â ÀÚ½Ä ÇÑ°³¸¦ ¸¸µé°í, 1ÃÊ ½¬°í, + µÎ°³¸¦ ¸¸µé°í, 1ÃÊ ½¬°í, ³×°³¸¦ ¸¸µé°í, ÀÌ·± ½ÄÀ¸·Î ÃÊ´ç + ÀÚ½ÄÀ» 32°³ ¸¸µé¶§±îÁö Áö¼ö·Î Áõ°¡ÇÑ´Ù. Àڽļö°¡ MinSpareServers ¼³Á¤¿¡ ´Ù´Ù¸£¸é + Áõ°¡¸¦ Áß´ÜÇÑ´Ù.

+ +

ÀÌ °æ¿ì ¹ÝÀÀ¼Óµµ°¡ »¡¶óÁ®¼­ MinSpareServers, MaxSpareServers, StartServers¸¦ °ÅÀÇ ¼³Á¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ÀÏÃÊ¿¡ + ÀÚ½ÄÀ» 4°³ ÀÌ»ó »ý¼ºÇϸé ErrorLog¿¡ ±â·ÏÇÑ´Ù. ÀÌ·± ¿À·ù¹®ÀÌ + ¸¹ÀÌ º¸À̸é ÀÌ ¼³Á¤µéÀ» Á¶ÀýÇÏ±æ ¹Ù¶õ´Ù. + mod_status °á°ú°¡ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

+ +

ÇÁ·Î¼¼½º »ý¼º°ú °ü·ÃÇÏ¿© MaxRequestsPerChild ¼³Á¤Àº + ÇÁ·Î¼¼½º¸¦ Á¾·áÇÑ´Ù. ±âº»°ªÀº ÀڽĴç ó¸®ÇÒ ¿äû¼ö¿¡ Á¦ÇÑÀÌ + ¾ø´Ù´Â 0ÀÌ´Ù. ÇöÀç ¼³Á¤ÀÌ 30°ú + °°ÀÌ ¸Å¿ì ÀÛÀº °ªÀ¸·Î ¼³Á¤µÇÀÖ´Ù¸é, °ªÀ» »ó´çÈ÷ ³ôÈú ÇÊ¿ä°¡ + ÀÖ´Ù. SunOS³ª ¿À·¡µÈ Solaris ¹öÀüÀ» »ç¿ëÇÑ´Ù¸é, ¸Þ¸ð¸®À¯Ã⶧¹®¿¡ + ÀÌ °ªÀ» 10000 Á¤µµ·Î ¼³Á¤Ç϶ó.

+ +

¿¬°áÀ¯Áö(keep-alive)¸¦ »ç¿ëÇÑ´Ù¸é ÀڽĵéÀº ÀÌ¹Ì ¿­¸° + ¿¬°á¿¡¼­ Ãß°¡ ¿äûÀ» ±â´Ù¸®¸ç ¾Æ¹«°Íµµ ÇÏÁö¾Ê±â¶§¹®¿¡ °è¼Ó + ¹Ù»Ú´Ù. KeepAliveTimeoutÀÇ + ±âº»°ª 15 ÃÊ´Â ÀÌ·± Çö»óÀ» ÃÖ¼ÒÈ­ÇÑ´Ù. ³×Æ®¿÷ + ´ë¿ªÆø°ú ¼­¹ö ÀÚ¿ø °£ÀÇ ±ÕÇüÀÌ ¸Â°Ô ¼³Á¤ÇÑ´Ù. + ¿¬°áÀ¯ÁöÀÇ ´ëºÎºÐÀÇ ÀÌÁ¡ÀÌ »ç¶óÁö±â¶§¹®¿¡ ¾î¶² °æ¿ì¿¡µµ + ÀÌ °ªÀ» 60 ÃÊ ÀÌ»óÀ¸·Î ¿Ã¸®Áö ¸¶¶ó.

+ + + +
top
+
+

ÄÄÆÄÀϽà ¼³Á¤¿¡ ´ëÇؼ­

+ + + +

MPM ¼±ÅÃ

+ + + +

¾ÆÆÄÄ¡ 2.x´Â ´ÙÁß󸮸ðµâ + (MPMs)À̶ó´Â ±³Ã¼ÇÒ ¼ö ÀÖ´Â µ¿±âÈ­ ¸ðµ¨À» Áö¿øÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ + ÄÄÆÄÀÏÇÒ¶§ MPMÀ» ¼±ÅÃÇØ¾ß ÇÑ´Ù. beos, + mpm_netware, mpmt_os2, + mpm_winnt¿Í °°ÀÌ Æ¯Á¤ Ç÷¡Æû¿¡¼­¸¸ »ç¿ëÇÒ + ¼ö ÀÖ´Â MPMµµ ÀÖ´Ù. ÀϹÝÀûÀÎ À¯´Ð½º·ù ½Ã½ºÅÛÀº ¿©·¯ MPM + Áß¿¡ Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. À¥¼­¹öÀÇ ¼Óµµ¿Í + È®À强(scalability)Àº ¾î¶² MPMÀ» ¼±ÅÃÇ߳Ŀ¡ ´Þ·È´Ù:

+ +
    + +
  • worker MPMÀº ¿©·¯ ÀÚ½Ä ÇÁ·Î¼¼½º°¡ + °¢°¢ ¿©·¯ ¾²·¹µå¸¦ »ç¿ëÇÑ´Ù. °¢ ¾²·¹µå´Â Çѹø¿¡ ÇÑ ¿¬°áÀ» + ´ã´çÇÑ´Ù. ÀϹÝÀûÀ¸·Î worker´Â prefork MPM º¸´Ù ÀûÀº + ¸Þ¸ð¸®¸¦ »ç¿ëÇϹǷΠÅë½Å·®ÀÌ ¸¹Àº ¼­¹ö¿¡ ÀûÀýÇÏ´Ù.
  • + +
  • prefork MPMÀº ¾²·¹µå°¡ ÇÑ°³ÀÎ ÀÚ½Ä + ÇÁ·Î¼¼½º¸¦ ¿©·¯°³ »ç¿ëÇÑ´Ù. °¢ ÇÁ·Î¼¼½º´Â Çѹø¿¡ ÇÑ + ¿¬°áÀ» ´ã´çÇÑ´Ù. ¿©·¯ ½Ã½ºÅÛ¿¡¼­ preforkÀÇ ¼Óµµ´Â worker¿Í + ºñ½ÁÇÏÁö¸¸, ´õ ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇÑ´Ù. ´ÙÀ½°ú °°Àº »óȲ¿¡¼­ + ¾²·¹µå¸¦ »ç¿ëÇÏÁö ¾Ê´Â prefork ¹æ½ÄÀÌ worker¿¡ ºñÇØ + ÀÌÁ¡À» °¡Áø´Ù: ¾²·¹µå¿¡ ¾ÈÀüÇÏÁö (thread-safe) ¾ÊÀº + Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ°í, ¾²·¹µå µð¹ö±ë Áö¿øÀÌ + ºó¾àÇÑ Ç÷¡Æû¿¡¼­ ½±°Ô µð¹ö±ëÇÒ ¼ö ÀÖ´Ù.
  • + +
+ +

ÀÌ MPMµé°ú ´Ù¸¥ MPM¿¡ ´ëÇØ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â MPM ¹®¼­¸¦ Âü°íÇÏ±æ ¹Ù¶õ´Ù.

+ + + +

¸ðµâ

+ + + +

¸Þ¸ð¸® »ç¿ë·®ÀÌ ¼º´É¿¡¼­ °¡Àå Áß¿äÇÑ ¿äÀÎÀ̱⶧¹®¿¡ + ½ÇÁ¦·Î »ç¿ëÇÏÁö ¾Ê´Â ¸ðµâÀ» Á¦°ÅÇغ¸ÀÚ. ¸ðµâÀ» DSO·Î ÄÄÆÄÀÏÇß´Ù¸é °£´ÜÈ÷ ±× + ¸ðµâ¿¡ ´ëÇÑ LoadModule Áö½Ã¾î¸¦ ÁÖ¼®Ã³¸®Çϸé + µÈ´Ù. ±×·¡¼­ ¸ðµâÀ» Á¦°ÅÇÏ°í ½ÇÇàÇÏ¿© »çÀÌÆ®°¡ ¸ðµâ¾øÀ̵µ + Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ´ÂÁö »ìÆ캼 ¼ö ÀÖ´Ù.

+ +

¹Ý´ë·Î ¸ðµâÀÌ ¾ÆÆÄÄ¡ ½ÇÇàÆÄÀÏ¿¡ Á¤ÀûÀ¸·Î ¸µÅ©µÇÀÖ´Ù¸é + ¿øÇÏÁö ¾Ê´Â ¸ðµâÀ» Á¦°ÅÇϱâÀ§ÇØ ¾ÆÆÄÄ¡¸¦ ÀçÄÄÆÄÀÏÇØ¾ß + ÇÑ´Ù.

+ +

¿©±â¼­ ´ç¿¬È÷ ¾î¶² ¸ðµâÀ» »ç¿ëÇÏ°í »ç¿ëÇÏÁö ¸»Áö + Àǹ®ÀÌ »ý±ä´Ù. Á¤´äÀº À¥»çÀÌÆ®¸¶´Ù ´Ù¸£´Ù. ±×·¯³ª ¾Æ¸¶µµ + ÃÖ¼ÒÇÑ mod_mime, + mod_dir, mod_log_config + ¸ðµâÀº »ç¿ëÇÒ °ÍÀÌ´Ù. ¹°·Ð À¥»çÀÌÆ®¿¡ ·Î±×ÆÄÀÏÀÌ ÇÊ¿ä¾ø´Ù¸é + mod_log_config´Â ¾ø¾îµµ µÈ´Ù. ±×·¯³ª ÃßõÇÏÁö + ¾Ê´Â´Ù.

+ + + +

Atomic ¸í·É

+ + + +

mod_cache °°Àº ¸ðµâ°ú ÃÖ±Ù °³¹ßÁßÀÎ + worker MPMÀº APRÀÇ atomic API¸¦ »ç¿ëÇÑ´Ù. ÀÌ API´Â °æ·®±Þ + ¾²·¹µå µ¿±âÈ­¸¦ À§ÇÒ atomic ¸í·ÉÀ» Á¦°øÇÑ´Ù.

+ +

±âº»ÀûÀ¸·Î APRÀº °¢ ¿î¿µÃ¼Á¦/CPU Ç÷¡Æû¿¡¼­ °¡Àå È¿À²ÀûÀÎ + ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÀÌ ¸í·ÉÀ» ±¸ÇöÇÑ´Ù. ¿¹¸¦ µé¾î, ¿©·¯ ÃֽŠ+ CPU¿¡´Â Çϵå¿þ¾î·Î atomic compare-and-swap (CAS) ¿¬»êÀ» + ÇÏ´Â ¸í·É¾î°¡ ÀÖ´Ù. ±×·¯³ª ¾î¶² Ç÷¡Æû¿¡¼­ APRÀº ÀÌ·± + ¸í·É¾î°¡ ¾ø´Â ¿À·¡µÈ CPU¿Í ȣȯ¼ºÀ» À§ÇØ ´õ ´À¸° mutex±â¹Ý + ±¸ÇöÀ» ±âº»ÀûÀ¸·Î »ç¿ëÇÑ´Ù. ÀÌ·± Ç÷¡Æû¿¡¼­ ¾ÆÆÄÄ¡¸¦ + ÄÄÆÄÀÏÇÒ¶§ ¾ÆÆÄÄ¡¸¦ ÃֽŠCPU¿¡¼­¸¸ ½ÇÇàÇÒ °èȹÀ̶ó¸é, + ¾ÆÆÄÄ¡¸¦ ±¸¼ºÇÒ¶§ --enable-nonportable-atomics + ¿É¼ÇÀ» »ç¿ëÇÏ¿© ´õ ºü¸¥ atomic ±¸ÇöÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù:

+ +

+ ./buildconf
+ ./configure --with-mpm=worker --enable-nonportable-atomics=yes +

+ +

--enable-nonportable-atomics ¿É¼ÇÀº ´ÙÀ½°ú + °°Àº Ç÷¡Æû¿¡ ¿µÇâÀÌ ÀÖ´Ù:

+ +
    + +
  • SPARC¿¡¼­ Solaris
    + ±âº»ÀûÀ¸·Î APRÀº Solaris/SPARC¿¡¼­ mutex±â¹Ý atomicÀ» + »ç¿ëÇÑ´Ù. ±×·¯³ª ±¸¼ºÇÒ¶§ + --enable-nonportable-atomics¸¦ »ç¿ëÇϸé + APRÀº ºü¸¥ Çϵå¿þ¾î compare-and-swapÀ» À§ÇÑ SPARC + v8plus ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù. ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé atomic + ¸í·ÉÀÌ ´õ È¿À²ÀûÀÌÁö¸¸ (CPU¸¦ ´ú »ç¿ëÇÏ°í ´õ ³ôÀº + µ¿±âÈ­°¡ °¡´ÉÇÏ´Ù), ÄÄÆÄÀÏÇÑ ½ÇÇàÆÄÀÏÀº UltraSPARC + Ĩ¿¡¼­¸¸ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. +
  • + +
  • Linux on x86
    + ±âº»ÀûÀ¸·Î APRÀº ¸®´ª½º¿¡¼­ mutex±â¹Ý atomicÀ» + »ç¿ëÇÑ´Ù. ±×·¯³ª ±¸¼ºÇÒ¶§ + --enable-nonportable-atomics¸¦ »ç¿ëÇϸé + APRÀº ºü¸¥ Çϵå¿þ¾î compare-and-swapÀ» À§ÇÑ 486 + ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù. ´õ È¿À²ÀûÀÎ atomic ¸í·ÉÀÌ °¡´ÉÇÏÁö¸¸, + ÄÄÆÄÀÏÇÑ ½ÇÇàÆÄÀÏÀº 486 ÀÌ»ó Ĩ¿¡¼­¸¸ (386Àº ¾ÈµÈ´Ù) + ½ÇÇàÇÒ ¼ö ÀÖ´Ù. +
  • + +
+ + + +

mod_status¿Í ExtendedStatus On

+ + + +

¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÒ¶§ mod_status¸¦ Æ÷ÇÔÇÏ°í + ½ÇÇàÇÒ¶§ ExtendedStatus OnÀ» ¼³Á¤ÇÏ¸é ¾ÆÆÄÄ¡´Â + ¿äûÀ» ¹ÞÀ»¶§¸¶´Ù gettimeofday(2)(ȤÀº ¿î¿µÃ¼Á¦¿¡ + µû¶ó times(2))¸¦ µÎ¹ø È£ÃâÇÏ°í (1.3 ÀÌÀü¿¡´Â) + time(2)µµ Ãß°¡·Î ¿©·¯¹ø È£ÃâÇÑ´Ù. »óÅ º¸°í¼­¿¡ + µ¿À۽ð£ÀÌ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù. ÃÖ»óÀÇ ¼º´ÉÀ» ¾òÀ¸·Á¸é + (±âº»°ªÀÎ) ExtendedStatus off¸¦ ¼³Á¤ÇÑ´Ù.

+ + + +

accept Á÷·ÄÈ­ - ¿©·¯ ¼ÒÄÏ

+ + + +

ÁÖÀÇ:

+

¾Æ·¡ ¹®¼­´Â ¾ÆÆÄÄ¡ À¥¼­¹ö 2.0 ¹öÀü¿¡¼­ º¯°æµÈ ³»¿ëÀ» + ´ã°í ÀÖÁö ¾Ê´Ù. ¾ÆÁ÷µµ À¯È¿ÇÑ Á¤º¸°¡ ÀÖÁö¸¸, ÁÖÀÇÇؼ­ + »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.

+
+ +

À¯´Ð½º ¼ÒÄÏ APIÀÇ ´ÜÁ¡À» ¼³¸íÇÑ´Ù. À¥¼­¹ö°¡ ¿©·¯ Æ÷Æ® + ȤÀº ¿©·¯ ÁÖ¼Ò¸¦ ±â´Ù¸®±âÀ§ÇØ ¿©·¯ ListenÀ» »ç¿ëÇÑ´Ù°í °¡Á¤ÇÏÀÚ. + ¿¬°áÀÌ °¡´ÉÇÑÁö °¢ ¼ÒÄÏÀ» °Ë»çÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â + select(2)¸¦ »ç¿ëÇÑ´Ù. select(2)´Â + ¼ÒÄÏ¿¡ ±â´Ù¸®°í ÀÖ´Â ¿¬°áÀÌ ¾ø´ÂÁö ȤÀº ÃÖ¼ÒÇÑ + ÇÑ°³ ÀÖ´ÂÁö ¾Ë·ÁÁØ´Ù. ¾ÆÆÄÄ¡¿¡´Â ¿©·¯ ÀÚ½ÄÀÌ ÀÖ°í, + ½¬°í ÀÖ´Â ¸ðµç ÀÚ½ÄÀº µ¿½Ã¿¡ »õ·Î¿î ¿¬°áÀ» °Ë»çÇÑ´Ù. ¿ø·¡ + ±¸ÇöÀº ´ÙÀ½°ú ºñ½ÁÇÏ´Ù (ÀÌ ¿¹´Â Äڵ忡¼­ °¡Á®¿ÀÁö ¾Ê¾Ò´Ù. + ´ÜÁö ¼³¸íÇϱâÀ§ÇÑ ¿ëµµ·Î ¸¸µé¾ú´Ù.):

+ +

+ for (;;) {
+ + for (;;) {
+ + fd_set accept_fds;
+
+ FD_ZERO (&accept_fds);
+ for (i = first_socket; i <= last_socket; ++i) {
+ + FD_SET (i, &accept_fds);
+
+ }
+ rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+ if (rc < 1) continue;
+ new_connection = -1;
+ for (i = first_socket; i <= last_socket; ++i) {
+ + if (FD_ISSET (i, &accept_fds)) {
+ + new_connection = accept (i, NULL, NULL);
+ if (new_connection != -1) break;
+
+ }
+
+ }
+ if (new_connection != -1) break;
+
+ }
+ process the new_connection;
+
+ } +

+ +

±×·¯³ª À§ÀÇ ´Ü¼øÇÑ ±¸Çö¿¡´Â ½É°¢ÇÑ °í°¥(starvation) + ¹®Á¦°¡ ÀÖ´Ù. ¿©·¯ ÀÚ½ÄÀÌ µ¿½Ã¿¡ ÀÌ ¹Ýº¹¹®À» ½ÇÇàÇϸé, + ¿äûÀ» ±â´Ù¸®¸ç ¸ðµÎ select¿¡¼­ ¸ØÃá´Ù. À̶§ + ¾î¶² ¼ÒÄÏ¿¡ ¿äûÀÌ Çϳª¶óµµ µé¾î¿À¸é ¸ðµç ÀÚ½ÄÀÌ ±ú¾î³­´Ù + (±ú¾î³ª´Â ÀÚ½ÄÀÇ °³¼ö´Â ¿î¿µÃ¼Á¦¿Í ŸÀֿ̹¡ µû¶ó ´Ù¸£´Ù). + À̵éÀº ¸ðµÎ ¿¬°áÀ» acceptÇÏ±æ ½ÃµµÇÑ´Ù. ±×·¯³ª + (¾ÆÁ÷µµ ÇÑ ¿¬°á¸¸ ´ë±âÁßÀ̶ó¸é) ÇÑ Àڽĸ¸ ¼º°øÇÏ°í, ³ª¸ÓÁö´Â + accept¿¡¼­ ¸ØÃá´Ù. ±×·¯¸é ÀÌ ÀڽĵéÀº + ÇÑ ¼ÒÄÏÀÇ ¿äû¸¸À» ¼­ºñ½ºÇϵµ·Ï ¹­¿©¼­, ±× ¼ÒÄÏÀ¸·Î »õ·Î¿î + ¿äûÀÌ ÃæºÐÈ÷ µé¾î¿Í¼­ ¸ðµç ÀÚ½ÄÀ» ±ú¿ï¶§±îÁö Á¤ÁöÇØÀÖ´Ù. + ÀÌ·± °í°¥ ¹®Á¦´Â PR#467¿¡ + óÀ½ º¸°íµÇ¾ú´Ù. ÃÖ¼ÒÇÑ µÎ°¡Áö ÇØ°áÃ¥ÀÌ ÀÖ´Ù.

+ +

ÇÑ°¡Áö´Â ¼ÒÄÏÀ» ´ë±âÇÏÁö ¾Êµµ·Ï (non-blocking) ¸¸µå´Â + ¹æ¹ýÀÌ´Ù. ÀÌ °æ¿ì ÀÚ½ÄÀÌ accept¸¦ Çصµ ¸ØÃßÁö + ¾Ê°í, Áï½Ã ÁøÇàÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª CPU ½Ã°£À» ³¶ºñÇÑ´Ù. + select¿¡¼­ ½¬´Â ÀÚ½ÄÀÌ 10°³ ÀÖ°í, »õ·Î ¿¬°áÀÌ + ÇÑ°³ µé¾î¿Ô´Ù°í °¡Á¤ÇÏÀÚ. ±×·¯¸é ÀÌ ÀÚ½ÄÁß 9°³´Â ±ú¾î³ª¼­ + ¿¬°áÀ» acceptÇÏ±æ ½ÃµµÇÏ°í ½ÇÆÐÇÏ¸é ¾Æ¹« + Àϵµ ÇÏÁö ¾Ê°í ´Ù½Ã select¸¦ ¹Ýº¹ÇÑ´Ù. ´Ù½Ã + select·Î µ¹¾Æ¿Ã ¶§±îÁö ¾î¶² Àڽĵµ ´Ù¸¥ ¼ÒÄÏ¿¡ + µé¾î¿Â ¿äûÀ» ¼­ºñ½ºÇÏÁö ¾Ê´Â´Ù. (´ÙÁßÇÁ·Î¼¼¼­ ÄÄÇ»ÅÍ¿¡¼­) + ½¬´Â ÀÚ½Ä °³¼ö¸¸Å­ CPU °³¼ö°¡ ÀÖ´Â µå¹® °æ¿ì°¡ ¾Æ´Ï¶ó¸é + ÀÌ ÇØ°áÃ¥Àº º°·Î ÁÁ¾Æº¸ÀÌÁö ¾Ê´Â´Ù.

+ +

´Ù¸¥ ¹æ¹ýÀº ¾ÆÆÄÄ¡°¡ »ç¿ëÇÏ´Â ¹æ¹ýÀ¸·Î ³»ºÎ ¹Ýº¹¹®¿¡ + ÇÑ Àڽĸ¸À» µé¿©º¸³½´Ù. ¹Ýº¹¹®Àº ´ÙÀ½°ú °°´Ù (Â÷À̸¦ + °­Á¶ÇßÀ½):

+ +

+ for (;;) {
+ + accept_mutex_on ();
+ for (;;) {
+ + fd_set accept_fds;
+
+ FD_ZERO (&accept_fds);
+ for (i = first_socket; i <= last_socket; ++i) {
+ + FD_SET (i, &accept_fds);
+
+ }
+ rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+ if (rc < 1) continue;
+ new_connection = -1;
+ for (i = first_socket; i <= last_socket; ++i) {
+ + if (FD_ISSET (i, &accept_fds)) {
+ + new_connection = accept (i, NULL, NULL);
+ if (new_connection != -1) break;
+
+ }
+
+ }
+ if (new_connection != -1) break;
+
+ }
+ accept_mutex_off ();
+ process the new_connection;
+
+ } +

+ +

accept_mutex_on°ú accept_mutex_off + ÇÔ¼ö´Â mutex ¼¼¸¶Æ÷¾î¸¦ + ±¸ÇöÇÑ´Ù. Çѹø¿¡ ¿ÀÁ÷ ÇÑ Àڽĸ¸ÀÌ mutex¸¦ °¡Áú ¼ö ÀÖ´Ù. + mutex¸¦ ±¸ÇöÇÏ´Â ¹æ¹ýÀº ¿©·¯°¡ÁöÀÌ´Ù. ±¸Çö ¹æ¹ýÀº (1.3 + ÀÌÀü) src/conf.h³ª (1.3°ú ±× ÀÌÈÄ) + src/include/ap_config.h¿¡ Á¤ÀǵÇÀÖ´Ù. ¾î¶² + ¾ÆÅ°ÅØÃÄ´Â Àá±Ý(locking) ¹æ¹ýÀ» ¼±ÅÃÇÏÁö ¾Ê±â¶§¹®¿¡, ÀÌ·± + ¾ÆÅ°ÅØÃÄ¿¡¼­ ¿©·¯ Listen Áö½Ã¾î¸¦ »ç¿ëÇϸé + À§ÇèÇÏ´Ù.

+ +

½ÇÇà½Ã AcceptMutex Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + mutex ±¸ÇöÀ» º¯°æÇÒ ¼ö ÀÖ´Ù.

+ +
+
AcceptMutex flock
+ +
+

ÀÌ ¹æ¹ýÀº Àá±ÝÆÄÀÏÀ» Àá±×±âÀ§ÇØ flock(2) + ½Ã½ºÅÛÈ£ÃâÀ» »ç¿ëÇÑ´Ù (Àá±ÝÆÄÀÏ À§Ä¡´Â LockFile Áö½Ã¾î·Î ÁöÁ¤).

+
+ +
AcceptMutex fcntl
+ +
+

ÀÌ ¹æ¹ýÀº Àá±ÝÆÄÀÏÀ» Àá±×±âÀ§ÇØ fcntl(2) + ½Ã½ºÅÛÈ£ÃâÀ» »ç¿ëÇÑ´Ù (Àá±ÝÆÄÀÏ À§Ä¡´Â LockFile Áö½Ã¾î·Î ÁöÁ¤).

+
+ +
AcceptMutex sysvsem
+ +
+

(1.3°ú ±× ÀÌÈÄ) ÀÌ ¹æ¹ýÀ» SysV½Ä ¼¼¸¶Æ÷¾î¸¦ »ç¿ëÇÏ¿© + mutex¸¦ ±¸ÇöÇÑ´Ù. ºÒÇàÈ÷µµ SysV½Ä ¼¼¸¶Æ÷¾î´Â ³ª»Û + ºÎÀÛ¿ëÀÌ ÀÖ´Ù. Çϳª´Â ¾ÆÆÄÄ¡°¡ ¼¼¸¶Æ÷¾î¸¦ Á¤¸®ÇÏÁö + ¾Ê°í Á×À» ¼ö ÀÖ´Â Á¡ÀÌ´Ù (ipcs(8) manpage + Âü°í). ´Ù¸¥ Çϳª´Â À¥¼­¹ö¿Í µ¿ÀÏÇÑ uid·Î ½ÇÇàÇÏ´Â + CGI°¡ (Áï, suexec³ª + cgiwrapper¸¦ »ç¿ëÇÏÁö¾Ê´Â ÇÑ ¸ðµç CGI) + ¼¼¸¶Æ÷¾î API¸¦ »ç¿ëÇÏ¿© ¼­ºñ½º°ÅºÎ°ø°ÝÀ» ÇÒ ¼ö ÀÖ´Â + Á¡ÀÌ´Ù. ÀÌ·± ÀÌÀ¯¶§¹®¿¡ IRIX¸¦ Á¦¿ÜÇÑ ¾ÆÅ°ÅØÃÄ¿¡¼­ + ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù (´ëºÎºÐÀÇ IRIX ÄÄÇ»ÅÍ¿¡¼­ + ¾ÕÀÇ µÎ ¹æ¹ýÀº Áö³ªÄ¡°Ô ¹ö°Ì´Ù).

+
+ +
AcceptMutex pthread
+ +
+

(1.3°ú ±× ÀÌÈÄ) ÀÌ ¹æ¹ýÀº POSIX mutex¸¦ »ç¿ëÇϱ⶧¹®¿¡ + POSIX ¾²·¹µå ±Ô¾àÀ» ¿ÏÀüÈ÷ ±¸ÇöÇÑ ¾ÆÅ°ÅØÃĶó¸é ¸ðµÎ + »ç¿ë°¡´ÉÇÏÁö¸¸, (2.5 ÀÌÈÄ) Solaris¿¡¼­¸¸ ±×°Íµµ ƯÁ¤ + ±¸¼º¿¡¼­¸¸ µ¿ÀÛÇÏ´Â µíÇÏ´Ù. ÀÌ ¹æ¹ýÀ» ½ÃµµÇغ»´Ù¸é + ¼­¹ö°¡ ¸ØÃç¼­ ÀÀ´äÀ» ¾ÈÇÏ´ÂÁö »ìÆìºÁ¾ß ÇÑ´Ù. Á¤Àû + ³»¿ë¸¸ ¼­ºñ½ºÇÏ´Â ¼­¹ö´Â Àß µ¿ÀÛÇÏ´Â °Í °°´Ù.

+
+ +
AcceptMutex posixsem
+ +
+

(2.0°ú ±× ÀÌÈÄ) ÀÌ ¹æ¹ýÀº POSIX ¼¼¸¶Æ÷¾î¸¦ »ç¿ëÇÑ´Ù. + mutex¸¦ °¡Áø ÇÁ·Î¼¼½ºÀÇ ¾²·¹µå°¡ Á״´ٸé(segfault) + ¼¼¸¶Æ÷¾î ¼ÒÀ¯±ÇÀÌ È¸º¹µÇÁö ¾Ê¾Æ¼­ À¥¼­¹ö°¡ ¸ØÃá´Ù.

+
+ +
+ +

½Ã½ºÅÛ¿¡ À§ ¸ñ·Ï¿¡ ¾ø´Â Á÷·ÄÈ­(serialization) ¹æ¹ýÀÌ + ÀÖ´Ù¸é ±× ¹æ¹ýÀ» »ç¿ëÇÏ´Â Äڵ带 APR¿¡ Ãß°¡ÇÒ °¡Ä¡°¡ ÀÖ´Ù.

+ +

°í·Á´Â ÇغÃÁö¸¸ ±¸ÇöÇÏÁö¾ÊÀº ´Ù¸¥ ¹æ¹ýÀº ºÎºÐÀûÀ¸·Î + ¹Ýº¹¹®À» Á÷·ÄÈ­ÇÏ´Â ¹æ¹ýÀÌ´Ù. Áï, ÇÁ·Î¼¼¼­¸¦ ¸î°³¸¸ µé¿©º¸³»´Â + °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀº ¿©·¯ ÀÚ½ÄÀ» µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö À־ + Á÷·ÄÈ­¶§¹®¿¡ Àüü ´ë¿ªÆøÀ» È°¿ëÇÏÁö ¸øÇÏ´Â ´ÙÁßÇÁ·Î¼¼¼­ + ÄÄÇ»ÅÍ¿¡¼­¸¸ °ü½ÉÀ» °¡Á®º¼ ¼ö ÀÖ´Ù. ¾ÕÀ¸·Î »ìÆ캼 ºÎºÐÀÌÁö¸¸, + ¸Å¿ì º´·ÄÈ­µÈ À¥¼­¹ö°¡ ÈçÇÏÁö ¾Ê¾Æ¼­ ¿ì¼±¼øÀ§°¡ ³·´Ù.

+ +

ÃÖ»óÀÇ ¼º´ÉÀ» ¾ò±âÀ§Çؼ­´Â ¿©·¯ Listen ¹®À» »ç¿ëÇÏÁö ¾Ê´Â + °ÍÀÌ ÀÌ»óÀûÀÌ´Ù. ±×·¯³ª °è¼Ó ¼³¸íÇÑ´Ù.

+ + + +

accept Á÷·ÄÈ­ - ¼ÒÄÏ ÇÑ°³

+ + + +

¾ÕÀÇ ¼³¸íÀº ´ÙÁß¼ÒÄÏ ¼­¹ö¿¡´Â ÁÁÁö¸¸, ¼ÒÄÏÀÌ ÇÑ°³ÀÎ + ¼­¹ö´Â ¾î¶²°¡? ¿¬°áÀÌ µµÂøÇÒ¶§±îÁö ¸ðµç ÀÚ½ÄÀÌ + accept(2)¿¡¼­ ¸ØÃçÀֱ⶧¹®¿¡ ÀÌ·Ð»ó °°Àº + ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê°í, °í°¥ ¹®Á¦µµ ¾ø´Ù. ±×·¯³ª ½ÇÁ¦·Î´Â + ¾Õ¿¡¼­ ¸»ÇÑ ´ë±âÇÏÁö ¾Ê´Â (non-blocking) ¹æ¹ý¿¡¼­ ¹ß»ýÇÏ´Â + "°øȸÀü(spinning)" Çö»óÀ» °¨Ãß°í ÀÖ´Ù. ´ëºÎºÐÀÇ TCP ½ºÅÃÀº + ¿¬°áÀÌ µµÂøÇϸé Ä¿³ÎÀÌ accept¿¡¼­ ¸ØÃçÀÖ´Â + ¸ðµç ÀÚ½ÄÀ» ±ú¿ìµµ·Ï ±¸ÇöµÇÀÖ´Ù. ÇÁ·Î¼¼½ºÁß ÇÑ°³°¡ ¿¬°áÀ» + ¾ò°í »ç¿ëÀÚ¿µ¿ªÀ¸·Î µ¹¾Æ°¡°í, ³ª¸ÓÁö´Â Ä¿³Î¿¡¼­ °øȸÀüÇÏ¿© + ¿¬°áÀÌ ¾øÀ½À» ¹ß°ßÇÏ¸é ´Ù½Ã ÀáÀ» ÀÜ´Ù. »ç¿ëÀÚ¿µ¿ª Äڵ忡¼­´Â + ÀÌ·± °øȸÀüÀ» ¾Ë ¼ö ¾øÁö¸¸, ºÐ¸íÈ÷ Á¸ÀçÇÑ´Ù. ±×·¡¼­ ´ÙÁß¼ÒÄÏÀÇ + ´ë±âÇÏÁö ¾Ê´Â ¹æ¹ý°ú µ¿ÀÏÇÏ°Ô ºÎÇϸ¦ ³ôÀÌ´Â ºÒÇÊ¿äÇÑ ÇൿÀÌ + ÀϾ´Ù.

+ +

±×·¡¼­ ¿ì¸®´Â ¿©·¯ ¾ÆÅ°ÅØÃÄ¿¡¼­ ¼ÒÄÏÀÌ ÇÑ°³ÀÎ °æ¿ì¿¡µµ + Á÷·ÄÈ­ÇÏ¸é ´õ "Àß" µ¿ÀÛÇÔÀ» ¹ß°ßÇß´Ù. ±×·¡¼­ °ÅÀÇ ´ëºÎºÐÀÇ + °æ¿ì ±âº»ÀûÀ¸·Î Á÷·ÄÈ­¸¦ »ç¿ëÇÑ´Ù. ¸®´ª½º¿¡¼­ (Ä¿³Î 2.0.30, + 128Mb ¸Þ¸ð¸®¿¡ µà¾ó Pentium pro) ½ÇÇèÇÑ °á°ú ¼ÒÄÏ ÇÑ°³¸¦ + Á÷·ÄÈ­Çϸé ÇÏÁö ¾ÊÀº °æ¿ì¿¡ ºñÇØ ÃÊ´ç ¿äûÀÌ 3% ¹Ì¸¸ + ÁÙ¾îµé¾ú´Ù. ±×·¯³ª Á÷·ÄÈ­¸¦ ÇÏÁö ¾ÊÀº °æ¿ì ¿äû´ç 100ms + Áö¿¬ÀÌ ¹ß»ýÇß´Ù. ÀÌ Áö¿¬Àº ¾Æ¸¶µµ LAN¿¡¼­ ¹ß»ýÇÏ´Â ±ä + ¿¬°á¼±¶§¹®ÀÏ °ÍÀÌ´Ù. ¼ÒÄÏÀÌ ÇÑ°³ÀÎ °æ¿ì Á÷·ÄÈ­¸¦ »ç¿ëÇÏÁö + ¾ÊÀ¸·Á¸é SINGLE_LISTEN_UNSERIALIZED_ACCEPT¸¦ + Á¤ÀÇÇÑ´Ù.

+ + + +

Close Áö¿¬(lingering)

+ + + +

+ draft-ietf-http-connection-00.txt 8Àý¿¡¼­ ¼³¸íÇϵíÀÌ + ¾ÈÁ¤ÀûÀÎ À¥¼­¹ö°¡ µÇ·Á¸é, Åë½ÅÀÇ ¾ç ¹æÇâÀ» + µ¶¸³ÀûÀ¸·Î ´ÝÀ» ¼ö ÀÖ¾î¾ß ÇÑ´Ù (TCP ¿¬°áÀº ½Ö¹æÇâÀÌ°í, + ¹æÇâÀº ¼­·Î µ¶¸³ÀûÀÌ´Ù). ÀÌÁ¡À» ´Ù¸¥ ¼­¹ö¿¡¼­´Â ÀÚÁÖ + °£°úÇÏÁö¸¸, ¾ÆÆÄÄ¡´Â 1.2ºÎÅÍ Á¤È®È÷ ±¸ÇöÇØ¿Ô´Ù.

+ +

ÀÌ ±â´ÉÀ» ºÎÁÖÀÇÇÏ°Ô ¾ÆÆÄÄ¡¿¡ Ãß°¡ÇßÀ»¶§ ¿©·¯ À¯´Ð½º + ¹öÀü¿¡¼­ ¸¹Àº ¹®Á¦°¡ ¹ß»ýÇß´Ù. TCP ±Ô¾àÀº + FIN_WAIT_2¿¡ ŸÀӾƿôÀÌ ÀÖ´Ù°í Á¤ÇÏÁö ¾Ê¾ÒÁö¸¸, + ±ÝÁöÇÏÁöµµ ¾Ê¾Ò´Ù. ŸÀӾƿôÀÌ ¾ø´Â ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡ 1.2´Â + ¸¹Àº ¼ÒÄÏÀ» ¿µ¿øÈ÷ FIN_WAIT_2 »óÅ·Π¸¸µé¾ú´Ù. + ¸¹Àº °æ¿ì ÀÌ ¹®Á¦´Â Á¦Àۻ簡 Á¦°øÇÏ´Â ÃֽŠTCP/IP ÆÐÄ¡¸¦ + Àû¿ëÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª Á¦Àۻ簡 ÆÐÄ¡¸¦ ¹ßÇ¥ÇÏÁö + ¾Ê´Â °æ¿ì°¡ (Áï, SunOS4 -- ¼Ò½º ¶óÀ̼±½º°¡ ÀÖ´Â + »ç¶÷Àº Á÷Á¢ ÆÐÄ¡ÇÒ ¼ö ÀÖÁö¸¸) Àֱ⶧¹®¿¡ ÀÌ ±â´ÉÀ» »ç¿ëÇÏÁö + ¾Ê±â·Î °áÁ¤Çß´Ù.

+ +

¹æ¹ýÀº µÎ°¡Áö´Ù. Çϳª´Â ¼ÒÄÏ ¿É¼Ç SO_LINGER¸¦ + »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ±×·¯³ª ºÒÇàÈ÷µµ ´ëºÎºÐÀÇ TCP/IP ½ºÅÃÀº + ÀÌ ¿É¼ÇÀ» ¿Ã¹Ù·Î ±¸ÇöÇÏÁö ¾Ê¾Ò´Ù. ¿Ã¹Ù·Î ±¸ÇöÇÑ ½ºÅÿ¡¼­ + Á¶Â÷µµ (Áï, ¸®´ª½º 2.0.31) ÀÌ ¹æ¹ýÀº ´ÙÀ½ ¹æ¹ýº¸´Ù + ´õ cpu¸¦ Àâ¾Æ¸Ô´Â´Ù.

+ +

¾ÆÆÄÄ¡´Â º¸Åë (http_main.c¿¡ ÀÖ´Â) + lingering_close¶ó´Â ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ÀÌ ÇÔ¼ö´Â + ´ëÃæ ´ÙÀ½°ú °°´Ù:

+ +

+ void lingering_close (int s)
+ {
+ + char junk_buffer[2048];
+
+ /* shutdown the sending side */
+ shutdown (s, 1);
+
+ signal (SIGALRM, lingering_death);
+ alarm (30);
+
+ for (;;) {
+ + select (s for reading, 2 second timeout);
+ if (error) break;
+ if (s is ready for reading) {
+ + if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {
+ + break;
+
+ }
+ /* just toss away whatever is here */
+
+ }
+
+ }
+
+ close (s);
+
+ } +

+ +

ÀÌ ÄÚµå´Â ¿¬°áÀ» ´ÝÀ»¶§ ´õ CPU¸¦ »ç¿ëÇÏÁö¸¸, ¾ÈÁ¤ÀûÀÎ + ±¸ÇöÀ» À§ÇØ ÇÊ¿äÇÏ´Ù. HTTP/1.1ÀÌ ´õ ³Î¸® ÆÛÁö°í ¸ðµç ¿¬°áÀ» + À¯ÁöÇÑ´Ù¸é(persistent), ¿¬°áÀ» ¹Þ´Â ºñ¿ëÀº ¿©·¯ ¿äûÀ» + ó¸®Çϸ鼭 »ó¼âµÉ °ÍÀÌ´Ù. À§ÇèÇÏ°Ôµµ + NO_LINGCLOSE¸¦ Á¤ÀÇÇÏ¿© ÀÌ ±â´ÉÀ» »ç¿ëÇÏÁö + ¾ÊÀ» ¼ö ÀÖÁö¸¸, Àý´ë·Î ±ÇÇÏÁö ¾Ê´Â´Ù. ƯÈ÷ HTTP/1.1 + ÆÄÀÌÇÁ¶óÀÎ (¿ªÁÖ; ¿¬°áÀ¯Áö »óÅ¿¡¼­ ÀÀ´äÀ» ±â´Ù¸®Áö + ¾Ê°í ¿©·¯ ¿äûÀ» º¸³»´Â ±â¼ú) ¿¬°áÀ¯Áö¿¡´Â + lingering_close°¡ ÇʼöÀûÀÌ´Ù (±×¸®°í + ÆÄÀÌÇÁ¶óÀÎ ¿¬°áÀÌ ´õ ºü¸£±â¶§¹®¿¡ »ç¿ëÇÏ±æ ¹Ù¶ö °ÍÀÌ´Ù).

+ + + +

Scoreboard ÆÄÀÏ

+ + + +

¾ÆÆÄÄ¡ÀÇ ºÎ¸ð¿Í ÀÚ½ÄÀº scoreboard¶ó´Â °ÍÀ» ÅëÇØ ¼­·Î + Åë½ÅÇÑ´Ù. ÀÌ»óÀûÀ¸·Î´Â scoreboard¸¦ °øÀ¯¸Þ¸ð¸®·Î ±¸ÇöÇØ¾ß + ÇÑ´Ù. ¿ì¸® °³¹ßÀÚ°¡ ÇØ´ç ¿î¿µÃ¼Á¦¿¡ Á¢±ÙÇÒ ¼ö Àְųª »ó¼¼ÇÑ + Æ÷Æà °á°ú¸¦ ¹ÞÀº °æ¿ì º¸Åë °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏ¿© ±¸ÇöÇÑ´Ù. + ³ª¸ÓÁö´Â µð½ºÅ©¿¡ ÀÖ´Â ÆÄÀÏÀ» »ç¿ëÇÏ¿© ±¸ÇöÇÑ´Ù. µð½ºÅ©¿¡ + ÀÖ´Â ÆÄÀÏÀº ´À¸®°í ½Å·Úµµ°¡ ¶³¾îÁø´Ù (±â´Éµµ ´õ Àû´Ù). + src/main/conf.h ÆÄÀÏ¿¡¼­ »ç¿ëÇÏ´Â ¾ÆÅ°ÅØÃĸ¦ + ã¾Æ¼­ USE_MMAP_SCOREBOARD ȤÀº + USE_SHMGET_SCOREBOARDÀÎÁö È®ÀÎÇÑ´Ù. µÑÁß + Çϳª¸¦ (°¢°¢ ÇÔ²² »ç¿ëÇÒ HAVE_MMAPÀ̳ª + HAVE_SHMGETµµ °°ÀÌ) Á¤ÀÇÇÏ¸é °øÀ¯¸Þ¸ð¸® Äڵ带 + »ç¿ëÇÑ´Ù. ½Ã½ºÅÛÀÌ ´Ù¸¥ Á¾·ùÀÇ °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÑ´Ù¸é + src/main/http_main.c ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿© ¾ÆÆÄÄ¡¿¡¼­ + °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÈÅ(hook)À» Ãß°¡Ç϶ó. (¶ÇÇÑ + ÆÐÄ¡¸¦ ¿ì¸®¿¡°Ô º¸³»ÁÖ±æ ¹Ù¶õ´Ù.)

+ +
¿ª»çÀû ¼³¸í: ¾ÆÆÄÄ¡ÀÇ ¸®´ª½º ¹öÀüÀº ¾ÆÆÄÄ¡ 1.2 ¹öÀüºÎÅÍ + °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇϱ⠽ÃÀÛÇß´Ù. ¸®´ª½º¿¡¼­ Ãʱ⠾ÆÆÄÄ¡ + ¹öÀüÀÌ ´À¸®°í ½Å·Úµµ°¡ ¶³¾îÁ³±â ¶§¹®ÀÌ´Ù.
+ + + +

DYNAMIC_MODULE_LIMIT

+ + + +

¸ðµâÀ» µ¿ÀûÀ¸·Î ÀоîµéÀÌÁö ¾Ê´Â´Ù¸é (°¡´ÉÇÑ Á¶±ÝÀÌ¶óµµ + ¼º´ÉÀ» ³ôÀ̱âÀ§ÇØ ÀÌ ±ÛÀ» ÀÐ´Â´Ù¸é ¾Æ¸¶µµ ¸ðµâÀ» µ¿ÀûÀ¸·Î + ÀоîµéÀÌÁö ¾ÊÀ» °ÍÀÌ´Ù), ¼­¹ö¸¦ ÄÄÆÄÀÏÇÒ¶§ + -DDYNAMIC_MODULE_LIMIT=0À» Ãß°¡ÇÑ´Ù. ±×·¯¸é + ¸ðµâÀ» µ¿ÀûÀ¸·Î ÀоîµéÀ̱âÀ§ÇØ ÇÒ´çÇÏ´Â ¸Þ¸ð¸®¸¦ Àý¾àÇÑ´Ù.

+ + + +
top
+
+

ºÎ·Ï: ½Ã½ºÅÛÈ£Ãâ ±â·ÏÀ» ÀÚ¼¼È÷ ºÐ¼®Çϱâ

+ + + +

´ÙÀ½Àº Solaris 8¿¡¼­ worker MPMÀ» »ç¿ëÇÑ ¾ÆÆÄÄ¡ 2.0.38ÀÇ + ½Ã½ºÅÛÈ£Ãâ ±â·Ï(trace)ÀÌ´Ù. ¾Æ·¡ ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ±â·ÏÀ» + ¾ò¾ú´Ù:

+ +

+ truss -l -p httpd_child_pid. +

+ +

-l ¿É¼ÇÀ» »ç¿ëÇϸé truss´Â ½Ã½ºÅÛÈ£ÃâÀ» + ÇÏ´Â LWP (lightweight process, °æ·®±Þ ÇÁ·Î¼¼½º--SolarisÀÇ + Ä¿³Î¼öÁØ ¾²·¹µå) ID¸¦ °°ÀÌ ±â·ÏÇÑ´Ù.

+ +

´Ù¸¥ ½Ã½ºÅÛ¿¡´Â strace, ktrace, + par °°Àº ½Ã½ºÅÛÈ£Ãâ ÃßÀû µµ±¸°¡ ÀÖ´Ù. °á°ú´Â + ºñ½ÁÇÏ´Ù.

+ +

Ŭ¶óÀ̾ðÆ®´Â À¥¼­¹ö¿¡°Ô Å©±â°¡ 10KBÀÎ Á¤Àû ÆÄÀÏÀ» ¿äûÇÑ´Ù. + Á¤ÀûÀÎ ÆÄÀÏÀ» ¿äûÇÏÁö ¾Ê°Å³ª ³»¿ëÇù»óÇÏ´Â ¿äûÀ» ÇÑ °æ¿ì + ±â·ÏÀÌ ¸Å¿ì ´Ù¸£´Ù (¶§·Î´Â ¸Å¿ì ¾Ë¾Æº¸±â Èûµé´Ù).

+ +
/67:    accept(3, 0x00200BEC, 0x00200C0C, 1) (sleeping...)
+/67:    accept(3, 0x00200BEC, 0x00200C0C, 1)            = 9
+ +

À§¿¡¼­ ¿¬°á´ë±â(listener) ¾²·¹µå°¡ LWP #67¿¡¼­ ½ÇÇàµÊÀ» + ¾Ë ¼ö ÀÖ´Ù.

+ +
accept(2) Á÷·ÄÈ­¸¦ »ç¿ëÇÏÁö ¾ÊÀ½À» ÁÖ¸ñÇ϶ó. + ¿©·¯ Æ÷Æ®¸¦ ±â´Ù¸®Áö¾Ê´Â °æ¿ì ÀÌ Ç÷¡ÆûÀÇ worker MPMÀº + ±âº»ÀûÀ¸·Î Á÷·ÄÈ­ÇÏÁö ¾ÊÀº accept¸¦ »ç¿ëÇÑ´Ù.
+ +
/65:    lwp_park(0x00000000, 0)                         = 0
+/67:    lwp_unpark(65, 1)                               = 0
+ +

¿¬°áÀº ¹Þ¾ÆµéÀÌ°í(accept) ¿¬°á´ë±â ¾²·¹µå´Â + worker ¾²·¹µå¸¦ ±ú¿ö¼­ ¿äûÀ» ó¸®ÇÏ°Ô ÇÑ´Ù. ¾Æ·¡ ±â·Ï¿¡¼­ + ¿äûÀ» ó¸®ÇÏ´Â worker ¾²·¹µå°¡ LWP #65ÀÓÀ» ¾Ë ¼ö ÀÖ´Ù.

+ +
/65:    getsockname(9, 0x00200BA4, 0x00200BC4, 1)       = 0
+ +

°¡»óÈ£½ºÆ®¸¦ ±¸ÇöÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â ¿¬°áÀ» ¹Þ¾ÆµéÀÎ + Áö¿ª(local) ¼ÒÄÏ ÁÖ¼Ò¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. (°¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÏÁö + ¾Ê°Å³ª Listen + Áö½Ã¾î¿¡ ¿ÍÀϵåÄ«µå ÁÖ¼Ò¸¦ »ç¿ëÇÏÁö ¾ÊÀº °æ¿ì µî) ¸¹Àº °æ¿ì + ÀÌ È£ÃâÀ» ¾ø¾Ù ¼ö ÀÖ´Ù. ±×·¯³ª ¾ÆÁ÷ ÀÌ·± ÃÖÀûÈ­ ÀÛ¾÷ÀÌ + ¾ÈµÇÀÖ´Ù.

+ +
/65:    brk(0x002170E8)                                 = 0
+/65:    brk(0x002190E8)                                 = 0
+ +

brk(2) È£ÃâÀº Èü(heap)¿¡¼­ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÑ´Ù. + À¥¼­¹ö´Â ´ëºÎºÐÀÇ ¿äû 󸮽à ÀÚü ¸Þ¸ð¸® + ÇÒ´çÀÚ(apr_pool°ú apr_bucket_alloc)¸¦ + »ç¿ëÇϱ⶧¹®¿¡ ½Ã½ºÅÛÈ£Ãâ ±â·Ï¿¡¼­ ÀÌ ½Ã½ºÅÛÈ£ÃâÀ» º¸±â°¡ + µå¹°´Ù. ÀÌ ±â·Ï¿¡¼­ À¥¼­¹ö´Â ½ÃÀÛÇÏÀÚ¸¶ÀÚ ÀÚü ¸Þ¸ð¸® ÇÒ´çÀÚ°¡ + »ç¿ëÇÒ ¸Þ¸ð¸®ºí·ÏÀ» ¾ò±âÀ§ÇØ malloc(3)À» È£ÃâÇÑ´Ù.

+ +
/65:    fcntl(9, F_GETFL, 0x00000000)                   = 2
+/65:    fstat64(9, 0xFAF7B818)                          = 0
+/65:    getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B910, 2190656) = 0
+/65:    fstat64(9, 0xFAF7B818)                          = 0
+/65:    getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B914, 2190656) = 0
+/65:    setsockopt(9, 65535, 8192, 0xFAF7B918, 4, 2190656) = 0
+/65:    fcntl(9, F_SETFL, 0x00000082)                   = 0
+ +

´ÙÀ½ worker ¾²·¹µå´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¿¬°á(ÆÄÀϱâ¼úÀÚ 9)À» + ´ë±â¾ÈÇÔ(non-blocking) »óÅ·Π¹Ù²Û´Ù. setsockopt(2)¿Í + getsockopt(2) È£ÃâÀº SolarisÀÇ libc°¡ ¼ÒÄÏ¿¡ + ´ëÇÑ fcntl(2)À» ¾î¶»°Ô ó¸®ÇÏ´ÂÁö º¸¿©ÁØ´Ù.

+ +
/65:    read(9, " G E T   / 1 0 k . h t m".., 8000)     = 97
+ +

worker ¾²·¹µå´Â Ŭ¶óÀ̾ðÆ®·Î ºÎÅÍ ¿äûÀ» Àд´Ù.

+ +
/65:    stat("/var/httpd/apache/httpd-8999/htdocs/10k.html", 0xFAF7B978) = 0
+/65:    open("/var/httpd/apache/httpd-8999/htdocs/10k.html", O_RDONLY) = 10
+ +

À¥¼­¹ö ¼³Á¤Àº Options FollowSymLinks¿Í + AllowOverride NoneÀÌ´Ù. ±×·¡¼­ ¿äûÇÑ ÆÄÀÏ°æ·ÎÀÇ + °¢ µð·ºÅ丮¿¡ ´ëÇØ lstat(2)Çϰųª + .htaccess ÆÄÀÏÀ» °Ë»çÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ÆÄÀÏÀ» + °Ë»çÇϱâÀ§ÇØ, 1) ÆÄÀÏÀÌ ÀÖ´ÂÁö, 2) µð·ºÅ丮°¡ ¾Æ´Ñ ÀϹÝÆÄÀÏÀÎÁö, + stat(2) È£Ã⸸ ÇÏ¸é µÈ´Ù.

+ +
/65:    sendfilev(0, 9, 0x00200F90, 2, 0xFAF7B53C)      = 10269
+ +

ÀÌ °æ¿ì À¥¼­¹ö´Â ÇѹøÀÇ sendfilev(2) ½Ã½ºÅÛÈ£Ãâ·Î + HTTP ÀÀ´äÇì´õ¿Í ¿äûÇÑ ÆÄÀÏÀ» Àü¼ÛÇÒ ¼ö ÀÖ´Ù. Sendfile Áö¿ø¿©ºÎ´Â + ¿î¿µÃ¼Á¦¸¶´Ù ´Ù¸£´Ù. ´Ù¸¥ ½Ã½ºÅÛÀ̶ó¸é sendfile(2)À» + È£ÃâÇϱâ Àü¿¡ Çì´õ¸¦ º¸³»±âÀ§ÇØ write(2)³ª + writev(2) È£ÃâÀ» ÇÑ´Ù.

+ +
/65:    write(4, " 1 2 7 . 0 . 0 . 1   -  ".., 78)      = 78
+ +

write(2) È£ÃâÀº Á¢±Ù·Î±×(access log)¿¡ ¿äûÀ» + ±â·ÏÇÑ´Ù. ÀÌ ±â·Ï¿¡ time(2) È£ÃâÀÌ ¾øÀ½À» ÁÖ¸ñÇ϶ó. + ¾ÆÆÄÄ¡ 1.3°ú ´Þ¸® ¾ÆÆÄÄ¡ 2.0Àº ½Ã°£À» ¾Ë±âÀ§ÇØ + gettimeofday(3)¸¦ »ç¿ëÇÑ´Ù. + gettimeofday¸¦ ÃÖÀûÈ­ÇÑ ¸®´ª½º¿Í Solaris °°Àº + ¸î¸î ¿î¿µÃ¼Á¦¿¡¼­´Â ÀϹÝÀûÀÎ ½Ã½ºÅÛÈ£Ã⠺δãÀÌ ¾ø´Ù.

+ +
/65:    shutdown(9, 1, 1)                               = 0
+/65:    poll(0xFAF7B980, 1, 2000)                       = 1
+/65:    read(9, 0xFAF7BC20, 512)                        = 0
+/65:    close(9)                                        = 0
+ +

worker ¾²·¹µå´Â ¿¬°áÀ» Áö¿¬´Ý±â(lingering close)ÇÑ´Ù.

+ +
/65:    close(10)                                       = 0
+/65:    lwp_park(0x00000000, 0)         (sleeping...)
+ +

¸¶Áö¸·À¸·Î worker ¾²·¹µå´Â ¹æ±Ý Àü¼ÛÇÑ ÆÄÀÏÀ» ´Ý°í, + ¿¬°á´ë±â(listener) ¾²·¹µå°¡ ´Ù¸¥ ¿¬°áÀ» ÇÒ´çÇÒ ¶§±îÁö + Á¤ÁöÇÑ´Ù.

+ +
/67:    accept(3, 0x001FEB74, 0x001FEB94, 1) (sleeping...)
+ +

±×µ¿¾È ¿¬°á´ë±â ¾²·¹µå´Â ¿¬°áÀ» (¸ðµç worker°¡ ÀÛ¾÷ÁßÀ̸é + ¿¬°á´ë±â ¾²·¹µå¸¦ ¸ØÃß´Â worker MPMÀÇ È帧Á¦¾î ±â´É¿¡ µû¶ó) + worker ¾²·¹µå¿¡ ÇÒ´çÇÏÀÚ¸¶ÀÚ ´Ù¸¥ ¿¬°áÀ» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Ù. + ÀÌ ±â·Ï¿¡´Â ³ª¿ÀÁö ¾ÊÁö¸¸, worker ¾²·¹µå°¡ ¹æ±Ý ¹ÞÀº ¿¬°áÀ» + ó¸®ÇÏ´Â µ¿¾È ´ÙÀ½ accept(2)°¡ (¿äûÀÌ ¸Å¿ì + ¸¹Àº °æ¿ì Ç×»ó) ÀϾ ¼ö ÀÖ´Ù.

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/perf-tuning.html.tr.utf8 b/docs/manual/misc/perf-tuning.html.tr.utf8 new file mode 100644 index 0000000..ba8dd90 --- /dev/null +++ b/docs/manual/misc/perf-tuning.html.tr.utf8 @@ -0,0 +1,1021 @@ + + + + + +Apache’de Başarımın Arttırılması - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache’de Başarımın Arttırılması

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ + +

Apache 2.x, esneklik, taşınabilirlik ve başarım arasında bir denge + sağlamak üzere tasarlanmış genel amaçlı bir HTTP sunucusudur. Başka + sunucularla kıyaslama denemelerinde öne geçmek üzere tasarlanmamış + olsa da Apache 2.x gerçek yaşamda karşılaşılan pek çok durumda oldukça + yüksek bir başarıma ulaşacak yetenektedir.

+ +

Apache 1.3 ile karşılaştırıldığında 2.x sürümleri toplam veri hızını + ve ölçeklenebilirliği arttırmak için pek çok en iyileme seçeneği + içerir. Bu iyileştirmelerin pek çoğu zaten öntanımlı olarak etkin + olmakla birlikte derleme ve kullanım sırasında başarımı önemli ölçüde + etkileyebilen yapılandırma seçenekleri de mevcuttur. Bu belgede, bir + Apache 2.x kurulumunda sunucu yöneticisinin sunucunun başarımını + arttırmak amacıyla yapılandırma sırasında neler yapabileceğinden + bahsedilmiştir. Bu yapılandırma seçeneklerinden bazıları, httpd’nin + donanımın ve işletim sisteminin olanaklarından daha iyi + yararlanabilmesini sağlarken bir kısmı da daha hızlı bir sunum için + yöneticinin işlevsellikten ödün verebilmesini olanaklı kılar.

+ +
+ +
top
+
+

Donanım ve İşletim Sistemi ile İlgili Konular

+ + + +

HTTP sunucusunun başarımını etkileyen en önemli donanım bellektir + (RAM). Bir HTTP sunucusu asla takaslama yapmamalıdır. Çünkü takaslama, + kullanıcının "yeterince hız" umduğu noktada sunumun gecikmesine sebep + olur. Böyle bir durumda kullanıcılar yüklemeyi durdurup tekrar + başlatma eğilimindedirler; sonuçta yük daha da artar. MaxRequestWorkers yönergesinin değerini + değiştirerek takaslamaya sebep olabilecek kadar çok çocuk süreç + oluşturulmasını engelleyebilirsiniz ve böyle bir durumda bunu mutlaka + yapmalısınız. Bunun için yapacağınız işlem basittir: top + benzeri bir araç üzerinden çalışan süreçlerinizin bir listesini alıp + Apache süreçlerinizin ortalama büyüklüğünü saptayıp, mevcut bellekten + bir kısmını diğer süreçler için ayırdıktan sonra kalan miktarı bu + değere bölerseniz yönergeye atayacağınız değeri bulmuş olursunuz.

+ +

Donanımın diğer unsurları için kararı siz verin: Daha hızlı işlemci, + daha hızlı ağ kartı, daha hızlı disk; daha hızlının ne kadar hızlı + olacağını deneyimlerinize bağlı olarak tamamen sizin ihtiyaçlarınız + belirler.

+ +

İşletim sistemi seçimi büyük oranda yerel ilgi konusudur. Fakat yine + de, genelde yararlılığı kanıtlanmış bazı kurallar bu seçimde size + yardımcı olabilir:

+ +
    +
  • +

    Seçtiğiniz işletim sisteminin (çekirdeğin) en son kararlı + sürümünü çalıştırın. Bir çok işletim sistemi, son yıllarda TCP + yığıtları ve evre kütüphaneleri ile ilgili belirgin iyileştirmeler + yapmışlar ve yapmaktadırlar.

    +
  • + +
  • +

    İşletim sisteminiz sendfile(2) sistem çağrısını + destekliyorsa bunun etkinleştirilebildiği sürümün kurulu olması + önemlidir. (Örneğin, Linux için bu, Linux 2.4 ve sonraki sürümler + anlamına gelirken, Solaris için Solaris 8’den önceki sürümlerin + yamanması gerektirdiği anlamına gelmektedir.) + sendfile işlevinin desteklendiği sistemlerde Apache 2 + duruk içeriği daha hızlı teslim etmek ve işlemci kullanımını + düşürmek amacıyla bu işlevselliği kullanacaktır.

    +
  • +
+ +
top
+
+

Çalışma Anı Yapılandırması ile İlgili Konular

+ + + + + +

HostnameLookups ve DNS ile ilgili diÄŸer konular

+ + + +

Apache 1.3 öncesinde, HostnameLookups yönergesinin öntanımlı değeri + On idi. İstek yerine getirilmeden önce bir DNS sorgusu + yapılmasını gerektirmesi sebebiyle bu ayarlama her istekte bir + miktar gecikmeye sebep olurdu. Apache 1.3’ten itibaren yönergenin + öntanımlı değeri Off yapılmıştır. Eğer günlük + dosyalarınızda konak isimlerinin bulunmasını isterseniz, Apache ile + birlikte gelen logresolve programını + kullanabileceğiniz gibi günlük raporlarını çözümleyen Apache ile + gelmeyen programlardan herhangi birini de kullanabilirsiniz.

+ +

Günlük dosyaları üzerindeki bu işlemi sunucu makinesi dışında + günlük dosyasının bir kopyası üzerinde yapmanızı öneririz. Aksi + takdirde sunucunuzun başarımı önemli ölçüde etkilenebilir.

+ +

Allow veya + Deny + yönergelerinde IP adresi yerine bir konak veya alan ismi + belirtirseniz, iki DNS sorguluk bir bedel ödersiniz (biri normal, + diğeri IP taklidine karşı ters DNS sorgusu). Başarımı en iyilemek + için bu yönergelerde mümkün olduğunca isim yerine IP adreslerini + kullanınız.

+ +

HostnameLookups + yönergelerinin <Location "/server-status"> gibi + bölüm yönergelerinin içinde de yer alabileceğini unutmayın. Bu gibi + durumlarda DNS sorguları sadece istek kuralla eşleştiği takdirde + yapılacaktır. Aşağıdaki örnekte .html ve + .cgi dosyalarına yapılan istekler hariç DNS sorguları + iptal edilmektedir:

+ +
HostnameLookups off
+<Files ~ "\.(html|cgi)$">
+  HostnameLookups on
+</Files>
+ + +

Yine de bazı CGI’lerin DNS isimlerine ihtiyacı olursa bu CGI’lerin + bu ihtiyaçlarına yönelik olarak gethostbyname çağrıları + yapabileceğini gözardı etmeyiniz.

+ + + +

FollowSymLinks ve + SymLinksIfOwnerMatch

+ + + +

URL uzayınızda geçerli olmak üzere bir Options + FollowSymLinks yoksa veya Options + SymLinksIfOwnerMatch yönergeleri varsa, Apache her sembolik + bağın üzerinde bazı sınamalar yapmak için ek bir sistem çağrısından + başka istenen her dosya için de ayrı bir çağrı yapacaktır.

+ +
DocumentRoot "/siteler/htdocs"
+<Directory />
+  Options SymLinksIfOwnerMatch
+</Directory>
+ + +

Bu durumda /index.html için bir istek yapıldığında + Apache, /siteler, /siteler/htdocs ve
+ /siteler/htdocs/index.html üzerinde + lstat(2) çağrıları yapacaktır. lstat + sonuçları önbelleğe kaydedilmediğinden bu işlem her istekte + yinelenecektir. Amacınız gerçekten sembolik bağları güvenlik + açısından sınamaksa bunu şöyle yapabilirsiniz:

+ +
DocumentRoot "/siteler/htdocs"
+<Directory "/">
+  Options FollowSymLinks
+</Directory>
+
+<Directory "/siteler/htdocs">
+  Options -FollowSymLinks +SymLinksIfOwnerMatch
+</Directory>
+ + +

Böylece DocumentRoot altındaki + dosyalar için fazladan bir çağrı yapılmasını engellemiş olursunuz. + Eğer bazı bölümlerde Alias, RewriteRule gibi yönergeler üzerinden belge kök + dizininizin dışında kalan dosya yollarına sahipseniz benzer + işlemleri onlar için de yapmalısınız. Sembolik bağ koruması yapmamak + suretiyle başarımı arttırmak isterseniz, FollowSymLinks + seçeneğini her yerde etkin kılın ve + SymLinksIfOwnerMatch seçeneğini asla + etkinleştirmeyin.

+ + + +

AllowOverride

+ + + +

Genellikle .htaccess dosyaları üzerinden yapıldığı + gibi URL uzayınızda geçersizleştirmelere izin veriyorsanız, Apache + her dosya bileşeni için bu .htaccess dosyalarını açmaya + çalışacaktır.

+ +
DocumentRoot "/siteler/htdocs"
+<Directory "/">
+  AllowOverride all
+</Directory>
+ + +

Bu durumda /index.html sayfasına yapılan bir istek için + Apache, /.htaccess, /siteler/.htaccess ve + /siteler/htdocs/.htaccess dosyalarını açmaya + çalışacaktır. Çözüm Options FollowSymLinks durumunun + benzeridir; başarımı arttırmak için dosya sisteminizin her yerinde + AllowOverride None olsun.

+ + + +

Dil Uzlaşımı

+ + + +

Başarımı son kırıntısına kadar arttırmak istiyorsanız, mümkünse + içerik dili uzlaşımı da yapmayın. Dil uzlaşımından yararlanmak + isterken büyük başarım kayıplarına uğrayabilirsiniz. Böyle bir + durumda sunucunun başarımını arttırmanın tek bir yolu vardır.

+ +
DirectoryIndex index
+ + +

Yukarıdaki gibi bir dosya ismi kalıbı kullanmak yerine, aşağıdaki + gibi seçenekleri tam bir liste halinde belirtin:

+ +
DirectoryIndex index.cgi index.pl index.shtml index.html
+ + +

Buradaki sıralama öncelik sırasını belirler; yani, + öncelikli olmasını istediğiniz seçeneği listenin başına + yazmalısınız.

+ +

İstenen dosya için MultiViews kullanarak dizini + taratmak yerine, gerekli bilgiyi tek bir dosyadan okutmak suretiyle + başarımı arttırabilirsiniz. Bu amaçla türeşlem + (type-map) dosyaları kullanmanız yeterli olacaktır.

+ +

Sitenizde içerik dili uzlaşımına gerek varsa, bunu Options + MultiViews yönergesi üzerinden değil, türeşlem dosyaları + kullanarak yapmayı deneyin. İçerik dili uzlaşımı ve türeşlem + dosyalarının oluşturulması hakkında daha ayrıntılı bilgi edinmek + için İçerik Uzlaşımı + belgesine bakınız.

+ + + +

Bellek EÅŸlemleri

+ + + +

Apache’nin SSI sayfalarında olduğu gibi teslim edilecek dosyanın + içeriğine bakma gereği duyduğu durumlarda, eğer işletim sistemi + mmap(2) ve benzerlerini destekliyorsa çekirdek normal + olarak dosyayı belleğe kopyalayacaktır.

+ +

Bazı platformlarda bu belleğe eşleme işlemi başarımı arttırsa da + başarımın veya httpd kararlılığının zora girdiği durumlar + olabilmektedir:

+ +
    +
  • +

    Bazı işletim sistemlerinde işlemci sayısı artışına bağlı + olarak, mmap işlevi read(2) kadar iyi + ölçeklenmemiştir. Örneğin, çok işlemcili Solaris sunucularda + mmap iptal edildiği takdirde içeriği sunucu + tarafından işlenen dosyalar üzerinde bazen daha hızlı işlem + yapılabilmektedir.

    +
  • + +
  • +

    Belleğe kopyalanacak dosya NFS üzerinden bağlanan bir dosya + sistemindeyse ve dosya başka bir NFS istemcisi makine tarafından + silinmiş veya dosyanın boyutu değiştirilmişse sunucunuz dosyaya + tekrar erişmeye çalıştığında bir hata alabilecektir.

    +
  • +
+ +

Böyle durumların olasılık dahilinde olduğu kurulumlarda içeriği + sunucu tarafından işlenecek dosyaların belleğe kopyalanmaması için + yapılandırmanıza EnableMMAP off satırını ekleyiniz. + (Dikkat: Bu yönerge dizin seviyesinde geçersizleştirilebilen + yönergelerdendir.)

+ + + +

sendfile

+ + + +

Apache’nin duruk dosyalarda olduğu gibi teslim edilecek dosyanın + içeriğine bakmadığı durumlarda, eğer işletim sistemi + sendfile(2) desteğine sahipse çekirdek normal olarak bu + desteği kullanacaktır.

+ +

Bazı platformlarda sendfile kullanımı, okuma ve yazma + işlemlerinin ayrı ayrı yapılmamasını sağlasa da + sendfile kullanımının httpd kararlılığını bozduğu bazı + durumlar sözkonusudur:

+ +
    +
  • +

    Bazı platformlar derleme sisteminin saptayamadığı bozuk bir + sendfile desteğine sahip olabilir. Özellikle + derleme işleminin başka bir platformda yapılıp + sendfile desteği bozuk bir makineye kurulum + yapıldığı durumlarda bu desteğin bozuk olduğu + saptanamayacaktır.

    +
  • +
  • +

    Çekirdek, NFS üzerinden erişilen ağ dosyalarını kendi önbelleği + üzerinden gerektiği gibi sunamayabilir.

    +
  • +
+ +

Böyle durumların olasılık dahilinde olduğu kurulumlarda içeriğin + sendfile desteğiyle teslim edilmemesi için + yapılandırmanıza EnableSendfile off satırını ekleyiniz. + (Dikkat: Bu yönerge dizin seviyesinde geçersizleştirilebilen + yönergelerdendir.)

+ + + +

Süreç Oluşturma

+ + + +

Apache 1.3 öncesinde MinSpareServers, MaxSpareServers ve StartServers ayarları, başka sunucularla kıyaslama + denemelerinde olağanüstü kötü sonuçlar alınmasına sebep olmaktaydı. + Özellikle uygulanan yükü karşılamaya yetecek sayıda çocuk süreç + oluşturulması aşamasında Apache’nin elde ettiği ivme bunlardan + biriydi. Başlangıçta StartServers yönergesiyle belli sayıda süreç + oluşturulduktan sonra her saniyede bir tane olmak üzere MinSpareServers sayıda çocuk süreç + oluşturulmaktaydı. Örneğin, aynı anda 100 isteğe yanıt vermek için + StartServers + yönergesinin öntanımlı değeri olarak başta 5 süreç + oluşturulduğundan kalan süreçler için 95 saniye geçmesi gerekirdi. + Sık sık yeniden başlatılmadıklarından dolayı gerçek hayatta + sunucuların başına gelen de buydu. Başka sunucularla kıyaslama + denemelerinde ise işlem sadece on dakika sürmekte ve içler acısı + sonuçlar alınmaktaydı.

+ +

Saniyede bir kuralı, sunucunun yeni çocukları oluşturması sırasında + sistemin aşırı meşgul duruma düşmemesi için alınmış bir önlemdi. + Makine çocuk süreç oluşturmakla meşgul edildiği sürece isteklere + yanıt veremeyecektir. Böylesi bir durum Apache’nin başarımını + kötüleştirmekten başka işe yaramayacaktır. Apache 1.3’te saniyede + bir kuralı biraz esnetildi. Yeni gerçeklenimde artık bir süreç + oluşturduktan bir saniye sonra iki süreç, bir saniye sonra dört + süreç oluşturulmakta ve işlem, saniyede 32 çocuk süreç oluşturulur + duruma gelene kadar böyle ivmelenmektedir. Çocuk süreç oluşturma + işlemi MinSpareServers + değerine ulaşılınca durmaktadır.

+ +

Bu, MinSpareServers, + MaxSpareServers ve + StartServers ayarlarıyla + oynamayı neredeyse gereksiz kılacak kadar iyi sonuçlar verecek gibi + görünmektedir. Saniyede 4 çocuktan fazlası oluşturulmaya + başlandığında hata günlüğüne bazı iletiler düşmeye başlar. Bu + iletilerin sayısı çok artarsa bu ayarlarla oynama vakti gelmiş + demektir. Bunun için mod_status çıktısını bir + kılavuz olarak kullanabilirsiniz.

+ +

Süreç oluşturmayla ilgili olarak süreç ölümü MaxConnectionsPerChild değeri ile + sağlanır. Bu değer öntanımlı olarak 0 olup, çocuk süreç + başına istek sayısının sınırsız olduğu anlamına gelir. Eğer + yapılandırmanızda bu değeri 30 gibi çok düşük bir + değere ayarlarsanız bunu hemen kaldırmak zorunda kalabilirsiniz. + Sunucunuzu SunOS veya Solaris’in eski bir sürümü üzerinde + çalıştırıyorsanız bellek kaçaklarına sebep olmamak için bu değeri + 10000 ile sınırlayınız.

+ +

Kalıcı bağlantı özelliğini kullanıyorsanız, çocuk süreçler zaten + açık bağlantılardan istek beklemekte olacaklardır. KeepAliveTimeout yönergesinin öntanımlı + değeri 5 saniye olup bu etkiyi en aza indirmeye yönelik + süredir. Burada ağ band genişliği ile sunucu kaynaklarının kullanımı + arasında bir seçim yapmak söz konusudur. Hiçbir şey umurunuzda + değilse + çoğu ayrıcalığın yitirilmesi pahasına bu değeri rahatça + 60 saniyenin üzerine çıkarabilirsiniz.

+ + +
top
+
+

Derleme Sırasında Yapılandırma ile İlgili Konular

+ + +

MPM Seçimi

+ + +

Apache 2.x, Çok Süreçlilik Modülleri + (MPM) adı verilen eklemlenebilir çok görevlilik modellerini + destekler. Apache’yi derlerken bu MPM’lerden birini seçmeniz + gerekir. MPM’lerden bazıları platformlara özeldir: + mpm_netware, mpmt_os2 ve + mpm_winnt. Unix + benzeri sistemler için ise seçebileceğiniz modül sayısı birden + fazladır. MPM seçiminin httpd’nin hızında ve ölçeklenebilirliğinde + bazı etkileri olabilir:

+ +
    + +
  • worker modülü her biri çok evreli çok sayıda + çocuk süreç kullanımını destekler. Her evre aynı anda tek bir + baÄŸlantıya hizmet sunar. Aynı hizmeti daha az bellek harcayarak + vermesi nedeniyle yüksek trafiÄŸe sahip sunucularda + prefork modülüne göre daha iyi bir seçimdir.
  • + +
  • event modülü worker modülü gibi + çok evreli bir modüldür, fakat aunı anda dahafazla isteÄŸe yanıt + verecek ÅŸekilde tasarlanmıştır. Bunu, evreleri destekleyen bazı + iÅŸlemleri yapmamak suretiyle yeni isteklerle çalışacak ana evreleri + serbestleÅŸtirerek saÄŸlar.
  • + +
  • prefork modülü her biri tek bir evreye sahip + çok sayıda çocuk süreç kullanımını destekler. Her süreç aynı anda + tek bir baÄŸlantıya hizmet sunar. ÇoÄŸu sistemde daha hızlı olması + nedeniyle worker modülüne göre daha iyi bir seçim + olarak görünürse de bunu daha fazla bellek kullanarak saÄŸlar. + prefork modülünün evresiz tasarımının + worker modülüne göre bazı yararlı tarafları + vardır: Çok evreli sistemlerde güvenilir olmayan üçüncü parti + modülleri kullanabilir ve evrelerde hata ayıklamanın yetersiz + kaldığı platformlarda hatalarını ayıklamak daha kolaydır.
  • + +
+ +

Bu modüller ve diğerleri hakkında daha ayrıntılı bilgi edinmek için + Çok Süreçlilik Modülleri belgesine + bakınız.

+ + + +

Modüller

+ + + +

Bellek kullanımı başarım konusunda önemli olduğundan gerçekte + kullanmadığınız modülleri elemeye çalışmalısınız. Modülleri birer DSO olarak derlediyseniz LoadModule yönergesinin bulunduğu satırı + açıklama haline getirmeniz modülden kurtulmanız için yeterli + olacaktır. Modülleri bu şekilde kaldırarak onların yokluğunda + sitenizin hala işlevlerini yerine getirdiğini görme şansına da + kavuşmuş olursunuz.

+ +

Ancak, eğer modülleri Apache çalıştırılabilirinin içine + gömmüşseniz istenmeyen modülleri kaldırmak için Apache'yi yeniden + derlemeniz gerekir.

+ +

Bu noktada bir soru akla gelebilir: Hangi modüller gerekli, + hangileri değil? Bu sorunun yanıtı şüphesiz siteden siteye değişir. + Ancak, olmazsa olmaz moüller olarak mod_mime, + mod_dir ve mod_log_config + modüllerini sayabiliriz. Bunlardan mod_log_config + olmadan da bir sitenin çalışabileceğinden hareketle bu modülün + varlığı isteğe bağlı olsa da bu modülü kaldırmanızı önermiyoruz.

+ + + +

Atomik Ä°ÅŸlemler

+ + + +

Worker MPM'nin en son geliştirme sürümleri ve + mod_cache gibi bazı modüller APR'nin atomik API'sini + kullanırlar. Bu API, düşük ayarlı evre eşzamanlamasında atomik + işlemler yapar.

+ +

Öntanımlı olarak, APR bu işlemleri hedef işletim sistemi/işlemci + platformunda kullanılabilecek en verimli mekanizmayı kullanarak + gerçekleştirir. Günümüz işlemcilerinin çoğu, örneğin, bir atomik + karşılaştırma ve takas (CAS) işlemini donanımda gerçekleştirmektedir. + Bazı platformlarda APR'nin atomik işlemler için öntanımlı olarak daha + yavaş olan mutekslere dayalı gerçeklenimi kullanmasının sebebi eski + işlemcilerde bu tür makine kodlarının yokluğudur. Apache'yi bu tür + platformalarda günümüz işlemcileriyde çalıştırmayı düşünüyorsanız + Apache'yi derlemek için yapılandırırken en hızlı atomik işlemin + seçilebilmesi için --enable-nonportable-atomics + seçeneğini kullanın:

+ +

+ ./buildconf
+ ./configure --with-mpm=worker --enable-nonportable-atomics=yes +

+ +

--enable-nonportable-atomics seçeneği şu platformlar + için uygundur:

+ +
    + +
  • SPARC üzerinde Solaris
    + APR öntanımlı olarak, SPARC/Solaris üzerinde mutekslere dayalı + atomik işlemleri kullanır. Ancak, + --enable-nonportable-atomics yapılandırmasını + kullanırsanız, donanım üzerinde hızlı karşılaştırma ve takas + için uygun SPARC v8plus kodunu kullanacak şekilde kod üretilir. + Apache'yi bu seçenekle yapılandırırsanız atomik işlemler daha + verimli olacak fakat derlenen Apache çalıştırılabiliri sadece + UltraSPARC kırmığı üzerinde çalışacaktır. +
  • + +
  • x86 üzerinde Linux
    + APR öntanımlı olarak, Linux üzerinde mutekslere dayalı atomik + işlemleri kullanır. Ancak, + --enable-nonportable-atomics yapılandırmasını + kullanırsanız, donanım üzerinde hızlı karşılaştırma ve takas + için uygun 486 kodunu kullanacak şekilde kod üretilir. Apache'yi + bu seçenekle yapılandırırsanız atomik işlemler daha verimli + olacak fakat derlenen Apache çalıştırılabiliri (386 üzerinde + değil) sadece 486 ve sonrası kırmıklarda çalışacaktır. +
  • + +
+ + + +

mod_status ve ExtendedStatus On +

+ + + +

mod_status modülünü derlemiş ve Apache'yi + yapılandırır ve çalıştırırken ExtendedStatus On satırını + da kullanmışsanız Apache her istek üzerinde + gettimeofday(2) (veya işletim sistemine bağlı olarak + time(2)) çağrısından başka (1.3 öncesinde) fazladan + defalarca time(2) çağrıları yapacaktır. Bu çağrılarla + durum raporununun zamanlama bilgilerini içermesi sağlanır. Başarımı + arttırmak için ExtendedStatus off yapın (zaten öntanımlı + böyledir).

+ + + +

accept dizgilemesi ve çok soketli işlem

+ + + +

Uyarı:

+

Bu bölüm, Apache HTTP sunucusunun 2.x sürümlerinde yapılan + değişikliklere göre tamamen güncellenmemiştir. Bazı bilgiler hala + geçerliyse de lütfen dikkatli kullanınız.

+
+ +

Burada Unix soket arayüzü gerçeklenirken ihmal edilen bir durumdan + bahsedeceğiz. HTTP sunucunuzun çok sayıda adresten çok sayıda portu + dinlemek için çok sayıda Listen yönergesi kullanmakta olduğunu varsayalım. Her + soketi çalıştığını görmek için denerken Apache bağlantı için + select(2) kullanacaktır. select(2) çağrısı + bu soketin üzerinde sıfır veya en azından bir + bağlantının beklemekte olduğu anlamına gelir. Apache'nin modeli çok + sayıda çocuk süreç içerir ve boşta olanların tümünde aynı anda yeni + bağlantılar denenebilir. Gerçekte çalışan kod bu olmasa da meramımızı + anlatmak için kodun şöyle bir şey olduğunu varsayabiliriz:

+ +
        for (;;) {
+          for (;;) {
+            fd_set accept_fds;
+
+            FD_ZERO (&accept_fds);
+            for (i = first_socket; i <= last_socket; ++i) {
+              FD_SET (i, &accept_fds);
+            }
+            rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+            if (rc < 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i <= last_socket; ++i) {
+              if (FD_ISSET (i, &accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          process_the(new_connection);
+        }
+ + +

Bu özet gerçeklenim bir takım açlık sorunlarına sebep olur. Bu + döngünün çalışması sırasında aynı anda çok sayıda çocuk süreç yeniden + çağrılır ve istekler arasında kalan çoğu çocuk da select + ile engellenir. Engellenen tüm bu çocuklar soketlerden herhangi biri + üzerinde tek bir istek göründüğünde select tarafından + uyandırılıp işleme sokulmak üzere döndürülürler. (Uyandırılan çocuk + sayısı işletim sistemine ve zamanlama ayarlarına göre değişiklik + gösterir,) Bunların hepsi döngüye katılıp bağlantı kabul etmeye + (accept) çalışırlar. Fakat içlerinden yalnız biri + (sadece bir bağlantı isteğinin mevcut olduğu varsayımıyla) bunu + başarabilir. Kalanının bağlantı kabul etmesi (accept) + engellenir. Bu durum, bu çocukları istekleri başka başka soketlerden + değil mecburen tek bir soketten kabul etmeye kilitler ve bu soket + üzerinde yeni bir istek belirip uyandırılana kadar bu durumda + kalırlar. Bu açlık sorunu ilk olarak PR#467 sayılı raporla + belgelenmiştir. Bu sorunun en az iki çözümü vardır.

+ +

Çözümün biri engellenmeyen soket kullanımıdır. Bu durumda + accept çocukları engellemeyecek ve yapılan bir + bağlantının ardından diğer çocuklar durumları değişmeksizin bağlantı + beklemeye devam edeceklerdir. Fakat bu durum işlemci zamanının boşa + harcanmasına sebep olur. Seçilmiş (select) boşta on + çocuğun olduğunu ve bir bağlantı geldiğini varsayalım. Kalan dokuz + çocuk işine devam edip bağlantı kabul etmeyi (accept) + deneyecek, başarızsız olacak, dönecek başa, tekrar seçilecek + (select) ve böyle hiçbir iş yapmadan dönüp duracaktır. Bu + arada hizmet sunmakta olanlar da işlerini bitirdikten sonra bu + döngüdeki yerlerini alacaklardır. Aynı kutunun içinde boşta bir sürü + işlemciniz (çok işlemcili sistemler) yoksa bu çözüm pek verimli + olmayacaktır.

+ +

Diğer çözüm ise Apache tarafından kullanılan çözüm olup, girdiyi + bir iç döngüde sıraya sokmaktır. Döngü aşağıda örneklenmiştir (farklar + vurgulanmıştır):

+ +
        for (;;) {
+          accept_mutex_on ();
+          for (;;) {
+            fd_set accept_fds;
+
+            FD_ZERO (&accept_fds);
+            for (i = first_socket; i <= last_socket; ++i) {
+              FD_SET (i, &accept_fds);
+            }
+            rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+            if (rc < 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i <= last_socket; ++i) {
+              if (FD_ISSET (i, &accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          accept_mutex_off ();
+          process the new_connection;
+        }
+ + +

accept_mutex_on ve accept_mutex_off işlevleri bir karşılıklı red + semoforu oluştururlar. Mutekse aynı anda sadece bir çocuk sahip + olabilir. Bu muteksleri gerçeklemek için çeşitli seçenekler vardır. + Seçim, src/conf.h (1.3 öncesi) veya + src/include/ap_config.h (1.3 ve sonrası) dosyasında + tanımlanmıştır. Bazı mimariler bir kilitleme seçeneğine sahip + değildir. Böyle mimarilerde çok sayıda Listen yönergesi kullanmak güvenilir + olmayacaktır.

+ +

Mutex yönergesi, + mpm-accept muteks gerçeklenimini çalışma anında değiştirmek + için kullanılabilir. Farklı muteks gerçeklenimleri ile ilgili hususlar + bu yönergede belgelenmiştir.

+ +

Başka bir çözüm daha vardır ancak döngü kısmen dizgilenmeyeceğinden + (yani belli sayıda sürece izin verilemeyeceğinden) asla + gerçeklenmemiştir. Bu sadece, aynı anda çok sayıda çocuk sürecin + çalışabileceği ve dolayısıyla band genişliğinin tüm yönleriyle + kullanılabileceği çok işlemcili sistemlerde ilginç olabilirdi. Bu + gelecekte incelenmeye değer bir konu olmakla beraber çok sayıda HTTP + sunucusunun aynı anda aynı amaca hizmet edecek şekilde çalışması + standart olarak pek mümkün görülmediğinden bu olasılık çok + düşüktür.

+ +

En yüksek başarımı elde etmek için ideal olanı sunucuları + çalıştırırken çok sayıda Listen yönergesi kullanmamaktır. Fakat siz yine de + okumaya devam edin.

+ + + +

accept dizgilemesi - tek soket

+ + + +

Çok soketli sunucular için yukarıda açıklananlar iyi güzel de tek + soketli sunucularda durum ne? Kuramsal olarak, bunların hiçbiriyle bir + sorunları olmaması gerekir. Çünkü yeni bir bağlantı gelene kadar tüm + çocuklar accept(2) ile engellenirler dolayısıyla hiçbir + açlık sorununun ortaya çıkmaması gerekir. Uygulamada ise son + kullanıcıdan gizli olarak, yukarıda engellenmeyen çocuklar çözümünde + bahsedilenle hemen hemen aynı "boşa dönüp durma" davranışı mevcuttur. + Çoğu TCP yığıtı bu yolu gerçeklemiştir. Çekirdek, yeni bir bağlantı + ortaya çıktığında accept ile engellenen tüm süreçleri + uyandırır. Bu süreçlerden bağlantıyı alan kullanıcı bölgesine geçerken + çekirdek içinde döngüde olan diğerleri de yeni bağlantı keşfedilene + kadar uykularına geri dönerler. Bu çekirdek içi döngü, kullanıcı + bölgesindeki kodlara görünür değildir ama bu olmadıkları anlamına + gelmez. Bu durum, çok soketli engellenmeyen çocuklar çözümündeki boşa + döngünün sebep olduğu gereksiz işlemci yükü sorununu içinde + barındırır.

+ +

Bununla birlikte, tek soketli durumda bile bundan daha verimli bir + davranış sergileyen bir çok mimari bulduk. Bu aslında hemen hemen her + durumda öntanımlı olarak böyledir. Linux altında yapılan üstünkörü + denemelerde (128MB bellekli çift Pentium pro 166 işlemcili makinede + Linux 2.0.30) tek sokette dizgilemenin dizgilenmemiş duruma göre + saniyede %3 daha az istekle sonuçlandığı gösterilmiştir. Fakat + dizgilenmemiş tek soket durumunda her istekte 100ms'lik ek bir gecikme + olduğu görülmüştür. Bu gecikmenin sebebi muhtemelen uzun mesafeli + hatlar olup sadece yerel ağlarda söz konusudur. Tek soketli + dizgilemeyi geçersiz kılmak için + SINGLE_LISTEN_UNSERIALIZED_ACCEPT tanımlarsanız tek + soketli sunucularda artık dizgileme yapılmayacaktır.

+ + + +

Kapatmayı zamana yaymak

+ + + +

draft-ietf-http-connection-00.txt taslağının 8. bölümünde + bahsedildiği gibi, bir HTTP sunucusunun protokolü güvenilir + şekilde gerçeklemesi için her iki yöndeki iletişimi + birbirinden bağımsız olarak (iki yönlü bir TCP bağlantısının her + yarısını diğerinden bağımsız olarak) kapatması gerekir.

+ +

Bu özellik Apache'ye eklendiğinde Unix'in çeşitli sürümlerinde + uzgörüsüzlükten dolayı bir takım geçici telaş sorunlarına sebep oldu. + TCP belirtimi FIN_WAIT_2 durumunda bir zaman aşımından + bahsetmez ama yasaklamaz da. Zaman aşımı olmayan sistemlerde, Apache + 1.2 çoğu soketin sonsuza kadar FIN_WAIT_2 durumunda + takılıp kalmasına sebep olur. Çoğu durumda, satıcıdan sağlanan en son + TCP/IP yamalarını uygulanarak bu önlenebilir. Satıcının hiçbir yeni + yama dağıtmadığı durumlarda (örneğin, SunOS4 -- bir kaynak lisansı ile + insanlar bunu kendileri yamayabilirse de) bu özelliği devre dışı + bırakmaya karar verdik.

+ +

Bunun üstesinden gelmenin iki yolu vardır. Bunlardan biri + SO_LINGER soket seçeneğidir. Bu işin kaderi buymuş gibi + görünürse de çoğu TCP/IP yığıtında bu gerektiği gibi + gerçeklenmemiştir. Bu yığıtlar üzerinde, bu yöntemin, doğru bir + gerçeklenimle bile (örneğin, Linux 2.0.31) sonraki çözümden daha + pahalı olduğu ortaya çıkmıştır.

+ +

Çoğunlukla, Apache bunu (http_main.c içindeki) + lingering_close adında bir işlevle gerçekler. Bu işlev + kabaca şöyle görünür:

+ +
        void lingering_close (int s)
+        {
+          char junk_buffer[2048];
+
+          /* shutdown the sending side */
+          shutdown (s, 1);
+
+          signal (SIGALRM, lingering_death);
+          alarm (30);
+
+          for (;;) {
+            select (s for reading, 2 second timeout);
+            if (error) break;
+            if (s is ready for reading) {
+              if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {
+                break;
+              }
+              /* just toss away whatever is here */
+            }
+          }
+
+          close (s);
+        }
+ + +

Bağlantı sonunda bu doğal olarak biraz daha masrafa yol açar, fakat + güvenilir bir gerçeklenim için bu gereklidir. HTTP/1.1'in daha yaygın + kullanılmaya başlanması ve tüm bağlantıların kalıcı hale gelmesiyle bu + gerçeklenim daha fazla istek üzerinden kendi masrafını + karşılayacaktır. Ateşle oynamak ve bu özelliği devre dışı bırakmak + isterseniz NO_LINGCLOSE'u tanımlayabilirsiniz, fakat bu + asla önerilmez. Özellikle, HTTP/1.1'den itibaren boruhatlı kalıcı + bağlantıların lingering_close kullanmaya başlaması mutlak + bir gerekliliktir (ve + boruhatlı bağlantıların daha hızlı olması nedeniyle bu + bağlantıları desteklemek isteyebilirsiniz).

+ + + +

Çetele Dosyası

+ + + +

Apache'nin ana ve alt süreçleri birbirleriyle çetele denen birşey + üzerinden haberleşirler. Bunun en mükemmel şekilde paylaşımlı bellekte + gerçeklenmesi gerekir. Eriştiğimiz veya portlarını ayrıntılı olarak + belirttiğimiz işletim sistemleri için bu, genellikle paylaşımlı bellek + kullanılarak gerçeklenir. Geri kalanlar, öntanımlı olarak bunu bir + disk dosyası kullanarak gerçekler. Bir disk dosyaı yavaş olmanın yanı + sıra güvenilir de değildir (ve daha az özelliğe sahiptir). Mimarinizin + src/main/conf.h dosyasını inceleyin ve + USE_MMAP_SCOREBOARD veya + USE_SHMGET_SCOREBOARD'a bakın. Bu ikisinden birinin (ve + yanı sıra sırasıyla HAVE_MMAP veya + HAVE_SHMGET'in) tanımlanmış olması, sağlanan paylaşımlı + bellek kodunu etkinleştirir. Eğer sisteminiz diğer türdeki paylaşımlı + belleğe sahipse, src/main/http_main.c dosyasını açıp, + Apache'de bu belleği kullanması gereken kanca işlevleri ekleyin (Bize + de bir yama yollayın, lütfen).

+ +
Tarihsel bilgi: Apache'nin Linux uyarlaması, Apache'nin 1.2 + sürümüne kadar paylaşımlı belleği kullanmaya başlamamıştı. Bu kusur, + Apache'nin Linux üzerindeki erken dönem sürümlerinin davranışlarının + zayıf ve güvenilmez olmasına yol açmıştı.
+ + + +

DYNAMIC_MODULE_LIMIT

+ + + +

Devingen olarak yüklenen modülleri kullanmamak niyetindeyseniz + (burayı okuyan ve sunucunuzun başarımını son kırıntısına kadar + arttırmakla ilgilenen biriyseniz bunu düşünmezsiniz), sunucunuzu + derlerken seçenekler arasına -DDYNAMIC_MODULE_LIMIT=0 + seçeneğini de ekleyin. Bu suretle, sadece, devingen olarak yüklenen + modüller için ayrılacak belleği kazanmış olacaksınız.

+ + + +
top
+
+

Ek: Bir çağrı izlemesinin ayrıntılı çözümlemesi

+ + + +

Burada, Solaris 8 üzerinde worker MPM'li Apache 2.0.38'in bir sistem + çağrısı izlenmektedir. Bu izleme şu komutla elde edilmiştir:

+ +

+ truss -l -p httpd_çocuk_pidi. +

+ +

-l seçeneği, truss'a hafif bir sürecin yaptığı her + sistem çağrısını (hafif süreç -- HS -- Solaris'in bir çekirdek seviyesi + evreleme biçimi) günlüğe yazmasını söyler.

+ +

Diğer sistemlerin sistem çağrılarını izleyen farklı araçları vardır + (strace, ktrace, par gibi). + Bunlar da benzer çıktılar üretirler.

+ +

Bu izleme sırasında, bir istemci httpd'den 10 KB'lık duruk bir dosya + talebinde bulunmuştur. Duruk olmayan veya içerik uzlaşımlı isteklerin + izleme kayıtları vahşice (bazı durumlarda epey çirkince) farklı + görünür.

+ +

+ /67: accept(3, 0x00200BEC, 0x00200C0C, 1) (uykuda...)
+ /67: accept(3, 0x00200BEC, 0x00200C0C, 1) = 9 +

+ +

Bu izlemede, dinleyen evre HS #67 içinde çalışmaktadır.

+ +
accept(2) dizgelemesinin olmayışına dikkat edin. + Özellikle bu platformda worker MPM, çok sayıda portu dinlemedikçe, + öntanımlı olarak dizgeleştirilmemiş bir accept çağrısı kullanır.
+ +

+ /65: lwp_park(0x00000000, 0) = 0
+ /67: lwp_unpark(65, 1) = 0 +

+ +

Bağlantının kabul edilmesiyle, dinleyici evre isteği yerine getirmek + üzere bir worker evresini uyandırır. Bu izlemede, isteği yerine getiren + worker evresi HS #65'e aittir.

+ +

+ /65: getsockname(9, 0x00200BA4, 0x00200BC4, 1) = 0 +

+ +

Sanal konakların gerçeklenimi sırasında, Apache'nin, bağlantıları + kabul etmek için kullanılan yerel soket adreslerini bilmesi gerekir. + Çoğu durumda bu çağrıyı bertaraf etmek mümkündür (hiç sanal konağın + olmadığı veya Listen + yönergelerinin mutlak adreslerle kullanıldığı durumlarda). Fakat bu en + iyilemeleri yapmak için henüz bir çaba harcanmamıştır.

+ +

+ /65: brk(0x002170E8) = 0
+ /65: brk(0x002190E8) = 0 +

+ +

brk(2) çağrıları devingen bellekten bellek ayırır. httpd + çoğu isteği yerine getirirken özel bellek ayırıcılar + (apr_pool ve apr_bucket_alloc) kullandığından + bunlar bir sistem çağrısı izlemesinde nadiren görünür. Bu izlemede, + httpd henüz yeni başlatıldığından, özel bellek ayırıcıları oluşturmak + için ham bellek bloklarını ayırmak amacıyla malloc(3) + çağrıları yapması gerekir.

+ +

+/65: fcntl(9, F_GETFL, 0x00000000) = 2
+/65: fstat64(9, 0xFAF7B818) = 0
+/65: getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B910, 2190656) = 0
+/65: fstat64(9, 0xFAF7B818) = 0
+/65: getsockopt(9, 65535, 8192, 0xFAF7B918, 0xFAF7B914, 2190656) = 0
+/65: setsockopt(9, 65535, 8192, 0xFAF7B918, 4, 2190656) = 0
+/65: fcntl(9, F_SETFL, 0x00000082) = 0 +

+ +

Ardından, worker evresi istemciye (dosya tanıtıcısı 9) engellenmeyen + kipte bir bağlantı açar. setsockopt(2) + ve getsockopt(2) çağrıları, Solaris libc'sinin soketler + üzerindeki fcntl(2) çağrısı yanında birer yan etkiden + ibarettirler.

+ +

+ /65: read(9, " G E T / 1 0 k . h t m".., 8000) = 97 +

+ +

Worker evresi istemciden isteÄŸi okur.

+ +

+/65: stat("/var/httpd/apache/httpd-8999/htdocs/10k.html", 0xFAF7B978) = 0
+/65: open("/var/httpd/apache/httpd-8999/htdocs/10k.html", O_RDONLY) = 10 +

+ +

Bu httpd Options FollowSymLinks ve AllowOverride + None ile yapılandırılmıştır. Bu bakımdan, ne istenen dosya ile + sonuçlanan yol üzerindeki her dizinde lstat(2) çağrısına ne + de .htaccess dosyalarına bakılmasına gerek vardır. + stat(2) çağrısı basitçe dosya için şunları doğrulamak + amacıyla yapılır: 1) dosya mevcuttur ve 2) bir dizin değil normal bir + dosyadır.

+ +

+ /65: sendfilev(0, 9, 0x00200F90, 2, 0xFAF7B53C) = 10269 +

+ +

Bu örnekte, httpd, istenen dosyayı ve HTTP yanıt başlığını tek bir + sendfilev(2) sistem çağrısı ile göndermektedir. Dosya + gönderim işleminin anlamı sistemden sisteme değişiklik gösterir. Bazı + sistemlerde, sendfile(2) çağrısından önce başlıkları + göndermek için write(2) veya writev(2) + çağrısı yapmak gerekir.

+ +

+ /65: write(4, " 1 2 7 . 0 . 0 . 1 - ".., 78) = 78 +

+ +

Bu write(2) çağrısı isteği erişim günlüğüne kaydeder. Bu + izlemede eksik olan tek şey, time(2) çağrısıdır. Apache + 1.3'ün aksine, Apache 2.x zamana bakmak için + gettimeofday(3) çağırısını kullanır. Linux ve Solaris gibi + bazı işletim sistemleri, gettimeofday işlevinin, sıradan + bir sistem çağrısından daha fazla götürüsü olmayan en iyilenmiş bir + gerçeklenimine sahiptir.

+ +

+ /65: shutdown(9, 1, 1) = 0
+ /65: poll(0xFAF7B980, 1, 2000) = 1
+ /65: read(9, 0xFAF7BC20, 512) = 0
+ /65: close(9) = 0 +

+ +

Burada worker evresi bağlantıyı zamana yaymaktadır.

+ +

+ /65: close(10) = 0
+ /65: lwp_park(0x00000000, 0) (uykuda...) +

+ +

Son olarak, worker evresi teslim edilen dosyayı kapattıktan sonra + dinleyici evre tarafından başka bir bağlantı atanıncaya kadar beklemeye + alınır.

+ +

+ /67: accept(3, 0x001FEB74, 0x001FEB94, 1) (uykuda...) +

+ +

Bu arada, dinleyici evre bağlantıyı bir worker evresine atar atamaz + başka bir bağlantıyı beklemeye başlar (Mevcut tüm evreler meşgulse + dinleyici evreyi baskılayan worker MPM'nin akış denetim şemasına konu + olur). Bu izlemede görünmüyor olsa da sonraki accept(2) + çağrısı, yeni bağlantı kabul eden worker evresine paralel olarak + yapılabilir (aşırı yük durumlarında normal olarak, bu yapılır).

+ +
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/relevant_standards.html b/docs/manual/misc/relevant_standards.html new file mode 100644 index 0000000..3b23231 --- /dev/null +++ b/docs/manual/misc/relevant_standards.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: relevant_standards.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: relevant_standards.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: relevant_standards.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/misc/relevant_standards.html.en b/docs/manual/misc/relevant_standards.html.en new file mode 100644 index 0000000..58f6f18 --- /dev/null +++ b/docs/manual/misc/relevant_standards.html.en @@ -0,0 +1,234 @@ + + + + + +Relevant Standards - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Relevant Standards

+
+

Available Languages:  en  | + fr  | + ko 

+
+ +

This page documents all the relevant standards that the + Apache HTTP Server follows, along with brief descriptions.

+ +

In addition to the information listed below, the following resources + should be consulted:

+ + + +

Notice

+

This document is not yet complete.

+
+ +
+ +
top
+
+

HTTP Recommendations

+ +

Regardless of what modules are compiled and used, Apache as a + basic web server complies with the following IETF recommendations:

+ +
+
RFC 1945 + (Informational)
+ +
The Hypertext Transfer Protocol (HTTP) is an application-level + protocol with the lightness and speed necessary for distributed, + collaborative, hypermedia information systems. This documents + HTTP/1.0.
+ +
RFC 2616 + (Standards Track)
+ +
The Hypertext Transfer Protocol (HTTP) is an + application-level protocol for distributed, collaborative, + hypermedia information systems. This documents HTTP/1.1.
+ +
RFC 2396 + (Standards Track)
+ +
A Uniform Resource Identifier (URI) is a compact string of + characters for identifying an abstract or physical resource.
+ +
RFC 4346 + (Standards Track)
+ +
The TLS protocol provides communications security over the + Internet. It provides encryption, and is designed to prevent + eavesdropping, tampering, and message forgery.
+
+ +
top
+
+

HTML Recommendations

+ +

Regarding the Hypertext Markup Language, Apache complies with + the following IETF and W3C recommendations:

+ +
+
RFC 2854 + (Informational)
+ +
This document summarizes the history of HTML development, + and defines the "text/html" MIME type by pointing to the relevant + W3C recommendations.
+ +
HTML 4.01 Specification + (Errata) +
+ +
This specification defines the HyperText Markup Language (HTML), + the publishing language of the World Wide Web. This specification + defines HTML 4.01, which is a subversion of HTML 4.
+ +
HTML 3.2 Reference + Specification
+ +
The HyperText Markup Language (HTML) is a simple markup language + used to create hypertext documents that are portable from one + platform to another. HTML documents are SGML documents.
+ +
XHTML 1.1 - + Module-based XHTML + (Errata) +
+ +
This Recommendation defines a new XHTML document type + that is based upon the module framework and modules defined in + Modularization of XHTML.
+ +
XHTML 1.0 The + Extensible HyperText Markup Language (Second Edition) + (Errata) +
+ +
This specification defines the Second Edition of XHTML 1.0, + a reformulation of HTML 4 as an XML 1.0 application, and three + DTDs corresponding to the ones defined by HTML 4.
+
+ +
top
+
+

Authentication

+ +

Concerning the different methods of authentication, Apache + follows the following IETF recommendations:

+ +
+
RFC 2617 + (Standards Track)
+ +
"HTTP/1.0", includes the specification for a Basic + Access Authentication scheme.
+ +
+ +
top
+
+

Language/Country Codes

+ +

The following links document ISO and other language and country + code information:

+ +
+
ISO 639-2
+ +
ISO 639 provides two sets of language codes, one as a two-letter + code set (639-1) and another as a three-letter code set (this part + of ISO 639) for the representation of names of languages.
+ +
+ ISO 3166-1
+ +
These pages document the country names (official short names + in English) in alphabetical order as given in ISO 3166-1 and the + corresponding ISO 3166-1-alpha-2 code elements.
+ +
BCP 47 + (Best Current Practice), + RFC 3066
+ +
This document describes a language tag for use in cases where + it is desired to indicate the language used in an information + object, how to register values for use in this language tag, + and a construct for matching such language tags.
+ +
RFC 3282 + (Standards Track)
+ +
This document defines a "Content-language:" header, for use in + cases where one desires to indicate the language of something that + has RFC 822-like headers, like MIME body parts or Web documents, + and an "Accept-Language:" header for use in cases where one wishes + to indicate one's preferences with regard to language.
+
+ +
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/relevant_standards.html.fr.utf8 b/docs/manual/misc/relevant_standards.html.fr.utf8 new file mode 100644 index 0000000..12b8663 --- /dev/null +++ b/docs/manual/misc/relevant_standards.html.fr.utf8 @@ -0,0 +1,253 @@ + + + + + +Standards applicables - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Standards applicables

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ +

Cette page documente tous les standards applicables que suit le + serveur HTTP Apache, accompagnés d'une brève description.

+ +

Pour compléter les informations fournies ci-dessous, vous pouvez + consulter les ressources suivantes :

+ + + +

Avertissement

+

Ce document n'est pas encore finalisé.

+
+ +
+ +
top
+
+

Recommandations HTTP

+ +

Indépendamment des modules compilés et utilisés, Apache en + tant que serveur web de base respecte les recommandations IETF + suivantes :

+ +
+
RFC 1945 + (Informations)
+ +
Le Protocole de Transfert Hypertexte (Hypertext Transfer + Protocol - HTTP) est un protocole de niveau application avec la + clarté et la vitesse nécessaires pour les systèmes d'informations + distribués, collaboratifs et hypermédia. Cette RFC documente le + protocole HTTP/1.0.
+ +
RFC 2616 + (Série de standards)
+ +
Le Protocole de Transfert Hypertexte (Hypertext Transfer + Protocol - HTTP) est un protocole de niveau application pour les + systèmes d'informations distribués, collaboratifs et hypermédia. + Cette RFC documente le protocole HTTP/1.1.
+ +
RFC 2396 + (Série de standards)
+ +
Un Identificateur de Ressource Uniforme (Uniform Resource + Identifier - URI) est une chaîne de caractères compacte permettant + d'identifier une ressource physique ou abstraite.
+ +
RFC 4346 + (Série de standards)
+ +
Le protocole TLS permet l'utilisation de communications + sécurisées sur l'Internet. Il fournit le chiffrement, et a été + conçu pour se prémunir contre l'interception, la modification et + la falsification de messages.
+
+ +
top
+
+

Recommandations HTML

+ +

En ce qui concerne le langage HTML, Apache respecte les + recommandations IETF et W3C suivantes :

+ +
+
RFC 2854 + (Informations)
+ +
Ce document résume l'historique du développement de HTML, et + définit le type MIME "text/html" en pointant les recommandations + W3C correspondantes.
+ +
Spécification HTML + 4.01 + (Corrections + d'erreurs) +
+ +
Cette spécification définit le Langage à Balises HyperTexte + (HyperText Markup Language - HTML), le langage de publication du + World Wide Web. Elle définit HTML 4.01, qui est une sous-version + de HTML 4.
+ +
Référence HTML + 3.2
+ +
Le langage à Balises HyperTexte (HyperText Markup Language - + HTML) est un langage à balises simple permettant de créer des + documents hypertextes portables. Les documents HTML sont aussi des + documents SGML.
+ +
XHTML 1.1 - + XHTML sous forme de modules + (Corrections + d'erreurs) +
+ +
Cette recommandation définit un nouveau type de document XHTML + basé sur le cadre de développement des modules et les modules + définis dans la modularisation de XHTML.
+ +
XHTML 1.0, le Langage à + Balises Hypertexte Extensible (Extensible HyperText Markup + Language) - Seconde édition + (Corrections + d'erreurs) +
+ +
Cette spécification définit la seconde édition de XHTML 1.0, + une reformulation de HTML 4 en tant qu'application XML 1.0, ainsi + que trois DTDs correspondant à celles définies par HTML 4.
+
+ +
top
+
+

Authentification

+ +

En ce qui concerne les différentes méthodes d'authentification, + Apache respecte les recommandations IETF suivantes :

+ +
+
RFC 2617 + (Le track des standards)
+ +
"HTTP/1.0", y compris la spécification d'un protocole basique + d'authentification et de contrôle d'accès.
+ +
+ +
top
+
+

Codes de langues et de + pays

+ +

Les liens suivants fournissent des informations à propos des + codes de langues et de pays aux normes ISO ou autres :

+ +
+
ISO 639-2
+ +
ISO 639 fournit deux jeux de codes de langues permettant de + représenter les noms des langues ; le premier est + un jeu de codes sur deux lettres (639-1), le second (celui + présenté dans le lien ci-dessus), est un jeu de codes sur trois + lettres (639-2).
+ +
+ ISO 3166-1
+ +
Ce document présente les noms de pays (les noms raccourcis + officiels en anglais) dans l'ordre alphabétique, tels qu'ils sont + présentés dans la norme ISO 3166-1 et les éléments de codes + correspondants de la norme ISO 3166-1-alpha-2.
+ +
BCP 47 + (Les meilleurs pratiques courantes), + RFC 3066
+ +
Ce document décrit une balise de langue permettant de + spécifier la langue utilisé dans un objet contenant des + informations, la manière d'enregistrer des valeurs à utiliser dans + cette balise de langage, et une méthode pour comparer les balises + de langue de ce style.
+ +
RFC 3282 + (Série de standards)
+ +
Ce document définit un en-tête "Content-language:" permettant + de spécifier le langage d'un élément possédant des en-têtes du + style RFC 822, comme les portions de corps MIME ou les documents + Web, et un en-tête "Accept-Language:" permettant de spécifier des + préférences en matière de langue.
+
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/relevant_standards.html.ko.euc-kr b/docs/manual/misc/relevant_standards.html.ko.euc-kr new file mode 100644 index 0000000..c1c8007 --- /dev/null +++ b/docs/manual/misc/relevant_standards.html.ko.euc-kr @@ -0,0 +1,221 @@ + + + + + +°ü·Ã Ç¥ÁØ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

°ü·Ã Ç¥ÁØ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­¿¡´Â °£´ÜÇÑ ¼³¸í°ú ÇÔ²² ¾ÆÆÄÄ¡ À¥¼­¹ö°¡ µû¸£´Â + ¸ðµç °ü·Ã Ç¥ÁØÀ» ¿­°ÅÇÑ´Ù.

+ +

¾Æ·¡ Á¤º¸¿¡ ´õÇÏ¿© ´ÙÀ½ ÀÚ·áµµ »ìÆìºÁ¾ß ÇÑ´Ù:

+ + + +

ÁÖÀÇ

+

ÀÌ ¹®¼­´Â ¾ÆÁ÷ ¿ÏÀüÇÏÁö ¾Ê´Ù.

+
+ +
+ +
top
+
+

HTTP ±Ç°í

+ +

¾î¶² ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í »ç¿ëÇÏ´ÂÁö¿Í °ü°è¾øÀÌ ±âº»ÀûÀ¸·Î + À¥¼­¹öÀÎ ¾ÆÆÄÄ¡´Â ´ÙÀ½ IETF ±Ç°í(recommendation)¸¦ µû¸¥´Ù:

+ +
+
RFC 1945 + (Informational)
+ +
ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ (Hypertext Transfer Protocol, + HTTP)Àº ºÐ»ê, Çùµ¿, ÇÏÀÌÆÛ¸Åü Á¤º¸ ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ ºü¸£°í + °¡º­¿î ¾îÇø®ÄÉÀÌ¼Ç ¼öÁØ(application-level) ÇÁ·ÎÅäÄÝÀÌ´Ù. + ÀÌ ¹®¼­´Â HTTP/1.0À» ¼³¸íÇÑ´Ù.
+ +
RFC 2616 + (Standards Track)
+ +
ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ (Hypertext Transfer Protocol, + HTTP)Àº ºÐ»ê, Çùµ¿, ÇÏÀÌÆÛ¸Åü Á¤º¸ ½Ã½ºÅÛÀ» À§ÇÑ ¾îÇø®ÄÉÀÌ¼Ç + ¼öÁØ ÇÁ·ÎÅäÄÝÀÌ´Ù. ÀÌ ¹®¼­´Â HTTP/1.1À» ¼³¸íÇÑ´Ù.
+ +
RFC 2396 + (Standards Track)
+ +
Ç¥ÁØ ÀÚ¿ø ½Äº°ÀÚ (Uniform Resource Identifier, URI)´Â + Ãß»óÀû ȤÀº ¹°¸®Àû ÀÚ¿øÀ» ½Äº°ÇϱâÀ§ÇÑ ÂªÀº ¹®ÀÚ¿­ÀÌ´Ù.
+
+ +
top
+
+

HTML ±Ç°í

+ +

ÇÏÀÌÆÛÅؽºÆ® ¸¶Å©¾÷ ¾ð¾î (Hypertext Markup Language, + HTML)¿Í °ü·ÃÇÏ¿© ¾ÆÆÄÄ¡´Â ´ÙÀ½ IETF ±Ç°í¿Í W3C ±Ç°í¸¦ µû¸¥´Ù:

+ +
+
RFC 2854 + (Informational)
+ +
ÀÌ ¹®¼­´Â HTML °³¹ß°úÁ¤À» ¿ä¾àÇÏ°í, °ü·Ã W3C ±Ç°í¸¦ + ±â¹ÝÀ¸·Î "text/html" MIME typeÀ» Á¤ÀÇÇÑ´Ù.
+ +
HTML 4.01 ±Ô¾à + (Errata) +
+ +
ÀÌ ±Ô¾àÀº ¿ùµå¿ÍÀ̵åÀ¥ÀÇ ÃâÆǾð¾îÀÎ ÇÏÀÌÆÛÅؽºÆ® ¸¶Å©¾÷ + ¾ð¾î (Hypertext Markup Language, HTML)¸¦ Á¤ÀÇÇÑ´Ù. ÀÌ + ±Ô¾àÀº HTML 4ÀÇ ÇÏÀ§¹öÀüÀÎ HTML 4.01À» Á¤ÀÇÇÑ´Ù.
+ +
HTML 3.2 Âü°í ±Ô¾à
+ +
ÇÏÀÌÆÛÅؽºÆ® ¸¶Å©¾÷ ¾ð¾î (Hypertext Markup Language, + HTML)´Â Ç÷¡Æû°ú ¹«°üÇÑ ÇÏÀÌÆÛÅؽºÆ® ¹®¼­¸¦ À§ÇÑ °£´ÜÇÑ + ¸¶Å©¾÷ ¾ð¾îÀÌ´Ù. HTML ¹®¼­´Â SGML ¹®¼­À̱⵵ ÇÏ´Ù.
+ +
XHTML 1.1 - + ¸ðµâ±â¹Ý XHTML + (Á¤¿ÀÇ¥) +
+ +
ÀÌ ±Ç°í´Â Modularization of XHTML¿¡¼­ Á¤ÀÇÇÑ ¸ðµâ + Ç÷¹ÀÓ¿öÅ©¿Í ¸ðµâµéÀ» ±â¹ÝÀ¸·Î »õ·Î¿î XHTML document typeÀ» + Á¤ÀÇÇÑ´Ù.
+ +
XHTML 1.0 + È®Àå ÇÏÀÌÆÛÅؽºÆ® ¸¶Å©¾÷ ¾ð¾î (Extensible HyperText Markup + Language) (Second Edition) + (Á¤¿ÀÇ¥) +
+ +
ÀÌ ¹®¼­´Â HTML 4¸¦ XML 1.0À¸·Î À籸¼ºÇÑ XHTML 1.0ÀÇ + µÎ¹ø° ¹öÀü°ú HTML 4¿¡ ÇØ´çÇÏ´Â ¼¼°¡Áö DTD¸¦ Á¤ÀÇÇÑ´Ù.
+
+ +
top
+
+

ÀÎÁõ

+ +

ÀÎÁõ¹æ¹ý¿¡ ´ëÇØ ¾ÆÆÄÄ¡´Â ´ÙÀ½ IETF ±Ç°í¸¦ µû¸¥´Ù:

+ +
+
RFC 2617 + (Draft standard)
+ +
Basic Access Authentication ±Ô¾àÀ» Æ÷ÇÔÇÑ "HTTP/1.0".
+ +
+ +
top
+
+

¾ð¾î/±¹°¡ ÄÚµå

+ +

¾Æ·¡ ¸µÅ©¿¡ ISO¿Í ´Ù¸¥ ¾ð¾î/±¹°¡ ÄÚµå Á¤º¸°¡ ÀÖ´Ù:

+ +
+
ISO 639-2
+ +
ISO 639´Â ¾ð¾îÀÇ À̸§À» ³ªÅ¸³»´Â µÎ°¡Áö ¾ð¾î Äڵ带 + Á¦°øÇÑ´Ù. Çϳª´Â (639-1) µÎ ±ÛÀÚ ÄÚµåÀÌ°í ´Ù¸¥ Çϳª´Â + (ÀÌ ¹®¼­) ¼¼ ±ÛÀÚ ÄÚµåÀÌ´Ù.
+ +
+ ISO 3166-1
+ +
ÀÌ ¹®¼­´Â ISO 3166-1°ú ISO 3166-1-alpha-2 Äڵ忡 µû¶ó + ¾ËÆĺª ¼ø¼­·Î (¿µ¾î·Î ªÀº °ø½ÄÀ̸§) ±¹°¡¸íÀ» ¿­°ÅÇÑ´Ù.
+ +
BCP 47 + (Best Current Practice), + RFC 3066
+ +
ÀÌ ¹®¼­´Â Á¤º¸ °´Ã¼¿¡ »ç¿ëÇÑ ¾ð¾î¸¦ ¾Ë¸®±âÀ§ÇØ »ç¿ëÇÒ + ¾ð¾î ÅÂ±×¿Í ¾ð¾î ű׿¡ »ç¿ëÇÒ °ªÀ» µî·ÏÇÏ´Â ¹æ¹ý, ¾ð¾î + ű׸¦ ã´Â ¹æ½ÄÀ» ¼³¸íÇÑ´Ù.
+ +
RFC 3282 + (Standards Track)
+ +
ÀÌ ¹®¼­´Â MIME ³»¿ë ºÎºÐ°ú À¥ ¹®¼­¿Í °°Àº RFC 822½Ä + Çì´õ°¡ ÀÖ´Â Á¤º¸ÀÇ ¾ð¾î¸¦ ¾Ë¸®±âÀ§ÇÑ "Content-language:" + Çì´õ¿Í, ¼±È£ÇÏ´Â ¾ð¾î¸¦ ³ªÅ¸³»´Â "Accept-Language:" Çì´õ¸¦ + Á¤ÀÇÇÑ´Ù.
+
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/security_tips.html b/docs/manual/misc/security_tips.html new file mode 100644 index 0000000..9324c2d --- /dev/null +++ b/docs/manual/misc/security_tips.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: security_tips.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: security_tips.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: security_tips.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: security_tips.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/misc/security_tips.html.en b/docs/manual/misc/security_tips.html.en new file mode 100644 index 0000000..1aabfe3 --- /dev/null +++ b/docs/manual/misc/security_tips.html.en @@ -0,0 +1,491 @@ + + + + + +Security Tips - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Security Tips

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

Some hints and tips on security issues in setting up a web server. + Some of the suggestions will be general, others specific to Apache.

+
+ +
top
+
+

Keep up to Date

+ +

The Apache HTTP Server has a good record for security and a + developer community highly concerned about security issues. But + it is inevitable that some problems -- small or large -- will be + discovered in software after it is released. For this reason, it + is crucial to keep aware of updates to the software. If you have + obtained your version of the HTTP Server directly from Apache, we + highly recommend you subscribe to the Apache + HTTP Server Announcements List where you can keep informed of + new releases and security updates. Similar services are available + from most third-party distributors of Apache software.

+ +

Of course, most times that a web server is compromised, it is + not because of problems in the HTTP Server code. Rather, it comes + from problems in add-on code, CGI scripts, or the underlying + Operating System. You must therefore stay aware of problems and + updates with all the software on your system.

+ +
top
+
+

Denial of Service (DoS) attacks

+ + + +

All network servers can be subject to denial of service attacks + that attempt to prevent responses to clients by tying up the + resources of the server. It is not possible to prevent such + attacks entirely, but you can do certain things to mitigate the + problems that they create.

+ +

Often the most effective anti-DoS tool will be a firewall or + other operating-system configurations. For example, most + firewalls can be configured to restrict the number of simultaneous + connections from any individual IP address or network, thus + preventing a range of simple attacks. Of course this is no help + against Distributed Denial of Service attacks (DDoS).

+ +

There are also certain Apache HTTP Server configuration + settings that can help mitigate problems:

+ +
    +
  • The RequestReadTimeout + directive allows to limit the time a client may take to send the + request.
  • + +
  • The TimeOut directive + should be lowered on sites that are subject to DoS attacks. + Setting this to as low as a few seconds may be appropriate. + As TimeOut is currently + used for several different operations, setting it to a low value + introduces problems with long running CGI scripts.
  • + +
  • The KeepAliveTimeout + directive may be also lowered on sites that are subject to DoS + attacks. Some sites even turn off the keepalives completely via + KeepAlive, which has of course + other drawbacks on performance.
  • + +
  • The values of various timeout-related directives provided by + other modules should be checked.
  • + +
  • The directives + LimitRequestBody, + LimitRequestFields, + LimitRequestFieldSize, + LimitRequestLine, and + LimitXMLRequestBody + should be carefully configured to limit resource consumption + triggered by client input.
  • + +
  • On operating systems that support it, make sure that you use + the AcceptFilter directive + to offload part of the request processing to the operating + system. This is active by default in Apache httpd, but may + require reconfiguration of your kernel.
  • + +
  • Tune the MaxRequestWorkers directive to allow + the server to handle the maximum number of simultaneous + connections without running out of resources. See also the performance tuning + documentation.
  • + +
  • The use of a threaded mpm may + allow you to handle more simultaneous connections, thereby + mitigating DoS attacks. Further, the + event mpm + uses asynchronous processing to avoid devoting a thread to each + connection. Due to the nature of the OpenSSL library the + event mpm is currently incompatible with + mod_ssl and other input filters. In these + cases it falls back to the behaviour of the + worker mpm.
  • + +
  • There are a number of third-party modules available + that can restrict certain client behaviors and thereby mitigate + DoS problems.
  • + +
+ +
top
+
+

Permissions on ServerRoot Directories

+ + + +

In typical operation, Apache is started by the root user, and it + switches to the user defined by the User directive to serve hits. As is the + case with any command that root executes, you must take care that it is + protected from modification by non-root users. Not only must the files + themselves be writeable only by root, but so must the directories, and + parents of all directories. For example, if you choose to place + ServerRoot in /usr/local/apache then it is suggested that + you create that directory as root, with commands like these:

+ +

+ mkdir /usr/local/apache
+ cd /usr/local/apache
+ mkdir bin conf logs
+ chown 0 . bin conf logs
+ chgrp 0 . bin conf logs
+ chmod 755 . bin conf logs +

+ +

It is assumed that /, /usr, and + /usr/local are only modifiable by root. When you install the + httpd executable, you should ensure that it is + similarly protected:

+ +

+ cp httpd /usr/local/apache/bin
+ chown 0 /usr/local/apache/bin/httpd
+ chgrp 0 /usr/local/apache/bin/httpd
+ chmod 511 /usr/local/apache/bin/httpd +

+ +

You can create an htdocs subdirectory which is modifiable by other + users -- since root never executes any files out of there, and shouldn't + be creating files in there.

+ +

If you allow non-root users to modify any files that root either + executes or writes on then you open your system to root compromises. + For example, someone could replace the httpd binary so + that the next time you start it, it will execute some arbitrary code. If + the logs directory is writeable (by a non-root user), someone could replace + a log file with a symlink to some other system file, and then root + might overwrite that file with arbitrary data. If the log files + themselves are writeable (by a non-root user), then someone may be + able to overwrite the log itself with bogus data.

+ +
top
+
+

Server Side Includes

+ + + +

Server Side Includes (SSI) present a server administrator with + several potential security risks.

+ +

The first risk is the increased load on the server. All + SSI-enabled files have to be parsed by Apache, whether or not + there are any SSI directives included within the files. While this + load increase is minor, in a shared server environment it can become + significant.

+ +

SSI files also pose the same risks that are associated with CGI + scripts in general. Using the exec cmd element, SSI-enabled + files can execute any CGI script or program under the permissions of the + user and group Apache runs as, as configured in + httpd.conf.

+ +

There are ways to enhance the security of SSI files while still + taking advantage of the benefits they provide.

+ +

To isolate the damage a wayward SSI file can cause, a server + administrator can enable suexec as + described in the CGI in General section.

+ +

Enabling SSI for files with .html or .htm + extensions can be dangerous. This is especially true in a shared, or high + traffic, server environment. SSI-enabled files should have a separate + extension, such as the conventional .shtml. This helps keep + server load at a minimum and allows for easier management of risk.

+ +

Another solution is to disable the ability to run scripts and + programs from SSI pages. To do this replace Includes + with IncludesNOEXEC in the Options directive. Note that users may + still use <--#include virtual="..." --> to execute CGI + scripts if these scripts are in directories designated by a ScriptAlias directive.

+ +
top
+
+

CGI in General

+ + + +

First of all, you always have to remember that you must trust the + writers of the CGI scripts/programs or your ability to spot potential + security holes in CGI, whether they were deliberate or accidental. CGI + scripts can run essentially arbitrary commands on your system with the + permissions of the web server user and can therefore be extremely + dangerous if they are not carefully checked.

+ +

All the CGI scripts will run as the same user, so they have potential + to conflict (accidentally or deliberately) with other scripts e.g. User + A hates User B, so he writes a script to trash User B's CGI database. One + program which can be used to allow scripts to run as different users is + suEXEC which is included with Apache as of + 1.2 and is called from special hooks in the Apache server code. Another + popular way of doing this is with + CGIWrap.

+ +
top
+
+

Non Script Aliased CGI

+ + + +

Allowing users to execute CGI scripts in any directory should only be + considered if:

+ +
    +
  • You trust your users not to write scripts which will deliberately + or accidentally expose your system to an attack.
  • +
  • You consider security at your site to be so feeble in other areas, + as to make one more potential hole irrelevant.
  • +
  • You have no users, and nobody ever visits your server.
  • +
+ +
top
+
+

Script Aliased CGI

+ + + +

Limiting CGI to special directories gives the admin control over what + goes into those directories. This is inevitably more secure than non + script aliased CGI, but only if users with write access to the + directories are trusted or the admin is willing to test each + new CGI script/program for potential security holes.

+ +

Most sites choose this option over the non script aliased CGI + approach.

+ +
top
+
+

Other sources of dynamic content

+ + + +

Embedded scripting options which run as part of the server itself, + such as mod_php, mod_perl, mod_tcl, + and mod_python, run under the identity of the server itself + (see the User directive), and + therefore scripts executed by these engines potentially can access anything + the server user can. Some scripting engines may provide restrictions, but + it is better to be safe and assume not.

+ +
top
+
+

Dynamic content security

+ + + +

When setting up dynamic content, such as mod_php, + mod_perl or mod_python, many security considerations + get out of the scope of httpd itself, and you need to consult + documentation from those modules. For example, PHP lets you setup Safe Mode, + which is most usually disabled by default. Another example is Suhosin, a PHP addon for more + security. For more information about those, consult each project + documentation.

+ +

At the Apache level, a module named mod_security + can be seen as a HTTP firewall and, provided you configure it finely enough, + can help you enhance your dynamic content security.

+ +
top
+
+

Protecting System Settings

+ + + +

To run a really tight ship, you'll want to stop users from setting + up .htaccess files which can override security features + you've configured. Here's one way to do it.

+ +

In the server configuration file, put

+ +
<Directory "/">
+    AllowOverride None
+</Directory>
+ + +

This prevents the use of .htaccess files in all + directories apart from those specifically enabled.

+ +

Note that this setting is the default since Apache 2.3.9.

+ +
top
+
+

Protect Server Files by Default

+ + + +

One aspect of Apache which is occasionally misunderstood is the + feature of default access. That is, unless you take steps to change it, + if the server can find its way to a file through normal URL mapping + rules, it can serve it to clients.

+ +

For instance, consider the following example:

+ +

+ # cd /; ln -s / public_html
+ Accessing http://localhost/~root/ +

+ +

This would allow clients to walk through the entire filesystem. To + work around this, add the following block to your server's + configuration:

+ +
<Directory "/">
+    Require all denied
+</Directory>
+ + +

This will forbid default access to filesystem locations. Add + appropriate Directory blocks to + allow access only in those areas you wish. For example,

+ +
<Directory "/usr/users/*/public_html">
+    Require all granted
+</Directory>
+<Directory "/usr/local/httpd">
+    Require all granted
+</Directory>
+ + +

Pay particular attention to the interactions of Location and Directory directives; for instance, even + if <Directory "/"> denies access, a + <Location "/"> directive might overturn it.

+ +

Also be wary of playing games with the UserDir directive; setting it to + something like ./ would have the same effect, for root, as + the first example above. We strongly + recommend that you include the following line in your server + configuration files:

+ +
UserDir disabled root
+ + +
top
+
+

Watching Your Logs

+ + + +

To keep up-to-date with what is actually going on against your server + you have to check the Log Files. Even though + the log files only reports what has already happened, they will give you + some understanding of what attacks is thrown against the server and + allow you to check if the necessary level of security is present.

+ +

A couple of examples:

+ +

+ grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log
+ grep "client denied" error_log | tail -n 10 +

+ +

The first example will list the number of attacks trying to exploit the + Apache Tomcat + Source.JSP Malformed Request Information Disclosure Vulnerability, + the second example will list the ten last denied clients, for example:

+ +

+ [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied + by server configuration: /usr/local/apache/htdocs/.htpasswd +

+ +

As you can see, the log files only report what already has happened, so + if the client had been able to access the .htpasswd file you + would have seen something similar to:

+ +

+ foo.example.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1" +

+ +

in your Access Log. This means + you probably commented out the following in your server configuration + file:

+ +
<Files ".ht*">
+    Require all denied
+</Files>
+ + +
top
+
+

Merging of configuration sections

+ + + +

The merging of configuration sections is complicated and sometimes + directive specific. Always test your changes when creating dependencies + on how directives are merged.

+ +

For modules that don't implement any merging logic, such as + mod_access_compat, the behavior in later sections + depends on whether the later section has any directives + from the module. The configuration is inherited until a change is made, + at which point the configuration is replaced and not merged.

+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/security_tips.html.fr.utf8 b/docs/manual/misc/security_tips.html.fr.utf8 new file mode 100644 index 0000000..b99e3e9 --- /dev/null +++ b/docs/manual/misc/security_tips.html.fr.utf8 @@ -0,0 +1,513 @@ + + + + + +Conseils sur la sécurité - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Conseils sur la sécurité

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

Ce document propose quelques conseils et astuces concernant les + problèmes de sécurité liés + à l'installation d'un serveur web. Certaines suggestions seront à caractère + général, tandis que d'autres seront spécifiques à Apache.

+
+ +
top
+
+

Maintenez votre serveur à jour

+ +

Le serveur HTTP Apache a une bonne réputation en matière de sécurité + et possède une communauté de développeurs très sensibilisés aux problèmes + de sécurité. Mais il est inévitable de trouver certains problèmes + -- petits ou grands -- une fois le logiciel mis à disposition. C'est pour + cette raison qu'il est crucial de se tenir informé des mises à jour. Si + vous avez obtenu votre version du serveur HTTP directement depuis Apache, + nous vous conseillons grandement de vous abonner à la Liste de diffusion + des annonces du serveur HTTP qui vous informera de + la parution des nouvelles versions et des mises à jour de sécurité. La + plupart des distributeurs tiers d'Apache fournissent des services + similaires.

+ +

Gardez cependant à l'esprit que lorsqu'un serveur web est compromis, le + code du serveur HTTP n'est la plupart du temps pas en cause. Les problèmes + proviennent plutôt de code ajouté, de scripts CGI, ou du système + d'exploitation sous-jacent. Vous devez donc vous tenir informé des + problèmes et mises à jour concernant tous les logiciels présents sur + votre système.

+ +
top
+
+

Attaques de type "Déni de service" + (Denial of Service - DoS)

+ + + +

Tous les services réseau peuvent faire l'objet d'attaques de type + "Déni de service" qui tentent de les empêcher de répondre aux clients en + saturant leurs ressources. Il est impossible de se prémunir totalement + contre ce type d'attaques, mais vous pouvez accomplir certaines actions + afin de minimiser les problèmes qu'elles créent.

+ +

Souvent, l'outil anti-DoS le plus efficace sera constitué par le + pare-feu ou certaines configurations du système d'exploitation. Par + exemple, la plupart des pare-feu peuvent être configurés de façon à + limiter le nombre de connexions simultanées depuis une adresse IP ou un + réseau, ce qui permet de prévenir toute une gamme d'attaques simples. + Bien sûr, ceci n'est d'aucun secours contre les attaques de type + "Déni de service" distribuées (DDoS).

+ +

Certains réglages de la configuration d'Apache peuvent aussi + minimiser les problèmes :

+ +
    +
  • La directive RequestReadTimeout permet de + limiter le temps que met le client pour envoyer sa requête.
  • + +
  • La valeur de la directive + TimeOut doit être diminuée sur les + sites sujets aux attaques DoS. Une valeur de quelques secondes devrait + convenir. Cependant, comme TimeOut + est actuellement concerné par de nombreuses opérations différentes, lui + attribuer une valeur trop faible peut provoquer des problèmes avec les + scripts CGI qui présentent un long temps de réponse.
  • + +
  • La valeur de la directive + KeepAliveTimeout doit aussi être + diminuée sur les sites sujets aux attaques DoS. Certains sites + désactivent même complètement le "maintien en vie" (keepalives) + à l'aide de la directive + KeepAlive, ce qui bien sûr + présente des inconvénients en matière de performances.
  • + +
  • Les valeurs des différentes directives fournies par d'autres modules + et en rapport avec des délais doivent aussi être vérifiées.
  • + +
  • Les directives + LimitRequestBody, + LimitRequestFields, + LimitRequestFieldSize, + LimitRequestLine, et + LimitXMLRequestBody doivent être + configurées avec prudence afin de limiter la consommation de ressources + induite par les demandes des clients. +
  • + +
  • Sur les systèmes d'exploitation qui le supportent, assurez-vous que + la directive AcceptFilter est + activée afin de déléguer une partie du traitement des requêtes au + système d'exploitation. Elle est activée par défaut dans le démon httpd + d'Apache, mais peut nécessiter une reconfiguration de votre noyau.
  • + +
  • Optimisez la directive MaxRequestWorkers de façon à définir le nombre + maximum de connexions simultanées au dessus duquel les ressources + s'épuisent. Voir aussi la documentation sur l'optimisation des + performances.
  • + +
  • L'utilisation d'un module mpm threadé + vous permet de traiter d'avantage de connexions simultanées, ce qui + minimise l'effet des attaques DoS. Dans le futur, le module mpm + event utilisera un traitement asynchrone afin de ne pas + dédier un thread à chaque connexion. De par la + nature de la bibliothèque OpenSSL, le module mpm event est actuellement incompatible + avec le module mod_ssl ainsi que d'autres filtres + en entrée. Dans ces cas, son comportement se ramène à celui + du module mpm worker.
  • + +
  • Il existe de nombreux modules tiers qui peuvent restreindre les + comportements de certains clients et ainsi minimiser les problèmes de + DoS.
  • + +
+ +
top
+
+

Permissions sur les répertoires de la racine du serveur

+ + + +

Typiquement, Apache est démarré par l'utilisateur root, puis il devient + la propriété de l'utilisateur défini par la directive User afin de répondre aux demandes. Comme + pour toutes les commandes exécutées par root, vous devez vous assurer + qu'elle n'est pas modifiable par les utilisateurs autres que root. Les + fichiers eux-mêmes, mais aussi les répertoires ainsi que leurs parents ne + doivent être modifiables que par root. Par exemple, si vous avez choisi de + placer la racine du serveur dans /usr/local/apache, il est conseillé de + créer le répertoire en tant que root, avec des commandes du style :

+ +

+ mkdir /usr/local/apache
+ cd /usr/local/apache
+ mkdir bin conf logs
+ chown 0 . bin conf logs
+ chgrp 0 . bin conf logs
+ chmod 755 . bin conf logs +

+ +

Nous supposerons que /, /usr et + /usr/local ne sont modifiables que par + root. Quand vous installez l'exécutable httpd, vous + devez vous assurer qu'il possède des protections similaires :

+ +

+ cp httpd /usr/local/apache/bin
+ chown 0 /usr/local/apache/bin/httpd
+ chgrp 0 /usr/local/apache/bin/httpd
+ chmod 511 /usr/local/apache/bin/httpd +

+ +

Vous pouvez créer un sous-répertoire htdocs modifiable par d'autres + utilisateurs -- car root ne crée ni exécute aucun fichier dans ce + sous-répertoire.

+ +

Si vous permettez à des utilisateurs non root de modifier des fichiers + que root écrit ou exécute, vous exposez votre système à une compromission + de l'utilisateur root. Par exemple, quelqu'un pourrait remplacer le binaire + httpd de façon à ce que la prochaine fois que vous le + redémarrerez, il exécutera un code arbitraire. Si le répertoire des + journaux a les droits en écriture (pour un utilisateur non root), quelqu'un + pourrait remplacer un fichier journal par un lien symbolique vers un autre + fichier système, et root pourrait alors écraser ce fichier avec des données + arbitraires. Si les fichiers journaux eux-mêmes ont des droits en + écriture (pour un utilisateur non root), quelqu'un pourrait + modifier les journaux eux-mêmes avec des données fausses.

+ +
top
+
+

Inclusions côté serveur

+ + + +

Les inclusions côté serveur (Server Side Includes - SSI) exposent + l'administrateur du serveur à de nombreux risques potentiels en matière de + sécurité.

+ +

Le premier risque est l'augmentation de la charge du serveur. Tous les + fichiers où SSI est activé doivent être analysés par Apache, qu'ils + contiennent des directives SSI ou non. L'augmentation de la charge induite + est minime, mais peut devenir significative dans le contexte d'un + serveur partagé.

+ +

Les fichiers SSI présentent les mêmes risques que les scripts CGI en + général. Les fichiers où SSI est activé peuvent exécuter tout script CGI + ou autre programme à l'aide de la commande "exec cmd" avec les permissions + des utilisateur et groupe sous lesquels Apache s'exécute, comme défini + dans httpd.conf.

+ +

Des méthodes existent pour améliorer la sécurité des fichiers SSI, tout + en tirant parti des bénéfices qu'ils apportent.

+ +

Pour limiter les dommages qu'un fichier SSI agressif pourrait causer, + l'administrateur du serveur peut activersuexec + comme décrit dans la section Les CGI en général.

+ +

L'activation des SSI pour des fichiers possédant des extensions + .html ou + .htm peut s'avérer dangereux. Ceci est particulièrement vrai dans un + environnement de serveur partagé ou étant le siège d'un traffic élevé. Les + fichiers où SSI est activé doivent posséder une extension spécifique, telle + que la conventionnelle .shtml. Ceci permet de limiter la charge du serveur + à un niveau minimum et de simplifier la gestion des risques.

+ +

Une autre solution consiste à interdire l'exécution de scripts et + programmes à partir de pages SSI. Pour ce faire, remplacez + Includes par IncludesNOEXEC dans la directive + Options. Notez que les utilisateurs + pourront encore utiliser <--#include virtual="..." --> pour exécuter + des scripts CGI si ces scripts sont situés dans des répertoires spécifiés + par une directive + ScriptAlias.

+ +
top
+
+

Les CGI en général

+ + + +

Tout d'abord, vous devez toujours garder à l'esprit que vous devez + faire confiance aux développeurs de scripts ou programmes CGI ainsi qu'à + vos compétences pour déceler les trous de sécurité potentiels dans les + CGI, que ceux-ci soient délibérés ou accidentels. Les scripts CGI peuvent + essentiellement exécuter des commandes arbitraires sur votre système avec + les droits de l'utilisateur du serveur web, et peuvent par conséquent être + extrèmement dangereux s'ils ne sont pas vérifiés avec soin.

+ +

Tous les scripts CGI s'exécutent sous le même utilisateur, il peuvent + donc entrer en conflit (accidentellement ou délibérément) avec d'autres + scripts. Par exemple, l'utilisateur A hait l'utilisateur B, il écrit donc + un script qui efface la base de données CGI de l'utilisateur B. Vous pouvez + utiliser le programme suEXEC pour faire en + sorte que les scripts s'exécutent sous des utilisateurs différents. Ce + programme est inclus dans la distribution d'Apache depuis la version 1.2 + et est appelé à partir de certaines portions de code du serveur Apache. Une + autre méthode plus connue est l'utilisation de + CGIWrap.

+ +
top
+
+

CGI sans alias de script

+ + + +

Vous ne devez permettre aux utilisateurs d'exécuter des scripts CGI + depuis n'importe quel répertoire que dans l'éventualité où :

+ +
    +
  • Vous faites confiance à vos utilisateurs pour ne pas écrire de + scripts qui vont délibérément ou accidentellement exposer votre + système à une attaque.
  • +
  • Vous estimez que le niveau de sécurité dans les autres parties de + votre site est si faible qu'un trou de sécurité de plus ou de moins + n'est pas très important.
  • +
  • Votre système ne comporte aucun utilisateur, et personne ne visite + jamais votre site.
  • +
+ +
top
+
+

CGI avec alias de script

+ + + +

Le confinement des CGI dans des répertoires spécifiques permet à + l'administrateur de contrôler ce que l'on met dans ces répertoires. Ceci + est bien entendu mieux sécurisé que les CGI sans alias de script, mais + seulement à condition que les utilisateurs avec les droits en écriture sur + les répertoires soient dignes de confiance, et que l'administrateur ait la + volonté de tester chaque programme ou script CGI à la recherche d'éventuels + trous de sécurité.

+ +

La plupart des sites choisissent cette approche au détriment des CGI + sans alias de script.

+ +
top
+
+

Autres sources de contenu dynamique

+ + + +

+ Les options de scripting intégrées qui s'exécutent en tant que partie du + serveur lui-même, comme mod_php, mod_perl, + mod_tcl, et mod_python, + s'exécutent sous le même utilisateur que le serveur (voir la directive + User), et par conséquent, + les scripts que ces moteurs exécutent peuvent accéder aux mêmes ressources + que le serveur. Certains moteurs de scripting peuvent proposer des + restrictions, mais pour plus de sûreté, il vaut mieux partir du principe + que ce n'est pas le cas.

+ +
top
+
+

Protection de la configuration du système

+ + + +

Pour contrôler étroitement votre serveur, vous pouvez interdire + l'utilisation des fichiers .htaccess qui permettent de + passer outre les fonctionnalités de sécurité que vous avez configurées. + Voici un moyen pour y parvenir :

+ +

Ajoutez dans le fichier de configuration du serveur

+ +
<Directory "/">
+    AllowOverride None
+</Directory>
+ + +

Ceci interdit l'utilisation des fichiers .htaccess dans + tous les répertoires, sauf ceux pour lesquels c'est explicitement + autorisé.

+ +

Notez que c'est la configuration par défaut depuis Apache 2.3.9.

+ +
top
+
+

Protection par défaut des fichiers du serveur

+ + + +

Le concept d'accès par défaut est un aspect d'Apache qui est parfois mal + compris. C'est à dire que, à moins que vous ne changiez explicitement ce + comportement, si le serveur trouve son chemin vers un fichier en suivant + les règles normales de correspondance URL - fichier, il peut le retourner + aux clients.

+ +

Considérons l'exemple suivant :

+ +

+ # cd /; ln -s / public_html
+ puis accès à http://localhost/~root/ +

+ +

Ceci permettrait aux clients de parcourir l'ensemble du système de + fichiers. Pour l'éviter, ajoutez le bloc suivant à la configuration + de votre serveur :

+ +
<Directory "/">
+    Require all denied
+</Directory>
+ + +

ceci va interdire l'accès par défaut à tous les fichiers du système de + fichiers. Vous devrez ensuite ajouter les blocs + Directory appropriés correspondant + aux répertoires auxquels vous voulez autorisez l'accès. Par exemple,

+ +
<Directory "/usr/users/*/public_html">
+    Require all granted
+</Directory>
+<Directory "/usr/local/httpd">
+    Require all granted
+</Directory>
+ + +

Portez une attention particulière aux interactions entre les directives + Location et + Directory ; par exemple, si une + directive <Directory ""/> interdit un accès, une + directive <Location "/"> pourra passer outre.

+ +

De même, soyez méfiant en jouant avec la directive + UserDir ; la positionner à + "./" aurait le même effet, pour root, que le premier exemple plus haut. + Nous vous conseillons + fortement d'inclure la ligne suivante dans le fichier de configuration de + votre serveur :

+ +
UserDir disabled root
+ + +
top
+
+

Surveillez vos journaux

+ + + +

Pour vous tenir informé de ce qui se passe réellement dans votre + serveur, vous devez consulter vos + fichiers journaux. Même si les fichiers journaux + ne consignent que des évènements qui se sont déjà produits, ils vous + informeront sur la nature des attaques qui sont lancées contre le serveur + et vous permettront de vérifier si le niveau de sécurité nécessaire est + atteint.

+ +

Quelques exemples :

+ +

+ grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log
+ grep "client denied" error_log | tail -n 10 +

+ +

Le premier exemple listera les attaques essayant d'exploiter la + vulnérabilité + d'Apache Tomcat pouvant provoquer la divulgation d'informations par des + requêtes Source.JSP mal formées, le second donnera la liste des dix + dernières interdictions client ; par exemple :

+ +

+ [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied + by server configuration: /usr/local/apache/htdocs/.htpasswd +

+ +

Comme vous le voyez, les fichiers journaux ne consignent que ce qui + s'est déjà produit ; ainsi, si le client a pu accéder au fichier + .htpasswd, vous devriez avoir quelque chose du style :

+ +

+ foo.example.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1" +

+ +

dans votre journal des accès ; ce + qui signifie que vous avez probablement mis en commentaire ce qui suit dans + le fichier de configuration de votre serveur :

+ +
<Files ".ht*">
+    Require all denied
+</Files>
+ + +
top
+
+

Fusion des sections de configuration

+ + + +

La fusion des sections de configuration est complexe et dépend + souvent des directives utilisées. Vous devez systématiquement tester + vos modifications pour vérifier la manière dont les directives sont + fusionnées.

+ +

Concernant les modules qui n'implémentent aucune logique de + fusion, comme mod_access_compat, le + comportement des sections suivantes est tributaire de la présence + dans ces dernières de directives appartenant à ces modules. La + configuration est héritée jusqu'à ce qu'une modification soit + effectuée ; à ce moment, la configuration est remplacée et + non fusionnée.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/security_tips.html.ko.euc-kr b/docs/manual/misc/security_tips.html.ko.euc-kr new file mode 100644 index 0000000..f186361 --- /dev/null +++ b/docs/manual/misc/security_tips.html.ko.euc-kr @@ -0,0 +1,373 @@ + + + + + +º¸¾È ÆÁ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

º¸¾È ÆÁ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

À¥¼­¹ö¸¦ ¿î¿µÇÒ¶§ µµ¿òÀÌ µÉ º¸¾È °ü·Ã ÈùÆ®¿Í ÆÁÀÌ´Ù. + ¾î¶² °ÍÀº ÀϹÝÀûÀÌ°í, ¾î¶² °ÍÀº ¾ÆÆÄÄ¡¿¡¸¸ ÇØ´çÇÏ´Â °ÍÀÌ´Ù.

+
+ +
top
+
+

ÃÖ½ÅÆÇÀ¸·Î À¯ÁöÇϱâ

+ +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â ¾ÈÀü°ú º¸¾È ¹®Á¦¿¡ °ü½ÉÀÌ ¸¹Àº °³¹ßÀÚ + °øµ¿Ã¼·Î À¯¸íÇÏ´Ù. ±×·¯³ª Å©°Ç ÀÛ°Ç ¹ßÇ¥ÈÄ ¹ß°ßµÇ´Â ¹®Á¦µéÀ» + ÇÇÇÒ ¼ö ¾ø´Ù. ±×·¡¼­ ¼ÒÇÁÆ®¿þ¾î¸¦ ÃֽŹöÀüÀ¸·Î À¯ÁöÇÏ´Â + °ÍÀÌ Áß¿äÇÏ´Ù. ¾ÆÆÄÄ¡¿¡¼­ Á÷Á¢ À¥¼­¹ö¸¦ ´Ù¿î·ÎµåÇß´Ù¸é, + »õ·Î¿î ¹öÀü°ú º¸¾È ¾÷µ¥ÀÌÆ®¸¦ ¾Ë·ÁÁÖ´Â ¾ÆÆÄÄ¡ + À¥¼­¹ö ¹ßÇ¥ ¸ÞÀϸµ¸®½ºÆ®¸¦ ±¸µ¶ÇÏ±æ °­·ÂÈ÷ ±ÇÇÑ´Ù. + ¾ÆÆÄÄ¡ ¼ÒÇÁÆ®¿þ¾î¸¦ ¹èÆ÷ÇÏ´Â ¸¹Àº Á¦»ïÀڵ鵵 ºñ½ÁÇÑ ¼­ºñ½º¸¦ + Á¦°øÇÑ´Ù.

+ +

¹°·Ð À¥¼­¹ö Äڵ嶧¹®¿¡ À¥¼­¹ö°¡ °ø°ÝÀ» ´çÇÏ´Â °æ¿ì´Â + ¸¹Áö ¾Ê´Ù. ±×º¸´Ù Ãß°¡ ÄÚµå, CGI ½ºÅ©¸³Æ®, ÇÏÀ§ ¿î¿µÃ¼Á¦ÀÇ + ¹®Á¦·Î °ø°ÝÀ» ´çÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ±×·¯¹Ç·Î Ç×»ó ÁÖÀÇÇϸç + ½Ã½ºÅÛÀÇ ¸ðµç ¼ÒÇÁÆ®¿þ¾î¸¦ ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÑ´Ù.

+ +
top
+
+

ServerRoot µð·ºÅ丮 ±ÇÇÑ

+ + + +

º¸Åë root »ç¿ëÀÚ°¡ ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÑ ÈÄ, ¿äûÀ» ¼­ºñ½ºÇϱâÀ§ÇØ + User Áö½Ã¾î·Î + ÁöÁ¤ÇÑ »ç¿ëÀÚ·Î º¯È¯ÇÑ´Ù. root°¡ ½ÇÇàÇÏ´Â ¸í·É¾î°¡ ÀÖ´Ù¸é, + root ÀÌ¿ÜÀÇ »ç¿ëÀÚ°¡ ¼öÁ¤ÇÏÁö ¸øÇϵµ·Ï ÁÖÀÇÇØ¾ß ÇÑ´Ù. ÀÌ + ÆÄÀϵéÀ» root¸¸ ¾µ ¼ö ÀÖ¾î¾ß ÇÏ°í, µð·ºÅ丮¿Í ¸ðµç »óÀ§µð·ºÅ丮µµ + ¸¶Âù°¡Áö´Ù. ¿¹¸¦ µé¾î, ServerRoot·Î /usr/local/apache¸¦ + »ç¿ëÇÑ´Ù¸é root »ç¿ëÀÚ°¡ ´ÙÀ½°ú °°ÀÌ µð·ºÅ丮¸¦ ¸¸µé±æ + Á¦¾ÈÇÑ´Ù:

+ +

+ mkdir /usr/local/apache
+ cd /usr/local/apache
+ mkdir bin conf logs
+ chown 0 . bin conf logs
+ chgrp 0 . bin conf logs
+ chmod 755 . bin conf logs +

+ +

±×·¯¸é /, /usr, /usr/local Àº root¸¸ÀÌ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. + httpd ½ÇÇàÆÄÀÏÀ» ¼³Ä¡ÇÒ¶§ ´ÙÀ½°ú °°ÀÌ º¸È£ÇØ¾ß ÇÑ´Ù:

+ +

+ cp httpd /usr/local/apache/bin
+ chown 0 /usr/local/apache/bin/httpd
+ chgrp 0 /usr/local/apache/bin/httpd
+ chmod 511 /usr/local/apache/bin/httpd +

+ +

htdocs ÇÏÀ§µð·ºÅ丮´Â ´Ù¸¥ »ç¿ëÀÚµéÀÌ ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï + ¸¸µé ¼ö ÀÖ´Ù -- root´Â ±×°÷¿¡ ÀÖ´Â ÆÄÀÏÀ» ½ÇÇàÇÏÁöµµ, ¸¸µéÁöµµ + ¾Ê¾Æ¾ß ÇÑ´Ù.

+ +

root°¡ ¾Æ´Ñ »ç¿ëÀÚ°¡ root°¡ ½ÇÇàÇϰųª ¾²±â°¡´ÉÇÑ ÆÄÀÏÀ» + ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù¸é ½Ã½ºÅÛÀÇ root ±ÇÇÑÀ» ÈÉÄ¥ ¼ö ÀÖ´Ù. ¿¹¸¦ + µé¾î, ´©±º°¡ httpd ½ÇÇàÆÄÀÏÀ» º¯°æÇÏ¿´´Ù¸é ´ÙÀ½¹ø ½ÃÀÛÇÒ¶§ + ÀÓÀÇÀÇ Äڵ带 ½ÇÇàÇÏ°Ô µÈ´Ù. logs µð·ºÅ丮°¡ (root°¡ ¾Æ´Ñ + »ç¿ëÀÚ¿¡°Ô) ¾²±â°¡´ÉÇÏ´Ù¸é ´©±º°¡ ·Î±×ÆÄÀÏÀ» ´Ù¸¥ ½Ã½ºÅÛÆÄÀÏ·Î + ½Éº¼¸µÅ©¸¦ °É¾î¼­ root°¡ ÆÄÀÏ¿¡ ÀÓÀÇÀÇ ÀڷḦ µ¤¾î¾µ ¼ö + ÀÖ´Ù. ·Î±×ÆÄÀÏÀÌ (root°¡ ¾Æ´Ñ »ç¿ëÀÚ¿¡°Ô) ¾²±â°¡´ÉÇÏ´Ù¸é + ´©±º°¡ ·Î±×¿¡ ÀÌ»óÇÑ ÀڷḦ ±â·ÏÇÒ ¼ö ÀÖ´Ù.

+ +
top
+
+

Server Side Includes

+ + + +

Server Side Includes (SSI)´Â ¼­¹ö °ü¸®ÀÚ¿¡°Ô º¸¾È»ó ¸î°¡Áö + ÀáÀçÀûÀÎ À§ÇèÀÌ´Ù.

+ +

ù¹ø° À§ÇèÀº ¼­¹öÀÇ ºÎÇϸ¦ ´Ã¸®´Â Á¡ÀÌ´Ù. ¾ÆÆÄÄ¡´Â ÆÄÀÏ¿¡ + SSI Áö½Ã¾î°¡ ÀÖ´ÂÁö ¿©ºÎ¿Í °ü°è¾øÀÌ ¸ðµç SSI ÆÄÀÏÀ» ºÐ¼®ÇØ¾ß + ÇÑ´Ù. Á¶±Ý ºÎÇÏ°¡ ´ÃÁö¸¸, ¼­¹ö¸¦ ¿©·¯ »ç¶÷ÀÌ °°ÀÌ »ç¿ëÇÏ´Â + ȯ°æ¿¡¼­´Â ½É°¢ÇÒ ¼ö ÀÖ´Ù.

+ +

¶Ç, SSI ÆÄÀÏÀº ÀϹÝÀûÀÎ CGI ½ºÅ©¸³Æ®¿Í µ¿ÀÏÇÑ À§ÇèÀ» + °¡Áø´Ù. SSI ÆÄÀÏ¿¡¼­ "exec cmd"¸¦ »ç¿ëÇϸé httpd.conf¿¡¼­ + ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇϵµ·Ï ¼³Á¤ÇÑ »ç¿ëÀÚ¿Í ±×·ì ±ÇÇÑÀ¸·Î CGI + ½ºÅ©¸³Æ®³ª ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

+ +

ÀåÁ¡À» È°¿ëÇϸ鼭 SSI ÆÄÀÏÀÇ º¸¾ÈÀ» Çâ»ó½ÃÅ°´Â ¹æ¹ýÀÌ + ÀÖ´Ù.

+ +

SSI ÆÄÀÏÀÌ °¡Á®¿Ã ¼ö ÀÖ´Â ÇÇÇظ¦ °Ý¸®ÇϱâÀ§ÇØ ¼­¹ö°ü¸®ÀÚ´Â + ÀϹÝÀûÀÎ CGI Àý¿¡¼­ ¼³¸íÇÏ´Â ¹æ¹ýÀ¸·Î + suexec¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù

+ +

.htmlÀ̳ª .htm È®ÀåÀÚ¸¦ SSI ÆÄÀÏ·Î »ç¿ëÇÏ´Â °ÍÀº À§ÇèÇÏ´Ù. + ƯÈ÷ ¿©·¯ »ç¶÷ÀÌ °øÀ¯Çϰųª Åë½Å·®ÀÌ ¸¹Àº ¼­¹ö ȯ°æ¿¡¼­ + À§ÇèÇÏ´Ù. SSI ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ´Â .shtml °°Àº + º°µµÀÇ È®ÀåÀÚ¸¦ °¡Á®¾ß ÇÑ´Ù. ±×·¯¸é ¼­¹ö ºÎÇϸ¦ ÃÖ¼ÒÈ­ÇÏ°í + À§Çè¿ä¼Ò¸¦ ½±°Ô °ü¸®ÇÒ ¼ö ÀÖ´Ù.

+ +

´Ù¸¥ ¹æ¹ýÀº SSI ÆäÀÌÁö°¡ ½ºÅ©¸³Æ®³ª ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö + ¸øÇϵµ·Ï ¸¸µå´Â °ÍÀÌ´Ù. Options Áö½Ã¾î¿¡¼­ Includes + ´ë½Å IncludesNOEXEC¸¦ »ç¿ëÇÑ´Ù. ±×·¡µµ ½ºÅ©¸³Æ®°¡ + ScriptAlias Áö½Ã¾î·Î + ÁöÁ¤ÇÑ µð·ºÅ丮¿¡ ÀÖ´Ù¸é <--#include virtual="..." -->¸¦ + »ç¿ëÇÏ¿© CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ÀÖÀ½À» ÁÖÀÇÇ϶ó.

+ +
top
+
+

ÀϹÝÀûÀÎ CGI

+ + + +

°á±¹ ´ç½ÅÀº Ç×»ó CGI ½ºÅ©¸³Æ®/ÇÁ·Î±×·¥ÀÇ ÀúÀÚ¸¦ ½Å·ÚÇØ¾ß + ÇÏ°í, °íÀÇ°Ç ½Ç¼öÀÌ°Ç CGIÀÇ ÀáÀçÀûÀÎ º¸¾È»ó ÇãÁ¡À» ¹ß°ßÇÒ + ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ±âº»ÀûÀ¸·Î CGI ½ºÅ©¸³Æ®´Â À¥¼­¹ö »ç¿ëÀÚ + ±ÇÇÑÀ¸·Î ½Ã½ºÅÛ¿¡¼­ ¾î¶² ¸í·É¾î¶óµµ ½ÇÇàÇÒ ¼ö Àֱ⶧¹®¿¡ + ÁÖÀÇÀÖ°Ô È®ÀÎÇÏÁö ¾ÊÀ¸¸é ¸Å¿ì À§ÇèÇÏ´Ù.

+ +

¸ðµç CGI ½ºÅ©¸³Æ®°¡ °°Àº »ç¿ëÀÚ·Î ½ÇÇàµÇ±â¶§¹®¿¡ ´Ù¸¥ + ½ºÅ©¸³Æ®¿Í (°íÀÇ°Ç ½Ç¼öÀÌ°Ç) Ãæµ¹ÇÒ °¡´É¼ºÀÌ ÀÖ´Ù. ¿¹¸¦ + µé¾î, »ç¿ëÀÚ A´Â »ç¿ëÀÚ B¸¦ ¸Å¿ì ½È¾îÇÏ¿©, »ç¿ëÀÚ BÀÇ CGI + µ¥ÀÌÅͺ£À̽º¸¦ Áö¿ö¹ö¸®´Â ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡ + 1.2 ¹öÀüºÎÅÍ Æ÷ÇԵǾú°í ¾ÆÆÄÄ¡ ¼­¹ö¿¡¼­ Ưº°ÇÑ ÈÅ(hook)À¸·Î + µ¿ÀÛÇÏ´Â suEXEC´Â ½ºÅ©¸³Æ®¸¦ + ´Ù¸¥ »ç¿ëÀÚ·Î ½ÇÇàÇÏ´Â ¹æ¹ýÁß Çϳª´Ù. ´Ù¸¥ ´ëÁßÀûÀÎ ¹æ¹ý¿¡´Â + CGIWrapÀÌ ÀÖ´Ù.

+ +
top
+
+

ScriptAliasÇÏÁö ¾ÊÀº CGI

+ + + +

´ÙÀ½ Á¶°ÇÀ» ¸¸Á·ÇÒ¶§¸¸ »ç¿ëÀÚ°¡ ¾î¶² µð·ºÅ丮¿¡¼­¶óµµ + CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϵµ·Ï Çã¿ëÇÒ ¼ö ÀÖ´Ù:

+ +
    +
  • ´ç½ÅÀº °íÀÇ°Ç ½Ç¼öÀÌ°Ç »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀ» °ø°Ý¿¡ ³ëÃâ½ÃÅ°´Â + ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏÁö ¾Ê´Â´Ù°í ¹Ï´Â´Ù.
  • +
  • ½Ã½ºÅÛÀÇ ´Ù¸¥ ºÎºÐÀÇ º¸¾ÈÀÌ ¾àÇؼ­, ÀáÀçÀûÀÎ ÇãÁ¡À» + Çϳª ´õ ¸¸µé¾îµµ ³ªºüÁú °ÍÀÌ ¾ø´Ù°í »ý°¢ÇÏ´Â °æ¿ì.
  • +
  • »ç¿ëÀÚ°¡ ¾ø°í, ¾Æ¸¶ ¾Æ¹«µµ ¼­¹ö¸¦ ¹æ¹®ÇÏÁö¾Ê´Â °æ¿ì.
  • +
+ +
top
+
+

ScriptAliasÇÑ CGI

+ + + +

ƯÁ¤ µð·ºÅ丮¿¡¼­¸¸ CGI¸¦ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï Á¦ÇÑÇÏ¸é °ü¸®ÀÚ´Â + ÀÌµé µð·ºÅ丮¸¦ ÅëÁ¦ÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì´Â scriptaliasÇÏÁö + ¾ÊÀº CGIº¸´Ù È®½ÇÈ÷ ¾ÈÀüÇÏ´Ù. ´Ü, ½Å·ÚÇÏ´Â »ç¿ëÀÚ¸¸ µð·ºÅ丮¿¡ + Á¢±ÙÇÒ ¼ö ÀÖ°í, °ü¸®ÀÚ°¡ »õ·Î¿î CGI ½ºÅ©¸³Æ®/ÇÁ·Î±×·¥ÀÇ + ÀáÀçÀûÀÎ º¸¾È»ó ÇãÁ¡À» °Ë»çÇÒ ¿ëÀÌ°¡ ÀÖ´Ù¸é.

+ +

´ëºÎºÐÀÇ »çÀÌÆ®´Â scriptaliasÇÏÁö ¾ÊÀº CGI ¹æ½Ä ´ë½Å + ÀÌ ¹æ½ÄÀ» »ç¿ëÇÑ´Ù.

+ +
top
+
+

µ¿Àû ³»¿ëÀ» »ý¼ºÇÏ´Â ´Ù¸¥ ¹æ¹ý

+ + + +

+ mod_php, mod_perl, mod_tcl, mod_python °°ÀÌ ¼­¹öÀÇ ÀϺηΠ+ µ¿ÀÛÇÏ´Â ÀÓº£µðµå ½ºÅ©¸³Æ®´Â ¼­¹ö¿Í °°Àº »ç¿ëÀÚ·Î (User Áö½Ã¾î Âü°í) ½ÇÇàµÇ±â¶§¹®¿¡, + ½ºÅ©¸³Æ® ¿£ÁøÀÌ ½ÇÇàÇÏ´Â ½ºÅ©¸³Æ®´Â ÀáÀçÀûÀ¸·Î ¼­¹ö »ç¿ëÀÚ°¡ + Á¢±ÙÇÒ ¼ö ÀÖ´Â ¸ðµç °Í¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ¾î¶² ½ºÅ©¸³Æ® ¿£ÁøÀº + ¾î´ÀÁ¤µµ Á¦ÇÑÀ» ÇÏÁö¸¸, ¾ÈÀüÇÏ´Ù°í °¡Á¤ÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù.

+ +
top
+
+

½Ã½ºÅÛ ¼³Á¤ º¸È£Çϱâ

+ + + +

Á¤¸»·Î ¾ÈÀüÇÑ ¼­¹ö¸¦ ¿î¿µÇÏ·Á¸é »ç¿ëÀÚ°¡ + .htaccess ÆÄÀÏÀ» »ç¿ëÇÏ¿© ´ç½ÅÀÌ ¼³Á¤ÇÑ º¸¾È±â´ÉÀ» + º¯°æÇÏ±æ ¹Ù¶óÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×·¯±âÀ§ÇØ ´ÙÀ½°ú °°Àº ¹æ¹ýÀÌ + ÀÖ´Ù.

+ +

¼­¹ö ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù

+ +

+ <Directory />
+ AllowOverride None
+ </Directory> +

+ +

±×·¯¸é »ç¿ë°¡´ÉÇϵµ·Ï ¸í½ÃÀûÀ¸·Î Çã¿ëÇÑ µð·ºÅ丮¸¦ Á¦¿ÜÇÏ°í´Â + .htaccess ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù.

+ +
top
+
+

±âº»ÀûÀ¸·Î ¼­¹ö¿¡ ÀÖ´Â ÆÄÀÏ º¸È£Çϱâ

+ + + +

»ç¶÷µéÀº Á¾Á¾ ¾ÆÆÄÄ¡ÀÇ ±âº» Á¢±Ù¿¡ ´ëÇØ À߸ø ¾Ë°íÀÖ´Ù. + Áï, ¼­¹ö°¡ ÀϹÝÀûÀÎ URL ´ëÀÀ ±ÔÄ¢À» »ç¿ëÇÏ¿© ÆÄÀÏÀ» ãÀ» + ¼ö ÀÖ´Ù¸é, Ưº°È÷ Á¶Ä¡¸¦ ÇÏÁö ¾Ê´ÂÇÑ Å¬¶óÀ̾ðÆ®¿¡°Ô ÆÄÀÏÀÌ + ¼­ºñ½ºµÉ ¼ö ÀÖ´Ù.

+ +

¿¹¸¦ µé¾î, ¾Æ·¡¿Í °°Àº °æ¿ì:

+ +

+ # cd /; ln -s / public_html
+ http://localhost/~root/ ¿¡ Á¢±ÙÇÑ´Ù +

+ +

±×·¯¸é Ŭ¶óÀ̾ðÆ®´Â Àüü ÆÄÀϽýºÅÛÀ» µ¹¾Æ´Ù´Ò ¼ö ÀÖ´Ù. + À̸¦ ¸·±âÀ§ÇØ ¼­¹ö¼³Á¤¿¡¼­ ´ÙÀ½°ú °°Àº Á¶Ä¡¸¦ ÇÑ´Ù:

+ +

+ <Directory />
+ Order Deny,Allow
+ Deny from all
+ </Directory> +

+ +

±×·¯¸é ÆÄÀϽýºÅÛ À§Ä¡¿¡ ´ëÇØ ±âº» Á¢±ÙÀÌ °ÅºÎµÈ´Ù. + ¿øÇÏ´Â ¿µ¿ª¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ´ÙÀ½°ú °°Àº Directory ºí·ÏÀ» Ãß°¡ÇÑ´Ù.

+ +

+ <Directory /usr/users/*/public_html>
+ Order Deny,Allow
+ Allow from all
+ </Directory>
+ <Directory /usr/local/httpd>
+ Order Deny,Allow
+ Allow from all
+ </Directory> +

+ +

Location°ú Directory Áö½Ã¾î¸¦ °°ÀÌ »ç¿ëÇÏ´Â + °æ¿ì Ưº°È÷ ÁÖÀǸ¦ ±â¿ï¿©¶ó. ¿¹¸¦ µé¾î, <Directory + />°¡ Á¢±ÙÀ» °ÅºÎÇÏ´õ¶óµµ <Location + /> Áö½Ã¾î°¡ À̸¦ ¹«½ÃÇÒ ¼ö ÀÖ´Ù

+ +

UserDir Áö½Ã¾î¸¦ + »ç¿ëÇÏ´Â °æ¿ì¿¡µµ ÁÖÀÇÇ϶ó. Áö½Ã¾î¸¦ "./" °°ÀÌ ¼³Á¤Çϸé + root »ç¿ëÀÚ¿¡ ´ëÇØ ¹Ù·Î À§ÀÇ °æ¿ì¿Í °°Àº ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. + ¾ÆÆÄÄ¡ 1.3 ÀÌ»óÀ» »ç¿ëÇÑ´Ù¸é ¼­¹ö ¼³Á¤ÆÄÀÏ¿¡ ¾Æ·¡ ÁÙÀ» Ãß°¡Çϱæ + °­·ÂÈ÷ ±ÇÇÑ´Ù:

+ +

+ UserDir disabled root +

+ +
top
+
+

·Î±× »ìÆ캸±â

+ + + +

½ÇÁ¦·Î ¼­¹ö¿¡¼­ ¹«½¼ ÀÏÀÌ À־°í ÀÖ´ÂÁö ¾Ë·Á¸é ·Î±×ÆÄÀÏÀ» »ìÆìºÁ¾ß ÇÑ´Ù. ·Î±×ÆÄÀÏÀº + ÀÌ¹Ì ÀϾ Àϸ¸À» º¸°íÇÏÁö¸¸, ¼­¹ö¿¡ ¾î¶² °ø°ÝÀÌ ÀÖ¾ú´ÂÁö + ¾Ë·ÁÁÖ°í ÇöÀç ÇÊ¿äÇÑ ¸¸Å­ ¾ÈÀüÇÑÁö È®ÀÎÇÏ°Ô ÇØÁØ´Ù.

+ +

¿©·¯°¡Áö ¿¹:

+ +

+ grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log
+ grep "client denied" error_log | tail -n 10 +

+ +

ù¹ø° ¿¹´Â À߸øµÈ + Source.JSP ¿äûÀ¸·Î ¼­¹öÁ¤º¸¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ´Â TomcatÀÇ + Ãë¾àÁ¡¸¦ ÀÌ¿ëÇÏ·Á´Â °ø°Ý Ƚ¼ö¸¦ ¾Ë·ÁÁÖ°í, µÎ¹ø° ¿¹´Â + Á¢±ÙÀÌ °ÅºÎµÈ Ãֱ٠Ŭ¶óÀ̾ðÆ® 10°³¸¦ ´ÙÀ½°ú °°ÀÌ º¸¿©ÁØ´Ù:

+ +

+ [Thu Jul 11 17:18:39 2002] [error] [client foo.bar.com] client denied + by server configuration: /usr/local/apache/htdocs/.htpasswd +

+ +

Àß ¾Ë µíÀÌ ·Î±×ÆÄÀÏÀº ÀÌ¹Ì ¹ß»ýÇÑ »ç°Ç¸¸À» º¸°íÇÑ´Ù. + ±×·¡¼­ Ŭ¶óÀ̾ðÆ®°¡ .htpasswd ÆÄÀÏ¿¡ Á¢±ÙÇÒ + ¼ö ÀÖ¾ú´Ù¸é Á¢±Ù ·Î±×¿¡ + ´ÙÀ½°ú °°Àº ±â·ÏÀÌ ³²À» °ÍÀÌ´Ù:

+ +

+ foo.bar.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1" +

+ +

Áï, ´ç½ÅÀº ¼­¹ö ¼³Á¤ÆÄÀÏ¿¡¼­ ´ÙÀ½ ºÎºÐÀ» ÁÖ¼®Ã³¸®ÇßÀ» + °ÍÀÌ´Ù:

+ +

+ <Files ".ht*">
+ Order allow,deny
+ Deny from all
+ <Files> +

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/security_tips.html.tr.utf8 b/docs/manual/misc/security_tips.html.tr.utf8 new file mode 100644 index 0000000..4a46578 --- /dev/null +++ b/docs/manual/misc/security_tips.html.tr.utf8 @@ -0,0 +1,485 @@ + + + + + +Güvenlik İpuçları - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Güvenlik İpuçları

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

Bir HTTP Sunucusunu ayarlarken dikkat edilmesi gerekenler ve bazı + ipuçları. Öneriler kısmen Apache’ye özel kısmen de genel olacaktır.

+
+ +
top
+
+

Güncel Tutma

+ +

Apache HTTP Sunucusu iyi bir güvenlik sicilinin yanında güvenlik + konularıyla oldukça ilgili bir geliştirici topluluğuna sahiptir. Fakat, + bir yazılımın dağıtılmasının ardından küçük ya da büyük bazı sorunların + keşfedilmesi kaçınılmazdır. Bu sebeple, yazılım güncellemelerinden + haberdar olmak oldukça önem kazanır. HTTP sunucunuzu doğrudan + Apache’den temin ediyorsanız yeni sürümler ve güvenlik güncellemeleri + ile ilgili bilgileri tam zamanında alabilmek için Apache + HTTP Sunucusu Duyuru Listesine mutlaka üye olmanızı öneririz. + Apache yazılımının üçüncü parti dağıtımlarını yapanların da buna benzer + hizmetleri vardır.

+ +

Şüphesiz, bir HTTP sunucusu, sunucu kodunda bir sorun olmasa da + tehlike altındadır. Eklenti kodları, CGI betikleri hatta işletim + sisteminden kaynaklanan sorunlar nedeniyle bu ortaya çıkabilir. Bu + bakımdan, sisteminizdeki tüm yazılımların sorunları ve güncellemeleri + hakkında bilgi sahibi olmalısınız.

+ +
top
+
+

Hizmet Reddi (DoS) Saldırıları

+ + +

Tüm ağ sunucuları, istemcilerin sistem kaynaklarından yararlanmalarını + engellemeye çalışan hizmet reddi saldırılarına (HRS) maruz kalabilir. + Bu tür saldırıları tamamen engellemek mümkün değildir, fakat + yarattıkları sorunları azaltmak için bazı şeyler yapabilirsiniz.

+ +

Çoğunlukla en etkili anti-HRS aracı bir güvenlik duvarı veya başka bir + işletim sistemi yapılandırmasıdır. Örneğin, çoğu güvenlik duvarı + herhangi bir IP adresinden aynı anda yapılan bağlantıların sayısına bir + sınırlama getirmek üzere yapılandırılabilir. Böylece basit saldırılar + engellenebilir. Ancak bunun dağıtık hizmet reddi saldırılarına (DHRS) + karşı bir etkisi olmaz.

+ +

Bunların yanında Apache HTTP Sunucusunun da sorunları azaltıcı + tedbirler alınmasını sağlayacak bazı yapılandırmaları vardır:

+ +
    +
  • RequestReadTimeout + yönergesi bir istemcinin isteÄŸi göndermek için harcadığı zamanı + sınırlamayı saÄŸlar.
  • + +
  • HRS’ye maruz kalması olası sitelerde TimeOut yönergesinin deÄŸeri düşürülmelidir. Birkaç + saniye gibi mümkün olduÄŸunca düşük bir ayar uygun olabilir. Ancak + TimeOut baÅŸka iÅŸlemlerde de + kullanıldığından çok düşük deÄŸerler, örneÄŸin, uzun süre çalışan CGI + betiklerinde sorunlar çıkmasına sebep olabilir.
  • + +
  • HRS’ye maruz kalması olası sitelerde KeepAliveTimeout yönergesinin deÄŸeri de düşürülebilir. + Hatta bazı siteler baÅŸarımı arttırmak amacıyla KeepAlive yönergesi üzerinden kalıcı + baÄŸlantıları tamamen kapatabilirler.
  • + +
  • Zaman aşımıyla ilgili yönergeler bakımından diÄŸer modüller de + araÅŸtırılmalıdır.
  • + +
  • LimitRequestBody, + LimitRequestFields, + LimitRequestFieldSize, + LimitRequestLine ve + LimitXMLRequestBody yönergeleri, + istemci girdileri ile tetiklenen özkaynak tüketimini sınırlamak için + yapılandırılırken dikkatli olunmalıdır.
  • + +
  • Ä°ÅŸletim sisteminiz desteklediÄŸi takdirde, iÅŸletim sisteminin isteÄŸi + iÅŸleyen kısmını yüksüz bırakmak için AcceptFilter yönergesinin etkin olmasını saÄŸlamalısınız. + Bu, Apache HTTP Sunucusunda zaten öntanımlı olarak etkindir. + Yapacağınız ÅŸey iÅŸletim sistemi çekirdeÄŸini buna göre yapılandırmak + olacaktır.
  • + +
  • Sunucu tarafından özkaynakları tüketmeden aynı anda iÅŸlenebilecek + baÄŸlantıların sayısını sınırlamak için MaxRequestWorkers yönergesini kullanın. Ayrıca, baÅŸarım arttırma belgesine de + bakabilirsiniz.
  • + +
  • HRS’lerin etkilerini azaltmak için aynı andaki baÄŸlantı sayısını + arttırabilecek evreli MPM’lerden birini + kullanmak iyi olabilir. Dahası, event MPM’i + her baÄŸlantıya yeni bir evre atanmaması için eÅŸzamansız iÅŸlem yapar. + OpenSSL kütüphanesinin doÄŸası nedeniyle + event MPM’i mod_ssl ve diÄŸer girdi + süzgeçleri ile henüz uyumlu deÄŸildir. Bu durumlarda, + worker MPM'inin davranışına geri döner.
  • + +
  • Belli istemci davranışlarını sınırlayacak ve HRS ile + ilgili sorunları azaltmaya yardımcı olacak üçüncü parti modüller + bulunabilir.
  • +
+
top
+
+

ServerRoot Dizinlerinin Ä°zinleri

+ + +

Normalde, Apache root kullanıcı tarafından başlatılır ve hizmetleri + sunarken User yönergesi + tarafından tanımlanan kullanıcının aidiyetinde çalışır. Root tarafından + çalıştırılan komutlarda olduğu gibi, root olmayan kullanıcıların + yapacakları değişikliklerden korunmak konusunda da dikkatli + olmalısınız. Dosyaların sadece root tarafından yazılabilir olmasını + sağlamak yeterli değildir, bu dizinler ve üst dizinler için de + yapılmalıdır. Örneğin, sunucu kök dizininin + /usr/local/apache olmasına karar verdiyseniz, bu dizini + root olarak şöyle oluşturmanız önerilir:

+ +

+ mkdir /usr/local/apache
+ cd /usr/local/apache
+ mkdir bin conf logs
+ chown 0 . bin conf logs
+ chgrp 0 . bin conf logs
+ chmod 755 . bin conf logs +

+ +

/, /usr, /usr/local + dizinlerinde sadece root tarafından değişiklik yapılabileceği kabul + edilir. httpd çalıştırılabilirini kurarken de benzer + bir önlemin alındığından emin olmalısınız:

+ +

+ cp httpd /usr/local/apache/bin
+ chown 0 /usr/local/apache/bin/httpd
+ chgrp 0 /usr/local/apache/bin/httpd
+ chmod 511 /usr/local/apache/bin/httpd +

+ +

Diğer kullanıcıların değişiklik yapabileceği bir dizin olarak bir + htdocs dizini oluşturabilirsiniz. Bu dizine root + tarafından çalıştırılabilecek dosyalar konulmamalı ve burada root + tarafından hiçbir dosya oluşturulmamalıdır.

+ +

Diğer kullanıcılara root tarafından yazılabilen ve çalıştırılabilen + dosyalarda değişiklik yapma hakkını tanırsanız, onlara root + kullanıcısını ele geçirilebilme hakkını da tanımış olursunuz. Örneğin, + biri httpd çalıştırılabilirini zararlı bir programla + değiştirebilir ve o programı tekrar çalıştırdığınız sırada program + yapacağını yapmış olur. Günlükleri kaydettiğiniz dizin herkes + tarafından yazılabilen bir dizin olduğu takdirde, birileri bir günlük + dosyasını bir sistem dosyasına sembolik bağ haline getirerek root + kullanıcısının bu dosyaya ilgisiz şeyler yazmasına sebep olabilir. + Günlüklerin dosyaları herkes tarafından yazılabilir olduğu takdirde ise + birileri dosyaya yanıltıcı veriler girebilir.

+
top
+
+

Sunucu Taraflı İçerik Yerleştirme

+ + +

SSI sayfaları bir sunucu yöneticisi açısından çeşitli olası risklere + kaynaklık edebilir.

+ +

İlk risk, sunucu yükündeki artış olasılığıdır. Tüm SSI sayfaları, SSI + kodu içersin içermesin Apache tarafından çözümlenir. Bu küçük bir artış + gibi görünürse de bir paylaşımlı sunucu ortamında önemli bir yük haline + gelebilir.

+ +

SSI sayfaları, CGI betikleriyle ilgili riskleri de taşır. exec + cmd elemanı kullanılarak bir SSI sayfasından herhangi bir CGI + betiğini veya bir sistem programını Apache’nin aidiyetinde olduğu + kullanıcının yetkisiyle çalıştırmak mümkündür.

+ +

SSI sayfalarının yararlı özelliklerinden yararlanırken güvenliğini de + arttırmanın bazı yolları vardır.

+ +

Sunucu yöneticisi, bir başıbozuk SSI sayfasının sebep olabileceği + zararları bertaraf etmek için CGI Genelinde + bölümünde açıklandığı gibi suexec’i etkin + kılabilir.

+ +

SSI sayfalarını .html veya .htm + uzantılarıyla etkinleştirmek tehlikeli olabilir. Bu özellikle + paylaşımlı ve yüksek trafikli bir sunucu ortamında önemlidir. SSI + sayfalarını normal sayfalardan farklı olarak .shtml gibi + bildik bir uzantıyla etkinleştirmek gerekir. Bu, sunucu yükünü asgari + düzeyde tutmaya ve risk yönetimini kolaylaştırmaya yarar.

+ +

Diğer bir çözüm de SSI sayfalarından betik ve program çalıştırmayı + iptal etmektir. Bu, Options + yönergesine değer olarak Includes yerine + IncludesNOEXEC vererek sağlanır. Ancak, eğer betiklerin + bulunduğu dizinde ScriptAlias + yönergesiyle CGI betiklerinin çalışması mümkün kılınmışsa, + kullanıcıların <--#include virtual="..." --> ile bu + betikleri çalıştırabileceklerine dikkat ediniz.

+ +
top
+
+

CGI Genelinde

+ + +

Herşeyden önce ya CGI betiğini/programını yazanlara ya da kendinizin + CGI'deki güvenlik açıklarını (ister kasıtlı olsun ister tesadüfi) + yakalama becerinize güvenmek zorundasınız. CGI betikleri esasen + sisteminizdeki komutları site kullanıcılarının izinleriyle + çalıştırırlar. Bu bakımdan dikkatle denenmedikleri takdirde oldukça + tehlikeli olabilirler.

+ +

CGI betiklerinin hepsi aynı kullanıcının aidiyetinde çalışırsa diğer + betiklerle aralarında çelişkilerin ortaya çıkması ister istemez + kaçınılmazdır. Örneğin A kullanıcısının B kullanıcısına garezi varsa + bir betik yazıp B’nin CGI veritabanını silebilir. Bu gibi durumların + ortaya çıkmaması için betiklerin farklı kullanıcıların aidiyetlerinde + çalışmasını sağlayan ve 1.2 sürümünden beri Apache ile dağıtılan suEXEC diye bir program vardır. Başka bir yol + da CGIWrap kullanmaktır.

+ +
top
+
+

ScriptAlias’sız CGI

+ + +

Kullanıcıların sitenin her yerinde CGI betiklerini çalıştırmalarına + izin vermek ancak şu koşullarda mümkün olabilir:

+ +
    +
  • Kullanıcılarınızın kasıtlı ya da kasıtsız sistemi saldırıya açık + hale getirecek betikler yazmayacaklarına tam güveniniz vardır.
  • +
  • Sitenizin güvenliÄŸi zaten o kadar kötüdür ki, bir delik daha + açılmasının mahzuru yoktur.
  • +
  • Sitenizin sizden baÅŸka kullanıcısı yoktur ve sunucunuzu sizden + baÅŸka hiç kimsenin ziyaret etmesi mümkün deÄŸildir.
  • +
+ +
top
+
+

ScriptAlias’lı CGI

+ + +

CGI’yi belli dizinlerle sınırlamak yöneticiye bu dizinlerde daha iyi + denetim imkanı sağlar. Bu kaçınılmaz olarak ScriptAlias’sız CGI’den çok daha + güvenlidir, ancak bu dizinlere yazma hakkı olan kullanıcılarınız + güvenilir kişiler olması ve site yöneticisinin de olası güvenlik + açıklarına karşı CGI betiklerini ve programlarını denemeye istekli + olması şartıyla.

+ +

Çoğu site yöneticisi ScriptAlias’sız CGI yerine bu + yaklaşımı seçer.

+ +
top
+
+

Devingen içerikli kaynaklar

+ + +

Sunucunun bir parçası gibi çalışan, mod_php, + mod_perl, mod_tcl ve mod_python + gibi gömülü betik çalıştırma seçenekleri sunucuyu çalıştıran + kullanıcının aidiyetinde çalışırlar (User yönergesine bakınız). Bu bakımdan bu betik + yorumlayıcılar tarafından çalıştırılan betikler, sunucu kullanıcısının + eriştiği herşeye erişebilirler. Bazı betik yorumlayıcıların getirdiği + bazı sınırlamalar varsa da bunlara pek güvenmemek, gerekli sınamaları + yine de yapmak gerekir.

+ +
top
+
+

Devingen içeriğin güvenliği

+ + +

mod_php, mod_perl veya + mod_python gibi devingen içeriği yapılandırırken + güvenlikle ilgili değerlendirmelerin çoğu httpd'nin + kapsamından çıkar ve bu modüllerin belgelerini incelemek ihtiyacı + duyarsınız. Örneğin, PHP çoğu zaman kapalı tutulan + Güvenli + Kip ayarını etkin kılmanızı önerir. Daha fazla güvenlik için bir + diğer örnek bir PHP eklentisi olan + Suhosin'dir. Bunlar + hakkında daha ayrıntılı bilgi için her projenin kendi belgelerine + başvurun.

+ +

Apache seviyesinde, mod_security + adı verilen modülü bir HTTP güvenlik duvarı gibi ele alabilir, devingen + içeriğin güvenliğini arttırmanıza yardımcı olmak üzere inceden inceye + yapılandırabilirsiniz.

+ +
top
+
+

Sistem Ayarlarının Korunması

+ + +

Güvenliği gerçekten sıkı tutmak istiyorsanız, kullanıcılarınızın + yapılandırmanızdaki güvenlik ayarlarını geçersiz kılmak için + .htaccess dosyalarını kullanabilmelerinin de önüne + geçmelisiniz. Bunu yapmanın tek bir yolu vardır.

+ +

Sunucu yapılandırma dosyanıza şunu yerleştirin:

+ +
<Directory "/">
+    AllowOverride None
+</Directory>
+ + +

Böylece, belli dizinlerde özellikle etkinleştirilmedikçe bütün + dizinlerde .htaccess dosyalarının kullanımını engellemiş + olursunuz.

+ +

Bu ayar Apache 2.3.9 itibariyle öntanımlıdır.

+
top
+
+

Sunucu dosyalarının öntanımlı olarak korunması

+ + +

Apache’nin ister istemez yanlış anlaşılan yönlerinden biri öntanımlı + erişim özelliğidir. Yani siz aksine bir şeyler yapmadıkça, sunucu normal + URL eşleme kurallarını kullanarak bir dosyayı bulabildiği sürece onu + istemciye sunacaktır.

+ +

Örneğin, aşağıdaki durumu ele alalım:

+ +

+ # cd /; ln -s / public_html +

+ +

Ve, tarayıcınıza http://localhost/~root/ yazın.

+ +

Böylece, istemcilerin tüm dosya sisteminizi gezmelerine izin vermiş + olursunuz. Bu işlemin sonuçlarının önünü almak için sunucu yapılandırma + dosyanıza şunları yazın:

+ +
<Directory "/">
+    Require all denied
+</Directory>
+ + +

Bu suretle, dosya sisteminize öntanımlı erişimi yasaklamış olursunuz. + Erişime izin vermek istediğiniz dizinler için uygun Directory bölümleri eklemeniz yeterli + olacaktır. Örnek:

+ +
<Directory "/usr/users/*/public_html">
+    Require all granted
+</Directory>
+<Directory "/usr/local/httpd">
+    Require all granted
+</Directory>
+ + +

Location ve Directory yönergelerinin etkileşimine de + özellikle önem vermelisiniz; örneğin <Directory "/"> + erişimi yasaklarken bir <Location "/"> yönergesi bunu + ortadan kaldırabilir.

+ +

UserDir yönergesi de size + buna benzer bir oyun oynayabilir; yönergeye ./ atamasını + yaparsanız, root kullanıcısı söz konusu olduğunda yukarıda ilk örnekteki + durumla karşılaşırız. Sunucu yapılandırma dosyanızda aşağıdaki satırın + mutlaka bulunmasını öneririz:

+ +
UserDir disabled root
+ + +
top
+
+

Günlüklerin İzlenmesi

+ + +

Sunucunuzda olup biteni günü gününe bilmek istiyorsanız günlük dosyalarına bakmalısınız. Günlük dosyaları + sadece olup biteni raporlamakla kalmaz, sunucunuza ne tür saldırılar + yapıldığını ve güvenlik seviyenizin yeterli olup olmadığını anlamanızı da + sağlarlar.

+ +

Bazı örnekler:

+ +

+ grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log
+ grep "client denied" error_log | tail -n 10 +

+ +

İlk örnek, Apache Tomcat Source.JSP Bozuk İstek Bilgilerini İfşa Açığını + istismar etmeyi deneyen saldırıların sayısını verirken ikinci örnek, + reddedilen son on istemciyi listeler; örnek:

+ +

+ [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied + by server configuration: /usr/local/apache/htdocs/.htpasswd +

+ +

Gördüğünüz gibi günlük dosyaları sadece ne olup bittiğini raporlar, bu + bakımdan eğer istemci .htpasswd dosyasına erişebiliyorsa erişim günlüğünüzde şuna benzer bir + kayıt görürsünüz:

+ +

+ foo.example.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1" +

+ +

Bu, sunucu yapılandırma dosyanızda aşağıdaki yapılandırmayı iptal + ettiğiniz anlamına gelir:

+ +
<Files ".ht*">
+    Require all denied
+</Files>
+ + +
top
+
+

Yapılandırma bölümlerinin birleştirilmesi

+ + + +

Yapılandırma bölümlerinin birleştirilmesi karmaşık bir işlem olup bazı + durumlarda yönergelere bağlıdır. Yönergeleri bir araya getirirken + aralarındaki bağımlılıkları daima sınayın.

+ +

mod_access_compat gibi henüz yönerge katıştırma + mantığını gerçeklememiş modüller için sonraki bölümlerdeki davranış, bu + modüllerin yönergelerini içerip içermemesine bağlıdır. Yapılandırmada + yönergelerin yerleri değiştirildiğinde fakat bir katıştırma + yapılmadığında, yapılandırma bir değişiklik yapılana kadar miras + alınır.

+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/core.html b/docs/manual/mod/core.html new file mode 100644 index 0000000..b5101aa --- /dev/null +++ b/docs/manual/mod/core.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: core.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: core.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: core.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: core.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: core.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: core.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/core.html.de b/docs/manual/mod/core.html.de new file mode 100644 index 0000000..13b54da --- /dev/null +++ b/docs/manual/mod/core.html.de @@ -0,0 +1,3911 @@ + + + + + +core - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache-Kernfunktionen

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +
Beschreibung:Ständig verfügbare Kernfunktionen des Apache HTTP +Servers
Status:Core
+
+
Support Apache!

Direktiven

+ +

Bugfix checklist

Siehe auch

+
+ +
top
+

AcceptFilter-Direktive

+ + + + + + + +
Beschreibung:Konfiguriert Optimierungen für lauschende Sockets bestimmter +Protokolle
Syntax:AcceptFilter Protokoll Filter
Kontext:Serverkonfiguration
Status:Core
Modul:core
Kompatibilität:Verfügbar ab Apache 2.1.5
+

Diese Direktive aktiviert betriebssystemspezifische Optimierungen + für lauschende Sockets anhand des Protokolltyps. Der grundlegende + Ansatz ist, dass der Kernel das Socket nicht an den Serverprozess + übergibt, bis entweder Daten verfügbar sind oder eine komplette + HTTP-Anfrage zwischengespeichert wurde. Derzeit werden + ausschließlich die Accept-Filter von FreeBSD und das primitivere + TCP_DEFER_ACCEPT von Linux unterstützt.

+ +

Die Standardeinstellungen für FreeBSD sind:

+

+ AcceptFilter http httpready
+ AcceptFilter https dataready +

+ +

Der httpready-Accept-Filter puffert komplette + HTTP-Anfragen auf Kernelebene. Sobald eine Anfrage vollständig + vorliegt, schickt der Kernel sie an den Server weiter. Bitte schlagen Sie + in der accf_http(9)-Manpage für weitere Details nach. HTTPS-Anfragen + sind verschlüsselt. Daher wird dafür nur der accf_data(9)-Filter verwendet.

+ +

Die Standardeinstellungen für Linux sind:

+

+ AcceptFilter http data
+ AcceptFilter https data +

+ +

TCP_DEFER_ACCEPT unter Linux unterstützt keine + Zwischenspeicherung von HTTP-Anfragen. Jeder andere Wert als + none aktiviert TCP_DEFER_ACCEPT auf dem + Lauschsocket. Mehr Details finden Sie in der tcp(7)-Manpage von Linux.

+ +

Wenn Sie none als Argument verwenden, werden alle + Accept-Filter für das Protokoll abgeschaltet. Das ist sinnvoll + für Protokolle, bei denen der Server zuerst Daten senden muss, + wie zum Beispiel nntp:

+

AcceptFilter nttp none

+ + +
+
top
+

AcceptPathInfo-Direktive

+ + + + + + + + + +
Beschreibung:Ressourcen lassen angehängte Pfadangaben zu
Syntax:AcceptPathInfo On|Off|Default
Voreinstellung:AcceptPathInfo Default
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:Verfügbar ab Apache 2.0.30
+

Die Direktive steuert, ob Anfragen akzeptiert oder + abgewiesen werden, bei denen nach der tatsächlichen + Datei (oder einer nicht existierenden Datei in einem existierenden + Verzeichnis) zusätzliche Pfadangaben folgen. Die angehängte + Pfadangabe kann Skripten in der Umgebungsvariable PATH_INFO + verfügbar gemacht werden.

+ +

Nehmen wir beispielsweise an, dass /test/ auf ein + Verzeichnis zeigt, welches lediglich eine Datei here.html + enthält. Dann wird bei Anfragen nach + /test/here.html/more und + /test/nothere.html/more beides Mal /more + als PATH_INFO ermittelt.

+ +

Die drei möglichen Argumente für die Direktive + AcceptPathInfo sind:

+ +
+
Off
Eine Anfrage wird nur dann akzeptiert, + wenn sie exakt auf ein existierendes Verzeichnis (oder eine Datei) + abgebildet werden kann. Daher würde eine Anfrage mit einer nach dem + tatsächlichen Dateinamen angehängten Pfadangabe, wie + /test/here.html/more im obigen Beispiel, den Fehler + 404 NOT FOUND (Anm.d.Ü.: nicht gefunden) + zurückgeben.
+ +
On
+
Eine Anfrage wird akzeptiert, wenn eine vorangestellte Pfadangabe + auf ein existierendes Verzeichnis abgebildet werden kann. Das + obige Beispiel /test/here.html/more wird akzeptiert, + wenn /test/here.html auf eine gültige Datei + zeigt.
+ +
Default
+
Die Behandlung von Anfragen mit angehängten Pfadangaben + wird von dem für die Anfrage verantwortlichen Handler bestimmt. Der Core-Handler + für gewöhnliche Dateien weist PATH_INFO-Zugriffe + standardmäßig zurück. Handler, die Skripte bedienen, + wie z.B. cgi-script und + isapi-handler, sind im Allgemeinen darauf + voreingestellt, PATH_INFO zu akzeptieren.
+
+ +

Das eigentliche Ziel von AcceptPathInfo ist es, Ihnen + das Überschreiben der Voreinstellung der Handler bezüglich + der Akzeptanz oder Ablehnung von PATH_INFO zu erlauben. + Eine solche Änderung ist zum Beispiel notwendig, wenn Sie einen + Filter wie INCLUDES verwenden, um Inhalte + abhängig von PATH_INFO zu generieren. Der + Core-Handler würde die Anfrage normalerweise abweisen. Verwenden + Sie die folgende Konfiguration, um dennoch solch ein Skript zu + ermöglichen.

+ +

+ <Files "mypaths.shtml">
+ + Options +Includes
+ SetOutputFilter INCLUDES
+ AcceptPathInfo On
+
+ </Files> +

+ + +
+
top
+

AccessFileName-Direktive

+ + + + + + + +
Beschreibung:Name der dezentralen Konfigurationsdateien
Syntax:AccessFileName Dateiname [Dateiname] ...
Voreinstellung:AccessFileName .htaccess
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Aus dieser Namensliste sucht der Server während der + Bearbeitung einer Anfrage in jedem Verzeichnis nach der ersten + existierenden Datei, sofern im betreffenden Verzeichnis dezentrale + Konfigurationsdateien erlaubt sind. + Beispiel:

+ +

+ AccessFileName .acl +

+ +

Vor der Rücksendung des Dokuments + /usr/local/web/index.html wird der Server + /.acl, /usr/.acl, + /usr/local/.acl und /usr/local/web/.acl + einlesen, solange diese nicht mit

+ +

+ <Directory />
+ + AllowOverride None
+
+ </Directory> +

+ +

deaktiviert wurden.

+ +

Siehe auch

+ +
+
top
+

AddDefaultCharset-Direktive

+ + + + + + + + +
Beschreibung:Standard-Charset-Parameter, der bei Antworten vom Content-Type + text/plain oder text/html hinzugefügt wird +
Syntax:AddDefaultCharset On|Off|Zeichenkodierung
Voreinstellung:AddDefaultCharset Off
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
+

Die Direktive gibt einen Standardwert für den Charset-Paramter des + Medientyps (den Namen einer Zeichencodierung) an, der einer Antwort + genau dann hinzugefügt wird, wenn der Content-Type der Antwort entweder + text/plain oder text/html ist. Dies sollte jedes + mittels META-Element im Datenteil der Antwort angegebene + Charset überschreiben. Das genaue Verhalten hängt jedoch oft von + der Client-Konfiguration des Benutzers ab. Die Einstellung + AddDefaultCharset Off deaktiviert diese Funktionalität. + AddDefaultCharset On aktiviert die Standard-Zeichenkodierung + iso-8859-1. Jeder andere Wert wird als die zu verwendende + Zeichenkodierung aufgefaßt, die eines der bei IANA registrierten + Charset-Werte zur Verwendung in MIME-Medientypen sein sollte. Zum + Beispiel:

+ +

+ AddDefaultCharset utf-8 +

+ +

AddDefaultCharset sollte nur verwendet werden, + wenn von allen Textressourcen, für die es gilt, bekannt ist, dass sie + in dieser Zeichkodierung vorliegen, oder wenn es zu unbequem ist, ihre + Zeichenkodierung indivuell zu benennen. Ein solches Beispiel ist das + Hinzufügen des Charset-Parameters zu Ressourcen, die generierte + Inhalte enthalten. Ein Beispiel sind CGI-Skript-Altlasten, die aufgrund von + in die Ausgabe integrierten Daten, die durch den Benutzer übermittelt + wurden, gegen Cross-Site-Scripting-Angriffe verwundbar sind. Eine bessere + Lösung wäre jedoch, diese Skripte zu korrigieren (oder zu + löschen), da die Angabe einer Standard-Zeichencodierung keine + Anwender schützt, die in ihrem Browser die Funktion zur + automatischen Erkennung der Zeichenkodierung aktiviert haben.

+ +

Siehe auch

+ +
+
top
+

AllowEncodedSlashes-Direktive

+ + + + + + + + +
Beschreibung:Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht +werden dürfen
Syntax:AllowEncodedSlashes On|Off
Voreinstellung:AllowEncodedSlashes Off
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Verfügbar ab Apache 2.0.46
+

Die AllowEncodedSlashes-Direktive erlaubt die + Verwendung von URLs, welche kodierte Pfadtrennzeichen (%2F + für / und auf entsprechenden Systemen zusätzlich + %5C für \) enthalten. Normalerweise werden + derartige URLs mit einem 404-Fehler (Nicht gefunden) abgewiesen.

+ +

AllowEncodedSlashes On ist + vor allem in Verbindung mit PATH_INFO hilfreich.

+ +

Anmerkung

+

Das Erlauben von Schrägstrichen impliziert nicht deren + Dekodierung. Vorkommen von %2F oder %5C + (nur auf entsprechenden Systemen) werden unverändert in der + ansonsten dekodierten URL belassen.

+
+ +

Siehe auch

+ +
+
top
+

AllowOverride-Direktive

+ + + + + + + +
Beschreibung:Direktiven-Typen, die in .htaccess-Dateien +erlaubt sind.
Syntax:AllowOverride All|None|Direktiven-Typ +[Direktiven-Typ] ...
Voreinstellung:AllowOverride None (2.3.9 und später), AllowOverride All (2.3.8 und früher)
Kontext:Verzeichnis
Status:Core
Modul:core
+

Wenn der Server eine .htaccess-Datei (wie durch + AccessFileName definiert) + findet, muss er wissen, welche in der Datei angegebenen Direktiven + frühere Konfigurationsanweisungen überschreiben + dürfen.

+ +

Nur in <Directory>-Abschnitten verfügbar

+ AllowOverride ist nur in <Directory>-Abschnitten + gültig, die ohne reguläre Ausdrücke definiert wurden, nicht + in <Location>-, + <DirectoryMatch>- oder + <Files>-Abschnitten. +
+ +

Wenn diese Anweisung auf None gesetzt wird, dann + werden .htaccess-Dateien komplett + ignoriert. In diesem Fall wird der Server nicht einmal versuchen, + die .htaccess-Dateien im Dateisystem zu lesen.

+ +

Wenn diese Anweisung auf All gesetzt wird, dann + ist jede Direktive in den .htaccess-Dateien erlaubt, + die den Kontext + .htaccess besitzt.

+ +

Der Direktiven-Typ kann eine der folgenden + Anweisungsgruppen sein.

+ +
+
AuthConfig
+ +
+ Erlaubt die Verwendung von Autorisierungs-Anweisungen (AuthDBMGroupFile, + AuthDBMUserFile, + AuthGroupFile, + AuthName, + AuthType, AuthUserFile, Require usw.).
+ +
FileInfo
+ +
+ Erlaubt die Verwendung von Direktiven zur Steuerung der + Dokumenttypen (DefaultType, ErrorDocument, ForceType, LanguagePriority, + SetHandler, SetInputFilter, SetOutputFilter, und + mod_mime-Direktiven Add* und Remove* + usw.), Metadaten (Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName), + mod_rewrite-Direktiven RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule) und + Action aus + mod_actions. +
+ +
Indexes
+ +
+ Erlaubt die Verwendung von Direktiven zur Steuerung von + Verzeichnisindizes (AddDescription, + AddIcon, AddIconByEncoding, + AddIconByType, + DefaultIcon, DirectoryIndex, + FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName + usw.).
+ +
Limit
+ +
+ Erlaubt die Verwendung von Direktiven zur Steuerung des + Zugriffs von Hosts (Allow, Deny und Order).
+ +
Options[=Option,...]
+ +
+ Erlaubt die Verwendung von Direktiven zur Steuerung spezieller + Verzeichniseigenschaften (Options + und XBitHack). Sie + können mit einem Gleichheitszeichen gefolgt von einer + kommaseparierten Liste (ohne Leerzeichen) angeben, welche Optionen mit + der Options-Direktive gesetzt + werden dürfen.
+
+ +

Beispiel:

+ +

+ AllowOverride AuthConfig Indexes +

+ +

Im obigen Beispiel erzeugen alle Direktiven einen internal server + error (Anm.d.Ü.: Server-interner Fehler), die weder der + Gruppe AuthConfig noch der Gruppe Indexes + angehören.

+ +

Siehe auch

+ +
+
top
+

AllowOverrideList-Direktive

+ + + + + + + +
Beschreibung:Individual directives that are allowed in +.htaccess files
Syntax:AllowOverrideList None|directive +[directive-type] ...
Voreinstellung:AllowOverrideList None
Kontext:Verzeichnis
Status:Core
Modul:core

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

CGIMapExtension-Direktive

+ + + + + + + + +
Beschreibung:Technik zur Bestimmung des Interpreters für +CGI-Skripte
Syntax:CGIMapExtension CGI-Pfad .Endung
Kontext:Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:ausschließlich NetWare
+

Die Direktive wird zur Steuerung verwendet, wie Apache + den Interpreter ermittelt, der zur Ausführung von + CGI-Skripten verwendet wird. Beispielsweise bestimmt die Angabe + von CGIMapExtension sys:\foo.nlm .foo, dass + alle CGI-Scripte mit der Endung .foo an den + FOO-Interpreter übergeben werden.

+ +
+
top
+

CGIPassAuth-Direktive

+ + + + + + + + + +
Beschreibung:Enables passing HTTP authorization headers to scripts as CGI +variables
Syntax:CGIPassAuth On|Off
Voreinstellung:CGIPassAuth Off
Kontext:Verzeichnis, .htaccess
AllowOverride:AuthConfig
Status:Core
Modul:core
Kompatibilität:Available in Apache HTTP Server 2.4.13 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

CGIVar-Direktive

+ + + + + + + + +
Beschreibung:Controls how some CGI variables are set
Syntax:CGIVar variable rule
Kontext:Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:Available in Apache HTTP Server 2.4.21 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

ContentDigest-Direktive

+ + + + + + + + +
Beschreibung:Aktiviert die Generierung von Content-MD5 +HTTP-Response-Headern
Syntax:ContentDigest On|Off
Voreinstellung:ContentDigest Off
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:Options
Status:Core
Modul:core
+

Die Direktive aktiviert die Generierung von + Content-MD5-Headern, wie sie in RFC1864 bzw. RFC2616 + definiert sind.

+ +

MD5 ist ein Algorithmus zur Berechnung eines "Datenextrakts" + (zuweilen "Fingerabdruck" genannt) (Anm.d.Ü.: Der "Datenextrakt" wird im + Englischen als "message digest" oder "fingerprint" bezeichnet.) + aus beliebig langen Daten. Es gilt als zuverlässig, dass + Veränderungen an den Daten sich in Veränderungen des + Extrakts wiederspiegeln.

+ +

Der Content-MD5-Header bietet eine + End-to-End-Integritätsprüfung (MIC) (Anm.d.Ü.: MIC steht für + "message integrity check".) des Daten-Inhalts. Ein Proxy oder + Client kann diesen Header prüfen, um zufällige Veränderungen + des Entity-Inhalts bei der Übertragung festzustellen. + Beispielheader:

+ +

+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +

+ +

Beachten Sie bitte, dass dies Performanceprobleme auf Ihrem + System verursachen kann, da der Extrakt bei jeder Anfrage + berechnet wird (der Wert wird nicht zwischengespeichert).

+ +

Content-MD5 wird nur für Dokumente gesendet, + die von core bedient werden, nicht jedoch bei + Modulen. SSI-Dokumente, CGI-Skript-Ausgaben und Byte-Range-Antworten + besitzen diesen Header beispielsweise nicht.

+ +
+
top
+

DefaultRuntimeDir-Direktive

+ + + + + + + + +
Beschreibung:Base directory for the server run-time files
Syntax:DefaultRuntimeDir directory-path
Voreinstellung:DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)
Kontext:Serverkonfiguration
Status:Core
Modul:core
Kompatibilität:Available in Apache 2.4.2 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

DefaultType-Direktive

+ + + + + + + + +
Beschreibung:MIME-Content-Type, der gesendet wird, wenn der Server den Typ +nicht auf andere Weise ermitteln kann.
Syntax:DefaultType MIME-Type
Voreinstellung:DefaultType text/plain
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
+

Es kann vorkommen, dass der Server ein Dokument ausliefern muss, + dessen Typ er nicht mit Hilfe seiner MIME-Type-Zuordnungen bestimmen kann.

+ +

Der Server muss den Client über den Content-Type des + Dokumentes informieren. Daher verwendet er im Falle eines + unbekannten Typs die DefaultType-Einstellung. + Zum Beispiel:

+ +

+ DefaultType image/gif +

+ +

wäre angemessen für ein Verzeichnis, das viele GIF-Bilder + enthält, deren Dateinamen nicht Endung .gif + besitzen.

+ +

Beachten Sie bitte, dass die Direktive anders als ForceType lediglich den Standard-MIME-Type + bestimmt. Alle anderen MIME-Type-Definitionen, einschließlich + Dateierweiterungen, die den Medien-Typ anzeigen können, + überschreiben diese Voreinstellung.

+ +
+
top
+

Define-Direktive

+ + + + + + +
Beschreibung:Define the existence of a variable
Syntax:Define Parametername
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

Equivalent zum übergeben von Parametername mittels des + -D Arguments an httpd.

+

Diese Directive kann verwendet werden, um die Nutzung von <IfDefine> Sectionen umzuschalten, ohne die + -D Argumentente in etwaigen Start-Skripten ändern + zu müssen.

+ +
+
top
+

<Directory>-Direktive

+ + + + + + +
Beschreibung:Umschließt eine Gruppe von Direktiven, die nur auf +das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet +werden
Syntax:<Directory Verzeichnispfad> +... </Directory>
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

<Directory> und + </Directory> werden dazu verwendet, eine Gruppe + von Direktiven zusammenzufassen, die nur für das genannte + Verzeichnis und dessen Unterverzeichnisse gelten. Jede Direktive, + die im Verzeichnis-Kontext erlaubt ist, kann verwendet werden. + Verzeichnispfad ist entweder der vollständige Pfad zu + einem Verzeichnis oder eine Zeichenkette mit Platzhaltern wie sie von der + Unix-Shell zum Abgleich verwendet werden. In einer Zeichenkette + mit Platzhaltern (Anm.d.Ü.: sogenannte wild-cards) entspricht + ? einem einzelnen Zeichen und * einer + Zeichenkette beliebiger Länge. Sie können auch auch + []-Zeichenbereiche verwenden. Keiner der Platzhalter + entspricht dem Zeichen "/". Daher passt <Directory + /*/public_html> nicht auf /home/user/public_html, + <Directory /home/*/public_html> jedoch tut es. + Beispiel:

+ +

+ <Directory /usr/local/httpd/htdocs>
+ + Options Indexes FollowSymLinks
+
+ </Directory> +

+ +
+

Seien Sie vorsichtig mit den Verzeichnispfad-Argumenten. + Sie müssen buchstäblich mit dem Dateisystempfad + übereinstimmen, den der Apache für den Zugriff auf die + Dateien verwendet. Direktiven, die für ein bestimmtes + Verzeichnis gelten, gelten nicht für Dateien in dem Verzeichnis, + auf die über einen anderen Pfad zugegriffen wird, wie z.B. + über verschiedene symbolische Links.

+
+ +

Erweiterte reguläre Ausdrücke können ebenfalls + verwendet werden, indem das Zeichen ~ hinzugefügt + wird. Beispielsweise würde

+ +

+ <Directory ~ "^/www/.*/[0-9]{3}"> +

+ +

auf Verzeichnisse in /www/ passen, die aus drei + Zahlen bestehen.

+ +

Wenn mehrere <Directory>-Abschnitte + (ohne reguläre Ausdrücke) auf ein Verzeichnis (oder + ein ihm übergeordnetes Verzeichnis) passen, welches ein Dokument + enthält, dann werden die Direktiven der Reihe nach, angefangen + beim kürzesten passenden Muster, vermischt mit den Direktiven + aus den .htaccess-Dateien, angewendet. + Beispiel:

+ +

+ <Directory />
+ + AllowOverride None
+
+ </Directory>
+
+ <Directory /home/>
+ + AllowOverride FileInfo
+
+ </Directory> +

+ +

Beim Zugriff auf das Dokument /home/web/dir/doc.html + sind die einzelnen Schritte:

+ +
    +
  • Wende die Direktive AllowOverride None an + (deaktiviere .htaccess-Dateien).
  • + +
  • Wende die Direktive AllowOverride FileInfo + (auf das Verzeichnis /home) an.
  • + +
  • Wende jede FileInfo-Direktive aus + /home/.htaccess, /home/web/.htaccess und + /home/web/dir/.htaccess der Reihe nach an.
  • +
+ +

Reguläre Ausdrücke werden solange nicht berücksichtigt, + bis alle normalen Abschnitte angewendet wurden. Anschließend + werden alle regulären Ausdrücke in der Reihenfolge + geprüft, in der sie in der Konfigurationsdatei auftauchen. + Beispielsweise wird bei

+ +

+ <Directory ~ abc$>
+ + # ... hier die Direktiven ...
+
+ </Directory> +

+ +

der Abschnitt mit dem regulären Ausdruck nicht + berücksichtigt, bis alle normalen + <Directory>-Abschnitte und + .htaccess-Dateien angewendet wurden. Dann erst wird + der reguläre Ausdruck mit /home/abc/public_html/abc + abgeglichen und der entsprechende <Directory>-Abschnitt angewendet.

+ +

Beachten Sie bitte, dass der vom Apache voreingestellte + Zugriff für <Directory /> + Allow from All ist. Das bedeutet, dass der Apache + jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird + empfohlen, dass Sie dies durch einen Block wie

+ +

+ <Directory />
+ + Order Deny,Allow
+ Deny from All
+
+ </Directory> +

+ +

ändern und anschließend für + Verzeichnisse überschreiben, die Sie verfügbar machen + wollen. Für weitere Einzelheiten lesen Sie bitte + die Seite zu den Sicherheitshinweisen.

+ +

Die Verzeichnisabschnitte erscheinen in der Datei + httpd.conf. <Directory>-Direktiven dürfen nicht + ineinander verschachtelt werden oder innerhalb von <Limit>- oder <LimitExcept>-Abschnitten auftauchen.

+ +

Siehe auch

+ +
+
top
+

<DirectoryMatch>-Direktive

+ + + + + + +
Beschreibung:Umschließt eine Gruppe von Direktiven, die auf + Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet + werden, welche auf einen regulären Ausdruck passen
Syntax:<DirectoryMatch regex> +... </DirectoryMatch>
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

<DirectoryMatch> und + </DirectoryMatch> werden dazu verwendet, eine + Gruppe von Direktiven zusammenzufassen, die nur für das + genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso + wie bei <Directory>. + Als Argument dient jedoch ein regulärer + Ausdruck. Beispielsweise würde

+ +

+ <DirectoryMatch "^/www/.*/[0-9]{3}"> +

+ +

auf Verzeichnisse in /www/ passen, die aus drei + Zeichen bestehen.

+ +

Siehe auch

+ +
+
top
+

DocumentRoot-Direktive

+ + + + + + + +
Beschreibung:Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im +Web sichtbar ist.
Syntax:DocumentRoot Verzeichnis
Voreinstellung:DocumentRoot /usr/local/apache/htdocs
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Die Direktive setzt das Verzeichnis, von dem aus + httpd Dateien ausliefert. Sofern nicht eine Direktive + wie Alias greift, hängt + der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis + an, um den Pfad zum Dokument zu bilden. Beispiel:

+ +

+ DocumentRoot /usr/web +

+ +

Damit bezieht sich ein Zugriff auf + http://www.my.host.com/index.html auf + /usr/web/index.html. Wenn das Verzeichnis nicht + absolut angegeben ist, wird es relativ zu ServerRoot betrachtet.

+ +

DocumentRoot sollte ohne einen + Schrägstrich am Ende angegeben werden.

+ +

Siehe auch

+ +
+
top
+

<Else>-Direktive

+ + + + + + + + +
Beschreibung:Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
Syntax:<Else> ... </Else>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
Kompatibilität:Nested conditions are evaluated in 2.4.26 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

<ElseIf>-Direktive

+ + + + + + + + +
Beschreibung:Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
Syntax:<ElseIf expression> ... </ElseIf>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
Kompatibilität:Nested conditions are evaluated in 2.4.26 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

EnableMMAP-Direktive

+ + + + + + + + +
Beschreibung:Verwende Memory-Mapping, um Dateien während der +Auslieferung zu lesen
Syntax:EnableMMAP On|Off
Voreinstellung:EnableMMAP On
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
+

Die Direktive steuert, ob httpd Memory-Mapping + verwenden darf, wenn er während der Auslieferung den Inhalt einer + Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert, + auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der + Auslieferung einer mittels mod_include serverseitig + analysierten Datei --, dann verwendet der Apache standardmäßig + Memory-Mapping für diese Datei, sofern das Betriebssystem es + unterstützt.

+ +

Memory-Mapping bedeutet zuweilen eine Performanceverbesserung. + In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu + deaktivieren, um Problemen während des Betriebs vorzubeugen:

+ +
    +
  • Bei einigen Multiprozessorsystemen kann Memory-Mapping die + Performance von httpd reduzieren.
  • +
  • Bei einem per NFS eingebundenen DocumentRoot kann httpd mit + einem Speicherzugriffsfehler (Anm.d.Ü.: ein so genannter "segmentation + fault") abstürzen, wenn eine Datei gelöscht oder + gekürzt wird, während httpd sie im Speicher + abbildet.
  • +
+ +

Bei Serverkonfigurationen, die für dieses Problem + anfällig sind, sollten Sie das Memory-Mapping für + auszuliefernde Dateien deaktivieren, indem Sie schreiben:

+ +

+ EnableMMAP Off +

+ +

Bei per NFS eingebundenen Dateien kann diese Funktion + explizit für die störenden Dateien deaktiviert werden, + indem Sie angeben:

+ +

+ <Directory "/pfad-zu-den-nfs-dateien"> + + EnableMMAP Off + + </Directory> +

+ +
+
top
+

EnableSendfile-Direktive

+ + + + + + + + + +
Beschreibung:Verwende die sendfile-Unterstützung des Kernels, um +Dateien an den Client auszuliefern
Syntax:EnableSendfile On|Off
Voreinstellung:EnableSendfile On
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:Verfügbar ab Apache Version 2.0.44
+

Die Direktive steuert, ob httpd die + sendfile-Unterstützung des Kernels verwenden kann, um + Dateiinhalte an den Client zu übermitteln. Wenn die Bearbeitung + einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert -- + zum Beispiel bei der Auslieferung einer statischen Datei -- und das + Betriebssystem es unterstützt, verwendet der Apache + standardmäßig sendfile, um den Dateiinhalt zu + übertragen, ohne die Datei jemals zu lesen.

+ +

Der sendfile-Mechanismus vermeidet getrennte Lese- und + Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw. + Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme + während des Betriebs zu vermeiden:

+ +
    +
  • Einige Plattformen besitzen u.U. eine fehlerhafte + sendfile-Unterstützung, die das Erstellungssystem nicht erkennt, + insbesondere wenn die Binärdateien auf einem anderen Rechner erstellt + und auf eine solche Maschine mit fehlerhafter sendfile-Unterstützung + übertragen wurden.
  • +
  • Bei einem über das Netzwerk eingebundenen DocumentRoot (z.B. NFS oder SMB) ist der + Kernel möglicherweise nicht in der Lage, die Netzwerkdatei + über seinen eigenen Cache zu bedienen.
  • +
  • Unter Linux löst die Verwendung von sendfile + in Verbindung mit bestimmten Netzwerkkarten und IPv6 + TCP-Checksummenfehler aus.
  • +
  • Unter Linux auf Itanium-Systemen kommt sendfile unter Umständen + nicht mit Dateien größer als 2GB klar.
  • +
+ +

Bei Serverkonfigurationen, die für dieses Problam + anfällig sind, sollten die diese Funktion deaktivieren, indem + Sie schreiben:

+ +

+ EnableSendfile Off +

+ +

Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion + explizit für die störenden Dateien deaktiviert werden, indem + Sie angeben:

+ +

+ <Directory "/pfad-zu-den-nfs-dateien"> + + EnableSendfile Off + + </Directory> +

+

Beachten Sie bitte, dass die verzeichnisbasierte und + .htaccess-Konfiguration von EnableSendfile + nicht vom mod_cache_disk-Modul unterstützt wird. + Nur die globale Konfiguration von EnableSendfile + wird vom Modul beachtet. +

+ +
+
top
+

Error-Direktive

+ + + + + + + +
Beschreibung:Abort configuration parsing with a custom error message
Syntax:Error message
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
Status:Core
Modul:core
Kompatibilität:2.3.9 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

ErrorDocument-Direktive

+ + + + + + + + +
Beschreibung:Das, was der Server im Fehlerfall an den Client +zurückgibt
Syntax:ErrorDocument Fehlercode Dokument
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:Die Syntax der Anführungszeichen bei Textnachrichten hat +sich im Apache 2.0 geändert
+

Im Falle eines Problems oder Fehlers kann der Apache + konfiguriert werden, eine der vier Aktionen auszuführen:

+ +
    +
  1. Ausgabe einer einfachen, hartkodierten Fehlermeldung
  2. + +
  3. Ausgabe einer angepassten Meldung
  4. + +
  5. Umleitung zu einem lokalen URL-Pfad der das + Problem bzw. den Fehler behandelt
  6. + +
  7. Umleitung zu einer externen URL, die das Problem + bzw. den Fehler behandelt
  8. +
+ +

Die erste Option ist Voreinstellung, während die Optionen + 2 bis 4 über die Direktive ErrorDocument + eingestellt werden, welcher der HTTP-Statuscode und eine + URL oder Nachricht folgen. Abhängig vom Problem bzw. Fehler bietet + der Apache manchmal zusätzliche Informationen an.

+ +

URLs können bei lokalen Webpfaden mit einem Schrägstrich + (/) beginnen (relativ zum DocumentRoot-Verzeichnis) oder eine vollständige URL + bilden, die der Client auflösen kann. Alternativ kann eine + Nachricht für die Anzeige im Browser angeboten werden. Beispiel:

+ +

+ ErrorDocument 500 http://foo.example.com/cgi-bin/tester
+ ErrorDocument 404 /cgi-bin/falsche_urls.pl
+ ErrorDocument 401 /info_zur_anmeldung.html
+ ErrorDocument 403 "Der Zugriff ist nicht erlaubt." +

+ +

Außerdem kann der spezielle Wert default angegeben + werden, um die schlichte, hartkodierte Nachricht des Apache zu verwenden. + Es wird normalerweise nicht benötigt, doch default + stellt die einfach, im Apache hartkodierte Meldung in Konfigurationen + wieder her, die ansonsten von einem existierenden (Anm.d.Ü.: zuvor + konfigurierten) ErrorDocument erben + würden.

+ +

+ ErrorDocument 404 /cgi-bin/bad_urls.pl

+ <Directory /web/docs>
+ + ErrorDocument 404 default
+
+ </Directory> +

+ +

Wenn Sie eine ErrorDocument-Anweisung + angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der + Methode http davor), beachten Sie bitte, dass der Apache + eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das + Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum + gleichen Server führt. Das hat mehrere Auswirkungen. Die + wichtigste ist, dass der Client nicht den Original-Statuscode + erhält sondern statt dessen einen Umleitungs-Statuscode. Dies + wiederum kann Web-Robots und andere Clients verwirren, die den + Statuscode dazu verwenden, herauszufinden ob eine URL gültig ist. + Wenn Sie eine entfernte URL in einer Anweisung + ErrorDocument 401 verwenden, wird der Client + darüber hinaus nicht wissen, dass er den Benutzer zur Eingabe + eines Passwortes auffordern muss, da er den Statuscode 401 nicht + erhält. Deshalb müssen Sie sich auf ein lokales + Dokument beziehen, wenn Sie eine Anweisung ErrorDocument + 401 verwenden.

+ +

Der Microsoft Internet Explorer (MSIE) ignoriert + standardmäßig serverseitig generierte Fehlermeldungen, wenn + sie "zu kurz" sind und ersetzt sie durch eigene "freundliche" + Fehlermeldungen. Die Größe variiert abhängig von der + Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den + serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr + Fehlerdokument größer als 512 Bytes ist. Weitere Informationen + sind im Artikel Q294807 in der Microsoft Knowledgebase verfügbar.

+ +

Obwohl die meisten Fehlermeldungen überschrieben werden + können, werden unter bestimmten Umständen die internen + Meldungen ungeachtet der Einstellung der ErrorDocument-Direktive verwendet. Insbesondere bei + einer fehlerhaften Anfrage werden der normale Bearbeitungsprozess sofort + beendet und die interne Meldung zurückgegeben. Das ist notwendig, um + Sicherheitsprobleme zu vermeiden, die auf Grund fehlerhafter Anfragen + entstehen.

+ +

In Versionen vor 2.0 wurden Meldungen durch ein einzelnes + vorangestelltes Anführungszeichen (") erkannt.

+ +

Siehe auch

+ +
+
top
+

ErrorLog-Direktive

+ + + + + + + +
Beschreibung:Ablageort, an dem der Server Fehler protokolliert
Syntax: ErrorLog Dateiname|syslog[:facility]
Voreinstellung:ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and + OS/2)
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Die Direktive ErrorLog bestimmt den Namen + der Datei, in welcher der Server alle auftretenden Fehler protokolliert. + Wenn Dateiname nicht absolut ist, wird er relativ zu ServerRoot betrachtet.

+ +

Beispiel

+ ErrorLog /var/log/httpd/error_log +

+ +

Wenn der Dateiname mit einem senkrechten Strich (|, + engl.: Pipe) beginnt, wird angenommen, dass es sich um einen Befehl + handelt, der ausgeführt wird, um das Fehlerprotokolls zu + verarbeiten.

+ +

Beispiel

+ ErrorLog "|/usr/local/bin/httpd_errors" +

+ +

Die Verwendung von syslog anstelle eines Dateinamens + aktiviert die Protokollierung mittels syslogd(8), sofern das System + es unterstützt. Als Voreinstellung wird der syslog-Typ (syslog + facility) local7 verwendet, Sie können dies jedoch + auch überschreiben, indem Sie die Syntax + syslog:facility verwenden, wobei + facility einer der Namen sein kann, die üblicherweise + in syslog(1) dokumentiert sind.

+ +

Beispiel

+ ErrorLog syslog:user +

+ +

SICHERHEITSHINWEIS: Lesen Sie das Dokument Sicherheitshinweise + zu Einzelheiten darüber, warum Ihre Sicherheit gefährdet + sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert + werden, für jemand anderen, als den Benutzer, der den Server + gestartet hat, beschreibbar ist.

+ +

Anmerkung

+

Bei der Eingabe eines Dateipfads auf nicht-Unix-Plattformen sollte + darauf geachtet werden, nur (Vorwärts-)Schrägstriche zu + verwenden, auch wenn die Plattform rückwärts gerichtete + Schrägstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute + Idee, innerhalb der Konfigurationsdateien immer + Vorwärts-Schrägstriche zu verwenden.

+
+ +

Siehe auch

+ +
+
top
+

ErrorLogFormat-Direktive

+ + + + + + +
Beschreibung:Format specification for error log entries
Syntax: ErrorLogFormat [connection|request] format
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

ExtendedStatus-Direktive

+ + + + + + + +
Beschreibung:Keep track of extended status information for each +request
Syntax:ExtendedStatus On|Off
Voreinstellung:ExtendedStatus Off[*]
Kontext:Serverkonfiguration
Status:Core
Modul:core

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

FileETag-Direktive

+ + + + + + + + +
Beschreibung:Dateiattribute, die zur Erstellung des HTTP-Response-Headers +ETag verwendet werden
Syntax:FileETag Komponente ...
Voreinstellung:FileETag INode MTime Size
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
+

Wenn dem Dokument eine Datei zugrundeliegt, bestimmt die Direktive + FileETag die Dateiattribute, die zur Erstellung + des HTTP-Response-Headers ETag (Entity-Tag) verwendet + werden. (Der Wert von ETag wird bei der Cache-Verwaltung + zur Einsparung von Netzwerk-Bandbreite benutzt.) Im Apache 1.3.22 und + früher wurde der ETag-Wert stets aus + der I-Node, der Größe und dem Datum der letzten + Änderung (mtime) der Datei gebildet. Die Direktive + FileETag erlaubt es Ihnen, zu bestimmen, + welche dieser Eigenschaften -- falls überhaupt -- verwendet + werden sollen. Die gültigen Schlüsselworte lauten:

+ +
+
INode
+
Die I-Node-Nummer wird in die Berechnung mit einbezogen
+
MTime
+
Datum und Uhrzeit der letzten Änderung werden mit einbezogen
+
Size
+
Die Anzahl der Bytes in der Datei wird mit einbezogen
+
All
+
Alle verfügbaren Angaben werden verwendet. Die ist + gleichbedeutend mit: +

FileETag INode MTime Size

+
None
+
Es wird keine ETag-Angabe in die Antwort eingefügt, + wenn dem Dokument eine Datei zugrundeliegt.
+
+ +

Den Schlüsselwörtern INode, MTime + und Size kann entweder ein + oder ein + - vorangestellt werden, was die Änderung einer + Vorgabe erlaubt, die von einem größeren Umfeld + geerbt wurde. Jedes Schlüselwort ohne ein solches Prefix + hebt die ererbte Einstellung sofort und vollständig auf.

+ +

Wenn die Konfiguration für ein Verzeichnis + FileETag INode MTime Size enthält + und die eines Unterverzeichnisses FileETag -INode, + dann ist die Einstellung für das Unterverzeichnis (die an + jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht + überschreibt) äquivalent mit + FileETag MTime Size.

+ +
+
top
+

<Files>-Direktive

+ + + + + + + +
Beschreibung:Enthält Direktiven, die sich nur auf passende Dateinamen +beziehen
Syntax:<Files Dateiname> ... </Files>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Die Direktive <Files> + begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen. + Sie ist vergleichbar mit den Direktiven <Directory> und <Location>. Sie muss eine + passende </Files>-Anweisung besitzen. + Die innerhalb dieses Abschnittes angegebenen Direktiven werden auf + jedes Objekt mit einem Basisnamen (letzte Komponente des Dateinamens) + angewendet, der auf die angegebenen Dateinamen passt. <Files>-Container werden, nachdem die + <Directory>-Container + und .htaccess-Dateien gelesen sind, jedoch vor den + <Location>-Containern, + in der Reihenfolge ihres Auftretens ausgeführt. Beachten Sie, dass + <Files>-Anweisungen innerhalb von + <Directory>-Containern + auftreten können, um den Teil des Dateisystems einzuschränken, + den sie betreffen.

+ +

Das Argument Dateiname kann einen Dateinamen oder eine + Zeichenkette mit Platzhaltern enthalten, wobei ? auf ein + einzelnes Zeichen passt und * auf eine beliebige Folge von + Zeichen. Erweiterte reguläre + Ausdrücke können ebenfalls verwendet werden, indem + das Zeichen ~ hinzugefügt wird. Beispielsweise + würde

+ +

+ <Files ~ "\.(gif|jpe?g|png)$"> +

+ +

auf die gebräuchlichsten Grafikformate im Internet passen. + <FilesMatch> wird + jedoch bevorzugt.

+ +

Beachten Sie bitte, dass die <Files>-Container anders als <Directory>- und <Location>-Container innerhalb + von .htaccess-Dateien verwendet werden können. + Dies erlaubt den Anwendern auf Dateiebene die Kontrolle über ihre + eigenen Dateien.

+ +

Siehe auch

+ +
+
top
+

<FilesMatch>-Direktive

+ + + + + + + +
Beschreibung:Enthält Direktiven, die für Dateinamen gelten, die + auf einen regulären Ausdruck passen
Syntax:<FilesMatch regex> ... </FilesMatch>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Die Direktive <FilesMatch> + begrenzt wie die Direktive <Files> die enthaltenen Anweisungen auf + Dateinamen. Sie akzeptiert jedoch reguläre + Ausdrücke. Beispielsweise würde

+ +

+ <FilesMatch "\.(gif|jpe?g|png)$"> +

+ +

auf die gebräuchlichsten Grafikformate im Internet passen.

+ +

Siehe auch

+ +
+
top
+

FlushMaxPipelined-Direktive

+ + + + + + + + +
Beschreibung:Maximum number of pipelined responses above which they are flushed +to the network
Syntax:FlushMaxPipelined number
Voreinstellung:FlushMaxPipelined 5
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:2.4.47 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

FlushMaxThreshold-Direktive

+ + + + + + + + +
Beschreibung:Threshold above which pending data are flushed to the +network
Syntax:FlushMaxThreshold number-of-bytes
Voreinstellung:FlushMaxThreshold 65536
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:2.4.47 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

ForceType-Direktive

+ + + + + + + + +
Beschreibung:Erzwingt die Auslieferung aller passendenden Dateien mit dem +angegebenen MIME-Content-Type
Syntax:ForceType MIME-Type|None
Kontext:Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:Wurde im Apache 2.0 in den Core verschoben
+

Wenn sie innerhalb einer .htaccess-Datei, eines + <Directory>-, + <Location>- + <Files>-Containers + angegeben wird, erzwingt die Direktive die Auslieferung aller + entsprechenden Dateien mit dem Content-Type, der durch + MIME-Type definiert wurde. Wenn Sie zum Beispiel ein + Verzeichnis voller GIF-Dateien haben, die Sie nicht alle durch + .gif kennzeichnen wollen, können Sie angeben:

+ +

+ ForceType image/gif +

+ +

Beachten Sie bitte, dass die Direktive anders als DefaultType alle MIME-Type-Zuordnungen + überschreibt, einschließlich Dateiendungen, die einen + Medientyp bezeichnen könnten.

+ +

Sie können jede ForceType-Angabe + durch die Verwendung des Wertes None überschreiben:

+ +

+ # erzwinge image/gif für alle Dateien:
+ <Location /images>
+ + ForceType image/gif
+
+ </Location>
+
+ # hier jedoch normale MIME-Type-Zuordnungen:
+ <Location /images/mixed>
+ + ForceType None
+
+ </Location> +

+ +
+
top
+

GprofDir-Direktive

+ + + + + + +
Beschreibung:Directory to write gmon.out profiling data to.
Syntax:GprofDir /tmp/gprof/|/tmp/gprof/%
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

HostnameLookups-Direktive

+ + + + + + + +
Beschreibung:Aktiviert DNS-Lookups auf Client-IP-Adressen
Syntax:HostnameLookups On|Off|Double
Voreinstellung:HostnameLookups Off
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
+

Diese Direktive aktiviert die DNS-Abfrage (Anm.d.Ü.: ein sogenannter + DNS-Lookup), so dass Hostnamen protokolliert (und in + REMOTE_HOST an CGIs/SSIs übergeben) werden könnnen. + Der Wert Double bezieht sich auf ein + Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup + durchgeführt wurde, wird dann auf dem Ergebnis ein + Forward-Lookup ausgeführt. Wenigstens eine der IP-Adressen + aus dem Forward-Lookup muss der Originaladresse entsprechen. + (In der "tcpwrappers"-Terminologie wird dies PARANOID + genannt.)

+ +

Unabhängig von der Einstellung wird ein Double-Reverse-Lookup + durchgeführt, wenn mod_authz_host zur + Zugriffskontrolle per Hostnamen eingesetzt wird. Dies ist aus + Sicherheitsgründen notwendig. Beachten Sie, dass das Ergebnis dieses + Double-Reverse-Lookups nicht generell verfügbar ist, solange Sie + nicht HostnameLookups Double setzen. Wenn beispielsweise + nur HostnameLookups On angegeben ist und eine Anfrage + für ein Objekt erfolgt, welches durch Hostnamen-Beschränkungen + geschützt ist, dann wird CGIs nur das Ergebnis des + Singel-Reverse-Lookups in REMOTE_HOST übergeben, + egal ob das Doble-Reverse-Lookup fehlschlug oder nicht.

+ +

Die Voreinstellung ist Off, um Netzwerktraffic bei den + Angeboten einzusparen, die nicht tatsächlich Reverse-Lookups + benötigen. Es ist auch für die Endanwender besser, da sie nicht + die zusätzliche Wartezeit ertragen müssen, die ein Lookup mit + sich bringt. Hoch frequentierte Angebote sollten diese Direktive auf + Offlassen. Das Hilfsprogramm logresolve, das standardmäßig in das + Unterverzeichnis bin Ihres Installationsverzeichnisses + kompiliert wird, kann dazu verwendet werden, um offline Hostnamen von + protokollierten IP-Adressen nachzuschlagen.

+ +
+
top
+

HttpProtocolOptions-Direktive

+ + + + + + + + +
Beschreibung:Modify restrictions on HTTP Request Messages
Syntax:HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]
Voreinstellung:HttpProtocolOptions Strict LenientMethods Allow0.9
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:2.2.32 or 2.4.24 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

<If>-Direktive

+ + + + + + + + +
Beschreibung:Contains directives that apply only if a condition is +satisfied by a request at runtime
Syntax:<If expression> ... </If>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
Kompatibilität:Nested conditions are evaluated in 2.4.26 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

<IfDefine>-Direktive

+ + + + + + + +
Beschreibung:Schließt Direktiven ein, die nur ausgeführt werden, +wenn eine Testbedingung beim Start wahr ist
Syntax:<IfDefine [!]Parametername> ... + </IfDefine>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Der Container <IfDefine Test>...</IfDefine> + wird dazu verwendet, Direktiven als bedingt zu kennzeichnen. + Die Direktiven innerhalb eines <IfDefine>-Abschnittes werden nur ausgeführt, + wenn Test wahr ist. Ist Test falsch, wird alles + zwischen der Start- und Endemarkierung ignoriert.

+ +

In der <IfDefine>-Anweisung kann + Test eine von zwei Formen annehmen:

+ +
    +
  • Parametername
  • + +
  • !Parametername
  • +
+ +

Im ersten Fall werden die Direktiven zwischen der Start- und + Endemarkierung nur ausgeführt, wenn der Parameter namens + Parametername definiert ist. Die zweite Form kehrt den + Test um und führt die Direktiven nur dann aus, wenn + Parametername nicht definiert ist.

+ +

Das Argument Parametername ist ein sogenanntes + "Define", das beim beim Start des Servers in der + httpd-Befehlszeile durch + -DParameter angegeben wird.

+ +

<IfDefine>-Container können + ineinander verschachtelt werden, um einfache Multi-Parameter-Tests + zu implementieren. Beispiel:

+ +

+ httpd -DReverseProxy ...
+
+ # httpd.conf
+ <IfDefine ReverseProxy>
+ + LoadModule rewrite_module modules/mod_rewrite.so
+ LoadModule proxy_module modules/libproxy.so
+
+ </IfDefine> +

+ +
+
top
+

<IfDirective>-Direktive

+ + + + + + + + +
Beschreibung:Encloses directives that are processed conditional on the +presence or absence of a specific directive
Syntax:<IfDirective [!]directive-name> ... + </IfDirective>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
Kompatibilität:Available in 2.4.34 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

<IfFile>-Direktive

+ + + + + + + + +
Beschreibung:Encloses directives that will be processed only +if file exists at startup
Syntax:<IfFile [!]filename> ... + </IfFile>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
Kompatibilität:Available in 2.4.34 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

<IfModule>-Direktive

+ + + + + + + + +
Beschreibung:Schließt Direktiven ein, die abhängig vom +Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt +werden
Syntax:<IfModule [!]Modulname|Modulbezeichner> + ... </IfModule>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
Kompatibilität:Modulbezeichner sind ab Version 2.1 + verfügbar.
+

Der Container <IfModule + Test>...</IfModule> wird dazu verwendet, + Direktiven als abhängig von dem Vorhandensein eines speziellen + Moduls zu kennzeichnen. Die Direktiven innerhalb eines <IfModule>-Abschnitts werden nur + ausgeführt, wenn Test wahr ist. Ist Test + falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.

+ +

In der <IfModule>-Anweisung + kann Test eine von zwei Formen annehmen:

+ +
    +
  • Modul
  • + +
  • !Modul
  • +
+ +

Im ersten Fall werden die Direktiven zwischen der Start- und + Endemarkierung nur ausgeführt, das Modul namens + Modul im Apache enthalten ist -- entweder einkompiliert + oder mittels LoadModule + dynamisch geladen. Die zweite Form dreht den Test um und führt die + Direktiven nur aus, wenn Modul nicht + enthalten ist.

+ +

Das Argument Modul kann entweder der Modulbezeichner oder + der Dateiname des Moduls zum Zeitpunkt seiner Kompilierung sein. + rewrite_module beispielsweise ist der Bezeichner und + mod_rewrite.c ist der Dateiname. Wenn ein Modul aus mehreren + Quelltext-Dateien besteht, verwenden Sie den Namen der Datei, welche die + Zeichenfolge STANDARD20_MODULE_STUFF enthält.

+ +

<IfModule>-Container können + inneinander verschachtelt werden, um einfache Multi-Modul-Tests + durchzuführen.

+ +

Dieser Container sollte verwendet werden, wenn Sie eine + Konfigurationsdatei benötigen, die unabhängig davon funktioniert, + ob ein bestimmtes Modul verfügbar ist oder nicht. Normalerweise + ist es nicht notwendig, Direktiven in <IfModule>-Containern unterzubringen.

+ +
+
top
+

<IfSection>-Direktive

+ + + + + + + + +
Beschreibung:Encloses directives that are processed conditional on the +presence or absence of a specific section directive
Syntax:<IfSection [!]section-name> ... + </IfSection>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
Kompatibilität:Available in 2.4.34 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

Include-Direktive

+ + + + + + + +
Beschreibung:Fügt andere Konfigurationsdateien innerhalb der +Server-Konfigurationsdatei ein
Syntax:Include Dateiname|Verzeichnis
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
Kompatibilität:Die Platzhalter-Suche ist verfügbar seit +2.0.41
+

Die Direktive erlaubt das Einfügen anderer Konfigurationsdateien + in die Konfigurationsdatei des Servers.

+ +

Shell-typische (fnmatch()) Platzhlaterzeichen können + dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer + Reihenfolge einzufügen. Wenn Include + darüber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt, + liest der Apache alle Dateien in diesem Verzeichnis und allen + Unterverzeichnissen ein. Das Einfügen ganzer Verzeichnisse ist + jedoch nicht empfehlenswert, da temporäre Dateien sehr leicht + versehentlich in einem Verzeichnis zurückgelassen werden, was + httpd scheitern lassen kann.

+ +

Der angegebene Dateiname kann ein absoluter Pfad sein oder relativ zum + ServerRoot-Verzeichnis angegeben + werden.

+ +

Beispiele:

+ +

+ Include /usr/local/apache2/conf/ssl.conf
+ Include /usr/local/apache2/conf/vhosts/*.conf +

+ +

Oder Sie geben Pfade relativ zu Ihrem ServerRoot-Verzeichnis an:

+ +

+ Include conf/ssl.conf
+ Include conf/vhosts/*.conf +

+ +

Der Aufruf von apachectl configtest liefert eine Liste + der Dateien, die während des Konfigurations-Tests verarbeitet + werden:

+ +

+ root@host# apachectl configtest
+ Processing config file: /usr/local/apache2/conf/ssl.conf
+ Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf
+ Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf
+ Syntax OK +

+ +

Siehe auch

+ +
+
top
+

IncludeOptional-Direktive

+ + + + + + + +
Beschreibung:Includes other configuration files from within +the server configuration files
Syntax:IncludeOptional file-path|directory-path|wildcard
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
Kompatibilität:Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

KeepAlive-Direktive

+ + + + + + + +
Beschreibung:Aktiviert persistente HTTP-Verbindungen
Syntax:KeepAlive On|Off
Voreinstellung:KeepAlive On
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Die Keep-Alive-Erweiterung von HTTP/1.0 und die + HTTP/1.1-Funktionalität persistenter Verbindungen unterstützt + langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen über + die gleich TCP-Verbindung zu senden. In einigen Fällen wurde eine + Beschleunigung der Wartezeiten von beinahe 50% für HTML-Dokumente + mit vielen Bildern festgestellt. Um Keep-Alive-Verbindungen zu aktivieren, + setzen Sie KeepAlive On.

+ +

Bei HTTP/1.0-Clients werden Keep-Alive-Verbindungen nur dann verwendet, + wenn sie vom Client eigens angefordert werden. Desweiteren können + Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet + werden, wenn die Länge des Inhalts im Voraus bekannt ist. Dies + impliziert, dass dynamische Inhalte wie CGI-Ausgaben, SSI-Seiten und + servergenerierte Verzeichnisauflistungen im Allgemeinen keine + Keep-Alive-Verbindungen mit HTTP/1.0-Clients verwenden. Bei + HTTP/1.1-Clients sind Keep-Alive-Verbindungen Voreinstellung, solange + nichts anderes angegeben ist. Wenn der Client es anfordert, wird + Chunked-Encoding verwendet, um Inhalte mit unbekannter Länge + über persistente Verbindungen zu senden.

+ +

Siehe auch

+ +
+
top
+

KeepAliveTimeout-Direktive

+ + + + + + + +
Beschreibung:Zeitspanne, die der Server während persistenter Verbindungen +auf nachfolgende Anfragen wartet
Syntax:KeepAliveTimeout Sekunden
Voreinstellung:KeepAliveTimeout 5
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Dies legt die Anzahl der Sekunden fest, die der Apache auf weitere + Anfragen wartet, bevor er die Verbindung schließt. Nachdem einmal + eine Anfrage entgegen genommen wurde, wird die durch die Direktive + Timeout festgelegte Auszeit + angewendet.

+ +

Auf stark belasteten Servern kann ein hoher + KeepAliveTimeout-Wert zu Durchsatzminderungen + führen. Je höher die Auszeit angegeben ist, desto länger + ist der Apache damit beschäftigt, auf untätige Clients zu + warten.

+ +
+
top
+

<Limit>-Direktive

+ + + + + + + +
Beschreibung:Beschränkt die eingeschlossenen Zugriffskontrollen auf +bestimmte HTTP-Methoden
Syntax:<Limit Methode [Methode] ... > ... + </Limit>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Zugriffskontrollen gelten normalerweise für alle + Zugriffsmethoden, was normalerweise auch das gewünschte Verhalten ist. + Im Allgemeinen sollten Zugriffskontrollen nicht in einen + <Limit>-Container gepackt + werden.

+ +

Der Sinn der Direktive <Limit> + ist es, den Effekt der Zugriffskontrollen auf die angegebenen + HTTP-Methoden zu beschränken. Bei allen anderen Methoden haben + die in der <Limit>-Gruppe + enthaltenen Zugriffsbeschränkungen keine Wirkung. + Im folgenden Beispiel gilt die Zugriffskontrolle nur für die + Methoden POST, PUT und DELETE. + Alle anderen Methoden bleiben ungeschützt:

+ +

+ <Limit POST PUT DELETE>
+ + Require valid-user
+
+ </Limit> +

+ +

Sie können eine oder mehrere der folgenden Methoden angeben: + GET, POST, PUT, DELETE, + CONNECT, OPTIONS, + PATCH, PROPFIND, PROPPATCH, + MKCOL, COPY, MOVE, + LOCK und UNLOCK. Die Methodennamen + unterscheiden zwischen Groß- und Kleinschreibung. Wenn + GET verwendet wird, sind HEAD-Anfragen + ebenfalls eingeschränkt. Die TRACE-Methode kann nicht + limitiert werden.

+ +
+ Wenn es um Zugriffsbeschränkungen geht, sollte + ein <LimitExcept>-Container sollte immer einem <Limit>-Container vorgezogen + werden, da <LimitExcept> + einen Schutz gegen beliebige Methoden bietet. +
+ +
+
top
+

<LimitExcept>-Direktive

+ + + + + + + +
Beschreibung:Beschränkt Zugriffskontrollen auf alle HTTP-Methoden +außer den genannten
Syntax:<LimitExcept Methode [Methode] ... > ... + </LimitExcept>
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

<LimitExcept> und + </LimitExcept> werden dazu verwendet, eine Gruppe + von Anweisungen zur Zugriffskontrolle zusammenzufassen, die dann auf + jede HTTP-Methode angewendet werden, die nicht + als Argument angegeben ist. D.h. dies ist das Gegenteil des + <Limit>-Containers + und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten + Methoden verwendet werden. Für weitere Einzelheiten lesen Sie bitte + die Beschreibung zu <Limit>.

+ +

Beispiel:

+ +

+ <LimitExcept POST GET>
+ + Require valid-user
+
+ </LimitExcept> +

+ + +
+
top
+

LimitInternalRecursion-Direktive

+ + + + + + + + +
Beschreibung:Bestimmt die maximale Anzahl interner Umleitungen und + verschachtelter Unteranfragen
Syntax:LimitInternalRecursion Zahl [Zahl]
Voreinstellung:LimitInternalRecursion 10
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Verfügbar ab Apache 2.0.47
+

Eine interne Umleitung erfolgt beispielsweise, wenn die Direktive + Action verwendet wird, welche + die Originalanfrage intern zu einem CGI-Skript weiterleitet. Eine + Unteranfrage (Anm.d.Ü.: engl. Subrequest) ist ein Mechanismus des + Apache, um herauszufinden, was bei einer URI geschehen würde, wäre + sie angefordert worden. mod_dir z.B. verwendet + Unteranfragen, um nach den Dateien zu suchen, die in der DirectoryIndex-Anweisung aufgeführt + sind.

+ +

LimitInternalRecursion bewahrt den Server vor + einem Absturz, wenn er in eine Endlosschleife aus internen Umleitungen + oder Unteranfragen hineinläuft. Derartige Schleifen werden + gewöhnlich durch Fehlkonfiguration verursacht.

+ +

Die Direktive setzt zwei verschiedene Begrenzungen, welche je Anfrage + ausgewertet werden. Die erste Zahl bestimmt die maximale + Anzahl der Umleitungen, die aufeinander folgen dürfen. Die zweite + Zahl legt fest, wie tief Unteranfragen ineinander + verschachtelt werden dürfen. Wenn Sie lediglich eine Zahl + angeben, wird sie beiden Begrenzungen zugewiesen.

+ +

Beispiel

+ LimitInternalRecursion 5 +

+ +
+
top
+

LimitRequestBody-Direktive

+ + + + + + + + +
Beschreibung:Begrenzt die Gesamtgröße des vom Client gesendeten +HTTP-Request-Body
Syntax:LimitRequestBody Bytes
Voreinstellung:LimitRequestBody 0
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Die Direktive gibt die Anzahl der Bytes zwischen 0 + (unbegrenzt) und 2147483647 (2GB) an, die im Request-Body (Datenteil der + Anfrage) erlaubt sind.

+ +

Die Direktive LimitRequestBody erlaubt es dem + Benutzer, die Größe des HTTP-Request-Bodys in dem Kontext zu + begrenzen, in dem die Anweisung angegeben ist (Server, pro Verzeichnis, + pro Datei oder pro Adresse). Wenn die Anfrage des Clients dieses Limit + überschreitet, gibt der Server einen Fehler zurück anstatt die + Anfrage zu bearbeiten. Die Größe des Datenteils einer Anfrage + kann sehr stark variieren, abhängig von der Art der Ressource und + den für diese Ressource erlaubten Methoden. CGI-Skripte verwenden + den Datenteil üblicherweise zum Empfang von Formulardaten. Wird + die PUT-Methode angewendet, dann muss der Wert mindestens + so groß sein wie irgendeine Darstellungsform, die der Server + für diese Ressource akzeptieren soll.

+ +

Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.

+ +

Wenn Sie beispielsweise das Hochladen von Dateien zu einer bestimmten + Adresse erlauben, aber die Größe der hochgeladenen Dateien + auf 100K beschränken wollen, können Sie die folgende Anweisung + verwenden:

+ +

+ LimitRequestBody 102400 +

+ + +
+
top
+

LimitRequestFields-Direktive

+ + + + + + + +
Beschreibung:Begrenzt die Anzahl der HTTP-Request-Header, die vom Client +entgegengenommen werden
Syntax:LimitRequestFields Anzahl
Voreinstellung:LimitRequestFields 100
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

Anzahl ist ein Integer-Wert (eine positive Ganzzahl) + zwischen 0 (unbegrenzt) und 32767. Die Voreinstellung wird durch die + Konstante DEFAULT_LIMIT_REQUEST_FIELDS (100 + bei der Auslieferung) zur Kompilierungszeit gesetzt.

+ +

Die Direktive LimitRequestFields erlaubt es + dem Serveradministrator, die maximale Anzahl der in einem HTTP-Request + erlaubten HTTP-Request-Header zu verändern. Für den Server + muss dieser Wert größer sein als die Anzahl der Headerzeilen, + die ein normaler Client senden könnte. Die Anzahl der Request-Header, + die ein gewöhnlicher Client verwendet, überschreitet selten 20 + Zeilen. Allerdings kann dies zwischen den verschiedenen + Client-Ausführungen variieren, oft abhängig vom Ausmaß, + mit dem der Anwender die genaue Content-Negotiation-Unterstützung + seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen + äußern sich oft in Form von HTTP-Headern.

+ +

Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann. Der Wert sollte erhöht werden, wenn normale Clients + eine Fehlermeldung vom Server erhalten, die besagt, dass mit der Anfrage + zu viele Headerzeilen gesendet wurden.

+ +

Beispiel:

+ +

+ LimitRequestFields 50 +

+ + +
+
top
+

LimitRequestFieldSize-Direktive

+ + + + + + + +
Beschreibung:Begrenzt die Länge des vom Client gesendeten +HTTP-Request-Headers
Syntax:LimitRequestFieldsize Bytes
Voreinstellung:LimitRequestFieldsize 8190
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

Die Direktive gibt die Anzahl der Bytes an, die in einem + HTTP-Header erlaubt sind.

+ +

Die Direktive LimitRequestFieldsize erlaubt es + dem Serveradministrator, die maximale Größe eines + HTTP-Request-Headers zu verringern oder erhöhen. Für den Server + muss der Wert groß genug sein, um eine beliebige Headerzeile einer + normalen Client-Anfrage vorzuhalten. Die Größe variiert stark + zwischen den verschiedenen Client-Ausführungen, oft abhängig vom + Ausmaß, mit dem der Anwender die genaue + Content-Negotiation-Unterstützung seines Browsers konfiguriert hat. + SPNEGO-Authentisierungs-Header können bis zu 12392 Bytes lang + sein.

+ +

Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.

+ +

Beispiel:

+ +

+ LimitRequestFieldSize 4094 +

+ +
Unter normalen Umständen sollte die Voreinstellung nicht + verändert werden.
+ +
+
top
+

LimitRequestLine-Direktive

+ + + + + + + +
Beschreibung:Begrenzt die Länge der vom Client entgegengenommenen +HTTP-Anfragezeile
Syntax:LimitRequestLine Bytes
Voreinstellung:LimitRequestLine 8190
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

Die Direktive legt die Anzahl der Bytes fest, die in der + HTTP-Anfragezeile erlaubt sind.

+ +

Die Direktive LimitRequestLine erlaubt es dem + Serveradministrator, die maximale Größe der + HTTP-Anfragezeile zu verringern oder erhöhen. Da + die Anfragezeile aus der HTTP-Methode, der URI und der Protokollversion + besteht, bedeutet die LimitRequestLine-Direktive + eine Beschränkung der Länge der für eine Anfrage an den + Server erlaubten Anfrage-URI. Für den Server muss der Wert groß + genug sein, um jeden seiner Ressourcennamen vorzuhalten, + einschließlich aller Informationen, die im Query-String einer + GET-Anfrage übergeben werden können.

+ +

Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.

+ +

Beispiel:

+ +

+ LimitRequestLine 4094 +

+ +
Unter normalen Umständen sollte die Voreinstellung nicht + verändert werden.
+ +
+
top
+

LimitXMLRequestBody-Direktive

+ + + + + + + + +
Beschreibung:Begrenzt die Größe eines XML-basierten +Request-Bodys
Syntax:LimitXMLRequestBody Bytes
Voreinstellung:LimitXMLRequestBody 1000000
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Dies gibt die Grenze für die maximale Größe (in Bytes) + des XML-basierten Request-Bodys an. Der Wert 0 deaktiviert + diese Prüfung.

+ +

Beispiel:

+ +

+ LimitXMLRequestBody 0 +

+ + +
+
top
+

<Location>-Direktive

+ + + + + + +
Beschreibung:Wendet die enthaltenen Direktiven nur auf die entsprechenden +URLs an
Syntax:<Location + URL-Pfad|URL> ... </Location>
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Die Direktive <Location> + begrenzt die Reichweite der enthaltenen Anweisungen auf URLs. + Sie ist der Direktive <Directory> ähnlich und startet einen + Abschnitt, der mit der Anweisung </Location> + abgeschlossen wird. <Location>-Container werden, nachdem die + <Directory>-Container + und .htaccess-Dateien gelesen wurden, und nach den + <Files>-Containern, in + der Reihenfolge ausgeführt, in der sie in der Konfigurationsdatei + erscheinen.

+ +

<Location>-Abschnitte operieren + vollständig außerhalb des Dateisystems. Dies hat mehrere + Konsequenzen. An Wichtigsten, <Location>-Anweisungen sollten nicht dafür + verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da + mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems + zeigen können, könnte eine solche Zugriffskontrolle u.U. + umgangen werden.

+ +

Wann sollte<Location> verwendet werden

+ +

Verwenden Sie <Location>, um + Anweisungen auf Inhalte anzuwenden, die außerhalb des Dateisystems + abgelegt sind. Benutzen Sie <Directory> und <Files> für Inhalte, die + innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet + <Location />, welches ein einfacher Weg ist, um eine + Konfiguration auf den gesamten Server anzuwenden.

+
+ +

Für alle nicht-Proxy-Anfragen ist die entsprechende URL + ein URL-Pfad in der Form /path/. Es dürfen weder ein + Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen + werden. Für Proxy-Anfragen hat die Vergleichs-URL die Form + schema://servername/path. Das Präfix muss angegeben + werden.

+ +

Die URL kann Platzhalter verwenden. In einer Zeichenfolge mit + Platzhaltern entspricht ? einem einzelnen Zeichen und + *einer beliebigen Zeichenfolge.

+ +

Erweiterte reguläre + Ausdrücke können ebenfalls verwendet werden, indem + das Zeichen ~ hinzugefügt wird. Beispielsweise + würde

+ +

+ <Location ~ "/(extra|special)/data"> +

+ +

auf URLs passen, welche die Zeichenfolge /extra/data + oder /special/data enthalten. Die Direktive <LocationMatch> verhält sich + genauso wie <Location> mit + regulären Ausdrücken.

+ +

Die Funktionalität von <Location> ist insbesondere dann nützlich, + wenn sie mit der SetHandler-Direktive + kombiniert wird. Um zum Beispiel Statusabfragen zu aktivieren, sie aber + nur von Browsern aus foo.com zuzulassen, könnten Sie + schreiben:

+ +

+ <Location /status>
+ + SetHandler server-status
+ Order Deny,Allow
+ Deny from all
+ Allow from .foo.com
+
+ </Location> +

+ +

Anmerkung zu / (Schrägstrich, Slash)

+

Das Slash-Zeichen hat eine besondere Bedeutung, je nachdem, wo es + in der URL erscheint. Manche werden sein Verhalten vom Dateisystem + gewohnt sein, wo mehrere aufeinanderfolgende Schrägstriche + häufig zu einem Schrägstrich zusammengefaßt werden + (d.h. /home///foo ist das gleiche wie + /home/foo). Im URL-Raum ist dies nicht notwendigerweise + genauso. Bei der Direktive <LocationMatch> und der <Location>-Version mit regulären Ausdrücken + müssen Sie explizit mehrere Schrägstriche angeben, wenn Sie + genau dies beabsichtigen.

+ +

Beispielsweise würde <LocationMatch ^/abc> + auf die angeforderte URL /abc passen, nicht aber auf + //abc. Die Direktive <Location> (ohne reguläre Ausdrücke) verhält + sich ähnlich, wenn sie für Proxy-Anfragen verwendet wird. + Wenn <Location> (ohne + reguläre Ausdrücke) jedoch für nicht-Proxy-Anfragen + verwendet wird, werden stillscheigend mehrere Schrächstriche mit + mit einem einzigen Schrägstrich gleichgesetzt. Geben Sie + beispielsweise <Location /abc/def> an und die + Anfrage lautet auf /abc//def, dann greift die Anweisung.

+
+ +

Siehe auch

+ +
+
top
+

<LocationMatch>-Direktive

+ + + + + + +
Beschreibung:Wendet die enthaltenen Direktiven nur auf URLs an, die auf +reguläre Ausdrücke passen
Syntax:<LocationMatch + regex> ... </LocationMatch>
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Die Direktive <LocationMatch> + begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise + wie <Location> auf URLs. + Sie verwendet jedoch reguläre + Ausdrücke als Argument anstelle einer einfachen + Zeichenkette. Beispielsweise würde

+ +

+ <LocationMatch "/(extra|special)/data"> +

+ +

auf URLs passen, welche die Zeichenfolge /extra/data + oder /special/data enthalten.

+ +

Siehe auch

+ +
+
top
+

LogLevel-Direktive

+ + + + + + + +
Beschreibung:Steuert die Ausführlichkeit des Fehlerprotokolls
Syntax:LogLevel Level
Voreinstellung:LogLevel warn
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

LogLevel stellt die Ausführlichkeit + der Nachrichten ein, die im Fehlerprotokoll aufgezeichnet werden (siehe + Direktive ErrorLog). Die folgenden, + nach absteigender Aussagekraft sortierten Level sind + verfügbar:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Level Beschreibung Beispiel
emerg Notfall - das System ist unbenutzbar."Child cannot open lock file. Exiting" + (Anm.d.Ü.: "Kindprozess kann die Lock-Datei nicht öffnen. + Beende Programm")
alert Maßnahmen müssen unverzüglich ergriffen + werden."getpwuid: couldn't determine user name from uid" + (Anm.d.Ü.: "getpwuid: kann keinen Benutzernamen aus der UID + ermitteln")
crit Kritischer Zustand."socket: Failed to get a socket, exiting child" + (Anm.d.Ü.: "socket: Socket-Zuweisung fehlgeschlagen, beende + Kindprozess")
error Fehlerbedingung."Premature end of script headers" + (Anm.d.Ü.: "Vorzeitiges Ende der Skript-Header")
warn Warnung."child process 1234 did not exit, sending another SIGHUP" + (Anm.d.Ü.: "Kindprozess 1234 nicht beendet, sende ein weiteres + SIGHUP")
notice Normaler, aber signifikanter Zustand."httpd: caught SIGBUS, attempting to dump core in ..." + (Anm.d.Ü.: "httpd: SIGBUS empfangen, versuche Speicherabbild nach ... + zu schreiben")
info Information."Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..." + (Anm.d.Ü.: "Server scheint beschäftigt zu sein, + (möglicherweise müssen Sie StartServers oder + Min/MaxSpareServers erhöhen)")
debug Debug-Level-Nachrichten"Opening config file ..." + (Anm.d.Ü.: "Öffne Konfigurationsdatei ...")
+ +

Geben Sie einen bestimmten Level an, denn werden Nachrichten von + allen höheren Leveln ebenso angezeigt. Z.B.: Wenn + LogLevel info eingestellt ist, dann werden Nachrichten der + Log-Level notice und warn ebenso eingetragen.

+ +

Es wird empfohlen, mindestens den Level crit zu + verwenden.

+ +

Beispiel:

+ +

+ LogLevel notice +

+ +

Hinweis

+

Beim Protokollieren in eine reguläre Datei können + Nachrichten des Levels notice nicht unterdrückt + werden und werden daher immer protokolliert. Dies trifft allerdings + nicht zu, wenn mittels syslog protokolliert wird.

+
+ +
+
top
+

MaxKeepAliveRequests-Direktive

+ + + + + + + +
Beschreibung:Anzahl der Anfragen, die bei einer persistenten Verbindung +zulässig sind
Syntax:MaxKeepAliveRequests Anzahl
Voreinstellung:MaxKeepAliveRequests 100
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

Die Direktive MaxKeepAliveRequests + begrenzt die Anzahl der Anfragen, die pro Verbindung zulässig sind, + wenn KeepAlive eingeschaltet ist. + Bei der Einstellung 0 sind unbegrenzt viele Anfragen + erlaubt. Wir empfehlen für diese Einstellung einen hohen Wert + für eine maximale Serverleistung.

+ +

Beispiel:

+ +

+ MaxKeepAliveRequests 500 +

+ +
+
top
+

MaxRangeOverlaps-Direktive

+ + + + + + + + +
Beschreibung:Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
Syntax:MaxRangeOverlaps default | unlimited | none | number-of-ranges
Voreinstellung:MaxRangeOverlaps 20
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
Kompatibilität:Available in Apache HTTP Server 2.3.15 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

MaxRangeReversals-Direktive

+ + + + + + + + +
Beschreibung:Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
Syntax:MaxRangeReversals default | unlimited | none | number-of-ranges
Voreinstellung:MaxRangeReversals 20
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
Kompatibilität:Available in Apache HTTP Server 2.3.15 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

MaxRanges-Direktive

+ + + + + + + + +
Beschreibung:Number of ranges allowed before returning the complete +resource
Syntax:MaxRanges default | unlimited | none | number-of-ranges
Voreinstellung:MaxRanges 200
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
Kompatibilität:Available in Apache HTTP Server 2.3.15 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

MergeSlashes-Direktive

+ + + + + + + + +
Beschreibung:Controls whether the server merges consecutive slashes in URLs. +
Syntax:MergeSlashes ON|OFF
Voreinstellung:MergeSlashes ON
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Added in 2.4.39

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

MergeTrailers-Direktive

+ + + + + + + + +
Beschreibung:Determines whether trailers are merged into headers
Syntax:MergeTrailers [on|off]
Voreinstellung:MergeTrailers off
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:2.4.11 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

Mutex-Direktive

+ + + + + + + + +
Beschreibung:Configures mutex mechanism and lock file directory for all +or specified mutexes
Syntax:Mutex mechanism [default|mutex-name] ... [OmitPID]
Voreinstellung:Mutex default
Kontext:Serverkonfiguration
Status:Core
Modul:core
Kompatibilität:Available in Apache HTTP Server 2.3.4 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

NameVirtualHost-Direktive

+ + + + + + +
Beschreibung:Bestimmt eine IP-Adresse für den Betrieb namensbasierter +virtueller Hosts
Syntax:NameVirtualHost Adresse[:Port]
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

Die Direktive NameVirtualHost ist erforderlich, + wenn Sie namensbasierte virtuelle Hosts + konfigurieren möchten.

+ +

Obwohl Adresse eine Hostname sein kann, wird empfohlen, + dass Sie stets eine IP-Adresse verwenden, z.B.:

+ +

+ NameVirtualHost 111.22.33.44 +

+ +

Mit der NameVirtualHost-Anweisung geben Sie + die IP-Adresse an, unter der der Server Anfragen für + namensbasierte virtuelle Hosts entgegennimmt. Das ist üblicherweise + die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts + aufgelöst werden. Falls eine Firewall oder ein anderer Proxy die + Anfrage in Empfang nimmt und Sie zu einer weiteren IP-Adresse des Servers + weiterleitet, müssen Sie die IP-Adresse der physikalischen + Schnittstelle der Maschine angeben, welche die Anfragen bedient. + Wenn Sie mehrere namensbasierte Hosts an verschiedenen Adressen + betreiben, wiederholen Sie einfach die Anweisung für jede + Adresse.

+ +

Anmerkung

+

Beachten Sie, dass der "Hauptserver" und jeder + _default_-Server niemals bei einer + Anfrage an einer NameVirtualHost-IP-Adresse + bedient wird (es sei denn, Sie geben aus irgendwelchen Gründen + NameVirtualHost an, definieren dann aber keine + VirtualHosts für diese Adresse).

+
+ +

Optional können Sie die Nummer eines Ports angeben, an dem + namensbasierte virtuelle Hosts verwendet werden sollen. Beispiel:

+ +

+ NameVirtualHost 111.22.33.44:8080 +

+ +

IPv6-Adressen müssen, wie im folgenden Beispiel angegeben, in + eckige Klammern eingeschlossen werden:

+ +

+ NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 +

+ +

Um an allen Schnittstellen Anfragen zu empfangen, können Sie + * als Argument verwenden.

+ +

+ NameVirtualHost * +

+ +

Argument der Direktive <VirtualHost>

+

Beachten Sie, dass das Argument der <VirtualHost>-Anweisung exakt auf das Argument + der NameVirtualHost-Anweisung passen muss.

+ +

+ NameVirtualHost 1.2.3.4
+ <VirtualHost 1.2.3.4>
+ # ...
+ </VirtualHost>
+

+
+ +

Siehe auch

+ +
+
top
+

Options-Direktive

+ + + + + + + + +
Beschreibung:Definiert, welche Eigenschaften oder Funktionen in einem +bestimmten Verzeichnis verfügbar sind
Syntax:Options + [+|-]Option [[+|-]Option] ...
Voreinstellung:Options All
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:Options
Status:Core
Modul:core
+

Die Direktive Options steuert, welche + Eigenschaften bzw. Funktionen in einem bestimmten Verzeichnis + verfügbar sind.

+ +

Option kann auf None gesetzt werden, wobei + keine der besonderen Eigenschaften verfügbar sind, oder auf eines + oder mehrere der folgenden:

+ +
+
All
+ +
Alle Optionen außer MultiViews. Dies ist + die Voreinstellung.
+ +
ExecCGI
+ +
Die Ausführung von CGI-Skripten, welche mod_cgi + verwenden, ist erlaubt.
+ +
FollowSymLinks
+ +
Der Server folgt symbolischen Links in diesem Verzeichnis. +
+

Auch wenn der Server symbolischen Links folgt, bedeutet dies + nicht, dass der zum Abgleich gegen <Directory>-Abschnitte verwendete Pfadname + wechselt.

+

Beachten Sie auch, dass diese Option innerhalb eines + <Location>-Abschnitts + ignoriert wird.

+
+ +
Includes
+ +
+ Server Side Includes, die von mod_include bereitgestellt + werden, sind erlaubt.
+ +
IncludesNOEXEC
+ +
Server Side Includes sind erlaubt, #exec cmd + und #exec cgi sind jedoch deaktiviert. Es ist aber noch + möglich, CGI-Skripte aus + ScriptAlias-Verzeichnissen mittels + #include virtual einzubinden.
+ +
Indexes
+ +
Wenn eine URL, die auf ein Verzeichnis zeigt, in dem sich keine durch + DirectoryIndex definierte + Indexdatei (z.B. index.html) befindet, dann liefert + mod_autoindex eine formatierte Auflistung des + Verzeichnisses zurück.
+ +
MultiViews
+ +
"MultiViews" sind bei der Verwendung von + mod_negotiation erlaubt (siehe Content-Negotiation).
+ +
SymLinksIfOwnerMatch
+ +
Der Server folgt nur symbolischen Links, bei denen die Zieldatei + bzw. das Zielverzeichnis der gleichen Benutzerkennung gehört, wie + der Link. +

Anmerkung

Diese Option wird innerhalb eines + <Location>-Abschnitts + ignoriert.
+
+ +

Wenn mehrere Options auf ein Verzeichnis + angewandt werden können, dann wird normalerweise die + spezifischste (Anm.d.Ü.: Gemeint ist die zuletzt + ausgeführte Option.) verwendet und alle anderen werden + ignoriert; die Optionen werden nicht vermischt. (Siehe auch Wie Abschnitte zusammengeführt + werden..) Wenn jedoch allen Optionen der + Options-Anweisung eines der Zeichen + + oder - vorangestellt wird, werden die Optionen + zusammengemischt. Jede Option mit vorangestelltem + wird + zu den momentan gültigen Optionen hinzugefügt und jede Option + mit vorangestelltem - wird aus den derzeit gültigen + Optionen entfernt.

+ +

Warnung

+

Die Vermischung von Optionen mit + oder - mit + Optionen ohne diese (Zeichen) ist keine gültige Syntax und führt + mit hoher Wahrscheinlichkeit zu unerwarteten Effekten.

+
+ +

So wird zum Beispiel ohne die Zeichen + und + -

+ +

+ <Directory /web/docs>
+ + Options Indexes FollowSymLinks
+
+ </Directory>
+
+ <Directory /web/docs/spec>
+ + Options Includes
+
+ </Directory> +

+ +

für das Verzeichnis /web/docs/spec wird jetzt + lediglich Includes gesetzt. Wenn die zweite + Options-Anweisung jedoch +- + und --Zeichen verwenden würde,

+ +

+ <Directory /web/docs>
+ + Options Indexes FollowSymLinks
+
+ </Directory>
+
+ <Directory /web/docs/spec>
+ + Options +Includes -Indexes
+
+ </Directory> +

+ +

dann würden die Optionen FollowSymLinks und + Includes für das Verzeichnis /web/docs/spec + gesetzt.

+ +

Anmerkung

+

Die Verwendung von -IncludesNOEXEC oder + -Includes deaktiviert Server Side Includes unabhängig + von der vorigen Einstellung vollständig.

+
+ +

Die Voreinstellung ist All, sofern keine anderen Angaben + gemacht wurden.

+ +
+
top
+

Protocol-Direktive

+ + + + + + + +
Beschreibung:Protocol for a listening socket
Syntax:Protocol protocol
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Available in Apache 2.1.5 and later. +On Windows, from Apache 2.3.3 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

Protocols-Direktive

+ + + + + + + + +
Beschreibung:Protocols available for a server/virtual host
Syntax:Protocols protocol ...
Voreinstellung:Protocols http/1.1
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Only available from Apache 2.4.17 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

ProtocolsHonorOrder-Direktive

+ + + + + + + + +
Beschreibung:Determines if order of Protocols determines precedence during negotiation
Syntax:ProtocolsHonorOrder On|Off
Voreinstellung:ProtocolsHonorOrder On
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Only available from Apache 2.4.17 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

QualifyRedirectURL-Direktive

+ + + + + + + + + +
Beschreibung:Controls whether the REDIRECT_URL environment variable is + fully qualified
Syntax:QualifyRedirectURL On|Off
Voreinstellung:QualifyRedirectURL Off
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

ReadBufferSize-Direktive

+ + + + + + + + +
Beschreibung:Size of the buffers used to read data
Syntax:ReadBufferSize bytes
Voreinstellung:ReadBufferSize 8192
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
Kompatibilität:2.4.27 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

RegexDefaultOptions-Direktive

+ + + + + + + + +
Beschreibung:Allow to configure global/default options for regexes
Syntax:RegexDefaultOptions [none] [+|-]option [[+|-]option] ...
Voreinstellung:RegexDefaultOptions DOTALL DOLLAR_ENDONLY
Kontext:Serverkonfiguration
Status:Core
Modul:core
Kompatibilität:Only available from Apache 2.4.30 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

RegisterHttpMethod-Direktive

+ + + + + + + +
Beschreibung:Register non-standard HTTP methods
Syntax:RegisterHttpMethod method [method [...]]
Kontext:Serverkonfiguration
Status:Core
Modul:core
Kompatibilität:Available in Apache HTTP Server 2.4.24 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

RLimitCPU-Direktive

+ + + + + + + + +
Beschreibung:Begrenzt den CPU-Verbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden
Syntax:RLimitCPU Sekunden|max [Sekunden|max]
Voreinstellung:unbestimmt; verwendet die Voreinstellung des Systems
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder max sein. max + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als root läuft, zumindest in + der anfänglichen Startphase.

+ +

Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.

+ +

CPU-Ressourcenbegrenzung wird in Sekunden pro Prozess + ausgedrückt.

+ +

Siehe auch

+ +
+
top
+

RLimitMEM-Direktive

+ + + + + + + + +
Beschreibung:Begrenzt den Speicherverbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden
Syntax:RLimitMEM Bytes|max [Bytes|max]
Voreinstellung:unbestimmt; verwendet die Voreinstellung des Systems
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder max sein. max + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als root läuft, zumindest in + der anfänglichen Startphase.

+ +

Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.

+ +

Die Begrenzung des Speicherverbrauchs wird in Bytes pro Prozess + ausgedrückt.

+ +

Siehe auch

+ +
+
top
+

RLimitNPROC-Direktive

+ + + + + + + + +
Beschreibung:Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet +werden können, der ihrerseits von Apache-Kinprozessen gestartet +wurden
Syntax:RLimitNPROC Zahl|max [Zahl|max]
Voreinstellung:unbestimmt; verwendet die Voreinstellung des Systems
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder max sein. max + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als root läuft, zumindest in + der anfänglichen Startphase.

+ +

Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Dies beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.

+ +

Prozessbegrenzungen steuern die Anzahl der Prozesse pro Benutzer.

+ +

Anmerkung

+

Wenn CGI-Prozesse nicht unter anderen Benutzerkennungen als der + User-ID des Webservers laufen, dann beschränkt diese Direktive + die Anzahl der Prozesse, die der Server selbst erstellen kann. + Kennzeichen einer solchen Situation sind + cannot fork-Meldungen + (Anm.d.Ü.: kann nicht abspalten) in der + Datei error_log.

+
+ +

Siehe auch

+ +
+
top
+

ScriptInterpreterSource-Direktive

+ + + + + + + + + +
Beschreibung:Methode zur Ermittlung des Interpreters von +CGI-Skripten
Syntax:ScriptInterpreterSource Registry|Registry-Strict|Script
Voreinstellung:ScriptInterpreterSource Script
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:ausschließlich Win32; +Die Option Registry-Strict ist verfügbar seit Apache +2.0.
+

Die Direktive steuert, wie der Apache den Interpreter zur Ausführung + von CGI-Skripten bestimmt. Die Voreinstellung ist Script. Dies + veranlaßt den Apache, den Interpreter zu verwenden, auf den die + Shebang-Zeile (erste Zeile, beginnt mit #!) im Skript zeigt. + Auf Win32-Systemen sieht diese Zeile üblicherweise so aus:

+ +

+ #!C:/Perl/bin/perl.exe +

+ +

oder, wenn perl im Pfad (Umgebungsvariable PATH) liegt, + einfach:

+ +

+ #!perl +

+ +

Die Einstellung ScriptInterpreterSource Registry + veranlaßt eine Suche in HKEY_CLASSES_ROOT der + Windows-Registrierungsdatenbank und verwendet die Endung der Skript-Datei + (z.B. .pl) als Suchargument. Der durch den Unterschlüssel + Shell\ExecCGI\Command oder, falls dieser nicht existiert, + Shell\Open\Command definierte Befehl wird zum Öffnen der + Skript-Datei verwendet. Wenn der Schlüssel zur Dateiendung oder + beide Unterschlüssel fehlen, dann verwendet der Apache die Option + Script.

+ +

Sicherheit

+

Seien Sie vorsichtig, ScriptInterpreterSource Registry bei + Verzeichnissen zu verwenden, auf die eine ScriptAlias-Anweisung zeigt, denn der + Apache versucht jede Datei innerhalb des Verzeichnisses + auszuführen. Die Einstellung Registry kann + unerwünschte Programmaufrufe bei Dateien verursachen, die + üblicherweise nicht ausgeführt werden. Auf den meisten + Windows-Systemen beispielsweise startet der voreingestellte + Öffnen-Befehl für .htm-Dateien den Microsoft + Internet Explorer, so dass jede HTTP-Anfrage nach einer existierenden + .htm-Datei im Skript-Verzeichnis den Browser im Hintergrund + starten würde. Dies ist eine wirksame Methode, Ihr System binnen + etwa einer Minute zum Absturz zu bringen.

+
+ +

Die seit Apache 2.0 neue Option Registry-Strict + macht das gleiche wie Registry, verwendet jedoch nur den + Unterschlüssel Shell\ExecCGI\Command. Der Schlüssel + ExecCGI ist gewöhnlich nicht voreingestellt. Er muss + manuell eingerichtet werden und schützt Ihr System so for + versehentlichen Programmaufrufen.

+ +
+
top
+

SeeRequestTail-Direktive

+ + + + + + + + +
Beschreibung:Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
Syntax:SeeRequestTail On|Off
Voreinstellung:SeeRequestTail Off
Kontext:Serverkonfiguration
Status:Core
Modul:core
Kompatibilität:Available in Apache httpd 2.2.7 and later.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

ServerAdmin-Direktive

+ + + + + + +
Beschreibung:E-Mail-Adresse, die der Server in Fehlermeldungen einfügt, +welche an den Client gesendet werden
Syntax:ServerAdmin E-Mail-Adresse|URL
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
+

ServerAdmin legt die Kontaktadresse fest, + die der Server in jede Fehlermeldung einfügt, die er an den + Client zurückschickt. Wenn httpd das übergebene + Argument nicht als URL erkennt, nimmt er an, dess es sich um eine + E-Mail-Adresse handelt und stellt in Hyperlinks + mailto: voran. Es ist jedoch sogar sinnvoll, eine + E-Mail-Adresse zu verwenden, da viele CGI-Skripte davon ausgehen. Wenn Sie + eine URL verwenden möchten, sollten Sie auf einem anderen unter Ihrer + Kontrolle stehenden Server verweisen. Andernfalls können Besucher Sie + im Fehlerfall möglicherweise nicht kontaktieren.

+ +

Es kann sich lohnen, hierfür eine reservierte Adresse + anzugeben, z.B.

+ +

+ ServerAdmin www-admin@foo.example.com +

+ +

da Anwender nicht unbedingt erwähnen, dass sie vom Server + sprechen!

+ +
+
top
+

ServerAlias-Direktive

+ + + + + + +
Beschreibung:Alternativer Name für einen Host, der verwendet wird, wenn +Anfragen einem namensbasierten virtuellen Host zugeordnet werden
Syntax:ServerAlias Hostname [Hostname] ...
Kontext:Virtual Host
Status:Core
Modul:core
+

Die Direktive ServerAlias bestimmt die + alternativen Namen eines Hosts zur Verwendung mit namensbasierten virtuellen Hosts.

+ +

+ <VirtualHost *>
+ ServerName server.domain.com
+ ServerAlias server server2.domain.com server2
+ # ...
+ </VirtualHost> +

+ +

Siehe auch

+ +
+
top
+

ServerName-Direktive

+ + + + + + + +
Beschreibung:Rechnername und Port, die der Server dazu verwendet, sich +selbst zu identifizieren
Syntax:ServerName +voll-qualifizierter-Domainname[:port]
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Diese Direktive löst in Version 2.0 die + Funktionalität der Direktive Port aus + Version 1.3 ab.
+

Die Direktive ServerName bestimmt den + Rechnernamen und Port, den der Server dazu verwendet, sich selbst + zu identifizieren. Diese werden bei der Erstellung von Umleitungs-URLs + benötigt. Wenn beispielsweise der Name der Maschine, die den Webserver + beherbergt, simple.example.com lautet, die Maschine jedoch + auch einen DNS-Alias www.example.com besitzt und Sie den + Webserver so identifizieren möchten, sollten Sie die folgende + Anweisung verwenden:

+ +

+ ServerName www.example.com:80 +

+ +

Wenn kein ServerName angegeben wurde, + dann versucht der Server den Rechnernamen mittels eines Reverse-Lookup + herzuleiten. Wenn kein Port in der + ServerName-Anweisung angegeben wurde, dann + verwendet der Server den Port der eingegangenen Anfrage. Für eine + optimale Zuverlässigkeit und Berechenbarkeit sollten Sie einen + eindeutigen Rechnernamen und Port angeben, in dem Sie die Direktive + ServerName verwenden.

+ +

Wenn Sie namensbasierte + virtuelle Hosts verwenden, gibt ServerName + innerhalb eines <VirtualHost>-Abschnitts an, welcher + Hostname im Host:-Header der Anfrage auftauchen muss, + damit sie diesem virtuellen Host zugeordnet wird.

+ +

Lesen Sie bitte die Beschreibung der Direktiven UseCanonicalName und UseCanonicalPhysicalPort für Einstellungen, die + bestimmen, ob selbstreferenzierende URLs (z.B. vom Modul + mod_dir) auf den angegebenen Port zeigen oder auf die + Portnummern die in der Anfrage des Clients angegeben ist.

+ +

Siehe auch

+ +
+
top
+

ServerPath-Direktive

+ + + + + + +
Beschreibung:Veralteter URL-Pfad für einen namensbasierten +virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen +wird
Syntax:ServerPath URL-Pfad
Kontext:Virtual Host
Status:Core
Modul:core
+

Die Direktive ServerPath legt den + veralteten (Anm.d.Ü.: Gemeint ist eigentlich "Altlast" aufgrund + antiquierter Clients.) URL-Pfad eines Hosts zur Verwendung mit + namensbasierten virtuellen Hosts fest.

+ +

Siehe auch

+ +
+
top
+

ServerRoot-Direktive

+ + + + + + + +
Beschreibung:Basisverzeichnis der Serverinstallation
Syntax:ServerRoot Verzeichnis
Voreinstellung:ServerRoot /usr/local/apache
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

Die Direktive ServerRoot bestimmt das + Verzeichnis, in dem der Server installiert ist. Üblicherweise + enthält es die Unterverzeichnisse conf/ und + logs/. Relative Pfadangaben anderer Direktiven (wie z.B. + Include oder LoadModule) werden relativ zu diesem + Verzeichnis betrachtet.

+ +

Beispiel

+ ServerRoot /home/httpd +

+ +

Siehe auch

+ +
+
top
+

ServerSignature-Direktive

+ + + + + + + + +
Beschreibung:Konfiguriert die Fußzeile von servergenerierten +Dokumenten
Syntax:ServerSignature On|Off|EMail
Voreinstellung:ServerSignature Off
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:All
Status:Core
Modul:core
+

Die Direktive ServerSignature ermöglicht + die Gestaltung einer unter servergenerierten Dokumenten (z.B. + Fehlerdokumente, FTP-Verzeichnislisten von mod_proxy, + mod_info-Ausgaben, ...) angefügten + Fußzeile. Ein möglicher Grund für die Aktivierung einer + solchen Fußzeile ist, dass der Anwender bei einer Kette von + Proxy-Servern oft keine Möglichkeit hat, zu erkennen, welcher der + verketteten Server gegenwärtig die zurückgegebene Fehlermeldung + produziert hat.

+ +

Die (Vor-)Einstellung Off unterdrückt die + Fußzeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und + früher). Die Einstellung On fügt schlicht eine + Zeile mit der Versionsnummer des Servers und dem Servernamen (ServerName) des bedienenden virtuellen Hosts an. + Die Einstellung EMail erstellt zusätzlich einen + "mailto:"-Verweis zum Serveradministrator (ServerAdmin) des referenzierten Dokuments.

+ +

Ab Version 2.0.44 werden die Details der angegebenen Versionsnummer des + Servers von der Direktive ServerTokens kontrolliert.

+ +

Siehe auch

+ +
+
top
+

ServerTokens-Direktive

+ + + + + + + +
Beschreibung:Konfiguriert den HTTP-Response-Header +Server
Syntax:ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
Voreinstellung:ServerTokens Full
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

die Direktive steuert, ob der Response-Header Server, + der an den Client zurückgesendet wird, eine Beschreibung des + allgemeinen Betriesbsystemtyps des Servers wie auch Informationen + über einkompilierte Module enthält.

+ +
+
ServerTokens Prod[uctOnly]
+ +
Der Server sendet (z.B.): Server: + Apache
+ +
ServerTokens Major
+ +
Der Server sendet (z.B.): Server: + Apache/2
+ +
ServerTokens Minor
+ +
Der Server sendet (z.B.): Server: + Apache/2.0
+ +
ServerTokens Min[imal]
+ +
Der Server sendet (z.B.): Server: + Apache/2.0.41
+ +
ServerTokens OS
+ +
Der Server sendet (z.B.): Server: Apache/2.0.41 + (Unix)
+ +
ServerTokens Full (oder nicht angegeben)
+ +
Der Server sendet (z.B.): Server: Apache/2.0.41 + (Unix) PHP/4.2.2 MyMod/1.2
+
+ +

Diese Einstellung gilt für den gesamten Server und kann nicht + auf Virtual-Host-Basis aktiviert oder deaktiviert werden.

+ +

Ab Version 2.0.44 steuert diese Direktive auch die Informationen, die + durch die Direktive ServerSignature + angeboten werden.

+ +

Siehe auch

+ +
+
top
+

SetHandler-Direktive

+ + + + + + + + +
Beschreibung:Erzwingt die Verarbeitung aller passenden Dateien durch +einen Handler
Syntax:SetHandler Handlername|None
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
Kompatibilität:Seit Apache 2.0 im Core
+

Wenn die Direktive innerhalb einer .htaccess-Datei + oder in einem <Directory>- oder + <Location>-Abschnitt + angegeben wird, erzwingt sie, dass alle entsprechenden Dateien von dem + durch Handlername angegebenen Handler analysiert werden. Wenn Sie + beispielsweise ein Verzeichnis haben, dessen Dateien unabhängig von + der Endung gänzlich als Image-Maps interpretiert werden sollen, + können Sie folgendes in eine .htaccess-Datei in + dem Verzeichnis schreiben:

+ +

+ SetHandler imap-file +

+ +

Noch ein Beispiel: wenn Sie den Server immer, wenn die URL + http://servername/status aufgerufen wird, einen + Statusbericht anzeigen lassen möchten, dann können + Sie folgendes in die httpd.conf schreiben:

+ +

+ <Location /status>
+ + SetHandler server-status
+
+ </Location> +

+

Sie können eine zuvor definierte + SetHandler-Anweisung aufheben, indem Sie den Wert + None verwenden.

+

Hinweis: SetHandler setzt die Standard-Handler + außer Kraft und unterdrückt gewohnte Verhaltensweisen, wie + beispielsweise die Behandlung von URLs, die auf einen Schrägstrich + (/) enden als Verzeichnisse oder (die Auslieferung von) Index-Dateien.

+ +

Siehe auch

+ +
+
top
+

SetInputFilter-Direktive

+ + + + + + + +
Beschreibung:Bestimmt die Filter, die Client-Anfragen und POST-Eingaben +verarbeiten
Syntax:SetInputFilter Filter[;Filter...]
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
+

Die Direktive SetInputFilter bestimmt den oder + die Filter, die Client-Anfragen und POST-Eingaben verarbeiten, wenn + sie vom Server empfangen werden. Diese gelten zusätzlich zu + anderweitig definierten Filtern, einschließlich denen der Direktive + AddInputFilter.

+ +

Wenn mehr als ein Filter angegeben wird, dann müssen diese + durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, + in der sie die Daten verarbeiten sollen.

+ +

Siehe auch

+ +
+
top
+

SetOutputFilter-Direktive

+ + + + + + + +
Beschreibung:Bestimmt die Filter, die Antworten des Servers verarbeiten
Syntax:SetOutputFilter Filter[;Filter...]
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Core
Modul:core
+

Die Direktive SetOutputFilter bestimmt + die Filter, die Antworten des Servers verarbeiten, bevor sie an den + Client gesendet werden. Diese gelten zusätzlich zu anderweitig + definierten Filtern, einschließlich denen der Direktive + AddOutputFilter.

+ +

Die folgende Konfiguration verarbeitet zum Beispiel alle Dateien + im Verzeichnis /www/data als Server Side Includes.

+ +

+ <Directory /www/data/>
+ + SetOutputFilter INCLUDES
+
+ </Directory> +

+ +

Wenn mehr als ein Filter angegeben wird, dann müssen diese + durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, + in der sie die Daten verarbeiten sollen.

+ +

Siehe auch

+ +
+
top
+

StrictHostCheck-Direktive

+ + + + + + + + +
Beschreibung:Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Syntax:StrictHostCheck ON|OFF
Voreinstellung:StrictHostCheck OFF
Kontext:Serverkonfiguration, Virtual Host
Status:Core
Modul:core
Kompatibilität:Added in 2.4.49

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

TimeOut-Direktive

+ + + + + + + +
Beschreibung:Zeitspanne, die der Server auf verschiedene Ereignisse wartet, +bevor er die Anfrage abbricht
Syntax:TimeOut Sekunden
Voreinstellung:TimeOut 60
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

Die Direktive TimeOut definiert derzeit die + Zeitspanne, die der Apache auf drei Dinge wartet:

+ +
    +
  1. Die gesamte Zeispanne, die benötigt wird, um eine GET-Anfrage + zu empfangen.
  2. + +
  3. Die Zeitspanne zwischen dem Empfang von TCP-Paketen einer + POST- oder PUT-Anfrage.
  4. + +
  5. Die Zeitspanne zwischen ACKs bei der Übermittlung der + TCP-Pakete der Antwort.
  6. +
+ +

Wir haben vor, diese Zeitspannen in Zukunft separat konfigurierbar zu + machen. Vor Version 1.2 war der Zeitgeber auf 1200 voreingestellt, wurde + dann aber auf 300 herabgesetzt, was immer noch weit mehr ist, als in den + meisten Situationen benötigt wird. Die Voreinstellung wurde nicht + weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren + können, wo der Zeitgeber nicht zurückgesetzt wird, wenn ein + Paket verschickt wird. Seit Apache 2.4 ist die Voreinstellung 60.

+ +
+
top
+

TraceEnable-Direktive

+ + + + + + + + +
Beschreibung:Legt das Verhalten von TRACE-Anfragen fest
Syntax:TraceEnable [on|off|extended]
Voreinstellung:TraceEnable on
Kontext:Serverkonfiguration
Status:Core
Modul:core
Kompatibilität:Verfügbar ab Apache 1.3.34 und 2.0.55
+

Diese Direktive beeinflusst das Verhalten von TRACE sowohl + für den Server selbst als auch mod_proxy. Die + Voreinstellung TraceEnable on erlaubt + TRACE-Anfragen gemäß RFC 2616. Dort werden + nur Anfragen ohne Datenteil zugelassen. TraceEnable off + sorgt dafür, dass der Serverkern und mod_proxy den + Fehler 405 (Zugriffsmethode nicht erlaubt) an den Client + senden.

+ +

Zu Test- und Diagnosezwecken können Sie auch + nicht-standardkonforme Anfragen mit Datenteil erlauben, indem Sie die + Direktive TraceEnable extended verwenden. Der Server (als + Ursprungsserver) beschränkt den Anfrageinhalt auf 64k. (Wenn + Transfer-Encoding: chunked benutzt wird, können + weitere 8k für die Chunk-Kopfzeilen verwendet werden.) Der + Server selbst reflektiert dann die vollständigen HTTP- und + Chunk-Kopfzeilen in seiner Antwort. Die Einschränkung auf 64k gilt + nicht, wenn der Server als Proxy arbeitet.

+ +
+
top
+

UnDefine-Direktive

+ + + + + + +
Beschreibung:Undefine the existence of a variable
Syntax:UnDefine parameter-name
Kontext:Serverkonfiguration
Status:Core
Modul:core

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

Siehe auch

+ +
+
top
+

UseCanonicalName-Direktive

+ + + + + + + +
Beschreibung:Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt
Syntax:UseCanonicalName On|Off|DNS
Voreinstellung:UseCanonicalName Off
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
+

In vielen Situationen muss der Apache eine + selbstreferenzierende URL -- d.h. eine URL, die auf den selben + Server zurück verweist -- zusammenbauen. Bei UseCanonicalName + On verwendet der Apache den Hostnamen und Port, der in der + ServerName-Anweisung angegeben ist, + um den kanonischen Namen des Servers zu erstellen. Dieser Name wird in + allen selbstreferenzierenden URLs sowie in CGI-Skripten für die + Werte von SERVER_NAME und SERVER_PORT + verwendet.

+ +

Bei UseCanonicalName Off bildet der Apache + selbstreferenzierende URLs, indem er den vom Client übermittelten + Hostnamen und Port verwendet, sofern diese vorhanden sind (andernfalls + wird der kanonische Name, wie oben beschrieben, benutzt). Die Werte + sind die gleichen, die zur Anwendung von namensbasierten virtuellen Hosts + verwendet werden, und sie sind mit den gleichen Clients verfügbar + (Anm.d.Ü.: , die auch in der Lage sind, auf namensbasierte virtuelle Hosts + zuzugreifen, d.h. einen Host-Header mitschicken). + Die CGI-Variablen SERVER_NAME und SERVER_PORT + werden ebenfalls aus den vom Client angeboten Werten erstellt.

+ +

Ein Intranet-Server, auf den Anwender mit kurzen Namen wie + www zugreifen, ist ein Beispiel, wo dies sinnvoll sein kann. + Sie werden bemerken, dass der Apache den Benutzer auf + http://www.domain.com/splat/ umleitet, wenn dieser einen + Kurznamen und eine URL, die einem Verzeichnis entspricht, ohne + abschließenden Schrägstrich eingibt, wie z.B. + http://www/splat. Wenn Sie Authentisierung aktiviert haben, + bewirkt dies, dass der Benutzer sich zweimal identifizieren muss + (einmal für www und noch einmal für + www.domain.com -- lesen Sie für weitere Informationen die + FAQ zu diesem Thema). Wenn UseCanonicalName + jedoch auf Off gesetzt ist, denn wird der Apache zu + http://www/splat/ umleiten.

+ +

Es existiert noch eine dritte Option, UseCanonicalName DNS, + die für den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist, + um antiquierte Clients zu unterstützen, die keinen + Host:-Header bereit stellen. Um selbstreferenzierende + URLs zu ermitteln, führt der Apache bei dieser Option ein + Reverse-DNS-Lookup auf die IP-Adresse des Servers aus, zu der der Client + Verbindung aufgenommen hat.

+ +

Warnung

+

Wenn CGI-Skripte Vermutungen aufgrund des Wertes von + SERVER_NAME anstellen, können sie durch diese + Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert + für den Hostnamen anzugeben, wie er will. Wenn das + CGI-Skript SERVER_NAME jedoch lediglich dazu verwendet, + selbstreferenzierende URLs zu erstellen, sollte das gerade noch + in Ordnung sein.

+
+ +

Siehe auch

+ +
+
top
+

UseCanonicalPhysicalPort-Direktive

+ + + + + + + +
Beschreibung:Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt
Syntax:UseCanonicalPhysicalPort On|Off
Voreinstellung:UseCanonicalPhysicalPort Off
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Core
Modul:core
+

In vielen Situationen muss der Apache eine + selbstreferenzierende URL zusammenbauen, d.h. eine URL, die auf + den selben Server zurück verweist. Wenn der Apache für die + UseCanonicalName-Direktive den Port + bestimmt, wird mit UseCanonicalPhysicalPort On die + tatsächlich für die Anfrage verwendete physische Portnummer + in Betracht gezogen. Mit UseCanonicalPhysicalPort Off + verläßt sich der Apache nur auf die Konfiguration, um eine + gültige Portnummer zu bestimmen und läßt die + physische Portnummer außer acht.

+ +

Hinweis

+

Wenn der physische Port verwendet wird, ist die Reihenfolge wie + folgt:

+ UseCanonicalName On

+
    +
  • Der in Servername angegebene Port
  • +
  • Der physische Port
  • +
  • Der Standardport
  • +
+ UseCanonicalName Off | DNS +
    +
  • Der Port, der aus dem Host:-Header gewonnen wurde
  • +
  • Der physische Port
  • +
  • Der in Servername angegebene Port
  • +
  • Der Standardport
  • +
+ +

Bei UseCanonicalPhysicalPort Off werden die physischen + Ports aus der Suchreihe entfernt.

+
+ + +

Siehe auch

+ +
+
top
+

<VirtualHost>-Direktive

+ + + + + + +
Beschreibung:Enthält Direktiven, die nur auf bestimmte Hostnamen oder +IP-Adressen angewendet werden
Syntax:<VirtualHost + Adresse[:Port] [Adresse[:Port]] + ...> ... </VirtualHost>
Kontext:Serverkonfiguration
Status:Core
Modul:core
+

<VirtualHost> und + </VirtualHost> werden dazu verwendet, eine Gruppe + von Direktiven zusammenzufassen, die nur auf einen bestimmten virtuellen + Host angewendet werden. Jede Direktive, die im Virtual-Host-Kontext + zulässig ist, kann verwendet werden. Wenn der Server eine Anfrage + für ein bestimmtes Dokument eines bestimmten virtuellen Hosts + empfängt, dann benutzt er die im + <VirtualHost>-Container enthaltenen + Konfigurationsanweisungen. Adresse kann sein:

+ +
    +
  • Die IP-Adresse des virtuellen Hosts.
  • + +
  • Ein voll qualifizierter Domainname für die IP-Adresse des + virtuellen Hosts.
  • + +
  • Das Zeichen *, welches nur in Kombination mit + NameVirtualHost * verwendet wird, um allen IP-Adressen + zu entsprechen.
  • + +
  • Die Zeichenkette _default_, die nur mit IP-basierten + virtuellen Hosts verwendet wird, um nicht zugewiesene IP-Adressen + aufzufangen.
  • +
+ +

Beispiel

+ <VirtualHost 10.1.2.3>
+ + ServerAdmin webmaster@host.foo.com
+ DocumentRoot /www/docs/host.foo.com
+ ServerName host.foo.com
+ ErrorLog logs/host.foo.com-error_log
+ TransferLog logs/host.foo.com-access_log
+
+ </VirtualHost> +

+ +

IPv6-Adressen müssen in eckigen Klammern angegeben werden, da die + optionale Portnummer sonst nicht erkannt werden kann. Hier ein + IPv6-Beispiel:

+ +

+ <VirtualHost [2001:db8::a00:20ff:fea7:ccea]>
+ + ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+
+ </VirtualHost> +

+ +

Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port + oder einem anderen Hostnamen für den Server entsprechen. Im ersten + Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete + für mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere + Netzwerkkarten besitzt, kann dies mit dem Befehl ifconfig + alias durchgeführt werden -- sofern Ihr Betriebssystem das + unterstützt).

+ +

Anmerkung

+

Die Verwendung von <VirtualHost> + beeinflusst nicht, an welchen Adressen der Apache + lauscht. Sie müssen mit Listen sicherstellen, dass der Apache + an der richtigen Adresse lauscht.

+
+ +

Bei der Verwendung IP-basierter virtuellen Hosts kann der spezielle + Name _default_ benutzt werden. In diesem Fall weist + der Apache jede IP-Adresse diesem virtuellen Host zu, die nicht explizit in + einem anderen virtuellen Host angegeben ist. Falls kein virtueller Host + _default_ angegeben ist, wird die "Hauptserver"-Konfiguration, + die aus allen Definitionen außerhalb der Virtual-Host-Abschnitte + besteht, für nicht passende IPs verwendet. (Beachten Sie jedoch, + dass eine IP-Adressen die zu einer NameVirtualHost-Anweisung passt, weder den + "Hauptserver" noch den virtuellen Host _default_ verwendet. + Lesen Sie für weitere Details die Dokumentation zu namensbasierten virtuell Hosts.)

+ +

Sie können einen speziellen :Port angeben, + um den entsprechenden Port zu wechseln. Falls nicht angegeben, wird + er auf den gleichen Port voreingestellt, wie die letzte + Listen-Anweisung des + Hauptservers. Sie können auch :* angeben, um alle + Ports dieser Adresse zu akzeptieren. (Dies wird zusammen mit + _default_ empfohlen.)

+ +

Sicherheit

+

Lesen Sie das Dokument Sicherheitshinweise für + Details, warum Ihre Sicherheit gefährdet sein kann, wenn das + Verzeichnis, in dem Protokolldateien gespeichert werden, für + jemanden anderes als den Benutzer beschreibbar ist, der den Server + gestartet hat.

+
+ +

Siehe auch

+ +
+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/core.html.en b/docs/manual/mod/core.html.en new file mode 100644 index 0000000..457edbf --- /dev/null +++ b/docs/manual/mod/core.html.en @@ -0,0 +1,5288 @@ + + + + + +core - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Core Features

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
+ +
Description:Core Apache HTTP Server features that are always +available
Status:Core
+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

AcceptFilter Directive

+ + + + + + +
Description:Configures optimizations for a Protocol's Listener Sockets
Syntax:AcceptFilter protocol accept_filter
Context:server config
Status:Core
Module:core
+

This directive enables operating system specific optimizations for a + listening socket by the Protocol type. + The basic premise is for the kernel to not send a socket to the server + process until either data is received or an entire HTTP Request is buffered. + Only + FreeBSD's Accept Filters, Linux's more primitive + TCP_DEFER_ACCEPT, and Windows' optimized AcceptEx() + are currently supported.

+ +

Using none for an argument will disable any accept filters + for that protocol. This is useful for protocols that require a server + send data first, such as ftp: or nntp:

+
AcceptFilter nntp none
+ + +

The default protocol names are https for port 443 + and http for all other ports. To specify that another + protocol is being used with a listening port, add the protocol + argument to the Listen + directive.

+ +

The default values on FreeBSD are:

+
AcceptFilter http httpready
+AcceptFilter https dataready
+ + +

The httpready accept filter buffers entire HTTP requests at + the kernel level. Once an entire request is received, the kernel then + sends it to the server. See the + + accf_http(9) man page for more details. Since HTTPS requests are + encrypted, only the + accf_data(9) filter is used.

+ +

The default values on Linux are:

+
AcceptFilter http data
+AcceptFilter https data
+ + +

Linux's TCP_DEFER_ACCEPT does not support buffering http + requests. Any value besides none will enable + TCP_DEFER_ACCEPT on that listener. For more details + see the Linux + + tcp(7) man page.

+ +

The default values on Windows are:

+
AcceptFilter http connect
+AcceptFilter https connect
+ + +

Window's mpm_winnt interprets the AcceptFilter to toggle the AcceptEx() + API, and does not support http protocol buffering. connect + will use the AcceptEx() API, also retrieve the network endpoint + addresses, but like none the connect option + does not wait for the initial data transmission.

+ +

On Windows, none uses accept() rather than AcceptEx() + and will not recycle sockets between connections. This is useful for + network adapters with broken driver support, as well as some virtual + network providers such as vpn drivers, or spam, virus or spyware + filters.

+ +
+

The data AcceptFilter (Windows)

+ +

For versions 2.4.23 and prior, the Windows data accept + filter waited until data had been transmitted and the initial data + buffer and network endpoint addresses had been retrieved from the + single AcceptEx() invocation. This implementation was subject to a + denial of service attack and has been disabled.

+ +

Current releases of httpd default to the connect filter + on Windows, and will fall back to connect if + data is specified. Users of prior releases are encouraged + to add an explicit setting of connect for their + AcceptFilter, as shown above.

+
+ + +

See also

+ +
+
top
+

AcceptPathInfo Directive

+ + + + + + + + +
Description:Resources accept trailing pathname information
Syntax:AcceptPathInfo On|Off|Default
Default:AcceptPathInfo Default
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
+ +

This directive controls whether requests that contain trailing + pathname information that follows an actual filename (or + non-existent file in an existing directory) will be accepted or + rejected. The trailing pathname information can be made + available to scripts in the PATH_INFO environment + variable.

+ +

For example, assume the location /test/ points to + a directory that contains only the single file + here.html. Then requests for + /test/here.html/more and + /test/nothere.html/more both collect + /more as PATH_INFO.

+ +

The three possible arguments for the + AcceptPathInfo directive are:

+
+
Off
A request will only be accepted if it + maps to a literal path that exists. Therefore a request with + trailing pathname information after the true filename such as + /test/here.html/more in the above example will return + a 404 NOT FOUND error.
+ +
On
A request will be accepted if a + leading path component maps to a file that exists. The above + example /test/here.html/more will be accepted if + /test/here.html maps to a valid file.
+ +
Default
The treatment of requests with + trailing pathname information is determined by the handler responsible for the request. + The core handler for normal files defaults to rejecting + PATH_INFO requests. Handlers that serve scripts, such as cgi-script and isapi-handler, generally accept + PATH_INFO by default.
+
+ +

The primary purpose of the AcceptPathInfo + directive is to allow you to override the handler's choice of + accepting or rejecting PATH_INFO. This override is required, + for example, when you use a filter, such + as INCLUDES, to generate content + based on PATH_INFO. The core handler would usually reject + the request, so you can use the following configuration to enable + such a script:

+ +
<Files "mypaths.shtml">
+  Options +Includes
+  SetOutputFilter INCLUDES
+  AcceptPathInfo On
+</Files>
+ + + +
+
top
+

AccessFileName Directive

+ + + + + + + +
Description:Name of the distributed configuration file
Syntax:AccessFileName filename [filename] ...
Default:AccessFileName .htaccess
Context:server config, virtual host
Status:Core
Module:core
+

While processing a request, the server looks for + the first existing configuration file from this list of names in + every directory of the path to the document, if distributed + configuration files are enabled for that + directory. For example:

+ +
AccessFileName .acl
+ + +

Before returning the document + /usr/local/web/index.html, the server will read + /.acl, /usr/.acl, + /usr/local/.acl and /usr/local/web/.acl + for directives unless they have been disabled with:

+ +
<Directory "/">
+    AllowOverride None
+</Directory>
+ + +

See also

+ +
+
top
+

AddDefaultCharset Directive

+ + + + + + + + +
Description:Default charset parameter to be added when a response +content-type is text/plain or text/html
Syntax:AddDefaultCharset On|Off|charset
Default:AddDefaultCharset Off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
+

This directive specifies a default value for the media type + charset parameter (the name of a character encoding) to be added + to a response if and only if the response's content-type is either + text/plain or text/html. This should override + any charset specified in the body of the response via a META + element, though the exact behavior is often dependent on the user's client + configuration. A setting of AddDefaultCharset Off + disables this functionality. AddDefaultCharset On enables + a default charset of iso-8859-1. Any other value is assumed + to be the charset to be used, which should be one of the + IANA registered + charset values for use in Internet media types (MIME types). + For example:

+ +
AddDefaultCharset utf-8
+ + +

AddDefaultCharset should only be used when all + of the text resources to which it applies are known to be in that + character encoding and it is too inconvenient to label their charset + individually. One such example is to add the charset parameter + to resources containing generated content, such as legacy CGI + scripts, that might be vulnerable to cross-site scripting attacks + due to user-provided data being included in the output. Note, however, + that a better solution is to just fix (or delete) those scripts, since + setting a default charset does not protect users that have enabled + the "auto-detect character encoding" feature on their browser.

+ +

See also

+ +
+
top
+

AllowEncodedSlashes Directive

+ + + + + + + + +
Description:Determines whether encoded path separators in URLs are allowed to +be passed through
Syntax:AllowEncodedSlashes On|Off|NoDecode
Default:AllowEncodedSlashes Off
Context:server config, virtual host
Status:Core
Module:core
Compatibility: +NoDecode option available in 2.3.12 and later.
+

The AllowEncodedSlashes directive allows URLs + which contain encoded path separators (%2F for / + and additionally %5C for \ on accordant systems) + to be used in the path info.

+ +

With the default value, Off, such URLs are refused + with a 404 (Not found) error.

+ +

With the value On, such URLs are accepted, and encoded + slashes are decoded like all other encoded characters.

+ +

With the value NoDecode, such URLs are accepted, but + encoded slashes are not decoded but left in their encoded state.

+ +

Turning AllowEncodedSlashes On is + mostly useful when used in conjunction with PATH_INFO.

+ +

Note

+

If encoded slashes are needed in path info, use of NoDecode is + strongly recommended as a security measure. Allowing slashes + to be decoded could potentially allow unsafe paths.

+
+ +

See also

+ +
+
top
+

AllowOverride Directive

+ + + + + + + +
Description:Types of directives that are allowed in +.htaccess files
Syntax:AllowOverride All|None|directive-type +[directive-type] ...
Default:AllowOverride None (2.3.9 and later), AllowOverride All (2.3.8 and earlier)
Context:directory
Status:Core
Module:core
+

When the server finds an .htaccess file (as + specified by AccessFileName), + it needs to know which directives declared in that file can override + earlier configuration directives.

+ +

Only available in <Directory> sections

+ AllowOverride is valid only in + <Directory> + sections specified without regular expressions, not in <Location>, <DirectoryMatch> or + <Files> sections. +
+ +

When this directive is set to None and AllowOverrideList is set to + None, .htaccess files are + completely ignored. In this case, the server will not even attempt + to read .htaccess files in the filesystem.

+ +

When this directive is set to All, then any + directive which has the .htaccess Context is allowed in + .htaccess files.

+ +

The directive-type can be one of the following + groupings of directives. (See the override class + index for an up-to-date listing of which directives are enabled by each + directive-type.)

+ +
+
AuthConfig
+ +
+ + Allow use of the authorization directives (AuthDBMGroupFile, + AuthDBMUserFile, + AuthGroupFile, + AuthName, + AuthType, AuthUserFile, Require, etc.).
+ +
FileInfo
+ +
+ Allow use of the directives controlling document types + (ErrorDocument, + ForceType, + LanguagePriority, + SetHandler, + SetInputFilter, + SetOutputFilter, and + mod_mime Add* and Remove* directives), + document meta data (Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName), + mod_rewrite directives (RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule), + mod_alias directives (Redirect, RedirectTemp, RedirectPermanent, RedirectMatch), and + Action from + mod_actions. +
+ +
Indexes
+ +
+ Allow use of the directives controlling directory indexing + (AddDescription, + AddIcon, AddIconByEncoding, + AddIconByType, + DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, + etc.).
+ +
Limit
+ +
+ Allow use of the directives controlling host access (Allow, Deny and Order).
+ +
Nonfatal=[Override|Unknown|All]
+ +
+ Allow use of AllowOverride option to treat syntax errors in + .htaccess as nonfatal. Instead of causing an Internal Server + Error, disallowed or unrecognised directives will be ignored + and a warning logged: +
    +
  • Nonfatal=Override treats directives + forbidden by AllowOverride as nonfatal.
  • +
  • Nonfatal=Unknown treats unknown directives + as nonfatal. This covers typos and directives implemented + by a module that's not present.
  • +
  • Nonfatal=All treats both the above as nonfatal.
  • +
+

Note that a syntax error in a valid directive will still cause + an internal server error.

+

Security

+ Nonfatal errors may have security implications for .htaccess users. + For example, if AllowOverride disallows AuthConfig, users' + configuration designed to restrict access to a site will be disabled. +
+
+ +
Options[=Option,...]
+ +
+ Allow use of the directives controlling specific directory + features (Options and + XBitHack). + An equal sign may be given followed by a comma-separated list, without + spaces, of options that may be set using the Options command. + +

Implicit disabling of Options

+

Even though the list of options that may be used in .htaccess files + can be limited with this directive, as long as any Options directive is allowed any + other inherited option can be disabled by using the non-relative + syntax. In other words, this mechanism cannot force a specific option + to remain set while allowing any others to be set. +

+ +

+ AllowOverride Options=Indexes,MultiViews +

+
+
+ +

Example:

+ +
AllowOverride AuthConfig Indexes
+ + +

In the example above, all directives that are neither in the group + AuthConfig nor Indexes cause an internal + server error.

+ +

For security and performance reasons, do not set + AllowOverride to anything other than None + in your <Directory "/"> block. Instead, find (or + create) the <Directory> block that refers to the + directory where you're actually planning to place a + .htaccess file.

+
+ +

See also

+ +
+
top
+

AllowOverrideList Directive

+ + + + + + + +
Description:Individual directives that are allowed in +.htaccess files
Syntax:AllowOverrideList None|directive +[directive-type] ...
Default:AllowOverrideList None
Context:directory
Status:Core
Module:core
+

When the server finds an .htaccess file (as + specified by AccessFileName), + it needs to know which directives declared in that file can override + earlier configuration directives.

+ +

Only available in <Directory> sections

+ AllowOverrideList is valid only in + <Directory> + sections specified without regular expressions, not in <Location>, <DirectoryMatch> or + <Files> sections. +
+ +

When this directive is set to None and AllowOverride is set to None, + then .htaccess files are completely + ignored. In this case, the server will not even attempt to read + .htaccess files in the filesystem.

+ +

Example:

+ +
AllowOverride None
+AllowOverrideList Redirect RedirectMatch
+ + +

In the example above, only the Redirect and + RedirectMatch directives are allowed. All others will + cause an internal server error.

+ +

Example:

+ +
AllowOverride AuthConfig
+AllowOverrideList CookieTracking CookieName
+ + +

In the example above, AllowOverride + grants permission to the AuthConfig + directive grouping and AllowOverrideList grants + permission to only two directives from the FileInfo directive + grouping. All others will cause an internal server error.

+ +

See also

+ +
+
top
+

CGIMapExtension Directive

+ + + + + + + + +
Description:Technique for locating the interpreter for CGI +scripts
Syntax:CGIMapExtension cgi-path .extension
Context:directory, .htaccess
Override:FileInfo
Status:Core
Module:core
Compatibility:NetWare only
+

This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. For example, setting + CGIMapExtension sys:\foo.nlm .foo will + cause all CGI script files with a .foo extension to + be passed to the FOO interpreter.

+ +
+
top
+

CGIPassAuth Directive

+ + + + + + + + + +
Description:Enables passing HTTP authorization headers to scripts as CGI +variables
Syntax:CGIPassAuth On|Off
Default:CGIPassAuth Off
Context:directory, .htaccess
Override:AuthConfig
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.4.13 and later
+

CGIPassAuth allows scripts access to HTTP + authorization headers such as Authorization, which is + required for scripts that implement HTTP Basic authentication. + Normally these HTTP headers are hidden from scripts. This is to disallow + scripts from seeing user ids and passwords used to access the server when + HTTP Basic authentication is enabled in the web server. This directive + should be used when scripts are allowed to implement HTTP Basic + authentication.

+ +

This directive can be used instead of the compile-time setting + SECURITY_HOLE_PASS_AUTHORIZATION which has been available + in previous versions of Apache HTTP Server.

+ +

The setting is respected by any modules which use + ap_add_common_vars(), such as mod_cgi, + mod_cgid, mod_proxy_fcgi, + mod_proxy_scgi, and so on. Notably, it affects + modules which don't handle the request in the usual sense but + still use this API; examples of this are mod_include + and mod_ext_filter. Third-party modules that don't + use ap_add_common_vars() may choose to respect the setting + as well.

+ +
+
top
+

CGIVar Directive

+ + + + + + + + +
Description:Controls how some CGI variables are set
Syntax:CGIVar variable rule
Context:directory, .htaccess
Override:FileInfo
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.4.21 and later
+

This directive controls how some CGI variables are set.

+ +

REQUEST_URI rules:

+
+
original-uri (default)
+
The value is taken from the original request line, and will not + reflect internal redirects or subrequests which change the requested + resource.
+
current-uri
+
The value reflects the resource currently being processed, + which may be different than the original request from the client + due to internal redirects or subrequests.
+
+ +
+
top
+

ContentDigest Directive

+ + + + + + + + +
Description:Enables the generation of Content-MD5 HTTP Response +headers
Syntax:ContentDigest On|Off
Default:ContentDigest Off
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Core
Module:core
+

This directive enables the generation of + Content-MD5 headers as defined in RFC1864 + respectively RFC2616.

+ +

MD5 is an algorithm for computing a "message digest" + (sometimes called "fingerprint") of arbitrary-length data, with + a high degree of confidence that any alterations in the data + will be reflected in alterations in the message digest.

+ +

The Content-MD5 header provides an end-to-end + message integrity check (MIC) of the entity-body. A proxy or + client may check this header for detecting accidental + modification of the entity-body in transit. Example header:

+ +

+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +

+ +

Note that this can cause performance problems on your server + since the message digest is computed on every request (the + values are not cached).

+ +

Content-MD5 is only sent for documents served + by the core, and not by any module. For example, + SSI documents, output from CGI scripts, and byte range responses + do not have this header.

+ +
+
top
+

DefaultRuntimeDir Directive

+ + + + + + + + +
Description:Base directory for the server run-time files
Syntax:DefaultRuntimeDir directory-path
Default:DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)
Context:server config
Status:Core
Module:core
Compatibility:Available in Apache 2.4.2 and later
+

The DefaultRuntimeDir directive sets the + directory in which the server will create various run-time files + (shared memory, locks, etc.). If set as a relative path, the full path + will be relative to ServerRoot.

+ +

Example

+
DefaultRuntimeDir scratch/
+ + +

The default location of DefaultRuntimeDir may be + modified by changing the DEFAULT_REL_RUNTIMEDIR #define + at build time.

+ +

Note: ServerRoot should be specified before this + directive is used. Otherwise, the default value of ServerRoot + would be used to set the base directory.

+ + +

See also

+ +
+
top
+

DefaultType Directive

+ + + + + + + + + +
Description:This directive has no effect other than to emit warnings +if the value is not none. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +
Syntax:DefaultType media-type|none
Default:DefaultType none
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
Compatibility:The argument none is available in Apache httpd 2.2.7 and later. All other choices are DISABLED for 2.3.x and later.
+

This directive has been disabled. For backwards compatibility + of configuration files, it may be specified with the value + none, meaning no default media type. For example:

+ +
DefaultType None
+ + +

DefaultType None is only available in + httpd-2.2.7 and later.

+ +

Use the mime.types configuration file and the + AddType to configure media + type assignments via file extensions, or the + ForceType directive to configure + the media type for specific resources. Otherwise, the server will + send the response without a Content-Type header field and the + recipient may attempt to guess the media type.

+ +
+
top
+

Define Directive

+ + + + + + +
Description:Define a variable
Syntax:Define parameter-name [parameter-value]
Context:server config, virtual host, directory
Status:Core
Module:core
+

In its one parameter form, Define is + equivalent to passing the -D argument to + httpd. It can be used to toggle the use of + <IfDefine> + sections without needing to alter -D arguments in any + startup scripts.

+ +

In addition to that, if the second parameter is given, a config variable + is set to this value. The variable can be used in the configuration using + the ${VAR} syntax. The variable is always globally defined + and not limited to the scope of the surrounding config section.

+ +
<IfDefine TEST>
+  Define servername test.example.com
+</IfDefine>
+<IfDefine !TEST>
+  Define servername www.example.com
+  Define SSL
+</IfDefine>
+
+DocumentRoot "/var/www/${servername}/htdocs"
+ + +

Variable names may not contain colon ":" characters, to avoid clashes + with RewriteMap's syntax.

+ +

Virtual Host scope and pitfalls

+

While this directive is supported in virtual host context, + the changes it makes are visible to any later configuration + directives, beyond any enclosing virtual host.

+
+ +

See also

+ +
+
top
+

<Directory> Directive

+ + + + + + +
Description:Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.
Syntax:<Directory directory-path> +... </Directory>
Context:server config, virtual host
Status:Core
Module:core
+

<Directory> and + </Directory> are used to enclose a group of + directives that will apply only to the named directory, + sub-directories of that directory, and the files within the respective + directories. Any directive that is allowed + in a directory context may be used. Directory-path is + either the full path to a directory, or a wild-card string using + Unix shell-style matching. In a wild-card string, ? matches + any single character, and * matches any sequences of + characters. You may also use [] character ranges. None + of the wildcards match a `/' character, so <Directory + "/*/public_html"> will not match + /home/user/public_html, but <Directory + "/home/*/public_html"> will match. Example:

+ +
<Directory "/usr/local/httpd/htdocs">
+  Options Indexes FollowSymLinks
+</Directory>
+ + +

Directory paths may be quoted, if you like, however, it + must be quoted if the path contains spaces. This is because a + space would otherwise indicate the end of an argument.

+ +
+

Be careful with the directory-path arguments: + They have to literally match the filesystem path which Apache httpd uses + to access the files. Directives applied to a particular + <Directory> will not apply to files accessed from + that same directory via a different path, such as via different symbolic + links.

+
+ +

Regular + expressions can also be used, with the addition of the + ~ character. For example:

+ +
<Directory ~ "^/www/[0-9]{3}">
+
+</Directory>
+ + +

would match directories in /www/ that consisted of + three numbers.

+ +

If multiple (non-regular expression) <Directory> sections + match the directory (or one of its parents) containing a document, + then the directives are applied in the order of shortest match + first, interspersed with the directives from the .htaccess files. For example, + with

+ +
<Directory "/">
+  AllowOverride None
+</Directory>
+
+<Directory "/home">
+  AllowOverride FileInfo
+</Directory>
+ + +

for access to the document /home/web/dir/doc.html + the steps are:

+ +
    +
  • Apply directive AllowOverride None + (disabling .htaccess files).
  • + +
  • Apply directive AllowOverride FileInfo (for + directory /home).
  • + +
  • Apply any FileInfo directives in + /home/.htaccess, /home/web/.htaccess and + /home/web/dir/.htaccess in that order.
  • +
+ +

Regular expressions are not considered until after all of the + normal sections have been applied. Then all of the regular + expressions are tested in the order they appeared in the + configuration file. For example, with

+ +
<Directory ~ "abc$">
+  # ... directives here ...
+</Directory>
+ + +

the regular expression section won't be considered until after + all normal <Directory>s and + .htaccess files have been applied. Then the regular + expression will match on /home/abc/public_html/abc and + the corresponding <Directory> will + be applied.

+ +

Note that the default access for + <Directory "/"> is to permit all access. + This means that Apache httpd will serve any file mapped from an URL. It is + recommended that you change this with a block such + as

+ +
<Directory "/">
+  Require all denied
+</Directory>
+ + +

and then override this for directories you + want accessible. See the Security Tips page for more + details.

+ +

The directory sections occur in the httpd.conf file. + <Directory> directives + cannot nest, and cannot appear in a <Limit> or <LimitExcept> section.

+ +

See also

+ +
+
top
+

<DirectoryMatch> Directive

+ + + + + + +
Description:Enclose directives that apply to +the contents of file-system directories matching a regular expression.
Syntax:<DirectoryMatch regex> +... </DirectoryMatch>
Context:server config, virtual host
Status:Core
Module:core
+

<DirectoryMatch> and + </DirectoryMatch> are used to enclose a group + of directives which will apply only to the named directory (and the files within), + the same as <Directory>. + However, it takes as an argument a + regular expression. For example:

+ +
<DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
+    # ...
+</DirectoryMatch>
+ + +

matches directories in /www/ (or any subdirectory thereof) + that consist of three numbers.

+ +

Compatibility

+ Prior to 2.3.9, this directive implicitly applied to sub-directories + (like <Directory>) and + could not match the end of line symbol ($). In 2.3.9 and later, + only directories that match the expression are affected by the enclosed + directives. +
+ +

Trailing Slash

+ This directive applies to requests for directories that may or may + not end in a trailing slash, so expressions that are anchored to the + end of line ($) must be written with care. +
+ +

From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of paths to be referenced + from within expressions and modules like + mod_rewrite. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.

+ +
<DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</DirectoryMatch>
+ + +

See also

+ +
+
top
+

DocumentRoot Directive

+ + + + + + + +
Description:Directory that forms the main document tree visible +from the web
Syntax:DocumentRoot directory-path
Default:DocumentRoot "/usr/local/apache/htdocs"
Context:server config, virtual host
Status:Core
Module:core
+

This directive sets the directory from which httpd + will serve files. Unless matched by a directive like Alias, the server appends the + path from the requested URL to the document root to make the + path to the document. Example:

+ +
DocumentRoot "/usr/web"
+ + +

then an access to + http://my.example.com/index.html refers to + /usr/web/index.html. If the directory-path is + not absolute then it is assumed to be relative to the ServerRoot.

+ +

The DocumentRoot should be specified without + a trailing slash.

+ +

See also

+ +
+
top
+

<Else> Directive

+ + + + + + + + +
Description:Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
Syntax:<Else> ... </Else>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:Nested conditions are evaluated in 2.4.26 and later
+

The <Else> applies the enclosed + directives if and only if the most recent + <If> or + <ElseIf> section + in the same scope has not been applied. + For example: In

+ +
<If "-z req('Host')">
+  # ...
+</If>
+<Else>
+  # ...
+</Else>
+ + +

The <If> would match HTTP/1.0 + requests without a Host: header and the + <Else> would match requests + with a Host: header.

+ + +

See also

+ +
+
top
+

<ElseIf> Directive

+ + + + + + + + +
Description:Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
Syntax:<ElseIf expression> ... </ElseIf>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:Nested conditions are evaluated in 2.4.26 and later
+

The <ElseIf> applies the enclosed + directives if and only if both the given condition evaluates to true and + the most recent <If> or + <ElseIf> section in the same scope has + not been applied. For example: In

+ +
<If "-R '10.1.0.0/16'">
+  #...
+</If>
+<ElseIf "-R '10.0.0.0/8'">
+  #...
+</ElseIf>
+<Else>
+  #...
+</Else>
+ + +

The <ElseIf> would match if + the remote address of a request belongs to the subnet 10.0.0.0/8 but + not to the subnet 10.1.0.0/16.

+ + +

See also

+ +
+
top
+

EnableMMAP Directive

+ + + + + + + + +
Description:Use memory-mapping to read files during delivery
Syntax:EnableMMAP On|Off
Default:EnableMMAP On
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
+

This directive controls whether the httpd may use + memory-mapping if it needs to read the contents of a file during + delivery. By default, when the handling of a request requires + access to the data within a file -- for example, when delivering a + server-parsed file using mod_include -- Apache httpd + memory-maps the file if the OS supports it.

+ +

This memory-mapping sometimes yields a performance improvement. + But in some environments, it is better to disable the memory-mapping + to prevent operational problems:

+ +
    +
  • On some multiprocessor systems, memory-mapping can reduce the + performance of the httpd.
  • +
  • Deleting or truncating a file while httpd + has it memory-mapped can cause httpd to + crash with a segmentation fault. +
  • +
+ +

For server configurations that are vulnerable to these problems, + you should disable memory-mapping of delivered files by specifying:

+ +
EnableMMAP Off
+ + +

For NFS mounted files, this feature may be disabled explicitly for + the offending files by specifying:

+ +
<Directory "/path-to-nfs-files">
+  EnableMMAP Off
+</Directory>
+ + +
+
top
+

EnableSendfile Directive

+ + + + + + + + + +
Description:Use the kernel sendfile support to deliver files to the client
Syntax:EnableSendfile On|Off
Default:EnableSendfile Off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
Compatibility:Default changed to Off in +version 2.3.9.
+

This directive controls whether httpd may use the + sendfile support from the kernel to transmit file contents to the client. + By default, when the handling of a request requires no access + to the data within a file -- for example, when delivering a + static file -- Apache httpd uses sendfile to deliver the file contents + without ever reading the file if the OS supports it.

+ +

This sendfile mechanism avoids separate read and send operations, + and buffer allocations. But on some platforms or within some + filesystems, it is better to disable this feature to avoid + operational problems:

+ +
    +
  • Some platforms may have broken sendfile support that the build + system did not detect, especially if the binaries were built on + another box and moved to such a machine with broken sendfile + support.
  • +
  • On Linux the use of sendfile triggers TCP-checksum + offloading bugs on certain networking cards when using IPv6.
  • +
  • On Linux on Itanium, sendfile may be unable to handle + files over 2GB in size.
  • +
  • With a network-mounted DocumentRoot (e.g., NFS, SMB, CIFS, FUSE), + the kernel may be unable to serve the network file through + its own cache.
  • +
+ +

For server configurations that are not vulnerable to these problems, + you may enable this feature by specifying:

+ +
EnableSendfile On
+ + +

For network mounted files, this feature may be disabled explicitly + for the offending files by specifying:

+ +
<Directory "/path-to-nfs-files">
+  EnableSendfile Off
+</Directory>
+ +

Please note that the per-directory and .htaccess configuration + of EnableSendfile is not supported by + mod_cache_disk. + Only global definition of EnableSendfile + is taken into account by the module. +

+ +
+
top
+

Error Directive

+ + + + + + + +
Description:Abort configuration parsing with a custom error message
Syntax:Error message
Context:server config, virtual host, directory, .htaccess
Status:Core
Module:core
Compatibility:2.3.9 and later
+

If an error can be detected within the configuration, this + directive can be used to generate a custom error message, and halt + configuration parsing. The typical use is for reporting required + modules which are missing from the configuration.

+ +
# Example
+# ensure that mod_include is loaded
+<IfModule !include_module>
+  Error "mod_include is required by mod_foo.  Load it with LoadModule."
+</IfModule>
+
+# ensure that exactly one of SSL,NOSSL is defined
+<IfDefine SSL>
+<IfDefine NOSSL>
+  Error "Both SSL and NOSSL are defined.  Define only one of them."
+</IfDefine>
+</IfDefine>
+<IfDefine !SSL>
+<IfDefine !NOSSL>
+  Error "Either SSL or NOSSL must be defined."
+</IfDefine>
+</IfDefine>
+ + +

Note

+

This directive is evaluated and configuration processing time, + not at runtime. As a result, this directive cannot be conditonally + evaluated by enclosing it in an <If> section.

+
+ +
+
top
+

ErrorDocument Directive

+ + + + + + + +
Description:What the server will return to the client +in case of an error
Syntax:ErrorDocument error-code document
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
+

In the event of a problem or error, Apache httpd can be configured + to do one of four things,

+ +
    +
  1. output a simple hardcoded error message
  2. + +
  3. output a customized message
  4. + +
  5. internally redirect to a local URL-path to handle the + problem/error
  6. + +
  7. redirect to an external URL to handle the + problem/error
  8. +
+ +

The first option is the default, while options 2-4 are + configured using the ErrorDocument + directive, which is followed by the HTTP response code and a URL + or a message. Apache httpd will sometimes offer additional information + regarding the problem/error.

+ +

From 2.4.13, expression syntax can be + used inside the directive to produce dynamic strings and URLs.

+ +

URLs can begin with a slash (/) for local web-paths (relative + to the DocumentRoot), or be a + full URL which the client can resolve. Alternatively, a message + can be provided to be displayed by the browser. Note that deciding + whether the parameter is an URL, a path or a message is performed + before any expression is parsed. Examples:

+ +
ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi
+ErrorDocument 404 /errors/bad_urls.php
+ErrorDocument 401 /subscription_info.html
+ErrorDocument 403 "Sorry, can't allow you access today"
+ErrorDocument 403 Forbidden!
+ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}
+ + +

Additionally, the special value default can be used + to specify Apache httpd's simple hardcoded message. While not required + under normal circumstances, default will restore + Apache httpd's simple hardcoded message for configurations that would + otherwise inherit an existing ErrorDocument.

+ +
ErrorDocument 404 /cgi-bin/bad_urls.pl
+
+<Directory "/web/docs">
+  ErrorDocument 404 default
+</Directory>
+ + +

Note that when you specify an ErrorDocument + that points to a remote URL (ie. anything with a method such as + http in front of it), Apache HTTP Server will send a redirect to the + client to tell it where to find the document, even if the + document ends up being on the same server. This has several + implications, the most important being that the client will not + receive the original error status code, but instead will + receive a redirect status code. This in turn can confuse web + robots and other clients which try to determine if a URL is + valid using the status code. In addition, if you use a remote + URL in an ErrorDocument 401, the client will not + know to prompt the user for a password since it will not + receive the 401 status code. Therefore, if you use an + ErrorDocument 401 directive, then it must refer to a local + document.

+ +

Microsoft Internet Explorer (MSIE) will by default ignore + server-generated error messages when they are "too small" and substitute + its own "friendly" error messages. The size threshold varies depending on + the type of error, but in general, if you make your error document + greater than 512 bytes, then MSIE will show the server-generated + error rather than masking it. More information is available in + Microsoft Knowledge Base article Q294807.

+ +

Although most error messages can be overridden, there are certain + circumstances where the internal messages are used regardless of the + setting of ErrorDocument. In + particular, if a malformed request is detected, normal request processing + will be immediately halted and the internal error message returned. + This is necessary to guard against security problems caused by + bad requests.

+ +

If you are using mod_proxy, you may wish to enable + ProxyErrorOverride so that you can provide + custom error messages on behalf of your Origin servers. If you don't enable ProxyErrorOverride, + Apache httpd will not generate custom error documents for proxied content.

+ +

See also

+ +
+
top
+

ErrorLog Directive

+ + + + + + + +
Description:Location where the server will log errors
Syntax: ErrorLog file-path|syslog[:[facility][:tag]]
Default:ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)
Context:server config, virtual host
Status:Core
Module:core
+

The ErrorLog directive sets the name of + the file to which the server will log any errors it encounters. If + the file-path is not absolute then it is assumed to be + relative to the ServerRoot.

+ +
ErrorLog "/var/log/httpd/error_log"
+ + +

If the file-path + begins with a pipe character "|" then it is assumed to be a + command to spawn to handle the error log.

+ +
ErrorLog "|/usr/local/bin/httpd_errors"
+ + +

See the notes on piped logs for + more information.

+ +

Using syslog instead of a filename enables logging + via syslogd(8) if the system supports it. The default is to use + syslog facility local7, but you can override this by + using the syslog:facility syntax where + facility can be one of the names usually documented in + syslog(1). The facility is effectively global, and if it is changed + in individual virtual hosts, the final facility specified affects the + entire server. Same rules apply for the syslog tag, which by default + uses the Apache binary name, httpd in most cases. You can + also override this by using the syslog::tag + syntax.

+ +
ErrorLog syslog:user
+ErrorLog syslog:user:httpd.srv1
+ErrorLog syslog::httpd.srv2
+ + +

SECURITY: See the security tips + document for details on why your security could be compromised + if the directory where log files are stored is writable by + anyone other than the user that starts the server.

+

Note

+

When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashes are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.

+
+ +

See also

+ +
+
top
+

ErrorLogFormat Directive

+ + + + + + +
Description:Format specification for error log entries
Syntax: ErrorLogFormat [connection|request] format
Context:server config, virtual host
Status:Core
Module:core
+

ErrorLogFormat allows to specify what + supplementary information is logged in the error log in addition to the + actual log message.

+ +
#Simple example
+ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
+ + +

Specifying connection or request as first + parameter allows to specify additional formats, causing additional + information to be logged when the first message is logged for a specific + connection or request, respectively. This additional information is only + logged once per connection/request. If a connection or request is processed + without causing any log message, the additional information is not logged + either.

+ +

It can happen that some format string items do not produce output. For + example, the Referer header is only present if the log message is + associated to a request and the log message happens at a time when the + Referer header has already been read from the client. If no output is + produced, the default behavior is to delete everything from the preceding + space character to the next space character. This means the log line is + implicitly divided into fields on non-whitespace to whitespace transitions. + If a format string item does not produce output, the whole field is + omitted. For example, if the remote address %a in the log + format [%t] [%l] [%a] %M  is not available, the surrounding + brackets are not logged either. Space characters can be escaped with a + backslash to prevent them from delimiting a field. The combination '% ' + (percent space) is a zero-width field delimiter that does not produce any + output.

+ +

The above behavior can be changed by adding modifiers to the format + string item. A - (minus) modifier causes a minus to be logged if the + respective item does not produce any output. In once-per-connection/request + formats, it is also possible to use the + (plus) modifier. If an + item with the plus modifier does not produce any output, the whole line is + omitted.

+ +

A number as modifier can be used to assign a log severity level to a + format item. The item will only be logged if the severity of the log + message is not higher than the specified log severity level. The number can + range from 1 (alert) over 4 (warn) and 7 (debug) to 15 (trace8).

+ +

For example, here's what would happen if you added modifiers to + the %{Referer}i token, which logs the + Referer request header.

+ + + + + + + + + + + + + + +
Modified TokenMeaning
%-{Referer}iLogs a - if Referer is not set.
%+{Referer}iOmits the entire line if Referer is not set.
%4{Referer}iLogs the Referer only if the log message severity + is higher than 4.
+ +

Some format string items accept additional parameters in braces.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Format String Description
%%The percent sign
%aClient IP address and port of the request
%{c}aUnderlying peer IP address and port of the connection (see the + mod_remoteip module)
%ALocal IP-address and port
%{name}eRequest environment variable name
%EAPR/OS error status code and string
%FSource file name and line number of the log call
%{name}iRequest header name
%kNumber of keep-alive requests on this connection
%lLoglevel of the message
%LLog ID of the request
%{c}LLog ID of the connection
%{C}LLog ID of the connection if used in connection scope, empty otherwise
%mName of the module logging the message
%MThe actual log message
%{name}nRequest note name
%PProcess ID of current process
%TThread ID of current thread
%{g}TSystem unique thread ID of current thread (the same ID as + displayed by e.g. top; currently Linux only)
%tThe current time
%{u}tThe current time including micro-seconds
%{cu}tThe current time in compact ISO 8601 format, including + micro-seconds
%vThe canonical ServerName + of the current server.
%VThe server name of the server serving the request according to the + UseCanonicalName + setting.
(backslash space)Non-field delimiting space
(percent space)Field delimiter (no output)
+ +

The log ID format %L produces a unique id for a connection + or request. This can be used to correlate which log lines belong to the + same connection or request, which request happens on which connection. + A %L format string is also available in + mod_log_config to allow to correlate access log entries + with error log lines. If mod_unique_id is loaded, its + unique id will be used as log ID for requests.

+ +
#Example (default format for threaded MPMs)
+ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ + +

This would result in error messages such as:

+ +

+ [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico +

+ +

Notice that, as discussed above, some fields are omitted + entirely because they are not defined.

+ +
#Example (similar to the 2.2.x format)
+ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ + +
#Advanced example with request/connection log IDs
+ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
+ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
+ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
+ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
+ErrorLogFormat connection "[%{uc}t] [C:%{c}L] remote\ %a local\ %A"
+ + + +

See also

+ +
+
top
+

ExtendedStatus Directive

+ + + + + + + +
Description:Keep track of extended status information for each +request
Syntax:ExtendedStatus On|Off
Default:ExtendedStatus Off[*]
Context:server config
Status:Core
Module:core
+

This option tracks additional data per worker about the + currently executing request and creates a utilization summary. + You can see these variables during runtime by configuring + mod_status. Note that other modules may + rely on this scoreboard.

+ +

This setting applies to the entire server and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis. + The collection of extended status information can slow down + the server. Also note that this setting cannot be changed + during a graceful restart.

+ +
+

Note that loading mod_status will change + the default behavior to ExtendedStatus On, while other + third party modules may do the same. Such modules rely on + collecting detailed information about the state of all workers. + The default is changed by mod_status beginning + with version 2.3.6. The previous default was always Off.

+
+ + +
+
top
+

FileETag Directive

+ + + + + + + + + +
Description:File attributes used to create the ETag +HTTP response header for static files
Syntax:FileETag component ...
Default:FileETag MTime Size
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
Compatibility:The default used to be "INode MTime Size" in 2.3.14 and +earlier.
+

+ The FileETag directive configures the file + attributes that are used to create the ETag (entity + tag) response header field when the document is based on a static file. + (The ETag value is used in cache management to save + network bandwidth.) The + FileETag directive allows you to choose + which of these -- if any -- should be used. The recognized keywords are: +

+ +
+
INode
+
The file's i-node number will be included in the calculation
+
MTime
+
The date and time the file was last modified will be included
+
Size
+
The number of bytes in the file will be included
+
All
+
All available fields will be used. This is equivalent to: +
FileETag INode MTime Size
+
+
Digest
+
If a document is file-based, the ETag field will be + calculated by taking the digest over the file.
+
None
+
If a document is file-based, no ETag field will be + included in the response
+
+ +

The INode, MTime, Size and + Digest keywords may be prefixed with either + + or -, which allow changes to be made to the default setting + inherited from a broader scope. Any keyword appearing without such a prefix + immediately and completely cancels the inherited setting.

+ +

If a directory's configuration includes + FileETag INode MTime Size, and a + subdirectory's includes FileETag -INode, + the setting for that subdirectory (which will be inherited by + any sub-subdirectories that don't override it) will be equivalent to + FileETag MTime Size.

+

Server Side Includes

+ An ETag is not generated for responses parsed by mod_include + since the response entity can change without a change of the INode, MTime, + Size or Digest of the static file with embedded SSI directives. +
+ + +
+
top
+

<Files> Directive

+ + + + + + + +
Description:Contains directives that apply to matched +filenames
Syntax:<Files filename> ... </Files>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

The <Files> directive + limits the scope of the enclosed directives by filename. It is comparable + to the <Directory> + and <Location> + directives. It should be matched with a </Files> + directive. The directives given within this section will be applied to + any object with a basename (last component of filename) matching the + specified filename. <Files> + sections are processed in the order they appear in the + configuration file, after the <Directory> sections and + .htaccess files are read, but before <Location> sections. Note + that <Files> can be nested + inside <Directory> sections to restrict the + portion of the filesystem they apply to.

+ +

The filename argument should include a filename, or + a wild-card string, where ? matches any single character, + and * matches any sequences of characters.

+
<Files "cat.html">
+    # Insert stuff that applies to cat.html here
+</Files>
+
+<Files "?at.*">
+    # This would apply to cat.html, bat.html, hat.php and so on.
+</Files>
+ +

Regular expressions + can also be used, with the addition of the + ~ character. For example:

+ +
<Files ~ "\.(gif|jpe?g|png)$">
+    #...
+</Files>
+ + +

would match most common Internet graphics formats. <FilesMatch> is preferred, + however.

+ +

Note that unlike <Directory> and <Location> sections, <Files> sections can be used inside + .htaccess files. This allows users to control access to + their own files, at a file-by-file level.

+ + +

See also

+ +
+
top
+

<FilesMatch> Directive

+ + + + + + + +
Description:Contains directives that apply to regular-expression matched +filenames
Syntax:<FilesMatch regex> ... </FilesMatch>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

The <FilesMatch> directive + limits the scope of the enclosed directives by filename, just as the + <Files> directive + does. However, it accepts a regular + expression. For example:

+ +
<FilesMatch ".+\.(gif|jpe?g|png)$">
+    # ...
+</FilesMatch>
+ + +

would match most common Internet graphics formats.

+ +
The .+ at the start of the regex ensures that + files named .png, or .gif, for example, + are not matched.
+ +

From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of files to be referenced + from within expressions and modules like + mod_rewrite. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.

+ +
<FilesMatch "^(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</FilesMatch>
+ + +

See also

+ +
+
top
+

FlushMaxPipelined Directive

+ + + + + + + + +
Description:Maximum number of pipelined responses above which they are flushed +to the network
Syntax:FlushMaxPipelined number
Default:FlushMaxPipelined 5
Context:server config, virtual host
Status:Core
Module:core
Compatibility:2.4.47 and later
+

This directive allows to configure the maximum number of pipelined + responses, which remain pending so long as pipelined request are received. + When the limit is reached, responses are forcibly flushed to the network in + blocking mode, until passing under the limit again.

+ +

FlushMaxPipelined helps constraining memory + usage. When set to 0 pipelining is disabled, when set to + -1 there is no limit (FlushMaxThreshold + still applies).

+ +
+
top
+

FlushMaxThreshold Directive

+ + + + + + + + +
Description:Threshold above which pending data are flushed to the +network
Syntax:FlushMaxThreshold number-of-bytes
Default:FlushMaxThreshold 65536
Context:server config, virtual host
Status:Core
Module:core
Compatibility:2.4.47 and later
+

This directive allows to configure the threshold for pending output + data (in bytes). When the limit is reached, data are forcibly flushed to + the network in blocking mode, until passing under the limit again.

+ +

FlushMaxThreshold helps constraining memory + usage. When set to 0 or a too small value there are actually + no pending data, but for threaded MPMs there can be more threads busy + waiting for the network thus less ones available to handle the other + simultaneous connections.

+ +
+
top
+

ForceType Directive

+ + + + + + + +
Description:Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field
Syntax:ForceType media-type|None
Context:directory, .htaccess
Override:FileInfo
Status:Core
Module:core
+

When placed into an .htaccess file or a + <Directory>, or + <Location> or + <Files> + section, this directive forces all matching files to be served + with the content type identification given by + media-type. For example, if you had a directory full of + GIF files, but did not want to label them all with .gif, + you might want to use:

+ +
ForceType image/gif
+ + +

Note that this directive overrides other indirect media type + associations defined in mime.types or via the + AddType.

+ +

You can also override more general + ForceType settings + by using the value of None:

+ +
# force all files to be image/gif:
+<Location "/images">
+  ForceType image/gif
+</Location>
+
+# but normal mime-type associations here:
+<Location "/images/mixed">
+  ForceType None
+</Location>
+ + +

This directive primarily overrides the content types generated for + static files served out of the filesystem. For resources other than + static files, where the generator of the response typically specifies + a Content-Type, this directive has no effect.

+ +

Note

+

When explicit directives such as + SetHandler or + AddHandler do not apply + to the current request, the internal handler name normally set by those + directives is set to match the content type specified by this directive. + This is a historical behavior that some third-party modules + (such as mod_php) may use "magic" content types used only to signal the + module to take responsibility for the matching request. Configurations + that rely on such "magic" types should be avoided by the use of + SetHandler or + AddHandler.

+
+ + +
+
top
+

GprofDir Directive

+ + + + + + +
Description:Directory to write gmon.out profiling data to.
Syntax:GprofDir /tmp/gprof/|/tmp/gprof/%
Context:server config, virtual host
Status:Core
Module:core
+

When the server has been compiled with gprof profiling support, + GprofDir causes gmon.out files to + be written to the specified directory when the process exits. If the + argument ends with a percent symbol ('%'), subdirectories are created + for each process id.

+ +

This directive currently only works with the prefork + MPM.

+ +
+
top
+

HostnameLookups Directive

+ + + + + + + +
Description:Enables DNS lookups on client IP addresses
Syntax:HostnameLookups On|Off|Double
Default:HostnameLookups Off
Context:server config, virtual host, directory
Status:Core
Module:core
+

This directive enables DNS lookups so that host names can be + logged (and passed to CGIs/SSIs in REMOTE_HOST). + The value Double refers to doing double-reverse + DNS lookup. That is, after a reverse lookup is performed, a forward + lookup is then performed on that result. At least one of the IP + addresses in the forward lookup must match the original + address. (In "tcpwrappers" terminology this is called + PARANOID.)

+ +

Regardless of the setting, when mod_authz_host is + used for controlling access by hostname, a double reverse lookup + will be performed. This is necessary for security. Note that the + result of this double-reverse isn't generally available unless you + set HostnameLookups Double. For example, if only + HostnameLookups On and a request is made to an object + that is protected by hostname restrictions, regardless of whether + the double-reverse fails or not, CGIs will still be passed the + single-reverse result in REMOTE_HOST.

+ +

The default is Off in order to save the network + traffic for those sites that don't truly need the reverse + lookups done. It is also better for the end users because they + don't have to suffer the extra latency that a lookup entails. + Heavily loaded sites should leave this directive + Off, since DNS lookups can take considerable + amounts of time. The utility logresolve, compiled by + default to the bin subdirectory of your installation + directory, can be used to look up host names from logged IP addresses + offline.

+ +

Finally, if you have hostname-based Require + directives, a hostname lookup will be performed regardless of + the setting of HostnameLookups.

+ +
+
top
+

HttpProtocolOptions Directive

+ + + + + + + + +
Description:Modify restrictions on HTTP Request Messages
Syntax:HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]
Default:HttpProtocolOptions Strict LenientMethods Allow0.9
Context:server config, virtual host
Status:Core
Module:core
Compatibility:2.2.32 or 2.4.24 and later
+

This directive changes the rules applied to the HTTP Request Line + (RFC 7230 §3.1.1) and the HTTP Request Header Fields + (RFC 7230 §3.2), which are now applied by default or using + the Strict option. Due to legacy modules, applications or + custom user-agents which must be deprecated the Unsafe + option has been added to revert to the legacy behaviors.

+ +

These rules are applied prior to request processing, + so must be configured at the global or default (first) matching + virtual host section, by IP/port interface (and not by name) + to be honored.

+ +

The directive accepts three parameters from the following list + of choices, applying the default to the ones not specified:

+ +
+
Strict|Unsafe
+
+

Prior to the introduction of this directive, the Apache HTTP Server + request message parsers were tolerant of a number of forms of input + which did not conform to the protocol. + RFC 7230 §9.4 Request Splitting and + §9.5 Response Smuggling call out only two of the potential + risks of accepting non-conformant request messages, while + RFC 7230 §3.5 "Message Parsing Robustness" identify the + risks of accepting obscure whitespace and request message formatting. + As of the introduction of this directive, all grammar rules of the + specification are enforced in the default Strict operating + mode, and the strict whitespace suggested by section 3.5 is enforced + and cannot be relaxed.

+ +

Security risks of Unsafe

+

Users are strongly cautioned against toggling the Unsafe + mode of operation, particularly on outward-facing, publicly accessible + server deployments. If an interface is required for faulty monitoring + or other custom service consumers running on an intranet, users should + toggle the Unsafe option only on a specific virtual host configured + to service their internal private network.

+
+ +

Example of a request leading to HTTP 400 with Strict mode

+ + # Missing CRLF
+ GET / HTTP/1.0\n\n +

+

Command line tools and CRLF

+

Some tools need to be forced to use CRLF, otherwise httpd will return + a HTTP 400 response like described in the above use case. For example, + the OpenSSL s_client needs the -crlf parameter to work + properly.

+

The DumpIOInput directive + can help while reviewing the HTTP request to identify issues like the + absence of CRLF.

+
+
+
RegisteredMethods|LenientMethods
+
+

RFC 7231 §4.1 "Request Methods" "Overview" requires that + origin servers shall respond with a HTTP 501 status code when an + unsupported method is encountered in the request line. + This already happens when the LenientMethods option is used, + but administrators may wish to toggle the RegisteredMethods + option and register any non-standard methods using the + RegisterHttpMethod + directive, particularly if the Unsafe + option has been toggled.

+ +

Forward Proxy compatibility

+

The RegisteredMethods option should not + be toggled for forward proxy hosts, as the methods supported by the + origin servers are unknown to the proxy server.

+
+ +

Example of a request leading to HTTP 501 with LenientMethods mode

+ + # Unknown HTTP method
+ WOW / HTTP/1.0\r\n\r\n

+ # Lowercase HTTP method
+ get / HTTP/1.0\r\n\r\n
+

+
+
Allow0.9|Require1.0
+
+

RFC 2616 §19.6 "Compatibility With Previous Versions" had + encouraged HTTP servers to support legacy HTTP/0.9 requests. RFC 7230 + supersedes this with "The expectation to support HTTP/0.9 requests has + been removed" and offers additional comments in + RFC 7230 Appendix A. The Require1.0 option allows + the user to remove support of the default Allow0.9 option's + behavior.

+ +

Example of a request leading to HTTP 400 with Require1.0 mode

+ + # Unsupported HTTP version
+ GET /\r\n\r\n +

+
+
+

Reviewing the messages logged to the + ErrorLog, configured with + LogLevel debug level, + can help identify such faulty requests along with their origin. + Users should pay particular attention to the 400 responses in the access + log for invalid requests which were unexpectedly rejected.

+ +
+
top
+

<If> Directive

+ + + + + + + + +
Description:Contains directives that apply only if a condition is +satisfied by a request at runtime
Syntax:<If expression> ... </If>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:Nested conditions are evaluated in 2.4.26 and later
+

The <If> directive + evaluates an expression at runtime, and applies the enclosed + directives if and only if the expression evaluates to true. + For example:

+ +
<If "-z req('Host')">
+ + +

would match HTTP/1.0 requests without a Host: header. + Expressions may contain various shell-like operators for string + comparison (==, !=, <, ...), + integer comparison (-eq, -ne, ...), + and others (-n, -z, -f, ...). + It is also possible to use regular expressions,

+ +
<If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">
+ + +

shell-like pattern matches and many other operations. These operations + can be done on request headers (req), environment variables + (env), and a large number of other properties. The full + documentation is available in Expressions in + Apache HTTP Server.

+ +

Only directives that support the directory context can be used within this configuration section.

+ +
+ Certain variables, such as CONTENT_TYPE and other + response headers, are set after <If> conditions have already + been evaluated, and so will not be available to use in this + directive. +
+ +
+ Directives that take affect during configuration parsing, such as + Define, Include, and + Error cannot be made conditional by enclosing + them in an if <If> configuration + section. These sections are always part of the configuration, + regardless of how they evaluate at runtime. +
+ + + +

See also

+ +
+
top
+

<IfDefine> Directive

+ + + + + + + +
Description:Encloses directives that will be processed only +if a test is true at startup
Syntax:<IfDefine [!]parameter-name> ... + </IfDefine>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

The <IfDefine test>...</IfDefine> + section is used to mark directives that are conditional. The + directives within an <IfDefine> + section are only processed if the test is true. If + test is false, everything between the start and end markers is + ignored.

+ +

The test in the <IfDefine> section directive can be one of two forms:

+ +
    +
  • parameter-name
  • + +
  • !parameter-name
  • +
+ +

In the former case, the directives between the start and end + markers are only processed if the parameter named + parameter-name is defined. The second format reverses + the test, and only processes the directives if + parameter-name is not defined.

+ +

The parameter-name argument is a define as given on the + httpd command line via -Dparameter + at the time the server was started or by the Define directive.

+ +

<IfDefine> sections are + nest-able, which can be used to implement simple + multiple-parameter tests. Example:

+ +

httpd -DReverseProxy -DUseCache -DMemCache ...

+
<IfDefine ReverseProxy>
+  LoadModule proxy_module   modules/mod_proxy.so
+  LoadModule proxy_http_module   modules/mod_proxy_http.so
+  <IfDefine UseCache>
+    LoadModule cache_module   modules/mod_cache.so
+    <IfDefine MemCache>
+      LoadModule mem_cache_module   modules/mod_mem_cache.so
+    </IfDefine>
+    <IfDefine !MemCache>
+      LoadModule cache_disk_module   modules/mod_cache_disk.so
+    </IfDefine>
+  </IfDefine>
+</IfDefine>
+ + +
+
top
+

<IfDirective> Directive

+ + + + + + + + +
Description:Encloses directives that are processed conditional on the +presence or absence of a specific directive
Syntax:<IfDirective [!]directive-name> ... + </IfDirective>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:Available in 2.4.34 and later.
+

The <IfDirective test>...</IfDirective> + section is used to mark directives that are conditional on the presence of + a specific directive. The directives within an <IfDirective> section are only processed if the test + is true. If test is false, everything between the start and + end markers is ignored.

+ +

The test in the <IfDirective> section can be one of two forms:

+ +
    +
  • directive-name
  • + +
  • !directive-name
  • +
+ +

In the former case, the directives between the start and end + markers are only processed if a directive of the given name is + available at the time of processing. The second format reverses the test, + and only processes the directives if directive-name is + not available.

+ +
This section should only be used if you need to have one + configuration file that works across multiple versions of + httpd, regardless of whether a particular + directive is available. In normal operation, directives need not + be placed in <IfDirective> + sections.
+ +

See also

+ +
+
top
+

<IfFile> Directive

+ + + + + + + + +
Description:Encloses directives that will be processed only +if file exists at startup
Syntax:<IfFile [!]filename> ... + </IfFile>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:Available in 2.4.34 and later.
+

The <IfFile filename>...</IfFile> + section is used to mark directives that are conditional on + the existence of a file on disk. The directives within an + <IfFile> section are only + processed if filename exists. If filename + doesn't exist, everything between the start and end markers is + ignored. filename can be an absolute path or a path + relative to the server root.

+ +

The filename in the <IfFile> section directive can take the same forms as the + test variable in the <IfDefine> section, i.e. the test can be negated if the + ! character is placed directly before filename. +

+ +

If a relative filename is supplied, the check is + ServerRoot relative. In the case where + this directive occurs before the ServerRoot, + the path will be checked relative to the compiled-in server root or + the server root passed in on the command line via the -d + parameter.

+ +

Warning

+ In 2.4.34, it is not possible to specify a filename + with surrounding quotes. This would generate a parsing error at start-up. + The main impact is that filenames with spaces can't be used. + This behavior is fixed in 2.4.35.
+ + +
+
top
+

<IfModule> Directive

+ + + + + + + + +
Description:Encloses directives that are processed conditional on the +presence or absence of a specific module
Syntax:<IfModule [!]module-file|module-identifier> ... + </IfModule>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:Module identifiers are available in version 2.1 and +later.
+

The <IfModule test>...</IfModule> + section is used to mark directives that are conditional on the presence of + a specific module. The directives within an <IfModule> section are only processed if the test + is true. If test is false, everything between the start and + end markers is ignored.

+ +

The test in the <IfModule> section directive can be one of two forms:

+ +
    +
  • module
  • + +
  • !module
  • +
+ +

In the former case, the directives between the start and end + markers are only processed if the module named module + is included in Apache httpd -- either compiled in or + dynamically loaded using LoadModule. The second format reverses the test, + and only processes the directives if module is + not included.

+ +

The module argument can be either the module identifier or + the file name of the module, at the time it was compiled. For example, + rewrite_module is the identifier and + mod_rewrite.c is the file name. If a module consists of + several source files, use the name of the file containing the string + STANDARD20_MODULE_STUFF.

+ +

<IfModule> sections are + nest-able, which can be used to implement simple multiple-module + tests.

+ +
This section should only be used if you need to have one + configuration file that works whether or not a specific module + is available. In normal operation, directives need not be + placed in <IfModule> + sections.
+ +
+
top
+

<IfSection> Directive

+ + + + + + + + +
Description:Encloses directives that are processed conditional on the +presence or absence of a specific section directive
Syntax:<IfSection [!]section-name> ... + </IfSection>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:Available in 2.4.34 and later.
+

The <IfSection + test>...</IfSection> section is used + to mark directives that are conditional on the presence of a + specific section directive. A section directive is any directive + such as <VirtualHost> which + encloses other directives, and has a directive name with a leading + "<".

+ +

The directives within an <IfSection> section are only processed if the test + is true. If test is false, everything between the start and + end markers is ignored.

+ +

The section-name must be specified without either + the leading "<" or closing ">". The test in the + <IfSection> section can be one + of two forms:

+ +
    +
  • section-name
  • +
  • !section-name
  • +
+ +

In the former case, the directives between the start and end + markers are only processed if a section directive of the given + name is available at the time of processing. The second format + reverses the test, and only processes the directives if + section-name is not an available + section directive.

+ +

For example:

+ +
<IfSection VirtualHost>
+   ...
+</IfSection>
+ + +
This section should only be used if you need to have one + configuration file that works across multiple versions of httpd, + regardless of whether a particular section directive is + available. In normal operation, directives need not be placed in + <IfSection> sections.
+ +

See also

+ +
+
top
+

Include Directive

+ + + + + + + +
Description:Includes other configuration files from within +the server configuration files
Syntax:Include file-path|directory-path|wildcard
Context:server config, virtual host, directory
Status:Core
Module:core
Compatibility:Directory +wildcard matching available in 2.3.6 and later
+

This directive allows inclusion of other configuration files + from within the server configuration files.

+ +

Shell-style (fnmatch()) wildcard characters can be used + in the filename or directory parts of the path to include several files + at once, in alphabetical order. In addition, if + Include points to a directory, rather than a file, + Apache httpd will read all files in that directory and any subdirectory. + However, including entire directories is not recommended, because it is + easy to accidentally leave temporary files in a directory that can cause + httpd to fail. Instead, we encourage you to use the + wildcard syntax shown below, to include files that match a particular + pattern, such as *.conf, for example.

+ +

The Include directive will + fail with an error if a wildcard expression does not + match any file. The IncludeOptional + directive can be used if non-matching wildcards should be ignored.

+ +

The file path specified may be an absolute path, or may be relative + to the ServerRoot directory.

+ +

Examples:

+ +
Include /usr/local/apache2/conf/ssl.conf
+Include /usr/local/apache2/conf/vhosts/*.conf
+ + +

Or, providing paths relative to your ServerRoot directory:

+ +
Include conf/ssl.conf
+Include conf/vhosts/*.conf
+ + +

Wildcards may be included in the directory or file portion of the + path. This example will fail if there is no subdirectory in conf/vhosts + that contains at least one *.conf file:

+ +
Include conf/vhosts/*/*.conf
+ + +

Alternatively, the following command will just be ignored in case of + missing files or directories:

+ +
IncludeOptional conf/vhosts/*/*.conf
+ + + +

See also

+ +
+
top
+

IncludeOptional Directive

+ + + + + + + +
Description:Includes other configuration files from within +the server configuration files
Syntax:IncludeOptional file-path|directory-path|wildcard
Context:server config, virtual host, directory
Status:Core
Module:core
Compatibility:Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30
+

This directive allows inclusion of other configuration files + from within the server configuration files. It works identically to the + Include directive, but it will be + silently ignored (instead of causing an error) if wildcards are used and + they do not match any file or directory or if a file path does not exist + on the file system.

+ +

See also

+ +
+
top
+

KeepAlive Directive

+ + + + + + + +
Description:Enables HTTP persistent connections
Syntax:KeepAlive On|Off
Default:KeepAlive On
Context:server config, virtual host
Status:Core
Module:core
+

The Keep-Alive extension to HTTP/1.0 and the persistent + connection feature of HTTP/1.1 provide long-lived HTTP sessions + which allow multiple requests to be sent over the same TCP + connection. In some cases this has been shown to result in an + almost 50% speedup in latency times for HTML documents with + many images. To enable Keep-Alive connections, set + KeepAlive On.

+ +

For HTTP/1.0 clients, Keep-Alive connections will only be + used if they are specifically requested by a client. In + addition, a Keep-Alive connection with an HTTP/1.0 client can + only be used when the length of the content is known in + advance. This implies that dynamic content such as CGI output, + SSI pages, and server-generated directory listings will + generally not use Keep-Alive connections to HTTP/1.0 clients. + For HTTP/1.1 clients, persistent connections are the default + unless otherwise specified. If the client requests it, chunked + encoding will be used in order to send content of unknown + length over persistent connections.

+ +

When a client uses a Keep-Alive connection, it will be counted + as a single "request" for the MaxConnectionsPerChild directive, regardless + of how many requests are sent using the connection.

+ +

See also

+ +
+
top
+

KeepAliveTimeout Directive

+ + + + + + + +
Description:Amount of time the server will wait for subsequent +requests on a persistent connection
Syntax:KeepAliveTimeout num[ms]
Default:KeepAliveTimeout 5
Context:server config, virtual host
Status:Core
Module:core
+

The number of seconds Apache httpd will wait for a subsequent + request before closing the connection. By adding a postfix of ms the + timeout can be also set in milliseconds. Once a request has been + received, the timeout value specified by the + Timeout directive applies.

+ +

Setting KeepAliveTimeout to a high value + may cause performance problems in heavily loaded servers. The + higher the timeout, the more server processes will be kept + occupied waiting on connections with idle clients.

+ +

If KeepAliveTimeout is not + set for a name-based virtual host, the value of the first defined + virtual host best matching the local IP and port will be used.

+ +
+
top
+

<Limit> Directive

+ + + + + + + +
Description:Restrict enclosed access controls to only certain HTTP +methods
Syntax:<Limit method [method] ... > ... + </Limit>
Context:directory, .htaccess
Override:AuthConfig, Limit
Status:Core
Module:core
+

Access controls are normally effective for + all access methods, and this is the usual + desired behavior. In the general case, access control + directives should not be placed within a + <Limit> section.

+ +

The purpose of the <Limit> + directive is to restrict the effect of the access controls to the + nominated HTTP methods. For all other methods, the access + restrictions that are enclosed in the <Limit> bracket will have no + effect. The following example applies the access control + only to the methods POST, PUT, and + DELETE, leaving all other methods unprotected:

+ +
<Limit POST PUT DELETE>
+  Require valid-user
+</Limit>
+ + +

The method names listed can be one or more of: GET, + POST, PUT, DELETE, + CONNECT, OPTIONS, + PATCH, PROPFIND, PROPPATCH, + MKCOL, COPY, MOVE, + LOCK, and UNLOCK. The method name is + case-sensitive. If GET is used, it will also + restrict HEAD requests. The TRACE method + cannot be limited (see TraceEnable).

+ +
A <LimitExcept> section should always be + used in preference to a <Limit> + section when restricting access, since a <LimitExcept> section provides protection + against arbitrary methods.
+ +

The <Limit> and + <LimitExcept> + directives may be nested. In this case, each successive level of + <Limit> or <LimitExcept> directives must + further restrict the set of methods to which access controls apply.

+ +
When using + <Limit> or + <LimitExcept> directives with + the Require directive, + note that the first Require + to succeed authorizes the request, regardless of the presence of other + Require directives.
+ +

For example, given the following configuration, all users will + be authorized for POST requests, and the + Require group editors directive will be ignored + in all cases:

+ +
<LimitExcept GET>
+  Require valid-user
+</LimitExcept>
+<Limit POST>
+  Require group editors
+</Limit>
+ + +
+
top
+

<LimitExcept> Directive

+ + + + + + + +
Description:Restrict access controls to all HTTP methods +except the named ones
Syntax:<LimitExcept method [method] ... > ... + </LimitExcept>
Context:directory, .htaccess
Override:AuthConfig, Limit
Status:Core
Module:core
+

<LimitExcept> and + </LimitExcept> are used to enclose + a group of access control directives which will then apply to any + HTTP access method not listed in the arguments; + i.e., it is the opposite of a <Limit> section and can be used to control + both standard and nonstandard/unrecognized methods. See the + documentation for <Limit> for more details.

+ +

For example:

+ +
<LimitExcept POST GET>
+  Require valid-user
+</LimitExcept>
+ + + +
+
top
+

LimitInternalRecursion Directive

+ + + + + + + +
Description:Determine maximum number of internal redirects and nested +subrequests
Syntax:LimitInternalRecursion number [number]
Default:LimitInternalRecursion 10
Context:server config, virtual host
Status:Core
Module:core
+

An internal redirect happens, for example, when using the Action directive, which internally + redirects the original request to a CGI script. A subrequest is Apache httpd's + mechanism to find out what would happen for some URI if it were requested. + For example, mod_dir uses subrequests to look for the + files listed in the DirectoryIndex + directive.

+ +

LimitInternalRecursion prevents the server + from crashing when entering an infinite loop of internal redirects or + subrequests. Such loops are usually caused by misconfigurations.

+ +

The directive stores two different limits, which are evaluated on + per-request basis. The first number is the maximum number of + internal redirects that may follow each other. The second number + determines how deeply subrequests may be nested. If you specify only one + number, it will be assigned to both limits.

+ +
LimitInternalRecursion 5
+ + +
+
top
+

LimitRequestBody Directive

+ + + + + + + + + +
Description:Restricts the total size of the HTTP request body sent +from the client
Syntax:LimitRequestBody bytes
Default:LimitRequestBody 1073741824
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
Compatibility:In Apache HTTP Server 2.4.53 and earlier, the default value +was 0 (unlimited)
+

This directive specifies the number of bytes + that are allowed in a request body. A value of 0 means unlimited.

+ +

The LimitRequestBody directive allows + the user to set a limit on the allowed size of an HTTP request + message body within the context in which the directive is given + (server, per-directory, per-file or per-location). If the client + request exceeds that limit, the server will return an error + response instead of servicing the request. The size of a normal + request message body will vary greatly depending on the nature of + the resource and the methods allowed on that resource. CGI scripts + typically use the message body for retrieving form information. + Implementations of the PUT method will require + a value at least as large as any representation that the server + wishes to accept for that resource.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service + attacks.

+ +

If, for example, you are permitting file upload to a particular + location and wish to limit the size of the uploaded file to 100K, + you might use the following directive:

+ +
LimitRequestBody 102400
+ + + +
+
top
+

LimitRequestFields Directive

+ + + + + + + +
Description:Limits the number of HTTP request header fields that +will be accepted from the client
Syntax:LimitRequestFields number
Default:LimitRequestFields 100
Context:server config, virtual host
Status:Core
Module:core
+

Setting number at 0 means unlimited. + The default value is defined by the compile-time + constant DEFAULT_LIMIT_REQUEST_FIELDS (100 as + distributed).

+ +

The LimitRequestFields directive allows + the server administrator to modify the limit on the number of + request header fields allowed in an HTTP request. A server needs + this value to be larger than the number of fields that a normal + client request might include. The number of request header fields + used by a client rarely exceeds 20, but this may vary among + different client implementations, often depending upon the extent + to which a user has configured their browser to support detailed + content negotiation. Optional HTTP extensions are often expressed + using request header fields.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks. + The value should be increased if normal clients see an error + response from the server that indicates too many fields were + sent in the request.

+ +

For example:

+ +
LimitRequestFields 50
+ + +

Warning

+

When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + local IP and port combination.

+
+ + +
+
top
+

LimitRequestFieldSize Directive

+ + + + + + + +
Description:Limits the size of the HTTP request header allowed from the +client
Syntax:LimitRequestFieldSize bytes
Default:LimitRequestFieldSize 8190
Context:server config, virtual host
Status:Core
Module:core
+

This directive specifies the number of bytes + that will be allowed in an HTTP request header.

+ +

The LimitRequestFieldSize directive + allows the server administrator to set the limit + on the allowed size of an HTTP request header field. A server + needs this value to be large enough to hold any one header field + from a normal client request. The size of a normal request header + field will vary greatly among different client implementations, + often depending upon the extent to which a user has configured + their browser to support detailed content negotiation. SPNEGO + authentication headers can be up to 12392 bytes.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.

+ +

For example:

+ +
LimitRequestFieldSize 4094
+ + +
Under normal conditions, the value should not be changed from + the default.
+ +

Warning

+

When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host best + matching the current IP address and port combination.

+
+ +
+
top
+

LimitRequestLine Directive

+ + + + + + + +
Description:Limit the size of the HTTP request line that will be accepted +from the client
Syntax:LimitRequestLine bytes
Default:LimitRequestLine 8190
Context:server config, virtual host
Status:Core
Module:core
+

This directive sets the number of bytes that will be + allowed on the HTTP request-line.

+ +

The LimitRequestLine directive allows + the server administrator to set the limit on the allowed size + of a client's HTTP request-line. Since the request-line consists of the + HTTP method, URI, and protocol version, the + LimitRequestLine directive places a + restriction on the length of a request-URI allowed for a request + on the server. A server needs this value to be large enough to + hold any of its resource names, including any information that + might be passed in the query part of a GET request.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.

+ +

For example:

+ +
LimitRequestLine 4094
+ + +
Under normal conditions, the value should not be changed from + the default.
+ +

Warning

+

When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host best + matching the current IP address and port combination.

+
+ + +
+
top
+

LimitXMLRequestBody Directive

+ + + + + + + + +
Description:Limits the size of an XML-based request body
Syntax:LimitXMLRequestBody bytes
Default:LimitXMLRequestBody 1000000
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

Limit (in bytes) on the maximum size of an XML-based request + body. A value of 0 will apply a hard limit (depending on + 32bit vs 64bit system) allowing for XML escaping within the bounds of + the system addressable memory, but it exists for compatibility only + and is not recommended since it does not account for memory consumed + elsewhere or concurrent requests, which might result in an overall + system out-of-memory. +

+

Example:

+ +
# Limit of 1 MiB
+LimitXMLRequestBody 1073741824
+ + + +
+
top
+

<Location> Directive

+ + + + + + +
Description:Applies the enclosed directives only to matching +URLs
Syntax:<Location + URL-path|URL> ... </Location>
Context:server config, virtual host
Status:Core
Module:core
+

The <Location> directive + limits the scope of the enclosed directives by URL. It is similar to the + <Directory> + directive, and starts a subsection which is terminated with a + </Location> directive. <Location> sections are processed in the + order they appear in the configuration file, after the <Directory> sections and + .htaccess files are read, and after the <Files> sections.

+ +

<Location> sections operate + completely outside the filesystem. This has several consequences. + Most importantly, <Location> + directives should not be used to control access to filesystem + locations. Since several different URLs may map to the same + filesystem location, such access controls may by circumvented.

+ +

The enclosed directives will be applied to the request if the path component + of the URL meets any of the following criteria: +

+
    +
  • The specified location matches exactly the path component of the URL. +
  • +
  • The specified location, which ends in a forward slash, is a prefix + of the path component of the URL (treated as a context root). +
  • +
  • The specified location, with the addition of a trailing slash, is a + prefix of the path component of the URL (also treated as a context root). +
  • +
+

+ In the example below, where no trailing slash is used, requests to + /private1, /private1/ and /private1/file.txt will have the enclosed + directives applied, but /private1other would not. +

+
<Location "/private1">
+    #  ...
+</Location>
+ +

+ In the example below, where a trailing slash is used, requests to + /private2/ and /private2/file.txt will have the enclosed + directives applied, but /private2 and /private2other would not. +

+
<Location "/private2/">
+    # ...
+</Location>
+ + +

When to use <Location>

+ +

Use <Location> to apply + directives to content that lives outside the filesystem. For + content that lives in the filesystem, use <Directory> and <Files>. An exception is + <Location "/">, which is an easy way to + apply a configuration to the entire server.

+
+ +

For all origin (non-proxy) requests, the URL to be matched is a + URL-path of the form /path/. No scheme, hostname, + port, or query string may be included. For proxy requests, the + URL to be matched is of the form + scheme://servername/path, and you must include the + prefix.

+ +

The URL may use wildcards. In a wild-card string, ? matches + any single character, and * matches any sequences of + characters. Neither wildcard character matches a / in the URL-path.

+ +

Regular expressions + can also be used, with the addition of the ~ + character. For example:

+ +
<Location ~ "/(extra|special)/data">
+    #...
+</Location>
+ + +

would match URLs that contained the substring /extra/data + or /special/data. The directive <LocationMatch> behaves + identical to the regex version of <Location>, and is preferred, for the + simple reason that ~ is hard to distinguish from + - in many fonts.

+ +

The <Location> + functionality is especially useful when combined with the + SetHandler + directive. For example, to enable status requests but allow them + only from browsers at example.com, you might use:

+ +
<Location "/status">
+  SetHandler server-status
+  Require host example.com
+</Location>
+ + +

Note about / (slash)

+

The slash character has special meaning depending on where in a + URL it appears. People may be used to its behavior in the filesystem + where multiple adjacent slashes are frequently collapsed to a single + slash (i.e., /home///foo is the same as + /home/foo). In URL-space this is not necessarily true if + directive MergeSlashes has been set + to "OFF". + The <LocationMatch> + directive and the regex version of <Location> require you to explicitly specify multiple + slashes if the slashes are not being merged.

+ +

For example, <LocationMatch "^/abc"> would match + the request URL /abc but not the request URL + //abc. The (non-regex) <Location> directive behaves similarly when used for + proxy requests. But when (non-regex) <Location> is used for non-proxy requests it will + implicitly match multiple slashes with a single slash. For example, + if you specify <Location "/abc/def"> and the + request is to /abc//def then it will match.

+
+ +

See also

+ +
+
top
+

<LocationMatch> Directive

+ + + + + + +
Description:Applies the enclosed directives only to regular-expression +matching URLs
Syntax:<LocationMatch + regex> ... </LocationMatch>
Context:server config, virtual host
Status:Core
Module:core
+

The <LocationMatch> directive + limits the scope of the enclosed directives by URL, in an identical manner + to <Location>. However, + it takes a regular expression + as an argument instead of a simple string. For example:

+ +
<LocationMatch "/(extra|special)/data">
+    # ...
+</LocationMatch>
+ + +

would match URLs that contained the substring /extra/data + or /special/data.

+ +

If the intent is that a URL starts with + /extra/data, rather than merely + contains /extra/data, prefix the + regular expression with a ^ to require this.

+ +
<LocationMatch "^/(extra|special)/data">
+ +
+ +

From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of URLs to be referenced + from within expressions and modules like + mod_rewrite. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.

+ +
<LocationMatch "^/combined/(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</LocationMatch>
+ + +

Note about / (slash)

+

The slash character has special meaning depending on where in a + URL it appears. People may be used to its behavior in the filesystem + where multiple adjacent slashes are frequently collapsed to a single + slash (i.e., /home///foo is the same as + /home/foo). In URL-space this is not necessarily true if + directive MergeSlashes has been set + to "OFF". + The <LocationMatch> + directive and the regex version of <Location> require you to explicitly specify multiple + slashes if the slashes are not being merged.

+ +

For example, <LocationMatch "^/abc"> would match + the request URL /abc but not the request URL + //abc. The (non-regex) <Location> directive behaves similarly when used for + proxy requests. But when (non-regex) <Location> is used for non-proxy requests it will + implicitly match multiple slashes with a single slash. For example, + if you specify <Location "/abc/def"> and the + request is to /abc//def then it will match.

+
+ +

See also

+ +
+
top
+

LogLevel Directive

+ + + + + + + + +
Description:Controls the verbosity of the ErrorLog
Syntax:LogLevel [module:]level + [module:level] ... +
Default:LogLevel warn
Context:server config, virtual host, directory
Status:Core
Module:core
Compatibility:Per-module and per-directory configuration is available in + Apache HTTP Server 2.3.6 and later
+

LogLevel adjusts the verbosity of the + messages recorded in the error logs (see ErrorLog directive). The following + levels are available, in order of decreasing + significance:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Level Description Example
emerg Emergencies - system is unusable."Child cannot open lock file. Exiting"
alert Action must be taken immediately."getpwuid: couldn't determine user name from uid"
crit Critical Conditions."socket: Failed to get a socket, exiting child"
error Error conditions."Premature end of script headers"
warn Warning conditions."child process 1234 did not exit, sending another + SIGHUP"
notice Normal but significant condition."httpd: caught SIGBUS, attempting to dump core in + ..."
info Informational."Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."
debug Debug-level messages"Opening config file ..."
trace1 Trace messages"proxy: FTP: control connection complete"
trace2 Trace messages"proxy: CONNECT: sending the CONNECT request to the remote proxy"
trace3 Trace messages"openssl: Handshake: start"
trace4 Trace messages"read from buffered SSL brigade, mode 0, 17 bytes"
trace5 Trace messages"map lookup FAILED: map=rewritemap key=keyname"
trace6 Trace messages"cache lookup FAILED, forcing new map lookup"
trace7 Trace messages, dumping large amounts of data"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
trace8 Trace messages, dumping large amounts of data"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
+ +

When a particular level is specified, messages from all + other levels of higher significance will be reported as well. + E.g., when LogLevel info is specified, + then messages with log levels of notice and + warn will also be posted.

+ +

Using a level of at least crit is + recommended.

+ +

For example:

+ +
LogLevel notice
+ + +

Note

+

When logging to a regular file, messages of the level + notice cannot be suppressed and thus are always + logged. However, this doesn't apply when logging is done + using syslog.

+
+ +

Specifying a level without a module name will reset the level + for all modules to that level. Specifying a level with a module + name will set the level for that module only. It is possible to + use the module source file name, the module identifier, or the + module identifier with the trailing _module omitted + as module specification. This means the following three specifications + are equivalent:

+ +
LogLevel info ssl:warn
+LogLevel info mod_ssl.c:warn
+LogLevel info ssl_module:warn
+ + +

It is also possible to change the level per directory:

+ +
LogLevel info
+<Directory "/usr/local/apache/htdocs/app">
+  LogLevel debug
+</Directory>
+ + +
+ Per directory loglevel configuration only affects messages that are + logged after the request has been parsed and that are associated with + the request. Log messages which are associated with the connection or + the server are not affected. +
+ +

See also

+ +
+
top
+

MaxKeepAliveRequests Directive

+ + + + + + + +
Description:Number of requests allowed on a persistent +connection
Syntax:MaxKeepAliveRequests number
Default:MaxKeepAliveRequests 100
Context:server config, virtual host
Status:Core
Module:core
+

The MaxKeepAliveRequests directive + limits the number of requests allowed per connection when + KeepAlive is on. If it is + set to 0, unlimited requests will be allowed. We + recommend that this setting be kept to a high value for maximum + server performance.

+ +

For example:

+ +
MaxKeepAliveRequests 500
+ + +
+
top
+

MaxRangeOverlaps Directive

+ + + + + + + + +
Description:Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
Syntax:MaxRangeOverlaps default | unlimited | none | number-of-ranges
Default:MaxRangeOverlaps 20
Context:server config, virtual host, directory
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.3.15 and later
+

The MaxRangeOverlaps directive + limits the number of overlapping HTTP ranges the server is willing to + return to the client. If more overlapping ranges than permitted are requested, + the complete resource is returned instead.

+ +
+
default
+
Limits the number of overlapping ranges to a compile-time default of 20.
+ +
none
+
No overlapping Range headers are allowed.
+ +
unlimited
+
The server does not limit the number of overlapping ranges it is + willing to satisfy.
+ +
number-of-ranges
+
A positive number representing the maximum number of overlapping ranges the + server is willing to satisfy.
+
+ +
+
top
+

MaxRangeReversals Directive

+ + + + + + + + +
Description:Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
Syntax:MaxRangeReversals default | unlimited | none | number-of-ranges
Default:MaxRangeReversals 20
Context:server config, virtual host, directory
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.3.15 and later
+

The MaxRangeReversals directive + limits the number of HTTP Range reversals the server is willing to + return to the client. If more ranges reversals than permitted are requested, + the complete resource is returned instead.

+ +
+
default
+
Limits the number of range reversals to a compile-time default of 20.
+ +
none
+
No Range reversals headers are allowed.
+ +
unlimited
+
The server does not limit the number of range reversals it is + willing to satisfy.
+ +
number-of-ranges
+
A positive number representing the maximum number of range reversals the + server is willing to satisfy.
+
+ +
+
top
+

MaxRanges Directive

+ + + + + + + + +
Description:Number of ranges allowed before returning the complete +resource
Syntax:MaxRanges default | unlimited | none | number-of-ranges
Default:MaxRanges 200
Context:server config, virtual host, directory
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.3.15 and later
+

The MaxRanges directive + limits the number of HTTP ranges the server is willing to + return to the client. If more ranges than permitted are requested, + the complete resource is returned instead.

+ +
+
default
+
Limits the number of ranges to a compile-time default of 200.
+ +
none
+
Range headers are ignored.
+ +
unlimited
+
The server does not limit the number of ranges it is + willing to satisfy.
+ +
number-of-ranges
+
A positive number representing the maximum number of ranges the + server is willing to satisfy.
+
+ +
+
top
+

MergeSlashes Directive

+ + + + + + + + +
Description:Controls whether the server merges consecutive slashes in URLs. +
Syntax:MergeSlashes ON|OFF
Default:MergeSlashes ON
Context:server config, virtual host
Status:Core
Module:core
Compatibility:Added in 2.4.39
+

By default, the server merges (or collapses) multiple consecutive slash + ('/') characters in the path component of the request URL.

+ +

When mapping URL's to the filesystem, these multiple slashes are not + significant. However, URL's handled other ways, such as by CGI or proxy, + might prefer to retain the significance of multiple consecutive slashes. + In these cases MergeSlashes can be set to + OFF to retain the multiple consecutive slashes, which is the legacy behavior.

+

+ When set to "OFF", regular expressions used in the configuration file that match + the path component of the URL (LocationMatch, + RewriteRule, ...) need to take into account multiple + consecutive slashes. Non regular expression based Location always + operate against a URL with merged slashes and cannot differentiate between multiple slashes.

+ +
+
top
+

MergeTrailers Directive

+ + + + + + + + +
Description:Determines whether trailers are merged into headers
Syntax:MergeTrailers [on|off]
Default:MergeTrailers off
Context:server config, virtual host
Status:Core
Module:core
Compatibility:2.4.11 and later
+

This directive controls whether HTTP trailers are copied into the + internal representation of HTTP headers. This merging occurs when the + request body has been completely consumed, long after most header + processing would have a chance to examine or modify request headers.

+

This option is provided for compatibility with releases prior to 2.4.11, + where trailers were always merged.

+ +
+
top
+

Mutex Directive

+ + + + + + + + +
Description:Configures mutex mechanism and lock file directory for all +or specified mutexes
Syntax:Mutex mechanism [default|mutex-name] ... [OmitPID]
Default:Mutex default
Context:server config
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.3.4 and later
+

The Mutex directive sets the mechanism, + and optionally the lock file location, that httpd and modules use + to serialize access to resources. Specify default as + the second argument to change the settings for all mutexes; specify + a mutex name (see table below) as the second argument to override + defaults only for that mutex.

+ +

The Mutex directive is typically used in + the following exceptional situations:

+ +
    +
  • change the mutex mechanism when the default mechanism selected + by APR has a functional or performance + problem
  • + +
  • change the directory used by file-based mutexes when the + default directory does not support locking
  • +
+ +

Supported modules

+

This directive only configures mutexes which have been registered + with the core server using the ap_mutex_register() API. + All modules bundled with httpd support the Mutex + directive, but third-party modules may not. Consult the documentation + of the third-party module, which must indicate the mutex name(s) which + can be configured if this directive is supported.

+
+ +

The following mutex mechanisms are available:

+
    +
  • default | yes +

    This selects the default locking implementation, as determined by + APR. The default locking implementation can + be displayed by running httpd with the + -V option.

  • + +
  • none | no +

    This effectively disables the mutex, and is only allowed for a + mutex if the module indicates that it is a valid choice. Consult the + module documentation for more information.

  • + +
  • posixsem +

    This is a mutex variant based on a Posix semaphore.

    + +

    Warning

    +

    The semaphore ownership is not recovered if a thread in the process + holding the mutex segfaults, resulting in a hang of the web server.

    +
    +
  • + +
  • sysvsem +

    This is a mutex variant based on a SystemV IPC semaphore.

    + +

    Warning

    +

    It is possible to "leak" SysV semaphores if processes crash + before the semaphore is removed.

    +
    + +

    Security

    +

    The semaphore API allows for a denial of service attack by any + CGIs running under the same uid as the webserver (i.e., + all CGIs, unless you use something like suexec + or cgiwrapper).

    +
    +
  • + +
  • sem +

    This selects the "best" available semaphore implementation, choosing + between Posix and SystemV IPC semaphores, in that order.

  • + +
  • pthread +

    This is a mutex variant based on cross-process Posix thread + mutexes.

    + +

    Warning

    +

    On most systems, if a child process terminates abnormally while + holding a mutex that uses this implementation, the server will deadlock + and stop responding to requests. When this occurs, the server will + require a manual restart to recover.

    +

    Solaris and Linux are notable exceptions as they provide a mechanism which + usually allows the mutex to be recovered after a child process + terminates abnormally while holding a mutex.

    +

    If your system is POSIX compliant or if it implements the + pthread_mutexattr_setrobust_np() function, you may be able + to use the pthread option safely.

    +
    +
  • + +
  • fcntl:/path/to/mutex +

    This is a mutex variant where a physical (lock-)file and the + fcntl() function are used as the mutex.

    + +

    Warning

    +

    When multiple mutexes based on this mechanism are used within + multi-threaded, multi-process environments, deadlock errors (EDEADLK) + can be reported for valid mutex operations if fcntl() + is not thread-aware, such as on Solaris.

    +
    +
  • + +
  • flock:/path/to/mutex +

    This is similar to the fcntl:/path/to/mutex method + with the exception that the flock() function is used to + provide file locking.

  • + +
  • file:/path/to/mutex +

    This selects the "best" available file locking implementation, + choosing between fcntl and flock, in that + order.

  • +
+ +

Most mechanisms are only available on selected platforms, where the + underlying platform and APR support it. Mechanisms + which aren't available on all platforms are posixsem, + sysvsem, sem, pthread, fcntl, + flock, and file.

+ +

With the file-based mechanisms fcntl and flock, + the path, if provided, is a directory where the lock file will be created. + The default directory is httpd's run-time file directory relative to + ServerRoot. Always use a local disk + filesystem for /path/to/mutex and never a directory residing + on a NFS- or AFS-filesystem. The basename of the file will be the mutex + type, an optional instance string provided by the module, and unless the + OmitPID keyword is specified, the process id of the httpd + parent process will be appended to make the file name unique, avoiding + conflicts when multiple httpd instances share a lock file directory. For + example, if the mutex name is mpm-accept and the lock file + directory is /var/httpd/locks, the lock file name for the + httpd instance with parent process id 12345 would be + /var/httpd/locks/mpm-accept.12345.

+ +

Security

+

It is best to avoid putting mutex files in a world-writable + directory such as /var/tmp because someone could create + a denial of service attack and prevent the server from starting by + creating a lockfile with the same name as the one the server will try + to create.

+
+ +

The following table documents the names of mutexes used by httpd + and bundled modules.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mutex nameModule(s)Protected resource
mpm-acceptprefork and worker MPMsincoming connections, to avoid the thundering herd problem; + for more information, refer to the + performance tuning + documentation
authdigest-clientmod_auth_digestclient list in shared memory
authdigest-opaquemod_auth_digestcounter in shared memory
ldap-cachemod_ldapLDAP result cache
rewrite-mapmod_rewritecommunication with external mapping programs, to avoid + intermixed I/O from multiple requests
ssl-cachemod_sslSSL session cache
ssl-staplingmod_sslOCSP stapling response cache
watchdog-callbackmod_watchdogcallback function of a particular client module
+ +

The OmitPID keyword suppresses the addition of the httpd + parent process id from the lock file name.

+ +

In the following example, the mutex mechanism for the MPM accept + mutex will be changed from the compiled-in default to fcntl, + with the associated lock file created in directory + /var/httpd/locks. The mutex mechanism for all other mutexes + will be changed from the compiled-in default to sysvsem.

+ +
Mutex sysvsem default
+Mutex fcntl:/var/httpd/locks mpm-accept
+ + +
+
top
+

NameVirtualHost Directive

+ + + + + + +
Description:DEPRECATED: Designates an IP address for name-virtual +hosting
Syntax:NameVirtualHost addr[:port]
Context:server config
Status:Core
Module:core
+ +

Prior to 2.3.11, NameVirtualHost was required +to instruct the server that a particular IP address and port combination +was usable as a name-based virtual host. In 2.3.11 and later, +any time an IP address and port combination is used in multiple virtual +hosts, name-based virtual hosting is automatically enabled for that address.

+ +

This directive currently has no effect.

+ +

See also

+ +
+
top
+

Options Directive

+ + + + + + + + + +
Description:Configures what features are available in a particular +directory
Syntax:Options + [+|-]option [[+|-]option] ...
Default:Options FollowSymlinks
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Core
Module:core
Compatibility:The default was changed from All to FollowSymlinks in 2.3.11
+

The Options directive controls which + server features are available in a particular directory.

+ +

option can be set to None, in which + case none of the extra features are enabled, or one or more of + the following:

+ +
+
All
+ +
All options except for MultiViews.
+ +
ExecCGI
+ +
+ Execution of CGI scripts using mod_cgi + is permitted.
+ +
FollowSymLinks
+ +
+ The server will follow symbolic links in this directory. This is + the default setting. +
+

Even though the server follows the symlink it does not + change the pathname used to match against <Directory> sections.

+ +

The FollowSymLinks and + SymLinksIfOwnerMatch Options work only in <Directory> sections or + .htaccess files.

+ +

Omitting this option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.

+
+ +
Includes
+ +
+ Server-side includes provided by mod_include + are permitted.
+ +
IncludesNOEXEC
+ +
+ + Server-side includes are permitted, but the #exec + cmd and #exec cgi are disabled. It is still + possible to #include virtual CGI scripts from + ScriptAliased + directories.
+ +
Indexes
+ +
+ If a URL which maps to a directory is requested and there + is no DirectoryIndex + (e.g., index.html) in that directory, then + mod_autoindex will return a formatted listing + of the directory.
+ +
MultiViews
+ +
+ Content negotiated + "MultiViews" are allowed using + mod_negotiation. +

Note

This option gets ignored if set + anywhere other than <Directory>, as mod_negotiation + needs real resources to compare against and evaluate from.

+
+ +
SymLinksIfOwnerMatch
+ +
The server will only follow symbolic links for which the + target file or directory is owned by the same user id as the + link. + +

Note

+

The FollowSymLinks and + SymLinksIfOwnerMatch Options work only in <Directory> sections or + .htaccess files.

+ +

This option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.

+
+
+ +

Normally, if multiple Options could + apply to a directory, then the most specific one is used and + others are ignored; the options are not merged. (See how sections are merged.) + However if all the options on the + Options directive are preceded by a + + or - symbol, the options are + merged. Any options preceded by a + are added to the + options currently in force, and any options preceded by a + - are removed from the options currently in + force.

+ +

Note

+

Mixing Options with a + or + - with those without is not valid syntax and will be + rejected during server startup by the syntax check with an abort.

+
+ +

For example, without any + and - symbols:

+ +
<Directory "/web/docs">
+  Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+  Options Includes
+</Directory>
+ + +

then only Includes will be set for the + /web/docs/spec directory. However if the second + Options directive uses the + and + - symbols:

+ +
<Directory "/web/docs">
+  Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+  Options +Includes -Indexes
+</Directory>
+ + +

then the options FollowSymLinks and + Includes are set for the /web/docs/spec + directory.

+ +

Note

+

Using -IncludesNOEXEC or + -Includes disables server-side includes completely + regardless of the previous setting.

+
+ +

The default in the absence of any other settings is + FollowSymlinks.

+ +
+
top
+

Protocol Directive

+ + + + + + + +
Description:Protocol for a listening socket
Syntax:Protocol protocol
Context:server config, virtual host
Status:Core
Module:core
Compatibility:Available in Apache 2.1.5 and later. +On Windows, from Apache 2.3.3 and later.
+

This directive specifies the protocol used for a specific listening socket. + The protocol is used to determine which module should handle a request and + to apply protocol specific optimizations with the AcceptFilter + directive.

+ +

This directive not required for most + configurations. If not specified, https is the default for + port 443 and http the default for all other ports. The + protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the + AcceptFilter directive.

+ +

For example, if you are running https on a non-standard port, + specify the protocol explicitly:

+ +
Protocol https
+ + +

You can also specify the protocol using the Listen directive.

+ +

See also

+ +
+
top
+

Protocols Directive

+ + + + + + + + +
Description:Protocols available for a server/virtual host
Syntax:Protocols protocol ...
Default:Protocols http/1.1
Context:server config, virtual host
Status:Core
Module:core
Compatibility:Only available from Apache 2.4.17 and later.
+

This directive specifies the list of protocols supported for a + server/virtual host. The list determines the allowed protocols + a client may negotiate for this server/host.

+ +

You need to set protocols if you want to extend the available + protocols for a server/host. By default, only the http/1.1 protocol + (which includes the compatibility with 1.0 and 0.9 clients) is + allowed.

+ +

For example, if you want to support HTTP/2 for a server with TLS, + specify:

+ +
Protocols h2 http/1.1
+ + +

Valid protocols are http/1.1 for http and https connections, + h2 on https connections and h2c for http + connections. Modules may enable more protocols.

+ +

It is safe to specify protocols that are unavailable/disabled. Such + protocol names will simply be ignored.

+ +

Protocols specified in base servers are inherited for virtual hosts + only if the virtual host has no own Protocols directive. Or, the other + way around, Protocols directives in virtual hosts replace any + such directive in the base server. +

+ + +

See also

+ +
+
top
+

ProtocolsHonorOrder Directive

+ + + + + + + + +
Description:Determines if order of Protocols determines precedence during negotiation
Syntax:ProtocolsHonorOrder On|Off
Default:ProtocolsHonorOrder On
Context:server config, virtual host
Status:Core
Module:core
Compatibility:Only available from Apache 2.4.17 and later.
+

This directive specifies if the server should honor the order in which + the Protocols directive lists protocols.

+ +

If configured Off, the client supplied list order of protocols has + precedence over the order in the server configuration.

+ +

With ProtocolsHonorOrder set to on + (default), the client ordering does not matter and only the ordering + in the server settings influences the outcome of the protocol + negotiation.

+ + +

See also

+ +
+
top
+

QualifyRedirectURL Directive

+ + + + + + + + + +
Description:Controls whether the REDIRECT_URL environment variable is + fully qualified
Syntax:QualifyRedirectURL On|Off
Default:QualifyRedirectURL Off
Context:server config, virtual host, directory
Override:FileInfo
Status:Core
Module:core
Compatibility:Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.
+

This directive controls whether the server will ensure that the + REDIRECT_URL environment variable is fully qualified. By default, + the variable contains the verbatim URL requested by the client, + such as "/index.html". With QualifyRedirectURL On, the same request would result in a + value such as "http://www.example.com/index.html".

+

Even without this directive set, when a request is issued against a + fully qualified URL, REDIRECT_URL will remain fully qualified. +

+ +
+
top
+

ReadBufferSize Directive

+ + + + + + + + +
Description:Size of the buffers used to read data
Syntax:ReadBufferSize bytes
Default:ReadBufferSize 8192
Context:server config, virtual host, directory
Status:Core
Module:core
Compatibility:2.4.27 and later
+

This directive allows to configure the size (in bytes) of the memory + buffer used to read data from the network or files.

+ +

A larger buffer can increase peformances with larger data, but consumes + more memory per connection. The minimum configurable size is + 1024.

+ +
+
top
+

RegexDefaultOptions Directive

+ + + + + + + + +
Description:Allow to configure global/default options for regexes
Syntax:RegexDefaultOptions [none] [+|-]option [[+|-]option] ...
Default:RegexDefaultOptions DOTALL DOLLAR_ENDONLY
Context:server config
Status:Core
Module:core
Compatibility:Only available from Apache 2.4.30 and later.
+

This directive adds some default behavior to ANY regular expression + used afterwards.

+ +

Any option preceded by a '+' is added to the already set options.
+ Any option preceded by a '-' is removed from the already set options.
+ Any option without a '+' or a '-' will be set, removing any other + already set option.
+ The none keyword resets any already set options.

+ +

option can be:

+
+
ICASE
+
Use a case-insensitive match.
+ +
EXTENDED
+
Perl's /x flag, ignore (unescaped-)spaces and comments in the pattern.
+ +
DOTALL
+
Perl's /s flag, '.' matches newline characters.
+ +
DOLLAR_ENDONLY
+
'$' matches at end of subject string only.
+
+
# Add the ICASE option for all regexes by default
+RegexDefaultOptions +ICASE
+...
+# Remove the default DOLLAR_ENDONLY option, but keep any other one
+RegexDefaultOptions -DOLLAR_ENDONLY
+...
+# Set the DOTALL option only, resetting any other one
+RegexDefaultOptions DOTALL
+...
+# Reset all defined options
+RegexDefaultOptions none
+...
+ + +
+
top
+

RegisterHttpMethod Directive

+ + + + + + + +
Description:Register non-standard HTTP methods
Syntax:RegisterHttpMethod method [method [...]]
Context:server config
Status:Core
Module:core
Compatibility:Available in Apache HTTP Server 2.4.24 and later
+

This directive may be used to register additional HTTP methods. This is +necessary if non-standard methods need to be used with directives that accept +method names as parameters, or to allow particular non-standard methods to be +used via proxy or CGI script when the server has been configured to only pass +recognized methods to modules.

+ +

See also

+ +
+
top
+

RLimitCPU Directive

+ + + + + + + + +
Description:Limits the CPU consumption of processes launched +by Apache httpd children
Syntax:RLimitCPU seconds|max [seconds|max]
Default:Unset; uses operating system defaults
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or max to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as root or in the initial startup + phase.

+ +

This applies to processes forked from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked from the Apache httpd parent, such as piped + logs.

+ +

CPU resource limits are expressed in seconds per + process.

+ +

See also

+ +
+
top
+

RLimitMEM Directive

+ + + + + + + + +
Description:Limits the memory consumption of processes launched +by Apache httpd children
Syntax:RLimitMEM bytes|max [bytes|max]
Default:Unset; uses operating system defaults
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or max to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as root or in the initial startup + phase.

+ +

This applies to processes forked from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked from the Apache httpd parent, such as piped + logs.

+ +

Memory resource limits are expressed in bytes per + process.

+ +

See also

+ +
+
top
+

RLimitNPROC Directive

+ + + + + + + + +
Description:Limits the number of processes that can be launched by +processes launched by Apache httpd children
Syntax:RLimitNPROC number|max [number|max]
Default:Unset; uses operating system defaults
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes, and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or max to indicate to the server that the limit + should be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as root or in the initial startup + phase.

+ +

This applies to processes forked from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked from the Apache httpd parent, such as piped + logs.

+ +

Process limits control the number of processes per user.

+ +

Note

+

If CGI processes are not running + under user ids other than the web server user id, this directive + will limit the number of processes that the server itself can + create. Evidence of this situation will be indicated by + cannot fork messages in the + error_log.

+
+ +

See also

+ +
+
top
+

ScriptInterpreterSource Directive

+ + + + + + + + + +
Description:Technique for locating the interpreter for CGI +scripts
Syntax:ScriptInterpreterSource Registry|Registry-Strict|Script
Default:ScriptInterpreterSource Script
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
Compatibility:Win32 only.
+

This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. The default setting is + Script. This causes Apache httpd to use the interpreter pointed to + by the shebang line (first line, starting with #!) in the + script. On Win32 systems this line usually looks like:

+ +
#!C:/Perl/bin/perl.exe
+ + +

or, if perl is in the PATH, simply:

+ +
#!perl
+ + +

Setting ScriptInterpreterSource Registry will + cause the Windows Registry tree HKEY_CLASSES_ROOT to be + searched using the script file extension (e.g., .pl) as a + search key. The command defined by the registry subkey + Shell\ExecCGI\Command or, if it does not exist, by the subkey + Shell\Open\Command is used to open the script file. If the + registry keys cannot be found, Apache httpd falls back to the behavior of the + Script option.

+ +

Security

+

Be careful when using ScriptInterpreterSource + Registry with ScriptAlias'ed directories, because + Apache httpd will try to execute every file within this + directory. The Registry setting may cause undesired + program calls on files which are typically not executed. For + example, the default open command on .htm files on + most Windows systems will execute Microsoft Internet Explorer, so + any HTTP request for an .htm file existing within the + script directory would start the browser in the background on the + server. This is a good way to crash your system within a minute or + so.

+
+ +

The option Registry-Strict + does the same thing as Registry but uses only the + subkey Shell\ExecCGI\Command. The + ExecCGI key is not a common one. It must be + configured manually in the windows registry and hence prevents + accidental program calls on your system.

+ +
+
top
+

SeeRequestTail Directive

+ + + + + + + + +
Description:Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
Syntax:SeeRequestTail On|Off
Default:SeeRequestTail Off
Context:server config
Status:Core
Module:core
Compatibility:Available in Apache httpd 2.2.7 and later.
+

mod_status with ExtendedStatus On + displays the actual request being handled. + For historical purposes, only 63 characters of the request + are actually stored for display purposes. This directive + controls whether the first 63 characters are stored (the previous + behavior and the default) or if the last 63 characters are. This + is only applicable, of course, if the length of the request is + 64 characters or greater.

+ +

If Apache httpd is handling GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1 mod_status displays as follows: +

+ + + + + + + + + + +
Off (default)GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples
Onorage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1
+ + +
+
top
+

ServerAdmin Directive

+ + + + + + +
Description:Email address that the server includes in error +messages sent to the client
Syntax:ServerAdmin email-address|URL
Context:server config, virtual host
Status:Core
Module:core
+

The ServerAdmin sets the contact address + that the server includes in any error messages it returns to the + client. If the httpd doesn't recognize the supplied argument + as an URL, it + assumes, that it's an email-address and prepends it with + mailto: in hyperlink targets. However, it's recommended to + actually use an email address, since there are a lot of CGI scripts that + make that assumption. If you want to use an URL, it should point to another + server under your control. Otherwise users may not be able to contact you in + case of errors.

+ +

It may be worth setting up a dedicated address for this, e.g.

+ +
ServerAdmin www-admin@foo.example.com
+ +

as users do not always mention that they are talking about the + server!

+ +
+
top
+

ServerAlias Directive

+ + + + + + +
Description:Alternate names for a host used when matching requests +to name-virtual hosts
Syntax:ServerAlias hostname [hostname] ...
Context:virtual host
Status:Core
Module:core
+

The ServerAlias directive sets the + alternate names for a host, for use with name-based virtual hosts. The + ServerAlias may include wildcards, if appropriate.

+ +
<VirtualHost *:80>
+  ServerName server.example.com
+  ServerAlias server server2.example.com server2
+  ServerAlias *.example.com
+  UseCanonicalName Off
+  # ...
+</VirtualHost>
+ + +

Name-based virtual hosts for the best-matching set of <virtualhost>s are processed + in the order they appear in the configuration. The first matching ServerName or ServerAlias is used, with no different precedence for wildcards + (nor for ServerName vs. ServerAlias).

+ +

The complete list of names in the <VirtualHost> + directive are treated just like a (non wildcard) + ServerAlias.

+ + +

See also

+ +
+
top
+

ServerName Directive

+ + + + + + +
Description:Hostname and port that the server uses to identify +itself
Syntax:ServerName [scheme://]domain-name|ip-address[:port]
Context:server config, virtual host
Status:Core
Module:core
+

The ServerName directive sets the + request scheme, hostname and port that the server uses to identify itself. +

+ +

ServerName is used (possibly + in conjunction with ServerAlias) to uniquely + identify a virtual host, when using name-based virtual hosts.

+ +

Additionally, this is used when + creating self-referential redirection URLs when + UseCanonicalName is set to a non-default + value.

+ +

For example, if the name of the + machine hosting the web server is simple.example.com, + but the machine also has the DNS alias www.example.com + and you wish the web server to be so identified, the following + directive should be used:

+ +
ServerName www.example.com
+ + +

The ServerName directive + may appear anywhere within the definition of a server. However, + each appearance overrides the previous appearance (within that + server).

+ +

If no ServerName is specified, the + server attempts to deduce the client visible hostname by first asking + the operating system for the system hostname, and if that fails, + performing a reverse lookup on an IP address present on the system.

+ +

If no port is specified in the + ServerName, then the server will use the + port from the incoming request. For optimal reliability and + predictability, you should specify an explicit hostname and port + using the ServerName directive.

+ +

If you are using name-based virtual hosts, + the ServerName inside a + <VirtualHost> + section specifies what hostname must appear in the request's + Host: header to match this virtual host.

+ +

Sometimes, the server runs behind a device that processes SSL, + such as a reverse proxy, load balancer or SSL offload + appliance. When this is the case, specify the + https:// scheme and the port number to which the + clients connect in the ServerName directive + to make sure that the server generates the correct + self-referential URLs. +

+ +

See the description of the + UseCanonicalName and + UseCanonicalPhysicalPort directives for + settings which determine whether self-referential URLs (e.g., by the + mod_dir module) will refer to the + specified port, or to the port number given in the client's request. +

+ +
+

Failure to set ServerName to a name that + your server can resolve to an IP address will result in a startup + warning. httpd will then use whatever hostname it can + determine, using the system's hostname command. This + will almost never be the hostname you actually want.

+

+ httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName +

+
+ + +

See also

+ +
+
top
+

ServerPath Directive

+ + + + + + +
Description:Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser
Syntax:ServerPath URL-path
Context:virtual host
Status:Core
Module:core
+

The ServerPath directive sets the legacy + URL pathname for a host, for use with name-based virtual hosts.

+ +

See also

+ +
+
top
+

ServerRoot Directive

+ + + + + + + +
Description:Base directory for the server installation
Syntax:ServerRoot directory-path
Default:ServerRoot /usr/local/apache
Context:server config
Status:Core
Module:core
+

The ServerRoot directive sets the + directory in which the server lives. Typically it will contain the + subdirectories conf/ and logs/. Relative + paths in other configuration directives (such as Include or LoadModule, for example) are taken as + relative to this directory.

+ +
ServerRoot "/home/httpd"
+ + +

The default location of ServerRoot may be + modified by using the --prefix argument to + configure, and + most third-party distributions of the server have a different + default location from the one listed above.

+ + +

See also

+ +
+
top
+

ServerSignature Directive

+ + + + + + + + +
Description:Configures the footer on server-generated documents
Syntax:ServerSignature On|Off|EMail
Default:ServerSignature Off
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Core
Module:core
+

The ServerSignature directive allows the + configuration of a trailing footer line under server-generated + documents (error messages, mod_proxy ftp directory + listings, mod_info output, ...). The reason why you + would want to enable such a footer line is that in a chain of proxies, + the user often has no possibility to tell which of the chained servers + actually produced a returned error message.

+ +

The Off + setting, which is the default, suppresses the footer line. + The On setting simply adds a line with the + server version number and ServerName of the serving virtual host, + and the EMail setting additionally creates a + "mailto:" reference to the ServerAdmin of the referenced + document.

+ +

The details of the server version number + presented are controlled by the ServerTokens directive.

+ +

See also

+ +
+
top
+

ServerTokens Directive

+ + + + + + + +
Description:Configures the Server HTTP response +header
Syntax:ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
Default:ServerTokens Full
Context:server config
Status:Core
Module:core
+

This directive controls whether Server response + header field which is sent back to clients includes a + description of the generic OS-type of the server as well as + information about compiled-in modules.

+ +
+
ServerTokens Full (or not specified)
+ +
Server sends (e.g.): Server: Apache/2.4.2 + (Unix) PHP/4.2.2 MyMod/1.2
+ +
ServerTokens Prod[uctOnly]
+ +
Server sends (e.g.): Server: + Apache
+ +
ServerTokens Major
+ +
Server sends (e.g.): Server: + Apache/2
+ +
ServerTokens Minor
+ +
Server sends (e.g.): Server: + Apache/2.4
+ +
ServerTokens Min[imal]
+ +
Server sends (e.g.): Server: + Apache/2.4.2
+ +
ServerTokens OS
+ +
Server sends (e.g.): Server: Apache/2.4.2 + (Unix)
+ +
+ +

This setting applies to the entire server, and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis.

+ +

This directive also controls the + information presented by the ServerSignature directive.

+ +
Setting ServerTokens to less than + minimal is not recommended because it makes it more + difficult to debug interoperational problems. Also note that + disabling the Server: header does nothing at all to make your + server more secure. The idea of "security through obscurity" + is a myth and leads to a false sense of safety.
+ +

See also

+ +
+
top
+

SetHandler Directive

+ + + + + + + + +
Description:Forces all matching files to be processed by a +handler
Syntax:SetHandler handler-name|none|expression
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
Compatibility:expression argument 2.4.19 and later
+

When placed into an .htaccess file or a + <Directory> or + <Location> + section, this directive forces all matching files to be parsed + through the handler given by + handler-name. For example, if you had a directory you + wanted to be parsed entirely as imagemap rule files, regardless + of extension, you might put the following into an + .htaccess file in that directory:

+ +
SetHandler imap-file
+ + +

Another example: if you wanted to have the server display a + status report whenever a URL of + http://servername/status was called, you might put + the following into httpd.conf:

+ +
<Location "/status">
+  SetHandler server-status
+</Location>
+ + +

You could also use this directive to configure a particular + handler for files with a particular file extension. For example:

+ +
<FilesMatch "\.php$">
+    SetHandler application/x-httpd-php
+</FilesMatch>
+ + +

String-valued expressions can be used to reference per-request + variables, including backreferences to named regular expressions:

+ +
<LocationMatch ^/app/(?<sub>[^/]+)/>
+     SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080"
+</LocationMatch>
+ + +

You can override an earlier defined SetHandler + directive by using the value None.

+ +

Note

+

Because SetHandler overrides default handlers, + normal behavior such as handling of URLs ending in a slash (/) as + directories or index files is suppressed.

+ +

See also

+ +
+
top
+

SetInputFilter Directive

+ + + + + + + +
Description:Sets the filters that will process client requests and POST +input
Syntax:SetInputFilter filter[;filter...]
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
+

The SetInputFilter directive sets the + filter or filters which will process client requests and POST + input when they are received by the server. This is in addition to + any filters defined elsewhere, including the + AddInputFilter + directive.

+ +

If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.

+ +

See also

+ +
+
top
+

SetOutputFilter Directive

+ + + + + + + +
Description:Sets the filters that will process responses from the +server
Syntax:SetOutputFilter filter[;filter...]
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Core
Module:core
+

The SetOutputFilter directive sets the filters + which will process responses from the server before they are + sent to the client. This is in addition to any filters defined + elsewhere, including the + AddOutputFilter + directive.

+ +

For example, the following configuration will process all files + in the /www/data/ directory for server-side + includes.

+ +
<Directory "/www/data/">
+  SetOutputFilter INCLUDES
+</Directory>
+ + +

If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.

+ +

See also

+ +
+
top
+

StrictHostCheck Directive

+ + + + + + + + +
Description:Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Syntax:StrictHostCheck ON|OFF
Default:StrictHostCheck OFF
Context:server config, virtual host
Status:Core
Module:core
Compatibility:Added in 2.4.49
+

By default, the server will respond to requests for any hostname, + including requests addressed to unexpected or unconfigured hostnames. + While this is convenient, it is sometimes desirable to limit what hostnames + a backend application handles since it will often generate self-referential + responses.

+ +

By setting StrictHostCheck to ON, + the server will return an HTTP 400 error if the requested hostname + hasn't been explicitly listed by either ServerName or ServerAlias in the virtual host that best matches the + details of the incoming connection.

+ +

This directive also allows matching of the requested hostname to hostnames + specified within the opening VirtualHost + tag, which is a relatively obscure configuration mechanism that acts like + additional ServerAlias entries.

+ +

This directive has no affect in non-default virtual hosts. The value + inherited from the global server configuration, or the default virtualhost + for the ip:port the underlying connection, determine the effective value.

+ +
+
top
+

TimeOut Directive

+ + + + + + + +
Description:Amount of time the server will wait for +certain events before failing a request
Syntax:TimeOut seconds
Default:TimeOut 60
Context:server config, virtual host
Status:Core
Module:core
+

The TimeOut directive defines the length + of time Apache httpd will wait for I/O in various circumstances:

+ +
    +
  • When reading data from the client, the length of time to + wait for a TCP packet to arrive if the read buffer is + empty.

    +

    For initial data on a new connection, this directive doesn't + take effect until after any configured + AcceptFilter has passed the new connection to the server.

    +
  • + +
  • When writing data to the client, the length of time to wait + for an acknowledgement of a packet if the send buffer is + full.
  • + +
  • In mod_cgi and mod_cgid, + the length of time to wait for any individual block of output + from a CGI script.
  • + +
  • In mod_ext_filter, the length of time to + wait for output from a filtering process.
  • + +
  • In mod_proxy, the default timeout value if + ProxyTimeout is not + configured.
  • +
+ + +
+
top
+

TraceEnable Directive

+ + + + + + + +
Description:Determines the behavior on TRACE requests
Syntax:TraceEnable [on|off|extended]
Default:TraceEnable on
Context:server config, virtual host
Status:Core
Module:core
+

This directive overrides the behavior of TRACE for both + the core server and mod_proxy. The default + TraceEnable on permits TRACE requests per + RFC 2616, which disallows any request body to accompany the request. + TraceEnable off causes the core server and + mod_proxy to return a 405 (Method not + allowed) error to the client.

+ +

Finally, for testing and diagnostic purposes only, request + bodies may be allowed using the non-compliant TraceEnable + extended directive. The core (as an origin server) will + restrict the request body to 64Kb (plus 8Kb for chunk headers if + Transfer-Encoding: chunked is used). The core will + reflect the full headers and all chunk headers with the response + body. As a proxy server, the request body is not restricted to 64Kb.

+ +

Note

+ +

Despite claims to the contrary, enabling the TRACE + method does not expose any security vulnerability in Apache httpd. + The TRACE method is defined by the HTTP/1.1 + specification and implementations are expected to support it.

+ +
+ +
+
top
+

UnDefine Directive

+ + + + + + +
Description:Undefine the existence of a variable
Syntax:UnDefine parameter-name
Context:server config
Status:Core
Module:core
+

Undoes the effect of a Define or + of passing a -D argument to httpd.

+

This directive can be used to toggle the use of <IfDefine> sections without needing to alter + -D arguments in any startup scripts.

+ +

Variable names may not contain colon ":" characters, to avoid clashes + with RewriteMap's syntax.

+ +

Virtual Host scope and pitfalls

+

While this directive is supported in virtual host context, + the changes it makes are visible to any later configuration + directives, beyond any enclosing virtual host.

+
+ +

See also

+ +
+
top
+

UseCanonicalName Directive

+ + + + + + + +
Description:Configures how the server determines its own name and +port
Syntax:UseCanonicalName On|Off|DNS
Default:UseCanonicalName Off
Context:server config, virtual host, directory
Status:Core
Module:core
+

In many situations Apache httpd must construct a self-referential + URL -- that is, a URL that refers back to the same server. With + UseCanonicalName On Apache httpd will use the hostname and port + specified in the ServerName + directive to construct the canonical name for the server. This name + is used in all self-referential URLs, and for the values of + SERVER_NAME and SERVER_PORT in CGIs.

+ +

With UseCanonicalName Off Apache httpd will form + self-referential URLs using the hostname and port supplied by + the client if any are supplied (otherwise it will use the + canonical name, as defined above). These values are the same + that are used to implement name-based virtual hosts + and are available with the same clients. The CGI variables + SERVER_NAME and SERVER_PORT will be + constructed from the client supplied values as well.

+ +

An example where this may be useful is on an intranet server + where you have users connecting to the machine using short + names such as www. You'll notice that if the users + type a shortname and a URL which is a directory, such as + http://www/splat, without the trailing + slash, then Apache httpd will redirect them to + http://www.example.com/splat/. If you have + authentication enabled, this will cause the user to have to + authenticate twice (once for www and once again + for www.example.com -- see + the FAQ on this subject for more information). But if + UseCanonicalName is set Off, then + Apache httpd will redirect to http://www/splat/.

+ +

There is a third option, UseCanonicalName DNS, + which is intended for use with mass IP-based virtual hosting to + support ancient clients that do not provide a + Host: header. With this option, Apache httpd does a + reverse DNS lookup on the server IP address that the client + connected to in order to work out self-referential URLs.

+ +

Warning

+

If CGIs make assumptions about the values of SERVER_NAME, + they may be broken by this option. The client is essentially free + to give whatever value they want as a hostname. But if the CGI is + only using SERVER_NAME to construct self-referential URLs, + then it should be just fine.

+
+ +

See also

+ +
+
top
+

UseCanonicalPhysicalPort Directive

+ + + + + + + +
Description:Configures how the server determines its own port
Syntax:UseCanonicalPhysicalPort On|Off
Default:UseCanonicalPhysicalPort Off
Context:server config, virtual host, directory
Status:Core
Module:core
+

In many situations Apache httpd must construct a self-referential + URL -- that is, a URL that refers back to the same server. With + UseCanonicalPhysicalPort On, Apache httpd will, when + constructing the canonical port for the server to honor + the UseCanonicalName directive, + provide the actual physical port number being used by this request + as a potential port. With UseCanonicalPhysicalPort Off, + Apache httpd will not ever use the actual physical port number, instead + relying on all configured information to construct a valid port number.

+ +

Note

+

The ordering of the lookup when the physical port is used is as + follows:

+
+
UseCanonicalName On
+
+
    +
  1. Port provided in Servername
  2. +
  3. Physical port
  4. +
  5. Default port
  6. +
+
+
UseCanonicalName Off | DNS
+
+
    +
  1. Parsed port from Host: header
  2. +
  3. Physical port
  4. +
  5. Port provided in Servername
  6. +
  7. Default port
  8. +
+
+
+ +

With UseCanonicalPhysicalPort Off, the + physical ports are removed from the ordering.

+
+ + +

See also

+ +
+
top
+

<VirtualHost> Directive

+ + + + + + +
Description:Contains directives that apply only to a specific +hostname or IP address
Syntax:<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>
Context:server config
Status:Core
Module:core
+

<VirtualHost> and + </VirtualHost> are used to enclose a group of + directives that will apply only to a particular virtual host. Any + directive that is allowed in a virtual host context may be + used. When the server receives a request for a document on a + particular virtual host, it uses the configuration directives + enclosed in the <VirtualHost> + section. Addr can be any of the following, optionally followed by + a colon and a port number (or *):

+ +
    +
  • The IP address of the virtual host;
  • + +
  • A fully qualified domain name for the IP address of the + virtual host (not recommended);
  • + +
  • The character *, which acts as a wildcard and matches + any IP address.
  • + +
  • The string _default_, which is an alias for *
  • + +
+ +
<VirtualHost 10.1.2.3:80>
+  ServerAdmin webmaster@host.example.com
+  DocumentRoot "/www/docs/host.example.com"
+  ServerName host.example.com
+  ErrorLog "logs/host.example.com-error_log"
+  TransferLog "logs/host.example.com-access_log"
+</VirtualHost>
+ + + +

IPv6 addresses must be specified in square brackets because + the optional port number could not be determined otherwise. An + IPv6 example is shown below:

+ +
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
+  ServerAdmin webmaster@host.example.com
+  DocumentRoot "/www/docs/host.example.com"
+  ServerName host.example.com
+  ErrorLog "logs/host.example.com-error_log"
+  TransferLog "logs/host.example.com-access_log"
+</VirtualHost>
+ + +

Each Virtual Host must correspond to a different IP address, + different port number, or a different host name for the server, + in the former case the server machine must be configured to + accept IP packets for multiple addresses. (If the machine does + not have multiple network interfaces, then this can be + accomplished with the ifconfig alias command -- if + your OS supports it).

+ +

Note

+

The use of <VirtualHost> does + not affect what addresses Apache httpd listens on. You + may need to ensure that Apache httpd is listening on the correct addresses + using Listen.

+
+ +

A ServerName should be + specified inside each <VirtualHost> block. If it is absent, the + ServerName from the "main" + server configuration will be inherited.

+ +

When a request is received, the server first maps it to the best matching + <VirtualHost> based on the local + IP address and port combination only. Non-wildcards have a higher + precedence. If no match based on IP and port occurs at all, the + "main" server configuration is used.

+ +

If multiple virtual hosts contain the best matching IP address and port, + the server selects from these virtual hosts the best match based on the + requested hostname. If no matching name-based virtual host is found, + then the first listed virtual host that matched the IP address will be + used. As a consequence, the first listed virtual host for a given IP address + and port combination is the default virtual host for that IP and port + combination.

+ +

Security

+

See the security tips + document for details on why your security could be compromised if the + directory where log files are stored is writable by anyone other + than the user that starts the server.

+
+ +

See also

+ +
+
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/core.html.es b/docs/manual/mod/core.html.es new file mode 100644 index 0000000..584c38e --- /dev/null +++ b/docs/manual/mod/core.html.es @@ -0,0 +1,4602 @@ + + + + + +core - Servidor HTTP Apache Versión 2.4 + + + + + + + + +
<-
+ +
+

Funcionalidad Básica de Apache

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ +
Descripción:Funcionalides básicas del Servidor HTTP Apache que siempre están presentes.
Estado:Core
+
+
Support Apache!

Directivas

+ +

Lista de comprobación de errores corregidos

Consulte también

+
+ +
top
+

Directiva AcceptFilter

+ + + + + + + +
Descripción:Configura mejoras para un Protocolo de Escucha de Sockets
Sintaxis:AcceptFilter protocol accept_filter
Contexto:server config
Estado:Core
Módulo:core
Compatibilidad:Disponible en Apache httpd 2.1.5 y posteriores. +En Windows desde Apache httpd 2.3.3 y posteriores.
+

Esta directiva hace posible mejoras específicas a nivel de sistema operativo + y a través del tipo de Protocolo para un socket que escucha. + La premisa básica es que el kernel no envíe un socket al servidor + hasta que o bien los datos se hayan recibido o bien se haya almacenado + en el buffer una Respuesta HTTP completa. + Actualmente sólo están soportados + + Accept Filters sobre FreeBSD, TCP_DEFER_ACCEPT sobre Linux, + y AcceptEx() sobre Windows.

+ +

El uso de none para un argumento desactiva cualquier filtro + aceptado para ese protocolo. Esto es útil para protocolos que requieren que un + servidor envíe datos primeros, tales como ftp: o nntp:

+

AcceptFilter nntp none

+ +

Los nombres de protocolo por defecto son https para el puerto 443 + y http para todos los demás puertos. Para especificar que se está + utilizando otro protocolo con un puerto escuchando, añade el argumento protocol + a la directiva Listen.

+ +

Sobre FreeBDS los valores por defecto:

+

+ AcceptFilter http httpready
+ AcceptFilter https dataready +

+ +

El filtro httpready almacena en el buffer peticiones HTTP completas + a nivel de kernel. Una vez que la petición es recibida, el kernel la envía al servidor. + Consulta la página man de + + accf_http(9) para más detalles. Puesto que las peticiones HTTPS + están encriptadas, sólo se utiliza el filtro + accf_data(9).

+ +

Sobre Linux los valores por defecto son:

+

+ AcceptFilter http data
+ AcceptFilter https data +

+ +

En Linux, TCP_DEFER_ACCEPT no soporta el buffering en peticiones http. + Cualquier valor además de none habilitará + TCP_DEFER_ACCEPT en ese socket. Para más detalles + ver la página man de Linux + + tcp(7).

+ +

Sobre Windows los valores por defecto son:

+

+ AcceptFilter http data
+ AcceptFilter https data +

+ +

Sobre Windows mpm_winnt interpreta el argumento AcceptFilter para conmutar la API + AcceptEx(), y no soporta el buffering sobre el protocolo http. Hay dos valores + que utilizan la API Windows AcceptEx() y que recuperan sockets de red + entre conexciones. data espera hasta que los datos han sido + transmitidos como se comentaba anteriormente, y el buffer inicial de datos y las + direcciones de red son recuperadas a partir de una única llamada AcceptEx(). + connect utiliza la API AcceptEx() API, y recupera también + las direcciones de red, pero a diferencia de none + la opción connect no espera a la transmisión inicial de los datos.

+ +

Sobre Windows, none prefiere accept() antes que AcceptEx() + y no recuperará sockets entre las conexiones. Lo que es útil para los adaptadores de + red con un soporte precario de drivers, así como para algunos proveedores de red + tales como drivers vpn, o filtros de spam, de virus o de spyware.

+ + +

Consulte también

+
    +
  • Protocol
  • +
+
+
top
+

Directiva AcceptPathInfo

+ + + + + + + + + +
Descripción:Los recursos aceptan información sobre su ruta
Sintaxis:AcceptPathInfo On|Off|Default
Valor por defecto:AcceptPathInfo Default
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:Disponible en Apache httpd 2.0.30 y posteriores
+ +

Esta directiva controla si las peticiones que contienen información sobre la ruta + que sigue un fichero que existe (o un fichero que no existe pero en un directorio que + sí existe) serán aceptadas o denegadas. La información de ruta puede estar disponible + para los scripts en la variable de entorno PATH_INFO.

+ +

Por ejemplo, asumamos que la ubicación /test/ apunta a + un directorio que contiene únicamente el fichero + here.html. Entonces, las peticiones tanto para + /test/here.html/more como para + /test/nothere.html/more recogen + /more como PATH_INFO.

+ +

Los tres posibles argumentos para la directiva + AcceptPathInfo son los siguientes:

+
+
Off
Una petición sólo será aceptada si + se corresponde con una ruta literal que existe. Por lo tanto, una petición + con una información de ruta después del nombre de fichero tal como + /test/here.html/more en el ejemplo anterior devolverá + un error 404 NOT FOUND.
+ +
On
Una petición será aceptada si una + ruta principal de acceso se corresponde con un fichero que existe. El ejemplo + anterior /test/here.html/more será aceptado si + /test/here.html corresponde a un fichero válido.
+ +
Default
La gestión de las peticiones + con información de ruta está determinada por el controlador responsable de la petición. + El controlador principal para para ficheros normales rechaza por defecto + peticiones PATH_INFO. Los controladores que sirven scripts, tales como cgi-script e isapi-handler, normalmente aceptan + PATH_INFO por defecto.
+
+ +

El objetivo principal de la directiva AcceptPathInfo + es permitirte sobreescribir la opción del controlador + de aceptar or rechazar PATH_INFO. Este tipo de sobreescritura se necesita, + por ejemplo, cuando utilizas un filtro, tal como + INCLUDES, para generar contenido + basado en PATH_INFO. El controlador principal normalmente rechazaría + la petición, de modo que puedes utilizar la siguiente configuración para habilitarla + como script:

+ +

+ <Files "mypaths.shtml">
+ + Options +Includes
+ SetOutputFilter INCLUDES
+ AcceptPathInfo On
+
+ </Files> +

+ + +
+
top
+

Directiva AccessFileName

+ + + + + + + +
Descripción:Nombre del fichero distribuido de configuración
Sintaxis:AccessFileName filename [filename] ...
Valor por defecto:AccessFileName .htaccess
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

Mientras que procesa una petición el servidor busca + el primer fichero de configuración existente dentro de un listado de nombres en + cada directorio de la ruta del documento, si los ficheros distribuidos + de configuración están habilitados para ese + directorio. Por ejemplo:

+ +

+ AccessFileName .acl +

+ +

antes de servir el documento + /usr/local/web/index.html, el servidor leerá + /.acl, /usr/.acl, + /usr/local/.acl and /usr/local/web/.acl + para las directivas, salvo que estén deshabilitadas with

+ +

+ <Directory />
+ + AllowOverride None
+
+ </Directory> +

+ +

Consulte también

+ +
+
top
+

Directiva AddDefaultCharset

+ + + + + + + + +
Descripción:Default charset parameter to be added when a response +content-type is text/plain or text/html
Sintaxis:AddDefaultCharset On|Off|charset
Valor por defecto:AddDefaultCharset Off
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
+

This directive specifies a default value for the media type + charset parameter (the name of a character encoding) to be added + to a response if and only if the response's content-type is either + text/plain or text/html. This should override + any charset specified in the body of the response via a META + element, though the exact behavior is often dependent on the user's client + configuration. A setting of AddDefaultCharset Off + disables this functionality. AddDefaultCharset On enables + a default charset of iso-8859-1. Any other value is assumed + to be the charset to be used, which should be one of the + IANA registered + charset values for use in Internet media types (MIME types). + For example:

+ +

+ AddDefaultCharset utf-8 +

+ +

AddDefaultCharset should only be used when all + of the text resources to which it applies are known to be in that + character encoding and it is too inconvenient to label their charset + individually. One such example is to add the charset parameter + to resources containing generated content, such as legacy CGI + scripts, that might be vulnerable to cross-site scripting attacks + due to user-provided data being included in the output. Note, however, + that a better solution is to just fix (or delete) those scripts, since + setting a default charset does not protect users that have enabled + the "auto-detect character encoding" feature on their browser.

+ +

Consulte también

+ +
+
top
+

Directiva AllowEncodedSlashes

+ + + + + + + + +
Descripción:Determines whether encoded path separators in URLs are allowed to +be passed through
Sintaxis:AllowEncodedSlashes On|Off
Valor por defecto:AllowEncodedSlashes Off
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Available in Apache httpd 2.0.46 and later
+

The AllowEncodedSlashes directive allows URLs + which contain encoded path separators (%2F for / + and additionally %5C for \ on according systems) + to be used. Normally such URLs are refused with a 404 (Not found) error.

+ +

Turning AllowEncodedSlashes On is + mostly useful when used in conjunction with PATH_INFO.

+ +

Note

+

Allowing encoded slashes does not imply decoding. + Occurrences of %2F or %5C (only on + according systems) will be left as such in the otherwise decoded URL + string.

+
+ +

Consulte también

+ +
+
top
+

Directiva AllowOverride

+ + + + + + + +
Descripción:Types of directives that are allowed in +.htaccess files
Sintaxis:AllowOverride All|None|directive-type +[directive-type] ...
Valor por defecto:AllowOverride None (2.3.9 and later), AllowOverride All (2.3.8 and earlier)
Contexto:directory
Estado:Core
Módulo:core
+

When the server finds an .htaccess file (as + specified by AccessFileName) + it needs to know which directives declared in that file can override + earlier configuration directives.

+ +

Only available in <Directory> sections

+ AllowOverride is valid only in + <Directory> + sections specified without regular expressions, not in <Location>, <DirectoryMatch> or + <Files> sections. +
+ +

When this directive is set to None, then + .htaccess files are completely ignored. + In this case, the server will not even attempt to read + .htaccess files in the filesystem.

+ +

When this directive is set to All, then any + directive which has the .htaccess Context is allowed in + .htaccess files.

+ +

The directive-type can be one of the following + groupings of directives.

+ +
+
AuthConfig
+ +
+ + Allow use of the authorization directives (AuthDBMGroupFile, + AuthDBMUserFile, + AuthGroupFile, + AuthName, + AuthType, AuthUserFile, Require, etc.).
+ +
FileInfo
+ +
+ Allow use of the directives controlling document types + (ErrorDocument, + ForceType, + LanguagePriority, + SetHandler, + SetInputFilter, + SetOutputFilter, and + mod_mime Add* and Remove* directives), + document meta data (Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName), + mod_rewrite directives RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule) and + Action from + mod_actions. +
+ +
Indexes
+ +
+ Allow use of the directives controlling directory indexing + (AddDescription, + AddIcon, AddIconByEncoding, + AddIconByType, + DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, + etc.).
+ +
Limit
+ +
+ Allow use of the directives controlling host access (Allow, Deny and Order).
+ +
Options[=Option,...]
+ +
+ Allow use of the directives controlling specific directory + features (Options and + XBitHack). + An equal sign may be given followed by a comma (but no spaces) + separated lists of options that may be set using the Options command.
+
+ +

Example:

+ +

+ AllowOverride AuthConfig Indexes +

+ +

In the example above all directives that are neither in the group + AuthConfig nor Indexes cause an internal + server error.

+ +

For security and performance reasons, do not set + AllowOverride to anything other than None + in your <Directory /> block. Instead, find (or + create) the <Directory> block that refers to the + directory where you're actually planning to place a + .htaccess file.

+
+ +

Consulte también

+ +
+
top
+

Directiva AllowOverrideList

+ + + + + + + +
Descripción:Individual directives that are allowed in +.htaccess files
Sintaxis:AllowOverrideList None|directive +[directive-type] ...
Valor por defecto:AllowOverrideList None
Contexto:directory
Estado:Core
Módulo:core

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva CGIMapExtension

+ + + + + + + + +
Descripción:Technique for locating the interpreter for CGI +scripts
Sintaxis:CGIMapExtension cgi-path .extension
Contexto:directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:NetWare only
+

This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. For example, setting + CGIMapExtension sys:\foo.nlm .foo will + cause all CGI script files with a .foo extension to + be passed to the FOO interpreter.

+ +
+
top
+

Directiva CGIPassAuth

+ + + + + + + + + +
Descripción:Enables passing HTTP authorization headers to scripts as CGI +variables
Sintaxis:CGIPassAuth On|Off
Valor por defecto:CGIPassAuth Off
Contexto:directory, .htaccess
Anula:AuthConfig
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 2.4.13 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva CGIVar

+ + + + + + + + +
Descripción:Controls how some CGI variables are set
Sintaxis:CGIVar variable rule
Contexto:directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 2.4.21 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva ContentDigest

+ + + + + + + + +
Descripción:Enables the generation of Content-MD5 HTTP Response +headers
Sintaxis:ContentDigest On|Off
Valor por defecto:ContentDigest Off
Contexto:server config, virtual host, directory, .htaccess
Anula:Options
Estado:Core
Módulo:core
+

This directive enables the generation of + Content-MD5 headers as defined in RFC1864 + respectively RFC2616.

+ +

MD5 is an algorithm for computing a "message digest" + (sometimes called "fingerprint") of arbitrary-length data, with + a high degree of confidence that any alterations in the data + will be reflected in alterations in the message digest.

+ +

The Content-MD5 header provides an end-to-end + message integrity check (MIC) of the entity-body. A proxy or + client may check this header for detecting accidental + modification of the entity-body in transit. Example header:

+ +

+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +

+ +

Note that this can cause performance problems on your server + since the message digest is computed on every request (the + values are not cached).

+ +

Content-MD5 is only sent for documents served + by the core, and not by any module. For example, + SSI documents, output from CGI scripts, and byte range responses + do not have this header.

+ +
+
top
+

Directiva DefaultRuntimeDir

+ + + + + + + + +
Descripción:Base directory for the server run-time files
Sintaxis:DefaultRuntimeDir directory-path
Valor por defecto:DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)
Contexto:server config
Estado:Core
Módulo:core
Compatibilidad:Available in Apache 2.4.2 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva DefaultType

+ + + + + + + + + +
Descripción:This directive has no effect other than to emit warnings +if the value is not none. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +
Sintaxis:DefaultType media-type|none
Valor por defecto:DefaultType none
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:The argument none is available in Apache httpd 2.2.7 and later. All other choices are DISABLED for 2.3.x and later.
+

This directive has been disabled. For backwards compatibility + of configuration files, it may be specified with the value + none, meaning no default media type. For example:

+ +

+ DefaultType None +

+ +

DefaultType None is only available in + httpd-2.2.7 and later.

+ +

Use the mime.types configuration file and the + AddType to configure media + type assignments via file extensions, or the + ForceType directive to configure + the media type for specific resources. Otherwise, the server will + send the response without a Content-Type header field and the + recipient may attempt to guess the media type.

+ +
+
top
+

Directiva Define

+ + + + + + +
Descripción:Define the existence of a variable
Sintaxis:Define parameter-name
Contexto:server config
Estado:Core
Módulo:core
+

Equivalent to passing the -D argument to httpd.

+

This directive can be used to toggle the use of <IfDefine> sections without needing to alter + -D arguments in any startup scripts.

+ +
+
top
+

Directiva <Directory>

+ + + + + + +
Descripción:Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.
Sintaxis:<Directory directory-path> +... </Directory>
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

<Directory> and + </Directory> are used to enclose a group of + directives that will apply only to the named directory, + sub-directories of that directory, and the files within the respective + directories. Any directive that is allowed + in a directory context may be used. Directory-path is + either the full path to a directory, or a wild-card string using + Unix shell-style matching. In a wild-card string, ? matches + any single character, and * matches any sequences of + characters. You may also use [] character ranges. None + of the wildcards match a `/' character, so <Directory + /*/public_html> will not match + /home/user/public_html, but <Directory + /home/*/public_html> will match. Example:

+ +

+ <Directory /usr/local/httpd/htdocs>
+ + Options Indexes FollowSymLinks
+
+ </Directory> +

+ +
+

Be careful with the directory-path arguments: + They have to literally match the filesystem path which Apache httpd uses + to access the files. Directives applied to a particular + <Directory> will not apply to files accessed from + that same directory via a different path, such as via different symbolic + links.

+
+ +

Regular + expressions can also be used, with the addition of the + ~ character. For example:

+ +

+ <Directory ~ "^/www/.*/[0-9]{3}"> +

+ +

would match directories in /www/ that consisted of + three numbers.

+ +

If multiple (non-regular expression) <Directory> sections + match the directory (or one of its parents) containing a document, + then the directives are applied in the order of shortest match + first, interspersed with the directives from the .htaccess files. For example, + with

+ +

+ <Directory />
+ + AllowOverride None
+
+ </Directory>
+
+ <Directory /home/>
+ + AllowOverride FileInfo
+
+ </Directory> +

+ +

for access to the document /home/web/dir/doc.html + the steps are:

+ +
    +
  • Apply directive AllowOverride None + (disabling .htaccess files).
  • + +
  • Apply directive AllowOverride FileInfo (for + directory /home).
  • + +
  • Apply any FileInfo directives in + /home/.htaccess, /home/web/.htaccess and + /home/web/dir/.htaccess in that order.
  • +
+ +

Regular expressions are not considered until after all of the + normal sections have been applied. Then all of the regular + expressions are tested in the order they appeared in the + configuration file. For example, with

+ +

+ <Directory ~ abc$>
+ + # ... directives here ...
+
+ </Directory> +

+ +

the regular expression section won't be considered until after + all normal <Directory>s and + .htaccess files have been applied. Then the regular + expression will match on /home/abc/public_html/abc and + the corresponding <Directory> will + be applied.

+ +

Note that the default access for + <Directory /> is Allow from All. + This means that Apache httpd will serve any file mapped from an URL. It is + recommended that you change this with a block such + as

+ +

+ <Directory />
+ + Order Deny,Allow
+ Deny from All
+
+ </Directory> +

+ +

and then override this for directories you + want accessible. See the Security Tips page for more + details.

+ +

The directory sections occur in the httpd.conf file. + <Directory> directives + cannot nest, and cannot appear in a <Limit> or <LimitExcept> section.

+ +

Consulte también

+ +
+
top
+

Directiva <DirectoryMatch>

+ + + + + + +
Descripción:Enclose directives that apply to +the contents of file-system directories matching a regular expression.
Sintaxis:<DirectoryMatch regex> +... </DirectoryMatch>
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

<DirectoryMatch> and + </DirectoryMatch> are used to enclose a group + of directives which will apply only to the named directory (and the files within), + the same as <Directory>. + However, it takes as an argument a + regular expression. For example:

+ +

+ <DirectoryMatch "^/www/(.+/)?[0-9]{3}"> +

+ +

would match directories in /www/ that consisted of three + numbers.

+ +

Compatability

+ Prior to 2.3.9, this directive implicitly applied to sub-directories + (like <Directory>) and + could not match the end of line symbol ($). In 2.3.9 and later, + only directories that match the expression are affected by the enclosed + directives. +
+ +

Trailing Slash

+ This directive applies to requests for directories that may or may + not end in a trailing slash, so expressions that are anchored to the + end of line ($) must be written with care. +
+ +

Consulte también

+ +
+
top
+

Directiva DocumentRoot

+ + + + + + + +
Descripción:Directory that forms the main document tree visible +from the web
Sintaxis:DocumentRoot directory-path
Valor por defecto:DocumentRoot /usr/local/apache/htdocs
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

This directive sets the directory from which httpd + will serve files. Unless matched by a directive like Alias, the server appends the + path from the requested URL to the document root to make the + path to the document. Example:

+ +

+ DocumentRoot /usr/web +

+ +

then an access to + http://www.my.host.com/index.html refers to + /usr/web/index.html. If the directory-path is + not absolute then it is assumed to be relative to the ServerRoot.

+ +

The DocumentRoot should be specified without + a trailing slash.

+ +

Consulte también

+ +
+
top
+

Directiva <Else>

+ + + + + + + + +
Descripción:Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
Sintaxis:<Else> ... </Else>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
Compatibilidad:Nested conditions are evaluated in 2.4.26 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva <ElseIf>

+ + + + + + + + +
Descripción:Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
Sintaxis:<ElseIf expression> ... </ElseIf>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
Compatibilidad:Nested conditions are evaluated in 2.4.26 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva EnableMMAP

+ + + + + + + + +
Descripción:Use memory-mapping to read files during delivery
Sintaxis:EnableMMAP On|Off
Valor por defecto:EnableMMAP On
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
+

This directive controls whether the httpd may use + memory-mapping if it needs to read the contents of a file during + delivery. By default, when the handling of a request requires + access to the data within a file -- for example, when delivering a + server-parsed file using mod_include -- Apache httpd + memory-maps the file if the OS supports it.

+ +

This memory-mapping sometimes yields a performance improvement. + But in some environments, it is better to disable the memory-mapping + to prevent operational problems:

+ +
    +
  • On some multiprocessor systems, memory-mapping can reduce the + performance of the httpd.
  • +
  • Deleting or truncating a file while httpd + has it memory-mapped can cause httpd to + crash with a segmentation fault. +
  • +
+ +

For server configurations that are vulnerable to these problems, + you should disable memory-mapping of delivered files by specifying:

+ +

+ EnableMMAP Off +

+ +

For NFS mounted files, this feature may be disabled explicitly for + the offending files by specifying:

+ +

+ <Directory "/path-to-nfs-files"> + + EnableMMAP Off + + </Directory> +

+ +
+
top
+

Directiva EnableSendfile

+ + + + + + + + + +
Descripción:Use the kernel sendfile support to deliver files to the client
Sintaxis:EnableSendfile On|Off
Valor por defecto:EnableSendfile Off
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:Available in version 2.0.44 and later. Default changed to Off in +version 2.3.9.
+

This directive controls whether httpd may use the + sendfile support from the kernel to transmit file contents to the client. + By default, when the handling of a request requires no access + to the data within a file -- for example, when delivering a + static file -- Apache httpd uses sendfile to deliver the file contents + without ever reading the file if the OS supports it.

+ +

This sendfile mechanism avoids separate read and send operations, + and buffer allocations. But on some platforms or within some + filesystems, it is better to disable this feature to avoid + operational problems:

+ +
    +
  • Some platforms may have broken sendfile support that the build + system did not detect, especially if the binaries were built on + another box and moved to such a machine with broken sendfile + support.
  • +
  • On Linux the use of sendfile triggers TCP-checksum + offloading bugs on certain networking cards when using IPv6.
  • +
  • On Linux on Itanium, sendfile may be unable to handle files + over 2GB in size.
  • +
  • With a network-mounted DocumentRoot (e.g., NFS, SMB, CIFS, FUSE), + the kernel may be unable to serve the network file through + its own cache.
  • +
+ +

For server configurations that are not vulnerable to these problems, + you may enable this feature by specifying:

+ +

+ EnableSendfile On +

+ +

For network mounted files, this feature may be disabled explicitly + for the offending files by specifying:

+ +

+ <Directory "/path-to-nfs-files"> + + EnableSendfile Off + + </Directory> +

+

Please note that the per-directory and .htaccess configuration + of EnableSendfile is not supported by + mod_cache_disk. + Only global definition of EnableSendfile + is taken into account by the module. +

+ +
+
top
+

Directiva Error

+ + + + + + + +
Descripción:Abort configuration parsing with a custom error message
Sintaxis:Error message
Contexto:server config, virtual host, directory, .htaccess
Estado:Core
Módulo:core
Compatibilidad:2.3.9 and later
+

If an error can be detected within the configuration, this + directive can be used to generate a custom error message, and halt + configuration parsing. The typical use is for reporting required + modules which are missing from the configuration.

+ +

Example

+ # ensure that mod_include is loaded
+ <IfModule !include_module>
+ Error mod_include is required by mod_foo. Load it with LoadModule.
+ </IfModule>
+
+ # ensure that exactly one of SSL,NOSSL is defined
+ <IfDefine SSL>
+ <IfDefine NOSSL>
+ Error Both SSL and NOSSL are defined. Define only one of them.
+ </IfDefine>
+ </IfDefine>
+ <IfDefine !SSL>
+ <IfDefine !NOSSL>
+ Error Either SSL or NOSSL must be defined.
+ </IfDefine>
+ </IfDefine>
+

+ + +
+
top
+

Directiva ErrorDocument

+ + + + + + + +
Descripción:What the server will return to the client +in case of an error
Sintaxis:ErrorDocument error-code document
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
+

In the event of a problem or error, Apache httpd can be configured + to do one of four things,

+ +
    +
  1. output a simple hardcoded error message
  2. + +
  3. output a customized message
  4. + +
  5. redirect to a local URL-path to handle the + problem/error
  6. + +
  7. redirect to an external URL to handle the + problem/error
  8. +
+ +

The first option is the default, while options 2-4 are + configured using the ErrorDocument + directive, which is followed by the HTTP response code and a URL + or a message. Apache httpd will sometimes offer additional information + regarding the problem/error.

+ +

URLs can begin with a slash (/) for local web-paths (relative + to the DocumentRoot), or be a + full URL which the client can resolve. Alternatively, a message + can be provided to be displayed by the browser. Examples:

+ +

+ ErrorDocument 500 http://foo.example.com/cgi-bin/tester
+ ErrorDocument 404 /cgi-bin/bad_urls.pl
+ ErrorDocument 401 /subscription_info.html
+ ErrorDocument 403 "Sorry can't allow you access today" +

+ +

Additionally, the special value default can be used + to specify Apache httpd's simple hardcoded message. While not required + under normal circumstances, default will restore + Apache httpd's simple hardcoded message for configurations that would + otherwise inherit an existing ErrorDocument.

+ +

+ ErrorDocument 404 /cgi-bin/bad_urls.pl

+ <Directory /web/docs>
+ + ErrorDocument 404 default
+
+ </Directory> +

+ +

Note that when you specify an ErrorDocument + that points to a remote URL (ie. anything with a method such as + http in front of it), Apache HTTP Server will send a redirect to the + client to tell it where to find the document, even if the + document ends up being on the same server. This has several + implications, the most important being that the client will not + receive the original error status code, but instead will + receive a redirect status code. This in turn can confuse web + robots and other clients which try to determine if a URL is + valid using the status code. In addition, if you use a remote + URL in an ErrorDocument 401, the client will not + know to prompt the user for a password since it will not + receive the 401 status code. Therefore, if you use an + ErrorDocument 401 directive then it must refer to a local + document.

+ +

Microsoft Internet Explorer (MSIE) will by default ignore + server-generated error messages when they are "too small" and substitute + its own "friendly" error messages. The size threshold varies depending on + the type of error, but in general, if you make your error document + greater than 512 bytes, then MSIE will show the server-generated + error rather than masking it. More information is available in + Microsoft Knowledge Base article Q294807.

+ +

Although most error messages can be overriden, there are certain + circumstances where the internal messages are used regardless of the + setting of ErrorDocument. In + particular, if a malformed request is detected, normal request processing + will be immediately halted and the internal error message returned. + This is necessary to guard against security problems caused by + bad requests.

+ +

If you are using mod_proxy, you may wish to enable + ProxyErrorOverride so that you can provide + custom error messages on behalf of your Origin servers. If you don't enable ProxyErrorOverride, + Apache httpd will not generate custom error documents for proxied content.

+ +

Consulte también

+ +
+
top
+

Directiva ErrorLog

+ + + + + + + +
Descripción:Location where the server will log errors
Sintaxis: ErrorLog file-path|syslog[:facility]
Valor por defecto:ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The ErrorLog directive sets the name of + the file to which the server will log any errors it encounters. If + the file-path is not absolute then it is assumed to be + relative to the ServerRoot.

+ +

Example

+ ErrorLog /var/log/httpd/error_log +

+ +

If the file-path + begins with a pipe character "|" then it is assumed to be a + command to spawn to handle the error log.

+ +

Example

+ ErrorLog "|/usr/local/bin/httpd_errors" +

+ +

See the notes on piped logs for + more information.

+ +

Using syslog instead of a filename enables logging + via syslogd(8) if the system supports it. The default is to use + syslog facility local7, but you can override this by + using the syslog:facility syntax where + facility can be one of the names usually documented in + syslog(1). The facility is effectively global, and if it is changed + in individual virtual hosts, the final facility specified affects the + entire server.

+ +

Example

+ ErrorLog syslog:user +

+ +

SECURITY: See the security tips + document for details on why your security could be compromised + if the directory where log files are stored is writable by + anyone other than the user that starts the server.

+

Note

+

When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashed are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.

+
+ +

Consulte también

+ +
+
top
+

Directiva ErrorLogFormat

+ + + + + + + +
Descripción:Format specification for error log entries
Sintaxis: ErrorLog [connection|request] format
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Available in Apache httpd 2.3.9 and later
+

ErrorLogFormat allows to specify what + supplementary information is logged in the error log in addition to the + actual log message.

+ +

Simple example

+ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M" +

+ +

Specifying connection or request as first + paramter allows to specify additional formats, causing additional + information to be logged when the first message is logged for a specific + connection or request, respectivly. This additional information is only + logged once per connection/request. If a connection or request is processed + without causing any log message, the additional information is not logged + either.

+ +

It can happen that some format string items do not produce output. For + example, the Referer header is only present if the log message is + associated to a request and the log message happens at a time when the + Referer header has already been read from the client. If no output is + produced, the default behaviour is to delete everything from the preceeding + space character to the next space character. This means the log line is + implicitly divided into fields on non-whitespace to whitespace transitions. + If a format string item does not produce output, the whole field is + ommitted. For example, if the remote address %a in the log + format [%t] [%l] [%a] %M  is not available, the surrounding + brackets are not logged either. Space characters can be escaped with a + backslash to prevent them from delimiting a field. The combination '% ' + (percent space) is a zero-witdh field delimiter that does not produce any + output.

+ +

The above behaviour can be changed by adding modifiers to the format + string item. A - (minus) modifier causes a minus to be logged if the + respective item does not produce any output. In once-per-connection/request + formats, it is also possible to use the + (plus) modifier. If an + item with the plus modifier does not produce any output, the whole line is + ommitted.

+ +

A number as modifier can be used to assign a log severity level to a + format item. The item will only be logged if the severity of the log + message is not higher than the specified log severity level. The number can + range from 1 (alert) over 4 (warn) and 7 (debug) to 15 (trace8).

+ +

Some format string items accept additional parameters in braces.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Format String Description
%%The percent sign
%...aRemote IP-address and port
%...ALocal IP-address and port
%...{name}eRequest environment variable name
%...EAPR/OS error status code and string
%...FSource file name and line number of the log call
%...{name}iRequest header name
%...kNumber of keep-alive requests on this connection
%...lLoglevel of the message
%...LLog ID of the request
%...{c}LLog ID of the connection
%...{C}LLog ID of the connection if used in connection scope, empty otherwise
%...mName of the module logging the message
%MThe actual log message
%...{name}nRequest note name
%...PProcess ID of current process
%...TThread ID of current thread
%...tThe current time
%...{u}tThe current time including micro-seconds
%...{cu}tThe current time in compact ISO 8601 format, including + micro-seconds
%...vThe canonical ServerName + of the current server.
%...VThe server name of the server serving the request according to the + UseCanonicalName + setting.
(backslash space)Non-field delimiting space
(percent space)Field delimiter (no output)
+ +

The log ID format %L produces a unique id for a connection + or request. This can be used to correlate which log lines belong to the + same connection or request, which request happens on which connection. + A %L format string is also available in + mod_log_config, to allow to correlate access log entries + with error log lines. If mod_unique_id is loaded, its + unique id will be used as log ID for requests.

+ +

Example (somewhat similar to default format)

+ ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P] %7F: %E: [client\ %a] + %M% ,\ referer\ %{Referer}i" +

+ +

Example (similar to the 2.2.x format)

+ ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] + %M% ,\ referer\ %{Referer}i" +

+ +

Advanced example with request/connection log IDs

+ ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
+ ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
+ ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
+ ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
+ ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
+

+ + +

Consulte también

+ +
+
top
+

Directiva ExtendedStatus

+ + + + + + + +
Descripción:Keep track of extended status information for each +request
Sintaxis:ExtendedStatus On|Off
Valor por defecto:ExtendedStatus Off[*]
Contexto:server config
Estado:Core
Módulo:core
+

This option tracks additional data per worker about the + currently executing request, and a utilization summary; you + can see these variables during runtime by configuring + mod_status. Note that other modules may + rely on this scoreboard.

+ +

This setting applies to the entire server, and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis. + The collection of extended status information can slow down + the server. Also note that this setting cannot be changed + during a graceful restart.

+ +
+

Note that loading mod_status will change + the default behavior to ExtendedStatus On, while other + third party modules may do the same. Such modules rely on + collecting detailed information about the state of all workers. + The default is changed by mod_status beginning + with version 2.3.6; the previous default was always Off.

+
+ + +
+
top
+

Directiva FileETag

+ + + + + + + + +
Descripción:File attributes used to create the ETag +HTTP response header for static files
Sintaxis:FileETag component ...
Valor por defecto:FileETag INode MTime Size
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
+

+ The FileETag directive configures the file + attributes that are used to create the ETag (entity + tag) response header field when the document is based on a static file. + (The ETag value is used in cache management to save + network bandwidth.) The + FileETag directive allows you to choose + which of these -- if any -- should be used. The recognized keywords are: +

+ +
+
INode
+
The file's i-node number will be included in the calculation
+
MTime
+
The date and time the file was last modified will be included
+
Size
+
The number of bytes in the file will be included
+
All
+
All available fields will be used. This is equivalent to: +

FileETag INode MTime Size

+
None
+
If a document is file-based, no ETag field will be + included in the response
+
+ +

The INode, MTime, and Size + keywords may be prefixed with either + or -, + which allow changes to be made to the default setting inherited + from a broader scope. Any keyword appearing without such a prefix + immediately and completely cancels the inherited setting.

+ +

If a directory's configuration includes + FileETag INode MTime Size, and a + subdirectory's includes FileETag -INode, + the setting for that subdirectory (which will be inherited by + any sub-subdirectories that don't override it) will be equivalent to + FileETag MTime Size.

+

Warning

+ Do not change the default for directories or locations that have WebDAV + enabled and use mod_dav_fs as a storage provider. + mod_dav_fs uses INode MTime Size + as a fixed format for ETag comparisons on conditional requests. + These conditional requests will break if the ETag format is + changed via FileETag. +
+

Server Side Includes

+ An ETag is not generated for responses parsed by mod_include, + since the response entity can change without a change of the INode, MTime, or Size + of the static file with embedded SSI directives. +
+ + +
+
top
+

Directiva <Files>

+ + + + + + + +
Descripción:Contains directives that apply to matched +filenames
Sintaxis:<Files filename> ... </Files>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

The <Files> directive + limits the scope of the enclosed directives by filename. It is comparable + to the <Directory> + and <Location> + directives. It should be matched with a </Files> + directive. The directives given within this section will be applied to + any object with a basename (last component of filename) matching the + specified filename. <Files> + sections are processed in the order they appear in the + configuration file, after the <Directory> sections and + .htaccess files are read, but before <Location> sections. Note + that <Files> can be nested + inside <Directory> sections to restrict the + portion of the filesystem they apply to.

+ +

The filename argument should include a filename, or + a wild-card string, where ? matches any single character, + and * matches any sequences of characters. + Regular expressions + can also be used, with the addition of the + ~ character. For example:

+ +

+ <Files ~ "\.(gif|jpe?g|png)$"> +

+ +

would match most common Internet graphics formats. <FilesMatch> is preferred, + however.

+ +

Note that unlike <Directory> and <Location> sections, <Files> sections can be used inside + .htaccess files. This allows users to control access to + their own files, at a file-by-file level.

+ + +

Consulte también

+ +
+
top
+

Directiva <FilesMatch>

+ + + + + + + +
Descripción:Contains directives that apply to regular-expression matched +filenames
Sintaxis:<FilesMatch regex> ... </FilesMatch>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

The <FilesMatch> directive + limits the scope of the enclosed directives by filename, just as the + <Files> directive + does. However, it accepts a regular + expression. For example:

+ +

+ <FilesMatch "\.(gif|jpe?g|png)$"> +

+ +

would match most common Internet graphics formats.

+ +

Consulte también

+ +
+
top
+

Directiva FlushMaxPipelined

+ + + + + + + + +
Descripción:Maximum number of pipelined responses above which they are flushed +to the network
Sintaxis:FlushMaxPipelined number
Valor por defecto:FlushMaxPipelined 5
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:2.4.47 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva FlushMaxThreshold

+ + + + + + + + +
Descripción:Threshold above which pending data are flushed to the +network
Sintaxis:FlushMaxThreshold number-of-bytes
Valor por defecto:FlushMaxThreshold 65536
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:2.4.47 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva ForceType

+ + + + + + + + +
Descripción:Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field
Sintaxis:ForceType media-type|None
Contexto:directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:Moved to the core in Apache httpd 2.0
+

When placed into an .htaccess file or a + <Directory>, or + <Location> or + <Files> + section, this directive forces all matching files to be served + with the content type identification given by + media-type. For example, if you had a directory full of + GIF files, but did not want to label them all with .gif, + you might want to use:

+ +

+ ForceType image/gif +

+ +

Note that this directive overrides other indirect media type + associations defined in mime.types or via the + AddType.

+ +

You can also override more general + ForceType settings + by using the value of None:

+ +

+ # force all files to be image/gif:
+ <Location /images>
+ + ForceType image/gif
+
+ </Location>
+
+ # but normal mime-type associations here:
+ <Location /images/mixed>
+ + ForceType None
+
+ </Location> +

+ +

This directive primarily overrides the content types generated for + static files served out of the filesystem. For resources other than + static files, where the generator of the response typically specifies + a Content-Type, this directive has no effect.

+ + +
+
top
+

Directiva GprofDir

+ + + + + + +
Descripción:Directory to write gmon.out profiling data to.
Sintaxis:GprofDir /tmp/gprof/|/tmp/gprof/%
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

When the server has been compiled with gprof profiling support, + GprofDir causes gmon.out files to + be written to the specified directory when the process exits. If the + argument ends with a percent symbol ('%'), subdirectories are created + for each process id.

+ +

This directive currently only works with the prefork + MPM.

+ +
+
top
+

Directiva HostnameLookups

+ + + + + + + +
Descripción:Enables DNS lookups on client IP addresses
Sintaxis:HostnameLookups On|Off|Double
Valor por defecto:HostnameLookups Off
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
+

This directive enables DNS lookups so that host names can be + logged (and passed to CGIs/SSIs in REMOTE_HOST). + The value Double refers to doing double-reverse + DNS lookup. That is, after a reverse lookup is performed, a forward + lookup is then performed on that result. At least one of the IP + addresses in the forward lookup must match the original + address. (In "tcpwrappers" terminology this is called + PARANOID.)

+ +

Regardless of the setting, when mod_authz_host is + used for controlling access by hostname, a double reverse lookup + will be performed. This is necessary for security. Note that the + result of this double-reverse isn't generally available unless you + set HostnameLookups Double. For example, if only + HostnameLookups On and a request is made to an object + that is protected by hostname restrictions, regardless of whether + the double-reverse fails or not, CGIs will still be passed the + single-reverse result in REMOTE_HOST.

+ +

The default is Off in order to save the network + traffic for those sites that don't truly need the reverse + lookups done. It is also better for the end users because they + don't have to suffer the extra latency that a lookup entails. + Heavily loaded sites should leave this directive + Off, since DNS lookups can take considerable + amounts of time. The utility logresolve, compiled by + default to the bin subdirectory of your installation + directory, can be used to look up host names from logged IP addresses + offline.

+ +
+
top
+

Directiva HttpProtocolOptions

+ + + + + + + + +
Descripción:Modify restrictions on HTTP Request Messages
Sintaxis:HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]
Valor por defecto:HttpProtocolOptions Strict LenientMethods Allow0.9
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:2.2.32 or 2.4.24 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva <If>

+ + + + + + + +
Descripción:Contains directives that apply only if a condition is +satisfied by a request at runtime
Sintaxis:<If expression> ... </If>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

The <If> directive + evaluates an expression at runtime, and applies the enclosed + directives if and only if the expression evaluates to true. + For example:

+ +

+ <If "$req{Host} = ''"> +

+ +

would match HTTP/1.0 requests without a Host: header.

+ +

You may compare the value of any variable in the request headers + ($req), response headers ($resp) or environment ($env) in your + expression.

+ +

Apart from =, If can use the IN + operator to compare if the expression is in a given range:

+ +

+ <If %{REQUEST_METHOD} IN GET,HEAD,OPTIONS> +

+ + +

Consulte también

+ +
+
top
+

Directiva <IfDefine>

+ + + + + + + +
Descripción:Encloses directives that will be processed only +if a test is true at startup
Sintaxis:<IfDefine [!]parameter-name> ... + </IfDefine>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

The <IfDefine test>...</IfDefine> + section is used to mark directives that are conditional. The + directives within an <IfDefine> + section are only processed if the test is true. If + test is false, everything between the start and end markers is + ignored.

+ +

The test in the <IfDefine> section directive can be one of two forms:

+ +
    +
  • parameter-name
  • + +
  • !parameter-name
  • +
+ +

In the former case, the directives between the start and end + markers are only processed if the parameter named + parameter-name is defined. The second format reverses + the test, and only processes the directives if + parameter-name is not defined.

+ +

The parameter-name argument is a define as given on the + httpd command line via -Dparameter + at the time the server was started or by the Define directive.

+ +

<IfDefine> sections are + nest-able, which can be used to implement simple + multiple-parameter tests. Example:

+ +

+ httpd -DReverseProxy -DUseCache -DMemCache ...
+
+ # httpd.conf
+ <IfDefine ReverseProxy>
+ + LoadModule proxy_module modules/mod_proxy.so
+ LoadModule proxy_http_module modules/mod_proxy_http.so
+ <IfDefine UseCache>
+ + LoadModule cache_module modules/mod_cache.so
+ <IfDefine MemCache>
+ + LoadModule mem_cache_module modules/mod_mem_cache.so
+
+ </IfDefine>
+ <IfDefine !MemCache>
+ + LoadModule cache_disk_module modules/mod_cache_disk.so
+
+ </IfDefine> +
+ </IfDefine> +
+ </IfDefine> +

+ +
+
top
+

Directiva <IfDirective>

+ + + + + + + + +
Descripción:Encloses directives that are processed conditional on the +presence or absence of a specific directive
Sintaxis:<IfDirective [!]directive-name> ... + </IfDirective>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
Compatibilidad:Available in 2.4.34 and later.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva <IfFile>

+ + + + + + + + +
Descripción:Encloses directives that will be processed only +if file exists at startup
Sintaxis:<IfFile [!]filename> ... + </IfFile>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
Compatibilidad:Available in 2.4.34 and later.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva <IfModule>

+ + + + + + + + +
Descripción:Encloses directives that are processed conditional on the +presence or absence of a specific module
Sintaxis:<IfModule [!]module-file|module-identifier> ... + </IfModule>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
Compatibilidad:Module identifiers are available in version 2.1 and +later.
+

The <IfModule test>...</IfModule> + section is used to mark directives that are conditional on the presence of + a specific module. The directives within an <IfModule> section are only processed if the test + is true. If test is false, everything between the start and + end markers is ignored.

+ +

The test in the <IfModule> section directive can be one of two forms:

+ +
    +
  • module
  • + +
  • !module
  • +
+ +

In the former case, the directives between the start and end + markers are only processed if the module named module + is included in Apache httpd -- either compiled in or + dynamically loaded using LoadModule. The second format reverses the test, + and only processes the directives if module is + not included.

+ +

The module argument can be either the module identifier or + the file name of the module, at the time it was compiled. For example, + rewrite_module is the identifier and + mod_rewrite.c is the file name. If a module consists of + several source files, use the name of the file containing the string + STANDARD20_MODULE_STUFF.

+ +

<IfModule> sections are + nest-able, which can be used to implement simple multiple-module + tests.

+ +
This section should only be used if you need to have one + configuration file that works whether or not a specific module + is available. In normal operation, directives need not be + placed in <IfModule> + sections.
+ +
+
top
+

Directiva <IfSection>

+ + + + + + + + +
Descripción:Encloses directives that are processed conditional on the +presence or absence of a specific section directive
Sintaxis:<IfSection [!]section-name> ... + </IfSection>
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
Compatibilidad:Available in 2.4.34 and later.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva Include

+ + + + + + + +
Descripción:Includes other configuration files from within +the server configuration files
Sintaxis:Include [optional|strict] file-path|directory-path|wildcard
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
Compatibilidad:Wildcard matching available in 2.0.41 and later, directory +wildcard matching available in 2.3.6 and later
+

This directive allows inclusion of other configuration files + from within the server configuration files.

+ +

Shell-style (fnmatch()) wildcard characters can be used + in the filename or directory parts of the path to include several files + at once, in alphabetical order. In addition, if + Include points to a directory, rather than a file, + Apache httpd will read all files in that directory and any subdirectory. + However, including entire directories is not recommended, because it is + easy to accidentally leave temporary files in a directory that can cause + httpd to fail. Instead, we encourage you to use the + wildcard syntax shown below, to include files that match a particular + pattern, such as *.conf, for example.

+ +

When a wildcard is specified for a file component of + the path, and no file matches the wildcard, the + Include + directive will be silently ignored. When a wildcard is + specified for a directory component of the path, and + no directory matches the wildcard, the + Include directive will + fail with an error saying the directory cannot be found. +

+ +

For further control over the behaviour of the server when no files or + directories match, prefix the path with the modifiers optional + or strict. If optional is specified, any wildcard + file or directory that does not match will be silently ignored. If + strict is specified, any wildcard file or directory that does + not match at least one file will cause server startup to fail.

+ +

When a directory or file component of the path is + specified exactly, and that directory or file does not exist, + Include directive will fail with an + error saying the file or directory cannot be found.

+ +

The file path specified may be an absolute path, or may be relative + to the ServerRoot directory.

+ +

Examples:

+ +

+ Include /usr/local/apache2/conf/ssl.conf
+ Include /usr/local/apache2/conf/vhosts/*.conf +

+ +

Or, providing paths relative to your ServerRoot directory:

+ +

+ Include conf/ssl.conf
+ Include conf/vhosts/*.conf +

+ +

Wildcards may be included in the directory or file portion of the + path. In the following example, the server will fail to load if no + directories match conf/vhosts/*, but will load successfully if no + files match *.conf.

+ +

+ Include conf/vhosts/*/vhost.conf
+ Include conf/vhosts/*/*.conf +

+ +

In this example, the server will fail to load if either + conf/vhosts/* matches no directories, or if *.conf matches no files:

+ +

+ Include strict conf/vhosts/*/*.conf +

+ +

In this example, the server load successfully if either conf/vhosts/* + matches no directories, or if *.conf matches no files:

+ +

+ Include optional conf/vhosts/*/*.conf +

+ + +

Consulte también

+ +
+
top
+

Directiva IncludeOptional

+ + + + + + + +
Descripción:Includes other configuration files from within +the server configuration files
Sintaxis:IncludeOptional file-path|directory-path|wildcard
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
Compatibilidad:Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva KeepAlive

+ + + + + + + +
Descripción:Enables HTTP persistent connections
Sintaxis:KeepAlive On|Off
Valor por defecto:KeepAlive On
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The Keep-Alive extension to HTTP/1.0 and the persistent + connection feature of HTTP/1.1 provide long-lived HTTP sessions + which allow multiple requests to be sent over the same TCP + connection. In some cases this has been shown to result in an + almost 50% speedup in latency times for HTML documents with + many images. To enable Keep-Alive connections, set + KeepAlive On.

+ +

For HTTP/1.0 clients, Keep-Alive connections will only be + used if they are specifically requested by a client. In + addition, a Keep-Alive connection with an HTTP/1.0 client can + only be used when the length of the content is known in + advance. This implies that dynamic content such as CGI output, + SSI pages, and server-generated directory listings will + generally not use Keep-Alive connections to HTTP/1.0 clients. + For HTTP/1.1 clients, persistent connections are the default + unless otherwise specified. If the client requests it, chunked + encoding will be used in order to send content of unknown + length over persistent connections.

+ +

When a client uses a Keep-Alive connection it will be counted + as a single "request" for the MaxConnectionsPerChild directive, regardless + of how many requests are sent using the connection.

+ +

Consulte también

+ +
+
top
+

Directiva KeepAliveTimeout

+ + + + + + + + +
Descripción:Amount of time the server will wait for subsequent +requests on a persistent connection
Sintaxis:KeepAliveTimeout num[ms]
Valor por defecto:KeepAliveTimeout 5
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Specifying a value in milliseconds is available in +Apache httpd 2.3.2 and later
+

The number of seconds Apache httpd will wait for a subsequent + request before closing the connection. By adding a postfix of ms the + timeout can be also set in milliseconds. Once a request has been + received, the timeout value specified by the + Timeout directive applies.

+ +

Setting KeepAliveTimeout to a high value + may cause performance problems in heavily loaded servers. The + higher the timeout, the more server processes will be kept + occupied waiting on connections with idle clients.

+ +

In a name-based virtual host context, the value of the first + defined virtual host (the default host) in a set of NameVirtualHost will be used. + The other values will be ignored.

+ +
+
top
+

Directiva <Limit>

+ + + + + + + +
Descripción:Restrict enclosed access controls to only certain HTTP +methods
Sintaxis:<Limit method [method] ... > ... + </Limit>
Contexto:directory, .htaccess
Anula:AuthConfig, Limit
Estado:Core
Módulo:core
+

Access controls are normally effective for + all access methods, and this is the usual + desired behavior. In the general case, access control + directives should not be placed within a + <Limit> section.

+ +

The purpose of the <Limit> + directive is to restrict the effect of the access controls to the + nominated HTTP methods. For all other methods, the access + restrictions that are enclosed in the <Limit> bracket will have no + effect. The following example applies the access control + only to the methods POST, PUT, and + DELETE, leaving all other methods unprotected:

+ +

+ <Limit POST PUT DELETE>
+ + Require valid-user
+
+ </Limit> +

+ +

The method names listed can be one or more of: GET, + POST, PUT, DELETE, + CONNECT, OPTIONS, + PATCH, PROPFIND, PROPPATCH, + MKCOL, COPY, MOVE, + LOCK, and UNLOCK. The method name is + case-sensitive. If GET is used it will also + restrict HEAD requests. The TRACE method + cannot be limited (see TraceEnable).

+ +
A <LimitExcept> section should always be + used in preference to a <Limit> + section when restricting access, since a <LimitExcept> section provides protection + against arbitrary methods.
+ +

The <Limit> and + <LimitExcept> + directives may be nested. In this case, each successive level of + <Limit> or <LimitExcept> directives must + further restrict the set of methods to which access controls apply.

+ +
When using + <Limit> or + <LimitExcept> directives with + the Require directive, + note that the first Require + to succeed authorizes the request, regardless of the presence of other + Require directives.
+ +

For example, given the following configuration, all users will + be authorized for POST requests, and the + Require group editors directive will be ignored + in all cases:

+ +

+ <LimitExcept GET> + + Require valid-user + + </LimitExcept>
+ <Limit POST> + + Require group editors + + </Limit> +

+ +
+
top
+

Directiva <LimitExcept>

+ + + + + + + +
Descripción:Restrict access controls to all HTTP methods +except the named ones
Sintaxis:<LimitExcept method [method] ... > ... + </LimitExcept>
Contexto:directory, .htaccess
Anula:AuthConfig, Limit
Estado:Core
Módulo:core
+

<LimitExcept> and + </LimitExcept> are used to enclose + a group of access control directives which will then apply to any + HTTP access method not listed in the arguments; + i.e., it is the opposite of a <Limit> section and can be used to control + both standard and nonstandard/unrecognized methods. See the + documentation for <Limit> for more details.

+ +

For example:

+ +

+ <LimitExcept POST GET>
+ + Require valid-user
+
+ </LimitExcept> +

+ + +
+
top
+

Directiva LimitInternalRecursion

+ + + + + + + + +
Descripción:Determine maximum number of internal redirects and nested +subrequests
Sintaxis:LimitInternalRecursion number [number]
Valor por defecto:LimitInternalRecursion 10
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Available in Apache httpd 2.0.47 and later
+

An internal redirect happens, for example, when using the Action directive, which internally + redirects the original request to a CGI script. A subrequest is Apache httpd's + mechanism to find out what would happen for some URI if it were requested. + For example, mod_dir uses subrequests to look for the + files listed in the DirectoryIndex + directive.

+ +

LimitInternalRecursion prevents the server + from crashing when entering an infinite loop of internal redirects or + subrequests. Such loops are usually caused by misconfigurations.

+ +

The directive stores two different limits, which are evaluated on + per-request basis. The first number is the maximum number of + internal redirects, that may follow each other. The second number + determines, how deep subrequests may be nested. If you specify only one + number, it will be assigned to both limits.

+ +

Example

+ LimitInternalRecursion 5 +

+ +
+
top
+

Directiva LimitRequestBody

+ + + + + + + + +
Descripción:Restricts the total size of the HTTP request body sent +from the client
Sintaxis:LimitRequestBody bytes
Valor por defecto:LimitRequestBody 0
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

This directive specifies the number of bytes from 0 + (meaning unlimited) to 2147483647 (2GB) that are allowed in a + request body. See the note below for the limited applicability + to proxy requests.

+ +

The LimitRequestBody directive allows + the user to set a limit on the allowed size of an HTTP request + message body within the context in which the directive is given + (server, per-directory, per-file or per-location). If the client + request exceeds that limit, the server will return an error + response instead of servicing the request. The size of a normal + request message body will vary greatly depending on the nature of + the resource and the methods allowed on that resource. CGI scripts + typically use the message body for retrieving form information. + Implementations of the PUT method will require + a value at least as large as any representation that the server + wishes to accept for that resource.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service + attacks.

+ +

If, for example, you are permitting file upload to a particular + location, and wish to limit the size of the uploaded file to 100K, + you might use the following directive:

+ +

+ LimitRequestBody 102400 +

+ +

For a full description of how this directive is interpreted by + proxy requests, see the mod_proxy documentation.

+
+ + +
+
top
+

Directiva LimitRequestFields

+ + + + + + + +
Descripción:Limits the number of HTTP request header fields that +will be accepted from the client
Sintaxis:LimitRequestFields number
Valor por defecto:LimitRequestFields 100
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

Number is an integer from 0 (meaning unlimited) to + 32767. The default value is defined by the compile-time + constant DEFAULT_LIMIT_REQUEST_FIELDS (100 as + distributed).

+ +

The LimitRequestFields directive allows + the server administrator to modify the limit on the number of + request header fields allowed in an HTTP request. A server needs + this value to be larger than the number of fields that a normal + client request might include. The number of request header fields + used by a client rarely exceeds 20, but this may vary among + different client implementations, often depending upon the extent + to which a user has configured their browser to support detailed + content negotiation. Optional HTTP extensions are often expressed + using request header fields.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks. + The value should be increased if normal clients see an error + response from the server that indicates too many fields were + sent in the request.

+ +

For example:

+ +

+ LimitRequestFields 50 +

+ +

Warning

+

When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + NameVirtualHost the connection was mapped to.

+
+ + +
+
top
+

Directiva LimitRequestFieldSize

+ + + + + + + +
Descripción:Limits the size of the HTTP request header allowed from the +client
Sintaxis:LimitRequestFieldSize bytes
Valor por defecto:LimitRequestFieldSize 8190
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

This directive specifies the number of bytes + that will be allowed in an HTTP request header.

+ +

The LimitRequestFieldSize directive + allows the server administrator to reduce or increase the limit + on the allowed size of an HTTP request header field. A server + needs this value to be large enough to hold any one header field + from a normal client request. The size of a normal request header + field will vary greatly among different client implementations, + often depending upon the extent to which a user has configured + their browser to support detailed content negotiation. SPNEGO + authentication headers can be up to 12392 bytes.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.

+ +

For example:

+ +

+ LimitRequestFieldSize 4094 +

+ +
Under normal conditions, the value should not be changed from + the default.
+ +

Warning

+

When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + NameVirtualHost the connection was mapped to.

+
+ + +
+
top
+

Directiva LimitRequestLine

+ + + + + + + +
Descripción:Limit the size of the HTTP request line that will be accepted +from the client
Sintaxis:LimitRequestLine bytes
Valor por defecto:LimitRequestLine 8190
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

This directive sets the number of bytes that will be + allowed on the HTTP request-line.

+ +

The LimitRequestLine directive allows + the server administrator to reduce or increase the limit on the allowed size + of a client's HTTP request-line. Since the request-line consists of the + HTTP method, URI, and protocol version, the + LimitRequestLine directive places a + restriction on the length of a request-URI allowed for a request + on the server. A server needs this value to be large enough to + hold any of its resource names, including any information that + might be passed in the query part of a GET request.

+ +

This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.

+ +

For example:

+ +

+ LimitRequestLine 4094 +

+ +
Under normal conditions, the value should not be changed from + the default.
+ +

Warning

+

When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + NameVirtualHost the connection was mapped to.

+
+ + +
+
top
+

Directiva LimitXMLRequestBody

+ + + + + + + + +
Descripción:Limits the size of an XML-based request body
Sintaxis:LimitXMLRequestBody bytes
Valor por defecto:LimitXMLRequestBody 1000000
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

Limit (in bytes) on maximum size of an XML-based request + body. A value of 0 will disable any checking.

+ +

Example:

+ +

+ LimitXMLRequestBody 0 +

+ + +
+
top
+

Directiva <Location>

+ + + + + + +
Descripción:Applies the enclosed directives only to matching +URLs
Sintaxis:<Location + URL-path|URL> ... </Location>
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The <Location> directive + limits the scope of the enclosed directives by URL. It is similar to the + <Directory> + directive, and starts a subsection which is terminated with a + </Location> directive. <Location> sections are processed in the + order they appear in the configuration file, after the <Directory> sections and + .htaccess files are read, and after the <Files> sections.

+ +

<Location> sections operate + completely outside the filesystem. This has several consequences. + Most importantly, <Location> + directives should not be used to control access to filesystem + locations. Since several different URLs may map to the same + filesystem location, such access controls may by circumvented.

+ +

The enclosed directives will be applied to the request if the path component + of the URL meets any of the following criteria: +

+
    +
  • The specified location matches exactly the path component of the URL. +
  • +
  • The specified location, which ends in a forward slash, is a prefix + of the path component of the URL (treated as a context root). +
  • +
  • The specified location, with the addition of a trailing slash, is a + prefix of the path component of the URL (also treated as a context root). +
  • +
+

+ In the example below, where no trailing slash is used, requests to + /private1, /private1/ and /private1/file.txt will have the enclosed + directives applied, but /private1other would not. +

+

+ <Location /private1> + ... +

+

+ In the example below, where a trailing slash is used, requests to + /private2/ and /private2/file.txt will have the enclosed + directives applied, but /private2 and /private2other would not. +

+

+ <Location /private2/> + ... +

+ +

When to use <Location>

+ +

Use <Location> to apply + directives to content that lives outside the filesystem. For + content that lives in the filesystem, use <Directory> and <Files>. An exception is + <Location />, which is an easy way to + apply a configuration to the entire server.

+
+ +

For all origin (non-proxy) requests, the URL to be matched is a + URL-path of the form /path/. No scheme, hostname, + port, or query string may be included. For proxy requests, the + URL to be matched is of the form + scheme://servername/path, and you must include the + prefix.

+ +

The URL may use wildcards. In a wild-card string, ? matches + any single character, and * matches any sequences of + characters. Neither wildcard character matches a / in the URL-path.

+ +

Regular expressions + can also be used, with the addition of the ~ + character. For example:

+ +

+ <Location ~ "/(extra|special)/data"> +

+ +

would match URLs that contained the substring /extra/data + or /special/data. The directive <LocationMatch> behaves + identical to the regex version of <Location>, and is preferred, for the + simple reason that ~ is hard to distinguish from + - in many fonts.

+ +

The <Location> + functionality is especially useful when combined with the + SetHandler + directive. For example, to enable status requests, but allow them + only from browsers at example.com, you might use:

+ +

+ <Location /status>
+ + SetHandler server-status
+ Require host example.com
+
+ </Location> +

+ +

Note about / (slash)

+

The slash character has special meaning depending on where in a + URL it appears. People may be used to its behavior in the filesystem + where multiple adjacent slashes are frequently collapsed to a single + slash (i.e., /home///foo is the same as + /home/foo). In URL-space this is not necessarily true. + The <LocationMatch> + directive and the regex version of <Location> require you to explicitly specify multiple + slashes if that is your intention.

+ +

For example, <LocationMatch ^/abc> would match + the request URL /abc but not the request URL + //abc. The (non-regex) <Location> directive behaves similarly when used for + proxy requests. But when (non-regex) <Location> is used for non-proxy requests it will + implicitly match multiple slashes with a single slash. For example, + if you specify <Location /abc/def> and the + request is to /abc//def then it will match.

+
+ +

Consulte también

+ +
+
top
+

Directiva <LocationMatch>

+ + + + + + +
Descripción:Applies the enclosed directives only to regular-expression +matching URLs
Sintaxis:<LocationMatch + regex> ... </LocationMatch>
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The <LocationMatch> directive + limits the scope of the enclosed directives by URL, in an identical manner + to <Location>. However, + it takes a regular expression + as an argument instead of a simple string. For example:

+ +

+ <LocationMatch "/(extra|special)/data"> +

+ +

would match URLs that contained the substring /extra/data + or /special/data.

+ +

Consulte también

+ +
+
top
+

Directiva LogLevel

+ + + + + + + + +
Descripción:Controls the verbosity of the ErrorLog
Sintaxis:LogLevel [module:]level + [module:level] ... +
Valor por defecto:LogLevel warn
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
Compatibilidad:Per-module and per-directory configuration is available in + Apache HTTP Server 2.3.6 and later
+

LogLevel adjusts the verbosity of the + messages recorded in the error logs (see ErrorLog directive). The following + levels are available, in order of decreasing + significance:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Level Description Example
emerg Emergencies - system is unusable."Child cannot open lock file. Exiting"
alert Action must be taken immediately."getpwuid: couldn't determine user name from uid"
crit Critical Conditions."socket: Failed to get a socket, exiting child"
error Error conditions."Premature end of script headers"
warn Warning conditions."child process 1234 did not exit, sending another + SIGHUP"
notice Normal but significant condition."httpd: caught SIGBUS, attempting to dump core in + ..."
info Informational."Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."
debug Debug-level messages"Opening config file ..."
trace1 Trace messages"proxy: FTP: control connection complete"
trace2 Trace messages"proxy: CONNECT: sending the CONNECT request to the remote proxy"
trace3 Trace messages"openssl: Handshake: start"
trace4 Trace messages"read from buffered SSL brigade, mode 0, 17 bytes"
trace5 Trace messages"map lookup FAILED: map=rewritemap key=keyname"
trace6 Trace messages"cache lookup FAILED, forcing new map lookup"
trace7 Trace messages, dumping large amounts of data"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
trace8 Trace messages, dumping large amounts of data"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
+ +

When a particular level is specified, messages from all + other levels of higher significance will be reported as well. + E.g., when LogLevel info is specified, + then messages with log levels of notice and + warn will also be posted.

+ +

Using a level of at least crit is + recommended.

+ +

For example:

+ +

+ LogLevel notice +

+ +

Note

+

When logging to a regular file messages of the level + notice cannot be suppressed and thus are always + logged. However, this doesn't apply when logging is done + using syslog.

+
+ +

Specifying a level without a module name will reset the level + for all modules to that level. Specifying a level with a module + name will set the level for that module only. It is possible to + use the module source file name, the module identifier, or the + module identifier with the trailing _module omitted + as module specification. This means the following three specifications + are equivalent:

+ +

+ LogLevel info ssl:warn
+ LogLevel info mod_ssl.c:warn
+ LogLevel info ssl_module:warn
+

+ +

It is also possible to change the level per directory:

+ +

+ LogLevel info
+ <Directory /usr/local/apache/htdocs/app>
+   LogLevel debug
+ </Files> +

+ +
+ Per directory loglevel configuration only affects messages that are + logged after the request has been parsed and that are associated with + the request. Log messages which are associated with the connection or + the server are not affected. +
+ +
+
top
+

Directiva MaxKeepAliveRequests

+ + + + + + + +
Descripción:Number of requests allowed on a persistent +connection
Sintaxis:MaxKeepAliveRequests number
Valor por defecto:MaxKeepAliveRequests 100
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The MaxKeepAliveRequests directive + limits the number of requests allowed per connection when + KeepAlive is on. If it is + set to 0, unlimited requests will be allowed. We + recommend that this setting be kept to a high value for maximum + server performance.

+ +

For example:

+ +

+ MaxKeepAliveRequests 500 +

+ +
+
top
+

Directiva MaxRangeOverlaps

+ + + + + + + + +
Descripción:Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
Sintaxis:MaxRangeOverlaps default | unlimited | none | number-of-ranges
Valor por defecto:MaxRangeOverlaps 20
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 2.3.15 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva MaxRangeReversals

+ + + + + + + + +
Descripción:Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
Sintaxis:MaxRangeReversals default | unlimited | none | number-of-ranges
Valor por defecto:MaxRangeReversals 20
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 2.3.15 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva MaxRanges

+ + + + + + + + +
Descripción:Number of ranges allowed before returning the complete +resource
Sintaxis:MaxRanges default | unlimited | none | number-of-ranges
Valor por defecto:MaxRanges 200
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 2.3.15 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva MergeSlashes

+ + + + + + + + +
Descripción:Controls whether the server merges consecutive slashes in URLs. +
Sintaxis:MergeSlashes ON|OFF
Valor por defecto:MergeSlashes ON
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Added in 2.4.39

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva MergeTrailers

+ + + + + + + + +
Descripción:Determines whether trailers are merged into headers
Sintaxis:MergeTrailers [on|off]
Valor por defecto:MergeTrailers off
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:2.4.11 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva Mutex

+ + + + + + + + +
Descripción:Configures mutex mechanism and lock file directory for all +or specified mutexes
Sintaxis:Mutex mechanism [default|mutex-name] ... [OmitPID]
Valor por defecto:Mutex default
Contexto:server config
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 2.3.4 and later
+

The Mutex directive sets the mechanism, + and optionally the lock file location, that httpd and modules use + to serialize access to resources. Specify default as + the first argument to change the settings for all mutexes; specify + a mutex name (see table below) as the first argument to override + defaults only for that mutex.

+ +

The Mutex directive is typically used in + the following exceptional situations:

+ +
    +
  • change the mutex mechanism when the default mechanism selected + by APR has a functional or performance + problem
  • + +
  • change the directory used by file-based mutexes when the + default directory does not support locking
  • +
+ +

Supported modules

+

This directive only configures mutexes which have been registered + with the core server using the ap_mutex_register() API. + All modules bundled with httpd support the Mutex + directive, but third-party modules may not. Consult the documentation + of the third-party module, which must indicate the mutex name(s) which + can be configured if this directive is supported.

+
+ +

The following mutex mechanisms are available:

+
    +
  • default | yes +

    This selects the default locking implementation, as determined by + APR. The default locking implementation can + be displayed by running httpd with the + -V option.

  • + +
  • none | no +

    This effectively disables the mutex, and is only allowed for a + mutex if the module indicates that it is a valid choice. Consult the + module documentation for more information.

  • + +
  • posixsem +

    This is a mutex variant based on a Posix semaphore.

    + +

    Warning

    +

    The semaphore ownership is not recovered if a thread in the process + holding the mutex segfaults, resulting in a hang of the web server.

    +
    +
  • + +
  • sysvsem +

    This is a mutex variant based on a SystemV IPC semaphore.

    + +

    Warning

    +

    It is possible to "leak" SysV semaphores if processes crash + before the semaphore is removed.

    +
    + +

    Security

    +

    The semaphore API allows for a denial of service attack by any + CGIs running under the same uid as the webserver (i.e., + all CGIs, unless you use something like suexec + or cgiwrapper).

    +
    +
  • + +
  • sem +

    This selects the "best" available semaphore implementation, choosing + between Posix and SystemV IPC semaphores, in that order.

  • + +
  • pthread +

    This is a mutex variant based on cross-process Posix thread + mutexes.

    + +

    Warning

    +

    On most systems, if a child process terminates abnormally while + holding a mutex that uses this implementation, the server will deadlock + and stop responding to requests. When this occurs, the server will + require a manual restart to recover.

    +

    Solaris is a notable exception as it provides a mechanism which + usually allows the mutex to be recovered after a child process + terminates abnormally while holding a mutex.

    +

    If your system implements the + pthread_mutexattr_setrobust_np() function, you may be able + to use the pthread option safely.

    +
    +
  • + +
  • fcntl:/path/to/mutex +

    This is a mutex variant where a physical (lock-)file and the + fcntl() function are used as the mutex.

    + +

    Warning

    +

    When multiple mutexes based on this mechanism are used within + multi-threaded, multi-process environments, deadlock errors (EDEADLK) + can be reported for valid mutex operations if fcntl() + is not thread-aware, such as on Solaris.

    +
    +
  • + +
  • flock:/path/to/mutex +

    This is similar to the fcntl:/path/to/mutex method + with the exception that the flock() function is used to + provide file locking.

  • + +
  • file:/path/to/mutex +

    This selects the "best" available file locking implementation, + choosing between fcntl and flock, in that + order.

  • +
+ +

Most mechanisms are only available on selected platforms, where the + underlying platform and APR support it. Mechanisms + which aren't available on all platforms are posixsem, + sysvsem, sem, pthread, fcntl, + flock, and file.

+ +

With the file-based mechanisms fcntl and flock, + the path, if provided, is a directory where the lock file will be created. + The default directory is httpd's run-time file directory relative to + ServerRoot. Always use a local disk + filesystem for /path/to/mutex and never a directory residing + on a NFS- or AFS-filesystem. The basename of the file will be the mutex + type, an optional instance string provided by the module, and unless the + OmitPID keyword is specified, the process id of the httpd + parent process will be appended to to make the file name unique, avoiding + conflicts when multiple httpd instances share a lock file directory. For + example, if the mutex name is mpm-accept and the lock file + directory is /var/httpd/locks, the lock file name for the + httpd instance with parent process id 12345 would be + /var/httpd/locks/mpm-accept.12345.

+ +

Security

+

It is best to avoid putting mutex files in a world-writable + directory such as /var/tmp because someone could create + a denial of service attack and prevent the server from starting by + creating a lockfile with the same name as the one the server will try + to create.

+
+ +

The following table documents the names of mutexes used by httpd + and bundled modules.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mutex nameModule(s)Protected resource
mpm-acceptprefork and worker MPMsincoming connections, to avoid the thundering herd problem; + for more information, refer to the + performance tuning + documentation
authdigest-clientmod_auth_digestclient list in shared memory
authdigest-opaquemod_auth_digestcounter in shared memory
ldap-cachemod_ldapLDAP result cache
rewrite-mapmod_rewritecommunication with external mapping programs, to avoid + intermixed I/O from multiple requests
ssl-cachemod_sslSSL session cache
ssl-staplingmod_sslOCSP stapling response cache
watchdog-callbackmod_watchdogcallback function of a particular client module
+ +

The OmitPID keyword suppresses the addition of the httpd + parent process id from the lock file name.

+ +

In the following example, the mutex mechanism for the MPM accept + mutex will be changed from the compiled-in default to fcntl, + with the associated lock file created in directory + /var/httpd/locks. The mutex mechanism for all other mutexes + will be changed from the compiled-in default to sysvsem.

+ +

+ Mutex default sysvsem
+ Mutex mpm-accept fcntl:/var/httpd/locks +

+ +
+
top
+

Directiva NameVirtualHost

+ + + + + + +
Descripción:Designates an IP address for name-virtual +hosting
Sintaxis:NameVirtualHost addr[:port]
Contexto:server config
Estado:Core
Módulo:core
+ +

A single NameVirtualHost directive +identifies a set of identical virtual hosts on which the server will +further select from on the basis of the hostname +requested by the client. The NameVirtualHost +directive is a required directive if you want to configure +name-based virtual hosts.

+ +

This directive, and the corresponding VirtualHost, +must be qualified with a port number if the server supports both HTTP +and HTTPS connections.

+ +

Although addr can be a hostname, it is recommended +that you always use an IP address or a wildcard. A wildcard +NameVirtualHost matches only virtualhosts that also have a literal wildcard +as their argument.

+ +

In cases where a firewall or other proxy receives the requests and +forwards them on a different IP address to the server, you must specify the +IP address of the physical interface on the machine which will be +servicing the requests.

+ +

In the example below, requests received on interface 192.0.2.1 and port 80 +will only select among the first two virtual hosts. Requests received on +port 80 on any other interface will only select among the third and fourth +virtual hosts. In the common case where the interface isn't important +to the mapping, only the "*:80" NameVirtualHost and VirtualHost directives +are necessary.

+ +

+ NameVirtualHost 192.0.2.1:80
+ NameVirtualHost *:80

+ + <VirtualHost 192.0.2.1:80>
+   ServerName namebased-a.example.com
+ </VirtualHost>
+
+ <VirtualHost 192.0.2.1:80>
+   Servername namebased-b.example.com
+ </VirtualHost>
+
+ <VirtualHost *:80>
+   ServerName namebased-c.example.com
+ </VirtualHost>
+
+ <VirtualHost *:80>
+   ServerName namebased-d.example.com
+ </VirtualHost>
+
+ +

+ +

If no matching virtual host is found, then the first listed + virtual host that matches the IP address and port will be used.

+ + +

IPv6 addresses must be enclosed in square brackets, as shown + in the following example:

+ +

+ NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 +

+ +

Argument to <VirtualHost> + directive

+

Note that the argument to the <VirtualHost> directive must + exactly match the argument to the NameVirtualHost directive.

+ +

+ NameVirtualHost 192.0.2.2:80
+ <VirtualHost 192.0.2.2:80>
+ # ...
+ </VirtualHost>
+

+
+ +

Consulte también

+ +
+
top
+

Directiva Options

+ + + + + + + + +
Descripción:Configures what features are available in a particular +directory
Sintaxis:Options + [+|-]option [[+|-]option] ...
Valor por defecto:Options All
Contexto:server config, virtual host, directory, .htaccess
Anula:Options
Estado:Core
Módulo:core
+

The Options directive controls which + server features are available in a particular directory.

+ +

option can be set to None, in which + case none of the extra features are enabled, or one or more of + the following:

+ +
+
All
+ +
All options except for MultiViews. This is the default + setting.
+ +
ExecCGI
+ +
+ Execution of CGI scripts using mod_cgi + is permitted.
+ +
FollowSymLinks
+ +
+ + The server will follow symbolic links in this directory. +
+

Even though the server follows the symlink it does not + change the pathname used to match against <Directory> sections.

+

Note also, that this option gets ignored if set + inside a <Location> + section.

+

Omitting this option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.

+
+ +
Includes
+ +
+ Server-side includes provided by mod_include + are permitted.
+ +
IncludesNOEXEC
+ +
+ + Server-side includes are permitted, but the #exec + cmd and #exec cgi are disabled. It is still + possible to #include virtual CGI scripts from + ScriptAliased + directories.
+ +
Indexes
+ +
+ If a URL which maps to a directory is requested, and there + is no DirectoryIndex + (e.g., index.html) in that directory, then + mod_autoindex will return a formatted listing + of the directory.
+ +
MultiViews
+ +
+ Content negotiated + "MultiViews" are allowed using + mod_negotiation. +

Note

This option gets ignored if set + anywhere other than <Directory>, as mod_negotiation + needs real resources to compare against and evaluate from.

+
+ +
SymLinksIfOwnerMatch
+ +
The server will only follow symbolic links for which the + target file or directory is owned by the same user id as the + link. + +

Note

This option gets ignored if + set inside a <Location> section.

+

This option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.

+
+
+ +

Normally, if multiple Options could + apply to a directory, then the most specific one is used and + others are ignored; the options are not merged. (See how sections are merged.) + However if all the options on the + Options directive are preceded by a + + or - symbol, the options are + merged. Any options preceded by a + are added to the + options currently in force, and any options preceded by a + - are removed from the options currently in + force.

+ +

Warning

+

Mixing Options with a + or + - with those without is not valid syntax, and is likely + to cause unexpected results.

+
+ +

For example, without any + and - symbols:

+ +

+ <Directory /web/docs>
+ + Options Indexes FollowSymLinks
+
+ </Directory>
+
+ <Directory /web/docs/spec>
+ + Options Includes
+
+ </Directory> +

+ +

then only Includes will be set for the + /web/docs/spec directory. However if the second + Options directive uses the + and + - symbols:

+ +

+ <Directory /web/docs>
+ + Options Indexes FollowSymLinks
+
+ </Directory>
+
+ <Directory /web/docs/spec>
+ + Options +Includes -Indexes
+
+ </Directory> +

+ +

then the options FollowSymLinks and + Includes are set for the /web/docs/spec + directory.

+ +

Note

+

Using -IncludesNOEXEC or + -Includes disables server-side includes completely + regardless of the previous setting.

+
+ +

The default in the absence of any other settings is + All.

+ +
+
top
+

Directiva Protocol

+ + + + + + + +
Descripción:Protocol for a listening socket
Sintaxis:Protocol protocol
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Available in Apache 2.1.5 and later. +On Windows from Apache 2.3.3 and later.
+

This directive specifies the protocol used for a specific listening socket. + The protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the AcceptFilter + directive.

+ +

You only need to set the protocol if you are running on non-standard ports, otherwise http is assumed for port 80 and https for port 443.

+ +

For example, if you are running https on a non-standard port, specify the protocol explicitly:

+ +

+ Protocol https +

+ +

You can also specify the protocol using the Listen directive.

+ +

Consulte también

+ +
+
top
+

Directiva Protocols

+ + + + + + + + +
Descripción:Protocols available for a server/virtual host
Sintaxis:Protocols protocol ...
Valor por defecto:Protocols http/1.1
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Only available from Apache 2.4.17 and later.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva ProtocolsHonorOrder

+ + + + + + + + +
Descripción:Determines if order of Protocols determines precedence during negotiation
Sintaxis:ProtocolsHonorOrder On|Off
Valor por defecto:ProtocolsHonorOrder On
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Only available from Apache 2.4.17 and later.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva QualifyRedirectURL

+ + + + + + + + + +
Descripción:Controls whether the REDIRECT_URL environment variable is + fully qualified
Sintaxis:QualifyRedirectURL On|Off
Valor por defecto:QualifyRedirectURL Off
Contexto:server config, virtual host, directory
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva ReadBufferSize

+ + + + + + + + +
Descripción:Size of the buffers used to read data
Sintaxis:ReadBufferSize bytes
Valor por defecto:ReadBufferSize 8192
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
Compatibilidad:2.4.27 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva RegexDefaultOptions

+ + + + + + + + +
Descripción:Allow to configure global/default options for regexes
Sintaxis:RegexDefaultOptions [none] [+|-]option [[+|-]option] ...
Valor por defecto:RegexDefaultOptions DOTALL DOLLAR_ENDONLY
Contexto:server config
Estado:Core
Módulo:core
Compatibilidad:Only available from Apache 2.4.30 and later.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva RegisterHttpMethod

+ + + + + + + +
Descripción:Register non-standard HTTP methods
Sintaxis:RegisterHttpMethod method [method [...]]
Contexto:server config
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 2.4.24 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

Consulte también

+ +
+
top
+

Directiva RLimitCPU

+ + + + + + + + +
Descripción:Limits the CPU consumption of processes launched +by Apache httpd children
Sintaxis:RLimitCPU seconds|max [seconds|max]
Valor por defecto:Unset; uses operating system defaults
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or max to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as root, or in the initial startup + phase.

+ +

This applies to processes forked off from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked off from the Apache httpd parent such as piped + logs.

+ +

CPU resource limits are expressed in seconds per + process.

+ +

Consulte también

+ +
+
top
+

Directiva RLimitMEM

+ + + + + + + + +
Descripción:Limits the memory consumption of processes launched +by Apache httpd children
Sintaxis:RLimitMEM bytes|max [bytes|max]
Valor por defecto:Unset; uses operating system defaults
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or max to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as root, or in the initial startup + phase.

+ +

This applies to processes forked off from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked off from the Apache httpd parent such as piped + logs.

+ +

Memory resource limits are expressed in bytes per + process.

+ +

Consulte también

+ +
+
top
+

Directiva RLimitNPROC

+ + + + + + + + +
Descripción:Limits the number of processes that can be launched by +processes launched by Apache httpd children
Sintaxis:RLimitNPROC number|max [number|max]
Valor por defecto:Unset; uses operating system defaults
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or max to indicate to the server that the limit + should be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as root, or in the initial startup + phase.

+ +

This applies to processes forked off from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked off from the Apache httpd parent such as piped + logs.

+ +

Process limits control the number of processes per user.

+ +

Note

+

If CGI processes are not running + under user ids other than the web server user id, this directive + will limit the number of processes that the server itself can + create. Evidence of this situation will be indicated by + cannot fork messages in the + error_log.

+
+ +

Consulte también

+ +
+
top
+

Directiva ScriptInterpreterSource

+ + + + + + + + + +
Descripción:Technique for locating the interpreter for CGI +scripts
Sintaxis:ScriptInterpreterSource Registry|Registry-Strict|Script
Valor por defecto:ScriptInterpreterSource Script
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:Win32 only; +option Registry-Strict is available in Apache HTTP Server 2.0 and +later
+

This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. The default setting is + Script. This causes Apache httpd to use the interpreter pointed to + by the shebang line (first line, starting with #!) in the + script. On Win32 systems this line usually looks like:

+ +

+ #!C:/Perl/bin/perl.exe +

+ +

or, if perl is in the PATH, simply:

+ +

+ #!perl +

+ +

Setting ScriptInterpreterSource Registry will + cause the Windows Registry tree HKEY_CLASSES_ROOT to be + searched using the script file extension (e.g., .pl) as a + search key. The command defined by the registry subkey + Shell\ExecCGI\Command or, if it does not exist, by the subkey + Shell\Open\Command is used to open the script file. If the + registry keys cannot be found, Apache httpd falls back to the behavior of the + Script option.

+ +

Security

+

Be careful when using ScriptInterpreterSource + Registry with ScriptAlias'ed directories, because + Apache httpd will try to execute every file within this + directory. The Registry setting may cause undesired + program calls on files which are typically not executed. For + example, the default open command on .htm files on + most Windows systems will execute Microsoft Internet Explorer, so + any HTTP request for an .htm file existing within the + script directory would start the browser in the background on the + server. This is a good way to crash your system within a minute or + so.

+
+ +

The option Registry-Strict which is new in Apache HTTP Server + 2.0 does the same thing as Registry but uses only the + subkey Shell\ExecCGI\Command. The + ExecCGI key is not a common one. It must be + configured manually in the windows registry and hence prevents + accidental program calls on your system.

+ +
+
top
+

Directiva SeeRequestTail

+ + + + + + + + +
Descripción:Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
Sintaxis:SeeRequestTail On|Off
Valor por defecto:SeeRequestTail Off
Contexto:server config
Estado:Core
Módulo:core
Compatibilidad:Available in Apache httpd 2.2.7 and later.
+

mod_status with ExtendedStatus On + displays the actual request being handled. + For historical purposes, only 63 characters of the request + are actually stored for display purposes. This directive + controls whether the 1st 63 characters are stored (the previous + behavior and the default) or if the last 63 characters are. This + is only applicable, of course, if the length of the request is + 64 characters or greater.

+ +

If Apache httpd is handling GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1 mod_status displays as follows: +

+ + + + + + + + + + +
Off (default)GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples
Onorage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1
+ + +
+
top
+

Directiva ServerAdmin

+ + + + + + +
Descripción:Email address that the server includes in error +messages sent to the client
Sintaxis:ServerAdmin email-address|URL
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The ServerAdmin sets the contact address + that the server includes in any error messages it returns to the + client. If the httpd doesn't recognize the supplied argument + as an URL, it + assumes, that it's an email-address and prepends it with + mailto: in hyperlink targets. However, it's recommended to + actually use an email address, since there are a lot of CGI scripts that + make that assumption. If you want to use an URL, it should point to another + server under your control. Otherwise users may not be able to contact you in + case of errors.

+ +

It may be worth setting up a dedicated address for this, e.g.

+ +

+ ServerAdmin www-admin@foo.example.com +

+

as users do not always mention that they are talking about the + server!

+ +
+
top
+

Directiva ServerAlias

+ + + + + + +
Descripción:Alternate names for a host used when matching requests +to name-virtual hosts
Sintaxis:ServerAlias hostname [hostname] ...
Contexto:virtual host
Estado:Core
Módulo:core
+

The ServerAlias directive sets the + alternate names for a host, for use with name-based virtual hosts. The + ServerAlias may include wildcards, if appropriate.

+ +

+ <VirtualHost *:80>
+ ServerName server.domain.com
+ ServerAlias server server2.domain.com server2
+ ServerAlias *.example.com
+ UseCanonicalName Off
+ # ...
+ </VirtualHost> +

+ +

Consulte también

+ +
+
top
+

Directiva ServerName

+ + + + + + +
Descripción:Hostname and port that the server uses to identify +itself
Sintaxis:ServerName [scheme://]fully-qualified-domain-name[:port]
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The ServerName directive sets the + request scheme, hostname and + port that the server uses to identify itself. This is used when + creating redirection URLs.

+ +

Additionally, ServerName is used (possibly + in conjunction with ServerAlias) to uniquely + identify a virtual host, when using name-based virtual hosts.

+ +

For example, if the name of the + machine hosting the web server is simple.example.com, + but the machine also has the DNS alias www.example.com + and you wish the web server to be so identified, the following + directive should be used:

+ +

+ ServerName www.example.com:80 +

+ +

The ServerName directive + may appear anywhere within the definition of a server. However, + each appearance overrides the previous appearance (within that + server).

+ +

If no ServerName is specified, then the + server attempts to deduce the hostname by performing a reverse + lookup on the IP address. If no port is specified in the + ServerName, then the server will use the + port from the incoming request. For optimal reliability and + predictability, you should specify an explicit hostname and port + using the ServerName directive.

+ +

If you are using name-based virtual hosts, + the ServerName inside a + <VirtualHost> + section specifies what hostname must appear in the request's + Host: header to match this virtual host.

+ +

Sometimes, the server runs behind a device that processes SSL, + such as a reverse proxy, load balancer or SSL offload + appliance. When this is the case, specify the + https:// scheme and the port number to which the + clients connect in the ServerName directive + to make sure that the server generates the correct + self-referential URLs. +

+ +

See the description of the + UseCanonicalName and + UseCanonicalPhysicalPort directives for + settings which determine whether self-referential URLs (e.g., by the + mod_dir module) will refer to the + specified port, or to the port number given in the client's request. +

+ +
+

Failure to set ServerName to a name that + your server can resolve to an IP address will result in a startup + warning. httpd will then use whatever hostname it can + determine, using the system's hostname command. This + will almost never be the hostname you actually want.

+

+ httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName +

+
+ + +

Consulte también

+ +
+
top
+

Directiva ServerPath

+ + + + + + +
Descripción:Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser
Sintaxis:ServerPath URL-path
Contexto:virtual host
Estado:Core
Módulo:core
+

The ServerPath directive sets the legacy + URL pathname for a host, for use with name-based virtual hosts.

+ +

Consulte también

+ +
+
top
+

Directiva ServerRoot

+ + + + + + + +
Descripción:Base directory for the server installation
Sintaxis:ServerRoot directory-path
Valor por defecto:ServerRoot /usr/local/apache
Contexto:server config
Estado:Core
Módulo:core
+

The ServerRoot directive sets the + directory in which the server lives. Typically it will contain the + subdirectories conf/ and logs/. Relative + paths in other configuration directives (such as Include or LoadModule, for example) are taken as + relative to this directory.

+ +

Example

+ ServerRoot /home/httpd +

+ + +

Consulte también

+ +
+
top
+

Directiva ServerSignature

+ + + + + + + + +
Descripción:Configures the footer on server-generated documents
Sintaxis:ServerSignature On|Off|EMail
Valor por defecto:ServerSignature Off
Contexto:server config, virtual host, directory, .htaccess
Anula:All
Estado:Core
Módulo:core
+

The ServerSignature directive allows the + configuration of a trailing footer line under server-generated + documents (error messages, mod_proxy ftp directory + listings, mod_info output, ...). The reason why you + would want to enable such a footer line is that in a chain of proxies, + the user often has no possibility to tell which of the chained servers + actually produced a returned error message.

+ +

The Off + setting, which is the default, suppresses the footer line (and is + therefore compatible with the behavior of Apache-1.2 and + below). The On setting simply adds a line with the + server version number and ServerName of the serving virtual host, + and the EMail setting additionally creates a + "mailto:" reference to the ServerAdmin of the referenced + document.

+ +

After version 2.0.44, the details of the server version number + presented are controlled by the ServerTokens directive.

+ +

Consulte también

+ +
+
top
+

Directiva ServerTokens

+ + + + + + + +
Descripción:Configures the Server HTTP response +header
Sintaxis:ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
Valor por defecto:ServerTokens Full
Contexto:server config
Estado:Core
Módulo:core
+

This directive controls whether Server response + header field which is sent back to clients includes a + description of the generic OS-type of the server as well as + information about compiled-in modules.

+ +
+
ServerTokens Full (or not specified)
+ +
Server sends (e.g.): Server: Apache/2.4.1 + (Unix) PHP/4.2.2 MyMod/1.2
+ +
ServerTokens Prod[uctOnly]
+ +
Server sends (e.g.): Server: + Apache
+ +
ServerTokens Major
+ +
Server sends (e.g.): Server: + Apache/2
+ +
ServerTokens Minor
+ +
Server sends (e.g.): Server: + Apache/2.4
+ +
ServerTokens Min[imal]
+ +
Server sends (e.g.): Server: + Apache/2.4.1
+ +
ServerTokens OS
+ +
Server sends (e.g.): Server: Apache/2.4.1 + (Unix)
+ +
+ +

This setting applies to the entire server, and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis.

+ +

After version 2.0.44, this directive also controls the + information presented by the ServerSignature directive.

+ +
Setting ServerTokens to less than + minimal is not recommended because it makes it more + difficult to debug interoperational problems. Also note that + disabling the Server: header does nothing at all to make your + server more secure; the idea of "security through obscurity" + is a myth and leads to a false sense of safety.
+ + +

Consulte también

+ +
+
top
+

Directiva SetHandler

+ + + + + + + + +
Descripción:Forces all matching files to be processed by a +handler
Sintaxis:SetHandler handler-name|None
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
Compatibilidad:Moved into the core in Apache httpd 2.0
+

When placed into an .htaccess file or a + <Directory> or + <Location> + section, this directive forces all matching files to be parsed + through the handler given by + handler-name. For example, if you had a directory you + wanted to be parsed entirely as imagemap rule files, regardless + of extension, you might put the following into an + .htaccess file in that directory:

+ +

+ SetHandler imap-file +

+ +

Another example: if you wanted to have the server display a + status report whenever a URL of + http://servername/status was called, you might put + the following into httpd.conf:

+ +

+ <Location /status>
+ + SetHandler server-status
+
+ </Location> +

+ +

You can override an earlier defined SetHandler + directive by using the value None.

+

Note: because SetHandler overrides default handlers, + normal behaviour such as handling of URLs ending in a slash (/) as + directories or index files is suppressed.

+ +

Consulte también

+ +
+
top
+

Directiva SetInputFilter

+ + + + + + + +
Descripción:Sets the filters that will process client requests and POST +input
Sintaxis:SetInputFilter filter[;filter...]
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
+

The SetInputFilter directive sets the + filter or filters which will process client requests and POST + input when they are received by the server. This is in addition to + any filters defined elsewhere, including the + AddInputFilter + directive.

+ +

If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.

+ +

Consulte también

+ +
+
top
+

Directiva SetOutputFilter

+ + + + + + + +
Descripción:Sets the filters that will process responses from the +server
Sintaxis:SetOutputFilter filter[;filter...]
Contexto:server config, virtual host, directory, .htaccess
Anula:FileInfo
Estado:Core
Módulo:core
+

The SetOutputFilter directive sets the filters + which will process responses from the server before they are + sent to the client. This is in addition to any filters defined + elsewhere, including the + AddOutputFilter + directive.

+ +

For example, the following configuration will process all files + in the /www/data/ directory for server-side + includes.

+ +

+ <Directory /www/data/>
+ + SetOutputFilter INCLUDES
+
+ </Directory> +

+ +

If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.

+ +

Consulte también

+ +
+
top
+

Directiva StrictHostCheck

+ + + + + + + + +
Descripción:Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Sintaxis:StrictHostCheck ON|OFF
Valor por defecto:StrictHostCheck OFF
Contexto:server config, virtual host
Estado:Core
Módulo:core
Compatibilidad:Added in 2.4.49

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

Directiva TimeOut

+ + + + + + + +
Descripción:Amount of time the server will wait for +certain events before failing a request
Sintaxis:TimeOut seconds
Valor por defecto:TimeOut 60
Contexto:server config, virtual host
Estado:Core
Módulo:core
+

The TimeOut directive defines the length + of time Apache httpd will wait for I/O in various circumstances:

+ +
    +
  1. When reading data from the client, the length of time to + wait for a TCP packet to arrive if the read buffer is + empty.
  2. + +
  3. When writing data to the client, the length of time to wait + for an acknowledgement of a packet if the send buffer is + full.
  4. + +
  5. In mod_cgi, the length of time to wait for + output from a CGI script.
  6. + +
  7. In mod_ext_filter, the length of time to + wait for output from a filtering process.
  8. + +
  9. In mod_proxy, the default timeout value if + ProxyTimeout is not + configured.
  10. +
+ + +
+
top
+

Directiva TraceEnable

+ + + + + + + + +
Descripción:Determines the behaviour on TRACE requests
Sintaxis:TraceEnable [on|off|extended]
Valor por defecto:TraceEnable on
Contexto:server config
Estado:Core
Módulo:core
Compatibilidad:Available in Apache HTTP Server 1.3.34, 2.0.55 and later
+

This directive overrides the behavior of TRACE for both + the core server and mod_proxy. The default + TraceEnable on permits TRACE requests per + RFC 2616, which disallows any request body to accompany the request. + TraceEnable off causes the core server and + mod_proxy to return a 405 (Method not + allowed) error to the client.

+ +

Finally, for testing and diagnostic purposes only, request + bodies may be allowed using the non-compliant TraceEnable + extended directive. The core (as an origin server) will + restrict the request body to 64k (plus 8k for chunk headers if + Transfer-Encoding: chunked is used). The core will + reflect the full headers and all chunk headers with the response + body. As a proxy server, the request body is not restricted to 64k.

+ +
+
top
+

Directiva UnDefine

+ + + + + + +
Descripción:Undefine the existence of a variable
Sintaxis:UnDefine parameter-name
Contexto:server config
Estado:Core
Módulo:core
+

Undoes the effect of a Define or + of passing a -D argument to httpd.

+

This directive can be used to toggle the use of <IfDefine> sections without needing to alter + -D arguments in any startup scripts.

+ +
+
top
+

Directiva UseCanonicalName

+ + + + + + + +
Descripción:Configures how the server determines its own name and +port
Sintaxis:UseCanonicalName On|Off|DNS
Valor por defecto:UseCanonicalName Off
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
+

In many situations Apache httpd must construct a self-referential + URL -- that is, a URL that refers back to the same server. With + UseCanonicalName On Apache httpd will use the hostname and port + specified in the ServerName + directive to construct the canonical name for the server. This name + is used in all self-referential URLs, and for the values of + SERVER_NAME and SERVER_PORT in CGIs.

+ +

With UseCanonicalName Off Apache httpd will form + self-referential URLs using the hostname and port supplied by + the client if any are supplied (otherwise it will use the + canonical name, as defined above). These values are the same + that are used to implement name-based virtual hosts, + and are available with the same clients. The CGI variables + SERVER_NAME and SERVER_PORT will be + constructed from the client supplied values as well.

+ +

An example where this may be useful is on an intranet server + where you have users connecting to the machine using short + names such as www. You'll notice that if the users + type a shortname, and a URL which is a directory, such as + http://www/splat, without the trailing + slash then Apache httpd will redirect them to + http://www.domain.com/splat/. If you have + authentication enabled, this will cause the user to have to + authenticate twice (once for www and once again + for www.domain.com -- see the + FAQ on this subject for more information). But if + UseCanonicalName is set Off, then + Apache httpd will redirect to http://www/splat/.

+ +

There is a third option, UseCanonicalName DNS, + which is intended for use with mass IP-based virtual hosting to + support ancient clients that do not provide a + Host: header. With this option Apache httpd does a + reverse DNS lookup on the server IP address that the client + connected to in order to work out self-referential URLs.

+ +

Warning

+

If CGIs make assumptions about the values of SERVER_NAME + they may be broken by this option. The client is essentially free + to give whatever value they want as a hostname. But if the CGI is + only using SERVER_NAME to construct self-referential URLs + then it should be just fine.

+
+ +

Consulte también

+ +
+
top
+

Directiva UseCanonicalPhysicalPort

+ + + + + + + +
Descripción:Configures how the server determines its own name and +port
Sintaxis:UseCanonicalPhysicalPort On|Off
Valor por defecto:UseCanonicalPhysicalPort Off
Contexto:server config, virtual host, directory
Estado:Core
Módulo:core
+

In many situations Apache httpd must construct a self-referential + URL -- that is, a URL that refers back to the same server. With + UseCanonicalPhysicalPort On Apache httpd will, when + constructing the canonical port for the server to honor + the UseCanonicalName directive, + provide the actual physical port number being used by this request + as a potential port. With UseCanonicalPhysicalPort Off + Apache httpd will not ever use the actual physical port number, instead + relying on all configured information to construct a valid port number.

+ +

Note

+

The ordering of when the physical port is used is as follows:

+ UseCanonicalName On

+
    +
  • Port provided in Servername
  • +
  • Physical port
  • +
  • Default port
  • +
+ UseCanonicalName Off | DNS +
    +
  • Parsed port from Host: header
  • +
  • Physical port
  • +
  • Port provided in Servername
  • +
  • Default port
  • +
+ +

With UseCanonicalPhysicalPort Off, the + physical ports are removed from the ordering.

+
+ + +

Consulte también

+ +
+
top
+

Directiva <VirtualHost>

+ + + + + + +
Descripción:Contains directives that apply only to a specific +hostname or IP address
Sintaxis:<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>
Contexto:server config
Estado:Core
Módulo:core
+

<VirtualHost> and + </VirtualHost> are used to enclose a group of + directives that will apply only to a particular virtual host. Any + directive that is allowed in a virtual host context may be + used. When the server receives a request for a document on a + particular virtual host, it uses the configuration directives + enclosed in the <VirtualHost> + section. Addr can be:

+ +
    +
  • The IP address of the virtual host;
  • + +
  • A fully qualified domain name for the IP address of the + virtual host (not recommended);
  • + +
  • The character *, which is used only in combination with + NameVirtualHost * to match all IP addresses; or
  • + +
  • The string _default_, which is used only + with IP virtual hosting to catch unmatched IP addresses.
  • +
+ +

Example

+ <VirtualHost 10.1.2.3>
+ + ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+
+ </VirtualHost> +

+ + +

IPv6 addresses must be specified in square brackets because + the optional port number could not be determined otherwise. An + IPv6 example is shown below:

+ +

+ <VirtualHost [2001:db8::a00:20ff:fea7:ccea]>
+ + ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+
+ </VirtualHost> +

+ +

Each Virtual Host must correspond to a different IP address, + different port number or a different host name for the server, + in the former case the server machine must be configured to + accept IP packets for multiple addresses. (If the machine does + not have multiple network interfaces, then this can be + accomplished with the ifconfig alias command -- if + your OS supports it).

+ +

Note

+

The use of <VirtualHost> does + not affect what addresses Apache httpd listens on. You + may need to ensure that Apache httpd is listening on the correct addresses + using Listen.

+
+ +

When using IP-based virtual hosting, the special name + _default_ can be specified in + which case this virtual host will match any IP address that is + not explicitly listed in another virtual host. In the absence + of any _default_ virtual host the "main" server config, + consisting of all those definitions outside any VirtualHost + section, is used when no IP-match occurs.

+ +

You can specify a :port to change the port that is + matched. If unspecified then it defaults to the same port as the + most recent Listen + statement of the main server. You may also specify :* + to match all ports on that address. (This is recommended when used + with _default_.)

+ +

A ServerName should be + specified inside each <VirtualHost> block. If it is absent, the + ServerName from the "main" + server configuration will be inherited.

+ +

If no matching virtual host is found, then the first listed + virtual host that matches the IP address will be used. As a + consequence, the first listed virtual host is the default virtual + host.

+ +

Security

+

See the security tips + document for details on why your security could be compromised if the + directory where log files are stored is writable by anyone other + than the user that starts the server.

+
+ +

Consulte también

+ +
+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/core.html.fr.utf8 b/docs/manual/mod/core.html.fr.utf8 new file mode 100644 index 0000000..0e9abf2 --- /dev/null +++ b/docs/manual/mod/core.html.fr.utf8 @@ -0,0 +1,5669 @@ + + + + + +core - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Fonctionalités de Base Apache

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
+ +
Description:Fonctionnalités de base du serveur HTTP Apache toujours +disponibles
Statut:Noyau httpd
+
+
Support Apache!

Directives

+ +

Traitement des bugs

Voir aussi

+
+ +
top
+

Directive AcceptFilter

+ + + + + + +
Description:Permet d'optimiser la configuration d'une socket pour +l'écoute d'un protocole
Syntaxe:AcceptFilter protocole filtre +d'acceptation
Contexte:configuration globale
Statut:Noyau httpd
Module:core
+

Cette directive permet d'effectuer une optimisation de la socket + d'écoute d'un type de protocole en fonction du système + d'exploitation. Le but premier est de faire en sorte que le noyau + n'envoie pas de socket au processus du serveur jusqu'à ce que + des données soient reçues, ou qu'une requête HTTP complète soit mise + en tampon. Seuls les Filtres d'acceptation de FreeBSD, le filtre plus + primitif TCP_DEFER_ACCEPT sous Linux, et la version + optimisée d'AcceptEx() de Windows sont actuellement supportés.

+ +

L'utilisation de l'argument none va désactiver tout + filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les + protocoles qui nécessitent l'envoi de données par le serveur en + premier, comme ftp: ou nntp:

+
AcceptFilter nntp none
+ + +

Les noms de protocoles par défaut sont https pour le + port 443 et http pour tous les autres ports. Pour + spécifier un autre protocole à utiliser avec un port en écoute, + ajoutez l'argument protocol à la directive Listen.

+ +

Sous FreeBSD, les valeurs par défaut sont :

+
AcceptFilter http httpready
+AcceptFilter https dataready
+ + +

Le filtre d'acceptation httpready met en tampon des + requêtes HTTP entières au niveau du noyau. Quand une requête + entière a été reçue, le noyau l'envoie au serveur. Voir la page de + manuel de accf_http(9) pour plus de détails. Comme les requêtes + HTTPS sont chiffrées, celles-ci n'autorisent que le filtre accf_data(9).

+ +

Sous Linux, les valeurs par défaut sont :

+
AcceptFilter http data
+AcceptFilter https data
+ + +

Le filtre TCP_DEFER_ACCEPT de Linux ne supporte pas + la mise en tampon des requêtes http. Toute valeur autre que + none active le filtre TCP_DEFER_ACCEPT + pour ce protocole. Pour plus de détails, voir la page de + manuel Linux de tcp(7).

+ +

Sous Windows, les valeurs par défaut sont :

+
AcceptFilter http connect
+AcceptFilter https connect
+ + +

Le module MPM pour Windows mpm_winnt utilise la directive + AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte + pas la mise en tampon du protocole http. connect + utilise l'API AcceptEx(), extrait aussi les adresses réseau finales, + mais à l'instar de none, la valeur connect + n'attend pas la transmission des données initiales.

+ +

Sous Windows, none utilise accept() au lieu + d'AcceptEx(), et ne recycle pas les sockets entre les connexions. + Ceci s'avère utile pour les interfaces réseau dont le pilote est + défectueux, ainsi que pour certains fournisseurs de réseau comme les + pilotes vpn, ou les filtres anti-spam, anti-virus ou + anti-spyware.

+ +
+

L'AcceptFilter data (Windows)

+ +

Jusqu'à la version 2.4.23, le filtre d'acceptation data + attendait que des données aient été transmises et que le tampon de données + initial et l'adresse réseau finale aient été déterminés par l'invocation + AcceptEx(). Cette implémentation étant vulnérable à une attaque de type + denial of service, elle a été désactivée.

+ +

La version actuelle de httpd prend par défaut le filtre + connect sous Windows, et reprendra la valeur + data si data est spécifié. Il est fortement + conseillé aux utilisateurs des versions plus anciennes de définir + explicitement le filtre connect pour leurs AcceptFilter + comme indiqué plus haut.

+
+ + +

Voir aussi

+ +
+
top
+

Directive AcceptPathInfo

+ + + + + + + + +
Description:Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.
Syntaxe:AcceptPathInfo On|Off|Default
Défaut:AcceptPathInfo Default
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
+ +

Cette directive permet de définir si les requêtes contenant des + informations sous forme d'un nom de chemin suivant le nom d'un + fichier réel (ou un fichier qui n'existe pas dans un répertoire qui + existe) doivent être acceptées ou rejetées. Les scripts peuvent + accéder à cette information via la variable d'environnement + PATH_INFO.

+ +

Supposons par exemple que /test/ pointe vers un + répertoire qui ne contient que le fichier here.html. + Les requêtes pour /test/here.html/more et + /test/nothere.html/more vont affecter la valeur + /more à la variable d'environnement + PATH_INFO.

+ +

L'argument de la directive AcceptPathInfo + possède trois valeurs possibles :

+
+
Off
Une requête ne sera acceptée que si + elle correspond à un chemin qui existe. Par conséquent, une requête + contenant une information de chemin après le nom de fichier réel + comme /test/here.html/more dans l'exemple ci-dessus + renverra une erreur "404 NOT FOUND".
+ +
On
Une requête sera acceptée si la partie + principale du chemin correspond à un fichier existant. Dans + l'exemple ci-dessus /test/here.html/more, la requête + sera acceptée si /test/here.html correspond à un nom de + fichier valide.
+ +
Default
Le traitement des requêtes est + déterminé par le gestionnaire responsable de la requête. + Le gestionnaire de base pour les fichiers normaux rejette par défaut + les requêtes avec PATH_INFO. Les gestionnaires qui + servent des scripts, commecgi-script et isapi-handler, acceptent en général par + défaut les requêtes avec PATH_INFO.
+
+ +

Le but premier de la directive AcceptPathInfo est de + vous permettre de remplacer le choix du gestionnaire d'accepter ou + de rejeter PATH_INFO. Ce remplacement est nécessaire + par exemple, lorsque vous utilisez un filtre, comme INCLUDES, pour générer un contenu basé + sur PATH_INFO. Le gestionnaire de base va en général + rejeter la requête, et vous pouvez utiliser la configuration + suivante pour utiliser un tel script :

+
<Files "mypaths.shtml">
+  Options +Includes
+  SetOutputFilter INCLUDES
+  AcceptPathInfo On
+</Files>
+ + + + +
+
top
+

Directive AccessFileName

+ + + + + + + +
Description:Nom du fichier de configuration distribué
Syntaxe:AccessFileName nom-du-fichier +[nom-du-fichier] ...
Défaut:AccessFileName .htaccess
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Au cours du traitement d'une requête, le serveur recherche le + premier fichier de configuration existant à partir de la liste + de noms dans chaque répertoire composant le chemin du document, à + partir du moment où les fichiers de configuration distribués sont activés pour ce répertoire. Par exemple + :

+ +
AccessFileName .acl
+ + +

avant de renvoyer le document + /usr/local/web/index.html, le serveur va rechercher les + fichiers /.acl, /usr/.acl, + /usr/local/.acl et /usr/local/web/.acl + pour y lire d'éventuelles directives, à moins quelles n'aient été + désactivées avec

+ +
<Directory "/">
+    AllowOverride None
+</Directory>
+ + +

Voir aussi

+ +
+
top
+

Directive AddDefaultCharset

+ + + + + + + + +
Description:Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est text/plain ou +text/html
Syntaxe:AddDefaultCharset On|Off|jeu de caractères
Défaut:AddDefaultCharset Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
+

Cette directive spécifie une valeur par défaut pour le paramètre + jeu de caractères du type de média (le nom d'un codage de + caractères) à ajouter à une réponse, si et seulement si le type de + contenu de la réponse est soit text/plain, soit + text/html. Ceci va remplacer + tout jeu de caractères spécifié dans le corps de la réponse via un + élément META, bien que cet effet dépende en fait + souvent de la configuration du client de l'utilisateur. La + définition de AddDefaultCharset Off désactive cette + fonctionnalité. AddDefaultCharset On ajoute un jeu de + caractères par défaut de iso-8859-1. Toute autre valeur + peut être définie via le paramètre jeu de caractères, qui + doit appartenir à la liste des valeurs de + jeux de caractères enregistrés par l'IANA à utiliser dans les + types de média Internet (types MIME). + Par exemple :

+ +
AddDefaultCharset utf-8
+ + +

La directive AddDefaultCharset ne doit + être utilisée que lorsque toutes les ressources textes auxquelles + elle s'applique possèdent le jeu de caractère spécifié, et qu'il est + trop contraignant de définir leur jeu de caractères + individuellement. Un exemple de ce type est l'ajout du paramètre jeu + de caractères aux ressources comportant un contenu généré, comme les + scripts CGI hérités qui peuvent être vulnérables à des attaques de + type cross-site scripting à cause des données utilisateurs incluses + dans leur sortie. Notez cependant qu'une meilleur solution consiste + à corriger (ou supprimer) ces scripts, car la définition d'un jeu de + caractères par défaut ne protège pas les utilisateurs qui ont activé + la fonctionnalité "Détection automatique de l'encodage des + caractères" dans leur navigateur.

+ +

Voir aussi

+ +
+
top
+

Directive AllowEncodedSlashes

+ + + + + + + + +
Description:Détermine si les séparateurs de chemin encodés sont +autorisés à transiter dans les URLs tels quels
Syntaxe:AllowEncodedSlashes On|Off|NoDecode
Défaut:AllowEncodedSlashes Off
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:L'option NoDecode est disponible depuis la version +2.3.12.
+

La directive AllowEncodedSlashes permet + l'utilisation des URLs contenant des séparateurs de chemin + encodés dans la partie chemin + (%2F pour / et même %5C pour + \ sur les systèmes concernés).

+ +

Avec la valeur par défaut, Off, de telles URLs sont + refusées et provoquent le renvoi d'une erreur 404 (Not found).

+ +

Avec la valeur On, ces URLs sont acceptées, et les + slashes encodés sont décodés comme tout autre caractère codé.

+ +

Avec la valeur NoDecode, ces URLs sont acceptées, + mais les slashes codés ne sont pas décodés et laissés dans leur état + codé.

+ +

Définir AllowEncodedSlashes à + On est surtout utile en association avec + PATH_INFO.

+ +

Note

+

Si le codage des slashes dans la partie chemin est nécessaire, + l'utilisation de l'option NoDecode est fortement + recommandée par mesure de sécurité. Permettre le décodage des + slashes pourrait éventuellement induire l'autorisation de chemins + non sûrs.

+
+ +

Voir aussi

+ +
+
top
+

Directive AllowOverride

+ + + + + + + +
Description:Types de directives autorisées dans les fichiers +.htaccess
Syntaxe:AllowOverride All|None|type directive +[type directive] ...
Défaut:AllowOverride None à partir de la version 2.3.9, AllowOverride +All pour les versions antérieures
Contexte:répertoire
Statut:Noyau httpd
Module:core
+

Lorsque le serveur trouve un fichier .htaccess (dont + le nom est défini par la directive AccessFileName), il doit savoir lesquelles + des directives placées dans ce fichier sont autorisées à modifier la + configuration préexistante.

+ +

Valable seulement dans les sections + <Directory>

+ La directive AllowOverride ne peut être + utilisée que dans les sections <Directory> définies sans expressions + rationnelles, et non dans les sections <Location>, <DirectoryMatch> ou + <Files>. +
+ +

Lorsque cette directive et la directive AllowOverrideList sont définies à None, les + fichiers .htaccess sont totalement + ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les + fichiers .htaccess du système de fichiers.

+ +

Lorsque cette directive est définie à All, toute + directive valable dans le Contexte .htaccess sera + autorisée dans les fichiers .htaccess.

+ +

L'argument type directive peut contenir les + groupements de directives suivants (voir ce + document pour obtenir la liste à jour des directives activées pour + chaque type de directive) :

+ +
+
AuthConfig
+ +
+ + Permet l'utilisation des directives d'autorisation (AuthDBMGroupFile, + AuthDBMUserFile, + AuthGroupFile, + AuthName, + AuthType, AuthUserFile, Require, etc...).
+ +
FileInfo
+ +
+ Permet l'utilisation des directives qui contrôlent les types de + documents (directives ErrorDocument, ForceType, LanguagePriority, + SetHandler, SetInputFilter, SetOutputFilter, et directives du + module mod_mime Add* et Remove*), des metadonnées + des documents (Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName), des directives du + module mod_rewrite directives (RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule), des directives du + module mod_alias directives (Redirect, RedirectTemp, RedirectPermanent, RedirectMatch), et de la directive + Action du module + mod_actions. +
+ +
Indexes
+ +
+ Permet l'utilisation des directives qui contrôlent l'indexation + des répertoires (AddDescription, + AddIcon, AddIconByEncoding, + AddIconByType, + DefaultIcon, DirectoryIndex, FancyIndexing, + HeaderName, IndexIgnore, IndexOptions, ReadmeName, + etc...).
+ +
Limit
+ +
+ Permet l'utilisation des directives contrôlant l'accès au serveur + (Allow, Deny et Order).
+ +
Nonfatal=[Override|Unknown|All]
+ +
+ Permet d'utiliser l'option AllowOverride pour rendre les erreurs + de syntaxe non fatales dans les fichiers .htaccess : au lieu de + causer une Internal Server Error, les directives non autorisées ou + non reconnues seront ignorées et un avertissement enregistré dans + le journal : +
    +
  • Nonfatal=Override rend les directives + interdite par AllowOverride non fatales.
  • +
  • Nonfatal=Unknown rend les directives + inconnues non fatales. Sont concernées les erreurs de frappe + et les directives implémentées par un module non chargé.
  • +
  • Nonfatal=All rend toutes les directives + précédentes non fatales.
  • +
+

Notez qu'une erreur de syntaxe dans une directive valide + causera toujours une internal server error.

+

Sécurité

+ Les erreurs non fatales peuvent être à l'origine de problèmes + de sécurité pour les utilisateurs de fichiers .htaccess. Par + exemple, si AllowOverride interdit AuthConfig, toute + configuration utilisateur destinée à restreindre l'accès à un + site ne sera pas prise en compte. +
+
+ +
Options[=Option,...]
+ +
+ Permet l'utilisation des directives contrôlant les fonctionnalités + spécifiques d'un répertoire (Options et XBitHack). "Options" doit être + suivi d'un signe "égal", puis d'une liste d'options séparées par des + virgules (pas d'espaces) ; ces options doivent être définies à + l'aide de la commande Options. + +

Désactivation implicite des options

+

Bien que la liste des options disponibles dans les fichiers + .htaccess puisse être limitée par cette directive, tant qu'un + directive Options est + autorisée, toute autre option héritée peut être désactivée en + utilisant la syntaxe non-relative. En d'autres termes, ce + mécanisme ne peut pas forcer une option spécifique à rester + activée tout en permettant à toute autre option d'être + activée. +

+ +

+ AllowOverride Options=Indexes,MultiViews +

+ +
+
+ +

Exemple :

+ +
AllowOverride AuthConfig Indexes
+ + +

Dans l'exemple ci-dessus, toutes les directives qui ne font + partie ni du groupe AuthConfig, ni du groupe + Indexes, provoquent une erreur "internal + server error".

+ +

Pour des raisons de sécurité et de performance, ne + définissez pas AllowOverride à autre chose que + None dans votre bloc <Directory "/">. + Recherchez plutôt (ou créez) le bloc <Directory> + qui se réfère au répertoire où vous allez précisément placer un + fichier .htaccess.

+
+ +

Voir aussi

+ +
+
top
+

Directive AllowOverrideList

+ + + + + + + +
Description:Directives autorisées dans les fichiers .htaccess
Syntaxe:AllowOverrideList None|directive +[directive-type] ...
Défaut:AllowOverrideList None
Contexte:répertoire
Statut:Noyau httpd
Module:core
+

Lorsque le serveur trouve un fichier .htaccess + (comme spécifié par la directive AccessFileName), il doit savoir lesquelles + des directives déclarées dans ce fichier peuvent remplacer des + directives des fichiers de configuration du serveur.

+ +

Seulement disponible dans les sections <Directory>

+ La directive AllowOverrideList n'est + disponible que dans les sections <Directory> spécifiées sans expressions + rationnelles. +
+ +

Lorsque cette directive et la directive AllowOverride sont définies à + None, les fichiers .htaccess sont totalement ignorés. Dans + ce cas, le serveur ne cherchera même pas à lire des fichiers + .htaccess dans le système de fichiers.

+ +

Example:

+ +
AllowOverride None
+AllowOverrideList Redirect RedirectMatch
+ + +

Dans l'exemple ci-dessus, seules les directives + Redirect et RedirectMatch sont autorisées. + Toutes les autres provoqueront une erreur interne du serveur.

+ +

Example:

+ +
AllowOverride AuthConfig
+AllowOverrideList CookieTracking CookieName
+ + +

Dans l'exemple ci-dessus, la directive AllowOverride autorise les directives du + groupement AuthConfig, et + AllowOverrideList n'autorise que deux directives du + groupement FileInfo. Toutes les autres provoqueront une erreur + interne du serveur.

+ +

Voir aussi

+ +
+
top
+

Directive CGIMapExtension

+ + + + + + + + +
Description:Technique permettant de localiser l'interpréteur des +scripts CGI
Syntaxe:CGIMapExtension chemin CGI .extension
Contexte:répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:NetWare uniquement
+

Cette directive permet de contrôler la manière dont Apache httpd trouve + l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec + la définition CGIMapExtension sys:\foo.nlm .foo, tous + les fichiers scripts CGI possédant une extension .foo + seront passés à l'interpréteur FOO.

+ +
+
top
+

Directive CGIPassAuth

+ + + + + + + + + +
Description:Active la transmission d'en-têtes d'autorisation HTTP aux scripts en +tant que variables CGI
Syntaxe:CGIPassAuth On|Off
Défaut:CGIPassAuth Off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.13 du serveur HTTP +Apache
+

La directive CGIPassAuth permet aux + scripts d'accéder aux en-têtes d'autorisation HTTP tels que + Authorization, en-tête nécessaire aux scripts qui + implémente une authentification HTTP de base. Normalement, ces + en-têtes HTTP sont invisibles pour les scripts car ils leurs + permettraient de voir les identifiants et mots de passe + utilisés pour accéder au serveur lorsque l'authentification HTTP de + base est activée au niveau du serveur web. Cette directive doit être + définie à "On" lorsque des scripts sont autorisés à implémenter une + authentification HTTP de base.

+ +

Cette directive constitue une alternative à l'option de + compilation SECURITY_HOLE_PASS_AUTHORIZATION qui était + déjà disponible dans les versions précédentes du serveur HTTP + Apache.

+ +

Cette option est prise en compte par tout module qui utilise + ap_add_common_vars(), comme mod_cgi, + mod_cgid, mod_proxy_fcgi, + mod_proxy_scgi, etc... En particulier, elle affecte + les modules qui ne traitent pas à proprement parler les requêtes, + mais utilisent quand-même cette API, comme + mod_include ou mod_ext_filter. Les + modules tiers qui n'utilisent pas ap_add_common_vars() + peuvent aussi choisir de prendre en compte cette option.

+ +
+
top
+

Directive CGIVar

+ + + + + + + + +
Description:Contrôle la manière dont certaines variables CGI sont définies
Syntaxe:CGIVar variable rule
Contexte:répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.21 du serveur HTTP Apache
+

Cette directive permet de contrôler la manière dont certaines variables CGI + sont définies.

+ +

règles REQUEST_URI :

+
+
original-uri (valeur par défaut)
+
La valeur est extraite de la requête originale, et ne tient pas compte + des redirections internes ou des sous-requêtes qui pourraient modifier la + ressource demandée.
+
current-uri
+
La valeur reflète la ressource en cours de traitement ; elle peut être + différente de la ressource demandée dans la requête initiale du client suite à + d'éventuelles redirections internes ou sous-requêtes.
+
+ +
+
top
+

Directive ContentDigest

+ + + + + + + + +
Description:Active la génération d'un en-tête Content-MD5 +dans la réponse HTTP
Syntaxe:ContentDigest On|Off
Défaut:ContentDigest Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Noyau httpd
Module:core
+

Cette directive active la génération d'un en-tête + Content-MD5 selon les définitions des RFC 1864 et + 2616.

+ +

MD5 est un algorithme permettant de générer un condensé (parfois + appelé "empreinte") à partir de données d'une taille aléatoire ; le + degré de précision est tel que la moindre altération des données + d'origine entraîne une altération de l'empreinte.

+ +

L'en-tête Content-MD5 permet de vérifier + l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire + ou un client peut utiliser cet en-tête pour rechercher une + éventuelle modification accidentelle de la réponse au cours de sa + transmission. Exemple d'en-tête :

+ +

+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +

+ +

Notez que des problèmes de performances peuvent affecter votre + serveur, car l'empreinte est générée pour chaque requête (il n'y a + pas de mise en cache).

+ +

L'en-tête Content-MD5 n'est envoyé qu'avec les + documents servis par le module core, à l'exclusion + de tout autre module. Ainsi, les documents SSI, les sorties de + scripts CGI, et les réponses à des requêtes partielles (byte range) + ne comportent pas cet en-tête.

+ +
+
top
+

Directive DefaultRuntimeDir

+ + + + + + + + +
Description:Répertoire de base des fichiers créés au cours de l'exécution du serveur
Syntaxe:DefaultRuntimeDir chemin-répertoire
Défaut:DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)
Contexte:configuration globale
Statut:Noyau httpd
Module:core
Compatibilité:Disponible depuis la version 2.4.2 du serveur HTTP Apache
+

La directive DefaultRuntimeDir permet de + définir le répertoire dans lequel le serveur va créer les différents + fichiers relatifs à son exécution (mémoire partagée, verrous, + etc...). Si le chemin spécifié est relatif, le chemin absolu sera + généré relativement à la valeur de la directive + ServerRoot

+ +

Example

+
DefaultRuntimeDir scratch/
+ + +

La valeur par défaut de la directive + DefaultRuntimeDir peut être modifiée en + changeant la valeur de la macro DEFAULT_REL_RUNTIMEDIR + définie à la compilation.

+ +

Note: si la valeur de ServerRoot n'a pas + été spécifiée avant d'utiliser cette directive, c'est la valeur par + défaut de ServerRoot qui sera utilisée pour + définir la base du répertoire.

+ + +

Voir aussi

+ +
+
top
+

Directive DefaultType

+ + + + + + + + + +
Description:Les seuls effets de cette directive sont des émissions +d'avertissements si sa valeur est différente de none. Dans +les versions précédentes, DefaultType permettait de spécifier un type de +média à assigner par défaut au contenu d'une réponse pour lequel aucun +autre type de média n'avait été trouvé. +
Syntaxe:DefaultType type média|none
Défaut:DefaultType none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:L'argument none est disponible dans les +versions d'Apache httpd 2.2.7 et supérieures. Tous les autres choix sont +DESACTIVÉS à partir des version 2.3.x.
+

Cette directive a été désactivée. Pour la compatibilité + ascendante avec les anciens fichiers de configuration, elle peut + être spécifiée avec la valeur none, c'est à dire sans + type de médium par défaut. Par exemple :

+ +
DefaultType None
+ + +

DefaultType None n'est disponible que dans les + versions d'Apache 2.2.7 et supérieures.

+ +

Utilisez le fichier de configuration mime.types et la directive + AddType pour configurer + l'assignement d'un type de médium via les extensions de fichiers, ou + la directive ForceType pour + attribuer un type de médium à des ressources spécifiques. Dans le + cas contraire, le serveur enverra sa réponse sans champ d'en-tête + Content-Type, et le destinataire devra déterminer lui-même le type + de médium.

+ +
+
top
+

Directive Define

+ + + + + + +
Description:Permet de définir une variable
Syntaxe:Define nom-paramètre [valeur-paramètre]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
+

Avec un seul paramètre, l'effet de la directive + Define est identique à celui de l'argument + -D du programme httpd. Il permet de + modifier le comportement des sections <IfDefine> sans avoir à ajouter d'argument + -D au sein des scripts de démarrage.

+ +

De plus, le second paramètre permet d'affecter une valeur à la + variable définie par le premier. Cette variable peut être référencée + dans le fichier de configuration via la syntaxe ${VAR}. + La portée de la variable est toujours globale, et n'est jamais + limitée à la section de configuration courante.

+ +
<IfDefine TEST>
+  Define servername test.example.com
+</IfDefine>
+<IfDefine !TEST>
+  Define servername www.example.com
+  Define SSL
+</IfDefine>
+
+DocumentRoot "/var/www/${servername}/htdocs"
+ + +

Le caractère ":" est interdit dans les noms de variables afin + d'éviter les conflits avec la syntaxe de la directive RewriteMap.

+ +

Portée de la directive et pièges à éviter

+

Si cette directive est définie au sein d'un bloc VirtualHost, les + changements qu'elle induit sont visibles de toute directive + ultérieure, au delà de tout bloc VirtualHost.

+
+ +

Voir aussi

+ +
+
top
+

Directive <Directory>

+ + + + + + +
Description:Regroupe un ensemble de directives qui ne s'appliquent +qu'au répertoire concerné du système de fichiers, à ses +sous-répertoires, et à leur contenu.
Syntaxe:<Directory chemin répertoire> +... </Directory>
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Les balises <Directory> et + </Directory> permettent de regrouper un ensemble + de directives qui ne s'appliquent qu'au répertoire précisé, + à ses sous-répertoires, et aux fichiers situés dans ces + sous-répertoires. Toute directive + autorisée dans un contexte de répertoire peut être utilisée. + chemin répertoire est soit le chemin absolu d'un + répertoire, soit une chaîne de caractères avec caractères génériques + utilisant la comparaison Unix de style shell. Dans une chaîne de + caractères avec caractères génériques, ? correspond à + un caractère quelconque, et * à toute chaîne de + caractères. Les intervalles de caractères [] sont aussi + autorisés. Aucun caractère générique ne peut remplacer le caractère + `/', si bien que l'expression <Directory + "/*/public_html"> ne conviendra pas pour le chemin + * /home/user/public_html, alors que <Directory + "/home/*/public_html"> conviendra. Exemple :

+ +
<Directory "/usr/local/httpd/htdocs">
+  Options Indexes FollowSymLinks
+</Directory>
+ + +

Les chemins de répertoires contenant des espaces doivent être + entourés de guillemets afin d'empêcher l'interprétation de ces + espaces comme fins d'arguments.

+ +
+

Soyez prudent avec l'argument chemin répertoire : il + doit correspondre exactement au chemin du système de fichier + qu'Apache httpd utilise pour accéder aux fichiers. Les directives + comprises dans une section <Directory> ne + s'appliqueront pas aux fichiers du même répertoire auxquels on + aura accédé via un chemin différent, per exemple via un lien + symbolique.

+
+ +

Les Expressions rationnelles + peuvent aussi être utilisées en ajoutant le caractère + ~. Par exemple :

+ +
<Directory ~ "^/www/[0-9]{3}">
+
+</Directory>
+ + +

pourra correspondre à tout répertoire situé dans /www/ et dont le + nom se compose de trois chiffres.

+ +

Si plusieurs sections <Directory> (sans expression rationnelle) + correspondent au répertoire (ou à un de ses parents) qui contient le + document, les directives de la section <Directory> dont le chemin est le plus + court sont appliquées en premier, en s'intercalant avec les + directives des fichiers .htaccess. Par + exemple, avec

+ +
<Directory "/">
+  AllowOverride None
+</Directory>
+
+<Directory "/home">
+  AllowOverride FileInfo
+</Directory>
+ + +

l'accès au document /home/web/dir/doc.html emprunte + le chemin suivant :

+ +
    +
  • Aplication de la directive AllowOverride None + (qui désactive les fichiers .htaccess).
  • + +
  • Application de la directive AllowOverride + FileInfo (pour le répertoire /home).
  • + +
  • Application de toute directive FileInfo qui se + trouverait dans d'éventuels fichiers /home/.htaccess, + /home/web/.htaccess ou + /home/web/dir/.htaccess, dans cet ordre.
  • +
+ +

Les directives associées aux répertoires sous forme d'expressions + rationnelles ne sont prises en compte qu'une fois toutes les + directives des sections sans expressions rationnelles appliquées. + Alors, tous les répertoires avec expressions rationnelles sont + testés selon l'ordre dans lequel ils apparaissent dans le fichier de + configuration. Par exemple, avec

+ +
<Directory ~ "abc$">
+  # ... directives ici ...
+</Directory>
+ + +

la section avec expression rationnelle ne sera prise en compte + qu'après les sections <Directory> sans expression rationnelle + et les fichiers .htaccess. Alors, l'expression + rationnelle conviendra pour /home/abc/public_html/abc + et la section <Directory> + correspondante s'appliquera.

+ +

Notez que la politique d'accès par défaut + dans les sections <Directory "/"> consiste à + autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier + correspondant à une URL. Il est recommandé de modifier cette + situation à l'aide d'un bloc du style

+ +
<Directory "/">
+  Require all denied
+</Directory>
+ + +

puis d'affiner la configuration pour les répertoires que vous + voulez rendre accessibles. Voir la page Conseils à propos de sécurité + pour plus de détails.

+ +

Les sections <Directory> se situent + dans le fichier httpd.conf. Les directives <Directory> ne peuvent pas être imbriquées + et ne sont pas autorisées dans les sections <Limit> ou <LimitExcept>.

+ +

Voir aussi

+ +
+
top
+

Directive <DirectoryMatch>

+ + + + + + +
Description:Regroupe des directives qui s'appliquent au contenu de répertoires +du système de fichiers correspondant à une expression rationnelle
Syntaxe:<DirectoryMatch regex> +... </DirectoryMatch>
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Les balises <DirectoryMatch> + et </DirectoryMatch> permettent de regrouper un + ensemble de directives qui ne s'appliqueront qu'au répertoire + précisé (et aux fichiers qu'il contient), comme pour la section <Directory>. Cependant, le + répertoire est précisé sous la forme d'une expression rationnelle. Par exemple :

+ +
<DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
+    # ...
+</DirectoryMatch>
+ + +

convient pour les sous-répertoires de /www/ dont + le nom se compose de trois chiffres.

+ +

Compatibilité

+ Avant la version 2.3.9, cette directive s'appliquait aussi aux + sous-répertoires (comme la directive <Directory>), et ne tenait pas compte du + symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les + répertoires qui correspondent à l'expression sont affectés par les + directives contenues dans la section. +
+ +

slash de fin

+ Cette directive s'applique aux requêtes pour des répertoires avec + ou sans slash de fin ; les expressions contenant un symbole de fin + de ligne ($) doivent donc faire l'objet d'une attention + particulière. +
+ +

A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé + par "MATCH_". Ceci permet + de référencer des URLs dans des expressions + ou au sein de modules comme mod_rewrite. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.

+ +
<DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</DirectoryMatch>
+ + + +

Voir aussi

+
    +
  • <Directory> +pour une description de la manière dont les expressions rationnelles +sont traitées en présence d'autres sections <Directory> sans expressions rationnelles
  • +
  • Comment fonctionnent les sections +<Directory>, <Location> et <Files> pour une +explication à propos de la manière dont ces différentes sections se +combinent entre elles à la réception d'une requête
  • +
+
+
top
+

Directive DocumentRoot

+ + + + + + + +
Description:Racine principale de l'arborescence des documents visible +depuis Internet
Syntaxe:DocumentRoot chemin répertoire
Défaut:DocumentRoot "/usr/local/apache/htdocs"
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Cette directive permet de définir le répertoire à partir duquel + httpd va servir les fichiers. S'il ne correspond + pas à un Alias, le chemin + de l'URL sera ajouté par le serveur à la racine des documents afin + de construire le chemin du document recherché. Exemple :

+ +
DocumentRoot "/usr/web"
+ + +

un accès à http://my.example.com/index.html se + réfère alors à /usr/web/index.html. Si chemin + répertoire n'est pas un chemin absolu, il est considéré comme + relatif au chemin défini par la directive ServerRoot.

+ +

Le répertoire défini par la directive + DocumentRoot ne doit pas comporter de slash + final.

+ +

Voir aussi

+ +
+
top
+

Directive <Else>

+ + + + + + + + +
Description:Contient des directives qui ne s'appliquent que si la +condition correspondant à la section <If> ou <ElseIf> précédente n'est pas satisfaite par la +requête à l'exécution
Syntaxe:<Else> ... </Else>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Les conditions imbriquées sont supportées à partir de la version +2.4.26 du serveur HTTP Apache
+

La section <Else> applique + les directives qu'elle contient si et seulement si les conditions + correspondant à la section <If> + ou <ElseIf> immédiatement + supérieure et dans la même portée n'ont pas été satisfaites. Par + exemple, dans :

+ +
<If "-z req('Host')">
+  # ...
+</If>
+<Else>
+  # ...
+</Else>
+ + +

La condition de la section <If> serait satisfaite pour les requêtes + HTTP/1.0 sans en-tête Host:, alors que celle de la section + <Else> le serait pour les + requêtes comportant un en-tête Host:.

+ + +

Voir aussi

+ +
+
top
+

Directive <ElseIf>

+ + + + + + + + +
Description:Contient des directives qui ne s'appliquent que si la +condition correspondante est satisfaite par une requête à l'exécution, +alors que la condition correspondant à la section <If> ou <ElseIf> précédente ne l'était pas.
Syntaxe:<ElseIf expression> ... </ElseIf>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Les conditions imbriquées sont supportées à partir de la version +2.4.26 du serveur HTTP Apache
+

La section <ElseIf> applique + les directives qu'elle contient si et seulement si d'une part la + condition correspondante est satisfaite, et d'autre part la condition + correspondant à la section <If> + ou <ElseIf> de la même portée ne + l'est pas. Par exemple, dans :

+ +
<If "-R '10.1.0.0/16'">
+  #...
+</If>
+<ElseIf "-R '10.0.0.0/8'">
+  #...
+</ElseIf>
+<Else>
+  #...
+</Else>
+ + +

La condition correspondant à la section <ElseIf> est satisfaite si l'adresse + distante de la requête appartient au sous-réseau 10.0.0.0/8, mais + pas si elle appartient au sous-réseau 10.1.0.0/16.

+ + +

Voir aussi

+ +
+
top
+

Directive EnableMMAP

+ + + + + + + + +
Description:Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis
Syntaxe:EnableMMAP On|Off
Défaut:EnableMMAP On
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
+

Cette directive définit si httpd peut utiliser + la projection en mémoire (Memory-Mapping) quand il doit lire le contenu + d'un fichier pendant qu'il est servi. Par défaut, lorsque le + traitement d'une requête requiert l'accès aux données contenues dans + un fichier -- par exemple, pour servir un fichier interprété par le + serveur à l'aide de mod_include -- Apache httpd projette + le fichier en mémoire si le système d'exploitation le permet.

+ +

Cette projection en mémoire induit parfois une amélioration des + performances. Sur certains systèmes cependant, il est préférable de + désactiver la projection en mémoire afin d'éviter certains problèmes + opérationnels :

+ +
    +
  • Sur certains systèmes multi-processeurs, la projection en + mémoire peut dégrader les performances du programme + httpd.
  • +
  • S'il fait l'objet d'une projection en mémoire par + httpd, la suppression ou la troncature d'un + fichier peut provoquer un crash de httpd avec une + erreur de segmentation.
  • +
+ +

Pour les configurations de serveur sujettes à ce genre de + problème, il est préférable de désactiver la projection en mémoire + des fichiers servis en spécifiant :

+ +
EnableMMAP Off
+ + +

Pour les montages NFS, cette fonctionnalité peut être + explicitement désactivée pour les fichiers concernés en spécifiant + :

+ +
<Directory "/path-to-nfs-files">
+  EnableMMAP Off
+</Directory>
+ + +
+
top
+

Directive EnableSendfile

+ + + + + + + + + +
Description:Utilise le support sendfile du noyau pour servir les +fichiers aux clients
Syntaxe:EnableSendfile On|Off
Défaut:EnableSendfile Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:Par défaut à Off depuis la version 2.3.9.
+

Cette directive définit si le programme httpd + peut utiliser le support sendfile du noyau pour transmettre le + contenu des fichiers aux clients. Par défaut, lorsque le traitement + d'une requête ne requiert pas l'accès aux données contenues dans un + fichier -- par exemple, pour la transmission d'un fichier statique + -- Apache httpd utilise sendfile pour transmettre le contenu du fichier + sans même lire ce dernier, si le système d'exploitation le + permet.

+ +

Ce mécanisme sendfile évite la séparation des opérations de + lecture et d'envoi, ainsi que les réservations de tampons. sur + certains systèmes cependant, ou sous certains systèmes de fichiers, + il est préférable de désactiver cette fonctionnalité afin d'éviter + certains problèmes opérationnels :

+ +
    +
  • Certains systèmes peuvent présenter un support sendfile + défectueux que le système de compilation n'a pas détecté, en + particulier si les exécutables ont été compilés sur une autre + machine, puis copiés sur la première avec un support sendfile + défectueux.
  • +
  • Sous Linux, l'utilisation de sendfile induit des bogues lors de + la récupération des paquets de vérification TCP (TCP-checksum) avec + certaines cartes réseau lorsqu'on utilise IPv6.
  • +
  • Sous Linux sur Itanium, sendfile peut s'avérer incapable de + traiter les fichiers de plus de 2 Go.
  • +
  • Avec un montage réseau de DocumentRoot (par exemple NFS, SMB, CIFS, + FUSE), le + noyau peut s'avérer incapable de servir un fichier de ce montage + réseau en passant par son propre cache.
  • +
+ +

Pour les configurations de serveur non sujettes à ce genre de + problème, vous pouvez activer cette fonctionnalité en + spécifiant :

+ +
EnableSendfile On
+ + +

Pour les montages réseau, cette fonctionnalité peut être + explicitement désactivée pour les fichiers concernés en spécifiant + :

+ +
<Directory "/path-to-nfs-files">
+  EnableSendfile Off
+</Directory>
+ +

Veuillez noter que la configuration de la directive + EnableSendfile dans un contexte de répertoire + ou de fichier .htaccess n'est pas supportée par + mod_cache_disk. Le module ne prend en compte la + définition de EnableSendfile que dans un + contexte global. +

+ +
+
top
+

Directive Error

+ + + + + + + +
Description:Interrompt la lecture de la configuration avec un message +d'erreur personnalisé
Syntaxe:Error message
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Noyau httpd
Module:core
Compatibilité:à partir de la version 2.3.9
+

Si une erreur peut être détectée dans la configuration, souvent + un module manquant, cette + directive peut être utilisée pour générer un message d'erreur + personnalisé, et interrompre la lecture de la configuration.

+ +
# Exemple
+# vérification du chargement de mod_include
+<IfModule !include_module>
+  Error "mod_include is required by mod_foo.  Load it with LoadModule."
+</IfModule>
+
+# vérification de la définition de SSL ou (exclusif) NOSSL
+<IfDefine SSL>
+<IfDefine NOSSL>
+  Error "Both SSL and NOSSL are defined.  Define only one of them."
+</IfDefine>
+</IfDefine>
+<IfDefine !SSL>
+<IfDefine !NOSSL>
+  Error "Either SSL or NOSSL must be defined."
+</IfDefine>
+</IfDefine>
+ + +

Note

+

Cette directive est évaluée lors du traitement de la configuration, + et non à l'exécution. Par conséquent, elle ne peut pas être évaluée de + manière conditionnelle en l'incluant dans une section <If>.

+
+ + +
+
top
+

Directive ErrorDocument

+ + + + + + + +
Description:Document que le serveur renvoie au client en cas +d'erreur
Syntaxe:ErrorDocument code erreur document
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
+

Apache httpd peut traiter les problèmes et les erreurs de quatre + manières,

+ +
    +
  1. afficher un simple message d'erreur au contenu fixe
  2. + +
  3. afficher un message personnalisé
  4. + +
  5. rediriger en interne vers un chemin d'URL local pour traiter + le problème ou l'erreur
  6. + +
  7. rediriger vers une URL externe pour traiter + le problème ou l'erreur
  8. +
+ +

La première option constitue le comportement par défaut; pour + choisir une des trois autres options, il faut configurer Apache à + l'aide de la directive ErrorDocument, suivie + du code de la réponse HTTP et d'une URL ou d'un message. Apache + httpd fournit parfois des informations supplémentaires à propos du + problème ou de l'erreur.

+ +

A partir de la version 2.4.13, il est possible d'utiliser la syntaxe des expressions dans cette directive + afin de générer des chaînes et URLs dynamiques.

+ +

Les URLs peuvent commencer par un slash (/) pour les chemins web + locaux (relatifs au répertoire défini par la directive DocumentRoot), ou se présenter sous la + forme d'une URL complète que le client pourra résoudre. + Alternativement, un message à afficher par le navigateur pourra être + fourni. Notez que la décision de considérer le paramètre comme URL, + chemin ou message intervient avant toute interprètation + d'expression. Exemples :

+ +
ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi
+ErrorDocument 404 /errors/bad_urls.php
+ErrorDocument 401 /subscription_info.html
+ErrorDocument 403 "Sorry can't allow you access today"
+ErrorDocument 403 Forbidden!
+ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}
+ + +

De plus, on peut spécifier la valeur spéciale default + pour indiquer l'utilisation d'un simple message d'Apache httpd codé en + dur. Bien que non nécessaire dans des circonstances normales, la + spécification de la valeur default va permettre de + rétablir l'utilisation du simple message d'Apache httpd codé en dur pour + les configurations qui sans cela, hériteraient d'une directive + ErrorDocument existante.

+ +
ErrorDocument 404 /cgi-bin/bad_urls.pl
+
+<Directory "/web/docs">
+  ErrorDocument 404 default
+</Directory>
+ + +

Notez que lorsque vous spécifiez une directive + ErrorDocument pointant vers une URL distante + (c'est à dire tout ce qui commence par le préfixe http), le serveur + HTTP Apache va + envoyer une redirection au client afin de lui indiquer où trouver le + document, même dans le cas où ce document se trouve sur le serveur + local. Ceci a de nombreuses conséquences dont la plus importante + réside dans le fait que le client ne recevra pas le code d'erreur + original, mais au contraire un code de statut de redirection. Ceci + peut en retour semer la confusion chez les robots web et divers + clients qui tentent de déterminer la validité d'une URL en examinant + le code de statut. De plus, si vous utilisez une URL distante avec + ErrorDocument 401, le client ne saura pas qu'il doit + demander un mot de passe à l'utilisateur car il ne recevra pas le + code de statut 401. C'est pourquoi, si vous utilisez une + directive ErrorDocument 401, elle devra faire référence + à un document par le biais d'un chemin local.

+ +

Microsoft Internet Explorer (MSIE) ignore par défaut les messages + d'erreur générés par le serveur lorsqu'ils sont trop courts et + remplacent ses propres messages d'erreur "amicaux". Le seuil de + taille varie en fonction du type d'erreur, mais en général, si la + taille de votre message d'erreur est supérieure à 512 octets, il y a + peu de chances pour que MSIE l'occulte, et il sera affiché par ce + dernier. Vous trouverez d'avantage d'informations dans l'article de + la base de connaissances Microsoft Q294807.

+ +

Bien que la plupart des messages d'erreur internes originaux + puissent être remplacés, ceux-ci sont cependant conservés dans + certaines circonstances sans tenir compte de la définition de la + directive ErrorDocument. En + particulier, en cas de détection d'une requête mal formée, le + processus de traitement normal des requêtes est immédiatement + interrompu, et un message d'erreur interne est renvoyé, ceci afin de + se prémunir contre les problèmes de sécurité liés aux requêtes mal + formées.

+ +

Si vous utilisez mod_proxy, il est en général préférable + d'activer ProxyErrorOverride afin d'être en + mesure de produire des messages d'erreur personnalisés pour le + compte de votre serveur d'origine. Si vous n'activez pas + ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur + personnalisés pour le contenu mandaté.

+ + +

Voir aussi

+ +
+
top
+

Directive ErrorLog

+ + + + + + + +
Description:Définition du chemin du journal des erreurs
Syntaxe: ErrorLog file-path|syslog[:[facility][:tag]]
Défaut:ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive ErrorLog permet de définir le + nom du fichier dans lequel le serveur va journaliser toutes les + erreurs qu'il rencontre. Si le file-path n'est pas + absolu, il est considéré comme relatif au chemin défini par la + directive ServerRoot.

+ +
ErrorLog "/var/log/httpd/error_log"
+ + +

Si le file-path commence par une barre verticale + "(|)", il est considéré comme une commande à lancer pour traiter la + journalisation de l'erreur.

+ +
ErrorLog "|/usr/local/bin/httpd_errors"
+ + +

Voir les notes à propos des journaux + redirigés pour plus d'informations.

+ +

L'utilisation de syslog à la place d'un nom de + fichier active la journalisation via syslogd(8) si le système le + supporte. Le dispositif syslog par défaut est local7, + mais vous pouvez le modifier à l'aide de la syntaxe + syslog:facility, où facility peut + être remplacé par un des noms habituellement documentés dans la page + de man syslog(1). Le dispositif syslog local7 est + global, et si il est modifié dans un serveur virtuel, le dispositif + final spécifié affecte l'ensemble du serveur. La même règle s'applique au + tag syslog qui utilise par défaut le nom du binaire du serveur HTTP Apache + httpd dans la plupart des cas. Vous pouvez aussi modifier cette + valeur en utilisant la syntaxe syslog::tag.

+ +
ErrorLog syslog:user
+ErrorLog syslog:user:httpd.srv1
+ErrorLog syslog::httpd.srv2
+ + +

SECURITE : Voir le document conseils à propos de + sécurité pour des détails sur les raisons pour lesquelles votre + sécurité peut être compromise si le répertoire contenant les + fichiers journaux présente des droits en écriture pour tout autre + utilisateur que celui sous lequel le serveur est démarré.

+

Note

+

Lors de la spécification d'un chemin de fichier sur les + plates-formes non-Unix, on doit veiller à n'utiliser que des + slashes (/), même si la plate-forme autorise l'utilisation des + anti-slashes (\). Et d'une manière générale, il est recommandé de + n'utiliser que des slashes (/) dans les fichiers de + configuration.

+
+ +

Voir aussi

+ +
+
top
+

Directive ErrorLogFormat

+ + + + + + +
Description:Spécification du format des entrées du journal des erreurs
Syntaxe: ErrorLogFormat [connection|request] format
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive ErrorLogFormat permet de + spécifier quelles informations supplémentaires vont être enregistrées + dans le journal des erreurs en plus du message habituel.

+ +
# Exemple simple
+ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
+ + +

La spécification de connection ou + request comme premier paramètre permet de définir des + formats supplémentaires, ce qui a pour effet de journaliser des + informations additionnelles lorsque le premier message est + enregistré respectivement pour une connexion ou une requête + spécifique. Ces informations additionnelles ne sont enregistrées + qu'une seule fois par connexion/requête. Si le traitement d'une + connexion ou d'une requête ne génère aucun message dans le journal, + alors aucune information additionnelle n'est enregistrée.

+ +

Il peut arriver que certains items de la chaîne de format ne + produisent aucune sortie. Par exemple, l'en-tête Referer n'est + présent que si le message du journal est associé à une requête et s'il + est généré à un moment où l'en-tête Referer a déjà été lu par le + client. Si aucune sortie n'est générée, le comportement par défaut + consiste à supprimer tout ce qui se trouve entre l'espace précédent + et le suivant. Ceci implique que la ligne de journalisation est + divisée en champs ne contenant pas d'espace séparés par des espaces. + Si un item de la chaîne de format ne génère aucune sortie, + l'ensemble du champ est omis. Par exemple, si l'adresse distante + %a du format [%t] [%l] [%a] %M  n'est + pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas + enregistrés. Il est possible d'échapper les espaces par un anti-slash + afin qu'ils ne soient pas considérés comme séparateurs de champs. + La combinaison '% ' (pourcentage espace) est un délimiteur de + champ de taille nulle qui ne génère aucune sortie.

+ +

Ce comportement peut être changé en ajoutant des modificateurs à + l'item de la chaîne de format. Le modificateur - + (moins) provoque l'enregistrement d'un signe moins si l'item + considéré ne génère aucune sortie. Pour les formats à enregistrement + unique par connexion/requête, il est aussi possible d'utiliser le + modificateur + (plus). Si un item ne générant aucune + sortie possède le modificateur plus, la ligne dans son ensemble est + omise.

+ +

Un modificateur de type entier permet d'assigner un niveau de + sévérité à un item de format. L'item considéré ne + sera journalisé que si la sévérité du message n'est pas + plus haute que le niveau de sévérité spécifié. Les + valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4 + (warn) ou 7 (debug).

+ +

Par exemple, voici ce qui arriverait si vous ajoutiez des + modificateurs à l'item %{Referer}i qui enregistre le + contenu de l'en-tête Referer.

+ + + + + + + + + + + + + + +
Item modifiéSignification
%-{Referer}iEnregistre le caractère - si l'en-tête + Referer n'est pas défini.
%+{Referer}iN'enregistre rien si l'en-tête + Referer n'est pas défini.
%4{Referer}iN'enregistre le contenu de l'en-tête Referer que si + la sévérité du message de journalisation est supérieure à 4.
+ +

Certains items de format acceptent des paramètres supplémentaires + entre accolades.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Chaîne de format Description
%%Le signe pourcentage
%aAdresse IP et port clients
%{c}aPort et adresse IP sous-jacents du correspondant pour la + connexion (voir le module + mod_remoteip)
%AAdresse IP et port locaux
%{name}eVariable d'environnement de requête name
%EEtat d'erreur APR/OS et chaîne
%FNom du fichier source et numéro de ligne de l'appel du + journal
%{name}iEn-tête de requête name
%kNombre de requêtes persistantes pour cette connexion
%lSévérité du message
%LIdentifiant journal de la requête
%{c}LIdentifiant journal de la connexion
%{C}LIdentifiant journal de la connexion si utilisé dans la + portée de la connexion, vide sinon
%mNom du module qui effectue la journalisation du message
%MLe message effectif
%{name}nNote de requête name
%PIdentifiant du processus courant
%TIdentifiant du thread courant
%{g}TIdentifiant unique de thread système du thread courant + (l'identifiant affiché par la commande top par + exemple ; seulement sous Linux pour l'instant)
%tL'heure courante
%{u}tL'heure courante avec les microsecondes
%{cu}tL'heure courante au format compact ISO 8601, avec les + microsecondes
%vLe nom de serveur canonique ServerName du serveur courant.
%VLe nom de serveur du serveur qui sert la requête en accord + avec la définition de la directive UseCanonicalName.
(anti-slash espace)Espace non délimiteur
(pourcentage espace)Délimiteur de champ (aucune sortie)
+ +

L'item de format identifiant journal %L génère un + identifiant unique pour une connexion ou une requête. Il peut servir + à déterminer quelles lignes correspondent à la même connexion ou + requête ou quelle requête est associée à tel connexion. Un item de + format %L est aussi disponible dans le module + mod_log_config, mais il permet dans ce contexte de + corréler les entrées du journal des accès avec celles du journal des + erreurs. Si le module mod_unique_id est chargé, + c'est son identifiant unique qui sera utilisé comme identifiant de + journal pour les requêtes.

+ +
# Exemple (format par défaut pour les MPMs threadés)
+ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ + +

Cet exemple renverrait un message d'erreur du style :

+ +

+ [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico +

+ +

Notez que, comme indiqué plus haut, certains champs sont + totalement supprimés s'ils n'ont pas été définis.

+ +
# Exemple (similaire au format 2.2.x)
+ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ + +
# Exemple avancé avec identifiants journal de requête/connexion
+ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
+ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
+ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
+ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
+ErrorLogFormat connection "[%{uc}t] [C:%{c}L] remote\ %a local\ %A"
+ + + +

Voir aussi

+ +
+
top
+

Directive ExtendedStatus

+ + + + + + + +
Description:Extrait des informations d'état étendues pour chaque +requête
Syntaxe:ExtendedStatus On|Off
Défaut:ExtendedStatus Off
Contexte:configuration globale
Statut:Noyau httpd
Module:core
+ +

Cette option permet d'extraire des données supplémentaires + concernant la requête en cours de traitement pour un processus + donné, et crée un résumé d'utilisation ; vous pouvez accéder à + ces variables pendant l'exécution en configurant + mod_status. Notez que d'autres modules sont + susceptibles de s'appuyer sur ce tableau de bord.

+ +

Cette directive s'applique au serveur dans son ensemble, et ne + peut pas être activée/désactivée pour un serveur virtuel + particulier. Notez que l'extraction des informations d'état étendues + peut ralentir le serveur. Notez aussi que cette définition ne peut + pas être modifiée au cours d'un redémarrage graceful.

+ +
+

Notez que le chargement de mod_status définit + automatiquement ExtendedStatus à On, et que d'autres modules tiers + sont susceptibles d'en faire de même. De tels modules ont besoin + d'informations détaillées à propos de l'état de tous les processus. + Depuis la version 2.3.6, mod_status a définit la + valeur par défaut à On, alors qu'elle était à Off dans les versions + antérieures.

+
+ + +
+
top
+

Directive FileETag

+ + + + + + + + + +
Description:Caractéristiques de fichier utilisées lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques
Syntaxe:FileETag composant ...
Défaut:FileETag MTime Size
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:La valeur par défaut était "INode MTime Size" +dans les versions 2.3.14 et antérieures.
+

+ La directive FileETag définit les + caractéristiques de fichier utilisées lors de la génération de + l'en-tête de réponse HTTP ETag (entity tag) quand le + document est contenu dans un fichier statique (la valeur de + ETag + est utilisée dans le cadre de la gestion du cache pour préserver la + bande passante réseau). La directive + FileETag vous permet maintenant de choisir + quelles caractéristiques du fichier vont être utilisées, le cas + échéant. Les mots-clés reconnus sont : +

+ +
+
INode
+
Le numéro d'i-node du fichier sera inclus dans le processus de + génération
+
MTime
+
La date et l'heure auxquelles le fichier a été modifié la + dernière fois seront incluses
+
Size
+
La taille du fichier en octets sera incluse
+
All
+
Tous les champs disponibles seront utilisés. Cette définition + est équivalente à : +
FileETag INode MTime Size
+
+
Digest
+
Si un document est à base de fichier, le champ ETag sera + généré à partir du condensé du fichier.
+
None
+
Si le document se compose d'un fichier, aucun champ + ETag ne sera inclus dans la réponse
+
+ +

Les mots-clés INode, MTime, + Size et Digest peuvent être préfixés par + ou + -, ce qui permet de modifier les valeurs par défaut + héritées d'un niveau de configuration plus général. Tout mot-clé + apparaissant sans aucun préfixe annule entièrement et immédiatement + les configurations héritées.

+ +

Si la configuration d'un répertoire contient + FileETag INode MTime Size, et si un de + ses sous-répertoires contient FileETag -INode, la + configuration de ce sous-répertoire (qui sera propagée vers tout + sous-répertoire qui ne la supplante pas), sera équivalente à + FileETag MTime Size.

+

Inclusions côté serveur

+ Aucun champ ETag n'est généré pour les réponses interprétées par + mod_include, car l'entité de la réponse peut + changer sans modification de l'INode, MTime, Size ou Digest du + fichier statique contenant les directives SSI. +
+ + + +
+
top
+

Directive <Files>

+ + + + + + + +
Description:Contient des directives qui s'appliquent aux fichiers +précisés
Syntaxe:<Files nom fichier> ... </Files>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

La directive <Files> limite + la portée des directives qu'elle contient aux fichiers précisés. + Elle est comparable aux directives <Directory> et <Location>. Elle doit se terminer par une + balise </Files>. Les directives contenues dans + cette section s'appliqueront à tout objet dont le nom de base (la + dernière partie du nom de fichier) correspond au fichier spécifié. + Les sections <Files> sont + traitées selon l'ordre dans lequel elles apparaissent dans le + fichier de configuration, après les sections <Directory> et la lecture des fichiers + .htaccess, mais avant les sections <Location>. Notez que les + sections <Files> peuvent être + imbriquées dans les sections <Directory> afin de restreindre la portion + du système de fichiers à laquelle ces dernières vont + s'appliquer.

+ +

L'argument filename peut contenir un nom de fichier + ou une chaîne de caractères avec caractères génériques, où + ? remplace un caractère, et * toute chaîne + de caractères.

+
<Files "cat.html">
+    # Insérer ici des directives qui s'appliquent au fichier cat.html
+</Files>
+
+<Files "?at.*">
+    # Les directives insérées ici s'appliqueront aux fichiers
+    # cat.html, bat.html, hat.php, et ainsi de suite.
+</Files>
+ + +

On peut aussi utiliser les Expressions rationnelles en ajoutant la + caractère ~. Par exemple :

+ +
<Files ~ "\.(gif|jpe?g|png)$">
+    #...
+</Files>
+ + +

correspondrait à la plupart des formats graphiques de l'Internet. + Il est cependant préférable d'utiliser la directive <FilesMatch>.

+ +

Notez qu'à la différence des sections <Directory> et <Location>, les sections <Files> peuvent être utilisées dans les + fichiers .htaccess. Ceci permet aux utilisateurs de + contrôler l'accès à leurs propres ressources, fichier par + fichier.

+ + +

Voir aussi

+ +
+
top
+

Directive <FilesMatch>

+ + + + + + + +
Description:Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles
Syntaxe:<FilesMatch expression rationnelle> ... +</FilesMatch>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

La section <FilesMatch> + limite la portée des directives qu'elle contient aux fichiers + spécifiés, tout comme le ferait une section <Files>. Mais elle accepte aussi les + expressions rationnelles. Par + exemple :

+ +
<FilesMatch ".+\.(gif|jpe?g|png)$">
+    # ...
+</FilesMatch>
+ + +

correspondrait à la plupart des formats graphiques de + l'Internet.

+ +
Les caractères .+ au début de l'expression + rationnelle permettent de s'assurer que les fichiers de nom + .png, ou .gif, par exemple, ne seront pas + pris en compte.
+ +

A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé + par "MATCH_". Ceci permet + de référencer des URLs dans des expressions + ou au sein de modules comme mod_rewrite. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.

+ +
<FilesMatch "^(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</FilesMatch>
+ + + +

Voir aussi

+ +
+
top
+

Directive FlushMaxPipelined

+ + + + + + + + +
Description:Nombre maximal de réponses en attente (pipelined) au-delà duquel +elles sont envoyées sur le réseau
Syntaxe:FlushMaxPipelined number
Défaut:FlushMaxPipelined 5
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.47 du serveur HTTP Apache
+

Cette directive permet de définir le nombre maximal de réponses + "pipelinées" qui restent en attente tant que des requêtes "pipelinées" sont + reçues. Lorsque cette limite est dépassée, l'envoi des réponses sur le + réseau est forcé en mode bloqué jusqu'à ce que leur nombre repasse en + dessous de la limite.

+ +

La directive FlushMaxPipelined permet de limiter + la consommation de mémoire. Lorsqu'elle est définie à 0, le + pipelining est désactivé, et lorsqu'elle est définie à -1, il n'y + a plus de limite (mais la directive FlushMaxThreshold + s'applique quand-même).

+ +
+
top
+

Directive FlushMaxThreshold

+ + + + + + + + +
Description:Seuil au-delà duquel les données en attente sont envoyées sur le +réseau
Syntaxe:FlushMaxThreshold number-of-bytes
Défaut:FlushMaxThreshold 65536
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.47 du serveur HTTP Apache
+

Cette directive permet de définir le seuil maximal de données en attente + d'envoi (en octets). Lorsque cette limite est dépassée, l'envoi des données sur le + réseau est forcé en mode bloqué jusqu'à ce que leur quantité repasse en + dessous du seuil spécifié.

+ +

La directive FlushMaxThreshold permet de limiter + la consommation de mémoire. Lorsqu'elle est définie à 0 ou à une + valeur trop petite, aucune donnée n'est mise en attente, mais dans le cas + des MPMs threadés, il peut alors y avoir plus de threads occupés en attente du + réseau, ce qui diminue d'autant le nombre de threads disponibles pour + traiter les autres connexions simultanées.

+ +
+
top
+

Directive ForceType

+ + + + + + + +
Description:Force le type de médium spécifié dans le champ d'en-tête +HTTP Content-Type pour les fichiers correspondants
Syntaxe:ForceType type médium|None
Contexte:répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
+

Lorsqu'elle est placée dans un fichier .htaccess ou + une section <Directory>, <Location>, ou <Files>, cette directive force + l'identification du type MIME des fichiers spécifiés à la valeur de + l'argument type médium. Par exemple, si vous possédez un + répertoire ne contenant que des fichiers GIF, et si vous ne voulez + pas leur ajouter l'extension .gif, vous pouvez utiliser + :

+ +
ForceType image/gif
+ + +

Notez que cette directive l'emporte sur d'autres associations de + type de médium indirectes définies dans mime.types ou via la + directive AddType.

+ +

Vous pouvez aussi annuler toute définition plus générale de + ForceType en affectant la valeur + None à l'argument type médium :

+ +
# force le type MIME de tous les fichiers à image/gif:
+<Location "/images">
+  ForceType image/gif
+</Location>
+
+# mais utilise les méthodes classiques d'attribution du type MIME
+# dans le sous-répertoire suivant :
+<Location "/images/mixed">
+  ForceType None
+</Location>
+ + +

A la base, cette directive écrase le type de contenu généré pour + les fichiers statiques servis à partir du sytème de fichiers. Pour + les ressources autres que les fichiers statiques pour lesquels le + générateur de réponse spécifie en général un type de contenu, cette + directive est ignorée.

+ +

Note

+

Lorsque des directives explicites comme SetHandler ou + module="mod_mime">AddHandler ne s'appliquent + pas à la requête courante, le nom du gestionnaire interne + normalement défini par ces directives correspondra alors au type de + contenu spécifié par cette directive. Il s'agit d'un + comportement historique que certains modules + tiers, comme mod_php, peuvent interpréter comme un type de contenu + artificiel ne servant qu'à indiquer le module qui doit prendre en + compte la requête considérée. Dans la mesure du + possible, il est conseillé d'éviter les + configurations qui comportent de tels types artificiels en utilisant + les directives SetHandler ou + AddHandler.

+
+ + +
+
top
+

Directive GprofDir

+ + + + + + +
Description:Répertoire dans lequel écrire les données de profiling +gmon.out.
Syntaxe:GprofDir /tmp/gprof/|/tmp/gprof/%
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Lorsque le serveur a été compilé avec le support du profiling + gprof, la directive GprofDir permet de + spécifier dans quel répertoire les fichiers gmon.out + doivent être écrits lorsque le processus s'arrête. Si l'argument se + termine par un caractère pourcentage ('%'), des sous-répertoires + sont créés pour chaque identifiant de processus.

+ +

Cette directive ne fonctionne actuellement qu'avec le MPM + prefork.

+ +
+
top
+

Directive HostnameLookups

+ + + + + + + +
Description:Active la recherche DNS sur les adresses IP des +clients
Syntaxe:HostnameLookups On|Off|Double
Défaut:HostnameLookups Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
+

Cette directive active la recherche DNS afin de pouvoir + journaliser les nom d'hôtes (et les passer aux programmes CGI et aux + inclusions SSI via la variable REMOTE_HOST). La valeur + Double déclenche une double recherche DNS inverse. En + d'autres termes, une fois la recherche inverse effectuée, on lance + une recherche directe sur le résultat de cette dernière. Au moins + une des adresses IP fournies par la recherche directe doit + correspondre à l'adresse originale (ce que l'on nomme + PARANOID dans la terminologie "tcpwrappers").

+ +

Quelle que soit la configuration, lorsqu'on utilise + mod_authz_host pour contrôler l'accès en fonction + du nom d'hôte, une double recherche DNS inverse est effectuée, + sécurité oblige. Notez cependant que le résultat de cette double + recherche n'est en général pas accessible, à moins que vous n'ayez + spécifié HostnameLookups Double. Par exemple, si vous + n'avez spécifié que HostnameLookups On, et si une + requête concerne un objet protégé par des restrictions en fonction + du nom d'hôte, quel que soit le résultat de la double recherche + inverse, les programmes CGI ne recevront que le résultat de la + recherche inverse simple dans la variable + REMOTE_HOST.

+ +

La valeur par défaut est Off afin de préserver le + traffic réseau des sites pour lesquels la recherche inverse n'est + pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique + pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps + d'attente supplémentaires dus aux recherches DNS. Les sites + fortement chargés devraient laisser cette directive à + Off, car les recherches DNS peuvent prendre des temps + très longs. Vous pouvez éventuellement utiliser hors ligne + l'utilitaire logresolve, compilé par défaut dans + le sous-répertoire bin de votre répertoire + d'installation, afin de déterminer les noms d'hôtes associés aux + adresses IP journalisées.

+ +

Enfin, si vous avez des directives Require à base de + nom, une recherche de nom d'hôte sera effectuée quelle que soit + la définition de la directive HostnameLookups.

+ +
+
top
+

Directive HttpProtocolOptions

+ + + + + + + + +
Description:Modifie les contraintes sur les messages des requêtes HTTP
Syntaxe:HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]
Défaut:HttpProtocolOptions Strict LenientMethods Allow0.9
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir des versions 2.2.32 et 2.4.24 du serveur HTTP +Apache
+

Cette directive permet de modifier les règles qui s'appliquent à la ligne + de requête HTTP (RFC 7230 + §3.1.1) et aux champs des en-têtes des requêtes HTTP (RFC 7230 + §3.2), qui s'appliquent maintenant par défaut ou en utilisant + l'option Strict. L'option Unsafe + a été ajoutée pour pouvoir restaurer les anciens + comportements nécessaires aux anciens modules et applications et aux agents + utilisateurs personnalisés considérés comme obsolètes.

+ +

Ces règles + s'appliquant avant le traitement de la requête, elles doivent, pour être prises en + compte, être définies + au niveau global ou dans la première section par défaut du serveur virtuel + qui correspond à la requête considérée, par interface IP/port et non par + nom.

+ +

Cette directive accepte trois paramètres issus de la liste suivante, ceux + qui ne sont pas spécifiés prenant leur valeur par défaut :

+ +
+
Strict|Unsafe
+
+

Avant l'introduction de cette directive, les interpréteurs de requêtes du + serveur HTTP Apache toléraient un grand nombre de formats en entrée qui + n'étaient pas forcément conformes au protocole. RFC 7230 §9.4 + Request Splitting et §9.5 Response + Smuggling ne rappellent que deux des risques potentiels induits par des + requêtes non conformes, alors que RFC 7230 + §3.5 signale les risques encourus par l'acceptation de blancs non + conformes dans les lignes de requête. Avec l'introduction de cette + directive, toutes les règles de grammaire de la spécification doivent être + respectées dans le mode d'opérations par défaut Strict.

+ +

Risques de sécurité liés au mode Unsafe

+

Il est fortement déconseillé aux utilisateurs d'utiliser le mode + d'opération Unsafe, ou + UnsafeWhitespace, en particulier pour les déploiements de + serveurs ouverts sur l'extérieur et/ou accessibles au public. Si un moniteur + défectueux ou autre logiciel spécialisé ne s'exécutant que sur un intranet + nécessite une interface, les utilisateurs ne doivent utiliser les options de + type UnSafe qu'en cas de nécessité et uniquement au sein d'un serveur + virtuel bien spécifique et sur un réseau privé.

+
+ +

Exemple de requête provoquant l'envoi d'un message HTTP 400 en + mode Strict

+ + # Missing CRLF
+ GET / HTTP/1.0\n\n +

+

Utilitaires en ligne de commande et CRLF

+

Il peut s'avérer nécessaire de forcer certains utilitaires à utiliser + CRLF ; si ce n'est pas le cas, httpd reverra une réponse HTTP 400 comme + dans le cas précédent. Par exemple, le client OpenSSL s_client + doit utiliser le paramètre -crlf pour fonctionner correctement.

+

Pour détecter des problèmes tels que l'absence de CRLF, vous pouvez + utiliser la directive DumpIOInput qui permet de décortiquer + les requêtes HTTP.

+
+
+
RegisteredMethods|LenientMethods
+
+

La section de la RFC 7231 + §4.1 "Request Methods" "Overview" indique que les serveurs doivent + renvoyer un message d'erreur lorsque la ligne de requête comporte une + méthode non supportée. C'est déjà le cas lorsque l'option + LenientMethods est utilisée, mais les administrateurs ont la + possibilité de limiter les méthodes utilisées via l'option + RegisteredMethods en enregistrant toute méthode non standard + via la directive RegisterHttpMethod, en particulier + si l'option Unsafe est utilisée.

+ +

Compatibilité avec le mandat direct

+

L'option + RegisteredMethods ne doit pas être utilisée + pour les serveurs mandataires car ces derniers ne connaissent pas les + méthodes supportées par les serveurs originaux.

+
+ +

Exemple de requête provoquant l'envoi d'un message HTTP 501 en + mode LenientMethods

+ + # Méthode HTTP inconnue
+ WOW / HTTP/1.0\r\n\r\n

+ # Méthode HTTP spécifiée en minuscules
+ get / HTTP/1.0\r\n\r\n
+

+
+
Allow0.9|Require1.0
+
+

La section de la RFC 2616 + §19.6 "Compatibility With Previous Versions" encouragait les + serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va + cependant à son encontre via sa préconisation "Le souhait de supporter les + requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans RFC 7230 Appendix + A. A ce titre, l'option Require1.0 permet à l'utilisateur + d'inhiber le comportement induit par l'option par défaut + Allow0.9.

+ +

Exemple de requête provoquant l'envoi d'un message HTTP 400 en + mode Require1.0

+ + # Version HTTP non supportée
+ GET /\r\n\r\n +

+
+
+ +

La consultation des messages enregistrés dans le journal + ErrorLog, configuré via la directive + LogLevel avec un niveau info, pourra + vous aider à identifier de telles requêtes non conformes ainsi que leur + provenance. Les utilisateurs devront accorder une attention particulière aux + messages d'erreur de type 400 dans le journal access pour détecter les + requêtes apparemment valides mais rejetées.

+ +
+
top
+

Directive <If>

+ + + + + + + + +
Description:Contient des directives qui ne s'appliquent que si une +condition est satisfaite au cours du traitement d'une +requête
Syntaxe:<If expression> ... </If>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Les conditions imbriquées sont supportées à partir de la version +2.4.26 du serveur HTTP Apache
+

La directive <If> évalue une + expression à la volée, et applique les directives qu'elle contient + si et seulement si l'expression renvoie la valeur "vrai". Par + exemple :

+ +
<If "-z req('Host')">
+ + +

serait satisfaite pour les requêtes HTTP/1.0 sans en-tête + Host:. Les expressions peuvent contenir différents + opérateurs de type shell pour la comparaison de chaînes + (==, !=, <, ...), la + comparaison d'entiers (-eq, -ne, ...), ou + à usages divers (-n, -z, -f, + ...). Les expressions rationnelles sont aussi supportées,

+ +
<If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">
+ + +

ainsi que les comparaison de modèles de type shell et de + nombreuses autres opérations. Ces opérations peuvent être effectuées + sur les en-têtes de requêtes (req), les variables + d'environnement (env), et un grand nombre d'autres + propriétés. La documentation complète est disponible dans Les expressions dans le serveur HTTP Apache.

+ +

Cette section de configuration ne peut contenir que des + directives qui supportent le contexte de répertoire.

+ +
+ Certain variables, such as CONTENT_TYPE and other + response headers, are set after <If> conditions have already + been evaluated, and so will not be available to use in this + directive. +
+ +
+ Les directives qui sont évaluées lors du traitement de la configuration + comme Define, Include et + Error ne peuvent pas être traitées de manière + conditionnelle en les incluant dans une section de configuration <If>. Ces sections font en effet toujours partie de + la configuration, quelle soit la manière dont elles sont évaluées à + l'exécution. +
+ + +

Voir aussi

+ +
+
top
+

Directive <IfDefine>

+ + + + + + + +
Description:Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur
Syntaxe:<IfDefine [!]paramètre> ... + </IfDefine>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

La section <IfDefine + test>...</IfDefine> permet de + conférer un caractère conditionnel à un ensemble de directives. Les + directives situées à l'intérieur d'une section <IfDefine> ne s'appliquent que si + test est vrai. Si test est faux, tout ce qui + se trouve entre les balises de début et de fin est ignoré.

+ +

test peut se présenter sous deux formes :

+ +
    +
  • nom paramètre
  • + +
  • !nom paramètre
  • +
+ +

Dans le premier cas, les directives situées entre les balises de + début et de fin ne s'appliqueront que si le paramètre nommé nom + paramètre est défini. Le second format inverse le test, et + dans ce cas, les directives ne s'appliqueront que si nom + paramètre n'est pas défini.

+ +

L'argument nom paramètre est une définition qui peut + être effectuée par la ligne de commande + httpd via le paramètre + -Dparamètre au démarrage du serveur, ou via la + directive Define.

+ +

Les sections <IfDefine> + peuvent être imbriquées, ce qui permet d'implémenter un test + multi-paramètres simple. Exemple :

+ +

httpd -DReverseProxy -DUseCache -DMemCache ...

+
<IfDefine ReverseProxy>
+  LoadModule proxy_module   modules/mod_proxy.so
+  LoadModule proxy_http_module   modules/mod_proxy_http.so
+  <IfDefine UseCache>
+    LoadModule cache_module   modules/mod_cache.so
+    <IfDefine MemCache>
+      LoadModule mem_cache_module   modules/mod_mem_cache.so
+    </IfDefine>
+    <IfDefine !MemCache>
+      LoadModule cache_disk_module   modules/mod_cache_disk.so
+    </IfDefine>
+  </IfDefine>
+</IfDefine>
+ + +
+
top
+

Directive <IfDirective>

+ + + + + + + + +
Description:Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une directive particulière
Syntaxe:<IfDirective [!]directive-name> ... + </IfDirective>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.34 du serveur HTTP Apache
+

La section <IfDirective + test>...</IfDirective> permet de regrouper des + directives dont le traitement n'est effectué que si une directive + particulière est présente, autrement dit si l'expression test est + évaluée à true. Si l'expression test est évaluée à false, toutes + les lignes qui se trouvent entre les balises de début et de fin de la + section sont ignorées.

+ +

L'expression test de la section <IfDirective> peut prendre les deux formes + suivantes :

+ +
    +
  • directive-name
  • + +
  • !directive-name
  • +
+ +

Dans le premier cas, les directives qui se situent entre les balises de + début et de fin de la section ne sont traitées que si une directive de nom + directive-name est disponible à cet instant. Dans le second cas, la condition est + inversée, et les directives ne sont traitées que si + directive-name n'est pas disponible.

+ +
Cette section ne doit être utilisée que si vous devez partager le même + fichier de configuration entre plusieurs versions de + httpd, sans tenir compte de la disponibilité de telle ou + telle directive. Dans une configuration standard, il est inutile de placer + les directives dans des sections <IfDirective>.
+ +

Voir aussi

+ +
+
top
+

Directive <IfFile>

+ + + + + + + + +
Description:Regroupe des directives qui ne seront traitées que si un fichier +existe au démarrage
Syntaxe:<IfFile [!]filename> ... + </IfFile>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.34 du serveur HTTP Apache
+

La section <IfFile filename>...</IfFile> + permet de conditionner le traitement de directives à + l'existence d'un fichier sur disque. Ainsi, les directives définies au sein + d'une section <IfFile> ne seront + traitées que si le fichier filename existe. Si le fichier + filename n'existe pas, tout ce qui se trouve entre les marqueurs + start et end sera ignoré. filename peut être un chemin absolu ou + relatif au chemin défini par la directive ServerRoot.

+ +

Le paramètre filename de l'en-tête d'une section <IfFile> peut prendre la même forme que la variable + test de la section <IfDefine> ; à ce titre, le résultat du test peut + être inversé en plaçant le caractère ! juste avant + filename. +

+ +

Si filename est un chemin relatif, il sera généré par rapport + au chemin défini par la directive ServerRoot. Lorsque la directive <IfFile> intervient avant la définition de la + directive ServerRoot, + filename sera relatif au répertoire racine par défaut du serveur + ou au répertoire racine passé dans la ligne de commande via l'option + -d.

+ +

Avertissement

+ Avec la version 2.4.34, il est interdit de spécifier un filename + entouré de guillemets. Ceci provoquerait une erreur de syntaxe au démarrage. + Il est donc impossible de spécifier des noms de fichiers contenant des + espaces, mais ce défaut a été corrigé à partir de la version 2.4.35.
+ + +
+
top
+

Directive <IfModule>

+ + + + + + + + +
Description:Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique
Syntaxe:<IfModule [!]fichier module|identificateur +module> ... </IfModule>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Les identificateurs de modules sont disponibles dans les +versions 2.1 et supérieures.
+

La section <IfModule + test>...</IfModule> permet de conférer à + des directives un caractère conditionnel basé sur la présence d'un + module spécifique. Les directives situées dans une section + <IfModule> ne s'appliquent que + si test est vrai. Si test est faux, tout ce + qui se trouve entre les balises de début et de fin est ignoré.

+ +

test peut se présenter sous deux formes :

+ +
    +
  • module
  • + +
  • !module
  • +
+ +

Dans le premier cas, les directives situées entre les balises de + début et de fin ne s'appliquent que si le module module + est présent -- soit compilé avec le binaire Apache httpd, soit chargé + dynamiquement via la directive LoadModule. Le second format inverse le test, et dans + ce cas, les directives ne s'appliquent que si module + n'est pas présent.

+ +

L'argument module peut contenir soit l'identificateur + du module, soit le nom du fichier source du module. Par exemple, + rewrite_module est un identificateur et + mod_rewrite.c le nom du fichier source + correspondant. Si un module comporte plusieurs fichiers sources, + utilisez le nom du fichier qui contient la chaîne de caractères + STANDARD20_MODULE_STUFF.

+ +

Les sections <IfModule> + peuvent être imbriquées, ce qui permet d'implémenter des tests + multi-modules simples.

+ +
Cette section ne doit être utilisée que si votre fichier de + configuration ne fonctionne qu'en fonction de la présence ou de + l'absence d'un module spécifique. D'une manière générale, il n'est + pas nécessaire de placer les directives à l'intérieur de sections + <IfModule>.
+ +
+
top
+

Directive <IfSection>

+ + + + + + + + +
Description:Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une section particulière
Syntaxe:<IfSection [!]section-name> ... + </IfSection>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.34 du serveur HTTP Apache
+

La section <IfSection + test>...</IfSection> permet de regrouper des + directives dont le traitement n'est effectué que si une section de + configuration particulière est présente. Une section, par exemple <VirtualHost>, permet de regrouper des directives + et possède un nom précédé du caractère "<".

+ +

Les directives situées à l'intérieur d'une section <IfSection> ne sont traitées que si l'expression + test est évaluée à true. Si l'expression test est + évaluée à false, toutes les lignes situées entre les balises de début et de + fin de la section sont ignorées.

+ +

section-name doit être spécifié sans les caractères de début + "<" ou fin ">". L'expression test de la section <IfSection> peut prendre deux formes :

+ +
    +
  • section-name
  • +
  • !section-name
  • +
+ +

Dans le premier cas, les directives qui se situent entre les balises de + début et de fin de la section ne sont traitées que si une section de nom + section-name est disponible à cet instant. Dans le second cas, la condition est + inversée, et les directives ne sont traitées que si + section-name n'est pas disponible.

+ +

Par exemple :

+ +
<IfSection VirtualHost>
+   ...
+</IfSection>
+ + +
Cette section ne doit être utilisée que si vous devez partager le même + fichier de configuration entre plusieurs versions de + httpd, sans tenir compte de la disponibilité de telle ou + telle section. Dans une configuration standard, il est inutile de placer + les directives dans des sections <IfSection>.
+ +

Voir aussi

+ +
+
top
+

Directive Include

+ + + + + + + +
Description:Inclut d'autres fichiers de configuration dans un des +fichiers de configuration du serveur
Syntaxe:Include chemin-fichier|chemin-répertoire|wildcard
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
Compatibilité:Utilisation des caractères génériques dans la partie chemin depuis la +version 2.3.6
+

Cette directive permet l'inclusion d'autres fichiers de + configuration dans un des fichiers de configuration du serveur.

+ +

On peut utiliser des caractères génériques de style Shell + (fnmatch()) aussi bien dans la partie nom de fichier du + chemin que dans la partie répertoires pour inclure plusieurs + fichiers en une + seule fois, selon leur ordre alphabétique. De plus, si la directive + Include pointe vers un répertoire, Apache + httpd inclura tous les fichiers de ce répertoire et de tous ces + sous-répertoires. L'inclusion de répertoires entiers est cependant + déconseillée, car il est fréquent d'oublier des fichiers + temporaires dans un répertoire, ce qui causerait une erreur + httpd en cas d'inclusion. Pour inclure des + fichiers qui correspondent à un certain modèle, comme *.conf par + exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec + caractères génériques comme ci-dessous.

+ +

La directive Include + échouera avec un code d'erreur si une expression + contenant des caractères génériques ne correspond à aucun fichier. + Pour ignorer les expressions contenant des caractères génériques ne + correspondant à aucun fichier, utilisez la directive IncludeOptional.

+ +

Le chemin fichier spécifié peut être soit un chemin absolu, soit + un chemin relatif au répertoire défini par la directive ServerRoot.

+ +

Exemples :

+ +
Include /usr/local/apache2/conf/ssl.conf
+Include /usr/local/apache2/conf/vhosts/*.conf
+ + +

ou encore, avec des chemins relatifs au répertoire défini par la + directive ServerRoot :

+ +
Include conf/ssl.conf
+Include conf/vhosts/*.conf
+ + +

On peut aussi insérer des caractères génériques dans la partie + répertoires du chemin. Dans l'exemple suivant, la directive + échouera si aucun sous-répertoire de conf/vhosts ne contient au + moins un fichier *.conf :

+ +
Include conf/vhosts/*/*.conf
+ + +

Par contre, dans l'exemple suivant, la directive sera simplement + ignorée si aucun sous-répertoire de conf/vhosts ne contient au + moins un fichier *.conf :

+ +
IncludeOptional conf/vhosts/*/*.conf
+ + + +

Voir aussi

+ +
+
top
+

Directive IncludeOptional

+ + + + + + + +
Description:Inclusion de fichiers dans le fichier de configuration
Syntaxe:IncludeOptional +file-path|directory-path|wildcard
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.3.6 du serveur HTTP +Apache. Après la version 2.4.30, les chemins de fichiers non existants et +ne comportant pas de caractères génériques ne génèrent plus d'erreurs de syntaxe
+

Cette directive permet d'inclure des fichiers dans les fichiers + de configuration du serveur. Elle fonctionne de manière identique à + la directive Include, mais au lieu de + générer une erreur, elle sera ignorée silensieusement si malgré + l'utilisation de caractères génériques, le chemin de fichier ou de + répertoire spécifié n'existe pas dans le système de fichiers.

+ + +

Voir aussi

+ +
+
top
+

Directive KeepAlive

+ + + + + + + +
Description:Active les connexions HTTP persistantes
Syntaxe:KeepAlive On|Off
Défaut:KeepAlive On
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

L'extension Keep-Alive de HTTP/1.0 et l'implémentation des + connexions persistantes dans HTTP/1.1 ont rendu possibles des + sessions HTTP de longue durée, ce qui permet de transmettre + plusieurs requêtes via la même connexion TCP. Dans certains cas, le + gain en rapidité pour des documents comportant de nombreuses images + peut atteindre 50%. Pour activer les connexions persistantes, + définissez KeepAlive On.

+ +

Pour les clients HTTP/1.0, les connexions persistantes ne seront + mises en oeuvre que si elles ont été spécialement demandées par un + client. De plus, une connexion persistante avec un client HTTP/1.0 + ne peut être utilisée que si la taille du contenu est connue + d'avance. Ceci implique que les contenus dynamiques comme les + sorties CGI, les pages SSI, et les listings de répertoires générés + par le serveur n'utiliseront en général pas les connexions + persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1, + les connexions persistantes sont utilisées par défaut, sauf + instructions contraires. Si le client le demande, le transfert par + tronçons de taille fixe (chunked encoding) sera utilisé afin de + transmettre un contenu de longueur inconnue via une connexion + persistante.

+ +

Lorsqu'un client utilise une connexion persistante, elle comptera + pour une seule requête pour la directive MaxConnectionsPerChild, quel + que soit le nombre de requêtes transmises via cette connexion.

+ +

Voir aussi

+ +
+
top
+

Directive KeepAliveTimeout

+ + + + + + + +
Description:Durée pendant laquelle le serveur va attendre une requête +avant de fermer une connexion persistante
Syntaxe:KeepAliveTimeout nombre[ms]
Défaut:KeepAliveTimeout 5
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Le nombre de secondes pendant lesquelles Apache httpd va attendre une + requête avant de fermer la connexion. Le délai peut être défini en + millisecondes en suffixant sa valeur par ms. La valeur du délai + spécifiée par la directive Timeout s'applique dès qu'une requête a + été reçue.

+ +

Donner une valeur trop élévée à + KeepAliveTimeout peut induire des problèmes + de performances sur les serveurs fortement chargés. Plus le délai + est élévé, plus nombreux seront les processus serveur en attente de + requêtes de la part de clients inactifs.

+ +

Si la directive KeepAliveTimeout n'est + pas définie pour un serveur virtuel à base de nom, c'est + la valeur de la paire adresse IP/port du serveur virtuel qui + correspond le mieux qui sera utilisée.

+ +
+
top
+

Directive <Limit>

+ + + + + + + +
Description:Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP
Syntaxe:<Limit méthode [méthode] ... > ... + </Limit>
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig, Limit
Statut:Noyau httpd
Module:core
+

Les contrôles d'accès s'appliquent normalement à + toutes les méthodes d'accès, et c'est en général le + comportement souhaité. Dans le cas général, les directives + de contrôle d'accès n'ont pas à être placées dans une section + <Limit>.

+ +

La directive <Limit> a pour + but de limiter les effets des contrôles d'accès aux méthodes HTTP + spécifiées. Pour toutes les autres méthodes, les restrictions + d'accès contenues dans la section <Limit> n'auront aucun + effet. L'exemple suivant n'applique les contrôles d'accès + qu'aux méthodes POST, PUT, et + DELETE, en laissant les autres méthodes sans protection + :

+ +
<Limit POST PUT DELETE>
+  Require valid-user
+</Limit>
+ + +

La liste des noms de méthodes peut contenir une ou plusieurs + valeurs parmi les suivantes : GET, POST, + PUT, DELETE, CONNECT, + OPTIONS, PATCH, PROPFIND, + PROPPATCH, MKCOL, COPY, + MOVE, LOCK, et UNLOCK. + Le nom de méthode est sensible à la casse. Si la + valeur GET est présente, les requêtes HEAD + seront aussi concernées. La méthode TRACE ne peut pas + être limitée (voir la directive TraceEnable).

+ +
Une section <LimitExcept> doit toujours être préférée à + une section <Limit> pour la + restriction d'accès, car une section <LimitExcept> fournit une protection contre + les méthodes arbitraires.
+ +

Les directives <Limit> et + <LimitExcept> + peuvent être imbriquées. Dans ce cas, pour chaque niveau des + directives <Limit> ou <LimitExcept>, ces dernières + doivent restreindre l'accès pour les méthodes auxquelles les + contrôles d'accès s'appliquent.

+ +
Lorsqu'on utilise les directives <Limit> ou <LimitExcept> avec la directive Require, la première directive + Require dont la + condition est satisfaite autorise la requête, sans tenir compte de + la présence d'autres directives Require.
+ +

Par exemple, avec la configuration suivante, tous les + utilisateurs seront autorisés à effectuer des requêtes + POST, et la directive Require group + editors sera ignorée dans tous les cas :

+ +
<LimitExcept GET>
+  Require valid-user
+</LimitExcept>
+<Limit POST>
+  Require group editors
+</Limit>
+ + +
+
top
+

Directive <LimitExcept>

+ + + + + + + +
Description:Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées
Syntaxe:<LimitExcept méthode [méthode] ... > ... + </LimitExcept>
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig, Limit
Statut:Noyau httpd
Module:core
+

<LimitExcept> et + </LimitExcept> permettent de regrouper des + directives de contrôle d'accès qui s'appliqueront à toutes les + méthodes d'accès HTTP qui ne font pas partie de la + liste des arguments ; en d'autres termes, elles ont un comportement + opposé à celui de la section <Limit>, et on peut les utiliser pour + contrôler aussi bien les méthodes standards que les méthodes non + standards ou non reconnues. Voir la documentation de la section + <Limit> pour plus + de détails.

+ +

Par exemple :

+ +
<LimitExcept POST GET>
+  Require valid-user
+</LimitExcept>
+ + + +
+
top
+

Directive LimitInternalRecursion

+ + + + + + + +
Description:Détermine le nombre maximal de redirections internes et de +sous-requêtes imbriquées
Syntaxe:LimitInternalRecursion nombre [nombre]
Défaut:LimitInternalRecursion 10
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Une redirection interne survient, par exemple, quand on utilise + la directive Action qui + redirige en interne la requête d'origine vers un script CGI. Une + sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce + qui se passerait pour un URI s'il faisait l'objet d'une requête. Par + exemple, mod_dir utilise les sous-requêtes pour + rechercher les fichiers listés dans la directive DirectoryIndex.

+ +

La directive LimitInternalRecursion permet + d'éviter un crash du serveur dû à un bouclage infini de redirections + internes ou de sous-requêtes. De tels bouclages sont dus en général + à des erreurs de configuration.

+ +

La directive accepte, comme arguments, deux limites qui sont + évaluées à chaque requête. Le premier nombre est le + nombre maximum de redirections internes qui peuvent se succéder. Le + second nombre détermine la profondeur d'imbrication + maximum des sous-requêtes. Si vous ne spécifiez qu'un seul + nombre, il sera affecté aux deux limites.

+ +
LimitInternalRecursion 5
+ + +
+
top
+

Directive LimitRequestBody

+ + + + + + + + + +
Description:limite la taille maximale du corps de la requête HTTP +envoyée par le client
Syntaxe:LimitRequestBody octets
Défaut:LimitRequestBody 1073741824
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
Compatibilité:Dans les versions 2.4.53 et antérieures du serveur HTTP Apache, +la valeur par défaut était 0 (aucune limite)
+

Cette directive permet de spécifier la taille maximale d'un corps de + requête, en octets. Une valeur de 0 signifie « sans + limites Â».

+ +

La directive LimitRequestBody permet de + définir une limite pour la taille maximale autorisée du corps d'une + requête HTTP en tenant compte du contexte dans lequel la directive + a été placée (c'est à dire au niveau du serveur, d'un répertoire, + d'un fichier ou d'une localisation). Si la requête du client dépasse + cette limite, le serveur répondra par un message d'erreur et ne + traitera pas la requête. La taille du corps d'une requête normale va + varier de manière importante en fonction de la nature de la + ressource et des méthodes autorisées pour cette dernière. Les + scripts CGI utilisent souvent le corps du message pour extraire les + informations d'un formulaire. Les implémentations de la méthode + PUT nécessitent une valeur au moins aussi élevée que la + taille maximale des représentations que le serveur désire accepter + pour cette ressource.

+ +

L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.

+ +

Si par exemple, vous autorisez le chargement de fichiers vers une + localisation particulière, et souhaitez limiter la taille des + fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante + :

+ +
LimitRequestBody 102400
+ + + +
+
top
+

Directive LimitRequestFields

+ + + + + + + +
Description:Limite le nombre de champs d'en-tête autorisés dans une +requête HTTP
Syntaxe:LimitRequestFields nombre
Défaut:LimitRequestFields 100
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

nombre est un entier de 0 à 32767. La valeur 0 signifie un + nombre de champs illimité. La valeur par défaut est définie à la compilation + par la constante DEFAULT_LIMIT_REQUEST_FIELDS (100 selon la + distribution).

+ +

La directive LimitRequestFields permet à + l'administrateur du serveur de modifier le nombre maximum de champs + d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette + valeur doit être supérieure au nombre de champs qu'une requête + client normale peut contenir. Le nombre de champs d'en-tête d'une + requête qu'un client utilise dépasse rarement 20, mais ce nombre + peut varier selon les implémentations des clients, et souvent en + fonction des extensions que les utilisateurs configurent dans leurs + navigateurs pour supporter la négociation de contenu détaillée. Les + extensions HTTP optionnelles utilisent souvent les + champs d'en-tête des requêtes.

+ +

L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service. La valeur spécifiée doit être + augmentée si les clients standards reçoivent une erreur du serveur + indiquant que la requête comportait un nombre d'en-têtes trop + important.

+ +

Par exemple :

+ +
LimitRequestFields 50
+ + +

Avertissement

+

Dans le cas des serveurs virtuels à base de noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour la paire adresse IP/port.

+
+ + +
+
top
+

Directive LimitRequestFieldSize

+ + + + + + + +
Description:Dédinit la taille maximale autorisée d'un en-tête de +requête HTTP
Syntaxe:LimitRequestFieldSize octets
Défaut:LimitRequestFieldSize 8190
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Cette directive permet de définir le nombre maximum + d'octets autorisés dans un en-tête de requête HTTP.

+ +

La directive LimitRequestFieldSize permet + à l'administrateur du serveur de définir la taille + maximale autorisée d'un en-tête de requête HTTP. Pour un serveur, + cette valeur doit être suffisamment grande pour contenir tout + en-tête d'une requête client normale. La taille d'un champ d'en-tête + de requête normal va varier selon les implémentations des clients, + et en fonction des extensions que les utilisateurs + configurent dans leurs navigateurs pour supporter la négociation de + contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent + atteindre une taille de 12392 octets.

+ +

L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.

+ +

Par exemple :

+ +
LimitRequestFieldSize 4094
+ + +
Dans des conditions normales, la valeur par défaut de cette + directive ne doit pas être modifiée.
+ +

Avertissement

+

Dans le cas des serveurs virtuels à base de noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour lequel la paire adresse IP/port + correspond le mieux.

+
+ +
+
top
+

Directive LimitRequestLine

+ + + + + + + +
Description:Définit la taille maximale d'une ligne de requête +HTTP
Syntaxe:LimitRequestLine octets
Défaut:LimitRequestLine 8190
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Cette directive permet de définir la taille maximale autorisée + pour une ligne de requête HTTP en octets.

+ +

La directive LimitRequestLine permet à + l'administrateur du serveur de définir la taille + maximale autorisée d'une ligne de requête HTTP client. Comme une + requête comporte une méthode HTTP, un URI, et une version de + protocole, la directive LimitRequestLine + impose une restriction sur la longueur maximale autorisée pour un + URI dans une requête au niveau du serveur. Pour un serveur, cette + valeur doit être suffisamment grande pour référencer les noms de + toutes ses ressources, y compris toutes informations pouvant être + ajoutées dans la partie requête d'une méthode GET.

+ +

L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.

+ +

Par exemple :

+ +
LimitRequestLine 4094
+ + +
Dans des conditions normales, cette directive doit conserver + sa valeur par défaut.
+ +

Avertissement

+

Dans le cas des serveurs virtuels à base de noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour lequel la paire adresse IP/port + correspond le mieux.

+
+ + +
+
top
+

Directive LimitXMLRequestBody

+ + + + + + + + +
Description:Définit la taille maximale du corps d'une requête au format +XML
Syntaxe:LimitXMLRequestBody octets
Défaut:LimitXMLRequestBody 1000000
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

Taille maximale (en octets) du corps d'une requête au format XML. Une + valeur de 0 appliquera une limite physique (différente selon + que le système est sur 32 ou 64 bits) permettant à XML de s'étaler jusqu'aux + limites de la mémoire adressable du système, mais elle n'existe qu'à des + fins de compatibilité et il est déconseillé de l'utiliser car elle ne tient + pas compte de la mémoire consommée ailleurs et des requêtes simultanées, ce + qui pourrait provoquer un dépassement de mémoire global du système. +

+ +

Exemple :

+ +
# Limitation à 1 Mo
+LimitXMLRequestBody 1073741824
+ + + +
+
top
+

Directive <Location>

+ + + + + + +
Description:N'applique les directives contenues qu'aux URLs +spécifiées
Syntaxe:<Location + chemin URL|URL> ... </Location>
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive <Location> + limite la portée des directives contenues aux URLs définies par + l'argument URL. Elle est similaire à la directive <Directory>, et marque le + début d'une section qui se termine par une directive + </Location>. Les sections <Location> sont traitées selon l'ordre dans + lequel elles apparaissent dans le fichier de configuration, mais + après les sections <Directory> et la lecture des + fichiers .htaccess, et après les sections <Files>.

+ +

Les sections <Location> + agissent complètement en dehors du système de fichiers. Ceci a de + nombreuses conséquences. Parmi les plus importantes, on ne doit pas + utiliser les sections <Location> + pour contrôler l'accès aux répertoires du système de fichiers. Comme + plusieurs URLs peuvent correspondre au même répertoire du système de + fichiers, un tel contrôle d'accès pourrait être contourné.

+ +

Les directives que contient cette section seront appliquées aux + requêtes si la partie chemin de l'URL satisfait à l'un au moins de + ces critères : +

+
    +
  • Le chemin spécifié correspond exactement à la partie chemin de + l'URL. +
  • +
  • Le chemin spécifié, qui se termine par un slash, est un + préfixe de la partie chemin de l'URL (traité comme une racine du + contexte). +
  • +
  • Le chemin spécifié, si on lui ajoute un slash de fin, est un + préfixe de la partie chemin de l'URL (aussi traité comme une racine du + contexte). +
  • +
+

+ Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les + directives contenues dans la section s'appliqueront à /private1, + /private1/ et /private1/file.txt, mais pas à /private1other. +

+
<Location "/private1">
+    #  ...
+</Location>
+ +

+ De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les + directives contenues dans la section s'appliqueront à /private2/ et + à /private2/file.txt, mais pas à /private2other. +

+
<Location "/private2/">
+    # ...
+</Location>
+ + +

Quand utiliser la section <Location>

+ +

Vous pouvez utiliser une section <Location> pour appliquer des directives à + des contenus situés en dehors du système de fichiers. Pour les + contenus situés à l'intérieur du système de fichiers, utilisez + plutôt les sections <Directory> et <Files>. <Location + "/"> constitue une exception et permet d'appliquer aisément + une configuration à l'ensemble du serveur.

+
+ +

Pour toutes les requêtes originales (non mandatées), l'argument + URL est un chemin d'URL de la forme + /chemin/. Aucun protocole, nom d'hôte, port, ou chaîne + de requête ne doivent apparaître. Pour les requêtes mandatées, l'URL + spécifiée doit être de la forme + protocole://nom_serveur/chemin, et vous devez inclure + le préfixe.

+ +

L'URL peut contenir des caractères génériques. Dans une chaîne + avec caractères génériques, ? correspond à un caractère + quelconque, et * à toute chaîne de caractères. Les + caractères génériques ne peuvent pas remplacer un / dans le chemin + URL.

+ +

On peut aussi utiliser les Expressions + rationnelles, moyennant l'addition d'un caractère + ~. Par exemple :

+ +
<Location ~ "/(extra|special)/data">
+    #...
+</Location>
+ + +

concernerait les URLs contenant les sous-chaîne + /extra/data ou /special/data. La directive + <LocationMatch> + présente un comportement identique à la version avec expressions + rationnelles de la directive <Location>, et son utilisation est + préférable à l'utilisation de cette dernière pour la simple raison + qu'il est difficile de distinguer ~ de - + dans la plupart des fontes.

+ +

La directive <Location> + s'utilise principalement avec la directive SetHandler. Par exemple, pour activer les + requêtes d'état, mais ne les autoriser que depuis des navigateurs + appartenant au domaine example.com, vous pouvez + utiliser :

+ +
<Location "/status">
+  SetHandler server-status
+  Require host example.com
+</Location>
+ + +

Note à propos du slash (/)

La signification du + caractère slash dépend de l'endroit où il se trouve dans l'URL. Les + utilisateurs peuvent être habitués à son comportement dans le système de + fichiers où plusieurs slashes successifs sont souvent réduits à un slash + unique (en d'autres termes, /home///foo est identique à + /home/foo). Dans l'espace de nommage des URLs, ce n'est + cependant pas toujours vrai si la directive MergeSlashes a été définie à "OFF". Pour la + directive <LocationMatch> + et la version avec expressions rationnelles de la directive <Location>, vous devez spécifier explicitement les + slashes multiples si les slashes ne sont pas fusionnés.

+ +

Par exemple, <LocationMatch "^/abc"> va + correspondre à l'URL /abc mais pas à l'URL + //abc. La directive <Location> sans expression rationnelle se comporte de + la même manière lorsqu'elle est utilisée pour des requêtes + mandatées. Par contre, lorsque la directive <Location> sans expression rationnelle + est utilisée pour des requêtes non mandatées, elle fera + correspondre implicitement les slashes multiples à des slashes + uniques. Par exemple, si vous spécifiez <Location + "/abc/def">, une requête de la forme + /abc//def correspondra.

+
+ +

Voir aussi

+ +
+
top
+

Directive <LocationMatch>

+ + + + + + +
Description:N'applique les directives contenues qu'aux URLs +correspondant à une expression rationnelle
Syntaxe:<LocationMatch + regex> ... </LocationMatch>
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive <LocationMatch> + limite la portée des directives contenues à l'URL spécifiée, de + manière identique à la directive <Location>. Mais son argument permettant de + spécifier les URLs concernées est une expression rationnelle au lieu d'une simple + chaîne de caractères. Par exemple :

+ +
<LocationMatch "/(extra|special)/data">
+    # ...
+</LocationMatch>
+ + +

correspondrait à toute URL contenant les sous-chaînes + /extra/data ou /special/data.

+ +

Si vous recherchez une URL commençant par + plutôt que seulement contenant /extra/data, préfixez + l'expression rationnelle avec un ^.

+ +
<LocationMatch "^/(extra|special)/data">
+ +
+ +

A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé + par "MATCH_". Ceci permet + de référencer des URLs dans des expressions + ou au sein de modules comme mod_rewrite. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.

+ +
<LocationMatch "^/combined/(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</LocationMatch>
+ + +

Note à propos du slash '/'

La signification du + caractère slash '/' dépend de l'endroit où il apparaît dans une URL. Les + utilisateurs sont habitués à voir de multiples slashes adjacents réduits à + un seul au sein du système de fichiers (par exemple, + /home///foo est équivalent à /home/foo). Ce n'est + n'est cependant pas toujours vrai au sein des URLs si la directive + MergeSlashes a été définie à "OFF". En + effet, si vous souhaitez spécifier plusieurs slashes, vous devez le faire + explicitement au sein de la directive <LocationMatch> et de la version regex de la + directive <Location>, si les slashes ne + sont pas fusionnés.

+ +

Par exemple, <LocationMatch "^/abc"> correspondra à + l'URL /abc, mais pas à l'URL //abc. La directive + (non-regex) <Location> se comporte de + la même manière lorsqu'elle est utilisée dans les requêtes de mandataire. + Par contre, pour les autres types de requêtes, la directive <Location> considérera plusieurs slashes + adjacents comme équivalents à un seul slash. Par exemple, si vous + spécifiez <Location "/abc/def">, une requête pour + /abc//def correspondra.

+
+ +

Voir aussi

+ +
+
top
+

Directive LogLevel

+ + + + + + + + +
Description:Contrôle la verbosité du journal des erreurs
Syntaxe:LogLevel [module:]niveau + [module:niveau] ... +
Défaut:LogLevel warn
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
Compatibilité:La configuration du niveau de journalisation par module +et par répertoire est disponible depuis la version 2.3.6 du serveur HTTP +Apache
+

La directive LogLevel permet d'ajuster la + verbosité des messages enregistrés dans les journaux d'erreur (voir + la directive ErrorLog + directive). Les niveaux disponibles sont présentés + ci-après, par ordre de criticité décroissante :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Niveau Description Exemple
emerg Urgences - le système est inutilisable."Child cannot open lock file. Exiting"
alert Des mesures doivent être prises immédiatement."getpwuid: couldn't determine user name from uid"
crit Conditions critiques."socket: Failed to get a socket, exiting child"
error Erreurs."Premature end of script headers"
warn Avertissements."child process 1234 did not exit, sending another + SIGHUP"
notice Evènement important mais normal."httpd: caught SIGBUS, attempting to dump core in + ..."
info Informations."Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."
debug Messages de débogage."Opening config file ..."
trace1 Messages de traces"proxy: FTP: control connection complete"
trace2 Messages de traces"proxy: CONNECT: sending the CONNECT request to the remote proxy"
trace3 Messages de traces"openssl: Handshake: start"
trace4 Messages de traces"read from buffered SSL brigade, mode 0, 17 bytes"
trace5 Messages de traces"map lookup FAILED: map=rewritemap key=keyname"
trace6 Messages de traces"cache lookup FAILED, forcing new map lookup"
trace7 Messages de traces, enregistrement d'une grande quantité de + données"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
trace8 Messages de traces, enregistrement d'une grande quantité de + données"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
+ +

Lorsqu'un niveau particulier est spécifié, les messages de tous + les autres niveaux de criticité supérieure seront aussi enregistrés. + Par exemple, si LogLevel info est spécifié, + les messages de niveaux notice et warn + seront aussi émis.

+ +

Il est recommandé d'utiliser un niveau crit ou + inférieur.

+ +

Par exemple :

+ +
LogLevel notice
+ + +

Note

+

Si la journalisation s'effectue directement dans un fichier, + les messages de niveau notice ne peuvent pas être + supprimés et sont donc toujours journalisés. Cependant, ceci ne + s'applique pas lorsque la journalisation s'effectue vers + syslog.

+
+ +

Spécifier un niveau sans nom de module va attribuer ce niveau à + tous les modules. Spécifier un niveau avec nom de module va + attribuer ce niveau à ce module seulement. Il est possible de + spécifier un module par le nom de son fichier source ou par son + identificateur, avec ou sans le suffixe _module. Les + trois spécifications suivantes sont donc équivalentes :

+ +
LogLevel info ssl:warn
+LogLevel info mod_ssl.c:warn
+LogLevel info ssl_module:warn
+ + +

Il est aussi possible d'attribuer un niveau de journalisation par + répertoire :

+ +
LogLevel info
+<Directory "/usr/local/apache/htdocs/app">
+  LogLevel debug
+</Directory>
+ + +
+ La configuration du niveau de journalisation par répertoire + n'affecte que les messages journalisés après l'interprétation de + la requête et qui sont associés à cette dernière. Les messages + de journalisation associés à la connexion ou au serveur ne sont + pas affectés. +
+ +

Voir aussi

+ +
+
top
+

Directive MaxKeepAliveRequests

+ + + + + + + +
Description:Nombre de requêtes permises pour une connexion +persistante
Syntaxe:MaxKeepAliveRequests nombre
Défaut:MaxKeepAliveRequests 100
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive MaxKeepAliveRequests permet + de limiter le nombre de requêtes autorisées par connexion lorsque + KeepAlive est à "on". Si sa + valeur est 0, le nombre de requêtes autorisées est + illimité. Il est recommandé de définir une valeur assez haute pour + des performances du serveur maximales.

+ +

Par exemple :

+ +
MaxKeepAliveRequests 500
+ + +
+
top
+

Directive MaxRangeOverlaps

+ + + + + + + + +
Description:Nombre de chevauchements de segments de données autorisé + (par exemple 100-200,150-300) avant le renvoi de la + ressource complète
Syntaxe:MaxRangeOverlaps default | unlimited | none | nombre de + chevauchements
Défaut:MaxRangeOverlaps 20
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
Compatibilité:Disponible depuis la version 2.3.15 du serveur HTTP + Apache
+

La directive MaxRangeOverlaps permet + de limiter le nombre de chevauchements de segments de données HTTP + autorisé par le serveur. Si le nombre de + chevauchements de segments demandé est supérieur au nombre maximal + autorisé, la ressource sera renvoyée dans son intégralité.

+ +
+
default
+
Limite le nombre de chevauchements de segments à la valeur + par défaut 20 définie à la compilation.
+ +
none
+
Aucun chevauchement de segment n'est autorisé.
+ +
unlimited
+
Le nombre de chevauchements de segments est illimité.
+ +
number-of-ranges
+
Un nombre positif représente le nombre maximal de + chevauchements de segments autorisé par le serveur.
+
+ +
+
top
+

Directive MaxRangeReversals

+ + + + + + + + +
Description:Nombre d'inversions d'ordre autorisé dans la spécification des + segments de données (par exemple 100-200,50-70) avant le renvoi de la + ressource complète
Syntaxe:MaxRangeReversals default | unlimited | none | nombre + d'inversions
Défaut:MaxRangeReversals 20
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
Compatibilité:Disponible depuis la version 2.3.15 du serveur HTTP + Apache
+

La directive MaxRangeReversals permet + de limiter le nombre d'inversions d'ordre dans la spécification + des segments de données HTTP + autorisé par le serveur. Si le nombre + d'inversions demandé est supérieur au nombre maximal + autorisé, la ressource sera renvoyée dans son intégralité.

+ +
+
default
+
Limite le nombre d'inversions à la valeur + par défaut 20 définie à la compilation.
+ +
none
+
Aucune inversion n'est autorisée.
+ +
unlimited
+
Le nombre d'inversions est illimité.
+ +
number-of-ranges
+
Un nombre positif représente le nombre maximal + d'inversions autorisé par le serveur.
+
+ +
+
top
+

Directive MaxRanges

+ + + + + + + + +
Description:Nombre de segments de données autorisé avant le renvoi de +l'intégralité de la ressource
Syntaxe:MaxRanges default | unlimited | none | nombre de segments
Défaut:MaxRanges 200
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
Compatibilité:Disponible depuis la version 2.3.15 du serveur HTTP +Apache
+

La directive MaxRanges permet de limiter + le nombre de segments de données que le serveur va renvoyer au + client. Si un nombre de segments plus important est demandé, la + ressource sera renvoyée dans son intégralité.

+ +
+
default
+
Limite le nombre de segments de données à 200 (valeur par + défaut définie à la compilation).
+ +
none
+
Les en-têtes Range sont ignorés.
+ +
unlimited
+
Le nombre de segments de données est illimité.
+ +
nombre de segments
+
Un nombre positif représentera la nombre de segments de + données maximal que le serveur renverra au client.
+
+ +
+
top
+

Directive MergeSlashes

+ + + + + + + + +
Description:Fusion des slashes consécutifs dans les URLs par le serveur. +
Syntaxe:MergeSlashes ON|OFF
Défaut:MergeSlashes ON
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP Apache
+

Par défaut, le serveur fusionne les caractères slash ('/') multiples et + consécutifs dans la partie chemin de l'URL d'une requête.

+ +

Lorsque cette partie chemin de l'URL est appliquée au système de + fichiers, ces slashes multiples sont inutiles. Il peut être cependant + préférable de conserver ces slashes multiples et consécutifs car ils peuvent + avoir une signification dans le cas des URLs gérées différemment, par + exemple par CGI ou par un serveur mandataire. Il convient alors de définir + MergeSlashes à OFF pour conserver les + slashes multiples consécutifs, ce qui correspond au comportement + traditionnel.

+

+ Lorsque cette directive est définie à "OFF", les expressions rationnelles utilisées dans le + fichier de configuration pour effectuer une comparaison de la partie chemin + de l'URL ((LocationMatch, + RewriteRule, ...) doivent en effet tenir compte de la + présence éventuelle de slashes multiples et consécutifs. Les sections + Location à base d'expressions non rationnelles + correspondent toujours à des URLs avec slashes fusionnés et ne peuvent pas + tenir compte des slashes multiples.

+ +
+
top
+

Directive MergeTrailers

+ + + + + + + + +
Description:Détermine si les données supplémentaires (trailers) sont +fusionnées avec les en-têtes
Syntaxe:MergeTrailers [on|off]
Défaut:MergeTrailers off
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.11 du serveur HTTP +Apache
+

Cette directive permet de contrôler la fusion des données HTTP + supplémentaires (trailers) avec la représentation interne des + en-têtes. Cette fusion intervient lorsque le corps de la requête a + été entièrement reçu, bien longtemps après que la majeure partie du + traitement des en-têtes ait une chance de pouvoir examiner ou + modifier les en-têtes de la requête.

+

Cette option a été introduite dans un souci de compatibilité avec + les versions antérieures à 2.4.11, où les données supplémentaires + étaient systématiquement fusionnées avec les en-têtes de la requête.

+ +
+
top
+

Directive Mutex

+ + + + + + + + +
Description:Définit les mécanismes de mutex et le repertoire du fichier +verrou pour tous les mutex ou seulement les mutex spécifiés
Syntaxe:Mutex mécanisme [default|nom-mutex] ... [OmitPID]
Défaut:Mutex default
Contexte:configuration globale
Statut:Noyau httpd
Module:core
Compatibilité:Disponible depuis la version 2.3.4 du serveur HTTP Apache
+

La directive Mutex permet de définir le + mécanisme de mutex, et éventuellement le répertoire du fichier + verrou que les modules et httpd utilisent pour sérialiser l'accès aux + ressources. Spécifiez default comme second argument + pour modifier la configuration de tous les mutex ; spécifiez un nom + de mutex (voir la table ci-dessous) comme second argument pour + ne modifier que la configuration de ce mutex.

+ +

La directive Mutex est typiquement + utilisée dans les situations exceptionnelles suivantes :

+ +
    +
  • choix d'un autre mécanisme de mutex lorsque le mécanisme par + défaut sélectionné par APR présente un + problème de fonctionnement ou de performances.
  • + +
  • choix d'un autre répertoire utilisé par les mutex à base de + fichier lorsque le répertoire par défaut ne supporte pas le + verrouillage
  • +
+ +

Modules supportés

+

Cette directive ne configure que les mutex qui ont été + enregistrés avec le serveur de base via l'API + ap_mutex_register(). Tous les modules fournis avec + httpd supportent la directive Mutex, mais il + n'en sera pas forcément de même pour les modules tiers. + Reportez-vous à la documentation du module tiers considéré afin de + déterminer le(s) nom(s) de mutex qui pourront être définis si la + directive est supportée.

+
+ + + +

Les mécanismes de mutex disponibles sont les suivants :

+
    +
  • default | yes +

    C'est l'implémentation du verrouillage par défaut, telle + qu'elle est définie par APR. On peut + afficher l'implémentation du verrouillage par défaut via la + commande httpd avec l'option -V.

  • + +
  • none | no +

    Le mutex est désactivé, et cette valeur n'est permise pour un + mutex que si le module indique qu'il s'agit d'un choix valide. + Consultez la documentation du module pour plus d'informations.

  • + +
  • posixsem +

    Une variante de mutex basée sur un sémaphore Posix.

    + +

    Avertissement

    +

    La propriété du sémaphore n'est pas restituée si un thread du + processus gérant le mutex provoque une erreur de segmentation, + ce qui provoquera un blocage du serveur web.

    +
    +
  • + +
  • sysvsem +

    Une variante de mutex basée sur un sémaphore IPC SystemV.

    + +

    Avertissement

    +

    Il peut arriver que les sémaphores SysV soient conservés si le + processus se crashe avant que le sémaphore ne soit supprimé.

    +
    + +

    Sécurité

    +

    L'API des sémaphores permet les attaques par déni de service + par tout programme CGI s'exécutant sous le même uid que le + serveur web (autrement dit tous les programmes CGI, à moins que + vous n'utilisiez un programme du style suexec + ou cgiwrapper).

    +
    +
  • + +
  • sem +

    Sélection de la "meilleure" implémentation des sémaphores + disponible ; le choix s'effectue entre les sémaphores posix et + IPC SystemV, dans cet ordre.

  • + +
  • pthread +

    Une variante de mutex à base de mutex de thread Posix + inter-processus.

    + +

    Avertissement

    +

    Sur la plupart des systèmes, si un processus enfant se + termine anormalement alors qu'il détenait un mutex qui utilise + cette implémentation, le serveur va se bloquer et cesser de + répondre aux requêtes. Dans ce cas, un redémarrage manuel est + nécessaire pour récupérer le mutex.

    +

    Solaris et Linux constituent des exceptions notables, en ceci qu'ils fournissent + un mécanisme qui permet en général de récupérer le mutex après + l'arrêt anormal d'un processus enfant qui détenait le mutex.

    +

    Si votre système est compatible POSIX ou implémente la fonction + pthread_mutexattr_setrobust_np(), vous devriez + pouvoir utiliser l'option pthread sans problème.

    +
    +
  • + +
  • fcntl:/chemin/vers/mutex +

    Une variante de mutex utilisant un fichier verrou physique et + la fonction fcntl().

    + +

    Avertissement

    +

    Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans + un environnement multi-processus, multi-thread, des erreurs de + blocage (EDEADLK) peuvent être rapportées pour des opérations de + mutex valides si la fonction fcntl() ne gère pas + les threads, comme sous Solaris.

    +
    +
  • + +
  • flock:/chemin/vers/mutex +

    Méthode similaire à fcntl:/chemin/vers/mutex, + mais c'est la fonction flock() qui est utilisée + pour gérer le verrouillage par fichier.

  • + +
  • file:/chemin/vers/mutex +

    Sélection de la "meilleure" implémentation de verrouillage + par fichier disponible ; le choix s'effectue entre + fcntl et flock, dans cet ordre.

  • +
+ +

La plupart des mécanismes ne sont disponibles que sur les + plate-formes où ces dernières et APR les + supportent. Les mécanismes qui ne sont pas disponibles sur toutes + les plate-formes sont posixsem, + sysvsem, sem, pthread, fcntl, + flock, et file.

+ +

Avec les mécanismes à base de fichier fcntl et + flock, le chemin, s'il est fourni, est un répertoire dans + lequel le fichier verrou sera créé. Le répertoire par + défaut est le répertoire d'exécution de httpd relatif à la + directive ServerRoot. + Utilisez toujours un système + de fichiers local sur disque pour /chemin/vers/mutex et + jamais un répertoire se trouvant dans un système de fichiers NFS ou + AFS. Le nom de base du fichier se composera du type de mutex, d'une + chaîne optionnelle correspondant à l'instance et fournie par le + module ; et, sauf si le mot-clé OmitPID a été spécifié, + l'identificateur du processus parent httpd sera ajouté afin de + rendre le nom du fichier unique, évitant ainsi tout conflit lorsque + plusieurs instances d'httpd partagent le même répertoire de + verrouillage. Par exemple, si le nom de mutex est + mpm-accept, et si le répertoire de verrouillage est + /var/httpd/locks, le nom du fichier verrou pour + l'instance httpd dont le processus parent a pour identifiant 12345 + sera /var/httpd/locks/mpm-accept.12345.

+ +

Sécurité

+

Il est conseillé d'éviter de placer les fichiers mutex + dans un répertoire où tout le monde peut écrire comme + /var/tmp, car quelqu'un pourrait initier une attaque + par déni de service et empêcher le serveur de démarrer en créant un + fichier verrou possédant un nom identique à celui que le serveur va + tenter de créer.

+
+ +

La table suivante décrit les noms de mutex utilisés par httpd et + ses modules associés.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom mutexModule(s)Ressource protégée
mpm-acceptmodules MPM prefork et workerconnexions entrantes, afin d'éviter le problème de + l'afflux de requêtes ; pour plus d'informations, voir la + documentation Amélioration des + performances
authdigest-clientmod_auth_digestliste de clients en mémoire partagée
authdigest-opaquemod_auth_digestcompteur en mémoire partagée
ldap-cachemod_ldapcache de résultat de recherche LDAP
rewrite-mapmod_rewritecommunication avec des programmes externes + d'associations de valeurs, afin d'éviter les interférences + d'entrées/sorties entre plusieurs requêtes
ssl-cachemod_sslcache de session SSL
ssl-staplingmod_sslcache de l'étiquetage OCSP ("OCSP stapling")
watchdog-callbackmod_watchdogfonction de rappel d'un module client particulier
+ +

Le mot-clé OmitPID permet d'empêcher l'addition de + l'identifiant du processus httpd parent au nom du fichier verrou.

+ + +

Dans l'exemple suivant, le mécanisme de mutex pour le mutex + mpm-accept est modifié pour passer du mécanisme par défaut au + mécanisme fcntl, avec le fichier verrou associé créé + dans le répertoire /var/httpd/locks. Le mécanisme de + mutex par défaut pour tous les autres mutex deviendra + sysvsem.

+ +
Mutex sysvsem default
+Mutex fcntl:/var/httpd/locks mpm-accept
+ + +
+
top
+

Directive NameVirtualHost

+ + + + + + +
Description:OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de +nom
Syntaxe:NameVirtualHost adresse[:port]
Contexte:configuration globale
Statut:Noyau httpd
Module:core
+ +

Avant la version 2.3.11, il était nécessaire de définir une + directive NameVirtualHost pour indiquer au + serveur qu'une paire adresse IP/port particulière pouvait être + utilisée comme serveur virtuel à base de nom. Depuis la version + 2.3.11, chaque fois qu'une paire adresse IP/port est utilisée dans + plusieurs serveurs virtuels, l'hébergement virtuel à base de nom est + automatiquement activé pour cette adresse.

+ +

Cette directive n'a actuellement plus aucun effet.

+ +

Voir aussi

+ +
+
top
+

Directive Options

+ + + + + + + + + +
Description:Définit les fonctionnalités disponibles pour un répertoire +particulier
Syntaxe:Options + [+|-]option [[+|-]option] ...
Défaut:Options FollowSymlinks
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Noyau httpd
Module:core
Compatibilité:Avec la version 2.3.11, la valeur par défaut passe de All +à FollowSymlinks
+

La directive Options permet de définir + les fonctionnalités de serveur disponibles pour un répertoire + particulier.

+ +

option peut être défini à None, auquel + cas aucune fonctionnalité spécifique n'est activée, ou comprendre + une ou plusieurs des options suivantes :

+ +
+
All
+ +
Toutes les options excepté MultiViews.
+ +
ExecCGI
+ +
L'exécution de scripts CGI à l'aide du module + mod_cgi est permise.
+ +
FollowSymLinks
+ +
+ + Le serveur va suivre les liens symboliques dans le répertoire + concerné. Il s'agit de la valeur par défaut. +
+

Bien que le serveur suive les liens symboliques, il ne modifie + pas le nom de chemin concerné défini par la section + <Directory>.

+ +

Les options FollowSymLinks et + SymLinksIfOwnerMatch ne fonctionnent que dans les + sections <Directory> ou les fichiers + .htaccess.

+ +

Le fait d'omettre cette option ne doit pas être considéré comme + une mesure de sécurité efficace, car il existe toujours une + situation de compétition (race condition) entre l'instant où l'on + vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où + l'on utilise effectivement ce chemin.

+
+ +
Includes
+ +
+ Les inclusions côté serveur (SSI) à l'aide du module + mod_include sont autorisées.
+ +
IncludesNOEXEC
+ +
+ + Les inclusions côté serveur (SSI) sont permises, mais #exec + cmd et #exec cgi sont désactivés. + L'utilisation de #include virtual pour les scripts + CGI est cependant toujours possible depuis des répertoires + définis par ScriptAlias.
+ +
Indexes
+ +
+ Si une URL requise correspond au répertoire concerné, et si aucun + DirectoryIndex (par + exemple index.html) n'est défini pour ce + répertoire, le module mod_autoindex va renvoyer + un listing formaté du répertoire.
+ +
MultiViews
+ +
+ Les vues multiples ("multiviews") à contenu négocié à l'aide du + module mod_negotiation sont autorisées. +

Note

Cette option est ignorée si elle est + définie en tout autre endroit qu'une section <Directory>, car + mod_negotiation a besoin de ressources réelles + pour effectuer ses comparaisons et ses évaluations.

+ +
+ +
SymLinksIfOwnerMatch
+ +
Le serveur ne suivra que les liens symboliques qui renvoient + vers un fichier ou un répertoire dont le propriétaire est le même + que celui du lien. + +

Note

+

Les options FollowSymLinks et + SymLinksIfOwnerMatch ne fonctionnent que dans les + sections <Directory> ou les fichiers + .htaccess.

+ +

Le fait d'omettre cette option ne doit pas être considéré comme + une mesure de sécurité efficace, car il existe toujours une + situation de compétition (race condition) entre l'instant où l'on + vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où + l'on utilise effectivement ce chemin.

+
+
+ +

Normalement, si plusieurs directives + Options peuvent s'appliquer à un répertoire, + c'est la plus spécifique qui est utilisée et les autres sont + ignorées ; les options ne sont pas fusionnées (voir comment les sections sont + fusionnées). Elles le sont cependant si toutes les + options de la directive Options sont + précédées d'un symbole + ou -. Toute + option précédée d'un + est ajoutée à la liste des + options courantes de manière forcée et toute option précédée d'un + - est supprimée de la liste des options courantes de la + même manière.

+ +

Note

+

Mélanger des Options avec + + ou - avec des Options sans + + ou - constitue une erreur de syntaxe, et + la vérification de la syntaxe au cours du démarrage du serveur fera + échouer ce dernier.

+
+ +

Par exemple, sans aucun symbole + et - + :

+ +
<Directory "/web/docs">
+  Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+  Options Includes
+</Directory>
+ + +

ici, seule l'option Includes sera prise en compte + pour le répertoire /web/docs/spec. Par contre, si la + seconde directive Options utilise les + symboles + et - :

+ +
<Directory "/web/docs">
+  Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+  Options +Includes -Indexes
+</Directory>
+ + +

alors, les options FollowSymLinks et + Includes seront prises en compte pour le répertoire + /web/docs/spec.

+ +

Note

+

L'utilisation de -IncludesNOEXEC ou + -Includes désactive complètement les inclusions côté + serveur sans tenir compte des définitions précédentes.

+
+ +

En l'absence de toute définition d'options, la valeur par défaut + est FollowSymlinks.

+ +
+
top
+

Directive Protocol

+ + + + + + + +
Description:Protocole pour une socket d'écoute
Syntaxe:Protocol protocole
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible depuis la version 2.1.5 d'Apache, mais +seulement depuis la version 2.3.3 sous Windows.
+

Cette directive permet de spécifier le protocole utilisé pour une + socket d'écoute particulière. Le protocole sert à déterminer quel + module doit traiter une requête, et d'appliquer les optimisations + spécifiques au protocole via la directive + AcceptFilter.

+ +

Dans la plupart des configurations, cette directive n'est pas nécessaire. + Si elle n'est pas définie, le protocole par défaut pour le port 443 est + https et http pour tous les autres ports. La + connaissance du protocole permet de déterminer quel module doit traiter la + requête, et d'appliquer les optimisations spécifiques au protocole via la + directive AcceptFilter.

+ +

Par exemple, si vous travaillez avec le protocole + https sur un port non standard, spécifiez le protocole + de manière explicite :

+ +
Protocol https
+ + +

Vous pouvez aussi spécifier le protocole via la directive + Listen.

+ +

Voir aussi

+ +
+
top
+

Directive Protocols

+ + + + + + + + +
Description:Protocoles disponibles pour un serveur virtuel ou non
Syntaxe:Protocols protocole ...
Défaut:Protocols http/1.1
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.17 du serveur + HTTP Apache.
+

Cette directive permet de spécifier la liste des protocoles + supportés par un serveur virtuel ou non. Cette liste énumère les + protocoles qu'un client sera autorisé à négocier avec ce + serveur.

+ +

Par défaut, + seul le protocole http/1.1 est disponible (compatible avec les + clients http/1.0 et http/0.9). Par conséquent, vous devez + fournir cette liste si vous voulez étendre les protocoles + disponibles pour le serveur.

+ +

Par exemple, si vous voulez autoriser le protocole + HTTP/2 pour un serveur avec TLS, utilisez + cette directive comme suit :

+ +
Protocols h2 http/1.1
+ + +

Les protocoles valides sont http/1.1 pour les + connexions http et https, h2 pour les connections + https et h2c pour les connexions http. D'autres + modules peuvent fournir d'autres protocoles.

+ +

Spécifier des protocoles non disponibles ou désactivés n'aura + aucun effet, et ceux-ci seront simplement ignorés.

+ +

Si un serveur virtuel ne possède pas de directive Protocols + propre, il hérite des protocoles spécifiés pour le serveur + principal. Autrement dit, les directives Protocols définies au + niveau d'un serveur virtuel remplacent celles définies au niveau + du serveur principal. +

+ + +

Voir aussi

+ +
+
top
+

Directive ProtocolsHonorOrder

+ + + + + + + + +
Description:Détermine qui du client ou du serveur détermine l'ordre + des protocoles au cours de la négociation de la connexion
Syntaxe:ProtocolsHonorOrder On|Off
Défaut:ProtocolsHonorOrder On
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.17 du serveur + HTTP Apache.
+

Cette directive permet de définir si le serveur doit tenir + compte de l'ordre des protocoles définis par la directive + Protocols.

+ +

Si cette directive est définie à Off, l'ordre de la liste des + protocoles fournie par le client l'emporte sur l'ordre défini + dans la configuration du serveur.

+ +

Si la directive ProtocolsHonorOrder + est définie à on (valeur par défaut), + il n'est pas tenu compte de l'ordre de la liste des protocoles + fournie par le client, et seul l'ordre de la liste des protocles + définie au niveau du serveur influera la + négociation du protocole.

+ + +

Voir aussi

+ +
+
top
+

Directive QualifyRedirectURL

+ + + + + + + + + +
Description:Vérifie si la variable d'environnement REDIRECT_URL est +pleinement qualifiée
Syntaxe:QualifyRedirectURL On|Off
Défaut:QualifyRedirectURL Off
Contexte:configuration globale, serveur virtuel, répertoire
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:Directive supportée à partir de la version 2.4.18 du +serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait +comme si la directive QualifyRedirectURL était définie à On.
+

Cette directive permet de s'assurer que le serveur vérifiera que + la variable d'environnement REDIRECT_URL est bien pleinement + qualifiée. Par défaut, cette variable contient l'URL textuellement + demandée par le client, par exemple "/index.html". Avec + QualifyRedirectURL ON, la même requête + affectera à la variable REDIRECT_URL une valeur du style + "http://www.example.com/index.html".

+

Même si cette directive n'est pas définie, lorsqu'une requête est + soumise avec une URL pleinement qualifiée, la variable REDIRECT_URL + contiendra quand-même une URL pleinement qualifiée. +

+ +
+
top
+

Directive ReadBufferSize

+ + + + + + + + +
Description:Taille des tampons utilisés pour lire les données
Syntaxe:ReadBufferSize bytes
Défaut:ReadBufferSize 8192
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.5 du serveur HTTP +Apache.
+

Cette directive permet de définir la taille (en octets) du tampon mémoire + utilisé pour lire des données depuis le réseau ou un fichier.

+ +

Un tampon de grande taille peut améliorer les performances pour les + grandes quantités de données, mais consomme d'avantage de mémoire par + connexion. La taille minimale du tampon est de 1024 octets.

+ +
+
top
+

Directive RegexDefaultOptions

+ + + + + + + + +
Description:Configuration des options globales par défaut pour les + expressions rationnelles
Syntaxe:RegexDefaultOptions [none] [+|-]option [[+|-]option] ...
Défaut:RegexDefaultOptions DOTALL DOLLAR_ENDONLY
Contexte:configuration globale
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.30 du serveur HTTP + Apache.
+

Cette directive permet d'ajouter certains comportements par défaut à + TOUTES les expressions rationnelles utilisées ultérieurement.

+ +

Toute option précédée d'un '+' est ajoutée aux options déjà définies.
+ Toute option précédée d'un '-' est enlevée des options déjà définies.
+ Toute option non suffixée par '+' ou '-' sera définie et remplacera + l'option correspondante éventuellement déjà définie.
+ Le mot-clé none annule toutes les options déjà définies.

+ +

option peut être :

+
+
ICASE
+
Utilise une recherche de correspondance insensible à la casse.
+ +
EXTENDED
+
Le drapeau Perl /x ; ignore les espaces non échappés et les + commentaires dans le modèle.
+ +
DOTALL
+
Le drapeau Perl /s ; '.' correspond aux caractères nouvelle + ligne.
+ +
DOLLAR_ENDONLY
+
'$' n'est actif qu'à la fin de la chaîne de référence.
+ +
+
# Ajoute l'option ICASE par défaut pour toutes les expressions rationnelles
+RegexDefaultOptions +ICASE
+...
+# Supprime l'option DOLLAR_ENDONLY par défaut et conserve toutes les autres
+# options
+RegexDefaultOptions -DOLLAR_ENDONLY
+...
+# Définit l'option DOTALL seule et annule toutes les autres options
+RegexDefaultOptions DOTALL
+...
+# Annule toutes les options définies
+RegexDefaultOptions none
+...
+ + +
+
top
+

Directive RegisterHttpMethod

+ + + + + + + +
Description:Enregistrement de méthodes HTTP non standards
Syntaxe:RegisterHttpMethod méthode [méthode [...]]
Contexte:configuration globale
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.24 du serveur HTTP Apache
+

Cette directive permet d'enregistrer des méthodes HTTP supplémentaires. Ceci +s'avérera nécessaire si l'on doit utiliser des méthodes non standards avec des +directives qui acceptent des noms de méthodes en paramètres, ou pour permettre +l'utilisation de méthodes particulières non standards en passant par un serveur +mandataire ou au sein de scripts CGI, et ceci alors que le serveur a été +configuré pour ne transmettre que des méthodes reconnues aux modules.

+ +

Voir aussi

+ +
+
top
+

Directive RLimitCPU

+ + + + + + + + +
Description:Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache httpd
Syntaxe:RLimitCPU secondes|max [secondes|max]
Défaut:Non défini ; utilise les valeurs par défaut du système +d'exploitation
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit max pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que root, ou se trouver dans sa + phase de démarrage.

+ +

Cette directive s'applique aux processus initiés par les + processus enfants d'Apache httpd qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache httpd comme les journalisations redirigées + vers un programme.

+ +

Les limites de ressources CPU sont exprimées en secondes par + processus.

+ +

Voir aussi

+ +
+
top
+

Directive RLimitMEM

+ + + + + + + + +
Description:Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache httpd
Syntaxe:RLimitMEM octets|max [octets|max]
Défaut:Non défini ; utilise les valeurs par défaut du système +d'exploitation
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit max pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que root, ou se trouver dans sa + phase de démarrage.

+ +

Cette directive s'applique aux processus initiés par les + processus enfants d'Apache httpd qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache httpd comme les journalisations redirigées + vers un programme.

+ +

Les limites de ressources mémoire sont exprimées en octets par + processus.

+ +

Voir aussi

+ +
+
top
+

Directive RLimitNPROC

+ + + + + + + + +
Description:Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache httpd
Syntaxe:RLimitNPROC nombre|max [nombre|max]
Défaut:Unset; uses operating system defaults
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit max pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que root, ou se trouver dans sa + phase de démarrage.

+ +

Cette directive s'applique aux processus initiés par les + processus enfants d'Apache httpd qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache httpd comme les journalisations redirigées + vers un programme.

+ +

Les limites des processus contrôlent le nombre de processus par + utilisateur.

+ +

Note

+

Si les processus CGI s'exécutent sous le même + utilisateur que celui du serveur web, cette + directive va limiter le nombre de processus que le serveur + pourra lui-même créer. La présence de messages + cannot fork dans le journal des + erreurs indiquera que la limite est atteinte.

+
+ +

Voir aussi

+ +
+
top
+

Directive ScriptInterpreterSource

+ + + + + + + + + +
Description:Permet de localiser l'interpréteur des scripts +CGI
Syntaxe:ScriptInterpreterSource Registry|Registry-Strict|Script
Défaut:ScriptInterpreterSource Script
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:Win32 seulement.
+

Cette directive permet de contrôler la méthode qu'utilise Apache + httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La + définition par défaut est Script : ceci indique à + Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne + shebang du script (la première ligne, commençant par + #!). Sur les systèmes Win32, cette ligne ressemble + souvent à ceci :

+ +
#!C:/Perl/bin/perl.exe
+ + +

ou simplement, dans le cas où perl est dans le + PATH :

+ +
#!perl
+ + +

Avec ScriptInterpreterSource Registry, Windows va + effectuer une recherche dans l'arborescence + HKEY_CLASSES_ROOT de la base de registre avec comme + mot-clé l'extension du fichier contenant le script (par exemple + .pl). C'est la commande définie par la sous-clé de + registre Shell\ExecCGI\Command ou, si elle n'existe + pas, la sous-clé Shell\Open\Command qui est utilisée + pour ouvrir le fichier du script. Si ces clés de registre ne sont + pas trouvées, Apache httpd utilise la méthode de l'option + Script.

+ +

Sécurité

+

Soyez prudent si vous utilisez ScriptInterpreterSource + Registry avec des répertoires faisant l'objet d'un ScriptAlias, car Apache httpd va essayer + d'exécuter tous les fichiers contenus dans + celui-ci. L'option Registry peut causer des appels de + programmes non voulus sur des fichiers non destinés à être exécutés. + Par exemple, la commande par défaut open sur les fichiers + .htm sur la plupart des systèmes Windows va lancer + Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un + fichier .htm situé dans le répertoire des scripts + va lancer le navigateur en arrière-plan sur le serveur, ce qui a + toutes les chances de crasher votre système dans les minutes qui + suivent.

+
+ +

L'option Registry-Strict + agit de manière identique à Registry, mais n'utilise + que la sous-clé Shell\ExecCGI\Command. La présence de + la clé ExecCGI n'étant pas systématique, Elle doit être + définie manuellement dans le registre Windows et évite ainsi tout + appel de programme accidentel sur votre système.

+ +
+
top
+

Directive SeeRequestTail

+ + + + + + + + +
Description:Détermine si mod_status affiche les 63 premiers caractères +d'une requête ou les 63 derniers, en supposant que la requête +elle-même possède plus de 63 caractères.
Syntaxe:SeeRequestTail On|Off
Défaut:SeeRequestTail Off
Contexte:configuration globale
Statut:Noyau httpd
Module:core
Compatibilité:Disponible depuis la version 2.2.7 +d'Apache httpd.
+

Avec ExtendedStatus On, mod_status affiche la + véritable requête en cours de traitement. Pour des raisons + historiques, seuls 63 caractères de la requête sont réellement + stockés à des fins d'affichage. Cette directive permet de déterminer + si ce sont les 63 premiers caractères qui seront stockés (c'est le + comportement par défaut), + ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que + si la taille de la requête est de 64 caractères ou plus.

+ +

Si Apache httpd traite la requête GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1 + , l'affichage de la requête par mod_status se présentera comme suit : +

+ + + + + + + + + + +
Off (défaut)GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu
Onapache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1
+ + +
+
top
+

Directive ServerAdmin

+ + + + + + +
Description:L'adresse électronique que le serveur inclut dans les +messages d'erreur envoyés au client
Syntaxe:ServerAdmin adresse électronique|URL
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive ServerAdmin permet de définir + l'adresse de contact que le serveur va inclure dans tout message + d'erreur qu'il envoie au client. Si le programme httpd + ne reconnait pas l'argument fourni comme une URL, il suppose que + c'est une adresse électronique, et lui ajoute le préfixe + mailto: dans les cibles des hyperliens. Il est + cependant recommandé d'utiliser exclusivement une adresse + électronique, car de nombreux scripts CGI considèrent ceci comme + implicite. Si vous utilisez une URL, elle doit pointer vers un autre + serveur que vous contrôlez. Dans le cas contraire, les utilisateurs + seraient dans l'impossibilité de vous contacter en cas de problème.

+ +

Il peut s'avérer utile de définir une adresse dédiée à + l'administration du serveur, par exemple :

+ +
ServerAdmin www-admin@foo.example.com
+ +

car les utilisateurs ne mentionnent pas systématiquement le + serveur dont ils parlent !

+ +
+
top
+

Directive ServerAlias

+ + + + + + +
Description:Autres noms d'un serveur utilisables pour atteindre des +serveurs virtuels à base de nom
Syntaxe:ServerAlias nom serveur [nom serveur] +...
Contexte:serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive ServerAlias permet de définir + les noms alternatifs d'un serveur utilisables pour atteindre des serveurs virtuels à base de + nom. La directive ServerAlias peut + contenir des caractères génériques, si nécessaire.

+ +
<VirtualHost *:80>
+  ServerName server.example.com
+  ServerAlias server server2.example.com server2
+  ServerAlias *.example.com
+  UseCanonicalName Off
+  # ...
+</VirtualHost>
+ +

La recherche du serveur virtuel à base de nom correspondant au + plus près à la requête s'effectue selon l'ordre d'apparition des + directives <virtualhost> dans le fichier de + configuration. Le premier serveur virtuel dont le ServerName ou le ServerAlias correspond est choisi, sans + priorité particulière si le nom contient des caractères génériques + (que ce soit pour ServerName ou ServerAlias).

+ +

Tous les noms spécifiés au sein d'une section <VirtualHost> sont traités comme un + ServerAlias (sans caractères génériques).

+ + +

Voir aussi

+ +
+
top
+

Directive ServerName

+ + + + + + +
Description:Nom d'hôte et port que le serveur utilise pour +s'authentifier lui-même
Syntaxe:ServerName +[protocole://]nom-de-domaine|adresse-ip[:port]
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive ServerName permet de définir + les protocole, nom d'hôte et port d'une requête que le serveur + utilise pour s'authentifier lui-même.

+ +

La directive ServerName permet (éventuellement en + conjonction avec la directive ServerAlias) d'identifier de manière unique un + serveur virtuel, lorsqu'elle est utilisée dans un contexte de serveurs virtuels à base de noms.

+ +

Cette directive est aussi utilisée lors de la création d'URLs de + redirection relatives quand la directive UseCanonicalName est définie à une valeur autre + que la valeur par défaut.

+ +

Par exemple, si le nom de la + machine hébergeant le serveur web est + simple.example.com, la machine possède l'alias + DNS www.example.com, et si vous voulez que le serveur + web s'identifie avec cet alias, vous devez utilisez la définition + suivante :

+ +
ServerName www.example.com
+ + +

La directive ServerName peut apparaître à + toutes les étapes de la définition du serveur. Toute occurrence + annule cependant la précédente (pour ce serveur).

+ +

Si la directive ServerName n'est pas + définie, le serveur tente de déterminer le nom + d'hôte visible du point de vue du client en demandant tout d'abord au + système d'exploitation le nom d'hôte système, et en cas d'échec, en effectuant + une recherche DNS inverse sur une adresse IP présente sur le système.

+ +

Si la directive + ServerName ne précise pas de port, le serveur + utilisera celui de la requête entrante. Il est recommandé de + spécifier un nom d'hôte et un port spécifiques à l'aide de la + directive ServerName pour une fiabilité + optimale et à titre préventif.

+ +

Si vous définissez des serveurs virtuels à base de + nom, une directive ServerName située à + l'intérieur d'une section <VirtualHost> spécifiera quel nom d'hôte + doit apparaître dans l'en-tête de requête Host: pour + pouvoir atteindre ce serveur virtuel.

+ + +

Parfois, le serveur s'exécute en amont d'un dispositif qui + implémente SSL, comme un mandataire inverse, un répartiteur de + charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole + https:// et le port auquel les clients se connectent + dans la directive ServerName, afin de + s'assurer que le serveur génère correctement ses URLs + d'auto-identification. +

+ +

Voir la description des directives UseCanonicalName et UseCanonicalPhysicalPort pour les + définitions qui permettent de déterminer si les URLs + auto-identifiantes (par exemple via le module + mod_dir) vont faire référence au port spécifié, ou + au port indiqué dans la requête du client. +

+ +
+

Si la valeur de la directive ServerName ne + peut pas être résolue en adresse IP, le démarrage du serveur + provoquera un avertissement. httpd va alors utiliser le + résultat de la commande système hostname pour + déterminer le nom du serveur, ce qui ne correspondra pratiquement + jamais au nom de serveur que vous souhaitez réellement.

+

+ httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName +

+
+ + +

Voir aussi

+ +
+
top
+

Directive ServerPath

+ + + + + + +
Description:Nom de chemin d'URL hérité pour un serveur virtuel à base +de nom accédé par un navigateur incompatible
Syntaxe:ServerPath chemin d'URL
Contexte:serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive ServerPath permet de définir + le nom de chemin d'URL hérité d'un hôte, à utiliser avec les serveurs virtuels à base de nom.

+ +

Voir aussi

+ +
+
top
+

Directive ServerRoot

+ + + + + + + +
Description:Racine du répertoire d'installation du +serveur
Syntaxe:ServerRoot chemin de répertoire
Défaut:ServerRoot /usr/local/apache
Contexte:configuration globale
Statut:Noyau httpd
Module:core
+

La directive ServerRoot permet de définir + le répertoire dans lequel le serveur est installé. En particulier, + il contiendra les sous-répertoires conf/ et + logs/. Les chemins relatifs indiqués dans les autres + directives (comme Include ou LoadModule) seront définis par + rapport à ce répertoire.

+ +
ServerRoot "/home/httpd"
+ + +

La valeur par défaut de ServerRoot peut + être modifiée via l'argument --prefix de la commande configure, et de + nombreuses distributions tierces du serveur proposent une valeur + différente de celles listées ci-dessus.

+ + +

Voir aussi

+ +
+
top
+

Directive ServerSignature

+ + + + + + + + +
Description:Définit un pied de page pour les documents générés par le +serveur
Syntaxe:ServerSignature On|Off|EMail
Défaut:ServerSignature Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Noyau httpd
Module:core
+

La directive ServerSignature permet de + définir une ligne de pied de page fixe pour les documents générés + par le serveur (messages d'erreur, listings de répertoires ftp de + mod_proxy, sorties de mod_info, + etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a + souvent aucun moyen de déterminer lequel des mandataires chaînés a + généré un message d'erreur, et c'est une des raisons pour lesquelles + on peut être amené à ajouter un tel pied de page.

+ +

La valeur par défaut Off supprime la ligne de pied + de page. la valeur On + ajoute simplement une ligne contenant le numéro de version du + serveur ainsi que le nom du serveur virtuel issu de la directive + ServerName, alors que la valeur + EMail ajoute en plus une référence "mailto:" à + l'administrateur du document référencé issu la directive + ServerAdmin.

+ +

Les détails à propos du numéro de + version du serveur sont contrôlés à l'aide de la directive + ServerTokens.

+ +

Voir aussi

+ +
+
top
+

Directive ServerTokens

+ + + + + + + +
Description:Configure l'en-tête Server de la réponse +HTTP
Syntaxe:ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
Défaut:ServerTokens Full
Contexte:configuration globale
Statut:Noyau httpd
Module:core
+

Cette directive permet de contrôler le contenu de l'en-tête + Server inclus dans la réponse envoyée au client : cet + en-tête peut contenir le type de système d'exploitation du serveur, + ainsi que des informations à propos des modules compilés avec le + serveur.

+ +
+
ServerTokens Full (ou non spécifié)
+ +
Le serveur envoie par exemple : Server: Apache/2.4.2 + (Unix) PHP/4.2.2 MyMod/1.2
+ +
ServerTokens Prod[uctOnly]
+ +
Le serveur renvoie (par exemple): Server: + Apache
+ +
ServerTokens Major
+ +
Le serveur renvoie (par exemple): Server: + Apache/2
+ +
ServerTokens Minor
+ +
Le serveur renvoie (par exemple): Server: + Apache/2.4
+ +
ServerTokens Min[imal]
+ +
Le serveur renvoie (par exemple): Server: + Apache/2.4.2
+ +
ServerTokens OS
+ +
Le serveur renvoie (par exemple): Server: + Apache/2.4.2 (Unix)
+ + + +
+ +

Cette définition s'applique à l'ensemble du serveur et ne peut + être activée ou désactivée pour tel ou tel serveur virtuel.

+ +

Cette directive contrôle + aussi les informations fournies par la directive ServerSignature.

+ +
Définir ServerTokens à une + valeur inférieure à minimal n'est pas + recommandé car le débogage des problèmes + interopérationnels n'en sera alors que plus difficile. Notez + aussi que la désactivation de l'en-tête Server: + n'améliore en rien la sécurité de votre + serveur ; le concept de "sécurité par + l'obscurité" est un mythe et conduit à + une mauvaise perception de ce qu'est la sécurité.
+ + + +

Voir aussi

+ +
+
top
+

Directive SetHandler

+ + + + + + + + +
Description:Force le traitement des fichiers spécifiés par un +gestionnaire particulier
Syntaxe:SetHandler handler-name|none|expression
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
Compatibilité:L'argument expression est disponible à partir de la version +2.4.19 su serveur HTTP Apache
+

Lorsqu'elle se situe à l'intérieur d'un fichier + .htaccess, ou d'une section <Directory> ou <Location>, cette directive force le + traitement de tous les fichiers spécifiés par le gestionnaire défini par l'argument + nom gestionnaire. Par exemple, dans le cas d'un + répertoire dont vous voulez interpréter le contenu comme des + fichiers de règles d'images cliquables, sans tenir compte des + extensions, vous pouvez ajouter la ligne suivante dans un fichier + .htaccess de ce répertoire :

+ +
SetHandler imap-file
+ + +

Autre exemple : si vous voulez que le serveur affiche un + compte-rendu d'état chaque fois qu'une URL du type http://nom + serveur/status est appelée, vous pouvez ajouter ceci dans + httpd.conf :

+ +
<Location "/status">
+  SetHandler server-status
+</Location>
+ + +

Vous pouvez aussi utiliser cette directive pour associer un + gestionnaire à des fichiers possèdant une extension de nom de + fichier particulière. Par exemple :

+ +
<FilesMatch "\.php$">
+    SetHandler application/x-httpd-php
+</FilesMatch>
+ + +

Pour référencer des variables spécifiques à une requête, y compris les + références arrières vers des expressions rationnelles nommées, vous pouvez + utiliser des expressions ayant pour valeur une chaîne :

+ +
<LocationMatch ^/app/(?<sub>[^/]+)/>
+     SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080"
+</LocationMatch>
+ + +

Vous pouvez écraser la définition antérieure d'une directive + SetHandler en utilisant la valeur + None.

+ +

Note

+

Comme SetHandler l'emporte sur la + définition des gestionnaires par défaut, le comportement habituel + consistant à traiter les URLs se terminant par un slash (/) comme + des répertoires ou des fichiers index est désactivé.

+ +

Voir aussi

+ +
+
top
+

Directive SetInputFilter

+ + + + + + + +
Description:Définit les filtres par lesquels vont passer les requêtes +client et les données POST
Syntaxe:SetInputFilter filtre[;filtre...]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
+

La directive SetInputFilter permet de + définir le ou les filtres par lesquels vont passer les requêtes + client et les données POST au moment où le serveur les reçoit. Cette + définition vient en ajout à tout autre filtre défini en + quelqu'endroit que ce soit, y compris via la directive AddInputFilter.

+ +

Si la directive comporte plusieurs filtres, ils doivent être + séparés par des points-virgules, et spécifiés selon l'ordre dans + lequel vous souhaitez les voir agir sur les contenus.

+ +

Voir aussi

+ +
+
top
+

Directive SetOutputFilter

+ + + + + + + +
Description:Définit les filtres par lesquels vont passer les réponses +du serveur
Syntaxe:SetOutputFilter filtre[;filtre...]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Noyau httpd
Module:core
+

La directive SetOutputFilter permet de + définir les filtres par lesquels vont passer les réponses du serveur + avant d'être envoyées au client. Cette définition vient en ajout à + tout autre filtre défini en quelqu'endroit que ce soit, y compris + via la directive AddOutputFilter.

+ +

Par exemple, la configuration suivante va traiter tous les + fichiers du répertoire /www/data/ comme des inclusions + côté serveur (SSI) :

+ +
<Directory "/www/data/">
+  SetOutputFilter INCLUDES
+</Directory>
+ + +

Si la directive comporte plusieurs filtres, ils doivent être + séparés par des points-virgules, et spécifiés selon l'ordre dans + lequel vous souhaitez les voir agir sur les contenus.

+ +

Voir aussi

+ +
+
top
+

Directive StrictHostCheck

+ + + + + + + + +
Description:Détermine si le nom d'hôte contenu dans une requête doit être +explicitement spécifié au niveau du serveur virtuel qui a pris en compte cette +dernière. +
Syntaxe:StrictHostCheck ON|OFF
Défaut:StrictHostCheck OFF
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
Compatibilité:Disponible à partir de la version 2.4.49 du serveur HTTP Apache.
+

Par défaut, le serveur répond aux requêtes quel que soit le nom d'hôte + qu'elles contiennent, y compris un nom d'hôte non prévu dans la + configuration. Bien que cela soit pratique, il peut s'avérer souhaitable de + restreindre les noms d'hôte qu'une application sous-jacente devra prendre en + compte car elle va souvent générer des réponses en se référençant elle-même.

+ +

Si la directive StrictHostCheck est définie à + ON, le serveur générera une erreur HTTP 400 si le nom d'hôte que + contient la requête n'a pas été explicitement spécifié par une directive + ServerName ou ServerAlias au niveau du serveur virtuel qui + correspond le mieux aux caractéristiques de la connexion entrante.

+ +

Cette directive permet aussi de rechercher une correspondance entre le nom + d'hôte de la requête et les noms d'hôte spécifiés au sein de la balise + ouvrante VirtualHost. Il s'agit + cependant d'un mécanisme de configuration relativement obscur qui agit comme + une directive ServerAlias + supplémentaire.

+ +

Cette directive n'a aucun effet dans les serveurs virtuels qui ne sont pas + des serveurs par défaut. La valeur héritée de la configuration globale du + serveur ou le serveur virtuel par défaut pour l'adresse IP/port de la + connexion sous-jacente déterminent la valeur effective.

+ +
+
top
+

Directive TimeOut

+ + + + + + + +
Description:Temps pendant lequel le serveur va attendre certains +évènements avant de considérer qu'une requête a échoué
Syntaxe:TimeOut secondes
Défaut:TimeOut 60
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

La directive TimeOut permet de définir le + temps maximum pendant lequel Apache httpd va attendre des entrées/sorties + selon les circonstances :

+ +
    +
  • Lors de la lecture de données en provenance du client, le + temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est + vide.

    +

    Pour les données initiales d'une nouvelle connexion, et tant qu'une + directive AcceptFilter n'aura pas + transmis cette nouvelle connexion au serveur, cette directive n'aura aucun + effet.

    +
  • + +
  • Lors de l'écriture de données destinées au client, le temps + maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le + tampon d'envoi est plein.
  • + +
  • Avec mod_cgi et mod_cgid, le temps + d'attente maximum pour un bloc individuel en sortie d'un script CGI.
  • + +
  • Avec mod_ext_filter, le temps d'attente + maximum des sorties d'un processus de filtrage.
  • + +
  • Avec mod_proxy, la valeur du délai par défaut + si ProxyTimeout n'est + pas défini.
  • +
+ + +
+
top
+

Directive TraceEnable

+ + + + + + + +
Description:Détermine le comportement des requêtes +TRACE
Syntaxe:TraceEnable [on|off|extended]
Défaut:TraceEnable on
Contexte:configuration globale, serveur virtuel
Statut:Noyau httpd
Module:core
+

Cette directive l'emporte sur le comportement de + TRACE pour le noyau du serveur et + mod_proxy. La définition par défaut + TraceEnable on permet des requêtes TRACE + selon la RFC 2616, qui interdit d'ajouter tout corps à la requête. + La définition TraceEnable off indique au noyau du + serveur et à mod_proxy de retourner un code + d'erreur 405 (Méthode non autorisée) au client.

+ +

En fait, et à des fins de test et de diagnostic seulement, on + peut autoriser l'ajout d'un corps de requête à l'aide de la + définition non standard TraceEnable extended. Le noyau + du serveur (dans le cas d'un serveur d'origine) va limiter la taille + du corps de requête à 64Kb (plus 8Kb pour les en-têtes de + fractionnement si Transfer-Encoding: chunked est + utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes, + y compris les en-têtes de fractionnement avec le corps de la + réponse. Dans le cas d'un serveur mandataire, la taille du corps de + requête n'est pas limitée à 64Kb.

+ +

Note

+

Bien que certains prétendent le contraire, activer la méthode + TRACE ne constitue pas un problème de sécurité dans Apache + httpd. La méthode TRACE est définie par la spécification + HTTP/1.1 et les différentes implémentations sont censées la supporter.

+
+ +
+
top
+

Directive UnDefine

+ + + + + + +
Description:Invalide la définition d'une variable
Syntaxe:UnDefine nom-variable
Contexte:configuration globale
Statut:Noyau httpd
Module:core
+

Annule l'effet d'une directive Define ou d'un argument -D de + httpd en invalidant l'existence de la variable + correspondante.

+

On peut utiliser cette directive pour inverser l'effet d'une + section <IfDefine> + sans avoir à modifier les arguments -D dans les scripts + de démarrage.

+ +

Afin d'éviter tout risque de collision avec la syntaxe de la directive + RewriteMap, les noms de + variables ne doivent pas contenir de caractère ":".

+ +

Piège de la portée de cette directive

+

Si cette directive est définie au sein d'un bloc VirtualHost, les + changements qu'elle induit sont visibles de toute directive + ultérieure, au delà de tout bloc VirtualHost.

+
+ +

Voir aussi

+ +
+
top
+

Directive UseCanonicalName

+ + + + + + + +
Description:Définit la manière dont le serveur détermine son propre nom +et son port
Syntaxe:UseCanonicalName On|Off|DNS
Défaut:UseCanonicalName Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
+

Dans de nombreuses situations, Apache httpd doit construire une URL + auto-identifiante -- c'est à dire une URL qui fait + référence au serveur lui-même. Avec UseCanonicalName + On, Apache httpd va utiliser le nom d'hôte et le port spécifiés par + la directive ServerName pour + construire le nom canonique du serveur. Ce nom est utilisé dans + toutes les URLs auto-identifiantes, et affecté aux variables + SERVER_NAME et SERVER_PORT dans les + programmes CGI.

+ +

Avec UseCanonicalName Off, Apache httpd va construire ses + URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis + par le client, si ce dernier en a fourni un (dans la négative, + Apache utilisera le nom canonique, de la même manière que + ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées + pour implémenter les serveurs virtuels à base de + nom, et sont disponibles avec les mêmes clients. De même, les + variables CGI SERVER_NAME et SERVER_PORT + seront affectées des valeurs fournies par le client.

+ +

Cette directive peut s'avérer utile, par exemple, sur un serveur + intranet auquel les utilisateurs se connectent en utilisant des noms + courts tels que www. Si les utilisateurs tapent un nom + court suivi d'une URL qui fait référence à un répertoire, comme + http://www/splat, sans le slash terminal, vous + remarquerez qu'Apache httpd va les rediriger vers + http://www.example.com/splat/. Si vous avez activé + l'authentification, ceci va obliger l'utilisateur à s'authentifier + deux fois (une première fois pour www et une seconde + fois pour www.example.com -- voir la + foire aux questions sur ce sujet pour plus d'informations). + Par contre, si UseCanonicalName est définie à + Off, Apache httpd redirigera l'utilisateur vers + http://www/splat/.

+ +

Pour l'hébergement virtuel en masse à base d'adresse IP, on + utilise une troisième option, UseCanonicalName + DNS, pour supporter les clients anciens qui ne + fournissent pas d'en-tête Host:. Apache httpd effectue alors + une recherche DNS inverse sur l'adresse IP du serveur auquel le + client s'est connecté afin de construire ses URLs + auto-identifiantes.

+ +

Avertissement

+

Les programmes CGI risquent d'être perturbés par cette option + s'ils tiennent compte de la variable SERVER_NAME. Le + client est pratiquement libre de fournir la valeur qu'il veut comme + nom d'hôte. Mais si le programme CGI n'utilise + SERVER_NAME que pour construire des URLs + auto-identifiantes, il ne devrait pas y avoir de problème.

+
+ +

Voir aussi

+ +
+
top
+

Directive UseCanonicalPhysicalPort

+ + + + + + + +
Description:Définit la manière dont le serveur +détermine son propre port
Syntaxe:UseCanonicalPhysicalPort On|Off
Défaut:UseCanonicalPhysicalPort Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Noyau httpd
Module:core
+

Dans de nombreuses situations, Apache httpd doit construire une URL + auto-identifiante -- c'est à dire une URL qui fait + référence au serveur lui-même. Avec UseCanonicalPhysicalPort + On, Apache httpd va fournir le numéro de port physique réel utilisé + par la requête en tant que port potentiel, pour construire le port + canonique afin que le serveur puisse alimenter la directive + UseCanonicalName. Avec + UseCanonicalPhysicalPort Off, Apache httpd n'utilisera pas le + numéro de port physique réel, mais au contraire se référera aux + informations de configuration pour construire un numéro de port + valide.

+ +

Note

+

L'ordre dans lequel s'effectue la recherche quand on utilise le + port physique est le suivant :

+
+
UseCanonicalName On
+
+
    +
  1. Port indiqué dans Servername
  2. +
  3. Port physique
  4. +
  5. Port par défaut
  6. +
+
+
UseCanonicalName Off | DNS
+
+
    +
  1. Port spécifié dans l'en-tête Host:
  2. +
  3. Port physique
  4. +
  5. Port spécifié par Servername
  6. +
  7. Port par défaut
  8. +
+
+
+ +

Avec UseCanonicalPhysicalPort Off, on reprend + l'ordre ci-dessus en supprimant "Port physique".

+
+ + +

Voir aussi

+ +
+
top
+

Directive <VirtualHost>

+ + + + + + +
Description:Contient des directives qui ne s'appliquent qu'à un nom +d'hôte spécifique ou à une adresse IP
Syntaxe:<VirtualHost + adresse IP[:port] [adresse + IP[:port]] ...> ... + </VirtualHost>
Contexte:configuration globale
Statut:Noyau httpd
Module:core
+

Les balises <VirtualHost> et + </VirtualHost> permettent de rassembler un groupe + de directives qui ne s'appliquent qu'à un serveur virtuel + particulier. Toute directive autorisée dans un contexte de serveur + virtuel peut être utilisée. Lorsque le serveur reçoit un requête + pour un document hébergé par un serveur virtuel particulier, il + applique les directives de configuration rassemblées dans la section + <VirtualHost>. adresse + IP peut être une des entités suivantes, éventuellement suivies + d'un caractère ':' et d'un numéro de port (ou *) :

+ +
    +
  • L'adresse IP du serveur virtuel ;
  • + +
  • Un nom de domaine entièrement qualifié correspondant à + l'adresse IP du serveur virtuel (non recommandé) ;
  • + +
  • Le caractère *, qui agit comme un + caractère générique, et correspond à toute adresse IP.
  • + +
  • La chaîne _default_, dont la signification est + identique à celle du caractère *
  • + +
+ +
<VirtualHost 10.1.2.3:80>
+  ServerAdmin webmaster@host.example.com
+  DocumentRoot "/www/docs/host.example.com"
+  ServerName host.example.com
+  ErrorLog "logs/host.example.com-error_log"
+  TransferLog "logs/host.example.com-access_log"
+</VirtualHost>
+ + + +

Les adresses IPv6 doivent être entourées de crochets car dans le + cas contraire, un éventuel port optionnel ne pourrait pas être + déterminé. Voici un exemple de serveur virtuel avec adresse IPv6 + :

+ +
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
+  ServerAdmin webmaster@host.example.com
+  DocumentRoot "/www/docs/host.example.com"
+  ServerName host.example.com
+  ErrorLog "logs/host.example.com-error_log"
+  TransferLog "logs/host.example.com-access_log"
+</VirtualHost>
+ + +

Chaque serveur virtuel doit correspondre à une adresse IP, un + port ou un nom d'hôte spécifique ; dans le premier cas, le serveur + doit être configuré pour recevoir les paquets IP de plusieurs + adresses (si le serveur n'a qu'une interface réseau, on peut + utiliser à cet effet la commande ifconfig alias -- si + votre système d'exploitation le permet).

+ +

Note

+

L'utilisation de la directive <VirtualHost> n'affecte en rien les + adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous + assurer que les adresses des serveurs virtuels sont bien incluses + dans la liste des adresses précisées par la directive Listen.

+
+ +

Tout bloc <VirtualHost> doit comporter une directive + ServerName. Dans le cas + contraire, le serveur virtuel héritera de la valeur de la directive + ServerName issue de la + configuration du serveur principal.

+ +

A l'arrivée d'une requête, le serveur tente de la + faire prendre en compte par la section <VirtualHost> qui correspond le mieux en ne + se basant que sur la paire adresse IP/port. Les chaînes sans + caractères génériques l'emportent sur celles qui en contiennent. Si + aucune correspondance du point de vue de l'adresse IP/port n'est + trouvée, c'est la configuration du serveur "principal" qui sera + utilisée.

+ +

Si plusieurs serveurs virtuels correspondent du point de vue de + l'adresse IP/port, le serveur sélectionne celui qui correspond le + mieux du point de vue du nom d'hôte de la requête. Si aucune + correspondance du point de vue du nom d'hôte n'est trouvée, c'est le + premier serveur virtuel dont l'adresse IP/port correspond qui sera + utilisé. Par voie de conséquence, le premier serveur virtuel + comportant une certaine paire adresse IP/port est le serveur virtuel + par défaut pour cette paire adresse IP/port.

+ +

Sécurité

+

Voir le document sur les conseils à propos de sécurité + pour une description détaillée des raisons pour lesquelles la + sécurité de votre serveur pourrait être compromise, si le répertoire + contenant les fichiers journaux est inscriptible par tout autre + utilisateur que celui qui démarre le serveur.

+
+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/core.html.ja.utf8 b/docs/manual/mod/core.html.ja.utf8 new file mode 100644 index 0000000..8c1be70 --- /dev/null +++ b/docs/manual/mod/core.html.ja.utf8 @@ -0,0 +1,3825 @@ + + + + + +core - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache コア機能

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +
説明:常ã«ä½¿ç”¨å¯èƒ½ãª Apache HTTP サーãƒã®ã‚³ã‚¢æ©Ÿèƒ½
ステータス:Core
+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

AcceptFilter ディレクティブ

+ + + + + + + +
説明:プロトコルを Listen ã—ã¦ã„るソケットã®æœ€é©åŒ–を設定ã™ã‚‹
構文:AcceptFilter protocol accept_filter
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
互æ›æ€§:2.1.5 以é™
+

Listen ã—ã¦ã„るソケットã«å¯¾ã—ã¦ã€OS ãŒå›ºæœ‰ã«æŒã£ã¦ã„るプロトコルã«ã¤ã„ã¦ã®æœ€é©åŒ–ã‚’ + 有効ã«ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã™ã€‚大å‰æã¨ãªã‚‹æ¡ä»¶ã¯ã€ãƒ‡ãƒ¼ã‚¿ãŒå—ä¿¡ã•ã‚Œã‚‹ã‹ + HTTP リクエスト全体ãŒãƒãƒƒãƒ•ã‚¡ã•ã‚Œã‚‹ã‹ã™ã‚‹ã¾ã§ã€ã‚«ãƒ¼ãƒãƒ«ãŒã‚µãƒ¼ãƒãƒ—ロセス㫠+ ソケットをé€ã‚‰ãªã„よã†ã«ãªã£ã¦ã„ã‚‹ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚ç¾åœ¨ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹ã®ã¯ã€ + + FreeBSD ã® Accept Filter 㨠Linux ã®ãƒ—リミティブ㪠+ TCP_DEFER_ACCEPT ã®ã¿ã§ã™ã€‚

+ +

FreeBSD ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ :

+

+ AcceptFilter http httpready
+ AcceptFilter https dataready +

+ +

httpready Accept Filter 㯠HTTP リクエスト全体を〠+ カーãƒãƒ«ãƒ¬ãƒ™ãƒ«ã§ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°ã—ã¾ã™ã€‚リクエスト全体をå—ä¿¡ã—終ã‚ã‚‹ã¨ã€ + ãã®å¾Œã‚µãƒ¼ãƒãƒ—ロセスã«ãれをé€ã‚Šã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ accf_http(9) + ã‚’å‚ç…§ã—ã¦ãã ã•ã„。HTTPS ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯æš—å·åŒ–ã•ã‚Œã¦ã„ã‚‹ã®ã§ accf_data(9) + フィルタã®ã¿ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

Linux ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ :

+

+ AcceptFilter http data
+ AcceptFilter https data +

+ +

Linux ã® TCP_DEFER_ACCEPT 㯠HTTP リクエストã®ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°ã‚’ + サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。none 以外ã®å€¤ã§ + TCP_DEFER_ACCEPT ãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ Linux + man ページ tcp(7) + ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +

引数㫠none を指定ã™ã‚‹ã¨ã€ãƒ—ロトコルã«å¯¾ã™ã‚‹å…¨ã¦ã® Accept + Filter ãŒç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚nntp ã¨ã„ã£ãŸã€å…ˆã«ã‚µãƒ¼ãƒã«ãƒ‡ãƒ¼ã‚¿ã‚’ + é€ã‚‹å¿…è¦ã®ã‚るプロトコルã«æœ‰åŠ¹ã§ã™ :

+

AcceptFilter nntp none

+ + +
+
top
+

AcceptPathInfo ディレクティブ

+ + + + + + + + + +
説明:後ã«ç¶šãパスå情報をå—ã‘付ã‘るリソースã®æŒ‡å®š
構文:AcceptPathInfo On|Off|Default
デフォルト:AcceptPathInfo Default
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:Apache 2.0.30 以é™ã§ä½¿ç”¨å¯èƒ½
+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å®Ÿéš›ã®ãƒ•ã‚¡ã‚¤ãƒ«å (ã‚‚ã—ãã¯å­˜åœ¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® + 存在ã—ãªã„ファイル) ã®å¾Œã«ç¶šãパスå情報ãŒã‚るリクエストをå—ã‘付ã‘ã‚‹ã‹ + æ‹’å¦ã™ã‚‹ã‹ã‚’制御ã—ã¾ã™ã€‚続ãã®ãƒ‘スå情報ã¯ã‚¹ã‚¯ãƒªãƒ—トã«ã¯ PATH_INFO + 環境変数ã¨ã—ã¦åˆ©ç”¨å¯èƒ½ã«ãªã‚Šã¾ã™ã€‚

+ +

例ãˆã°ã€/test/ ãŒã€here.html ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ« + 一ã¤ã®ã¿ãŒã‚るディレクトリを指ã—ã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚ãã†ã™ã‚‹ã¨ã€ + /test/here.html/more 㨠/test/nothere.html/more + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ä¸¡æ–¹ã¨ã‚‚ /more ã‚’ PATH_INFO ã¨ã—ã¾ã™ã€‚

+ +

AcceptPathInfo ディレクティブã«æŒ‡å®šå¯èƒ½ãª + 三ã¤ã®å¼•æ•°ã¯:

+ +
+
Off
リクエストã¯å­˜åœ¨ã™ã‚‹ãƒ‘スã«ãã®ã¾ã¾ + マップã•ã‚Œã‚‹å ´åˆã«ã®ã¿å—ã‘付ã‘られã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ä¸Šã®ä¾‹ã® + /test/here.html/more ã®ã‚ˆã†ã«ã€æœ¬å½“ã®ãƒ•ã‚¡ã‚¤ãƒ«åã® + 後ã«ãƒ‘スå情報ãŒç¶šãリクエストã«ã¯ 404 NOT FOUND エラーãŒè¿”ã‚Šã¾ã™ã€‚
+ +
On
å‰ã®æ–¹ã®ãƒ‘スãŒå­˜åœ¨ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒžãƒƒãƒ—ã™ã‚‹å ´åˆã¯ + リクエストãŒå—ã‘付ã‘られã¾ã™ã€‚上ã®ä¾‹ã® /test/here.html/more + 㯠/test/here.html ãŒæœ‰åŠ¹ãªãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒžãƒƒãƒ—ã™ã‚Œã° + å—ã‘付ã‘られã¾ã™ã€‚
+ +
Default
続ãã®ãƒ‘スå情報ã®æ‰±ã„ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã® + ãƒãƒ³ãƒ‰ãƒ©ã§æ±ºã¾ã‚Šã¾ã™ã€‚ + 普通ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ãŸã‚ã®ã‚³ã‚¢ãƒãƒ³ãƒ‰ãƒ©ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ PATH_INFO ã‚’æ‹’å¦ã—ã¾ã™ã€‚ + cgi-script ã‚„ isapi-handler ã®ã‚ˆã†ã«ã‚¹ã‚¯ãƒªãƒ—トを扱ã†ãƒãƒ³ãƒ‰ãƒ©ã¯ + 一般的ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ PATH_INFO ã‚’å—ã‘付ã‘ã¾ã™ã€‚
+
+ +

AcceptPathInfo ã®ä¸»ãªç›®çš„ã¯ãƒãƒ³ãƒ‰ãƒ©ã® PATH_INFO ã‚’ + å—ã‘付ã‘ã‚‹ã‹æ‹’å¦ã™ã‚‹ã‹ã®é¸æŠžã‚’上書ãã§ãるよã†ã«ã™ã‚‹ã“ã¨ã§ã™ã€‚ + 例ãˆã°ã€ã“ã‚Œã¯ä¾‹ãˆã° INCLUDES ã®ã‚ˆã†ãª + フィルタを使ã£ã¦ PATH_INFO ã« + 基ã¥ã„ã¦ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を生æˆã—ã¦ã„ã‚‹ã¨ãã«å¿…è¦ã«ãªã‚Šã¾ã™ã€‚ + コアãƒãƒ³ãƒ‰ãƒ©ã§ã¯é€šå¸¸æ‹’å¦ã•ã‚Œã‚‹ã®ã§ã€ãã†ã„ã£ãŸã‚¹ã‚¯ãƒªãƒ—トを動作ã•ã›ã‚‹ã«ã¯ + 次ã®ã‚ˆã†ãªè¨­å®šã‚’使ã„ã¾ã™ã€‚

+ +

+ <Files "mypaths.shtml">
+ + Options +Includes
+ SetOutputFilter INCLUDES
+ AcceptPathInfo On
+
+ </Files> +

+ +
+
top
+

AccessFileName ディレクティブ

+ + + + + + + +
説明:分散設定ファイルã®åå‰
構文:AccessFileName filename [filename] ...
デフォルト:AccessFileName .htaccess
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

リクエストを処ç†ã™ã‚‹ã¨ãã€ã‚µãƒ¼ãƒã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + 対ã—ã¦åˆ†æ•£è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚Œã°ã€ + ãã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¸ã® + パス上ã«ã‚ã‚‹å…¨ã¦ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã€ã“ã“ã§æŒ‡å®šã•ã‚ŒãŸåå‰ã®ä¸€è¦§ã®ä¸­ã§ + 最åˆã«è¦‹ã¤ã‹ã£ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’ãã‚Œãžã‚Œè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦èª­ã¿è¾¼ã¿ã¾ã™ã€‚例ãˆã°:

+ +

+ AccessFileName .acl +

+ +

ã¨ã„ã†è¨­å®šãŒã‚ã‚‹ã¨ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¦ç„¡åŠ¹ã«ã•ã‚Œã¦ã„ãªã„é™ã‚Šã€ + ドキュメント /usr/local/web/index.html + ã‚’è¿”ã™å‰ã«ã€ã‚µãƒ¼ãƒã¯ /.acl, /usr/.acl, + /usr/local/.acl, /usr/local/web/.acl ã‹ã‚‰ + ディレクティブを読ã¿è¾¼ã¿ã¾ã™ã€‚

+ +

+ <Directory />
+ + AllowOverride None
+
+ </Directory> +

+ +

å‚ç…§

+ +
+
top
+

AddDefaultCharset ディレクティブ

+ + + + + + + + +
説明:レスãƒãƒ³ã‚¹ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—㌠text/plain ã‚ã‚‹ã„㯠+text/html ã®å ´åˆã«è¿½åŠ ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® charset パラメータ
構文:AddDefaultCharset On|Off|charset
デフォルト:AddDefaultCharset Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
+

レスãƒãƒ³ã‚¹ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—㌠text/plain + ã‚ã‚‹ã„㯠text/html + ã®å ´åˆã«é™ã‚Šã¾ã™ãŒã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã«è¿½åŠ ã™ã‚‹ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã®æ–‡å­—セットパラメータ + (文字エンコーディングã®åå‰) ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§æŒ‡å®šã—ã¾ã™ã€‚ + ã“ã‚Œã¯ãƒ¬ã‚¹ãƒãƒ³ã‚¹ (訳注: レスãƒãƒ³ã‚¹ã® HTML) 内㧠META + è¦ç´ ã§æŒ‡å®šã•ã‚ŒãŸã€ã©ã®ã‚ˆã†ãªæ–‡å­—セットも無効ã«ã—ã¾ã™ãŒã€ + 最終的ãªæŒ™å‹•ã¯ãƒ¦ãƒ¼ã‚¶ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã®è¨­å®šã§æ±ºã¾ã‚Šã¾ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã¯ AddDefaultCharset Off ã¨ã„ã†è¨­å®šã§ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + AddDefaultCharset On ã«ã™ã‚Œã°ã€ + Apache 内部ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆæ–‡å­—セット iso-8859-1 ã«è¨­å®šã•ã‚Œã¾ã™ã€‚ + ãã®ä»– charset ã«æŒ‡å®šã§ãる値ã§ã‚ã‚Œã°ã€ã©ã‚“ãªå€¤ã§ã‚‚使ãˆã¾ã™ã€‚ + 指定ã™ã‚‹å€¤ã¯ã€MIME メディアタイプã¨ã—ã¦ä½¿ã‚れる + IANA + ã«ç™»éŒ²ã•ã‚Œã¦ã„る文字セットåã®ã†ã¡ã®ä¸€ã¤ã«ã™ã¹ãã§ã™ã€‚ + 例ãˆã°:

+ +

+ AddDefaultCharset utf-8 +

+ +

AddDefaultCharset を使ã†ã¨ãã¯ã€å…¨ã¦ã®ãƒ†ã‚­ã‚¹ãƒˆãƒªã‚½ãƒ¼ã‚¹ãŒ + 指定ã™ã‚‹æ–‡å­—エンコードã«ãªã£ã¦ã„ã‚‹ã¨åˆ†ã‹ã£ã¦ã„ã¦ã€ã‹ã¤ã€ + リソースã®å€‹ã€…ã«æ–‡å­—セットを指定ã™ã‚‹ã®ãŒå¤§å¤‰ãªå ´åˆã®ã¿ã§ã™ã€‚ + 例を挙ã’ã‚‹ã¨ã€ãƒ¬ã‚¬ã‚·ãƒ¼ãª CGI スクリプトãªã©ã®ã€å‹•çš„ã«ç”Ÿæˆã•ã‚Œã‚‹ + コンテンツをå«ã‚€ãƒªã‚½ãƒ¼ã‚¹ã«æ–‡å­—セットパラメータを追加ã™ã‚‹å ´åˆã§ã€ + ユーザã®å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ãŒå‡ºåŠ›ã«å…¥ã‚Šã€ã‚¯ãƒ­ã‚¹ã‚µã‚¤ãƒˆã‚¹ã‚¯ãƒªãƒ—ティング㌠+ 引ãèµ·ã“ã•ã‚Œã†ã‚‹å ´åˆã§ã™ã€‚デフォルト文字セットをセットã—ãŸã¨ã—ã¦ã‚‚〠+ ブラウザ㮠"文字エンコードã®è‡ªå‹•é¸æŠž" 機能ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„るユーザを + 守るã“ã¨ã«ã¯ãªã‚‰ãªã„ã®ã§ã€ã‚‚ã¡ã‚んより良ã„解決策ã¯å˜ã«ã‚¹ã‚¯ãƒªãƒ—トを修正 + (ã‚ã‚‹ã„ã¯å‰Šé™¤) ã™ã‚‹ã“ã¨ã§ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

AllowEncodedSlashes ディレクティブ

+ + + + + + + + +
説明:URL 中ã®ç¬¦å·åŒ–ã•ã‚ŒãŸãƒ‘ス分離文字ãŒå…ˆã«ä¼ãˆã‚‰ã‚Œã‚‹ã®ã‚’許å¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’ +決定ã™ã‚‹
構文:AllowEncodedSlashes On|Off
デフォルト:AllowEncodedSlashes Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:Apache 2.0.46 以é™ã§ä½¿ç”¨å¯èƒ½
+

AllowEncodedSlashes ディレクティブã¯ç¬¦å·åŒ–ã•ã‚ŒãŸ + パス分離文字 (/ 㯠%2Fã€ã•ã‚‰ã«ã‚·ã‚¹ãƒ†ãƒ ã«ã‚ˆã£ã¦ã¯ + \ ã«å¯¾å¿œã™ã‚‹ %5C) ãŒå­˜åœ¨ã™ã‚‹ URL ã®ä½¿ç”¨ã‚’ + 許å¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’決定ã—ã¾ã™ã€‚通常ã¯ãã®ã‚ˆã†ãª URL 㯠404 (Not found) エラー + ã§æ‹’å¦ã•ã‚Œã¾ã™ã€‚

+ +

AllowEncodedSlashes On ã«ã‚ˆã‚‹ + パス分離文字ã®ä½¿ç”¨ã¯ã€PATH_INFO ã¨åˆã‚ã›ã¦ + 使ã†ã¨ãã«ä¸€ç•ªå½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +

注

+

符å·åŒ–ã•ã‚ŒãŸã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’許å¯ã™ã‚‹ã“ã¨ã¯ã€å¾©å·ã‚’ã™ã‚‹ã“ã¨ã‚’ + æ„味ã—ã¾ã›ã‚“。%2F ã‚„ (関係ã™ã‚‹ã‚·ã‚¹ãƒ†ãƒ ã§ã®) + %5C ã¯ã€ä»–ã®éƒ¨åˆ†ãŒå¾©å·ã•ã‚ŒãŸ URL ã®ä¸­ã§ã‚‚ãã®ã¾ã¾ã®å½¢å¼ã§ + 残ã•ã‚Œã¾ã™ã€‚

+
+ +

å‚ç…§

+ +
+
top
+

AllowOverride ディレクティブ

+ + + + + + + +
説明:.htaccess ã§è¨±å¯ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ç¨®é¡ž
構文:AllowOverride All|None|directive-type +[directive-type] ...
デフォルト:AllowOverride All
コンテキスト:ディレクトリ
ステータス:Core
モジュール:core
+

サーãƒãŒ (AccessFileName ã«ã‚ˆã£ã¦æŒ‡å®šã•ã‚ŒãŸ) + .htaccess ファイルを見ã¤ã‘ãŸæ™‚ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸­ã§ + 宣言ã•ã‚ŒãŸã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒã‚ˆã‚Šå‰ã«å®šç¾©ã•ã‚ŒãŸè¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + 上書ãã§ãã‚‹ã‹ã‚’知る必è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

<Directory> セクションã§ã®ã¿ä½¿ç”¨å¯èƒ½

+ AllowOverride ã¯æ­£è¦è¡¨ç¾ç„¡ã—ã®<Directory> + セクションã§ã®ã¿æœ‰åŠ¹ã§ã€<Location> ã‚„ <DirectoryMatch> + ã‚„ <Files> セクションã§ã¯ç„¡åŠ¹ã§ã™ã€‚ +
+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ None ã«è¨­å®šã™ã‚‹ã¨ã€.htaccess ファイルã¯å®Œå…¨ã« + 無視ã•ã‚Œã¾ã™ã€‚ + ã“ã®å ´åˆã€ã‚µãƒ¼ãƒã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã® .htaccess ファイルを読むã“ã¨ã‚’ + 試ã¿ã•ãˆã—ã¾ã›ã‚“。

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㌠All ã«è¨­å®šã•ã‚Œã¦ã„る時ã«ã¯ã€ + .htaccess ã¨ã„ㆠコンテキスト ã‚’æŒã¤ + å…¨ã¦ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚

+ +

directive-type ã«ã¯ã€ä»¥ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–群㮠+ キーワードã®ã©ã‚Œã‹ã‚’指定ã—ã¾ã™ã€‚

+ +
+
AuthConfig
+ +
+ + èªè¨¼ã«é–¢ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä½¿ç”¨ã‚’許å¯ã™ã‚‹ (AuthDBMGroupFile, + AuthDBMUserFile, + AuthGroupFile, + AuthName, + AuthType, AuthUserFile, Require ãªã©)。
+ +
FileInfo
+ +
+ ドキュメントタイプを制御ã™ã‚‹ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä½¿ç”¨ã‚’許å¯ã™ã‚‹ (DefaultType, ErrorDocument, ForceType, LanguagePriority, + SetHandler, SetInputFilter, SetOutputFilter, + mod_mime ã® Add* 㨠Remove* + ディレクティブãªã©), + ドキュメントã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ (Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName), + mod_rewrite ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ– RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule) 㨠+ mod_actions ã® + Action + ディレクティブ。 +
+ +
Indexes
+ +
+ ディレクトリインデックスを制御ã™ã‚‹ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä½¿ç”¨ã‚’許å¯ã™ã‚‹ + (AddDescription, + AddIcon, AddIconByEncoding, + AddIconByType, + DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName + ãªã©)。
+ +
Limit
+ +
+ ホストã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã‚’è¡Œã†ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä½¿ç”¨ã‚’許å¯ã™ã‚‹ (Allow, Deny, Order).
+ +
Options[=Option,...]
+ +
+ 特定ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãŠã‘る機能を指定ã™ã‚‹ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä½¿ç”¨ã‚’許å¯ã™ã‚‹ + (Options 㨠+ XBitHack)。 + Options ã§è¨­å®šã™ã‚‹ã‚ªãƒ—ション + ã‚’ã€(空白をå«ã‚ãªã„) コンマ区切りã®ãƒªã‚¹ãƒˆã«ã—ã¦ç­‰å·ã®å¾Œã«ç¶šã‘ã‚‹ã“ã¨ã§ + 設定ã§ãã¾ã™ã€‚
+
+ +

例:

+ +

+ AllowOverride AuthConfig Indexes +

+ +

上ã®ä¾‹ã§ã¯ AuthConfig 㨠Indexes ã®ã©ã¡ã‚‰ã«ã‚‚ + 属ã•ãªã„ディレクティブã¯ã™ã¹ã¦å†…部サーãƒã‚¨ãƒ©ãƒ¼ã‚’引ãèµ·ã“ã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

AllowOverrideList ディレクティブ

+ + + + + + + +
説明:Individual directives that are allowed in +.htaccess files
構文:AllowOverrideList None|directive +[directive-type] ...
デフォルト:AllowOverrideList None
コンテキスト:ディレクトリ
ステータス:Core
モジュール:core

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

CGIMapExtension ディレクティブ

+ + + + + + + + +
説明:CGI スクリプトã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã®ä½ç½®ã‚’調ã¹ã‚‹ãŸã‚ã®æ‰‹æ³•
構文:CGIMapExtension cgi-path .extension
コンテキスト:ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:NetWare ã®ã¿
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache ㌠CGI スクリプトを実行ã™ã‚‹ãŸã‚ã® + インタープリタを探ã™æ–¹æ³•ã‚’制御ã—ã¾ã™ã€‚ + 例ãˆã°ã€CGIMapExtension sys:\foo.nlm .foo ã¨è¨­å®šã™ã‚‹ã¨ + .foo ã¨ã„ã†æ‹¡å¼µå­ã®ã™ã¹ã¦ã® CGI スクリプト㯠FOO インタープリタ㫠+ 渡ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

CGIPassAuth ディレクティブ

+ + + + + + + + + +
説明:Enables passing HTTP authorization headers to scripts as CGI +variables
構文:CGIPassAuth On|Off
デフォルト:CGIPassAuth Off
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache HTTP Server 2.4.13 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CGIVar ディレクティブ

+ + + + + + + + +
説明:Controls how some CGI variables are set
構文:CGIVar variable rule
コンテキスト:ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache HTTP Server 2.4.21 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ContentDigest ディレクティブ

+ + + + + + + + +
説明:Content-MD5 HTTP 応答ヘッダã®ç”Ÿæˆã‚’有効ã«ã™ã‚‹
構文:ContentDigest On|Off
デフォルト:ContentDigest Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Options
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€RFC1864 åŠã³ RFC2616 ã«ãŠã„ã¦å®šç¾©ã•ã‚Œã¦ã„ã‚‹ + Content-MD5 ヘッダーã®ç”Ÿæˆã‚’有効ã«ã—ã¾ã™ã€‚

+ +

MD5 ã¯ã€ä»»æ„é•·ã®ãƒ‡ãƒ¼ã‚¿ã®ã€Œãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã€(「指紋〠+ ã¨è¡¨ç¾ã•ã‚Œã‚‹ã“ã¨ã‚‚ã‚ã‚‹) を計算ã™ã‚‹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§ã€ + データã®å¤‰æ›´ãŒã‚ã£ãŸå ´åˆã«ã¯éžå¸¸ã«é«˜ã„信頼度ã§ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã«å¤‰æ›´ãŒ + å映ã•ã‚Œã¾ã™ã€‚

+ +

Content-MD5 ヘッダã¯ã€ã‚¨ãƒ³ãƒ‰ãƒ„ーエンド㧠+ エンティティボディーã«å«ã¾ã‚Œã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å®Œå…¨æ€§ãƒã‚§ãƒƒã‚¯ + (Message Integrity Check - MIC)ã‚’æä¾›ã—ã¾ã™ã€‚ + ã“ã®ãƒ˜ãƒƒãƒ€ã‚’調ã¹ã‚‹ã“ã¨ã§ã€ãƒ—ロキシやクライアントã¯ã€ + 途中経路ã«ãŠã‘るエンティティボディã®äºˆæœŸã›ã¬å¤‰æ›´ãªã©ã‚’ + 検出ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ヘッダã®ä¾‹:

+ +

+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +

+ +

リクエスト毎ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚’計算ã™ã‚‹ (値ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¾ã›ã‚“) + ã“ã¨ã‹ã‚‰ã€ + サーãƒãƒ‘フォーマンスãŒä½Žä¸‹ã™ã‚‹ã“ã¨ã«ã¤ã„ã¦æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

Content-MD5ã¯ã€core 機能ã«ã‚ˆã‚Šå‡¦ç†ã•ã‚ŒãŸ + ドキュメントをé€ã‚‹ã¨ãã®ã¿æœ‰åŠ¹ã§ã‚り〠+ SSI ドキュメントや CGI スクリプトã®å‡ºåŠ›ã€ãƒã‚¤ãƒˆãƒ¬ãƒ³ã‚¸ã‚’指定ã—㟠+ 応答ã®å ´åˆã«ã¯ã“ã®ãƒ˜ãƒƒãƒ€ã¯ä»˜ä¸Žã•ã‚Œã¾ã›ã‚“。 +

+ +
+
top
+

DefaultRuntimeDir ディレクティブ

+ + + + + + + + +
説明:Base directory for the server run-time files
構文:DefaultRuntimeDir directory-path
デフォルト:DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache 2.4.2 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

DefaultType ディレクティブ

+ + + + + + + + + +
説明:サーãƒãŒã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—を決定ã§ããªã„ã¨ãã« +é€ã‚‰ã‚Œã‚‹ MIME コンテントタイプ
構文:DefaultType MIME-type|none
デフォルト:DefaultType text/plain
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:引数 none 㯠Apache 2.2.7 以é™ã§åˆ©ç”¨å¯èƒ½
+

サーãƒã¯ã€MIME タイプ + ã®ãƒžãƒƒãƒ—ã‹ã‚‰ã¯æ±ºå®šã§ããªã„ドキュメントã®é€ä¿¡ã‚’è¦æ±‚ã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚

+ +

サーãƒã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—をクライアントã«é€šçŸ¥ã™ã‚‹ã¹ãã§ã™ã€‚ + サーãƒã§é€šå¸¸ã®æ–¹æ³•ã§ã¯ã“ã‚ŒãŒåˆ¤å®šã§ããªã„å ´åˆã¯ã€ + DefaultType ã§æŒ‡å®šã•ã‚ŒãŸã‚¿ã‚¤ãƒ—を利用ã—ã¾ã™ã€‚ + 例:

+ +

+ DefaultType image/gif +

+ +

ã“れ㯠.gif ã¨ã„ã†æ‹¡å¼µå­ãŒãƒ•ã‚¡ã‚¤ãƒ«åã«å«ã¾ã‚Œã¦ã„ãªã„ + 多ãã® GIF ç”»åƒãŒå«ã¾ã‚Œã¦ã„るディレクトリã«é©ã—ã¦ã„ã‚‹ã§ã—ょã†ã€‚

+ +

サーãƒã§ã‚‚管ç†è€…ã§ã‚‚判定ã™ã‚‹ã“ã¨ãŒã§ããªã„ (例ãˆã°ãƒ—ロクシã®) å ´åˆã€ + 誤ã£ãŸæƒ…報を与ãˆã‚‹ã‚ˆã‚Šã¯ MIME タイプã®æŒ‡å®šãŒãªã„状態ãŒæœ›ã¾ã—ã„ã“ã¨ã‚‚ + ã‚ã‚Šã¾ã™ã€‚ã“ã®å ´åˆã¯æ¬¡ã®ã‚ˆã†ã«ã—ã¾ã™ :

+

+ DefaultType None +

+

DefaultType None 㯠httpd-2.2.7 + 以é™ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚

+ +

ForceType ディレクティブ㨠+ é•ã£ã¦ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® MIME タイプをæä¾›ã™ã‚‹ã ã‘㧠+ ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ファイルåã®æ‹¡å¼µå­ã‚’å«ã‚〠+ メディアタイプを決定ã§ãã‚‹ä»–ã® MIME タイプã®å®šç¾©ãŒã‚れ㰠+ ã“ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ä¸Šæ›¸ãã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

Define ディレクティブ

+ + + + + + +
説明:変数ã®å­˜åœ¨ã‚’宣言ã™ã‚‹
構文:Define parameter-name
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

httpd ã® -D + 引数ã¨åŒã˜ã‚‚ã®ã§ã™ã€‚

+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã†ã¨ã€ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—スクリプト㫠+ 記載ã•ã‚Œã¦ã„ã‚‹ -D 引数を書ãæ›ãˆã‚‹å¿…è¦ãªã〠+ <IfDefine> + セクションを切り替ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
+
top
+

<Directory> ディレクティブ

+ + + + + + +
説明:指定ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã‚µãƒ–ディレクトリã¨ã®ã¿ã« +é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲む
構文:<Directory directory-path> +... </Directory>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

指定ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãã®ã‚µãƒ–ディレクトリã«ã®ã¿ + ディレクティブをé©ç”¨ã•ã›ã‚‹ãŸã‚ã«ã¯ã€ + <Directory> 㨠+ </Directory> を対ã¨ã—ã¦ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–群を囲ã„ã¾ã™ã€‚ + ãã®ä¸­ã«ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§è¨±å¯ã•ã‚ŒãŸå…¨ã¦ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + 利用ã§ãã¾ã™ã€‚ + directive-path ã¯ã€ãƒ•ãƒ«ãƒ‘スもã—ã㯠Unix ã®ã‚·ã‚§ãƒ«å½¢å¼ã® + ワイルドカードを指定ã—ã¾ã™ã€‚ + ? ã¯ä»»æ„ã® 1 文字ã€* ã¯ä»»æ„ã®æ–‡å­—列ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + シェルã«ãŠã‘る指定åŒæ§˜ã€æ–‡å­—ã®ç¯„囲を [] ã§æŒ‡å®šã§ãã¾ã™ã€‚ + ワイルドカード㯠`/' 文字ã«ã¯ãƒžãƒƒãƒã—ã¾ã›ã‚“ã®ã§ã€ + /home/user/public_html ã«ã¯ + <Directory /*/public_html> ã¯ãƒžãƒƒãƒã—ã¾ã›ã‚“ãŒã€ + <Directory /home/*/public_html> ã¯ãƒžãƒƒãƒã—ã¾ã™ã€‚ + 例:

+ +

+ <Directory /usr/local/httpd/htdocs>
+ + Options Indexes FollowSymLinks
+
+ </Directory> +

+ +
+

directory-path 引数ã«ã¯æ³¨æ„ã—ã¦ãã ã•ã„: ãã®å¼•æ•°ã¯ + Apache ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’アクセスã™ã‚‹ãŸã‚ã«ä½¿ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‘ス㫠+ ãã®ã¾ã¾ãƒžãƒƒãƒã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã‚ã‚‹ <Directory> ã« + é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€åˆ¥ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ãŸã©ã£ãŸã‚Šã—㦠+ åŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’é•ã†ãƒ‘スã§ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸå ´åˆã«ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。

+
+ +

~ ã¨ã„ã†æ–‡å­—ã‚’ + 付加ã™ã‚‹ã“ã¨ã§æ­£è¦è¡¨ç¾ã‚’利用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + 例ãˆã°:

+ +

+ <Directory ~ "^/www/.*/[0-9]{3}"> +

+ +

ã¨ã„ã£ãŸæŒ‡å®šã®å ´åˆã€/www/ 以下ã«ã‚ã‚‹æ•°å­— + 3 文字ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãƒžãƒƒãƒã—ã¾ã™ã€‚

+ +

ã‚‚ã—複数㮠(æ­£è¦è¡¨ç¾ä»¥å¤–ã®) <Directory>セクション㌠+ ドキュメントをå«ã‚€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª (ã‚„ãã®ä¸Šä½ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ã©ã‚Œã‹) ã¨ãƒžãƒƒãƒã—ãŸãªã‚‰ã°ã€ + .htaccess ファイルã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–も読ã¿è¾¼ã¿ã¤ã¤ã€ + 短ã„パスã‹ã‚‰é †ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + 例ãˆã°ã€

+ +

+ <Directory />
+ + AllowOverride None
+
+ </Directory>
+
+ <Directory /home/>
+ + AllowOverride FileInfo
+
+ </Directory> +

+ +

ã¨è¨­å®šã—ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ /home/web/dir/doc.html ã¸ã® + アクセスãŒã‚ã£ãŸå ´åˆã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«å‹•ä½œã—ã¾ã™:

+ +
    +
  • AllowOverride None ãŒé©ç”¨ã•ã‚Œã‚‹ã€‚ + (.htaccess ファイルã¯ç„¡åŠ¹ã«ãªã‚‹)
  • + +
  • AllowOverride FileInfo ãŒé©ç”¨ã•ã‚Œã‚‹ + (/home ディレクトリã«å¯¾ã—ã¦)。
  • + +
  • /home/.htaccess, /home/web/.htaccess, + /home/web/dir/.htaccess ã®é †ã«ãれらã®ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® + FileInfo ディレクティブãŒé©ç”¨ã•ã‚Œã‚‹ã€‚
  • +
+ +

æ­£è¦è¡¨ç¾ã¯ã€é€šå¸¸ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãŒã™ã¹ã¦é©ç”¨ã•ã‚Œã‚‹ã¾ã§ + 考慮ã•ã‚Œã¾ã›ã‚“。 + ãã®å¾Œã€å…¨ã¦ã®æ­£è¦è¡¨ç¾ãŒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«ç¾ã‚ŒãŸé †ã§è©¦ã•ã‚Œã¾ã™ã€‚ + 例ãˆã°ã€ä»¥ä¸‹ã®ã‚ˆã†ãªå ´åˆã«

+ +

+ <Directory ~ abc$>
+ + # ... directives here ...
+
+ </Directory> +

+ +

æ­£è¦è¡¨ç¾ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ã™ã¹ã¦ã®é€šå¸¸ã® <Directory> 㨠+ .htaccess ã®é©ç”¨ãŒçµ‚ã‚ã‚‹ã¾ã§è€ƒæ…®ã•ã‚Œã¾ã›ã‚“。 + ãã®å¾Œã§ã€æ­£è¦è¡¨ç¾ã¯ /home/abc/public_html/abc ã«ãƒžãƒƒãƒã—〠+ 対応ã™ã‚‹ <Directory> ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

Apache ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ <Directory /> ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯ + Allow from All ã«ãªã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ã“ã‚Œã¯ã€URL ã‹ã‚‰ãƒžãƒƒãƒ—ã•ã‚ŒãŸã©ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ã‚‚ Apache ã¯é€ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚ + ã“ã‚Œã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¦å¤‰æ›´ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

+ <Directory />
+ + Order Deny,Allow
+ Deny from All
+
+ </Directory> +

+ +

ãã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã‚’å¯èƒ½ã«ã—ãŸã„ディレクトリã«å¯¾ã—㦠+ 個別ã«è¨­å®šã™ã‚Œã°ã‚ˆã„ã§ã—ょã†ã€‚ + ã“ã®ã‚ãŸã‚Šã«ã¤ã„ã¦ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹ã‚³ãƒ„ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。

+ +

ディレクトリセクション㯠httpd.conf ファイルã«æ›¸ãã¾ã™ã€‚ + <Directory> + ディレクティブã¯å…¥ã‚Œå­ã«ã™ã‚‹ã“ã¨ãŒã§ããšã€ + <Limit> ã‚„ <LimitExcept> セクションã®ä¸­ã«ã‚‚ + 記述ã§ãã¾ã›ã‚“。

+ + +

å‚ç…§

+ +
+
top
+

<DirectoryMatch> ディレクティブ

+ + + + + + +
説明:æ­£è¦è¡¨ç¾ã«ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ +サブディレクトリã¨ã®ã¿ã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲む
構文:<DirectoryMatch regex> +... </DirectoryMatch>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

<Directory> + ディレクティブã¨åŒæ§˜ã«ã€<DirectoryMatch> + 㨠</DirectoryMatch> ã¯æŒ‡å®šã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ + ãã®ã‚µãƒ–ディレクトリã«ã®ã¿é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–群を囲ã„ã¾ã™ã€‚ + ã—ã‹ã—ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¼•æ•°ã¨ã—ã¦æ­£è¦è¡¨ç¾ã‚’ã¨ã‚Šã¾ã™ã€‚例ãˆã°:

+ +

+ <DirectoryMatch "^/www/(.+/)?[0-9]{3}"> +

+ +

㯠/www/ 以下ã«ã‚ã‚‹æ•°å­— 3 文字ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãƒžãƒƒãƒã—ã¾ã™ã€‚

+ + +

å‚ç…§

+ +
+
top
+

DocumentRoot ディレクティブ

+ + + + + + + +
説明:ウェブã‹ã‚‰è¦‹ãˆã‚‹ãƒ¡ã‚¤ãƒ³ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リーã«ãªã‚‹ +ディレクトリ
構文:DocumentRoot directory-path
デフォルト:DocumentRoot /usr/local/apache/htdocs
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€httpd + ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’æä¾›ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’設定ã—ã¾ã™ã€‚ + Alias ã®ã‚ˆã†ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ãƒžãƒƒãƒã—ãªã„å ´åˆã«ã¯ã€ + ドキュメント㮠(訳注:ファイルシステム上ã®) パスを生æˆã™ã‚‹ãŸã‚ã«ã€ + リクエストã•ã‚ŒãŸ URL ã®ãƒ‘ス部分をドキュメントルートã«ä»˜ä¸Žã—ã¾ã™ã€‚ + 例:

+ +

+ DocumentRoot /usr/web +

+ +

ã“ã®å ´åˆã€ + http://www.my.host.com/index.html ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒã‚れ㰠+ /usr/web/index.html ãŒè¿”ã•ã‚Œã¾ã™ã€‚ + directory-path ãŒçµ¶å¯¾ãƒ‘スã§ãªã„å ´åˆã¯ã€ + ServerRoot + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã¿ãªã•ã‚Œã¾ã™ã€‚

+ +

DocumentRoot ã¯æœ€å¾Œã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ç„¡ã—㧠+ 指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

<Else> ディレクティブ

+ + + + + + + + +
説明:Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
構文:<Else> ... </Else>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
互æ›æ€§:Nested conditions are evaluated in 2.4.26 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

<ElseIf> ディレクティブ

+ + + + + + + + +
説明:Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
構文:<ElseIf expression> ... </ElseIf>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
互æ›æ€§:Nested conditions are evaluated in 2.4.26 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

EnableMMAP ディレクティブ

+ + + + + + + + +
説明:é…é€ä¸­ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€ãŸã‚ã«ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングを +使ã†ã‹ã©ã†ã‹
構文:EnableMMAP On|Off
デフォルト:EnableMMAP On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯é…é€ä¸­ã«ãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容を読ã¿è¾¼ã‚€å¿…è¦ãŒã‚ã‚‹ã¨ãã« + httpd ãŒãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングを使ã†ã‹ã©ã†ã‹ã‚’制御ã—ã¾ã™ã€‚ + デフォルトã§ã¯ã€ + 例ãˆã°ã€mod_include を使ã£ã¦ SSI ファイルをé…é€ + ã™ã‚‹ã¨ãã®ã‚ˆã†ã«ã€ãƒ•ã‚¡ã‚¤ãƒ«ã®é€”中ã®ãƒ‡ãƒ¼ã‚¿ã‚’アクセスã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ãã«ã¯ + Apache 㯠OS ãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚Œã°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’メモリã«ãƒžãƒƒãƒ—ã—ã¾ã™ã€‚

+ +

+ ã“ã®ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ—ã¯æ€§èƒ½ã®å‘上をもãŸã‚‰ã™ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ + ã—ã‹ã—ã€ç’°å¢ƒã«ã‚ˆã£ã¦ã¯é‹ç”¨ä¸Šã®å•é¡Œã‚’防ããŸã‚ã«ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングを + 使用ã—ãªã„よã†ã«ã—ãŸæ–¹ãŒè‰¯ã„å ´åˆã‚‚ã‚ã‚Šã¾ã™:

+ +
    +
  • マルãƒãƒ—ロセッサシステムã®ä¸­ã«ã¯ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングをã™ã‚‹ã¨ + httpd ã®æ€§èƒ½ãŒè½ã¡ã‚‹ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚
  • +
  • NFS マウントã•ã‚ŒãŸ DocumentRoot + ã§ã¯ã€httpd ãŒãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ—ã—ã¦ã„ã‚‹é–“ã«ãƒ•ã‚¡ã‚¤ãƒ«ãŒå‰Šé™¤ã•ã‚ŒãŸã‚Š + 短ããªã£ãŸã‚Šã—ãŸã¨ãã«èµ·ã“るセグメンテーションフォールトã®ãŸã‚ã« + httpd ãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
  • +
+ +

ã“れらã®å•é¡Œã«å½“ã¦ã¯ã¾ã‚‹ã‚µãƒ¼ãƒã®è¨­å®šã®å ´åˆã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã—㦠+ ファイルã®é…é€æ™‚ã®ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングを使用ä¸å¯ã«ã—ã¦ãã ã•ã„:

+ +

+ EnableMMAP Off +

+ +

NFS マウントã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ã€å•é¡Œã®ã‚るファイルã«ã®ã¿æ˜Žç¤ºçš„ã« + ã“ã®æ©Ÿèƒ½ã‚’使用ä¸å¯ã«ã—ã¾ã™:

+ +

+ <Directory "/path-to-nfs-files"> + + EnableMMAP Off + + </Directory> +

+ +
+
top
+

EnableSendfile ディレクティブ

+ + + + + + + + + +
説明:ファイルã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®é…é€æ™‚ã«ã‚«ãƒ¼ãƒãƒ«ã® sendfile サãƒãƒ¼ãƒˆã‚’ +使ã†ã‹ã©ã†ã‹
構文:EnableSendfile On|Off
デフォルト:EnableSendfile On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.44 以é™ã§ä½¿ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容をé€ã‚‹ã¨ãã« + httpd ãŒã‚«ãƒ¼ãƒãƒ«ã® + sendfile サãƒãƒ¼ãƒˆã‚’使ã†ã‹ã©ã†ã‹ã‚’制御ã—ã¾ã™ã€‚デフォルトã§ã¯ã€ + 例ãˆã°é™çš„ãªãƒ•ã‚¡ã‚¤ãƒ«ã®é…é€ã®ã‚ˆã†ã«ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å‡¦ç†ã«ãƒ•ã‚¡ã‚¤ãƒ«ã® + 途中ã®ãƒ‡ãƒ¼ã‚¿ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’å¿…è¦ã¨ã—ãªã„ã¨ãã«ã¯ã€Apache 㯠OS ㌠+ サãƒãƒ¼ãƒˆã—ã¦ã„ã‚Œã°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€ã“ã¨ãªã sendfile を使ã£ã¦ + ファイルã®å†…容をé€ã‚Šã¾ã™ã€‚

+ +

sendfile 㯠read 㨠send を別々ã«è¡Œãªã†ã“ã¨ã¨ã€ãƒãƒƒãƒ•ã‚¡ã®å‰²ã‚Šå½“ã¦ã‚’ + 回é¿ã—ã¾ã™ã€‚ã—ã‹ã—ã€ãƒ—ラットフォームやファイルシステムã®ä¸­ã«ã¯ + é‹ç”¨ä¸Šã®å•é¡Œã‚’é¿ã‘ã‚‹ãŸã‚ã«ã“ã®æ©Ÿèƒ½ã‚’使用ä¸å¯ã«ã—ãŸæ–¹ãŒè‰¯ã„å ´åˆãŒã‚ã‚Šã¾ã™:

+ +
    +
  • プラットフォームã®ä¸­ã«ã¯ãƒ“ルドシステムãŒæ¤œçŸ¥ã§ããªã‹ã£ãŸã€å£Šã‚ŒãŸ + sendfile ã®ã‚µãƒãƒ¼ãƒˆãŒå­˜åœ¨ã™ã‚‹ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ã“ã‚Œã¯ç‰¹ã« + ãƒã‚¤ãƒŠãƒªãŒåˆ¥ã®ãƒžã‚·ãƒ³ã§ãƒ“ルドã•ã‚Œã€å£Šã‚ŒãŸ sendfile ã®ã‚るマシン㫠+ 移動ã—ãŸã¨ãã«èµ·ã“ã‚Šã¾ã™ã€‚
  • +
  • Linux ã§ã¯ã€sendfile を用ã„ã‚‹ã¨ã€ + IPv6 使用時ã«å­˜åœ¨ã™ã‚‹ç‰¹å®šãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚«ãƒ¼ãƒ‰ã® TCP-checksum + オフロードã®ãƒã‚°ã‚’è¸ã‚“ã§ã—ã¾ã„ã¾ã™ã€‚
  • +
  • Itanium 上㮠Linux ã§ã¯ã€sendfile ã§ã¯ 2GB 以上㮠+ ファイルを扱ã†ã“ã¨ãŒã§ãã¾ã›ã‚“。
  • +
  • ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒžã‚¦ãƒ³ãƒˆã•ã‚ŒãŸ DocumentRoot + (例ãˆã° NFS ã‚„ SMB) + ã§ã¯ã€ã‚«ãƒ¼ãƒãƒ«ã¯è‡ªèº«ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’使ã£ã¦ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‹ã‚‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + é€ã‚‹ã“ã¨ãŒã§ããªã„ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
  • +
+ +

ã“れらã®å•é¡Œã«å½“ã¦ã¯ã¾ã‚‹ã‚µãƒ¼ãƒã®è¨­å®šã®å ´åˆã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã—㦠+ ã“ã®æ©Ÿèƒ½ã‚’使用ä¸å¯ã«ã—ã¦ãã ã•ã„:

+ + +

+ EnableSendfile Off +

+ +

NFS ã‚„ SMB マウントã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ã€å•é¡Œã®ã‚るファイルã«ã®ã¿æ˜Žç¤ºçš„ã« + ã“ã®æ©Ÿèƒ½ã‚’使用ä¸å¯ã«ã—ã¾ã™:

+ +

+ <Directory "/path-to-nfs-files"> + + EnableSendfile Off + + </Directory> +

+ +
+
top
+

Error ディレクティブ

+ + + + + + + +
説明:Abort configuration parsing with a custom error message
構文:Error message
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Core
モジュール:core
互æ›æ€§:2.3.9 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ErrorDocument ディレクティブ

+ + + + + + + +
説明:エラーãŒç™ºç”Ÿã—ãŸã¨ãã«ã‚µãƒ¼ãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚‚ã®
構文:ErrorDocument error-code document
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
+

å•é¡Œã‚„エラーãŒç™ºç”Ÿã—ãŸã¨ãã®å‹•ä½œã¨ã—ã¦ã€ + Apache ã«ã¯ä»¥ä¸‹ã®å››ã¤ã®ã†ã¡ä¸€ã¤ã®å‹•ä½œã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
    +
  1. Apache 標準ã®ç°¡å˜ãªã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示
  2. + +
  3. 自分ã§æŒ‡å®šã—ãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示
  4. + +
  5. å•é¡Œã‚„エラーã®å‡¦ç†ã‚’ã™ã‚‹ç‚ºã«ã€è‡ªã‚µãƒ¼ãƒå†…ã® + URL-path ã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ
  6. + +
  7. å•é¡Œã‚„エラーã®å‡¦ç†ã‚’ã™ã‚‹ç‚ºã«ã€å¤–部㮠URL ã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ
  8. +
+ +

最åˆã®ã‚‚ã®ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å‹•ä½œã§ã€2 番目ã‹ã‚‰ 4 番目ã¯ã€ + ErrorDocumentディレクティブã«ã‚ˆã‚Šã€ + HTTP ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã¨ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‹ URL を指定ã™ã‚‹ã“ã¨ã§è¨­å®šã—ã¾ã™ã€‚ + Apache ãŒå•é¡Œã‚‚ã—ãã¯ã‚¨ãƒ©ãƒ¼ã«é–¢ã™ã‚‹è¿½åŠ æƒ…報をæä¾›ã™ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚

+ +

URL ã®å ´åˆã¯ã€ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§å§‹ã¾ã‚‹ (/) ローカル㮠web-path ( + DocumentRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘ス + ) ã‹ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒè§£æ±ºã§ãる完全㪠URL を指定ã—ã¾ã™ã€‚ + ã‚‚ã—ãã¯ã€ãƒ–ラウザã«è¡¨ç¤ºã•ã‚Œã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’指定ã§ãã¾ã™ã€‚ + 例:

+ +

+ ErrorDocument 500 http://foo.example.com/cgi-bin/tester
+ ErrorDocument 404 /cgi-bin/bad_urls.pl
+ ErrorDocument 401 /subscription_info.html
+ ErrorDocument 403 "Sorry can't allow you access today" +

+ +

加ãˆã¦ã€ç‰¹åˆ¥ãªå€¤ default を使ã£ã¦ Apache ã« + ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹ç°¡å˜ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 通常ã¯å¿…è¦ã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€default を使ã†ã¨ + 既存㮠ErrorDocument ディレクティブã®è¨­å®šã‚’ + 継承ã™ã‚‹ã¨ã“ã‚ã§ã€Apache ã®ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã•ã‚ŒãŸç°¡å˜ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã« + 戻ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

+ ErrorDocument 404 /cgi-bin/bad_urls.pl

+ <Directory /web/docs>
+ + ErrorDocument 404 default
+
+ </Directory> +

+ +

リモート URL (例ãˆã°ã€é ­ã« http ã¨ä»˜ä¸Žã—ãŸæ–¹æ³•) ã‚’ + ErrorDocument ã«æŒ‡å®šã™ã‚‹ã¨ã〠+ ãŸã¨ãˆæ–‡æ›¸ãŒåŒã˜ã‚µãƒ¼ãƒã«ã‚ã‚ã†ã¨ã‚‚ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒã©ã“ã«ã‚ã‚‹ã‹ã‚’通知ã™ã‚‹ãŸã‚ã«ã€ + Apache ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’クライアントã«é€å‡ºã™ã‚‹ã¨ã„ã†ã“ã¨ã«ã€æ³¨æ„ã—ã¦ãã ã•ã„。 + ã“ã‚Œã«ã¯ã„ã‚ã„ã‚ã¨é–¢é€£ã—ã¦èµ·ã“ã‚‹å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚ + 中ã§ã‚‚最もé‡è¦ãªã®ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯å…ƒã€…ã®ã‚¨ãƒ©ãƒ¼ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’å—ã‘å–らãšã€ + 代ã‚ã‚Šã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’å—ã‘å–ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’使ã£ã¦ URL ãŒæœ‰åŠ¹ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’決定ã—よã†ã¨ã™ã‚‹ + ウェブロボットやãã®ä»–クライアントをã€æ··ä¹±ã•ã›ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã•ã‚‰ã«ã€ErrorDocument 401 ã«ãƒªãƒ¢ãƒ¼ãƒˆã® URL を指定ã™ã‚‹ã¨ã€ + クライアント㯠401 ã¨ã„ã†ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’å—ã‘å–らãªã„ãŸã‚〠+ パスワードをユーザーã«å…¥åŠ›è¦æ±‚ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ã“ã¨ãŒã‚ã‹ã‚Šã¾ã›ã‚“。 + 従ã£ã¦ã€ErrorDocument 401 ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã†å ´åˆã¯ã€ + å¿…ãšãƒ­ãƒ¼ã‚«ãƒ«ãªæ–‡æ›¸ã‚’å‚ç…§ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

Microsoft Internet Explorer (MSIE) ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ã‚µãƒ¼ãƒãŒç”Ÿæˆã—ãŸã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒ + 「å°ã•ã™ãŽã‚‹ã€ã¨ãã«ã¯ç„¡è¦–ã‚’ã—ã¦è‡ªåˆ†è‡ªèº«ã®ã€Œã‚„ã•ã—ã„ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ + ç½®æ›ã—ã¾ã™ã€‚サイズã®ã—ãã„値ã¯ã‚¨ãƒ©ãƒ¼ã®ç¨®é¡žã«ã‚ˆã£ã¦ç•°ãªã‚Šã¾ã™ãŒã€ + 一般的ã«ã¯ã‚¨ãƒ©ãƒ¼ã®æ–‡æ›¸ã‚’ 512 ãƒã‚¤ãƒˆã‚ˆã‚Šã‚‚大ããã™ã‚‹ã¨ã€MSIE 㯠+ サーãƒãŒç”Ÿæˆã—ãŸã‚¨ãƒ©ãƒ¼ã‚’éš ã•ãšã«è¡¨ç¤ºã—ã¾ã™ã€‚詳ã—ã„情報㯠Microsoft + Knowledge Base ã®è¨˜äº‹ Q294807 + ã«ã‚ã‚Šã¾ã™ã€‚

+ +

ã»ã¨ã‚“ã©ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’上書ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ç‰¹å®šã®çŠ¶æ³ä¸‹ã§ã¯ + ErrorDocument ã®è¨­å®šã«ã‹ã‹ã‚ら㚠+ 内蔵ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä½¿ã‚ã‚Œã¾ã™ã€‚ + 特ã«ã€ä¸æ­£ãªå½¢å¼ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¤œå‡ºã•ã‚ŒãŸå ´åˆã€é€šå¸¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆå‡¦ç†ã¯ + å³åº§ã«ä¸­æ­¢ã•ã‚Œã€å†…蔵ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¿”ã•ã‚Œã¾ã™ã€‚ + ã“ã®å‡¦ç½®ã¯ä¸æ­£ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã‚ˆã£ã¦å¼•ãèµ·ã“ã•ã‚Œã‚‹ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£å•é¡Œã‹ã‚‰ + 守るãŸã‚ã«å¿…è¦ãªæŽªç½®ã§ã™ã€‚

+ +

2.0 よりå‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€å¯¾ã«ãªã£ã¦ã„ãªã„二é‡å¼•ç”¨ç¬¦ã‚’ + 先頭ã«ä»˜ã‘ã‚‹ã“ã¨ã«ã‚ˆã‚Šãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ã‚ã‚‹ã“ã¨ã‚’指定ã—ã¦ã„ã¾ã—ãŸã€‚

+ + +

å‚ç…§

+ +
+
top
+

ErrorLog ディレクティブ

+ + + + + + + +
説明:サーãƒãŒã‚¨ãƒ©ãƒ¼ã‚’ログåŽé›†ã™ã‚‹å ´æ‰€
構文: ErrorLog file-path|syslog[:facility]
デフォルト:ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

ErrorLog ディレクティブã¯ã€ + サーãƒã«ç”Ÿã˜ãŸã•ã¾ã–ã¾ãªã‚¨ãƒ©ãƒ¼ã‚’ + 記録ã™ã‚‹ç‚ºã®ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‚’設定ã—ã¾ã™ã€‚ + file-path ãŒçµ¶å¯¾ãƒ‘スã§ãªã„ã¨ãã¯ã€ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã¿ãªã•ã‚Œã¾ã™ã€‚

+ +

例

+ ErrorLog /var/log/httpd/error_log +

+ +

file-path ãŒãƒ‘イプ (|) ã‹ã‚‰å§‹ã¾ã‚‹å ´åˆã¯ã€ + エラーログを処ç†ã™ã‚‹ãŸã‚ã«å®Ÿè¡Œã•ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰ãŒ + 指定ã•ã‚Œã¦ã„ã‚‹ã¨è§£é‡ˆã•ã‚Œã¾ã™ã€‚

+ +

例

+ ErrorLog "|/usr/local/bin/httpd_errors" +

+ +

ファイルåã®å¤‰ã‚ã‚Šã« syslog ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ + システムãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„れ㰠syslogd(8) を利用ã—ãŸãƒ­ã‚®ãƒ³ã‚°ãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + デフォルトã§ã¯ã€local7 ファシリティã¨ãªã‚Šã¾ã™ãŒã€ + syslog:facility ã¨ã„ã£ãŸå½¢ã§è¨˜è¿°ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ + 通常 syslog(1) ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§èª¬æ˜Žã•ã‚Œã¦ã„るファシリティã®ä¸€ã¤ã‚’使ã†ã‚ˆã†ã« + ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

例

+ ErrorLog syslog:user +

+ +

セキュリティ: + ログファイルを格ç´ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã€ã‚µãƒ¼ãƒã‚’èµ·å‹•ã—ãŸãƒ¦ãƒ¼ã‚¶ä»¥å¤–ã® + ユーザã«ã‚ˆã£ã¦æ›¸ãè¾¼ã‚ã‚‹å ´åˆã«ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒç ´ã‚‰ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã« + é–¢ã™ã‚‹è©³ç´°ã¯ セキュリティã«é–¢ã™ã‚‹ã‚³ãƒ„ ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。

+

注

+

Unix 以外ã®ãƒ—ラットフォームã§ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スを入力ã™ã‚‹ã¨ãã¯ã€ + プラットフォームãŒãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®ä½¿ç”¨ã‚’許ã—ã¦ã„ãŸã¨ã—ã¦ã‚‚〠+ 確実ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®ã¿ãŒä½¿ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«æ³¨æ„ã—ã¦ãã ã•ã„。一般的ã«ã¯ã€ + 設定ファイル全般ã§ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®ã¿ã‚’使ã†æ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚

+
+ +

å‚ç…§

+ +
+
top
+

ErrorLogFormat ディレクティブ

+ + + + + + +
説明:Format specification for error log entries
構文: ErrorLogFormat [connection|request] format
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

ExtendedStatus ディレクティブ

+ + + + + + + +
説明:Keep track of extended status information for each +request
構文:ExtendedStatus On|Off
デフォルト:ExtendedStatus Off[*]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

FileETag ディレクティブ

+ + + + + + + + +
説明:ETag HTTP 応答ヘッダを作æˆã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã‚‹ +ファイルã®å±žæ€§
構文:FileETag component ...
デフォルト:FileETag INode MTime Size
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
+

+ FileETag ディレクティブ㯠+ ドキュメントãŒãƒ•ã‚¡ã‚¤ãƒ«ã«åŸºã¥ã„ãŸã‚‚ã®ã§ã‚ã‚‹ã¨ãã«ã€ + ETag (エンティティタグ) 応答ヘッダフィールドを作æˆã™ã‚‹ã¨ãã«ä½¿ç”¨ã™ã‚‹ + ファイルã®å±žæ€§ã‚’設定ã—ã¾ã™ã€‚ (ETag ã®å€¤ã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®å¸¯åŸŸã‚’節約ã™ã‚‹ãŸã‚ã® + キャッシュã®ç®¡ç†ã§ä½¿ã‚ã‚Œã¾ã™ã€‚) Apache 1.3.22 以å‰ã§ã¯ã€ETag ã®å€¤ã¯ + 常ã«ãƒ•ã‚¡ã‚¤ãƒ«ã® inode, サイズã€æœ€çµ‚修正時刻 (mtime) ã‹ã‚‰ä½œæˆ + ã•ã‚Œã¦ã„ã¾ã—ãŸã€‚FileETag ディレクティブã«ã‚ˆã‚Šã€ã“れらã®ã©ã‚Œã‚’使ã†ã‹ã‚’ + é¸ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚èªè­˜ã•ã‚Œã‚‹ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã¯: +

+ +
+
INode
+
ファイル㮠inode 番å·ã‚’計算ã«ä½¿ã„ã¾ã™
+
MTime
+
ファイルã®æœ€çµ‚修正時刻を使ã„ã¾ã™
+
Size
+
ファイルã®ä¸­èº«ã®ãƒã‚¤ãƒˆæ•°ã‚’使ã„ã¾ã™
+
All
+
使用å¯èƒ½ãªã™ã¹ã¦ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’使ã„ã¾ã™ã€‚ + ã“ã‚Œã¯

FileETag INode MTime Size

ã¨ç­‰ä¾¡ã§ã™ã€‚
+
None
+
ドキュメントãŒãƒ•ã‚¡ã‚¤ãƒ«ã«åŸºã¥ã„ãŸã‚‚ã®ã§ã‚‚ã€ETag フィールドを + 応答ã«ä»˜åŠ ã—ã¾ã›ã‚“
+
+ +

INode, MTime, Size キーワードã«ã¯ + + ã‚„ - ã‚’å‰ã«ä»˜ã‘㦠+ 指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ã“ã®å ´åˆã¯ã€ã‚ˆã‚Šåºƒã„範囲ã‹ã‚‰ç¶™æ‰¿ã•ã‚ŒãŸ + デフォルトã®è¨­å®šã«å¤‰æ›´ã‚’加ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ãã®ã‚ˆã†ãªæŽ¥é ­è¾žã® + ç„¡ã„キーワードを指定ã™ã‚‹ã¨ã€å³åº§ã«ç¶™æ‰¿ã—ãŸè¨­å®šã‚’無効ã«ã—ã¾ã™ã€‚

+ +

ã‚るディレクトリã®è¨­å®šã« + FileETag INode MTime Size ãŒã‚り〠+ サブディレクトリã®è¨­å®šã« FileETag -INode ãŒã‚ã‚‹ã¨ãã¯ã€ + ãã®ã‚µãƒ–ディレクトリã®è¨­å®šã¯ (設定ãŒä¸Šæ›¸ãã•ã‚Œãªã‘ã‚Œã°ã‚µãƒ–ディレクトリ㮠+ サブディレクトリã«ã‚‚継承ã•ã‚Œã¾ã™) FileETag MTime Size + ã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚

+

警告

+ WebDAV を使ã£ã¦ã„ã¦ã€mod_dav_fs をストレージプロãƒã‚¤ãƒ€ã¨ã—㦠+ 使ã£ã¦ã„るよã†ãª Directory ã‚„ Location ã§ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’変更ã—ãªã„ã§ãã ã•ã„。 + mod_dav_fs ã§ã¯ã€æ¡ä»¶ä»˜ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã®æ¯”較演算㫠+ INode MTime Size + ã®å›ºå®šãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’使ã£ã¦ã„ã¾ã™ã€‚ + FileETag 㧠ETag フォーマットを + 変更ã—ã¦ã—ã¾ã†ã¨ã€æ¡ä»¶ä»˜ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã†ã¾ã動作ã—ãªããªã‚Šã¾ã™ã€‚ +
+ +
+
top
+

<Files> ディレクティブ

+ + + + + + + +
説明:マッãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲む
構文:<Files filename> ... </Files>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

<Files> ディレクティブã¯ã€ + ãã®ä¸­ã«ã‚るディレクティブã®é©ç”¨ç¯„囲をファイルåã§åˆ¶é™ã—ã¾ã™ã€‚ + <Directory> ディレクティブや <Location> ディレクティブ㨠+ åŒã˜ã‚ˆã†ãªæ©Ÿèƒ½ã‚’æŒã¡ã¾ã™ã€‚ + ã“ã‚Œã¯ã€</Files> ディレクティブã¨å¯¾ã« + ãªã£ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ä¸­ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãƒ™ãƒ¼ã‚¹å (ファイルåã®æœ€å¾Œã®éƒ¨åˆ†) + ãŒæŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«åã«ãƒžãƒƒãƒã™ã‚‹ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + <Files> セクション㯠+ <Directory> セクション㨠+ .htaccess ãŒèª­ã¿è¾¼ã¾ã‚ŒãŸå¾Œã€ + <Location> セクションよりã¯å…ˆã« + 設定ファイルã«ç¾ã‚ŒãŸé †ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + <Files> ã¯ã€ + <Directory> セクション内㫠+ ãƒã‚¹ãƒˆã•ã›ã‚‹ã“ã¨ãŒã§ã〠+ ファイルシステムã®ä¸€éƒ¨ã«ã®ã¿é™å®šã—ã¦é©ç”¨ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

filename 引数ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«åã‹ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰æ–‡å­—列 + ã§ã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã§ã¯ ? ã¯ä¸€ã¤ã®æ–‡å­—ã€* ã¯ä»»æ„ã®æ–‡å­—列ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + ~ ã¨ã„ã†æ–‡å­—を付加ã™ã‚‹ã“ã¨ã§æ­£è¦è¡¨ç¾ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + 例ãˆã°ã€

+ +

+ <Files ~ "\.(gif|jpe?g|png)$"> +

+ +

ã¨ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ä¸€èˆ¬çš„ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã®ç”»åƒãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + ãŸã ã—〠+ <FilesMatch> を使ã†æ–¹ãŒ + 推奨ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

ã¡ãªã¿ã«ã€<Directory> 㨠<Location> セクションã¨ã¯ç•°ãªã‚Šã€ + <Files> + 㯠.htaccess ファイル内ã§åˆ©ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ãƒ¦ãƒ¼ã‚¶ãŒãƒ•ã‚¡ã‚¤ãƒ«æ¯Žã«ã‚¢ã‚¯ã‚»ã‚¹ã®åˆ¶å¾¡ã‚’è¡Œãªã†ã“ã¨ãŒã§ãるよã†ã« + ãªã£ã¦ã„ã¾ã™ã€‚

+ + +

å‚ç…§

+ +
+
top
+

<FilesMatch> ディレクティブ

+ + + + + + + +
説明:æ­£è¦è¡¨ç¾ã«ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åã«é©ç”¨ã•ã‚Œã‚‹ +ディレクティブを囲む
構文:<FilesMatch regex> ... </FilesMatch>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

<FilesMatch> ディレクティブã¯ã€ + <Files> + ディレクティブåŒæ§˜ã«ãã®ä¸­ã«ã‚るディレクティブã®é©ç”¨ç¯„囲をファイルåã§åˆ¶é™ã—ã¾ã™ã€‚ãŸã ã—〠+ ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã¯æ­£è¦è¡¨ç¾ã‚’指定ã—ã¾ã™ã€‚ + 例ãˆã°:

+ +

+ <FilesMatch "\.(gif|jpe?g|png)$"> +

+ +

ã¯ä¸€èˆ¬çš„ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã®ç”»åƒå½¢å¼ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

FlushMaxPipelined ディレクティブ

+ + + + + + + + +
説明:Maximum number of pipelined responses above which they are flushed +to the network
構文:FlushMaxPipelined number
デフォルト:FlushMaxPipelined 5
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:2.4.47 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

FlushMaxThreshold ディレクティブ

+ + + + + + + + +
説明:Threshold above which pending data are flushed to the +network
構文:FlushMaxThreshold number-of-bytes
デフォルト:FlushMaxThreshold 65536
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:2.4.47 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ForceType ディレクティブ

+ + + + + + + + +
説明:ã™ã¹ã¦ã®ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã® MIME コンテントタイプ㧠+é€ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹
構文:ForceType MIME-type|None
コンテキスト:ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:Apache 2.0 㧠core ã«ç§»å‹•
+

.htaccess ã‚„ <Directory> セクション〠+ <Location> セクション〠+ <Files> セクション㫠+ 書ã‹ã‚ŒãŸå ´åˆã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãã“ã«ã‚ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ + MIME-type + ã§æŒ‡å®šã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã¨ã—ã¦æ‰±ã‚れるよã†ã«ã—ã¾ã™ã€‚ãŸã¨ãˆã°ã€ + GIF ファイルã°ã‹ã‚Šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã‚ã£ã¦ã€ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ .gif + ã§çµ‚ã‚らã›ãŸãã¯ãªã„ã¨ãã«ã€ä»¥ä¸‹ã®ã‚‚ã®ã‚’使用ã—ã¾ã™:

+ +

+ ForceType image/gif +

+ +

DefaultType ã¨é•ã£ã¦ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—を決ã‚ã‚‹ã“ã¨ãŒã§ãã‚‹ã‹ã‚‚ã—ã‚Œãªã„ + ファイルã®æ‹¡å¼µå­ã‚‚å«ã‚ã€ã™ã¹ã¦ã® MIME タイプã®é–¢é€£ä»˜ã‘ã‚’ + 上書ãã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

None ã¨ã„ã†å€¤ã‚’使ã†ã“ã¨ã§ ForceType ã® + 設定を無効ã«ã§ãã¾ã™:

+ +

+ # force all files to be image/gif:
+ <Location /images>
+ + ForceType image/gif
+
+ </Location>
+
+ # but normal mime-type associations here:
+ <Location /images/mixed>
+ + ForceType None
+
+ </Location> +

+ +
+
top
+

GprofDir ディレクティブ

+ + + + + + +
説明:Directory to write gmon.out profiling data to.
構文:GprofDir /tmp/gprof/|/tmp/gprof/%
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

HostnameLookups ディレクティブ

+ + + + + + + +
説明:クライアント㮠IP アドレス㮠DNS ルックアップを +有効ã«ã™ã‚‹
構文:HostnameLookups On|Off|Double
デフォルト:HostnameLookups Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãƒ›ã‚¹ãƒˆåをログåŽé›†ã§ãるよã†ã« + DNS ルックアップを有効ã«ã—ã¾ã™ + (ã•ã‚‰ã«ã€CGI/SSI ã« REMOTE_HOST 変数ã¨ã—ã¦æ¸¡ã—ã¾ã™)。 + Doubleを指定ã—ãŸå ´åˆã€2 é‡ã®é€†å¼•ãã‚’è¡Œãªã„ã¾ã™ã€‚ + ã¤ã¾ã‚Šã€é€†å¼•ãã®å¾Œã«ã€ãã®çµæžœã«å¯¾ã—ã¦æ­£å¼•ãã‚’è¡Œãªã„ã¾ã™ã€‚正引ãã® + çµæžœã® IP アドレスã®ä¸­ã«ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ä¸€è‡´ã™ã‚‹ã‚‚ã®ãŒãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。("tcpwrappers" ã®ç”¨èªžã§ã¯ PARANOID ã¨å‘¼ã°ã‚Œã¦ã„ã¾ã™ã€‚)

+ +

mod_authz_host ã§ãƒ›ã‚¹ãƒˆåã«ã‚ˆã‚‹ã‚¢ã‚¯ã‚»ã‚¹ + 制御を行ãªã†å ´åˆã«ã¯ã€ + 設定ã®å¦‚何ã«ã‚ˆã‚‰ãš 2 é‡ã®é€†å¼•ããŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚’ä¿ã¤ãŸã‚ã«å¿…è¦ã§ã™ã€‚ + HostnameLookups Double を設定ã—ãªã„é™ã‚Šã€ + ä»–ã®éƒ¨åˆ†ã¯ã“ã® 2 é‡é€†å¼•ãã®çµæžœã‚’使ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“。 + 例ãˆã°ã€HostnameLookups On ã¨è¨­å®šã—ã¦ã‚る状態ã§ã€ + ホストåã«ã‚ˆã‚‹ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã‚’è¡Œãªã£ãŸã‚ªãƒ–ジェクトã¸ã® + リクエストをå—ã‘ãŸã¨ã™ã‚‹ã¨ã€2 é‡ã®é€†å¼•ããŒæˆåŠŸã™ã‚‹ã‹å¦ã‹ã«ã‚ˆã‚‰ãšã€ + REMOTE_HOST ã«ã¯é€šå¸¸ã®é€†å¼•ãçµæžœãŒæ¸¡ã•ã‚Œã¾ã™ã€‚

+ +

ディレクティブã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ + 本当ã«é€†å¼•ãã‚’å¿…è¦ã¨ã—ã¦ã„ã‚‹ã‚ã‘ã§ã¯ãªã„サイト㮠+ ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚’低減ã•ã›ã‚‹ãŸã‚ã«ã€Off ã«ãªã£ã¦ã„ã¾ã™ã€‚ + ルックアップã«ã‚ˆã‚‹ä½™è¨ˆãªé…延ãŒãªããªã‚‹ãŸã‚〠+ エンドユーザã«ã¨ã£ã¦ã‚‚良ã„ã§ã—ょã†ã€‚ + DNS ã®ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«ã¯ã€ã‹ãªã‚Šã®æ™‚é–“ãŒå¿…è¦ã¨ãªã‚‹å ´åˆãŒå¤šã〠+ è² è·ã®é«˜ã„サイトã§ã¯ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Off ã«ã™ã¹ãã§ã™ã€‚ + ãªãŠã€/support ディレクトリã«å«ã¾ã‚Œã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ + インストールディレクトリ㮠bin サブディレクトリ㫠+ インストールã•ã‚Œã‚‹ logresolve ユーティリティã«ã‚ˆã‚Šã€ + Apache ã®å‹•ä½œã¨ã¯åˆ¥ã«ã€ãƒ­ã‚°ã«æ®‹ã•ã‚Œã¦ã„ã‚‹ IP アドレスã‹ã‚‰ãƒ›ã‚¹ãƒˆåã‚’ + ルックアップã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚

+ +
+
top
+

HttpProtocolOptions ディレクティブ

+ + + + + + + + +
説明:Modify restrictions on HTTP Request Messages
構文:HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]
デフォルト:HttpProtocolOptions Strict LenientMethods Allow0.9
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:2.2.32 or 2.4.24 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

<If> ディレクティブ

+ + + + + + + +
説明:実行時ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¡ä»¶ã‚’満ãŸã—ãŸå ´åˆã«ã®ã¿é©ç”¨ã•ã‚Œã‚‹ +ディレクティブを包å«ã™ã‚‹
構文:<If expression> ... </If>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

<If> ディレクティブ㯠+ 実行時ã«å¼ã‚’評価ã—ã€æ¡ä»¶å¼ãŒçœŸã«ãªã‚‹ã¨ãã«ã®ã¿ + 内包ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’é©ç”¨ã—ã¾ã™ã€‚ + 例ãˆã°

+ +

+ <If "$req{Host} = ''"> +

+ +

上記例㯠Host: ヘッダã®å­˜åœ¨ã—ãªã„ HTTP/1.0 ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã« + マッãƒã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

<IfDefine> ディレクティブ

+ + + + + + + +
説明:起動時ã«ãƒ†ã‚¹ãƒˆãŒçœŸã§ã‚ã‚‹ã¨ãã®ã¿ã«å‡¦ç†ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ +囲む
構文:<IfDefine [!]parameter-name> ... + </IfDefine>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

<IfDefine test>...</IfDefine> + セクションã¯ã€ + ディレクティブをæ¡ä»¶ä»˜ãã§æŒ‡å®šã™ã‚‹ãŸã‚ã«åˆ©ç”¨ã—ã¾ã™ã€‚ + <IfDefine> セクション㫠+ å«ã¾ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€test㌠+ 定義ã•ã‚Œã¦ã„ã‚‹ã¨ãã®ã¿å‡¦ç†ã•ã‚Œã¾ã™ã€‚ + ã‚‚ã— test ãŒå®šç¾©ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€ + 開始ã¨çµ‚了ã®æŒ‡å®šã®é–“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚

+ +

<IfDefine> セクションディレクティブ㫠+ 指定ã™ã‚‹ test ã¯ã€ + 次ã®äºŒã¤ã®å½¢å¼ã®ã†ã¡ã®ä¸€ã¤ã‚’ã¨ã‚Šã¾ã™:

+ +
    +
  • parameter-name
  • + +
  • !parameter-name
  • +
+ +

å‰è€…ã®å ´åˆã«ã¯ã€parameter-name ã¨å付ã‘られãŸãƒ‘ラメータ㌠+ 定義ã•ã‚Œã¦ã„ã‚Œã°é–‹å§‹ã¨çµ‚了ã®é–“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒå‡¦ç†ã•ã‚Œã¾ã™ã€‚ + 後者ã®å ´åˆã¯é€†ã§ã€parameter-name ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ + å ´åˆã«å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

parameter-name 引数ã¯ã€ã‚µãƒ¼ãƒã‚’èµ·å‹•ã™ã‚‹éš›ã« + httpd ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã« + -Dparameter ã¨ã„ã†å½¢ã§æŒ‡å®šã™ã‚‹ã‹ + ã‚ã‚‹ã„㯠Define + ディレクティブã§æŒ‡å®šã•ã‚Œã‚‹ã¨å®šç¾©ã•ã‚Œã¾ã™ã€‚

+ +

<IfDefine> セクション㯠+ 入れå­ã«ã™ã‚‹ã“ã¨ãŒã§ãã€è¤‡æ•°ã®ãƒ‘ラメータã«ã‚ˆã‚‹ãƒ†ã‚¹ãƒˆã‚’ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãã¾ã™ã€‚ + 例:

+ +

+ httpd -DReverseProxy -DUseCache -DMemCache ...
+
+ # httpd.conf
+ <IfDefine ReverseProxy>
+ + LoadModule proxy_module modules/mod_proxy.so
+ LoadModule proxy_http_module modules/mod_proxy_http.so
+ <IfDefine UseCache>
+ + LoadModule cache_module modules/mod_cache.so
+ <IfDefine MemCache>
+ + LoadModule mem_cache_module modules/mod_mem_cache.so
+
+ </IfDefine>
+ <IfDefine !MemCache>
+ + LoadModule cache_disk_module modules/mod_cache_disk.so
+
+ </IfDefine> +
+ </IfDefine> +
+ </IfDefine> +

+ +
+
top
+

<IfDirective> ディレクティブ

+ + + + + + + + +
説明:Encloses directives that are processed conditional on the +presence or absence of a specific directive
構文:<IfDirective [!]directive-name> ... + </IfDirective>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
互æ›æ€§:Available in 2.4.34 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

<IfFile> ディレクティブ

+ + + + + + + + +
説明:Encloses directives that will be processed only +if file exists at startup
構文:<IfFile [!]filename> ... + </IfFile>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
互æ›æ€§:Available in 2.4.34 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

<IfModule> ディレクティブ

+ + + + + + + + +
説明:モジュールã®å­˜åœ¨ã™ã‚‹ã‹ã—ãªã„ã‹ã«å¿œã˜ã¦å‡¦ç†ã•ã‚Œã‚‹ +ディレクティブを囲む
構文:<IfModule [!]module-file|module-identifier> ... + </IfModule>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
互æ›æ€§:モジュール識別å­ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.1 以é™ã§ä½¿ç”¨å¯èƒ½ã€‚
+

<IfModule test>...</IfModule> + セクションã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå­˜åœ¨ã™ã‚‹ã¨ãã«å‡¦ç†ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + 指定ã™ã‚‹ãŸã‚ã«åˆ©ç”¨ã—ã¾ã™ã€‚ + <IfModule> セクション㫠+ å«ã¾ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€test + ã§æŒ‡å®šã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒçµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã¨ãã®ã¿å‡¦ç†ã•ã‚Œã¾ã™ã€‚ + ã‚‚ã— test ãŒçµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘ã‚Œã°ã€é–‹å§‹ã¨çµ‚了ã®é–“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ– + ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚

+ +

<IfModule> セクションディレクティブ㫠+ 指定ã™ã‚‹ test ã¯ã€ + 次ã®äºŒã¤ã®å½¢å¼ã®ã†ã¡ã®ä¸€ã¤ã‚’ã¨ã‚Šã¾ã™ã€‚

+ +
    +
  • module
  • + +
  • !module
  • +
+ +

å‰è€…ã®å ´åˆã¯ã€module ã¨å付ã‘られãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒ + Apache ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„れ㰠+ (コンパイル済ã¿ã®ã‚‚ã®ã¨ã€LoadModule を利用ã—㦠+ å‹•çš„ã«èª­ã¿è¾¼ã‚“ã ã‚‚ã®ã®ä¸¡æ–¹)〠+ 開始ã¨çµ‚了ã®é–“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒå‡¦ç†ã•ã‚Œã¾ã™ã€‚ + 後者ã®å ´åˆã¯é€†ã§ã€module ãŒçµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã„ + å ´åˆã«å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

module 引数ã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«è­˜åˆ¥å­ã‹ + コンパイルをã—ãŸæ™‚ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«åã§ã™ã€‚ + 例ãˆã°ã€rewrite_module ã¯è­˜åˆ¥å­ã§ + mod_rewrite.c ã¯ãƒ•ã‚¡ã‚¤ãƒ«åã§ã™ã€‚ + モジュールãŒè¤‡æ•°ã®ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€æ–‡å­—列 + STANDARD20_MODULE_STUFF ãŒã‚るファイルã®åå‰ã‚’ + 使ã£ã¦ãã ã•ã„。

+ +

<IfModule> セクション㯠+ 入れå­ã«ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã‚り〠+ 複数ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ†ã‚¹ãƒˆã‚’è¡Œãªã†ãŸã‚ã«ä½¿ç”¨ã§ãã¾ã™ã€‚

+ +
特定ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®å­˜åœ¨ã«é–¢ã‚らãšå‹•ä½œã™ã‚‹ + 設定ファイルã®åŽŸæœ¬ãŒå¿…è¦ãªã¨ãã«ã®ã¿ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’使用ã—ã¦ãã ã•ã„。 + 通常ã®å‹•ä½œã§ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + <IfModule> セクションã®ä¸­ã« + 入れる必è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ +
+
top
+

<IfSection> ディレクティブ

+ + + + + + + + +
説明:Encloses directives that are processed conditional on the +presence or absence of a specific section directive
構文:<IfSection [!]section-name> ... + </IfSection>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
互æ›æ€§:Available in 2.4.34 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

Include ディレクティブ

+ + + + + + + +
説明:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã‹ã‚‰ä»–ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’å–り込む
構文:Include file-path|directory-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
互æ›æ€§:ワイルドカードã«ã‚ˆã‚‹ãƒžãƒƒãƒã¯ 2.0.41 以é™ã§ä½¿ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã‚ˆã‚Šã€ã‚µãƒ¼ãƒã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ + ä»–ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’インクルードã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

複数ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’アルファベット順ã«ä¸€åº¦ã«èª­ã¿è¾¼ã‚€ãŸã‚ã«ã€ + ã‚·ã‚§ãƒ«å½¢å¼ (fnmatch) ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰æ–‡å­—を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã•ã‚‰ã«ã€Include ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã—ãŸå ´åˆã¯ã€ + ディレクトリã¨ãã®ã‚µãƒ–ディレクトリ内ã®å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + アルファベット順ã«èª­ã¿è¾¼ã‚“ã§ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦å‡¦ç†ã—ã¾ã™ã€‚ + ã—ã‹ã—ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå…¨ä½“を読ã¿è¾¼ã‚€ã®ã¯ãŠå‹§ã‚ã§ãã¾ã›ã‚“。 + ãµã¨ã—ãŸã“ã¨ã‹ã‚‰ httpd ãŒèª­ã¿è¾¼ã¿ã«å¤±æ•—ã™ã‚‹ã‚ˆã†ãª + 一時ファイルをディレクトリã«æ®‹ã—ã¦ã—ã¾ã†ã‚ˆã†ãªã“ã¨ãŒã‚ˆãã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚

+ +

指定ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‘スã¯çµ¶å¯¾ãƒ‘スã‹ã€ + ServerRoot ディレクトリã‹ã‚‰ã® + 相対パスã‹ã€ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚

+ +

例:

+ +

+ Include /usr/local/apache2/conf/ssl.conf
+ Include /usr/local/apache2/conf/vhosts/*.conf +

+ +

ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã®å ´åˆã¯:

+ +

+ Include conf/ssl.conf
+ Include conf/vhosts/*.conf +

+ +

å‚ç…§

+ +
+
top
+

IncludeOptional ディレクティブ

+ + + + + + + +
説明:Includes other configuration files from within +the server configuration files
構文:IncludeOptional file-path|directory-path|wildcard
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
互æ›æ€§:Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

KeepAlive ディレクティブ

+ + + + + + + +
説明:HTTP ã®æŒç¶šçš„ãªæŽ¥ç¶šã‚’有効ã«ã™ã‚‹
構文:KeepAlive On|Off
デフォルト:KeepAlive On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

HTTP/1.0 ã® Keep-Alive 拡張㨠HTTP/1.1 ã®æŒç¶šçš„接続ã®æ©Ÿèƒ½ã¯ã€ + 複数ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒåŒã˜ TCP ã®æŽ¥ç¶šã§é€ã‚‰ã‚Œã‚‹ã€é•·æ™‚é–“æŒç¶šã™ã‚‹ + HTTP セッションをæä¾›ã—ã¾ã™ã€‚ãŸãã•ã‚“ã®ç”»åƒãŒ + å«ã¾ã‚Œã‚‹ HTML ドキュメントã§ã¯å ´åˆã«ã‚ˆã£ã¦ã¯é…延時間㌠50% 短縮ã•ã‚Œã‚‹çµæžœã‚‚ + ã§ã¦ã„ã¾ã™ã€‚Keep-Alive 接続を有効ã«ã™ã‚‹ã«ã¯ + KeepAlive On ã¨è¨­å®šã—ã¾ã™ã€‚

+ +

HTTP/1.0 ã«å¯¾å¿œã—ãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®éš›ã«ã¯ã€ + クライアントより特ã«è¦æ±‚ãŒã‚ã£ãŸå ´åˆã®ã¿ Keep-Alive 接続ã¨ãªã‚Šã¾ã™ã€‚ + ã•ã‚‰ã«ã€HTTP/1.0 クライアントã§ã¯ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®å®¹é‡ãŒå…ˆã« + (訳注: è¦æ±‚ã«å¯¾ã—ã¦å¿œç­”ã‚’è¿”ã™å‰ã«) ã‚ã‹ã‚‹å ´åˆã®ã¿ Keep-Alive + 接続を利用ã§ãã¾ã™ã€‚ + ã“ã‚Œã¯ã€CGI ã®å‡ºåŠ›ã‚„ SSI ã®ãƒšãƒ¼ã‚¸ã€ + サーãƒãŒç”Ÿæˆã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒªã‚¹ãƒˆã®ã‚ˆã†ãªå‹•çš„コンテンツを + HTTP/1.0 クライアントã«é€ã‚‹å ´åˆã«ã¯ Keep-Alive 接続を使ãˆãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ + HTTP/1.1 ã«å¯¾å¿œã—ãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®éš›ã«ã¯ã€ + 特ã«æŒ‡å®šã•ã‚Œãªã„é™ã‚Šã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¨ã—ã¦æŒç¶šçš„ãªæŽ¥ç¶šãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚ + クライアントãŒè¦æ±‚ã™ã‚Œã°ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®å®¹é‡ã‚’判別ã§ããªã„ã‚‚ã®ã‚’ + æŒç¶šçš„ãªæŽ¥ç¶šã‚’通ã—ã¦é€ã‚‹ãŸã‚ã«ã€ãƒãƒ£ãƒ³ã‚¯ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒç”¨ã„られã¾ã™ã€‚

+ +

クライアント㌠Keep-Alive コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’使用ã—ã¦ã„ã‚‹å ´åˆã€ + ãã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’通ã—ã¦ã©ã‚Œã ã‘ãŸãã•ã‚“ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒå‡¦ç†ã•ã‚Œã¦ã‚‚〠+ ãã‚Œã¯ã€Œãƒªã‚¯ã‚¨ã‚¹ãƒˆã€1 ã¤ã¨ã—ã¦ã€MaxRequestsPerChild ディレクティブã§ã¯ + æ•°ãˆã‚‰ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

KeepAliveTimeout ディレクティブ

+ + + + + + + +
説明:æŒç¶šçš„ãªæŽ¥ç¶šã§æ¬¡ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¥ã‚‹ã¾ã§ã‚µãƒ¼ãƒãŒå¾…ã¤æ™‚é–“
構文:KeepAliveTimeout seconds
デフォルト:KeepAliveTimeout 5
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

接続を閉ã˜ã‚‹å‰ã«ã€Apache ãŒæ¬¡ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’何秒待ã¤ã‹ã‚’指定ã—ã¾ã™ã€‚ + リクエストをå—ã‘付ã‘ãŸå¾Œã¯ã€Timeout ディレクティブã«ã‚ˆã£ã¦ + 指定ã•ã‚ŒãŸã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ãŒä½¿ã‚ã‚Œã¾ã™ã€‚

+ +

KeepAliveTimeout を大ããªå€¤ã«è¨­å®šã™ã‚‹ã¨ã€ + è² è·ã®é«˜ã„サーãƒã«ãŠã„ã¦ã¯ãƒ‘フォーマンスã®å•é¡Œã‚’引ãèµ·ã“ã™å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ + タイムアウトãŒé•·ã‘ã‚Œã°é•·ã„ã»ã©ã€ã‚ˆã‚Šå¤šãã®ã‚µãƒ¼ãƒãƒ—ロセス㌠+ 活性ã§ãªã„クライアントã‹ã‚‰ã®æŽ¥ç¶šã®çµ‚了を待ã¡ç¶šã‘ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã¯ã€ + NameVirtualHost + ã®ã‚»ãƒƒãƒˆã®ä¸­ã§æœ€åˆã«å®šç¾©ã•ã‚ŒãŸãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®å€¤ + (デフォルトホスト) ãŒä½¿ã‚ã‚Œã¾ã™ã€‚ + ãã®ä»–ã®å€¤ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

<Limit> ディレクティブ

+ + + + + + + +
説明:囲ã„ã®ä¸­ã«ã‚るアクセス制御ã®é©ç”¨ã‚’特定㮠HTTP メソッドã®ã¿ã« +制é™ã™ã‚‹
構文:<Limit method [method] ... > ... + </Limit>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

アクセス制御ã¯ã€é€šå¸¸å…¨ã¦ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã«å¯¾ã—㦠+ 影響ã—ã€æ™®é€šã¯ã“ã‚ŒãŒæœ›ã¾ã—ã„挙動ã§ã™ã€‚ + ãã†ã—ãŸã“ã¨ã‹ã‚‰ã€å¤§éƒ¨åˆ†ã®å ´åˆã«ã¯ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã«é–¢ã‚るディレクティブを + <Limit> セクション内㫠+ 書ãã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

<Limit> ディレクティブ㮠+ 目的ã¯ã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã®ç¯„囲を + 指定ã•ã‚ŒãŸ HTTP メソッドã«é™å®šã™ã‚‹ãŸã‚ã§ã™ã€‚ + ãれ以外ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€<Limit> ã§å›²ã‚ã‚ŒãŸã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã® + 影響をå—ã‘ã¾ã›ã‚“。 + 以下ã®ä¾‹ã¯ã€POST, PUT, DELETE ã®ãƒ¡ã‚½ãƒƒãƒ‰ã«å¯¾ã—ã¦ã®ã¿ã‚¢ã‚¯ã‚»ã‚¹ã®åˆ¶å¾¡ã‚’è¡Œãªã„〠+ ãれ以外ã®ãƒ¡ã‚½ãƒƒãƒ‰ã«ã¤ã„ã¦ã¯åˆ¶é™ã—ã¾ã›ã‚“:

+ +

+ <Limit POST PUT DELETE>
+ + Require valid-user
+
+ </Limit> +

+ +

メソッドåã«ã¯ä»¥ä¸‹ã®ä¸­ã‹ã‚‰ä¸€ã¤ä»¥ä¸Šã‚’列挙ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™: + GET, + POST, PUT, DELETE, + CONNECT, OPTIONS, + PATCH, PROPFIND, PROPPATCH, + MKCOL, COPY, MOVE, + LOCK, UNLOCK. メソッドå㯠+ 大文字å°æ–‡å­—を区別ã—ã¾ã™ã€‚ GET を指定ã—ãŸå ´åˆã«ã¯ + HEAD リクエストã«ã‚‚制é™ãŒã‹ã‹ã‚Šã¾ã™ã€‚TRACE + メソッドã«åˆ¶é™ã‚’ã‹ã‘ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ + (<TraceEnable> å‚ç…§)。

+ +
アクセス制御ãŒç›®çš„ã®å ´åˆã¯ + <Limit> + セクションã®ä»£ã‚ã‚Šã« <LimitExcept> セクションを使用ã—ãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚ + <LimitExcept> + セクションã§ã¯ä¸ç‰¹å®šã®ãƒ¡ã‚½ãƒƒãƒ‰ã«å¯¾ã—ã¦ã‚‚防御ã§ãã‚‹ã‹ã‚‰ã§ã™ã€‚
+ + +
+
top
+

<LimitExcept> ディレクティブ

+ + + + + + + +
説明:指定ã•ã‚ŒãŸã‚‚ã®ä»¥å¤–ã® HTTP メソッドã«ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã‚’ +制é™ã™ã‚‹
構文:<LimitExcept method [method] ... > ... + </LimitExcept>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

<LimitExcept> 㨠+ </LimitExcept> ã¯ã€å¼•æ•°ã« + å«ã¾ã‚Œã¦ã„ãªã„ + HTTP ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã«é©ç”¨ã™ã‚‹ãŸã‚ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ + ディレクティブを括るãŸã‚ã«åˆ©ç”¨ã—ã¾ã™ã€‚ + ã¤ã¾ã‚Šã€<Limit> セクションã®å対ã®å‹•ä½œã‚’ã—〠+ 標準ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¨æ¨™æº–外や未èªè­˜ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å ´åˆã®ä¸¡æ–¹ã‚’設定ã§ãã¾ã™ã€‚ + <Limit> ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚‚ + ä½µã›ã¦å‚ç…§ã—ã¦ãã ã•ã„。

+ +

例:

+ +

+ <LimitExcept POST GET>
+ + Require valid-user
+
+ </LimitExcept> +

+ + +
+
top
+

LimitInternalRecursion ディレクティブ

+ + + + + + + + +
説明:内部リダイレクトã¨å…¥ã‚Œå­ã«ãªã£ãŸã‚µãƒ–リクエストã®æœ€å¤§æ•°ã‚’決定ã™ã‚‹
構文:LimitInternalRecursion number [number]
デフォルト:LimitInternalRecursion 10
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:Apache 2.0.47 以é™ã§ä½¿ç”¨å¯èƒ½
+

内部リダイレクトã¯ä¾‹ãˆã° Action ディレクティブを + 使ã£ã¦ã„ã‚‹ã¨ãã«èµ·ã“ã‚Šã¾ã™ã€‚Action ディレクティブ㯠+ 元々ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ CGI スクリプトã«å†…部リダイレクトを行ãªã„ã¾ã™ã€‚ + サブリクエストã¯ã„ãã¤ã‹ã® URI ã«å¯¾ã—ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸã¨ãã« + 何ãŒèµ·ã“ã‚‹ã‹ã‚’調ã¹ã‚‹ãŸã‚ã® Apache ã®æ©Ÿæ§‹ã§ã™ã€‚例ãˆã°ã€mod_dir + 㯠DirectoryIndex ディレクティブ + ãŒãƒªã‚¹ãƒˆã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’調ã¹ã‚‹ãŸã‚ã«ã‚µãƒ–リクエストを使ã„ã¾ã™ã€‚

+ +

LimitInternalRecursion ã¯å†…部リダイレクトや + サブリクエストãŒç„¡é™ãƒ«ãƒ¼ãƒ—ã«é™¥ã£ãŸã¨ãã®ã‚µãƒ¼ãƒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã‚’防ãŽã¾ã™ã€‚ + 普通ã€ãã®ã‚ˆã†ãªãƒ«ãƒ¼ãƒ—ã¯è¨­å®šã«å¤±æ•—ã—ãŸã¨ãã«ç™ºç”Ÿã—ã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆæ¯Žã«è©•ä¾¡ã•ã‚Œã‚‹ã€äºŒã¤ã®é•ã†é™ç•Œå€¤ã‚’ + 設定ã—ã¾ã™ã€‚最åˆã® number ã¯ã€èµ·ã“ã‚Šå¾—ã‚‹ + 内部リクエストã®æœ€å¤§å€¤ã‚’設定ã—ã¾ã™ã€‚二ã¤ã‚ã® number 㯠+ サブリクエストãŒå…¥ã‚Œå­ã«ã§ãã‚‹æ·±ã•ã‚’設定ã—ã¾ã™ã€‚number ã‚’ + 一ã¤ã ã‘指定ã—ãŸã¨ãã¯ã€ä¸¡æ–¹ã®é™ç•Œå€¤ã«ãã®å€¤ãŒè¨­å®šã•ã‚Œã¾ã™ã€‚

+ +

例

+ LimitInternalRecursion 5 +

+ +
+
top
+

LimitRequestBody ディレクティブ

+ + + + + + + + +
説明:クライアントã‹ã‚‰é€ã‚‰ã‚Œã‚‹ HTTP リクエストã®ãƒœãƒ‡ã‚£ã® +ç·é‡ã‚’制é™ã™ã‚‹
構文:LimitRequestBody bytes
デフォルト:LimitRequestBody 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ã«è¨±ã•ã‚Œã‚‹ãƒã‚¤ãƒˆæ•°ã€bytes + ã‚’ 0 (無制é™ã‚’æ„味ã—ã¾ã™) ã‹ã‚‰ 2147483647 (2GB) ã¾ã§ã®æ•°å€¤ã§æŒ‡å®šã—ã¾ã™ã€‚

+ +

LimitRequestBody ディレクティブã¯ã€ + ディレクティブãŒæ›¸ã‹ã‚ŒãŸã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ + (サーãƒå…¨ä½“ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã€ãƒ•ã‚¡ã‚¤ãƒ«ã€ãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³) 内㧠+ 許容ã™ã‚‹ HTTP リクエストメッセージボディã®ã‚µã‚¤ã‚ºã«åˆ¶é™ã‚’ã‹ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒãã®åˆ¶é™å€¤ã‚’越ãˆã¦ã„ã‚Œã°ã€ + サーãƒã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã›ãšã«ã‚¨ãƒ©ãƒ¼ã‚’è¿”ã—ã¾ã™ã€‚ + 普通ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒœãƒ‡ã‚£ã®ã‚µã‚¤ã‚ºã¯ã€ãƒªã‚½ãƒ¼ã‚¹ã®ç¨®é¡žã‚„ + 許å¯ã•ã‚Œã¦ã„るメソッドã«ã‚ˆã£ã¦å¤§ãã変ã‚ã‚Šã¾ã™ã€‚ + CGI スクリプトã¯ã€ã‚ˆã情報をå—ä¿¡ã™ã‚‹ãŸã‚ã« + メッセージボディを使ã„ã¾ã™ã€‚ + PUT メソッドã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®å€¤ã¨ã—㦠+ å°‘ãªãã¨ã‚‚ã‚るリソースã«å¯¾ã—ã¦ã‚µãƒ¼ãƒãŒå—ã‘付ã‘よã†ã¨ã™ã‚‹ + 表ç¾ã®å¤§ãã•ã»ã©ã®å€¤ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ + 管ç†è€…ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ç•°å¸¸ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’制御ã§ãるよã†ã«ã—〠+ 何らã‹ã®å½¢ã®ã‚µãƒ¼ãƒ“ス拒å¦æ”»æ’ƒ (訳注:DoS) ã‚’é¿ã‘ã‚‹ã®ã«æœ‰åŠ¹ã§ã™ã€‚

+ +

ã‚る場所ã¸ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚¢ãƒƒãƒ—ロードを許å¯ã™ã‚‹å ´åˆã«ã€ + アップロードã§ãるファイルã®ã‚µã‚¤ã‚ºã‚’ 100K ã«åˆ¶é™ã—ãŸã‘ã‚Œã°ã€ + 以下ã®ã‚ˆã†ã«æŒ‡å®šã—ã¾ã™:

+ +

+ LimitRequestBody 102400 +

+ + +
+
top
+

LimitRequestFields ディレクティブ

+ + + + + + + +
説明:クライアントã‹ã‚‰ã® HTTP リクエストã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ•°ã‚’ +制é™ã™ã‚‹
構文:LimitRequestFields number
デフォルト:LimitRequestFields 100
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

number ã«ã¯ã€0 (無制é™ã‚’æ„味ã—ã¾ã™) ã‹ã‚‰ 32767 + ã¾ã§ã®æ•´æ•°ã‚’指定ã—ã¾ã™ã€‚ + デフォルト値ã¯ã€å®šæ•° DEFAULT_LIMIT_REQUEST_FIELDS + ã«ã‚ˆã‚Šã‚³ãƒ³ãƒ‘イル時ã«å®šç¾©ã•ã‚Œã¾ã™ (é…布時ã«ã¯ 100 ã¨æŒ‡å®šã•ã‚Œã¦ã„ã¾ã™)。

+ +

LimitRequestBody ディレクティブã¯ã€ + サーãƒç®¡ç†è€…㌠HTTP リクエスト中ã«ãŠã„ã¦è¨±å¯ã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰æ•°ã‚’ + 指定ã—ã¾ã™ã€‚ + サーãƒã¯ã“ã®å€¤ã«ã¯é€šå¸¸ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å«ã¾ã‚Œã‚‹ã§ã‚ã‚ㆠ+ フィールドã®æ•°ã‚ˆã‚Šå¤§ããªå€¤ãŒå¿…è¦ã¨ã—ã¾ã™ã€‚ + クライアントã«ã‚ˆã‚Šä½¿ã‚ã‚ŒãŸè¦æ±‚ヘッダーフィールドã®æ•°ãŒ + 20 を超ãˆã‚‹ã“ã¨ã¯ã»ã¨ã‚“ã©ã‚ã‚Šã¾ã›ã‚“ãŒã€ + ã“ã‚Œã¯ç¨®ã€…ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®å®Ÿè£…ã«ã‚ˆã£ã¦å¤‰ã‚り〠+ 詳細ãªã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ã™ã‚‹ãŸã‚ã®ãƒ–ラウザã®è¨­å®šã¾ã§ã«ã‚‚ + 影響ã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ + オプション㮠HTTP æ‹¡å¼µã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’使ã£ã¦è¡¨ã•ã‚Œã‚‹å ´åˆãŒ + 多ãã‚ã‚Šã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ + 管ç†è€…ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ç•°å¸¸ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’制御ã§ãるよã†ã«ã—〠+ 何らã‹ã®å½¢ã®ã‚µãƒ¼ãƒ“ス拒å¦æ”»æ’ƒ (訳注:DoS) ã‚’é¿ã‘ã‚‹ã®ã«æœ‰åŠ¹ã§ã™ã€‚ + リクエストã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ãŒå¤šéŽãŽã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ã‚¨ãƒ©ãƒ¼å¿œç­”㌠+ 普通ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã•ã‚Œã‚‹ã‚ˆã†ãªæ™‚ã¯ã“ã®å€¤ã‚’増やã—ã¦ãã ã•ã„。

+ +

例:

+ +

+ LimitRequestFields 50 +

+ + +
+
top
+

LimitRequestFieldSize ディレクティブ

+ + + + + + + +
説明:クライアントã‹ã‚‰ã® HTTP リクエストã®ãƒ˜ãƒƒãƒ€ã® +サイズを制é™ã™ã‚‹
構文:LimitRequestFieldSize bytes
デフォルト:LimitRequestFieldSize 8190
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€HTTP リクエストヘッダ一ã¤ã§å—付ã‘ã‚‹ + ãƒã‚¤ãƒˆæ•° bytes を指定ã—ã¾ã™ã€‚

+ +

LimitRequestFieldSize ディレクティブã¯ã€ + HTTP リクエストヘッダã§è¨±å®¹ã•ã‚Œã‚‹ã‚µã‚¤ã‚ºã‚’増減ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + サーãƒã¯ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®å€¤ã¨ã—ã¦ã€ + 一般的ãªã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒé€ã‚‰ã‚ŒãŸéš›ã«ã€ãã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã« + 付属ã—ã¦ã„ã‚‹ã©ã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ã¤ã„ã¦ã‚‚〠+ å分足りる大ãã•ã«ãªã£ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + 一般的ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã®ã‚µã‚¤ã‚ºã¨ã„ã£ã¦ã‚‚ã€ãã®å¤§ãã•ã¯å€‹ã€…ã® + クライアントã®å®Ÿè£…ã«ã‚ˆã£ã¦å¤§ããç•°ãªã‚Šã€ + 詳細ãªã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã‹ã©ã†ã‹ã®ã€ + ブラウザã®è¨­å®šã«ã‚‚影響ã•ã‚ŒãŸã‚Šã—ã¾ã™ã€‚ + SPNEGO èªè¨¼ãƒ˜ãƒƒãƒ€ã§ã¯ 12392 ãƒã‚¤ãƒˆã«ã¾ã§åŠã¶ã“ã¨ã™ã‚‰ã‚ã‚Šã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ + 管ç†è€…ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ç•°å¸¸ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’制御ã§ãるよã†ã«ã—〠+ 何らã‹ã®å½¢ã®ã‚µãƒ¼ãƒ“ス拒å¦æ”»æ’ƒ (訳注:DoS) ã‚’é¿ã‘ã‚‹ã®ã«æœ‰åŠ¹ã§ã™ã€‚

+ +

例:

+ +

+ LimitRequestFieldSize 4094 +

+ +
通常ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‹ã‚‰å¤‰æ›´ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ + +
+
top
+

LimitRequestLine ディレクティブ

+ + + + + + + +
説明:クライアントã‹ã‚‰ã® HTTP リクエスト行ã®ã‚µã‚¤ã‚ºã‚’制é™ã™ã‚‹
構文:LimitRequestLine bytes
デフォルト:LimitRequestLine 8190
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€HTTP リクエスト行内ã§è¨±å®¹ã•ã‚Œã‚‹ãƒã‚¤ãƒˆæ•° + bytes を指定ã—ã¾ã™ã€‚

+ +

LimitRequestLine ディレクティブã«ã‚ˆã‚Šã€ + クライアントã‹ã‚‰ã® HTTP リクエスト行ã®è¨±å®¹ã‚µã‚¤ã‚ºã‚’増減ã§ãã¾ã™ã€‚ + リクエスト行ã¯ã€HTTPメソッドã€URIã€ãƒ—ロトコルãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‹ã‚‰æˆã£ã¦ãŠã‚Šã€ + LimitRequestLine ã¯ã‚µãƒ¼ãƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—㦠+ 許容ã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆ URI ã®é•·ã•ã‚’制é™ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + サーãƒã¯ã€GET リクエストã®ã‚¯ã‚¨ãƒªéƒ¨åˆ†ã‚‚å«ã‚ã¦ã€ãƒªã‚½ãƒ¼ã‚¹ã®åå‰ãŒå…¥ã‚‹ã«è¶³ã‚‹ + 大ãã•ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ + 管ç†è€…ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ç•°å¸¸ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’制御ã§ãるよã†ã«ã—〠+ 何らã‹ã®å½¢ã®ã‚µãƒ¼ãƒ“ス拒å¦æ”»æ’ƒ (訳注:DoS) ã‚’é¿ã‘ã‚‹ã®ã«æœ‰åŠ¹ã§ã™ã€‚

+ +

例:

+ +

+ LimitRequestLine 4094 +

+ +
通常ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‹ã‚‰å¤‰æ›´ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ +
+
top
+

LimitXMLRequestBody ディレクティブ

+ + + + + + + + +
説明:XML å½¢å¼ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒœãƒ‡ã‚£ã®ã‚µã‚¤ã‚ºã‚’制é™ã™ã‚‹
構文:LimitXMLRequestBody bytes
デフォルト:LimitXMLRequestBody 1000000
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

XML å½¢å¼ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒœãƒ‡ã‚£ã®æœ€å¤§å€¤ã‚’ (ãƒã‚¤ãƒˆå˜ä½ã§) 制é™ã—ã¾ã™ã€‚ + 値㫠0 を指定ã™ã‚‹ã¨ãƒã‚§ãƒƒã‚¯ã‚’無効ã«ã—ã¾ã™ã€‚

+ +

例:

+ +

+ LimitXMLRequestBody 0 +

+ + +
+
top
+

<Location> ディレクティブ

+ + + + + + +
説明:囲んã ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をマッãƒã™ã‚‹ URL ã®ã¿ã«é©ç”¨
構文:<Location + URL-path|URL> ... </Location>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

<Location> ディレクティブã¯ã€ + URL ã«ã‚ˆã‚Šä¸­ã«æ›¸ã‹ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®é©ç”¨ç¯„囲を制é™ã—ã¾ã™ã€‚ + <Directory> + ディレクティブã¨ä¼¼ã¦ã„ã¦ã€ + </Location> ディレクティブã§çµ‚了ã™ã‚‹ + サブセクションを開始ã—ã¾ã™ã€‚ + <Location> セクションã¯ã€ + <Directory> セクション㨠+ .htaccess ã®èª­ã¿è¾¼ã¿ã®å¾Œã€ + <Files> セクションを + é©ç”¨ã—ãŸå¾Œã«ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«ç¾ã‚ŒãŸé †ã«å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

<Location> セクション㯠+ 完全ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã¨é–¢é€£ã›ãšã«å‹•ä½œã—ã¾ã™ã€‚ã“ã®ã“ã¨ã‹ã‚‰å°Žã‹ã‚Œã‚‹ + çµæžœã«ã¯ã„ãã¤ã‹æ³¨æ„ã™ã‚‹ç‚¹ãŒã‚ã‚Šã¾ã™ã€‚最もé‡è¦ãªã‚‚ã®ã¯ã€ + ファイルシステムã®ä½ç½®ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã« <Location> ディレクティブを使ã†ã¹ãã§ã¯ãªã„ + ã¨ã„ã†ã“ã¨ã§ã™ã€‚複数㮠URL ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®åŒã˜ä½ç½®ã«ãƒžãƒƒãƒ—ã•ã‚Œã‚‹ + å¯èƒ½ãŒã‚ã‚Šã¾ã™ã®ã§ã€ãã®ã‚ˆã†ãªã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã¯å›žé¿ã•ã‚Œã¦ã—ã¾ã†å¯èƒ½æ€§ãŒ + ã‚ã‚Šã¾ã™ã€‚

+ +

ã„㤠<Location> を使ã†ã‹

+ +

<Location> ディレクティブ㯠+ ファイルシステム外ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’é©ç”¨ã™ã‚‹ã¨ãã« + 使用ã—ã¦ãã ã•ã„。ファイルシステムã«å­˜åœ¨ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«å¯¾ã—ã¦ã¯ã€ + <Directory> 㨠<Files> を使ã£ã¦ãã ã•ã„。 + 例外ã¯ã€<Location /> ã§ã€ã“ã‚Œã¯ã‚µãƒ¼ãƒå…¨ä½“ã«å¯¾ã—㦠+ 設定をé©ç”¨ã™ã‚‹ç°¡å˜ãªæ–¹æ³•ã§ã™ã€‚

+
+ +

å…¨ã¦ã® (プロキシ以外ã®) リクエストã«å¯¾ã—〠+ URL 㯠/path/ ã¨ã„ã†ã€ + 接頭辞 http://servername ã‚’å«ã¾ãªã„å½¢ã§ãƒžãƒƒãƒã—ã¾ã™ã€‚ + プロキシリクエストã®å ´åˆã«ã¯ã€scheme://servername/path + ã¨ã„ã†æŽ¥é ­è¾žã‚’å«ã‚€å½¢ã§ãƒžãƒƒãƒã—ã€æŽ¥é ­è¾žã‚’å«ã‚ã¦æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

URL ã«ã¯ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚’利用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ? ã¯ä»»æ„ã®ä¸€æ–‡å­—ã€* ã¯ä»»æ„ã®æ–‡å­—列ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + ã©ã¡ã‚‰ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚‚ URL パス中㮠/ ã«ã¯ãƒžãƒƒãƒã—ã¾ã›ã‚“。

+ +

~ ã¨ã„ã†æ–‡å­—を追加ã™ã‚‹ã“ã¨ã§ã€æ­£è¦è¡¨ç¾ã‚’ + 利用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + 例ãˆã°:

+ +

+ <Location ~ "/(extra|special)/data"> +

+ +

㯠URL ã« /extra/data ã‹ /special/data ã¨ã„ã†æ–‡å­—列㌠+ å«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + <LocationMatch> ディレクティブ㯠+ <Location> ã®æ­£è¦è¡¨ç¾ + 版ã¨ã¾ã£ãŸãåŒã˜å‹•ä½œã‚’ã—ã¾ã™ã€‚

+ +

<Location> 機能ã¯ã€SetHandler ディレクティブ㨠+ 組åˆã‚ã›ã¦åˆ©ç”¨ã™ã‚‹ã¨ç‰¹ã«ä¾¿åˆ©ã§ã™ã€‚ + 例ãˆã°ã€example.com ã®ãƒ–ラウザã‹ã‚‰ã®ã¿ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã®å‚照を有効ã«ã—ãŸã‘ã‚Œã°ã€ + 次ã®ã‚ˆã†ã«ã™ã‚Œã°è‰¯ã„ã§ã—ょã†ã€‚

+ +

+ <Location /status>
+ + SetHandler server-status
+ Order Deny,Allow
+ Deny from all
+ Allow from .example.com
+
+ </Location> +

+ +

/ (スラッシュ) ã«é–¢ã™ã‚‹æ³¨

+

スラッシュ文字ã¯ã€URL 内ã«ç¾ã‚Œã‚‹å ´æ‰€ã«å¿œã˜ã¦å¤‰åŒ–ã™ã‚‹ + 特別ãªæ„味をæŒã£ã¦ã„ã¾ã™ã€‚ + ファイルシステムã«ãŠã„ã¦åˆ©ç”¨ã™ã‚‹å ´åˆã«ã¯è¤‡æ•°ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§ã‚‚一ã¤ã® + スラッシュã¨ã—ã¦æ‰±ã‚れるã“ã¨ãŒå¤šã„ã§ã™ãŒã€ + (ã™ãªã‚ã¡ã€/home///foo 㯠+ /home/foo ã¨åŒã˜ã¨ã„ã£ãŸã‚ˆã†ã«) + URL ã«ãŠã„ã¦ã¯å¿…ãšã—ã‚‚ãã†ãªã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + <LocationMatch> + ディレクティブや正è¦è¡¨ç¾ã‚’利用ã—㟠+ <Location> ディレクティブã§ã€ + 複数ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ãƒžãƒƒãƒã•ã›ãŸã„ã¨ãã«ã¯ã€æ˜Žç¤ºçš„ã«è¨˜è¿°ã™ã‚‹ + å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

例ãˆã°ã€<LocationMatch ^/abc> ã¯ã€ + /abc ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆ URL ã«ãƒžãƒƒãƒã—ã¾ã™ãŒã€ + //abc ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆ URL ã«ã¯ãƒžãƒƒãƒã—ã¾ã›ã‚“。 + (æ­£è¦è¡¨ç¾ã§ãªã„) <Location> + ディレクティブã¯ã€ + proxy リクエストã«å¯¾ã—ã¦åˆ©ç”¨ã™ã‚‹éš›ã«ã¯åŒæ§˜ã®æŒ¯ã‚‹èˆžã„ã‚’ã—ã¾ã™ãŒã€ + (æ­£è¦è¡¨ç¾ã§ãªã„) <Location> ã‚’ proxy + ã§ãªã„リクエストã«å¯¾ã—ã¦åˆ©ç”¨ã™ã‚‹éš›ã«ã¯ã€ + 一ã¤ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§è¤‡æ•°ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ + 例ãˆã°ã€<Location /abc/def> ã¨æŒ‡å®šã—〠+ /abc//def ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒã‚ã‚Œã°ã€ + マッãƒã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ + +

å‚ç…§

+ +
+
top
+

<LocationMatch> ディレクティブ

+ + + + + + +
説明:囲んã ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’æ­£è¦è¡¨ç¾ã«ãƒžãƒƒãƒã™ã‚‹ URL ã®ã¿ã« +é©ç”¨
構文:<LocationMatch + regex> ... </LocationMatch>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

<LocationMatch> ディレクティブã¯ã€ + <Location> ã¨åŒã˜æ§˜ã« + URL ã«ã‚ˆã‚Šä¸­ã«æ›¸ã‹ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®é©ç”¨ç¯„囲を制é™ã—ã¾ã™ã€‚ + 但ã—ã€å¼•æ•°ã¯æ™®é€šã®æ–‡å­—列ã§ã¯ãªãã€æ­£è¦è¡¨ç¾ã¨ãªã‚Šã¾ã™ã€‚ + 例ãˆã°ã€

+ +

+ <LocationMatch "/(extra|special)/data"> +

+ +

㯠URL ã« /extra/data ã‹ /special/data + ã¨ã„ã†æ–‡å­—列ãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã«ãƒžãƒƒãƒã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

LogLevel ディレクティブ

+ + + + + + + +
説明:ErrorLog ã®å†—長性を制御ã™ã‚‹
構文:LogLevel level
デフォルト:LogLevel warn
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

LogLevel ã¯ã€ã‚¨ãƒ©ãƒ¼ãƒ­ã‚° (ErrorLog ディレクティブを + 見ã¦ãã ã•ã„) ã¸è¨˜éŒ²ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å†—長性を調整ã—ã¾ã™ã€‚ + 以下㮠level を指定ã§ãã€é †ã«é‡è¦åº¦ãŒä¸‹ãŒã£ã¦ã„ãã¾ã™ã€‚

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
レベル 説明 例
emerg 緊急 - システムãŒåˆ©ç”¨ã§ããªã„Child cannot open lock file. Exiting + (å­ãƒ—ロセスãŒãƒ­ãƒƒã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã‘ãªã„ãŸã‚終了ã—ãŸ)
alert ç›´ã¡ã«å¯¾å‡¦ãŒå¿…è¦getpwuid: couldn't determine user name from uid + (getpwuid: UID ã‹ã‚‰ãƒ¦ãƒ¼ã‚¶åを特定ã§ããªã‹ã£ãŸ)
crit 致命的ãªçŠ¶æ…‹socket: Failed to get a socket, exiting child + (socket: ソケットãŒå¾—られãªã„ãŸã‚ã€å­ãƒ—ロセスを終了ã•ã›ãŸ)
error エラーPremature end of script headers + (スクリプトã®ãƒ˜ãƒƒãƒ€ãŒè¶³ã‚Šãªã„ã¾ã¾ã§çµ‚ã‚ã£ãŸ)
warn 警告child process 1234 did not exit, sending another SIGHUP + (å­ãƒ—ロセス 1234 ãŒçµ‚了ã—ãªã‹ã£ãŸã€‚ã‚‚ã†ä¸€åº¦ SIGHUP ã‚’é€ã‚‹)
notice 普通ã ãŒã€é‡è¦ãªæƒ…å ±httpd: caught SIGBUS, attempting to dump core in ... + (httpd: SIGBUS シグナルをå—ã‘ã€... ã¸ã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã‚’ã—ãŸ)
info 追加情報"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..." (「サーãƒã¯è² è·ãŒé«˜ã„〠+ (StartServers ã‚„ Min/MaxSpareServers ã®å€¤ã‚’増やã™å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚)ã€)
debug デãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"Opening config file ..." (設定ファイルを開ã„ã¦ã„ã‚‹...)
+ +

特定ã®ãƒ¬ãƒ™ãƒ«ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€ãれより高ã„レベルã®å…¨ã¦ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒ + 報告ã•ã‚Œã¾ã™ã€‚ + 例ãˆã°ã€LogLevel info ã«æŒ‡å®šã™ã‚‹ã¨ã€ + notice 㨠warn も報告ã•ã‚Œã¾ã™ã€‚

+ +

ãªãŠ crit 以上ã®ãƒ¬ãƒ™ãƒ«ã‚’指定ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¾ã™ã€‚

+ +

例:

+ +

+ LogLevel notice +

+ +

注

+

ファイルã«ãƒ­ã‚°ã‚’出力ã™ã‚‹å ´åˆã€notice + レベルã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯æŠ‘制ã•ã‚Œãšã€ã™ã¹ã¦ãƒ­ã‚°ã«å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ + ã—ã‹ã— syslog を使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€ + ã“ã‚Œã¯å½“ã¦ã¯ã¾ã‚Šã¾ã›ã‚“。

+
+ +
+
top
+

MaxKeepAliveRequests ディレクティブ

+ + + + + + + +
説明:æŒç¶šçš„ãªæŽ¥ç¶šä¸Šã§è¨±å¯ã•ã‚Œã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°
構文:MaxKeepAliveRequests number
デフォルト:MaxKeepAliveRequests 100
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

MaxKeepAliveRequests ディレクティブã¯ã€ + KeepAlive ãŒæœ‰åŠ¹ãªå ´åˆã«ã€ + 一回ã®æŽ¥ç¶šã§å—ã‘付ã‘å¯èƒ½ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°ã‚’制é™ã—ã¾ã™ã€‚ + 0 ã«è¨­å®šã—ã¦ã„ã‚Œã°ã€å—ã‘付ã‘るリクエストã¯ç„¡åˆ¶é™ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®è¨­å®šã¯ã€ã‚µãƒ¼ãƒæ€§èƒ½ã‚’å‘上ã•ã›ã‚‹ãŸã‚ã«ã€å¤§ããªæ•°å€¤ã‚’指定ã™ã‚‹ã“ã¨ã‚’勧ã‚ã¾ã™ã€‚ +

+ +

例:

+ +

+ MaxKeepAliveRequests 500 +

+ +
+
top
+

MaxRangeOverlaps ディレクティブ

+ + + + + + + + +
説明:Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
構文:MaxRangeOverlaps default | unlimited | none | number-of-ranges
デフォルト:MaxRangeOverlaps 20
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache HTTP Server 2.3.15 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

MaxRangeReversals ディレクティブ

+ + + + + + + + +
説明:Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
構文:MaxRangeReversals default | unlimited | none | number-of-ranges
デフォルト:MaxRangeReversals 20
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache HTTP Server 2.3.15 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

MaxRanges ディレクティブ

+ + + + + + + + +
説明:Number of ranges allowed before returning the complete +resource
構文:MaxRanges default | unlimited | none | number-of-ranges
デフォルト:MaxRanges 200
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache HTTP Server 2.3.15 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

MergeSlashes ディレクティブ

+ + + + + + + + +
説明:Controls whether the server merges consecutive slashes in URLs. +
構文:MergeSlashes ON|OFF
デフォルト:MergeSlashes ON
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:Added in 2.4.39

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

MergeTrailers ディレクティブ

+ + + + + + + + +
説明:Determines whether trailers are merged into headers
構文:MergeTrailers [on|off]
デフォルト:MergeTrailers off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:2.4.11 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

Mutex ディレクティブ

+ + + + + + + + +
説明:Configures mutex mechanism and lock file directory for all +or specified mutexes
構文:Mutex mechanism [default|mutex-name] ... [OmitPID]
デフォルト:Mutex default
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache HTTP Server 2.3.4 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

NameVirtualHost ディレクティブ

+ + + + + + +
説明:åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãŸã‚ã® IP アドレスを指定
構文:NameVirtualHost addr[:port]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

NameVirtualHost ディレクティブã¯ã€ + åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’è¡Œãªã„ãŸã„å ´åˆã« + å¿…è¦ã¨ãªã‚‹ã‚‚ã®ã§ã™ã€‚

+ +

addr ã«ã¯ãƒ›ã‚¹ãƒˆåを指定ã§ãã¾ã™ãŒã€ + 常㫠IP アドレスを指定ã™ã‚‹ã®ãŒæŽ¨å¥¨ã•ã‚Œã¾ã™ã€‚ + 例ãˆã°ã€

+ +

+ NameVirtualHost 111.22.33.44 +

+ +

NameVirtualHost ディレクティブã¯ã€ + åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’ + 利用ã—ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘付ã‘ã‚‹ IP アドレスを指定ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ã€æ™®é€šã¯åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚ + ãŸã ã—ã€ãƒ•ã‚¡ã‚¤ã‚¢ãƒ¼ã‚¦ã‚©ãƒ¼ãƒ«ã‚„ä»–ã®ãƒ—ロキシãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘付ã‘〠+ é•ã† IP アドレスã®ã‚µãƒ¼ãƒã«ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã™ã‚‹ã¨ã„ã†å ´åˆã¯ã€ + リクエストをæä¾›ã—ãŸã„マシン上ã®ç‰©ç†ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã® + IP アドレスを指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 複数ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã§è¤‡æ•°ã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’指定ã™ã‚‹å ´åˆã¯ + å„アドレスã«å¯¾ã—ã¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ã„ã¦ãã ã•ã„。

+ +

中

+

「主サーãƒã€ã‚„ã€ã©ã® _default_ サーãƒã‚‚〠+ NameVirtualHost ã§æŒ‡å®šã—㟠IP アドレスã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆ + を処ç†ã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“ (ãªãœã‹ + NameVirtualHost ã‚’ + 指定ã—ãŸã‘ã©ãã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã« VirtualHost を定義ã—ãªã‹ã£ãŸå ´åˆã‚’除ã)。

+
+ +

åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãƒãƒ¼ãƒˆç•ªå·ã‚’指定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ + 例ãˆã°

+ +

+ NameVirtualHost 111.22.33.44:8080 +

+ +

IPV6 ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯æ¬¡ã®ä¾‹ã®ã‚ˆã†ã«è§’括弧ã§å›²ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™:

+ +

+ NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 +

+ +

ã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–るよã†ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ + 引数ã¨ã—㦠* を使ã„ã¾ã™ã€‚

+ +

+ NameVirtualHost * +

+ +

<VirtualHost> ディレクティブã®å¼•æ•°

+

<VirtualHost> ディレクティブã®å¼•æ•°ã¯ NameVirtualHost ディレクティブã®å¼•æ•°ã«æ­£ç¢ºã« + åˆã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

+ NameVirtualHost 1.2.3.4
+ <VirtualHost 1.2.3.4>
+ # ...
+ </VirtualHost>
+

+
+ + +

å‚ç…§

+ +
+
top
+

Options ディレクティブ

+ + + + + + + + +
説明:ディレクトリã«å¯¾ã—ã¦ä½¿ç”¨å¯èƒ½ãªæ©Ÿèƒ½ã‚’設定ã™ã‚‹
構文:Options + [+|-]option [[+|-]option] ...
デフォルト:Options All
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Options
ステータス:Core
モジュール:core
+

Options ディレクティブã¯ã€ç‰¹å®šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã—㦠+ ã©ã®æ©Ÿèƒ½ãŒä½¿ç”¨å¯èƒ½ã‹ã‚’制御ã—ã¾ã™ã€‚

+ +

option ã‚’ Noneã«æŒ‡å®šã™ã‚‹ã¨ã€ + 特別ãªæ©Ÿèƒ½ã¯å…¨ã¦ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + ã¾ãŸã€ä»¥ä¸‹ã®ç¤ºã™ 1 個以上ã®ã‚‚ã®ã‚’指定ã§ãã¾ã™ã€‚

+ +
+
All
+ +
MultiViews を除ã„ãŸå…¨ã¦ã®æ©Ÿèƒ½ãŒæœ‰åŠ¹ã¨ãªã‚Šã¾ã™ã€‚ + ã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã™ã€‚
+ +
ExecCGI
+ +
+ mod_cgi ã«ã‚ˆã‚‹ CGI スクリプトã®å®Ÿè¡Œã‚’許å¯ã—ã¾ã™ã€‚
+ +
FollowSymLinks
+ +
+ サーãƒãŒã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã§ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ãŸã©ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚ +

サーãƒãŒã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ãŸã©ã‚‹å ´åˆã§ã‚‚〠+ <Directory> セクション㫠+ マッãƒã•ã›ã‚‹ãŸã‚ã® + パスåã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。

+

<Location> 内㫠+ ã“ã®ã‚ªãƒ—ションを指定ã—ã¦ã‚‚無視ã•ã‚Œã‚‹ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。

+

ã“ã®ã‚ªãƒ—ションをçœç•¥ã—ãŸã‹ã‚‰ã¨ã„ã£ã¦ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å¼·åŒ–ã«ã¯ãªã‚Šã¾ã›ã‚“。 + ãªãœãªã‚‰ symlink ã®æ¤œæŸ»ã¯ãƒ¬ãƒ¼ã‚¹ã‚³ãƒ³ãƒ‡ã‚£ã‚·ãƒ§ãƒ³ã‚’引ãèµ·ã“ã™å¯èƒ½æ€§ãŒã‚り〠+ ãã®ãŸã‚回é¿å¯èƒ½ã«ãªã‚‹ã‹ã‚‰ã§ã™ã€‚

+
+ +
Includes
+ +
+ mod_include ãŒæä¾›ã™ã‚‹ SSI を有効ã«ã—ã¾ã™ã€‚
+ +
IncludesNOEXEC
+ +
+ SSI ã¯æœ‰åŠ¹ã«ãªã‚Šã¾ã™ãŒã€#exec コマンド 㨠#exec CGI ã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + ãŸã ã—ã€#include virtual ã«ã‚ˆã‚Šã€ScriptAlias ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ + CGI を実行ã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã€‚
+ +
Indexes
+ +
+ ã‚‚ã—ã€URL ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãƒžãƒƒãƒ—ã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã‚ã£ã¦ã€ + 且㤠DirectoryIndex ã§æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ« (例ãˆã°ã€index.html) ㌠+ ディレクトリ内ã«ç„¡ã‘ã‚Œã°ã€mod_autoindex ㌠+ ディレクトリ内ã®ä¸€è¦§ã‚’æ•´å½¢ã—ã¦è¿”ã—ã¾ã™ã€‚
+ +
MultiViews
+ +
+ mod_negotiation ã«ã‚ˆã‚‹ + コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ + ã•ã‚ŒãŸ "MultiViews" を許å¯ã—ã¾ã™ã€‚
+ +
SymLinksIfOwnerMatch
+ +
+ シンボリック先ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã€ + シンボリックリンクã®æ‰€æœ‰ãƒ¦ãƒ¼ã‚¶ ID ã¨åŒã˜å ´åˆã«ã®ã¿ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ + ãŸã©ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚ + +

注

<Location> 内ã«ã“ã®ã‚ªãƒ—ションを + 指定ã—ã¦ã‚‚無視ã•ã‚Œã¾ã™ã€‚

+

ã“ã®ã‚ªãƒ—ションã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å¼·åŒ–ã«ã¯ãªã‚Šã¾ã›ã‚“。 + ãªãœãªã‚‰ symlink ã®æ¤œæŸ»ã¯ãƒ¬ãƒ¼ã‚¹ã‚³ãƒ³ãƒ‡ã‚£ã‚·ãƒ§ãƒ³ã‚’引ãèµ·ã“ã™å¯èƒ½æ€§ãŒã‚り〠+ ãã®ãŸã‚回é¿å¯èƒ½ã«ãªã‚‹ã‹ã‚‰ã§ã™ã€‚

+
+
+
+ +

通常ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã—ã¦è¤‡æ•°ã® Options ㌠+ é©ç”¨å¯èƒ½ãªå ´åˆã€ + 最も近ã„ã‚‚ã®ä¸€ã¤ã®ã¿ãŒé©ç”¨ã•ã‚Œã€ä»–ã®ã‚‚ã®ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚ + 複数ã®æŒ‡å®šãŒãƒžãƒ¼ã‚¸ã•ã‚Œã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。(セクションã®ãƒžãƒ¼ã‚¸æ–¹æ³•ã‚’å‚ç…§ã—ã¦ãã ã•ã„。) + ã—ã‹ã—ã€ã™ã¹ã¦ã® Options ディレクティブ㌠+ ã‚„ - 付ã㧠+ 指定ã•ã‚ŒãŸå ´åˆã¯ã‚ªãƒ—ションã®å€¤ã¯ãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã™ã€‚ + + ã‚’é ­ã«ã¤ã‘ã‚Œã°ç¾åœ¨ã®è¨­å®šã«åŠ ãˆã‚‰ã‚Œã€ + - を付ã‘ã‚Œã°ç¾åœ¨ã®è¨­å®šã‹ã‚‰å‰Šé™¤ã•ã‚Œã¾ã™ã€‚

+ +

警告

+

Options 㧠+ ã‚„ + - ã®ã¤ã„ãŸã‚‚ã®ã‚’ã€ã¤ã‘ãªã„ã‚‚ã®ã¨çµ„ã¿åˆã‚ã›ã¦ + 指定ã™ã‚‹æ§‹æ–‡ã¯æ­£ã—ã„構文ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã®ã§ã€æœŸå¾…ã™ã‚‹çµæžœã« + ãªã‚‰ãªã„ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚

+
+ +

例ãˆã°ã€+ ã‚„ - を利用ã—ãªã„å ´åˆã¯:

+ +

+ <Directory /web/docs>
+ + Options Indexes FollowSymLinks
+
+ </Directory>
+
+ <Directory /web/docs/spec>
+ + Options Includes
+
+ </Directory> +

+ +

/web/docs/spec ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã¯ã€ + Includes ã ã‘ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚ + ã—ã‹ã—ã€2 番目㮠Options 㧠+ ã‚„ - を利用ã—ã¦ã¿ã‚‹ã¨:

+ +

+ <Directory /web/docs>
+ + Options Indexes FollowSymLinks
+
+ </Directory>
+
+ <Directory /web/docs/spec>
+ + Options +Includes -Indexes
+
+ </Directory> +

+ +

/web/docs/spec ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã¯ã€ FollowSymLinks 㨠+ Includes ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

注

+

-IncludesNOEXEC ã‚‚ã—ã㯠+ -Includes を指定ã™ã‚‹ã¨ã€ + å‰ã®è¨­å®šãŒã©ã®ã‚ˆã†ã«ãªã£ã¦ã„よã†ã¨ã‚‚ SSI ã¯ç„¡åŠ¹ã¨ãªã‚Šã¾ã™ã€‚

+
+ +

ã©ã®ã‚ˆã†ãªè¨­å®šã‚‚ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ All ã« + ãªã‚Šã¾ã™ã€‚

+ +
+
top
+

Protocol ディレクティブ

+ + + + + + + +
説明:Protocol for a listening socket
構文:Protocol protocol
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache 2.1.5 and later. +On Windows, from Apache 2.3.3 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

Protocols ディレクティブ

+ + + + + + + + +
説明:Protocols available for a server/virtual host
構文:Protocols protocol ...
デフォルト:Protocols http/1.1
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:Only available from Apache 2.4.17 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

ProtocolsHonorOrder ディレクティブ

+ + + + + + + + +
説明:Determines if order of Protocols determines precedence during negotiation
構文:ProtocolsHonorOrder On|Off
デフォルト:ProtocolsHonorOrder On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:Only available from Apache 2.4.17 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

QualifyRedirectURL ディレクティブ

+ + + + + + + + + +
説明:Controls whether the REDIRECT_URL environment variable is + fully qualified
構文:QualifyRedirectURL On|Off
デフォルト:QualifyRedirectURL Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ReadBufferSize ディレクティブ

+ + + + + + + + +
説明:Size of the buffers used to read data
構文:ReadBufferSize bytes
デフォルト:ReadBufferSize 8192
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
互æ›æ€§:2.4.27 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

RegexDefaultOptions ディレクティブ

+ + + + + + + + +
説明:Allow to configure global/default options for regexes
構文:RegexDefaultOptions [none] [+|-]option [[+|-]option] ...
デフォルト:RegexDefaultOptions DOTALL DOLLAR_ENDONLY
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
互æ›æ€§:Only available from Apache 2.4.30 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

RegisterHttpMethod ディレクティブ

+ + + + + + + +
説明:Register non-standard HTTP methods
構文:RegisterHttpMethod method [method [...]]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache HTTP Server 2.4.24 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

RLimitCPU ディレクティブ

+ + + + + + + + +
説明:Apache ã®å­ãƒ—ロセスã‹ã‚‰èµ·å‹•ã•ã‚ŒãŸãƒ—ロセス㮠CPU 消費é‡ã‚’ +制é™ã™ã‚‹
構文:RLimitCPU seconds|max [seconds|max]
デフォルト:未設定。オペレーティングシステムã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚’使用
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

一ã¤ã‹äºŒã¤ã®ãƒ‘ラメータをã¨ã‚Šã¾ã™ã€‚ + 最åˆã®ãƒ‘ラメータã¯å…¨ãƒ—ロセスã«å¯¾ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®ã‚½ãƒ•ãƒˆãƒªãƒŸãƒƒãƒˆã‚’設定ã—〠+ 2 番目ã®ãƒ‘ラメータã¯æœ€å¤§ã®ãƒªã‚½ãƒ¼ã‚¹ãƒªãƒŸãƒƒãƒˆã‚’設定ã—ã¾ã™ã€‚ + パラメータã«ã¯æ•°å­—ã‹ã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã®æœ€å¤§ã¨ãªã‚‹ + max ã®ã©ã¡ã‚‰ã‹ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 最大ã®ãƒªã‚½ãƒ¼ã‚¹ãƒªãƒŸãƒƒãƒˆã‚’上ã’ã‚‹ãŸã‚ã«ã¯ã€ã‚µãƒ¼ãƒã‚’ + root ã§å®Ÿè¡Œã™ã‚‹ã‹èµ·å‹•ã•ã‚Œãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。

+ +

ã¡ãªã¿ã«ã€ã“ã®è¨­å®šã¯ Apache ã®å­ãƒ—ロセス自体ã§ã¯ãªã〠+ リクエストをå—ã‘付ã‘㟠Apache ã®å­ãƒ—ロセスã‹ã‚‰ fork ã•ã‚ŒãŸãƒ—ロセス㫠+ é©ç”¨ã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã«ã¯ CGI ã‚„ SSI ã‹ã‚‰å®Ÿè¡Œã•ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ãŒå«ã¾ã‚Œã¾ã™ãŒã€Apache ã® + 親プロセスã‹ã‚‰ fork ã•ã‚ŒãŸãƒ­ã‚°ã®ãƒ‘イププロセスãªã©ã«ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。

+ +

CPU リソースã®ãƒªãƒŸãƒƒãƒˆã¯ãƒ—ロセスã‚ãŸã‚Šã®ç§’æ•°ã§è¡¨ã‚ã•ã‚Œã¾ã™ã€‚

+ + +

å‚ç…§

+ +
+
top
+

RLimitMEM ディレクティブ

+ + + + + + + + +
説明:Apache ã®å­ãƒ—ロセスã‹ã‚‰èµ·å‹•ã•ã‚ŒãŸãƒ—ロセスã®ãƒ¡ãƒ¢ãƒªæ¶ˆè²»é‡ã‚’ +制é™ã™ã‚‹
構文:RLimitMEM bytes|max [bytes|max]
デフォルト:未設定。オペレーティングシステムã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚’使用
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

一ã¤ã‹äºŒã¤ã®ãƒ‘ラメータをã¨ã‚Šã¾ã™ã€‚ + 最åˆã®ãƒ‘ラメータã¯å…¨ãƒ—ロセスã«å¯¾ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®ã‚½ãƒ•ãƒˆãƒªãƒŸãƒƒãƒˆã‚’設定ã—〠+ 2 番目ã®ãƒ‘ラメータã¯æœ€å¤§ã®ãƒªã‚½ãƒ¼ã‚¹ãƒªãƒŸãƒƒãƒˆã‚’設定ã—ã¾ã™ã€‚ + パラメータã«ã¯æ•°å­—ã‹ã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã®æœ€å¤§ã¨ãªã‚‹ + max ã®ã©ã¡ã‚‰ã‹ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 最大ã®ãƒªã‚½ãƒ¼ã‚¹ãƒªãƒŸãƒƒãƒˆã‚’上ã’ã‚‹ãŸã‚ã«ã¯ã€ã‚µãƒ¼ãƒã‚’ + root ã§å®Ÿè¡Œã™ã‚‹ã‹èµ·å‹•ã•ã‚Œãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。

+ +

ã“ã®è¨­å®šã¯ Apache ã®å­ãƒ—ロセス自体ã§ã¯ãªã〠+ リクエストをå—ã‘付ã‘㟠Apache ã®å­ãƒ—ロセスã‹ã‚‰ fork ã•ã‚ŒãŸãƒ—ロセス㫠+ é©ç”¨ã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã«ã¯ CGI ã‚„ SSI ã‹ã‚‰å®Ÿè¡Œã•ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ãŒå«ã¾ã‚Œã¾ã™ãŒã€Apache ã® + 親プロセスã‹ã‚‰ fork ã•ã‚ŒãŸãƒ­ã‚°ã®ãƒ‘イププロセスãªã©ã«ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。

+ +

メモリリソースã®ãƒªãƒŸãƒƒãƒˆã¯ãƒ—ロセスã‚ãŸã‚Šã®ãƒã‚¤ãƒˆæ•°ã§è¡¨ã‚ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

RLimitNPROC ディレクティブ

+ + + + + + + + +
説明:Apache ã®å­ãƒ—ロセスã‹ã‚‰èµ·å‹•ã•ã‚ŒãŸãƒ—ロセスãŒèµ·å‹•ã™ã‚‹ãƒ—ロセス㮠+数を制é™ã™ã‚‹
構文:RLimitNPROC number|max [number|max]
デフォルト:未設定。オペレーティングシステムã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚’使用
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

一ã¤ã‹äºŒã¤ã®ãƒ‘ラメータをã¨ã‚Šã¾ã™ã€‚ + 最åˆã®ãƒ‘ラメータã¯å…¨ãƒ—ロセスã«å¯¾ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®ã‚½ãƒ•ãƒˆãƒªãƒŸãƒƒãƒˆã‚’設定ã—〠+ 2 番目ã®ãƒ‘ラメータã¯æœ€å¤§ã®ãƒªã‚½ãƒ¼ã‚¹ãƒªãƒŸãƒƒãƒˆã‚’設定ã—ã¾ã™ã€‚ + パラメータã«ã¯æ•°å­—ã‹ã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã®æœ€å¤§ã¨ãªã‚‹ + max ã®ã©ã¡ã‚‰ã‹ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 最大ã®ãƒªã‚½ãƒ¼ã‚¹ãƒªãƒŸãƒƒãƒˆã‚’上ã’ã‚‹ãŸã‚ã«ã¯ã€ã‚µãƒ¼ãƒã‚’ + root ã§å®Ÿè¡Œã™ã‚‹ã‹èµ·å‹•ã•ã‚Œãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。

+ +

ã“ã®è¨­å®šã¯ Apache ã®å­ãƒ—ロセス自体ã§ã¯ãªã〠+ リクエストをå—ã‘付ã‘㟠Apache ã®å­ãƒ—ロセスã‹ã‚‰ fork ã•ã‚ŒãŸãƒ—ロセス㫠+ é©ç”¨ã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã«ã¯ CGI ã‚„ SSI ã‹ã‚‰å®Ÿè¡Œã•ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ãŒå«ã¾ã‚Œã¾ã™ãŒã€Apache ã® + 親プロセスã‹ã‚‰ fork ã•ã‚ŒãŸãƒ­ã‚°ã®ãƒ‘イププロセスãªã©ã«ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。

+ +

プロセスã®åˆ¶é™ã¯ã€ãƒ¦ãƒ¼ã‚¶ã‚ãŸã‚Šã®ãƒ—ロセス数ã§åˆ¶å¾¡ã•ã‚Œã¾ã™ã€‚

+ +

注

+

CGI プロセスãŒã‚¦ã‚§ãƒ–サーãƒã®ãƒ¦ãƒ¼ã‚¶ ID 以外ã§å®Ÿè¡Œã•ã‚Œã‚‹ã®ã§ + ç„¡ã‘ã‚Œã°ã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ã‚µãƒ¼ãƒè‡ªèº«ãŒç”Ÿæˆã§ãるプロセスã®æ•°ã‚’制é™ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + ãã®ã‚ˆã†ãªçŠ¶æ³ã«ãªã£ã¦ã„ã‚‹ã‹ã©ã†ã‹ã¯ã€error_log 中㮠+ cannot fork ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ã‚ˆã‚Š + 確èªã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+ +

å‚ç…§

+ +
+
top
+

ScriptInterpreterSource ディレクティブ

+ + + + + + + + + +
説明:CGI スクリプトã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã®ä½ç½®ã‚’調ã¹ã‚‹ãŸã‚ã®æ‰‹æ³•
構文:ScriptInterpreterSource Registry|Registry-Strict|Script
デフォルト:ScriptInterpreterSource Script
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:Win32 ã®ã¿ã€‚ +オプション Registry-Strict 㯠Apache 2.0 以é™ã§ä½¿ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€Apache 㧠CGI スクリプトを + 実行ã™ã‚‹å ´åˆã«åˆ©ç”¨ã™ã‚‹ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタを〠+ ã©ã®ã‚ˆã†ã«æŽ¢ã—出ã™ã‹ã«ã¤ã„ã¦åˆ¶å¾¡ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚ + デフォルトã®è¨­å®šã¯ Script ã§ã™ã€‚ã“ã‚Œã¯ã‚¹ã‚¯ãƒªãƒ—ト㮠+ shebang è¡Œ (最åˆã®è¡Œã§ #! ã‹ã‚‰å§‹ã¾ã‚‹ã‚‚ã®) + ã«æŒ‡ã•ã‚Œã¦ã„るインタープリタを使用ã—ã¾ã™ã€‚Win32 ã§ã¯ãã®è¡Œã¯ + 以下ã®æ§˜ã«ãªã‚Šã¾ã™ã€‚

+ +

+ #!C:/Perl/bin/perl.exe +

+ +

ã‚‚ã—ãã¯ã€perl ㌠PATH ã«ã‚ã‚‹å ´åˆã¯å˜ã«:

+ +

+ #!perl +

+ +

ScriptInterpreterSource Registry を指定ã™ã‚‹ã¨ã€ + スクリプトファイルã®æ‹¡å¼µå­ (例ãˆã°ã€.pl) ã‚’ + キーã¨ã—ã¦ã€Windows ã®ãƒ¬ã‚¸ã‚¹ãƒˆãƒªãƒ„リー HKEY_CLASSES_ROOT + を検索ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚レジストリã®ã‚µãƒ–キー + Shell\ExecCGI\Command ã‹ã€ãã‚ŒãŒå­˜åœ¨ã—ãªã„å ´åˆã¯ + Shell\Open\Command ãŒã‚¹ã‚¯ãƒªãƒ—トファイルを開ããŸã‚ã« + 使ã‚ã‚Œã¾ã™ã€‚レジストリキーãŒè¦‹ã¤ã‹ã‚‰ãªã„ã¨ãã¯ã€Apache 㯠Script + オプションãŒæŒ‡å®šã•ã‚ŒãŸã¨ãã®å‹•ä½œã«æˆ»ã‚Šã¾ã™ã€‚

+ +

セキュリティ

+

ScriptInterpreterSource Registry ã‚’ ScriptAlias ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ä½¿ã†ã¨ã㯠+ 注æ„ã—ã¦ãã ã•ã„。Apache ã¯ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸­ã®ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + 実行ã—よã†ã¨ã—ã¾ã™ã€‚Registry ã¨ã„ã†è¨­å®šã¯é€šå¸¸ã¯å®Ÿè¡Œã•ã‚Œãªã„ + ファイルã«å¯¾ã—ã¦æœ›ã¾ã—ããªã„プログラムã®å®Ÿè¡ŒãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 例ãˆã°ã€ã»ã¨ã‚“ã©ã® Windows システムã§ã€ + .htm ファイルã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã€Œé–‹ãã€ã‚³ãƒžãƒ³ãƒ‰ã¯ + Microsoft Internet Explorer を実行ã—ã¾ã™ã®ã§ã€ã‚¹ã‚¯ãƒªãƒ—トã«æŒ‡å®šã•ã‚ŒãŸ + ディレクトリã«ã‚ã‚‹ .htm ファイルã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã‚µãƒ¼ãƒã® + ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§ãƒ–ラウザを実行ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã€ä¸€åˆ†å†…ãらã„㧠+ システムをクラッシュã•ã‚‹ãŸã‚ã®è‰¯ã„方法ã§ã™ã€‚

+
+ +

Apache 2.0 ã‹ã‚‰å°Žå…¥ã•ã‚ŒãŸã‚ªãƒ—ション Registry-Strict 㯠+ Registry ã¨åŒã˜ã“ã¨ã‚’è¡Œãªã„ã¾ã™ãŒã€ã‚µãƒ–キー + Shell\ExecCGI\Command ã®ã¿ã‚’使ã„ã¾ã™ã€‚ + ExecCGI キーã¯æ™®é€šã«ä½¿ã‚れるキーã§ã¯ã‚ã‚Šã¾ã›ã‚“。Windows + レジストリã«æ‰‹å‹•ã§è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã®ã§ã€ã‚·ã‚¹ãƒ†ãƒ ã§ã®å¶ç™ºçš„ãªãƒ—ログラム㮠+ 実行を防ãã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
+
top
+

SeeRequestTail ディレクティブ

+ + + + + + + + +
説明:Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
構文:SeeRequestTail On|Off
デフォルト:SeeRequestTail Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
互æ›æ€§:Available in Apache httpd 2.2.7 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ServerAdmin ディレクティブ

+ + + + + + +
説明:サーãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«å«ã‚ã‚‹é›»å­ãƒ¡ãƒ¼ãƒ«ã® +アドレス
構文:ServerAdmin email-address|URL
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

ServerAdmin ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã™ã•ã¾ã–ã¾ãª + エラーメッセージ中ã«è¨˜è¿°ã™ã‚‹ã€ + å•åˆã›ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定ã—ã¾ã™ã€‚与ãˆã‚‰ã‚ŒãŸå¼•æ•°ã‚’ httpd ㌠+ URL ã¨èªè­˜ã—ãªã„å ´åˆã¯ã€email-address ã ã¨è§£é‡ˆã—ã¦ã€ + ãƒã‚¤ãƒ‘ーリンクã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã« mailto: を付ã‘ã¾ã™ã€‚ + 実際ã«ã¯ã€ã“ã“ã«ã¯é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’使ã†ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ + 多ãã® CGI スクリプトã¯ãã†ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’仮定ã—ã¦ã„ã¾ã™ã€‚ + URL を使ã†å ´åˆã¯ã€ã‚ãªãŸã®ç®¡ç†ä¸‹ã«ã‚る別サーãƒã‚’指ã™ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 + ãã†ã§ãªã„ã¨ã€ã‚¨ãƒ©ãƒ¼ãŒèµ·ã“ã£ãŸã¨ãã«é€£çµ¡ã‚’ã™ã‚‹ã“ã¨ãŒã§ããªããªã£ã¦ + ã—ã¾ã„ã¾ã™ã€‚ +

+ +

ãã®éš›ã€ã“ã‚Œã®ãŸã‚ã«å°‚用ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定ã™ã‚‹ã®ãŒè‰¯ã„ã§ã—ょã†ã€‚ + 例ãˆã°ã€

+ +

+ ServerAdmin www-admin@foo.example.com +

+ +

ã¨ã„ã£ãŸã‚ˆã†ã«ã—ã¾ã™ã€‚ユーザã¯ã„ã¤ã‚‚サーãƒã«é–¢ã™ã‚‹è©±ã§ã‚ã‚‹ã¨ã„ã†ã“ã¨ã‚’ + 明記ã—ã¦ãã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã®ã§ã€‚

+ + +
+
top
+

ServerAlias ディレクティブ

+ + + + + + +
説明:リクエストをåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãƒžãƒƒãƒã•ã›ã¦ã„ã‚‹ã¨ãã« +使用ã•ã‚Œã‚‹ãƒ›ã‚¹ãƒˆã®åˆ¥å
構文:ServerAlias hostname [hostname] ...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

ServerAlias ディレクティブã¯ã€ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãŠã„㦠+ 使用ã™ã‚‹ãƒ›ã‚¹ãƒˆã®åˆ¥åを指定ã—ã¾ã™ã€‚ + é©åˆ‡ã§ã‚ã‚Œã°ã€ServerAlias ディレクティブã§ã¯ + ワイルドカードを使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

+ <VirtualHost *>
+ ServerName server.domain.com
+ ServerAlias server server2.domain.com server2
+ # ...
+ </VirtualHost> +

+ +

å‚ç…§

+ +
+
top
+

ServerName ディレクティブ

+ + + + + + + +
説明:サーãƒãŒè‡ªåˆ†è‡ªèº«ã‚’示ã™ã¨ãã«ä½¿ã†ãƒ›ã‚¹ãƒˆåã¨ãƒãƒ¼ãƒˆ
構文:ServerName [scheme://]fully-qualified-domain-name[:port]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0 ã§ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.3 ã® + Port ディレクティブã®æ©Ÿèƒ½ã‚‚å«ã¿ã¾ã™ã€‚
+

ServerName ディレクティブã¯ã€ + サーãƒãŒè‡ªåˆ†è‡ªèº«ã‚’示ã™ã‚¹ã‚­ãƒ¼ãƒ åã€ãƒ›ã‚¹ãƒˆåã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’設定ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ URL を生æˆã™ã‚‹éš›ã«åˆ©ç”¨ã•ã‚Œã¾ã™ã€‚ + 例ãˆã°ã€ã‚¦ã‚§ãƒ–サーãƒã‚’å‹•ã‹ã—ã¦ã„るマシン㯠simple.example.com + ã§ã€DNS ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ www.example.com ã‚‚ã‚ã‚‹ã¨ãã«ã€ + ウェブサーãƒãŒå¾Œè€…ã¨ã—ã¦èªè­˜ã•ã‚Œã¦æ¬²ã—ã„ã¨ãã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + 使ã„ã¾ã™ã€‚

+ +

+ ServerName www.example.com:80 +

+ +

ServerName ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€ + サーãƒã¯ IP アドレスã‹ã‚‰é€†å¼•ãã‚’è¡Œãªã†ã“ã¨ã§ãƒ›ã‚¹ãƒˆåを知ã‚ã†ã¨ã—ã¾ã™ã€‚ + ServerName ã«ãƒãƒ¼ãƒˆãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€ + サーãƒã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¥ã¦ã„ã‚‹ + ãƒãƒ¼ãƒˆã‚’使ã„ã¾ã™ã€‚最高ã®ä¿¡é ¼æ€§ã¨ç¢ºå®Ÿæ€§ã‚’ã‚‚ãŸã‚‰ã™ãŸã‚ã«ã¯ã€ + ServerName を使ã£ã¦ãƒ›ã‚¹ãƒˆåã¨ãƒãƒ¼ãƒˆã‚’明示的㫠+ 指定ã—ã¦ãã ã•ã„。

+ +

åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ + を利用ã—ã¦ã„ã‚‹å ´åˆã€<VirtualHost> セクション内㮠+ ServerName ã¯ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãƒžãƒƒãƒã™ã‚‹ãŸã‚ã« + 何ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Host: ヘッダã«ç¾ã‚Œã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã‹ã‚’指定ã—ã¾ã™ã€‚

+ +

SSL を処ç†ã™ã‚‹ãƒ‡ãƒã‚¤ã‚¹ã€ä¾‹ãˆã°ãƒªãƒãƒ¼ã‚¹ãƒ—ロクシやロードãƒãƒ©ãƒ³ã‚µã‚„ + SSL 処ç†è»½æ¸›ã‚¢ãƒ—ライアンスã®è£å´ã§ã‚µãƒ¼ãƒãŒç¨¼å‹•ã™ã‚‹å ´åˆã‚‚ã‚ã‚‹ã§ã—ょã†ã€‚ + ãã†ã„ã£ãŸå ´åˆã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒæŽ¥ç¶šã™ã‚‹ã¨ãã«ä½¿ã† + https:// スキームã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’ ServerName + ディレクティブã§æŒ‡å®šã—ã¦ã€è‡ªå·±å‚ç…§ URL ãŒæ­£ã—ã生æˆã§ãるよã†ã«ã—ã¾ã™ã€‚

+ +

自己å‚ç…§ URL (例ãˆã° mod_dir モジュールã«ã‚ˆã‚‹ã‚‚ã®ãªã©) + ãŒæŒ‡å®šã•ã‚ŒãŸãƒãƒ¼ãƒˆã‚’使ã†ã‹ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒãƒ¼ãƒˆç•ªå·ã‚’使ã†ã‹ã‚’ + 決定ã™ã‚‹è¨­å®šã¯ UseCanonicalName + ディレクティブ㨠UseCanonicalPhysicalPort + ディレクティブをå‚ç…§ã—ã¦ãã ã•ã„。

+ + +

å‚ç…§

+ +
+
top
+

ServerPath ディレクティブ

+ + + + + + +
説明:éžäº’æ›ã®ãƒ–ラウザãŒåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã® +ãŸã‚ã®äº’æ›ç”¨ URL パスå
構文:ServerPath URL-path
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

ServerPath ディレクティブã¯ã€ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãŠã„ã¦åˆ©ç”¨ã™ã‚‹ + 互æ›ç”¨ URL パスåを設定ã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

ServerRoot ディレクティブ

+ + + + + + + +
説明:インストールã•ã‚ŒãŸã‚µãƒ¼ãƒã®ãƒ™ãƒ¼ã‚¹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
構文:ServerRoot directory-path
デフォルト:ServerRoot /usr/local/apache
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

ServerRoot ディレクティブã¯ã€ + サーãƒãŒå­˜åœ¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’設定ã—ã¾ã™ã€‚ + 通常ã€conf/ ã‚„ logs/ ã¨ã„ã£ãŸã‚µãƒ–ディレクトリ㌠+ 存在ã—ã¾ã™ã€‚ + ã¾ãŸã€ä»–ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ– (例ãˆã° Include ã‚„ LoadModule ãªã©) ã«ãŠã‘る相対パスã¯ã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®ç›¸å¯¾ä½ç½®ã¨ãªã‚Šã¾ã™ã€‚

+ +

例

+ ServerRoot /home/httpd +

+ + + +

å‚ç…§

+ +
+
top
+

ServerSignature ディレクティブ

+ + + + + + + + +
説明:サーãƒãŒç”Ÿæˆã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ãƒ•ãƒƒã‚¿ã‚’設定
構文:ServerSignature On|Off|EMail
デフォルト:ServerSignature Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Core
モジュール:core
+

ServerSignature ディレクティブã¯ã€ + サーãƒãŒç”Ÿæˆã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ + (エラーメッセージã€mod_proxy ã«ãŠã‘ã‚‹ FTP ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒªã‚¹ãƒˆã€ + mod_info ã®å‡ºåŠ›ã€ç­‰ã€…) + ã®æœ€ä¸‹è¡Œã«ä»˜ä¸Žã™ã‚‹ãƒ•ãƒƒã‚¿ã®è¨­å®šã‚’è¡Œãªã„ã¾ã™ã€‚ + ãã®ã‚ˆã†ãªãƒ•ãƒƒã‚¿è¡Œã‚’有効ã«ã—ãŸã„ç†ç”±ã«ã¯ã€ + プロキシãŒè¤‡æ•°é€£ãªã£ã¦ã„ã‚‹å ´åˆã«ã€ãƒ¦ãƒ¼ã‚¶ã¯ã©ã®ã‚µãƒ¼ãƒãŒè¿”ã—㟠+ エラーメッセージã‹ã‚’知る手段ãŒã»ã¨ã‚“ã©ç„¡ã„ã¨ã„ã†ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚

+ + +

デフォルトã§ã‚ã‚‹ Off ã«è¨­å®šã‚’ã™ã‚‹ã¨ã€ãƒ•ãƒƒã‚¿è¡ŒãŒæŠ‘制ã•ã‚Œã¾ã™ + (ãã—ã¦ã€Apache-1.2 以å‰ã¨äº’æ›ã®å‹•ä½œã‚’ã—ã¾ã™)。 + On ã«è¨­å®šã—ãŸå ´åˆã¯ã€å˜ã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ä¸­ã«ã€ã‚µãƒ¼ãƒã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã€ + 稼動中ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® ServerName ã®æ›¸ã‹ã‚ŒãŸè¡Œã‚’追加ã—〠+ EMail ã«ã—ãŸå ´åˆã¯ã•ã‚‰ã«å‚ç…§ã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«å¯¾ã™ã‚‹ ServerAdmin を指㙠"mailto:" ãŒè¿½åŠ ã•ã‚Œã¾ã™ã€‚

+ +

ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.44 以é™ã§ã¯ã€è¡¨ç¤ºã•ã‚Œã‚‹ã‚µãƒ¼ãƒãƒ¼ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã®è©³ç´°ã¯ServerTokens + ディレクティブã«ã‚ˆã‚Šåˆ¶å¾¡ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

ServerTokens ディレクティブ

+ + + + + + + +
説明:Server HTTP 応答ヘッダを設定ã™ã‚‹
構文:ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
デフォルト:ServerTokens Full
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚Šè¿”ã™ Server + 応答ヘッダ内ã«ã€ã‚µãƒ¼ãƒã®ä¸€èˆ¬çš„㪠OS 種別や〠+ コンパイルã•ã‚Œã¦çµ„ã¿è¾¼ã¾ã‚Œã¦ã„るモジュールã®æƒ…報を + å«ã‚ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚

+ +
+
ServerTokens Prod[uctOnly]
+ +
サーãƒã¯ (例ãˆã°): Server: + Apache ã¨ã„ã£ãŸã‚ˆã†ã«é€ã‚Šã¾ã™ã€‚
+ +
ServerTokens Major
+ +
Server sends (e.g.): Server: + Apache/2
+ +
ServerTokens Minor
+ +
Server sends (e.g.): Server: + Apache/2.0
+ +
ServerTokens Min[imal]
+ +
サーãƒã¯ (例ãˆã°): Server: + Apache/2.0.41 ã¨ã„ã£ãŸã‚ˆã†ã«é€ã‚Šã¾ã™ã€‚
+ +
ServerTokens OS
+ +
サーãƒã¯ (例ãˆã°): Server: Apache/2.0.41 + (Unix) ã¨ã„ã£ãŸã‚ˆã†ã«é€ã‚Šã¾ã™ã€‚
+ +
ServerTokens Full (ã‚‚ã—ãã¯æœªæŒ‡å®š)
+ +
サーãƒã¯ (例ãˆã°): Server: Apache/2.0.41 + (Unix) PHP/4.2.2 MyMod/1.2 ã¨ã„ã£ãŸã‚ˆã†ã«é€ã‚Šã¾ã™ã€‚
+
+ +

ã“ã®è¨­å®šã¯ã‚µãƒ¼ãƒå…¨ä½“ã«é©ç”¨ã•ã‚Œã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆä¸Šã§æœ‰åŠ¹ã«ã—ãŸã‚Š + 無効ã«ã—ãŸã‚Šã¯ã§ãã¾ã›ã‚“。

+ +

ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.44 以é™ã§ã¯ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠ServerSignature + ディレクティブã«ã‚ˆã‚Šè¡¨ç¤ºã•ã‚Œã‚‹æƒ…報も制御ã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

SetHandler ディレクティブ

+ + + + + + + + +
説明:マッãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒãƒãƒ³ãƒ‰ãƒ©ã§å‡¦ç†ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹
構文:SetHandler handler-name|None
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
互æ›æ€§:Apache 2.0 㧠core ã«ç§»å‹•
+

.htaccess ã‚„ <Directory> + セクションã€<Location> + セクションã«æ›¸ã‹ã‚ŒãŸå ´åˆã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãã“ã«ã‚ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒ + handler-name ã§æŒ‡å®šã•ã‚ŒãŸãƒãƒ³ãƒ‰ãƒ©ã§æ‰±ã‚れるã“ã¨ã‚’強制ã—ã¾ã™ã€‚例ãˆã°ã€æ‹¡å¼µå­ã«é–¢ã‚らãšã€ + ディレクトリ全体ãŒã‚¤ãƒ¡ãƒ¼ã‚¸ãƒžãƒƒãƒ—ファイルã¨ã—ã¦è§£æžã—ã¦æ¬²ã—ã„å ´åˆã«ã¯ã€ + 以下をãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® .htaccess + ファイルã«è¨˜è¿°ã—ã¾ã™:

+ +

+ SetHandler imap-file +

+ +

別ã®ä¾‹: URL http://servername/status + ãŒæŒ‡å®šã•ã‚ŒãŸã¨ãã«ã‚µãƒ¼ãƒãŒçŠ¶æ…‹å ±å‘Šã‚’ã™ã‚‹ã‚ˆã†ã«ã—ãŸã„ã¨ãã¯ã€ä»¥ä¸‹ã‚’ + httpd.conf ã«è¨˜è¿°ã—ã¾ã™:

+ +

+ <Location /status>
+ + SetHandler server-status
+
+ </Location> +

+ +

None ã¨ã„ã†å€¤ã‚’設定ã™ã‚‹ã“ã¨ã§ã€ + å‰ã®æ–¹ã® SetHandler ã§å®šç¾©ã•ã‚ŒãŸè¨­å®šã‚’無効ã«ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+

注æ„:SetHandler ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒãƒ³ãƒ‰ãƒ©ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ + ã—ã¾ã™ã®ã§ã€é€šå¸¸ã®æŒ™å‹•ã€ãŸã¨ãˆã°ã€ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ (/) ã§çµ‚ã‚ã‚‹ URL ㌠+ リクエストã•ã‚ŒãŸã¨ãã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„インデックスファイルを返ã™ã‚ˆã†å–り扱ã†æŒ™å‹•ã¯ã€ + è¡Œã‚ã‚Œãªããªã‚Šã¾ã™ã€‚ +

+ + +

å‚ç…§

+ +
+
top
+

SetInputFilter ディレクティブ

+ + + + + + + +
説明:クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„ POST ã®å…¥åŠ›ã‚’処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’設定ã™ã‚‹
構文:SetInputFilter filter[;filter...]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
+

SetInputFilter ディレクティブã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã® + リクエストや POST ã®å…¥åŠ›ã‚’サーãƒãŒå—ã‘å–ã£ãŸã¨ãã«å‡¦ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’ + 設定ã—ã¾ã™ã€‚ã“れ㯠AddInputFilter + ディレクティブをå«ã‚ã€ä»–ã®å ´æ‰€ã§å®šç¾©ã•ã‚Œã¦ã„るフィルタã®è¨­å®šã« + 追加ã•ã‚Œã¾ã™ã€‚

+ +

複数ã®ãƒ•ã‚£ãƒ«ã‚¿ã‚’指定ã™ã‚‹ã¨ãã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã™ã‚‹é †ç•ªã« + セミコロンã§åŒºåˆ‡ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ + +

å‚ç…§

+ +
+
top
+

SetOutputFilter ディレクティブ

+ + + + + + + +
説明:サーãƒã®å¿œç­”を処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’設定ã™ã‚‹
構文:SetOutputFilter filter[;filter...]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Core
モジュール:core
+

SetOutputFilter ディレクティブ㯠+ サーãƒã®å¿œç­”をクライアントã«é€ã‚Šè¿”ã•ã‚Œã‚‹å‰ã«å‡¦ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’設定ã—ã¾ã™ã€‚ + ã“れ㯠AddOutputFilter + ディレクティブをå«ã‚ã€ä»–ã®å ´æ‰€ã§å®šç¾©ã•ã‚Œã¦ã„るフィルタã®è¨­å®šã« + 追加ã•ã‚Œã¾ã™ã€‚

+ +

例ãˆã°ã€ä»¥ä¸‹ã®è¨­å®šã¯ /www/data/ ディレクトリã®ã™ã¹ã¦ã® + ファイルを SSI ã§å‡¦ç†ã—ã¾ã™ã€‚

+ +

+ <Directory /www/data/>
+ + SetOutputFilter INCLUDES
+
+ </Directory> +

+ +

複数ã®ãƒ•ã‚£ãƒ«ã‚¿ã‚’指定ã™ã‚‹ã¨ãã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã™ã‚‹é †ç•ªã« + セミコロンã§åŒºåˆ‡ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

StrictHostCheck ディレクティブ

+ + + + + + + + +
説明:Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
構文:StrictHostCheck ON|OFF
デフォルト:StrictHostCheck OFF
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
互æ›æ€§:Added in 2.4.49

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

TimeOut ディレクティブ

+ + + + + + + +
説明:å„イベントã«ã¤ã„ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’失敗ã•ã›ã‚‹ã¾ã§ã«ã‚µãƒ¼ãƒãŒ +å¾…ã¤æ™‚間を設定
構文:TimeOut seconds
デフォルト:TimeOut 60
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Core
モジュール:core
+

TimeOut ディレクティブã¯ã€ + 様々ãªæ¡ä»¶ä¸‹ã§ã® I/O å¾…ã¡æ™‚間を定義ã—ã¾ã™:

+ +
    +
  1. クライアントã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã‚’読ã¿è¾¼ã‚€æ™‚。 + å—ä¿¡ãƒãƒƒãƒ•ã‚¡ãŒç©ºã«ãªã£ã¦ã„ã¦ã€TCP パケットãŒå±Šãã¾ã§ + å¾…ã¤æ™‚é–“ã®é•·ã•
  2. + +
  3. クライアントã«å¯¾ã—ã¦ãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚Šå‡ºã™æ™‚。 + é€ä¿¡ãƒãƒƒãƒ•ã‚¡ãŒã„ã£ã±ã„ã§ã€ãƒ‘ケットã®å—信完了 (訳注: ACK) + ãŒå±Šãã¾ã§å¾…ã¤æ™‚é–“ã®é•·ã•
  4. + +
  5. mod_cgi 内ã§ã€CGI スクリプトãŒå‡ºåŠ›ã‚’ + è¿”ã™ã¾ã§ã®å¾…ã¡æ™‚é–“ã®é•·ã•
  6. + +
  7. mod_ext_filter 内ã§ã€ãƒ•ã‚£ãƒ«ã‚¿å‡¦ç†ã§å‡ºåŠ›ã‚’ + å¾…ã¤æ™‚é–“ã®é•·ã•
  8. + +
  9. mod_proxy 内ã§ã€ + ProxyTimeout + ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„å ´åˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å¾…ã¡æ™‚é–“
  10. +
+ + +
+
top
+

TraceEnable ディレクティブ

+ + + + + + + + +
説明:TRACE メソッドã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹å¿œç­”方法を決ã‚ã‚‹ +
構文:TraceEnable [on|off|extended]
デフォルト:TraceEnable on
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
互æ›æ€§:Apache 1.3.34, 2.0.55 以é™
+

Apache ã®ã‚³ã‚¢æ©Ÿèƒ½(訳注: core)㨠+ mod_proxy 両方㮠TRACE + ã®æŒ™å‹•ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚デフォルト㮠TraceEnable on + ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ã‚’å—ã‘入れãªã„よã†ãªã€RFC2616 ã«æº–æ‹ ã—㟠+ TRACE リクエストをå—ã‘付ã‘ã¾ã™ã€‚ + TraceEnable off ã¨è¨­å®šã™ã‚‹ã¨ã€ã‚³ã‚¢ã‚µãƒ¼ãƒã¨ + mod_proxy 㯠405 (メソッドä¸è¨±å¯) + エラーをクライアントã«è¿”ã—ã¾ã™ã€‚

+ +

最後ã«ã€ãƒ†ã‚¹ãƒˆã‚„調査目的ãªã©ã®é™å®šç”¨é€”ã¨ã—ã¦ã€ä»•æ§˜ã«æº–æ‹ ã—ãªã„ + TraceEnable extended を使ã£ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ã‚’ + å—ã‘付ã‘るよã†ã«æŒ™å‹•ã‚’変更ã§ãã¾ã™ã€‚(オリジンサーãƒã¨ã—ã¦ã®) + Apache ã®ã‚³ã‚¢ã§ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ã®ã‚µã‚¤ã‚ºã¯ 64k ( + Transfer-Encoding: chunked ãŒä½¿ã‚ã‚Œã¦ã„ã‚‹å ´åˆã¯ + chunk ヘッダ用㫠+8k) ã«åˆ¶é™ã•ã‚Œã¾ã™ã€‚ + Apache ã®ã‚³ã‚¢ã¯ã€ãƒ˜ãƒƒãƒ€ã¨å…¨ã¦ã® chunk ヘッダをレスãƒãƒ³ã‚¹ã® + ボディã¨ã—ã¦è¿”å´ã—ã¾ã™ã€‚ + proxy サーãƒã¨ã—ã¦ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ã®ã‚µã‚¤ã‚ºã¯ 64k ã«åˆ¶é™ã•ã‚Œã¾ã›ã‚“。

+ +
+
top
+

UnDefine ディレクティブ

+ + + + + + +
説明:Undefine the existence of a variable
構文:UnDefine parameter-name
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

å‚ç…§

+ +
+
top
+

UseCanonicalName ディレクティブ

+ + + + + + + +
説明:サーãƒãŒè‡ªåˆ†è‡ªèº«ã®åå‰ã¨ãƒãƒ¼ãƒˆã‚’決定ã™ã‚‹æ–¹æ³•ã‚’設定ã™ã‚‹
構文:UseCanonicalName On|Off|Dns
デフォルト:UseCanonicalName Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
+

多ãã®çŠ¶æ³ã§ Apache ã¯è‡ªå·±å‚ç…§ URLã€ã™ãªã‚ã¡ + åŒã˜ã‚µãƒ¼ãƒã‚’指㙠URLã€ã‚’作æˆã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + UseCanonicalName On ã®å ´åˆã¯ã€ServerName ディレクティブã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ + ホストåã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’使ã£ã¦ã€ãã®æ­£è¦å (自己å‚ç…§ã®åå‰) を生æˆã—ã¾ã™ã€‚ + ã“ã®åå‰ã¯ã€ã™ã¹ã¦ã®è‡ªå·±å‚ç…§ URL ã§ä½¿ã‚ã‚Œã¾ã™ã—ã€CGI ã® + SERVER_NAME 㨠SERVER_PORT ã§ã‚‚使ã‚ã‚Œã¾ã™ã€‚

+ +

UseCanonicalName Off ã®å ´åˆã€ + クライアントãŒãƒ›ã‚¹ãƒˆåã¨ãƒãƒ¼ãƒˆã‚’指定ã—ãŸã¨ãã«ã¯ã€ + ãれらを元ã«è‡ªå·±å‚ç…§ URL を作æˆã—ã¾ã™ (指定ãŒãªã‹ã£ãŸã¨ã㯠+ 上ã®å®šç¾©ã¨åŒæ§˜ã«ã—ã¦æ­£è¦åを解決ã—ã¾ã™)。 + ã“れらã®å€¤ã¯åå‰ãƒ™ãƒ¼ã‚¹ã® + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’実装ã§ä½¿ã‚ã‚Œã¦ã„ã‚‹ã®ã¨åŒã˜å€¤ã§ã€ + åŒã˜ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§å–å¾—ã§ãる値ã«ãªã£ã¦ã„ã¾ã™ã€‚ + CGI 変数 SERVER_NAME 㨠SERVER_PORT + もクライアントã‹ã‚‰ä¸Žãˆã‚‰ã‚ŒãŸå€¤ã‹ã‚‰ä½œæˆã•ã‚Œã¾ã™ã€‚

+ +

ã“ã®ã‚ˆã†ãªæŒ™å‹•ãŒä¾¿åˆ©ãªä¾‹ã¯ã€ã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆã®ã‚µãƒ¼ãƒã§ www + ã®ã‚ˆã†ãªçŸ­ã„åå‰ã§ãƒ¦ãƒ¼ã‚¶ãŒãƒžã‚·ãƒ³ã«æŽ¥ç¶šã™ã‚‹ã¨ãã§ã™ã€‚ + ユーザã®å…¥åŠ›ã§çŸ­ã„ホストåãŒä½¿ã‚ã‚Œã¦ã„ã¦ã€URL ãŒæœ€å¾Œã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ç„¡ã—ã® + ディレクトリã«ãªã£ã¦ã„ã‚‹ http://www/splat ã®ã‚ˆã†ãªã¨ã〠+ Apache ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ http://www.domain.com/splat/ + ã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™ã€‚ + èªè¨¼ã‚’ã™ã‚‹ã‚ˆã†ã«è¨­å®šã—ã¦ã„ã‚‹ã¨ã€ã“ã®å ´åˆ + ユーザ㯠2 回èªè¨¼ã‚’ã—ãªã‘ã‚Œã°ãªã‚‰ãªããªã‚Šã¾ã™ (www ã« + 対ã—㦠1 回ã€www.domain.com ã«å¯¾ã—ã¦ã‚‚ㆠ1 回 -- + 詳細㯠ã“ã®è©±é¡Œã® + FAQ ã‚’å‚ç…§ã—ã¦ãã ã•ã„)。 + ã—ã‹ã— UseCanonicalName ㌠Off ã«ãªã£ã¦ã„ã‚‹ã¨ã€ + Apache 㯠http://www/splat/ ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™ã€‚

+ +

三ã¤ç›®ã®ã‚ªãƒ—ション UseCanonicalName DNS ã¯ã€ + 大è¦æ¨¡ãª IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°ã§ã€ + Host: ヘッダをæä¾›ã—ãªã„å¤ã„クライアントを + サãƒãƒ¼ãƒˆã™ã‚‹å ´åˆã‚’想定ã—ã¦ã„ã¾ã™ã€‚ + ã“ã®ã‚ªãƒ—ションã§ã¯ Apache ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒæŽ¥ç¶šã—㟠IP アドレスã«å¯¾ã—㦠+ DNS ã®é€†å¼•ãã‚’è¡Œãªã£ã¦ã€è‡ªå·±å‚ç…§ URL を作æˆã—ã¾ã™ã€‚

+ +

警告

+

CGI ㌠SERVER_NAME ã«é–¢ã—ã¦ä½•ã‚‰ã‹ã®å‰ææ¡ä»¶ã‚’ + 仮定ã—ã¦ã„ã‚‹ã¨ãã«ã¯ã€ã“ã®ã‚ªãƒ—ションã®è¨­å®šã«ã‚ˆã£ã¦ã¯å‹•ä½œã—ãªã + ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。クライアントã¯å®Ÿè³ªçš„ã«ã¯ãƒ›ã‚¹ãƒˆåã¨ã—㦠+ 何ã§ã‚‚望ã¿ã®å€¤ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚CGI ㌠+ SERVER_NAME を使ã£ã¦è‡ªå·±å‚ç…§ URL を作æˆã™ã‚‹ã“ã¨ã—ã‹ã—ãªã„ + å ´åˆã¯ã€ã©ã®è¨­å®šã‚’è¡Œãªã£ã¦ã‚‚大丈夫ãªã¯ãšã§ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

UseCanonicalPhysicalPort ディレクティブ

+ + + + + + + +
説明:自分自身ã®åå‰ã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’解決ã™ã‚‹æ–¹æ³•ã‚’設定ã™ã‚‹ +
構文:UseCanonicalPhysicalPort On|Off
デフォルト:UseCanonicalPhysicalPort Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Core
モジュール:core
+

ã•ã¾ã–ã¾ãªå±€é¢ã§ 自己å‚ç…§ URL -- ãれ自体ã®ã‚µãƒ¼ãƒã‚’å‚ç…§ã™ã‚‹ URL + を作るã“ã¨ã«ãªã‚Šã¾ã™ã€‚UseCanonicalPhysicalPort On ã¨è¨­å®šã™ã‚‹ã¨ã€ + UseCanonicalName ã«å¾“ã£ã¦åˆ¥åã‚’ + 生æˆã™ã‚‹å ´åˆã«ã€å®Ÿéš›ã®ç‰©ç†ãƒãƒ¼ãƒˆç•ªå·ã‚’使ã£ã¦æ§‹æˆã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + UseCanonicalPhysicalPort Off ã®å ´åˆã¯ã€å®Ÿéš›ã®ç‰©ç†ãƒãƒ¼ãƒˆç•ªå·ã¯ + 使用ã›ãšã€è¨­å®šã•ã‚ŒãŸæƒ…報を元ã«ãƒãƒ¼ãƒˆç•ªå·ã‚’決ã‚ã¾ã™ã€‚

+ +

注æ„

+

物ç†ãƒãƒ¼ãƒˆãŒä½¿ã‚れる場åˆã®é †ç•ªã¯æ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™:

+ UseCanonicalName On

+
    +
  • ServerName ã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ãƒãƒ¼ãƒˆç•ªå·
  • +
  • 物ç†ãƒãƒ¼ãƒˆç•ªå·
  • +
  • デフォルトã®ãƒãƒ¼ãƒˆç•ªå·
  • +
+ UseCanonicalName Off | DNS +
    +
  • Host: ヘッダをパースã—ã¦å–å¾—ã•ã‚Œã‚‹ãƒãƒ¼ãƒˆç•ªå·
  • +
  • 物ç†ãƒãƒ¼ãƒˆç•ªå·
  • +
  • ServerName ã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ãƒãƒ¼ãƒˆç•ªå·
  • +
  • デフォルトã®ãƒãƒ¼ãƒˆç•ªå·
  • +
+ +

UseCanonicalPhysicalPort Off ã§ã€ + 物ç†ãƒãƒ¼ãƒˆç•ªå·ãŒä¸Šè¨˜ã®é †åºä»˜ã‘ã‹ã‚‰é™¤å¤–ã•ã‚Œã¾ã™ã€‚

+
+ + +

å‚ç…§

+ +
+
top
+

<VirtualHost> ディレクティブ

+ + + + + + +
説明:特定ã®ãƒ›ã‚¹ãƒˆåã‚„ IP アドレスã®ã¿ã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ +囲む
構文:<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Core
モジュール:core
+

<VirtualHost> åŠã³ + </VirtualHost> ã¯ã€ + 特定ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã—ã¦ã®ã¿é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–群を括る + ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§è¨±å¯ã•ã‚Œã‚‹å…¨ã¦ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を指定å¯èƒ½ã§ã™ã€‚ + サーãƒãŒã€æŒ‡å®šã•ã‚ŒãŸãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã‚るドキュメントã¸ã® + リクエストをå—ã‘付ã‘ãŸå ´åˆã€ + <VirtualHost> セクションã®ä¸­ã«ã‚ã‚‹ + ディレクティブãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚ + Addrã¯ã€æ¬¡ã®ã‚‚ã®ãŒåˆ©ç”¨ã§ãã¾ã™:

+ +
    +
  • ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® IP アドレス
  • + +
  • ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® IP ã«å¯¾å¿œã™ã‚‹å®Œå…¨ãªãƒ‰ãƒ¡ã‚¤ãƒ³å (éžæŽ¨å¥¨)
  • + +
  • NameVirtualHost * ã¨å…±ã«ä½¿ã‚れる〠+ ã™ã¹ã¦ã® IP アドレスã«ãƒžãƒƒãƒã™ã‚‹æ–‡å­— *
  • + +
  • IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ä»–ã®ã‚‚ã®ã«ãƒžãƒƒãƒã—ãªã„ IP アドレス + ã®ãŸã‚ã®æ–‡å­—列 _default_
  • +
+ +

例

+ <VirtualHost 10.1.2.3>
+ + ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+
+ </VirtualHost> +

+ +

IPv6 アドレスã¯ã‚ªãƒ—ションã®ãƒãƒ¼ãƒˆç•ªå·ã®æŒ‡å®šã¨åŒºåˆ¥ã™ã‚‹ãŸã‚ã«ã€ + 角括弧ã§æ‹¬ã£ã¦æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚次㯠IPv6 ã®ä¾‹ã§ã™:

+ +

+ <VirtualHost [2001:db8::a00:20ff:fea7:ccea]>
+ + ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+
+ </VirtualHost> +

+ +

å„々ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã¯ãã‚Œãžã‚Œé•ã† IP アドレスã€ãƒãƒ¼ãƒˆç•ªå· + ã‚‚ã—ãã¯ãƒ›ã‚¹ãƒˆåã«å¯¾å¿œã™ã‚‹å¿…è¦ãŒã‚り〠+ 1 番目ã®å ´åˆã«ã¯è¤‡æ•°ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ IP パケットをå—ä¿¡ã§ãるよã†ã« + サーãƒãƒžã‚·ãƒ³ã‚’設定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + (ã‚‚ã—ã€ãƒžã‚·ãƒ³ãŒè¤‡æ•°ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’æŒãŸãªã„å ´åˆã¯ã€ + (OSãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚Œã°) ifconfig alias コマンドã«ã‚ˆã‚Š + é”æˆã§ãã¾ã™)。

+ +

注æ„点

+

<VirtualHost> 㯠Apache ㌠Listen ã™ã‚‹ + IP アドレスã«ã¯å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。 + Listen ã‚’ + 使ã£ã¦ Apache ãŒæ­£ã—ã„アドレスを listen ã™ã‚‹ã‚ˆã†ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+
+ +

IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã£ã¦ã„ã‚‹å ´åˆã¯ã€ç‰¹åˆ¥ãªåå‰ + _default_ を指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãã®å ´åˆã¯ + ãã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ä»–ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§æ˜Žç¤ºçš„ã«æŒ™ã’られã¦ã„ãªã„ + ã™ã¹ã¦ã® IP アドレスã«ãƒžãƒƒãƒã—ã¾ã™ã€‚_default_ ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒç„¡ã„ + å ´åˆã« IP ãŒãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§æŒ‡å®šã•ã‚ŒãŸã‚‚ã®ã«ãƒžãƒƒãƒã—ãªã„ã¨ãã¯ã€ + VirtualHost セクションã®å¤–ã®ã™ã¹ã¦ã®å®šç¾©ã‹ã‚‰ãªã‚‹ã€Œä¸»ã€ã‚µãƒ¼ãƒè¨­å®šãŒ + 使ã‚ã‚Œã¾ã™ã€‚(ãŸã ã—ã€NameVirtualHost ディレクティブã«ãƒžãƒƒãƒã™ã‚‹ + ã™ã¹ã¦ã® IP アドレスã¯ã€Œä¸»ã€ã‚µãƒ¼ãƒè¨­å®šã‚‚ _default_ ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚‚ + 使ã‚ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。詳ã—ã㯠ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。)

+ +

:port ã¨ã„ã£ãŸå½¢å¼ã§è¨˜è¿°ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ + マッãƒã•ã›ã‚‹ãƒãƒ¼ãƒˆã‚’変更å¯èƒ½ã§ã™ã€‚ + ã“ã®æŒ‡å®šã‚’ã—ãªã„å ´åˆã«ã¯ã€ä¸»ã‚µãƒ¼ãƒè¨­å®šã«ãŠã‘ã‚‹ + 一番最後㫠Port ã§æŒ‡å®šã•ã‚ŒãŸãƒãƒ¼ãƒˆãŒ + デフォルトã¨ãªã‚Šã¾ã™ã€‚ + :* を指定ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ + アドレス上ã®å…¨ã¦ã®ãƒãƒ¼ãƒˆã«ãƒžãƒƒãƒã—ã¾ã™ã€‚(_default_ ã®ã¨ã㯠+ ã“れを使ã†ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚)

+ +

<VirtualHost> ブロックã”ã¨ã« + ServerName を指定ã™ã¹ãã§ã™ã€‚ + ã‚‚ã—ãªã‘ã‚Œã°ã€ãƒ¡ã‚¤ãƒ³ã‚µãƒ¼ãƒè¨­å®šã® + ServerName + ãŒç¶™æ‰¿ã•ã‚Œã¾ã™

+ +

セキュリティ

+

サーãƒãƒ¼ã‚’èµ·å‹•ã—ãŸä»¥å¤–ã®ãƒ¦ãƒ¼ã‚¶ãŒãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ãŒä¿ç®¡ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + 書ãè¾¼ã¿å¯èƒ½ãªã¨ãã«ãªãœã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒç ´ã‚‰ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã‹ã®è©³ç´°ã¯ + セキュリティã«é–¢ã™ã‚‹ã‚³ãƒ„ ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。

+ +

å‚ç…§

+ +
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/core.html.tr.utf8 b/docs/manual/mod/core.html.tr.utf8 new file mode 100644 index 0000000..ed1dba5 --- /dev/null +++ b/docs/manual/mod/core.html.tr.utf8 @@ -0,0 +1,5245 @@ + + + + + +core - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Temel Özellikleri

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
+
Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.
+ +
Açıklama:Apache HTTP Sunucusunda daima mevcut olan çekirdek + özellikler
Durum:Çekirdek
+
+
Support Apache!

Yönergeler

+ +

Bulunan hatalar

Ayrıca bakınız:

+
+ +
top
+

AcceptFilter Yönergesi

+ + + + + + +
Açıklama:Bir protokolün dinleyici soketleri için en iyilemeleri ayarlar +
Sözdizimi:AcceptFilter protocol kabul_süzgeci
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
+

Bu yönerge Protocol yönergesinde belirtilen + protokol türüne göre bir dinleme soketinin işletim + sistemine özgü en iyilemelerini etkin kılar. İşletim sistemi çekirdeği + için temel önerme veri alınıncaya kadar veya HTTP isteğinin tamamı + tamponlanana kadar sunucu sürecine bir soket tahsis etmemektir. + Şimdilik sadece FreeBSD’nin Kabul Süzgeçleri ve Linux’un soket seçeneklerinden + TCP_DEFER_ACCEPT ve Windows'un en iyilenmiş + AcceptEx() işlevi desteklenmektedir.

+ +

Değiştirge olarak none kullanımı, protokolün kabul + süzgeçlerini iptal edecektir. ftp: veya nntp + gibi sunucunun baştan bir veri göndermesinin gerekli olduğu + protokoller için kullanışlıdır. Örnek:

+ +
AcceptFilter nntp none
+ + +

Öntanımlı protokol isimleri port 443 için https ve tüm + diğer portlar için http'dir. Dinlenmesi için başka bir port + ile ilgili bir protokol belirtmek isterseniz Listen yönergesine protokol + argümanını ekleyin.

+ +

FreeBSD için öntanımlı değerler:

+
AcceptFilter http httpready
+AcceptFilter https dataready
+ + +

httpready kabul süzgeci HTTP isteklerinin tamamını + işletim sistemi çekirdeği seviyesinde tamponlar. Çekirdek isteğin + tamamını alır almaz sunucuya gönderir. Ayrıntılar için accf_http(9) kılavuz sayfasına bakınız. HTTPS istekleri + şifrelenmiş olduğundan sadece accf_data(9) süzgeci kullanılır.

+ +

Linux’taki öntanımlı değerler:

+
AcceptFilter http data
+AcceptFilter https data
+ + +

Linux’un TCP_DEFER_ACCEPT soket seçeneği HTTP isteklerinin + tamponlanmasını desteklemez. none dahil her değer + dinleyici üzerinde TCP_DEFER_ACCEPT seçeneğini etkin kılar. + Daha ayrıntılı bilgi edinmek için Linux + tcp(7) kılavuz sayfasına bakınız.

+ +

Windows’taki öntanımlı değerler::

+ +
AcceptFilter http connect
+AcceptFilter https connect
+ + +

Windows'un mpm_winnt modülü AcceptEx() + arayüzünü açıp kapamak için AcceptFilter'i yorumlar ve + http protokol tamponlamasını desteklemez. connect, AcceptEx() arayüzünü kullanacak, ayrıca uç ağ adresleri de alınacak, fakat none gibi connect seçeneği de ilk veri aktarımını beklemeyecektir.

+ +

Windows'ta none AcceptEx()'ten ziyade + accept() kullanır ve ağ soketlerini bağlantılar arasında + yer değiştirmez. Sürücü desteği bozuk ağ bağdaştırıcılarından başka + vpn sürücüleri gibi bazı sanal ağ sağlayıcılar veya spam, virus veya + casus yazılım süzgeçleri için kullanışlıdır.

+ +
+

data AcceptFilter (Windows)

+ +

2.4.23 ve öncesi sürümlerde, Windows data accept + süzgeci veri aktarılana kadar bekletildikten sonra ilk veri + tamponlanır ve uç ağ adresi için tek bir AcceptEx() çağrısı yapılır. + Bu gerçeklenim hizmet reddi saldırısına konu olduğundan iptal + edilmiştir.

+ +

httpd'nin şu anki dağıtımları için Windows'da connect + süzgeci öntanımlıdır ve data belirtilmiş olsa dahi + connect belirtilmiş gibi davranılır. Önceki sürümleri + kullananların AcceptFilter satırını yukarıdaki gibi + connect süzgecine ayarlamaları gerekmektedir.

+
+ + +

Ayrıca bakınız:

+ +
+
top
+

AcceptPathInfo Yönergesi

+ + + + + + + + +
Açıklama:Dosya isminden sonra belirtilen yol verisini kabul veya + reddeder.
Sözdizimi:AcceptPathInfo On|Off|Default
Öntanımlı:AcceptPathInfo Default
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
+

Bu yönerge, istekte dosya isminden sonra (dizinde belirtilen dosya + bulunmayabilir) belirtilen yol verisinin kabul edilip edilmeyeceğini + denetler. Dosya isminden sonra belirtilen yol verisi + PATH_INFO ortam değişkeninde betiklerin kullanımına + sunulabilir.

+ +

Örneğin, içinde sadece here.html dosyası bulunan bir + /test/ dizinimiz olsun. /test/here.html/more + ve /test/nothere.html/more isteklerinin her ikisi de + PATH_INFO değişkenine /more verisinin + atanmasını sağlar.

+ +

AcceptPathInfo yönergesine atanabilecek argüman + sayısı üçtür:

+
+
Off
Sadece dosya isminden sonra yol verisi + bulunmayan istekler kabul edilir. Yukarıdaki örnekteki gibi + /test/here.html/more şeklindeki istekler bir 404 (Nesne + bulunamadı) hatasıyla sonuçlanır.
+ +
On
Mevcut bir dosyaya ait bir dosya isminden + sonra bir yol verisinin de belirtildiği istekler kabul edilir. + Yukarıdaki örnekteki gibi /test/here.html/more şeklindeki + istekler, /test/here.html geçerli bir dosya olduğu + takdirde kabul edilir.
+ +
Default
Dosya isminden sonra yol verisi + belirtilen isteklerin nasıl ele alınacağı istekten sorumlu eylemci tarafından saptanır. Normal dosyalar + için çekirdek eylemci öntanımlı olarak PATH_INFO + isteklerini reddeder. cgi-script ve isapi-handler gibi betiklere + hizmet eden eylemciler ise genellikle PATH_INFO + isteklerini öntanımlı olarak kabul ederler.
+
+ +

AcceptPathInfo yönergesinin birincil amacı eylemcinin + PATH_INFO istekleri hakkında verdiği kabul veya red + kararını geçersiz kılabilmenizi sağlamaktır. Örneğin, + PATH_INFO’ya dayalı olarak içerik üretmek için INCLUDES gibi bir süzgeç kullandığınız takdirde bu + geçersizleştirme zorunlu olur. Normal dosyalar için çekirdek eylemci + normal olarak isteği reddederdi, böyle bir durumda bir betiği etkin + kılmak için aşağıdaki gibi bir yapılandırma kullanabilirsiniz:

+ +
<Files "mypaths.shtml">
+  Options +Includes
+  SetOutputFilter INCLUDES
+  AcceptPathInfo On
+</Files>
+ + + +
+
top
+

AccessFileName Yönergesi

+ + + + + + + +
Açıklama:Dağıtık yapılandırma dosyasının ismi belirtilir.
Sözdizimi:AccessFileName filename [filename] ...
Öntanımlı:AccessFileName .htaccess
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Belge yolu üzerindeki dizinlerde dağıtık yapılandırma dosyalarının bulunmasına izin verilmişse sunucu bir isteği + işlerken önce bu dizinlerde bu yönergede belirtilmiş yapılandırma + dosyasını arar. Örnek:

+ +
AccessFileName .acl
+ + +

Sunucu, /usr/local/web/index.html belgesini döndürmeden + önce,

+ +
<Directory "/">
+    AllowOverride None
+</Directory>
+ + +

şeklinde bir yapılandırma ile iptal edilmiş olmadıkça yönergeler için + /.acl, /usr/.acl, + /usr/local/.acl ve /usr/local/web/.acl + dosyalarını okur.

+ +

Ayrıca bakınız:

+ +
+
top
+

AddDefaultCharset Yönergesi

+ + + + + + + + +
Açıklama:Bir yanıtın içerik türü text/plain veya + text/html olduğunda eklenecek öntanımlı karakter kümesi + parametresini belirler.
Sözdizimi:AddDefaultCharset On|Off|karküm
Öntanımlı:AddDefaultCharset Off
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
+

Bu yönerge, yanıtın içerik türü text/plain veya + text/html olmak şartıyla yanıta eklenecek karakter + kümesini (karakter kodlamasınının ismini) belirler. Bu, asıl davranış + çoğunlukla kullanıcının istemci yapılandırmasına bağlı olmakla + birlikte, yanıtın gövdesinde META elemanı vasıtasıyla + belirtilmiş karakter kümesini geçersiz kılar. AddDefaultCharset + Off şeklinde bir atama bu işlevselliği iptal eder. + AddDefaultCharset On ile bu işlevsellik etkin kılınmaktan + başka iso-8859-1 karakter kümesini öntanımlı olarak yanıta + eklenir. Yönergede karküm olarak belirtilecek değerler, + Genel Ağ ortam türlerinde (MIME türlerinde) kullanmak üzere IANA’da kayıtlı + karakter kümesi değerlerinden biri olmalıdır. Örnek:

+ +
AddDefaultCharset utf-8
+ + +

AddDefaultCharset yönergesi sadece, metin + kaynaklarının hepsinin aynı karakter kümesine sahip olduğu bilindiği + takdirde ve her birinde ayrı ayrı karakter kümesi belirtmek çok + külfetli olacaksa kullanılmalıdır. Buna bir örnek, CGI betikleri + tarafından üretilmiş içeriğe sahip kaynaklara karakter kümesinin + eklenmesidir; böyle kaynaklar çıktıda kullanıcı tarafından sağlanmış + veri içermeleri nedeniyle karşı siteden kaynaklanan betikli + saldırılardan zarar görebilir. Bununla birlikte, bir öntanımlı karakter + kümesi belirtmek, tarayıcılarında “karakter kodlamasını kendiliğinden + sapta†özelliğini etkin kılmış kullanıcıları korumayacağından daha iyi + bir çözüm bu betikleri bu tür saldırılara karşı düzeltmek veya en iyisi + silmektir.

+ +

Ayrıca bakınız:

+ +
+
top
+

AllowEncodedSlashes Yönergesi

+ + + + + + + + +
Açıklama:Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip + verilmeyeceğini belirler.
Sözdizimi:AllowEncodedSlashes On|Off|NoDecode
Öntanımlı:AllowEncodedSlashes Off
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:NoDecode seçeneği Apache httpd 2.3.12 ve sonrasında + mevcuttur.
+

AllowEncodedSlashes yönergesi kodlanmış dosya + yolu ayracı içeren URL’lere izin verir (/ yerine + %2F ve ek olarak \ için ilgili sistemlerde + %5C kullanılmış URL’ler).

+ +

Off öntanımlı değeriyle, böyle URL’ler bir 404 + (Nesne bulunamadı) hatasıyla reddedilirler.

+ +

On değeriyle, böyle URL’ler kabul edilir ve kodlanmış + dosya yolu ayraçları kodlanmış diğer karakterler gibi çözümlenir.

+ +

NoDecode değeriyle, böyle URL’ler kabul edilir fakat + kodlanmış dosya yolu ayraçları çözümlenmeden kodlanmış halde + bırakılır.

+ +

AllowEncodedSlashes On, çoğunlukla + PATH_INFO ile bir arada kullanıldığı zaman + kullanışlıdır.

+ +

Ek Bilgi

+

Kodlanmış bölü çizgileri yol bilgisi için gerekliyse bir güvenlik + ölçütü olarak NoDecode kullanımı şiddetle önerilir. + Kodlanmış bölü çizgilerinin çözümlenmesine izin vermek güvensiz olması + olası yollara izin vermek olurdu.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

AllowOverride Yönergesi

+ + + + + + + +
Açıklama:.htaccess dosyalarında bulunmasına izin verilen + yönerge türleri belirtilir.
Sözdizimi:AllowOverride All|None|yönerge-türü +[yönerge-türü] ...
Öntanımlı:AllowOverride None (2.3.9 ve sonrası), AllowOverride All (2.3.8 ve öncesi)
BaÄŸlam:dizin
Durum:Çekirdek
Modül:core
+

Sunucu AccessFileName yönergesi + ile belirtildiği şekilde bir .htaccess dosyasına rastlarsa + önceki yapılandırma yönergelerinin hangilerinin geçersiz kılınmak üzere + bildirildiğini bilmek ister.

+ +

Sadece <Directory> bölümlerinde geçerli

+ AllowOverride yönergesi, <Location>, <DirectoryMatch> veya <Files> bölümlerinde değil, + sadece düzenli ifade içermeyen <Directory> bölümlerinde geçerlidir. +
+ +

Bu yönergeye ve AllowOverrideList + yönergesine değer olarak None belirtilirse + .htaccess dosyaları tamamen yok sayılır. + Bu durumda, sunucu dosya sisteminde rastladığı .htaccess + dosyalarını okumaya dahi çalışmayacaktır.

+ +

Bu yönergeye All değeri atanırsa, .htaccess bağlamında kullanılabilecek her + yönergeye .htaccess dosyalarında izin verilir. (Hangi + yönerge-türü türü için hangi yönergelerin etkin olduğunu görmek + için .htaccess için Geçersizleştirme Sınıfları + sayfasına bakınız)

+ +

yönerge-türü olarak aşağıdaki yönerge grup + isimlerinden biri belirtilebilir:

+ +
+
AuthConfig
+ +
AuthDBMGroupFile, + AuthDBMUserFile, + AuthGroupFile, + AuthName, + AuthType, + AuthUserFile, + Require + ve benzeri yetkilendirme yönergelerinin kullanımını izin + verilir.
+ +
FileInfo
+ +
Belge türünü denetleyen mod_mime + Add* ve Remove* yönergeleri, + ErrorDocument, + ForceType, + LanguagePriority, + SetHandler, + SetInputFilter, + SetOutputFilter + yönergeleri ve benzerleri ile + Header, + RequestHeader, + SetEnvIf, + SetEnvIfNoCase, + BrowserMatch, + CookieExpires, + CookieDomain, + CookieStyle, + CookieTracking, + CookieName + belge meta veri yönergelerinin, + mod_rewrite modülündeki + RewriteEngine, + RewriteOptions, + RewriteBase, + RewriteCond, + RewriteRule + yönergelerinin, mod_alias modülündeki + Redirect, + RedirectTemp, + RedirectPermanent, + RedirectMatch) + yönergelerinin ve mod_actions modülündeki + Action + yönergesinin kullanımına izin verilir. +
+ +
Indexes
+ +
Dizin içeriğinin listelenmesini denetleyen + AddDescription, + AddIcon, + AddIconByEncoding, + AddIconByType, + DefaultIcon, + DirectoryIndex, + FancyIndexing, + HeaderName, + IndexIgnore, + IndexOptions, + ReadmeName + yönergelerinin ve benzerlerinin kullanımına izin + verilir.
+ +
Limit
+ +
Konak erişimini denetleyen + Allow, + Deny ve + Order + yönergelerinin kullanımına izin verilir.
+ +
Nonfatal=[Override|Unknown|All]
+ +
.htaccess dosyalarındaki sözdizimi + hatalarının ölümcül olarak ele alınmaması için + AllowOverride yönergesinin kullanımına izin verir; bunun + yerine bir dahili sunucu hatasına sebep olur, izin verilmeyen veya + tanınmayan yönergeler yoksayılır ve günlüğe bir uyarı çıktılanır: +
    +
  • Nonfatal=Override ile + AllowOverride tarafından yasaklanmış yönergeler + ölümcül olarak ele alınmaz.
  • +
  • Nonfatal=Unknown ile bilinmeyen yönergeler + ölümcül olarak ele alınmaz. Yazım hatalarını ve mevcut olmayan bir + modül tarafından gerçeklenmiÅŸ yönergeleri kapsar.
  • +
  • Nonfatal=All ile yukarıdakilerin ikisi de + ölümcül olarak ele alınmaz.
  • +
+

Geçerli bir yönergedeki yazım hatalarının hala dahili bir sunucu + hatasına sebep olacağına dikkat ediniz.

+

Güvenlik

+ Ölümcül olmayan hatalar .htaccess + kullanıcıları için güvenlikle ilgili sorunlara yol açabilir. Örneğin + AllowOverride AuthConfig'e izin vermezse kullanıcıların + siteye erişimini kısıtlayan yapılandırma iptal edilmiş olur. +
+
+ +
Options[=seçenek,...]
+ +
Dizinlere özgü özellikleri denetleyen + Options ve + XBitHack yönergelerinin + kullanımına izin verilir. Options komutunda belirtilecek seçenekler + bir eşit işaretinden sonra aralarına sadece virgül konarak, + fakat virgülden sonra boşluk bırakmadan belirtilebilir. + +

Options'ın örtük iptali

+

.htaccess dosyalarında kullanılabilen + seçenek listesi bu yönergeyle sınırlanabilirse de herhangi bir + Options yönergesine izin + verildiği sürece miras alınmış diğer seçenekler göreli olmayan + sözdizimi kullanılarak iptal edilebilir. Başka bir deyişle, bu + mekanizma diğerlerinin değerlerini korumasına izin verirken belli bir + seçeneği değerini korumaya zorlayamaz. +

+ +

+ AllowOverride Options=Indexes,MultiViews +

+
+
+ +

Örnek:

+ +
AllowOverride AuthConfig Indexes
+ + +

Bu örnekte AuthConfig ve Indexes grubundaki + yönergeler bir dahili sunucu hatasına yol açmayacaktır.

+ +

Güvenlik ve başarımı arttırmak için + <Directory "/"> + bloğu içinde AllowOverride yönergesine None + dışında bir değer atamayın. Böyle yapmak yerine bir .htaccess + dosyası yerleştirmeyi düşündüğünüz dizine ait bir + <Directory> bloğu olması daha iyidir.

+ +

Ayrıca bakınız:

+ +
+
top
+

AllowOverrideList Yönergesi

+ + + + + + + +
Açıklama:.htaccess dosyalarında izin verilecek yönergeler tek tek belirtilir
Sözdizimi:AllowOverrideList None|yönerge +[yönerge-türü] ...
Öntanımlı:AllowOverrideList None
BaÄŸlam:dizin
Durum:Çekirdek
Modül:core
+

Sunucu bir .htaccess dosyası (AccessFileName tarafından belirtildiği gibi) + bulduğunda önceki yapılandırma yönergelerini geçersiz kılabilen bu + dosyada hangi yönergelerin bildirildiğini bilmek ister.

+ +

Sadece <Directory> bölümlerinde kullanılabilir

+ AllowOverrideList sadece <Directory> bölümlerinde düzenli + ifadeler olmaksızın belirtilmişse kullanılabilir; <Location>, <DirectoryMatch> veya <Files> bölümlerinde değil. +
+ +

Bu yönergeye ve AllowOverride + yönergesine None atanmışsa + .htaccess dosyaları tamamen yoksayılır. Bu + durumda sunucu dosya sistemindeki .htaccess dosyalarını + okumaya bile çalışmayacaktır.

+ +

Örnek:

+ +
AllowOverride None
+AllowOverrideList Redirect RedirectMatch
+ + +

Yukarıdaki örnekte sadece Redirect ve + RedirectMatch yönergelerine izin verilmektedir. Tüm + diğerleri dahili bir sunucu hatasına sebep olacaktır.

+ +

Örnek:

+ +
AllowOverride AuthConfig
+AllowOverrideList CookieTracking CookieName
+ + +

Yukarıdaki örnekte AllowOverride + yönergesi AuthConfig yönerge grubuna izin + verirken AllowOverrideList yönergesi + FileInfo yönerge grubundan yalnız iki yönergeye izin + vermektedir. Tüm diğerleri dahili bir sunucu hatasına sebep + olacaktır.

+ +

Ayrıca bakınız:

+ +
+
top
+

CGIMapExtension Yönergesi

+ + + + + + + + +
Açıklama:CGI betik yorumlayıcısını saptama tekniğini belirler. +
Sözdizimi:CGIMapExtension cgi-yolu .uzantı
BaÄŸlam:dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:Sadece NetWare’de geçerlidir.
+

Bu yönerge Apache httpd’nin CGI bekitlerini çalıştırmak için + kullanacağı yorumlayıcıyı nasıl bulacağını denetlemek için kullanılır. + Örneğin, CGIMapExtension sys:\foo.nlm .foo satırı + .foo uzantılı CGI betik dosyalarının FOO yorumlayıcıya + aktarılmasını sağlar.

+ +
+
top
+

CGIPassAuth Yönergesi

+ + + + + + + + + +
Açıklama:HTTP yetkilendirme başlıklarının betiklere CGI değişkenleri +olarak aktarılmasını etkin kılar
Sözdizimi:CGIPassAuth On|Off
Öntanımlı:CGIPassAuth Off
BaÄŸlam:dizin, .htaccess
Geçersizleştirme:AuthConfig
Durum:Çekirdek
Modül:core
Uyumluluk: Apache HTTP Sunucusunun 2.4.13 ve sonraki sürümlerinde kullanılabilmektedir
+

CGIPassAuth yönergesi, HTTP Temel kimlik + doğrulamasını gerçekleştiren betikler için gereken + Authorization gibi HTTP yetkilendirme başlıklarına + betiklerin erişebilmesini sağlar. Normalde bu HTTP başlıkları + betiklerden gizli olup sunucuda HTTP Temel kimlik kanıtlaması etkin + kılındığında sunucuya erişmekte kullanılan kullanıcı kimliklerinin ve + parolalarının betikler tarafından görülmemesini mümkün kılar. Bu yönerge, + HTTP Temel kimlik kanıtlamasını betiklerin gerçekleştirmesini sağlamak + için kullanılmalıdır.

+ +

Apache HTTP Sunucusunun önceki sürümlerinde derleme sırasında + kullanılabilen SECURITY_HOLE_PASS_AUTHORIZATION sabitinin + yerine bu yönerge kullanılabilir.

+ +

Bu ayarlama mod_cgi, mod_cgid, + mod_proxy_fcgi, mod_proxy_scgi ve + benzerleri gibi ap_add_common_vars() kullanan modüller + tarafından kabul görür. Özellikle, isteği alışılmış tarzda işleme + sokmayıp bu arayüzü kullanan modülleri etkiler. Ayrıca, + ap_add_common_vars() kullanmayan üçüncü parti modüller de + bu ayarlamayı kullanmayı tercih edebilir.

+ +
+
top
+

CGIVar Yönergesi

+ + + + + + + + +
Açıklama:Bazı CGI değişkenlerinin nasıl atanacağını belirler
Sözdizimi:CGIVar değişken kural
BaÄŸlam:dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:Apache HTTP Server 2.4.21 ve sonrasında kullanılabilir
+

Bu yönerge bazı CGI değişkenlerinin nasıl atanacağını belirler.

+ +

REQUEST_URI kuralları:

+
+
original-uri (default)
+
Değer özgün istek satırından alınır ve dahili yöneldirmeler veya + istenen özkaynakları değiştiren alt istekler dikkate alınmaz.
+
current-uri
+
Değer özgün istek satırından farklı olabilecek dahili yönlendirmeleri + veya istenen özkaynakları değiştiren alt istekleri de yansıtır.
+
+ +
+
top
+

ContentDigest Yönergesi

+ + + + + + + + +
Açıklama:Content-MD5 HTTP yanıt başlıklarının üretimini + etkin kılar.
Sözdizimi:ContentDigest On|Off
Öntanımlı:ContentDigest Off
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Options
Durum:Çekirdek
Modül:core
+

Bu yönerge RFC2616 ve RFC1864’te tanımlandığı gibi + Content-MD5 üretimini etkin kılar.

+ +

MD5, verideki herhangi bir değişikliğin ileti özetinin değişmesi + olarak yansıması nedeniyle yüksek derecede itimat sağlayan keyfi + uzunlukta bir "ileti özeti" (bazen "parmakizi" dendiği de olur) + hesaplama algoritmasıdır.

+ +

Content-MD5 başlığı öğe gövdesinin iki uç arasında ileti + bütünlük sınamasının yapılabilmesini sağlar. Bir istemci veya vekil + aktarılan öğe gövdesinde rastlantısal bir değişiklik olup olmadığını + saptamak için bu başlığın doğruluğunu sınayabilir. Başlık örneği:

+ +

+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +

+ +

Her istekte ileti özeti hesaplanacağından (değerler saklanmaz), bu + yönergenin sunucunuzda başarım sorunlarına yol açacağına dikkat + ediniz.

+ +

Content-MD5, herhangi bir modül değil, sadece + core modülü tarafından sunulan belgeler için + gönderilir. Örneğin, SSI belgeleri CGI betikleri tarafından + çıktılanırlar ve bayt seviyesinden çıktılar bu başlığa sahip + olmazlar.

+ +
+
top
+

DefaultRuntimeDir Yönergesi

+ + + + + + + + +
Açıklama:Sunucunun çalışma anı dosyaları için temel dizin
Sözdizimi:DefaultRuntimeDir dizin-yolu
Öntanımlı:DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
Uyumluluk:Apache 2.4.2 ve sonrasında kullanılabilmektedir. +
+

DefaultRuntimeDir yönergesi sunucunun çalışma + anında oluşturacağı dosyaların (paylaşımlı bellek, kilitler, vb.) + saklanacağı dizini belirtmekte kullanılır. Göreli bir yol belirtilirse + tam yol ServerRoot yönergesinde belirtilene + göreli olacaktır.

+ +

Örnek

+
DefaultRuntimeDir scratch/
+ + +

DefaultRuntimeDir için öntanımlı yer derleme + sırasında DEFAULT_REL_RUNTIMEDIR #define satırı ile + değiştirilebilir.

+ +

Bilgi: ServerRoot bu yönergeden önce belirtilmiş + olmalıdır, aksi takdirde temel dizin için öntanımlı + ServerRoot kullanılır.

+ + +

Ayrıca bakınız:

+
    +
  • ServerRoot üzerindeki izinlerin düzgün olarak +nasıl ayarlanacağını öğrenmek için: +güvenlik ipuçları
  • +
+
+
top
+

DefaultType Yönergesi

+ + + + + + + + + +
Açıklama:Değeri none olduğu takdirde, bu yönergenin bir +uyarı vermekten başka bir etkisi yoktur. Önceki sürümlerde, bu yönerge, +sunucunun ortam türünü saptayamadığı durumda göndereceği öntanımlı ortam +türünü belirlerdi.
Sözdizimi:DefaultType ortam-türü|none
Öntanımlı:DefaultType none
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:none değeri Apache httpd 2.2.7 ve sonrasında +mevcuttur. Diğer tüm seçenekler Apache httpd'nin 2.3.x ve sonraki sürümleri +için iptal edilmiştir.
+

Bu yönerge iptal edilmiştir. Yapılandırma dosyalarının geriye + uyumluluğunu sağlamak için, öntanımlı bir ortam türünün olmadığını + belirten none değeriyle belirtilebilir. Örnek:

+ +
DefaultType None
+ + +

DefaultType None sadece httpd-2.2.7 ve sonrasında + mevcuttur.

+ +

Ortam türlerini dosya uzantıları üzerinden yapılandırmak için + AddType yönergesini ve + mime.types yapılandırma dosyasını veya belli özkaynak + türleri için ortam türlerini yapılandırmak için ForceType yönergesini kullanın.

+ +
+
top
+

Define Yönergesi

+ + + + + + +
Açıklama:Bir değişken tanımlar
Sözdizimi:Define değişken-ismi [değişken-değeri]
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
+

Tek değiştirgeli biçemi httpd’yi -D + seçeneğiyle çalıştırmaya eşdeğerdir. Bu yönerge, başlatma betiğinde + -D seçeneğinin argümanlarını değiştirme gereği duymaksızın + <IfDefine> bölümlerini + kullanıma sokmak için kullanılabilir.

+ +

Buna ek olarak, ikinci değiştirge belirtilirse yapılandırma değişkenine + bu değer atanır. Değişken yapılandırmada ${VAR} sözdizimi + ile kullanılabilir. Değişken daima küresel olarak tanımlı olup + yapılandırma bölümünü sarmalayan etki alanı ile sınırlanmaz.

+ +
<IfDefine TEST>
+  Define servername test.example.com
+</IfDefine>
+<IfDefine !TEST>
+  Define servername www.example.com
+  Define SSL
+</IfDefine>
+DocumentRoot "/var/www/${servername}/htdocs"
+ + +

RewriteMap sözdizimi ile + karışmalardan kaçınmak için değişken isimleri ikinokta ":" karakterleri + içeremez.

+

Sanal konak bağlamı ve tuzaklar

+

Bu yönerge sanal konakta ve dizin içeriğinde desteklendiğinden yapılan + değişiklikler (eşleşsin eşleşmesin) yönergeyi sarmalayan yapılandırma + bölümünden başka, sonraki yapılandırma yönergelerine de görünür olur.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

<Directory> Yönergesi

+ + + + + + +
Açıklama:Sadece ismi belirtilen dosya sistemi dizininde ve bunun + altdizinlerinde ve bunların içeriğinde uygulanacak bir yönerge grubunu + sarmalar.
Sözdizimi:<Directory dizin-yolu> +... </Directory>
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

<Directory> ve + </Directory> sadece ismi belirtilen dosya sistemi + dizininde, bunun altdizinlerinde ve bu dizinlerin içindeki dosyalara + uygulanacak bir yönerge grubunu + sarmalamakta kullanılır. Bir dizin bağlamında kullanılabilecek her + yönergeye izin verilir. dizin-yolu bir dizinin tam yolu + olabileceği gibi Unix kabuk tarzı bir dosya ismi eşleştirme kalıbı da + olabilir. Kalıp dizgesinde, ? herhangi bir tek karakterle, + * herhangi bir karakter dizisiyle eşleşir. Ayrıca + [] karakter aralıkları da kullanılabilir. ‘/’ karakteri + ile hiçbir kalıp karakteri eşleşmez, bu bakımdan <Directory + "/*/public_html"> ile /home/user/public_html + değil, ama <Directory "/home/*/public_html"> + eşleşecektir. Örnek:

+ +
<Directory "/usr/local/httpd/htdocs">
+  Options Indexes FollowSymLinks
+</Directory>
+ + +

Dizin yollarında isterseniz önceleme kullanabilirsiniz, ancak eğer yol + bazı boşluklar içeriyorsa mutlaka kullanmanız gerekir. Bir boşluk aksi + belirtilmedikçe bir ifadenin sonunu belirlediğinden bu gereklidir.

+ +
+

dizin-yolu argümanlarını belirtirken dikkatli + olmalısınız: Apache httpd’nin dosyalara erişmekte kullandığı dosya + sistemi yolu ile bire bir eşleşmelidir. Belli bir + <Directory> dizinine uygulanan yönergeler, aynı + dizine farklı bir yoldan, örneğin başka bir sembolik bağ üzerinden + erişilen dosyalara uygulanmayacaktır.

+
+ +

~ karakterine ek olarak düzenli + ifadeler de kullanılabilir. Örnek:

+ +
<Directory ~ "^/www/[0-9]{3}">
+
+</Directory>
+ + +

yönergesi /www/ içindeki üç rakamdan oluşan dizinlerle + eşleşecektir.

+ +

Eğer çok sayıda (düzenli ifade olmayan) <Directory> bölümü, bir dosyayı içeren bir + dizinle veya üst dizinlerinden biri ile eşleşiyorsa, uygulama en kısa + eşleşmedeki yönergelerden başlayarak .htaccess dosyalarındaki yönergelere kadar + genişletilir. Örneğin,

+ +
<Directory "/">
+  AllowOverride None
+</Directory>
+
+<Directory "/home">
+  AllowOverride FileInfo
+</Directory>
+ + +

bölümleri ile /home/web/dir/doc.html belgesine erişirken + şu aşamalardan geçilir:

+ +
    +
  • AllowOverride None yönergesi uygulanır + (.htaccess dosyaları iptal edilir).
  • + +
  • AllowOverride FileInfo yönergesi uygulanır + (/home dizini için).
  • + +
  • Sırayla /home/.htaccess, + /home/web/.htaccess ve + /home/web/dir/.htaccess dosyaları içindeki + FileInfo yönergeleri uygulanır.
  • +
+ +

Normal bölümlerin tamamı uygulanıncaya kadar düzenli ifadeler + değerlendirilmez. Düzenli ifadelerin tamamı yapılandırma dosyasında + görüldükleri sıraya göre sınanırlar. Örneğin,

+ +
<Directory ~ "abc$">
+  # ... yönergeler burada ...
+</Directory>
+ + +

düzenli ifadeli bölümü, tüm normal <Directory> bölümleri ve + .htaccess dosyaları uygulanıncaya kadar + değerlendirilmeyecektir. Düzenli ifadeleri değerlendirmeye sıra gelince + düzenli ifade /home/abc/public_html/abc ile eşleştirilecek + ve buna ilişkin <Directory> + uygulanacaktır.

+ +

<Directory "/"> için öntanımlı erişimin tüm + erişime izin vermek oluşuna dikkat ediniz. Bunu şöyle bir blokla + değiştirmeniz,

+ +
<Directory "/">
+  Require all denied
+</Directory>
+ + +

ve erişilebilir olmasını istediğiniz dizinleri ayrıca + belirtmeniz önerilir. Daha ayrıntılı bilgi edinmek için Güvenlik İpuçları belgesine + bakınız.

+ +

Dizin bölümleri httpd.conf dosyasında yer alır. + <Directory> yönergeleri iç içe + olamazlar ve bir <Limit> veya <LimitExcept> bölümü içinde bulunamazlar.

+ +

Ayrıca bakınız:

+ +
+
top
+

<DirectoryMatch> Yönergesi

+ + + + + + +
Açıklama:Bir düzenli ifade ile eşleşen dosya sistemi dizinlerinin içeriklerine uygulanacak bir yönerge grubunu sarmalar.
Sözdizimi:<DirectoryMatch düzifd> +... </DirectoryMatch>
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

<DirectoryMatch> and + </DirectoryMatch> yönergeleri <Directory> gibi sadece ismi + belirtilen dosya sistemi dizininde ve içindeki dosyalarda uygulanacak + bir yönerge grubunu sarmalamakta kullanılır. Tek farkla argüman olarak + bir düzenli ifade alır. Örnek:

+ +
<DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
+    # ...
+</DirectoryMatch>
+ + +

yönergesi /www/ içindeki (veya alt dizinlerindeki) üç + rakamdan oluşan dizinlerle eşleşecektir.

+ +

Uyumluluk

+ 2.3.9 öncesinde, bu yönerge örtük olarak (<Directory> gibi) alt dizinlere de uygulanırdı + ve satır sonu simgesi ($) ile eşleşemezdi. 2.3.9 ve sonrasında, sadece + ifade ile eşleşen dizinler sarmalanan yönerge grubundan etkilenmektedir. +
+ +

Sondaki bölü çizgileri

+ Bu yönerge bir bölü çizgisi ile sonlanan veya sonlanmayan dizinler için + yapılan isteklere uygulanır, dolayısıyla satır sonuna ($) çıpalanmış + ifadeler dikkatli yazılmalıdır. +
+ +

2.4.8 itibariyle, isimli gruplar ve geriye başvurular elde edilmekte + olup ilgili isim büyük harfe çevrildikren sonra "MATCH_" ile + öncelendikten sonra ortama yazılmaktadır. Böylece yol elemanlarına + mod_rewrite gibi modüllerden veya düzenli ifadelerden başvurmak mümkün + kılınmıştır. Karışıklığı önlemek için, numaralı (isimsiz) geriye + başvurular yoksayılmaktadır. Bunların yerine isimli geriye başvurular + kullanılmalıdır.

+ +
<DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
+    require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</DirectoryMatch>
+ + +

Ayrıca bakınız:

+
    +
  • Normal <Directory> + bölümlerindeki yönergelerle düzenli ifadelerin nasıl karıştırıldığının bir + açıklaması için <Directory> yönergesine bakınız.
  • +
  • Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır? belgesine bakınız.
  • +
+
+
top
+

DocumentRoot Yönergesi

+ + + + + + + +
Açıklama:İstemciye görünür olan ana belge ağacının kök dizinini belirler.
Sözdizimi:DocumentRoot dizin-yolu
Öntanımlı:DocumentRoot "/usr/local/apache/htdocs"
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Bu yönerge httpd tarafından dosyalarının sunulacağı + dizini belirler. Alias + benzeri bir yönerge ile eşleşmedikçe, sunucu istenen URL’deki yolu, + belge yolu haline getirmek için belge kök dizinine ekler. Örnek:

+ +
DocumentRoot "/usr/web"
+ + +

yapılandırması ile http://my.example.com/index.html + isteği /usr/web/index.html ile eşleştirilir. + dizin-yolu ile göreli dosya yolu belirtildiği takdirde belge + kök dizininin ServerRoot ile + belirtilen sunucu kök dizinine göre belirtildiği varsayılır.

+ +

DocumentRoot ile belirtilen dizin bir bölü + çizgisi ile bitirilmemelidir.

+ +

Ayrıca bakınız:

+ +
+
top
+

<Else> Yönergesi

+ + + + + + + + +
Açıklama:Önceki bir <If> veya <ElseIf> bölümünün koşulu, çalışma anında bir istek tarafından yerine getirilmediği takdirde uygulanacak yönergeleri içerir
Sözdizimi:<Else> ... </Else>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:İç içe geçmiş koşullar 2.4.26 ve sonrasında değerlendirilmeye alınır
+

<Else> sadece ve sadece aynı etki + alanındaki en son <If> veya + <ElseIf> bölümü uygulanmamışsa + kapsadığı yönergeleri uygular. Örneğin:

+ +
<If "-z req('Host')">
+  # ...
+</If>
+<Else>
+  # ...
+</Else>
+ + +

Burada, <If> yönergesi + Host: başlıksız HTTP/1.0 istekleriyle eşleşirken <Else> Host: başlıklılarla + eşleşir.

+ + +

Ayrıca bakınız:

+ +
+
top
+

<ElseIf> Yönergesi

+ + + + + + + + +
Açıklama:İçerdiği koşulun bir istek tarafınan sağlandığı ancak daha önceki bir <If> veya +<ElseIf> bölümlerininkilerin sağlanmadığı durumda kapsadığı yönergelerin uygulanmasını sağlar
Sözdizimi:<ElseIf ifade> ... </ElseIf>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:İç içe geçmiş koşullar 2.4.26 ve sonrasında değerlendirilmeye alınır
+

<ElseIf> kapsadığı yönergeleri + sadece ve sadece belirtilen koşulun doğrulandığı ancak aynı etki + alanında hemen önceki <If> veya + <ElseIf> yönergesinin uygulanmadığı + takdirde uygular. Örnek:

+ +
<If "-R '10.1.0.0/16'">
+  #...
+</If>
+<ElseIf "-R '10.0.0.0/8'">
+  #...
+</ElseIf>
+<Else>
+  #...
+</Else>
+ + +

<ElseIf> bir isteğin uzak adresi + 10.0.0.0/8 ağına aitse ama 10.1.0.0/16 ağına ait değilse içerdiği + yönergelerin uygulanmasını sağlar.

+ + +

Ayrıca bakınız:

+ +
+
top
+

EnableMMAP Yönergesi

+ + + + + + + + + +
Açıklama:Teslimat sırasında okunacak dosyalar için bellek eşlemeyi etkin + kılar.
Sözdizimi:EnableMMAP On|Off
Öntanımlı:EnableMMAP On
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:none değeri Apache 2.2.7 ve sonrasında mevcuttur. +
+

Bu yönerge, sunucunun teslimat sırasında gerektiği takdirde bir dosya + içeriğinin okunması için bellek eşleme kullanıp kullanmayacağını + belirler. Öntanımlı olarak, bir isteğin yerine getirilmesi, + mod_include kullanarak sunucu tarafından çözümlenen + bir dosyanın teslimatı sırasında olduğu gibi, bir dosya içindeki veriye + erişilmesini gerektirdiğinde Apache httpd, işletim sistemi tarafından + desteklendiği takdirde dosyayı belleğe eşler.

+ +

Böyle bellek eşleme kimi zaman başarım artışını beraberinde getirirse + de bazen sorunlardan kaçınmak için bellek eşlemeyi kapatmak daha iyi + sonuç verir:

+ +
    +
  • Bazı çok iÅŸlemcili sistemlerde bellek eÅŸleme + httpd’nin baÅŸarımını düşürebilmektedir.
  • +
  • httpd bellek eÅŸlemli çalışırken bir dosyanın + silinmesi veya boyutunun küçültülmesi httpd'nin + parçalama arızası vererek çökmesine yol açabilir.
  • +
+ +

Bu tür sorunlardan dolayı zarar görülebilecek sunucu + yapılandırmalarında dosya teslimatında bellek eşlemlerinin kullanımını + şu şekilde iptal etmeniz gerekir:

+ +
EnableMMAP Off
+ + +

Bu özellik, sadece NFS dosya sistemi üzerinde sunulan dosyaları + kapsamak üzere şu şekilde kolayca kapatılabilir:

+ +
<Directory "/nfs-dosyaları-yolu">
+  EnableMMAP Off
+</Directory>
+ + +
+
top
+

EnableSendfile Yönergesi

+ + + + + + + + + +
Açıklama:Dosyaların istemciye tesliminde çekirdeğin dosya gönderme + desteğinin kullanımını etkin kılar.
Sözdizimi:EnableSendfile On|Off
Öntanımlı:EnableSendfile Off
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:Öntanımlı değer 2.3.9 sürümünde Off olarak değişti.
+

Bu yönerge, dosya içeriğinin istemciye teslimi için + httpd’nin çekirdeğin dosya gönderme desteğini + kullanıp kullanmayacağını belirler. Öntanımlı olarak, bir isteğin + yerine getirilmesi, bir durağan dosyanın teslimatı sırasında olduğu + gibi, bir dosya içindeki veriye erişilmesini gerektirmediği takdirde + Apache httpd, işletim sistemi tarafından destekleniyorsa dosyayı + istemciye teslim etmek için çekirdeğin dosya gönderme özelliğini + kullanır.

+ +

Çekirdeğin dosya gönderme mekanizması, okuma, gönderme ve tampon + ayırma işlemlerini ayrı ayrı yapmaktan kaçınır. Fakat bazı + platformlarda veya bazı dosya sistemlerinde aşağıda belirtilen işlemsel + sorunlardan kaçınmak için bu özelliği iptal etmek daha iyidir:

+ +
    +
  • Bazı platformlar, derleme sistemince saptanamayan bozuk bir dosya + gönderme desteÄŸine sahiptir; özellikle eÄŸer derleme iÅŸlemi dosya + gönderme desteÄŸinde sorun olmayan bir makinede yapılıp çalıştırılabilir + dosyaların sorunlu makineye kurulduÄŸu durumda bu saptama + yapılamayacaktır.
  • +
  • Linux’ta IPv6 kullanırken dosya gönderme desteÄŸi bazı aÄŸ + kartlarındaki TCP toplama saÄŸlaması aktarım hatasını tetikler.
  • +
  • Itanium üzerinde çalışan Linux’ta dosya gönderme desteÄŸi + (sendfile) 2GB’tan büyük dosyalarla çalışamamaktadır.
  • +
  • DocumentRoot aÄŸ dosya sistemi + (NFS, SMB, CIFS, FUSE gibi) üzerinde olduÄŸu durumda çekirdek aÄŸ + dosyalarını kendi arabelleÄŸi üzerinden sunamayabilir.
  • +
+ +

Bu sorunlardan muzdarip sunucu yapılandırmaları için bu özelliği şöyle + etkin kılabilirsiniz:

+ +
EnableSendfile On
+ + +

Bu özellik, sadece bir ağ dosya sistemi üzerinde sunulan + dosyaları kapsamak üzere şu şekilde kolayca kapatılabilir:

+ +
<Directory "/nfs-dosyaları-yolu">
+  EnableSendfile Off
+</Directory>
+ + +

EnableSendfile yönergesinin .htaccess ve + diziniçi yapılandırmalarının mod_cache_disk tarafından + desteklenmediğini lütfen aklınızdan çıkarmayın. + EnableSendfile yönergesinin sadece küresel + tanımları hesaba katılır.

+ +
+
top
+

Error Yönergesi

+ + + + + + + +
Açıklama:Özel bir hata iletisiyle yapılandırma çözümlemesini durdurur
Sözdizimi:Error ileti
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Durum:Çekirdek
Modül:core
Uyumluluk:2.3.9 ve sonrası
+

Yapılandırmada bir hatanın saptanması istenirse, bu yönerge + yapılandırma çözümlemesinin durdurulması ve özel bir hata iletisi + üretilmesi için kullanılabilir. Genelde kullanıldığı durum, gerekli + modüllerin yapılandırmada bulunmadığının raporlanmasıdır.

+ +
# Örnek
+# mod_include yüklü değilse bilelim
+<IfModule !include_module>
+  Error "Hata: mod_include mod_foo için gerekiyor. LoadModule ile yükleyin."
+</IfModule>
+
+# SSL veya NOSSL tanımlı mı bilelim
+<IfDefine SSL>
+<IfDefine NOSSL>
+  Error "Ne SSL ne de NOSSL tanımlı. Sadece biri tanımlı olsa yeter."
+</IfDefine>
+</IfDefine>
+<IfDefine !SSL>
+<IfDefine !NOSSL>
+  Error "Ya SSL ya da NOSSL tanımlı olmalı."
+</IfDefine>
+</IfDefine>
+ + + +
+
top
+

ErrorDocument Yönergesi

+ + + + + + + +
Açıklama:Bir hata durumunda sunucunun istemciye ne döndüreceğini + belirler.
Sözdizimi:ErrorDocument hata-kodu belge
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
+

Bir sorun çıktığında veya hata oluştuğunda Apache httpd şu dört + işlemden birini yapacak şekilde yapılandırılabilir:

+ +
    +
  1. Yerleşik bir hata iletisi çıktılanır.
  2. + +
  3. Özel bir ileti çıktılanır.
  4. + +
  5. Sorunu/hatayı işleyecek yerel bir URL-yoluna dahili bir + yönlendirme yapılır.
  6. + +
  7. Sorunu/hatayı işleyecek harici bir URL-yoluna + yönlendirme yapılır.
  8. +
+ +

İlk seçenek öntanımlıdır. Diğer üç seçenek + ErrorDocument yönergesinin argümanları (hata + kodundan sonra bir URL veya hata iletisi) ile belirtilir. Apache httpd + bazı durumlarda sorun/hata ile ilgili ek bilgi verecektir.

+ +

2.4.13 itibariyle, özdevinimli dizgeler ve URLler üretmek için yönerge + içinde ifade sözdizimi kullanılabilir.

+ +

URL’ler yerel yollarda (DocumentRoot’a göre) bir bölü çizgisi (/) ile + başlatılabileceği gibi istemci tarafından çözümlenecek tam bir URL + şeklinde de belirtilebilir. Bunlar yerine, tarayıcıda gösterilmek üzere + bir ileti de belirtilebilir. Örnekler:

+ +
ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi
+ErrorDocument 404 /errors/bad_urls.php
+ErrorDocument 401 /subscription_info.html
+ErrorDocument 403 "Kusura bakmayın, bugün hizmet veremiyoruz."
+ErrorDocument 403 /errors/forbidden.pl?referrer=%{escape:%{HTTP_REFERER}}
+ + +

Bunlardan başka, Apache httpd’nin kendi hata iletilerinin kullanılacağı + özel default değeri ile belirtilebilir. Normal şartlar + altında gerekmese de, bir şey belirtilmediği takdirde mevcut bir + ErrorDocument yönergesini miras alan + yapılandırmalarda Apache httpd’nin kendi hata iletilerinin kullanımı + default değeri açıkça belirtilerek örnekteki gibi + zorlanabilir:

+ +
ErrorDocument 404 /cgi-bin/bad_urls.pl
+
+<Directory "/web/docs">
+  ErrorDocument 404 default
+</Directory>
+ + +

ErrorDocument yönergesinde bir uzak URL (önünde + http bulunan bir yol) belirtildiğinde, belge aynı sunucuda + olsa bile, Apache HTTP Sunucusunun istemciye belgeyi bulacağı yer için bir + yönlendirme göndereceğine dikkat ediniz. Bunun bazı istenmeyen etkileri + vardır; en önemlilerinden biri istemcinin hata kodu yerine bir + yönlendirme durum kodu alacak olmasıdır. Bu, bir URL’nin geçerliliğini + durum koduna göre saptayan istemciler veya robotlar için yanıltıcı + olacaktır. Buna ek olarak, ErrorDocument 401 için bir uzak + URL belirttiğiniz durumda istemci 401 durum kodunu almayacağı için + kullanıcıdan parola isteğinde bulunamayacaktır. Bu bakımdan, + ihtiyaç duyduğunuz takdirde, ErrorDocument 401 + yönergesine yerel bir belge belirtmelisiniz.

+ +

Sunucunun ürettiği hata iletileri "çok kısa" olduğu takdirde, + Microsoft Internet Explorer (MSIE) öntanımlı olarak bu hata iletilerini + yoksayar ve bunun yerine kendi "kullanıcı dostu" hata iletilerini + kullanır. "Çok kısa" eşiği duruma göre değişmekle birlikte, genellikle, + hata iletileriniz 512 bayttan büyük olduğu takdirde MSIE kendi hata + iletileri yerine sunucunun ürettiği hata iletilerini gösterecektir. Bu + konuda daha fazla bilgiyi Q294807 kodlu Microsoft Knowledge Base makalesinde + bulabilirsiniz.

+ +

Çoğu yerleşik hata iletisi özel iletilerle değiştirilebilse de bazı + durumlarda ErrorDocument ile ne + belirtildiğine bakılmaksızın yerleşik hata iletileri kullanılır. + Özellikle, bozuk bir istek saptandığında normal istek işleme hemen + devre dışı bırakılır ve yerleşik hata iletisi döndürülür. Bu, hatalı + istekler yaparak güvenlik sorunlarına yol açılmak istenmesi + durumlarında gereklidir.

+ +

mod_proxy kullanıyorsanız, + ProxyErrorOverride yönergesini + etkin kılmak isteyebilirsiniz, böylece asıl sunucular adına özel hata + iletileri üretebilirsiniz. ProxyErrorOverride etkin + kılınmak istenmezse, Apache httpd vekalet edilen içerik için özel hata + belgeleri üretmeyecektir.

+ +

Ayrıca bakınız:

+ +
+
top
+

ErrorLog Yönergesi

+ + + + + + + +
Açıklama:Sunucunun hata günlüğünü tutacağı yeri belirler.
Sözdizimi: ErrorLog dosya-yolu|syslog[:[oluşum][:etiket]]
Öntanımlı:ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows ve OS/2)
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

ErrorLog yönergesi sunucunun saptadığı hataları + kaydedeceği dosyanın ismini belirtmek için kullanılır. + dosya-yolu ile göreli dosya yolu belirtildiği takdirde + dizininin ServerRoot ile + belirtilen sunucu kök dizinine göre belirtildiği varsayılır.

+ +
ErrorLog "/var/log/httpd/error_log"
+ + +

dosya-yolu bir boru imi "|" ile başlatıldığı + takdirde hata iletilerinin hata günlüğünü işleme sokacak komuta + borulanacağı varsayılır.

+ +
ErrorLog "|/usr/local/bin/httpd_errors"
+ + +

Daha fazla bilgi için borulu + günlüklere bakınız.

+ +

Dosya adı yerine syslog kullanılırsa, sistem desteklediği + takdirde günlük kaydı syslogd(8) üzerinden yürütülür. Öntanımlı olarak + local7 syslog oluşumu kullanılır. Bunu + syslog:oluşum sözdizimini kullanarak + değiştirebilirsiniz. Buradaki oluşum + syslog.conf(5) kılavuz sayfasında belirtilen oluşum isimlerinden biri + olabilir. Oluşum aslında küreseldir ve sanal konaklardan bazılarında + değiştirilmişse, belirtilen en son oluşum tüm sunucuyu + etkileyecektir. etiket için de aynı kurallar + uygulanır. Genellikle, öntanımlı etiket olarak Apache çalıştırılabilirinin + ismi olan httpd kullanılır. Öntanımlı etiketi + syslog::etiket sözdizimini kullanarak + değiştirebilirsiniz

+ +
ErrorLog syslog:user
+ErrorLog syslog:user:httpd.srv1
+ErrorLog syslog::httpd.srv2
+ + +

GÜVENLİK: Günlük dosyalarının saklandığı dizin, sunucuyu başlatan + kullanıcı dışındakiler tarafından yazılabilir olduğu takdirde + güvenliğinizin nasıl tehlikeye gireceği güvenlik ipuçları + belgesinde ayrıntılı olarak açıklanmıştır.

+

Ek Bilgi

+

Unix-dışı platformlarda dosya yolunu girerken, platform ters bölü + çizgilerini desteklese bile normal bölü çizgileri kullanmaya özen + göstermelisiniz. Genel olarak, dosya yollarını belirtirken + yapılandırma dosyası boyunca normal bölü çizgisi kullanmak her zaman + daha iyidir.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

ErrorLogFormat Yönergesi

+ + + + + + +
Açıklama:Hata günlüğü girdileri için biçem belirtimi
Sözdizimi: ErrorLogFormat [connection|request] biçem
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

ErrorLogFormat yönergesi, hata günlüğünde asıl + hata iletisine ek olarak günlüklenecek ek bilgiyi belirtmek için + kullanılabilir.

+ +
#Basit örnek
+ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
+ + +

İlk değiştirge olarak connection veya request + belirtilmesi ek biçemlerin belirtilebilmesini sağlar. Böylece, belli bir + bağlantı ya da istek için ilk ileti günlüklendiğinde ek bilgininde + günlüklenmesi sağlanır. Bu ek bilgi sadece bağlantı/istek başına bir + kere günlüklenir. herhangi bir günlük iletisine sebep olmadan işlenmişse + ek bilgi de günlüklenmez.

+ +

Bu, bazı biçem dizgesi öğeleri çıktı üretmediÄŸinde olur. ÖrneÄŸin, + Referer baÅŸlığı sadece günlük iletisi bir istekle + iliÅŸkilendirilmiÅŸse mevcuttur ve hata iletisi Referer + baÅŸlığı istemcide okunduÄŸu anda oluÅŸur. EÄŸer bir çıktı üretilmezse, + öntanımlı davranış önceki boÅŸluk karakterinden sonraki boÅŸluk + karakterine kadar herÅŸeyi silmektir. Yani, günlük satırı örtük olarak + boÅŸluklarla ayrılmış alanlara bölünür. Bir biçem dizgesi öğesi çıktı + üretmezse alanın tamamı çıktılanmaz. ÖrneÄŸin, [%t] [%l] [%a] + %M  günlük biçeminde uzak adres %a + kullanılamazsa sarmalayıcı köşeli ayraçlar da günlüklenmeyecektir. + BoÅŸluk karakterleri ters bölülerle öncelenerek bir alanı sınırlaması + önlenebilir. '% ' (yüzde boÅŸluk) çifti sıfır geniÅŸlikte bir alan + ayracı olup herhangi bir çıktı üretmez.

+ +

Yukarıdaki davranış, biçem dizgesi öğesine değiştirciler eklenerek + değiştirilebilir. - (tire) değiştircisi ilgili öğe bir + çıktı üretmediğinde tire iminin günlüklenmesine sebep olur. + Bağlantı/istek başına bir kere biçemlerinde + (artı) + değiştircisini de kullanmak mümkündür.Artı değiştiricili bir öğe + herhangi bir çıktı üretmezse satırın tamamı günlüklenmez.

+ +

Bir biçem öğesine günlük önem derecesi atamak için değiştirici + olarak bir sayı kullanılabilir. Bu öğenin günlüklenebilmesi için günlük + iletisinin önem derecesinin belirtilen günlük önem derecesinden + daha yüksek olmaması gerekir. Sayı 1'den (alarm) 4'e (uyarı) ve 7'den + (hata ayıklama) 15'e (trace8) kadar olabilir.

+ +

Örneğin, Referer istek başlığını günlükleyen + %{Referer}i dizgeciğine değiştirciler eklendiğinde neler + olduğunu burada görebilirsiniz:

+ + + + + + + + + + + + + + +
Değiştirlen DizgecikAnlamı
%-{Referer}iReferer atanmamışsa bir - günüklenir.
%+{Referer}iReferer atanmamışsa satırın tamamı çıktılanmaz.
%4{Referer}iSadece hata iletisinin önemi 4'ten yüksek olduğu durumda + Referer günlüklenir.
+ +

Bazı biçem dizfesi öğeleri ayraç içine alınmış ek değiştirgeler kabul + eder.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Biçem Dizgesi Açıklama
%%Yüzde imi
%aÄ°stekteki istemci IP adresi ve portu
%{c}aBağlantının emsal IP adresi and portu + (mod_remoteip modülüne bakın)
%AYerel IP adresi ve portu
%{isim}eÄ°stek ortam deÄŸiÅŸkeni isim
%EAPR/OS hata durum kodu ve iletisi
%FGünlük çağrısının kaynak dosya ismi ve satır numarası
%{isim}iİstek başlığı isim
%kBağlantıdaki keep-alive isteklerinin sayısı
%lİletinin günlük seviyesi
%Lİsteğin günlük kimliği
%{c}LBağlantının günlük kimliği
%{C}LBağlantı etki alanında kullanılmışsa bağlantının günlük kimliği, + aksi takdirde boş
%mİletiyi günlükleyen modülün ismi
%MAsıl günlük iletisi
%{isim}nistek notu isim
%PGeçerli sürecin süreç kimliği (PID'i)
%TGeçerli evrenin evre kimliği
%{g}TGeçerli evrenin eşsiz sistem evre kimliği (örn, top + tarafınan gösterilenle aynı kimlik: şimdilik sadece Linux'a + özgü)
%tgeçerli zaman
%{u}tMikro saniyeler dahil geçerli zaman
%{cu}tISO 8601 biçemiyle uyumlu mikro saniyeleri de içeren geçerli + zaman
%vGeçerli sunucunun kurallı ServerName
%VUseCanonicalName ayarına + uygun olarak isteği sunan sunucunun sunucu ismi
(tersbölü boşluk)Alan ayracı olmayan boşluk
(yüzde boşluk)Alan ayracı (çıktısız)
+ +

The log ID format %L günlük kimliği biçemi bağlantı veya + istek için eşsiz bir kimlik üretir. Bu, bağlantı üzerinden gelen istek + durumunda günlük satırlarının ait olduğu bağlantı veya isteği + bağdaştırmak için kullanılabilir. %L biçem dizgesi ayrıca + mod_log_config modülünde erişim günlüğü iletilerini + hata günlüğü iletileriyle ilişklendirmek için de kullanılabilmektedir. + mod_unique_id modülü yüklüyse onun eşsiz kimliği + istekler için günlük kimliği olarak kullanılacaktır.

+ +
#Örnek (Evreli MPM'ler için öntanımlı biçim)
+ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ + +

Bunun hata iletilerindeki sonuçları şöyle olabilir:

+ +

+ [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico +

+ +

Dikkat edin, yukarıda açıklandığı gibi, bazı alanlar + tanımlanmadıklarından tamamen yoksayılır.

+ +
#Örnek (2.2.x biçimine benzer)
+ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ + +
#İstek/bağlantı günlük kimlikli gelişkin bir örnek
+ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
+ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
+ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
+ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
+ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
+ + + +

Ayrıca bakınız:

+ +
+
top
+

ExtendedStatus Yönergesi

+ + + + + + + +
Açıklama:Her istekte ek durum bilgisinin izini sürer
Sözdizimi:ExtendedStatus On|Off
Öntanımlı:ExtendedStatus Off[*]
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
+

Bu yönerge, o an işlenmekte olan istek hakkında evre başına ek veriyi + ve kullanım özetini izler; mod_status modülünü + yapılandırarak bu değişkenleri çalışma anında görebilirsiniz. Diğer + modüllerin bu sonuçlara bel bağlayabileceğini unutmayın.

+ +

Bu ayarlar sunucunun tamamına uygulanır ve bir sanal konakta etkin + başka bir sanal konakta etkisiz kılınamaz. Ek durum bilgisinin + toplanması sunucuyu yavaşlatabilir. Ayrıca, bu ayarın nazikçe yeniden + başlatma sırasında değiştirilemeyeceğine dikkat ediniz.

+ +
+

Diğer üçüncü parti modüller aynısını yaparken + mod_status modülünün yüklenmesi ExtendedStatus + On için öntanımlı davranışı değiştirecektir. Böyle modüller, + tüm evrelerin durumu hakkında ayrıntılı bilgi toplanmasına bel bağlar. + Öntanımlı değer sürüm 2.3.6 itibariyle mod_status + tarafından değiştirilmiştir. Önceki sürümlerde öntanımlı değer daima + Off idi.

+
+ + +
+
top
+

FileETag Yönergesi

+ + + + + + + + + +
Açıklama:Duruk dosyalar için ETag HTTP yanıt başlığını oluşturmakta kullanılacak dosya özniteliklerini belirler.
Sözdizimi:FileETag bileşen ...
Öntanımlı:FileETag MTime Size
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:2.3.14 ve öncesinde öntanımlı deÄŸer + "INode MTime Size" idi.
+

FileETag yönergesi, belge bir duruk dosyaya + dayandığı takdirde ETag (Entity Tag - öğe etiketi + kısaltması) yanıt başlığı alanını oluşturmakta kullanılacak dosya + özniteliklerini yapılandırır. (ETag değeri, ağ band + genişliğinden kazanmak için arabellek yönetiminde kullanılır.) + FileETagyönergesi ne kullanılması gerektiğini + belirleyebilmenizi sağlar. Değer olarak belirtilebilecek anahtar + sözcükler şunlardır:

+ +
+
INode
+
Dosyanın düğüm numarası hesaba katılır.
+
MTime
+
Dosyanın son değişiklik tarih ve saati dahil edilir.
+
Size
+
Dosyanın bayt cinsinden uzunluğu dahil edilir.
+
All
+
Olası tüm alanlar kullanılır. Bu şuna eşdeğerdir: +
FileETag INode MTime Size
+
+
Digest
+
Bir belge dosya tabanlı ise ETag alanı dosyanın özeti + alınarak hesaplanır.
+
None
+
Bir belge dosyasıyla sunulsa bile yanıta hiçbir ETag + alanı dahil edilmez.
+
+ +

Öntanımlı ayarları miras alıp bunların kapsamını genişletmek/daraltmak + için INode, MTime, Size ve + Digest anahtar sözcüklerinin önüne + veya + - imi konabilir. Bu imlerin bulunmadığı bir anahtar + sözcüğün varlığı halinde hiçbir değer miras alınmaz.

+ +

EÄŸer bir dizinin yapılandırması + FileETag INode MTime Size ve alt dizini + FileETag -INode içeriyorsa bu alt dizinin (ve bir + geçersizleÅŸtirme olmadığı takdirde onun alt dizinlerinin) ayarları + FileETag MTime Size yapılandırmasına eÅŸdeÄŸer + olacaktır.

+

Sunucu Taraflı İçerik

+ Gömülü SSI yönergeleri ile bir duruk dosyanın FileETag, + MTime, Size ve Digest değerleri + değişmeksizin yanıt öğesi değişebileceğinden mod_include + tarafından çözümlenen yanıtlar için bir ETag üretilmez. +
+ +
+
top
+

<Files> Yönergesi

+ + + + + + + +
Açıklama:Dosya isimleriyle eşleşme halinde uygulanacak yönergeleri + içerir.
Sözdizimi:<Files dosya-adı> ... </Files>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

<Files> yönergesi, içerdiği + yönergelerin etki alanını dosya isimlerine göre sınırlandırır. + <Directory> ve + <Location> bölümleri + ile karşılaştırılabilir. Bir </Files> yönergesi ile + sonlandırılması gerekir. Bu bölüm içinde belirtilen yönergeler, + <Files> yönergesinde belirtilen + dosya-adı’nın son bileşeniyle (dizinler atıldıktan sonda + kalan dosya ismi) eşleşen nesnelere uygulanır. <Files> bölümleri yapılandırma dosyasında, + <Directory> bölümleri + ve .htaccess dosyaları okunduktan sonra fakat <Location> yönergelerinden önce + göründükleri sıraya göre işleme sokulurlar. <Files> bölümlerinin <Directory> bölümlerinin içinde uygulama + alanını sınırlamak amacıyla kullanılabileceğine dikkat ediniz.

+ +

dosya-adı argümanının bir dosya ismi veya bir dosya ismi + kalıbı içermesi gerekir. Bir dosya ismi kalıbındaki her ? + imi bir karakterle eşleştirilirken * imi karakter dizileri + ile eşleştirilir.

+ +
<Files "zat.html">
+    # zat.html dosyasına uygulanacakları buraya koy
+</Files>
+
+<Files "?at.*">
+    # Buradakiler hat.html, kat.html, tat.html ve benzerlerine uygulanır.
+</Files>
+ + +

~ imine ek olarak düzenli ifadeler de kullanılabilir. Örneğin

+ +
<Files ~ "\.(gif|jpe?g|png)$">
+    #...
+</Files>
+ + +

satırı en bilinen resim dosyası biçimleriyle eşleşecektir. Bunun + yerine <FilesMatch> + yönergesi de tercih edilebilirdi.

+ +

<Directory> ve + <Location> + bölümlerinin aksine, <Files> + bölümleri .htaccess dosyaları içinde kullanılabilir. Bu + sayede kullanıcıların kendi dosyalarına erişimi dosya seviyesinde + denetlemelerine imkan sağlanmış olur.

+ + +

Ayrıca bakınız:

+ +
+
top
+

<FilesMatch> Yönergesi

+ + + + + + + +
Açıklama:Düzenli ifadelerin dosya isimleriyle eşleşmesi halinde + uygulanacak yönergeleri içerir.
Sözdizimi:<FilesMatch düzifd> ... </FilesMatch>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

<FilesMatch> yönergesi, içerdiği + yönergelerin etki alanını <Files> yönergesinin yaptığı gibi dosya + isimlerine göre sınırlandırır. Ancak, argüman olarak bir düzenli ifade kabul eder. Örneğin

+ +
<FilesMatch "\.(gif|jpe?g|png)$">
+    # ...
+</FilesMatch>
+ + +

satırı en bilinen resim dosyası biçimleriyle eşleşecektir.

+ +
Düzenli ifadenin başlangıcındaki bir .+ + .pngveya .gif dosyalarının, örnek olarak, + eşleşmemesini garanti eder.
+ +

2.4.8 itibariyle, isimli gruplar ve geriye başvurular elde edilmekte + olup ilgili isim büyük harfe çevrildikren sonra "MATCH_" ile + öncelendikten sonra ortama yazılmaktadır. Böylece yol elemanlarına + mod_rewrite gibi modüllerden veya düzenli ifadelerden başvurmak mümkün + kılınmıştır. Karışıklığı önlemek için, numaralı (isimsiz) geriye + başvurular yoksayılmaktadır. Bunların yerine isimli geriye başvurular + kullanılmalıdır.

+ +
<FilesMatch "^(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</FilesMatch>
+ + +

Ayrıca bakınız:

+ +
+
top
+

FlushMaxPipelined Yönergesi

+ + + + + + + + +
Açıklama:Ağa akıtılacak azami ardışık yanıt sayısı
Sözdizimi:FlushMaxPipelined sayı
Öntanımlı:FlushMaxPipelined 5
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.47 ve sonrası
+

Bu yönerge, ardışık düzenli istek alındığı sürece beklemede kalan azami + ardışık yanıt sayısını yapılandırmaya izin verir. Sınıra ulaşıldığında, + yanıtlar tekrar sınırın altına inene kadar engelleme kipinde ağa zorla + boşaltılır.

+ +

FlushMaxPipelined, bellek kullanımını + kısıtlamaya yardımcı olur. 0 olarak ayarlandığında ardışık + düzen devre dışı bırakılır, -1 olarak ayarlandığında sınır + yoktur (FlushMaxThreshold hala geçerlidir).

+ +
+
top
+

FlushMaxThreshold Yönergesi

+ + + + + + + + +
Açıklama:Bekleyen verilerin ağa boşaltılacağı eşik değer
Sözdizimi:FlushMaxThreshold bayt-sayısı
Öntanımlı:FlushMaxThreshold 65536
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.47 ve sonrası
+

Bu yönerge, bekleyen çıktı verileri için eşiği (bayt cinsinden) + yapılandırmaya izin verir. Sınıra ulaşıldığında, veriler tekrar sınırın + altına inene kadar engelleme kipinde ağa zorla boşaltılır.

+ +

FlushMaxThreshold, bellek kullanımını kısıtlamaya + yardımcı olur. 0'a veya çok küçük bir değere ayarlandığında, + gerçekte hiç bekleyen veri yoktur, ancak iş parçacıklı MPM'ler için ağı + bekleyen daha fazla iş parçacığı olabilir, dolayısıyla diğer eşzamanlı + bağlantıları işlemek için daha az sayıda kullanılabilir.

+ +
+
top
+

ForceType Yönergesi

+ + + + + + + + +
Açıklama:Bütün dosyaların belirtilen ortam türüyle sunulmasına + sebep olur.
Sözdizimi:ForceType ortam-türü|None
BaÄŸlam:dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:Apache httpd 2.0’da core modülüne taşındı.
+

Bu yönerge, bir .htaccess dosyası veya bir + <Directory>, + <Location> veya + <Files> bölümüne + yerleştirildiği zaman, eşleşen tüm dosyaların ortam-türü ile + belirtilen içerik türüyle sunulmasına sebep olur. Örneğin, altında + sadece GIF dosyaları bulunan bir dizininiz varsa ve bunlara tek tek + .gif uzantısı belirtmek istemiyorsanız şu yapılandırmayı + kullanabilirsiniz:

+ +
ForceType image/gif
+ + +

Bu yönerge, AddType yönergesi + üzerinden ve mime.types dosyasında örtük olarak + tanımlanmış ortam türü/dosya uzantısı ilişkilerini geçersiz kılar.

+ +

Ayrıca, daha genel ForceType ayarlarını da + None değeriyle geçersiz kılabilirsiniz:

+ +
# tüm dosyaların image/gif olarak sunulması için:
+<Location "/images">
+  ForceType image/gif
+</Location>
+
+# normal MIME-türüne geri dönmek için:
+<Location "/images/mixed">
+  ForceType None
+</Location>
+ + +

Bu yönerge, öncelikle dosya sisteminden sunulan duruk dosyalar için + üretilen içerik türlerini geçersiz kılar. Duruk dosyaların haricindeki + özkaynaklar için yanıt üretecinin genelde bir Content-Type + belirttiği durumda bu yönerge etkisizdir.

+ +

Ek Bilgi

+

SetHandler veya + AddHandler gibi örtük yönergeler + geçerli isteğe uygulanmadığı takdirde, normalde bu yönergeler tarafından + belirlenen dahili eylemcinin ismi ForceType + yönergesi tarafından belirtilen içerik türü ile eşleşecek şekilde + belirlenir. Bu, bazı üçüncü parti modüller (mod_php gibi) tarafından + kullanılan tarihi bir uygulama olup, bu modüller istekle eşleşecek + modüllerin sorumluluğu almasını sağlamak için "sihirli" içerik türleri + kullanabilir. Bu tür "sihirli" içerik türlerini kullanan + yapılandırmalarda SetHandler veya + AddHandler kullanımından + kaçınılmalıdır.

+
+ + +
+
top
+

GprofDir Yönergesi

+ + + + + + +
Açıklama:gmon.out ayrıntılı inceleme verisinin yazılacağı dizin
Sözdizimi:GprofDir /tmp/gprof/|/tmp/gprof/%
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Sunucu gprof ayrıntılı inceleme desteği ile derlenmişse, + GprofDir yönergesi gmon.out + dosyalarının süreç çıktığında belirtilen dizine yazılmasını sağlar. Eğer + değiştirge bir yüzde simgesi ('%') ile bitiyorsa her süreç kimliği için + alt dizinler oluşturulur.

+ +

Bu yönerge şimdilik sadece prefork MPM'i ile + çalışmaktadır.

+ +
+
top
+

HostnameLookups Yönergesi

+ + + + + + + +
Açıklama:İstemci IP adresleri üzerinde DNS sorgularını etkin kılar. +
Sözdizimi:HostnameLookups On|Off|Double
Öntanımlı:HostnameLookups Off
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
+

Bu yönerge oturum açabilecek konak isimlerini tespit edebilmek için + DNS sorgularını etkin kılar (ve sonuç REMOTE_HOST’ta + belirtilerek CGI/SSI’lere aktarılır). Double değeri + sorgunun çift yönlü yapılacağını belirtir. Yani, bir tersine sorgunun + ardından bir normal sorgu yapılır. Normal sorguda elde edilen IP + adreslerinden birinin istek yapan IP adresi ile eşleşmesi gerekir. + ("tcpwrappers" terminolojisinde buna PARANOID adı + verilir.)

+ +

Konak ismine göre erişimi denetlemek için + mod_authz_host kullanıldığında, nasıl bir ayar + yapıldığına bakılmaksızın, çift yönlü sorgulama yapılır. Bu güvenlik + için gereklidir. Bunun dışında açıkça HostnameLookups + Double belirtilmedikçe genellikle çift yönlü sorgulama yapılmaz. + Örneğin, sadece HostnameLookups On belirtilmiş ve konak + ismi kısıtlamalarıyla korunmuş bir nesne için bir istek yapılmışsa çift + yönlü sorgunun başarısına bakılmaksızın CGI’lere + REMOTE_HOST olarak tek yönlü sorgu sonucu aktarılır.

+ +

Gerçekte ters yönlü sorguya gerek duyulmayan sitelerde ağ trafiğini + yormamak için Off, öntanımlı değerdir. Ayrıca, son + kullanıcıların DNS sorguları nedeniyle gereksiz yere bir beklemeye + maruz kalmaması için de bu daha iyidir. Yükü zaten ağır olan sitelerde, + DNS sorgularının görece uzun zaman alması nedeniyle bu yönergenin + değeri Off olarak bırakılmalıdır. Öntanımlı olarak kurulum + dizininizin bin alt dizinine kurulan + logresolve uygulaması kullanılarak oturum açan IP + adresleri için isim sorguları çevrim dışıyken yapılabilir.

+ +

Son olarak, konak ismine dayalı + Require yönergelerine sahipseniz konak ismi araması + HostnameLookups ayarına bakılmaksızın + gerçekleştirilecektir.

+ +
+
top
+

HttpProtocolOptions Yönergesi

+ + + + + + + + +
Açıklama:HTTP İstek İletilerindeki sınırlamalarda değişiklik yapar
Sözdizimi:HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]
Öntanımlı:HttpProtocolOptions Strict LenientMethods Allow0.9
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:2.2.32 veya 2.4.24 ve sonrası
+

Bu yönerge HTTP istek satırına + (RFC 7230 §3.1.1) ve the HTTP istek başlığı alanlarına + (RFC 7230 §3.2) uygulanmış kuralları öntanımlı olarak veya + Strict seçeneği kullanılarak değiştirir. Eski modüller, + uygulamalar veya kullanımı önerilmeyen özel istemciler için eski davranışlara + dönmeyi sağlamak üzere Unsafe seçeneği eklenmiştir.

+ +

Bu kurallar istek işlenmeden önce uygulanır. Dolayısıyla yönerge, IP/port + arabirimine göre ana bölümde veya öntanımlı (ilk) eşleşen sanal konak + bölümünde yapılandırılmalıdır.

+ +

Bu yönergeye aşağıdaki parametrelerden seçilen üç tanesi uygulanabilir. + Belirtilmeyenlerin yerine öntanımlılar uygulanır.

+ +
+
Strict|Unsafe
+
+

Bu yönerge devreye girmeden önce, Apache HTTP Sunucusunun istek iletisi + ayrıştırıcıları protokolle uyumlu olmayan bir dizi girdi şekline + toleranslıydı. RFC 7230 §9.4 İstek bölme ve + §9.5 Yanıt kaçırma çağrıları uyumsuz istek iletilerinin + kabulündeki olası risklerden yalnızca iki tanesidir. + RFC 7230 + §3.5 "İleti Ayrıştırma Sağlamlığı" belirsiz boşlukların kabul ve + istek iletisi biçimleme risklerini tanımlar. Bu yönergenin devreye + girmesini takiben belirtimin tüm imla kurallarına öntanımlı + Strict işlem kipi ve 3.5 bölümünde tavsiye edilen hoşgörüsüz + boşluk uygulanır ve esnekliğe müsamaha edilmez.

+ +

Unsafe için güvenlik riskleri

+

Kullanıcılar, özellikle dışa bakan, herkes tarafından erişilebilen + sunucu konuşlandırmalarında Unsafe işlem kipine geçiş + yapmaya karşı kesinlikle uyarılır. Eğer bir arayüz hataları izlemek + veya bir intranette çalışan özel hizmet tüketicileri için gerekliyse, + kullanıcılar, sadece, dahili özel ağlarına hizmet etmek üzere + yapılandırılmış özel bir sanal konak üzerinde Unsafe işlem + kipine geçiş yapmalıdır.

+
+ +

Strict kipte HTTP 400 ile sonuçlanan bir istek örneği

+ + # Eksik CRLF
+ GET / HTTP/1.0\n\n +

+

Komut satırı araçları ve CRLF

+

Bazı araçların CRLF kullanmaya zorlanması gerekir, aksi takdirde httpd + yukarıdaki örnekte belirtildiği gibi bir HTTP 400 yanıtı ile döner. + Örneğin, OpenSSL s_client düzgün çalışmak için -crlf + değiştirgesine ihtiyaç duyar.

+

CRLF yokluğu gibi durumları saptamak için HTTP isteğini görünümlemek + isterseniz DumpIOInput + yönergesi yardımcı olabilir.

+
+
+
RegisteredMethods|LenientMethods
+
+

RFC 7231 + §4.1 "İstek Yöntemleri" "Genel Bakış" bölümlerinde bir istek + satırında desteklenmeyen bir yöntem saptadığında özgün sunucuların bir + hatayla yanıt vermesini gerekli görmüştür. LenientMethods + seçeneği kullanıldığında olan zaten budur. RegisteredMethods + seçeneğine geçiş yapmak isteyen yöneticiler + RegisterHttpMethod yönergesini kullanarak standart + olmayan yöntemleri belirlemelidir. Özellikle Unsafe seçeneğine + geçiş yapılacaksa bu yol izlenmelidir.

+ +

Ä°leri Vekil UyumluluÄŸu

+

Özgün sunucunun kullandığı yöntemleri vekil sunucu bilemeyeceği için + ileri vekil konaklarda RegisteredMethods seçeneğine geçiş + yapılmamalıdır.

+
+ +

Example of a request leading to HTTP 501 with LenientMethods mode

+ + # Unknown HTTP method
+ WOW / HTTP/1.0\r\n\r\n

+ # Lowercase HTTP method
+ get / HTTP/1.0\r\n\r\n
+

+
+
Allow0.9|Require1.0
+
+

RFC 2616 + §19.6 "Önceki Sürümlerle Uyumluluk" bölümünde HTTP sunucularının + eski HTTP/0.9 isteklerini desteklemesi tavsiye edilmektedir. RFC 7230 + "HTTP/0.9 isteklerini destekleme beklentisi kaldırılmıştır." cümlesiyle + bunu geçersiz kılmış ve RFC 7230 Ek A bölümünde bununla ilgili yorumlar yer almıştır. + Require1.0 seçeneği kullanıcıya öntanımlı + Allow0.9 seçeneğinin davranışına verilen desteği kaldırma + imkanını vermektedir.

+ +

Require1.0 kipinde HTTP 400 ile sonuçlanan bir istek + örneği

+ + # Desteklenmeyen HTTP sürümü
+ GET /\r\n\r\n +

+
+
+ +

LogLevel debug seviyesiyle + yapılandırılmış ErrorLog ile kaydedilmiş günlüklerin + gözden geçirilmesi, böyle hatalı isteklerin kaynaklandıkları yerle birlikte + belirlenmesine yardımcı olabilir. Kullanıcılar, beklenmedik bir şekilde + reddedilmiş geçersiz istekleri bulmak için erişim günlüklerindeki 400 + yanıtlarına özellikle dikkat etmelidir.

+ +
+
top
+

<If> Yönergesi

+ + + + + + + + +
Açıklama:Çalışma anında bir koşul bir istek tarafından yerine getirildiği +takdirde uygulanacak yönergeleri barındırır.
Sözdizimi:<If ifade> ... </If>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:İç içe geçmiş koşullar 2.4.26 ve sonrasında değerlendirilmeye alınır
+

<If> yönergesi bir ifadeyi çalışma + anında değerlendirir ve ifadenin sonucu doğru olduğu takdirde içerdiği + yönergeleri uygular. Örnek:

+ +
<If "-z req('Host')">
+ + +

Bir Host: başlığı içermeyen HTTP/1.0 istekleriyle + eşleşir. İfadeler, dizge karşılaştırması (==, + !=, <, ...), tamsayı karşılaştırması + (-eq, -ne, ...) ve diğerleri (-n, + -z, -f, ...) için kabuktakilere benzer çeşitli + işleçler içerebilir. Ayrıca, düzenli ifadeleri,

+ +
<If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">
+ + +

kabuk tarzı kalıp eşleştirme ve birçok başka işlemi kullanmak da + mümkündür. Bu işlemler istek başlıklarında (req), ortam + değişkenlerinde (env) ve çok sayıda başka niteliklerin + üstünde yapılabilir. Apache HTTP Sunucusundaki + İfadeler belgesinde daha ayrıntılı bilgi bulabilirsiniz.

+ +

Bu yapılandırma bölümünün içinde sadece + dizin bağlamını destekleyen + yönergeler kullanılabilir.

+ +
+ <If> sonrasında atanan CONTENT_TYPE gibi belli + değişkenler ve diğer yanıt başlıkları zaten yorumlanmış olacaklarından bu + yönerge için kullanılabilir olmayacaktır. +
+ + +

Ayrıca bakınız:

+ +
+
top
+

<IfDefine> Yönergesi

+ + + + + + + +
Açıklama:Başlatma sırasında bir doğruluk sınamasından sonra işleme +sokulacak yönergeleri sarmalar.
Sözdizimi:<IfDefine [!]parametre-adı> ... + </IfDefine>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

<IfDefine sınama>...</IfDefine> + bölümü koşullu olarak işleme sokulacak yönergeleri içerir. + Bir <IfDefine> bölümü içindeki + yönergeler sadece sınama doğru sonuç verirse işleme sokulur. + Aksi takdirde, bölüm içinde kalan her şey yok sayılır.

+ +

<IfDefine> bölüm yönergesinde + sınama için belirtilebilecek iki biçim vardır:

+ +
    +
  • parametre-adı
  • + +
  • !parametre-adı
  • +
+ +

Birinci durumda bölüm içinde kalan yönergeler sadece + parametre-adı ile belirtilen parametre tanımlı ise işleme + sokulur. İkinci durumda ise tersi yapılır, yani sadece + parametre-adı ile belirtilen parametre tanımlı + değil ise yönergeler işleme sokulur.

+ +

parametre-adı argümanı sunucu başlatılırken + httpd komut satırında + -Dparametre ile + veya Define yönergesi ile + belirtilerek tanımlı hale getirilebilir.

+ +

<IfDefine> bölümleri iç içe + olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir. + Örnek:

+ +

httpd -DReverseProxy -DUseCache -DMemCache ...

+
<IfDefine ReverseProxy>
+  LoadModule proxy_module   modules/mod_proxy.so
+  LoadModule proxy_http_module   modules/mod_proxy_http.so
+  <IfDefine UseCache>
+    LoadModule cache_module   modules/mod_cache.so
+    <IfDefine MemCache>
+      LoadModule mem_cache_module   modules/mod_mem_cache.so
+    </IfDefine>
+    <IfDefine !MemCache>
+      LoadModule cache_disk_module   modules/mod_cache_disk.so
+    </IfDefine>
+  </IfDefine>
+</IfDefine>
+ + +
+
top
+

<IfDirective> Yönergesi

+ + + + + + + + +
Açıklama:Belirtilen yönerge adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.
Sözdizimi:<IfDirective [!]yönerge-adı> ... + </IfDirective>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.34 ve sonrasında kullanılabilir.
+

<IfDirective yönerge-adı> + ...</IfDirective> bölümü içindeki yönergeler + yönerge-adı ile belirtilen yönerge mevcutsa çalıştırılır yoksa + yok sayılır.

+ +

<IfDirective> yönergenide sınama iki türlü yapılır:

+ +
    +
  • yönerge-adı
  • + +
  • !yönerge-adı
  • +
+ +

İlk durumda bölüm içinde kalan yönergeler, yönerge başlangıç satırına + belirtilen yönerge işlem sırasında mevcutsa çalıştırılır, değilse + çalıştırılmaz. İkinci durumda ise, bölüm içinde kalan yönergeler, yönerge + başlangıç satırına belirtilen yönerge işlem sırasında mevcut + değilse çalıştırılır, mevcutsa çalıştırılmaz.

+ +
Bu yönergeyi kullanma ihtiyacı sadece çok sayıda + httpd tek bir yapılandırma dosyası ile çalıştırılmak + zorundaysa ortaya çıkar. Böyle bir ihtiyacın olmadığı normal durumlarda + yönergelerin <IfDirective> bölümlerine + yerleştirlmesine gerek yoktur.
+ +

Ayrıca bakınız:

+ +
+
top
+

<IfFile> Yönergesi

+ + + + + + + + +
Açıklama:Başlatma sırasında bir dosyanın varlığı durumunda işleme +sokulacak yönergeleri sarmalar.
Sözdizimi:<IfFile [!]dosyaadı> ... + </IfFile>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.34 ve sonrsında kullanılabilir.
+

<IfFile dosyaadı>...</IfFile> + bölümü bir dosyanın diskteki mevcudiyetine bağlı olarak + çalıştırılacak yönergeleri belirtmekte kullanılır. + <IfFile> bölümü içindeki yönergeler + sadece diskte dosyaadı mevcutsa çalıştırılır. dosyaadı + mevcut değilse bölüm içindeki yönergeler yok sayılır. dosyaadı + sunucu kök dizinine göreli veya mutlak bir yol olarak belirtilebilir.

+ +

<IfFile> bölüm yönergesindeki + dosyaadı, <IfDefine> yönergesindeki sınama değişkenindeki gibi + ele alınır, yani dosyaadı bir ! ile öncelenirse bölüm içindeki + yonergeler dosyanın yokluğu durumunda çalıştırılır. +

+ +

Göreli bir dosyaadı belirtilmişse sınama ServerRoot yönergesinde belirtilen dizinde göre + yapılır. <IfFile> yönergesinin + ServerRoot yönergesinde önce yer alması + durumunda dosya yolu derleme sırasında kullanılan sunucu köküne veya komut + satırında -d seçeneği ile belirtilen dizine göre sınanır.

+ +

Uyarı

+ 2.4.34 sürümünde, dosyaadı'nı tırnak içinde belirtmek mümkün + değildi. Bu, başlatma sırasında çözümleme hatasına sebep oluyordu. Bunun + başlıca etkisi, boşluklu dosya adlarının kullanılamamasıdır. Bu sorun, + 2.4.35 sürümünde düzeltildi.
+ + +
+
top
+

<IfModule> Yönergesi

+ + + + + + + + +
Açıklama:Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak +yönergeleri sarmalar.
Sözdizimi:<IfModule [!]modül-dosyası|modül-betimleyici> ... + </IfModule>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:Modül betimleyiciler 2.1 sürümünde ve sonrası için geçerlidir.
+

<IfModule sınama>...</IfModule> + bölümü belli bir modülün varlığına veya yokluğuna göre işleme sokulacak + yönergeleri içerir. Bir <IfModule> + bölümü içindeki yönergeler sadece sınama doğru sonuç verirse + işleme sokulur. Aksi takdirde, bölüm içinde kalan her şey yok sayılır.

+ +

<IfModule> bölüm yönergesinde + sınama için belirtilebilecek iki biçim vardır:

+ +
    +
  • modül
  • + +
  • !modül
  • +
+ +

Birinci durumda bölüm içinde kalan yönergeler sadece modül + ile belirtilen modül Apache httpd içine dahil edilmişse veya + LoadModule yönergesi ile devingen + olarak yüklenmişse işleme sokulur. İkinci durumda ise tersi yapılır, yani + sadece modül içerilmiş değil ise yönergeler + işleme sokulur.

+ +

modül argümanında bir modül betimleyici veya modülün derleme + sırasındaki dosya adı belirtilebilir. Örneğin, rewrite_module + bir betimleyici, mod_rewrite.c ise bir dosya ismidir. Eğer + modül çok sayıda kaynak dosyasından oluşuyorsa + STANDARD20_MODULE_STUFF dizgesini içeren dosyanın ismi + kullanılır.

+ +

<IfModule> bölümleri iç içe + olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.

+ +
Bu bölümü sadece yapılandırma dosyanızın belli modüllerin varlığına + veya yokluğuna bağlı olarak çalışması gerektiği durumlarda + kullanmalısınız. Normal işlemlerde yönergelerin <IfModule> bölümlerine yerleştirilmeleri + gerekmez.
+ +
+
top
+

<IfSection> Yönergesi

+ + + + + + + + +
Açıklama:Belirtilen bölüm adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.
Sözdizimi:<IfSection [!]bölüm-adı> ... + </IfSection>
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.34 ve sonrasında kullanılabilir.
+

<IfSection bölüm-adı> + ...</IfSection> bölümü içindeki yönergeler + bölüm-adı ile belirtilen bölüm mevcutsa çalıştırılır yoksa + yok sayılır. Bir bölüm yönergesi "<" ile öncelenmiş bir yönerge adına + sahip olmalı ve <VirtualHost> gibi başka + yönergeleri sarmalayan bir yönerge olmalıdır.

+ +

<IfSection> bölümü içindeki + yönergeler sadece sınama doğru ise çalıştırılır, + sınama yanlışsa çalıştırılmaz.

+ +

bölüm-adı başında "<" veya sonunda ">" olmaksızın + belirtilmelidir. <IfSection> + yönergesindeki bölüm-adı iki türlü ele alınır:

+ +
    +
  • bölüm-adı
  • +
  • !bölüm-adı
  • +
+ +

İlk durumda bölüm içinde kalan yönergeler, yönerge başlangıç satırına + belirtilen bölüm işlem sırasında mevcutsa çalıştırılır, değilse + çalıştırılmaz. İkinci durumda ise, bölüm içinde kalan yönergeler, yönerge + başlangıç satırına belirtilen bölüm işlem sırasında mevcut + değilse çalıştırılır, mevcutsa çalıştırılmaz.

+ +

Örnek:

+ +
<IfSection VirtualHost>
+   ...
+</IfSection>
+ + +
Bu yönergeyi kullanma ihtiyacı sadece çok sayıda + httpd tek bir yapılandırma dosyası ile (belli bir bölüm + yönergesinin var olup olmamasına bakmaksızın) çalıştırılmak + zorundaysa ortaya çıkar. Böyle bir ihtiyacın olmadığı normal durumlarda + yönergelerin <IfSection> bölümlerine + yerleştirlmesine gerek yoktur.
+ +

Ayrıca bakınız:

+ +
+
top
+

Include Yönergesi

+ + + + + + + +
Açıklama:Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar. +
Sözdizimi:Include dosya-yolu|dizin-yolu|joker
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
Uyumluluk:Dizin kalıbıyla eşleşme ise 2.3.6 ve sonrasında mevcuttur.
+

Bu yönerge sunucu yapılandırma dosyalarının başka dosyaları içermesini + mümkün kılar.

+ +

Çok sayıda dosyayı bir kerede alfabetik sırada içermek için yolun dosya + ismi ve dizin parçalarında kabuk tarzı (fnmatch()) dosya + ismi kalıp karakterleri kullanılabilir. Ayrıca, eğer + Include yönergesi bir dosya değil de bir dizin + gösteriyorsa Apache httpd bu dizindeki ve alt dizinlerindeki bütün + dosyaları okuyacaktır. Bunula birlikte, dizinin bir bütün olarak + okutulması önerilmez, çünkü dizinde httpd programının + çökmesine sebep olabilecek geçici dosyalar unutulabilir. Bunun yerine, + belli bir şablona uyan dosyaları seçebilmek için, örneğin *.conf gibi + dosya kalıplarının kullanılmasını öneriyoruz.

+ +

Include yönergesi, bir dosya + kalıbı ifadesi hiçbir dosyayla eşleşmezse bir hatayla + başarısız olacaktır. Eşleşmeyen dosya kalıbı ifadelerinin + yoksayılması gerekiyorsa IncludeOptional yönergesi kullanılabilir.

+ +

Dosya yolu mutlak bir dosya yolu olarak belirtilebileceği gibi + ServerRoot dizinine göreli olarak + da belirtilebilir.

+ +

Örnekler:

+ +
Include /usr/local/apache2/conf/ssl.conf
+Include /usr/local/apache2/conf/vhosts/*.conf
+ + +

Veya dizinler ServerRoot dizinine + göre belirtilebilir:

+ +
Include conf/ssl.conf
+Include conf/vhosts/*.conf
+ + +

Dosya kalıbı karakterleri yolun dizin ve dosya parçalarına + yerleştirilebilir. conf/vhosts altında en azından bir + *.conf içeren hiçbir alt dizin yoksa bu örnek başarısız + olacaktır:

+ +
Include conf/vhosts/*/*.conf
+ + +

Bunun yerine, dizin ve dosyaların eksikliği durumunda aşağıdaki komut + sadece yoksayılır:

+ +
IncludeOptional conf/vhosts/*/*.conf
+ + + +

Ayrıca bakınız:

+ +
+
top
+

IncludeOptional Yönergesi

+ + + + + + + +
Açıklama:Diğer yapılandırma dosyalarının sunucu yapılandırma dosyasına dahil edilmesini sağlar
Sözdizimi:IncludeOptional dosya-yolu|dizin-yolu|joker
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
Uyumluluk:2.3.6 ve sonrasına kullanılabilmektedir. Dosya kalıp karakterleri + içermeyen dosya yollarından mevcut olmayanlar 2.4.30 sürümünden itibaren + sözdizimi hatalarına sebep olmamaktadır.
+

Bu yönerge, diğer yapılandırma dosyalarının sunucu yapılandırma + dosyasında içerilmesini sağlar. Çalışması Include yönergesi ile bir istisna dışında + aynıdır. Dosya kalıp karakterlerinin hiçbir dosya veya dizinle + eşleşmemesi veya dosya yolunun dosya sisteminde mevcut olmaması durumunda + bir hata oluşmayacak ve bu durum sadece yoksayılacaktır.

+ +

Ayrıca bakınız:

+ +
+
top
+

KeepAlive Yönergesi

+ + + + + + + +
Açıklama:HTTP kalıcı bağlantılarını etkin kılar
Sözdizimi:KeepAlive On|Off
Öntanımlı:KeepAlive On
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Keep-Alive yönergesi HTTP/1.0 protokolüne bir eklenti olup + HTTP/1.1 protokolünün kalıcı bağlantı özelliği aynı TCP bağlantısı + üzerinden çok sayıda isteğin gönderilmesini mümkün kılan uzun süreli HTTP + oturumları açılmasını sağlar. Bunun, çok sayıda resim içeren HTML + belgelerin yanıt zamanlarında bazı durumlarda %50’lik bir hızlanmayla + sonuçlandığı gösterilmiştir. Kalıcı bağlantıları etkin kılmak için + yönerge KeepAlive On şeklinde kullanılır.

+ +

HTTP/1.0 istemcileri için kalıcı bağlantılar sadece bir istemci + tarafından özellikle istendiği takdirde kullanılabilir. Ek olarak, + HTTP/1.0 istemci kalıcı bağlantıları sadece içerik uzunluğu baştan + bilindiği zaman kullanılabilir. Bu, CGI çıktısı, SSI sayfaları ve + sunucunun ürettiği dizin listeleri gibi genellikle HTTP/1.0 istemcilere + kalıcı bağlantılar kullanmayan devingen içeriklere uygulanır. HTTP/1.1 + istemciler için kalıcı bağlantılar aksi belirtilmedikçe öntanımlıdır. + İstemci istediği takdirde, uzunluğu bilinmeyen içerik kalıcı bağlantılar + üzerinden gönderilirken parçalı kodlama kullanılacaktır.

+ +

Bir istemci kalıcı bağlantı kullandığı takdirde, bağlantı üzerinden kaç + istek gönderilirse gönderilsin, + MaxConnectionsPerChild + yönergesi bakımından tek bir istek olarak değerlendirilir.

+ +

Ayrıca bakınız:

+ +
+
top
+

KeepAliveTimeout Yönergesi

+ + + + + + + +
Açıklama:Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi +
Sözdizimi:KeepAliveTimeout sayı[ms]
Öntanımlı:KeepAliveTimeout 5
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Sunucunun kalıcı bir bağlantıyı kapatmadan önce bir sonraki isteği kaç + saniye bekleyeceğini belirler. Ayrıca, ms soneki kullanılarak süreyi + milisaniye olarak belirtmek de mümkündür. İstek alındıktan sonra + Timeout yönergesiyle belirtilen + zaman aşımı değeri uygulanır.

+ +

KeepAliveTimeout için yüksek bir değer belirtmek + ağır yüklü sunucularda başarım sorunlarına yol açar. Daha yüksek bir + zaman aşımı, boştaki istemcilerin bulunduğu bağlantıları bekleyen daha + fazla sunucu sürecini meşgul edecektir.

+ +

İsme dayalı sanal konak için KeepAliveTimeout + atanmamışsa, yerel IP adresi ve portu ile en iyi eşleşen ilk sanal + konağın değeri kullanılır.

+ +
+
top
+

<Limit> Yönergesi

+ + + + + + + +
Açıklama:Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları +sarmalar.
Sözdizimi:<Limit yöntem [yöntem] ... > ... + </Limit>
BaÄŸlam:dizin, .htaccess
Geçersizleştirme:AuthConfig, Limit
Durum:Çekirdek
Modül:core
+

Erişim denetleyicileri normalde tüm erişim yöntemleri + için etkindir ve olağan olanı da budur. Genel durum olarak, + erişim denetim yönergeleri bir <Limit> bölümüne + yerleştirilmemelidir.

+ +

<Limit> bölümünün amacı, erişim + denetleyicilerinin etkilerini belli HTTP yöntemleri için sınırlamaktır. + <Limit> bölümü içinde listelenen + erişim sınırlamaları, kalan tüm diğer yöntemler için etkisiz + olacaktır. Aşağıdaki örnekte, erişim sınırlaması + POST, PUT ve DELETE yöntemleri + için uygulanmakta, diğer tüm yöntemler korumasız bırakılmaktadır:

+ +
<Limit POST PUT DELETE>
+  Require valid-user
+</Limit>
+ + +

Birden fazla bölümde kullanılabilecek yöntem isimleri: GET, + POST, PUT, DELETE, + CONNECT, OPTIONS, + PATCH, PROPFIND, PROPPATCH, + MKCOL, COPY, MOVE, + LOCK ve UNLOCK. Yöntem isimleri harf + büyüklüğüne duyarlıdır. GET yöntemi sınırlanırsa + HEAD istekleri de sınırlanmış olur. TRACE + yöntemi sınırlanamaz (bkz, TraceEnable).

+ +
Erişimi sınarlarken bir <Limit> bölümü yerine daima bir <LimitExcept> bölümünü tercih + etmelisiniz, çünkü <LimitExcept> bölümü belirtilen yöntemler dışında kalanlara + erişim koruması sağlar.
+ +

<Limit> ve + <LimitExcept> + yönergeleri iç içe olabilirler. Bu durumda, başarılı her + <Limit> veya <LimitExcept> seviyesi, erişim + denetimlerinin uygulanacağı yöntemlerle sınırlı kalmalıdır.

+ +
<Limit> veya + <LimitExcept> yönergelerini + Require yönergesi ile + birlikte kullanılırken, ilk Require yönergesinin bir başka Require yönergesinin varlığından + bağımsız olarak isteği başarıyla yetkilendirdiğine dikkat ediniz.
+ +

Örneğin, aşağıdaki yapılandırmayı ele alalım; tüm kullanıcılar + POST istekleri için yetkilendirilecek ve tüm durumlarda + Require group editors yönergesi yoksayılacaktır:

+ +
<LimitExcept GET>
+  Require valid-user
+</LimitExcept>
+<Limit POST>
+  Require group editors
+</Limit>
+ + + +
+
top
+

<LimitExcept> Yönergesi

+ + + + + + + +
Açıklama:İsimleri belirtilenler dışında kalan HTTP yöntemleri için +kullanılacak erişim sınırlayıcıları sarmalar.
Sözdizimi:<LimitExcept yöntem [yöntem] ... > ... + </LimitExcept>
BaÄŸlam:dizin, .htaccess
Geçersizleştirme:AuthConfig, Limit
Durum:Çekirdek
Modül:core
+

<LimitExcept> ve + </LimitExcept> argüman olarak belirtilenler + dışında kalan HTTP yöntemleri için kullanılacak erişim + sınırlayıcıları gruplamakta kullanılır. Yani, <Limit> bölümünün tersine, standart olsun olmasın + bütün yöntemler için erişimi kısıtlamakta kullanılabilir. Daha ayrıntılı + bilgi edinmek için <Limit> yönergesinin açıklamasına bakınız.

+ +

Örnek:

+ +
<LimitExcept POST GET>
+  Require valid-user
+</LimitExcept>
+ + + +
+
top
+

LimitInternalRecursion Yönergesi

+ + + + + + + +
Açıklama:Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını +belirler.
Sözdizimi:LimitInternalRecursion sayı [sayı]
Öntanımlı:LimitInternalRecursion 10
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Örneğin, özgün istekleri dahili olarak bir CGI betiğine yönlendiren + Action yönergesi + kullanıldığında bir dahili yönlendirme oluşur. İstek içi istekler ise + bazı URI’ler için istek yapıldığında ne olacağını bulmak için Apache + httpd’nin kullandığı bir mekanizmadır. Örneğin, + mod_dir, DirectoryIndex yönergesinde listelenen dosyalara bakmak + için istek içi istekler kullanır.

+ +

LimitInternalRecursion yönergesi sunucunun dahili + yönlendirmeler ve istek içi isteklerin oluşturduğu döngülerden dolayı + çökmemesini sağlar. Böyle döngüler genellikle yanlış yapılandırma sonucu + ortaya çıkarlar.

+ +

Yönerge her istek için değerlendirmeye alınacak iki farklı sınırlama + için kullanılabilir. İlk sayı ardarda gelebilen dahili + yönlendirmelerin azami sayısını, ikinci sayı ise istek içi + isteklerin ne kadar iç içe olabileceğini belirler. Tek bir + sayı belirtilirse iki sınırlama için de aynı değer + kullanılır.

+ +
LimitInternalRecursion 5
+ + +
+
top
+

LimitRequestBody Yönergesi

+ + + + + + + + + +
Açıklama:İstemci tarafından gönderilen HTTP istek gövdesinin toplam +uzunluğunu sınırlar.
Sözdizimi:LimitRequestBody bayt-sayısı
Öntanımlı:LimitRequestBody 1073741824
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
Uyumluluk:Apache HTTP Sunucusu 2.4.53 ve öncesinde, öntanımlı değer 0 idi (sınırsız)
+

Bu yönerge, bir istek gövdesinde izin verilen bayt sayısını sınırlamak + için kullanılır. 0 sınırsız anlamına gelir.

+ +

LimitRequestBody yönergesi kullanıcıya yönergenin + kullanıldığı bağlam (sunucu, belli bir dizin, belli bir dosya, belli bir + yer) dahilinde bir HTTP istek iletisi gövdesinin izin verilen uzunluğu + için bir sınır belirleme imkanı verir. Eğer istemcinin isteği bu sınırı + aşarsa sunucu isteği sunmak yerine bir hata iletisi döndürecektir. Normal + bir istek ileti gövdesinin uzunluğu büyük oranda özkaynağın doğasına ve + bu özkaynak üzerinde izin verilen yöntemlere bağlıdır. CGI betikleri + genellikle ileti gövdesini form bilgisini almak için kullanır. + PUT yöntemi gerçeklenimleri, en azından, sunucunun o + özkaynak için kabul etmek isteyeceği herhangi bir gösterim kadar büyük + bir değer gerektirecektir.

+ +

Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar.

+ +

Eğer, örneğin, belli bir yere dosya yükleme izni verir ve buraya + yüklenebilecek dosya boyutunu 100 kB ile sınırlamak isterseniz yönergeyi + şöyle kullanabilirsiniz:

+ +
LimitRequestBody 102400
+ + + +
+
top
+

LimitRequestFields Yönergesi

+ + + + + + + +
Açıklama:İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını +sınırlar.
Sözdizimi:LimitRequestFields sayı
Öntanımlı:LimitRequestFields 100
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

sayıya 0 atanması sınırsız anlamına gelir. + Öntanımlı değer bir derleme zamanı sabiti olan + DEFAULT_LIMIT_REQUEST_FIELDS ile belirlenir (dağıtımla gelen + değeri 100’dür).

+ +

LimitRequestFields yönergesi sunucu + yöneticilerine bir HTTP isteğinde izin verilen istek başlık alanlarının + sayısı üzerindeki sınırı değiştirebilme imkanı verir. Sunucu bu değerin, + normal bir istemci isteğinin içerebileceği alan sayısından daha büyük + olmasına ihtiyaç duyar. Bir istemci tarafından kullanılan istek başlık + alanlarının sayısı nadiren 20’yi geçer, fakat bu farklı istemci + gerçeklenimleri için değişiklik gösterir ve çoğunlukla kullanıcının + tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl + yapılandırdığıyla ilgilidir. İsteğe bağlı HTTP eklentileri çoğunlukla + istek başlık alanları kullanılarak ifade edilir.

+ +

Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar. Eğer normal istemciler sunucudan istekte bulunurken çok + fazla başlık alanı gönderildiğine dair bir hata iletisi alırlarsa bu + değerin arttırılması gerekir.

+ +

Örnek:

+ +
LimitRequestFields 50
+ + +

Uyarı

+

İsme dayalı sanal konaklar kullanıldığında, bu yönergenin değeri, + yerel IP adresi ve port çifti için öntanımlı olan (listedeki ilk) sanal + konaktan alınır.

. +
+ +
+
top
+

LimitRequestFieldSize Yönergesi

+ + + + + + + +
Açıklama:İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar. +
Sözdizimi:LimitRequestFieldSize bayt-sayısı
Öntanımlı:LimitRequestFieldSize 8190
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Bu yönerge, HTTP istek başlığında izin verilecek bayt sayısını + belirler.

+ +

LimitRequestFieldSize yönergesi, sunucu + yöneticilerine HTTP istek başlık alanının azami uzunluğunu ayarlama + imkanı verir. Sunucu bu değerin, normal bir istemci isteğinin + içerebileceği herhangi bir başlık alanını tutabilecek kadar büyük + olmasını gerektirir. Normal bir istek başlık alanı uzunluğu kullanıcının + tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl + yapılandırdığıyla ilgilidir. SPNEGO kimlik doğrulama başlıkları 12392 + baytlık olabilir.

+ +

Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar.

+ +

Örnek:

+ +
LimitRequestFieldSize 4094
+ + +
Normal şartlar altında öntanımlı değer değiştirilmemelidir. Ayrıca, + kaynak kodu değiştirip yeniden derlemeden bu değeri 8190'dan büyük + yapamazsınız.
+ +

Uyarı

+

İsme dayalı sanal konaklar kullanıldığında, bu yönergenin değeri, + yerel IP adresi ve port çifti için öntanımlı olan (listedeki ilk) sanal + konaktan alınır.

+
+ +
+
top
+

LimitRequestLine Yönergesi

+ + + + + + + +
Açıklama:İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar. +
Sözdizimi:LimitRequestLine bayt-sayısı
Öntanımlı:LimitRequestLine 8190
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Bu yönerge, HTTP istek satırında izin verilecek bayt sayısını + belirler.

+ +

LimitRequestLine yönergesi, sunucu yöneticilerine + bir istemcinin HTTP istek satırının azami uzunluğunu ayarlama + imkanı verir. İstek satırının içeriği HTTP yöntemi, URI ve protokol + sürümünden oluştuğundan LimitRequestLine + yönergesi, sunucudan bir istek için kullanılan istek adresinin uzunluğunu + sınırlamış olur. Sunucu bu değerin, bir GET isteğinin sorgu + kısmında aktarılabilen her bilgi dahil, özkaynak isimlerinden her birini + tutabilecek kadar büyük olmasını gerektirir.

+ +

Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar.

+ +

Örnek:

+ +
LimitRequestLine 4094
+ + +
Normal şartlar altında öntanımlı değer değiştirilmemelidir.
+ +

Uyarı

+

İsme dayalı sanal konaklar kullanıldığında, bu yönergenin değeri, + yerel IP adresi ve port çifti için öntanımlı olan (listedeki ilk) sanal + konaktan alınır.

+
+ +
+
top
+

LimitXMLRequestBody Yönergesi

+ + + + + + + + +
Açıklama:Bir XML temelli istek gövdesinin uzunluğunu sınırlar.
Sözdizimi:LimitXMLRequestBody bayt-sayısı
Öntanımlı:LimitXMLRequestBody 1000000
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

Bir XML temelli istek gövdesinin azami bayt sayısını belirler. + 0 değeri, XML'in sistem adreslenebilir belleğinin sınırları + içinde sarmalanmasına izin veren (32bit ve 64bit sisteme bağlı olarak) + katı bir sınırlama uygular, ancak yalnızca uyumluluk için vardır ve + önerilmez, çünkü genel sistemde belleğin yetersiz kalmasına neden + olabilecek eşzamanlı istekleri veya başka bir yerde tüketilen belleği + hesaba katmaz.

+ +

Örnek:

+ +
# 1 MiB'lık sınırlama
+LimitXMLRequestBody 1073741824
+ + + +
+
top
+

<Location> Yönergesi

+ + + + + + +
Açıklama:İçerdiği yönergeler sadece eşleşen URL’lere uygulanır. +
Sözdizimi:<Location URL-yolu|URL> ... +</Location>
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

<Location> bölüm yönergesi kapsadığı + yönergelerin etki alanını belirtilen URL’lerle sınırlar. Bu yönerge, + <Directory> yönergesine + benzer ve </Location> yönergesi ile biten bir alt + bölüm başlatır. <Location> bölümleri + yapılandırma dosyasında göründükleri sıraya göre, <Directory> bölümleri ve + .htaccess dosyaları okunup <Files> bölümleri de işlendikten sonra işleme + sokulurlar.

+ +

<Location> bölümleri dosya + sisteminin tamamen dışında işlem görürler. Bunun çeşitli sonuçları olur. + En önemlisi, <Location> + yönergelerinin dosya sistemi konumlarına erişimi denetim altına almak + için kullanılmaması gerekliliğidir. Aynı dosya sistemi konumuna farklı + URL’lerle erişmek mümkün olduğundan bu tür erişim denetimleri hile ile + atlatılabilir olacaktır.

+ +

URL'nin yol bileşeni aşağıdaki koşullardan herhangi birini + sağlıyorsa sarmalanan yönergeler isteğe uygulanır: +

+
    +
  • Belirtilen yer URL'nin yol bileÅŸeni ile tam olarak eÅŸleÅŸiyordur. +
  • +
  • Belirtilen yer bir bölü çizgisi öncesinde bitiyorsa URL'nin yol + bileÅŸeninin öneklerinden biriyle eÅŸleÅŸiyordur (baÄŸlamsal bir kök dizin + olarak). +
  • +
  • Belirtilen yer bir bölü çizgisi ile bitiyorsa URL'nin yol + bileÅŸeninin öneklerinden biriyle eÅŸleÅŸiyordur (baÄŸlamsal bir kök dizin + olarak). +
  • +
+

Aşağıdaki örnekte yer belirtimi bir bölü çizgisi ile bitirilmemiştir. + /private1, /private1/ ve + /private1/file.txt istekleri için sarmalanan yönergeler + uygulanacaktır, fakat /private1other isteğine + uygulanmayacaktır.

+ +
<Location "/private1">
+    #  ...
+</Location>
+ + +

Aşağıdaki örnekte yer belirtimi bir bölü çizgisi ile bitirilmiştir. + /private2/ ve /private2/file.txt istekleri + için sarmalanan yönergeler uygulanacaktır, fakat /private2 + ve /private2other isteklerine uygulanmayacaktır.

+ +
<Location "/private2/">
+    # ...
+</Location>
+ + +

<Location> ne zaman + kullanılmalı

+ +

<Location> yönergesini dosya sistemi + dışındaki içeriğe çeşitli yönergeler uygulamak için kullanın. Dosya + sisteminde bulunan içerik için <Directory> ve <Files> bölümlerini kullanın. Bunun istisnası, + sunucunun tamamına bir yapılandırma uygulamak için kolay bir yol olan + <Location "/"> kullanımıdır.

+
+ +

Kaynağa yapılan (vekil olmayan) tüm istekler için eşleşecek URL, + /yol/ şeklinde bir URL yolu olmalı; ne şema, ne konak ismi + ne port ne de sorgu dizgesi içermelidir. Vekil istekleri için eşleşecek + URL ise şema://sunucuadı/dosya-yolu şeklinde olmalı ve önek + içermelidir.

+ +

URL içinde dosya kalıp karakterleri kullanılabilir. Dosya kalıp + karakterleri bulunan bir dizgede bulunan ? karakteri + herhangi bir tek karakterle eşleşirken * karakteri herhangi + bir karakter dizisi ile eşleşecektir. URL yolu içindeki / karakterleri + ile hiçbir dosya kalıp karakteri eşleşmez.

+ +

Ayrıca, ~ karakteri eşliğinde + düzenli ifadeler de kullanılabilir. + Örneğin,

+ +
<Location ~ "/(ek|hususi)/veri">
+    #...
+</Location>
+ + +

yönergesi /ek/veri ve /hususi/veri alt + dizgeleriyle eşleşecektir. <LocationMatch> yönergesi <Location> yönergesinin düzenli ifade sürümüne + eşdeğer davranır ve bir çok yazı tipinde ~ karakterini + - karakterinden ayırmak zor olduğu için tercih edilir.

+ +

<Location> işlevselliği özellikle + SetHandler yönergesi ile birlikte + kullanışlı olur. Örneğin, durum isteklerini etkin kılmak ama sadece + example.com’dan gelen isteklere izin vermek için şöyle bir + uygulama yapabilirsiniz:

+ +
<Location "/status">
+  SetHandler server-status
+  Require host example.com
+</Location>
+ + +

/ (bölü çizgisi) hakkında

+

Bölü çizgisinin URL içinde bulunduğu yere bağlı olarak özel anlamları + vardır. Dosya sistemindeki çok sayıda yanyana kullanımının tek bir bölü + çizgisi olarak ele alındığı duruma alışkın olanlar olabilir (yani, + /home///foo ile /home/foo aynıdır). + MergeSlashes yönergesine OFF + atanmışsa URL uzayında bunun böyle olması gerekli değildir. + Eğer çok sayıda bölü çizgisinin birleştirilmeden yanyana belirtilmesi + gerekiyorsa + <LocationMatch> + yönergesinde ve <Location> + yönergesinin düzenli ifadeli kullanımında bunun açıkça belirtilmesi + gerekir.

+ +

Örneğin, <LocationMatch "^/abc"> yönergesi + /abc ile eşleşecek ama //abc ile + eşleşmeyecektir. <Location> + yönergesinin düzenli ifade içermeyen kullanımındaki davranış vekil + isteklerinde kullanılana benzer ve doğrudan kaynağa yapılan (vekil + olmayan) isteklerde çok sayıda bölü çizgisi dolaylı olarak tek bir bölü + çizgisiyle eşleşecektir. Örneğin, <Location + "/abc/def"> belirtirseniz ve istek /abc//def + şeklinde olursa bu ikisi eşleşir.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

<LocationMatch> Yönergesi

+ + + + + + +
Açıklama:İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere +uygulanır.
Sözdizimi:<LocationMatch + düzifade> ... </LocationMatch>
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

<LocationMatch> yönergesi içerdiği + yönergelerin etki alanını <Location> yönergesinin yaptığı gibi belirtilen URL’lerle + sınırlar. Ancak argüman olarak basit bir dizge değil bir düzenli ifade alır. Örneğin,

+ +
<LocationMatch "/(ek|hususi)/veri">
+    # ...
+</LocationMatch>
+ + +

yönergesi /ek/veri ve /hususi/veri alt + dizgeleriyle eşleşecektir.

+ +

Eğer hedef, /ek/veri içeren değil de + /ek/veri ile başlayan bir URL ise düzenli ifadenin önüne + ^ getirmek gerekir.

+ +
<LocationMatch "^/(ek|hususi)/veri">
+ +
+ +

2.4.8 itibariyle, isimli gruplar ve geriye başvurular elde edilmekte + olup ilgili isim büyük harfe çevrildikren sonra "MATCH_" ile + öncelendikten sonra ortama yazılmaktadır. Böylece yol elemanlarına + mod_rewrite gibi modüllerden veya düzenli ifadelerden başvurmak mümkün + kılınmıştır. Karışıklığı önlemek için, numaralı (isimsiz) geriye + başvurular yoksayılmaktadır. Bunların yerine isimli geriye başvurular + kullanılmalıdır.

+ +
<LocationMatch "^/combined/(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</LocationMatch>
+ + +

/ (bölü çizgisi) hakkında

+

Bölü çizgisi karakteri URL üzerinde göründüğü yere bağlı olarak + farklı anlamlar içerir. İnsanlar, birden çok bitişik bölü çizgisinin sık + sık tek bir bölü çizgisine daraltıldığı dosya sistemindeki davranışına + alışkın olabilir (örn, /home///foo ile + /home/foo aynıdır). + MergeSlashes yönergesine OFF + atanmışsa URL uzayında bunun böyle olması gerekli değildir. + Eğer çok sayıda bölü çizgisinin birleştirilmeden yanyana belirtilmesi + gerekiyorsa + <LocationMatch> + yönergesinde ve <Location> + yönergesinin düzenli ifadeli kullanımında bunun açıkça belirtilmesi + gerekir.

+ +

Örneğin, <LocationMatch "^/abc"> ile + /abc isteği eşleşirken //abc isteği + eşleşmez. <Location> yönergesinin + regex olmayan kullanımı vekil isteklerindeki gibi davranır. Fakat + vekil harici işlemlerde <Location> + yönergesinin regex olmayan kullanımında çok sayıda bölü çizgisi örtük + olarak tek bölü çizgisiyle eşleşir. Örneğin, + <Location "/abc/def"> belirtirseniz + /abc//def isteği bu ifade ile eşleşecektir.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

LogLevel Yönergesi

+ + + + + + + + +
Açıklama:Hata günlüklerinin ayrıntı seviyesini belirler.
Sözdizimi:LogLevel [modül:]seviye + [modül:seviye] ... +
Öntanımlı:LogLevel warn
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
Uyumluluk:Modül ve dizin bağlamındaki yapılandırmalar Apache HTTP + Sunucusunun 2.3.6 ve sonraki sürümlerinde + kullanılabilmektedir.
+

LogLevel yönergesi hata günlüklerine kaydedilen + hata iletilerinde hangi ayrıntılara yer verileceğini belirler (ErrorLog yönergesine bakınız). En yüksek önem + derecesinden başlayarak olası seviye değerleri aşağıda + sıralanmıştır:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Seviye Açıklama Örnek
emerg Acil durumlar - sistem kullanışsız."Child cannot open lock file. Exiting"
(Alt süreç kilit + dosyasını açamıyor. Çıkılıyor)
alert Ne yapılacaksa beklemeden yapılmalı."getpwuid: couldn't determine user name from uid"
(getpwuid: + Kullanıcı ismi numarasından saptanamadı)
crit Kriz durumları."socket: Failed to get a socket, exiting child"
(socket: bir + soket alınamadı, alt süreç çıkıyor)
error Hata durumları."Premature end of script headers"
(Betik başlıkları + beklenmedik şekilde bitti)
warn Uyarı durumları."child process 1234 did not exit, sending another + SIGHUP"
(1234 alt süreci çıkmadı, başka bir SIGHUP + gönderiliyor)
notice Normal fakat önemli durum."httpd: caught SIGBUS, attempting to dump core in + ..."
(httpd: SIGBUS alındı, core dökümlenmeye çalışılıyor: + ...)
info Bilgilendirme."Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."
(Sunucu meşgul + görünüyor, (StartServers veya Min/MaxSpareServers değerlerini + arttırmanız gerekebilir)...)
debug Hata ayıklama seviyesi iletileri"Opening config file ..."
(... yapılandırma dosyası + açılıyor)
trace1 İz sürme iletileri"proxy: FTP: control connection complete"
(vekil: FTP: + denetim bağlantısı sağlandı)
trace2 İz sürme iletileri"proxy: CONNECT: sending the CONNECT request to the remote + proxy"
(vekil: CONNECT: uzak vekile CONNECT isteği + gönderiliyor)
trace3 İz sürme iletileri"openssl: Handshake: start"
trace4 İz sürme iletileri"read from buffered SSL brigade, mode 0, 17 bytes"
(tamponlu + SSL gruplamasından okuma, kip 0, 17 baytİz sürme iletileri
trace5 İz sürme iletileri"map lookup FAILED: map=rewritemap key=keyname"
(eşleşme + araması BAŞARISIZ: map=rewritemap key=keyname)
trace6 İz sürme iletileri"cache lookup FAILED, forcing new map lookup"
(arabellek + araması BAŞARISIZ, yeni bir eşleşme araması başlatılıyor)
trace7 İz sürme iletileri, büyük miktarda veri dökümü"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
trace8 İz sürme iletileri, büyük miktarda veri dökümü"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"
+ +

Belli bir seviye belirtildiğinde daha yüksek seviyeden iletiler de + raporlanır. Örneğin, LogLevel info belirtildiğinde + notice ve warn günlük seviyelerinin iletileri + ayrıca raporlanacaktır.

+ +

En az crit seviyesinin kullanılması önerilir.

+ +

Örnek:

+ +
LogLevel notice
+ + + +

Ek Bilgi

+

Günlük iletileri normal bir dosyaya yazılırken notice + seviyesinden iletiler engellenemez ve dolayısıyla daima raporlanırlar. + Ancak, günlük kaydı syslog kullanılarak yapılıyorsa bu + uygulanmaz.

+
+ +

Bir modül ismi olmaksızın bir seviye belirtmek seviyeyi bu seviyedeki + tüm modüller için sıfırlayacaktır. Bir seviyyi bir modül ismiyle + birlikte belirtmek seviyeyi sadece bu modül için sıfırlayacaktır. Modül + ismi olarak, modülün kaynak dosyası ismini, modül kimliği veya + _module sonekli modül ismi belirtmek mümkündür. + Yani, aşağıdaki üç belirtim eşdeğerdedir:

+ +
LogLevel info ssl:warn
+LogLevel info mod_ssl.c:warn
+LogLevel info ssl_module:warn
+ + +

Ayrıca seviyeyi dizin bağlamında değiştirmek de mümkündür:

+ +
LogLevel info
+<Directory "/usr/local/apache/htdocs/app">
+  LogLevel debug
+</Directory>
+ + +
Dizin bağlamında günük seviyesi yapılandırması sadece istek + çözümlendikten ve istek dizinle ilişkilendirildikten sonra günlüklenen + iletileri etkiler. Bağlantı veya sunucu ile ilişkilendirilmemiş günlük + iletileri etkilenmez.
+ +

Ayrıca bakınız:

+ +
+
top
+

MaxKeepAliveRequests Yönergesi

+ + + + + + + +
Açıklama:Bir kalıcı bağlantıda izin verilen istek sayısı
Sözdizimi:MaxKeepAliveRequests sayı
Öntanımlı:MaxKeepAliveRequests 100
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

MaxKeepAliveRequests yönergesi KeepAlive etkinken bağlantı başına izin + verilecek istek sayısını sınırlar. Değer olarak 0 + belirtilirse istek sayısı sınırsız olur. Sunucu başarımını yüksek tutmak + için yüksekçe bir değer belirtmenizi öneririz.

+ +

Örnek:

+ +
MaxKeepAliveRequests 500
+ + +
+
top
+

MaxRangeOverlaps Yönergesi

+ + + + + + + + +
Açıklama:Özkaynağın tamamını döndürmeden önce izin verilen üst üste binen + aralık sayısı (100-200,150-300 gibi)
Sözdizimi:MaxRangeOverlaps default | unlimited | none | + aralık-sayısı
Öntanımlı:MaxRangeOverlaps 20
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
Uyumluluk:Apache HTTP Sunucusunun 2.3.15 ve sonraki sürümlerinde + kullanılabilmektedir.
+

MaxRangeOverlaps yönergesi, sunucunun istemciye + göndermeye gönüllü olacağı üst üste binen HTTP Range'lerinin sayısını + sınırlar. İzin verilenden daha fazlası istenmişse özkaynağın tamamı + döndürülür.

+ +
+
default
+
Üst üste binen HTTP Range'lerinin sayısını derleme sırasında + belirlenen öntanımlı 20 değeriyle sınırlar.
+ +
none
+
Üst üste binen Range başlıkları yoksayılır.
+ +
unlimited
+
Sunucunun sağlamaya gönüllü olacağı üst üste binen HTTP + Range'lerinin sayısı sınırlanmaz.
+ +
aralık sayısı
+
Sunucunun sağlamaya gönüllü olacağı üst üste binen HTTP + Range'lerinin azami sayısını ifade eden pozitif bir tamsayı.
+
+ +
+
top
+

MaxRangeReversals Yönergesi

+ + + + + + + + +
Açıklama:Özkaynağın tamamını döndürmeden önce izin verilen ters sıralı + aralık sayısı (100-200,50-70 gibi)
Sözdizimi:MaxRangeReversals default | unlimited | none | + aralık-sayısı
Öntanımlı:MaxRangeReversals 20
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
Uyumluluk:Apache HTTP Sunucusunun 2.3.15 ve sonraki sürümlerinde + kullanılabilmektedir.
+

The MaxRangeReversals yönergesi, sunucunun + istemciye göndermeye gönüllü olacağı ter sıralı HTTP Range'lerinin + sayısını sınırlar. İzin verilenden daha fazlası istenmişse + özkaynağın tamamı döndürülür.

+ +
+
default
+
Ters sıralı HTTP Range'lerinin sayısını derleme sırasında + belirlenen öntanımlı 20 değeriyle sınırlar.
+ +
none
+
Ters sıralı Range başlıkları yoksayılır.
+ +
unlimited
+
Sunucunun sağlamaya gönüllü olacağı ters sıralı HTTP + Range'lerinin sayısı sınırlanmaz.
+ +
aralık-sayısı
+
Sunucunun sağlamaya gönüllü olacağı ters sıralı HTTP + Range'lerinin azami sayısını ifade eden pozitif bir tamsayı.
+
+ +
+
top
+

MaxRanges Yönergesi

+ + + + + + + + +
Açıklama:Özkaynağın tamamını döndürmeden önce izin verilen aralık sayısı
Sözdizimi:MaxRanges default | unlimited | none | + aralık-sayısı
Öntanımlı:MaxRanges 200
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
Uyumluluk:Apache HTTP Sunucusunun 2.3.15 ve sonraki sürümlerinde + kullanılabilmektedir.
+

MaxRanges yönergesi, sunucunun istemciye + göndermeye gönüllü olacağı HTTP Range'lerinin sayısını sınırlar. İzin + verilenden daha fazlası istenmişse özkaynağın tamamı döndürülür.

+ +
+
default
+
HTTP Range'lerinin sayısını derleme sırasında belirlenen öntanımlı + 200 değeriyle sınırlar.
+ +
none
+
Range başlıkları yoksayılır.
+ +
unlimited
+
Sunucunun sağlamaya gönüllü olacağı HTTP Range'lerinin sayısı + sınırlanmaz.
+ +
aralık-sayısı
+
Sunucunun sağlamaya gönüllü olacağı HTTP Range'lerinin azami + sayısını ifade eden pozitif bir tamsayı.
+
+ +
+
top
+

MergeSlashes Yönergesi

+ + + + + + + + +
Açıklama:Sunucunun URL’lerde ardışık bölü çizgilerini birleştirip birleştirmeyeceğini denetler. +
Sözdizimi:MergeSlashes ON|OFF
Öntanımlı:MergeSlashes ON
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.39 sürümünde eklendi
+

Öntanımlı olarak, sunucu istek adresinin yol bileşenindeki ardışık bölü + çizgilerini ('/') birleştirip tek bölü çizgisi olarak ele alır.

+ +

Bu adresleri dosya sistemi ile eşleştirirken, bu ardışık bölü + çizgilerinin önemi yoktur. Ancak, bu adresler CGI veya vekil gibi başka + yollardan değerlendiriliyorsa bu ardışık bölü çizgilerinin olduğu gibi + kalması tercih edilebilir. Bu durumlarda ardışık bölü çizgilerinin + birleştirilmesini önlemek için, eskiden, MergeSlashes + yönergesine OFF atanabiliyordu.

+ +

OFF atanması durumunda, yapılandırma dosyasında, adresin yol + bileşeni ile eşleşen düzenli ifadelerde + (LocationMatch, RewriteRule, + ...) ardışık bölü çizgilerinin hesaba katılması gerekir. Düzenli ifade + içermeyen Location yönergeleri daima birleştirilmiş + bölü çizgileri içeren bir URL'ye karşı çalışır ve çok sayıdaki bölü + çizgileri arasında bir ayrım yapamaz.

+ +
+
top
+

MergeTrailers Yönergesi

+ + + + + + + + +
Açıklama:Trailer alanlarının başlığa dahil edilip edilmeyeceğini belirler
Sözdizimi:MergeTrailers [on|off]
Öntanımlı:MergeTrailers off
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.11 ve sonrası
+

Bu yönerge HTTP Trailer alanlarının dahili HTTP başlıklarına kopyalanıp + kopyalanmayacağını belirler. Kopyalama işlemi istek gövdesi tamamen + alındığında gerçekleşir, çoğu başlık işleminin çok sonra istek + başlıklarını inceleme veya değiştirme şansı olur.

+

Bu seçenek, Trailer alanlarını daima kopyalayan 2.4.11 öncesi + dağıtımlarla uyumluluk için vardır.

+ +
+
top
+

Mutex Yönergesi

+ + + + + + + + +
Açıklama:Muteks mekanizmasını ve kilit dosyası dizinini tüm muteksler veya belirtilenler için yapılandırır
Sözdizimi:Mutex mekanizma [default|muteks-ismi] ... [OmitPID]
Öntanımlı:Mutex default
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
Uyumluluk:Apache HTTP Sunucusunun 2.3.4 ve sonraki sürümlerinde + kullanılabilmektedir.
+

Mutex yönergesi httpd ve diğer modüllerin + özkaynaklara erişimi dizgeleştirmekte kullandıkları mekanizmanın yanında + isteğe bağlı olarak kilit dosyasının yerini belirler. İlk değiştirge + olarak default belirtilirse tüm mutekslerin ayarları + değişir; ikinci değiştirge olarak bir muteks ismi belirtilirse (aşağıdaki + tabloya bakın) yalnızca bu muteksin öntanımlıları değişir.

+ +

Mutex yönergesi genelde aşağıdaki istisnai + durumlarda kullanılır:

+ +
    +
  • Ä°ÅŸlevsel veya baÅŸarımsal bir soruna sahip APR + tarafından öntanımlı mekanizma seçildiÄŸi takdirde muteks + mekanizmasını deÄŸiÅŸtirmek için
  • + +
  • Öntanımlı dizin, kilitlemeyi desteklemediÄŸi takdirde dosya tabanlı + muteksler tarafından kullanılan dizini deÄŸiÅŸtirmek için
  • +
+ +

Destekleyen modüller

+

Bu yönerge sadece ap_mutex_register() API'si kullanılarak + çekirdek sunucuda imlenmiş muteksleri yapılandırır. httpd ile birlikte + dağıtılan tüm modüller Mutex yönergesini + destekler, fakat üçüncü parti modüllerin hepsi desteklemeyebilir. Bu + yönergenin desteklenip desteklenmediğini öğrenmek için üçüncü parti + modülün belgelerini inceleyin; destekliyorsa muteks ad(lar)ı + belirtilmiştir.

+
+ +

Kullanılabilen muteks mekanizmaları:

+
    +
  • default | yes +

    APR tarafından saptanan öntanımlı kilitleme + gerçeklenimini seçer. Öntanımlı kilitleme gerçeklenimi + httpd -V seçeneği ile çalıştırılarak + öğrenilebilir.

  • + +
  • none | no +

    Muteksi etkin şekilde iptal eder. Buna bir mutekste izin + verilebilmesi için modülün bunun geçerli bir seçim olduğunu + belirtmesi gerekir. Daha fazla bilgi için modül belgelerini + inceleyin.

  • + +
  • posixsem +

    POSIX semaforuna dayalı bir muteks çeşididir.

    +

    Uyarı

    +

    Süreçteki bir evre muteks parçalama arızalarını tutuyorsa, + httpd'nin çökmesi sonucu, semafor sahipliği geri kazanılmaz.

    +
    +
  • + +
  • sysvsem +

    SystemV IPC semaforuna dayalı bir muteks çeşididir.

    +

    Uyarı

    +

    Semafor geri kazanılmadan süreçler çökerse SysV semaforlarının + "sızıntı" yapması mümkündür.

    +
    +

    Güvenlik

    +

    Semafor API'si, HTTP sunucusu ile aynı kullanıcı kimliği altında + çalışan bir CGI (örn, suexec veya + cgiwrapper gibi bir araç kullanmıyorsanız bütün + CGI'ler) tarafından hizmet reddi saldırısı yapılmasına izin + verir.

    +
    +
  • + +
  • sem +

    POSIX ve SystemV IPC semaforları arasından kullanılabilir "en iyi" + semafor gerçeklenimini seçer.

  • + +
  • pthread +

    Süreç çaprazlamalı POSIX evre mutekslerine dayalı bir muteks + çeşididir.

    +

    Uyarı

    +

    Çoğu sistemde, bir çocuk süreç bu gerçeklenim tarafından kullanılan + bir muteksi tutarken olağandışı bir şekilde sonlanırsa httpd donar + ve isteklere yanıt vermeyi durdurur. Bu olduğunda sunucuyu bu + durumdan kurtarmak için elle yeniden başlatmak gerekir.

    +

    Bu duruma karşı bir mekanizma sağlayan Solaris ve Linux dikkate + değer bir istisnadır. Bu mekanizma, bir muteksi tutan bir çocuk + süreç olağandışı bir şekilde sonlandıktan sonra muteksin + kurtarılmasını sağlar.

    +

    Sisteminiz POSIX uyumluysa veya + pthread_mutexattr_setrobust_np() işlevini + sağlıyorsa pthread seçeneğini rahatça + kullanabilirsiniz.

    +
    +
  • + +
  • fcntl:/path/to/mutex +

    Muteks olarak fcntl() işlevini ve fiziksel bir (lock-) + dosyasını kullanan bir muteks çeşididir.

    +

    Uyarı

    +

    Bu mekanizmaya dayalı çok sayıda muteks, çok evreli ve çok süreçli + ortamlarda kullanıldığında, örneğin Solaris'te olduğu gibi + fcntl() evrelerden bihaberse, geçerli muteks + işlemlerinde donma hataları (EDEADLK) raporlanabilir.

    +
    +
  • + +
  • flock:/path/to/mutex +

    flock() işlevinin dosya kilitlemeyi sağlaması dışında + fcntl:/path/to/mutex yöntemine benzer.

  • + +
  • file:/path/to/mutex +

    fcntl ve flock arasından kullanılabilir + "en iyi" dosya kilitleme gerçeklenimini seçer.

  • +
+ +

Çoğu mekanizma, yalnız kendilerini destekleyen platformlarda + APR tarafından da destekleniyorsa kullanılabilir. + Tüm platformlarda kullanılamayan mekanizmalar posixsem, + sysvsem, sem, pthread, fcntl, + flock ve file mekanizmalarıdır.

+ +

fcntl ve flock dosya tabanlı mekanizmaları ile bir + yol sağlandığı takdirde bu, kilit dosyasının oluşturulacağı dizindir. + Öntanımlı dizin, httpd'nin çalışma anı dizini ServerRoot'a görelidir. + /path/to/mutex için daima bir yerel diskteki dosya sistemi + kullanılır, asla NFS- veya AFS gibi bir ağ dosya sistemi kullanılmaz. + Dosya ismi daima muteks ismi ile başlar, buna modül tarafından sağlanan + isteğe bağlı bir aşama dizgesi eklenebilir, OmitPID değeri + belirtilmemişse httpd ebeveyn sürecinin süreç kimliği buna eklenerek + dosya ismi eşsiz kılınır. Böylece, çok sayıda httpd süreci aynı kilit + dosyası dizinini paylaştığı durumda çakışmalar önlenmiş olur. Örneğin, + muteks ismi mpm-accept ise ve kilit dosyası dizini + /var/httpd/locks ise ve ebeveyn süreç kimliği 12345 ise bu + httpd sürecine ait kilit dosyası ismi + /var/httpd/locks/mpm-accept.12345 olurdu.

+ +

Güvenlik

+

Muteks dosyalarını herkesin yazabildiği /var/tmp gibi + dizinlere koymaktan kaçınmak en iyisidir. Örneğin, birinin aynı + dizinde oluşturmaya çalıştığı bir dosya ile aynı isimde bir kilit + dosyasını sunucunun da oluşturmaya çalıştığı durumda sunucu engellenerek + bir hizmet reddi saldırısı gerçekleştirilmiş gibi olur.

+
+ +

httpd ve birlikte dağıtılan modüller tarafından kullanılan mutekslerin + isimleri:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Muteks ismiModül(ler)Korunan özkaynak
mpm-acceptprefork ve worker MPM'leri + Gürleyen sürü sorunundan kaçınmak için gelen bağlantılar; daha + fazla bilgi için başarımın + arttırılması belgesine bakın.
authdigest-clientmod_auth_digestPaylaşımlı bellekteki istemci listesi
authdigest-opaquemod_auth_digestPaylaşımlı bellekteki sayaç
ldap-cachemod_ldapLDAP sonuç arabelleği
rewrite-mapmod_rewriteÇoklu isteklerdeki birbirine karışmış G/Ç'tan kaçınmak için + harici eşleştirme progamlarıyla iletişim
ssl-cachemod_sslSSL oturum arabelleÄŸi
ssl-staplingmod_sslOCSP zımbalama yanıtı arabelleği
watchdog-callbackmod_watchdogBir istemci modülünün geri çağırım işlevi
+ +

OmitPID seçeneği, httpd ebeveyn süreç kimliğinin kilit + dosyası ismine eklenmesini engeller.

+ +

Aşağıdaki örnekte, mpm-accept muteksinin mekanizmasının + derleme sırasındaki öntanımlısı, kilit dosyasının oluşturulacağı dizinin + /var/httpd/locks olarak belirtildiği fcntl + mekanizmasıyla değiştirilmektedir.Tüm diğer mutekslerin derleme anı + öntanımlı mekanizması ise sysvsem ile + değiştirilmektedir.

+ +
Mutex sysvsem default
+Mutex fcntl:/var/httpd/locks mpm-accept
+ + +
+
top
+

NameVirtualHost Yönergesi

+ + + + + + +
Açıklama:ÖNERİLMİYOR: İsme dayalı sanal konaklar için IP adresi belirtir
Sözdizimi:NameVirtualHost adres[:port]
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
+

2.3.11 öncesinde, NameVirtualHost yönergesi, + isme dayalı sanal konaklar için belli bir IP adresi ve port çiftini + sunucuya tanıtmak için gerekliydi. 2.3.11 ve sonrasında, bir IP adresi + ve port çifti her zaman çok sayıda sanal konakta kullanılabilmekte, + isme dayalı sanal barındırma bu adres için özdevinimli olarak etkin + kılınmaktadır.

+ +

Bu yönerge şu an etkisizdir.

+ +

Ayrıca bakınız:

+ +
+
top
+

Options Yönergesi

+ + + + + + + + + +
Açıklama:Belli bir dizinde geçerli olacak özellikleri yapılandırır. +
Sözdizimi:Options + [+|-]seçenek [[+|-]seçenek] ...
Öntanımlı:Options FollowSymlinks
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Options
Durum:Çekirdek
Modül:core
Uyumluluk:2.3.11 sürümünde öntanımlı değer All değiştirilip FollowSymlinks yapıldı.
+

Options yönergesi belli bir dizinde hangi + sunucu özelliklerinin etkin olacağını (veya olmayacağını) + belirler.

+ +

seçenek olarak hiçbir ek özellik etkin olmayacaksa + None, aksi takdirde aşağıdakilerden biri veya bir kaçı + belirtilir:

+ +
+
All
+
MultiViews hariç tüm seçenekler.
+ +
ExecCGI
+
mod_cgi kullanan CGI betiklerinin çalışmasına izin + verilir.
+ +
FollowSymLinks
+
Sunucu bu dizindeki sembolik bağları izler. Bu öntanımlıdır. +
+

Sembolik bağlar izlense bile <Directory> bölümleriyle eşleşen dosya + yolları değiştirilmez.

+

FollowSymLinks ve + SymLinksIfOwnerMatch Options sadece <Directory> bölümlerinde veya + .htaccess dosyaları içinde çalışır.

+

Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu + olduğundan bu seçeneğin yokluğu bir güvenlik sınırlaması olarak + değerlendirilmemelidir.

+
+ +
Includes
+
mod_include tarafından sağlanan sunucu taraflı + içeriklere izin verilir.
+ +
IncludesNOEXEC
+
Sunucu taraflı içeriklere izin verilir fakat #exec cmd + ve #exec cgi iptal edilir. Ancak, ScriptAlias’lı dizinlerdeki CGI + betikleri için #include virtual hala mümkün olacaktır.
+ +
Indexes
+
İstenen URL bir dizin ile eşleşiyorsa ve bu dizin için bir DirectoryIndex (index.html + gibi) belirtilmemişse mod_autoindex bu dizinin + biçimlenmiş bir listesini döndürecektir.
+ +
MultiViews
+
mod_negotiation kullanılarak içerik uzlaştırmalı çok + görünümlü içeriğe izin verilir. +

Bilgi

mod_negotiation + karşılaştırmak değerlendirmek için gerçek özkaynaklara ihtiyaç + duyduğundan <Directory> yönergesinde belirtilendan farklı bir yer + ayarlanırsa bu seçenek yoksayılır.

+
+ +
SymLinksIfOwnerMatch
+
Sunucu sembolik bağları sadece sembolik bağın hedefi ile bulunduğu + dizinin sahibinin aynı kullanıcı olması halinde izleyecektir. + +

FollowSymLinks ve + SymLinksIfOwnerMatch Options sadece <Directory> bölümlerinde veya + .htaccess dosyaları içinde çalışır.

+ +

Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu + olduğundan bu seçenek bir güvenlik sınırlaması olarak + değerlendirilmemelidir.

+
+
+ +

Normalde, bir dizine çok sayıda Options + uygulanabilirse de, dizine en uygun olanı uygulanıp diğerleri yok + sayılır; seçenekler katıştırılmaz (bkz, Bölümler Nasıl Katıştırılır?). Bununla birlikte, önüne bir + + veya - simgesi konmuş seçenekler varsa, o + seçenekler katıştırılır. Önüne + konmuş seçenekler + mevcutlara eklenirken - konmuş seçenekler silinir.

+ +

Bilgi

+

+ veya - imli seçenekler içeren + Options ile imsiz seçenekler içerenlerin karışık + olarak kullanılması aslında geçersiz bir sözdizimi olup sunucunun + başlatılması sırasında sözdizimi denetiminin çıkmasıyla reddedilir.

+
+ +

Örneğin, + ve - imleri olmaksızın,

+ +
<Directory "/web/docs">
+  Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+  Options Includes
+</Directory>
+ + +

yapılandırmasıyla /web/docs/spec dizininde sadece + Includes seçeneği etkin olacaktır. Bununla birlikte, ikinci + Options yönergesinde + ve + - imleri kullanılırsa,

+ +
<Directory "/web/docs">
+  Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+  Options +Includes -Indexes
+</Directory>
+ + +

yapılandırmasıyla /web/docs/spec dizininde + FollowSymLinks ve Includes seçenekleri etkin + olacaktır.

+ +

Ek Bilgi

+

-IncludesNOEXEC veya -Includes kullanımı, + önceki ayarların ne olduğuna bakılmaksızın sunucu taraflı içeriğin + tamamen iptaline sebep olur.

+
+ +

Herhangi bir başka değer belirtilmedikçe FollowSymlinks + öntanımlıdır.

+ +
+
top
+

Protocol Yönergesi

+ + + + + + + +
Açıklama:Dinlenen bir soket için protokol
Sözdizimi:Protocol protokol
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:Apache httpd 2.1.5 ve sonrasında kullanılabilmektedir. + Windows'ta ise Apache httpd 2.3.3 ve sonrasında + kullanılabilmektedir. +
+

Bu yönerge dinlenen belli bir soket için kullanılacak protokolü + belirler. Belirtilen protokol bir isteği hangi modülün ele alacağını ve + AcceptFilter yönergesiyle yapılan özel + eniyilemelere uygulanacak protokolü belirler.

+ +

Bu yönerge çoğu yapılandırma için gerekli değildir. Belirtilmezse, + port 443 için https öntanımlıdır ve diğer tüm portlar + için http ntanımlıdır. Protokol, hangi modülün bir isteği + işleyeceğini belirlemek ve AcceptFilter yönergesi ile protokole özgü + eniyilemeleri uygulamak için kullanılır.

+ +

Örneğin, https'i standartdışı bir portta çalıştırmak + isterseniz protokolü şöyle belirtebilirsiniz:

+ +
Protocol https
+ + +

Protokolü Listen + yönergesini kullanarak da belirtebilirsiniz.

+ +

Ayrıca bakınız:

+ +
+
top
+

Protocols Yönergesi

+ + + + + + + + +
Açıklama:Sunucu/sanal konak için kullanılabilecek protokoller
Sözdizimi:Protocols protokol ...
Öntanımlı:Protocols http/1.1
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:Sadece Apache 2.4.17 ve sonrasında kullanılabilir.
+

Bu yönerge bir sunucu/sanal konak için kullanılabilecek + protokolleri belirtmekte kullanılır. Bu liste, bir istemcinin bir + sanal konak veya sunucu ile uzlaşabilmesini sağlayan prokolleri + belirler.

+ +

Bir sanal konak veya sunucuda kullanılabilecek protolleri + çeşitlendirmek isterseniz bu protokolleri belirtmeniz gerekir. + 1.0 ve 0.9 istemcilerle uyumlu olan http/1.1 protokolü + öntanımlıdır.

+ +

Örneğin, bir sunucunun TLS'li HTTP/2 protokolünü desteklemesini + şöyle sağlayabilirsiniz:

+ +
Protocols h2 http/1.1
+ + +

Geçerli protokoller, http ve https bağlantıları için + http/1.1 htps bağlantıları için h2 ve + http bağlantıları için h2c protokolleridir. Modüller + başka protokollerin de etkinleştirilmesini gerektirebilir.

+ +

Kullanımından vazgeçilmiş protokollerin silinmesi gerekmez. Böyle + protokol isimleri basitçe yoksayılır.

+ +

Ana sunucu için belirtilen protokoller, kendi protokol yönergesi + olmayan sanal konaklar için de geçerlidir. Diğer yandan sanal + konaklarda protokol belirtilmesi ana sunucuda belirtien + protollerin bu sanal konaklarda geçersiz olmasına sebep olur. +

+ + +

Ayrıca bakınız:

+ +
+
top
+

ProtocolsHonorOrder Yönergesi

+ + + + + + + + +
Açıklama:Uzlaşma sırasında protokollerin öncelik sırasını belirler
Sözdizimi:ProtocolsHonorOrder On|Off
Öntanımlı:ProtocolsHonorOrder On
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:Sadece Apache 2.4.17 ve sonrasında kullanılabilir.
+

Sunucuda Protocols yönergesinde listelemiş + protokollerin mi yoksa istemcinin protokol listesinin mi öncelikli + olacağı bu yönerge ile belirtilir.

+ +

Off belirtilirse, istemcinin protokol listesi sunucu + yapılandırmasındaki sıralamanın önüne geçer.

+ +

ProtocolsHonorOrder yönergesine on + belirtilirse (öntanımlıdır), istemicinin protokol sıralaması dikkate + alınmaz ve protokol uzlaşımının sonucunu sunucu ayarlarındaki + sıralama belirler.

+ + +

Ayrıca bakınız:

+ +
+
top
+

QualifyRedirectURL Yönergesi

+ + + + + + + + + +
Açıklama:REDIRECT_URL ortam değişkeninin tamamen nitelenmiş olup +olmayacağını denetler
Sözdizimi:QualifyRedirectURL On|Off
Öntanımlı:QualifyRedirectURL Off
BaÄŸlam:sunucu geneli, sanal konak, dizin
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:Yönerge 2.4.18 ve sonrasında desteklenmektedir. 2.4.17 +sürümünde 'QualifyRedirectURL On' yapılandırması mevcutmuş gibi +davranılır.
+

Bu yönerge sunucuya REDIRECT_URL ortam değişkenin tamamen nitelenmiş + olacağını temin eder. Değişken öntanımlı olarak istemci tarafından talep + edilen URL'yi harfi harfine içerir, "/index.html" gibi. + QualifyRedirectURL On belirtilseydi + aynı istek "http://www.example.com/index.html" gibi bir değerle + sonuçlanırdı.

+ +

Böyle belirtilmemiş olsa bile, istek tam nitelenmiş bir URL + içerseydi REDIRECT_URL de tam nitelenmiş URL'yi içerirdi. +

+ +
+
top
+

ReadBufferSize Yönergesi

+ + + + + + + + +
Açıklama:Veriyi okumakta kullanılacak tampon sayısı
Sözdizimi:ReadBufferSize bayt-sayısı
Öntanımlı:ReadBufferSize 8192
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.27 ve sonrası
+

Bu yönerge, ağdan veya dosyalardan veri okumak için kullanılan bellek + tamponunun boyutunu (bayt cinsinden) yapılandırmaya izin verir.

+ +

Daha büyük bir arabellek, daha büyük verilerle başarımı artırabilir, + ancak bağlantı başına tüketilen bellek artar. Yapılandırılabilir en küçük + boyut 1024'tür.

+ +
+
top
+

RegexDefaultOptions Yönergesi

+ + + + + + + + +
Açıklama:Regex düzenli ifadeleri için öntanımlı/küresel seçenekleri yapılandırır
Sözdizimi:RegexDefaultOptions [none] [+|-]seçenek [[+|-]seçenek] ...
Öntanımlı:RegexDefaultOptions DOTALL DOLLAR_ENDONLY
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
Uyumluluk:Sadece Apache 2.4.30 ve sonrasında kullanılabilmektedir.
+

Bu yönerge kendisinden sonra kullanılan bütün düzenli ifsdelerin + davranışını etkiler.

+ +

'+' ile öncelenmiş bütün seçenekler önceden atanmış seçeneklere + eklenir.
+ '-' ile öncelenmiş bütün seçenekler önceden atanmış seçeneklerden + çıkarılır.
+ '+' veya '-' ile öncelenmemiş her seçenek önceden atanmış seçenekleri + silerek onların yerini alır.
+ none ile önceden atanmış tüm seçenekler sıfırlanır.

+ +

seçenek şunlardan biri olabilir:

+
+
ICASE
+
Harf büyüklüğüne duyarlı eşleşmeler kullanılır.
+ +
EXTENDED
+
Perl'ün /x seçeneği; kalıp içindeki açıklamaları ve + (öncelenmemiş) boşlukları yoksayar.
+ +
DOTALL
+
Perl'ün /s seçeneği; '.' karakteri, satırsonu karakteri ile + eşleşir.
+ +
DOLLAR_ENDONLY
+
'$' dizgenin sonu ile eÅŸleÅŸir.
+
+
# Tüm düzenli ifadeler için öntanımlı olarak ICASE seçeneğini ekler:
+RegexDefaultOptions +ICASE
+...
+# Öntanımlı DOLLAR_ENDONLY seçeneği silinir, diğer seçenekler tutulur:
+RegexDefaultOptions -DOLLAR_ENDONLY
+...
+# Atanmış seçenekler silinir, DOTALL öntanımlı seçenek yapılır:
+RegexDefaultOptions DOTALL
+...
+# Tüm seçenekler silinir, öntanımlı seçenek kalmaz.
+RegexDefaultOptions none
+...
+ + +
+
top
+

RegisterHttpMethod Yönergesi

+ + + + + + + +
Açıklama:Standart olmayan HTTP yöntemlerini devreye alır
Sözdizimi:RegisterHttpMethod yöntem [yöntem [...]]
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
Uyumluluk:Apache HTTP Sunucusunun 2.4.24 ve sonraki sürümlerinde kullanılabilmektedir.
+

Bu yönerge sunucunun standatta bulunmayan ek HTTP yöntemlerini + kullanabilmesini sağlar. Yönergelerde standartta olmayan yöntem isimleri + kullanmak gerektiğinde veya sunucunun modüllere sadece standart yöntemleri + aktaracak şekilde yapılandırıldığı durumlarda bazı standart-dışı + yöntemleri vekil veya CGI betikleriyle aktarmayı mümkün kılmak için bu + gereklidir.

+ +

Ayrıca bakınız:

+ +
+
top
+

RLimitCPU Yönergesi

+ + + + + + + + +
Açıklama:Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + işlemci tüketimine sınırlama getirir.
Sözdizimi:RLimitCPU saniye|max [saniye|max]
Öntanımlı:Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır +
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak + sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de + birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında + izin verilen üst sınıra ayarlanacağını belirtmek üzere max + olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun + root olarak veya sistem açılışı sırasında çalıştırılması + gerekir.

+ +

Bu sınırlar Apache httpd’nin kendi alt süreçlerine değil, isteklere + yanıt verirken Apache httpd alt süreçlerinin çatalladıkları süreçlere + uygulanır. Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir + fakat borulu günlük kaydı gibi ana Apache httpd süreci tarafından + çatallanmış süreçler olmazlar.

+ +

İşlemci özkaynak sınırları saniye cinsinden ifade edilir.

+ +

Ayrıca bakınız:

+ +
+
top
+

RLimitMEM Yönergesi

+ + + + + + + + +
Açıklama:Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + bellek tüketimine sınırlama getirir.
Sözdizimi:RLimitMEM bayt-sayısı|max [bayt-sayısı|max] +
Öntanımlı:Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır +
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak + sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de + birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında + izin verilen üst sınıra ayarlanacağını belirtmek üzere max + olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun + root olarak veya sistem açılışı sırasında çalıştırılması + gerekir.

+ +

Bu sınırlar Apache httpd’nin kendi alt süreçlerine değil, isteklere + yanıt verirken Apache httpd alt süreçlerinin çatalladıkları süreçlere + uygulanır. Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir + fakat borulu günlük kaydı gibi ana Apache httpd süreci tarafından + çatallanmış süreçler olmazlar.

+ +

Bellek özkaynak sınırları süreç başına bayt sayısı olarak ifade edilir. +

+ +

Ayrıca bakınız:

+ +
+
top
+

RLimitNPROC Yönergesi

+ + + + + + + + +
Açıklama:Apache httpd alt süreçleri tarafından çalıştırılabilecek süreç + sayısına sınırlama getirir.
Sözdizimi:RLimitNPROC sayı|max [sayı|max]
Öntanımlı:Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır +
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak + sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de + birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında + izin verilen üst sınıra ayarlanacağını belirtmek üzere max + olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun + root olarak veya sistem açılışı sırasında çalıştırılması + gerekir.

+ +

Bu sınırlar Apache httpd’nin kendi alt süreçlerine değil, isteklere + yanıt verirken Apache httpd alt süreçlerinin çatalladıkları süreçlere + uygulanır. Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir + fakat borulu günlük kaydı gibi ana Apache httpd süreci tarafından + çatallanmış süreçler olmazlar.

+ +

Süreç sayısı sınırı kullanıcı başına süreç sayısına sınırlama getirir. +

+ +

Ek Bilgi

+

CGI süreçleri sunucu kullanıcı kimliğinden farklı bir kullanıcı + kimliği altında çalışmıyorsa bu yönerge sunucunun kendi oluşturduğu + süreç sayısını sınırlayacaktır. Bunun kanıtı error_log’da + iletilerin çatallanamamasıdır.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

ScriptInterpreterSource Yönergesi

+ + + + + + + + + +
Açıklama:CGI betikleri için yorumlayıcı belirleme tekniği
Sözdizimi:ScriptInterpreterSource Registry|Registry-Strict|Script
Öntanımlı:ScriptInterpreterSource Script
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:Sadece Win32 için.
+

Bu yönerge Apache httpd’nin CGI betiklerini çalıştıracak yorumlayıcıyı + nasıl tespit edeceğini belirler. Script öntanımlı olup + Apache httpd’nin yorumlayıcı olarak betiğin diyezli ünlem satırında + (#! ile başlayan ilk satır) belirtilen yorumlayıcıyı + kullanacağını belirtir. Win32 sistemlerinde bu satır genellikle + şöyledir:

+ +
#!C:/Perl/bin/perl.exe
+ + +

perl yorumlayıcının yeri PATH değişkeninde + kayıtlı ise şöyle de olabilir:

+ +
#!perl
+ + +

ScriptInterpreterSource Registry değeri ise betik dosyası + uzantısının (.pl gibi) Windows Sicili içindeki + HKEY_CLASSES_ROOT ağacında arama yapmak için bir arama + anahtarı olarak kullanılmasını sağlar. Betik dosyasını çalıştırmak için + tanımlanmış komutu bulmak için Shell\ExecCGI\Command yoluna, + orada yoksa Shell\Open\Command yoluna bakılır. İkisi de + yoksa son çare olarak Script seçeneğinin davranışına + dönülür.

+ +

Güvenlik

+

ScriptAlias’lı dizinlerde + Apache httpd bulduğu her dosyayı çalıştırmayı deneyeceğinden + ScriptInterpreterSource Registry yapılandırmasını + kullanırken dikkatli olun. Registry seçeneği genellikle + çalıştırılmayacak dosyalar için istenmeyen program çağrılarına sebep + olabilir. Örneğin, çoğu Windows sisteminde .htm dosyaları + için ön tanımlı "open" komutu Microsoft Internet Explorer’ın + çalıştırılmasına sebep olur; bu bakımdan, betik dizininde bulunan bir + .htm dosyası için yapılan bir HTTP isteği tarayıcının sunucu + artalanında çalıştırılmasına sebep olacaktır. Bu, sistemi bir kaç dakika + içinde çökertmek için iyi bir yoldur.

+
+ +

Registry-Strict seçeneği Registry + seçeneğinin yaptığını + Shell\ExecCGI\Command yolu için yapar. ExecCGI + sistem tarafından bilinen bir anahtar olmadığından Windows Siciline elle + kaydedilmesi gerekir ve dolayısıyla sisteminiz üzerinde istenmeyen + program çağrılarına sebep olmaz.

+ +
+
top
+

SeeRequestTail Yönergesi

+ + + + + + + + +
Açıklama:İsteğin 63 karakterden büyük olduğu varsayımıyla, mod_status'un + ilk 63 karakteri mi yoksa son 63 karakteri mi göstereceğini + belirler.
Sözdizimi:SeeRequestTail On|Off
Öntanımlı:SeeRequestTail Off
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
Uyumluluk:Apache httpd 2.2.7 ve sonrasında kullanılabilmektedir. +
+

mod_status modülü ExtendedStatus On + ile işleme alınan asıl isteği gösterir. Tarihsel amaçlarla, isteğin + sadece 63 karakteri gösterme amacıyla saklanır. Bu yönerge ilk 63 + karakterin mi (önceki davranış ve öntanımlı durum) yoksa son 63 + karakterin mi saklanacağını belirler. Bu, şüphesiz, isteğin uzunluğu 64 + karakter veya daha fazlaysa uygulanabilirdir.

+ +

Apache httpd'ye gelen istek GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1 + ise mod_status ÅŸunu gösterir:

+ + + + + + + + + + +
Off (öntanımlı)GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples
Onorage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1
+ + +
+
top
+

ServerAdmin Yönergesi

+ + + + + + +
Açıklama:Sunucunun hata iletilerinde istemciye göstereceği eposta adresi +
Sözdizimi:ServerAdmin eposta-adresi|URL
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

ServerAdmin yönergesi, sunucunun bir hata + durumunda istemciye döndüreceği hata iletilerinde içereceği iletişim + adresini belirtmek için kullanılır. Eğer httpd + sağlanan değerin bir URL olmadığını saptarsa değerin bir eposta adresi + olduğuna hükmeder ve önüne mailto: getirerek onu bir hiper + bağ hedefi olarak kullanır. Çoğu CGI betiği bir eposta adresi + belirtildiği kabulünü yaptığından değer olarak bir URL değil bir eposta + adresi belirtmeniz önerilir. Eğer bir URL belirtecekseniz hedef sizin + denetiminizde olan başka bir sunucuda bulunmalıdır, yoksa kullanıcılar + hata durumunda bu adrese erişemeyebilirler.

+ +

Kullanıcıların sunucu hakkında konuşurken isminizden bahsetmemeleri için + burada belirtilecek adresin sırf bu işe adanmış bir adres olması daha + iyidir. Örnek:

+ +
ServerAdmin www-admin@foo.example.com
+ + +
+
top
+

ServerAlias Yönergesi

+ + + + + + +
Açıklama:İstekleri isme dayalı sanal konaklarla eşleştirilirken +kullanılacak konak adları için başka isimler belirtebilmeyi sağlar. +
Sözdizimi:ServerAlias konakadı [konakadı] ...
BaÄŸlam:sanal konak
Durum:Çekirdek
Modül:core
+

ServerAlias yönergesi, istekleri isme dayalı sanal konaklarla + eşleştirilirken kullanılacak konak adları için başka isimler + belirtebilmeyi sağlar. ServerAlias dosya adı kalıp + karakterleri içerebilir.

+ +
<VirtualHost *:80>
+  ServerName server.example.com
+  ServerAlias server server2.example.com server2
+  ServerAlias *.example.com
+  UseCanonicalName Off
+  # ...
+</VirtualHost>
+ + +

İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar + yapılandırmada göründükleri sıraya göre işleme sokulur. Joker + kullanımları arasında fark gözetilmeksizin ServerName veya ServerAlias yönergesi eşleşen ilk sanal konak + kullanılır.

+ +

<VirtualHost> + bölümü içindeki isimlerin sırası (jokersiz) + ServerAlias yönergesindeki gibi ele + alınır.

+ + +

Ayrıca bakınız:

+ +
+
top
+

ServerName Yönergesi

+ + + + + + +
Açıklama:Sunucunun özdeşleşeceği konak ismi ve port.
Sözdizimi:ServerName [şema://]alan-adı|ip-adresi[:port] +
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

ServerName yönergesi, sunucunun kendini + betimlemekte kullanacağı şema, konak adı ve port değerlerini belirler. +

+ +

isme dayalı sanal + konaklar kullanılırken bir sanal konağı eşsiz bir şekilde betimlemek + için ServerName kullanılır (muhtemelen + ServerAlias ile birlikte).

+ +

Ek olarak, UseCanonicalName + yönergesine öntanımlı olmayan bir değer atanarak özüne yönlendiren + URL'ler oluştururken de bu yönerge kullanılır.

+ +

Örneğin, HTTP + sunucusunun barındırıldığı makinenin ismi mail.example.com + olduğu halde makinenin bir de www.example.com diye bir de + DNS rumuzu varsa ve HTTP sunucunuzun bu rumuzla kendini + özdeşleştirmesini isterseniz bunu şöyle belirtebilirsiniz:

+ +
ServerName www.example.com
+ + +

ServerName yönergesi sunucu tanımının içinde + herhangi bir yerde görünebilirse de her göründüğü yerde bir öncekini + iptal eder.

+ +

Bir ServerName ataması yapılmamışsa sunucu + istemciye görünen sunucu ismini anlamak için önce işletim sistemine + sistemin konak adını sorar. Bu başarılı olmazsa sistem üzerinde IP + adresine bir ters DNS sorgusu yapar.

+ +

ServerName yönergesinde bir port belirtilmediği + takdirde sunucu, isteğin geldiği portu kullanacaktır. Öngörülebilirlik ve + güvenilirlik açısından en iyisi ServerName + yönergesini kullanarak açıkça bir konak ismi ve port belirtmektir.

+ +

İsme dayalı sanal konaklar + kullanıyorsanız, <VirtualHost> bölümü içindeki + ServerName yönergesi, isteğin Host: + başlığında bu sanal konakla eşleşecek konak ismini belirler.

+ + +

Bazen sunucu, bir ters vekil, yük dengeleyici veya SSL yük aktarım + uygulaması gibi bir aygıtın arkasında çalışır. Böyle durumlarda sunucunun + kendine yönelik URL’leri doğru üretebildiğinden emin olmak için + ServerName yönergesinde istemcinin bağlanacağı + https:// şeması ve port numarası belirtilir.

+ +

Sunucunun kendine yönelik URL’lerin belirtilen portu içerip içermediğini + veya istemcinin yaptığı istekte belirtilen port numarasının verilip + verilmediğinin saptamasını sağlayan (örneğin, mod_dir + modülü tarafından) ayarlar için UseCanonicalName ve + UseCanonicalPhysicalPort + yönergelerinin açıklamalarına bakınız.

+ +
+

ServerName yönergesine isim atamadaki bir + başarısızlık, sunucu başlatılırken isim bir IP adresine + çözümlenebileceğinden bir uyarı çıktılanmasına sebep olur. + httpd böyle bir durumda sistemin hostname + komutunu kullanarak saptadığı konak ismini kullanacaktır. Bu konak ismi + hemen hemen daima sizin istediğiniz isim olmayacaktır.

+

+ httpd: Could not reliably determine the server's fully qualified domain name, using belgeler.yerel for ServerName +

+

Çevirisi: Sunucunun tamamen nitelenmiş alan adı gerektiği gibi + saptanamadı, ServerName için belgeler.yerel kullanılıyor

+
+ +

Ayrıca bakınız:

+ +
+
top
+

ServerPath Yönergesi

+ + + + + + +
Açıklama:Uyumsuz bir tarayıcı tarafından erişilmesi için bir isme dayalı sanal konak için meşru URL yolu
Sözdizimi:ServerPath URL-yolu
BaÄŸlam:sanal konak
Durum:Çekirdek
Modül:core
+

ServerPath yönergesi isme + dayalı sanal konaklarda kullanmak için konağa meşru bir URL yolu + belirler.

+ +

Ayrıca bakınız:

+ +
+
top
+

ServerRoot Yönergesi

+ + + + + + + +
Açıklama:Sunucu yapılandırması için kök dizin
Sözdizimi:ServerRoot dizin-yolu
Öntanımlı:ServerRoot /usr/local/apache
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
+

ServerRoot yönergesi sunucu yapılandırmasını + içeren dizinin yerini belirtir. Genellikle conf/ ve + logs/ gibi alt dizinler içerir. Include, LoadModule gibi diğer yapılandırma + yönergelerindeki göreli yollar bu dizine göre ele alınır.

+ +
ServerRoot "/home/httpd"
+ + +

ServerRoot için öntanımlı yer configure betiğinin + --prefix seçeneği ile değiştirilebilir ve sunucunun çoğu + üçüncü parti dağıtıcısı öntanımlı yeri yukardakilerden farklı bir yere + ayarlar.

+ + +

Ayrıca bakınız:

+ +
+
top
+

ServerSignature Yönergesi

+ + + + + + + + +
Açıklama:Sunucu tarafından üretilen belgelerin dipnotunu ayarlar. +
Sözdizimi:ServerSignature On|Off|EMail
Öntanımlı:ServerSignature Off
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Çekirdek
Modül:core
+

ServerSignature yönergesi, sunucu tarafından + üretilen belgelerin (hata iletileri, mod_proxy ftp dizin + listeleri, mod_info çıktısı, vs.) altındaki dipnot + satırını yapılandırabilmenizi sağlar. Böyle bir dipnot satırın + istenmesinin sebebi vekil zincirlerinde istemciye dönen hata iletisinin + aslında hangi sunucu tarafından üretildiğini kullanıcıya bildirmektir.

+ +

Off değeri öntanımlı değer olup dipnot satırının + gösterilmemesini sağlar. + On değeri, sunucu sürüm numarası ve hizmeti sunan sanal + konağın isminden (ServerName) oluşan + bir dipnot satırı oluşturulmasını sağlar; EMail değeri bu + ikisine ek olarak satıra ServerAdmin + ile belirtilen adres için bir "mailto:" bağı ekler.

+ +

Sunucu sürüm numarasının ayrıntıları ServerTokens yönergesi ile belirlenmektedir.

+ +

Ayrıca bakınız:

+ +
+
top
+

ServerTokens Yönergesi

+ + + + + + + +
Açıklama:Server HTTP yanıt başlığını yapılandırır. +
Sözdizimi:ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
Öntanımlı:ServerTokens Full
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
+

Bu yönerge Server HTTP yanıt başlığı alanında istemcilere + sunucunun işletim sistemi, sunucuyla derlenmiş modüller, vs. hakkında + bilgi verilip verilmeyeceğini belirler.

+ +
+
ServerTokens Full (veya belirtilmezse)
+
Sunucu şunu gönderir (örnek): Server: Apache/2.4.2 + (Unix) PHP/4.2.2 MyMod/1.2
+ +
ServerTokens Prod[uctOnly]
+
Sunucu şunu gönderir (örnek): Server: + Apache
+ +
ServerTokens Major
+
Sunucu şunu gönderir (örnek): Server: + Apache/2
+ +
ServerTokens Minor
+
Sunucu şunu gönderir (örnek): Server: + Apache/2.4
+ +
ServerTokens Min[imal]
+
Sunucu şunu gönderir (örnek): Server: + Apache/2.4.2
+ +
ServerTokens OS
+
Sunucu şunu gönderir (örnek): Server: Apache/2.4.2 + (Unix)
+ +
+ +

Bu ayarlama sunucunun tamamını etkiler ve her sanal konak için + farklılaştırılamaz.

+ +

Bu yönerge ServerSignature + yönergesi tarafından sunulan bilgiyi de etkilemektedir.

+ +
ServerTokens yönergesinde + minimal'den azının belirtilmesi önerilmez. Bunun sebebi ara + işlemlerle ilgili hata ayıklamasını zorlaştırmasıdır. Ayrıca, + Server: başlığının iptal edilmesinin sunucunuzu daha güvenli + yapmayacağına dikkat ediniz; "çapraşıklıkla sağlanan güvenlik" düşüncesi + gerçekle bağdaşmaz ve güvenliği olumsuz etkiler.
+ + +

Ayrıca bakınız:

+ +
+
top
+

SetHandler Yönergesi

+ + + + + + + + +
Açıklama:Eşleşen tüm dosyaların belli bir eylemci tarafından işlenmesine +sebep olur.
Sözdizimi:SetHandler eylemci-ismi|none|ifade
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
Uyumluluk:ifade seçeneği 2.4.19 sürümünde eklendi
+

Bir .htaccess dosyasına veya bir <Directory> ya da <Location> bölümüne yerleştirildiğinde, eşleşen + tüm dosyaların, ismi eylemci-ismi ile belirtilen eylemci tarafından çözümlenmesine sebep olur. + Örneğin, bir dizin içindeki bütün dosyaların, uzantılarına bakılmaksızın + birer imagemap kural dosyası olarak çözümlenmesini istersiniz, bu dizin + içindeki bir .htaccess dosyasına şöyle bir satır + koyabilirsiniz:

+ +
SetHandler imap-file
+ + +

Başka bir örnek: http://localhost/status gibi bir istek + yapıldığında sunucunun bir durum bilgisi göstermesi için + httpd.conf dosyasına şöyle bir satır koyabilirsiniz:

+ +
<Location "/status">
+  SetHandler server-status
+</Location>
+ + +

Bu yönergeyi ayrıca, belli bir dosya uzantısına sahip dosyalara uygun + bir eylemci atamak için de kullanabilirsiniz. örnek:

+ +
<FilesMatch "\.php$">
+    SetHandler application/x-httpd-php
+</FilesMatch>
+ + +

Dizge değerli ifadeler istek öncesi değişkenleri içerecek şekilde + düzenlenebilir. Buna ismli düzenli ifadelere yapılan geriye başvurular + dahildir:

+ +
<LocationMatch ^/app/(?<sub>[^/]+)/>
+     SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080"
+</LocationMatch>
+ + +

Evvelce tanımlanmış bir SetHandler yönergesini + None değeriyle geçersiz hale getirebilirsiniz.

+ +

Bilgi

+

SetHandler yönergesi, + öntanımlı eylemcileri geçersiz kıldığından, index dosyaları ve dizinleri + belirtmek için URL’nin sonuna bölü çizgisi (/) getirmek şeklindeki + normal davranış baskılanır.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

SetInputFilter Yönergesi

+ + + + + + + +
Açıklama:POST girdilerini ve istemci isteklerini işleyecek süzgeçleri +belirler.
Sözdizimi:SetInputFilter süzgeç[;süzgeç...]
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
+

SetInputFilter yönergesi, istemci isteklerini + ve sunucu tarafından alındığı takdirde POST girdisini işleyecek süzgeç + veya süzgeçleri belirler. Bu, diğer AddInputFilter yönergeleri dahil evvelce tanımlanmış + süzgeçlere eklenir.

+ +

Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı + virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak + sıralanmalıdırlar.

+ +

Ayrıca bakınız:

+ +
+
top
+

SetOutputFilter Yönergesi

+ + + + + + + +
Açıklama:Sunucunun yanıtlarını işleyecek süzgeçleri belirler.
Sözdizimi:SetOutputFilter süzgeç[;süzgeç...]
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Çekirdek
Modül:core
+

SetOutputFilter yönergesi, istemciye + gönderilmeden önce sunucunun yanıtlarını işleyecek süzgeçleri belirler. + Bu, diğer AddOutputFilter + yönergeleri dahil evvelce tanımlanmış süzgeçlere eklenir.

+ +

Örneğin, aşağıdaki yapılandırma ile /www/data/ dizinindeki + bütün dosyalar sunucu taraflı içerik kapsamında ele alınacaktır.

+ +
<Directory "/www/data/">
+  SetOutputFilter INCLUDES
+</Directory>
+ + +

Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı + virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak + sıralanmalıdırlar.

+ +

Ayrıca bakınız:

+ +
+
top
+

StrictHostCheck Yönergesi

+ + + + + + + + +
Açıklama:Sunucunun, istenen konak adının, isteği işleyen sanal konakta +listelenmesini gerektirip gerektirmediğini denetler
Sözdizimi:StrictHostCheck ON|OFF
Öntanımlı:StrictHostCheck OFF
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
Uyumluluk:2.4.49'da eklendi.
+

Öntanımlı olarak sunucu, beklenmeyen veya yapılandırılmamış konak + adlarına yönelik istekler de dahil olmak üzere her konak adı isteğine + yanıt verir. Bu uygun olsa da, genellikle kendine dönen yanıtlar + üretileceğinden, arkada çalışan bir uygulamanın işlenen konak adlarını + bazı durumlarda sınırlaması istenebilir.

+ +

StrictHostCheck yönergesine ON, + atanarak, gelen bağlantıyla en iyi eşleşen sanal konaktaki + ServerName veya + ServerAlias yönergesinde istenen + konak adı açıkça listelenmemişse, sunucunun HTTP 400 hatası döndürmesi + sağlanabilir.

+ +

Bu yönerge ayrıca, istenen konak adının, ek ServerAlias girdileri gibi davranan ve nispeten + belirsiz bir yapılandırma mekanizması olan, VirtualHost açılış etiketinde belirtilen konak + adlarıyla eşleşmesini de sağlar.

+ +

Bu yönergenin öntanımlı olmayan sanal konaklarda hiçbir etkisi yoktur. + Etkin değeri, genel sunucu yapılandırmasından devralınan değer veya ilgili + bağlantının ip:port'u için öntanımlı olan sanal konak belirler.

+ +
+
top
+

TimeOut Yönergesi

+ + + + + + + +
Açıklama:Bir istek için başarısız olmadan önce belirli olayların +gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.
Sözdizimi:TimeOut saniye
Öntanımlı:TimeOut 60
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

TimeOut yönergesi Apache httpd’nin aşağıdaki + durumlarda G/Ç için bekleyeceği süreyi belirler:

+ +
    +
  • Veriyi istemciden okurken, okuma tamponu boÅŸ olduÄŸu takdirde bir + TCP paketinin gelmesini bekleyeceÄŸi süre.

    +

    Yeni bir bağlantıda ilk veri için, sunucuya yeni bağlantıyı aktaran + bir AcceptFilter yönergesi ile + ilgili yapılandırma ele alınıncaya kadar bu yönerge etkilenmez.

    +
  • + +
  • Veriyi istemciye yazarken, gönderme tamponu dolu olduÄŸu takdirde bir + paket alındısı için beklenecek süre.
  • + +
  • mod_cgi ve mod_cgid modülünde, bir CGI + betiÄŸinden belli bir çıktı kümesi için beklenecek süre.
  • + +
  • mod_ext_filter modülünde, bir süzme iÅŸleminden çıktı + almak için beklenecek süre.
  • + +
  • mod_proxy modülünde, ProxyTimeout yönergesi + yapılandırılmamışsa öntanımlı zaman aşımı deÄŸeri.
  • +
+ + +
+
top
+

TraceEnable Yönergesi

+ + + + + + + +
Açıklama:TRACE isteklerinde davranış şeklini belirler +
Sözdizimi:TraceEnable [on|off|extended]
Öntanımlı:TraceEnable on
BaÄŸlam:sunucu geneli, sanal konak
Durum:Çekirdek
Modül:core
+

Bu yönerge çekirdek ve vekil (mod_proxy) sunucuların + her ikisi için öntanımlı TRACE davranışını değiştirir. + Öntanımlı olan TraceEnable on ile RFC 2616’dan kaynaklanan + ve isteğe herhangi bir istek gövdesinin eşlik etmesine izin vermeyen + TRACE isteklerine izin verilir. TraceEnable off + ile çekirdek ve vekil (mod_proxy) sunucuların her ikisi + de TRACE isteklerine yanıt olarak bir 405 + (Yönteme izin verilmiyor) hatası döndürür.

+ +

TraceEnable extended ile sadece sınama ve tanı koyma + amaçlarına yönelik olarak istek gövdelerine izin verilir. Asıl sunucu + istek gövdesini 64kB ile sınırlar (Transfer-Encoding: chunked + kullanılmışsa bölüm başlıkları için 8kB daha). Asıl sunucu yanıt + gövdesinde tüm başlıkları ve bölüm başlıklarının tamamını yansıtacaktır. + Vekil sunucuda ise istek gövdesi için 64kB’lık sınır yoktur.

+ +

Bilgi

+

Aksine iddialara rağmen, TRACE yöntemini etkinleştirmek + Apache httpd'de bir güvenlik açığı değildir. TRACE yöntemi + HTTP/1.1 belirtiminde tanımlanmış olup desteklenmesi umulmuştur.

+
+ + +
+
top
+

UnDefine Yönergesi

+ + + + + + +
Açıklama:Bir değişkeni tanımsız yapar
Sözdizimi:UnDefine değişken-ismi
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
+

Define yönergesinde veya + httpd'nin -D seçeneğiyle belirtileni + geri alır.

+ +

RewriteMap yönergesinin + sözdizimi ile çatışmalardan kaçınmak için değişken isimleri iki nokta + üst üste ":" karakterlerini içerebilir.

+ +

Virtual Host scope and pitfalls

+

Bu yönerge başlatma betiklerinde -D seçeneğinin + argümanını değiştirmek gerekmeksizin <IfDefine> bölümlerinin kullanımını + değiştirmek için kullanılabilir.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

UseCanonicalName Yönergesi

+ + + + + + + +
Açıklama:Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +
Sözdizimi:UseCanonicalName On|Off|DNS
Öntanımlı:UseCanonicalName Off
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
+

Apache httpd‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar + aynı sunucuya yapıldığı bir URL türü) oluşturması gerekir. + UseCanonicalName On ile Apache httpd, sunucu için meşru + ismi ve portu oluşturmak için + ServerName + yönergesinde belirtilen ismi ve portu kullanır. Bu isim CGI'lerde + SERVER_NAME ve SERVER_PORT değerlerinde ve tüm + özüne yönelik URL’lerde kullanılır.

+ +

UseCanonicalName Off ile Apache httpd, özüne yönelik URL’leri + varsa istemci tarafından sağlanan konak ismini ve portu kullanarak + oluşturur; bunlar istemci tarafından sağlanmamışsa yukarıda tanımlanan + işleme başvurulur. Bu değerler, isme + dayalı sanal konakları gerçekleştirirken kullanılan değerlerle aynı + olup aynı istemcilerle kullanılabilir. SERVER_NAME ve + SERVER_PORT CGI değişkenleri de istemci tarafından sağlanan + isim ve portla oluşturulur.

+ +

Bir örnek olarak, iç ağdaki istemcilerin sunucuya www gibi + bir kısa isim kullanarak bağlandığı durumu ele alırsak daha yararlı + olur. Kullanıcılar bir kısa isim ve bir dizin isminden oluşan ve bir + / ile sonlandırılmamış http://www/splat şeklinde bir + istek yaparlarsa, Apache httpd onları + http://www.example.com/splat/ adresine yönlendirecektir. + Eğer kimlik doğrulama da etkinse bu kullanıcının iki defa kimlik + doğrulamasına sokulmasına sebep olacaktır (bir kere www + için bir kere de www.example.com için; daha fazla bilgi için SSS’ye bakınız). Fakat UseCanonicalName Off + olsaydı Apache httpd isteği http://www/splat/ adresine + yönlendirecekti.

+ +

UseCanonicalName DNS diye üçüncü bir seçenek daha vardır ve + istek yaparken Host: başlığını kullanmayan eski istemcileri + desteklemek amacıyla IP’ye dayalı sanal konaklarla kullanmak için + tasarlanmıştır. Bu seçenek etkin olduğunda Apache httpd, istemciyi özüne + yönelik URL’lerle doğru yere bağlamak için sunucu IP adresi üzerinde bir + ters DNS sorgusu yapar.

+ +

Uyarı

+

Eğer CGI’ler SERVER_NAME değerleri için önkabuller + yapıyorlarsa bu seçenek işlerinin bozulmasına yol açabilir. Aslında + istemciler konak ismi olarak istedikleri değeri vermekte özgürdürler. + Fakat eğer CGI, özüne yönelik URL’leri oluştururken sadece + SERVER_NAME değerini kullanıyorsa bu istendiği gibi + çalışacaktır.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

UseCanonicalPhysicalPort Yönergesi

+ + + + + + + +
Açıklama:Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +
Sözdizimi:UseCanonicalPhysicalPort On|Off
Öntanımlı:UseCanonicalPhysicalPort Off
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Çekirdek
Modül:core
+

Apache httpd‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar + aynı sunucuya yapıldığı bir URL türü) oluşturması gerekir. Apache httpd + UseCanonicalName yönergesine bağlı + olarak sunucu için meşru portu oluştururken + UseCanonicalPhysicalPort On ile olası port olarak istek + tarafından kullanılmakta olan fiziksel portu kullanacaktır. + UseCanonicalPhysicalPort Off olduğunda ise geçerli bir port + numarası oluşturmak için asıl fiziksel port yerine yapılandırma bilgisi + kullanılır.

+ +

Ek Bilgi

+

Fiziksel port kullanımı etkin olduğunda işlemler şu sırayla + yürütülür:

+
+
UseCanonicalName On
+
+
    +
  1. Servername ile saÄŸlanan port +
  2. +
  3. Fiziksel port
  4. +
  5. Öntanımlı port
  6. +
+
+
UseCanonicalName Off | DNS
+
+
    +
  1. Host: başlığından çözümlenen port
  2. +
  3. Fiziksel port
  4. +
  5. Servername yönergesinde + belirtilen port
  6. +
  7. Öntanımlı port
  8. +
+
+
+ +

UseCanonicalPhysicalPort Off olduğunda işlem sırasında + fiziksel port adımları atlanır.

+
+ + +

Ayrıca bakınız:

+ +
+
top
+

<VirtualHost> Yönergesi

+ + + + + + +
Açıklama:Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.
Sözdizimi:<VirtualHost + adres[:port] [adres[:port]] + ...> ... </VirtualHost>
BaÄŸlam:sunucu geneli
Durum:Çekirdek
Modül:core
+

<VirtualHost> ve + </VirtualHost> birlikte sadece belli bir sanal konağa + uygulanacak yönergeleri sarmalamakta kullanılırlar. Bir sanal konak + kapsamında belirtilebilecek her yönerge kullanılabilir. Sunucu belli bir + sanal konak üzerindeki bir belge için bir istek aldığında <VirtualHost> bölümünde bulunan yapılandırma + yönergelerini kullanır. adres şunlardan biri olabilir, + istemlik olarak ikinokta imi ve bir port numarası (veya *) + eklenebilir:

+ +
    +
  • Sanal konağın IP adresi.
  • + +
  • Sanal konağın IP adresi için tam nitelenmiÅŸ alan adı (önerilmez). +
  • + +
  • Tüm IP adresleri ile eÅŸleÅŸmek üzere * karakteri.
  • + +
  • * için bir takma ad olarak _default_ + dizgesi.
  • +
+ +
<VirtualHost 10.1.2.3:80>
+  ServerAdmin webmaster@host.example.com
+  DocumentRoot "/www/docs/host.example.com"
+  ServerName host.example.com
+  ErrorLog "logs/host.example.com-error_log"
+  TransferLog "logs/host.example.com-access_log"
+</VirtualHost>
+ + + +

İsteğe bağlı port numarasını belirtmeyi mümkün kılmak için IPv6 + adresleri köşeli ayraç içine alınır. IPv6 adresi kullanılan bir + örnek:

+ +
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
+  ServerAdmin webmaster@host.example.com
+  DocumentRoot "/www/docs/host.example.com"
+  ServerName host.example.com
+  ErrorLog "logs/host.example.com-error_log"
+  TransferLog "logs/host.example.com-access_log"
+</VirtualHost>
+ + +

Her sanal konağın ya farklı bir IP adresi ve port ile ya da farklı bir + konak ismiyle eşleşmesi gerekir. Birinci durumda sunucu makinesinin çok + sayıda adresten IP paketleri kabul edecek şekilde yapılandırılması + gerekir. (Eğer makinede çok sayıda ağ arabirimi yoksa bu, işletim sistemi + desteklediği takdirde ifconfig alias komutuyla + sağlanabilir.)

+ +

Ek Bilgi

+

<VirtualHost> kullanımı Apache + httpd’nin dinleyeceği adresler üzerinde belirleyici değildir. Apache + httpd’nin doğru adresi dinlediğinden emin olmak için Listen kullanmanız gerekebilir.

+
+ +

Her <VirtualHost> bloku içinde bir + ServerName yönergesi mutlaka + olmalıdır. Yokluğu halinde "ana" sunucu yapılandırmasındaki ServerName miras alınacaktır.

+ +

Bir istek alındığında, sunucu isteği, sadece yerel IP adresi ve port + çiftine dayalı en iyi eşleşen ilk <VirtualHost> bölümüne eşler. Joker kullanmayanlar daha + yüksek önceliğe sahiptir. IP ve port çiftine dayalı bir eşleşme + bulunamazsa istek için ana sunucu yapılandırması kullanılır.

+ +

En iyi eşleşen IP adresi ve port çiftini birden fazla sanal konak + kullanıyorsa sunucu bu sanal konaklar (liste) arasından istenen konak + ismiyle en iyi eşleşeni seçer. Eşleşen hiçbir isme dayalı sanal konak + yoksa listedeki IP adresi ile eşleşen ilk sanal konak kullanılır. Bunun + sonucu olarak, belirtilen IP adresi ve port çifti için listedeki ilk + sanal konak, bu IP adresi ve port çifti için öntanımlı sanal + konaktır.

+ +

Güvenlik

+

Günlük dosyalarının sunucuyu çalıştıran kullanıcıdan başka herkes + tarafından yazılabilen bir yerde saklanmasından dolayı ortaya çıkabilecek + güvenlik sorunları hakkında daha ayrıntılı bilgi için güvenlik ipuçları belgesine + bakınız.

+
+ +

Ayrıca bakınız:

+ +
+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html b/docs/manual/mod/directive-dict.html new file mode 100644 index 0000000..c288bb0 --- /dev/null +++ b/docs/manual/mod/directive-dict.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: directive-dict.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: directive-dict.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: directive-dict.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: directive-dict.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: directive-dict.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: directive-dict.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/directive-dict.html.en b/docs/manual/mod/directive-dict.html.en new file mode 100644 index 0000000..3222194 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.en @@ -0,0 +1,323 @@ + + + + + +Terms Used to Describe Directives - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Terms Used to Describe Directives

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

This document describes the terms that are used to describe + each Apache configuration + directive.

+
+ +
top
+
+

Description

+ +

A brief description of the purpose of the directive.

+
top
+
+

Syntax

+ +

This indicates the format of the directive as it would + appear in a configuration file. This syntax is extremely + directive-specific, and is described in detail in the + directive's definition. Generally, the directive name is + followed by a series of one or more space-separated arguments. + If an argument contains a space, the argument must be enclosed + in double quotes. Optional arguments are enclosed in square + brackets. Where an argument can take on more than one possible + value, the possible values are separated by vertical bars "|". + Literal text is presented in the default font, while + argument-types for which substitution is necessary are + emphasized. Directives which can take a variable + number of arguments will end in "..." indicating that the last + argument is repeated.

+ +

Directives use a great number of different argument types. A + few common ones are defined below.

+ +
+
URL
+ +
A complete Uniform Resource Locator including a scheme, + hostname, and optional pathname as in + http://www.example.com/path/to/file.html
+ +
URL-path
+ +
The part of a url which follows the scheme and + hostname as in /path/to/file.html. The + url-path represents a web-view of a resource, as + opposed to a file-system view.
+ +
file-path
+ +
The path to a file in the local file-system beginning + with the root directory as in + /usr/local/apache/htdocs/path/to/file.html. + Unless otherwise specified, a file-path which does + not begin with a slash will be treated as relative to the ServerRoot.
+ +
directory-path
+ +
The path to a directory in the local file-system + beginning with the root directory as in + /usr/local/apache/htdocs/path/to/.
+ +
filename
+ +
The name of a file with no accompanying path information + as in file.html.
+ +
regex
+ +
A Perl-compatible regular + expression. The directive definition will specify what the + regex is matching against.
+ +
extension
+ +
In general, this is the part of the filename + which follows the last dot. However, Apache recognizes + multiple filename extensions, so if a filename + contains more than one dot, each dot-separated part of the + filename following the first dot is an extension. + For example, the filename file.html.en + contains two extensions: .html and + .en. For Apache directives, you may specify + extensions with or without the leading dot. In + addition, extensions are not case sensitive.
+ +
MIME-type
+ +
A method of describing the format of a file which + consists of a major format type and a minor format type, + separated by a slash as in text/html.
+ +
env-variable
+ +
The name of an environment + variable defined in the Apache configuration process. + Note this is not necessarily the same as an operating system + environment variable. See the environment variable documentation for + more details.
+
+
top
+
+

Default

+ +

If the directive has a default value (i.e., if you + omit it from your configuration entirely, the Apache Web server + will behave as though you set it to a particular value), it is + described here. If there is no default value, this section + should say "None". Note that the default listed here + is not necessarily the same as the value the directive takes in + the default httpd.conf distributed with the server.

+
top
+
+

Context

+ +

This indicates where in the server's configuration files the + directive is legal. It's a comma-separated list of one or more + of the following values:

+ +
+
server config
+ +
This means that the directive may be used in the server + configuration files (e.g., httpd.conf), but + not within any + <VirtualHost> + or <Directory> + containers. It is not allowed in .htaccess files + at all.
+ +
virtual host
+ +
This context means that the directive may appear inside + <VirtualHost> + containers in the server + configuration files.
+ +
directory
+ +
A directive marked as being valid in this context may be + used inside <Directory>, <Location>, <Files>, <If>, and <Proxy> containers + in the server configuration files, subject to the restrictions + outlined in Configuration + Sections.
+ +
.htaccess
+ +
If a directive is valid in this context, it means that it + can appear inside per-directory + .htaccess files. It may not be processed, though + depending upon the overrides currently active.
+
+ +

The directive is only allowed within the designated + context; if you try to use it elsewhere, you'll get a + configuration error that will either prevent the server from + handling requests in that context correctly, or will keep the + server from operating at all -- i.e., the server won't + even start.

+ +

The valid locations for the directive are actually the + result of a Boolean OR of all of the listed contexts. In other + words, a directive that is marked as being valid in + "server config, .htaccess" can be used in the + httpd.conf file and in .htaccess + files, but not within any <Directory> or + <VirtualHost> + containers.

+
top
+
+

Override

+ +

This directive attribute indicates which configuration + override must be active in order for the directive to be + processed when it appears in a .htaccess file. If + the directive's context + doesn't permit it to appear in .htaccess files, + then no context will be listed.

+ +

Overrides are activated by the AllowOverride directive, and apply + to a particular scope (such as a directory) and all + descendants, unless further modified by other + AllowOverride directives at + lower levels. The documentation for that directive also lists the + possible override names available.

+
top
+
+

Status

+ +

This indicates how tightly bound into the Apache Web server + the directive is; in other words, you may need to recompile the + server with an enhanced set of modules in order to gain access + to the directive and its functionality. Possible values for + this attribute are:

+ +
+
Core
+ +
If a directive is listed as having "Core" status, that + means it is part of the innermost portions of the Apache Web + server, and is always available.
+ +
MPM
+ +
A directive labeled as having "MPM" status is provided by + a Multi-Processing Module. This + type of directive will be available if and only if you are + using one of the MPMs listed on the Module line of the directive + definition.
+ +
Base
+ +
A directive labeled as having "Base" status is supported + by one of the standard Apache modules which is compiled into + the server by default, and is therefore normally available + unless you've taken steps to remove the module from your + configuration.
+ +
Extension
+ +
A directive with "Extension" status is provided by one of + the modules included with the Apache server kit, but the + module isn't normally compiled into the server. To enable the + directive and its functionality, you will need to change the + server build configuration files and re-compile Apache.
+ +
Experimental
+ +
"Experimental" status indicates that the directive is + available as part of the Apache kit, but you're on your own + if you try to use it. The directive is being documented for + completeness, and is not necessarily supported. The module + which provides the directive may or may not be compiled in by + default; check the top of the page which describes the + directive and its module to see if it remarks on the + availability.
+
+
top
+
+

Module

+ +

This quite simply lists the name of the source module which + defines the directive.

+
top
+
+

Compatibility

+ +

If the directive wasn't part of the original Apache version + 2 distribution, the version in which it was introduced should + be listed here. In addition, if the directive is available + only on certain platforms, it will be noted here.

+
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.es b/docs/manual/mod/directive-dict.html.es new file mode 100644 index 0000000..cf5f7ef --- /dev/null +++ b/docs/manual/mod/directive-dict.html.es @@ -0,0 +1,314 @@ + + + + + +Términos que se Usan para Describir Directivas - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Términos que se Usan para Describir Directivas

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Este documento describe los términos que se usan para describir + cada directiva de configuración de + Apache.

+
+ +
top
+
+

Descripción

+ +

Una breve descripción del propósito de la directiva.

+
top
+
+

Sintaxis

+ +

Indica el formato de la directiva tal y como aparecería en un fichero de + configuración. Esta sintaxis es muy específica de cada directiva, y se + describe con detalle en la definición de la directiva. Generalmente, el + nombre de la directiva va seguido de una serie de uno o más parámetros + separados por un espacio. Si un parámetro contiene un espacio, éste debe + especificarse entre comillas dobles. Los parámetros opcionales van + especificados entre corchetes. Donde un parámetro puede tener uno o más + valores, los valores posibles se separan con barras verticales "|". El Texto + Literal se muestra con la fuente por defecto, mientras que los distintos + tipos de parámetros para los que una sustitución resulta necesaria son + enfatizados. Las directivas que pueden tomar una lista variada de + parámetros acaban en "..." indicando que el último parámetro se repite.

+ +

Las Directivas usan un gran número de diferentes tipos de parámetros. A + continuación definimos algunos de los más comunes.

+ +
+
URL
+
Un Localizador de Recursos Uniforme, incluye un esquema, + nombre de host, y un path opcional como en + http://www.example.com/path/to/file.html
+ +
Ruta de URL
+
La parte de una url que sigue al esquema y el + nombre de host como en /path/to/file.html. El + url-path representa una vista-web de un recurso, en + contraposición a una vista de sistema-de-ficheros.
+ +
Ruta del Fichero
+
La ruta a un fichero en el sistema de ficheros local que + comienza desde el directorio raíz como en + /usr/local/apache/htdocs/path/to/file.html. + A menos que se especifique, una ruta de fichero que no comienza + con una barra "/" se tratará como una ruta relativa a ServerRoot.
+ +
Ruta del Directorio
+ +
La ruta a un directorio en el sistema de ficheros local que + comienza con el directorio ráiz como en + /usr/local/apache/htdocs/path/to/.
+ +
Nombre del Fichero
+ +
El nombre de un fichero sin ir acompañado de información de la ruta + como en file.html.
+ +
regex
+ +
Una + expresión regular compatible con Perl. La definición + de directiva especificará contra qué se compara la + regex.
+ +
extensión
+ +
En general, esta es la parte del nombre de fichero + que sigue al último punto. Sin embargo, Apache reconoce múltiples + extensiones de fichero, así que si un nombre de fichero + contiene más de un punto, cada parte separada por un punto del + nombre de fichero después del primer punto es una extensión. + Por ejemplo, el nombre de fichero file.html.en + contiene dos extensiones: .html y + .en. Para las directivas de Apache, podrá especificar + la extensiones con o sin el punto inicial. Además, las + extensiones no son sensibles a mayúsculas o minúsculas.
+ +
Tipo MIME
+ +
Un método de describir el formato de un fichero que está formado + por un tipo de formato mayor y un tipo de formato menor, separados de + de una barra como en text/html.
+ +
Variable de Entorno
+ +
El nombre de una variable de entorno + definida en el proceso de configuración de Apache. Tenga en cuenta + que esto no es necesariamente lo mismo que la variable de entorno + de un sistema operativo. Vea la documentación de variable de entorno para + más detalles.
+
+
top
+
+

Por defecto

+ +

Si la directiva tiene un valor por defecto (p.ej., si + la omite de la configuración completamente, el servidor Web Apache + se comportará como si la hubiera configurado con un valor en + particular), se describe aquí. Si no tiene valor por defecto, esta + sección debería indicar "Ninguno". Tenga en cuenta que el + valor por defecto listado aquí no es necesariamente el mismo que el + valor que toma la directiva en el httpd.conf por defecto distribuido + con el servidor.

+
top
+
+

Contexto

+ +

Esto indica dónde se acepta la directiva en los ficheros de + configuración. Es una lista separada por comas para uno o más de los + siguientes valores:

+ +
+
server config
+ +
Esto indica que la directiva puede usarse en los ficheros de + configuración del servidor (p.ej., httpd.conf), + pero not dentro de cualquier contenedor + <VirtualHost> + o <Directory>. + No se permite en ficheros .htaccess de ninguna + manera.
+ +
virtual host
+ +
Este contexto significa que la directiva puede aparecer dentro de un + contenedor <VirtualHost> + en el fichero de configuración del servidor.
+ +
directory
+ +
Una directiva marcada como válida en este contexto puede usarse dentro + de contenedores <Directory>, <Location>, <Files>, <If>, <Proxy> en los ficheros de + configuración del servidor, sujeta a las restricciones destacadas en + las Secciones de Configuración.
+ +
.htaccess
+ +
Si una directiva es válida en este contexto, significa que puede + aparecer dentro de ficheros .htaccess de contexto de + directorio. Aunque podría no ser procesada, dependiendo de la + configuración activa de AllowOverride en ese + momento.
+
+ +

La directiva solo se permite dentro del contexto designado; si + intenta usarlo en algún otro, obtendrá un error de configuración que + impedirá que el servidor gestione correctamente las solicitudes en ese + contexto, o impedirá que el servidor pueda funcionar completamente -- + p.ej., el servidor no arrancará.

+ +

Las ubicaciones válidas para la directiva son actualmente el resultado de + un Boolean OR de todos los contextos listados. En otras palabras, una + directiva que está marcada como válida en + "server config, .htaccess" puede usarse en el fichero + httpd.conf y en ficheros .htaccess, pero no dentro + de contenedores <Directory> + o <VirtualHost>.

+
top
+
+

Override

+ +

Este atributo de directiva indica qué Override de configuración debe + estar activo para que la directiva se procese cuando aparece en un fichero + .htaccess. Si el contexto de la + directiva no permite que aparezca en ficheros .htaccess, + entonces no se listará ningún contexto.

+ +

Los Override se activan con la directiva AllowOverride, si se aplican a un ámbito en + particular (como por ejemplo un directorio) y todos sus descendientes, a + menos que se modifique más adelante por otras directivas + AllowOverride en niveles + inferiores. La documentación para la directiva también muestra una lista de + los posibles nombres de Override disponibles.

+
top
+
+

Estado

+ +

Esto indica cuan vinculada está esta directiva al servidor Web de Apache; + o en otras palabras, puede que necesite recompilar el servidor con un + conjunto mejor de módulos para obtener acceso a esta directiva y su + funcionalidad. Valores posibles para estar directiva son:

+ +
+
Core
+ +
Si una directiva aparece listada con estado "Core", eso significa + que forma parte de las partes más internas del Servidor Apache Web, y que + siempre está disponible.
+ +
MPM
+ +
La directivas facilitadas por un + Módulo de Multi-Proceso están etiquetadas con + Estado "MPM". Este tipo de directiva estará disponible si y sólo si está + usando uno de los MPM listados en la línea Módulo + de la definición de la directiva.
+ +
Base
+ +
Una directiva listada con estado "Base" está facilitada por uno + de los módulos estándar de Apache que están compilados con el servidor + por defecto, y por tanto está normalmente disponible a menos que usted + haga las acciones necesarias para eliminar este módulo de su + configuración.
+ +
Extensión
+ +
Una directiva con estado "Extensión" está facilitada por uno de los + módulos incluidos en el kit del servidor Apache, pero el módulo no + está compilado generalmente dentro del servidor. Para activar esta y su + funcionalidad, necesirará cambiar la configuración de compilación + del servidor y recompilar Apache.
+ +
Experimental
+ +
El estado "Experimental" indica que la directiva está disponible como + parte del kit de Apache, pero usted tendrá que ir por su cuenta si intenta + usarla. La directiva se documenta para aportar información, pero no tiene + por qué estar soportada de manera oficial. El módulo que provee esta + directiva puede o puede que no esté compilado por defecto, compruebe + la parte superior de la página que describe la direcitiva y el módulo para + ver las anotaciones sobre su disponibilidad.
+
+
top
+
+

Módulo

+ +

Esto simplemente hace referencia al nombre del módulo original que provee + la directiva.

+
top
+
+

Compatibilidad

+ +

Si la directiva no era parte de la distribución original de Apache + versión 2, la versión en la que se introdujo debería estar referida aquí. + Además, si la direcitva solo está disponible en ciertas plataformas, se verá + anotado aquí.

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.fr.utf8 b/docs/manual/mod/directive-dict.html.fr.utf8 new file mode 100644 index 0000000..676f7e8 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.fr.utf8 @@ -0,0 +1,319 @@ + + + + + +Termes utilisés pour la description des directives - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Termes utilisés pour la description des directives

+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Ce document décrit les termes utilisés pour décrire chaque directive de configuration d'Apache.

+
+ +
top
+
+

Description

+ +

Une brève description des fonctions de cette directive.

+
top
+
+

Syntaxe

+ +

Ce terme introduit le format sous lequel la directive doit + apparaître dans le fichier de configuration. Cette syntaxe est très + spécifique à la directive et est décrite en détail dans la + définition de cette dernière. En général, le nom de la directive est + suivi d'un ou plusieurs arguments séparés par des espaces. Si un + argument contient un espace, il doit être entouré de guillemets. Les + arguments optionnels sont entourés de crochets. Lorsqu'un argument + accepte une valeur parmi une liste de valeurs possibles, cette liste + est spécifiée en séparant les valeurs par une barre verticale "|". + Les textes littéraux sont présentés dans la fonte par défaut, alors + que les types d'argument pour lesquels une substitution est + nécessaire sont en gras. La syntaxe des directives + acceptant un nombre variable d'arguments se termine par "...", ce + qui indique que le dernier argument peut être répété.

+ +

Les directives utilisent un grand nombre de types d'arguments + différents. Les plus courants sont définis ci-dessous.

+ +
+
URL
+ +
Un Localisateur de Ressource Uniforme (Uniform Resource + Locator) complet comportant un protocole, un nom d'hôte et un nom + de chemin optionnel comme dans + http://www.example.com/chemin/vers/fichier.html
+ +
chemin-URL
+ +
La partie de l'url qui suit le protocole et le nom + d'hôte comme dans /chemin/vers/fichier.html. Le + chemin-URL représente la ressource vue du web, et est + différente de la représentation de cette même ressource vue du + système de fichiers.
+ +
chemin-fichier
+ +
Le chemin d'un fichier dans le système de fichiers local + commençant par le répertoire racine comme dans + /usr/local/apache/htdocs/chemin/vers/fichier.html. + Sauf mention contraire, un chemin-fichier qui ne commence + pas par un slash sera considéré comme relatif au répertoire défini + par la directive ServerRoot.
+ +
chemin-répertoire
+ +
Le chemin d'un répertoire dans le système de fichiers local + commençant par le répertoire racine comme dans + /usr/local/apache/htdocs/chemin/vers/.
+ +
nom-fichier
+ +
Le nom d'un fichier sans son chemin comme dans + fichier.html.
+ +
regex
+ +
Une expression rationnelle + compatible Perl. La définition de la directive spécifiera à quoi + regex sera comparée.
+ +
extension
+ +
En général, c'est la partie du nom de fichier qui + suit le dernier point. Cependant, Apache reconnaît plusieurs + extensions de noms de fichiers ; ainsi, si un nom de + fichier + contient plusieurs points, chacune des parties du nom de fichier + séparées par des points et situées après le premier point est une + extension. Par exemple, le nom de fichier + fichier.html.en comporte deux extensions : + .html et .en. Pour les directives + Apache, vous pouvez spécifier les extensions avec ou sans + le point initial. Enfin, les extensions ne sont pas + sensibles à la casse.
+ +
MIME-type
+ +
Une méthode de description du format d'un fichier consistant + en un type de format majeur et un type de format mineur séparés + par un slash comme dans text/html.
+ +
env-variable
+ +
Le nom d'une variable + d'environnement définie au cours du processus de configuration + d'Apache. Notez qu'elle peut être différente d'une variable + d'environnement du système d'exploitation. Voir la documentation sur les variables d'environnement + pour plus de détails.
+
+
top
+
+

Défaut

+ +

Si la directive possède une valeur par défaut (en d'autres + termes, si le serveur Web Apache se comporte comme si vous l'aviez + définie à une valeur particulière, alors que vous l'avez omise dans + votre configuration), elle est spécifiée ici. Si la directive ne + possède pas de valeur par défaut, cette section doit spécifier + "Aucune". Notez que la valeur par défaut dont il est + question n'est pas nécessairement la même que la valeur attribuée à + la directive dans le fichier httpd.conf par défaut distribué avec le + serveur.

+
top
+
+

Contexte

+ +

Indique les parties des fichiers de configuration du serveur + où cette directive est valide. Il s'agit d'une liste d'une ou + plusieurs des valeurs suivantes séparées par des virgules :

+ +
+
configuration globale
+ +
Signifie que la directive peut être utilisée dans les fichiers + de configuration globale (par exemple httpd.conf), + mais pas à l'intérieur d'un conteneur <VirtualHost> ou <Directory>. De même, elle + n'est pas valide dans les fichiers .htaccess.
+ +
serveur virtuel
+ +
Signifie que la directive peut apparaître à l'intérieur d'un + conteneur <VirtualHost> dans les fichiers de + configuration du serveur.
+ +
répertoire
+ +
Une directive spécifiée comme valide dans ce contexte peut + être utilisée à l'intérieur de conteneurs <Directory>, <Location>, <Files>, <If>, et <Proxy> dans les + fichiers de configuration du serveur, en tenant compte des + restrictions précisées dans la documentation sur les Sections de configuration.
+ +
.htaccess
+ +
Si une directive est valide dans ce contexte, cela signifie + qu'elle peut apparaître à l'intérieur de fichiers de configuration + de niveau répertoire .htaccess. Elle sera ou + ne sera pas traitée, selon la définition de l'option overrides pour le contexte courant.
+
+ +

La directive n'est autorisée que dans le contexte + désigné ; si vous essayez de l'utiliser ailleurs, vous générerez une + erreur de configuration qui va soit empêcher le serveur de traiter + les requêtes correctement dans ce contexte, soit tout simplement + empêcher le serveur de fonctionner -- en d'autres termes, le serveur + refusera de démarrer.

+ +

Les lieux de définition valides pour une directive résultent en + fait d'un + OU logique de tous les contextes spécifiés. En d'autres termes, une + directive spécifiée comme valide dans "configuration globale, + .htaccess" peut être utilisée dans le fichier + httpd.conf et dans les fichiers .htaccess, + mais pas dans un conteneur <Directory> ou <VirtualHost>.

+
top
+
+

Surcharge/Écrasement

+ +

Ce terme indique quelle autorisation de surcharge ("override") doit être + active pour que la directive puisse être traitée lorsqu'elle + apparaît dans un fichier .htaccess. Si le context de la directive ne lui permet pas + d'apparaître dans un fichier .htaccess, aucun contexte + ne sera spécifié.

+ +

Les autorisations de surcharge sont activées via la directive + AllowOverride, et possèdent une + portée particulière, comme un répertoire et tous ses + sous-répertoires, sauf si une autre directive AllowOverride apparaît à un niveau + inférieur. La documentation pour cette directive spécifie aussi les + noms d'autorisations de surcharge disponibles.

+
top
+
+

Statut

+ +

Cet attribut indique le degré de rapprochement de la directive du + coeur d'Apache ; en d'autres termes, vous pouvez être amené à + recompiler le serveur avec un jeu de modules supplémentaires pour + pouvoir utiliser la directive, et ainsi accéder à ses + fonctionnalités. Les valeurs possible pour cet attribut sont :

+ +
+
Core
+ +
Lorsqu'une directive a pour statut "Core", cela signifie + qu'elle fait partie du coeur du serveur web Apache, et est de ce + fait toujours disponible.
+ +
MPM
+ +
Une directive dont le statut est "MPM" est fournie par un module Multi-Processus. Ce type de + directive sera disponible si et seulement si vous utilisez un des + MPMs spécifiés dans la ligne Module de la + définition de la directive.
+ +
Base
+ +
Une directive dont le statut est "Base" est fournie par un des + modules Apache standards qui sont compilés dans le serveur par + défaut, et sont de ce fait toujours disponibles, sauf si vous avez + fait en sorte de les supprimer de votre configuration.
+ +
Extension
+ +
Une directive dont le statut est "Extension" est fournie par + un des modules inclus dans le kit du serveur Apache, mais qui ne + sont pas compilés dans le serveur par défaut. Pour activer la + directive et accéder à ses fonctionnalités, vous devez modifier + les fichiers de configuration de la compilation du serveur, et + recompiler Apache.
+ +
Expérimental
+ +
Le statut "Expérimental" indique que la directive fait partie + du kit Apache, mais que vous l'utilisez à vos risques et périls. + La directive est documentée à titre d'exhaustivité, et n'est pas + obligatoirement supportée. Le module qui fournit la directive peut + être compilé par défaut dans le serveur ou non ; consultez le haut + de la page qui décrit la directive et son module pour vérifier sa + disponibilité.
+
+
top
+
+

Module

+ +

Il s'agit d'une simple liste des noms des modules sources qui + fournissent la directive.

+
top
+
+

Compatibilité

+ +

Si la directive ne faisait pas partie de la distribution + originale d'Apache version 2, la version dans laquelle elle a été + introduite est indiquée ici. Cette section indique aussi si la + directive n'est disponible que sur certaines plates-formes.

+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.ja.utf8 b/docs/manual/mod/directive-dict.html.ja.utf8 new file mode 100644 index 0000000..85d10a3 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.ja.utf8 @@ -0,0 +1,334 @@ + + + + + +ディレクティブã®è§£èª¬ã«ä½¿ã‚れる用語 - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

ディレクティブã®è§£èª¬ã«ä½¿ã‚れる用語

+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

ã“ã®æ–‡æ›¸ã¯å„ Apache 設定ディレクティブ + を説明ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¦ã„る用語を説明ã—ã¾ã™ã€‚

+
+ +
top
+
+

説明

+ +

ディレクティブã®ç›®çš„ã®ç°¡å˜ãªèª¬æ˜Žã€‚

+
top
+
+

構文

+ +

設定ファイル中ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®æ›¸å¼ã‚’示ã—ã¾ã™ã€‚ + ã“ã®æ§‹æ–‡ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–特有ãªã®ã§ã€è©³ç´°ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®èª¬æ˜Žã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。一般的ã«ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–åã®å¾Œã«ã¯ + 空白ã«ã‚ˆã‚Šåˆ†å‰²ã•ã‚ŒãŸã„ãã¤ã‹ã®å¼•æ•°ãŒç¶šãã¾ã™ã€‚ + 引数ãŒç©ºç™½ã‚’å«ã‚€ã¨ãã¯äºŒé‡å¼•ç”¨ç¬¦ (訳注: ") + ã§å›²ã¾ã‚Œã¦ã„ã¾ã™ã€‚ オプショナルãªå¼•æ•°ã¯æ‹¬å¼§ + (訳注: []) ã§å›²ã¾ã‚Œã¦ã„ã¾ã™ã€‚ + 引数ãŒè¤‡æ•°ã®å€¤ã‚’å–ã‚Šå¾—ã‚‹å ´åˆã¯ã€ãれらã®å€¤ã¯åž‚ç›´ã®æ£’ "|" + 㧠分割ã•ã‚Œã¦ã„ã¾ã™ã€‚ + 変更ã•ã‚Œãªã„テキストã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ•ã‚©ãƒ³ãƒˆã§è¡¨ç¤ºã•ã‚Œã€ç½®æ›ã®å¿…è¦ãª + 引数ã¯å¼·èª¿ã•ã‚Œã¦è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ + 引数ã®æ•°ãŒå¤‰ã‚るディレクティブã¯æœ€å¾Œã® + 引数ãŒç¹°ã‚Šè¿”ã•ã‚Œã‚‹ã“ã¨ã‚’示ã™ãŸã‚ã« "..." + ã§çµ‚ã‚ã‚Šã¾ã™ã€‚

+ +

+ ディレクティブã¯å¤šãã®é•ã†åž‹ã®å¼•æ•°ã‚’ã¨ã‚Šã¾ã™ã€‚ã„ãã¤ã‹ã€è‰¯ã + 使ã‚れるもã®ã‚’以下ã§å®šç¾©ã—ã¾ã™ã€‚

+ +
+
URL
+ +
http://www.example.com/path/to/file.html + ã®ã‚ˆã†ã«ã€ + スキームã€ãƒ›ã‚¹ãƒˆåã€ãƒ‘スå(çœç•¥å¯èƒ½)ã‚’å«ã‚“ã§ã„る完全㪠+ Uniform Resource Locator。
+ +
URL-path
+ +
/path/to/file.html ã®ã‚ˆã†ã«ã€ã‚¹ã‚­ãƒ¼ãƒ ã¨ + ホストåã®å¾Œã«ç¶šã url + ã®ä¸€éƒ¨ã€‚url-path 㯠+ ファイルシステムã‹ã‚‰ã®è¦–点ã§ã¯ãªã〠+ ウェブã‹ã‚‰ã®è¦–点ã§ãƒªã‚½ãƒ¼ã‚¹ã‚’表ç¾ã—ã¾ã™ã€‚
+ +
file-path
+ +
/usr/local/apache/htdocs/path/to/file.html + ã®ã‚ˆã†ã«ã€ + ルートディレクトリã‹ã‚‰å§‹ã¾ã‚‹ãƒ­ãƒ¼ã‚«ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ãƒ‘ス。 + 通常ã€ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§å§‹ã¾ã‚‰ãªã„ file-path 㯠ServerRoot + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—㦠扱ã‚ã‚Œã¾ã™ã€‚
+ +
directory-path
+ +
/usr/local/apache/htdocs/path/to/ + ã®ã‚ˆã†ã«ã€ + ルートディレクトリã‹ã‚‰å§‹ã¾ã‚‹ãƒ­ãƒ¼ã‚«ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ã® + パス。
+ +
filename
+ +
file.html ã®ã‚ˆã†ã«ã€ãƒ‘ス情報ã®ä»˜ã„ã¦ã„ãªã„ + ファイルå。
+ +
regex
+ +
Perl 互æ›ã®æ­£è¦è¡¨ç¾ã§ã™ã€‚ + ディレクティブã®å®šç¾©ãŒ regex + ãŒä½•ã«å¯¾ã—ã¦ãƒžãƒƒãƒã‚’è¡Œãªã†ã®ã‹ã‚’指定ã—ã¾ã™ã€‚
+ +
extension
+ +
一般的ã«ã¯ filename + ã®æœ€å¾Œã®ãƒ‰ãƒƒãƒˆã®å¾Œã®éƒ¨åˆ†ã§ã™ã€‚ ã—ã‹ã—ã€Apache + ã¯è¤‡æ•°ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã‚’èªè­˜ã—ã¾ã™ã®ã§ã€filename + ã«è¤‡æ•°ã®ãƒ‰ãƒƒãƒˆãŒã‚ã‚‹ã¨ã€æœ€åˆã®ãƒ‰ãƒƒãƒˆã®å¾Œã®ã€ãã‚Œãžã‚Œã®ãƒ‰ãƒƒãƒˆã§åˆ†é›¢ã•ã‚ŒãŸéƒ¨åˆ†ãŒ + extension (訳注: æ‹¡å¼µå­) + ã«ãªã‚Šã¾ã™ã€‚例ãˆã°ã€filename + file.html.en + ã«ã¯äºŒã¤ã®æ‹¡å¼µå­ãŒã‚ã‚Šã¾ã™ã€‚.html 㨠+ .en ã§ã™ã€‚Apache + ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã¯ã€extension + ã¯ãƒ‰ãƒƒãƒˆä»˜ãã§ã‚‚ç„¡ã—ã§ã‚‚指定ã§ãã¾ã™ã€‚ã•ã‚‰ã«ã€extension + 㯠大文字å°æ–‡å­—を区別ã—ã¾ã›ã‚“。
+ +
MIME-type
+ +
text/html ã®ã‚ˆã†ã«ã€ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§åˆ†é›¢ã•ã‚ŒãŸ + 主フォーマットã¨å‰¯ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã«ã‚ˆã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã®å½¢å¼ã‚’ + 表ã™æ–¹æ³•ã§ã™ã€‚
+ +
env-variable
+ +
Apache ã®è¨­å®šã«ã‚ˆã‚Šå®šç¾©ã•ã‚Œã‚‹ 環境変数ã®åå‰ã§ã™ã€‚ã“ã‚Œã¯ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã® + 環境変数ã¨åŒã˜ã¨ã¯é™ã‚‰ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。詳細㯠環境変数ã®èª¬æ˜Žã‚’å‚ç…§ã—ã¦ãã ã•ã„。
+
+
top
+
+

デフォルト

+ +

ディレクティブã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ + (ã™ãªã‚ã¡ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ + çœç•¥ã•ã‚Œã¦ã„ã¦ã‚‚ã€Apache + ウェブサーãƒã¯ç‰¹å®šã®å€¤ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã‹ã®ã‚ˆã†ã« + 動作ã—ã¾ã™) ãŒã‚ã‚‹å ´åˆã¯ã“ã“ã«è¨˜è¿°ã•ã‚Œã¾ã™ã€‚ + デフォルト値ã®ç„¡ã„å ´åˆã€ã“ã“㯠"None" 㨠+ 書ã‹ã‚Œã¾ã™ã€‚ã“ã“ã§æ›¸ã‹ã‚Œã¦ã„るデフォルトã¯ã‚µãƒ¼ãƒã¨å…±ã«é…布ã•ã‚Œã¦ã„ã‚‹ + デフォルト㮠httpd.conf + 内ã«æ›¸ã‹ã‚Œã¦ã„るディレクティブã®å€¤ã¨ + é•ã†å¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+
top
+
+

コンテキスト

+ +

+ ã“ã‚Œã¯ã€ã‚µãƒ¼ãƒã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®ã©ã“ã§ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæœ‰åŠ¹ãªã®ã‹ã‚’示ã—ã¾ã™ã€‚ + 次ã«ç¤ºã™å€¤ãŒä¸€ã¤ä»¥ä¸Šã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã§åˆ—挙ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +
+
サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
+ +
ã“ã‚Œã¯ã€ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ« + (例ãˆã°ã€httpd.conf, + srm.conf, access.conf) + 内ã§ã¯ä½¿ç”¨ã§ãã¾ã™ãŒã€ + <VirtualHost> ã‚„ + <Directory> ã®ä¸­ã§ã¯ + 使用ã§ããªã„ã“ã¨ã‚’示ã—ã¾ã™ã€‚ + .htaccessファイルã§ã®ä½¿ç”¨ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。
+ +
ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
+ +
ã“ã‚Œã¯ã€ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® + <VirtualHost> + ã®ä¸­ã§ä½¿ç”¨ã§ãã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚
+ +
ディレクトリ
+ +
ã“ã‚Œã¯ã€ã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã® + <Directory>, + <Location>, + <Files>, + <If>, + <Proxy> + コンテナã®ä¸­ã§ã€ 設定セクション + ã§èª¬æ˜Žã•ã‚Œã¦ã„る制é™ã®ä¸‹ã§ä½¿ç”¨ã§ãã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚
+ +
.htaccess
+ +
ã“ã‚Œã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã® + .htaccess ファイル内㧠+ 使用å¯èƒ½ã§ã‚ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚ ãŸã ã€ä¸Šæ›¸ã + ã®è¨­å®šã«ã‚ˆã£ã¦ã¯ã€å‡¦ç†ã•ã‚Œãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+
+ +

+ ディレクティブã¯æŒ‡ç¤ºã•ã‚ŒãŸã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã®ã¿è¨±å¯ã•ã‚Œã¾ã™ã€‚ + ä»–ã®å ´æ‰€ã§ä½¿ãŠã†ã¨ã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒãŒãã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’æ­£ã—ã扱ãˆãªã + ãªã‚‹ã‚ˆã†ãªè¨­å®šã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã‹ã€ã‚µãƒ¼ãƒãŒã¾ã£ãŸã動作ã—ãªããªã‚‹ã€ + ã™ãªã‚ã¡ã€ã‚µãƒ¼ãƒãŒèµ·å‹•ã—ãªããªã‚‹ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

+ ディレクティブã®æœ‰åŠ¹ãªä½ç½®ã¯ã€å®Ÿéš›ã¯æŒ™ã’られã¦ã„るコンテキスト㮠+ è«–ç†å’Œ (訳注: Boolen OR) + ã«ãªã‚Šã¾ã™ã€‚言ã„æ›ãˆã‚‹ã¨ã€ + "サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã€.htaccess" ã§æœ‰åŠ¹ã ã¨ + 記ã•ã‚Œã¦ã„るディレクティブ㯠httpd.conf + ファイル㨠.htaccess + ファイルã¨ã§æœ‰åŠ¹ã§ã™ãŒã€ <Directory> + ã‚„ <VirtualHost> + ã®ä¸­ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。

+
top
+
+

上書ã

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®å±žæ€§ã¯ã€.htaccess + ファイル中㫠+ ディレクティブãŒç¾ã‚ŒãŸã¨ãã«ã€ãã‚Œã®å‡¦ç†ã‚’有効ã«ã™ã‚‹ãŸã‚ã« + ã©ã®è¨­å®šã®ä¸Šæ›¸ããŒå¿…è¦ã‹ã‚’示ã—ã¾ã™ã€‚ ディレクティブ㮠+ コンテキスト + ãŒã€.htaccess + ファイル中ã§ã¯è¨±å¯ã—ã¦ã„ãªã„å ´åˆã¯ã€ ã“ã®å±žæ€§ã¯ + "é©ç”¨ä¸å¯" ã¨æ›¸ã‹ã‚Œã¾ã™ã€‚

+ +

上書ãã¯ã€AllowOverride + ディレクティブã«ã‚ˆã£ã¦æœ‰åŠ¹ã«ã•ã‚Œã€ + 特定ã®ã‚¹ã‚³ãƒ¼ãƒ—(ディレクトリãªã©)ã¨ã€ + ã•ã‚‰ã«ä¸‹ä½ã®ãƒ¬ãƒ™ãƒ«ã® AllowOverride + ã§ä¿®æ­£ã•ã‚Œãªã„é™ã‚Šã€ ãã®é…下ã«å¯¾ã—ã¦é©ç”¨ã•ã‚Œã¾ã™ã€‚ + ディレクティブã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯å–り得る上書ãã®åå‰ã‚‚挙ã’ã¾ã™ã€‚

+
top
+
+

ステータス

+ +

ã“ã‚Œã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㌠Apache + ウェブサーãƒã«ã©ã‚Œãらã„ãã¤ã組ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã‹ã‚’ + 示ã—ã¾ã™ã€‚言ã„æ›ãˆã‚Œã°ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¨ãã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹ãŸã‚ã«ã€ + モジュールã®æ•°ã‚’増やã—ã¦ã€ã‚µãƒ¼ãƒã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ + ã¨ã„ã†ã“ã¨ã‚’示ã—ã¾ã™ã€‚ + ã“ã®å±žæ€§ãŒå–り得る値ã¯ä»¥ä¸‹ã®ã‚‚ã®ã§ã™:

+ +
+
Core
+ +
"Core" ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache + ウェブサーãƒã®åŸºæœ¬ã¨ãªã‚‹ã¹ãã‚‚ã®ã§ã‚り〠+ 常ã«ä½¿ç”¨å¯èƒ½ã§ã‚ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚
+ +
MPM
+ +
"MPM" ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒžãƒ«ãƒãƒ—ロセッシングモジュールã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã“ã®ç¨®é¡žã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®å®šç¾©ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®è¡Œã«ä½¿ã£ã¦ã„るモジュールã®åå‰ãŒæ›¸ã‹ã‚Œã¦ã„ã‚‹ + å ´åˆã«ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã€‚
+ +
Base
+ +
"Base" ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ デフォルトã§ã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„る標準モジュールã®ä¸­ã®ä¸€ã¤ã§ã‚µ + ãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¦ã€ã‚ã–ã‚ã–設定ã‹ã‚‰ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’削除ã—ãŸã¨ãを除ã„ã¦ã€ + 通常ã§ã¯ä½¿ç”¨å¯èƒ½ã§ã‚ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚
+ +
Extension
+ +
"Extension" ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ Apache + サーãƒã®é…布物ã«åŒæ¢±ã•ã‚Œã¦ã„るモジュールã®ä¸€ã¤ã§æä¾›ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã®ã€ + 通常ã§ã¯ã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã„ã“ã¨ã‚’示ã—ã¾ã™ã€‚ + ディレクティブã¨ãã®æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã«ã¯ã€ã‚µãƒ¼ãƒãƒ“ルド用ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + 変更ã—㦠Apache + ã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ +
Experimental
+ +
"Experimental" ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€Apache + é…布物㫠+ åŒæ¢±ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã®ã€è©¦ã—ãŸã„å ´åˆã¯è‡ªå·±è²¬ä»»ã§è¡Œãªã† + å¿…è¦ãŒã‚ã‚‹ã¨ã„ã†ã“ã¨ã‚’示ã—ã¾ã™ã€‚ディレクティブã¯ã€ã™ã¹ã¦ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ + 完全ã«ãã‚ã‚ã›ã‚‹ãŸã‚ã«è§£èª¬ã•ã‚Œã¦ã„ã¾ã™ãŒã€ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“。 + ディレクティブをæä¾›ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã‹ã‚‚ + ã—ã‚Œã¾ã›ã‚“ã—ã€ãã†ã§ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。使用å¯èƒ½ã‹ã©ã†ã‹ã¯ã€ + ディレクティブã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®èª¬æ˜Žã‚’ã—ã¦ã„るページã®å…ˆé ­ã‚’調ã¹ã¦ãã ã•ã„。
+
+
top
+
+

モジュール

+ +

+ ã“ã‚Œã¯å˜ç´”ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒå®šç¾©ã•ã‚Œã¦ã„るモジュールã®åå‰ã‚’記載ã—ã¾ã™ã€‚

+
top
+
+

互æ›æ€§

+ +

ディレクティブ㌠Apache 2 + ã®é…布ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‹ã£ãŸå ´åˆã€ + ディレクティブãŒå°Žå…¥ã•ã‚ŒãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã“ã“ã«æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚ + ã¾ãŸã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒç‰¹å®šã®ãƒ—ラットフォームã«ã®ã¿å­˜åœ¨ã™ã‚‹ã¨ãã‚‚ + ã“ã“ã«æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚

+
+
+

翻訳済ã¿è¨€èªž:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.ko.euc-kr b/docs/manual/mod/directive-dict.html.ko.euc-kr new file mode 100644 index 0000000..78a8330 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.ko.euc-kr @@ -0,0 +1,284 @@ + + + + + +Áö½Ã¾î¸¦ ¼³¸íÇϴµ¥ »ç¿ëÇÑ ¿ë¾îµé - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Áö½Ã¾î¸¦ ¼³¸íÇϴµ¥ »ç¿ëÇÑ ¿ë¾îµé

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ ¼³Á¤ + Áö½Ã¾î¸¦ ¼³¸íÇϴµ¥ »ç¿ëÇÑ ¿ë¾îµéÀ» ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

¼³¸í (Description)

+ +

Áö½Ã¾îÀÇ ¸ñÀû¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸í.

+
top
+
+

¹®¹ý (Syntax)

+ +

¼³Á¤ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ Áö½Ã¾îÀÇ Çü½ÄÀ» ¾Ë·ÁÁØ´Ù. ÀÌ ¹®¹ýÀº + Áö½Ã¾î¸¶´Ù ¸Å¿ì ´Ù¸£¸ç, Áö½Ã¾î¸¦ Á¤ÀÇÇÒ ¶§¸¶´Ù ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. + ÀϹÝÀûÀ¸·Î Áö½Ã¾î À̸§ µÚ¿¡ °ø¹éÀ¸·Î ±¸ºÐÇÑ ¾Æ±Ô¸ÕÆ®µéÀÌ + ³ª¿Â´Ù. ¾Æ±Ô¸ÕÆ®°¡ °ø¹éÀ» Æ÷ÇÔÇÑ´Ù¸é ¾Æ±Ô¸ÕÆ®¸¦ ½Öµû¿ÈÇ¥·Î + ¹­¾î¾ß ÇÑ´Ù. ¼±ÅÃÀûÀÎ ¾Æ±Ô¸ÕÆ®´Â Áß°ýÈ£·Î ¹­´Â´Ù. ¾Æ±Ô¸ÕÆ®°¡ + ¿©·¯ °ªÁß ÇϳªÀÏ °æ¿ì °ªµéÀ» ¼öÁ÷¸·´ë "|"·Î ±¸ºÐÇÑ´Ù. + ¹®ÀÚ±×´ë·Î »ç¿ëÇÒ ºÎºÐÀº ±âº» ¹®ÀÚü·Î ¾²°í, ´ëüÇÒ ¾Æ±Ô¸ÕÆ®´Â + °­Á¶ÇÑ´Ù. ¾Æ±Ô¸ÕÆ® °³¼ö°¡ Á¤ÇØÁöÁö¾ÊÀº Áö½Ã¾î´Â + ¸¶Áö¸· ¾Æ±Ô¸ÕÆ®°¡ ¹Ýº¹µÊÀ» ³ªÅ¸³»´Â "..."À¸·Î ³¡³­´Ù.

+ +

Áö½Ã¾î´Â ¸Å¿ì ´Ù¾çÇÑ Á¾·ùÀÇ ¾Æ±Ô¸ÕÆ®¸¦ ¹Þ´Â´Ù. ÀÌÁß ÀÚÁÖ + »ç¿ëÇÏ´Â °ÍÀº ¾Æ·¡¿Í °°´Ù.

+ +
+
URL
+ +
http://www.example.com/path/to/file.html°ú + °°ÀÌ ½ºÅ´(scheme), È£½ºÆ®¸í, ¼±ÅÃÀûÀÎ °æ·Î¸íÀ» Æ÷ÇÔÇÑ + ¿ÏÀüÇÑ Uniform Resource Locator
+ +
URL-path
+ +
/path/to/file.html°ú °°ÀÌ url¿¡¼­ + ½ºÅ´°ú È£½ºÆ®¸í µÚ¿¡ ³ª¿À´Â ºÎºÐ. url-path´Â + ÆÄÀϽýºÅÛ¿¡¼­ º» ½ÃÁ¡ÀÌ ¾Æ´Ñ À¥¿¡¼­ º» ½ÃÁ¡¿¡¼­ÀÇ ÀڷḦ + ³ªÅ¸³½´Ù.
+ +
file-path
+ +
/usr/local/apache/htdocs/path/to/file.html°ú + °°ÀÌ root µð·ºÅ丮·Î ½ÃÀÛÇÏ´Â ÆÄÀϽýºÅÛ»óÀÇ ÆÄÀÏ °æ·Î. µû·Î + ¾ð±ÞÇÏÁö¾ÊÀ¸¸é, ½½·¡½¬·Î ½ÃÀÛÇÏÁö¾ÊÀº file-path´Â + ServerRoot¿¡ »ó´ë°æ·Î·Î + Ãë±ÞÇÑ´Ù.
+ +
directory-path
+ +
/usr/local/apache/htdocs/path/to/¿Í °°ÀÌ + root µð·ºÅ丮·Î ½ÃÀÛÇÏ´Â ÆÄÀϽýºÅÛ»óÀÇ µð·ºÅ丮 °æ·Î.
+ +
filename
+ +
file.html°ú °°ÀÌ °æ·Î Á¤º¸°¡ ¾ø´Â ÆÄÀϸí.
+ +
regex
+ +
Perl Çü½ÄÀÇ Á¤±ÔÇ¥Çö½Ä(regular + expression). Áö½Ã¾î´Â regex·Î ¹«¾ùÀΰ¡¸¦ °Ë»öÇÑ´Ù.
+ +
extension
+ +
ÀϹÝÀûÀ¸·Î filename¿¡¼­ ¸¶Áö¸· ¸¶Ä§Ç¥ µÚ¿¡ + ³ª¿À´Â ºÎºÐÀÌ´Ù. ±×·¯³ª ¾ÆÆÄÄ¡´Â ¿©·¯ È®ÀåÀÚ¸¦ ÀνÄÇÒ + ¼ö Àֱ⶧¹®¿¡, filename¿¡ ¸¶Ä§Ç¥°¡ ¿©·¯°³ Æ÷ÇÔµÈ + °æ¿ì ¸¶Ä§Ç¥·Î ±¸ºÐµÈ ¸ðµç ºÎºÐÀ» È®ÀåÀÚ(extension)·Î + ó¸®ÇÑ´Ù. ¿¹¸¦ µé¾î, ÆÄÀϸí file.html.enÀº + .html°ú .enÀ̶ó´Â µÎ°¡Áö È®ÀåÀÚ¸¦ + °¡Áø´Ù. ¾ÆÆÄÄ¡ Áö½Ã¾î¿¡¼­ extension¿¡ ÁöÁ¤ÇÑ + °ª ¾Õ¿¡ ¸¶Ä§Ç¥°¡ À־ µÇ°í ¾ø¾îµµ µÈ´Ù. ¶Ç, + extensionÀº ´ë¼Ò¹®ÀÚ¸¦ °¡¸®Áö¾Ê´Â´Ù.
+ +
MIME-type
+ +
text/html°ú °°ÀÌ ½½·¡½¬·Î major format + type°ú minor format type¸¦ ±¸ºÐÇÏ¿© ÆÄÀÏÀÇ Çü½ÄÀ» ¼³¸íÇÏ´Â + ¹æ½Ä.
+ +
env-variable
+ +
¾ÆÆÄÄ¡ ¼³Á¤¿¡¼­ Á¤ÀÇÇÑ È¯°æº¯¼ö + À̸§. ¿î¿µÃ¼Á¦ÀÇ È¯°æº¯¼ö¿Í ´Ù¸§À» ÁÖÀÇÇ϶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº + ȯ°æº¯¼ö ¹®¼­¸¦ Âü°íÇ϶ó.
+
+
top
+
+

±âº»°ª (Default)

+ +

Áö½Ã¾î¿¡ ±âº»°ªÀÌ ÀÖ´Ù¸é (¿¹¸¦ µé¾î, ¼³Á¤¿¡¼­ + Áö½Ã¾î¸¦ »ý·«ÇÑ °æ¿ì ¾ÆÆÄÄ¡ À¥¼­¹ö´Â ÀÌ °ªÀ» »ç¿ëÇÑ´Ù.) + ÀÌ Ç׸ñ¿¡ ³ª¿Â´Ù. ±âº»°ªÀÌ ¾ø´Ù¸é ÀÌ Ç׸ñÀº + "None"À̾î¾ß ÇÑ´Ù. ±âº»°ªÀÌ ¼­¹ö¿¡ Æ÷ÇÔµÈ ±âº» + httpd.confÀÇ Áö½Ã¾î °ª°ú ´Ù¸¦ ¼ö ÀÖÀ½À» ÁÖÀÇÇ϶ó.

+
top
+
+

»ç¿ëÀå¼Ò (Context)

+ +

¼­¹öÀÇ ¼³Á¤ÆÄÀÏÁß ¾î´À°÷¿¡¼­ Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö + ¾Ë·ÁÁØ´Ù. ´ÙÀ½ °ªµéÀ» ½°Ç¥·Î ±¸ºÐÇÑ ¸ñ·ÏÀÌ´Ù:

+ +
+
ÁÖ¼­¹ö¼³Á¤ (server config)
+ +
Áö½Ã¾î¸¦ ¼­¹ö ¼³Á¤ÆÄÀÏ¿¡¼­ (¿¹¸¦ µé¾î, + httpd.conf) »ç¿ëÇÒ ¼ö ÀÖÀ¸³ª, <VirtualHost>³ª + <Directory>¿¡¼­ + »ç¿ëÇÒ ¼ö ¾øÀ½À» ¶æÇÑ´Ù. ÀÌ Áö½Ã¾î´Â + .htaccess ÆÄÀÏ¿¡¼­µµ »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
°¡»óÈ£½ºÆ® (virtual host)
+ +
Áö½Ã¾î¸¦ ¼­¹ö ¼³Á¤ÆÄÀÏÀÇ <VirtualHost> ¾È¿¡¼­ »ç¿ëÇÒ ¼ö + ÀÖÀ½À» ¶æÇÑ´Ù.
+ +
µð·ºÅ丮 (directory)
+ +
Áö½Ã¾î°¡ ¼½¼Ç ¼³Á¤¿¡ + ¼³¸íÇÑ Á¦¾àÀ» µû¸£¸ç, ¼­¹ö ¼³Á¤ÆÄÀÏÀÇ <Directory>, <Location>, <Files>, <Proxy>¿¡¼­ + »ç¿ëÇÒ ¼ö ÀÖÀ½À» ¶æÇÑ´Ù.
+ +
.htaccess
+ +
Áö½Ã¾î¸¦ µð·ºÅ丮º° .htaccess + ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖÀ½À» ¶æÇÑ´Ù. ÀÌ Áö½Ã¾î´Â ÇöÀç »ç¿ëÇÏ´Â + overrides °ª¿¡ µû¶ó ¹«½ÃµÉ ¼ö + ÀÖ´Ù.
+
+ +

Áö½Ã¾î´Â ÁöÁ¤µÈ Àå¼Ò¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ + °÷¿¡¼­ »ç¿ëÇÏ¸é ¼³Á¤¿À·ù°¡ ¹ß»ýÇÏ°í ¼­¹ö´Â ºÎºÐ¿¡ ´ëÇÑ ¿äûÀ» + ¿Ã¹Ù·Î ó¸®ÇÏÁö ¸øÇϰųª ÀÛµ¿ÀÌ, ¿¹¸¦ µé¾î ½ÃÀÛÁ¶Â÷µµ, + ¾ÈµÉ ¼ö ÀÖ´Ù.

+ +

Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â Àå¼Ò´Â ¿­°ÅÇÑ Àå¼Ò¸¦ ¸ðµÎ + ºÒ¸°(boolean) ORÇÑ °á°úÀÌ´Ù. Áï, + "server config, .htaccess"¿¡¼­ °¡´ÉÇÏ´Ù´Â + Áö½Ã¾î´Â httpd.conf ÆÄÀÏ°ú .htaccess + ÆÄÀÏ¿¡¼­´Â »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, <Directory>³ª <VirtualHost>¿¡¼­´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.

+
top
+
+

Override ¿É¼Ç (Override)

+ +

ÀÌ Áö½Ã¾î¸¦ .htaccess ÆÄÀÏ¿¡¼­ »ç¿ëÇÏ·Á¸é + ¾î¶² override ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÏ´ÂÁö¸¦ ³ªÅ¸³½´Ù. Áö½Ã¾îÀÇ + »ç¿ëÀå¼Ò°¡ Áö½Ã¾î¸¦ .htaccess + ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø´Ù°í ÇÑ´Ù¸é ¾î¶² »ç¿ëÀå¼Òµµ ³ª¿ÀÁö + ¾Ê´Â´Ù.

+ +

Overrides´Â AllowOverride Áö½Ã¾î·Î Áö½ÃÇÏ°í, + (µð·ºÅ丮 µîÀÇ) ƯÁ¤ ¹üÀ§¿Í ÇÏÀ§ ¹üÀ§¿¡¼­ ´Ù¸¥ AllowOverride Áö½Ã¾î·Î ´Ù¸¥ °ªÀ» + ¼³Á¤ÇÏÁö¾Ê¾Ò´Ù¸é ÇÏÀ§ ¹üÀ§¿¡µµ ±×´ë·Î Àû¿ëµÈ´Ù. Áö½Ã¾î ¼³¸í¿¡ + »ç¿ë°¡´ÉÇÑ override À̸§µéÀÌ ³ª¿Â´Ù.

+
top
+
+

»óÅÂ (Status)

+ +

Áö½Ã¾î°¡ ¾ÆÆÄÄ¡ À¥¼­¹ö¿¡ ¾ó¸¶³ª ±ä¹ÐÈ÷ ¹­¿©ÀÖ´ÂÁö¸¦ + ³ªÅ¸³½´Ù. Áï, ±× Áö½Ã¾î³ª ±â´ÉÀ» »ç¿ëÇϱâÀ§ÇØ ¼­¹ö¸¦ + ¸ðµâ°ú °°ÀÌ ´Ù½Ã ÄÄÆÄÀÏÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¼öµµ ÀÖ´Ù. + °¡´ÉÇÑ °ªÀº ´ÙÀ½°ú °°´Ù:

+ +
+
Core
+ +
Áö½Ã¾î°¡ "Core" »óŸ¦ °¡Áö¸é, Áö½Ã¾î°¡ ¾ÆÆÄÄ¡ À¥¼­¹ö + Çٽɺκп¡ ¼ÓÇÏ°í Ç×»ó »ç¿ë°¡´ÉÇÔÀ» ¶æÇÑ´Ù.
+ +
MPM
+ +
"MPM" »óÅÂÀÎ Áö½Ã¾î´Â ´ÙÁßó¸® + ¸ðµâÀ» Á¦°øÇÑ´Ù. ÀÌ·± Áö½Ã¾î´Â Áö½Ã¾î ¼³¸í¿¡¼­ ¸ðµâ¿¡ ¿­°ÅµÈ MPMÁß Çϳª¸¦ »ç¿ëÇÒ¶§¸¸ + °¡´ÉÇÏ´Ù.
+ +
Base
+ +
±âº»ÀûÀ¸·Î ¼­¹ö¿Í °°ÀÌ ÄÄÆÄÀϵǹǷΠÁ÷Á¢ ±¸¼º¿¡¼­ + ¸ðµâÀ» Á¦°ÅÇÏÁö ¾Ê¾Ò´Ù¸é ÀϹÝÀûÀ¸·Î »ç¿ë°¡´ÉÇÑ Ç¥ÁØ ¾ÆÆÄÄ¡ + ¸ðµâÀÌ Á¦°øÇÏ´Â Áö½Ã¾î´Â "Base" »óÅÂÀÌ´Ù.
+ +
Extension
+ +
¾ÆÆÄÄ¡ ¼­¹ö ¹èÆ÷º»¿¡´Â Æ÷ÇÔµÇÀÖÁö¸¸ º¸Åë ¼­¹ö¿Í °°ÀÌ + ÄÄÆÄÀϵÇÁö¾Ê´Â ¸ðµâÀÌ Á¦°øÇÏ´Â Áö½Ã¾î´Â "Extension" »óÅÂÀÌ´Ù. + ÀÌ·± Áö½Ã¾î¸¦ »ç¿ëÇÏ·Á¸é ¼­¹ö ÄÄÆÄÀÏ ±¸¼ºÆÄÀÏÀ» ¼öÁ¤ÇÏ°í + ¾ÆÆÄÄ¡¸¦ ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù.
+ +
Experimental
+ +
"Experimental"Àº Áö½Ã¾î°¡ ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡ Æ÷ÇÔµÇÀÖÁö¸¸, + »ç¿ëÀº ÀÚ½ÅÀÇ Ã¥ÀÓÀÓÀ» ³ªÅ¸³½´Ù. Áö½Ã¾î´Â ¹®¼­È­µÇÀÖÁö¸¸, + ½ÇÁ¦¿Í ´Ù¸¦ ¼ö ÀÖ´Ù. Áö½Ã¾î¸¦ Á¦°øÇÏ´Â ¸ðµâÀº ±âº»ÀûÀ¸·Î + ¾ÆÆÄÄ¡¿Í °°ÀÌ ÄÄÆÄÀ쵃 ¼öµµ ¾ÈµÉ ¼öµµ ÀÖ´Ù. Áö½Ã¾î¿Í ¸ðµâÀ» + ¼³¸íÇÏ´Â ¹®¼­ ¾Õ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö »ìÆìºÁ¶ó.
+
+
top
+
+

¸ðµâ (Module)

+ +

´Ü¼øÈ÷ Áö½Ã¾î¸¦ Á¤ÀÇÇÑ ¼Ò½º ¸ðµâ¸íÀ» ¿­°ÅÇÑ´Ù.

+
top
+
+

Áö¿ø (Compatibility)

+ +

Áö½Ã¾î°¡ ¿ø·¡ ¾ÆÆÄÄ¡ ¹öÀü 2 ¹èÆ÷º»ÀÇ ÀϺΰ¡ ¾Æ´Ï¿´´Ù¸é, + Áö½Ã¾î¸¦ Ãß°¡Çϱ⠽ÃÀÛÇÑ ¹öÀüÀÌ ¿©±â ³ª¿Â´Ù. ¶Ç, ¾î¶² + Ç÷¡Æû¿¡¼­¸¸ »ç¿ë°¡´ÉÇÑ Áö½Ã¾îµµ ¿©±â ³ª¿Â´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.tr.utf8 b/docs/manual/mod/directive-dict.html.tr.utf8 new file mode 100644 index 0000000..c8d315e --- /dev/null +++ b/docs/manual/mod/directive-dict.html.tr.utf8 @@ -0,0 +1,305 @@ + + + + + +Yönergeleri Tanımlamakta Kullanılan Terimler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Yönergeleri Tanımlamakta Kullanılan Terimler

+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu belgede Apache yapılandırma + yönergelerini tanımlamakta kullanılan terimler açıklanmıştır.

+
+ +
top
+
+

Açıklama

+ +

Yönergenin kullanım amacının kısa bir açıklaması.

+
top
+
+

Sözdizimi

+ +

Yönergenin bir yapılandırma dosyasında hangi söz dizimiyle + görünebileceği belirtilir. Bu sözdizimi yönergeye özeldir ve ayrıntıları + yönerge tanımında açıklanır. Genelde yönerge ismini aralarında boşluklar + bırakılmış bir dizi argüman izler. Eğer argümanlardan biri kendi içinde + boşluk içeriyorsa çift tırnak içine alınır. İsteğe bağlı argümanlar + sözdiziminde köşeli ayraçların arasında gösterilmiştir. Birden fazla + olası değeri olan argümanlarda değerler aralarına | karakteri konarak + ayrılmıştır. Değerin yerine ismi belirtilen argümanlarda bu isimler + eğik yazılırken, kendisi değer olan dizgeler öntanımlı yazıtipi + ile gösterilmiştir. Değişik sayıda argüman alan yönergelerde bu durum son + argümanı takibeden “...†ile belirtilmiştir.

+ +

Yönergelerde kullanılan argüman türleri çok çeşitlidir. Çok + kullanılanlardan bazıları aşağıda tanımlanmıştır.

+ +
+
URL
+ +
http://host.example.com/yol/yordam/dosya.html + örneğindeki gibi protokol şeması ve konak ismini isteğe bağlı bir dosya + yolunun izlediği, açılımı “Uniform Resource Locator†olan ve Türkçe’ye + “Tektip Özkaynak Konumlayıcı†şeklinde çevrilebilecek adresleri + betimler.
+ +
URL-yolu
+ +
/yol/yordam/dosya.html örneğindeki gibi bir + url’nin parçası olarak protokol şeması ve konak ismini izleyen + bir yol dizgesini betimler. url-yolu, bir dosya sisteminin kök + dizinine göre değil, DocumentRoot + ile belirtilen dizine göre bir dosya yolu betimler.
+ +
dosya-yolu
+ +
/usr/local/apache/htdocs/yol/yordam/dosya.html + örneğindeki gibi yerel dosya sisteminin kök dizini ile başlayan bir + dosya yolunu betimler. Aksi belirtilmedikçe, bir / ile başlamayan bir + dosya-yolu ServerRoot ile + belirtilen dizine göre ele alınır.
+ +
dizin-yolu
+ +
/usr/local/apache/htdocs/yol/yordam/ örneğindeki gibi + kök dizin ile başlayan, yerel dosya sistemindeki bir dizin yolunu + betimler.
+ +
dosya-ismi
+ +
dosya.html örneğindeki gibi dizin yolu içermeyen bir + dosya ismini betimler.
+ +
düzifd
+ +
Bir Perl uyumlu düzenli ifade + betimler. Yönerge tanımında düzifd ile eşleşenler argüman + olarak ele alınır.
+ +
uzantı
+ +
Bu genelde, dosya-ismi’nin bir parçası olarak son noktadan + sonraki kısmı betimler. Bununla birlikte, Apache çok sayıda nokta + içeren dosya isimlerinde ilk noktadan sonrasını uzantı kabul + eden çoklu dosya ismi uzantılarını da tanır. Örneğin, dosya- + ismi olarak dosya.html.tr değeri iki uzantı içerir: + .html ve .tr. Apache yönergelerinde + uzantı’ları başında noktası olmaksızın da belirtebilirsiniz. + Ayrıca, uzantı’lar harf büyüklüğüne de duyarlı değildir.
+ +
MIME-türü
+ +
Dosya biçiminin, text/html örneğindeki gibi aralarına + bir / konulmuş asıl ve alt biçimler şeklinde açıklandığı yönteme göre + belirtileceğini betimler.
+ +
ortam-deÄŸiÅŸkeni
+ +
Apache yapılandırma sürecinde tanımlanmış bir ortam değişkeninin ismini betimler. Daha + ayrıntılı bilgi için ortam değişkenleri + belgesine bakınız.
+
+
top
+
+

Öntanımlı

+ +

Eğer yönerge öntanımlı bir değere sahipse o burada belirtilir (öntanımlı + değer, yönergede kullanıcı tarafından belirtilmediği halde Apache + tarafından belirtildiği varsayılarak işlem yapılan değerdir). Eğer + öntanımlı bir değer yoksa bu bölümde bu durum “Yok†şeklinde + belirtilir. Burada belirtilen öntanımlı değerin sunucu ile dağıtılan + öntanımlı httpd.conf içindeki yönergede kullanılan değerle aynı olmasının + gerekmediğine dikkat ediniz.

+
top
+
+

BaÄŸlam

+ +

Yönergenin sunucunun yapılandırma dosyalarının nerelerinde meşru kabul + edildiği aşağıdaki değerlerin virgül ayraçlı bir listesi halinde burada + belirtilir.

+ +
+
sunucu geneli
+ +
Yönergenin sunucunun (httpd.conf gibi) yapılandırma + dosyalarında <VirtualHost> ve <Directory> bölümleri dışında + her yerde kullanılabileceğini belirtir. Ayrıca, .htaccess + dosyalarında bulunmasına da izin verilmez.
+ +
sanal konak
+ +
Yönergenin sunucunun yapılandırma dosyalarının sadece <VirtualHost> bölümlerinde + kullanıldığında geçerli kabul edileceğini belirtir.
+ +
dizin
+ +
Yönergenin sunucunun yapılandırma dosyalarında sadece <Directory>, <Location>, <Files>, <If> ve <Proxy> bölümlerinde + kullanıldığında geçerli kabul edileceğini belirtir. Bu bağlama konu + sınırlamaların çerçevesi Yapılandırma + Bölümleri içinde çizilmiştir.
+ +
.htaccess
+ +
Bu bağlamda geçerli olacağı kabul edilen bir yönerge sadece dizin içi + .htaccess dosyalarında görüldüğü zaman işleme sokulur. + Üzerinde bir geçersizleştirme etkin kılınmışsa + yönerge her şeye rağmen işleme sokulmayabilir.
+
+ +

Yönergeye sadece tasarlandığı bağlam içinde izin verilir; başka + bir yerde kullanmayı denerseniz ya sunucunun bu bağlamı doğru şekilde + işlemesine engel olan ya da sunucunun tamamen işlevsiz kalmasına sebep + olan -- sunucu hiç başlatılamayabilir -- bir yapılandırma hatası + alırsınız.

+ +

Yönergenin geçerli olacağı konumlar, aslında, listelenen bağlamların + tamamına mantıksal VEYA uygulanarak bulunur. Başka bir deyişle, bir + yönergenin geçerli olacağı yerler "sunucu geneli, .htaccess" + şeklinde belirtilmişse yönerge httpd.conf dosyasında ve + .htaccess dosyalarında, <Directory> veya <VirtualHost> bölümleri haricinde her yerde + kullanılabilir.

+
top
+
+

Geçersizleştirme

+ +

Bir .htaccess dosyasında göründüğü takdirde yönerge + işlenirken hangi yapılandırma geçersizleşirmesinin etkin olacağı burada + belirtilir. Eğer yönerge bağlamının + .htaccess dosyalarında görünmesine izin verilmiyorsa hiçbir + bağlam listelenmez.

+ +

Geçersizleştirmeler AllowOverride + yönergesi tarafından etkinleştirilir ve belli bir bağlama ve alt + seviyelerde başka AllowOverride + yönergeleri ile değiştirilmedikçe tüm çocuklarına uygulanır. Yönergenin + belgesinde ayrıca kullanılabilecek tüm olası geçersizleştirme isimleri + belirtilir.

+
top
+
+

Durum

+ +

Yönergenin Apache HTTP sunucusuna ne kadar sıkı bağlı olduğunu belirtir. + Başka bir deyişle, yönergeye ve işlevselliğine erişim kazanmak için + sunucuyu belli bir modül kümesiyle yeniden derlemek gerekip gerekmediği + ile ilgili durumu belirtir. Bu özniteliğin olası değerleri şunlardır:

+ +
+
Çekirdek
+ +
Eğer bir yönerge “Çekirdek†durumuna sahip olarak listelenmişse bu, + yönergenin Apache HTTP sunucusunun en iç kısımlarının bir parçası + olduğu ve daima kullanılabilir olacağı anlamına gelir.
+ +
MPM
+ +
“MPM†durumuna sahip bir yönerge Çok Süreklilik + Modülü tarafından sağlanır. Bu yönerge türü sadece ve sadece + yönerge tanımının Modül satırında listelenmiş + MPM’lerden birini kullanıyorsanız mevcut olacaktır.
+ +
Temel
+ +
“Temel†durumuna sahip bir yönerge, sunucuda öntanımlı derlenmiş + standart Apache modüllerinden biri tarafından destekleniyor demektir. + Bu nedenle sunucuyu derlemek için yapılandırırken yönergeyi içeren + modülü yapılandırmadan özellikle kaldırmazsanız yönerge normal olarak + kullanılabilir olacaktır.
+ +
Eklenti
+ +
“Eklenti†durumuna sahip bir yönerge, Apache sunucu kitinde bulunan + ancak normalde sunucuyla birlikte derlenmeyen modüllerden biri + tarafından sağlanır. Yönergeyi ve işlevselliğini etkin kılmak için + sunucunun derleme öncesi paket yapılandırması sırasında modülün + derleneceğini açıkça belirttikten sonra gerekirse sunucuyu yeniden + derlemeniz gerekir.
+ +
Deneysel
+ +
“Deneysel†durumuna sahip bir yönerge, Apache sunucu kitinde bulunan + modüllerden biri tarafından sağlanır ve modülün denenmesi tamamen sizin + insiyatifinize bırakılır. Böyle bir yönerge her şeyiyle belgelenmiştir + fakat gerektiği gibi desteklenmemiştir. Yönergeyi içeren modül + öntanımlı olarak sunucuyla birlikte derlenebileceği gibi + derlenmeyebilir de; bunun için yönergenin açıklandığı sayfanın başına + ve kullanılabilirliği hakkında bilgi edinmek için yönergeyi içeren + modüle bakın.
+
+
top
+
+

Modül

+ +

Burada sadece yönergeyi tanımlayan kaynak modülün ismi yazılır.

+
top
+
+

Uyumluluk

+ +

Eğer yönerge Apache’nin 2. sürüm dağıtımının özgün parçası değilse söz + konusu sürüm burada belirtilir. Ayrıca, yönergenin kullanımı belli + platformlarla sınırlıysa bunun ayrıntıları da burada belirtilir.

+
+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html b/docs/manual/mod/directives.html new file mode 100644 index 0000000..e23c193 --- /dev/null +++ b/docs/manual/mod/directives.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: directives.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: directives.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: directives.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: directives.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: directives.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: directives.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: directives.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: directives.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/directives.html.de b/docs/manual/mod/directives.html.de new file mode 100644 index 0000000..2f026d3 --- /dev/null +++ b/docs/manual/mod/directives.html.de @@ -0,0 +1,807 @@ + + + + + +Verzeichnis der Direktiven - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Verzeichnis der Direktiven

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ Hier sind alle Apache-Direktiven aufgeführt, die in der + Standard-Apache-Distribution verfügbar sind. Sie sind in + einem einheitlichen Format beschrieben. Ein Glossar + erläutert die in der Beschreibung verwendeten Begriffe. +

+ +

+ Außerdem existiert eine Kurzreferenz der Direktiven, welche + zu jeder Direktive eine Zusammenfassung der Details enthält. +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html.en b/docs/manual/mod/directives.html.en new file mode 100644 index 0000000..26924e4 --- /dev/null +++ b/docs/manual/mod/directives.html.en @@ -0,0 +1,808 @@ + + + + + +Directive Index - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Directive Index

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ Each Apache directive available in the standard Apache + distribution is listed here. They are described using a + consistent format, and there is a dictionary of the terms used in their + descriptions available. +

+ +

+ A Directive Quick-Reference + is also available giving details about each directive in a + summary form. +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html.es b/docs/manual/mod/directives.html.es new file mode 100644 index 0000000..d825016 --- /dev/null +++ b/docs/manual/mod/directives.html.es @@ -0,0 +1,810 @@ + + + + + +Índice de Directivas - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Índice de Directivas

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ Todas las directivas disponibles en la distribución + estándar de Apache están en la lista que se muestra más + abajo. Cada una se describe usando un formato uniforme, y existe + un glosario + de los términos usados en las descripciones que puede + consultar. +

+ +

+ También existe una Guía Rápida de + Referencia de Directivas con información de cada + directiva de forma resumida. +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html.fr.utf8 b/docs/manual/mod/directives.html.fr.utf8 new file mode 100644 index 0000000..bc136b6 --- /dev/null +++ b/docs/manual/mod/directives.html.fr.utf8 @@ -0,0 +1,808 @@ + + + + + +Index des directives - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Index des directives

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ Toutes les directives Apache disponibles dans la distribution standard + d'Apache sont référencées ici. Elles sont décrites en utilisant un + format normalisé, et un dictionnaire des termes utilisés dans leurs + descriptions est disponible. +

+ +

+ Un Document de référence rapide des directives + est également disponible. Il donne des détails à propos de chaque directive + sous une forme abrégée. +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html.ja.utf8 b/docs/manual/mod/directives.html.ja.utf8 new file mode 100644 index 0000000..085955d --- /dev/null +++ b/docs/manual/mod/directives.html.ja.utf8 @@ -0,0 +1,805 @@ + + + + + +ディレクティブ一覧 - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

ディレクティブ一覧

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ 標準 Apache é…布ã«ã‚ã‚‹ã™ã¹ã¦ã® Apache ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä¸€è¦§ã§ã™ã€‚ + ã“れらã¯ä¸€è²«ã—ãŸå½¢å¼ã§æ›¸ã‹ã‚Œã¦ã„ã¦ã€ä½¿ã‚ã‚Œã¦ã„る用語㮠+ 用語集 も用æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚ +

+

+ å„ディレクティブã®æ¦‚è¦ã‚’説明ã—㟠ディレクティブクイックリファレンスも + ã‚ã‚Šã¾ã™ã€‚ +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html.ko.euc-kr b/docs/manual/mod/directives.html.ko.euc-kr new file mode 100644 index 0000000..4b6fb51 --- /dev/null +++ b/docs/manual/mod/directives.html.ko.euc-kr @@ -0,0 +1,805 @@ + + + + + +Áö½Ã¾î ¸ñ·Ï - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Áö½Ã¾î ¸ñ·Ï

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ ´ÙÀ½Àº Ç¥ÁØ ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡¼­ »ç¿ë°¡´ÉÇÑ Áö½Ã¾î ¸ñ·ÏÀÌ´Ù. + À̵éÀ» µ¿ÀÏÇÑ Çü½ÄÀ¸·Î ¼³¸íÇÏ¿´°í, ¼³¸í¿¡ »ç¿ëÇÑ ¿ë¾î + »çÀüµµ ÀÖ´Ù. +

+ +

+ °¢ Áö½Ã¾î¸¦ ¿ä¾àÇÏ¿© ¼³¸íÇÑ Áö½Ã¾î ºü¸¥ÂüÁ¶µµ ÀÖ´Ù. +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html.tr.utf8 b/docs/manual/mod/directives.html.tr.utf8 new file mode 100644 index 0000000..07d8ca4 --- /dev/null +++ b/docs/manual/mod/directives.html.tr.utf8 @@ -0,0 +1,804 @@ + + + + + +Yönerge Dizini - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Yönerge Dizini

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Standart Apache dağıtımında bulunan yönergelerin tamamı burada + listelenmiştir. Hepsi aralarında şekilsel bir uyum sağlanarak + açıklanmışlardır. Açıklamalarında kullanılan terimler için Yönerge Sözlüğüne + bakabilirsiniz.

+ +

Ayrıca, yönerge ayrıntılarının bir özet olarak listelendiği bir + Hızlı Yönerge Kılavuzu da + mevcuttur.

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/directives.html.zh-cn.utf8 b/docs/manual/mod/directives.html.zh-cn.utf8 new file mode 100644 index 0000000..cc9c789 --- /dev/null +++ b/docs/manual/mod/directives.html.zh-cn.utf8 @@ -0,0 +1,803 @@ + + + + + +指令索引 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

指令索引

+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ æ¯ä¸ªåœ¨ Apache 标准å‘行版中å¯ç”¨çš„指令都列在这里。它们使用一致的格å¼æ述,而且有术语字典。 +

+ +

+ 指令快速å‚考用æ¥ä»¥æ‘˜è¦çš„å½¢å¼æ供有关æ¯ä¸ªæŒ‡ä»¤çš„详细信æ¯ã€‚ +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
+
+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

评论

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/event.html b/docs/manual/mod/event.html new file mode 100644 index 0000000..632cde4 --- /dev/null +++ b/docs/manual/mod/event.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: event.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: event.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/event.html.en b/docs/manual/mod/event.html.en new file mode 100644 index 0000000..e8bf955 --- /dev/null +++ b/docs/manual/mod/event.html.en @@ -0,0 +1,432 @@ + + + + + +event - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM event

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
Status:MPM
Module Identifier:mpm_event_module
Source File:event.c
+

Summary

+ +

The event Multi-Processing Module (MPM) is + designed to allow more requests to be served simultaneously by + passing off some processing work to the listeners threads, freeing up + the worker threads to serve new requests.

+ +

To use the event MPM, add + --with-mpm=event to the configure + script's arguments when building the httpd.

+ +
+ +
top
+
+

Relationship with the Worker MPM

+

event is based on the worker MPM, which implements a hybrid +multi-process multi-threaded server. A single control process (the parent) is responsible for launching +child processes. Each child process creates a fixed number of server +threads as specified in the ThreadsPerChild directive, as well +as a listener thread which listens for connections and passes them to a worker thread for processing when they arrive.

+ +

Run-time configuration directives are identical to those provided by worker, with the only addition +of the AsyncRequestWorkerFactor.

+ +
top
+
+

How it Works

+

This MPM tries to fix the 'keep alive problem' in HTTP. After a client + completes the first request, it can keep the connection + open, sending further requests using the same socket and saving + significant overhead in creating TCP connections. However, + Apache HTTP Server traditionally keeps an entire child + process/thread waiting for data from the client, which brings its own disadvantages. + To solve this problem, this MPM uses a dedicated listener thread for each process + to handle both the Listening sockets, all sockets that are in a Keep Alive state, + sockets where the handler and protocol filters have done their work + and the ones where the only remaining thing to do is send the data to the client. +

+ +

This new architecture, leveraging non-blocking sockets and modern kernel + features exposed by APR (like Linux's epoll), + no longer requires the mpm-accept Mutex + configured to avoid the thundering herd problem.

+ +

The total amount of connections that a single process/threads block can handle is regulated + by the AsyncRequestWorkerFactor directive.

+ +

Async connections

+

Async connections would need a fixed dedicated worker thread with the previous MPMs but not with event. + The status page of mod_status shows new columns under the Async connections section:

+
+
Writing
+
While sending the response to the client, it might happen that the TCP write buffer fills up because the connection is too slow. + Usually in this case, a write() to the socket returns EWOULDBLOCK or EAGAIN to become writable again after an idle time. + The worker holding the socket might be able to offload the waiting task to the listener thread, that in turn will re-assign it to the first idle worker thread available once an event will be raised for the socket (for example, "the socket is now writable"). + Please check the Limitations section for more information. +
+ +
Keep-alive
+
Keep Alive handling is the most basic improvement from the worker MPM. + Once a worker thread finishes to flush the response to the client, it can offload the + socket handling to the listener thread, that in turn will wait for any event from the + OS, like "the socket is readable". If any new request comes from the client, then the + listener will forward it to the first worker thread available. Conversely, if the + KeepAliveTimeout occurs then the socket will be + closed by the listener. In this way, the worker threads are not responsible for idle + sockets, and they can be re-used to serve other requests.
+ +
Closing
+
Sometimes the MPM needs to perform a lingering close, namely sending back an early error to the client while it is still transmitting data to httpd. + Sending the response and then closing the connection immediately is not the correct thing to do since the client (still trying to send the rest of the + request) would get a connection reset and could not read the httpd's response. + The lingering close is time-bounded, but it can take a relatively long + time, so it's offloaded to a worker thread (including the shutdown hooks and real socket close). + From 2.4.28 onward, this is also the + case when connections finally timeout (the listener thread never handles connections besides waiting for and dispatching their events). +
+
+ +

These improvements are valid for both HTTP/HTTPS connections.

+ + + +

Graceful process termination and Scoreboard usage

+

This mpm showed some scalability bottlenecks in the past, leading to the following + error: "scoreboard is full, not at MaxRequestWorkers". + MaxRequestWorkers + limits the number of simultaneous requests that will be served at any given time + and also the number of allowed processes + (MaxRequestWorkers + / ThreadsPerChild); meanwhile, + the Scoreboard is a representation of all the running processes and + the status of their worker threads. If the scoreboard is full (so all the + threads have a state that is not idle) but the number of active requests + served is not MaxRequestWorkers, + it means that some of them are blocking new requests that could be served + but that are queued instead (up to the limit imposed by + ListenBacklog). Most of the time, + the threads are stuck in the Graceful state, namely they are waiting to + finish their work with a TCP connection to safely terminate and free up a + scoreboard slot (for example, handling long-running requests, slow clients + or connections with keep-alive enabled). Two scenarios are very common:

+
    +
  • During a graceful restart, + the parent process signals all its children to complete + their work and terminate, while it reloads the config and forks new + processes. If the old children keep running for a while before stopping, + the scoreboard will be partially occupied until their slots are freed. +
  • +
  • The server load goes down in a way that causes httpd to + stop some processes (for example, due to + MaxSpareThreads). + This is particularly problematic because when the load increases again, + httpd will try to start new processes. + If the pattern repeats, the number of processes can rise quite a bit, + ending up in a mixture of old processes trying to stop and new ones + trying to do some work. +
  • +
+

From 2.4.24 onward, mpm-event is smarter and it is able to handle + graceful terminations in a much better way. Some of the improvements are:

+
    +
  • Allow the use of all the scoreboard slots up to + ServerLimit. + MaxRequestWorkers and + ThreadsPerChild are used + to limit the amount of active processes; meanwhile, + ServerLimit + takes also into account the ones doing a graceful + close to allow extra slots when needed. The idea is to use + ServerLimit to instruct httpd + about how many overall processes are tolerated before impacting + the system resources. +
  • +
  • Force gracefully finishing processes to close their + connections in keep-alive state.
  • +
  • During graceful shutdown, if there are more running worker threads + than open connections for a given process, terminate these threads to + free resources faster (which may be needed for new processes).
  • +
  • If the scoreboard is full, prevent more processes from finishing + gracefully due to reduced load until old processes have terminated + (otherwise the situation would get worse once the load increases again).
  • +
+

The behavior described in the last point is completely observable via + mod_status in the connection summary table through two new + columns: "Slot" and "Stopping". The former indicates the PID and + the latter if the process is stopping or not; the extra state "Yes (old gen)" + indicates a process still running after a graceful restart.

+ + +

Limitations

+

The improved connection handling may not work for certain connection + filters that have declared themselves as incompatible with event. In these + cases, this MPM will fall back to the behavior of the + worker MPM and reserve one worker thread per connection. + All modules shipped with the server are compatible with the event MPM.

+ +

A similar restriction is currently present for requests involving an + output filter that needs to read and/or modify the whole response body. + If the connection to the client blocks while the filter is processing the + data, and the amount of data produced by the filter is too big to be + buffered in memory, the thread used for the request is not freed while + httpd waits until the pending data is sent to the client.
+ To illustrate this point, we can think about the following two situations: + serving a static asset (like a CSS file) versus serving content retrieved from + FCGI/CGI or a proxied server. The former is predictable, namely the event MPM + has full visibility on the end of the content and it can use events: the worker + thread serving the response content can flush the first bytes until EWOULDBLOCK + or EAGAIN is returned, delegating the rest to the listener. This one in turn + waits for an event on the socket and delegates the work to flush the rest of the content + to the first idle worker thread. Meanwhile in the latter example (FCGI/CGI/proxied content), + the MPM can't predict the end of the response and a worker thread has to finish its work + before returning the control to the listener. The only alternative is to buffer the + response in memory, but it wouldn't be the safest option for the sake of the + server's stability and memory footprint. +

+ + + +

Background material

+

The event model was made possible by the introduction of new APIs into the supported operating systems:

+
    +
  • epoll (Linux)
  • +
  • kqueue (BSD)
  • +
  • event ports (Solaris)
  • +
+

Before these new APIs where made available, the traditional select and poll APIs had to be used. + Those APIs get slow if used to handle many connections or if the set of connections rate of change is high. + The new APIs allow to monitor many more connections, and they perform way better when the set of connections to monitor changes frequently. So these APIs made it possible to write the event MPM, that scales much better with the typical HTTP pattern of many idle connections.

+ +

The MPM assumes that the underlying apr_pollset + implementation is reasonably threadsafe. This enables the MPM to + avoid excessive high level locking, or having to wake up the listener + thread in order to send it a keep-alive socket. This is currently + only compatible with KQueue and EPoll.

+ + + +
top
+
+

Requirements

+

This MPM depends on APR's atomic + compare-and-swap operations for thread synchronization. If you are + compiling for an x86 target and you don't need to support 386s, or + you are compiling for a SPARC and you don't need to run on + pre-UltraSPARC chips, add + --enable-nonportable-atomics=yes to the + configure script's arguments. This will cause + APR to implement atomic operations using efficient opcodes not + available in older CPUs.

+ +

This MPM does not perform well on older platforms which lack good + threading, but the requirement for EPoll or KQueue makes this + moot.

+ +
    + +
  • To use this MPM on FreeBSD, FreeBSD 5.3 or higher is recommended. + However, it is possible to run this MPM on FreeBSD 5.2.1 if you + use libkse (see man libmap.conf).
  • + +
  • For NetBSD, at least version 2.0 is recommended.
  • + +
  • For Linux, a 2.6 kernel is recommended. It is also necessary to + ensure that your version of glibc has been compiled + with support for EPoll.
  • + +
+
+
top
+

AsyncRequestWorkerFactor Directive

+ + + + + + + + +
Description:Limit concurrent connections per process
Syntax:AsyncRequestWorkerFactor factor
Default:2
Context:server config
Status:MPM
Module:event
Compatibility:Available in version 2.3.13 and later
+

The event MPM handles some connections in an asynchronous way, where + request worker threads are only allocated for short periods of time as + needed, and other connections with one request worker thread reserved per + connection. This can lead to situations where all workers are tied up and + no worker thread is available to handle new work on established async + connections.

+ +

To mitigate this problem, the event MPM does two things:

+
    +
  • It limits the number of connections accepted per process, depending on the + number of idle request workers;
  • +
  • If all workers are busy, it will + close connections in keep-alive state even if the keep-alive timeout has + not expired. This allows the respective clients to reconnect to a + different process which may still have worker threads available.
  • +
+ +

This directive can be used to fine-tune the per-process connection + limit. A process will only accept new connections if the current number of + connections (not counting connections in the "closing" state) is lower + than:

+ +

+ ThreadsPerChild + + (AsyncRequestWorkerFactor * + number of idle workers) +

+ +

An estimation of the maximum concurrent connections across all the processes given + an average value of idle worker threads can be calculated with: +

+ + +

+ (ThreadsPerChild + + (AsyncRequestWorkerFactor * + number of idle workers)) * + ServerLimit +

+ +

Example

+
ThreadsPerChild = 10
+ServerLimit = 4
+AsyncRequestWorkerFactor = 2
+MaxRequestWorkers = 40
+
+idle_workers = 4 (average for all the processes to keep it simple)
+
+max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit
+                = (10 + (2 * 4)) * 4 = 72
+ +
+ +

When all the worker threads are idle, then absolute maximum numbers of concurrent + connections can be calculared in a simpler way:

+ +

+ (AsyncRequestWorkerFactor + 1) * + MaxRequestWorkers +

+ + +

Example

+
ThreadsPerChild = 10
+ServerLimit = 4
+MaxRequestWorkers = 40
+AsyncRequestWorkerFactor = 2
+ + +

If all the processes have all threads idle then:

+ +
idle_workers = 10
+ + +

We can calculate the absolute maximum numbers of concurrent connections in two ways:

+ +
max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit
+                = (10 + (2 * 10)) * 4 = 120
+
+max_connections = (AsyncRequestWorkerFactor + 1) * MaxRequestWorkers
+                = (2 + 1) * 40 = 120
+ +
+ +

Tuning AsyncRequestWorkerFactor requires knowledge about the traffic handled by httpd in each specific use case, so changing the default value requires extensive testing and data gathering from mod_status.

+ +

MaxRequestWorkers was called + MaxClients prior to version 2.3.13. The above value + shows that the old name did not accurately describe its meaning for the event MPM.

+ +

AsyncRequestWorkerFactor can take non-integer + arguments, e.g "1.5".

+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/event.html.fr.utf8 b/docs/manual/mod/event.html.fr.utf8 new file mode 100644 index 0000000..42906e5 --- /dev/null +++ b/docs/manual/mod/event.html.fr.utf8 @@ -0,0 +1,500 @@ + + + + + +event - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM event

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Une variante du MPM worker conçue pour ne +mobiliser des threads que pour les connexions en cours de traitement
Statut:MPM
Identificateur de Module:mpm_event_module
Fichier Source:event.c
+

Sommaire

+ +

Le module multi-processus (MPM) event est conçu + pour permettre le traitement d'un nombre accru de requêtes + simultanées en déléguant certaines tâches + aux threads d'écoute, libérant par là-même les + threads de travail et leur permettant de traiter les nouvelles requêtes.

+ +

Pour utiliser le MPM event, ajoutez + --with-mpm=event aux arguments du script + configure lorsque vous compilez le programme + httpd.

+ +
+ +
top
+
+

Relations avec le MPM Worker

+

Le MPM event s'inspire du MPM worker qui +implémente un serveur hybride multi-processus et multi-threads. Un processus de +contrôle unique (le parent) est chargé de lancer des processus enfants. Chaque +processus enfant crée un nombre de threads serveurs défini via la directive +ThreadsPerChild, ainsi qu'un thread +d'écoute qui surveille les requêtes entrantes et les distribue aux threads de +travail pour traitement au fur et à mesure de leur arrivée.

+ +

Les directives de configuration à l'exécution sont identiques à celles que +propose le MPM worker, avec l'unique addition de la directive +AsyncRequestWorkerFactor.

+ +
top
+
+

Comment tout cela fonctionne

+ +

Ce module MPM tente de résoudre le "problème keep + alive" de HTTP. Lorsqu'un client a effectué une première requête, il peut + garder la connexion ouverte et envoyer les requêtes suivante en utilisant le + même socket, ce qui diminue considérablement la charge qui aurait été + induite par la création de nouvelles connexions TCP. Cependant, le + fonctionnement du serveur HTTP Apache impose de réserver un couple processus + enfant/thread pour attendre les données en provenance du client, ce qui + présente certains inconvénients. + Pour résoudre ce problème, le MPM Event utilise un thread d'écoute dédié + pour chaque processus pour gérer les sockets d'écoute, tous les sockets qui + sont dans un état de connexion persistante, les sockets où les + filtres de gestionnaire et de protocole ont fait leur travail, et ceux pour + lesquels la seule chose restant à faire est l'envoi des données au client. +

+ +

Cette nouvelle architecture, en exploitant les sockets non blocants et + les fonctionnalités des noyaux modernes mis en valeur par + APR (comme epoll de Linux), n'a plus besoin du + Mutex mpm-accept pour + éviter le problème de "thundering herd".

+ +

La directive AsyncRequestWorkerFactor permet de + définir le nombre total de connexions qu'un bloc processus/thread peut + gérer.

+ +

Connexions asynchrones

+

Avec les MPM précédents, les connexions asynchrones nécessitaient + un thread de travail dédié, mais ce n'est plus le cas avec le MPM Event. + La page d'état de mod_status montre de nouvelles + colonnes dans la section "Async connections" :

+
+
Writing
+
Lors de l'envoi de la réponse au client, il peut arriver que le + tampon d'écriture TCP soit plein si la connexion est trop lente. Si + cela se produit, une instruction write() vers le socket + renvoie en général EWOULDBLOCK ou EAGAIN + pour que l'on puisse y écrire à nouveau après un certain temps + d'inactivité. Le thread de travail qui utilise le socket doit alors + être en mesure de récupérer la tâche en attente et la restituer au + thread d'écoute qui, à son tour, la réattribuera au premier thread + de travail disponible, lorsqu'un évènement sera généré pour le socket + (par exemple, "il est maintenant possible d'écrire dans le socket"). + Veuillez vous reporter à la section à propos des limitations pour + plus de détails. +
+ +
Keep-alive
+
La gestion des connexions persistantes constitue la principale + amélioration par rapport au MPM Worker. Lorsqu'un thread de travail + a terminé l'envoi d'une réponse à un client, il peut restituer la + gestion du socket au thread d'écoute, qui à son tour va attendre un + évènement en provenance du système d'exploitation comme "le socket + est lisible". Si une nouvelle requête arrive en provenance du + client, le thread d'écoute l'attribuera au premier thread de travail + disponible. Inversement, si le délai KeepAliveTimeout est atteint, le socket + sera fermé par le thread d'écoute. Les threads de travail n'ont + donc plus à s'occuper des sockets inactifs et ils peuvent être + réutilisés pour traiter d'autres requêtes.
+ +
Closing
+
Parfois, le MPM doit effectuer une fermeture progressive, c'est + à dire envoyer au client une erreur survenue précédemment alors que + ce dernier est en train de transmettre des données à httpd. Envoyer la réponse et + fermer immédiatement la connexion n'est pas une bonne solution car + le client (qui est encore en train d'envoyer le reste de la requête) + verrait sa connexion réinitialisée et ne pourrait pas lire la + réponse de httpd. La fermeture progressive est limitée dans le temps, + mais elle peut tout de même être assez longue, si bien qu'elle est + confiée à un thread de travail (y compris les procédures d'arrêt et + la fermeture effective du socket). A partir de la version 2.4.28, + c'est aussi le cas lorsque des connexions finissent par dépasser + leur délai d'attente (le thread d'écoute ne gère jamais les + connexions, si ce n'est attendre et dispatcher les évènements + qu'elles génèrent).
+
+ +

Ces améliorations sont disponible pour les connexions HTTP ou HTTPS.

+ + + +

Arrêt de processus en douceur et + utilisation du scoreboard

+

Ce MPM présentait dans le passé des limitations de montée en + puissance qui + provoquaient l'erreur suivante : "scoreboard is full, not at + MaxRequestWorkers". La directive MaxRequestWorkers permet de limiter le + nombre de requêtes pouvant être servies simultanément à un moment donné + ainsi que le nombre de processus autorisés (MaxRequestWorkers / ThreadsPerChild), alors que le + scoreboard représente l'ensemble des processus en cours d'exécution et + l'état de leurs threads de travail. Si le scoreboard est plein + (autrement dit si aucun des threads n'est dans un état inactif) et si le + nombre de requêtes actives servies est inférieur à MaxRequestWorkers, cela signifie que + certains d'entre eux bloquent les nouvelles requêtes qui pourraient être + servies et sont en l'occurrence mises en attente (dans la limite de la + valeur imposée par la directive ListenBacklog). La plupart du temps, ces + threads sont bloqués dans un état d'arrêt en douceur car ils attendent + de terminer leur travail sur une connexion TCP pour s'arrêter et ainsi libérer + une entrée dans le scoreboard (par exemple dans le cas du traitement des + requêtes de longue durée, des clients lents ou des connexions en + keep-alive). Voici deux scénarios courants :

+
    +
  • Pendant un graceful + restart, le processus parent demande à tous ses processus + enfants de terminer leur travail et de s'arrêter pendant qu'il + recharge la configuration et lance de nouveaux processus. Si les + processus existants continuent de s'exécuter pendant un certain + temps avant de s'arrêter, le scoreboard sera partiellement occupé + jusqu'à ce que les entrées correspondantes soient libérées. +
  • +
  • Lorsque la charge du serveur diminue suffisamment pour que httpd + commence à stopper certains processus (par exemple pour respecter la + valeur de la directive MaxSpareThreads). Cette situation + est problèmatique car lorsque la charge augmente à nouveau, httpd va + essayer de lancer de nouveaux processus. Si cette situation se + répète, le nombre de processus peut augmenter sensiblement, + aboutissant à un mélange d'anciens processus tentant de s'arrêter et + de nouveaux processus tentant d'effectuer un travail quelconque. +
  • +
+

A partir de la version 2.4.24, mpm-event est plus intelligent et peut + traiter les arrêts graceful de manière plus efficace. Voici certaines de + ces améliorations :

+
    +
  • Utilisation de toutes les entrées du scoreboard dans la limite + de la valeur définie par ServerLimit. Les directives + MaxRequestWorkers et + ThreadsPerChild + permettent de limiter le nombre de processus actifs, alors que la + directive ServerLimit + prend aussi en compte les proccessus en arrêt graceful pour + permettre l'utilisation d'entrées supplémentaires du scoreboard en + cas de besoin. L'idée consiste à utiliser ServerLimit pour indiquer à httpd + conbien de processus supplémentaires seront tolérés avant + d'atteindre les limites imposées par les ressources du système. +
  • +
  • Les processus en arrêt graceful doivent fermer leurs connexions + en keep-alive.
  • +
  • Lors d'un arrêt graceful, s'il y a plus de threads de travail en + cours d'exécution que de connexions ouvertes pour un processus + donné, ces threads sont arrêtés afin de libérer les ressources plus + vite (ce qui peut s'avérer nécessaire pour lancer de nouveaux + processus).
  • +
  • Si le scoreboard est plein, empêche d'arrêter d'autres processus + en mode graceful afin de réduire la charge jusqu'à ce que tous les + anciens processus soient arrêtés (sinon la situation empirerait lors + d'une remontée en charge).
  • +
+

Le comportement décrit dans le dernier point est bien visible via + mod_status dans la table des connexions avec les deux + nouvelles colonnes "Slot" et "Stopping". La première indique le PID et + la seconde si le processus est en cours d'arrêt ou non ; l'état + supplémentaire "Yes (old gen)" indique un processus encore en exécution + après un redémarrage graceful.

+ + +

Limitations

+

La gestion améliorée des connexions peut ne pas fonctionner pour + certains filtres de connexion qui se sont déclarés eux-mêmes + incompatibles avec le MPM Event. Dans ce cas, le MPM Event réadoptera le + comportement du MPM worker et réservera un thread de + travail par connexion. Notez que tous les modules inclus dans la + distribution du serveur httpd sont compatibles avec le MPM Event.

+ +

Une restriction similaire apparaît lorsqu'une requête utilise un + filtre en sortie qui doit pouvoir lire et/ou modifier la totalité du + corps de la réponse. Si la connexion avec le client se bloque pendant + que le filtre traite les données, et si la quantité de données produites + par le filtre est trop importante pour être stockée en mémoire, le + thread utilisé pour la requête n'est pas libéré pendant que httpd attend + que les données soient transmises au client.
+ Pour illustrer ce cas de figure, nous pouvons envisager les deux + situations suivantes : servir une ressource statique (comme un fichier + CSS) ou servir un contenu issu d'un programme FCGI/CGI ou d'un serveur + mandaté. La première situation est prévisible ; en effet, le MPM Event a + une parfaite visibilité sur la fin du contenu, et il peut utiliser les + évènements : le thread de travail qui sert la réponse peut envoyer les + premiers octets jusqu'à ce que EWOULDBLOCK ou + EAGAIN soit renvoyé, et déléguer le reste de la réponse au thread + d'écoute. Ce dernier en retour attend un évènement sur le socket, et + délègue le reste de la réponse au premier + thread de travail disponible. Dans la deuxième situation par contre + (FCGI/CGI/contenu mandaté), le MPM n'a pas de visibilité sur la fin de + la réponse, et le thread de travail doit terminer sa tâche avant de + rendre le contrôle au thread d'écoute. La seule solution consisterait + alors à stocker la réponse en mémoire, mais ce ne serait pas l'option la + plus sure en matière de stabilité du serveur et d'empreinte mémoire. +

+ + + +

Matériel d'arrière-plan

+

Le modèle event a été rendu possible par l'introduction de nouvelles + APIs dans les systèmes d'exploitation supportés :

+
    +
  • epoll (Linux)
  • +
  • kqueue (BSD)
  • +
  • event ports (Solaris)
  • +
+

Avant que ces APIs soient mises à disposition, les APIs + traditionnelles select et poll devaient être + utilisées. Ces APIs deviennent lentes si on les utilise pour gérer de + nombreuses connexions ou si le jeu de connexions possède un taux de + renouvellement élevé. Les nouvelles APIs permettent de gérer beaucoup + plus de connexions et leur performances sont meilleures lorsque le jeu + de connexions à gérer change fréquemment. Ces APIs ont donc rendu + possible l'écriture le MPM Event qui est mieux adapté à la situation + HTTP typique où de nombreuses connexions sont inactives.

+ +

Le MPM Event suppose que l'implémentation de apr_pollset + sous-jacente est raisonnablement sure avec l'utilisation des threads + (threadsafe). Ceci évite au MPM de devoir effectuer trop verrouillages + de haut niveau, ou d'avoir à réveiller le thread d'écoute pour lui + envoyer un socket keep-alive. Ceci n'est possible qu'avec KQueue et + EPoll.

+ + + +
top
+
+

Prérequis

+

Ce MPM dépend des opérations atomiques compare-and-swap + d'APR pour la synchronisation des threads. Si + vous compilez pour une plate-forme x86 et n'avez pas besoin du + support 386, ou si vous compilez pour une plate-forme SPARC et + n'avez pas besoin du support pre-UltraSPARC, ajoutez + --enable-nonportable-atomics=yes aux arguments du + script configure. Ceci permettra à APR + d'implémenter les opérations atomiques en utilisant des instructions + performantes indisponibles avec les processeurs plus + anciens.

+ +

Ce MPM ne fonctionne pas de manière optimale sur les + plates-formes plus anciennes qui ne gèrent pas correctement les + threads, mais ce problème est sans objet du fait du prérequis + concernant EPoll ou KQueue.

+ +
    + +
  • Pour utiliser ce MPM sous FreeBSD, la version 5.3 ou + supérieure de ce système est recommandée. Il est cependant + possible d'exécuter ce MPM sous FreeBSD 5.2.1 si vous utilisez + libkse (voir man libmap.conf).
  • + +
  • Pour NetBSD, il est recommander d'utiliser la version 2.0 ou + supérieure.
  • + +
  • Pour Linux, un noyau 2.6 est recommandé. Il faut aussi + s'assurer que votre version de glibc a été compilée + avec le support pour EPoll.
  • + +
+
+
top
+

Directive AsyncRequestWorkerFactor

+ + + + + + + + +
Description:Limite le nombre de connexions simultanées par thread
Syntaxe:AsyncRequestWorkerFactor facteur
Défaut:2
Contexte:configuration globale
Statut:MPM
Module:event
Compatibilité:Disponible depuis la version 2.3.13
+

Le MPM event gère certaines connexions de manière asynchrone ; + dans ce cas, les threads traitant la requête sont alloués selon les + besoins et pour de courtes périodes. Dans les autres cas, un + thread est réservé par + connexion. Ceci peut conduire à des situations où tous les threads + sont saturés et où aucun thread n'est capable d'effectuer de + nouvelles tâches pour les connexions asynchrones établies.

+ +

Pour minimiser les effets de ce problème, le MPM event utilise + deux méthodes :

+
    +
  • il limite le nombre de connexions + simultanées par thread en fonction du nombre de processus + inactifs;
  • +
  • si tous les processus sont occupés, il ferme des connexions + permanentes, même si la limite de durée de la connexion n'a + pas été atteinte. Ceci autorise les clients + concernés à se reconnecter à un autre processus + possèdant encore des threads disponibles.
  • +
+ +

Cette directive permet de personnaliser finement la limite du + nombre de connexions par thread. Un processus n'acceptera de + nouvelles connexions que si le nombre actuel de connexions (sans + compter les connexions à l'état "closing") est + inférieur à :

+ +

+ ThreadsPerChild + + (AsyncRequestWorkerFactor * + nombre de threads inactifs) +

+ +

Il est possible d'effectuer une estimation du nombre maximum de + connexions simultanées pour tous les processus et pour un nombre donné moyen + de threads de travail inactifs comme suit : +

+ + +

+ (ThreadsPerChild + + (AsyncRequestWorkerFactor * + number of idle workers)) * + ServerLimit +

+ +

Exemple

+
ThreadsPerChild = 10
+ServerLimit = 4
+AsyncRequestWorkerFactor = 2
+MaxRequestWorkers = 40
+
+idle_workers = 4 (moyenne pour tous les processus pour faire simple)
+
+max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit 
+                = (10 + (2 * 4)) * 4 = 72
+ +
+ +

Lorsque tous les threads de travail sont inactifs, le nombre maximum + absolu de connexions simultanées peut être calculé de manière plus simple :

+ +

+ (AsyncRequestWorkerFactor + 1) * + MaxRequestWorkers +

+ +

Exemple

+
ThreadsPerChild = 10 
+ServerLimit = 4
+MaxRequestWorkers = 40
+AsyncRequestWorkerFactor = 2
+ + +

Si tous les threads de tous les processus sont inactifs, alors :

+ +
idle_workers = 10
+ + +

Nous pouvons calculer le nombre maximum absolu de connexions simultanées + de deux manières :

+ +
max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit 
+                = (10 + (2 * 10)) * 4 = 120
+    
+max_connections = (AsyncRequestWorkerFactor + 1) * MaxRequestWorkers 
+                = (2 + 1) * 40 = 120
+ +
+ +

Le réglage de la directive + AsyncRequestWorkerFactor nécessite de connaître le + trafic géré par httpd pour chaque style d'utilisation spécifique ; si vous + modifiez la valeur par défaut, vous devrez par conséquent effectuer des + tests approfondis en vous appuyant étroitement sur les données fournies par + mod_status.

+ +

La directive MaxRequestWorkers se nommait + MaxClients avant la version 2.3.13. La valeur + ci-dessus montre que cet ancien nom ne correspondait pas à sa + signification exacte pour le MPM event.

+ +

La directive AsyncRequestWorkerFactor + accepte des valeurs d'argument de type non entier, comme "1.5".

+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html b/docs/manual/mod/index.html new file mode 100644 index 0000000..cc787fa --- /dev/null +++ b/docs/manual/mod/index.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/index.html.de b/docs/manual/mod/index.html.de new file mode 100644 index 0000000..1f01251 --- /dev/null +++ b/docs/manual/mod/index.html.de @@ -0,0 +1,283 @@ + + + + + +Modul-Index - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Modul-Index

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ Nachfolgend ist eine Liste aller Module angegeben, die als + Bestandteil der Distribution des Apache HTTP Servers mitgeliefert + werden. Bitte beachten Sie auch die vollständige alphabetische + Liste aller + Apache-HTTP-Server-Direktiven. +

+
+ +
top
+

Kernfunktionen und + Multi-Processing-Module

+
+
core
Ständig verfügbare Kernfunktionen des Apache HTTP +Servers
+
mpm_common
Eine Sammlung von Direktiven, die in mehr als einem + Multi-Processing-Modul (MPM) implementiert sind.
+
event
A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
+
mpm_netware
Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
prefork
Implementiert einen im Voraus forkenden Webserver ohne + Thread-Unterstützung
+
mpm_winnt
Das Multi-Processing-Modul ist optimiert für + Windows NT.
+
worker
Multi-Processing-Modul, das einen Hybrid-Webserver mit + Multi-Thread und Multi-Prozess-Unterstützung implementiert
+
+
top
+

Andere Module

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
Group authorizations based on host (name or IP +address)
+
mod_actions
Dieses Modul ermöglicht die Ausführung von CGI-Skripten + in Abhängigkeit von Medientypen und Anfragemethoden.
+
mod_alias
Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection
+
mod_allowmethods
Easily restrict what HTTP methods can be used on the server
+
mod_asis
Sends files that contain their own +HTTP headers
+
mod_auth_basic
Basic HTTP authentication
+
mod_auth_digest
User authentication using MD5 + Digest Authentication
+
mod_auth_form
Form authentication
+
mod_authn_anon
Allows "anonymous" user access to authenticated + areas
+
mod_authn_core
Core Authentication
+
mod_authn_dbd
User authentication using an SQL database
+
mod_authn_dbm
User authentication using DBM files
+
mod_authn_file
User authentication using text files
+
mod_authn_socache
Manages a cache of authentication credentials to relieve +the load on backends
+
mod_authnz_fcgi
Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
+
mod_authnz_ldap
Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
+
mod_authz_core
Core Authorization
+
mod_authz_dbd
Group Authorization and Login using SQL
+
mod_authz_dbm
Group authorization using DBM files
+
mod_authz_groupfile
Group authorization using plaintext files
+
mod_authz_host
Group authorizations based on host (name or IP +address)
+
mod_authz_owner
Authorization based on file ownership
+
mod_authz_user
User Authorization
+
mod_autoindex
Generates directory indexes, + automatically, similar to the Unix ls command or the + Win32 dir shell command
+
mod_brotli
Compress content via Brotli before it is delivered to the +client
+
mod_buffer
Support for request buffering
+
mod_cache
RFC 2616 compliant HTTP caching filter.
+
mod_cache_disk
Disk based storage module for the HTTP caching filter.
+
mod_cache_socache
Shared object cache (socache) based storage module for the +HTTP caching filter.
+
mod_cern_meta
CERN httpd metafile semantics
+
mod_cgi
Execution of CGI scripts
+
mod_cgid
Execution of CGI scripts using an + external CGI daemon
+
mod_charset_lite
Specify character set translation or recoding
+
mod_data
Convert response body into an RFC2397 data URL
+
mod_dav
Distributed Authoring and Versioning +(WebDAV) functionality
+
mod_dav_fs
Filesystem provider for mod_dav
+
mod_dav_lock
Generic locking module for mod_dav
+
mod_dbd
Manages SQL database connections
+
mod_deflate
Compress content before it is delivered to the +client
+
mod_dialup
Send static content at a bandwidth rate limit, defined by the various old modem standards
+
mod_dir
Provides for "trailing slash" redirects and + serving directory index files
+
mod_dumpio
Dumps all I/O to error log as desired.
+
mod_echo
A simple echo server to illustrate protocol +modules
+
mod_env
Modifies the environment which is passed to CGI scripts and +SSI pages
+
mod_example_hooks
Illustrates the Apache module API
+
mod_expires
Generation of Expires and +Cache-Control HTTP headers according to user-specified +criteria
+
mod_ext_filter
Pass the response body through an external program before +delivery to the client
+
mod_file_cache
Caches a static list of files in memory
+
mod_filter
Context-sensitive smart filter configuration module
+
mod_headers
Customization of HTTP request and response +headers
+
mod_heartbeat
Sends messages with server status to frontend proxy
+
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_http2
Support for the HTTP/2 transport layer
+
mod_ident
RFC 1413 ident lookups
+
mod_imagemap
Server-side imagemap processing
+
mod_include
Server-parsed html documents (Server Side Includes)
+
mod_info
Provides a comprehensive overview of the server +configuration
+
mod_isapi
ISAPI Extensions within Apache for Windows
+
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_ldap
LDAP connection pooling and result caching services for use +by other LDAP modules
+
mod_log_config
Logging of the requests made to the server
+
mod_log_debug
Additional configurable debug logging
+
mod_log_forensic
Forensic Logging of the requests made to the server
+
mod_logio
Logging of input and output bytes per request
+
mod_lua
Provides Lua hooks into various portions of the httpd +request processing
+
mod_macro
Provides macros within apache httpd runtime configuration files
+
mod_md
Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
+
mod_mime
Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)
+
mod_mime_magic
Determines the MIME type of a file + by looking at a few bytes of its contents
+
mod_negotiation
Provides for content negotiation
+
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_privileges
Support for Solaris privileges and for running virtual hosts +under different user IDs.
+
mod_proxy
Multi-protocol proxy/gateway server
+
mod_proxy_ajp
AJP support module for +mod_proxy
+
mod_proxy_balancer
mod_proxy extension for load balancing
+
mod_proxy_connect
mod_proxy extension for +CONNECT request handling
+
mod_proxy_express
Dynamic mass reverse proxy extension for +mod_proxy
+
mod_proxy_fcgi
FastCGI support module for +mod_proxy
+
mod_proxy_fdpass
fdpass external process support module for +mod_proxy
+
mod_proxy_ftp
FTP support module for +mod_proxy
+
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for +mod_proxy
+
mod_proxy_html
Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
+
mod_proxy_http
HTTP support module for +mod_proxy
+
mod_proxy_http2
HTTP/2 support module for +mod_proxy
+
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_uwsgi
UWSGI gateway module for mod_proxy
+
mod_proxy_wstunnel
Websockets support module for +mod_proxy
+
mod_ratelimit
Bandwidth Rate Limiting for Clients
+
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_remoteip
Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
+
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
+
mod_request
Filters to handle and make available HTTP request bodies
+
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
+
mod_sed
Filter Input (request) and Output (response) content using sed syntax
+
mod_session
Session support
+
mod_session_cookie
Cookie based session support
+
mod_session_crypto
Session encryption support
+
mod_session_dbd
DBD/SQL based session support
+
mod_setenvif
Allows the setting of environment variables based +on characteristics of the request
+
mod_slotmem_plain
Slot-based shared memory provider.
+
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_so
Loading of executable code and +modules into the server at start-up or restart time
+
mod_socache_dbm
DBM based shared object cache provider.
+
mod_socache_dc
Distcache based shared object cache provider.
+
mod_socache_memcache
Memcache based shared object cache provider.
+
mod_socache_redis
Redis based shared object cache provider.
+
mod_socache_shmcb
shmcb based shared object cache provider.
+
mod_speling
Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.
+
mod_ssl
Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_status
Provides information on server activity and +performance
+
mod_substitute
Perform search and replace operations on response bodies
+
mod_suexec
Allows CGI scripts to run as a specified user +and Group
+
mod_systemd
Provides better support for systemd integration
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
Provides an environment variable with a unique +identifier for each request
+
mod_unixd
Basic (required) security for Unix-family platforms.
+
mod_userdir
User-specific directories
+
mod_usertrack
+Clickstream logging of user activity on a site +
+
mod_version
Version dependent configuration
+
mod_vhost_alias
Provides for dynamically configured mass virtual +hosting
+
mod_watchdog
provides infrastructure for other modules to periodically run + tasks
+
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based +filter modules
+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html.en b/docs/manual/mod/index.html.en new file mode 100644 index 0000000..9e23a54 --- /dev/null +++ b/docs/manual/mod/index.html.en @@ -0,0 +1,279 @@ + + + + + +Module Index - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Module Index

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ Below is a list of all of the modules that come as part of + the Apache HTTP Server distribution. See also the complete + alphabetical list of all Apache HTTP Server + directives. +

+
+ +
top
+

Core Features and Multi-Processing + Modules

+
+
core
Core Apache HTTP Server features that are always +available
+
mpm_common
A collection of directives that are implemented by +more than one multi-processing module (MPM)
+
event
A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
+
mpm_netware
Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
prefork
Implements a non-threaded, pre-forking web server
+
mpm_winnt
Multi-Processing Module optimized for Windows NT.
+
worker
Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server
+
+
top
+

Other Modules

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
Group authorizations based on host (name or IP +address)
+
mod_actions
Execute CGI scripts based on media type or request method.
+
mod_alias
Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection
+
mod_allowmethods
Easily restrict what HTTP methods can be used on the server
+
mod_asis
Sends files that contain their own +HTTP headers
+
mod_auth_basic
Basic HTTP authentication
+
mod_auth_digest
User authentication using MD5 + Digest Authentication
+
mod_auth_form
Form authentication
+
mod_authn_anon
Allows "anonymous" user access to authenticated + areas
+
mod_authn_core
Core Authentication
+
mod_authn_dbd
User authentication using an SQL database
+
mod_authn_dbm
User authentication using DBM files
+
mod_authn_file
User authentication using text files
+
mod_authn_socache
Manages a cache of authentication credentials to relieve +the load on backends
+
mod_authnz_fcgi
Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
+
mod_authnz_ldap
Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
+
mod_authz_core
Core Authorization
+
mod_authz_dbd
Group Authorization and Login using SQL
+
mod_authz_dbm
Group authorization using DBM files
+
mod_authz_groupfile
Group authorization using plaintext files
+
mod_authz_host
Group authorizations based on host (name or IP +address)
+
mod_authz_owner
Authorization based on file ownership
+
mod_authz_user
User Authorization
+
mod_autoindex
Generates directory indexes, + automatically, similar to the Unix ls command or the + Win32 dir shell command
+
mod_brotli
Compress content via Brotli before it is delivered to the +client
+
mod_buffer
Support for request buffering
+
mod_cache
RFC 2616 compliant HTTP caching filter.
+
mod_cache_disk
Disk based storage module for the HTTP caching filter.
+
mod_cache_socache
Shared object cache (socache) based storage module for the +HTTP caching filter.
+
mod_cern_meta
CERN httpd metafile semantics
+
mod_cgi
Execution of CGI scripts
+
mod_cgid
Execution of CGI scripts using an + external CGI daemon
+
mod_charset_lite
Specify character set translation or recoding
+
mod_data
Convert response body into an RFC2397 data URL
+
mod_dav
Distributed Authoring and Versioning +(WebDAV) functionality
+
mod_dav_fs
Filesystem provider for mod_dav
+
mod_dav_lock
Generic locking module for mod_dav
+
mod_dbd
Manages SQL database connections
+
mod_deflate
Compress content before it is delivered to the +client
+
mod_dialup
Send static content at a bandwidth rate limit, defined by the various old modem standards
+
mod_dir
Provides for "trailing slash" redirects and + serving directory index files
+
mod_dumpio
Dumps all I/O to error log as desired.
+
mod_echo
A simple echo server to illustrate protocol +modules
+
mod_env
Modifies the environment which is passed to CGI scripts and +SSI pages
+
mod_example_hooks
Illustrates the Apache module API
+
mod_expires
Generation of Expires and +Cache-Control HTTP headers according to user-specified +criteria
+
mod_ext_filter
Pass the response body through an external program before +delivery to the client
+
mod_file_cache
Caches a static list of files in memory
+
mod_filter
Context-sensitive smart filter configuration module
+
mod_headers
Customization of HTTP request and response +headers
+
mod_heartbeat
Sends messages with server status to frontend proxy
+
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_http2
Support for the HTTP/2 transport layer
+
mod_ident
RFC 1413 ident lookups
+
mod_imagemap
Server-side imagemap processing
+
mod_include
Server-parsed html documents (Server Side Includes)
+
mod_info
Provides a comprehensive overview of the server +configuration
+
mod_isapi
ISAPI Extensions within Apache for Windows
+
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_ldap
LDAP connection pooling and result caching services for use +by other LDAP modules
+
mod_log_config
Logging of the requests made to the server
+
mod_log_debug
Additional configurable debug logging
+
mod_log_forensic
Forensic Logging of the requests made to the server
+
mod_logio
Logging of input and output bytes per request
+
mod_lua
Provides Lua hooks into various portions of the httpd +request processing
+
mod_macro
Provides macros within apache httpd runtime configuration files
+
mod_md
Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
+
mod_mime
Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)
+
mod_mime_magic
Determines the MIME type of a file + by looking at a few bytes of its contents
+
mod_negotiation
Provides for content negotiation
+
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_privileges
Support for Solaris privileges and for running virtual hosts +under different user IDs.
+
mod_proxy
Multi-protocol proxy/gateway server
+
mod_proxy_ajp
AJP support module for +mod_proxy
+
mod_proxy_balancer
mod_proxy extension for load balancing
+
mod_proxy_connect
mod_proxy extension for +CONNECT request handling
+
mod_proxy_express
Dynamic mass reverse proxy extension for +mod_proxy
+
mod_proxy_fcgi
FastCGI support module for +mod_proxy
+
mod_proxy_fdpass
fdpass external process support module for +mod_proxy
+
mod_proxy_ftp
FTP support module for +mod_proxy
+
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for +mod_proxy
+
mod_proxy_html
Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
+
mod_proxy_http
HTTP support module for +mod_proxy
+
mod_proxy_http2
HTTP/2 support module for +mod_proxy
+
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_uwsgi
UWSGI gateway module for mod_proxy
+
mod_proxy_wstunnel
Websockets support module for +mod_proxy
+
mod_ratelimit
Bandwidth Rate Limiting for Clients
+
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_remoteip
Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
+
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
+
mod_request
Filters to handle and make available HTTP request bodies
+
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
+
mod_sed
Filter Input (request) and Output (response) content using sed syntax
+
mod_session
Session support
+
mod_session_cookie
Cookie based session support
+
mod_session_crypto
Session encryption support
+
mod_session_dbd
DBD/SQL based session support
+
mod_setenvif
Allows the setting of environment variables based +on characteristics of the request
+
mod_slotmem_plain
Slot-based shared memory provider.
+
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_so
Loading of executable code and +modules into the server at start-up or restart time
+
mod_socache_dbm
DBM based shared object cache provider.
+
mod_socache_dc
Distcache based shared object cache provider.
+
mod_socache_memcache
Memcache based shared object cache provider.
+
mod_socache_redis
Redis based shared object cache provider.
+
mod_socache_shmcb
shmcb based shared object cache provider.
+
mod_speling
Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.
+
mod_ssl
Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_status
Provides information on server activity and +performance
+
mod_substitute
Perform search and replace operations on response bodies
+
mod_suexec
Allows CGI scripts to run as a specified user +and Group
+
mod_systemd
Provides better support for systemd integration
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
Provides an environment variable with a unique +identifier for each request
+
mod_unixd
Basic (required) security for Unix-family platforms.
+
mod_userdir
User-specific directories
+
mod_usertrack
+Clickstream logging of user activity on a site +
+
mod_version
Version dependent configuration
+
mod_vhost_alias
Provides for dynamically configured mass virtual +hosting
+
mod_watchdog
provides infrastructure for other modules to periodically run + tasks
+
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based +filter modules
+
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html.es b/docs/manual/mod/index.html.es new file mode 100644 index 0000000..07cafec --- /dev/null +++ b/docs/manual/mod/index.html.es @@ -0,0 +1,284 @@ + + + + + +Índice de Módulos - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Índice de Módulos

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ +

+ Abajo se muestra una lista con todos los módulos que forman + parte de la distribución de Apache. Consulte también la lista + alfabética completa de las + directivas de Apache. +

+
+ +
top
+

Funcionalidad Básica y Módulos + de MultiProcesamiento (MPM)

+
+
core
Funcionalides básicas del Servidor HTTP Apache que siempre están presentes.
+
mpm_common
A collection of directives that are implemented by +more than one multi-processing module (MPM)
+
event
A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
+
mpm_netware
Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
prefork
Implements a non-threaded, pre-forking web server
+
mpm_winnt
Multi-Processing Module optimized for Windows NT.
+
worker
Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server
+
+
top
+

Otros Módulos

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
Group authorizations based on host (name or IP +address)
+
mod_actions
Execute CGI scripts based on media type or request method.
+
mod_alias
Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection
+
mod_allowmethods
Easily restrict what HTTP methods can be used on the server
+
mod_asis
Sends files that contain their own +HTTP headers
+
mod_auth_basic
Basic HTTP authentication
+
mod_auth_digest
User authentication using MD5 + Digest Authentication
+
mod_auth_form
Form authentication
+
mod_authn_anon
Allows "anonymous" user access to authenticated + areas
+
mod_authn_core
Core Authentication
+
mod_authn_dbd
User authentication using an SQL database
+
mod_authn_dbm
User authentication using DBM files
+
mod_authn_file
User authentication using text files
+
mod_authn_socache
Manages a cache of authentication credentials to relieve +the load on backends
+
mod_authnz_fcgi
Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
+
mod_authnz_ldap
Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
+
mod_authz_core
Core Authorization
+
mod_authz_dbd
Group Authorization and Login using SQL
+
mod_authz_dbm
Group authorization using DBM files
+
mod_authz_groupfile
Group authorization using plaintext files
+
mod_authz_host
Group authorizations based on host (name or IP +address)
+
mod_authz_owner
Authorization based on file ownership
+
mod_authz_user
User Authorization
+
mod_autoindex
Generates directory indexes, + automatically, similar to the Unix ls command or the + Win32 dir shell command
+
mod_brotli
Compress content via Brotli before it is delivered to the +client
+
mod_buffer
Support for request buffering
+
mod_cache
RFC 2616 compliant HTTP caching filter.
+
mod_cache_disk
Disk based storage module for the HTTP caching filter.
+
mod_cache_socache
Shared object cache (socache) based storage module for the +HTTP caching filter.
+
mod_cern_meta
CERN httpd metafile semantics
+
mod_cgi
Execution of CGI scripts
+
mod_cgid
Execution of CGI scripts using an + external CGI daemon
+
mod_charset_lite
Specify character set translation or recoding
+
mod_data
Convert response body into an RFC2397 data URL
+
mod_dav
Distributed Authoring and Versioning +(WebDAV) functionality
+
mod_dav_fs
Filesystem provider for mod_dav
+
mod_dav_lock
Generic locking module for mod_dav
+
mod_dbd
Manages SQL database connections
+
mod_deflate
Compress content before it is delivered to the +client
+
mod_dialup
Send static content at a bandwidth rate limit, defined by the various old modem standards
+
mod_dir
Provides for "trailing slash" redirects and + serving directory index files
+
mod_dumpio
Dumps all I/O to error log as desired.
+
mod_echo
A simple echo server to illustrate protocol +modules
+
mod_env
Modifies the environment which is passed to CGI scripts and +SSI pages
+
mod_example_hooks
Illustrates the Apache module API
+
mod_expires
Generation of Expires and +Cache-Control HTTP headers according to user-specified +criteria
+
mod_ext_filter
Pass the response body through an external program before +delivery to the client
+
mod_file_cache
Caches a static list of files in memory
+
mod_filter
Context-sensitive smart filter configuration module
+
mod_headers
Customization of HTTP request and response +headers
+
mod_heartbeat
Sends messages with server status to frontend proxy
+
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_http2
Support for the HTTP/2 transport layer
+
mod_ident
RFC 1413 ident lookups
+
mod_imagemap
Server-side imagemap processing
+
mod_include
Server-parsed html documents (Server Side Includes)
+
mod_info
Provides a comprehensive overview of the server +configuration
+
mod_isapi
ISAPI Extensions within Apache for Windows
+
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_ldap
LDAP connection pooling and result caching services for use +by other LDAP modules
+
mod_log_config
Logging of the requests made to the server
+
mod_log_debug
Additional configurable debug logging
+
mod_log_forensic
Forensic Logging of the requests made to the server
+
mod_logio
Logging of input and output bytes per request
+
mod_lua
Provides Lua hooks into various portions of the httpd +request processing
+
mod_macro
Provides macros within apache httpd runtime configuration files
+
mod_md
Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
+
mod_mime
Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)
+
mod_mime_magic
Determines the MIME type of a file + by looking at a few bytes of its contents
+
mod_negotiation
Provides for content negotiation
+
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_privileges
Support for Solaris privileges and for running virtual hosts +under different user IDs.
+
mod_proxy
Multi-protocol proxy/gateway server
+
mod_proxy_ajp
AJP support module for +mod_proxy
+
mod_proxy_balancer
mod_proxy extension for load balancing
+
mod_proxy_connect
mod_proxy extension for +CONNECT request handling
+
mod_proxy_express
Dynamic mass reverse proxy extension for +mod_proxy
+
mod_proxy_fcgi
FastCGI support module for +mod_proxy
+
mod_proxy_fdpass
fdpass external process support module for +mod_proxy
+
mod_proxy_ftp
FTP support module for +mod_proxy
+
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for +mod_proxy
+
mod_proxy_html
Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
+
mod_proxy_http
HTTP support module for +mod_proxy
+
mod_proxy_http2
HTTP/2 support module for +mod_proxy
+
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_uwsgi
UWSGI gateway module for mod_proxy
+
mod_proxy_wstunnel
Websockets support module for +mod_proxy
+
mod_ratelimit
Bandwidth Rate Limiting for Clients
+
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_remoteip
Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
+
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
+
mod_request
Filters to handle and make available HTTP request bodies
+
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
+
mod_sed
Filter Input (request) and Output (response) content using sed syntax
+
mod_session
Session support
+
mod_session_cookie
Cookie based session support
+
mod_session_crypto
Session encryption support
+
mod_session_dbd
DBD/SQL based session support
+
mod_setenvif
Allows the setting of environment variables based +on characteristics of the request
+
mod_slotmem_plain
Slot-based shared memory provider.
+
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_so
Loading of executable code and +modules into the server at start-up or restart time
+
mod_socache_dbm
DBM based shared object cache provider.
+
mod_socache_dc
Distcache based shared object cache provider.
+
mod_socache_memcache
Memcache based shared object cache provider.
+
mod_socache_redis
Redis based shared object cache provider.
+
mod_socache_shmcb
shmcb based shared object cache provider.
+
mod_speling
Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.
+
mod_ssl
Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_status
Provides information on server activity and +performance
+
mod_substitute
Perform search and replace operations on response bodies
+
mod_suexec
Allows CGI scripts to run as a specified user +and Group
+
mod_systemd
Provides better support for systemd integration
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
Provides an environment variable with a unique +identifier for each request
+
mod_unixd
Basic (required) security for Unix-family platforms.
+
mod_userdir
User-specific directories
+
mod_usertrack
+Clickstream logging of user activity on a site +
+
mod_version
Version dependent configuration
+
mod_vhost_alias
Provides for dynamically configured mass virtual +hosting
+
mod_watchdog
provides infrastructure for other modules to periodically run + tasks
+
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based +filter modules
+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html.fr.utf8 b/docs/manual/mod/index.html.fr.utf8 new file mode 100644 index 0000000..e9727fc --- /dev/null +++ b/docs/manual/mod/index.html.fr.utf8 @@ -0,0 +1,325 @@ + + + + + +Index des modules - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Index des modules

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ Ci-dessous se trouve la liste de tous les modules qui font partie de + la distribution du serveur HTTP Apache. Voir aussi la liste alphabétique complète + de toutes les directives du serveur HTTP Apache. +

+
+ +
top
+

Fonctionalités de Base et Modules Multi-Processus (MPM)

+
+
core
Fonctionnalités de base du serveur HTTP Apache toujours +disponibles
+
mpm_common
Une série de directives implémentées par plusieurs +modules multi-processus (MPM)
+
event
Une variante du MPM worker conçue pour ne +mobiliser des threads que pour les connexions en cours de traitement
+
mpm_netware
Module multi-processus implémentant un serveur web basé +exclusivement sur les threads et optimisé pour Novell +NetWare
+
mpmt_os2
MPM hybride multi-processus, multi-thread pour +OS/2
+
prefork
Implémente un serveur web avec démarrage anticipé de +processus, sans thread
+
mpm_winnt
Module multi-processus optimisé pour Windows +NT.
+
worker
Module multi-processus implémentant un serveur web hybride +multi-processus multi-thread
+
+
top
+

Autres Modules

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
Autorisations de groupe à base de nom d'hôte (nom ou +adresse IP)
+
mod_actions
Exécution des scripts CGI en fonction du +type de média ou de la méthode de requête.
+
mod_alias
Permet d'atteindre différentes parties du système de +fichiers depuis l'arborescence des documents du site web, ainsi que la +redirection d'URL
+
mod_allowmethods
Ce module permet de restreindre aisément les méthodes HTTP +pouvant être utilisées sur le serveur
+
mod_asis
Envoie des fichiers contenant leurs propres en-têtes +HTTP
+
mod_auth_basic
Authentification HTTP de base
+
mod_auth_digest
Authentification utilisateur utilisant les condensés +MD5
+
mod_auth_form
Authentification à l'aide d'un formulaire
+
mod_authn_anon
Permet un accès "anonyme" à des zones +protégées
+
mod_authn_core
Le noyau de l'authentification
+
mod_authn_dbd
Authentification utilisateur à l'aide d'une base de données +SQL
+
mod_authn_dbm
Authentification utilisateur utilisant des fichiers +DBM
+
mod_authn_file
Authentification utilisateur à l'aide de fichiers +texte
+
mod_authn_socache
Gère un cache des données d'authentification pour diminuer +la charge des serveurs d'arrière-plan
+
mod_authnz_fcgi
Permet à une application d'autorisation FastCGI de gérer +l'authentification et l'autorisation httpd.
+
mod_authnz_ldap
Permet d'utiliser un annuaire LDAP pour l'authentification +HTTP de base.
+
mod_authz_core
Autorisation basique
+
mod_authz_dbd
Autorisation en groupe et reconnaissance d'identité avec base +SQL
+
mod_authz_dbm
Autorisation basée sur les groupes à l'aide de fichiers +DBM
+
mod_authz_groupfile
Autorisation basée sur les groupes à l'aide de fichiers +textes
+
mod_authz_host
Autorisations de groupe basées sur l'hôte (nom ou adresse +IP)
+
mod_authz_owner
Autorisation basée sur l'appartenance des +fichiers
+
mod_authz_user
Autorisation basée sur l'utilisateur
+
mod_autoindex
Génère automatiquement des index de répertoires d'une +manière similaire à la commande Unix ls, ou à la commande +shell Win32 dir
+
mod_brotli
Compression du contenu via Brotli avant sa livraison au client
+
mod_buffer
Support de la mise en tampon des requêtes
+
mod_cache
Filtre de mise en cache HTTP conforme à la RFC 2616
+
mod_cache_disk
Module de stockage sur disque pour le filtre de mise en +cache HTTP.
+
mod_cache_socache
Module de stockage à base de cache d'objets partagés +(socache) pour le filtre de mise en cache HTTP.
+
mod_cern_meta
La sémantique des métafichiers du serveur httpd du +CERN
+
mod_cgi
Exécution des scripts CGI
+
mod_cgid
Exécution des scripts CGI par l'intermédiaire d'un démon +CGI externe
+
mod_charset_lite
Spécifie dans quel jeu de caractère doivent s'effectuer les +traductions ou les réencodages
+
mod_data
Convertit un corps de réponse en URL de type données RFC2397
+
mod_dav
Fonctionnalité de création et gestion de versions de +documents via le web (WebDAV)
+
mod_dav_fs
Implémente le fournisseur filesystem pour +mod_dav
+
mod_dav_lock
Module de verrouillage générique pour +mod_dav
+
mod_dbd
Gestion des connexions à une base de données SQL
+
mod_deflate
Comprime le contenu avant de le servir au +client
+
mod_dialup
Envoie le contenu statique avec une bande passante limitée +définie par les différents standards des anciens modems.
+
mod_dir
Permet la redirection des adresses se terminant par un +répertoire sans slash de fin et la mise à disposition des fichiers index +de répertoire
+
mod_dumpio
Enregistre toutes les entrées/sorties dans le journal des +erreurs de la manière souhaitée.
+
mod_echo
Un simple serveur d'écho pour illustrer les modules de +protocole
+
mod_env
Modifie l'environnement transmis aux scripts CGI et aux +pages SSI
+
mod_example_hooks
Illustration de l'API des modules Apache
+
mod_expires
Génération des en-têtes HTTP Expires et +Cache-Control en fonction de critères spécifiés par +l'utilisateur
+
mod_ext_filter
Fait traiter le corps de la réponse par un programme +externe avant de l'envoyer au client
+
mod_file_cache
Mise en cache mémoire d'une liste statique de +fichiers
+
mod_filter
Module de configuration de filtre intelligent sensible au +contexte
+
mod_headers
Personnalisation des en-têtes de requêtes et de réponses +HTTP
+
mod_heartbeat
Envoie des messages d'état au mandataire frontal
+
mod_heartmonitor
Moniteur centralisé pour les serveurs d'origine mod_heartbeat
+
mod_http2
Support de la couche transport HTTP/2
+
mod_ident
Recherche d'identité conformément à la RFC +1413
+
mod_imagemap
Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur
+
mod_include
Documents html interprétés par le serveur (Server Side +Includes ou SSI)
+
mod_info
Affiche une présentation complète de la configuration du +serveur
+
mod_isapi
Extensions ISAPI dans Apache pour Windows
+
mod_lbmethod_bybusyness
Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +mod_proxy_balancer
+
mod_lbmethod_byrequests
Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +mod_proxy_balancer
+
mod_lbmethod_bytraffic
Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +mod_proxy_balancer
+
mod_lbmethod_heartbeat
Algorithme d'ordonnancement de répartition de charge pour +mod_proxy_balancer basé sur le comptage de trafic Heartbeat
+
mod_ldap
Conservation des connexions LDAP et services de mise en +cache du résultat à destination des autres modules LDAP
+
mod_log_config
Journalisation des requêtes envoyées au +serveur
+
mod_log_debug
Journalisation supplémentaire à des fins de débogage
+
mod_log_forensic
Journalisation légale des requêtes envoyées au +serveur
+
mod_logio
Journalisation des octets en entrée et en sortie pour +chaque requête
+
mod_lua
Fournit des points d'entrée Lua dans différentes parties du +traitement des requêtes httpd
+
mod_macro
Ce module permet d'utiliser des macros dans les fichiers +de configuration Apache.
+
mod_md
Gestion des domaines au sein des serveurs virtuels et obtention + de certificats via le protocole ACME +
+
mod_mime
Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langue, +jeu de caractère et codage)
+
mod_mime_magic
Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu
+
mod_negotiation
Effectue la négociation de +contenu
+
mod_nw_ssl
Active le chiffrement SSL pour Netware
+
mod_privileges
Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.
+
mod_proxy
Serveur mandataire/passerelle multi-protocole
+
mod_proxy_ajp
Module de support AJP pour +mod_proxy
+
mod_proxy_balancer
Extension de mod_proxy pour le support de +la répartition de charge
+
mod_proxy_connect
Extension de mod_proxy pour le traitement +des requêtes CONNECT
+
mod_proxy_express
Extension à mod_proxy pour le mandatement +dynamique inverse de masse
+
mod_proxy_fcgi
Module fournissant le support de FastCGI à +mod_proxy
+
mod_proxy_fdpass
Module fournissant le support des processus externes fdpass +à mod_proxy
+
mod_proxy_ftp
Module fournissant le support FTP à +mod_proxy
+
mod_proxy_hcheck
Check up dynamique des membres du groupe de répartition de charge +(équipiers) pour mod_proxy
+
mod_proxy_html
Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire.
+
mod_proxy_http
Module fournissant le support HTTP à +mod_proxy
+
mod_proxy_http2
Support de HTTP/2 pour mod_proxy
+
mod_proxy_scgi
Module fournissant le support de la passerelle SCGI à +mod_proxy
+
mod_proxy_uwsgi
Module de passerelle UWSGI pour mod_proxy
+
mod_proxy_wstunnel
Module pour mod_proxy supportant les +websockets
+
mod_ratelimit
Limitation de la bande passante pour les clients
+
mod_reflector
Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.
+
mod_remoteip
Remplace l'adresse IP du client +pour la requête par l'adresse IP présentée par un mandataire ou un +répartiteur de charge via les en-têtes de la requête. +
+
mod_reqtimeout
Définit le délai maximum et le taux minimum de transfert des +données pour la réception des requêtes +
+
mod_request
Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP
+
mod_rewrite
Ce module fournit un moteur de réécriture à base de +règles permettant de réécrire les URLs des requêtes +à la volée
+
mod_sed
Filtre les contenus en entrée (requêtes) et en sortie +(réponses) en utilisant la syntaxe de sed
+
mod_session
Support des sessions
+
mod_session_cookie
Support des sessions basé sur les cookies
+
mod_session_crypto
Support du chiffrement des sessions
+
mod_session_dbd
Support des session basé sur DBD/SQL
+
mod_setenvif
Permet de définir des variables d'environnement en fonction +de certainescaractéristiques de la requête
+
mod_slotmem_plain
Fournisseur de mémoire partagée à base de +slots.
+
mod_slotmem_shm
Fournisseur de mémoire partagée basée sur les +slots.
+
mod_so
Chargement de modules ou de code exécutable au cours du +démarrage ou du redémarrage du serveur
+
mod_socache_dbm
Fournisseur de cache d'objets partagés basé sur DBM.
+
mod_socache_dc
Fournisseur de cache d'objets partagés basé sur dc.
+
mod_socache_memcache
Fournisseur de cache d'objets partagés basé sur Memcache.
+
mod_socache_redis
Fournisseur de cache d'objets partagé basé sur Redis.
+
mod_socache_shmcb
Fournisseur de cache d'objets partagés basé sur shmcb.
+
mod_speling
Tente de corriger les erreurs de casse dans les URLs ou les +fautes de frappe mineures.
+
mod_ssl
Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)
+
mod_status
Fournit des informations sur les performances et l'activité +du serveur
+
mod_substitute
Effectue des opérations de recherche/remplacement sur les +corps de réponses
+
mod_suexec
Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés
+
mod_systemd
Fournit un support amélioré pour l'intégration de systemd
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
Fournit une variable d'environnement contenant un +identifiant unique pour chaque requête
+
mod_unixd
Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.
+
mod_userdir
Répertoires propres à un utilisateur
+
mod_usertrack
+Journalisation Clickstream des liens parcourus par un +utilisateur sur un site +
+
mod_version
Configuration dépendant de la version
+
mod_vhost_alias
Permet de configurer dynamiquement l'hébergement virtuel de +masse
+
mod_watchdog
Fournit une infrastructure permettant à d'autres modules +d'exécuter des tâches périodiques.
+
mod_xml2enc
Support avancé de l'internationalisation et des jeux de +caractères pour les modules de filtrage basés sur libxml2
+
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html.ja.utf8 b/docs/manual/mod/index.html.ja.utf8 new file mode 100644 index 0000000..1d7de3f --- /dev/null +++ b/docs/manual/mod/index.html.ja.utf8 @@ -0,0 +1,269 @@ + + + + + +モジュール一覧 - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

モジュール一覧

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ 以下㯠Apache HTTP サーãƒã®é…布物ã«åŒæ¢±ã•ã‚Œã¦ã„るモジュール㮠+ 一覧ã§ã™ã€‚Apache HTTP サーム+ ディレクティブ ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆé †ã®ãƒªã‚¹ãƒˆã‚‚ã”覧ãã ã•ã„。 +

+
+ +
top
+

コア機能㨠MPM

+
+
core
常ã«ä½¿ç”¨å¯èƒ½ãª Apache HTTP サーãƒã®ã‚³ã‚¢æ©Ÿèƒ½
+
mpm_common
二ã¤ä»¥ä¸Šã®ãƒžãƒ«ãƒãƒ—ロセッシングモジュール (MPM) +ã§å®Ÿè£…ã•ã‚Œã¦ã„るディレクティブã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³
+
event
A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
+
mpm_netware
Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
prefork
スレッドを使ã‚ãšã€å…ˆè¡Œã—㦠fork ã‚’è¡Œãªã†ã‚¦ã‚§ãƒ–サーãƒã‚’実装 +
+
mpm_winnt
Windows NT +å‘ã‘ã«æœ€é©åŒ–ã•ã‚ŒãŸãƒžãƒ«ãƒãƒ—ロセッシングモジュール
+
worker
マルãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨ãƒžãƒ«ãƒãƒ—ロセスã®ãƒã‚¤ãƒ–リッド型 +ウェブサーãƒã‚’実装ã—ãŸãƒžãƒ«ãƒãƒ—ロセッシングモジュール
+
+
top
+

ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
ホスト (åå‰ã‚‚ã—ã㯠IP アドレス) ã«åŸºã¥ã„ãŸã‚°ãƒ«ãƒ¼ãƒ—承èª
+
mod_actions
メディアタイプやリクエストメソッドã«å¿œã˜ã¦ +CGI スクリプトを実行ã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›
+
mod_alias
ホストファイルシステム上ã®ã„ã‚ã„ã‚ãªé•ã†å ´æ‰€ã‚’ + ドキュメントツリーã«ãƒžãƒƒãƒ—ã™ã‚‹æ©Ÿèƒ½ã¨ã€ + URL ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’è¡Œãªã†æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹
+
mod_allowmethods
Easily restrict what HTTP methods can be used on the server
+
mod_asis
自分用㮠HTTP ヘッダã®æ›¸ã‹ã‚Œã¦ã„るファイルをé€ä¿¡ã™ã‚‹
+
mod_auth_basic
基本èªè¨¼
+
mod_auth_digest
User authentication using MD5 + Digest Authentication
+
mod_auth_form
Form authentication
+
mod_authn_anon
èªè¨¼ãŒå¿…è¦ãªé ˜åŸŸã¸ã® "anonymous" ユーザã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ +
+
mod_authn_core
Core Authentication
+
mod_authn_dbd
User authentication using an SQL database
+
mod_authn_dbm
DBM ファイルを用ã„ãŸãƒ¦ãƒ¼ã‚¶èªè¨¼
+
mod_authn_file
テキストファイルを用ã„ãŸãƒ¦ãƒ¼ã‚¶èªè¨¼
+
mod_authn_socache
Manages a cache of authentication credentials to relieve +the load on backends
+
mod_authnz_fcgi
Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
+
mod_authnz_ldap
Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
+
mod_authz_core
Core Authorization
+
mod_authz_dbd
Group Authorization and Login using SQL
+
mod_authz_dbm
Group authorization using DBM files
+
mod_authz_groupfile
プレーンテキストファイルを用ã„ãŸã‚°ãƒ«ãƒ¼ãƒ—承èª
+
mod_authz_host
Group authorizations based on host (name or IP +address)
+
mod_authz_owner
ファイルã®æ‰€æœ‰è€…ã«åŸºã¥ã„ãŸæ‰¿èª
+
mod_authz_user
ユーザ承èª
+
mod_autoindex
Unix ã® ls コマンドや + Win32 ã® dir シェルコマンドã«ä¼¼ãŸ + ディレクトリインデックスを生æˆã™ã‚‹
+
mod_brotli
Compress content via Brotli before it is delivered to the +client
+
mod_buffer
Support for request buffering
+
mod_cache
URI をキーã«ã—ãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥
+
mod_cache_disk
URI をキーã«ã—ãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„キャッシュストレージ管ç†
+
mod_cache_socache
Shared object cache (socache) based storage module for the +HTTP caching filter.
+
mod_cern_meta
CERN httpd metafile semantics
+
mod_cgi
CGI スクリプトã®å®Ÿè¡Œ
+
mod_cgid
外部 CGI デーモンを使ã£ãŸ CGI スクリプトã®å®Ÿè¡Œ
+
mod_charset_lite
Specify character set translation or recoding
+
mod_data
Convert response body into an RFC2397 data URL
+
mod_dav
分散オーサリングã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç† +(WebDAV) 機能
+
mod_dav_fs
mod_dav ã®ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ãƒ—ロãƒã‚¤ãƒ€
+
mod_dav_lock
mod_dav 用ã®æ±Žç”¨ãƒ­ãƒƒã‚¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
+
mod_dbd
Manages SQL database connections
+
mod_deflate
クライアントã¸é€ã‚‰ã‚Œã‚‹å‰ã«ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を圧縮ã™ã‚‹
+
mod_dialup
Send static content at a bandwidth rate limit, defined by the various old modem standards
+
mod_dir
「最後ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã€ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¨ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® +インデックスファイルを扱ã†æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹
+
mod_dumpio
望むよã†ã«ã™ã¹ã¦ã® I/O をエラーログã«ãƒ€ãƒ³ãƒ—ã™ã‚‹
+
mod_echo
プロトコルモジュールã®æ¦‚è¦ã‚’示ã™ãŸã‚ã®å˜ç´”ãªã‚¨ã‚³ãƒ¼ã‚µãƒ¼ãƒ +
+
mod_env
CGI スクリプトåŠã³ SSI +ページã«æ¸¡ã•ã‚Œã‚‹ç’°å¢ƒå¤‰æ•°ã‚’変更ã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹
+
mod_example_hooks
Illustrates the Apache module API
+
mod_expires
ユーザã®æŒ‡å®šã—ãŸåŸºæº–ã«åŸºã¥ã„㟠Expires 㨠+Cache-Control HTTP ヘッダã®ç”Ÿæˆ
+
mod_ext_filter
レスãƒãƒ³ã‚¹ã®ãƒœãƒ‡ã‚£ã‚’クライアントã«é€ã‚‹å‰ã«å¤–部プログラムã§å‡¦ç†ã™ã‚‹
+
mod_file_cache
Caches a static list of files in memory
+
mod_filter
Context-sensitive smart filter configuration module
+
mod_headers
HTTP リクエストã®ãƒ˜ãƒƒãƒ€ã¨å¿œç­”ã®ãƒ˜ãƒƒãƒ€ã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º
+
mod_heartbeat
Sends messages with server status to frontend proxy
+
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_http2
Support for the HTTP/2 transport layer
+
mod_ident
RFC 1413 ident lookups
+
mod_imagemap
Server-side imagemap processing
+
mod_include
サーãƒãŒãƒ‘ースã™ã‚‹ html ドキュメント (Server Side Includes)
+
mod_info
サーãƒã®è¨­å®šã®åŒ…括的ãªæ¦‚観をæä¾›ã™ã‚‹
+
mod_isapi
ISAPI Extensions within Apache for Windows
+
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_ldap
LDAP connection pooling and result caching services for use +by other LDAP modules
+
mod_log_config
サーãƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ­ã‚®ãƒ³ã‚°
+
mod_log_debug
Additional configurable debug logging
+
mod_log_forensic
サーãƒã«é€ã‚‰ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® forensic ロギング
+
mod_logio
リクエスト毎ã«å…¥åŠ›ãƒã‚¤ãƒˆæ•°ã¨å‡ºåŠ›ãƒã‚¤ãƒˆæ•°ã¨ã‚’ロギング
+
mod_lua
Provides Lua hooks into various portions of the httpd +request processing
+
mod_macro
Provides macros within apache httpd runtime configuration files
+
mod_md
Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
+
mod_mime
リクエストã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã¨ãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ¯ã‚‹èˆžã„ + (ãƒãƒ³ãƒ‰ãƒ©ã¨ãƒ•ã‚£ãƒ«ã‚¿)ã€å†…容 (MIME タイプã€è¨€èªžã€æ–‡å­—セットã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°) + ã¨ã‚’関連付ã‘ã‚‹
+
mod_mime_magic
Determines the MIME type of a file + by looking at a few bytes of its contents
+
mod_negotiation
コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ + 機能をæä¾›ã™ã‚‹
+
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_privileges
Support for Solaris privileges and for running virtual hosts +under different user IDs.
+
mod_proxy
HTTP/1.1 プロキシ/ゲートウェイサーãƒ
+
mod_proxy_ajp
mod_proxy 㧠AJP +をサãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
+
mod_proxy_balancer
è² è·åˆ†æ•£ã®ãŸã‚ã® mod_proxy æ‹¡å¼µ
+
mod_proxy_connect
CONNECT リクエストを扱ㆠ+mod_proxy 用ã®æ‹¡å¼µ
+
mod_proxy_express
Dynamic mass reverse proxy extension for +mod_proxy
+
mod_proxy_fcgi
FastCGI support module for +mod_proxy
+
mod_proxy_fdpass
fdpass external process support module for +mod_proxy
+
mod_proxy_ftp
FTP support module for +mod_proxy
+
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for +mod_proxy
+
mod_proxy_html
Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
+
mod_proxy_http
HTTP support module for +mod_proxy
+
mod_proxy_http2
HTTP/2 support module for +mod_proxy
+
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_uwsgi
UWSGI gateway module for mod_proxy
+
mod_proxy_wstunnel
Websockets support module for +mod_proxy
+
mod_ratelimit
Bandwidth Rate Limiting for Clients
+
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_remoteip
Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
+
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
+
mod_request
Filters to handle and make available HTTP request bodies
+
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
+
mod_sed
Filter Input (request) and Output (response) content using sed syntax
+
mod_session
Session support
+
mod_session_cookie
Cookie based session support
+
mod_session_crypto
Session encryption support
+
mod_session_dbd
DBD/SQL based session support
+
mod_setenvif
リクエストã®ç‰¹å¾´ã«åŸºã¥ã„ãŸç’°å¢ƒå¤‰æ•°ã®è¨­å®šã‚’å¯èƒ½ã«ã™ã‚‹
+
mod_slotmem_plain
Slot-based shared memory provider.
+
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_so
起動時やå†èµ·å‹•æ™‚ã«å®Ÿè¡Œã‚³ãƒ¼ãƒ‰ã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’サーãƒã«ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ +
+
mod_socache_dbm
DBM based shared object cache provider.
+
mod_socache_dc
Distcache based shared object cache provider.
+
mod_socache_memcache
Memcache based shared object cache provider.
+
mod_socache_redis
Redis based shared object cache provider.
+
mod_socache_shmcb
shmcb based shared object cache provider.
+
mod_speling
ユーザãŒå…¥åŠ›ã—ãŸã§ã‚ã‚ã†é–“é•ã£ãŸ URL を〠+大文字å°æ–‡å­—ã®åŒºåˆ¥ã‚’無視ã™ã‚‹ã“ã¨ã¨ä¸€ã¤ä»¥ä¸‹ã®ç¶´ã‚Šé–“é•ã„を許容ã™ã‚‹ã“ã¨ã§ +修正を試ã¿ã‚‹
+
mod_ssl
Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_status
サーãƒã®æ´»å‹•çŠ¶æ³ã¨æ€§èƒ½ã«é–¢ã™ã‚‹æƒ…報をæä¾›ã™ã‚‹
+
mod_substitute
Perform search and replace operations on response bodies
+
mod_suexec
指定ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—㧠CGI スクリプトを実行ã™ã‚‹
+
mod_systemd
Provides better support for systemd integration
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
ãã‚Œãžã‚Œã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ä¸€æ„ãªè­˜åˆ¥å­ã®å…¥ã£ãŸç’°å¢ƒå¤‰æ•°ã‚’ +æä¾›ã™ã‚‹
+
mod_unixd
Basic (required) security for Unix-family platforms.
+
mod_userdir
ユーザ専用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’æä¾› +
+
mod_usertrack
+Clickstream logging of user activity on a site +
+
mod_version
ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¾å­˜ã®è¨­å®š
+
mod_vhost_alias
Provides for dynamically configured mass virtual +hosting
+
mod_watchdog
provides infrastructure for other modules to periodically run + tasks
+
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based +filter modules
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html.ko.euc-kr b/docs/manual/mod/index.html.ko.euc-kr new file mode 100644 index 0000000..8f3189f --- /dev/null +++ b/docs/manual/mod/index.html.ko.euc-kr @@ -0,0 +1,265 @@ + + + + + +¸ðµâ ¸ñ·Ï - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¸ðµâ ¸ñ·Ï

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

+ ´ÙÀ½Àº ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡ Æ÷ÇÔµÈ ¸ðµç ¸ðµâ ¸ñ·ÏÀÌ´Ù. ¸ðµç ¾ÆÆÄÄ¡ Áö½Ã¾î ¸ñ·Ïµµ + Âü°íÇ϶ó. +

+
+ +
top
+

ÇÙ½É ±â´É°ú ´ÙÁßó¸® ¸ðµâ

+
+
core
Core Apache HTTP Server features that are always +available
+
mpm_common
A collection of directives that are implemented by +more than one multi-processing module (MPM)
+
event
A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
+
mpm_netware
Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
prefork
Implements a non-threaded, pre-forking web server
+
mpm_winnt
Multi-Processing Module optimized for Windows NT.
+
worker
Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server
+
+
top
+

´Ù¸¥ ¸ðµâ

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
Group authorizations based on host (name or IP +address)
+
mod_actions
ÀÌ ¸ðµâÀº ¹Ìµð¾îÁ¾·ù³ª ¿äû¸Þ¼­µå¿¡ µû¶ó CGI +½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÑ´Ù.
+
mod_alias
ÆÄÀϽýºÅÛÀÇ ´Ù¸¥ ºÎºÐµéÀ» ¹®¼­ °èÃþ±¸Á¶¿¡ Æ÷ÇÔÇÏ°í, + URL ¸®´ÙÀÌ·º¼ÇÀ» Á¦°øÇÑ´Ù
+
mod_allowmethods
Easily restrict what HTTP methods can be used on the server
+
mod_asis
HTTP Çì´õ¸¦ Æ÷ÇÔÇÑ ÆÄÀÏÀ» º¸³½´Ù
+
mod_auth_basic
Basic authentication
+
mod_auth_digest
MD5 Digest AuthenticationÀ» »ç¿ëÇÑ »ç¿ëÀÚÀÎÁõ.
+
mod_auth_form
Form authentication
+
mod_authn_anon
ÀÎÁõ¿µ¿ª¿¡ "À͸í(anonymous)" »ç¿ëÀÚÀÇ Á¢±ÙÀ» +Çã¿ëÇÑ´Ù
+
mod_authn_core
Core Authentication
+
mod_authn_dbd
User authentication using an SQL database
+
mod_authn_dbm
DBM ÆÄÀÏÀ» »ç¿ëÇÑ »ç¿ëÀÚ ÀÎÁõ
+
mod_authn_file
¹®ÀÚÆÄÀÏÀ» ÀÌ¿ëÇÑ »ç¿ëÀÚ ÀÎÁõ
+
mod_authn_socache
Manages a cache of authentication credentials to relieve +the load on backends
+
mod_authnz_fcgi
Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
+
mod_authnz_ldap
Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
+
mod_authz_core
Core Authorization
+
mod_authz_dbd
Group Authorization and Login using SQL
+
mod_authz_dbm
DBM ÆÄÀÏÀ» »ç¿ëÇÑ ±×·ì ÀÎÁõ
+
mod_authz_groupfile
ÀÏ¹Ý ¹®ÀÚÆÄÀÏÀ» ÀÌ¿ëÇÑ ±×·ì ±ÇÇѺο©
+
mod_authz_host
Group authorizations based on host (name or IP +address)
+
mod_authz_owner
ÆÄÀÏ ¼ÒÀ¯ÀÚ¸¦ ÀÌ¿ëÇÑ ±ÇÇѺο©
+
mod_authz_user
»ç¿ëÀÚ ±ÇÇѺο©
+
mod_autoindex
ÀÚµ¿À¸·Î À¯´Ð½ºÀÇ ls ¸í·É¾î³ª Win32ÀÇ + dir ½©¸í·É¾î¿Í À¯»çÇÑ µð·ºÅ丮 ¸ñ·ÏÀ» ¸¸µç´Ù
+
mod_brotli
Compress content via Brotli before it is delivered to the +client
+
mod_buffer
Support for request buffering
+
mod_cache
URI¸¦ Å°·Î »ç¿ëÇÏ¿© ³»¿ëÀ» ij½¬ÇÑ´Ù.
+
mod_cache_disk
Content cache storage manager keyed to URIs
+
mod_cache_socache
Shared object cache (socache) based storage module for the +HTTP caching filter.
+
mod_cern_meta
CERN À¥¼­¹ö ¸ÞŸÆÄÀÏ Áö¿ø
+
mod_cgi
CGI ½ºÅ©¸³Æ® ½ÇÇà
+
mod_cgid
¿ÜºÎ CGI µ¥¸óÀ» »ç¿ëÇÏ¿© CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇà
+
mod_charset_lite
¹®ÀÚÁýÇÕ º¯È¯À» ÁöÁ¤
+
mod_data
Convert response body into an RFC2397 data URL
+
mod_dav
Distributed Authoring and Versioning +(WebDAV) ±â´É
+
mod_dav_fs
mod_davÀ» À§ÇÑ ÆÄÀϽýºÅÛ Á¦°øÀÚ
+
mod_dav_lock
Generic locking module for mod_dav
+
mod_dbd
Manages SQL database connections
+
mod_deflate
³»¿ëÀ» Ŭ¶óÀ̾ðÆ®·Î º¸³»±â Àü¿¡ ¾ÐÃàÇÑ´Ù
+
mod_dialup
Send static content at a bandwidth rate limit, defined by the various old modem standards
+
mod_dir
"¸¶Áö¸· ½½·¡½¬" ¸®´ÙÀÌ·º¼ÇÀ» Á¦°øÇÏ°í µð·ºÅ丮 +index ÆÄÀÏÀ» ¼­ºñ½ºÇÑ´Ù
+
mod_dumpio
Dumps all I/O to error log as desired.
+
mod_echo
ÇÁ·ÎÅäÄÝ ¸ðµâÀ» ¼³¸íÇϱâÀ§ÇÑ °£´ÜÇÑ echo ¼­¹ö
+
mod_env
CGI ½ºÅ©¸³Æ®³ª SSI ÆäÀÌÁö¿¡ Àü´ÞÇÒ È¯°æº¯¼ö¸¦ +¼öÁ¤ÇÑ´Ù
+
mod_example_hooks
¾ÆÆÄÄ¡ ¸ðµâ API¸¦ ¼³¸íÇÑ´Ù
+
mod_expires
»ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ ±âÁØ¿¡ µû¶ó Expires¿Í +Cache-Control HTTP Çì´õ¸¦ »ý¼ºÇÑ´Ù
+
mod_ext_filter
ÀÀ´ä ³»¿ëÀ» ¿ÜºÎ ÇÁ·Î±×·¥À¸·Î ó¸®ÇÑ ÈÄ Å¬¶óÀ̾ðÆ®·Î +º¸³½´Ù
+
mod_file_cache
¸Þ¸ð¸®¿¡ Á¤Àû ÆÄÀϵéÀ» ij½¬
+
mod_filter
Context-sensitive smart filter configuration module
+
mod_headers
HTTP ¿äû Çì´õ¿Í ÀÀ´ä Çì´õ ¼öÁ¤
+
mod_heartbeat
Sends messages with server status to frontend proxy
+
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_http2
Support for the HTTP/2 transport layer
+
mod_ident
RFC 1413 ident °Ë»ö
+
mod_imagemap
¼­¹öÃø À̹ÌÁö¸Ê(imagemap) ó¸®
+
mod_include
Server-parsed html documents (Server Side Includes)
+
mod_info
¼­¹ö ¼³Á¤¿¡ ´ëÇÑ Á¾ÇÕÀûÀÎ Á¤º¸¸¦ º¸¿©ÁØ´Ù
+
mod_isapi
Windows¿ë ¾ÆÆÄÄ¡¿¡¼­ ISAPI Extension »ç¿ë
+
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_ldap
LDAP connection pooling and result caching services for use +by other LDAP modules
+
mod_log_config
¼­¹ö·ÎÀÇ ¿äûÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù
+
mod_log_debug
Additional configurable debug logging
+
mod_log_forensic
Forensic Logging of the requests made to the server
+
mod_logio
¿äû´ç ÀÔÃâ·Â ¹ÙÀÌÆ®¼ö¸¦ ±â·Ï
+
mod_lua
Provides Lua hooks into various portions of the httpd +request processing
+
mod_macro
Provides macros within apache httpd runtime configuration files
+
mod_md
Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
+
mod_mime
Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)
+
mod_mime_magic
Determines the MIME type of a file + by looking at a few bytes of its contents
+
mod_negotiation
Provides for content negotiation
+
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_privileges
Support for Solaris privileges and for running virtual hosts +under different user IDs.
+
mod_proxy
Multi-protocol proxy/gateway server
+
mod_proxy_ajp
AJP support module for +mod_proxy
+
mod_proxy_balancer
mod_proxy extension for load balancing
+
mod_proxy_connect
mod_proxy extension for +CONNECT request handling
+
mod_proxy_express
Dynamic mass reverse proxy extension for +mod_proxy
+
mod_proxy_fcgi
FastCGI support module for +mod_proxy
+
mod_proxy_fdpass
fdpass external process support module for +mod_proxy
+
mod_proxy_ftp
FTP support module for +mod_proxy
+
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for +mod_proxy
+
mod_proxy_html
Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
+
mod_proxy_http
HTTP support module for +mod_proxy
+
mod_proxy_http2
HTTP/2 support module for +mod_proxy
+
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_uwsgi
UWSGI gateway module for mod_proxy
+
mod_proxy_wstunnel
Websockets support module for +mod_proxy
+
mod_ratelimit
Bandwidth Rate Limiting for Clients
+
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_remoteip
Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
+
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
+
mod_request
Filters to handle and make available HTTP request bodies
+
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
+
mod_sed
Filter Input (request) and Output (response) content using sed syntax
+
mod_session
Session support
+
mod_session_cookie
Cookie based session support
+
mod_session_crypto
Session encryption support
+
mod_session_dbd
DBD/SQL based session support
+
mod_setenvif
¿äûÀÇ ¼º°Ý¿¡ µû¶ó ȯ°æº¯¼ö ¼³Á¤À» º¯°æÇÑ´Ù
+
mod_slotmem_plain
Slot-based shared memory provider.
+
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_so
½ÃÀÛÇÒ¶§ ȤÀº Àç½ÃÀÛÇÒ¶§ ½ÇÇà°¡´ÉÇÑ ÄÚµå¿Í ¸ðµâÀ» +¼­¹ö·Î ÀоîµéÀδÙ
+
mod_socache_dbm
DBM based shared object cache provider.
+
mod_socache_dc
Distcache based shared object cache provider.
+
mod_socache_memcache
Memcache based shared object cache provider.
+
mod_socache_redis
Redis based shared object cache provider.
+
mod_socache_shmcb
shmcb based shared object cache provider.
+
mod_speling
»ç¿ëÀÚ°¡ ´ë¼Ò¹®ÀÚ¸¦ À߸ø »ç¿ëÇϰųª ¸ÂÃã¹ýÀÌ Æ²¸®´Â +°ÍÀ» Çѹø±îÁö Çã¿ëÇÏ¿© À߸øµÈ URLÀ» °íÄ¡·Á°í ½ÃµµÇÑ´Ù
+
mod_ssl
Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_status
¼­¹ö È°µ¿°ú ¼º´É¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù
+
mod_substitute
Perform search and replace operations on response bodies
+
mod_suexec
CGI ½ºÅ©¸³Æ®¸¦ ƯÁ¤ »ç¿ëÀÚ¿Í ±×·ì ±ÇÇÑÀ¸·Î ½ÇÇàÇÑ´Ù
+
mod_systemd
Provides better support for systemd integration
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
°¢ ¿äû¸¶´Ù À¯ÀÏÇÑ ½Äº°ÀÚ¸¦ °¡Áö´Â ȯ°æº¯¼ö¸¦ +Á¦°øÇÑ´Ù
+
mod_unixd
Basic (required) security for Unix-family platforms.
+
mod_userdir
»ç¿ëÀÚº° µð·ºÅ丮
+
mod_usertrack
+Clickstream logging of user activity on a site +
+
mod_version
¹öÀüº° ¼³Á¤
+
mod_vhost_alias
Provides for dynamically configured mass virtual +hosting
+
mod_watchdog
provides infrastructure for other modules to periodically run + tasks
+
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based +filter modules
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html.tr.utf8 b/docs/manual/mod/index.html.tr.utf8 new file mode 100644 index 0000000..734f6b6 --- /dev/null +++ b/docs/manual/mod/index.html.tr.utf8 @@ -0,0 +1,272 @@ + + + + + +Modül Dizini - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Modül Dizini

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Apache HTTP Sunucusu dağıtımının parçası olarak gelen modüllerin tamamı + aşağıda listelenmiştir. Ayrıca, tüm Apache HTTP Sunucusu yönergelerinin + alfabetik olarak listelendiği bir Yönerge + Dizini de mevcuttur.

+
+ +
top
+

Temel Özellikler ve Çoklu İşlem Modülleri

+
+
core
Apache HTTP Sunucusunda daima mevcut olan çekirdek + özellikler
+
mpm_common
Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş + yönergeler bütünü.
+
event
A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
+
mpm_netware
Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
prefork
Evresiz ön çatallamalı HTTP sunucusu oluşturur
+
mpm_winnt
Multi-Processing Module optimized for Windows NT.
+
worker
Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok +süreçlilik modülü.
+
+
top
+

Diğer Modüller

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
Group authorizations based on host (name or IP +address)
+
mod_actions
Execute CGI scripts based on media type or request method.
+
mod_alias
Belge ağacının parçalarının dosya sisteminin parçalarıyla +eşlenmesini sağlar ve URL yönlendirmesi yapar.
+
mod_allowmethods
Easily restrict what HTTP methods can be used on the server
+
mod_asis
Sends files that contain their own +HTTP headers
+
mod_auth_basic
Basic HTTP authentication
+
mod_auth_digest
User authentication using MD5 + Digest Authentication
+
mod_auth_form
Form authentication
+
mod_authn_anon
Allows "anonymous" user access to authenticated + areas
+
mod_authn_core
Core Authentication
+
mod_authn_dbd
User authentication using an SQL database
+
mod_authn_dbm
User authentication using DBM files
+
mod_authn_file
User authentication using text files
+
mod_authn_socache
Manages a cache of authentication credentials to relieve +the load on backends
+
mod_authnz_fcgi
Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
+
mod_authnz_ldap
Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
+
mod_authz_core
Core Authorization
+
mod_authz_dbd
Group Authorization and Login using SQL
+
mod_authz_dbm
Group authorization using DBM files
+
mod_authz_groupfile
Group authorization using plaintext files
+
mod_authz_host
Group authorizations based on host (name or IP +address)
+
mod_authz_owner
Authorization based on file ownership
+
mod_authz_user
User Authorization
+
mod_autoindex
Unix ls veya Win32 dir kabuk komutunun +yaptığı gibi dizin içeriğini listeler.
+
mod_brotli
Compress content via Brotli before it is delivered to the +client
+
mod_buffer
Support for request buffering
+
mod_cache
RFC 2616 compliant HTTP caching filter.
+
mod_cache_disk
Disk based storage module for the HTTP caching filter.
+
mod_cache_socache
Shared object cache (socache) based storage module for the +HTTP caching filter.
+
mod_cern_meta
CERN httpd metafile semantics
+
mod_cgi
Execution of CGI scripts
+
mod_cgid
Execution of CGI scripts using an + external CGI daemon
+
mod_charset_lite
Specify character set translation or recoding
+
mod_data
Convert response body into an RFC2397 data URL
+
mod_dav
Distributed Authoring and Versioning +(WebDAV) functionality
+
mod_dav_fs
Filesystem provider for mod_dav
+
mod_dav_lock
Generic locking module for mod_dav
+
mod_dbd
Manages SQL database connections
+
mod_deflate
Compress content before it is delivered to the +client
+
mod_dialup
Send static content at a bandwidth rate limit, defined by the various old modem standards
+
mod_dir
Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriği dosyalarını sunar.
+
mod_dumpio
Dumps all I/O to error log as desired.
+
mod_echo
A simple echo server to illustrate protocol +modules
+
mod_env
CGI betiklerine ve SSI sayfalarına aktarılan değişkenlere müdahale +etmek için kullanılır.
+
mod_example_hooks
Illustrates the Apache module API
+
mod_expires
Generation of Expires and +Cache-Control HTTP headers according to user-specified +criteria
+
mod_ext_filter
Pass the response body through an external program before +delivery to the client
+
mod_file_cache
Caches a static list of files in memory
+
mod_filter
Context-sensitive smart filter configuration module
+
mod_headers
Customization of HTTP request and response +headers
+
mod_heartbeat
Sends messages with server status to frontend proxy
+
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_http2
Support for the HTTP/2 transport layer
+
mod_ident
RFC 1413 ident lookups
+
mod_imagemap
Server-side imagemap processing
+
mod_include
Server-parsed html documents (Server Side Includes)
+
mod_info
Provides a comprehensive overview of the server +configuration
+
mod_isapi
ISAPI Extensions within Apache for Windows
+
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_ldap
LDAP connection pooling and result caching services for use +by other LDAP modules
+
mod_log_config
Sunucuya yapılan isteklerin günlük kayıtlarının tutulması +
+
mod_log_debug
Additional configurable debug logging
+
mod_log_forensic
Sunucuya yapılan isteklerin adli günlük kayıtlarının tutulması
+
mod_logio
Her isteğin girdi ve çıktı uzunluklarının günlüklenmesi. +
+
mod_lua
Provides Lua hooks into various portions of the httpd +request processing
+
mod_macro
Provides macros within apache httpd runtime configuration files
+
mod_md
Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
+
mod_mime
Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)
+
mod_mime_magic
Determines the MIME type of a file + by looking at a few bytes of its contents
+
mod_negotiation
Provides for content negotiation
+
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_privileges
Support for Solaris privileges and for running virtual hosts +under different user IDs.
+
mod_proxy
Multi-protocol proxy/gateway server
+
mod_proxy_ajp
AJP support module for +mod_proxy
+
mod_proxy_balancer
mod_proxy extension for load balancing
+
mod_proxy_connect
mod_proxy extension for +CONNECT request handling
+
mod_proxy_express
Dynamic mass reverse proxy extension for +mod_proxy
+
mod_proxy_fcgi
FastCGI support module for +mod_proxy
+
mod_proxy_fdpass
fdpass external process support module for +mod_proxy
+
mod_proxy_ftp
FTP support module for +mod_proxy
+
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for +mod_proxy
+
mod_proxy_html
Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
+
mod_proxy_http
HTTP support module for +mod_proxy
+
mod_proxy_http2
HTTP/2 support module for +mod_proxy
+
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_uwsgi
UWSGI gateway module for mod_proxy
+
mod_proxy_wstunnel
Websockets support module for +mod_proxy
+
mod_ratelimit
Bandwidth Rate Limiting for Clients
+
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_remoteip
Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
+
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
+
mod_request
HTTP istek gövdelerini işleme sokup kullanılabilir kılan süzgeçler
+
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
+
mod_sed
Filter Input (request) and Output (response) content using sed syntax
+
mod_session
Session support
+
mod_session_cookie
Cookie based session support
+
mod_session_crypto
Session encryption support
+
mod_session_dbd
DBD/SQL based session support
+
mod_setenvif
Ortam değişkenlerinin isteğin özelliklerine uygun olarak atanmasını sağlar
+
mod_slotmem_plain
Slot-based shared memory provider.
+
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_so
Modüllerin ve çalıştırılabilir kodun sunucunun başlatılması veya +yeniden başlatılması sırasında yüklenmesini sağlar.
+
mod_socache_dbm
DBM based shared object cache provider.
+
mod_socache_dc
Distcache based shared object cache provider.
+
mod_socache_memcache
Memcache based shared object cache provider.
+
mod_socache_redis
Redis based shared object cache provider.
+
mod_socache_shmcb
shmcb based shared object cache provider.
+
mod_speling
Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.
+
mod_ssl
Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_status
Sunucu etkinliği ve başarımı hakkında bilgi sağlar.
+
mod_substitute
Perform search and replace operations on response bodies
+
mod_suexec
CGI betiklerinin belli bir kullanıcı ve grubun aidiyetinde +çalışmasını mümkün kılar.
+
mod_systemd
Provides better support for systemd integration
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
Provides an environment variable with a unique +identifier for each request
+
mod_unixd
Unix ailesi platformlar için temel (gerekli) güvenlik.
+
mod_userdir
Kullanıcılara özel dizinler
+
mod_usertrack
+Clickstream logging of user activity on a site +
+
mod_version
Version dependent configuration
+
mod_vhost_alias
Kitlesel sanal konakların devingen olarak yapılandırılmasını sağlar
+
mod_watchdog
provides infrastructure for other modules to periodically run + tasks
+
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based +filter modules
+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/index.html.zh-cn.utf8 b/docs/manual/mod/index.html.zh-cn.utf8 new file mode 100644 index 0000000..e11be58 --- /dev/null +++ b/docs/manual/mod/index.html.zh-cn.utf8 @@ -0,0 +1,274 @@ + + + + + +模å—索引 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

模å—索引

+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

+ 下é¢æ˜¯ Apache HTTP æœåŠ¡å™¨å‘行版中的所有模å—列表。å‚è§æŒ‰ç…§å­—æ¯é¡ºåºç½—列的所有 Apache HTTP æœåŠ¡å™¨æŒ‡ä»¤ã€‚ +

+
+ +
top
+

核心特性与多处ç†æ¨¡å—(MPM)

+
+
core
Core Apache HTTP Server features that are always +available
+
mpm_common
A collection of directives that are implemented by +more than one multi-processing module (MPM)
+
event
A variant of the worker MPM with the goal +of consuming threads only for connections with active processing
+
mpm_netware
Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
prefork
Implements a non-threaded, pre-forking web server
+
mpm_winnt
Multi-Processing Module optimized for Windows NT.
+
worker
Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server
+
+
top
+

其它模å—

+

 A  |  B  |  C  |  D  |  E  |  F  |  H  |  I  |  L  |  M  |  N  |  P  |  R  |  S  |  T  |  U  |  V  |  W  |  X 

+
mod_access_compat
Group authorizations based on host (name or IP +address)
+
mod_actions
Execute CGI scripts based on media type or request method.
+
mod_alias
Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection
+
mod_allowmethods
Easily restrict what HTTP methods can be used on the server
+
mod_asis
Sends files that contain their own +HTTP headers
+
mod_auth_basic
Basic HTTP authentication
+
mod_auth_digest
User authentication using MD5 + Digest Authentication
+
mod_auth_form
Form authentication
+
mod_authn_anon
Allows "anonymous" user access to authenticated + areas
+
mod_authn_core
Core Authentication
+
mod_authn_dbd
User authentication using an SQL database
+
mod_authn_dbm
User authentication using DBM files
+
mod_authn_file
User authentication using text files
+
mod_authn_socache
Manages a cache of authentication credentials to relieve +the load on backends
+
mod_authnz_fcgi
Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
+
mod_authnz_ldap
Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
+
mod_authz_core
Core Authorization
+
mod_authz_dbd
Group Authorization and Login using SQL
+
mod_authz_dbm
Group authorization using DBM files
+
mod_authz_groupfile
Group authorization using plaintext files
+
mod_authz_host
Group authorizations based on host (name or IP +address)
+
mod_authz_owner
Authorization based on file ownership
+
mod_authz_user
User Authorization
+
mod_autoindex
Generates directory indexes, + automatically, similar to the Unix ls command or the + Win32 dir shell command
+
mod_brotli
Compress content via Brotli before it is delivered to the +client
+
mod_buffer
Support for request buffering
+
mod_cache
RFC 2616 compliant HTTP caching filter.
+
mod_cache_disk
Disk based storage module for the HTTP caching filter.
+
mod_cache_socache
Shared object cache (socache) based storage module for the +HTTP caching filter.
+
mod_cern_meta
CERN httpd metafile semantics
+
mod_cgi
Execution of CGI scripts
+
mod_cgid
Execution of CGI scripts using an + external CGI daemon
+
mod_charset_lite
Specify character set translation or recoding
+
mod_data
Convert response body into an RFC2397 data URL
+
mod_dav
Distributed Authoring and Versioning +(WebDAV) functionality
+
mod_dav_fs
Filesystem provider for mod_dav
+
mod_dav_lock
Generic locking module for mod_dav
+
mod_dbd
Manages SQL database connections
+
mod_deflate
Compress content before it is delivered to the +client
+
mod_dialup
Send static content at a bandwidth rate limit, defined by the various old modem standards
+
mod_dir
Provides for "trailing slash" redirects and + serving directory index files
+
mod_dumpio
Dumps all I/O to error log as desired.
+
mod_echo
A simple echo server to illustrate protocol +modules
+
mod_env
Modifies the environment which is passed to CGI scripts and +SSI pages
+
mod_example_hooks
Illustrates the Apache module API
+
mod_expires
Generation of Expires and +Cache-Control HTTP headers according to user-specified +criteria
+
mod_ext_filter
Pass the response body through an external program before +delivery to the client
+
mod_file_cache
Caches a static list of files in memory
+
mod_filter
Context-sensitive smart filter configuration module
+
mod_headers
Customization of HTTP request and response +headers
+
mod_heartbeat
Sends messages with server status to frontend proxy
+
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_http2
Support for the HTTP/2 transport layer
+
mod_ident
RFC 1413 ident lookups
+
mod_imagemap
Server-side imagemap processing
+
mod_include
Server-parsed html documents (Server Side Includes)
+
mod_info
Provides a comprehensive overview of the server +configuration
+
mod_isapi
ISAPI Extensions within Apache for Windows
+
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_ldap
LDAP connection pooling and result caching services for use +by other LDAP modules
+
mod_log_config
Logging of the requests made to the server
+
mod_log_debug
Additional configurable debug logging
+
mod_log_forensic
Forensic Logging of the requests made to the server
+
mod_logio
Logging of input and output bytes per request
+
mod_lua
Provides Lua hooks into various portions of the httpd +request processing
+
mod_macro
Provides macros within apache httpd runtime configuration files
+
mod_md
Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
+
mod_mime
Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)
+
mod_mime_magic
Determines the MIME type of a file + by looking at a few bytes of its contents
+
mod_negotiation
Provides for content negotiation
+
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_privileges
Support for Solaris privileges and for running virtual hosts +under different user IDs.
+
mod_proxy
Multi-protocol proxy/gateway server
+
mod_proxy_ajp
AJP support module for +mod_proxy
+
mod_proxy_balancer
mod_proxy extension for load balancing
+
mod_proxy_connect
mod_proxy extension for +CONNECT request handling
+
mod_proxy_express
Dynamic mass reverse proxy extension for +mod_proxy
+
mod_proxy_fcgi
FastCGI support module for +mod_proxy
+
mod_proxy_fdpass
fdpass external process support module for +mod_proxy
+
mod_proxy_ftp
FTP support module for +mod_proxy
+
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for +mod_proxy
+
mod_proxy_html
Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
+
mod_proxy_http
HTTP support module for +mod_proxy
+
mod_proxy_http2
HTTP/2 support module for +mod_proxy
+
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_uwsgi
UWSGI gateway module for mod_proxy
+
mod_proxy_wstunnel
Websockets support module for +mod_proxy
+
mod_ratelimit
Bandwidth Rate Limiting for Clients
+
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_remoteip
Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
+
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
+
mod_request
Filters to handle and make available HTTP request bodies
+
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
+
mod_sed
Filter Input (request) and Output (response) content using sed syntax
+
mod_session
Session support
+
mod_session_cookie
Cookie based session support
+
mod_session_crypto
Session encryption support
+
mod_session_dbd
DBD/SQL based session support
+
mod_setenvif
Allows the setting of environment variables based +on characteristics of the request
+
mod_slotmem_plain
Slot-based shared memory provider.
+
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_so
Loading of executable code and +modules into the server at start-up or restart time
+
mod_socache_dbm
DBM based shared object cache provider.
+
mod_socache_dc
Distcache based shared object cache provider.
+
mod_socache_memcache
Memcache based shared object cache provider.
+
mod_socache_redis
Redis based shared object cache provider.
+
mod_socache_shmcb
shmcb based shared object cache provider.
+
mod_speling
Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.
+
mod_ssl
Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_status
Provides information on server activity and +performance
+
mod_substitute
Perform search and replace operations on response bodies
+
mod_suexec
Allows CGI scripts to run as a specified user +and Group
+
mod_systemd
Provides better support for systemd integration
+
mod_tls
TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
+
mod_unique_id
Provides an environment variable with a unique +identifier for each request
+
mod_unixd
Basic (required) security for Unix-family platforms.
+
mod_userdir
User-specific directories
+
mod_usertrack
+Clickstream logging of user activity on a site +
+
mod_version
Version dependent configuration
+
mod_vhost_alias
Provides for dynamically configured mass virtual +hosting
+
mod_watchdog
provides infrastructure for other modules to periodically run + tasks
+
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based +filter modules
+
+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_access_compat.html b/docs/manual/mod/mod_access_compat.html new file mode 100644 index 0000000..ba31864 --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_access_compat.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_access_compat.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_access_compat.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_access_compat.html.en b/docs/manual/mod/mod_access_compat.html.en new file mode 100644 index 0000000..6cea80a --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html.en @@ -0,0 +1,499 @@ + + + + + +mod_access_compat - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_access_compat

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + + +
Description:Group authorizations based on host (name or IP +address)
Status:Extension
Module Identifier:access_compat_module
Source File:mod_access_compat.c
Compatibility:Available in Apache HTTP Server 2.3 as a compatibility module with +previous versions of Apache httpd 2.x. The directives provided by this module +have been deprecated by the new authz refactoring. Please see +mod_authz_host
+

Summary

+ +

The directives provided by mod_access_compat are + used in <Directory>, + <Files>, and + <Location> sections + as well as .htaccess + files to control access to particular parts of the server. + Access can be controlled based on the client hostname, IP address, or + other characteristics of the client request, as captured in environment variables. The Allow and Deny directives are used to + specify which clients are or are not allowed access to the server, + while the Order + directive sets the default access state, and configures how the + Allow and Deny directives interact with each + other.

+ +

Both host-based access restrictions and password-based + authentication may be implemented simultaneously. In that case, + the Satisfy directive is used + to determine how the two sets of restrictions interact.

+ +

Note

+

The directives provided by mod_access_compat have + been deprecated by mod_authz_host. + Mixing old directives like Order, Allow or Deny with new ones like + Require is technically possible + but discouraged. This module was created to support + configurations containing only old directives to facilitate the 2.4 upgrade. + Please check the upgrading guide for more + information. +

+
+ +

In general, access restriction directives apply to all + access methods (GET, PUT, + POST, etc). This is the desired behavior in most + cases. However, it is possible to restrict some methods, while + leaving other methods unrestricted, by enclosing the directives + in a <Limit> section.

+ +

Merging of configuration sections

+

When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.

+
+ +
+ + +
top
+

Allow Directive

+ + + + + + + +
Description:Controls which hosts can access an area of the +server
Syntax: Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...
Context:directory, .htaccess
Override:Limit
Status:Extension
Module:mod_access_compat
+

The Allow directive affects which hosts can + access an area of the server. Access can be controlled by + hostname, IP address, IP address range, or by other + characteristics of the client request captured in environment + variables.

+ +

The first argument to this directive is always + from. The subsequent arguments can take three + different forms. If Allow from all is specified, then + all hosts are allowed access, subject to the configuration of the + Deny and Order directives as discussed + below. To allow only particular hosts or groups of hosts to access + the server, the host can be specified in any of the + following formats:

+ +
+
A (partial) domain-name
+ +
+
Allow from example.org
+Allow from .net example.edu
+ +

Hosts whose names match, or end in, this string are allowed + access. Only complete components are matched, so the above + example will match foo.example.org but it will not + match fooexample.org. This configuration will cause + Apache httpd to perform a double DNS lookup on the client IP + address, regardless of the setting of the HostnameLookups directive. It will do + a reverse DNS lookup on the IP address to find the associated + hostname, and then do a forward lookup on the hostname to assure + that it matches the original IP address. Only if the forward + and reverse DNS are consistent and the hostname matches will + access be allowed.

+ +
A full IP address
+ +
+
Allow from 10.1.2.3
+Allow from 192.168.1.104 192.168.1.205
+ +

An IP address of a host allowed access

+ +
A partial IP address
+ +
+
Allow from 10.1
+Allow from 10 172.20 192.168.2
+ +

The first 1 to 3 bytes of an IP address, for subnet + restriction.

+ +
A network/netmask pair
+ +
+
Allow from 10.1.0.0/255.255.0.0
+ +

A network a.b.c.d, and a netmask w.x.y.z. For more + fine-grained subnet restriction.

+ +
A network/nnn CIDR specification
+ +
+
Allow from 10.1.0.0/16
+ +

Similar to the previous case, except the netmask consists of + nnn high-order 1 bits.

+
+ +

Note that the last three examples above match exactly the + same set of hosts.

+ +

IPv6 addresses and IPv6 subnets can be specified as shown + below:

+ +
Allow from 2001:db8::a00:20ff:fea7:ccea
+Allow from 2001:db8::a00:20ff:fea7:ccea/10
+ + +

The third format of the arguments to the + Allow directive allows access to the server + to be controlled based on the existence of an environment variable. When Allow from + env=env-variable is specified, then the request is + allowed access if the environment variable env-variable + exists. When Allow from env=!env-variable is + specified, then the request is allowed access if the environment + variable env-variable doesn't exist. + The server provides the ability to set environment + variables in a flexible way based on characteristics of the client + request using the directives provided by + mod_setenvif. Therefore, this directive can be + used to allow access based on such factors as the clients + User-Agent (browser type), Referer, or + other HTTP request header fields.

+ +
SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
+<Directory "/docroot">
+    Order Deny,Allow
+    Deny from all
+    Allow from env=let_me_in
+</Directory>
+ + +

In this case, browsers with a user-agent string beginning + with KnockKnock/2.0 will be allowed access, and all + others will be denied.

+ +

Merging of configuration sections

+

When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.

+
+ + +
+
top
+

Deny Directive

+ + + + + + + +
Description:Controls which hosts are denied access to the +server
Syntax: Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...
Context:directory, .htaccess
Override:Limit
Status:Extension
Module:mod_access_compat
+

This directive allows access to the server to be restricted + based on hostname, IP address, or environment variables. The + arguments for the Deny directive are + identical to the arguments for the Allow directive.

+ +
+
top
+

Order Directive

+ + + + + + + + +
Description:Controls the default access state and the order in which +Allow and Deny are +evaluated.
Syntax: Order ordering
Default:Order Deny,Allow
Context:directory, .htaccess
Override:Limit
Status:Extension
Module:mod_access_compat
+ +

The Order directive, along with the + Allow and + Deny directives, + controls a three-pass access control system. The first pass + processes either all Allow or all Deny directives, as specified + by the Order + directive. The second pass parses the rest of the directives + (Deny or + Allow). The third + pass applies to all requests which do not match either of the first + two.

+ +

Note that all Allow and Deny directives are + processed, unlike a typical firewall, where only the first match is + used. The last match is effective (also unlike a typical firewall). + Additionally, the order in which lines appear in the configuration + files is not significant -- all Allow lines are processed as + one group, all Deny lines are considered as + another, and the default state is considered by itself.

+ +

Ordering is one of:

+ +
+
Allow,Deny
+ +
First, all Allow directives are + evaluated; at least one must match, or the request is rejected. + Next, all Deny + directives are evaluated. If any matches, the request is rejected. + Last, any requests which do not match an Allow or a Deny directive are denied + by default.
+ +
Deny,Allow
+ +
First, all Deny directives are + evaluated; if any match, the request is denied + unless it also matches an Allow directive. Any + requests which do not match any Allow or Deny directives are + permitted.
+ +
Mutual-failure
+ +
This order has the same effect as Order + Allow,Deny and is deprecated in its favor.
+
+ +

Keywords may only be separated by a comma; no whitespace + is allowed between them.

+ + + + + + + + + + + + + + + + + + + + + + + +
MatchAllow,Deny resultDeny,Allow result
Match Allow onlyRequest allowedRequest allowed
Match Deny onlyRequest deniedRequest denied
No matchDefault to second directive: DeniedDefault to second directive: Allowed
Match both Allow & DenyFinal match controls: DeniedFinal match controls: Allowed
+ +

In the following example, all hosts in the example.org domain + are allowed access; all other hosts are denied access.

+ +
Order Deny,Allow
+Deny from all
+Allow from example.org
+ + +

In the next example, all hosts in the example.org domain are + allowed access, except for the hosts which are in the + foo.example.org subdomain, who are denied access. All hosts not + in the example.org domain are denied access because the default + state is to Deny + access to the server.

+ +
Order Allow,Deny
+Allow from example.org
+Deny from foo.example.org
+ + +

On the other hand, if the Order in the + last example is changed to Deny,Allow, all hosts will + be allowed access. This happens because, regardless of the actual + ordering of the directives in the configuration file, the + Allow from example.org will be evaluated last and will + override the Deny from foo.example.org. All hosts not in + the example.org domain will also be allowed access + because the default state is Allow.

+ +

The presence of an Order directive can + affect access to a part of the server even in the absence of + accompanying Allow + and Deny + directives because of its effect on the default access state. For + example,

+ +
<Directory "/www">
+    Order Allow,Deny
+</Directory>
+ + +

will Deny all access to the /www directory + because the default access state is set to + Deny.

+ +

The Order directive controls the order of access + directive processing only within each phase of the server's + configuration processing. This implies, for example, that an + Allow or Deny directive occurring in a + <Location> section will + always be evaluated after an Allow or Deny directive occurring in a + <Directory> section or + .htaccess file, regardless of the setting of the + Order directive. For details on the merging + of configuration sections, see the documentation on How Directory, Location and Files sections + work.

+ +

Merging of configuration sections

+

When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.

+
+ + +
+
top
+

Satisfy Directive

+ + + + + + + + + +
Description:Interaction between host-level access control and +user authentication
Syntax:Satisfy Any|All
Default:Satisfy All
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_access_compat
Compatibility:Influenced by <Limit> and <LimitExcept> in version 2.0.51 and +later
+

Access policy if both Allow and Require used. The parameter can be + either All or Any. This directive is only + useful if access to a particular area is being restricted by both + username/password and client host address. In this case + the default behavior (All) is to require that the client + passes the address access restriction and enters a valid + username and password. With the Any option the client will be + granted access if they either pass the host restriction or enter a + valid username and password. This can be used to password restrict + an area, but to let clients from particular addresses in without + prompting for a password.

+ +

For example, if you wanted to let people on your network have + unrestricted access to a portion of your website, but require that + people outside of your network provide a password, you could use a + configuration similar to the following:

+ +
Require valid-user
+Allow from 192.168.1
+Satisfy Any
+ + +

+ Another frequent use of the Satisfy directive + is to relax access restrictions for a subdirectory: +

+ +
<Directory "/var/www/private">
+    Require valid-user
+</Directory>
+
+<Directory "/var/www/private/public">
+    Allow from all
+    Satisfy Any
+</Directory>
+ + +

In the above example, authentication will be required for the + /var/www/private directory, but will not be required + for the /var/www/private/public directory.

+ +

Since version 2.0.51 Satisfy directives can + be restricted to particular methods by <Limit> and <LimitExcept> sections.

+ +

Merging of configuration sections

+

When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.

+
+ + +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_access_compat.html.fr.utf8 b/docs/manual/mod/mod_access_compat.html.fr.utf8 new file mode 100644 index 0000000..5448192 --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html.fr.utf8 @@ -0,0 +1,524 @@ + + + + + +mod_access_compat - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_access_compat

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + + +
Description:Autorisations de groupe à base de nom d'hôte (nom ou +adresse IP)
Statut:Extension
Identificateur de Module:access_compat_module
Fichier Source:mod_access_compat.c
Compatibilité:Disponible dans la version 2.3 du serveur HTTP Apache +à des fins de compatibilité +avec les précédentes versions d'Apache httpd 2.x. Les directives fournies par +ce module sont devenues obsolètes depuis la refonte d'authz. Voir +mod_authz_host
+

Sommaire

+ +

Les directives fournies par le module + mod_access_compat s'utilisent dans les sections + <Directory>, + <Files> et + <Location>, ainsi + que dans les fichiers .htaccess et permettent + de contrôler l'accès à certaines parties du serveur. On peut + contrôler cet accès en fonction du nom d'hôte du client, de son + adresse IP ou d'autres caractéristiques de la requête, telles + qu'elles sont enregistrées dans les variables + d'environnement. Les directives Allow et Deny permettent de spécifier + quels clients sont ou ne sont pas autorisés à accéder au serveur, + alors que la directive Order définit le statut + d'accès par défaut, et détermine la manière dont les directives + Allow et + Deny interagissent + entre elles.

+ +

Les restrictions d'accès à base de nom d'hôte et + l'authentification à base de mot de passe peuvent être implémentées + simultanément. Dans ce cas, on utilise la directive Satisfy pour déterminer la + manière dont ces deux modes de restrictions interagissent.

+ +

Note

+

Les directives fournies par le module + mod_access_compat sont devenues obsolètes depuis + la refonte du module mod_authz_host. Mélanger d'anciennes + directives comme Order, Allow ou Deny avec des nouvelles comme + Require est techniquement + possible mais déconseillé. En effet, mod_access_compat a + été conçu pour supporter des configurations ne contenant que des anciennes + directives afin de faciliter le passage à la version 2.4. Voir le document + upgrading pour plus de détails. +

+
+ +

En général, les directives de restriction d'accès s'appliquent à + toutes les méthodes d'accès (GET, PUT, + POST, etc...). C'est d'ailleurs ce que l'on souhaite + dans la plupart des cas. Il est cependant possible de restreindre + certaines méthodes, alors que les autres méthodes ne se verront + imposée aucune restriction, en regroupant les directives à + l'intérieur d'une section <Limit>.

+ +

Fusion des sections de configuration

+

Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.

+
+
+ + +
top
+

Directive Allow

+ + + + + + + +
Description:Spécifie quels hôtes peuvent accéder à une certaine zone du +serveur
Syntaxe: Allow from all|hôte|env=[!]variable +d'environnement +[hôte|env=[!]variable d'environnement] ...
Contexte:répertoire, .htaccess
Surcharges autorisées:Limit
Statut:Extension
Module:mod_access_compat
+

La directive Allow permet de définir quels + hôtes ont le droit d'accéder à une certaine partie du serveur. On + peut contrôler l'accès par nom d'hôte, adresse IP, intervalle + d'adresses IP, ou toute autre caractéristique de la requête client + enregistrée dans les variables d'environnement.

+ +

Le premier argument de cette directive est toujours + from. Les arguments suivants peuvent prendre trois + formes différentes. Si Allow from all est spécifié, + tout hôte se voit accordé l'accès, en tenant compte des directives + Deny et Order comme décrit plus loin. + Pour ne permettre l'accès au serveur qu'à un hôte ou un groupe + d'hôtes particuliers, on peut spécifier un nom d'hôte sous + une des formes suivantes :

+ +
+
Un nom de domaine (partiel)
+ +
+
Allow from example.org
+Allow from .net example.edu
+ +

Les hôtes dont les noms correspondent ou se terminent par la + chaîne spécifiée ont l'autorisation d'accès. Seules les + composantes entières du nom d'hôte doivent correspondre ; ainsi, + dans l'exemple ci-dessus, foo.example.org + correspondra, mais fooexample.org ne conviendra pas. + Avec cette configuration, Apache httpd va effectuer une double recherche + DNS sur l'adresse IP du client, sans tenir compte de la + définition de la directive HostnameLookups. Tout d'abord, une + recherche DNS inverse sur l'adresse IP est effectuée pour + déterminer le nom d'hôte associé, puis une recherche directe sur + le nom d'hôte est effectuée afin de s'assurer qu'il correspond + bien à l'adresse IP originale. L'accès ne sera accordé que si le + nom d'hôte correspond et si les recherches DNS inverse et directe + concordent.

+ +
Une adresse IP complète
+ +
+
Allow from 10.1.2.3
+Allow from 192.168.1.104 192.168.1.205
+ +

L'adresse IP d'un hôte auquel on a accordé l'accès

+ +
Une adresse IP partielle
+ +
+
Allow from 10.1
+Allow from 10 172.20 192.168.2
+ +

De un à trois des premiers octets d'une adresse IP, afin de + restreindre l'accès à un sous-réseau.

+ +
Une paire réseau/masque de sous-réseau
+ +
+
Allow from 10.1.0.0/255.255.0.0
+ +

Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z, pour + une définition plus précise de la restriction d'accès imposée à un + sous-réseau.

+ +
Une spécification CIDR réseau/nnn
+ +
+
Allow from 10.1.0.0/16
+ +

Identique au cas précédent, mis à part que le masque est + constitué des nnn bits de poids fort.

+
+ +

Notez que les trois derniers exemples désignent le même ensemble + d'hôtes.

+ +

On peut spécifier des adresses et sous-réseaux IPv6 de la manière + suivante :

+ +
Allow from 2001:db8::a00:20ff:fea7:ccea
+Allow from 2001:db8::a00:20ff:fea7:ccea/10
+ + +

Le troisième format d'argument de la directive + Allow permet de contrôler l'accès au serveur + en fonction de l'existence d'une variable d'environnement. Lorsque Allow + from env=variable d'environnement est spécifié, la + requête est autorisée si la variable d'environnement variable + d'environnement existe. En revanche, lorsque Allow from + env=!env-variable est spécifié, la + requête est autorisée si la variable d'environnement variable + d'environnement n'existe pas. Le serveur permet de définir + avec souplesse des variables d'environnement en se basant sur les + caractéristiques de la requête client et en utilisant les directives + fournies par le module mod_setenvif. Ainsi, on peut + utiliser la directive Allow pour permettre + l'accès en fonction de paramètres comme le User-Agent + (type de navigateur) des clients, le Referer, ou + d'autres champs d'en-tête de la requête HTTP.

+ +
SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
+<Directory "/docroot">
+    Order Deny,Allow
+    Deny from all
+    Allow from env=let_me_in
+</Directory>
+ + +

Dans cet exemple, les navigateurs dont la chaîne user-agent + commence par KnockKnock/2.0 se verront accorder + l'accès, alors que tous les autres seront rejetés.

+ +

Fusion des sections de configuration

+

Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.

+
+ +
+
top
+

Directive Deny

+ + + + + + + +
Description:Définit quels hôtes ne sont pas autorisés à accéder au +serveur
Syntaxe: Deny from all|hôte|env=[!]variable +d'environnement +[hôte|env=[!]variable d'environnement] ...
Contexte:répertoire, .htaccess
Surcharges autorisées:Limit
Statut:Extension
Module:mod_access_compat
+

Cette directive permet de restreindre l'accès au serveur en + fonction du nom d'hôte, de l'adresse IP ou de variables + d'environnement. Les arguments de la directive + Deny sont identiques aux arguments de la + directive Allow.

+ +
+
top
+

Directive Order

+ + + + + + + + +
Description:Définit le statut d'accès par défaut et l'ordre dans lequel +les directives Allow et +Deny sont évaluées.
Syntaxe: Order ordre
Défaut:Order Deny,Allow
Contexte:répertoire, .htaccess
Surcharges autorisées:Limit
Statut:Extension
Module:mod_access_compat
+ +

La directive Order, associée aux + directives Allow + et Deny, + implémente un système de contrôle d'accès en trois passes. Au cours + de la première passe, ce sont soit toutes les directives Allow, soit toutes les + directives Deny qui sont traitées, selon + la définition de la directive Order. Le reste des + directives (Deny + ou Allow) est + traité au cours de la seconde passe. La troisième passe s'applique à + toutes les requêtes qui ne sont concernées par aucune des deux + premières passes.

+ +

Notez que toutes les directives Allow et Deny sont traitées, à la + différence d'un pare-feu classique où seule la première règle qui + correspond est utilisée. La dernière directive qui correspond + s'applique ( à la différence là encore d'un pare-feu classique). De + plus, l'ordre dans lequel les lignes apparaissent dans le fichier de + configuration n'a pas d'incidence -- toutes les lignes Allow sont considérées comme + un groupe, toutes les lignes Deny comme un autre, et le + statut par défaut a son existence propre.

+ +

Ordre peut être :

+ +
+
Allow,Deny
+ +
Dans un premier temps, toutes les directives Allow sont évaluées ; au + moins une d'entre elles doit correspondre, sinon la requête est + rejetée. Ensuite, toutes les directives Deny sont évaluées. Si au + moins l'une d'entre elles correspond, la requête est rejetée. + Enfin, toute requête qui ne correspond à aucune directive + Allow ou + Deny est rejetée + par défaut.
+ +
Deny,Allow
+ +
Dans un premier temps, toutes les directives Deny sont évaluées ; Si au + moins une d'entre elles correspond, la requête est rejetée, + à moins qu'elle corresponde aussi à une directive + Allow. Toute + requête qui ne correspond à aucune directive Allow ou Deny est autorisée.
+ +
Mutual-failure
+ +
Cet argument a le même effet que Allow,Deny et + est devenu de ce fait obsolète.
+
+ +

Les mots-clés ne peuvent être séparés que par des virgules ; + aucun espace ne doit s'intercaler entre eux.

+ + + + + + + + + + + + + + + + + + + + + + + +
MatchRésultat Allow,DenyRésultat Deny,Allow
Correspond à Allow seulementRequête autoriséeRequête autorisée
Correspond à Deny seulementRequête rejetéeRequête rejetée
Aucune correspondancePar défaut la seconde directive : rejetPar défaut la seconde directive : autorisation
Correspond à Allow & DenyLa dernière correspondance l'emporte : rejetLa dernière correspondance l'emporte : autorisation
+ +

Dans cet exemple, tous les hôtes du domaine example.org ont + l'autorisation d'accès ; tous les autres voient leur accès + refusé.

+ +
Order Deny,Allow
+Deny from all
+Allow from example.org
+ + +

Dans l'exemple suivant, tous les hôtes du domaine example.org ont + l'autorisation d'accès, sauf ceux du sous-domaine foo.example.org qui + voient leur accès refusé. Tous les hôtes qui ne sont pas dans le + domaine example.org sont rejetés car le statut par défaut est positionné + sur Deny, et consiste donc en un + refus d'accès.

+ +
Order Allow,Deny
+Allow from example.org
+Deny from foo.example.org
+ + +

Par contre, si la valeur de la directive + Order, dans l'exemple précédent, est + Deny,Allow, tout le monde a l'autorisation d'accès. + Ceci est dû au fait que Allow from example.org sera + évalué en dernier, sans tenir compte de l'ordre réel dans lequel les + directives apparaissent dans le fichier de configuration, et va + l'emporter sur Deny from foo.example.org. Tout hôte qui + n'est pas dans le domaine example.org aura aussi + l'autorisation d'accès car le statut par défaut est positionné sur + Allow et constitue donc une + autorisation d'accès.

+ +

La présence d'une directive Order peut + affecter le contrôle d'accès à une partie du serveur même en + l'abscence de directives Allow et Deny associées, à cause de + son influence sur le statut par défaut. Par exemple,

+ +
<Directory "/www">
+    Order Allow,Deny
+</Directory>
+ + +

va interdire tout accès au répertoire /www à cause + du statut d'accès par défaut qui est défini à Deny.

+ +

La directive Order ne contrôle l'ordre + dans lequel sont traitées les directives d'accès qu'au cours de + chaque phase du traitement de la configuration du serveur. Ceci + implique, par exemple, qu'une directive Allow ou Deny située dans une section + <Location> sera + toujours évaluée après une directive Allow ou Deny située dans une section + <Directory> ou un + fichier .htaccess, sans tenir compte de la + définition de la directive Order. Pour plus + de détails à propos de la fusion des sections de configuration, voir + le document Comment fonctionnent les sections Directory, + Location et Files.

+ +

Fusion des sections de configuration

+

Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.

+
+ +
+
top
+

Directive Satisfy

+ + + + + + + + + +
Description:Interaction entre le contrôle d'accès en fonction de l'hôte +et l'authentification utilisateur
Syntaxe:Satisfy Any|All
Défaut:Satisfy All
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_access_compat
Compatibilité:Affecté par <Limit> et <LimitExcept> à partir de la version +2.0.51
+

Politique d'accès dans le cas où on utilise à la fois Allow et Require. L'argument est soit + All, soit Any. L'utilisation de cette + directive n'a de sens que si l'accès à une zone particulière du + serveur est restreinte par utilisateur/mot de passe et en fonction + de l'adresse IP de l'hôte client. Dans ce cas, par + défaut (All), le client doit satisfaire à la + restriction d'adresse, et fournir un couple + utilisateur/mot de passe valide. Avec l'argument Any, + le client se verra accorder l'accès s'il satisfait à la restriction + d'adresse ou fournit un couple utilisateur/mot de passe valide. On + peut utiliser cette dernière définition pour restreindre l'accès à + une zone par mot de passe, mais accorder l'accès aux clients + possédant certaines adresses IP sans qu'ils aient à fournir de mot + de passe.

+ +

Par exemple, si vous souhaitez que les utilisateurs de votre + réseau accèdent à une zone de votre site web sans restriction, mais + que l'accès à cette zone nécessite un mot de passe pour les autres + utilisateurs, vous pouvez utiliser une configuration du style :

+ +
Require valid-user
+Allow from 192.168.1
+Satisfy Any
+ + +

+ Une autre utilisation fréquente de la directive + Satisfy est l'allègement des restrictions + d'accès à un sous-répertoire par rapport aux restrictions d'accès au + répertoire parent : +

+ +
<Directory "/var/www/private">
+    Require valid-user
+</Directory>
+
+<Directory "/var/www/private/public">
+    Allow from all
+    Satisfy Any
+</Directory>
+ + +

Dans l'exemple ci-dessus, l'accès au répertoire + /var/www/private nécessitera une authentification, + alors que l'accès au répertoire /var/www/private/public + sera accordé sans restriction.

+ + +

Depuis la version 2.0.51, les directives + Satisfy peuvent être restreintes à certaines + méthodes particulières à l'aide des sections <Limit> et <LimitExcept>.

+ +

Fusion des sections de configuration

+

Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.

+
+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_access_compat.html.ja.utf8 b/docs/manual/mod/mod_access_compat.html.ja.utf8 new file mode 100644 index 0000000..9a52b9d --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html.ja.utf8 @@ -0,0 +1,476 @@ + + + + + +mod_access_compat - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_access_compat

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:ホスト (åå‰ã‚‚ã—ã㯠IP アドレス) ã«åŸºã¥ã„ãŸã‚°ãƒ«ãƒ¼ãƒ—承èª
ステータス:Extension
モジュール識別å­:access_compat_module
ソースファイル:mod_access_compat.c
互æ›æ€§:Apache 2.3 (Apache 2.x ã®ä»¥å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ã®äº’æ›æ€§ã®ãŸã‚ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã—ã¦)。 +ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§æä¾›ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€æ‰¿èªã®ä»•çµ„ã¿ã®ä¸€æ–°ã«ä¼´ã„ã€éžæŽ¨å¥¨ã«ãªã£ãŸã‚‚ã®ã§ã™ã€‚ +mod_authz_host も見ã¦ãã ã•ã„。
+

概è¦

+ +

mod_access_compat ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ サーãƒã®ç‰¹å®šã®éƒ¨åˆ†ã¸ã® + アクセスを制御ã™ã‚‹ãŸã‚ã« <Directory>, <Files>, <Location> + 㨠.htaccess ファイルã§ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚クライアントã®ãƒ›ã‚¹ãƒˆåã€IP + アドレスやã€ç’°å¢ƒå¤‰æ•°ãªã©ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ç‰¹å¾´ã«åŸºã¥ã„㦠+ アクセス制御を行ãªã†ã“ã¨ãŒã§ãã¾ã™ã€‚Allow 㨠+ Deny ディレクティブを使ã£ã¦ã€ + ã©ã®ã‚ˆã†ãªã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã‚’ + 許å¯ã™ã‚‹ã€ã—ãªã„を指定ã—ã¾ã™ã€‚ã¾ãŸ + Order ディレクティブを使ã£ã¦ã€ + デフォルトã®ã‚¢ã‚¯ã‚»ã‚¹çŠ¶æ…‹ã¨ã€ + Allow ディレクティブ㨠+ Deny + ディレクティブã¨ã®ãŠäº’ã„ã¸ã®å½±éŸ¿ã®ä»•æ–¹ã‚’設定ã—ã¾ã™ã€‚ +

+ +

ホストã«ã‚ˆã‚‹ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã¨ãƒ‘スワードã«ã‚ˆã‚‹èªè¨¼ã‚’〠+ åŒæ™‚ã«çµ„ã¿åˆã‚ã›ã¦ä½¿ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + ã“ã®å ´åˆã€ãã®äºŒã¤ã®åˆ¶é™ã®é–¢ä¿‚を指定ã™ã‚‹ãŸã‚ã« + Satisfy + ディレクティブを使用ã—ã¾ã™ã€‚

+ +

Note

+

mod_access_compatãŒæä¾›ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ + 承èªã®ä»•çµ„ã¿ã®ä¸€æ–°ã«ä¼´ã„ã€éžæŽ¨å¥¨ã«ãªã£ãŸã‚‚ã®ã§ã™ã€‚ + mod_authz_host も見ã¦ãã ã•ã„。 + デフォルトã®æ‰¿èªã®å–り扱ã„機能を使用ã™ã‚‹ãŸã‚ã« + mod_authz_default + モジュールもロードã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
+ +

一般的ã«ã¯ã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã™ã¹ã¦ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ + (GET, PUT, POST ãªã©) + ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ãã—ã¦ã€ã»ã¨ã‚“ã©ã®å ´åˆã“ã‚ŒãŒæœ›ã¾ã—ã„動作ã§ã™ã€‚ + ã—ã‹ã—ã€<Limit> + セクションã®ä¸­ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ãã“ã¨ã§ã€ + 一部ã®ãƒ¡ã‚½ãƒƒãƒ‰ã«ã®ã¿åˆ¶é™ã‚’ã‹ã‘ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

Allow ディレクティブ

+ + + + + + + +
説明:サーãƒã®ã‚る領域ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるホストを制御ã™ã‚‹
構文: Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...
コンテキスト:ディレクトリ, .htaccess
上書ã:Limit
ステータス:Extension
モジュール:mod_access_compat
+

Allow ディレクティブã¯ã€ã©ã®ãƒ›ã‚¹ãƒˆãŒ + サーãƒã®ã‚る領域ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã‹ã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚ + アクセスã¯ãƒ›ã‚¹ãƒˆåã€IP アドレスã€IP アドレスã®ç¯„囲や〠+ 環境変数ãªã©ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã® + 特徴ã«åŸºã¥ã„ã¦ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®æœ€åˆã®å¼•æ•°ã¯å¸¸ã« from ã§ã™ã€‚ + ãã‚Œã«ç¶šã引数ã¯ä¸‰ã¤ã®é•ã£ãŸå½¢å¼ãŒã‚ã‚Šã¾ã™ã€‚Allow from + all ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚Œã°ã€ã™ã¹ã¦ã®ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã—〠+ アクセス制é™ã¯ä¸‹ã§èª¬æ˜Žã•ã‚Œã¦ã„るよã†ã«ã€ + Deny + ディレクティブ㨠Order + ディレクティブã®è¨­å®šã§æ±ºã¾ã‚Šã¾ã™ã€‚ + 特定ã®ãƒ›ã‚¹ãƒˆã‚„ホスト群ã«ã®ã¿ã‚µãƒ¼ãƒã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ãŸã‚ã«ã¯ã€ + 以下ã®ã©ã‚Œã‹ã®å½¢å¼ã§ host を指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +
+
ドメインå (ã®ä¸€éƒ¨)
+ +
+

例

+ Allow from apache.org
+ Allow from .net example.edu +

+

ã“ã®æ–‡å­—列ã«åˆã†ã‹ã€ã“ã‚Œã§çµ‚ã‚ã‚‹åå‰ã®ãƒ›ã‚¹ãƒˆã®ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚Œã¾ã™ã€‚ + å„部分ãŒå®Œå…¨ã«åˆã†ã‚‚ã®ã ã‘ã«é©ç”¨ã•ã‚Œã¾ã™ã®ã§ã€ä¸Šã®ä¾‹ã¯ + foo.apache.org ã«ã¯ãƒžãƒƒãƒã—ã¾ã™ãŒã€ + fooapache.org ã«ã¯ãƒžãƒƒãƒã—ã¾ã›ã‚“。 + ã“ã®è¨­å®šã‚’ã™ã‚‹ã¨ã€Apache 㯠+ HostnameLookups + ã®è¨­å®šã«é–¢ã‚らãšã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã® IP アドレスã«å¯¾ã—㦠+ DNS ã® 2 é‡é€†å¼•ãã‚’è¡Œãªã„ã¾ã™ã€‚ + ホストåã‹ã‚‰ã‚ªãƒªã‚¸ãƒŠãƒ«ã® IP アドレスを順引ãã—ã¾ã™ã€‚ + 順引ãã¨é€†å¼•ããŒä¸€è‡´ã—ã€ãƒ›ã‚¹ãƒˆåãŒè©²å½“ã—ãŸå ´åˆã«ã®ã¿ã€ + アクセスãŒè¨±å¯ã•ã‚Œã¾ã™ã€‚

+ +
完全㪠IP アドレス
+ +
+

例

+ Allow from 10.1.2.3
+ Allow from 192.168.1.104 192.168.1.205 +

+

アクセスを許å¯ã™ã‚‹ IP アドレスã§ã™ã€‚

+ +
IP アドレスã®ä¸€éƒ¨
+ +
+

例

+ Allow from 10.1
+ Allow from 10 172.20 192.168.2 +

+

サブãƒãƒƒãƒˆã®åˆ¶é™ç”¨ã®ã€IP + アドレスã®æœ€åˆã®ä¸€ã¤ã‹ã‚‰ä¸‰ã¤ã¾ã§ã®ãƒã‚¤ãƒˆã§ã™ã€‚

+ +
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯/ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ ã®å¯¾
+ +
+

例

+ Allow from 10.1.0.0/255.255.0.0 +

+

ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ a.b.c.d ã¨ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ w.x.y.z ã§ã™ã€‚ + より細粒度ã®ã‚µãƒ–ãƒãƒƒãƒˆåˆ¶é™ç”¨ã§ã™ã€‚

+ +
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯/nnn CIDR 指定
+ +
+

例

+ Allow from 10.1.0.0/16 +

+

ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ãŒ nnn ã®ä¸Šä½ãƒ“ット㌠1 + ã¨ãªã£ã¦ã„ã‚‹ã‚‚ã®ã‹ã‚‰ãªã‚‹ã“ã¨ä»¥å¤–ã¯å‰ã®ã‚‚ã®ã¨åŒã˜ã§ã™ã€‚

+
+ +

注: 最後ã®ä¸‰ã¤ã®ä¾‹ã¯ã¾ã£ãŸãåŒã˜ãƒ›ã‚¹ãƒˆã«åˆã„ã¾ã™ã€‚

+ + +

IPv6 アドレス㨠IPv6 ã®ã‚µãƒ–ãƒãƒƒãƒˆã¯ä»¥ä¸‹ã®ã‚ˆã†ã«æŒ‡å®šã§ãã¾ã™:

+ +

+ Allow from 2001:db8::a00:20ff:fea7:ccea
+ Allow from 2001:db8::a00:20ff:fea7:ccea/10 +

+ +

Allow ディレクティブã®å¼•æ•°ã®ä¸‰ã¤ç›®ã®å½¢å¼ã¯ã€ + 環境変数 + ã®å­˜åœ¨ã«ã‚ˆã‚Šã‚¢ã‚¯ã‚»ã‚¹ã®åˆ¶å¾¡ã‚’è¡Œãªãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã‚‚ã®ã§ã™ã€‚ + Allow from env=env-variable + ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€ç’°å¢ƒå¤‰æ•° env-variable + ãŒå­˜åœ¨ã—ãŸå ´åˆã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•ã‚Œã¾ã™ã€‚ + Allow from env=!env-variable + ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€ç’°å¢ƒå¤‰æ•° env-variable + ãŒå­˜åœ¨ã—ãªã„å ´åˆã«ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ã•ã‚Œã¾ã™ã€‚ + サーãƒã¯ mod_setenvif + ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã‚ˆã‚Šã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆ + ã®ç‰¹å¾´ã«åŸºã¥ã„ã¦æŸ”軟ã«ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã® + User-Agent (ブラウザã®ç¨®é¡ž)ã€Referer + ã‚„ä»–ã® HTTP リクエストã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ãªã©ã«åŸºã¥ã„㦠+ アクセス許å¯ã‚’ã™ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ +

+ +

Example:

+ SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
+ <Directory /docroot>
+ + Order Deny,Allow
+ Deny from all
+ Allow from env=let_me_in
+
+ </Directory> +

+ +

ã“ã®å ´åˆã€user-agent ã®æ–‡å­—列㌠KnockKnock/2.0 + ã§å§‹ã¾ã‚‹ãƒ–ラウザã®ã¿ãŒã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚Œã€ + ä»–ã®ã‚‚ã®ã¯ã‚¢ã‚¯ã‚»ã‚¹ãŒæ‹’å¦ã•ã‚Œã¾ã™ã€‚

+ + +
+
top
+

Deny ディレクティブ

+ + + + + + + +
説明:サーãƒãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã™ã‚‹ãƒ›ã‚¹ãƒˆã‚’制御ã™ã‚‹
構文: Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...
コンテキスト:ディレクトリ, .htaccess
上書ã:Limit
ステータス:Extension
モジュール:mod_access_compat
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ›ã‚¹ãƒˆåã€IP + アドレスã€ç’°å¢ƒå¤‰æ•°ã«åŸºã¥ã„ã¦ã‚µãƒ¼ãƒã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã—ã¾ã™ã€‚ + Deny ディレクティブã®å¼•æ•°ã¯ Allow + ディレクティブã¨ã¾ã£ãŸãåŒã˜ã§ã™ã€‚

+ +
+
top
+

Order ディレクティブ

+ + + + + + + + +
説明:デフォルトã®ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªçŠ¶æ…‹ã¨ã€Allow 㨠+Deny ãŒè©•ä¾¡ã•ã‚Œã‚‹é †ç•ªã‚’制御ã™ã‚‹
構文: Order ordering
デフォルト:Order Deny,Allow
コンテキスト:ディレクトリ, .htaccess
上書ã:Limit
ステータス:Extension
モジュール:mod_access_compat
+ +

Order ディレクティブ㯠Allow ディレクティブã¨Deny ã¨å…±ã«"3段階アクセス制御システム" + を制御ã—ã¾ã™ã€‚第1段階目ã§ã¯ Order ディレクティブã§1番目㫠+ 指定ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–(Allow + ã¾ãŸã¯ Deny)ã‚’å…¨ã¦å‡¦ç†ã—ã¾ã™ã€‚ + 第2段階目ã§ã€æ®‹ã‚Šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–(Deny ã¾ãŸã¯ Allow) + ã‚’å…¨ã¦å‡¦ç†ã—ã¾ã™ã€‚第3段階目ã§ã€ç¬¬1段階目ã¨ç¬¬2段階目㧠+ マッãƒã—ãªã‹ã£ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã—ã¾ã™ã€‚

+ +

å…¨ã¦ã® Allow 㨠Deny ãŒå‡¦ç†ã•ã‚Œã€çµå±€ã®ã¨ã“ã‚最後ã«ãƒžãƒƒãƒ + ã—ãŸæ¡ä»¶ãŒæœ‰åŠ¹ã¨ãªã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã“ã‚Œã¯æœ€åˆã«ãƒžãƒƒãƒã—ãŸæ¡ä»¶ã ã‘ãŒæœ‰åŠ¹ + ã¨ãªã‚‹ã€å…¸åž‹çš„ãªãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã®å‹•ä½œã¨ã¯ç•°ãªã£ã¦ã„ã¾ã™ã€‚ + ã¾ãŸã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã順番ã«ã¯æ„味ã¯ã‚ã‚Šã¾ã›ã‚“。Allow è¡Œã¯å…¨éƒ¨ä¸€ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã—ã¦æ‰±ã‚れ〠+ Deny è¡Œã¯ã‚‚ã†ä¸€ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚ + ã¾ãŸãƒ‡ãƒ•ã‚©ãƒ«ãƒˆçŠ¶æ…‹ã¯å˜ç‹¬ã§ä¸€ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚

+ +

Order 設定ã¯ä»¥ä¸‹ã®ã©ã‚Œã‹ã§ã™ã€‚

+ +
+
Allow,Deny
+ +
ã¾ãš Allow + ディレクティブãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚ã©ã‚Œã«ã‚‚マッãƒã—ãªã‹ã£ãŸå ´åˆã€ã“ã®æ™‚点㧠+ リクエストã¯æ‹’å¦ã•ã‚Œã¾ã™ã€‚次ã«ã€å…¨ã¦ã® + Deny ディレクティブãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚ã©ã‚Œã‹ä¸€ã¤ã§ã‚‚マッãƒã—ãŸå ´åˆã¯ã€ + リクエストã¯æ‹’å¦ã•ã‚Œã¾ã™ã€‚ + 最後ã«ã€ Allow ã«ã‚‚ Deny ã«ã‚‚マッãƒã—ãªã‹ã£ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ + デフォルト設定ãŒé©ç”¨ã•ã‚Œã‚‹ã®ã§æ‹’å¦ã•ã‚Œã¾ã™ã€‚
+ +
Deny,Allow
+ +
ã¾ãš Deny + ディレクティブãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚ã©ã‚Œã‹ä¸€ã¤ã§ã‚‚マッãƒã—ãŸå ´åˆã¯ã€ + Allow ã®ã©ã‚Œã«ã‚‚ + マッãƒã—ãªã‘ã‚Œã°ã€ã‚¢ã‚¯ã‚»ã‚¹ã¯æ‹’å¦ã•ã‚Œã¾ã™ã€‚ + ã©ã® Allow ã«ã‚‚ Deny ã«ã‚‚マッãƒã—ãªã„リクエスト㯠+ 許å¯ã•ã‚Œã¾ã™ã€‚
+ +
Mutual-failure
+ +
ã“れ㯠Order Allow,Deny ã¨å…¨ãåŒã˜åŠ¹æžœã‚’æŒã¡ã€ + ãã®ãŸã‚éžæŽ¨å¥¨ã¨ãªã£ã¦ã„ã¾ã™ã€‚ +
+
+ +

キーワードã®é–“ã«ç½®ã‘ã‚‹ã®ã¯ã‚³ãƒ³ãƒžã ã‘ã§ã™ã€‚ + é–“ã«ç©ºç™½ãŒã‚ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“。

+ + + + + + + + + + + + + + + + + + + + + + + +
マッãƒAllow,Deny 時ã®çµæžœDeny,Allow 時ã®çµæžœ
Allow ã ã‘ã«ãƒžãƒƒãƒè¨±å¯è¨±å¯
Deny ã ã‘ã«ãƒžãƒƒãƒæ‹’å¦æ‹’å¦
ã©ã¡ã‚‰ã«ã‚‚マッãƒã—ãªã„2番目ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ: æ‹’å¦2番目ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ: 許å¯
Allow 㨠Deny 両方ã«ãƒžãƒƒãƒæœ€å¾Œã«ãƒžãƒƒãƒã—ãŸã»ã†: æ‹’å¦æœ€å¾Œã«ãƒžãƒƒãƒã—ãŸã»ã†: 許å¯
+ +

以下ã®ä¾‹ã§ã¯ã€apache.org + ドメインã®ã™ã¹ã¦ã®ãƒ›ã‚¹ãƒˆã¯ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•ã‚Œã¾ã™ã€‚ + ä»–ã®ã™ã¹ã¦ã®ãƒ›ã‚¹ãƒˆã¯ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã•ã‚Œã¾ã™ã€‚

+ +

+ Order Deny,Allow
+ Deny from all
+ Allow from apache.org +

+ +

次ã®ä¾‹ã§ã¯ã€foo.apache.org サブドメインã«ã‚るホスト以外ã®ã€ + apache.org ドメインã®ã™ã¹ã¦ã®ãƒ›ã‚¹ãƒˆãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•ã‚Œã¾ã™ã€‚ + apache.org + ドメインã§ãªã„ホストã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®çŠ¶æ…‹ãŒ Deny ã®ãŸã‚〠+ サーãƒã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã•ã‚Œã¾ã™ã€‚

+ +

+ Order Allow,Deny
+ Allow from apache.org
+ Deny from foo.apache.org +

+ +

一方ã€ä¸Šã®ä¾‹ã® Order ㌠Deny,Allow + ã«å¤‰ã‚ã£ã¦ã„ã‚Œã°ã€ã™ã¹ã®ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®å®Ÿéš›ã®é †ç•ªã«é–¢ã‚らãšã€ + Allow from apache.org ãŒæœ€å¾Œã«è©•ä¾¡ã•ã‚Œã¦ã€ + Deny from foo.apache.org を上書ãã™ã‚‹ã‹ã‚‰ã§ã™ã€‚ + apache.org + ドメインã«ãªã„ホストもã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®çŠ¶æ…‹ãŒ Allow + ãªã®ã§ã€ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•ã‚Œã¾ã™ã€‚ +

+ +

Order + ディレクティブã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚¢ã‚¯ã‚»ã‚¹ã®çŠ¶æ…‹ã«å½±éŸ¿ã‚’与ãˆã‚‹ã®ã§ã€ + Allow ディレクティブ㨠+ Deny + ディレクティブãŒç„¡ãã¦ã‚‚ã€ã‚µãƒ¼ãƒã®ã‚¢ã‚¯ã‚»ã‚¹ã«å½±éŸ¿ã‚’与ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ãŸã¨ãˆã°ã€

+ +

+ <Directory /www>
+ + Order Allow,Deny
+
+ </Directory> +

+ +

ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚¢ã‚¯ã‚»ã‚¹çŠ¶æ…‹ãŒ + Deny ã«ãªã‚‹ãŸã‚〠+ /www ディレクトリã¸ã®ã™ã¹ã¦ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã€‚ +

+ +

Order + ディレクティブã¯ã‚µãƒ¼ãƒã®è¨­å®šå‡¦ç†ã®å„段階ã§ã ã‘ + アクセスディレクティブã®å‡¦ç†ã®é †ç•ªã‚’変更ã—ã¾ã™ã€‚ã“ã‚Œã¯ã€ãŸã¨ãˆã°ã€ + Order ディレクティブã®è¨­å®šã«é–¢ã‚らãšã€ + <Location> セクション㮠+ Allow ディレクティブや + Deny ディレクティブã¯ã€ + Directory セクションや + .htaccess ファイル㮠Allow + ディレクティブや Deny + ディレクティブよりも常ã«å¾Œã«è©•ä¾¡ã•ã‚Œã‚‹ã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ + 設定セクションã®ãƒžãƒ¼ã‚¸ã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€ + Directory,Location, Files + セクションã®å‹•ä½œæ–¹æ³• ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +
+
top
+

Satisfy ディレクティブ

+ + + + + + + + + +
説明:ホストレベルã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã¨ãƒ¦ãƒ¼ã‚¶èªè¨¼ã¨ã®ç›¸äº’作用を指定
構文:Satisfy Any|All
デフォルト:Satisfy All
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_access_compat
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.51 以é™ã§ã¯ <Limit> ディレクティブ㨠<LimitExcept> ディレクティブã®å½±éŸ¿ã‚’å—ã‘ã‚‹ +
+

Allow 㨠+ Require ã®ä¸¡æ–¹ãŒä½¿ã‚ã‚Œã¦ã„ã‚‹ã¨ãã® + アクセスãƒãƒªã‚·ãƒ¼ã‚’設定ã—ã¾ã™ã€‚パラメータ㯠All ã‹ Any + ã§ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚る場所ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒãƒ¦ãƒ¼ã‚¶å/パスワード + ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒ›ã‚¹ãƒˆã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã§åˆ¶é™ã•ã‚Œã¦ã„ã‚‹ã¨ãã«ã®ã¿ + 役立ã¡ã¾ã™ã€‚デフォルトã®å‹•ä½œ (All) ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒã‚¢ãƒ‰ãƒ¬ã‚¹ã«ã‚ˆã‚‹ + アクセス制é™ã‚’満ãŸã—ã€ã‹ã¤æ­£ã—ã„ユーザåã¨ãƒ‘スワードを入力ã™ã‚‹ã“ã¨ã‚’ + è¦æ±‚ã—ã¾ã™ã€‚Any ã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ãƒ›ã‚¹ãƒˆã®åˆ¶é™ã‚’満ãŸã™ã‹ã€ + æ­£ã—ã„ユーザåã¨ãƒ‘スワードã®å…¥åŠ›ã‚’ã™ã‚‹ã‹ã‚’ã™ã‚Œã°ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã¯ã€ã‚る場所をパスワードã§ä¿è­·ã™ã‚‹ã‘ã‚Œã©ã€ç‰¹å®šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‹ã‚‰ã® + クライアントã«ã¯ãƒ‘スワードã®å…¥åŠ›ã‚’è¦æ±‚ã›ãšã«ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ã€ + ã¨ã„ã†ã‚ˆã†ãªã¨ãã«ä½¿ç”¨ã§ãã¾ã™ã€‚

+ +

例ãˆã°ã€åŒã˜ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã«ã„る人ã«ã¯ã‚¦ã‚§ãƒ–サイトã®ã‚る部分ã«ã¤ã„㦠+ 無制é™ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許ã—ãŸã„ã‘ã‚Œã©ã€å¤–ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®äººã«ã¯ + パスワードをæä¾›ã•ã›ã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã¯ã€æ¬¡ã®ã‚ˆã†ãªè¨­å®šã‚’ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™:

+ +

+ Require valid-user
+ Allow from 192.168.1
+ Satisfy Any +

+ +

ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.51 ã‹ã‚‰ã¯ + <Limit> セクション㨠+ <LimitExcept> セクションを使用ã™ã‚‹ã“ã¨ã§ + Satisfy ディレクティブ㌠+ é©ç”¨ã•ã‚Œã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’制é™ã™ã‚‹ã“ã¨ãŒ + ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚

+ +

å‚ç…§

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html b/docs/manual/mod/mod_actions.html new file mode 100644 index 0000000..15e77f1 --- /dev/null +++ b/docs/manual/mod/mod_actions.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_actions.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mod_actions.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_actions.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_actions.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_actions.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_actions.html.de b/docs/manual/mod/mod_actions.html.de new file mode 100644 index 0000000..742537f --- /dev/null +++ b/docs/manual/mod/mod_actions.html.de @@ -0,0 +1,197 @@ + + + + + +mod_actions - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache-Modul mod_actions

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ + + +
Beschreibung:Dieses Modul ermöglicht die Ausführung von CGI-Skripten + in Abhängigkeit von Medientypen und Anfragemethoden.
Status:Basis
Modulbezeichner:actions_module
Quelltext-Datei:mod_actions.c
+

Zusammenfassung

+ +

Das Modul besitzt zwei Direktiven. Die Direktive Action erlaubt die Ausführung von + CGI-Skripten immer dann, wenn eine Anfrage zu einem bestimmten MIME-Type erfolgt. Die Direktive Script erlaubt die Ausführung von + CGI-Skripten abhängig von einer bestimmten Methode, die in der + Anfrage verwendet wird. Dies macht es deutlich einfacher, Skripte + auszuführen, die Dateien verarbeiten.

+
+ + +
top
+

Action-Direktive

+ + + + + + + + +
Beschreibung:Aktiviert ein CGI-Skript für einen bestimmten Handler oder + Content-Type
Syntax:Action Aktionsart CGI-Skript [virtual]
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride:FileInfo
Status:Basis
Modul:mod_actions
Kompatibilität:Der Schalter virtual und die Übergabe des + Handlers wurden in Apache 2.1 eingeführt.
+

Die Direktive fügt eine Aktion hinzu, welche das + CGI-Skript aktiviert, sobald die Aktionsart durch + eine Anfrage ausgelöst wird. CGI-Skript ist der URL-Pfad + zu einer Ressource, die unter Verwendung von ScriptAlias oder AddHandler als CGI-Skript gekennzeichnet + wurde. Die Aktionsart kann entweder ein Handler oder ein MIME-Type sein. Die URL und + den Dateipfad des angeforderten Dokuments in den + Standard-CGI-Umgebungsvariablen PATH_INFO und + PATH_TRANSLATED übergeben. Der für die jeweilige + Anfrage verwendete Handler wird in der Umgebungsvariablen + REDIRECT_HANDLER übergeben.

+ +

Beispiele

+ # Anfragen für Dateien eines bestimmten MIME-Types:
+ Action image/gif /cgi-bin/images.cgi
+
+ # Dateien einer bestimmten Dateiendung
+ AddHandler my-file-type .xyz
+ Action my-file-type /cgi-bin/program.cgi
+

+ +

Im ersten Beispiel werden Anfragen für Dateien mit dem MIME-Type + image/gif von dem angegebenen CGI-Skript + /cgi-bin/images.cgi bearbeitet.

+ +

Im zweiten Beispiel werden Anfragen für Dateien mit der Dateiendung + .xyz von dem angegebenen CGI-Skript + /cgi-bin/program.cgi bearbeitet.

+ +

Der optionale Schalter virtual deaktiviert die Prüfung + auf Existenz der angeforderten Datei. Dies ist beispielsweise + nützlich, wenn Sie die Direktive Action in + Verbindung mit virtuellen Adressräumen verwenden möchten.

+ +

Beispiel

+ <Location /news>
+ + SetHandler news-handler
+ Action news-handler /cgi-bin/news.cgi virtual
+
+ </Location> +

+ +

Siehe auch

+ +
+
top
+

Script-Direktive

+ + + + + + +
Beschreibung:Aktiviert ein CGI-Skript für eine bestimmte + Anfragemethode.
Syntax:Script Methode CGI-Skript
Kontext:Serverkonfiguration, Virtual Host, Verzeichnis
Status:Basis
Modul:mod_actions
+

Die Direktive fügt eine Aktion hinzu, welche das + CGI-Skript aktiviert, wenn eine Datei unter der Verwendung der + Methode Methode angefordert wird. CGI-Skript ist der + URL-Pfad zu einer Ressource, die unter Verwendung von ScriptAlias oder AddHandler als CGI-Skript gekennzeichnet + wurde. Die URL und der Dateipfad des angeforderten Dokuments werden in den + Standard-CGI-Umgebungsvariablen PATH_INFO und + PATH_TRANSLATED übergeben.

+ +
+ Der Methodenname kann frei gewählt werden. Bei Methodennamen + wird zwischen Groß- und Kleinschreibung unterschieden, so + dass Script PUT und Script put zu vollkommen + unterschiedlichen Ergebnissen führen. +
+ +

Beachten Sie, dass der Script-Befehl nur + Voreinstellungen für Aktionen definiert. Wird ein CGI-Skript + - oder eine andere Ressource, die in der Lage ist, die angeforderte + Methode intern zu bearbeiten - aufgerufen, so wird diese(s) verwendet. + Beachten Sie auch, dass Script mit der Methode + GET nur dann aufgerufen wird, wenn Query-Argumente vorhanden + sind (z.B. foo.html?hi). Andernfalls wird die Anfrage normal + bearbeitet.

+ +

Beispiele

+ # Für <ISINDEX>-ähnliches Suchen
+ Script GET /cgi-bin/search
+
+ # Ein CGI-PUT-Handler
+ Script PUT /~bob/put.cgi
+

+ +
+
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.en b/docs/manual/mod/mod_actions.html.en new file mode 100644 index 0000000..0f984d6 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.en @@ -0,0 +1,186 @@ + + + + + +mod_actions - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_actions

+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Execute CGI scripts based on media type or request method.
Status:Base
Module Identifier:actions_module
Source File:mod_actions.c
+

Summary

+ +

This module has two directives. The Action directive lets you run CGI + scripts whenever a file of a certain MIME content type is requested. The + Script directive lets + you run CGI scripts whenever a particular method is used in a + request. This makes it much easier to execute scripts that process + files.

+ + +
top
+

Action Directive

+ + + + + + + + +
Description:Activates a CGI script for a particular handler or +content-type
Syntax:Action action-type cgi-script [virtual]
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_actions
Compatibility:The virtual modifier and handler passing were +introduced in Apache 2.1
+

This directive adds an action, which will activate + cgi-script when action-type is triggered by + the request. The cgi-script is the URL-path to a + resource that has been designated as a CGI script using ScriptAlias or AddHandler. The + action-type can be either a handler or a MIME content type. It sends the URL and + file path of the requested document using the standard CGI + PATH_INFO and PATH_TRANSLATED + environment variables. The handler used for the particular request + is passed using the REDIRECT_HANDLER variable.

+ +

Example: MIME type

# Requests for files of a particular MIME content type:
+Action image/gif /cgi-bin/images.cgi
+
+ +

In this example, requests for files with a MIME content + type of image/gif will be handled by the + specified cgi script /cgi-bin/images.cgi.

+ +

Example: File extension

# Files of a particular file extension
+AddHandler my-file-type .xyz
+Action my-file-type "/cgi-bin/program.cgi"
+
+

In this example, requests for files with a file extension of + .xyz are handled by the specified cgi script + /cgi-bin/program.cgi.

+ +

The optional virtual modifier turns off the check + whether the requested file really exists. This is useful, for example, + if you want to use the Action directive in + virtual locations.

+ +
<Location "/news">
+    SetHandler news-handler
+    Action news-handler "/cgi-bin/news.cgi" virtual
+</Location>
+ + +

See also

+ +
+
top
+

Script Directive

+ + + + + + +
Description:Activates a CGI script for a particular request +method.
Syntax:Script method cgi-script
Context:server config, virtual host, directory
Status:Base
Module:mod_actions
+

This directive adds an action, which will activate + cgi-script when a file is requested using the method of + method. The cgi-script is the URL-path to a + resource that has been designated as a CGI script using ScriptAlias or AddHandler. The URL and + file path of the requested document is sent using the standard CGI + PATH_INFO and PATH_TRANSLATED environment + variables.

+ +
+ Any arbitrary method name may be used. Method names are + case-sensitive, so Script PUT and + Script put have two entirely different + effects. +
+ +

Note that the Script command defines default + actions only. If a CGI script is called, or some other resource that is + capable of handling the requested method internally, it will do + so. Also note that Script with a method of + GET will only be called if there are query arguments present + (e.g., foo.html?hi). Otherwise, the request will + proceed normally.

+ +
# All GET requests go here
+Script GET "/cgi-bin/search"
+
+# A CGI PUT handler
+Script PUT "/~bob/put.cgi"
+ + +
+
+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.fr.utf8 b/docs/manual/mod/mod_actions.html.fr.utf8 new file mode 100644 index 0000000..e6025d8 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.fr.utf8 @@ -0,0 +1,196 @@ + + + + + +mod_actions - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_actions

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Exécution des scripts CGI en fonction du +type de média ou de la méthode de requête.
Statut:Base
Identificateur de Module:actions_module
Fichier Source:mod_actions.c
+

Sommaire

+ +

Ce module possède deux directives. La directive Action vous permet de lancer + l'exécution de scripts CGI chaque fois qu'un fichier possédant un + certain type de contenu MIME + fait l'objet d'une requête. La directive Script vous permet de lancer + l'exécution de scripts CGI chaque fois que la requête utilise une + méthode particulière. Ceci facilite grandement l'exécution de + scripts qui traitent des fichiers.

+ + +
top
+

Directive Action

+ + + + + + + + +
Description:Active un script CGI pour un gestionnaire ou un type de +contenu particulier
Syntaxe:Action type d'action script cgi +[virtual]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_actions
Compatibilité:Le modificateur virtual et le passage de +gestionnaire ont été introduits dans Apache 2.1
+

Cette directive ajoute une action qui va activer script + cgi lorsque type d'action est déclenché par la + requête. script cgi est un chemin URL vers une ressource + qui a été désignée comme script CGI à l'aide des directives + ScriptAlias ou AddHandler. type d'action + peut être soit un gestionnaire, soit + un type de contenu MIME. L'URL + et le chemin du document correspondant sont envoyés en utilisant + les variables d'environnement CGI standards PATH_INFO + et PATH_TRANSLATED. Le gestionnaire utilisé pour cette + requête particulière est transmis à l'aide de la variable + REDIRECT_HANDLER.

+ +

Exemple : type MIME

# Requests for files of a particular MIME content type:
+Action image/gif /cgi-bin/images.cgi
+
+ +

Dans cet exemple, les requêtes pour des fichiers possédant + le type de contenu MIME image/gif seront traitées par + le script CGI /cgi-bin/images.cgi.

+ +

Example: File extension

# Files of a particular file extension
+AddHandler my-file-type .xyz
+Action my-file-type "/cgi-bin/program.cgi"
+
+

Dans cet exemple, les requêtes pour des fichiers possédant + l'extension .xyz seront traitées par + le script CGI /cgi-bin/programme.cgi.

+ +

Le modificateur optionnel virtual permet de + désactiver la vérification de l'existence du fichier demandé. Ceci + peut s'avérer utile, par exemple, si vous voulez utiliser la + directive Action pour des localisations + virtuelles.

+ +
<Location "/news">
+    SetHandler news-handler
+    Action news-handler "/cgi-bin/news.cgi" virtual
+</Location>
+ + +

Voir aussi

+ +
+
top
+

Directive Script

+ + + + + + +
Description:Active un script CGI dans le cas d'une méthode de requête +particulière.
Syntaxe:Script méthode script cgi
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_actions
+

Cette directive ajoute une action qui va activer script + cgi lorsqu'un fichier est demandé en utilisant la méthode + méthode. script cgi est le chemin URL d'une + ressource qui a été désignée comme script CGI en utilisant les + directives ScriptAlias ou AddHandler. L'URL et le chemin du + document demandé sont envoyés en utilisant les variables + d'environnement CGI standards PATH_INFO et + PATH_TRANSLATED.

+ +
+ Tous les noms de méthode peuvent être utilisés. Les noms + de méthode sont sensibles à la casse, si bien que + Script PUT et Script put ont des effets + totalement différents. +
+ +

Notez que la commande Script ne définit + que des actions par défaut. Si un script CGI est appelé, ou toute + autre ressource capable de gérer la méthode de la requête en + interne, il agira en conséquence. Notez aussi que + Script avec une méthode GET ne + sera appelé que si la requête possède des arguments (par exemple + foo.html?hi). Dans le cas contraire, la requête sera traitée + normalement.

+ +
# All GET requests go here
+Script GET "/cgi-bin/search"
+
+# A CGI PUT handler
+Script PUT "/~bob/put.cgi"
+ + +
+
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.ja.utf8 b/docs/manual/mod/mod_actions.html.ja.utf8 new file mode 100644 index 0000000..a5d10e6 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.ja.utf8 @@ -0,0 +1,205 @@ + + + + + +mod_actions - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_actions

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:メディアタイプやリクエストメソッドã«å¿œã˜ã¦ +CGI スクリプトを実行ã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›
ステータス:Base
モジュール識別å­:actions_module
ソースファイル:mod_actions.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã¯äºŒã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒã‚ã‚Šã¾ã™ã€‚Action + ディレクティブã¯ç‰¹å®šã® MIME タイプã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’リクエストã•ã‚ŒãŸå ´åˆã« + CGI スクリプトãŒå®Ÿè¡Œã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚Script + ディレクティブã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ç‰¹å®šã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒä½¿ç”¨ã•ã‚ŒãŸã¨ãã« CGI + スクリプトãŒå®Ÿè¡Œã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚’処ç†ã™ã‚‹ã‚¹ã‚¯ãƒªãƒ—トã®å®Ÿè¡Œã‚’ãšã£ã¨ç°¡å˜ã«ã—ã¾ã™ã€‚

+
+ + +
top
+

Action ディレクティブ

+ + + + + + + + +
説明:特定ã®ãƒãƒ³ãƒ‰ãƒ©ã‚„コンテントタイプã«å¯¾ã—㦠CGI を実行ã™ã‚‹ã‚ˆã†ã« +設定
構文:Action action-type cgi-script [virtual]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_actions
互æ›æ€§:virtual 修飾å­ã¨ãƒãƒ³ãƒ‰ãƒ©æ¸¡ã—㯠+Apache 2.1 ã§å°Žå…¥ã•ã‚Œã¾ã—ãŸ
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠action-type + ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸã¨ãã« cgi-script + ãŒå®Ÿè¡Œã•ã‚Œã‚‹ã¨ã„ã†å‹•ä½œã‚’追加ã—ã¾ã™ã€‚cgi-script 㯠+ ScriptAlias ã‚„ + AddHandler ã«ã‚ˆã£ã¦ + CGI スクリプトã«è¨­å®šã•ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ã¸ã® URL-path ã§ã™ã€‚ + Action-type ã«ã¯ + handler ã‹ MIME + コンテントタイプを指定ã§ãã¾ã™ã€‚リクエストã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL + ã¨ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スã¯æ¨™æº– CGI 環境変数 PATH_INFO 㨠+ PATH_TRANSLATED を使ã£ã¦ä¼ãˆã‚‰ã‚Œã¾ã™ã€‚ + 特定ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ä½¿ç”¨ã•ã‚Œã‚‹ãƒãƒ³ãƒ‰ãƒ©ã¸ã¯ã€ + REDIRECT_HANDLER 変数を使ã£ã¦æ¸¡ã›ã¾ã™ã€‚

+ +

例

+ # Requests for files of a particular MIME content type:
+ Action image/gif /cgi-bin/images.cgi
+
+ # Files of a particular file extension
+ AddHandler my-file-type .xyz
+ Action my-file-type /cgi-bin/program.cgi
+

+ +

最åˆã®ä¾‹ã§ã¯ã€MIME コンテントタイプ㌠image/gif + ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€æŒ‡å®šã—ãŸã‚¹ã‚¯ãƒªãƒ—ト + /cgi-bin/images.cgi ã§å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

2 番目ã®ä¾‹ã§ã¯ã€æ‹¡å¼µå­ãŒ .xyz + ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€æŒ‡å®šã—ãŸã‚¹ã‚¯ãƒªãƒ—ト + /cgi-bin/program.cgi ã§å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

オプション㮠virtual 修飾å­ã‚’使用ã™ã‚‹ã¨ã€ + リクエストã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ãŒå®Ÿéš›ã«å­˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ã‚’検査ã—ãªã„よã†ã«ã§ãã¾ã™ã€‚ + ã“ã‚Œã¯ä¾‹ãˆã°ã€Action ディレクティブをãƒãƒ¼ãƒãƒ£ãƒ«ãª + Location ã«ä½¿ç”¨ã—ãŸã„ã€ã¨ã„ã£ãŸå ´åˆã«ä¾¿åˆ©ã§ã™ã€‚

+ +

例

+ <Location /news>
+ + SetHandler news-handler
+ Action news-handler /cgi-bin/news.cgi virtual
+
+ </Location> +

+ +

å‚ç…§

+ +
+
top
+

Script ディレクティブ

+ + + + + + +
説明:特定ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ¡ã‚½ãƒƒãƒ‰ã«å¯¾ã—㦠CGI スクリプトを +実行ã™ã‚‹ã‚ˆã†ã«è¨­å®š
構文:Script method cgi-script
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Base
モジュール:mod_actions
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠method + ã¨ã„ã†ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã£ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒè¡Œãªã‚ã‚ŒãŸã¨ãã« + cgi-script を実行ã™ã‚‹ã¨ã„ã†å‹•ä½œã‚’追加ã—ã¾ã™ã€‚ + cgi-script 㯠+ ScriptAlias ã‚„ + AddHandler ã«ã‚ˆã£ã¦ + CGI スクリプトã«è¨­å®šã•ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ã¸ã® URL-path ã§ã™ã€‚ + リクエストã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL ã¨ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スã¯æ¨™æº– CGI + 環境変数 PATH_INFO 㨠PATH_TRANSLATED + を使ã£ã¦ä¼ãˆã‚‰ã‚Œã¾ã™ã€‚

+ +
+ ä»»æ„ã®ãƒ¡ã‚½ãƒƒãƒ‰åを使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + メソッドåã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ + Script PUT 㨠Script put + ã¯ã¾ã£ãŸãé•ã£ãŸåŠ¹æžœã«ãªã‚Šã¾ã™ã€‚ +
+ +

Script コマンドã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å‹•ä½œã‚’ + 追加ã™ã‚‹ã ã‘ã§ã‚ã‚‹ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。も㗠CGI スクリプトãŒå‘¼ã°ã‚ŒãŸã‚Šã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸ + メソッドを内部ã§æ‰±ã†ã“ã¨ã®ã§ãã‚‹ä»–ã®ãƒªã‚½ãƒ¼ã‚¹ãŒã‚ã‚Œã°ã€ãã‚ŒãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚ + GET メソッド㮠Script ã¯å•åˆã› + 引数ãŒã‚ã‚‹å ´åˆã«ã®ã¿ + (ãŸã¨ãˆã°ã€foo.html?hi) 呼ã°ã‚Œã‚‹ã¨ã„ã†ã“ã¨ã«ã‚‚注æ„ã—ã¦ãã ã•ã„。 + ãã†ã§ãªã„å ´åˆã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯é€šå¸¸é€šã‚Šå‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

例

+ # For <ISINDEX>-style searching
+ Script GET /cgi-bin/search
+
+ # A CGI PUT handler
+ Script PUT /~bob/put.cgi
+

+ +
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.ko.euc-kr b/docs/manual/mod/mod_actions.html.ko.euc-kr new file mode 100644 index 0000000..408c652 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.ko.euc-kr @@ -0,0 +1,194 @@ + + + + + +mod_actions - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_actions

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:ÀÌ ¸ðµâÀº ¹Ìµð¾îÁ¾·ù³ª ¿äû¸Þ¼­µå¿¡ µû¶ó CGI +½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÑ´Ù.
»óÅÂ:Base
¸ðµâ¸í:actions_module
¼Ò½ºÆÄÀÏ:mod_actions.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâ¿¡´Â µÎ°¡Áö Áö½Ã¾î°¡ ÀÖ´Ù. Action Áö½Ã¾î´Â ¿äûÇÏ´Â + ÆÄÀÏÀÇ MIME content type¿¡ µû¶ó CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÑ´Ù. + Script Áö½Ã¾î´Â + ¿äûÀÌ Æ¯Á¤ ¸Þ¼­µå¸¦ »ç¿ëÇÒ °æ¿ì CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÑ´Ù. + ±×·¡¼­ ÆÄÀÏÀ» ó¸®ÇÏ´Â ½ºÅ©¸³Æ®¸¦ ¸Å¿ì ½±°Ô ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

+
+ + +
top
+

Action Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ƯÁ¤ Çڵ鷯³ª content-type¿¡ ´ëÇØ CGI ½ºÅ©¸³Æ®¸¦ +»ç¿ëÇÑ´Ù
¹®¹ý:Action action-type cgi-script [virtual]
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_actions
Áö¿ø:virtual ¼öÁ¤ÀÚ¿Í Çڵ鷯´Â ¾ÆÆÄÄ¡ +2.1¶§ Ãß°¡µÇ¾ú´Ù
+

ÀÌ Áö½Ã¾î´Â ¿äûÀÌ action-typeÀ̸é + cgi-script¸¦ ½ÇÇàÇÏ´Â ÇൿÀ» ¼­¹ö¿¡ Ãß°¡ÇÑ´Ù. + cgi-script´Â ScriptAlias³ª AddHandler¸¦ »ç¿ëÇÏ¿© CGI + ½ºÅ©¸³Æ®·Î ÁöÁ¤ÇÑ ¸®¼Ò½ºÀÇ URL°æ·ÎÀÌ´Ù. + action-type¿¡´Â Çڵ鷯³ª MIME content typeÀ» + »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ Áö½Ã¾î´Â PATH_INFO¿Í + PATH_TRANSLATED CGI Ç¥ÁØ È¯°æº¯¼ö·Î ¿äûÇÑ + ¹®¼­ÀÇ URL°ú ÆÄÀÏ°æ·Î¸¦ Àü´ÞÇÑ´Ù. REDIRECT_HANDLER + º¯¼ö·Î ƯÁ¤ ¿äû¿¡ »ç¿ëÇÒ Çڵ鷯¸¦ Àü´ÞÇÑ´Ù.

+ +

¿¹Á¦

+ # ƯÁ¤ MIME content typeÀÇ ÆÄÀÏ ¿äû:
+ Action image/gif /cgi-bin/images.cgi
+
+ # ƯÁ¤ÇÑ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏ
+ AddHandler my-file-type .xyz
+ Action my-file-type /cgi-bin/program.cgi
+

+ +

ù¹ø° ¿¹¿¡¼­ MIME content typeÀÌ image/gifÀÎ + ÆÄÀÏÀ» ¿äûÇϸé ÁöÁ¤ÇÑ cgi ½ºÅ©¸³Æ® /cgi-bin/images.cgi°¡ + ó¸®ÇÑ´Ù.

+ +

µÎ¹ø° ¿¹¿¡¼­ È®ÀåÀÚ°¡ .xyzÀÎ ÆÄÀÏÀ» ¿äûÇϸé + ÁöÁ¤ÇÑ cgi ½ºÅ©¸³Æ® /cgi-bin/program.cgi°¡ + ó¸®ÇÑ´Ù.

+

In the second example, requests for files with a file extension of + .xyz are handled instead by the specified cgi script + /cgi-bin/program.cgi.

+ +

¼±ÅÃÀûÀÎ virtual ¼öÁ¤ÀÚ´Â ¿äûÇÑ ÆÄÀÏÀÌ + ½ÇÁ¦·Î Á¸ÀçÇÏ´ÂÁö °Ë»çÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. ¿¹¸¦ µé¾î, °¡»óÀÇ + À§Ä¡¿¡ Action Áö½Ã¾î¸¦ »ç¿ëÇÏ·Á´Â + °æ¿ì À¯¿ëÇÏ´Ù.

+ +

¿¹Á¦

+ <Location /news>
+ + SetHandler news-handler
+ Action news-handler /cgi-bin/news.cgi virtual
+
+ </Location> +

+ +

Âü°í

+ +
+
top
+

Script Áö½Ã¾î

+ + + + + + +
¼³¸í:ƯÁ¤ ¿äû¸Þ¼­µå¿¡ ´ëÇØ CGI ½ºÅ©¸³Æ®¸¦ +»ç¿ëÇÑ´Ù.
¹®¹ý:Script method cgi-script
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory
»óÅÂ:Base
¸ðµâ:mod_actions
+

ÀÌ Áö½Ã¾î´Â ÆÄÀÏÀ» method ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© + ¿äûÇϸé cgi-script¸¦ ½ÇÇàÇÏ´Â ÇൿÀ» ¼­¹ö¿¡ + Ãß°¡ÇÑ´Ù. cgi-script´Â ScriptAlias³ª AddHandler¸¦ »ç¿ëÇÏ¿© CGI + ½ºÅ©¸³Æ®·Î ÁöÁ¤ÇÑ ¸®¼Ò½ºÀÇ URL°æ·ÎÀÌ´Ù. ÀÌ Áö½Ã¾î´Â + PATH_INFO¿Í PATH_TRANSLATED CGI + Ç¥ÁØ È¯°æº¯¼ö·Î ¿äûÇÑ ¹®¼­ÀÇ URL°ú ÆÄÀÏ°æ·Î¸¦ Àü´ÞÇÑ´Ù.

+ +
+ ¾î¶² ¸Þ¼­µå À̸§ÀÌ¶óµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸Þ¼­µå À̸§Àº + ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÑ´Ù. ±×·¡¼­ Script PUT°ú + Script putÀº ¿ÏÀüÈ÷ ´Ù¸£´Ù. +
+ +

Script ¸í·É¾î´Â ±âº»ÀûÀÎ Çൿ¸¸À» + ó¸®ÇÔÀ» ÁÖÀÇÇ϶ó. CGI ½ºÅ©¸³Æ®°¡ ºÒ¸®°Å³ª, ¿äûÇÑ ¸Þ¼­µå¸¦ + ¾Ë¾Æ¼­ ó¸®ÇÒ ¼ö ÀÖ´Â ¸®¼Ò½ºÀÇ °æ¿ì ±×´ë·Î ó¸®ÇÑ´Ù. + GET ¸Þ¼­µåÀÇ Script´Â + ÁúÀǾƱԸÕÆ®°¡ ÀÖÀ»¶§¸¸ (¿¹, foo.html?hi) »ç¿ëÇÔÀ» + ÁÖÀÇÇ϶ó. ÁúÀǾƱԸÕÆ®°¡ ¾ø´Ù¸é Á¤»óÀûÀ¸·Î ¿äûÀ» ó¸®ÇÑ´Ù.

+ +

¿¹Á¦

+ # <ISINDEX>½Ä °Ë»öÀ» À§ÇØ
+ Script GET /cgi-bin/search
+
+ # CGI PUT Çڵ鷯
+ Script PUT /~bob/put.cgi
+

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html b/docs/manual/mod/mod_alias.html new file mode 100644 index 0000000..5109c7c --- /dev/null +++ b/docs/manual/mod/mod_alias.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_alias.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_alias.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_alias.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_alias.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_alias.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_alias.html.en b/docs/manual/mod/mod_alias.html.en new file mode 100644 index 0000000..5468a29 --- /dev/null +++ b/docs/manual/mod/mod_alias.html.en @@ -0,0 +1,635 @@ + + + + + +mod_alias - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_alias

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection
Status:Base
Module Identifier:alias_module
Source File:mod_alias.c
+

Summary

+ +

The directives contained in this module allow for manipulation + and control of URLs as requests arrive at the server. The + Alias and ScriptAlias directives are used to + map between URLs and filesystem paths. This allows for content + which is not directly under the DocumentRoot served as part of the web + document tree. The ScriptAlias directive has the + additional effect of marking the target directory as containing + only CGI scripts.

+ +

The Redirect + directives are used to instruct clients to make a new request with + a different URL. They are often used when a resource has moved to + a new location.

+ +

When the Alias, + ScriptAlias and + Redirect directives are used + within a <Location> + or <LocationMatch> + section, expression syntax can be used + to manipulate the destination path or URL. +

+ +

mod_alias is designed to handle simple URL + manipulation tasks. For more complicated tasks such as + manipulating the query string, use the tools provided by + mod_rewrite.

+ +
+ +
top
+
+

Order of Processing

+ +

Aliases and Redirects occurring in different contexts are processed + like other directives according to standard merging rules. But when multiple + Aliases or Redirects occur in the same context (for example, in the + same <VirtualHost> + section) they are processed in a particular order.

+ +

First, all Redirects are processed before Aliases are processed, + and therefore a request that matches a Redirect or RedirectMatch will never have Aliases + applied. Second, the Aliases and Redirects are processed in the order + they appear in the configuration files, with the first match taking + precedence.

+ +

For this reason, when two or more of these directives apply to the + same sub-path, you must list the most specific path first in order for + all the directives to have an effect. For example, the following + configuration will work as expected:

+ +
Alias "/foo/bar" "/baz"
+Alias "/foo" "/gaq"
+ + +

But if the above two directives were reversed in order, the + /foo Alias + would always match before the /foo/bar Alias, so the latter directive would be + ignored.

+ +

When the Alias, + ScriptAlias and + Redirect directives are used + within a <Location> + or <LocationMatch> + section, these directives will take precedence over any globally + defined Alias, + ScriptAlias and + Redirect directives.

+ +
+
top
+

Alias Directive

+ + + + + + +
Description:Maps URLs to filesystem locations
Syntax:Alias [URL-path] +file-path|directory-path
Context:server config, virtual host, directory
Status:Base
Module:mod_alias
+ +

The Alias directive allows documents to + be stored in the local filesystem other than under the + DocumentRoot. URLs with a + (%-decoded) path beginning with URL-path will be mapped + to local files beginning with directory-path. The + URL-path is case-sensitive, even on case-insensitive + file systems.

+ +
Alias "/image" "/ftp/pub/image"
+ + +

A request for http://example.com/image/foo.gif would cause + the server to return the file /ftp/pub/image/foo.gif. Only + complete path segments are matched, so the above alias would not match a + request for http://example.com/imagefoo.gif. For more complex + matching using regular expressions, see the AliasMatch directive.

+ +

Note that if you include a trailing / on the + URL-path then the server will require a trailing / in + order to expand the alias. That is, if you use

+ +
Alias "/icons/" "/usr/local/apache/icons/"
+ + +

then the URL /icons will not be aliased, as it lacks + that trailing /. Likewise, if you omit the slash on the + URL-path then you must also omit it from the + file-path.

+ +

Note that you may need to specify additional <Directory> sections which + cover the destination of aliases. Aliasing occurs before + <Directory> sections + are checked, so only the destination of aliases are affected. + (Note however <Location> + sections are run through once before aliases are performed, so + they will apply.)

+ +

In particular, if you are creating an Alias to a + directory outside of your DocumentRoot, you may need to explicitly + permit access to the target directory.

+ +
Alias "/image" "/ftp/pub/image"
+<Directory "/ftp/pub/image">
+    Require all granted
+</Directory>
+ + +

Any number slashes in the URL-path parameter + matches any number of slashes in the requested URL-path.

+ +

If the Alias directive is used within a + <Location> + or <LocationMatch> + section the URL-path is omitted, and the file-path is interpreted + using expression syntax.
+ This syntax is available in Apache 2.4.19 and later.

+ +
<Location "/image">
+    Alias "/ftp/pub/image"
+</Location>
+<LocationMatch "/error/(?<NUMBER>[0-9]+)">
+    Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
+</LocationMatch>
+ + + +
+
top
+

AliasMatch Directive

+ + + + + + +
Description:Maps URLs to filesystem locations using regular +expressions
Syntax:AliasMatch regex +file-path|directory-path
Context:server config, virtual host
Status:Base
Module:mod_alias
+

This directive is equivalent to Alias, but makes use of + regular expressions, + instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, and + if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to activate the /icons directory, one might + use:

+ +
AliasMatch "^/icons(/|$)(.*)" "/usr/local/apache/icons$1$2"
+ + +

The full range of regular expression + power is available. For example, + it is possible to construct an alias with case-insensitive + matching of the URL-path:

+ +
AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"
+ + +

One subtle difference + between Alias + and AliasMatch is + that Alias will + automatically copy any additional part of the URI, past the part + that matched, onto the end of the file path on the right side, + while AliasMatch will + not. This means that in almost all cases, you will want the + regular expression to match the entire request URI from beginning + to end, and to use substitution on the right side.

+ +

In other words, just changing + Alias to + AliasMatch will not + have the same effect. At a minimum, you need to + add ^ to the beginning of the regular expression + and add (.*)$ to the end, and add $1 to + the end of the replacement.

+ +

For example, suppose you want to replace this with AliasMatch:

+ +
Alias "/image/" "/ftp/pub/image/"
+ + +

This is NOT equivalent - don't do this! This will send all + requests that have /image/ anywhere in them to /ftp/pub/image/:

+ +
AliasMatch "/image/" "/ftp/pub/image/"
+ + +

This is what you need to get the same effect:

+ +
AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"
+ + +

Of course, there's no point in + using AliasMatch + where Alias would + work. AliasMatch lets + you do more complicated things. For example, you could + serve different kinds of files from different directories:

+ +
AliasMatch "^/image/(.*)\.jpg$" "/files/jpg.images/$1.jpg"
+AliasMatch "^/image/(.*)\.gif$" "/files/gif.images/$1.gif"
+ + +

Multiple leading slashes in the requested URL are discarded + by the server before directives from this module compares + against the requested URL-path. +

+ + +
+
top
+

Redirect Directive

+ + + + + + + +
Description:Sends an external redirect asking the client to fetch +a different URL
Syntax:Redirect [status] [URL-path] +URL
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_alias
+

The Redirect directive maps an old URL into a new one by asking + the client to refetch the resource at the new location.

+ +

The old URL-path is a case-sensitive (%-decoded) path + beginning with a slash. A relative path is not allowed.

+ +

The new URL may be either an absolute URL beginning + with a scheme and hostname, or a URL-path beginning with a slash. + In this latter case the scheme and hostname of the current server will + be added.

+ +

Then any request beginning with URL-path will return a + redirect request to the client at the location of the target + URL. Additional path information beyond the matched + URL-path will be appended to the target URL.

+ +
# Redirect to a URL on a different host
+Redirect "/service" "http://foo2.example.com/service"
+
+# Redirect to a URL on the same host
+Redirect "/one" "/two"
+ + +

If the client requests http://example.com/service/foo.txt, + it will be told to access + http://foo2.example.com/service/foo.txt + instead. This includes requests with GET parameters, such as + http://example.com/service/foo.pl?q=23&a=42, + it will be redirected to + http://foo2.example.com/service/foo.pl?q=23&a=42. + Note that POSTs will be discarded.
+ Only complete path segments are matched, so the above + example would not match a request for + http://example.com/servicefoo.txt. For more complex matching + using the expression syntax, omit the URL-path + argument as described below. Alternatively, for matching using regular + expressions, see the RedirectMatch directive.

+ + +

Note

+

Redirect directives take precedence over Alias and ScriptAlias + directives, irrespective of their ordering in the configuration + file. Redirect directives inside a Location take + precedence over Redirect and Alias directives with an URL-path.

+
+ +

If no status argument is given, the redirect will + be "temporary" (HTTP status 302). This indicates to the client + that the resource has moved temporarily. The status + argument can be used to return other HTTP status codes:

+ +
+
permanent
+ +
Returns a permanent redirect status (301) indicating that + the resource has moved permanently.
+ +
temp
+ +
Returns a temporary redirect status (302). This is the + default.
+ +
seeother
+ +
Returns a "See Other" status (303) indicating that the + resource has been replaced.
+ +
gone
+ +
Returns a "Gone" status (410) indicating that the + resource has been permanently removed. When this status is + used the URL argument should be omitted.
+
+ +

Other status codes can be returned by giving the numeric + status code as the value of status. If the status is + between 300 and 399, the URL argument must be present. + If the status is not between 300 and 399, the + URL argument must be omitted. The status must be a valid + HTTP status code, known to the Apache HTTP Server (see the function + send_error_response in http_protocol.c).

+ +
Redirect permanent "/one" "http://example.com/two"
+Redirect 303 "/three" "http://example.com/other"
+ + +

If the Redirect directive is used within a + <Location> + or <LocationMatch> + section with the URL-path omitted, then the URL parameter + will be interpreted using expression syntax.
+ This syntax is available in Apache 2.4.19 and later.

+ +
<Location "/one">
+    Redirect permanent "http://example.com/two"
+</Location>
+<Location "/three">
+    Redirect 303 "http://example.com/other"
+</Location>
+<LocationMatch "/error/(?<NUMBER>[0-9]+)">
+    Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
+</LocationMatch>
+ + + +
+
top
+

RedirectMatch Directive

+ + + + + + + +
Description:Sends an external redirect based on a regular expression match +of the current URL
Syntax:RedirectMatch [status] regex +URL
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_alias
+

This directive is equivalent to Redirect, but makes use of + regular expressions, + instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, and + if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to redirect all GIF files to like-named JPEG files on + another server, one might use:

+ +
RedirectMatch "(.*)\.gif$" "http://other.example.com$1.jpg"
+ + +

The considerations related to the difference between + Alias and + AliasMatch + also apply to the difference between + Redirect and + RedirectMatch. + See AliasMatch for + details.

+ + +
+
top
+

RedirectPermanent Directive

+ + + + + + + +
Description:Sends an external permanent redirect asking the client to fetch +a different URL
Syntax:RedirectPermanent URL-path URL
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_alias
+

This directive makes the client know that the Redirect is + permanent (status 301). Exactly equivalent to Redirect + permanent.

+ +
+
top
+

RedirectTemp Directive

+ + + + + + + +
Description:Sends an external temporary redirect asking the client to fetch +a different URL
Syntax:RedirectTemp URL-path URL
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_alias
+

This directive makes the client know that the Redirect is + only temporary (status 302). Exactly equivalent to + Redirect temp.

+ +
+
top
+

ScriptAlias Directive

+ + + + + + +
Description:Maps a URL to a filesystem location and designates the +target as a CGI script
Syntax:ScriptAlias [URL-path] +file-path|directory-path
Context:server config, virtual host, directory
Status:Base
Module:mod_alias
+

The ScriptAlias directive has the same + behavior as the Alias + directive, except that in addition it marks the target directory + as containing CGI scripts that will be processed by mod_cgi's cgi-script handler. URLs with a case-sensitive + (%-decoded) path beginning with URL-path will be mapped + to scripts beginning with the second argument, which is a full + pathname in the local filesystem.

+ +
ScriptAlias "/cgi-bin/" "/web/cgi-bin/"
+ + +

A request for http://example.com/cgi-bin/foo would cause the + server to run the script /web/cgi-bin/foo. This configuration + is essentially equivalent to:

+
Alias "/cgi-bin/" "/web/cgi-bin/"
+<Location "/cgi-bin">
+    SetHandler cgi-script
+    Options +ExecCGI
+</Location>
+ + +

ScriptAlias can also be used in conjunction with + a script or handler you have. For example:

+ +
ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"
+ + +

In this scenario all files requested in /cgi-bin/ will be + handled by the file you have configured, this allows you to use your own custom + handler. You may want to use this as a wrapper for CGI so that you can add + content, or some other bespoke action.

+ +
It is safer to avoid placing CGI scripts under the + DocumentRoot in order to + avoid accidentally revealing their source code if the + configuration is ever changed. The + ScriptAlias makes this easy by mapping a + URL and designating CGI scripts at the same time. If you do + choose to place your CGI scripts in a directory already + accessible from the web, do not use + ScriptAlias. Instead, use <Directory>, SetHandler, and Options as in: +
<Directory "/usr/local/apache2/htdocs/cgi-bin">
+    SetHandler cgi-script
+    Options ExecCGI
+</Directory>
+ + This is necessary since multiple URL-paths can map + to the same filesystem location, potentially bypassing the + ScriptAlias and revealing the source code + of the CGI scripts if they are not restricted by a + Directory section.
+ +

If the ScriptAlias directive is used within + a <Location> + or <LocationMatch> + section with the URL-path omitted, then the URL parameter will be + interpreted using expression syntax.
+ This syntax is available in Apache 2.4.19 and later.

+ +
<Location "/cgi-bin">
+    ScriptAlias "/web/cgi-bin/"
+</Location>
+<LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)">
+    ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
+</LocationMatch>
+ + + +

See also

+ +
+
top
+

ScriptAliasMatch Directive

+ + + + + + +
Description:Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script
Syntax:ScriptAliasMatch regex +file-path|directory-path
Context:server config, virtual host
Status:Base
Module:mod_alias
+

This directive is equivalent to ScriptAlias, but makes use of + regular expressions, + instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, + and if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to activate the standard /cgi-bin, one + might use:

+ +
ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
+ + +

As for AliasMatch, the full range of regular + expression power is available. + For example, it is possible to construct an alias with case-insensitive + matching of the URL-path:

+ +
ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
+ + +

The considerations related to the difference between + Alias and + AliasMatch + also apply to the difference between + ScriptAlias and + ScriptAliasMatch. + See AliasMatch for + details.

+ + +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.fr.utf8 b/docs/manual/mod/mod_alias.html.fr.utf8 new file mode 100644 index 0000000..d360ab0 --- /dev/null +++ b/docs/manual/mod/mod_alias.html.fr.utf8 @@ -0,0 +1,646 @@ + + + + + +mod_alias - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_alias

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Permet d'atteindre différentes parties du système de +fichiers depuis l'arborescence des documents du site web, ainsi que la +redirection d'URL
Statut:Base
Identificateur de Module:alias_module
Fichier Source:mod_alias.c
+

Sommaire

+ +

Les directives fournies par ce module permettent de manipuler et + de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les + directives Alias et + ScriptAlias permettent de + faire correspondre des URLs avec des chemins du système de fichiers. + Ceci permet de servir des contenus qui ne sont pas situés dans + l'arborescence de DocumentRoot comme s'ils y étaient + réellement. La directive ScriptAlias a pour effet + supplémentaire de marquer le répertoire cible comme conteneur de + scripts CGI.

+ +

Les directives Redirect + indiquent aux clients qu'ils doivent effectuer une nouvelle requête + avec une URL différente. Elles sont souvent utilisées lorsqu'une + ressource a été déplacée.

+ +

Lorsque les directives Alias, ScriptAlias ou Redirect sont définies au sein d'une + section <Location> + ou <LocationMatch>, vous pouvez utiliser la syntaxe des expressions pour manipuler l'URL + ou le chemin de destination. +

+ +

mod_alias est conçu pour traiter des tâches + simples de manipulation d'URL. Pour des tâches plus complexes comme + la manipulation des chaînes d'arguments des requêtes, utilisez + plutôt les outils fournis par le module mod_rewrite

+ +
+ +
top
+
+

Chronologie du traitement

+ +

Les alias et redirections apparaissant dans différents contextes + sont traités comme les autres directives en respectant les règles de fusion standards. Par + contre, ils sont traités selon une chronologie particulière + lorsqu'ils apparaissent dans le même contexte (par exemple, dans la + même section <VirtualHost>).

+ +

Premièrement, toutes les redirections sont traitées avant les + alias, et ainsi, une requête qui correspond à une directive + Redirect ou RedirectMatch ne se verra jamais + appliquer d'alias. Deuxièmement, les alias et redirections sont + traités selon l'ordre dans lequel ils apparaissent dans le fichier + de configuration, seule la première correspondance étant prise en + compte.

+ +

Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au + même sous-répertoire, vous devez classer les chemins du plus précis + au moins précis afin que toutes les directives puissent + éventuellement s'appliquer, comme dans l'exemple suivant :

+ +
Alias "/foo/bar" "/baz"
+Alias "/foo" "/gaq"
+ + +

Si l'ordre des directives était inversé, la directive Alias ayant pour argument + /foo serait toujours appliquée avant la directive + Alias ayant pour argument + /foo/bar, et cette dernière serait toujours + ignorée.

+ +

La définition de directives Alias, ScriptAlias ou Redirect au sein de sections + <Location> ou + <LocationMatch> + l'emporte sur d'autres définitions éventuelles de ces mêmes + directives au niveau de la configuration générale du serveur.

+ +
+
top
+

Directive Alias

+ + + + + + +
Description:Met en correspondance des URLs avec des chemins du système +de fichiers
Syntaxe:Alias [chemin URL] +chemin fichier|chemin répertoire
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_alias
+ +

La directive Alias permet de stocker des + documents (destinés à être servis) dans des zones du système de + fichiers situées en dehors de l'arborescence du site web DocumentRoot. Les URLs dont le chemin + (décodé avec caractères %) commence par chemin URL seront + mises en correspondance avec des fichiers locaux dont le chemin + commence par chemin répertoire. Le chemin URL + est sensible à la casse, même sur les systèmes de fichiers + insensibles à la casse.

+ +
Alias "/image" "/ftp/pub/image"
+ + +

Une requête pour http://example.com/image/foo.gif fera + renvoyer par le serveur le fichier + /ftp/pub/image/foo.gif. Seuls les éléments de chemin + complets sont testés ; ainsi l'alias précédent ne conviendra pas + pour une requête du style http://example.com/imagefoo.gif. + Pour des mises en correspondance plus complexes faisant intervenir + les expressions rationnelles, veuillez vous reporter à la directive + AliasMatch.

+ +

Notez que si vous ajoutez un slash de fin au chemin + URL, vous devrez aussi ajouter un slash de fin au chemin de la + requête. Autrement dit, si vous définissez

+ +
Alias "/icons/" "/usr/local/apache/icons/"
+ + +

l'alias précédent ne s'appliquera pas à l'URL + /icons à cause de l'absence du slash final. Ainsi, si + le slash final est absent du chemin de l'URL, il doit + aussi l'être du chemin du fichier.

+ +

Notez qu'il pourra s'avérer nécessaire de définir des sections + <Directory> + supplémentaires qui couvriront la destination des alias. + Le traitement des alias intervenant avant le traitement des sections + <Directory>, + seules les cibles des alias sont affectées (Notez cependant + que les sections <Location> sont traitées avant les alias, et + s'appliqueront donc).

+ +

En particulier, si vous créez un alias ayant pour cible un + répertoire situé en dehors de l'arborescence de votre site web + DocumentRoot, vous devrez + probablement permettre explicitement l'accès à ce répertoire.

+ +
Alias "/image" "/ftp/pub/image"
+<Directory "/ftp/pub/image">
+    Require all granted
+</Directory>
+ + +

Le nombre de slashes dans le paramètre chemin URL doit + correspondre au nombre de slashes dans le chemin URL de la requête.

+ +

Si la directive Alias est définie au sein + d'une section <Location> ou <LocationMatch>, chemin URL est + omis et chemin fichier est interprété en utilisant la syntaxe des expressions.
+ Cette syntaxe est disponible à partir de la version 2.4.19 du + serveur HTTP Apache.

+ +
<Location "/image">
+    Alias "/ftp/pub/image"
+</Location>
+<LocationMatch "/error/(?<NUMBER>[0-9]+)">
+    Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
+</LocationMatch>
+ + + +
+
top
+

Directive AliasMatch

+ + + + + + +
Description:Met en correspondance des URLs avec le système de fichiers +en faisant intervenir les expressions rationnelles
Syntaxe:AliasMatch regex +chemin fichier|chemin répertoire
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_alias
+

Cette directive est identique à la directive Alias, mais fait appel aux expressions rationnelles, à la place d'une + simple mise en correspondance de préfixe. L'expression rationnelle + fournie est mise en correspondance avec le chemin URL, et si elle + correspond, le serveur va substituer toute partie de chemin + correspondant à l'expression entre parenthèses dans la chaîne + fournie et l'utiliser comme nom de fichier. + Par exemple, pour activer le répertoire /icons, on peut + utiliser :

+ +
AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"
+ + +

Toute la puissance des expressions + rationnelles peut être mise à contribution. Par exemple, + il est possible de construire un alias avec un modèle de chemin URL + insensible à la casse :

+ +
AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"
+ + +

Il existe une différence subtile entre Alias et AliasMatch : Alias copie automatiquement toute + portion supplémentaire de l'URI située après la partie du modèle qui + correspond, à la fin du chemin du fichier de la partie droite, alors + que AliasMatch ne le fait + pas. Cela signifie qu'il sera préférable dans la plupart des cas de + comparer l'expression rationnelle du modèle à la totalité de l'URI + de la requête, et d'utiliser les substitutions dans la partie + droite.

+ +

En d'autres termes, le remplacement d'Alias par AliasMatch ne produira pas le même + résultat. Au minimum, vous devez ajouter ^ au début de + l'expression rationnelle, (.*)$ à sa fin et + $1 à la fin de la chaîne de remplacement.

+ +

Par exemple, supposons que nous voulions reformuler cet alias + avec AliasMatch :

+ +
Alias "/image/" "/ftp/pub/image/"
+ + +

Le simple remplacement d'Alias par AliasMatch ne produira pas le + même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes + qui contiennent /image/ vers /ftp/pub/image/ :

+ +
AliasMatch "/image/" "/ftp/pub/image/"
+ + +

Voici la directive AliasMatch qui produira le même résultat que + la directive Alias ci-dessus :

+ +
AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"
+ + +

Bien entendu, il n'y a aucune raison d'utiliser AliasMatch dans le cas où Alias suffit. AliasMatch vous permet d'effectuer + des choses beaucoup plus sophistiquées. Par exemple, vous pouvez + servir différentes sortes de fichiers à partir de répertoires + différents :

+ +
      AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg"
+      AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"
+ + +

Les éventuels slashes de tête multiples seront supprimés par le + serveur avant que les directives de ce module n'effectuent des + comparaisons avec le chemin URL de la requête. +

+ + +
+
top
+

Directive Redirect

+ + + + + + + +
Description:Envoie une redirection externe demandant au client +d'effectuer une autre requête avec une URL différente
Syntaxe:Redirect [état] [URL-path] +URL
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_alias
+

La directive Redirect permet de faire correspondre + une ancienne URL à une nouvelle en demandant au client d'aller chercher la + ressource à une autre localisation.

+ +

L'ancien URL-path est un chemin sensible à la casse + (décodé à l'aide de caractères %) commençant par un slash. Les + chemins relatifs ne sont pas autorisés.

+ +

La nouvelle URL + peut être une URL absolue commençant par un protocole et un nom + d'hôte, mais on peut aussi utiliser un chemin URL commençant par un + slash, auquel cas le protocole et le nom d'hôte du serveur local + seront ajoutés.

+ +

Ensuite, toute requête commençant par URL-path va + renvoyer une redirection au client vers l'URL cible. Tout + élément de chemin supplémentaire situé en aval du URL-path sera + ajouté à l'URL cible.

+ +
# Redirige vers une URL sur un serveur différent
+Redirect "/service" "http://foo2.example.com/service"
+
+# Redirige vers une URL sur le même serveur
+Redirect "/one" "/two"
+ + +

Si le client effectue une requête pour l'URL + http://example.com/service/foo.txt, il lui sera demandé + d'en effectuer une autre pour l'URL + http://foo2.example.com/service/foo.txt. Ceci concerne + les requêtes avec paramètres GET, comme + http://example.com/service/foo.pl?q=23&a=42, qui + seront redirigées vers + http://foo2.example.com/service/foo.pl?q=23&a=42. + Notez que les POSTs seront ignorés.
+ Seuls les + éléments de chemin complets sont testés, si bien que l'exemple + précédent ne s'appliquera pas à l'URL + http://example.com/servicefoo.txt. Pour des mises en + correspondance plus complexes utilisant la syntaxe des expressions, ne spécifiez pas + d'argument URL-path comme décrit ci-dessous. En outre, + pour une mise en correspondance en utilisant les expressions + rationnelles, veuillez vous reporter à la directive RedirectMatch.

+ + +

Note

+

Les directives Redirect ont priorité sur les + directives Alias et ScriptAlias, quel que soit leur ordre + d'apparition dans le fichier de configuration. Les directives + Redirect définies au sein d'une section Location + l'emportent sur les directives Redirect et Alias comportant un argument + URL-path.

+ +

Si aucun argument état n'est spécifié, la + redirection sera temporaire (code HTTP 302). Le client est alors + informé que la ressource a été temporairement déplacée. On peut + utiliser l'argument état pour renvoyer d'autres codes HTTP :

+ +
+
permanent
+ +
Renvoie un code de redirection permanente (301), indiquant + que la ressource a été définitivement déplacée.
+ +
temp
+ +
Renvoie un code de redirection temporaire (302). C'est le + comportement par défaut.
+ +
seeother
+ +
Renvoie un code "See Other" (303) indiquant que la ressource + a été remplacée par une autre.
+ +
gone
+ +
Renvoie un code "Gone" (410) indiquant que la ressource a + été définitivement supprimée. Lorsque + ce code est utilisé, on ne + doit pas utiliser l'argument URL.
+
+ +

On peut renvoyer d'autres codes en spécifiant le code + numérique comme valeur de l'argument of état. + Si le code est compris entre 300 et 399, l'argument + URL doit être présent. Si le code + n'est pas compris entre 300 et 399, l'argument + URL ne doit pas apparaître. Le code doit être un code + HTTP valide, connu du serveur HTTP Apache (voir la + fonction send_error_response dans + http_protocol.c).

+ +
Redirect permanent "/one" "http://example.com/two"
+Redirect 303 "/three" "http://example.com/other"
+ + +

Si une directive Redirect est définie au + sein d'une section <Location> ou <LocationMatch> et si l'argument URL-path est omis, l'argument URL sera interprété en + utilisant la syntaxe des expressions.
+ Cette syntaxe est disponible à partir de la version 2.4.19 du + serveur HTTP Apache.

+ +
<Location "/one">
+    Redirect permanent "http://example.com/two"
+</Location>
+<Location "/three">
+    Redirect 303 "http://example.com/other"
+</Location>
+<LocationMatch "/error/(?<NUMBER>[0-9]+)">
+    Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
+</LocationMatch>
+ + + +
+
top
+

Directive RedirectMatch

+ + + + + + + +
Description:Envoie une redirection externe faisant appel aux +expressions rationnelles pour la mise en correspondance de l'URL +courante
Syntaxe:RedirectMatch [état] regex +URL
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_alias
+

Cette directive est identique à la directive Redirect, mais fait appel aux + expressions rationnelles, à la + place d'une simple mise en correspondance de préfixe. L'expression + rationnelle fournie est mise en correspondance avec le chemin URL, + et si elle correspond, le serveur va substituer toute partie de + chemin correspondante entre parenthèses dans la chaîne spécifiée et + l'utiliser comme nom de fichier. Par exemple, pour rediriger tous + les fichiers GIF vers les fichiers JPEG de même nom sur un autre + serveur, on peut utiliser :

+ +
RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"
+ + +

Les remarques à propos de la différence entre Alias et AliasMatch s'appliquent aussi à la + différence entre les directives Redirect et RedirectMatch. Voir la directive + AliasMatch pour plus de + détails.

+ + +
+
top
+

Directive RedirectPermanent

+ + + + + + + +
Description:Envoie une redirection externe permanente demandant au +client d'effectuer une nouvelle requête avec une URL +différente
Syntaxe:RedirectPermanent chemin URL URL
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_alias
+

Cette directive informe le client que la redirection est + permanente (code 301). Son comportement est exactement le même + que celui de Redirect permanent.

+ +
+
top
+

Directive RedirectTemp

+ + + + + + + +
Description:Envoie une redirection externe temporaire demandant au +client d'effectuer une nouvelle requête avec une URL +différente
Syntaxe:RedirectTemp chemin URL URL
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_alias
+

Cette directive informe le client que la redirection n'est + que temporaire (code 302). Son comportement est exactement le même + que celui de Redirect temp.

+ +
+
top
+

Directive ScriptAlias

+ + + + + + +
Description:Fait correspondre une URL à une zone du système de fichiers +et désigne la cible comme script CGI
Syntaxe:ScriptAlias [chemin URL] +chemin fichier|chemin répertoire
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_alias
+

La directive ScriptAlias présente le même + comportement que la directive Alias, mais désigne en plus le + répertoire cible comme conteneur de scripts CGI qui seront traitées + par le gestionnaire cgi-script du module mod_cgi. + Les URLs dont le chemin URL sensible à la casse (décodé avec + caractères %) commence par chemin URL seront mises en + correspondance avec les scripts dont le chemin commence par le + second argument, qui est un chemin complet dans le système de + fichiers local.

+ +
ScriptAlias "/cgi-bin/" "/web/cgi-bin/"
+ + +

Une requête pour http://example.com/cgi-bin/foo + ferait exécuter par le serveur le script + /web/cgi-bin/foo. Cette configuration est sensiblement + équivalente à :

+
Alias "/cgi-bin/" "/web/cgi-bin/"
+<Location "/cgi-bin">
+    SetHandler cgi-script
+    Options +ExecCGI
+</Location>
+ + +

Vous pouvez aussi utiliser ScriptAlias + avec un script ou gestionnaire de votre cru. Par exemple :

+ +
ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"
+ + +

Dans ce scénario, tous les fichiers faisant l'objet d'une requête + dans /cgi-bin/ seront traités par le fichier que vous + avez spécifié, ce qui vous permet d'utiliser votre propre + gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour + les scripts CGI afin d'ajouter du contenu, ou autre action "maison".

+ +
Il est préférable d'éviter de placer les + scripts CGI dans l'arborescence de DocumentRoot afin d'éviter de révéler + accidentellement leur code source lors d'une modification de + configuration. On y parvient aisément avec + ScriptAlias en mettant en correspondance une + URL et en désignant la cible comme scripts CGI par la même occasion. + Si vous choisissez de placer vos scripts CGI dans un répertoire + accessible depuis le web, n'utilisez pas + ScriptAlias. Utilisez plutôt <Directory>, SetHandler, et Options comme dans l'exemple suivant : +
<Directory "/usr/local/apache2/htdocs/cgi-bin">
+    SetHandler cgi-script
+    Options ExecCGI
+</Directory>
+ + Ceci est nécessaire car plusieurs chemins URL peuvent + correspondre à la même zone du système de fichiers, court-circuitant + ainsi la directive ScriptAlias et révélant le + code source des scripts CGI s'ils ne sont pas protégés par une + section Directory.
+ +

Si la directive ScriptAlias est définie au + sein d'une section <Location> ou <LocationMatch> et si l'argument chemin + URL est omis, l'argument URL sera interprété en + utilisant la syntaxe des expressions.
+ Cette syntaxe est disponible à partir de la version 2.4.19 du + serveur HTTP Apache.

+ +
<Location "/cgi-bin">
+    ScriptAlias "/web/cgi-bin/"
+</Location>
+<LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)">
+    ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
+</LocationMatch>
+ + + +

Voir aussi

+ +
+
top
+

Directive ScriptAliasMatch

+ + + + + + +
Description:Fait correspondre une URL à une zone du système de fichiers +en faisant appel aux expressions rationnelles et en désignant la cible +comme un script CGI
Syntaxe:ScriptAliasMatch regex +chemin fichier|chemin répertoire
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_alias
+

Cette directive est équivalente à la directive ScriptAlias, mais fait appel aux + expressions rationnelles, à la + place d'une simple mise en correspondance de préfixe. L'expression + rationnelle fournie est mise en correspondance avec le chemin URL, + et si elle correspond, le serveur va substituer toute partie de + chemin entre parenthèses dans la chaîne spécifiée et l'utiliser + comme nom de fichier. Par exemple, pour activer le répertoire + standard /cgi-bin, on peut utiliser :

+ +
ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
+ + +

Comme dans le cas d'AliasMatch, toute la puissance des expressions rationnelles peut être mise à + contribution. Par exemple, il est possible de construire un alias + avec une comparaison du modèle du chemin URL insensible à la casse :

+ +
ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
+ + +

Les remarques à propos de la différence entre Alias et AliasMatch s'appliquent aussi à la + différence entre les directives ScriptAlias et ScriptAliasMatch. Voir la directive + AliasMatch pour plus de + détails.

+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.ja.utf8 b/docs/manual/mod/mod_alias.html.ja.utf8 new file mode 100644 index 0000000..13870ec --- /dev/null +++ b/docs/manual/mod/mod_alias.html.ja.utf8 @@ -0,0 +1,419 @@ + + + + + +mod_alias - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_alias

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:ホストファイルシステム上ã®ã„ã‚ã„ã‚ãªé•ã†å ´æ‰€ã‚’ + ドキュメントツリーã«ãƒžãƒƒãƒ—ã™ã‚‹æ©Ÿèƒ½ã¨ã€ + URL ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’è¡Œãªã†æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹
ステータス:Base
モジュール識別å­:alias_module
ソースファイル:mod_alias.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚µãƒ¼ãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒåˆ°ç€ã—ãŸã¨ãã« + URL ã®æ“作や制御をã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚Alias + ディレクティブ㨠ScriptAlias + ディレクティブ㯠+ URL ã¨ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‘スをマップã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã“れ㯠+ DocumentRoot + ã®ä¸‹ã«ãªã„ドキュメントをウェブã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リーã®ä¸€éƒ¨ã¨ã—㦠+ é€ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚ScriptAlias + ディレクティブã«ã¯ãƒžãƒƒãƒ—å…ˆã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒ CGI + スクリプトã®ã¿ã§ã‚ã‚‹ã“ã¨ã‚’示ã™ã¨ã„ã†è¿½åŠ ã®åŠ¹æžœãŒã‚ã‚Šã¾ã™ã€‚ +

+ +

Redirect ディレクティブ㯠+ クライアントã«é•ã£ãŸ + URL ã«æ–°ã—ã„リクエストをé€ã‚‹ã‚ˆã†ã«æŒ‡ç¤ºã—ã¾ã™ã€‚ã“ã‚Œã¯ã€ + リソースãŒæ–°ã—ã„場所ã«ç§»å‹•ã—ãŸã¨ãã«ã‚ˆã使用ã•ã‚Œã¾ã™ã€‚

+ +

mod_alias ã¯ç°¡å˜ãª URL æ“作å‘ã‘ã«è¨­è¨ˆã•ã‚Œã¦ã„ã¾ã™ã€‚ + より複雑ãªæ“作ã€ã‚¯ã‚¨ãƒªãƒ¼ã‚¹ãƒˆãƒªãƒ³ã‚°ã®æ“作ã«ã¯ã€mod_rewrite + ã§æä¾›ã•ã‚Œã‚‹ãƒ„ールを使用ã—ã¦ãã ã•ã„。

+ +
+ +
top
+
+

処ç†ã®é †ç•ª

+ +

様々ãªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆä¸­ã§ã® Alias ã‚„ Redirect ã¯ä»–ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㨠+åŒã˜ã‚ˆã†ã«æ¨™æº–㮠マージè¦å‰‡ ã« +従ã£ã¦å‡¦ç†ã•ã‚Œã¾ã™ã€‚ãŸã ã—ã€(例ãˆã° <VirtualHost> セクションã®ä¸­ã®ã‚ˆã†ã«) 複数㮠Alias ã‚„ Redirect ㌠+åŒã˜ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆä¸­ã«ç¾ã‚ŒãŸå ´åˆã¯æ±ºã¾ã£ãŸé †ç•ªã§å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

ã¾ãšã€Alias ã®å‰ã«ã™ã¹ã¦ã® Redirect ãŒå‡¦ç†ã•ã‚Œã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€Redirect ã‹ RedirectMatch ã«ãƒžãƒƒãƒã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯ +Alias ã¯æ±ºã—ã¦é©ç”¨ã•ã‚Œã¾ã›ã‚“。次ã«ã€Alias 㨠Redirect ãŒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® +順番ã«é©ç”¨ã•ã‚Œã€æœ€åˆã«ãƒžãƒƒãƒã—ãŸã‚‚ã®ãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚

+ +

ã§ã™ã‹ã‚‰ã€äºŒã¤ä»¥ä¸Šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒåŒã˜ãƒ‘スã«é©ç”¨ã•ã‚Œã‚‹ã¨ãã¯ã€ +ã™ã¹ã¦ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®åŠ¹æžœã‚’å¾—ã‚‹ãŸã‚ã«ã¯ã‚ˆã‚Šè©³ã—ã„パスを先ã«æ›¸ã +å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚例ãˆã°ã€æ¬¡ã®è¨­å®šã¯æœŸå¾…通りã®å‹•ä½œã‚’ã—ã¾ã™:

+ +

+Alias /foo/bar /baz
+Alias /foo /gaq +

+ +

ã—ã‹ã—ã€ä¸Šè¨˜ã®äºŒã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®é †ç•ªãŒé€†ã«ãªã‚‹ã¨ã€ +/foo Alias ㌠+常㫠/foo/bar Alias より先ã«ãƒžãƒƒãƒã—ã¾ã™ã®ã§ã€å¾Œè€…㯠+決ã—ã¦é©ç”¨ã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +
+
top
+

Alias ディレクティブ

+ + + + + + +
説明:URL をファイルシステムã®ä½ç½®ã«ãƒžãƒƒãƒ—ã™ã‚‹
構文:Alias URL-path +file-path|directory-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_alias
+

Alias ディレクティブã¯ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ + ローカルファイルシステム㮠+ DocumentRoot + 以外ã®å ´æ‰€ã«ä¿ç®¡ã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚ + URL ã® (% ãŒå¾©å·ã•ã‚ŒãŸ) パス㌠url-path ã§å§‹ã¾ã‚‹ã‚‚ã®ã¯ + directory-filename + ã§å§‹ã¾ã‚‹ãƒ­ãƒ¼ã‚«ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒžãƒƒãƒ—ã•ã‚Œã¾ã™ã€‚

+ +

例

+ Alias /image /ftp/pub/image +

+ +

http://myserver/image/foo.gif ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ã€ã‚µãƒ¼ãƒã¯ + ファイル /ftp/pub/image/foo.gif ã‚’è¿”ã—ã¾ã™ã€‚

+ +

ã‚‚ã— url-path ã®æœ€å¾Œã« / + を書ã„ãŸãªã‚‰ã€ã‚µãƒ¼ãƒãŒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’展開ã™ã‚‹ãŸã‚ã«ã¯ã€æœ€å¾Œã® / + ãŒå¿…è¦ã«ãªã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã™ãªã‚ã¡ã€Alias /icons/ + /usr/local/apache/icons/ ã¨ã„ã†ã‚‚ã®ã‚’使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€ + /icons ã¨ã„ㆠurl ã¯ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã•ã‚Œã¾ã›ã‚“。

+ +

エイリアスã®è¡Œã先をå«ã‚“ã§ã„ã‚‹ <Directory> + セクションを追加ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + エイリアスã®å±•é–‹ã¯ <Directory> + セクションを調ã¹ã‚‹å‰ã«è¡Œãªã‚ã‚Œã¾ã™ã®ã§ã€ + エイリアスã®è¡Œã先㮠<Directory> セクションã®ã¿ + 効果ãŒã‚ã‚Šã¾ã™ã€‚ + (ã—ã‹ã—ã€<Location> + セクションã¯ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãŒå‡¦ç†ã•ã‚Œã‚‹å‰ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã®ã§ã€ + ã“ã¡ã‚‰ã¯é©ç”¨ã•ã‚Œã¾ã™ã€‚)

+ +

特ã«ã€Alias ã‚’ + DocumentRoot + ディレクトリã®å¤–å´ã«é…ç½®ã—ãŸå ´åˆã¯ã€è¡Œãå…ˆã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã™ã‚‹ + アクセス権é™ã‚’明示的ã«åˆ¶é™ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ã§ã—ょã†ã€‚

+ +

例

+ Alias /image /ftp/pub/image
+ <Directory /ftp/pub/image>
+ + Order allow,deny
+ Allow from all
+
+ </Directory> +

+ + +
+
top
+

AliasMatch ディレクティブ

+ + + + + + +
説明:æ­£è¦è¡¨ç¾ã‚’使ã£ã¦ URL をファイルシステムã®ä½ç½®ã«ãƒžãƒƒãƒ—ã™ã‚‹
構文:AliasMatch regex +file-path|directory-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_alias
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Alias + ã¨ã»ã¨ã‚“ã©åŒã˜ã§ã™ãŒã€ç°¡å˜ãªå…ˆé ­ã‹ã‚‰ã®ãƒžãƒƒãƒã‚’è¡Œãªã†ã®ã§ã¯ãªã〠+ 標準正è¦è¡¨ç¾ã‚’利用ã—ã¾ã™ã€‚ã“ã“ã§æŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã¨ URL ã®ãƒ‘ス + ãŒåˆã†ã‹ã©ã†ã‹ã‚’調ã¹ã€åˆã†å ´åˆã¯æ‹¬å¼§ã§æ‹¬ã‚‰ã‚ŒãŸãƒžãƒƒãƒã‚’ + 与ãˆã‚‰ã‚ŒãŸæ–‡å­—列ã§ç½®ãæ›ãˆã€ãれをファイルåã¨ã—ã¦ä½¿ç”¨ã—ã¾ã™ã€‚ãŸã¨ãˆã°ã€ + /icons ディレクトリを使ㆠ+ ãŸã‚ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªã‚‚ã®ãŒä½¿ç”¨ã§ãã¾ã™:

+ +

+ AliasMatch ^/icons(.*) /usr/local/apache/icons$1 +

+ +
+
top
+

Redirect ディレクティブ

+ + + + + + + +
説明:クライアントãŒé•ã† URL ã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«å¤–部ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’ +é€ã‚‹
構文:Redirect [status] URL-path +URL
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_alias
+

Redirect ディレクティブã¯å¤ã„ URL ã‚’æ–°ã—ã„ã‚‚ã®ã¸ãƒžãƒƒãƒ—ã—ã¾ã™ã€‚ + æ–°ã—ã„ URL ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã•ã‚Œã¾ã™ã€‚ãã—ã¦ã€ + クライアントã¯æ–°ã—ã„アドレスをもã†ä¸€å›žå–å¾—ã—よã†ã¨ã—ã¾ã™ã€‚ + URL-path (% ãŒå¾©å·ã•ã‚ŒãŸ) パスã§å§‹ã¾ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¸ã® + ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ URL ã§å§‹ã¾ã‚‹æ–°ã—ã„ + (% ãŒç¬¦å·åŒ–ã•ã‚ŒãŸ) URL ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚¨ãƒ©ãƒ¼ãŒè¿”ã•ã‚Œã¾ã™ã€‚

+ +

例

+ Redirect /service http://foo2.bar.com/service +

+ +

クライアント㯠http://myserver/service/foo.txt + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’è¡Œãªã†ã¨ã€ä»£ã‚ã‚Šã« http://foo2.bar.com/service/foo.txt + をアクセスã™ã‚‹ã‚ˆã†ã«å‘Šã’られã¾ã™ã€‚

+ +

注æ„

設定ファイル中ã®é †ç•ªã«é–¢ã‚らãšã€ +Redirect ç³»ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Alias +ディレクティブ㨠ScriptAlias ディレクティブよりも優先ã•ã‚Œã¾ã™ã€‚ +ã¾ãŸã€.htaccess ファイルや <Directory> +セクションã®ä¸­ã§ä½¿ã‚ã‚Œã¦ã„ãŸã¨ã—ã¦ã‚‚ã€URL-path +ã¯ç›¸å¯¾ãƒ‘スã§ã¯ãªãã€å®Œå…¨ãª URL ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

ã‚‚ã— status 引数ãŒä¸Žãˆã‚‰ã‚Œã¦ã„ãªã‘ã‚Œã°ã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¯ + "temporary" (HTTP ステータス 302) ã«ãªã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« + リソースãŒä¸€æ™‚çš„ã«ç§»å‹•ã—ãŸã¨ã„ã†ã“ã¨ã‚’示ã—ã¾ã™ã€‚Status + 引数㯠他㮠HTTP ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã™ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +
+
permanent
+ +
永久ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’ã™ã‚‹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ (301) ã‚’è¿”ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ãƒªã‚½ãƒ¼ã‚¹ãŒæ°¸ä¹…ã«ç§»å‹•ã—ãŸã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
+ +
temp
+ +
一時的ãªãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ (302) + ã‚’è¿”ã—ã¾ã™ã€‚ã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã™ã€‚
+ +
seeother
+ +
"See Other" ステータス (303) ã‚’è¿”ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ãƒªã‚½ãƒ¼ã‚¹ãŒä»–ã®ã‚‚ã®ã§ç½®ãæ›ãˆã‚‰ã‚ŒãŸã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
+ +
gone
+ +
"Gone" ステータス (410) ã‚’è¿”ã—ã¾ã™ã€‚ã“ã‚Œã¯ãƒªã‚½ãƒ¼ã‚¹ãŒæ°¸ä¹…ã« + 削除ã•ã‚ŒãŸã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ã“ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã€ + url 引数ã¯çœç•¥ã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+
+ +

Status ã®å€¤ã«ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’数値ã§ä¸Žãˆã‚‹ã“ã¨ã§ + ä»–ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã‚‚è¿”ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ステータス㌠300 㨠399 + ã®é–“ã«ã‚ã‚‹å ´åˆã€url 引数ã¯å­˜åœ¨ã—ã¦ã„ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。 + ãã®ä»–ã®å ´åˆã¯çœç•¥ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ãŸã ã—〠+ ステータス㯠Apache ã®ã‚³ãƒ¼ãƒ‰ãŒçŸ¥ã£ã¦ã„ã‚‹ã‚‚ã®ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ + (http_protocol.c ã®é–¢æ•° send_error_response + を見ã¦ãã ã•ã„)。

+

例:

+ +

例

+ Redirect permanent /one http://example.com/two
+ Redirect 303 /three http://example.com/other +

+ + +
+
top
+

RedirectMatch ディレクティブ

+ + + + + + + +
説明:ç¾åœ¨ã® URL ã¸ã®æ­£è¦è¡¨ç¾ã®ãƒžãƒƒãƒã«ã‚ˆã‚Š +外部ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’é€ã‚‹
構文:RedirectMatch [status] regex +URL
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_alias
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Redirect + ã¨ã»ã¨ã‚“ã©åŒã˜ã§ã™ãŒã€ç°¡å˜ãªå…ˆé ­ã‹ã‚‰ã®ãƒžãƒƒãƒã‚’è¡Œãªã†ã®ã§ã¯ãªã〠+ 標準正è¦è¡¨ç¾ã‚’利用ã—ã¾ã™ã€‚ã“ã“ã§æŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã¨ URL-path + ãŒåˆã†ã‹ã©ã†ã‹ã‚’調ã¹ã€åˆã†å ´åˆã¯æ‹¬å¼§ã§æ‹¬ã‚‰ã‚ŒãŸãƒžãƒƒãƒã‚’ + 与ãˆã‚‰ã‚ŒãŸæ–‡å­—列ã§ç½®ãæ›ãˆã€ãれをファイルåã¨ã—ã¦ä½¿ç”¨ã—ã¾ã™ã€‚ + ãŸã¨ãˆã°ã€ã™ã¹ã¦ã® GIF ファイルを別サーãƒã®åŒæ§˜ãªåå‰ã® JPEG + ファイルã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ãªã‚‚ã®ã‚’使ã„ã¾ã™: +

+ +

+ RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg +

+ +
+
top
+

RedirectPermanent ディレクティブ

+ + + + + + + +
説明:クライアントãŒé•ã† URL ã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«å¤–部ã¸ã®æ°¸ä¹…的㪠+リダイレクトをé€ã‚‹
構文:RedirectPermanent URL-path URL
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_alias
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« Redirect ãŒæ°¸ä¹…çš„ãªã‚‚ã® + (ステータス 301) ã§ã‚ã‚‹ã“ã¨ã‚’知らã›ã¾ã™ã€‚ + Redirect permanent ã¨ã¾ã£ãŸãåŒã˜ã§ã™ã€‚

+ +
+
top
+

RedirectTemp ディレクティブ

+ + + + + + + +
説明:クライアントãŒé•ã† URL ã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«å¤–部ã¸ã®ä¸€æ™‚的㪠+リダイレクトをé€ã‚‹
構文:RedirectTemp URL-path URL
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_alias
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« Redirect + ãŒä¸€æ™‚çš„ãªã‚‚ã®ã§ã‚ã‚‹ (ステータス 302) ã“ã¨ã‚’知らã›ã¾ã™ã€‚ + Redirect temp ã¨ã¾ã£ãŸãåŒã˜ã§ã™ã€‚

+ +
+
top
+

ScriptAlias ディレクティブ

+ + + + + + +
説明:URL をファイルシステムã®ä½ç½®ã¸ãƒžãƒƒãƒ—ã—ã€ãƒžãƒƒãƒ—先を +CGI スクリプトã«æŒ‡å®š
構文:ScriptAlias URL-path +file-path|directory-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_alias
+

ScriptAlias ディレクティブã¯ã€å¯¾è±¡ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + mod_cgi ã® cgi-script + ãƒãƒ³ãƒ‰ãƒ©ã§å‡¦ç†ã•ã‚Œã‚‹ CGI + スクリプトãŒã‚ã‚‹ã“ã¨ã‚’示ã™ä»¥å¤–㯠+ Alias + ディレクティブã¨åŒã˜æŒ¯ã‚‹èˆžã„ã‚’ã—ã¾ã™ã€‚ + URL ã® (% ãŒå¾©å·ã•ã‚ŒãŸ) パス㌠URL-path ã§å§‹ã¾ã‚‹ã‚‚ã®ã¯ + ローカルã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã® + フルパスã§ã‚る二番目ã®å¼•æ•°ã«ãƒžãƒƒãƒ—ã•ã‚Œã¾ã™ã€‚

+ +

例

+ ScriptAlias /cgi-bin/ /web/cgi-bin/ +

+ +

http://myserver/cgi-bin/foo + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ã‚µãƒ¼ãƒã¯ã‚¹ã‚¯ãƒªãƒ—ト + /web/cgi-bin/foo を実行ã—ã¾ã™ã€‚

+ +
+
top
+

ScriptAliasMatch ディレクティブ

+ + + + + + +
説明:URL ã‚’æ­£è¦è¡¨ç¾ã‚’使ã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ä½ç½®ã¸ãƒžãƒƒãƒ—ã—ã€ãƒžãƒƒãƒ—先を +CGI スクリプトã«æŒ‡å®š
構文:ScriptAliasMatch regex +file-path|directory-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_alias
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠ScriptAlias + ã¨ã»ã¨ã‚“ã©åŒã˜ã§ã™ãŒã€ç°¡å˜ãªå…ˆé ­ã‹ã‚‰ã®ãƒžãƒƒãƒã‚’è¡Œãªã†ã®ã§ã¯ãªã〠+ 標準正è¦è¡¨ç¾ã‚’利用ã—ã¾ã™ã€‚ã“ã“ã§æŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã¨ URL-path + ãŒåˆã†ã‹ã©ã†ã‹ã‚’調ã¹ã€åˆã†å ´åˆã¯æ‹¬å¼§ã§æ‹¬ã‚‰ã‚ŒãŸãƒžãƒƒãƒã‚’ + 与ãˆã‚‰ã‚ŒãŸæ–‡å­—列ã§ç½®ãæ›ãˆã€ãれをファイルåã¨ã—ã¦ä½¿ç”¨ã—ã¾ã™ã€‚ + ãŸã¨ãˆã°ã€æ¨™æº–ã® /cgi-bin + を使用ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ãªã‚‚ã®ã‚’使ã„ã¾ã™: +

+ +

+ ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 +

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.ko.euc-kr b/docs/manual/mod/mod_alias.html.ko.euc-kr new file mode 100644 index 0000000..8911005 --- /dev/null +++ b/docs/manual/mod/mod_alias.html.ko.euc-kr @@ -0,0 +1,386 @@ + + + + + +mod_alias - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_alias

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:ÆÄÀϽýºÅÛÀÇ ´Ù¸¥ ºÎºÐµéÀ» ¹®¼­ °èÃþ±¸Á¶¿¡ Æ÷ÇÔÇÏ°í, + URL ¸®´ÙÀÌ·º¼ÇÀ» Á¦°øÇÑ´Ù
»óÅÂ:Base
¸ðµâ¸í:alias_module
¼Ò½ºÆÄÀÏ:mod_alias.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀÌ Á¦°øÇÏ´Â Áö½Ã¾îµéÀ» »ç¿ëÇÏ¿© ¼­¹ö°¡ ¿äûÀ» + ¹ÞÀ»¶§ URLÀ» ¼öÁ¤Çϰųª Á¶ÀÛÇÒ ¼ö ÀÖ´Ù. Alias¿Í ScriptAlias Áö½Ã¾î´Â URLÀ» + ÆÄÀϽýºÅÛ °æ·Î·Î ´ëÀÀÇÑ´Ù. ±×·¡¼­ DocumentRoot ¾Æ·¡¿¡ ¾ø´Â ³»¿ëÀ» + À¥À¸·Î ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù. ¶Ç, ScriptAlias Áö½Ã¾î´Â ÁöÁ¤ÇÑ + µð·ºÅ丮¿¡ CGI ½ºÅ©¸³Æ®¹Û¿¡ ¾ø´Ù°í ¾Ë¸°´Ù.

+ +

Redirect Áö½Ã¾î´Â + Ŭ¶óÀ̾ðÆ®¿¡°Ô ´Ù¸¥ URL·Î »õ·Î¿î ¿äûÀ» Çϵµ·Ï Áö½ÃÇÑ´Ù. + ÀÚ¿øÀ» »õ·Î¿î Àå¼Ò·Î ¿Å±ä °æ¿ì ÀÚÁÖ »ç¿ëÇÑ´Ù.

+ +

mod_alias´Â °£´ÜÇÑ URL Á¶ÀÛÀ» À§ÇØ + ¼³°èµÇ¾ú´Ù. ÁúÀǹ®ÀÚ¿­ Á¶ÀÛ°ú °°Àº º¹ÀâÇÑ ÀÛ¾÷Àº + mod_rewrite°¡ Á¦°øÇÏ´Â ±â´ÉÀ» ÀÌ¿ëÇ϶ó.

+ +
+ +
top
+
+

ó¸® ¼ø¼­

+ +

¼­·Î ´Ù¸¥ »ç¿ëÀå¼Ò¿¡¼­ Alias¿Í Redirect¸¦ »ç¿ëÇÏ¸é ´Ù¸¥ Áö½Ã¾î¿Í +°°ÀÌ Ç¥ÁØ °áÇÕ ¹æ¹ý¿¡ +µû¶ó ó¸®ÇÑ´Ù. ±×·¯³ª °°Àº »ç¿ëÀå¼Ò¿¡ (¿¹¸¦ µé¾î, °°Àº <VirtualHost> ¼½¼Ç¿¡) +Alias¿Í Redirect¸¦ »ç¿ëÇÏ¸é ¾Æ·¡ ¼ø¼­´ë·Î ó¸®ÇÑ´Ù.

+ +

¸ÕÀú ¸ðµç Redirect¸¦ ó¸®ÇÑ ÈÄ Alias¸¦ ó¸®ÇÑ´Ù. ±×·¡¼­ +Redirect³ª RedirectMatch¿¡ ÇØ´çÇÏ´Â ¿äûÀº +Àý´ë·Î AliasÇÏÁö ¾Ê´Â´Ù. ±×¸®°í Alias¿Í Redirect´Â ¼³Á¤ÆÄÀÏ¿¡¼­ +ù¹ø°·Î ³ª¿À´Â °ÍÀ» »ç¿ëÇÑ´Ù.

+ +

±×·¡¼­ ¿©·¯ Áö½Ã¾î°¡ µ¿ÀÏÇÑ ÇÏÀ§°æ·Î¿¡ ÇØ´çÇÏ´Â °æ¿ì ¸ðµç +Áö½Ã¾î¸¦ Àû¿ëÇϱâÀ§Çؼ­´Â °¡Àå »ó¼¼ÇÑ °æ·Î¸¦ ¸ÕÀú »ç¿ëÇØ¾ß ÇÑ´Ù. +¿¹¸¦ µé¾î, ´ÙÀ½ ¼³Á¤Àº ÀǵµÇÑ´ë·Î µ¿ÀÛÇÑ´Ù:

+ +

+Alias /foo/bar /baz
+Alias /foo /gaq +

+ +

±×·¯³ª À§ÀÇ µÎ Áö½Ã¾î ¼ø¼­¸¦ ¹Ù²Ù¸é /foo/bar +Alias ÀÌÀü¿¡ +/foo Alias¸¦ +Àû¿ëÇϹǷΠÇ×»ó µÎ¹ø° Áö½Ã¾î¸¦ ¹«½ÃÇÑ´Ù.

+ +
+
top
+

Alias Áö½Ã¾î

+ + + + + + +
¼³¸í:URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÑ´Ù
¹®¹ý:Alias URL-path +file-path|directory-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_alias
+ +

Alias Áö½Ã¾î¸¦ »ç¿ëÇϸé ÆÄÀϽýºÅÛ¿¡¼­ + DocumentRoot ¹Û¿¡ ÀÖ´Â + ¹®¼­µµ ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù. url-path·Î ½ÃÀÛÇÏ´Â + (%·Î ÀÎÄÚµùµÈ) URLÀ» directory-path·Î ½ÃÀÛÇÏ´Â + ÆÄÀÏ¿¡ ´ëÀÀÇÑ´Ù.

+ +

¿¹Á¦:

+ Alias /image /ftp/pub/image +

+ +

http://myserver/image/foo.gif¸¦ ¿äûÇÏ¸é ¼­¹ö´Â + /ftp/pub/image/foo.gif ÆÄÀÏÀ» ³Ñ°ÜÁØ´Ù.

+ +

url-path ³¡¿¡ /¸¦ Æ÷ÇÔÇϸé, URL ³¡¿¡ /¸¦ + »ç¿ëÇؾ߸¸ ¿µÇâÀÌ ÀÖÀ½À» ÁÖÀÇÇ϶ó. Áï, Alias /icons/ + /usr/local/apache/icons/ ¼³Á¤Àº url /icons¿Í + °ü°è°¡ ¾ø´Ù.

+ +

´ëÀÀÀÇ ´ë»óÀ» Æ÷ÇÔÇÏ´Â ¿©·¯ <Directory> ¼½¼ÇÀÌ + ÇÊ¿äÇÒÁöµµ ¸ð¸¥´Ù. ÀÌ Áö½Ã¾î´Â <Directory> ¼½¼ÇÀ» °Ë»çÇϱâ Àü¿¡ + ó¸®ÇϹǷÎ, ´ëÀÀÀÇ ´ë»ó¸¸ ¼½¼ÇÀÇ ¿µÇâÀ» ¹Þ´Â´Ù. (±×·¯³ª + <Location> + ¼½¼ÇÀº ÀÌ Áö½Ã¾î¸¦ ó¸®Çϱâ Àü¿¡ Çѹø¸¸ °Ë»çÇϹǷΠÁöÁ¤ÇÑ + URL ÀÌÇÏ Àüü¿¡ ¿µÇâÀ» ÁØ´Ù.)

+ +

ƯÈ÷ DocumentRoot + ¹Û¿¡ ÀÖ´Â µð·ºÅ丮·Î Alias¸¦ ¸¸µé¾ú´Ù¸é, Á÷Á¢ + ´ë»ó µð·ºÅ丮ÀÇ Á¢±ÙÀ» Çã¿ëÇØÁà¾ß ÇÑ´Ù.

+ +

¿¹Á¦:

+ Alias /image /ftp/pub/image
+ <Directory /ftp/pub/image>
+ + Order allow,deny
+ Allow from all
+
+ </Directory> +

+ + +
+
top
+

AliasMatch Áö½Ã¾î

+ + + + + + +
¼³¸í:Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© URLÀ» ÆÄÀϽýºÅÛ Àå¼Ò·Î +´ëÀÀÇÑ´Ù
¹®¹ý:AliasMatch regex +file-path|directory-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_alias
+

ÀÌ Áö½Ã¾î´Â Alias¿Í + °°Áö¸¸, °£´ÜÈ÷ URLÀÇ ¾ÕºÎºÐ¸¸ ºñ±³ÇÏ´Â ´ë½Å Ç¥ÁØ Á¤±ÔÇ¥Çö½ÄÀ» + »ç¿ëÇÑ´Ù. ÁöÁ¤ÇÑ Á¤±ÔÇ¥Çö½ÄÀ» URL °æ·Î¿Í ºñ±³ÇÏ¿© ¸Â´Ù¸é, + ¼­¹ö´Â °ýÈ£·Î ¹­Àº ºÎºÐÀ» ´ëüÇÏ¿© ÆÄÀϸíÀ¸·Î »ç¿ëÇÑ´Ù. + ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°ÀÌ /icons µð·ºÅ丮¸¦ »ç¿ëÇÒ + ¼ö ÀÖ´Ù:

+ +

+ AliasMatch ^/icons(.*) /usr/local/apache/icons$1 +

+ +
+
top
+

Redirect Áö½Ã¾î

+ + + + + + + +
¼³¸í:Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ +¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù
¹®¹ý:Redirect [status] URL-path +URL
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_alias
+

Redirect Áö½Ã¾î´Â ÀÌÀü URLÀ» »õ·Î¿î URL·Î ´ëÀÀÇÑ´Ù. + Ŭ¶óÀ̾ðÆ®¿¡°Ô »õ·Î¿î URLÀ» º¸³»°í, Ŭ¶óÀ̾ðÆ®´Â »õ·Î¿î + ÁÖ¼Ò·Î ´Ù½Ã Çѹø Á¢¼ÓÇÑ´Ù. (%·Î ÀÎÄÚµùµÈ) URL-path·Î + ½ÃÀÛÇÏ´Â ¿äûÀ» ¹ÞÀ¸¸é (%·Î ÀÎÄÚµùµÈ) URL·Î ½ÃÀÛÇÏ´Â + »õ·Î¿î URL·Î ¸®´ÙÀÌ·º¼Ç ¿À·ù¸¦ º¸³½´Ù.

+ +

¿¹Á¦:

+ Redirect /service http://foo2.bar.com/service +

+ +

Ŭ¶óÀ̾ðÆ®°¡ http://myserver/service/foo.txt¸¦ ¿äûÇϸé + ´ë½Å http://foo2.bar.com/service/foo.txt¿¡ Á¢±ÙÇ϶ó´Â ÀÀ´äÀ» + ¹Þ´Â´Ù.

+ +

ÁÖÀÇ

Redirect Áö½Ã¾î´Â ¼³Á¤ÆÄÀÏ¿¡¼­ +³ª¿À´Â ¼ø¼­¿Í °ü°è¾øÀÌ Alias¿Í ScriptAlias Áö½Ã¾îº¸´Ù ¿ì¼±¼øÀ§°¡ +³ô´Ù. ¶Ç, .htaccess ÆÄÀÏÀ̳ª <Directory> ¼½¼Ç¿¡¼­ »ç¿ëÇÏ´õ¶óµµ +URL-path¿¡´Â »ó´ë°æ·Î°¡ ¾Æ´Ï¶ó ¹Ýµå½Ã ¿ÏÀüÇÑ URLÀ» +»ç¿ëÇØ¾ß ÇÑ´Ù.

+ +

status ¾Æ±Ô¸ÕÆ®¸¦ ÁöÁ¤ÇÏÁö¾ÊÀ¸¸é, "Àӽà + (temporary)" (HTTP »óÅ 302) ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù. Áï, + Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÚ¿øÀ» Àӽ÷Π¿Å°å´Ù°í ¾Ë¸°´Ù. status + ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÏ¿© ´Ù¸¥ HTTP »óÅÂÄڵ带 ¹ÝȯÇÒ ¼ö ÀÖ´Ù:

+ +
+
permanent
+ +
ÀÚ¿øÀ» ¿ÏÀüÈ÷ ¿Å°åÀ½À» ¶æÇÏ´Â ¿µ±¸ ¸®´ÙÀÌ·º¼Ç »óŸ¦ + (301) ¹ÝȯÇÑ´Ù.
+ +
temp
+ +
Àӽà ¸®´ÙÀÌ·º¼Ç »óŸ¦ (302) ¹ÝȯÇÑ´Ù. ±âº»°ªÀÌ´Ù.
+ +
seeother
+ +
ÀÚ¿øÀÌ ±³Ã¼µÇ¾úÀ½À» ¶æÇÏ´Â "ÂüÁ¶ (See Other)" »óŸ¦ + (303) ¹ÝȯÇÑ´Ù.
+ +
gone
+ +
ÀÚ¿øÀÌ ¿µ±¸È÷ »èÁ¦µÇ¾úÀ½À» ¶æÇÏ´Â "¼Ò¸ê (Gone)" »óŸ¦ + (410) ¹ÝȯÇÑ´Ù. ÀÌ »óŸ¦ »ç¿ëÇϸé URL ¾Æ±Ô¸ÕÆ®¸¦ + »ç¿ëÇÒ ¼ö ¾ø´Ù.
+
+ +

status¿¡ ¼ýÀÚ »óÅÂÄڵ带 »ç¿ëÇÏ¿© ´Ù¸¥ »óÅÂÄڵ嵵 + ¹ÝȯÇÒ ¼ö ÀÖ´Ù. »óÅ°¡ 300°ú 399 »çÀ̶ó¸é URL + ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇØ¾ß ÇÏ°í, ¾Æ´Ï¶ó¸é »ý·«ÇØ¾ß ÇÑ´Ù. ´Ü, ¾ÆÆÄÄ¡ + Äڵ忡 »óÅ°¡ Á¤ÀǵÇÀÖ¾î¾ß ÇÑ´Ù (http_protocol.cÀÇ + send_error_response ÇÔ¼ö Âü°í).

+ +

¿¹Á¦:

+ Redirect permanent /one http://example.com/two
+ Redirect 303 /three http://example.com/other +

+ + +
+
top
+

RedirectMatch Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÇöÀç URLÀÌ Á¤±ÔÇ¥Çö½Ä¿¡ ÇØ´çÇÏ¸é ¿ÜºÎ ¸®´ÙÀÌ·º¼ÇÀ» +º¸³½´Ù
¹®¹ý:RedirectMatch [status] regex +URL
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_alias
+

ÀÌ Áö½Ã¾î´Â Redirect¿Í °°Áö¸¸, °£´ÜÈ÷ + URLÀÇ ¾ÕºÎºÐ¸¸ ºñ±³ÇÏ´Â ´ë½Å Ç¥ÁØ Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÑ´Ù. + ÁöÁ¤ÇÑ Á¤±ÔÇ¥Çö½ÄÀ» URL °æ·Î¿Í ºñ±³ÇÏ¿© ¸Â´Ù¸é, ¼­¹ö´Â °ýÈ£·Î + ¹­Àº ºÎºÐÀ» ´ëüÇÏ¿© ÆÄÀϸíÀ¸·Î »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½Àº + ¸ðµç GIF ÆÄÀÏ ¿äû¿¡ ´ëÇØ ´Ù¸¥ ¼­¹öÀÇ ºñ½ÁÇÑ À̸§À» °¡Áø + JPEG ÆÄÀÏ·Î ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù:

+ +

+ RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg +

+ +
+
top
+

RedirectPermanent Áö½Ã¾î

+ + + + + + + +
¼³¸í:Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ +¿µ±¸ ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù
¹®¹ý:RedirectPermanent URL-path URL
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_alias
+

ÀÌ Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀÌ ¿µ±¸ÀûÀÓÀ» (»óÅ + 301) ¾Ë¸°´Ù. Redirect permanent¿Í Á¤È®È÷ °°´Ù.

+ +
+
top
+

RedirectTemp Áö½Ã¾î

+ + + + + + + +
¼³¸í:Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ +Àӽà ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù
¹®¹ý:RedirectTemp URL-path URL
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_alias
+

ÀÌ Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀÌ ÀÓ½ÃÀûÀÓÀ» (»óÅ + 302) ¾Ë¸°´Ù. Redirect temp¿Í Á¤È®È÷ °°´Ù.

+ +
+
top
+

ScriptAlias Áö½Ã¾î

+ + + + + + +
¼³¸í:URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÏ°í ´ë»óÀÌ CGI +½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù
¹®¹ý:ScriptAlias URL-path +file-path|directory-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_alias
+

ScriptAlias Áö½Ã¾î´Â Alias Áö½Ã¾î¿Í ºñ½ÁÇÏÁö¸¸, + Ãß°¡·Î ´ë»ó µð·ºÅ丮¿¡ mod_cgiÀÇ cgi-script + Çڵ鷯°¡ ó¸®ÇÒ CGI ½ºÅ©¸³Æ®°¡ ÀÖ´Ù°í ¾Ë¸°´Ù. + URL-path·Î ½ÃÀÛÇÏ´Â (%·Î ÀÎÄÚµùµÈ) URLÀ» ÆÄÀϽýºÅÛÀÇ + Àý´ë°æ·ÎÀÎ µÎ¹ø° ¾Æ±Ô¸ÕÆ®·Î ½ÃÀÛÇÏ´Â ½ºÅ©¸³Æ®¿¡ ´ëÀÀÇÑ´Ù.

+ +

¿¹Á¦:

+ ScriptAlias /cgi-bin/ /web/cgi-bin/ +

+ +

http://myserver/cgi-bin/foo¸¦ ¿äûÇÏ¸é ¼­¹ö´Â + /web/cgi-bin/foo ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÑ´Ù.

+ +
+
top
+

ScriptAliasMatch Áö½Ã¾î

+ + + + + + +
¼³¸í:Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î +´ëÀÀÇÏ°í ´ë»óÀÌ CGI ½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù
¹®¹ý:ScriptAliasMatch regex +file-path|directory-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_alias
+

ÀÌ Áö½Ã¾î´Â ScriptAlias¿Í °°Áö¸¸, °£´ÜÈ÷ + URLÀÇ ¾ÕºÎºÐ¸¸ ºñ±³ÇÏ´Â ´ë½Å Ç¥ÁØ Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÑ´Ù. + ÁöÁ¤ÇÑ Á¤±ÔÇ¥Çö½ÄÀ» URL °æ·Î¿Í ºñ±³ÇÏ¿© ¸Â´Ù¸é, ¼­¹ö´Â °ýÈ£·Î + ¹­Àº ºÎºÐÀ» ´ëüÇÏ¿© ÆÄÀϸíÀ¸·Î »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú + °°ÀÌ Ç¥ÁØÀûÀÎ /cgi-binÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù:

+ +

+ ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.tr.utf8 b/docs/manual/mod/mod_alias.html.tr.utf8 new file mode 100644 index 0000000..a4bf6aa --- /dev/null +++ b/docs/manual/mod/mod_alias.html.tr.utf8 @@ -0,0 +1,622 @@ + + + + + +mod_alias - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_alias

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Belge ağacının parçalarının dosya sisteminin parçalarıyla +eşlenmesini sağlar ve URL yönlendirmesi yapar.
Durum:Temel
Modül Betimleyici:alias_module
Kaynak Dosyası:mod_alias.c
+

Özet

+ +

Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin + denetlenmesini ve değiştirilmesini mümkün kılar. Alias ve ScriptAlias yönergeleri URL’lerin dosya sisteminin + dizinlerine eşlenmesini sağlar. Böylece, kök dizini DocumentRoot ile belirtilen site belge ağacı + altında bulunmayan içeriğe erişmek mümkün olur. ScriptAlias yönergesi buna ek olarak + hedef dizini sadece CGI betiklerini içeren dizin olarak imler.

+ +

Redirect yönergesi, + farklı bir URL ile yeni bir istek yapmaları için istemcileri + yönlendirmekte kullanılır. Çoğunlukla özkaynak başka bir yere + taşındığında kullanılır.

+ +

Alias, + ScriptAlias ve + Redirect yönergeleri + <Location> + veya <LocationMatch> + bölümleri içinde kullanıldığında hedef yolu veya URL'yi betimlemek için + ifade sözdizimi kullanılabilir. +

+ +

mod_alias modülü basit URL değiştirme görevlerini + yerine getirmek için tasarlanmıştır. Sorgu dizgelerini işleme sokmak + gibi daha karmaşık görevler için mod_rewrite modülü ile + sağlanan araçlar kullanılır.

+ +
+ +
top
+
+

İşlem Sırası

+ +

Farklı bağlamlarda bulunan Alias ve Redirect + yönergeleri standart katıştırma + kuralları ile ilgili diğer yönergeler gibi işleme sokulur. Fakat + aynı bağlam dahilinde (örneğin, aynı <VirtualHost> bölümünde) çok fazla Alias ve Redirect varsa bunlar belli bir + sıraya göre işleme sokulurlar.

+ +

İlk adımda, Alias’lardan önce + bütün Redirect yönergeleri + işleme sokulur. Bu bakımdan bir Redirect veya RedirectMatch ile eşleşen bir istek için + hiçbir Alias + uygulanmayacaktır. İkinci adımda yapılandırma dosyasında yer aldıkları + sıraya göre Redirect ve + Alias yönergeleri işleme + sokulurlar, dolayısıyla ilk eşleşme öncelikli olmuş olur.

+ +

İlk eşleşmenin öncelikli olması sebebiyle, bu yönergelerin birden + fazlası aynı alt yola uygulandığı takdirde, tüm yönergelerin etkili + olabilmesi için en uzun yolu sıralamada en öne almalısınız. Örneğin + aşağıdaki yapılandırma beklendiği gibi çalışacaktır:

+ +
Alias "/foo/bar" "/baz"
+Alias "/foo" "/gaq"
+ + +

Ama yukarıdaki iki satır ters sırada yerleştirilmiş olsaydı, + /foo rumuzu daima /foo/bar rumuzundan önce + eşleşecek, dolayısıyla ikinci yönerge yok sayılacaktı.

+ +

Alias, + ScriptAlias ve + Redirect yönergeleri + <Location> + veya <LocationMatch> + bölümleri içinde kullanıldığında bu yönergeler küresel olarak tanımlı + Alias, + ScriptAlias ve + Redirect yönergelerinden öncelikli olur. +

+
+
top
+

Alias Yönergesi

+ + + + + + +
Açıklama:URL’leri dosya sistemi konumlarıyla eşler.
Sözdizimi:Alias [URL-yolu] dosya-yolu | +dizin-yolu
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Temel
Modül:mod_alias
+ +

Alias yönergesi, belgelerin DocumentRoot dizininden farklı bir yerde + saklanmasını mümkün kılar. URL-yolu ile başlayan + URL’ler (% imlemesi çözüldükten sonra) dizin-yolu + ile başlayan yerel dosyalarla eşlenir. URL-yolu, + harf büyüklüğüne duyarsız sistemlerde bile harf büyüklüğüne + duyarlıdır.

+ +
Alias "/image" "/ftp/pub/image"
+ + +

http://example.com/image/foo.gif şeklinde bir istek, + sunucunun /ftp/pub/image/foo.gif dosyasıyla yanıt vermesine + sebep olurdu. Sadece tam yol parçaları eşleştirilir; bu bakımdan + yukarıdaki Alias yapılandırması + http://example.com/imagefoo.gif ile eşleşmez. Düzenli + ifadelerin kullanıldığı daha karmaşık eşleşmeler için AliasMatch yönergesine bakınız.

+ +

URL-yolu’nu bir / ile + sonlandırırsanız Alias yönergesini yorumlarken + sunucunun da sona bir / ekleyeceğine dikkat ediniz. Yani, + eğer

+ +
Alias "/icons/" "/usr/local/apache/icons/"
+ + +

diye bir tanım yaparsanız sona bir / ekleme ihtiyacından dolayı + /icons URL’si için bir Alias + kullanılmayacaktır.

+ +

Alias hedefleri için ek <Directory> bölümleri + belirtmeniz gerekebileceğine dikkat ediniz. <Directory> bölümlerinden önce yer alan + Alias yönergelerine özellikle bakılır, + dolayısıyla sadece Alias hedefleri etkilenir. + (Bununla birlikte, Alias yönergelerinden önce + işleme sokulan <Location> bölümlerinin uygulanacağına dikkat + ediniz.)

+ +

Özellikle, DocumentRoot dışında + bir dizine bir Alias oluşturuyorsanız hedef + dizine doğrudan erişim izni vermeniz gerekebilir.

+ +
Alias "/image" "/ftp/pub/image"
+<Directory "/ftp/pub/image">
+    Require all granted
+</Directory>
+ + +

URL-yolu değiştirgesindeki bölü çizgilerinin sayısı istek + URL-yolundakiler kadardır.

+ +

Eğer Alias yönergesi + <Location> + veya <LocationMatch> + bölümleri içinde kullanılırsa URL-yolu yoksayılır ve dosya-yolu + ifade sözdizimi kullanılarak yorumlanır.
+ Bu sözdizimi Apache 2.4.19 ve sonrasında kulanılabilir.

+ +
<Location "/image">
+    Alias "/ftp/pub/image"
+</Location>
+<LocationMatch "/error/(?<NUMBER>[0-9]+)">
+    Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
+</LocationMatch>
+ + + +
+
top
+

AliasMatch Yönergesi

+ + + + + + +
Açıklama:URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak +eşler.
Sözdizimi:AliasMatch "düzenli-ifade" +"dosya-yolu|dizin-yolu"
BaÄŸlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_alias
+

Bu yönerge URL-yolu ile eşleşmek üzere bir + düzenli ifade kabul etmesi dışında + Alias yönergesine eşdeğerdir. + Belirtilen düzenli ifade URL-yolu ile eşleşiyorsa + sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak dosya yolunu + elde eder. Örneğin, /icons dizinini etkinleştirmek için şu + yazılabilir:

+ +
AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1"
+ + +

Düzenli ifadelerin tamamı + kullanılabilmektedir. Örneğin, URL-yolu ile harf + büyüklüğüne duyarsız eşleşmeler sağlayacak takma adlar + kullanılabilir:

+ +
AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"
+ + +

Alias + ve AliasMatch yönergeleri + arasındaki başlıca fark Alias + yönergesinin, URI'nin ek parçasını, eşleşen parçayı geçip sağ tarafta + dosya yolunun ucuna kendiliğinden kopyalamasıdır. AliasMatch bunu böyle yapmaz. Yani hemen + her durumda, düzenli ifadenin istenen URI'nin tamamıyla baştan sona + eşleşmesi ve yer değiştirmeyi sağ tarafta yapması istenir.

+ +

Başka bir deyişle, basitçe + Alias yerine + AliasMatch yazmakla aynı etkiyi + alamazsınız. En azından düzenli ifadenin başına bir ^ ve + sonuna bir (.*)$, ikinci değiştirgenin sonuna da bir + $1 eklemeniz gerekir.

+ +

Örneğin aşağıdakini AliasMatch ile değiştirmek isteyelim:

+ +
Alias "/image/" "/ftp/pub/image/"
+ + +

Bu eşdeğer DEĞİLdir - bunu yapmayın! Bu herhangi bir yerinde /image/ + dizgesi bulunan tüm istekleri /ftp/pub/image/ altına gönderecektir:

+ +
AliasMatch "/image/" "/ftp/pub/image/"
+ + +

Aynı etkiyi elde etmek için bu gerekiyor:

+ +
AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"
+ + +

Şüphesiz, Alias yönergesini + çalıştığı yerde AliasMatch + kullanmanın hiç gereği yoktur. AliasMatch daha karmaşık şeyler yapmamızı sağlar. Örneğin + farklı dosya çeşitlerini farklı dizinlerden sunmak isteyelim:

+ +
AliasMatch "^/image/(.*)\.jpg$" "/files/jpg.images/$1.jpg"
+AliasMatch "^/image/(.*)\.gif$" "/files/gif.images/$1.gif"
+ + +

İstek URL'sinin başındaki bölü çizgileri, bu modüldeki yönergeler istek + URL-yolu ile eşleştirilmeye çalışılmadan önce sunucu tarafından + yokedilir. +

+ + +
+
top
+

Redirect Yönergesi

+ + + + + + + +
Açıklama:İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’ye +yönlendirir.
Sözdizimi:Redirect [durum] [URL-yolu] +URL
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias
+

Redirect yönergesi istemciye bir yönlendirme + isteği döndürerek eski URL’yi yenisiyle eşler.

+ +

Eski URL-yolu bir bölü çizgisi ile başlar ve harf + büyüklüğüne duyarlıdır (% imlemesi çözüldükten sonra). + URL-yolu olarak göreli yollara izin verilmez.

+ +

URL ise ya bir şema ve konak ismi ile başlayan + bir mutlak URL ya da bir bölü çizgisi ile başlayan bir URL yolu olabilir. + İkinci durumda URL yolunun başına geçerli sunucu ismi ve şemayı sunucu + ekler.

+ +

URL-yolu ile başlayan istekler istemciye hedef + URL konumuna bir yönlendirme isteği olarak + dönecektir. URL-yolu’nun devamı niteliğindeki ek + yol hedef URL’ye eklenir.

+ +
# Farklı bir konaktaki bir URL'ye yönlendirme
+Redirect "/hizmet" "http://iki.example.com/hizmet"
+
+# Aynı konak üzerinde yönlendirme
+Redirect "/bir" "/iki"
+ + +

İstemcinin yaptığı http://example.com/hizmet/fesmekan.txt + isteğine karşılık istemciye isteği + http://iki.example.com/hizmet/fesmekan.txt olarak yapması + söylenecektir. Bu GET isteklerinde de geçerlidir. Örneğin, + http://example.com/hizmet/foo.pl?q=23&a=42 isteği + http://iki.example.com/hizmet/foo.pl?q=23&a=42 adresine + yönlendirilir. POST'ların iptal edileceğini unutmayın.
+ Sadece tam yol parçaları eşleştirilir, bu nedenle + http://example.com/hizmetfesmekan.txt isteği yukarıdaki + yönlendirme ile eşleşmeyecektir. İfade + sözdizimi kullanılan daha karmaşık eşleşmeler için URL-yolu seçeneği + aşağıda açıklandığı gibi yoksayılır. Düzenli ifadelerin kullanıldığı daha + karmaşık eşleşmeler için RedirectMatch + yönergesine de bakınız.

+ + +

Bilginize

+

Yapılandırma dosyasında yer alış sırasına bakmaksızın + Redirect yönergeleri + Alias ve ScriptAlias + yönergelerinden önce ele alınır. <Location> bölümü içinde kullanılmış bir + Redirect yönergesi URL-yolu belirtilmiş + Redirect ve Alias + yönergelerine göre önceliklidir.

+ +

Herhangi bir durum belirtilmemişse "geçici" + yönlendirme (HTTP durum kodu: 302) yapılır. Bu, istemciye özkaynağın + geçici olarak başka yere taşındığını belirtir. Diğer HTTP durum + kodlarını döndürmek için kullanılabilecek durum + değerleri:

+ +
+
permanent
+
İstemciye özkaynağın kalıcı olarak taşındığını belirten kalıcı + yönlendirme durumu (301) döndürülür.
+ +
temp
+
İstemciye geçici yönlendirme durumu (302) döner. Bu öntanımlıdır. +
+ +
seeother
+
İstemciye özkaynağın yerine başka bir şey konduğunu belirten + "diğerine bak" durumu (303) döndürülür.
+ +
gone
+
İstemciye özkaynağın kalıcı olarak kaldırıldığını belirten "ölü + bağlantı" durumu (410) döner. Bu durumda URL + belirtilmez.
+
+ +

Diğer durum kodları için durum değiştirgesiyle + sayısal durum kodu belirtilir. Eğer durum 300 ile 399 arasındaysa bir + URL belirtmek gereklidir. Aksi takdirde, + URL bileşeni ihmal edilmelidir. Belirtilecek durum kodunun + geçerli bir HTTP Status kodu olmalı ve Apache HTTP Sunucusu kodu + bilmelidir (http_protocol.c dosyasında bulunan + send_error_response işlevine bakınız).

+ +
Redirect permanent "/bir" "http://example.com/iki"
+Redirect 30" "/yedi" http://example.com/baskabisey"
+ + +

Eğer Redirect yönergesi URL-yolu belirtilmemiş + bir <Location> + veya <LocationMatch> + bölümü içinde yer alıyorsa, URL seçeneği ifade + sözdizimi kullanılarak yorumlanır.
+ Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.

+ +
<Location "/bir">
+    Redirect permanent "http://example.com/iki"
+</Location>
+<Location "/yedi">
+    Redirect 303 "http://example.com/baskabisey"
+</Location>
+<LocationMatch "/error/(?<NUMBER>[0-9]+)">
+    Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
+</LocationMatch>
+ + + +
+
top
+

RedirectMatch Yönergesi

+ + + + + + + +
Açıklama:Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir harici +yönlendirme gönderir.
Sözdizimi:RedirectMatch [durum] düzenli-ifade +URL
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias
+

Bu yönerge URL-yolu ile eşleşmek üzere bir + düzenli ifade kabul etmesi dışında + Redirect yönergesine + eşdeğerdir. Belirtilen düzenli ifade URL-yolu ile + eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. Örneğin, tüm GIF dosyası isteklerini başka bir + sunucudaki aynı isimli JPEG dosyalarına yönlendirmek için şu + yazılabilir:

+ +
RedirectMatch "(.*)\.gif$" "http://baska.example.com$1.jpg"
+ + +

Alias ve + AliasMatch arasındaki farklarla + ilgili hususlar Redirect ve + RedirectMatch arasındakilere de + uygulanır. Ayrıntılar için AliasMatch yönergesine bakınız.

+ + +
+
top
+

RedirectPermanent Yönergesi

+ + + + + + + +
Açıklama:İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.
Sözdizimi:RedirectPermanent URL-yolu URL
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias
+

Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür. + Yani, Redirect permanent ile aynı işi yapar.

+ +
+
top
+

RedirectTemp Yönergesi

+ + + + + + + +
Açıklama:İstemciyi, geçici bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.
Sözdizimi:RedirectTemp URL-yolu URL
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias
+

Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür. + Yani, Redirect temp ile aynı işi yapar.

+ +
+
top
+

ScriptAlias Yönergesi

+ + + + + + +
Açıklama:Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır.
Sözdizimi:ScriptAlias [URL-yolu] +dosya-yolu|dizin-yolu
BaÄŸlam:sunucu geneli, sanal konak, dizin
Durum:Temel
Modül:mod_alias
+

Hedef dizini, mod_cgi modülünün CGI betiği + yorumlayıcısı tarafından çalıştırılacak betikleri içeren dizin olarak + imlemesi dışında Alias + yönergesinin yaptığı işi yapar. URL-yolu ile + başlayan harf büyüklüğüne duyarlı URL’ler (% imlemesi çözüldükten + sonra), dosya sistemindeki bir tam yol olarak belirtilmiş + dizin-yolu ile başlayan betiklerle eşlenir.

+ +
ScriptAlias "/cgi-bin/" "/siteler/cgi-bin/"
+ + +

http://example.com/cgi-bin/foo şeklindeki bir istek + sunucunun /siteler/cgi-bin/foo betiğini çalıştırmasına sebep + olur. Bu yapılandırma aslında şuna eşdeğerdir:

+ +
Alias "/cgi-bin/" "/siteler/cgi-bin/"
+<Location "/cgi-bin">
+    SetHandler cgi-script
+    Options +ExecCGI
+</Location>
+ + +

ScriptAlias yönergesini bir betik veya eylemci + ile birlikte de kullanabilirsiniz. Örnek:

+ +
ScriptAlias "/cgi-bin/" "/siteler/cgi-handler.pl"
+ + +

Bu senaryoda /cgi-bin/’den istenen tüm dosyalar sizin + belirttiğiniz dosya tarafından işleme sokulacaktır. Bu yöntemle kendi + özel eylemcinizi kullanabilirsiniz. İsterseniz, bunu içerik eklemek + ya da ısmarlama bir eylem için bir CGI sarmalayıcısı olarak da + kullanabilirsiniz.

+ +
Yapılandırma değiştiğinde kaynak kodlarının ister + istemez açığa çıkmasını istemiyorsanız CGI betiklerinizi DocumentRoot altına koymayınız. + ScriptAlias yönergesi URL’yi doğru yere + eşlemekten başka orayı bir CGI betikleri dizini olarak imler. CGI + betiklerinizi DocumentRoot altına + koyarsanız çalıştırmak için ScriptAlias değil, + <Directory>, + SetHandler ve Options yönergelerini örnekteki gibi kullanın: + +
<Directory "/usr/local/apache2/htdocs/cgi-bin" >
+    SetHandler cgi-script
+    Options ExecCGI
+</Directory>
+ + + Aynı dosya sistemi konumu ile çok sayıda URL-yolu + eşleşebileceğinden, bir Directory + bölümü ile sınırlanmadığı takdirde CGI betiklerinin kaynak kodları açığa + çıkabilir; bu bakımdan ScriptAlias yönergesini yok + sayan URL yollarının belirtilebilme olasılığı gözardı + edilmemelidir.
+ +

Eğer ScriptAlias yönergesi URL-yolu belirtilmemiş + bir <Location> + veya <LocationMatch> + bölümü içinde yer alıyorsa, URL seçeneği ifade + sözdizimi kullanılarak yorumlanır.
+ Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.

+ +
<Location "/cgi-bin">
+    ScriptAlias "/siteler/cgi-bin/"
+</Location>
+<LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)">
+    ScriptAlias "/siteler/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
+</LocationMatch>
+ + + +

Ayrıca bakınız:

+ +
+
top
+

ScriptAliasMatch Yönergesi

+ + + + + + +
Açıklama:Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak +eşler ve hedefi bir CGI betiği olarak çalıştırır.
Sözdizimi:ScriptAliasMatch düzenli-ifade +dosya-yolu|dizin-yolu
BaÄŸlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_alias
+

Bu yönerge URL-yolu ile eşleşmek üzere bir + düzenli ifade kabul etmesi dışında + ScriptAlias yönergesine + eşdeğerdir. Belirtilen düzenli ifade URL-yolu ile + eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. Örneğin, standart /cgi-bin dizinini + etkin kılmak için şu yazılabilir:

+ +
ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
+ + +

AliasMatch yönergesindeki gibi, düzenli + ifadelerin tamamı tüm güçleriyle kullanılabilmektedir. + Örneğin, URL-yolu için harf büyüklüğüne duyarsız + eşleşmeli bir takma ad oluşturmak mümkünür:

+ +
ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
+ + +

Alias ve + AliasMatch arasındaki farklarla + ilgili hususlar ScriptAlias ve + ScriptAliasMatch arasındakilere + de uygulanır. Ayrıntılar için AliasMatch yönergesine bakınız.

+ + +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_allowmethods.html b/docs/manual/mod/mod_allowmethods.html new file mode 100644 index 0000000..aeb45f5 --- /dev/null +++ b/docs/manual/mod/mod_allowmethods.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_allowmethods.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_allowmethods.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_allowmethods.html.en b/docs/manual/mod/mod_allowmethods.html.en new file mode 100644 index 0000000..ef69a37 --- /dev/null +++ b/docs/manual/mod/mod_allowmethods.html.en @@ -0,0 +1,116 @@ + + + + + +mod_allowmethods - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_allowmethods

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Easily restrict what HTTP methods can be used on the server
Status:Experimental
Module Identifier:allowmethods_module
Source File:mod_allowmethods.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

This module makes it easy to restrict what HTTP methods can be +used on a server. The most common configuration would be:

+ +
<Location "/">
+   AllowMethods GET POST OPTIONS
+</Location>
+ + +
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

AllowMethods Directive

+ + + + + + + +
Description:Restrict access to the listed HTTP methods
Syntax:AllowMethods reset|HTTP-method +[HTTP-method]...
Default:AllowMethods reset
Context:directory
Status:Experimental
Module:mod_allowmethods
+ +

The HTTP-methods are case sensitive and are generally, as per +RFC, given in upper case. The GET and HEAD methods are treated as +equivalent. The reset keyword can be used to +turn off mod_allowmethods in a deeper nested context:

+ +
<Location "/svn">
+   AllowMethods reset
+</Location>
+ + +

Caution

+

The TRACE method cannot be denied by this module; + use TraceEnable instead.

+
+ +

mod_allowmethods was written to replace the rather +kludgy implementation of Limit and +LimitExcept.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_allowmethods.html.fr.utf8 b/docs/manual/mod/mod_allowmethods.html.fr.utf8 new file mode 100644 index 0000000..23583dd --- /dev/null +++ b/docs/manual/mod/mod_allowmethods.html.fr.utf8 @@ -0,0 +1,119 @@ + + + + + +mod_allowmethods - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_allowmethods

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Ce module permet de restreindre aisément les méthodes HTTP +pouvant être utilisées sur le serveur
Statut:Expérimental
Identificateur de Module:allowmethods_module
Fichier Source:mod_allowmethods.c
Compatibilité:Disponible à partir de la version 2.3 du serveur HTTP Apache
+

Sommaire

+ +

Ce module permet de restreindre aisément les méthodes HTTP +pouvant être utilisées sur le serveur. La configuration la plus courante +est du style :

+ +
<Location "/">
+   AllowMethods GET POST OPTIONS
+</Location>
+ + +
+ + +
top
+

Directive AllowMethods

+ + + + + + + +
Description:Restreint l'accès aux méthodes HTTP spécifiées
Syntaxe:AllowMethods reset|HTTP-method +[HTTP-method]...
Défaut:AllowMethods reset
Contexte:répertoire
Statut:Expérimental
Module:mod_allowmethods
+ +

Les noms des méthodes HTTP sont sensibles à la casse, et sont en +général définis en majuscules, comme dans les RFCs. Les méthodes GET et +HEAD sont considérées comme équivalentes. Le mot-clé +reset permet de désactiver +mod_allowmethods dans les niveaux inférieurs +d'imbrication :

+ +
<Location "/svn">
+   AllowMethods reset
+</Location>
+ + +

Avertissement

+

La méthode TRACE ne peut pas être rejetée par ce module ; pour ce + faire, vous devez utiliser la directive TraceEnable.

+
+ +

Le module mod_allowmethods a été écrit pour +remplacer l'implémentation "bricolée" des directives Limit et LimitExcept.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html b/docs/manual/mod/mod_asis.html new file mode 100644 index 0000000..bdf5fbd --- /dev/null +++ b/docs/manual/mod/mod_asis.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_asis.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_asis.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_asis.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_asis.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_asis.html.en b/docs/manual/mod/mod_asis.html.en new file mode 100644 index 0000000..93eabc9 --- /dev/null +++ b/docs/manual/mod/mod_asis.html.en @@ -0,0 +1,143 @@ + + + + + +mod_asis - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_asis

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Sends files that contain their own +HTTP headers
Status:Base
Module Identifier:asis_module
Source File:mod_asis.c
+

Summary

+ +

This module provides the handler send-as-is + which causes Apache HTTP Server to send the document without adding most of + the usual HTTP headers.

+ +

This can be used to send any kind of data from the server, + including redirects and other special HTTP responses, without + requiring a cgi-script or an nph script.

+ +

For historical reasons, this module will also process any + file with the mime type httpd/send-as-is.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Usage

+ +

In the server configuration file, associate files with the + send-as-is handler e.g.

+ +
AddHandler send-as-is asis
+ + +

The contents of any file with a .asis extension + will then be sent by Apache httpd to the client with almost no + changes. In particular, HTTP headers are derived from the file + itself according to mod_cgi rules, so an asis + file must include valid headers, and may also use the CGI + Status: header to determine the HTTP response + code. The Content-Length: header will automatically + be inserted or, if included, corrected by httpd.

+ +

Here's an example of a file whose contents are sent as + is so as to tell the client that a file has + redirected.

+ + +

+ Status: 301 Now where did I leave that URL
+ Location: http://xyz.example.com/foo/bar.html
+ Content-type: text/html
+
+ <html>
+ <head>
+ <title>Lame excuses'R'us</title>
+ </head>
+ <body>
+ <h1>Fred's exceptionally wonderful page has moved to
+ <a href="http://xyz.example.com/foo/bar.html">Joe's</a> + site.
+ </h1>
+ </body>
+ </html> +

+ +

Notes:

+

The server always adds a Date: and Server: + header to the data returned to the client, so these should not be + included in the file. The server does not add a + Last-Modified header; it probably should.

+
+
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html.fr.utf8 b/docs/manual/mod/mod_asis.html.fr.utf8 new file mode 100644 index 0000000..f4839df --- /dev/null +++ b/docs/manual/mod/mod_asis.html.fr.utf8 @@ -0,0 +1,143 @@ + + + + + +mod_asis - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_asis

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Envoie des fichiers contenant leurs propres en-têtes +HTTP
Statut:Base
Identificateur de Module:asis_module
Fichier Source:mod_asis.c
+

Sommaire

+ +

Ce module fournit le gestionnaire send-as-is qui + permet au serveur HTTP Apache d'envoyer le document sans ajouter la plupart des + en-têtes HTTP habituels.

+ +

On peut l'utiliser pour envoyer tous types de données en + provenance du serveur, y compris les redirections et autres réponses + HTTP spéciales, sans devoir faire appel à un script CGI ou nph.

+ +

Pour des raisons historiques, ce module traitera aussi tout + fichier dont le type MIME est httpd/send-as-is.

+
+ +
top
+
+

Mode d'emploi

+ +

Dans le fichier de configuration, associez les fichiers asis au + gestionnaire send-as-is comme ceci :

+ +
AddHandler send-as-is asis
+ + +

Le contenu de tout fichier possédant l'extension + .asis sera envoyé par Apache httpd au client pratiquement tel + quel. En particulier, les en-têtes HTTP seront déduits du fichier + lui-même selon les règles du module mod_cgi, si + bien qu'un fichier asis doit inclure des en-têtes valides, et + utiliser l'en-tête CGI Status: pour déterminer le code de réponse + HTTP. L'en-tête Content-Length: sera automatiquement + inséré ou, s'il est déjà présent, corrigé par httpd.

+ +

Voici un exemple de fichier dont le contenu est envoyé tel + quel pour informer un client qu'un fichier a été déplacé.

+ + +

+ Status: 301 Ou se trouve cette URL maintenant
+ Location: http://xyz.example.com/foo/bar.html
+ Content-type: text/html
+
+ <html>
+ <head>
+ <title>Mauvaises excuses</title>
+ </head>
+ <body>
+ <h1>La merveilleuse page de Fred a été déplacée vers
+ <a href="http://xyz.example.com/foo/bar.html">le site de + Joe</a>.
+ </h1>
+ </body>
+ </html> +

+ +

Notes :

+

Le serveur ajoute systématiquement les en-têtes + Date: et Server: aux données qu'il envoie + au client, si bien qu'ils n'ont pas besoin d'être inclus dans le + fichier. Le serveur n'ajoute pas d'en-tête + Last-Modified, ce qu'il devrait probablement faire.

+
+
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html.ja.utf8 b/docs/manual/mod/mod_asis.html.ja.utf8 new file mode 100644 index 0000000..72a80a8 --- /dev/null +++ b/docs/manual/mod/mod_asis.html.ja.utf8 @@ -0,0 +1,144 @@ + + + + + +mod_asis - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_asis

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:自分用㮠HTTP ヘッダã®æ›¸ã‹ã‚Œã¦ã„るファイルをé€ä¿¡ã™ã‚‹
ステータス:Base
モジュール識別å­:asis_module
ソースファイル:mod_asis.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒãƒ³ãƒ‰ãƒ© send-as-is + ã‚’æä¾›ã—ã¾ã™ã€‚ã“ã®ãƒãƒ³ãƒ‰ãƒ©ã¯é€šå¸¸ã® HTTP + ヘッダをã»ã¨ã‚“ã©è¿½åŠ ã™ã‚‹ã“ã¨ãªãドキュメントをé€ä¿¡ã—ã¾ã™ã€‚

+ +

ã“ã‚Œã¯ã‚µãƒ¼ãƒã‹ã‚‰ã©ã‚“ãªç¨®é¡žã®ãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚‹ã¨ãã«ã‚‚使用ã§ãã¾ã™ã€‚ + Cgi スクリプトや nph スクリプトãŒç„¡ãã¦ã‚‚リダイレクトや他ã®ç‰¹åˆ¥ãª + HTTP 応答をé€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

æ­´å²çš„ãªç†ç”±ã«ã‚ˆã‚Šã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ mime タイプ + httpd/send-as-is ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚‚処ç†ã—ã¾ã™ã€‚

+
+
Support Apache!

トピック

+

ディレクティブ

+

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚ã‚Šã¾ã›ã‚“。

+

Bugfix checklist

å‚ç…§

+
+
top
+
+

使用法

+ +

サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§ã€ãƒ•ã‚¡ã‚¤ãƒ«ã¨ send-as-is + ãƒãƒ³ãƒ‰ãƒ©ã‚’例ãˆã°ä»¥ä¸‹ã®ã‚ˆã†ã«é–¢é€£ä»˜ã‘ã¦ãã ã•ã„。

+ +

AddHandler send-as-is asis

+ +

æ‹¡å¼µå­ãŒ .asis ã®ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容㯠Apache + ã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã»ã¨ã‚“ã©å¤‰æ›´ç„¡ãé€ã‚‰ã‚Œã¾ã™ã€‚ + HTTP ヘッダã¯ç‰¹åˆ¥ã§ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ mod_cgi + ã®ãƒ«ãƒ¼ãƒ«ã«å¾“ã£ã¦å–り出ã•ã‚Œã¾ã™ã€‚ã§ã™ã‹ã‚‰ asis ファイルã«ã¯ + æ­£ã—ã„ヘッダãŒè¨˜è¼‰ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã—〠+ ã¾ãŸ CGI ã§ã®è¡¨è¨˜æ³•ã§ã‚ã‚‹ã¨ã“ã‚ã® Status: ヘッダを使ã£ã¦ + HTTP レスãƒãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’決ã‚ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

ã“ã‚Œã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ãƒ•ã‚¡ã‚¤ãƒ«ãŒç§»å‹•ã—ãŸã“ã¨ã‚’知らã›ã‚‹ãŸã‚ã« + as is (ãã®ã¾ã¾) ã§é€ã‚‰ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容ã®ä¾‹ã§ã™ã€‚ +

+ + +

+ Status: 301 Now where did I leave that URL
+ Location: http://xyz.abc.com/foo/bar.html
+ Content-type: text/html
+
+ <html>
+ <head>
+ <title>Lame excuses'R'us</title>
+ </head>
+ <body>
+ <h1>Fred's exceptionally wonderful page has moved to
+ <a href="http://xyz.abc.com/foo/bar.html">Joe's</a> + site.
+ </h1>
+ </body>
+ </html> +

+ +

注æ„

+

注æ„: サーãƒã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã•ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ã«å¸¸ã« Date: + 㨠Server: ヘッダを追加ã—ã¾ã™ã®ã§ã€ + ãれらãŒãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã‹ã‚Œã¦ã„ã¦ã¯ã„ã‘ã¾ã›ã‚“。 + サーãƒã¯ Last-Modified ヘッダを追加ã—ã¾ã›ã‚“。 + ãŠãらãã¯ãã†ã™ã¹ãã§ã—ょã†ã‘ã‚Œã©ã€‚

+
+
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html.ko.euc-kr b/docs/manual/mod/mod_asis.html.ko.euc-kr new file mode 100644 index 0000000..707fcc6 --- /dev/null +++ b/docs/manual/mod/mod_asis.html.ko.euc-kr @@ -0,0 +1,138 @@ + + + + + +mod_asis - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_asis

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:HTTP Çì´õ¸¦ Æ÷ÇÔÇÑ ÆÄÀÏÀ» º¸³½´Ù
»óÅÂ:Base
¸ðµâ¸í:asis_module
¼Ò½ºÆÄÀÏ:mod_asis.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ¾ÆÆÄÄ¡°¡ ÀϹÝÀûÀÎ HTTP Çì´õÀÇ ´ëºÎºÐÀ» Ãß°¡ÇÏÁö¾Ê°í + ¹®¼­¸¦ º¸³»µµ·Ï ¸¸µå´Â send-as-is Çڵ鷯¸¦ + Á¦°øÇÑ´Ù.

+ +

±×·¡¼­ ¼­¹ö´Â cgi ½ºÅ©¸³Æ®³ª nph ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏÁö¾Ê°íµµ + ¸®´ÙÀÌ·º¼Ç°ú ´Ù¸¥ Ưº°ÇÑ HTTP ÀÀ´ä µî ¾î¶² ÀÚ·áµµ º¸³¾ ¼ö + ÀÖ´Ù.

+ +

°ú°Å¿¡ ÀÌ ¸ðµâÀº mime typeÀÌ httpd/send-as-isÀÎ + ÆÄÀϵµ ó¸®Çß´Ù.

+
+
Support Apache!

ÁÖÁ¦

+

Áö½Ã¾îµé

+

ÀÌ ¸ðµâ¿¡´Â Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.

+

Bugfix checklist

Âü°í

+
+
top
+
+

»ç¿ë¹ý

+ +

¼­¹ö ¼³Á¤ÆÄÀÏ¿¡¼­ ÆÄÀÏ°ú send-as-is Çڵ鷯¸¦ + ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ ¿¬°áÇÑ´Ù.

+ +

AddHandler send-as-is asis

+ +

¾ÆÆÄÄ¡´Â .asis È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏÀÇ ³»¿ëÀ» + °ÅÀÇ ¼öÁ¤ÇÏÁö¾Ê°í Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³½´Ù. Ŭ¶óÀ̾ðÆ®´Â HTTP + Çì´õ°¡ ÇÊ¿äÇϹǷΠ»©¸ÔÁö¸¶¶ó. Status: Çì´õµµ ÇÊ¿äÇÏ´Ù. ÀÌ + Çì´õÀÇ ³»¿ëÀº ¼¼ÀÚ¸® ¼ýÀÚÀÎ HTTP ÀÀ´äÄÚµå¿Í ±× µÚÀÇ ¹®±¸ÀÌ´Ù.

+ +

´ÙÀ½Àº ³»¿ë ±×´ë·Î Ŭ¶óÀ̾ðÆ®¿¡°Ô ÆÄÀÏÀÌ + ¸®´ÙÀ̷¼ǵǾú´Ù°í ¾Ë¸®´Â ÆÄÀÏÀÇ ¿¹ÀÌ´Ù.

+ + +

+ Status: 301 Now where did I leave that URL
+ Location: http://xyz.abc.com/foo/bar.html
+ Content-type: text/html
+
+ <html>
+ <head>
+ <title>Lame excuses'R'us</title>
+ </head>
+ <body>
+ <h1>Fred's exceptionally wonderful page has moved to
+ <a href="http://xyz.abc.com/foo/bar.html">Joe's</a> + site.
+ </h1>
+ </body>
+ </html> +

+ +

ÁÖÀÇ:

+

¼­¹ö´Â ÀڷḦ Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³¾¶§ Ç×»ó Date:¿Í + Server: Çì´õ¸¦ Ãß°¡ÇϹǷÎ, ÆÄÀÏ¿¡ ÀÌ Çì´õ°¡ + ÀÖÀ¸¸é ¾ÈµÈ´Ù. ¼­¹ö´Â Last-Modified Çì´õ¸¦ + Ãß°¡ÇÏÁö ¾Ê´Â´Ù. ±×·¡¼­ ¾Æ¸¶µµ ÀÌ Çì´õ´Â Æ÷ÇÔÇØ¾ß + ÇÑ´Ù.

+
+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html b/docs/manual/mod/mod_auth_basic.html new file mode 100644 index 0000000..a76c6bd --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_auth_basic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_basic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_basic.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_basic.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_auth_basic.html.en b/docs/manual/mod/mod_auth_basic.html.en new file mode 100644 index 0000000..bdb3db4 --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.en @@ -0,0 +1,288 @@ + + + + + +mod_auth_basic - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_auth_basic

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Basic HTTP authentication
Status:Base
Module Identifier:auth_basic_module
Source File:mod_auth_basic.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module allows the use of HTTP Basic Authentication to + restrict access by looking up users in the given providers. + HTTP Digest Authentication is provided by + mod_auth_digest. This module should + usually be combined with at least one authentication module + such as mod_authn_file and one authorization + module such as mod_authz_user.

+
+ + +
top
+

AuthBasicAuthoritative Directive

+ + + + + + + + +
Description:Sets whether authorization and authentication are passed to +lower level modules
Syntax:AuthBasicAuthoritative On|Off
Default:AuthBasicAuthoritative On
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_auth_basic
+

Normally, each authorization module listed in AuthBasicProvider will attempt + to verify the user, and if the user is not found in any provider, + access will be denied. Setting the + AuthBasicAuthoritative directive explicitly + to Off allows for both authentication and + authorization to be passed on to other non-provider-based modules + if there is no userID or rule + matching the supplied userID. This should only be necessary when + combining mod_auth_basic with third-party modules + that are not configured with the AuthBasicProvider + directive. When using such modules, the order of processing + is determined in the modules' source code and is not configurable.

+ +
+
top
+

AuthBasicFake Directive

+ + + + + + + + + +
Description:Fake basic authentication using the given expressions for +username and password
Syntax:AuthBasicFake off|username [password]
Default:none
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_auth_basic
Compatibility:Apache HTTP Server 2.4.5 and later
+

The username and password specified are combined into an + Authorization header, which is passed to the server or service + behind the webserver. Both the username and password fields are + interpreted using the expression parser, + which allows both the username and password to be set based on + request parameters.

+ +

If the password is not specified, the default value "password" + will be used. To disable fake basic authentication for an URL + space, specify "AuthBasicFake off".

+ +

In this example, we pass a fixed username and password to a + backend server.

+ +

Fixed Example

<Location "/demo">
+    AuthBasicFake demo demopass
+</Location>
+
+ +

In this example, we pass the email address extracted from a client + certificate, extending the functionality of the FakeBasicAuth option + within the SSLOptions + directive. Like the FakeBasicAuth option, the password is set to the + fixed string "password".

+ +

Certificate Example

<Location "/secure">
+    AuthBasicFake "%{SSL_CLIENT_S_DN_Email}"
+</Location>
+
+ +

Extending the above example, we generate a password by hashing the + email address with a fixed passphrase, and passing the hash to the + backend server. This can be used to gate into legacy systems that do + not support client certificates.

+ +

Password Example

<Location "/secure">
+    AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}"
+</Location>
+
+ +

Exclusion Example

<Location "/public">
+    AuthBasicFake off
+</Location>
+
+ + +
+
top
+

AuthBasicProvider Directive

+ + + + + + + + +
Description:Sets the authentication provider(s) for this location
Syntax:AuthBasicProvider provider-name +[provider-name] ...
Default:AuthBasicProvider file
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_auth_basic
+

The AuthBasicProvider directive sets + which provider is used to authenticate the users for this location. + The default file provider is implemented + by the mod_authn_file module. Make sure + that the chosen provider module is present in the server.

+

Example

<Location "/secure">
+    AuthType basic
+    AuthName "private area"
+    AuthBasicProvider  dbm
+    AuthDBMType        SDBM
+    AuthDBMUserFile    "/www/etc/dbmpasswd"
+    Require            valid-user
+</Location>
+
+

Providers are queried in order until a provider finds a match + for the requested username, at which point this sole provider will + attempt to check the password. A failure to verify the password does + not result in control being passed on to subsequent providers.

+ +

Providers are implemented by mod_authn_dbm, + mod_authn_file, mod_authn_dbd, + mod_authnz_ldap and mod_authn_socache.

+ +
+
top
+

AuthBasicUseDigestAlgorithm Directive

+ + + + + + + + + +
Description:Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
Syntax:AuthBasicUseDigestAlgorithm MD5|Off
Default:AuthBasicUseDigestAlgorithm Off
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_auth_basic
Compatibility:Apache HTTP Server 2.4.7 and later
+

Normally, when using Basic Authentication, the providers listed in + AuthBasicProvider + attempt to verify a user by checking their data stores for + a matching username and associated password. The stored passwords + are usually encrypted, but not necessarily so; each provider may + choose its own storage scheme for passwords.

+ +

When using AuthDigestProvider and Digest + Authentication, providers perform a similar check to find a matching + username in their data stores. However, unlike in the Basic + Authentication case, the value associated with each stored username + must be an encrypted string composed from the username, realm name, + and password. (See + + RFC 2617, Section 3.2.2.2 for more details on the format used + for this encrypted string.)

+ +

As a consequence of the difference in the stored values between + Basic and Digest Authentication, converting from Digest + Authentication to Basic Authentication generally requires that all + users be assigned new passwords, as their existing passwords cannot + be recovered from the password storage scheme imposed on those + providers which support Digest Authentication.

+ +

Setting the AuthBasicUseDigestAlgorithm directive + to MD5 will cause the user's Basic Authentication password + to be checked using the same encrypted format as for Digest + Authentication. First a string composed from the username, realm name, + and password is hashed with MD5; then the username and this encrypted + string are passed to the providers listed in + AuthBasicProvider + as if + AuthType + was set to Digest and Digest Authentication was in force. +

+ +

Through the use of AuthBasicUseDigestAlgorithm + a site may switch from Digest to Basic Authentication without + requiring users to be assigned new passwords.

+ +
+ The inverse process of switching from Basic to Digest + Authentication without assigning new passwords is generally + not possible. Only if the Basic Authentication passwords + have been stored in plain text or with a reversible encryption + scheme will it be possible to recover them and generate a + new data store following the Digest Authentication password + storage scheme. +
+ +
+ Only providers which support Digest Authentication will be able + to authenticate users when AuthBasicUseDigestAlgorithm + is set to MD5. Use of other providers will result + in an error response and the client will be denied access. +
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html.fr.utf8 b/docs/manual/mod/mod_auth_basic.html.fr.utf8 new file mode 100644 index 0000000..aaaa16c --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.fr.utf8 @@ -0,0 +1,315 @@ + + + + + +mod_auth_basic - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_auth_basic

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Authentification HTTP de base
Statut:Base
Identificateur de Module:auth_basic_module
Fichier Source:mod_auth_basic.c
Compatibilité:Disponible depuis la version 2.1 d'Apache
+

Sommaire

+ +

Ce module permet d'utiliser l'authentification basique HTTP pour + restreindre l'accès en recherchant les utilisateurs dans les + fournisseurs d'authentification spécifiés. Il est en général + combiné avec au moins un module d'authentification comme + mod_authn_file et un module d'autorisation comme + mod_authz_user. L'authentification HTTP à + base de condensé (digest), quant à elle, est fournie par le module + mod_auth_digest.

+
+ + +
top
+

Directive AuthBasicAuthoritative

+ + + + + + + + +
Description:Définit si les processus d'autorisation et +d'authentification peuvent être confiés à des modules de plus bas +niveau
Syntaxe:AuthBasicAuthoritative On|Off
Défaut:AuthBasicAuthoritative On
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_auth_basic
+

Normalement, chaque module d'autorisation énuméré dans la + directive AuthBasicProvider va tenter de + vérifier l'utilisateur, et si ce dernier n'est trouvé dans aucun des + fournisseurs, l'accès sera refusé. Définir explicitement la + directive AuthBasicAuthoritative à + Off permet de confier l'autorisation et + l'authentification à d'autres modules non basés sur les fournisseurs + si aucun identifiant utilisateur ou aucune + règle ne correspondent à l'identifiant utilisateur + spécifié. Ceci ne peut s'avérer nécessaire que lorsque + mod_auth_basic est combiné avec des modules tiers + qui n'ont pas été configurés à l'aide de la directive AuthBasicProvider. Lorsqu'on + utilise de tels modules, l'ordre dans lequel s'effectue le + traitement est défini dans le code source des modules et n'est pas + configurable.

+ +
+
top
+

Directive AuthBasicFake

+ + + + + + + + + +
Description:Authentification de base simulée à l'aide des nom +d'utilisateur et mot de passe fournis
Syntaxe:AuthBasicFake off|username [password]
Défaut:none
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_auth_basic
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

Les nom d'utilisateur et mot de passe spécifiés sont rassemblés + dans un en-tête d'autorisation qui est transmis au serveur ou au + service sous-jacent au serveur. Ces nom d'utilisateur et mot de + passe sont interprétés par l'interpréteur + d'expression, ce qui permet de les définir en fonction de + paramètres de la requête.

+ +

Si aucun mot de passe n'est spécifié, la valeur par défaut + "password" sera utilisée. Pour désactiver l'authentification de base + simulée pour un espace d'URL, définissez AuthBasicFake à "off".

+ +

Dans l'exemple suivant, un nom d'utilisateur et un mot de passe + prédéfinis sont transmis à un serveur d'arrière-plan :

+ +

Exemple de transmission d'un nom d'utilisateur et + d'un mot de passe prédéfinis

<Location "/demo">
+    AuthBasicFake demo demopass
+</Location>
+
+ +

Dans l'exemple suivant, l'adresse email extraite d'un certificat + client est transmise au serveur, étendant par là-même la + fonctionnalité de l'option FakeBasicAuth de la directive SSLOptions. Comme avec l'option + FakeBasicAuth, le mot de passe se voit attribué le contenu fixe de + la chaîne "password".

+ +

Exemple d'utilisation avec un certificat

<Location "/secure">
+    AuthBasicFake "%{SSL_CLIENT_S_DN_Email}"
+</Location>
+
+ +

Pour compléter l'exemple précédent, il est possible de générer la + valeur du mot de passe en procédant à un hashage de l'adresse email + à partir d'un mot d'une passphrase initial fixée, puis de transmettre le + résultat obtenu au serveur d'arrière-plan. Ceci peut s'avérer utile + pour donner accès à des serveurs anciens qui ne supportent pas les + certificats clients.

+ +

Exemple de génération de mot de passe par hashage de + l'adresse email

<Location "/secure">
+    AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}"
+</Location>
+
+ +

Désactivation de l'authentification simulée

<Location "/public">
+    AuthBasicFake off
+</Location>
+
+ + +
+
top
+

Directive AuthBasicProvider

+ + + + + + + + +
Description:Définit le(les) fournisseur(s) d'authentification pour +cette zone du site web
Syntaxe:AuthBasicProvider nom fournisseur +[nom fournisseur] ...
Défaut:AuthBasicProvider file
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_auth_basic
+

La directive AuthBasicProvider permet de + définir le fournisseur utilisé pour authentifier les utilisateurs + pour la zone du site web concernée. Le fournisseur par défaut + file est implémenté par le module + mod_authn_file. Assurez-vous que le module + implémentant le fournisseur choisi soit bien présent dans le + serveur.

+ +

Exemple

<Location "/secure">
+    AuthType basic
+    AuthName "private area"
+    AuthBasicProvider  dbm
+    AuthDBMType        SDBM
+    AuthDBMUserFile    "/www/etc/dbmpasswd"
+    Require            valid-user
+</Location>
+
+

Les fournisseurs sont sollicités dans l'ordre jusqu'à ce que l'un + d'entre eux trouve une correspondance pour le nom d'utilisateur de + la requête ; alors, ce dernier fournisseur sera le seul à vérifier + le mot de passe. Un échec dans la vérification du mot de passe + n'entraîne pas le passage du contrôle au fournisseur suivant.

+ +

Les différents fournisseurs disponibles sont implémentés par les + modules mod_authn_dbm, + mod_authn_file, mod_authn_dbd, + mod_authnz_ldap et mod_authn_socache.

+ +
+
top
+

Directive AuthBasicUseDigestAlgorithm

+ + + + + + + + + +
Description:Vérifie les mots de passe auprès des fournisseurs +d'authentification à la manière de l'authentification de type Digest. +
Syntaxe:AuthBasicUseDigestAlgorithm MD5|Off
Défaut:AuthBasicUseDigestAlgorithm Off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_auth_basic
Compatibilité:Disponible à partir de la version 2.4.7 du serveur HTTP +Apache
+

Normalement, lorsqu'on utilise l'authentification basique, les + fournisseurs spécifiés via la directive AuthBasicProvider tentent de + contrôler l'identité d'un utilisateur en recherchant dans leurs + bases de données l'existence d'un couple utilisateur/mot de passe + correspondant. Les mots de passe enregistrés sont en général + chiffrés, mais ce n'est pas systématique ; chaque fournisseur peut + choisir son propre mode de stockage des mots de passe.

+ +

Lorsqu'on utilise l'authentification de type Digest, les + fournisseurs spécifiés par la directive AuthDigestProvider effectuent + une recherche similaire dans leurs bases de + données pour trouver un couple utilisateur/mot de passe + correspondant. Cependant, à la différence de l'authentification + basique, les données associées à chaque utilisateur et comportant le + nom d'utilisateur, le domaine de protection (realm) et le mot de + passe doivent être contenues dans une chaîne chiffrée (Voir le + document RFC 2617, + Section 3.2.2.2 pour plus de détails à propos du type de + chiffrement utilisé pour cette chaîne).

+ +

A cause de la différence entre les méthodes de stockage des + données des authentifications de type basique et digest, le passage + d'une méthode d'authentification de type digest à une méthode + d'authentification de type basique requiert l'attribution de + nouveaux + mots de passe à chaque utilisateur, car leur mots de passe existant + ne peut pas être extrait à partir du schéma de stockage utilisé + par les fournisseurs d'authentification de type digest.

+ +

Si la directive AuthBasicUseDigestAlgorithm est + définie à la valeur MD5, le mot de passe d'un + utilisateur dans le cas de l'authentification basique sera vérifié + en utilisant le même format de chiffrement que dans le cas de + l'authentification de type digest. Tout d'abord, une chaîne + comportant le nom d'utilisateur, le domaine de protection (realm) et + le mot de passe est générée sous forme de condensé (hash) en + utilisant l'algorithme MD5 ; puis le nom d'utilisateur et cette + chaîne chiffrée sont transmis aux fournisseurs spécifiés via la + directive AuthBasicProvider comme si la + directive AuthType + était définie à Digest et si l'authentification de type + Digest était utilisée. +

+ +

Grâce à cette directive, un site peut basculer d'une + authentification de type digest à basique sans devoir changer les + mots de passe des utilisateurs.

+ +
+ Le processus inverse consistant à passer d'une authentification de + type basique à digest sans changer les mots de passe n'est en + général pas possible. Les mots de passe enregistrés dans le cas + d'une authentification de type basique ne pourront être extraits + et chiffrés à nouveau selon le schéma de l'authentification de + type digest, que s'ils ont été stockés en clair ou selon un schéma de + chiffrement réversible. +
+ +
+ Seuls les fournisseurs qui supportent l'authentification de type + digest pourront authentifier les utilisateurs lorsque la directive + AuthBasicUseDigestAlgorithm + est définie à MD5. L'utilisation d'un autre + fournisseur provoquera un message d'erreur et le client se verra + refuser l'accès.
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html.ja.utf8 b/docs/manual/mod/mod_auth_basic.html.ja.utf8 new file mode 100644 index 0000000..33657f1 --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.ja.utf8 @@ -0,0 +1,198 @@ + + + + + +mod_auth_basic - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_auth_basic

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:基本èªè¨¼
ステータス:Base
モジュール識別å­:auth_basic_module
ソースファイル:mod_auth_basic.c
互æ›æ€§:Apache 2.1 以é™
+

概è¦

+ +

与ãˆã‚‰ã‚ŒãŸãƒ—ロãƒã‚¤ãƒ€ (訳注: èªè¨¼ã§ã®ç…§ä¼šã‚’è¡Œã†å•ã„åˆã‚ã›å…ˆ) + ã§ãƒ¦ãƒ¼ã‚¶ã‚’検索ã—ã€HTTP 基本èªè¨¼ã§ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + HTTP ダイジェストèªè¨¼ã«ã¤ã„ã¦ã¯ mod_auth_digest + ã§æä¾›ã•ã‚Œã¾ã™ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使ã†éš›ã¯ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã»ã‹ã« + mod_authn_file ã¨ã„ã£ãŸèªè¨¼ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã€ + mod_authz_user ã¨ã„ã£ãŸæ‰¿èªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã®ä¸¡æ–¹ã‚’〠+ ãã‚Œãžã‚Œã²ã¨ã¤ä»¥ä¸Šçµ„ã¿åˆã‚ã›ã¦ä½¿ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+
+ + +
top
+

AuthBasicAuthoritative ディレクティブ

+ + + + + + + + +
説明:èªè¨¼ã¨æ‰¿èªã‚’ã€ã‚ˆã‚Šä½Žã„レベルã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ç§»è¡Œã•ã›ã‚‹ã‹ã‚’ +設定ã—ã¾ã™ã€‚
構文:AuthBasicAuthoritative On|Off
デフォルト:AuthBasicAuthoritative On
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Base
モジュール:mod_auth_basic
+

通常ã¯ã€AuthBasicProvider + ディレクティブã§æŒ‡å®šã—ãŸæ‰¿èªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’é †ã«ä½¿ã£ã¦ãƒ¦ãƒ¼ã‚¶ã‚’検査ã—よã†ã¨ã—ã¦ã€ + ã©ã®ãƒ—ロãƒã‚¤ãƒ€ã§ã‚‚ユーザを検査ã§ããªã‹ã£ãŸå ´åˆã€ã‚¢ã‚¯ã‚»ã‚¹æ‹’å¦ã—ã¾ã™ã€‚ + AuthBasicAuthoritative ã‚’ Off + ã¨æ˜Žç¤ºçš„ã«è¨­å®šã™ã‚‹ã¨ ユーザ ID ãŒãªã‹ã£ãŸã‚Šã€ + ルールãŒãªã‹ã£ãŸã‚Šã™ã‚‹éš›ã«ã€èªè¨¼ã¨æ‰¿èªã®ä¸¡æ–¹ã«ã¤ã„ã¦ã€ + プロãƒã‚¤ãƒ€ãƒ¼æ©Ÿæ§‹ã§å®Ÿè£…ã•ã‚Œã¦ã„ãªã„モジュールã«å‡¦ç†ã‚’移行ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + AuthBasicProvider + ディレクティブã§è¨­å®šã§ããªã„サードパーティ製ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã€ + mod_auth_basic + ã¨ã‚’組ã¿åˆã‚ã›ã‚‹ã¨ãã«ã®ã¿å¿…è¦ã«ãªã‚‹ã§ã—ょã†ã€‚ + ãã®ã‚ˆã†ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使ã†å ´åˆã€å‡¦ç†é †åºã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ãŒ + ã©ã†ãªã£ã¦ã„ã‚‹ã‹ã«ã‚ˆã£ã¦æ±ºã¾ã‚Šã€å‡¦ç†é †åºã‚’指定ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

+ +
+
top
+

AuthBasicFake ディレクティブ

+ + + + + + + + + +
説明:Fake basic authentication using the given expressions for +username and password
構文:AuthBasicFake off|username [password]
デフォルト:none
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Base
モジュール:mod_auth_basic
互æ›æ€§:Apache HTTP Server 2.4.5 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

AuthBasicProvider ディレクティブ

+ + + + + + + + +
説明:ã“ã®ä½ç½®ã«å¯¾ã™ã‚‹èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã‚’設定ã—ã¾ã™ã€‚
構文:AuthBasicProvider provider-name +[provider-name] ...
デフォルト:AuthBasicProvider file
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Base
モジュール:mod_auth_basic
+

AuthBasicProvider ディレクティブã§ã€ + ã“ã®ä½ç½®ã«å¯¾ã™ã‚‹ãƒ¦ãƒ¼ã‚¶èªè¨¼ã«ç”¨ã„られるèªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã‚’設定ã—ã¾ã™ã€‚ + デフォルトã«ãªã£ã¦ã„ã‚‹ file プロãƒã‚¤ãƒ€ã¯ + mod_authn_file モジュールã§å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚ + 指定ã—ãŸãƒ—ロãƒã‚¤ãƒ€ã‚’実装ã—ã¦ã„るモジュールãŒã€ + å¿…ãšã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„るよã†ã«ã—ã¦ãã ã•ã„。

+ +

Example

+ <Location /secure>
+ + AuthType basic
+ AuthName "private area"
+ AuthBasicProvider dbm
+ AuthDBMType SDBM
+ AuthDBMUserFile /www/etc/dbmpasswd
+ Require valid-user
+
+ </Location> +

+ +

èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã¯ mod_authn_dbm, + mod_authn_file, + mod_authn_dbd, + mod_authnz_ldap ã§å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +
+
top
+

AuthBasicUseDigestAlgorithm ディレクティブ

+ + + + + + + + + +
説明:Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
構文:AuthBasicUseDigestAlgorithm MD5|Off
デフォルト:AuthBasicUseDigestAlgorithm Off
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Base
モジュール:mod_auth_basic
互æ›æ€§:Apache HTTP Server 2.4.7 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html.ko.euc-kr b/docs/manual/mod/mod_auth_basic.html.ko.euc-kr new file mode 100644 index 0000000..e62f084 --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.ko.euc-kr @@ -0,0 +1,191 @@ + + + + + +mod_auth_basic - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_auth_basic

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:Basic authentication
»óÅÂ:Base
¸ðµâ¸í:auth_basic_module
¼Ò½ºÆÄÀÏ:mod_auth_basic.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ÇØ´ç Á¦°øÀÚ(provider)¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚº°·Î + Á¢±ÙÀ» Á¦ÇÑÇÏ´Â HTTP Basic AuthenticationÀ» Á¦°øÇÑ´Ù. + HTTP Digest AuthenticationÀº mod_auth_digest°¡ + Á¦°øÇÑ´Ù.

+
+ + +
top
+

AuthBasicAuthoritative Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ÀÎÁõ°ú ±ÇÇѺο©¸¦ Àú¼öÁØ ¸ðµâ¿¡ ³Ñ°ÜÁÙÁö °áÁ¤ÇÑ´Ù
¹®¹ý:AuthBasicAuthoritative On|Off
±âº»°ª:AuthBasicAuthoritative On
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Base
¸ðµâ:mod_auth_basic
+

AuthBasicAuthoritative Áö½Ã¾î¸¦ + Off·Î ¼³Á¤Çϸé ÁÖ¾îÁø »ç¿ëÀÚ ¾ÆÀ̵𿡠ÇØ´çÇÏ´Â + »ç¿ëÀÚ ¾ÆÀ̵𳪠±ÔÄ¢À» + ãÀ» ¼ö ¾ø´Â °æ¿ì ÀÎÁõ°ú ±ÇÇѺο© ¸ðµÎ¸¦ (modules.c + ÆÄÀÏ¿¡¼­ Á¤ÀÇÇÑ) Àú¼öÁØ ¸ðµâ·Î ³Ñ°ÜÁØ´Ù. ÁÖ¾îÁø »ç¿ëÀÚ + ¾ÆÀ̵𳪠±ÔÄ¢À» ã¾Ò´Ù¸é º¸Å붧¿Í °°ÀÌ ¾ÏÈ£¿Í Á¢±ÙÇã¿ë¿©ºÎ¸¦ + °Ë»çÇÏ°í, ½ÇÆÐÇϸé "Authentication Required (ÀÎÁõ ÇÊ¿ä)" + ÀÀ´äÀ» ÇÑ´Ù.

+ +

±×·¡¼­ ¿©·¯ ¸ðµâÀÇ µ¥ÀÌÅͺ£À̽º¿¡ »ç¿ëÀÚ ¾ÆÀ̵𰡠Àְųª + À¯È¿ÇÑ Require Áö½Ã¾î¸¦ + ¿©·¯ ¸ðµâ¿¡ Àû¿ëÇϸé, ù¹ø° ¸ðµâÀÌ »ç¿ëÀÚ¸¦ °Ë»çÇÏ°í, + AuthBasicAuthoritative ¼³Á¤°ú °ü°è¾øÀÌ + Á¢±ÙÀ» ³Ñ±âÁö¾Ê´Â´Ù.

+ +

±âº»ÀûÀ¸·Î Á¦¾î¸¦ ³Ñ±âÁö¾Ê°í, ¸ð¸£´Â »ç¿ëÀÚ ¾ÆÀ̵ð¿Í + ±ÔÄ¢ÀÎ °æ¿ì "Authentication Required (ÀÎÁõ ÇÊ¿ä)" ÀÀ´äÀ» + ÇÑ´Ù. ÀÌ Áö½Ã¾î¸¦ ¼³Á¤ÇÏÁö¾ÊÀ¸¸é ½Ã½ºÅÛÀÌ ¾ÈÀüÇÏ°Ô À¯ÁöµÇ¸ç, + NCSA À¥¼­¹ö¿Í °°ÀÌ µ¿ÀÛÇÑ´Ù.

+ +
+
top
+

AuthBasicFake Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:Fake basic authentication using the given expressions for +username and password
¹®¹ý:AuthBasicFake off|username [password]
±âº»°ª:none
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Base
¸ðµâ:mod_auth_basic
Áö¿ø:Apache HTTP Server 2.4.5 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

AuthBasicProvider Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ÀÌ À§Ä¡¿¡ ´ëÇÑ ÀÎÁõÁ¦°øÀÚ¸¦ ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthBasicProvider On|Off|provider-name +[provider-name] ...
±âº»°ª:AuthBasicProvider On
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Base
¸ðµâ:mod_auth_basic
+

AuthBasicProvider Áö½Ã¾î´Â ÀÌ + À§Ä¡¿¡¼­ »ç¿ëÀÚ¸¦ ÀÎÁõÇÒ Á¦°øÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. °ªÀÌ + OnÀÌ¸é ±âº»Á¦°øÀÚ(file)¸¦ ¼±ÅÃÇÑ´Ù. + mod_authn_file ¸ðµâÀÌ file + Á¦°øÀÚ¸¦ ±¸ÇöÇϱ⶧¹®¿¡ ¼­¹ö¿¡ ÀÌ ¸ðµâÀÌ ÀÖ´ÂÁö È®ÀÎÇØ¾ß + ÇÑ´Ù.

+ +

¿¹Á¦

+ <Location /secure>
+ + AuthBasicProvider dbm
+ AuthDBMType SDBM
+ AuthDBMUserFile /www/etc/dbmpasswd
+ Require valid-user
+
+ </Location> +

+ +

Á¦°øÀÚ´Â mod_authn_dbm°ú + mod_authn_fileÀ» Âü°íÇ϶ó.

+ +

°ªÀÌ OffÀ̸é Á¦°øÀÚ ¸ñ·ÏÀ» Áö¿ì°í ±âº»»óÅ·Π+ µ¹¾Æ°£´Ù.

+ +
+
top
+

AuthBasicUseDigestAlgorithm Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
¹®¹ý:AuthBasicUseDigestAlgorithm MD5|Off
±âº»°ª:AuthBasicUseDigestAlgorithm Off
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Base
¸ðµâ:mod_auth_basic
Áö¿ø:Apache HTTP Server 2.4.7 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_digest.html b/docs/manual/mod/mod_auth_digest.html new file mode 100644 index 0000000..7f3b71b --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_auth_digest.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_digest.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_digest.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_auth_digest.html.en b/docs/manual/mod/mod_auth_digest.html.en new file mode 100644 index 0000000..5e73934 --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html.en @@ -0,0 +1,298 @@ + + + + + +mod_auth_digest - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_auth_digest

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + +
Description:User authentication using MD5 + Digest Authentication
Status:Extension
Module Identifier:auth_digest_module
Source File:mod_auth_digest.c
+

Summary

+ +

This module implements HTTP Digest Authentication + (RFC2617), and + provides an alternative to mod_auth_basic where the + password is not transmitted as cleartext. However, this does + not lead to a significant security advantage over + basic authentication. On the other hand, the password storage on the + server is much less secure with digest authentication than with + basic authentication. Therefore, using basic auth and encrypting the + whole connection using mod_ssl is a much better + alternative.

+
+ +
top
+
+

Using Digest Authentication

+ +

To use MD5 Digest authentication, configure the location to be + protected as shown in the below example:

+ +

Example:

<Location "/private/">
+    AuthType Digest
+    AuthName "private area"
+    AuthDigestDomain "/private/" "http://mirror.my.dom/private2/"
+    
+    AuthDigestProvider file
+    AuthUserFile "/web/auth/.digest_pw"
+    Require valid-user
+</Location>
+
+ +

AuthDigestDomain + should list the locations that will be protected by this + configuration.

+ +

The password file referenced in the AuthUserFile directive may be + created and managed using the htdigest tool.

+ + +

Note

+

Digest authentication was intended to be more secure than basic + authentication, but no longer fulfills that design goal. A + man-in-the-middle attacker can trivially force the browser to downgrade + to basic authentication. And even a passive eavesdropper can brute-force + the password using today's graphics hardware, because the hashing + algorithm used by digest authentication is too fast. Another problem is + that the storage of the passwords on the server is insecure. The contents + of a stolen htdigest file can be used directly for digest authentication. + Therefore using mod_ssl to encrypt the whole connection is + strongly recommended.

+

mod_auth_digest only works properly on platforms + where APR supports shared memory.

+
+
+
top
+

AuthDigestAlgorithm Directive

+ + + + + + + + +
Description:Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
Syntax:AuthDigestAlgorithm MD5|MD5-sess
Default:AuthDigestAlgorithm MD5
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_auth_digest
+

The AuthDigestAlgorithm directive + selects the algorithm used to calculate the challenge and response + hashes.

+ +
+ MD5-sess is not correctly implemented yet. +
+ + +
+
top
+

AuthDigestDomain Directive

+ + + + + + + +
Description:URIs that are in the same protection space for digest +authentication
Syntax:AuthDigestDomain URI [URI] ...
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_auth_digest
+

The AuthDigestDomain directive allows + you to specify one or more URIs which are in the same protection + space (i.e. use the same realm and username/password info). + The specified URIs are prefixes; the client will assume + that all URIs "below" these are also protected by the same + username/password. The URIs may be either absolute URIs (i.e. + including a scheme, host, port, etc.) or relative URIs.

+ +

This directive should always be specified and + contain at least the (set of) root URI(s) for this space. + Omitting to do so will cause the client to send the + Authorization header for every request sent to this + server.

+ +

The URIs specified can also point to different servers, in + which case clients (which understand this) will then share + username/password info across multiple servers without + prompting the user each time.

+ +
+
top
+

AuthDigestNonceLifetime Directive

+ + + + + + + + +
Description:How long the server nonce is valid
Syntax:AuthDigestNonceLifetime seconds
Default:AuthDigestNonceLifetime 300
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_auth_digest
+

The AuthDigestNonceLifetime directive + controls how long the server nonce is valid. When the client + contacts the server using an expired nonce the server will send + back a 401 with stale=true. If seconds is + greater than 0 then it specifies the amount of time for which the + nonce is valid; this should probably never be set to less than 10 + seconds. If seconds is less than 0 then the nonce never + expires. +

+ +
+
top
+

AuthDigestProvider Directive

+ + + + + + + + +
Description:Sets the authentication provider(s) for this location
Syntax:AuthDigestProvider provider-name +[provider-name] ...
Default:AuthDigestProvider file
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_auth_digest
+

The AuthDigestProvider directive sets + which provider is used to authenticate the users for this location. + The default file provider is implemented + by the mod_authn_file module. Make sure + that the chosen provider module is present in the server.

+ +

See mod_authn_dbm, mod_authn_file, + mod_authn_dbd and mod_authn_socache + for providers.

+ +
+
top
+

AuthDigestQop Directive

+ + + + + + + + +
Description:Determines the quality-of-protection to use in digest +authentication
Syntax:AuthDigestQop none|auth|auth-int [auth|auth-int]
Default:AuthDigestQop auth
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_auth_digest
+

The AuthDigestQop directive determines + the quality-of-protection to use. auth will + only do authentication (username/password); auth-int is + authentication plus integrity checking (an MD5 hash of the entity + is also computed and checked); none will cause the module + to use the old RFC-2069 digest algorithm (which does not include + integrity checking). Both auth and auth-int may + be specified, in which the case the browser will choose which of + these to use. none should only be used if the browser for + some reason does not like the challenge it receives otherwise.

+ +
+ auth-int is not implemented yet. +
+ +
+
top
+

AuthDigestShmemSize Directive

+ + + + + + + +
Description:The amount of shared memory to allocate for keeping track +of clients
Syntax:AuthDigestShmemSize size
Default:AuthDigestShmemSize 1000
Context:server config
Status:Extension
Module:mod_auth_digest
+

The AuthDigestShmemSize directive defines + the amount of shared memory, that will be allocated at the server + startup for keeping track of clients. Note that the shared memory + segment cannot be set less than the space that is necessary for + tracking at least one client. This value is dependent on your + system. If you want to find out the exact value, you may simply + set AuthDigestShmemSize to the value of + 0 and read the error message after trying to start the + server.

+ +

The size is normally expressed in Bytes, but you + may follow the number with a K or an M to + express your value as KBytes or MBytes. For example, the following + directives are all equivalent:

+ +
AuthDigestShmemSize 1048576
+AuthDigestShmemSize 1024K
+AuthDigestShmemSize 1M
+ + +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_digest.html.fr.utf8 b/docs/manual/mod/mod_auth_digest.html.fr.utf8 new file mode 100644 index 0000000..1addd19 --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html.fr.utf8 @@ -0,0 +1,316 @@ + + + + + +mod_auth_digest - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_auth_digest

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + +
Description:Authentification utilisateur utilisant les condensés +MD5
Statut:Extension
Identificateur de Module:auth_digest_module
Fichier Source:mod_auth_digest.c
+

Sommaire

+ +

Ce module implémente l'authentification HTTP basée sur les + condensés MD5 (RFC2617), et + fournit une alternative à mod_auth_basic en + ne transmettant plus le mot de passe en clair. Cependant, cela ne + suffit pas pour améliorer la sécurité de manière significative par + rapport à l'authentification basique. En outre, le stockage du mot + de passe sur le serveur est encore moins sûr dans le cas + d'une authentification à base de condensé que dans le cas d'une + authentification basique. C'est pourquoi l'utilisation de + l'authentification basique associée à un chiffrement de la connexion + via mod_ssl constitue une bien meilleure + alternative.

+
+ +
top
+
+

Utilisation de l'authentification à base de +condensés

+ +

Pour utiliser l'authentification à base de condensés MD5, vous + devez simplement remplacer AuthType Basic et AuthBasicProvider respectivement + par AuthType Digest et AuthDigestProvider lorsque vous + configurez l'authentification, puis ajouter une directive AuthDigestDomain contenant au + moins la(les) URI(s) racine(s) de la zone à protéger.

+ +

On peut créer les fichiers utilisateur appropriés (au format + texte) à l'aide de l'outil htdigest.

+ +

Exemple :

<Location "/private/">
+    AuthType Digest
+    AuthName "private area"
+    AuthDigestDomain "/private/" "http://mirror.my.dom/private2/"
+    
+    AuthDigestProvider file
+    AuthUserFile "/web/auth/.digest_pw"
+    Require valid-user
+</Location>
+
+ +

Note

+

L'authentification à base de condensé a été conçue pour améliorer + la sécurité par rapport à l'authentification basique, mais il + s'avère que ce but n'a pas été atteint. Un attaquant de type + "man-in-the-middle" peut facilement forcer le navigateur à revenir à + une authentification basique. Même une oreille indiscrète passive + peut retrouver le mot de passe par force brute avec les moyens + modernes, car l'algorithme de hashage utilisé par l'authentification + à base de condensé est trop rapide. Autre problème, le stockage des + mots de passe sur le serveur n'est pas sûr. Le contenu d'un fichier + htdigest volé peut être utilisé directement pour l'authentification + à base de condensé. Il est donc fortement recommandé d'utiliser + mod_ssl pour chiffrer la connexion.

+

mod_auth_digest ne fonctionne correctement que + sur les plates-formes où APR supporte la mémoire partagée.

+
+
+
top
+

Directive AuthDigestAlgorithm

+ + + + + + + + +
Description:Sélectionne l'algorithme utilisé pour calculer les +condensés du défit et de sa réponse
Syntaxe:AuthDigestAlgorithm MD5|MD5-sess
Défaut:AuthDigestAlgorithm MD5
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_auth_digest
+

La directive AuthDigestAlgorithm permet de + sélectionner l'algorithme utilisé pour calculer les condensés du + défit et de sa réponse.

+ +
+ MD5-sess n'est pas encore correctement implémenté. +
+ + +
+
top
+

Directive AuthDigestDomain

+ + + + + + + +
Description:Les URIs qui se trouvent dans le même espace de protection +concernant l'authentification à base de condensés
Syntaxe:AuthDigestDomain URI [URI] ...
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_auth_digest
+

La directive AuthDigestDomain vous permet + de spécifier un ou plusieurs URIs se trouvant dans le même + espace de protection (c'est à dire utilisant le même utilisateur/mot + de passe et se trouvant dans le même domaine). Les URIs spécifiés + sont des préfixes ; le client doit savoir que tous les URIs situés + sous ces préfixes seront protégés par le même utilisateur/mot de + passe. Les URIs peuvent être soit des URIs absolus (c'est à dire + avec protocole, nom serveur, port, etc...), soit des URIs + relatifs.

+ +

Cette directive doit toujours être présente et contenir au moins + le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le + client va envoyer un en-tête d'autorisation avec chaque + requête à destination de ce serveur.

+ +

Les URIs spécifiés peuvent aussi référencer différents serveurs, + auquel cas les clients (qui sont à même de le comprendre) vont + partager l'utilisateur/mot de passe entre plusieurs serveurs sans le + demander à l'utilisateur à chaque fois.

+ +
+
top
+

Directive AuthDigestNonceLifetime

+ + + + + + + + +
Description:Durée de validité du nombre à valeur unique du +serveur (nonce)
Syntaxe:AuthDigestNonceLifetime secondes
Défaut:AuthDigestNonceLifetime 300
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_auth_digest
+

La directive AuthDigestNonceLifetime + permet de contrôler la durée de validité du nombre à valeur unique + du serveur (nonce). Lorsque le client contacte le serveur en + utilisant un nonce dont la validité a expiré, le serveur renvoie un + code d'erreur 401 avec stale=true. Si + secondes est supérieur à 0, il spécifie la durée de + validité du nonce ; il est en général déconseillé d'affecter à cet + argument une valeur inférieure à 10 secondes. Si + secondes est inférieur à 0, le nonce n'expire jamais. + +

+ +
+
top
+

Directive AuthDigestProvider

+ + + + + + + + +
Description:Définit le(s) fournisseurs(s) d'authentification pour la +zone du site web concernée
Syntaxe:AuthDigestProvider nom fournisseur +[nom fournisseur] ...
Défaut:AuthDigestProvider file
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_auth_digest
+

La directive AuthDigestProvider permet de + définir quel fournisseur d'authentification sera utilisé pour + authentifier les utilisateurs pour la zone du site web concernée. + Assurez-vous que le module implémentant le fournisseur + d'authentification choisi soit bien présent dans le serveur. Le + fournisseur par défaut file est implémenté par le + module mod_authn_file.

+ +

Voir mod_authn_dbm, + mod_authn_file, mod_authn_dbd et + mod_authn_socache + pour la liste des fournisseurs disponibles.

+ +
+
top
+

Directive AuthDigestQop

+ + + + + + + + +
Description:Détermine le niveau de protection fourni par +l'authentification à base de condensé
Syntaxe:AuthDigestQop none|auth|auth-int [auth|auth-int]
Défaut:AuthDigestQop auth
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_auth_digest
+

La directive AuthDigestQop permet de + définir le niveau de protection fourni. auth + ne fournit que l'authentification (nom utilisateur/mot de passe) ; + auth-int fournit l'authentification plus un contrôle + d'intégrité (un condensé MD5 de l'entité est aussi calculé et + vérifié) ; avec none, le module va utiliser l'ancien + algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle + d'intégrité). On peut spécifier à la fois auth et + auth-int, auquel cas c'est le navigateur qui va choisir + lequel des deux utiliser. none ne doit être utilisé que + dans le cas où le navigateur ne serait pas à même (pour une raison + ou pour une autre) de relever le défit qu'il recevrait si un autre + niveau de protection était défini.

+ +
+ auth-int n'est pas encore implémenté. +
+ +
+
top
+

Directive AuthDigestShmemSize

+ + + + + + + +
Description:La quantité de mémoire partagée à allouer afin de conserver +les informations à propos des clients
Syntaxe:AuthDigestShmemSize taille
Défaut:AuthDigestShmemSize 1000
Contexte:configuration globale
Statut:Extension
Module:mod_auth_digest
+

La directive AuthDigestShmemSize permet de + définir la quantité de mémoire partagée à allouer au démarrage du + serveur afin de conserver les informations à propos des clients. + Notez que le segment de mémoire partagée ne peut pas être défini à + une taille inférieure à l'espace nécessaire pour conserver les + informations à propos d'un client. Cette valeur dépend de + votre système. Si vous voulez en déterminer la valeur exacte, vous + pouvez simplement définir AuthDigestShmemSize + à 0 et consulter le message d'erreur que renverra le + serveur lorsqu'on essaiera de le démarrer.

+ +

L'argument size s'exprime par défaut en octets, mais + vous pouvez suffixer le nombre par un K ou un + M pour spécifier respectivement des KiloOctets ou des + MégaOctets. Par exemple, les directives qui suivent sont toutes + équivalentes :

+ +
AuthDigestShmemSize 1048576
+AuthDigestShmemSize 1024K
+AuthDigestShmemSize 1M
+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_digest.html.ko.euc-kr b/docs/manual/mod/mod_auth_digest.html.ko.euc-kr new file mode 100644 index 0000000..6442f39 --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html.ko.euc-kr @@ -0,0 +1,317 @@ + + + + + +mod_auth_digest - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_auth_digest

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:MD5 Digest AuthenticationÀ» »ç¿ëÇÑ »ç¿ëÀÚÀÎÁõ.
»óÅÂ:Experimental
¸ðµâ¸í:auth_digest_module
¼Ò½ºÆÄÀÏ:mod_auth_digest.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº HTTP Digest AuthenticationÀ» ±¸ÇöÇÑ´Ù. + ±×·¯³ª ¸¹Àº Å×½ºÆ®¸¦ °ÅÄ¡Áö ¾ÊÀº ½ÇÇèÀûÀÎ ¸ðµâÀÌ´Ù.

+
+ +
top
+
+

Digest Authentication »ç¿ëÇϱâ

+ +

MD5 Digest authenticationÀº ¸Å¿ì ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. + AuthType Basic°ú AuthBasicProvider ´ë½Å + AuthType Digest¿Í AuthDigestProvider¸¦ + »ç¿ëÇÏ¿© °£´ÜÈ÷ ÀÎÁõÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ÃÖ¼ÒÇÑ º¸È£ÇÏ·Á´Â + ¿µ¿ªÀÇ ±âº» URIÀ» AuthDigestDomain Áö½Ã¾î¿¡ »ç¿ëÇÑ´Ù.

+ +

htdigest µµ±¸¸¦ + »ç¿ëÇÏ¿© »ç¿ëÀÚ (¹®ÀÚ)ÆÄÀÏÀ» ¸¸µé ¼ö ÀÖ´Ù.

+ +

¿¹Á¦:

+ <Location /private/>
+ + AuthType Digest
+ AuthName "private area"
+ AuthDigestDomain /private/ http://mirror.my.dom/private2/
+
+ AuthDigestProvider file
+ AuthUserFile /web/auth/.digest_pw
+ Require valid-user
+
+ </Location> +

+ +

ÁÖÀÇ

+

Digest authenticationÀº Basic authenticationº¸´Ù ´õ + ¾ÈÀüÇÏÁö¸¸, ºê¶ó¿ìÀú°¡ Áö¿øÇØ¾ß ÇÑ´Ù. 2002³â 11¿ù ÇöÀç digest + authenticationÀ» Áö¿øÇÏ´Â ºê¶ó¿ìÀú¿¡´Â Amaya, Konqueror, (Windows¿ëÀº + ÁúÀǹ®ÀÚ¿­°ú ÇÔ²² »ç¿ëÇÏ¸é ¾ÈµÇÁö¸¸ - ÇØ°á¹æ¹ýÀº ¾Æ·¡ "MS Internet Explorer ¹®Á¦ ÇØ°áÇϱâ"¸¦ Âü°í) + Mac OS X¿Í Windows¿ë MS Internet + Explorer, Mozilla, + Netscape ¹öÀü 7, Opera, + Safari µîÀÌ ÀÖ´Ù. + lynx´Â digest authenticationÀ» + Áö¿øÇÏÁö ¾Ê´Â´Ù. digest authenticationÀÌ + basic authentication ¸¸Å­ ³Î¸® ±¸ÇöµÇÁö ¾Ê¾Ò±â¶§¹®¿¡ ¸ðµç + »ç¿ëÀÚ°¡ Áö¿øÇÏ´Â ºê¶ó¿ìÀú¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡¸¸ »ç¿ëÇØ¾ß + ÇÑ´Ù.

+
+
top
+
+

MS Internet Explorer ¹®Á¦ ÇØ°áÇϱâ

+

ÇöÀç Windows¿ë Internet Explorer´Â Digest authentication + »ç¿ë½Ã ÁúÀǹ®ÀÚ¿­ÀÌ ÀÖ´Â GET ¿äûÀ» RFC¿Í ´Ù¸£°Ô + ó¸®ÇÏ´Â ¹®Á¦°¡ ÀÖ´Ù. ¸î°¡Áö ¹æ¹ýÀ¸·Î ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö + ÀÖ´Ù.

+ +

+ ù¹ø°´Â ÇÁ·Î±×·¥¿¡ ÀڷḦ ³Ñ°ÜÁÖ±âÀ§ÇØ GET + ´ë½Å POST ¿äûÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ¹ýÀÌ + °¡´ÉÇÏ´Ù¸é °¡Àå °£´ÜÇÑ ÇØ°áÃ¥ÀÌ´Ù. +

+ +

¶Ç, ¾ÆÆÄÄ¡ 2.0.51ºÎÅÍ AuthDigestEnableQueryStringHack + ȯ°æº¯¼ö¸¦ Á¦°øÇÏ¿© ¹®Á¦¸¦ ÇØ°áÇÑ´Ù. ¿äû¿¡ + AuthDigestEnableQueryStringHackÀ» ¼³Á¤Çϸé + ¾ÆÆÄÄ¡´Â MSIE ¹ö±×¸¦ ÇÇÇØ°¥ Á¶Ä¡¸¦ ÃëÇÏ°í ¿äû URI¸¦ digest + ºñ±³¿¡¼­ Á¦¿ÜÇÑ´Ù. ÀÌ ¹æ¹ýÀº ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.

+ +

MSIE¿¡¼­ Digest Authentication »ç¿ëÇϱâ:

+ BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On +

+ +

¼±ÅÃÀûÀΠȯ°æº¯¼ö ¼³Á¤¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº BrowserMatch Áö½Ã¾î¸¦ + Âü°íÇ϶ó.

+
+
top
+

AuthDigestAlgorithm Áö½Ã¾î

+ + + + + + + + +
¼³¸í:digest authentication¿¡¼­ challenge¿Í response +hash¸¦ °è»êÇÏ´Â ¾Ë°í¸®ÁòÀ» ¼±ÅÃÇÑ´Ù
¹®¹ý:AuthDigestAlgorithm MD5|MD5-sess
±âº»°ª:AuthDigestAlgorithm MD5
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Experimental
¸ðµâ:mod_auth_digest
+

AuthDigestAlgorithm Áö½Ã¾î´Â + challenge¿Í response hash¸¦ °è»êÇÏ´Â ¾Ë°í¸®ÁòÀ» ¼±ÅÃÇÑ´Ù.

+ +
+ MD5-sess´Â ¾ÆÁ÷ ¿ÏÀüÈ÷ ±¸ÇöµÇÁö ¾Ê¾Ò´Ù. +
+ + +
+
top
+

AuthDigestDomain Áö½Ã¾î

+ + + + + + + +
¼³¸í:digest authentication¿¡¼­ °°Àº º¸È£¿µ¿ª¿¡ ¼ÓÇÏ´Â +URIµé
¹®¹ý:AuthDigestDomain URI [URI] ...
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Experimental
¸ðµâ:mod_auth_digest
+

AuthDigestDomain Áö½Ã¾î´Â °°Àº + º¸È£¿µ¿ª¿¡ ÀÖ´Â (¿¹¸¦ µé¾î °°Àº ¿µ¿ª°ú »ç¿ëÀÚ¸í/¾ÏÈ£ + Á¤º¸¸¦ »ç¿ëÇÏ´Â) URIµéÀ» ÁöÁ¤ÇÑ´Ù. ÁöÁ¤ÇÑ URI´Â Á¢µÎ»ç·Î + »ç¿ëÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â URI "¾Æ·¡" ¸ðµÎ¸¦ + °°Àº »ç¿ëÀÚ¸í/¾ÏÈ£·Î º¸È£ÇÑ´Ù°í °¡Á¤ÇÑ´Ù. URI´Â + (Áï, ½ºÅ´(scheme), È£½ºÆ®, Æ÷Æ® µîÀ» Æ÷ÇÔÇÏ´Â) + Àý´ë URLÀ̰ųª »ó´ë URIÀÌ´Ù.

+ +

ÀÌ Áö½Ã¾î´Â Ç×»ó ÁöÁ¤ÇØ¾ß Çϸç, ÃÖ¼ÒÇÑ ¿µ¿ªµéÀÇ + ±âº» URI(µé)¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù. »ý·«Çϸé Ŭ¶óÀ̾ðÆ®´Â + ÀÌ ¼­¹ö·Î º¸³»´Â ¸ðµç ¿äû¿¡ Authorization Çì´õ¸¦ + Æ÷ÇÔÇÑ´Ù. ±×·¯¸é ¿äûÀÇ Å©±â°¡ Ä¿Áö¸ç, AuthDigestNcCheck¸¦ + »ç¿ëÇÑ´Ù¸é ¼º´É¿¡ ³ª»Û ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Ù.

+ +

´Ù¸¥ ¼­¹öÀÇ URI¸¦ ÁöÁ¤Çϸé, (À̸¦ ÀÌÇØÇÏ´Â) Ŭ¶óÀ̾ðÆ®´Â + ¿©·¯ ¼­¹ö¸¶´Ù ¸Å¹ø »ç¿ëÀÚ¿¡°Ô ¹¯Áö¾Ê°í °°Àº »ç¿ëÀÚ¸í/¾ÏÈ£¸¦ + »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +
+
top
+

AuthDigestNonceLifetime Áö½Ã¾î

+ + + + + + + + +
¼³¸í:¼­¹ö nonce°¡ À¯È¿ÇÑ ±â°£
¹®¹ý:AuthDigestNonceLifetime seconds
±âº»°ª:AuthDigestNonceLifetime 300
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Experimental
¸ðµâ:mod_auth_digest
+

AuthDigestNonceLifetime Áö½Ã¾î´Â + ¼­¹ö nonce°¡ À¯È¿ÇÑ ±â°£À» Á¶ÀýÇÑ´Ù. Ŭ¶óÀ̾ðÆ®°¡ ¸¸±âµÈ + nonce¸¦ °¡Áö°í ¼­¹ö¿¡ Á¢±ÙÇÏ¸é ¼­¹ö´Â stale=true¿Í + ÇÔ²² 401À» ¹ÝȯÇÑ´Ù. seconds°¡ 0º¸´Ù Å©¸é nonce°¡ + À¯È¿ÇÑ ±â°£À» ÁöÁ¤ÇÑ´Ù. ¾Æ¸¶µµ 10 Ãʺ¸´Ù ÀÛ°Ô ¼³Á¤ÇÏ¸é ¾ÈµÈ´Ù. + seconds°¡ 0º¸´Ù ÀÛÀ¸¸é nonce´Â ¿µ¿øÈ÷ ¸¸±âµÇÁö + ¾Ê´Â´Ù. +

+ +
+
top
+

AuthDigestProvider Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ÀÌ À§Ä¡¿¡ ´ëÇÑ ÀÎÁõÁ¦°øÀÚ¸¦ ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthDigestProvider On|Off|provider-name +[provider-name] ...
±âº»°ª:AuthDigestProvider On
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Experimental
¸ðµâ:mod_auth_digest
+

AuthDigestProvider Áö½Ã¾î´Â ÀÌ + À§Ä¡¿¡¼­ »ç¿ëÀÚ¸¦ ÀÎÁõÇÒ Á¦°øÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. °ªÀÌ + OnÀÌ¸é ±âº»Á¦°øÀÚ(file)¸¦ »ç¿ëÇÑ´Ù. + mod_authn_file ¸ðµâÀÌ file + Á¦°øÀÚ¸¦ ±¸ÇöÇϱ⶧¹®¿¡ ¼­¹ö¿¡ ÀÌ ¸ðµâÀÌ ÀÖ´ÂÁö È®ÀÎÇØ¾ß + ÇÑ´Ù.

+ +

Á¦°øÀÚ´Â mod_authn_dbm°ú + mod_authn_fileÀ» Âü°íÇ϶ó.

+ +

°ªÀÌ OffÀ̸é Á¦°øÀÚ ¸ñ·ÏÀ» Áö¿ì°í ±âº»»óÅ·Π+ µ¹¾Æ°£´Ù.

+ +
+
top
+

AuthDigestQop Áö½Ã¾î

+ + + + + + + + +
¼³¸í:digest authentication°¡ »ç¿ëÇÒ +º¸È£¼öÁØ(quality-of-protection)À» ÁöÁ¤ÇÑ´Ù.
¹®¹ý:AuthDigestQop none|auth|auth-int [auth|auth-int]
±âº»°ª:AuthDigestQop auth
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Experimental
¸ðµâ:mod_auth_digest
+

AuthDigestQop Áö½Ã¾î´Â + º¸È£¼öÁØ(quality-of-protection)À» ÁöÁ¤ÇÑ´Ù. + auth´Â (»ç¿ëÀÚ¸í/¾ÏÈ£) ÀÎÁõ¸¸ ÇÏ°í, + auth-int´Â ÀÎÁõ°ú ¿Ï°á¼º °Ë»ç¸¦ (MD5 Çؽ¬µµ + °è»êÇÏ¿© °Ë»çÇÑ´Ù) ÇÑ´Ù. noneÀº (¿Ï°á¼º °Ë»ç¸¦ + ÇÏÁö¾Ê´Â) ¿À·¡µÈ RFC-2069 digest ¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ´Ù. + auth¿Í auth-int¸¦ ¸ðµÎ ÁöÁ¤ÇÒ + ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ºê¶ó¿ìÀú´Â ¾î¶² °ÍÀ» »ç¿ëÇÒÁö ¼±ÅÃÇÑ´Ù. + ºê¶ó¿ìÀú°¡ ¾î´ø ÀÌÀ¯¿¡¼­°Ç challenge¸¦ ÁÁ¾ÆÇÏÁö ¾Ê´Â´Ù¸é + noneÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.

+ +
+ auth-int´Â ¾ÆÁ÷ ±¸ÇöµÇÁö ¾Ê¾Ò´Ù. +
+ +
+
top
+

AuthDigestShmemSize Áö½Ã¾î

+ + + + + + + +
¼³¸í:Ŭ¶óÀ̾ðÆ®¸¦ ÃßÀûÇϱâÀ§ÇØ ÇÒ´çÇÏ´Â °øÀ¯¸Þ¸ð¸®·®
¹®¹ý:AuthDigestShmemSize size
±âº»°ª:AuthDigestShmemSize 1000
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Experimental
¸ðµâ:mod_auth_digest
+

AuthDigestShmemSize Áö½Ã¾î´Â + Ŭ¶óÀ̾ðÆ®¸¦ ÃßÀûÇϱâÀ§ÇØ ¼­¹ö°¡ ½ÃÀÛÇÒ¶§ ÇÒ´çÇÏ´Â + °øÀ¯¸Þ¸ð¸®·®À» Á¤ÀÇÇÑ´Ù. °øÀ¯¸Þ¸ð¸®´Â ÃÖ¼ÒÇÑ ÇϳªÀÇ + Ŭ¶óÀ̾ðÆ®¸¦ ÃßÀûÇϱâÀ§ÇØ ÇÊ¿äÇÑ °ø°£º¸´Ù ÀÛÀ» ¼ö ¾øÀ½À» + ÁÖÀÇÇ϶ó. ÀÌ °ªÀº ½Ã½ºÅÛ¿¡ µû¶ó ´Ù¸£´Ù. Á¤È®ÇÑ °ªÀ» ¾Ë·Á¸é + AuthDigestShmemSize¸¦ 0À¸·Î + ¼³Á¤ÇÏ°í ¼­¹ö¸¦ ½ÃÀÛÇÑÈÄ ¿À·ù¹®À» Âü°íÇ϶ó.

+ +

size´Â º¸Åë ¹ÙÀÌÆ® ´ÜÀ§ÀÌÁö¸¸, µÚ¿¡ + K³ª MÀ» »ç¿ëÇÏ¿© KBytes³ª MBytes¸¦ + ³ªÅ¸³¾ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ Áö½Ã¾îµéÀº ¸ðµÎ °°´Ù:

+ +

+ AuthDigestShmemSize 1048576
+ AuthDigestShmemSize 1024K
+ AuthDigestShmemSize 1M +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_form.html b/docs/manual/mod/mod_auth_form.html new file mode 100644 index 0000000..f16f673 --- /dev/null +++ b/docs/manual/mod/mod_auth_form.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_auth_form.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_form.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_auth_form.html.en b/docs/manual/mod/mod_auth_form.html.en new file mode 100644 index 0000000..113c1b9 --- /dev/null +++ b/docs/manual/mod/mod_auth_form.html.en @@ -0,0 +1,735 @@ + + + + + +mod_auth_form - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_auth_form

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Form authentication
Status:Base
Module Identifier:auth_form_module
Source File:mod_auth_form.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

Warning

+

Form authentication depends on the mod_session + modules, and these modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.

+
+ +

This module allows the use of an HTML login form to restrict access + by looking up users in the given providers. HTML forms require + significantly more configuration than the alternatives, however an + HTML login form can provide a much friendlier experience for end users. +

+ +

HTTP basic authentication is provided by + mod_auth_basic, and HTTP digest authentication is + provided by mod_auth_digest. This module should + be combined with at least one authentication module + such as mod_authn_file and one authorization + module such as mod_authz_user.

+ +

Once the user has been successfully authenticated, the user's login + details will be stored in a session provided by mod_session. +

+ +
+ +
top
+
+

Basic Configuration

+ +

To protect a particular URL with mod_auth_form, you need to + decide where you will store your session, and you will need to + decide what method you will use to authenticate. In this simple example, the + login details will be stored in a session based on + mod_session_cookie, and authentication will be attempted against + a file using mod_authn_file. If authentication is unsuccessful, + the user will be redirected to the form login page.

+ +

Basic example

<Location "/admin">
+    AuthFormProvider file
+    AuthUserFile "conf/passwd"
+    AuthType form
+    AuthName "/admin"
+    AuthFormLoginRequiredLocation "http://example.com/login.html"
+
+    Session On
+    SessionCookieName session path=/
+
+    Require valid-user
+</Location>
+
+ +

The directive AuthType will enable + the mod_auth_form authentication when set to the value form. + The directives AuthFormProvider and + AuthUserFile specify that usernames + and passwords should be checked against the chosen file.

+ +

The directives Session and + SessionCookieName + session stored within an HTTP cookie on the browser. For more information + on the different options for configuring a session, read the documentation for + mod_session.

+ +

You can optionally add a + SessionCryptoPassphrase to + create an encrypted session cookie. This required the additional + module mod_session_crypto be loaded.

+ +

In the simple example above, a URL has been protected by + mod_auth_form, but the user has yet to be given an opportunity to + enter their username and password. Options for doing so include providing a + dedicated standalone login page for this purpose, or for providing the login + page inline.

+
top
+
+

Standalone Login

+ +

The login form can be hosted as a standalone page, or can be provided inline on + the same page.

+ +

When configuring the login as a standalone page, unsuccessful authentication + attempts should be redirected to a login form created by the website for this purpose, + using the AuthFormLoginRequiredLocation + directive. Typically this login page will contain an HTML form, asking the user to + provide their usename and password.

+ +

Example login form

<form method="POST" action="/dologin.html">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+</form>
+
+ +

The part that does the actual login is handled by the form-login-handler. + The action of the form should point at this handler, which is configured within + Apache httpd as follows:

+ +

Form login handler example

<Location "/dologin.html">
+    SetHandler form-login-handler
+    AuthFormLoginRequiredLocation "http://example.com/login.html"
+    AuthFormLoginSuccessLocation "http://example.com/admin/index.html"
+    AuthFormProvider file
+    AuthUserFile "conf/passwd"
+    AuthType form
+    AuthName /admin
+    Session On
+    SessionCookieName session path=/
+</Location>
+
+ +

The URLs specified by the + AuthFormLoginRequiredLocation directive will typically + point to a page explaining to the user that their login attempt was unsuccessful, and they + should try again. The AuthFormLoginSuccessLocation + directive specifies the URL the user should be redirected to upon successful login.

+ +

Alternatively, the URL to redirect the user to on success can be embedded within the login + form, as in the example below. As a result, the same form-login-handler can be + reused for different areas of a website.

+ +

Example login form with location

<form method="POST" action="/dologin.html">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+  <input type="hidden" name="httpd_location" value="http://example.com/success.html" />
+</form>
+
+ +
top
+
+

Inline Login

+ +

Warning

+

A risk exists that under certain circumstances, the login form configured + using inline login may be submitted more than once, revealing login credentials to + the application running underneath. The administrator must ensure that the underlying + application is properly secured to prevent abuse. If in doubt, use the + standalone login configuration.

+
+ +

As an alternative to having a dedicated login page for a website, it is possible to + configure mod_auth_form to authenticate users inline, without being + redirected to another page. This allows the state of the current page to be preserved + during the login attempt. This can be useful in a situation where a time limited + session is in force, and the session times out in the middle of the user request. The + user can be re-authenticated in place, and they can continue where they left off.

+ +

If a non-authenticated user attempts to access a page protected by + mod_auth_form that isn't configured with a + AuthFormLoginRequiredLocation directive, + a HTTP_UNAUTHORIZED status code is returned to the browser indicating to the user + that they are not authorized to view the page.

+ +

To configure inline authentication, the administrator overrides the error document + returned by the HTTP_UNAUTHORIZED status code with a custom error document + containing the login form, as follows:

+ +

Basic inline example

AuthFormProvider file
+ErrorDocument 401 "/login.shtml"
+AuthUserFile "conf/passwd"
+AuthType form
+AuthName realm
+AuthFormLoginRequiredLocation "http://example.com/login.html"
+Session On
+SessionCookieName session path=/
+
+ +

The error document page should contain a login form with an empty action property, + as per the example below. This has the effect of submitting the form to + the original protected URL, without the page having to know what that + URL is.

+ +

Example inline login form

<form method="POST" action="">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+</form>
+
+ +

When the end user has filled in their login details, the form will make + an HTTP POST request to the original password protected URL. + mod_auth_form will intercept this POST request, and if + HTML fields are found present for the username and password, the user + will be logged in, and the original password protected URL will be returned + to the user as a GET request.

+ +
top
+
+

Inline Login with Body Preservation

+ +

A limitation of the inline login technique described above is that should an + HTML form POST have resulted in the request to authenticate or + reauthenticate, the + contents of the original form posted by the browser will be lost. Depending on + the function of the website, this could present significant inconvenience for the + end user.

+ +

mod_auth_form addresses this by allowing the method and body + of the original request to be embedded in the login form. If authentication + is successful, the original method and body will be retried by Apache httpd, preserving + the state of the original request.

+ +

To enable body preservation, add three additional fields to the login form as + per the example below.

+ +

Example with body preservation

<form method="POST" action="">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+  
<input type="hidden" name="httpd_method" value="POST" /> + <input type="hidden" name="httpd_mimetype" value="application/x-www-form-urlencoded" /> + <input type="hidden" name="httpd_body" value="name1=value1&name2=value2" />
+</form>
+
+ +

How the method, mimetype and body of the original request are embedded within the + login form will depend on the platform and technology being used within the website. +

+ +

One option is to use the mod_include module along with the + KeptBodySize directive, along with a suitable + CGI script to embed the variables in the form.

+ +

Another option is to render the login form using a CGI script or other dynamic + technology.

+ +

CGI example

AuthFormProvider file
+ErrorDocument 401 "/cgi-bin/login.cgi"
+...
+
+ +
top
+
+

Logging Out

+ +

To enable a user to log out of a particular session, configure a page to + be handled by the form-logout-handler. Any attempt to access this + URL will cause the username and password to be removed from the current + session, effectively logging the user out.

+ +

By setting the + AuthFormLogoutLocation directive, + a URL can be specified that the browser will be redirected to on successful + logout. This URL might explain to the user that they have been logged out, and + give the user the option to log in again.

+ +

Basic logout example

SetHandler form-logout-handler
+AuthName realm
+AuthFormLogoutLocation "http://example.com/loggedout.html"
+Session On
+SessionCookieName session path=/
+
+ +

Note that logging a user out does not delete the session; it merely removes + the username and password from the session. If this results in an empty session, + the net effect will be the removal of that session, but this is not + guaranteed. If you want to guarantee the removal of a session, set the + SessionMaxAge directive to a small + value, like 1 (setting the directive to zero would mean no session age limit). +

+ +

Basic session expiry example

SetHandler form-logout-handler
+AuthFormLogoutLocation "http://example.com/loggedout.html"
+Session On
+SessionMaxAge 1
+SessionCookieName session path=/
+
+ +
top
+
+

Usernames and Passwords

+

Note that form submission involves URLEncoding the form data: + in this case the username and password. You should therefore + pick usernames and passwords that avoid characters that are + URLencoded in form submission, or you may get unexpected results.

+
+
top
+

AuthFormAuthoritative Directive

+ + + + + + + + +
Description:Sets whether authorization and authentication are passed to +lower level modules
Syntax:AuthFormAuthoritative On|Off
Default:AuthFormAuthoritative On
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_auth_form
+

Normally, each authorization module listed in AuthFormProvider will attempt + to verify the user, and if the user is not found in any provider, + access will be denied. Setting the + AuthFormAuthoritative directive explicitly + to Off allows for both authentication and + authorization to be passed on to other non-provider-based modules + if there is no userID or rule + matching the supplied userID. This should only be necessary when + combining mod_auth_form with third-party modules + that are not configured with the AuthFormProvider + directive. When using such modules, the order of processing + is determined in the modules' source code and is not configurable.

+ +
+
top
+

AuthFormBody Directive

+ + + + + + + + +
Description:The name of a form field carrying the body of the request to attempt on successful login
Syntax:AuthFormBody fieldname
Default:AuthFormBody httpd_body
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormBody directive specifies + the name of an HTML field which, if present, will contain the body of the request + to submit should login be successful.

+ +

By populating the form with fields described by + AuthFormMethod, + AuthFormMimetype and + AuthFormBody, a website can retry + a request that may have been interrupted by the login screen, or by a session + timeout.

+ +
+
top
+

AuthFormDisableNoStore Directive

+ + + + + + + + +
Description:Disable the CacheControl no-store header on the login page
Syntax:AuthFormDisableNoStore On|Off
Default:AuthFormDisableNoStore Off
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormDisableNoStore flag + disables the sending of a Cache-Control no-store header with the + error 401 page returned when the user is not yet logged in. The purpose of the header + is to make it difficult for an ecmascript application to attempt to resubmit the + login form, and reveal the username and password to the backend application. Disable + at your own risk.

+ + +
+
top
+

AuthFormFakeBasicAuth Directive

+ + + + + + + + +
Description:Fake a Basic Authentication header
Syntax:AuthFormFakeBasicAuth On|Off
Default:AuthFormFakeBasicAuth Off
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormFakeBasicAuth flag + determines whether a Basic Authentication header will be added to + the request headers. This can be used to expose the username and password to + an underlying application, without the underlying application having to be aware + of how the login was achieved.

+ + +
+
top
+

AuthFormLocation Directive

+ + + + + + + + +
Description:The name of a form field carrying a URL to redirect to on successful login
Syntax:AuthFormLocation fieldname
Default:AuthFormLocation httpd_location
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormLocation directive specifies + the name of an HTML field which, if present, will contain a URL to redirect the browser to + should login be successful.

+ +
+
top
+

AuthFormLoginRequiredLocation Directive

+ + + + + + + + +
Description:The URL of the page to be redirected to should login be required
Syntax:AuthFormLoginRequiredLocation url
Default:none
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later. The use of the expression +parser has been added in 2.4.4.
+

The AuthFormLoginRequiredLocation directive + specifies the URL to redirect to should the user not be authorised to view a page. The value + is parsed using the ap_expr parser before being sent to the client. + By default, if a user is not authorised to view a page, the HTTP response code + HTTP_UNAUTHORIZED will be returned with the page specified by the + ErrorDocument directive. This directive overrides this + default.

+ +

Use this directive if you have a dedicated login page to redirect users to.

+ + +
+
top
+

AuthFormLoginSuccessLocation Directive

+ + + + + + + + +
Description:The URL of the page to be redirected to should login be successful
Syntax:AuthFormLoginSuccessLocation url
Default:none
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later. The use of the expression +parser has been added in 2.4.4.
+

The AuthFormLoginSuccessLocation directive + specifies the URL to redirect to should the user have logged in successfully. The value is + parsed using the ap_expr parser before being sent to the client. + This directive can be overridden if a form field has been defined containing another URL + using the AuthFormLocation directive.

+ +

Use this directive if you have a dedicated login URL, and you have not embedded the + destination page in the login form.

+ + +
+
top
+

AuthFormLogoutLocation Directive

+ + + + + + + + +
Description:The URL to redirect to after a user has logged out
Syntax:AuthFormLogoutLocation uri
Default:none
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later. The use of the expression +parser has been added in 2.4.4.
+

The AuthFormLogoutLocation directive + specifies the URL of a page on the server to redirect to should the user attempt to log + out. The value is parsed using the ap_expr parser before + being sent to the client.

+ +

When a URI is accessed that is served by the handler form-logout-handler, + the page specified by this directive will be shown to the end user. For example:

+ +

Example

<Location "/logout">
+    SetHandler form-logout-handler
+    AuthFormLogoutLocation "http://example.com/loggedout.html"
+    Session on
+    #...
+</Location>
+
+ +

An attempt to access the URI /logout/ will result in the user being logged + out, and the page /loggedout.html will be displayed. Make sure that the page + loggedout.html is not password protected, otherwise the page will not be + displayed.

+ + +
+
top
+

AuthFormMethod Directive

+ + + + + + + + +
Description:The name of a form field carrying the method of the request to attempt on successful login
Syntax:AuthFormMethod fieldname
Default:AuthFormMethod httpd_method
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormMethod directive specifies + the name of an HTML field which, if present, will contain the method of the request + to submit should login be successful.

+ +

By populating the form with fields described by + AuthFormMethod, + AuthFormMimetype and + AuthFormBody, a website can retry + a request that may have been interrupted by the login screen, or by a session + timeout.

+ +
+
top
+

AuthFormMimetype Directive

+ + + + + + + + +
Description:The name of a form field carrying the mimetype of the body of the request to attempt on successful login
Syntax:AuthFormMimetype fieldname
Default:AuthFormMimetype httpd_mimetype
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormMimetype directive specifies + the name of an HTML field which, if present, will contain the + mimetype of the request to submit should login be successful.

+ +

By populating the form with fields described by + AuthFormMethod, + AuthFormMimetype and + AuthFormBody, a website can retry + a request that may have been interrupted by the login screen, or by a session + timeout.

+ +
+
top
+

AuthFormPassword Directive

+ + + + + + + + +
Description:The name of a form field carrying the login password
Syntax:AuthFormPassword fieldname
Default:AuthFormPassword httpd_password
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormPassword directive specifies + the name of an HTML field which, if present, will contain the password to be used to log + in.

+ +
+
top
+

AuthFormProvider Directive

+ + + + + + + + +
Description:Sets the authentication provider(s) for this location
Syntax:AuthFormProvider provider-name +[provider-name] ...
Default:AuthFormProvider file
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_auth_form
+

The AuthFormProvider directive sets + which provider is used to authenticate the users for this location. + The default file provider is implemented + by the mod_authn_file module. Make sure + that the chosen provider module is present in the server.

+ +

Example

<Location "/secure">
+    AuthType form
+    AuthName "private area"
+    AuthFormProvider  dbm
+    AuthDBMType        SDBM
+    AuthDBMUserFile    "/www/etc/dbmpasswd"
+    Require            valid-user
+    #...
+</Location>
+
+ +

Providers are implemented by mod_authn_dbm, + mod_authn_file, mod_authn_dbd, + mod_authnz_ldap and mod_authn_socache.

+ +
+
top
+

AuthFormSitePassphrase Directive

+ + + + + + + + +
Description:Bypass authentication checks for high traffic sites
Syntax:AuthFormSitePassphrase secret
Default:none
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormSitePassphrase directive + specifies a passphrase which, if present in the user session, causes Apache httpd to + bypass authentication checks for the given URL. It can be used on high traffic websites + to reduce the load induced on authentication infrastructure.

+ +

The passphrase can be inserted into a user session by adding this directive to the + configuration for the form-login-handler. The form-login-handler + itself will always run the authentication checks, regardless of whether a passphrase + is specified or not.

+ +

Warning

+

If the session is exposed to the user through the use of + mod_session_cookie, and the session is not protected with + mod_session_crypto, the passphrase is open to potential exposure + through a dictionary attack. Regardless of how the session is configured, + ensure that this directive is not used within URL spaces where private user data + could be exposed, or sensitive transactions can be conducted. Use at own risk.

+
+ + +
+
top
+

AuthFormSize Directive

+ + + + + + + + +
Description:The largest size of the form in bytes that will be parsed for the login details
Syntax:AuthFormSize size
Default:AuthFormSize 8192
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormSize directive specifies + the maximum size of the body of the request that will be parsed to find the login form.

+ +

If a login request arrives that exceeds this size, the whole request will be aborted + with the HTTP response code HTTP_REQUEST_TOO_LARGE.

+ +

If you have populated the form with fields described by + AuthFormMethod, + AuthFormMimetype and + AuthFormBody, you probably want to set this + field to a similar size as the KeptBodySize + directive.

+ + +
+
top
+

AuthFormUsername Directive

+ + + + + + + + +
Description:The name of a form field carrying the login username
Syntax:AuthFormUsername fieldname
Default:AuthFormUsername httpd_username
Context:directory
Status:Base
Module:mod_auth_form
Compatibility:Available in Apache HTTP Server 2.3.0 and later
+

The AuthFormUsername directive specifies + the name of an HTML field which, if present, will contain the username to be used to log + in.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_auth_form.html.fr.utf8 b/docs/manual/mod/mod_auth_form.html.fr.utf8 new file mode 100644 index 0000000..d10844c --- /dev/null +++ b/docs/manual/mod/mod_auth_form.html.fr.utf8 @@ -0,0 +1,821 @@ + + + + + +mod_auth_form - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_auth_form

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Authentification à l'aide d'un formulaire
Statut:Base
Identificateur de Module:auth_form_module
Fichier Source:mod_auth_form.c
Compatibilité:Disponible à partir d'Apache 2.3
+

Sommaire

+ +

Avertissement

+

L'authentification à base de formulaire dépend des modules + mod_session qui utilisent les cookies HTTP, et en + tant que tels s'exposent à des attaques de type Cross Site + Scripting, ou risquent de divulguer des informations à caractère + privé aux clients. Assurez-vous que ces risques ont bien été pris + en compte avant d'activer les sessions sur votre serveur.

+
+ +

Ce module permet de restreindre l'accès en recherchant les + utilisateurs dans les fournisseurs spécifiés à l'aide d'un + formulaire de connexion HTML. Les formulaires HTML requièrent + davantage de configuration que les méthodes d'authentification + alternatives, mais ils peuvent s'avérer beaucoup plus conviviaux + pour les utilisateurs. +

+ +

L'authentification HTTP de base est fournie par le module + mod_auth_basic, et l'authentification HTTP à base + de condensé par le module mod_auth_digest. Le + module mod_auth_form doit être utilisé avec au + moins un module d'authentification du style + mod_authn_file et un module d'autorisation comme + mod_authz_user.

+ +

Lorsque l'utilisateur a été authentifié avec succès, ses + informations de connexion sont stockés dans une session fournie par + le module mod_session. +

+ +
+ +
top
+
+

Configuration de base

+ +

Pour protéger une URL particulière avec le module + mod_auth_form, vous devez déterminer l'endroit où + vous allez stocker votre session, ainsi que la méthode + d'authentification. Dans cet exemple simple, les informations de + connexion sont stockées dans une session à l'aide du module + mod_session_cookie, et l'authentification utilise + un fichier en s'appuyant sur le module + mod_authn_file. Si l'authentification échoue, + l'utilisateur dera redirigé vers la page du formulaire de + connexion.

+ +

Exemple simple

<Location "/admin">
+    AuthFormProvider file
+    AuthUserFile "conf/passwd"
+    AuthType form
+    AuthName "/admin"
+    AuthFormLoginRequiredLocation "http://example.com/login.html"
+
+    Session On
+    SessionCookieName session path=/
+
+    Require valid-user
+</Location>
+
+ +

L'authentification mod_auth_form est activée + en affectant la valeur form à la directive AuthType. Les directives + AuthFormProvider et + AuthUserFile + spécifient que les noms d'utilisateurs et mots de passe seront + vérifiés en utilisant le fichier choisi.

+ +

Les directives Session et SessionCookieName créent une + session chiffrée stockée dans un cookie HTTP au niveau + du navigateur. Pour plus d'informations à propos des différentes + options de configuration des sessions, reportez-vous à la + documentation du module mod_session.

+ +

Vous pouvez éventuellement ajouter une directive SessionCryptoPassphrase pour créer + un cookie de session chiffré. Pour utiliser cette directive, le module + mod_session_crypto doit avoir été préalablement chargé.

+ +

Dans l'exemple simple ci-dessus, une URL a été protégée par + mod_auth_form, mais on doit maintenant fournir + à l'utilisateur un moyen d'entrer un nom et un mot de passe. À cet + effet, on peut soit écrire une page de connexion indépendante + dédiée, soit inclure le formulaire de connexion dans la page + courante.

+
top
+
+

Page de connexion dédiée

+ +

Le formulaire de connexion peut être contenu dans une page + indépendante, ou être inclus dans la page courante.

+ +

Lorsque la connexion s'effectue à partir d'une page + indépendante et si la tentative d'authentification échoue, + l'utilisateur doit être redirigé vers un formulaire de connexion, + créé à cet effet sur le site web, en utilisant la directive + AuthFormLoginRequiredLocation. + En général, la page de connexion contiendra un formulaire HTML + demandant à l'utilisateur de fournir un nom et un mot de passe.

+ +

Exemple de formulaire de connexion

<form method="POST" action="/dologin.html">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+</form>
+
+ +

La partie où s'effectue la connexion proprement dite est + traitée par le gestionnaire form-login-handler. + L'action de ce formulaire doit pointer vers ce gestionnaire, ce + que l'on configure dans Apache httpd comme suit :

+ +

Exemple de configuration du gestionnaire de + formulaire de connexion

<Location "/dologin.html">
+    SetHandler form-login-handler
+    AuthFormLoginRequiredLocation "http://example.com/login.html"
+    AuthFormLoginSuccessLocation "http://example.com/admin/index.html"
+    AuthFormProvider file
+    AuthUserFile "conf/passwd"
+    AuthType form
+    AuthName /admin
+    Session On
+    SessionCookieName session path=/
+    SessionCryptoPassphrase secret
+</Location>
+
+ +

L'URL spécifiée par la directive + AuthFormLoginRequiredLocation + référencera en général une page expliquant à l'utilisateur que sa + tentative de connexion a échoué, et qu'il doit la renouveler. La + directive AuthFormLoginSuccessLocation + spécifie l'URL vers laquelle l'utilisateur doit être redirigé s'il + s'est authentifié avec succès.

+ +

Alternativement, l'URL vers laquelle doit être redirigé + l'utilisateur s'il s'est authentifié avec succès peut être + intégrée dans le formulaire de connexion, comme dans l'exemple + ci-dessous. Il en découle que le même gestionnaire + form-login-handler pourra être utilisé pour différentes + zones du site web.

+ +

Exemple de formulaire d'authentification multizone

<form method="POST" action="/dologin.html">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+  <input type="hidden" name="httpd_location" value="http://example.com/success.html" />
+</form>
+
+ +
top
+
+

Connexion à la volée

+ +

Avertissement

+

Il existe un risque, dans certaines circonstances, que le + formulaire de connexion configuré pour une connexion à la volée + soit soumis plusieurs fois, révélant de ce fait les paramètres + de connexion à l'application sous-jacente. L'administrateur doit + s'assurer que cette dernière est correctement sécurisée afin + d'éviter les éventuels abus. En cas de doute, utilisez une page + de connexion indépendante dédiée.

+
+ +

Comme alternative à la page de connexion dédiée pour un site + web, il est possible de configurer mod_auth_form + pour authentifier les utilisateurs à la volée, sans les rediriger + vers une autre page, ce qui permet de conserver l'état de la page + courante au cours de la tentative de connexion. Ceci peut s'avérer + utile dans le cas d'une session limitée dans le temps, si le délai + de la session a expiré pendant la requête de l'utilisateur. Ce + dernier peut alors se réauthentifier à la même place, et + poursuivre son activité à partir du point où il en était resté.

+ +

Si un utilisateur non authentifié tente d'accéder à une page + protégée par mod_auth_form, et si ce dernier + n'est pas configuré avec une directive AuthFormLoginRequiredLocation, + un code de statut HTTP_UNAUTHORIZED est renvoyé vers le + navigateur, indiquant à l'utilisateur qu'il n'est pas autorisé à + accéder à cette page.

+ +

Pour configurer l'authentification à la volée, l'administrateur + remplace le message d'erreur renvoyé par le code de statut + HTTP_UNAUTHORIZED par un message d'erreur personnalisé + contenant le formulaire de connexion comme suit :

+ +

Exemple simple d'authentification à la volée

AuthFormProvider file
+ErrorDocument 401 "/login.shtml"
+AuthUserFile "conf/passwd"
+AuthType form
+AuthName realm
+AuthFormLoginRequiredLocation "http://example.com/login.html"
+Session On
+SessionCookieName session path=/
+
+ +

La page du message d'erreur doit contenir un formulaire de + connexion dont la propriété action est vide, comme dans l'exemple + ci-dessous. Ceci a pour effet de soumettre le formulaire à l'URL + protégée originale, cette dernière n'ayant pas besoin d'être + connue de la page en cours.

+ +

Exemple de formulaire de connexion à la volée

<form method="POST" action="">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+</form>
+
+ +

Lorsque l'utilisateur final a entré ses informations de + connexion, le formulaire effectue une requête HTTP POST pour l'URL + originale protégée par mot de passe. + mod_auth_form va alors intercepter cette requête + POST, et dans le cas où des champs HTML Utilisateur et Mot de + passe corrects sont présents, l'utilisateur sera connecté, et + l'URL originale protégée par mot de passe lui sera retournée en + tant que requête GET.

+ +
top
+
+

Connexion à la volée avec + conservation du contenu

+ +

Il existe une limite à la technique de connexion à la volée + décrite ci-dessus ; si un formulaire HTML POST entraîne une + demande d'authentification ou de réauthentification, le contenu du + formulaire original envoyé par le navigateur sera perdu. Cela peut + s'avérer plus ou moins gênant pour l'utilisateur final selon la + fonction du site web.

+ +

Comme solution à ce problème, mod_auth_form + permet d'intégrer la méthode et le contenu de la requête originale + dans le formulaire de connexion. Si l'authentification réussit, + Apache httpd pourra refaire une tentative avec la méthode et le contenu + originaux, tout en conservant l'état de la requête originale.

+ +

Pour mettre en oeuvre la conservation du contenu, vous devez + ajouter trois champs supplémentaires au formulaire de connexion + comme dans l'exemple suivant :

+ +

Exemple de formulaire avec conservation du + contenu

<form method="POST" action="">
+  Username: <input type="text" name="httpd_username" value="" />
+  Password: <input type="password" name="httpd_password" value="" />
+  <input type="submit" name="login" value="Login" />
+  
<input type="hidden" name="httpd_method" value="POST" /> + <input type="hidden" name="httpd_mimetype" value="application/x-www-form-urlencoded" /> + <input type="hidden" name="httpd_body" value="name1=value1&name2=value2" />
+</form>
+
+ +

La manière dont la méthode, le type MIME et le contenu de la + requête originale seront intégrés dans le formulaire de connexion + vont dépendre de la plate-forme et de la technologie utilisées au + sein du site web. +

+ +

Une option consiste à utiliser le module + mod_include en association avec la directive + KeptBodySize, ainsi + qu'un script CGI adapté pour intégrer les variables dans le + formulaire.

+ +

Une autre option consiste à présenter le formulaire de + connexion en utilisant un script CGI ou une autre technologie + dynamique.

+ +

Exemple avec script CGI

        AuthFormProvider file
+        ErrorDocument 401 "/cgi-bin/login.cgi"
+        ...
+
+ +
top
+
+

Déconnexion

+ +

Pour permettre à un utilisateur de se déconnecter d'une session + particulière, vous devez configurer une page pour qu'elle soit + traitée par le gestionnaire form-logout-handler. Tout + accès à cette URL va entraîner la suppression de l'Utilisateur et + du Mot de passe de la session courante, ce qui aura pour effet de + déconnecter l'utilisateur.

+ +

Vous pouvez spécifier une URL vers laquelle le navigateur sera + redirigé en cas de déconnection réussie, en définissant la + directive AuthFormLogoutLocation. Cette + URL devra expliquer à l'utilisateur qu'il a été déconnecté, et lui + donner la possibilité de se connecter à nouveau.

+ +

Exemple simple de configuration de la + déconnexion

SetHandler form-logout-handler
+AuthName realm
+AuthFormLogoutLocation "http://example.com/loggedout.html"
+Session On
+SessionCookieName session path=/
+
+ +

Notez que la déconnexion d'un utilisateur ne supprime pas la + session ; elle supprime seulement l'utilisateur et le mot de passe + de la session. Si la session qui en résulte est vide, elle sera + probablement supprimée, mais ce n'est pas garanti. Si vous voulez + être sûr que la session sera supprimée, affectez une valeur faible + à la directive SessionMaxAge, par exemple 1 + (affecter à cette directive la valeur zéro signifie une session + sans limite d'âge). +

+ +

Exemple simple avec durée de validité de session + limitée

SetHandler form-logout-handler
+AuthFormLogoutLocation "http://example.com/loggedout.html"
+Session On
+SessionMaxAge 1
+SessionCookieName session path=/
+
+ +
top
+
+

Noms d'utilisateurs et mots de + passe

+

Notez que la soumission d'un formulaire implique l'encodage URL + (URLEncoding) des données du formulaire, ici le nom d'utilisateur et + le mot de passe. Vous devez donc choisir des noms d'utilisateurs et + mots de passe qui ne contiennent pas de caractères susceptibles + d'être encodés URL lors de la soumission du formulaire, sous peine + d'obtenir des résultats inattendus.

+
+
top
+

Directive AuthFormAuthoritative

+ + + + + + + + +
Description:Détermine si l'autorisation et l'authentification sont confiés à +des modules de plus bas niveau
Syntaxe:AuthFormAuthoritative On|Off
Défaut:AuthFormAuthoritative On
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_auth_form
+

Normalement, chacun des modules d'autorisation spécifiés par la + directive AuthFormProvider va tenter de + vérifier l'identité de l'utilisateur, et si ce dernier n'est trouvé + dans aucun fournisseur, l'accès sera refusé. En définissant + explicitement la directive + AuthFormAuthoritative à Off on + confie les processus d'authentification et d'autorisation à des + modules ne s'appuyant pas sur des fournisseurs, si aucun + identifiant utilisateur ou aucune règle ne + correspond à l'identifiant utilisateur fourni. Ceci ne peut s'avérer + nécessaire que si l'on combine mod_auth_form avec + des modules tiers qui ne se configurent pas avec la directive + AuthFormProvider. + Lorsqu'on utilise de tels modules, la chronologie du processus est + déterminée dans leur code source, et n'est pas configurable.

+ +
+
top
+

Directive AuthFormBody

+ + + + + + + + +
Description:Le nom du champ de formulaire contenant le corps de la +requête à effectuer en cas de connexion réussie
Syntaxe:AuthFormBody nom du champ
Défaut:AuthFormBody httpd_body
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive AuthFormBody + spécifie le nom du champ HTML qui, s'il existe, contiendra le corps + de la requête à effectuer en cas de connexion réussie.

+ +

En ajoutant au formulaire les champs décrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, un site web sera en + mesure de relancer une requête qui a été éventuellement interrompue + par l'écran de connexion, ou par l'expiration d'un délai de + session.

+ +
+
top
+

Directive AuthFormDisableNoStore

+ + + + + + + + +
Description:Désactive l'en-tête CacheControl no-store sur la page de +connexion
Syntaxe:AuthFormDisableNoStore On|Off
Défaut:AuthFormDisableNoStore Off
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

Le drapeau AuthFormDisableNoStore supprime + l'envoi d'un en-tête Cache-Control no-store lorsqu'une + page avec code d'erreur 401 est renvoyée, si l'utilisateur n'est pas + encore connecté. Avec cette en-tête, il est plus difficile pour une + application ecmascript de resoumettre un formulaire de connexion, et + ainsi révéler le nom d'utilisateur et le mot de passe à + l'application sous-jacente. Vous devez être conscient des risques + encourus si vous le désactivez.

+ + +
+
top
+

Directive AuthFormFakeBasicAuth

+ + + + + + + + +
Description:Simule une en-tête d'authentification de base
Syntaxe:AuthFormFakeBasicAuth On|Off
Défaut:AuthFormFakeBasicAuth Off
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

Le drapeau AuthFormFakeBasicAuth + détermine si une en-tête d'Authentification de base + sera ajoutée aux en-têtes de la requête. On peut utiliser cette + méthode pour présenter le nom d'utilisateur et le mot de passe à + l'application sous-jacente, sans que cette dernière ait besoin de + connaître la manière dont le processus de connexion a été mené à + bien.

+ + +
+
top
+

Directive AuthFormLocation

+ + + + + + + + +
Description:Le nom du champ de formulaire qui contiendra l'URL vers +laquelle l'utilisateur sera redirigé en cas de connexion +réussie
Syntaxe:AuthFormLocation nom du champ
Défaut:AuthFormLocation httpd_location
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive AuthFormLocation + spécifie le nom du champ HTML qui, s'il existe, contiendra l'URL + vers laquelle rediriger le navigateur en cas de connexion + réussie.

+ +
+
top
+

Directive AuthFormLoginRequiredLocation

+ + + + + + + + +
Description:L'URL de la page vers laquelle on doit être redirigé si une +authentification est requise
Syntaxe:AuthFormLoginRequiredLocation url
Défaut:none
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprétation des expressions rationnelles est supportée +depuis la version 2.4.4.
+

La directive AuthFormLoginRequiredLocation + spécifie l'URL vers laquelle l'utilisateur devra être + redirigé s'il n'est pas autorisé à accéder à une page. Sa valeur est + interprétée via l'interpréteur ap_expr + avant d'être envoyée au client. Par défaut, + si un utilisateur n'est pas autorisé à accéder à une page, le code + de réponse HTTP HTTP_UNAUTHORIZED est renvoyé avec la + page spécifiée par la directive ErrorDocument. La directive AuthFormLoginRequiredLocation + permet de remplacer cette valeur par défaut.

+ +

Vous pouvez utiliser cette directive si vous voulez présenter une + page de connexion personnalisée à vos utilisateurs.

+ + +
+
top
+

Directive AuthFormLoginSuccessLocation

+ + + + + + + + +
Description:L'URL de la page vers laquelle on doit être redirigé en cas +de connexion réussie
Syntaxe:AuthFormLoginSuccessLocation url
Défaut:none
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprétation des expressions rationnelles est supportée +depuis la version 2.4.4.
+

La directive AuthFormLoginSuccessLocation + spécifie l'URL vers laquelle l'utilisateur doit être + redirigé en cas de connexion réussie. Sa valeur est + interprétée via l'interpréteur ap_expr + avant d'être envoyée au client. L'effet de cette directive + peut être annulé si l'on a défini un champ de formulaire contenant + une autre URL à l'aide de la directive AuthFormLocation.

+ +

Vous pouvez utiliser cette directive si vous possédez une URL de + connexion personnalisée, et si vous n'avez pas intégré la page de + destination dans le formulaire de connexion.

+ + +
+
top
+

Directive AuthFormLogoutLocation

+ + + + + + + + +
Description:L'URL vers laquelle un utilisateur devra être redirigé +après s'être déconnecté
Syntaxe:AuthFormLogoutLocation uri
Défaut:none
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprétation des expressions rationnelles est supportée +depuis la version 2.4.4.
+

La directive AuthFormLogoutLocation + spécifie l'URL de la page du serveur vers laquelle l'utilisateur + devra être redirigé s'il se déconnecte. Sa valeur est + interprétée via l'interpréteur ap_expr + avant d'être envoyée au client.

+ +

Lorsqu'un accès est tenté sur un URI traité par le gestionnaire + form-logout-handler, la page spécifiée par cette + directive sera présentée à l'utilisateur final. Par exemple :

+ +

Exemple

<Location "/logout">
+    SetHandler form-logout-handler
+    AuthFormLogoutLocation "http://example.com/loggedout.html"
+    Session on
+    #...
+</Location>
+
+ +

Si un utilisateur tente d'accéder à l'URI /logout/, il + sera déconnecté, et la page /loggedout.html lui sera + présentée. Assurez-vous que la page loggedout.html n'est + pas protégée par mot de passe, car dans le cas contraire, elle ne + serait pas affichée.

+ + +
+
top
+

Directive AuthFormMethod

+ + + + + + + + +
Description:Le nom du champ de formulaire contenant la méthode de la +requête à effectuer en cas de connexion réussie
Syntaxe:AuthFormMethod nom du champ
Défaut:AuthFormMethod httpd_method
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive AuthFormMethod + spécifie le nom du champ HTML qui, s'il existe, contiendra le type + MIME de la requête à effectuer en cas de connexion réussie.

+ +

En ajoutant au formulaire les champs décrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, un site web sera en + mesure de relancer une requête qui a été éventuellement interrompue + par l'écran de connexion, ou par l'expiration d'un délai de + session.

+ +
+
top
+

Directive AuthFormMimetype

+ + + + + + + + +
Description:Le nom du champ de formulaire contenant le type MIME du +corps de la requête à effectuer en cas de connexion +réussie
Syntaxe:AuthFormMimetype nom du champ
Défaut:AuthFormMimetype httpd_mimetype
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive AuthFormMimetype + spécifie le nom du champ HTML qui, s'il existe, contiendra le type + MIME de la requête à effectuer en cas de connexion réussie.

+ +

En ajoutant au formulaire les champs décrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, un site web sera en + mesure de relancer une requête qui a été éventuellement interrompue + par l'écran de connexion, ou par l'expiration d'un délai de + session.

+ +
+
top
+

Directive AuthFormPassword

+ + + + + + + + +
Description:Le nom du champ de formulaire qui contient le mot de passe +de connexion
Syntaxe:AuthFormPassword nom du champ
Défaut:AuthFormPassword httpd_password
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive AuthFormPassword permet de + spécifier le nom du champ HTML qui, s'il existe, contiendra le mot + de passe qui sera utilisé pour la connexion.

+ +
+
top
+

Directive AuthFormProvider

+ + + + + + + + +
Description:Définit le(s) fournisseur(s) d'authentification pour la +zone concernée
Syntaxe:AuthFormProvider nom fournisseur +[nom fournisseur] ...
Défaut:AuthFormProvider file
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_auth_form
+

La directive AuthFormProvider permet de + définir quel fournisseur sera utilisé pour authentifier les + utilisateurs pour la zone concernée. Le fournisseur par défaut + file est implémenté par le module + mod_authn_file. Assurez-vous que le fournisseur + choisi soit bien présent dans le serveur.

+ +

Exemple

<Location "/secure">
+    AuthType form
+    AuthName "private area"
+    AuthFormProvider  dbm
+    AuthDBMType        SDBM
+    AuthDBMUserFile    "/www/etc/dbmpasswd"
+    Require            valid-user
+    #...
+</Location>
+
+ +

Les différents fournisseurs sont implémentés par les modules + mod_authn_dbm, mod_authn_file, + mod_authn_dbd et + mod_authnz_ldap.

+ +
+
top
+

Directive AuthFormSitePassphrase

+ + + + + + + + +
Description:Court-circuite l'authentification pour les sites à fort +trafic
Syntaxe:AuthFormSitePassphrase secret
Défaut:none
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive AuthFormSitePassphrase + spécifie un mot de passe qui, s'il est présent dans la session + utilisateur, indique à Apache httpd de court-circuiter l'authentification + pour l'URL considérée. On peut l'utiliser dans le cas de sites web à + fort trafic afin de réduire la charge induite sur l'infrastructure + d'authentification.

+ +

On peut insérer le mot de passe dans une session utilisateur en + ajoutant cette directive à la configuration concernant le + gestionnaire form-login-handler. Le gestionnaire + form-login-handler, quant à lui, effectuera toujours les + vérifications d'authentification, qu'un mot de passe soit spécifié + ou non.

+ +

Avertissement

+

Si la session est présentée à l'utilisateur à l'aide du module + mod_session_cookie, et si la session n'est pas + protégée par le module mod_session_crypto, le mot + de passe peut faire l'objet d'une attaque de type dictionnaire. + Quelle que soit la configuration de la session, assurez-vous que + cette directive n'est pas utilisée dans un espace d'URLs contenant + des données privées, ou à partir desquelles des transactions + sensibles pourraient être menées. En tout état de cause, vous + devez être conscient des risques encourus avant de l'utiliser.

+
+ + +
+
top
+

Directive AuthFormSize

+ + + + + + + + +
Description:La taille maximale en octets du formulaire dont seront +extraites les informations de connexion
Syntaxe:AuthFormSize taille
Défaut:AuthFormSize 8192
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive AuthFormSize spécifie + la taille maximale du corps de la requête qui sera utilisée pour + trouver le formulaire de connexion.

+ +

Si une requête de connexion entrante possède une taille + supérieure à cette valeur, elle sera rejetée avec le code de réponse + HTTP HTTP_REQUEST_TOO_LARGE.

+ +

Si vous avez ajouté au formulaire des champs décrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, il est recommandé + de définir cette directive à une valeur similaire à celle de la + directive KeptBodySize.

+ + +
+
top
+

Directive AuthFormUsername

+ + + + + + + + +
Description:Le nom du champ de formulaire qui contient le nom de +connexion
Syntaxe:AuthFormUsername nom du champ
Défaut:AuthFormUsername httpd_username
Contexte:répertoire
Statut:Base
Module:mod_auth_form
Compatibilité:Disponible depuis la version 2.3.3 du serveur HTTP Apache
+

La directive AuthFormUsername permet de + spécifier le nom du champ HTML qui, s'il existe, contiendra le nom + d'utilisateur qui sera utilisé pour la connexion.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html b/docs/manual/mod/mod_authn_anon.html new file mode 100644 index 0000000..04bbe4c --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_anon.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_anon.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_anon.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_anon.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authn_anon.html.en b/docs/manual/mod/mod_authn_anon.html.en new file mode 100644 index 0000000..f7f0728 --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.en @@ -0,0 +1,247 @@ + + + + + +mod_authn_anon - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authn_anon

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Allows "anonymous" user access to authenticated + areas
Status:Extension
Module Identifier:authn_anon_module
Source File:mod_authn_anon.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module provides authentication front-ends such as + mod_auth_basic to authenticate users similar + to anonymous-ftp sites, i.e. have a 'magic' user id + 'anonymous' and the email address as a password. These email + addresses can be logged.

+ +

Combined with other (database) access control methods, this + allows for effective user tracking and customization according + to a user profile while still keeping the site open for + 'unregistered' users. One advantage of using Auth-based user + tracking is that, unlike magic-cookies and funny URL + pre/postfixes, it is completely browser independent and it + allows users to share URLs.

+ +

When using mod_auth_basic, this module is invoked + via the AuthBasicProvider + directive with the anon value.

+
+ +
top
+
+

Example

+

The example below is combined with "normal" htpasswd-file based + authentication and allows users in additionally as 'guests' with the + following properties:

+ +
    +
  • It insists that the user enters a userID. + (Anonymous_NoUserID)
  • + +
  • It insists that the user enters a password. + (Anonymous_MustGiveEmail)
  • + +
  • The password entered must be a valid email address, i.e. + contain at least one '@' and a '.'. + (Anonymous_VerifyEmail)
  • + +
  • The userID must be one of anonymous guest www test + welcome and comparison is not case + sensitive. (Anonymous)
  • + +
  • And the Email addresses entered in the passwd field are + logged to the error log file. + (Anonymous_LogEmail)
  • +
+ +

Example

<Directory "/var/www/html/private">
+    AuthName "Use 'anonymous' & Email address for guest entry"
+    AuthType Basic
+    AuthBasicProvider file anon
+    AuthUserFile "/path/to/your/.htpasswd"
+    
+    Anonymous_NoUserID off
+    Anonymous_MustGiveEmail on
+    Anonymous_VerifyEmail on
+    Anonymous_LogEmail on
+    Anonymous anonymous guest www test welcome
+    
+    Require valid-user
+</Directory>
+
+
+
top
+

Anonymous Directive

+ + + + + + + +
Description:Specifies userIDs that are allowed access without +password verification
Syntax:Anonymous user [user] ...
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authn_anon
+

A list of one or more 'magic' userIDs which are allowed + access without password verification. The userIDs are space + separated. It is possible to use the ' and " quotes to allow a + space in a userID as well as the \ escape character.

+ +

Please note that the comparison is + case-IN-sensitive.
+ It's strongly recommended that the magic username + 'anonymous' is always one of the allowed + userIDs.

+ +

Example:

Anonymous anonymous "Not Registered" "I don't know"
+
+ +

This would allow the user to enter without password + verification by using the userIDs "anonymous", + "AnonyMous", "Not Registered" and "I Don't Know".

+ +

As of Apache 2.1 it is possible to specify the userID as + "*". That allows any supplied userID to be + accepted.

+ +
+
top
+

Anonymous_LogEmail Directive

+ + + + + + + + +
Description:Sets whether the password entered will be logged in the +error log
Syntax:Anonymous_LogEmail On|Off
Default:Anonymous_LogEmail On
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authn_anon
+

When set On, the default, the 'password' entered + (which hopefully contains a sensible email address) is logged in + the error log.

+ +
+
top
+

Anonymous_MustGiveEmail Directive

+ + + + + + + + +
Description:Specifies whether blank passwords are allowed
Syntax:Anonymous_MustGiveEmail On|Off
Default:Anonymous_MustGiveEmail On
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authn_anon
+

Specifies whether the user must specify an email address as + the password. This prohibits blank passwords.

+ +
+
top
+

Anonymous_NoUserID Directive

+ + + + + + + + +
Description:Sets whether the userID field may be empty
Syntax:Anonymous_NoUserID On|Off
Default:Anonymous_NoUserID Off
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authn_anon
+

When set On, users can leave the userID (and + perhaps the password field) empty. This can be very convenient for + MS-Explorer users who can just hit return or click directly on the + OK button; which seems a natural reaction.

+ +
+
top
+

Anonymous_VerifyEmail Directive

+ + + + + + + + +
Description:Sets whether to check the password field for a correctly +formatted email address
Syntax:Anonymous_VerifyEmail On|Off
Default:Anonymous_VerifyEmail Off
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authn_anon
+

When set On the 'password' entered is checked for + at least one '@' and a '.' to encourage users to enter valid email + addresses (see the above Anonymous_LogEmail).

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html.fr.utf8 b/docs/manual/mod/mod_authn_anon.html.fr.utf8 new file mode 100644 index 0000000..8153355 --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.fr.utf8 @@ -0,0 +1,262 @@ + + + + + +mod_authn_anon - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authn_anon

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Permet un accès "anonyme" à des zones +protégées
Statut:Extension
Identificateur de Module:authn_anon_module
Fichier Source:mod_authn_anon.c
Compatibilité:Disponible depuis la version 2.1 d'Apache
+

Sommaire

+ +

Ce module permet aux frontaux d'authentification comme + mod_auth_basic d'authentifier les utilisateurs + à la manière des sites FTP anonymes, c'est à dire + en fournissant l'identifiant utilisateur spécial 'anonymous' et + l'adresse email comme mot de passe. Ces adresses email peuvent être + journalisées.

+ +

En combinaison avec d'autres méthodes de contrôle d'accès (base + de données), ce module permet d'effectuer un véritable suivi des + utilisateurs et une personnalisation de leurs accès en fonction de + leur profil, tout en conservant l'accessibilité du site aux + utilisateurs 'non enregistrés'. Un avantage du suivi des + utilisateurs basé sur l'authentification réside dans le fait qu'il + est, à l'opposé des cookies magiques et des drôles d'URLs avec + préfixes ou suffixes, entièrement indépendant du navigateur et qu'il + permet de partager des URLs entre plusieurs utilisateurs.

+ +

Si l'on utilise le module mod_auth_basic, le + module mod_authn_anon est invoqué en affectant la + valeur anon à la directive AuthBasicProvider.

+
+ +
top
+
+

Exemple

+

L'exemple ci-dessous présente un exemple de combinaison avec + l'authentification à base de fichier htpasswd "normale", et permet + la connexion d'utilisateurs en tant qu'invités avec les propriétés + suivantes :

+ +
    +
  • Il incite l'utilisateur à fournir un identifiant. + (Anonymous_NoUserID)
  • + +
  • Il incite l'utilisateur à fournir un mot de passe. + (Anonymous_MustGiveEmail)
  • + +
  • Le mot de passe fourni doit être une adresse email valide, + c'est à dire contenant au moins un '@' et un '.'. + (Anonymous_VerifyEmail)
  • + +
  • Les valeurs possibles pour l'identifiant utilisateur sont + anonymous, guest, www, test ou welcome, et la + vérification n'est pas sensible à la casse. + (Anonymous)
  • + +
  • Les adresses email entrées dans le champ passwd sont + enregistrées dans le fichier journal des erreurs. + (Anonymous_LogEmail)
  • +
+ +

Exemple

<Directory "/var/www/html/private">
+    AuthName "Use 'anonymous' & Email address for guest entry"
+    AuthType Basic
+    AuthBasicProvider file anon
+    AuthUserFile "/path/to/your/.htpasswd"
+
+    Anonymous_NoUserID off
+    Anonymous_MustGiveEmail on
+    Anonymous_VerifyEmail on
+    Anonymous_LogEmail on
+    Anonymous anonymous guest www test welcome
+
+    Require valid-user
+</Directory>
+
+
+
top
+

Directive Anonymous

+ + + + + + + +
Description:Définit la liste des identifiants utilisateur autorisés à +accéder sans vérification du mot de passe
Syntaxe:Anonymous utilisateur [utilisateur] +...
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authn_anon
+

Une liste d'un ou plusieurs identifiants utilisateur spéciaux + autorisés à accéder sans vérification du mot de passe. Les + identifiants doivent être séparés par un espace. Pour spécifier un + identifiant contenant un espace, on peut utiliser les guillemets ' + ou ", ou le caractère d'échappement \.

+ +

Veuillez noter que la vérification n'est pas sensible à + la casse.
+ Il est fortement conseillé d'intégrer l'utilisateur spécial + 'anonymous' dans la liste des identifiants.

+ +

Exemple:

Anonymous anonymous "Not Registered" "I don't know"
+
+ +

Dans cet exemple, l'utilisateur peut accéder au site sans + vérification du mot de passe en utilisant l'identifiant "anonymous", + "Not Registered", "I Don't Know" ou encore "AnonyMous".

+ +

Depuis Apache 2.1, il est possible de remplacer la liste des + identifiants autorisés par le caractère "*", ce qui + permet d'utiliser n'importe quel identifiant pour pouvoir + accéder au site.

+ +
+
top
+

Directive Anonymous_LogEmail

+ + + + + + + + +
Description:Détermine si le mot de passe fourni sera enregistré dans le +journal des erreurs
Syntaxe:Anonymous_LogEmail On|Off
Défaut:Anonymous_LogEmail On
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authn_anon
+

Lorsque cette directive est définie à On, valeur + par défaut, le 'mot de passe' fourni (censé contenir une adresse + email valide) est enregistré dans le journal des erreurs.

+ +
+
top
+

Directive Anonymous_MustGiveEmail

+ + + + + + + + +
Description:Détermine si l'abscence de mot de passe est +autorisée
Syntaxe:Anonymous_MustGiveEmail On|Off
Défaut:Anonymous_MustGiveEmail On
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authn_anon
+

Détermine si l'utilisateur doit spécifier une adresse email comme + mot de passe. Lorsque cette directive est définie à On, + l'abscence de mot de passe est interdite.

+ +
+
top
+

Directive Anonymous_NoUserID

+ + + + + + + + +
Description:Détermine si le champ identifiant peut être +vide
Syntaxe:Anonymous_NoUserID On|Off
Défaut:Anonymous_NoUserID Off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authn_anon
+

Lorsque cette directive est définie à On, les + utilisateurs peuvent laisser le champ identifiant vide (et peut-être + aussi le champ mot de passe selon la définition de la directive + Anonymous_MustGiveEmail). Ceci + peut s'avérer très utile pour les utilisateurs de MS-Explorer qui + n'ont pour seule possibilité que d'appuyer sur Entrée ou de cliquer + directement sur le bouton OK, ce qui semble être une réaction + naturelle.

+ +
+
top
+

Directive Anonymous_VerifyEmail

+ + + + + + + + +
Description:Détermine s'il faut vérifier que le format de l'adresse +email fournie comme mot de passe est correct
Syntaxe:Anonymous_VerifyEmail On|Off
Défaut:Anonymous_VerifyEmail Off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authn_anon
+

Lorsque cette directive est définie à On, Apache + vérifie que le 'mot de passe' entré contient au moins un '@' et un + '.' afin d'inciter les utilisateurs à fournir des adresses email + valides (voir ci-dessus la directive Anonymous_LogEmail).

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html.ja.utf8 b/docs/manual/mod/mod_authn_anon.html.ja.utf8 new file mode 100644 index 0000000..5c5d523 --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.ja.utf8 @@ -0,0 +1,251 @@ + + + + + +mod_authn_anon - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_authn_anon

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:èªè¨¼ãŒå¿…è¦ãªé ˜åŸŸã¸ã® "anonymous" ユーザã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ +
ステータス:Extension
モジュール識別å­:authn_anon_module
ソースファイル:mod_authn_anon.c
互æ›æ€§:Apache 2.1 以é™
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ mod_auth_basic ã®ã‚ˆã†ãª + èªè¨¼ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã¨ã—ã¦ã€anonymous-ftp サイトã®ã‚ˆã†ãªã€ã€Œé­”法ã®ã€ãƒ¦ãƒ¼ã‚¶ ID + 'anonymous' ã¨é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’パスワードã«ã—ãŸãƒ¦ãƒ¼ã‚¶èªè¨¼ã‚’ + è¡Œãªã†æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ã“ã®é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ãƒ­ã‚°åŽé›†ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+ +

ä»–ã® (データベースã«ã‚ˆã‚‹) アクセス制御方法ã¨çµ„ã¿åˆã‚ã›ã‚‹ã“ã¨ã§ã€ + 「未登録ã€ãƒ¦ãƒ¼ã‚¶ã«å¯¾ã—ã¦ã‚µã‚¤ãƒˆã‚’公開ã—ã¤ã¤ã€åŠ¹çŽ‡ã‚ˆãユーザ追跡ã—ãŸã‚Šã€ + ユーザã®ãƒ—ロファイルã«å¿œã˜ãŸã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã‚’ã—ãŸã‚Šã§ãã¾ã™ã€‚ + ã“ã®ã‚ˆã†ãªèªè¨¼ã«åŸºã¥ã„ãŸãƒ¦ãƒ¼ã‚¶è¿½è·¡ã®åˆ©ç‚¹ã®ä¸€ã¤ã¯ã€ + マジッククッキーã«åŸºã¥ãユーザ追跡方法や〠+ ç妙㪠URL ã®æŽ¥é ­è¾žã‚„接尾辞を利用ã—ãŸãƒ¦ãƒ¼ã‚¶è¿½è·¡æ–¹æ³•ã¨ã¯ç•°ãªã‚Šã€ + 完全ã«ãƒ–ラウザéžä¾å­˜ã§ã‚ã‚Šã€ãƒ¦ãƒ¼ã‚¶é–“㧠URL を共有ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã¨ã„ㆠ+ 点ã§ã™ã€‚

+ +

mod_auth_basic を使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ + AuthBasicProvider ã« + anon ã¨ã„ã†å€¤ã‚’設定ã™ã‚‹ã“ã¨ã§èµ·å‹•ã•ã‚Œã¾ã™ã€‚

+
+
Support Apache!

トピック

+

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+
top
+
+

例

+

以下ã®ä¾‹ã¯ã€Œæ™®é€šã€ã® htpasswd ファイルã«åŸºã¥ã„ãŸèªè¨¼ã¨çµ„ã¿åˆã‚ã•ã‚Œã¦ + ãŠã‚Šã€ä»¥ä¸‹ã®è¦ä»¶ã‚’見ãŸã™ãƒ¦ãƒ¼ã‚¶ã‚’「ゲストã€ã¨ã—ã¦è¨±å¯ã—ã¾ã™:

+ +
    +
  • ユーザ㯠userID を入力ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + (Anonymous_NoUserID)
  • + +
  • ユーザã¯ãƒ‘スワードを入力ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + (Anonymous_MustGiveEmail)
  • + +
  • 入力ã•ã‚ŒãŸãƒ‘スワードã¯æœ‰åŠ¹ãªé›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。ã™ãªã‚ã¡ã€å°‘ãã¨ã‚‚一ã¤ã® '@' 㨠'.' ㌠+ å«ã¾ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + (Anonymous_VerifyEmail)
  • + +
  • userID 㯠anonymous guest www test + welcome ã®ã©ã‚Œã‹ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ユーザåã®æ¯”較ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。
  • + +
  • パスワード欄ã«å…¥åŠ›ã•ã‚ŒãŸé›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã« + ロギングã•ã‚Œã¾ã™ã€‚ + (Anonymous_LogEmail)
  • +
+ +

例

<Directory /var/www/html/private>
+    AuthName "Use 'anonymous' & Email address for guest entry"
+    AuthType Basic
+    AuthBasicProvider file anon
+    AuthUserFile /path/to/your/.htpasswd
+    
+    Anonymous_NoUserID off
+    Anonymous_MustGiveEmail on
+    Anonymous_VerifyEmail on
+    Anonymous_LogEmail on
+    Anonymous anonymous guest www test welcome
+    
+    Require valid-user
+</Directory>
+
+
+
top
+

Anonymous ディレクティブ

+ + + + + + + +
説明:パスワードã®æ¤œæŸ»ç„¡ã—ã§ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ userID を指定ã™ã‚‹ +
構文:Anonymous user [user] ...
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_authn_anon
+

パスワードã®æ¤œæŸ»ã‚’ã—ãªã„ã§ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ã€Œé­”法ã®ã€ userID ã‚’ + 設定ã—ã¾ã™ã€‚userID 中ã«ç©ºç™½ã‚’使ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚〠+ エスケープ文字 \ ã«ã‚ˆã‚‹æ–¹æ³•ã¨ã€å¼•ç”¨ç¬¦ ' 㨠" ã«ã‚ˆã‚‹ã‚¯ã‚ªãƒ¼ãƒ†ã‚£ãƒ³ã‚° + を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ユーザåã®æ¯”較ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ãªã„ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。
+ 魔法ã®ãƒ¦ãƒ¼ã‚¶å 'anonymous' ãŒè¨±å¯ã•ã‚Œã¦ã„ã‚‹ userID ã« + å«ã‚€ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã¯å¼·ã推奨ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

例:

Anonymous anonymous "Not Registered" "I don't know"
+
+ +

ã“ã‚Œã¯ã€userID "anonymous", + "AnonyMous", "Not Registered", "I Don't Know" ã®ã©ã‚Œã‹ã‚’使ã£ã¦ã‚‚ + パスワード無ã—ã§ãƒ¦ãƒ¼ã‚¶ãŒã‚µã‚¤ãƒˆã«å…¥ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

Apache 2.1 ã§ã¯ userID ã« "*" を指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®å ´åˆã€ã™ã¹ã¦ã®userID を許å¯ã—ã¾ã™ã€‚

+ +
+
top
+

Anonymous_LogEmail ディレクティブ

+ + + + + + + + +
説明:入力ã•ã‚ŒãŸãƒ‘スワードãŒã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ãƒ­ã‚®ãƒ³ã‚°ã•ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’ +設定ã™ã‚‹
構文:Anonymous_LogEmail On|Off
デフォルト:Anonymous_LogEmail On
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_authn_anon
+

デフォルト㮠On ã«è¨­å®šã•ã‚ŒãŸå ´åˆã¯ã€ + 入力ã•ã‚ŒãŸ (ã¾ã£ã¨ã†ãªé›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã‚ã‚‹ã“ã¨ãŒ + 期待ã•ã‚Œã‚‹) 「パスワードã€ãŒã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ãƒ­ã‚®ãƒ³ã‚°ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

Anonymous_MustGiveEmail ディレクティブ

+ + + + + + + + +
説明:空パスワードを許å¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã™ã‚‹
構文:Anonymous_MustGiveEmail On|Off
デフォルト:Anonymous_MustGiveEmail On
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_authn_anon
+

ユーザãŒãƒ‘スワードã¨ã—ã¦é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’指定ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã©ã†ã‹ã‚’ + 設定ã—ã¾ã™ã€‚ã“ã‚Œã¯ç©ºãƒ‘スワードをç¦æ­¢ã—ã¾ã™ã€‚

+ +
+
top
+

Anonymous_NoUserID ディレクティブ

+ + + + + + + + +
説明:空 userID を許å¯ã™ã‚‹ã‹ã‚’指定ã™ã‚‹
構文:Anonymous_NoUserID On|Off
デフォルト:Anonymous_NoUserID Off
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_authn_anon
+

On ã«è¨­å®šã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ã¯ userID (ã¨ãŠãらã㯠+ パスワード欄も) 空ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã‚Œã¯å˜ã«ãƒªã‚¿ãƒ¼ãƒ³ã‚­ãƒ¼ã‚’ + å©ã„ãŸã‚Š OK ボタンを直接クリックã—ãŸã‚Šã™ã‚‹ MS-Explorer ユーザã«ã¯ + éžå¸¸ã«ä¾¿åˆ©ã§ã™ã€‚ãã®ã‚ˆã†ãªæ“作ã¯ã”ãã”ã自然ãªã‚‚ã®ã§ã—ょã†ã€‚

+ +
+
top
+

Anonymous_VerifyEmail ディレクティブ

+ + + + + + + + +
説明:パスワード欄ãŒæ­£ã—ã„å½¢å¼ã®é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã‚ã‚‹ã“ã¨ã‚’ +調ã¹ã‚‹ã‹ã©ã†ã‹ã‚’設定ã™ã‚‹
構文:Anonymous_VerifyEmail On|Off
デフォルト:Anonymous_VerifyEmail Off
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_authn_anon
+

On ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒ¦ãƒ¼ã‚¶ãŒæœ‰åŠ¹ãªé›»å­ãƒ¡ãƒ¼ãƒ« + アドレスを入力ã™ã‚‹ã“ã¨ã‚’推奨ã™ã‚‹ãŸã‚ã€å…¥åŠ›ã•ã‚ŒãŸã€Œãƒ‘スワードã€ã¯ + å°‘ãªãã¨ã‚‚一ã¤ã® '@' 㨠'.' ã‚’å«ã‚“ã§ã„ã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ã¾ã™ + (上㮠Anonymous_LogEmail å‚ç…§)。

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html.ko.euc-kr b/docs/manual/mod/mod_authn_anon.html.ko.euc-kr new file mode 100644 index 0000000..693abae --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.ko.euc-kr @@ -0,0 +1,243 @@ + + + + + +mod_authn_anon - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_authn_anon

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:ÀÎÁõ¿µ¿ª¿¡ "À͸í(anonymous)" »ç¿ëÀÚÀÇ Á¢±ÙÀ» +Çã¿ëÇÑ´Ù
»óÅÂ:Extension
¸ðµâ¸í:authn_anon_module
¼Ò½ºÆÄÀÏ:mod_authn_anon.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº mod_auth_basic µî ÀÎÁõ¾Õ´Ü¸ðµâÀ» + À§ÇØ (¿¹¸¦ µé¾î 'Ưº°ÇÑ' »ç¿ëÀÚ ¾ÆÀ̵ð 'anonymous'¿Í + ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¦ ¾ÏÈ£·Î »ç¿ëÇÏ´Â) À͸í-ftp »çÀÌÆ®¿Í À¯»çÇÑ + »ç¿ëÀÚ ÀÎÁõÀ» ÇÑ´Ù. ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¦ ·Î±×¿¡ ±â·ÏÇÒ ¼ö ÀÖ´Ù.

+ +

´Ù¸¥ (µ¥ÀÌÅͺ£À̽º) Á¢±ÙÁ¦¾î ¹æ½Ä°ú ÇÔ²² »ç¿ëÇÏ¿© + 'µî·ÏÇÏÁö¾ÊÀº' »ç¿ëÀÚ¿¡°Ô »çÀÌÆ®¸¦ ¿­¾îµÎ¸é¼­ È¿À²ÀûÀÎ »ç¿ëÀÚ + ÃßÀû°ú »ç¿ëÀÚÁ¤ÀÇ°¡ °¡´ÉÇÏ´Ù. ÀÎÁõ±â¹Ý »ç¿ëÀÚ ÃßÀûÀº ÄíÅ°³ª + ±«»óÇÑ URL Á¢µÎ»ç/Á¢¹Ì»ç¿Í ´Þ¸® ¿ÏÀüÈ÷ ºê¶ó¿ìÀú µ¶¸³ÀûÀÌ°í + »ç¿ëÀÚ°¡ URLÀ» °øÀ¯ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù.

+ +

mod_auth_basicÀ» »ç¿ëÇÒ¶§ AuthBasicProviderÀÇ + °ªÀ¸·Î anonÀ» ¼³Á¤Çϸé ÀÌ ¸ðµâÀ» »ç¿ëÇÑ´Ù.

+
+ +
top
+
+

¿¹Á¦

+

´ÙÀ½ ¿¹´Â "ÀϹÝÀûÀÎ" htpasswd-ÆÄÀϱâ¹Ý ÀÎÁõ¿¡ Ãß°¡·Î + »ç¿ëÀÚ°¡ ´ÙÀ½ Á¶°ÇÀ» ¸¸Á·ÇÑ´Ù¸é '¼Õ´Ô(guest)'À¸·Î Á¢±ÙÇÒ + ¼ö ÀÖµµ·Ï ÇÑ´Ù:

+ +
    +
  • »ç¿ëÀÚ´Â »ç¿ëÀÚ ¾ÆÀ̵𸦠ÀÔ·ÂÇØ¾ß ÇÑ´Ù. (Anonymous_NoUserID)
  • + +
  • »ç¿ëÀÚ´Â ¾ÏÈ£¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. (Anonymous_MustGiveEmail)
  • + +
  • ¾ÏÈ£·Î À¯È¿ÇÑ ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ¿¹¸¦ + µé¾î ÃÖ¼ÒÇÑ '@'¿Í '.' ÇÑ°³¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù. (Anonymous_VerifyEmail)
  • + +
  • »ç¿ëÀÚ ¾ÆÀ̵ð´Â anonymous guest www test + welcome Áß ÇϳªÀ̸ç, ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö + ¾Ê´Â´Ù. (Anonymous)
  • + +
  • ±×¸®°í ¾ÏÈ£·Î ÀÔ·ÂÇÑ ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¦ ¿À·ù·Î±×ÆÄÀÏ¿¡ + ±â·ÏÇÑ´Ù. (Anonymous_LogEmail)
  • +
+ +

¿¹Á¦

+ <Directory /foo> + + AuthName "¼Õ´ÔÀ¸·Î ¹æ¹®ÇÏ·Á¸é 'anonymous'¿Í ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¦ »ç¿ëÇ϶ó"
+ AuthType Basic
+ AuthBasicProvider file anon
+ AuthUserFile /path/to/your/.htpasswd
+
+ Anonymous_NoUserID off
+ Anonymous_MustGiveEmail on
+ Anonymous_VerifyEmail on
+ Anonymous_LogEmail on
+ Anonymous anonymous guest www test welcome
+
+ Order Deny,Allow
+ Allow from all
+
+ Require valid-user
+
+ </Directory> +

+
+
top
+

Anonymous Áö½Ã¾î

+ + + + + + + +
¼³¸í:¾ÏÈ£°Ë»ç¾øÀÌ Á¢±ÙÀ» Çã¿ëÇÒ »ç¿ëÀÚ ¾ÆÀ̵ðµéÀ» +ÁöÁ¤ÇÑ´Ù
¹®¹ý:Anonymous user [user] ...
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authn_anon
+

¾ÏÈ£°Ë»ç¾øÀÌ Á¢±ÙÀ» Çã¿ëÇÒ 'Ưº°ÇÑ' »ç¿ëÀÚ ¾ÆÀ̵ð ¸ñ·Ï. + »ç¿ëÀÚ ¾ÆÀ̵ðµéÀ» °ø¹éÀ¸·Î ±¸ºÐÇÑ´Ù. µû¿ÈÇ¥ '¿Í "³ª Å»Ãâ¹®ÀÚ + \¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ ¾ÆÀ̵ð ¾È¿¡ °ø¹éÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.

+ +

¾ÆÀ̵ð´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾ÊÀ½À» + ÁÖÀÇÇ϶ó.
+ Çã¿ëÇÒ »ç¿ëÀÚ ¾ÆÀ̵𿡠Ưº°ÇÑ »ç¿ëÀÚ¸íÀÎ + 'anonymous'¸¦ Ç×»ó Æ÷ÇÔÇÏ±æ °­·ÂÈ÷ ±ÇÇÑ´Ù.

+ +

¿¹Á¦:

+ Anonymous anonymous "Not Registered" "I don't know" +

+ +

"anonymous", "AnonyMous", "Not Registered", "I Don't Know" + µî »ç¿ëÀÚ ¾ÆÀ̵𸦠»ç¿ëÇÏ¸é ¾ÏÈ£°Ë»ç¾øÀÌ »ç¿ëÀÚ¸¦ Çã¿ëÇÑ´Ù.

+ +

¾ÆÆÄÄ¡ 2.1¿¡¼­´Â »ç¿ëÀÚ ¾ÆÀ̵ð·Î "*"¸¦ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯¸é ¾î¶² »ç¿ëÀÚ ¾ÆÀ̵ð¶óµµ + ¹Þ¾ÆµéÀδÙ.

+ +
+
top
+

Anonymous_LogEmail Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ÀÔ·ÂÇÑ ¾ÏÈ£¸¦ ¿À·ù·Î±×¿¡ ±â·ÏÇÒÁö ¿©ºÎ
¹®¹ý:Anonymous_LogEmail On|Off
±âº»°ª:Anonymous_LogEmail On
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authn_anon
+

±âº»°ªÀÎ OnÀ¸·Î ¼³Á¤Çϸé (¾Æ¸¶µµ ÀüÀÚ¿ìÆí + ÁÖ¼ÒÀÏ) ÀÔ·ÂÇÑ '¾ÏÈ£'¸¦ ¿À·ù·Î±×¿¡ ±â·ÏÇÑ´Ù.

+ +
+
top
+

Anonymous_MustGiveEmail Áö½Ã¾î

+ + + + + + + + +
¼³¸í:¾ÏÈ£°¡ ¾ø¾îµµ °¡´ÉÇÑÁö ¿©ºÎ
¹®¹ý:Anonymous_MustGiveEmail On|Off
±âº»°ª:Anonymous_MustGiveEmail On
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authn_anon
+

»ç¿ëÀÚ°¡ ¾ÏÈ£·Î ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ¾ß ÇÏ´ÂÁö ¿©ºÎ¸¦ + °áÁ¤ÇÑ´Ù. ¾ÏÈ£°¡ ¾øÀ¸¸é °ÅºÎÇÑ´Ù.

+ +
+
top
+

Anonymous_NoUserID Áö½Ã¾î

+ + + + + + + + +
¼³¸í:»ç¿ëÀÚ ¾ÆÀ̵𰡠¾ø¾îµµ °¡´ÉÇÏÁö ¿©ºÎ
¹®¹ý:Anonymous_NoUserID On|Off
±âº»°ª:Anonymous_NoUserID Off
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authn_anon
+

OnÀ¸·Î ¼³Á¤ÇÏ¸é »ç¿ëÀÚ´Â »ç¿ëÀÚ ¾ÆÀ̵𸦠+ (¾Æ¸¶ ¾ÏÈ£µµ) ÀÔ·ÂÇÏÁö ¾Ê¾Æµµ µÈ´Ù. ÀÌ´Â ÀÚ¿¬½º·´°Ô ±×³É + returnÀ» Ä¡°Å³ª OK ¹öÆ°À» Ŭ¸¯ÇÏ´Â MS-Explorer »ç¿ëÀÚ¿¡°Ô + ¸Å¿ì Æí¸®ÇÏ´Ù.

+ +
+
top
+

Anonymous_VerifyEmail Áö½Ã¾î

+ + + + + + + + +
¼³¸í:¾ÏÈ£°¡ ¿Ã¹Ù¸¥ Çü½ÄÀÇ ÀüÀÚ¿ìÆí ÁÖ¼ÒÀÎÁö °Ë»ç +¿©ºÎ
¹®¹ý:Anonymous_VerifyEmail On|Off
±âº»°ª:Anonymous_VerifyEmail Off
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authn_anon
+

OnÀ¸·Î ¼³Á¤ÇÏ¸é »ç¿ëÀÚ°¡ ¿Ã¹Ù¸¥ ÀüÀÚ¿ìÆí + ÁÖ¼Ò¸¦ ÀÔ·ÂÇϵµ·Ï ÀÔ·ÂÇÑ '¾ÏÈ£'°¡ ÃÖ¼ÒÇÑ '@'¿Í '.'¸¦ ÇÑ°³¾¿ + Æ÷ÇÔÇÏ´ÂÁö °Ë»çÇÑ´Ù (À§ÀÇ Anonymous_LogEmail Âü°í).

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_core.html b/docs/manual/mod/mod_authn_core.html new file mode 100644 index 0000000..437609b --- /dev/null +++ b/docs/manual/mod/mod_authn_core.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_core.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_core.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_core.html.en b/docs/manual/mod/mod_authn_core.html.en new file mode 100644 index 0000000..1f170c4 --- /dev/null +++ b/docs/manual/mod/mod_authn_core.html.en @@ -0,0 +1,281 @@ + + + + + +mod_authn_core - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authn_core

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Core Authentication
Status:Base
Module Identifier:authn_core_module
Source File:mod_authn_core.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

This module provides core authentication capabilities to + allow or deny access to portions of the web site. + mod_authn_core provides directives that are + common to all authentication providers.

+
+ +
top
+
+

Creating Authentication Provider Aliases

+ +

Extended authentication providers can be created + within the configuration file and assigned an alias name. The alias + providers can then be referenced through the directives + AuthBasicProvider or + AuthDigestProvider in + the same way as a base authentication provider. Besides the ability + to create and alias an extended provider, it also allows the same + extended authentication provider to be reference by multiple + locations.

+ +

Examples

+ +

This example checks for passwords in two different text + files.

+ +

Checking multiple text password files

# Check here first
+<AuthnProviderAlias file file1>
+    AuthUserFile "/www/conf/passwords1"
+</AuthnProviderAlias>
+
+# Then check here
+<AuthnProviderAlias file file2>   
+    AuthUserFile "/www/conf/passwords2"
+</AuthnProviderAlias>
+
+<Directory "/var/web/pages/secure">
+    AuthBasicProvider file1 file2
+    
+    AuthType Basic
+    AuthName "Protected Area"
+    Require valid-user
+</Directory>
+
+ +

The example below creates two different ldap authentication + provider aliases based on the ldap provider. This allows + a single authenticated location to be serviced by multiple ldap + hosts:

+ +

Checking multiple LDAP servers

<AuthnProviderAlias ldap ldap-alias1>
+    AuthLDAPBindDN cn=youruser,o=ctx
+    AuthLDAPBindPassword yourpassword
+    AuthLDAPURL ldap://ldap.host/o=ctx
+</AuthnProviderAlias>
+<AuthnProviderAlias ldap ldap-other-alias>
+    AuthLDAPBindDN cn=yourotheruser,o=dev
+    AuthLDAPBindPassword yourotherpassword
+    AuthLDAPURL ldap://other.ldap.host/o=dev?cn
+</AuthnProviderAlias>
+
+Alias "/secure" "/webpages/secure"
+<Directory "/webpages/secure">
+    AuthBasicProvider ldap-other-alias  ldap-alias1
+    
+    AuthType Basic
+    AuthName "LDAP Protected Place"
+    Require valid-user
+    # Note that Require ldap-* would not work here, since the 
+    # AuthnProviderAlias does not provide the config to authorization providers
+    # that are implemented in the same module as the authentication provider.
+</Directory>
+
+ + +
+
top
+

AuthName Directive

+ + + + + + + +
Description:Authorization realm for use in HTTP +authentication
Syntax:AuthName auth-domain
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authn_core
+

This directive sets the name of the authorization realm for a + directory. This realm is given to the client so that the user + knows which username and password to send. + AuthName takes a single argument; if the + realm name contains spaces, it must be enclosed in quotation + marks. It must be accompanied by AuthType and Require directives, and directives such + as AuthUserFile and + AuthGroupFile to + work.

+ +

For example:

+ +
AuthName "Top Secret"
+ + +

The string provided for the AuthName is what will + appear in the password dialog provided by most browsers.

+ +

From 2.4.55, expression syntax can be + used inside the directive to produce the name dynamically.

+ +

For example:

+ +
AuthName "%{HTTP_HOST}"
+ + + +

See also

+ +
+
top
+

<AuthnProviderAlias> Directive

+ + + + + + +
Description:Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
Syntax:<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>
Context:server config
Status:Base
Module:mod_authn_core
+

<AuthnProviderAlias> and + </AuthnProviderAlias> are used to enclose a group of + authentication directives that can be referenced by the alias name + using one of the directives + AuthBasicProvider or + AuthDigestProvider.

+ +
This directive has no affect on authorization, even for modules that + provide both authentication and authorization.
+ +
+
top
+

AuthType Directive

+ + + + + + + +
Description:Type of user authentication
Syntax:AuthType None|Basic|Digest|Form
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authn_core
+

This directive selects the type of user authentication for a + directory. The authentication types available are None, + Basic (implemented by + mod_auth_basic), Digest + (implemented by mod_auth_digest), and + Form (implemented by mod_auth_form).

+ +

To implement authentication, you must also use the AuthName and Require directives. In addition, the + server must have an authentication-provider module such as + mod_authn_file and an authorization module such + as mod_authz_user.

+ +

The authentication type None disables authentication. + When authentication is enabled, it is normally inherited by each + subsequent configuration section, + unless a different authentication type is specified. If no + authentication is desired for a subsection of an authenticated + section, the authentication type None may be used; + in the following example, clients may access the + /www/docs/public directory without authenticating:

+ +
<Directory "/www/docs">
+    AuthType Basic
+    AuthName Documents
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    Require valid-user
+</Directory>
+
+<Directory "/www/docs/public">
+    AuthType None
+    Require all granted
+</Directory>
+ + +

From 2.4.55, expression syntax can be + used inside the directive to specify the type dynamically.

+ +
When disabling authentication, note that clients which have + already authenticated against another portion of the server's document + tree will typically continue to send authentication HTTP headers + or cookies with each request, regardless of whether the server + actually requires authentication for every resource.
+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_core.html.fr.utf8 b/docs/manual/mod/mod_authn_core.html.fr.utf8 new file mode 100644 index 0000000..316e3c6 --- /dev/null +++ b/docs/manual/mod/mod_authn_core.html.fr.utf8 @@ -0,0 +1,297 @@ + + + + + +mod_authn_core - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authn_core

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Le noyau de l'authentification
Statut:Base
Identificateur de Module:authn_core_module
Fichier Source:mod_authn_core.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Ce module fournit le coeur des fonctionnalités d'authentification + permettant d'accorder ou de refuser l'accès à certaines zones du + site web. Les directives fournies par le module + mod_authn_core sont communes à tous les + fournisseurs d'authentification.

+
+ +
top
+
+

Création d'alias de fournisseurs +d'authentification

+ +

Il est possible de créer des fournisseurs d'authentification + étendus dans le fichier de configuration et de leur assigner un + alias. Le fournisseur ainsi nommé peut alors être référencé à l'aide + des directives AuthBasicProvider ou AuthDigestProvider tout comme + un fournisseur d'authentification de base. Outre la possibilité de + créer et attribuer un alias à un fournisseur étendu, le même + fournisseur d'authentification peut aussi être référencé par + plusieurs sections relatives à une zone du site web.

+ +

Exemples

+ +

Cet exemple vérifie les mots de passe dans deux fichiers + textes différents.

+ +

Vérification dans plusieurs fichiers de mots de + passe au format texte

# Première vérification
+<AuthnProviderAlias file file1>
+    AuthUserFile "/www/conf/passwords1"
+</AuthnProviderAlias>
+
+# Vérification suivante
+<AuthnProviderAlias file file2>   
+    AuthUserFile "/www/conf/passwords2"
+</AuthnProviderAlias>
+
+<Directory "/var/web/pages/secure">
+    AuthBasicProvider file1 file2
+    
+    AuthType Basic
+    AuthName "Protected Area"
+    Require valid-user
+</Directory>
+
+ + + +

Dans l'exemple ci-dessous, deux fournisseurs + d'authentification ldap sont créés à partir du fournisseur ldap + de base, et se voient attribuer un alias. L'authentification + d'une même zone peut alors être traitée par plusieurs serveurs + ldap :

+ +

Vérification auprès de plusieurs serveurs + LDAP

<AuthnProviderAlias ldap ldap-alias1>
+    AuthLDAPBindDN cn=youruser,o=ctx
+    AuthLDAPBindPassword yourpassword
+    AuthLDAPURL ldap://ldap.host/o=ctx
+    </AuthnProviderAlias>
+    <AuthnProviderAlias ldap ldap-other-alias>
+    AuthLDAPBindDN cn=yourotheruser,o=dev
+    AuthLDAPBindPassword yourotherpassword
+    AuthLDAPURL ldap://other.ldap.host/o=dev?cn
+</AuthnProviderAlias>
+
+Alias "/secure" "/webpages/secure"
+<Directory "/webpages/secure">
+    
+    AuthBasicProvider ldap-other-alias  ldap-alias1
+    
+    AuthType Basic
+    AuthName LDAP_Protected Place
+    Require valid-user
+    # Notez que Require ldap-* ne fonctionnerait pas ici, car
+    # AuthnProviderAlias ne fournit pas de configuration pour les
+    # fournisseurs d'autorisation implémentés dans le même module que le
+    # fournisseur d'authentification.
+</Directory>
+
+ + +
+
top
+

Directive AuthName

+ + + + + + + +
Description:L'identifiant de l'autorisation à utiliser avec +l'authentification HTTP
Syntaxe:AuthName domaine d'autorisation
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authn_core
+

Cette directive permet de définir l'identifiant d'autorisation + pour un répertoire. Cet identifiant est fourni au client de façon à + ce qu'il sache quels nom d'utilisateur et mot de passe envoyer. + AuthName accepte un seul argument ; s'il + contient des espaces, il doit être entouré de guillemets. Pour + pouvoir fonctionner, la directive AuthName + doit être utilisée en combinaison avec les directives AuthType et Require, ainsi que des + directives comme AuthUserFile et AuthGroupFile.

+ +

Par exemple :

+ +
AuthName "Top Secret"
+ + +

La chaîne fournie comme argument à AuthName + apparaîtra dans la boîte de dialogue d'authentification pour la + plupart des navigateurs.

+ +

A partir de la version 2.4.55 du serveur HTTP Apache, il est possible de + définir cette directive en utilisant la syntaxe des + expressions pour spécifier l'identifiant d'autorisation de manière + dynamique.

+ +

Exemple :

+ +
AuthName "%{HTTP_HOST}"
+ + + +

Voir aussi

+ +
+
top
+

Directive <AuthnProviderAlias>

+ + + + + + +
Description:Regroupe un ensemble de directives qui constituent une +extension d'un fournisseur d'authentification de base et lui attribue +l'alias spécifié
Syntaxe:<AuthnProviderAlias alias-fournisseur> +... </AuthnProviderAlias>
Contexte:configuration globale
Statut:Base
Module:mod_authn_core
+

Les balises <AuthnProviderAlias> et + </AuthnProviderAlias> permettent de regrouper un + ensemble de directives d'authentification qui seront référencées par + l'alias spécifié à l'aide des directives AuthBasicProvider ou AuthDigestProvider.

+ +
Cette directive n'a aucune influence sur le processus + d'autorisation, même pour les modules qui fournissent à la fois + l'authentification et l'autorisation.
+ + +
+
top
+

Directive AuthType

+ + + + + + + +
Description:Type d'authentification utilisateur
Syntaxe:AuthType None|Basic|Digest|Form
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authn_core
+

Cette directive permet de définir le type d'authentification + utilisateur pour un répertoire. Les types d'authentification + disponibles sont None, Basic (implémenté + par mod_auth_basic), Digest + (implémenté par mod_auth_digest), et + Form (implémenté par + mod_auth_form).

+ +

Pour mettre en oeuvre l'authentification, vous devez aussi + utiliser les directives AuthName et Require. De plus, le serveur + doit pouvoir disposer d'un module fournisseur d'authentification + comme mod_authn_file et d'un module d'autorisation + comme mod_authz_user.

+ +

Le type d'authentification None désactive + l'authentification. Lorsqu'une authentification est définie, elle + est en général héritée par chacune des sections de configuration qui + suivent, à moins qu'un autre type d'authentification ne soit + spécifié. Si l'on ne souhaite pas mettre en oeuvre + d'authentification pour une sous-section d'une section authentifiée, + on doit utiliser le type d'authentification None ; dans + l'exemple suivant, les clients peuvent accéder au répertoire + /www/docs/public sans devoir s'authentifier :

+ +
<Directory "/www/docs">
+    AuthType Basic
+    AuthName Documents
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    Require valid-user
+</Directory>
+
+<Directory "/www/docs/public">
+    AuthType None
+    Require all granted
+</Directory>
+ + +

A partir de la version 2.4.55, il est possible de définir cette + directive en utilisant la syntaxe des expressions pour + spécifier le type d'authentification de manière dynamique.

+ +
Veuillez noter que, lorsque l'authentification n'est pas + activée, les clients qui se sont déjà authentifiés pour une autre + zone de l'arborescence du site continueront en général à envoyer des + en-tête d'authentification HTTP ou des cookies avec chaque requête, + sans se préoccuper de savoir si le serveur nécessite vraiment une + authentification pour chaque ressource.
+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbd.html b/docs/manual/mod/mod_authn_dbd.html new file mode 100644 index 0000000..2cb451c --- /dev/null +++ b/docs/manual/mod/mod_authn_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_dbd.html.en b/docs/manual/mod/mod_authn_dbd.html.en new file mode 100644 index 0000000..fe3a21a --- /dev/null +++ b/docs/manual/mod/mod_authn_dbd.html.en @@ -0,0 +1,231 @@ + + + + + +mod_authn_dbd - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authn_dbd

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:User authentication using an SQL database
Status:Extension
Module Identifier:authn_dbd_module
Source File:mod_authn_dbd.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module provides authentication front-ends such as + mod_auth_digest and mod_auth_basic + to authenticate users by looking up users in SQL tables. + Similar functionality is provided by, for example, + mod_authn_file.

+

This module relies on mod_dbd to specify + the backend database driver and connection parameters, and + manage the database connections.

+ +

When using mod_auth_basic or + mod_auth_digest, this module is invoked via the + AuthBasicProvider or + AuthDigestProvider + with the dbd value.

+
+ +
top
+
+

Performance and Caching

+ +

Some users of DBD authentication in HTTPD 2.2/2.4 have reported that it +imposes a problematic load on the database. This is most likely where +an HTML page contains hundreds of objects (e.g. images, scripts, etc) +each of which requires authentication. Users affected (or concerned) +by this kind of problem should use mod_authn_socache +to cache credentials and take most of the load off the database.

+
top
+
+

Configuration Example

+ +

This simple example shows use of this module in the context of +the Authentication and DBD frameworks.

+
# mod_dbd configuration
+# UPDATED to include authentication caching
+DBDriver pgsql
+DBDParams "dbname=apacheauth user=apache password=xxxxxx"
+
+DBDMin  4
+DBDKeep 8
+DBDMax  20
+DBDExptime 300
+
+<Directory "/usr/www/myhost/private">
+  # mod_authn_core and mod_auth_basic configuration
+  # for mod_authn_dbd
+  AuthType Basic
+  AuthName "My Server"
+
+  # To cache credentials, put socache ahead of dbd here
+  AuthBasicProvider socache dbd
+
+  # Also required for caching: tell the cache to cache dbd lookups!
+  AuthnCacheProvideFor dbd
+  AuthnCacheContext my-server
+
+  # mod_authz_core configuration
+  Require valid-user
+
+  # mod_authn_dbd SQL query to authenticate a user
+  AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+</Directory>
+ +
top
+
+

Exposing Login Information

+ +

+Whenever a query is made to the database server, all +column values in the first row returned by the query are placed in the +environment, using environment variables with the prefix "AUTHENTICATE_". +

+

If a database query for example returned the username, full name +and telephone number of a user, a CGI program will have access to +this information without the need to make a second independent database +query to gather this additional information.

+

This has the potential to dramatically simplify the coding and +configuration required in some web applications. +

+
+
top
+

AuthDBDUserPWQuery Directive

+ + + + + + +
Description:SQL query to look up a password for a user
Syntax:AuthDBDUserPWQuery query
Context:directory
Status:Extension
Module:mod_authn_dbd
+

The AuthDBDUserPWQuery specifies an + SQL query to look up a password for a specified user. The user's ID + will be passed as a single string parameter when the SQL query is + executed. It may be referenced within the query statement using + a %s format specifier.

+
AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+ +

The first column value of the first row returned by the query + statement should be a string containing the encrypted password. + Subsequent rows will be ignored. If no rows are returned, the user + will not be authenticated through mod_authn_dbd.

+

Any additional column values in the first row returned by + the query statement will be stored as environment variables with + names of the form AUTHENTICATE_COLUMN. +

+

The encrypted password format depends on which authentication + frontend (e.g. mod_auth_basic or + mod_auth_digest) is being used. See Password Formats for + more information.

+ +
+
top
+

AuthDBDUserRealmQuery Directive

+ + + + + + +
Description:SQL query to look up a password hash for a user and realm. +
Syntax:AuthDBDUserRealmQuery query
Context:directory
Status:Extension
Module:mod_authn_dbd
+

The AuthDBDUserRealmQuery specifies an + SQL query to look up a password for a specified user and realm in a + digest authentication process. + The user's ID and the realm, in that order, will be passed as string + parameters when the SQL query is executed. They may be referenced + within the query statement using %s format specifiers.

+
AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"
+ +

The first column value of the first row returned by the query + statement should be a string containing the encrypted password. + Subsequent rows will be ignored. If no rows are returned, the user + will not be authenticated through mod_authn_dbd.

+

Any additional column values in the first row returned by + the query statement will be stored as environment variables with + names of the form AUTHENTICATE_COLUMN. +

+

The encrypted password format depends on which authentication + frontend (e.g. mod_auth_basic or + mod_auth_digest) is being used. See Password Formats for + more information.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbd.html.fr.utf8 b/docs/manual/mod/mod_authn_dbd.html.fr.utf8 new file mode 100644 index 0000000..1da5eb1 --- /dev/null +++ b/docs/manual/mod/mod_authn_dbd.html.fr.utf8 @@ -0,0 +1,248 @@ + + + + + +mod_authn_dbd - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authn_dbd

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Authentification utilisateur à l'aide d'une base de données +SQL
Statut:Extension
Identificateur de Module:authn_dbd_module
Fichier Source:mod_authn_dbd.c
Compatibilité:Disponible depuis la version 2.1 d'Apache
+

Sommaire

+ +

Ce module permet aux frontaux d'authentification comme + mod_auth_digest et mod_auth_basic + d'authentifier les utilisateurs en les recherchant dans une base de + données SQL. mod_authn_file, par exemple, fournit + une fonctionnalité similaire.

+

Ce module s'appuie sur mod_dbd pour spécifier le + pilote de la base de données sous-jacente et les paramètres de + connexion, mais aussi pour gérer les connexions à la base de + données.

+ +

Si l'on utilise mod_auth_basic ou + mod_auth_digest, on peut invoquer ce module en + affectant la valeur dbd à la directive AuthBasicProvider ou AuthDigestProvider.

+
+ +
top
+
+

Performances et mise en cache

+ +

Certains utilisateurs de l'authentification DBD sous HTTPD 2.2/2.4 ont +signalé une charge problématique au niveau de la base de données. Cela +se produit en général lorsqu'une page HTML contient des centaines d'objets +(comme des images, des scripts, etc...), chacun d'entre eux nécessitant +une authentification. Les utilisateurs qui rencontrent ce genre de +problème peuvent utiliser le module mod_authn_socache +qui permet de mettre les données d'authentification en cache, et +soulager ainsi la base de données de la plus grande partie de la charge.

+
top
+
+

Exemple de configuration

+ +

Voici un exemple simple d'utilisation de ce module dans un contexte +d'authentification et de bases de données.

+
# configuration de mod_dbd
+# MISE À JOUR pour inclure la mise en cache de l'authentification
+DBDriver pgsql
+DBDParams "dbname=apacheauth user=apache password=xxxxxx"
+
+DBDMin  4
+DBDKeep 8
+DBDMax  20
+DBDExptime 300
+
+<Directory "/usr/www/mon-serveur/private">
+  # configuration de mod_authn_core et mod_auth_basic
+  # pour mod_authn_dbd
+  AuthType Basic
+  AuthName "Mon serveur"
+
+  # Pour mettre en cache les données d'authentification, placez socache
+  # avant dbd
+  AuthBasicProvider socache dbd
+
+  # Aussi nécessaire à la mise en cache : dire au cache de mettre en
+  # cache les recherches dbd !
+  AuthnCacheProvideFor dbd
+  AuthnCacheContext mon-serveur
+
+  # configuration de mod_authz_core
+  Require valid-user
+
+  # la requête SQL de mod_authn_dbd pour authentifier un utilisateur
+  AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+</Directory>
+ +
top
+
+

Mise à disposition des informations de connexion

+ +

+Pour chaque requête envoyée au serveur de +base de données, toutes les valeurs de colonnes du premier +enregistrement renvoyé par la requête sont affectées à des variables +d'environnement avec le préfixe "AUTHENTICATE_". +

+

Par exemple, si une requête renvoie un nom d'utilisateur, un nom +complet et un numéro de téléphone, un programme CGI pourra accéder à ces +informations sans avoir besoin d'effectuer une deuxième requête vers la +base de données.

+

Ceci va entraîner une simplification considérable du code et de la +configuration nécessaire de certaines applications web. +

+
+
top
+

Directive AuthDBDUserPWQuery

+ + + + + + +
Description:Requête SQL servant à vérifier le mot de passe d'un +utilisateur
Syntaxe:AuthDBDUserPWQuery requête
Contexte:répertoire
Statut:Extension
Module:mod_authn_dbd
+

La directive AuthDBDUserPWQuery permet de + spécifier une requête servant à vérifier le mot de passe d'un + utilisateur donné. L'identifiant utilisateur sera transmis comme + paramètre sous forme d'une seule chaîne de caractères lorsque la + requête sera exécutée. Cet identifiant est référencé dans la requête + en utilisant le spécificateur de format %s.

+
AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+ +

La première colonne du premier enregistrement renvoyé par la + requête se présentera sous la forme d'une chaîne de caractères + contenant le mot de passe chiffré. Les enregistrements suivants sont + ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur ne + sera pas authentifié par mod_authn_dbd.

+

Toute valeur de colonne supplémentaire + du premier enregistrement renvoyé par la requête sera stockée dans + une variable d'environnement dont le nom aura la forme + AUTHENTICATE_valeur-colonne. +

+

Le format du mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + mod_auth_basic ou + mod_auth_digest). Voir la documentation sur les Formats de mots de passe pour + plus de détails.

+ +
+
top
+

Directive AuthDBDUserRealmQuery

+ + + + + + +
Description:Requête SQL servant à vérifier une empreinte de mot de +passe pour un utilisateur et un identifiant d'authentification. +
Syntaxe:AuthDBDUserRealmQuery requête
Contexte:répertoire
Statut:Extension
Module:mod_authn_dbd
+

La directive AuthDBDUserRealmQuery permet + de spécifier une requête SQL servant à vérifier une empreinte de mot + de passe pour un utilisateur et un identifiant d'authentification + donnés au cours d'un processus d'authentification digest. Les + identifiants de l'utilisateur et de l'authentification + sont passés dans cet ordre comme paramètres à l'exécution de la + requête. Ils sont référencés dans la chaîne de la requête en + utilisant des spécificateurs de format %s.

+
AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"
+ +

La première colonne du premier enregistrement renvoyé par la + requête se présentera sous la forme d'une chaîne de caractères + contenant le mot de passe chiffré. Les enregistrements suivants + seront ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur + ne sera pas authentifié par mod_authn_dbd.

+

Toute valeur de colonne supplémentaire + du premier enregistrement renvoyé par la requête sera stockée dans + une variable d'environnement avec un nom de la forme + AUTHENTICATE_COLONNE. +

+

Le format du mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + mod_auth_basic ou + mod_auth_digest). Voir la documentation sur les Formats de mots de passe pour + plus de détails.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html b/docs/manual/mod/mod_authn_dbm.html new file mode 100644 index 0000000..51e1b37 --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_dbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbm.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbm.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authn_dbm.html.en b/docs/manual/mod/mod_authn_dbm.html.en new file mode 100644 index 0000000..47fce75 --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.en @@ -0,0 +1,179 @@ + + + + + +mod_authn_dbm - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authn_dbm

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:User authentication using DBM files
Status:Extension
Module Identifier:authn_dbm_module
Source File:mod_authn_dbm.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module provides authentication front-ends such as + mod_auth_digest and mod_auth_basic + to authenticate users by looking up users in dbm password + files. Similar functionality is provided by + mod_authn_file.

+ +

When using mod_auth_basic or + mod_auth_digest, this module is invoked via the + AuthBasicProvider or + AuthDigestProvider + with the dbm value.

+
+ + +
top
+

AuthDBMType Directive

+ + + + + + + + +
Description:Sets the type of database file that is used to +store passwords
Syntax:AuthDBMType default|SDBM|GDBM|NDBM|DB
Default:AuthDBMType default
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authn_dbm
+

Sets the type of database file that is used to store the passwords. + The default database type is determined at compile time. The + availability of other types of database files also depends on + compile-time settings.

+ +

For example, in order to enable the support for Berkeley DB + (correspondent to the db type) the + --with-berkeley-db option needs to be added to httpd's + configure to generate the necessary DSO.

+ +

It is crucial that whatever program you use to create your password + files is configured to use the same type of database.

+ +
+
top
+

AuthDBMUserFile Directive

+ + + + + + + +
Description:Sets the name of a database file containing the list of users and +passwords for authentication
Syntax:AuthDBMUserFile file-path
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authn_dbm
+

The AuthDBMUserFile directive sets the + name of a DBM file containing the list of users and passwords for + user authentication. File-path is the absolute path to + the user file.

+ +

The user file is keyed on the username. The value for a user is + the encrypted password, optionally followed by a colon and arbitrary + data. The colon and the data following it will be ignored by the + server.

+ +

Security:

+

Make sure that the AuthDBMUserFile is stored + outside the document tree of the web-server; do not put it in + the directory that it protects. Otherwise, clients will be able to + download the AuthDBMUserFile.

+
+ +

The encrypted password format depends on which authentication + frontend (e.g. mod_auth_basic or + mod_auth_digest) is being used. See Password Formats for + more information.

+ +

Important compatibility note: The implementation of + dbmopen in the Apache modules reads the string length of + the hashed values from the DBM data structures, rather than relying + upon the string being NULL-appended. Some applications, such as + the Netscape web server, rely upon the string being + NULL-appended, so if you are having trouble using DBM files + interchangeably between applications this may be a part of the + problem.

+ +

A perl script called + dbmmanage is included with + Apache. This program can be used to create and update DBM + format password files for use with this module. Another + tool for maintaining the DBM files is the included program + htdbm.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html.fr.utf8 b/docs/manual/mod/mod_authn_dbm.html.fr.utf8 new file mode 100644 index 0000000..93e324f --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.fr.utf8 @@ -0,0 +1,188 @@ + + + + + +mod_authn_dbm - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authn_dbm

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Authentification utilisateur utilisant des fichiers +DBM
Statut:Extension
Identificateur de Module:authn_dbm_module
Fichier Source:mod_authn_dbm.c
Compatibilité:Disponible depuis les versions 2.1 et supérieures +d'Apache
+

Sommaire

+ +

Ce module permet aux frontaux comme + mod_auth_digest et mod_auth_basic + d'authentifier les utilisateurs en les recherchant dans des fichiers + de mots de passe dbm. mod_authn_file + fournit une fonctionnalité similaire.

+ +

Lorsqu'on utilise mod_auth_basic ou + mod_auth_digest, ce module est invoqué en affectant + la valeur dbm à la directive AuthBasicProvider ou AuthDigestProvider.

+
+ + +
top
+

Directive AuthDBMType

+ + + + + + + + +
Description:Définit le type de fichier de base de données utilisé pour +stocker les mots de passe
Syntaxe:AuthDBMType default|SDBM|GDBM|NDBM|DB
Défaut:AuthDBMType default
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authn_dbm
+

Cette directive permet de définir le type de fichier de base de + données utilisé pour stocker les mots de passe. Le type de base de + données par défaut est défini à la compilation. La liste des autres + types de bases de données disponibles dépend aussi de la configuration de la + compilation.

+ +

Par exemple, pour activer le support de Berkeley DB (correspondant au + type db), il faut ajouter l'option + --with-berkeley-db à la ligne de commande configure de httpd + pour générer le DSO approprié.

+ +

Il est impératif que le programme que vous utilisez pour créer + vos fichiers de mots de passe soit configuré pour utiliser le même + type de base de données.

+ +
+
top
+

Directive AuthDBMUserFile

+ + + + + + + +
Description:Définit le nom d'un fichier de base de données pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe
Syntaxe:AuthDBMUserFile chemin-fichier
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authn_dbm
+

La directive AuthDBMUserFile permet de + définir le nom d'un fichier de base de données pour + l'authentification contenant la liste des utilisateurs et de leurs + mots de passe. chemin-fichier doit être un chemin absolu + vers le fichier de base de données.

+ +

La clé du fichier de base de données est le nom de l'utilisateur. + La valeur associée est le mot de passe chiffré, éventuellement suivi + par un ':' et des données arbitraires. Ce ':' ainsi que les données + arbitraires qui suivent seront ignorées par le serveur.

+ +

Sécurité :

+

Faites en sorte que le fichier spécifié par la directive + AuthDBMUserFile soit stocké en dehors de + l'arborescence des documents du serveur web ; en particulier, ne + l'enregistrez pas dans le répertoire qu'il protège, faute + de quoi, les clients auraient la possibilité de + télécharger le fichier des mots de passe.

+
+ +

Le format de mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + mod_auth_basic ou + mod_auth_digest). Voir la documentation sur les Formats de mots de + passe pour plus de détails.

+ +

Note importante concernant la compatibilité : l'implémentation de + dbmopen dans les modules d'Apache lit la longueur de la + chaîne correspondant aux données chiffrées dans la structure des + données DBM, plutôt que de calculer cette longueur en se basant sur + le caractère nul final. Certaines applications par contre, comme le + serveur web Netscape, calculent cette longueur en se basant sur + le caractère nul final ; par conséquent, si vous rencontrez des + difficultés en échangeant des fichiers DBM entre plusieurs + applications, le problème peut éventuellement s'expliquer par cette + différence d'implémentation.

+ +

Un script perl nommé dbmmanage est fourni avec + Apache. On peut utiliser ce programme pour créer et mettre à jour + les fichiers de mots de passe au format DBM que ce module + utilise. Il existe également un autre outil pour gérer les fichiers DBM, + inclus dans le programme htdbm.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html.ja.utf8 b/docs/manual/mod/mod_authn_dbm.html.ja.utf8 new file mode 100644 index 0000000..0eba74f --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.ja.utf8 @@ -0,0 +1,167 @@ + + + + + +mod_authn_dbm - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_authn_dbm

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:DBM ファイルを用ã„ãŸãƒ¦ãƒ¼ã‚¶èªè¨¼
ステータス:Extension
モジュール識別å­:authn_dbm_module
ソースファイル:mod_authn_dbm.c
互æ›æ€§:Apache 2.1 以é™
+

概è¦

+ +

本モジュール㯠mod_auth_digest ã‚„ + mod_auth_basic ã¨ã„ã£ãŸèªè¨¼ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã«å¯¾ã—ã¦ã€ + dbm パスワードファイル内ã‹ã‚‰ã®ãƒ¦ãƒ¼ã‚¶æ¤œç´¢ã«ã‚ˆã‚‹ + ユーザèªè¨¼æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ä¼¼ãŸã‚ˆã†ãªæ©Ÿèƒ½ã¯ mod_authn_file + ã§ã‚‚æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

mod_auth_basic ã‚„ mod_auth_digest + を使用ã™ã‚‹éš›ã«ã¯ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ + AuthBasicProvider ã‚„ + AuthDigestPrivider + 㧠dbm ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã§èµ·å‹•ã•ã‚Œã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

AuthDBMType ディレクティブ

+ + + + + + + + +
説明:パスワードをä¿å­˜ã™ã‚‹ãŸã‚ã«å¿…è¦ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¨®é¡žã‚’ +設定ã™ã‚‹
構文:AuthDBMType default|SDBM|GDBM|NDBM|DB
デフォルト:AuthDBMType default
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_authn_dbm
+

パスワードをä¿å­˜ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¨®é¡žã‚’ + 設定ã—ã¾ã™ã€‚デフォルトã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ç¨®é¡žã¯ã‚³ãƒ³ãƒ‘イル時ã«æ±ºã¾ã‚Šã¾ã™ã€‚ + ä»–ã®ç¨®é¡žã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒä½¿ç”¨å¯èƒ½ã‹ã©ã†ã‹ã‚‚ コンパイル時ã®è¨­å®šã«ä¾å­˜ã—ã¾ã™ã€‚

+ +

パスワードファイルを作æˆã™ã‚‹ã®ã«ä½¿ç”¨ã™ã‚‹ãƒ—ログラムãŒåŒã˜ç¨®é¡žã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’ + 使用ã™ã‚‹ã‚ˆã†ã«è¨­å®šã™ã‚‹ã“ã¨ã¯éžå¸¸ã«é‡è¦ã§ã™ã€‚

+ +
+
top
+

AuthDBMUserFile ディレクティブ

+ + + + + + + +
説明:èªè¨¼ç”¨ã®ãƒ¦ãƒ¼ã‚¶ã¨ãƒ‘スワードã®ãƒªã‚¹ãƒˆã‚’ä¿æŒã—ã¦ã„ã‚‹ +データベースファイルåを設定ã™ã‚‹
構文:AuthDBMUserFile file-path
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Extension
モジュール:mod_authn_dbm
+

AuthDBMUserFile ディレクティブ㯠+ èªè¨¼ç”¨ã®ãƒ¦ãƒ¼ã‚¶ã¨ãƒ‘スワードã®ãƒªã‚¹ãƒˆã‚’ä¿æŒã—ã¦ã„ã‚‹ DBM ファイル㮠+ åå‰ã‚’設定ã—ã¾ã™ã€‚File-path ã¯ãƒ¦ãƒ¼ã‚¶ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã® + 絶対パスã§ã™ã€‚

+ +

ユーザファイルã®ã‚­ãƒ¼ã¯ãƒ¦ãƒ¼ã‚¶åã§ã™ã€‚ユーザã«å¯¾ã—ã¦è¿”ã•ã‚Œã‚‹å€¤ã¯ + æš—å·åŒ–ã•ã‚ŒãŸãƒ‘スワードã§ã€ãã®å¾Œã«ã€ã‚³ãƒ­ãƒ³ã«ç¶šã„ã¦ä»»æ„ã®ãƒ‡ãƒ¼ã‚¿ãŒ + 続ã„ã¦ã„ã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚コロンã¨ãã®å¾Œã®ãƒ‡ãƒ¼ã‚¿ã¯ã‚µãƒ¼ãƒã¯ + 無視ã—ã¾ã™ã€‚

+ +

セキュリティ

+

AuthDBMUserFile ã¯ã€ + ウェブサーãƒã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リーã®å¤–å´ã«ä¿ç®¡ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 + ä¿è­·ã—よã†ã¨ã—ã¦ã„るディレクトリ以下ã«ã¯ + ç½®ã‹ãªã„ã§ä¸‹ã•ã„。 + ãã†ã—ãªã„ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ AuthUserFile ã‚’ + ダウンロードã§ãã¦ã—ã¾ã„ã¾ã™ã€‚

+
+ +

é‡è¦ãªäº’æ›æ€§ã«é–¢ã™ã‚‹æ³¨æ„: apache module ã® dbmopen ã®å®Ÿè£…㯠+ 文字列㌠NULL ã§çµ‚ã‚ã£ã¦ã„ã‚‹ã“ã¨ã«ä¾å­˜ã™ã‚‹ã®ã§ã¯ãªãã€DBM データストラクãƒãƒ£ + ã®ãƒãƒƒã‚·ãƒ¥å€¤ã®æ–‡å­—列ã®é•·ã•ã‚’読ã¿å–ã‚Šã¾ã™ã€‚Netscape ウェブサーãƒãªã©ã€ + アプリケーションã®ä¸­ã«ã¯æ–‡å­—列㌠NULL ã§çµ‚ã‚ã£ã¦ã„ã‚‹ã“ã¨ã«ä¾å­˜ã—ã¦ã„ã‚‹ + ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ç•°ãªã‚‹ã‚¢ãƒ—リケーション間ã§ã® DBM ファイル㮠+ 使用ã«å•é¡ŒãŒã‚ã‚‹å ´åˆã¯ã€ã“ã‚ŒãŒåŽŸå› ã«ãªã£ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚

+ +

Apache ã«ã¯ dbmmanage ã¨ã„ㆠ+ perl スクリプトãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ã“ã®ãƒ—ログラムを使ã£ã¦ã“ã® + モジュールãŒä½¿ç”¨ã™ã‚‹ DBM フォーマットã®ãƒ‘スワードファイルを作æˆã—ãŸã‚Š + æ›´æ–°ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr b/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr new file mode 100644 index 0000000..5191a7b --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr @@ -0,0 +1,159 @@ + + + + + +mod_authn_dbm - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_authn_dbm

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:DBM ÆÄÀÏÀ» »ç¿ëÇÑ »ç¿ëÀÚ ÀÎÁõ
»óÅÂ:Extension
¸ðµâ¸í:authn_dbm_module
¼Ò½ºÆÄÀÏ:mod_authn_dbm.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº mod_auth_digest³ª + mod_auth_basic ÀÎÁõ¾Õ´Ü¸ðµâÀ» À§ÇØ + dbm ¾ÏÈ£ÆÄÀÏ¿¡¼­ »ç¿ëÀÚ¸¦ ã¾Æ¼­ ÀÎÁõÇÑ´Ù. + mod_authn_file°ú ±â´ÉÀÌ ºñ½ÁÇÑ´Ù.

+ +

mod_auth_basicÀ̳ª + mod_auth_digest¸¦ »ç¿ëÇÒ¶§ AuthBasicProvider³ª + AuthDigestProviderÀÇ + °ªÀ¸·Î dbmÀ» ¼³Á¤Çϸé ÀÌ ¸ðµâÀ» »ç¿ëÇÑ´Ù.

+
+ + +
top
+

AuthDBMType Áö½Ã¾î

+ + + + + + + + +
¼³¸í:¾ÏÈ£¸¦ ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ù¸¦ +ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthDBMType default|SDBM|GDBM|NDBM|DB
±âº»°ª:AuthDBMType default
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authn_dbm
+

¾ÏÈ£¸¦ ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ù¸¦ ÁöÁ¤ÇÑ´Ù. ±âº» + µ¥ÀÌÅͺ£À̽º Á¾·ù´Â ÄÄÆÄÀ϶§ ÆÇ´ÜÇÑ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â ´Ù¸¥ + µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ùµµ ÄÄÆÄÀÏ + ¼³Á¤¿¡ ´Þ·È´Ù.

+ +

¾ÏÈ£ÆÄÀÏÀ» ¸¸µå´Â ÇÁ·Î±×·¥ÀÌ °°Àº Á¾·ùÀÇ µ¥ÀÌÅͺ£À̽º¸¦ + »ç¿ëÇϵµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù.

+ +
+
top
+

AuthDBMUserFile Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÀÎÁõÇÒ »ç¿ëÀÚ¿Í ¾ÏÈ£ ¸ñ·ÏÀ» ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º +ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthDBMUserFile file-path
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authn_dbm
+

AuthDBMUserFile Áö½Ã¾î´Â »ç¿ëÀÚ + ÀÎÁõ¿¡ »ç¿ëÇÒ »ç¿ëÀÚ¿Í ¾ÏÈ£ ¸ñ·ÏÀ» ÀúÀåÇÏ´Â DBM ÆÄÀϸíÀ» + ÁöÁ¤ÇÑ´Ù. File-path´Â ÆÄÀÏÀÇ Àý´ë°æ·ÎÀÌ´Ù.

+ +

ÆÄÀÏÀº »ç¿ëÀÚ¸íÀ» Å°·Î »ç¿ëÇÑ´Ù. »ç¿ëÀÚ¿¡ ´ëÇÑ °ªÀº + ÀÎÄÚµùµÈ ¾ÏÈ£ÀÌ´Ù. ¾ÏÈ£ µÚ¿¡ Äݷаú ÀÓÀÇÀÇ Á¤º¸°¡ ³ª¿Ã ¼ö + ÀÖ´Ù. ¼­¹ö´Â Äݷаú µÚ¿¡ ³ª¿À´Â Á¤º¸¸¦ ¹«½ÃÇÑ´Ù.

+ +

º¸¾È:

+

AuthDBMUserFileÀÌ À¥¼­¹öÀÇ ¹®¼­µé + ¹Û¿¡ ÀÖÀ½À» È®ÀÎÇ϶ó. ÀÌ ÆÄÀÏÀ» º¸È£ÇÒ µð·ºÅ丮 ¾È¿¡ °°ÀÌ + µÎÁö ¸¶¶ó. ±×·¸Áö ¾ÊÀ¸¸é, Ŭ¶óÀ̾ðÆ®°¡ + AuthDBMUserFileÀ» ´Ù¿î·ÎµåÇÒ ¼ö + ÀÖ´Ù.

+
+ +

Áß¿äÇÑ È£È¯¼º ÁÖÀÇ: ¾ÆÆÄÄ¡ ¸ðµâÀÇ dbmopen + ±¸ÇöÀº ¹®ÀÚ¿­ ³¡ÀÇ NULL¿¡ ÀÇÁ¸ÇÏÁö¾Ê°í DBM ÀڷᱸÁ¶¿¡¼­ + Çؽ̰ªÀÇ ¹®ÀÚ¿­ ±æÀ̸¦ Àд´Ù. Netscape À¥¼­¹ö µî ¾î¶² + ÇÁ·Î±×·¥Àº ¹®ÀÚ¿­ÀÌ NULL·Î ³¡³­´Ù°í °¡Á¤Çϱ⶧¹®¿¡ ¿©·¯ + ÇÁ·Î±×·¥ÀÌ DBM ÆÄÀÏÀ» »ç¿ëÇÏ¸é ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù.

+ +

¾ÆÆÄÄ¡´Â dbmmanage¶ó´Â + Perl ½ºÅ©¸³Æ®¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ÀÌ ¸ðµâÀÌ »ç¿ëÇÒ + DBMÇü½Ä ¾ÏÈ£ÆÄÀÏÀ» ¸¸µé°í ¼öÁ¤ÇÑ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html b/docs/manual/mod/mod_authn_file.html new file mode 100644 index 0000000..dd8ad7d --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_file.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_file.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_file.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_file.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authn_file.html.en b/docs/manual/mod/mod_authn_file.html.en new file mode 100644 index 0000000..629b0c5 --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.en @@ -0,0 +1,164 @@ + + + + + +mod_authn_file - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authn_file

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:User authentication using text files
Status:Base
Module Identifier:authn_file_module
Source File:mod_authn_file.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module provides authentication front-ends such as + mod_auth_digest and mod_auth_basic + to authenticate users by looking up users in plain text password files. + Similar functionality is provided by mod_authn_dbm.

+ +

When using mod_auth_basic or + mod_auth_digest, this module is invoked via the + AuthBasicProvider or + AuthDigestProvider + with the file value.

+
+ + +
top
+

AuthUserFile Directive

+ + + + + + + +
Description:Sets the name of a text file containing the list of users and +passwords for authentication
Syntax:AuthUserFile file-path
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authn_file
+

The AuthUserFile directive sets the name + of a textual file containing the list of users and passwords for + user authentication. File-path is the path to the user + file. If it is not absolute, it is treated as relative to the + ServerRoot.

+ +

Each line of the user file contains a username followed by + a colon, followed by the encrypted password. If the same user + ID is defined multiple times, mod_authn_file will + use the first occurrence to verify the password.

+ +

The encrypted password format depends on which authentication + frontend (e.g. mod_auth_basic or + mod_auth_digest) is being used. See Password Formats for + more information.

+ +

For mod_auth_basic, use the utility htpasswd + which is installed as part of the binary distribution, or which + can be found in src/support. See the + man page for more details. + In short:

+ +

Create a password file Filename with + username as the initial ID. It will prompt for + the password:

+ +

+ htpasswd -c Filename username +

+ +

Add or modify username2 in the password file + Filename:

+ +

+ htpasswd Filename username2 +

+ +

Note that searching large text files is very + inefficient; AuthDBMUserFile should be used + instead.

+ +

For mod_auth_digest, use htdigest + instead. Note that you cannot mix user data for Digest Authentication + and Basic Authentication within the same file.

+ +

Security

+

Make sure that the AuthUserFile is + stored outside the document tree of the web-server. Do + not put it in the directory that it protects. + Otherwise, clients may be able to download the + AuthUserFile.

+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html.fr.utf8 b/docs/manual/mod/mod_authn_file.html.fr.utf8 new file mode 100644 index 0000000..ec29f39 --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.fr.utf8 @@ -0,0 +1,173 @@ + + + + + +mod_authn_file - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authn_file

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Authentification utilisateur à l'aide de fichiers +texte
Statut:Base
Identificateur de Module:authn_file_module
Fichier Source:mod_authn_file.c
Compatibilité:Disponible depuis les versions 2.1 et supérieures +d'Apache
+

Sommaire

+ +

Ce module permet aux frontaux d'authentification comme + mod_auth_digest et mod_auth_basic + d'authentifier les utilisateurs en les recherchant dans des fichiers + de mots de passe au format texte. mod_authn_dbm + fournit une fonctionnalité similaire.

+ +

Lorsqu'on utilise mod_auth_basic ou + mod_auth_digest, ce module peut être invoqué en + affectant la valeur file à la directive AuthBasicProvider ou AuthDigestProvider.

+
+ + +
top
+

Directive AuthUserFile

+ + + + + + + +
Description:Définit le nom d'un fichier texte pour l'authentification +contenant la liste des utilisateurs et de leurs mots de +passe
Syntaxe:AuthUserFile chemin-fichier
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authn_file
+

La directive AuthUserFile permet de + définir le nom d'un fichier texte pour l'authentification contenant + la liste des utilisateurs et de leurs mots de passe. + chemin-fichier est le chemin vers le fichier + des utilisateurs. S'il n'est pas absolu, il est considéré comme + relatif au répertoire défini par la directive ServerRoot.

+ +

Chaque ligne du fichier des utilisateurs se compose du nom de + l'utilisateur, du caractère ':' et du mot de passe chiffré. Si le + même identifiant utilisateur est référencé plusieurs fois, + mod_authn_file utilisera la première occurrence pour + vérifier le mot de passe.

+ +

Le format du mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + mod_auth_basic ou + mod_auth_digest). Voir la documentation sur les + Formats de mots de + passe pour plus de détails.

+ +

Pour mod_auth_basic, utilisez le programme + htpasswd fourni avec la distribution binaire, + mais que vous trouverez aussi dans le répertoire + src/support de l'arborescence des sources. Voir sa page de manuel pour plus de + détails. En bref :

+ +

On crée un fichier de mots de passe nom-fichier avec + nom-utilisateur comme identifiant initial. Le mot de + passe correspondant sera alors demandé :

+ +

+ htpasswd -c nom-fichier nom-utilisateur +

+ +

Pour ajouter ou modifier nom-utilisateur2 dans le + fichier de mots de passe nom-fichier :

+ +

+ htpasswd nom-fichier nom-utilisateur2 +

+ +

Noter qu'une recherche dans de grands fichiers texte peut être + très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM + avec la directive AuthDBMUserFile.

+ +

Pour mod_auth_digest, vous devez utiliser + le programme htdigest. + Notez que vous ne pouvez pas mélanger des données utilisateur pour + l'Authentification HTTP à base de condensé et des données pour + l'Authentification de Base dans le même fichier.

+ +

Sécurité

+

Assurez-vous que le fichier AuthUserFile + soit bien stocké en dehors de l'arborescence des documents du + serveur web. Ne placez pas ce fichier dans le + répertoire qu'il protège. Dans le cas contraire, les clients + seraient en mesure de télécharger le fichier des mots de passe.

+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html.ja.utf8 b/docs/manual/mod/mod_authn_file.html.ja.utf8 new file mode 100644 index 0000000..12909ac --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.ja.utf8 @@ -0,0 +1,174 @@ + + + + + +mod_authn_file - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_authn_file

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:テキストファイルを用ã„ãŸãƒ¦ãƒ¼ã‚¶èªè¨¼
ステータス:Base
モジュール識別å­:authn_file_module
ソースファイル:mod_authn_file.c
互æ›æ€§:Apache 2.1 以é™
+

概è¦

+ +

本モジュール㯠mod_auth_digest ã‚„ + mod_auth_basic ã¨ã„ã£ãŸèªè¨¼ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã«å¯¾ã—ã¦ã€ + プレインテキストã®ãƒ‘スワードファイル内ã‹ã‚‰ãƒ¦ãƒ¼ã‚¶ã‚’検索ã™ã‚‹ã“ã¨ã§ã€ + ユーザèªè¨¼æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ä¼¼ãŸã‚ˆã†ãªæ©Ÿèƒ½ã¯ mod_authn_dbm + ã§ã‚‚æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

mod_auth_basic ã‚„ mod_auth_digest + を使用ã™ã‚‹éš›ã«ã¯ã€ + AuthBasicProvider ã‚„ + AuthDigestPrivider + 㧠file ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã§ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯èµ·å‹•ã•ã‚Œã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

AuthUserFile ディレクティブ

+ + + + + + + +
説明:èªè¨¼ã«ä½¿ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã¨ãƒ‘スワードã®ä¸€è¦§ãŒæ ¼ç´ã•ã‚Œã¦ã„る〠+テキストファイルã®åå‰ã‚’設定ã™ã‚‹
構文:AuthUserFile file-path
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Base
モジュール:mod_authn_file
+

AuthUserFile ディレクティブã¯ã€ + ユーザèªè¨¼ã®ãŸã‚ã®ãƒ¦ãƒ¼ã‚¶ã¨ãƒ‘スワードã®ä¸€è¦§ã‚’æ ¼ç´ã—㟠+ テキストファイルã®åå‰ã‚’設定ã—ã¾ã™ã€‚file-path + ã¯ãƒ¦ãƒ¼ã‚¶ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ãƒ‘スã§ã™ã€‚ + ã‚‚ã—絶対パスã§ãªã‘ã‚Œã°ã€ + ServerRoot + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +

ユーザファイルã®å„è¡Œã«ã¯ã€ãƒ¦ãƒ¼ã‚¶åã€ã‚³ãƒ­ãƒ³ã€ + æš—å·åŒ–ã—ãŸãƒ‘スワードを記述ã—ã¾ã™ã€‚ + åŒä¸€ãƒ¦ãƒ¼ã‚¶ ID ãŒè¤‡æ•°å›žç™»éŒ²ã•ã‚ŒãŸæ™‚ã¯ã€ + mod_authn_file + ã¯æœ€åˆã«è¦‹ã¤ã‹ã£ãŸãƒ‘スワードを使用ã—ã¦èªè¨¼ã—ã¾ã™ã€‚

+ +

ãƒã‚¤ãƒŠãƒªé…布ã®ä¸€éƒ¨ã¨ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã‚‹ã‹ã€ + ã‚ã‚‹ã„㯠src/support ã«ã‚ã‚‹ + htpasswd + ユーティリティã§ã€ã“ã® HTTP 基本èªè¨¼ + 用パスワードファイルをメインテナンスã—ã¾ã™ã€‚ + 詳細㯠man + ページをã”覧頂ãã¨ã—ã¦ã€ç°¡å˜ã«ã¯:

+ +

åˆæœŸ ID username ã§ã€Filename + ã¨ã„ã†ãƒ‘スワードファイルを生æˆã—ã¾ã™ã€‚ + 次ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’発行ã™ã‚‹ã¨ãƒ‘スワードãŒè¦æ±‚ã•ã‚Œã¾ã™:

+ +

+ htpasswd -c Filename username +

+ +

パスワードファイル Filename ã«ã€username2 + を追加ã—ãŸã‚Šä¿®æ­£ã—ãŸã‚Šã—ã¾ã™:

+ +

+ htpasswd Filename username2 +

+ +

(訳注: éžå¸¸ã«å¤šãã®ãƒ¦ãƒ¼ã‚¶ã‚’登録ã™ã‚‹ã¨å¤§ããªãƒ•ã‚¡ã‚¤ãƒ«ã«ãªã‚Šã¾ã™ãŒ) + 大ããªãƒ†ã‚­ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’検索ã™ã‚‹ã®ã¯éžå¸¸ã«åŠ¹çŽ‡ãŒæ‚ªã„ + ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ãã®ã‚ˆã†ãªå¿…è¦ã®ã‚る時ã¯ã€ + AuthDBMUserFile + を代ã‚ã‚Šã«ä½¿ã£ã¦ãã ã•ã„。

+ +

HTTP ダイジェストèªè¨¼ã‚’使用ã™ã‚‹å ´åˆã¯ã€ + htpasswd + プログラムã§ã¯ä¸å分ã§ã™ã€‚ãã®ä»£ã‚ã‚Šã« + htdigest + を使用ã—ã¦ãã ã•ã„。ダイジェストèªè¨¼ç”¨ã®ãƒ‡ãƒ¼ã‚¿ã¨ + 基本èªè¨¼ç”¨ã®ãƒ‡ãƒ¼ã‚¿ã‚’åŒä¸€ãƒ•ã‚¡ã‚¤ãƒ«ã«æ··ãœã¦ä¿å­˜ã§ããªã„〠+ ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

セキュリティ

+

AuthUserFile + ã¯ã€ã‚¦ã‚§ãƒ–サーãƒã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リーã®å¤–å´ã«ä¿ç®¡ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 + ä¿è­·ã—よã†ã¨ã—ã¦ã„るディレクトリ以下ã«ã¯ã€ç½®ã‹ãªã„ã§ä¸‹ã•ã„。 + ãã†ã—ãªã„㨠AuthUserFile 㯠+ ダウンロードã§ãã¦ã—ã¾ã„ã¾ã™ã€‚

+
+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html.ko.euc-kr b/docs/manual/mod/mod_authn_file.html.ko.euc-kr new file mode 100644 index 0000000..3bcbfd9 --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.ko.euc-kr @@ -0,0 +1,157 @@ + + + + + +mod_authn_file - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_authn_file

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:¹®ÀÚÆÄÀÏÀ» ÀÌ¿ëÇÑ »ç¿ëÀÚ ÀÎÁõ
»óÅÂ:Base
¸ðµâ¸í:authn_file_module
¼Ò½ºÆÄÀÏ:mod_authn_file.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈÄ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº mod_auth_digest¿Í + mod_auth_basic °°Àº ÀÎÁõ¾Õ´Ü¸ðµâÀ» À§ÇØ + ÀÏ¹Ý ¹®ÀÚ ¾ÏÈ£ÆÄÀÏ¿¡¼­ »ç¿ëÀÚ¸¦ ã¾Æ¼­ ÀÎÁõÇÑ´Ù. + mod_authn_dbm°ú ±â´ÉÀÌ ºñ½ÁÇÏ´Ù.

+ +

mod_auth_basicÀ̳ª + mod_auth_digest¸¦ »ç¿ëÇÒ¶§ AuthBasicProvider³ª + AuthDigestProviderÀÇ + °ªÀ» file·Î ¼³Á¤Çϸé ÀÌ ¸ðµâÀ» »ç¿ëÇÑ´Ù.

+
+ + +
top
+

AuthUserFile Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÀÎÁõÇÒ »ç¿ëÀÚ¸í¿Í ¾ÏÈ£ ¸ñ·ÏÀ» ÀúÀåÇÏ´Â ¹®ÀÚÆÄÀϸíÀ» +ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthUserFile file-path
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Base
¸ðµâ:mod_authn_file
+

AuthUserFile Áö½Ã¾î´Â »ç¿ëÀÚ ÀÎÁõ¿¡ + »ç¿ëÇÒ »ç¿ëÀÚ¸í¿Í ¾ÏÈ£ ¸ñ·ÏÀ» ÀúÀåÇÏ´Â ¹®ÀÚÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù. + File-path´Â ÆÄÀÏ°æ·ÎÀÌ´Ù. Àý´ë°æ·Î¸¦ »ç¿ëÇÏÁö + ¾ÊÀ¸¸é ServerRootÀÇ + »ó´ë°æ·Î·Î ó¸®ÇÑ´Ù.

+ +

ÆÄÀÏÀÇ °¢ ÁÙ¿¡´Â »ç¿ëÀÚ¸í, ÄÝ·Ð, ÀÎÄÚµùµÈ ¾ÏÈ£°¡ ¼ø¼­´ë·Î + ³ª¿Â´Ù. ¿©·¯ ÁÙ¿¡¼­ µ¿ÀÏÇÑ »ç¿ëÀÚ ¾ÆÀ̵𸦠Á¤ÀÇÇϸé, + mod_authn_file´Â ù¹ø°·Î ³ª¿À´Â ¾ÏÈ£¸¦ + »ç¿ëÇÑ´Ù.

+ +

ÄÄÆÄÀÏµÈ ¹èÆ÷º»À̳ª src/support¿¡ ÀÖ´Â htpasswd µµ±¸´Â HTTP + Basic Authentication¿¡ »ç¿ëÇÒ ¾ÏÈ£ÆÄÀÏÀ» °ü¸®ÇÑ´Ù. + ÀÚ¼¼ÇÑ ³»¿ëÀº manpage¸¦ + Âü°íÇ϶ó. ¿ä¾àÇϸé:

+ +

Ãʱ⠾ÆÀ̵ð usernameÀ» °¡Áø ¾ÏÈ£ÆÄÀÏ + FilenameÀ» ¸¸µç´Ù. ¾ÏÈ£¸¦ ¹°¾îº»´Ù:

+ +

+ htpasswd -c Filename username +

+ +

¾ÏÈ£ÆÄÀÏ Filename¿¡ username2¸¦ + Ãß°¡Çϰųª ¼öÁ¤ÇÑ´Ù:

+ +

+ htpasswd Filename username2 +

+ +

Å« ¹®ÀÚÆÄÀÏÀ» °Ë»öÇÏ´Â °ÍÀº ¸Å¿ì ºñÈ¿À²ÀûÀÓÀ» + ÁÖÀÇÇ϶ó. »ç¿ëÀÚ°¡ ¸¹´Ù¸é ´ë½Å AuthDBMUserFileÀ» »ç¿ëÇØ¾ß + ÇÑ´Ù.

+ +

HTTP Digest AuthenticationÀ» »ç¿ëÇÑ´Ù¸é htpasswd µµ±¸·Î ¾ÈµÈ´Ù. + ´ë½Å htdigest¸¦ + »ç¿ëÇØ¾ß ÇÑ´Ù. Digest Authentication°ú Basic AuthenticationÀ» + À§ÇÑ ÀڷḦ °°Àº ÆÄÀÏ¿¡ ¼¯¾î¼­ »ç¿ëÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó.

+ +

º¸¾È

+

AuthUserFileÀÌ À¥¼­¹öÀÇ ¹®¼­µé + ¹Û¿¡ À§Ä¡ÇÔÀ» È®ÀÎÇ϶ó. ÀÌ ÆÄÀÏÀ» º¸È£ÇÒ µð·ºÅ丮 ¾È¿¡ + °°ÀÌ µÎÁö ¸¶¶ó. ±×·¸Áö ¾ÊÀ¸¸é, Ŭ¶óÀ̾ðÆ®°¡ + AuthUserFileÀ» ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Ù.

+
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_socache.html b/docs/manual/mod/mod_authn_socache.html new file mode 100644 index 0000000..9f5130b --- /dev/null +++ b/docs/manual/mod/mod_authn_socache.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_socache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_socache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_socache.html.en b/docs/manual/mod/mod_authn_socache.html.en new file mode 100644 index 0000000..5c85385 --- /dev/null +++ b/docs/manual/mod/mod_authn_socache.html.en @@ -0,0 +1,255 @@ + + + + + +mod_authn_socache - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authn_socache

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Manages a cache of authentication credentials to relieve +the load on backends
Status:Base
Module Identifier:authn_socache_module
Source File:mod_authn_socache.c
Compatibility:Version 2.3 and later
+

Summary

+ +

Maintains a cache of authentication credentials, so that a new backend + lookup is not required for every authenticated request.

+
+ +
top
+
+

Authentication Caching

+

Some users of more heavyweight authentication such as SQL database + lookups (mod_authn_dbd) have reported it putting an + unacceptable load on their authentication provider. A typical case + in point is where an HTML page contains hundreds of objects + (images, scripts, stylesheets, media, etc), and a request to the page + generates hundreds of effectively-immediate requests for authenticated + additional contents.

+

mod_authn_socache provides a solution to this problem by + maintaining a cache of authentication credentials.

+
top
+
+

Usage

+

The authentication cache should be used where authentication + lookups impose a significant load on the server, or a backend or + network. Authentication by file (mod_authn_file) + or dbm (mod_authn_dbm) are unlikely to benefit, + as these are fast and lightweight in their own right (though in some + cases, such as a network-mounted file, caching may be worthwhile). + Other providers such as SQL or LDAP based authentication are more + likely to benefit, particularly where there is an observed + performance issue. Amongst the standard modules, mod_authnz_ldap manages its own cache, so only + mod_authn_dbd will usually benefit from this cache.

+

The basic rules to cache for a provider are:

+
  1. Include the provider you're caching for in an + AuthnCacheProvideFor directive.
  2. +
  3. List socache ahead of the provider you're + caching for in your AuthBasicProvider or AuthDigestProvider directive.
  4. +
+

A simple usage example to accelerate mod_authn_dbd + using dbm as a cache engine:

+
#AuthnCacheSOCache is optional.  If specified, it is server-wide
+AuthnCacheSOCache dbm
+<Directory "/usr/www/myhost/private">
+    AuthType Basic
+    AuthName "Cached Authentication Example"
+    AuthBasicProvider socache dbd
+    AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+    AuthnCacheProvideFor dbd
+    Require valid-user
+    #Optional
+    AuthnCacheContext dbd-authn-example
+</Directory>
+ +
top
+
+

Caching with custom modules

+

Module developers should note that their modules must be enabled + for caching with mod_authn_socache. A single optional API function + ap_authn_cache_store is provided to cache credentials + a provider has just looked up or generated. Usage examples are + available in r957072, in which three authn providers are enabled for caching.

+
+
top
+

AuthnCacheContext Directive

+ + + + + + + +
Description:Specify a context string for use in the cache key
Syntax:AuthnCacheContext directory|server|custom-string
Default:AuthnCacheContext directory
Context:directory
Status:Base
Module:mod_authn_socache
+

This directive specifies a string to be used along with the supplied + username (and realm in the case of Digest Authentication) in constructing + a cache key. This serves to disambiguate identical usernames serving + different authentication areas on the server.

+

Two special values for this are directory, which uses + the directory context of the request as a string, and server + which uses the virtual host name.

+

The default is directory, which is also the most + conservative setting. This is likely to be less than optimal, as it + (for example) causes $app-base, $app-base/images, + $app-base/scripts and $app-base/media each to + have its own separate cache key. A better policy is to name the + AuthnCacheContext for the password + provider: for example a htpasswd file or database table.

+

Contexts can be shared across different areas of a server, where + credentials are shared. However, this has potential to become a vector + for cross-site or cross-application security breaches, so this directive + is not permitted in .htaccess contexts.

+ +
+
top
+

AuthnCacheEnable Directive

+ + + + + + +
Description:Enable Authn caching configured anywhere
Syntax:AuthnCacheEnable
Context:server config
Status:Base
Module:mod_authn_socache
+

This directive is not normally necessary: it is implied if + authentication caching is enabled anywhere in httpd.conf. + However, if it is not enabled anywhere in httpd.conf + it will by default not be initialised, and is therefore not + available in a .htaccess context. This directive + ensures it is initialised so it can be used in .htaccess.

+ +
+
top
+

AuthnCacheProvideFor Directive

+ + + + + + + + +
Description:Specify which authn provider(s) to cache for
Syntax:AuthnCacheProvideFor authn-provider [...]
Default:None
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authn_socache
+

This directive specifies an authentication provider or providers + to cache for. Credentials found by a provider not listed in an + AuthnCacheProvideFor directive will not be cached.

+ +

For example, to cache credentials found by mod_authn_dbd + or by a custom provider myprovider, but leave those looked + up by lightweight providers like file or dbm lookup alone:

+
AuthnCacheProvideFor dbd myprovider
+ + +
+
top
+

AuthnCacheSOCache Directive

+ + + + + + + +
Description:Select socache backend provider to use
Syntax:AuthnCacheSOCache provider-name[:provider-args]
Context:server config
Status:Base
Module:mod_authn_socache
Compatibility:Optional provider arguments are available in +Apache HTTP Server 2.4.7 and later
+

This is a server-wide setting to select a provider for the + shared object cache, followed by + optional arguments for that provider. + Some possible values for provider-name are "dbm", "dc", + "memcache", or "shmcb", each subject to the appropriate module + being loaded. If not set, your platform's default will be used.

+ +
+
top
+

AuthnCacheTimeout Directive

+ + + + + + + + +
Description:Set a timeout for cache entries
Syntax:AuthnCacheTimeout timeout (seconds)
Default:AuthnCacheTimeout 300 (5 minutes)
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authn_socache
+

Caching authentication data can be a security issue, though short-term + caching is unlikely to be a problem. Typically a good solution is to + cache credentials for as long as it takes to relieve the load on a + backend, but no longer, though if changes to your users and passwords + are infrequent then a longer timeout may suit you. The default 300 + seconds (5 minutes) is both cautious and ample to keep the load + on a backend such as dbd (SQL database queries) down.

+

This should not be confused with session timeout, which is an + entirely separate issue. However, you may wish to check your + session-management software for whether cached credentials can + "accidentally" extend a session, and bear it in mind when setting + your timeout.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authn_socache.html.fr.utf8 b/docs/manual/mod/mod_authn_socache.html.fr.utf8 new file mode 100644 index 0000000..bb60bd3 --- /dev/null +++ b/docs/manual/mod/mod_authn_socache.html.fr.utf8 @@ -0,0 +1,286 @@ + + + + + +mod_authn_socache - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authn_socache

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Gère un cache des données d'authentification pour diminuer +la charge des serveurs d'arrière-plan
Statut:Base
Identificateur de Module:authn_socache_module
Fichier Source:mod_authn_socache.c
Compatibilité:Versions 2.3 et ultérieures
+

Sommaire

+ +

Maintient un cache des données d'authentification pour limiter + les sollicitations du serveur d'arrière-plan.

+
+ +
top
+
+

Mise en cache des données d'authentification

+

Certains utilisateurs qui mettent en oeuvre une authentification + lourde s'appuyant par exemple sur des requêtes SQL + (mod_authn_dbd) ont signalé une charge induite + inacceptable sur leur fournisseur d'authentification. Cela se + produit typiquement dans le cas où une page HTML contient des + centaines d'objets (images, scripts, pages de styles, media, + etc...), et où une requête pour cette page génère des centaines de + sous-requêtes à effet immédiat pour des contenus supplémentaires + authentifiés.

+

Pour résoudre ce problème, mod_authn_socache fournit une + solution qui permet de maintenir un cache des données + d'authentification.

+
top
+
+

Utilisation

+

Le cache d'authentification doit être utilisé lorsque les + requêtes d'authentification induisent une charge significative sur le + serveur, le serveur d'arrière-plan ou le réseau. Cette mise en cache + n'apportera probablement aucune amélioration dans le cas d'une + authentification à base de fichier (mod_authn_file) + ou de base de données dbm (mod_authn_dbm) car ces + méthodes sont de par leur conception rapides et légères (la mise en + cache peut cependant s'avérer utile dans le cas où le fichier est + situé sur un montage réseau). Les fournisseurs d'authentification + basés sur SQL ou LDAP ont plus de chances de tirer parti de cette + mise en cache, en particulier lorsqu'un problème de performances est + détecté. mod_authnz_ldap gérant son propre cache, + seul mod_authn_dbd est concerné par notre sujet.

+

Les principales règles à appliquer pour la mise en cache sont :

+
  1. Inclure le fournisseur pour lequel vous voulez effectuer une + mise en cache dans une directive + AuthnCacheProvideFor.
  2. +
  3. Mettre socache avant le fournisseur pour lequel + vous voulez effectuer une mise en cache dans votre directive + AuthBasicProvider + ou AuthDigestProvider.
  4. +
+

Voici un exemple simple permettant d'accélérer + mod_authn_dbd et utilisant dbm comme moteur de la + mise en cache :

+
    #AuthnCacheSOCache est optionnel. S'il est défini, il l'est pour
+    #l'ensemble du serveur
+AuthnCacheSOCache dbm
+<Directory "/usr/www/myhost/private">
+    AuthType Basic
+    AuthName "Cached Authentication Example"
+    AuthBasicProvider socache dbd
+    AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+    AuthnCacheProvideFor dbd
+    Require valid-user
+    #Optionnel
+    AuthnCacheContext dbd-authn-example
+</Directory>
+ +
top
+
+

La mise en cache avec les modules tiers

+

Les développeurs de modules doivent savoir que la mise en cache + avec mod_authn_socache doit être activée dans leurs modules. La + fonction de l'API ap_authn_cache_store permet de + mettre en cache les données d'authentification qu'un fournisseur + vient de rechercher ou de générer. Vous trouverez des exemples + d'utilisation à r957072, où trois fournisseurs authn sont activés pour la mise + en cache.

+
+
top
+

Directive AuthnCacheContext

+ + + + + + + +
Description:Spécifie une chaîne de contexte à utiliser dans la clé du +cache
Syntaxe:AuthnCacheContext directory|server|custom-string
Défaut:AuthnCacheContext directory
Contexte:répertoire
Statut:Base
Module:mod_authn_socache
+

Cette directive permet de spécifier une chaîne à utiliser avec le + nom d'utilisateur fourni (et le domaine d'authentification - realm - + dans le cas d'une authentification à base de condensés) lors de la + construction d'une clé de cache. Ceci permet de lever l'ambiguïté + entre plusieurs noms d'utilisateurs identiques servant différentes + zones d'authentification sur le serveur.

+

Il y a deux valeurs spéciales pour le paramètre : directory, + qui utilise le contexte de répertoire de la requête comme chaîne, et + server, qui utilise le nom du serveur virtuel.

+

La valeur par défaut est directory, qui est aussi la + définition la plus courante. Ceci est cependant loin d'être optimal, + car par exemple, $app-base, $app-base/images, + $app-base/scripts et $app-base/media + possèderont chacun leur propre clé de cache. Il est préférable + d'utiliser le fournisseur de mot de passe : par exemple un fichier + htpasswd ou une table de base de données.

+

Les contextes peuvent être partagés entre différentes zones du + serveur, où les données d'authentification sont partagées. Ceci est + cependant susceptible de créer des trous de sécurité de type + cross-site ou cross-application, et cette directive n'est donc pas + disponible dans les contextes .htaccess.

+ +
+
top
+

Directive AuthnCacheEnable

+ + + + + + +
Description:Active la mise en cache de l'authentification en tout +endroit
Syntaxe:AuthnCacheEnable
Contexte:configuration globale
Statut:Base
Module:mod_authn_socache
+

Normalement, cette directive n'est pas nécessaire : l'activation + est implicite si la mise en cache de l'authentification a été + activée en tout autre endroit du fichier httpd.conf. Par + contre, si cette mise en cache n'a pas été activée, par défaut, elle + ne sera pas initialisée, et ne sera donc pas disponible dans un + contexte de fichier .htaccess. Cette directive permet + d'être sûr que la mise en cache a bien été activée et pourra + donc être utilisée dans les fichiers .htaccess.

+ +
+
top
+

Directive AuthnCacheProvideFor

+ + + + + + + + +
Description:Spécifie le fournisseur pour lequel on veut effectuer une +mise en cache
Syntaxe:AuthnCacheProvideFor fournisseur-authn [...]
Défaut:None
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authn_socache
+

Cette directive permet de spécifier un ou plusieurs fournisseurs pour + le(s)quel(s) on veut effectuer une mise en cache. Les données + d'authentification trouvées par un fournisseur non spécifié dans une + directive AuthnCacheProvideFor ne seront pas mises en + cache.

+ +

Par exemple, pour mettre en cache les données d'authentification + trouvées par mod_authn_dbd ou par un fournisseur + personnalisé mon-fournisseur, et ne pas mettre en cache + celles trouvées par les fournisseurs légers comme file ou dbm :

+
AuthnCacheProvideFor dbd mon-fournisseur
+ + +
+
top
+

Directive AuthnCacheSOCache

+ + + + + + + +
Description:Sélectionne le fournisseur socache d'arrière-plan à +utiliser
Syntaxe:AuthnCacheSOCache nom-fournisseur[:arguments-fournisseur]
Contexte:configuration globale
Statut:Base
Module:mod_authn_socache
Compatibilité:Les arguments optionnels du fournisseur sont disponibles +à partir de la version 2.4.7 du serveur HTTP Apache
+

Cette définition s'applique à l'ensemble du serveur et permet de + sélectionner un fournisseur pour le cache + d'objets partagés, ainsi que des arguments éventuels pour ce + fournisseur. Les fournisseurs disponibles sont, entre autres, "dbm", + "dc", "memcache", ou "shmcb", chacun d'entre eux nécessitant le chargement + du module approprié. Si elle est + absente, c'est la valeur par défaut pour votre plate-forme qui sera + utilisée.

+ +
+
top
+

Directive AuthnCacheTimeout

+ + + + + + + + +
Description:Définit une durée de vie pour les entrées du cache
Syntaxe:AuthnCacheTimeout durée-de-vie (secondes)
Défaut:AuthnCacheTimeout 300 (5 minutes)
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authn_socache
+

La mise en cache des données d'authentification peut constituer + un trou de sécurité, bien qu'un mise en cache de courte durée ne + posera probablement pas de problème. En général, il est conseillé de + conserver les entrées du cache de façon à ce que la charge du serveur + d'arrière-plan reste normale, mais pas plus longtemps ; + une durée de vie plus longue peut être paramétrée si les + changements d'utilisateurs et de mots de passe sont peu fréquents. + La durée de vie par défaut de 300 secondes (5 minutes) est à la fois + raisonnable et suffisamment importante pour réduire la charge d'un + serveur d'arrière-plan comme dbd (requêtes SQL).

+

Cette durée de vie ne doit pas être confondue avec la durée de + vie de session qui est un tout autre sujet. Cependant, vous devez + utiliser votre logiciel de gestion de session pour vérifier si les + données d'authentification mises en cache peuvent allonger + accidentellement une session, et en tenir compte lorsque vous + définissez la durée de vie.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_fcgi.html b/docs/manual/mod/mod_authnz_fcgi.html new file mode 100644 index 0000000..a70ee70 --- /dev/null +++ b/docs/manual/mod/mod_authnz_fcgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authnz_fcgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authnz_fcgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authnz_fcgi.html.en b/docs/manual/mod/mod_authnz_fcgi.html.en new file mode 100644 index 0000000..de10c85 --- /dev/null +++ b/docs/manual/mod/mod_authnz_fcgi.html.en @@ -0,0 +1,566 @@ + + + + + +mod_authnz_fcgi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authnz_fcgi

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization
Status:Extension
Module Identifier:authnz_fcgi_module
Source File:mod_authnz_fcgi.c
Compatibility:Available in version 2.4.10 and later
+

Summary

+ +

This module allows FastCGI authorizer applications to + authenticate users and authorize access to resources. It supports + generic FastCGI authorizers which participate in a single phase + for authentication and authorization as well as Apache httpd-specific + authenticators and authorizors which participate in one or both + phases.

+ +

FastCGI authorizers can authenticate using user id and password, + such as for Basic authentication, or can authenticate using arbitrary + mechanisms.

+
+ +
top
+
+

Invocation modes

+ +

The invocation modes for FastCGI authorizers supported by this + module are distinguished by two characteristics, type and + auth mechanism.

+ +

Type is simply authn for authentication, + authz for authorization, or authnz for + combined authentication and authorization.

+ +

Auth mechanism refers to the Apache httpd configuration + mechanisms and processing phases, and can be + AuthBasicProvider, Require, or + check_user_id. The first two of these + correspond to the directives used to enable participation in the + appropriate processing phase.

+ +

Descriptions of each mode:

+ +
+
Type authn, mechanism + AuthBasicProvider
+ +
In this mode, + FCGI_ROLE is set to AUTHORIZER and + FCGI_APACHE_ROLE is set to AUTHENTICATOR. + The application must be defined as provider type authn + using + AuthnzFcgiDefineProvider and enabled with + AuthBasicProvider. + When invoked, the application is + expected to authenticate the client using the provided user id and + password. Example application: + +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
+    die if $ENV{'FCGI_ROLE'}        ne "AUTHORIZER";
+    die if !$ENV{'REMOTE_PASSWD'};
+    die if !$ENV{'REMOTE_USER'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &&
+        $ENV{'REMOTE_PASSWD'} eq "bar" ) {
+        print "Status: 200\n";
+        print "Variable-AUTHN_1: authn_01\n";
+        print "Variable-AUTHN_2: authn_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 401\n\n";
+    }
+}
+ + + Example configuration: +
AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/
+<Location "/protected/">
+  AuthType Basic
+  AuthName "Restricted"
+  AuthBasicProvider FooAuthn
+  Require ...
+</Location>
+ +
+ +
Type authz, mechanism + Require
+
In this mode, FCGI_ROLE is set to + AUTHORIZER and FCGI_APACHE_ROLE is set to + AUTHORIZER. The application must be defined as + provider type authz using + AuthnzFcgiDefineProvider. When invoked, the application + is expected to authorize the client using the provided user id and other + request data. Example application: +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHORIZER";
+    die if $ENV{'FCGI_ROLE'}        ne "AUTHORIZER";
+    die if $ENV{'REMOTE_PASSWD'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ($ENV{'REMOTE_USER'} eq "foo1") {
+        print "Status: 200\n";
+        print "Variable-AUTHZ_1: authz_01\n";
+        print "Variable-AUTHZ_2: authz_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 403\n\n";
+    }
+}
+ + + Example configuration: +
AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10103/
+<Location "/protected/">
+  AuthType ...
+  AuthName ...
+  AuthBasicProvider ...
+  Require FooAuthz
+</Location>
+ +
+ +
Type authnz, mechanism + AuthBasicProvider + Require
+ +
In this mode, which supports the web server-agnostic FastCGI + AUTHORIZER protocol, FCGI_ROLE is set to + AUTHORIZER and FCGI_APACHE_ROLE is not set. + The application must be defined as provider type authnz + using + AuthnzFcgiDefineProvider. The application is expected to + handle both authentication and authorization in the same invocation + using the user id, password, and other request data. The invocation + occurs during the Apache httpd API authentication phase. If the + application returns 200 and the same provider is invoked during the + authorization phase (via Require), mod_authnz_fcgi + will return success for the authorization phase without invoking the + application. Example application: +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'};
+    die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+    die if !$ENV{'REMOTE_PASSWD'};
+    die if !$ENV{'REMOTE_USER'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &&
+        $ENV{'REMOTE_PASSWD'} eq "bar" &&
+        $ENV{'REQUEST_URI'} =~ m%/bar/.*%) {
+        print "Status: 200\n";
+        print "Variable-AUTHNZ_1: authnz_01\n";
+        print "Variable-AUTHNZ_2: authnz_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 401\n\n";
+    }
+}
+ + + Example configuration: +
AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/
+<Location "/protected/">
+  AuthType Basic
+  AuthName "Restricted"
+  AuthBasicProvider FooAuthnz
+  Require FooAuthnz
+</Location>
+ +
+ +
Type authn, mechanism + check_user_id
+ +
In this mode, FCGI_ROLE is set to + AUTHORIZER and FCGI_APACHE_ROLE is set to + AUTHENTICATOR. The application must be defined as + provider type authn using + AuthnzFcgiDefineProvider. AuthnzFcgiCheckAuthnProvider + specifies when it is called. Example application: +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
+    die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+
+    # This authorizer assumes that the RequireBasicAuth option of 
+    # AuthnzFcgiCheckAuthnProvider is On:
+    die if !$ENV{'REMOTE_PASSWD'};
+    die if !$ENV{'REMOTE_USER'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &&
+        $ENV{'REMOTE_PASSWD'} eq "bar" ) {
+        print "Status: 200\n";
+        print "Variable-AUTHNZ_1: authnz_01\n";
+        print "Variable-AUTHNZ_2: authnz_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 401\n\n";
+        # If a response body is written here, it will be returned to
+        # the client.
+    }
+}
+ + + Example configuration: +
AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10103/
+<Location "/protected/">
+  AuthType ...
+  AuthName ...
+  AuthnzFcgiCheckAuthnProvider FooAuthn \
+                               Authoritative On \
+                               RequireBasicAuth Off \
+                               UserExpr "%{reqenv:REMOTE_USER}"
+  Require ...
+</Location>
+ +
+ +
+ +
top
+
+

Additional examples

+ +
    +
  1. If your application supports the separate authentication and + authorization roles (AUTHENTICATOR and AUTHORIZER), define + separate providers as follows, even if they map to the same + application: + +
    AuthnzFcgiDefineProvider authn  FooAuthn  fcgi://localhost:10102/
    +AuthnzFcgiDefineProvider authz  FooAuthz  fcgi://localhost:10102/
    + + + Specify the authn provider on + AuthBasicProvider + and the authz provider on + Require: + +
    AuthType Basic
    +AuthName "Restricted"
    +AuthBasicProvider FooAuthn
    +Require FooAuthz
    + +
  2. + +
  3. If your application supports the generic AUTHORIZER role + (authentication and authorizer in one invocation), define a + single provider as follows: + +
    AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/
    + + + Specify the authnz provider on both AuthBasicProvider + and Require: + +
    AuthType Basic
    +AuthName "Restricted"
    +AuthBasicProvider FooAuthnz
    +Require FooAuthnz
    + +
  4. +
+
top
+
+

Limitations

+ +

The following are potential features which are not currently + implemented:

+ +
+
Apache httpd access checker
+
The Apache httpd API access check phase is a separate + phase from authentication and authorization. Some other FastCGI + implementations implement this phase, which is denoted by the + setting of FCGI_APACHE_ROLE to ACCESS_CHECKER.
+ +
Local (Unix) sockets or pipes
+
Only TCP sockets are currently supported.
+ +
Support for mod_authn_socache
+
mod_authn_socache interaction should be implemented for + applications which participate in Apache httpd-style + authentication.
+ +
Support for digest authentication using AuthDigestProvider
+
This is expected to be a permanent limitation as there is + no authorizer flow for retrieving a hash.
+ +
Application process management
+
This is expected to be permanently out of scope for + this module. Application processes must be controlled by + other means. For example, fcgistarter can be used to + start them.
+ +
AP_AUTH_INTERNAL_PER_URI
+
All providers are currently registered as + AP_AUTH_INTERNAL_PER_CONF, which means that checks are not + performed again for internal subrequests with the same + access control configuration as the initial request.
+ +
Protocol data charset conversion
+
If mod_authnz_fcgi runs in an EBCDIC compilation + environment, all FastCGI protocol data is written in EBCDIC + and expected to be received in EBCDIC.
+ +
Multiple requests per connection
+
Currently the connection to the FastCGI authorizer is + closed after every phase of processing. For example, if the + authorizer handles separate authn and authz + phases then two connections will be used.
+ +
URI Mapping
+
URIs from clients can't be mapped, such as with the + ProxyPass used with FastCGI responders.
+ +
+ +
top
+
+

Logging

+ +
    +
  1. Processing errors are logged at log level error + and higher.
  2. +
  3. Messages written by the application are logged at log + level warn.
  4. +
  5. General messages for debugging are logged at log level + debug.
  6. +
  7. Environment variables passed to the application are + logged at log level trace2. The value of the + REMOTE_PASSWD variable will be obscured, + but any other sensitive data will be visible in the + log.
  8. +
  9. All I/O between the module and the FastCGI application, + including all environment variables, will be logged in printable + and hex format at log level trace5. All + sensitive data will be visible in the log.
  10. +
+ +

LogLevel can be used + to configure a log level specific to mod_authnz_fcgi. For + example:

+ +
LogLevel info authnz_fcgi:trace8
+ + +
+
top
+

AuthnzFcgiCheckAuthnProvider Directive

+ + + + + + + +
Description:Enables a FastCGI application to handle the check_authn +authentication hook.
Syntax:AuthnzFcgiCheckAuthnProvider provider-name|None +option ...
Default:none
Context:directory
Status:Extension
Module:mod_authnz_fcgi
+

This directive is used to enable a FastCGI authorizer to + handle a specific processing phase of authentication or + authorization.

+ +

Some capabilities of FastCGI authorizers require enablement + using this directive instead of + AuthBasicProvider:

+ +
    +
  • Non-Basic authentication; generally, determining the user + id of the client and returning it from the authorizer; see the + UserExpr option below
  • +
  • Selecting a custom response code; for a non-200 response + from the authorizer, the code from the authorizer will be the + status of the response
  • +
  • Setting the body of a non-200 response; if the authorizer + provides a response body with a non-200 response, that body + will be returned to the client; up to 8192 bytes of text are + supported
  • +
+ +
+
provider-name
+
This is the name of a provider defined with + AuthnzFcgiDefineProvider.
+ +
None
+
Specify None to disable a provider enabled + with this directive in an outer scope, such as in a parent + directory.
+ +
option
+
The following options are supported: + +
+
Authoritative On|Off (default On)
+
This controls whether or not other modules are allowed + to run when this module has a FastCGI authorizer configured + and it fails the request.
+ +
DefaultUser userid
+
When the authorizer returns success and UserExpr + is configured and evaluates to an empty string (e.g., authorizer + didn't return a variable), this value will be used as the user + id. This is typically used when the authorizer has a concept of + guest, or unauthenticated, users and guest users are mapped to + some specific user id for logging and other purposes.
+ +
RequireBasicAuth On|Off (default Off)
+
This controls whether or not Basic auth is required + before passing the request to the authorizer. If required, + the authorizer won't be invoked without a user id and + password; 401 will be returned for a request without that.
+ +
UserExpr expr (no default)
+
When Basic authentication isn't provided by the client + and the authorizer determines the user, this expression, + evaluated after calling the authorizer, determines the + user. The expression follows + ap_expr syntax and must resolve to a string. A typical + use is to reference a Variable-XXX + setting returned by the authorizer using an option like + UserExpr "%{reqenv:XXX}". If + this option is specified and the user id can't be retrieved + using the expression after a successful authentication, the + request will be rejected with a 500 error.
+ +
+
+
+ +
+
top
+

AuthnzFcgiDefineProvider Directive

+ + + + + + + +
Description:Defines a FastCGI application as a provider for +authentication and/or authorization
Syntax:AuthnzFcgiDefineProvider type provider-name +backend-address
Default:none
Context:server config
Status:Extension
Module:mod_authnz_fcgi
+

This directive is used to define a FastCGI application as + a provider for a particular phase of authentication or + authorization.

+ +
+
type
+
This must be set to authn for authentication, + authz for authorization, or authnz for + a generic FastCGI authorizer which performs both checks.
+ +
provider-name
+
This is used to assign a name to the provider which is + used in other directives such as + AuthBasicProvider + and + Require.
+ +
backend-address
+
This specifies the address of the application, in the form + fcgi://hostname:port/. The application process(es) + must be managed independently, such as with + fcgistarter.
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 b/docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 new file mode 100644 index 0000000..640da43 --- /dev/null +++ b/docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 @@ -0,0 +1,588 @@ + + + + + +mod_authnz_fcgi - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authnz_fcgi

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Permet à une application d'autorisation FastCGI de gérer +l'authentification et l'autorisation httpd.
Statut:Extension
Identificateur de Module:authnz_fcgi_module
Fichier Source:mod_authnz_fcgi.c
Compatibilité:Disponible à partir de la version 2.4.10 du serveur HTTP +Apache
+

Sommaire

+ +

Ce module permet aux applications d'autorisation FastCGI + d'authentifier les utilisateurs et de contrôler leur accès aux + ressources. Il supporte les systèmes d'autorisation FastCGI + génériques qui participent en une seule phase à l'authentification + et à l'autorisation, ainsi que les processus d'authentification et + d'autorisation spécifiques à Apache httpd qui interviennent en une + ou plusieurs phases.

+ +

Les processus d'autorisation FastCGI peuvent authentifier un + utilisateur via son identificateur et son mot de passe comme dans le + processus d'authentification basique, ou via un mécanisme + arbitraire.

+
+ +
top
+
+

Modes d'invocation

+ +

Les modes d'invocation des processus d'autorisation FastCGI que + ce module supporte se distinguent par deux caractéristiques : le + type et le mécanisme d'authentification.

+ +

Le Type est simplement authn pour + l'authentification, authz pour l'autorisation et + authnz l'authentification et l'autorisation.

+ +

Le mécanisme d'authentification fait référence aux + mécanismes d'authentification et aux phases de traitement de la + configuration de Apache httpd, et peut être + AuthBasicProvider, Require, ou + check_user_id. Les deux premiers mécanismes + correspondent aux directives utilisées pour participer aux phases de + traitement appropriées.

+ +

Description de chaque mode:

+ +
+
Type authn, mechanism + AuthBasicProvider
+ +
Dans ce mode, la variable FCGI_ROLE est définie à + AUTHORIZER, et la variable + FCGI_APACHE_ROLE à AUTHENTICATOR. + L'application doit être spécifiée en tant que fournisseur de type + authn via la directive AuthnzFcgiDefineProvider, et + activée via la directive AuthBasicProvider. Lorsqu'elle + est invoquée, l'application est censée authentifier le client à + l'aide de l'identifiant et du mot de passe de l'utilisateur. + Exemple d'application : + +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
+    die if $ENV{'FCGI_ROLE'}        ne "AUTHORIZER";
+    die if !$ENV{'REMOTE_PASSWD'};
+    die if !$ENV{'REMOTE_USER'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &&
+        $ENV{'REMOTE_PASSWD'} eq "bar" ) {
+        print "Status: 200\n";
+        print "Variable-AUTHN_1: authn_01\n";
+        print "Variable-AUTHN_2: authn_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 401\n\n";
+    }
+}
+ + + Exemple de configuration httpd : +
AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/
+<Location "/protected/">
+  AuthType Basic
+  AuthName "Restricted"
+  AuthBasicProvider FooAuthn
+  Require ...
+</Location>
+ +
+ +
Type authz, mechanism + Require
+
Dans ce mode, la variable FCGI_ROLE est définie à + AUTHORIZER et FCGI_APACHE_ROLE à + AUTHORIZER. L'application doit être spécifiée en tant + que fournisseur de type authz via la directive AuthnzFcgiDefineProvider. + Lorsqu'elle est invoquée, l'application est censée contrôler les + accès du client à l'aide de l'identifiant utilisateur et d'autres + données contenues dans la requête. Exemple d'application : +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHORIZER";
+    die if $ENV{'FCGI_ROLE'}        ne "AUTHORIZER";
+    die if $ENV{'REMOTE_PASSWD'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ($ENV{'REMOTE_USER'} eq "foo1") {
+        print "Status: 200\n";
+        print "Variable-AUTHZ_1: authz_01\n";
+        print "Variable-AUTHZ_2: authz_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 403\n\n";
+    }
+}
+ + + Exemple de configuration httpd : +
AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10103/
+<Location "/protected/">
+  AuthType ...
+  AuthName ...
+  AuthBasicProvider ...
+  Require FooAuthz
+</Location>
+ +
+ +
Type authnz, mechanism + AuthBasicProvider + Require
+ +
Dans ce mode qui supporte le protocole d'autorisation web + server-agnostic FastCGI, la variable FCGI_ROLE est + définie à AUTHORIZER et FCGI_APACHE_ROLE + n'est pas définie. L'application doit être spécifiée en tant que + fournisseur de type authnz via la directive AuthnzFcgiDefineProvider. + L'application est censée assurer l'authentification et + l'autorisation au cours d'une même invocation à l'aide de + l'identifiant et du mot de passe de l'utilisateur et d'autres + données contenues dans la requête. L'invocation de l'application + intervient au cours de la phase d'authentification de l'API Apache + httpd. Si l'application renvoie le code 200, et si le même + fournisseur est invoqué au cours de la phase d'autorisation (via + une directive Require), mod_authnz_fcgi + renverra un code de type success pour la phase d'autorisation sans + invoquer l'application. Exemple d'application : +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'};
+    die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+    die if !$ENV{'REMOTE_PASSWD'};
+    die if !$ENV{'REMOTE_USER'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &&
+        $ENV{'REMOTE_PASSWD'} eq "bar" &&
+        $ENV{'REQUEST_URI'} =~ m%/bar/.*%) {
+        print "Status: 200\n";
+        print "Variable-AUTHNZ_1: authnz_01\n";
+        print "Variable-AUTHNZ_2: authnz_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 401\n\n";
+    }
+}
+ + + Exemple de configuration httpd : +
AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/
+<Location "/protected/">
+  AuthType Basic
+  AuthName "Restricted"
+  AuthBasicProvider FooAuthnz
+  Require FooAuthnz
+</Location>
+ +
+ +
Type authn, mechanism + check_user_id
+ +
Dans ce mode, la variable FCGI_ROLE est définie à + AUTHORIZER et FCGI_APACHE_ROLE à + AUTHENTICATOR. L'application doit être spécifiée en + tant que fournisseur de type authn via une directive + AuthnzFcgiDefineProvider. La + directive AuthnzFcgiCheckAuthnProvider + permet de l'invoquer. Exemple d'application : +
#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+    die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
+    die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+
+    # This authorizer assumes that the RequireBasicAuth option of 
+    # AuthnzFcgiCheckAuthnProvider is On:
+    die if !$ENV{'REMOTE_PASSWD'};
+    die if !$ENV{'REMOTE_USER'};
+
+    print STDERR "This text is written to the web server error log.\n";
+
+    if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &&
+        $ENV{'REMOTE_PASSWD'} eq "bar" ) {
+        print "Status: 200\n";
+        print "Variable-AUTHNZ_1: authnz_01\n";
+        print "Variable-AUTHNZ_2: authnz_02\n";
+        print "\n";
+    }
+    else {
+        print "Status: 401\n\n";
+        # If a response body is written here, it will be returned to
+        # the client.
+    }
+}
+ + + Exemple de configuration httpd : +
AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10103/
+<Location "/protected/">
+  AuthType ...
+  AuthName ...
+  AuthnzFcgiCheckAuthnProvider FooAuthn \
+                               Authoritative On \
+                               RequireBasicAuth Off \
+                               UserExpr "%{reqenv:REMOTE_USER}"
+  Require ...
+</Location>
+ +
+ +
+ +
top
+
+

Exemples supplémentaires

+ +
    +
  1. Si votre application supporte séparément les rôles + d'authentification et d'autorisation (AUTHENTICATOR et + AUTHORIZER), vous pouvez définir des fournisseurs + séparés comme suit, même s'ils correspondent à la même application : + +
    AuthnzFcgiDefineProvider authn  FooAuthn  fcgi://localhost:10102/
    +AuthnzFcgiDefineProvider authz  FooAuthz  fcgi://localhost:10102/
    + + + Spécifie le fournisseur authn via la directive + AuthBasicProvider + et le fournisseur authz via la directive + Require: + +
    AuthType Basic
    +AuthName "Restricted"
    +AuthBasicProvider FooAuthn
    +Require FooAuthz
    + +
  2. + +
  3. Si votre application supporte le rôle générique + AUTHORIZER (authentification et autorisation en une + seule invocation), vous pouvez définir un fournisseur unique comme + suit : + +
    AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/
    + + + Spécifie le fournisseur authnz via les directives + AuthBasicProvider et + Require : + +
    AuthType Basic
    +AuthName "Restricted"
    +AuthBasicProvider FooAuthnz
    +Require FooAuthnz
    + +
  4. +
+
top
+
+

Limitations

+ +

Les fonctionnalités suivantes ne sont pas encore implémentées :

+ +
+
Vérificateur d'accès d'Apache httpd
+
La phase access check de l'API Apache httpd est + distincte des phases d'authentification et d'autorisation. + Certaines autres implémentations de FastCGI supportent cette phase + et lorsque c'est le cas, la variable FCGI_APACHE_ROLE + est définie à ACCESS_CHECKER.
+ +
Redirections (pipes) ou sockets locaux (Unix)
+
Seuls les sockets TCP sont actuellement supportés.
+ +
Support de mod_authn_socache
+
Le support de l'interaction avec mod_authn_socache pour les + applications qui interviennent dans le processus + d'authentification d'Apache httpd serait souhaitable.
+ +
Support de l'authentification de type digest à l'aide de AuthDigestProvider
+
Cette limitation ne sera probablement jamais franchie car il + n'existe aucun flux de données d'autorisation capable de lire dans + un condensé de type hash.
+ +
Gestion des processus applicatifs
+
Cette fonctionnalité restera probablement hors de portée de ce + module. Il faudra donc gérer les processus applicatifs d'une autre + manière ; par exemple, fcgistarter permet de + les démarrer.
+ +
AP_AUTH_INTERNAL_PER_URI
+
Tous les fournisseurs sont actuellement enregistrés en tant + que AP_AUTH_INTERNAL_PER_CONF, ce qui signifie que les + vérifications ne sont pas effectuées pour les + sous-requêtes internes avec la même configuration de contrôle + d'accès que la requête initiale.
+ +
Conversion du jeu de caractères des données de protocole
+
Si mod_authnz_fcgi s'exécute dans un environnement de + compilation EBCDIC, toutes les données de protocole FastCGI sont + écrites en EBCDIC et doivent être disponibles en EBCDIC.
+ +
Plusieurs requêtes pour une connexion
+
Actuellement, la connexion au fournisseur d'autorisation + FastCGI est fermée après chaque phase de traitement. Par exemple, + si le fournisseur d'autorisation gère séparément les phases + authn et authz, deux connexions seront + nécessaires.
+ +
Redirection de certains URIs
+
Les URIs en provenance des clients ne peuvent pas être + redirigés selon une table de redirection, comme avec la directive + ProxyPass utilisée avec les répondeurs + FastCGI.
+ +
+ +
top
+
+

Journalisation

+ +
    +
  1. Les erreurs de traitement sont journalisées à un niveau + error ou supérieur.
  2. +
  3. Les messages envoyés par l'application sont journalisés au + niveau warn.
  4. +
  5. Les messages de deboguage à caractère général sont + journalisés au niveau debug.
  6. +
  7. Les variables d'environnement transmises à l'application + sont journalisées au niveau trace2. La valeur de la + variable REMOTE_PASSWD sera occultée, mais + toute autre donnée sensible sera visible dans le + journal.
  8. +
  9. Toutes les entrées/sorties entre le module et l'application + FastCGI, y compris les variables d'environnement, seront + journalisées au format imprimable et hexadécimal au niveau + trace5. Toutes les données sensibles seront + visibles dans le journal.
  10. +
+ +

La directive LogLevel permet + de configurer un niveau de journalisation spécifique à + mod_authnz_fcgi. Par exemple :

+ +
LogLevel info authnz_fcgi:trace8
+ + +
+
top
+

Directive AuthnzFcgiCheckAuthnProvider

+ + + + + + + +
Description:Permet à une application FastCGI de gérer l'accroche +d'authentification check_authn.
Syntaxe:AuthnzFcgiCheckAuthnProvider provider-name|None +option ...
Défaut:none
Contexte:répertoire
Statut:Extension
Module:mod_authnz_fcgi
+

Cette directive permet de confier à une application FastCGI la + gestion d'une phase spécifique du processus d'authentification ou + d'autorisation.

+ +

Certaines fonctionnalités des fournisseurs d'autorisation FastCGI + nécessitent cette directive en lieu et place de + AuthBasicProvider pour pouvoir être activées :

+ +
    +
  • L'authentification de type autre que basique ; en général, + détermination de l'identifiant utilisateur et renvoi de sa valeur + depuis le fournisseur d'autorisation ; voir l'option + UserExpr ci-dessous
  • +
  • Sélection d'un code de réponse personnalisé ; en cas de + code de réponse autre que 200 en provenance du fournisseur + d'autorisation, c'est ce code qui sera utilisé comme code d'état + de la réponse
  • +
  • Définition du corps d'une réponse autre que 200 ; si le + fournisseur d'autorisation renvoie un corps de réponse avec un + code autre que 200, c'est ce corps de réponse qui sera renvoyé au + client ; la longueur du texte est limitée à 8192 octets
  • +
+ +
+
provider-name
+
C'est le nom du fournisseur défini au préalable via la + directive AuthnzFcgiDefineProvider.
+ +
None
+
Spécifiez None pour désactiver un fournisseur + activé avec cette même directive dans une autre portée, par + exemple dans un répertoire parent.
+ +
option
+
Les options suivantes sont supportées : + +
+
Authoritative On|Off (par défaut On)
+
Cette option permet de définir si l'appel à d'autres + modules est autorisé lorsqu'un fournisseur d'autorisation FastCGI a + été configuré et si la requête échoue.
+ +
DefaultUser id utilisateur
+
Lorsque le fournisseur d'autorisation donne son accord, et + si UserExpr est défini et correspond à une chaîne + vide, (par exemple, si le fournisseur d'autorisation ne renvoie + aucune variable), c'est cette valeur qui sera utilisée comme id + utilisateur par défaut. Cela se produit souvent lorsqu'on se trouve dans + un contexte d'invité, ou d'utilisateur non authentifié ; + les utilisateurs et invités se voient alors attribué un id + utilisateur spécifique qui permettra de se connecter et + d'accéder à certaines ressources.
+ +
RequireBasicAuth On|Off (par défaut Off)
+
Cette option permet de définir si l'authentification + basique est requise avant de transmettre la requête au + fournisseur d'autorisation. Dans l'affirmative, le fournisseur + d'autorisation ne sera invoqué qu'en présence d'un id + utilisateur et d'un mot de passe ; si ces deux éléments ne sont + pas présents, un code d'erreur 401 sera renvoyé
+ +
UserExpr expr (pas de valeur par défaut)
+
Lorsque le client ne fournit pas l'authentification basique + et si le fournisseur d'autorisation détermine l'id utilisateur, + cette expression, évaluée après l'appel au fournisseur + d'autorisation, permet de déterminer l'id utilisateur. Cette + expression se conforme à la syntaxe + ap_expr et doit correspondre à une chaîne de caractères. + Une utilisation courante consiste à référencer la définition + d'une Variable-XXX renvoyée par le + fournisseur d'autorisation via une option du style + UserExpr "%{reqenv:XXX}". Si cette option + est spécifiée, et si l'id utilisateur ne peut pas être définie + via l'expression après une authentification réussie, la requête + sera rejetée avec un code d'erreur 500.
+ +
+
+
+ +
+
top
+

Directive AuthnzFcgiDefineProvider

+ + + + + + + +
Description:Définit une application FastCGI en tant que fournisseur +d'authentification et/ou autorisation
Syntaxe:AuthnzFcgiDefineProvider type provider-name +backend-address
Défaut:none
Contexte:configuration globale
Statut:Extension
Module:mod_authnz_fcgi
+

Cette directive permet de définir une application FastCGI en tant + que fournisseur pour une phase particulière d'authentification ou + d'autorisation.

+ +
+
type
+
Les valeurs de ce paramètre sont authn pour + l'authentification, authz pour l'autorisation, ou + authnz pour un fournisseur d'autorisation générique + FastCGI qui effectue les deux vérifications.
+ +
provider-name
+
Ce paramètre permet d'associer un nom au fournisseur ; ce nom + pourra être utilisé dans des directives comme AuthBasicProvider et + Require.
+ +
backend-address
+
Ce paramètre permet de spécifier l'adresse de l'application + sous la forme fcgi://hostname:port/. Le ou les processus + de l'application doivent être gérés indépendamment comme avec + fcgistarter.
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_ldap.html b/docs/manual/mod/mod_authnz_ldap.html new file mode 100644 index 0000000..140894e --- /dev/null +++ b/docs/manual/mod/mod_authnz_ldap.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authnz_ldap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authnz_ldap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authnz_ldap.html.en b/docs/manual/mod/mod_authnz_ldap.html.en new file mode 100644 index 0000000..36b5aac --- /dev/null +++ b/docs/manual/mod/mod_authnz_ldap.html.en @@ -0,0 +1,1435 @@ + + + + + +mod_authnz_ldap - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authnz_ldap

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.
Status:Extension
Module Identifier:authnz_ldap_module
Source File:mod_authnz_ldap.c
Compatibility:Available in version 2.1 and later
+

Summary

+ +

This module allows authentication front-ends such as + mod_auth_basic to authenticate users through + an ldap directory.

+ +

mod_authnz_ldap supports the following features:

+ +
    +
  • Known to support the OpenLDAP SDK (both 1.x + and 2.x), + Novell LDAP SDK and the iPlanet + (Netscape) SDK.
  • + +
  • Complex authorization policies can be implemented by + representing the policy with LDAP filters.
  • + +
  • Uses extensive caching of LDAP operations via mod_ldap.
  • + +
  • Support for LDAP over SSL (requires the Netscape SDK) or + TLS (requires the OpenLDAP 2.x SDK or Novell LDAP SDK).
  • +
+ +

When using mod_auth_basic, this module is invoked + via the AuthBasicProvider + directive with the ldap value.

+
+ +
top
+
top
+
+

General caveats

+

This module caches authentication and authorization results based +on the configuration of mod_ldap. Changes +made to the backing LDAP server will not be immediately reflected on the +HTTP Server, including but not limited to user lockouts/revocations, +password changes, or changes to group memberships. Consult the directives +in mod_ldap for details of the cache tunables. +

+
top
+
+

Operation

+ +

There are two phases in granting access to a user. The first + phase is authentication, in which the mod_authnz_ldap + authentication provider verifies that the user's credentials are valid. + This is also called the search/bind phase. The second phase is + authorization, in which mod_authnz_ldap determines + if the authenticated user is allowed access to the resource in + question. This is also known as the compare + phase.

+ +

mod_authnz_ldap registers both an authn_ldap authentication + provider and an authz_ldap authorization handler. The authn_ldap + authentication provider can be enabled through the + AuthBasicProvider directive + using the ldap value. The authz_ldap handler extends the + Require directive's authorization types + by adding ldap-user, ldap-dn and ldap-group + values.

+ +

The Authentication + Phase

+ +

During the authentication phase, mod_authnz_ldap + searches for an entry in the directory that matches the username + that the HTTP client passes. If a single unique match is found, + then mod_authnz_ldap attempts to bind to the + directory server using the DN of the entry plus the password + provided by the HTTP client. Because it does a search, then a + bind, it is often referred to as the search/bind phase. Here are + the steps taken during the search/bind phase.

+ +
    +
  1. Generate a search filter by combining the attribute and + filter provided in the AuthLDAPURL directive with + the username passed by the HTTP client.
  2. + +
  3. Search the directory using the generated filter. If the + search does not return exactly one entry, deny or decline + access.
  4. + +
  5. Fetch the distinguished name of the entry retrieved from + the search and attempt to bind to the LDAP server using that + DN and the password passed by the HTTP client. If the bind is + unsuccessful, deny or decline access.
  6. +
+ +

The following directives are used during the search/bind + phase

+ + + + + + + + + + + + + + + + + + + + +
AuthLDAPURLSpecifies the LDAP server, the + base DN, the attribute to use in the search, as well as the + extra search filter to use.
AuthLDAPBindDNAn optional DN to bind with + during the search phase.
AuthLDAPBindPasswordAn optional password to bind + with during the search phase.
+ + +

The Authorization Phase

+ +

During the authorization phase, mod_authnz_ldap + attempts to determine if the user is authorized to access the + resource. Many of these checks require + mod_authnz_ldap to do a compare operation on the + LDAP server. This is why this phase is often referred to as the + compare phase. mod_authnz_ldap accepts the + following Require + directives to determine if the credentials are acceptable:

+ +
    +
  • Grant access if there is a Require ldap-user directive, and the + username in the directive matches the username passed by the + client.
  • + +
  • Grant access if there is a Require + ldap-dn directive, and the DN in the directive matches + the DN fetched from the LDAP directory.
  • + +
  • Grant access if there is a Require ldap-group directive, and + the DN fetched from the LDAP directory (or the username + passed by the client) occurs in the LDAP group or, potentially, in + one of its sub-groups.
  • + +
  • Grant access if there is a + Require ldap-attribute + directive, and the attribute fetched from the LDAP directory + matches the given value.
  • + +
  • Grant access if there is a + Require ldap-filter + directive, and the search filter successfully finds a single user + object that matches the dn of the authenticated user.
  • + +
  • otherwise, deny or decline access
  • +
+ +

Other Require values may also + be used which may require loading additional authorization modules.

+ + + + +

mod_authnz_ldap uses the following directives during the + compare phase:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AuthLDAPURL The attribute specified in the + URL is used in compare operations for the Require + ldap-user operation.
AuthLDAPCompareDNOnServerDetermines the behavior of the + Require ldap-dn directive.
AuthLDAPGroupAttributeDetermines the attribute to + use for comparisons in the Require ldap-group + directive.
AuthLDAPGroupAttributeIsDNSpecifies whether to use the + user DN or the username when doing comparisons for the + Require ldap-group directive.
AuthLDAPMaxSubGroupDepthDetermines the maximum depth of sub-groups that will be evaluated + during comparisons in the Require ldap-group directive.
AuthLDAPSubGroupAttributeDetermines the attribute to use when obtaining sub-group members + of the current group during comparisons in the Require ldap-group + directive.
AuthLDAPSubGroupClassSpecifies the LDAP objectClass values used to identify if queried directory + objects really are group objects (as opposed to user objects) during the + Require ldap-group directive's sub-group processing.
+ +
top
+
+

The Require Directives

+ +

Apache's Require + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authnz_ldap extends the + authorization types with ldap-user, ldap-dn, + ldap-group, ldap-attribute and + ldap-filter. Other authorization types may also be + used but may require that additional authorization modules be loaded.

+ +

Since v2.4.8, expressions are supported + within the LDAP require directives.

+ +

Require ldap-user

+ +

The Require ldap-user directive specifies what + usernames can access the resource. Once + mod_authnz_ldap has retrieved a unique DN from the + directory, it does an LDAP compare operation using the username + specified in the Require ldap-user to see if that username + is part of the just-fetched LDAP entry. Multiple users can be + granted access by putting multiple usernames on the line, + separated with spaces. If a username has a space in it, then it + must be surrounded with double quotes. Multiple users can also be + granted access by using multiple Require ldap-user + directives, with one user per line. For example, with a AuthLDAPURL of + ldap://ldap/o=Example?cn (i.e., cn is + used for searches), the following Require directives could be used + to restrict access:

+
Require ldap-user "Barbara Jenson"
+Require ldap-user "Fred User"
+Require ldap-user "Joe Manager"
+ + +

Because of the way that mod_authnz_ldap handles this + directive, Barbara Jenson could sign on as Barbara + Jenson, Babs Jenson or any other cn that + she has in her LDAP entry. Only the single Require + ldap-user line is needed to support all values of the attribute + in the user's entry.

+ +

If the uid attribute was used instead of the + cn attribute in the URL above, the above three lines + could be condensed to

+
Require ldap-user bjenson fuser jmanager
+ + + +

Require ldap-group

+ +

This directive specifies an LDAP group whose members are + allowed access. It takes the distinguished name of the LDAP + group. Note: Do not surround the group name with quotes. + For example, assume that the following entry existed in + the LDAP directory:

+
dn: cn=Administrators, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Barbara Jenson, o=Example
+uniqueMember: cn=Fred User, o=Example
+ +

The following directive would grant access to both Fred and + Barbara:

+
Require ldap-group cn=Administrators, o=Example
+ + +

Members can also be found within sub-groups of a specified LDAP group + if AuthLDAPMaxSubGroupDepth + is set to a value greater than 0. For example, assume the following entries + exist in the LDAP directory:

+
dn: cn=Employees, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Managers, o=Example
+uniqueMember: cn=Administrators, o=Example
+uniqueMember: cn=Users, o=Example
+
+dn: cn=Managers, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Bob Ellis, o=Example
+uniqueMember: cn=Tom Jackson, o=Example
+
+dn: cn=Administrators, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Barbara Jenson, o=Example
+uniqueMember: cn=Fred User, o=Example
+
+dn: cn=Users, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Allan Jefferson, o=Example
+uniqueMember: cn=Paul Tilley, o=Example
+uniqueMember: cn=Temporary Employees, o=Example
+
+dn: cn=Temporary Employees, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Jim Swenson, o=Example
+uniqueMember: cn=Elliot Rhodes, o=Example
+ +

The following directives would allow access for Bob Ellis, Tom Jackson, + Barbara Jenson, Fred User, Allan Jefferson, and Paul Tilley but would not + allow access for Jim Swenson, or Elliot Rhodes (since they are at a + sub-group depth of 2):

+
Require ldap-group cn=Employees, o=Example
+AuthLDAPMaxSubGroupDepth 1
+ + +

Behavior of this directive is modified by the AuthLDAPGroupAttribute, AuthLDAPGroupAttributeIsDN, AuthLDAPMaxSubGroupDepth, AuthLDAPSubGroupAttribute, and AuthLDAPSubGroupClass + directives.

+ + +

Require ldap-dn

+ +

The Require ldap-dn directive allows the administrator + to grant access based on distinguished names. It specifies a DN + that must match for access to be granted. If the distinguished + name that was retrieved from the directory server matches the + distinguished name in the Require ldap-dn, then + authorization is granted. Note: do not surround the distinguished + name with quotes.

+ +

The following directive would grant access to a specific + DN:

+
Require ldap-dn cn=Barbara Jenson, o=Example
+ + +

Behavior of this directive is modified by the AuthLDAPCompareDNOnServer + directive.

+ + +

Require ldap-attribute

+ +

The Require ldap-attribute directive allows the + administrator to grant access based on attributes of the authenticated + user in the LDAP directory. If the attribute in the directory + matches the value given in the configuration, access is granted.

+ +

The following directive would grant access to anyone with + the attribute employeeType = active

+ +
Require ldap-attribute employeeType="active"
+ + +

Multiple attribute/value pairs can be specified on the same line + separated by spaces or they can be specified in multiple + Require ldap-attribute directives. The effect of listing + multiple attribute/values pairs is an OR operation. Access will be + granted if any of the listed attribute values match the value of the + corresponding attribute in the user object. If the value of the + attribute contains a space, only the value must be within double quotes.

+ +

The following directive would grant access to anyone with + the city attribute equal to "San Jose" or status equal to "Active"

+ +
Require ldap-attribute city="San Jose" status="active"
+ + + + +

Require ldap-filter

+ +

The Require ldap-filter directive allows the + administrator to grant access based on a complex LDAP search filter. + If the dn returned by the filter search matches the authenticated user + dn, access is granted.

+ +

The following directive would grant access to anyone having a cell phone + and is in the marketing department

+ +
Require ldap-filter "&(cell=*)(department=marketing)"
+ + +

The difference between the Require ldap-filter directive and the + Require ldap-attribute directive is that ldap-filter + performs a search operation on the LDAP directory using the specified search + filter rather than a simple attribute comparison. If a simple attribute + comparison is all that is required, the comparison operation performed by + ldap-attribute will be faster than the search operation + used by ldap-filter especially within a large directory.

+ +

When using an expression within the filter, care + must be taken to ensure that LDAP filters are escaped correctly to guard against + LDAP injection. The ldap function can be used for this purpose.

+ +
<LocationMatch ^/dav/(?<SITENAME>[^/]+)/>
+  Require ldap-filter (memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example)
+</LocationMatch>
+ + + + +
top
+
+

Examples

+ +
    +
  • + Grant access to anyone who exists in the LDAP directory, + using their UID for searches. +
    AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)"
    +Require valid-user
    + +
  • + +
  • + The next example is the same as above; but with the fields + that have useful defaults omitted. Also, note the use of a + redundant LDAP server. +
    AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example"
    +Require valid-user
    + +
  • + +
  • + The next example is similar to the previous one, but it + uses the common name instead of the UID. Note that this + could be problematical if multiple people in the directory + share the same cn, because a search on cn + must return exactly one entry. That's why + this approach is not recommended: it's a better idea to + choose an attribute that is guaranteed unique in your + directory, such as uid. +
    AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn"
    +Require valid-user
    + +
  • + +
  • + Grant access to anybody in the Administrators group. The + users must authenticate using their UID. +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid
    +Require ldap-group cn=Administrators, o=Example
    + +
  • + +
  • + Grant access to anybody in the group whose name matches the + hostname of the virtual host. In this example an + expression is used to build the filter. +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid
    +Require ldap-group cn=%{SERVER_NAME}, o=Example
    + +
  • + +
  • + The next example assumes that everyone at Example who + carries an alphanumeric pager will have an LDAP attribute + of qpagePagerID. The example will grant access + only to people (authenticated via their UID) who have + alphanumeric pagers: +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*)
    +Require valid-user
    + +
  • + +
  • +

    The next example demonstrates the power of using filters + to accomplish complicated administrative requirements. + Without filters, it would have been necessary to create a + new LDAP group and ensure that the group's members remain + synchronized with the pager users. This becomes trivial + with filters. The goal is to grant access to anyone who has + a pager, plus grant access to Joe Manager, who doesn't + have a pager, but does need to access the same + resource:

    +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager))
    +Require valid-user
    + + +

    This last may look confusing at first, so it helps to + evaluate what the search filter will look like based on who + connects, as shown below. If + Fred User connects as fuser, the filter would look + like

    + +

    (&(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))

    + +

    The above search will only succeed if fuser has a + pager. When Joe Manager connects as jmanager, the + filter looks like

    + +

    (&(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))

    + +

    The above search will succeed whether jmanager + has a pager or not.

    +
  • +
+
top
+
+

Using TLS

+ +

To use TLS, see the mod_ldap directives LDAPTrustedClientCert, LDAPTrustedGlobalCert and LDAPTrustedMode.

+ +

An optional second parameter can be added to the + AuthLDAPURL to override + the default connection type set by LDAPTrustedMode. + This will allow the connection established by an ldap:// Url + to be upgraded to a secure connection on the same port.

+
top
+
+

Using SSL

+ +

To use SSL, see the mod_ldap directives LDAPTrustedClientCert, LDAPTrustedGlobalCert and LDAPTrustedMode.

+ +

To specify a secure LDAP server, use ldaps:// in the + AuthLDAPURL + directive, instead of ldap://.

+
top
+
+

Exposing Login Information

+ +

when this module performs authentication, ldap attributes specified + in the AuthLDAPURL + directive are placed in environment variables with the prefix "AUTHENTICATE_".

+ +

when this module performs authorization, ldap attributes specified + in the AuthLDAPURL + directive are placed in environment variables with the prefix "AUTHORIZE_".

+ +

If the attribute field contains the username, common name + and telephone number of a user, a CGI program will have access to + this information without the need to make a second independent LDAP + query to gather this additional information.

+ +

This has the potential to dramatically simplify the coding and + configuration required in some web applications.

+ +
top
+
+

Using Active Directory

+ +

An Active Directory installation may support multiple domains at the + same time. To distinguish users between domains, an identifier called + a User Principle Name (UPN) can be added to a user's entry in the + directory. This UPN usually takes the form of the user's account + name, followed by the domain components of the particular domain, + for example somebody@nz.example.com.

+ +

You may wish to configure the mod_authnz_ldap + module to authenticate users present in any of the domains making up + the Active Directory forest. In this way both + somebody@nz.example.com and someone@au.example.com + can be authenticated using the same query at the same time.

+ +

To make this practical, Active Directory supports the concept of + a Global Catalog. This Global Catalog is a read only copy of selected + attributes of all the Active Directory servers within the Active + Directory forest. Querying the Global Catalog allows all the domains + to be queried in a single query, without the query spanning servers + over potentially slow links.

+ +

If enabled, the Global Catalog is an independent directory server + that runs on port 3268 (3269 for SSL). To search for a user, do a + subtree search for the attribute userPrincipalName, with + an empty search root, like so:

+ +
AuthLDAPBindDN apache@example.com
+AuthLDAPBindPassword password
+AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
+ + +

Users will need to enter their User Principal Name as a login, in + the form somebody@nz.example.com.

+ +
top
+
+

Using Microsoft + FrontPage with mod_authnz_ldap

+ +

Normally, FrontPage uses FrontPage-web-specific user/group + files (i.e., the mod_authn_file and + mod_authz_groupfile modules) to handle all + authentication. Unfortunately, it is not possible to just + change to LDAP authentication by adding the proper directives, + because it will break the Permissions forms in + the FrontPage client, which attempt to modify the standard + text-based authorization files.

+ +

Once a FrontPage web has been created, adding LDAP + authentication to it is a matter of adding the following + directives to every .htaccess file + that gets created in the web

+
AuthLDAPURL       "the url"
+AuthGroupFile     "mygroupfile"
+Require group     "mygroupfile"
+ + +

How It Works

+ +

FrontPage restricts access to a web by adding the Require + valid-user directive to the .htaccess + files. The Require valid-user directive will succeed for + any user who is valid as far as LDAP is + concerned. This means that anybody who has an entry in + the LDAP directory is considered a valid user, whereas FrontPage + considers only those people in the local user file to be + valid. By substituting the ldap-group with group file authorization, + Apache is allowed to consult the local user file (which is managed by + FrontPage) - instead of LDAP - when handling authorizing the user.

+ +

Once directives have been added as specified above, + FrontPage users will be able to perform all management + operations from the FrontPage client.

+ + +

Caveats

+ +
    +
  • When choosing the LDAP URL, the attribute to use for + authentication should be something that will also be valid + for putting into a mod_authn_file user file. + The user ID is ideal for this.
  • + +
  • When adding users via FrontPage, FrontPage administrators + should choose usernames that already exist in the LDAP + directory (for obvious reasons). Also, the password that the + administrator enters into the form is ignored, since Apache + will actually be authenticating against the password in the + LDAP database, and not against the password in the local user + file. This could cause confusion for web administrators.
  • + + +
  • Apache must be compiled with mod_auth_basic, + mod_authn_file and + mod_authz_groupfile in order to + use FrontPage support. This is because Apache will still use + the mod_authz_groupfile group file for determine + the extent of a user's access to the FrontPage web.
  • + +
  • The directives must be put in the .htaccess + files. Attempting to put them inside <Location> or <Directory> directives won't work. This + is because mod_authnz_ldap has to be able to grab + the AuthGroupFile + directive that is found in FrontPage .htaccess + files so that it knows where to look for the valid user list. If + the mod_authnz_ldap directives aren't in the same + .htaccess file as the FrontPage directives, then + the hack won't work, because mod_authnz_ldap will + never get a chance to process the .htaccess file, + and won't be able to find the FrontPage-managed user file.
  • +
+ +
+
top
+

AuthLDAPAuthorizePrefix Directive

+ + + + + + + + + +
Description:Specifies the prefix for environment variables set during +authorization
Syntax:AuthLDAPAuthorizePrefix prefix
Default:AuthLDAPAuthorizePrefix AUTHORIZE_
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.6 and later
+

This directive allows you to override the prefix used for environment + variables set during LDAP authorization. If AUTHENTICATE_ is + specified, consumers of these environment variables see the same information + whether LDAP has performed authentication, authorization, or both.

+ +

Note

+ No authorization variables are set when a user is authorized on the basis of + Require valid-user. +
+ +
+
top
+

AuthLDAPBindAuthoritative Directive

+ + + + + + + + +
Description:Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
Syntax:AuthLDAPBindAuthoritative off|on
Default:AuthLDAPBindAuthoritative on
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

By default, subsequent authentication providers are only queried if a + user cannot be mapped to a DN, but not if the user can be mapped to a DN and their + password cannot be verified with an LDAP bind. + If AuthLDAPBindAuthoritative + is set to off, other configured authentication modules will have + a chance to validate the user if the LDAP bind (with the current user's credentials) + fails for any reason.

+

This allows users present in both LDAP and + AuthUserFile to authenticate + when the LDAP server is available but the user's account is locked or password + is otherwise unusable.

+ +

See also

+ +
+
top
+

AuthLDAPBindDN Directive

+ + + + + + + +
Description:Optional DN to use in binding to the LDAP server
Syntax:AuthLDAPBindDN distinguished-name
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

An optional DN used to bind to the server when searching for + entries. If not provided, mod_authnz_ldap will use + an anonymous bind.

+ +
+
top
+

AuthLDAPBindPassword Directive

+ + + + + + + + +
Description:Password used in conjunction with the bind DN
Syntax:AuthLDAPBindPassword password
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:exec: was added in 2.4.5.
+

A bind password to use in conjunction with the bind DN. Note + that the bind password is probably sensitive data, and should be + properly protected. You should only use the AuthLDAPBindDN and AuthLDAPBindPassword if you + absolutely need them to search the directory.

+ +

If the value begins with exec: the resulting command will be + executed and the first line returned to standard output by the + program will be used as the password.

+
#Password used as-is
+AuthLDAPBindPassword secret
+
+#Run /path/to/program to get my password
+AuthLDAPBindPassword exec:/path/to/program
+
+#Run /path/to/otherProgram and provide arguments
+AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"
+ + + +
+
top
+

AuthLDAPCharsetConfig Directive

+ + + + + + +
Description:Language to charset conversion configuration file
Syntax:AuthLDAPCharsetConfig file-path
Context:server config
Status:Extension
Module:mod_authnz_ldap
+

The AuthLDAPCharsetConfig directive sets the location + of the language to charset conversion configuration file. File-path is relative + to the ServerRoot. This file specifies + the list of language extensions to character sets. + Most administrators use the provided charset.conv + file, which associates common language extensions to character sets.

+ +

The file contains lines in the following format:

+ +

+ Language-Extension charset [Language-String] ... +

+ +

The case of the extension does not matter. Blank lines, and lines + beginning with a hash character (#) are ignored.

+ +
+
top
+

AuthLDAPCompareAsUser Directive

+ + + + + + + + + +
Description:Use the authenticated user's credentials to perform authorization comparisons
Syntax:AuthLDAPCompareAsUser on|off
Default:AuthLDAPCompareAsUser off
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.6 and later
+

When set, and mod_authnz_ldap has authenticated the + user, LDAP comparisons for authorization use the queried distinguished name (DN) + and HTTP basic authentication password of the authenticated user instead of + the servers configured credentials.

+ +

The ldap-attribute, ldap-user, and ldap-group (single-level only) + authorization checks use comparisons.

+ +

This directive only has effect on the comparisons performed during + nested group processing when + AuthLDAPSearchAsUser is also enabled.

+ +

This directive should only be used when your LDAP server doesn't + accept anonymous comparisons and you cannot use a dedicated + AuthLDAPBindDN. +

+ +

See also

+ +
+
top
+

AuthLDAPCompareDNOnServer Directive

+ + + + + + + + +
Description:Use the LDAP server to compare the DNs
Syntax:AuthLDAPCompareDNOnServer on|off
Default:AuthLDAPCompareDNOnServer on
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

When set, mod_authnz_ldap will use the LDAP + server to compare the DNs. This is the only foolproof way to + compare DNs. mod_authnz_ldap will search the + directory for the DN specified with the Require dn directive, then, + retrieve the DN and compare it with the DN retrieved from the user + entry. If this directive is not set, + mod_authnz_ldap simply does a string comparison. It + is possible to get false negatives with this approach, but it is + much faster. Note the mod_ldap cache can speed up + DN comparison in most situations.

+ +
+
top
+

AuthLDAPDereferenceAliases Directive

+ + + + + + + + +
Description:When will the module de-reference aliases
Syntax:AuthLDAPDereferenceAliases never|searching|finding|always
Default:AuthLDAPDereferenceAliases always
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

This directive specifies when mod_authnz_ldap will + de-reference aliases during LDAP operations. The default is + always.

+ +
+
top
+

AuthLDAPGroupAttribute Directive

+ + + + + + + + +
Description:LDAP attributes used to identify the user members of +groups.
Syntax:AuthLDAPGroupAttribute attribute
Default:AuthLDAPGroupAttribute member uniqueMember
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

This directive specifies which LDAP attributes are used to + check for user members within groups. Multiple attributes can be used + by specifying this directive multiple times. If not specified, + then mod_authnz_ldap uses the member and + uniqueMember attributes.

+ +
+
top
+

AuthLDAPGroupAttributeIsDN Directive

+ + + + + + + + +
Description:Use the DN of the client username when checking for +group membership
Syntax:AuthLDAPGroupAttributeIsDN on|off
Default:AuthLDAPGroupAttributeIsDN on
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

When set on, this directive says to use the + distinguished name of the client username when checking for group + membership. Otherwise, the username will be used. For example, + assume that the client sent the username bjenson, + which corresponds to the LDAP DN cn=Babs Jenson, + o=Example. If this directive is set, + mod_authnz_ldap will check if the group has + cn=Babs Jenson, o=Example as a member. If this + directive is not set, then mod_authnz_ldap will + check if the group has bjenson as a member.

+ +
+
top
+

AuthLDAPInitialBindAsUser Directive

+ + + + + + + + + +
Description:Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
Syntax:AuthLDAPInitialBindAsUser off|on
Default:AuthLDAPInitialBindAsUser off
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.6 and later
+

By default, the server either anonymously, or with a dedicated user and + password, converts the basic authentication username into an LDAP + distinguished name (DN). This directive forces the server to use the verbatim username + and password provided by the incoming user to perform the initial DN + search.

+ +

If the verbatim username can't directly bind, but needs some + cosmetic transformation, see + AuthLDAPInitialBindPattern.

+ +

This directive should only be used when your LDAP server doesn't + accept anonymous searches and you cannot use a dedicated + AuthLDAPBindDN. +

+ +

Not available with authorization-only

+ This directive can only be used if this module authenticates the user, and + has no effect when this module is used exclusively for authorization. +
+ +

See also

+ +
+
top
+

AuthLDAPInitialBindPattern Directive

+ + + + + + + + + +
Description:Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
Syntax:AuthLDAPInitialBindPattern regex substitution
Default:AuthLDAPInitialBindPattern (.*) $1 (remote username used verbatim)
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.6 and later
+

If AuthLDAPInitialBindAsUser is set to + ON, the basic authentication username will be transformed according to the + regular expression and substitution arguments.

+ +

The regular expression argument is compared against the current basic authentication username. + The substitution argument may contain backreferences, but has no other variable interpolation.

+ +

This directive should only be used when your LDAP server doesn't + accept anonymous searches and you cannot use a dedicated + AuthLDAPBindDN. +

+ +
AuthLDAPInitialBindPattern (.+) $1@example.com
+ +
AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com
+ + +

Not available with authorization-only

+ This directive can only be used if this module authenticates the user, and + has no effect when this module is used exclusively for authorization. +
+

debugging

+ The substituted DN is recorded in the environment variable + LDAP_BINDASUSER. If the regular expression does not match the input, + the verbatim username is used. +
+ +

See also

+ +
+
top
+

AuthLDAPMaxSubGroupDepth Directive

+ + + + + + + + + +
Description:Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
Syntax:AuthLDAPMaxSubGroupDepth Number
Default:AuthLDAPMaxSubGroupDepth 10
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.0 and later
+

When this directive is set to a non-zero value X + combined with use of the Require ldap-group someGroupDN + directive, the provided user credentials will be searched for + as a member of the someGroupDN directory object or of + any group member of the current group up to the maximum nesting + level X specified by this directive.

+

See the Require ldap-group + section for a more detailed example.

+ +

Nested groups performance

+

When AuthLDAPSubGroupAttribute overlaps with + AuthLDAPGroupAttribute (as it does by default and + as required by common LDAP schemas), uncached searching for subgroups in + large groups can be very slow. If you use large, non-nested groups, set + AuthLDAPMaxSubGroupDepth to zero.

+
+ + +
+
top
+

AuthLDAPRemoteUserAttribute Directive

+ + + + + + + + +
Description:Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
Syntax:AuthLDAPRemoteUserAttribute uid
Default:none
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

If this directive is set, the value of the + REMOTE_USER environment variable will be set to the + value of the attribute specified. Make sure that this attribute is + included in the list of attributes in the AuthLDAPURL definition, + otherwise this directive will have no effect. This directive, if + present, takes precedence over AuthLDAPRemoteUserIsDN. This + directive is useful should you want people to log into a website + using an email address, but a backend application expects the + username as a userid.

+ +
+
top
+

AuthLDAPRemoteUserIsDN Directive

+ + + + + + + + +
Description:Use the DN of the client username to set the REMOTE_USER +environment variable
Syntax:AuthLDAPRemoteUserIsDN on|off
Default:AuthLDAPRemoteUserIsDN off
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

If this directive is set to on, the value of the + REMOTE_USER environment variable will be set to the full + distinguished name of the authenticated user, rather than just + the username that was passed by the client. It is turned off by + default.

+ +
+
top
+

AuthLDAPSearchAsUser Directive

+ + + + + + + + + +
Description:Use the authenticated user's credentials to perform authorization searches
Syntax:AuthLDAPSearchAsUser on|off
Default:AuthLDAPSearchAsUser off
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.6 and later
+

When set, and mod_authnz_ldap has authenticated the + user, LDAP searches for authorization use the queried distinguished name (DN) + and HTTP basic authentication password of the authenticated user instead of + the servers configured credentials.

+ +

The ldap-filter and ldap-dn authorization + checks use searches.

+ +

This directive only has effect on the comparisons performed during + nested group processing when + AuthLDAPCompareAsUser is also enabled.

+ +

This directive should only be used when your LDAP server doesn't + accept anonymous searches and you cannot use a dedicated + AuthLDAPBindDN. +

+ +

See also

+ +
+
top
+

AuthLDAPSubGroupAttribute Directive

+ + + + + + + + + +
Description:Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
Syntax:AuthLDAPSubGroupAttribute attribute
Default:AuthLDAPSubGroupAttribute member uniqueMember
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.0 and later
+

An LDAP group object may contain members that are users and + members that are groups (called nested or sub groups). The + AuthLDAPSubGroupAttribute directive identifies the + labels of group members and the AuthLDAPGroupAttribute + directive identifies the labels of the user members. Multiple + attributes can be used by specifying this directive multiple times. + If not specified, then mod_authnz_ldap uses the + member and uniqueMember attributes.

+ +
+
top
+

AuthLDAPSubGroupClass Directive

+ + + + + + + + + +
Description:Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
Syntax:AuthLDAPSubGroupClass LdapObjectClass
Default:AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
Compatibility:Available in version 2.3.0 and later
+

An LDAP group object may contain members that are users and + members that are groups (called nested or sub groups). The + AuthLDAPSubGroupAttribute + directive identifies the + labels of members that may be sub-groups of the current group + (as opposed to user members). The AuthLDAPSubGroupClass + directive specifies the LDAP objectClass values used in verifying that + these potential sub-groups are in fact group objects. Verified sub-groups + can then be searched for more user or sub-group members. Multiple + attributes can be used by specifying this directive multiple times. + If not specified, then mod_authnz_ldap uses the + groupOfNames and groupOfUniqueNames values.

+ +
+
top
+

AuthLDAPURL Directive

+ + + + + + + +
Description:URL specifying the LDAP search parameters
Syntax:AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authnz_ldap
+

An RFC 2255 URL which specifies the LDAP search parameters + to use. The syntax of the URL is

+

ldap://host:port/basedn?attribute?scope?filter

+

If you want to specify more than one LDAP URL that Apache should try in turn, the syntax is:

+
AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/dc=..."
+ +

Caveat: If you specify multiple servers, you need to enclose the entire URL string in quotes; +otherwise you will get an error: "AuthLDAPURL takes one argument, URL to define LDAP connection.." +You can of course use search parameters on each of these.

+ +
+
ldap
+ +
For regular ldap, use the + string ldap. For secure LDAP, use ldaps + instead. Secure LDAP is only available if Apache was linked + to an LDAP library with SSL support.
+ +
host:port
+ +
+

The name/port of the ldap server (defaults to + localhost:389 for ldap, and + localhost:636 for ldaps). To + specify multiple, redundant LDAP servers, just list all + servers, separated by spaces. mod_authnz_ldap + will try connecting to each server in turn, until it makes a + successful connection. If multiple ldap servers are specified, + then entire LDAP URL must be encapsulated in double quotes.

+ +

Once a connection has been made to a server, that + connection remains active for the life of the + httpd process, or until the LDAP server goes + down.

+ +

If the LDAP server goes down and breaks an existing + connection, mod_authnz_ldap will attempt to + re-connect, starting with the primary server, and trying + each redundant server in turn. Note that this is different + than a true round-robin search.

+
+ +
basedn
+ +
The DN of the branch of the + directory where all searches should start from. At the very + least, this must be the top of your directory tree, but + could also specify a subtree in the directory.
+ +
attribute
+ +
The attribute to search for. + Although RFC 2255 allows a comma-separated list of + attributes, only the first attribute will be used, no + matter how many are provided. If no attributes are + provided, the default is to use uid. It's a good + idea to choose an attribute that will be unique across all + entries in the subtree you will be using. All attributes + listed will be put into the environment with an AUTHENTICATE_ prefix + for use by other modules.
+ +
scope
+ +
The scope of the search. Can be either one or + sub. Note that a scope of base is + also supported by RFC 2255, but is not supported by this + module. If the scope is not provided, or if base scope + is specified, the default is to use a scope of + sub.
+ +
filter
+ +
A valid LDAP search filter. If + not provided, defaults to (objectClass=*), which + will search for all objects in the tree. Filters are + limited to approximately 8000 characters (the definition of + MAX_STRING_LEN in the Apache source code). This + should be more than sufficient for any application. In 2.4.10 and later, + the keyword none disables the use of a filter; this is + required by some primitive LDAP servers.
+
+ +

When doing searches, the attribute, filter and username passed + by the HTTP client are combined to create a search filter that + looks like + (&(filter)(attribute=username)).

+ +

For example, consider an URL of + ldap://ldap.example.com/o=Example?cn?sub?(posixid=*). When + a client attempts to connect using a username of Babs + Jenson, the resulting search filter will be + (&(posixid=*)(cn=Babs Jenson)).

+ +

An optional parameter can be added to allow the LDAP Url to override + the connection type. This parameter can be one of the following:

+ +
+
NONE
+
Establish an unsecure connection on the default LDAP port. This + is the same as ldap:// on port 389.
+
SSL
+
Establish a secure connection on the default secure LDAP port. + This is the same as ldaps://
+
TLS | STARTTLS
+
Establish an upgraded secure connection on the default LDAP port. + This connection will be initiated on port 389 by default and then + upgraded to a secure connection on the same port.
+
+ +

See above for examples of AuthLDAPURL URLs.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_ldap.html.fr.utf8 b/docs/manual/mod/mod_authnz_ldap.html.fr.utf8 new file mode 100644 index 0000000..725bf8a --- /dev/null +++ b/docs/manual/mod/mod_authnz_ldap.html.fr.utf8 @@ -0,0 +1,1466 @@ + + + + + +mod_authnz_ldap - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authnz_ldap

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Permet d'utiliser un annuaire LDAP pour l'authentification +HTTP de base.
Statut:Extension
Identificateur de Module:authnz_ldap_module
Fichier Source:mod_authnz_ldap.c
Compatibilité:Disponible depuis les versions 2.1 et supérieures +d'Apache
+

Sommaire

+ +

Ce module permet aux frontaux d'authentification comme + mod_auth_basic d'authentifier les utilisateurs via + un annuaire ldap.

+ +

mod_authnz_ldap supporte les fonctionnalités + suivantes :

+ +
    +
  • Support vérifié du OpenLDAP SDK (versions 1.x et + 2.x), du + Novell LDAP SDK et du SDK iPlanet + (Netscape).
  • + +
  • Implémentation de politiques d'autorisation complexes en les + définissant via des filtres LDAP.
  • + +
  • Mise en oeuvre d'une mise en cache des opérations LDAP + élaborée via mod_ldap.
  • + +
  • Support de LDAP via SSL (nécessite le SDK Netscape) ou TLS + (nécessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).
  • +
+ +

Lorsqu'on utilise mod_auth_basic, ce module est + invoqué en affectant la valeur ldap à la directive + AuthBasicProvider.

+
+ +
top
+
top
+
+

Mises en garde à caractère général

+

Ce module effectue une mise en cache des résultats du processus +d'authentification et d'autorisation en fonction de la configuration du +module mod_ldap. Les modifications effectuées au niveau +du serveur LDAP d'arrière-plan comme les +verrouillages ou révocations d'utilisateurs, les changements de mot de +passe, ou les changements d'appartenance à un groupe (et cette liste +n'est pas exhaustive), ne seront pas immédiatement propagées jusqu'au +serveur HTTP. Consultez les directives du module +mod_ldap pour plus de détails à propos de la +configuration de la mise en cache. +

+
top
+
+

Mode opératoire

+ +

L'utilisateur se voit accorder l'accès selon un processus en deux + phases. La première phase est l'authentification, au cours de + laquelle le fournisseur d'authentification + mod_authnz_ldap vérifie que les informations de + connexion de l'utilisateur sont valides. Elle est aussi connue sous + le nom de phase de recherche/connexion (NdT : en anglais ou + dans le code source : search/bind). La deuxième + phase est l'autorisation, au cours de laquelle + mod_authnz_ldap détermine si l'utilisateur + authentifié a la permission d'accéder à la ressource considérée. + Elle est aussi connue sous le nom de phase de + comparaison (compare).

+ +

mod_authnz_ldap comporte un fournisseur + d'authentification authn_ldap et un gestionnaire d'autorisation + authz_ldap. Le fournisseur d'authentification authn_ldap peut être + invoqué en affectant la valeur ldap à la directive + AuthBasicProvider. Le + gestionnaire d'autorisation authz_ldap enrichit la liste des types + d'autorisations de la directive Require en y ajoutant les + valeurs ldap-user, ldap-dn et + ldap-group.

+ +

La phase d'authentification

+ +

Au cours de la phase d'authentification, + mod_authnz_ldap recherche une entrée de l'annuaire + LDAP qui correspond au nom d'utilisateur fourni par le client HTTP. + Si une correspondance unique est trouvée, + mod_authnz_ldap tente de se connecter au serveur + hébergeant l'annuaire LDAP en utilisant le DN de l'entrée et le mot + de passe fourni par le client HTTP. Comme ce processus effectue tout + d'abord une recherche, puis une connexion, il est aussi connu sous + le nom de phase de recherche/connexion. Voici le détail des étapes + constituant la phase de recherche/connexion :

+ +
    +
  1. Confection d'un filtre de recherche en combinant les attribut + et filtre définis par la directive AuthLDAPURL avec le nom d'utilisateur et le mot de + passe fournis par le client HTTP.
  2. + +
  3. Recherche dans l'annuaire LDAP en utilisant le filtre + confectionné précédemment. Si le résultat de la recherche est + négatif ou comporte plusieurs entrées, refus ou restriction de + l'accès.
  4. + +
  5. Extraction du DN (distinguished name) de l'entrée issue du + résultat de la recherche, et tentative de connexion au serveur + LDAP en utilisant ce DN et le mot de passe fournis par le client + HTTP. Si la connexion échoue, refus ou restriction de + l'accès.
  6. +
+ +

Les directives utilisées durant la phase de recherche/connexion + sont les suivantes :

+ + + + + + + + + + + + + + + + + + + + +
AuthLDAPURLSpécifie le serveur LDAP, le DN de base, l'attribut à + utiliser pour la recherche, ainsi que les filtres de recherche + supplémentaires.
AuthLDAPBindDNUn DN optionnel pour se connecter durant la phase de + recherche.
AuthLDAPBindPasswordUn mot de passe optionnel pour se connecter durant la phase + de recherche.
+ + +

La phase d'autorisation

+ +

Au cours de la phase d'autorisation, + mod_authnz_ldap tente de déterminer si + l'utilisateur est autorisé à accéder à la ressource considérée. Une + grande partie de cette vérification consiste pour + mod_authnz_ldap en des opérations de comparaison au + niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue + sous le nom de phase de comparaison. + mod_authnz_ldap accepte les directives Require suivantes pour + déterminer si les informations de connexion permettent d'accorder + l'accès à l'utilisateur :

+ +
    +
  • Avec la directive Require ldap-user, + l'autorisation d'accès est accordée si le nom d'utilisateur + spécifié par la directive correspond au nom d'utilisateur fourni + par le client.
  • + +
  • Avec la directive Require + ldap-dn, l'autorisation d'accès est accordée si le DN + spécifié par la directive correspond au DN extrait du résultat de + la recherche dans l'annuaire LDAP.
  • + +
  • Avec la directive Require ldap-group, + l'autorisation d'accès est accordée si le DN extrait du résultat de + la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni + par le client) appartient au groupe LDAP spécifié par la + directive, ou éventuellement à un de ses sous-groupes.
  • + +
  • Avec la directive + Require ldap-attribute, l'autorisation d'accès + est accordée si la valeur de l'attribut extraite de la recherche + dans l'annuaire LDAP correspond à la valeur spécifiée par la + directive.
  • + +
  • Avec la directive + Require ldap-filter, l'autorisation d'accès + est accordée si le filtre de recherche renvoie un objet + utilisateur unique qui corresponde au DN de l'utilisateur + authentifié.
  • + +
  • dans tous les autres cas, refus ou restriction de + l'accès.
  • +
+ +

Sous réserve du chargement de modules d'autorisation + supplémentaires, d'autres valeurs de la directive Require peuvent être + spécifiées.

+ + + + +

Durant la phase de comparaison, mod_authnz_ldap + utilise les directives suivantes :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AuthLDAPURL + On utilise l'attribut spécifié dans l'URL pour les + opérations de comparaison initiées par la directive + Require ldap-user.
AuthLDAPCompareDNOnServerDétermine le comportement de la directive Require + ldap-dn.
AuthLDAPGroupAttributeDétermine l'attribut utilisé pour les opérations de + comparaison initiées par la directive Require + ldap-group.
AuthLDAPGroupAttributeIsDNSpécifie si l'on doit utiliser le DN ou le nom de + l'utilisateur lors des opérations de comparaison initiées par la + directive Require ldap-group.
AuthLDAPMaxSubGroupDepthDétermine la profondeur maximale de l'arborescence des + sous-groupes qui seront évalués au cours des opérations de + comparaisons initiées par la directive Require + ldap-group.
AuthLDAPSubGroupAttributeDétermine l'attribut à utiliser lors de l'extraction de + membres de sous-groupes du groupe courant au cours des + opérations de comparaison initiées par la directive + Require ldap-group.
AuthLDAPSubGroupClassSpécifie les valeurs de classe d'objet LDAP à utiliser pour + déterminer si les objets extraits de l'annuaire sont bien des + objets de type groupe (et non des objets de type utilisateur), + au cours du traitement des sous-groupes initié par la directive + Require ldap-group.
+ +
top
+
+

Les directives requises

+ +

Les directives Require d'Apache sont utilisées + au cours de la phase d'autorisation afin de s'assurer que + l'utilisateur est autorisé à accéder à une ressource. + mod_authnz_ldap enrichit la liste des types d'autorisations avec les + valeurs ldap-user, ldap-dn, + ldap-group, ldap-attribute et + ldap-filter. D'autres types d'autorisations sont + disponibles, sous réserve du chargement de modules d'autorisation + supplémentaires.

+ +

Depuis la version 2.4.8, les directives require LDAP supportent + les expressions.

+ +

Require ldap-user

+ +

La directive Require ldap-user permet de spécifier + les noms des utilisateurs autorisés à accéder à la ressource. + Lorsque mod_authnz_ldap a extrait un DN unique de + l'annuaire LDAP, il effectue une opération de comparaison LDAP en + utilisant le nom d'utilisateur spécifié par la directive + Require ldap-user, pour vérifier si ce nom + d'utilisateur correspond à l'entrée LDAP extraite. On peut accorder + l'accès à plusieurs utilisateurs en plaçant plusieurs nom + d'utilisateurs sur la même ligne séparés par des espaces. Si un nom + d'utilisateur contient des espaces, il doit être entouré de + guillemets. On peut aussi accorder l'accès à plusieurs utilisateurs + en utilisant une directive Require ldap-user par + utilisateur. Par exemple, avec la directive AuthLDAPURL définie à + ldap://ldap/o=Example?cn (spécifiant donc que l'attribut + cn sera utilisé pour les recherches), on pourra + utiliser les directives Require suivantes pour restreindre l'accès + :

+
Require ldap-user "Barbara Jenson"
+Require ldap-user "Fred User"
+Require ldap-user "Joe Manager"
+ + +

De par la manière dont mod_authnz_ldap traite + cette directive, Barbara Jenson peut s'authentifier comme + Barbara Jenson, Babs Jenson ou tout autre + cn sous lequel elle est enregistrée dans l'annuaire + LDAP. Une seule ligne Require ldap-user suffit pour + toutes les valeurs de l'attribut dans l'entrée LDAP de + l'utilisateur.

+ +

Si l'attribut uid avait été spécifié à la place de + l'attribut cn dans l'URL précédente, les trois lignes + ci-dessus auraient pû être condensées en une seule ligne :

+
Require ldap-user bjenson fuser jmanager
+ + + +

Require ldap-group

+ +

Cette directive permet de spécifier un groupe LDAP dont les + membres auront l'autorisation d'accès. Elle prend comme argument le + DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des + guillemets. Par exemple, supposons que l'entrée suivante existe dans + l'annuaire LDAP :

+
dn: cn=Administrators, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Barbara Jenson, o=Example
+uniqueMember: cn=Fred User, o=Example
+ +

La directive suivante autoriserait alors l'accès à Fred et + Barbara :

+
Require ldap-group cn=Administrators, o=Example
+ + +

Les membres peuvent aussi se trouver dans les sous-groupes du + groupe LDAP spécifié si la directive AuthLDAPMaxSubGroupDepth a été + définie à une valeur supérieure à 0. Par exemple, supposons que les + entrées suivantes existent dans l'annuaire LDAP :

+
dn: cn=Employees, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Managers, o=Example
+uniqueMember: cn=Administrators, o=Example
+uniqueMember: cn=Users, o=Example
+
+dn: cn=Managers, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Bob Ellis, o=Example
+uniqueMember: cn=Tom Jackson, o=Example
+
+dn: cn=Administrators, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Barbara Jenson, o=Example
+uniqueMember: cn=Fred User, o=Example
+
+dn: cn=Users, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Allan Jefferson, o=Example
+uniqueMember: cn=Paul Tilley, o=Example
+uniqueMember: cn=Temporary Employees, o=Example
+
+dn: cn=Temporary Employees, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Jim Swenson, o=Example
+uniqueMember: cn=Elliot Rhodes, o=Example
+ +

Les directives suivantes autoriseraient alors l'accès à Bob + Ellis, Tom Jackson, Barbara Jenson, Fred User, Allan Jefferson, et + Paul Tilley, mais l'interdiraient à Jim Swenson, ou Elliot Rhodes + (car ils sont situés dans un sous-groupe de niveau de profondeur 2) + :

+
Require ldap-group cn=Employees, o=Example
+AuthLDAPMaxSubGroupDepth 1
+ + +

Le comportement de cette directive est modifié par les directives + AuthLDAPGroupAttribute, + AuthLDAPGroupAttributeIsDN, + AuthLDAPMaxSubGroupDepth, + AuthLDAPSubGroupAttribute, et + AuthLDAPSubGroupClass.

+ + +

Require ldap-dn

+ +

La directive Require ldap-dn permet à + l'administrateur d'accorder l'utorisation d'accès en fonction du DN. + Elle permet de spécifier un DN pour lequel l'accès est autorisé. Si + le DN extrait de + l'annuaire correspond au DN spécifié par la directive Require + ldap-dn, l'autorisation d'accès est accordée. Note : + n'entourez pas Le DN de guillemets.

+ +

La directive suivante accorderait l'accès à un DN spécifique + :

+
Require ldap-dn cn=Barbara Jenson, o=Example
+ + +

Le comportement ce cette directive est modifié par la directive + AuthLDAPCompareDNOnServer.

+ + +

Require ldap-attribute

+ +

La directive Require ldap-attribute permet à + l'administrateur d'accorder l'autorisation d'accès en fonction des + attributs de l'utilisateur authentifié dans l'annuaire LDAP. Si la + valeur de l'attribut dans l'annuaire correspond à la valeur + spécifiée par la directive, l'autorisation d'accès est accordée.

+ +

La directive suivante accorderait l'autorisation d'accès à tout + utilisateur dont l'attribut employeeType a pour valeur "actif" :

+ +
Require ldap-attribute employeeType="active"
+ + +

Plusieurs paires attribut/valeur peuvent être spécifiées par une + même directive en les séparant par des espaces, ou en définissant + plusieurs directives Require ldap-attribute. La logique + sous-jacente à une liste de paires attribut/valeur est une opération + OU. L'autorisation d'accès sera accordée si au moins une paire + attribut/valeur de la liste spécifiée correspond à la paire + attribut/valeur de l'utilisateur authentifié. Si elle contient des + espaces, la valeur, et seulement la valeur, doit être entourée de + guillemets.

+ +

La directive suivante accorderait l'autorisation d'accès à tout + utilisateur dont l'attribut city aurait pour valeur "San Jose", ou + donc l'attribut status aurait pour valeur "actif" :

+ +
Require ldap-attribute city="San Jose" status="active"
+ + + + +

Require ldap-filter

+ +

La directive Require ldap-filter permet à + l'administrateur d'accorder l'autorisation d'accès en fonction d'un + filtre de recherche LDAP complexe. L'autorisation d'accès est + accordée si le DN renvoyé par le filtre de recherche correspond au + DN de l'utilisateur authentifié.

+ +

La directive suivante accorderait l'autorisation d'accès à tout + utilisateur possédant un téléphone cellulaire et faisant partie du + département "marketing" :

+ +
Require ldap-filter &(cell=*)(department=marketing)
+ + +

Alors que la directive Require ldap-attribute se + contente d'une simple comparaison d'attributs, la directive + Require ldap-filter effectue une opération de recherche + dans l'annuaire LDAP en utilisant le filtre de recherche spécifié. + Si une simple comparaison d'attributs suffit, l'opération de + comparaison effectuée par ldap-attribute sera plus + rapide que l'opération de recherche effectuée par + ldap-filter, en particulier dans le cas d'un annuaire + LDAP de grande taille.

+ +

Lorsqu'on utilise une expression dans un + filtre, il faut s'assurer que les filtres LDAP sont correctement échappés + afin de se prémunir contre toute injection LDAP. Pour ce faire, + il est possible d'utiliser la fonction ldap.

+ +
<LocationMatch ^/dav/(?<SITENAME>[^/]+)/>
+  Require ldap-filter (memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example)
+</LocationMatch>
+ + + + +
top
+
+

Exemples

+ +
    +
  • + Accorde l'autorisation d'accès à tout utilisateur présent dans + l'annuaire LDAP, en utilisant son UID pour effectuer la + recherche : +
    AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)"
    +Require valid-user
    + +
  • + +
  • + L'exemple suivant est similaire au précédent, mais les champs + dont les valeurs par défaut conviennent sont omis. Notez aussi + la présence d'un annuaire LDAP redondant : +
    AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example"
    +Require valid-user
    + +
  • + +
  • + Encore un exemple similaire aux précédents, mais cette fois, + c'est l'attribut cn qui est utilisé pour la recherche à la place + de l'UID. Notez que ceci peut poser problème si plusieurs + utilisateurs de l'annuaire partagent le même cn, + car une recherche sur le cn doit + retourner une entrée et une seule. C'est pourquoi cette + approche n'est pas recommandée : il est préférable de choisir un + attribut de votre annuaire dont l'unicité soit garantie, comme + uid. +
    AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn"
    +Require valid-user
    + +
  • + +
  • + Accorde l'autorisation d'accès à tout utilisateur appartenant au + groupe Administrateurs. Les utilisateurs doivent s'authentifier + en utilisant leur UID : +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid
    +Require ldap-group cn=Administrators, o=Example
    + +
  • + +
  • + Accorde l'accès à tout utilisateur appartenant au groupe dont le + nom correspond au nom d'hôte du serveur virtuel. Dans cet exemple, + on utilise une expression pour + construire le filtre. +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid
    +Require ldap-group cn=%{SERVER_NAME}, o=Example
    + +
  • + +
  • + Pour l'exemple suivant, on suppose que tout utilisateur de chez + Example qui dispose d'un bippeur alphanumérique possèdera un + attribut LDAP qpagePagerID. Seuls ces utilisateurs + (authentifiés via leur UID) se verront accorder l'autorisation + d'accès : +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*)
    +Require valid-user
    + +
  • + +
  • +

    L'exemple suivant illustre la puissance des filtres pour + effectuer des requêtes complexes. Sans les filtres, il aurait + été nécessaire de créer un nouveau groupe LDAP et de s'assurer + de la synchronisation des membres du groupe avec les + utilisateurs possédant un bippeur. Tout devient limpide avec les + filtres. Nous avons pour but d'accorder l'autorisation d'accès à + tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager + qui ne possède pas de bippeur, mais doit tout de même pouvoir + accéder à la ressource :

    +
    AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager))
    +Require valid-user
    + + +

    Ce dernier exemple peut sembler confus au premier abord ; en + fait, il permet de mieux comprendre à quoi doit ressembler le + filtre en fonction de l'utilisateur qui se connecte. Si Fred + User se connecte en tant que fuser, le filtre devra + ressembler à :

    + +

    (&(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))

    + +

    Un recherche avec le filtre ci-dessus ne retournera un + résultat positif que si fuser dispose d'un bippeur. Si + Joe Manager se connecte en tant que jmanager, le filtre + devra ressembler à :

    + +

    (&(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))

    + +

    Un recherche avec le filtre ci-dessus retournera un + résultat positif que jmanager dispose d'un + bippeur ou non

    +
  • +
+
top
+
+

Utilisation de TLS

+ +

Pour l'utilisation de TLS, voir les directives du module + mod_ldap LDAPTrustedClientCert, LDAPTrustedGlobalCert et LDAPTrustedMode.

+ +

Un second paramètre optionnel peut être ajouté à la directive + AuthLDAPURL pour + remplacer le type de connexion par défaut défini par la directive + LDAPTrustedMode. Ceci + permettra de promouvoir la connexion établie via une URL du type + ldap:// au statut de connection sécurisée sur le même + port.

+
top
+
+

Utilisation de SSL

+ +

Pour l'utilisation de SSL, voir les directives du module + mod_ldap LDAPTrustedClientCert, LDAPTrustedGlobalCert et LDAPTrustedMode.

+ +

Pour spécifier un serveur LDAP sécurisé, utilisez + ldaps:// au lieu de + ldap:// dans la directive AuthLDAPURL.

+
top
+
+

Mise à disposition des informations de +connexion

+ +

Au cours du processus d'authentification, les attributs LDAP + spécifiés par la directive AuthLDAPURL sont enregistrés dans des + variables d'environnement préfixées par la chaîne "AUTHENTICATE_".

+ +

Au cours du processus d'autorisation, les attributs LDAP + spécifiés par la directive AuthLDAPURL sont enregistrés + dans des variables d'environnement préfixées par la chaîne + "AUTHORIZE_".

+ +

Si les champs attribut contiennent le nom, le CN et le numéro de + téléphone d'un utilisateur, un programme CGI pourra accéder à ces + informations sans devoir effectuer une autre requête LDAP pour + les extraire de l'annuaire.

+ +

Ceci a pour effet de simplifier considérablement le code et la + configuration nécessaire de certaines applications web.

+ +
top
+
+

Utilisation d'Active +Directory

+ +

Active Directory peut supporter plusieurs domaines à la fois. + Pour faire la distinction entre les utilisateurs de plusieurs + domaines, on peut ajouter à l'entrée de l'utilisateur dans + l'annuaire un identifiant appelé Nom + Principal d'Utilisateur (User Principle Name ou UPN). Cet UPN se + compose en général du nom de compte de l'utilisateur, suivi du nom + du domaine considéré, par exemple untel@nz.example.com.

+ +

Vous voudrez probablement configurer le module + mod_authnz_ldap afin de pouvoir authentifier les + utilisateurs de n'importe quel domaine de la forêt Active Directory. + Ainsi, untel@nz.example.com et + untel@au.example.com pourront être authentifiés en une + seule fois par la même requête.

+ +

Pour y parvenir, on utilise le concept de Catalogue Global + d'Active Directory. Ce Catalogue Global est une copie en lecture + seule des attributs sélectionnés de tous les serveurs de la forêt + Active Directory. Une requête vers le + Catalogue Global permet donc d'atteindre tous les domaines en une + seule fois, sans avoir à se connecter aux différents serveurs, via + des liaisons dont certaines peuvent être lentes.

+ +

Lorsqu'il est activé, la Catalogue Global est un serveur + d'annuaire indépendant accessible sur le port 3268 (3269 pour SSL). + Pour rechercher un utilisateur, effectuez une recherche sur + l'attribut userPrincipalName, avec une base de recherche + vide, comme suit :

+ +
AuthLDAPBindDN apache@example.com
+AuthLDAPBindPassword password
+AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
+ + +

Les utilisateurs devront s'authentifier en entrant leur UPN, de + la formeuntel@nz.example.com.

+ +
top
+
+

Utilisation de Microsoft + FrontPage avec mod_authnz_ldap

+ +

Normalement, FrontPage utilise des fichiers utilisateur/groupe + spécifiques à FrontPage-web (c'est à dire les modules + mod_authn_file et + mod_authz_groupfile) pour effectuer toute + l'authentification. Malheureusement, il ne suffit pas de modifier + l'authentification LDAP en ajoutant les directives appropriées, car + ceci corromprait les formulaires de Permissions dans le + client FrontPage, qui sont censés modifier les fichiers + d'autorisation standards au format texte.

+ +

Lorsqu'un site web FrontPage a été créé, lui adjoindre + l'authentification LDAP consiste à ajouter les directives suivantes + à chaque fichier .htaccess qui sera créé dans + le site web :

+
AuthLDAPURL       "the url"
+AuthGroupFile     "mygroupfile"
+Require group     "mygroupfile"
+ + +

Comment ça marche

+ +

FrontPage restreint l'accès à un site web en ajoutant la + directive Require valid-user aux fichiers + .htaccess. La directive Require valid-user + permettra l'accès à tout utilisateur valide du point de vue + LDAP. Cela signifie que tout utilisateur possédant une entrée + dans l'annuaire LDAP sera considéré comme valide, alors que + FrontPage ne considère comme valides que les utilisateurs + enregistrés dans le fichier des utilisateurs local. En remplaçant + l'autorisation par groupe LDAP par une autorisation par fichier de + groupe, Apache sera en mesure de consulter le fichier des + utilisateurs local (géré par FrontPage) - au lieu de l'annuaire LDAP + - lors du processus d'autorisation des utilisateurs.

+ +

Une fois les directives ajoutées selon ce qui précède, les + utilisateurs FrontPage pourront effectuer toutes les opérations de + gestion à partir du client FrontPage.

+ + +

Avertissements

+ +
    +
  • Lors du choix de l'URL LDAP, l'attribut à utiliser pour + l'authentification doit aussi être valide pour le fichier des + utilisateurs de mod_authn_file. A cette fin, + l'UID est idéal.
  • + +
  • Lorsqu'ils ajoutent des utilisateurs via FrontPage, les + administrateurs de FrontPage doivent choisir des noms + d'utilisateurs qui existent déjà dans l'annuaire LDAP (pour des + raisons évidentes). De même, le mot de passe que l'administrateur + entre dans le formulaire est ignoré, car pour l'authentification, + Apache utilise le mot de passe de l'annuaire LDAP, et non le mot + de passe enregistré dans le fichier des utilisateurs, ce qui peut + semer la confusion parmi les administrateurs web.
  • + + +
  • Pour supporter FrontPage, Apache doit être compilé avec + mod_auth_basic, mod_authn_file + et mod_authz_groupfile. Ceci est dû au fait + qu'Apache doit utiliser le fichier de groupes de + mod_authz_groupfile pour déterminer le niveau + d'accès d'un utilisateur au site web FrontPage.
  • + +
  • Les directives doivent être placées dans les fichiers + .htaccess. Elles ne fonctionneront pas si vous les + placez dans une section <Location> ou <Directory>. Ceci est dû au fait que pour savoir + où se trouve la liste des utilisateurs valides, + mod_authnz_ldap doit être en mesure d'atteindre + la directive AuthGroupFile qui se trouve + dans les fichiers .htaccess de FrontPage. Si les directives + de mod_authnz_ldap ne sont pas situées dans le + même fichier .htaccess que les directives FrontPage, + la configuration ne fonctionnera pas, car + mod_authnz_ldap ne sera jamais en mesure de + traiter le fichier .htaccess, et par conséquent ne + pourra jamais trouver le fichier des utilisateurs géré par + FrontPage.
  • +
+ +
+
top
+

Directive AuthLDAPAuthorizePrefix

+ + + + + + + + + +
Description:Spécifie le préfixe ajouté aux variables d'environnement +durant la phase d'autorisation
Syntaxe:AuthLDAPAuthorizePrefix préfixe
Défaut:AuthLDAPAuthorizePrefix AUTHORIZE_
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible depuis la version 2.3.6
+

Cette directive permet de spécifier le préfixe ajouté aux + variables d'environnement durant la phase d'autorisation. Si la + valeur spécifiée est AUTHENTICATE_, les utilisateurs de ces + variables d'environnement verront les mêmes informations, que le + serveur effectue une authentification, une autorisation, ou les + deux.

+ +

Note

+ Aucune variable d'autorisation n'est définie lorsqu'un utilisateur + s'est vu autoriser l'accès via la directive Require + valid-user. +
+ +
+
top
+

Directive AuthLDAPBindAuthoritative

+ + + + + + + + +
Description:Détermine si l'on doit utiliser d'autres fournisseurs +d'authentification lorsque le serveur ne peut pas valider les données +d'authentification de l'utilisateur, alors que ce dernier possède un +DN.
Syntaxe:AuthLDAPBindAuthoritative off|on
Défaut:AuthLDAPBindAuthoritative on
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Par défaut, des fournisseurs d'authentification sont appelés + si un utilisateur ne possède pas de DN, mais ne le sont pas si + l'utilisateur possède un DN et si son mot de passe ne peut pas être + vérifié lors d'une connexion au serveur LDAP. Si la directive + AuthLDAPBindAuthoritative est + définie à off, d'autres modules d'authentification + configurés auront une chance de valider le mot de passe de + l'utilisateur si la tentative de connexion au serveur LDAP échoue + pour une raison quelconque (avec les données d'authentification + fournies).

+

Ceci permet aux utilisateurs présent à la fois dans l'annuaire + LDAP et dans un fichier AuthUserFile de s'authentifier + lorsque le serveur LDAP est disponible, alors que le compte de + l'utilisateur est verrouillé ou que son mot de passe est + inutilisable pour une raison quelconque.

+ +

Voir aussi

+ +
+
top
+

Directive AuthLDAPBindDN

+ + + + + + + +
Description:Un DN optionnel pour se connecter au serveur +LDAP
Syntaxe:AuthLDAPBindDN dn
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Cette directive permet de définir un DN optionnel pour se + connecter au serveur afin d'y rechercher des entrées. Si aucun DN + n'est spécifié, mod_authnz_ldap tentera une + connexion anonyme.

+ +
+
top
+

Directive AuthLDAPBindPassword

+ + + + + + + + +
Description:Mot de passe à utiliser en conjonction avec le DN de +connexion
Syntaxe:AuthLDAPBindPassword mot-de-passe
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:exec: est disponible depuis la version 2.4.5 du +serveur HTTP Apache.
+

Cette directive permet de spécifier un mot de passe à utiliser en + conjonction avec le DN de connexion. Notez que ce mot de passe + constitue en général une donnée sensible, et doit donc être protégé + de manière appropriée. Vous ne devez utiliser les directives + AuthLDAPBindDN et + AuthLDAPBindPassword que si + vous en avez vraiment besoin pour effectuer une recherche dans + l'annuaire.

+ +

Si la valeur spécifiée débute par "exec:", la commande qui suit sera + exécutée, et la première ligne renvoyée par la commande sur la + sortie standard sera utilisée comme mot de passe.

+
# Mot de passe spécifié directement
+AuthLDAPBindPassword secret
+
+# Exécution de /path/to/program pour obtenir le mot de passe
+AuthLDAPBindPassword exec:/path/to/program
+
+# Exécution de /path/to/otherProgram avec un argument pour obtenir le mot de passe
+AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"
+ + + +
+
top
+

Directive AuthLDAPCharsetConfig

+ + + + + + +
Description:Chemin du fichier de configuration de la correspondance +langage/jeu de caractères
Syntaxe:AuthLDAPCharsetConfig chemin-fichier
Contexte:configuration globale
Statut:Extension
Module:mod_authnz_ldap
+

La directive AuthLDAPCharsetConfig permet + de définir le chemin du fichier de configuration de la + correspondance langage/jeu de caractères. chemin-fichier + est un chemin relatif au répertoire défini par la directive + ServerRoot. Ce fichier contient une liste + de correspondances extension de langage/jeu de caractères. La + plupart des administrateurs utilisent le fichier + charset.conv fourni qui associe les extensions de + langage courantes à leurs jeux de caractères.

+ +

Le fichier contient des lignes au format suivant :

+ +

+ extension de langage jeu de caractères + [Nom du langage] ... +

+ +

L'extension est insensible à la casse. Les lignes vides et les + lignes commençant par un dièse (#) sont ignorées.

+ +
+
top
+

Directive AuthLDAPCompareAsUser

+ + + + + + + + + +
Description:Utilisation des données d'authentification de l'utilisateur +pour effectuer les comparaisons pour l'attribution des autorisations
Syntaxe:AuthLDAPCompareAsUser on|off
Défaut:AuthLDAPCompareAsUser off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible depuis la version version 2.3.6
+

Lorsque cette directive est définie, et si + mod_authnz_ldap a authentifié l'utilisateur, les + recherches LDAP pour les autorisations utilisent le nom distinctif + trouvé (DN) et le mot de passe d'authentification basique HTTP de + l'utilisateur authentifié au lieu des données d'authentification + configurées au niveau du serveur.

+ +

Les vérifications d'autorisation ldap-attribute, + ldap-user, et ldap-group (niveau simple seulement) + utilisent des comparaisons.

+ +

Cette directive n'a d'effet sur les comparaisons effectuées au + cours des traitements de groupe imbriqués, et lorsque la directive + AuthLDAPSearchAsUser + est aussi activée.

+ +

Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive AuthLDAPBindDN. +

+ +

Voir aussi

+ +
+
top
+

Directive AuthLDAPCompareDNOnServer

+ + + + + + + + +
Description:Utilise le serveur LDAP pour comparer les DNs
Syntaxe:AuthLDAPCompareDNOnServer on|off
Défaut:AuthLDAPCompareDNOnServer on
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Lorsque cette directive est définie à on, + mod_authnz_ldap utilise le serveur LDAP pour + comparer les DNs. Il s'agit de la seule méthode infaillible pour + comparer les DNs. mod_authnz_ldap va rechercher + dans l'annuaire le DN spécifié par la directive Require dn, puis extraire ce DN et le + comparer avec le DN extrait de l'entrée de l'utilisateur. Si cette + directive est à off, mod_authnz_ldap effectue une + simple comparaison de chaînes. Cette dernière approche peut produire + des faux négatifs, mais elle est beaucoup plus rapide. Notez + cependant que le cache de mod_ldap peut accélérer + la comparaison de DNs dans la plupart des situations.

+ +
+
top
+

Directive AuthLDAPDereferenceAliases

+ + + + + + + + +
Description:À quel moment le module va déréférencer les +alias
Syntaxe:AuthLDAPDereferenceAliases never|searching|finding|always
Défaut:AuthLDAPDereferenceAliases always
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Cette directive permet de spécifier à quel moment + mod_authnz_ldap va déréférencer les alias au cours + des opérations liées à LDAP. La valeur par défaut est + always.

+ +
+
top
+

Directive AuthLDAPGroupAttribute

+ + + + + + + + +
Description:L'attribut LDAP utilisé pour vérifier l'appartenance d'un +utilisateur à un groupe.
Syntaxe:AuthLDAPGroupAttribute attribut
Défaut:AuthLDAPGroupAttribute member uniqueMember
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Cette directive permet de spécifier quel attribut LDAP est + utilisé pour vérifier l'appartenance d'un utilisateur à un + groupe. On peut spécifier plusieurs attributs en répétant cette + directive plusieurs fois. Si la directive n'est pas définie, + mod_authnz_ldap utilise les attributs + member et uniqueMember.

+ +
+
top
+

Directive AuthLDAPGroupAttributeIsDN

+ + + + + + + + +
Description:Utilise le DN de l'utilisateur pour vérifier son +appartenance à un groupe
Syntaxe:AuthLDAPGroupAttributeIsDN on|off
Défaut:AuthLDAPGroupAttributeIsDN on
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Lorsqu'elle est définie à on, cette directive + indique que c'est le DN de l'utilisateur qui doit être utilisé pour + vérifier son appartenance à un groupe. Dans le cas contraire, c'est + le nom de l'utilisateur qui sera utilisé. Par exemple, supposons que + le client envoie le nom d'utilisateur bjenson, qui + correspond au DN LDAP cn=Babs Jenson,o=Example. Si la + directive est à on, mod_authnz_ldap va + vérifier si cn=Babs Jenson, o=Example est un membre du + groupe. Dans le cas contraire, mod_authnz_ldap + vérifiera si bjenson est un membre du groupe.

+ +
+
top
+

Directive AuthLDAPInitialBindAsUser

+ + + + + + + + + +
Description:Détermine si le serveur effectue la recherche initiale du +DN en utilisant le nom propre de l'utilisateur pour l'authentification +de base +et non de manière anonyme, ou en utilisant des données d'authentification +codées en dur pour le serveur
Syntaxe:AuthLDAPInitialBindAsUser off|on
Défaut:AuthLDAPInitialBindAsUser off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible depuis la version 2.3.6
+

Par défaut, le serveur convertit le nom d'utilisateur pour + l'authentification de base en nom distinctif LDAP (DN) soit de + manière anonyme, soit avec un couple nom/mot de passe dédié. Cette + directive permet de forcer le serveur à utiliser les véritables nom + d'utilisateur et mot de passe fournis par l'utilisateur pour + effectuer la recherche initiale du DN.

+ +

Si le nom d'utilisateur ne peut pas s'authentifier directement + et nécessite de légères modifications, voir la directive AuthLDAPInitialBindPattern.

+ +

Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive AuthLDAPBindDN. +

+ +

Non disponible dans la cas d'une autorisation seule

+ On ne peut utiliser cette directive que si ce module + effectue une authentification, et n'a aucun effet si ce module + n'est utilisé que pour les processus d'autorisation. +
+ +

Voir aussi

+ +
+
top
+

Directive AuthLDAPInitialBindPattern

+ + + + + + + + + +
Description:Spécifie la modification a apporter au nom d'utilisateur +pour l'authentification de base lors de l'authentification auprès du +serveur LDAP pour effectuer une recherche de DN
Syntaxe:AuthLDAPInitialBindPattern regex substitution
Défaut:AuthLDAPInitialBindPattern (.*) $1 (nom de l'utilisateur +distant utilisé tel quel)
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible depuis la version 2.3.6
+

Si la directive AuthLDAPInitialBindAsUser est + définie à ON, le nom utilisateur pour l'authentification de + base sera transformé selon l'expression rationnelle + regex et l'argument substitution spécifiés.

+ +

L'expression rationnelle est comparée au nom d'utilisateur pour + l'authentification de base courant. L'argument + substitution peut contenir des références arrières, mais + n'effectue aucune autre interpolation de variable.

+ +

Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive AuthLDAPBindDN. +

+ +
AuthLDAPInitialBindPattern (.+) $1@example.com
+ +
AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com
+ + +

Non disponible dans la cas d'une autorisation seule

+ On ne peut utiliser cette directive que si ce module + effectue une authentification, et n'a aucun effet si ce module + n'est utilisé que pour les processus d'autorisation. +
+

Débogage

+ Le DN de substitution est enregistré dans la variable + d'environnement LDAP_BINDASUSER. Si l'expression + rationnelle ne convient pas, le nom d'utilisateur est utilisé + tel quel. +
+ +

Voir aussi

+ +
+
top
+

Directive AuthLDAPMaxSubGroupDepth

+ + + + + + + + + +
Description:Spécifie la profondeur d'imbrication des sous-groupes +maximale prise en compte avant l'abandon de la recherche de +l'utilisateur.
Syntaxe:AuthLDAPMaxSubGroupDepth Nombre
Défaut:AuthLDAPMaxSubGroupDepth 10
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible à partir de la version 2.3.0 du serveur HTTP +Apache
+

Lorsque cette directive est définie à une valeur X + non nulle, en combinaison avec l'utilisation de la directive + Require ldap-group DN-groupe, les données de connexion + fournies seront utilisées pour vérifier l'appartenance de + l'utilisateur à l'objet de l'annuaire DN-groupe ou à + tout sous-groupe du groupe courant en tenant compte de la profondeur + d'imbrication maximale X spécifiée par la directive.

+

Se référer à la section Require + ldap-group pour un exemple plus détaillé.

+ +

Performances dans le cas des groupes imbriqués

+

Lorsque les directives + AuthLDAPSubGroupAttribute et + AuthLDAPGroupAttribute se recouvrent (comme + c'est le cas par défaut et requis par les schémas LDAP courants), la + recherche de sous-groupes au sein de grands groupes peut être très + longue. Si vos groupes sont très grands et non imbriqués, définissez + la directive AuthLDAPMaxSubGroupDepth à 0.

+
+ + +
+
top
+

Directive AuthLDAPRemoteUserAttribute

+ + + + + + + + +
Description:Spécifie l'attribut dont la valeur renvoyée au cours de la +requête de l'utilisateur sera utilisée pour définir la variable +d'environnement REMOTE_USER
Syntaxe:AuthLDAPRemoteUserAttribute uid
Défaut:none
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Lorsque cette directive est définie, la variable d'environnement + REMOTE_USER sera définie à la valeur de l'attribut spécifié. + Assurez-vous que cet attribut soit bien inclus dans la liste d'attributs + spécifiés dans la définition de AuthLDAPURL ; dans le cas contraire, + cette directive n'aurait aucun effet. Si elle est présente, cette directive + l'emporte sur AuthLDAPRemoteUserIsDN. Elle peut + s'avérer utile par exemple, si vous souhaitez que les utilisateurs se + connectent à un site web en utilisant leur adresse email, alors qu'une + application sous-jacente nécessite un nom d'utilisateur comme + identifiant.

+ +
+
top
+

Directive AuthLDAPRemoteUserIsDN

+ + + + + + + + +
Description:Utilise le DN de l'utilisateur pour définir la variable +d'environnement REMOTE_USER
Syntaxe:AuthLDAPRemoteUserIsDN on|off
Défaut:AuthLDAPRemoteUserIsDN off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
+

Lorsque cette directive est à on, la variable d'environnement + REMOTE_USER sera définie avec la valeur du DN complet + de l'utilisateur authentifié, et non plus avec simplement le nom + d'utilisateur fourni par le client. Elle est définie à off par + défaut.

+ +
+
top
+

Directive AuthLDAPSearchAsUser

+ + + + + + + + + +
Description:Utilise les données d'authentification de l'utilisateur +pour la recherche des autorisations
Syntaxe:AuthLDAPSearchAsUser on|off
Défaut:AuthLDAPSearchAsUser off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible depuis la version 2.3.6
+

Lorsque cette directive est définie, et si + mod_authnz_ldap a authentifié l'utilisateur, les + recherches LDAP pour définir les autorisations utilisent le nom + distinctif (DN) trouvé et le mot de passe pour l'authentification de + base HTTP de l'utilisateur authentifié, au lieu des données + d'authentification configurées au niveau du serveur.

+ +

Les vérifications d'autorisation ldap-filter et + ldap-dn utilisent des recherches.

+ +

Cette directive n'a d'effet sur les comparaisons effectuées au + cours des traitements de groupe imbriqués, et lorsque la directive + AuthLDAPCompareAsUser + est aussi activée.

+ +

Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive AuthLDAPBindDN. +

+ + +

Voir aussi

+ +
+
top
+

Directive AuthLDAPSubGroupAttribute

+ + + + + + + + + +
Description:Spécifie les noms d'attribut, un par directive, utilisés +pour différencier les membres du groupe courant qui sont eux-mêmes des +groupes.
Syntaxe:AuthLDAPSubGroupAttribute attribut
Défaut:AuthLDAPSubgroupAttribute member uniqueMember
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible à partir de la version 2.3.0 du serveur HTTP +Apache
+

Un objet groupe LDAP peut contenir des membres qui sont des + utilisateurs et des membres qui sont eux-mêmes des groupes (appelés + sous-groupes ou groupes imbriqués). La directive + AuthLDAPSubGroupAttribute spécifie l'attribut utilisé + pour identifier les groupes, alors que la directive + AuthLDAPGroupAttribute + spécifie l'attribut utilisé pour identifier les utilisateurs. On peut + spécifier plusieurs attributs en répétant la directive plusieurs fois. Si + elle n'est pas définie, mod_authnz_ldap utilise les + attributs member et uniqueMember.

+ +
+
top
+

Directive AuthLDAPSubGroupClass

+ + + + + + + + + +
Description:Spécifie quelles valeurs d'objectClass LDAP identifient les +objets de l'annuaire qui sont des groupes au cours du traitement des +sous-groupes.
Syntaxe:AuthLDAPSubGroupClass ObjectClass-LDAP
Défaut:AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap
Compatibilité:Disponible à partir de la version 2.3.0 du serveur HTTP +Apache
+

Un objet groupe LDAP peut contenir des membres qui sont des + utilisateurs et des membres qui sont eux-mêmes des groupes (appelés + sous-groupes ou groupes imbriqués). La directive + AuthLDAPSubGroupAttribute + permet d'identifier les + membres qui sont des sous-groupes du groupe courant (à l'opposé des + membres utilisateurs). La directive + AuthLDAPSubGroupClass permet de spécifier les valeurs + d'objectClass LDAP utilisées pour vérifier que certains membres sont + en fait des objets groupe. Les sous-groupes ainsi identifiés peuvent + alors faire l'objet d'une recherche d'autres membres utilisateurs ou + sous-groupes. On peut spécifier plusieurs attributs en répétant + cette directive plusieurs fois. Si cette directive n'est pas + définie, mod_authnz_ldap utilise les attributs + groupOfNames et groupOfUniqueNames.

+ +
+
top
+

Directive AuthLDAPURL

+ + + + + + + +
Description:URL specifying the LDAP search parameters
Syntaxe:AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authnz_ldap

La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_core.html b/docs/manual/mod/mod_authz_core.html new file mode 100644 index 0000000..1d707a8 --- /dev/null +++ b/docs/manual/mod/mod_authz_core.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_core.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_core.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authz_core.html.en b/docs/manual/mod/mod_authz_core.html.en new file mode 100644 index 0000000..c3358a7 --- /dev/null +++ b/docs/manual/mod/mod_authz_core.html.en @@ -0,0 +1,689 @@ + + + + + +mod_authz_core - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authz_core

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Core Authorization
Status:Base
Module Identifier:authz_core_module
Source File:mod_authz_core.c
Compatibility:Available in Apache HTTPD 2.3 and later
+

Summary

+ +

This module provides core authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site. mod_authz_core provides the + functionality to register various authorization providers. It is + usually used in conjunction with an authentication + provider module such as mod_authn_file and an + authorization module such as mod_authz_user. It + also allows for advanced logic to be applied to the + authorization processing.

+
+ +
top
+
+

Authorization Containers

+ +

The authorization container directives + <RequireAll>, + <RequireAny> + and + <RequireNone> + may be combined with each other and with the + Require + directive to express complex authorization logic.

+ +

The example below expresses the following authorization logic. + In order to access the resource, the user must either be the + superadmin user, or belong to both the + admins group and the Administrators LDAP + group and either belong to the sales group or + have the LDAP dept attribute sales. + Furthermore, in order to access the resource, the user must + not belong to either the temps group or the + LDAP group Temporary Employees.

+ +
<Directory "/www/mydocs">
+    <RequireAll>
+        <RequireAny>
+            Require user superadmin
+            <RequireAll>
+                Require group admins
+                Require ldap-group "cn=Administrators,o=Airius"
+                <RequireAny>
+                    Require group sales
+                    Require ldap-attribute dept="sales"
+                </RequireAny>
+            </RequireAll>
+        </RequireAny>
+        <RequireNone>
+            Require group temps
+            Require ldap-group "cn=Temporary Employees,o=Airius"
+        </RequireNone>
+    </RequireAll>
+</Directory>
+ +
top
+
+

The Require Directives

+ +

mod_authz_core provides some generic authorization + providers which can be used with the + Require directive.

+ +

Require env

+ +

The env provider allows access to the server + to be controlled based on the existence of an environment variable. When Require + env env-variable is specified, then the request is + allowed access if the environment variable env-variable + exists. The server provides the ability to set environment + variables in a flexible way based on characteristics of the client + request using the directives provided by + mod_setenvif. Therefore, this directive can be + used to allow access based on such factors as the clients + User-Agent (browser type), Referer, or + other HTTP request header fields.

+ +
SetEnvIf User-Agent "^KnockKnock/2\.0" let_me_in
+<Directory "/docroot">
+    Require env let_me_in
+</Directory>
+ + +

In this case, browsers with a user-agent string beginning + with KnockKnock/2.0 will be allowed access, and all + others will be denied.

+ +

When the server looks up a path via an internal + subrequest such as looking + for a DirectoryIndex + or generating a directory listing with mod_autoindex, + per-request environment variables are not inherited in the + subrequest. Additionally, + SetEnvIf directives + are not separately evaluated in the subrequest due to the API phases + mod_setenvif takes action in.

+ + + +

Require all

+ +

The all provider mimics the functionality that + was previously provided by the 'Allow from all' and 'Deny from all' + directives. This provider can take one of two arguments which are + 'granted' or 'denied'. The following examples will grant or deny + access to all requests.

+ +
Require all granted
+ + +
Require all denied
+ + + + +

Require method

+ +

The method provider allows using the HTTP method in + authorization decisions. The GET and HEAD methods are treated as + equivalent. The TRACE method is not available to this provider, + use TraceEnable instead.

+ +

The following example will only allow GET, HEAD, POST, and OPTIONS + requests:

+ +
Require method GET POST OPTIONS
+ + +

The following example will allow GET, HEAD, POST, and OPTIONS + requests without authentication, and require a valid user for all other + methods:

+ +
<RequireAny>
+     Require method GET POST OPTIONS
+     Require valid-user
+</RequireAny>
+ + + + +

Require expr

+ +

The expr provider allows basing authorization + decisions on arbitrary expressions.

+ +
Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17"
+ + +
<RequireAll>
+    Require expr "!(%{QUERY_STRING} =~ /secret/)"
+    Require expr "%{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"
+</RequireAll>
+ + +
Require expr "!(%{QUERY_STRING} =~ /secret/) && %{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"
+ + +

The syntax is described in the ap_expr + documentation. Before httpd 2.4.16, the surrounding double-quotes MUST be + omitted.

+ +

Normally, the expression is evaluated before authentication. However, if + the expression returns false and references the variable + %{REMOTE_USER}, authentication will be performed and + the expression will be re-evaluated.

+ + + + +
top
+
+

Creating Authorization Provider Aliases

+ +

Extended authorization providers can be created within the configuration + file and assigned an alias name. The alias providers can then be referenced + through the Require directive + in the same way as a base authorization provider. Besides the ability to + create and alias an extended provider, it also allows the same extended + authorization provider to be referenced by multiple locations. +

+ +

Example

+

The example below creates two different ldap authorization provider + aliases based on the ldap-group authorization provider. This example + allows a single authorization location to check group membership within + multiple ldap hosts: +

+ +
<AuthzProviderAlias ldap-group ldap-group-alias1 "cn=my-group,o=ctx">
+    AuthLDAPBindDN "cn=youruser,o=ctx"
+    AuthLDAPBindPassword yourpassword
+    AuthLDAPUrl "ldap://ldap.host/o=ctx"
+</AuthzProviderAlias>
+
+<AuthzProviderAlias ldap-group ldap-group-alias2 "cn=my-other-group,o=dev">
+    AuthLDAPBindDN "cn=yourotheruser,o=dev"
+    AuthLDAPBindPassword yourotherpassword
+    AuthLDAPUrl "ldap://other.ldap.host/o=dev?cn"
+</AuthzProviderAlias>
+
+Alias "/secure" "/webpages/secure"
+<Directory "/webpages/secure">
+    Require all granted
+
+    AuthBasicProvider file
+
+    AuthType Basic
+    AuthName LDAP_Protected_Place
+
+    #implied OR operation
+    Require ldap-group-alias1
+    Require ldap-group-alias2
+</Directory>
+ + + +
+
top
+

AuthMerging Directive

+ + + + + + + + +
Description:Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
Syntax:AuthMerging Off | And | Or
Default:AuthMerging Off
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authz_core
+

When authorization is enabled, it is normally inherited by each + subsequent configuration section, + unless a different set of authorization directives is specified. + This is the default action, which corresponds to an explicit setting + of AuthMerging Off.

+ +

However, there may be circumstances in which it is desirable + for a configuration section's authorization to be combined with + that of its predecessor while configuration sections are being + merged. Two options are available for this case, And + and Or.

+ +

When a configuration section contains AuthMerging And + or AuthMerging Or, + its authorization logic is combined with that of the nearest + predecessor (according to the overall order of configuration sections) + which also contains authorization logic as if the two sections + were jointly contained within a + <RequireAll> or + <RequireAny> + directive, respectively.

+ +
The setting of AuthMerging is not + inherited outside of the configuration section in which it appears. + In the following example, only users belonging to group alpha + may access /www/docs. Users belonging to either + groups alpha or beta may access + /www/docs/ab. However, the default Off + setting of AuthMerging applies to the + <Directory> + configuration section for /www/docs/ab/gamma, so + that section's authorization directives override those of the + preceding sections. Thus only users belong to the group + gamma may access /www/docs/ab/gamma.
+ +
<Directory "/www/docs">
+    AuthType Basic
+    AuthName Documents
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    Require group alpha
+</Directory>
+
+<Directory "/www/docs/ab">
+    AuthMerging Or
+    Require group beta
+</Directory>
+
+<Directory "/www/docs/ab/gamma">
+    Require group gamma
+</Directory>
+ + +
+
top
+

<AuthzProviderAlias> Directive

+ + + + + + +
Description:Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
Syntax:<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +
Context:server config
Status:Base
Module:mod_authz_core
+

<AuthzProviderAlias> and + </AuthzProviderAlias> are used to enclose a group of + authorization directives that can be referenced by the alias name using the + directive Require.

+ +

If several parameters are needed in Require-Parameters, + they must be enclosed in quotation marks. Otherwise, only the first one + is taken into account.

+ +
# In this example, for both addresses to be taken into account, they MUST be enclosed
+# between quotation marks
+<AuthzProviderAlias ip reject-ips "XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY">
+</AuthzProviderAlias>
+
+<Directory "/path/to/dir">
+    <RequireAll>
+        Require not reject-ips
+        Require all granted
+    </RequireAll>
+</Directory>
+ + +
+
top
+

AuthzSendForbiddenOnFailure Directive

+ + + + + + + + +
Description:Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
Syntax:AuthzSendForbiddenOnFailure On|Off
Default:AuthzSendForbiddenOnFailure Off
Context:directory, .htaccess
Status:Base
Module:mod_authz_core
Compatibility:Available in Apache HTTPD 2.3.11 and later
+

If authentication succeeds but authorization fails, Apache HTTPD will + respond with an HTTP response code of '401 UNAUTHORIZED' by default. This + usually causes browsers to display the password dialogue to the user + again, which is not wanted in all situations. + AuthzSendForbiddenOnFailure allows to change the + response code to '403 FORBIDDEN'.

+ +

Security Warning

+

Modifying the response in case of missing authorization weakens the + security of the password, because it reveals to a possible attacker, that + his guessed password was right.

+
+ +
+
top
+

Require Directive

+ + + + + + + +
Description:Tests whether an authenticated user is authorized by +an authorization provider.
Syntax:Require [not] entity-name + [entity-name] ...
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authz_core
+

This directive tests whether an authenticated user is authorized + according to a particular authorization provider and the specified + restrictions. mod_authz_core provides the following + generic authorization providers:

+ +
+
Require all granted
+
Access is allowed unconditionally.
+ +
Require all denied
+
Access is denied unconditionally.
+ +
Require env env-var [env-var] + ...
+
Access is allowed only if one of the given environment variables is + set.
+ +
Require method http-method [http-method] + ...
+
Access is allowed only for the given HTTP methods.
+ +
Require expr expression
+
Access is allowed if expression evaluates to true.
+
+ +

Some of the allowed syntaxes provided by mod_authz_user, + mod_authz_host, + and mod_authz_groupfile are:

+ +
+
Require user userid [userid] + ...
+
Only the named users can access the resource.
+ +
Require group group-name [group-name] + ...
+
Only users in the named groups can access the resource.
+ +
Require valid-user
+
All valid users can access the resource.
+ +
Require ip 10 172.20 192.168.2
+
Clients in the specified IP address ranges can access the + resource.
+ +
Require forward-dns dynamic.example.org
+
A client the IP of which is resolved from the name dynamic.example.org will be granted access. +
+ +
+ +

Other authorization modules that implement require options + include mod_authnz_ldap, + mod_authz_dbm, mod_authz_dbd, + mod_authz_owner and mod_ssl.

+ +

In most cases, for a complete authentication and authorization + configuration, Require must be accompanied by + AuthName, AuthType and + AuthBasicProvider or + AuthDigestProvider + directives, and directives such as + AuthUserFile + and AuthGroupFile (to + define users and groups) in order to work correctly. Example:

+ +
AuthType Basic
+AuthName "Restricted Resource"
+AuthBasicProvider file
+AuthUserFile "/web/users"
+AuthGroupFile "/web/groups"
+Require group admin
+ + +

Access controls which are applied in this way are effective for + all methods. This is what is normally + desired. If you wish to apply access controls only to + specific methods, while leaving other methods unprotected, then + place the Require statement into a + <Limit> + section.

+ +

The result of the Require directive + may be negated through the use of the + not option. As with the other negated authorization + directive <RequireNone>, + when the Require directive is negated it can + only fail or return a neutral result, and therefore may never + independently authorize a request.

+ +

In the following example, all users in the alpha + and beta groups are authorized, except for those who + are also in the reject group.

+ +
<Directory "/www/docs">
+    <RequireAll>
+        Require group alpha beta
+        Require not group reject
+    </RequireAll>
+</Directory>
+ + +

When multiple Require directives are + used in a single + configuration section + and are not contained in another authorization directive like + <RequireAll>, + they are implicitly contained within a + <RequireAny> + directive. Thus the first one to authorize a user authorizes the + entire request, and subsequent Require directives + are ignored.

+ +

Security Warning

+

Exercise caution when setting authorization directives in + Location sections + that overlap with content served out of the filesystem. + By default, these configuration sections overwrite authorization configuration + in Directory, + and Files sections.

+

The AuthMerging directive + can be used to control how authorization configuration sections are + merged.

+
+ +

See also

+ +
+
top
+

<RequireAll> Directive

+ + + + + + + +
Description:Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
Syntax:<RequireAll> ... </RequireAll>
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authz_core
+

<RequireAll> and + </RequireAll> are used to enclose a group of + authorization directives of which none must fail and at least one + must succeed in order for + the <RequireAll> directive to + succeed.

+ +

If none of the directives contained within the + <RequireAll> directive fails, + and at least one succeeds, then the + <RequireAll> directive + succeeds. If none succeed and none fail, then it returns a + neutral result. In all other cases, it fails.

+ +

See also

+ +
+
top
+

<RequireAny> Directive

+ + + + + + + +
Description:Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
Syntax:<RequireAny> ... </RequireAny>
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authz_core
+

<RequireAny> and + </RequireAny> are used to enclose a group of + authorization directives of which one must succeed in order for + the <RequireAny> directive to + succeed.

+ +

If one or more of the directives contained within the + <RequireAny> directive succeed, + then the <RequireAny> directive + succeeds. If none succeed and none fail, then it returns a + neutral result. In all other cases, it fails.

+ +
Because negated authorization directives are unable to + return a successful result, they can not significantly influence + the result of a <RequireAny> + directive. (At most they could cause the directive to fail in + the case where they failed and all other directives returned a + neutral value.) Therefore negated authorization directives + are not permitted within a <RequireAny> + directive.
+ +

See also

+ +
+
top
+

<RequireNone> Directive

+ + + + + + + +
Description:Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
Syntax:<RequireNone> ... </RequireNone>
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authz_core
+

<RequireNone> and + </RequireNone> are used to enclose a group of + authorization directives of which none must succeed + in order for the + <RequireNone> directive to + not fail.

+ +

If one or more of the directives contained within the + <RequireNone> directive succeed, + then the <RequireNone> directive + fails. In all other cases, it returns a neutral result. Thus as with + the other negated authorization directive Require not, + it can never independently + authorize a request because it can never return a successful result. + It can be used, however, to restrict the set of users who are + authorized to access a resource.

+ +
Because negated authorization directives are unable to + return a successful result, they can not significantly influence + the result of a <RequireNone> + directive. Therefore negated authorization directives + are not permitted within a + <RequireNone> directive.
+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_core.html.fr.utf8 b/docs/manual/mod/mod_authz_core.html.fr.utf8 new file mode 100644 index 0000000..2dd0043 --- /dev/null +++ b/docs/manual/mod/mod_authz_core.html.fr.utf8 @@ -0,0 +1,697 @@ + + + + + +mod_authz_core - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authz_core

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Autorisation basique
Statut:Base
Identificateur de Module:authz_core_module
Fichier Source:mod_authz_core.c
Compatibilité:Disponible depuis la version 2.3 +d'Apache HTTPD
+

Sommaire

+ +

Ce module fournit des fonctionnalités d'autorisation basiques + permettant d'accorder ou refuser l'accès à certaines zones du site + web aux utilisateurs authentifiés. mod_authz_core + donne la possibilité d'enregistrer divers fournisseurs + d'autorisation. Il est en général utilisé avec un module fournisseur + d'authentification comme mod_authn_file, et un + module d'autorisation comme mod_authz_user. Il + permet aussi l'application d'une logique élaborée au déroulement du + processus d'autorisation.

+
+ +
top
+
+

Conteneurs d'autorisation

+ +

Les directives de conteneur d'autorisation <RequireAll>, + <RequireAny> et <RequireNone> + peuvent être combinées entre elles et avec la directive Require pour confectionner une + logique d'autorisation complexe.

+ +

L'exemple ci-dessous illustre la logique d'autorisation suivante. + Pour pouvoir accéder à la ressource, l'utilisateur doit être + l'utilisateur superadmin, ou appartenir aux deux + groupes LDAP admins et Administrateurs et + soit appartenir au groupe ventes ou avoir + ventes comme valeur de l'attribut LDAP + dept. De plus, pour pouvoir accéder à la ressource, + l'utilisateur ne doit appartenir ni au groupe temps, ni + au groupe LDAP Employés temporaires.

+ +
<Directory "/www/mydocs">
+    <RequireAll>
+        <RequireAny>
+            Require user superadmin
+            <RequireAll>
+            Require group admins
+            Require ldap-group "cn=Administrators,o=Airius"
+                <RequireAny>
+                Require group sales
+                Require ldap-attribute dept="sales"
+                </RequireAny>
+            </RequireAll>
+        </RequireAny>
+        <RequireNone>
+            Require group temps
+            Require ldap-group "cn=Temporary Employees,o=Airius"
+        </RequireNone>
+    </RequireAll>
+</Directory>
+ +
top
+
+

Les directives Require

+ +

Le module mod_authz_core met à disposition des + fournisseurs d'autorisation génériques utilisables avec la directive + Require.

+ +

Require env

+ +

Le fournisseur env permet de contrôler l'accès au + serveur en fonction de l'existence d'une variable d'environnement. Lorsque Require + env env-variable est spécifié, la requête se voit + autoriser l'accès si la variable d'environnement + env-variable existe. Le serveur permet de définir + facilement des variables d'environnement en fonction des + caractéristiques de la requête du client via les directives fournies + par le module mod_setenvif. Cette directive Require + env permet donc de contrôler l'accès en fonction des + valeurs des en-têtes de la requête HTTP tels que + User-Agent (type de navigateur), Referer, + entre autres.

+ +
SetEnvIf User-Agent "^KnockKnock/2\.0" let_me_in
+<Directory "/docroot">
+    Require env let_me_in
+</Directory>
+ + +

Avec cet exemple, les navigateurs dont la chaîne user-agent + commence par KnockKnock/2.0 se verront autoriser + l'accès, alors que tous les autres seront rejetés.

+ +

Lorsque le serveur cherche un chemin via une sous-requête interne (par exemple la + recherche d'un DirectoryIndex), ou lorsqu'il génère un + listing du contenu d'un répertoire via le module + mod_autoindex, la sous-requête n'hérite pas des + variables d'environnement spécifiques à la requête. En outre, à cause + des phases de l'API auxquelles mod_setenvif prend + part, les directives SetEnvIf ne sont pas évaluées + séparément dans la sous-requête.

+ + + +

Require all

+ +

Le fournisseur all reproduit la fonctionnalité + précédemment fournie par les directives 'Allow from all' et 'Deny + from all'. Il accepte un argument dont les deux valeurs possibles + sont : 'granted' ou 'denied'. Les exemples suivants autorisent ou + interdisent l'accès à toutes les requêtes.

+ +
Require all granted
+ + +
Require all denied
+ + + + +

Require method

+ +

Le fournisseur method permet d'utiliser la méthode + HTTP dans le processus d'autorisation. Les méthodes GET et HEAD sont + ici considérées comme équivalentes. La méthode TRACE n'est pas + supportée par ce fournisseur ; utilisez à la place la directive + TraceEnable.

+ +

Dans l'exemple suivant, seules les méthodes GET, HEAD, POST, et + OPTIONS sont autorisées :

+ +
Require method GET POST OPTIONS
+ + +

Dans l'exemple suivant, les méthodes GET, HEAD, POST, et OPTIONS + sont autorisées sans authentification, alors que toutes les autres + méthodes nécessitent un utilisateur valide :

+ +
<RequireAny>
+     Require method GET POST OPTIONS
+     Require valid-user
+</RequireAny>
+ + + +

Require expr

+ +

Le fournisseur expr permet d'accorder l'autorisation + d'accès de base en fonction d'expressions arbitraires.

+ +
Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17"
+ + +
<RequireAll>
+    Require expr "!(%{QUERY_STRING} =~ /secret/)"
+    Require expr "%{REQUEST_URI} in { '/example.cgi', '/other.cgi' }" 
+</RequireAll>
+ + +
Require expr "!(%{QUERY_STRING} =~ /secret/) && %{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"
+ + +

La syntaxe de l'expression est décrite dans la documentation de ap_expr. Avant la version 2.4.16, les doubles-quotes + étaient prohibées

+ +

Normalement, l'expression est évaluée avant l'authentification. + Cependant, si l'expression renvoie false et se réfère à la variable + %{REMOTE_USER}, le processus d'authentification sera + engagé et l'expression réévaluée.

+ + + +
top
+
+

Création des alias du fournisseur +d'autorisation

+ +

Il est possible de créer des fournisseurs d'autorisation étendus + dans le fichier de configuration et de leur assigner un nom d'alias. + On peut ensuite utiliser ces fournisseurs aliasés dans une + directive Require de + la même manière qu'on le ferait pour des fournisseurs d'autorisation + de base. En plus de la possibilité de créer et d'aliaser un + fournisseur étendu, le même fournisseur d'autorisation étendu peut + être référencé par plusieurs localisations. +

+ +

Exemple

+

Dans l'exemple suivant, on crée deux alias de fournisseur + d'autorisation ldap différents basés sur le fournisseur + d'autorisation ldap-group. Il est ainsi possible pour un seul + répertoire de vérifier l'appartenance à un groupe dans plusieurs + serveurs ldap : +

+ +
<AuthzProviderAlias ldap-group ldap-group-alias1 "cn=my-group,o=ctx">
+    AuthLDAPBindDN "cn=youruser,o=ctx"
+    AuthLDAPBindPassword yourpassword
+    AuthLDAPURL "ldap://ldap.host/o=ctx"
+</AuthzProviderAlias>
+
+<AuthzProviderAlias ldap-group ldap-group-alias2 "cn=my-other-group,o=dev">
+    AuthLDAPBindDN "cn=yourotheruser,o=dev"
+    AuthLDAPBindPassword yourotherpassword
+    AuthLDAPURL "ldap://other.ldap.host/o=dev?cn"
+</AuthzProviderAlias>
+
+Alias "/secure" "/webpages/secure"
+<Directory "/webpages/secure">
+    Require all granted
+    
+    AuthBasicProvider file
+    
+    AuthType Basic
+    AuthName LDAP_Protected_Place
+    
+    #implied OR operation
+    Require ldap-group-alias1
+    Require ldap-group-alias2
+</Directory>
+ + + +
+
top
+

Directive AuthMerging

+ + + + + + + + +
Description:Définit la manière dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration précédentes.
Syntaxe:AuthMerging Off | And | Or
Défaut:AuthMerging Off
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authz_core
+

Lorsque l'autorisation est activée, elle est normalement héritée + par chaque section de + configuration suivante, à moins qu'un jeu de directives + d'autorisations différent ne soit spécifié. Il s'agit du + comportement par défaut, qui correspond à la définition explicite + AuthMerging Off.

+ +

Dans certaines situations cependant, il peut être souhaitable de + combiner la logique d'autorisation d'une section de configuration + avec celle de la section précédente lorsque les sections de + configuration se combinent entre elles. Dans ce cas, deux options + sont disponibles, And et Or.

+ +

Lorsqu'une section de configuration contient AuthMerging + And ou AuthMerging Or, sa logique d'autorisation + se combine avec celle de la section de configuration qui la précède + (selon l'ordre général des sections de configuration), et qui + contient aussi une logique d'autorisation, comme si les deux + sections étaient concaténées respectivement dans une directive + <RequireAll> ou <RequireAny>.

+ +
La définition de la directive + AuthMerging ne concerne que la section de + configuration dans laquelle elle apparaît. Dans l'exemple suivant, + seuls les utilisateurs appartenant au groupe alpha sont + autorisés à accéder à /www/docs. Les utilisateurs + appartenant au groupe alpha ou au groupe + beta sont autorisés à accéder à + /www/docs/ab. Cependant, la définition implicite à + Off de la directive AuthMerging + s'applique à la section de configuration <Directory> concernant le répertoire + /www/docs/ab/gamma, ce qui implique que les directives + d'autorisation de cette section l'emportent sur celles des sections + précédentes. Par voie de conséquence, seuls les utilisateurs + appartenant au groupe gamma sont autorisés à accéder à + /www/docs/ab/gamma.
+ +
<Directory "/www/docs">
+    AuthType Basic
+    AuthName Documents
+    AuthBasicProvider file
+    AuthUserFile "/usr/local/apache/passwd/passwords"
+    Require group alpha
+</Directory>
+
+<Directory "/www/docs/ab">
+    AuthMerging Or
+    Require group beta
+</Directory>
+
+<Directory "/www/docs/ab/gamma">
+    Require group gamma
+</Directory>
+ + +
+
top
+

Directive <AuthzProviderAlias>

+ + + + + + +
Description:Regroupe des directives représentant une extension d'un +fournisseur d'autorisation de base qui pourra être référencée à l'aide +de l'alias spécifié
Syntaxe:<AuthzProviderAlias fournisseur-de-base Alias +Paramètres-Require> +... </AuthzProviderAlias> +
Contexte:configuration globale
Statut:Base
Module:mod_authz_core
+

Les balises <AuthzProviderAlias> et + </AuthzProviderAlias> permettent de regrouper des + directives d'autorisation auxquelles on pourra faire référence à + l'aide de l'alias spécifié dans une directive Require.

+ +

Si Require-Parameters comporte plusieurs paramètres, la liste + de ces derniers doit être entourée de guillemets. Dans le cas contraire, + seul le premier paramètre de la liste sera pris en compte.

+ +
# Dans cet exemple, pour que les deux adresses IP soient prises en compte, elles
+# DOIVENT être entourées de guillemets
+<AuthzProviderAlias ip reject-ips "XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY">
+</AuthzProviderAlias>
+
+<Directory "/path/to/dir">
+    <RequireAll>
+        Require not reject-ips
+        Require all granted
+    </RequireAll>
+</Directory>
+ + +
+
top
+

Directive AuthzSendForbiddenOnFailure

+ + + + + + + + +
Description:Envoie '403 FORBIDDEN' au lieu de '401 UNAUTHORIZED' si +l'authentification réussit et si l'autorisation a été refusée. +
Syntaxe:AuthzSendForbiddenOnFailure On|Off
Défaut:AuthzSendForbiddenOnFailure Off
Contexte:répertoire, .htaccess
Statut:Base
Module:mod_authz_core
Compatibilité:Disponible depuis la version 2.3.11 d'Apache HTTPD
+

Par défaut, si l'authentification réussit, alors que + l'autorisation est refusée, Apache HTTPD renvoie un code de réponse + HTTP '401 UNAUTHORIZED'. En général, les navigateurs proposent alors + une nouvelle fois à l'utilisateur la boîte de dialogue de saisie du + mot de passe, ce qui n'est pas toujours souhaitable. La directive + AuthzSendForbiddenOnFailure permet de changer + le code de réponse en '403 FORBIDDEN'.

+ +

Avertissement de sécurité

+

La modification de la réponse en cas de refus d'autorisation + diminue la sécurité du mot de passe, car elle indique à un éventuel + attaquant que le mot de passe qu'il a saisi était correct.

+
+ +
+
top
+

Directive Require

+ + + + + + + +
Description:Vérifie si un utilisateur authentifié a une +autorisation d'accès accordée par un fournisseur +d'autorisation.
Syntaxe:Require [not] nom-entité [nom-entité] +...
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authz_core
+

Cette directive permet de vérifier si un utilisateur authentifié + a l'autorisation d'accès accordée pour un certain fournisseur + d'autorisation et en tenant compte de certaines restrictions. + mod_authz_core met à disposition les fournisseurs + d'autorisation génériques suivants :

+ +
+
Require all granted
+
L'accès est autorisé sans restriction.
+ +
Require all denied
+
L'accès est systématiquement refusé.
+ +
Require env env-var [env-var] + ...
+
L'accès n'est autorisé que si l'une au moins des variables + d'environnement spécifiées est définie.
+ +
Require method http-method [http-method] + ...
+
L'accès n'est autorisé que pour les méthodes HTTP spécifiées.
+ +
Require expr expression
+
L'accès est autorisé si expression est évalué à + vrai.
+
+ +

Voici quelques exemples de syntaxes autorisées par + mod_authz_user, mod_authz_host et + mod_authz_groupfile :

+ +
+
Require user identifiant utilisateur + [identifiant utilisateur] + ...
+
Seuls les utilisateurs spécifiés auront accès à la + ressource.
+ +
Require group nom groupe [nom + groupe] + ...
+
Seuls les utilisateurs appartenant aux groupes spécifiés + auront accès à la ressource.
+ +
Require valid-user
+
Tous les utilisateurs valides auront accès à la + ressource.
+ +
Require ip 10 172.20 192.168.2
+
Les clients dont les adresses IP font partie des tranches + spécifiées auront accès à la ressource.
+ +
Require forward-dns dynamic.example.org
+
Un client dont l'adresse IP est résolue à partir du nom + dynamic.example.org aura l'autorisation d'accès. +
+ +
+ +

D'autres modules d'autorisation comme + mod_authnz_ldap, mod_authz_dbm, + mod_authz_dbd, + mod_authz_owner et mod_ssl + implémentent des options de la directive Require.

+ +

Pour qu'une configuration d'authentification et d'autorisation + fonctionne correctement, la directive Require + doit être accompagnée dans la plupart des cas de directives AuthName, AuthType et AuthBasicProvider ou AuthDigestProvider, ainsi que + de directives telles que AuthUserFile et AuthGroupFile (pour la + définition des utilisateurs et des groupes). Exemple :

+ +
AuthType Basic
+AuthName "Restricted Resource"
+AuthBasicProvider file
+AuthUserFile "/web/users"
+AuthGroupFile "/web/groups"
+Require group admin
+ + +

Les contrôles d'accès appliqués de cette manière sont effectifs + pour toutes les méthodes. C'est d'ailleurs + ce que l'on souhaite en général. Si vous voulez n'appliquer + les contrôles d'accès qu'à certaines méthodes, tout en laissant les + autres méthodes sans protection, placez la directive + Require dans une section <Limit>.

+ +

Le résultat de la directive Require peut + être inversé en utilisant l'option not. Comme dans le + cas de l'autre directive d'autorisation inversée <RequireNone>, si la directive + Require est inversée, elle ne peut qu'échouer + ou produire un résultat neutre ; elle ne peut donc alors pas + autoriser une requête de manière indépendante.

+ +

Dans l'exemple suivant, tous les utilisateurs appartenant aux + groupes alpha et beta ont l'autorisation + d'accès, à l'exception de ceux appartenant au groupe + reject.

+ +
<Directory "/www/docs">
+    <RequireAll>
+        Require group alpha beta
+        Require not group reject
+    </RequireAll>
+</Directory>
+ + +

Lorsque plusieurs directives Require sont + placées dans une même section de + configuration, et ne se trouvent pas dans une autre directive + d'autorisation comme <RequireAll>, elles sont implicitement + contenues dans une directive <RequireAny>. Ainsi, la première directive + Require qui autorise l'accès à un utilisateur + autorise l'accès pour l'ensemble de la requête, et les directives + Require suivantes sont ignorées.

+ +

Avertissement à propos de la sécurité

+

Prettez une attention particulière aux directives d'autorisation + définies + au sein des sections Location + qui se chevauchent avec des contenus servis depuis le système de + fichiers. Par défaut, les configurations définies dans ces sections l'emportent sur les + configurations d'autorisations définies au sein des sections + Directory et Files sections.

+

La directive AuthMerging permet de contrôler + la manière selon laquelle les configurations d'autorisations sont + fusionnées au sein des sections précitées.

+
+ +

Voir aussi

+ +
+
top
+

Directive <RequireAll>

+ + + + + + + +
Description:Regroupe plusieurs directives d'autorisation dont aucune ne +doit échouer et dont au moins une doit retourner un résultat positif +pour que la directive globale retourne elle-même un résultat +positif.
Syntaxe:<RequireAll> ... </RequireAll>
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authz_core
+

Les balises <RequireAll> et + </RequireAll> permettent de regrouper des + directives d'autorisation dont aucune ne doit échouer, et dont au + moins une doit retourner un résultat positif pour que la directive + <RequireAll> retourne elle-même + un résultat positif.

+ +

Si aucune des directives contenues dans la directive <RequireAll> n'échoue, et si au moins une + retourne un résultat positif, alors la directive <RequireAll> retourne elle-même un résultat + positif. Si aucune ne retourne un résultat positif, et si aucune + n'échoue, la directive globale retourne un résultat neutre. Dans + tous les autres cas, elle échoue.

+ +

Voir aussi

+ +
+
top
+

Directive <RequireAny>

+ + + + + + + +
Description:Regroupe des directives d'autorisation dont au moins une +doit retourner un résultat positif pour que la directive globale +retourne elle-même un résultat positif.
Syntaxe:<RequireAny> ... </RequireAny>
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authz_core
+

Les balises <RequireAny> et + </RequireAny> permettent de regrouper des + directives d'autorisation dont au moins une doit retourner un + résultat positif pour que la directive <RequireAny> retourne elle-même un résultat + positif.

+ +

Si une ou plusieurs directives contenues dans la directive + <RequireAny> retournent un + résultat positif, alors la directive <RequireAny> retourne elle-même un résultat + positif. Si aucune ne retourne un résultat positif et aucune + n'échoue, la directive globale retourne un résultat neutre. Dans + tous les autres cas, elle échoue.

+ +
Comme les directives d'autorisation inversées sont incapables + de retourner un résultat positif, elles ne peuvent pas impacter de + manière significative le résultat d'une directive <RequireAny> (elles pourraient tout au plus + faire échouer la directive dans le cas où elles échoueraient + elles-mêmes, et où + toutes les autres directives retourneraient un résultat neutre). + C'est pourquoi il n'est pas permis d'utiliser les directives + d'autorisation inversées dans une directive <RequireAny>.
+ +

Voir aussi

+ +
+
top
+

Directive <RequireNone>

+ + + + + + + +
Description:Regroupe des directives d'autorisation dont aucune ne doit +retourner un résultat positif pour que la directive globale n'échoue +pas.
Syntaxe:<RequireNone> ... </RequireNone>
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authz_core
+

Les balises <RequireNone> et + </RequireNone> permettent de regrouper des + directives d'autorisation dont aucune ne doit retourner un résultat + positif pour que la directive <RequireNone> n'échoue pas.

+ +

Si une ou plusieurs directives contenues dans la directive + <RequireNone> retournent un + résultat positif, la directive <RequireNone> échouera. Dans tous les + autres cas, cette dernière retournera un résultat neutre. Ainsi, + comme pour la directive d'autorisation inversée Require + not, elle ne peut jamais autoriser une requête de manière + indépendante car elle ne pourra jamais retourner un résultat + positif. Par contre, on peut l'utiliser pour restreindre l'ensemble + des utilisateurs autorisés à accéder à une ressource.

+ +
Comme les directives d'autorisation inversées sont incapables + de retourner un résultat positif, elles ne peuvent pas impacter de + manière significative le résultat d'une directive <RequireNone>. + C'est pourquoi il n'est pas permis d'utiliser les directives + d'autorisation inversées dans une directive <RequireNone>.
+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbd.html b/docs/manual/mod/mod_authz_dbd.html new file mode 100644 index 0000000..ef33047 --- /dev/null +++ b/docs/manual/mod/mod_authz_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authz_dbd.html.en b/docs/manual/mod/mod_authz_dbd.html.en new file mode 100644 index 0000000..23d517a --- /dev/null +++ b/docs/manual/mod/mod_authz_dbd.html.en @@ -0,0 +1,315 @@ + + + + + +mod_authz_dbd - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authz_dbd

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Group Authorization and Login using SQL
Status:Extension
Module Identifier:authz_dbd_module
Source File:mod_authz_dbd.c
Compatibility:Available in Apache 2.4 and later
+

Summary

+ +

This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site by group membership. Similar functionality is + provided by mod_authz_groupfile and + mod_authz_dbm, with the exception that + this module queries a SQL database to determine whether a + user is a member of a group.

+

This module can also provide database-backed user login/logout + capabilities. These are likely to be of most value when used + in conjunction with mod_authn_dbd.

+

This module relies on mod_dbd to specify + the backend database driver and connection parameters, and + manage the database connections.

+
+ +
top
+
+

The Require Directives

+ +

Apache's Require + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_dbd extends the + authorization types with dbd-group, dbd-login and + dbd-logout.

+ +

Since v2.4.8, expressions are supported + within the DBD require directives.

+ +

Require dbd-group

+ +

This directive specifies group membership that is required for the + user to gain access.

+ +
Require dbd-group team
+AuthzDBDQuery "SELECT user_group FROM authz WHERE user = %s"
+ + + + +

Require dbd-login

+ +

This directive specifies a query to be run indicating the user + has logged in.

+ +
Require dbd-login
+AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"
+ + + + +

Require dbd-logout

+ +

This directive specifies a query to be run indicating the user + has logged out.

+ +
Require dbd-logout
+AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"
+ + + + +
top
+
+

Database Login

+ +

+In addition to the standard authorization function of checking group +membership, this module can also provide server-side user session +management via database-backed login/logout capabilities. +Specifically, it can update a user's session status in the database +whenever the user visits designated URLs (subject of course to users +supplying the necessary credentials).

+

This works by defining two special +Require types: +Require dbd-login and Require dbd-logout. +For usage details, see the configuration example below.

+
top
+
+

Client Login integration

+ +

Some administrators may wish to implement client-side session +management that works in concert with the server-side login/logout +capabilities offered by this module, for example, by setting or unsetting +an HTTP cookie or other such token when a user logs in or out.

+

To support such integration, mod_authz_dbd exports an +optional hook that will be run whenever a user's status is updated in +the database. Other session management modules can then use the hook +to implement functions that start and end client-side sessions.

+
top
+
+

Configuration example

+ +
# mod_dbd configuration
+DBDriver pgsql
+DBDParams "dbname=apacheauth user=apache pass=xxxxxx"
+
+DBDMin  4
+DBDKeep 8
+DBDMax  20
+DBDExptime 300
+
+<Directory "/usr/www/my.site/team-private/">
+  # mod_authn_core and mod_auth_basic configuration
+  # for mod_authn_dbd
+  AuthType Basic
+  AuthName Team
+  AuthBasicProvider dbd
+
+  # mod_authn_dbd SQL query to authenticate a logged-in user
+  AuthDBDUserPWQuery \
+    "SELECT password FROM authn WHERE user = %s AND login = 'true'"
+
+  # mod_authz_core configuration for mod_authz_dbd
+  Require dbd-group team
+
+  # mod_authz_dbd configuration
+  AuthzDBDQuery "SELECT group FROM authz WHERE user = %s"
+
+  # when a user fails to be authenticated or authorized,
+  # invite them to login; this page should provide a link
+  # to /team-private/login.html
+  ErrorDocument 401 "/login-info.html"
+
+  <Files "login.html">
+    # don't require user to already be logged in!
+    AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+
+    # dbd-login action executes a statement to log user in
+    Require dbd-login
+    AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"
+
+    # return user to referring page (if any) after
+    # successful login
+    AuthzDBDLoginToReferer On
+  </Files>
+
+  <Files "logout.html">
+    # dbd-logout action executes a statement to log user out
+    Require dbd-logout
+    AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"
+  </Files>
+</Directory>
+ +
+
top
+

AuthzDBDLoginToReferer Directive

+ + + + + + + +
Description:Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
Syntax:AuthzDBDLoginToReferer On|Off
Default:AuthzDBDLoginToReferer Off
Context:directory
Status:Extension
Module:mod_authz_dbd
+

In conjunction with Require dbd-login or + Require dbd-logout, this provides the option to + redirect the client back to the Referring page (the URL in + the Referer HTTP request header, if present). + When there is no Referer header, + AuthzDBDLoginToReferer On will be ignored.

+ +
+
top
+

AuthzDBDQuery Directive

+ + + + + + +
Description:Specify the SQL Query for the required operation
Syntax:AuthzDBDQuery query
Context:directory
Status:Extension
Module:mod_authz_dbd
+

The AuthzDBDQuery specifies an SQL + query to run. The purpose of the query depends on the + Require directive in + effect.

+
    +
  • When used with a Require dbd-group directive, + it specifies a query to look up groups for the current user. This is + the standard functionality of other authorization modules such as + mod_authz_groupfile and mod_authz_dbm. + The first column value of each row returned by the query statement + should be a string containing a group name. Zero, one, or more rows + may be returned. +
    Require dbd-group
    +AuthzDBDQuery "SELECT group FROM groups WHERE user = %s"
    + +
  • +
  • When used with a Require dbd-login or + Require dbd-logout directive, it will never deny access, + but will instead execute a SQL statement designed to log the user + in or out. The user must already be authenticated with + mod_authn_dbd. +
    Require dbd-login
    +AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"
    + +
  • +
+

In all cases, the user's ID will be passed as a single string + parameter when the SQL query is executed. It may be referenced within + the query statement using a %s format specifier.

+ +
+
top
+

AuthzDBDRedirectQuery Directive

+ + + + + + +
Description:Specify a query to look up a login page for the user
Syntax:AuthzDBDRedirectQuery query
Context:directory
Status:Extension
Module:mod_authz_dbd
+

Specifies an optional SQL query to use after successful login + (or logout) to redirect the user to a URL, which may be + specific to the user. The user's ID will be passed as a single string + parameter when the SQL query is executed. It may be referenced within + the query statement using a %s format specifier.

+
AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"
+ +

The first column value of the first row returned by the query + statement should be a string containing a URL to which to redirect + the client. Subsequent rows will be ignored. If no rows are returned, + the client will not be redirected.

+

Note that AuthzDBDLoginToReferer takes + precedence if both are set.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbd.html.fr.utf8 b/docs/manual/mod/mod_authz_dbd.html.fr.utf8 new file mode 100644 index 0000000..b6cc7d3 --- /dev/null +++ b/docs/manual/mod/mod_authz_dbd.html.fr.utf8 @@ -0,0 +1,334 @@ + + + + + +mod_authz_dbd - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authz_dbd

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Autorisation en groupe et reconnaissance d'identité avec base +SQL
Statut:Extension
Identificateur de Module:authz_dbd_module
Fichier Source:mod_authz_dbd.c
Compatibilité:Disponible dans les versions 2.4 et supérieures +d'Apache
+

Sommaire

+ +

Ce module fournit des fonctionnalités d'autorisation permettant + d'accorder ou de refuser aux utilisateurs authentifiés l'accès à + certaines zones du site web en fonction de leur appartenance à tel + ou tel groupe. Les modules mod_authz_groupfile et + mod_authz_dbm fournissent une fonctionnalité + similaire, mais ici le module interroge une base de données SQL pour + déterminer si un utilisateur appartient ou non à tel ou tel groupe.

+

Ce module propose également des fonctionnalités de connexion + utilisateur s'appuyant sur une base de données, ce qui peut se révéler + particulièrement utile lorsque le module est utilisé conjointement avec + mod_authn_dbd.

+

Ce module s'appuie sur mod_dbd pour spécifier le + pilote de la base de données sous-jacente et les paramètres de + connexion, et gérer les connexions à la base de données.

+
+ +
top
+
+

Les directives Require

+ +

Les directives Require d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une ressource. mod_authz_dbd ajoute + les types d'autorisation dbd-group, + dbd-login et dbd-logout.

+ +

A partir de la version 2.4.8, les directives require DBD + supportent les expressions.

+ +

Require dbd-group

+ +

Cette directive permet de spécifier à quel groupe un utilisateur + doit appartenir pour obtenir l'autorisation d'accès.

+ +
Require dbd-group team
+AuthzDBDQuery "SELECT user_group FROM authz WHERE user = %s"
+ + + + +

Require dbd-login

+ +

Cette directive permet de spécifier une requête à exécuter pour + indiquer que l'utilisateur s'est authentifié.

+ +
Require dbd-login
+AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"
+ + + + +

Require dbd-logout

+ +

Cette directive permet de spécifier une requête à exécuter pour + indiquer que l'utilisateur s'est déconnecté.

+ +
Require dbd-logout
+AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"
+ + + + +
top
+
+

Reconnaissance d'identité s'appuyant sur une base de données

+ +

+Outre sa fonction d'autorisation standard consistant à vérifier +l'appartenance à des groupes, ce module permet aussi de gérer des +sessions utilisateur côté serveur grâce à sa fonctionnalité de connexion utilisateur +en s'appuyant sur une base de données. En particulier, il peut mettre à +jour le statut de session de l'utilisateur dans la base de données +chaque fois que celui-ci visite certaines URLs (sous réserve bien +entendu que l'utilisateur fournissent les informations de connexion +nécessaires).

+

Pour cela, il faut definir deux directives Require spéciales : Require +dbd-login et Require dbd-logout. Pour les détails de +leur utilisation, voir l'exemple de configuration ci-dessous.

+
top
+
+

Reconnaissance d'identité côté client

+ +

Certains administrateurs peuvent vouloir implémenter une gestion de +session côté client fonctionnant de concert avec les fonctionnalités de +connexion/déconnexion des utilisateurs côté serveur offertes par ce module, en +définissant ou en annulant par exemple un cookie HTTP ou un jeton +similaire lorsqu'un utilisateur se connecte ou se déconnecte.

+ +

Pour supporter une telle intégration, mod_authz_dbd exporte +un programme à déclenchement optionnel (hook) qui sera lancé chaque fois +que le statut d'un utilisateur sera mis à jour dans la base de données. +D'autres modules de gestion de session pourront alors utiliser ce +programme pour implémenter des fonctions permettant d'ouvrir et de +fermer des sessions côté client.

+
top
+
+

Exemple de configuration

+ +
# configuration de mod_dbd
+DBDriver pgsql
+DBDParams "dbname=apacheauth user=apache pass=xxxxxx"
+
+DBDMin  4
+DBDKeep 8
+DBDMax  20
+DBDExptime 300
+
+<Directory "/usr/www/mon.site/team-private/">
+  # configuration de mod_authn_core et mod_auth_basic
+  # pour mod_authn_dbd
+  AuthType Basic
+  AuthName Team
+  AuthBasicProvider dbd
+
+  # requête SQL de mod_authn_dbd pour authentifier un utilisateur qui se
+  # connecte
+  AuthDBDUserPWQuery \
+    "SELECT password FROM authn WHERE user = %s AND login = 'true'"
+
+  # configuration de mod_authz_core pour mod_authz_dbd
+  Require dbd-group team
+
+  # configuration de mod_authz_dbd
+  AuthzDBDQuery "SELECT group FROM authz WHERE user = %s"
+
+  # lorsqu'un utilisateur échoue dans sa tentative d'authentification ou
+  # d'autorisation, on l'invite à se connecter ; cette page doit
+  # contenir un lien vers /team-private/login.html
+  ErrorDocument 401 "/login-info.html"
+
+  <Files "login.html">
+    # il n'est pas nécessaire que l'utilisateur soit déjà connecté !
+    AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
+
+    # le processus de connexion dbd exécute une requête pour enregistrer
+    # la connexion de l'utilisateur
+    Require dbd-login
+    AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"
+
+    # redirige l'utilisateur vers la page d'origine (si elle existe)
+    # après une connexion réussie
+    AuthzDBDLoginToReferer On
+  </Files>
+
+  <Files "logout.html">
+    # le processus de déconnexion dbd exécute une requête pour
+    # enregistrer la déconnexion de l'utilisateur
+    Require dbd-logout
+    AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"
+  </Files>
+</Directory>
+ +
+
top
+

Directive AuthzDBDLoginToReferer

+ + + + + + + +
Description:Définit si le client doit être redirigé vers la page +d'origine en cas de connexion ou de déconnexion réussie si un en-tête +de requête Referer est présent
Syntaxe:AuthzDBDLoginToReferer On|Off
Défaut:AuthzDBDLoginToReferer Off
Contexte:répertoire
Statut:Extension
Module:mod_authz_dbd
+

Utilisée en conjonction avec Require dbd-login ou + Require dbd-logout, cette directive permet de rediriger + le client vers la page d'origine (l'URL contenue dans l'en-tête + de requête HTTP Referer, s'il est présent). En + l'absence d'en-tête Referer, la définition + AuthzDBDLoginToReferer On sera ignorée.

+ +
+
top
+

Directive AuthzDBDQuery

+ + + + + + +
Description:Définit la requête SQL pour l'opération requise
Syntaxe:AuthzDBDQuery requête
Contexte:répertoire
Statut:Extension
Module:mod_authz_dbd
+

La directive AuthzDBDQuery permet de + spécifier une requête SQL à exécuter. Le but de cette requête dépend + de la directive Require en cours de + traitement.

+
    +
  • Avec la directive Require dbd-group, elle spécifie + une requête permettant de rechercher les groupes d'appartenance de + l'utilisateur courant. Ceci correspond à la fonctionnalité standard + d'autres modules d'autorisation comme + mod_authz_groupfile et + mod_authz_dbm. + La première colonne de chaque enregistrement renvoyé par la requête + doit contenir une chaîne de caractères correspondant à un nom de + groupe. La requête peut renvoyer zéro, un ou plusieurs + enregistrements. +
    Require dbd-group
    +AuthzDBDQuery "SELECT group FROM groups WHERE user = %s"
    + +
  • +
  • Avec la directive Require dbd-login ou + Require dbd-logout, elle ne refusera jamais l'accès, + mais au contraire exécutera une requête SQL permettant d'enregistrer + la connexion ou la déconnexion de l'utilisateur. Ce dernier doit + être déjà authentifié avec mod_authn_dbd. +
    Require dbd-login
    +AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"
    + +
  • +
+

Dans tous les cas, l'identifiant utilisateur sera transmis comme + paramètre sous la forme d'une simple chaîne lorsque la requête SQL + sera exécutée. Il y sera fait référence dans la requête en utilisant + le spécificateur de format %s.

+ +
+
top
+

Directive AuthzDBDRedirectQuery

+ + + + + + +
Description:Définit une requête pour rechercher une page vers laquelle +rediriger l'utilisateur après une connexion réussie
Syntaxe:AuthzDBDRedirectQuery requête
Contexte:répertoire
Statut:Extension
Module:mod_authz_dbd
+

Spécifie une requête SQL optionnelle à utiliser après une + connexion (ou une déconnexion) réussie pour rediriger l'utilisateur + vers une URL, qui peut être spécifique à l'utilisateur. + L'identifiant utilisateur sera transmis comme paramètre sous la + forme d'une simple chaîne lorsque la requête SQL sera exécutée. Il y + sera fait référence dans la requête en utilisant le spécificateur de + format %s.

+
AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"
+ +

La première colonne du premier enregistrement renvoyé par la + requête doit contenir une chaîne de caractères correspondant à une + URL vers laquelle rediriger le client. Les enregistrements suivants + sont ignorés. Si aucun enregistrement n'est renvoyé, le client ne + sera pas redirigé.

+

Notez que AuthzDBDLoginToReferer l'emporte + sur cette directive si les deux sont définies.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbm.html b/docs/manual/mod/mod_authz_dbm.html new file mode 100644 index 0000000..fa7cdcb --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_dbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_dbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_dbm.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_dbm.html.en b/docs/manual/mod/mod_authz_dbm.html.en new file mode 100644 index 0000000..3bfa532 --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html.en @@ -0,0 +1,215 @@ + + + + + +mod_authz_dbm - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authz_dbm

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + + +
Description:Group authorization using DBM files
Status:Extension
Module Identifier:authz_dbm_module
Source File:mod_authz_dbm.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site by group membership. Similar functionality is + provided by mod_authz_groupfile.

+
+ +
top
+
+

The Require Directives

+ +

Apache's Require + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_dbm extends the + authorization types with dbm-group.

+ +

Since v2.4.8, expressions are supported + within the DBM require directives.

+ +

Require dbm-group

+ +

This directive specifies group membership that is required for the + user to gain access.

+ +
Require dbm-group admin
+ + + + +

Require dbm-file-group

+ +

When this directive is specified, the user must be a member of the group + assigned to the file being accessed.

+ +
Require dbm-file-group
+ + + + +
top
+
+

Example usage

+ +

Note that using mod_authz_dbm requires you to require dbm-group +instead of group: +

+
<Directory "/foo/bar">
+  AuthType Basic
+  AuthName "Secure Area"
+  AuthBasicProvider dbm
+  AuthDBMUserFile "site/data/users"
+  AuthDBMGroupFile "site/data/users"
+  Require dbm-group admin
+</Directory>
+ +
+
top
+

AuthDBMGroupFile Directive

+ + + + + + + +
Description:Sets the name of the database file containing the list +of user groups for authorization
Syntax:AuthDBMGroupFile file-path
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authz_dbm
+

The AuthDBMGroupFile directive sets the + name of a DBM file containing the list of user groups for user + authorization. File-path is the absolute path to the + group file.

+ +

The group file is keyed on the username. The value for a + user is a comma-separated list of the groups to which the users + belongs. There must be no whitespace within the value, and it + must never contain any colons.

+ +

Security

+

Make sure that the AuthDBMGroupFile is + stored outside the document tree of the web-server. Do + not put it in the directory that it protects. + Otherwise, clients will be able to download the + AuthDBMGroupFile unless otherwise + protected.

+
+ +

Combining Group and Password DBM files: In some cases it is + easier to manage a single database which contains both the + password and group details for each user. This simplifies any + support programs that need to be written: they now only have to + deal with writing to and locking a single DBM file. This can be + accomplished by first setting the group and password files to + point to the same DBM:

+ +
AuthDBMGroupFile "/www/userbase"
+AuthDBMUserFile "/www/userbase"
+ + +

The key for the single DBM is the username. The value consists + of

+ +

+ Encrypted Password : List of Groups [ : (ignored) ] +

+ +

The password section contains the encrypted + password as before. This is followed by a colon and the comma + separated list of groups. Other data may optionally be left in the + DBM file after another colon; it is ignored by the authorization + module. This is what www.telescope.org uses for its combined + password and group database.

+ +
+
top
+

AuthzDBMType Directive

+ + + + + + + + +
Description:Sets the type of database file that is used to +store list of user groups
Syntax:AuthzDBMType default|SDBM|GDBM|NDBM|DB
Default:AuthzDBMType default
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_authz_dbm
+

Sets the type of database file that is used to store the list + of user groups. + The default database type is determined at compile time. The + availability of other types of database files also depends on + compile-time settings.

+ +

It is crucial that whatever program you use to create your group + files is configured to use the same type of database.

+ +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbm.html.fr.utf8 b/docs/manual/mod/mod_authz_dbm.html.fr.utf8 new file mode 100644 index 0000000..0adfc3d --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html.fr.utf8 @@ -0,0 +1,225 @@ + + + + + +mod_authz_dbm - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authz_dbm

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + + +
Description:Autorisation basée sur les groupes à l'aide de fichiers +DBM
Statut:Extension
Identificateur de Module:authz_dbm_module
Fichier Source:mod_authz_dbm.c
Compatibilité:Disponible depuis les versions 2.1 et supérieures +d'Apache
+

Sommaire

+ +

Ce module permet d'autoriser ou d'interdire l'accès à certaines + zones du site web aux utilisateurs authentifiés en fonction de leur + appartenance à un groupe spécifié. Le module + mod_authz_groupfile fournit une fonctionnalité + similaire.

+
+ +
top
+
+

The Require Directives

+ +

Les directives Require d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une ressource. mod_authz_dbm ajoute + les types d'autorisation dbm-group et dbm-file-group.

+ +

A partir de la version 2.4.8, les directives require DBM + supportent les expressions.

+ +

Require dbm-group

+ +

Cette directive permet de spécifier à quel groupe un utilisateur + doit appartenir pour obtenir l'autorisation d'accès.

+ +
Require dbm-group admin
+ + + + +

Require dbm-file-group

+ +

Lorsque cette directive est définie, l'utilisateur doit + appartenir au groupe du fichier pour pouvoir y accéder.

+ +
Require dbm-file-group
+ + + + +
top
+
+

Exemple d'utilisation

+ +

Notez que si vous utilisez mod_authz_dbm, le mot-clé pour les +groupes d'authentification qui était auparavant group est +maintenant dbm-group : +

+
<Directory "/foo/bar">
+  AuthType Basic 
+  AuthName "Secure Area"
+  AuthBasicProvider dbm 
+  AuthDBMUserFile "site/data/users"
+  AuthDBMGroupFile "site/data/users" 
+  Require dbm-group admin 
+</Directory>
+ +
+
top
+

Directive AuthDBMGroupFile

+ + + + + + + +
Description:Définit le nom du fichier de base de données contenant la +liste des groupes d'utilisateurs permettant de définir les +autorisations des utilisateurs
Syntaxe:AuthDBMGroupFile chemin-fichier
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authz_dbm
+

La directive AuthDBMGroupFile sert à + définir le nom d'un fichier DBM contenant la liste des groupes + d'utilisateurs. Les utilisateurs peuvent dès lors se voir autoriser ou + refuser leurs accès selon l'appartenance à tel ou tel groupe. + chemin-fichier est le chemin absolu du + fichier de groupes.

+ +

La clé du fichier de groupes est le nom d'utilisateur. La valeur + de chaque clé est la liste des groupes, séparés par des virgules, + auxquels l'utilisateur appartient. Cette liste ne doit comporter + ni espace, ni caractère ':'.

+ +

Sécurité

+

Le fichier spécifié par la directive +AuthDBMGroupFile doit être situé en dehors de +l'arborescence des documents du serveur web. Ne le placez +surtout pas dans le répertoire qu'il protège, faute +de quoi, les clients pourraient le télécharger, en l'abscence de +protection supplémentaire.

+
+ +

Utilisation combinée de fichiers DBM de groupes et de mots de + passe : dans certains cas, il est plus simple de gérer une seule + base de données contenant les groupes et mots de passe de chaque + utilisateur. L'écriture de programmes de support en est ainsi + simplifiée car ils n'ont plus qu'un seul fichier DBM à gérer et + à verrouiller. Pour ce faire, on attribue le même nom de fichier + DBM aux fichiers de groupes et de mots de passe :

+ +
AuthDBMGroupFile "/www/userbase"
+AuthDBMUserFile "/www/userbase"
+ + +

La clé du fichier DBM unique est le nom d'utilisateur. La + valeur associée à la clé contient :

+ +

+ Mot de passe chiffré : Liste de groupes [ : (ignoré) ] +

+ +

La partie mot de passe contient comme d'habitude le mot de + passe chiffré. Viennent ensuite le caractère ':' et la liste des + groupes séparés par des virgules. Il est possible d'ajouter + d'autres données en fin de ligne après un autre caractère ':', + mais elles seront ignorées par le module d'autorisation. Il s'agit + du format utilisé par www.telescope.org pour sa base de données + combinée groupes et mots de passe.

+ +
+
top
+

Directive AuthzDBMType

+ + + + + + + + +
Description:Définit le type de fichier de base de données contenant +la liste des groupes d'utilisateurs
Syntaxe:AuthzDBMType default|SDBM|GDBM|NDBM|DB
Défaut:AuthzDBMType default
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_authz_dbm
+

Définit le type de fichier de base de données contenant la + liste des groupes d'utilisateurs. Le type de base de données par + défaut est déterminé à la compilation. Les autres types de bases + de données disponibles dépendent aussi de la + configuration de la + compilation.

+ +

Quel que soit le programme que vous utilisez pour créer votre + fichier de groupes, il est impératif que celui-ci soit configuré + pour utiliser le même type de base de données.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr b/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr new file mode 100644 index 0000000..a820ecc --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr @@ -0,0 +1,156 @@ + + + + + +mod_authz_dbm - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_authz_dbm

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:DBM ÆÄÀÏÀ» »ç¿ëÇÑ ±×·ì ÀÎÁõ
»óÅÂ:Extension
¸ðµâ¸í:authz_dbm_module
¼Ò½ºÆÄÀÏ:mod_authz_dbm.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ÀÎÁõÇÑ »ç¿ëÀÚÀÇ ±×·ì±ÇÇÑÀ¸·Î À¥ÀÇ ÀϺθ¦ Á¢±ÙÇÒ + ¼ö ÀÖ´ÂÁö °áÁ¤ÇÏ¿© ±ÇÇѺο©¸¦ ÇÑ´Ù. + mod_authz_groupfile°ú ±â´ÉÀÌ ºñ½ÁÇÏ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

AuthDBMGroupFile Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÀÎÁõ¿¡ »ç¿ëÇÒ »ç¿ëÀÚ ±×·ì ¸ñ·ÏÀ» ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º +ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthDBMGroupFile file-path
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authz_dbm
+

AuthDBMGroupFile Áö½Ã¾î´Â ÀÎÁõ¿¡ + »ç¿ëÇÒ »ç¿ëÀÚ ±×·ì ¸ñ·ÏÀ» ÀúÀåÇÏ´Â DBM ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù. + File-path´Â ÆÄÀÏÀÇ Àý´ë°æ·ÎÀÌ´Ù.

+ +

ÆÄÀÏÀº »ç¿ëÀÚ¸íÀ» Å°·Î »ç¿ëÇÑ´Ù. »ç¿ëÀÚ¿¡ ´ëÇÑ °ªÀº ½°Ç¥·Î + ±¸ºÐÇÑ »ç¿ëÀÚ°¡ ¼ÓÇÑ ±×·ì ¸ñ·ÏÀÌ´Ù. °ª¿¡ °ø¹éÀ̳ª ÄÝ·ÐÀ» + »ç¿ëÇÒ ¼ö ¾ø´Ù.

+ +

º¸¾È

+

AuthDBMGroupFileÀÌ À¥¼­¹öÀÇ + ¹®¼­µé ¹Û¿¡ À§Ä¡ÇÔÀ» È®ÀÎÇ϶ó. ÀÌ ÆÄÀÏÀ» º¸È£ÇÒ µð·ºÅ丮 + ¾È¿¡ °°ÀÌ µÎÁö ¸¶¶ó. ±×·¸Áö ¾ÊÀ¸¸é, Ŭ¶óÀ̾ðÆ®°¡ + AuthDBMGroupFile¸¦ ´Ù¿î·ÎµåÇÒ ¼ö + ÀÖ´Ù.

+
+ +

±×·ì DBM ÆÄÀÏ°ú ¾ÏÈ£ DBM ÆÄÀÏÀ» °°ÀÌ »ç¿ëÇϱâ: »ç¿ëÀÚ¿¡ + ´ëÇÑ ¾ÏÈ£¿Í ±×·ì Á¤º¸ ¸ðµÎ¸¦ ÇÑ µ¥ÀÌÅͺ£À̽º¿¡¼­ °ü¸®ÇÏ´Â + °ÍÀÌ ½¬¿ï¶§°¡ ÀÖ´Ù. ÀÌ °æ¿ì ÀÛ¼ºÇÒ Áö¿ø ÇÁ·Î±×·¥ÀÌ °£´ÜÇØÁø´Ù. + ÇÁ·Î±×·¥Àº ÇÑ DBM ÆÄÀϸ¸À» Àá±×°í ¾²¸é µÈ´Ù. ±×·ìÆÄÀÏ°ú + ¾ÏÈ£ÆÄÀÏÀ» °°Àº DBMÆÄÀÏ·Î ¼³Á¤ÇÏ¸é °¡´ÉÇÏ´Ù:

+ +

+ AuthDBMGroupFile /www/userbase
+ AuthDBMUserFile /www/userbase +

+ +

ÀÌ ÅëÇÕ DBMÀÇ Å°´Â »ç¿ëÀÚ¸íÀÌ´Ù. °ªÀº ´ÙÀ½°ú °°´Ù

+ +

+ ÀÎÄÚµùµÈ ¾ÏÈ£ : ±×·ì ¸ñ·Ï [ : (¹«½Ã) ] +

+ +

¾ÏÈ£ ºÎºÐÀº Àü°ú °°ÀÌ ÀÎÄÚµùµÈ ¾ÏÈ£ÀÌ´Ù. ÄÝ·Ð µÚ¿¡ ½°Ç¥·Î + ±¸ºÐÇÑ ±×·ì ¸ñ·ÏÀÌ ³ª¿Â´Ù. ¶Ç ´Ù½Ã ÄÝ·Ð ´ÙÀ½¿¡ ´Ù¸¥ Á¤º¸¸¦ + ±â·ÏÇÒ ¼ö ÀÖ´Ù. ÀÌ ºÎºÐÀº ÀÎÁõ¸ðµâÀÌ ¹«½ÃÇÑ´Ù. + www.telescope.org´Â ÀÌ·¸°Ô ¾ÏÈ£ µ¥ÀÌÅͺ£À̽º¿Í ±×·ì + µ¥ÀÌÅͺ£À̽º¸¦ °°ÀÌ »ç¿ëÇÑ´Ù.

+ +
+
top
+

AuthzDBMType Áö½Ã¾î

+ + + + + + + + +
¼³¸í:¾ÏÈ£¸¦ ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ù¸¦ ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthzDBMType default|SDBM|GDBM|NDBM|DB
±âº»°ª:AuthzDBMType default
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Extension
¸ðµâ:mod_authz_dbm
+

¾ÏÈ£¸¦ ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ù¸¦ ÁöÁ¤ÇÑ´Ù. + µ¥ÀÌÅͺ£À̽º Á¾·ù ±âº»°ªÀº ÄÄÆÄÀ϶§ Á¤ÇØÁø´Ù. »ç¿ëÇÒ ¼ö + ÀÖ´Â ´Ù¸¥ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ùµµ ÄÄÆÄÀÏ ¼³Á¤¿¡ ´Þ·È´Ù.

+ +

¾ÏÈ£ÆÄÀÏÀ» ¸¸µç ÇÁ·Î±×·¥ÀÌ °°Àº Á¾·ùÀÇ µ¥ÀÌÅͺ£À̽º¸¦ + »ç¿ëÇϵµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html b/docs/manual/mod/mod_authz_groupfile.html new file mode 100644 index 0000000..4a39b16 --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_groupfile.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_groupfile.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_groupfile.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_groupfile.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_groupfile.html.en b/docs/manual/mod/mod_authz_groupfile.html.en new file mode 100644 index 0000000..105e57e --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.en @@ -0,0 +1,158 @@ + + + + + +mod_authz_groupfile - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authz_groupfile

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Group authorization using plaintext files
Status:Base
Module Identifier:authz_groupfile_module
Source File:mod_authz_groupfile.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site by group membership. Similar functionality is + provided by mod_authz_dbm.

+
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

The Require Directives

+ +

Apache's Require + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_groupfile extends the + authorization types with group and group-file. +

+ +

Since v2.4.8, expressions are supported + within the groupfile require directives.

+ +

Require group

+ +

This directive specifies group membership that is required for the + user to gain access.

+ +
Require group admin
+ + + + +

Require file-group

+ +

When this directive is specified, the filesystem permissions on + the file being accessed are consulted. The user must be a member of + a group with the same name as the group that owns the file. + See mod_authz_owner for more + details.

+ +
Require file-group
+ + + + +
+
top
+

AuthGroupFile Directive

+ + + + + + + +
Description:Sets the name of a text file containing the list +of user groups for authorization
Syntax:AuthGroupFile file-path
Context:directory, .htaccess
Override:AuthConfig
Status:Base
Module:mod_authz_groupfile
+

The AuthGroupFile directive sets the + name of a textual file containing the list of user groups for user + authorization. File-path is the path to the group + file. If it is not absolute, it is treated as relative to the ServerRoot.

+ +

Each line of the group file contains a groupname followed by a + colon, followed by the member usernames separated by spaces.

+ +

Example:

+ mygroup: bob joe anne +

+ +

Note that searching large text files is very + inefficient; AuthDBMGroupFile provides a much better performance.

+ +

Security

+

Make sure that the AuthGroupFile is + stored outside the document tree of the web-server; do not + put it in the directory that it protects. Otherwise, clients may + be able to download the AuthGroupFile.

+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html.fr.utf8 b/docs/manual/mod/mod_authz_groupfile.html.fr.utf8 new file mode 100644 index 0000000..7c3a1ed --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.fr.utf8 @@ -0,0 +1,165 @@ + + + + + +mod_authz_groupfile - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authz_groupfile

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Autorisation basée sur les groupes à l'aide de fichiers +textes
Statut:Base
Identificateur de Module:authz_groupfile_module
Fichier Source:mod_authz_groupfile.c
Compatibilité:Disponible depuis les versions 2.1 et supérieures +d'Apache
+

Sommaire

+ +

Ce module permet d'autoriser ou d'interdire l'accès à +certaines zones du site web aux utilisateurs authentifiés en +fonction de leur appartenance à un groupe spécifié. Le module +mod_authz_dbm fournit une fonctionnalité similaire.

+
+ +
top
+
+

Les directives Require

+ +

Les directives Require d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une ressource. mod_authz_groupfile ajoute + les types d'autorisation group et file-group. +

+ +

A partir de la version 2.4.8, les directives require groupfile + supportent les expressions.

+ +

Require group

+ +

Cette directive permet de spécifier à quel groupe un utilisateur + doit appartenir pour obtenir l'autorisation d'accès.

+ +
Require group admin
+ + + + +

Require file-group

+ +

Lorsque cette directive est définie, Les permissions système du fichier + auquel on veut accéder sont vérifiées. L'utilisateur doit être un membre d'un + groupe de même nom que le groupe qui possède le fichier. Voir + mod_authz_owner pour plus de détails.

+ +
Require file-group
+ + + + +
+
top
+

Directive AuthGroupFile

+ + + + + + + +
Description:Définit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de définir les autorisations des +utilisateurs
Syntaxe:AuthGroupFile chemin-fichier
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_authz_groupfile
+

La directive AuthGroupFile permet de définir +le nom d'un fichier texte contenant la liste des groupes d'utilisateurs. +L'appartenance d'un utilisateur à tel ou tel groupe pourra dès lors être utilisée +pour définir les permissions d'accès de l'utilisateur. +chemin-fichier est le chemin du fichier de groupes. S'il n'est +pas absolu, ce chemin est considéré comme relatif au répertoire défini par +la directive ServerRoot.

+ +

Chaque ligne du fichier de groupes contient un nom de groupe +suivi du caractère ':' et des noms des utilisateurs membres du groupe +séparés par des espaces.

+ +

Exemple :

+ mon-groupe : bob joe anne +

+ +

Notez que la recherche dans de grands fichiers textes est +très inefficace ; la directive AuthDBMGroupFile fournit de bien meilleures + performances.

+ +

Sécurité

+

Le fichier AuthGroupFile ne doit pas +être stocké dans l'arborescence des documents du site web ; ne le placez +surtout pas dans le répertoire qu'il protège, faute de quoi les +clients pourraient le télécharger.

+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 b/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 new file mode 100644 index 0000000..39b718a --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 @@ -0,0 +1,130 @@ + + + + + +mod_authz_groupfile - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_authz_groupfile

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:プレーンテキストファイルを用ã„ãŸã‚°ãƒ«ãƒ¼ãƒ—承èª
ステータス:Base
モジュール識別å­:authz_groupfile_module
ソースファイル:mod_authz_groupfile.c
互æ›æ€§:Apache 2.1 以é™
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯èªè¨¼ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãŒã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã‹ + å¦ã‹ã«ã‚ˆã£ã¦ã‚¦ã‚§ãƒ–サイトã®ä¸€éƒ¨ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ã‹æ‹’å¦ã™ã‚‹ã‹ã® + 承èªæ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚åŒæ§˜ã®æ©Ÿèƒ½ã¯ mod_authz_dbm + ã«ã‚ˆã£ã¦ã‚‚æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

AuthGroupFile ディレクティブ

+ + + + + + + +
説明:証èªã«ä½¿ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸€è¦§ãŒæ ¼ç´ã•ã‚Œã¦ã„る〠+テキストファイルã®åå‰ã‚’設定ã™ã‚‹
構文:AuthGroupFile file-path
コンテキスト:ディレクトリ, .htaccess
上書ã:AuthConfig
ステータス:Base
モジュール:mod_authz_groupfile
+

AuthGroupFile ディレクティブã¯ã€ + 証èªã«ä½¿ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸€è¦§ãŒæ ¼ç´ã•ã‚Œã¦ã„る〠+ テキストファイルã®åå‰ã‚’設定ã—ã¾ã™ã€‚ + file-path ã¯ã‚°ãƒ«ãƒ¼ãƒ—ファイルã¸ã®ãƒ‘スã§ã™ã€‚ + 絶対パスã§ãªã‘ã‚Œã°ã€ + ServerRoot + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +

グループファイルå„è¡Œã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—åã€ã‚³ãƒ­ãƒ³ã€ãã—㦠+ スペース区切りã§ãã®ãƒ¡ãƒ³ãƒãƒ¼ã®ãƒ¦ãƒ¼ã‚¶åを記述ã—ã¾ã™ã€‚

+ +

例:

+ mygroup: bob joe anne +

+ +

大ããªãƒ•ã‚¡ã‚¤ãƒ«ã‚’探索ã™ã‚‹ã®ã¯ã€éžå¸¸ã«åŠ¹çŽ‡ãŒæ‚ªã„ã¨ã„ã†ç‚¹ã« + 注æ„ã—ã¦ãã ã•ã„。ãã®ã‚ˆã†ãªå ´åˆã¯ã€ + AuthDBMGroupFile + ã®æ–¹ãŒãšã£ã¨è‰¯ã„性能を発æ®ã—ã¾ã™ã€‚

+ +

セキュリティ

+

AuthGroupFile ã¯ã€ + ウェブサーãƒã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リーã®å¤–å´ã« + ä¿ç®¡ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 + ä¿è­·ã—よã†ã¨ã—ã¦ã„るディレクトリ以下ã«ã¯ã€ç½®ã‹ãªã„ã§ä¸‹ã•ã„。 + ãã†ã—ãªã„ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ AuthGroupFile ã‚’ + ダウンロードã§ãã¦ã—ã¾ã†å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚

+
+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr b/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr new file mode 100644 index 0000000..3002120 --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr @@ -0,0 +1,121 @@ + + + + + +mod_authz_groupfile - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_authz_groupfile

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:ÀÏ¹Ý ¹®ÀÚÆÄÀÏÀ» ÀÌ¿ëÇÑ ±×·ì ±ÇÇѺο©
»óÅÂ:Base
¸ðµâ¸í:authz_groupfile_module
¼Ò½ºÆÄÀÏ:mod_authz_groupfile.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ÀÎÁõÇÑ »ç¿ëÀÚÀÇ ±×·ì±ÇÇÑÀ¸·Î À¥»çÀÌÆ®ÀÇ ÀϺθ¦ + Á¢±ÙÇÒ ¼ö ÀÖ´ÂÁö °áÁ¤ÇÏ¿© ±ÇÇѺο©¸¦ ÇÑ´Ù. + mod_authz_dbm°ú ±â´ÉÀÌ ºñ½ÁÇÏ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

AuthGroupFile Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÀÎÁõ¿¡ »ç¿ëÇÒ »ç¿ëÀÚ ±×·ì ¸ñ·ÏÀ» ÀúÀåÇÏ´Â ¹®ÀÚÆÄÀϸíÀ» +ÁöÁ¤ÇÑ´Ù
¹®¹ý:AuthGroupFile file-path
»ç¿ëÀå¼Ò:directory, .htaccess
Override ¿É¼Ç:AuthConfig
»óÅÂ:Base
¸ðµâ:mod_authz_groupfile
+

AuthGroupFile Áö½Ã¾î´Â »ç¿ëÀÚ + ÀÎÁõ¿¡ »ç¿ëÇÒ »ç¿ëÀÚ ±×·ì ¸ñ·ÏÀ» ÀúÀåÇÏ´Â ¹®ÀÚÆÄÀϸíÀ» + ÁöÁ¤ÇÑ´Ù. File-path´Â ±×·ìÆÄÀÏ °æ·ÎÀÌ´Ù. Àý´ë°æ·Î¸¦ + »ç¿ëÇÏÁö ¾ÊÀ¸¸é ServerRootÀÇ »ó´ë°æ·Î·Î ¹Þ¾ÆµéÀδÙ.

+ +

±×·ìÆÄÀÏÀÇ °¢ ÁÙ¿¡´Â ±×·ì¸í, ÄÝ·Ð, °ø¹éÀ¸·Î ±¸ºÐÇÑ + »ç¿ëÀÚ¸íµéÀÌ ¼ø¼­´ë·Î ³ª¿Â´Ù.

+ +

¿¹Á¦:

+ mygroup: bob joe anne +

+ +

¸¹Àº ±×·ìÀ» ÀúÀåÇÑ Å« ¹®ÀÚÆÄÀÏÀ» °Ë»öÇÏ´Â °ÍÀº ¸Å¿ì + ºñÈ¿À²ÀûÀÓÀ» ÁÖÀÇÇ϶ó. AuthDBMGroupFileÀÌ ´õ ¼º´ÉÀÌ ÁÁ´Ù.

+ +

º¸¾È

+

AuthGroupFileÀÌ À¥¼­¹öÀÇ ¹®¼­µé + ¹Û¿¡ À§Ä¡ÇÔÀ» È®ÀÎÇ϶ó. ÀÌ ÆÄÀÏÀ» º¸È£ÇÒ µð·ºÅ丮 ¾È¿¡ + °°ÀÌ µÎÁö ¸¶¶ó. ±×·¸Áö ¾ÊÀ¸¸é, Ŭ¶óÀ̾ðÆ®°¡ + AuthGroupFileÀ» ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Ù.

+
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_host.html b/docs/manual/mod/mod_authz_host.html new file mode 100644 index 0000000..60b27e6 --- /dev/null +++ b/docs/manual/mod/mod_authz_host.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_host.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_host.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authz_host.html.en b/docs/manual/mod/mod_authz_host.html.en new file mode 100644 index 0000000..1f4c11c --- /dev/null +++ b/docs/manual/mod/mod_authz_host.html.en @@ -0,0 +1,253 @@ + + + + + +mod_authz_host - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authz_host

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Group authorizations based on host (name or IP +address)
Status:Base
Module Identifier:authz_host_module
Source File:mod_authz_host.c
Compatibility:The forward-dns provider was added in 2.4.19
+

Summary

+ +

The authorization providers implemented by mod_authz_host are + registered using the Require + directive. The directive can be referenced within a + <Directory>, + <Files>, + or <Location> section + as well as .htaccess + files to control access to particular parts of the server. + Access can be controlled based on the client hostname or IP address.

+ +

In general, access restriction directives apply to all + access methods (GET, PUT, + POST, etc). This is the desired behavior in most + cases. However, it is possible to restrict some methods, while + leaving other methods unrestricted, by enclosing the directives + in a <Limit> section.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

The Require Directives

+ +

Apache's Require + directive is used during the authorization phase to ensure that a user is allowed or + denied access to a resource. mod_authz_host extends the + authorization types with ip, host, + forward-dns and local. + Other authorization types may also be + used but may require that additional authorization modules be loaded.

+ +

These authorization providers affect which hosts can + access an area of the server. Access can be controlled by + hostname, IP Address, or IP Address range.

+ +

Since v2.4.8, expressions are supported + within the host require directives.

+ +

Require ip

+ +

The ip provider allows access to the server + to be controlled based on the IP address of the remote client. + When Require ip ip-address is specified, + then the request is allowed access if the IP address matches.

+ +

A full IP address:

+ +
Require ip 10.1.2.3
+Require ip 192.168.1.104 192.168.1.205
+ + +

An IP address of a host allowed access

+ +

A partial IP address:

+ +
Require ip 10.1
+Require ip 10 172.20 192.168.2
+ +

The first 1 to 3 bytes of an IP address, for subnet + restriction.

+ +

A network/netmask pair:

+ +
Require ip 10.1.0.0/255.255.0.0
+ +

A network a.b.c.d, and a netmask w.x.y.z. For more + fine-grained subnet restriction.

+ +

A network/nnn CIDR specification:

+ +
Require ip 10.1.0.0/16
+ +

Similar to the previous case, except the netmask consists of + nnn high-order 1 bits.

+ +

Note that the last three examples above match exactly the + same set of hosts.

+ +

IPv6 addresses and IPv6 subnets can be specified as shown + below:

+ +
Require ip 2001:db8::a00:20ff:fea7:ccea
+Require ip 2001:db8:1:1::a
+Require ip 2001:db8:2:1::/64
+Require ip 2001:db8:3::/48
+ + +

Note: As the IP addresses are parsed on startup, expressions are + not evaluated at request time.

+ + + +

Require host

+ +

The host provider allows access to the server + to be controlled based on the host name of the remote client. + When Require host host-name is specified, + then the request is allowed access if the host name matches.

+ +

A (partial) domain-name

+ +
Require host example.org
+Require host .net example.edu
+ + +

Hosts whose names match, or end in, this string are allowed + access. Only complete components are matched, so the above + example will match foo.example.org but it will not + match fooexample.org. This configuration will cause + Apache to perform a double reverse DNS lookup on the client IP + address, regardless of the setting of the HostnameLookups directive. It will do + a reverse DNS lookup on the IP address to find the associated + hostname, and then do a forward lookup on the hostname to assure + that it matches the original IP address. Only if the forward + and reverse DNS are consistent and the hostname matches will + access be allowed.

+ + + +

Require forward-dns

+ +

The forward-dns provider allows access to the server + to be controlled based on simple host names. When + Require forward-dns host-name is specified, + all IP addresses corresponding to host-name + are allowed access.

+ +

In contrast to the host provider, this provider does not + rely on reverse DNS lookups: it simply queries the DNS for the host name + and allows a client if its IP matches. As a consequence, it will only + work with complete host names that can be resolved in DNS, not partial domain names. + However, as the reverse DNS is not used, and DNS lookups occur at request processing + time (instead of startup), it will work with clients which use a dynamic DNS service.

+ +
Require forward-dns dynamic.example.org
+ + +

A client the IP of which is resolved from the name + dynamic.example.org will be granted access.

+ +

The forward-dns provider was added in 2.4.19.

+ + +

Require local

+ +

The local provider allows access to the server if any + of the following conditions is true:

+ +
    +
  • the client address matches 127.0.0.0/8
  • +
  • the client address is ::1
  • +
  • both the client and the server address of the connection are + the same
  • +
+ +

This allows a convenient way to match connections that originate from + the local host:

+ +
Require local
+ + + + +

Security Note

+ +

If you are proxying content to your server, you need to be aware + that the client address will be the address of your proxy server, + not the address of the client, and so using the Require + directive in this context may not do what you mean. See + mod_remoteip for one possible solution to this + problem.

+ + + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_host.html.fr.utf8 b/docs/manual/mod/mod_authz_host.html.fr.utf8 new file mode 100644 index 0000000..a9337fe --- /dev/null +++ b/docs/manual/mod/mod_authz_host.html.fr.utf8 @@ -0,0 +1,256 @@ + + + + + +mod_authz_host - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authz_host

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Autorisations de groupe basées sur l'hôte (nom ou adresse +IP)
Statut:Base
Identificateur de Module:authz_host_module
Fichier Source:mod_authz_host.c
Compatibilité:Le fournisseur forward-dns est disponible à partir +de la version 2.4.19 du serveur HTTP Apache
+

Sommaire

+ +

Les fournisseurs d'autorisation implémentés par le module + mod_authz_host sont enregistrés à l'aide de + la directive Require. On peut + utiliser cette directive à l'intérieur de sections <Directory>, <Files>, ou <Location> ou de fichiers + .htaccess pour + contrôler l'accès à certaines zones du serveur. Le contrôle d'accès + peut être effectué en fonction du nom d'hôte ou de l'adresse IP.

+ +

En général, les directives de restriction d'accès s'appliquent à + toutes les méthodes d'accès (GET, PUT, + POST, etc...). C'est d'ailleurs ce que l'on souhaite + dans la plupart des cas. Il est cependant possible de ne restreindre + l'accès que pour certaines méthodes, tout en laissant les autres + méthodes sans protection, en plaçant les directives dans une section + <Limit>.

+
+ +
top
+
+

Les directives Require

+ +

La directive Apache Require est utilisée au cours de + la phase d'autorisation pour vérifier si un utilisateur se voit + accorder ou refuser l'accès à une ressource. mod_authz_host fournit + les types d'autorisation ip, host, + forward-dns et local. D'autres + types d'autorisation sont aussi disponibles, mais nécessitent le chargement + des modules d'autorisation appropriés.

+ +

Ces fournisseurs d'autorisation permettent de déterminer quels + hôtes peuvent accéder à une zone du serveur. On peut contrôler + l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle + d'adresses IP.

+ +

A partir de la version 2.4.8, les directives require host + supportent les expressions.

+ +

Require ip

+ +

Le fournisseur ip permet de contrôler l'accès au + serveur en fonction de l'adresse IP du client distant. Lorsque + Require ip adresse-ip est spécifié, la + requête est autorisée si l'adresse IP du client distant correspond + à

+ +

Une adresse IP complète :

+ +
Require ip 10.1.2.3
+Require ip 192.168.1.104 192.168.1.205
+ + +

L'adresse IP d'un hôte pour qui l'accès est accordé

+ +

Une adresse IP partielle :

+ +
Require ip 10.1
+Require ip 10 172.20 192.168.2
+ +

Les 1 à 3 premiers octets d'une adresse IP, pour une restriction + à un sous-réseau.

+ +

Une paire réseau/masque de sous-réseau :

+ +
Require ip 10.1.0.0/255.255.0.0
+ +

Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z. pour une + restriction de sous-réseau plus fine.

+ +

Une spécification CIDR réseau/nnn :

+ +
Require ip 10.1.0.0/16
+ +

Identique au cas précédent, excepté que le masque de sous-réseau + représente les nnn premiers bits de poids fort.

+ +

Notez que les trois derniers exemples correspondent exectement au + même ensemble d'hôtes.

+ +

On peut spécifier des adresses et des sous-réseaux IPv6 comme + suit :

+ +
Require ip 2001:db8::a00:20ff:fea7:ccea
+Require ip 2001:db8:1:1::a
+Require ip 2001:db8:2:1::/64
+Require ip 2001:db8:3::/48
+ + +

Note: comme les adresses IP sont lues au démarrage, les + expressions ne sont pas évaluées au moment de la requête.

+ + + +

Require host

+ +

Le fournisseur host permet de contrôler l'accès au + serveur en fonction du nom d'hôte du client distant. Lorsque + Require host nom-hôte est spécifié, la + requête est autorisée si le nom d'hôte correspond à

+ +

Un nom de domaine (éventuellement partiel)

+ +
Require host example.org
+Require host .net example.edu
+ + +

Les hôtes dont les noms correspondent ou se terminent par la + chaîne spécifiée se voient accorder l'accès. Seuls les élément de + nom de domaine complets sont mis en correspondance ; ainsi, + l'exemple ci-dessus correspondra à foo.example.org, mais + ne correspondra pas à fooexample.org. Avec cette + configuration, Apache va effectuer une double recherche DNS sur + l'adresse IP du client, sans tenir compte de la définition de la + directive HostnameLookups. Il + va effectuer une recherche DNS inverse sur l'adresse IP pour trouver + le nom d'hôte associé, puis une recherche DNS directe sur le nom + d'hôte pour vérifier qu'il correspond bien à l'adresse IP originale. + L'accès ne sera accordé que si le nom d'hôte correspond et si les + recherches DNS inverse et directe sont cohérentes.

+ + + +

Require forward-dns

+ +

Le fournisseur forward-dns permet d'accéder au serveur + sécurisé en fonction de simples noms d'hôte. Lorsque Require + forward-dns host-name est spécifié, toute adresse IP + correspondant à host-name se voit autoriser l'accès.

+ +

A la différence du fournisseur host, ce fournisseur + n'effectue pas de recherche DNS inverse : il effectue simplement une requête + DNS directe pour le nom d'hôte spécifié et donne accès au client si son + adresse IP correspond. Il ne fonctionnera donc qu'avec des noms d'hôte + complets qui peuvent être résolus par le DNS, et non avec des noms de + domaine partiels. Par contre, comme le DNS inverse n'est pas sollicité, et + comme les recherches DNS interviennent au moment du traitement de la requête + (et non au démarrage), il fonctionnera avec des clients qui utilisent un + service de DNS dynamique.

+ +
Require forward-dns dynamic.example.org
+ + +

Un client dont l'adresse IP correspond au nom d'hôte + dynamic.example.org se verra autoriser l'accès.

+ + + +

Require local

+ +

Le fournisseur local autorise l'accès au serveur si + l'une au moins de ces conditions est satisfaite :

+ +
    +
  • l'adresse IP du client correspond à 127.0.0.0/8
  • +
  • l'adresse IP du client est ::1
  • +
  • les adresses IP du client et du serveur sont identiques
  • +
+ +

L'exemple suivant montre une méthode simple pour sélectionner les + connexions en provenance de l'hôte local :

+ +
Require local
+ + + + +

Note concernant la sécurité

+ +

Si le contenu de votre serveur est mandaté, vous devez garder à + l'esprit que l'adresse client correspondra à l'adresse de votre + serveur mandataire et non à l'adresse du client, et l'utilisation de + la directive Require dans ce contexte ne provoquera pas + forcément l'effet désiré. Voir mod_remoteip pour + une solution possible à ce problème.

+ + + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html b/docs/manual/mod/mod_authz_owner.html new file mode 100644 index 0000000..20ed9bf --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_owner.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_owner.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_owner.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_owner.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_owner.html.en b/docs/manual/mod/mod_authz_owner.html.en new file mode 100644 index 0000000..6978191 --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.en @@ -0,0 +1,169 @@ + + + + + +mod_authz_owner - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authz_owner

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Authorization based on file ownership
Status:Extension
Module Identifier:authz_owner_module
Source File:mod_authz_owner.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module authorizes access to files by comparing the userid used + for HTTP authentication (the web userid) with the file-system owner or + group of the requested file. The supplied username and password + must be already properly verified by an authentication module, + such as mod_auth_basic or + mod_auth_digest. mod_authz_owner + recognizes two arguments for the Require directive, file-owner and + file-group, as follows:

+ +
+
file-owner
+
The supplied web-username must match the system's name for the + owner of the file being requested. That is, if the operating system + says the requested file is owned by jones, then the + username used to access it through the web must be jones + as well.
+ +
file-group
+
The name of the system group that owns the file must be present + in a group database, which is provided, for example, by mod_authz_groupfile or mod_authz_dbm, + and the web-username must be a member of that group. For example, if + the operating system says the requested file is owned by (system) + group accounts, the group accounts must + appear in the group database and the web-username used in the request + must be a member of that group.
+
+ +

Note

+

If mod_authz_owner is used in order to authorize + a resource that is not actually present in the filesystem + (i.e. a virtual resource), it will deny the access.

+ +

Particularly it will never authorize content negotiated + "MultiViews" resources.

+
+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Configuration Examples

+ +

Require file-owner

+

Consider a multi-user system running the Apache Web server, with + each user having his or her own files in ~/public_html/private. Assuming that there is a single + AuthDBMUserFile database + that lists all of their web-usernames, and that these usernames match + the system's usernames that actually own the files on the server, then + the following stanza would allow only the user himself access to his + own files. User jones would not be allowed to access + files in /home/smith/public_html/private unless they + were owned by jones instead of smith.

+ +
<Directory "/home/*/public_html/private">
+    AuthType Basic
+    AuthName MyPrivateFiles
+    AuthBasicProvider dbm
+    AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
+    Require file-owner
+</Directory>
+ + + +

Require file-group

+

Consider a system similar to the one described above, but with + some users that share their project files in + ~/public_html/project-foo. The files are owned by the + system group foo and there is a single AuthDBMGroupFile database that + contains all of the web-usernames and their group membership, + i.e. they must be at least member of a group named + foo. So if jones and smith + are both member of the group foo, then both will be + authorized to access the project-foo directories of + each other.

+ +
<Directory "/home/*/public_html/project-foo">
+    AuthType Basic
+    AuthName "Project Foo Files"
+    AuthBasicProvider dbm
+    
+    # combined user/group database
+    AuthDBMUserFile  "/usr/local/apache2/etc/.htdbm-all"
+    AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all"
+    
+    Satisfy All
+    Require file-group
+</Directory>
+ + +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html.fr.utf8 b/docs/manual/mod/mod_authz_owner.html.fr.utf8 new file mode 100644 index 0000000..aab688b --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.fr.utf8 @@ -0,0 +1,182 @@ + + + + + +mod_authz_owner - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authz_owner

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Autorisation basée sur l'appartenance des +fichiers
Statut:Extension
Identificateur de Module:authz_owner_module
Fichier Source:mod_authz_owner.c
Compatibilité:Disponible depuis les versions 2.1 et supérieures +d'Apache
+

Sommaire

+ +

Ce module permet de contrôler l'accès aux fichiers en comparant + l'identifiant utilisateur ayant servi à l'authentification HTTP + (l'identifiant utilisateur web) avec le propriétaire ou le groupe + du fichier demandé du point de vue du système de fichiers. Le nom + d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par + un module d'authentification comme mod_auth_basic + ou mod_auth_digest. + mod_authz_owner reconnaît deux arguments pour la + directive Require : + file-owner et file-group :

+ +
+
file-owner
+
Le nom d'utilisateur web utilisé pour l'authentification doit + correspondre au nom système du propriétaire du fichier demandé. En + d'autres termes, si le système indique jones comme + propriétaire du fichier demandé, le nom d'utilisateur fourni pour + l'authentification HTTP doit aussi être jones.
+ +
file-group
+
Le nom du groupe système du fichier demandé doit être présent + dans une base de données de groupes fournie, par exemple, par + mod_authz_groupfile ou + mod_authz_dbm, et le nom d'utilisateur web fourni + pour l'authentification doit être un membre de ce groupe. Par + exemple, si le système indique que le groupe (système) du fichier + demandé est accounts, le groupe accounts + doit apparaître dans la base de données des groupes, et le nom + d'utilisateur web utilisé pour l'authentification doit être un + membre de ce groupe.
+
+ +

Note

+

Si le module mod_authz_owner est utilisé pour + vérifier l'autorisation d'accès à une ressource qui n'est pas + vraiment présente dans le système de fichiers (en d'autres termes + une ressource virtuelle), il refusera l'accès.

+ +

En particulier, il n'accordera jamais l'accès à une ressource + du type "Vues + multiples" (MultiViews) d'un contenu négocié.

+
+
+
Support Apache!

Sujets

+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+
top
+
+

Exemples de configuration

+ +

Require file-owner

+

Considérons un serveur Web Apache fonctionnant sous un système + multi-utilisateurs, où les fichiers de chaque utilisateur sont + stockés dans ~/public_html/private. En supposant + qu'il n'existe qu'une seule base de données contenant les noms + d'utilisateurs web, et que ces noms d'utilisateurs correspondent + aux noms d'utilisateurs système qui sont les propriétaires + effectifs des fichiers, la configuration de l'exemple suivant + n'accordera l'autorisation d'accès aux fichiers qu'à leur + propriétaire. L'utilisateur jones ne sera pas + autorisé à accéder aux fichiers situés dans + /home/smith/public_html/private, à moins que leur + propriétaire ne soit jones au lieu de + smith.

+ +
<Directory "/home/*/public_html/private">
+    AuthType Basic
+    AuthName MyPrivateFiles
+    AuthBasicProvider dbm
+    AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
+    Require file-owner
+</Directory>
+ + + +

Require file-group

+

Considérons un système similaire à celui décrit ci-dessus, mais + où certains utilisateurs partagent leurs fichiers de projets dans + ~/public_html/project-foo. Le groupe système des + fichiers est foo, et il n'existe qu'une seule base de + données AuthDBMGroupFile qui contient + tous les noms d'utilisateurs web et leurs groupes d'appartenance. + Ces noms d'utilisateurs web doivent alors appartenir au moins au + groupe foo. En d'autres termes, si jones + et smith sont tous deux membres du groupe + foo, ils seront autorisés à accéder aux + répertoires project-foo de chacun d'entre eux.

+ +
<Directory "/home/*/public_html/project-foo">
+    AuthType Basic
+    AuthName "Project Foo Files"
+    AuthBasicProvider dbm
+    
+    # combined user/group database
+    AuthDBMUserFile  "/usr/local/apache2/etc/.htdbm-all"
+    AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all"
+    
+    Satisfy All
+    Require file-group
+</Directory>
+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html.ja.utf8 b/docs/manual/mod/mod_authz_owner.html.ja.utf8 new file mode 100644 index 0000000..2e0f724 --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.ja.utf8 @@ -0,0 +1,182 @@ + + + + + +mod_authz_owner - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_authz_owner

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:ファイルã®æ‰€æœ‰è€…ã«åŸºã¥ã„ãŸæ‰¿èª
ステータス:Extension
モジュール識別å­:authz_owner_module
ソースファイル:mod_authz_owner.c
互æ›æ€§:Apache 2.1 以é™ã§ä½¿ç”¨å¯èƒ½
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã® + 所有者やグループを HTTP èªè¨¼ã«ä½¿ã‚ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ ID (ウェブユーザ ID) 㨠+ 比較ã™ã‚‹ã“ã¨ã§ã‚¢ã‚¯ã‚»ã‚¹ã‚’承èªã—ã¾ã™ã€‚æä¾›ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶åã¨ãƒ‘スワード㯠+ mod_auth_basic ã‚„ + mod_auth_digest ã®ã‚ˆã†ãªèªè¨¼ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§æ—¢ã« + é©åˆ‡ã«æ¤œè¨¼ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚mod_authz_owner + ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã€Require ディレクティブ㮠file-owner 㨠+ file-group ã¨ã„ã†äºŒã¤ã®å¼•æ•°ã‚’èªè­˜ã—ã¾ã™:

+ +
+
file-owner
+
æä¾›ã•ã‚ŒãŸã‚¦ã‚§ãƒ–ユーザåã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æ‰€æœ‰è€…ã® + システムã«ãŠã‘ã‚‹åå‰ã¨ä¸€è‡´ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã¤ã¾ã‚Šã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚° + システムãŒãƒ•ã‚¡ã‚¤ãƒ«ã¯ jones ã«ã‚ˆã‚Šæ‰€æœ‰ã•ã‚Œã¦ã„ã‚‹ + ã¨è¨€ã£ãŸã¨ãã¯ã€ã‚¦ã‚§ãƒ–ã‹ã‚‰ã®ã‚¢ã‚¯ã‚»ã‚¹ã«ä½¿ã‚れるユーザåã‚‚ + jones ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ +
file-group
+
ファイルを所有ã™ã‚‹ã‚·ã‚¹ãƒ†ãƒ ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®åå‰ãŒã€ä¾‹ãˆã° + mod_authz_groupfile ã‚„ mod_authz_dbm + ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ãƒ—データベースã«å­˜åœ¨ã—ã¦ã„ã¦ã€ + ウェブユーザåãŒãã®ã‚°ãƒ«ãƒ¼ãƒ—ã«å±žã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + 例ãˆã°ã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ãŒãƒ•ã‚¡ã‚¤ãƒ«ã¯ (システムã®) グループ + accounts ã«ã‚ˆã‚Šæ‰€æœ‰ã•ã‚Œã¦ã„ã‚‹ã¨è¨€ã£ãŸã¨ãã¯ã€ + accounts ãŒã‚°ãƒ«ãƒ¼ãƒ—データベースã«å­˜åœ¨ã—ã¦ã€ + リクエストã«ä½¿ç”¨ã•ã‚ŒãŸã‚¦ã‚§ãƒ–ユーザåãŒãã®ã‚°ãƒ«ãƒ¼ãƒ—ã«å±žã—ã¦ã„ã‚‹ + å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+
+ +

注

+

ファイルシステムã«å®Ÿéš›ã«ã¯å­˜åœ¨ã—ãªã„リソース + (ã¤ã¾ã‚Š ãƒãƒ¼ãƒãƒ£ãƒ«ãªãƒªã‚½ãƒ¼ã‚¹) ã®æ‰¿èªã« + mod_authz_owner ãŒä½¿ç”¨ã•ã‚ŒãŸã¨ãã¯ã€ + アクセスã¯æ‹’å¦ã•ã‚Œã¾ã™ã€‚

+ +

特ã«ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆ + ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã•ã‚ŒãŸ"MultiViews" ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ + 決ã—ã¦æ‰¿èªã—ã¾ã›ã‚“。

+
+
+
Support Apache!

トピック

+

ディレクティブ

+

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚ã‚Šã¾ã›ã‚“。

+

Bugfix checklist

å‚ç…§

+
+
top
+
+

設定例

+ +

Require file-owner

+

複数ユーザã®ã‚·ã‚¹ãƒ†ãƒ ã§ Apache ウェブサーãƒãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã¦ã€ + ~/public_html/private ã«å„ユーザãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’ç½®ã„ã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚ + AuthDBMUserFile + データベースãŒä¸€ã¤ã ã‘ã‚ã‚Šã€ã™ã¹ã¦ã®ã‚¦ã‚§ãƒ–ユーザåãŒåˆ—挙ã•ã‚Œã¦ãŠã‚Šã€ + ã“ã®ãƒ¦ãƒ¼ã‚¶åãŒã‚µãƒ¼ãƒã§å®Ÿéš›ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’所有ã—ã¦ã„るユーザåã¨ä¸€è‡´ã—ã¦ã„ã‚‹å ´åˆã€ + 次ã®ç¯€ã®ã‚ˆã†ãªè¨­å®šã§ã€ãƒ¦ãƒ¼ã‚¶ãŒè‡ªåˆ†è‡ªèº«ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + /home/smith/public_html/private ã®ä¸­ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€æ‰€æœ‰è€…㌠+ smith ã®ä»£ã‚ã‚Šã« jones ã«ãªã£ã¦ã„ãªã„é™ã‚Šã€ + jones ã«ã¯ã‚¢ã‚¯ã‚»ã‚¹ã¯è¨±å¯ã•ã‚Œã¾ã›ã‚“。

+ +

+ <Directory /home/*/public_html/private>
+ + AuthType Basic
+ AuthName MyPrivateFiles
+ AuthBasicProvider dbm
+ AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all
+ Require file-owner
+
+ </Directory> +

+ + +

Require file-group

+

上記ã®ã‚ˆã†ãªã‚·ã‚¹ãƒ†ãƒ ã§ã€æ•°äººã®ãƒ¦ãƒ¼ã‚¶ãŒãƒ—ロジェクトã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + ~/public_html/project-foo ã§å…±æœ‰ã—ã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚ + ファイルã¯ã‚·ã‚¹ãƒ†ãƒ ã®ã‚°ãƒ«ãƒ¼ãƒ— foo ã«æ‰€æœ‰ã•ã‚Œã¦ã„ã¦ã€ + AuthDBMGroupFile + データベースãŒä¸€ã¤ã ã‘ã‚ã‚Šã€ãã“ã«ã™ã¹ã¦ã®ã‚¦ã‚§ãƒ–ユーザå㨠+ グループã®ãƒ¡ãƒ³ãƒãŒåˆ—挙ã•ã‚Œã¦ã„ã‚‹ã€ã¤ã¾ã‚Šã€ãれら㮠+ ユーザã¯å°‘ãªãã¨ã‚‚ foo ã¨ã„ã†ã‚°ãƒ«ãƒ¼ãƒ—ã«å±žã—ã¦ã„ã‚‹ã€ã¨ã—ã¾ã™ã€‚ + jones ã¨smith ã®äºŒäººå…±ãŒã‚°ãƒ«ãƒ¼ãƒ— + foo ã®ãƒ¡ãƒ³ãƒã§ã‚ã‚‹å ´åˆã€ã©ã¡ã‚‰ã®äººã‚‚両方㮠+ project-foo ã«ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚Œã¾ã™ã€‚

+ +

+ <Directory /home/*/public_html/project-foo>
+ + AuthType Basic
+ AuthName "Project Foo Files"
+ AuthBasicProvider dbm
+
+ # combined user/group database
+ AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all
+ AuthDBMGroupFile /usr/local/apache2/etc/.htdbm-all
+
+ Satisfy All
+ Require file-group
+
+ </Directory> +

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html.ko.euc-kr b/docs/manual/mod/mod_authz_owner.html.ko.euc-kr new file mode 100644 index 0000000..262b94f --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.ko.euc-kr @@ -0,0 +1,177 @@ + + + + + +mod_authz_owner - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_authz_owner

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:ÆÄÀÏ ¼ÒÀ¯ÀÚ¸¦ ÀÌ¿ëÇÑ ±ÇÇѺο©
»óÅÂ:Extension
¸ðµâ¸í:authz_owner_module
¼Ò½ºÆÄÀÏ:mod_authz_owner.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº HTTP ÀÎÁõ¿¡ »ç¿ëÇÑ »ç¿ëÀÚ ¾ÆÀ̵ð(À¥ »ç¿ëÀÚ + ¾ÆÀ̵ð)¸¦ ¿äûÇÑ ÆÄÀÏÀÇ ÆÄÀϽýºÅÛ ¼ÒÀ¯ÀÚ/±×·ì°ú ºñ±³ÇÏ¿© + ÆÄÀÏÀÇ Á¢±Ù±ÇÇÑÀ» ºÎ¿©ÇÑ´Ù. ¿©±â¼­ »ç¿ëÀÚ¸í°ú ¾ÏÈ£´Â ÀÌ¹Ì + mod_auth_basicÀ̳ª + mod_auth_digest °°Àº ÀÎÁõ¸ðµâÀÇ È®ÀÎÀ» + °ÅÃÆ´Ù. mod_authz_owner´Â Require Áö½Ã¾îÀÇ ´ÙÀ½ µÎ ¾Æ±Ô¸ÕÆ®, + file-owner¿Í file-groupÀ» ó¸®ÇÑ´Ù:

+ +
+
file-owner
+
À¥ »ç¿ëÀÚ¸íÀÌ ¿äûÇÑ ÆÄÀÏ ¼ÒÀ¯ÀÚÀÇ ½Ã½ºÅÛ À̸§°ú °°¾Æ¾ß + ÇÑ´Ù. Áï, ¿î¿µÃ¼Á¦°¡ ¿äûÇÑ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ°¡ + jones¶ó¸é, À¥À» ÅëÇØ ÆÄÀÏ¿¡ Á¢±ÙÇÏ´Â »ç¿ëÀÚµµ + ¸¶Âù°¡Áö·Î jonesÀ̾î¾ß ÇÑ´Ù.
+ +
file-group
+
ÆÄÀÏÀ» ¼ÒÀ¯ÇÑ ½Ã½ºÅÛ ±×·ì¸íÀÌ + mod_authz_groupfileÀ̳ª + mod_authz_dbm°ú °°Àº ±×·ì µ¥ÀÌÅͺ£À̽º¿¡ + ÀÖ°í, À¥ »ç¿ëÀÚ¸íÀÌ ÇØ´ç ±×·ì¿¡ ¼ÓÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, + ¿î¿µÃ¼Á¦°¡ ¿äûÇÑ ÆÄÀÏÀ» accounts (½Ã½ºÅÛ) + ±×·ìÀÌ ¼ÒÀ¯ÇÏ°í ÀÖ´Ù¸é, ±×·ì µ¥ÀÌÅͺ£À̽º¿¡ + accounts¶ó´Â ±×·ìÀÌ ÀÖ°í ¿äû¿¡ »ç¿ëÇÑ À¥ + »ç¿ëÀÚ¸íÀÌ ±× ±×·ì¿¡ ¼ÓÇØ¾ß ÇÑ´Ù.
+
+ +

ÁÖÀÇ

+

mod_authz_owner°¡ ½ÇÁ¦·Î ÆÄÀϽýºÅÛ¿¡ + ÀÖÁö ¾Ê´Â ÀÚ¿øÀ» (Áï, °¡»ó ÀÚ¿ø) ±ÇÇѺο©ÇÑ´Ù¸é, + Á¢±ÙÀ» °ÅºÎÇÑ´Ù.

+ +

ƯÈ÷ ³»¿ëÇù»óÇÑ + "MultiViews" ÀÚ¿øÀ» ±ÇÇѺο©ÇÏÁö ¾Ê´Â´Ù.

+
+
+
Support Apache!

ÁÖÁ¦

+

Áö½Ã¾îµé

+

ÀÌ ¸ðµâ¿¡´Â Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.

+

Bugfix checklist

Âü°í

+
+
top
+
+

¼³Á¤ ¿¹Á¦

+ +

Require file-owner

+

¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ¿î¿µÇÏ´Â ´ÙÁß»ç¿ëÀÚ ½Ã½ºÅÛ¿¡¼­ °¢ »ç¿ëÀÚ°¡ + ~/public_html/private¿¡ ÀÚ½ÅÀÇ ÆÄÀÏÀ» ÀúÀåÇÑ´Ù°í + °¡Á¤ÇÏÀÚ. ¸ðµç À¥ »ç¿ëÀÚ¸íÀ» ÀúÀåÇÏ´Â AuthDBMUserFile + µ¥ÀÌÅͺ£À̽º°¡ ÀÖ°í, ¿©±â¿¡ ÀúÀåµÈ »ç¿ëÀÚ¸íÀº ¼­¹ö¿¡¼­ + ½ÇÁ¦ ÆÄÀÏÀ» ¼ÒÀ¯ÇÏ´Â ½Ã½ºÅÛ »ç¿ëÀÚ¸í°ú µ¿ÀÏÇÏ´Ù. ÀÌ °æ¿ì + ¾Æ·¡ ¼³Á¤Àº ÆÄÀÏ ¼ÒÀ¯ÀÚ¿¡°Ô¸¸ Á¢±ÙÀ» Çã¿ëÇÑ´Ù. »ç¿ëÀÚ + jones´Â ÆÄÀÏÀ» jones°¡ ¾Æ´Ñ + smith°¡ ¼ÒÀ¯ÇÏ°í ÀÖ´Â ÇÑ + /home/smith/public_html/private¿¡ ÀÖ´Â ÆÄÀÏ¿¡ + Á¢±ÙÇÒ ¼ö ¾ø´Ù.

+ +

+ <Directory /home/*/public_html/private>
+ + AuthType Basic
+ AuthName MyPrivateFiles
+ AuthBasicProvider dbm
+ AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all
+ Satisfy All
+ Require file-owner
+
+ </Directory> +

+ + +

Require file-group

+

À§¿Í »óȲÀÌ ºñ½ÁÇÏÁö¸¸ ¿©·¯¸íÀÌ + ~/public_html/project-foo¿¡ ÇÁ·ÎÁ§Æ® ÆÄÀÏÀ» + °øÀ¯ÇÑ´Ù°í °¡Á¤ÇÏÀÚ. ÆÄÀϵéÀº ½Ã½ºÅÛ ±×·ì foo°¡ + ¼ÒÀ¯Çϸç, ¸ðµç À¥ »ç¿ëÀÚ¸í°ú »ç¿ëÀÚ ±×·ìÀ» ±â·ÏÇÏ´Â AuthDBMGroupFile + µ¥ÀÌÅͺ£À̽º°¡ ÀÖ´Ù. Áï, ÃÖ¼ÒÇÑ foo¶ó´Â + ±×·ì¿¡ ±¸¼º¿øÀÌ ÀÖ´Ù. jones¿Í + smith°¡ ¸ðµÎ ±×·ì fooÀÇ + ±¸¼º¿øÀ̶ó¸é, µÑ ¸ðµÎ project-foo µð·ºÅ丮¿¡ + Á¢±ÙÇÒ ¼ö ÀÖ´Ù.

+ +

+ <Directory /home/*/public_html/project-foo>
+ + AuthType Basic
+ AuthName "Project Foo Files"
+ AuthBasicProvider dbm
+
+ # combined user/group database
+ AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all
+ AuthDBMGroupFile /usr/local/apache2/etc/.htdbm-all
+
+ Satisfy All
+ Require file-group
+
+ </Directory> +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html b/docs/manual/mod/mod_authz_user.html new file mode 100644 index 0000000..0bad215 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_user.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_user.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_user.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_user.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_user.html.en b/docs/manual/mod/mod_authz_user.html.en new file mode 100644 index 0000000..acd841c --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.en @@ -0,0 +1,122 @@ + + + + + +mod_authz_user - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_authz_user

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:User Authorization
Status:Base
Module Identifier:authz_user_module
Source File:mod_authz_user.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site. mod_authz_user grants + access if the authenticated user is listed in a Require user + directive. Alternatively Require valid-user can be used to + grant access to all successfully authenticated users.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

The Require Directives

+ +

Apache's Require + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_user extends the + authorization types with user and valid-user. +

+ +

Since v2.4.8, expressions are supported + within the user require directives.

+ +

Require user

+ +

This directive specifies a list of users that are allowed to gain + access.

+ +
Require user john paul george ringo
+ + + + +

Require valid-user

+ +

When this directive is specified, any successfully authenticated + user will be allowed to gain access.

+ +
Require valid-user
+ + + + +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html.fr.utf8 b/docs/manual/mod/mod_authz_user.html.fr.utf8 new file mode 100644 index 0000000..0860641 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.fr.utf8 @@ -0,0 +1,124 @@ + + + + + +mod_authz_user - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_authz_user

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Autorisation basée sur l'utilisateur
Statut:Base
Identificateur de Module:authz_user_module
Fichier Source:mod_authz_user.c
Compatibilité:Disponible depuis les versions 2.1 et supérieures +d'Apache
+

Sommaire

+ +

Ce module permet d'accorder ou de refuser l'accès à certaines + zones du site web aux utilisateurs authentifiés. + mod_authz_user accorde l'accès si l'utilisateur + authentifié fait partie de la liste spécifiée par une directive + Require user. On peut aussi utiliser la directive + Require valid-user pour accorder l'accès à tous les + utilisateurs qui ont été authentifiés avec succès.

+
+
Support Apache!

Sujets

+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+
top
+
+

The Require Directives

+ +

Les directives Require d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une + ressource. mod_authz_user ajoute + les types d'autorisation user et valid-user. +

+ +

A partir de la version 2.4.8, les directives require DBM + supportent les expressions.

+ +

Require user

+ +

Cette directive permet de spécifier une liste d'utilisateurs + autorisés à accéder à la ressource.

+ +
Require user john paul george ringo
+ + + + +

Require valid-user

+ +

Lorsque cette directive est définie, tout utilisateur qui s'est + authentifié avec succès aura l'autorisation d'accès à la ressource.

+ +
Require valid-user
+ + + + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html.ja.utf8 b/docs/manual/mod/mod_authz_user.html.ja.utf8 new file mode 100644 index 0000000..f7e5d78 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.ja.utf8 @@ -0,0 +1,90 @@ + + + + + +mod_authz_user - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_authz_user

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:ユーザ承èª
ステータス:Base
モジュール識別å­:authz_user_module
ソースファイル:mod_authz_user.c
互æ›æ€§:Apache 2.1 以é™ã§ä½¿ç”¨å¯èƒ½
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€èªè¨¼ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã«ã‚¦ã‚§ãƒ–サイトã®ä¸€éƒ¨ã¸ã® + アクセスを許å¯ã—ãŸã‚Šæ‹’å¦ã—ãŸã‚Šã™ã‚‹ãŸã‚ã®æ‰¿èªæ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ + mod_authz_user ã¯èªè¨¼ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãŒ + Require user ディレクティブã«æ›¸ã‹ã‚Œã¦ã„れ㰠+ アクセスをèªã‚ã¾ã™ã€‚èªè¨¼ã«æˆåŠŸã—ãŸãƒ¦ãƒ¼ã‚¶ã™ã¹ã¦ã«ã‚¢ã‚¯ã‚»ã‚¹ã‚’ + 許å¯ã™ã‚‹ã«ã¯ã€ä»£ã‚ã‚Šã« Require valid-user ã‚’ + 使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚ã‚Šã¾ã›ã‚“。

+

Bugfix checklist

å‚ç…§

+
+ +
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html.ko.euc-kr b/docs/manual/mod/mod_authz_user.html.ko.euc-kr new file mode 100644 index 0000000..a7666d3 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.ko.euc-kr @@ -0,0 +1,88 @@ + + + + + +mod_authz_user - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_authz_user

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:»ç¿ëÀÚ ±ÇÇѺο©
»óÅÂ:Base
¸ðµâ¸í:authz_user_module
¼Ò½ºÆÄÀÏ:mod_authz_user.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ±ÇÇÑÀ» ºÎ¿©ÇÏ¿©, ÀÎÁõÇÑ »ç¿ëÀÚ°¡ À¥»çÀÌÆ®ÀÇ + ÀϺο¡ Á¢±ÙÇÒ ¼ö ÀÖ´ÂÁö °áÁ¤ÇÑ´Ù. + mod_authz_user´Â Require user + Áö½Ã¾î ¸ñ·Ï¿¡ ÀÎÁõÇÑ »ç¿ëÀÚ°¡ µé¾îÀÖÀ¸¸é Á¢±ÙÀ» Çã¿ëÇÑ´Ù. + ¶Ç, require valid-user´Â ¼º°øÀûÀ¸·Î ÀÎÁõÇÑ + »ç¿ëÀÚ ¸ðµÎ¿¡°Ô Á¢±ÙÀ» Çã¿ëÇÑ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+

ÀÌ ¸ðµâ¿¡´Â Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.

+

Bugfix checklist

Âü°í

+
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html b/docs/manual/mod/mod_autoindex.html new file mode 100644 index 0000000..6aaecc1 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_autoindex.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_autoindex.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_autoindex.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_autoindex.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_autoindex.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_autoindex.html.en b/docs/manual/mod/mod_autoindex.html.en new file mode 100644 index 0000000..95bb676 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.en @@ -0,0 +1,1072 @@ + + + + + +mod_autoindex - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_autoindex

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Generates directory indexes, + automatically, similar to the Unix ls command or the + Win32 dir shell command
Status:Base
Module Identifier:autoindex_module
Source File:mod_autoindex.c
+

Summary

+ +

The index of a directory can come from one of two + sources:

+ +
    +
  • A file located in that directory, typically called + index.html. The DirectoryIndex directive sets the + name of the file or files to be used. This is controlled by + mod_dir.
  • + +
  • Otherwise, a listing generated by the server. The other + directives control the format of this listing. The AddIcon, AddIconByEncoding and + AddIconByType are + used to set a list of icons to display for various file types; + for each file listed, the first icon listed that matches the + file is displayed. These are controlled by + mod_autoindex.
  • +
+

The two functions are separated so that you can completely + remove (or replace) automatic index generation should you want + to.

+ +

Automatic index generation is enabled with using + Options +Indexes. See the + Options directive for + more details.

+ +

If the FancyIndexing option is given with the IndexOptions directive, + the column headers are links that control the order of the + display. If you select a header link, the listing will be + regenerated, sorted by the values in that column. Selecting the + same header repeatedly toggles between ascending and descending + order. These column header links are suppressed with the + IndexOptions directive's + SuppressColumnSorting + option.

+ +

Note that when the display is sorted by "Size", it's the + actual size of the files that's used, not the + displayed value - so a 1010-byte file will always be displayed + before a 1011-byte file (if in ascending order) even though + they both are shown as "1K".

+
+ +
top
+
+

Autoindex Request Query Arguments

+ + +

Various query string arguments are available to give the client + some control over the ordering of the directory listing, as well as + what files are listed. If you do not wish to give the client this + control, the IndexOptions + IgnoreClient option disables that functionality.

+ +

The column sorting headers themselves are self-referencing + hyperlinks that add the sort query options shown below. Any + option below may be added to any request for the directory + resource.

+ +
    +
  • C=N sorts the directory by file name
  • + +
  • C=M sorts the directory by last-modified + date, then file name
  • + +
  • C=S sorts the directory by size, then file + name
  • + +
  • C=D sorts the directory by description, then + file name
  • + +
  • O=A sorts the listing in Ascending + Order
  • + +
  • O=D sorts the listing in Descending + Order
  • + +
  • F=0 formats the listing as a simple list + (not FancyIndexed)
  • + +
  • F=1 formats the listing as a FancyIndexed + list
  • + +
  • F=2 formats the listing as an + HTMLTable FancyIndexed list
  • + +
  • V=0 disables version sorting
  • + +
  • V=1 enables version sorting
  • + +
  • P=pattern lists only files matching + the given pattern
  • +
+ +

Note that the 'P'attern query argument is tested + after the usual IndexIgnore directives are processed, + and all file names are still subjected to the same criteria as + any other autoindex listing. The Query Arguments parser in + mod_autoindex will stop abruptly when an unrecognized + option is encountered. The Query Arguments must be well formed, + according to the table above.

+ +

The simple example below, which can be clipped and saved in + a header.html file, illustrates these query options. Note that + the unknown "X" argument, for the submit button, is listed last + to assure the arguments are all parsed before mod_autoindex + encounters the X=Go input.

+ +

Example

<form action="" method="get">
+    Show me a <select name="F">
+        <option value="0"> Plain list</option>
+        <option value="1" selected="selected"> Fancy list</option>
+        <option value="2"> Table list</option>
+    </select>
+    Sorted by <select name="C">
+        <option value="N" selected="selected"> Name</option>
+        <option value="M"> Date Modified</option>
+        <option value="S"> Size</option>
+        <option value="D"> Description</option>
+    </select>
+    <select name="O">
+        <option value="A" selected="selected"> Ascending</option>
+        <option value="D"> Descending</option>
+    </select>
+    <select name="V">
+        <option value="0" selected="selected"> in Normal order</option>
+        <option value="1"> in Version order</option>
+    </select>
+    Matching <input type="text" name="P" value="*" />
+    <input type="submit" name="X" value="Go" />
+</form>
+
+ +
+
top
+

AddAlt Directive

+ + + + + + + +
Description:Alternate text to display for a file, instead of an +icon selected by filename
Syntax:AddAlt string file [file] ...
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

AddAlt provides the alternate text to + display for a file, instead of an icon, for FancyIndexing. + File is a file extension, partial filename, wild-card + expression or full filename for files to describe. + If String contains any whitespace, you have to enclose it + in quotes (" or '). This alternate text + is displayed if the client is image-incapable, has image loading + disabled, or fails to retrieve the icon.

+ +
AddAlt "PDF file" *.pdf
+AddAlt Compressed *.gz *.zip *.Z
+ + +
+
top
+

AddAltByEncoding Directive

+ + + + + + + +
Description:Alternate text to display for a file instead of an icon +selected by MIME-encoding
Syntax:AddAltByEncoding string MIME-encoding +[MIME-encoding] ...
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

AddAltByEncoding provides the alternate + text to display for a file, instead of an icon, for FancyIndexing. + MIME-encoding is a valid content-encoding, such as + x-compress. If String contains any whitespace, + you have to enclose it in quotes (" or '). + This alternate text is displayed if the client is image-incapable, + has image loading disabled, or fails to retrieve the icon.

+ +
AddAltByEncoding gzip x-gzip
+ + +
+
top
+

AddAltByType Directive

+ + + + + + + +
Description:Alternate text to display for a file, instead of an +icon selected by MIME content-type
Syntax:AddAltByType string MIME-type +[MIME-type] ...
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

AddAltByType sets the alternate text to + display for a file, instead of an icon, for FancyIndexing. + MIME-type is a valid content-type, such as + text/html. If String contains any whitespace, + you have to enclose it in quotes (" or '). + This alternate text is displayed if the client is image-incapable, + has image loading disabled, or fails to retrieve the icon.

+ +
AddAltByType 'plain text' text/plain
+ + +
+
top
+

AddDescription Directive

+ + + + + + + +
Description:Description to display for a file
Syntax:AddDescription string file [file] ...
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

This sets the description to display for a file, for + FancyIndexing. + File is a file extension, partial filename, wild-card + expression or full filename for files to describe. + String is enclosed in double quotes (").

+ +
AddDescription "The planet Mars" mars.gif
+AddDescription "My friend Marshall" friends/mars.gif
+ + +

The typical, default description field is 23 bytes wide. 6 + more bytes are added by the IndexOptions SuppressIcon option, 7 bytes are + added by the IndexOptions SuppressSize option, and 19 bytes are + added by the IndexOptions SuppressLastModified option. + Therefore, the widest default the description column is ever + assigned is 55 bytes.

+ +

Since the File argument may be a partial file name, + please remember that a too-short partial filename may match + unintended files. For example, le.html will match the + file le.html but will also match the file + example.html. In the event that there may be ambiguity, + use as complete a filename as you can, but keep in mind that the + first match encountered will be used, and order your list of + AddDescription directives accordingly.

+ +

See the DescriptionWidth IndexOptions keyword for details on overriding the size + of this column, or allowing descriptions of unlimited length.

+ +

Caution

+

Descriptive text defined with AddDescription + may contain HTML markup, such as tags and character entities. If the + width of the description column should happen to truncate a tagged + element (such as cutting off the end of a bolded phrase), the + results may affect the rest of the directory listing.

+
+ +

Arguments with path information

+

Absolute paths are not currently supported and do not match + anything at runtime. Arguments with relative path information, + which would normally only be used in htaccess context, are implicitly + prefixed with '*/' to avoid matching partial directory names.

+
+ + +
+
top
+

AddIcon Directive

+ + + + + + + +
Description:Icon to display for a file selected by name
Syntax:AddIcon icon name [name] +...
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

This sets the icon to display next to a file ending in + name for FancyIndexing. Icon is either a (%-escaped) + relative URL to the icon, a fully qualified remote URL, or of the format + (alttext,url) where alttext + is the text tag given for an icon for non-graphical browsers.

+ +

Name is either ^^DIRECTORY^^ for directories, + ^^BLANKICON^^ for blank lines (to format the list + correctly), a file extension, a wildcard expression, a partial + filename or a complete filename.

+ +

^^BLANKICON^^ is only used for formatting, and so + is unnecessary if you're using IndexOptions + HTMLTable.

+ +
#Examples
+AddIcon (IMG,/icons/image.png) .gif .jpg .png
+AddIcon /icons/dir.png ^^DIRECTORY^^
+AddIcon /icons/backup.png *~
+ + +

AddIconByType + should be used in preference to AddIcon, + when possible.

+ +
+
top
+

AddIconByEncoding Directive

+ + + + + + + +
Description:Icon to display next to files selected by MIME +content-encoding
Syntax:AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

This sets the icon to display next to files with FancyIndexing. + Icon is either a (%-escaped) relative URL to the icon, + a fully qualified remote URL, + or of the format (alttext,url) + where alttext is the text tag given for an icon for + non-graphical browsers.

+ +

MIME-encoding is a valid content-encoding, such as + x-compress.

+ +
AddIconByEncoding /icons/compress.png x-compress
+ + +
+
top
+

AddIconByType Directive

+ + + + + + + +
Description:Icon to display next to files selected by MIME +content-type
Syntax:AddIconByType icon MIME-type +[MIME-type] ...
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

This sets the icon to display next to files of type + MIME-type for FancyIndexing. + Icon is either a (%-escaped) relative URL to the icon, + a fully qualified remote URL, + or of the format (alttext,url) + where alttext is the text tag given for an icon for + non-graphical browsers.

+ +

MIME-type is a wildcard expression matching + required the mime types.

+ +
AddIconByType (IMG,/icons/image.png) image/*
+ + +
+
top
+

DefaultIcon Directive

+ + + + + + + +
Description:Icon to display for files when no specific icon is +configured
Syntax:DefaultIcon url-path
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The DefaultIcon directive sets the icon + to display for files when no specific icon is known, for FancyIndexing. + Url-path is a (%-escaped) relative URL to the icon, + or a fully qualified remote URL.

+ +
DefaultIcon /icon/unknown.png
+ + +
+
top
+

HeaderName Directive

+ + + + + + + +
Description:Name of the file that will be inserted at the top +of the index listing
Syntax:HeaderName filename
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The HeaderName directive sets the name + of the file that will be inserted at the top of the index + listing. Filename is the name of the file to include.

+ +
HeaderName HEADER.html
+ + +
+

Both HeaderName and ReadmeName now treat + Filename as a URI path relative to the one used to + access the directory being indexed. If Filename begins + with a slash, it will be taken to be relative to the DocumentRoot.

+ +
HeaderName /include/HEADER.html
+ + +

Filename must resolve to a document with a major + content type of text/* (e.g., + text/html, text/plain, etc.). This means + that filename may refer to a CGI script if the script's + actual file type (as opposed to its output) is marked as + text/html such as with a directive like:

+ +
AddType text/html .cgi
+ + +

Content negotiation + will be performed if Options + MultiViews is in effect. If filename resolves + to a static text/html document (not a CGI script) and + either one of the options + Includes or IncludesNOEXEC is enabled, + the file will be processed for server-side includes (see the + mod_include documentation).

+
+ +

If the file specified by HeaderName contains + the beginnings of an HTML document (<html>, <head>, etc.) + then you will probably want to set IndexOptions + +SuppressHTMLPreamble, so that these tags are not + repeated.

+ +

See also

+ +
+
top
+

IndexHeadInsert Directive

+ + + + + + + +
Description:Inserts text in the HEAD section of an index page.
Syntax:IndexHeadInsert "markup ..."
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The IndexHeadInsert directive specifies a + string to insert in the <head> section of the HTML + generated for the index page.

+
IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"
+ + +
+
top
+

IndexIgnore Directive

+ + + + + + + + +
Description:Adds to the list of files to hide when listing +a directory
Syntax:IndexIgnore file [file] ...
Default:IndexIgnore "."
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The IndexIgnore directive adds to the + list of files to hide when listing a directory. File is a + shell-style wildcard expression or full + filename. Multiple IndexIgnore directives add + to the list, rather than replacing the list of ignored + files. By default, the list contains . (the current + directory).

+ +
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
+ + +

Regular Expressions

+

This directive does not currently work in configuration sections + that have regular expression arguments, such as <DirectoryMatch> +

+
+ +
+
top
+

IndexIgnoreReset Directive

+ + + + + + + + +
Description:Empties the list of files to hide when listing +a directory
Syntax:IndexIgnoreReset ON|OFF
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
Compatibility:2.3.10 and later
+

The IndexIgnoreReset directive removes + any files ignored by IndexIgnore otherwise + inherited from other configuration sections.

+ +
<Directory "/var/www">
+    IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t
+</Directory>
+<Directory "/var/www/backups">
+    IndexIgnoreReset ON
+    IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t
+</Directory>
+ + +

Review the default configuration for a list of + patterns that you might want to explicitly ignore after using this + directive.

+ +
+
top
+

IndexOptions Directive

+ + + + + + + + +
Description:Various configuration settings for directory +indexing
Syntax:IndexOptions [+|-]option [[+|-]option] +...
Default:By default, no options are enabled.
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The IndexOptions directive specifies the + behavior of the directory indexing. Option can be one + of

+ +
+
AddAltClass
+
Adds an additional CSS class declaration to each row of the + directory listing table when IndexOptions HTMLTable + is in effect and an IndexStyleSheet is defined. + Rather than the standard even and odd + classes that would otherwise be applied to each row of the table, + a class of even-ALT or + odd-ALT where ALT is either the + standard alt text associated with the file style (eg. snd, + txt, img, etc) or the alt text defined by one of + the various AddAlt* directives. +
+ +
Charset=character-set
+ +
The Charset keyword allows you to + specify the character set of the generated page. The + default is UTF-8 on Windows and Mac OS X, + and ISO-8859-1 elsewhere. + (It depends on whether the underlying file system + uses Unicode filenames or not.) + +
IndexOptions Charset=UTF-8
+ +
+ +
DescriptionWidth=[n | *]
+ +
The DescriptionWidth keyword allows you to + specify the width of the description column in + characters.
+ +
-DescriptionWidth (or unset) allows + mod_autoindex to calculate the best width.
+ +
DescriptionWidth=n fixes the column width to + n bytes wide.
+ +
DescriptionWidth=* grows the column to the + width necessary to accommodate the longest description + string. + + See the section on AddDescription for dangers + inherent in truncating descriptions.
+ +
FancyIndexing
+ +
This turns on fancy indexing of directories.
+ +
FoldersFirst
+ +
If this option is enabled, subdirectory listings will + always appear first, followed by normal files in the + directory. The listing is basically broken into two + components, the files and the subdirectories, and each is + sorted separately and then displayed subdirectories-first. + For instance, if the sort order is descending by name, and + FoldersFirst is enabled, subdirectory + Zed will be listed before subdirectory + Beta, which will be listed before normal files + Gamma and Alpha. + This option only has an effect if FancyIndexing + is also enabled. +
+ +
HTMLTable
+ +
This option with FancyIndexing constructs + a simple table for the fancy directory listing. + It is necessary for utf-8 enabled platforms or if file + names or description text will alternate between + left-to-right and right-to-left reading order.
+ +
IconsAreLinks
+ +
This makes the icons part of the anchor for the filename, for + fancy indexing.
+ +
IconHeight[=pixels]
+ +
Presence of this option, when used with IconWidth, + will cause the server to include height and + width attributes in the img tag for the file + icon. This allows browser to precalculate the page layout without having + to wait until all the images have been loaded. If no value is given for + the option, it defaults to the standard height of the icons supplied + with the Apache httpd software. + + This option + only has an effect if FancyIndexing is also enabled. + +
+ +
IconWidth[=pixels]
+ +
Presence of this option, when used with IconHeight, + will cause the server to include height and + width attributes in the img tag for + the file icon. This allows browser to precalculate the page + layout without having to wait until all the images have been + loaded. If no value is given for the option, it defaults to + the standard width of the icons supplied with the Apache httpd + software.
+ +
IgnoreCase
+ +
If this option is enabled, names are sorted in a case-insensitive + manner. For instance, if the sort order is ascending by name, and + IgnoreCase is enabled, file Zeta will be listed after + file alfa (Note: file GAMMA will always be listed before file gamma). +
+ +
IgnoreClient
+ +
This option causes mod_autoindex to ignore all + query variables from the client, including sort order (implies + SuppressColumnSorting.)
+ +
NameWidth=[n + | *]
+ +
The NameWidth keyword allows you to specify the width + of the filename column in bytes.
+ +
-NameWidth (or unset) allows mod_autoindex to calculate the best width, but only up + to 20 bytes wide.
+ +
NameWidth=n fixes the column width to + n bytes wide.
+ +
NameWidth=* grows the column to the necessary + width.
+ +
ScanHTMLTitles
+ +
This enables the extraction of the title from HTML documents + for fancy indexing. If the file does not have a description + given by AddDescription + then httpd will read the document for the value of the + title element. This is CPU and disk intensive.
+ +
ShowForbidden
+ +
If specified, Apache httpd will show files normally hidden because + the subrequest returned HTTP_UNAUTHORIZED or + HTTP_FORBIDDEN
+ +
SuppressColumnSorting
+ +
If specified, Apache httpd will not make the column headings in a + FancyIndexed directory listing into links for sorting. The + default behavior is for them to be links; selecting the + column heading will sort the directory listing by the values + in that column. However, query string arguments which are appended + to the URL will still be honored. That behavior is controlled by IndexOptions + IgnoreClient.
+ +
SuppressDescription
+ +
This will suppress the file description in fancy indexing + listings. By default, no file descriptions are defined, and + so the use of this option will regain 23 characters of screen + space to use for something else. See AddDescription for information about setting the file + description. See also the DescriptionWidth + index option to limit the size of the description column. + + This option + only has an effect if FancyIndexing is also enabled. +
+ +
SuppressHTMLPreamble
+ +
If the directory actually contains a file specified by the + HeaderName + directive, the module usually includes the contents of the file + after a standard HTML preamble (<html>, + <head>, et cetera). The + SuppressHTMLPreamble option disables this behaviour, + causing the module to start the display with the header file + contents. The header file must contain appropriate HTML instructions + in this case. If there is no header file, the preamble is generated + as usual. If you also specify a ReadmeName, and if that file + exists, The closing </body></html> tags are also + omitted from the output, under the assumption that you'll likely + put those closing tags in that file.
+ +
SuppressIcon
+ +
This will suppress the icon in fancy indexing listings. + Combining both SuppressIcon and + SuppressRules yields proper HTML 3.2 output, which + by the final specification prohibits img and + hr elements from the pre block (used to + format FancyIndexed listings.)
+ +
SuppressLastModified
+ +
This will suppress the display of the last modification date, + in fancy indexing listings. + + This option + only has an effect if FancyIndexing is also enabled. +
+ +
SuppressRules +
+ +
This will suppress the horizontal rule lines (hr + elements) in directory listings. Combining both SuppressIcon and + SuppressRules yields proper HTML 3.2 output, which + by the final specification prohibits img and + hr elements from the pre block (used to + format FancyIndexed listings.) + + This option + only has an effect if FancyIndexing is also enabled. + +
+ +
SuppressSize
+ +
This will suppress the file size in fancy indexing listings. + + This option + only has an effect if FancyIndexing is also enabled. +
+ +
TrackModified
+ +
This returns the Last-Modified and ETag + values for the listed directory in the HTTP header. It is only valid + if the operating system and file system return appropriate stat() + results. Some Unix systems do so, as do OS2's JFS and Win32's + NTFS volumes. OS2 and Win32 FAT volumes, for example, do not. + Once this feature is enabled, the client or proxy can track + changes to the list of files when they perform a HEAD + request. Note some operating systems correctly track new and + removed files, but do not track changes for sizes or dates of + the files within the directory. Changes to the size + or date stamp of an existing file will not update the + Last-Modified header on all Unix platforms. + If this is a concern, leave this option disabled.
+ +
Type=MIME content-type
+ +
The Type keyword allows you to + specify the MIME content-type of the generated page. The default + is text/html. + +
IndexOptions Type=text/plain
+ +
+ +
UseOldDateFormat + (Apache HTTP Server 2.4.26 and later)
+ +
The date format used for the Last Modified field was + inadvertently changed to "%Y-%m-%d %H:%M" from + "%d-%b-%Y %H:%M" in 2.4.0. Setting this option + restores the date format from 2.2 and earlier.
+ +
VersionSort
+ +
The VersionSort keyword causes files containing + version numbers to sort in a natural way. Strings are sorted as + usual, except that substrings of digits in the name and + description are compared according to their numeric value. + +

Example:

+ foo-1.7
+ foo-1.7.2
+ foo-1.7.12
+ foo-1.8.2
+ foo-1.8.2a
+ foo-1.12 +

+ +

If the number starts with a zero, then it is considered to + be a fraction:

+ +

+ foo-1.001
+ foo-1.002
+ foo-1.030
+ foo-1.04 +

+
+ +
XHTML
+ +
The XHTML keyword forces mod_autoindex + to emit XHTML 1.0 code instead of HTML 3.2. + This option + only has an effect if FancyIndexing is also enabled. +
+ +
+ + + +
Incremental IndexOptions
+
+

Be aware of how multiple IndexOptions are + handled.

+ +
    +
  • Multiple IndexOptions directives for a + single directory are now merged together. The result of: + +
    <Directory "/foo">
    +    IndexOptions HTMLTable
    +    IndexOptions SuppressColumnsorting
    +</Directory>
    + + +

    will be the equivalent of

    + +
    IndexOptions HTMLTable SuppressColumnsorting
    + +
  • + +
  • The addition of the incremental syntax (i.e., prefixing + keywords with + or -).
  • +
+ +

Whenever a '+' or '-' prefixed keyword is encountered, it + is applied to the current IndexOptions + settings (which may have been inherited from an upper-level + directory). However, whenever an unprefixed keyword is processed, it + clears all inherited options and any incremental settings encountered + so far. Consider the following example:

+ +
IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
+IndexOptions +SuppressSize
+ + +

The net effect is equivalent to IndexOptions FancyIndexing + +SuppressSize, because the unprefixed FancyIndexing + discarded the incremental keywords before it, but allowed them to + start accumulating again afterward.

+ +

To unconditionally set the IndexOptions for + a particular directory, clearing the inherited settings, specify + keywords without any + or - prefixes.

+
+
+ +
+
top
+

IndexOrderDefault Directive

+ + + + + + + + +
Description:Sets the default ordering of the directory index
Syntax:IndexOrderDefault Ascending|Descending +Name|Date|Size|Description
Default:IndexOrderDefault Ascending Name
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The IndexOrderDefault directive is used + in combination with the FancyIndexing index option. By default, fancyindexed + directory listings are displayed in ascending order by filename; the + IndexOrderDefault allows you to change this + initial display order.

+ +

IndexOrderDefault takes two + arguments. The first must be either Ascending or + Descending, indicating the direction of the sort. + The second argument must be one of the keywords Name, + Date, Size, or Description, + and identifies the primary key. The secondary key is + always the ascending filename.

+ +

You can, if desired, prevent the client from reordering the list + by also adding the SuppressColumnSorting + index option to remove the sort link from the top of the column, + along with the IgnoreClient index + option to prevent them from manually adding sort options to the + query string in order to override your ordering preferences.

+ +
+
top
+

IndexStyleSheet Directive

+ + + + + + + +
Description:Adds a CSS stylesheet to the directory index
Syntax:IndexStyleSheet url-path
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The IndexStyleSheet directive sets the name of + the file that will be used as the CSS for the index listing. +

+
IndexStyleSheet "/css/style.css"
+ + +

Using this directive in conjunction with IndexOptions + HTMLTable adds a number of CSS classes to the resulting HTML. + The entire table is given a CSS id of indexlist and the + following classes are associated with the various parts of the + listing:

+ + + + + + + + + + +
ClassDefinition
tr.indexheadHeader row of listing
th.indexcolicon and td.indexcolicon Icon column
th.indexcolname and td.indexcolname File name column
th.indexcollastmod and td.indexcollastmod Last modified column
th.indexcolsize and td.indexcolsize File size column
th.indexcoldesc and td.indexcoldesc Description column
tr.breakrow Horizontal rule at the bottom of the table
tr.odd and tr.even Alternating even and odd rows
+ + +
+
top
+

ReadmeName Directive

+ + + + + + + +
Description:Name of the file that will be inserted at the end +of the index listing
Syntax:ReadmeName filename
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_autoindex
+

The ReadmeName directive sets the name + of the file that will be appended to the end of the index + listing. Filename is the name of the file to include, and + is taken to be relative to the location being indexed. If + Filename begins with a slash, as in example 2, it will be taken to be + relative to the DocumentRoot. +

+ +
# Example 1
+ReadmeName FOOTER.html
+ + +
# Example 2
+ReadmeName /include/FOOTER.html
+ + +

See also HeaderName, where this behavior is described in greater + detail.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.fr.utf8 b/docs/manual/mod/mod_autoindex.html.fr.utf8 new file mode 100644 index 0000000..0c37f87 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.fr.utf8 @@ -0,0 +1,1150 @@ + + + + + +mod_autoindex - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_autoindex

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Génère automatiquement des index de répertoires d'une +manière similaire à la commande Unix ls, ou à la commande +shell Win32 dir
Statut:Base
Identificateur de Module:autoindex_module
Fichier Source:mod_autoindex.c
+

Sommaire

+ +

L'index d'un répertoire peut être généré de deux manières :

+ +
    +
  • Un fichier situé dans ce répertoire, en général appelé + index.html, mais dont le nom de ce ou ces fichiers peut être défini par la + directive DirectoryIndex. C'est le module + mod_dir qui traite alors cet index.
  • + +
  • Un listing généré par le serveur, dont le format est contrôlé + par un certain nombre de directives. Les directives AddIcon, AddIconByEncoding et AddIconByType permettent de + définir une liste d'icônes à afficher en fonction des différents + types de fichiers ; pour chaque fichier listé, le premier icône + qui correspond au type du fichier est affiché. C'est le module + mod_autoindex qui traite alors cet index.
  • +
+

Les deux fonctions sont séparées, si bien que vous pouvez + entièrement supprimer (ou remplacer) la génération automatique + d'index, si vous le souhaitez.

+ +

On active la génération automatique d'index en spécifiant + Options +Indexes. Voir la directive Options pour plus de détails.

+ +

Si la directive IndexOptions est spécifiée avec + l'option FancyIndexing, les en-têtes de colonnes sont des liens + qui permettent de contrôler l'ordre de tri de l'affichage. Si vous + actionnez le lien d'un en-tête, le listing sera généré à nouveau, + trié en fonction des valeurs de la colonne concernée. Si l'on + actionne de manière répétitive le même en-tête, l'ordre de tri est + commuté entre les ordres croissant et décroissant. On peut supprimer + ces liens d'en-têtes de colonnes à l'aide de l'option + SuppressColumnSorting + de la directive IndexOptions.

+ +

Notez que lorsque l'affichage est trié en fonction de la taille, + c'est la taille réelle qui est prise en compte, et non la + valeur affichée - ainsi, un fichier de 1010 octets sera toujours + affiché avant un fichier de 1011 octets (en ordre croissant), même + si la taille affichée des deux fichiers est "1K".

+
+ +
top
+
+

Arguments de la requête d'autoindexation

+ + +

La chaîne de paramètres de la requête peut contenir de nombreux + arguments permettant dans une certaine mesure au client de contrôler + l'ordre de l'index du répertoire, ainsi que la liste des fichiers à + afficher. Si vous souhaitez désactiver cette fonctionnalité, + utilisez l'option IndexOptions + IgnoreClient.

+ +

Les en-têtes de tri des colonnes eux-mêmes sont des hyper-liens + auto-référant qui ajoutent les options de tri à la requête énumérées + ci-dessous qui peuvent être ajoutées à toute requête concernant la + ressource répertoire.

+ +
    +
  • C=N trie l'affichage en fonction du nom de + fichier
  • + +
  • C=M trie l'affichage en fonction de la date de + dernière modification, puis du nom de fichier
  • + +
  • C=S trie l'affichage en fonction de la taille, + puis du nom de fichier
  • + +
  • C=D trie l'affichage en fonction + de la description, puis du nom de fichier
  • + +
  • O=A trie l'affichage selon l'ordre croissant
  • + +
  • O=D trie l'affichage selon + l'ordre décroissant
  • + +
  • F=0 affiche le listing sous la forme d'une simple + liste (sans FancyIndex)
  • + +
  • F=1 affiche le listing avec en-têtes de colonnes + sous forme de liens hyper-textes (FancyIndexed)
  • + +
  • F=2 affiche le listing sous + forme de table HTML avec en-têtes de colonnes contenant des liens + hyper-textes (FancyIndexed)
  • + +
  • V=0 désactive le tri en fonction de la + version
  • + +
  • V=1 active le tri en fonction de + la version
  • + +
  • P=modèle n'affiche que les fichiers + correspondant au modèle spécifié
  • +
+ +

Notez que l'argument 'P' (pour Pattern) n'est testé + qu'après que les directives habituelles IndexIgnore ont été traitées, + et que tous les noms de fichiers sont encore assujettis aux mêmes + critères que pour tout autre listing auto-indexé. L'interpréteur + d'arguments de requête de mod_autoindex s'arrête + immédiatement s'il rencontre une option non reconnue. Les arguments + de requête doivent être bien formés, selon la table ci-dessus.

+ +

Les options de requêtes sont illustrées par l'exemple ci-dessous, qui + peut être copié et collé dans un fichier header.html. Notez que l'argument + inconnu "X", pour le bouton submit, est introduit en dernier afin de + s'assurer que tous les arguments ont été interprétés avant que + mod_autoindex ne rencontre l'entrée X=Go.

+ +

Exemple

<form action="" method="get">
+    Show me a <select name="F">
+        <option value="0"> Plain list</option>
+        <option value="1" selected="selected"> Fancy list</option>
+        <option value="2"> Table list</option>
+    </select>
+    Sorted by <select name="C">
+        <option value="N" selected="selected"> Name</option>
+        <option value="M"> Date Modified</option>
+        <option value="S"> Size</option>
+        <option value="D"> Description</option>
+    </select>
+    <select name="O">
+        <option value="A" selected="selected"> Ascending</option>
+        <option value="D"> Descending</option>
+    </select>
+    <select name="V">
+        <option value="0" selected="selected"> in Normal order</option>
+        <option value="1"> in Version order</option>
+    </select>
+    Matching <input type="text" name="P" value="*" />
+    <input type="submit" name="X" value="Go" />
+</form>
+
+ +
+
top
+

Directive AddAlt

+ + + + + + + +
Description:Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son nom
Syntaxe:AddAlt texte fichier [fichier] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive AddAlt permet d'afficher un + texte optionnel pour un fichier, à la place d'un icône, dans le cas + d'un affichage FancyIndexing. + fichier est une extension de fichier, un nom de fichier + partiel, une expression avec caractères génériques ou un nom de + fichier complet permettant de caractériser le(s) fichier(s) + concerné(s). Si texte contient des espaces, vous devez + l'entourer de guillemets ou d'apostrophes (" ou + '). Ce texte optionnel sera affiché si le client ne + peut pas afficher d'images, si le chargement d'images est désactivé + ou si l'icône ne peut pas être trouvé.

+ +
AddAlt "PDF file" *.pdf
+AddAlt Compressed *.gz *.zip *.Z
+ + +
+
top
+

Directive AddAltByEncoding

+ + + + + + + +
Description:Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son codage MIME
Syntaxe:AddAltByEncoding texte codage MIME +[codage MIME] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive AddAltByEncoding permet + d'afficher un texte optionnel à la place d'un icône pour un fichier + dans le cas d'un affichage FancyIndexing. + codage MIME doit être un type valide, comme + x-compress. Si texte contient des espaces, + vous devez l'entourer de guillemets ou d'apostrophes (" + ou '). Ce texte optionnel sera affiché si le client ne + peut pas afficher d'images, si le chargement d'images est désactivé + ou si l'icône ne peut pas être trouvé.

+ +
AddAltByEncoding gzip x-gzip
+ + +
+
top
+

Directive AddAltByType

+ + + + + + + +
Description:Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son type MIME
Syntaxe:AddAltByType texte type MIME +[type MIME] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive AddAltByType permet + d'afficher un texte optionnel à la place d'un icône pour un fichier + dans le cas d'un affichage FancyIndexing. + type MIME doit être un type MIME valide, comme + text/html. Si texte contient des espaces, + vous devez l'entourer de guillemets ou d'apostrophes (" + ou '). Ce texte optionnel sera affiché si le client ne + peut pas afficher d'images, si le chargement d'images est désactivé + ou si l'icône ne peut pas être trouvé.

+ +
AddAltByType 'Fichier texte' text/plain
+ + +
+
top
+

Directive AddDescription

+ + + + + + + +
Description:Afficher la description d'un fichier
Syntaxe:AddDescription texte [fichier] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

Cette directive permet d'afficher une description pour un + fichier, dans le cas d'un affichage FancyIndexing. + fichier est une extension de fichier, un nom de fichier + partiel, une expression avec caractères génériques ou un nom de + fichier complet permettant de caractériser le fichier. + texte doit être entouré de guillemets + (").

+ +
AddDescription "The planet Mars" mars.gif
+AddDescription "My friend Marshall" friends/mars.gif
+ + +

La taille par défaut, habituelle du champ de description est de + 23 octets. L'option IndexOptions SuppressIcon ajoute 6 octets, l'option + IndexOptions + SuppressSize en ajoute 7 et l'option IndexOptions + SuppressLastModified en ajoute 19. Ainsi, la plus grande + taille par défaut qui peut être assignée à la colonne description + est de 55 octets.

+ +

Comme l'argument fichier peut être un nom de fichier + partiel, vous devez garder à l'esprit qu'un nom de fichier partiel + trop court pourra correspondre à des fichiers non voulus. Par + exemple, le.html correspondra au fichier + le.html, mais aussi au fichier + example.html. En cas d'ambiguïté, utilisez un nom de + fichier aussi complet que possible, et ordonnez votre liste de + directives AddDescription en conséquence.

+ +

Voir le mot-clé DescriptionWidth de la directive IndexOptions pour plus de + détails sur la manière d'augmenter la taille de cette colonne, ou + pour permettre des descriptions de taille illimitée.

+ +

Avertissement

+

Le texte descriptif défini par la directive + AddDescription peut contenir des marquages + HTML, comme des balises ou des entités caractères. Si la limite de + taille de la colonne description venait à tronquer une balise (par + exemple couper la fin d'une phrase en caractères gras), le + résultat pourrait en affecter toute la suite du listing du + répertoire.

+
+ +

Arguments avec chemins

+

Les chemins absolus ne sont actuellement pas supportés et ne + peuvent correspondre à aucun chemin réel à l'exécution. Les + arguments contenant des chemins relatifs, qui ne devraient être + normalement utilisés que dans les fichiers htaccess, sont + implicitement préfixés par '*/' afin d'éviter toute association + avec des noms de répertoires partiels.

+
+ +
+
top
+

Directive AddIcon

+ + + + + + + +
Description:Icône à afficher pour un fichier en fonction de son +nom
Syntaxe:AddIcon icône nom [nom] +...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

Cette directive permet de déterminer l'icône à afficher à côté + d'un fichier dont le nom se termine par nom, dans le cas + d'un affichage FancyIndexing. icône est une URL relative + (échappée par des caractères '%') vers + l'icône, une URL distante pleinement qualifiée, ou de la forme + (alttext,url), où + alttext est le symbole texte correspondant à l'icône à + afficher dans les navigateurs en mode texte.

+ +

nom correspond à ^^DIRECTORY^^ pour les + répertoires, ^^BLANKICON^^ pour les lignes vides + (pour personnaliser la présentation du listing), une extension de + fichier, une expression avec caractères génériques, un nom de + fichier partiel ou un nom de fichier complet.

+ +

^^BLANKICON^^ n'est utilisé que pour le formatage, + et n'est donc pas nécessaire si vous utilisez IndexOptions + HTMLTable.

+ +
#Examples
+AddIcon (IMG,/icons/image.png) .gif .jpg .png
+AddIcon /icons/dir.png ^^DIRECTORY^^
+AddIcon /icons/backup.png *~
+ + +

Lorsque c'est possible, il est préférable d'utiliser AddIconByType plutôt que + AddIcon.

+ +
+
top
+

Directive AddIconByEncoding

+ + + + + + + +
Description:Icône à afficher à côté d'un fichier en fonction de son +codage MIME
Syntaxe:AddIconByEncoding icône codage MIME +[codage MIME] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

Cette directive permet de déterminer l'icône à afficher à côté + d'un fichier dans le cas d'un affichage FancyIndexing. + icône est une URL relative + (échappée par des caractères '%') vers + l'icône, une URL pleinement qualifiée, ou de la forme + (alttext,url), où + alttext est le symbole texte correspondant à l'icône à + afficher dans les navigateurs en mode texte.

+ +

codage MIME doit être un codage valide, comme + x-compress.

+ +
AddIconByEncoding /icons/compress.png x-compress
+ + +
+
top
+

Directive AddIconByType

+ + + + + + + +
Description:Icône à afficher à côté d'un fichier en fonction de son +type MIME
Syntaxe:AddIconByType icône type MIME +[type MIME] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

Cette directive permet de déterminer l'icône à afficher à côté + d'un fichier de type MIME type MIME dans le cas d'un + affichage FancyIndexing. + icône est une URL relative + (échappée par des caractères '%') vers + l'icône, une URL pleinement qualifiée, ou de la forme + (alttext,url), où + alttext est le symbole texte correspondant à l'icône à + afficher dans les navigateurs en mode texte.

+ +

type MIME est une expression avec caractères + génériques représentant le type MIME.

+ +
AddIconByType (IMG,/icons/image.png) image/*
+ + +
+
top
+

Directive DefaultIcon

+ + + + + + + +
Description:Icône à afficher par défaut lorsqu'aucun icône spécifique +n'est précisé
Syntaxe:DefaultIcon chemin URL
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive DefaultIcon permet de définir + l'icône à afficher à côté d'un fichier lorsqu'aucun icône spécifique + n'a été précisé, dans le cas d'un affichage FancyIndexing. + chemin URL est une URL relative (échappée par des + caractères '%') vers l'icône ou une URL pleinement qualifiée.

+ +
DefaultIcon /icon/unknown.png
+ + +
+
top
+

Directive HeaderName

+ + + + + + + +
Description:Nom du fichier qui sera inséré au début de la page +contenant l'index
Syntaxe:HeaderName nom fichier
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive HeaderName permet de définir + le nom du fichier qui sera inséré au début de la page contenant + l'index. nom fichier est le nom du fichier à inclure.

+ +
HeaderName HEADER.html
+ + +
+

Les deux directives HeaderName et ReadmeName traitent maintenant + nom fichier comme un chemin URI relatif au chemin + utilisé pour accéder au répertoire faisant l'objet de l'index. Si + nom fichier commence par un slash '/', il sera + considéré comme relatif au répertoire défini par la directive + DocumentRoot.

+ +
HeaderName /include/HEADER.html
+ + +

nom fichier doit correspondre à un document dont le + type MIME est du style text/* (par exemple + text/html, text/plain, etc...). Cela + signifie que nom fichier peut faire référence à un + script CGI si le véritable type MIME du script (et non celui de sa + sortie) est marqué comme text/html par exemple à + l'aide d'une directive comme :

+ +
AddType text/html .cgi
+ + +

Une négociation de + contenu sera effectuée si Options MultiViews a été + précisé. Si nom fichier correspond à un document + statique text/html (et non à un script CGI), et une + des deux options + Includes ou IncludesNOEXEC est activée, + le fichier sera traité en tant qu'inclusion côté serveur (Server + Side Include) (voir la documentation de + mod_include).

+
+ +

Si le fichier spécifié par la directive + HeaderName contient les en-têtes d'un + document HTML (<html>, <head>, etc...), vous serez + probablement amenés à définir IndexOptions + +SuppressHTMLPreamble, de manière à ce que ces balises ne + soient pas répétées.

+ +

Voir aussi

+ +
+
top
+

Directive IndexHeadInsert

+ + + + + + + +
Description:Insère du texte dans la section HEAD de la page +d'index.
Syntaxe:IndexHeadInsert "marque ..."
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive IndexHeadInsert permet de + spécifier une chaîne de caractères à insérer dans la section + <head> du code HTML généré pour la page + d'index.

+
IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"
+ + +
+
top
+

Directive IndexIgnore

+ + + + + + + + +
Description:Ajouts à la liste des fichiers à cacher lors de l'affichage +de l'index d'un répertoire
Syntaxe:IndexIgnore fichier [fichier] ...
Défaut:IndexIgnore "."
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive IndexIgnore permet + d'effectuer des ajouts à la liste des fichiers à cacher lors de + l'affichage de l'index d'un répertoire. fichier est une + expression avec caractères génériques de style shell ou un nom de + fichier complet. Plusieurs directives IndexIgnore effectuent des + ajouts à la liste, et ne remplacent pas la liste des fichiers à + ignorer. Par défaut, la liste contient . (le répertoire + courant).

+ +
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
+ + +

Expressions rationnelles

+

Cette directive est actuellement incompatible avec les sections + de configuration qui comportent des arguments avec expressions + rationnelles comme <DirectoryMatch>

+
+ +
+
top
+

Directive IndexIgnoreReset

+ + + + + + + + +
Description:Vide la liste des fichiers à cacher lors de l'affichage du +contenu d'un répertoire
Syntaxe:IndexIgnoreReset ON|OFF
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
Compatibilité:Versions 2.3.10 et supérieures
+

La directive IndexIgnoreReset supprime toute liste + de fichiers définie par la directive IndexIgnore et héritée par ailleurs + d'autres sections de configuration.

+ +
<Directory "/var/www">
+    IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t
+</Directory>
+<Directory "/var/www/backups">
+    IndexIgnoreReset ON
+    IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t
+</Directory>
+ + +

Revoyez la configuration par défaut pour une + liste de modèles que vous voulez ignorer explicitement après usage + de cette directive.

+ +
+
top
+

Directive IndexOptions

+ + + + + + + + +
Description:Diverses options de configuration pour l'indexation d'un +répertoire
Syntaxe:IndexOptions [+|-]option [[+|-]option] +...
Défaut:Par défaut, aucune option n'est activée.
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive IndexOptions permet de + spécifier les options de configuration de l'indexation du + répertoire. option peut prendre l'une des valeurs + suivantes :

+ +
+
AddAltClass
+
Ajoute une déclaration de classe CSS supplémentaire à chaque + enregistrement de la table du listing du répertoire dans le cas où + IndexOptions HTMLTable est activé et où un + IndexStyleSheet a été défini. Plutôt que d'appliquer + à chaque enregistrement de la table les classes standards + even et odd, c'est ici une classe + even-ALT ou odd-ALT + qui sera appliquée, où ALT sera soit le texte alternatif + standard associé au style du fichier (par exemple snd, + txt, img, etc...), soit le texte alternatif + défini par une des différentes directives AddAlt*. +
+ + +
Charset=jeu de caractères
+ +
Le mot-clé Charset vous permet de spécifier le + jeu de caractères de la page générée. La valeur par défaut est + UTF-8 sous Windows et MAC OS X, et + ISO-8859-1 dans les autres cas (en fait selon que le + système de fichiers sous-jacent utilise les noms de fichiers en + Unicode ou non). + +
IndexOptions Charset=UTF-8
+ +
+ +
DescriptionWidth=[n | *]
+ +
Le mot-clé DescriptionWidth vous permet de + spécifier la taille en caractères de la colonne description.
+ +
Avec -DescriptionWidth (ou si l'option n'est pas + définie), mod_autoindex calcule la meilleure + taille.
+ +
DescriptionWidth=n fixe la taille de + la colonne à n octets.
+ +
DescriptionWidth=* ajuste la taille de la colonne + à la plus longue chaîne de description. + + Voir la section concernant AddDescription pour les dangers + inhérants à la troncature des descriptions.
+ +
FancyIndexing
+ +
Cette option active l'indexation "améliorée" des répertoires, + c'est à dire avec en-têtes de colonnes sous forme d'hyper-liens + auto-référants.
+ +
FoldersFirst
+ +
Lorsque cette option est activée, la liste des + sous-répertoires apparaîtra toujours en premier, suivie + de la liste des fichiers normaux du répertoire. Le listing + comporte principalement deux parties, les fichiers et les + sous-répertoires, chacun d'eux étant trié séparément et les + sous-répertoires affichés en premier. Par exemple, si l'ordre de + tri est décroissant par nom, et si FoldersFirst est + activé, le sous-répertoire Zed sera affiché avant le + sous-répertoire Beta, qui sera lui-même affiché avant + les fichiers normaux Gamma et Alpha. + Cette option n'a d'effet que si FancyIndexing + est aussi activé. +
+ +
HTMLTable
+ +
Cette option pour l'affichage + FancyIndexing permet de construire une table simple + pour l'affichage de l'index du répertoire. Cette option s'avèrera + particulièrement nécessaire pour les plates-formes où utf-8 est + activé et dans le cas où les noms de fichiers ou les chaînes + de description alternent entre les ordres de lecture gauche à + droite et droite à gauche.
+ +
IconsAreLinks
+ +
Configure la partie réservée aux icônes de l'ancrage pour le + nom de fichier, dans le cas d'un affichage "amélioré".
+ +
IconHeight[=pixels]
+ +
Si cette option est présente, en combinaison avec + IconWidth, le serveur va inclure les attributs + height et width dans la balise + img qui référence le fichier de l'icône. Ceci va + permettre au navigateur de prévoir les caractéristiques de la page + sans devoir attendre que toutes les images aient été chargées. En + l'absence de cette option, c'est la hauteur standard définie par + le logiciel Apache httpd qui est choisie comme valeur par défaut. + + Cette option n'a d'effet que si FancyIndexing + est aussi activé. +
+ +
IconWidth[=pixels]
+ +
Si cette option est présente, en combinaison avec + IconHeight, le serveur va inclure les attributs + height et width dans la balise + img qui référence le fichier de l'icône. Ceci va + permettre au navigateur de prévoir les caractéristiques de la page + sans devoir attendre que toutes les images aient été chargées. En + l'absence de cette option, c'est la largeur standard définie par + le logiciel Apache httpd qui est choisie comme valeur par défaut.
+ +
IgnoreCase
+ +
Si cette option est activée, les noms sont triés sans tenir + compte de la casse. Par exemple, si le tri s'effectue sur les noms + dans l'ordre croissant, et si IgnoreCase est activé, + le fichier Zeta apparaîtra après le fichier alfa (Note : le + fichier GAMMA apparaîtra toujours avant le fichier gamma). +
+ +
IgnoreClient
+ +
Si cette option est activée, mod_autoindex va + ignorer toutes les variables de requête fournies par le client, y + compris les informations de tri (ce qui implique l'activation de + l'option SuppressColumnSorting).
+ +
NameWidth=[n + | *]
+ +
Le mot-clé NameWidth vous permet de spécifier la + largeur en octets de la colonne correspondant au nom du + fichier.
+ +
Avec -NameWidth (ou si l'option n'est pas + définie), mod_autoindex va calculer la meilleure largeur + possible, mais jusqu'à une largeur maximale de 20 octets.
+ +
NameWidth=n fixe la largeur de la + colonne à n octets.
+ +
NameWidth=* définit la largeur de colonne à la + valeur nécessaire.
+ +
ScanHTMLTitles
+ +
L'activation de cette option permet d'extraire le titre des + documents HTML dans le cas d'un affichage "amélioré". Si le fichier + ne possède aucune description définie par la directive AddDescription, httpd va lire + le document pour tenter d'en extraire le titre. Ce + processus est coûteux en ressources disque et CPU.
+ +
ShowForbidden
+ +
Si cette option est activée, Apache httpd affichera les fichiers + normalement cachés suite au retour des valeurs + HTTP_UNAUTHORIZED ou HTTP_FORBIDDEN par + la sous-requête.
+ +
SuppressColumnSorting
+ +
Si cette option est activée, Apache httpd supprimera les liens + hyper-texte dans les en-têtes de colonnes dans le cas d'un + affichage "amélioré". Par défaut, ces en-têtes constituent des liens + hyper-texte, et la sélection de l'un d'entre eux va trier l'index + du répertoire en fonction des valeurs de la colonne + correspondante. Cependant, les arguments de la chaîne de + paramètres de la requête ajoutés à l'URL seront toujours ignorés. + Ce comportement est contrôlé par l'option IndexOptions + IgnoreClient.
+ +
SuppressDescription
+ +
L'activation de cette option va supprimer la description des + fichiers dans le cas d'un affichage "amélioré". Par défaut aucune + description de fichier n'est définie, et par conséquent + l'utilisation de cette option va permettre de récupérer un espace + à l'écran de 23 caractères pouvant être utilisé pour autre chose. + Voir la directive AddDescription pour plus d'informations à propos de + la définition des descriptions de fichiers. Voir aussi l'option + d'index DescriptionWidth + pour limiter la taille de la colonne description. + + Cette option n'a d'effet que si FancyIndexing + est aussi activé. +
+ +
SuppressHTMLPreamble
+ +
Si le répertoire contient effectivement le fichier spécifié + par la directive HeaderName, le module inclut + en général le contenu du fichier après avoir inséré un préambule + HTML standard (<html>, + <head>, etc...). L'activation de + l'option SuppressHTMLPreamble supprime l'insertion de + ce préambule, et le module va alors commencer l'affichage + directement par le contenu du fichier d'en-tête. Dans ce cas par + contre, le fichier d'en-tête doit contenir des instructions HTML + appropriées. S'il n'y a pas de fichier d'en-tête, le préambule est + généré comme dans le cas général. Si vous spécifiez aussi une + directive ReadmeName, et si ce + fichier existe, les balises de fermeture closing + </body></html> seront aussi omises dans la sortie, en + supposant que vous ayez placé ces balises de fermeture dans ce + fichier.
+ +
SuppressIcon
+ +
L'activation de cette option supprime l'affichage des icônes + dans le cas d'un affichage "amélioré". La combinaison de + SuppressIcon et SuppressRules permet de + générer une sortie au format HTML 3.2 qui, selon les dernières + spécifications, interdit les éléments img et + hr dans les blocs pre (utilisés pour + formater les affichages "améliorés").
+ +
SuppressLastModified
+ +
L'activation de cette option supprime l'affichage de la date + de dernière modification dans le cas d'un affichage "amélioré". + + Cette option n'a d'effet que si FancyIndexing + est aussi activé. +
+ +
SuppressRules +
+ +
L'activation de cette option supprime l'affichage des lignes + horizontales (éléments hr) dans les index de + répertoires. La combinaison de + SuppressIcon et SuppressRules permet de + générer une sortie au format HTML 3.2 qui, selon les dernières + spécifications, interdit les éléments img et + hr dans les blocs pre (utilisés pour + formater les affichages "améliorés"). + + Cette option n'a d'effet que si FancyIndexing + est aussi activé. +
+ +
SuppressSize
+ +
L'activation de cette option supprime l'affichage de la taille + du fichier dans le cas d'un affichage "amélioré". + + Cette option n'a d'effet que si FancyIndexing + est aussi activé. +
+ +
TrackModified
+ +
Cette option renvoie les valeurs Last-Modified et + ETag pour le répertoire indexé dans l'en-tête HTTP. + Elle n'est valide que si le système d'exploitation et le système + de fichiers renvoient des résultats appropriés pour la fonction + stat(). C'est le cas de certains systèmes Unix, ainsi que JFS sous + OS/2 ou + les volumes NTFS sous Win32. Ce n'est par contre pas le cas + des volumes FAT Win32 et OS/2. Lorsque cette option est activée, le + client ou le mandataire peuvent détecter les changements dans la + liste des fichiers lorsqu'ils effectuent une requête + HEAD. Notez que certains systèmes d'exploitation + détectent correctement les nouveaux fichiers et les fichiers + supprimés, mais ne détectent pas les modifications de tailles ou + de dates des fichiers du répertoire. Les modifications de + taille ou de date d'un fichier existant ne mettent pas à jour + l'en-tête Last-Modified sur toutes les plate-formes + Unix. Si c'est le cas, laissez cette option + désactivée.
+ +
Type=type MIME
+ +
Le mot-clé Type vous permet de spécifier le type + MIME de la page générée. La valeur par défaut est + text/html. + +
IndexOptions Type=text/plain
+ +
+ +
UseOldDateFormat + (Apache HTTP Server versions 2.4.26 et ultérieures)
+ +
Le format de date utilisé dans le champ Last Modified + avait été modifié par inadvertance de "%d-%b-%Y %H:%M" en + "%Y-%m-%d %H:%M" dans la version 2.4.0. Cette option permet + de restaurer le format de date des versions 2.2 et antérieures.
+ +
VersionSort
+ +
Le mot-clé VersionSort permet de trier les + fichiers contenant des numéros de version d'une manière + spécifique. Les chaînes sont triées comme d'habitude, excepté les + sous-chaînes de chiffres du nom de fichier et de sa description + qui sont comparées en fonction de leur valeur numérique. + +

Exemple :

+ foo-1.7
+ foo-1.7.2
+ foo-1.7.12
+ foo-1.8.2
+ foo-1.8.2a
+ foo-1.12 +

+ +

Si le nombre commence par le chiffre 0, il est considéré comme + la partie fractionnaire d'un nombre :

+ +

+ foo-1.001
+ foo-1.002
+ foo-1.030
+ foo-1.04 +

+
+ +
XHTML
+ +
Le mot-clé XHTML enjoint + mod_autoindex de générer du code XHTML 1.0 au + lieu de HTML 3.2. + + Cette option n'a d'effet que si FancyIndexing + est aussi activé. +
+ +
+ + +
Options d'index incrémentales
+
+

Vous devez porter une attention particulière à la manière dont + les IndexOptions multiples sont traitées.

+ +
    +
  • Plusieurs directives IndexOptions + apparaissant dans la même section directory sont maintenant + fusionnées. Le résultat de : + +
    <Directory "/foo">
    +    IndexOptions HTMLTable
    +    IndexOptions SuppressColumnsorting
    +</Directory>
    + + +

    est équivalent à

    + +
    IndexOptions HTMLTable SuppressColumnsorting
    + +
  • + +
  • L'ajout de la syntaxe incrémentale (en préfixant les mots-clés + avec + ou -).
  • +
+ +

Chaque fois qu'un mot-clé préfixé par '+' ou '-' est trouvé, il + est appliqué aux définitions des + IndexOptions courantes (qui ont été + éventuellement héritées d'un directory de niveau supérieur). Par + contre, si un mot-clé non préfixé est trouvé, il supprime toutes + les definitions héritées, ainsi que toute + définition incrémentale. Considérons l'exemple + suivant :

+ +
IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
+IndexOptions +SuppressSize
+ + +

L'effet global est équivalent à l'effet qu'aurait provoqué + IndexOptions FancyIndexing +SuppressSize, car l'option + non préfixée FancyIndexing annule les mots-clés + incrémentaux situés avant elle, mais leur permet ensuite de + s'incrémenter à nouveau.

+ +

Pour définir inconditionnellement les + IndexOptions pour un répertoire particulier, + tout en supprimant les définitions héritées, spécifiez les + mots-clés sans préfixe + ou -

+
+
+ +
+
top
+

Directive IndexOrderDefault

+ + + + + + + + +
Description:Définit l'ordre d'affichage par défaut d'un index de +répertoire
Syntaxe:IndexOrderDefault Ascending|Descending +Name|Date|Size|Description
Défaut:IndexOrderDefault Ascending Name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive IndexOrderDefault s'utilise + en combinaison avec l'option d'index FancyIndexing. Par + défaut, les index de répertoires "améliorés" sont affichés selon l'ordre + croissant des noms de fichiers ; la directive + IndexOrderDefault vous permet de modifier ce + comportement.

+ +

La directive IndexOrderDefault accepte + deux arguments. Le premier est soit Ascending, soit + Descending, et indique l'ordre de tri. Le second doit + prendre une des valeurs Name, Date, + Size, ou Description, et permet + d'identifier la clé primaire. La clé secondaire est + toujours le nom du fichier selon un ordre croissant.

+ +

Si vous le désirez, vous pouvez empêcher le client de modifier + l'ordre de tri de la liste en ajoutant l'option d'index SuppressColumnSorting + qui supprime le lien de définition du tri de l'en-tête de la + colonne, ainsi que l'option IgnoreClient qui + empêche ce même client de passer outre vos préférences de tri en + ajoutant manuellement des options de tri à la chaîne de paramètres + de la requête.

+ +
+
top
+

Directive IndexStyleSheet

+ + + + + + + +
Description:Ajoute une feuille de style CSS à l'index du +répertoire
Syntaxe:IndexStyleSheet chemin-url
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive IndexStyleSheet permet de + définir le nom du fichier qui servira de feuille de style CSS pour + l'index. +

+
IndexStyleSheet "/css/style.css"
+ + +

L'utilisation de cette directive en conjonction avec IndexOptions + HTMLTable ajoute plusieurs classes CSS au document HTML + résultant. Un identifiant CSS indexlist est attribué à + l'ensemble de la table et les classes suivantes sont associées aux + différentes parties du listing :

+ + + + + + + + + + +
ClasseDéfinition
tr.indexheadLigne d'en-tête du listing
th.indexcolicon and td.indexcolicon Colonne de + l'icône
th.indexcolname and td.indexcolname Colonne du nom + du fichier
th.indexcollastmod and td.indexcollastmod Colonne + de la date de dernière modification
th.indexcolsize and td.indexcolsize Colonne de la + taille du fichier
th.indexcoldesc and td.indexcoldesc Colonne de la + description
tr.breakrow Pied de page
tr.odd and tr.even Alternance des lignes paires et + impaires
+ + +
+
top
+

Directive ReadmeName

+ + + + + + + +
Description:Nom du fichier dont le contenu sera inséré à la fin de +l'index
Syntaxe:ReadmeName nom-fichier
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_autoindex
+

La directive ReadmeName permet de définir + le nom du fichier dont le contenu sera ajouté à la fin de l'index. + nom-fichier est le nom du fichier à inclure, et est + considéré comme relatif au répertoire faisant l'objet de l'index. Si + nom-fichier commence par un slash '/', comme dans + l'exemple 2, il sera considéré + comme relatif au répertoire défini par la directive DocumentRoot. +

+ +
# Example 1
+ReadmeName FOOTER.html
+ + +
# Example 2
+ReadmeName /include/FOOTER.html
+ + +

Voir aussi la directive HeaderName, où cette fonctionnalité est décrite plus en + détails.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.ja.utf8 b/docs/manual/mod/mod_autoindex.html.ja.utf8 new file mode 100644 index 0000000..dc5f747 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.ja.utf8 @@ -0,0 +1,1081 @@ + + + + + +mod_autoindex - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_autoindex

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:Unix ã® ls コマンドや + Win32 ã® dir シェルコマンドã«ä¼¼ãŸ + ディレクトリインデックスを生æˆã™ã‚‹
ステータス:Base
モジュール識別å­:autoindex_module
ソースファイル:mod_autoindex.c
+

概è¦

+ +

ディレクトリã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯äºŒã¤ã®æƒ…å ±æºã®ã†ã¡ã® + 一ã¤ã‹ã‚‰ç”Ÿæˆã§ãã¾ã™:

+ +
    +
  • 普通㯠index.html ã¨å‘¼ã°ã‚Œã‚‹ + ユーザã«ã‚ˆã£ã¦æ›¸ã‹ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã€‚ + DirectoryIndex + ディレクティブã§ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«åを設定ã—ã¾ã™ã€‚ + ã“れ㯠mod_dir ã§åˆ¶å¾¡ã•ã‚Œã¾ã™ã€‚
  • + +
  • ã‚‚ã—ãã¯ã€ã‚µãƒ¼ãƒã«ã‚ˆã£ã¦ç”Ÿæˆã•ã‚ŒãŸä¸€è¦§ã€‚ + ãã®ä»–ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã“ã®ä¸€è¦§ã®æ›¸å¼ã‚’制御ã—ã¾ã™ã€‚ + AddIcon, AddIconByEncoding 㨠+ AddIconByType + を使ã†ã“ã¨ã§ã€æ§˜ã€…ãªãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—ã«å¯¾ã—ã¦ã‚¢ã‚¤ã‚³ãƒ³ä¸€è¦§ã‚’ + セットã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€ãƒªã‚¹ãƒˆã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«æ¯Žã«ã€ + ファイルã«ãƒžãƒƒãƒã—ãŸä¸€ç•ªæœ€åˆã®ã‚¢ã‚¤ã‚³ãƒ³ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ + ã“れら㯠mod_autoindex ã§åˆ¶å¾¡ã•ã‚Œã¾ã™ã€‚
  • +
+

望むãªã‚‰ã°ã€è‡ªå‹•ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ç”Ÿæˆã‚’完全ã«é™¤åŽ» (ã‚ã‚‹ã„ã¯ç½®æ›) + ã§ãるよã†ã«ã€ã“ã®äºŒã¤ã®æ©Ÿèƒ½ã¯åˆ†é›¢ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

自動インデックス生æˆã¯ Options +Indexes + を使ã†ã“ã¨ã§æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€ + Options + ディレクティブをã”覧下ã•ã„。

+ +

ã‚‚ã— FancyIndexingオプション㌠+ IndexOptions + ディレクティブã«ä¸Žãˆã‚‰ã‚Œã¦ã„ã‚‹ãªã‚‰ã°ã€ + 列ã®å…ˆé ­ã¯è¡¨ç¤ºã®é †ç•ªã‚’制御ã™ã‚‹ãƒªãƒ³ã‚¯ã«ãªã‚Šã¾ã™ã€‚ + 先頭ã®ãƒªãƒ³ã‚¯ã‚’é¸æŠžã™ã‚‹ã¨ã€ä¸€è¦§ã¯å†ç”Ÿæˆã•ã‚Œã¦ + ãã®åˆ—ã®å€¤ã§ã‚½ãƒ¼ãƒˆã•ã‚Œã¾ã™ã€‚ + åŒã˜å…ˆé ­ã‚’続ã‘ã¦é¸æŠžã™ã‚‹ã¨ã€äº¤äº’ã«æ˜‡é †ã¨é™é †ã¨ã«ãªã‚Šã¾ã™ã€‚ + ã“れらã®åˆ—ã®å…ˆé ­ã®ãƒªãƒ³ã‚¯ã¯ã€ + IndexOptions + ディレクティブ㮠+ SuppressColumnSorting + オプションã§æ¶ˆã™ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

"Size" ã§ã‚½ãƒ¼ãƒˆã—ãŸå ´åˆã¯ã€ç”¨ã„られるã®ã¯ + 実際ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚µã‚¤ã‚ºã§ã‚ã£ã¦ã€ + 表示ã®å€¤ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„ - + ãŸã¨ãˆä¸¡æ–¹ã¨ã‚‚㌠"1K" ã¨è¡¨ç¤ºã•ã‚Œã¦ã„ãŸã¨ã—ã¦ã‚‚〠+ 1010 ãƒã‚¤ãƒˆã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯å¿…ãš 1011 + ãƒã‚¤ãƒˆã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚ˆã‚Šã‚‚å‰ (昇順ã®å ´åˆ) ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚

+
+ +
top
+
+

Autoindex リクエストクエリー引数

+ + +

Apache 2.0.23 ã§ã€ + コラムソートã®ãŸã‚ã«ã‚¯ã‚¨ãƒªãƒ¼å¼•æ•°ã‚’å†ç·¨æˆã—ã¦ã€ + æ–°ã—ã„クエリーオプションã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’å°Žå…¥ã—ã¾ã—ãŸã€‚ + 出力ã«å¯¾ã™ã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ã™ã¹ã¦ã®åˆ¶å¾¡ã‚’効率的ã«æŠ¹æ¶ˆ + ã§ãるよã†ã«ã€ + IndexOptions + IgnoreClient ãŒå°Žå…¥ã•ã‚Œã¾ã—ãŸã€‚

+ +

コラムソートã®ãƒ˜ãƒƒãƒ€ãれ自体ãŒã€ + 下記ã®ã‚½ãƒ¼ãƒˆã‚¯ã‚¨ãƒªãƒ¼ã‚ªãƒ—ションを付加ã™ã‚‹ + 自分自身をå‚ç…§ã™ã‚‹ãƒªãƒ³ã‚¯ã§ã™ã€‚ + 下記ã®ã‚ªãƒ—ションã®ã©ã‚Œã§ã‚‚〠+ ディレクトリリソースã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«åŠ ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
    +
  • C=N ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«åã§ã‚½ãƒ¼ãƒˆã—ã¾ã™ã€‚
  • + +
  • C=M ã¯ã€æ›´æ–°æ—¥æ™‚〠+ ディレクトリã€ãƒ•ã‚¡ã‚¤ãƒ«åã®é †ã§ã‚½ãƒ¼ãƒˆã—ã¾ã™ã€‚
  • + +
  • C=S ã¯ã€ã‚µã‚¤ã‚ºã€ + ディレクトリã€ãƒ•ã‚¡ã‚¤ãƒ«åã®é †ã§ã‚½ãƒ¼ãƒˆã—ã¾ã™ã€‚
  • + +
  • C=D ã¯ã€èª¬æ˜Žã€ + ディレクトリã€ãƒ•ã‚¡ã‚¤ãƒ«åã®é †ã§ã‚½ãƒ¼ãƒˆã—ã¾ã™ã€‚
  • + +
  • O=A ã¯ã€æ˜‡é †ã§è¡¨ã‚’ソートã—ã¾ã™ã€‚
  • + +
  • O=D ã¯ã€é™é †ã§è¡¨ã‚’ソートã—ã¾ã™ã€‚
  • + +
  • F=0 ã¯ã€å˜ç´”ãªè¡¨ã®æ›¸å¼ã«ã—ã¾ã™ã€‚ + (FancyIndex ã§ã¯ã‚ã‚Šã¾ã›ã‚“。)
  • + +
  • F=1 ã¯ã€FancyIndex + 表示ã®è¡¨ã®æ›¸å¼ã«ã—ã¾ã™ã€‚
  • + +
  • F=2 ã¯ã€è¡¨ã‚’ HTML + ã®ãƒ†ãƒ¼ãƒ–ルを使ã£ãŸ FancyIndex ã®æ›¸å¼ã«ã—ã¾ã™ã€‚
  • + +
  • V=0 + ã¯ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚ˆã‚‹ã‚½ãƒ¼ãƒˆã‚’無効ã«ã—ã¾ã™ã€‚
  • + +
  • V=1 + ã¯ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚ˆã‚‹ã‚½ãƒ¼ãƒˆã‚’有効ã«ã—ã¾ã™ã€‚
  • + +
  • P=pattern + ã¯ã€ä¸Žãˆã‚‰ã‚ŒãŸ pattern + ã«é©åˆã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ã‚’表示ã—ã¾ã™ã€‚
  • +
+ +

"P (パターン㮠P)" クエリー引数ã¯ã€ + 通常㮠IndexIgnore + ディレクティブãŒå‡¦ç†ã•ã‚ŒãŸå¾Œã«æ¤œæŸ»ã•ã‚Œã€ + ファイルåå…¨ã¦ãŒã€ä»–ã® autoindex + リスト処ç†ã¨åŒæ§˜ã®åˆ¤å®šåŸºæº–下ã«ç½®ã‹ã‚Œç¶šã‘ã‚‹ + ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + mod_autoindex ã®ã‚¯ã‚¨ãƒªãƒ¼å¼•æ•°ãƒ‘ーサ (解æž) ã¯ã€ + èªè­˜ä¸èƒ½ãªã‚ªãƒ—ションã«ã¶ã¤ã‹ã‚‹ã¨å³åº§ã«åœæ­¢ã—ã¾ã™ã€‚ + クエリー引数ã¯ä¸Šã®è¡¨ã«å¾“ã£ã¦ + æ­£ã—ã„å½¢å¼ã«ãªã£ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

下ã®å˜ç´”ãªä¾‹ã¯ã€ã“れらã®ã‚¯ã‚¨ãƒªãƒ¼ã‚ªãƒ—ションを + 表ã—ã¾ã™ã€‚ã“れをãã®ã¾ã¾åˆ‡ã‚Šå–ã£ã¦ HEADER.html + ファイルã«ä¿å­˜ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + mod_autoindex ㌠X=Go 入力ã«ã¶ã¤ã‹ã‚‹å‰ã« + 引数ãŒå…¨ã¦è§£é‡ˆã•ã‚Œã‚‹ã‚ˆã†ã«ã€ + 未知ã®å¼•æ•° "X" ã¯ãƒªã‚¹ãƒˆã®æœ€å¾Œã«ç½®ã‹ã‚Œã¦ã„ã¾ã™ã€‚

+ +

+ <form action="" method="get">
+ + Show me a <select name="F">
+ + <option value="0"> Plain list</option>
+ <option value="1" selected="selected"> Fancy list</option>
+ <option value="2"> Table list</option>
+
+ </select>
+ Sorted by <select name="C">
+ + <option value="N" selected="selected"> Name</option>
+ <option value="M"> Date Modified</option>
+ <option value="S"> Size</option>
+ <option value="D"> Description</option>
+
+ </select>
+ <select name="O">
+ + <option value="A" selected="selected"> Ascending</option>
+ <option value="D"> Descending</option>
+
+ </select>
+ <select name="V">
+ + <option value="0" selected="selected"> in Normal order</option>
+ <option value="1"> in Version order</option>
+
+ </select>
+ Matching <input type="text" name="P" value="*" />
+ <input type="submit" name="X" value="Go" />
+
+ </form> +

+ +
+
top
+

AddAlt ディレクティブ

+ + + + + + + +
説明:アイコンã®ä»£ã‚ã‚Šã« +表示ã•ã‚Œã‚‹ã€ãƒ•ã‚¡ã‚¤ãƒ«åã§é¸æŠžã•ã‚ŒãŸä»£æ›¿ãƒ†ã‚­ã‚¹ãƒˆ
構文:AddAlt string file [file] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

AddAlt ã¯ã€FancyIndexing + ã«ãŠã„ã¦ã€ã‚¢ã‚¤ã‚³ãƒ³ã®ä»£ã‚ã‚Šã«è¡¨ç¤ºã™ã‚‹ä»£æ›¿ãƒ†ã‚­ã‚¹ãƒˆã‚’æä¾›ã—ã¾ã™ã€‚ + file ã¯ã€èª¬æ˜Žã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã€ + ファイルåã®ä¸€éƒ¨ã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰è¡¨ç¾ã€å®Œå…¨ãªãƒ•ã‚¡ã‚¤ãƒ«åã® + ã©ã‚Œã‹ã«ãªã‚Šã¾ã™ã€‚ + string ã«ç©ºç™½ãŒã‚ã‚‹å ´åˆã¯å¼•ç”¨ç¬¦ (" + ã‹ ') ã§å›²ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®æ–‡å­—列ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒç”»åƒã‚’表示ã§ããªã„å ´åˆã‚„ + ç”»åƒã®ãƒ­ãƒ¼ãƒ‰ã‚’無効ã«ã—ã¦ã„ã‚‹å ´åˆã‚„ + アイコンã®å–å¾—ã«å¤±æ•—ã—ãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚

+ +

例

+ AddAlt "PDF file" *.pdf
+ AddAlt Compressed *.gz *.zip *.Z +

+ +
+
top
+

AddAltByEncoding ディレクティブ

+ + + + + + + +
説明:アイコンã®ä»£ã‚ã‚Šã«è¡¨ç¤ºã•ã‚Œã‚‹ã€MIME 符å·åŒ–方法ã§é¸æŠžã•ã‚ŒãŸ +代替テキスト
構文:AddAltByEncoding string MIME-encoding +[MIME-encoding] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

AddAltByEncoding ã¯ã€ + FancyIndexing + ã«ãŠã„ã¦ã€ã‚¢ã‚¤ã‚³ãƒ³ã®ä»£ã‚ã‚Šã«è¡¨ç¤ºã™ã‚‹ä»£æ›¿æ–‡å­—列をæä¾›ã—ã¾ã™ã€‚ + MIME-encoding ã¯æœ‰åŠ¹ãªç¬¦å·åŒ–ã€ä¾‹ãˆã° + x-compress + ã§ã™ã€‚ + string ã«ç©ºç™½ãŒã‚ã‚‹ã¨ãã¯ã€å¼•ç”¨ç¬¦ (" ã‹ + ') ã§å›²ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®æ–‡å­—列ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒç”»åƒã‚’表示ã§ããªã„å ´åˆã‚„ + ç”»åƒã®ãƒ­ãƒ¼ãƒ‰ã‚’無効ã«ã—ã¦ã„ã‚‹å ´åˆã‚„ + アイコンã®å–å¾—ã«å¤±æ•—ã—ãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚

+ +

例

+ AddAltByEncoding gzip x-gzip +

+ +
+
top
+

AddAltByType ディレクティブ

+ + + + + + + +
説明:アイコンã®ä»£ã‚ã‚Šã« +表示ã•ã‚Œã‚‹ã€MIME タイプã§é¸æŠžã•ã‚ŒãŸä»£æ›¿ãƒ†ã‚­ã‚¹ãƒˆ
構文:AddAltByType string MIME-type +[MIME-type] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

AddAltByType ã¯ã€ + FancyIndexing + ã«ãŠã„ã¦ã€ã‚¢ã‚¤ã‚³ãƒ³ã®ä»£ã‚ã‚Šã«è¡¨ç¤ºã™ã‚‹ä»£æ›¿æ–‡å­—列を設定ã—ã¾ã™ã€‚ + MIME-type ã¯æœ‰åŠ¹ãªã‚¿ã‚¤ãƒ—ã€ä¾‹ãˆã° + text/html + ã§ã™ã€‚ + string ã«ç©ºç™½ãŒã‚ã‚‹ã¨ãã¯ã€å¼•ç”¨ç¬¦ (" ã‹ + ') ã§å›²ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®æ–‡å­—列ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒç”»åƒã‚’表示ã§ããªã„å ´åˆã‚„ + ç”»åƒã®ãƒ­ãƒ¼ãƒ‰ã‚’無効ã«ã—ã¦ã„ã‚‹å ´åˆã‚„ + アイコンã®å–å¾—ã«å¤±æ•—ã—ãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚

+ +

例

+ AddAltByType 'plain text' text/plain +

+ +
+
top
+

AddDescription ディレクティブ

+ + + + + + + +
説明:ファイルã«å¯¾ã—ã¦è¡¨ç¤ºã™ã‚‹èª¬æ˜Ž
構文:AddDescription string file [file] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

FancyIndexing + ã«ãŠã„ã¦ã€ãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—ã¦è¡¨ç¤ºã™ã‚‹èª¬æ˜Žã‚’設定ã—ã¾ã™ã€‚ + file ã¯èª¬æ˜Žã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã€ + ファイルåã®ä¸€éƒ¨ã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰è¡¨ç¾ã€å®Œå…¨ãªãƒ•ã‚¡ã‚¤ãƒ«åã® + ã©ã‚Œã‹ã«ãªã‚Šã¾ã™ã€‚ + string ã¯äºŒé‡å¼•ç”¨ç¬¦ (") ã§å›²ã¾ã‚Œã¾ã™ã€‚

+ +

例

+ AddDescription "The planet Mars" /web/pics/mars.gif +

+ +

通常ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®èª¬æ˜Žé ˜åŸŸã¯ 23 ãƒã‚¤ãƒˆã®å¹…ã§ã™ã€‚ + IndexOptions SuppressIcon + オプション㧠6 ãƒã‚¤ãƒˆè¿½åŠ ã€ + IndexOptions SuppressSize + オプション㧠7 ãƒã‚¤ãƒˆè¿½åŠ ã€ + IndexOptions SuppressLastModified + オプション㧠19 ãƒã‚¤ãƒˆè¿½åŠ ã•ã‚Œã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®èª¬æ˜Žã‚³ãƒ©ãƒ ã®æœ€å¤§å¹…㯠+ 55 ãƒã‚¤ãƒˆã«ãªã‚Šã¾ã™ã€‚

+ +

ã“ã®ã‚³ãƒ©ãƒ ã®å¤§ãã•ã‚’上書ãã—ãŸã‚Šã€ + 説明ãŒç„¡åˆ¶é™é•·ã§ã‚‚よã„よã†ã«ã™ã‚‹ãŸã‚ã®è©³ç´°ã«é–¢ã—ã¦ã¯ã€ + DescriptionWidth + ã¨ã„ㆠ+ IndexOptions + ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’ã”覧下ã•ã„。

+ +

警告

+

AddDescription + ã§å®šç¾©ã•ã‚ŒãŸèª¬æ˜Žãƒ†ã‚­ã‚¹ãƒˆã¯ã€ã‚¿ã‚°ã‚„文字列ã¨ã„ã£ãŸ + HTML マークアップをå«ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã‚‚ã—ã€èª¬æ˜Žã‚³ãƒ©ãƒ ã®å¹…ã«ã‚ˆã£ã¦ã‚¿ã‚°ä»˜ã‘ã•ã‚ŒãŸè¦ç´ ãŒä¸¸ã‚è¾¼ã¾ã‚ŒãŸ + (太字ã®èªžå¥ã®æœ€å¾ŒãŒåˆ‡ã‚Œã‚‹ã¨ã„ã£ãŸ) å ´åˆã€ + 出力çµæžœã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸€è¦§ã®æ®‹ã‚Šã®éƒ¨åˆ†ã«å½±éŸ¿ã‚’与ãˆã‚‹ã§ã—ょã†ã€‚

+
+ +
+
top
+

AddIcon ディレクティブ

+ + + + + + + +
説明:ファイルã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’åå‰ã§é¸æŠž
構文:AddIcon icon name +[name] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

FancyIndexing + ã«ãŠã„ã¦ã€ + name ã§çµ‚ã‚るファイルã®éš£ã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’設定ã—ã¾ã™ã€‚ + icon ã¯ã€(% ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚ŒãŸ) アイコンã¸ã®ç›¸å¯¾ URL + ã‹ã€ä»–ã®æ›¸å¼ (alttext, url) ã§ã™ã€‚ + ã“ã“㧠alttext + ã¯ã€éžã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ãƒ–ラウザå‘ã‘ã«ã‚¢ã‚¤ã‚³ãƒ³ã«ä»˜ã‘られãŸãƒ†ã‚­ã‚¹ãƒˆã‚¿ã‚°ã§ã™ã€‚ +

+ +

name ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾å¿œã™ã‚‹ ^^DIRECTORY^^ + ã‹ã€ç©ºç™½è¡Œã«å¯¾å¿œã™ã‚‹ ^^BLANKICON^^ (一覧ãŒæ­£ã—ã表示ã•ã‚Œã‚‹ãŸã‚ã«) ã‹ã€ + ファイル拡張å­ã‹ã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰è¡¨ç¾ã‹ã€ãƒ•ã‚¡ã‚¤ãƒ«åã®ä¸€éƒ¨ã‹ + 完全ãªãƒ•ã‚¡ã‚¤ãƒ«åã§ã™ã€‚

+ +

例

+ AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm
+ AddIcon /icons/dir.xbm ^^DIRECTORY^^
+ AddIcon /icons/backup.xbm *~ +

+ +

ã‚‚ã—å¯èƒ½ãªã‚‰ã€ + AddIcon + より + AddIconByType + を優先的ã«ä½¿ã†ã¹ãã§ã—ょã†ã€‚

+ +
+
top
+

AddIconByEncoding ディレクティブ

+ + + + + + + +
説明:ファイルã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’ MIME +符å·åŒ–方法ã§é¸æŠž
構文:AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

FancyIndexing + ã«ãŠã„ã¦ã€ãƒ•ã‚¡ã‚¤ãƒ«ã®éš£ã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’設定ã—ã¾ã™ã€‚ + icon ã¯ã€(% ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚ŒãŸ) アイコンã¸ã®ç›¸å¯¾ URL + ã‹ã€ä»–ã®æ›¸å¼ (alttext, url) ã§ã™ã€‚ + ã“ã“㧠alttext + ã¯ã€éžã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ãƒ–ラウザå‘ã‘ã«ã‚¢ã‚¤ã‚³ãƒ³ã«ä»˜ã‘られãŸãƒ†ã‚­ã‚¹ãƒˆã‚¿ã‚°ã§ã™ã€‚ +

+ +

MIME-encoding ã¯ã€æœ‰åŠ¹ãªã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€ + 例ãˆã° x-compressã§ã™ã€‚

+ +

例

+ AddIconByEncoding /icons/compress.xbm x-compress +

+ +
+
top
+

AddIconByType ディレクティブ

+ + + + + + + +
説明:ファイルã®éš£ã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’ +MIME タイプã«ã‚ˆã£ã¦é¸æŠž
構文:AddIconByType icon MIME-type +[MIME-type] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

FancyIndexing + ã«ãŠã„ã¦ã€ãƒ•ã‚¡ã‚¤ãƒ«ã®éš£ã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’設定ã—ã¾ã™ã€‚ + icon ã¯ã€(% ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚ŒãŸ) アイコンã¸ã®ç›¸å¯¾ URL + ã‹ã€ä»–ã®æ›¸å¼ (alttext, url) ã§ã™ã€‚ + ã“ã“㧠alttext + ã¯ã€éžã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ãƒ–ラウザå‘ã‘ã«ã‚¢ã‚¤ã‚³ãƒ³ã«ä»˜ã‘られãŸãƒ†ã‚­ã‚¹ãƒˆã‚¿ã‚°ã§ã™ã€‚ +

+ +

MIME-type ã¯ã€è¦æ±‚ã•ã‚ŒãŸã‚¿ã‚¤ãƒ—ã«è©²å½“ã™ã‚‹ + ワイルドカード表ç¾ã§ã™ã€‚

+ +

例

+ AddIconByType (IMG,/icons/image.xbm) image/* +

+ +
+
top
+

DefaultIcon ディレクティブ

+ + + + + + + +
説明:特定ã®ã‚¢ã‚¤ã‚³ãƒ³ãŒä½•ã‚‚設定ã•ã‚Œã¦ã„ãªã„時㫠+ファイルã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³
構文:DefaultIcon url-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

FancyIndexing + ã«ãŠã„ã¦ã€ + 特定ã®ã‚¢ã‚¤ã‚³ãƒ³ãŒãªã„å ´åˆã«ãƒ•ã‚¡ã‚¤ãƒ«ã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’設定ã—ã¾ã™ã€‚ + url-path ã¯ã€(% ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚ŒãŸ) アイコンã¸ã®ç›¸å¯¾ URL + ã§ã™ã€‚

+ +

例

+ DefaultIcon /icon/unknown.xbm +

+ +
+
top
+

HeaderName ディレクティブ

+ + + + + + + +
説明: +インデックス一覧ã®å…ˆé ­ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰
構文:HeaderName filename
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

HeaderName + ディレクティブã¯ã€ + インデックス一覧ã®å…ˆé ­ã«æŒ¿å…¥ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‚’設定ã—ã¾ã™ã€‚ + Filename ã¯å–り込むファイルã®åå‰ã§ã™ã€‚

+ +

例

+ HeaderName HEADER.html +

+ +
+

HeaderName ã‚‚ ReadmeName + も両方ã¨ã‚‚ç¾åœ¨ã¯ã€filename + をインデックスã•ã‚Œã¦ã„るディレクトリã«ç”¨ã„られ㟠URI + ã«å¯¾ã™ã‚‹ç›¸å¯¾ URI パスã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚ + filename ãŒã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§å§‹ã¾ã‚‹å ´åˆã¯ã€ + DocumentRoot + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ãªã‚Šã¾ã™ã€‚

+ +

例

+ HeaderName /include/HEADER.html +

+ +

filename 㯠+ メジャーコンテントタイプ㌠"text/*" + (例ãˆã°ã€text/html, + text/plain ç­‰ã§ã™ã€‚) + ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¨ã—ã¦è§£æ±º + ã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ã“ã‚Œã¯ã¤ã¾ã‚Šã€ + ã‚‚ã— CGI スクリプトã®å®Ÿéš›ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—㌠+ 次ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã‚ˆã†ã«ã—ã¦å®Ÿéš›ã®å‡ºåŠ›ã¨ã¯ç•°ãªã£ã¦ + text/html ã¨ã—ã¦ãƒžãƒ¼ã‚¯ã•ã‚Œã¦ã„ã‚‹å ´åˆã€ + filename + 㯠CGI スクリプトをå‚ç…§ã™ã‚‹ã‹ã‚‚知れãªã„〠+ ã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™:

+ +

+ AddType text/html .cgi +

+ +

Options MultiViews ㌠+ 有効ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€ + コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ + ãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚ + ã‚‚ã— filename ㌠(CGI スクリプトã§ãªã„) é™çš„㪠+ text/html ドキュメントã§è§£æ±ºã•ã‚Œã€ + options + Includes ã‹ IncludesNOEXEC + ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€ + ファイルã¯ã‚µãƒ¼ãƒãƒ¼ã‚µã‚¤ãƒ‰ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã§å‡¦ç†ã•ã‚Œã¾ã™ + (mod_include ドキュメントをå‚ç…§ã—ã¦ä¸‹ã•ã„)。

+
+ +

ã‚‚ã— HeaderName ã§æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ãŒ + HTML ドキュメントã®é–‹å§‹éƒ¨åˆ† (<html>, <head>, + ç­‰) ã‚’å«ã‚“ã§ã„ãŸã‚‰ã€ + IndexOptions + +SuppressHTMLPreamble + を設定ã—ã¦ã€ã“れらã®ã‚¿ã‚°ãŒç¹°ã‚Šè¿”ã•ã‚Œãªã„よã†ã«ã—ãŸã„ã¨æ€ã†ã§ã—ょã†ã€‚

+ +
+
top
+

IndexHeadInsert ディレクティブ

+ + + + + + + +
説明:インデックスページ㮠HEAD セクションã«ãƒ†ã‚­ã‚¹ãƒˆã‚’挿入ã™ã‚‹
構文:IndexHeadInsert "markup ..."
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

IndexHeadInsert ディレクティブを使ã£ã¦ + インデックスã¨ã—ã¦ç”Ÿæˆã•ã‚ŒãŸHTMLã® <head> セクション㫠+ 挿入ã™ã‚‹æ–‡å­—列を指定ã—ã¾ã™ã€‚

+

Example

+ + IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">" +

+ +
+
top
+

IndexIgnore ディレクティブ

+ + + + + + + +
説明:ディレクトリ一覧を行ãªã†éš›ã«ç„¡è¦–ã™ã¹ã +ファイルリストã«è¿½åŠ 
構文:IndexIgnore file [file] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

IndexIgnore ディレクティブã¯ã€ + ディレクトリã®ä¸€è¦§ã‚’è¡Œã†éš›ã«ç„¡è¦–ã™ã¹ãファイルリストã«è¿½åŠ ã—ã¾ã™ã€‚ + file ã¯ã€ + シェル形å¼ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰è¡¨ç¾ã‹å®Œå…¨ãªãƒ•ã‚¡ã‚¤ãƒ«åã§ã™ã€‚ + IndexIgnore ãŒè¤‡æ•°ã‚ã‚‹å ´åˆã¯ã€ç„¡è¦–ã™ã‚‹ãƒªã‚¹ãƒˆã«è¿½åŠ ãŒè¡Œã‚れ〠+ ç½®æ›ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。デフォルトã§ã¯ãƒªã‚¹ãƒˆã«ã¯ . + (カレントディレクトリ) ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚

+ +

+ IndexIgnore README .htaccess *.bak *~ +

+ +
+
top
+

IndexIgnoreReset ディレクティブ

+ + + + + + + + +
説明:Empties the list of files to hide when listing +a directory
構文:IndexIgnoreReset ON|OFF
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
互æ›æ€§:2.3.10 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

IndexOptions ディレクティブ

+ + + + + + + +
説明:ディレクトリインデックスã®æ§˜ã€…ãªè¨­å®šé …ç›® +
構文:IndexOptions [+|-]option [[+|-]option] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

IndexOptions + ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®æŒ™å‹•ã‚’指定ã—ã¾ã™ã€‚ + option ã¯æ¬¡ã®ã©ã‚Œã‹ã§ã™:

+ +
+
Charset=character-set (Apache 2.0.61 + 以é™)
+ +
Charset キーワードã§ã€ + 生æˆã•ã‚Œã‚‹ãƒšãƒ¼ã‚¸ã®æ–‡å­—セットを指定ã§ãã¾ã™ã€‚ + 下ä½ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ãŒ Unicode ベースã‹ã©ã†ã‹ã«ä¾å­˜ã—ã¾ã™ãŒã€ + デフォルト値㯠ISO-8859-1 ã‹ UTF-8 + ã«ãªã‚Šã¾ã™ã€‚ + +

Example:

+ IndexOptions Charset=UTF-8 +

+
+ +
Type=MIME content-type (Apache 2.0.61 + 以é™)
+ +
Type キーワードã§ã€ + 生æˆã•ã‚Œã‚‹ãƒšãƒ¼ã‚¸ã® MIME コンテントタイプを指定ã§ãã¾ã™ã€‚ + デフォルト値㯠text/html ã«ãªã‚Šã¾ã™ã€‚ + +

Example:

+ IndexOptions Type=text/plain +

+
+ +
DescriptionWidth=[n | *] + (2.0.23 以é™)
+ +
DescriptionWidth + キーワードã¯èª¬æ˜Žã‚³ãƒ©ãƒ ã®å¹…を文字数ã§æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ +
-DescriptionWidth (ã¾ãŸã¯éžè¨­å®š) ã§ã€ + mod_autoindex ãŒæœ€é©ãªå¹…を計算ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚
+ +
DescriptionWidth=n + ã§ã€ã‚³ãƒ©ãƒ å¹…ã‚’ n ãƒã‚¤ãƒˆã«å›ºå®šã—ã¾ã™ã€‚
+ +
DescriptionWidth=* + ã¯ã€æœ€é•·ã®èª¬æ˜Žã«åˆã‚ã›ã¦å¿…è¦ãªé•·ã•ã¾ã§ã‚³ãƒ©ãƒ ã‚’延ã°ã—ã¾ã™ã€‚
+ +
説明を丸ã‚込んã å ´åˆç‰¹æœ‰ã®å±é™ºã«ã¤ã„ã¦ã¯ + AddDescription + セクションをãŠèª­ã¿ä¸‹ã•ã„。
+ +
FancyIndexing
+ +
飾り付ãインデックスをオンã«ã—ã¾ã™ã€‚
+ +
FoldersFirst + (2.0.23 以é™)
+ +
ã“ã®ã‚ªãƒ—ションãŒæœ‰åŠ¹ã«ãªã£ãŸå ´åˆã€ã‚µãƒ–ディレクトリã®ä¸€è¦§ã¯ + å¿…ãšæœ€åˆã«ç¾ã‚ã‚Œã¦ã€é€šå¸¸ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ãã®å¾Œã«ç¶šãã¾ã™ã€‚ + 一覧ã¯åŸºæœ¬çš„ã«ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®äºŒã¤ã®éƒ¨åˆ†ã«åˆ†ã‘られã¦ã€ + ãã‚Œãžã‚Œã¯åˆ¥ã€…ã«ã‚½ãƒ¼ãƒˆã•ã‚Œã€ãã®å¾Œã‚µãƒ–ディレクトリを先ã«ã—㦠+ 表示ãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚例ãˆã°ã‚½ãƒ¼ãƒˆé †ãŒåå‰ã®é™é †ã«ãªã£ã¦ã„ã¦ã€ + FoldersFirst ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€ + サブディレクトリ Zed ã¯ã‚µãƒ–ディレクトリ + Beta よりもå‰ã«ãƒªã‚¹ãƒˆã•ã‚Œã€é€šå¸¸ã®ãƒ•ã‚¡ã‚¤ãƒ« + Gamma ã‚„ Alpha + よりもå‰ã«ãƒªã‚¹ãƒˆã•ã‚Œã¾ã™ã€‚ã“ã®ã‚ªãƒ—ション㯠+ FancyIndexing + も有効ã«ãªã£ã¦ã„ã‚‹ã¨ãã«ã®ã¿æœ‰åŠ¹ã§ã™ã€‚
+ +
HTMLTable (実験的〠+ Apache 2.0.23 以é™)
+ +
ã“ã®å®Ÿé¨“çš„ãªã‚ªãƒ—ション㯠FancyIndexing ã¨ã¨ã‚‚ã«æŒ‡å®šã™ã‚‹ã“ã¨ã§ã€ + 飾りã®ä»˜ã„ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸€è¦§ã®ãŸã‚ã«ãƒ†ãƒ¼ãƒ–ルを使ã£ãŸå˜ç´”ãªè¡¨ã‚’作りã¾ã™ã€‚ + ã“ã‚Œã¯å¤ã„ブラウザを混乱ã•ã›ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + WinNT ã‚„ãã®ä»– utf-8 + ãŒæœ‰åŠ¹ãªãƒ—ラットホームã®ã‚ˆã†ã«ã€ãƒ•ã‚¡ã‚¤ãƒ«åや説明テキスト㌠+ å³èª­ã¿ã«ãªã£ãŸã‚Šå·¦èª­ã¿ã«ãªã‚Šãˆã‚‹å ´åˆã¯ç‰¹ã«å¿…è¦ã§ã™ã€‚
+ +
IconsAreLinks
+ +
ã“ã‚Œã¯ã€FancyIndexing ã«ãŠã„ã¦ã€ + アイコンもファイルåã¸ã®ãƒªãƒ³ã‚¯ã®ä¸€éƒ¨ã«ã—ã¾ã™ã€‚
+ +
IconHeight[=pixels]
+ +
ã“ã®ã‚ªãƒ—ションãŒã€IconWidth ã¨ã¨ã‚‚ã« + 使ã‚ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€ã‚µãƒ¼ãƒã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚¢ã‚¤ã‚³ãƒ³ã®ãŸã‚ã® + img ã‚¿ã‚°ã« height 㨠width + 属性をå–り込むよã†ã«ãªã‚Šã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã£ã¦ã€ã‚¤ãƒ¡ãƒ¼ã‚¸å…¨ã¦ã‚’ロードã—終ã‚ã‚‹ã¾ã§å¾…ãŸãªãã¦ã‚‚〠+ ブラウザã¯ãƒšãƒ¼ã‚¸ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’ã‚らã‹ã˜ã‚計算ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®ã‚ªãƒ—ションã«ä½•ã‚‚値ãŒä¸Žãˆã‚‰ã‚Œãªã‘ã‚Œã°ã€Apache + ソフトウェアã§æä¾›ã•ã‚Œã¦ã„るアイコンã®æ¨™æº–ã®é«˜ã•ãŒ + デフォルトãªã‚Šã¾ã™ã€‚
+ +
IconWidth[=pixels]
+ +
ã“ã®ã‚ªãƒ—ションãŒã€IconHeight ã¨ã¨ã‚‚ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€ + サーãƒã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚¢ã‚¤ã‚³ãƒ³ã®ãŸã‚ã® img + ã‚¿ã‚°ã« height 㨠width + 属性をå–り込むよã†ã«ãªã‚Šã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã£ã¦ã€ã‚¤ãƒ¡ãƒ¼ã‚¸å…¨ã¦ã‚’ロードã—終ã‚ã‚‹ã¾ã§å¾…ãŸãªãã¦ã‚‚〠+ ブラウザã¯ãƒšãƒ¼ã‚¸ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’ã‚らã‹ã˜ã‚計算ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®ã‚ªãƒ—ションã«ä½•ã‚‚値ãŒä¸Žãˆã‚‰ã‚Œãªã‘ã‚Œã°ã€Apache + ソフトウェアã§æä¾›ã•ã‚Œã¦ã„るアイコンã®æ¨™æº–ã®é«˜ã•ãŒ + デフォルトãªã‚Šã¾ã™ã€‚
+ +
IgnoreCase
+ +
ã“ã®ã‚ªãƒ—ションãŒæœ‰åŠ¹ã§ã‚ã‚‹ã¨ã€ãƒ•ã‚¡ã‚¤ãƒ«åã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«ã‚½ãƒ¼ãƒˆã•ã‚Œã¾ã™ã€‚ + 例ãˆã°ãƒ•ã‚¡ã‚¤ãƒ«åãŒæ˜‡é †ã§ã‚½ãƒ¼ãƒˆã•ã‚Œã€IgnoreCase ãŒæœ‰åŠ¹ã§ã‚ã‚Œã°ã€ + Zeta 㯠alfa ã®å¾Œã«ãƒªã‚¹ãƒˆã•ã‚Œã¾ã™ + (注æ„: GAMMA ã¯å¸¸ã« gamma ã®å‰ã«ãªã‚Šã¾ã™)。
+ +
IgnoreClient
+ +
ã“ã®ã‚ªãƒ—ション㧠mod_autoindex ã¯ã€ + クライアントã‹ã‚‰ã®å…¨ã¦ã®ã‚¯ã‚¨ãƒªãƒ¼å¤‰æ•°ã‚’無視ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯ã‚½ãƒ¼ãƒˆé †ã‚‚å«ã¿ã¾ã™ã€‚ + (ã¤ã¾ã‚Š SuppressColumnSorting + も有効ã«ãªã‚Šã¾ã™ã€‚)
+ +
NameWidth=[n + | *]
+ +
NameWidth キーワードã§ãƒ•ã‚¡ã‚¤ãƒ«åコラムã®å¹…ã‚’ãƒã‚¤ãƒˆæ•°ã§ + 指定ã§ãã¾ã™ã€‚
+ +
-NameWidth (ã¾ãŸã¯éžè¨­å®š) ã§ã€ + mod_autoindex ãŒæœ€é©ãªå¹…を計算ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚
+ +
NameWidth=n + ã§ã€ã‚³ãƒ©ãƒ å¹…ã‚’ n ãƒã‚¤ãƒˆã«å›ºå®šã—ã¾ã™ã€‚
+ +
NameWidth=* + ã¯ã€å¿…è¦ãªé•·ã•ã¾ã§ã‚³ãƒ©ãƒ ã‚’延ã°ã—ã¾ã™ã€‚
+ +
ScanHTMLTitles
+ +
FancyIndexing ã®ãŸã‚ã«ã€ + HTML ドキュメントã‹ã‚‰ã‚¿ã‚¤ãƒˆãƒ«ã‚’å–り出ã™ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚ + ã‚‚ã—ファイル㫠+ AddDescription + ã§èª¬æ˜ŽãŒä¸Žãˆã‚‰ã‚Œã¦ã„ãªã‘ã‚Œã°ã€ + httpd 㯠title ã‚¿ã‚°ã®å€¤ã‚’読むãŸã‚ã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’読ã¿å§‹ã‚ã¾ã™ã€‚ + ã“れ㯠CPU ã‚„ disk ã«è² è·ã‚’ã‹ã‘ã¾ã™ã€‚
+ +
ShowForbidden
+ +
通常 Apache ã¯ã‚µãƒ–リクエストã®çµæžœãŒHTTP_UNAUTHORIZED ã‚„ + HTTP_FORBIDDEN ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ä¸€è¦§ã«è¡¨ç¤ºã—ã¾ã›ã‚“。 + ã“ã®ã‚ªãƒ—ションを指定ã™ã‚‹ã¨ã€ãã®ã‚ˆã†ãªãƒ•ã‚¡ã‚¤ãƒ«ã‚‚一覧ã«è¡¨ç¤ºã—ã¾ã™ã€‚
+ +
SuppressColumnSorting
+ +
ã‚‚ã—指定ã•ã‚Œã¦ã„ã‚Œã°ã€Apache 㯠+ FancyIndexing ã§è¡¨ç¤ºã•ã‚Œã¦ã„るディレクトリ一覧ã§ã® + コラムã®å…ˆé ­ã‚’ã€ã‚½ãƒ¼ãƒˆã®ãŸã‚ã®ãƒªãƒ³ã‚¯ã«ã—ãªããªã‚Šã¾ã™ã€‚ + デフォルトã®æŒ™å‹•ã¯ã€ãƒªãƒ³ã‚¯ã¨ã—ã¾ã™ã€‚ + コラムã®å…ˆé ­ã‚’é¸ã¶ã¨ã‚³ãƒ©ãƒ ã®å€¤ã«å¾“ã£ã¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒªã‚¹ãƒˆã‚’ + ソートã—ã¾ã™ã€‚ + Apache 2.0.23 以å‰ã§ã¯ã€ã“ã‚Œã¯åŒæ™‚ã« + ソート文字列ã®ãŸã‚ã®ã‚¯ã‚¨ãƒªãƒ¼å¼•æ•°ã®è§£æžã‚‚無効ã«ã—ã¾ã™ã€‚ + + ã“ã®æŒ™å‹•ã¯ Apache 2.0.23 ã§ã¯ + IndexOptions + IgnoreClient ã§åˆ¶å¾¡ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚
+ +
SuppressDescription
+ +
ã“れ㯠FancyIndexing ã«ãŠã‘るファイルã®èª¬æ˜Žã‚’消去ã—ã¾ã™ã€‚ + デフォルトã§ã¯ã€èª¬æ˜Žã¯å®šç¾©ã•ã‚Œã¦ãŠã‚‰ãšã€ + ã“ã®ã‚ªãƒ—ションを使ã†ã¨ä»–ã®ãŸã‚ã« 23 + 文字ã®ç©ºç™½ã‚’稼ãã“ã¨ãŒã§ãã¾ã™ã€‚ ファイルã®èª¬æ˜Žã«é–¢ã™ã‚‹æƒ…å ±ã¯ã€ + AddDescription + ã‚’ã”覧下ã•ã„。ã¾ãŸã€èª¬æ˜Žã®ã‚³ãƒ©ãƒ ã‚µã‚¤ã‚ºã‚’制é™ã™ã‚‹ + DescriptionWidth + インデックスオプションもã”覧下ã•ã„。
+ +
SuppressHTMLPreamble
+ +
通常〠+ HeaderName + ディレクティブã§æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + ディレクトリãŒå®Ÿéš›ã«å«ã‚“ã§ã„ã‚Œã°ã€æ¨™æº–的㪠HTML プリアンブル + (<html>, <head>, ç­‰) ã®å¾Œã«ã€ + モジュールã¯ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸­èº«ã‚’インクルードã—ã¾ã™ã€‚ + SuppressHTMLPreamble オプションã¯ã€ + ã“ã®æŒ™å‹•ã‚’無効ã«ã§ãã¦ã€ + モジュールãŒãƒ˜ãƒƒãƒ€ãƒ¼ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸­èº«ã‹ã‚‰è¡¨ç¤ºã‚’始ã‚ã¾ã™ã€‚ + ã“ã®å ´åˆã€ãƒ˜ãƒƒãƒ€ãƒ¼ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ­£ã—ã„ HTML + 命令をå«ã‚“ã§ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ヘッダーファイルãŒå­˜åœ¨ã—ãªã„å ´åˆã¯ã€ãƒ—リアンブルã¯é€šå¸¸é€šã‚Š + 生æˆã•ã‚Œã¾ã™ã€‚
+ +
SuppressIcon (Apache + 2.0.23 以é™)
+ +
+ ã“れ㯠FancyIndexing ã®ä¸€è¦§ã‹ã‚‰ã‚¢ã‚¤ã‚³ãƒ³ã‚’消去ã—ã¾ã™ã€‚ + SuppressIcon 㨠SuppressRules + ã¨çµ„åˆã‚ã›ã‚‹ã“ã¨ã«ã‚ˆã£ã¦æ­£ã—ã„ HTML 3.2 ã®å‡ºåŠ›ãŒå¾—られã¾ã™ã€‚ + HTML 3.2 ã®æœ€çµ‚è¦æ ¼ã¯ã€ img 㨠hr + ㌠pre ブロックã«å…¥ã‚‹ (FancyIndexing 一覧ã§æ›¸å¼ã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™) + ã“ã¨ã‚’ç¦æ­¢ã—ã¦ã„ã¾ã™ã€‚
+ +
SuppressLastModified
+ +
FancyIndexing 一覧ã«ãŠã„ã¦æœ€çµ‚更新日時ã®è¡¨ç¤ºã‚’消去ã—ã¾ã™ã€‚
+ +
SuppressRules + (Apache 2.0.23 以é™)
+ +
ディレクトリ一覧ã«ãŠã„ã¦æ°´å¹³åŒºåˆ‡ã‚Šç·š (hr ã‚¿ã‚°) を消去ã—ã¾ã™ã€‚ + SuppressIcon 㨠SuppressRules + ã¨çµ„åˆã‚ã›ã‚‹ã“ã¨ã«ã‚ˆã£ã¦æ­£ã—ã„ HTML 3.2 ã®å‡ºåŠ›ãŒå¾—られã¾ã™ã€‚ + HTML 3.2 ã®æœ€çµ‚è¦æ ¼ã¯ã€ img 㨠hr + ㌠pre ブロックã«å…¥ã‚‹ (FancyIndexing 一覧ã§æ›¸å¼ã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™) + ã“ã¨ã‚’ç¦æ­¢ã—ã¦ã„ã¾ã™ã€‚
+ +
SuppressSize
+ +
FancyIndexing 一覧ã«ãŠã„ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã®è¡¨ç¤ºã‚’消去ã—ã¾ã™ã€‚
+ +
TrackModified + (Apache 2.0.23 以é™)
+ +
ã“れ㯠HTTP ヘッダ中ã«ã€ + ディレクトリ㮠Last-Modified ã‚„ + ETag ã‚’å«ã‚ã¾ã™ã€‚ + ã“ã‚Œã¯ã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã‚„ファイルシステム㌠+ é©åˆ‡ãª stat() ã®è¿”り値を返ã™å ´åˆã«ã®ã¿æœ‰åŠ¹ã§ã™ã€‚ + ã„ãã¤ã‹ã® UNIX システムã€OS2 ã® JFS ã‚„ Win32 ã® NTFS + ボリュームã¯ãã†ãªã£ã¦ã„ã¾ã™ã€‚ + 例ãˆã°ã€OS2 㨠Win32 FAT ボリュームã¯ãã†ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + ã“ã®æ©Ÿèƒ½ãŒæœ‰åŠ¹ã«ãªã‚‹ã¨ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚„プロキシ㯠+ HEAD リクエストを行ã†ã“ã¨ã«ã‚ˆã£ã¦ã€ + ファイル一覧ã®å¤‰åŒ–を追跡ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + オペレーティングシステムã«ã‚ˆã£ã¦ã¯ã€æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚„ + 移動ファイルã¯æ­£ã—ã追跡ã™ã‚‹ã‘ã‚Œã©ã‚‚〠+ ディレクトリ中ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚µã‚¤ã‚ºã‚„日付ã¯è¿½è·¡ã—ãªã„ã¨ã„ã†ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。 + æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚µã‚¤ã‚ºã‚„日付ã®ã‚¹ã‚¿ãƒ³ãƒ—ãŒå¤‰åŒ–ã—ã¦ã‚‚〠+ å…¨ã¦ã® Unix プラットホームã§ã¯ã€ + Last-Modified ヘッダーを更新ã—ã¾ã›ã‚“。 + ã‚‚ã—ã“ã‚ŒãŒé‡è¦ã§ã‚ã‚Œã°ã€ + ã“ã®ã‚ªãƒ—ションを無効ã®ã¾ã¾ã«ã—ã¦ãã ã•ã„。
+ +
VersionSort + (Apache 2.0a3 以é™)
+ +
VersionSort キーワードã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚’å«ã‚“ã ãƒ•ã‚¡ã‚¤ãƒ«ãŒ + 自然ãªæ–¹æ³•ã§ã‚½ãƒ¼ãƒˆã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚ + 文字列ã¯é€šå¸¸é€šã‚Šã‚½ãƒ¼ãƒˆã•ã‚Œã€ + ãれ以外ã®ã€èª¬æ˜Žã‚„åå‰ä¸­ã®æ•°ã¨ãªã‚‹éƒ¨åˆ†æ–‡å­—列㯠+ ãã®æ•°å€¤ã§æ¯”較ã•ã‚Œã¾ã™ã€‚ + +

例:

+ foo-1.7
+ foo-1.7.2
+ foo-1.7.12
+ foo-1.8.2
+ foo-1.8.2a
+ foo-1.12 +

+ +

番å·ãŒ 0 ã‹ã‚‰å§‹ã¾ã‚‹å ´åˆã¯ã€ç«¯æ•°ã¨è€ƒãˆã‚‰ã‚Œã¾ã™

+ +

+ foo-1.001
+ foo-1.002
+ foo-1.030
+ foo-1.04 +

+
+ +
XHTML + (Apache 2.0.49 以é™)
+ +
XHTML キーワードを指定ã™ã‚‹ã¨ã€mod_autoindex + 㯠HTML 3.2 ã®ä»£ã‚ã‚Šã« XHTML 1.0 ã®ã‚³ãƒ¼ãƒ‰ã‚’出力ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
+
+ + +
増減指定ã§ãã‚‹ IndexOptions
+
+

Apache 1.3.3 ã§ã¯ã€ + IndexOptions + ディレクティブã®æ‰±ã„ã§å¹¾ã¤ã‹ã®å¤§ããªå¤‰åŒ–ãŒå°Žå…¥ã•ã‚Œã¾ã—ãŸã€‚ + 特ã«ã€

+ +
    +
  • 一ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã™ã‚‹è¤‡æ•°ã® + IndexOptions + ディレクティブã¯ã€ç¾åœ¨ã§ã¯ä¸€ã¤ã«ãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã™ã€‚ + +

    + <Directory /foo> + + IndexOptions HTMLTable
    + IndexOptions SuppressColumnsorting +
    + </Directory> +

    + +

    ã®çµæžœã¯ã€æ¬¡ã®æŒ‡å®šã¨åŒä¸€ã®çµæžœã«ãªã‚Šã¾ã™ã€‚

    + +

    + IndexOptions HTMLTable SuppressColumnsorting +

    +
  • + +
  • 増減構文 + (ã™ãªã‚ã¡ã€'+' ã‚„ '-' + ã®æŽ¥é ­è¾žãŒä»˜ãキーワード) ã®è¿½åŠ ã€‚
  • +
+ +

'+' ã‚„ '-' 接頭辞ã®ä»˜ã„ãŸã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã«å‡ºä¼šã†ã¨ãã‚Œã¯ã€ + ãã®æ™‚点ã§ã® IndexOptions + ã®è¨­å®š (ã“ã‚Œã¯ä¸Šæµã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å—ã‘継ãŽã¾ã™) + ã«å¯¾ã—ã¦é©å¿œã•ã‚Œã¾ã™ã€‚ + ã—ã‹ã—ãªãŒã‚‰ã€æŽ¥é ­è¾žã®ä»˜ã‹ãªã„キーワードãŒå‡¦ç†ã•ã‚ŒãŸå ´åˆã¯ã€ + å—ã‘継ã„ã ã‚ªãƒ—ション全ã¦ã¨ãã‚Œã¾ã§å‡ºä¼šã£ãŸå¢—減設定全ã¦ãŒ + 消去ã•ã‚Œã¾ã™ã€‚次ã®ä¾‹ã‚’考ãˆã¦ã¿ã¦ãã ã•ã„:

+ +

+ IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
+ IndexOptions +SuppressSize +

+ +

最終的ãªåŠ¹æžœã¯ + IndexOptions FancyIndexing +SuppressSize + ã¨åŒä¸€ã§ã™ã€‚ + 接頭辞ã®ä»˜ã‹ãªã„ FancyIndexing + ã§ãれ以å‰ã®å¢—減キーワードã¯ç„¡åŠ¹ã«ãªã‚Šã€ + ãã®å¾Œã®ç´¯ç©ãŒå§‹ã¾ã‚‹ã‹ã‚‰ã§ã™ã€‚

+ +

ã‚るディレクトリã«ãŠã„ã¦ä¸Šä½ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æŒ‡å®šã•ã‚ŒãŸè¨­å®šã«å½±éŸ¿ã•ã‚Œã‚‹ã“ã¨ãªã + IndexOptions を設定ã—ãŸã„å ´åˆã€ + + ã‚„ - + 接頭辞ã®ä»˜ã‹ãªã„キーワードã§è¨­å®šã—ã¦ãã ã•ã„。

+
+
+ +
+
top
+

IndexOrderDefault ディレクティブ

+ + + + + + + + +
説明: +ディレクトリインデックスã®æ¨™æº–ã®é †ç•ªä»˜ã‘を設定
構文:IndexOrderDefault Ascending|Descending +Name|Date|Size|Description
デフォルト:IndexOrderDefault Ascending Name
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

IndexOrderDefault ディレクティブ㯠+ FancyIndexing + インデックスオプションã¨ä½µã›ã¦ç”¨ã„られã¾ã™ã€‚ + デフォルトã§ã¯ã€FancyIndexing + ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸€è¦§ã¯ãƒ•ã‚¡ã‚¤ãƒ«åã®æ˜‡é †ã§è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ + IndexOrderDefault + ã§ã€åˆæœŸçŠ¶æ…‹ã®è¡¨ç¤ºé †ç•ªã‚’変ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

IndexOrderDefault + ã¯äºŒã¤ã®å¼•æ•°ã‚’ã¨ã‚Šã¾ã™ã€‚一ã¤ç›®ã¯ã‚½ãƒ¼ãƒˆã®æ–¹å‘を指示ã™ã‚‹ + Ascending ã‹ Descending ã®ã„ãšã‚Œã‹ã§ã™ã€‚ + 二ã¤ç›®ã®å¼•æ•°ã¯ Name, Date, + Size ã‹ Description + ã®ã„ãšã‚Œã‹ä¸€ã¤ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã§ã‚ã£ã¦ã€1ã¤ç›®ã®ã‚½ãƒ¼ãƒˆã‚­ãƒ¼ã‚’指定ã—ã¾ã™ã€‚ + 2ã¤ç›®ã®ã‚½ãƒ¼ãƒˆã‚­ãƒ¼ã¯å¸¸ã«ãƒ•ã‚¡ã‚¤ãƒ«åã®æ˜‡é †ã«ãªã‚Šã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㨠SuppressColumnSorting + インデックスオプションã¨ã‚’組ã¿åˆã‚ã›ã‚‹ã“ã¨ã§ã€ + ディレクトリ一覧をã‚る特定ã®é †ç•ªã§ã®ã¿è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚ + ã“ã‚Œã¯ã€ + クライアントãŒåˆ¥ã®é †ç•ªã§ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸€è¦§ã‚’リクエストã™ã‚‹ã“ã¨ã‚’防ãŽã¾ã™ã€‚

+ +
+
top
+

IndexStyleSheet ディレクティブ

+ + + + + + + +
説明:ディレクトリインデックス㫠CSS スタイルシートを追加ã™ã‚‹
構文:IndexStyleSheet url-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

IndexStyleSheet ディレクティブ㯠+ インデックス表示ã«ä½¿ç”¨ã•ã‚Œã‚‹ CSS ã®ãƒ•ã‚¡ã‚¤ãƒ«åを設定ã—ã¾ã™ã€‚ +

+

例

+ + IndexStyleSheet "/css/style.css" +

+ +
+
top
+

ReadmeName ディレクティブ

+ + + + + + + +
説明:インデックス一覧ã®æœ€å¾Œã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰
構文:ReadmeName filename
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_autoindex
+

ReadmeName ディレクティブã¯ã€ + インデックスã®çµ‚ã‚ã‚Šã«ä»˜ã‘加ãˆã‚‰ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‚’設定ã—ã¾ã™ã€‚ + filename ã¯æŒ¿å…¥ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã§ã€ + 一覧ã®è¡Œã‚ã‚Œã¦ã„ã‚‹ä½ç½®ã‹ã‚‰ç›¸å¯¾çš„ãªã‚‚ã®ã¨ã—ã¦è§£é‡ˆã•ã‚Œã¾ã™ã€‚ + filename ãŒã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§å§‹ã¾ã‚‹å ´åˆã¯ã€ + DocumentRoot + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ãªã‚Šã¾ã™ã€‚

+ +

例

+ ReadmeName FOOTER.html +

+ +

例 2

+ ReadmeName /include/FOOTER.html +

+ +

より詳細ã«ã¾ã§ã“ã®æŒ™å‹•ã«ã¤ã„ã¦è¨˜è¿°ã—ã¦ã„ã‚‹ HeaderName + ã‚‚ã”覧下ã•ã„。

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.ko.euc-kr b/docs/manual/mod/mod_autoindex.html.ko.euc-kr new file mode 100644 index 0000000..91356b7 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.ko.euc-kr @@ -0,0 +1,893 @@ + + + + + +mod_autoindex - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_autoindex

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:ÀÚµ¿À¸·Î À¯´Ð½ºÀÇ ls ¸í·É¾î³ª Win32ÀÇ + dir ½©¸í·É¾î¿Í À¯»çÇÑ µð·ºÅ丮 ¸ñ·ÏÀ» ¸¸µç´Ù
»óÅÂ:Base
¸ðµâ¸í:autoindex_module
¼Ò½ºÆÄÀÏ:mod_autoindex.c
+

¿ä¾à

+ +

µð·ºÅ丮 ¸ñ·ÏÀº ¾ò´Â ¹æ¹ýÀº µÎ°¡Áö´Ù:

+ +
    +
  • º¸Åë index.htmlÀ̶õ À̸§À¸·Î »ç¿ëÀÚ°¡ + ÀÛ¼ºÇÑ ÆÄÀÏ. ÀÌ ÆÄÀÏÀÇ À̸§Àº DirectoryIndex Áö½Ã¾î·Î + ÁöÁ¤ÇÑ´Ù. ÀÌ ÀÛ¾÷Àº mod_dirÀÌ ÇÑ´Ù.
  • + +
  • ¾Æ´Ï¸é ¼­¹ö°¡ ¸ñ·ÏÀ» ¸¸µç´Ù. ÀÌ ¸ñ·ÏÀÇ Çü½ÄÀ» ÁöÁ¤ÇÏ´Â + Áö½Ã¾îµéÀÌ ÀÖ´Ù. AddIcon, AddIconByEncoding, + AddIconByTypeÀº + ¿©·¯ ÆÄÀÏÁ¾·ù¸¶´Ù º¸¿©ÁÙ ¾ÆÀÌÄܵéÀ» ÁöÁ¤ÇÑ´Ù. °¢ ÆÄÀÏ¿¡ + ´ëÀÀÇϴ ù¹ø° ¾ÆÀÌÄÜÀ» º¸ÀδÙ. ÀÌ ÀÛ¾÷À» + mod_autoindex°¡ ÇÑ´Ù.
  • +
+

ÀÌ µÎ ±â´ÉÀº ¼­·Î º°°³·Î, ¿øÇÑ´Ù¸é ÀÚµ¿ ¸ñ·Ï »ý¼ºÀ» ¿ÏÀüÈ÷ + Á¦¿ÜÇÒ (ȤÀº ´ëüÇÒ) ¼ö ÀÖ´Ù.

+ +

ÀÚµ¿ ¸ñ·Ï »ý¼ºÀº Options +Indexes·Î °¡´ÉÇÏ´Ù. + ÀÚ¼¼ÇÑ ³»¿ëÀº Options + Áö½Ã¾î¸¦ Âü°íÇ϶ó.

+ +

IndexOptions + Áö½Ã¾î¿¡ FancyIndexing ¿É¼ÇÀ» ÁÖ¸é, ¿­ À̸§À» Ãâ·ÂÇÒ + ¼ø¼­¸¦ ¹Ù²Ù´Â ¸µÅ©·Î ¸¸µç´Ù. À̸§ ¸µÅ©¸¦ ¼±ÅÃÇÏ¸é ±× ¿­ÀÇ + °ª ¼ø¼­·Î ¸ñ·ÏÀ» ´Ù½Ã ¸¸µç´Ù. °°Àº À̸§À» ¹Ýº¹Çؼ­ ¼±ÅÃÇϸé + ¿À¸§Â÷¼ø°ú ³»¸²Â÷¼ø »çÀ̸¦ ¿À°£´Ù. IndexOptions Áö½Ã¾îÀÇ + SuppressColumnSorting ¿É¼ÇÀº ÀÌ·± ¿­ À̸§ ¸µÅ©¸¦ + ¸¸µéÁö ¾Ê´Â´Ù.

+ +

"Size(Å©±â)" ¼øÀ¸·Î º¼¶§ Ãâ·ÂµÇ´Â °ª ¼ø¼­°¡ ¾Æ´Ï¶ó ½ÇÁ¦ + ÆÄÀÏÅ©±â ¼ø¼­ÀÓÀ» ÁÖÀÇÇ϶ó. Áï, 1010 ¹ÙÀÌÆ® ÆÄÀÏ°ú 1011 + ¹ÙÀÌÆ® ÆÄÀÏÀº µÑ´Ù "1K"·Î º¸ÀÌ´õ¶óµµ Ç×»ó 1010 ¹ÙÀÌÆ® ÆÄÀÏÀÌ + ¾Õ¿¡ ³ª¿Â´Ù.

+
+ +
top
+
+

Autoindex ¿äû ¾Æ±Ô¸ÕÆ®

+ + +

¾ÆÆÄÄ¡ 2.0.23´Â ¿­¼ø¼­¿¡ ´ëÇÑ ¿äû ¾Æ±Ô¸ÕÆ®¸¦ Á¤¸®ÇÏ°í, + »õ·Î¿î ¿É¼ÇµéÀ» Ãß°¡Çß´Ù. Ãâ·ÂÀ» Ŭ¶óÀ̾ðÆ®°¡ Á¶ÀýÇÒ ¼ö + ¾øµµ·Ï ¸¸µå´Â IndexOptions + IgnoreClient ¿É¼ÇÀÌ Ãß°¡µÇ¾ú´Ù.

+ +

¿­¼ø¼­ À̸§Àº ¾Æ·¡ ³ª¿Â ¼ø¼­ ¿äû ¿É¼ÇÀ» ´õÇÑ ÀÚ±âÂüÁ¶ + ¸µÅ©´Ù. ¾Æ·¡ ¿É¼ÇÀº µð·ºÅ丮 ÀÚ¿ø¿¡ ´ëÇÑ ¾î¶² ¿äû¿¡µµ + »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +
    +
  • C=NÀº ÆÄÀÏ¸í ¼øÀÌ´Ù
  • + +
  • C=MÀº ÃÖ±Ù ¼öÁ¤ÀÏ ¼ø, ±×¸®°í ÆÄÀÏ¸í ¼øÀÌ´Ù
  • + +
  • C=S´Â Å©±â ¼ø, ±×¸®°í ÆÄÀÏ¸í ¼øÀÌ´Ù
  • + +
  • C=D´Â ¼³¸í ¼ø, ±×¸®°í ÆÄÀϸí + ¼øÀÌ´Ù
  • + +
  • O=A´Â ¿À¸§Â÷¼øÀ¸·Î ¸ñ·ÏÀ» Á¤·ÄÇÑ´Ù
  • + +
  • O=D´Â ³»¸²Â÷¼øÀ¸·Î ¸ñ·ÏÀ» Á¤·ÄÇÑ´Ù
  • + +
  • F=0Àº (FancyIndexed°¡ ¾Æ´Ñ) °£´ÜÇÑ ¸ñ·Ï Çü½ÄÀÌ´Ù
  • + +
  • F=1Àº FancyIndexed ¸ñ·Ï Çü½ÄÀÌ´Ù
  • + +
  • F=2´Â HTMLTable FancyIndexed ¸ñ·Ï + Çü½ÄÀÌ´Ù
  • + +
  • V=0Àº ¹öÀü ¼øÀ¸·Î Á¤·ÄÇÏÁö ¾Ê´Â´Ù
  • + +
  • V=1Àº ¹öÀü ¼øÀ¸·Î Á¤·ÄÇÑ´Ù
  • + +
  • P=patternÀº ÁÖ¾îÁø pattern¿¡ + ÇØ´çÇÏ´Â ÆÄÀϸ¸À» ¸ñ·ÏÀ¸·Î ¸¸µç´Ù
  • +
+ +

'P'attern ¾Æ±Ô¸ÕÆ®´Â ÀϹÝÀûÀÎ IndexIgnore Áö½Ã¾î¸¦ ó¸®ÇÑ ÈÄ¿¡ + °Ë»çÇϱ⶧¹®¿¡, ¸ñ·ÏÀº ´Ù¸¥ autoindex Á¶°ÇÀ» µû¸§À» ÁÖÀÇÇ϶ó. + mod_autoindexÀÇ ¿äû ¾Æ±Ô¸ÕÆ®¸¦ ÀоîµéÀ϶§ + ¾Ë ¼ö ¾ø´Â ¿É¼ÇÀ» ¹ß°ßÇÏ¸é ´õ ÀÌ»ó ÀÐÁö¾Ê´Â´Ù. ¿äû ¾Æ±Ô¸ÕÆ®´Â + À§ÀÇ Ç¥¿¡ µû¶ó ¸¸µé¾î¾ß ÇÑ´Ù.

+ +

header.html ÆÄÀÏ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾Æ·¡ °£´ÜÇÑ ¿¹Á¦´Â + ÀÌ ¿É¼ÇµéÀ» ¼³¸íÇÑ´Ù. submit ¹öÅÏÀÇ ¾Ë ¼ö ¾ø´Â "X" ¾Æ±Ô¸ÕÆ®´Â + mod_autoindex°¡ X=Go Àü±îÁö ¸ðµç ¾Æ±Ô¸ÕÆ®¸¦ ÀоîµéÀÓÀ» + È®ÀÎÇϱâÀ§ÇØ ¸¶Áö¸·¿¡ »ç¿ëÇß´Ù.

+ +

+ <form action="" method="get">
+ + Show me a <select name="F">
+ + <option value="0"> Plain list</option>
+ <option value="1" selected="selected"> Fancy list</option>
+ <option value="2"> Table list</option>
+
+ </select>
+ Sorted by <select name="C">
+ + <option value="N" selected="selected"> Name</option>
+ <option value="M"> Date Modified</option>
+ <option value="S"> Size</option>
+ <option value="D"> Description</option>
+
+ </select>
+ <select name="O">
+ + <option value="A" selected="selected"> Ascending</option>
+ <option value="D"> Descending</option>
+
+ </select>
+ <select name="V">
+ + <option value="0" selected="selected"> in Normal order</option>
+ <option value="1"> in Version order</option>
+
+ </select>
+ Matching <input type="text" name="P" value="*" />
+ <input type="submit" name="X" value="Go" />
+
+ </form> +

+ +
+
top
+

AddAlt Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÆÄÀϸíÀ¸·Î ¼±ÅÃÇÑ ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ÆÄÀÏ ¼³¸í±Û
¹®¹ý:AddAlt string file [file] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

AddAlt´Â FancyIndexing¿¡¼­ + ÆÄÀÏ¿¡ ´ëÇÑ ¾ÆÀÌÄÜ´ë½Å º¸ÀÏ ±ÛÀ» ÁöÁ¤ÇÑ´Ù. File¿¡´Â + ¼³¸íÇÒ ÆÄÀÏÀÇ ÆÄÀÏ È®ÀåÀÚ, ÆÄÀϸí ÀϺÎ, ¿ÍÀϵåÄ«µå Ç¥Çö, + Àüü ÆÄÀϸíÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. String¿¡ °ø¹éÀÌ + µé¾î°£´Ù¸é µû¿ÈÇ¥(" ȤÀº ')·Î + ¹­¾î¾ß ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®°¡ À̹ÌÁö¸¦ º¼ ¼ö ¾ø°Å³ª, À̹ÌÁö¸¦ + ÀÐÁö¾Ê°Å³ª, ¾ÆÀÌÄÜÀ» ¸ø ¾òÀº °æ¿ì ÀÌ Ãß°¡ ±ÛÀÌ º¸ÀÌ°Ô µÈ´Ù.

+ +

¿¹Á¦

+ AddAlt "PDF file" *.pdf
+ AddAlt Compressed *.gz *.zip *.Z +

+ +
+
top
+

AddAltByEncoding Áö½Ã¾î

+ + + + + + + +
¼³¸í:MIME-encodingÀ¸·Î ¼±ÅÃÇÑ ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ÆÄÀÏ +¼³¸í±Û
¹®¹ý:AddAltByEncoding string MIME-encoding +[MIME-encoding] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

AddAltByEncodingÀº FancyIndexing¿¡¼­ + ÆÄÀÏ¿¡ ´ëÇÑ ¾ÆÀÌÄÜ´ë½Å º¸ÀÏ ±ÛÀ» ÁöÁ¤ÇÑ´Ù. MIME-encodingÀº + x-compress¿Í °°Àº À¯È¿ÇÑ content-encodingÀÌ´Ù. + String¿¡ °ø¹éÀÌ µé¾î°£´Ù¸é µû¿ÈÇ¥(" + ȤÀº ')·Î ¹­¾î¾ß ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®°¡ À̹ÌÁö¸¦ + º¼ ¼ö ¾ø°Å³ª, À̹ÌÁö¸¦ ÀÐÁö¾Ê°Å³ª, ¾ÆÀÌÄÜÀ» ¸ø ¾òÀº °æ¿ì + ÀÌ Ãß°¡ ±ÛÀÌ º¸ÀÌ°Ô µÈ´Ù.

+ +

¿¹Á¦

+ AddAltByEncoding gzip x-gzip +

+ +
+
top
+

AddAltByType Áö½Ã¾î

+ + + + + + + +
¼³¸í:MIME content-typeÀ¸·Î ¼±ÅÃÇÑ ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ÆÄÀÏ +¼³¸í±Û
¹®¹ý:AddAltByType string MIME-type +[MIME-type] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

AddAltByTypeÀº FancyIndexing¿¡¼­ + ÆÄÀÏ¿¡ ´ëÇÑ ¾ÆÀÌÄÜ´ë½Å º¸ÀÏ ±ÛÀ» ÁöÁ¤ÇÑ´Ù. MIME-typeÀº + text/html°ú °°Àº À¯È¿ÇÑ content-typeÀÌ´Ù. + String¿¡ °ø¹éÀÌ µé¾î°£´Ù¸é µû¿ÈÇ¥(" + ȤÀº ')·Î ¹­¾î¾ß ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®°¡ À̹ÌÁö¸¦ + º¼ ¼ö ¾ø°Å³ª, À̹ÌÁö¸¦ ÀÐÁö¾Ê°Å³ª, ¾ÆÀÌÄÜÀ» ¸ø ¾òÀº °æ¿ì + ÀÌ Ãß°¡ ±ÛÀÌ º¸ÀÌ°Ô µÈ´Ù.

+ +

¿¹Á¦

+ AddAltByType 'plain text' text/plain +

+ +
+
top
+

AddDescription Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÆÄÀÏ¿¡ ´ëÇÑ ¼³¸í
¹®¹ý:AddDescription string file [file] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

ÀÌ Áö½Ã¾î´Â FancyIndexing¿¡¼­ ÆÄÀÏ¿¡ ´ëÇÑ ¼³¸íÀ» ÁöÁ¤ÇÑ´Ù. + File¿¡´Â ¼³¸íÇÒ ÆÄÀÏÀÇ ÆÄÀÏ È®ÀåÀÚ, ÆÄÀϸí ÀϺÎ, + ¿ÍÀϵåÄ«µå Ç¥Çö, Àüü ÆÄÀϸíÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. StringÀº + µû¿ÈÇ¥(")·Î ¹­¾î¾ß ÇÑ´Ù.

+ +

¿¹Á¦

+ AddDescription "The planet Mars" /web/pics/mars.gif +

+ +

ÀüÇüÀûÀÎ ±âº» ¼³¸í ÇʵåÆøÀº 23 ¹ÙÀÌÆ®´Ù. IndexOptions + SuppressIcon ¿É¼ÇÀ» »ç¿ëÇÏ¸é ±âº»Æø¿¡ 6 ¹ÙÀÌÆ®¸¦ + ´õ Ãß°¡ÇÏ°í, IndexOptions SuppressSize ¿É¼ÇÀº 7 ¹ÙÀÌÆ®¸¦, + IndexOptions SuppressLastModified ¿É¼ÇÀº 19 + ¹ÙÀÌÆ®¸¦ ´õ Ãß°¡ÇÑ´Ù. ±×·¯¹Ç·Î °¡Àå ³ÐÀº ¼³¸íÆøÀº 55 ¹ÙÀÌÆ®´Ù.

+ +

ÀÌ ÇʵåÀÇ Æø¸¦ ¹Ù²Ù°Å³ª ¼³¸íÀÇ ±æÀ̸¦ ¹«ÇÑ´ë·Î ¸¸µå·Á¸é + DescriptionWidth IndexOptions Å°¿öµå¸¦ Âü°íÇ϶ó.

+ +

Á¶½É

+

AddDescriptionÀ¸·Î ÁöÁ¤ÇÑ ¼³¸í±Û¿¡ + ű׳ª character entity(¿ªÁÖ; &lt;, &amp; µîÀ» + ÁöĪ)°°Àº HTMLÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª Æø¶§¹®¿¡ + űװ¡ ÀÖ´Â ºÎºÐÀÌ Â©¸®°ÔµÇ¸é (¿¹¸¦ µé¾î ±½ÀºÃ¼ ºÎºÐ ³¡ÀÌ + ©¸®¸é) ³ª¸ÓÁö µð·ºÅ丮 ¸ñ·Ï¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Ù.

+
+ +
+
top
+

AddIcon Áö½Ã¾î

+ + + + + + + +
¼³¸í:À̸§À¸·Î ¼±ÅÃÇÑ ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
¹®¹ý:AddIcon icon name [name] +...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

ÀÌ Áö½Ã¾î´Â FancyIndexing¿¡¼­ nameÀ¸·Î ³¡³ª´Â + ÆÄÀÏ ¿·¿¡ º¸¿©ÁÙ ¾ÆÀÌÄÜÀ» ÁöÁ¤ÇÑ´Ù. IconÀº + ¾ÆÀÌÄÜÀÇ (%-escaped) »ó´ë URL ȤÀº + (alttext,url) Çü½ÄÀÌ´Ù. + ¿©±â¼­ alttext´Â ±×¸²À» º¸¿©ÁÙ ¼ö ¾ø´Â ºê¶ó¿ìÀú°¡ + ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ¹®±¸ÀÌ´Ù.

+ +

Name¿¡´Â µð·ºÅ丮¸¦ ³ªÅ¸³»´Â ^^DIRECTORY^^, + (¸ñ·Ï Çü½ÄÀ» ¿Ã¹Ù·Î ¸ÂÃß±âÀ§ÇØ) ºóÁÙÀ» ³ªÅ¸³»´Â + ^^BLANKICON^^, ÆÄÀÏ È®ÀåÀÚ, ¿ÍÀϵåÄ«µå Ç¥Çö, + ÆÄÀϸí ÀϺΠȤÀº Àüü¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¿¹Á¦

+ AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm
+ AddIcon /icons/dir.xbm ^^DIRECTORY^^
+ AddIcon /icons/backup.xbm *~ +

+ +

°¡´ÉÇϸé AddIconº¸´Ù´Â AddIconByTypeÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.

+ +
+
top
+

AddIconByEncoding Áö½Ã¾î

+ + + + + + + +
¼³¸í:MIME content-encodingÀ¸·Î ¼±ÅÃÇÑ ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
¹®¹ý:AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

ÀÌ Áö½Ã¾î´Â FancyIndexing¿¡¼­ + ÆÄÀÏ ¿·¿¡ º¸¿©ÁÙ ¾ÆÀÌÄÜÀ» ÁöÁ¤ÇÑ´Ù. IconÀº + ¾ÆÀÌÄÜÀÇ (%-escaped) »ó´ë URL ȤÀº + (alttext,url) Çü½ÄÀÌ´Ù. + ¿©±â¼­ alttext´Â ±×¸²À» º¸¿©ÁÙ ¼ö ¾ø´Â ºê¶ó¿ìÀú°¡ + ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ¹®±¸ÀÌ´Ù.

+ +

MIME-encoding´Â content-encoding¿¡ ÇØ´çÇÏ´Â + ¿ÍÀϵåÄ«µå Ç¥ÇöÀÌ´Ù.

+ +

¿¹Á¦

+ AddIconByEncoding /icons/compress.xbm x-compress +

+ +
+
top
+

AddIconByType Áö½Ã¾î

+ + + + + + + +
¼³¸í:MIME content-typeÀ¸·Î ¼±ÅÃÇÑ ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
¹®¹ý:AddIconByType icon MIME-type +[MIME-type] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

ÀÌ Áö½Ã¾î´Â FancyIndexing¿¡¼­ + MIME-typeÀÇ ÆÄÀÏ ¿·¿¡ º¸¿©ÁÙ ¾ÆÀÌÄÜÀ» ÁöÁ¤ÇÑ´Ù. + IconÀº ¾ÆÀÌÄÜÀÇ (%-escaped) »ó´ë URL ȤÀº + (alttext,url) Çü½ÄÀÌ´Ù. + ¿©±â¼­ alttext´Â ±×¸²À» º¸¿©ÁÙ ¼ö ¾ø´Â ºê¶ó¿ìÀú°¡ + ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ¹®±¸ÀÌ´Ù.

+ +

MIME-typeÀº mime type¿¡ ÇØ´çÇÏ´Â ¿ÍÀϵåÄ«µå + Ç¥ÇöÀÌ´Ù.

+ +

¿¹Á¦

+ AddIconByType (IMG,/icons/image.xbm) image/* +

+ +
+
top
+

DefaultIcon Áö½Ã¾î

+ + + + + + + +
¼³¸í:ƯÁ¤ ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÏÁö¾ÊÀº ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
¹®¹ý:DefaultIcon url-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

DefaultIcon Áö½Ã¾î´Â FancyIndexing¿¡¼­ + ƯÁ¤ ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÏÁö¾ÊÀº ÆÄÀÏ ¿·¿¡ ³ª¿Ã ¾ÆÀÌÄÜÀÌ´Ù. + IconÀº ¾ÆÀÌÄÜÀÇ (%-escaped) »ó´ë URLÀÌ´Ù.

+ +

¿¹Á¦

+ DefaultIcon /icon/unknown.xbm +

+ +
+
top
+

HeaderName Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÆÄÀϸñ·Ï À§¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§
¹®¹ý:HeaderName filename
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

HeaderName Áö½Ã¾î´Â ÆÄÀϸñ·Ï ¾Õ¿¡ + »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. FilenameÀº »ðÀÔÇÒ + ÆÄÀϸíÀÌ´Ù.

+ +

¿¹Á¦

+ HeaderName HEADER.html +

+ +
+

ÇöÀç HeaderName°ú ReadmeName µÑ ¸ðµÎ + FilenameÀ» Á¢±ÙÇÏ·Á´Â µð·ºÅ丮ÀÇ »ó´ë URI °æ·Î·Î + ¹Þ¾ÆµéÀδÙ. FilenameÀÌ ½½·¡½¬·Î ½ÃÀÛÇϸé DocumentRoot¿¡ »ó´ëÀûÀÎ °æ·Î·Î + ¹Þ¾ÆµéÀδÙ.

+ +

¿¹Á¦

+ HeaderName /include/HEADER.html +

+ +

Filename¿¡´Â major content typeÀÌ text/*ÀÎ + (¿¹¸¦ µé¾î, text/html, text/plain, + µî) ¹®¼­¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. Áï, ½ºÅ©¸³Æ®ÀÇ (Ãâ·ÂÀÌ ¾Æ´Ñ) ½ÇÁ¦ ÆÄÀÏ + typeÀ» ´ÙÀ½°ú °°ÀÌ text/html·Î ÁöÁ¤ÇÑ´Ù¸é + filenameÀ¸·Î CGI ½ºÅ©¸³Æ®¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù:

+ +

+ AddType text/html .cgi +

+ +

Options + MultiViewsÀ» »ç¿ëÇÏ¸é ³»¿ëÇù»óÀ» ÇÑ´Ù. + filenameÀÌ (CGI ½ºÅ©¸³Æ®°¡ ¾Æ´Ñ) °íÁ¤µÈ + text/html ¹®¼­ÀÌ°í options Includes³ª + IncludesNOEXEC Áß Çϳª¸¦ »ç¿ëÇÑ´Ù¸é ÆÄÀÏÀ» + server-side includes·Î ó¸®ÇÑ´Ù. (mod_include + ¹®¼­ Âü°í)

+
+ +

HeaderNameÀ¸·Î ÁöÁ¤ÇÑ ÆÄÀÏ¿¡ + (<html>, <head>, µî) HTML ¹®¼­ ½ÃÀۺκÐÀÌ Æ÷ÇÔµÇÀÖ´Ù¸é + IndexOptions + +SuppressHTMLPreambleÀ» »ç¿ëÇÏ¿© ÀÌ ºÎºÐÀ» Ãß°¡ÇÏÁö¾Ê´Â + °ÍÀÌ ÁÁ´Ù.

+ +
+
top
+

IndexHeadInsert Áö½Ã¾î

+ + + + + + +
¼³¸í:Inserts text in the HEAD section of an index page.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Base
¸ðµâ:mod_autoindex

Documentation not yet translated. Please see English version of document.

+
+
top
+

IndexIgnore Áö½Ã¾î

+ + + + + + + +
¼³¸í:µð·ºÅ丮 ¸ñ·Ï¿¡¼­ ¼û±æ ÆÄÀϸñ·ÏÀ» Ãß°¡ÇÑ´Ù
¹®¹ý:IndexIgnore file [file] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

IndexIgnore Áö½Ã¾î´Â µð·ºÅ丮 + ¸ñ·Ï¿¡¼­ °¨Ãâ ÆÄÀϸñ·ÏÀ» Ãß°¡ÇÑ´Ù. File¿¡´Â °¨Ãâ + (½©¿¡¼­ »ç¿ëÇÏ´Â) È­ÀϵåÄ«µå Ç¥ÇöÀ̳ª Àüü ÆÄÀϸíÀ» + »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿©·¯ IndexIgnore Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é ±âÁ¸ÀÇ + °¨Ãâ ÆÄÀϸñ·ÏÀ» ´ëüÇÏÁö¾Ê°í ¸ñ·Ï¿¡ ÁöÁ¤ÇÑ ÆÄÀϵéÀ» Ãß°¡ÇÑ´Ù. + ±âº»ÀûÀ¸·Î ¸ñ·ÏÀº .À» (ÇöÀç µð·ºÅ丮) Æ÷ÇÔÇÑ´Ù.

+ +

+ IndexIgnore README .htaccess *.bak *~ +

+ +
+
top
+

IndexIgnoreReset Áö½Ã¾î

+ + + + + + + + +
¼³¸í:Empties the list of files to hide when listing +a directory
¹®¹ý:IndexIgnoreReset ON|OFF
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
Áö¿ø:2.3.10 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

IndexOptions Áö½Ã¾î

+ + + + + + + +
¼³¸í:µð·ºÅ丮 ¸ñ·ÏÀÇ ¿©·¯ ¼³Á¤µé
¹®¹ý:IndexOptions [+|-]option [[+|-]option] +...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

IndexOptions Áö½Ã¾î´Â µð·ºÅ丮 + ¸ñ·ÏÀ» ¼³Á¤ÇÑ´Ù. OptionÀº ´ÙÀ½ Áß ÇϳªÀÌ´Ù

+ +
+
DescriptionWidth=[n | *] (¾ÆÆÄÄ¡ + 2.0.23 ÀÌÈÄ)
+ +
DescriptionWidth Å°¿öµå¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ´ÜÀ§·Î + ¼³¸í¿­ÀÇ ÆøÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
+ +
-DescriptionWidth¸¦ ÁöÁ¤Çϸé (ȤÀº ¾Æ¹«°Íµµ + ÁöÁ¤ÇÏÁö¾ÊÀ¸¸é) mod_autoindex°¡ ÃÖÀûÀÇ + ÆøÀ» °è»êÇÑ´Ù.
+ +
DescriptionWidth=nÀº ¿­ÀÇ + ÆøÀ» n ¹ÙÀÌÆ®·Î °íÁ¤ÇÑ´Ù.
+ +
DescriptionWidth=*Àº ¿­ÀÇ ÆøÀ» °¡Àå ±ä + ¼³¸í±ÛÀ» ´ãÀ» ¼ö Àִ¸¸Å­ ´Ã¸°´Ù.
+ +
¼³Á¤ÀÌ Â©¸± ¼ö ÀÖ´Â ¹®Á¦´Â AddDescription + ÀýÀ» Âü°íÇ϶ó.
+ +
FancyIndexing
+ +
µð·ºÅ丮ÀÇ fancy ¸ñ·ÏÀ» ¸¸µç´Ù.
+ +
FoldersFirst + (¾ÆÆÄÄ¡ 2.0.23 ÀÌÈÄ)
+ +
ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé ÇÏÀ§µð·ºÅ丮 ¸ñ·ÏÀÌ Ç×»ó + ¸ÕÀú ³ª¿À°í, µð·ºÅ丮¿¡ ÀÖ´Â ÀÏ¹Ý ÆÄÀÏÀÌ µÚ¿¡ ³ª¿Â´Ù. + ±âº»ÀûÀ¸·Î ¸ñ·ÏÀº ÆÄÀÏ°ú ÇÏÀ§µð·ºÅ丮·Î ³ª´µ°í, µû·Î + °¢°¢ÀÇ ¼ø¼­¸¦ Á¤¸®ÇÏ¿© ÇÏÀ§µð·ºÅ丮µéÀ» ¸ÕÀú º¸ÀδÙ. + ¿¹¸¦ µé¾î, À̸§ ¿ª¼øÀ¸·Î Á¤·ÄÇÏ°í FoldersFirst¸¦ + »ç¿ëÇÑ´Ù¸é ÇÏÀ§µð·ºÅ丮 Zed°¡ ÇÏÀ§µð·ºÅ丮 + Beta ¾Õ¿¡ ³ª¿À°í, ÇÏÀ§µð·ºÅ丮 Beta´Â + ÀÏ¹Ý ÆÄÀÏ Gamma¿Í Alpha ¾Õ¿¡ + ³ª¿Â´Ù. ÀÌ ¿É¼ÇÀº FancyIndexingÀ» ÇÔ²² »ç¿ëÇÒ¶§¸¸ È¿°ú°¡ + ÀÖ´Ù.
+ +
HTMLTable (½ÇÇèÀû, + ¾ÆÆÄÄ¡ 2.0.23 ÀÌÈÄ)
+ +
ÀÌ ½ÇÇèÀûÀÎ FancyIndexing ¿É¼ÇÀº °£´ÜÇÑ HTML Ç¥·Î + fancy µð·ºÅ丮 ¸ñ·ÏÀ» ¸¸µç´Ù. ÀÌ ¿É¼ÇÀº ¿À·¡µÈ ºê¶ó¿ìÀú¸¦ + È¥¶õ½º·´°Ô ÇÒ ¼ö ÀÖÀ½À» ÁÖÀÇÇ϶ó. ÀÌ ¿É¼ÇÀº WinNT³ª ´Ù¸¥ + utf-8 »ç¿ë Ç÷¡Æû¿¡¼­ ÆÄÀϸíÀ̳ª ¼³¸í¹®ÀÇ Àб⠼ø¼­(¿ÞÂÊ¿¡¼­ + ¿À¸¥ÂÊ È¤Àº ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀ¸·Î)°¡ ´Ù¸¦¶§ Ưº°È÷ À¯¿ëÇÏ´Ù.
+ +
IconsAreLinks
+ +
fancy ¸ñ·Ï¿¡¼­ ÆÄÀÏ¸í ¸µÅ©¿¡ ¾ÆÀÌÄÜÀ» Æ÷ÇÔÇÑ´Ù.
+ +
IconHeight[=pixels]
+ +
ÀÌ ¿É¼ÇÀ» IconWidth¿Í °°ÀÌ »ç¿ëÇÏ¸é ¼­¹ö´Â ÆÄÀÏ ¾ÆÀÌÄÜÀÇ + img ű׿¡ height¿Í width + ¼Ó¼ºÀ» Æ÷ÇÔÇÑ´Ù. ±×·¯¸é ºê¶ó¿ìÀú´Â ¸ðµç À̹ÌÁö¸¦ ¹ÞÁö¾ÊÀº + »óȲ¿¡¼­µµ ÆäÀÌÁö ±¸¼ºÀ» ¹Ì¸® °è»êÇÒ ¼ö ÀÖ´Ù. ¿É¼Ç¿¡ °ªÀ» + ÁÖÁö¾ÊÀ¸¸é ¾ÆÆÄÄ¡°¡ Á¦°øÇÏ´Â ¾ÆÀÌÄÜÀÇ Ç¥ÁØ ³ôÀ̸¦ »ç¿ëÇÑ´Ù.
+ +
IconWidth[=pixels]
+ +
ÀÌ ¿É¼ÇÀ» IconHeight¿Í °°ÀÌ »ç¿ëÇϸé + ¼­¹ö´Â ÆÄÀÏ ¾ÆÀÌÄÜÀÇ img ű׿¡ + height¿Í width ¼Ó¼ºÀ» Æ÷ÇÔÇÑ´Ù. + ±×·¯¸é ºê¶ó¿ìÀú´Â ¸ðµç À̹ÌÁö¸¦ ¹ÚÁö¾ÊÀº »óȲ¿¡¼­µµ ÆäÀÌÁö + ±¸¼ºÀ» ¹Ì¸® °è»êÇÒ ¼ö ÀÖ´Ù. ¿É¼Ç¿¡ °ªÀ» ÁÖÁö¾ÊÀ¸¸é ¾ÆÆÄÄ¡°¡ + Á¦°øÇÏ´Â ¾ÆÀÌÄÜÀÇ Ç¥ÁØ ÆøÀ» »ç¿ëÇÑ´Ù.
+ +
IgnoreCase
+ +
ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¸é ´ë¼Ò¹®ÀÚ ±¸º°ÇÏÁö¾Ê°í À̸§À» Á¤·ÄÇÑ´Ù. + ¿¹¸¦ µé¾î, À̸§À¸·Î ¿À¸§Â÷¼øÀÌ°í IgnoreCase¸¦ »ç¿ëÇϸé + ÆÄÀÏ Zeta´Â ÆÄÀÏ alfa µÚ¿¡ ³ª¿Â´Ù (ÁÖÀÇ: ÆÄÀÏ GAMMA´Â + Ç×»ó ÆÄÀÏ gamma ¾Õ¿¡ ³ª¿Â´Ù).
+ +
IgnoreClient
+ +
ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé mod_autoindex´Â + ¼ø¼­¸¦ Æ÷ÇÔÇÏ¿© Ŭ¶óÀ̾ðÆ®°¡ º¸³»´Â ¸ðµç ÁúÀǺ¯¼ö¸¦ ¹«½ÃÇÑ´Ù. + (SuppressColumnSortingÀ» °¡Á¤ÇÑ´Ù.)
+ +
NameWidth=[n + | *]
+ +
NameWidth Å°¿öµå´Â ¹ÙÀÌÆ®´ÜÀ§·Î ÆÄÀϸí + ¿­ÀÇ ÆøÀ» ÁöÁ¤ÇÑ´Ù.
+ +
-NameWidthÀ» ÁöÁ¤Çϸé (ȤÀº ¾Æ¹«°Íµµ + ÁöÁ¤ÇÏÁö¾ÊÀ¸¸é) mod_autoindex°¡ ÃÖÀûÀÇ + ÆøÀ» °è»êÇÑ´Ù.
+ +
NameWidth=n´Â ¿­ÀÇ ÆøÀ» n + ¹ÙÀÌÆ®·Î °íÁ¤ÇÑ´Ù.
+ +
NameWidth=*Àº ¿­ÀÇ ÆøÀ» ÇÊ¿äÇѸ¸Å­ ´Ã¸°´Ù.
+ +
ScanHTMLTitles
+ +
fancy ¸ñ·Ï¿¡¼­ HTML ¹®¼­ÀÇ titleÀ» »Ì´Â´Ù. ÆÄÀÏ¿¡ + AddDescription·Î + ÁöÁ¤ÇÑ ¼³¸íÀÌ ¾ø´Ù¸é À¥¼­¹ö´Â ¹®¼­ÀÇ title + ¿ä¼Ò°ªÀ» ÀоîµéÀδÙ. ÀÌ ÀÛ¾÷Àº CPU¿Í µð½ºÅ©¸¦ ¸¹ÀÌ »ç¿ëÇÑ´Ù.
+ +
SuppressColumnSorting
+ +
ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¸é ¾ÆÆÄÄ¡´Â FancyIndexed µð·ºÅ丮 + ¸ñ·Ï¿¡¼­ ¿­ À̸§À» ¼ø¼­¸¦ ¹Ù²Ù´Â ¸µÅ©·Î ¸¸µéÁö ¾Ê´Â´Ù. + º¸ÅëÀº ¿­ À̸§À» ¸µÅ©·Î ¸¸µé¾î¼­, ¿­ À̸§À» ¼±ÅÃÇÏ¸é ±× + ¿­¿¡ ÀÖ´Â °ª¼ø¼­·Î µð·ºÅ丮 ¸ñ·ÏÀ» ¸¸µç´Ù. ¾ÆÆÄÄ¡ + 2.0.23 ÀÌÀü¿¡´Â ¼ø¼­ ¾Æ±Ô¸ÕÆ®µµ ÀÐÁö ¾Ê¾Ò´Ù. + ¾ÆÆÄÄ¡ 2.0.23¿¡¼­´Â IndexOptions + IgnoreClient¸¦ »ç¿ëÇÏ¿© ¼ø¼­ ¾Æ±Ô¸ÕÆ®¸¦ ÀÐÁö ¾Ê´Â´Ù.
+ +
SuppressDescription
+ +
fancy ¸ñ·Ï¿¡¼­ ÆÄÀÏ ¼³¸íÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. ±âº»ÀûÀ¸·Î + ¾î¶² ÆÄÀÏ ¼³¸íµµ Á¤ÀǵÇÀÖÁö¾Ê°í, ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé 23 + ¹®ÀÚ °ø°£À» ´Ù¸¥ ¿ëµµ·Î »ç¿ëÇÑ´Ù. ÆÄÀÏ ¼³¸íÀ» ÁöÁ¤ÇÏ´Â + ¹æ¹ýÀº AddDescriptionÀ» Âü°íÇ϶ó. ¼³¸í¿­ÀÇ Å©±â¸¦ + ÁöÁ¤ÇÏ´Â DescriptionWidth + ¿É¼Çµµ Âü°íÇ϶ó.
+ +
SuppressHTMLPreamble
+ +
µð·ºÅ丮¿¡ HeaderName Áö½Ã¾î·Î + ÁöÁ¤ÇÑ ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì ¸ðµâÀº º¸Åë Ç¥ÁØ HTML ½ÃÀۺκР+ (<html>, <head>, + et cetera) µÚ¿¡ ÆÄÀÏ ³»¿ëÀ» ÷°¡ÇÑ´Ù. ±×·¯³ª + SuppressHTMLPreamble ¿É¼ÇÀ» »ç¿ëÇϸé óÀ½ºÎÅÍ + header ÆÄÀÏ ³»¿ëÀ» Æ÷ÇÔÇÑ´Ù. ÀÌ °æ¿ì header ÆÄÀÏ¿¡´Â ÀûÀýÇÑ + HTML ¸í·ÉÀÌ ÀÖ¾î¾ß ÇÑ´Ù. header ÆÄÀÏÀÌ ¾ø´Ù¸é ÀϹÝÀûÀÎ + ½ÃÀۺκÐÀÌ ¸¸µé¾îÁø´Ù.
+ +
SuppressIcon + (¾ÆÆÄÄ¡ 2.0.23 ÀÌÈÄ)
+ +
fancy ¸ñ·Ï¿¡¼­ ¾ÆÀÌÄÜÀ» »«´Ù. SuppressIcon°ú + SuppressRules¸¦ °°ÀÌ »ç¿ëÇϸé, (FancyIndexed + ¸ñ·ÏÀÌ »ç¿ëÇÑ) pre ¾È¿¡ img¿Í + hr ¿ä¼Ò »ç¿ëÀ» ±ÝÁöÇÑ ¸¶Áö¸· Ç¥ÁØÀÎ HTML 3.2¿¡ + ¾Ë¸ÂÀº Ãâ·ÂÀÌ µÈ´Ù.
+ +
SuppressLastModified
+ +
fancy ¸ñ·Ï¿¡¼­ ¸¶Áö¸· ¼öÁ¤ÀÏÀ» Ç¥½ÃÇÏÁö ¾Ê´Â´Ù.
+ +
SuppressRules + (¾ÆÆÄÄ¡ 2.0.23 ÀÌÈÄ)
+ +
µð·ºÅ丮 ¸ñ·Ï¿¡¼­ ¼öÆòÁÙÀ» (hr ¿ä¼Ò) + »ç¿ëÇÏÁö ¾Ê´Â´Ù. SuppressIcon°ú + SuppressRules¸¦ °°ÀÌ »ç¿ëÇϸé, (FancyIndexed + ¸ñ·ÏÀÌ »ç¿ëÇÑ) pre ¾È¿¡ img¿Í + hr ¿ä¼Ò »ç¿ëÀ» ±ÝÁöÇÑ ¸¶Áö¸· Ç¥ÁØÀÎ HTML 3.2¿¡ + ¾Ë¸ÂÀº Ãâ·ÂÀÌ µÈ´Ù.
+ +
SuppressSize
+ +
fancy ¸ñ·Ï¿¡¼­ ÆÄÀÏÅ©±â¸¦ Ç¥½ÃÇÏÁö ¾Ê´Â´Ù.
+ +
TrackModified + (¾ÆÆÄÄ¡ 2.0.23 ÀÌÈÄ)
+ +
µð·ºÅ丮 ¸ñ·ÏÀÇ HTTP Çì´õ¿¡ Last-Modified¿Í ETag °ªÀ» + Æ÷ÇÔÇÑ´Ù. ÀÌ ¿É¼ÇÀº ¿î¿µÃ¼Á¦¿Í ÆÄÀϽýºÅÛ¿¡¼­ ÀûÀýÇÑ stat() + °á°ú¸¦ ¾òÀ» ¼ö ÀÖÀ»¶§¸¸ À¯È¿ÇÏ´Ù. À¯´Ð½º ½Ã½ºÅÛ°ú OS2ÀÇ + JFS, Win32ÀÇ NTFS¿¡¼­´Â °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î, OS2¿Í Win32ÀÇ + FATÀº ºÒ°¡´ÉÇÏ´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇϸé Ŭ¶óÀ̾ðÆ®³ª ÇÁ·Ï½Ã´Â + HEAD ¿äûÀ» »ç¿ëÇÏ¿© ÆÄÀϸñ·ÏÀÇ º¯È­¸¦ ÃßÀûÇÒ + ¼ö ÀÖ´Ù. ¾î¶² ¿î¿µÃ¼Á¦´Â »õ·Î¿î ÆÄÀÏ°ú »èÁ¦ÇÑ ÆÄÀÏÀ» ¿Ã¹Ù·Î + ÃßÀûÇÏÁö¸¸, µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀÇ Å©±â³ª ³¯Â¥ º¯È­¸¦ + ÃßÀûÇÏÁö ¸øÇÔÀ» ÁÖÀÇÇ϶ó. ¸ðµç À¯´Ð½º Ç÷¡Æû¿¡¼­ + ±âÁ¸ ÆÄÀÏÀÇ Å©±â³ª ³¯Â¥ º¯È­½Ã Last-Modified Çì´õ°¡ + ¹Ù²îÁö¾Ê´Â´Ù. ÀÌ·± º¯È­°¡ Áß¿äÇÏ´Ù¸é ÀÌ ¿É¼ÇÀ» + »ç¿ëÇÏÁö ¸¶¶ó.
+ +
VersionSort + (¾ÆÆÄÄ¡ 2.0a3 ÀÌÈÄ)
+ +
VersionSort Å°¿öµå´Â ¹öÀü ¹øÈ£¸¦ Æ÷ÇÔÇÑ + ÆÄÀϸíÀ» ÀÚ¿¬½º·´°Ô Á¤·ÄÇÑ´Ù. ¹®ÀÚ ºÎºÐÀº Á¤»óÀûÀÎ ¼ø¼­¸¦ + Á¤·ÄÇÏÁö¸¸, ÆÄÀÏ°ú ¼³¸í¿¡ ÀÖ´Â ¼ýÀÚ ºÎºÐÀº ¼ýÀÚ°ªÀ¸·Î + ºñ±³ÇÑ´Ù. + +

¿¹Á¦:

+ foo-1.7
+ foo-1.7.2
+ foo-1.7.12
+ foo-1.8.2
+ foo-1.8.2a
+ foo-1.12 +

+ +

¼ö°¡ 0À¸·Î ½ÃÀÛÇϸé, ±× ¼ö¸¦ ºÐ¼ö·Î Ãë±ÞÇÑ´Ù:

+ +

+ foo-1.001
+ foo-1.002
+ foo-1.030
+ foo-1.04 +

+
+ +
XHTML + (¾ÆÆÄÄ¡ 2.0.49 ÀÌÈÄ)
+ +
XHTML Å°¿öµå¸¦ »ç¿ëÇϸé + mod_autoindex´Â HTML 3.2 ´ë½Å XHTML 1.0 + Äڵ带 »ý¼ºÇÑ´Ù.
+
+ + +
Á¡ÁøÀûÀÎ IndexOptions
+
+

¾ÆÆÄÄ¡ 1.3.3¿¡¼­ IndexOptions + Áö½Ã¾î 󸮹æ½ÄÀÌ Å©°Ô º¯È­µÇ¾ú´Ù. Ưº°È÷:

+ +
    +
  • ÀÌÁ¦ ÇÑ µð·ºÅ丮¿¡ ´ëÇÑ ¿©·¯ + IndexOptions Áö½Ã¾îµéÀ» ¼­·Î °áÇÕÇÑ´Ù. + ´ÙÀ½ÀÇ °á°ú´Â: + +

    + <Directory /foo> + + IndexOptions HTMLTable
    + IndexOptions SuppressColumnsorting +
    + </Directory> +

    + +

    ´ÙÀ½°ú °°´Ù

    + +

    + IndexOptions HTMLTable SuppressColumnsorting +

    +
  • + +
  • (¿¹¸¦ µé¾î, Å°¿öµå ¾Õ¿¡ +³ª + -¸¦ ºÙÀÌ´Â) Á¡ÁøÀûÀÎ ¹®¹ýÀÌ Ãß°¡µÇ¾ú´Ù.
  • +
+ +

Å°¿öµå ¾Õ¿¡ '+'³ª '-'°¡ ºÙÀ»¶§¸¶´Ù ÇØ´ç Å°¿öµå°¡ ÇöÀç + (»óÀ§ µð·ºÅ丮¿¡¼­ »ó¼ÓµÇ¾úÀ») IndexOptions + ¼³Á¤¿¡ ¹Ý¿µµÈ´Ù. ±×·¯³ª ¾Õ¿¡ ¾Æ¹«°Íµµ ¾ø´Â Å°¿öµå¸¦ ¸¸³ª¸é + ¾ÆÁ÷±îÁö »ó¼ÓµÇ°Å³ª Á¡ÁøÀûÀ¸·Î º¯°æµÈ ¼³Á¤À» ¸ðµÎ Áö¿î´Ù. + ´ÙÀ½ ¿¹Á¦¸¦ »ìÆ캸ÀÚ:

+ +

+ IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
+ IndexOptions +SuppressSize +

+ +

¾Õ¿¡ ¾Æ¹«°Íµµ ¾ø´Â FancyIndexingÀÌ ÀÌÀüÀÇ + Á¡ÁøÀûÀÎ ¼³Á¤À» Áö¿ö¹ö·ÈÁö¸¸ ¼³Á¤ÀÌ ´Ù½Ã Ãß°¡µÇ¿© °á°ú´Â + IndexOptions FancyIndexing +SuppressSize¿Í °°´Ù.

+ +

ƯÁ¤ µð·ºÅ丮¿¡ ´ëÇØ ¹«Á¶°ÇÀûÀÎ + IndexOptions¸¦ ¼³Á¤ÇÏ·Á¸é Å°¿öµå + ¾Õ¿¡ +³ª -¸¦ »ç¿ëÇÏÁö¸»°í + »ó¼ÓµÈ ¼³Á¤À» Áö¿î´Ù.

+
+
+ +
+
top
+

IndexOrderDefault Áö½Ã¾î

+ + + + + + + + +
¼³¸í:µð·ºÅ丮 ¸ñ·ÏÀÇ ±âº» ¼ø¼­¸¦ ¼³Á¤ÇÑ´Ù
¹®¹ý:IndexOrderDefault Ascending|Descending +Name|Date|Size|Description
±âº»°ª:IndexOrderDefault Ascending Name
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

IndexOrderDefault Áö½Ã¾î´Â FancyIndexing + ¸ñ·Ï ¿É¼Ç°ú ÇÔ²² »ç¿ëÇÑ´Ù. ±âº»ÀûÀ¸·Î fancyindexed µð·ºÅ丮 + ¸ñ·ÏÀº ÆÄÀÏ¸í ¿À¸§Â÷¼øÀÌ´Ù. IndexOrderDefault´Â + ÀÌ Ãʱ⠼ø¼­¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù.

+ +

IndexOrderDefault´Â µÎ ¾Æ±Ô¸ÕÆ®¸¦ + ¹Þ´Â´Ù. ù¹ø°´Â ¼ø¼­ÀÇ ¹æÇâÀ» Áö½ÃÇÏ´Â Ascending + (¿À¸¥Â÷¼ø) À̳ª Descending (³»¸²Â÷¼ø) Áß Çϳª´Ù. + µÎ¹ø° ¾Æ±Ô¸ÕÆ®´Â ÀÏÂ÷ ¼ø¼­¸¦ ³ªÅ¸³»´Â Å°¿öµå Name, + Date, Size, Description + Áß Çϳª´Ù. ÀÌÂ÷ ¼ø¼­´Â Ç×»ó ÆÄÀÏ¸í ¿À¸§Â÷¼øÀÌ´Ù.

+ +

ÀÌ Áö½Ã¾î¿Í SuppressColumnSorting ¸ñ·Ï ¿É¼ÇÀ» °°ÀÌ »ç¿ëÇϸé + ƯÁ¤ ¼ø¼­·Î¸¸ µð·ºÅ丮 ¸ñ·ÏÀ» ¸¸µç´Ù. ÀÌ °æ¿ì Ŭ¶óÀ̾ðÆ®´Â + ´Ù¸¥ ¼ø¼­·Î µð·ºÅ丮 ¸ñ·ÏÀ» ¿äûÇÏÁö ¸øÇÑ´Ù.

+ +
+
top
+

IndexStyleSheet Áö½Ã¾î

+ + + + + + + +
¼³¸í:µð·ºÅ丮 ¸ñ·Ï¿¡ CSS ½ºÅ¸ÀϽ¬Æ®¸¦ Ãß°¡ÇÑ´Ù
¹®¹ý:IndexStyleSheet url-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

IndexStyleSheet Áö½Ã¾î´Â µð·ºÅ丮 + ¸ñ·Ï¿¡¼­ CSS·Î »ç¿ëÇÒ ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù. +

+

Example

+ + IndexStyleSheet "/css/style.css" +

+ +
+
top
+

ReadmeName Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÆÄÀϸñ·Ï ¸¶Áö¸·¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§
¹®¹ý:ReadmeName filename
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_autoindex
+

ReadmeName Áö½Ã¾î´Â ÆÄÀϸñ·Ï ³¡¿¡ + »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. FilenameÀº Æ÷ÇÔÇÒ + ÆÄÀϸíÀÌ°í, ¸ñ·ÏÀ» ¸¸µé·Á´Â À§Ä¡ÀÇ »ó´ë°æ·Î·Î ¹Þ¾ÆµéÀδÙ. + FilenameÀÌ ½½·¡½¬·Î ½ÃÀÛÇϸé DocumentRoot¿¡ »ó´ë°æ·Î·Î ¹Þ¾ÆµéÀδÙ. +

+ +

¿¹Á¦

+ ReadmeName FOOTER.html +

+ +

¿¹Á¦ 2

+ ReadmeName /include/FOOTER.html +

+ +

ÀÌ µ¿ÀÛÀ» ÀÚ¼¼È÷ ¼³¸íÇÑ HeaderNameµµ Âü°íÇ϶ó.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.tr.utf8 b/docs/manual/mod/mod_autoindex.html.tr.utf8 new file mode 100644 index 0000000..47d660c --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.tr.utf8 @@ -0,0 +1,1076 @@ + + + + + +mod_autoindex - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_autoindex

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Unix ls veya Win32 dir kabuk komutunun +yaptığı gibi dizin içeriğini listeler.
Durum:Temel
Modül Betimleyici:autoindex_module
Kaynak Dosyası:mod_autoindex.c
+

Özet

+ +

Bir dizin içerik dosyası iki kaynaktan gelebilir:

+ +
    +
  • Bu dizinde bulunan ve genellikle index.html + adında bir dosya olarak. Kullanılan dosyanın veya dosyaların ismi + DirectoryIndex yönergesi ile + belirlenir ve mod_dir tarafından denetlenir.
  • + +
  • Kullanıcı tarafından böyle bir dosya saÄŸlanmadığı takdirde dizin + içerik listesini sunucu üretir. DiÄŸer yönergeler bu listenin biçemini + belirler. Listede gösterilen dosya türü simgeleri AddIcon, AddIconByEncoding ve AddIconByType yönergeleri ile + belirlenir. Bunlar mod_autoindex tarafından + denetlenir.
  • +
+ +

İki işlev birbirinden ayrı tutulmuştur, böylece kendiliğinden içerik + listesi üretimi tamamen iptal edilebilir (veya değiştirilebilir).

+ +

Kendiliğinden içerik listesi üretimi Options +Indexes ile + etkin kılınabilir. Daha fazla bilgi için Options yönergesinin açıklamasına bakınız.

+ +

IndexOptions yönergesi + FancyIndexing + seçeneği ile kullanılmışsa sütun başlıkları listenin sıralamasını + sütundaki sıralamaya göre değiştirecek hiper bağlar haline getirilir + (süslü liste). Aynı başlığa peşpeşe tıklamak suretiyle sıralamayı + büyükten küçüğe veya tersine değiştirebilirsiniz. Bu sütun başlığı + bağlarının oluşturulması IndexOptions yönergesi SuppressColumnSorting seçeneği ile kullanılarak + engellenebilir.

+ +

Boyuta göre sıralamada daima dosyanın asıl boyutuna bakılır. + Dolayısıyla ikisi de "1K" olarak gösterilen iki dosyadan 1010 baytlık + olanı küçükten büyüğe sıralamada 1011 baytlıktan önce + gösterilecektir.

+
+ +
top
+
+

Sütun Sıralamada Sorgu Seçenekleri

+ + +

İstemciye, dizin içeriğini listelerken neleri hangi sırada + listeleyeceğini belirleyebilmesi için içerik üzerinde biraz denetim + sağlayabileceği çeşitli sorgu dizgesi bileşenleri sağlanmıştır. + Çıktı üzerinde kullanıcı denetimini tamamen ortadan kaldırmak için + IndexOptions yönergesinin + IgnoreClient + seçeneği kullanılabilir.

+ +

Sütun sıralama başlıklarının her biri hedefi kendisi olan birer hiper + bağ olup aşağıda sıralanan sorgu seçeneklerini kullanırlar. Bu + seçeneklerin her biri her dizin içerik listesi isteğine eklenebilir.

+ +
    +
  • C=N dizini dosya adına göre sıralar
  • + +
  • C=M dizini son deÄŸiÅŸiklik zamanına ve ardından dosya + ismine göre sıralar.
  • + +
  • C=S dizini boyuta ve ardından dosya adına göre + sıralar
  • + +
  • C=D dizini açıklamaya ve ardından + dosya adına göre sıralar.
  • + +
  • O=A artan sıralama uygulanır.
  • + +
  • O=D azalan sıralama uygulanır.
  • + +
  • F=0 listeleme basit listeleme biçiminde yapılır + (FancyIndexing seçeneÄŸi ile etkinleÅŸtirilen biçimde + deÄŸil)
  • + +
  • F=1 listeleme FancyIndexing seçeneÄŸi ile + etkinleÅŸtirilen biçimde yapılır
  • + +
  • F=2 listeleme FancyIndexing ve + HTMLTable seçeneÄŸi + ile etkinleÅŸtirilen biçimde yapılır.
  • + +
  • V=0 sürüme göre sıralama iptal edilir.
  • + +
  • V=1 sürüme göre sıralama etkin + kılınır.
  • + +
  • P=kalıp sadece belirtilen + kalıp ile eÅŸleÅŸen dosyalar istelenir.
  • +
+ +

P=kalıp sorgu seçeneğinin normalde IndexIgnore yönergesi işleme + sokulduktan sonra değerlendirildiğine ve dosya isimlerinin diğer + kendiliğinden içerik listeleme koşullarının konusu olmaya devam ettiğine + dikkat ediniz. mod_autoindex modülündeki Sorgu + Seçenekleri çözümleyicisi tanımadığı bir seçeneğe rastlar rastlamaz + işlemi durdurur. Sorgu Seçenekleri yukarıda belirtilene uygun olarak iyi + biçimli olmak zorundadır.

+ +

Aşağıdaki basit örnekte sorgu seçeneklerinin kullanımı gösterilmiştir. + Son satırda bulunan "submit" düğmesindeki tanınmayan "X" girdisine + dikkat ediniz. "X=Göster" girdisi tüm seçenekler işlendikten sonra + mod_autoindex tarafından son argüman olarak ele + alınacak ve çözümleme işlemi o noktada duracaktır.

+ +

Örnek

<form action="" method="get">
+   <input type="text" name="P" value="*" /> ile eÅŸleÅŸen
+   <select name="C">
+       <option value="N" selected="selected">isme</option>
+       <option value="M"> deÄŸiÅŸiklik tarihine</option>
+       <option value="S"> boyuta</option>
+       <option value="D"> açıklamaya</option>
+   </select> göre
+   <select name="O">
+       <option value="A" selected="selected"> artan</option>
+       <option value="D"> azalan</option>
+   </select>
+   <select name="V">
+       <option value="0" selected="selected">normal</option>
+       <option value="1"> sürümlü</option>
+   </select> sıralamayla bir
+   <select name="F">
+       <option value="0"> basit liste</option>
+       <option value="1" selected="selected"> süslü liste</option>
+       <option value="2"> tablolu liste</option>
+   </select>
+   <input type="submit" name="X" value="Göster" />
+</form>
+
+ +
+
top
+

AddAlt Yönergesi

+ + + + + + + +
Açıklama:Dosyaya göre seçilen simgenin yerinde gösterilecek metni belirler. +
Sözdizimi:AddAlt metin dosya [dosya] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

AddAlt yönergesi, FancyIndexing seçeneğiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. dosya olarak dosya türünü + betimleyecek bir dosya uzantısı, dosya isminin bir kısmı, bir dosya ismi + kalıbı veya tam yoluyla bir dosya ismi belirtilebilir. Eğer + metin boşluk karakterleri içeriyorsa tırnak içine + (" veya ') alınmalıdır. Simge metni, simge + bulunamadığı veya istemci resim gösteremediği takdirde ya da kullanıcı + resim yüklememeyi tercih etmişse gösterilir.

+ +
AddAlt "PDF file" *.pdf
+AddAlt Compressed *.gz *.zip *.Z
+ + +
+
top
+

AddAltByEncoding Yönergesi

+ + + + + + + +
Açıklama:Dosyanın MIME kodlamasına göre seçilen simgenin yerinde +gösterilecek metni belirler.
Sözdizimi:AddAltByEncoding metin MIME-kodlaması +[MIME-kodlaması] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

AddAltByEncoding yönergesi, FancyIndexing seçeneğiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. MIME-kodlaması olarak + x-compress gibi geçerli bir içerik kodlaması + belirtilmelidir. Eğer metin boşluk karakterleri + içeriyorsa tırnak içine (" veya ') + alınmalıdır. Simge metni simge bulunamadığı veya istemci resim + gösteremediği takdirde ya da kullanıcı resim yüklememeyi tercih etmişse + gösterilir.

+ +
AddAltByEncoding gzip x-gzip
+ + +
+
top
+

AddAltByType Yönergesi

+ + + + + + + +
Açıklama:Dosyanın MIME türüne göre seçilen simgenin yerinde gösterilecek +metni belirler.
Sözdizimi:AddAltByType metin MIME-türü +[MIME-türü] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

AddAltByType yönergesi, FancyIndexing seçeneğiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. MIME-türü olarak + text/html gibi geçerli bir içerik türü belirtilmelidir. + Eğer metin boşluk karakterleri içeriyorsa tırnak + içine (" veya ') alınmalıdır. Simge metni + simge bulunamadığı veya istemci resim gösteremediği takdirde ya da + kullanıcı resim yüklememeyi tercih etmişse gösterilir.

+ +
AddAltByType 'salt metin' text/plain
+ + +
+
top
+

AddDescription Yönergesi

+ + + + + + + +
Açıklama:Bir dosya için gösterilecek açıklama belirtilir.
Sözdizimi:AddDescription metin dosya [dosya] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

Yönerge, FancyIndexing seçeneğiyle üretilen dizin listesinde bir + dosya için gösterilecek açıklamayı belirler. dosya + olarak dosya türünü betimleyecek bir dosya uzantısı, dosya isminin bir + kısmı, bir dosya ismi kalıbı veya tam yoluyla bir dosya ismi + belirtilebilir. Eğer dosya açıklamasını içeren + metin boşluk karakterleri içeriyorsa çift tırnak + (") içine alınmalıdır.

+ +
AddDescription "Mars Gezegeni" mars.gif 
+AddDescription "Dostum Marshall" dostlar/mars.gif
+ + +

Normalde öntanımlı açıklama alanının genişliği 23 bayttır. IndexOptions SuppressIcon + seçeneği buna 6 bayt daha ekler; IndexOptions SuppressSize + seçeneği 7 bayt, IndexOptions SuppressLastModified seçeneği ise 19 bayt + ekler. Böylece en fazla 55 karakterlik öntanımlı sütun genişliğine + ulaşılabilir.

+ +

dosya kısmî dosya ismi içerebileceğinden çok kısa dosya ismi + belirtilmesi yüzünden istemeden de olsa başka dosyalarla + eşleşebileceğini unutmayın. Örneğin, le.html doğrudan + le.html ile eşleşebileceği gibi example.html + ile de eşleşecektir. Şüpheli durumların ortaya çıkabileceği durumlarda + mümkün olduğunca dosya isminin tamamını kullanın ve saptanan ilk + eşleşmenin kullanılacağını aklınızdan çıkarmayın ayrıca, + AddDescription listesini de uygun şekilde sıralayın.

+ +

Açıklama sütununun öntanımlı genişliği geçersiz kılınabilir hatta + sınırsız açıklama uzunluğu atanabilir. Bu konu için IndexOptions yönergesinin DescriptionWidth + seçeneğinin açıklamasına bakınız.

+ +

Önemli

+

AddDescription ile tanımlanan açıklama metni + HTML etiketleri ve karakter öğeleri içerebilir. Eğer açıklama + sütununun genişlik sınırlamasından dolayı bir HTML etiketinin içeriği + kırpılırsa bu durum dizin listesinin kalanını etkileyebilir (örneğin, + kalın gösterim listenin kalanına yayılabilir).

+
+ +

Yol bilgisi içeren değiştirgeler

+

Mutlak yollar henüz desteklenmemetedir ve çalışma anında hiçbir şeyle + eşleşmeyeceklerdir. Normalde sadece htaccess bağlamında kullanılan, + göreli yol bilgisi içeren değiştirgeler, kısmi dizin isimleriyle + eşleşmemeleri için örtük olarak '*/' öneki alırlar.

+
+ + +
+
top
+

AddIcon Yönergesi

+ + + + + + + +
Açıklama:Bir dosya için gösterilecek simgeyi dosya adına göre belirler. +
Sözdizimi:AddIcon simge isim [isim] +...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

Yönerge, FancyIndexing seçeneğiyle üretilen dizin listesinde adı + isim ile biten bir dosya için gösterilecek simgeyi + belirler. simge ya simgenin göreli URL’si (% + öncelemeli), tam nitelenmiş bir uzak URL ya da + (alt-metin,url) + biçeminde olmalıdır; buradaki alt-metin simge + gösterilemediği durumda tarayıcı tarafından simgenin yerinde + gösterilecek metindir.

+ +

isim olarak ya (listeyi düzgün biçemlemek + amacıyla) dizinler için ^^DIRECTORY^^, boş satırlar için + ^^BLANKICON^^ ya da dosya türünü betimleyecek bir dosya + uzantısı, dosya isminin bir kısmı, bir dosya ismi kalıbı veya tam + yoluyla bir dosya ismi belirtilebilir.

+ +

^^BLANKICON^^ sadece biçemleme için kullanılır, + dolayısıyla IndexOptions HTMLTable kullanıyorsanız + gereksizdir.

+ +
#Examples
+AddIcon (IMG,/icons/image.png) .gif .jpg .png
+AddIcon /icons/dir.png ^^DIRECTORY^^
+AddIcon /icons/backup.png *~
+ + +

Mümkünse AddIcon yerine AddIconByType yönergesi tercih + edilmelidir.

+ +
+
top
+

AddIconByEncoding Yönergesi

+ + + + + + + +
Açıklama:Bir dosya için gösterilecek simgeyi dosyanın MIME kodlamasına +göre belirler.
Sözdizimi:AddIconByEncoding simge MIME-kodlaması +[MIME-kodlaması] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

Yönerge, FancyIndexing seçeneğiyle üretilen dizin listesinde bir + dosya için gösterilecek simgeyi belirler. simge ya + simgenin göreli URL’si (% öncelemeli), tam nitelenmiş uzak bir URL ya da + (alt-metin,url) biçeminde olmalıdır; + buradaki alt-metin simge gösterilemediği durumda + tarayıcı tarafından simgenin yerinde gösterilecek metindir.

+ +

MIME-kodlaması olarak x-compress + gibi geçerli bir içerik kodlaması belirtilmelidir.

+ +
AddIconByEncoding /icons/compress.png x-compress
+ + +
+
top
+

AddIconByType Yönergesi

+ + + + + + + +
Açıklama:Bir dosya için gösterilecek simgeyi dosyanın MIME türüne göre +belirler.
Sözdizimi:AddIconByType simge MIME-türü +[MIME-türü] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

Yönerge, FancyIndexing seçeneğiyle üretilen dizin listesinde MIME + türü MIME-türü olarak belirtilen bir dosya için + gösterilecek simgeyi belirler. simge ya simgenin + göreli URL’si (% öncelemeli), tam nitelenmiş uzak bir URL ya da + (alt-metin,url) biçeminde olmalıdır; + buradaki alt-metin simge gösterilemediği durumda + tarayıcı tarafından simgenin yerinde gösterilecek metindir.

+ +

MIME-türü MIME türleri ile eşleşen bir dosya kalıbı ifadesi + olabilir.

+ +
AddIconByType (IMG,/icons/image.png) image/*
+ + +
+
top
+

DefaultIcon Yönergesi

+ + + + + + + +
Açıklama:Özel bir simge atanmamış dosyalar için gösterilecek simgeyi +belirler.
Sözdizimi:DefaultIcon URL-yolu
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

The DefaultIcon yönergesi FancyIndexing seçeneğiyle + üretilen dizin listesinde özel bir simge atanmamış dosyalar için + gösterilecek simgeyi belirler. URL-yolu simgeye + bir göreli URL (% öncelemeli) veya tam nitelenmiş uzak bir URL + belirtir.

+ +
DefaultIcon /icon/unknown.png
+ + +
+
top
+

HeaderName Yönergesi

+ + + + + + + +
Açıklama:Dizin listesinin tepesine yerleştirilecek dosyanın ismini +belirler.
Sözdizimi:HeaderName dosya-ismi
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

HeaderName yönergesi, dizin listesinin tepesine + yerleştirilecek dosyanın ismini belirler. Dosyanın ismi + dosya-ismi ile belirtilir.

+ +
HeaderName HEADER.html
+ + +
+

HeaderName and ReadmeName yönergelerinde + dosya-ismi artık içeriği listelenecek dizine + erişmek için kullanılan bir göreli URL yolu olarak ele alınmaktadır. + Eğer dosya-ismi bir bölü çizgisi ("/") ile + başlıyorsa DocumentRoot + yönergesinde belirtilen dizine göre belirtildiği varsayılır.

+ +
HeaderName /include/HEADER.html
+ + +

dosya-ismi, içerik türü text/* + (text/html, text/plain gibi) olan bir belge + olarak çözümlenmelidir. Yani, aşağıdaki örnekteki gibi betiğin asıl + dosya türü text/html olarak imlenmişse + dosya-ismi bir CGI betiğinin ismi bile + olabilir:

+ +
AddType text/html .cgi
+ + +

Options ile + MultiViews etkin kılınmışsa dosyaya içerik dili uzlaşımı da + uygulanabilir. dosya-ismi ile belirtilen dosya + text/html türünde durağan bir belge (bir CGI betiği + değil) ise ve options ile + Includes ve IncludesNOEXEC seçeneklerinden + biri belirtilmişse dosya bir SSI sayfası olarak ele alınır + (mod_include belgesine bakınız).

+
+ +

Eğer yönergede belirtilen dosya bir HTML belge gibi başlıyorsa + (<html>, <head>, vs.) ve bu etiketlerin yinelenmemesini + istiyorsanız IndexOptions +SuppressHTMLPreamble ataması yapmanız + gerekecektir.

+ +

Ayrıca bakınız:

+ +
+
top
+

IndexHeadInsert Yönergesi

+ + + + + + + +
Açıklama:Bir dizin sayfasının HEAD bölümüne metin yerleştirir.
Sözdizimi:IndexHeadInsert "imlenim ..."
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

IndexHeadInsert yönergesi, dizin listesi için + üretilen HTML’nin <head> bölümüne yerleştirilecek bir + dizge tanımlar.

+
IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"
+ + +
+
top
+

IndexIgnore Yönergesi

+ + + + + + + + +
Açıklama:Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir. +
Sözdizimi:IndexIgnore dosya [dosya] ...
Öntanımlı:IndexIgnore "."
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

IndexIgnore yönergesi, dizin içerik listesinden + gizlenecek dosyaların listesini belirtmek için kullanılır. + dosya olarak kabuk tarzı bir dosya ismi kalıbı + veya tam yoluyla bir dosya ismi belirtilebilir. Evvelce yapılmış bir + atamada değişiklik yapmak yerine birden fazla + IndexIgnore ataması yapabilirsiniz. Liste + öntanımlı olarak içinde bulunulan dizini (./) içerir.

+ +
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
+ + +

Düzenli İfadeler

+

Bu yönerge, <DirectoryMatch> gibidüzenli ifadeler içeren yapılandırma + bölümlerinde henüz çalışmamaktadır.

+
+ +
+
top
+

IndexIgnoreReset Yönergesi

+ + + + + + + + +
Açıklama:Bir dizini listelerken gizlenecek dosyalar listesini boşaltır +
Sözdizimi:IndexIgnoreReset ON|OFF
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
Uyumluluk:Apache HTTP Sunucusunun 2.3.10 ve sonraki sürümlerinde kullanılabilmektedir.
+

Bu yönerge, diğer yapılandırma bölümlerince bir şekilde miras alınmayan + ve IndexIgnore tarafından + yoksayılan dosyaları kaldırır.

+ +
<Directory "/var/www">
+    IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t
+</Directory>
+<Directory "/var/www/backups">
+    IndexIgnoreReset ON
+    IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t
+</Directory>
+ + +

Bu yönergeyi kullandıktan sonra, açıkça yoksaymak + istediğiniz kalıpların bir listesi için öntanımlı yapılandırmayı gözden + geçirin.

+ +
+
top
+

IndexOptions Yönergesi

+ + + + + + + + +
Açıklama:Dizin içerik listesini yapılandıracak seçenekler belirtilir. +
Sözdizimi:IndexOptions [+|-]seçenek [[+|-]seçenek] +...
Öntanımlı:Öntanımlı olarak hiçbir seçenek etkin değildir.
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

IndexOptions yönergesi dizin içerik listesinin + davranışını belirler. seçenek olarak şunlar + belirtilebilir:

+ +
+
AddAltClass
+
IndexOptions HTMLTable etkin ve bir + IndexStyleSheet tanımlı olduğunda dizin listesi + tablosunun her satırına fazladan bir CSS sınıfı bildirimi ekler. + Tablonun her satırına uygulanmaması için standart even ve + odd sınıfları yerine even-ALT ve + odd-ALT bildirimleri kullanılabilir. Burada + ALT ya bir dosya biçimiyle ilişkili standat bir alt + dizgesidir ya da AddAlt* yönergeleriyle tanımlanan bir + alt dizgesidir. +
+ +
Charset=karakter-kümesi
+ +
Charset seçeneği üretilen sayfa için bir karakter + kümesi belirtebilmenizi sağlar. Dizinin bulunduğu dosya sisteminin + karakter kodlamasına bağlı olarak öntanımlı değeri Windows ve Mac OS + X'te UTF-8, diğerlerinde ISO-8859-1’dir (İlgili + dosya sisteminin Unicode dosya isimleri kullanıp kullanmamasına + bağlıdır). + +
IndexOptions Charset=UTF-8
+ +
+ +
DescriptionWidth=[n | *]
+ +

DescriptionWidth seçeneği üretilen sayfada açıklama + sütununun genişliğini sizin belirleyebilmenizi sağlar. Bu seçenek + kullanılmadığında veya -DescriptionWidth olarak + belirtildiğinde uygun genişliği mod_autoindex + hesaplar.

+ +

DescriptionWidth=n ile açıklama sütununun + genişliği n baytla sınırlanır.

+ +

DescriptionWidth=* ile açıklama sütununun genişliği en + uzun açıklama metni sığacak şekilde arttırılır.

+ +

Sütun genişliğinin sabitliği nedeniyle metnin + kırpılmasından kaynaklanan sorunlar için AddDescription yönergesinin + açıklamasına bakınız.

+ +
FancyIndexing
+ +
Dizin içerik listesi süslü olur.
+ +
FoldersFirst
+ +
Bu seçenek etkin kılındığında dizin içerik listesinde alt dizinler + dosyalardan önce listelenir. Listelemede genel olarak iki bileşen + vardır: Alt dizinler ve dosyalar. Her biri kendi arasında sıraya + dizilir ve alt dizinlerin tamamı dosyalardan önce gösterilir. Örneğin + sıralama isme göre azalan sırada yapılıyorsa ve + FoldersFirst etkinse Zed dizini listede + Beta dizininden ve Gamma ve + Alpha dosyalarından önce yer alacaktır. Bu + seçenek sadece FancyIndexing seçeneği etkinse etkili + olacaktır.
+ +
HTMLTable
+ +
FancyIndexing + seçeneği ile birlikte süslü listeleme için basit bir tablo oluşturur. + UTF-8'in etkin olduğu platformlarda gereklidir. Bununla birlikte, + Linux, WinNT gibi sağdan sola veya soldan sağa yazım yönünün değiştiği + platformlarda dosya isimleri ve açıklamalar için bu özellikle gerekli + olabilir.
+ +
IconsAreLinks
+ +
Bu seçenek FancyIndexing seçeneği ile birlikte süslü + listelemede dosya simgesini dosyaya bir hiper bağ haline getirir.
+ +
IconHeight[=benek-sayısı]
+ +
Bu seçeneğin varlığı IconWidth seçeneği ile + kullanıldığında dosya simgesinin img etiketinin + height ve width özniteliklerini içermesine + sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden + sayfa yerleşimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek + bir değer belirtilmeksizin kullanıldığında Apache http tarafından + atanmış standart simge yüksekliği öntanımlıdır. Bu + seçenek sadece FancyIndexing seçeneği etkinse etkili + olacaktır.
+ +
IconWidth[=benek-sayısı]
+ +
Bu seçeneğin varlığı IconHeight seçeneği ile + kullanıldığında dosya simgesinin img etiketinin + height ve width özniteliklerini içermesine + sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden + sayfa yerleşimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek + bir değer belirtilmeksizin kullanıldığında Apache httpd tarafından + atanmış standart simge genişliği öntanımlıdır.
+ +
IgnoreCase
+ +
Bu seçenek etkin kılındığında isimler harf büyüklüğüne duyarsız + sıralanır. Örneğin, isme göre artan sıralamada IgnoreCase + etkinse Zeta dosyası alfa dosyasından sonra listelenir (Dikkat: GAMMA + daima gamma’dan önce listelenir.)
+ +
IgnoreClient
+ +
Bu seçenek mod_autoindex’in listenin sıralanmasına + etki edenler dahil tüm sorgu değişkenlerini yoksaymasına sebep olur + (örtük olarak SuppressColumnSorting uygulanır).
+ +
NameWidth=[n | *]
+ +

NameWidth seçeneği dosya ismi sütunu için bir + genişlik belirtebilmenizi mümkün kılar.

+ +

Hiç belirtilmediğinde veya -NameWidth biçeminde + belirtildiğinde mod_autoindex uygun genişliği kendisi + hesaplayacaktır, fakat en fazla 20 karakter olabilir.

+ +

NameWidth=n ile sütun genişliği + n bayt genişlikte sabitlenir.

+ +

NameWidth=* olduğunda ise sütun genişliği en geniş + satırın sığacağı kadar arttırılır.

+ +
ScanHTMLTitles
+ +
Bu seçenek süslü listeleme için HTML belgelerden sayfa başlığının + okunmasını sağlar. Dosya için AddDescription ile bir açıklama tanımlanmımışsa Apache + httpd belgenin title etiketinin içeriğini okuyacaktır. Bu + seçenek işlemciyi ve diski fazla meşgul eder.
+ +
ShowForbidden
+ +
Alt istek HTTP_UNAUTHORIZED veya + HTTP_FORBIDDEN döndürdüğünden dolayı normalde gizli olan + dosyalar bu seçenek belirtilmişse listede gösterilir.
+ +
SuppressColumnSorting
+ +
Bu seçenek belirtilmişse Apache, süslü dizin listesinde sütun + başlıklarını sıralama için hiper bağ haline getirmeyecektir. Sütun + başlıkları için öntanımlı davranış hiper bağ olmak olup bunlar + seçilerek dizin listesinin o sütundaki değerlere göre sıralanması + sağlanır. Bu davranış IndexOptions IgnoreClient ile sağlanmaktadır.
+ +
SuppressDescription
+ +
Süslü listelemede dosya açıklamalarının gösterilmesini engeller. + Öntanımlı olarak hiçbir dosya açıklaması tanımlı değildir, dolayısıyla + bu seçenek kullanılarak ekran genişliğinden 23 karakterlik yer + kazanılabilir. Dosya açıklamalarının nasıl belirlendiğini öğrenmek + için AddDescription + yönergesinin açıklamasına bakınız. Ayrıca, açıklama sütununun + genişliğini ayarlayan DescriptionWidth dizin listeleme seçeneğine de + bakınız. Bu seçenek sadece + FancyIndexing + seçeneği etkinse etkili olacaktır.
+ +
SuppressHTMLPreamble
+ +
Eğer dizin aslında HeaderName yönergesi ile belirtilmiş bir dosya içeriyorsa + modül normal olarak bu dosyanın içeriğinin öncesine HTML başlangıç + etiketlerini (<html>, <head>, + vs.) yerleştirir. Bu seçenek bu davranışı iptal ederek modülün dosya + içeriğinin başlangıcına bir şey eklememesini sağlar. Bu durumda başlık + dosyasının uygun HTML etiketlerini içermesi gerekir. Böyle bir başlık + dosyası yoksa normal olarak HTML başlangıç etiketleri üretilir. Eğer + bir ReadmeName yönergesi + de belirtilirse ve bu dosya mevcutsa, kapayan + </body></html> etiketleri de çıktı bulunmaz. Buna + dayanarak bu etiketleri de sizin koymanız gerekebilir.
+ +
SuppressIcon +
+ +
Süslü dizin listesinde dosya simgelerinin gösterilmesini engeller. + Son belirtim, süslü dizin listelemede kullanılan pre + etiketinin içeriğinde img ve hr + etiketlerinin bulunmasına izin vermediğinden SuppressIcon + ve SuppressRules seçenekleri birlikte kullanılarak HTML + 3.2 belirtimine uyum sağlanır.
+ +
SuppressLastModified
+ +
Süslü dizin listelemede son değişiklik tarihinin gösterilmesi + engellenir. Bu seçenek sadece + FancyIndexing + seçeneği etkinse etkili olacaktır.
+ +
SuppressRules +
+ +
Dizin listelemede hr etiketinin kullanımını engeller. + Son belirtim, süslü dizin listelemede kullanılan pre + etiketinin içeriğinde img ve hr + etiketlerinin bulunmasına izin vermediğinden SuppressIcon + ve SuppressRules seçenekleri birlikte kullanılarak HTML + 3.2 belirtimine uyum sağlanır. Bu seçenek sadece + FancyIndexing + seçeneği etkinse etkili olacaktır.
+ +
SuppressSize
+ +
Süslü dizin listelemede dosya boyutunun gösterilmesi engellenir. + Bu seçenek sadece + FancyIndexing + seçeneği etkinse etkili olacaktır. +
+ +
TrackModified +
+ +
Bu seçenek listelenen dizin için HTTP başlığında + Last-Modified ve ETag alanlarının dönmesini + sağlar. Sadece işletim sistemi veya dosya sistemi uygun stat() + sonuçlarını döndürüyorsa bu geçerlidir. Bazı Unix sistemleri ve + OS/2'nin JFS'si ile Win32’nin NTFS’i böyledir. Ancak OS/2 ve Win32 FAT dosya + sistemleri böyle değildir. Bu özellik etkin kılındığında istemci veya + vekil HEAD istekleriyle dosya listesindeki değişiklikleri + izleyebilirler. Yalnız, bazı işletim sistemlerinin yeni ve silinmiş + dosyaların izini iyi sürdüğü halde dizin içindeki dosyaların boyut ve + tarih değişikliklerini izlemediklerine dikkat ediniz. Mevcut + bir dosyanın boyut ve zaman damgasındaki değişiklikler + Last-Modified başlığının güncellenmesini tüm Unix + sistemlerinde sağlamaz. Bu gibi durumlarda bu seçeneğin + kapalı kalması daha iyidir.
+ +
Type=MIME-türü
+ +
Type anahtar sözcüğü üretilen sayfanın MIME içerik + türünün belirtilebilmesini sağlar. text/html öntanımlıdır. + +
IndexOptions Type=text/plain
+ +
+ +
UseOldDateFormat + (Apache HTTP Sunucusu 2.4.26 ve sonrasında)
+ +
Last Modified alanı tarafından kullanılan tarih biçemi + "%Y-%m-%d %H:%M" dikkatsizlik sonucu 2.4.0 sürümünde + "%d-%b-%Y %H:%M" olarak değişmiştir. Bu seçenekle tarih + biçemini 2.2 ve öncesindeki biçemiyle kullanabilirsiniz.
+ + +
VersionSort +
+ +
VersionSort seçeneği isimlerinde sürüm numarası bulunan + dosyaların sayısal sıralamaya uygun olarak sıralanmalarını sağlar. + Normalde sıralama karakter sıralamasına göre yapılır, ardından sürüm + numaralı dosyalar veya açıklamalar kendi aralarında sayısal sıralamaya + tabi tutulur. + +

Örnek:

+ foo-1.7
+ foo-1.7.2
+ foo-1.7.12
+ foo-1.8.2
+ foo-1.8.2a
+ foo-1.12 +

+ +

Sıfır ile başlalan numaralara ondalık sayı muamelesi yapılır:

+ +

+ foo-1.001
+ foo-1.002
+ foo-1.030
+ foo-1.04 +

+
+ +
XHTML
+ +
XHTML seçeneği mod_autoindex’in kodu + HTML 3.2’ye değil XHTML 1.0’a uygun üretmesini sağlar. + Bu seçenek sadece + FancyIndexing + seçeneği etkinse etkili olacaktır.
+
+ + +
+ veya - Önekli Seçenekler
+
+

Çok sayıda IndexOptions yönergesinin + işlenebileceğine dikkat edin.

+ +
    +
  • Tek bir dizin için çok sayıda IndexOptions + yönergesi belirtilmiÅŸse bunlar ayrı ayrı deÄŸil birlikte ele alınır. + Yani, + +
    <Directory "/foo">
    +    IndexOptions HTMLTable
    +    IndexOptions SuppressColumnsorting
    +</Directory>
    + + +

    yapılandırmasındaki IndexOptions + yönergeleri

    + +
    IndexOptions HTMLTable SuppressColumnsorting
    + + +

    yönergesine eşdeğerdir.

    +
  • + +
  • Seçeneklerde + veya - önekleri + kullanılabilmektedir.
  • +
+ +

+ veya - önekli seçeneklere rastlandığında + bunlar mevcut (üst dizinden miras alınanlar ve/veya önceki atamalar) + IndexOptions yönergelerine uygulanır. Ancak, + önek kullanılmamış bir seçeneğe raslandığında, o noktada önceki ve + miras alınmış bu tür seçenekler iptal edilir. Şu örneği ele + alalım:

+ +
IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
+IndexOptions +SuppressSize
+ + +

Bunun net etkisi + IndexOptions FancyIndexing +SuppressSize + atamasına eşdeğerdir, çünkü öneksiz FancyIndexing + seçeneği kendinden önceki önekli seçenekleri iptal etmiş fakat hemen + ardından eklenmelerine izin vermiştir.

+ +

Belli bir dizine önceki seçenekleri temizleyerek koşulsuz olarak + tamamen yeni seçenekler atamak istiyorsanız + IndexOptions yönergesinde seçenekleri + + veya - öneklerini kullanmadan + belirtiniz.

+
+
+ +
+
top
+

IndexOrderDefault Yönergesi

+ + + + + + + + +
Açıklama:Dizin içerik listesinin öntanımlı sıralamasını belirler. +
Sözdizimi:IndexOrderDefault Ascending|Descending +Name|Date|Size|Description
Öntanımlı:IndexOrderDefault Ascending Name
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

IndexOrderDefault yönergesi FancyIndexing seçeneğinin + etkin olduğu durumda işe yarar. Öntanımlı olarak süslü listelemede dizin + içeriği dosya ismine göre artan sıralamayla listelenir. + IndexOrderDefault yönergesi bu öntanımlı + sıralamanın değiştirilmesini mümkün kılar.

+ +

IndexOrderDefault yönergesi iki değer alır. İlki + sıralama yönünü belirtmek üzere Ascending (küçükten büyüğe) + veya Descending (büyükten küçüğe) olmak zorundadır. İkinci + değer ise birincil sıralama anahtarını belirtmek üzere + Name, Date, Size ve + Description sözcüklerinden biri olmalıdır (anlamları + sırayla: İsim, Tarih, Boyut, Açıklama). İkincil sıralama anahtarı + daima artan sıralamayla dosya ismidir.

+ +

Sütunun tepesindeki sıralama bağını kaldırmak için + SuppressColumnSorting seçeneğinin yanında, sıralama + tercihlerinizi geçersiz kılmak için sorgu dizgesine elle sıralama + seçenekleri eklenmesini engellemek için + IgnoreClient + seçeneğini de kullanarak istemcinin listeyi yeniden sıralamasını + engelleyebilirsiniz.

+ +
+
top
+

IndexStyleSheet Yönergesi

+ + + + + + + +
Açıklama:Dizin listesine bir biçembent ekler.
Sözdizimi:IndexStyleSheet url-yolu
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

IndexStyleSheet yönergesi dizin listelemesi için + kullanılacak biçembent dosyasının ismini belirtmek için kullanılır.

+ +
IndexStyleSheet "/css/style.css"
+ + +

Bu yönergenin IndexOptions HTMLTable ile birlikte + kullanılması sonuçlanan HTML dosyasına bir miktar CSS sınıfı ekler. + Tablonun tamamı indexlist için bir CSS kimliği verir ve + aşağıdaki sınıflar listenin çeşitli parçalarıyla ilişkilendirilir:

+ + + + + + + + + + + + + + + + + + +
SınıfTanım
tr.indexheadListe satırının başlığı
th.indexcolicon and td.indexcoliconSimge sütunu
th.indexcolname and td.indexcolnameDosya ismi sütunu
th.indexcollastmod and td.indexcollastmodSon değişiklik sütunu
th.indexcolsize and td.indexcolsizeDosya boyutu sütunu
th.indexcoldesc and td.indexcoldescAçıklama sütunu
tr.breakrowTablonun altınaki yatay çizgi
tr.odd and tr.evenTek ve çift satırlar
+ + +
+
top
+

ReadmeName Yönergesi

+ + + + + + + +
Açıklama:Dizin listesinin sonuna yerleştirilecek dosyanın ismini +belirler.
Sözdizimi:ReadmeName dosya-ismi
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_autoindex
+

ReadmeName yönergesi dizin listesinin sonuna + eklenecek dosyanın ismini belirler. dosya-ismi ile + listeye dahil edilecek dosyanın ismi listelenen dizine göreli olarak + belirtilir. Eğer dosya ismi 2. örnekteki gibi bir bölü çizgisi ile + başlıyorsa DocumentRoot’a göreli + belirtildiği varsayılır.

+ +
# 1. Örnek
+ReadmeName FOOTER.html
+ + +
# 2. Örnek
+ReadmeName /include/FOOTER.html
+ + +

Ayrıca bu davranışın daha ayrıntılı ele alındığı HeaderName yönergesine de + bakınız.

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_brotli.html b/docs/manual/mod/mod_brotli.html new file mode 100644 index 0000000..dc9b5c2 --- /dev/null +++ b/docs/manual/mod/mod_brotli.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_brotli.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_brotli.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_brotli.html.en b/docs/manual/mod/mod_brotli.html.en new file mode 100644 index 0000000..97afac1 --- /dev/null +++ b/docs/manual/mod/mod_brotli.html.en @@ -0,0 +1,349 @@ + + + + + +mod_brotli - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_brotli

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Compress content via Brotli before it is delivered to the +client
Status:Extension
Module Identifier:brotli_module
Source File:mod_brotli.c
Compatibility:Available in version 2.4.26 and later.
+

Summary

+ +

The mod_brotli module provides + the BROTLI_COMPRESS output filter that allows output from + your server to be compressed using the brotli compression format before being sent to the client over + the network. This module uses the Brotli library found at + https://github.com/google/brotli.

+
+ +
top
+
+

Sample Configurations

+

Compression and TLS

+

Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries compressed data. For more + information, review the details of the "BREACH" family of attacks.

+
+

This is a simple configuration that compresses common text-based content types.

+ +

Compress only a few types

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript
+
+ +
top
+
+

Enabling Compression

+

Compression and TLS

+

Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries compressed data. For more + information, review the details of the "BREACH" family of attacks.

+
+ +

Output Compression

+

Compression is implemented by the BROTLI_COMPRESS + filter. The following directive + will enable compression for documents in the container where it + is placed:

+ +
SetOutputFilter BROTLI_COMPRESS
+SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli
+ + +

If you want to restrict the compression to particular MIME types + in general, you may use the AddOutputFilterByType directive. Here is an example of + enabling compression only for the html files of the Apache + documentation:

+ +
<Directory "/your-server-root/manual">
+    AddOutputFilterByType BROTLI_COMPRESS text/html
+</Directory>
+ + +

Note

+ The BROTLI_COMPRESS filter is always inserted after RESOURCE + filters like PHP or SSI. It never touches internal subrequests. +
+

Note

+ There is an environment variable no-brotli, + set via SetEnv, which + will disable brotli compression for a particular request, even if + it is supported by the client. +
+ + + +
top
+
+

Dealing with proxy servers

+ +

The mod_brotli module sends a Vary: + Accept-Encoding HTTP response header to alert proxies that + a cached response should be sent only to clients that send the + appropriate Accept-Encoding request header. This + prevents compressed content from being sent to a client that will + not understand it.

+ +

If you use some special exclusions dependent + on, for example, the User-Agent header, you must + manually configure an addition to the Vary header + to alert proxies of the additional restrictions. For example, + in a typical configuration where the addition of the BROTLI_COMPRESS + filter depends on the User-Agent, you should add:

+ +
Header append Vary User-Agent
+ + +

If your decision about compression depends on other information + than request headers (e.g. HTTP version), you have to set the + Vary header to the value *. This prevents + compliant proxies from caching entirely.

+ +

Example

Header set Vary *
+
+
top
+
+

Serving pre-compressed +content

+ +

Since mod_brotli re-compresses content each + time a request is made, some performance benefit can be derived by + pre-compressing the content and telling mod_brotli to serve them + without re-compressing them. This may be accomplished using a + configuration like the following:

+ +
<IfModule mod_headers.c>
+    # Serve brotli compressed CSS files if they exist
+    # and the client accepts brotli.
+    RewriteCond "%{HTTP:Accept-encoding}" "br"
+    RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
+    RewriteRule "^(.*)\.css"              "$1\.css\.br" [QSA]
+
+    # Serve brotli compressed JS files if they exist
+    # and the client accepts brotli.
+    RewriteCond "%{HTTP:Accept-encoding}" "br"
+    RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
+    RewriteRule "^(.*)\.js"               "$1\.js\.br" [QSA]
+
+
+    # Serve correct content types, and prevent double compression.
+    RewriteRule "\.css\.br$" "-" [T=text/css,E=no-brotli:1]
+    RewriteRule "\.js\.br$"  "-" [T=text/javascript,E=no-brotli:1]
+
+
+    <FilesMatch "(\.js\.br|\.css\.br)$">
+      # Serve correct encoding type.
+      Header append Content-Encoding br
+
+      # Force proxies to cache brotli &
+      # non-brotli css/js files separately.
+      Header append Vary Accept-Encoding
+    </FilesMatch>
+</IfModule>
+ + +
+
top
+

BrotliAlterETag Directive

+ + + + + + + +
Description:How the outgoing ETag header should be modified during compression
Syntax:BrotliAlterETag AddSuffix|NoChange|Remove
Default:BrotliAlterETag AddSuffix
Context:server config, virtual host
Status:Extension
Module:mod_brotli
+

The BrotliAlterETag directive specifies + how the ETag hader should be altered when a response is compressed.

+
+
AddSuffix
+

Append the compression method onto the end of the ETag, causing + compressed and uncompressed representations to have unique ETags. + In another dynamic compression module, mod_deflate, this has been + the default since 2.4.0. This setting prevents serving "HTTP Not + Modified" (304) responses to conditional requests for compressed + content.

+
NoChange
+

Don't change the ETag on a compressed response. In another dynamic + compression module, mod_deflate, this has been the default prior to + 2.4.0. This setting does not satisfy the HTTP/1.1 property that all + representations of the same resource have unique ETags.

+
Remove
+

Remove the ETag header from compressed responses. This prevents + some conditional requests from being possible, but avoids the + shortcomings of the preceding options.

+
+ +
+
top
+

BrotliCompressionMaxInputBlock Directive

+ + + + + + + +
Description:Maximum input block size
Syntax:BrotliCompressionMaxInputBlock value
Default:(automatic)
Context:server config, virtual host
Status:Extension
Module:mod_brotli
+

The BrotliCompressionMaxInputBlock directive specifies + the maximum input block size between 16 and 24, with the caveat that + larger block sizes require more memory.

+ +
+
top
+

BrotliCompressionQuality Directive

+ + + + + + + +
Description:Compression quality
Syntax:BrotliCompressionQuality value
Default:BrotliCompressionQuality 5
Context:server config, virtual host
Status:Extension
Module:mod_brotli
+

The BrotliCompressionQuality directive specifies + the compression quality (a value between 0 and 11). Higher quality values + result in better, but also slower compression. +

+ +
+
top
+

BrotliCompressionWindow Directive

+ + + + + + + +
Description:Brotli sliding compression window size
Syntax:BrotliCompressionWindow value
Default:BrotliCompressionWindow 18
Context:server config, virtual host
Status:Extension
Module:mod_brotli
+

The BrotliCompressionWindow directive specifies the + brotli sliding compression window size (a value between 10 and 24). Larger + window sizes can improve compression quality, but require more memory.

+ +
+
top
+

BrotliFilterNote Directive

+ + + + + + +
Description:Places the compression ratio in a note for logging
Syntax:BrotliFilterNote [type] notename
Context:server config, virtual host
Status:Extension
Module:mod_brotli
+

The BrotliFilterNote directive + specifies that a note about compression ratios should be attached + to the request. The name of the note is the value specified for + the directive. You can use that note for statistical purposes by + adding the value to your access log.

+ +

Example

BrotliFilterNote ratio
+
+LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' brotli
+CustomLog "logs/brotli_log" brotli
+
+ +

If you want to extract more accurate values from your logs, you + can use the type argument to specify the type of data + left as a note for logging. type can be one of:

+ +
+
Input
+
Store the byte count of the filter's input stream in the note.
+ +
Output
+
Store the byte count of the filter's output stream in the note.
+ +
Ratio
+
Store the compression ratio (output/input * 100) + in the note. This is the default, if the type argument + is omitted.
+
+ +

Thus you may log it this way:

+ +

Accurate Logging

BrotliFilterNote Input instream
+BrotliFilterNote Output outstream
+BrotliFilterNote Ratio ratio
+
+LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' brotli
+CustomLog "logs/brotli_log" brotli
+
+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_brotli.html.fr.utf8 b/docs/manual/mod/mod_brotli.html.fr.utf8 new file mode 100644 index 0000000..064aeca --- /dev/null +++ b/docs/manual/mod/mod_brotli.html.fr.utf8 @@ -0,0 +1,360 @@ + + + + + +mod_brotli - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_brotli

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Compression du contenu via Brotli avant sa livraison au client
Statut:Extension
Identificateur de Module:brotli_module
Fichier Source:mod_brotli.c
Compatibilité:Disponible à partir de la version 2.4.26 du serveur HTTP Apache
+

Sommaire

+ +

Le module mod_brotli fournit le filtre en sortie + BROTLI_COMPRESS qui permet de compresser un contenu avant sa + livraison au client en utilisant la bibliothèque brotli. Ce filtre est + implémenté en utilisant la bibliothèque Brotli que l'on peut trouver à https://github.com/google/brotli.

+
+ +
top
+
+

Exemples de configurations

+

Compression et TLS

+

Certaines applications web sont vulnérables à une attaque de type vol + d'informations lorsqu'une connexion TLS transmet des données + compressées. Pour plus d'informations, étudiez en détail la famille + d'attaques "BREACH".

+
+

Voici une configuration simple qui compresse des types de contenus + courants au format texte :

+ +

Compression de certains types seulement

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript
+
+ +
top
+
+

Activation de la compression

+

Compression et TLS

+

Certaines applications web sont vulnérables à une attaque de type vol + d'informations lorsqu'une connexion TLS transmet des données + compressées. Pour plus d'informations, étudiez en détail la famille + d'attaques "BREACH".

+
+ +

Compression en sortie

+

La compression est implémentée par le filtre BROTLI_COMPRESS. La + directive suivante active la compression pour les documents correspondant + au conteneur dans lequel elle est placée :

+ +
SetOutputFilter BROTLI_COMPRESS
+SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli
+ + +

Si vous voulez restreindre la compression à certains types MIME + particuliers, vous pouvez utiliser la directive AddOutputFilterByType. Dans l'exemple + suivant, l'activation de la compression est restreinte aux fichiers html + de la documentation d'Apache :

+ +
<Directory "/your-server-root/manual">
+    AddOutputFilterByType BROTLI_COMPRESS text/html
+</Directory>
+ + +

Note

+ Le filtre BROTLI_COMPRESS est toujours inséré après les + filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les sous-requêtes + internes. +
+

Note

+ Définie via SetEnv, la variable + d'environnement no-brotli permet de désactiver la + compression brotli pour une requête particulière, et ceci même si elle + est supportée par le client. +
+ + + +
top
+
+

Interaction avec les serveurs mandataires

+ +

Le module mod_brotli envoie un en-tête de réponse HTTP + Vary:Accept-Encoding pour indiquer aux mandataires qu'une + réponse mise en cache ne doit être envoyée qu'aux clients qui envoient + l'en-tête de requête Accept-Encoding approprié. Ceci permet + d'éviter d'envoyer du contenu compressé à un client qui ne sera pas en + mesure de le décompresser.

+ +

Si vous utilisez des exclusions spéciales dépendant, par exemple, de + l'en-tête User-Agent, vous devez faire un ajout manuel à + l'en-tête Vary afin d'informer les mandataires des restrictions + supplémentaires. Par exemple, dans une configuration typique où l'addition + du filtre BROTLI_COMPRESS dépend de l'en-tête User-Agent, + vous devez ajouter :

+ +
Header append Vary User-Agent
+ + +

Si votre décision d'utiliser la compression ou non dépend d'autres + informations que le contenu d'en-têtes de requêtes (par exemple la version + HTTP), vous devez affecter la valeur * à l'en-tête + Vary. Ceci permet d'éviter que des mandataires qui le + supportent n'effectuent une mise en cache intégrale.

+ +

Exemple

Header set Vary *
+
+
top
+
+

Servir un contenu pré-compressé

+ +

comme mod_brotli compresse systématiquement un contenu + pour chaque requête le concernant, il est possible d'obtenir un gain en + performance en pré-compressant le contenu et en disant à mod_brotli de le + servir sans le recompresser. Pour cela, vous pouvez utiliser une + configuration du style :

+ +
<IfModule mod_headers.c>
+    # Sert des fichiers CSS compressés par brotli, s'ils existent
+    # et si le client supporte brotli.
+    RewriteCond "%{HTTP:Accept-encoding}" "br"
+    RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
+    RewriteRule "^(.*)\.css"              "$1\.css\.br" [QSA]
+
+    # Sert des fichiers JS compressés par brotli, s'ils existent
+    # et si le client supporte brotli.
+    RewriteCond "%{HTTP:Accept-encoding}" "br"
+    RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
+    RewriteRule "^(.*)\.js"               "$1\.js\.br" [QSA]
+
+
+    # Sert des types de contenu corrects, et évite la double compression.
+    RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-brotli:1]
+    RewriteRule "\.js\.gz$"  "-" [T=text/javascript,E=no-brotli:1]
+
+
+    <FilesMatch "(\.js\.br|\.css\.br)$">
+      # Sert un type d'encodage correct.
+      Header append Content-Encoding br
+
+      # Force les mandataires à mettre en cache séparément les fichiers css/js
+      # compressés ou non par brotli.
+      Header append Vary Accept-Encoding
+    </FilesMatch>
+</IfModule>
+ + +
+
top
+

Directive BrotliAlterETag

+ + + + + + + +
Description:Comment l'en-tête de réponse ETag doit être modifié au cours de la +compression
Syntaxe:BrotliAlterETag AddSuffix|NoChange|Remove
Défaut:BrotliAlterETag AddSuffix
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_brotli
+

La directive BrotliAlterETag permet d'indiquer + comment l'en-tête ETag doit être modifié lorsqu'une réponse est compressée.

+
+
AddSuffix
+

Ajoute la méthode de compression à la fin de l'en-tête ETag, ce qui + implique que les représentations compressées et non compressées possèderont + des en-têtes ETag uniques. C'est le comportement par défaut depuis la + version 2.4.0 avec un autre module de compression dynamique, + mod-deflate. Ce paramètre permet d'éviter l'envoi de messages + "HTTP Not Modified" (304) en réponse aux requêtes conditionnelles pour des + contenus compressés.

+
NoChange
+

Ne modifie pas l'en-tête ETag d'une réponse compressée. C'était le + comportement par défaut avant la version 2.4.0 avec un autre module de + compression dynamique, mod-deflate. Ce paramètre ne respecte pas la + propriété HTTP/1.1 selon laquelle toutes les représentations d'une même + ressource ont des en-têtes ETag uniques.

+
Remove
+

Supprime l'en-tête ETag des réponses compressées, ce qui rend + impossibles certaines requêtes conditionnelles, mais évite les inconvénients + des options précédentes.

+
+ +
+
top
+

Directive BrotliCompressionMaxInputBlock

+ + + + + + + +
Description:Taille maximale du bloc de données en entrée
Syntaxe:BrotliCompressionMaxInputBlock value
Défaut:(automatic)
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_brotli
+

La directive BrotliCompressionMaxInputBlock permet + de spécifier la taille maximale du bloc de données en entrée entre 16 et 24, + sachant que plus cette taille sera grande, plus grande sera la quantité de + mémoire consommée.

+ +
+
top
+

Directive BrotliCompressionQuality

+ + + + + + + +
Description:Qualité de la compression
Syntaxe:BrotliCompressionQuality value
Défaut:BrotliCompressionQuality 5
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_brotli
+

La directive BrotliCompressionQuality permet de + spécifier la qualité de la compression (une valeur entre 0 et + 11). Les valeurs les plus hautes correspondent à une compression de + meilleure qualité mais plus lente. +

+ +
+
top
+

Directive BrotliCompressionWindow

+ + + + + + + +
Description:Taille de la fenêtre de compression glissante brotli
Syntaxe:BrotliCompressionWindow value
Défaut:BrotliCompressionWindow 18
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_brotli
+

La directive BrotliCompressionWindow permet de + spécifier la taille de la fenêtre de compression glissante brotli (une + valeur comprise entre 10 et 24). Une taille de fenêtre plus grande peut + améliorer la qualité de la compression mais consomme d'avantage de mémoire.

+ +
+
top
+

Directive BrotliFilterNote

+ + + + + + +
Description:Enregistre le taux de compression dans une note à des fins de +journalisation
Syntaxe:BrotliFilterNote [type] notename
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_brotli
+

La directive BrotliFilterNote permet d'indiquer + qu'une note à propos du taux de compression doit être attachée à la + requête. L'argument notename permet de spécifier le nom de la + note. Vous pouvez utiliser cette note à des fins de statistiques en ajoutant + l'information correspondante à votre access + log.

+ +

Exemple

BrotliFilterNote ratio
+
+LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' brotli
+CustomLog "logs/brotli_log" brotli
+
+ +

Si vous souhaitez que l'information enregistrée dans vos journaux soit + plus pertinente, vous pouvez renseigner l'argument optionnel type + afin de spécifier le type de données à enregistrer dans la note à + journaliser. L'argument type accepte les valeurs suivantes :

+ +
+
Input
+
Enregistre dans la note le nombre d'octets contenus dans le flux + d'entrée du filtre.
+ +
Output
+
Enregistre dans la note le nombre d'octets contenus dans le flux + de sortie du filtre.
+ +
Ratio
+
Enregistre dans la note le taux de compression (output/input * + 100). Il s'agit de l'option par défaut si l'argument + type est omis.
+
+ +

Vous pouvez alors configurer vos journaux de la manière suivante :

+ +

Journalisation spécifique

BrotliFilterNote Input instream
+BrotliFilterNote Output outstream
+BrotliFilterNote Ratio ratio
+
+LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' brotli
+CustomLog "logs/brotli_log" brotli
+
+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_buffer.html b/docs/manual/mod/mod_buffer.html new file mode 100644 index 0000000..585dd55 --- /dev/null +++ b/docs/manual/mod/mod_buffer.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_buffer.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_buffer.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_buffer.html.en b/docs/manual/mod/mod_buffer.html.en new file mode 100644 index 0000000..32cb0eb --- /dev/null +++ b/docs/manual/mod/mod_buffer.html.en @@ -0,0 +1,128 @@ + + + + + +mod_buffer - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_buffer

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Support for request buffering
Status:Extension
Module Identifier:buffer_module
Source File:mod_buffer.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

This module provides the ability to buffer the input and output + filter stacks.

+ +

Under certain circumstances, content generators might create + content in small chunks. In order to promote memory reuse, in + memory chunks are always 8k in size, regardless of the size of the + chunk itself. When many small chunks are generated by a request, + this can create a large memory footprint while the request is + being processed, and an unnecessarily large amount of data on the + wire. The addition of a buffer collapses the response into the + fewest chunks possible.

+ +

When httpd is used in front of an expensive content generator, + buffering the response may allow the backend to complete + processing and release resources sooner, depending on how the + backend is designed.

+ +

The buffer filter may be added to either the input or the + output filter stacks, as appropriate, using the + SetInputFilter, + SetOutputFilter, + AddOutputFilter or + AddOutputFilterByType directives.

+ +

Using buffer with mod_include

AddOutputFilterByType INCLUDES;BUFFER text/html
+
+ +
The buffer filters read the request/response into + RAM and then repack the request/response into the fewest memory + buckets possible, at the cost of CPU time. When the request/response + is already efficiently packed, buffering the request/response could + cause the request/response to be slower than not using a buffer at + all. These filters should be used with care, and only where + necessary.
+ +
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

BufferSize Directive

+ + + + + + + +
Description:Maximum size in bytes to buffer by the buffer filter
Syntax:BufferSize integer
Default:BufferSize 131072
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_buffer
+

The BufferSize + directive specifies the amount of data in bytes that will be + buffered before being read from or written to each request. + The default is 128 kilobytes.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_buffer.html.fr.utf8 b/docs/manual/mod/mod_buffer.html.fr.utf8 new file mode 100644 index 0000000..3490924 --- /dev/null +++ b/docs/manual/mod/mod_buffer.html.fr.utf8 @@ -0,0 +1,131 @@ + + + + + +mod_buffer - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_buffer

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support de la mise en tampon des requêtes
Statut:Extension
Identificateur de Module:buffer_module
Fichier Source:mod_buffer.c
Compatibilité:Disponible depuis les versions 2.3 et supérieures +d'Apache
+

Sommaire

+ +

Ce module fournit la possibilité de mettre en tampon les piles + des filtres en entrée et sortie.

+ +

Dans certaines situations, les générateurs de contenu créent des + contenus composés de petits tronçons. Afin de permettre la + réutilisation de la mémoire, les éléments de mémoire attribués aux + tronçons ont toujours une taille de 8k, quelle que soit la taille du + tronçon lui-même. Lorsqu'une requête génère de nombreux petits + tronçons, une grande quantité de mémoire peut être mobilisée par le + traitement de la requête, et une grande quantité de données + transmises sans nécessité. Pour y remédier, l'utilisation d'un + tampon rassemble la réponse en un nombre de tronçons le plus petit + possible.

+ +

Lorsque httpd est utilisé comme frontal d'un générateur de + contenu consommant beaucoup de ressources, la mise en tampon de la + réponse peut permettre à ce dernier d'effectuer le traitement et de + libérer les ressources plus ou moins rapidement, en fonction de la + manière dont il a été conçu.

+ +

Le filtre de mise en tampon peut être ajouté aux piles des + filtres en entrée ou en sortie, selon les besoins, à l'aide des + directives SetInputFilter, + SetOutputFilter, AddOutputFilter ou AddOutputFilterByType.

+ +

Utilisation d'un tampon avec mod_include

AddOutputFilterByType INCLUDES;BUFFER text/html
+
+ +
Les filtres de mise en tampon lisent la + requête/réponse en RAM, puis la reconditionnent sous la forme d'un + nombre d'éléments mémoire le plus petit possible, au prix d'une + consommation de temps CPU. Lorsque la requête/réponse est déjà + conditionnée de manière satisfaisante, sa mise en tampon pourrait + s'avérer encore plus lente qu'en l'absence d'utilisation de tampon. + C'est pourquoi ces filtres doivent être utilisés avec précautions, + et seulement si nécessaire.
+ +
+ + +
top
+

Directive BufferSize

+ + + + + + + +
Description:Taille maximale en octets du filtre par tampon
Syntaxe:BufferSize entier
Défaut:BufferSize 131072
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_buffer
+

La directive BufferSize permet de spécifier la + quantité de données en octets qui sera mise en tampon avant d'être + lue depuis ou écrite vers chaque requête. La valeur par défaut est + 128 ko.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html b/docs/manual/mod/mod_cache.html new file mode 100644 index 0000000..40128b0 --- /dev/null +++ b/docs/manual/mod/mod_cache.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cache.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cache.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cache.html.en b/docs/manual/mod/mod_cache.html.en new file mode 100644 index 0000000..d554c51 --- /dev/null +++ b/docs/manual/mod/mod_cache.html.en @@ -0,0 +1,1078 @@ + + + + + +mod_cache - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_cache

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:RFC 2616 compliant HTTP caching filter.
Status:Extension
Module Identifier:cache_module
Source File:mod_cache.c
+

Summary

+ +
This module should be used with care, as when the + CacheQuickHandler directive is + in its default value of on, the Allow and Deny directives will be circumvented. + You should not enable quick handler caching for any content to which you + wish to limit access by client host name, address or environment + variable.
+ +

mod_cache implements an RFC 2616 compliant + HTTP content caching filter, with support for the caching + of content negotiated responses containing the Vary header.

+ +

RFC 2616 compliant caching provides a mechanism to verify whether + stale or expired content is still fresh, and can represent a significant + performance boost when the origin server supports conditional + requests by honouring the + If-None-Match + HTTP request header. Content is only regenerated from scratch when the content + has changed, and not when the cached entry expires.

+ +

As a filter, mod_cache can be placed in front of + content originating from any handler, including flat + files (served from a slow disk cached on a fast disk), the output + of a CGI script or dynamic content + generator, or content proxied from another + server.

+ +

In the default configuration, mod_cache inserts the + caching filter as far forward as possible within the filter stack, + utilising the quick handler to bypass all per request + processing when returning content to the client. In this mode of + operation, mod_cache may be thought of as a caching + proxy server bolted to the front of the webserver, while running within + the webserver itself.

+ +

When the quick handler is switched off using the + CacheQuickHandler directive, + it becomes possible to insert the CACHE filter at a + point in the filter stack chosen by the administrator. This provides the + opportunity to cache content before that content is personalised by the + mod_include filter, or optionally compressed by the + mod_deflate filter.

+ +

Under normal operation, mod_cache will respond to + and can be controlled by the + Cache-Control + and + Pragma + headers sent from a client in a request, or from a + server within a response. Under exceptional circumstances, + mod_cache can be configured to override these headers + and force site specific behaviour, however such behaviour will be limited + to this cache only, and will not affect the operation of other caches + that may exist between the client and server, and as a result is not + recommended unless strictly necessary.

+ +

RFC 2616 allows for the cache to return stale data while the existing + stale entry is refreshed from the origin server, and this is supported + by mod_cache when the + CacheLock directive is suitably + configured. Such responses will contain a + Warning + HTTP header with a 110 response code. RFC 2616 also allows a cache to return + stale data when the attempt made to refresh the stale data returns an + error 500 or above, and this behaviour is supported by default by + mod_cache. Such responses will contain a + Warning + HTTP header with a 111 response code.

+ +

mod_cache requires the services of one or more + storage management modules. The following storage management modules are included in + the base Apache distribution:

+
+
mod_cache_disk
+
Implements a disk based storage manager. Headers and bodies are + stored separately on disk, in a directory structure derived from the + md5 hash of the cached URL. Multiple content negotiated responses can + be stored concurrently, however the caching of partial content is not + supported by this module. The htcacheclean tool is + provided to list cached URLs, remove cached URLs, or to maintain the size + of the disk cache within size and inode limits.
+
mod_cache_socache
+
Implements a shared object cache based storage manager. Headers and + bodies are stored together beneath a single key based on the URL of the + response being cached. Multiple content negotiated responses can + be stored concurrently, however the caching of partial content is not + supported by this module.
+
+ +

Further details, discussion, and examples, are provided in the + Caching Guide.

+
+ +
top
+
top
+
+

Sample Configuration

+

Sample httpd.conf

#
+# Sample Cache Configuration
+#
+LoadModule cache_module modules/mod_cache.so
+<IfModule mod_cache.c>
+    LoadModule cache_disk_module modules/mod_cache_disk.so
+    <IfModule mod_cache_disk.c>
+        CacheRoot "c:/cacheroot"
+        CacheEnable disk  "/"
+        CacheDirLevels 5
+        CacheDirLength 3
+    </IfModule>
+
+    # When acting as a proxy, don't cache the list of security updates
+    CacheDisable "http://security.update.server/update-list/"
+</IfModule>
+
+
top
+
+

Avoiding the Thundering Herd

+

When a cached entry becomes stale, mod_cache will submit + a conditional request to the backend, which is expected to confirm whether the + cached entry is still fresh, and send an updated entity if not.

+

A small but finite amount of time exists between the time the cached entity + becomes stale, and the time the stale entity is fully refreshed. On a busy + server, a significant number of requests might arrive during this time, and + cause a thundering herd of requests to strike the backend + suddenly and unpredictably.

+

To keep the thundering herd at bay, the CacheLock + directive can be used to define a directory in which locks are created for + URLs in flight. The lock is used as a hint + by other requests to either suppress an attempt to cache (someone else has + gone to fetch the entity), or to indicate that a stale entry is being refreshed + (stale content will be returned in the mean time). +

+

Initial caching of an entry

+ +

When an entity is cached for the first time, a lock will be created for the + entity until the response has been fully cached. During the lifetime of the + lock, the cache will suppress the second and subsequent attempt to cache the + same entity. While this doesn't hold back the thundering herd, it does stop + the cache attempting to cache the same entity multiple times simultaneously. +

+ +

Refreshment of a stale entry

+ +

When an entity reaches its freshness lifetime and becomes stale, a lock + will be created for the entity until the response has either been confirmed as + still fresh, or replaced by the backend. During the lifetime of the lock, the + second and subsequent incoming request will cause stale data to be returned, + and the thundering herd is kept at bay.

+ +

Locks and Cache-Control: no-cache

+ +

Locks are used as a hint only to enable the cache to be + more gentle on backend servers, however the lock can be overridden if necessary. + If the client sends a request with a Cache-Control header forcing a reload, any + lock that may be present will be ignored, and the client's request will be + honored immediately and the cached entry refreshed.

+

As a further safety mechanism, locks have a configurable maximum age. + Once this age has been reached, the lock is removed, and a new request is + given the opportunity to create a new lock. This maximum age can be set using + the CacheLockMaxAge directive, and defaults + to 5 seconds. +

+ +

Example configuration

+ +

Enabling the cache lock

#
+# Enable the cache lock
+#
+<IfModule mod_cache.c>
+    CacheLock on
+    CacheLockPath "/tmp/mod_cache-lock"
+    CacheLockMaxAge 5
+</IfModule>
+
+ +
top
+
+

Fine Control with the CACHE Filter

+

Under the default mode of cache operation, the cache runs as a quick handler, + short circuiting the majority of server processing and offering the highest + cache performance available.

+ +

In this mode, the cache bolts onto the front of the server, + acting as if a free standing RFC 2616 caching proxy had been placed in front of + the server.

+ +

While this mode offers the best performance, the administrator may find that + under certain circumstances they may want to perform further processing on the + request after the request is cached, such as to inject personalisation into the + cached page, or to apply authorization restrictions to the content. Under these + circumstances, an administrator is often forced to place independent reverse + proxy servers either behind or in front of the caching server to achieve this.

+ +

To solve this problem the CacheQuickHandler + directive can be set to off, and the server will + process all phases normally handled by a non-cached request, including the + authentication and authorization phases.

+ +

In addition, the administrator may optionally specify the precise point + within the filter chain where caching is to take place by adding the + CACHE filter to the output filter chain.

+ +

For example, to cache content before applying compression to the response, + place the CACHE filter before the DEFLATE + filter as in the example below:

+ +
# Cache content before optional compression
+CacheQuickHandler off
+AddOutputFilterByType CACHE;DEFLATE text/plain
+ + +

Another option is to have content cached before personalisation is applied + by mod_include (or another content processing filter). In this + example templates containing tags understood by + mod_include are cached before being parsed:

+ +
# Cache content before mod_include and mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+ + +

You may place the CACHE filter anywhere you wish within the + filter chain. In this example, content is cached after being parsed by + mod_include, but before being processed by + mod_deflate:

+ +
# Cache content between mod_include and mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html
+ + +

Warning:

If the location of the + CACHE filter in the filter chain is changed for any reason, + you may need to flush your cache to ensure that your data + served remains consistent. mod_cache is not in a position + to enforce this for you.
+ +
top
+
+

Cache Status and Logging

+

Once mod_cache has made a decision as to whether or not + an entity is to be served from cache, the detailed reason for the decision + is written to the subprocess environment within the request under the + cache-status key. This reason can be logged by the + LogFormat directive as + follows:

+ +
LogFormat "%{cache-status}e ..."
+ + +

Based on the caching decision made, the reason is also written to the + subprocess environment under one the following four keys, as appropriate:

+ +
+
cache-hit
The response was served from cache.
+
cache-revalidate
The response was stale and was successfully + revalidated, then served from cache.
+
cache-miss
The response was served from the upstream server.
+
cache-invalidate
The cached entity was invalidated by a request + method other than GET or HEAD.
+
+ +

This makes it possible to support conditional logging of cached requests + as per the following example:

+ +
CustomLog "cached-requests.log" common env=cache-hit
+CustomLog "uncached-requests.log" common env=cache-miss
+CustomLog "revalidated-requests.log" common env=cache-revalidate
+CustomLog "invalidated-requests.log" common env=cache-invalidate
+ + +

For module authors, a hook called cache_status is available, + allowing modules to respond to the caching outcomes above in customised + ways.

+
+
top
+

CacheDefaultExpire Directive

+ + + + + + + +
Description:The default duration to cache a document when no expiry date is specified.
Syntax:CacheDefaultExpire seconds
Default:CacheDefaultExpire 3600 (one hour)
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

The CacheDefaultExpire directive specifies a default time, + in seconds, to cache a document if neither an expiry date nor last-modified date are provided + with the document. The value specified with the CacheMaxExpire + directive does not override this setting.

+ +
CacheDefaultExpire 86400
+ + +
+
top
+

CacheDetailHeader Directive

+ + + + + + + + +
Description:Add an X-Cache-Detail header to the response.
Syntax:CacheDetailHeader on|off
Default:CacheDetailHeader off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
Compatibility:Available in Apache 2.3.9 and later
+

When the CacheDetailHeader directive + is switched on, an X-Cache-Detail header will be added to the response + containing the detailed reason for a particular caching decision.

+ +

It can be useful during development of cached RESTful services to have additional + information about the caching decision written to the response headers, so as to + confirm whether Cache-Control and other headers have been correctly + used by the service and client.

+ +

If the normal handler is used, this directive may appear within a + <Directory> or + <Location> directive. If the quick handler + is used, this directive must appear within a server or virtual host context, otherwise + the setting will be ignored.

+ +
# Enable the X-Cache-Detail header
+CacheDetailHeader on
+ + +

+ X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost
+

+ + +
+
top
+

CacheDisable Directive

+ + + + + + +
Description:Disable caching of specified URLs
Syntax:CacheDisable url-string | on
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

The CacheDisable directive instructs + mod_cache to not cache urls at or below + url-string.

+ +

Example

CacheDisable "/local_files"
+
+ +

If used in a <Location> directive, + the path needs to be specified below the Location, or if the word "on" + is used, caching for the whole location will be disabled.

+ +

Example

<Location "/foo">
+    CacheDisable on
+</Location>
+
+ +

The no-cache environment variable can be set to + disable caching on a finer grained set of resources in versions + 2.2.12 and later.

+ + +

See also

+ +
+
top
+

CacheEnable Directive

+ + + + + + + +
Description:Enable caching of specified URLs using a specified storage +manager
Syntax:CacheEnable cache_type [url-string]
Context:server config, virtual host, directory
Status:Extension
Module:mod_cache
Compatibility:A url-string of '/' applied to forward proxy content in 2.2 and + earlier.
+

The CacheEnable directive instructs + mod_cache to cache urls at or below + url-string. The cache storage manager is specified with the + cache_type argument. The CacheEnable + directive can alternatively be placed inside either + <Location> or + <LocationMatch> sections to indicate + the content is cacheable. + cache_type disk instructs + mod_cache to use the disk based storage manager + implemented by mod_cache_disk. cache_type + socache instructs mod_cache to use the + shared object cache based storage manager implemented by + mod_cache_socache.

+

In the event that the URL space overlaps between different + CacheEnable directives (as in the example below), + each possible storage manager will be run until the first one that + actually processes the request. The order in which the storage managers are + run is determined by the order of the CacheEnable + directives in the configuration file. CacheEnable + directives within <Location> or + <LocationMatch> sections are processed + before globally defined CacheEnable directives.

+ +

When acting as a forward proxy server, url-string must + minimally begin with a protocol for which caching should be enabled.

+ +
# Cache content (normal handler only)
+CacheQuickHandler off
+<Location "/foo">
+    CacheEnable disk
+</Location>
+
+# Cache regex (normal handler only)
+CacheQuickHandler off
+<LocationMatch "foo$">
+    CacheEnable disk
+</LocationMatch>
+
+# Cache all but forward proxy url's (normal or quick handler)
+CacheEnable  disk  /
+
+# Cache FTP-proxied url's (normal or quick handler)
+CacheEnable  disk  ftp://
+
+# Cache forward proxy content from www.example.org (normal or quick handler)
+CacheEnable  disk  http://www.example.org/
+ + +

A hostname starting with a "*" matches all hostnames with + that suffix. A hostname starting with "." matches all + hostnames containing the domain components that follow.

+ +
# Match www.example.org, and fooexample.org
+CacheEnable  disk  "http://*example.org/"
+# Match www.example.org, but not fooexample.org
+CacheEnable  disk  "http://.example.org/"
+ + +

The no-cache environment variable can be set to + disable caching on a finer grained set of resources in versions + 2.2.12 and later.

+ + +

See also

+ +
+
top
+

CacheHeader Directive

+ + + + + + + + +
Description:Add an X-Cache header to the response.
Syntax:CacheHeader on|off
Default:CacheHeader off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
Compatibility:Available in Apache 2.3.9 and later
+

When the CacheHeader directive + is switched on, an X-Cache header will be added to the response + with the cache status of this response. If the normal handler is used, this + directive may appear within a <Directory> + or <Location> directive. If the quick + handler is used, this directive must appear within a server or virtual host + context, otherwise the setting will be ignored.

+ +
+
HIT
The entity was fresh, and was served from + cache.
+
REVALIDATE
The entity was stale, was successfully + revalidated and was served from cache.
+
MISS
The entity was fetched from the upstream + server and was not served from cache.
+
+ +
# Enable the X-Cache header
+CacheHeader on
+ + +
X-Cache: HIT from localhost
+ + + +
+
top
+

CacheIgnoreCacheControl Directive

+ + + + + + + +
Description:Ignore request to not serve cached content to client
Syntax:CacheIgnoreCacheControl On|Off
Default:CacheIgnoreCacheControl Off
Context:server config, virtual host
Status:Extension
Module:mod_cache
+

Ordinarily, requests containing a Cache-Control: no-cache or + Pragma: no-cache header value will not be served from the cache. The + CacheIgnoreCacheControl directive allows this + behavior to be overridden. CacheIgnoreCacheControl On + tells the server to attempt to serve the resource from the cache even + if the request contains no-cache header values. Resources requiring + authorization will never be cached.

+ +
CacheIgnoreCacheControl On
+ + +

Warning:

+ This directive will allow serving from the cache even if the client has + requested that the document not be served from the cache. This might + result in stale content being served. +
+ +

See also

+ +
+
top
+

CacheIgnoreHeaders Directive

+ + + + + + + +
Description:Do not store the given HTTP header(s) in the cache. +
Syntax:CacheIgnoreHeaders header-string [header-string] ...
Default:CacheIgnoreHeaders None
Context:server config, virtual host
Status:Extension
Module:mod_cache
+

According to RFC 2616, hop-by-hop HTTP headers are not stored in + the cache. The following HTTP headers are hop-by-hop headers and thus + do not get stored in the cache in any case regardless of the + setting of CacheIgnoreHeaders:

+ +
    +
  • Connection
  • +
  • Keep-Alive
  • +
  • Proxy-Authenticate
  • +
  • Proxy-Authorization
  • +
  • TE
  • +
  • Trailers
  • +
  • Transfer-Encoding
  • +
  • Upgrade
  • +
+ +

CacheIgnoreHeaders specifies additional HTTP + headers that should not to be stored in the cache. For example, it makes + sense in some cases to prevent cookies from being stored in the cache.

+ +

CacheIgnoreHeaders takes a space separated list + of HTTP headers that should not be stored in the cache. If only hop-by-hop + headers not should be stored in the cache (the RFC 2616 compliant + behaviour), CacheIgnoreHeaders can be set to + None.

+ +

Example 1

CacheIgnoreHeaders Set-Cookie
+
+ +

Example 2

CacheIgnoreHeaders None
+
+ +

Warning:

+ If headers like Expires which are needed for proper cache + management are not stored due to a + CacheIgnoreHeaders setting, the behaviour of + mod_cache is undefined. +
+ +
+
top
+

CacheIgnoreNoLastMod Directive

+ + + + + + + +
Description:Ignore the fact that a response has no Last Modified +header.
Syntax:CacheIgnoreNoLastMod On|Off
Default:CacheIgnoreNoLastMod Off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

Ordinarily, documents without a last-modified date are not cached. + Under some circumstances the last-modified date is removed (during + mod_include processing for example) or not provided + at all. The CacheIgnoreNoLastMod directive + provides a way to specify that documents without last-modified dates + should be considered for caching, even without a last-modified date. + If neither a last-modified date nor an expiry date are provided with + the document then the value specified by the + CacheDefaultExpire directive will be used to + generate an expiration date.

+ +
CacheIgnoreNoLastMod On
+ + +
+
top
+

CacheIgnoreQueryString Directive

+ + + + + + + +
Description:Ignore query string when caching
Syntax:CacheIgnoreQueryString On|Off
Default:CacheIgnoreQueryString Off
Context:server config, virtual host
Status:Extension
Module:mod_cache
+

Ordinarily, requests with query string parameters are cached separately + for each unique query string. This is according to RFC 2616/13.9 done only + if an expiration time is specified. The + CacheIgnoreQueryString directive tells the cache to + cache requests even if no expiration time is specified, and to reply with + a cached reply even if the query string differs. From a caching point of + view the request is treated as if having no query string when this + directive is enabled.

+ +
CacheIgnoreQueryString On
+ + + +
+
top
+

CacheIgnoreURLSessionIdentifiers Directive

+ + + + + + + +
Description:Ignore defined session identifiers encoded in the URL when caching +
Syntax:CacheIgnoreURLSessionIdentifiers identifier [identifier] ...
Default:CacheIgnoreURLSessionIdentifiers None
Context:server config, virtual host
Status:Extension
Module:mod_cache
+

Sometimes applications encode the session identifier into the URL like in the following + Examples: +

+
    +
  • /someapplication/image.gif;jsessionid=123456789
  • +
  • /someapplication/image.gif?PHPSESSIONID=12345678
  • +
+

This causes cacheable resources to be stored separately for each session, which + is often not desired. CacheIgnoreURLSessionIdentifiers lets + define a list of identifiers that are removed from the key that is used to identify + an entity in the cache, such that cacheable resources are not stored separately for + each session. +

+

CacheIgnoreURLSessionIdentifiers None clears the list of ignored + identifiers. Otherwise, each identifier is added to the list.

+ +

Example 1

CacheIgnoreURLSessionIdentifiers jsessionid
+
+ +

Example 2

CacheIgnoreURLSessionIdentifiers None
+
+ + +
+
top
+

CacheKeyBaseURL Directive

+ + + + + + + +
Description:Override the base URL of reverse proxied cache keys.
Syntax:CacheKeyBaseURL URL
Context:server config, virtual host
Status:Extension
Module:mod_cache
Compatibility:Available in Apache 2.3.9 and later
+

When the CacheKeyBaseURL directive + is specified, the URL provided will be used as the base URL to calculate + the URL of the cache keys in the reverse proxy configuration. When not specified, + the scheme, hostname and port of the current virtual host is used to construct + the cache key. When a cluster of machines is present, and all cached entries + should be cached beneath the same cache key, a new base URL can be specified + with this directive.

+ +
# Override the base URL of the cache key.
+CacheKeyBaseURL "http://www.example.com/"
+ + +
Take care when setting this directive. If two separate virtual + hosts are accidentally given the same base URL, entries from one virtual host + will be served to the other.
+ + +
+
top
+

CacheLastModifiedFactor Directive

+ + + + + + + +
Description:The factor used to compute an expiry date based on the +LastModified date.
Syntax:CacheLastModifiedFactor float
Default:CacheLastModifiedFactor 0.1
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

In the event that a document does not provide an expiry date but does + provide a last-modified date, an expiry date can be calculated based on + the time since the document was last modified. The + CacheLastModifiedFactor directive specifies a + factor to be used in the generation of this expiry date + according to the following formula: + + expiry-period = time-since-last-modified-date * factor + expiry-date = current-date + expiry-period + + For example, if the document was last modified 10 hours ago, and + factor is 0.1 then the expiry-period will be set to + 10*0.1 = 1 hour. If the current time was 3:00pm then the computed + expiry-date would be 3:00pm + 1hour = 4:00pm. + + If the expiry-period would be longer than that set by + CacheMaxExpire, then the latter takes + precedence.

+ +
CacheLastModifiedFactor 0.5
+ + +
+
top
+

CacheLock Directive

+ + + + + + + + +
Description:Enable the thundering herd lock.
Syntax:CacheLock on|off
Default:CacheLock off
Context:server config, virtual host
Status:Extension
Module:mod_cache
Compatibility:Available in Apache 2.2.15 and later
+

The CacheLock directive enables the thundering herd lock + for the given URL space.

+ +

In a minimal configuration the following directive is all that is needed to + enable the thundering herd lock in the default system temp directory.

+ +
# Enable cache lock
+CacheLock on
+ + + +
+
top
+

CacheLockMaxAge Directive

+ + + + + + + +
Description:Set the maximum possible age of a cache lock.
Syntax:CacheLockMaxAge integer
Default:CacheLockMaxAge 5
Context:server config, virtual host
Status:Extension
Module:mod_cache
+

The CacheLockMaxAge directive specifies the maximum + age of any cache lock.

+ +

A lock older than this value in seconds will be ignored, and the next + incoming request will be given the opportunity to re-establish the lock. + This mechanism prevents a slow client taking an excessively long time to refresh + an entity.

+ + +
+
top
+

CacheLockPath Directive

+ + + + + + + +
Description:Set the lock path directory.
Syntax:CacheLockPath directory
Default:CacheLockPath /tmp/mod_cache-lock
Context:server config, virtual host
Status:Extension
Module:mod_cache
+

The CacheLockPath directive allows you to specify the + directory in which the locks are created. By default, the system's temporary + folder is used. Locks consist of empty files that only exist for stale URLs + in flight, so is significantly less resource intensive than the traditional + disk cache.

+ + +
+
top
+

CacheMaxExpire Directive

+ + + + + + + +
Description:The maximum time in seconds to cache a document
Syntax:CacheMaxExpire seconds
Default:CacheMaxExpire 86400 (one day)
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

The CacheMaxExpire directive specifies the maximum number of + seconds for which cacheable HTTP documents will be retained without checking the origin + server. Thus, documents will be out of date at most this number of seconds. This maximum + value is enforced even if an expiry date was supplied with the document.

+ +
CacheMaxExpire 604800
+ + +
+
top
+

CacheMinExpire Directive

+ + + + + + + +
Description:The minimum time in seconds to cache a document
Syntax:CacheMinExpire seconds
Default:CacheMinExpire 0
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

The CacheMinExpire directive specifies the minimum number of + seconds for which cacheable HTTP documents will be retained without checking the origin + server. This is only used if no valid expire time was supplied with the document.

+ + +
CacheMinExpire 3600
+ + +
+
top
+

CacheQuickHandler Directive

+ + + + + + + + +
Description:Run the cache from the quick handler.
Syntax:CacheQuickHandler on|off
Default:CacheQuickHandler on
Context:server config, virtual host
Status:Extension
Module:mod_cache
Compatibility:Apache HTTP Server 2.3.3 and later
+

The CacheQuickHandler directive + controls the phase in which the cache is handled.

+ +

In the default enabled configuration, the cache operates within the quick + handler phase. This phase short circuits the majority of server processing, + and represents the most performant mode of operation for a typical server. + The cache bolts onto the front of the server, and the + majority of server processing is avoided.

+ +

When disabled, the cache operates as a normal handler, and is subject to + the full set of phases when handling a server request. While this mode is + slower than the default, it allows the cache to be used in cases where full + processing is required, such as when content is subject to authorization.

+ +
# Run cache as a normal handler
+CacheQuickHandler off
+ + +

It is also possible, when the quick handler is disabled, for the + administrator to choose the precise location within the filter chain where + caching is to be performed, by adding the CACHE filter to + the chain.

+ +
# Cache content before mod_include and mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+ + +

If the CACHE filter is specified more than once, the last instance will + apply.

+ + +
+
top
+

CacheStaleOnError Directive

+ + + + + + + + +
Description:Serve stale content in place of 5xx responses.
Syntax:CacheStaleOnError on|off
Default:CacheStaleOnError on
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
Compatibility:Available in Apache 2.3.9 and later
+

When the CacheStaleOnError directive + is switched on, and when stale data is available in the cache, the cache will + respond to 5xx responses from the backend by returning the stale data instead of + the 5xx response. While the Cache-Control headers sent by clients will be respected, + and the raw 5xx responses returned to the client on request, the 5xx response so + returned to the client will not invalidate the content in the cache.

+ +
# Serve stale data on error.
+CacheStaleOnError on
+ + + +
+
top
+

CacheStoreExpired Directive

+ + + + + + + +
Description:Attempt to cache responses that the server reports as expired
Syntax:CacheStoreExpired On|Off
Default:CacheStoreExpired Off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

Since httpd 2.2.4, responses which have already expired are not + stored in the cache. The CacheStoreExpired + directive allows this behavior to be overridden. + CacheStoreExpired On + tells the server to attempt to cache the resource if it is stale. + Subsequent requests would trigger an If-Modified-Since request of + the origin server, and the response may be fulfilled from cache + if the backend resource has not changed.

+ +
CacheStoreExpired On
+ + +
+
top
+

CacheStoreNoStore Directive

+ + + + + + + +
Description:Attempt to cache requests or responses that have been marked as no-store.
Syntax:CacheStoreNoStore On|Off
Default:CacheStoreNoStore Off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

Ordinarily, requests or responses with Cache-Control: no-store header + values will not be stored in the cache. The + CacheStoreNoStore directive allows this + behavior to be overridden. CacheStoreNoStore On + tells the server to attempt to cache the resource even if it contains + no-store header values. Resources requiring authorization will + never be cached.

+ +
CacheStoreNoStore On
+ + +

Warning:

+ As described in RFC 2616, the no-store directive is intended to + "prevent the inadvertent release or retention of sensitive information + (for example, on backup tapes)." Enabling this option could store + sensitive information in the cache. You are hereby warned. +
+ +

See also

+ +
+
top
+

CacheStorePrivate Directive

+ + + + + + + +
Description:Attempt to cache responses that the server has marked as private
Syntax:CacheStorePrivate On|Off
Default:CacheStorePrivate Off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache
+

Ordinarily, responses with Cache-Control: private header values will not + be stored in the cache. The CacheStorePrivate + directive allows this behavior to be overridden. + CacheStorePrivate On + tells the server to attempt to cache the resource even if it contains + private header values. Resources requiring authorization will + never be cached.

+ +
CacheStorePrivate On
+ + +

Warning:

+ This directive will allow caching even if the upstream server has + requested that the resource not be cached. This directive is only + ideal for a 'private' cache. +
+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html.fr.utf8 b/docs/manual/mod/mod_cache.html.fr.utf8 new file mode 100644 index 0000000..f38d24a --- /dev/null +++ b/docs/manual/mod/mod_cache.html.fr.utf8 @@ -0,0 +1,1187 @@ + + + + + +mod_cache - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_cache

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Filtre de mise en cache HTTP conforme à la RFC 2616
Statut:Extension
Identificateur de Module:cache_module
Fichier Source:mod_cache.c
+

Sommaire

+ +
Ce module doit être utilisé avec précautions + car lorsque la directive CacheQuickHandler est définie à sa + valeur par défaut on, les directives Allow and Deny sont court-circuitées. Vous + ne devez donc pas activer la gestion rapide de la mise en cache pour + un contenu auquel vous souhaitez limiter l'accès en fonction du nom + d'hôte du client, de l'adresse IP ou d'une variable + d'environnement.
+ +

mod_cache implémente un filtre de mise + en cache de contenu HTTP conforme à la RFC 2616, avec + support de la mise en cache des réponses dont le contenu a été + négocié et comportant l'en-tête Vary.

+ +

La mise en cache conforme à la RFC 2616 fournit un mécanisme + permettant de vérifier si un contenu expiré ou dépassé est encore à + jour, et peut apporter un gain de performances significatif si le + serveur original supporte les requêtes + conditionnelles en prenant en compte l'en-tête de requête + HTTP If-None-Match. + Le contenu n'est ainsi régénéré que lorsqu'il a été modifié, et non + lorsqu'il a expiré.

+ +

En tant que filtre, mod_cache peut être placé + en face d'un contenu issu de tout gestionnaire, y compris + des fichiers à accès séquentiel (servis depuis un + disque lent mis en + cache sur un gros disque), la sortie d'un script + CGI ou d'un générateur de contenu + dynamique, ou du contenu mandaté depuis un autre + serveur.

+ +

Dans la configuration par défaut, mod_cache + place le filtre de mise en cache aussi loin que possible dans la + pile de filtres, utilisant le gestionnaire rapide + pour court-circuiter tout traitement par requête lors de l'envoi du + contenu au client. Dans ce mode opératoire, + mod_cache peut être considéré comme un serveur + mandataire avec cache fixé en tête du serveur web, alors qu'il + s'exécute dans ce même serveur web.

+ +

Lorsque le gestionnaire rapide est désactivé via la directive + CacheQuickHandler, il + devient possible d'insérer le filtre CACHE à un + point de la pile de filtres choisi par l'administrateur. Ceci permet + de mettre en cache un contenu avant que celui-ci ne soit + personnalisé par le filtre mod_include, ou + éventuellement compressé par le filtre mod_deflate.

+ +

Dans le mode de fonctionnement normal, mod_cache + peut être contrôlé par les en-têtes Cache-Control + et Pragma + envoyés par un client dans une requête, ou par un serveur dans une + réponse. Dans des circonstances exceptionnelles, + mod_cache peut cependant être configuré pour + outrepasser ces en-têtes et forcer un comportement spécifique au + site, bien qu'un tel comportement sera limité à ce cache seulement, + et n'affectera pas les opérations des autres caches qui peuvent + s'insérer entre le client et le serveur, et ce type de configuration + ne doit donc être utiliser qu'en cas de nécessité absolue.

+ +

La RFC 2616 permet au cache de renvoyer des données périmées + pendant que l'entrée périmée correspondante est mise à jour depuis + le serveur original, et mod_cache supporte cette + fonctionnalité lorsque la directive CacheLock est configurée en + conséquence. De telles réponses comportent un en-tête HTTP Warning + contenant un code de réponse 110. La RFC 2616 permet aussi au cache + de renvoyer des données périmées lorsque la tentative de mise à jour + des données périmées renvoie une erreur 500 ou supérieure, et cette + fonctionnalité est supportée par défaut par + mod_cache. De telles réponses comportent un en-tête HTTP Warning + contenant un code de réponse 111.

+ +

mod_cache requiert les services d'un ou + plusieurs modules de gestion de stockage. La distribution Apache de base + inclut les modules de gestion de stockage suivants :

+
+
mod_cache_disk
+ +
implémente un gestionnaire de stockage sur disque. Les en-têtes + et corps sont stockés séparément sur le disque dans une structure de + répertoires basée sur le condensé md5 de l'URL mise en cache. + Plusieurs réponses à contenu négocié peuvent être stockées en même + temps, mais la mise en cache de contenus partiels n'est pas + supportée par ce module. L'utilitaire + htcacheclean permet de lister et de supprimer les + URLs mises en cache, et de maintenir le cache en deçà de + certaines limites de taille et de nombre d'inodes.
+
mod_cache_socache
+
Implémente un gestionnaire de stockage basé sur un cache d'objets + partagés. Les en-têtes et corps sont stockés ensemble sous une seule + clé basée sur l'URL de la réponse mise en cache. Des réponses à + contenus multiples négociés peuvent être stockées simultanément, mais + ce module ne supporte pas la mise en cache de contenus partiels.
+
+ +

Pour de plus amples détails, une description, et des exemples, + reportez-vous au Guide de la mise en + cache.

+
+ +
top
+
top
+
+

Exemple de configuration

+

Extrait de httpd.conf

#
+# Exemple de configuration du cache
+#
+LoadModule cache_module modules/mod_cache.so
+<IfModule mod_cache.c>
+    LoadModule cache_disk_module modules/mod_cache_disk.so
+    <IfModule mod_cache_disk.c>
+        CacheRoot "c:/cacheroot"
+        CacheEnable disk  "/"
+        CacheDirLevels 5
+        CacheDirLength 3
+    </IfModule>
+    
+    # Lorsqu'on sert de mandataire, on ne met pas en cache la liste
+# des mises à jour de sécurité
+    CacheDisable "http://security.update.server/update-list/"
+</IfModule>
+
+
top
+
+

Eviter une tempête de requête

+

Lorsqu'une entrée du cache est périmée, mod_cache + soumet une requête conditionnelle au processus d'arrière-plan, qui est + censé confirmer la validité de l'entrée du cache, ou dans la négative + envoyer une entrée mise à jour.

+

Un court mais non négligeable laps de temps existe entre le moment + où l'entrée du cache est périmée, et le moment où elle est mise à + jour. Sur un serveur fortement chargé, un certain nombre de requêtes + peut arriver pendant ce laps de temps, et provoquer une + tempête de requêtes susceptibles de saturer le + processus d'arrière-plan de manière soudaine et imprédictible.

+

Pour contenir cette tempête, on peut utiliser la directive CacheLock afin de définir un répertoire où + seront créés à la volée des verrous pour les URLs. Ces + verrous sont utilisés comme autant d'indications par les + autres requêtes, soit pour empêcher une tentative de mise en cache (un autre + processus est en train de récupérer l'entité), soit pour indiquer qu'une + entrée périmée est en cours de mise à jour (pendant ce temps, c'est le contenu + périmé qui sera renvoyé). +

+

Mise en cache initiale d'une entrée

+ +

Lorsqu'une entité est mise en cache pour la première fois, un + verrou est créé pour cette entité jusqu'à ce que la réponse ait été + entièrement mise en cache. Pendant la durée de vie du verrou, le + cache va empêcher une seconde tentative de mise en cache de la même + entité. Bien que cela ne suffise pas à contenir la tempête de + requêtes, toute tentative de mettre en cache la même entité + plusieurs fois simultanément est stoppée. +

+ +

Mise à jour d'une entrée périmée

+ +

Lorsqu'une entrée atteint la limite de sa durée de vie, et + devient par conséquent périmée, un verrou est créé pour cette entité + jusqu'à ce que la réponse ait été soit confirmée comme encore + valide, soit remplacée par le processus d'arrière-plan. Pendant la + durée de vie du verrou, une seconde requête entrante va provoquer le + renvoi de la donnée périmée, et la tempête de requêtes sera + contenue.

+ +

Verrous et en-tête Cache-Control: no-cache

+ +

Les verrous ne sont utilisés qu'à titre + indicatif pour enjoindre le cache à être plus coopératif + avec les serveurs d'arrière-plan, et il est possible de passer outre + si nécessaire. Si le client envoie une requête contenant un en-tête + Cache-Control imposant un nouveau téléchargement de l'entité, tout + verrou éventuel sera ignoré, la requête du client sera honorée + immédiatement, et l'entrée du cache mise à jour.

+ +

Comme mécanisme de sécurité supplémentaire, la durée de vie maximale des + verrous est configurable. Lorsque cette limite est atteinte, le verrou est + supprimé et une autre requête peut alors en créer un nouveau. Cette durée de + vie peut être définie via la directive CacheMaxExpire, et sa valeur par défaut est + de 5 secondes. +

+ +

Exemple de configuration

+ +

Activation du verrouillage du cache

#
+# Active le verrouillage du cache
+#
+<IfModule mod_cache.c>
+    CacheLock on
+    CacheLockPath "/tmp/mod_cache-lock"
+    CacheLockMaxAge 5
+</IfModule>
+
+ +
top
+
+

Contrôle fin via le filtre CACHE

+

Dans son mode de fonctionnement par défaut, le cache s'exécute sous + la forme d'un gestionnaire rapide, court-circuitant la majorité des + traitements du serveur et fournissant ainsi une mise en cache + possédant les plus hautes performances disponibles.

+ +

Dans ce mode, le cache s'incruste devant le + serveur, comme si un mandataire de mise en cache indépendant RFC 2616 + était placé devant ce dernier.

+ +

Bien que que ce mode offre les meilleures performances, les + administrateurs peuvent souhaiter, dans certaines circonstances, + effectuer des traitements sur la requête après que cette dernière ait + été mise en cache, comme ajouter du contenu personnalisé à la page + mise en cache, ou appliquer des restrictions d'autorisations au + contenu. Pour y parvenir, l'administrateur sera alors souvent forcé de + placer des serveurs mandataires inverses indépendants soit derrière, + soit devant le serveur de mise en cache.

+ +

Pour résoudre ce problème, la directive CacheQuickHandler peut être définie à + off, afin que le serveur traite toutes les phases + normalement exécutées par une requête non mise en cache, y compris les + phases d'authentification et d'autorisation.

+ +

En outre, l'administrateur peut éventuellement spécifier le + point précis dans la chaîne de filtrage où devra + intervenir la mise en cache en ajoutant le filtre + CACHE à la chaîne de filtrage en sortie.

+ +

Par exemple, pour mettre en cache le contenu avant d'appliquer une + compression à la réponse, placez le filtre CACHE + avant le filtre DEFLATE comme dans l'exemple suivant + :

+ +
# Mise en cache du contenu avant la compression optionnelle
+CacheQuickHandler off
+AddOutputFilterByType CACHE;DEFLATE text/plain
+ + +

Une autre possibilité consiste à mettre en cache le contenu avant + l'ajout de contenu personnalisé via mod_include (ou + tout autre filtre de traitement de contenu). Dans l'exemple suivant, + les modèles contenant des balises comprises par + mod_include sont mis en cache avant d'être + interprétés :

+ +
# Mise en cache du contenu avant l'intervention de mod_include et
+   # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+ + +

Vous pouvez insérer le filtre CACHE en tout point + de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis + en cache après avoir été interprété par mod_include, + mais avant d'être traité par mod_deflate :

+ +
# Mise en cache du contenu entre les interventions de mod_include et
+   # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html
+ + +

Avertissement :

Si pour une raison + ou pour une autre, le point d'insertion du filtre + CACHE dans la chaîne de filtrage est modifié, vous + devez vider votre cache pour être sûr que les données + servies soient à jour. En effet, mod_cache n'est pas + en mesure d'effectuer cette opération à votre place.
+ +
top
+
+

Etat du cache et journalisation

+

Lorsque mod_cache a décidé s'il devait ou non + servir une entité depuis le cache, les raisons précises de cette + décision sont enregistrées dans l'environnement du sous-processus + interne à la requête sous la clé cache-status. + Cette information peut être journalisée via la directive LogFormat comme suit :

+ +
LogFormat "%{cache-status}e ..."
+ + +

En fonction de la décision prise, l'information est aussi écrite + dans l'environnement du sous-processus sous une des quatre clés + suivantes :

+ +
+
cache-hit
Le contenu a été servi depuis le cache.
+
cache-revalidate
Le contenu du cache était périmé, a été + mis à jour avec succès, puis servi depuis le cache.
+
cache-miss
Le contenu n'était pas dans le cache et a été + servi directement depuis le serveur demandé.
+
cache-invalidate
L'entité du cache est devenue invalide + suite à une requête d'un type autre que GET ou HEAD.
+
+ +

Il est alors possible d'envisager une journalisation conditionnelle + du traitement des requêtes par rapport au cache comme dans l'exemple + suivant :

+ +
CustomLog "cached-requests.log" common env=cache-hit
+CustomLog "uncached-requests.log" common env=cache-miss
+CustomLog "revalidated-requests.log" common env=cache-revalidate
+CustomLog "invalidated-requests.log" common env=cache-invalidate
+ + +

Pour les concepteurs de modules, une accroche (hook) nommée + cache_status est disponible et permet aux modules de + répondre aux résultats de la vérification du cache ci-dessus de manière + personnalisée.

+ +
+
top
+

Directive CacheDefaultExpire

+ + + + + + + +
Description:La durée par défaut de mise en cache d'un document +lorsqu'aucune date d'expiration n'a été spécifiée.
Syntaxe:CacheDefaultExpire secondes
Défaut:CacheDefaultExpire 3600 (une heure)
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

La directive CacheDefaultExpire permet de + spécifier un temps par défaut, en secondes, pendant lequel sera conservé + dans le cache un document qui ne possède ni date d'expiration, ni date de + dernière modification. La valeur de cette directive n'est pas + écrasée par la valeur de la directive CacheMaxExpire, même si cette dernière est + utilisée.

+ +
CacheDefaultExpire 86400
+ + +
+
top
+

Directive CacheDetailHeader

+ + + + + + + + +
Description:Ajoute un en-tête X-Cache-Detail à la réponse.
Syntaxe:CacheDetailHeader on|off
Défaut:CacheDetailHeader off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
Compatibilité:Disponible depuis la version 2.3.9 d'Apache
+

Lorsque la directive CacheDetailHeader est définie à + on, un en-tête X-Cache-Detail est ajouté à la réponse et + contient les raisons précises d'une décision d'utilisation du cache vis à vis + de cette dernière.

+ +

Ceci peut s'avérer utile au cours du développement de services + RESTful mis en cache pour obtenir des informations supplémentaires à + propos des décisions vis à vis du cache écrites dans les en-têtes de + la réponse. Il est ainsi possible de vérifier si + Cache-Control et d'autres en-têtes ont été correctement + utilisés par le service et le client.

+ +

Si le gestionnaire normal est utilisé, cette directive peut se situer dans + une section <Directory> ou + <Location>. Si c'est le + gestionnaire rapide qui est utilisé, elle doit se situer dans un contexte de + serveur principal ou de serveur virtuel, sinon elle sera ignorée.

+ +
# Active l'en-tête X-Cache-Detail
+CacheDetailHeader on
+ + +

+ X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost
+

+ + +
+
top
+

Directive CacheDisable

+ + + + + + +
Description:Désactive la mise en cache des URLs +spécifiées
Syntaxe:CacheDisable chaîne-url | on
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

La directive CacheDisable enjoint + mod_cache de ne pas mettre en cache l'URL + spécifiée par chaîne URL, ainsi que les URLs de niveaux + inférieurs.

+ +

Exemple

CacheDisable "/fichiers_locaux"
+
+ +

Si la directive se trouve à l'intérieur d'une section <Location>, le chemin doit être + spécifié en dessous de la Location, et si le mot "on" est utilisé, la mise + en cache sera désactivée pour l'ensemble de l'arborescence concernée par la + section Location.

+ +

Exemple

<Location "/foo">
+    CacheDisable on
+</Location>
+
+ +

Avec les versions 2.2.12 et ultérieures, on peut définir la + variable d'environnement no-cache pour une définition + plus fine des ressources à mettre en cache.

+ +

Voir aussi

+ +
+
top
+

Directive CacheEnable

+ + + + + + + +
Description:Active la mise en cache des URLs spécifiées en utilisant le +gestionnaire de stockage précisé
Syntaxe:CacheEnable type de cache [chaîne +URL]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_cache
Compatibilité:Une chaîne URL telle que '/' s'appliquait à tout contenu +en mandat direct dans les versions 2.2 et antérieures.
+

La directive CacheEnable enjoint + mod_cache de mettre en cache l'URL précisée par + chaîne URL, ainsi que les URLs de niveaux inférieurs. Le + gestionnaire de stockage du cache est spécifié à l'aide de l'argument + type de cache. La directive CacheEnable + peut être placée à l'intérieur d'une section <Location> ou <LocationMatch> pour indiquer que le contenu + considéré peut être mis en cache. Si type de cache a pour valeur + disk, mod_cache utilisera le gestionnaire de + stockage sur disque implémenté par + mod_cache_disk. Pour que mod_cache + utilise le gestionnaire de stockage basé sur le cache d'objets + partagés implémenté par mod_cache_socache, + spécifiez socache comme valeur du paramètre type + de cache.

+

Si les différentes directives CacheEnable + spécifient des URLs qui se recoupent (comme dans l'exemple + ci-dessous), tous les gestionnaires de stockage possibles seront + lancés, jusqu'au premier d'entre eux qui traitera effectivement la + requête. + L'ordre dans lequel les gestionnaires de stockage sont lancés est déterminé + par l'ordre dans lequel apparaissent les directives + CacheEnable dans le fichier de configuration. Les + directives CacheEnable situées à l'intérieur de + sections <Location> ou + <LocationMatch> sont + traitées avant les directives CacheEnable définies au + niveau global.

+ +

En fonctionnement du type serveur mandataire direct, chaîne + URL doit au moins débuter par un protocole pour lequel la mise + en cache doit être activée.

+ +
# Mise en cache de contenu (gestionnaire normal seulement)
+CacheQuickHandler off
+<Location "/foo">
+    CacheEnable disk
+</Location>
+
+# Mise en cache via une expression rationnelle (gestionnaire normal seulement)
+CacheQuickHandler off
+<LocationMatch "foo$">
+    CacheEnable disk
+</LocationMatch>
+
+# Mise en cache de tous les contenus, à l'exception des URLs
+# mandatées en direct (gestionnaire normal ou rapide)
+CacheEnable  disk  /
+
+# Mise en cache des URLs FTP mandatées (gestionnaire normal ou rapide)
+CacheEnable  disk  ftp://
+
+# Mise en cache des contenus mandatés en direct depuis www.example.org (gestionnaire normal ou rapide)
+CacheEnable  disk  http://www.example.org/
+ + +

Un nom d'hôte commençant par un caractère "*" + correspondra à tout nom d'hôte se terminant par le suffixe + considéré. Un nom d'hôte commençant par un caractère + "." correspondra à tout nom d'hôte contenant le + composant de nom de domaine qui suit ce caractère.

+ +
# Correspond à www.example.org et fooexample.org
+CacheEnable  disk  "http://*example.org/"
+# Correspond à www.example.org, mais pas à fooexample.org
+CacheEnable  disk  "http://.example.org/"
+ + +

Depuis la version 2.2.12, on peut définir la variable + d'environnement no-cache pour une définition plus fine + des ressources à mettre en cache.

+ + +

Voir aussi

+ +
+
top
+

Directive CacheHeader

+ + + + + + + + +
Description:Ajoute un en-tête X-Cache à la réponse.
Syntaxe:CacheHeader on|off
Défaut:CacheHeader off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
Compatibilité:Disponible depuis la version 2.3.9 d'Apache
+

Lorsque la directive CacheHeader est définie à on, un + en-tête X-Cache est ajouté à la réponse et contient + l'état du cache pour cette dernière. Si le gestionnaire normal est + utilisé, cette directive peut se situer dans une section + <Directory> ou + <Location>. Si c'est + le gestionnaire rapide qui est utilisé, elle doit se situer dans un + contexte de serveur principal ou de serveur virtuel, sinon elle sera + ignorée.

+ +
+
HIT
Le contenu était à jour et a été + servi depuis le cache.
+
REVALIDATE
Le contenu était périmé, a + été mis à jour, puis a été servi depuis le cache.
+
MISS
Le contenu n'a pas été servi + depuis le cache, mais directement depuis le serveur demandé.
+
+ +
# Active l'en-tête X-Cache
+CacheHeader on
+ + +
X-Cache: HIT from localhost
+ + + + +
+
top
+

Directive CacheIgnoreCacheControl

+ + + + + + + +
Description:Ignore les en-têtes de requête enjoignant de ne pas servir +le contenu au client depuis le cache
Syntaxe:CacheIgnoreCacheControl On|Off
Défaut:CacheIgnoreCacheControl Off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
+

Normalement, les requêtes contenant des en-têtes tels que + Cache-Control: no-cache ou Pragma: no-cache ne sont pas + servies depuis le cache. La directive + CacheIgnoreCacheControl permet de modifier ce + comportement. Avec CacheIgnoreCacheControl + On, le serveur tentera de servir la ressource depuis le + cache, même si la requête contient un des en-têtes cités plus haut. + Les ressources qui requièrent une autorisation ne seront + jamais mises en cache.

+ +
CacheIgnoreCacheControl On
+ + +

Avertissement :

+ Cette directive permet de servir des ressources depuis le cache, + même si le client a demandé à ce qu'il n'en soit pas ainsi. Le + contenu servi est ainsi susceptible d'être périmé. +
+ +

Voir aussi

+ +
+
top
+

Directive CacheIgnoreHeaders

+ + + + + + + +
Description:Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache. +
Syntaxe:CacheIgnoreHeaders en-tête [en-tête] ...
Défaut:CacheIgnoreHeaders None
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
+

En accord avec la RFC 2616, les en-têtes HTTP hop-by-hop ne sont + pas stockés dans le cache. Les en-têtes HTTP suivant sont des + en-têtes hop-by-hop, et en tant que tels, ne sont en aucun + cas stockés dans le cache, quelle que soit la définition de la + directive CacheIgnoreHeaders :

+ +
    +
  • Connection
  • +
  • Keep-Alive
  • +
  • Proxy-Authenticate
  • +
  • Proxy-Authorization
  • +
  • TE
  • +
  • Trailers
  • +
  • Transfer-Encoding
  • +
  • Upgrade
  • +
+ +

La directive CacheIgnoreHeaders permet de + spécifier quels en-têtes HTTP ne doivent pas être stockés dans le + cache. Par exemple, il peut s'avérer pertinent dans certains cas de + ne pas stocker les cookies dans le cache.

+ +

La directive CacheIgnoreHeaders accepte + une liste d'en-têtes HTTP séparés par des espaces, qui ne doivent + pas être stockés dans le cache. Si les en-têtes hop-by-hop sont les + seuls à ne pas devoir être stockés dans le cache (le comportement + compatible RFC 2616), la directive + CacheIgnoreHeaders peut être définie à + None.

+ +

Exemple 1

CacheIgnoreHeaders Set-Cookie
+
+ +

Exemple 2

CacheIgnoreHeaders None
+
+ +

Avertissement :

+ Si des en-têtes nécessaires à la bonne gestion du cache, comme + Expires, ne sont pas stockés suite à la définition + d'une directive CacheIgnoreHeaders, le + comportement de mod_cache sera imprévisible. +
+ +
+
top
+

Directive CacheIgnoreNoLastMod

+ + + + + + + +
Description:Ignore le fait qu'une réponse ne possède pas d'en-tête Last +Modified.
Syntaxe:CacheIgnoreNoLastMod On|Off
Défaut:CacheIgnoreNoLastMod Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

Normalement, les documents qui ne possèdent pas de date de + dernière modification ne sont pas mis en cache. Dans certaines + circonstances, la date de dernière modification est supprimée (au + cours des traitements liés à mod_include par + exemple), ou n'existe tout simplement pas. La directive + CacheIgnoreNoLastMod permet de spécifier si + les documents ne possèdant pas de date de dernière modification doivent être + mis en cache, même sans date de dernière modification. Si le document ne + possède ni date d'expiration, ni date de dernière modification, la valeur + spécifiée par la directive CacheDefaultExpire servira à générer une date + d'expiration. +

+ +
CacheIgnoreNoLastMod On
+ + +
+
top
+

Directive CacheIgnoreQueryString

+ + + + + + + +
Description:Ignore la chaîne de paramètres lors de la mise en +cache
Syntaxe:CacheIgnoreQueryString On|Off
Défaut:CacheIgnoreQueryString Off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
+

Normalement, les requêtes comportant une chaîne de paramètres + sont mises en cache séparément si leurs chaînes de paramètres + diffèrent. + En accord avec la RFC 2616/13.9, cette mise en cache n'est effectuée + séparément que si une date d'expiration est spécifiée. La directive + CacheIgnoreQueryString permet la mise en + cache de requêtes même si aucune date d'expiration est spécifiée, et + de renvoyer une réponse depuis la cache même si les chaînes de + paramètres diffèrent. Du point de vue du cache, la requête est + traitée comme si elle ne possèdait pas de chaîne de paramètres + lorsque cette directive est activée.

+ +
CacheIgnoreQueryString On
+ + + +
+
top
+

Directive CacheIgnoreURLSessionIdentifiers

+ + + + + + + +
Description:Ignore les identifiants de session définis encodés dans +l'URL lors de la mise en cache +
Syntaxe:CacheIgnoreURLSessionIdentifiers identifiant +[identifiant] ...
Défaut:CacheIgnoreURLSessionIdentifiers None
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
+

Certaines applications encodent l'identifiant de session dans + l'URL comme dans l'exemple suivant : +

+
    +
  • /une-application/image.gif;jsessionid=123456789
  • +
  • /une-application/image.gif?PHPSESSIONID=12345678
  • +
+

Ceci implique la mise en cache des ressources séparément pour + chaque session, ce qui n'est en général pas souhaité. La directive + CacheIgnoreURLSessionIdentifiers permet de + définir une liste d'identifiants qui seront supprimés de la clé + utilisée pour identifier une entité dans le cache, de façon à ce que + les ressources ne soient pas stockées séparément pour chaque + session. +

+

CacheIgnoreURLSessionIdentifiers None vide la liste + des identifiants ignorés. Autrement, chaque identifiant spécifié est + ajouté à la liste.

+ +

Exemple 1

CacheIgnoreURLSessionIdentifiers jsessionid
+
+ +

Exemple 2

CacheIgnoreURLSessionIdentifiers None
+
+ + +
+
top
+

Directive CacheKeyBaseURL

+ + + + + + + +
Description:Remplace l'URL de base des clés du cache mandatées en +inverse
Syntaxe:CacheKeyBaseURL URL
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
Compatibilité:Disponible depuis la version 2.3.9 d'Apache
+

Lorsque la directive CacheKeyBaseURL est utilisée, + l'URL spécifiée sera utilisée comme URL de base pour calculer l'URL des clés + du cache dans la configuration du mandataire inverse. Par défaut, c'est le + protocole/nom d'hôte/port du serveur virtuel courant qui sera utilisé pour + construire la clé de cache. Dans le cas d'un cluster de machines, si toutes + les entrées du cache doivent posséder la même clé, cette directive permet de + spécifier une nouvelle URL de base.

+ +
# Remplace l'URL de base de la clé de cache.
+CacheKeyBaseURL "http://www.example.com/"
+ + +
Prenez garde en définissant cette directive. Si + deux serveurs virtuels distincts possèdent accidentellement la même + URL de base, les entrées en provenance d'un serveur virtuel seront + servies par l'autre.
+ + +
+
top
+

Directive CacheLastModifiedFactor

+ + + + + + + +
Description:Le facteur utilisé pour générer une date d'expiration en +fonction de la date de dernière modification.
Syntaxe:CacheLastModifiedFactor flottant
Défaut:CacheLastModifiedFactor 0.1
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

Si un document ne possède pas de date d'expiration, elle peut + être calculée en fonction de la date de dernière modification, si + elle existe. La directive + CacheLastModifiedFactor permet de spécifier + un facteur à utiliser pour la génération de cette date + d'expiration au sein de la formule suivante : + + délai-expiration = durée-depuis-date-dernière-modification * + facteur + date-expiration = date-courante + délai-expiration + + Par exemple, si la dernière modification du document date de 10 + heures, et si facteur a pour valeur 0.1, le délai + d'expiration sera de 10*0.1 = 1 heure. Si l'heure courante est + 3:00pm, la date d'expiration calculée sera 3:00pm + 1 heure = + 4:00pm. + + Si le délai d'expiration est supérieur à celui spécifié par la directive + CacheMaxExpire, c'est ce dernier + qui l'emporte.

+ +
CacheLastModifiedFactor 0.5
+ + +
+
top
+

Directive CacheLock

+ + + + + + + + +
Description:Active la protection contre les tempêtes de requêtes.
Syntaxe:CacheLock on|off
Défaut:CacheLock off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
Compatibilité:Disponible depuis la version 2.2.15 d'Apache
+

La directive CacheLock active la protection + contre les tempêtes de requêtes pour l'espace d'adressage donné.

+ +

La configuration minimale pour activer le verrouillage contre les + tempêtes de requêtes dans le répertoire temp par défaut du système est + la suivante :

+ +
# Active le verrouillage du cache
+CacheLock on
+ + + +
+
top
+

Directive CacheLockMaxAge

+ + + + + + + +
Description:Définit la durée de vie maximale d'un verrou de cache.
Syntaxe:CacheLockMaxAge entier
Défaut:CacheLockMaxAge 5
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
+

La directive CacheLockMaxAge permet de + spécifier la durée de vie maximale d'un verrou de cache.

+ +

Un verrou plus ancien que cette valeur exprimée en secondes sera + ignoré, et la prochaine requête entrante sera alors en mesure de + recréer le verrou. Ce mécanisme permet d'éviter les mises à jour trop + longues initiées par des clients lents.

+ + +
+
top
+

Directive CacheLockPath

+ + + + + + + +
Description:Définit le répertoire des verrous.
Syntaxe:CacheLockPath répertoire
Défaut:CacheLockPath /tmp/mod_cache-lock
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
+

La directive CacheLockPath permet de + spécifier le répertoire dans lequel les verrous sont créés. Par + défaut, c'est le répertoire temporaire du système qui est utilisé. Les + verrous sont des fichiers vides qui n'existent que pour les URLs + périmées en cours de mise à jour, et consomment donc bien moins de + ressources que le traditionnel cache sur disque.

+ + +
+
top
+

Directive CacheMaxExpire

+ + + + + + + +
Description:La durée maximale en secondes de mise en cache d'un +document
Syntaxe:CacheMaxExpire secondes
Défaut:CacheMaxExpire 86400 (une journée)
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

La directive CacheMaxExpire permet de + spécifier le nombre maximum de secondes pendant lequel les documents + HTTP suceptibles d'être mis en cache seront conservés sans vérifier + leur contenu sur le serveur d'origine. Ce nombre de secondes + correspond donc à la durée maximale pendant laquelle un document ne + sera pas à jour. L'utilisation de cette valeur maximale est forcée, + même si le document possède une date d'expiration.

+ +
CacheMaxExpire 604800
+ + + +
+
top
+

Directive CacheMinExpire

+ + + + + + + +
Description:La durée minimale en secondes de mise en cache d'un +document
Syntaxe:CacheMinExpire secondes
Défaut:CacheMinExpire 0
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

La directive CacheMinExpire permet de + spécifier le nombre minimum de secondes pendant lequel les documents + HTTP susceptibles d'être mis en cache seront conservés sans vérifier + leur contenu sur le serveur d'origine. Elle n'est prise en compte + que dans le cas où le document ne possède aucune date d'expiration + valide.

+ +
CacheMinExpire 3600
+ + +
+
top
+

Directive CacheQuickHandler

+ + + + + + + + +
Description:Exécute le cache à partir d'un gestionnaire rapide.
Syntaxe:CacheQuickHandler on|off
Défaut:CacheQuickHandler on
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache
Compatibilité:Disponible à partir de la version 2.3.3 du serveur HTTP + Apache
+

La directive CacheQuickHandler permet de contrôler + la phase au cours de laquelle la mise en cache est effectuée.

+ +

Avec la configuration par défaut, le cache agit au cours de la + phase du gestionnaire rapide. Cette phase court-circuite la majorité + des traitements du serveur, et constitue le mode d'opération le plus + performant pour un serveur typique. Le cache + s'incruste devant le serveur, et la majorité des + traitements du serveur est court-circuitée.

+ +

Lorsque cette directive est définie à off, le cache agit comme un + gestionnaire normal, et est concerné par toutes les phases de + traitement d'une requête. Bien que ce mode soit moins performant que + le mode par défaut, il permet d'utiliser le cache dans les cas où un + traitement complet de la requête est nécessaire, comme par exemple + lorsque le contenu est soumis à autorisation.

+ +
# Exécute le cache comme un gestionnaire normal
+CacheQuickHandler off
+ + +

Lorsque le gestionnaire rapide est désactivé, l'administrateur a + aussi la possibilité de choisir avec précision le point de la chaîne + de filtrage où la mise en cache sera effectuée, en utilisant le + filtre CACHE.

+ +
# Mise en cache du contenu avant l'intervention de mod_include et
+     # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+ + +

Si le filtre CACHE est spécifié plusieurs fois, c'est la dernière + instance qui sera prise en compte.

+ + +
+
top
+

Directive CacheStaleOnError

+ + + + + + + + +
Description:Sert du contenu non à jour à la place de réponses 5xx.
Syntaxe:CacheStaleOnError on|off
Défaut:CacheStaleOnError on
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
Compatibilité:Disponible depuis la version 2.3.9 d'Apache
+

Lorsque la directive CacheStaleOnError est définie à + on, et si des données non mises à jour sont disponibles dans le cache, ce + dernier renverra ces données, plutôt qu'une éventuelle réponse 5xx en + provenance du serveur d'arrière-plan. Alors que l'en-tête Cache-Control envoyé + par les clients sera respecté, et que les clients recevront donc dans ce cas + la réponse 5xx brute à leur requête, cette réponse 5xx renvoyée au client + n'invalidera pas le contenu dans le cache.

+ +
# Sert des données non mises à jour en cas d'erreur.
+CacheStaleOnError on
+ + + +
+
top
+

Directive CacheStoreExpired

+ + + + + + + +
Description:Tente de mettre en cache les réponses que le serveur +considère comme arrivées à expiration
Syntaxe:CacheStoreExpired On|Off
Défaut:CacheStoreExpired Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

Depuis la version 2.2.4, les réponses qui sont arrivées à + expiration ne sont pas stockées dans le cache. La directive + CacheStoreExpired permet de modifier ce + comportement. Avec CacheStoreExpired On, le + serveur tente de mettre en cache la ressource si elle est périmée. + Les requêtes suivantes vont déclencher une requête si-modifié-depuis + de la part du serveur d'origine, et la réponse sera renvoyée à + partir du cache si la ressource d'arrière-plan n'a pas été modifiée.

+ +
CacheStoreExpired On
+ + + +
+
top
+

Directive CacheStoreNoStore

+ + + + + + + +
Description:Tente de mettre en cache les requêtes ou réponses dont +l'entête Cache-Control: a pour valeur no-store.
Syntaxe:CacheStoreNoStore On|Off
Défaut:CacheStoreNoStore Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

Normalement, les requêtes ou réponses dont l'en-tête + Cache-Control: no-store ne sont pas stockées dans le + cache. La directive CacheStoreNoStore permet + de modifier ce comportement. Si + CacheStoreNoStore est définie à On, le + serveur tente de mettre la ressource en cache même si elle contient + des en-têtes ayant pour valeur no-store. Les ressources + nécessitant une autorisation ne sont jamais mises en + cache.

+ + +
CacheStoreNoStore On
+ + + +

Avertissement :

+ Selon la RFC 2616, la valeur d'en-tête no-store est censée + "prévenir la suppression ou la rétention par inadvertance + d'informations sensibles (par exemple, sur des bandes de + sauvegarde)". Autrement dit, l'activation de la directive + CacheStoreNoCache pourrait provoquer le + stockage d'informations sensibles dans le cache. Vous avez donc + été prévenus. +
+ +

Voir aussi

+ +
+
top
+

Directive CacheStorePrivate

+ + + + + + + +
Description:Tente de mettre en cache des réponses que le serveur a +marquées comme privées
Syntaxe:CacheStorePrivate On|Off
Défaut:CacheStorePrivate Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache
+

Normalement, les réponse comportant un en-tête Cache-Control: + private ne seront pas stockées dans le cache. La directive + CacheStorePrivate permet de modifier ce comportement. + Si CacheStorePrivate est définie à On, le serveur + tentera de mettre la ressource en cache, même si elle + contient des en-têtes ayant pour valeur private. Les ressources + nécessitant une autorisation ne sont jamais mises en + cache.

+ + +
CacheStorePrivate On
+ + + +

Avertissement :

+ Cette directive autorise la mise en cache même si le serveur + indique que la ressource ne doit pas être mise en cache. Elle + n'est de ce fait appropriée que dans le cas d'un cache + 'privé'. +
+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html.ja.utf8 b/docs/manual/mod/mod_cache.html.ja.utf8 new file mode 100644 index 0000000..c2d8488 --- /dev/null +++ b/docs/manual/mod/mod_cache.html.ja.utf8 @@ -0,0 +1,680 @@ + + + + + +mod_cache - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_cache

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:URI をキーã«ã—ãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥
ステータス:Extension
モジュール識別å­:cache_module
ソースファイル:mod_cache.c
+

概è¦

+ +
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ Allow ã‚„ Deny ディレクティブを無視ã—ã¾ã™ã®ã§ã€ + 注æ„ã—ã¦ä½¿ã£ã¦ä¸‹ã•ã„。クライアントã®ãƒ›ã‚¹ãƒˆåã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚„環境変数を使ã£ã¦ + アクセスを制é™ã—ãŸã„コンテンツã«å¯¾ã—ã¦ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。 +
+ +

mod_cache ã¯ãƒ­ãƒ¼ã‚«ãƒ«ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„やプロキシã•ã‚ŒãŸ + コンテンツをキャッシュã™ã‚‹ãŸã‚ã«ä½¿ã‚れる RFC 2616 準拠㮠+ HTTP コンテンツキャッシュを実装ã—ã¦ã„ã¾ã™ã€‚mod_cache + ã®å‹•ä½œã«ã¯ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã‚’管ç†ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå¿…è¦ã§ã™ã€‚標準 + Apache é…布ã«ã¯äºŒã¤ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ç®¡ç†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå«ã¾ã‚Œã¦ã„ã¾ã™:

+ +
+
mod_cache_disk
+
ディスクを使用ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ç®¡ç†æ©Ÿæ§‹ã‚’実装ã—ã¦ã„ã¾ã™ã€‚
+ +
mod_mem_cache
+
メモリを使用ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ç®¡ç†æ©Ÿæ§‹ã‚’実装ã—ã¦ã„ã¾ã™ã€‚ + mod_mem_cache ã¯æ¬¡ã®äºŒã¤ã®ãƒ¢ãƒ¼ãƒ‰ã®ã©ã¡ã‚‰ã‹ã§å‹•ä½œã™ã‚‹ + よã†ã«è¨­å®šã§ãã¾ã™: オープンã•ã‚Œã¦ã„るファイル記述å­ã‚’キャッシュã™ã‚‹ãƒ¢ãƒ¼ãƒ‰ã‹ã€ + ヒープ上ã§ã®ã‚ªãƒ–ジェクトã®è‡ªä½“をキャッシュをã™ã‚‹ãƒ¢ãƒ¼ãƒ‰ã§ã™ã€‚ + mod_mem_cache ã¯ãƒ­ãƒ¼ã‚«ãƒ«ã§ç”Ÿæˆã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„や〠+ mod_proxy ㌠+ ProxyPass を使ã£ã¦è¨­å®šã•ã‚Œã¦ã„ã‚‹ + ã¨ãã® (ã¤ã¾ã‚Šãƒªãƒãƒ¼ã‚¹ãƒ—ロキシ ã§ã®) ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã® + コンテンツをキャッシュã™ã‚‹ã®ã«ä½¿ãˆã¾ã™ã€‚
+
+ +

コンテンツã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¸ã®ä¿å­˜ã¨å–得㯠URI ã«åŸºã¥ã„ãŸã‚­ãƒ¼ãŒä½¿ã‚ã‚Œã¾ã™ã€‚ + アクセスä¿è­·ã®ã‹ã‘られã¦ã„るコンテンツã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¾ã›ã‚“。

+

より詳細ãªè§£èª¬ã‚„例ã«ã¤ã„ã¦ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ + ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+
+ +
top
+
top
+
+

サンプル設定

+

Sample httpd.conf

+ #
+ # Sample Cache Configuration
+ #
+ LoadModule cache_module modules/mod_cache.so
+
+ <IfModule mod_cache.c>
+ + #LoadModule cache_disk_module modules/mod_cache_disk.so
+ # If you want to use mod_cache_disk instead of mod_mem_cache,
+ # uncomment the line above and comment out the LoadModule line below.
+ <IfModule mod_cache_disk.c>
+ + CacheRoot c:/cacheroot
+ CacheEnable disk /
+ CacheDirLevels 5
+ CacheDirLength 3
+
+ </IfModule>
+
+ LoadModule mem_cache_module modules/mod_mem_cache.so
+ <IfModule mod_mem_cache.c>
+ + CacheEnable mem /
+ MCacheSize 4096
+ MCacheMaxObjectCount 100
+ MCacheMinObjectSize 1
+ MCacheMaxObjectSize 2048
+
+ </IfModule>
+
+ # When acting as a proxy, don't cache the list of security updates
+ CacheDisable http://security.update.server/update-list/
+
+ </IfModule> +

+
+
top
+

CacheDefaultExpire ディレクティブ

+ + + + + + + +
説明:期日ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’キャッシュã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æœŸé–“
構文:CacheDefaultExpire seconds
デフォルト:CacheDefaultExpire 3600 (1時間)
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

CacheDefaultExpire ディレクティブã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã« + æœ‰åŠ¹æœŸé™ (expiry) や最終修正時刻 (last-modified) ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„å ´åˆã® + デフォルトã®æ™‚間を指定ã—ã¾ã™ã€‚CacheMaxExpire + ディレクティブã§æŒ‡å®šã•ã‚ŒãŸå€¤ã¯ã“ã®è¨­å®šã‚’上書ãã—ã¾ã›ã‚“。

+ +

+ CacheDefaultExpire 86400 +

+ +
+
top
+

CacheDetailHeader ディレクティブ

+ + + + + + + + +
説明:Add an X-Cache-Detail header to the response.
構文:CacheDetailHeader on|off
デフォルト:CacheDetailHeader off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_cache
互æ›æ€§:Available in Apache 2.3.9 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheDisable ディレクティブ

+ + + + + + +
説明:特定㮠URL をキャッシュã—ãªã„
構文:CacheDisable url-string
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

CacheDisable ディレクティブ㧠+ mod_cache モジュール㌠url-string 以下㮠+ URL をキャッシュã—ãªã„よã†ã«ã—ã¾ã™ã€‚

+ +

例

+ CacheDisable /local_files +

+ +
+
top
+

CacheEnable ディレクティブ

+ + + + + + +
説明:指定ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ç®¡ç†æ–¹å¼ã‚’使ã£ã¦ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’有効ã«ã™ã‚‹
構文:CacheEnable cache_type url-string
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

CacheEnable ディレクティブ㧠mod_cache + モジュール㌠url-string 以下㮠URL をキャッシュã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚ + キャッシュストレージ管ç†æ–¹å¼ã¯ cache_type 引数ã§æŒ‡å®šã—ã¾ã™ã€‚ + cache_type mem ã§ã€ + mod_mem_cache ã§å®Ÿè£…ã•ã‚Œã¦ã„るメモリを使ã£ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ + 管ç†æ–¹å¼ã‚’使ã†ã‚ˆã†ã« mod_cache ã«æŒ‡ç¤ºã—ã¾ã™ã€‚ + cache_type disk ã§ã€ + mod_cache_disk ã§å®Ÿè£…ã•ã‚Œã¦ã„るディスクを使ã£ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ + 管ç†ã‚’使ã†ã‚ˆã†ã« mod_cache ã«æŒ‡ç¤ºã—ã¾ã™ã€‚ + cache_type fd 㯠mod_cache ã« + mod_mem_cache ã«ã‚ˆã‚Šå®Ÿè£…ã•ã‚Œã¦ã„るファイル記述å­ã® + キャッシュを使ã†ã‚ˆã†ã«æŒ‡ç¤ºã—ã¾ã™ã€‚

+ +

(下ã®ä¾‹ã®ã‚ˆã†ã«) CacheEnable ディレクティブ㮠+ URL 空間ãŒé‡è¤‡ã—ã¦ã„ã‚‹ã¨ãã¯ã€è©²å½“ã™ã‚‹ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸æ–¹å¼ã‚’é †ã«è©¦ã—ã¦ã€ + 実際ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å‡¦ç†ãŒã§ãã‚‹ã¨ã€ãã®æ–¹å¼ã§å‡¦ç†ã—ã¾ã™ã€‚ + ストレージ管ç†æ–¹å¼ãŒå®Ÿè¡Œã•ã‚Œã‚‹é †ç•ªã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® + CacheEnable ã®é †ç•ªã«ã‚ˆã‚Šæ±ºå®šã•ã‚Œã¾ã™ã€‚

+ +

+ CacheEnable mem /manual
+ CacheEnable fd /images
+ CacheEnable disk /
+

+ +

フォワードプロクシサーãƒã¨ã—ã¦å‹•ä½œã™ã‚‹å ´åˆã€ + url-string を使ã£ã¦ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’有効ã«ã™ã‚‹ãƒªãƒ¢ãƒ¼ãƒˆã‚µã‚¤ãƒˆã‚„ + プロクシプロトコルを指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

+ # Cache proxied url's
+ CacheEnable disk /

+ # Cache FTP-proxied url's
+ CacheEnable disk ftp://

+ # Cache content from www.apache.org
+ CacheEnable disk http://www.apache.org/
+

+ + +
+
top
+

CacheHeader ディレクティブ

+ + + + + + + + +
説明:Add an X-Cache header to the response.
構文:CacheHeader on|off
デフォルト:CacheHeader off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_cache
互æ›æ€§:Available in Apache 2.3.9 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheIgnoreCacheControl ディレクティブ

+ + + + + + + +
説明:キャッシュã•ã‚Œã¦ã„るコンテンツを返ã•ãªã„よã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ +リクエストã•ã‚Œã¦ã‚‚無視ã™ã‚‹
構文:CacheIgnoreCacheControl On|Off
デフォルト:CacheIgnoreCacheControl Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

Cache-Control: no-cache ヘッダや Pragma: no-store ヘッダã®ã‚るリクエスト㫠+ 対ã—ã¦ã¯ã€é€šå¸¸ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’使ã„ã¾ã›ã‚“。CacheIgnoreCacheControl + ディレクティブを使ã†ã¨ã€ã“ã®å‹•ä½œã‚’上書ãã§ãã¾ã™ã€‚ + CacheIgnoreCacheControl On ã¨ã™ã‚‹ã¨ã€ + リクエスト㫠no-cache ã¨ã„ã†å€¤ãŒã‚ã£ã¦ã‚‚ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’使ã£ã¦ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ + è¿”ã™ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚èªè¨¼ã‚’å¿…è¦ã¨ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯æ±ºã—㦠+ キャッシュã•ã‚Œã¾ã›ã‚“。

+ +

+ CacheIgnoreCacheControl On +

+ +

警告

+ ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã†ã¨ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆå–得時ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’使ã‚ãªã„よã†ã« + クライアントãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã—ã¦ã„ã‚‹ã«ã‚‚ã‹ã‹ã‚らãšã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’ + 使ã†ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ãã®çµæžœã€ + å¤ã„コンテンツãŒé€ã‚‰ã‚Œç¶šã‘ã‚‹ã“ã¨ã«ãªã£ã¦ã—ã¾ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 +
+ +

å‚ç…§

+ +
+
top
+

CacheIgnoreHeaders ディレクティブ

+ + + + + + + +
説明:指定ã•ã‚ŒãŸ HTTP ヘッダをキャッシュã«ä¿å­˜ã—ãªã„。 +
構文:CacheIgnoreHeaders header-string [header-string] ...
デフォルト:CacheIgnoreHeaders None
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

RFC 2616 ã«ã‚ˆã‚‹ã¨ã€hop-by-hop HTTP ヘッダã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã«ã¯ä¿ç®¡ã•ã‚Œã¾ã›ã‚“。 + 以下ã®ãƒ˜ãƒƒãƒ€ã¯ hop-by-hop ヘッダã«è©²å½“ã—ã¾ã™ã®ã§ã€ + CacheIgnoreHeaders + ã®è¨­å®šã«é–¢ä¿‚ãªãキャッシュã«ã¯ä¿ç®¡ã•ã‚Œã¾ã›ã‚“:

+
    +
  • Connection
  • +
  • Keep-Alive
  • +
  • Proxy-Authenticate
  • +
  • Proxy-Authorization
  • +
  • TE
  • +
  • Trailers
  • +
  • Transfer-Encoding
  • +
  • Upgrade
  • +
+ +

CacheIgnoreHeaders 㧠+ キャッシュã«ä¿ç®¡ã—ãªã„追加㮠HTTP ヘッダを指定ã—ã¾ã™ã€‚ + 例ãˆã°ã€ã‚¯ãƒƒã‚­ãƒ¼ã‚’キャッシュã«ä¿ç®¡ã—ãªã„よã†ã«ã—ãŸæ–¹ãŒã‚ˆã„å ´åˆã‚‚ + ã‚ã‚‹ã§ã—ょã†ã€‚

+ +

CacheIgnoreHeaders ã®å¼•æ•°ã¯ã€ + キャッシュã«ä¿ç®¡ã—ãªã„ HTTP ヘッダを空白区切りã«ã—ãŸãƒªã‚¹ãƒˆå½¢å¼ã§ã™ã€‚ + キャッシュã«ä¿ç®¡ã—ãªã„ヘッダ㌠hop-by-hop ヘッダã ã‘ã®å ´åˆ + (RFC 2616 準拠ã®å‹•ä½œã®ã¨ã) ã¯ã€ + CacheIgnoreHeaders ã‚’ None + ã«è¨­å®šã§ãã¾ã™ã€‚

+ +

例 1

+ CacheIgnoreHeaders Set-Cookie +

+ +

例 2

+ CacheIgnoreHeaders None +

+ +

警告:

+ Expires ã®ã‚ˆã†ãªé©åˆ‡ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ç®¡ç†ã®ãŸã‚ã«å¿…è¦ãª + ヘッダ㌠CacheIgnoreHeaders ã®è¨­å®šã«ã‚ˆã‚Š + ä¿ç®¡ã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€mod_cache ã®å‹•ä½œã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“。 +
+ +
+
top
+

CacheIgnoreNoLastMod ディレクティブ

+ + + + + + + +
説明:応答㫠Last Modified ãŒç„¡ãã¦ã‚‚æ°—ã«ã—ãªã„よã†ã«ã™ã‚‹
構文:CacheIgnoreNoLastMod On|Off
デフォルト:CacheIgnoreNoLastMod Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

通常ã€Last-Modified ã«ã‚ˆã‚‹æœ€çµ‚修正時刻ã®ç„¡ã„ドキュメントã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ + ã•ã‚Œã¾ã›ã‚“。(例ãˆã° mod_include ã«ã‚ˆã‚‹å‡¦ç†ã®ã¨ããªã©ã«) + Last-Modified 時刻ãŒæ¶ˆåŽ»ã•ã‚ŒãŸã‚Šã€ãã‚‚ãも最åˆã‹ã‚‰æä¾›ã•ã‚Œã¦ã„ãªã„ + 状æ³ãŒã‚ã‚Šã¾ã™ã€‚CacheIgnoreNoLastMod + ディレクティブを使ã†ã¨ã€Last-Modified 日時ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ + ドキュメントã§ã‚‚キャッシュã™ã‚‹ã‚ˆã†ã«æŒ‡å®šã§ãã¾ã™ã€‚ドキュメント㫠+ 最終修正時刻 (Last-Modified) æœ‰åŠ¹æœŸé™ (expiry) ãŒãªã„å ´åˆã¯ã€æœ‰åŠ¹æœŸé™ã® + 生æˆã« CacheDefaultExpire ãŒä½¿ã‚ã‚Œã¾ã™ã€‚

+ +

+ CacheIgnoreNoLastMod On +

+ +
+
top
+

CacheIgnoreQueryString ディレクティブ

+ + + + + + + +
説明:キャッシュ時ã«ã‚¯ã‚¨ãƒªãƒ¼ã‚¹ãƒˆãƒªãƒ³ã‚°ã‚’無視ã™ã‚‹
構文:CacheIgnoreQueryString On|Off
デフォルト:CacheIgnoreQueryString Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

クエリーストリング付ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¤ã„ã¦ã¯é€šå¸¸ã€ã‚¯ã‚¨ãƒªãƒ¼ã‚¹ãƒˆãƒªãƒ³ã‚°ã”ã¨ã« + 個別ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¾ã™ã€‚ + キャッシュã•ã‚Œã‚‹ã®ã¯æœ‰åŠ¹æœŸé™ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã®ã¿ã§ã€ã“れ㯠+ RFC 2616/13.9 ã«å¾“ã£ãŸã‚‚ã®ã§ã™ã€‚ + CacheIgnoreQueryString ディレクティブを使ã†ã¨ + 有効期é™ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªãã¦ã‚‚キャッシュã—ã¾ã™ã—〠+ クエリーストリングãŒç•°ãªã£ã¦ã„ã¦ã‚‚キャッシュを返ã—ã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å ´åˆã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ã®å´é¢ã‹ã‚‰ã¿ã‚‹ã¨ã€ + ã‚ãŸã‹ã‚‚リクエストã«ã‚¯ã‚¨ãƒªãƒ¼ã‚¹ãƒˆãƒªãƒ³ã‚°ãŒã¤ã„ã¦ã„ãªã‹ã£ãŸã‹ã®ã‚ˆã†ã«æ‰±ã„ã¾ã™ã€‚

+ +

+ CacheIgnoreQueryString On +

+ + +
+
top
+

CacheIgnoreURLSessionIdentifiers ディレクティブ

+ + + + + + + +
説明:Ignore defined session identifiers encoded in the URL when caching +
構文:CacheIgnoreURLSessionIdentifiers identifier [identifier] ...
デフォルト:CacheIgnoreURLSessionIdentifiers None
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheKeyBaseURL ディレクティブ

+ + + + + + + +
説明:Override the base URL of reverse proxied cache keys.
構文:CacheKeyBaseURL URL
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
互æ›æ€§:Available in Apache 2.3.9 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheLastModifiedFactor ディレクティブ

+ + + + + + + +
説明:LastModified ã®æ—¥ä»˜ã«åŸºã¥ã„ã¦æœ‰åŠ¹æœŸé™ (expiry) +を計算ã™ã‚‹ãŸã‚ã®é‡ã¿ã‚’指定ã™ã‚‹ +
構文:CacheLastModifiedFactor float
デフォルト:CacheLastModifiedFactor 0.1
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

ドキュメント㫠Last-Modified ã®æ—¥ä»˜ãŒç„¡ã„ã‘ã‚Œã©ã‚‚æœ‰åŠ¹æœŸé™ (expiry) + ã®æ—¥ä»˜ãŒã‚ã‚‹ã¨ã„ã†ã¨ãã«ã€æœ‰åŠ¹æœŸé™ã‚’最終修正時刻ã‹ã‚‰ã®çµŒéŽæ™‚é–“ã¨ã—㦠+ 計算ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚有効期é™ã‚’次ã®è¨ˆç®—å¼ã«å¾“ã£ã¦ç”Ÿæˆã™ã‚‹ã®ã§ã™ãŒã€ + ãã®ã¨ãã«ä½¿ã‚れる factor ã‚’ + CacheLastModifiedFactor ディレクティブã§æŒ‡å®šã—ã¾ã™ã€‚ +

+ +

expiry-period = time-since-last-modified-date * factor + expiry-date = current-date + expiry-period

+ +

例ãˆã°ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒ 10 時間å‰ã«æœ€å¾Œã«ä¿®æ­£ã•ã‚Œã¦ã„ã¦ã€ + factor ㌠0.1 ã§ã‚ã‚Œã°ã€æœŸæ—¥ã¯ 10*0.1 = 1 時間㫠+ 設定ã•ã‚Œã¾ã™ã€‚ç¾åœ¨æ™‚刻㌠3:00pm ã§ã‚ã‚Œã°ã€è¨ˆç®—ã•ã‚ŒãŸæœŸæ—¥ã¯ + 3:00pm + 1hour = 4:00pm ã«ãªã‚Šã¾ã™ã€‚

+ +

期日㌠CacheMaxExpire ã§è¨­å®šã•ã‚Œã¦ã„る値 + より大ãããªã£ã¦ã—ã¾ã£ã¦ã„ã‚‹å ´åˆã¯ã€CacheMaxExpire + ã®è¨­å®šå€¤ãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚

+ +

+ CacheLastModifiedFactor 0.5 +

+ +
+
top
+

CacheLock ディレクティブ

+ + + + + + + + +
説明:Enable the thundering herd lock.
構文:CacheLock on|off
デフォルト:CacheLock off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
互æ›æ€§:Available in Apache 2.2.15 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheLockMaxAge ディレクティブ

+ + + + + + + +
説明:Set the maximum possible age of a cache lock.
構文:CacheLockMaxAge integer
デフォルト:CacheLockMaxAge 5
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheLockPath ディレクティブ

+ + + + + + + +
説明:Set the lock path directory.
構文:CacheLockPath directory
デフォルト:CacheLockPath /tmp/mod_cache-lock
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheMaxExpire ディレクティブ

+ + + + + + + +
説明:ドキュメントをキャッシュã™ã‚‹æœ€å¤§æ™‚間を秒数ã§è¡¨ã—ãŸã‚‚ã®
構文:CacheMaxExpire seconds
デフォルト:CacheMaxExpire 86400 (一日)
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

CacheMaxExpire ディレクティブã¯ã€ + キャッシュã™ã‚‹ HTTP ドキュメントをã€å…ƒã®ã‚µãƒ¼ãƒã«å•ã„åˆã‚ã›ãªã„ã¾ã¾æœ€å¤§ä½•ç§’ + ä¿æŒã—ã¦ã‚‚よã„ã‹ã‚’指定ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯æœ€å¤§ã§ã“ã®ç§’æ•°é–“ã¶ã‚“å¤ã + ãªã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ã“ã®æœ€å¤§å€¤ã¯ã€(訳注: レスãƒãƒ³ã‚¹ä¸­ã§)ドキュメントã¨å…±ã« + ドキュメントã®æœŸæ—¥ãŒæä¾›ã•ã‚Œã¦ã„ã‚‹å ´åˆã§ã‚‚é©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

+ CacheMaxExpire 604800 +

+ +
+
top
+

CacheMinExpire ディレクティブ

+ + + + + + + +
説明:ドキュメントをキャッシュã™ã‚‹æœ€å°ç§’æ•°
構文:CacheMinExpire seconds
デフォルト:CacheMinExpire 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

キャッシュå¯èƒ½ãª HTTP ドキュメントãŒã‚ã£ãŸã¨ãã«ã€ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã«å•ã„åˆã‚ã›ã‚‹ã“ã¨ãªã + ä¿æŒã™ã‚‹ç§’æ•°ã®æœ€å°å€¤ã¯ CacheMinExpire ディレクティブを使ã£ã¦è¨­å®šã—ã¾ã™ã€‚ + ã“ã®å€¤ã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«å¦¥å½“ãªæœ‰åŠ¹æœŸé™ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã‹ã£ãŸå ´åˆã«ã®ã¿ä½¿ã‚ã‚Œã¾ã™ã€‚

+ + +

+ CacheMinExpire 3600 +

+ +
+
top
+

CacheQuickHandler ディレクティブ

+ + + + + + + + +
説明:Run the cache from the quick handler.
構文:CacheQuickHandler on|off
デフォルト:CacheQuickHandler on
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
互æ›æ€§:Apache HTTP Server 2.3.3 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheStaleOnError ディレクティブ

+ + + + + + + + +
説明:Serve stale content in place of 5xx responses.
構文:CacheStaleOnError on|off
デフォルト:CacheStaleOnError on
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_cache
互æ›æ€§:Available in Apache 2.3.9 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheStoreExpired ディレクティブ

+ + + + + + + +
説明:Attempt to cache responses that the server reports as expired
構文:CacheStoreExpired On|Off
デフォルト:CacheStoreExpired Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_cache

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CacheStoreNoStore ディレクティブ

+ + + + + + + +
説明:no-store ã¨æŒ‡å®šã•ã‚Œã¦ã„るレスãƒãƒ³ã‚¹ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’試ã¿ã‚‹ã€‚
構文:CacheStoreNoStore On|Off
デフォルト:CacheStoreNoStore Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

通常 Cache-Control: no-store ヘッダã®ã¤ã„ã¦ã„るレスãƒãƒ³ã‚¹ã¯ + キャッシュã•ã‚Œã¾ã›ã‚“。CacheStoreNoCache + ディレクティブã§ã“ã®æŒ™å‹•ã‚’上書ãã§ãã¾ã™ã€‚ + CacheStoreNoCache On 㧠no-store ヘッダã®ã¤ã„ã¦ã„ã‚‹ + リソースã«å¯¾ã—ã¦ã‚‚キャッシュを試ã¿ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + ãŸã ã—èªè¨¼ã®æ±‚ã‚られるリソース㯠決ã—㦠キャッシュã•ã‚Œã¾ã›ã‚“。

+ +

+ CacheStoreNoStore On +

+ +

警告:

+ RFC 2616 ã«è¨˜è¼‰ã•ã‚Œã¦ã„るよã†ã« no-store ディレクティブã¯ã€ + "ä¸æ³¨æ„ã«ã‚ˆã‚‹æ©Ÿå¯†æƒ…å ±ã®æ¼æ´©ã‚„残留 (ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—テープ等) を防ã" + 目的ã§ä½¿ã‚ã‚Œã¾ã™ãŒã€ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ + 機密情報をä¿æŒã™ã‚‹ã“ã¨ã«ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚ + ã§ã™ã®ã§ã€ã“ã“ã§è­¦å‘Šã—ã¦ãŠãã¾ã™ã€‚ +
+ +

å‚ç…§

+ +
+
top
+

CacheStorePrivate ディレクティブ

+ + + + + + + +
説明:private ã¨æŒ‡å®šã•ã‚Œã¦ã„るレスãƒãƒ³ã‚¹ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’試ã¿ã‚‹ã€‚
構文:CacheStorePrivate On|Off
デフォルト:CacheStorePrivate Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache
+

通常 Cache-Control: private ヘッダã®ã¤ã„ã¦ã„るレスãƒãƒ³ã‚¹ã¯ + キャッシュã•ã‚Œã¾ã›ã‚“。CacheStorePrivate + ディレクティブã§ã“ã®æŒ™å‹•ã‚’上書ãã§ãã¾ã™ã€‚ + CacheStorePrivate On 㧠private ヘッダã®ã¤ã„ã¦ã„ã‚‹ + リソースã«å¯¾ã—ã¦ã‚‚キャッシュを試ã¿ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + ãŸã ã—èªè¨¼ã®æ±‚ã‚られるリソース㯠決ã—㦠キャッシュã•ã‚Œã¾ã›ã‚“。

+ +

+ CacheStorePrivate On +

+ +

警告:

+ 上æµã‚µãƒ¼ãƒãŒã‚­ãƒ£ãƒƒã‚·ãƒ¥ã—ãªã„よã†ã«æŒ‡å®šã—ã¦ãã¦ã‚‚〠+ ãれを無視ã—ã¦ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + 望ã¾ã—ã„挙動ã«ãªã‚‹ã®ã¯ã€æœ¬å½“ã« 'private' ãªã‚­ãƒ£ãƒƒã‚·ãƒ¥ã«ã¤ã„ã¦ã®ã¿ã§ã—ょã†ã€‚ +
+ +

å‚ç…§

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html.ko.euc-kr b/docs/manual/mod/mod_cache.html.ko.euc-kr new file mode 100644 index 0000000..d945082 --- /dev/null +++ b/docs/manual/mod/mod_cache.html.ko.euc-kr @@ -0,0 +1,532 @@ + + + + + +mod_cache - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_cache

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:URI¸¦ Å°·Î »ç¿ëÇÏ¿© ³»¿ëÀ» ij½¬ÇÑ´Ù.
»óÅÂ:Experimental
¸ðµâ¸í:cache_module
¼Ò½ºÆÄÀÏ:mod_cache.c
+

¿ä¾à

+ +
+ ÀÌ ¸ðµâÀº ½ÇÇèÀûÀÎ »óÅÂÀÌ´Ù. ¹®¼­´Â ¾ÆÁ÷ ÀÛ¾÷ÁßÀÌ´Ù... +
+ +

mod_cache´Â °°Àº ÄÄÇ»ÅÍ¿¡ ÀÖ´Â ³»¿ëÀ̳ª + ÇÁ·Ï½ÃµÈ ³»¿ëÀ» ij½¬ÇÒ ¼ö ÀÖ´Â RFC 2616 + ȣȯ HTTP ³»¿ëij½¬¸¦ ±¸ÇöÇÑ´Ù. mod_cache¸¦ + »ç¿ëÇÏ·Á¸é ÀúÀå°ü¸®¸ðµâ(storage management module)ÀÌ ÇÊ¿äÇÏ´Ù. + ±âº» ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡´Â µÎ°¡Áö ÀúÀå°ü¸®¸ðµâÀÌ ÀÖ´Ù:

+
+
mod_cache_disk
+
´Â µð½ºÅ©±â¹Ý ÀúÀå°ü¸®ÀÚ¸¦ ±¸ÇöÇÑ´Ù.
+ +
mod_mem_cache
+
´Â ¸Þ¸ð¸®±â¹Ý ÀúÀå°ü¸®ÀÚ¸¦ ±¸ÇöÇÑ´Ù. + mod_mem_cache´Â ÆÄÀϱâ¼úÀÚ¸¦ ij½¬Çϰųª + Èü(heap) °ø°£¿¡ °´Ã¼¸¦ ij½¬ÇÏ´Â µÎ°¡Áö ¹æ½ÄÁß ÇÑ°¡Áö ¹æ¹ýÀ¸·Î + µ¿ÀÛÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. mod_mem_cache´Â + ÀÚ½ÅÀÌ »ý¼ºÇÑ ³»¿ëÀ» ij½¬Çϰųª, (¿ªÇÁ·Ï½Ã(reverse proxy)·Î + ¾Ë·ÁÁø) ProxyPass¸¦ + »ç¿ëÇÏ¿© mod_proxy¸¦ À§ÇØ µÞ´Ü ¼­¹ö³»¿ëÀ» + ij½¬ÇÒ ¼ö ÀÖ´Ù.
+
+ +

³»¿ëÀ» URI¸¦ Åä´ë·Î ¸¸µç Å°·Î ij½¬¿¡ ÀúÀåÇÏ°í °¡Á®¿Â´Ù. + Á¢±Ùº¸È£°¡ µÈ ³»¿ëÀº ij½¬ÇÏÁö¾Ê´Â´Ù.

+
+ +
top
+
top
+
+

¼³Á¤¿¹

+

Sample httpd.conf

+ #
+ # ¿¹Á¦ ij½¬ ¼³Á¤
+ #
+ LoadModule cache_module modules/mod_cache.so
+
+ <IfModule mod_cache.c>
+ + #LoadModule cache_disk_module modules/mod_cache_disk.so
+ <IfModule mod_cache_disk.c>
+ + CacheRoot c:/cacheroot
+ CacheSize 256
+ CacheEnable disk /
+ CacheDirLevels 5
+ CacheDirLength 3
+
+ </IfModule>
+
+ LoadModule mem_cache_module modules/mod_mem_cache.so
+ <IfModule mod_mem_cache.c>
+ + CacheEnable mem /
+ MCacheSize 4096
+ MCacheMaxObjectCount 100
+ MCacheMinObjectSize 1
+ MCacheMaxObjectSize 2048
+
+ </IfModule>
+
+ </IfModule> +

+
+
top
+

CacheDefaultExpire Áö½Ã¾î

+ + + + + + + +
¼³¸í:¸¸±â½Ã°£À» ÁöÁ¤ÇÏÁö¾ÊÀº ¹®¼­¸¦ ij½¬ÇÒ ±âº» ±â°£.
¹®¹ý:CacheDefaultExpire seconds
±âº»°ª:CacheDefaultExpire 3600 (one hour)
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

CacheDefaultExpire Áö½Ã¾î´Â ¹®¼­ÀÇ + ¸¸±â½Ã°£°ú ÃÖ±Ù¼öÁ¤½Ã°£ÀÌ ¾ø´Â °æ¿ì ¹®¼­¸¦ ij½¬ÇÒ ÃÊ´ÜÀ§ + ±âº» ½Ã°£À» ÁöÁ¤ÇÑ´Ù. CacheMaxExpire·Î + ÁöÁ¤ÇÑ °ªÀÌ ÀÌ ¼³Á¤À» ¹«½ÃÇÏÁö ¾Ê´Â´Ù.

+ +

+ CacheDefaultExpire 86400 +

+ +
+
top
+

CacheDetailHeader Áö½Ã¾î

+ + + + + + +
¼³¸í:Add an X-Cache-Detail header to the response.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheDisable Áö½Ã¾î

+ + + + + + +
¼³¸í:ƯÁ¤ URLÀ» ij½¬ÇÏÁö ¾Ê´Â´Ù
¹®¹ý:CacheDisable url-string
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

CacheDisable Áö½Ã¾î¸¦ »ç¿ëÇϸé + mod_cache°¡ url-string ÀÌÇÏÀÇ + urlµéÀ» ij½¬ÇÏÁö ¾Ê´Â´Ù.

+ +

¿¹Á¦

+ CacheDisable /local_files +

+ +
+
top
+

CacheEnable Áö½Ã¾î

+ + + + + + +
¼³¸í:ÁöÁ¤ÇÑ ÀúÀå°ü¸®ÀÚ¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇÑ URLÀ» ij½¬ÇÑ´Ù
¹®¹ý:CacheEnable cache_type url-string
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

CacheEnable Áö½Ã¾î¸¦ »ç¿ëÇϸé + mod_cache°¡ url-string ÀÌÇÏ + urlµéÀ» ij½¬ÇÑ´Ù. ij½¬ ÀúÀå°ü¸®ÀÚ´Â cache_type + ¾Æ±Ô¸ÕÆ®·Î ÁöÁ¤ÇÑ´Ù. cache_type memÀº + mod_mem_cache°¡ ±¸ÇöÇÏ´Â ¸Þ¸ð¸®±â¹Ý + ÀúÀå°ü¸®ÀÚ¸¦ »ç¿ëÇÑ´Ù. cache_type disk´Â + mod_cache_disk°¡ ±¸ÇöÇÏ´Â µð½ºÅ©±â¹Ý + ÀúÀå°ü¸®ÀÚ¸¦ »ç¿ëÇÑ´Ù. cache_type fd´Â + mod_mem_cache°¡ ±¸ÇöÇÏ´Â ÆÄÀϱâ¼úÀÚ Ä³½¬¸¦ + »ç¿ëÇÑ´Ù.

+

(¾Æ·¡ ¿¹¿Í °°ÀÌ) URL °ø°£ÀÌ ´Ù¸¥ + CacheEnable Áö½Ã¾î¿Í °ãÄ¡¸é ½ÇÁ¦·Î + ÇÑ ÀúÀå°ü¸®ÀÚ°¡ ¿äûÀ» ó¸®ÇÒ¶§±îÁö µÎ ÀúÀå°ü¸®ÀÚ¸¦ ¸ðµÎ + ½ÇÇàÇÑ´Ù. ¼³Á¤ÆÄÀÏ¿¡¼­ CacheEnable + Áö½Ã¾îÀÇ ¼ø¼­´ë·Î ÀúÀå°ü¸®ÀÚ°¡ ½ÇÇàµÈ´Ù.

+ +

+ CacheEnable mem /manual
+ CacheEnable fd /images
+ CacheEnable disk /
+

+ +
+
top
+

CacheHeader Áö½Ã¾î

+ + + + + + +
¼³¸í:Add an X-Cache header to the response.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheIgnoreCacheControl Áö½Ã¾î

+ + + + + + + +
¼³¸í:Ŭ¶óÀ̾ðÆ®°¡ ij½¬ÇÏÁö¾Ê´Â ³»¿ëÀ» ¿äûÇÔÀ» ¹«½ÃÇÑ´Ù.
¹®¹ý:CacheIgnoreCacheControl On|Off
±âº»°ª:CacheIgnoreCacheControl Off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

º¸Åë no-cache³ª no-store Çì´õ°ªÀ» °¡Áø ¹®¼­´Â ij½¬¿¡ + ÀúÀåÇÏÁö¾Ê´Â´Ù. CacheIgnoreCacheControl + Áö½Ã¾î´Â ÀÌ·± ÇൿÀ» º¯°æÇÑ´Ù. + CacheIgnoreCacheControl OnÀ» »ç¿ëÇϸé + ¼­¹ö´Â ¹®¼­¿¡ no-cache³ª no-store Çì´õ°ªÀÌ À־ ¹®¼­¸¦ + ij½¬ÇÑ´Ù. ÀÎÁõÀÌ ÇÊ¿äÇÑ ¹®¼­´Â Àý´ë·Î ij½¬ÇÏÁö + ¾Ê´Â´Ù.

+ +

+ CacheIgnoreCacheControl On +

+ +
+
top
+

CacheIgnoreHeaders Áö½Ã¾î

+ + + + + + + +
¼³¸í:ij½¬¿¡ ÁöÁ¤ÇÑ HTTP Çì´õ(µé)¸¦ ÀúÀåÇÏÁö ¾Ê´Â´Ù +
¹®¹ý:CacheIgnoreHeaders header-string [header-string] ...
±âº»°ª:CacheIgnoreHeaders None
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

RFC 2616¿¡ µû¸£¸é È©°£(hop-by-hop) HTTP Çì´õ´Â ij½¬¿¡ + ÀúÀåÇÏÁö ¾Ê´Â´Ù. È©°£ HTTP Çì´õ¿¡´Â ´ÙÀ½°ú °°Àº °ÍÀÌ ÀÖÀ¸¸ç, + CacheIgnoreHeaders ¼³Á¤°ú °ü°è¾øÀÌ + ¾î¶² °æ¿ì¿¡µµ ij½¬¿¡ ÀúÀåµÇÁö ¾Ê´Â´Ù.

+ +
    +
  • Connection
  • +
  • Keep-Alive
  • +
  • Proxy-Authenticate
  • +
  • Proxy-Authorization
  • +
  • TE
  • +
  • Trailers
  • +
  • Transfer-Encoding
  • +
  • Upgrade
  • +
+ +

CacheIgnoreHeaders´Â ij½¬¿¡ ÀúÀåÇϸé + ¾ÈµÇ´Â HTTP Çì´õ¸¦ Ãß°¡·Î ÁöÁ¤ÇÑ´Ù. ¿¹¸¦ µé¾î, ÄíÅ°(cookie)¸¦ + ij½¬¿¡ ÀúÀåÇÏ¸é ¾ÈµÇ´Â °æ¿ì°¡ ÀÖ´Ù.

+ +

CacheIgnoreHeaders´Â ij½¬¿¡ ÀúÀåÇÏÁö + ¾ÊÀ» HTTP Çì´õµéÀ» °ø¹éÀ¸·Î ±¸ºÐÇÑ ¸ñ·ÏÀ» ¹Þ´Â´Ù. (RFC 2616¿¡ + µû¶ó) ij½¬¿¡ È©°£ Çì´õ¸¸ ÀúÀåÇÏÁö ¾ÊÀ¸·Á¸é, + CacheIgnoreHeaders¸¦ + NoneÀ¸·Î ¼³Á¤ÇÑ´Ù.

+ +

¿¹Á¦ 1

+ CacheIgnoreHeaders Set-Cookie +

+ +

¿¹Á¦ 2

+ CacheIgnoreHeaders None +

+ +

°æ°í:

+ CacheIgnoreHeaders ¼³Á¤À» »ç¿ëÇÏ¿© + Expires °°ÀÌ Ä³½¬ °ü¸®¿¡ ÇÊ¿äÇÑ Çì´õ¸¦ ÀúÀåÇÏÁö + ¾ÊÀ¸¸é, mod_cache´Â ºñÁ¤»óÀûÀ¸·Î µ¿ÀÛÇÑ´Ù. +
+ +
+
top
+

CacheIgnoreNoLastMod Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÀÀ´ä¿¡ Last Modified Çì´õ°¡ ¾ø´Ù´Â »ç½ÇÀ» ¹«½ÃÇÑ´Ù.
¹®¹ý:CacheIgnoreNoLastMod On|Off
±âº»°ª:CacheIgnoreNoLastMod Off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

º¸Åë ÃÖ±Ù¼öÁ¤ÀÏÀÌ ¾ø´Â ¹®¼­´Â ij½¬ÇÏÁö ¾Ê´Â´Ù. ¾î¶² °æ¿ì + ÃÖ±Ù¼öÁ¤ÀÏÀ» (¿¹¸¦ µé¾î mod_include ó¸®Áß¿¡) + »©°Å³ª óÀ½ºÎÅÍ ¾ø¾úÀ» ¼ö°¡ ÀÖ´Ù. + CacheIgnoreNoLastMod Áö½Ã¾î´Â ÃÖ±Ù¼öÁ¤ÀÏÀÌ + ¾ø´Â ¹®¼­µµ ¹Ýµå½Ã ij½¬Çϵµ·Ï ¸¸µç´Ù. ¹®¼­¿¡ ÃÖ±Ù¼öÁ¤ÀÏ°ú + ¸¸±â½Ã°£ÀÌ ¾ø´Â °æ¿ì CacheDefaultExpire + Áö½Ã¾î·Î ÁöÁ¤ÇÑ °ªÀ» ¸¸±â½Ã°£À¸·Î »ç¿ëÇÑ´Ù.

+ +

+ CacheIgnoreNoLastMod On +

+ +
+
top
+

CacheIgnoreQueryString Áö½Ã¾î

+ + + + + + +
¼³¸í:Ignore query string when caching
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheIgnoreURLSessionIdentifiers Áö½Ã¾î

+ + + + + + +
¼³¸í:Ignore defined session identifiers encoded in the URL when caching +
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheKeyBaseURL Áö½Ã¾î

+ + + + + + +
¼³¸í:Override the base URL of reverse proxied cache keys.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheLastModifiedFactor Áö½Ã¾î

+ + + + + + + +
¼³¸í:LastModified ½Ã°£À¸·Î ¸¸±â½Ã°£À» °è»êÇϴµ¥ »ç¿ëÇÏ´Â +°è¼ö.
¹®¹ý:CacheLastModifiedFactor float
±âº»°ª:CacheLastModifiedFactor 0.1
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

¹®¼­¿¡ ¸¸±â½Ã°£Àº ¾øÁö¸¸ ÃÖ±Ù¼öÁ¤ÀÏÀÌ ÀÖ´Â °æ¿ì ÃÖ±Ù¼öÁ¤ÀÏ + ÀÌÈÄ Áö³­ ½Ã°£À¸·Î ¸¸±â½Ã°£À» °è»êÇÑ´Ù. + CacheLastModifiedFactor Áö½Ã¾î´Â + ¸¸±â½Ã°£À» °è»êÇÏ´Â ´ÙÀ½ °ø½Ä¿¡¼­ »ç¿ëÇÒ factor¸¦ + ÁöÁ¤ÇÑ´Ù: + + expiry-period = time-since-last-modified-date * factor + expiry-date = current-date + expiry-period + + ¿¹¸¦ µé¾î, ¹®¼­°¡ 10 ½Ã°£ Àü¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤µÇ¾ú°í factor°¡ + 0.1À̶ó¸é ¸¸±â±â°£Àº 10*01 = 1 ½Ã°£ÀÌ µÈ´Ù. ÇöÀç ½Ã°£ÀÌ + 3:00pmÀ̶ó¸é ¸¸±â½Ã°£Àº 3:00pm + 1½Ã°£ = 4:00pmÀÌ´Ù. + + ¸¸±â±â°£ÀÌ CacheMaxExpire º¸´Ù ±æ´Ù¸é + CacheMaxExpire¸¦ »ç¿ëÇÑ´Ù.

+ +

+ CacheLastModifiedFactor 0.5 +

+ +
+
top
+

CacheLock Áö½Ã¾î

+ + + + + + +
¼³¸í:Enable the thundering herd lock.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheLockMaxAge Áö½Ã¾î

+ + + + + + +
¼³¸í:Set the maximum possible age of a cache lock.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheLockPath Áö½Ã¾î

+ + + + + + +
¼³¸í:Set the lock path directory.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheMaxExpire Áö½Ã¾î

+ + + + + + + +
¼³¸í:¹®¼­¸¦ ij½¬ÇÏ´Â ÃÊ´ÜÀ§ ÃÖ´ë½Ã°£
¹®¹ý:CacheMaxExpire seconds
±âº»°ª:CacheMaxExpire 86400 (ÇÏ·ç)
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache
+

CacheMaxExpire Áö½Ã¾î´Â ½ÇÁ¦ ¼­¹ö¸¦ + °Ë»çÇÏÁö¾Ê°í ij½¬°¡´ÉÇÑ HTTP ¹®¼­¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Â ÃÊ´ÜÀ§ + ÃÖ´ë½Ã°£À» ÁöÁ¤ÇÑ´Ù. Áï, ¹®¼­´Â ÃÖ´ëÇÑ ÀÌ ¼³Á¤°ª¸¸Å­ ¿À·¡µÇ¾ú´Ù. + ¹®¼­°¡ ¸¸±â½Ã°£À» ÁöÁ¤ÇÏ¿©µµ ÀÌ ÃÖ´ë°ªÀ» ÁöŲ´Ù.

+ +

+ CacheMaxExpire 604800 +

+ +
+
top
+

CacheMinExpire Áö½Ã¾î

+ + + + + + +
¼³¸í:The minimum time in seconds to cache a document
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheQuickHandler Áö½Ã¾î

+ + + + + + +
¼³¸í:Run the cache from the quick handler.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheStaleOnError Áö½Ã¾î

+ + + + + + +
¼³¸í:Serve stale content in place of 5xx responses.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheStoreExpired Áö½Ã¾î

+ + + + + + +
¼³¸í:Attempt to cache responses that the server reports as expired
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheStoreNoStore Áö½Ã¾î

+ + + + + + +
¼³¸í:Attempt to cache requests or responses that have been marked as no-store.
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheStorePrivate Áö½Ã¾î

+ + + + + + +
¼³¸í:Attempt to cache responses that the server has marked as private
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache

Documentation not yet translated. Please see English version of document.

+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html b/docs/manual/mod/mod_cache_disk.html new file mode 100644 index 0000000..887b6c0 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cache_disk.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_disk.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_disk.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_disk.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cache_disk.html.en b/docs/manual/mod/mod_cache_disk.html.en new file mode 100644 index 0000000..0bdbfa3 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.en @@ -0,0 +1,292 @@ + + + + + +mod_cache_disk - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_cache_disk

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Disk based storage module for the HTTP caching filter.
Status:Extension
Module Identifier:cache_disk_module
Source File:mod_cache_disk.c
+

Summary

+ +

mod_cache_disk implements a disk based storage + manager for mod_cache.

+ +

The headers and bodies of cached responses are stored separately on + disk, in a directory structure derived from the md5 hash of the cached + URL.

+ +

Multiple content negotiated responses can be stored concurrently, + however the caching of partial content is not yet supported by this + module.

+ +

Atomic cache updates to both header and body files are achieved + without the need for locking by storing the device and inode numbers of + the body file within the header file. This has the side effect that + cache entries manually moved into the cache will be ignored.

+ +

The htcacheclean tool is provided to list cached + URLs, remove cached URLs, or to maintain the size of the disk cache + within size and/or inode limits. The tool can be run on demand, or + can be daemonized to offer continuous monitoring of directory sizes.

+ +

Note:

+

mod_cache_disk requires the services of + mod_cache, which must be + loaded before mod_cache_disk.

+
+

Note:

+

mod_cache_disk uses the sendfile feature to + serve files from the cache when supported by the platform, and + when enabled with EnableSendfile. + However, per-directory and .htaccess configuration of + EnableSendfile are ignored by + mod_cache_disk as the corresponding settings are not + available to the module when a request is being served from the + cache.

+
+
+ + +
top
+

CacheDirLength Directive

+ + + + + + + +
Description:The number of characters in subdirectory names
Syntax:CacheDirLength length
Default:CacheDirLength 2
Context:server config, virtual host
Status:Extension
Module:mod_cache_disk
+

The CacheDirLength directive sets the number + of characters for each subdirectory name in the cache hierarchy. It can + be used in conjunction with CacheDirLevels to + determine the approximate structure of your cache hierarchy.

+

A high value for CacheDirLength combined + with a low value for CacheDirLevels will result in + a relatively flat hierarchy, with a large number of subdirectories at each + level.

+ +
+

The result of CacheDirLevels* CacheDirLength + must not be higher than 20.

+
+ + +
+
top
+

CacheDirLevels Directive

+ + + + + + + +
Description:The number of levels of subdirectories in the +cache.
Syntax:CacheDirLevels levels
Default:CacheDirLevels 2
Context:server config, virtual host
Status:Extension
Module:mod_cache_disk
+

The CacheDirLevels directive sets the number + of subdirectory levels in the cache. Cached data will be saved this + many directory levels below the CacheRoot directory.

+

A high value for CacheDirLevels combined + with a low value for CacheDirLength will result in + a relatively deep hierarchy, with a small number of subdirectories at each + level.

+ +
+

The result of CacheDirLevels* + CacheDirLength must + not be higher than 20.

+
+ + +
+
top
+

CacheMaxFileSize Directive

+ + + + + + + +
Description:The maximum size (in bytes) of a document to be placed in the +cache
Syntax:CacheMaxFileSize bytes
Default:CacheMaxFileSize 1000000
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_disk
+

The CacheMaxFileSize directive sets the + maximum size, in bytes, for a document to be considered for storage in + the cache.

+ +
CacheMaxFileSize 64000
+ + +
+
top
+

CacheMinFileSize Directive

+ + + + + + + +
Description:The minimum size (in bytes) of a document to be placed in the +cache
Syntax:CacheMinFileSize bytes
Default:CacheMinFileSize 1
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_disk
+

The CacheMinFileSize directive sets the + minimum size, in bytes, for a document to be considered for storage + in the cache.

+ +
CacheMinFileSize 64
+ + +
+
top
+

CacheReadSize Directive

+ + + + + + + +
Description:The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
Syntax:CacheReadSize bytes
Default:CacheReadSize 0
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_disk
+

The CacheReadSize directive sets the + minimum amount of data, in bytes, to be read from the backend before the + data is sent to the client. The default of zero causes all data read of + any size to be passed downstream to the client immediately as it arrives. + Setting this to a higher value causes the disk cache to buffer at least + this amount before sending the result to the client. This can improve + performance when caching content from a reverse proxy.

+ +

This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache.

+ +
CacheReadSize 102400
+ + +
+
top
+

CacheReadTime Directive

+ + + + + + + +
Description:The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
Syntax:CacheReadTime milliseconds
Default:CacheReadTime 0
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_disk
+

The CacheReadTime directive sets the minimum amount + of elapsed time that should pass before making an attempt to send data + downstream to the client. During the time period, data will be buffered + before sending the result to the client. This can improve performance when + caching content from a reverse proxy.

+ +

The default of zero disables this option.

+ +

This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache. It is recommended + that this option be used alongside the + CacheReadSize directive to + ensure that the server does not buffer excessively should data arrive faster + than expected.

+ +
CacheReadTime 1000
+ + +
+
top
+

CacheRoot Directive

+ + + + + + +
Description:The directory root under which cache files are +stored
Syntax:CacheRoot directory
Context:server config, virtual host
Status:Extension
Module:mod_cache_disk
+

The CacheRoot directive defines the name of + the directory on the disk to contain cache files. If the mod_cache_disk module has been loaded or compiled in to the + Apache server, this directive must be defined. Failing to + provide a value for CacheRoot will result in + a configuration file processing error. The CacheDirLevels and CacheDirLength directives define + the structure of the directories under the specified root directory.

+ +
CacheRoot c:/cacheroot
+ + +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html.fr.utf8 b/docs/manual/mod/mod_cache_disk.html.fr.utf8 new file mode 100644 index 0000000..57acbb6 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.fr.utf8 @@ -0,0 +1,310 @@ + + + + + +mod_cache_disk - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_cache_disk

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Module de stockage sur disque pour le filtre de mise en +cache HTTP.
Statut:Extension
Identificateur de Module:cache_disk_module
Fichier Source:mod_cache_disk.c
+

Sommaire

+ +

mod_cache_disk implémente un gestionnaire de + stockage sur disque pour le module mod_cache.

+ +

Les en-têtes et corps des réponses mises en cache sont stockés + séparément sur le disque, dans une structure de répertoires basée + sur le condensé md5 de l'URL mise en cache.

+ +

Plusieurs réponses au contenu négocié peuvent être stockées en + même temps, mais la mise en cache de contenus partiels n'est pas + supportée actuellement par ce module.

+ +

Les mises à jour atomiques du cache pour les fichiers d'en-tête + et de corps peuvent être effectuées sans verrouillage en + enregistrant les numéros d'inode et de périphérique du fichier de + corps dans le fichier d'en-tête. Ceci implique que les entrées du + cache déplacées manuellement dans le cache seront ignorées.

+ +

L'utilitaire htcacheclean permet de lister et + de supprimer les URLs du cache, ou de maintenir le cache en deçà de + certaines limites de taille et/ou de nombre d'inodes. L'utilitaire + peut être exécuté à la demande, ou automatiquement pour assurer un + contrôle continu des tailles des répertoires.

+ +

Note :

+

mod_cache doit être chargé avant + mod_cache_disk pour que ce dernier puisse + fonctionner.

+
+

Note :

+

Lorsque la plate-forme la supporte, et si elle est activée via la + directive EnableSendfile, + mod_cache_disk utilise la fonctionnalité sendfile + pour servir les fichiers à partir du cache. Cependant, + mod_cache_disk ignore la configuration de la + directive EnableSendfile dans + un contexte de répertoire ou de fichier .htaccess, car le module ne + dispose pas des définitions correspondantes lorsque la requête est + servie depuis le cache.

+
+
+ + +
top
+

Directive CacheDirLength

+ + + + + + + +
Description:Le nombre de caractères des noms des +sous-répertoires
Syntaxe:CacheDirLength longueur
Défaut:CacheDirLength 2
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache_disk
+

la directive CacheDirLength permet de + définir le nombre de caractères que comportera chaque nom de + sous-répertoire de la hiérarchie du cache. On peut l'utiliser en + conjonction avec CacheDirLevels pour + déterminer une structure approximative de la hiérarchie de + cache.

+

Une valeur haute pour CacheDirLength + combinée avec une valeur basse pour + CacheDirLevels générera une hiérarchie + relativement peu profonde, avec un grand nombre de sous-répertoires + à chaque niveau.

+ +
+

La valeur du produit CacheDirLevels * + CacheDirLength ne + doit pas dépasser 20.

+
+ + +
+
top
+

Directive CacheDirLevels

+ + + + + + + +
Description:Le nombre de niveaux de sous-répertoires que comportera le +cache.
Syntaxe:CacheDirLevels niveaux
Défaut:CacheDirLevels 2
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache_disk
+

La directive CacheDirLevels permet de + définir le nombre de niveaux de sous-répertoires que comportera le + cache. Les données du cache seront stokées au niveau correspondant + par rapport au répertoire CacheRoot.

+

Une valeur haute pour CacheDirLevels + combinée avec une valeur basse pour + CacheDirLength générera une arborescence + très développée, avec un petit nombre de sous-répertoires à chaque + niveau.

+ +
+

La valeur du produit CacheDirLevels * + CacheDirLength ne + doit pas dépasser 20.

+
+ + +
+
top
+

Directive CacheMaxFileSize

+ + + + + + + +
Description:>La taille maximale (en octets) d'un document pour pouvoir +être stocké dans le cache
Syntaxe:CacheMaxFileSize octets
Défaut:CacheMaxFileSize 1000000
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_disk
+

La directive CacheMaxFileSize permet de + définir la taille maximale d'un document, en octets, pour que + celui-ci puisse faire l'objet d'un stockage dans le cache.

+ +
CacheMaxFileSize 64000
+ + +
+
top
+

Directive CacheMinFileSize

+ + + + + + + +
Description:La taille minimale (en octets) d'un document pour pouvoir +être stocké dans le cache
Syntaxe:CacheMinFileSize octets
Défaut:CacheMinFileSize 1
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_disk
+

La directive CacheMinFileSize permet de + définir la taille minimale d'un document, en octets, pour que + celui-ci puisse faire l'objet d'un stockage dans le cache.

+ +
CacheMinFileSize 64
+ + +
+
top
+

Directive CacheReadSize

+ + + + + + + +
Description:La quantité minimale (en octets) de données à lire et à +mettre en cache avant de les envoyer au client
Syntaxe:CacheReadSize octets
Défaut:CacheReadSize 0
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_disk
+

La directive CacheReadSize permet de + définir la quantité minimale de données, en octets, à lire depuis le + serveur d'arrière-plan avant de les envoyer au client. Avec la + valeur par défaut zéro, toute donnée de toutes tailles est envoyée + au client dès qu'elle est disponible. Avec une valeur non nulle, le + cache disque met en tampon au moins la quantité de données + correspondante avant d'envoyer la réponse au client. Les + performances peuvent s'en trouver améliorées lorsqu'on met en cache + du contenu en provenance d'un mandataire inverse.

+ +

Cette directive ne prend effet que lorsque les données sont + enregistrées dans le cache, et non lorsque les données sont servies à + partir du cache.

+ +
CacheReadSize 102400
+ + +
+
top
+

Directive CacheReadTime

+ + + + + + + +
Description:Le temps minimum (en millisecondes) qui doit s'écouler +avant d'envoyer les données au client
Syntaxe:CacheReadTime millisecondes
Défaut:CacheReadTime 0
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_disk
+

La directive CacheReadTime permet de + définir le temps minimum qui doit s'écouler avant d'essayer + d'envoyer des données au client. Pendant ce temps, les données sont + mises en tampon avant de pouvoir être envoyées au client. Les + performances peuvent s'en trouver améliorées lorsqu'on met en cache + du contenu en provenance d'un mandataire inverse.

+ +

La valeur par défaut zéro désactive cette option.

+ +

Cette directive ne prend effet que lorsque les données sont + enregistrées dans le cache, et non lorsque les données sont servies à + partir du cache. Il est recommandé d'harmoniser l'utilisation de cette + directive avec celle de la directive CacheReadSize, afin de s'assurer + que le serveur n'effectue pas une mise en tampon excessive au cas + où les données arriveraient plus vite que prévu.

+ +
CacheReadTime 1000
+ + +
+
top
+

Directive CacheRoot

+ + + + + + +
Description:La racine du répertoire dans lequel les fichiers du cache +seront stockés
Syntaxe:CacheRoot répertoire
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache_disk
+

La directive CacheRoot permet de définir + le nom du répertoire sur disque qui contiendra les fichiers du + cache. Si le module mod_cache_disk a été chargé ou + compilé dans le serveur Apache, cette directive doit être + définie. L'absence de définition de la directive + CacheRoot provoquera une erreur de traitement + du fichier de configuration. Les directives CacheDirLevels et CacheDirLength permettent de + définir la structure des sous-répertoires du répertoire racine + spécifié.

+ +
CacheRoot c:/cacheroot
+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html.ja.utf8 b/docs/manual/mod/mod_cache_disk.html.ja.utf8 new file mode 100644 index 0000000..a91bdac --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.ja.utf8 @@ -0,0 +1,234 @@ + + + + + +mod_cache_disk - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_cache_disk

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:URI をキーã«ã—ãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„キャッシュストレージ管ç†
ステータス:Extension
モジュール識別å­:cache_disk_module
ソースファイル:mod_cache_disk.c
+

概è¦

+ +

mod_cache_disk ã¯ãƒ‡ã‚£ã‚¹ã‚¯ã‚’使用ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ + 管ç†æ©Ÿæ§‹ã‚’実装ã—ã¦ã„ã¾ã™ã€‚主㫠+ mod_cache ã¨çµ„ã¿åˆã‚ã›ã¦ä½¿ã‚ã‚Œã¾ã™ã€‚

+ +

コンテンツã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¸ã®ä¿å­˜ã¨å–得㯠URI ã«åŸºã¥ã„ãŸã‚­ãƒ¼ãŒä½¿ã‚ã‚Œã¾ã™ã€‚ + アクセスä¿è­·ã®ã‹ã‘られã¦ã„るコンテンツã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¾ã›ã‚“。

+ +

キャッシュã®å¤§ãã•ã‚’最大レベルã§ç¶­æŒã™ã‚‹ãŸã‚ã« + htcacheclean を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

注:

+

mod_cache_disk 㯠+ mod_cache ã‚’å¿…è¦ã¨ã—ã¾ã™

+
+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

CacheDirLength ディレクティブ

+ + + + + + + +
説明:サブディレクトリåã®æ–‡å­—æ•°
構文:CacheDirLength length
デフォルト:CacheDirLength 2
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache_disk
+

CacheDirLength ディレクティブã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ + 階層ã®å„サブディレクトリã®æ–‡å­—数を設定ã—ã¾ã™ã€‚ + CacheDirLevels ã¨çµ„ã¿åˆã‚ã›ã¦è¨­å®šã™ã‚‹ã“ã¨ã§ã€ + キャッシュ階層ã®ãŠãŠã‚ˆãã®æ§‹é€ ã‚’決ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+

CacheDirLength ãŒå¤§ãã㦠+ CacheDirLevels ãŒå°ã•ã„å ´åˆã€ + 比較的浅ã„階層ã«ãªã‚Šã¾ã™ãŒã€ + å„階層ã®ã‚µãƒ–ディレクトリã®æ•°ã¯å¤šããªã‚Šã¾ã™ã€‚

+ +
+

CacheDirLevels* + CacheDirLength ã® + çµæžœã¯ 20 以内ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
+ + +
+
top
+

CacheDirLevels ディレクティブ

+ + + + + + + +
説明:キャッシュã®ã‚µãƒ–ディレクトリã®æ·±ã•ã®æ•°
構文:CacheDirLevels levels
デフォルト:CacheDirLevels 2
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache_disk
+

CacheDirLevels ディレクティブã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã® + サブディレクトリã®æ·±ã•ã‚’設定ã—ã¾ã™ã€‚キャッシュデータ㯠CacheRoot ディレクトリã‹ã‚‰ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®æ·±ã•åˆ†ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚

+

CacheDirLevels ãŒå¤§ãã㦠+ CacheDirLength ãŒå°ã•ã„å ´åˆã€ + 比較的深ã„階層ã«ãªã‚Šã¾ã™ãŒã€ + å„階層ã®ã‚µãƒ–ディレクトリã®æ•°ã¯å°‘ãªããªã‚Šã¾ã™ã€‚

+ +
+

CacheDirLevels* + CacheDirLength ã® + çµæžœã¯ 20 以内ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
+ + +
+
top
+

CacheMaxFileSize ディレクティブ

+ + + + + + + +
説明:キャッシュã«ä¿ç®¡ã•ã‚Œã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ€å¤§ã® (ãƒã‚¤ãƒˆã§ã®) サイズ
構文:CacheMaxFileSize bytes
デフォルト:CacheMaxFileSize 1000000
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache_disk
+

CacheMaxFileSize ディレクティブã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ + キャッシュã™ã‚‹ã‹ã©ã†ã‹ã‚’判定ã™ã‚‹ã€æœ€å¤§ã®ã‚µã‚¤ã‚ºã‚’ãƒã‚¤ãƒˆæ•°ã§è¨­å®šã—ã¾ã™ã€‚

+ +

+ CacheMaxFileSize 64000 +

+ +
+
top
+

CacheMinFileSize ディレクティブ

+ + + + + + + +
説明:キャッシュã«ä¿ç®¡ã•ã‚Œã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ€å°é™ã® (ãƒã‚¤ãƒˆã§ã®) 大ãã•
構文:CacheMinFileSize bytes
デフォルト:CacheMinFileSize 1
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache_disk
+

CacheMinFileSize ディレクティブã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ + キャッシュã™ã‚‹ã‹ã©ã†ã‹ã‚’判定ã™ã‚‹ã€æœ€å°ã®ã‚µã‚¤ã‚ºã‚’ãƒã‚¤ãƒˆæ•°ã§è¨­å®šã—ã¾ã™ã€‚

+ +

+ CacheMinFileSize 64 +

+ +
+
top
+

CacheReadSize ディレクティブ

+ + + + + + +
説明:The minimum size (in bytes) of the document to read and be cached before sending the data downstream
構文:
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_cache_disk

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheReadTime ディレクティブ

+ + + + + + +
説明:The minimum time (in milliseconds) that should elapse while reading before data is sent downstream
構文:
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_cache_disk

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheRoot ディレクティブ

+ + + + + + +
説明:キャッシュファイルãŒä¿ç®¡ã•ã‚Œã‚‹ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
構文:CacheRoot directory
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_cache_disk
+

CacheRoot ディレクティブã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + ä¿ç®¡ã™ã‚‹ãŸã‚ã®ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã—ã¾ã™ã€‚mod_cache_disk モジュール㌠Apache サーãƒã«ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã¦ + ã„ã‚‹ã‹ã€çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚Œã°ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¿…ãš + 定義ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + CacheRoot ã®å€¤ã‚’指定ã—ãªã‘ã‚Œã°ã€ + 設定ファイルã®å‡¦ç†ã§ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã€‚CacheDirLevels ディレクティブ㨠CacheDirLength ディレクティブ㌠+ 指定ã•ã‚ŒãŸãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹æˆã‚’定義ã—ã¾ã™ã€‚

+ +

+ CacheRoot c:/cacheroot +

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html.ko.euc-kr b/docs/manual/mod/mod_cache_disk.html.ko.euc-kr new file mode 100644 index 0000000..34fb4f8 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.ko.euc-kr @@ -0,0 +1,228 @@ + + + + + +mod_cache_disk - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_cache_disk

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:Content cache storage manager keyed to URIs
»óÅÂ:Experimental
¸ðµâ¸í:cache_disk_module
¼Ò½ºÆÄÀÏ:mod_cache_disk.c
+

¿ä¾à

+ +
+ ÀÌ ¸ðµâÀº ½ÇÇèÀûÀÎ »óÅÂÀÌ´Ù. ¹®¼­´Â ¾ÆÁ÷ ÀÛ¾÷ÁßÀÌ´Ù... +
+ +

mod_cache_disk´Â µð½ºÅ©±â¹Ý ÀúÀå°ü¸®ÀÚ¸¦ + ±¸ÇöÇÑ´Ù. ÀÌ ¸ðµâÀº ±âº»ÀûÀ¸·Î mod_proxy¿Í + °°ÀÌ »ç¿ëÇÑ´Ù.

+ +

³»¿ëÀ» URI¸¦ Åä´ë·Î ¸¸µç Å°·Î ij½¬¿¡ ÀúÀåÇÏ°í °¡Á®¿Â´Ù. + Á¢±Ùº¸È£°¡ µÈ ³»¿ëÀº ij½¬ÇÏÁö¾Ê´Â´Ù.

+ +

ÁÖÀÇ:

+

mod_cache_disk´Â + mod_cache°¡ ÇÊ¿äÇÏ´Ù.

+
+
+ + +
top
+

CacheDirLength Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÇÏÀ§µð·ºÅ丮¸íÀÇ ¹®ÀÚ°³¼ö
¹®¹ý:CacheDirLength length
±âº»°ª:CacheDirLength 2
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache_disk
+

CacheDirLength Áö½Ã¾î´Â ij½¬ + °èÃþ±¸Á¶¿¡¼­ °¢ ÇÏÀ§µð·ºÅ丮¸íÀÇ ¹®ÀÚ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.

+ +
+

CacheDirLevels¿Í + CacheDirLength¸¦ °öÇÏ¿© 20 º¸´Ù + Å©¸é ¾ÈµÈ´Ù.

+
+ +

+ CacheDirLength 4 +

+ +
+
top
+

CacheDirLevels Áö½Ã¾î

+ + + + + + + +
¼³¸í:ij½¬ÀÇ ÇÏÀ§µð·ºÅ丮 ±íÀÌ.
¹®¹ý:CacheDirLevels levels
±âº»°ª:CacheDirLevels 3
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache_disk
+

CacheDirLevels Áö½Ã¾î´Â ij½¬ÀÇ + ÇÏÀ§µð·ºÅ丮 ±íÀ̸¦ ÁöÁ¤ÇÑ´Ù. ij½¬µÈ ÀڷḦ CacheRoot µð·ºÅ丮 + ¾Æ·¡ ÀÌ ±íÀ̱îÁö ÀúÀåÇÑ´Ù.

+ +
+

CacheDirLevels¿Í CacheDirLength¸¦ + °öÇÏ¿© 20 º¸´Ù Å©¸é ¾ÈµÈ´Ù.

+
+ +

+ CacheDirLevels 5 +

+ +
+
top
+

CacheMaxFileSize Áö½Ã¾î

+ + + + + + + +
¼³¸í:ij½¬¿¡ ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ´ëÅ©±â (¹ÙÀÌÆ® ´ÜÀ§)
¹®¹ý:CacheMaxFileSize bytes
±âº»°ª:CacheMaxFileSize 1000000
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache_disk
+

CacheMaxFileSize Áö½Ã¾î´Â ij½¬¿¡ + ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ´ëÅ©±â¸¦ ¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù.

+ +

+ CacheMaxFileSize 64000 +

+ +
+
top
+

CacheMinFileSize Áö½Ã¾î

+ + + + + + + +
¼³¸í:ij½¬¿¡ ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ¼ÒÅ©±â (¹ÙÀÌÆ® ´ÜÀ§)
¹®¹ý:CacheMinFileSize bytes
±âº»°ª:CacheMinFileSize 1
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache_disk
+

CacheMinFileSize Áö½Ã¾î´Â ij½¬¿¡ + ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ¼ÒÅ©±â¸¦ ¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù.

+ +

+ CacheMinFileSize 64 +

+ +
+
top
+

CacheReadSize Áö½Ã¾î

+ + + + + + +
¼³¸í:The minimum size (in bytes) of the document to read and be cached before sending the data downstream
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache_disk

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheReadTime Áö½Ã¾î

+ + + + + + +
¼³¸í:The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_cache_disk

Documentation not yet translated. Please see English version of document.

+
+
top
+

CacheRoot Áö½Ã¾î

+ + + + + + +
¼³¸í:ij½¬ ÆÄÀÏÀ» ÀúÀåÇÒ µð·ºÅ丮 root
¹®¹ý:CacheRoot directory
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_cache_disk
+

CacheRoot Áö½Ã¾î´Â µð½ºÅ©¿¡¼­ + ij½¬ ÆÄÀÏÀ» ÀúÀåÇÒ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. mod_cache_disk ¸ðµâÀ» ¾ÆÆÄÄ¡ ¼­¹ö¿Í °°ÀÌ ÄÄÆÄÀÏÇÏ¿´°Å³ª + ÀоîµéÀÎ °æ¿ì ¹Ýµå½Ã ÀÌ Áö½Ã¾î¸¦ Á¤ÀÇÇØ¾ß ÇÑ´Ù. + CacheRoot¿¡ °ªÀÌ ¾øÀ¸¸é ¼³Á¤ÆÄÀÏÀ» + ó¸®ÇÏÁö ¾Ê´Â´Ù. CacheDirLevels¿Í CacheDirLength Áö½Ã¾î´Â + ÀÌ Áö½Ã¾î·Î ÁöÁ¤ÇÑ root µð·ºÅ丮ÀÇ ÇÏÀ§µð·ºÅ丮 ±¸Á¶¸¦ Áö½ÃÇÑ´Ù.

+ +

+ CacheRoot c:/cacheroot +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache_socache.html b/docs/manual/mod/mod_cache_socache.html new file mode 100644 index 0000000..b481bb4 --- /dev/null +++ b/docs/manual/mod/mod_cache_socache.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cache_socache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_socache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_cache_socache.html.en b/docs/manual/mod/mod_cache_socache.html.en new file mode 100644 index 0000000..4f3d06e --- /dev/null +++ b/docs/manual/mod/mod_cache_socache.html.en @@ -0,0 +1,266 @@ + + + + + +mod_cache_socache - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_cache_socache

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Shared object cache (socache) based storage module for the +HTTP caching filter.
Status:Extension
Module Identifier:cache_socache_module
Source File:mod_cache_socache.c
+

Summary

+ +

mod_cache_socache implements a shared object cache + (socache) based storage manager for mod_cache.

+ +

The headers and bodies of cached responses are combined, and stored + underneath a single key in the shared object cache. A + number of implementations of shared object + caches are available to choose from.

+ +

Multiple content negotiated responses can be stored concurrently, + however the caching of partial content is not yet supported by this + module.

+ +
# Turn on caching
+CacheSocache shmcb
+CacheSocacheMaxSize 102400
+<Location "/foo">
+    CacheEnable socache
+</Location>
+
+# Fall back to the disk cache
+CacheSocache shmcb
+CacheSocacheMaxSize 102400
+<Location "/foo">
+    CacheEnable socache
+    CacheEnable disk
+</Location>
+ + +

Note:

+

mod_cache_socache requires the services of + mod_cache, which must be loaded before + mod_cache_socache.

+
+
+ + +
top
+

CacheSocache Directive

+ + + + + + + +
Description:The shared object cache implementation to use
Syntax:CacheSocache type[:args]
Context:server config, virtual host
Status:Extension
Module:mod_cache_socache
Compatibility:Available in Apache 2.4.5 and later
+

The CacheSocache directive defines the name of + the shared object cache implementation to use, followed by optional + arguments for that implementation. A number of + implementations of shared object caches are available to choose + from.

+ +
CacheSocache shmcb
+ + +
+
top
+

CacheSocacheMaxSize Directive

+ + + + + + + + +
Description:The maximum size (in bytes) of an entry to be placed in the +cache
Syntax:CacheSocacheMaxSize bytes
Default:CacheSocacheMaxSize 102400
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_socache
Compatibility:Available in Apache 2.4.5 and later
+

The CacheSocacheMaxSize directive sets the + maximum size, in bytes, for the combined headers and body of a document + to be considered for storage in the cache. The larger the headers that + are stored alongside the body, the smaller the body may be.

+ +

The mod_cache_socache module will only attempt to + cache responses that have an explicit content length, or that are small + enough to be written in one pass. This is done to allow the + mod_cache_disk module to have an opportunity to cache + responses larger than those cacheable within + mod_cache_socache.

+ +
CacheSocacheMaxSize 102400
+ + +
+
top
+

CacheSocacheMaxTime Directive

+ + + + + + + + +
Description:The maximum time (in seconds) for a document to be placed in the +cache
Syntax:CacheSocacheMaxTime seconds
Default:CacheSocacheMaxTime 86400
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_socache
Compatibility:Available in Apache 2.4.5 and later
+

The CacheSocacheMaxTime directive sets the + maximum freshness lifetime, in seconds, for a document to be stored in + the cache. This value overrides the freshness lifetime defined for the + document by the HTTP protocol.

+ +
CacheSocacheMaxTime 86400
+ + +
+
top
+

CacheSocacheMinTime Directive

+ + + + + + + + +
Description:The minimum time (in seconds) for a document to be placed in the +cache
Syntax:CacheSocacheMinTime seconds
Default:CacheSocacheMinTime 600
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_socache
Compatibility:Available in Apache 2.4.5 and later
+

The CacheSocacheMinTime directive sets the + amount of seconds beyond the freshness lifetime of the response that the + response should be cached for in the shared object cache. If a response is + only stored for its freshness lifetime, there will be no opportunity to + revalidate the response to make it fresh again.

+ +
CacheSocacheMinTime 600
+ + +
+
top
+

CacheSocacheReadSize Directive

+ + + + + + + + +
Description:The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
Syntax:CacheSocacheReadSize bytes
Default:CacheSocacheReadSize 0
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_socache
Compatibility:Available in Apache 2.4.5 and later
+

The CacheSocacheReadSize directive sets the + minimum amount of data, in bytes, to be read from the backend before the + data is sent to the client. The default of zero causes all data read of + any size to be passed downstream to the client immediately as it arrives. + Setting this to a higher value causes the disk cache to buffer at least + this amount before sending the result to the client. This can improve + performance when caching content from a slow reverse proxy.

+ +

This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache.

+ +
CacheSocacheReadSize 102400
+ + +
+
top
+

CacheSocacheReadTime Directive

+ + + + + + + + +
Description:The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
Syntax:CacheSocacheReadTime milliseconds
Default:CacheSocacheReadTime 0
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_cache_socache
Compatibility:Available in Apache 2.4.5 and later
+

The CacheSocacheReadTime directive sets the minimum amount + of elapsed time that should pass before making an attempt to send data + downstream to the client. During the time period, data will be buffered + before sending the result to the client. This can improve performance when + caching content from a reverse proxy.

+ +

The default of zero disables this option.

+ +

This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache. It is recommended + that this option be used alongside the + CacheSocacheReadSize directive + to ensure that the server does not buffer excessively should data arrive faster + than expected.

+ +
CacheSocacheReadTime 1000
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cache_socache.html.fr.utf8 b/docs/manual/mod/mod_cache_socache.html.fr.utf8 new file mode 100644 index 0000000..b974b61 --- /dev/null +++ b/docs/manual/mod/mod_cache_socache.html.fr.utf8 @@ -0,0 +1,279 @@ + + + + + +mod_cache_socache - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_cache_socache

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Module de stockage à base de cache d'objets partagés +(socache) pour le filtre de mise en cache HTTP.
Statut:Extension
Identificateur de Module:cache_socache_module
Fichier Source:mod_cache_socache.c
+

Sommaire

+ +

Le module mod_cache_socache implémente un + gestionnaire de stockage à base de cache d'objets partagés (socache) + pour le module mod_cache.

+ +

Les en-têtes et corps des réponses mises en cache sont rassemblés + et stockés sous une même clé dans le cache d'objets partagés. Il est + possible de choisir entre plusieurs implémentations de caches d'objets + partagés.

+ +

Des réponses avec différents contenus négociés peuvent être + stockées simultanément ; cependant, la mise en cache de contenus + partiels n'est pas encore supportée par ce module.

+ +
# Activation de la mise en cache
+CacheSocache shmcb
+CacheSocacheMaxSize 102400
+<Location "/foo">
+    CacheEnable socache
+</Location>
+
+# Possibilité de se rabattre sur le cache disque
+CacheSocache shmcb
+CacheSocacheMaxSize 102400
+<Location "/foo">
+    CacheEnable socache
+    CacheEnable disk
+</Location>
+ + +

Note :

+

Le module mod_cache_socache requiert les + services du module mod_cache qui doit donc avoir + été préalablement chargé.

+
+
+ + +
top
+

Directive CacheSocache

+ + + + + + + +
Description:Implémentation du cache d'objets partagés à utiliser
Syntaxe:CacheSocache type[:args]
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_cache_socache
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

La directive CacheSocache + définit l'implémentation du cache d'objets partagés à utiliser, + suivie d'arguments optionnels. Il est + possible de choisir entre plusieurs implémentations de caches d'objets + partagés.

+ +
CacheSocache shmcb
+ + +
+
top
+

Directive CacheSocacheMaxSize

+ + + + + + + + +
Description:La taille maximale d'une entrée pouvant être placée dans le +cache
Syntaxe:CacheSocacheMaxSize octets
Défaut:CacheSocacheMaxSize 102400
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_socache
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

La directive CacheSocacheMaxSize + définit la taille maximale, en octets, de la somme des en-têtes et + du corps d'un document pouvant être stocké dans le cache. Bien + entendu, plus la taille des en-têtes sera grande, plus la taille + maximale du corps du document s'en trouvera réduite.

+ +

Le module mod_cache_socache ne tentera de mettre + en cache que des réponses qui possèdent une taille de contenu + explicite, ou dont la taille est suffisamment petite pour qu'elles + soient écrites en une seule passe. Ceci permet au module + mod_cache_disk de mettre en cache des réponses dont + la taille est trop importante pour pouvoir être mises en cache par + mod_cache_socache.

+ +
CacheSocacheMaxSize 102400
+ + +
+
top
+

Directive CacheSocacheMaxTime

+ + + + + + + + +
Description:La durée maximale de stockage d'un document dans le cache +avant péremption
Syntaxe:CacheSocacheMaxTime secondes
Défaut:CacheSocacheMaxTime 86400
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_socache
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

La directive CacheSocacheMaxTime + définit la durée de stockage maximale en secondes d'un document dans + le cache avant péremption. Cette définition l'emporte sur la durée + de fraîcheur définie pour le document par le protocole HTTP.

+ +
CacheSocacheMaxTime 86400
+ + +
+
top
+

Directive CacheSocacheMinTime

+ + + + + + + + +
Description:La durée minimale de stockage d'un document dans le cache
Syntaxe:CacheSocacheMinTime seconds
Défaut:CacheSocacheMinTime 600
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_socache
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

La directive CacheSocacheMinTime + définit le nombre de secondes au delà de la durée de fraîcheur de la + réponse pendant lesquelles cette dernière devra être stockée dans le + cache d'objets partagés. En effet, si une réponse n'est stockée que + pour une durée égale à sa durée de fraîcheur, elle n'a pas besoin + d'être rafraîchie.

+ +
CacheSocacheMinTime 600
+ + +
+
top
+

Directive CacheSocacheReadSize

+ + + + + + + + +
Description:La quantité minimale de données du document à lire et +mettre en cache avant envoi au client
Syntaxe:CacheSocacheReadSize octets
Défaut:CacheSocacheReadSize 0
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_socache
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

La directive CacheSocacheReadSize + définit la quantité minimale de données, en octets, à lire depuis + l'arrière-plan avant envoi au client. Avec la valeur par défaut 0, + les données sont transmises au client dès leur arrivée et quelle que + soit leur taille. Si la valeur définie est non nulle, le cache + disque va mettre en tampon au moins la quantité de données + correspondante avant envoi au client. Ceci peut améliorer les + performances en cas de mise en cache de contenu en provenance d'un + mandataire inverse lent.

+ +

Cette directive n'a d'effet qu'au moment où les données sont + stockées dans le cache, et non lorsqu'elles sont servies depuis le + cache.

+ +
CacheSocacheReadSize 102400
+ + +
+
top
+

Directive CacheSocacheReadTime

+ + + + + + + + +
Description:La durée minimale de lecture avant l'envoi des données
Syntaxe:CacheSocacheReadTime millisecondes
Défaut:CacheSocacheReadTime 0
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_cache_socache
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

La directive CacheSocacheReadTime + définit le temps minimal qui doit s'écouler avant de tenter + l'envoi des données au client. Cette durée sera mise à profit pour + lire et mettre en tampon les données avant leur envoi au client. + Ceci peut améliorer les performances en cas de mise en cache de + contenu en provenance d'un mandataire inverse.

+ +

La valeur par défaut 0 désactive cette directive.

+ +

Cette directive n'a d'effet qu'au moment où les données sont + stockées dans le cache, et non lorsqu'elles sont servies depuis le + cache. Il est recommandé d'utiliser cette directive en concomitance + avec la directive CacheSocacheReadSize afin de + s'assurer que le serveur ne mette pas les données en tampon de + manière excessive dans le cas où les données arriveraient plus vite + que prévu.

+ +
CacheSocacheReadTime 1000
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cern_meta.html b/docs/manual/mod/mod_cern_meta.html new file mode 100644 index 0000000..2d0ece3 --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cern_meta.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cern_meta.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cern_meta.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cern_meta.html.en b/docs/manual/mod/mod_cern_meta.html.en new file mode 100644 index 0000000..e5bfe6a --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html.en @@ -0,0 +1,157 @@ + + + + + +mod_cern_meta - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_cern_meta

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + +
Description:CERN httpd metafile semantics
Status:Extension
Module Identifier:cern_meta_module
Source File:mod_cern_meta.c
+

Summary

+ +

Emulate the CERN HTTPD Meta file semantics. Meta files are HTTP + headers that can be output in addition to the normal range of + headers for each file accessed. They appear rather like the + Apache .asis files, and are able to provide a crude way of + influencing the Expires: header, as well as providing other + curiosities. There are many ways to manage meta information, + this one was chosen because there is already a large number of + CERN users who can exploit this module.

+ +

More information on the CERN metafile semantics is available.

+
+ + +
top
+

MetaDir Directive

+ + + + + + + + +
Description:Name of the directory to find CERN-style meta information +files
Syntax:MetaDir directory
Default:MetaDir .web
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Extension
Module:mod_cern_meta
+

Specifies the name of the directory in which Apache can find + meta information files. The directory is usually a 'hidden' + subdirectory of the directory that contains the file being + accessed. Set to "." to look in the same directory + as the file:

+ +
MetaDir .
+ + +

Or, to set it to a subdirectory of the directory containing the + files:

+ +
MetaDir .meta
+ + +
+
top
+

MetaFiles Directive

+ + + + + + + + +
Description:Activates CERN meta-file processing
Syntax:MetaFiles on|off
Default:MetaFiles off
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Extension
Module:mod_cern_meta
+

Turns on/off Meta file processing on a per-directory basis.

+ +
+
top
+

MetaSuffix Directive

+ + + + + + + + +
Description:File name suffix for the file containing CERN-style +meta information
Syntax:MetaSuffix suffix
Default:MetaSuffix .meta
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Extension
Module:mod_cern_meta
+

Specifies the file name suffix for the file containing the + meta information. For example, the default values for the two + directives will cause a request to + DOCUMENT_ROOT/somedir/index.html to look in + DOCUMENT_ROOT/somedir/.web/index.html.meta and + will use its contents to generate additional MIME header + information.

+ +

Example:

MetaSuffix .meta
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cern_meta.html.fr.utf8 b/docs/manual/mod/mod_cern_meta.html.fr.utf8 new file mode 100644 index 0000000..a990c13 --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html.fr.utf8 @@ -0,0 +1,162 @@ + + + + + +mod_cern_meta - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_cern_meta

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + +
Description:La sémantique des métafichiers du serveur httpd du +CERN
Statut:Extension
Identificateur de Module:cern_meta_module
Fichier Source:mod_cern_meta.c
+

Sommaire

+ +

Il s'agit d'une émulation de la sémantique des métafichiers du + serveur httpd du CERN. Les métafichiers consistent en en-têtes HTTP + qui peuvent s'ajouter au jeu d'en-têtes habituels pour chaque + fichier accédé. Ils ressemblent beaucoup aux fichiers .asis + d'Apache, et permettent d'influencer de manière rudimentaire + l'en-tête Expires:, ainsi que d'autres curiosités. Il existe de + nombreuses méthodes pour gérer les métainformations, mais le choix + s'est porté sur celle-ci car il existe déjà un grand nombre + d'utilisateurs du CERN qui peuvent exploiter ce module.

+ +

Pour plus d'information, voir le document sur la sémantique des métafichiers du CERN.

+
+ + +
top
+

Directive MetaDir

+ + + + + + + + +
Description:Le nom du répertoire où trouver les fichiers de +métainformations dans le style du CERN
Syntaxe:MetaDir répertoire
Défaut:MetaDir .web
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Extension
Module:mod_cern_meta
+

Spécifie le nom du répertoire dans lequel Apache pourra trouver + les fichiers de métainformations. Ce répertoire est en général un + sous-répertoire 'caché' du répertoire qui contient le fichier à + accéder. Définissez cette directive à "." pour + rechercher les métafichiers dans le même répertoire que le fichier à + accéder :

+ +
MetaDir .
+ + +

Ou, pour rechercher dans un sous-répertoire du répertoire + contenant le fichier à accéder :

+ +
MetaDir .meta
+ + +
+
top
+

Directive MetaFiles

+ + + + + + + + +
Description:Active le traitement des métafichiers du CERN
Syntaxe:MetaFiles on|off
Défaut:MetaFiles off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Extension
Module:mod_cern_meta
+

Active ou désactive le traitement des métafichiers pour certains + répertoires.

+ +
+
top
+

Directive MetaSuffix

+ + + + + + + + +
Description:Suffixe du fichier contenant les métainformations dans le +style du CERN
Syntaxe:MetaSuffix suffixe
Défaut:MetaSuffix .meta
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Extension
Module:mod_cern_meta
+

Spécifie le suffixe du fichier contenant les métainformations. + Par exemple, si on conserve les valeurs par défaut des deux + directives précédentes, une requête pour + DOCUMENT_ROOT/un-rep/index.html provoquera la recherche + du métafichier + DOCUMENT_ROOT/un-rep/.web/index.html.meta, et utilisera + son contenu pour générer les informations quant aux en-têtes MIME + additionnels.

+ +

Exemple :

MetaSuffix .meta
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cern_meta.html.ko.euc-kr b/docs/manual/mod/mod_cern_meta.html.ko.euc-kr new file mode 100644 index 0000000..ffdb481 --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html.ko.euc-kr @@ -0,0 +1,150 @@ + + + + + +mod_cern_meta - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_cern_meta

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:CERN À¥¼­¹ö ¸ÞŸÆÄÀÏ Áö¿ø
»óÅÂ:Extension
¸ðµâ¸í:cern_meta_module
¼Ò½ºÆÄÀÏ:mod_cern_meta.c
+

¿ä¾à

+ +

CERN À¥¼­¹ö ¸ÞŸÆÄÀÏÀ» Èä³»³½´Ù. ¸ÞŸÆÄÀÏÀº Á¢±ÙÇÏ´Â + ÆÄÀÏ¿¡ ´ëÇØ ÀϹÝÀûÀÎ Çì´õ¿Ü¿¡ Ãß°¡·Î Ãâ·ÂÇÒ HTTP Çì´õ¸¦ + ´ã°íÀÖ´Ù. ¾ÆÆÄÄ¡ .asis ÆÄÀÏ°ú ºñ½ÁÇÏ°í, Expires: Çì´õ¸¦ + ¼öÁ¤Çϰųª ´Ù¸¥ ½Å±âÇÑ ÀϵéÀ» ÇÒ ¼ö ÀÖ´Ù. ¸ÞŸ Á¤º¸¸¦ ´Ù·ç´Â + ¹æ¹ýÀº ´Ù¾çÇÏÁö¸¸, ÀÌ¹Ì ÀÌ ¸ðµâÀ» »ç¿ëÇÏ´Â ¸¹Àº CERN »ç¿ëÀÚµéÀ» + À§ÇØ ÀÌ ¹æ¹ýÀ» ¼±ÅÃÇß´Ù.

+ +

´õ ÀÚ¼¼ÇÑ Á¤º¸´Â CERN metafile semantics¸¦ Âü°íÇ϶ó.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

MetaDir Áö½Ã¾î

+ + + + + + + + +
¼³¸í:CERN ¸ÞŸÁ¤º¸¸¦ ãÀ» µð·ºÅ丮 À̸§
¹®¹ý:MetaDir directory
±âº»°ª:MetaDir .web
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Extension
¸ðµâ:mod_cern_meta
+

¾ÆÆÄÄ¡°¡ ¸ÞŸÁ¤º¸ ÆÄÀÏÀ» ãÀ» µð·ºÅ丮¸íÀ» ÁöÁ¤ÇÑ´Ù. + µð·ºÅ丮´Â º¸Åë Á¢±ÙÇÒ ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮ÀÇ '°¨ÃçÁø' + ÇÏÀ§µð·ºÅ丮´Ù. "."À¸·Î ÁöÁ¤ÇÏ¸é °°Àº µð·ºÅ丮¿¡¼­ + ÆÄÀÏÀ» ã´Â´Ù:

+ +

MetaDir .

+ +

¾Æ´Ï¸é ÆÄÀÏÀÌ ÀÖ´Â ÇÏÀ§µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù:

+ +

MetaDir .meta

+ +
+
top
+

MetaFiles Áö½Ã¾î

+ + + + + + + + +
¼³¸í:CERN ¸ÞŸÆÄÀÏÀ» ó¸®ÇÑ´Ù
¹®¹ý:MetaFiles on|off
±âº»°ª:MetaFiles off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Extension
¸ðµâ:mod_cern_meta
+

µð·ºÅ丮º°·Î ¸ÞŸÆÄÀÏ Ã³¸®¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.

+ +
+
top
+

MetaSuffix Áö½Ã¾î

+ + + + + + + + +
¼³¸í:CERN ¸ÞŸÁ¤º¸¸¦ ÀúÀåÇÏ´Â ÆÄÀÏÀÇ Á¢¹Ì»ç
¹®¹ý:MetaSuffix suffix
±âº»°ª:MetaSuffix .meta
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Extension
¸ðµâ:mod_cern_meta
+

¸ÞŸÁ¤º¸¸¦ ÀúÀåÇÏ´Â ÆÄÀÏÀÇ Á¢¹Ì»ç¸¦ ÁöÁ¤ÇÑ´Ù. ¿¹¸¦ µé¾î, + µÎ Áö½Ã¾îÀÇ ±âº»°ªÀ» »ç¿ëÇÒ °æ¿ì + DOCUMENT_ROOT/somedir/index.htmlÀ» ¿äûÇϸé + DOCUMENT_ROOT/somedir/.web/index.html.metaÀÇ + ³»¿ëÀ» Âü°íÇÏ¿© MIME Çì´õ Á¤º¸¸¦ Ãß°¡ÇÑ´Ù.

+ +

¿¹Á¦:

+ MetaSuffix .meta +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html b/docs/manual/mod/mod_cgi.html new file mode 100644 index 0000000..4195d2f --- /dev/null +++ b/docs/manual/mod/mod_cgi.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cgi.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cgi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cgi.html.en b/docs/manual/mod/mod_cgi.html.en new file mode 100644 index 0000000..915f083 --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.en @@ -0,0 +1,294 @@ + + + + + +mod_cgi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_cgi

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Execution of CGI scripts
Status:Base
Module Identifier:cgi_module
Source File:mod_cgi.c
+

Summary

+ +

Any file that has the handler + cgi-script will be treated + as a CGI script, and run by the server, with its output being + returned to the client. Files acquire this handler either by + having a name containing an extension defined by the + AddHandler directive, or by being + in a ScriptAlias + directory.

+ +

For an introduction to using CGI scripts with Apache, see + our tutorial on Dynamic Content + With CGI.

+ +

When using a multi-threaded MPM under unix, the module + mod_cgid should be used in place of + this module. At the user level, the two modules are essentially + identical.

+ +

For backward-compatibility, the cgi-script handler will also be activated + for any file with the mime-type application/x-httpd-cgi. The + use of the magic mime-type is deprecated.

+
+ +
top
+
+

CGI Environment variables

+

The server will set the CGI environment variables as described + in the CGI specification, + with the following provisions:

+ +
+
PATH_INFO
+ +
This will not be available if the AcceptPathInfo directive is explicitly set to + off. The default behavior, if AcceptPathInfo is not given, is that mod_cgi will accept path info (trailing + /more/path/info following the script filename in the URI), + while the core server will return a 404 NOT FOUND error for requests + with additional path info. Omitting the AcceptPathInfo directive has the same effect as setting + it On for mod_cgi requests.
+ +
REMOTE_HOST
+ +
This will only be set if HostnameLookups is set to on (it + is off by default), and if a reverse DNS lookup of the accessing + host's address indeed finds a host name.
+ +
REMOTE_IDENT
+ +
This will only be set if IdentityCheck is set to + on and the accessing host supports the ident + protocol. Note that the contents of this variable cannot be + relied upon because it can easily be faked, and if there is a + proxy between the client and the server, it is usually + totally useless.
+ +
REMOTE_USER
+ +
This will only be set if the CGI script is subject to + authentication.
+ +
+

This module also leverages the core functions + ap_add_common_vars and + ap_add_cgi_vars + to add environment variables like:

+
+
DOCUMENT_ROOT
+ +
Set with the content of the related DocumentRoot directive.
+ +
SERVER_NAME
+ +
The fully qualified domain name related to the request.
+ +
SERVER_ADDR
+ +
The IP address of the Virtual Host serving the request.
+ +
SERVER_ADMIN
+ +
Set with the content of the related ServerAdmin directive.
+
+

For an exhaustive list it is suggested to write a basic CGI script + that dumps all the environment variables passed by Apache in a convenient format. +

+
top
+
+

CGI Debugging

+

Debugging CGI scripts has traditionally been difficult, mainly + because it has not been possible to study the output (standard + output and error) for scripts which are failing to run + properly. These directives provide more detailed logging of errors + when they occur.

+ +

CGI Logfile Format

+

When configured, the CGI error log logs any CGI which does not + execute properly. Each CGI script which fails to operate causes + several lines of information to be logged. The first two lines + are always of the format:

+ +

+ %% [time] request-line
+ %% HTTP-status CGI-script-filename +

+ +

If the error is that CGI script cannot be run, the log file + will contain an extra two lines:

+ +

+ %%error
+ error-message +

+ +

Alternatively, if the error is the result of the script + returning incorrect header information (often due to a bug in + the script), the following information is logged:

+ +

+ %request
+ All HTTP request headers received
+ POST or PUT entity (if any)
+ %response
+ All headers output by the CGI script
+ %stdout
+ CGI standard output
+ %stderr
+ CGI standard error
+

+ +

(The %stdout and %stderr parts may be missing if the script did + not output anything on standard output or standard error).

+ +
+
top
+

ScriptLog Directive

+ + + + + + +
Description:Location of the CGI script error logfile
Syntax:ScriptLog file-path
Context:server config, virtual host
Status:Base
Module:mod_cgi, mod_cgid
+

The ScriptLog directive sets the CGI + script error logfile. If no ScriptLog is given, + no error log is created. If given, any CGI errors are logged into the + filename given as argument. If this is a relative file or path it is + taken relative to the ServerRoot. +

+ +

Example

ScriptLog logs/cgi_log
+
+ +

This log will be opened as the user the child processes run + as, i.e. the user specified in the main User directive. This means that + either the directory the script log is in needs to be writable + by that user or the file needs to be manually created and set + to be writable by that user. If you place the script log in + your main logs directory, do NOT change the + directory permissions to make it writable by the user the child + processes run as.

+ +

Note that script logging is meant to be a debugging feature + when writing CGI scripts, and is not meant to be activated + continuously on running servers. It is not optimized for speed + or efficiency, and may have security problems if used in a + manner other than that for which it was designed.

+ +
+
top
+

ScriptLogBuffer Directive

+ + + + + + + +
Description:Maximum amount of PUT or POST requests that will be recorded +in the scriptlog
Syntax:ScriptLogBuffer bytes
Default:ScriptLogBuffer 1024
Context:server config, virtual host
Status:Base
Module:mod_cgi, mod_cgid
+

The size of any PUT or POST entity body that is logged to + the file is limited, to prevent the log file growing too big + too quickly if large bodies are being received. By default, up + to 1024 bytes are logged, but this can be changed with this + directive.

+ +
+
top
+

ScriptLogLength Directive

+ + + + + + + +
Description:Size limit of the CGI script logfile
Syntax:ScriptLogLength bytes
Default:ScriptLogLength 10385760
Context:server config, virtual host
Status:Base
Module:mod_cgi, mod_cgid
+

ScriptLogLength can be used to limit the + size of the CGI script logfile. Since the logfile logs a lot of + information per CGI error (all request headers, all script output) + it can grow to be a big file. To prevent problems due to unbounded + growth, this directive can be used to set an maximum file-size for + the CGI logfile. If the file exceeds this size, no more + information will be written to it.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html.fr.utf8 b/docs/manual/mod/mod_cgi.html.fr.utf8 new file mode 100644 index 0000000..2b831fd --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.fr.utf8 @@ -0,0 +1,313 @@ + + + + + +mod_cgi - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_cgi

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Exécution des scripts CGI
Statut:Base
Identificateur de Module:cgi_module
Fichier Source:mod_cgi.c
+

Sommaire

+ +

Tout fichier pris en compte par le gestionnaire + cgi-script sera traité en tant que script CGI et + exécuté par le serveur, sa sortie étant renvoyée au client. Les + fichiers sont associés à ce gestionnaire soit parce qu'ils possèdent + un nom contenant une extension définie par la directive AddHandler, soit parce qu'ils se + situent dans un répertoire défini par une directive ScriptAlias.

+ +

Comme introduction à l'utilisation des scripts CGI avec Apache, + voir notre tutoriel Les contenus + dynamiques avec CGI.

+ +

Il est recommandé d'utiliser le module mod_cgid + à la place de mod_cgi lorsqu'on utilise un module MPM + multi-threadé sous Unix. Vus de l'utilisateur, les deux modules + sont pratiquement identiques.

+ +

À des fins de compatibilité ascendante, le gestionnaire + cgi-script sera aussi activé pour tout fichier possédant le type + MIME application/x-httpd-cgi. L'utilisation du type + MIME magic est obsolète.

+
+ +
top
+
+

Les variables d'environnement CGI

+

Le serveur va définir les variables d'environnement CGI comme + décrit dans la Spécification CGI, de la + manière suivante :

+ +
+
PATH_INFO
+ +
Cette variable ne sera pas disponible si la directive + AcceptPathInfo est + explicitement définie à off. Par défaut, si la + directive AcceptPathInfo n'est pas définie, + mod_cgi acceptera des informations de chemin (en + ajoutant /infos/chemin après le nom du script dans l'URI), alors + que le serveur de base retournera une erreur 404 NOT FOUND pour + les requêtes contenant des informations de chemin supplémentaires. + Ne pas définir la directive AcceptPathInfo + a le même effet sur les requêtes avec mod_cgi que + de la définir à On.
+ +
REMOTE_HOST
+ +
Cette variable ne sera définie que si la directive HostnameLookups est définie à + on (elle est à off par défaut), et si + une recherche DNS inverse sur l'adresse IP de l'hôte client + aboutit effectivement à un nom d'hôte.
+ +
REMOTE_IDENT
+ +
Cette variable ne sera définie que si la directive IdentityCheck + est définie à on, et si l'hôte client supporte le + protocole ident. Notez que l'on ne peut accorder une confiance + aveugle au contenu de cette variable car il peut être aisément + falsifié, et si un mandataire s'intercale entre le client et le + serveur, il est totalement inutilisable.
+ +
REMOTE_USER
+ +
Cette variable ne sera définie que si le script CGI fait + l'objet d'une authentification.
+ +
+

Ce module utilise aussi les fonctions de base ap_add_common_vars + et ap_add_cgi_vars + pour ajouter des variables d'environnement comme :

+
+
DOCUMENT_ROOT
+ +
Prend la valeur définie par la directive DocumentRoot.
+ +
SERVER_NAME
+ +
Le nom de domaine pleinement qualifié pour la requête considérée
+ +
SERVER_ADDR
+ +
L'adresse IP du serveur virtuel qui traite la requête
+ +
SERVER_ADMIN
+ +
Prend la valeur définie par la directive ServerAdmin.
+
+

Pour une liste exhaustive de ces variables, vous pouvez écrire un script + CGI basique qui extrait toutes les variables d'environnement passées par + Apache selon un format adapté. +

+
top
+
+

Débogage des scripts CGI

+

Le débogage des scripts CGI était difficile par le passé, + principalement parce qu'il n'était pas possible d'étudier la sortie + (sortie standard et erreurs) des scripts dont l'exécution échouait. + Les directives qui suivent permettent une journalisation plus détaillée des + erreurs.

+ +

Format du fichier journal CGI

+

Lorsqu'il est configuré, le journal des erreurs CGI enregistre + la sortie de tout programme CGI dont l'exécution ne s'effectue pas + correctement. Un script CGI dont l'exécution échoue provoque la + journalisation d'une grande quantité d'informations. Les deux + premières lignes possèdent toujours le format suivant :

+ +

+ %% [date] requête
+ %% état HTTP nom du script CGI +

+ +

Si le script CGI n'a pas pu démarrer, le fichier journal + contiendra les deux lignes supplémentaires suivantes :

+ +

+ %%erreur
+ message d'erreur +

+ +

Par contre, si l'erreur provient du renvoi par le script + d'informations incorrectes dans les en-têtes (dû souvent à une + bogue du script), les informations suivantes sont journalisées + :

+ +

+ %requête
+ Tous les en-têtes de requête HTTP reçus
+ Les entités POST ou PUT (s'il en existe)
+ %réponse
+ Tous les en-têtes générés par le script CGI
+ %stdout
+ la sortie standard CGI
+ %stderr
+ la sortie d'erreurs standard CGI
+

+ +

(Les parties %stdout et %stderr seront absentes si le script + n'a rien envoyé sur la sortie standard ou la sortie + d'erreurs).

+ +
+
top
+

Directive ScriptLog

+ + + + + + +
Description:Chemin du fichier journal des erreurs du script +CGI
Syntaxe:ScriptLog chemin fichier
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_cgi, mod_cgid
+

La directive ScriptLog permet de définir + le chemin du fichier journal des erreurs du script CGI. Si cette + directive n'est pas définie, aucune journalisation des erreurs n'est + effectuée. Si elle est définie, toute erreur CGI sera enregistrée + dans le fichier dont le nom est fourni en argument. S'il s'agit d'un + chemin de fichier relatif, il est considéré par rapport au + répertoire défini par la directive ServerRoot. +

+ +

Exemple

ScriptLog logs/cgi_log
+
+ +

Ce journal sera ouvert par l'utilisateur sous lequel les + processus enfants s'exécutent, c'est à dire l'utilisateur spécifié + par la directive du serveur User. Ceci implique que le + répertoire dans lequel se trouve le journal doit être accessible en + écriture pour cet utilisateur, ou bien que le fichier est créé + manuellement et accessible en écriture pour cet utilisateur. Si vous + placez le journal du script dans votre répertoire principal des + journaux, ne modifiez JAMAIS les permissions de ce + dernier afin de le le rendre accessible en écriture par + l'utilisateur sous lequel les processus enfants s'exécutent.

+ +

Notez que l'on ne doit activer la journalisation des scripts + qu'à des fins de débogage lors de l'écriture de scripts CGI, et non + de manière permanente sur un serveur en production. Elle n'est pas + optimisée en terme de performances et d'efficacité, et peut + présenter des problèmes de sécurité si on l'utilise dans un cadre + autre que celui pour lequel elle a été conçue.

+ +
+
top
+

Directive ScriptLogBuffer

+ + + + + + + +
Description:Taille maximale des requêtes PUT ou POST qui seront +enregistrées dans le journal du script
Syntaxe:ScriptLogBuffer octets
Défaut:ScriptLogBuffer 1024
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_cgi, mod_cgid
+

Cette directive permet de limiter la taille du corps de toute + entité PUT ou POST qui sera enregistrée dans le journal, afin + de prévenir une croissance trop importante et trop rapide du fichier + journal due à la réception de corps de requête de grandes tailles. + Cette directive permet de modifier cette taille maximale, dont la + valeur par défaut est de 1024 octets.

+ +
+
top
+

Directive ScriptLogLength

+ + + + + + + +
Description:Taille maximale du fichier journal des scripts +CGI
Syntaxe:ScriptLogLength octets
Défaut:ScriptLogLength 10385760
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_cgi, mod_cgid
+

La directive ScriptLogLength permet de + définir la taille maximale du fichier journal des scripts CGI. Comme + le fichier journal accumule une grande quantité d'informations par + erreur CGI (tous les en-têtes de la requête, toutes les sorties du + script), il peut vite atteindre une grande taille. En limitant la + taille du fichier, cette directive permet d'éviter les problèmes que + causerait sa croissance sans limites. Lorsque le fichier a atteint + cette taille maximale, plus aucune information n'y est + enregistrée.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html.ja.utf8 b/docs/manual/mod/mod_cgi.html.ja.utf8 new file mode 100644 index 0000000..dd9aee0 --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.ja.utf8 @@ -0,0 +1,279 @@ + + + + + +mod_cgi - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_cgi

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:CGI スクリプトã®å®Ÿè¡Œ
ステータス:Base
モジュール識別å­:cgi_module
ソースファイル:mod_cgi.c
+

概è¦

+ +

ãƒãƒ³ãƒ‰ãƒ© cgi-script + ãŒæŒ‡å®šã•ã‚Œã¦ã„るファイル㯠CGI スクリプトã¨ã—ã¦æ‰±ã‚れ〠+ サーãƒã«ã‚ˆã‚Šå®Ÿè¡Œã•ã‚Œã€ãã®å‡ºåŠ›ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã•ã‚Œã¾ã™ã€‚ + ファイルã¯ã€AddHandler + ディレクティブã«æŒ‡å®šã•ã‚ŒãŸ æ‹¡å¼µå­ã‚’åå‰ã«å«ã‚€ã‹ã€ + ScriptAlias + ディレクトリã«å­˜åœ¨ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã“ã®ãƒãƒ³ãƒ‰ãƒ©ã«ãªã‚Šã¾ã™ã€‚

+ +

Apache 㧠CGI スクリプトを使用ã™ã‚‹ãŸã‚ã®ã‚¤ãƒ³ãƒˆãƒ­ãƒ€ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ + CGI ã«ã‚ˆã‚‹å‹•çš„コンテンツ + ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +

Unix ã§ãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã® MPM を使ã£ã¦ã„ã‚‹å ´åˆã¯ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® + 代ã‚ã‚Šã« mod_cgid を使ã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ユーザレベルã§ã¯ã“ã®äºŒã¤ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯æœ¬è³ªçš„ã«ã¯åŒä¸€ã§ã™ã€‚

+ +

後方互æ›æ€§ã®ãŸã‚〠MIME タイプ㌠application/x-httpd-cgi + ã§ã‚るファイルã§ã‚‚ cgi-script ãƒãƒ³ãƒ‰ãƒ©ãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚ã“ã®ç‰¹æ®Šãª MIME タイプを + 使ã†æ–¹æ³•ã¯éžæŽ¨å¥¨ã§ã™ã€‚

+
+ +
top
+
+

CGI 環境変数

+

サーãƒã¯ CGI + è¦æ ¼ ã§æ±ºã‚られã¦ã„ã‚‹ CGI + 環境変数を設定ã—ã¾ã™ã€‚以下ã®ã‚‚ã®ã¯ã€æ¡ä»¶ä»˜ãã§è¨­å®šã•ã‚Œã¾ã™ã€‚

+ +
+
PATH_INFO
+ +
ã“れ㯠AcceptPathInfo ディレクティブãŒæ˜Žç¤ºçš„ã« off + ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã¯è¨­å®šã•ã‚Œã¾ã›ã‚“。デフォルトã®ã€ + AcceptPathInfo ㌠+ 指定ã•ã‚Œã¦ã„ãªã„ã¨ãã®æŒ¯ã‚‹èˆžã„ã§ã¯ã€mod_cgi ã¯ãƒ‘ス情報 + (URI ã®ã‚¹ã‚¯ãƒªãƒ—トã®ãƒ•ã‚¡ã‚¤ãƒ«åã®å¾Œã«ç¶šã /more/path/info) ã‚’ + å—ã‘付ã‘ã¾ã™ãŒã€ã‚³ã‚¢ã¯ã‚µãƒ¼ãƒã¯ãƒ‘ス情報ã®ã‚るリクエスト㫠+ 対ã—㦠404 NOT FOUND エラーを返ã—ã¾ã™ã€‚AcceptPathInfo + ディレクティブを + çœç•¥ã™ã‚‹ã¨ã€mod_cgi ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—㦠+ On ã‚’ + 設定ã—ãŸã®ã¨åŒã˜åŠ¹æžœã«ãªã‚Šã¾ã™ã€‚
+ +
REMOTE_HOST
+ +
HostnameLookups + ㌠on (デフォルトã§ã¯ off ã§ã™) + ã§ã€ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ã„るホストã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã® DNS + ã®é€†å¼•ããŒå®Ÿéš›ã«ãƒ›ã‚¹ãƒˆåを見ã¤ã‘ãŸã¨ãã«ã®ã¿è¨­å®šã•ã‚Œã¾ã™ã€‚
+ +
REMOTE_IDENT
+ +
IdentityCheck + ㌠on ã«è¨­å®šã•ã‚Œã¦ã„ã¦ã€ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ã„るホスト㌠+ ident プロトコルをサãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã¨ãã«ã®ã¿è¨­å®šã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã¯ç°¡å˜ã«å½ã‚‹ã“ã¨ãŒã§ãã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒã®é–“ã« + プロキシãŒã‚ã‚Œã°ã¾ã£ãŸãå½¹ã«ç«‹ãŸãªã„ã®ã§ã€ + ã“ã®å¤‰æ•°ã®å€¤ã¯ä¿¡ç”¨ã§ããªã„ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 +
+ +
REMOTE_USER
+ +
CGI + スクリプトã«èªè¨¼ãŒå¿…è¦ãªã¨ãã«ã®ã¿è¨­å®šã•ã‚Œã¾ã™ã€‚
+
+
top
+
+

CGI ã®ãƒ‡ãƒãƒƒã‚°

+

CGI スクリプトã®ãƒ‡ãƒãƒƒã‚°ã¯ã€æ­£ã—ã動作ã—ã¦ã„ãªã„スクリプトã®å‡ºåŠ› + (標準出力ã¨ã‚¨ãƒ©ãƒ¼) + を調ã¹ã‚‹ã“ã¨ãŒã§ããªã„ãŸã‚ã«ã€é›£ã—ã„状態ãŒç¶šã„ã¦ã„ã¾ã—ãŸã€‚ + ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚ˆã‚Šè©³ç´°ãªã‚¨ãƒ©ãƒ¼ã®ãƒ­ã‚°åŽé›†ã‚’æä¾›ã—ã¾ã™ã€‚

+ +

CGI ログファイルã®æ›¸å¼

+

設定ã•ã‚Œã¦ã„ã‚‹ã¨ãã«ã¯ã€CGI エラーログã¯é©åˆ‡ã«å‹•ä½œã—ãªã„ã™ã¹ã¦ã® + CGI をログåŽé›†ã—ã¾ã™ã€‚ãã‚Œãžã‚Œã®æ­£ã—ã動作ã—ãªã„ CGI + スクリプト㯠複数ã®è¡Œã«ã‚ãŸã‚‹æƒ…å ±ãŒãƒ­ã‚°åŽé›†ã•ã‚Œã¾ã™ã€‚最åˆã® + 2 è¡Œã¯å¸¸ã«ä»¥ä¸‹ã®æ›¸å¼ã§ã™:

+ +

+ %% [time] request-line
+ %% HTTP-status CGI-script-filename +

+ +

エラーãŒã€CGI スクリプトãŒå®Ÿè¡Œã§ããªã„ã¨ã„ã†ã‚‚ã®ã§ã‚ã‚‹å ´åˆã¯ã€ + ログファイルã¯ã•ã‚‰ã«ã‚‚ㆠ2 行書ã‹ã‚Œã¾ã™:

+ +

+ %%error
+ error-message +

+ +

ãã†ã§ã¯ãªãã€ã‚¨ãƒ©ãƒ¼ãŒæ­£ã—ããªã„ヘッダ情報を返ã™çµæžœã§ã‚ã‚‹å ´åˆ + (スクリプトã®ãƒã‚°ã§ã‚ã‚‹ã“ã¨ãŒã‚ˆãã‚ã‚Šã¾ã™)〠+ 以下ã®æƒ…å ±ãŒãƒ­ã‚°åŽé›†ã•ã‚Œã¾ã™:

+ +

+ %request
+ å—ã‘å–ã£ãŸã™ã¹ã¦ã® HTTP リクエストヘッダ
+ (ã‚‚ã—ã‚ã‚Œã°) POST ã‚„ PUT ã®ä¸­èº«
+ %response
+ CGI スクリプトã«ã‚ˆã‚Šå‡ºåŠ›ã•ã‚ŒãŸã™ã¹ã¦ã®ãƒ˜ãƒƒãƒ€
+ %stdout
+ CGI 標準出力
+ %stderr
+ CGI 標準エラー
+

+ +

(スクリプトãŒæ¨™æº–出力や標準エラーã«ä½•ã‚‚出力ã—ãªã‹ã£ãŸå ´åˆã¯ã€ + %stdout ã‚„ %stderr ã¯ã‚ã‚Šã¾ã›ã‚“)。

+ +
+
top
+

ScriptLog ディレクティブ

+ + + + + + +
説明:CGI スクリプトã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®å ´æ‰€
構文:ScriptLog file-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_cgi, mod_cgid
+

ScriptLog ディレクティブ㯠CGI スクリプト㮠+ エラーログファイルを設定ã—ã¾ã™ã€‚ScriptLog ㌠+ 設定ã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€ + エラーログã¯ä½œæˆã•ã‚Œã¾ã›ã‚“。設定ã•ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€CGI + ã®ã‚¨ãƒ©ãƒ¼ã¯ã™ã¹ã¦å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚Œã¦ã„るファイルåã«ãƒ­ã‚°ã•ã‚Œã¾ã™ã€‚ + 相対パスã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€ + ServerRootã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—㦠+ 扱ã‚ã‚Œã¾ã™ã€‚

+ +

例

ScriptLog logs/cgi_log
+
+ +

ã“ã®ãƒ­ã‚°ã¯å­ãƒ—ロセスãŒå®Ÿè¡Œã•ã‚Œã¦ã„るユーザã¨ã—ã¦ã‚ªãƒ¼ãƒ—ンã•ã‚Œã¾ã™ã€‚ + ã™ãªã‚ã¡ã€User ディレクティブã§æŒ‡å®šã•ã‚ŒãŸ + ユーザã§ã™ã€‚ã“ã‚Œã¯ã€ã‚¹ã‚¯ãƒªãƒ—トログãŒæ›¸ã‹ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒãã®ãƒ¦ãƒ¼ã‚¶ã§ + 書ãè¾¼ã¿å¯èƒ½ã‹ã€ã‚¹ã‚¯ãƒªãƒ—トファイルãŒæ‰‹å‹•ã§ä½œæˆã•ã‚Œã€ãã®ãƒ¦ãƒ¼ã‚¶ã§ + 書ãè¾¼ã¿å¯èƒ½ã«ãªã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚スクリプトログを + アクセスログãªã©ã®ãŸã‚ã®ãƒ­ã‚°ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ›¸ã‹ã‚Œã‚‹ã‚ˆã†ã«ã—ãŸã¨ãã¯ã€ + ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å­ãƒ—ロセスを実行ã—ã¦ã„るユーザã®æ¨©é™ã§ + 書ãè¾¼ã¿å¯èƒ½ã«ã¯ã—ãªã„よã†ã«ã—ã¦ãã ã•ã„。

+ +

スクリプトã®ãƒ­ã‚°åŽé›†ã¯ CGI スクリプトを書ãã¨ãã® + デãƒãƒƒã‚°ç”¨ã®æ©Ÿèƒ½ã¨ã—ã¦æ„図ã•ã‚Œã¦ã„ã¦ã€é€šå¸¸ã®ã‚µãƒ¼ãƒã§ + 常ã«ä½¿ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«ã¯æ„図ã•ã‚Œã¦ã„ãªã„ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + 速度や効率ã¯æœ€é©åŒ–ã•ã‚Œã¦ãŠã‚‰ãšã€è¨­è¨ˆã•ã‚ŒãŸä»¥å¤–ã®æ–¹æ³•ã§ä½¿ç”¨ã•ã‚Œã‚‹ã¨ + セキュリティã®å•é¡ŒãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +
+
top
+

ScriptLogBuffer ディレクティブ

+ + + + + + + +
説明:スクリプトログã«è¨˜éŒ²ã•ã‚Œã‚‹ PUT ã‚„ POST リクエストã®å†…容ã®ä¸Šé™
構文:ScriptLogBuffer bytes
デフォルト:ScriptLogBuffer 1024
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_cgi, mod_cgid
+

大ããªæœ¬ä½“ã‚’å—ã‘å–ã£ãŸã¨ãã«ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ãŒã™ãã«å¤§ãããªã‚Šã™ãŽã‚‹ + å•é¡Œã‚’é¿ã‘ã‚‹ãŸã‚ã«ã€ãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒ­ã‚°åŽé›†ã•ã‚Œã‚‹ PUT 㨠POST + ã®æœ¬ä½“ã®å¤§ãã•ã¯åˆ¶é™ã•ã‚Œã¦ã„ã¾ã™ã€‚デフォルトã§ã¯ã€1024 + ãƒã‚¤ãƒˆã¾ã§ãŒãƒ­ã‚°åŽé›†ã•ã‚Œã¾ã™ãŒã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãれを変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +

+ +
+
top
+

ScriptLogLength ディレクティブ

+ + + + + + + +
説明:CGI スクリプトã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤§ãã•ã®ä¸Šé™
構文:ScriptLogLength bytes
デフォルト:ScriptLogLength 10385760
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_cgi, mod_cgid
+

ScriptLogLength 㯠CGI スクリプトã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ« + ã®å¤§ãã•ã‚’制é™ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ログファイル㯠+ CGI ã®ã‚¨ãƒ©ãƒ¼æ¯Žã«å¤§é‡ã®æƒ…å ± (リクエストã®ã™ã¹ã¦ã®ãƒ˜ãƒƒãƒ€ã€ + ã™ã¹ã¦ã®å‡ºåŠ›)をログã—ã¾ã™ã®ã§ã€ã™ãã«å¤§ããªãƒ•ã‚¡ã‚¤ãƒ«ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®å¤§ãã•ã®åˆ¶é™ãŒãªã„ã“ã¨ã«ã‚ˆã‚‹å•é¡Œã‚’防ããŸã‚ã«ã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã£ã¦ CGI ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã® + 最大ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ファイルãŒã“ã®å¤§ãã•ã‚’超ãˆãŸå ´åˆã¯ã€ãれ以上ã¯æ›¸ãè¾¼ã¾ã‚Œã¾ã›ã‚“。

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html.ko.euc-kr b/docs/manual/mod/mod_cgi.html.ko.euc-kr new file mode 100644 index 0000000..9091253 --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.ko.euc-kr @@ -0,0 +1,262 @@ + + + + + +mod_cgi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_cgi

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:CGI ½ºÅ©¸³Æ® ½ÇÇà
»óÅÂ:Base
¸ðµâ¸í:cgi_module
¼Ò½ºÆÄÀÏ:mod_cgi.c
+

¿ä¾à

+ + + +

¼­¹ö´Â mime typeÀÌ application/x-httpd-cgiÀ̰ųª + (¾ÆÆÄÄ¡ 1.1 ÀÌÈÄ) Çڵ鷯°¡ cgi-scriptÀÎ ¸ðµç + ÆÄÀÏÀ» CGI ½ºÅ©¸³Æ®·Î ÀνÄÇÏ¿©, ½ÇÇàÇÏ°í, ±× °á°ú¸¦ Ŭ¶óÀ̾ðÆ®¿¡°Ô + º¸³½´Ù. ÆÄÀÏÀÌ AddType + Áö½Ã¾î·Î ÁöÁ¤ÇÑ È®ÀåÀÚ¸¦ °¡Áö°Å³ª, ScriptAlias µð·ºÅ丮 ¾È¿¡ + ÀÖÀ¸¸é CGI·Î 󸮵ȴÙ.

+ +

¼­¹ö´Â CGI ½ºÅ©¸³Æ®¸¦ ºÎ¸¦¶§ DOCUMENT_ROOT¶ó´Â + ȯ°æº¯¼ö¸¦ Ãß°¡ÇÑ´Ù. ÀÌ º¯¼ö´Â DocumentRoot ¼³Á¤°ªÀ» °¡Áø´Ù.

+ +

¾ÆÆÄÄ¡¿¡¼­ CGI ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼Ò°³´Â + CGI·Î µ¿Àû ÆäÀÌÁö »ý¼º ÅõÅ丮¾óÀ» + Âü°íÇ϶ó.

+ +

À¯´Ð½º¿¡¼­ ´ÙÁß¾²·¹µå MPMÀ» »ç¿ëÇÑ´Ù¸é ÀÌ ¸ðµâ´ë½Å + mod_cgid ¸ðµâÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. »ç¿ëÀÚ + ÀÔÀå¿¡¼­ ÀÌ µÎ ¸ðµâÀº ±âº»ÀûÀ¸·Î µ¿ÀÏÇÏ´Ù.

+
+ +
top
+
+

CGI ȯ°æº¯¼ö

+

¼­¹ö´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î CGI Ç¥ÁØÀÌ ¼³¸íÇÏ´Â + CGI ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù:

+ +
+
PATH_INFO
+ +
ÀÌ º¯¼ö´Â AcceptPathInfo Áö½Ã¾î¸¦ Á÷Á¢ off·Î + ÁöÁ¤ÇÑ °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù. AcceptPathInfo°¡ ¾ø´Â °æ¿ì ¼­¹ö´Â ±âº»ÀûÀ¸·Î + °æ·Î Á¤º¸°¡ ÀÖ´Â ¿äû¿¡ ´ëÇØ 404 NOT FOUND ¿À·ù¸¦ ³»Áö¸¸, + mod_cgi´Â °æ·Î Á¤º¸¸¦ (URI¿¡¼­ ½ºÅ©¸³Æ® + ÆÄÀÏ¸í µÚ¿¡ ³ª¿À´Â /more/path/info) ¹Þ´Â´Ù. + AcceptPathInfo Áö½Ã¾î¸¦ »ý·«Çϸé + mod_cgi ¿äû¿¡ ´ëÇؼ­ AcceptPathInfo¸¦ OnÀ¸·Î + ¼³Á¤ÇÑ °Í°ú °°´Ù.
+ +
REMOTE_HOST
+ +
ÀÌ º¯¼ö´Â HostnameLookups°¡ onÀÌ°í (±âº»°ªÀº + off), Á¢¼ÓÇÑ È£½ºÆ® ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ½ÇÁ¦ È£½ºÆ®¸íÀ» + ãÀº °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù.
+ +
REMOTE_IDENT
+ +
ÀÌ º¯¼ö´Â IdentityCheck°¡ onÀÌ°í, Á¢¼ÓÇÑ + È£½ºÆ®°¡ ident ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù. + ½±°Ô ÀÌ °ªÀ» ¼ÓÀÏ ¼ö Àֱ⶧¹®¿¡ ÀÌ º¯¼öÀÇ ³»¿ëÀ» ¹ÏÀ¸¸é + ¾ÈµÇ°í, Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö »çÀÌ¿¡ ÇÁ·Ï½Ã°¡ ÀÖ´Ù¸é º¯¼ö + ³»¿ëÀÌ ¿ÏÀüÈ÷ ¹«ÀǹÌÇÔÀ» ÁÖÀÇÇ϶ó.
+ +
REMOTE_USER
+ +
CGI ½ºÅ©¸³Æ®°¡ ÀÎÁõÀ» °ÅÃľßÇÏ´Â °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù.
+
+
top
+
+

CGI µð¹ö±ë

+

¾îµð¿¡¼­ À߸ø ½ÇÇàµÇ´ÂÁö ½ºÅ©¸³Æ®ÀÇ Ãâ·ÂÀ» (Ç¥ÁØÃâ·Â°ú + Ç¥ÁØ¿À·ù) º¼ ¼ö ¾ø±â¶§¹®¿¡ CGI ½ºÅ©¸³Æ®´Â ÀüÅëÀûÀ¸·Î µð¹ö±ëÇϱâ + ¾î·Á¿ü´Ù. ¾ÆÆÄÄ¡ 1.2 ÀÌÈÄ¿¡ Ãß°¡µÈ Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é ¹ß»ýÇÑ + ¿À·ù¸¦ ÀÚ¼¼È÷ ·Î±×¿¡ ³²±æ ¼ö ÀÖ´Ù.

+ +

CGI ·Î±×ÆÄÀÏ Çü½Ä

+

CGI ¿À·ù·Î±×´Â Á¤»óÀûÀ¸·Î ½ÇÇàÇÏÁö ¸øÇÑ CGI¸¦ ±â·ÏÇÑ´Ù. + ¿À·ù°¡ ¹ß»ýÇÑ CGI ½ºÅ©¸³Æ®´Â ·Î±×¿¡ ¿©·¯ ÁÙÀÇ Á¤º¸¸¦ ³²±ä´Ù. + ù¹ø° µÎ ÁÙÀº Ç×»ó ¾Æ·¡¿Í °°Àº Çü½ÄÀÌ´Ù:

+ +

+ %% [½Ã°£] ¿äûÁÙ
+ %% HTTP-»óÅ CGI-½ºÅ©¸³Æ®-ÆÄÀϸí +

+ +

CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ¾ø´Â ¿À·ùÀÎ °æ¿ì ·Î±×ÆÄÀÏ¿¡ + Ãß°¡·Î µÎ ÁÙÀ» ´õ ±â·ÏÇÑ´Ù:

+ +

+ %%error
+ ¿À·ù¹® +

+ +

½ºÅ©¸³Æ®°¡ (º¸Åë ½ºÅ©¸³Æ®ÀÇ ¹ö±×¶§¹®¿¡) À߸øµÈ Çì´õ + Á¤º¸¸¦ ¹ÝȯÇÏ´Â °æ¿ì, ´ÙÀ½ ³»¿ëÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù:

+ +

+ %request
+ ¹ÞÀº ¸ðµç HTTP Çì´õ
+ (ÀÖ´Ù¸é) POST³ª PUT ³»¿ë
+ %response
+ CGI ½ºÅ©¸³Æ® Ãâ·ÂÀÇ ¸ðµç Çì´õ
+ %stdout
+ CGI Ç¥ÁØÃâ·Â
+ %stderr
+ CGI Ç¥ÁØ¿À·ù
+

+ +

(½ºÅ©¸³Æ®°¡ Ç¥ÁØÃâ·ÂÀ̳ª Ç¥ÁØ¿À·ù¿¡ ¾Æ¹« ³»¿ëµµ Ãâ·ÂÇÏÁö + ¾Ê¾Ò´Ù¸é %stdout°ú %stderr ºÎºÐÀº »ý·«µÉ ¼ö ÀÖ´Ù).

+ +
+
top
+

ScriptLog Áö½Ã¾î

+ + + + + + +
¼³¸í:CGI ½ºÅ©¸³Æ® ¿À·ù·Î±×ÆÄÀÏÀÇ À§Ä¡
¹®¹ý:ScriptLog file-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_cgi, mod_cgid
+

ScriptLog Áö½Ã¾î´Â CGI ½ºÅ©¸³Æ® + ¿À·ù·Î±×ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù. ScriptLog¸¦ + »ç¿ëÇÏÁö¾ÊÀ¸¸é ¿À·ù·Î±×¸¦ ¸¸µéÁö ¾Ê´Â´Ù. »ç¿ëÇÏ¸é ¾Æ±Ô¸ÕÆ®·Î + ÁöÁ¤ÇÑ ÆÄÀÏ¿¡ CGI ¿À·ù¸¦ ±â·ÏÇÑ´Ù. »ó´ë°æ·Î¸¦ ÁöÁ¤Çϸé + ServerRoot¿¡ »ó´ë°æ·Î·Î + ¹Þ¾ÆµéÀδÙ. +

+ +

¿¹Á¦

+ ScriptLog logs/cgi_log +

+ +

ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ, Áï User Áö½Ã¾î·Î ÁöÁ¤ÇÑ »ç¿ëÀÚ + ±ÇÇÑÀ¸·Î ·Î±×¸¦ ¿¬´Ù. ±×·¡¼­ ±× »ç¿ëÀÚ°¡ ½ºÅ©¸³Æ® ·Î±×°¡ + ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀÌ ÀÖ´øÁö, Á÷Á¢ ¹Ì¸® ÆÄÀÏÀ» ¸¸µé¾î¼­ + ±× »ç¿ëÀÚ¿¡°Ô ¾²±â±ÇÇÑÀ» Áà¾ß ÇÑ´Ù. ½ºÅ©¸³Æ® ·Î±×¸¦ ÁÖ ·Î±× + µð·ºÅ丮¿¡ µÐ´Ù¸é ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ¿¡°Ô ¾²±â±ÇÇÑÀ» + ÁÖ±âÀ§ÇØ µð·ºÅ丮 ±ÇÇÑÀ» º¯°æÇÏÁö ¸¶¶ó.

+ +

½ºÅ©¸³Æ® ·Î±×´Â CGI ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÒ¶§ µð¹ö±ëÀ» À§ÇÑ + ¿ëµµÀÌÁö ¼­¹ö¸¦ ½ÇÇàÇÏ´Â µ¿¾È °è¼Ó »ç¿ëÇϱâÀ§ÇÔÀÌ ¾Æ´ÔÀ» + ÁÖÀÇÇ϶ó. ¼Óµµ¿Í È¿À²¼º¸é¿¡¼­ ÃÖÀûÈ­°¡ ¾ÈµÇÀÖ°í, ¼³°èÇÑ + ¸ñÀûÀÌ¿ÜÀÇ ¹æ¹ýÀ¸·Î »ç¿ëÇÏ¸é º¸¾È»ó ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù.

+ +
+
top
+

ScriptLogBuffer Áö½Ã¾î

+ + + + + + + +
¼³¸í:½ºÅ©¸³Æ® ·Î±×¿¡ ±â·ÏÇÒ PUT ȤÀº POST ¿äûÀÇ ÃÖ´ë·®
¹®¹ý:ScriptLogBuffer bytes
±âº»°ª:ScriptLogBuffer 1024
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_cgi, mod_cgid
+

Å« ³»¿ëÀ» ¹Þ¾Æ¼­ ·Î±×ÆÄÀÏÀÌ ³Ê¹« »¡¸® Ä¿Áö´Â Çö»óÀ» ¸·±âÀ§ÇØ + ÆÄÀÏ¿¡ ±â·ÏÇÒ PUT ȤÀº POST ³»¿ëÀÇ Å©±â¸¦ Á¦ÇÑÇÑ´Ù. ±âº»ÀûÀ¸·Î + 1024 ¹ÙÀÌÆ®±îÁö ·Î±×¿¡ ±â·ÏÇÏÁö¸¸, ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +
+
top
+

ScriptLogLength Áö½Ã¾î

+ + + + + + + +
¼³¸í:CGI ½ºÅ©¸³Æ® ·Î±×ÆÄÀÏÀÇ Å©±â Á¦ÇÑ
¹®¹ý:ScriptLogLength bytes
±âº»°ª:ScriptLogLength 10385760
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_cgi, mod_cgid
+

ScriptLogLength´Â CGI ½ºÅ©¸³Æ® + ·Î±×ÆÄÀÏÀÇ Å©±â¸¦ Á¦ÇÑÇÑ´Ù. CGI ¿À·ù°¡ ¹ß»ýÇÒ¶§¸¶´Ù (¸ðµç + ¿äû Çì´õ, ¸ðµç ½ºÅ©¸³Æ® Ãâ·Â µî) ¸¹Àº Á¤º¸°¡ ·Î±×¿¡ + ±â·ÏµÇ±â¶§¹®¿¡ ÆÄÀÏÀÌ ¸Å¿ì Ä¿Áú ¼ö ÀÖ´Ù. ÆÄÀÏÀÌ ¹«ÇÑÈ÷ Ä¿Áö´Â + ¹®Á¦¸¦ ¸·±âÀ§ÇØ ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© CGI ·Î±×ÆÄÀÏÀÇ ÃÖ´ë + ÆÄÀÏÅ©±â¸¦ ¼³Á¤ÇÑ´Ù. ÆÄÀÏÀÇ Å©±â°¡ ¼³Á¤ÇÑ °ªÀ» ³ÑÀ¸¸é ´õ + ÀÌ»ó Á¤º¸¸¦ ±â·ÏÇÏÁö¾Ê´Â´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html b/docs/manual/mod/mod_cgid.html new file mode 100644 index 0000000..e15a7e1 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cgid.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cgid.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cgid.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cgid.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cgid.html.en b/docs/manual/mod/mod_cgid.html.en new file mode 100644 index 0000000..3148653 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.en @@ -0,0 +1,160 @@ + + + + + +mod_cgid - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_cgid

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Execution of CGI scripts using an + external CGI daemon
Status:Base
Module Identifier:cgid_module
Source File:mod_cgid.c
Compatibility:Unix threaded MPMs only
+

Summary

+ +

Except for the optimizations and the additional ScriptSock directive noted below, + mod_cgid behaves similarly to mod_cgi. + See the mod_cgi summary for additional details + about Apache and CGI.

+ +

On certain unix operating systems, forking a process from a + multi-threaded server is a very expensive operation because the + new process will replicate all the threads of the parent + process. In order to avoid incurring this expense on each CGI + invocation, mod_cgid creates an external daemon that is + responsible for forking child processes to run CGI scripts. The + main server communicates with this daemon using a unix domain + socket.

+ +

This module is used by default instead of + mod_cgi whenever a multi-threaded MPM + is selected during the compilation process. At the user level, + this module is identical in configuration and operation to + mod_cgi. The only exception is the + additional directive ScriptSock which gives the + name of the socket to use for communication with the cgi + daemon.

+
+ + +
top
+

CGIDScriptTimeout Directive

+ + + + + + + + +
Description:The length of time to wait for more output from the +CGI program
Syntax:CGIDScriptTimeout time[s|ms]
Default:value of Timeout directive when +unset or set to 0
Context:server config, virtual host, directory, .htaccess
Status:Base
Module:mod_cgid
Compatibility:Available in httpd 2.4.10 and later; in prior releases no timeout was applied
+

This directive limits the length of time to wait for more output from + the CGI program. If the time is exceeded, the request and CGI are + terminated.

+ +

Example

CGIDScriptTimeout 20
+
+ + +
+
top
+

ScriptSock Directive

+ + + + + + + +
Description:The filename prefix of the socket to use for communication with +the cgi daemon
Syntax:ScriptSock file-path
Default:ScriptSock cgisock
Context:server config
Status:Base
Module:mod_cgid
+

This directive sets the filename prefix of the socket to use for + communication with the CGI daemon, an extension corresponding to + the process ID of the server will be appended. The socket will be opened + using the permissions of the user who starts Apache (usually + root). To maintain the security of communications with CGI + scripts, it is important that no other user has permission to + write in the directory where the socket is located.

+ +

If file-path is not an absolute path, the location specified + will be relative to the value of + DefaultRuntimeDir.

+ +

Example

ScriptSock /var/run/cgid.sock
+
+ + +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html.fr.utf8 b/docs/manual/mod/mod_cgid.html.fr.utf8 new file mode 100644 index 0000000..af6d6f1 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.fr.utf8 @@ -0,0 +1,164 @@ + + + + + +mod_cgid - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_cgid

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Exécution des scripts CGI par l'intermédiaire d'un démon +CGI externe
Statut:Base
Identificateur de Module:cgid_module
Fichier Source:mod_cgid.c
Compatibilité:Uniquement compatible avec les MPMs Unix +threadés
+

Sommaire

+ +

Exceptées les optimisations et la directive additionnelle + ScriptSock décrite + ci-dessous, mod_cgid a un comportement similaire à + celui de mod_cgi. Voir le résumé de + mod_cgi pour plus de détails à propos d'Apache et + CGI.

+ +

Sur certains systèmes d'exploitation de type unix, le lancement + (forking) d'un processus depuis un serveur multi-threadé est une + opération très lourde car le nouveau processus va répliquer tous les + threads du processus parent. Pour éviter cette dépense de ressouces + pour chaque invocation d'un programme CGI, mod_cgid + crée un démon externe qui est responsable du branchement de + processus enfants destinés au lancement de scripts CGI. Le serveur + principal communique avec ce démon par l'intermédiaire d'une socket + de domaine unix.

+ +

Si un MPM multi-threadé a été sélectionné lors du processus de + compilation, c'est ce module qui est utilisé par défaut à la place + de mod_cgi. Du point de vue de l'utilisateur, ce + module est identique à mod_cgi quant à sa + configuration et son utilisation. La seule différence est la + directive additionnelle ScriptSock qui permet de + définir le nom du socket à utiliser pour la communication avec le + démon CGI.

+
+ + +
top
+

Directive CGIDScriptTimeout

+ + + + + + + + +
Description:Durée maximale d'attente de la prochaine sortie du +programme CGI
Syntaxe:CGIDScriptTimeout time[s|ms]
Défaut:Si non définie ou définie à 0, valeur de la directive Timeout
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Base
Module:mod_cgid
Compatibilité:Disponible à partir de la version 2.4.10 du serveur HTTP Apache ; +dans les versions précédentes, aucune durée d'attente n'était définie
+

Cette directive permet de limiter la durée d'attente avant les prochaines données + reçues en sortie du programme CGI. Si ce temps est dépassé, la requête et le + programme CGI se terminent.

+ +

Exemple

CGIDScriptTimeout 20
+
+ + +
+
top
+

Directive ScriptSock

+ + + + + + + +
Description:Le préfixe du nom de fichier du socket à utiliser pour +communiquer avec le démon CGI
Syntaxe:ScriptSock chemin fichier
Défaut:ScriptSock cgisock
Contexte:configuration globale
Statut:Base
Module:mod_cgid
+

Cette directive permet de définir le préfixe du nom de fichier de la + socket à utiliser pour communiquer avec le démon CGI, préfixe auquel + sera ajouté une extension correspondant à l'identifiant processus du + serveur. La socket sera ouverte avec les permissions de l'utilisateur + qui a démarré Apache (en général root). Afin de préserver la + sécurité des communications avec les scripts CGI, il est impératif + de n'accorder à aucun autre utilisateur la permission d'écrire dans + le répertoire où se trouve la socket.

+ +

Si chemin fichier n'est pas un chemin absolu, il est + relatif au chemin défini par la directive DefaultRuntimeDir.

+ +

Exemple

ScriptSock /var/run/cgid.sock
+
+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html.ja.utf8 b/docs/manual/mod/mod_cgid.html.ja.utf8 new file mode 100644 index 0000000..836ee99 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.ja.utf8 @@ -0,0 +1,147 @@ + + + + + +mod_cgid - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_cgid

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:外部 CGI デーモンを使ã£ãŸ CGI スクリプトã®å®Ÿè¡Œ
ステータス:Base
モジュール識別å­:cgid_module
ソースファイル:mod_cgid.c
互æ›æ€§:Unix ã®ã‚¹ãƒ¬ãƒƒãƒ‰ MPM ã®ã¿
+

概è¦

+ +

最é©åŒ–ãŒæ–½ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã¨ã€ä»¥ä¸‹ã§èª¬æ˜Žã•ã‚Œã¦ã„る追加㮠ScriptSock ディレクティブを除ã„ã¦ã¯ã€ + mod_cgid 㯠mod_cgi ã¨åŒæ§˜ã® + 動作をã—ã¾ã™ã€‚Apache 㨠CGI ã«é–¢ã™ã‚‹è©³ç´°ã¯ + mod_cgi ã®æ¦‚è¦ã‚’読んã§ãã ã•ã„。

+ +

Unix オペレーティングシステムã®ä¸­ã«ã¯ã€ãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®ã‚µãƒ¼ãƒã‹ã‚‰ + プロセスを fork ã™ã‚‹ã®ãŒéžå¸¸ã«ã‚³ã‚¹ãƒˆã®é«˜ã„動作ã«ãªã£ã¦ã„ã‚‹ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ + ç†ç”±ã¯ã€æ–°ã—ã„プロセスãŒè¦ªãƒ—ロセスã®ã‚¹ãƒ¬ãƒƒãƒ‰ã™ã¹ã¦ã‚’複製ã™ã‚‹ã‹ã‚‰ã§ã™ã€‚ + å„ CGI 起動時ã«ã“ã®ã‚³ã‚¹ãƒˆãŒã‹ã‹ã‚‹ã®ã‚’防ããŸã‚ã«ã€mod_cgid + ã¯å­ãƒ—ロセスを fork ã—㦠CGI スクリプトを実行ã™ã‚‹ãŸã‚ã® + 外部デーモンを実行ã—ã¾ã™ã€‚ + 主サーãƒã¯ unix ドメインソケットを使ã£ã¦ã“ã®ãƒ‡ãƒ¼ãƒ¢ãƒ³ã¨é€šä¿¡ã—ã¾ã™ã€‚

+ +

コンパイル時ã«ãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ MPM ãŒé¸ã°ã‚ŒãŸã¨ã㯠+ mod_cgi ã®ä»£ã‚ã‚Šã«å¿…ãšã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ + ユーザã®ãƒ¬ãƒ™ãƒ«ã§ã¯ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®è¨­å®šã¨å‹•ä½œã¯ mod_cgi + ã¨ã¾ã£ãŸãåŒã˜ã§ã™ã€‚唯一ã®ä¾‹å¤–㯠ScriptSock ディレクティブ㮠+ 追加ã§ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠CGI デーモンã¨ã®é€šä¿¡ç”¨ã®ã‚½ã‚±ãƒƒãƒˆã®åå‰ã‚’ + 指定ã—ã¾ã™ã€‚

+
+ + +
top
+

CGIDScriptTimeout ディレクティブ

+ + + + + + + + +
説明:The length of time to wait for more output from the +CGI program
構文:CGIDScriptTimeout time[s|ms]
デフォルト:value of Timeout directive when +unset or set to 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Base
モジュール:mod_cgid
互æ›æ€§:Available in httpd 2.4.10 and later; in prior releases no timeout was applied

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ScriptSock ディレクティブ

+ + + + + + + +
説明:CGI デーモンã¨ã®é€šä¿¡ã«ä½¿ã‚れるソケットã®ãƒ•ã‚¡ã‚¤ãƒ«åã®æŽ¥é ­è¾ž
構文:ScriptSock file-path
デフォルト:ScriptSock logs/cgisock
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Base
モジュール:mod_cgid
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠CGI デーモンã¨ã®é€šä¿¡ã«ä½¿ã‚れるソケット㮠+ ファイルåã®æŽ¥é ­è¾žã‚’設定ã—ã¾ã™ã€‚ã¾ãŸã€ãƒ•ã‚¡ã‚¤ãƒ«åã«ã¯ã‚µãƒ¼ãƒã®ãƒ—ロセスID㌠+ 追加ã•ã‚Œã¾ã™ã€‚ソケット㯠Apache ãŒèµ·å‹•ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ (通常 root) ã® + パーミッションを用ã„ã¦ã‚ªãƒ¼ãƒ—ンã•ã‚Œã¾ã™ã€‚CGI スクリプトã¨ã®é€šä¿¡ã® + セキュリティをä¿ã¤ãŸã‚ã«ã€ã‚½ã‚±ãƒƒãƒˆã®å­˜åœ¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + ä»–ã®ãƒ¦ãƒ¼ã‚¶ãŒæ›¸ãè¾¼ã¿æ¨©é™ã‚’æŒã£ã¦ã„ãªã„よã†ã«ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚

+ +

例

+ ScriptSock /var/run/cgid.sock +

+ + +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html.ko.euc-kr b/docs/manual/mod/mod_cgid.html.ko.euc-kr new file mode 100644 index 0000000..a8247df --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.ko.euc-kr @@ -0,0 +1,143 @@ + + + + + +mod_cgid - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_cgid

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:¿ÜºÎ CGI µ¥¸óÀ» »ç¿ëÇÏ¿© CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇà
»óÅÂ:Base
¸ðµâ¸í:cgid_module
¼Ò½ºÆÄÀÏ:mod_cgid.c
Áö¿ø:À¯´Ð½º¿¡¼­ ¾²·¹µå¸¦ »ç¿ëÇÏ´Â MPMs Àü¿ë
+

¿ä¾à

+ +

¾Æ·¡¿¡¼­ ¼³¸íÇÏ´Â Ãß°¡µÈ ScriptSock Áö½Ã¾î¸¦ Á¦¿ÜÇÏ°í + mod_cgid´Â mod_cgi¿Í + ºñ½ÁÇÏ°Ô µ¿ÀÛÇÑ´Ù. ¾ÆÆÄÄ¡¿Í CGI¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº + mod_cgi¸¦ Âü°íÇ϶ó.

+ +

¾î¶² À¯´Ð½º ¿î¿µÃ¼Á¦ÀÇ °æ¿ì ´ÙÁß¾²·¹µå ¼­¹ö¿¡¼­ ÇÁ·Î¼¼½º¸¦ + Æ÷Å©(fork)ÇÏ¸é »õ·Î¿î ÇÁ·Î¼¼½º°¡ ºÎ¸ð ÇÁ·Î¼¼½ºÀÇ ¸ðµç ¾²·¹µå¸¦ + º¹Á¦ÇØ¾ß ÇϹǷΠºÎ´ãÀÌ µÈ´Ù. CGI ½ÇÇึ´Ù ÀÌ·± ºÎ´ãÀ» ÁÖÁö + ¾Ê±âÀ§ÇØ mod_cgid´Â CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ´Â + ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ Æ÷Å©ÇÏ´Â ¿ÜºÎ µ¥¸óÀ» ¸¸µç´Ù. ÁÖ¼­¹ö´Â ÀÌ + µ¥¸ó°ú À¯´Ð½º¼ÒÄÏ(unix domain socket)À» »ç¿ëÇÏ¿© Åë½ÅÇÑ´Ù.

+ +

ÄÄÆÄÀÏÇÒ¶§ ´ÙÁß¾²·¹µå MPMÀ» ¼±ÅÃÇÏ¸é ±âº»ÀûÀ¸·Î + mod_cgi ´ë½Å ÀÌ ¸ðµâÀ» »ç¿ëÇÑ´Ù. »ç¿ëÀÚ + ÀÔÀå¿¡¼­ ÀÌ ¸ðµâÀÇ ¼³Á¤°ú µ¿ÀÛÀº mod_cgi¿Í + µ¿ÀÏÇÏ´Ù. À¯ÀÏÇÑ Â÷ÀÌÁ¡Àº cgi µ¥¸ó°ú Åë½ÅÀ» À§ÇØ »ç¿ëÇÒ + ¼ÒÄÏÀÇ À̸§À» ¼³Á¤ÇÏ´Â ScriptSock Áö½Ã¾î°¡ + Ãß°¡µÈ Á¡ÀÌ´Ù.

+
+ + +
top
+

CGIDScriptTimeout Áö½Ã¾î

+ + + + + + + + +
¼³¸í:The length of time to wait for more output from the +CGI program
¹®¹ý:CGIDScriptTimeout time[s|ms]
±âº»°ª:value of Timeout directive when +unset or set to 0
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Base
¸ðµâ:mod_cgid
Áö¿ø:Available in httpd 2.4.10 and later; in prior releases no timeout was applied

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

ScriptSock Áö½Ã¾î

+ + + + + + + +
¼³¸í:cgi µ¥¸ó°ú Åë½ÅÀ» À§ÇØ »ç¿ëÇÒ ¼ÒÄÏÀÇ À̸§
¹®¹ý:ScriptSock file-path
±âº»°ª:ScriptSock logs/cgisock
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_cgid
+

ÀÌ Áö½Ã¾î´Â CGI µ¥¸ó°ú Åë½ÅÀ» À§ÇØ »ç¿ëÇÒ ¼ÒÄÏÀÇ À̸§À» + ÁöÁ¤ÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÑ »ç¿ëÀÚ (º¸Åë root) ±ÇÇÑÀ¸·Î ¼ÒÄÏÀ» + ¿¬´Ù. CGI ½ºÅ©¸³Æ®¿Í Åë½ÅÀÇ º¸¾ÈÀ» À§ÇØ ´Ù¸¥ »ç¿ëÀÚ°¡ ¼ÒÄÏÀÌ + ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀ» °¡ÁöÁö¾Ê´Â °ÍÀÌ Áß¿äÇÏ´Ù.

+ +

¿¹Á¦

+ ScriptSock /var/run/cgid.sock +

+ + +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_charset_lite.html b/docs/manual/mod/mod_charset_lite.html new file mode 100644 index 0000000..9803eab --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_charset_lite.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_charset_lite.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_charset_lite.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_charset_lite.html.en b/docs/manual/mod/mod_charset_lite.html.en new file mode 100644 index 0000000..6eea337 --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html.en @@ -0,0 +1,236 @@ + + + + + +mod_charset_lite - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_charset_lite

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + +
Description:Specify character set translation or recoding
Status:Extension
Module Identifier:charset_lite_module
Source File:mod_charset_lite.c
+

Summary

+ +

mod_charset_lite allows the server to change + the character set of responses before sending them to the client. + In an EBCDIC environment, Apache always translates HTTP protocol + content (e.g. response headers) from the code page of the Apache + process locale to ISO-8859-1, but not the body of responses. In + any environment, mod_charset_lite can be used to + specify that response bodies should be translated. For example, + if files are stored in EBCDIC, then + mod_charset_lite can translate them to + ISO-8859-1 before sending them to the client.

+ +

This module provides a small subset of configuration + mechanisms implemented by Russian Apache and its associated + mod_charset.

+
+ +
top
+
+

Common Problems

+ +

Invalid character set names

+ +

The character set name parameters of CharsetSourceEnc and + CharsetDefault + must be acceptable to the translation mechanism used by + APR on the system where + mod_charset_lite is deployed. These character + set names are not standardized and are usually not the same as + the corresponding values used in http headers. Currently, APR + can only use iconv(3), so you can easily test your character set + names using the iconv(1) program, as follows:

+ +

+ iconv -f charsetsourceenc-value -t charsetdefault-value +

+ + +

Mismatch between character set of content and translation + rules

+ +

If the translation rules don't make sense for the content, + translation can fail in various ways, including:

+ +
    +
  • The translation mechanism may return a bad return code, + and the connection will be aborted.
  • + +
  • The translation mechanism may silently place special + characters (e.g., question marks) in the output buffer when + it cannot translate the input buffer.
  • +
+ +
+
top
+

CharsetDefault Directive

+ + + + + + + +
Description:Charset to translate into
Syntax:CharsetDefault charset
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_charset_lite
+

The CharsetDefault directive specifies the + charset that content in the associated container should be + translated to.

+ +

The value of the charset argument must be accepted + as a valid character set name by the character set support in + APR. Generally, this means that it must be + supported by iconv.

+ +

Example

<Directory "/export/home/trawick/apacheinst/htdocs/convert">
+    CharsetSourceEnc  UTF-16BE
+    CharsetDefault    ISO-8859-1
+</Directory>
+
+ +
+ Specifying the same charset for both CharsetSourceEnc + and CharsetDefault disables translation. The charset + need not match the charset of the response, but it must be a valid charset on the system. +
+ + +
+
top
+

CharsetOptions Directive

+ + + + + + + + +
Description:Configures charset translation behavior
Syntax:CharsetOptions option [option] ...
Default:CharsetOptions ImplicitAdd
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_charset_lite
+

The CharsetOptions directive configures certain + behaviors of mod_charset_lite. Option can + be one of

+ +
+
ImplicitAdd | NoImplicitAdd
+ +
The ImplicitAdd keyword specifies that + mod_charset_lite should implicitly insert its + filter when the configuration specifies that the character + set of content should be translated. If the filter chain is + explicitly configured using the AddOutputFilter directive, NoImplicitAdd + should be specified so that mod_charset_lite + doesn't add its filter.
+ +
TranslateAllMimeTypes | NoTranslateAllMimeTypes
+
Normally, mod_charset_lite will only perform + translation on a small subset of possible mimetypes. When the + TranslateAllMimeTypes keyword is specified for a given + configuration section, translation is performed without regard for + mimetype.
+ +
+ +
+
top
+

CharsetSourceEnc Directive

+ + + + + + + +
Description:Source charset of files
Syntax:CharsetSourceEnc charset
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_charset_lite
+

The CharsetSourceEnc directive specifies the + source charset of files in the associated container.

+ +

The value of the charset argument must be accepted + as a valid character set name by the character set support in + APR. Generally, this means that it must be + supported by iconv.

+ +

Example

<Directory "/export/home/trawick/apacheinst/htdocs/convert">
+    CharsetSourceEnc  UTF-16BE
+    CharsetDefault    ISO-8859-1
+</Directory>
+
+ +

The character set names in this example work with the iconv + translation support in Solaris 8.

+ +
+ Specifying the same charset for both CharsetSourceEnc + and CharsetDefault disables translation. The charset + need not match the charset of the response, but it must be a valid charset on the system. +
+ + +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_charset_lite.html.fr.utf8 b/docs/manual/mod/mod_charset_lite.html.fr.utf8 new file mode 100644 index 0000000..58c6bb6 --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html.fr.utf8 @@ -0,0 +1,252 @@ + + + + + +mod_charset_lite - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_charset_lite

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + +
Description:Spécifie dans quel jeu de caractère doivent s'effectuer les +traductions ou les réencodages
Statut:Extension
Identificateur de Module:charset_lite_module
Fichier Source:mod_charset_lite.c
+

Sommaire

+ +

Le module mod_charset_lite permet au serveur de + modifier le jeu de caractères des réponses avant de les envoyer aux + clients. Dans un environnement EBCDIC, Apache traduit toujours les + contenus au protocole HTTP (par exemples les en-têtes de réponses) + de la page de code de la locale du processus Apache vers ISO-8859-1, + mais pas le corps des réponses. Dans tous les environnements, on + peut utiliser mod_charset_lite pour spécifier que + les corps des réponses doivent être traduits. Par exemple, si les + fichiers sont stockés sous forme EBCDIC, + mod_charset_lite pourra les traduire en ISO-8859-1 + avant de les envoyer au client.

+ +

Ce module fournit quelques procédés de configuration implémentés + par Apache version russe, ainsi que son module + mod_charset associé.

+
+ +
top
+
+

Problèmes courants

+ +

Noms de jeux de caractères non valides

+ +

Les noms des jeux de caractères passés en paramètres aux + directives CharsetSourceEnc et + CharsetDefault + doivent être reconnus par le mécanisme de traduction utilisé par + APR sur le système où + mod_charset_lite est utilisé. Ces noms de jeux de + caractères ne sont pas standardisés, et sont en général différents + des valeurs qui leur correspondent dans les en-têtes HTTP. + Actuellement, APR ne peut utiliser que iconv(3) ; vous pouvez donc + tester facilement vos noms de jeux de caractères en utilisant le + programme iconv(1), de la manière suivante :

+ +

+ iconv -f valeur-charsetsourceenc -t valeur-charsetdefault +

+ + +

Incompatibilité entre le jeu de caractères du + contenu et les règles de traduction

+ +

Si les règles de traduction ne peuvent s'appliquer au contenu, + la traduction peut échouer avec des conséquences diverses, comme + :

+ +
    +
  • Le mécanisme de traduction peut renvoyer un mauvais code de + retour, et la connexion sera interrompue.
  • + +
  • Le mécanisme de traduction peut insérer silencieusement des + caractères spéciaux (par exemple des points d'interrogation) dans + le tampon de sortie lorsqu'il n'est pas en mesure de traduire le + tampon d'entrée.
  • +
+ +
+
top
+

Directive CharsetDefault

+ + + + + + + +
Description:Jeu de caractère vers lequel la traduction doit +s'effectuer
Syntaxe:CharsetDefault jeu de caractères
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_charset_lite
+

La directive CharsetDefault permet de + spécifier le jeu de caractères vers lequel le contenu situé dans le + conteneur associé devra être traduit.

+ +

La valeur de l'argument jeu de caractères doit être + un nom de jeu de caractères valide du point de vue du support des + jeux de caractères dans APR. En général, cela + implique qu'elle doit être reconnue par iconv.

+ +

Exemple

<Directory "/export/home/trawick/apacheinst/htdocs/convert">
+    CharsetSourceEnc  UTF-16BE
+    CharsetDefault    ISO-8859-1
+</Directory>
+
+ +
+ Spécifier le même jeu de caractères pour les deux directives + CharsetSourceEnc + et CharsetDefault + désactive la traduction. Le jeu de caractères ne doit pas forcément + correspondre au jeu de caractères de la réponse, mais il doit être + valide du point de vue du système. +
+ +
+
top
+

Directive CharsetOptions

+ + + + + + + + +
Description:Précise les détails de la traduction du jeu de +caractères
Syntaxe:CharsetOptions option [option] ...
Défaut:CharsetOptions ImplicitAdd
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_charset_lite
+

La directive CharsetOptions permet de + préciser certains détails du comportement du module + mod_charset_lite. Option accepte les + valeurs suivantes :

+ +
+
ImplicitAdd | NoImplicitAdd
+ +
Le mot-clé ImplicitAdd indique que + mod_charset_lite doit insérer son filtre de + manière implicite lorsque la configuration indique que le jeu de + caractère du contenu doit être traduit. Si la chaîne de filtrage + est configurée de manière explicite via la directive AddOutputFilter, l'option + NoImplicitAdd doit être utilisée afin que + mod_charset_lite n'ajoute pas son propre + filtre.
+ +
TranslateAllMimeTypes | NoTranslateAllMimeTypes
+
Normalement, mod_charset_lite n'effectuera + une traduction qu'en présence d'un petit nombre de types MIME + parmi tous les types possibles. Lorsque l'option + TranslateAllMimeTypes est utilisée pour une section + de configuration donnée, la traduction est effectuée sans se + préoccuper du type MIME.
+ +
+ +
+
top
+

Directive CharsetSourceEnc

+ + + + + + + +
Description:Jeu de caractères source des fichiers
Syntaxe:CharsetSourceEnc jeu de caractères
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_charset_lite
+

La directive CharsetSourceEnc permet de + spécifier un jeu de caractères source pour les fichiers situés dans + le conteneur associé.

+ +

La valeur de l'argument jeu de caractères doit être + un nom de jeu de caractères valide du point de vue du support des + jeux de caractères dans APR. En général, cela + implique qu'elle doit être reconnue par iconv.

+ +

Exemple

<Directory "/export/home/trawick/apacheinst/htdocs/convert">
+    CharsetSourceEnc  UTF-16BE
+    CharsetDefault    ISO-8859-1
+</Directory>
+
+ +

Les noms de jeux de caractères de cet exemple sont reconnus par + le mécanisme de traduction d'iconv sous Solaris 8.

+ +
+ Spécifier le même jeu de caractères pour les deux directives + CharsetSourceEnc + et CharsetDefault + désactive la traduction. Le jeu de caractères ne doit pas forcément + correspondre au jeu de caractères de la réponse, mais il doit être + valide du point de vue du système. +
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_charset_lite.html.ko.euc-kr b/docs/manual/mod/mod_charset_lite.html.ko.euc-kr new file mode 100644 index 0000000..bc4255e --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html.ko.euc-kr @@ -0,0 +1,228 @@ + + + + + +mod_charset_lite - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_charset_lite

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¹®ÀÚÁýÇÕ º¯È¯À» ÁöÁ¤
»óÅÂ:Experimental
¸ðµâ¸í:charset_lite_module
¼Ò½ºÆÄÀÏ:mod_charset_lite.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ½ÇÇèÀûÀÎ ¸ðµâÀÌ°í, ÁÖÀÇÀÖ°Ô + »ç¿ëÇØ¾ß ÇÑ´Ù. ¿øÇÏ´Â µ¿ÀÛÀ» ÇÏ´ÂÁö + mod_charset_lite ¼³Á¤À» ½ÃÇèÇغÁ¶ó.

+ +

mod_charset_lite¸¦ »ç¿ëÇÏ¿© ¹®¼­ ¿øº»ÀÇ + ¹®ÀÚÁýÇÕ°ú ¹®¼­¸¦ Ŭ¶óÀ̾ðÆ®·Î º¸³»±â Àü¿¡ º¯È¯ÇÒ ¹®ÀÚÁýÇÕÀ» + ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. mod_charset_lite´Â Á÷Á¢ + ÀڷḦ º¯È¯ÇÏÁö¾Ê°í ´ë½Å ¾ÆÆÄÄ¡¿¡°Ô º¯È¯Ç϶ó°í ¿äûÇÑ´Ù. + mod_charset_lite´Â EBCDIC°ú ASCII ȯ°æ¿¡¼­ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. EBCDIC ȯ°æ¿¡¼­ ¾ÆÆÄÄ¡´Â º¸Åë ¾ÆÆÄÄ¡ ÇÁ·Î¼¼½ºÀÇ + ÄÚµåÆäÀÌÁö¿¡¼­ ISO-8859-1 ¹®ÀÚÁýÇÕÀ¸·Î ¹®¼­¸¦ º¯È¯ÇÑ´Ù. + mod_charset_lite¸¦ »ç¿ëÇÏ¿© ´Ù¸¥ º¯È¯À» + Áö½ÃÇÒ ¼ö ÀÖ´Ù. ASCII ȯ°æ¿¡¼­ ¾ÆÆÄÄ¡´Â ±âº»ÀûÀ¸·Î º¯È¯À» + ÇÏÁö ¾Ê±â¶§¹®¿¡, ¾î¶² º¯È¯À» À§Çؼ­´Â + mod_charset_lite°¡ ÇÊ¿äÇÏ´Ù.

+ +

ÀÌ ¸ðµâÀº ·¯½Ã¾ÆÆÇ ¾ÆÆÄÄ¡ÀÇ mod_charsetÀÌ + Á¦°øÇÏ´Â ¼³Á¤ÀÇ ÀϺθ¦ Á¦°øÇÑ´Ù.

+
+ +
top
+
+

ÀϹÝÀûÀÎ ¹®Á¦Á¡

+ +

À߸øµÈ ¹®ÀÚÁýÇÕ À̸§

+ +

mod_charset_lite¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ + ARP ¹ø¿ª±â´ÉÀÌ CharsetSourceEnc¿Í + CharsetDefaultÀÇ + ÆĶó¹ÌÅÍÀÎ ¹®ÀÚÁýÇÕ À̸§À» ó¸®ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¹®ÀÚÁýÇÕ + À̸§Àº Ç¥ÁØÈ­µÇÁö ¾Ê¾Ò°í, http Çì´õ¿¡ »ç¿ëÇÏ´Â °ª°ú Ç×»ó + °°Áö´Â ¾Ê´Ù. ÇöÀç APRÀº iconv(3)¸¸À» »ç¿ëÇϱ⶧¹®¿¡, + ´ÙÀ½°ú °°ÀÌ iconv(1) ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ƯÁ¤ ¹®ÀÚÁýÇÕ + À̸§À» »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö ½±°Ô ¾Ë ¼ö ÀÖ´Ù:

+ +

+ iconv -f charsetsourceenc-value -t charsetdefault-value +

+ + +

³»¿ë°ú º¯È¯±ÔÄ¢ÀÇ ¹®ÀÚÁýÇÕÀÌ ¼­·Î ´Ù¸§

+ +

º¯È¯±ÔÄ¢ÀÌ »óȲ¿¡ ¸ÂÁö¾ÊÀ¸¸é ´ÙÀ½°ú °°Àº ¿©·¯ ¹æ½ÄÀ¸·Î + º¯È¯ÀÌ ½ÇÆÐÇÒ ¼ö ÀÖ´Ù:

+ +
    +
  • º¯È¯±â´ÉÀÌ ½ÇÆÐ ¹ÝȯÄڵ带 ¹ÝȯÇÏ°í ¿¬°áÀÌ ²÷¾îÁú + ¼ö ÀÖ´Ù.
  • + +
  • ÀԷ¹öÆÛ¸¦ º¯È¯ÇÏÁö ¸øÇÒ¶§ Ãâ·Â¹öÆÛ¿¡ ´ë½Å Ưº°ÇÑ + ¹®ÀÚ¸¦ (¿¹, ¹°À½Ç¥) ÀûÀ» ¼ö ÀÖ´Ù.
  • +
+ +
+
top
+

CharsetDefault Áö½Ã¾î

+ + + + + + + +
¼³¸í:º¯È¯ÇÒ ¹®ÀÚÁýÇÕ
¹®¹ý:CharsetDefault charset
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Experimental
¸ðµâ:mod_charset_lite
+

CharsetDefault Áö½Ã¾î´Â Áö½Ã¾î¸¦ + »ç¿ëÇÑ À§Ä¡¿¡ ÀÖ´Â ¿øº»À» º¯È¯ÇÒ ¹®ÀÚÁýÇÕÀ» ÁöÁ¤ÇÑ´Ù.

+ +

charset ¾Æ±Ô¸ÕÆ®¿¡´Â APRÀÌ Áö¿øÇÏ´Â ¹®ÀÚÁýÇÕ + À̸§À» »ç¿ëÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î iconv°¡ Áö¿øÇÏ´Â ¹®ÀÚÁýÇÕÀ» + ÀǹÌÇÑ´Ù.

+ +

¿¹Á¦

+ <Directory /export/home/trawick/apacheinst/htdocs/convert>
+ + CharsetSourceEnc UTF-16BE
+ CharsetDefault ISO-8859-1
+
+ </Directory> +

+ +
+
top
+

CharsetOptions Áö½Ã¾î

+ + + + + + + + +
¼³¸í:¹®ÀÚÁýÇÕ º¯È¯ ±â´ÉÀ» ¼³Á¤
¹®¹ý:CharsetOptions option [option] ...
±âº»°ª:CharsetOptions DebugLevel=0 NoImplicitAdd
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Experimental
¸ðµâ:mod_charset_lite
+

CharsetOptions Áö½Ã¾î´Â + mod_charset_liteÀÇ ±â´ÉÀ» ¼³Á¤ÇÑ´Ù. + Option¿¡´Â ¾Æ·¡ Ç׸ñµéÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù

+ +
+
DebugLevel=n
+ +
DebugLevel Å°¿öµå´Â + mod_charset_lite°¡ ±â·ÏÇÏ´Â µð¹ö±×¹®±¸ÀÇ + ¼öÁØÀ» ¼³Á¤ÇÑ´Ù. ±âº»ÀûÀ¸·Î ¾î¶² °Íµµ ±â·ÏÇÏÁö ¾Ê´Â´Ù. + ÀÌ´Â DebugLevel=0°ú °°´Ù. ³ôÀº ¼ýÀÚ¸¦ »ç¿ëÇÒ¼ö·Ï + ´õ ¸¹Àº µð¹ö±×¹®±¸¸¦ ±â·ÏÇÏ°ÔµÇ¾î ¼­¹ö ¼º´ÉÀÌ ¶³¾îÁø´Ù. + ¼ýÀÚ°ªÀÇ ½ÇÁ¦ Àǹ̴ mod_charset_lite.c ¾ÕºÎºÐÀÇ + DBGLVL_ »ó¼ö Á¤ÀǸ¦ Âü°íÇ϶ó.
+ +
ImplicitAdd | NoImplicitAdd
+ +
ImplicitAdd Å°¿öµå´Â ³»¿ëÀ» º¯È¯ÇÒ + ¹®ÀÚÁýÇÕÀ» ÁöÁ¤Çϸé ÀÚµ¿À¸·Î mod_charset_lite¸¦ + ÇÊÅÍ¿¡ Ãß°¡ÇÑ´Ù. AddOutputFilter Áö½Ã¾î·Î ÇÊÅͼø¼­¸¦ Á÷Á¢ + ÁöÁ¤ÇÑ´Ù¸é, NoImplicitAdd¸¦ »ç¿ëÇÏ¿© + mod_charset_lite°¡ ÀÚµ¿À¸·Î ÇÊÅÍ¿¡ + Ãß°¡µÇÁö¾Êµµ·Ï ÇØ¾ß ÇÑ´Ù.
+
+ +
+
top
+

CharsetSourceEnc Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÆÄÀÏ ¿øº»ÀÇ ¹®ÀÚÁýÇÕ
¹®¹ý:CharsetSourceEnc charset
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Experimental
¸ðµâ:mod_charset_lite
+

CharsetSourceEnc Áö½Ã¾î´Â Áö½Ã¾î¸¦ + »ç¿ëÇÑ À§Ä¡¿¡ ÀÖ´Â ÆÄÀÏµé ¿øº»ÀÇ ¹®ÀÚÁýÇÕÀ» ÁöÁ¤ÇÑ´Ù.

+ +

charset ¾Æ±Ô¸ÕÆ®¿¡´Â APRÀÌ Áö¿øÇÏ´Â ¹®ÀÚÁýÇÕ + À̸§À» »ç¿ëÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î iconv°¡ Áö¿øÇÏ´Â ¹®ÀÚÁýÇÕÀ» + ÀǹÌÇÑ´Ù.

+ +

¿¹Á¦

+ <Directory /export/home/trawick/apacheinst/htdocs/convert>
+ + CharsetSourceEnc UTF-16BE
+ CharsetDefault ISO-8859-1
+
+ </Directory> +

+ +

Solaris 8ÀÇ iconv°¡ ÀÌ ¿¹Á¦ÀÇ ¹®ÀÚÁýÇÕÀ» Áö¿øÇÑ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_data.html b/docs/manual/mod/mod_data.html new file mode 100644 index 0000000..96e32f1 --- /dev/null +++ b/docs/manual/mod/mod_data.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_data.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_data.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_data.html.en b/docs/manual/mod/mod_data.html.en new file mode 100644 index 0000000..247ad0a --- /dev/null +++ b/docs/manual/mod/mod_data.html.en @@ -0,0 +1,106 @@ + + + + + +mod_data - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_data

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Convert response body into an RFC2397 data URL
Status:Extension
Module Identifier:data_module
Source File:mod_data.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

This module provides the ability to convert a response into + an RFC2397 data URL. +

+ +

Data URLs can be embedded inline within web pages using something + like the mod_include module, to remove the need for + clients to make separate connections to fetch what may potentially be + many small images. Data URLs may also be included into pages generated + by scripting languages such as PHP.

+ +

An example of a data URL

+ data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
+ AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
+ ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
+ a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
+ ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
+ F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
+ hhx4dbgYKAAA7
+

+ +

The filter takes no parameters, and can be added to the filter stack + using the SetOutputFilter directive, + or any of the directives supported by the mod_filter + module.

+ +

Configuring the filter

<Location "/data/images">
+    SetOutputFilter DATA
+</Location>
+
+ +
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_data.html.fr.utf8 b/docs/manual/mod/mod_data.html.fr.utf8 new file mode 100644 index 0000000..fd74c92 --- /dev/null +++ b/docs/manual/mod/mod_data.html.fr.utf8 @@ -0,0 +1,105 @@ + + + + + +mod_data - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_data

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Convertit un corps de réponse en URL de type données RFC2397
Statut:Extension
Identificateur de Module:data_module
Fichier Source:mod_data.c
Compatibilité:Disponible depuis la version 2.3 du serveur HTTP Apache
+

Sommaire

+ +

Ce module permet de convertir une réponse en URL de type données + RFC2397. +

+ +

Les URLs de type données peuvent être incluses en ligne dans les + pages web via le module mod_include par exemple, + afin d'éviter aux clients d'avoir à effectuer des connexions + séparées pour éventuellement extraire un grand nombre de petites + images. Les URLs de type données peuvent aussi être incluses dans + des pages générées par langages de scripting tels que PHP.

+ +

Un exemple d'URL de type données

+ data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
+ AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
+ ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
+ a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
+ ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
+ F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
+ hhx4dbgYKAAA7
+

+ +

Le filtre n'accepte aucun paramètre, et peut être ajouté à la + pile des filtres via la directive SetOutputFilter, ou toute autre directive + supportée par le module mod_filter.

+ +

Configuration du filtre

<Location "/data/images">
+    SetOutputFilter DATA
+</Location>
+
+ +
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html b/docs/manual/mod/mod_dav.html new file mode 100644 index 0000000..17e6a4e --- /dev/null +++ b/docs/manual/mod/mod_dav.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dav.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dav.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dav.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_dav.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_dav.html.en b/docs/manual/mod/mod_dav.html.en new file mode 100644 index 0000000..7fd8a91 --- /dev/null +++ b/docs/manual/mod/mod_dav.html.en @@ -0,0 +1,281 @@ + + + + + +mod_dav - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_dav

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Distributed Authoring and Versioning +(WebDAV) functionality
Status:Extension
Module Identifier:dav_module
Source File:mod_dav.c
+

Summary

+ +

This module provides class 1 and class 2 WebDAV ('Web-based Distributed + Authoring and Versioning') functionality for Apache. This + extension to the HTTP protocol allows creating, moving, + copying, and deleting resources and collections on a remote web + server.

+
+ +
top
+
+

Enabling WebDAV

+

To enable mod_dav, add the following to a + container in your httpd.conf file:

+ +
Dav On
+ + +

This enables the DAV file system provider, which is implemented + by the mod_dav_fs module. Therefore, that module + must be compiled into the server or loaded at runtime using the + LoadModule directive.

+ +

In addition, a location for the DAV lock database must be + specified in the global section of your httpd.conf + file using the DavLockDB + directive:

+ +
DavLockDB /usr/local/apache2/var/DavLock
+ + +

The directory containing the lock database file must be + writable by the User + and Group under which + Apache is running.

+ +

You may wish to add a <Limit> clause inside the <Location> directive to limit access to + DAV-enabled locations. If you want to set the maximum amount of + bytes that a DAV client can send at one request, you have to use + the LimitXMLRequestBody + directive. The "normal" LimitRequestBody directive has no effect on DAV + requests.

+ +

Full Example

DavLockDB "/usr/local/apache2/var/DavLock"
+
+<Directory "/usr/local/apache2/htdocs/foo">
+    Require all granted
+    Dav On
+
+    AuthType Basic
+    AuthName DAV
+    AuthUserFile "user.passwd"
+
+    <LimitExcept GET POST OPTIONS>
+        Require user admin
+    </LimitExcept>
+</Directory>
+
+ +
top
+
+

Security Issues

+ +

Since DAV access methods allow remote clients to manipulate + files on the server, you must take particular care to assure that + your server is secure before enabling mod_dav.

+ +

Any location on the server where DAV is enabled should be + protected by authentication. The use of HTTP Basic Authentication + is not recommended. You should use at least HTTP Digest + Authentication, which is provided by the + mod_auth_digest module. Nearly all WebDAV clients + support this authentication method. An alternative is Basic + Authentication over an SSL enabled + connection.

+ +

In order for mod_dav to manage files, it must + be able to write to the directories and files under its control + using the User and + Group under which + Apache is running. New files created will also be owned by this + User and Group. For this reason, it is + important to control access to this account. The DAV repository + is considered private to Apache; modifying files outside of Apache + (for example using FTP or filesystem-level tools) should not be + allowed.

+ +

mod_dav may be subject to various kinds of + denial-of-service attacks. The LimitXMLRequestBody directive can be + used to limit the amount of memory consumed in parsing large DAV + requests. The DavDepthInfinity directive can be + used to prevent PROPFIND requests on a very large + repository from consuming large amounts of memory. Another + possible denial-of-service attack involves a client simply filling + up all available disk space with many large files. There is no + direct way to prevent this in Apache, so you should avoid giving + DAV access to untrusted users.

+
top
+
+

Complex Configurations

+ +

One common request is to use mod_dav to + manipulate dynamic files (PHP scripts, CGI scripts, etc). This is + difficult because a GET request will always run the + script, rather than downloading its contents. One way to avoid + this is to map two different URLs to the content, one of which + will run the script, and one of which will allow it to be + downloaded and manipulated with DAV.

+ +
Alias "/phparea" "/home/gstein/php_files"
+Alias "/php-source" "/home/gstein/php_files"
+<Location "/php-source">
+    Dav On
+    ForceType text/plain
+</Location>
+ + +

With this setup, http://example.com/phparea can be + used to access the output of the PHP scripts, and + http://example.com/php-source can be used with a DAV + client to manipulate them.

+
+
top
+

Dav Directive

+ + + + + + + +
Description:Enable WebDAV HTTP methods
Syntax:Dav On|Off|provider-name
Default:Dav Off
Context:directory
Status:Extension
Module:mod_dav
+

Use the Dav directive to enable the + WebDAV HTTP methods for the given container:

+ +
<Location "/foo">
+    Dav On
+</Location>
+ + +

The value On is actually an alias for the default + provider filesystem which is served by the mod_dav_fs module. Note, that once you have DAV enabled + for some location, it cannot be disabled for sublocations. + For a complete configuration example have a look at the section above.

+ +
+ Do not enable WebDAV until you have secured your server. Otherwise + everyone will be able to distribute files on your system. +
+ +
+
top
+

DavDepthInfinity Directive

+ + + + + + + +
Description:Allow PROPFIND, Depth: Infinity requests
Syntax:DavDepthInfinity on|off
Default:DavDepthInfinity off
Context:server config, virtual host, directory
Status:Extension
Module:mod_dav
+

Use the DavDepthInfinity directive to + allow the processing of PROPFIND requests containing the + header 'Depth: Infinity'. Because this type of request could constitute + a denial-of-service attack, by default it is not allowed.

+ +
+
top
+

DavMinTimeout Directive

+ + + + + + + +
Description:Minimum amount of time the server holds a lock on +a DAV resource
Syntax:DavMinTimeout seconds
Default:DavMinTimeout 0
Context:server config, virtual host, directory
Status:Extension
Module:mod_dav
+

When a client requests a DAV resource lock, it can also + specify a time when the lock will be automatically removed by + the server. This value is only a request, and the server can + ignore it or inform the client of an arbitrary value.

+ +

Use the DavMinTimeout directive to specify, in + seconds, the minimum lock timeout to return to a client. + Microsoft Web Folders defaults to a timeout of 120 seconds; the + DavMinTimeout can override this to a higher value + (like 600 seconds) to reduce the chance of the client losing + the lock due to network latency.

+ +

Example

<Location "/MSWord">
+    DavMinTimeout 600
+</Location>
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html.fr.utf8 b/docs/manual/mod/mod_dav.html.fr.utf8 new file mode 100644 index 0000000..e3e66f7 --- /dev/null +++ b/docs/manual/mod/mod_dav.html.fr.utf8 @@ -0,0 +1,302 @@ + + + + + +mod_dav - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_dav

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Fonctionnalité de création et gestion de versions de +documents via le web (WebDAV)
Statut:Extension
Identificateur de Module:dav_module
Fichier Source:mod_dav.c
+

Sommaire

+ +

Ce module ajoute à Apache une fonctionnalité WebDAV de classes 1 et 2 + ('Web-based Distributed Authoring and Versioning' ou Création et + gestion de versions de documents via le web). Il s'agit d'une + extension du protocole HTTP qui permet de créer, déplacer, copier et + supprimer des ressources ou collections de ressources sur un serveur + web distant.

+
+ +
top
+
+

Activation de WebDAV

+

Pour activer le module mod_dav, ajoutez la ligne + suivante à un conteneur de votre fichier httpd.conf + :

+ +
Dav On
+ + +

Ceci active le fournisseur de système de fichier DAV implémenté par + le module mod_dav_fs. Ce dernier doit donc être + compilé dans le serveur ou chargé au démarrage à l'aide de la + directive LoadModule.

+ +

En outre, vous devez indiquer où se trouve la base de données des + verrous DAV via une directive DavLockDB dans la section globale de + votre fichier httpd.conf :

+ +
DavLockDB /usr/local/apache2/var/DavLock
+ + +

Le répertoire contenant le fichier de la base de données des + verrous doit avoir des droits en écriture pour l'utilisateur et le + groupe sous lesquels Apache s'exécute et définis respectivement par + les directives User et + Group.

+ +

Si vous souhaitez limiter l'accès aux répertoires où DAV est + activé, vous pouvez ajouter une clause <Limit> dans la section <Location> considérée. Pour + définir la quantité maximale de données en octets qu'un client + DAV peut envoyer par requête, vous devez utiliser la directive + LimitXMLRequestBody, car La + directive LimitRequestBody + "habituelle" n'a aucune incidence sur les requêtes DAV.

+ +

Exemple complet

DavLockDB "/usr/local/apache2/var/DavLock"
+
+<Directory "/usr/local/apache2/htdocs/foo">
+    Require all granted
+    Dav On
+
+    AuthType Basic
+    AuthName DAV
+    AuthUserFile "user.passwd"
+
+    <LimitExcept GET POST OPTIONS>
+        Require user admin
+    </LimitExcept>
+</Directory>
+
+ +
top
+
+

Problèmes concernant la sécurité

+ +

Etant donné que les méthodes d'accès DAV permettent à des clients + distants de manipuler des fichiers sur le serveur, vous devez vous + assurer que votre serveur est bien sécurisé avant d'activer + mod_dav.

+ +

Tout répertoire du serveur où DAV est activé doit être protégé + par une procédure d'authentification. L'utilisation de + l'authentification HTTP de base n'est pas recommandée. Vous devez + utiliser au moins l'authentification HTTP à base de condensés + qu'implémente le module mod_auth_digest. + Pratiquement tous les clients WebDAV supportent cette méthode + d'authentification. Vous pouvez aussi utiliser l'authentification de + base sur une connexion où SSL est activé.

+ +

Pour que mod_dav puisse manipuler des fichiers, + il doit avoir des permissions en écriture sur les répertoires et les + fichiers qui sont sous son contrôle ; en d'autre termes, c'est + l'utilisateur et le groupe sous lesquels Apache s'exécute et définis + par les directives User et + Group qui doivent avoir + les droits en écriture sur ces fichiers et répertoires. Les fichiers + nouvellement créés appartiendront aussi à ces utilisateur et groupe. + Par conséquent, il est important de contrôler l'accès à ce compte. + Les répertoires DAV sont considérés comme privés du point de vue + d'Apache, et la modification des fichiers qu'ils contiennent + autrement que par l'intermédiaire d'Apache (par exemple par FTP ou + par des outils du niveau du système de fichiers) ne doit pas être + permise.

+ +

mod_dav peut faire l'objet de plusieurs sortes + d'attaques par déni de service. La directive LimitXMLRequestBody permet de limiter la + quantité de mémoire consommée pour interpréter des requêtes DAV de + grande taille. En outre, la directive DavDepthInfinity permet d'empêcher les + requêtes PROPFIND concernant un répertoire de très + grande taille de consommer de grandes quantités de mémoire. Un autre + type d'attaque par déni de service peut aussi être mené par un + client qui remplit simplement tout l'espace disque disponible avec + des fichiers de très grande taille. Etant donné qu'il n'existe aucun + moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez + accorder des accès DAV qu'à des utilisateurs de confiance.

+
top
+
+

Configurations complexes

+ +

Les requêtes ayant pour but de manipuler des fichiers dynamiques + (scripts PHP, scripts CGI, etc...) en utilisant + mod_dav sont courantes. Ce traitement n'est pas + évident car une requête + GET va toujours tenter d'exécuter le script, plutôt que + de télécharger son contenu. Pour éviter cet inconvénient, une + méthode possible consiste à faire correspondre deux URLs + différentes au même contenu, l'une d'entre elles servant à lancer le + script, alors que l'autre peut être utilisée pour le télécharger et + le manipuler avec DAV.

+ +
Alias "/phparea" "/home/gstein/php_files"
+Alias "/php-source" "/home/gstein/php_files"
+<Location "/php-source">
+Dav On
+ForceType text/plain
+</Location>
+ + +

Avec cette configuration, on peut utiliser + http://example.com/phparea pour afficher le résultat de + l'exécution des scripts PHP, et + http://example.com/php-source pour les manipuler avec + DAV.

+
+
top
+

Directive Dav

+ + + + + + + +
Description:Active les méthodes HTTP WebDAV
Syntaxe:Dav On|Off|nom fournisseur
Défaut:Dav Off
Contexte:répertoire
Statut:Extension
Module:mod_dav
+

La directive Dav permet d'activer les + méthodes HTTP WebDAV pour le conteneur condidéré :

+ +
<Location "/foo">
+    Dav On
+</Location>
+ + +

La valeur On est en fait un alias vers le + fournisseur par défaut filesystem implémenté par le + module mod_dav_fs. Notez que lorsque DAV est activé + pour un conteneur, on ne peut pas le désactiver pour ses + sous-conteneurs. Pour un exemple de configuration complet, + reportez-vous à la section précédente.

+ +
+ N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si + vous passez outre cette recommandation, tout le monde pourra + enregistrer des fichiers sur votre système. +
+ +
+
top
+

Directive DavDepthInfinity

+ + + + + + + +
Description:Autorise les requêtes PROPFIND avec en-tête Depth: +Infinity
Syntaxe:DavDepthInfinity on|off
Défaut:DavDepthInfinity off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_dav
+

La directive DavDepthInfinity permet + d'autoriser le traitement des requêtes PROPFIND + contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête + n'est pas autorisé, car il peut favoriser les attaques de type Déni + de service.

+ +
+
top
+

Directive DavMinTimeout

+ + + + + + + +
Description:Durée minimale pendant laquelle le serveur maintient un +verrou sur une ressource DAV
Syntaxe:DavMinTimeout secondes
Défaut:DavMinTimeout 0
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_dav
+

Lorsqu'un client demande le verrouillage d'une ressource DAV, il + peut aussi spécifier une durée au bout de laquelle le verrou sera + automatiquement supprimé par le serveur. Cette valeur ne constitue + qu'une demande, et le serveur peut l'ignorer ou informer le client + qu'il va utiliser une valeur arbitraire.

+ +

La directive DavMinTimeout permet de + spécifier, en secondes, la durée minimale de verrouillage à renvoyer + au client. Les Répertoires Web de Microsoft présentent une durée par + défaut de 120 secondes ; la directive + DavMinTimeout permet de définir une valeur + supérieure (par exemple 600 secondes), afin de réduire les risques + de perte du verrou par le client suite à une surcharge du + réseau.

+ +

Exemple

<Location "/MSWord">
+    DavMinTimeout 600
+</Location>
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html.ja.utf8 b/docs/manual/mod/mod_dav.html.ja.utf8 new file mode 100644 index 0000000..c8c8e8c --- /dev/null +++ b/docs/manual/mod/mod_dav.html.ja.utf8 @@ -0,0 +1,291 @@ + + + + + +mod_dav - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_dav

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:分散オーサリングã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç† +(WebDAV) 機能
ステータス:Extension
モジュール識別å­:dav_module
ソースファイル:mod_dav.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚¯ãƒ©ã‚¹ 1 ã¨ã‚¯ãƒ©ã‚¹ 2 ã® + WebDAV + ('ウェブベースã®åˆ†æ•£ã‚ªãƒ¼ã‚µãƒªãƒ³ã‚°ã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç†') + 機能を Apache ã«æä¾›ã—ã¾ã™ã€‚ + ã“ã® HTTP プロトコルã®æ‹¡å¼µã«ã‚ˆã‚Šã€ãƒªãƒ¢ãƒ¼ãƒˆã®ã‚¦ã‚§ãƒ–サーãƒä¸Šã«ã‚ã‚‹ + リソースやコレクションを + 作æˆã€ç§»å‹•ã€è¤‡è£½ã€å‰Šé™¤ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+
+ +
top
+
+

Enabling WebDAV

+

mod_dav を有効ã«ã™ã‚‹ã«ã¯ã€httpd.conf + ファイル中ã®ã‚³ãƒ³ãƒ†ãƒŠã«æ¬¡ã‚’加ãˆã¾ã™:

+ +
Dav On
+ + +

ã“れ㯠DAV ファイルシステムプロãƒã‚¤ãƒ€ã‚’有効ã«ã—ã¾ã™ã€‚DAV + ファイルシステムプロãƒã‚¤ãƒ€ã¯ mod_dav_fs + モジュールã§å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚³ãƒ³ãƒ‘イル時㫠+ サーãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã‹ã€ã‚ã‚‹ã„㯠+ LoadModule + を使用ã—ã¦å®Ÿè¡Œæ™‚ã«ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

ã•ã‚‰ã«ã€DAV ロックデータベースã®å ´æ‰€ãŒ + DavLockDB ディレクティブを使ã£ã¦ + httd.conf ファイルã®ã‚°ãƒ­ãƒ¼ãƒãƒ«ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ + å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +
DavLockDB /usr/local/apache2/var/DavLock
+ + +

ロックデータベースファイルã®ã‚るディレクトリ㯠Apache ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹ + User 㨠Group ã«æ›¸ãè¾¼ã¿æ¨©é™ãŒã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

<Limit> + 節を <Location> + ディレクティブ内部ã«è¿½åŠ ã—ã¦ã€DAV ãŒæœ‰åŠ¹ãªå ´æ‰€ã¸ã® + アクセスを制é™ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚DAV クライアント㌠+ 一度ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§é€ä¿¡ã§ãる最大ãƒã‚¤ãƒˆæ•°ã‚’指定ã—ãŸã„ã¨ãã¯ã€ + LimitXMLRequestBody + ディレクティブを使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚「通常ã®ã€ + LimitRequestBody + ディレクティブ㯠DAV リクエストã«å¯¾ã—ã¦ã¯åŠ¹åŠ›ã‚’æŒã¡ã¾ã›ã‚“。

+ +

完全ãªä¾‹

DavLockDB /usr/local/apache2/var/DavLock
+
+<Directory /usr/local/apache2/htdocs/foo>
+    Require all granted
+    Dav On
+
+    AuthType Basic
+    AuthName DAV
+    AuthUserFile user.passwd
+
+    <LimitExcept GET POST OPTIONS>
+        Require user admin
+    </LimitExcept>
+</Directory>
+
+ +
top
+
+

セキュリティã®å•é¡Œ

+ +

DAV ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã¯é éš”クライアントãŒã‚µãƒ¼ãƒã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + æ“作ã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã®ã§ã€ mod_dav を使用ã™ã‚‹ + å‰ã«ã€ã‚µãƒ¼ãƒãŒå®‰å…¨ã§ã‚ã‚‹ã“ã¨ã‚’特ã«æ³¨æ„ã—ã¦ç¢ºèªã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

サーãƒä¸Šã® DAV ãŒä½¿ç”¨å¯èƒ½ã«ãªã£ã¦ã„る場所ã¯ã™ã¹ã¦èªè¨¼ã§ä¿è­·ã—ã¦ãã ã•ã„。 + HTTP 基本èªè¨¼ã®ä½¿ç”¨ã¯æŽ¨å¥¨ã§ãã¾ã›ã‚“。少ãªãã¨ã‚‚ + mod_auth_digest モジュールã§æä¾›ã•ã‚Œã‚‹ HTTP + ダイジェストèªè¨¼ã‚’用ã„ã‚‹ã¹ãã§ã™ã€‚WebDAV クライアントã®ã»ã¨ã‚“ã©ã¯ + ã“ã®èªè¨¼æ–¹æ³•ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚代ã‚ã‚Šã«ã€SSL ㌠+ 有効ãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’通ã—ãŸåŸºæœ¬èªè¨¼ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

mod_dav ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ“作ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ + 管ç†ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãƒ•ã‚¡ã‚¤ãƒ«ã¨ã« Apache ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹ User 㨠Group ã§æ›¸ãè¾¼ã¿å¯èƒ½ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + æ–°ã—ã作æˆã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚‚ã“ã® User + 㨠Group ã«æ‰€æœ‰ã•ã‚Œã‚‹ + ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ã“ã®ç†ç”±ã‹ã‚‰ã€ãã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制御ã™ã‚‹ã“ã¨ã¯ + é‡è¦ã§ã™ã€‚DAV リãƒã‚¸ãƒˆãƒªã¯ Apache 専用ã®ã‚‚ã®ã ã¨ã¿ãªã•ã‚Œã¦ã„ã¾ã™ã€‚ + Apache 以外ã®æ–¹æ³•ã§ãƒ•ã‚¡ã‚¤ãƒ«ã‚’修正ã™ã‚‹ã“㨠(例ãˆã° FTP やファイルシステム + 用ã®ãƒ„ールãªã©ã‚’使ã£ã¦) ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。

+ +

mod_dav ã¯ã„ã‚ã„ã‚ãªç¨®é¡žã®ã‚µãƒ¼ãƒ“ス拒å¦æ”»æ’ƒã«ã•ã‚‰ã•ã‚Œã‚‹ + ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。LimitXMLRequestBody ディレクティブを使ã†ã¨ + 大ã㪠DAV リクエストを解æžã™ã‚‹ã¨ãã«æ¶ˆè²»ã•ã‚Œã‚‹ãƒ¡ãƒ¢ãƒªã®é‡ã‚’制é™ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚DavDepthInfinity ディレクティブ㯠+ PROPFIND リクエストãŒå·¨å¤§ãƒªãƒã‚¸ãƒˆãƒªã§å¤§é‡ã®ãƒ¡ãƒ¢ãƒªã‚’消費ã™ã‚‹ã®ã‚’ + 防ãã“ã¨ãŒã§ãã¾ã™ã€‚ä»–ã®ã‚µãƒ¼ãƒ“ス拒å¦æ”»æ’ƒã«ã¯å˜ç´”ã«ä½¿ç”¨å¯èƒ½ãªãƒ‡ã‚£ã‚¹ã‚¯é ˜åŸŸã‚’ + 多ãã®å¤§ããªãƒ•ã‚¡ã‚¤ãƒ«ã§åŸ‹ã‚ã¦ã—ã¾ã†ã‚“ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ã“れを直接防ã方法㯠+ Apache ã«ã¯ã‚ã‚Šã¾ã›ã‚“ã®ã§ã€ä¿¡ç”¨ã§ããªã„ユーザ㫠DAV アクセスをæä¾›ã™ã‚‹ã®ã¯ + é¿ã‘ãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚

+
top
+
+

複雑ãªè¨­å®š

+ +

よãã‚ã‚‹è¦æ±‚ã«ã€mod_dav を使ã£ã¦å‹•çš„ãªãƒ•ã‚¡ã‚¤ãƒ« + (PHP スクリプトã€CGI スクリプトãªã©) ã‚’æ“作ã—ãŸã„ã¨ã„ã†ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã‚Œã®å®Ÿç¾ã¯ã€GET リクエストã¯ã‚¹ã‚¯ãƒªãƒ—トã®å†…容をダウンロードã•ã›ã‚‹ + 代ã‚ã‚Šã«ã€ã‚¹ã‚¯ãƒªãƒ—トを常ã«å®Ÿè¡Œã•ã›ã¦ã—ã¾ã†ã®ã§é›£ã—ããªã£ã¦ã„ã¾ã™ã€‚ + ã“れを回é¿ã™ã‚‹æ–¹æ³•ã«ã¯ã€äºŒã¤ã®é•ã† URL ã‚’åŒã˜ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«ãƒžãƒƒãƒ—ã—〠+ 一ã¤ã¯ã‚¹ã‚¯ãƒªãƒ—トを実行ã•ã›ã€ã‚‚ã†ä¸€ã¤ã¯ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã•ã›ãŸã‚Šã€DAV ã‹ã‚‰ + æ“作ã•ã‚ŒãŸã‚Šã™ã‚‹ã‚ˆã†ã«è¨­å®šã™ã‚‹ã¨ã„ã†ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚

+ +
Alias /phparea /home/gstein/php_files
+Alias /php-source /home/gstein/php_files
+<Location /php-source>
+    Dav On
+    ForceType text/plain
+</Location>
+ + +

ã“ã®è¨­å®šã«ã‚ˆã‚Šã€http://example.com/phparea ã‚’ PHP スクリプト㮠+ 出力をアクセスã™ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ã〠+ http://example.com/php-source ã‚’ DAV クライアントã«ã‚ˆã‚‹ + ãŒæ“作ã®ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+
top
+

Dav ディレクティブ

+ + + + + + + +
説明:WebDAV HTTP メソッドを有効ã«ã—ã¾ã™
構文:Dav On|Off|provider-name
デフォルト:Dav Off
コンテキスト:ディレクトリ
ステータス:Extension
モジュール:mod_dav
+

与ãˆã‚‰ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒŠã§ WebDAV HTTP メソッドãŒä½¿ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ + 次ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +
<Location /foo>
+    Dav On
+</Location>
+ + +

On ã¨ã„ã†æŒ‡å®šã¯å®Ÿéš›ã«ã¯ mod_dav_fs + ã§æä¾›ã•ã‚Œã¦ã„るデフォルトã®ãƒ—ロãƒã‚¤ãƒ€ã€filesystem + ã¸ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã«ãªã£ã¦ã„ã¾ã™ã€‚一度ã‚るロケーション㧠DAV + を有効ã«ã—ãŸå¾Œã¯ã€ãã®ã‚µãƒ–ロケーションã§ç„¡åŠ¹åŒ–ã™ã‚‹ã“ã¨ã¯ã§ããªã„ + ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。完全ãªè¨­å®šä¾‹ã¯ä¸Šè¨˜ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ ã‚’ã”覧下ã•ã„。

+ +
+ サーãƒã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒç¢ºä¿ã§ãã‚‹ã¾ã§ WebDAV を有効ã«ã—ãªã„ã§ãã ã•ã„。 + ãã†ã—ãªã‘ã‚Œã°èª°ã§ã‚‚ãã®ã‚µãƒ¼ãƒã§ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é…布ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã« + ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚ +
+ +
+
top
+

DavDepthInfinity ディレクティブ

+ + + + + + + +
説明:PROPFIND, Depth: Infinity リクエストを許å¯ã—ã¾ã™
構文:DavDepthInfinity on|off
デフォルト:DavDepthInfinity off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_dav
+

'Depth: Infinity' ã‚’å«ã‚“ã§ã„ã‚‹ + PROPFIND リクエストを処ç†ã§ãるよã†ã«ã™ã‚‹ã«ã¯ã€ + DavDepthInfinity + ディレクティブを使ã„ã¾ã™ã€‚ã“ã®ã‚¿ã‚¤ãƒ—ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ + denial-of-service アタックã¨ãªã‚Šã†ã‚‹ã®ã§ã€ + デフォルトã§ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。

+ +
+
top
+

DavMinTimeout ディレクティブ

+ + + + + + + +
説明:サーãƒãŒ DAV リソースã®ãƒ­ãƒƒã‚¯ã‚’維æŒã™ã‚‹æœ€å°æ™‚é–“ã§ã™ã€‚ +
構文:DavMinTimeout seconds
デフォルト:DavMinTimeout 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_dav
+

クライアント㌠DAV リソースロックをè¦æ±‚ã—ãŸå ´åˆã€ + ロックãŒã‚µãƒ¼ãƒã«ã‚ˆã£ã¦è‡ªå‹•çš„ã«è§£é™¤ã•ã‚Œã‚‹ã¾ã§ã®æ™‚é–“ã‚’ + åŒæ™‚ã«æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®å€¤ã¯å˜ãªã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã‚ã£ã¦ã€ + サーãƒã¯ã“れを無視ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã—〠+ ä»»æ„ã®å€¤ã‚’クライアントã«é€šçŸ¥ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

クライアントã«æˆ»ã™ãƒ­ãƒƒã‚¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã®æœ€å°æ™‚間を〠+ 秒ã§ã€æŒ‡å®šã™ã‚‹ãŸã‚ã« DavMinTimeout + ディレクティブを使ã„ã¾ã™ã€‚ + マイクロソフトã®ã‚¦ã‚§ãƒ–フォルダã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ 120 秒ã§ã™ãŒï¼› + ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®é…延ã®ã›ã„ã§ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒãƒ­ãƒƒã‚¯ã‚’失ã†ã®ã‚’減らã™ãŸã‚ã«ã€ + DavMinTimeout を使ã£ã¦ + ã“れをもã£ã¨å¤§ããªå€¤ (例ãˆã° 600 秒) ã«ä¸Šæ›¸ãã§ãã¾ã™ã€‚

+ +

例

<Location /MSWord>
+    DavMinTimeout 600
+</Location>
+
+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html.ko.euc-kr b/docs/manual/mod/mod_dav.html.ko.euc-kr new file mode 100644 index 0000000..756e01c --- /dev/null +++ b/docs/manual/mod/mod_dav.html.ko.euc-kr @@ -0,0 +1,293 @@ + + + + + +mod_dav - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_dav

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:Distributed Authoring and Versioning +(WebDAV) ±â´É
»óÅÂ:Extension
¸ðµâ¸í:dav_module
¼Ò½ºÆÄÀÏ:mod_dav.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ¾ÆÆÄÄ¡¿¡ WebDAV + ('Web-based Distributed Authoring and Versioning') class 1°ú + class 2 ±â´ÉÀ» Ãß°¡ÇÑ´Ù. WebDAV´Â ¿ø°Ý À¥¼­¹öÀÇ ÀÚ¿ø°ú + ÄÝ·º¼Ç(collection)À» (¿ªÁÖ; ÄÝ·º¼ÇÀº ÆÄÀϽýºÅÛÀÇ µð·ºÅ丮¿Í + °°Àº °³³äÀÌ´Ù) ¸¸µé°í, ¿Å±â°í, º¹»çÇÏ°í, Áö¿ï + ¼ö ÀÖµµ·Ï HTTP ÇÁ·ÎÅäÄÝÀ» È®ÀåÇÑ °ÍÀÌ´Ù.

+
+ +
top
+
+

WebDAV »ç¿ëÇϱâ

+

mod_dav¸¦ »ç¿ëÇÏ·Á¸é httpd.conf + ÆÄÀÏ¿¡ ¾Æ·¡°ú °°ÀÌ Ãß°¡ÇÑ´Ù:

+ +

Dav On

+ +

±×·¯¸é mod_dav_fs ¸ðµâÀÌ ±¸ÇöÇÏ´Â DAV + ÆÄÀϽýºÅÛ Á¦°øÀÚ(provider)¸¦ »ç¿ëÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ ¸ðµâµµ + ¼­¹ö¿¡ °°ÀÌ ÄÄÆÄÀϵÇÀְųª LoadModule Áö½Ã¾î·Î ½ÇÇàÁß¿¡ + Àоîµé¿©¾ß ÇÑ´Ù.

+ +

¶Ç, DAV Àá±Ý(lock) µ¥ÀÌÅͺ£À̽ºÀÇ À§Ä¡¸¦ httpd.conf + ÆÄÀÏÀÇ Àü¿ª ºÎºÐ¿¡ DavLockDB Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + ÁöÁ¤ÇØ¾ß ÇÑ´Ù:

+ +

+ DavLockDB /usr/local/apache2/var/DavLock +

+ +

¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â User¿Í GroupÀº Àá±Ý µ¥ÀÌÅͺ£À̽º°¡ + ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù.

+ +

DAV¸¦ »ç¿ëÇÏ´Â À§Ä¡¿¡ Á¢±ÙÀ» Á¦ÇÑÇϱâÀ§ÇØ <Location> Áö½Ã¾î + ¾È¿¡ <Limit> + Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. DAV Ŭ¶óÀ̾ðÆ®°¡ ÇѹøÀÇ ¿äû¿¡ + º¸³¾ ¼ö ÀÖ´Â ÃÖ´ë ¹ÙÀÌÆ®¼ö¸¦ Á¦ÇÑÇÏ·Á¸é LimitXMLRequestBody Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. + "ÀϹÝÀûÀÎ" LimitRequestBody + Áö½Ã¾î´Â DAV ¿äû°ú °ü°è¾ø´Ù.

+ +

Àüü ¿¹Á¦

+ DavLockDB /usr/local/apache2/var/DavLock
+
+ <Location /foo>
+ + Dav On
+
+ AuthType Basic
+ AuthName DAV
+ AuthUserFile user.passwd
+
+ <LimitExcept GET OPTIONS>
+ + require user admin
+
+ </LimitExcept>
+
+ </Location>
+

+ +

mod_dav´Â Greg SteinÀÌ ¸¸µç Apache 1.3¿ë mod_dav¸¦ + ±â¹ÝÀ¸·Î ¸¸µé¾ú´Ù. ¸ðµâ¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ±× »çÀÌÆ®¸¦ + Âü°íÇ϶ó.

+
top
+
+

º¸¾È ¹®Á¦

+ +

DAV¸¦ »ç¿ëÇÏ¸é ¿ø°Ý Ŭ¶óÀ̾ðÆ®°¡ ¼­¹öÀÇ ÆÄÀÏÀ» Á¶ÀÛÇÒ + ¼ö Àֱ⶧¹®¿¡, mod_dav¸¦ »ç¿ëÇϱâ Àü¿¡ + ¼­¹ö°¡ ¾ÈÀüÇÑÁö Ưº°È÷ °ü½ÉÀ» °¡Á®¾ß ÇÑ´Ù.

+ +

¼­¹ö¿¡¼­ DAV°¡ °¡´ÉÇÑ À§Ä¡´Â ÀÎÁõÀ¸·Î º¸È£ÇØ¾ß ÇÑ´Ù. + HTTP Basic Authentication´Â ÃßõÇÏÁö ¾Ê´Â´Ù. ÃÖ¼ÒÇÑ + mod_auth_digest ¸ðµâÀÌ Á¦°øÇÏ´Â HTTP Digest + AuthenticationÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. °ÅÀÇ ¸ðµç WebDAV Ŭ¶óÀ̾ðÆ®´Â + ÀÌ ÀÎÁõ ¹æ½ÄÀ» Áö¿øÇÑ´Ù. ¾Æ´Ï¸é SSL + ¿¬°á¿¡¼­ Basic AuthenticationÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

+ +

mod_dav°¡ ÆÄÀÏÀ» Á¶ÀÛÇÏ·Á¸é, ¾ÆÆÄÄ¡¸¦ + ½ÇÇàÇÏ´Â User¿Í + GroupÀº ÇØ´ç + µð·ºÅ丮¿Í ÆÄÀÏ¿¡ ¾²±â ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù. ¶Ç, »õ·Î »ý¼ºÇÑ + ÆÄÀÏÀº User¿Í + GroupÀÌ ¼ÒÀ¯ÇÏ°Ô + µÈ´Ù. ±×·¡¼­ ¾Æ¹«³ª ÀÌ °èÁ¤¿¡ Á¢±ÙÇÒ ¼ö ¾øµµ·Ï Ç϶ó. DAV + ÀúÀå¼Ò´Â ¾ÆÆÄÄ¡¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ ÅëÇÏÁö¾Ê°í + (¿¹¸¦ µé¾î FTP³ª ÆÄÀϽýºÅÛ µµ±¸¸¦ »ç¿ëÇÏ¿©) ÆÄÀÏÀ» ¼öÁ¤ÇÔÀ» + Çã¿ëÇÏ¸é ¾ÈµÈ´Ù.

+ +

mod_dav´Â ¿©·¯ ¼­ºñ½º°ÅºÎ °ø°ÝÀÇ ´ë»óÀÌ + µÉ ¼ö ÀÖ´Ù. LimitXMLRequestBody Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© Å« DAV ¿äûÀ» ÀÐÀ»¶§ ¸Þ¸ð¸®·®À» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. + DavDepthInfinity + Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¸¹Àº ¸Þ¸ð¸®¸¦ ¼Ò¸ðÇϱâÀ§ÇÑ ¸Å¿ì Å« ÀúÀå¼ÒÀÇ + PROPFIND ¿äûÀ» ¸·À» ¼ö ÀÖ´Ù. ´Ü¼øÈ÷ Ŭ¶óÀ̾ðÆ®°¡ + ¿©·¯ Å« ÆÄÀϵé·Î µð½ºÅ©°ø°£À» ä¿ì´Â ¼­ºñ½º°ÅºÎ °ø°Ýµµ °¡´ÉÇÏ´Ù. + ¾ÆÆÄÄ¡¿¡¼­ À̸¦ ¸·À» Á÷Á¢ÀûÀÎ ¹æ¹ýÀº ¾ø´Ù. ±×·¯¹Ç·Î ½Å·ÚÇÏÁö¾Ê´Â + »ç¿ëÀÚ¿¡°Ô DAV Á¢±ÙÀ» Çã¿ëÇÏÁö ¾Êµµ·ÏÇ϶ó.

+
top
+
+

º¹ÀâÇÑ ¼³Á¤

+ +

ÀϹÝÀûÀÎ Áú¹®Áß Çϳª´Â (PHP ½ºÅ©¸³Æ®, CGI ½ºÅ©¸³Æ® µî) + µ¿ÀûÆÄÀÏ ÀÛ¾÷À» À§ÇØ mod_dav¸¦ »ç¿ëÇÏ´Â + ¹æ¹ýÀÌ´Ù. ÀÌ´Â GET ¿äûÀÌ ÆÄÀÏ ³»¿ëÀ» ´Ù¿î·ÎµåÇÏÁö + ¾Ê°í Ç×»ó ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϹǷΠ¾î·Æ´Ù. ÇØ°á¹æ¹ýÁß Çϳª´Â + ³»¿ë¿¡ µÎ°³ÀÇ URLÀ» ´ëÀÀÇÏ´Â °ÍÀÌ´Ù. ÇÑ URLÀº ½ºÅ©¸³Æ®¸¦ + ½ÇÇàÇÏ°í, ´Ù¸¥ URL·Î´Â ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ¿© DAV·Î ÀÛ¾÷ÇÒ + ¼ö ÀÖ´Ù.

+ +

+Alias /phparea /home/gstein/php_files
+Alias /php-source /home/gstein/php_files
+<Location /php-source> + + DAV On
+ ForceType text/plain
+
+</Location> +

+ +

ÀÌ ¼³Á¤¿¡¼­ http://example.com/phparea´Â + PHP ½ºÅ©¸³Æ®ÀÇ °á°ú¸¦ º¸¿©ÁÖ°í, + http://example.com/php-source·Î´Â DAV Ŭ¶óÀ̾ðÆ®¿¡¼­ + ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+
+
top
+

Dav Áö½Ã¾î

+ + + + + + + +
¼³¸í:WebDAV HTTP ¸Þ½áµå¸¦ ½ÃÀÛÇÑ´Ù
¹®¹ý:Dav On|Off|provider-name
±âº»°ª:Dav Off
»ç¿ëÀå¼Ò:directory
»óÅÂ:Extension
¸ðµâ:mod_dav
+

ÁöÁ¤ÇÑ À§Ä¡¿¡¼­ WebDAV HTTP ¸Þ½áµå¸¦ »ç¿ëÇÏ·Á¸é + Dav Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù:

+ +

+ <Location /foo>
+ + Dav On
+
+ </Location> +

+ +

On °ªÀº ½ÇÁ¦·Î mod_dav_fs + ¸ðµâÀÌ Á¦°øÇÏ´Â ±âº» Á¦°øÀÚÀÎ filesystemÀÇ + º°ÄªÀÌ´Ù. ¾î¶² À§Ä¡¿¡¼­ DAV¸¦ ½ÃÀÛÇϸé ÇÏÀ§°ø°£¿¡¼­ DAV¸¦ + »ç¿ë¾ÈÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó. ¿ÏÀüÇÑ + ¼³Á¤¿¹´Â À§ÀÇ ÀýÀ» Âü°íÇ϶ó.

+ +
+ ¼­¹ö¸¦ ¾ÈÀüÇÏ°Ô ±¸¼ºÇÒ¶§±îÁö WebDAVÀ» »ç¿ëÇÏÁö ¸¶¶ó. ±×·¸Áö + ¾ÊÀ¸¸é ´©±¸¶óµµ ¼­¹ö¸¦ ÅëÇØ ÆÄÀÏÀ» ºÐ¹èÇÒ ¼ö ÀÖ°Ô µÈ´Ù. +
+ +
+
top
+

DavDepthInfinity Áö½Ã¾î

+ + + + + + + +
¼³¸í:PROPFINDÀÇ Depth: Infinity ¿äûÀ» Çã°¡ÇÑ´Ù
¹®¹ý:DavDepthInfinity on|off
±âº»°ª:DavDepthInfinity off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory
»óÅÂ:Extension
¸ðµâ:mod_dav
+

DavDepthInfinity Áö½Ã¾î¸¦ »ç¿ëÇϸé + 'Depth: Infinity' Çì´õ¸¦ °¡Áø PROPFIND ¿äûÀ» + Çã°¡ÇÑ´Ù. ÀÌ·± ¿äûÀ» »ç¿ëÇÏ¿© ¼­ºñ½º°ÅºÎ °ø°ÝÀÌ °¡´ÉÇϱâ + ¶§¹®¿¡ ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö ¾Ê´Â´Ù.

+ +
+
top
+

DavMinTimeout Áö½Ã¾î

+ + + + + + + +
¼³¸í:¼­¹ö°¡ DAV ÀÚ¿ø¿¡ ´ëÇØ À¯ÁöÇÒ Àá±ÝÀÇ Ãּҽð£
¹®¹ý:DavMinTimeout seconds
±âº»°ª:DavMinTimeout 0
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory
»óÅÂ:Extension
¸ðµâ:mod_dav
+

Ŭ¶óÀ̾ðÆ®°¡ DAV ÀÚ¿ø¿¡ Àá±Ý(lock)À» ¿äûÇÒ¶§ ¼­¹ö°¡ + ¾Ë¾Æ¼­ Àá±ÝÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Â ½Ã°£À» °°ÀÌ ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ÀÌ °ªÀº + ´ÜÁö ¿äûÀÏ»ÓÀ̸ç, ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇÑ °ªÀ» ¹«½ÃÇÏ°í + Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÓÀÇÀÇ ½Ã°£À» ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù.

+ +

DavMinTimeout Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô + º¸³¾ ÃÖ¼Ò Àá±Ý ½Ã°£À» (ÃÊ´ÜÀ§) ÁöÁ¤ÇÑ´Ù. Microsoft Web Folders´Â + ±âº»°ªÀ¸·Î 120 Ãʸ¦ »ç¿ëÇÑ´Ù. DavMinTimeout¿¡ + (600 ÃÊ¿Í °°ÀÌ) ´õ ³ôÀº °ªÀ» »ç¿ëÇϸé Ŭ¶óÀ̾ðÆ®°¡ ³×Æ®¿÷ + Áö¿¬¶§¹®¿¡ Àá±ÝÀ» ÀҰԵǴ °æ¿ì¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù.

+ +

¿¹Á¦

+ <Location /MSWord>
+ + DavMinTimeout 600
+
+ </Location> +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html b/docs/manual/mod/mod_dav_fs.html new file mode 100644 index 0000000..dcba25f --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dav_fs.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_fs.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_fs.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_fs.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_dav_fs.html.en b/docs/manual/mod/mod_dav_fs.html.en new file mode 100644 index 0000000..bc81e8e --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.en @@ -0,0 +1,144 @@ + + + + + +mod_dav_fs - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_dav_fs

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Filesystem provider for mod_dav
Status:Extension
Module Identifier:dav_fs_module
Source File:mod_dav_fs.c
+

Summary

+ +

This module requires the service of mod_dav. It acts as a support module for mod_dav and provides access to resources located in the + server's file system. The formal name of this provider is + filesystem. mod_dav backend providers + will be invoked by using the Dav + directive:

+ +

Example

Dav filesystem
+
+ +

Since filesystem is the default provider for + mod_dav, you may simply use the value + On instead.

+
+ + +
top
+

DavLockDB Directive

+ + + + + + +
Description:Location of the DAV lock database
Syntax:DavLockDB file-path
Context:server config, virtual host
Status:Extension
Module:mod_dav_fs
+

Use the DavLockDB directive to specify + the full path to the lock database, excluding an extension. If + the path is not absolute, it will be taken relative to ServerRoot. The implementation of + mod_dav_fs uses a SDBM database to track user + locks.

+ + + +

Example

DavLockDB "var/DavLock"
+
+ +

The directory containing the lock database file must be + writable by the User + and Group under which + Apache is running. For security reasons, you should create a + directory for this purpose rather than changing the permissions on + an existing directory. In the above example, Apache will create + files in the var/ directory under the ServerRoot with the base filename + DavLock and extension name chosen by the server.

+ + +
+
top
+

DavLockDiscovery Directive

+ + + + + + + + +
Description:Enable lock discovery
Syntax:DavLockDiscovery on|off
Default:DavLockDiscovery on
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_dav_fs
Compatibility:Available from Apache 2.4.55 and later.
+

DavLockDiscovery controls if the lock + discovery feature is enabled for PROPFIND method. + When disabled, PROPFIND always returns an empty + lockdiscovery section. This improves performance + if clients use PROPFIND a lot.

+

Example

DavLockDiscovery off
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html.fr.utf8 b/docs/manual/mod/mod_dav_fs.html.fr.utf8 new file mode 100644 index 0000000..a15cf60 --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.fr.utf8 @@ -0,0 +1,151 @@ + + + + + +mod_dav_fs - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_dav_fs

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Implémente le fournisseur filesystem pour +mod_dav
Statut:Extension
Identificateur de Module:dav_fs_module
Fichier Source:mod_dav_fs.c
+

Sommaire

+ +

L'activation de ce module nécessite l'utilisation de + mod_dav. C'est un module de support pour mod_dav et à ce titre, il permet l'accès à des ressources + situées dans le système de fichiers du serveur. Le nom formel de ce + fournisseur est filesystem. Les fournisseurs supports + de mod_dav sont invoqués via la directive + Dav :

+ +

Exemple

Dav filesystem
+
+ +

Comme filesystem est le fournisseur par défaut de + mod_dav, vous pouvez vous contenter d'utiliser la + valeur On comme argument de Dav.

+
+ + +
top
+

Directive DavLockDB

+ + + + + + +
Description:Chemin de la base de données des verrous DAV
Syntaxe:DavLockDB chemin fichier
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dav_fs
+

La directive DavLockDB permet de spécifier + le chemin complet de la base de données des verrous, sans extension. + Si le chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive ServerRoot. L'implémentation de + mod_dav_fs utilise une base de données SDBM pour + surveiller les verrous utilisateurs.

+ + + +

Exemple

DavLockDB "var/DavLock"
+
+ +

Les utilisateur et groupe sous lesquels Apache s'exécute et qui + sont respectivement définis par les directives User et Group doivent pouvoir écrire dans le + répertoire qui contient le fichier de la base de données des + verrous. Pour des raisons de sécurité, il est recommandé de créer un + répertoire dédié à la base de données des verrous, plutôt que de + modifier les permissions d'un répertoire existant. Dans l'exemple + ci-dessus, Apache va créer des fichiers dans le répertoire + var/, lui-même sous-répertoire du répertoire défini par + la directive ServerRoot, avec le nom de base + DavLock suivi d'une extension choisie par le + serveur.

+ + +
+
top
+

Directive DavLockDiscovery

+ + + + + + + + +
Description:Active la découverte des verrous
Syntaxe:DavLockDiscovery on|off
Défaut:DavLockDiscovery on
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_dav_fs
Compatibilité:Disponible à partir de la version 2.4.55 du serveur HTTP Apache.
+

DavLockDiscovery contrôle la + découverte des verrous par la méthode PROPFIND. + Lorsqu'elle est désactivée, PROPFIND renvoie + toujours une section lockdiscovery vide. Ce + réglage améliore les performances dans le cas où des + clients utilisent beaucoup PROPFIND.

+

Example

DavLockDiscovery off
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html.ja.utf8 b/docs/manual/mod/mod_dav_fs.html.ja.utf8 new file mode 100644 index 0000000..6f1a271 --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.ja.utf8 @@ -0,0 +1,135 @@ + + + + + +mod_dav_fs - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_dav_fs

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:mod_dav ã®ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ãƒ—ロãƒã‚¤ãƒ€
ステータス:Extension
モジュール識別å­:dav_fs_module
ソースファイル:mod_dav_fs.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ mod_dav + ã®ã‚µãƒ¼ãƒ“スを必è¦ã¨ã—ã¾ã™ã€‚mod_dav + ã®ã‚µãƒãƒ¼ãƒˆãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã—ã¦å‹•ä½œã—ã€ã‚µãƒ¼ãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã« + ä½ç½®ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æä¾›ã—ã¾ã™ã€‚ã“ã®ãƒ—ロãƒã‚¤ãƒ€ã®æ­£å¼ãªåå‰ã¯ + filesystem ã§ã™ã€‚mod_dav + ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãƒ—ロãƒã‚¤ãƒ€ã¯ Dav + ディレクティブを使用ã—ã¦èµ·å‹•ã•ã‚Œã¾ã™ã€‚

+ +

例

+ Dav filesystem +

+ +

filesystem 㯠mod_dav + ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ—ロãƒã‚¤ãƒ€ã«ãªã£ã¦ã„ã¾ã™ã‹ã‚‰ã€ä»£ã‚ã‚Šã«å˜ã« + On ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

DavLockDB ディレクティブ

+ + + + + + +
説明:DAV ロックデータベースã®ä½ç½®
構文:DavLockDB file-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_dav_fs
+

ロックデータベースã¸ã®ãƒ•ãƒ«ãƒ‘スをã€æ‹¡å¼µå­ã‚’除ã„ãŸå½¢ã§ + 指定ã™ã‚‹ã«ã¯ã€DavLockDB + を使ã„ã¾ã™ã€‚パスãŒçµ¶å¯¾ãƒ‘スã§ãªã‘ã‚Œã°ã€ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨è§£é‡ˆã•ã‚Œã¾ã™ã€‚ + mod_dav_fs 実装ã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ­ãƒƒã‚¯ã‚’ + 追跡ã™ã‚‹ãŸã‚ã« SDBM データベースを使ã„ã¾ã™ã€‚

+ + + +

例

+ DavLockDB logs/DavLock +

+ +
+
top
+

DavLockDiscovery ディレクティブ

+ + + + + + + + +
説明:Enable lock discovery
構文:DavLockDiscovery on|off
デフォルト:DavLockDiscovery on
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_dav_fs
互æ›æ€§:Available from Apache 2.4.55 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html.ko.euc-kr b/docs/manual/mod/mod_dav_fs.html.ko.euc-kr new file mode 100644 index 0000000..0f0391e --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.ko.euc-kr @@ -0,0 +1,140 @@ + + + + + +mod_dav_fs - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_dav_fs

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:mod_davÀ» À§ÇÑ ÆÄÀϽýºÅÛ Á¦°øÀÚ
»óÅÂ:Extension
¸ðµâ¸í:dav_fs_module
¼Ò½ºÆÄÀÏ:mod_dav_fs.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº mod_dav ¼­ºñ½º¿¡ ÇÊ¿äÇÏ´Ù. + mod_dav¸¦ Áö¿øÇÏ´Â ¸ðµâ·Î ¼­¹öÀÇ ÆÄÀϽýºÅÛ¿¡ + ÀÖ´Â ÀÚ¿øÀ» Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ÀÌ Á¦°øÀÚ(provider)ÀÇ + Á¤½Ä¸íĪÀº filesystemÀÌ´Ù. Dav Áö½Ã¾î¸¦ ÁöÁ¤ÇÏ¿© + mod_dav µÞ´Ü Á¦°øÀÚ¸¦ »ç¿ëÇÑ´Ù:

+ +

¿¹Á¦

+ Dav filesystem +

+ +

filesystemÀÌ mod_davÀÇ + ±âº» Á¦°øÀÚÀ̹ǷΠ´ë½Å OnÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

DavLockDB Áö½Ã¾î

+ + + + + + +
¼³¸í:DAV Àá±Ý µ¥ÀÌÅͺ£À̽º À§Ä¡
¹®¹ý:DavLockDB file-path
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_dav_fs
+

DavLockDB Áö½Ã¾î´Â Àá±Ý µ¥ÀÌÅͺ£À̽ºÀÇ + Àüü °æ·Î¸¦ È®ÀåÀÚ¸¦ Á¦¿ÜÇÏ°í ÁöÁ¤ÇÑ´Ù. Àý´ë°æ·Î°¡ ¾Æ´Ï¸é + ServerRoot¿¡ »ó´ë°æ·Î·Î + ó¸®ÇÑ´Ù. mod_dav_fs´Â Àá±ÝÀ» SDBM µ¥ÀÌÅͺ£À̽º¿¡ + ±â·ÏÇÑ´Ù.

+ + + +

¿¹Á¦

+ DavLockDB var/DavLock +

+ +

¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â User¿Í + GroupÀº Àá±Ý + µ¥ÀÌÅͺ£À̽º°¡ ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù. + º¸¾È»ó ÀÌÀ¯·Î ±âÁ¸ µð·ºÅ丮ÀÇ ±ÇÇÑÀ» ¹Ù²Ù±âº¸´Ù´Â Àá±Ý + µ¥ÀÌÅͺ£À̽º¿ë µð·ºÅ丮¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. À§ÀÇ °æ¿ì ¾ÆÆÄÄ¡´Â + ServerRoot ¾Æ·¡ + var/ µð·ºÅ丮¿¡ ¼­¹ö°¡ ¼±ÅÃÇÑ È®Àå¸íÀ» °¡Áø + DavLock ÆÄÀÏÀ» ¸¸µç´Ù.

+ + +
+
top
+

DavLockDiscovery Áö½Ã¾î

+ + + + + + + + +
¼³¸í:Enable lock discovery
¹®¹ý:DavLockDiscovery on|off
±âº»°ª:DavLockDiscovery on
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Extension
¸ðµâ:mod_dav_fs
Áö¿ø:Available from Apache 2.4.55 and later.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html b/docs/manual/mod/mod_dav_lock.html new file mode 100644 index 0000000..1b13592 --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dav_lock.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_lock.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_lock.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dav_lock.html.en b/docs/manual/mod/mod_dav_lock.html.en new file mode 100644 index 0000000..efc521b --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html.en @@ -0,0 +1,128 @@ + + + + + +mod_dav_lock - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_dav_lock

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + + +
Description:Generic locking module for mod_dav
Status:Extension
Module Identifier:dav_lock_module
Source File:mod_dav_lock.c
Compatibility:Available in version 2.1 and later
+

Summary

+ +

This module implements a generic locking API which can be used by any + backend provider of mod_dav. It requires at least + the service of mod_dav. But without a backend provider + which makes use of it, it's useless and should not be loaded into the + server. A sample backend module which actually utilizes + mod_dav_lock is mod_dav_svn, the subversion provider module.

+ +

Note that mod_dav_fs does not need this + generic locking module, because it uses its own more specialized + version.

+ +

In order to make mod_dav_lock functional, you just have + to specify the location of the lock database using the DavGenericLockDB directive described + below.

+ +

Developer's Note

+

In order to retrieve the pointer to the locking provider function, you + have to use the ap_lookup_provider API with the arguments + dav-lock, generic, and 0.

+
+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

DavGenericLockDB Directive

+ + + + + + +
Description:Location of the DAV lock database
Syntax:DavGenericLockDB file-path
Context:server config, virtual host, directory
Status:Extension
Module:mod_dav_lock
+

Use the DavGenericLockDB directive to specify + the full path to the lock database, excluding an extension. If + the path is not absolute, it will be interpreted relative to ServerRoot. The implementation of + mod_dav_lock uses a SDBM database to track user + locks.

+ +

Example

DavGenericLockDB var/DavLock
+
+ +

The directory containing the lock database file must be + writable by the User + and Group under which + Apache is running. For security reasons, you should create a + directory for this purpose rather than changing the permissions on + an existing directory. In the above example, Apache will create + files in the var/ directory under the ServerRoot with the base filename + DavLock and an extension added by the server.

+ + +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html.fr.utf8 b/docs/manual/mod/mod_dav_lock.html.fr.utf8 new file mode 100644 index 0000000..106ce8f --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html.fr.utf8 @@ -0,0 +1,137 @@ + + + + + +mod_dav_lock - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_dav_lock

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + + +
Description:Module de verrouillage générique pour +mod_dav
Statut:Extension
Identificateur de Module:dav_lock_module
Fichier Source:mod_dav_lock.c
Compatibilité:Disponible depuis la version 2.1 d'Apache
+

Sommaire

+ +

ce module implémente une API de verrouillage générique que tout + fournisseur support de mod_dav peut utiliser. Son + activation nécessite l'utilisation de mod_dav. Mais + sans fournisseur support pour l'utiliser, il n'est d'aucun service + et ne doit pas être chargé dans le serveur. mod_dav_svn, le module qui + implémente le fournisseur subversion, est un exemple + de module de support qui utilise effectivement + mod_dav_lock.

+ +

Notez que mod_dav_fs n'a pas besoin de + ce module de verrouillage générique, car il utilise sa propre + version plus spécifique.

+ +

Pour que mod_dav_lock puisse fonctionner, il + vous suffit de spécifier le chemin de la base de données des verrous + à l'aide de la directive DavGenericLockDB décrite + ci-dessous.

+ +

Note du développeur

+

Pour déterminer le pointeur de la fonction du fournisseur de + verrouillage, vous devez utiliser l'API + ap_lookup_provider avec les arguments + dav-lock, generic et 0.

+
+
+ + +
top
+

Directive DavGenericLockDB

+ + + + + + +
Description:Chemin de la base de données des verrous DAV
Syntaxe:DavGenericLockDB chemin fichier
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_dav_lock
+

La directive DavLockDB permet de spécifier + le chemin complet de la base de données des verrous, sans extension. + Si le chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive ServerRoot. L'implémentation de + mod_dav_lock utilise une base de données SDBM pour + surveiller les verrous utilisateurs.

+ +

Exemple

DavGenericLockDB var/DavLock
+
+ +

Les utilisateur et groupe sous lesquels Apache s'exécute et qui + sont respectivement définis par les directives User et Group doivent pouvoir écrire dans le + répertoire qui contient le fichier de la base de données des + verrous. Pour des raisons de sécurité, il est recommandé de créer un + répertoire dédié à la base de données des verrous, plutôt que de + modifier les permissions d'un répertoire existant. Dans l'exemple + ci-dessus, Apache va créer des fichiers dans le répertoire + var/, lui-même sous-répertoire du répertoire défini par + la directive ServerRoot, avec le nom de base + DavLock suivi d'une extension choisie par le + serveur.

+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html.ja.utf8 b/docs/manual/mod/mod_dav_lock.html.ja.utf8 new file mode 100644 index 0000000..cd210f4 --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html.ja.utf8 @@ -0,0 +1,132 @@ + + + + + +mod_dav_lock - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_dav_lock

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+ + + + +
説明:mod_dav 用ã®æ±Žç”¨ãƒ­ãƒƒã‚¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
ステータス:Extension
モジュール識別å­:dav_lock_module
ソースファイル:mod_dav_lock.c
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.1 以é™
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ mod_dav ã®ã©ã®ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ + ã‹ã‚‰ã§ã‚‚使ãˆã‚‹æ±Žç”¨ãƒ­ãƒƒã‚¯ API ã‚’æä¾›ã—ã¾ã™ã€‚ + 使用ã«ã¯æœ€ä½Žé™ mod_dav + ã‚’å¿…è¦ã¨ã—ã¾ã™ãŒã€ã“れを利用ã™ã‚‹ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒå­˜åœ¨ã—ãªã„ã¨å½¹ã«ç«‹ãŸãªã„ã®ã§ã€ + ãã®ã‚ˆã†ãªå ´åˆã¯ã‚µãƒ¼ãƒã«èª­ã¿è¾¼ã‚€ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + mod_dav_lock + を実際ã«åˆ©ç”¨ã™ã‚‹ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ä¾‹ã¨ã—ã¦ã¯ subversion + プロãƒã‚¤ãƒ€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® mod_dav_svn ãŒã‚ã‚Šã¾ã™ã€‚

+ +

mod_dav_fs ã¯ç‰¹åŒ–ã•ã‚ŒãŸå°‚用ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ + 使ã†ãŸã‚ã€ã“ã®æ±Žç”¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯å¿…è¦ãªã„ã“ã¨ã«æ³¨æ„ã—㦠+ ãã ã•ã„。

+ +

mod_dav_lock を機能ã•ã›ã‚‹ã«ã¯ã€ + 以下ã§èª¬æ˜Žã•ã‚Œã¦ã„ã‚‹ DavGenericLockDB を使ã£ã¦ + ロックデータベースã®å ´æ‰€ã‚’指定ã™ã‚‹ã ã‘ã§ã™ã€‚

+ +

開発者å‘ã‘ã®ãƒ¡ãƒ¢

+

ロックをæä¾›ã—ã¦ã„る関数ã¸ã®ãƒã‚¤ãƒ³ã‚¿ã‚’å–å¾—ã™ã‚‹ãŸã‚ã«ã¯ã€ + ap_lookup_provider API ã‚’ã€å¼•æ•° dav-lock, + generic, 0 を指定ã—ã¦ä½¿ã†å¿…è¦ãŒ + ã‚ã‚Šã¾ã™ã€‚

+
+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

DavGenericLockDB ディレクティブ

+ + + + + + +
説明:DAV ロックデータベースã®å ´æ‰€
構文:DavGenericLockDB file-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_dav_lock
+

DavGenericLockDB ディレクティブを + 使ã£ã¦ã€æ‹¡å¼µå­ã‚’除ã„ãŸãƒ­ãƒƒã‚¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸ã®ãƒ•ãƒ«ãƒ‘スを + 指定ã—ã¾ã™ã€‚絶対パスã§ãªã„ã¨ã㯠ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—㦠+ 扱ã‚ã‚Œã¾ã™ã€‚mod_dav_lock ã®å®Ÿè£…ã§ã¯ãƒ¦ãƒ¼ã‚¶ã® + ロックを追跡ã™ã‚‹ã®ã« SDBM データベースを使ã„ã¾ã™ã€‚

+ +

例

DavGenericLockDB var/DavLock
+
+ +

ロックデータベースファイルã®ã‚るディレクトリ㯠+ Apache ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹ User + 㨠Group ã«ã‚ˆã£ã¦ + 書ãè¾¼ã¿å¯èƒ½ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。セキュリティ上ã®ç†ç”±ã‹ã‚‰ã€ + 既存ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ‘ーミッションを変更ã™ã‚‹ã®ã§ã¯ãªã〠+ 専用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作るã®ãŒè‰¯ã„ã§ã—ょã†ã€‚上ã®ä¾‹ã§ã¯ã€ + Apache 㯠ServerRoot ã®ä¸‹ã® var/ + ディレクトリã«ã€ãƒ•ã‚¡ã‚¤ãƒ«åã®æœ¬ä½“㌠DavLock 㧠+ サーãƒãŒè¿½åŠ ã™ã‚‹æ‹¡å¼µå­ã‚’æŒã¤ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã—ã¾ã™ã€‚

+ + +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dbd.html b/docs/manual/mod/mod_dbd.html new file mode 100644 index 0000000..62b714c --- /dev/null +++ b/docs/manual/mod/mod_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dbd.html.en b/docs/manual/mod/mod_dbd.html.en new file mode 100644 index 0000000..b2aea5b --- /dev/null +++ b/docs/manual/mod/mod_dbd.html.en @@ -0,0 +1,394 @@ + + + + + +mod_dbd - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_dbd

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Manages SQL database connections
Status:Extension
Module Identifier:dbd_module
Source File:mod_dbd.c
Compatibility:Version 2.1 and later
+

Summary

+ +

mod_dbd manages SQL database connections using + APR. It provides database connections on request + to modules requiring SQL database functions, and takes care of + managing databases with optimal efficiency and scalability + for both threaded and non-threaded MPMs. For details, see the + APR website and this overview of the + Apache DBD Framework + by its original developer. +

+
+ +
top
+
+

Connection Pooling

+

This module manages database connections, in a manner + optimised for the platform. On non-threaded platforms, + it provides a persistent connection in the manner of + classic LAMP (Linux, Apache, Mysql, Perl/PHP/Python). + On threaded platform, it provides an altogether more + scalable and efficient connection pool, as + described in this + article at ApacheTutor. Note that mod_dbd + supersedes the modules presented in that article.

+
top
+
+

Connecting

+ +

To connect to your database, you'll need to specify + a driver, and connection parameters. These vary from + one database engine to another. For example, to connect + to mysql, do the following:

+ +
DBDriver mysql
+DBDParams host=localhost,dbname=pony,user=shetland,pass=appaloosa
+ + +

You can then use this connection in a variety of other + modules, including mod_rewrite, + mod_authn_dbd, and mod_lua. + Further usage examples appear in each of those modules' + documentation.

+ +

See DBDParams for connection string + information for each of the supported database drivers.

+ +
top
+
+

Apache DBD API

+

mod_dbd exports five functions for other modules + to use. The API is as follows:

+ +
typedef struct {
+    apr_dbd_t *handle;
+    apr_dbd_driver_t *driver;
+    apr_hash_t *prepared;
+} ap_dbd_t;
+
+/* Export functions to access the database */
+
+/* acquire a connection that MUST be explicitly closed.
+ * Returns NULL on error
+ */
+AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*);
+
+/* release a connection acquired with ap_dbd_open */
+AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*);
+
+/* acquire a connection that will have the lifetime of a request
+ * and MUST NOT be explicitly closed.  Return NULL on error.
+ * This is the preferred function for most applications.
+ */
+AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*);
+
+/* acquire a connection that will have the lifetime of a connection
+ * and MUST NOT be explicitly closed.  Return NULL on error.
+ */
+AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*);
+
+/* Prepare a statement for use by a client module */
+AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*);
+
+/* Also export them as optional functions for modules that prefer it */
+APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*));
+APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*));
+APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*));
+APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_cacquire, (conn_rec*));
+APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const char*));
+ +
top
+
+

SQL Prepared Statements

+

mod_dbd supports SQL prepared statements on behalf + of modules that may wish to use them. Each prepared statement + must be assigned a name (label), and they are stored in a hash: + the prepared field of an ap_dbd_t. + Hash entries are of type apr_dbd_prepared_t + and can be used in any of the apr_dbd prepared statement + SQL query or select commands.

+ +

It is up to dbd user modules to use the prepared statements + and document what statements can be specified in httpd.conf, + or to provide their own directives and use ap_dbd_prepare.

+ +

Caveat

+ When using prepared statements with a MySQL database, it is preferred to set + reconnect to 0 in the connection string as to avoid errors that + arise from the MySQL client reconnecting without properly resetting the + prepared statements. If set to 1, any broken connections will be attempted + fixed, but as mod_dbd is not informed, the prepared statements will be invalidated. +
+
top
+
+

SECURITY WARNING

+ +

Any web/database application needs to secure itself against SQL + injection attacks. In most cases, Apache DBD is safe, because + applications use prepared statements, and untrusted inputs are + only ever used as data. Of course, if you use it via third-party + modules, you should ascertain what precautions they may require.

+

However, the FreeTDS driver is inherently + unsafe. The underlying library doesn't support + prepared statements, so the driver emulates them, and the + untrusted input is merged into the SQL statement.

+

It can be made safe by untainting all inputs: + a process inspired by Perl's taint checking. Each input + is matched against a regexp, and only the match is used, + according to the Perl idiom:

+
  $untrusted =~ /([a-z]+)/;
+  $trusted = $1;
+

To use this, the untainting regexps must be included in the + prepared statements configured. The regexp follows immediately + after the % in the prepared statement, and is enclosed in + curly brackets {}. For example, if your application expects + alphanumeric input, you can use:

+

+ "SELECT foo FROM bar WHERE input = %s" +

+

with other drivers, and suffer nothing worse than a failed query. + But with FreeTDS you'd need:

+

+ "SELECT foo FROM bar WHERE input = %{([A-Za-z0-9]+)}s" +

+

Now anything that doesn't match the regexp's $1 match is + discarded, so the statement is safe.

+

An alternative to this may be the third-party ODBC driver, + which offers the security of genuine prepared statements.

+
+
top
+

DBDExptime Directive

+ + + + + + + +
Description:Keepalive time for idle connections
Syntax:DBDExptime time-in-seconds
Default:DBDExptime 300
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

Set the time to keep idle connections alive when the number + of connections specified in DBDKeep has been exceeded (threaded + platforms only).

+ +
+
top
+

DBDInitSQL Directive

+ + + + + + +
Description:Execute an SQL statement after connecting to a database
Syntax:DBDInitSQL "SQL statement"
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

Modules, that wish it, can have one or more SQL statements + executed when a connection to a database is created. Example + usage could be initializing certain values or adding a log + entry when a new connection is made to the database.

+ +
+
top
+

DBDKeep Directive

+ + + + + + + +
Description:Maximum sustained number of connections
Syntax:DBDKeep number
Default:DBDKeep 2
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

Set the maximum number of connections per process to be + sustained, other than for handling peak demand (threaded + platforms only).

+ +
+
top
+

DBDMax Directive

+ + + + + + + +
Description:Maximum number of connections
Syntax:DBDMax number
Default:DBDMax 10
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

Set the hard maximum number of connections per process + (threaded platforms only).

+ +
+
top
+

DBDMin Directive

+ + + + + + + +
Description:Minimum number of connections
Syntax:DBDMin number
Default:DBDMin 1
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

Set the minimum number of connections per process (threaded + platforms only).

+ +
+
top
+

DBDParams Directive

+ + + + + + +
Description:Parameters for database connection
Syntax:DBDParams +param1=value1[,param2=value2]
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

As required by the underlying driver. Typically this will be + used to pass whatever cannot be defaulted amongst username, + password, database name, hostname and port number for connection.

+

Connection string parameters for current drivers include:

+
+
FreeTDS (for MSSQL and SyBase)
+
username, password, appname, dbname, host, charset, lang, server
+
MySQL
+
host, port, user, pass, dbname, sock, flags, fldsz, group, reconnect
+
Oracle
+
user, pass, dbname, server
+
PostgreSQL
+
The connection string is passed straight through to PQconnectdb
+
SQLite2
+
The connection string is split on a colon, and part1:part2 is used as sqlite_open(part1, atoi(part2), NULL)
+
SQLite3
+
The connection string is passed straight through to sqlite3_open
+
ODBC
+
datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize
+
+ +
+
top
+

DBDPersist Directive

+ + + + + + +
Description:Whether to use persistent connections
Syntax:DBDPersist On|Off
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

If set to Off, persistent and pooled connections are disabled. + A new database connection is opened when requested by a client, + and closed immediately on release. This option is for debugging + and low-usage servers.

+ +

The default is to enable a pool of persistent connections + (or a single LAMP-style persistent connection in the case of a + non-threaded server), and should almost always be used in operation.

+ +

Prior to version 2.2.2, this directive accepted only the values + 0 and 1 instead of Off and + On, respectively.

+ +
+
top
+

DBDPrepareSQL Directive

+ + + + + + +
Description:Define an SQL prepared statement
Syntax:DBDPrepareSQL "SQL statement" label
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

For modules such as authentication that repeatedly use a + single SQL statement, optimum performance is achieved by preparing + the statement at startup rather than every time it is used. + This directive prepares an SQL statement and assigns it a label.

+ +
+
top
+

DBDriver Directive

+ + + + + + +
Description:Specify an SQL driver
Syntax:DBDriver name
Context:server config, virtual host
Status:Extension
Module:mod_dbd
+

Selects an apr_dbd driver by name. The driver must be installed + on your system (on most systems, it will be a shared object or dll). + For example, DBDriver mysql will select the MySQL + driver in apr_dbd_mysql.so.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dbd.html.fr.utf8 b/docs/manual/mod/mod_dbd.html.fr.utf8 new file mode 100644 index 0000000..56448e9 --- /dev/null +++ b/docs/manual/mod/mod_dbd.html.fr.utf8 @@ -0,0 +1,421 @@ + + + + + +mod_dbd - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_dbd

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Gestion des connexions à une base de données SQL
Statut:Extension
Identificateur de Module:dbd_module
Fichier Source:mod_dbd.c
Compatibilité:Versions 2.1 and supérieures
+

Sommaire

+ +

Le module mod_dbd gère les connexions + à une base de données SQL via APR. Il permet + aux modules qui requièrent des fonctions liées aux bases de données + SQL de se connecter à une base de données à la demande, et s'efforce + de conférer aux bases de données une efficacité et une + évolutivité optimales pour les MPMs threadés ou non threadés. Pour + plus de détails, voir le site web APR, + ainsi que cette vue d'ensemble de l'environnement de + développement d'Apache DBD par son développeur initial. +

+
+ +
top
+
+

Regroupement des connexions

+

Ce module gère de manière optimisée en fonction de la plate-forme + les connexions aux bases de données. Sur les plates-formes non + threadées, il maintient une connexion persistente à la manière d'un + LAMP classique (Linux, Apache, Mysql, Perl/PHP/Python). Sur les + plates-formes threadées, il maintient un groupe de + connexions à la fois plus évolutif et plus efficace, comme + décrit dans cet + article d'ApacheTutor. Notez que mod_dbd + remplace les modules présentés dans cet article.

+
top
+
+

Connexion

+ +

Pour vous connecter à votre base de données, vous devez spécifier un + pilote et des paramètres de connexion qui diffèrent selon le moteur de base + de données. Par exemple, pour vous connecter à mysql, spécifiez ce qui suit + :

+ +
DBDriver mysql
+DBDParams host=localhost,dbname=pony,user=shetland,pass=appaloosa
+ + +

Vous pourrez alors utiliser cette connexion dans de nombreux autres + modules comme mod_rewrite, mod_authn_dbd + et mod_lua. Vous trouverez des exemples d'utilisation dans + la documentation de ces modules.

+ +

Voir la syntaxe de la directive DBDParams pour les + informations à fournir dans la chaîne de connexion en fonction des + différents pilotes de base de données supportés.

+ +
top
+
+

API DBD d'Apache

+

mod_dbd exporte cinq fonctions que d'autres + modules pourront utiliser. L'API se présente comme suit :

+ +
typedef struct {
+    apr_dbd_t *handle;
+    apr_dbd_driver_t *driver;
+    apr_hash_t *prepared;
+} ap_dbd_t;
+
+/* Fonctions exportées pour accéder à la base de données */
+
+/* ouvre une connexion qui DOIT avoir été explicitement fermée.
+ * Renvoie NULL en cas d'erreur
+ */
+AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*);
+
+/* ferme une connexion ouverte avec ap_dbd_open */
+AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*);
+
+/* acquiert une connexion qui aura la durée de vie de la requête et qui
+ * NE DOIT PAS avoir été explicitement fermée. Renvoie NULL en cas
+ * d'erreur. C'est la fonction recommandée pour la plupart des
+ * applications.
+ */
+AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*);
+
+/* acquiert une connexion qui aura la durée de vie d'une connexion et
+ * qui NE DOIT PAS avoir été explicitement fermée. Renvoie NULL en cas
+ * d'erreur.
+ */
+AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*);
+
+/* Prépare une requête qu'un module client pourra utiliser */
+AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*);
+
+/* Exporte aussi ces fonctions à titre optionnel mour les modules qui
+ * péfèreraient les utiliser */
+APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*));
+APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*));
+APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*));
+APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_cacquire, (conn_rec*));
+APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const char*));
+ +
top
+
+

Requêtes SQL préparées

+

mod_dbd supporte les requêtes SQL préparées à + destination des modules qui pourraient les utiliser. Chaque requête + préparée doit posséder un nom (étiquette), et est stockée dans un + condensé (hash) : les condensés sont du type + apr_dbd_prepared_t et s'utilisent dans toute requête + SQL ou commande select préparée par apr_dbd.

+ +

Il est du ressort des modules utilisateurs de dbd d'utiliser les + requêtes préparées et de préciser quelles requêtes doivent être + spécifiées dans httpd.conf, ou de fournir leurs propres directives + et d'utiliser ap_dbd_prepare.

+ +

Avertissement

+ Lorsqu'on utilise des requêtes préparées avec des bases de + données MySQL, il est préférable de définir + reconnect à 0 dans la chaîne de connexion, afin + d'éviter des erreurs provoquées par un client MySQL qui se + reconnecterait sans réinitialiser correctement les requêtes + préparées. Si reconnect est défini à 1, toute + connexion défectueuse sera sensée être réparée, mais comme + mod_dbd n'en est pas informé, les requêtes préparées seront + invalidées. +
+
top
+
+

AVERTISSEMENT DE SECURITE

+ +

Toute application web impliquant une base de données doit se + protéger elle-même contre les attaques de type injection SQL. Dans + la plupart des cas Apache DBD est sûr, car les applications + utilisent des requêtes préparées, et les entrées non sures ne seront + utilisées qu'à titre de données. Bien entendu, si vous l'utilisez + via un module tiers, vous devez être au fait des précautions à + prendre.

+

Cependant, le pilote FreeTDS est non + sûr de par sa nature-même. Comme la bibliothèque + sous-jacente ne supporte pas les requêtes préparées, le pilote en + effectue une émulation, et les entrées non sûres sont fusionnées + avec la requête SQL.

+

Il peut être sécurisé en décontaminant toutes les + entrées : un processus inspiré de la recherche de contaminations + (taint mode) de + Perl. Chaque entrée est comparée à une expression rationnelle, et + seules les entrées qui correspondent sont utilisées, en accord avec + le langage Perl :

+
  $untrusted =~ /([a-z]+)/;
+  $trusted = $1;
+

Pour utiliser ceci, les expressions rationnelles de + décontamination doivent être incluses dans les requêtes préparées. + L'expression rationnelle doit se situer immédiatement après le + caractère % dans la requête préparée, et doit être entourée + d'accolades {}. Par exemple, si votre application attend une entrée + alphanumérique, vous pouvez utiliser :

+

+ "SELECT foo FROM bar WHERE input = %s" +

+

avec d'autres pilotes, et ne risquer au pire qu'une requête + échouée. Mais avec FreeTDS, vous devez utiliser :

+

+ "SELECT foo FROM bar WHERE input = %{([A-Za-z0-9]+)}s" +

+

tout ce qui ne correspond pas à l'expression rationnelle est + alors rejeté, et la requête est maintenant sûre.

+

Alternativement, vous pouvez utiliser le pilote ODBC tiers, qui + offre la sécurité des requêtes préparées authentiques.

+
+
top
+

Directive DBDExptime

+ + + + + + + +
Description:Durée de vie des connexions inactives
Syntaxe:DBDExptime durée en secondes
Défaut:DBDExptime 300
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Cette directive permet de définir la durée de vie des connexions + inactives lorsque le nombre de connexions spécifié par la directive + DBDKeep a été dépassé (plates-formes threadées uniquement).

+ +
+
top
+

Directive DBDInitSQL

+ + + + + + +
Description:Exécute une instruction SQL après connexion à une base de +données
Syntaxe:DBDInitSQL "instruction SQL"
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Les modules qui le souhaitent peuvent exécuter une ou plusieurs + instructions SQL après connexion à une base de données. Par exemple + initialiser certaines valeurs, ou ajouter une entrée dans le journal + lors d'une nouvelle connexion à la base de données.

+ +
+
top
+

Directive DBDKeep

+ + + + + + + +
Description:Nombre maximum de connexions maintenues
Syntaxe:DBDKeep nombre
Défaut:DBDKeep 2
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Cette directive permet de définir le nombre maximum de connexions + à maintenir par processus, en dehors de celles servant à gérer les + pics de demandes (plates-formes threadées uniquement).

+ +
+
top
+

Directive DBDMax

+ + + + + + + +
Description:Nombre maximum de connexions
Syntaxe:DBDMax nombre
Défaut:DBDMax 10
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Cette directive permet de définir le nombre maximum effectif de + connexions par processus (plates-formes threadées uniquement).

+ +
+
top
+

Directive DBDMin

+ + + + + + + +
Description:Nombre minimum de connexions
Syntaxe:DBDMin nombre
Défaut:DBDMin 1
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Cette directive permet de définir le nombre minimum de connexions + par processus (plates-formes threadées uniquement).

+ +
+
top
+

Directive DBDParams

+ + + + + + +
Description:Paramètres de la connexion à la base de +données
Syntaxe:DBDParams +param1=valeur1[,param2=valeur2]
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Cette directive permet de spécifier des paramètres selon les + besoins du pilote concerné. En général, les paramètres à passer + concernent tout ce qui n'a pas de valeur par défaut comme le nom + d'utilisateur, le mot de passe, le nom de la base de données, le nom + d'hôte et le numéro de port de la connexion.

+

Les paramètres de la chaîne de connexion en fonction des + différents pilotes comprennent :

+
+
FreeTDS (pour MSSQL et SyBase)
+
username, password, appname, dbname, host, charset, lang, server
+
MySQL
+
host, port, user, pass, dbname, sock, flags, fldsz, group, reconnect
+
Oracle
+
user, pass, dbname, server
+
PostgreSQL
+
La chaîne de connexion est passée directement à PQconnectdb
+
SQLite2
+
La chaîne de connexion est scindée avec comme séparateur le + caractère ':', et partie1:partie2 est utilisé dans + sqlite_open(partie1, atoi(partie2), NULL)
+
SQLite3
+
La chaîne de connexion est passée directement à sqlite3_open
+
ODBC
+
datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize
+
+ +
+
top
+

Directive DBDPersist

+ + + + + + +
Description:Utiliser ou non des connexions persistentes
Syntaxe:DBDPersist On|Off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Si cette directive est définie à Off, les connexions persistentes + et les connexions groupées sont désactivées. À la demande d'un + client, une nouvelle connexion à la base de données est ouverte, et + fermée immédiatement à l'issue du traitement. Cette configuration ne + doit être utilisée qu'à des fins de débogage, ou sur des serveurs à + charge faible.

+ +

Par défaut, les groupes de connexions persistentes sont activés + (ou une seule connexion persistente du style LAMP pour les serveurs + non threadés), et c'est la configuration qui devrait être utilisée + dans la plupart des cas sur un serveur en production.

+ +

Avant la version 2.2.2, cette directive n'acceptait que les + valeurs 0 et 1 au lieu de Off + et On, respectivement.

+ +
+
top
+

Directive DBDPrepareSQL

+ + + + + + +
Description:Définit une requête SQL préparée
Syntaxe:DBDPrepareSQL "requête SQL" étiquette
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Pour les modules tels que les modules d'authentification, qui + utilisent de manière répétée la même requête SQL, on peut optimiser + les performances en préparant la requête une fois pour toutes au + démarrage, plutôt qu'à chaque utilisation. Cette directive permet de + préparer une requête SQL et de lui assigner une étiquette.

+ +
+
top
+

Directive DBDriver

+ + + + + + +
Description:Spécifie un pilote SQL
Syntaxe:DBDriver nom
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_dbd
+

Cette directive permet de spécifier un pilote apr_dbd par son + nom. Le pilote doit être installé sur votre système (sur la plupart + des systèmes, il s'agit d'un objet partagé ou d'une dll). Par + exemple, DBDriver mysql va sélectionner le pilote MySQL + dans la bibliothèque apr_dbd_mysql.so.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html b/docs/manual/mod/mod_deflate.html new file mode 100644 index 0000000..8c5cc39 --- /dev/null +++ b/docs/manual/mod/mod_deflate.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_deflate.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_deflate.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_deflate.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_deflate.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_deflate.html.en b/docs/manual/mod/mod_deflate.html.en new file mode 100644 index 0000000..57b988d --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.en @@ -0,0 +1,442 @@ + + + + + +mod_deflate - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_deflate

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Compress content before it is delivered to the +client
Status:Extension
Module Identifier:deflate_module
Source File:mod_deflate.c
+

Summary

+ +

The mod_deflate module provides + the DEFLATE output filter that allows output from + your server to be compressed before being sent to the client over + the network.

+
+ +
top
+
+

Supported Encodings

+

The gzip encoding is the only one supported to ensure complete compatibility + with old browser implementations. The deflate encoding is not supported, + please check the zlib's documentation + for a complete explanation. +

+
top
+
+

Sample Configurations

+

Compression and TLS

+

Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries deflate compressed data. For more + information, review the details of the "BREACH" family of attacks.

+
+

This is a simple configuration that compresses common text-based content types.

+ +

Compress only a few types

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
+
+ +
top
+
+

Enabling Compression

+

Compression and TLS

+

Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries deflate compressed data. For more + information, review the details of the "BREACH" family of attacks.

+
+ +

Output Compression

+

Compression is implemented by the DEFLATE + filter. The following directive + will enable compression for documents in the container where it + is placed:

+ +
SetOutputFilter DEFLATE
+SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip
+ + +

If you want to restrict the compression to particular MIME types + in general, you may use the AddOutputFilterByType directive. Here is an example of + enabling compression only for the html files of the Apache + documentation:

+ +
<Directory "/your-server-root/manual">
+    AddOutputFilterByType DEFLATE text/html
+</Directory>
+ + +

Note

+ The DEFLATE filter is always inserted after RESOURCE + filters like PHP or SSI. It never touches internal subrequests. +
+

Note

+ There is an environment variable force-gzip, + set via SetEnv, which + will ignore the accept-encoding setting of your browser and will + send compressed output. +
+ + +

Output Decompression

+

The mod_deflate module also provides a filter for + inflating/uncompressing a gzip compressed response body. In order to activate + this feature you have to insert the INFLATE filter into + the output filter chain using SetOutputFilter or AddOutputFilter, for example:

+ +
<Location "/dav-area">
+    ProxyPass "http://example.com/"
+    SetOutputFilter INFLATE
+</Location>
+ + +

This Example will uncompress gzip'ed output from example.com, so other + filters can do further processing with it. +

+ + +

Input Decompression

+

The mod_deflate module also provides a filter for + decompressing a gzip compressed request body . In order to activate + this feature you have to insert the DEFLATE filter into + the input filter chain using SetInputFilter or AddInputFilter, for example:

+ +
<Location "/dav-area">
+    SetInputFilter DEFLATE
+</Location>
+ + +

Now if a request contains a Content-Encoding: + gzip header, the body will be automatically decompressed. + Few browsers have the ability to gzip request bodies. However, + some special applications actually do support request + compression, for instance some WebDAV clients.

+ +

Note on Content-Length

+

If you evaluate the request body yourself, don't trust + the Content-Length header! + The Content-Length header reflects the length of the + incoming data from the client and not the byte count of + the decompressed data stream.

+
+ +
top
+
+

Dealing with proxy servers

+ +

The mod_deflate module sends a Vary: + Accept-Encoding HTTP response header to alert proxies that + a cached response should be sent only to clients that send the + appropriate Accept-Encoding request header. This + prevents compressed content from being sent to a client that will + not understand it.

+ +

If you use some special exclusions dependent + on, for example, the User-Agent header, you must + manually configure an addition to the Vary header + to alert proxies of the additional restrictions. For example, + in a typical configuration where the addition of the DEFLATE + filter depends on the User-Agent, you should add:

+ +
Header append Vary User-Agent
+ + +

If your decision about compression depends on other information + than request headers (e.g. HTTP version), you have to set the + Vary header to the value *. This prevents + compliant proxies from caching entirely.

+ +

Example

Header set Vary *
+
+
top
+
+

Serving pre-compressed +content

+ +

Since mod_deflate re-compresses content each + time a request is made, some performance benefit can be derived by + pre-compressing the content and telling mod_deflate to serve them + without re-compressing them. This may be accomplished using a + configuration like the following:

+ +
<IfModule mod_headers.c>
+    # Serve gzip compressed CSS and JS files if they exist
+    # and the client accepts gzip.
+    RewriteCond "%{HTTP:Accept-encoding}" "gzip"
+    RewriteCond "%{REQUEST_FILENAME}\.gz" -s
+    RewriteRule "^(.*)\.(css|js)"         "$1\.$2\.gz" [QSA]
+
+    # Serve correct content types, and prevent mod_deflate double gzip.
+    RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
+    RewriteRule "\.js\.gz$"  "-" [T=text/javascript,E=no-gzip:1]
+
+
+    <FilesMatch "(\.js\.gz|\.css\.gz)$">
+      # Serve correct encoding type.
+      Header append Content-Encoding gzip
+
+      # Force proxies to cache gzipped &
+      # non-gzipped css/js files separately.
+      Header append Vary Accept-Encoding
+    </FilesMatch>
+</IfModule>
+ + +
+
top
+

DeflateBufferSize Directive

+ + + + + + + +
Description:Fragment size to be compressed at one time by zlib
Syntax:DeflateBufferSize value
Default:DeflateBufferSize 8096
Context:server config, virtual host
Status:Extension
Module:mod_deflate
+

The DeflateBufferSize directive specifies + the size in bytes of the fragments that zlib should compress at one + time. If the compressed response size is bigger than the one specified + by this directive then httpd will switch to chunked encoding + (HTTP header Transfer-Encoding set to Chunked), with the + side effect of not setting any Content-Length HTTP header. This is particularly + important when httpd works behind reverse caching proxies or when httpd is configured with + mod_cache and mod_cache_disk because + HTTP responses without any Content-Length header might not be cached. +

+ +
+
top
+

DeflateCompressionLevel Directive

+ + + + + + + +
Description:How much compression do we apply to the output
Syntax:DeflateCompressionLevel value
Default:Zlib's default
Context:server config, virtual host
Status:Extension
Module:mod_deflate
+

The DeflateCompressionLevel directive specifies + what level of compression should be used, the higher the value, + the better the compression, but the more CPU time is required to + achieve this.

+

The value must between 1 (less compression) and 9 (more compression).

+ +
+
top
+

DeflateFilterNote Directive

+ + + + + + +
Description:Places the compression ratio in a note for logging
Syntax:DeflateFilterNote [type] notename
Context:server config, virtual host
Status:Extension
Module:mod_deflate
+

The DeflateFilterNote directive + specifies that a note about compression ratios should be attached + to the request. The name of the note is the value specified for + the directive. You can use that note for statistical purposes by + adding the value to your access log.

+ +

Example

DeflateFilterNote ratio
+
+LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
+CustomLog "logs/deflate_log" deflate
+
+ +

If you want to extract more accurate values from your logs, you + can use the type argument to specify the type of data + left as a note for logging. type can be one of:

+ +
+
Input
+
Store the byte count of the filter's input stream in the note.
+ +
Output
+
Store the byte count of the filter's output stream in the note.
+ +
Ratio
+
Store the compression ratio (output/input * 100) + in the note. This is the default, if the type argument + is omitted.
+
+ +

Thus you may log it this way:

+ +

Accurate Logging

DeflateFilterNote Input instream
+DeflateFilterNote Output outstream
+DeflateFilterNote Ratio ratio
+
+LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
+CustomLog "logs/deflate_log" deflate
+
+ +

See also

+ +
+
top
+

DeflateInflateLimitRequestBody Directive

+ + + + + + + + +
Description:Maximum size of inflated request bodies
Syntax:DeflateInflateLimitRequestBody value
Default:None, but LimitRequestBody applies after deflation
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_deflate
Compatibility:2.4.10 and later
+

The DeflateInflateLimitRequestBody directive + specifies the maximum size of an inflated request body. If it is unset, + LimitRequestBody is applied to the + inflated body.

+ +
+
top
+

DeflateInflateRatioBurst Directive

+ + + + + + + + +
Description:Maximum number of times the inflation ratio for request bodies + can be crossed
Syntax:DeflateInflateRatioBurst value
Default:DeflateInflateRatioBurst 3
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_deflate
Compatibility:2.4.10 and later
+

The DeflateInflateRatioBurst directive + specifies the maximum number of times the + DeflateInflateRatioLimit can + be crossed before terminating the request.

+ +
+
top
+

DeflateInflateRatioLimit Directive

+ + + + + + + + +
Description:Maximum inflation ratio for request bodies
Syntax:DeflateInflateRatioLimit value
Default:DeflateInflateRatioLimit 200
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_deflate
Compatibility:2.4.10 and later
+

The DeflateInflateRatioLimit directive + specifies the maximum ratio of deflated to inflated size of an + inflated request body. This ratio is checked as the body is + streamed in, and if crossed more than + DeflateInflateRatioBurst + times, the request will be terminated.

+ +
+
top
+

DeflateMemLevel Directive

+ + + + + + + +
Description:How much memory should be used by zlib for compression
Syntax:DeflateMemLevel value
Default:DeflateMemLevel 9
Context:server config, virtual host
Status:Extension
Module:mod_deflate
+

The DeflateMemLevel directive specifies + how much memory should be used by zlib for compression + (a value between 1 and 9).

+ +
+
top
+

DeflateWindowSize Directive

+ + + + + + + +
Description:Zlib compression window size
Syntax:DeflateWindowSize value
Default:DeflateWindowSize 15
Context:server config, virtual host
Status:Extension
Module:mod_deflate
+

The DeflateWindowSize directive specifies the + zlib compression window size (a value between 1 and 15). Generally, the + higher the window size, the higher can the compression ratio be expected.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html.fr.utf8 b/docs/manual/mod/mod_deflate.html.fr.utf8 new file mode 100644 index 0000000..a291b28 --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.fr.utf8 @@ -0,0 +1,473 @@ + + + + + +mod_deflate - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_deflate

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Comprime le contenu avant de le servir au +client
Statut:Extension
Identificateur de Module:deflate_module
Fichier Source:mod_deflate.c
+

Sommaire

+ +

Le module mod_deflate implémente le filtre de + sortie DEFLATE qui permet de comprimer la sortie de + votre serveur avant de l'envoyer au client sur le réseau.

+
+ +
top
+
+

Codages supportés

+

Le seul codage supporté est gzip afin d'assurer une complète + compatibilité avec les anciens navigateurs. Le codage deflate + n'est donc pas supporté ; voir à ce sujet la documentation de zlib pour une + explication détaillée. +

+
top
+
+

Exemples de configurations

+

Compression et TLS

+

Certaines applications web sont vulnérables aux attaques + visant le vol d'information lorsqu'une connexion TLS transmet + des données compressées par deflate. Pour plus de détails, + étudiez les attaques de la famille "BREACH".

+
+

Voici une configuration simple qui comprime les contenus à base + de texte courants.

+ +

Ne comprime que certains types de documents

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
+
+ +
top
+
+

Activation de la compression

+ +

Compression et TLS

+

Certaines applications web sont vulnérables aux attaques pour + vol d'information lorsque la connexion TLS transmet des données + compressées par deflate. Pour plus d'informations, voir en + détails la famille d'attaques de type "BREACH".

+
+ +

Compression de la sortie

+

La compression est implémentée par le filtre DEFLATE. La + directive suivante active la compression des documents dans le + conteneur où elle est placée :

+ +
SetOutputFilter DEFLATE
+SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip
+ + +

Si vous voulez limiter la compression à certains types MIME + particuliers, vous pouvez utiliser la directive AddOutputFilterByType. Voici un exemple + où la compression n'est activée que pour les fichiers html de la + documentation d'Apache :

+ +
<Directory "/your-server-root/manual">
+    AddOutputFilterByType DEFLATE text/html
+</Directory>
+ + +

Note

+ Le filtre DEFLATE est toujours inséré après les + filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les + sous-requêtes internes. +
+

Note

+ La variable d'environnement force-gzip, définie à + l'aide de la directive SetEnv, permet d'ignorer la + configuration de votre navigateur quant aux codages acceptés, et + d'envoyer sans condition une sortie comprimée. +
+ + +

Décompression de la sortie

+

Le module mod_deflate fournit aussi un filtre + permettant de décomprimer un corps de réponse comprimé par gzip. + Pour activer cette fonctionnalité, vous devez insérer le filtre + INFLATE dans la chaîne de filtrage en sortie via la + directive SetOutputFilter ou + AddOutputFilter, comme + dans l'exemple suivant :

+ +
<Location "/dav-area">
+    ProxyPass "http://example.com/"
+    SetOutputFilter INFLATE
+</Location>
+ + +

Dans cet exemple, les sorties comprimées par gzip en + provenance de example.com seront décomprimées afin de pouvoir + être éventuellement traitées par d'autres filtres. +

+ + +

Décompression de l'entrée

+

Le module mod_deflate fournit également un filtre + permettant de décomprimer un corps de requête comprimé par gzip. + Pour activer cette fonctionnalité, vous devez insérer le filtre + DEFLATE dans la chaîne de filtrage en entrée via la + directive SetInputFilter ou + AddInputFilter, comme + dans l'exemple suivant :

+ +
<Location "/dav-area">
+    SetInputFilter DEFLATE
+</Location>
+ + +

Désormais, si une requête contient un en-tête + Content-Encoding: gzip, son corps sera + automatiquement décomprimé. Peu de navigateurs sont actuellement + en mesure de comprimer les corps de requêtes. Cependant, + certaines applications spécialisées supportent les requêtes + comprimées, comme par exemple certains clients WebDAV.

+ +

Note à propos de l'en-tête + Content-Length

+

Si vous évaluez vous-même la taille du corps de requête, + ne faites pas confiance à l'en-tête + Content-Length! L'en-tête + Content-Length indique la longueur des données en provenance du + client, et non la quantité d'octets que représente le + flux de données décompressé.

+
+ +
top
+
+

Prise en compte des serveurs mandataires

+ +

Le module mod_deflate envoie un en-tête de + réponse HTTP Vary: Accept-Encoding pour avertir les + mandataires qu'une réponse enregistrée dans le cache ne doit être + envoyée qu'aux clients qui ont envoyé l'en-tête de requête + Accept-Encoding approprié. Ceci permet d'éviter l'envoi + d'un contenu comprimé à un client qui ne sera pas en mesure + de l'interpréter.

+ +

Si vous avez défini des exclusions spécifiques dépendant, par + exemple, de l'en-tête User-Agent, vous devez + ajouter manuellement des données à l'en-tête Vary afin + d'informer les mandataires des restrictions supplémentaires. Par + exemple, dans la configuration classique où l'addition du filtre + DEFLATE dépend du contenu de l'en-tête + User-Agent, vous devez spécifier :

+ +
Header append Vary User-Agent
+ + +

Si votre décision de comprimer le contenu dépend d'autres + informations que celles contenues dans les en-têtes de la requête + (par exemple la version HTTP), vous devez attribuer à l'en-tête + Vary la valeur *, ce qui permet d'empêcher + les mandataires compatibles de tout mettre en cache.

+ +

Exemple

Header set Vary *
+
+
top
+
+

Servir du contenu précompressé

+ +

Comme mod_deflate recompresse le contenu demandé à + chaque requête, il est possible de gagner en performances en précompressant + ce contenu, et en forçant mod_deflate à servir ce contenu + précompressé sans avoir à le recompresser à chaque requête. Pour ce faire, + utilisez une configuration du style :

+ +
<IfModule mod_headers.c>
+    # Servir des fichiers CSS et JS compressés avec gzip, s'ils existent, et
+    # si le client accepte gzip.
+    RewriteCond "%{HTTP:Accept-encoding}" "gzip"
+    RewriteCond "%{REQUEST_FILENAME}\.gz" -s
+    RewriteRule "^(.*)\.(css|js)"         "$1\.$2\.gz" [QSA]
+
+    # Servir des types de contenus corrects, et empêcher mod_deflate
+    # d'effectuer un double gzip.
+    RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
+    RewriteRule "\.js\.gz$"  "-" [T=text/javascript,E=no-gzip:1]
+
+
+    <FilesMatch "(\.js\.gz|\.css\.gz)$">
+      # Servir le type de codage correct.
+      Header append Content-Encoding gzip
+
+      # Force les mandataires à mettre en cache séparément les fichiers
+      # css/js gzippés & non gzippés.
+      Header append Vary Accept-Encoding
+    </FilesMatch>
+</IfModule>
+ + +
+
top
+

Directive DeflateBufferSize

+ + + + + + + +
Description:Taille du fragment que zlib devra comprimer en une seule +fois
Syntaxe:DeflateBufferSize valeur
Défaut:DeflateBufferSize 8096
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_deflate
+

La directive DeflateBufferSize permet de + spécifier la taille en octets du fragment que zlib devra comprimer + en une seule fois. Si la taille de la réponse compressée est supérieure à + celle spécifiée par cette directive, httpd passera à un mode d'encodage + fragmenté (l'en-tête HTTP Transfer-Encoding prend la valeur + Chunked), ceci ayant comme effet de bord de ne définir aucun + en-tête HTTP Content-Length. Il est important de connaître ce + comportement, particulièrement lorsque httpd travaille derrière des + mandataires inverses avec mise en cache, ou lorsque httpd est configuré pour + utiliser mod_cache et mod_cache_disk car + les réponses HTTP sans en-tête Content-Length peuvent ne pas + être mises en cache.

+ +
+
top
+

Directive DeflateCompressionLevel

+ + + + + + + +
Description:Le niveau de compression que nous appliquons à la +sortie
Syntaxe:DeflateCompressionLevel valeur
Défaut:La valeur par défaut de zlib
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_deflate
+

La directive DeflateCompressionLevel + permet de spécifier le niveau de compression à utiliser ; plus + grande est la valeur, meilleure sera la compression, mais plus grand + sera aussi le temps CPU nécessaire pour effectuer le + traitement.

+

La valeur doit être comprise entre 1 (compression minimale) et 9 + (compression maximale).

+ +
+
top
+

Directive DeflateFilterNote

+ + + + + + +
Description:Enregistre le taux de compression sous la forme d'une note +à des fins de journalisation
Syntaxe:DeflateFilterNote [type] nom de la note
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_deflate
+

La directive DeflateFilterNote permet de + spécifier qu'une note à propos du taux de compression doit être + attachée à la requête. Le nom de la note est passé sous la forme + d'un argument de la directive. Vous pouvez utiliser cette note à des + fins statistiques en enregistrant sa valeur dans votre journal des accès.

+ +

Exemple

      DeflateFilterNote ratio
+    
+      LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
+      CustomLog "logs/deflate_log" deflate
+
+ +

Pour extraire des informations plus précises de vos journaux, + vous pouvez utiliser l'argument type pour spécifier le + type de données de la note enregistrée dans le journal. + type peut prendre une des valeurs suivantes :

+ +
+
Input
+
Enregistre dans la note la taille en octets du flux en entrée + du filtre.
+ +
Output
+
Enregistre dans la note la taille en octets du flux en sortie + du filtre.
+ +
Ratio
+
Enregistre le taux de compression (sortie/entrée * + 100) dans la note. Il s'agit de la valeur par défaut si + l'argument type est omis.
+
+ +

Vous pouvez donc configurer votre journalisation de la manière + suivante :

+ +

Journalisation détaillée

DeflateFilterNote Input instream
+DeflateFilterNote Output outstream
+DeflateFilterNote Ratio ratio
+
+LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
+CustomLog "logs/deflate_log" deflate
+
+ +

Voir aussi

+ +
+
top
+

Directive DeflateInflateLimitRequestBody

+ + + + + + + + +
Description:Taille maximale des corps de requête décompressés
Syntaxe:DeflateInflateLimitRequestBody value
Défaut:Aucune limite, mais LimitRequestBody s'applique après la +compression
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_deflate
Compatibilité:Disponible à partir de la version 2.4.10 du serveur HTTP +Apache
+

La directive + DeflateInflateLimitRequestBody permet de + spécifier la taille maximale d'un corps de requête décompressé. Si + elle n'est pas définie, c'est la valeur de la directive LimitRequestBody qui s'applique au corps + de requête décompressé.

+ +
+
top
+

Directive DeflateInflateRatioBurst

+ + + + + + + + +
Description:Nombre maximal de fois que le ratio de décompression d'un +corps de requête peut être dépassé
Syntaxe:DeflateInflateRatioBurst value
Défaut:DeflateInflateRatioBurst 3
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_deflate
Compatibilité:Disponible à partir de la version 2.4.10 du serveur HTTP +Apache
+

La directive DeflateInflateRatioBurst permet de + spécifier le nombre maximal de fois que la valeur de la directive DeflateInflateRatioLimit peut être dépassé + avant l'arrêt du traitement de la requête.

+ +
+
top
+

Directive DeflateInflateRatioLimit

+ + + + + + + + +
Description:Ratio de décompression maximum pour les corps de requêtes
Syntaxe:DeflateInflateRatioLimit value
Défaut:DeflateInflateRatioLimit 200
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_deflate
Compatibilité:Disponible à partir de la version 2.4.10 du serveur HTTP +Apache
+

La directive DeflateInflateRatioLimit permet de + définir le ratio maximum entre la taille d'un corps de requête compressé et + sa taille décompressée. Ce ratio est vérifié au fur et à mesure de l'arrivée + du corps de requête, et s'il est dépassé plus de DeflateInflateRatioBurst fois, le + traitement de la requête est interrompu.

+ +
+
top
+

Directive DeflateMemLevel

+ + + + + + + +
Description:La quantité de mémoire utilisable par zlib pour la +compression
Syntaxe:DeflateMemLevel valeur
Défaut:DeflateMemLevel 9
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_deflate
+

La directive DeflateMemLevel permet de + spécifier la quantité de mémoire utilisable par zlib pour la + compression (une valeur comprise entre 1 et 9).

+ +
+
top
+

Directive DeflateWindowSize

+ + + + + + + +
Description:Taille de la fenêtre de compression zlib
Syntaxe:DeflateWindowSize valeur
Défaut:DeflateWindowSize 15
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_deflate
+

La directive DeflateWindowSize permet de + spécifier la fenêtre de compression zlib (une valeur comprise entre + 1 et 15). En général, plus grande sera la taille de la fenêtre, plus + grand sera le taux de compression auquel on pourra s'attendre.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html.ja.utf8 b/docs/manual/mod/mod_deflate.html.ja.utf8 new file mode 100644 index 0000000..7a5e4c1 --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.ja.utf8 @@ -0,0 +1,453 @@ + + + + + +mod_deflate - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_deflate

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:クライアントã¸é€ã‚‰ã‚Œã‚‹å‰ã«ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を圧縮ã™ã‚‹
ステータス:Extension
モジュール識別å­:deflate_module
ソースファイル:mod_deflate.c
+

概è¦

+ +

mod_deflate モジュール㯠DEFLATE + 出力フィルタをæä¾›ã—ã¾ã™ã€‚ã“ã‚Œã¯ã‚µãƒ¼ãƒã‹ã‚‰ã®å‡ºåŠ›ã‚’ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’ + 通ã—ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹å‰ã«åœ§ç¸®ã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚

+
+ +
top
+
+

サンプル設定

+

下ã«ã›ã£ã‹ã¡ãªäººå‘ã‘ã®ç°¡å˜ãªè¨­å®šä¾‹ã‚’示ã—ã¾ã™ã€‚

+ +

数タイプã®ã¿åœ§ç¸®ã™ã‚‹

+ AddOutputFilterByType DEFLATE text/html text/plain text/xml +

+ +

以下ã®è¨­å®šã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„をより圧縮ã—ã¾ã™ãŒã€ãšã£ã¨è¤‡é›‘ãªè¨­å®šã«ãªã‚Šã¾ã™ã€‚ + 設定ã®éš…々ã¾ã§ã‚ˆãç†è§£ã—ãªã„ã§ä½¿ã‚ãªã„ã§ãã ã•ã„。

+ +

ç”»åƒä»¥å¤–å…¨ã¦åœ§ç¸®ã™ã‚‹

+ <Location />
+ + # Insert filter
+ SetOutputFilter DEFLATE
+
+ # Netscape 4.x has some problems...
+ BrowserMatch ^Mozilla/4 gzip-only-text/html
+
+ # Netscape 4.06-4.08 have some more problems
+ BrowserMatch ^Mozilla/4\.0[678] no-gzip
+
+ # MSIE masquerades as Netscape, but it is fine
+ # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
+
+ # Don't compress images
+ SetEnvIfNoCase Request_URI \
+ + \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+
+
+ # Make sure proxies don't deliver the wrong content
+ Header append Vary User-Agent env=!dont-vary
+
+ </Location> +

+ +
top
+
+

圧縮を有効ã«ã™ã‚‹

+ +

Output Compression

+

圧縮機能㯠DEFLATE フィルタ + ã«ã‚ˆã‚Šå®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã‚ã‚‹ + コンテナ中ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’圧縮ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™:

+ +

+ SetOutputFilter DEFLATE +

+ +

よã使ã‚ã‚Œã¦ã„るブラウザã§ã¯ã€ã™ã¹ã¦ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«å¯¾ã™ã‚‹ + 圧縮を扱ãˆã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ã§ã™ã‹ã‚‰ã€gzip-only-text/html + ノートを 1 ã«ã—ã¦ã€html ファイルã«å¯¾ã—ã¦ã®ã¿ + 圧縮ãŒåƒãよã†ã«ã—ãŸæ–¹ãŒã‚ˆã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ (以下å‚ç…§) + ã“ã®å€¤ã‚’ 1 以外ã®å€¤ã«è¨­å®šã—ãŸå ´åˆã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚

+ +

通常ã€ç‰¹å®šã®MIMEタイプã«ã¤ã„ã¦ã®ã¿åœ§ç¸®ã—ãŸã„ã®ã§ã‚ã‚Œã°ã€ + AddOutputFilterByType + ディレクティブを使用ã—ã¾ã™ã€‚次㫠Apache ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® html + ファイルã®ã¿ã®åœ§ç¸®ã‚’有効ã«ã™ã‚‹ä¾‹ã‚’示ã—ã¾ã™ã€‚

+ +

+ <Directory "/your-server-root/manual">
+ + AddOutputFilterByType DEFLATE text/html
+
+ </Directory> +

+ +

å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—ã§ã®åœ§ç¸®ã«å•é¡Œã‚’抱ãˆã¦ã„るブラウザã«å¯¾ã—ã¦ã¯ã€ + BrowserMatch + ディレクティブを使用ã—ã¦ã€ç‰¹å®šã®ãƒ–ラウザ㫠no-gzip + ノートをセットã—ã€åœ§ç¸®ãŒè¡Œãªã‚ã‚Œãªã„よã†ã«ã—ã¾ã™ã€‚ + no-gzip 㨠gzip-only-text/html + を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã§ä¸Šæ‰‹ã対処ã§ãã¾ã™ã€‚ + ã“ã®å ´åˆã€å‰è€…ãŒå¾Œè€…をオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚ + 上記ã®è¨­å®šä¾‹ã®æŠœç²‹ã‚’ + 次ã«ç¤ºã—ã¾ã™ã®ã§ã”覧下ã•ã„。

+ +

+ BrowserMatch ^Mozilla/4 gzip-only-text/html
+ BrowserMatch ^Mozilla/4\.0[678] no-gzip
+ BrowserMatch \bMSIE !no-gzip !gzip-only-text/html +

+ +

ã¾ãšå§‹ã‚ã« User-Agent 文字列ã‹ã‚‰ Netscape Navigator + 4.x ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ã¾ã™ã€‚ã“れらã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ + text/html 以外ã®ã‚¿ã‚¤ãƒ—ã®åœ§ç¸®ã‚’扱ã†ã“ã¨ãŒã§ãã¾ã›ã‚“。 + 4.06, 4.07, 4.08 㯠html ファイルã®ä¼¸å¼µã«ã‚‚å•é¡Œã‚’抱ãˆã¦ã„ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã“れらã«å¯¾ã—ã¦ã¯ã€å®Œå…¨ã« deflate フィルタをオフã«ã—ã¾ã™ã€‚

+ +

3 番目㮠BrowserMatch + ディレクティブã§ã€æŽ¨æ¸¬ã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆã‚’修正ã—ã¾ã™ã€‚ + ãªãœãªã‚‰ Microsoft Internet Explorer ã‚‚ "Mozilla/4" ã¨ç‰¹å®šã•ã‚Œã¾ã™ãŒã€ + ã“れらã¯å®Ÿéš›ã«ã¯åœ§ç¸®ã‚’扱ã†ã“ã¨ãŒã§ãã‚‹ã‹ã‚‰ã§ã™ã€‚ + User-Agent ヘッダを "MSIE" + (\b ã¯ã€Œå˜èªžã®å¢ƒç•Œã€ã‚’æ„味ã—ã¾ã™) ã®è¿½åŠ æ–‡å­—ã§æ¤œæŸ»ã—ã¦ã€ + ã“れ以å‰ã«è¨­å®šã—ãŸåˆ¶é™ã‚’å†ã³è§£é™¤ã—ã¾ã™ã€‚

+ +

注

+ DEFLATE フィルタã¯å¿…ãšã€PHP ã‚„ SSI ã¨ã„ã£ãŸ RESOURCE + フィルタã®å¾Œã«ãªã‚Šã¾ã™ã€‚ + DEFLATE フィルタã¯å†…部的ãªã‚µãƒ–リクエストを関知ã—ã¾ã›ã‚“。 +
+

注

+ SetEnv ã§è¨­å®šã•ã‚Œã‚‹ + force-gzip 環境変数ãŒã‚ã‚Šã¾ã™ãŒã€ã“れ㯠+ ブラウザ㮠accept-encoding 設定を無視ã—ã€åœ§ç¸®ã—ãŸå‡ºåŠ›ã‚’ã—ã¾ã™ã€‚ +
+ + +

出力ã®ä¼¸é•·

+

mod_deflate モジュールã¯ã€gzip 圧縮ã•ã‚ŒãŸãƒ¬ã‚¹ãƒãƒ³ã‚¹ + 本文を inflate/uncompress ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚‚æä¾›ã—ã¦ã„ã¾ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã«ã¯ã€SetOutputFilter + ã‚„ AddOutputFilter を使ã£ã¦ã€ + INFLATE フィルタを出力フィルタãƒã‚§ã‚¤ãƒ³ã«æŒ¿å…¥ã—ã¾ã™ã€‚ + 例ãˆã°æ¬¡ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

+ <Location /dav-area>
+ + ProxyPass http://example.com/
+ SetOutputFilter INFLATE
+
+ </Location> +

+ +

ã“ã®ä¾‹ã§ã¯ã€example.com ã‹ã‚‰ã® gzip 圧縮ã•ã‚ŒãŸå‡ºåŠ›ã‚’伸長ã—〠+ ãã®ä»–ã®ãƒ•ã‚£ãƒ«ã‚¿ãŒã•ã‚‰ã«ãã®å‡ºåŠ›ã‚’処ç†ã§ãるよã†ã«ã—ã¾ã™ã€‚ +

+ + +

入力ã®ä¼¸å¼µ

+

mod_deflate モジュールã¯ã€gzip + ã§åœ§ç¸®ã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆæœ¬ä½“を伸張ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚‚æä¾›ã—ã¦ã„ã¾ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã«ã¯ã€SetInputFilter + ã‹ AddInputFilter を使用ã—ã¦ã€ + DEFLATE フィルタを入力フィルタãƒã‚§ã‚¤ãƒ³ã«çµ„ã¿è¾¼ã¿ã¾ã™ã€‚ + 例ãˆã°æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+ +

+ <Location /dav-area>
+ + SetInputFilter DEFLATE
+
+ </Location> +

+ +

ã“ã®è¨­å®šã§ã‚ã‚Œã°ã€Content-Encoding: gzip + ヘッダをå«ã‚€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¥ã‚‹ã¨ã€æœ¬ä½“ã¯è‡ªå‹•çš„ã«ä¼¸å¼µã•ã‚Œã¾ã™ã€‚ + gzip リクエスト本体をé€ä¿¡ã™ã‚‹ãƒ–ラウザã¯ã‚ã¾ã‚Šã‚ã‚Šã¾ã›ã‚“。 + ã—ã‹ã—ã€ä¾‹ãˆã° WebDAV + クライアントã®å¹¾ã¤ã‹ãªã©ã€ç‰¹åˆ¥ãªã‚¢ãƒ—リケーションã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆã® + 圧縮を実際ã«ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ã€‚

+ +

Content-Length ã«é–¢ã™ã‚‹æ³¨æ„

+

リクエスト本体ãれ自体を評価ã™ã‚‹å ´åˆã¯ã€Content-Length + ヘッダを信用ã—ãªã„ã§ãã ã•ã„。Content-Length ヘッダã¯ã€ + クライアントã‹ã‚‰é€ä¿¡ã•ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ã®é•·ã•ã‚’å映ã—ã¦ã„ã‚‹ã®ã§ã‚ã£ã¦ã€ + 伸張ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®ãƒã‚¤ãƒˆã‚«ã‚¦ãƒ³ãƒˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。

+
+ +
top
+
+

Proxy サーãƒã§ã®æ‰±ã„

+ +

mod_deflate モジュール㯠Vary: Accept-Encoding + HTTP 応答ヘッダをé€ä¿¡ã—ã¦ã€é©åˆ‡ãª Accept-Encoding + リクエストヘッダをé€ä¿¡ã™ã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾ã—ã¦ã®ã¿ã€ + プロクシサーãƒãŒã‚­ãƒ£ãƒƒã‚·ãƒ¥ã—ãŸå¿œç­”ã‚’é€ä¿¡ã™ã‚‹ã‚ˆã†ã«æ³¨æ„ã‚’å–šèµ·ã—ã¾ã™ã€‚ + ã“ã®ã‚ˆã†ã«ã—ã¦ã€åœ§ç¸®ã‚’扱ã†ã“ã¨ã®ã§ããªã„クライアント㫠+ 圧縮ã•ã‚ŒãŸå†…容ãŒé€ã‚‰ã‚Œã‚‹ã“ã¨ã®ãªã„よã†ã«ã—ã¾ã™ã€‚

+ +

ã‚‚ã—特別ã«ä½•ã‹ã«ä¾å­˜ã—ã¦é™¤å¤–ã—ãŸã„å ´åˆã€ä¾‹ãˆã° User-Agent + ヘッダãªã©ã«ä¾å­˜ã—ã¦ã„ã‚‹å ´åˆã€æ‰‹å‹•ã§ Vary ヘッダを設定ã—ã¦ã€ + 追加ã®åˆ¶é™ã«ã¤ã„ã¦ãƒ—ロクシサーãƒã«æ³¨æ„ã‚’è¡Œãªã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 例ãˆã° User-Agent ã«ä¾å­˜ã—㦠DEFLATE + を追加ã™ã‚‹å…¸åž‹çš„ãªè¨­å®šã§ã¯ã€æ¬¡ã®ã‚ˆã†ã«è¿½åŠ ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

+ Header append Vary User-Agent +

+ +

リクエストヘッダ以外ã®æƒ…å ± (例ãˆã° HTTP ãƒãƒ¼ã‚¸ãƒ§ãƒ³) + ã«ä¾å­˜ã—ã¦åœ§ç¸®ã™ã‚‹ã‹ã©ã†ã‹æ±ºã‚ã‚‹å ´åˆã€ + Vary ヘッダを * ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®ã‚ˆã†ã«ã™ã‚‹ã¨ã€ä»•æ§˜ã«æº–æ‹ ã—ãŸãƒ—ロクシã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’å…¨ãè¡Œãªã‚ãªããªã‚Šã¾ã™ã€‚

+ +

例

+ Header set Vary * +

+
+
top
+

DeflateBufferSize ディレクティブ

+ + + + + + + +
説明:zlib ãŒä¸€åº¦ã«åœ§ç¸®ã™ã‚‹å¡Šã®å¤§ãã•
構文:DeflateBufferSize value
デフォルト:DeflateBufferSize 8096
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_deflate
+

DeflateBufferSize ディレクティブ㯠+ zlib ãŒä¸€åº¦ã«åœ§ç¸®ã™ã‚‹å¡Šã®å¤§ãã•ã‚’ãƒã‚¤ãƒˆå˜ä½ã§æŒ‡å®šã—ã¾ã™ã€‚

+ +
+
top
+

DeflateCompressionLevel ディレクティブ

+ + + + + + + + +
説明:出力ã«å¯¾ã—ã¦è¡Œãªã†åœ§ç¸®ã®ç¨‹åº¦
構文:DeflateCompressionLevel value
デフォルト:Zlib ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_deflate
互æ›æ€§:This directive is available since Apache 2.0.45
+

DeflateCompressionLevel ディレクティブ㯠+ 圧縮ã®ç¨‹åº¦ã‚’設定ã—ã¾ã™ã€‚大ããªå€¤ã§ã¯ã€ã‚ˆã‚Šåœ§ç¸®ãŒè¡Œãªã‚ã‚Œã¾ã™ãŒã€ + CPU 資æºã‚’消費ã—ã¾ã™ã€‚

+

値㯠1 (低圧縮) ã‹ã‚‰ 9 (高圧縮) ã§ã™ã€‚

+ +
+
top
+

DeflateFilterNote ディレクティブ

+ + + + + + + +
説明:ロギング用ã«åœ§ç¸®æ¯”をメモã«è¿½åŠ 
構文:DeflateFilterNote [type] notename
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_deflate
互æ›æ€§:type is available since Apache 2.0.45
+

DeflateFilterNote ディレクティブ㯠+ 圧縮比ã«é–¢ã™ã‚‹ãƒ¡ãƒ¢ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ä»˜åŠ ã•ã‚Œã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚ + メモ (note) ã®åå‰ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«æŒ‡å®šã•ã‚ŒãŸå€¤ã§ã™ã€‚ + メモã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã« + 値を記録ã—ã€çµ±è¨ˆã‚’å–る目的ã«ã‚‚使ãˆã¾ã™ã€‚

+ +

例

+ DeflateFilterNote ratio
+
+ LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
+ CustomLog logs/deflate_log deflate +

+ +

ログã‹ã‚‰ã‚‚ã£ã¨ç²¾å¯†ãªå€¤ã‚’抽出ã—ãŸã„å ´åˆã¯ã€type + 引数を使用ã—ã¦ã€ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—をログã®ãƒ¡ãƒ¢ã¨ã—ã¦æ®‹ã™ã‚ˆã†ã«æŒ‡å®šã§ãã¾ã™ã€‚ + type ã¯æ¬¡ã®ã†ã¡ã®ä¸€ã¤ã§ã™ã€‚

+ +
+
Input
+
フィルタã®å…¥åŠ›ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®ãƒã‚¤ãƒˆã‚«ã‚¦ãƒ³ãƒˆã‚’メモã«ä¿å­˜ã™ã‚‹ã€‚
+ +
Output
+
フィルタã®å‡ºåŠ›ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®ãƒã‚¤ãƒˆã‚«ã‚¦ãƒ³ãƒˆã‚’メモã«ä¿å­˜ã™ã‚‹ã€‚
+ +
Ratio
+
圧縮率 (出力 / 入力 * 100) をメモã«ä¿å­˜ã™ã‚‹ã€‚ + type 引数をçœç•¥ã—ãŸå ´åˆã¯ã€ã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¨ãªã‚Šã¾ã™ã€‚
+
+ +

ã¾ã¨ã‚ã‚‹ã¨ã€æ¬¡ã®ã‚ˆã†ã«ãƒ­ã‚°ã‚’å–ã‚‹ã“ã¨ã«ãªã‚‹ã§ã—ょã†ã€‚

+ +

精密ãªãƒ­ã‚°æŽ¡å–

+ DeflateFilterNote Input instream
+ DeflateFilterNote Output outstream
+ DeflateFilterNote Ratio ratio
+
+ LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
+ CustomLog logs/deflate_log deflate +

+ +

å‚ç…§

+ +
+
top
+

DeflateInflateLimitRequestBody ディレクティブ

+ + + + + + + + +
説明:Maximum size of inflated request bodies
構文:DeflateInflateLimitRequestBody value
デフォルト:None, but LimitRequestBody applies after deflation
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_deflate
互æ›æ€§:2.4.10 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

DeflateInflateRatioBurst ディレクティブ

+ + + + + + + + +
説明:Maximum number of times the inflation ratio for request bodies + can be crossed
構文:DeflateInflateRatioBurst value
デフォルト:DeflateInflateRatioBurst 3
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_deflate
互æ›æ€§:2.4.10 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

DeflateInflateRatioLimit ディレクティブ

+ + + + + + + + +
説明:Maximum inflation ratio for request bodies
構文:DeflateInflateRatioLimit value
デフォルト:DeflateInflateRatioLimit 200
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Extension
モジュール:mod_deflate
互æ›æ€§:2.4.10 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

DeflateMemLevel ディレクティブ

+ + + + + + + +
説明:zlib ãŒåœ§ç¸®ã«ä½¿ã†ãƒ¡ãƒ¢ãƒªã®ãƒ¬ãƒ™ãƒ«ã‚’指定
構文:DeflateMemLevel value
デフォルト:DeflateMemLevel 9
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_deflate
+

DeflateMemLevel ディレクティブ㯠+ zlib ãŒåœ§ç¸®ã«ä½¿ã†ãƒ¡ãƒ¢ãƒªã®ãƒ¬ãƒ™ãƒ«ã‚’設定ã—ã¾ã™ (1 ã‹ã‚‰ 9 ã®é–“ã®å€¤)。 + (訳注: 2 を底ã¨ã™ã‚‹å¯¾æ•°ã®å€¤ã«ãªã‚Šã¾ã™ã€‚ + 8 程度ãŒè‰¯ã„ã§ã—ょã†ã€‚)

+ +
+
top
+

DeflateWindowSize ディレクティブ

+ + + + + + + +
説明:Zlib ã®åœ§ç¸®ç”¨ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã®å¤§ãã•
構文:DeflateWindowSize value
デフォルト:DeflateWindowSize 15
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_deflate
+

DeflateWindowSize ディレクティブ㯠+ zlib ã®åœ§ç¸®ç”¨ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ (訳注: zlib ã§ä½¿ç”¨ã•ã‚Œã‚‹å±¥æ­´ãƒãƒƒãƒ•ã‚¡) + ã®å¤§ãã•ã‚’指定ã—ã¾ã™ (1 ã‹ã‚‰ 15 ã®é–“ã®å€¤)。 + 一般的ã«å¤§ããªã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚µã‚¤ã‚ºã‚’使用ã™ã‚‹ã¨åœ§ç¸®çŽ‡ãŒå‘上ã—ã¾ã™ã€‚ + (訳注: 2 を底ã¨ã™ã‚‹å¯¾æ•°ã®å€¤ã«ãªã‚Šã¾ã™ã€‚ + 8 ã‹ã‚‰ 15 ã«ã™ã‚‹ã®ãŒè‰¯ã„ã§ã—ょã†ã€‚)

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html.ko.euc-kr b/docs/manual/mod/mod_deflate.html.ko.euc-kr new file mode 100644 index 0000000..5e6733c --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.ko.euc-kr @@ -0,0 +1,439 @@ + + + + + +mod_deflate - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_deflate

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:³»¿ëÀ» Ŭ¶óÀ̾ðÆ®·Î º¸³»±â Àü¿¡ ¾ÐÃàÇÑ´Ù
»óÅÂ:Extension
¸ðµâ¸í:deflate_module
¼Ò½ºÆÄÀÏ:mod_deflate.c
+

¿ä¾à

+ +

mod_deflate ¸ðµâÀº ¼­¹öÀÇ Ãâ·ÂÀ» ³×Æ®¿÷À¸·Î + Ŭ¶óÀ̾ðÆ®¿¡ º¸³»±â Àü¿¡ ¾ÐÃàÇÏ´Â DEFLATE Ãâ·ÂÇÊÅ͸¦ + Á¦°øÇÑ´Ù.

+
+ +
top
+
+

°ßº» ¼³Á¤

+

±ÞÇÑ »ç¶÷À» À§ÇÑ °ßº» ¼³Á¤ÀÌ´Ù.

+ +

ÀϺΠtype¸¸ ¾ÐÃà

+ AddOutputFilterByType DEFLATE text/html text/plain text/xml +

+ +

¾Æ·¡ ¼³Á¤Àº ¿ä¾àÇÏ¿´Áö¸¸ ±×·¡µµ º¹ÀâÇÏ´Ù. ¼³Á¤À» ¿ÏÀüÈ÷ + ÀÌÇØÇÑ ÈÄ »ç¿ëÇ϶ó.

+ +

À̹ÌÁö¸¦ Á¦¿ÜÇÑ ¸ðµç °ÍÀ» ¾ÐÃà

+ <Location />
+ + # ÇÊÅ͸¦ Ãß°¡ÇÑ´Ù
+ SetOutputFilter DEFLATE
+
+ # Netscape 4.x¿¡ ¹®Á¦°¡ ÀÖ´Ù...
+ BrowserMatch ^Mozilla/4 gzip-only-text/html
+
+ # Netscape 4.06-4.08¿¡ ´õ ¹®Á¦°¡ ÀÖ´Ù
+ BrowserMatch ^Mozilla/4\.0[678] no-gzip
+
+ # MSIEÀº Netscape¶ó°í ÀÚ½ÅÀ» ¾Ë¸®Áö¸¸, ¹®Á¦°¡ ¾ø´Ù
+ # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
+
+ # ÁÖÀÇ: ¾ÆÆÄÄ¡ 2.0.48±îÁö mod_setenvifÀÇ ¹ö±×¶§¹®¿¡
+ # À§ÀÇ Á¤±ÔÇ¥Çö½ÄÀº µ¿ÀÛÇÏÁö ¾Ê´Â´Ù. ¿øÇÏ´Â È¿°ú¸¦
+ # ¾ò±âÀ§ÇØ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÏ¿© »ç¿ëÇÑ´Ù:
+ BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+
+ # À̹ÌÁö¸¦ ¾ÐÃàÇÏÁö ¾Ê´Â´Ù
+ SetEnvIfNoCase Request_URI \
+ + \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+
+
+ # ÇÁ·Ï½Ã°¡ À߸øµÈ ³»¿ëÀ» Àü´ÞÇÏÁö¾Êµµ·Ï ÇÑ´Ù
+ Header append Vary User-Agent env=!dont-vary
+
+ </Location> +

+ +
top
+
+

¾ÐÃàÇϱâ

+ +

Ãâ·Â ¾ÐÃà

+

DEFLATE ÇÊÅÍ°¡ + ¾ÐÃàÀ» ÇÑ´Ù. ´ÙÀ½ Áö½Ã¾î´Â Áö½Ã¾î°¡ ÀÖ´Â À§Ä¡ÀÇ ¹®¼­¸¦ + ¾ÐÃàÇÑ´Ù:

+ +

+ SetOutputFilter DEFLATE +

+ +

¸ðµç ³»¿ëÀ» ¾ÐÃàÇϸé ó¸®ÇÏÁö ¸øÇÏ´Â ºê¶ó¿ìÀú°¡ Àֱ⶧¹®¿¡ + html ÆÄÀϸ¸À» ¾ÐÃàÇϱâÀ§ÇØ (¾Æ·¡ Âü°í) + gzip-only-text/htmlÀ» 1·Î ¼³Á¤ÇÒÁöµµ + ¸ð¸¥´Ù. À̸¦ 1ÀÌ ¾Æ´Ñ °ªÀ¸·Î ¼³Á¤Çϸé + ¹«½ÃÇÑ´Ù.

+ +

º¸Åë Ưº°ÇÑ MIME type¸¸ ¾ÐÃàÇÏ·Á¸é AddOutputFilterByType Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. + ´ÙÀ½ ¼³Á¤Àº html ÆÄÀϸ¸À» ¾ÐÃàÇÑ´Ù:

+ +

+ <Directory "/your-server-root/manual">
+ + AddOutputFilterByType DEFLATE text/html
+
+ </Directory> +

+ +

¾ÐÃàÇÑ ÆÄÀÏÀ» ó¸®ÇÏÁö ¸øÇÏ´Â ºê¶ó¿ìÀú¿¡°Ô´Â ¾ÐÃàÇÏÁö¾Ê°í + º¸³»±æÀ§ÇØ BrowserMatch Áö½Ã¾î¿¡ no-gzipÀ» + ¼³Á¤ÇÑ´Ù. ÃÖÀûÀÇ °á°ú¸¦ ¾ò±âÀ§ÇØ no-gzip°ú + gzip-only-text/htmlÀ» °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. + ÀÌ °æ¿ì ÀüÀÚ°¡ ÈÄÀÚ¸¦ ¹«½ÃÇÑ´Ù. À§ ÀýÀÇ ¼³Á¤ ¿¹Á¦ ÀϺθ¦ »ìÆ캸ÀÚ:

+ +

+ BrowserMatch ^Mozilla/4 gzip-only-text/html
+ BrowserMatch ^Mozilla/4\.0[678] no-gzip
+ BrowserMatch \bMSIE !no-gzip !gzip-only-text/html +

+ +

¸ÕÀú User-Agent ¹®ÀÚ¿­À» º¸°í Netscape + Navigator ¹öÀü 4.xÀÎÁö °Ë»çÇÑ´Ù. ÀÌ ¹öÀüÀº text/htmlÀÌ + ¾Æ´Ñ typeÀÇ ¾ÐÃàÀ» ó¸®ÇÏÁö ¸øÇÑ´Ù. ¹öÀü 4.06, 4.07, 4.08Àº + html ÆÄÀÏ ¾ÐÃàÀ» ó¸®Çϴ´뵵 ¹®Á¦°¡ ÀÖ´Ù. ±×·¡¼­ ¿ì¸®´Â + ÀÌ °æ¿ì deflate ÇÊÅ͸¦ ¿ÏÀüÈ÷ »ç¿ëÇÏÁö¾Ê´Â´Ù.

+ +

¼¼¹ø° BrowserMatch + Áö½Ã¾î´Â Microsoft Internet Explorer°¡ ÀÚ½ÅÀ» "Mozilla/4"·Î + ¾Ë¸®Áö¸¸ ¾ÐÃàµÈ ¿äûÀ» ó¸®ÇÒ ¼ö Àֱ⶧¹®¿¡ user agent + ÃßÃøÀ» ¼öÁ¤ÇÑ´Ù. User-Agent Çì´õ¿¡¼­ "MSIE" + (\b´Â "´Ü¾î °æ°è"¸¦ ¶æÇÑ´Ù) ¹®ÀÚ¿­À» ¹ß°ßÇϸé + ¾Õ¿¡¼­ ¼³Á¤ÇÑ Á¦¾àÀ» Ǭ´Ù.

+ +

ÁÖÀÇ

+ DEFLATE ÇÊÅÍ´Â Ç×»ó PHP³ª SSI¿Í °°Àº RESOURCE + ÇÊÅÍ µÚ¿¡ µé¾î°£´Ù. ¶Ç, ³»ºÎ ÇÏÀ§¿äû(subrequest)¿¡ ¿µÇâÀ» + ÁÖÁö ¾Ê´Â´Ù. +
+

ÁÖÀÇ

+ SetEnv·Î + force-gzip ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ¸é ºê¶ó¿ìÀúÀÇ + accept-encoding ¼³Á¤À» ¹«½ÃÇÏ°í ¾ÐÃàµÈ °á°ú¸¦ º¸³½´Ù. +
+ + +

Ãâ·Â ¾ÐÃàÇ®±â

+

mod_deflate ¸ðµâÀº gzipÀ¸·Î ¾ÐÃàµÈ + ÀÀ´ä ³»¿ëÀ» Ǫ´Â ÇÊÅ͵µ Á¦°øÇÑ´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇÏ·Á¸é + ´ÙÀ½°ú °°ÀÌ SetOutputFilter³ª AddOutputFilter¸¦ »ç¿ëÇÏ¿© + Ãâ·ÂÇÊÅͼø¼­¿¡ INFLATE ÇÊÅ͸¦ Ãß°¡ÇÑ´Ù.

+ +

+ <Location /dav-area>
+ + ProxyPass http://example.com/
+ SetOutputFilter INFLATE
+
+ </Location> +

+ +

ÀÌ ¿¹Á¦´Â example.comÀÌ º¸³½ gzipÀ¸·Î ¾ÐÃàµÈ °á°úÀÇ + ¾ÐÃàÀ» Ç®¾î¼­, ´Ù¸¥ ÇÊÅÍ°¡ ´õ ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. +

+ + +

ÀÔ·Â ¾ÐÃàÇ®±â

+

mod_deflate ¸ðµâÀº gzipÀ¸·Î ¾ÐÃàµÈ ¿äû + ³»¿ëÀ» Ǫ´Â ÇÊÅ͵µ Á¦°øÇÑ´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇÏ·Á¸é ´ÙÀ½°ú + °°ÀÌ SetInputFilter³ª + AddInputFilter¸¦ + »ç¿ëÇÏ¿© ÀÔ·ÂÇÊÅͼø¼­¿¡ DEFLATE ÇÊÅ͸¦ + Ãß°¡ÇÑ´Ù.

+ +

+ <Location /dav-area>
+ + SetInputFilter DEFLATE
+
+ </Location> +

+ +

¿äû¿¡ Content-Encoding: gzip Çì´õ°¡ ÀÖ´Ù¸é + ÀÚµ¿À¸·Î ¾ÐÃàµÈ ³»¿ëÀ» Ǭ´Ù. gzip ¿äûÀ» ÇÒ ¼ö ÀÖ´Â + ºê¶ó¿ìÀú´Â µå¹°´Ù. ±×·¯³ª ¾î¶² WebDAV Ŭ¶óÀ̾ðÆ®¿Í °°Àº + Ưº°ÇÑ ÇÁ·Î±×·¥Àº ¿äû ¾ÐÃàÀ» Áö¿øÇÑ´Ù.

+ +

Content-Length¿¡ ´ëÇÑ ÁÖÀÇ

+

¿äû ³»¿ëÀ» Á÷Á¢ »ìÆ캻´Ù¸é, Content-Length + Çì´õ¸¦ ¹ÏÁö¸¶¶ó! Content-Length Çì´õ´Â Ŭ¶óÀ̾ðÆ®°¡ + º¸³½ ³»¿ëÀÇ ±æÀÌÀÌÁö, ¾ÐÃàÀ» Ǭ °á°úÀÇ ¹ÙÀÌÆ®¼ö°¡ + ¾Æ´Ï´Ù.

+
+ +
top
+
+

ÇÁ·Ï½Ã ¼­¹ö ´Ù·ç±â

+ +

mod_deflate ¸ðµâÀº ÇÁ·Ï½Ã°¡ ÀÚ½ÅÀÌ Ä³½¬ÇÑ + ÀÀ´äÀ» ÀûÀýÇÑ Accept-Encoding ¿äû Çì´õ¸¦ º¸³½ + Ŭ¶óÀ̾ðÆ®¿¡°Ô¸¸ º¸³»µµ·Ï Vary: + Accept-Encoding HTTP ÀÀ´ä Çì´õ¸¦ Ãß°¡ÇÑ´Ù. ±×·¡¼­ + ¾ÐÃàµÈ ³»¿ëÀ» ÀÌÇØÇÒ ¼ö ¾ø´Â Ŭ¶óÀ̾ðÆ®¿¡ ¾ÐÃàµÈ ³»¿ëÀ» + º¸³»Áö¾Êµµ·Ï ÇÑ´Ù.

+ +

¿¹¸¦ µé¾î, User-Agent Çì´õ µî¿¡ µû¶ó Ưº°È÷ + ÇÊÅÍ Àû¿ëÀ» Ãë¼ÒÇÑ´Ù¸é, ÇÁ·Ï½Ã¿¡°Ô ÀÌ·¯ÇÑ Á¦ÇÑÀ» ¾Ë·ÁÁÖ±âÀ§ÇØ + Á÷Á¢ Vary Çì´õ¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, + ¼³Á¤ÀÌ User-Agent¿¡ µû¶ó DEFLATE + ÇÊÅ͸¦ Ãß°¡ÇÑ´Ù¸é ´ÙÀ½À» »ç¿ëÇÑ´Ù:

+ +

+ Header append Vary User-Agent +

+ +

¿äû Çì´õ¿ÜÀÇ ´Ù¸¥ Á¤º¸¿¡ (¿¹¸¦ µé¾î, HTTP ¹öÀü) + µû¶ó ¾ÐÃà ¿©ºÎ°¡ °áÁ¤µÈ´Ù¸é, Vary Çì´õ°ªÀ» + *·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù. ±×·¯¸é Ç¥ÁØÀ» µû¸£´Â ÇÁ·Ï½Ã´Â + ij½¬¸¦ ÇÏÁö ¾Ê°Ô µÈ´Ù.

+ +

¿¹Á¦

+ Header set Vary * +

+
+
top
+

DeflateBufferSize Áö½Ã¾î

+ + + + + + + +
¼³¸í:zlibÀÌ Çѹø¿¡ ¾ÐÃàÇÒ Å©±â
¹®¹ý:DeflateBufferSize value
±âº»°ª:DeflateBufferSize 8096
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_deflate
+

DeflateBufferSize Áö½Ã¾î´Â zlibÀÌ + Çѹø¿¡ ¾ÐÃàÇÒ ¹ÙÀÌÆ®¼ö¸¦ ÁöÁ¤ÇÑ´Ù.

+ +
+
top
+

DeflateCompressionLevel Áö½Ã¾î

+ + + + + + + + +
¼³¸í:Ãâ·ÂÀ» ¾î´ÀÁ¤µµ ¾ÐÃàÇϴ°¡
¹®¹ý:DeflateCompressionLevel value
±âº»°ª:Zlib's default
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_deflate
Áö¿ø:¾ÆÆÄÄ¡ 2.0.45 ºÎÅÍ
+

DeflateCompressionLevel Áö½Ã¾î´Â + »ç¿ëÇÒ ¾ÐÃà¼öÁØÀ» ¼±ÅÃÇÑ´Ù. °ªÀÌ Å¬¼ö·Ï ¾ÐÃà·üÀÌ Áõ°¡ÇÏÁö¸¸, + CPU¸¦ ´õ ¸¹ÀÌ »ç¿ëÇÑ´Ù.

+

(°¡Àå ´ú ¾ÐÃà) 1°ú (°¡Àå ¸¹ÀÌ ¾ÐÃà) 9 »çÀÌÀÇ °ªÀ» ÁöÁ¤ÇÑ´Ù.

+ +
+
top
+

DeflateFilterNote Áö½Ã¾î

+ + + + + + + +
¼³¸í:¾ÐÃà·üÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù
¹®¹ý:DeflateFilterNote [type] notename
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_deflate
Áö¿ø:typeÀº ¾ÆÆÄÄ¡ 2.0.4 ºÎÅÍ
+

DeflateFilterNote Áö½Ã¾î´Â ¿äûÀÇ + ¾ÐÃà·üÀ» ·Î±×¿¡ ±â·ÏÇÏ´Â ±âÈ£¸¦ ÁöÁ¤ÇÑ´Ù. ±âÈ£ À̸§Àº Áö½Ã¾î·Î + ÁöÁ¤ÇÑ °ªÀÌ´Ù. Åë°è¸¦ À§ÇØ Á¢±Ù + ·Î±×¿¡¼­ ±âÈ£¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¿¹Á¦

+ DeflateFilterNote ratio
+
+ LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
+ CustomLog logs/deflate_log deflate +

+ +

·Î±×¿¡¼­ ´õ Á¤È®ÇÑ °ªÀ» ÃßÃâÇÏ·Á¸é type ¾Æ±Ô¸ÕÆ®·Î + ±â·ÏÇÒ ÀڷḦ ¼±ÅÃÇÑ´Ù. type´Â ´ÙÀ½Áß ÇϳªÀÌ´Ù:

+ +
+
Input
+
ÇÊÅÍ ÀԷ½ºÆ®¸²ÀÇ ¹ÙÀÌÆ®¼ö¸¦ ÀúÀåÇÑ´Ù.
+ +
Output
+
ÇÊÅÍ Ãâ·Â½ºÆ®¸²ÀÇ ¹ÙÀÌÆ®¼ö¸¦ ÀúÀåÇÑ´Ù..
+ +
Ratio
+
¾ÐÃà·üÀ» (output/input * 100) ÀúÀåÇÑ´Ù. + type ¾Æ±Ô¸ÕÆ®¸¦ »ý·«ÇÏ¸é »ç¿ëÇÏ´Â ±âº»°ªÀÌ´Ù.
+
+ +

±×·¡¼­ ÀÌ·¸°Ô ·Î±×¿¡ ±â·ÏÇÒ ¼ö ÀÖ´Ù:

+ +

Á¤¹ÐÇÑ ·Î±×

+ DeflateFilterNote Input instream
+ DeflateFilterNote Output outstream
+ DeflateFilterNote Ratio ratio
+
+ LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
+ CustomLog logs/deflate_log deflate +

+ +

Âü°í

+ +
+
top
+

DeflateInflateLimitRequestBody Áö½Ã¾î

+ + + + + + + + +
¼³¸í:Maximum size of inflated request bodies
¹®¹ý:DeflateInflateLimitRequestBody value
±âº»°ª:None, but LimitRequestBody applies after deflation
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Extension
¸ðµâ:mod_deflate
Áö¿ø:2.4.10 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

DeflateInflateRatioBurst Áö½Ã¾î

+ + + + + + + + +
¼³¸í:Maximum number of times the inflation ratio for request bodies + can be crossed
¹®¹ý:DeflateInflateRatioBurst value
±âº»°ª:DeflateInflateRatioBurst 3
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Extension
¸ðµâ:mod_deflate
Áö¿ø:2.4.10 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

DeflateInflateRatioLimit Áö½Ã¾î

+ + + + + + + + +
¼³¸í:Maximum inflation ratio for request bodies
¹®¹ý:DeflateInflateRatioLimit value
±âº»°ª:DeflateInflateRatioLimit 200
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Extension
¸ðµâ:mod_deflate
Áö¿ø:2.4.10 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

DeflateMemLevel Áö½Ã¾î

+ + + + + + + +
¼³¸í:zlibÀÌ ¾ÐÃàÇÒ¶§ »ç¿ëÇÏ´Â ¸Þ¸ð¸®·®
¹®¹ý:DeflateMemLevel value
±âº»°ª:DeflateMemLevel 9
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_deflate
+

DeflateMemLevel Áö½Ã¾î´Â zlibÀÌ + ¾ÐÃàÇÒ¶§ ¾ó¸¶¸¸Å­ ¸Þ¸ð¸®¸¦ »ç¿ëÇÒÁö °áÁ¤ÇÑ´Ù. (1°ú 9 »çÀÌÀÇ + °ª)

+ +
+
top
+

DeflateWindowSize Áö½Ã¾î

+ + + + + + + +
¼³¸í:Zlib ¾ÐÃà window size
¹®¹ý:DeflateWindowSize value
±âº»°ª:DeflateWindowSize 15
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_deflate
+

DeflateWindowSize Áö½Ã¾î´Â zlib + ¾ÐÃà window size¸¦ (1°ú 15 »çÀÌÀÇ °ª) ÁöÁ¤ÇÑ´Ù. ÀϹÝÀûÀ¸·Î + window size°¡ Ŭ¼ö·Ï ¾ÐÃà·üÀÌ Áõ°¡ÇÑ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dialup.html b/docs/manual/mod/mod_dialup.html new file mode 100644 index 0000000..f86313a --- /dev/null +++ b/docs/manual/mod/mod_dialup.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dialup.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dialup.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dialup.html.en b/docs/manual/mod/mod_dialup.html.en new file mode 100644 index 0000000..5af2bec --- /dev/null +++ b/docs/manual/mod/mod_dialup.html.en @@ -0,0 +1,107 @@ + + + + + +mod_dialup - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_dialup

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Send static content at a bandwidth rate limit, defined by the various old modem standards
Status:Experimental
Module Identifier:dialup_module
Source File:mod_dialup.c
+

Summary

+ +

It is a module that sends static content at a bandwidth rate limit, defined +by the various old modem standards. So, you can browse your site with a 56k +V.92 modem, by adding something like this:

+ +
<Location "/mysite">
+    ModemStandard "V.92"
+</Location>
+ + +

Previously to do bandwidth rate limiting modules would have to block an entire +thread, for each client, and insert sleeps to slow the bandwidth down. +Using the new suspend feature, a handler can get callback N milliseconds in +the future, and it will be invoked by the Event MPM on a different thread, +once the timer hits. From there the handler can continue to send data to the client.

+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

ModemStandard Directive

+ + + + + + +
Description:Modem standard to simulate
Syntax:ModemStandard V.21|V.26bis|V.32|V.34|V.92
Context:directory
Status:Experimental
Module:mod_dialup
+

Specify what modem standard you wish to simulate.

+ +
<Location "/mysite">
+    ModemStandard "V.26bis"
+</Location>
+ + + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dialup.html.fr.utf8 b/docs/manual/mod/mod_dialup.html.fr.utf8 new file mode 100644 index 0000000..70b3a86 --- /dev/null +++ b/docs/manual/mod/mod_dialup.html.fr.utf8 @@ -0,0 +1,113 @@ + + + + + +mod_dialup - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_dialup

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Envoie le contenu statique avec une bande passante limitée +définie par les différents standards des anciens modems.
Statut:Expérimental
Identificateur de Module:dialup_module
Fichier Source:mod_dialup.c
+

Sommaire

+ +

Il s'agit d'un module qui envoie le contenu statique avec une bande +passante limitée définie par les différents standards des anciens +modems. Ainsi, il est possible de naviguer sur votre site avec un modem +56k V.92 en positionnant une configuration de ce type :

+ +
<Location "/mysite">
+    ModemStandard "V.92"
+</Location>
+ + +

Auparavant, pour faire des modules de limitation de bande passante, +il fallait monopoliser un thread, pour chaque client, et insérer des +temporisations pour diminuer la bande passante. Grâce à cette nouvelle +fonctionnalité, un gestionnaire peut recevoir les réponses à ses +callbacks après N millisecondes, et il sera invoqué par le module MPM +Event dans un thread différent à la fin du délai indiqué. À partir de ce +moment, le gestionnaire peut continuer à envoyer des données au +client.

+
+ + +
top
+

Directive ModemStandard

+ + + + + + +
Description:Standard de modem à simuler
Syntaxe:ModemStandard V.21|V.26bis|V.32|V.34|V.92
Contexte:répertoire
Statut:Expérimental
Module:mod_dialup
+

Cette directive permet de spécifier le standard de modem que vous +souhaitez simuler.

+ +
<Location "/mysite">
+    ModemStandard "V.26bis"
+</Location>
+ + + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html b/docs/manual/mod/mod_dir.html new file mode 100644 index 0000000..72bd235 --- /dev/null +++ b/docs/manual/mod/mod_dir.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dir.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dir.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dir.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_dir.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_dir.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dir.html.en b/docs/manual/mod/mod_dir.html.en new file mode 100644 index 0000000..f3f53f9 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.en @@ -0,0 +1,349 @@ + + + + + +mod_dir - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_dir

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Provides for "trailing slash" redirects and + serving directory index files
Status:Base
Module Identifier:dir_module
Source File:mod_dir.c
+

Summary

+ +

The index of a directory can come from one of two sources:

+ +
    +
  • A file written by the user, typically called + index.html. The DirectoryIndex directive sets the + name of this file. This is controlled by + mod_dir.
  • + +
  • Otherwise, a listing generated by the server. This is + provided by mod_autoindex.
  • +
+

The two functions are separated so that you can completely + remove (or replace) automatic index generation should you want + to.

+ +

A "trailing slash" redirect is issued when the server + receives a request for a URL + http://servername/foo/dirname where + dirname is a directory. Directories require a + trailing slash, so mod_dir issues a redirect to + http://servername/foo/dirname/.

+
+ + +
top
+

DirectoryCheckHandler Directive

+ + + + + + + + + +
Description:Toggle how this module responds when another handler is configured
Syntax:DirectoryCheckHandler On|Off
Default:DirectoryCheckHandler Off
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_dir
Compatibility:Available in 2.4.8 and later. Releases prior to 2.4 implicitly +act as if "DirectoryCheckHandler ON" was specified.
+

The DirectoryCheckHandler directive determines + whether mod_dir should check for directory indexes or + add trailing slashes when some other handler has been configured for + the current URL. Handlers can be set by directives such as + SetHandler or by other modules, + such as mod_rewrite during per-directory substitutions. +

+ +

In releases prior to 2.4, this module did not take any action if any + other handler was configured for a URL. This allows directory indexes to + be served even when a SetHandler directive is + specified for an entire directory, but it can also result in some conflicts + with modules such as mod_rewrite.

+ +
+
top
+

DirectoryIndex Directive

+ + + + + + + + +
Description:List of resources to look for when the client requests +a directory
Syntax:DirectoryIndex + disabled | local-url [local-url] ...
Default:DirectoryIndex index.html
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_dir
+

The DirectoryIndex directive sets the + list of resources to look for, when the client requests an index + of the directory by specifying a / at the end of the directory + name. Local-url is the (%-encoded) URL of a document on + the server relative to the requested directory; it is usually the + name of a file in the directory. Several URLs may be given, in + which case the server will return the first one that it finds. If + none of the resources exist and the Indexes option is + set, the server will generate its own listing of the + directory.

+ +

Example

DirectoryIndex index.html
+
+ +

then a request for http://example.com/docs/ would + return http://example.com/docs/index.html if it + exists, or would list the directory if it did not.

+ +

Note that the documents do not need to be relative to the + directory;

+ +
DirectoryIndex index.html index.txt  /cgi-bin/index.pl
+ + +

would cause the CGI script /cgi-bin/index.pl to be + executed if neither index.html or index.txt + existed in a directory.

+ +

A single argument of "disabled" prevents mod_dir from + searching for an index. An argument of "disabled" will be interpreted + literally if it has any arguments before or after it, even if they are "disabled" + as well.

+ +

Note: Multiple DirectoryIndex + directives within the same context will add + to the list of resources to look for rather than replace: +

+
# Example A: Set index.html as an index page, then add index.php to that list as well.
+<Directory "/foo">
+    DirectoryIndex index.html
+    DirectoryIndex index.php
+</Directory>
+
+# Example B: This is identical to example A, except it's done with a single directive.
+<Directory "/foo">
+    DirectoryIndex index.html index.php
+</Directory>
+
+# Example C: To replace the list, you must explicitly reset it first:
+# In this example, only index.php will remain as an index resource.
+<Directory "/foo">
+    DirectoryIndex index.html
+    DirectoryIndex disabled
+    DirectoryIndex index.php
+</Directory>
+ + + +
+
top
+

DirectoryIndexRedirect Directive

+ + + + + + + + + +
Description:Configures an external redirect for directory indexes. +
Syntax:DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code +
Default:DirectoryIndexRedirect off
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_dir
Compatibility:Available in version 2.3.14 and later
+

By default, the DirectoryIndex is selected + and returned transparently to the client. DirectoryIndexRedirect causes an external redirect + to instead be issued.

+ +

The argument can be:

+
    +
  • on: issues a 302 redirection to the index resource.
  • +
  • off: does not issue a redirection. This is the legacy behaviour of mod_dir.
  • +
  • permanent: issues a 301 (permanent) redirection to the index resource.
  • +
  • temp: this has the same effect as on
  • +
  • seeother: issues a 303 redirection (also known as "See Other") to the index resource.
  • +
  • 3xx-code: issues a redirection marked by the chosen 3xx code.
  • +
+ + +

Example

DirectoryIndexRedirect on
+
+ +

A request for http://example.com/docs/ would + return a temporary redirect to http://example.com/docs/index.html + if it exists.

+ + +
+
top
+

DirectorySlash Directive

+ + + + + + + + +
Description:Toggle trailing slash redirects on or off
Syntax:DirectorySlash On|Off
Default:DirectorySlash On
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_dir
+

The DirectorySlash directive determines whether + mod_dir should fixup URLs pointing to a directory or + not.

+ +

Typically if a user requests a resource without a trailing slash, which + points to a directory, mod_dir redirects him to the same + resource, but with trailing slash for some good reasons:

+ +
    +
  • The user is finally requesting the canonical URL of the resource
  • +
  • mod_autoindex works correctly. Since it doesn't emit + the path in the link, it would point to the wrong path.
  • +
  • DirectoryIndex will be evaluated + only for directories requested with trailing slash.
  • +
  • Relative URL references inside html pages will work correctly.
  • +
+ +

If you don't want this effect and the reasons above don't + apply to you, you can turn off the redirect as shown below. However, + be aware that there are possible security implications to doing + this.

+ +
# see security warning below!
+<Location "/some/path">
+    DirectorySlash Off
+    SetHandler some-handler
+</Location>
+ + +

Security Warning

+

Turning off the trailing slash redirect may result in an information + disclosure. Consider a situation where mod_autoindex is + active (Options +Indexes) and DirectoryIndex is set to a valid resource (say, + index.html) and there's no other special handler defined for + that URL. In this case a request with a trailing slash would show the + index.html file. But a request without trailing slash + would list the directory contents.

+
+

Also note that some browsers may erroneously change POST requests into GET + (thus discarding POST data) when a redirect is issued.

+ +
+
top
+

FallbackResource Directive

+ + + + + + + + + +
Description:Define a default URL for requests that don't map to a file
Syntax:FallbackResource disabled | local-url
Default:disabled - httpd will return 404 (Not Found)
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_dir
Compatibility:The disabled argument is available in version 2.4.4 and +later
+

Use this to set a handler for any URL that doesn't map to anything + in your filesystem, and would otherwise return HTTP 404 (Not Found). + For example

+
FallbackResource /not-404.php
+ +

will cause requests for non-existent files to be handled by + not-404.php, while requests for files that exist + are unaffected.

+

It is frequently desirable to have a single file or resource + handle all requests to a particular directory, except those requests + that correspond to an existing file or script. This is often + referred to as a 'front controller.'

+

In earlier versions of httpd, this effect typically required + mod_rewrite, and the use of the -f and + -d tests for file and directory existence. This now + requires only one line of configuration.

+
FallbackResource /index.php
+ +

Existing files, such as images, css files, and so on, will be + served normally.

+

Use the disabled argument to disable that feature + if inheritance from a parent directory is not desired.

+

In a sub-URI, such as http://example.com/blog/ this + sub-URI has to be supplied as local-url:

+
<Directory "/web/example.com/htdocs/blog">
+    FallbackResource /blog/index.php
+</Directory>
+<Directory "/web/example.com/htdocs/blog/images">
+    FallbackResource disabled
+</Directory>
+ +

A fallback handler (in the above case, /blog/index.php) + can access the original requested URL via the server variable + REQUEST_URI. For example, to access this variable in PHP, + use $_SERVER['REQUEST_URI'].

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.fr.utf8 b/docs/manual/mod/mod_dir.html.fr.utf8 new file mode 100644 index 0000000..a51ffa2 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.fr.utf8 @@ -0,0 +1,382 @@ + + + + + +mod_dir - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_dir

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Permet la redirection des adresses se terminant par un +répertoire sans slash de fin et la mise à disposition des fichiers index +de répertoire
Statut:Base
Identificateur de Module:dir_module
Fichier Source:mod_dir.c
+

Sommaire

+ +

L'index d'un répertoire peut provenir de deux sources :

+ +
    +
  • Un fichier écrit par l'utilisateur, dont le nom, en général + appelé index.html, peut être défini à l'aide de la + directive DirectoryIndex + fournie par le module mod_dir.
  • + +
  • Un listing généré par le serveur, par l'intermédiaire du + module mod_autoindex.
  • +
+

Les deux fonctions sont bien distinctes, si bien que vous pouvez + supprimer (ou remplacer) la génération automatique d'index, si vous + le souhaitez.

+ +

Une redirection "slash de fin" est effectuée lorsque le serveur + reçoit une requête pour une URL du style + http://nom-serveur/foo/nom-rep où nom-rep + est le nom d'un répertoire. Comme les répertoires nécessitent un slash de + fin, mod_dir effectue une redirection vers + http://nom-serveur/foo/nom-rep/.

+
+ + +
top
+

Directive DirectoryCheckHandler

+ + + + + + + + + +
Description:Définit la réponse de ce module lorsqu'un autre +gestionnaire est utilisé
Syntaxe:DirectoryCheckHandler On|Off
Défaut:DirectoryCheckHandler Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_dir
Compatibilité:Disponible depuis la version 2.4.8 du serveur HTTP +Apache. Les versions antérieures à 2.4 se comportaient implicitement +comme si "DirectoryCheckHandler ON" avait été spécifié.
+

La directive DirectoryCheckHandler permet + de faire en sorte que mod_dir recherche un index + de répertoire ou ajoute des slashes de fin lorsqu'un autre + gestionnaire à été défini pour l'URL considérée. Les gestionnaires + peuvent être définis à via des directives telles que + SetHandler ou par d'autres + modules tels que mod_rewrite au cours des + substitutions de niveau répertoire.

+ +

Dans les versions antérieures à 2.4, ce module ne modifiait pas son + comportement si un autre gestionnaire avait été défini pour l'URL + considérée. Ceci permettait de servir des index de répertoires même si une + directive SetHandler avait été définie pour un + répertoire entier, mais pouvait aussi être à l'origine de conflits avec + d'autres modules comme mod_rewrite.

+ +
+
top
+

Directive DirectoryIndex

+ + + + + + + + +
Description:Liste des fichiers ressources à rechercher lorsque le +client envoie une requête pour un répertoire
Syntaxe:DirectoryIndex + disabled | url locale [url locale] ...
Défaut:DirectoryIndex index.html
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_dir
+

La directive DirectoryIndex permet de + définir une liste de fichiers ressources à rechercher lorsqu'un + client envoie une requête pour l'index d'un répertoire, en ajoutant + un '/' à la fin du nom de ce dernier. url locale est + l'URL (codée avec caractères '%') d'un document du serveur, relative + au répertoire faisant l'objet de la requête ; il s'agit en général + du nom d'un fichier situé dans le répertoire. Si plusieurs URLs sont + fournies, le serveur renverra la première d'entre elles qui + correspond à une ressource existante. Si aucune ressource ne + correspond à la liste des URLs spécifiées, et si l'option + Indexes est définie, le serveur générera son propre + listing du répertoire.

+ +

Exemple

DirectoryIndex index.html
+
+ +

Avec cette configuration, une requête pour l'URL + http://example.com/docs/ renverrait au client la + ressource http://example.com/docs/index.html si elle + existe, ou provoquerait la génération du listing du répertoire si la + ressource n'existe pas.

+ +

Notez qu'il n'est pas nécessaire que les documents soient + relatifs au répertoire ;

+ +
DirectoryIndex index.html index.txt  /cgi-bin/index.pl
+ + +

provoquerait l'exécution du script CGI + /cgi-bin/index.pl si aucun des fichiers + index.html ou index.txt n'existe dans le + répertoire considéré.

+ +

La spécification du seul argument "disabled" empêche + mod_dir de rechercher un index. Un argument + "disabled" sera interprété de manière littérale si d'autres + arguments sont présents avant ou après lui, même s'ils sont + eux-mêmes des arguments "disabled".

+ +

Note: Positionner plusieurs directives DirectoryIndex + au coeur du même context complète la liste des ressources et ne l'écrase pas : +

+
# Exemple A: Positionner index.html en page d'index, puis ajouter index.php.
+<Directory "/foo">
+    DirectoryIndex index.html
+    DirectoryIndex index.php
+</Directory>
+
+# Exemple B: La même chose que l'exemple A, mais réalisé au moyen d'une seule directive.
+<Directory "/foo">
+    DirectoryIndex index.html index.php
+</Directory>
+
+# Exemple C: Pour remplacer la liste des ressources, il faut d'abord la vider :
+# Ici, seul index.php restera référencé comme ressource d'index.
+<Directory "/foo">
+    DirectoryIndex index.html
+    DirectoryIndex disabled
+    DirectoryIndex index.php
+</Directory>
+ + + +
+
top
+

Directive DirectoryIndexRedirect

+ + + + + + + + + +
Description:Définit une redirection externe pour les index de +répertoires. +
Syntaxe:DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code +
Défaut:DirectoryIndexRedirect off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_dir
Compatibilité:Disponible depuis la version 2.3.14
+

Par défaut, c'est la page définie par la directive + DirectoryIndex qui est sélectionnée et + renvoyée de manière transparente au client. La directive + DirectoryIndexRedirect permet de rediriger le + client via une redirection de type 3xx.

+ +

Les arguments acceptés sont :

+
    +
  • on : envoie une redirection 302 vers l'index choisi.
  • +
  • off : n'envoie aucune redirection. Il s'agit du comportement historique de mod_dir.
  • +
  • permanent : envoie une redirection 301 (permanent) vers l'index choisi.
  • +
  • temp : ceci est équivalent à on
  • +
  • seeother : envoie une redirection 303 (également appelée "See Other") vers l'index choisi.
  • +
  • 3xx-code : envoie une redirection accompagnée du code 3xx choisi.
  • +
+ + + +

Exemple

DirectoryIndexRedirect on
+
+ +

Une requête pour http://example.com/docs/ se + solderait par une redirection temporaire vers + http://example.com/docs/index.html si cette ressource + existe.

+ + +
+
top
+

Directive DirectorySlash

+ + + + + + + + +
Description:Activation/Désactivation de la redirection "slash de +fin"
Syntaxe:DirectorySlash On|Off
Défaut:DirectorySlash On
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_dir
+

La directive DirectorySlash permet de + déterminer si mod_dir doit corriger ou non les URLs + pointant vers un répertoire.

+ +

En général, si un utilisateur envoie une requête pour une + ressource sans slash de fin, cette ressource représentant un + répertoire, mod_dir le redirige vers la même + ressource, mais en ajoutant un slash de fin, et ceci pour + plusieurs bonnes raisons :

+ +
    +
  • La requête de l'utilisateur contiendra finalement l'URL + canonique de la ressource
  • +
  • mod_autoindex fonctionnera correctement. Comme + il n'indique pas le chemin dans le lien, le chemin de l'URL serait + incorrect.
  • +
  • La directive DirectoryIndex n'est évaluée + que pour les répertoires se terminant par un slash.
  • +
  • Les références à des URLs relatives dans les pages html + fonctionneront alors correctement.
  • +
+ +

Si vous ne souhaitez pas voir ces effets, et si + les raisons évoquées ci-dessus ne s'appliquent pas à vous, vous + pouvez désactiver la redirection comme indiqué ci-dessous. + Gardez cependant à l'esprit que ceci peut avoir des répercutions en + matière de sécurité.

+ +
# voir l'avertissement de sécurité ci-dessous !
+<Location "/some/path">
+    DirectorySlash Off
+    SetHandler some-handler
+</Location>
+ + +

Avertissement de sécurité

+

La désactivation de la redirection "slash de fin" peut entraîner + la divulgation d'informations. Considérons la situation où + mod_autoindex est actif (Options + +Indexes), où la directive DirectoryIndex a pour valeur une ressource valide (par + exemple index.html), et où aucun gestionnaire + particulier n'a été défini pour cette URL. Dans ce cas, une requête + avec slash de fin afficherait le contenu du fichier + index.html ; par contre, une requête sans slash + de fin afficherait un listing du contenu du + répertoire.

+
+

Notez aussi que certains navigateurs peuvent modifier par erreur + des requêtes POST en requêtes GET lors d'une redirection, les + données POST étant alors perdues.

+ +
+
top
+

Directive FallbackResource

+ + + + + + + + + +
Description:Définit une URL par défaut pour les requêtes qui ne ciblent +aucun fichier
Syntaxe:FallbackResource disabled | url-locale
Défaut:disabled - httpd renvoie un code d'erreur 404 (Not Found)
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_dir
Compatibilité:L'argument disabled est disponible à partir +de la version 2.4.4 du serveur HTTP Apache.
+

Cette directive permet de définir un traitement pour toute URL + qui ne correspond à aucune ressource de votre système de fichiers, + et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404 + (Not Found). + Par exemple

+
FallbackResource /not-404.php
+ +

fait en sorte que les requêtes ne correspondant à aucun fichier + soient traitées par non-404.php, sans affecter les + requêtes pour des fichiers existants.

+

Il est souvent souhaitable qu'un seul fichier ou ressource traite + toutes les requêtes à destination d'un répertoire + particulier, sauf pour les requêtes qui correspondent à un fichier + ou script existant. On y fait souvent référence sous le terme + 'contrôleur frontal'.

+

Dans les versions plus anciennes de httpd, cet effet nécessitait + en général mod_rewrite, et l'utilisation des tests + conditionnels -f et -d pour vérifier + l'existence des fichiers et répertoires. Maintenant, une seule ligne + de configuration est nécessaire.

+
FallbackResource /index.php
+ +

Les fichiers existants comme des images, des fichiers css, etc... + seront traités normalement.

+

L'argument disabled permet de désactiver cette + fonctionnalité dans le cas où l'héritage d'un répertoire parent + n'est pas souhaité.

+

Pour un URI intermédiaire tel que + http://example.com/blog/, cet URI intermédiaire doit être + spécifié en tant que url-locale :

+
<Directory "/web/example.com/htdocs/blog">
+    FallbackResource /blog/index.php
+</Directory>
+<Directory "/web/example.com/htdocs/blog/images">
+    FallbackResource disabled
+</Directory>
+ +

Un gestionnaire de ressource par défaut (dans l'exemple ci-dessus + /blog/index.php) peut accéder à l'URL de la requête originale + via la variable de serveur REQUEST_URI. Pour accéder à cette + variable en PHP, par exemple, utilisez $_SERVER['REQUEST_URI'].

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.ja.utf8 b/docs/manual/mod/mod_dir.html.ja.utf8 new file mode 100644 index 0000000..1b3075f --- /dev/null +++ b/docs/manual/mod/mod_dir.html.ja.utf8 @@ -0,0 +1,261 @@ + + + + + +mod_dir - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_dir

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:「最後ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã€ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¨ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® +インデックスファイルを扱ã†æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹
ステータス:Base
モジュール識別å­:dir_module
ソースファイル:mod_dir.c
+

概è¦

+ +

ディレクトリインデックスã¯ã€æ¬¡ã®äºŒã¤ã®ã†ã¡ã©ã¡ã‚‰ã‹ãŒåˆ©ç”¨ã•ã‚Œã¾ã™:

+ +
    +
  • 一ã¤ç›®ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒä½œæˆã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’用ã„ã‚‹ã‚‚ã®ã§ã€é€šå¸¸ + index.html ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«åを使ã„ã¾ã™ã€‚ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«åã¯ã€ + DirectoryIndex ディレクティブ㧠+ 指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯ mod_dir + モジュールã§æä¾›ã•ã‚Œã¾ã™ã€‚
  • + +
  • ã‚‚ã†ä¸€ã¤ã®æ–¹æ³•ã¯ã€ + サーãƒã«ã‚ˆã£ã¦è‡ªå‹•çš„ã«ç”Ÿæˆã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒªã‚¹ãƒˆã‚’用ã„ã‚‹å ´åˆã§ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã¯ã€mod_autoindex + モジュールã«ã‚ˆã‚Šæä¾›ã•ã‚Œã¾ã™ã€‚
  • +
+ +

自動的ãªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ç”Ÿæˆæ©Ÿèƒ½ã‚’削除 (ã‚‚ã—ãã¯äº¤æ›) + ã§ãるよã†ã«ã€ã“ã®äºŒã¤ã®æ©Ÿèƒ½ã¯åˆ†é›¢ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

ãªãŠ http://servername/foo/dirname ã¨ã„ㆠURL + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒã‚ã£ãŸéš›ã«ã€dirname + ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã‚ã‚Œã°ã€ã€Œæœ€å¾Œã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’ã¤ã‘ãŸå½¢ã€ã® URL + ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’é€å‡ºã—ã¾ã™ã€‚ + ディレクトリã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§çµ‚ã‚ã£ã¦ã„ã‚‹å¿…è¦ãŒã‚り〠+ mod_dir ã¯ã€http://servername/foo/dirname/ + ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’é€å‡ºã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

DirectoryCheckHandler ディレクティブ

+ + + + + + + + + +
説明:Toggle how this module responds when another handler is configured
構文:DirectoryCheckHandler On|Off
デフォルト:DirectoryCheckHandler Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_dir
互æ›æ€§:Available in 2.4.8 and later. Releases prior to 2.4 implicitly +act as if "DirectoryCheckHandler ON" was specified.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

DirectoryIndex ディレクティブ

+ + + + + + + + +
説明:クライアントãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’リクエストã—ãŸã¨ãã«èª¿ã¹ã‚‹ +リソースã®ãƒªã‚¹ãƒˆ
構文:DirectoryIndex + local-url [local-url] ...
デフォルト:DirectoryIndex index.html
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_dir
+

+ クライアントãŒã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã®æœ€å¾Œã«ã€Œ/〠+ を指定ã—ã¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’è¦æ±‚ã™ã‚‹å ´åˆã«æŽ¢ã™ãƒªã‚½ãƒ¼ã‚¹ã®ãƒªã‚¹ãƒˆã‚’ + DirectoryIndex ディレクティブã§è¨­å®šã—ã¾ã™ã€‚ + Local-url + ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾å¿œã™ã‚‹ã€ã‚µãƒ¼ãƒä¸Šã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® + (% エンコードã•ã‚ŒãŸ) URL ã§ã€æ™®é€šã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸­ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã§ã™ã€‚ + 複数㮠URL ãŒè¨­å®šã•ã‚ŒãŸå ´åˆã«ã¯ã€æœ€åˆã«è¦‹ã¤ã‹ã£ãŸã‚‚ã®ã‚’è¿”ã—ã¾ã™ã€‚ + ãれらãŒè¦‹ã¤ã‹ã‚‰ãšã€Indexes + オプションãŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒªã‚¹ãƒˆã‚’生æˆã—ã¾ã™ã€‚ +

+ +

例

+ DirectoryIndex index.html +

+ +

http://myserver/docs/ ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒã‚り〠+ http://myserver/docs/index.html + ãŒå­˜åœ¨ã™ã‚Œã°ã€ã“ã® URL ãŒè¿”ã•ã‚Œã¾ã™ã€‚ + ã‚‚ã—存在ã—ãªã‘ã‚Œã°ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒªã‚¹ãƒˆãŒè¿”ã•ã‚Œã¾ã™ã€‚

+ +

注: ドキュメントãŒåŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«å­˜åœ¨ã™ã‚‹ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。 +

+ +

+ DirectoryIndex index.html index.txt /cgi-bin/index.pl +

+ +

ã¨ã—ãŸå ´åˆã€index.html 㨠index.txt + ã®ã©ã¡ã‚‰ã‚‚ディレクトリ内ã«å­˜åœ¨ã—ãªã„å ´åˆã€CGI スクリプト + /cgi-bin/index.pl ãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

DirectoryIndexRedirect ディレクティブ

+ + + + + + + + + +
説明:Configures an external redirect for directory indexes. +
構文:DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code +
デフォルト:DirectoryIndexRedirect off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_dir
互æ›æ€§:Available in version 2.3.14 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

DirectorySlash ディレクティブ

+ + + + + + + + + +
説明:パス末尾ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ã‹ã©ã†ã‹ã®ã‚ªãƒ³ã‚ªãƒ•ã‚’トグルã•ã›ã‚‹
構文:DirectorySlash On|Off
デフォルト:DirectorySlash On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Base
モジュール:mod_dir
互æ›æ€§:2.0.51 以é™
+

è¦æ±‚ã®ã‚ã£ãŸ URL ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指ã™ã‹ã©ã†ã‹ã‚’〠+ mod_dir ãŒèª¿æ•´ã™ã‚‹ã¹ãã‹ã©ã†ã‹ã‚’ + DirectorySlash + ディレクティブã§è¨­å®šã—ã¾ã™ã€‚

+ +

典型的ã«ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒæœ«å°¾ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ç„¡ã—ã§ãƒªã‚½ãƒ¼ã‚¹ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’発行ã—〠+ ãã—ã¦ã€ãã®ãƒªã‚½ãƒ¼ã‚¹ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指ã—ã¦ã„ãŸå ´åˆã€mod_dir + ã¯ã€æœ«å°¾ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’付加ã—ãŸä¸Šã§åŒã˜ãƒªã‚½ãƒ¼ã‚¹ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã›ã¾ã™ã€‚ + ã“ã®æŒ™å‹•ã«ã¯å¹¾ã¤ã‹ç†ç”±ãŒã‚ã‚Šã¾ã™:

+ +
    +
  • ユーザã¯ã€æœ€çµ‚çš„ã«ã¯ãƒªã‚½ãƒ¼ã‚¹ã®åˆ¥å URL をリクエストã™ã‚‹ã“ã¨ã«ãªã‚‹ã€‚
  • +
  • mod_autoindex ãŒæœŸå¾…通りã«å‹•ã。mod_autoindex + ã®ç”Ÿæˆã™ã‚‹ãƒªãƒ³ã‚¯ã¯ãƒ‘スを出力ã—ã¾ã›ã‚“ã®ã§ã€ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒãªã„å ´åˆã¯é–“é•ã£ãŸãƒ‘スを + 指ã—ã¦ã—ã¾ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
  • +
  • DirectoryIndex ã¯ã€ + 末尾ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒã¤ã„ã¦ã„るリクエストã«ã¤ã„ã¦ã®ã¿è©•ä¾¡ã•ã‚Œã‚‹ã€‚
  • +
  • HTML ページã®ç›¸å¯¾ URL å‚ç…§ãŒæ­£ã—ã動作ã™ã‚‹ã€‚
  • +
+ +

ã¨ã¯ã„ãˆã€ã‚‚ã—ã“ã†ã„ã£ãŸåŠ¹æžœã‚’望ã¾ãªã„ã€ã‹ã¤ã€ + 上記ã®ã‚ˆã†ãªç†ç”±ãŒå½“ã¦ã¯ã¾ã‚‰ãªã„å ´åˆã¯ã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’次ã®ã‚ˆã†ã«ã—ã¦ã‚ªãƒ•ã«ã§ãã¾ã™:

+ +

+ # see security warning below!
+ <Location /some/path>
+ + DirectorySlash Off
+ SetHandler some-handler
+
+ </Location> +

+ +

セキュリティ警告

+

末尾ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’オフã«ã™ã‚‹ã¨ã€çµæžœçš„ã«æƒ…å ±æ¼æ´©ã‚’ + æ‹›ãã“ã¨ã«ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + mod_autoindex ãŒæœ‰åŠ¹ (Options +Indexes) ã§ã€ + DirectoryIndex ãŒæœ‰åŠ¹ãªãƒªã‚½ãƒ¼ã‚¹ (例ãˆã° + index.html) を指ã—ã¦ã„ã¦ã€ã¾ãŸã€è¦æ±‚ã®ã‚ã£ãŸ URL ã«ç‰¹åˆ¥ãª + ãƒãƒ³ãƒ‰ãƒ©ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„å ´åˆã‚’考ãˆã¦ã¿ã¦ãã ã•ã„。 + ã“ã®å ´åˆæœ«å°¾ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®ã¤ã„ã¦ã„るリクエストã«å¯¾ã—ã¦ã¯ index.html + ファイルãŒè¿”ã•ã‚Œã¾ã™ã€‚ã—ã‹ã—スラッシュã®ãªã„リクエストã«å¯¾ã—ã¦ã¯ã€ + ディレクトリã®å†…容一覧を返ã—ã¦ã—ã¾ã„ã¾ã™ã€‚

+
+ +
+
top
+

FallbackResource ディレクティブ

+ + + + + + +
説明:Define a default URL for requests that don't map to a file
構文:
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Base
モジュール:mod_dir

Documentation not yet translated. Please see English version of document.

+
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.ko.euc-kr b/docs/manual/mod/mod_dir.html.ko.euc-kr new file mode 100644 index 0000000..de36ec0 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.ko.euc-kr @@ -0,0 +1,246 @@ + + + + + +mod_dir - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_dir

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:"¸¶Áö¸· ½½·¡½¬" ¸®´ÙÀÌ·º¼ÇÀ» Á¦°øÇÏ°í µð·ºÅ丮 +index ÆÄÀÏÀ» ¼­ºñ½ºÇÑ´Ù
»óÅÂ:Base
¸ðµâ¸í:dir_module
¼Ò½ºÆÄÀÏ:mod_dir.c
+

¿ä¾à

+ +

µð·ºÅ丮ÀÇ index´Â ´ÙÀ½ µÑÁß ÇÑ°¡Áö ¹æ¹ýÀ¸·Î Á¦°øµÈ´Ù:

+ +
    +
  • »ç¿ëÀÚ°¡ ÀÛ¼ºÇÑ º¸Åë index.htmlÀ̶ó´Â + ÆÄÀÏ. DirectoryIndex + Áö½Ã¾î´Â ÀÌ ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. mod_dir°¡ + ÀÌ Áö½Ã¾î¸¦ Á¦°øÇÑ´Ù.
  • + +
  • ¾Æ´Ï¶ó¸é ¼­¹ö°¡ ¸¸µç ¸ñ·Ï. mod_autoindex°¡ + ÀÌ ±â´ÉÀ» Á¦°øÇÑ´Ù.
  • +
+

µÎ ±â´ÉÀº ¼­·Î º°°³·Î ¿øÇÑ´Ù¸é ÀÚµ¿ index »ý¼ºÀ» ¿ÏÀüÈ÷ + ¾ø¾Ù (ȤÀº ±³Ã¼ÇÒ) ¼ö ÀÖ´Ù.

+ +

dirnameÀÌ µð·ºÅ丮¶ó¸é ¼­¹ö´Â URL + http://servername/foo/dirname ¿äûÀ» ¹ÞÀ¸¸é + "¸¶Áö¸· ½½·¡½¬" ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù. µð·ºÅ丮¿¡´Â ¸¶Áö¸· + ½½·¡½¬°¡ ÇÊ¿äÇÏ´Ù. ±×·¡¼­ mod_dirÀº + http://servername/foo/dirname/·Î ¸®´ÙÀÌ·º¼ÇÀ» + º¸³½´Ù.

+
+ + +
top
+

DirectoryCheckHandler Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:Toggle how this module responds when another handler is configured
¹®¹ý:DirectoryCheckHandler On|Off
±âº»°ª:DirectoryCheckHandler Off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_dir
Áö¿ø:Available in 2.4.8 and later. Releases prior to 2.4 implicitly +act as if "DirectoryCheckHandler ON" was specified.

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

DirectoryIndex Áö½Ã¾î

+ + + + + + + + +
¼³¸í:Ŭ¶óÀ̾ðÆ®°¡ µð·ºÅ丮¸¦ ¿äûÇÒ¶§ ã¾Æº¼ ÀÚ¿ø ¸ñ·Ï
¹®¹ý:DirectoryIndex + local-url [local-url] ...
±âº»°ª:DirectoryIndex index.html
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_dir
+

DirectoryIndex Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®°¡ + µð·ºÅ丮¸í ³¡¿¡ /¸¦ ºÙ¿©¼­ µð·ºÅ丮ÀÇ index¸¦ ¿äûÇÒ¶§ ã¾Æº¼ + ÀÚ¿ø ¸ñ·ÏÀ» ÁöÁ¤ÇÑ´Ù. Local-urlÀº ¿äûÇÑ µð·ºÅ丮¿¡ + »ó´ëÀûÀÎ ¹®¼­ÀÇ (%·Î ÀÎÄÚµùµÈ) URLÀÌ´Ù. º¸ÅëÀº µð·ºÅ丮¿¡ + ÀÖ´Â ÆÄÀϸíÀÌ´Ù. ¿©·¯ URLÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ°í, ÀÌ °æ¿ì ¼­¹ö´Â + ù¹ø°·Î ãÀº ÆÄÀÏÀ» º¸³½´Ù. ÀÚ¿øÀ» ãÀ» ¼ö ¾ø°í + Indexes ¿É¼ÇÀ» ¼³Á¤ÇÏ¿´´Ù¸é ¼­¹ö´Â Á÷Á¢ µð·ºÅ丮 + ¸ñ·ÏÀ» ¸¸µç´Ù.

+ +

¿¹Á¦

+ DirectoryIndex index.html +

+ +

ÀÌ °æ¿ì http://myserver/docs/¸¦ ¿äûÇÒ¶§ + http://myserver/docs/index.htmlÀÌ ÀÖÀ¸¸é À̸¦ + º¸³»°í, ¾ø´Ù¸é µð·ºÅ丮 ¸ñ·ÏÀ» º¸³½´Ù.

+ +

¹®¼­°¡ ¹Ýµå½Ã µð·ºÅ丮¿¡ »ó´ëÀûÀÏ ÇÊ¿ä´Â ¾ø´Ù.

+ +

+ DirectoryIndex index.html index.txt /cgi-bin/index.pl +

+ +

ÀÌ °æ¿ì µð·ºÅ丮¿¡ index.htmlÀ̳ª + index.txt°¡ ¾øÀ¸¸é CGI ½ºÅ©¸³Æ® + /cgi-bin/index.plÀ» ½ÇÇàÇÑ´Ù.

+ +
+
top
+

DirectoryIndexRedirect Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:Configures an external redirect for directory indexes. +
¹®¹ý:DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code +
±âº»°ª:DirectoryIndexRedirect off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_dir
Áö¿ø:Available in version 2.3.14 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

DirectorySlash Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:¸¶Áö¸· ½½·¡½¬ ¸®´ÙÀÌ·º¼ÇÀ» Å°°í ²ö´Ù
¹®¹ý:DirectorySlash On|Off
±âº»°ª:DirectorySlash On
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_dir
Áö¿ø:¾ÆÆÄÄ¡ 2.0.51 ÀÌÈĺÎÅÍ
+

DirectorySlash Áö½Ã¾î´Â + mod_dir°¡ µð·ºÅ丮¸¦ °¡¸®Å°´Â URLÀ» ¼öÁ¤ÇÒÁö + ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.

+ +

»ç¿ëÀÚ°¡ ¸¶Áö¸· ½½·¡½¬¾øÀÌ µð·ºÅ丮¿¡ ÇØ´çÇÏ´Â ÀÚ¿øÀ» + ¿äûÇϸé, mod_dir´Â º¸Åë ´ÙÀ½°ú °°Àº ÀÌÀ¯·Î + »ç¿ëÀÚ¸¦ ¸¶Áö¸· ½½·¡½¬¸¦ ºÙÀÎ µ¿ÀÏÇÑ ÀÚ¿øÀ¸·Î + ¸®´ÙÀÌ·º¼ÇÇÑ´Ù.

+ +
    +
  • »ç¿ëÀÚ´Â °á±¹ ÀÚ¿øÀÇ Á¤±Ô URLÀ» ¿äûÇÏ°Ô µÈ´Ù
  • +
  • mod_autoindex°¡ ¿Ã¹Ù·Î µ¿ÀÛÇÑ´Ù. ÀÌ + ±â´ÉÀÌ ¾ø´Ù¸é ÀÌ ¸ðµâÀº ¸µÅ©¿¡ À߸øµÈ °æ·Î¸¦ ¾²°Ô µÈ´Ù.
  • +
  • DirectoryIndex´Â + ¸¶Áö¸· ½½·¡½¬°¡ ÀÖ´Â µð·ºÅ丮 ¿äû¸¸À» ó¸®ÇÑ´Ù.
  • +
  • html ÆäÀÌÁö¿¡ ÀÖ´Â »ó´ëÀûÀÎ URL ÂüÁ¶°¡ ¿Ã¹Ù·Î µ¿ÀÛÇÑ´Ù.
  • +
+ +

±×·±µ¥ ÀÌ ±â´ÉÀ» ¿øÇÏÁö ¾Ê°Å³ª À§¿¡ µç ÀÌÀ¯°¡ + ´ç½Å¿¡°Ô ¾Ë¸ÂÁö ¾Ê´Ù¸é ´ÙÀ½°ú °°ÀÌ ¸®´ÙÀÌ·º¼ÇÀ» ÇÏÁö ¾ÊÀ» + ¼ö ÀÖ´Ù.

+ +

+ # ¾Æ·¡ º¸¾È °æ°í Âü°í!
+ <Location /some/path>
+ + DirectorySlash Off
+ SetHandler some-handler
+
+ </Location> +

+ +

º¸¾È °æ°í

+

¸¶Áö¸· ½½·¡½¬ ¸®´ÙÀÌ·º¼ÇÀ» ²ô¸é Á¤º¸°¡ À¯ÃâµÉ ¼ö ÀÖ´Ù. + (Options +Indexes) mod_autoindex¸¦ + »ç¿ëÇÏ°í DirectoryIndex¸¦ + (index.html °°Àº) À¯È¿ÇÑ ÀÚ¿øÀ¸·Î ¼³Á¤ÇÏ¿´Áö¸¸ + ÇØ´ç URL¿¡ ´Ù¸¥ Ưº°ÇÑ Çڵ鷯°¡ ¾ø´Â »óȲÀ» »ó»óÇغ¸¶ó. + ÀÌ °æ¿ì ¸¶Áö¸· ½½·¡½¬°¡ ÀÖ´Â ¿äûÀº index.html + ÆÄÀÏÀ» º¸¿©ÁØ´Ù. ±×·¯³ª ¸¶Áö¸· ½½·¡½¬°¡ ¾ø´Â ¿äûÀº + µð·ºÅ丮 ³»¿ëÀ» º¸¿©ÁØ´Ù.

+
+ +
+
top
+

FallbackResource Áö½Ã¾î

+ + + + + + +
¼³¸í:Define a default URL for requests that don't map to a file
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Base
¸ðµâ:mod_dir

Documentation not yet translated. Please see English version of document.

+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.tr.utf8 b/docs/manual/mod/mod_dir.html.tr.utf8 new file mode 100644 index 0000000..d9d77c6 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.tr.utf8 @@ -0,0 +1,365 @@ + + + + + +mod_dir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_dir

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriği dosyalarını sunar.
Durum:Temel
Modül Betimleyici:dir_module
Kaynak Dosyası:mod_dir.c
+

Özet

+ +

Bir dizin içerik dosyası şu iki kaynaktan birinden gelebilir:

+ +
    +
  • Kullanıcı tarafından yazılmış ve ismi genellikle + index.html olan bir dosya. Dosya ismi DirectoryIndex yönergesi ile belirlenir. + Bu, mod_dir modülü tarafından denetlenir.
  • + +
  • Aksi takdirde içerik listesi sunucu tarafından üretilir. Bu, + mod_autoindex modülü tarafından saÄŸlanır.
  • +
+

Bu iki işlev tamamen birbirinden ayrıdır, dolayısıyla eğer isterseniz + kendiliğinden dizin içerik listesi üretimini tamamen iptal + edebilirsiniz.

+ +

Sunucu http://example.com/filanca/birdizin şeklinde bir + istek aldığında birdizin bir dizinin ismiyse ‘bölü + çizgisiyle biten’ bir yönlendirme söz konusudur. Dizinler URL sonuna bir + bölü çizgisi eklenmesini gerektirir, bu bakımdan mod_dir + modülü isteği http://example.com/filanca/birdizin/ şeklinde + yönlendirir.

+
+ + +
top
+

DirectoryCheckHandler Yönergesi

+ + + + + + + + + +
Açıklama:Başka bir eylemci yapılandırılmışsa bu modülün nasıl yanıt + vereceğini belirler
Sözdizimi:DirectoryCheckHandler On|Off
Öntanımlı:DirectoryCheckHandler Off
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_dir
Uyumluluk:2.4.8 ve sonrasında kullanılabilmektedir. 2.4 öncesi sürümler + örtük olarak "DirectoryCheckHandler ON" belirtilmiş gibi + davranır.
+

DirectoryCheckHandler yönergesi, geçerli URL için + başka bir eylemcinin yapılandırılmış olması durumunda, + mod_dir modülünün index dosyaları için dizine mi + bakacağını yoksa URL'nin sonuna bölü çizgisi mi ekleyeceğini belirler. + Eylemciler SetHandler gibi + yönergelerle atanabileceği gibi dizin işlemleri sırasında + mod_rewrite gibi modüller tarafından da atanabilir. +

+ +

2.4 öncesi sürümlerde, bir URL için başka bir eylemcinin yapılandılmış + olması durumunda bu modül herhangi bir eylemde bulunmaz ve sonuç olarak, + tüm dizin için bir SetHandler belirtildiği durumda + index dosyalarının sunulmasının yanında mod_rewrite + gibi modüller de ayrıca bazı çelişkili sonuçlar oluşturabilir.

+ +
+
top
+

DirectoryIndex Yönergesi

+ + + + + + + + +
Açıklama:İstemci bir dizin istediğinde dizin içeriğini listeler. +
Sözdizimi:DirectoryIndex + disabled | yerel-url [yerel-url] ...
Öntanımlı:DirectoryIndex index.html
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_dir
+

DirectoryIndex yönergesi, istemci, dizinin + sonuna bir bölü çizgisi ekleyerek dizin içeriğinin listelenmesini + istediğinde bakılmak üzere özkaynakları listeler. + yerel-url, sunucu üstünde istenen dizine göreli + bir belgenin URL’sidir; normal olarak dizin içindeki bir dosyanın + ismidir. Çeşitli URL’ler verilebilirse de sunucu daima ilk bulduğuyla + dönecektir. Eğer özkaynakların hiçbiri yoksa ve Indexes + seçeneği atanmışsa sunucu dizin içeriğinden bir liste üretecektir.

+ +
DirectoryIndex index.html
+ + +

Bu yapılandırmadan sonra yapılan bir + http://sunucum/belgeler/ isteğine karşılık, sunucu, + mevcutsa http://sunucum/belgeler/index.html dosyasını + döndürecek, değilse ürettiği dizin içerik listesini gönderecektir.

+ +

Belgelerin dizine göreli olmasının gerekmediğine dikkat ediniz.

+ +
DirectoryIndex index.html index.txt  /cgi-bin/index.pl
+ + +

Bu örnekte ise dizin içinde ne index.html ne de + index.txt mevcut olduğunda /cgi-bin/index.pl + CGI betiği çalıştırılacaktır.

+ +

disabled değeri tek başına mod_dir’in bir + dizin listesi aramasını engeller. disabled değiştirgesi + öncesinde ve sonrasında başka bir değiştirge hatta bir + disabled daha olsa bile sadece bir disabled + verilmiş gibi yorumlanır.

+

Bilginize: Aynı + bağlamdaki çok sayıda DirectoryIndex + yönergesi bir öncekini değiştirmek yerine onun bulunduğu listeye + eklenir:

+
# 1. örnek: İçerik dosyası olarak index.html atayıp sonraki satırda buna
+# index.php'yi ekleyebilirsiniz.
+<Directory "/foo">
+    DirectoryIndex index.html
+    DirectoryIndex index.php
+</Directory>
+
+# 2. Örnek: Atamaların tet bir satırda yapıldığı bu örnek 1. örneğe denktir.
+<Directory "/foo">
+    DirectoryIndex index.html index.php
+</Directory>
+
+# 3. Örnek: Listeyi tamamen değiştirmek için, listeyi önce sıfırlamalısınız:
+# Bu örnekte içerik dosyası olarak listede sadece index.php kalır.
+<Directory "/foo">
+    DirectoryIndex index.html
+    DirectoryIndex disabled
+    DirectoryIndex index.php
+</Directory>
+ + + +
+
top
+

DirectoryIndexRedirect Yönergesi

+ + + + + + + + + +
Açıklama:Dizin içerik listeleri için harici bir yönlendirme yapılandırır. +
Sözdizimi:DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-kodu +
Öntanımlı:DirectoryIndexRedirect off
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_dir
Uyumluluk:Apache HTTP Sunucusunun 2.3.14 ve sonraki sürümlerinde + kullanılabilmektedir.
+

Öntanımlı olarak, DirectoryIndex listeyi + istemciye şeffaf olarak seçip gönderir. + DirectoryIndexRedirect ise harici bir + yönlendirmeye sebep olur.

+ +

Bunlardan biri kullanılabilir:

+
    +
  • on: Dizin listesi kaynağına bir 302 yönlendirmesi + yapılır.
  • +
  • off: Bir yönlendirme yapılmaz. mod_dir için eski davranış + böyleydi.
  • +
  • permanent: Dizin listesi kaynağına bir 301 (kalıcı) + yönlendirmesi yapılır.
  • +
  • temp: Bu on ile aynı etkiye sahiptir.
  • +
  • seeother: Dizin listesi kaynağına bir 303 yönlendirmesi + ("diÄŸerine bak" olarak da bilinir)yapılır.
  • +
  • 3xx-code: 3xx kodu ile seçilen yönlendirme yapılır.
  • +
+ +

Örnek

DirectoryIndexRedirect on
+
+ +

http://example.com/docs/ için yapılan bir istek, http://example.com/docs/index.html (mevcutsa) adresine geçici bir + yönlendirme döndürür.

+ + +
+
top
+

DirectorySlash Yönergesi

+ + + + + + + + +
Açıklama:Bölü çizgisi ile biten yönlendirmeleri açar/kapar.
Sözdizimi:DirectorySlash On|Off
Öntanımlı:DirectorySlash On
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_dir
+

DirectorySlash yönergesi, bir dizin isteğinde + bulunan URL’lerin sonuna mod_dir modülü tarafından bir + bölü çizgisi eklenip eklenmeyeceğini belirler.

+ +

Normalde, bir kullanıcı sona bir bölü çizgisi eklemeden bir dizin için + istekte bulunursa mod_dir zaten onu aynı özkaynağa + yönlendirir, fakat isteğin sonuna bir bölü çizgisi eklenmesinin bazı iyi + sebepleri vardır:

+ +
    +
  • Kullanıcı bunun sonucunda meÅŸru bir URL ile istekte bulunmuÅŸ olur.
  • +
  • mod_autoindex gerektiÄŸi gibi çalışır. Yoksa + baÄŸlantıdaki yolu sunamayacağından yanlış yolu gösterirdi.
  • +
  • DirectoryIndex yönergesi + sadece bölü çizgisi ile biten dizin istekleri için deÄŸerlendirilir.
  • +
  • HTML sayfa içindeki göreli URL baÅŸvuruları gerektiÄŸi gibi + çalışacaktır.
  • +
+ +

Siz yine de bu etkiyi istemezseniz ve yukarıdaki sebepler de size uygun + değilse yönlendirmeyi aşağıdaki gibi kapatabilirsiniz. Ancak bunu + yaparken dikkatli olun, bununla ilgili bazı güvenlik sorunları olasılığı + vardır.

+ +
# Aşağıdaki güvenlik uyarısına bakınız!
+<Location "/bir/yol">
+ DirectorySlash Off
+ SetHandler bir-eylemci
+</Location>
+ + +

Güvenlik Uyarı

+

Bölü çizgisi ile biten yönlendirmelerin kapatılması bir bilginin + istemeyek açığa çıkmasına sebep olabilir. mod_autoindex + modülünün etkin olduğunu (Options +Indexes) ve DirectoryIndex ile geçerli bir özkaynağın + (index.html olsun) atandığını ama bu URL için başka hiçbir + özel eylemci tanımlanmadığını varsayalım. Bu durumda bölü çizgisi ile + biten bir istek olduğunda index.html dosyası sunulurdu. + Fakat bölü çizgisi ile bitmeyen bir istek dizin içeriğinin + listelenmesi ile sonuçlanırdı.

+
+

Bir yönlendirme sözkonusu olduğunda bazı tarayıcıların yanlışlıkla POST + isteklerini GET istekleri haline getirme (böylece POST verisi iptal olur) + olasılığı olduğuna da dikkat edin.

+ +
+
top
+

FallbackResource Yönergesi

+ + + + + + + + + +
Açıklama:Bir dosya ile eşleşmeyen istekler için öntanımlı URL tanımlar +
Sözdizimi:FallbackResource disabled | yerel-url
Öntanımlı:disabled - httpd 404 döndürecektir (Yok)
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:Indexes
Durum:Temel
Modül:mod_dir
Uyumluluk:disabled değiştirgesi 2.4.4 sürümü ve sonrasında kullanılabilmektedir.
+

Dosya sisteminde bulunmayan bir dosya için istek yapıldığında HTTP'nin + 404 (Yok) hatasını döndürmemesi için sunulacak dosyanın yolunu tanımlar. + Örnek:

+ +
FallbackResource /not-404.php
+ + +

Bu satırla, (mevcut dosyaları etkilemeden) mevcut olmayan dosyaların + yerine not-404.php dosyası sunulacaktır.

+ +

Belli bir dizindeki mevcut bir dosya veya betik için yapılanlar dışındaki + tüm isteklerin tek bir dosya veya özkaynakla yerine getirilmesi sıkça istenen + bir durum olup bu mekanizmaya 'ön denetleyici' adı verilir.

+ +

httpd'nin önceki sürümlerinde bir dosya veya dizinin varlığının sınanması + için genellikle mod_rewrite modülü ve -f ve + -d kullanımı gerekirdi. Bunun için şimdi tek satırlık bir + yapılandırma yeterli olmaktadır.

+ +
FallbackResource /index.php
+ + +

Resim, CSS dosyaları gibi mevcut dosyalar normal olarak sunulur.

+ +

Üst dizinden hiçbir şeyin miras alınmaması isteniyorsa bu özelliği + kapatmak için disabled değiştirgesini kullanın.

+ +

http://example.com/blog/ gibi bir alt URI yerel-url + olarak sağlanır:

+ +
<Directory "/web/example.com/htdocs/blog">
+  FallbackResource /blog/index.php
+</Directory>
+<Directory "/web/example.com/htdocs/blog/images">
+  FallbackResource disabled
+</Directory>
+ + +

Bir acil durum işleyicisi (yukarıdaki durumda, + /blog/index.php) özgün istek URL'sine sunucu değişkeni + REQUEST_URI üzerinden erişebilir. Örneğin PHP'de bu + değişkene erişmek için $_SERVER['REQUEST_URI'] + kullanılır.

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dumpio.html b/docs/manual/mod/mod_dumpio.html new file mode 100644 index 0000000..e4947e0 --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dumpio.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dumpio.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dumpio.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dumpio.html.en b/docs/manual/mod/mod_dumpio.html.en new file mode 100644 index 0000000..798cf30 --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html.en @@ -0,0 +1,139 @@ + + + + + +mod_dumpio - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_dumpio

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + +
Description:Dumps all I/O to error log as desired.
Status:Extension
Module Identifier:dumpio_module
Source File:mod_dumpio.c
+

Summary

+ +

mod_dumpio allows for the logging of + all input received by Apache and/or all output sent by + Apache to be logged (dumped) to the error.log file. +

+ +

The data logging is done right after SSL decoding (for + input) and right before SSL encoding (for output). As can + be expected, this can produce extreme volumes of data, + and should only be used when debugging problems.

+
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Enabling dumpio Support

+ + +

To enable the module, it should be compiled and loaded + in to your running Apache configuration. Logging can then + be enabled or disabled separately for input and output via + the below directives. Additionally, mod_dumpio + needs to be configured to LogLevel trace7: +

+
LogLevel dumpio:trace7
+ +
+
top
+

DumpIOInput Directive

+ + + + + + + + +
Description:Dump all input data to the error log
Syntax:DumpIOInput On|Off
Default:DumpIOInput Off
Context:server config
Status:Extension
Module:mod_dumpio
Compatibility:DumpIOInput is only available in Apache 2.1.3 and +later.
+

Enable dumping of all input.

+ +

Example

DumpIOInput On
+
+ +
+
top
+

DumpIOOutput Directive

+ + + + + + + + +
Description:Dump all output data to the error log
Syntax:DumpIOOutput On|Off
Default:DumpIOOutput Off
Context:server config
Status:Extension
Module:mod_dumpio
Compatibility:DumpIOOutput is only available in Apache 2.1.3 and +later.
+

Enable dumping of all output.

+ +

Example

DumpIOOutput On
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dumpio.html.fr.utf8 b/docs/manual/mod/mod_dumpio.html.fr.utf8 new file mode 100644 index 0000000..6fdad93 --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html.fr.utf8 @@ -0,0 +1,142 @@ + + + + + +mod_dumpio - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_dumpio

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Enregistre toutes les entrées/sorties dans le journal des +erreurs de la manière souhaitée.
Statut:Extension
Identificateur de Module:dumpio_module
Fichier Source:mod_dumpio.c
+

Sommaire

+ +

mod_dumpio permet d'enregistrer toutes les entrées + reçues par Apache et/ou toutes les sorties envoyées par ce dernier + dans le fichier error.log. +

+ +

L'enregistrement des données s'effectue juste après le décodage + SSL (pour les entrées), et juste avant le codage SSL (pour les + sorties). Comme on peut s'y attendre, tout ceci peut représenter un + volume important de données, et ne doit être utilisé qu'à des fins + de débogage.

+
+ +
top
+
+

Activation du support dumpio

+ + +

Pour activer le module, ce dernier doit être compilé et chargé + par l'intermédiaire de la configuration de votre instance d'Apache. + La journalisation peut ensuite être activée ou désactivée séparément + pour les entrées et sorties à l'aide des directives ci-dessous. En + outre, mod_dumpio doit être configuré à LogLevel trace7 :

+
LogLevel dumpio:trace7
+ +
+
top
+

Directive DumpIOInput

+ + + + + + + + +
Description:Enregistre toutes les entrées dans le journal des +erreurs
Syntaxe:DumpIOInput On|Off
Défaut:DumpIOInput Off
Contexte:configuration globale
Statut:Extension
Module:mod_dumpio
Compatibilité:DumpIOInput est disponible depuis la version 2.1.3 +d'Apache.
+

Active la journalisation de toutes les entrées.

+ +

Exemple

DumpIOInput On
+
+ +
+
top
+

Directive DumpIOOutput

+ + + + + + + + +
Description:Enregistre toutes les sorties dans le journal des +erreurs
Syntaxe:DumpIOOutput On|Off
Défaut:DumpIOOutput Off
Contexte:configuration globale
Statut:Extension
Module:mod_dumpio
Compatibilité:DumpIOOutput est disponible depuis la version 2.1.3 +d'Apache.
+

Active la journalisation de toutes les sorties.

+ +

Exemple

DumpIOOutput On
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_dumpio.html.ja.utf8 b/docs/manual/mod/mod_dumpio.html.ja.utf8 new file mode 100644 index 0000000..c99e69a --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html.ja.utf8 @@ -0,0 +1,139 @@ + + + + + +mod_dumpio - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_dumpio

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:望むよã†ã«ã™ã¹ã¦ã® I/O をエラーログã«ãƒ€ãƒ³ãƒ—ã™ã‚‹
ステータス:Extension
モジュール識別å­:dumpio_module
ソースファイル:mod_dumpio.c
+

概è¦

+ +

mod_dumpio を使ã†ã¨ã€Apache ãŒå—ã‘å–ã£ãŸã™ã¹ã¦ã®å…¥åŠ›ã¨ + Apache ã«ã‚ˆã‚Šé€ã‚‰ã‚ŒãŸã™ã¹ã¦ã®å‡ºåŠ›ã¨ã®ã€ä¸¡æ–¹ã‚‚ã—ãã¯ã©ã¡ã‚‰ã‹ä¸€æ–¹ã‚’〠+ エラーログファイルã«ãƒ­ã‚°åŽé›† (訳注: ダンプ dump) + ã§ãã¾ã™ã€‚

+ +

データã®ãƒ­ã‚®ãƒ³ã‚°ã¯ã€SSL 復å·åŒ–ã®ç›´å¾Œ (入力) 㨠SSL + æš—å·åŒ–ã®ç›´å‰ (出力) ã«è¡Œãªã‚ã‚Œã¾ã™ã€‚ã”想åƒã®é€šã‚Šã€ + ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã¨ã¦ã¤ã‚‚ãªã„データé‡ã‚’出力ã—ã¾ã™ã®ã§ã€ + å•é¡Œã‚’デãƒãƒƒã‚°ã—ã¦ã„ã‚‹ã¨ãã«ã®ã¿ä½¿ç”¨ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。

+
+
Support Apache!

トピック

+

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+
top
+
+

dumpio サãƒãƒ¼ãƒˆã‚’有効ã«ã™ã‚‹

+ + +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’有効ã«ã™ã‚‹ã«ã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚³ãƒ³ãƒ‘イルã•ã‚Œã¦ã„ã¦ã€ + 実行ã™ã‚‹ Apache ã®è¨­å®šã§ã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ロギング機能ã¯ã€ä»¥ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã£ã¦æœ‰åŠ¹ã«ã—ãŸã‚Š + 無効ã«ã—ãŸã‚Šã§ãã¾ã™ã€‚

+
+
top
+

DumpIOInput ディレクティブ

+ + + + + + + + +
説明:エラーログã«ã™ã¹ã¦ã®å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ
構文:DumpIOInput On|Off
デフォルト:DumpIOInput Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Extension
モジュール:mod_dumpio
互æ›æ€§:DumpIOInput 㯠Apache 2.1.3 以é™ã®ã¿ã§ä½¿ç”¨å¯èƒ½
+

ã™ã¹ã¦ã®å…¥åŠ›ã®ãƒ€ãƒ³ãƒ—を有効ã«ã—ã¾ã™ã€‚

+ +

例

+ DumpIOInput On +

+ +
+
top
+

DumpIOOutput ディレクティブ

+ + + + + + + + +
説明:エラーログã«ã™ã¹ã¦ã®å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ
構文:DumpIOOutput On|Off
デフォルト:DumpIOOutput Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Extension
モジュール:mod_dumpio
互æ›æ€§:DumpIOOutput 㯠Apache 2.1.3 以é™ã§ã®ã¿ä½¿ç”¨å¯èƒ½
+

ã™ã¹ã¦ã®å‡ºåŠ›ã®ãƒ€ãƒ³ãƒ—を有効ã«ã—ã¾ã™ã€‚

+ +

例

+ DumpIOOutput On +

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html b/docs/manual/mod/mod_echo.html new file mode 100644 index 0000000..70400d3 --- /dev/null +++ b/docs/manual/mod/mod_echo.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_echo.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_echo.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_echo.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_echo.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_echo.html.en b/docs/manual/mod/mod_echo.html.en new file mode 100644 index 0000000..03d4d67 --- /dev/null +++ b/docs/manual/mod/mod_echo.html.en @@ -0,0 +1,100 @@ + + + + + +mod_echo - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_echo

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:A simple echo server to illustrate protocol +modules
Status:Experimental
Module Identifier:echo_module
Source File:mod_echo.c
+

Summary

+ +

This module provides an example protocol module to illustrate the + concept. It provides a simple echo server. Telnet to it and type + stuff, and it will echo it.

+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

ProtocolEcho Directive

+ + + + + + + +
Description:Turn the echo server on or off
Syntax:ProtocolEcho On|Off
Default:ProtocolEcho Off
Context:server config, virtual host
Status:Experimental
Module:mod_echo
+

The ProtocolEcho directive enables or + disables the echo server.

+ +

Example

ProtocolEcho On
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html.fr.utf8 b/docs/manual/mod/mod_echo.html.fr.utf8 new file mode 100644 index 0000000..46032ca --- /dev/null +++ b/docs/manual/mod/mod_echo.html.fr.utf8 @@ -0,0 +1,100 @@ + + + + + +mod_echo - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_echo

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Un simple serveur d'écho pour illustrer les modules de +protocole
Statut:Expérimental
Identificateur de Module:echo_module
Fichier Source:mod_echo.c
+

Sommaire

+ +

Ce module est un module de protocole exemple permettant d'en + illustrer le concept. Il fournit un simple serveur d'écho. Envoyez + lui une phrase par telnet, et il vous la renverra.

+
+ + +
top
+

Directive ProtocolEcho

+ + + + + + + +
Description:Active ou désactive le serveur d'écho
Syntaxe:ProtocolEcho On|Off
Défaut:ProtocolEcho Off
Contexte:configuration globale, serveur virtuel
Statut:Expérimental
Module:mod_echo
+

La directive ProtocolEcho permet d'activer + ou de désactiver le serveur d'écho.

+ +

Exemple

ProtocolEcho On
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html.ja.utf8 b/docs/manual/mod/mod_echo.html.ja.utf8 new file mode 100644 index 0000000..00fdc60 --- /dev/null +++ b/docs/manual/mod/mod_echo.html.ja.utf8 @@ -0,0 +1,100 @@ + + + + + +mod_echo - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_echo

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+ + + +
説明:プロトコルモジュールã®æ¦‚è¦ã‚’示ã™ãŸã‚ã®å˜ç´”ãªã‚¨ã‚³ãƒ¼ã‚µãƒ¼ãƒ +
ステータス:Experimental
モジュール識別å­:echo_module
ソースファイル:mod_echo.c
+

概è¦

+ +

本モジュールã¯ã‚³ãƒ³ã‚»ãƒ—トをä¼ãˆã‚‹ãŸã‚ã®ãƒ—ロトコルモジュール㮠+ 実装例ã¨ãªã£ã¦ã„ã¾ã™ã€‚å˜ç´”ãªã‚¨ã‚³ãƒ¼ã‚µãƒ¼ãƒã‚’æä¾›ã—ã¾ã™ã€‚ + Telnet ã§æŽ¥ç¶šã—ã€æ–‡å­—列をé€ä¿¡ã™ã‚‹ã¨ã€ã‚¨ã‚³ãƒ¼ã‚’è¿”ã—ã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

ProtocolEcho ディレクティブ

+ + + + + + + +
説明:エコーサーãƒã®æœ‰åŠ¹ç„¡åŠ¹ã‚’設定ã—ã¾ã™ã€‚
構文:ProtocolEcho On|Off
デフォルト:ProtocolEcho Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Experimental
モジュール:mod_echo
+

ProtocolEcho ディレクティブ㧠+ エコーサーãƒã®æœ‰åŠ¹ç„¡åŠ¹ã‚’設定ã—ã¾ã™ã€‚

+ +

例

ProtocolEcho On
+
+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html.ko.euc-kr b/docs/manual/mod/mod_echo.html.ko.euc-kr new file mode 100644 index 0000000..c7f31c1 --- /dev/null +++ b/docs/manual/mod/mod_echo.html.ko.euc-kr @@ -0,0 +1,103 @@ + + + + + +mod_echo - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_echo

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:ÇÁ·ÎÅäÄÝ ¸ðµâÀ» ¼³¸íÇϱâÀ§ÇÑ °£´ÜÇÑ echo ¼­¹ö
»óÅÂ:Experimental
¸ðµâ¸í:echo_module
¼Ò½ºÆÄÀÏ:mod_echo.c
Áö¿ø:Apache 2.0 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ÇÁ·ÎÅäÄÝ ¸ðµâÀÇ °³³äÀ» ¼³¸íÇϱâÀ§ÇÑ ¿¹Á¦ÀÌ´Ù. + ÀÌ ¸ðµâÀº °£´ÜÇÑ echo ¼­¹ö¸¦ ±¸ÇöÇÑ´Ù. ÀÌ ¼­¹ö·Î telnetÇÏ¿© + ¹«¾ð°¡¸¦ ÀÔ·ÂÇϸé, ¼­¹ö´Â ÀÔ·ÂÇÑ ³»¿ëÀÌ ±×´ë·Î ¹ÝȯÇÑ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

ProtocolEcho Áö½Ã¾î

+ + + + + + + +
¼³¸í:echo ¼­¹ö¸¦ Å°°í ²ö´Ù
¹®¹ý:ProtocolEcho On|Off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Experimental
¸ðµâ:mod_echo
Áö¿ø:ProtocolEcho´Â 2.0 ÀÌÈÄ¿¡¸¸ ÀÖ´Ù.
+

ProtocolEcho Áö½Ã¾î´Â echo ¼­¹ö¸¦ + Å°°í ²ö´Ù.

+ +

¿¹Á¦

+ ProtocolEcho On +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_env.html b/docs/manual/mod/mod_env.html new file mode 100644 index 0000000..7e38ab3 --- /dev/null +++ b/docs/manual/mod/mod_env.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_env.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_env.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_env.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_env.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_env.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_env.html.en b/docs/manual/mod/mod_env.html.en new file mode 100644 index 0000000..17fe1ed --- /dev/null +++ b/docs/manual/mod/mod_env.html.en @@ -0,0 +1,165 @@ + + + + + +mod_env - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_env

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Modifies the environment which is passed to CGI scripts and +SSI pages
Status:Base
Module Identifier:env_module
Source File:mod_env.c
+

Summary

+ +

This module allows for control of internal environment variables that + are used by various Apache HTTP Server modules. These variables are also + provided to CGI scripts as native system environment variables, and available + for use in SSI pages. Environment variables may be passed from the shell + which invoked the httpd process. Alternatively, + environment variables may be set or unset within the configuration process.

+
+ + +
top
+

PassEnv Directive

+ + + + + + + +
Description:Passes environment variables from the shell
Syntax:PassEnv env-variable [env-variable] +...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_env
+

Specifies one or more native system environment variables to make available + as internal environment variables, which are available to Apache HTTP Server modules + as well as propagated to CGI scripts and SSI pages. Values come from the + native OS environment of the shell which invoked the + httpd process.

+ +

Example

PassEnv LD_LIBRARY_PATH
+
+ +
+
top
+

SetEnv Directive

+ + + + + + + +
Description:Sets environment variables
Syntax:SetEnv env-variable [value]
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_env
+

Sets an internal environment variable, which is then available to Apache + HTTP Server modules, and passed on to CGI scripts and SSI pages.

+ +

Example

SetEnv SPECIAL_PATH /foo/bin
+
+ +

If you omit the value argument, the variable is set to + an empty string.

+ +

The internal environment variables set by this directive are set + after most early request processing directives are run, such as access + control and URI-to-filename mapping. If the environment variable you're + setting is meant as input into this early phase of processing such as the + RewriteRule directive, you should + instead set the environment variable with + SetEnvIf.

+
+ + +

See also

+ +
+
top
+

UnsetEnv Directive

+ + + + + + + +
Description:Removes variables from the environment
Syntax:UnsetEnv env-variable [env-variable] +...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_env
+

Removes one or more internal environment variables from those passed + on to CGI scripts and SSI pages.

+ +

Example

UnsetEnv LD_LIBRARY_PATH
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.fr.utf8 b/docs/manual/mod/mod_env.html.fr.utf8 new file mode 100644 index 0000000..cc91812 --- /dev/null +++ b/docs/manual/mod/mod_env.html.fr.utf8 @@ -0,0 +1,172 @@ + + + + + +mod_env - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_env

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Modifie l'environnement transmis aux scripts CGI et aux +pages SSI
Statut:Base
Identificateur de Module:env_module
Fichier Source:mod_env.c
+

Sommaire

+ +

Ce module permet de contrôler les variables d'environnement + internes utilisées par divers modules du serveur HTTP Apache. Ces + variables sont aussi accessibles aux scripts CGI en tant que + variables d'environnement système natives, et disponibles dans les + pages SSI. Les variables d'environnement peuvent + être transmises depuis le shell qui a lancé le processus + httpd. Elles peuvent également être définies ou + supprimées au cours du processus de configuration.

+
+ + +
top
+

Directive PassEnv

+ + + + + + + +
Description:Transmet des variables d'environnement depuis le +shell
Syntaxe:PassEnv var-env [var-env] +...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_env
+

Cette directive permet de spécifier quelles variables + d'environnement système natives doivent être disponibles en tant que + variables d'environnement internes pour les modules du serveur HTTP + Apache, et propagées vers les scripts CGI et les pages SSI. Leurs + valeurs sont issues de l'environnement natif de l'OS associé au + shell qui a invoqué le processus httpd.

+ +

Exemple

PassEnv LD_LIBRARY_PATH
+
+ +
+
top
+

Directive SetEnv

+ + + + + + + +
Description:Définit des variables d'environnement
Syntaxe:SetEnv var-env [valeur]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_env
+

Définit une variable d'environnement interne, cette dernière étant + ensuite disponible pour les modules du serveur HTTP Apache et + transmise aux scripts CGI et aux pages SSI.

+ +

Exemple

SetEnv SPECIAL_PATH /foo/bin
+
+ +

Si l'argument valeur est absent, la variable est + définie à la valeur d'une chaîne vide.

+ +

Les variables d'environnement internes définies par cette + directive le sont après l'exécution de la plupart des + directives du traitement initial des requêtes, comme les contrôles + d'accès et la mise en correspondance des URIs avec les noms de + fichiers. Si la variable d'environnement est sensée intervenir au + cours de cette phase initiale du traitement, par exemple pour la + directive RewriteRule, + vous devez plutôt utiliser la directive SetEnvIf pour définir cette + variable.

+
+ + +

Voir aussi

+ +
+
top
+

Directive UnsetEnv

+ + + + + + + +
Description:Supprime des variables de l'environnement
Syntaxe:UnsetEnv var-env [var-env] +...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_env
+

Supprime une ou plusieurs variables d'environnement internes parmi celles + qui sont transmises aux scripts CGI et aux pages SSI.

+ +

Exemple

UnsetEnv LD_LIBRARY_PATH
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.ja.utf8 b/docs/manual/mod/mod_env.html.ja.utf8 new file mode 100644 index 0000000..a18bfa2 --- /dev/null +++ b/docs/manual/mod/mod_env.html.ja.utf8 @@ -0,0 +1,151 @@ + + + + + +mod_env - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_env

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:CGI スクリプトåŠã³ SSI +ページã«æ¸¡ã•ã‚Œã‚‹ç’°å¢ƒå¤‰æ•°ã‚’変更ã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹
ステータス:Base
モジュール識別å­:env_module
ソースファイル:mod_env.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã‚Š CGI スクリプト㨠SSI + ページã«é©ç”¨ã•ã‚Œã‚‹ç’°å¢ƒå¤‰æ•°ã‚’制御ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + 環境変数㯠httpd プロセスを起動ã—ãŸã‚·ã‚§ãƒ«ã‹ã‚‰æ¸¡ã•ã‚Œã¾ã™ã€‚ã¾ãŸã€ + 設定ファイルã§ç’°å¢ƒå¤‰æ•°ã‚’設定ã—ãŸã‚Šã€å‰Šé™¤ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

PassEnv ディレクティブ

+ + + + + + + +
説明:シェルã‹ã‚‰ã®ç’°å¢ƒå¤‰æ•°ã‚’渡ã™
構文:PassEnv env-variable [env-variable] +...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_env
+ +

httpd プロセスを起動ã—ãŸã‚·ã‚§ãƒ«ã®ç’°å¢ƒã‹ã‚‰ CGI スクリプト㨠+ SSI ページã«æ¸¡ã™ç’°å¢ƒå¤‰æ•°ã‚’一ã¤ä»¥ä¸ŠæŒ‡å®šã—ã¾ã™ã€‚

+ +

例

+ PassEnv LD_LIBRARY_PATH +

+ +
+
top
+

SetEnv ディレクティブ

+ + + + + + + +
説明:環境変数を設定ã™ã‚‹
構文:SetEnv env-variable value
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_env
+

環境変数を設定ã—ã€ãれを CGI スクリプト㨠SSI + ページã«æ¸¡ã™ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

例

+ SetEnv SPECIAL_PATH /foo/bin +

+ +
+
top
+

UnsetEnv ディレクティブ

+ + + + + + + +
説明:環境ã‹ã‚‰å¤‰æ•°ã‚’å–り除ã
構文:UnsetEnv env-variable [env-variable] +...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_env
+

CGI スクリプト㨠SSI + ページã«æ¸¡ã•ã‚Œã‚‹ç’°å¢ƒå¤‰æ•°ã‹ã‚‰æŒ‡å®šã•ã‚ŒãŸç’°å¢ƒå¤‰æ•°ã‚’å–り除ãã¾ã™ã€‚

+ +

例

+ UnsetEnv LD_LIBRARY_PATH +

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.ko.euc-kr b/docs/manual/mod/mod_env.html.ko.euc-kr new file mode 100644 index 0000000..7ec39a0 --- /dev/null +++ b/docs/manual/mod/mod_env.html.ko.euc-kr @@ -0,0 +1,144 @@ + + + + + +mod_env - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_env

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:CGI ½ºÅ©¸³Æ®³ª SSI ÆäÀÌÁö¿¡ Àü´ÞÇÒ È¯°æº¯¼ö¸¦ +¼öÁ¤ÇÑ´Ù
»óÅÂ:Base
¸ðµâ¸í:env_module
¼Ò½ºÆÄÀÏ:mod_env.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº CGI ½ºÅ©¸³Æ®³ª SSI ÆäÀÌÁö¿¡ Àü´ÞÇÒ È¯°æº¯¼ö¸¦ + Á¶ÀýÇÑ´Ù. À¥¼­¹ö¸¦ ½ÃÀÛÇÑ ½©¿¡¼­ ȯ°æº¯¼ö¸¦ °¡Á®¿Ã ¼ö ÀÖ´Ù. + ¾Æ´Ï¸é ¼³Á¤°úÁ¤Áß¿¡ ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ°í Á¦°ÅÇÒ ¼ö ÀÖ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

PassEnv Áö½Ã¾î

+ + + + + + + +
¼³¸í:½©¿¡¼­ ȯ°æº¯¼ö¸¦ °¡Á®¿Â´Ù
¹®¹ý:PassEnv env-variable [env-variable] +...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_env
+

À¥¼­¹ö¸¦ ½ÇÇàÇÑ ½©ÀÇ Æ¯Á¤ ȯ°æº¯¼ö¸¦ CGI ½ºÅ©¸³Æ®³ª + SSI ÆäÀÌÁö·Î Àü´ÞÇÑ´Ù.

+ +

¿¹Á¦

+ PassEnv LD_LIBRARY_PATH +

+ +
+
top
+

SetEnv Áö½Ã¾î

+ + + + + + + +
¼³¸í:ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù
¹®¹ý:SetEnv env-variable value
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_env
+

CGI ½ºÅ©¸³Æ®³ª SSI ÆäÀÌÁö¿¡ Àü´ÞÇÒ È¯°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.

+ +

¿¹Á¦

+ SetEnv SPECIAL_PATH /foo/bin +

+ +
+
top
+

UnsetEnv Áö½Ã¾î

+ + + + + + + +
¼³¸í:ȯ°æº¯¼ö¸¦ Á¦°ÅÇÑ´Ù
¹®¹ý:UnsetEnv env-variable [env-variable] +...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_env
+

CGI ½ºÅ©¸³Æ®³ª SSI ÆäÀÌÁö¿¡ ȯ°æº¯¼ö¸¦ Àü´ÞÇÏÁö ¾Ê´Â´Ù.

+ +

¿¹Á¦

+ UnsetEnv LD_LIBRARY_PATH +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.tr.utf8 b/docs/manual/mod/mod_env.html.tr.utf8 new file mode 100644 index 0000000..61d8f30 --- /dev/null +++ b/docs/manual/mod/mod_env.html.tr.utf8 @@ -0,0 +1,166 @@ + + + + + +mod_env - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_env

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:CGI betiklerine ve SSI sayfalarına aktarılan değişkenlere müdahale +etmek için kullanılır.
Durum:Temel
Modül Betimleyici:env_module
Kaynak Dosyası:mod_env.c
+

Özet

+ +

Bu modül Apache HTTP Sunucusunun çeşitli modülleri tarafınan kullanılan + dahili ortam değişkenlerime müdahale etmeyi mümkün kılar. bu değişkenler + ayrıca, CGI betiklerine yerel ortam değişkenleri olarak sunulur ve SSI + sayfalarında da kullanılabilir. Ortam değişkenleri + httpd süreci başlatılırken kabuktan aktarılabilir. + Bundan başka, yapılandırma + sürecinde tanımlı veya tanımsız yapılabilirler.

+
+
Support Apache!

Yönergeler

+ +

Bulunan hatalar

Ayrıca bakınız:

+
+ +
top
+

PassEnv Yönergesi

+ + + + + + + +
Açıklama:Ortam değişkenlerini kabuktan aktarır.
Sözdizimi:PassEnv ortam-değişkeni [ortam-değişkeni] +...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_env
+

Dahili ortam değişkenleri olarak kullanılmak üzere sistem ortam + değişkenlerini içeri aktarmak için kullanılır. Bunlar daha sonra Apache + HTTP Sunucusunun modüllerinden kullanılabilir, CGI betiklerine ve SSI + sayfalarında aktarılabilir. Değerler httpd süreci + başlatılırken kabuğun işletim sistemi ortamından gelir.

+ +

Örnek

+ PassEnv LD_LIBRARY_PATH +

+ +
+
top
+

SetEnv Yönergesi

+ + + + + + + +
Açıklama:Ortam değişkenlerini tanımlar.
Sözdizimi:SetEnv ortam-değişkeni [değer]
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_env
+

CGI betiklerine ve SSI sayfalarına aktarılmak ve Apache HTTP Sunucusu + modüllerinde kullanılmak üzere bir dahili ortam değişkeni tanımlanmasını + sağlar.

+ +
SetEnv SPECIAL_PATH /foo/bin
+ + +

Bir değer belirtilmezse değişkene boş dizgi atanır.

+ +

Bu yönerge tarafından atanan dahili ortam değişkenleri, en başta + işleme sokulan, ereşem denetimi, URI-dosya ismi eşleştirmesi gibi istek + işleme yönergelerinden sonra işleme sokulur. Eğer atadığınız ortam değişkeni, + bir RewriteRule yönergesindeki + gibi erken işlem aşamalarına girdi sağlıyorsa, bu durumda ortam değişkenini + SetEnvIf ile atamalısınız.

+
+ + +

Ayrıca bakınız:

+ +
+
top
+

UnsetEnv Yönergesi

+ + + + + + + +
Açıklama:Ortamdaki değişkenleri tanımsız hale getirir.
Sözdizimi:UnsetEnv ortam-değişkeni [ortam-değişkeni] +...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_env
+

CGI betiklerine ve SSI sayfalarına bir daha aktarılmamak üzere bir + dahili ortam değişkenini siler.

+ +
UnsetEnv LD_LIBRARY_PATH
+ + +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_example_hooks.html b/docs/manual/mod/mod_example_hooks.html new file mode 100644 index 0000000..ecdeca8 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_example_hooks.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_example_hooks.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_example_hooks.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_example_hooks.html.en b/docs/manual/mod/mod_example_hooks.html.en new file mode 100644 index 0000000..8b4bdf4 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html.en @@ -0,0 +1,184 @@ + + + + + +mod_example_hooks - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_example_hooks

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + +
Description:Illustrates the Apache module API
Status:Experimental
Module Identifier:example_hooks_module
Source File:mod_example_hooks.c
+

Summary

+ +

The files in the modules/examples directory + under the Apache distribution directory tree are provided as an + example to those that wish to write modules that use the Apache + API.

+ +

The main file is mod_example_hooks.c, which + illustrates all the different callback mechanisms and call + syntaxes. By no means does an add-on module need to include + routines for all of the callbacks - quite the contrary!

+ +

The example module is an actual working module. If you link + it into your server, enable the "example-hooks-handler" handler for a + location, and then browse to that location, you will see a + display of some of the tracing the example module did as the + various callbacks were made.

+
+ +
top
+
+

Compiling the example_hooks module

+ +

To include the example_hooks module in your server, follow the + steps below:

+ +
    +
  1. + Run configure with --enable-example-hooks + option.
  2. + +
  3. Make the server (run "make").
  4. +
+ +

To add another module of your own:

+ +
    +
  1. cp modules/examples/mod_example_hooks.c + modules/new_module/mod_myexample.c
  2. + +
  3. Modify the file.
  4. + +
  5. Create modules/new_module/config.m4. +
      +
    1. Add APACHE_MODPATH_INIT(new_module).
    2. +
    3. Copy APACHE_MODULE line with "example_hooks" from + modules/examples/config.m4.
    4. +
    5. Replace the first argument "example_hooks" with myexample.
    6. +
    7. Replace the second argument with brief description of your module. + It will be used in configure --help.
    8. +
    9. If your module needs additional C compiler flags, linker flags or + libraries, add them to CFLAGS, LDFLAGS and LIBS accordingly. + See other config.m4 files in modules directory for + examples.
    10. +
    11. Add APACHE_MODPATH_FINISH.
    12. +
    +
  6. + +
  7. Create module/new_module/Makefile.in. + If your module doesn't need special build instructions, + all you need to have in that file is + include $(top_srcdir)/build/special.mk.
  8. + +
  9. Run ./buildconf from the top-level directory.
  10. + +
  11. Build the server with --enable-myexample
  12. + +
+
top
+
+

Using the mod_example_hooks Module

+ +

To activate the example_hooks module, include a block similar to + the following in your httpd.conf file:

+
<Location "/example-hooks-info">
+   SetHandler example-hooks-handler
+</Location>
+ + +

As an alternative, you can put the following into a .htaccess file + and then request the file "test.example" from that location:

+
AddHandler example-hooks-handler ".example"
+ + +

After reloading/restarting your server, you should be able + to browse to this location and see the brief display mentioned + earlier.

+
+
top
+

Example Directive

+ + + + + + +
Description:Demonstration directive to illustrate the Apache module +API
Syntax:Example
Context:server config, virtual host, directory, .htaccess
Status:Experimental
Module:mod_example_hooks
+

The Example directive just sets a demonstration + flag which the example module's content handler displays. It + takes no arguments. If you browse to an URL to which the + example-hooks content-handler applies, you will get a display of the + routines within the module and how and in what order they were + called to service the document request. The effect of this + directive one can observe under the point "Example + directive declared here: YES/NO".

+ +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_example_hooks.html.fr.utf8 b/docs/manual/mod/mod_example_hooks.html.fr.utf8 new file mode 100644 index 0000000..5fb9f50 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html.fr.utf8 @@ -0,0 +1,196 @@ + + + + + +mod_example_hooks - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_example_hooks

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + +
Description:Illustration de l'API des modules Apache
Statut:Expérimental
Identificateur de Module:example_hooks_module
Fichier Source:mod_example_hooks.c
+

Sommaire

+ +

Certains fichiers situés dans le répertoire + modules/examples de l'arborescence de la + distribution d'Apache sont fournis à titre d'exemples pour ceux qui + souhaitent écrire des modules qui utilisent l'API d'Apache.

+ +

Le fichier principal est mod_example_hooks.c, qui + constitue une illustration exhaustive des différents mécanismes et + syntaxes d'appels. En aucun cas un module additionnel n'aura à + inclure des routines pour tous les appels - il n'en nécessitera au + contraire qu'un petit nombre !

+ +

Le module example_hooks fonctionne réellement. Si vous le chargez dans + votre serveur, activez le gestionnaire "example-hooks-handler" dans une + section location, et essayez d'accéder à la zone du site web + correspondante, vous verrez s'afficher certaines sorties que le + module example_hooks produit au cours des différents appels.

+
+ +
top
+
+

Compilation du module example_hooks

+ +

Pour inclure le module example_hooks dans votre serveur, effectuez les + étapes suivantes :

+ +
    +
  1. Exécutez configure avec l'option + --enable-example-hooks.
  2. + +
  3. Compilez le serveur (exécutez la commande + "make").
  4. +
+ +

Pour ajouter votre propre module :

+ +
    +
  1. cp modules/examples/mod_example_hooks.c + modules/nouveau_module/mod_monexemple.c
  2. + +
  3. Modifiez le fichier.
  4. + +
  5. Créez modules/nouveau_module/config.m4. +
      +
    1. Ajoutez APACHE_MODPATH_INIT(nouveau_module).
    2. +
    3. Copiez la ligne APACHE_MODULE contenant "example_hooks" depuis + modules/examples/config.m4.
    4. +
    5. Remplacez le premier argument "example-hooks" par + monexemple.
    6. +
    7. Remplacez le second argument par une brève description de + votre module. Cette description sera utilisée par la commande + configure --help.
    8. +
    9. Si la compilation de votre module nécessite des drapeaux + de compilation C, des drapeaux d'édition de liens, ou de + bibliothèques supplémentaires, ajoutez les respectivement à + CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers + config.m4 des répertoires des autres modules pour + plus d'exemples.
    10. +
    11. Ajoutez APACHE_MODPATH_FINISH.
    12. +
    +
  6. + +
  7. Créez le fichier + module/nouveau_module/Makefile.in. + Si la compilation de votre module ne nécessite pas d'instructions + particulières, ce fichier ne doit contenir que la ligne + include $(top_srcdir)/build/special.mk.
  8. + +
  9. Exécutez ./buildconf à la racine du répertoire.
  10. + +
  11. Compilez le serveur après avoir exécuté la commande configure + avec l'option --enable-monexemple.
  12. + +
+
top
+
+

Utilisation du module +mod_example_hooks

+ +

Pour activer le module example_hooks, ajoutez à votre fichier + httpd.conf un bloc du style :

+
<Location "/example-hooks-info">
+   SetHandler example-hooks-handler
+</Location>
+ + +

Vous pouvez aussi ajouter ce qui suit dans un fichier .htaccess, puis + accéder au fichier "test.example" à partir du répertoire + correspondant :

+ +
AddHandler example-hooks-handler ".example"
+ + +

Après avoir rechargé la configuration ou redémarré votre serveur, + vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui + a été décrit plus haut.

+
+
top
+

Directive Example

+ + + + + + +
Description:Directive de démonstration pour illustrer l'API des modules +Apache
Syntaxe:Example
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Expérimental
Module:mod_example_hooks
+

La directive Example n'a pour fonction que + de définir un drapeau de démonstration que le gestionnaire de + contenu du module example_hooks va afficher. Elle ne possède aucun + argument. Si vous naviguez vers une URL à laquelle le gestionnaire + de contenu example_hooks s'applique, vous verrez s'afficher les routines + du module, ainsi que l'ordre dans lequel elles ont été appelées pour + servir le document demandé. On peut observer l'effet de cette + directive dans la phrase "Example + directive declared here: YES/NO".

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_example_hooks.html.ko.euc-kr b/docs/manual/mod/mod_example_hooks.html.ko.euc-kr new file mode 100644 index 0000000..9ba6984 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html.ko.euc-kr @@ -0,0 +1,185 @@ + + + + + +mod_example_hooks - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_example_hooks

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¾ÆÆÄÄ¡ ¸ðµâ API¸¦ ¼³¸íÇÑ´Ù
»óÅÂ:Experimental
¸ðµâ¸í:example_hooks_module
¼Ò½ºÆÄÀÏ:mod_example_hooks.c
+

¿ä¾à

+ +

¾ÆÆÄÄ¡ ¹èÆ÷º» modules/examples µð·ºÅ丮¿¡ + ÀÖ´Â ÆÄÀϵéÀº ¾ÆÆÄÄ¡ API¸¦ »ç¿ëÇÏ¿© ¸ðµâÀ» ÀÛ¼ºÇÏ·Á´Â »ç¶÷µéÀ» + µ½±âÀ§ÇÑ ¿¹Á¦´Ù.

+ +

mod_example_hooks.c´Â ¸ðµç Äݹé(callback) ±¸Á¶¿Í + È£Ãâ ¹®¹ýÀ» ¼³¸íÇÏ´Â ÆÄÀÏÀÌ´Ù. ´ç½ÅÀº ¸ðµâ¿¡ ÀÌ ¸ðµç ÄݹéÀ» + ±¸ÇöÇÒ ÇÊ¿ä°¡ ¾ø´Ù. »ç½Ç Á¤¹Ý´ë´Ù!

+ +

example ¸ðµâÀº ½ÇÁ¦·Î µ¿ÀÛÇÏ´Â ¸ðµâÀÌ´Ù. ÀÌ ¸ðµâÀ» ¼­¹ö¿¡ + ¿¬°áÇÏ°í ƯÁ¤ À§Ä¡¿¡ "example-hooks-handler" Çڵ鷯¸¦ ÇÒ´çÇÏ¿© + ±×°÷À» ºê¶ó¿ì¡Çϸé example ¸ðµâÀÇ ¿©·¯ ÄݹéÀ» È®ÀÎÇÒ ¼ö + ÀÖ´Ù.

+
+ +
top
+
+

example ¸ðµâ ÄÄÆÄÀÏÇϱâ

+ +

¼­¹ö¿¡ example ¸ðµâÀ» Æ÷ÇÔÇÏ·Á¸é ´ÙÀ½ °úÁ¤À» °ÅÄ£´Ù:

+ +
    +
  1. + --enable-example-hooks ¿É¼Ç°ú ÇÔ²² + configure¸¦ ½ÇÇàÇÑ´Ù.
  2. + +
  3. ¼­¹ö¸¦ ÄÄÆÄÀÏÇÑ´Ù ("make"¸¦ ½ÇÇàÇÑ´Ù).
  4. +
+ +

ÀÚ½ÅÀÌ ¸¸µç ¸ðµâÀ» Ãß°¡ÇÏ·Á¸é:

+ +
    +
  1. cp modules/examples/mod_example_hooks.c + modules/new_module/mod_myexample.c
  2. + +
  3. ÆÄÀÏÀ» ¼öÁ¤ÇÑ´Ù.
  4. + +
  5. modules/new_module/config.m4 ÆÄÀÏÀ» ¸¸µç´Ù. +
      +
    1. APACHE_MODPATH_INIT(new_module)À» + Ãß°¡ÇÑ´Ù.
    2. +
    3. modules/examples/config.m4 ÆÄÀÏ¿¡¼­ + "example_hooks"ÀÌ ÀÖ´Â APACHE_MODULE ÁÙÀ» º¹»çÇؿ´Ù.
    4. +
    5. ù¹ø° ¾Æ±Ô¸ÕÆ® "example_hooks"À» myexample·Î + º¯°æÇÑ´Ù.
    6. +
    7. µÎ¹ø° ¾Æ±Ô¸ÕÆ® ÀÚ¸®¿¡ ÀÚ½ÅÀÌ ¸¸µç ¸ðµâ¿¡ ´ëÇÑ + °£´ÜÇÑ ¼³¸íÀ» Àû´Â´Ù. configure --help¸¦ + ½ÇÇàÇÏ¸é ¿©±â¿¡ ±â·ÏÇÑ ¼³¸íÀ» º¸¿©ÁØ´Ù.
    8. +
    9. ¸ðµâÀ» ÄÄÆÄÀÏÇÒ¶§ Ưº°ÇÑ C ÄÄÆÄÀÏ·¯ ¿É¼Ç, ¸µÄ¿ + ¿É¼Ç, ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÏ¸é °¢°¢ CFLAGS, LDFLAGS, + LIBS¿¡ Ãß°¡ÇÑ´Ù. modules µð·ºÅ丮¿¡ ÀÖ´Â ´Ù¸¥ + config.m4 ÆÄÀϵéÀ» Âü°íÇ϶ó.
    10. +
    11. APACHE_MODPATH_FINISH¸¦ Ãß°¡ÇÑ´Ù.
    12. +
    +
  6. + +
  7. module/new_module/Makefile.in ÆÄÀÏÀ» + ¸¸µç´Ù. ¸ðµâÀ» ÄÄÆÄÀÏÇϴµ¥ Ưº°ÇÑ ¸í·É¾î°¡ ÇÊ¿ä¾ø´Ù¸é, + ÆÄÀÏ¿¡ include $(top_srcdir)/build/special.mk¸¸ + À־ µÈ´Ù.
  8. + +
  9. ÃÖ»óÀ§ µð·ºÅ丮¿¡¼­ ./buildconf ¸¦ ½ÇÇàÇÑ´Ù.
  10. + +
  11. --enable-myexample ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼­¹ö¸¦ ÄÄÆÄÀÏÇÑ´Ù
  12. + +
+
top
+
+

mod_example_hooks ¸ðµâ »ç¿ëÇϱâ

+ +

example ¸ðµâÀ» »ç¿ëÇÏ·Á¸é httpd.conf ÆÄÀÏ¿¡ + ´ÙÀ½°ú °°Àº ¼³Á¤À» Ãß°¡Ç϶ó:

+

+ <Location /example-hooks-info>
+ SetHandler example-hooks-handler
+ </Location> +

+ +

¾Æ´Ï¸é .htaccess + ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ³»¿ëÀ» Ãß°¡ÇÏ°í, ±× À§Ä¡¿¡¼­ "test.example" + °°Àº ÆÄÀÏÀ» ¿äûÇ϶ó:

+

+ AddHandler example-hooks-handler .example +

+ +

¼­¹ö¸¦ Àç½ÃÀÛÇÑ ÈÄ ÀÌ À§Ä¡¸¦ ºê¶ó¿ì¡ÇÏ¸é ¾Õ¿¡¼­ ¸»ÇÑ + ³»¿ëÀ» º¸°ÔµÉ °ÍÀÌ´Ù.

+
+
top
+

Example Áö½Ã¾î

+ + + + + + +
¼³¸í:¾ÆÆÄÄ¡ ¸ðµâ API¸¦ ¼³¸íÇϱâÀ§ÇÑ ¿¹Á¦ Áö½Ã¾î
¹®¹ý:Example
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Experimental
¸ðµâ:mod_example_hooks
+

Example Áö½Ã¾î´Â example ¸ðµâÀÇ + ³»¿ëÇڵ鷯°¡ °£´ÜÇÑ ¹®±¸¸¦ º¸ÀÏÁö ¿©ºÎ¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â + ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¾Ê´Â´Ù. example ³»¿ëÇڵ鷯¸¦ Àû¿ëÇÑ URL¿¡ + Á¢¼ÓÇÏ¸é ¹®¼­ ¿äûÀ» ¼­ºñ½ºÇϱâÀ§ÇØ ¸ðµâ¾È¿¡ ÇÔ¼öµéÀÌ ¾î¶»°Ô + ±×¸®°í ¾î¶² ¼ø¼­·Î ºÒ¸®´ÂÁö ¾Ë ¼ö ÀÖ´Ù. ÀÌ Áö½Ã¾îÀÇ È¿°ú´Â + "Example directive declared here: YES/NO"·Î + È®ÀÎÇÒ ¼ö ÀÖ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html b/docs/manual/mod/mod_expires.html new file mode 100644 index 0000000..98bfc5c --- /dev/null +++ b/docs/manual/mod/mod_expires.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_expires.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_expires.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_expires.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_expires.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_expires.html.en b/docs/manual/mod/mod_expires.html.en new file mode 100644 index 0000000..30a7f7a --- /dev/null +++ b/docs/manual/mod/mod_expires.html.en @@ -0,0 +1,274 @@ + + + + + +mod_expires - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_expires

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Generation of Expires and +Cache-Control HTTP headers according to user-specified +criteria
Status:Extension
Module Identifier:expires_module
Source File:mod_expires.c
+

Summary

+ +

This module controls the setting of the Expires + HTTP header and the max-age directive of the + Cache-Control HTTP header in server responses. The + expiration date can set to be relative to either the time the + source file was last modified, or to the time of the client + access.

+ +

These HTTP headers are an instruction to the client about the + document's validity and persistence. If cached, the document may + be fetched from the cache rather than from the source until this + time has passed. After that, the cache copy is considered + "expired" and invalid, and a new copy must be obtained from the + source.

+ +

To modify Cache-Control directives other than + max-age (see RFC + 2616 section 14.9), you can use the Header directive.

+ +

When the Expires header is already part of the response + generated by the server, for example when generated by a CGI script or + proxied from an origin server, this module does not change or add + an Expires or Cache-Control header.

+
+ +
top
+
+

Alternate Interval Syntax

+

The ExpiresDefault and + ExpiresByType directives + can also be defined in a more readable syntax of the form:

+ +
ExpiresDefault "base  [plus num type] [num type] ..."
+ExpiresByType type/encoding "base  [plus num type] [num type] ..."
+ + +

where base is one of:

+ +
    +
  • access
  • + +
  • now (equivalent to + 'access')
  • + +
  • modification
  • +
+ +

The plus keyword is optional. num + should be an integer value [acceptable to atoi()], + and type is one of:

+ +
    +
  • years
  • +
  • months
  • +
  • weeks
  • +
  • days
  • +
  • hours
  • +
  • minutes
  • +
  • seconds
  • +
+ +

For example, any of the following directives can be used to + make documents expire 1 month after being accessed, by + default:

+ +
ExpiresDefault "access plus 1 month"
+ExpiresDefault "access plus 4 weeks"
+ExpiresDefault "access plus 30 days"
+ + +

The expiry time can be fine-tuned by adding several + 'num type' clauses:

+ +
ExpiresByType text/html "access plus 1 month 15 days 2 hours"
+ExpiresByType image/gif "modification plus 5 hours 3 minutes"
+ + +

Note that if you use a modification date based setting, the + Expires header will not be added to content + that does not come from a file on disk. This is due to the fact + that there is no modification time for such content.

+
+
top
+

ExpiresActive Directive

+ + + + + + + + +
Description:Enables generation of Expires +headers
Syntax:ExpiresActive On|Off
Default:ExpiresActive Off
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Extension
Module:mod_expires
+

This directive enables or disables the generation of the + Expires and Cache-Control headers for + the document realm in question. (That is, if found in an + .htaccess file, for instance, it applies only to + documents generated from that directory.) If set to + Off, the headers will not be generated for any + document in the realm (unless overridden at a lower level, such as + an .htaccess file overriding a server config + file). If set to On, the headers will be added to + served documents according to the criteria defined by the + ExpiresByType and + ExpiresDefault + directives (q.v.).

+ +

Note that this directive does not guarantee that an + Expires or Cache-Control header will be + generated. If the criteria aren't met, no header will be sent, and + the effect will be as though this directive wasn't even + specified.

+ +
+
top
+

ExpiresByType Directive

+ + + + + + + +
Description:Value of the Expires header configured +by MIME type
Syntax:ExpiresByType MIME-type +<code>seconds
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Extension
Module:mod_expires
+

This directive defines the value of the Expires + header and the max-age directive of the + Cache-Control header generated for documents of the + specified type (e.g., text/html). The second + argument sets the number of seconds that will be added to a base + time to construct the expiration date. The Cache-Control: + max-age is calculated by subtracting the request time from + the expiration date and expressing the result in seconds.

+ +

The base time is either the last modification time of the + file, or the time of the client's access to the document. Which + should be used is specified by the + <code> field; M + means that the file's last modification time should be used as + the base time, and A means the client's access + time should be used.

+ +

The difference in effect is subtle. If M is used, + all current copies of the document in all caches will expire at + the same time, which can be good for something like a weekly + notice that's always found at the same URL. If A is + used, the date of expiration is different for each client; this + can be good for image files that don't change very often, + particularly for a set of related documents that all refer to + the same images (i.e., the images will be accessed + repeatedly within a relatively short timespan).

+ +

Example:

# enable expirations
+ExpiresActive On
+# expire GIF images after a month in the client's cache
+ExpiresByType image/gif A2592000
+# HTML documents are good for a week from the
+# time they were changed
+ExpiresByType text/html M604800
+
+ +

Note that this directive only has effect if + ExpiresActive On has been specified. It overrides, + for the specified MIME type only, any expiration date + set by the ExpiresDefault + directive.

+ +

You can also specify the expiration time calculation using + an alternate syntax, described earlier in + this document.

+ +
+
top
+

ExpiresDefault Directive

+ + + + + + + +
Description:Default algorithm for calculating expiration time
Syntax:ExpiresDefault <code>seconds
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Extension
Module:mod_expires
+

This directive sets the default algorithm for calculating the + expiration time for all documents in the affected realm. It can be + overridden on a type-by-type basis by the ExpiresByType directive. See the + description of that directive for details about the syntax of the + argument, and the alternate syntax + description as well.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html.fr.utf8 b/docs/manual/mod/mod_expires.html.fr.utf8 new file mode 100644 index 0000000..49c90f5 --- /dev/null +++ b/docs/manual/mod/mod_expires.html.fr.utf8 @@ -0,0 +1,280 @@ + + + + + +mod_expires - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_expires

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Génération des en-têtes HTTP Expires et +Cache-Control en fonction de critères spécifiés par +l'utilisateur
Statut:Extension
Identificateur de Module:expires_module
Fichier Source:mod_expires.c
+

Sommaire

+ +

Ce module permet de contrôler la définition de l'en-tête HTTP + Expires et la directive max-age de + l'en-tête HTTP Cache-Control dans les réponses du + serveur. La date d'expiration peut être définie soit par rapport à + la date de dernière modification du fichier source, soit + par rapport à l'heure d'accès du client.

+ +

Ces en-têtes HTTP permettent d'informer le client quant à la + validité et à la persistence du document. S'il est présent dans le + cache, et tant qu'il n'est pas arrivé à expiration, le document sera + servi à partir de ce dernier, plutôt qu'à partir du document source. + Après expiration, la copie du document dans le cache sera considérée + comme "expirée" et donc invalide, et une nouvelle copie devra être + obtenue à partir du document source.

+ +

Pour modifier les directives de contrôle du cache autres + que max-age (voir la RFC + 2616 section 14.9), vous pouvez utiliser la directive Header.

+ +

Lorsque l'en-tête Expires est déjà présent dans la + réponse générée par le serveur, par exemple s'il a été créé par un + script CGI ou un serveur original via un serveur mandataire, ce + module n'ajoute aucun en-tête Expires ou + Cache-Control.

+
+ +
top
+
+

Autre syntaxe de définition de +l'intervalle

+

Pour une syntaxe plus lisible, on peut aussi utiliser les + directives ExpiresDefault et ExpiresByType comme suit :

+ +
ExpiresDefault "base  [plus num type] [num type] ..."
+ExpiresByType type/encoding "base  [plus num type] [num type] ..."
+ + +

où base peut être :

+ +
    +
  • access
  • + +
  • now (équivalent à + 'access')
  • + +
  • modification
  • +
+ +

Le mot-clé plus est optionnel. num doit + correspondre à une valeur entière [compatible avec + atoi()], et type peut être choisi parmi :

+ +
    +
  • years
  • +
  • months
  • +
  • weeks
  • +
  • days
  • +
  • hours
  • +
  • minutes
  • +
  • seconds
  • +
+ +

Par exemple, pour faire expirer par défaut les documents 1 mois + après leur accès, on peut utiliser une des directives suivantes :

+
ExpiresDefault "access plus 1 month"
+ExpiresDefault "access plus 4 weeks"
+ExpiresDefault "access plus 30 days"
+ + + +

La date d'expiration peut être définie plus précisément en + ajoutant plusieurs clauses 'num type' :

+ +
ExpiresByType text/html "access plus 1 month 15 days 2 hours"
+ExpiresByType image/gif "modification plus 5 hours 3 minutes"
+ + +

Notez que si vous utilisez une configuration basée sur la date de + modification, l'en-tête Expires ne sera pas ajouté à un contenu qui + ne provient pas directement d'un fichier sur disque ; et ceci tout + simplement parce que ce type de contenu ne possède pas de date de + modification.

+
+
top
+

Directive ExpiresActive

+ + + + + + + + +
Description:Active la génération d'en-têtes +Expires
Syntaxe:ExpiresActive On|Off
Défaut:ExpiresActive Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Extension
Module:mod_expires
+

Cette directive permet d'activer ou de désactiver la génération + des en-têtes Expires et Cache-Control pour + les documents concernés ; en d'autres termes, si cette directive se + trouve dans un fichier .htaccess, par exemple, elle ne + s'applique qu'aux documents générés à partir du répertoire + considéré. Si elle est définie à Off, les en-têtes ne + seront générés pour aucun document du domaine considéré (sauf + surcharge de la configuration à un niveau inférieur, comme un + fichier .htaccess qui l'emporterait sur le fichier de + configuration du serveur). Si elle est définie à On, + les en-têtes seront ajoutés aux documents servis en fonction des + critères définis par les directives ExpiresByType et ExpiresDefault (voir plus + loin).

+ +

Notez que cette directive ne permet pas de garantir qu'un en-tête + Expires ou Cache-Control sera généré. Si + les critères ne sont pas respectés, aucun en-tête ne sera généré, et + la directive produira le même effet que si elle n'avait pas été + définie.

+ +
+
top
+

Directive ExpiresByType

+ + + + + + + +
Description:Définition de la valeur de l'en-tête Expires +en fonction du type MIME
Syntaxe:ExpiresByType type MIME +<code>secondes
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Extension
Module:mod_expires
+

Cette directive permet de définir la valeur de l'en-tête + Expires et de la directive max-age de + l'en-tête Cache-Control générés pour les documents du + type MIME spécifié (par exemple, text/html). Le second + argument définit le nombre de secondes qui seront ajoutées à un + temps de base pour calculer la date d'expiration. + Cache-Control: max-age se calcule en soustrayant la + date de la requête de la date d'expiration et s'exprime en + secondes.

+ +

Le champ <code> permet de spécifier + quel temps doit être utilisé comme temps de base; M + signifie que c'est la date + de dernière modification du fichier qui doit être utilisée comme + temps de base, alors que A signifie que c'est le moment + où le client a accédé au document qui doit être utilisé comme temps + de base.

+ +

La différence d'effet est subtile. Si on utilise M, + toutes les copies existantes du document dans tous les caches + expireront au même moment, ce qui peut convenir par exemple pour une + notice hebdomadaire qui correspond toujours à la même URL. Si on + utilise A, la date d'expiration sera différente pour + chaque client, ce qui peut convenir pour des fichiers d'images qui + ne changent pas très souvent, et en particulier pour un ensemble de + documents en relation qui se réfèrent tous aux mêmes images (ces + images sont alors accédées de manière répétitive dans un intervalle + de temps assez court).

+ +

Exemple :

# active la génération des en-têtes Expires
+ExpiresActive On
+# les images GIF expirent au bout d'un mois dans le cache du
+# client
+ExpiresByType image/gif A2592000
+# les documents HTML restent valables une semaine après leur date
+# de dernière modification
+ExpiresByType text/html M604800
+
+ +

Notez que cette directive ne produit d'effet que si + ExpiresActive On a été spécifié. Elle l'emporte, mais + seulement pour le type MIME spécifié, sur toute date + d'expiration définie par la directive ExpiresDefault.

+ +

Vous pouvez aussi définir le mode de calcul de la date + d'expiration en utilisant une syntaxe + alternative, comme décrit plus haut dans ce document.

+ +
+
top
+

Directive ExpiresDefault

+ + + + + + + +
Description:Mode de calcul par défaut de la date +d'expiration
Syntaxe:ExpiresDefault <code>secondes
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Extension
Module:mod_expires
+

Cette directive permet de définir le mode de calcul par défaut de + la date d'expiration pour tous les documents du domaine considéré. + Elle peut être annulée pour certains types de documents par la + directive ExpiresByType. Voir la description + de cette dernière directive pour plus de détails à propos de la + syntaxe de l'argument, ainsi que la description de la syntaxe alternative.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html.ja.utf8 b/docs/manual/mod/mod_expires.html.ja.utf8 new file mode 100644 index 0000000..e928d9e --- /dev/null +++ b/docs/manual/mod/mod_expires.html.ja.utf8 @@ -0,0 +1,267 @@ + + + + + +mod_expires - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_expires

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:ユーザã®æŒ‡å®šã—ãŸåŸºæº–ã«åŸºã¥ã„㟠Expires 㨠+Cache-Control HTTP ヘッダã®ç”Ÿæˆ
ステータス:Extension
モジュール識別å­:expires_module
ソースファイル:mod_expires.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚µãƒ¼ãƒå¿œç­”ã® Expires HTTP ヘッダ + 㨠Cache-Control ヘッダ㮠max-age ディレクティブ㮠+ 設定を制御ã—ã¾ã™ã€‚å…ƒã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒä½œæˆã•ã‚ŒãŸæ™‚刻ã¾ãŸã¯ + クライアントã®ã‚¢ã‚¯ã‚»ã‚¹æ™‚刻ã®ã©ã¡ã‚‰ã‹ã«åŸºã¥ã„ã¦æœŸé™åˆ‡ã‚Œæ—¥ã‚’ + 設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã“れらã®ãƒ˜ãƒƒãƒ€ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«æ–‡æ›¸ã® + 有効性ã¨ç¶™ç¶šæ€§ã‚’指示ã—ã¾ã™ã€‚文書ãŒã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚ŒãŸå ´åˆã«ã¯ã€ + 指定時刻ã«é”ã™ã‚‹ã¾ã§ã¯ã€å…ƒã®å ´æ‰€ã‹ã‚‰å–å¾—ã™ã‚‹ä»£ã‚ã‚Šã« + キャッシュã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ãã®å¾Œã¯ã€ + キャッシュã«ã‚るコピーã¯æœŸé™åˆ‡ã‚Œ (expired) ã§ç„¡åŠ¹ã§ã‚ã‚‹ã¨ã•ã‚Œã€ + å…ƒã®å ´æ‰€ã‹ã‚‰æ–°ã—ã„ã‚‚ã®ã‚’å–å¾—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

max-age 以外 (RFC + 2616 section 14.9 å‚ç…§) ã® Cache-Control ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + æ“作ã™ã‚‹ã«ã¯ Header ディレクティブを + 使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+
Support Apache!

トピック

+

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+
top
+
+

代替期間指定構文

+ +

ExpiresDefault ディレクティブ㨠+ ExpiresByType ディレクティブ㯠+ 以下ã®ã‚ˆã‚Šèª­ã¿æ˜“ã„構文を使ã£ã¦å®šç¾©ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +

+ ExpiresDefault "<base> [plus] {<num> + <type>}*"
+ ExpiresByType type/encoding "<base> [plus] + {<num> <type>}*" +

+ +

<base> ã¯ä»¥ä¸‹ã®ã©ã‚Œã‹ã§ã™:

+ +
    +
  • access
  • + +
  • now ('access' ã¨ç­‰ä¾¡)
  • + +
  • modification
  • +
+ +

plus キーワードã¯çœç•¥å¯èƒ½ã§ã™ã€‚<num> + 㯠(atoi() ãŒå—ã‘付ã‘ã‚‹) 整数値〠+ <type> ã¯ä»¥ä¸‹ã®ã©ã‚Œã‹ã§ã™:

+ +
    +
  • years
  • +
  • months
  • +
  • weeks
  • +
  • days
  • +
  • hours
  • +
  • minutes
  • +
  • seconds
  • +
+ +

例ãˆã°ã€ä»¥ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã©ã‚Œã‚‚デフォルトã§æ–‡æ›¸ãŒã‚¢ã‚¯ã‚»ã‚¹ã® 1 ヶ月後㫠+ 期é™ãŒåˆ‡ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ä½¿ãˆã¾ã™:

+ +

+ ExpiresDefault "access plus 1 month"
+ ExpiresDefault "access plus 4 weeks"
+ ExpiresDefault "access plus 30 days" +

+ +

期é™åˆ‡ã‚Œæ™‚刻ã¯ã„ãã¤ã‹ + '<num> <type>' 節を追加ã™ã‚‹ã“ã¨ã§ã‚ˆã‚Šç´°ã‹ã + 制御ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +

+ ExpiresByType text/html "access plus 1 month 15 + days 2 hours"
+ ExpiresByType image/gif "modification plus 5 hours 3 + minutes" +

+ +

修正時刻ã«åŸºã¥ã„ãŸè¨­å®šã‚’使用ã—ã¦ã„ã‚‹å ´åˆã€Expires ヘッダ㯠+ ディスクã®ãƒ•ã‚¡ã‚¤ãƒ«ä»¥å¤–ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«ã¯è¿½åŠ ã•ã‚Œãªã„ã“ã¨ã«æ³¨æ„ + ã—ã¦ãã ã•ã„。ãã®ã‚ˆã†ãªã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«ã¯ä¿®æ­£æ™‚刻ã¯å­˜åœ¨ã—ãªã„ã‹ã‚‰ã§ã™ã€‚

+
+
top
+

ExpiresActive ディレクティブ

+ + + + + + + +
説明:Expires ヘッダã®ç”Ÿæˆã‚’有効ã«ã™ã‚‹
構文:ExpiresActive On|Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Extension
モジュール:mod_expires
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¯¾å¿œã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®é ˜åŸŸã§ + Expires 㨠Cache-Controlヘッダを + 有効ã«ã™ã‚‹ã‹ç„¡åŠ¹ã«ã™ã‚‹ã‹ã‚’決ã‚ã¾ã™ã€‚ + (例ãˆã°ã€.htaccess ファイルã§ã¯ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® + 文書ã®ã¿ã«é©ç”¨ã•ã‚Œã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚) Off ã« + 設定ã•ã‚ŒãŸå ´åˆã¯å¯¾å¿œé ˜åŸŸã§ãれらã®ãƒ˜ãƒƒãƒ€ã¯ + 生æˆã•ã‚Œã¾ã›ã‚“ (.htaccess ãŒã‚µãƒ¼ãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã®è¨­å®šã‚’ + 上書ãã™ã‚‹ã€ã¨ã„ã†ã‚ˆã†ãªä¸‹ä½ãƒ¬ãƒ™ãƒ«ã§ã®ä¸Šæ›¸ããŒã•ã‚Œã¦ã„ãªã‘ã‚Œã°)。 + On ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€ãƒ˜ãƒƒãƒ€ã¯ ExpiresByType ディレクティブ㨠+ ExpiresDefault ディレクティブ + ã®åŸºæº–ã«å¾“ã£ã¦æ–‡æ›¸ã«ãƒ˜ãƒƒãƒ€ã‚’追加ã—ã¾ã™ (å„ディレクティブå‚ç…§)。

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Expires 㨠+ Cache-Control ヘッダã®å­˜åœ¨ã‚’ + ä¿è¨¼ã™ã‚‹ã‚ã‘ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。基準ãŒæº€ãŸã•ã‚Œã¦ + ã„ãªã„å ´åˆã¯ãƒ˜ãƒƒãƒ€ã¯è¿½åŠ ã•ã‚Œãšã€çµæžœã¨ã—ã¦ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㌠+ 指定ã•ã‚Œã¦ã„ãªã‹ã£ãŸã‹ã®ã‚ˆã†ã«ã•ãˆè¦‹ãˆã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +
+
top
+

ExpiresByType ディレクティブ

+ + + + + + + +
説明:MIME タイプã«ã‚ˆã£ã¦è¨­å®šã•ã‚Œã‚‹ Expires ヘッダã®å€¤
構文:ExpiresByType MIME-type +<code>seconds
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Extension
モジュール:mod_expires
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯æŒ‡å®šã•ã‚ŒãŸã‚¿ã‚¤ãƒ—ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ + (例ãˆã° text/html) + ã«å¯¾ã—ã¦ç”Ÿæˆã•ã‚Œã‚‹ Expires ヘッダ㨠Cache-Control + ヘッダ㮠max-age ディレクティブã®å€¤ã‚’定義ã—ã¾ã™ã€‚ + 二ã¤ç›®ã®å¼•æ•°ã¯æœŸé™åˆ‡ã‚Œã®æ—¥æ™‚を生æˆã™ã‚‹ãŸã‚ã®åŸºæº–時刻ã«è¿½åŠ ã•ã‚Œã‚‹ + 秒数を設定ã—ã¾ã™ã€‚Cache-Control: + max-age ã¯æœŸé™åˆ‡ã‚Œã®æ™‚刻ã‹ã‚‰ãƒªã‚¯ã‚¨ã‚¹ãƒˆæ™‚刻を引ã„ãŸã‚‚ã®ã‚’秒㧠+ 表ã™ã“ã¨ã§ç”Ÿæˆã•ã‚Œã¾ã™ã€‚

+ +

基準時刻ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€çµ‚修正時刻ã‹ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¸ã® + アクセス時刻ã§ã™ã€‚ã©ã¡ã‚‰ã‚’使ã†ã¹ãã‹ã¯ <code> + ã«ã‚ˆã£ã¦æŒ‡å®šã—ã¾ã™ã€‚M ã¯åŸºæº–時刻ã¨ã—㦠+ ファイルã®æœ€çµ‚修正時刻をã¨ã„ã†æ„味ã§ã€A ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã® + アクセス時刻を使ã†ã¨ã„ã†æ„味ã«ãªã‚Šã¾ã™ã€‚

+ +

効果ã«ã¯å¾®å¦™ãªé•ã„ãŒã‚ã‚Šã¾ã™ã€‚M ãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã¯ã€ + ã™ã¹ã¦ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã«ã‚ã‚‹ç¾åœ¨ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¯åŒæ™‚ã«æœŸé™ãŒ + 切れã¾ã™ã€‚ã“ã‚Œã¯åŒã˜ URL ã«æ¯Žé€±å¸¸ã«ç½®ã‹ã‚Œã‚‹å ±ã›ã®ã‚ˆã†ãªã‚‚ã®ã«ã¯ + éžå¸¸ã«æœ‰åŠ¹ã§ã™ã€‚A ãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã¯ã€æœŸé™åˆ‡ã‚Œã® + 時間ã¯å„クライアントよã£ã¦ç•°ãªã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã‚ã¾ã‚Šå¤‰æ›´ã•ã‚Œãªã„ + ç”»åƒãƒ•ã‚¡ã‚¤ãƒ«ãªã©ã€ç‰¹ã«é–¢é€£ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆç¾¤ãŒã™ã¹ã¦åŒã˜ç”»åƒã‚’ + å‚ç…§ã™ã‚‹ã¨ã (ã™ãªã‚ã¡ç”»åƒãŒæ¯”較的短ã„期間内ã«ç¹°ã‚Šè¿”ã— + アクセスã•ã‚Œã‚‹ã¨ã) ã«æœ‰åŠ¹ã§ã™ã€‚

+ +

例:

+ # enable expirations
+ ExpiresActive On
+ # expire GIF images after a month in the client's cache
+ ExpiresByType image/gif A2592000
+ # HTML documents are good for a week from the
+ # time they were changed
+ ExpiresByType text/html M604800 +

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠ExpiresActive On ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ + ã¨ãã®ã¿æœ‰åŠ¹ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã“ã‚Œã¯ã€ + 指定ã•ã‚ŒãŸ MIME タイプã«å¯¾ã—ã¦ã®ã¿ ExpiresDefault ディレクティブ㧠+ 設定ã•ã‚ŒãŸæœŸé™åˆ‡ã‚ŒæœŸæ—¥ã‚’上書ãã—ã¾ã™ã€‚

+ +

ã“ã®æ–‡æ›¸ã®å‰ã®æ–¹ã§èª¬æ˜Žã•ã‚Œã¦ã„る代替構文を + 使ã£ã¦æœŸé™åˆ‡ã‚ŒæœŸæ—¥ã®è¨ˆç®—方法を指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +
+
top
+

ExpiresDefault ディレクティブ

+ + + + + + + +
説明:期é™åˆ‡ã‚ŒæœŸæ—¥ã‚’計算ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 
構文:ExpiresDefault <code>seconds
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Indexes
ステータス:Extension
モジュール:mod_expires
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¯¾å¿œã™ã‚‹ç¯„囲ã®ã™ã¹ã¦ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«å¯¾ã—㦠+ デフォルトã®æœŸé™åˆ‡ã‚ŒæœŸæ—¥ã®è¨ˆç®—アルゴリズムを設定ã—ã¾ã™ã€‚ExpiresByType ディレクティブã«ã‚ˆã£ã¦ + タイプ毎ã«ä¸Šæ›¸ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚引数ã®æ§‹æ–‡ã¯ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã® + 説明をå‚ç…§ã—ã¦ãã ã•ã„。ã¾ãŸã€ä»£æ›¿æ§‹æ–‡ã‚‚ + å‚ç…§ã—ã¦ãã ã•ã„。

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html.ko.euc-kr b/docs/manual/mod/mod_expires.html.ko.euc-kr new file mode 100644 index 0000000..0ad03a4 --- /dev/null +++ b/docs/manual/mod/mod_expires.html.ko.euc-kr @@ -0,0 +1,257 @@ + + + + + +mod_expires - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_expires

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:»ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ ±âÁØ¿¡ µû¶ó Expires¿Í +Cache-Control HTTP Çì´õ¸¦ »ý¼ºÇÑ´Ù
»óÅÂ:Extension
¸ðµâ¸í:expires_module
¼Ò½ºÆÄÀÏ:mod_expires.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ¼­¹ö ÀÀ´äÀÇ Expires HTTP Çì´õ¿Í + Cache-Control HTTP Çì´õÀÇ max-age + Áö½Ã¾î ¼³Á¤À» Á¶ÀýÇÑ´Ù. ¸¸±âÀÏÀ» ÆÄÀÏÀÌ ¸¶Á÷¸· ¼öÁ¤µÈ ½Ã°£ + ȤÀº Ŭ¶óÀ̾ðÆ®°¡ Á¢¼ÓÇÑ ½Ã°£¿¡ »ó´ëÀûÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

+ +

ÀÌ HTTP Çì´õµéÀº Ŭ¶óÀ̾ðÆ®¿¡°Ô ¹®¼­ÀÇ + À¯È¿¼º°ú Áö¼Ó¼ºÀ» ¾Ë·ÁÁØ´Ù. ÀÌ ½Ã°£ÀÌ ¾ÆÁ÷ Áö³ªÁö¾Ê¾Ò´Ù¸é, + ¹®¼­¸¦ ij½¬¿¡¼­ °¡Á®¿Íµµ µÈ´Ù. ¸¸±âÀÏÀÌ Áö³µ´Ù¸é ij½¬µÈ + °ÍÀ» "¸¸·áµÇ°í" À¯È¿ÇÏÁö ¾Ê´Ù°í °£ÁÖÇÏ¿©, ¼Ò½º¿¡¼­ ¹®¼­¸¦ + »õ·Î ¾ò¾î¿Í¾ß ÇÑ´Ù.

+ +

Header Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© max-age ¿ÜÀÇ ´Ù¸¥ + Cache-Control Áö½Ã¾î(RFC + 2616, 14.9 Àý Âü°í)¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +
+ +
top
+
+

´Ù¸¥ ³»ºÎ ¹®¹ý

+

ExpiresDefault¿Í + ExpiresByType + Áö½Ã¾î¸¦ ´õ Àбâ ÁÁÀº Çü½ÄÀ¸·Î ±â¼úÇÒ ¼ö ÀÖ´Ù:

+ +

+ ExpiresDefault "<base> [plus] {<num> + <type>}*"
+ ExpiresByType type/encoding "<base> [plus] + {<num> <type>}*" +

+ +

<base>´Â ´ÙÀ½Áß ÇϳªÀÌ´Ù:

+ +
    +
  • access
  • + +
  • now ('access'¿Í °°À½)
  • + +
  • modification
  • +
+ +

plus Å°¿öµå´Â ¾ø¾îµµ µÈ´Ù. <num>Àº + [atoi()¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â] Á¤¼ö°ªÀÌ´Ù. + <type>Àº ´ÙÀ½Áß ÇϳªÀÌ´Ù:

+ +
    +
  • years
  • +
  • months
  • +
  • weeks
  • +
  • days
  • +
  • hours
  • +
  • minutes
  • +
  • seconds
  • +
+ +

¿¹¸¦ µé¾î, ´ÙÀ½ ¸ðµÎ´Â ¹®¼­°¡ ±âº»ÀûÀ¸·Î Á¢¼ÓµÈÁö 1´ÞÈÄ¿¡ + ¸¸±âµÈ´Ù°í ¼³Á¤ÇÑ´Ù:

+ +

+ ExpiresDefault "access plus 1 month"
+ ExpiresDefault "access plus 4 weeks"
+ ExpiresDefault "access plus 30 days" +

+ +

'<num> <type>' ±¸¹®À» ¹Ýº¹Çؼ­ »ç¿ëÇÏ¿© + ¸¸±â½Ã°£À» ÀÚ¼¼È÷ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù:

+ +

+ ExpiresByType text/html "access plus 1 month 15 + days 2 hours"
+ ExpiresByType image/gif "modification plus 5 hours 3 + minutes" +

+ +

¸¸¾à ¼öÁ¤½Ã°£(modification)À» ±âÁØÀ¸·Î ¸¸±â½Ã°£À» ¼³Á¤ÇÏ´Â + °æ¿ì ³»¿ëÀ» µð½ºÅ©¿¡ ÀÖ´Â ÆÄÀÏ¿¡¼­ °¡Á®¿ÀÁö ¾Ê´Â´Ù¸é Expires + Çì´õ¸¦ ºÙÀÌÁö ¾Ê´Â´Ù. ÀÌ °æ¿ì ³»¿ë¿¡ ¼öÁ¤½Ã°£ÀÌ + ¾ø±â ¶§¹®ÀÌ´Ù.

+
+
top
+

ExpiresActive Áö½Ã¾î

+ + + + + + + +
¼³¸í:Expires Çì´õ¸¦ »ý¼ºÇÑ´Ù
¹®¹ý:ExpiresActive On|Off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Extension
¸ðµâ:mod_expires
+

ÀÌ Áö½Ã¾î´Â ÇØ´ç ¿µ¿ª¿¡ ´ëÇØ (Áï, .htaccess + ÆÄÀÏ¿¡¼­ »ç¿ëÇÑ´Ù¸é ±× µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Â ¹®¼­µé¸¸ ÇØ´çµÈ´Ù.) + Expires¿Í Cache-Control Çì´õ¸¦ + »ý¼ºÇÒÁö À¯¹«¸¦ °áÁ¤ÇÑ´Ù. (.htaccess ÆÄÀÏ µîÀ¸·Î + ´õ ÇÏÀ§ ´Ü°è¿¡¼­ ¼­¹ö¼³Á¤À» º¯°æÇÏÁö¾Ê´Â ÇÑ) + OffÀ̸é ÇØ´ç ¿µ¿ª¿¡ ÀÖ´Â ¹®¼­¿¡ À̵é Çì´õ¸¦ + »ý¼ºÇÏÁö ¾Ê´Â´Ù. OnÀ̸é ExpiresByType°ú ExpiresDefault Áö½Ã¾î·Î + (ÇØ´ç Ç׸ñÀ» Âü°íÇ϶ó) ÁöÁ¤ÇÑ ±ÔÄ¢¿¡ µû¶ó ¼­ºñ½ºÇÏ·Á´Â + ¹®¼­¿¡ ÀÌ Çì´õµéÀ» »ý¼ºÇÑ´Ù.

+ +

ÀÌ Áö½Ã¾î°¡ Expires³ª Cache-Control + Çì´õ¸¦ º¸ÀåÇÏÁö´Â ¾Ê´Â´Ù. ±ÔÄ¢¿¡ ÇØ´çÇÏÁö ¾Ê´Ù¸é ¸¶Ä¡ ÀÌ + Áö½Ã¾î°¡ ¾ø´Â °Íó·³ Çì´õ¸¦ ¸¸µéÁö ¾Ê´Â´Ù.

+ +
+
top
+

ExpiresByType Áö½Ã¾î

+ + + + + + + +
¼³¸í:MIME typeÀ¸·Î Expires Çì´õ°ªÀ» ¼³Á¤ÇÑ´Ù
¹®¹ý:ExpiresByType MIME-type +<code>seconds
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Extension
¸ðµâ:mod_expires
+

ÀÌ Áö½Ã¾î´Â ƯÁ¤ Á¾·ùÀÇ (¿¡¸¦ µé¾î, + text/html) ¹®¼­¿¡ ´ëÇÑ Expires + Çì´õ°ª°ú Cache-Control Çì´õÀÇ max-age + Áö½Ã¾î°ªÀ» Á¤ÀÇÇÑ´Ù. µÎ¹ø° ¾Æ±Ô¸ÕÆ®´Â ¸¸±â½Ã°£À» °áÁ¤ÇÒ¶§ + ±âÁØ ½Ã°£¿¡ ´õÇÒ ÃÊ´ÜÀ§ °ªÀ» ÁöÁ¤ÇÑ´Ù. Cache-Control: + max-age´Â ¸¸±â½Ã°£¿¡¼­ ¿äûÇÑ ½Ã°£À» »©¼­ °è»êÇÏ°í, + °á°ú´Â ÃÊ´ÜÀ§·Î Ç¥½ÃÇÑ´Ù.

+ +

±âÁØ ½Ã°£Àº ÆÄÀÏÀÇ ÃÖ±Ù ¼öÁ¤½Ã°£ ȤÀº Ŭ¶óÀ̾ðÆ®°¡ ¹®¼­¿¡ + Á¢±ÙÇÑ ½Ã°£ÀÌ´Ù. À̶² °ÍÀ» »ç¿ëÇÒÁö´Â + <code> Çʵå·Î °áÁ¤ÇØ¾ß ÇÑ´Ù. + MÀº ±âÁØ ½Ã°£À¸·Î ÆÄÀÏÀÇ ÃÖ±Ù ¼öÁ¤½Ã°£À» + »ç¿ëÇÏ°í, A´Â Ŭ¶óÀ̾ðÆ®ÀÇ Á¢±Ù ½Ã°£À» »ç¿ëÇÑ´Ù.

+ +

Â÷ÀÌ´Â ¹Ì¹¦ÇÏ´Ù. MÀ» »ç¿ëÇϸé ij½¬¿¡ ÀÖ´Â + ¸ðµç º¹»çº»ÀÌ °°Àº ½Ã°£¿¡ ¸¸·áµÈ´Ù. ±×·¡¼­ Ç×»ó °°Àº URL·Î + ã¾Æº¼ ¼ö ÀÖ´Â ÁÖ°£ÀÏÁ¤ °°Àº ¿ëµµ¿¡ ÁÁ´Ù. A¸¦ + »ç¿ëÇÏ¸é º¹»çº»ÀÇ ¸¸±â½Ã°£ÀÌ °¢°¢ ´Ù¸£´Ù. ÀÌ´Â ÀÚÁÖ ¼öÁ¤µÇÁö¾Ê´Â + ±×¸²ÆÄÀÏ¿¡, ƯÈ÷ ¿©·¯ ¹®¼­¿¡¼­ °°Àº ±×¸²À» ÂüÁ¶ÇÒ¶§ (¿¹¸¦ + µé¾î, À̹ÌÁö´Â »ó´ëÀûÀ¸·Î ªÀº ±â°£µ¿¾È ¹Ýº¹Çؼ­ Á¢±ÙµÈ´Ù), + À¯¿ëÇÏ´Ù.

+ +

¿¹Á¦:

+ # ¸¸±âÇì´õ¸¦ »ç¿ëÇÑ´Ù
+ ExpiresActive On
+ # Ŭ¶óÀ̾ðÆ® ij½¬ÀÇ GIF ±×¸²Àº ÇÑ ´ÞÈÄ¿¡ ¸¸±âÇÑ´Ù
+ ExpiresByType image/gif A2592000
+ # HTML ¹®¼­´Â º¯°æÈÄ ÀÏÁÖÀÏ°£ À¯È¿ÇÏ´Ù + ExpiresByType text/html M604800 +

+ +

ÀÌ Áö½Ã¾î´Â ExpiresActive OnÀ» »ç¿ëÇÒ¶§¸¸ + À¯È¿ÇÔÀ» ÁÖÀÇÇ϶ó. ExpiresDefault Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© ƯÁ¤ MIME type¿¡ ´ëÇؼ­¸¸ ¸¸±â½Ã°£À» + ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

+ +

¾Õ¿¡¼­ ¼³¸íÇÑ ´Ù¸¥ ¹®¹ýÀ» »ç¿ëÇÏ¿© + ¸¸±â½Ã°£À» °è»êÇÒ ¼öµµ ÀÖ´Ù.

+ +
+
top
+

ExpiresDefault Áö½Ã¾î

+ + + + + + + +
¼³¸í:¸¸±â½Ã°£À» °è»êÇÏ´Â ±âº» ¾Ë°í¸®Áò
¹®¹ý:ExpiresDefault <code>seconds
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Extension
¸ðµâ:mod_expires
+

ÀÌ Áö½Ã¾î´Â ÇØ´ç ¿µ¿ª¿¡ ÀÖ´Â ¸ðµç ¹®¼­ÀÇ ¸¸±â½Ã°£À» + °è»êÇÏ´Â ±âº» ¾Ë°í¸®ÁòÀ» ÁöÁ¤ÇÑ´Ù. ExpiresByType Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© Á¾·ùº°·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¾Æ±Ô¸ÕÆ® ¹®¹ý¿¡ ´ëÇÑ + ÀÚ¼¼ÇÑ ¼³¸íÀº ±× Áö½Ã¾î¿Í ´Ù¸¥ ¹®¹ýÀ» + Âü°íÇ϶ó.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html b/docs/manual/mod/mod_ext_filter.html new file mode 100644 index 0000000..f96caf2 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ext_filter.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ext_filter.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_ext_filter.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_ext_filter.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_ext_filter.html.en b/docs/manual/mod/mod_ext_filter.html.en new file mode 100644 index 0000000..3ec3de5 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.en @@ -0,0 +1,362 @@ + + + + + +mod_ext_filter - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_ext_filter

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Pass the response body through an external program before +delivery to the client
Status:Extension
Module Identifier:ext_filter_module
Source File:mod_ext_filter.c
+

Summary

+ +

mod_ext_filter presents a simple and familiar + programming model for filters. With + this module, a program which reads from stdin and writes to stdout + (i.e., a Unix-style filter command) can be a filter for + Apache. This filtering mechanism is much slower than using a + filter which is specially written for the Apache API and runs + inside of the Apache server process, but it does have the + following benefits:

+ +
    +
  • the programming model is much simpler
  • + +
  • any programming/scripting language can be used, provided + that it allows the program to read from standard input and + write to standard output
  • + +
  • existing programs can be used unmodified as Apache + filters
  • +
+ +

Even when the performance characteristics are not suitable + for production use, mod_ext_filter can be used as + a prototype environment for filters.

+ +
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Examples

+ +

Generating HTML from some other type of response

+
# mod_ext_filter directive to define a filter
+# to HTML-ize text/c files using the external
+# program /usr/bin/enscript, with the type of
+# the result set to text/html
+ExtFilterDefine c-to-html mode=output \
+    intype=text/c outtype=text/html \
+    cmd="/usr/bin/enscript --color -w html -Ec -o -"
+
+<Directory "/export/home/trawick/apacheinst/htdocs/c">
+    # core directive to cause the new filter to
+    # be run on output
+    SetOutputFilter c-to-html
+    
+    # mod_mime directive to set the type of .c
+    # files to text/c
+    AddType text/c .c
+</Directory>
+ + + +

Implementing a content encoding filter

+

Note: this gzip example is just for the purposes of illustration. + Please refer to mod_deflate for a practical + implementation.

+ +
# mod_ext_filter directive to define the external filter
+ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+<Location "/gzipped">
+    
+    # core directive to cause the gzip filter to be
+    # run on output
+    SetOutputFilter gzip
+    
+    # mod_headers directive to add
+    # "Content-Encoding: gzip" header field
+    Header set Content-Encoding gzip
+</Location>
+ + + +

Slowing down the server

+
# mod_ext_filter directive to define a filter
+# which runs everything through cat; cat doesn't
+# modify anything; it just introduces extra pathlength
+# and consumes more resources
+ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+    preservescontentlength
+
+<Location "/">
+    # core directive to cause the slowdown filter to
+    # be run several times on output
+    #
+    SetOutputFilter slowdown;slowdown;slowdown
+</Location>
+ + + +

Using sed to replace text in the response

+
# mod_ext_filter directive to define a filter which
+# replaces text in the response
+#
+ExtFilterDefine fixtext mode=output intype=text/html \
+    cmd="/bin/sed s/verdana/arial/g"
+
+<Location "/">
+    # core directive to cause the fixtext filter to
+    # be run on output
+    SetOutputFilter fixtext
+</Location>
+ + +
+

You can do the same thing using mod_substitute +without invoking an external process.

+
+ + +

Tracing another filter

+
# Trace the data read and written by mod_deflate
+# for a particular client (IP 192.168.1.31)
+# experiencing compression problems.
+# This filter will trace what goes into mod_deflate.
+ExtFilterDefine tracebefore \
+    cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+    EnableEnv=trace_this_client
+
+# This filter will trace what goes after mod_deflate.
+# Note that without the ftype parameter, the default
+# filter type of AP_FTYPE_RESOURCE would cause the
+# filter to be placed *before* mod_deflate in the filter
+# chain.  Giving it a numeric value slightly higher than
+# AP_FTYPE_CONTENT_SET will ensure that it is placed
+# after mod_deflate.
+ExtFilterDefine traceafter \
+    cmd="/bin/tracefilter.pl /tmp/traceafter" \
+    EnableEnv=trace_this_client ftype=21
+
+<Directory "/usr/local/docs">
+    SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+    SetOutputFilter tracebefore;deflate;traceafter
+</Directory>
+ + +

Here is the filter which traces the data:

#!/usr/local/bin/perl -w
+use strict;
+
+open(SAVE, ">$ARGV[0]")
+    or die "can't open $ARGV[0]: $?";
+
+while (<STDIN>) {
+    print SAVE $_;
+    print $_;
+}
+
+close(SAVE);
+
+ +
+
top
+

ExtFilterDefine Directive

+ + + + + + +
Description:Define an external filter
Syntax:ExtFilterDefine filtername parameters
Context:server config
Status:Extension
Module:mod_ext_filter
+

The ExtFilterDefine directive defines the + characteristics of an external filter, including the program to + run and its arguments.

+ +

filtername specifies the name of the filter being + defined. This name can then be used in SetOutputFilter + directives. It must be unique among all registered filters. + At the present time, no error is reported by the + register-filter API, so a problem with duplicate names isn't + reported to the user.

+ +

Subsequent parameters can appear in any order and define the + external command to run and certain other characteristics. The + only required parameter is cmd=. These parameters + are:

+ +
+
cmd=cmdline
+ +
The cmd= keyword allows you to specify the + external command to run. If there are arguments after the + program name, the command line should be surrounded in + quotation marks (e.g., cmd="/bin/mypgm + arg1 arg2".) Normal shell quoting is + not necessary since the program is run directly, bypassing the shell. + Program arguments are blank-delimited. A backslash can be used to + escape blanks which should be part of a program argument. Any + backslashes which are part of the argument must be escaped with + backslash themselves. In addition to the standard CGI environment + variables, DOCUMENT_URI, DOCUMENT_PATH_INFO, and + QUERY_STRING_UNESCAPED will also be set for the program.
+ +
mode=mode
+ +
Use mode=output (the default) for filters which + process the response. Use mode=input for filters + which process the request. mode=input is available + in Apache 2.1 and later.
+ +
intype=imt
+ +
This parameter specifies the internet media type (i.e., + MIME type) of documents which should be filtered. By default, + all documents are filtered. If intype= is + specified, the filter will be disabled for documents of other + types.
+ +
outtype=imt
+ +
This parameter specifies the internet media type (i.e., + MIME type) of filtered documents. It is useful when the + filter changes the internet media type as part of the + filtering operation. By default, the internet media type is + unchanged.
+ +
PreservesContentLength
+ +
The PreservesContentLength keyword specifies + that the filter preserves the content length. This is not the + default, as most filters change the content length. In the + event that the filter doesn't modify the length, this keyword + should be specified.
+ +
ftype=filtertype
+ +
This parameter specifies the numeric value for filter type + that the filter should be registered as. The default value, + AP_FTYPE_RESOURCE, is sufficient in most cases. If the filter + needs to operate at a different point in the filter chain than + resource filters, then this parameter will be necessary. See + the AP_FTYPE_foo definitions in util_filter.h for appropriate + values.
+ +
disableenv=env
+ +
This parameter specifies the name of an environment variable + which, if set, will disable the filter.
+ +
enableenv=env
+ +
This parameter specifies the name of an environment variable + which must be set, or the filter will be disabled.
+
+ +
+
top
+

ExtFilterOptions Directive

+ + + + + + + +
Description:Configure mod_ext_filter options
Syntax:ExtFilterOptions option [option] ...
Default:ExtFilterOptions NoLogStderr
Context:directory
Status:Extension
Module:mod_ext_filter
+

The ExtFilterOptions directive specifies + special processing options for mod_ext_filter. + Option can be one of

+ +
+
LogStderr | NoLogStderr
+ +
The LogStderr keyword specifies that + messages written to standard error by the external filter + program will be saved in the Apache error log. + NoLogStderr disables this feature.
+ +
Onfail=[abort|remove]
+
Determines how to proceed if the external filter program + cannot be started. With abort (the default value) + the request will be aborted. With remove, the + filter is removed and the request continues without it.
+
+ +
ExtFilterOptions LogStderr
+ + +

Messages written to the filter's standard error will be stored + in the Apache error log.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html.fr.utf8 b/docs/manual/mod/mod_ext_filter.html.fr.utf8 new file mode 100644 index 0000000..e457ec2 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.fr.utf8 @@ -0,0 +1,383 @@ + + + + + +mod_ext_filter - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_ext_filter

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Fait traiter le corps de la réponse par un programme +externe avant de l'envoyer au client
Statut:Extension
Identificateur de Module:ext_filter_module
Fichier Source:mod_ext_filter.c
+

Sommaire

+ +

mod_ext_filter représente un modèle de + programmation simple et bien connu pour les filtres. Avec ce module, tout programme + qui lit l'entrée standard stdin et écrit sur la sortie standard + stdout (autrement dit une commande filtre de style Unix) peut + servir de filtre pour Apache. Ce mécanisme de filtrage est beaucoup + plus lent qu'un filtre spécialement écrit pour + l'API d'Apache et faisant partie intégrante du processus du serveur + Apache, mais il présente les avantages suivants :

+ +
    +
  • le modèle de programmation est beaucoup plus simple
  • + +
  • tout langage de script ou de programmation peut être utilisé, + pourvu qu'il permette au programme de lire l'entrée standard et + d'écrire sur la sortie standard.
  • + +
  • on peut utiliser des programmes existants comme filtres Apache + sans modification.
  • +
+ +

Même dans le cas où le niveau de performance est insuffisant pour + une utilisation en production, on peut utiliser + mod_ext_filter comme prototype d'environnement pour + les filtres.

+ +
+ +
top
+
+

Exemples

+ +

Générer du HTML à partir d'un autre type de + contenu

+ +
# la directive de mod_ext_filter définissant un filtre
+# permettant de mettre des fichiers text/c au format HTML en
+# utilisant le programme externe /usr/bin/enscript, le type du
+# fichier résultant étant défini à text/html
+ExtFilterDefine c-to-html mode=output \
+    intype=text/c outtype=text/html \
+    cmd="/usr/bin/enscript --color -w html -Ec -o -"
+
+<Directory "/export/home/trawick/apacheinst/htdocs/c">
+    # directive de base permettant de traiter la sortie avec le
+    # nouveau filtre
+    SetOutputFilter c-to-html
+
+    # directive de mod_mime définissant le type des fichiers dont
+    # le nom possède l'extension .c à text/c
+    AddType text/c .c
+</Directory>
+ + + +

Implémentation d'un filtre de codage de + contenu

+

Note : cet exemple avec gzip n'est fourni qu'à titre + d'illustration. Veuillez vous reporter à la documentation de + mod_deflate pour un exemple d'implémentation plus + pratique.

+ +
# la directive de mod_ext_filter qui définit le filtre externe
+ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+<Location "/gzipped">
+
+    # directive de base permettant de traiter la sortie avec le
+  # filtre gzip
+    SetOutputFilter gzip
+
+    # la directive de mod_headers permettant d'ajouter le champ
+  # d'en-tête "Content-Encoding: gzip"
+    Header set Content-Encoding gzip
+</Location>
+ + + + +

Ralentissement du serveur

+
# directive de mod_ext_filter définissant un filtre qui fait
+# passer tous les flux en sortie par la commande cat ; cat ne
+# modifie rien ; elle ne fait que compliquer le cheminement des
+# flux et consommer des ressources supplémentaires
+       ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+    preservescontentlength
+
+<Location "/">
+    # directive de base permettant de traiter plusieurs fois la
+    # sortie avec le filtre slowdown
+    #
+    SetOutputFilter slowdown;slowdown;slowdown
+</Location>
+ + + +

Utilisation de sed pour remplacer du texte dans la + réponse

+ +
# directive de mod_ext_filter définissant un filtre qui
+# remplace du texte dans la réponse
+#
+ExtFilterDefine fixtext mode=output intype=text/html \
+    cmd="/bin/sed s/verdana/arial/g"
+
+<Location "/">
+    # directive de base permettant de traiter la sortie avec le
+    # filtre fixtext
+    SetOutputFilter fixtext
+</Location>
+ + +
+

Vous pouvez aussi utiliser mod_substitute pour +effectuer le même traitement sans avoir à invoquer un programme +externe.

+
+ + + +

Tracer un autre filtre

+
# Trace les données lues et écrites par mod_deflate pour un
+# client particulier (IP 192.168.1.31) qui a des problèmes de
+# compression.
+# Ce premier filtre va tracer ce qui entre dans mod_deflate.
+ExtFilterDefine tracebefore \
+    cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+    EnableEnv=trace_this_client
+
+# Ce second filtre va tracer ce qui sort de mod_deflate.
+# Notez que sans le paramètre ftype, le type de filtre par
+# défaut AP_FTYPE_RESOURCE placerait le filtre *avant*
+# mod_deflate dans la chaîne de filtrage. Le fait d'affecter
+# à ce paramètre une valeur numérique sensiblement supérieure à
+# AP_FTYPE_CONTENT_SET permet de s'assurer que le filtre sera
+# placé après mod_deflate.
+ExtFilterDefine traceafter \
+    cmd="/bin/tracefilter.pl /tmp/traceafter" \
+    EnableEnv=trace_this_client ftype=21
+
+<Directory "/usr/local/docs">
+    SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+    SetOutputFilter tracebefore;deflate;traceafter
+</Directory>
+ + +

Voici le filtre qui trace les données :

#!/usr/local/bin/perl -w
+use strict;
+
+open(SAVE, ">$ARGV[0]")
+    or die "can't open $ARGV[0]: $?";
+
+while (<STDIN>) {
+    print SAVE $_;
+    print $_;
+}
+
+close(SAVE);
+
+ +
+
top
+

Directive ExtFilterDefine

+ + + + + + +
Description:Définit un filtre externe
Syntaxe:ExtFilterDefine nom_filtre paramètres
Contexte:configuration globale
Statut:Extension
Module:mod_ext_filter
+

La directive ExtFilterDefine + définit les caractéristiques d'un filtre externe, et en particulier + le programme à exécuter ainsi que ses arguments.

+ +

nom_filtre spécifie le nom du filtre en cours de + définition. On peut ensuite utiliser ce nom pour référencer le + filtre dans les directives SetOutputFilter. Il doit être unique parmi les noms de + tous les filtres enregistrés. Pour le moment, aucune erreur + n'est signalée par l'API register-filter, si bien qu'un problème de + noms dupliqués ne sera pas porté à la connaissance de + l'utilisateur.

+ +

Viennent ensuite un ou plusieurs paramètres dans un ordre + indéfini, qui permettent de spécifier la commande externe à exécuter + et certaines autres caractéristiques. Le seul paramètre obligatoire + est cmd=. Voici la liste de ces paramètres :

+ +
+
cmd=ligne de commande
+ +
Le mot-clé cmd= spécifie la commande + externe à exécuter. Si la ligne de commande comporte des + arguments, elle doit être entourée de guillemets (par exemple + cmd="/bin/mypgm arg1 + arg2"). Les guillemets habituels du shell ne + sont pas nécessaires car le programme est lancé directement, sans + passer par le shell. Les arguments du programme doivent être + séparés par des espaces. Si un argument contient des espaces, ces + derniers doivent être échappés par un antislash '\'. Si un + argument contient des antislashes '\', ces derniers doivent être + eux-mêmes échappés par un antislash '\'. Outre les variables + d'environnement CGI standards, les variables DOCUMENT_URI, + DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront également + définies pour le programme.
+ +
mode=mode
+ +
Utilisez mode=output (valeur par défaut) pour les + filtres qui traitent les réponses. Utilisez + mode=input pour les filtres qui traitent les + requêtes. mode=input est disponible depuis la version + 2.1 d'Apache.
+ +
intype=type MIME
+ +
Ce paramètre spécifie le type de médium Internet + (c'est à dire le type MIME) des documents qui doivent être + filtrés. Par défaut, tous les documents sont filtrés. Aucun des + documents possédant un type MIME autre que celui spécifié par + intype= ne sera filtré.
+ +
outtype=type MIME
+ +
Ce paramètre spécifie le type de médium Internet + (c'est à dire le type MIME) des documents filtrés. Il intervient + lorsque les opérations de filtrage comprennent une modification du + type MIME. Par défaut, le type MIME n'est pas modifié.
+ +
PreservesContentLength
+ +
Le mot-clé PreservesContentLength indique que le + filtre doit conserver la taille du contenu. Ce n'est pas le + comportement par défaut, car la plupart des filtres modifient cette + taille. Ce mot-clé doit être spécifié si le filtre ne doit pas + modifier la taille du contenu.
+ +
ftype=type de filtre
+ +
Ce paramètre spécifie une valeur numérique + représentant le type de filtre sous lequel le filtre doit être + enregistré. La valeur par défaut, AP_FTYPE_RESOURCE, convient dans + la plupart des situations. Ce paramètre devient nécessaire dès lors + que le filtre doit opérer à un autre point de la chaîne de filtrage + que les filtres de ressources. + Voir les définitions de AP_FTYPE_... + dans util_filter.h pour trouver une valeur appropriée.
+ +
disableenv=env
+ +
Ce paramètre spécifie le nom d'une variable + d'environnement qui, si elle est définie, va désactiver le + filtre.
+ +
enableenv=env
+ +
Ce paramètre spécifie le nom d'une variable + d'environnement qui doit être définie pour que le filtre ne soit + pas désactivé.
+
+ +
+
top
+

Directive ExtFilterOptions

+ + + + + + + +
Description:Configure les options de +mod_ext_filter
Syntaxe:ExtFilterOptions option [option] ...
Défaut:ExtFilterOptions NoLogStderr
Contexte:répertoire
Statut:Extension
Module:mod_ext_filter
+

La directive ExtFilterOptions + spécifie des options de traitement particulières pour + mod_ext_filter. Les arguments option + peuvent contenir :

+ +
+
LogStderr | NoLogStderr
+ +
Le mot-clé LogStderr indique que les messages + envoyés par le programme de filtrage externe sur la sortie + d'erreurs standard doivent être enregistrés dans le journal des + erreurs d'Apache. NoLogStderr inverse ce + comportement.
+ +
Onfail=[abort|remove]
+
Indique la marche à suivre si le programme de filtrage externe + ne peut pas démarrer. Avec abort (la valeur par + défaut), le traitement de la requête sera abandonné. Avec remove, le + filtre est supprimé, et le traitement de la requête se poursuit + sans lui.
+
+ +
ExtFilterOptions LogStderr
+ + +

Les messages envoyés vers la sortie d'erreurs standard du filtre + seront enregistrés dans le journal des erreurs d'Apache.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html.ja.utf8 b/docs/manual/mod/mod_ext_filter.html.ja.utf8 new file mode 100644 index 0000000..d316244 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.ja.utf8 @@ -0,0 +1,399 @@ + + + + + +mod_ext_filter - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_ext_filter

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:レスãƒãƒ³ã‚¹ã®ãƒœãƒ‡ã‚£ã‚’クライアントã«é€ã‚‹å‰ã«å¤–部プログラムã§å‡¦ç†ã™ã‚‹
ステータス:Extension
モジュール識別å­:ext_filter_module
ソースファイル:mod_ext_filter.c
+

概è¦

+ +

mod_ext_filter ã§ã¯ フィルタ + ã®æ…£ã‚Œè¦ªã—ã‚“ã å˜ç´”ãªãƒ—ログラミングモデルãŒæä¾›ã•ã‚Œã¾ã™ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ + 使ãˆã°ã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã‚“ã§ã€æ¨™æº–出力ã«æ›¸ã出ã™ãƒ—ログラム + (ã™ãªã‚ã¡ Unix å½¢å¼ã®ãƒ•ã‚£ãƒ«ã‚¿ã‚³ãƒžãƒ³ãƒ‰) ã‚’ Apache ã®ãƒ•ã‚£ãƒ«ã‚¿ã«ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚ã“ã®ãƒ•ã‚£ãƒ«ã‚¿ã®æ©Ÿæ§‹ã¯ã€Apache API å‘ã‘ã«æ›¸ã‹ã‚ŒãŸ Apache + サーãƒãƒ—ロセス内ã§å®Ÿè¡Œã•ã‚Œã‚‹å°‚用ã®ãƒ•ã‚£ãƒ«ã‚¿ã‚ˆã‚Šã‚‚ãšã£ã¨é…ã„ã§ã™ãŒã€ + 以下ã®ã‚ˆã†ãªåˆ©ç‚¹ã‚‚ã‚ã‚Šã¾ã™ã€‚

+ +
    +
  • ãšã£ã¨ã‚·ãƒ³ãƒ—ルãªãƒ—ログラミングモデル
  • + +
  • プログラムãŒæ¨™æº–入力ã‹ã‚‰èª­ã‚“ã§æ¨™æº–出力ã«æ›¸ãã‚‚ã®ã§ã‚ã‚‹é™ã‚Šã€ + ã©ã‚“ãªãƒ—ログラム言語やスクリプト言語ã§ã‚‚使ã†ã“ã¨ãŒã§ãã‚‹
  • + +
  • 既存ã®ãƒ—ログラムを変更ã™ã‚‹ã“ã¨ãªã Apache ã®ãƒ•ã‚£ãƒ«ã‚¿ã¨ã—㦠+ 使ã†ã“ã¨ãŒã§ãã‚‹
  • +
+ +

性能ã®å•é¡Œã«ã‚ˆã‚Šå®Ÿé‹ç”¨ã«é©ã•ãªã„ã¨ã—ã¦ã‚‚ã€ãƒ•ã‚£ãƒ«ã‚¿ã®ãƒ—ロトタイプ用㮠+ 環境ã¨ã—ã¦ã¯ mod_ext_filter ã¯ä½¿ãˆã¾ã™ã€‚

+ +
+
Support Apache!

トピック

+

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+
top
+
+

例

+ +

ä»–ã®ã‚¿ã‚¤ãƒ—ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‹ã‚‰ HTML を生æˆã™ã‚‹

+

+ # mod_ext_filter directive to define a filter
+ # to HTML-ize text/c files using the external
+ # program /usr/bin/enscript, with the type of
+ # the result set to text/html
+ ExtFilterDefine c-to-html mode=output \
+ + intype=text/c outtype=text/html \
+ cmd="/usr/bin/enscript --color -W html -Ec -o - -"
+
+
+ <Directory "/export/home/trawick/apacheinst/htdocs/c">
+ + # core directive to cause the new filter to
+ # be run on output
+ SetOutputFilter c-to-html
+
+ # mod_mime directive to set the type of .c
+ # files to text/c
+ AddType text/c .c
+
+ # mod_ext_filter directive to set the debug
+ # level just high enough to see a log message
+ # per request showing the configuration in force
+ ExtFilterOptions DebugLevel=1
+
+ </Directory> +

+ + +

コンテントエンコーディングã®ãƒ•ã‚£ãƒ«ã‚¿ã‚’実装ã™ã‚‹

+

注: ã“ã® gzip ã®ä¾‹ã¯ãƒ‡ãƒ¢ç”¨ã§ã™ã€‚実用的ãªå®Ÿè£…㯠+ mod_deflate ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +

+ # mod_ext_filter directive to define the external filter
+ ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+ <Location /gzipped>
+ + # core directive to cause the gzip filter to be
+ # run on output
+ SetOutputFilter gzip
+
+ # mod_header directive to add
+ # "Content-Encoding: gzip" header field
+ Header set Content-Encoding gzip
+
+ </Location> +

+ + +

サーãƒã‚’é…ãã™ã‚‹

+

+ # mod_ext_filter directive to define a filter
+ # which runs everything through cat; cat doesn't
+ # modify anything; it just introduces extra pathlength
+ # and consumes more resources
+ ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ + preservescontentlength
+
+
+ <Location />
+ + # core directive to cause the slowdown filter to
+ # be run several times on output
+ #
+ SetOutputFilter slowdown;slowdown;slowdown
+
+ </Location> +

+ + +

sed を使ã£ã¦å¿œç­”中ã®ãƒ†ã‚­ã‚¹ãƒˆã‚’ç½®æ›ã™ã‚‹

+

+ # mod_ext_filter directive to define a filter which
+ # replaces text in the response
+ #
+ ExtFilterDefine fixtext mode=output intype=text/html \
+ + cmd="/bin/sed s/verdana/arial/g"
+
+
+ <Location />
+ + # core directive to cause the fixtext filter to
+ # be run on output
+ SetOutputFilter fixtext
+
+ </Location> +

+ + +

別ã®ãƒ•ã‚£ãƒ«ã‚¿ã®ãƒˆãƒ¬ãƒ¼ã‚¹

+

+ # Trace the data read and written by mod_deflate
+ # for a particular client (IP 192.168.1.31)
+ # experiencing compression problems.
+ # This filter will trace what goes into mod_deflate.
+ ExtFilterDefine tracebefore \
+ + cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+ EnableEnv=trace_this_client
+
+
+ # This filter will trace what goes after mod_deflate.
+ # Note that without the ftype parameter, the default
+ # filter type of AP_FTYPE_RESOURCE would cause the
+ # filter to be placed *before* mod_deflate in the filter
+ # chain. Giving it a numeric value slightly higher than
+ # AP_FTYPE_CONTENT_SET will ensure that it is placed
+ # after mod_deflate.
+ ExtFilterDefine traceafter \
+ + cmd="/bin/tracefilter.pl /tmp/traceafter" \
+ EnableEnv=trace_this_client ftype=21
+
+
+ <Directory /usr/local/docs>
+ + SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+ SetOutputFilter tracebefore;deflate;traceafter
+
+ </Directory> +

+ +

データをトレースã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿:

+ #!/usr/local/bin/perl -w
+ use strict;
+
+ open(SAVE, ">$ARGV[0]")
+ + or die "can't open $ARGV[0]: $?";
+
+
+ while (<STDIN>) {
+ + print SAVE $_;
+ print $_;
+
+ }
+
+ close(SAVE); +

+ +
+
top
+

ExtFilterDefine ディレクティブ

+ + + + + + +
説明:外部フィルタを定義
構文:ExtFilterDefine filtername parameters
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Extension
モジュール:mod_ext_filter
+

ExtFilterDefine ã¯ã€å®Ÿè¡Œã™ã‚‹ãƒ—ログラムや + 引数ãªã©ã€å¤–部フィルタã®ç‰¹æ€§ã‚’定義ã—ã¾ã™ã€‚

+ +

filtername ã¯å®šç¾©ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã®åå‰ã‚’指定ã—ã¾ã™ã€‚ + ã“ã®åå‰ã¯å¾Œã§ SetOutputFilter + ディレクティブã§æŒ‡å®šã§ãã¾ã™ã€‚åå‰ã¯ç™»éŒ²ã•ã‚Œã‚‹ã™ã¹ã¦ã®ãƒ•ã‚£ãƒ«ã‚¿ã§ + 一æ„ã§ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。ç¾æ™‚点ã§ã¯ã€ãƒ•ã‚£ãƒ«ã‚¿ã®ç™»éŒ² API ã‹ã‚‰ã¯ + エラーã¯å ±å‘Šã•ã‚Œã¾ã›ã‚“。ã§ã™ã‹ã‚‰ã€é‡è¤‡ã™ã‚‹åå‰ã‚’使ã£ã¦ã—ã¾ã£ãŸã¨ãã§ã‚‚ + ユーザã«ã¯ãã®ã“ã¨ã¯å ±å‘Šã•ã‚Œã¾ã›ã‚“。

+ +

続ãパラメータã®é †ç•ªã¯é–¢ä¿‚ç„¡ãã€ãれらã¯å®Ÿè¡Œã™ã‚‹å¤–部コマンドã¨ã€ + ä»–ã®ç‰¹æ€§ã‚’定義ã—ã¾ã™ã€‚cmd= ã ã‘ãŒå¿…é ˆã®ãƒ‘ラメータã§ã™ã€‚ + 指定å¯èƒ½ãªãƒ‘ラメータã¯:

+ +
+
cmd=cmdline
+ +
cmd= キーワードã¯å®Ÿè¡Œã™ã‚‹å¤–部コマンドを指定ã—ã¾ã™ã€‚ + プログラムåã®å¾Œã«å¼•æ•°ãŒã‚ã‚‹å ´åˆã¯ã€ã‚³ãƒžãƒ³ãƒ‰è¡Œã¯å¼•ç”¨ç¬¦ã§å›²ã‚€ + å¿…è¦ãŒã‚ã‚Šã¾ã™ (例ãˆã°ã€cmd="/bin/mypgm + arg1 arg2" ã®ã‚ˆã†ã«)。プログラム㯠+ シェル経由ã§ãªãã€ç›´æŽ¥å®Ÿè¡Œã•ã‚Œã¾ã™ã®ã§ã€é€šå¸¸ã®ã‚·ã‚§ãƒ«ç”¨ã® + エスケープã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。プログラムã®å¼•æ•°ã¯ç©ºç™½ã§åŒºåˆ‡ã‚‰ã‚Œã¾ã™ã€‚ + プログラムã®å¼•æ•°ã®ä¸€éƒ¨ã¨ãªã‚‹å¿…è¦ã®ã‚る空白ã¯ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ— + ã§ãã¾ã™ã€‚引数ã®ä¸€éƒ¨ã«ãªã‚‹ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¯ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§ + エスケープã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚標準㮠CGI 環境変数ã«åŠ ãˆã¦ã€ + 環境変数 DOCUMENT_URI, DOCUMENT_PATH_INFO, and + QUERY_STRING_UNESCAPED ãŒãƒ—ログラムã®ãŸã‚ã«è¨­å®šã•ã‚Œã¾ã™ã€‚
+ +
mode=mode
+ +
応答を処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã«ã¯ mode=output (デフォルト) + を使ã„ã¾ã™ã€‚リクエストを処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã«ã¯ mode=input + を使ã„ã¾ã™ã€‚mode=input 㯠Apache 2.1 以é™ã§åˆ©ç”¨å¯èƒ½ã§ã™ã€‚
+ +
intype=imt
+ +
ã“ã®ãƒ‘ラメータã¯ãƒ•ã‚£ãƒ«ã‚¿ã•ã‚Œã‚‹ã¹ãドキュメント㮠+ インターãƒãƒƒãƒˆãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ— (ã™ãªã‚ã¡ã€MIME タイプ) ã‚’ + 指定ã—ã¾ã™ã€‚デフォルトã§ã¯ã™ã¹ã¦ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒãƒ•ã‚£ãƒ«ã‚¿ã•ã‚Œã¾ã™ã€‚ + intype= ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚Œã°ã€ãƒ•ã‚£ãƒ«ã‚¿ã¯æŒ‡å®šã•ã‚Œã¦ã„ãªã„ + ドキュメントã«ã¯é©ç”¨ã•ã‚Œãªããªã‚Šã¾ã™ã€‚
+ +
outtype=imt
+ +
ã“ã®ãƒ‘ラメータã¯ãƒ•ã‚£ãƒ«ã‚¿ã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® + インターãƒãƒƒãƒˆãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ— (ã™ãªã‚ã¡ã€MIME タイプ) ã‚’ + 指定ã—ã¾ã™ã€‚フィルタ動作ã«ã¨ã‚‚ãªã£ã¦ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—㌠+ 変ã‚ã‚‹å ´åˆã«æœ‰ç”¨ã§ã™ã€‚デフォルトã§ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—㯠+ 変更ã•ã‚Œã¾ã›ã‚“。
+ +
PreservesContentLength
+ +
PreservesContentLength キーワードã¯ãƒ•ã‚£ãƒ«ã‚¿ãŒ + content length (訳注: コンテントã®é•·ã•) + を変更ã—ãªã„ã¨ã„ã†ã“ã¨ã‚’指定ã—ã¾ã™ã€‚ã»ã¨ã‚“ã©ã®ãƒ•ã‚£ãƒ«ã‚¿ã¯ + content length を変更ã™ã‚‹ãŸã‚ã€ã“ã‚Œã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + フィルタãŒé•·ã•ã‚’変ãˆãªã„ã¨ãã¯ã€ã“ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’指定ã™ã‚‹ã¨ + よã„ã§ã—ょã†ã€‚
+ +
ftype=filtertype
+ +
ã“ã®ãƒ‘ラメータã¯ãƒ•ã‚£ãƒ«ã‚¿ãŒç™»éŒ²ã•ã‚Œã‚‹ã¹ãフィルタタイプ㮠+ 数値を指定ã—ã¾ã™ã€‚ã»ã¨ã‚“ã©ã®å ´åˆã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® AP_FTYPE_RESOURCE 㧠+ å分ã§ã™ã€‚フィルタãŒãƒ•ã‚£ãƒ«ã‚¿ãƒã‚§ãƒ¼ãƒ³ã®åˆ¥ã®å ´æ‰€ã§å‹•ä½œã™ã‚‹å¿…è¦ãŒã‚ã‚‹ + å ´åˆã¯ã€ã“ã®ãƒ‘ラメータを指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚指定å¯èƒ½ãªå€¤ã¯ + util_filter.h ã® AP_FTYPE_foo 定義をå‚ç…§ã—ã¦ãã ã•ã„。
+ +
disableenv=env
+ +
設定ã•ã‚Œã¦ã„ãŸå ´åˆã«ãƒ•ã‚£ãƒ«ã‚¿ã‚’無効ã«ã™ã‚‹ãŸã‚ã®ç’°å¢ƒå¤‰æ•°ã‚’ + 指定ã—ã¾ã™ã€‚
+ +
enableenv=env
+ +
ã“ã®ãƒ‘ラメータã¯ãƒ•ã‚£ãƒ«ã‚¿ãŒæœ‰åŠ¹ã«ãªã‚‹ãŸã‚ã«è¨­å®šã•ã‚Œã¦ã„ãªã‘れ㰠+ ãªã‚‰ãªã„環境変数を指定ã—ã¾ã™ã€‚
+
+ +
+
top
+

ExtFilterOptions ディレクティブ

+ + + + + + + +
説明:mod_ext_filter ã®ã‚ªãƒ—ションを設定
構文:ExtFilterOptions option [option] ...
デフォルト:ExtFilterOptions DebugLevel=0 NoLogStderr
コンテキスト:ディレクトリ
ステータス:Extension
モジュール:mod_ext_filter
+

ExtFilterOptions ディレクティブ㯠+ mod_ext_filter ã®ç‰¹åˆ¥ãªå‡¦ç†ç”¨ã®ã‚ªãƒ—ションを + 指定ã—ã¾ã™ã€‚Option ã«ã¯ä»¥ä¸‹ã®ã©ã‚Œã‹ã‚’指定ã—ã¾ã™ã€‚

+ +
+
DebugLevel=n
+ +
+ DebugLevel 㧠mod_ext_filter + ã®ç”Ÿæˆã™ã‚‹ãƒ‡ãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ãƒ¬ãƒ™ãƒ«ã‚’設定ã§ãã¾ã™ã€‚ + デフォルトã§ã¯ã€ãƒ‡ãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ç”Ÿæˆã•ã‚Œã¾ã›ã‚“。 + ã“れ㯠DebugLevel=0 ã¨è¨­å®šã™ã‚‹ã®ã¨åŒã˜ã§ã™ã€‚ + æ•°å­—ãŒå¤§ãããªã‚Œã°ãªã‚‹ã»ã©ã€ã‚ˆã‚Šå¤šãã®ãƒ‡ãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒ + 生æˆã•ã‚Œã€ã‚µãƒ¼ãƒã®æ€§èƒ½ã¯è½ã¡ã¾ã™ã€‚数値ã®å®Ÿéš›ã®æ„味㯠+ mod_ext_filter.c ã®å…ˆé ­è¿‘ãã® DBGLVL_ 定数㮠+ 定義ã§èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚ + +

注: デãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ Apache ã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã« + ä¿å­˜ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã¯ã€core ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ– + LogLevel + を使ã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+
+ +
LogStderr | NoLogStderr
+ +
LogStderr キーワードã¯å¤–部フィルタプログラムã«ã‚ˆã‚Š + 標準エラー (訳注: stderr) ã«æ›¸ã‹ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ + Apache ã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ä¿å­˜ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚NoLogStderr 㯠+ 逆ã«ä¿å­˜ã—ãªã„よã†ã«ã—ã¾ã™ã€‚
+
+ +

例

+ ExtFilterOptions LogStderr DebugLevel=0 +

+ +

ã“ã®ä¾‹ã§ã¯ã€ãƒ•ã‚£ãƒ«ã‚¿ã®æ¨™æº–出力ã«æ›¸ã‹ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ + Apache ã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚mod_ext_filter ã‹ã‚‰ã¯ + デãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ç”Ÿæˆã•ã‚Œã¾ã›ã‚“。

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html.ko.euc-kr b/docs/manual/mod/mod_ext_filter.html.ko.euc-kr new file mode 100644 index 0000000..dbb9695 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.ko.euc-kr @@ -0,0 +1,382 @@ + + + + + +mod_ext_filter - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_ext_filter

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:ÀÀ´ä ³»¿ëÀ» ¿ÜºÎ ÇÁ·Î±×·¥À¸·Î ó¸®ÇÑ ÈÄ Å¬¶óÀ̾ðÆ®·Î +º¸³½´Ù
»óÅÂ:Extension
¸ðµâ¸í:ext_filter_module
¼Ò½ºÆÄÀÏ:mod_ext_filter.c
+

¿ä¾à

+ +

mod_ext_filter¸¦ »ç¿ëÇÏ¸é °£´ÜÇÏ°í Àͼ÷ÇÑ + ¹æ¹ýÀ¸·Î ÇÊÅ͸¦ ¸¸µé ¼ö ÀÖ´Ù. + Ç¥ÁØÀԷ¿¡¼­ Àаí Ç¥ÁØÃâ·Â¿¡ ¾²´Â ÇÁ·Î±×·¥(Áï, À¯´Ð½º½Ä + ÇÊÅÍ ¸í·É¾î)À» ¾ÆÆÄÄ¡ ÇÊÅÍ·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ·± ÇÊÅÍ´Â + ¾ÆÆÄÄ¡ API·Î ¾²¿©Áö°í ¾ÆÆÄÄ¡ ¼­¹ö ÇÁ·Î¼¼½º ¾È¿¡¼­ ½ÇÇàµÇ´Â + ÇÊÅÍ¿¡ ºñÇØ ¸Å¿ì ´À¸®Áö¸¸, ´ÙÀ½°ú °°Àº ÀåÁ¡ÀÌ ÀÖ´Ù:

+ +
    +
  • ÇÁ·Î±×·¡¹Ö ¸ðµ¨ÀÌ ¸Å¿ì °£´ÜÇÏ´Ù
  • + +
  • ÇÁ·Î±×·¥ÀÌ Ç¥ÁØÀԷ¿¡¼­ Àаí Ç¥ÁØÃâ·Â¿¡ ¾µ ¼ö¸¸ ÀÖ´Ù¸é + ¾î¶² ÇÁ·Î±×·¡¹Ö/½ºÅ©¸³Æ® ¾ð¾î¶óµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù
  • + +
  • ÀÌ¹Ì ÀÖ´Â ÇÁ·Î±×·¥À» ¼öÁ¤¾øÀÌ ¾ÆÆÄÄ¡ ÇÊÅÍ·Î »ç¿ëÇÒ + ¼ö ÀÖ´Ù
  • +
+ +

½ÇÁ¦ »ç¿ëÇϱ⿡´Â ¼º´ÉÀÌ ¶³¾îÁöÁö¸¸, + mod_ext_filter¸¦ »ç¿ëÇÏ¿© ÇÊÅ͸¦ »¡¸® ¸¸µé¾îº¼ + ¼ö ÀÖ´Ù.

+ +
+
Support Apache!

ÁÖÁ¦

+

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+
top
+
+

¿¹Á¦

+ +

´Ù¸¥ typeÀÇ ÀÀ´äÀ» HTML·Î ¸¸µç´Ù

+

+ # mod_ext_filter Áö½Ã¾î¸¦ °¡Áö°í
+ # ¿ÜºÎ ÇÁ·Î±×·¥ /usr/bin/enscript¸¦ »ç¿ëÇÏ¿©
+ # ¹®¼­ÆÄÀÏ°ú text/c ÆÄÀÏÀ» HTML·Î ¸¸µé°í °á°úÀÇ
+ # typeÀ» text/html·Î º¯°æÇÏ´Â ÇÊÅ͸¦ Á¤ÀÇÇÑ´Ù
+ ExtFilterDefine c-to-html mode=output \
+ + intype=text/c outtype=text/html \
+ cmd="/usr/bin/enscript --color -W html -Ec -o - -"
+
+
+ <Directory "/export/home/trawick/apacheinst/htdocs/c">
+ + # Ãâ·Â¿¡ »õ·Î¿î ÇÊÅ͸¦ ½ÇÇàÇÏ´Â core Áö½Ã¾î
+ SetOutputFilter c-to-html
+
+ # .c ÆÄÀÏÀÇ typeÀ» text/c·Î ¸¸µå´Â mod_mime
+ # Áö½Ã¾î
+ AddType text/c .c
+
+ # µð¹ö±× ¼öÁØÀ» ³ô¿©¼­ ¿äû¸¶´Ù ÇöÀç ¼³Á¤À»
+ # ¾Ë·ÁÁÖ´Â ·Î±×¹®À» ±â·ÏÇÏ´Â mod_ext_filter
+ # Áö½Ã¾î
+ ExtFilterOptions DebugLevel=1
+
+ </Directory> +

+ + +

content ÀÎÄÚµù ÇÊÅÍ ±¸ÇöÇϱâ

+

Note: ¾Æ·¡ gzip ¿¹Á¦´Â ´ÜÁö ¼³¸íÀ» ¿¹·Î µç °ÍÀÌ´Ù. + ½ÇÁ¦ ¼­ºñ½º¿¡ »ç¿ëÇÏ·Á¸é mod_deflate¸¦ + Âü°íÇÏ±æ ¹Ù¶õ´Ù.

+ +

+ # ¿ÜºÎ ÇÊÅ͸¦ Á¤ÀÇÇÏ´Â mod_ext_filter Áö½Ã¾î
+ ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+ <Location /gzipped>
+ + # Ãâ·ÂÇÒ¶§ gzip ÇÊÅ͸¦ ½ÇÇàÇÏ´Â core Áö½Ã¾î
+ SetOutputFilter gzip
+
+ # "Content-Encoding: gzip" Çì´õ¸¦ Ãß°¡ÇÏ´Â
+ # mod_header Áö½Ã¾î
+ Header set Content-Encoding gzip
+
+ </Location> +

+ + +

¼­¹ö¸¦ ´À¸®°Ô Çϱâ

+

+ # catÀ¸·Î ¸ðµç ³»¿ëÀ» Åë°úÇÏ´Â ÇÊÅ͸¦ Á¤ÀÇÇÏ´Â
+ # mod_ext_filter Áö½Ã¾î; catÀº ¾Æ¹«°Íµµ ¼öÁ¤ÇÏÁö
+ # ¾Ê´Â´Ù; ´ÜÁö 󸮰æ·Î¸¦ ±æ°Ô ÇÏ¿© ÀÚ¿øÀ» ´õ ¼Ò¸ðÇÑ´Ù
+ ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ + preservescontentlength
+
+
+ <Location />
+ + # Ãâ·ÂÇÒ¶§ slowdown ÇÊÅ͸¦ ¿©·¯¹ø ½ÇÇàÇÏ´Â core Áö½Ã¾î
+ #
+ SetOutputFilter slowdown;slowdown;slowdown
+
+ </Location> +

+ + +

sed¸¦ »ç¿ëÇÏ¿© ÀÀ´ä¿¡¼­ ±ÛÀ» ´ëüÇϱâ

+

+ # ÀÀ´ä¿¡¼­ ±ÛÀ» ´ëüÇÏ´Â ÇÊÅ͸¦ Á¤ÀÇÇÏ´Â
+ # mod_ext_filter Áö½Ã¾î
+ #
+ ExtFilterDefine fixtext mode=output intype=text/html \
+ + cmd="/bin/sed s/verdana/arial/g"
+
+
+ <Location />
+ + # Ãâ·ÂÇÒ¶§ fixtext ÇÊÅ͸¦ ½ÇÇàÇÏ´Â core Áö½Ã¾î
+ SetOutputFilter fixtext
+
+ </Location> +

+ + +

´Ù¸¥ ÇÊÅ͸¦ ÃßÀûÇϱâ

+

+ # ¾ÐÃà ¹®Á¦°¡ Àִ ƯÁ¤ Ŭ¶óÀ̾ðÆ®(IP 192.168.1.31)¿¡
+ # ´ëÇØ mod_deflate°¡ ÀÐ°í ¾²´Â ÀڷḦ ÃßÀûÇÑ´Ù.
+ # ÀÌ ÇÊÅÍ´Â mod_deflate·Î º¸³»±â Àü ÀڷḦ ÃßÀûÇÑ´Ù.
+ ExtFilterDefine tracebefore \
+ + cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+ EnableEnv=trace_this_client
+
+
+ # ÀÌ ÇÊÅÍ´Â mod_deflate¿¡¼­ ³ª¿À´Â ÀڷḦ ÃßÀûÇÑ´Ù.
+ # ftype ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏÁö¾Ê´Â °æ¿ì, ±âº» ÇÊÅÍÇü
+ # AP_FTYPE_RESOURCE´Â ÇÊÅÍ ¼ø¼­¸¦ mod_deflate *ÀÌÀü¿¡*
+ # µÐ´Ù. AP_FTYPE_CONTENT_SET º¸´Ù Á¶±Ý ³ôÀº ¼ýÀÚ°ªÀ»
+ # ÁöÁ¤Çϸé mod_deflate ÀÌÈÄ¿¡ ½ÇÇàÇÑ´Ù.
+ ExtFilterDefine traceafter \
+ + cmd="/bin/tracefilter.pl /tmp/traceafter" \
+ EnableEnv=trace_this_client ftype=21
+
+
+ <Directory /usr/local/docs>
+ + SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+ SetOutputFilter tracebefore;deflate;traceafter
+
+ </Directory> +

+ +

´ÙÀ½Àº ÀڷḦ ÃßÀûÇÏ´Â ÇÊÅÍÀÌ´Ù:

+ #!/usr/local/bin/perl -w
+ use strict;
+
+ open(SAVE, ">$ARGV[0]")
+ + or die "can't open $ARGV[0]: $?";
+
+
+ while (<STDIN>) {
+ + print SAVE $_;
+ print $_;
+
+ }
+
+ close(SAVE); +

+ +
+
top
+

ExtFilterDefine Áö½Ã¾î

+ + + + + + +
¼³¸í:¿ÜºÎ ÇÊÅ͸¦ Á¤ÀÇÇÑ´Ù
¹®¹ý:ExtFilterDefine filtername parameters
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Extension
¸ðµâ:mod_ext_filter
+

ExtFilterDefine Áö½Ã¾î´Â ¿ÜºÎ + ÇÊÅÍÀÇ ¼ºÁú°ú ½ÇÇàÇÒ ÇÁ·Î±×·¥, ¾Æ±Ô¸ÕÆ®¸¦ Á¤ÀÇÇÑ´Ù.

+ +

filternameÀº Á¤ÀÇÇÒ ÇÊÅÍ À̸§À» ÁöÁ¤ÇÑ´Ù. + ÀÌ À̸§À» SetOutputFilter Áö½Ã¾î¿¡¼­ »ç¿ëÇÑ´Ù. µî·ÏÇÑ ¸ðµç + ÇÊÅ͵鰣¿¡ À̸§ÀÌ °ãÄ¡¸é ¾ÈµÈ´Ù. ÇöÀç ÇÊÅ͵î·Ï API´Â + ¿À·ù¸¦ º¸°íÇÏÁö ¾Ê´Â´Ù. ±×·¡¼­ »ç¿ëÀÚ´Â À̸§ÀÌ °ãÄ¡´Â ¹®Á¦¸¦ + ¾ËÁö ¸øÇÑ´Ù.

+ +

½ÇÇàÇÒ ¿ÜºÎ ¸í·É¾î¿Í ´Ù¸¥ ¼ºÁúÀ» Á¤ÀÇÇÏ´Â ³ª¸ÓÁö ¾Æ±Ô¸ÕÆ®´Â + ¾î¶² ¼ø¼­·Î ³ª¿Íµµ °¡´ÉÇÏ´Ù. ´Ü, cmd= ÆĶó¹ÌÅÍ´Â + ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â ÆĶó¹ÌÅÍ´Â ´ÙÀ½°ú °°´Ù:

+ +
+
cmd=cmdline
+ +
cmd= Å°¿öµå´Â ½ÇÇàÇÒ ¿ÜºÎ ¸í·É¾î¸¦ ÁöÁ¤ÇÑ´Ù. + ÇÁ·Î±×·¥¸í µÚ¿¡ ¾Æ±Ô¸ÕÆ®°¡ ÀÖ´Ù¸é ¸í·ÉÇàÀ» ½Öµû¿ÈÇ¥·Î + ¹­¾î¾ß ÇÑ´Ù (¿¹¸¦ µé¾î, + cmd="/bin/mypgm arg1 + arg2"). ½©À» °ÅÄ¡Áö¾Ê°í Á÷Á¢ ÇÁ·Î±×·¥À» + ½ÇÇàÇϱ⶧¹®¿¡ ÀϹÝÀûÀÎ ½© µû¿ÈÇ¥´Â ÇÊ¿ä¾ø´Ù. ÇÁ·Î±×·¥ + ¾Æ±Ô¸ÕÆ®µéÀº °ø¹éÀ¸·Î ±¸ºÐÇÑ´Ù. ÇÁ·Î±×·¥ ¾Æ±Ô¸ÕÆ®¿¡ °ø¹éÀÌ + ÀÖ´Ù¸é °ø¹é ¾Õ¿¡ ¹é½½·¡½¬·Î »ç¿ëÇØ¾ß ÇÑ´Ù. ¹é½½·¡½¬°¡ + ¾Æ±Ô¸ÕÆ®ÀÇ ÀϺζó¸é ¹é½½·¡½¬¸¦ µÎ¹ø »ç¿ëÇØ¾ß ÇÑ´Ù. ÇÁ·Î±×·¥À» + ½ÇÇàÇÒ¶§ Ç¥ÁØ CGI ȯ°æº¯¼ö¿Í Ãß°¡·Î DOCUMENT_URI, + DOCUMENT_PATH_INFO, QUERY_STRING_UNESCAPED º¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.
+ +
mode=mode
+ +
ÀÀ´äÀ» ó¸®ÇÏ´Â ÇÊÅÍ´Â (±âº»°ªÀÎ) mode=outputÀ» + »ç¿ëÇÑ´Ù. ¿äûÀ» ó¸®ÇÏ´Â ÇÊÅÍ´Â mode=inputÀ» + »ç¿ëÇÑ´Ù. mode=inputÀº ¾ÆÆÄÄ¡ 2.1¿¡ Ãß°¡µÇ¾ú´Ù.
+ +
intype=imt
+ +
ÀÌ ÆĶó¹ÌÅÍ´Â ÇÊÅͷΠó¸®ÇÒ ¹®¼­ÀÇ ÀÎÅÍ³Ý media + type(Áï, MIME type)À» ÁöÁ¤ÇÑ´Ù. ±âº»ÀûÀ¸·Î ¸ðµç + ¹®¼­¸¦ ÇÊÅͷΠó¸®ÇÑ´Ù. intype=À» ÁöÁ¤Çϸé + ´Ù¸¥ typeÀÇ ¹®¼­´Â ÇÊÅͷΠó¸®ÇÏÁö ¾Ê´Â´Ù.
+ +
outtype=imt
+ +
ÀÌ ÆĶó¹ÌÅÍ´Â ÇÊÅͷΠó¸®ÇÑ ¹®¼­ÀÇ ÀÎÅÍ³Ý media + type(Áï, MIME type)À» ÁöÁ¤ÇÑ´Ù. ÇÊÅÍó¸® ÀÛ¾÷Áß¿¡ + ÀÎÅÍ³Ý media typeÀ» º¯°æÇÒ¶§ À¯¿ëÇÏ´Ù. ±âº»ÀûÀ¸·Î, ÀÎÅÍ³Ý + media typeÀº º¯ÇÏÁö ¾Ê´Â´Ù.
+ +
PreservesContentLength
+ +
PreservesContentLength Å°¿öµå´Â ÇÊÅÍ°¡ + content length¸¦ À¯ÁöÇϵµ·Ï ÇÑ´Ù. ´ëºÎºÐÀÇ ÇÊÅÍ°¡ content + length¸¦ º¯°æÇϹǷΠÀÌ Å°¿öµå´Â ±âº»°ªÀÌ ¾Æ´Ï´Ù. ÇÊÅÍ°¡ + ±æÀ̸¦ À¯ÁöÇÒ¶§¸¸ ÀÌ Å°¿öµå¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
ftype=filtertype
+ +
ÀÌ ÆĶó¹ÌÅÍ´Â ÇÊÅÍ Á¾·ù¿¡ ´ëÇÑ ¼ýÀÚ°ªÀ» ÁöÁ¤ÇÑ´Ù. + ´ëºÎºÐÀÇ °æ¿ì ±âº»°ªÀÎ AP_FTYPE_RESOURCE°¡ Àû´çÇÏ´Ù. + ÇÊÅ͸¦ ½ÇÇàÇÏ´Â ¼ø¼­°¡ ÀÚ¿øÇÊÅÍ¿Í ´Þ¶ó¾ßÇÏ´Â °æ¿ì ÀÌ + ÆĶó¹ÌÅÍ°¡ ÇÊ¿äÇÏ´Ù. Àû´çÇÑ °ªÀ» ¾Ë·Á¸é util_filter.h¿¡ + ÀÖ´Â AP_FTYPE_* Á¤ÀǸ¦ Âü°íÇ϶ó.
+ +
disableenv=env
+ +
ÀÌ ÆĶó¹ÌÅÍ·Î ¼³Á¤ÇÑ È¯°æº¯¼ö°¡ Á¤ÀǵǾú´Ù¸é ÇÊÅ͸¦ + »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
enableenv=env
+ +
ÀÌ ÆĶó¹ÌÅÍ·Î ¼³Á¤ÇÑ È¯°æº¯¼ö°¡ Á¤ÀÇµÈ °æ¿ì ÇÊÅ͸¦ + »ç¿ëÇÑ´Ù.
+
+ +
+
top
+

ExtFilterOptions Áö½Ã¾î

+ + + + + + + +
¼³¸í:mod_ext_filter ¿É¼ÇÀ» ¼³Á¤ÇÑ´Ù
¹®¹ý:ExtFilterOptions option [option] ...
±âº»°ª:ExtFilterOptions DebugLevel=0 NoLogStderr
»ç¿ëÀå¼Ò:directory
»óÅÂ:Extension
¸ðµâ:mod_ext_filter
+

ExtFilterOptions Áö½Ã¾î´Â + mod_ext_filterÀÇ Æ¯º°ÇÑ Ã³¸®¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù. + OptionÀº ´ÙÀ½Áß Çϳª´Ù.

+ +
+
DebugLevel=n
+ +
+ DebugLevel Å°¿öµå´Â + mod_ext_filter°¡ ±â·ÏÇÏ´Â µð¹ö±× ¹®±¸ + ¼öÁØÀ» Á¤ÇÑ´Ù. ±âº»°ªÀº µð¹ö±×¹®À» ±â·ÏÇÏÁö ¾Ê´Â´Ù. + ÀÌ´Â DebugLevel=0°ú °°´Ù. ³ôÀº ¼ýÀÚ¸¦ + »ç¿ëÇÒ¼ö·Ï, ´õ ¸¹Àº µð¹ö±×¹®ÀÌ ±â·ÏµÇ°í ¼­¹ö ¼º´ÉÀÌ + ¶³¾îÁø´Ù. ¼ýÀÚ°ªÀÇ ½ÇÁ¦ Àǹ̴ mod_ext_filter.c + ¾ÕºÎºÐ¿¡ ÀÖ´Â DBGLVL_ »ó¼ö Á¤ÀÇ¿¡ ¼³¸íµÇÀÖ´Ù. + +

ÁÖÀÇ: ÇÊÅÍ ·Î±×¸¦ ±â·ÏÇÏ·Á¸é core Áö½Ã¾î LogLevelÀ» »ç¿ëÇÏ¿© µð¹ö±×¹®À» + ¾ÆÆÄÄ¡ ¿À·ù·Î±×¿¡ ±â·ÏÇØ¾ß ÇÑ´Ù.

+
+ +
LogStderr | NoLogStderr
+ +
LogStderr Å°¿öµå´Â ¿ÜºÎ ÇÊÅÍ ÇÁ·Î±×·¥ÀÌ + Ç¥ÁØ¿À·ù·Î Ãâ·ÂÇÏ´Â ¹®±¸¸¦ ¾ÆÆÄÄ¡ ¿À·ù·Î±×¿¡ ±â·ÏÇÑ´Ù. + NoLogStderr´Â ÀÌ ±â´ÉÀ» ÇÏÁö ¾Ê´Â´Ù.
+
+ +

¿¹Á¦

+ ExtFilterOptions LogStderr DebugLevel=0 +

+ +

À§ÀÇ ¼³Á¤À» »ç¿ëÇϸé ÇÊÅÍ°¡ Ç¥ÁØ¿À·ù·Î Ãâ·ÂÇÏ´Â ¹®±¸¸¦ + ¾ÆÆÄÄ¡ ¿À·ù·Î±×¿¡ ±â·ÏÇÏ°í, mod_ext_filter´Â + ÀÚü µð¹ö±×¹®À» ±â·ÏÇÏÁö ¾Ê´Â´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_file_cache.html b/docs/manual/mod/mod_file_cache.html new file mode 100644 index 0000000..e06fcc8 --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_file_cache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_file_cache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_file_cache.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_file_cache.html.en b/docs/manual/mod/mod_file_cache.html.en new file mode 100644 index 0000000..8f0bd52 --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html.en @@ -0,0 +1,238 @@ + + + + + +mod_file_cache - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_file_cache

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + +
Description:Caches a static list of files in memory
Status:Experimental
Module Identifier:file_cache_module
Source File:mod_file_cache.c
+

Summary

+ + +
+ This module should be used with care. You can easily create a broken + site using mod_file_cache, so read this document + carefully. +
+ +

Caching frequently requested files that change very + infrequently is a technique for reducing server load. + mod_file_cache provides two techniques for caching + frequently requested static files. Through configuration + directives, you can direct mod_file_cache to either + open then mmap() a file, or to pre-open a file and save + the file's open file handle. Both techniques reduce server + load when processing requests for these files by doing part of the work + (specifically, the file I/O) for serving the file when the + server is started rather than during each request.

+ +

Notice: You cannot use this for speeding up CGI programs or + other files which are served by special content handlers. It + can only be used for regular files which are usually served by + the Apache core content handler.

+ +

This module is an extension of and borrows heavily from the + mod_mmap_static module in Apache 1.3.

+
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Using mod_file_cache

+ +

mod_file_cache caches a list of statically + configured files via MMapFile or CacheFile directives in the main server configuration.

+ +

Not all platforms support both directives. You will receive an error + message in the server error log if you attempt to use an + unsupported directive. If given an unsupported directive, the + server will start but the file will not be cached. On platforms + that support both directives, you should experiment with both to + see which works best for you.

+ +

MMapFile Directive

+ +

The MMapFile + directive of mod_file_cache maps a list of + statically configured files into memory through the system call + mmap(). This system call is available on most modern + Unix derivatives, but not on all. There are sometimes system-specific + limits on the size and number of files that can be + mmap()ed, experimentation is probably the easiest way + to find out.

+ +

This mmap()ing is done once at server start or + restart, only. So whenever one of the mapped files changes on the + filesystem you have to restart the server (see the Stopping and Restarting documentation). + To reiterate that point: if the files are modified in place + without restarting the server you may end up serving requests that + are completely bogus. You should update files by unlinking the old + copy and putting a new copy in place. Most tools such as + rdist and mv do this. The reason why this + modules doesn't take care of changes to the files is that this check + would need an extra stat() every time which is a waste + and against the intent of I/O reduction.

+ + +

CacheFile Directive

+ +

The CacheFile + directive of mod_file_cache opens an active + handle or file descriptor to the file (or files) + listed in the configuration directive and places these open file + handles in the cache. When the file is requested, the server + retrieves the handle from the cache and passes it to the + sendfile() (or TransmitFile() on Windows), + socket API.

+ + + +

This file handle caching is done once at server start or + restart, only. So whenever one of the cached files changes on + the filesystem you have to restart the server (see the + Stopping and Restarting + documentation). To reiterate that point: if the files are + modified in place without restarting the server you + may end up serving requests that are completely bogus. You + should update files by unlinking the old copy and putting a new + copy in place. Most tools such as rdist and + mv do this.

+ + +

Note

+

Don't bother asking for a directive which recursively + caches all the files in a directory. Try this instead... See the + Include directive, and consider + this command:

+ +

+ find /www/htdocs -type f -print \
+ | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf +

+
+
+
top
+

CacheFile Directive

+ + + + + + +
Description:Cache a list of file handles at startup time
Syntax:CacheFile file-path [file-path] ...
Context:server config
Status:Experimental
Module:mod_file_cache
+

The CacheFile directive opens handles to + one or more files (given as whitespace separated arguments) and + places these handles into the cache at server startup + time. Handles to cached files are automatically closed on a server + shutdown. When the files have changed on the filesystem, the + server should be restarted to re-cache them.

+ +

Be careful with the file-path arguments: They have + to literally match the filesystem path Apache's URL-to-filename + translation handlers create. We cannot compare inodes or other + stuff to match paths through symbolic links etc. + because that again would cost extra stat() system + calls which is not acceptable. This module may or may not work + with filenames rewritten by mod_alias or + mod_rewrite.

+ +

Example

CacheFile /usr/local/apache/htdocs/index.html
+
+ +
+
top
+

MMapFile Directive

+ + + + + + +
Description:Map a list of files into memory at startup time
Syntax:MMapFile file-path [file-path] ...
Context:server config
Status:Experimental
Module:mod_file_cache
+

The MMapFile directive maps one or more files + (given as whitespace separated arguments) into memory at server + startup time. They are automatically unmapped on a server + shutdown. When the files have changed on the filesystem at + least a HUP or USR1 signal should be send to + the server to re-mmap() them.

+ +

Be careful with the file-path arguments: They have + to literally match the filesystem path Apache's URL-to-filename + translation handlers create. We cannot compare inodes or other + stuff to match paths through symbolic links etc. + because that again would cost extra stat() system + calls which is not acceptable. This module may or may not work + with filenames rewritten by mod_alias or + mod_rewrite.

+ +

Example

MMapFile /usr/local/apache/htdocs/index.html
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_file_cache.html.fr.utf8 b/docs/manual/mod/mod_file_cache.html.fr.utf8 new file mode 100644 index 0000000..ad56167 --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html.fr.utf8 @@ -0,0 +1,271 @@ + + + + + +mod_file_cache - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_file_cache

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + +
Description:Mise en cache mémoire d'une liste statique de +fichiers
Statut:Expérimental
Identificateur de Module:file_cache_module
Fichier Source:mod_file_cache.c
+

Sommaire

+ + +
+ Ce module doit être utilisé avec précautions. Il est recommandé de + lire attentivement ce document, car l'utilisation de + mod_file_cache peut facilement conduire à la + création d'un site inopérant. +
+ +

La mise en cache de fichiers souvent demandés mais rarement + modifiés est une technique permettant de réduire la charge du + serveur. mod_file_cache met en oeuvre deux + techniques de mise en cache de fichiers statiques + fréquemment demandés. Des directives de configuration vous + permettent d'indiquer à mod_file_cache soit + d'ouvrir et de charger une image en mémoire d'un fichier avec + mmap(), soit de préouvrir un fichier et de maintenir en + service le gestionnaire du fichier. Les deux techniques + permettent de réduire la charge du serveur lors du traitement des + requêtes concernant ces fichiers, en accomplissant une partie du + travail nécessaire à la mise à disposition de ces fichiers (en + particulier les opérations d'entrées/sorties sur les fichiers) au + démarrage du serveur, plutôt qu'au cours de chaque requête.

+ +

Note : ces techniques sont inutilisables pour accélérer des + programmes CGI ou d'autres fichiers servis par des gestionnaires de + contenu spéciaux. Elles ne peuvent être utilisées que pour des + fichiers standards, normalement servis par le gestionnaire de contenu + de base d'Apache.

+ +

Ce module est une extension du module + d'Apache 1.3 mod_mmap_staticet s'en inspire + fortement .

+
+ +
top
+
+

Utilisation de mod_file_cache

+ +

mod_file_cache gère la mise en cache d'une liste + de fichiers définie de manière statique via une des directives + MMapFile ou + CacheFile au niveau + de la configuration du serveur principal.

+ +

Les deux directives ne sont pas supportées par toutes les + plates-formes. Par exemple, Apache pour Windows ne supporte pas + actuellement la directive MMapFile, alors que d'autres + plates-formes, comme AIX, supportent les deux. Vous recevrez un + message d'erreur dans le journal des erreurs du serveur si vous + essayez d'utiliser une directive non supportée. Si vous utilisez une + directive non supportée, le serveur démarrera, mais les fichiers ne + seront pas mis en cache. Sur les plates-formes qui supportent les + deux directives, vous devez faire des essais afin de déterminer + quelle directive vous convient le mieux.

+ +

Directive MMapFile

+ +

La directive MMapFile du module + mod_file_cache permet de transférer en mémoire + une liste statique de fichiers à l'aide de l'appel système + mmap(). Cet appel système est disponible sur la + plupart des plates-formes de style Unix, mais pas sur toutes. Il + existe parfois des limites spécifiques au système quant à la + taille et au nombre de fichiers qui peuvent être + mmap()és, et l'expérimentation est probablement la + méthode la plus simple pour déterminer ces limites.

+ +

Ce mmap()age n'est effectué qu'une seul fois au + démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des + fichiers chargés en mémoire est modifié au niveau du système de + fichiers, vous devez redémarrer le serveur (voir la + documentation sur l'Arrêt et redémarrage). Pour bien + insister sur ce point, si des fichiers sont modifiés sur + disque, et si vous ne redémarrez pas le serveur, vous allez + finir par servir des contenus complètement obsolètes. Vous devez + mettre à jour les fichiers en renommant l'ancienne version et en + enregistrant la nouvelle sur disque. Pour y parvenir, on peut + utiliser des outils comme rdist et mv. + La raison pour laquelle ce module ne prend pas en compte les + modifications de fichiers réside dans le fait que cette + vérification nécessiterait un appel à stat() à chaque + accès, et en fin de compte, l'augmentation de la consommation de + ressources finirait par aller contre le but initial de + réduire les entrées/sorties.

+ + +

Directive CacheFile

+ +

La directive CacheFile du module + mod_file_cache permet d'associer un + gestionnaire ou descripteur de fichier à chaque + fichier énuméré dans la directive de configuration et place ces + gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des + fichier est demandé, le serveur sélectionne son gestionnaire dans + le cache et le transmet à l'API sendfile() (ou + TransmitFile() sous Windows).

+ + + +

Cette mise en cache des gestionnaire n'est effectuée qu'une + seule fois au démarrage ou redémarrage du système. Ainsi, chaque + fois qu'un des fichiers chargés en mémoire est modifié au niveau + du système de fichiers, vous devez redémarrer le serveur + (voir la documentation sur l'Arrêt et redémarrage). + Pour bien + insister sur ce point, si des fichiers sont modifiés sur + disque, et si vous ne redémarrez pas le serveur, vous allez + finir par servir des contenus complètement obsolètes. Vous devez + mettre à jour les fichiers en renommant l'ancienne version et en + enregistrant la nouvelle sur disque. Pour y parvenir, on peut + utiliser des outils comme rdist et + mv.

+ + +

Note

+

Ne cherchez pas à trouver de directive qui met tous les + fichiers d'un répertoire en cache, de manière récursive. Pour y + parvenir, vous pouvez vous reporter à la directive Include directive, et considérer cette + commande :

+ +

+ find /www/htdocs -type f -print \
+ | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf +

+
+
+
top
+

Directive CacheFile

+ + + + + + +
Description:Met en cache une liste de gestionnaires de fichiers au +démarrage
Syntaxe:CacheFile chemin fichier [chemin fichier] ...
Contexte:configuration globale
Statut:Expérimental
Module:mod_file_cache
+

La directive CacheFile permet d'associer + des gestionnaires à un ou plusieurs fichiers (séparés par des + espaces), et de placer ceux-ci dans le cache au démarrage du + serveur. Les gestionnaires des fichiers mis en cache sont + automatiquement fermés à l'arrêt du serveur. Lorsqu'un ou plusieurs + fichiers ont été modifiés sur disque, le serveur doit être redémarré + afin que les modifications soient prises en compte par le cache.

+ +

Soyez prudent avec les arguments chemin fichier : ils + doivent correspondre exactement au chemin du système de fichier que + créent les gestionnaires de traduction URL-vers-nom-fichier + d'Apache. On ne peut pas comparer des inodes ou autres identifiants + pour mettre en correspondance des chemins à l'aide de liens + symboliques (etc...), car là encore, ceci nécessiterait un + appel à stat() supplémentaire, ce qui n'est pas acceptable. + Il n'est pas garanti que ce module fonctionne avec des noms de + fichiers réécrits par mod_alias ou + mod_rewrite.

+ +

Exemple

CacheFile /usr/local/apache/htdocs/index.html
+
+ +
+
top
+

Directive MMapFile

+ + + + + + +
Description:Charge au démarrage une liste de fichiers en mémoire
Syntaxe:MMapFile chemin fichier [chemin fichier] ...
Contexte:configuration globale
Statut:Expérimental
Module:mod_file_cache
+

La directive MMapFile permet de charger un + ou plusieurs fichiers (séparés par des espaces) en mémoire au + démarrage du serveur. Ceux-ci sont automatiquement déchargés de la + mémoire à l'arrêt du serveur. Lorsqu'un ou plusieurs fichiers ont + été modifiés sur disque, on doit au minimum envoyer un signal + HUP ou USR1 au serveur afin de les + remmap()er.

+ +

Soyez prudent avec les arguments chemin fichier : ils + doivent correspondre exactement au chemin du système de fichier que + créent les gestionnaires de traduction URL-vers-nom-fichier + d'Apache. On ne peut pas comparer des inodes ou autres identifiants + pour mettre en correspondance des chemins à l'aide de liens + symboliques (etc...), car là encore, ceci nécessiterait un + appel à stat() supplémentaire, ce qui n'est pas + acceptable. + Il n'est pas garanti que ce module fonctionne avec des noms de + fichiers réécrits par mod_alias ou + mod_rewrite.

+ +

Exemple

MMapFile /usr/local/apache/htdocs/index.html
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_file_cache.html.ko.euc-kr b/docs/manual/mod/mod_file_cache.html.ko.euc-kr new file mode 100644 index 0000000..f0141bb --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html.ko.euc-kr @@ -0,0 +1,232 @@ + + + + + +mod_file_cache - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_file_cache

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¸Þ¸ð¸®¿¡ Á¤Àû ÆÄÀϵéÀ» ij½¬
»óÅÂ:Experimental
¸ðµâ¸í:file_cache_module
¼Ò½ºÆÄÀÏ:mod_file_cache.c
+

¿ä¾à

+ + +
+ ÀÌ ¸ðµâÀº Á¶½ÉÇؼ­ »ç¿ëÇØ¾ß ÇÑ´Ù. mod_file_cache¸¦ + »ç¿ëÇÏ¿© »çÀÌÆ®¸¦ ¾û¸ÁÀ¸·Î ¸¸µé±â ½±±â¶§¹®¿¡ ÀÌ ¹®¼­¸¦ + ²Ä²ÄÈ÷ ÀÐ±æ ¹Ù¶õ´Ù. +
+ +

°ÅÀÇ º¯ÇÏÁö ¾Ê°í ÀÚÁÖ ¿äûµÇ´Â ÆÄÀÏÀ» ij½¬¿¡ + ÀúÀåÇÏ¿© ¼­¹ö ºÎÇϸ¦ ÁÙÀÏ ¼ö ÀÖ´Ù. mod_file_cache´Â + ÀÚÁÖ ¿äûµÇ´Â Á¤Àû ÆÄÀÏÀ» µÎ°¡Áö ¹æ½ÄÀ¸·Î ij½¬¿¡ + ÀúÀåÇÑ´Ù. ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© mod_file_cache°¡ + ÆÄÀÏÀ» ¿­°í(open) mmap()ÇÒÁö ¾Æ´Ï¸é ÆÄÀÏÀ» + ¿­°í ÆÄÀÏ ÇÚµéÀ» ÀúÀåÇÒÁö °áÁ¤ÇÑ´Ù. µÎ ¹æ½Ä ¸ðµÎ + ÆÄÀÏÀ» ¼­ºñ½ºÇϱâÀ§ÇØ ÇÊ¿äÇÑ ÀÛ¾÷ÀÇ ÀϺθ¦ (ƯÈ÷ ÆÄÀÏ ÀÔÃâ·Â + ÀÛ¾÷) ÆÄÀÏÀ» ¿äûÇÒ ¶§¸¶´Ù ¸Å¹ø ÇÏ´Â ´ë½Å ¼­¹ö°¡ ½ÃÀÛÇÒ¶§ + Çѹø¸¸ ÇÏ¿© ¼­¹ö ºÎÇÏ°¡ °¨¼ÒÇÑ´Ù.

+ +

ÁÖÀÇ: ÀÌ ¹æ¹ýÀº CGI ÇÁ·Î±×·¥À̳ª Ưº°ÇÑ ³»¿ëÇڵ鷯¸¦ + ÅëÇØ ¼­ºñ½ºÇÏ´Â ÆÄÀÏÀÇ ¼­ºñ½º ¼Óµµ¸¦ ³ôÀÏ ¼ö ¾ø´Ù. ÀÌ ¹æ¹ýÀº + º¸Åë ¾ÆÆÄÄ¡ core ³»¿ëÇڵ鷯°¡ ¼­ºñ½ºÇÏ´Â ÀϹÝÆÄÀÏ¿¡¸¸ + Àû¿ëµÈ´Ù.

+ +

ÀÌ ¸ðµâÀº ¾ÆÆÄÄ¡ 1.3¿¡ ÀÖ´Â mod_mmap_static + ¸ðµâÀÇ ±â´ÉÀ» È®ÀåÇÑ °á°ú´Ù.

+
+
Support Apache!

ÁÖÁ¦

+

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+
top
+
+

mod_file_cache »ç¿ëÇϱâ

+ +

mod_file_cache´Â ÁÖ¼­¹ö ¼³Á¤¿¡¼­ MMapFile°ú CacheFile Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + ¼³Á¤ÇÑ Á¤Àû ÆÄÀϵéÀ» ij½¬¿¡ ÀúÀåÇÑ´Ù.

+ +

¸ðµç Ç÷¡ÆûÀÌ µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. + ¿¹¸¦ µé¾î, À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡´Â ÇöÀç MMapStatic Áö½Ã¾î¸¦ + Áö¿øÇÏÁö ¾ÊÁö¸¸, AIX °°Àº ´Ù¸¥ Ç÷¡ÆûÀº µÑ ¸ðµÎ¸¦ Áö¿øÇÑ´Ù. + Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇÒ °æ¿ì ¼­¹ö ¿À·ù ·Î±×¿¡ ¿À·ù¹®À» + ³²±ä´Ù. Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇصµ ¼­¹ö´Â µ¿ÀÛÇÏÁö¸¸ + ÆÄÀÏÀ» ij½¬¿¡ ÀúÀåÇÏÁö ¾Ê´Â´Ù. µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â + Ç÷¡ÆûÀ» »ç¿ëÇÑ´Ù¸é ¾î¶² ¹æ½ÄÀÌ ´õ ÁÁÀºÁö ½ÇÇèÇغ¸¶ó.

+ +

MMapFile Áö½Ã¾î

+ +

mod_file_cacheÀÇ MMapFile Áö½Ã¾î´Â + ¼³Á¤ÇÑ Á¤Àû ÆÄÀϵéÀ» mmap() ½Ã½ºÅÛÈ£ÃâÀ» + »ç¿ëÇÏ¿© ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù. ÃֽŠÀ¯´Ð½º·ù ¿î¿µÃ¼Á¦¶ó¸é + º¸Åë ÀÌ ½Ã½ºÅÛÈ£ÃâÀÌ ÀÖÁö¸¸, ¾ø´Â ¿î¿µÃ¼Á¦µµ ÀÖ´Ù. ¶Ç, + mmap()ÇÒ ¼ö ÀÖ´Â ÆÄÀÏ Å©±â¿Í °³¼ö¸¦ ½Ã½ºÅÛÀÌ + Á¦ÇÑÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¹Ì¸® ½ÇÇèÇغ¸´Â °ÍÀÌ ÁÁ´Ù.

+ +

¼­¹ö´Â ½ÃÀÛÇÒ¶§¿Í Àç½ÃÀÛÇÒ¶§¸¸ mmap()ÇÑ´Ù. + ±×·¡¼­ ÆÄÀϽýºÅÛ¿¡¼­ ÇØ´ç ÆÄÀÏÁß Çϳª¶óµµ º¯°æµÇ¸é ¼­¹ö¸¦ + Àç½ÃÀÛÇØ¾ß ÇÑ´Ù (Áß´Ü°ú + Àç½ÃÀÛ ¹®¼­ Âü°í). ´Ù½Ã ¸»Çؼ­ ÆÄÀÏÀÌ º¯°æµÇ¾ú´Âµ¥ + ¼­¹ö¸¦ Àç½ÃÀÛÇÏÁö ¾ÊÀ¸¸é ¿ÏÀüÈ÷ ÀÌ»óÇÏ°Ô ¿äûÀ» ¼­ºñ½ºÇÒÁöµµ + ¸ð¸¥´Ù. ÀÌÀü ÆÄÀÏÀ» Áö¿ì°í(unlink) ±× ÀÚ¸®¿¡ »õ·Î¿î ÆÄÀÏÀ» + ¸¸µé´Â ¹æ½ÄÀ¸·Î ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. rdist³ª + mv¿Í °°Àº ´ë´Ù¼öÀÇ µµ±¸°¡ ÀÌ·± ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù. + ¸Å¹ø Ãß°¡·Î ºÒÇÊ¿äÇÑ stat() °Ë»ç°¡ ÇÊ¿äÇÏ°í + ÀÔÃâ·Â °¨¼Ò¶ó´Â ¿ø·¡ Àǵµ¿¡ ¹ÝÇϱ⶧¹®¿¡ ÀÌ ¸ðµâÀº ÆÄÀÏÀÇ + º¯È­¸¦ ¹«½ÃÇÑ´Ù.

+ + +

CacheFile Áö½Ã¾î

+ +

mod_file_cacheÀÇ CacheFile Áö½Ã¾î´Â + ¼³Á¤ Áö½Ã¾î¿¡ ¿­°ÅÇÑ ÆÄÀÏ(°ú ÆÄÀϵé)À» ¿­¾î¼­ ÆÄÀÏÀÇ + ÇÚµé(handle) ȤÀº ÆÄÀÏ ±â¼úÀÚ(file descriptor)¸¦ + ij½¬¿¡ ÀúÀåÇÑ´Ù. ÆÄÀÏÀ» ¿äûÇÏ¸é ¼­¹ö´Â ij½¬¿¡¼­ ÇÚµéÀ» + ã¾Æ¼­ ¼ÒÄÏ API sendfile()¿¡ (À©µµ¿ìÁî¿¡¼­´Â + TransmitFile()) ³Ñ±ä´Ù.

+ + + +

¼­¹ö´Â ½ÃÀÛÇÒ¶§¿Í Àç½ÃÀÛÇÒ¶§¸¸ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù. + ±×·¡¼­ ÆÄÀϽýºÅÛ¿¡¼­ ij½¬ÇÑ ÆÄÀÏÁß Çϳª¶óµµ º¯°æµÇ¸é + ¼­¹ö¸¦ Àç½ÃÀÛÇØ¾ß ÇÑ´Ù (Áß´Ü°ú Àç½ÃÀÛ ¹®¼­ Âü°í). + ´Ù½Ã ¸»Çؼ­ ÆÄÀÏÀÌ º¯°æµÇ¾ú´Âµ¥ ¼­¹ö¸¦ Àç½ÃÀÛÇÏÁö ¾ÊÀ¸¸é + ¿ÏÀüÈ÷ ÀÌ»óÇÏ°Ô ¿äûÀ» ¼­ºñ½ºÇÒÁöµµ ¸ð¸¥´Ù. ÀÌÀü ÆÄÀÏÀ» + Áö¿ì°í(unlink) ±× ÀÚ¸®¿¡ »õ·Î¿î ÆÄÀÏÀ» ¸¸µå´Â ¹æ½ÄÀ¸·Î + ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. rdist³ª mv¿Í + °°Àº ´ë´Ù¼öÀÇ µµ±¸°¡ ÀÌ·± ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù.

+ + +

ÁÖÀÇ

+

µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏÀ» Àç±ÍÀûÀ¸·Î ij½¬¿¡ ÀúÀåÇÏ´Â Áö½Ã¾î´Â + ¾ø´Ù. ´ë½Å ´ÙÀ½°ú °°ÀÌ Çغ¸¶ó... Include Áö½Ã¾î¸¦ Âü°íÇÏ¿© ´ÙÀ½°ú + °°Àº ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù:

+ +

+ find /www/htdocs -type f -print \
+ | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf +

+
+
+
top
+

CacheFile Áö½Ã¾î

+ + + + + + +
¼³¸í:½ÃÀ۽à ¿©·¯ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù
¹®¹ý:CacheFile file-path [file-path] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Experimental
¸ðµâ:mod_file_cache
+

CacheFile Áö½Ã¾î´Â ¼­¹ö°¡ ½ÃÀÛÇÒ¶§ + ¿©·¯ ÆÄÀÏÀ» ¿­°í(open) ÆÄÀϵéÀÇ ÇÚµéÀ» ij½¬¿¡ ÀúÀåÇÑ´Ù. + ¼­¹ö Á¾·á½Ã ÀÚµ¿À¸·Î ij½¬ÇÑ ÆÄÀÏÀÇ ÇÚµéÀ» ´Ý´Â´Ù(close). + ÆÄÀϽýºÅÛ¿¡¼­ ÆÄÀÏÀÌ º¯°æµÇ¸é ÆÄÀÏÀ» ´Ù½Ã ij½¬ÇϱâÀ§ÇØ + ¼­¹ö¸¦ Àç½ÃÀÛÇØ¾ß ÇÑ´Ù.

+ +

file-path ¾Æ±Ô¸ÕÆ®¸¦ Á¶½ÉÇضó. ¾Æ±Ô¸ÕÆ®´Â + ¾ÆÆÄÄ¡ÀÇ URL-ÆÄÀÏ¸í º¯È¯ Çڵ鷯°¡ ¸¸µç ÆÄÀϽýºÅÛ °æ·Î¿Í + Á¤È®È÷ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. Çѹø ´õ ºÒÇÊ¿äÇÑ stat() + ½Ã½ºÅÛÈ£ÃâÀÌ ÇÊ¿äÇϱ⶧¹®¿¡ inode³ª ½Éº¼¸µÅ© µîÀ» + °æ·Î¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ÀÌ ¸ðµâÀº mod_alias³ª + mod_rewrite·Î ÀçÀÛ¼ºÇÑ ÆÄÀϸíÀ» ´Ù·ê ¼ö + Àֱ⵵ ¾ø±âµµ ÇÏ´Ù.

+ +

¿¹Á¦

+ CacheFile /usr/local/apache/htdocs/index.html +

+ +
+
top
+

MMapFile Áö½Ã¾î

+ + + + + + +
¼³¸í:½ÃÀ۽à ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù
¹®¹ý:MMapFile file-path [file-path] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Experimental
¸ðµâ:mod_file_cache
+

MMapFile Áö½Ã¾î´Â ¼­¹ö°¡ ½ÃÀÛÇÒ¶§ + (°ø¹éÀ¸·Î ±¸ºÐÇÑ ¾Æ±Ô¸ÕÆ®·Î ÁöÁ¤ÇÑ) ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ + ´ëÀÀÇÑ´Ù(map). ¼­¹ö Á¾·á½Ã ÀÚµ¿À¸·Î ´ëÀÀÀ» Ǭ´Ù(unmap). + ÆÄÀϽýºÅÛ¿¡¼­ ÆÄÀÏÀÌ º¯°æµÇ¸é ÆÄÀϵéÀ» ´Ù½Ã + mmap()ÇϱâÀ§ÇØ ÃÖ¼ÒÇÑ ¼­¹ö¿¡ HUPÀ̳ª + USR1 ½Ã±×³ÎÀ» º¸³»¾ß ÇÑ´Ù.

+ +

file-path ¾Æ±Ô¸ÕÆ®¸¦ Á¶½ÉÇضó. ¾Æ±Ô¸ÕÆ®´Â + ¾ÆÆÄÄ¡ÀÇ URL-ÆÄÀÏ¸í º¯È¯ Çڵ鷯°¡ ¸¸µç ÆÄÀϽýºÅÛ °æ·Î¿Í + Á¤È®È÷ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. Çѹø ´õ ºÒÇÊ¿äÇÑ stat() + ½Ã½ºÅÛÈ£ÃâÀÌ ÇÊ¿äÇϱ⶧¹®¿¡ inode³ª ½Éº¼¸µÅ© µîÀ» + °æ·Î¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ÀÌ ¸ðµâÀº mod_alias³ª + mod_rewrite·Î ÀçÀÛ¼ºÇÑ ÆÄÀϸíÀ» ´Ù·ê ¼ö + Àֱ⵵ ¾ø±âµµ ÇÏ´Ù.

+ +

¿¹Á¦

+ MMapFile /usr/local/apache/htdocs/index.html +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_filter.html b/docs/manual/mod/mod_filter.html new file mode 100644 index 0000000..c120218 --- /dev/null +++ b/docs/manual/mod/mod_filter.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_filter.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_filter.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_filter.html.en b/docs/manual/mod/mod_filter.html.en new file mode 100644 index 0000000..8047ccb --- /dev/null +++ b/docs/manual/mod/mod_filter.html.en @@ -0,0 +1,525 @@ + + + + + +mod_filter - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_filter

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Context-sensitive smart filter configuration module
Status:Base
Module Identifier:filter_module
Source File:mod_filter.c
Compatibility:Version 2.1 and later
+

Summary

+ +

This module enables smart, context-sensitive configuration of + output content filters. For example, apache can be configured to + process different content-types through different filters, even + when the content-type is not known in advance (e.g. in a proxy).

+ +

mod_filter works by introducing indirection into + the filter chain. Instead of inserting filters in the chain, we insert + a filter harness which in turn dispatches conditionally + to a filter provider. Any content filter may be used as a provider + to mod_filter; no change to existing filter modules is + required (although it may be possible to simplify them).

+
+ +
top
+
+

Smart Filtering

+

In the traditional filtering model, filters are inserted unconditionally + using AddOutputFilter and family. + Each filter then needs to determine whether to run, and there is little + flexibility available for server admins to allow the chain to be + configured dynamically.

+ +

mod_filter by contrast gives server administrators a + great deal of flexibility in configuring the filter chain. In fact, + filters can be inserted based on complex boolean + expressions This generalises the limited + flexibility offered by AddOutputFilterByType.

+
top
+
+

Filter Declarations, Providers and Chains

+

+ [This image displays the traditional filter model]
+ Figure 1: The traditional filter model

+ +

In the traditional model, output filters are a simple chain + from the content generator (handler) to the client. This works well + provided the filter chain can be correctly configured, but presents + problems when the filters need to be configured dynamically based on + the outcome of the handler.

+ +

+ [This image shows the mod_filter model]
+ Figure 2: The mod_filter model

+ +

mod_filter works by introducing indirection into + the filter chain. Instead of inserting filters in the chain, we insert + a filter harness which in turn dispatches conditionally + to a filter provider. Any content filter may be used as a provider + to mod_filter; no change to existing filter modules + is required (although it may be possible to simplify them). There can be + multiple providers for one filter, but no more than one provider will + run for any single request.

+ +

A filter chain comprises any number of instances of the filter + harness, each of which may have any number of providers. A special + case is that of a single provider with unconditional dispatch: this + is equivalent to inserting the provider filter directly into the chain.

+
top
+
+

Configuring the Chain

+

There are three stages to configuring a filter chain with + mod_filter. For details of the directives, see below.

+ +
+
Declare Filters
+
The FilterDeclare directive + declares a filter, assigning it a name and filter type. Required + only if the filter is not the default type AP_FTYPE_RESOURCE.
+ +
Register Providers
+
The FilterProvider + directive registers a provider with a filter. The filter may have + been declared with FilterDeclare; if not, FilterProvider will implicitly + declare it with the default type AP_FTYPE_RESOURCE. The provider + must have been + registered with ap_register_output_filter by some module. + The final argument to FilterProvider is an expression: the provider will be + selected to run for a request if and only if the expression evaluates + to true. The expression may evaluate HTTP request or response + headers, environment variables, or the Handler used by this request. + Unlike earlier versions, mod_filter now supports complex expressions + involving multiple criteria with AND / OR logic (&& / ||) + and brackets. The details of the expression syntax are described in + the ap_expr documentation.
+ +
Configure the Chain
+
The above directives build components of a smart filter chain, + but do not configure it to run. The FilterChain directive builds a filter chain from smart + filters declared, offering the flexibility to insert filters at the + beginning or end of the chain, remove a filter, or clear the chain.
+
+
top
+
+

Filtering and Response Status

+

mod_filter normally only runs filters on responses with + HTTP status 200 (OK). If you want to filter documents with + other response statuses, you can set the filter-errordocs + environment variable, and it will work on all responses + regardless of status. To refine this further, you can use + expression conditions with FilterProvider.

+
top
+
+

Upgrading from Apache HTTP Server 2.2 Configuration

+

The FilterProvider + directive has changed from httpd 2.2: the match and + dispatch arguments are replaced with a single but + more versatile expression. In general, you can convert + a match/dispatch pair to the two sides of an expression, using + something like:

+

"dispatch = 'match'"

+

The Request headers, Response headers and Environment variables + are now interpreted from syntax %{req:foo}, + %{resp:foo} and %{env:foo} respectively. + The variables %{HANDLER} and %{CONTENT_TYPE} + are also supported.

+

Note that the match no longer support substring matches. They can be + replaced by regular expression matches.

+
top
+
+

Examples

+
+
Server side Includes (SSI)
+
A simple case of replacing AddOutputFilterByType +
FilterDeclare SSI
+FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
+FilterChain SSI
+ +
+ +
Server side Includes (SSI)
+
The same as the above but dispatching on handler (classic + SSI behaviour; .shtml files get processed). +
FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
+FilterChain SSI
+ +
+ +
Emulating mod_gzip with mod_deflate
+
Insert INFLATE filter only if "gzip" is NOT in the + Accept-Encoding header. This filter runs with ftype CONTENT_SET. +
FilterDeclare gzip CONTENT_SET
+FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/"
+FilterChain gzip
+ +
+ +
Image Downsampling
+
Suppose we want to downsample all web images, and have filters + for GIF, JPEG and PNG. +
FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider unpack gif_unpack  "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider unpack png_unpack  "%{CONTENT_TYPE} = 'image/png'"
+
+FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|"
+FilterProtocol downsample "change=yes"
+
+FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider repack gif_pack  "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider repack png_pack  "%{CONTENT_TYPE} = 'image/png'"
+<Location "/image-filter">
+    FilterChain unpack downsample repack
+</Location>
+ +
+
+
top
+
+

Protocol Handling

+

Historically, each filter is responsible for ensuring that whatever + changes it makes are correctly represented in the HTTP response headers, + and that it does not run when it would make an illegal change. This + imposes a burden on filter authors to re-implement some common + functionality in every filter:

+ +
    +
  • Many filters will change the content, invalidating existing content + tags, checksums, hashes, and lengths.
  • + +
  • Filters that require an entire, unbroken response in input need to + ensure they don't get byteranges from a backend.
  • + +
  • Filters that transform output in a filter need to ensure they don't + violate a Cache-Control: no-transform header from the + backend.
  • + +
  • Filters may make responses uncacheable.
  • +
+ +

mod_filter aims to offer generic handling of these + details of filter implementation, reducing the complexity required of + content filter modules. This is work-in-progress; the + FilterProtocol implements + some of this functionality for back-compatibility with Apache 2.0 + modules. For httpd 2.1 and later, the + ap_register_output_filter_protocol and + ap_filter_protocol API enables filter modules to + declare their own behaviour.

+ +

At the same time, mod_filter should not interfere + with a filter that wants to handle all aspects of the protocol. By + default (i.e. in the absence of any FilterProtocol directives), mod_filter + will leave the headers untouched.

+ +

At the time of writing, this feature is largely untested, + as modules in common use are designed to work with 2.0. + Modules using it should test it carefully.

+
+
top
+

AddOutputFilterByType Directive

+ + + + + + + + +
Description:assigns an output filter to a particular media-type
Syntax:AddOutputFilterByType filter[;filter...] +media-type [media-type] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_filter
Compatibility:Had severe limitations before +being moved to mod_filter in version 2.3.7
+

This directive activates a particular output filter for a request depending on the + response media-type.

+ +

The following example uses the DEFLATE filter, which + is provided by mod_deflate. It will compress all + output (either static or dynamic) which is labeled as + text/html or text/plain before it is sent + to the client.

+ +
AddOutputFilterByType DEFLATE text/html text/plain
+ + +

If you want the content to be processed by more than one filter, their + names have to be separated by semicolons. It's also possible to use one + AddOutputFilterByType directive for each of + these filters.

+ +

The configuration below causes all script output labeled as + text/html to be processed at first by the + INCLUDES filter and then by the DEFLATE + filter.

+ +
<Location "/cgi-bin/">
+    Options Includes
+    AddOutputFilterByType INCLUDES;DEFLATE text/html
+</Location>
+ + + +

See also

+ +
+
top
+

FilterChain Directive

+ + + + + + + +
Description:Configure the filter chain
Syntax:FilterChain [+=-@!]filter-name ...
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Base
Module:mod_filter
+

This configures an actual filter chain, from declared filters. + FilterChain takes any number of arguments, + each optionally preceded with a single-character control that + determines what to do:

+ +
+
+filter-name
+
Add filter-name to the end of the filter chain
+ +
@filter-name
+
Insert filter-name at the start of the filter chain
+ +
-filter-name
+
Remove filter-name from the filter chain
+ +
=filter-name
+
Empty the filter chain and insert filter-name
+ +
!
+
Empty the filter chain
+ +
filter-name
+
Equivalent to +filter-name
+
+ +
+
top
+

FilterDeclare Directive

+ + + + + + + +
Description:Declare a smart filter
Syntax:FilterDeclare filter-name [type]
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Base
Module:mod_filter
+

This directive declares an output filter together with a + header or environment variable that will determine runtime + configuration. The first argument is a filter-name + for use in FilterProvider, + FilterChain and + FilterProtocol directives.

+ +

The final (optional) argument + is the type of filter, and takes values of ap_filter_type + - namely RESOURCE (the default), CONTENT_SET, + PROTOCOL, TRANSCODE, CONNECTION + or NETWORK.

+ +
+
top
+

FilterProtocol Directive

+ + + + + + + +
Description:Deal with correct HTTP protocol handling
Syntax:FilterProtocol filter-name [provider-name] + proto-flags
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Base
Module:mod_filter
+

This directs mod_filter to deal with ensuring the + filter doesn't run when it shouldn't, and that the HTTP response + headers are correctly set taking into account the effects of the + filter.

+ +

There are two forms of this directive. With three arguments, it + applies specifically to a filter-name and a + provider-name for that filter. + With two arguments it applies to a filter-name whenever the + filter runs any provider.

+ +

Flags specified with this directive are merged with the flags + that underlying providers may have registered with + mod_filter. For example, a filter may internally specify + the equivalent of change=yes, but a particular + configuration of the module can override with change=no. +

+ +

proto-flags is one or more of

+ +
+
change=yes|no
+
Specifies whether the filter changes the content, including possibly + the content length. The "no" argument is supported in 2.4.7 and later.
+ +
change=1:1
+
The filter changes the content, but will not change the content + length
+ +
byteranges=no
+
The filter cannot work on byteranges and requires complete input
+ +
proxy=no
+
The filter should not run in a proxy context
+ +
proxy=transform
+
The filter transforms the response in a manner incompatible with + the HTTP Cache-Control: no-transform header.
+ +
cache=no
+
The filter renders the output uncacheable (eg by introducing randomised + content changes)
+
+ +
+
top
+

FilterProvider Directive

+ + + + + + + +
Description:Register a content filter
Syntax:FilterProvider filter-name provider-name + expression
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Base
Module:mod_filter
+

This directive registers a provider for the smart filter. + The provider will be called if and only if the expression + declared evaluates to true when the harness is first called.

+ +

+ provider-name must have been registered by loading + a module that registers the name with + ap_register_output_filter. +

+ +

expression is an + ap_expr.

+ + +

See also

+ +
+
top
+

FilterTrace Directive

+ + + + + + +
Description:Get debug/diagnostic information from + mod_filter
Syntax:FilterTrace filter-name level
Context:server config, virtual host, directory
Status:Base
Module:mod_filter
+

This directive generates debug information from + mod_filter. + It is designed to help test and debug providers (filter modules), although + it may also help with mod_filter itself.

+ +

The debug output depends on the level set:

+
+
0 (default)
+
No debug information is generated.
+ +
1
+
mod_filter will record buckets and brigades + passing through the filter to the error log, before the provider has + processed them. This is similar to the information generated by + mod_diagnostics. +
+ +
2 (not yet implemented)
+
Will dump the full data passing through to a tempfile before the + provider. For single-user debug only; this will not + support concurrent hits.
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_filter.html.fr.utf8 b/docs/manual/mod/mod_filter.html.fr.utf8 new file mode 100644 index 0000000..02b093d --- /dev/null +++ b/docs/manual/mod/mod_filter.html.fr.utf8 @@ -0,0 +1,569 @@ + + + + + +mod_filter - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_filter

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module de configuration de filtre intelligent sensible au +contexte
Statut:Base
Identificateur de Module:filter_module
Fichier Source:mod_filter.c
Compatibilité:Versions 2.1 et supérieures
+

Sommaire

+ +

Ce module permet une configuration intelligente et dépendant du + contexte des filtres de contenu en sortie. Par exemple, Apache peut + être configuré pour faire traiter différents types de contenus par + différents filtres, même lorsque le type de contenu n'est pas connu + à l'avance (par exemple dans un serveur mandataire).

+ +

Le fonctionnement de mod_filter consiste à + introduire des branchements dans la chaîne de filtrage. Plutôt que + d'insérer directement des filtres dans la chaîne, on insère un + sélecteur de filtre qui va effectuer un branchement conditionnel + vers un fournisseur de filtre. mod_filter peut + utiliser tout filtre de contenu comme fournisseur ; aucune + modification des modules de filtrage existants n'est nécessaire + (bien qu'il soit tout de même possible de les simplifier).

+
+ +
top
+
+

Filtrage intelligent

+

Dans le modèle de filtrage traditionnel, les filtres sont insérés + sans condition à l'aide de la directive AddOutputFilter et des directives + apparentées. Chaque filtre doit ensuite déterminer s'il doit + s'exécuter ou non, et les administrateurs du serveur disposent de + peu de souplesse pour faire en sorte que la chaîne soit traitée de + manière dynamique.

+ +

mod_filter, à l'opposé, fournit aux + administrateurs du serveur un grand degré de souplesse pour + configurer la chaîne de filtrage. Concrètement, la décision + d'insérer un filtre peut être prise en fonction d'une expression booléenne complexe. Ceci + généralise le fonctionnement relativement souple de la directive + AddOutputFilterByType.

+
top
+
+

Déclarations de filtres, fournisseurs et +chaînes

+

+ [Cette image illustre le modèle de filtrage traditionnel]
+ Figure 1: Le modèle de filtrage traditionnel

+ +

Dans le modèle traditionnel, les filtres en sortie constituent + une simple chaîne s'étendant depuis le générateur de contenu (ou + gestionnaire) jusqu'au client. Ce fonctionnement peut convenir s'il + permet d'atteindre le but recherché, mais pose + problème lorsque cette chaîne doit être configurée dynamiquement en + fonction de la sortie du gestionnaire.

+ +

+ [Cette image illustre le modèle de fonctionnement de     mod_filter]
+ Figure 2: Le modèle de fonctionnement de + mod_filter

+ +

Le fonctionnement de mod_filter consiste à + introduire des branchements dans la chaîne de filtrage. Plutôt que + d'insérer directement des filtres dans la chaîne, on insère un + sélecteur de filtre qui va effectuer un branchement conditionnel + vers un fournisseur de filtre. mod_filter peut + utiliser tout filtre de contenu comme fournisseur ; aucune + modification des modules de filtrage existants n'est nécessaire + (bien qu'il soit tout de même possible de les simplifier). Il peut y + avoir plusieurs fournisseurs pour un seul filtre, mais un seul + fournisseur sera choisi pour chaque requête.

+ +

Une chaîne de filtrage peut comporter autant d'instances du + sélecteur de filtre que l'on souhaite, chacune d'entre elles pouvant + disposer de plusieurs fournisseurs. Un sélecteur de filtre possédant + un seul fournisseur dont le choix est inconditionnel constitue un + cas particulier : cette situation est équivalente à l'insertion + directe du filtre dans la chaîne.

+
top
+
+

Configuration de la chaîne de +filtrage

+

Trois étapes sont nécessaires pour configurer une chaîne de + filtrage avec mod_filter. Voir ci-dessous la + description détaillée des directives.

+ +
+
Déclaration des filtres
+
La directive FilterDeclare permet de déclarer un + filtre en lui assignant un nom et un type. Elle n'est obligatoire + que si le filtre n'est pas du type par défaut + AP_FTYPE_RESOURCE.
+ +
Enregistrement des fournisseurs
+
La directive FilterProvider permet d'associer un + fournisseur à un filtre. Le filtre a été éventuellement déclaré à + l'aide de la directive FilterDeclare ; si ce n'est pas le cas, FilterProvider + va le déclarer implicitement avec le type par défaut + AP_FTYPE_RESOURCE. Le fournisseur doit avoir été enregistré à + l'aide de ap_register_output_filter par un module + quelconque. Le dernier argument de la directive FilterProvider est une expression : + le fournisseur s'exécutera pour une requête si et seulement si + l'expression est évaluée vraie. L'expression peut évaluer une + requête HTTP ou les en-têtes de la réponse, des variables + d'environnement, ou le gestionnaire utilisé par cette requête. À la + différence des version précédentes, mod_filter supporte désormais + les expressions complexes associant des critères multiples au moyen + d'une logique AND / OR (&& / ||) et de parenthèses. Pour les + détails sur la syntaxe de l'expression, voir la documentation sur ap_expr.
+ +
Configuration de la chaîne de filtrage
+
Les directives ci-dessus permettent d'élaborer les éléments + d'une chaîne de filtrage intelligente, mais pas de les configurer en + vue de leur exécution. La directive FilterChain élabore une chaîne de filtrage à + partir de filtres intelligents déclarés, permettant avec souplesse + d'insérer des filtres au début ou à la fin de la chaîne, de + supprimer un filtre ou même la chaîne complète.
+
+
top
+
+

Filtrage et statut de la réponse

+

Normalement, mod_filter n'applique les filtres qu'aux réponses + possédant un statut HTTP 200 (OK). Pour pouvoir filtrer des + documents possédant un autre statut, vous devez définir la variable + d'environnement filter-errordocs, les réponses étant + alors filtrées sans se préoccuper de leur statut. Pour définir ce + comportement de manière plus fine, vous pouvez utiliser des + conditions dans la directive + FilterProvider.

+
top
+
+

Mise à jour depuis une configuration du +serveur HTTP Apache 2.2

+

La directive FilterProvider a été modifiée par + rapport à httpd 2.2 : les arguments match et + dispatch ont été remplacés par l'argument unique + expression plus polyvalent. En général, il est possible + de convertir une paire match/dispatch vers les deux côtés d'une + expression, de la manière suivante :

+

"dispatch = 'match'"

+

Les en-têtes de requête et de réponse et les variables + d'environnement sont maintenant interprétés selon les syntaxes + respectives %{req:foo}, %{resp:foo} et + %{env:foo}. Les variables %{HANDLER} et + %{CONTENT_TYPE} sont également supportées.

+

Notez que l'évaluation de l'expression ne supporte plus les + comparaisons de sous-chaînes. Ces dernières peuvent + être remplacées par des comparaisons d'expressions rationnelles.

+
top
+
+

Exemples

+
+
Inclusions côté serveur (SSI)
+
Un exemple simple de remplacement de la directive AddOutputFilterByType +
FilterDeclare SSI
+FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
+FilterChain SSI
+ +
+ +
Inclusions côté serveur (SSI)
+
Même exemple que ci-dessus, mais envoi vers un gestionnaire + (comportement classique des SSI ; les fichiers .shtml sont + traités). +
FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
+FilterChain SSI
+ +
+ +
Émulation de mod_gzip avec mod_deflate
+
Insertion du filtre INFLATE seulement si l'en-tête + Accept-Encoding a une valeur autre que "gzip". Ce filtre s'exécute + avec le type ftype CONTENT_SET. +
FilterDeclare gzip CONTENT_SET
+FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/"
+FilterChain gzip
+ +
+ +
Diminution de la résolution d'une image
+
Supposons que nous voulions réduire la résolution de toutes les + images web, et que nous disposions de filtres pour les images GIF, + JPEG et PNG. +
FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider unpack gif_unpack  "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider unpack png_unpack  "%{CONTENT_TYPE} = 'image/png'"
+
+FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|"
+FilterProtocol downsample "change=yes"
+
+FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider repack gif_pack  "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider repack png_pack  "%{CONTENT_TYPE} = 'image/png'"
+<Location "/image-filter">
+    FilterChain unpack downsample repack
+</Location>
+ +
+
+
top
+
+

Gestion de protocole

+

Historiquement, tout filtre doit s'assurer que toute modification + qu'il effectue est correctement représentée dans les en-têtes de la + réponse HTTP, et qu'il ne s'exécutera pas si cette exécution + résultait en une modification interdite. Ceci impose aux auteurs de + filtres la corvée de réimplémenter certaines fonctionnalités + communes dans chaque filtre :

+ +
    +
  • De nombreux filtres modifient les contenus, et de ce fait + invalident les balises de ces contenus, leur somme de + contrôle, leur condensé (hash) existant, ainsi que leur + taille.
  • + +
  • Les filtres qui nécessitent une réponse entière et non tronquée en + entrée, doivent s'assurer qu'il n'ont pas reçu une réponse à une + requête partielle.
  • + +
  • Les filtres qui modifient la sortie d'un autre filtre doivent + s'assurer qu'ils ne violent pas la directive d'un en-tête + Cache-Control: no-transform éventuel.
  • + +
  • Les filtres peuvent agir sur des réponses de façon à ce qu'elles + ne puissent plus être mises en cache.
  • +
+ +

mod_filter a pour but de gérer de manière + générale ces détails de l'implémentation des filtres, réduisant par + là-même la complexité des modules de filtrage de contenu. Le + travail permettant d'atteindre ce but est cependant toujours en + cours ; la directive FilterProtocol + implémente certaines de ces fonctionnalités à des fins de + compatibilité ascendante avec les modules d'Apache 2.0. Pour les + versions 2.1 et supérieures de httpd, les API + ap_register_output_filter_protocol et + ap_filter_protocol permettent aux modules de filtrage + de définir leurs propres comportements.

+ +

Cependant, mod_filter ne doit pas interférer + avec un filtre qui gère déjà tous les aspects du protocole. Par + défaut (c'est à dire en l'absence de toute directive FilterProtocol), + mod_filter ne modifiera donc pas les en-têtes.

+ +

Au moment où ces lignes sont écrites, cette fonctionnalité a été + très peu testée, car les modules d'usage courant ont été conçus pour + fonctionner avec httpd 2.0. Les modules qui l'utilisent devront donc + l'expérimenter avec précautions.

+
+
top
+

Directive AddOutputFilterByType

+ + + + + + + + +
Description:assigne un filtre en sortie pour un type de média +particulier
Syntaxe:AddOutputFilterByType filtre[;filtre...] +type_de_média [type_de_média] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_filter
Compatibilité:Présentait de sévères limitations avant d'être déplacé dans +mod_filter dans la version 2.3.7
+

Cette directive active un filtre en sortie particulier pour une + requête en fonction du type de média de la réponse.

+ +

L'exemple suivant active le filtre DEFLATE qui est + fourni par le module mod_deflate. Il va compresser + toute sortie dont le type MIME est text/html ou + text/plain avant de l'envoyer au client.

+ +
AddOutputFilterByType DEFLATE text/html text/plain
+ + +

Si vous voulez assigner plusieurs filtres au contenu, leurs noms + doivent être séparés par des points-virgules. On peut aussi utiliser + une directive AddOutputFilterByType pour + chacun des filtres à assigner.

+ +

La configuration ci-dessous impose le traitement de toute sortie + de script dont le type MIME est text/html en premier + lieu par le filtre INCLUDES, puis par le filtre + DEFLATE.

+ +
<Location "/cgi-bin/">
+    Options Includes
+    AddOutputFilterByType INCLUDES;DEFLATE text/html
+</Location>
+ + + +

Voir aussi

+ +
+
top
+

Directive FilterChain

+ + + + + + + +
Description:Configure la chaîne de filtrage
Syntaxe:FilterChain [+=-@!]nom_filtre ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Base
Module:mod_filter
+

Cette directive permet de configurer une chaîne de filtrage + composée de filtres déclarés. FilterChain + accepte un nombre illimité d'arguments, chacun d'entre eux étant + précédé d'un caractère de contrôle unique qui détermine l'action à + entreprendre :

+ +
+
+nom filtre
+
Ajoutenom filtre à la fin de la chaîne de filtrage
+ +
@nom filtre
+
Ajoute nom filtre au début de la chaîne de filtrage
+ +
-nom filtre
+
Supprime nom filtre de la chaîne de filtrage
+ +
=nom filtre
+
Supprime tous les filtres de la chaîne de filtrage existante et + les remplace par nom filtre
+ +
!
+
Supprime tous les filtres de la chaîne de filtrage existante
+ +
nom filtre
+
Équivalent à +nom filtre
+
+ +
+
top
+

Directive FilterDeclare

+ + + + + + + +
Description:Déclare un filtre intelligent
Syntaxe:FilterDeclare nom_filtre [type]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Base
Module:mod_filter
+

Cette directive permet de déclarer un filtre en sortie associé à + un en-tête ou une variable d'environnement qui déterminera les + conditions de son exécution. Le premier argument est le nom du + filtre destiné à être utilisé dans les directives FilterProvider, FilterChain et FilterProtocol.

+ +

Le dernier argument (optionnel) est le type du filtre, et peut + prendre les valeurs de ap_filter_type, à savoir + RESOURCE (valeur par défaut), CONTENT_SET, + PROTOCOL, TRANSCODE, + CONNECTION ou NETWORK.

+ +
+
top
+

Directive FilterProtocol

+ + + + + + + +
Description:Vérifie le respect du protocole HTTP
Syntaxe:FilterProtocol nom_filtre [nom_fournisseur] + drapeaux_protocole
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Base
Module:mod_filter
+

Cette directive permet à mod_filter de s'assurer + qu'un filtre ne s'exécutera pas s'il ne doit pas le faire, et que + les en-têtes de la réponse HTTP sont définis correctement en tenant + compte des effets du filtre.

+ +

Cette directive se présente sous deux formes. Avec trois + arguments, elle s'applique de manière spécifique à un nom + filtre et un nom fournisseur pour ce filtre. Avec + deux arguments, elle s'applique à un nom filtre pour + tout fournisseur qu'il actionne.

+ +

Les drapeaux spécifiés sont fusionnés avec les drapeaux que les + fournisseurs sous-jacents ont éventuellement enregistrés avec + mod_filter. Par exemple, un filtre peut avoir + spécifié en interne un drapeau équivalent à change=yes, + mais une configuration particulière du module peut le surcharger + en spécifiant change=no. +

+ +

drapeaux_protocole peut contenir un ou plusieurs + drapeaux parmi les suivants :

+ +
+
change=yes|no
+
Indique si le filtre doit modifier le contenu, y compris éventuellement sa + taille
+ +
change=1:1
+
Le filtre modifie le contenu, mais pas sa taille
+ +
byteranges=no
+
Le filtre ne peut pas traiter de réponses à des sous-requêtes et + nécessite des réponses complètes en entrée
+ +
proxy=no
+
Le filtre ne doit pas s'exécuter dans un contexte de mandataire
+ +
proxy=transform
+
Le filtre transforme la réponse de manière incompatible avec + l'en-tête HTTP Cache-Control: no-transform
+ +
cache=no
+
Le filtre fait en sorte que la sortie ne puisse pas être mise en + cache (par exemple en introduisant des modifications de contenu + aléatoires)
+
+ +
+
top
+

Directive FilterProvider

+ + + + + + + +
Description:Enregistre un filtre de contenu
Syntaxe:FilterProvider nom_filtre nom_fournisseur + expression
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Base
Module:mod_filter
+

Cette directive permet d'associer un fournisseur au + filtre intelligent. Le fournisseur sera invoqué si et seulement si + l'expression est évaluée vraie lorsque le sélecteur de + filtre est appelé pour la première fois.

+ +

+ nom fournisseur doit avoir été enregistré au cours du + chargement d'un module à l'aide de + ap_register_output_filter. +

+ +

expression est une expression ap_expr.

+ + +

Voir aussi

+ +
+
top
+

Directive FilterTrace

+ + + + + + +
Description:Obtention d'informations de débogage/diagnostique en +provenance de mod_filter
Syntaxe:FilterTrace nom_filtre niveau
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_filter
+

Cette directive permet d'obtenir des informations de débogage en + provenance de mod_filter. Elle est conçue pour + aider à tester et déboguer les fournisseurs (ou modules de filtrage) + ; elle peut aussi apporter une aide à l'utilisation de + mod_filter lui-même.

+ +

La sortie de débogage dépend de la définition d'argument + level :

+
+
0 (valeur par défaut)
+
Aucune information de débogage n'est générée.
+ +
1
+
mod_filter va enregistrer les ensembles de + conteneurs de données (buckets and brigades) qui traversent le + filtre dans le journal des erreurs, avant que le fournisseur ne les + traite. Ces informations sont similaires à celles générées par mod_diagnostics. +
+ +
2 (pas encore implémenté)
+
Ce niveau permettra d'enregistrer l'ensemble des données qui + traversent le filtre dans un fichier temporaire avant de les envoyer + au fournisseur. Pour un débogage mono-utilisateur + seulement ; l'enregistrement des données concernant + plusieurs requêtes simultannées ne sera pas supporté.
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html b/docs/manual/mod/mod_headers.html new file mode 100644 index 0000000..2459e8f --- /dev/null +++ b/docs/manual/mod/mod_headers.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_headers.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_headers.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_headers.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_headers.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_headers.html.en b/docs/manual/mod/mod_headers.html.en new file mode 100644 index 0000000..5261e8e --- /dev/null +++ b/docs/manual/mod/mod_headers.html.en @@ -0,0 +1,623 @@ + + + + + +mod_headers - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_headers

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Customization of HTTP request and response +headers
Status:Extension
Module Identifier:headers_module
Source File:mod_headers.c
+

Summary

+ +

This module provides directives to control and modify HTTP + request and response headers. Headers can be merged, replaced + or removed.

+
+ +
top
+
+

Order of Processing

+ +

The directives provided by mod_headers can + occur almost anywhere within the server configuration, and can be + limited in scope by enclosing them in configuration sections.

+ +

Order of processing is important and is affected both by the + order in the configuration file and by placement in configuration sections. These + two directives have a different effect if reversed:

+ +
RequestHeader append MirrorID "mirror 12"
+RequestHeader unset MirrorID
+ + +

This way round, the MirrorID header is not set. If + reversed, the MirrorID header is set to "mirror 12".

+
top
+
+

Early and Late Processing

+

mod_headers can be applied either early or late + in the request. The normal mode is late, when Request Headers are + set immediately before running the content generator and Response + Headers just as the response is sent down the wire. Always use + Late mode in an operational server.

+ +

Early mode is designed as a test/debugging aid for developers. + Directives defined using the early keyword are set + right at the beginning of processing the request. This means + they can be used to simulate different requests and set up test + cases, but it also means that headers may be changed at any time + by other modules before generating a Response.

+ +

Because early directives are processed before the request path's + configuration is traversed, early headers can only be set in a + main server or virtual host context. Early directives cannot depend + on a request path, so they will fail in contexts such as + <Directory> or + <Location>.

+
top
+
+

Examples

+ +
    +
  1. + Copy all request headers that begin with "TS" to the + response headers: + +
    Header echo ^TS
    + +
  2. + +
  3. + Add a header, MyHeader, to the response including a + timestamp for when the request was received and how long it + took to begin serving the request. This header can be used by + the client to intuit load on the server or in isolating + bottlenecks between the client and the server. + +
    Header set MyHeader "%D %t"
    + + +

    results in this header being added to the response:

    + +

    + MyHeader: D=3775428 t=991424704447256 +

    +
  4. + +
  5. + Say hello to Joe + +
    Header set MyHeader "Hello Joe. It took %D microseconds for Apache to serve this request."
    + + +

    results in this header being added to the response:

    + +

    + MyHeader: Hello Joe. It took D=3775428 microseconds for Apache + to serve this request. +

    +
  6. + +
  7. + Conditionally send MyHeader on the response if and + only if header MyRequestHeader is present on the request. + This is useful for constructing headers in response to some client + stimulus. Note that this example requires the services of the + mod_setenvif module. + +
    SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader
    +Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
    + + +

    If the header MyRequestHeader: myvalue is present on + the HTTP request, the response will contain the following header:

    + +

    + MyHeader: D=3775428 t=991424704447256 mytext +

    +
  8. + +
  9. + Enable DAV to work with Apache running HTTP through SSL hardware + (problem + description) by replacing https: with + http: in the Destination header: + +
    RequestHeader edit Destination ^https: http: early
    + +
  10. + +
  11. + Set the same header value under multiple nonexclusive conditions, + but do not duplicate the value in the final header. + If all of the following conditions applied to a request (i.e., + if the CGI, NO_CACHE and + NO_STORE environment variables all existed for the + request): + +
    Header merge Cache-Control no-cache env=CGI
    +Header merge Cache-Control no-cache env=NO_CACHE
    +Header merge Cache-Control no-store env=NO_STORE
    + + +

    then the response would contain the following header:

    + +

    + Cache-Control: no-cache, no-store +

    + +

    If append was used instead of merge, + then the response would contain the following header:

    + +

    + Cache-Control: no-cache, no-cache, no-store +

    +
  12. +
  13. + Set a test cookie if and only if the client didn't send us a cookie +
    Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"
    + +
  14. +
  15. + Append a Caching header for responses with a HTTP status code of 200 +
    Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"
    + +
  16. + +
+
+
top
+

Header Directive

+ + + + + + + + +
Description:Configure HTTP response headers
Syntax:Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_headers
Compatibility:SetIfEmpty available in 2.4.7 and later, expr=value +available in 2.4.10 and later
+

This directive can replace, merge or remove HTTP response + headers. The header is modified just after the content handler + and output filters are run, allowing outgoing headers to be + modified.

+ +

The optional condition argument determines which internal + table of responses headers this directive will operate against: + onsuccess (default, can be omitted) or always. + The difference between the two lists is that the headers contained in the + latter are added to the response even on error, and persisted across + internal redirects (for example, ErrorDocument handlers). + + Note also that repeating this directive with both conditions makes sense in + some scenarios because always is not a superset of + onsuccess with respect to existing headers:

+ +
    +
  • You're adding a header to a locally generated non-success (non-2xx) response, such + as a redirect, in which case only the table corresponding to + always is used in the ultimate response.
  • +
  • You're modifying or removing a header generated by a CGI script + or by mod_proxy_fcgi, + in which case the CGI scripts' headers are in the table corresponding to + always and not in the default table.
  • +
  • You're modifying or removing a header generated by some piece of + the server but that header is not being found by the default + onsuccess condition.
  • +
+ +

This difference between onsuccess and always is + a feature that resulted as a consequence of how httpd internally stores + headers for a HTTP response, since it does not offer any "normalized" single + list of headers. The main problem that can arise if the following concept + is not kept in mind while writing the configuration is that some HTTP responses + might end up with the same header duplicated (confusing users or sometimes even + HTTP clients). For example, suppose that you have a simple PHP proxy setup with + mod_proxy_fcgi and your backend PHP scripts adds the + X-Foo: bar header to each HTTP response. As described above, + mod_proxy_fcgi uses the always table to store + headers, so a configuration like the following ends up in the wrong result, namely + having the header duplicated with both values:

+ +
# X-Foo's value is set in the 'onsuccess' headers table
+Header set X-Foo: baz
+ + +

To circumvent this limitation, there are some known configuration + patterns that can help, like the following:

+ +
# 'onsuccess' can be omitted since it is the default
+Header onsuccess unset X-Foo
+Header always set X-Foo "baz"
+ + +

Separately from the condition parameter described above, you + can limit an action based on HTTP status codes for e.g. proxied or CGI + requests. See the example that uses %{REQUEST_STATUS} in the section above.

+ +

The action it performs is determined by the first + argument (second argument if a condition is specified). + This can be one of the following values:

+ +

Warning

+

Please read the difference between always + and onsuccess headers list described above + before start reading the actions list, since that important + concept still applies. Each action, in fact, works as described + but only on the target headers list.

+
+ +
+
add
+
The response header is added to the existing set of headers, + even if this header already exists. This can result in two + (or more) headers having the same name. This can lead to + unforeseen consequences, and in general set, + append or merge should be used instead.
+ +
append
+
The response header is appended to any existing header of + the same name. When a new value is merged onto an existing + header it is separated from the existing header with a comma. + This is the HTTP standard way of giving a header multiple values.
+ +
echo
+
Request headers with this name are echoed back in the + response headers. header may be a + regular expression. + value must be omitted.
+ +
edit
+
edit*
+
If this response header exists, its value is transformed according + to a regular expression + search-and-replace. The value argument is a regular expression, and the replacement + is a replacement string, which may contain backreferences or format specifiers. + The edit form will match and replace exactly once + in a header value, whereas the edit* form will replace + every instance of the search pattern if it appears more + than once.
+ +
merge
+
The response header is appended to any existing header of + the same name, unless the value to be appended already appears in the + header's comma-delimited list of values. When a new value is merged onto + an existing header it is separated from the existing header with a comma. + This is the HTTP standard way of giving a header multiple values. + Values are compared in a case sensitive manner, and after + all format specifiers have been processed. Values in double quotes + are considered different from otherwise identical unquoted values.
+ +
set
+
The response header is set, replacing any previous header + with this name. The value may be a format string.
+ +
setifempty
+
The request header is set, but only if there is no previous header + with this name. +
+ The Content-Type header is a special use case since there might be + the chance that its value have been determined but the header is not part + of the response when setifempty is evaluated. + It is safer to use set for this use case like in the + following example: +
Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"
+ +
+ +
unset
+
The response header of this name is removed, if it exists. + If there are multiple headers of the same name, all will be + removed. value must be omitted.
+ +
note
+
The value of the named response header is copied into an + internal note whose name is given by value. This is useful + if a header sent by a CGI or proxied resource is configured to be unset + but should also be logged.
+ Available in 2.4.7 and later.
+ +
+ +

This argument is followed by a header name, which + can include the final colon, but it is not required. Case is + ignored for set, append, merge, + add, unset and edit. + The header name for echo + is case sensitive and may be a regular + expression.

+ +

For set, append, merge and + add a value is specified as the next argument. + If value + contains spaces, it should be surrounded by double quotes. + value may be a character string, a string containing + mod_headers specific format specifiers (and character + literals), or an ap_expr expression prefixed + with expr=

+ +

The following format specifiers are supported in value:

+ + + + + + + + + + + + + + + + + + +
FormatDescription
%%The percent sign
%tThe time the request was received in Universal Coordinated Time + since the epoch (Jan. 1, 1970) measured in microseconds. The value + is preceded by t=.
%DThe time from when the request was received to the time the + headers are sent on the wire. This is a measure of the duration + of the request. The value is preceded by D=. + The value is measured in microseconds.
%lThe current load averages of the actual server itself. It is + designed to expose the values obtained by getloadavg() + and this represents the current load average, the 5 minute average, and + the 15 minute average. The value is preceded by l= with each + average separated by /.
+ Available in 2.4.4 and later. +
%iThe current idle percentage of httpd (0 to 100) based on available + processes and threads. The value is preceded by i=.
+ Available in 2.4.4 and later. +
%bThe current busy percentage of httpd (0 to 100) based on available + processes and threads. The value is preceded by b=.
+ Available in 2.4.4 and later. +
%{VARNAME}eThe contents of the environment + variable VARNAME.
%{VARNAME}sThe contents of the SSL environment + variable VARNAME, if mod_ssl is enabled.
+ +

Note

+

The %s format specifier is only available in + Apache 2.1 and later; it can be used instead of %e + to avoid the overhead of enabling SSLOptions + +StdEnvVars. If SSLOptions +StdEnvVars must + be enabled anyway for some other reason, %e will be + more efficient than %s.

+
+ +

Note on expression values

+

When the value parameter uses the ap_expr + parser, some expression syntax will differ from examples that evaluate + boolean expressions such as <If>:

+
    +
  • The starting point of the grammar is 'string' rather than 'expr'.
  • +
  • Function calls use the %{funcname:arg} syntax rather than + funcname(arg).
  • +
  • Multi-argument functions are not currently accessible from this + starting point
  • +
  • Quote the entire parameter, such as +
    Header set foo-checksum "expr=%{md5:foo}"
    + +
  • + +
+
+ +

For edit there is both a value argument + which is a regular expression, + and an additional replacement string. As of version 2.4.7 + the replacement string may also contain format specifiers.

+ +

The Header directive may be followed by + an additional argument, which may be any of:

+
+
early
+
Specifies early processing.
+
env=[!]varname
+
The directive is applied if and only if the environment variable varname exists. + A ! in front of varname reverses the test, + so the directive applies only if varname is unset.
+
expr=expression
+
The directive is applied if and only if expression + evaluates to true. Details of expression syntax and evaluation are + documented in the ap_expr documentation. +
# This delays the evaluation of the condition clause compared to <If>
+Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path.php$#"
+ +
+
+ +

Except in early mode, the + Header directives are processed just + before the response is sent to the network. This means that it is + possible to set and/or override most headers, except for some headers + added by the HTTP header filter. Prior to 2.2.12, it was not possible + to change the Content-Type header with this directive.

+ + +
+
top
+

RequestHeader Directive

+ + + + + + + + +
Description:Configure HTTP request headers
Syntax:RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_headers
Compatibility:SetIfEmpty available in 2.4.7 and later, expr=value +available in 2.4.10 and later
+

This directive can replace, merge, change or remove HTTP request + headers. The header is modified just before the content handler + is run, allowing incoming headers to be modified. The action it + performs is determined by the first argument. This can be one + of the following values:

+ +
+ +
add
+
The request header is added to the existing set of headers, + even if this header already exists. This can result in two + (or more) headers having the same name. This can lead to + unforeseen consequences, and in general set, + append or merge should be used instead.
+ +
append
+
The request header is appended to any existing header of the + same name. When a new value is merged onto an existing header + it is separated from the existing header with a comma. This + is the HTTP standard way of giving a header multiple + values.
+ +
edit
+
edit*
+
If this request header exists, its value is transformed according + to a regular expression + search-and-replace. The value argument is a regular expression, and the replacement + is a replacement string, which may contain backreferences or format specifiers. + The edit form will match and replace exactly once + in a header value, whereas the edit* form will replace + every instance of the search pattern if it appears more + than once.
+ +
merge
+
The request header is appended to any existing header of + the same name, unless the value to be appended already appears in the + existing header's comma-delimited list of values. When a new value is + merged onto an existing header it is separated from the existing header + with a comma. This is the HTTP standard way of giving a header multiple + values. Values are compared in a case sensitive manner, and after + all format specifiers have been processed. Values in double quotes + are considered different from otherwise identical unquoted values.
+ +
set
+
The request header is set, replacing any previous header + with this name
+ +
setifempty
+
The request header is set, but only if there is no previous header + with this name.
+ Available in 2.4.7 and later.
+ +
unset
+
The request header of this name is removed, if it exists. If + there are multiple headers of the same name, all will be removed. + value must be omitted.
+
+ +

This argument is followed by a header name, which can + include the final colon, but it is not required. Case is + ignored. For set, append, merge and + add a value is given as the third argument. If a + value contains spaces, it should be surrounded by double + quotes. For unset, no value should be given. + value may be a character string, a string containing format + specifiers or a combination of both. The supported format specifiers + are the same as for the Header, + please have a look there for details. For edit both + a value and a replacement are required, and are + a regular expression and a + replacement string respectively.

+ +

The RequestHeader directive may be followed by + an additional argument, which may be any of:

+
+
early
+
Specifies early processing.
+
env=[!]varname
+
The directive is applied if and only if the environment variable varname exists. + A ! in front of varname reverses the test, + so the directive applies only if varname is unset.
+
expr=expression
+
The directive is applied if and only if expression + evaluates to true. Details of expression syntax and evaluation are + documented in the ap_expr documentation.
+
+ +

Except in early mode, the + RequestHeader directive is processed + just before the request is run by its handler in the fixup phase. + This should allow headers generated by the browser, or by Apache + input filters to be overridden or modified.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html.fr.utf8 b/docs/manual/mod/mod_headers.html.fr.utf8 new file mode 100644 index 0000000..993d4a3 --- /dev/null +++ b/docs/manual/mod/mod_headers.html.fr.utf8 @@ -0,0 +1,680 @@ + + + + + +mod_headers - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_headers

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Personnalisation des en-têtes de requêtes et de réponses +HTTP
Statut:Extension
Identificateur de Module:headers_module
Fichier Source:mod_headers.c
+

Sommaire

+ +

Ce module fournit des directives permettant de contrôler et + modifier les en-têtes de requêtes et de réponses HTTP. Les en-têtes + peuvent être fusionnés, remplacés ou supprimés.

+
+ +
top
+
+

Chronologie du traitement

+ +

Les directives fournies par mod_headers peuvent + s'insérer presque partout dans la configuration du serveur, et on + peut limiter leur portée en les plaçant dans des sections de configuration.

+ +

La chronologie du traitement est importante et est affectée par + l'ordre d'apparition des directives dans le fichier de configuration + et par leur placement dans les sections de configuration. Ainsi, + ces deux directives ont un effet différent si leur ordre est inversé + :

+ +
RequestHeader append MirrorID "mirror 12"
+RequestHeader unset MirrorID
+ + +

Dans cet ordre, l'en-tête MirrorID n'est pas défini. + Si l'ordre des directives était inversé, l'en-tête + MirrorID serait défini à "mirror 12".

+
top
+
+

Traitement précoce et traitement +tardif

+

mod_headers peut agir soir précocement, soit + tardivement au niveau de la requête. Le mode normal est le mode + tardif, lorsque les en-têtes de requête sont définis, immédiatement + avant l'exécution du générateur de contenu, et pour les en-têtes de + réponse, juste au moment où la réponse est envoyée sur le réseau. + Utilisez toujours le mode tardif sur un serveur en production.

+ +

Le mode précoce a été conçu à des fins d'aide aux tests et au + débogage pour les développeurs. Les directives définies en utilisant + le mot-clé early sont censées agir au tout début du + traitement de la requête. Cela signifie que l'on peut les utiliser + pour simuler différentes requêtes et définir des situations de test, + tout en gardant à l'esprit que les en-têtes peuvent être modifiés à + tout moment par d'autres modules avant que le réponse ne soit + générée.

+ +

Comme les directives précoces sont traitées avant que le + chemin de la requête ne soit parcouru, les en-têtes + précoces ne peuvent être définis que dans un contexte de serveur + principal ou de serveur virtuel. Les directives précoces ne peuvent + pas dépendre d'un chemin de requête, si bien qu'elles échoueront + dans des contextes tels que <Directory> ou <Location>.

+
top
+
+

Exemples

+ +
    +
  1. + Copie tous les en-têtes de requête qui commencent par "TS" vers + les en-têtes de la réponse : + +
    Header echo ^TS
    + +
  2. + +
  3. + Ajoute à la réponse un en-tête, mon-en-tête, qui + contient un horodatage permettant de déterminer le moment où la + requête a été reçue, et le temps qui s'est écoulé jusqu'à ce que + la requête ait commencé à être servie. Cet en-tête peut être + utilisé par le client pour estimer la charge du serveur ou + isoler les goulets d'étranglement entre le client et le + serveur. + +
    Header set mon-en-tête "%D %t"
    + + +

    le résultat est l'ajout à la réponse d'un en-tête du type :

    + +

    + mon-en-tête: D=3775428 t=991424704447256 +

    +
  4. + +
  5. + Dit Bonjour à Joe + +

    + Header set mon-en-tête "Bonjour Joe. Il a fallu %D microsecondes \
    + à Apache pour servir cette requête." +

    + +

    le résultat est l'ajout à la réponse d'un en-tête du type :

    + +
    	Header set MyHeader "Bonjour Joe. Il a fallu D=3775428 microsecondes à Apache
    +          pour servir cette requête."
    + +
  6. + +
  7. + Ajoute l'en-tête mon-en-tête à la réponse si et + seulement si l'en-tête mon-en-tête-requête est + présent dans la requête. Ceci peut s'avérer utile pour générer + des en-têtes de réponse "à la tête du client". Notez que cet + exemple nécessite les services du module + mod_setenvif. + +
    SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader
    +Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
    + + +

    Si l'en-tête mon-en-tête-requête: mavaleur est + présent dans la requête HTTP, la réponse contiendra un en-tête + du type :

    + +

    + mon-en-tête: D=3775428 t=991424704447256 montexte +

    +
  8. + +
  9. + Permet à DAV de fonctionner avec Apache sur SSL (voir la description + du problème) en remplaçant https: par + http: dans l'en-tête Destination : + +
    RequestHeader edit Destination ^https: http: early
    + +
  10. + +
  11. + Définit la valeur d'un même en-tête sous de multiples conditions + non exclusives, mais ne duplique pas une valeur déjà définie + dans l'en-tête qui en résulte. Si toutes les conditions + suivantes sont satisfaites pour une requête (en d'autres termes, + si les trois variables d'environnement CGI, + NO_CACHE et NO_STORE existent pour la + requête) : + +
    Header merge Cache-Control no-cache env=CGI
    +Header merge Cache-Control no-cache env=NO_CACHE
    +Header merge Cache-Control no-store env=NO_STORE
    + + +

    alors, la réponse contiendra l'en-tête suivant :

    + +

    + Cache-Control: no-cache, no-store +

    + +

    Si append avait été utilisé à la place de + merge, la réponse aurait contenu l'en-tête suivant + :

    + +

    + Cache-Control: no-cache, no-cache, no-store +

    +
  12. +
  13. + Définit un cookie de test si et seulement si le client n'envoie + pas de cookie +
    Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"
    + +
  14. +
  15. + Ajoute un en-tête de mise en cache pour les réponses avec un + code d'état HTTP de 200 +
    Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"
    + +
  16. + +
+
+
top
+

Directive Header

+ + + + + + + + +
Description:Configure les en-têtes d'une réponse HTTP
Syntaxe:Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +en-tête [[expr=]valeur +[remplacement] +[early|env=[!]variable|expr=expression]] +
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_headers
Compatibilité:SetIfEmpty est disponible depuis la version 2.4.7 du +serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la +version 2.4.10
+

Cette directive permet de remplacer, fusionner, ou + supprimer des en-têtes de réponse HTTP. L'en-tête est modifié juste + après que le gestionnaire de contenu et les filtres en sortie ne + s'exécutent, ce qui permet la modification des en-têtes + sortants.

+ +

L'argument optionnel condition permet de déterminer + sur quelle table interne d'en-têtes de réponses cette directive va + opérer : onsuccess (valeur par défaut, peut être omis) ou + always. A la différence de ceux de la première table, les + en-têtes de la seconde sont ajoutés à la réponse même en cas d'erreur et + sont conservés au fil des redirections internes (par exemple les + gestionnaires ErrorDocument). Notez aussi que la répétition + de cette directive avec les deux conditions peut être pertinente + dans certains scénarios, car always n'englobe pas + onsuccess en ce qui concerne les en-têtes existants :

+ +
    +
  • Vous ajoutez un en-tête à une réponse + générée localement et échouée (non-2xx), + une redirection par exemple, et dans ce cas, seule la table + correspondant à always est utilisée dans la réponse + définitive.
  • +
  • Vous modifiez ou supprimez un en-tête généré par un script CGI ou par + mod_proxy_fcgi, auquel cas, les en-têtes des scripts CGI + sont dans la table correspondant à always et non dans la + table par défaut.
  • +
  • Vous modifiez ou supprimez un en-tête généré par tel ou tel + composant du serveur, mais cet en-tête n'est pas trouvé par la + condition par défaut onsuccess.
  • +
+ +

Comme il n'y a pas de liste unique "normalisée" d'en-têtes, la manière + dont httpd stocke en interne les en-têtes des réponses HTTP est à l'origine + de la fonctionnalité que constitue la différence entre + onsuccess et always. Si vous ne gardez pas à + l'esprit le concept ci-après lors de l'écriture de votre configuration, + certaines réponses HTTP pourront contenir des en-têtes dupliqués + (ce qui pourra dérouter les utilisateurs ou même parfois les clients HTTP). Supposons par + exemple que votre configuration comporte un mandataire PHP simple avec + mod_proxy_fcgi et que votre script PHP d'arrière-plan + ajoute l'en-tête X-Foo: bar à chaque réponse HTTP. Comme décrit + plus haut, mod_proxy_fcgi utilise la table + always pour stocker les en-têtes, et une configuration comme la + suivante n'aboutira pas au résultat attendu car l'en-tête sera dupliqué + avec les deux valeurs :

+ +
# la valeur de X-Foo est définie dans la table d'en-têtes 'onsuccess'
+Header set X-Foo: baz
+ + +

Plusieurs modèles de configuration permettent de contourner ce problème, + comme celui-ci :

+ +
# 'onsuccess' peut être omis car il s'agit de la valeur par défaut
+Header onsuccess unset X-Foo
+Header always set X-Foo "baz"
+ + +

Outre le paramètre condition décrit ci-dessus, vous + pouvez limiter une action en fonction de codes d'état HTTP, par + exemple pour les requêtes mandatées ou générées par un programme + CGI. Voir l'exemple qui utilise %{REQUEST_STATUS} dans la section + ci-dessus.

+ +

L'action que cette directive provoque est déterminée par le + premier argument (ou par le second argument si une + condition est spécifiée). Il peut prendre + une des valeurs suivantes :

+ +

Avertissement

+

Vous devez lire la différence, décrite plus haut, entre les listes + d'en-têtes always et onsuccess avant de lire + la liste d'actions ci-dessous car cet important concept s'applique + encore ici. En fait, chaque action fonctionne telle qu'elle est décrite + mais seulement pour la liste d'en-têtes cible.

+
+ +
+
add
+
L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il + existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs) + en-têtes possèdant le même nom et donc induire des conséquences + imprévues ; en général, il est préférable d'utiliser + set, append ou merge.
+ +
append
+
La valeur d'en-tête est ajoutée à tout en-tête existant de même + nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée + de celles qui sont déjà présentes par une virgule. Il s'agit de la + méthode HTTP standard permettant d'affecter plusieurs valeurs à un + en-tête.
+ +
echo
+
Les en-têtes de la requête possédant le nom spécifié sont + recopiés vers les en-têtes de la réponse. en-tête peut + être une expression rationnelle, et + valeur ne doit pas être présent.
+ +
edit
+
edit*
+
Si l'en-tête existe, sa valeur est modifiée en fonction d'une + expression rationnelle de type + recherche/remplacement. L'argument valeur est une + expression rationnelle, et + l'argument remplacement une chaîne de caractères de + remplacement qui peut contenir des références + arrières ou des spécificateurs de format. La forme edit n'effectuera une + recherche/remplacement qu'une seule fois dans la valeur de + l'en-tête, alors que la forme edit* en effectuera autant + que le nombre d'apparition de la chaîne à remplacer.
+ +
merge
+
La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf + si elle apparaît déjà dans la liste des valeurs préexistantes de + l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est + ainsi ajoutée, elle est séparée de celles qui sont déjà présentes + par une virgule. Il s'agit de la méthode HTTP standard permettant + d'affecter plusieurs valeurs à un en-tête. Les valeurs sont + comparées en tenant compte de la casse, et après le traitement de + tous les spécificateurs de format. Une valeur entourée de guillemets + est considérée comme différente de la même valeur mais sans + guillemets.
+ +
set
+
L'en-tête est défini, remplaçant tout en-tête préexistant avec + le même nom. L'argument valeur peut être une chaîne de + formatage.
+ +
setifempty
+
L'en-tête est défini, mais seulement s'il n'existe + aucun en-tête avec le même nom. +
+ L'en-tête Content-Type est un cas particulier car il est possible que sa + valeur ait été déterminée mais que l'en-tête ne soit pas présent dans la + réponse lorsque setifempty est évalué. Dans ce cas, il est + préférable d'utiliser set comme dans l'exemple suivant : +
Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"
+ +
+ +
unset
+
L'en-tête est supprimé s'il existe. Si plusieurs en-têtes + possèdent le même nom, ils seront tous supprimés. L'argument + value ne doit pas apparaître.
+ +
note
+
La valeur de l'en-tête considéré est copiée dans une + note interne dont le nom est spécifié via l'argument + valeur. Ceci permet de journaliser la valeur d'un en-tête + envoyé par un programme CGI ou une ressource mandatée, même s'il + est prévu de l'effacer.
+ Disponible à partir de la version 2.4.7 du serveur HTTP Apache.
+ +
+ +

Cet argument est suivi d'un nom d'en-tête qui peut se + terminer par un caractère ':', mais ce n'est pas obligatoire. La + casse est ignorée avec set, append, + merge, add, unset et + edit. Le nom d'en-tête est sensible à la + casse pour echo et peut être une expression rationnelle.

+ +

Avec set, append, merge et + add, une valeur est spécifiée comme + argument suivant. Si valeur contient des espaces, elle + doit être entourée de guillemets. valeur peut être une + chaîne de caractères, une chaîne contenant des spécificateurs de + format propres à mod_headers (et des caractères + littéraux), ou une expression ap_expr + préfixée par expr=.

+ +

valeur supporte les spécificateurs de format suivants :

+ + + + + + + + + + + + + + + + + + +
FormatDescription
%%Le caractère pourcentage
%tLe moment de réception de la requête en temps + universel coordonné depuis le temps epoch (Jan. 1, 1970) et + exprimé en microsecondes. La valeur est précédée de + t=.
%DLe temps écoulé entre la réception de la requête et l'envoi + des en-têtes sur le réseau. Il s'agit de la durée de traitement + de la requête. La valeur est précédée de D=. La + valeur est exprimée en microsecondes.
%lLa charge moyenne courante du serveur proprement dit. Ce + sont les valeurs obtenues par getloadavg() qui + représentent la charge moyenne courante, sur 5 minutes et sur 15 + minutes. Chaque valeur est précédée de l= et + séparée de la suivante par un /.
+ Disponible depuis la version 2.4.4 du serveur HTTP Apache. +
%iLe pourcentage courant de httpd au repos (de 0 à 100) + en se basant sur le nombre de processus et threads disponibles. + La valeur est précédée de i=.
+ Disponible depuis la version 2.4.4 du serveur HTTP Apache. +
%bLe pourcentage courant de httpd utilisé (de 0 à 100) + en se basant sur le nombre de processus et threads disponibles. + La valeur est précédée de b=.
+ Disponible depuis la version 2.4.4 du serveur HTTP Apache. +
%{NOM_VARIABLE}eLe contenu de la variable + d'environnement NOM_VARIABLE.
%{NOM_VARIABLE}sLe contenu de la variable + d'environnement SSL NOM_VARIABLE, si + mod_ssl est activé.
+ +

Note

+

Le spécificateur de format %s est disponible + depuis la version 2.1 d'Apache ; il peut être utilisé à la place + de %e pour éviter de devoir spécifier + SSLOptions +StdEnvVars. Cependant, si + SSLOptions +StdEnvVars doit tout de même être + spécifié pour une raison quelconque, %e sera plus + efficace que %s.

+
+ +

Note à propos des valeurs des expressions

+

Lorsque le paramètre valeur utilise l'interpréteur ap_expr, certaines syntaxes d'expressions + seront différentes des exemples qui évaluent des expressions + booléennes telles que <If> :

+
    +
  • Le point de départ de la syntaxe est 'string' au lieu de + 'expr'.
  • +
  • Les appels de fonction utilisent la syntaxe %{funcname:arg} au + lieu de funcname(arg).
  • +
  • Les fonctions multi-arguments ne sont pas encore disponibles + depuis le point de départ 'string'.
  • +
  • Il faut mettre entre guillemets l'ensemble du paramètre, comme + dans l'exemple suivant : +
    Header set foo-checksum "expr=%{md5:foo}"
    + +
  • + +
+
+ +

editnécessite les deux arguments + valeur, qui est une expression + rationnelle, et une chaîne additionnelle + remplacement. Depuis la version 2.4.7, la chaîne de + remplacement peut aussi + contenir des spécificateurs de format.

+ +

La directive Header peut être suivie d'un + argument additionnel qui peut prendre les valeurs suivantes :

+ +
+
early
+
Spécifie traitement préalable.
+
env=[!]variable
+
La directive est appliquée si et seulement si la variable d'environnement + variable existe. Un ! devant + variable inverse le test, et la directive ne + s'appliquera alors que si variable n'est pas définie.
+
expr=expression
+
La directive s'applique si et seulement si expression + est évaluée à true. Vous trouverez plus de détails à propos de la + syntaxe et de l'évaluation des expressions dans la documentation ap_expr. +
         # Cet exemple retarde l'évaluation de la clause de condition par
+	 # rapport à <If>
+         Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path.php$#"
+ +
+
+ +

Excepté le cas du mode précoce, les + directives Header sont traitées juste avant + l'envoi de la réponse sur le réseau. Cela signifie qu'il est + possible de définir et/ou modifier la plupart des en-têtes, à + l'exception de certains en-têtes qui sont ajoutés par le filtre + d'en-tête HTTP. Avant la version 2.2.12, il n'était pas + possible de modifier l'en-tête Content-Type avec cette directive.

+ +
+
top
+

Directive RequestHeader

+ + + + + + + + +
Description:Configure les en-têtes d'une requête HTTP
Syntaxe:RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +en-tête [[expr=]valeur +[remplacement] +[early|env=[!]variable|expr=expression]] +
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_headers
Compatibilité:SetIfEmpty est disponible depuis la version 2.4.7 du +serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la +version 2.4.10
+

Cette directive permet de remplacer, fusionner, modifier ou + supprimer des en-têtes de requête HTTP. L'en-tête est modifié juste + avant que le gestionnaire de contenu ne s'exécute, ce qui permet la + modification des en-têtes entrants. L'action effectuée est + déterminée par le premier argument. Ce dernier accepte les valeurs + suivantes :

+ +
+ +
add
+
L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il + existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs) + en-têtes possèdant le même nom et donc induire des conséquences + imprévues ; en général, il est préférable d'utiliser + set, append ou merge.
+ +
append
+
La valeur d'en-tête est ajoutée à tout en-tête existant de même + nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée + de celles qui sont déjà présentes par une virgule. Il s'agit de la + méthode HTTP standard permettant d'affecter plusieurs valeurs à un + en-tête.
+ +
edit
+
edit*
+
Si l'en-tête existe, sa valeur est modifiée en fonction d'une + expression rationnelle de type + recherche/remplacement. L'argument valeur est une + expression rationnelle, et + l'argument remplacement une chaîne de caractères de + remplacement qui peut contenir des références + arrières ou des spécificateurs de format. Avec + edit, la chaîne de l'en-tête correspondant au modèle ne + sera recherchée et remplacée qu'une seule fois, alors qu'avec + edit*, elle le sera pour chacune de ses instances si + elle apparaît plusieurs fois.
+ +
merge
+
La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf + si elle apparaît déjà dans la liste des valeurs préexistantes de + l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est + ainsi ajoutée, elle est séparée de celles qui sont déjà présentes + par une virgule. Il s'agit de la méthode HTTP standard permettant + d'affecter plusieurs valeurs à un en-tête. Les valeurs sont + comparées en tenant compte de la casse, et après le traitement de + tous les spécificateurs de format. Une valeur entourée de guillemets + est considérée comme différente de la même valeur mais sans + guillemets.
+ +
set
+
L'en-tête est défini, remplaçant tout en-tête préexistant avec + le même nom.
+ +
setifempty
+
L'en-tête est défini, mais seulement s'il n'existe + aucun en-tête avec le même nom.
+ Disponible depuis la version 2.4.7 du serveur HTTP Apache.
+ +
unset
+
L'en-tête est supprimé s'il existe. Si plusieurs en-têtes + possèdent le même nom, ils seront tous supprimés. L'argument + value ne doit pas apparaître.
+
+ +

Cet argument est suivi d'un nom d'en-tête qui peut se terminer + par un caractère ':', mais ce n'est pas obligatoire. La casse est + ignorée. Avec set, append, + merge et add, une valeur est + fournie en troisième argument. Si une valeur contient des + espaces, elle doit être entourée de guillemets. Avec + unset, aucune valeur ne doit apparaître. + valeur peut être une chaîne de caractères, une chaîne + contenant des spécificateurs de format, ou une combinaison des deux. + Les spécificateurs de format supportés sont les mêmes que ceux de la + directive Header, à + laquelle vous pouvez vous reporter pour plus de détails. Avec + edit, les deux arguments valeur et + remplacement sont obligatoires, et correspondent + respectivement à une expression + rationnelle et à une chaîne de remplacement.

+ +

La directive RequestHeader peut être + suivie d'un argument supplémentaire, qui pourra prendre les valeurs + suivantes :

+
+
early
+
Spécifie traitement préalable.
+
env=[!]variable
+
La directive est appliquée si et seulement si la variable d'environnement + variable existe. Un ! devant + variable inverse le test, et la directive ne + s'appliquera alors que si variable n'est pas définie.
+
expr=expression
+
La directive s'applique si et seulement si expression + est évaluée à true. Vous trouverez plus de détails à propos de la + syntaxe et de l'évaluation des expressions dans la documentation ap_expr.
+
+ +

Excepté le cas du mode précoce, la directive + RequestHeader est traitée juste avant la + prise en compte de la requête par son gestionnaire, au cours de la + phase de vérification. Ceci permet la modification des en-têtes + générés par le navigateur, ou par les filtres en entrée + d'Apache.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html.ja.utf8 b/docs/manual/mod/mod_headers.html.ja.utf8 new file mode 100644 index 0000000..b14a536 --- /dev/null +++ b/docs/manual/mod/mod_headers.html.ja.utf8 @@ -0,0 +1,381 @@ + + + + + +mod_headers - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_headers

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:HTTP リクエストã®ãƒ˜ãƒƒãƒ€ã¨å¿œç­”ã®ãƒ˜ãƒƒãƒ€ã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º
ステータス:Extension
モジュール識別å­:headers_module
ソースファイル:mod_headers.c
互æ›æ€§:RequestHeader +㯠Apache 2.0 以é™ã®ã¿ã§ä½¿ç”¨å¯èƒ½
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ HTTP ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã¨å¿œç­”ヘッダを制御ã—〠+ 変更ã™ã‚‹ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’æä¾›ã—ã¾ã™ã€‚ヘッダを追加ã—ãŸã‚Šã€ + ç½®ãæ›ãˆãŸã‚Šã€å‰Šé™¤ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+
Support Apache!

トピック

+

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+
top
+
+

処ç†ã®é †ç•ª

+ +

mod_headers ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚µãƒ¼ãƒè¨­å®šã®ã»ã¼ã©ã“ã«ã§ã‚‚ + 書ãã“ã¨ãŒã§ãã€å½±éŸ¿ã™ã‚‹ç¯„囲を設定用セクションã§å›²ã‚€ã“ã¨ã§é™å®šã™ã‚‹ + ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

処ç†ã®é †ç•ªã¯é‡è¦ã§ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®é †ç•ªã¨ã€è¨­å®šç”¨ã‚»ã‚¯ã‚·ãƒ§ãƒ³å†…ã®ä½ç½®ã¨ã®ä¸¡æ–¹ã« + 影響ã•ã‚Œã¾ã™ã€‚以下ã®äºŒã¤ã®ãƒ˜ãƒƒãƒ€ã¯é †ç•ªãŒé€†ã«ãªã‚‹ã¨ + é•ã†çµæžœã«ãªã‚Šã¾ã™:

+ +

+ RequestHeader append MirrorID "mirror 12"
+ RequestHeader unset MirrorID +

+ +

ã“ã®é †ç•ªã®å ´åˆã¯ã€MirrorID ヘッダã¯è¨­å®šã•ã‚Œã¾ã›ã‚“。 + 逆ã«ãªã£ã¦ã„ã‚‹ã¨ã€MirrorID ヘッダ㯠"mirror 12" ã«è¨­å®šã•ã‚Œã¾ã™ã€‚

+
top
+
+

早期処ç†ã€å¾ŒæœŸå‡¦ç†

+

mod_headers ã§ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ—©æœŸã‹å¾ŒæœŸã‹ã® + ã©ã¡ã‚‰ã§é©ç”¨ã™ã‚‹ã‹ã‚’é¸ã¹ã¾ã™ã€‚通常ã¯å¾ŒæœŸãƒ¢ãƒ¼ãƒ‰ã§ã€ + コンテンツ生æˆãŒå®Ÿè¡Œã•ã‚Œã‚‹ç›´å‰ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ãŒã‚»ãƒƒãƒˆã•ã‚Œã€ + レスãƒãƒ³ã‚¹ã¨ã—ã¦é€å‡ºã•ã‚Œã‚‹ç›´å‰ã«ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ãŒã‚»ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚ + é‹ç”¨ä¸­ã®ã‚µãƒ¼ãƒã§ã¯å¿…ãšå¾ŒæœŸãƒ¢ãƒ¼ãƒ‰ã‚’使ã£ã¦ãã ã•ã„。

+ +

早期モードã¯é–‹ç™ºè€…å‘ã‘ã®ãƒ†ã‚¹ãƒˆ/デãƒãƒƒã‚°ç”¨ã«è¨­è¨ˆã•ã‚Œã¦ã„ã¾ã™ã€‚ + early キーワード指定ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã‚ˆã£ã¦ã€ + リクエスト処ç†ã®é–‹å§‹åœ°ç‚¹ã«ãªã‚Šã¾ã™ã€‚ + ã¤ã¾ã‚Šã€ç•°ãªã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’試ã—ãŸã‚Šãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã‚’セットアップã™ã‚‹ã®ã« + 活用ã§ãる一方ã§ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’生æˆã™ã‚‹å‰ã«ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã£ã¦ + ヘッダãŒæ›¸ãæ›ãˆã‚‰ã‚Œã¦ã—ã¾ã†ã‹ã‚‚ã—ã‚Œãªã„ã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚

+ +

early ディレクティブã§ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ‘スã®è¨­å®šãŒè§£æ±ºã•ã‚Œã‚‹å‰ã« + 処ç†ã•ã‚Œã‚‹ã®ã§ã€ãƒ¡ã‚¤ãƒ³ã‚µãƒ¼ãƒã‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã®ã¿ã€ + 早期ヘッダをセットã§ãã¾ã™ã€‚early ディレクティブã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ‘ス㫠+ ä¾å­˜ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ã®ã§ã€<Directory> ã‚„ + <Location> ã¨ã„ã£ãŸã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã§ã¯ä½¿ç”¨ + ã§ãã¾ã›ã‚“。

+
top
+
+

例

+ +
    +
  1. リクエストヘッダ中㮠"TS" ã§å§‹ã¾ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’ã™ã¹ã¦å¿œç­”ヘッダ㫠+ コピーã—ã¾ã™: +

    + Header echo ^TS +

    +
  2. + +
  3. + リクエストをå—ã‘付ã‘ãŸæ™‚刻ã¨ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã—ãŸæ™‚間を入れãŸãƒ˜ãƒƒãƒ€ã€ + MyHeader を応答ã«è¿½åŠ ã—ã¾ã™ã€‚ã“ã®ãƒ˜ãƒƒãƒ€ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ + サーãƒã®è² è·ã‚’直観的ã«çŸ¥ã‚‹ãŸã‚ã‚„ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ-サーãƒé–“ã® + ボトルãƒãƒƒã‚¯ã‚’調ã¹ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + +

    + Header add MyHeader "%D %t" +

    + +

    上記ã®è¨­å®šã§ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ãªãƒ˜ãƒƒãƒ€ãŒå¿œç­”ã«è¿½åŠ ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚Šã¾ã™:

    + +

    + MyHeader: D=3775428 t=991424704447256 +

    +
  4. + +
  5. + Joe ã«ã‚ã„ã•ã¤ã‚’ã—ã¾ã™: + +

    + Header add MyHeader "Hello Joe. It took %D microseconds for Apache to serve this request." +

    + +

    以下ã®ã‚ˆã†ãªãƒ˜ãƒƒãƒ€ãŒå¿œç­”ã«è¿½åŠ ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚Šã¾ã™

    + +

    + MyHeader: Hello Joe. It took D=3775428 microseconds for Apache to serve this request. +

    +
  6. + +
  7. リクエスト㫠"MyRequestHeader" ãŒã‚ã‚‹ã¨ãã«é™ã‚Š MyHeader を応答㫠+ 付ã‘ã¾ã™ã€‚ã“ã‚Œã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¦æ±‚ã«å¿œãˆã¦ãƒ˜ãƒƒãƒ€ã‚’作æˆã™ã‚‹ã¨ãã« + å½¹ã«ç«‹ã¡ã¾ã™ã€‚ã“ã®ä¾‹ã§ã¯ mod_setenvif モジュールãŒå¿…è¦ãªã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。 + +

    + SetEnvIf MyRequestHeader value HAVE_MyRequestHeader
    + Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader +

    + +

    ã‚‚ã— HTTP リクエスト㫠MyRequestHeader: value ヘッダ㌠+ ã‚ã‚‹ã¨ã€å¿œç­”ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªãƒ˜ãƒƒãƒ€ãŒä»˜åŠ ã•ã‚Œã¾ã™ã€‚

    + +

    + MyHeader: D=3775428 t=991424704447256 mytext +

    +
  8. +
+
+
top
+

Header ディレクティブ

+ + + + + + + +
説明:HTTP 応答ヘッダã®è¨­å®š
構文:Header [condition] set|append|add|unset|echo +header [value] [early|env=[!]variable]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Extension
モジュール:mod_headers
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠HTTP 応答ヘッダを置æ›ã€è¿½åŠ ã€å‰Šé™¤ã§ãã¾ã™ã€‚ + ヘッダã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒãƒ³ãƒ‰ãƒ©ã‚„出力フィルタãŒå®Ÿè¡Œã•ã‚ŒãŸç›´å¾Œã«å®Ÿè¡Œã•ã‚Œã€ + 出ã¦è¡Œãヘッダを変更ã§ãるよã†ã«ãªã£ã¦ã„ã¾ã™ã€‚

+ +

オプション㮠condition 㯠onsuccess ã‹ + always ã®ã©ã¡ã‚‰ã‹ã‚’指定ã§ãã¾ã™ã€‚ã“ã‚Œã¯å†…部ヘッダテーブルã®ã©ã‚Œã‚’ + æ“作ã™ã‚‹ã‹ã‚’決定ã—ã¾ã™ã€‚onsuccess 㯠2xx + ステータスコードã®ã€always ã¯å…¨ã¦ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ + (2xx ã‚’å«ã‚€) ã®æ„味ã«ãªã‚Šã¾ã™ã€‚ + ã‚るモジュールã§ã‚»ãƒƒãƒˆã•ã‚Œã‚‹ãƒ˜ãƒƒãƒ€ã‚’アンセットã—ãŸã„å ´åˆã¯ç‰¹ã«ã€ + ã©ã®ãƒ†ãƒ¼ãƒ–ルãŒå½±éŸ¿ã‚’å—ã‘ã‚‹ã‹ã‚’実際ã«è©¦ã—ãŸã»ã†ãŒã‚ˆã„ã§ã—ょã†ã€‚

+ +

è¡Œãªã†å‡¦ç†ã¯äºŒç•ªç›®ã®ã®å¼•æ•°ã§æ±ºã¾ã‚Šã¾ã™ã€‚ + ã“ã®å¼•æ•°ã«ã¯æ¬¡ã®å€¤ã‚’指定ã§ãã¾ã™:

+ +
+
set
+
応答ヘッダを設定ã—ã¾ã™ã€‚åŒã˜åå‰ã®ãƒ˜ãƒƒãƒ€ãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯ãれを + ç½®ãæ›ãˆã¾ã™ã€‚value ã«ã¯ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å­—列を + 指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ +
append
+
応答ヘッダを既ã«å­˜åœ¨ã™ã‚‹åŒã˜åå‰ã®ãƒ˜ãƒƒãƒ€ã«è¿½åŠ ã—ã¾ã™ã€‚ + æ–°ã—ã„値ãŒæ—¢å­˜ã®ãƒ˜ãƒƒãƒ€ã«è¿½åŠ ã•ã‚Œã‚‹ã¨ãã«ã¯ã€æ—¢å­˜ã®ãƒ˜ãƒƒãƒ€ã® + 後ã«ã‚³ãƒ³ãƒžã§åŒºåˆ‡ã‚‰ã‚Œã¦è¿½åŠ ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯ãƒ˜ãƒƒãƒ€ã«è¤‡æ•°ã®å€¤ã‚’ + 指定ã™ã‚‹ã¨ãã® HTTP ã®æ¨™æº–ã®æ–¹æ³•ã§ã™ã€‚
+ +
add
+
ヘッダãŒæ—¢ã«å­˜åœ¨ã—ã¦ã„ã‚‹ã¨ãã§ã•ãˆã‚‚ã€å¿œç­”ヘッダを + 既存ã®ãƒ˜ãƒƒãƒ€ã«è¿½åŠ ã—ã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€äºŒã¤ (ã‹ãれ以上) ã® + ヘッダã®åå‰ãŒåŒã˜ã«ãªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ãã®çµæžœã€æƒ³å®šã§ããªã„ + ã“ã¨ãŒèµ·ã“ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã®ã§ã€ä¸€èˆ¬çš„ã«ã¯ append ã®æ–¹ã‚’ + 使ã†æ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚
+ +
unset
+
ã‚‚ã—指定ã•ã‚ŒãŸåå‰ã®å¿œç­”ヘッダãŒå­˜åœ¨ã—ã¦ã„ã‚Œã°ã€å‰Šé™¤ã•ã‚Œã¾ã™ã€‚ + åŒã˜åå‰ã®ãƒ˜ãƒƒãƒ€ãŒè¤‡æ•°ã‚ã‚‹ã¨ãã¯ã€ã™ã¹ã¦å‰Šé™¤ã•ã‚Œã¾ã™ã€‚ + value ã‚’ã¤ã‘ã¦ã¯ã„ã‘ã¾ã›ã‚“。
+ +
echo
+
指定ã•ã‚ŒãŸã‚‚ã®ã¨åŒã˜åå‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã‚’応答ヘッダ㧠+ ãã®ã¾ã¾è¿”ã—ã¾ã™ã€‚header ã«ã¯æ­£è¦è¡¨ç¾ã‚‚指定ã§ãã¾ã™ã€‚ + value ã‚’ã¤ã‘ã¦ã¯ã„ã‘ã¾ã›ã‚“。
+
+ +

ã“ã®å¼•æ•°ã®å¾Œã«ã¯ãƒ˜ãƒƒãƒ€å (header) ãŒç¶šãã¾ã™ã€‚ + ヘッダåã«ã¯æœ€å¾Œã«ã‚³ãƒ­ãƒ³ã‚’å«ã‚ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ãŒã€ç„¡ãã¦ã‚‚構ã„ã¾ã›ã‚“。 + set, append, add, + unset ã§ã¯å¤§æ–‡å­—å°æ–‡å­—㯠+ 区別ã•ã‚Œã¾ã›ã‚“。echo ã® header åã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—〠+ æ­£è¦è¡¨ç¾ã‚’指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

add, append, + set ã§ã¯ value を三ã¤ç›®ã® + 引数ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚value ã«ç©ºç™½ãŒã‚ã‚‹å ´åˆã¯äºŒé‡å¼•ç”¨ç¬¦ã§ + 囲む必è¦ãŒã‚ã‚Šã¾ã™ã€‚value ã¯æ–‡å­—ã®ã¿ã‹ã‚‰ãªã‚‹æ–‡å­—列〠+ フォーマット指示å­ã‚’å«ã‚€æ–‡å­—列ã€ã‚‚ã—ãã¯ä¸¡æ–¹ã‹ã‚‰ãªã‚‹æ–‡å­—列を指定ã§ãã¾ã™ã€‚ + value ã¯ä»¥ä¸‹ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæŒ‡ç¤ºå­ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™:

+ + + + + + + + + + + + +
フォーマット解説
%%パーセント記å·
%tリクエストをå—ã‘å–ã£ãŸæ™‚刻を〠+ Universal Coordinated Time ã§ã®å§‹ã¾ã‚Šã®æ™‚刻 (Jan. 1, 1970) ã‹ã‚‰çµŒéŽã—㟠+ 時間をマイクロ秒ã¨ã—ã¦ç¾ã—ãŸã‚‚ã®ã€‚値ã®æœ€åˆã«ã¯ + t= ãŒä»˜åŠ ã•ã‚Œã¾ã™ã€‚
%Dリクエストをå—ã‘å–ã£ãŸæ™‚刻ã¨ã€ãƒ˜ãƒƒãƒ€ã‚’é€ã‚Šå‡ºã—㟠+ 時間ã¨ã®å·®ã€‚ã“ã‚Œã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒå­˜åœ¨ã—ã¦ã„ãŸæœŸé–“ã‚’ç¾ã—ã¾ã™ã€‚ + 値ã®æœ€åˆã«ã¯ D= ãŒä»˜åŠ ã•ã‚Œã¾ã™ã€‚
%{FOOBAR}e環境変数 + FOOBAR ã®å€¤ã§ã™ã€‚
%{FOOBAR}smod_ssl ãŒæœ‰åŠ¹ãªå ´åˆã€ + SSL 環境変数 FOOBAR + ã®å†…容
+ +

注

+

%s フォーマット指定å­ã¯ 2.1 以é™ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚ + SSLOptions +StdEnvVars を有効ã«ã™ã‚‹ã“ã¨ã«ã‚ˆã‚‹ã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ã‚’ + é¿ã‘ã‚‹ãŸã‚ã€%e ã®ä»£ã‚ã‚Šã¨ã—ã¦ä½¿ãˆã¾ã™ã€‚ + ä»–ã®ç†ç”±ãªã©ãŒã‚ã£ã¦ã€ã©ã†ã—ã¦ã‚‚ SSLOptions +StdEnvVars + を有効ã«ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„å ´åˆã¯ã€%e ã®ã»ã†ãŒ + %s よりも処ç†åŠ¹çŽ‡ã¯è‰¯ã„ã§ã™ã€‚

+
+ +

Header ディレクティブã«ã¯è¿½åŠ ã®å¼•æ•°ã‚’æŒãŸã›ã‚‹ã“ã¨ãŒ + ã§ãã¦ã€ã©ã†ã„ã£ãŸã‚¢ã‚¯ã‚·ãƒ§ãƒ³ãŒè¡Œã‚ã‚ŒãŸã‹ã®æ¡ä»¶ã‚’指定ã—ãŸã‚Šã€ + æ—©æœŸå‡¦ç† ã‚’æŒ‡å®šã™ã‚‹ early キーワードを + 指定ã§ãã¾ã™ã€‚ + env=... 引数ã§æŒ‡å®šã•ã‚ŒãŸ 環境変数 ãŒå­˜åœ¨ã™ã‚‹ (ã‚‚ã—ã㯠env=!... + ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¦ç’°å¢ƒå¤‰æ•°ãŒå­˜åœ¨ã—ãªã„) å ´åˆã¯ã€Header + ディレクティブã§æŒ‡å®šã•ã‚ŒãŸå‹•ä½œãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚ãã†ã§ãªã„å ´åˆã¯ã€ + ディレクティブã¯ãã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯ä½•ã‚‚ã—ã¾ã›ã‚“。

+ +

早期処ç†ãƒ¢ãƒ¼ãƒ‰ã®å ´åˆä»¥å¤–ã§ã¯ã€ + Header + ディレクティブã¯å¿œç­”ãŒãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«é€ã‚‰ã‚Œã‚‹ç›´å‰ã« + 処ç†ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯ã€ãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ«ã‚¿ã«ã‚ˆã‚Šè¿½åŠ ã•ã‚Œã‚‹ãƒ˜ãƒƒãƒ€ã‚’ + 除ãã€ã»ã¨ã‚“ã©ã®ãƒ˜ãƒƒãƒ€ã‚’設定ã—ãŸã‚Šä¸Šæ›¸ãã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒ + å¯èƒ½ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚

+ +
+
top
+

RequestHeader ディレクティブ

+ + + + + + + +
説明:HTTP リクエストヘッダã®è¨­å®š
構文:RequestHeader set|append|add|unset header +[value] [early|env=[!]variable]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Extension
モジュール:mod_headers
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠HTTP リクエストヘッダを置æ›ã€è¿½åŠ ã€å‰Šé™¤ã§ãã¾ã™ã€‚ + ヘッダã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒãƒ³ãƒ‰ãƒ©ãŒå®Ÿè¡Œã•ã‚Œã‚‹ç›´å‰ã«å®Ÿè¡Œã•ã‚Œã€ + å…¥ã£ã¦æ¥ã‚‹ãƒ˜ãƒƒãƒ€ã‚’変更ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã«ãªã£ã¦ã„ã¾ã™ã€‚ + è¡Œãªã†å‡¦ç†ã¯ç¬¬ 1 引数ã«ã‚ˆã‚Šæ±ºã¾ã‚Šã¾ã™ã€‚ã“ã‚Œã«ã¯ä»¥ä¸‹ã®å€¤ã‚’指定 + ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +
+
set
+
リクエストヘッダを設定ã—ã¾ã™ã€‚åŒã˜åå‰ã®ãƒ˜ãƒƒãƒ€ãŒå­˜åœ¨ã—ã¦ã„ã‚‹ã¨ã€ + ãれを置ãæ›ãˆã¾ã™ã€‚
+ +
append
+
リクエストヘッダã¯ã€æ—¢ã«å­˜åœ¨ã™ã‚‹åŒã˜åå‰ã®ãƒ˜ãƒƒãƒ€ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚ + æ–°ã—ã„値ãŒæ—¢å­˜ã®ãƒ˜ãƒƒãƒ€ã«è¿½åŠ ã•ã‚Œã‚‹ã¨ãã«ã¯ã€æ—¢å­˜ã®ãƒ˜ãƒƒãƒ€ã® + 後ã«ã‚³ãƒ³ãƒžã§åŒºåˆ‡ã‚‰ã‚Œã¦è¿½åŠ ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯ãƒ˜ãƒƒãƒ€ã«è¤‡æ•°ã®å€¤ã‚’ + 指定ã™ã‚‹ã¨ãã® HTTP ã®æ¨™æº–ã®æ–¹æ³•ã§ã™ã€‚
+ +
add
+
ヘッダãŒæ—¢ã«å­˜åœ¨ã—ã¦ã„ã‚‹ã¨ãã§ã•ãˆã‚‚ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã‚’ + 既存ã®ãƒ˜ãƒƒãƒ€ã«è¿½åŠ ã—ã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€äºŒã¤ (ã‹ãれ以上) ã® + ヘッダã®åå‰ãŒåŒã˜ã«ãªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ãã®çµæžœã€æƒ³å®šã§ããªã„ + ã“ã¨ãŒèµ·ã“ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã®ã§ã€ä¸€èˆ¬çš„ã«ã¯ append ã®æ–¹ã‚’ + 使ã†æ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚
+ +
unset
+
ã‚‚ã—指定ã•ã‚ŒãŸåå‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ãŒå­˜åœ¨ã—ã¦ã„ã‚Œã°ã€å‰Šé™¤ã•ã‚Œã¾ã™ã€‚ + åŒã˜åå‰ã®è¤‡æ•°ã®ãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹ã¨ãã¯ã€ã™ã¹ã¦å‰Šé™¤ã•ã‚Œã¾ã™ã€‚ + value ã‚’ã¤ã‘ã¦ã¯ã„ã‘ã¾ã›ã‚“。
+
+ +

ã“ã®å¼•æ•°ã®å¾Œã«ã¯ãƒ˜ãƒƒãƒ€å (header) ãŒç¶šãã¾ã™ã€‚ + ヘッダåã«ã¯æœ€å¾Œã«ã‚³ãƒ­ãƒ³ã‚’å«ã‚ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ãŒã€ç„¡ãã¦ã‚‚構ã„ã¾ã›ã‚“。 + 大文字å°æ–‡å­—ã¯åŒºåˆ¥ã•ã‚Œã¾ã›ã‚“。add, + append, set ã®å ´åˆã¯ã€value ãŒä¸‰ã¤ç›®ã® + 引数ã¨ã—ã¦æŒ‡å®šã•ã‚Œã¾ã™ã€‚value ã«ç©ºç™½ãŒã‚ã‚‹å ´åˆã¯äºŒé‡å¼•ç”¨ç¬¦ã§ + 囲む必è¦ãŒã‚ã‚Šã¾ã™ã€‚unset ã®å ´åˆã¯ã€value ã¯æŒ‡å®šã—ã¾ã›ã‚“。 + value ã¯æ–‡å­—列ã€ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæŒ‡å®šå­ã€ã‚ã‚‹ã„ã¯ã€ãã®æ··åˆã§ã™ã€‚ + 使ã†ã“ã¨ã®ã§ãるフォーマット指定å­ã¯ã€Header ã¨åŒã˜ã§ã™ã®ã§ã€ + 詳細ã¯ãã¡ã‚‰ã‚’ã”覧ãã ã•ã„。

+ +

RequestHeader ディレクティブã¯ã€ + ã©ã†ã„ã£ãŸæ¡ä»¶ä¸‹ã§ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¡Œã†ã‹ã‚’指定ã™ã‚‹è¿½åŠ å¼•æ•° + ã‚ã‚‹ã„ã¯ã€æ—©æœŸå‡¦ç† を指定ã™ã‚‹ early + キーワードを設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + env=... ã®å¼•æ•°ã§è¨­å®šã•ã‚Œã¦ã„ã‚‹ + 環境変数 ãŒå­˜åœ¨ã—ã¦ã„ã‚‹ + (ã‚ã‚‹ã„㯠env=!... ã§æŒ‡å®šã•ã‚ŒãŸç’°å¢ƒå¤‰æ•°ãŒ + 存在ã—ãªã„) å ´åˆã€RequestHeader ディレクティブ㯠+ 有効ã«ãªã‚Šã¾ã™ã€‚ãれ以外ã®å ´åˆã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯åŠ¹åŠ›ã‚’æŒã¡ã¾ã›ã‚“。

+ +

early モードã§ãªã„å ´åˆã«é™ã‚Šã€ + RequestHeader ディレクティブ㯠+ fixup フェーズã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒãƒãƒ³ãƒ‰ãƒ©ã«æ‰±ã‚れる直å‰ã« + 処ç†ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ãƒ–ラウザや Apache ã®å…¥åŠ›ãƒ•ã‚£ãƒ«ã‚¿ã«ã‚ˆã‚Š + 生æˆã•ã‚ŒãŸãƒ˜ãƒƒãƒ€ã‚’上書ãã—ãŸã‚Šä¿®æ­£ã—ãŸã‚Šã§ãるよã†ã«ãªã£ã¦ã„ã¾ã™ã€‚

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html.ko.euc-kr b/docs/manual/mod/mod_headers.html.ko.euc-kr new file mode 100644 index 0000000..89d7b57 --- /dev/null +++ b/docs/manual/mod/mod_headers.html.ko.euc-kr @@ -0,0 +1,369 @@ + + + + + +mod_headers - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_headers

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:HTTP ¿äû Çì´õ¿Í ÀÀ´ä Çì´õ ¼öÁ¤
»óÅÂ:Extension
¸ðµâ¸í:headers_module
¼Ò½ºÆÄÀÏ:mod_headers.c
Áö¿ø:RequestHeader´Â ¾ÆÆÄÄ¡ 2.0¿¡¸¸ +ÀÖ´Ù
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº HTTP ¿äû Çì´õ¿Í ÀÀ´ä Çì´õ¸¦ Á¶ÀýÇÏ°í ¼öÁ¤ÇÏ´Â + Áö½Ã¾îµéÀ» Á¦°øÇÑ´Ù. Çì´õ¸¦ ÇÕÄ¡°Å³ª ´ëü, Á¦°ÅÇÒ ¼ö ÀÖ´Ù.

+
+ +
top
+
+

ó¸® ¼ø¼­

+ +

mod_headers°¡ Á¦°øÇÏ´Â Áö½Ã¾î´Â ¼­¹ö¼³Á¤ÀÇ + °ÅÀÇ ¸ðµç Àå¼Ò¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ¼³Á¤ ¼½¼ÇÀ¸·Î °¨½Î¼­ Áö½Ã¾îÀÇ + ¹üÀ§¸¦ Á¦ÇÑÇÒ ¼öµµ ÀÖ´Ù.

+ +

󸮼ø¼­´Â Áß¿äÇϸç, ¼³Á¤ÆÄÀÏ¿¡ ³ª¿Â ¼ø¼­¿Í ¼³Á¤ ¼½¼ÇÀÇ ¿µÇâÀ» ¹Þ´Â´Ù. + ´ÙÀ½ µÎ Áö½Ã¾î¸¦ ¹Ý´ë·Î ÀûÀ¸¸é È¿°ú°¡ ´Þ¶óÁø´Ù.

+ +

+ RequestHeader append MirrorID "mirror 12"
+ RequestHeader unset MirrorID +

+ +

À§¿Í °°ÀÌ ÀûÀ¸¸é MirrorID Çì´õ°¡ ³ª¿ÀÁö + ¾Ê´Â´Ù. ¹Ý´ë·Î ÀûÀ¸¸é MirrorID Çì´õ¸¦ "mirror 12"·Î ¼³Á¤ÇÑ´Ù.

+
top
+
+

À̸¥(early) ó¸®¿Í ´ÊÀº(late) ó¸®

+

mod_headers¸¦ ¿äû Ãʱ⳪ ³ªÁß¿¡ Àû¿ëÇÒ + ¼ö ÀÖ´Ù. º¸ÅëÀº ³»¿ë»ý¼ºÀÚ¸¦ ½ÇÇàÇϱâ Á÷Àü¿¡ ¿äû Çì´õ¸¦ + ¼³Á¤ÇÏ°í ÀÀ´äÀ» ³×Æ®¿÷¿¡ ¾µ¶§ ÀÀ´ä Çì´õ¸¦ ¼³Á¤ÇÏ´Â ´ÊÀº(late) + ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. ½ÇÁ¦ ¼­ºñ½ºÇÏ´Â ¼­¹ö¿¡¼­´Â Ç×»ó ´À¸° ¹æ½ÄÀ» + »ç¿ëÇ϶ó.

+ +

À̸¥(early) ¹æ½ÄÀº °³¹ßÀÚ¸¦ À§ÇØ °Ë»ç/µð¹ö±ë¿ëÀ¸·Î ¸¸µé¾ú´Ù. + early Å°¿öµå¸¦ »ç¿ëÇÏ¿© Á¤ÀÇÇÑ Áö½Ã¾î´Â ¿äûÀ» + ó¸®Çϱ⠽ÃÀÛÇÒ¶§ ¼³Á¤ÇÑ´Ù. Áï, ´Ù¸¥ ¿äûÀ» ¸ðÀǽÇÇèÇϰųª + °Ë»ç¸¦ ÇϱâÀ§ÇØ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ÀÀ´äÀ» »ý¼ºÇϱâ Àü¿¡ ´Ù¸¥ + ¸ðµâÀÌ ºÒ½Ã¿¡ Çì´õ¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +

¿äû°æ·Î¿¡ ´ëÇÑ ¼³Á¤À» »ìÆ캸±â Àü¿¡ À̸¥ Áö½Ã¾î¸¦ + ó¸®Çϱ⶧¹®¿¡ À̸¥ Çì´õ Áö½Ã¾î´Â ÁÖ¼­¹öÀ̳ª °¡»óÈ£½ºÆ® + »ç¿ëÀå¼Ò¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. À̸¥ Áö½Ã¾î´Â ¿äû°æ·Î¿¡ + ÀÇÁ¸ÇÒ ¼ö ¾ø±â¶§¹®¿¡ <Directory>³ª + <Location>°°Àº »ç¿ëÀå¼Ò¿¡¼­ »ç¿ëÇÒ ¼ö + ¾ø´Ù.

+
top
+
+

¿¹Á¦

+ +
    +
  1. + "TS"·Î ½ÃÀÛÇÏ´Â ¸ðµç ¿äû Çì´õ¸¦ ÀÀ´ä Çì´õ·Î º¹»çÇÑ´Ù. + +

    + Header echo ^TS +

    +
  2. + +
  3. + ÀÀ´ä¿¡ ¿äûÀ» ¹ÞÀº ½Ã°£°ú ¿äûÀ» ¼­ºñ½ºÇϴµ¥ °É¸± ½Ã°£À» + ¾Ë·ÁÁÖ´Â MyHeader Çì´õ¸¦ Ãß°¡ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â + ÀÌ Çì´õ¸¦ º¸°í ¼­¹öÀÇ ºÎÇϸ¦ ÃßÁ¤Çϰųª Ŭ¶óÀ̾ðÆ®¿Í + ¼­¹ö°£ÀÇ º´¸ñÁ¡À» ãÀ» ¼ö ÀÖ´Ù. + +

    + Header add MyHeader "%D %t" +

    + +

    ÀÀ´ä¿¡ ´ÙÀ½°ú °°Àº Çì´õ°¡ »ý±ä´Ù.

    + +

    + MyHeader: D=3775428 t=991424704447256 +

    +
  4. + +
  5. + Joe¿¡°Ô ¾È³ç + +

    + Header add MyHeader "Hello Joe. It took %D microseconds \
    + for Apache to serve this request." +

    + +

    ÀÀ´ä¿¡ ´ÙÀ½°ú °°Àº Çì´õ°¡ »ý±ä´Ù.

    + +

    + MyHeader: Hello Joe. It took D=3775428 microseconds for Apache + to serve this request. +

    +
  6. + +
  7. + ¿äû¿¡ "MyRequestHeader" Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸ ¼±ÅÃÀûÀ¸·Î + ÀÀ´ä¿¡ MyHeader¸¦ º¸³½´Ù. ƯÁ¤ Ŭ¶óÀ̾ðÆ®¿¡°Ô¸¸ + ÀÀ´ä¿¡ Çì´õ¸¦ Ãß°¡ÇÒ¶§ À¯¿ëÇÏ´Ù. ÀÌ ¿¹Á¦°¡ µ¿ÀÛÇÏ·Á¸é + mod_setenvif ¸ðµâÀÌ ÇÊ¿äÇÏ´Ù. + +

    + SetEnvIf MyRequestHeader value HAVE_MyRequestHeader
    + Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
    +

    + +

    HTTP ¿äû¿¡ MyRequestHeader: value Çì´õ°¡ + ÀÖ´Ù¸é, ÀÀ´ä¿¡ ´ÙÀ½°ú °°Àº Çì´õ°¡ »ý±ä´Ù.

    + +

    + MyHeader: D=3775428 t=991424704447256 mytext +

    +
  8. +
+
+
top
+

Header Áö½Ã¾î

+ + + + + + + +
¼³¸í:HTTP ÀÀ´ä Çì´õ¸¦ ±¸¼ºÇÑ´Ù
¹®¹ý:Header [condition] set|append|add|unset|echo +header [value] [early|env=[!]variable]
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Extension
¸ðµâ:mod_headers
+

ÀÌ Áö½Ã¾î´Â HTTP ÀÀ´ä Çì´õ¸¦ ÇÕÄ¡°Å³ª ´ëü, Á¦°ÅÇÑ´Ù. + ³»¿ë Çڵ鷯¿Í Ãâ·Â ÇÊÅÍ°¡ ½ÇÇàÇÑ Á÷ÈÄ¿¡ Çì´õ¸¦ ¼öÁ¤Çϱ⶧¹®¿¡ + º¸³¾ Çì´õ¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +

conditionÀº ¼±ÅÃÀûÀ¸·Î »ç¿ëÇϸç, °ªÀ¸·Î + onsuccess ȤÀº always¸¦ »ç¿ëÇÑ´Ù. + ÀÌ´Â ¾î¶² ³»ºÎ Çì´õÇ¥¿¡ µ¿ÀÛÇÒÁö¸¦ °áÁ¤ÇÑ´Ù. + onsuccess´Â 2xx »óÅÂÄڵ带 + ¶æÇÏ°í, always´Â (2xx¸¦ + Æ÷ÇÔÇÑ) ¸ðµç »óÅÂÄڵ带 ¶æÇÑ´Ù. ƯÈ÷ ¾î¶² ¸ðµâÀÌ ¼³Á¤ÇÑ + Çì´õ¸¦ ÇØÁ¦ÇÏ°í ½Í´Ù¸é, µÑÁß ¾î¶² °ÍÀ» »ç¿ëÇÒÁö Àß »ìÆìºÁ¾ß + ÇÑ´Ù.

+ +

µÎ¹ø° ¾Æ±Ô¸ÕÆ®¿¡ µû¶ó ±â´ÉÀÌ ´Ù¸£´Ù. µÎ¹ø° ¾Æ±Ô¸ÕÆ®·Î + ¾Æ·¡ °ªÁß Çϳª¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +
+
set
+
ÀÀ´ä Çì´õ¸¦ ¼³Á¤ÇÑ´Ù. °°Àº À̸§À¸·Î ÀÌ¹Ì Çì´õ°¡ ÀÖ´Ù¸é + ´ëüÇÑ´Ù. value¿¡ Çü½Ä¹®ÀÚ¿­À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+ +
append
+
ÀÌ¹Ì Á¸ÀçÇÏ´Â °°Àº À̸§ÀÇ ÀÀ´ä Çì´õ¿¡ Ãß°¡ÇÑ´Ù. ±âÁ¸ + Çì´õ¿¡ »õ·Î¿î °ªÀ» ÇÕÄ¡¸é, ±âÁ¸ Çì´õ¿Í »õ·Î¿î °ª »çÀÌ¿¡ + ½°Ç¥¸¦ ºÙÀδÙ. ÀÌ´Â ¿©·¯ Çì´õ°ªÀ» ÁöÁ¤ÇÏ´Â HTTP Ç¥ÁØ ¹æ½ÄÀÌ´Ù.
+ +
add
+
Çì´õ°¡ ÀÌ¹Ì ÀÖ´õ¶óµµ ÀÀ´ä Çì´õ¸¦ Ãß°¡ÇÑ´Ù. ±×·¡¼­ °°Àº + À̸§ÀÇ Çì´õ°¡ µÎ°³ (ȤÀº ¸¹ÀÌ) »ý±æ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀÇ¿ÜÀÇ + °á°ú°¡ ¹ß»ýÇÒ ¼ö Àֱ⶧¹®¿¡ º¸Åë ´ë½Å append¸¦ + »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
unset
+
ÀÌ·± À̸§ÀÇ ÀÀ´ä Çì´õ°¡ ÀÖ´Ù¸é »èÁ¦ÇÑ´Ù. °°Àº À̸§À» + °¡Áø Çì´õ°¡ ¿©·¯°³ ÀÖ´Ù¸é ¸ðµÎ Á¦°ÅÇÑ´Ù. value´Â + ÀûÁö ¾Ê´Â´Ù.
+ +
echo
+
ÀÌ·± À̸§ÀÇ ¿äû Çì´õ¸¦ ±×´ë·Î ÀÀ´ä Çì´õ·Î º¸³½´Ù. + header¿¡ Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. + value´Â ÀûÁö ¾Ê´Â´Ù.
+
+ +

¾Æ±Ô¸ÕÆ® µÚ¿¡ header À̸§ÀÌ ³ª¿Â´Ù. Çì´õ¸í + µÚ¿¡ ÄÝ·ÐÀ» ÀûÀ» ¼ö ÀÖÁö¸¸, ¾ø¾îµµ µÈ´Ù. set, + append, add, unset¿¡¼­ + ´ë¼Ò¹®ÀÚ´Â ¹«½ÃÇÑ´Ù. echoÀÇ header + À̸§Àº ´ë¼ö¹®ÀÚ¸¦ ±¸º°ÇÏ°í Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

add, append, setÀ» + »ç¿ëÇÒ¶§´Â ¼¼¹ø° ¾Æ±Ô¸ÕÆ® value°¡ ÇÊ¿äÇÏ´Ù. + value ¾È¿¡ °ø¹éÀÌ ÀÖ´Ù¸é ½Öµû¿ÈÇ¥·Î ¹­¾î¾ß ÇÑ´Ù. + value´Â ÀÏ¹Ý ¹®ÀÚ¿­À̳ª Çü½ÄÀ» ±â¼úÇÏ´Â ¹®ÀÚ¿­À̸ç, + µÎ°¡Áö¸¦ °°ÀÌ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. value¿¡¼­ Áö¿øÇÏ´Â + Çü½Ä±â¼úÀÚ´Â ´ÙÀ½°ú °°´Ù.

+ + + + + + + + + + + + +
Çü½Ä¼³¸í
%%ÆÛ¼¾Æ® ±âÈ£
%t¿äûÀ» ¹ÞÀº ½Ã°£À» ±¹Á¦Ç¥Áؽ÷Πepoch (1970³â 1¿ù + 1ÀÏ) ÀÌÈÄ Áö³­ ¸¶ÀÌÅ©·ÎÃÊ ´ÜÀ§·Î. °ª ¾Õ¿¡ t=ÀÌ + ºÙ´Â´Ù.
%D¿äûÀ» ¹ÞÀº ½Ã°£ºÎÅÍ Çì´õ¸¦ ³×Æ®¿÷¿¡ ¾µ¶§±îÁö °É¸° + ½Ã°£. ¿äûÀÇ ±â°£À» Àé´Ù. °ª ¾Õ¿¡ D=ÀÌ + ºÙ´Â´Ù.
%{FOOBAR}eȯ°æº¯¼ö FOOBARÀÇ + ³»¿ë.
%{FOOBAR}smod_sslÀÌ µ¿ÀÛÇÑ´Ù¸é, SSL ȯ°æº¯¼ö + FOOBARÀÇ ³»¿ë.
+ +

ÁÖÀÇ

+

%s Çü½Ä Áö½ÃÀÚ´Â ¾ÆÆÄÄ¡ 2.1 ÀÌÈÄ¿¡¸¸ ÀÖ´Ù. + ÀÌ Áö½ÃÀÚ´Â SSLOptions +StdEnvVars¸¦ »ç¿ëÇÏ´Â + ºÎ´ãÀ» ´ú±âÀ§ÇØ %e ´ë½Å »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾î¶² + ÀÌÀ¯¿¡¼­°Ç SSLOptions +StdEnvVars¸¦ »ç¿ëÇØ¾ß + ÇÑ´Ù¸é, %e´Â %s º¸´Ù ÈξÀ ´õ + È¿À²ÀûÀÌ´Ù.

+
+ +

Header Áö½Ã¾î µÚ¿¡ ÇൿÀÌ ÀϾ + Á¶°ÇÀ» Áö½ÃÇÏ´Â Ãß°¡ ¾Æ±Ô¸ÕÆ®³ª À̸¥ 󸮸¦ + ¶æÇÏ´Â Å°¿öµå early°¡ ³ª¿Ã ¼ö ÀÖ´Ù. + env=... ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÑ °æ¿ì ÇØ´ç + ȯ°æº¯¼ö°¡ Á¸ÀçÇÑ´Ù¸é (ȤÀº + env=!...¿¡ ³ª¿Â ȯ°æº¯¼ö°¡ Á¸ÀçÇÏÁö + ¾Ê´Ù¸é) Header Áö½Ã¾î°¡ µ¿ÀÛÇÑ´Ù. + ±×·¸Áö ¾ÊÀ¸¸é Áö½Ã¾î´Â ¿äû¿¡ ¾Æ¹« ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù.

+ +

À̸¥ ¹æ½ÄÀÌ ¾Æ´Ï¶ó¸é ÀÀ´äÀ» ³×Æ®¿÷À¸·Î + º¸³»±â Á÷Àü¿¡ Header Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù. + ±×·¡¼­ Çì´õ ÇÊÅÍ°¡ Ãß°¡ÇÏ´Â Çì´õ¸¦ Á¦¿ÜÇÑ ´ëºÎºÐÀÇ Çì´õ¸¦ + ¼³Á¤Çϰųª µ¤¾î¾µ ¼ö ÀÖ´Ù.

+ +
+
top
+

RequestHeader Áö½Ã¾î

+ + + + + + + +
¼³¸í:HTTP ¿äû Çì´õ¸¦ ±¸¼ºÇÑ´Ù
¹®¹ý:RequestHeader set|append|add|unset header +[value] [early|env=[!]variable]
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Extension
¸ðµâ:mod_headers
+

ÀÌ Áö½Ã¾î´Â HTTP ¿äû Çì´õ¸¦ ÇÕÄ¡°Å³ª ´ëü, Á¦°ÅÇÑ´Ù. + ³»¿ë Çڵ鷯°¡ ½ÇÇàÇϱâ Á÷Àü¿¡ Çì´õ¸¦ ¼öÁ¤Çϱ⶧¹®¿¡ ¹ÞÀº + Çì´õ¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ù¹ø° ¾Æ±Ô¸ÕÆ®¿¡ µû¶ó ±â´ÉÀÌ ´Ù¸£´Ù. + ù¹ø° ¾Æ±Ô¸ÕÆ®·Î ¾Æ·¡ °ªÁß Çϳª¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +
+
set
+
¿äû Çì´õ¸¦ ¼³Á¤ÇÑ´Ù. °°Àº À̸§À¸·Î ÀÌ¹Ì Çì´õ°¡ ÀÖ´Ù¸é + ´ëüÇÑ´Ù
+ +
append
+
ÀÌ¹Ì Á¸ÀçÇÏ´Â °°Àº À̸§ÀÇ ¿äû Çì´õ¿¡ Ãß°¡ÇÑ´Ù. ±âÁ¸ + Çì´õ¿¡ »õ·Î¿î °ªÀ» ÇÕÄ¡¸é, ±âÁ¸ Çì´õ¿Í »õ·Î¿î °ª »çÀÌ¿¡ + ½°Ç¥¸¦ ºÙÀδÙ. ÀÌ´Â ¿©·¯ Çì´õ°ªÀ» ÁöÁ¤ÇÏ´Â HTTP Ç¥ÁØ ¹æ½ÄÀÌ´Ù.
+ +
add
+
Çì´õ°¡ ÀÌ¹Ì ÀÖ´õ¶óµµ ¿äû Çì´õ¸¦ Ãß°¡ÇÑ´Ù. ±×·¡¼­ °°Àº + À̸§ÀÇ Çì´õ°¡ µÎ°³ (ȤÀº ¸¹ÀÌ) »ý±æ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀÇ¿ÜÀÇ + °á°ú°¡ ¹ß»ýÇÒ ¼ö Àֱ⶧¹®¿¡ º¸Åë ´ë½Å append¸¦ + »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
unset
+
ÀÌ·± À̸§ÀÇ ¿äû Çì´õ°¡ ÀÖ´Ù¸é »èÁ¦ÇÑ´Ù. °°Àº À̸§À» + °¡Áø Çì´õ°¡ ¿©·¯°³ ÀÖ´Ù¸é ¸ðµÎ Á¦°ÅÇÑ´Ù. value´Â + ÀûÁö ¾Ê´Â´Ù.
+
+ +

¾Æ±Ô¸ÕÆ® µÚ¿¡ Çì´õ¸íÀÌ ³ª¿Â´Ù. Çì´õ¸í µÚ¿¡ ÄÝ·ÐÀ» ÀûÀ» + ¼ö ÀÖÁö¸¸, ¾ø¾îµµ µÈ´Ù. ´ë¼Ò¹®ÀÚ´Â ¹«½ÃÇÑ´Ù. add, + append, setÀ» »ç¿ëÇÒ¶§´Â ¼¼¹ø° + ¾Æ±Ô¸ÕÆ® value°¡ ÇÊ¿äÇÏ´Ù. value ¾È¿¡ + °ø¹éÀÌ ÀÖ´Ù¸é ½Öµû¿ÈÇ¥·Î ¹­¾î¾ß ÇÑ´Ù. unsetÀ» »ç¿ëÇÒ¶§´Â + value¸¦ ÀûÀ¸¸é ¾ÈµÈ´Ù. value´Â ÀÏ¹Ý + ¹®ÀÚ¿­À̳ª Çü½ÄÀ» ±â¼úÇÏ´Â ¹®ÀÚ¿­À̸ç, µÎ°¡Áö¸¦ °°ÀÌ »ç¿ëÇÒ + ¼öµµ ÀÖ´Ù. Áö¿øÇÏ´Â Çü½Ä±â¼úÀÚ´Â Header¿Í °°À¸¹Ç·Î ÀÚ¼¼ÇÑ + ³»¿ëÀº ±×°÷À» Âü°íÇ϶ó.

+ +

RequestHeader Áö½Ã¾î µÚ¿¡ ÇൿÀÌ + ÀϾ Á¶°ÇÀ» Áö½ÃÇÏ´Â Ãß°¡ ¾Æ±Ô¸ÕÆ®³ª À̸¥ 󸮸¦ ¶æÇÏ´Â Å°¿öµå + early°¡ ³ª¿Ã ¼ö ÀÖ´Ù. env=... + ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÑ °æ¿ì ÇØ´ç ȯ°æº¯¼ö°¡ + Á¸ÀçÇÑ´Ù¸é (ȤÀº env=!...¿¡ ³ª¿Â + ȯ°æº¯¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Ù¸é) RequestHeader + Áö½Ã¾î°¡ µ¿ÀÛÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é Áö½Ã¾î´Â ¿äû¿¡ ¾Æ¹« ¿µÇâÀ» + ¹ÌÄ¡Áö ¾Ê´Â´Ù.

+ +

À̸¥ ¹æ½ÄÀÌ ¾Æ´Ï¶ó¸é fixup ´Ü°è¿¡¼­ + ¿äû¿¡ ÇØ´çÇÏ´Â Çڵ鷯¸¦ ½ÇÇàÇϱâ Á÷Àü¿¡ + RequestHeader Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù. + ±×·¡¼­ ºê¶ó¿ìÀú¿¡ µû¶ó ȤÀº ¾ÆÆÄÄ¡ ÀÔ·ÂÇÊÅÍ°¡ Çì´õ¸¦ µ¤¾î¾²°Å³ª + ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_heartbeat.html b/docs/manual/mod/mod_heartbeat.html new file mode 100644 index 0000000..1ec8746 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_heartbeat.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_heartbeat.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_heartbeat.html.en b/docs/manual/mod/mod_heartbeat.html.en new file mode 100644 index 0000000..74bb242 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html.en @@ -0,0 +1,135 @@ + + + + + +mod_heartbeat - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_heartbeat

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Sends messages with server status to frontend proxy
Status:Experimental
Module Identifier:heartbeat_module
Source File:mod_heartbeat
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

mod_heartbeat sends multicast messages to a mod_heartmonitor listener +that advertises the servers current connection count. Usually, mod_heartmonitor +will be running on a proxy server with mod_lbmethod_heartbeat loaded, which allows +ProxyPass to use the "heartbeat" lbmethod inside +of ProxyPass.

+

+ mod_heartbeat itself is loaded on the origin server(s) that serve requests + through the proxy server(s). +

+ +
+ To use mod_heartbeat, + mod_status and mod_watchdog + must be either a static modules or, if a dynamic module, must + be loaded before mod_heartbeat. +
+ +
+ +
top
+
+

Consuming mod_heartbeat Output

+ +

+ Every 1 second, this module generates a single multicast UDP + packet, containing the number of busy and idle workers. The + packet is a simple ASCII format, similar to GET query parameters + in HTTP. +

+ +

An Example Packet

+v=1&ready=75&busy=0 +

+ +

+ Consumers should handle new variables besides busy and ready, + separated by '&', being added in the future. +

+ +
+
top
+

HeartbeatAddress Directive

+ + + + + + + +
Description:Multicast address for heartbeat packets
Syntax:HeartbeatAddress addr:port
Default:disabled
Context:server config
Status:Experimental
Module:mod_heartbeat
+

The HeartbeatAddress directive specifies the +multicast address to which mod_heartbeat will send +status information. This address will usually correspond to a configured + HeartbeatListen on a +frontend proxy system.

+
HeartbeatAddress 239.0.0.1:27999
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_heartbeat.html.fr.utf8 b/docs/manual/mod/mod_heartbeat.html.fr.utf8 new file mode 100644 index 0000000..5f60cf9 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html.fr.utf8 @@ -0,0 +1,142 @@ + + + + + +mod_heartbeat - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_heartbeat

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Envoie des messages d'état au mandataire frontal
Statut:Expérimental
Identificateur de Module:heartbeat_module
Fichier Source:mod_heartbeat
Compatibilité:Disponible à partir de la version 2.3 +du serveur HTTP Apache
+

Sommaire

+ +

mod_heartbeat envoie à un moniteur + mod_heartmonitor des messages multicast l'informant + du nombre de connexions courantes. En général, + mod_heartmonitor est chargé sur un serveur + mandataire où mod_lbmethod_heartbeat est chargé, ce + qui permet d'utiliser la lbmethod "heartbeat" au sein des + directives ProxyPass.

+ +

+ Le module mod_heartbeat est chargé sur le + serveur d'origine qui sert les requêtes via le + serveur mandataire. +

+ +
+ Pour utiliser mod_heartbeat, + mod_status et mod_watchdog + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant mod_heartbeat. +
+ +
+ +
top
+
+

Utilisation de la sortie de mod_heartbeat

+ +

+ Chaque seconde, ce module génère un paquet multicast UDP contenant + le nombre de threads/processus occupés et en attente. Le paquet + possède un format ASCII simple similaire aux paramètres de requête + GET en HTTP. +

+ +

Exemple de paquet

+v=1&ready=75&busy=0 +

+ +

+ Les utilisateurs disposeront dans le futur de nouvelles variables en + plus de busy et ready, et toujours séparées par des '&'. +

+ +
+
top
+

Directive HeartbeatAddress

+ + + + + + + +
Description:Adresse multicast à laquelle envoyer les requêtes +heartbeat
Syntaxe:HeartbeatAddress addr:port
Défaut:disabled
Contexte:configuration globale
Statut:Expérimental
Module:mod_heartbeat
+

La directive HeartbeatAddress permet de + spécifier l'adresse multicast à laquelle mod_heartbeat va + envoyer ses informations. En général, cette adresse correspond à la + valeur définie par la directive HeartbeatListen sur le serveur + mandataire frontal.

+
HeartbeatAddress 239.0.0.1:27999
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_heartmonitor.html b/docs/manual/mod/mod_heartmonitor.html new file mode 100644 index 0000000..59bb413 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_heartmonitor.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_heartmonitor.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_heartmonitor.html.en b/docs/manual/mod/mod_heartmonitor.html.en new file mode 100644 index 0000000..ac31359 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html.en @@ -0,0 +1,155 @@ + + + + + +mod_heartmonitor - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_heartmonitor

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Centralized monitor for mod_heartbeat origin servers
Status:Experimental
Module Identifier:heartmonitor_module
Source File:mod_heartmonitor.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

+mod_heartmonitor listens for server status messages generated +by mod_heartbeat enabled origin servers and makes their status +available to mod_lbmethod_heartbeat. This allows +ProxyPass to use the "heartbeat" +lbmethod inside of ProxyPass. +

+ +

This module uses the services of mod_slotmem_shm when +available instead of flat-file storage. No configuration is required to +use mod_slotmem_shm.

+ +
+ To use mod_heartmonitor, + mod_status and mod_watchdog + must be either a static modules or, if a dynamic module, it must + be loaded before mod_heartmonitor. +
+ +
+ + +
top
+

HeartbeatListen Directive

+ + + + + + + +
Description:multicast address to listen for incoming heartbeat requests
Syntax:HeartbeatListen addr:port
Default:disabled
Context:server config
Status:Experimental
Module:mod_heartmonitor
+

The HeartbeatListen directive specifies the + multicast address on which the server will listen for status information from + mod_heartbeat-enabled servers. This + address will usually correspond to a configured HeartbeatAddress on an origin server. +

+ +
HeartbeatListen 239.0.0.1:27999
+ + +

This module is inactive until this directive is used.

+ +
+
top
+

HeartbeatMaxServers Directive

+ + + + + + + + +
Description:Specifies the maximum number of servers that will be sending +heartbeat requests to this server
Syntax:HeartbeatMaxServers number-of-servers
Default:HeartbeatMaxServers 10
Context:server config
Status:Experimental
Module:mod_heartmonitor
Compatibility:The value of 0 is accepted only in 2.4.55 and above
+

The HeartbeatMaxServers directive specifies the + maximum number of servers that will be sending requests to this monitor + server. It is used to control the size of the shared memory allocated + to store the heartbeat info when mod_slotmem_shm is in use.

+

For using flat-file storage (without loading mod_slotmem_shm), + this must be set to 0. The value must be either 0, or bigger or equals 10.

+ +
+
top
+

HeartbeatStorage Directive

+ + + + + + + +
Description:Path to store heartbeat data when using flat-file storage
Syntax:HeartbeatStorage file-path
Default:HeartbeatStorage logs/hb.dat
Context:server config
Status:Experimental
Module:mod_heartmonitor
+

The HeartbeatStorage directive specifies the + path to store heartbeat data. This flat-file is used only when + mod_slotmem_shm is not loaded and + HeartbeatMaxServers is set to 0.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_heartmonitor.html.fr.utf8 b/docs/manual/mod/mod_heartmonitor.html.fr.utf8 new file mode 100644 index 0000000..6aec08b --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html.fr.utf8 @@ -0,0 +1,166 @@ + + + + + +mod_heartmonitor - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_heartmonitor

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Moniteur centralisé pour les serveurs d'origine mod_heartbeat
Statut:Expérimental
Identificateur de Module:heartmonitor_module
Fichier Source:mod_heartmonitor.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

+mod_heartmonitor interprète les messages d'état générés +par les serveurs d'origine pour lesquels mod_heartbeat est activé et +fournit ces informations à mod_lbmethod_heartbeat, ce +qui permet d'utiliser la lbmethod "heartbeat" au sein des +directives ProxyPass. +

+ +

Ce module utilise les services de mod_slotmem_shm, +lorsqu'il est disponible, au lieu d'un simple fichier texte. Aucune +configuration supplémentaire n'est requise pour utiliser +mod_slotmem_shm.

+ +
+ Pour utiliser mod_heartmonitor, + mod_status et mod_watchdog + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant mod_heartmonitor. +
+
+ + +
top
+

Directive HeartbeatListen

+ + + + + + + +
Description:Adresse multicast d'écoute des requêtes entrantes heartbeat
Syntaxe:HeartbeatListen addr:port
Défaut:disabled
Contexte:configuration globale
Statut:Expérimental
Module:mod_heartmonitor
+

La directive HeartbeatListen permet de + spécifier l'adresse multicast sur laquelle le serveur va surveiller les + informations d'état en provenance de serveurs où + mod_heartbeat est activé. Cette adresse correspond + en général à la valeur de la directive HeartbeatAddress sur le serveur + d'origine. +

+ +
HeartbeatListen 239.0.0.1:27999
+ + +

Tant que cette directive n'est pas utilisée, le module est + désactivé.

+ +
+
top
+

Directive HeartbeatMaxServers

+ + + + + + + + +
Description:Spécifie le nombre maximal de serveurs qui pourront envoyer +des requêtes heartbeat à ce serveur.
Syntaxe:HeartbeatMaxServers nombre-de-serveurs
Défaut:HeartbeatMaxServers 10
Contexte:configuration globale
Statut:Expérimental
Module:mod_heartmonitor
Compatibilité:La valeur 0 est prise en charge à partir de la version 2.4.55 du +serveur HTTP Apache
+

La directive HeartbeatMaxServers + spécifie le nombre maximal de serveurs qui pourront envoyer des + requêtes heartbeat à ce serveur de monitoring. Elle permet ainsi de + contrôler la quantité de mémoire partagée allouée pour le stockage + des données heartbeat lorsqu'on utilise + mod_slotmem_shm.

+

Pour utiliser un stockage de type fichier bidimensionnel (flat-file) + lorque le module mod_slotmem_shm n'est pas chargé, cette + directive doit être définie à 0. La valeur doit être soit égale à 0, soit + supérieure ou égale à 10.

+ +
+
top
+

Directive HeartbeatStorage

+ + + + + + + +
Description:Chemin vers le stockage des données heartbeat lorsqu'on utilise un +fichier bidimensionnel (flat-file)
Syntaxe:HeartbeatStorage chemin fichier
Défaut:HeartbeatStorage logs/hb.dat
Contexte:configuration globale
Statut:Expérimental
Module:mod_heartmonitor
+

La directive HeartbeatStorage permet de spécifier + le chemin de stockage des données heartbeat. Ce fichier bidimensionnel n'est + utilisé que si mod_slotmem_shm n'est pas chargé et si la + directive HeartbeatMaxServers + est définie à 0.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_http2.html b/docs/manual/mod/mod_http2.html new file mode 100644 index 0000000..c80458d --- /dev/null +++ b/docs/manual/mod/mod_http2.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_http2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_http2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_http2.html.en b/docs/manual/mod/mod_http2.html.en new file mode 100644 index 0000000..cdccaf2 --- /dev/null +++ b/docs/manual/mod/mod_http2.html.en @@ -0,0 +1,970 @@ + + + + + +mod_http2 - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_http2

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Support for the HTTP/2 transport layer
Status:Extension
Module Identifier:http2_module
Source File:mod_http2.c
Compatibility:Available in version 2.4.17 and later
+

Summary

+ +

This module provides HTTP/2 (RFC 7540) + support for the Apache HTTP Server.

+ +

This module relies on libnghttp2 + to provide the core http/2 engine.

+ +

You must enable HTTP/2 via Protocols + in order to use the functionality described in this document. The + HTTP/2 protocol does not require the use of encryption so two schemes are available: + h2 (HTTP/2 over TLS) and h2c (HTTP/2 over TCP).

+ +

Two useful configuration schemes are:

+ +

HTTP/2 in a VirtualHost context (TLS only)

+
Protocols h2 http/1.1
+ +

Allows HTTP/2 negotiation (h2) via TLS ALPN in a secure + <VirtualHost>. + HTTP/2 preamble checking (Direct mode, see H2Direct) is disabled by default for h2.

+
+ +

HTTP/2 in a Server context (TLS and cleartext)

+
Protocols h2 h2c http/1.1
+ +

Allows HTTP/2 negotiation (h2) via TLS ALPN for secure + <VirtualHost>. Allows + HTTP/2 cleartext negotiation (h2c) upgrading from an initial HTTP/1.1 + connection or via HTTP/2 preamble checking (Direct mode, see + H2Direct).

+
+ +

Refer to the official HTTP/2 FAQ + for any doubt about the protocol.

+ +
+ +
top
+
+

How it works

+ +

HTTP/2 Dimensioning

+

+ Enabling HTTP/2 on your Apache Server has impact on the resource + consumption and if you have a busy site, you may need to consider + carefully the implications. +

+

+ The first noticeable thing after enabling HTTP/2 is that your server + processes will start additional threads. The reason for this is that + HTTP/2 gives all requests that it receives to its own Worker + threads for processing, collects the results and streams them out + to the client. +

+

+ In the current implementation, these workers use a separate thread + pool from the MPM workers that you might be familiar with. This is + just how things are right now and not intended to be like this forever. + (It might be forever for the 2.4.x release line, though.) So, HTTP/2 + workers, or shorter H2Workers, will not show up in mod_status. They + are also not counted against directives such as ThreadsPerChild. However + they take ThreadsPerChild + as default if you have not configured something + else via H2MinWorkers and + H2MaxWorkers. +

+

+ Another thing to watch out for is is memory consumption. Since HTTP/2 + keeps more state on the server to manage all the open request, priorities + for and dependencies between them, it will always need more memory + than HTTP/1.1 processing. There are three directives which steer the + memory footprint of a HTTP/2 connection: + H2MaxSessionStreams, + H2WindowSize and + H2StreamMaxMemSize. +

+

+ H2MaxSessionStreams limits the + number of parallel requests that a client can make on a HTTP/2 connection. + It depends on your site how many you should allow. The default is 100 which + is plenty and unless you run into memory problems, I would keep it this + way. Most requests that browsers send are GETs without a body, so they + use up only a little bit of memory until the actual processing starts. +

+

+ H2WindowSize controls how much + the client is allowed to send as body of a request, before it waits + for the server to encourage more. Or, the other way around, it is the + amount of request body data the server needs to be able to buffer. This + is per request. +

+

+ And last, but not least, H2StreamMaxMemSize + controls how much response data shall be buffered. The request sits in + a H2Worker thread and is producing data, the HTTP/2 connection tries + to send this to the client. If the client does not read fast enough, + the connection will buffer this amount of data and then suspend the + H2Worker. +

+ + +

Multiple Hosts and Misdirected Requests

+

+ Many sites use the same TLS certificate for multiple virtual hosts. The + certificate either has a wildcard name, such as '*.example.org' or carries + several alternate names. Browsers using HTTP/2 will recognize that and reuse + an already opened connection for such hosts. +

+

+ While this is great for performance, it comes at a price: such vhosts + need more care in their configuration. The problem is that you will have + multiple requests for multiple hosts on the same TLS connection. And that + makes renegotiation impossible, in face the HTTP/2 standard forbids it. +

+

+ So, if you have several virtual hosts using the same certificate and + want to use HTTP/2 for them, you need to make sure that all vhosts have + exactly the same SSL configuration. You need the same protocol, + ciphers and settings for client verification. +

+

+ If you mix things, Apache httpd will detect it and return a special + response code, 421 Misdirected Request, to the client. +

+ + +

Environment Variables

+

+ This module can be configured to provide HTTP/2 related information + as additional environment variables to the SSI and CGI namespace, as well + as in custom log configurations (see %{VAR_NAME}e). +

+ + + + + + + + + + + + + + + +
Variable Name:Value Type:Description:
HTTP2flagHTTP/2 is being used.
H2PUSHflagHTTP/2 Server Push is enabled for this connection and also supported by the client.
H2_PUSHflagalternate name for H2PUSH
H2_PUSHEDstringempty or PUSHED for a request being pushed by the server.
H2_PUSHED_ONnumberHTTP/2 stream number that triggered the push of this request.
H2_STREAM_IDnumberHTTP/2 stream number of this request.
H2_STREAM_TAGstringHTTP/2 process unique stream identifier, consisting of connection id and stream id separated by -.
+ + +
+
top
+

H2CopyFiles Directive

+ + + + + + + + +
Description:Determine file handling in responses
Syntax:H2CopyFiles on|off
Default:H2CopyFiles off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.24 and later.
+

+ This directive influences how file content is handled in + responses. When off, which is the default, file handles + are passed from the requestion processing down to the main + connection, using the usual Apache setaside handling for + managing the lifetime of the file. +

+

+ When set to on, file content is copied while the + request is still being processed and the buffered data is passed + on to the main connection. This is better if a third party + module is injecting files with different lifetimes into the response. +

+

+ An example for such a module is mod_wsgi that may place + Python file handles into the response. Those files get close down when + Python thinks processing has finished. That may be well before + mod_http2 is done with them. +

+ +
+
top
+

H2Direct Directive

+ + + + + + + +
Description:H2 Direct Protocol Switch
Syntax:H2Direct on|off
Default:H2Direct on for h2c, off for h2 protocol
Context:server config, virtual host
Status:Extension
Module:mod_http2
+

+ This directive toggles the usage of the HTTP/2 Direct Mode. This + should be used inside a + <VirtualHost> + section to enable direct HTTP/2 communication for that virtual host. +

+

+ Direct communication means that if the first bytes received by the + server on a connection match the HTTP/2 preamble, the HTTP/2 + protocol is switched to immediately without further negotiation. + This mode is defined in RFC 7540 for the cleartext (h2c) case. Its + use on TLS connections not mandated by the standard. +

+

+ When a server/vhost does not have h2 or h2c enabled via + Protocols, + the connection is never inspected for a HTTP/2 preamble. + H2Direct + does not matter then. This is important for connections that + use protocols where an initial read might hang indefinitely, such + as NNTP. +

+

+ For clients that have out-of-band knowledge about a server + supporting h2c, direct HTTP/2 saves the client from having to + perform an HTTP/1.1 upgrade, resulting in better performance + and avoiding the Upgrade restrictions on request bodies. +

+

+ This makes direct h2c attractive for server to server communication + as well, when the connection can be trusted or is secured by other means. +

+

Example

H2Direct on
+
+ +
+
top
+

H2EarlyHints Directive

+ + + + + + + + +
Description:Determine sending of 103 status codes
Syntax:H2EarlyHints on|off
Default:H2EarlyHints off
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.24 and later.
+

+ This setting controls if HTTP status 103 interim responses are + forwarded to the client or not. By default, this is currently + not the case since a range of clients still have trouble with + unexpected interim responses. +

+

+ When set to on, PUSH resources announced with + H2PushResource will + trigger an interim 103 response + before the final response. The 103 response will carry Link + headers that advise the preload of such resources. +

+ +
+
top
+

H2MaxSessionStreams Directive

+ + + + + + + +
Description:Maximum number of active streams per HTTP/2 session.
Syntax:H2MaxSessionStreams n
Default:H2MaxSessionStreams 100
Context:server config, virtual host
Status:Extension
Module:mod_http2
+

+ This directive sets the maximum number of active streams per HTTP/2 session (e.g. connection) + that the server allows. A stream is active if it is not idle or + closed according to RFC 7540. +

+

Example

H2MaxSessionStreams 20
+
+ +
+
top
+

H2MaxWorkerIdleSeconds Directive

+ + + + + + + +
Description:Maximum number of seconds h2 workers remain idle until shut down.
Syntax:H2MaxWorkerIdleSeconds n
Default:H2MaxWorkerIdleSeconds 600
Context:server config
Status:Extension
Module:mod_http2
+

+ This directive sets the maximum number of seconds a h2 worker may + idle until it shuts itself down. This only happens while the number of + h2 workers exceeds H2MinWorkers. +

+

Example

H2MaxWorkerIdleSeconds 20
+
+ +
+
top
+

H2MaxWorkers Directive

+ + + + + + +
Description:Maximum number of worker threads to use per child process.
Syntax:H2MaxWorkers n
Context:server config
Status:Extension
Module:mod_http2
+

+ This directive sets the maximum number of worker threads to spawn + per child process for HTTP/2 processing. If this directive is not used, + mod_http2 will chose a value suitable for the mpm + module loaded. +

+

Example

H2MaxWorkers 20
+
+ +
+
top
+

H2MinWorkers Directive

+ + + + + + +
Description:Minimal number of worker threads to use per child process.
Syntax:H2MinWorkers n
Context:server config
Status:Extension
Module:mod_http2
+

+ This directive sets the minimum number of worker threads to spawn + per child process for HTTP/2 processing. If this directive is not used, + mod_http2 will chose a value suitable for the mpm + module loaded. +

+

Example

H2MinWorkers 10
+
+ +
+
top
+

H2ModernTLSOnly Directive

+ + + + + + + + +
Description:Require HTTP/2 connections to be "modern TLS" only
Syntax:H2ModernTLSOnly on|off
Default:H2ModernTLSOnly on
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.18 and later.
+

+ This directive toggles the security checks on HTTP/2 connections + in TLS mode (https:). This can be used server wide or for specific + <VirtualHost>s. +

+

+ The security checks require that the TSL protocol is at least + TLSv1.2 and that none of the ciphers listed in RFC 7540, Appendix A + is used. These checks will be extended once new security requirements + come into place. +

+

+ The name stems from the + Security/Server Side TLS + definitions at mozilla where "modern compatibility" is defined. Mozilla Firefox and + other browsers require modern compatibility for HTTP/2 connections. As everything + in OpSec, this is a moving target and can be expected to evolve in the future. +

+

+ One purpose of having these checks in mod_http2 is to enforce this + security level for all connections, not only those from browsers. The other + purpose is to prevent the negotiation of HTTP/2 as a protocol should + the requirements not be met. +

+

+ Ultimately, the security of the TLS connection is determined by the + server configuration directives for mod_ssl. +

+

Example

H2ModernTLSOnly off
+
+ +
+
top
+

H2OutputBuffering Directive

+ + + + + + + + +
Description:Determine buffering behaviour of output
Syntax:H2OutputBuffering on|off
Default:H2OutputBuffering on
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.48 and later.
+

+ The directive H2OutputBuffering controls the buffering of stream output. + The default is on, which is the behaviour of previous versions. When off, all + bytes are made available immediately to the main connection for sending them + out to the client. This fixes interop issues with certain flavours of gRPC. +

+ +
+
top
+

H2Padding Directive

+ + + + + + + + +
Description:Determine the range of padding bytes added to payload frames
Syntax:H2Padding numbits
Default:H2Padding 0
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.39 and later.
+

+ With the default 0, no padding bytes are added to any payload + frames, e.g. HEADERS, DATA and PUSH_PROMISE. This is the behaviour + of previous versions. It means that under certain conditions, an + observer of network traffic can see the length of those frames + in the TLS stream. +

+

+ When configuring numbits of 1-8, a random number in range + [0, 2^numbits[ are added to each frame. The random value is chosen + independently for each frame that the module sends back to the client. +

+

+ While more padding bytes give better message length obfuscation, they + are also additional traffic. The optimal number therefore depends on + the kind of web traffic the server carries. +

+

+ The default of 0, e.g. no padding, was chosen for maximum backward + compatibility. There might be deployments where padding bytes are + unwanted or do harm. The most likely cause would be a client that + has a faults implementation. +

+ +
+
top
+

H2Push Directive

+ + + + + + + + +
Description:H2 Server Push Switch
Syntax:H2Push on|off
Default:H2Push on
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.18 and later.
+

+ This directive toggles the usage of the HTTP/2 server push + protocol feature. +

+

+ The HTTP/2 protocol allows the server to push other resources to + a client when it asked for a particular one. This is helpful + if those resources are connected in some way and the client can + be expected to ask for it anyway. The pushing then saves the + time it takes the client to ask for the resources itself. On the + other hand, pushing resources the client never needs or already + has is a waste of bandwidth. +

+

+ Server pushes are detected by inspecting the Link headers of + responses (see https://tools.ietf.org/html/rfc5988 for the + specification). When a link thus specified has the rel=preload + attribute, it is treated as a resource to be pushed. +

+

+ Link headers in responses are either set by the application or + can be configured via H2PushResource or + using mod_headers as: +

+

mod_headers example

<Location /index.html>
+    Header add Link "</css/site.css>;rel=preload"
+    Header add Link "</images/logo.jpg>;rel=preload"
+</Location>
+
+

+ As the example shows, there can be several link headers added + to a response, resulting in several pushes being triggered. There + are no checks in the module to avoid pushing the same resource + twice or more to one client. Use with care. +

+

+ HTTP/2 server pushes are enabled by default. On a server or virtual host, + you may enable/disable this feature for any connection to the host. In addition, + you may disable PUSH for a set of resources in a Directory/Location. This controls + which resources may cause a PUSH, not which resources may be sent via PUSH. +

+

Example

H2Push off
+
+

+ Last but not least, pushes happen only when the client signals + its willingness to accept those. Most browsers do, some, like Safari 9, + do not. Also, pushes also only happen for resources from the same + authority as the original response is for. +

+ +
+
top
+

H2PushDiarySize Directive

+ + + + + + + + +
Description:H2 Server Push Diary Size
Syntax:H2PushDiarySize n
Default:H2PushDiarySize 256
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.19 and later.
+

+ This directive toggles the maximum number of HTTP/2 server pushes + that are remembered per HTTP/2 connection. This can be used inside the + <VirtualHost> + section to influence the number for all connections to that virtual host. +

+

+ The push diary records a digest of pushed + resources (their URL) to avoid duplicate pushes on the same connection. + These value are not persisted, so clients opening a new connection + will experience known pushes again. +

+

+ If the maximum size is reached, newer entries replace the oldest + ones. A diary entry uses 8 bytes, letting a + default diary with 256 entries consume around 2 KB of memory. +

+

+ A size of 0 will effectively disable the push diary. +

+ +
+
top
+

H2PushPriority Directive

+ + + + + + + + +
Description:H2 Server Push Priority
Syntax:H2PushPriority mime-type [after|before|interleaved] [weight]
Default:H2PushPriority * After 16
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.18 and later. For having an + effect, a nghttp2 library version 1.5.0 or newer is necessary.
+

+ This directive defines the priority handling of pushed responses + based on the content-type of the response. This is usually defined + per server config, but may also appear in a virtual host. +

+

+ HTTP/2 server pushes are always related to a client request. Each + such request/response pairs, or streams have a dependency + and a weight, together defining the priority of a stream. +

+

+ When a stream depends on another, say X depends on Y, + then Y gets all bandwidth before X gets any. Note that this + does not mean that Y will block X. If Y has no data to send, + all bandwidth allocated to Y can be used by X. +

+

+ When a stream has more than one dependent, say X1 and X2 both + depend on Y, the weight determines the bandwidth + allocation. If X1 and X2 have the same weight, they both get + half of the available bandwidth. If the weight of X1 is twice + as large as that for X2, X1 gets twice the bandwidth of X2. +

+

+ Ultimately, every stream depends on the root stream which + gets all the bandwidth available, but never sends anything. So all + its bandwidth is distributed by weight among its children. Which + either have data to send or distribute the bandwidth to their + own children. And so on. If none of the children have data + to send, that bandwidth get distributed somewhere else according + to the same rules. +

+

+ The purpose of this priority system is to always make use of + available bandwidth while allowing precedence and weight + to be given to specific streams. Since, normally, all streams + are initiated by the client, it is also the one that sets + these priorities. +

+

+ Only when such a stream results in a PUSH, gets the server to + decide what the initial priority of such a pushed + stream is. In the examples below, X is the client stream. It + depends on Y and the server decides to PUSH streams P1 and P2 + onto X. +

+

+ The default priority rule is: +

+

Default Priority Rule

H2PushPriority * After 16
+
+

+ which reads as 'Send a pushed stream of any content-type + depending on the client stream with weight 16'. And so P1 + and P2 will be send after X and, as they have equal weight, + share bandwidth equally among themselves. +

+

Interleaved Priority Rule

H2PushPriority text/css Interleaved 256
+
+

+ which reads as 'Send any CSS resource on the same dependency and + weight as the client stream'. If P1 has content-type 'text/css', + it will depend on Y (as does X) and its effective weight will be + calculated as P1ew = Xw * (P1w / 256). With P1w being + 256, this will make the effective weight the same as the weight + of X. If both X and P1 have data to send, bandwidth will be allocated + to both equally. +

+

+ With Pw specified as 512, a pushed, interleaved stream would + get double the weight of X. With 128 only half as much. Note that + effective weights are always capped at 256. +

+

Before Priority Rule

H2PushPriority application/json Before
+
+

+ This says that any pushed stream of content type 'application/json' + should be send out before X. This makes P1 dependent + on Y and X dependent on P1. So, X will be stalled as long as + P1 has data to send. The effective weight is inherited from the + client stream. Specifying a weight is not allowed. +

+

+ Be aware that the effect of priority specifications is limited + by the available server resources. If a server does not have + workers available for pushed streams, the data for the stream + may only ever arrive when other streams have been finished. +

+

+ Last, but not least, there are some specifics of the syntax + to be used in this directive: +

+
    +
  1. '*' is the only special content-type that matches all others. + 'image/*' will not work.
  2. +
  3. The default dependency is 'After'.
  4. +
  5. There are also default weights: for 'After' it is 16, 'interleaved' is 256. +
  6. +
+

Shorter Priority Rules

H2PushPriority application/json 32         # an After rule
+H2PushPriority image/jpeg before           # weight inherited
+H2PushPriority text/css   interleaved      # weight 256 default
+
+ +
+
top
+

H2PushResource Directive

+ + + + + + + +
Description:Declares resources for early pushing to the client
Syntax:H2PushResource [add] path [critical]
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.24 and later.
+

+ When added to a directory/location HTTP/2 PUSHes will be attempted + for all paths added via this directive. This directive can be used + several times for the same location. +

+

+ This directive pushes resources much earlier than adding + Link headers via mod_headers. + mod_http2 announces these resources in a + 103 Early Hints interim response to the client. + That means that clients not supporting PUSH will still get + early preload hints. +

+

+ In contrast to setting Link response headers + via mod_headers, this directive will only + take effect on HTTP/2 connections. +

+

+ By adding critical to such a resource, the server + will give processing it more preference and send its data, once + available, before the data from the main request. +

+ +
+
top
+

H2SerializeHeaders Directive

+ + + + + + + +
Description:Serialize Request/Response Processing Switch
Syntax:H2SerializeHeaders on|off
Default:H2SerializeHeaders off
Context:server config, virtual host
Status:Extension
Module:mod_http2
+

+ This directive toggles if HTTP/2 requests shall be serialized in + HTTP/1.1 format for processing by httpd core or if + received binary data shall be passed into the request_recs + directly. +

+

+ Serialization will lower performance, but gives more backward + compatibility in case custom filters/hooks need it. +

+

Example

H2SerializeHeaders on
+
+ +
+
top
+

H2StreamMaxMemSize Directive

+ + + + + + + +
Description:Maximum amount of output data buffered per stream.
Syntax:H2StreamMaxMemSize bytes
Default:H2StreamMaxMemSize 65536
Context:server config, virtual host
Status:Extension
Module:mod_http2
+

+ This directive sets the maximum number of outgoing data bytes buffered in memory + for an active streams. This memory is not allocated per stream as such. Allocations + are counted against this limit when they are about to be done. Stream processing + freezes when the limit has been reached and will only continue when buffered data + has been sent out to the client. +

+

Example

H2StreamMaxMemSize 128000
+
+ +
+
top
+

H2TLSCoolDownSecs Directive

+ + + + + + + + +
Description:Configure the number of seconds of idle time on TLS before shrinking writes
Syntax:H2TLSCoolDownSecs seconds
Default:H2TLSCoolDownSecs 1
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.18 and later.
+

+ This directive sets the number of seconds of idle time on a TLS + connection before the TLS write size falls back to small (~1300 bytes) + length. + This can be used server wide or for specific + <VirtualHost>s. +

+

+ See H2TLSWarmUpSize for a + description of TLS warmup. H2TLSCoolDownSecs reflects the fact + that connections may deteriorate over time (and TCP flow adjusts) + for idle connections as well. It is beneficial to overall performance + to fall back to the pre-warmup phase after a number of seconds that + no data has been sent. +

+

+ In deployments where connections can be considered reliable, this + timer can be disabled by setting it to 0. +

+

+ The following example sets the seconds to zero, effectively disabling + any cool down. Warmed up TLS connections stay on maximum record + size. +

+

Example

H2TLSCoolDownSecs 0
+
+ +
+
top
+

H2TLSWarmUpSize Directive

+ + + + + + + + +
Description:Configure the number of bytes on TLS connection before doing max writes
Syntax:H2TLSWarmUpSize amount
Default:H2TLSWarmUpSize 1048576
Context:server config, virtual host
Status:Extension
Module:mod_http2
Compatibility:Available in version 2.4.18 and later.
+

+ This directive sets the number of bytes to be sent in small + TLS records (~1300 bytes) until doing maximum sized writes (16k) + on https: HTTP/2 connections. + This can be used server wide or for specific + <VirtualHost>s. +

+

+ Measurements by google performance + labs show that best performance on TLS connections is reached, + if initial record sizes stay below the MTU level, to allow a + complete record to fit into an IP packet. +

+

+ While TCP adjust its flow-control and window sizes, longer TLS + records can get stuck in queues or get lost and need retransmission. + This is of course true for all packets. TLS however needs the + whole record in order to decrypt it. Any missing bytes at the end + will stall usage of the received ones. +

+

+ After a sufficient number of bytes have been send successfully, + the TCP state of the connection is stable and maximum TLS record + sizes (16 KB) can be used for optimal performance. +

+

+ In deployments where servers are reached locally or over reliable + connections only, the value might be decreased with 0 disabling + any warmup phase altogether. +

+

+ The following example sets the size to zero, effectively disabling + any warmup phase. +

+

Example

H2TLSWarmUpSize 0
+
+ +
+
top
+

H2Upgrade Directive

+ + + + + + + +
Description:H2 Upgrade Protocol Switch
Syntax:H2Upgrade on|off
Default:H2Upgrade on for h2c, off for h2 protocol
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_http2
+

+ This directive toggles the usage of the HTTP/1.1 Upgrade method + for switching to HTTP/2. This + should be used inside a + <VirtualHost> + section to enable Upgrades to HTTP/2 for that virtual host. +

+

+ This method of switching protocols is defined in HTTP/1.1 and + uses the "Upgrade" header (thus the name) to announce willingness + to use another protocol. This may happen on any request of a + HTTP/1.1 connection. +

+

+ This method of protocol switching is enabled by default on cleartext + (potential h2c) connections and disabled on TLS (potential h2), + as mandated by RFC 7540. +

+

+ Please be aware that Upgrades are only accepted for requests + that carry no body. POSTs and PUTs with content will never + trigger an upgrade to HTTP/2. + See H2Direct for an + alternative to Upgrade. +

+

+ This mode only has an effect when h2 or h2c is enabled via + the Protocols. +

+

Example

H2Upgrade on
+
+ +
+
top
+

H2WindowSize Directive

+ + + + + + + +
Description:Size of Stream Window for upstream data.
Syntax:H2WindowSize bytes
Default:H2WindowSize 65535
Context:server config, virtual host
Status:Extension
Module:mod_http2
+

+ This directive sets the size of the window that is used for flow control + from client to server and limits the amount of data the server has to buffer. + The client will stop sending on a stream once the limit has been reached until + the server announces more available space (as it has processed some of the data). +

+ This limit affects only request bodies, not its meta data such as headers. Also, + it has no effect on response bodies as the window size for those are managed + by the clients. +

+

Example

H2WindowSize 128000
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_http2.html.fr.utf8 b/docs/manual/mod/mod_http2.html.fr.utf8 new file mode 100644 index 0000000..b447520 --- /dev/null +++ b/docs/manual/mod/mod_http2.html.fr.utf8 @@ -0,0 +1,1101 @@ + + + + + +mod_http2 - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_http2

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support de la couche transport HTTP/2
Statut:Extension
Identificateur de Module:http2_module
Fichier Source:mod_http2.c
Compatibilité:Disponible à partir de la version 2.4.17 du serveur + HTTP Apache
+

Sommaire

+ +

Ce module ajoute le support de HTTP/2 (RFC 7540) au serveur HTTP + Apache.

+ +

Il s'appuie sur la bibliothèque libnghttp2 pour implémenter le + moteur de base http/2.

+ +

Pour mettre en oeuvre les fonctionnalités décrites dans ce + document, vous devez activer HTTP/2 en utilisant la directive + Protocols. HTTP/2 n'imposant + pas de chiffrement, deux protocoles sont disponibles : + h2 (HTTP/2 avec TLS) at h2c (HTTP/2 avec TCP).

+ +

Voici deux types de configuration courant :

+ +

HTTP/2 dans un contexte de serveur virtuel (TLS seulement)

+
Protocols h2 http/1.1
+ +

Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un + <VirtualHost> + sécurisé. La vérification du préambule HTTP/2 (mode direct, voir + H2Direct) est désactivée par + défaut pour h2.

+
+ +

HTTP/2 dans un contexte de serveur (TLS et texte pur)

+
Protocols h2 h2c http/1.1
+ +

Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un + <VirtualHost> + sécurisé. Permet aussi une négociation HTTP/2 en texte pur (h2c) en + effectuant une mise à jour depuis une connexion initiale HTTP/1.1 ou via + une vérification du préambule HTTP/2 (mode direct, voir + H2Direct).

+
+ +

Si vous avez besoin d'informations supplémentaires à propos du + protocole, veuillez vous reporter à la HTTP/2 FAQ.

+ + +
+ +
top
+
+

Comment ça marche ?

+ +

Quantification des ressources + supplémentaires nécessaires à HTTP/2

+

+ Activer HTTP/2 sur votre serveur Apache a un impact sur la + consommation de ressources, et si votre site est très actif, il est + conseillé d'en prendre sérieusement en compte les implications. +

+

+ HTTP/2 attribue à chaque requête qu'il reçoit son propre thread + de travail pour son traitement, la collecte des résultats et + l'envoie de ces derniers au client. Pour y parvenir, il lui faut + lancer des threads supplémentaires, et ceci constituera le premier + effet notable de l'activation de HTTP/2. +

+

+ Dans l'implémentation actuelle, ces threads de travail font partie + d'un jeu de threads distinct de celui des threads de travail du MPM + avec lequel vous êtes familié. Il s'agit simplement du mode de + fonctionnement actuel, et il n'en sera pas obligatoirement toujours + ainsi (il est cependant probable que la situation restera inchangée + avec la version 2.4.x). De par ce mode de fonctionnement, les + threads de travail HTTP/2, ou plus simplement H2 ne seront pas + affichés par mod_status. De même, ils ne seront pas + pris en compte par les directives du style ThreadsPerChild. Par contre, ils + utilisent par défaut la valeur de ThreadsPerChild si vous n'avez pas + spécifié d'autres valeurs via H2MinWorkers et H2MaxWorkers. +

+

+ Autre changement à surveiller : la consommation de mémoire. En + effet, comme HTTP/2 conserve plus d'informations sur le serveur pour + gérer toutes les requêtes en cours, leurs priorités et + interdépendances, il aura toujours besoin de plus de mémoire que + pour un traitement en HTTP/1.1. Trois directives permettent de + limiter l'empreinte mémoire d'une connexion HTTP/2 : H2MaxSessionStreams, H2WindowSize et H2StreamMaxMemSize. +

+

+ La directive H2MaxSessionStreams permet de limiter + le nombre de requêtes simultanées qu'un client peut envoyer sur une + connexion HTTP/2. La valeur que vous allez définir dépend de votre + site. La valeur par défaut qui est de 100 est largement suffisante, + et à moins que vous ne soyez un peu juste en mémoire, je vous + conseille de ne pas la modifier. La plupart des requêtes qu'envoie + un client sont des requêtes de type GET sans corps qui n'utilisent + que très peu de mémoire en attendant le démarrage du traitement. + +

+

+ La directive H2WindowSize + permet de définir la taille maximale que peut avoir le corps d'une + requête que le client envoie avant d'attendre que le serveur + en demande d'avantage. En d'autres termes, il s'agit de la quantité + de données que le serveur peut stocker dans son tampon, valable pour + une requête. +

+

+ En outre, la directive H2StreamMaxMemSize permet de définir + la quantité de données de la réponse qui doit être mise en tampon. + Chaque requête étant prise en charge par un thread H2Worker et + produisant des données que le serveur tente de transmettre au client + via une connexion HTTP/2, si le client n'est pas en mesure de lire + ces données assez rapidement, la connexion les mettra en tampon et + interrompra l'exécution du thread H2Worker correspondant. +

+ + + +

Serveurs virtuels et requêtes mal + redirigées

+

+ De nombreux site utilisent le même certificat TLS pour plusieurs + serveurs virtuels. Ce certificat référence un nom de serveur + générique comme '*.example.org' ou plusieurs noms de serveur + différents. Les navigateurs qui utilisent HTTP/2 détectent ce + comportement et réutilisent une connexion déjà ouverte pour ces + serveurs. +

+

+ Ceci améliore considérablement les performances, mais il y a un prix + à payer : il faut accorder un soin tout particulier à la + configuration de tels serveurs virtuels. Le problème réside dans le + fait que plusieurs requêtes pour plusieurs serveurs virtuels vont se + partager la même connexion TLS, et ceci empêche toute renégociation + car le standard HTTP/2 l'interdit. +

+

+ Ainsi, lorsque plusieurs de vos serveurs virtuels utilisent le même + certificat et si vous souhaitez utiliser HTTP/2 pour y accéder, vous + devez vous assurer que tous vos serveurs virtuels possèdent + exactement la même configuration SSL. En particulier, ils doivent + utiliser les mêmes protocole, algorithme de chiffrement et + configuration pour la vérification du client. +

+

+ Dans le cas contraire, Apache httpd le détectera et renverra au + client un code de réponse spécial, 421 Misdirected Request. +

+ + +

Variables d'environnement

+ +

Ce module peut être configuré pour fournir des informations en + rapport avec HTTP/2 sous la forme de variables d'environnement + supplémentaires dans l'espace de nommage SSI et CGI, ainsi que dans les + configurations personnalisées de le journalisation (voir + %{VAR_NAME}e). +

+ + + + + + + + + + + + + + + +
Nom variable :Type :Description :
HTTPedrapeauHTTP/2 est utilisé.
H2PUSHdrapeauLa + fonctionnalité HTTP/2 Server Push est activée pour cette requête et + supportée par le client.
H2_PUSHdrapeauautre nom pour H2PUSH
H2_PUSHEDchaînevide ou + PUSHED pour une requête pushée par le serveur.
H2_PUSHED_ONnombrenuméro du + flux HTTP/2 qui a déclenché le push de cette requête.
H2_STREAM_IDnombrenuméro du + flux HTTP/2 de cette requête.
H2_STREAM_TAGchaîneidentifiant + de flux unique du processus HTTP/2 composé de l'identifiant de la + connexion et de l'identifiant du flux séparés par -.
+ + +
+
top
+

Directive H2CopyFiles

+ + + + + + + + +
Description:Contrôle la gestion des fichiers dans les réponses
Syntaxe:H2CopyFiles on|off
Défaut:H2CopyFiles off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.24 du serveur HTTP + Apache.
+

+ Cette directive permet de définir la manière de gérer les + contenus de fichiers dans les réponses. Lorsqu'elle est à off + (sa valeur par défaut), les descripteurs de fichiers sont + transmis par le processus de traitement de la requête vers la + connexion principale en utilisant le système habituel de mise en + réserve d'Apache pour gérer le durée de vie du fichier. +

+

+ Lorsqu'elle est à on, le contenu du fichier est + recopier pendant le traitement de la requête et ces données + mises en tampon sont transmises vers la connexion principale, ce + qui s'avère avantageux lorsqu'un module tiers injecte dans la + réponse des fichiers possédant des durées de vie différentes. +

+

+ Un exemple de ces modules tiers : mod_wsgi qui peut + injecter des descripteurs de fichiers dans la réponse. Ces + fichiers sont fermés lorsque Python estime que le traitement est + terminé, alors que mod_http2 est probablement + encore loin d'en avoir fini avec eux. +

+ +
+
top
+

Directive H2Direct

+ + + + + + + +
Description:Activation du protocole H2 Direct
Syntaxe:H2Direct on|off
Défaut:H2Direct on pour h2c, off pour le protocole h2
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
+

+ Cette directive permet d'activer/désactiver + l'utilisation du mode HTTP/2 Direct. Elle doit être + située dans une section <VirtualHost> afin d'activer la + communication directe HTTP/2 pour le serveur virtuel + considéré. +

+

+ La notion de communication directe signifie que si les + premiers octets reçus par le serveur correspondent à un + en-tête HTTP/2, le protocole HTTP/2 est utilisé sans + négociation supplémentaire. Ce mode est défini pour + les transmissions en clair (h2c) dans la RFC 7540. Son + utilisation avec les connexions TLS n'est pas + officiellement supportée. +

+

+ Lorsque le protocole h2 ou h2c n'est pas activé via la + directive Protocols, la recherche d'un en-tête HTTP/2 n'est + jamais effectuée au sein d'une connexion. La directive + H2Direct ne produit alors aucun effet. Ceci est + important pour les connexions qui utilisent un protocole + pour lequel une lecture initiale peut entraîner un + blocage définitif comme NNTP. +

+

+ Pour un client qui sait qu'un serveur supporte h2c, la + communication directe HTTP/2 dispense le client d'une + mise à jour HTTP/1.1, ce qui entraîne une amélioration + des performances et évite les restrictions sur les corps + de requête suite à une mise à jour. +

+

+ Cette directive rend aussi h2c plus attractif pour les + communications de serveur à serveur lorsque la connexion + est sure ou peut être sécurisée d'une manière ou d'une + autre. +

+

Exemple

H2Direct on
+
+ +
+
top
+

Directive H2EarlyHints

+ + + + + + + + +
Description:Contrôle l'envoi de codes d'état 103
Syntaxe:H2EarlyHints on|off
Défaut:H2EarlyHints off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.24 du serveur HTTP + Apache.
+

+ Cette directive permet de définir si les réponses intermédiaires + contenant un code d'état HTTP 103 doivent être envoyées au + client ou non. Par défaut ce n'est actuellement pas le cas car + certains clients ont encore des problèmes avec les réponses + intermédiaires inattendues. +

+

+ Lorsque cette directive est définie à on, les + ressources PUSHées définie par la directive H2PushResource déclenchent une + réponse intermédiaire 103 avant la réponse finale. Cette réponse + 103 comporte des en-têtes Link qui provoquent le + préchargement des ressources considérées. +

+ +
+
top
+

Directive H2MaxSessionStreams

+ + + + + + + +
Description:Nombre maximal de flux actifs par session HTTP/2.
Syntaxe:H2MaxSessionStreams n
Défaut:H2MaxSessionStreams 100
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
+

+ Cette directive permet de définir le nombre maximal de flux + actifs par session (connexion) HTTP/2 accepté par le serveur. + Selon la RFC 7540, un flux est considéré comme actif s'il n'est + ni en attente ni fermé. +

+

Exemple

H2MaxSessionStreams 20
+
+ +
+
top
+

Directive H2MaxWorkerIdleSeconds

+ + + + + + + +
Description:Nombre maximal de secondes pendant lequel une unité de + traitement h2 pourra rester inactive sans être arrêtée.
Syntaxe:H2MaxWorkerIdleSeconds n
Défaut:H2MaxWorkerIdleSeconds 600
Contexte:configuration globale
Statut:Extension
Module:mod_http2
+

+ Cette directive permet de définir le nombre maximal de secondes + pendant lequel une unité de traitement h2 pourra rester inactive + avant de s'arrêter elle-même. Cet arrêt ne peut cependant se + produire que si le nombre d'unités de traitement h2 dépasse + H2MinWorkers. +

+

Exemple

H2MaxWorkerIdleSeconds 20
+
+ +
+
top
+

Directive H2MaxWorkers

+ + + + + + +
Description:Nombre maximal de threads à utiliser pour chaque processus + enfant.
Syntaxe:H2MaxWorkers n
Contexte:configuration globale
Statut:Extension
Module:mod_http2
+

+ Cette directive permet de définir le nombre maximal de threads à + lancer pour le traitement HTTP/2 de chaque processus enfant. Si + cette directive n'est pas définie, mod_http2 + choisira une valeur appropriée en fonction du module mpm + utilisé. + + This directive sets the maximum number of worker threads to spawn + per child process for HTTP/2 processing. If this directive is not used, + mod_http2 will chose a value suitable for the mpm + module loaded. +

+

Exemple

H2MaxWorkers 20
+
+ +
+
top
+

Directive H2MinWorkers

+ + + + + + +
Description:Nombre minimal de threads à utiliser pour chaque processus + enfant.
Syntaxe:H2MinWorkers n
Contexte:configuration globale
Statut:Extension
Module:mod_http2
+

+ Cette directive permet de définir le nombre minimal de threads à + lancer pour le traitement HTTP/2 de chaque processus enfant. Si + cette directive n'est pas définie, mod_http2 + choisira une valeur appropriée en fonction du module mpm + utilisé. +

+

Exemple

H2MinWorkers 10
+
+ +
+
top
+

Directive H2ModernTLSOnly

+ + + + + + + + +
Description:Impose les connexions HTTP/2 en mode "TLS moderne" + seulement
Syntaxe:H2ModernTLSOnly on|off
Défaut:H2ModernTLSOnly on
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.
+

+ Cette directive permet de définir si les vérifications de + sécurité sur les connexions HTTP/2 doivent être exclusivement en + mode TLS (https:). Elle peut être placée au niveau du serveur + principal ou dans une section <VirtualHost>. +

+

+ Les vérifications de sécurité nécessitent TLSv1.2 au minimum et + l'absence de tout algorithme de chiffrement listé dans la RFC + 7540, Appendix A. Ces vérifications seront étendues lorsque de + nouveaux prérequis en matière de sécurité seront mis en place. +

+

+ Le nom provient des définitions Mozilla Security/Server + Side TLS où il est question de "modern compatibility". + Mozilla Firefox et d'autres navigateurs imposent la "modern + compatibility" pour les connexions HTTP/2. Comme toute chose en + matière de sécurité opérationnelle, c'est une cible mouvante + susceptible d'évoluer dans le futur. +

+

+ Un des buts de ces vérifications dans mod_http2 tend à imposer + ce niveau de sécurité pour toutes les connexions, et non + seulement celles en provenance des navigateurs web. Un autre but + est l'interdiction d'utiliser HTTP/2 en tant que protocole dans + les négociations si les prérequis ne sont pas respectés. +

+

+ En fin de compte, la sécurité de la connexion TLS est déterminée + par les directives de configuration du serveur pour mod_ssl. +

+

Exemple

H2ModernTLSOnly off
+
+ +
+
top
+

Directive H2OutputBuffering

+ + + + + + + + +
Description:Contrôle la mise en tampon du flux de sortie
Syntaxe:H2OutputBuffering on|off
Défaut:H2OutputBuffering on
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.48 du serveur HTTP + Apache.
+

+ La directive H2OutputBuffering permet de + contrôler la mise en tampon du flux de sortie. La valeur par + défaut est on, ce qui correspond au comportement des versions + précédentes. Lorsqu'elle est à off, chaque octet est + immédiatement disponible pour envoi au client via la connexion + principale. Ceci permet de résoudre les problèmes + d'inter-opérations avec certaines versions de gRPC. +

+ +
+
top
+

Directive H2Padding

+ + + + + + + + +
Description:Spécifie un intervalle de nombres d'octets de bourrage à + ajouter aux trames utiles
Syntaxe:H2Padding numbits
Défaut:H2Padding 0
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP + Apache.
+

+ La valeur par défaut 0 indique qu'aucun octet de bourrage ne + sera ajouté aux trames utiles comme HEADERS, DATA et + PUSH_PROMISE. Ceci correspond au comportement des versions + précédentes. Dans ce cas et sous certaines conditions, un + observateur du trafic réseau pourra alors déterminer la longueur + de ces trames dans le flux TLS. +

+

+ Si on attribue à numbits la valeur 1-8, un nombre aléatoire + d'octets entre 0 et 2^numbits sont ajoutés à chaque trame. Une + valeur aléatoire d'octets de bourrage est attribué + indépendamment à chaque trame que le module renvoie au client. +

+

+ Pour améliorer la dissimulation de la longueur des trames, on + peut augmenter le nombre moyen d'octets de bourrage, mais cela + augmente d'autant le trafic réseau. Le nombre optimal d'octets + de bourrage dépend donc du type de trafic web que le serveur + engendre. +

+

+ La valeur par défaut de 0 (aucun octet de bourrage) a été + choisie dans un but de compatibilité ascendante. Il peut en + effet exister des installations où les octets de bourrage ne + sont pas souhaités ou sont néfastes. La cause principale peut + provenir d'un client dont l'implémentation comporte des erreurs. +

+ +
+
top
+

Directive H2Push

+ + + + + + + + +
Description:Activation/désactivation du server push H2
Syntaxe:H2Push on|off
Défaut:H2Push on
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.
+

+ Cette directive permet d'activer/désactiver + l'utilisation de la fonctionnalité server push du + protocole HTTP/2. +

+

+ Lorsqu'un client demande une ressource particulière, le + protocole HTTP/2 permet au serveur de lui fournir des + ressources supplémentaires. Ceci s'avère utile lorsque + ces ressources sont reliées entre elles, ce qui peut + laisser supposer que le client va probablement les + demander dans un délai plus ou moins long. Le mécanisme + de pushing permet alors au client d'économiser le temps + qu'il lui aurait fallu pour demander ces ressources + supplémentaires lui-même. Par contre, fournir au client + des ressources dont il n'a pas besoin ou qu'il possède + déjà constitue une perte de bande passante. +

+

+ Les server pushes sont détectés en inspectant les + en-têtes Link des réponses (voir + https://tools.ietf.org/html/rfc5988 pour la + spécification). Lorsqu'un lien spécifié de cette manière + possède l'attribut rel=preload, il est + considéré comme devant faire l'objet d'un push. +

+

+ Les en-têtes link des réponses sont soit définis par + l'application, soit configurés via + H2PushResource ou + mod_headers comme suit : +

+

Exemple de configuration d'en-tête link via mod_headers

<Location /index.html>
+    Header add Link "</css/site.css>;rel=preload"
+    Header add Link "</images/logo.jpg>;rel=preload"
+</Location>
+
+

+ Comme le montre l'exemple, il est possible d'ajouter + autant d'en-têtes link que l'on souhaite à une réponse, ce qui déclenchera + autant de pushes. Cette fonctionnalité doit donc être + utilisée avec prudence car le module ne vérifie pas si + une ressource n'a pas déjà été "pushée" vers un client. +

+

+ Les PUSH HTTP/2 sont activés par défaut. Vous pouvez + activer/désactiver cette fonctionnalité pour toute connexion au + serveur au niveau global ou serveur virtuel. Vous pouvez en + outre désactiver PUSH pour un jeu de ressources dans une + section Directory/Location. Notez que ceci permet de contrôler + quelles ressources peuvent déclencher un PUSH, mais pas les + ressources qui peuvent être envoyées via PUSH. +

+

Exemple

H2Push off
+
+

+ Enfin, il est important de savoir que les pushes ne se + produisent que si le client en manifeste le désir ; la + plupart des navigateurs le font, mais certains, comme + Safari 9, ne le font pas. En outre, les pushes ne se produisent que + pour les ressources de la même autorité que celle de la + réponse originale. +

+ +
+
top
+

Directive H2PushDiarySize

+ + + + + + + + +
Description:Taille du journal des Pushes H2
Syntaxe:H2PushDiarySize n
Défaut:H2PushDiarySize 256
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.19 du serveur HTTP + Apache.
+

+ Cette directive permet de définir le nombre maximum de pushes + qui seront enregistrés pour une connexion HTTP/2. Elle peut être + placée dans une section <VirtualHost> afin de définir le nombre + de pushes pour le serveur virtuel considéré. +

+

+ Le journal des pushes enregistre un condensé des ressources + préchargées (leurs URLs) afin d'éviter les duplications de + pushes pour une même connexion. Cependant, ces données ne sont + pas conservées, et les clients qui ouvrent une nouvelle + connexion se verront à nouveau affecter les mêmes pushes. +

+

+ Si la taille maximale est atteinte, les nouvelles entrées + remplacent les plus anciennes. Une entrée du journal nécessitant + 8 octets, un journal de 256 entrées consomme 2 Ko de mémoire. +

+

+ Si cette directive est définie à 0, le journal des pushes est + désactivé. +

+ +
+
top
+

Directive H2PushPriority

+ + + + + + + + +
Description:Priorité des pushes H2
Syntaxe:H2PushPriority mime-type [after|before|interleaved] [weight]
Défaut:H2PushPriority * After 16
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.18 du serveur HTTP + Apache. Nécessite la bibliothèque nghttp2 version 1.5.0 ou supérieure.
+

+ Cette directive permet de définir une gestion de priorité des + pushes en fonction du type de contenu de la réponse. Elle est en + général définie au niveau du serveur principal, mais peut aussi + l'être au niveau d'un serveur virtuel. +

+

+ Les pushes HTTP/2 sont toujours liés à une requête client. + Chaque paire requête/réponse de cette sorte, ou flux, + possède une dépendance et un poids qui définissent la + priorité du flux. +

+

+ Lorsqu'un flux dépend d'un autre, disons X dépend de Y, + alors Y reçoit toute la bande passante avant que X n'en reçoive + ne serait-ce qu'une partie. Notez que cela ne signifie en rien + que Y bloque X ; en effet, si Y n'a aucune donnée à envoyer, + toute la bande passante qui lui est allouée peut être utilisée + par X. +

+

+ Lorsque plusieurs flux dépendent d'un même autre flux, disons X1 + et X2 dépendent tous deux de Y, le poids détermine la + bande passante allouée. Ainsi, si X1 et X2 possèdent le même + poids, ils recevront tous deux la moitié de la bande passante + disponible. Si le poids de X1 est égal au double de celui de X2, + X1 recevra une bande passante double de celle de X2. + +

+

+ En fin de compte, tout flux dépend du flux racine qui + reçoit toute la bande passante disponible mais n'envoie jamais + de données. Cette bande passante est ainsi répartie entre les flux + enfants selon leur poids. Ces derniers l'utilisent alors pour + envoyer leurs données ou pour la répartir entre leurs propres + flux enfants, et ainsi de suite. Si aucun des flux enfants n'a + de données à envoyer, la bande passante est attribuée à d'autres + flux selon les mêmes règles. +

+

+ Ce système de priorités a été conçu de façon a toujours pouvoir + utiliser la bande passante disponible tout en définissant des + priorités et en attribuant des poids aux différents flux. Ainsi, + tous les flux sont en général initialisés par le client qui + lui-même définit les priorités. +

+

+ Seul le fait de savoir qu'un flux implique un PUSH permet au + serveur de décider quelle est la priorité initiale d'un + tel flux. Dans les exemples ci-dessous, X est le flux client. Il + dépend de Y et le serveur décide de "PUSHer" les flux P1 et P2 + sur X. +

+

+ La règle de priorité par défaut est : +

+

Règle de priorité par défaut

H2PushPriority * After 16
+
+

+ Elle peut se traduire par "Envoyer un flux PUSH avec tout type + de contenu et dépendant du flux client avec le poids 16". P1 et + P2 seront alors envoyés après X, et comme leurs poids sont + identiques, il se verront allouer la même quantité de bande + passante. +

+

Règle de priorité entrelacée

H2PushPriority text/css Interleaved 256
+
+

+ Ce qui peut se traduire par "Envoyer toute ressource CSS dans la + même dépendance et avec le même poids que le flux client". Si le + type de contenu de P1 est "text/css", il dépendra de Y (comme X) + et son poids effectif sera calculé selon la formule : P1ew + = Xw * (P1w / 256). Si P1w est de 256, Le poids effectif + de P1 sera le même que celui de X. Si X et P1 ont des données à + envoyer, il se verront allouer la même quantité de bande + passante. +

+

+ Avec un Pw de 512, un flux entrelacé et PUSHé aura un poids + double de celui de X. Avec un poids de 128, son poids ne sera + que la moitié de celui de X. Notez que les poids effectifs sont + toujours plafonnés à 256. + +

+

Règle de priorité Before

H2PushPriority application/json Before
+
+

+ Dans cet exemple, tout flux PUSHé dont le contenu est de type + 'application/json' sera envoyé avant X, ce qui rend P1 + dépendant de Y et X dépendant de P1. Ainsi, X sera mis en + attente aussi longtemps que P1 aura des données à envoyer. Le + poids effectif est hérité du flux client, et l'attribution d'un + poids spécifique n'est pas autorisée. +

+

+ Vous devez garder à l'esprit que les spécifications en matière + de priorités sont limitées par les ressources disponibles du + serveur. Si un serveur ne dispose d'aucun processus/thread de + travail pour les flux PUSHés, les données du flux considéré ne + seront envoyées que lorsque les autres flux auront terminé + l'envoi des leurs. +

+

+ Enfin et surtout, il convient de tenir compte de certaines + particularités de la syntaxe de cette directive : +

+
    +
  1. '*' est la seule expression permettant de remplacer tout + type de contenu. 'image/*' ne fonctionnera pas.
  2. +
  3. La dépendance par défaut est 'After'.
  4. +
  5. Il existe aussi des poids par défaut : pour 'After' le poids + est de 16, alors que pour 'interleaved' il est de 256. +
  6. +
+

Exemples de règles

H2PushPriority application/json 32         # une règle de priorité 'After'
+H2PushPriority image/jpeg before           # poid hérité
+H2PushPriority text/css   interleaved      # poids de 256 par défaut
+
+ +
+
top
+

Directive H2PushResource

+ + + + + + + +
Description:Déclare des ressources à proposer ("pusher") au client
Syntaxe:H2PushResource [add] path [critical]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.24 du serveur HTTP + Apache.
+

+ Lorsqu'il sont activés pour un répertoire, les PUSHes HTTP/2 seront + tentés pour tous les chemins ajoutés via cette directive. Cette + dernière peut être utilisée plusieurs fois pour le même + répertoire. +

+

+ Cette directive propose des ressources beaucoup plus tôt que les + en-têtes Link de mod_headers. + mod_http2 présente ces ressources au client via + une réponse intermédiaire 103 Early Hints. Ceci + implique que les clients qui ne supportent pas PUSH recevront + quand-même rapidement des propositions de préchargement. +

+

+ A la différence de la définition d'en-têtes de réponse + Link via mod_headers, cette + directive n'aura d'effet que pour les connexions HTTP/2. +

+

+ En ajoutant l'option critical à une telle + ressource, le serveur la traitera prioritairement, et une fois + les données disponibles, ces dernières seront envoyées avant les + données de la requête principale. +

+ +
+
top
+

Directive H2SerializeHeaders

+ + + + + + + +
Description:Active/désactive la sérialisation du traitement des + requêtes/réponses
Syntaxe:H2SerializeHeaders on|off
Défaut:H2SerializeHeaders off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
+

+ Cette directive permet de définir si les requêtes HTTP/2 doivent + être sérialisées au format HTTP/1.1 pour être traitées par le + noyau de httpd, ou si les données binaires reçues + doivent être passées directement aux request_recs. +

+

+ La sérialisation dégrade les performances, mais garantit une + meilleure compatibilité ascendante lorsque des filtres ou + programmes accroche personnalisés en ont besoin. +

+

Exemple

H2SerializeHeaders on
+
+ +
+
top
+

Directive H2StreamMaxMemSize

+ + + + + + + +
Description:Quantité maximale de données en sortie mises en tampon par + flux.
Syntaxe:H2StreamMaxMemSize bytes
Défaut:H2StreamMaxMemSize 65536
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
+

+ Cette directive permet de définir la quantité maximale de + données en sortie mises en tampon mémoire pour un flux actif. Ce + tampon mémoire n'est pas alloué pour chaque flux en tant que + tel. Les quantités de mémoire sont définies en fonction de + cette limite lorsqu'elles sont sur le point d'être allouées. Le + flux s'arrête lorsque la limite a été atteinte, et ne reprendra + que lorsque les données du tampon auront été transmises au + client. +

+

Exemple

H2StreamMaxMemSize 128000
+
+ +
+
top
+

Directive H2TLSCoolDownSecs

+ + + + + + + + +
Description:Durée d'inactivité d'une connexion TLS avant diminution de + la taille des paquets
Syntaxe:H2TLSCoolDownSecs seconds
Défaut:H2TLSCoolDownSecs 1
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.
+

+ Cette directive permet de spécifier le nombre de secondes avant + lequel une connexion TLS inactive va diminuer + la taille des paquets de données à une valeur inférieure (~1300 + octets). Elle peut être définie au niveau du serveur principal + ou pour un <serveur + virtuel> spécifique. +

+

+ Voir la directive H2TLSWarmUpSize pour une description + du "préchauffage" de TLS. La directive H2TLSCoolDownSecs met en + lumière le fait que les connexions peuvent se détériorer au bout + d'un certain temps (et au fur et à mesure des corrections du + flux TCP), et cela même si elle sont inactives. Pour ne pas + détériorer les performances d'une manière générale, il est par + conséquent préférable de revenir à la phase de préchauffage + lorsqu'aucune donnée n'a été transmise pendant un certain nombre + de secondes. +

+

+ Dans les situations où les connexions peuvent être considérées + comme fiables, ce délai peut être désactivé en définissant cette + directive à 0. +

+

+ Dans l'exemple suivant, la directive est définie à 0, ce qui + désactive tout retour à une phase de préchauffage des connexions + TLS. Les connexions TLS déjà préchauffées conservent donc toujours + leur taille de paquet de données maximale. +

+

Exemple

H2TLSCoolDownSecs 0
+
+ +
+
top
+

Directive H2TLSWarmUpSize

+ + + + + + + + +
Description:Taille des paquets durant la phase initiale de la connexion + TLS
Syntaxe:H2TLSWarmUpSize amount
Défaut:H2TLSWarmUpSize 1048576
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
Compatibilité:Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.
+

+ Cette directive permet de définir le nombre d'octets à envoyer + dans les petits enregistrements TLS (~1300 octets) avant + d'atteindre leur taille maximale de 16 ko pour les connexions + https: HTTP/2. Elle peut être définie au niveau du serveur + principal ou pour des <Serveurs virtuels> spécifiques. +

+

+ Les mesures effectuées par les laboratoires de performances de + Google montrent que les meilleurs performances sont atteintes + pour les connexions TLS si la taille initiale des + enregistrements reste en deça du niveau du MTU afin de permettre + à la totatlité d'un enregistrement d'entrer dans un paquet IP. +

+

+ Comme TCP ajuste son contrôle de flux et sa taille de fenêtre, + des enregistrements TLS trop longs peuvent rester en file + d'attente ou même être perdus et devoir alors être réémis. Ceci + est bien entendu vrai pour tous les paquets ; cependant, TLS a + besoin de la totalité de l'enregistrement pour pouvoir le + déchiffrer. Tout octet manquant rendra impossible l'utilisation + de ceux qui ont été reçus. +

+

+ Lorqu'un nombre suffisant d'octets a été transmis avec succès, + la connexion TCP est stable, et la taille maximale (16 ko) des + enregistrements TLS peut être utilisée pour des performances + optimales. +

+

+ Dans les architectures où les serveurs sont atteints par des + machines locales ou pour les connexions de confiance seulement, + la valeur de cette directive peut être définie à 0, ce qui a + pour effet de désactiver la "phase de chauffage". +

+

+ Dans l'exemple suivant, la phase de chauffage est effectivement + désactivée en définissant la directive à 0. +

+

Exemple

H2TLSWarmUpSize 0
+
+ +
+
top
+

Directive H2Upgrade

+ + + + + + + +
Description:Activation/Désactivation du protocole de mise à jour H2
Syntaxe:H2Upgrade on|off
Défaut:H2Upgrade on pour h2c, off pour h2
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_http2
+

+ Cette directive permet d'activer/désactiver l'utilisation de la + méthode de mise à jour pour passer de HTTP/1.1 à HTTP/2. Elle + doit être placée dans une section <VirtualHost> afin d'activer la mise à + jour vers HTTP/2 pour le serveur virtuel considéré. +

+

+ Cette méthode de changement de protocole est définie dans + HTTP/1.1 et utilise l'en-tête "Upgrade" (d'où son nom) pour + indiquer l'intention d'utiliser un autre protocole. Cet en-tête + peut être présent dans toute requête sur une connexion HTTP/1.1. +

+

+ Elle activée par défaut pour les transmissions en clair + (h2c), et désactivée avec TLS (h2), comme préconisé par la RFC + 7540. +

+

+ Sachez cependant que les mises à jour ne sont acceptées que pour + les requêtes qui ne possèdent pas de corps. Le requêtes de type + POST et PUT avec un contenu ne feront jamais l'objet d'une mise + à jour vers HTTP/2. Se référer à la documentation de la + directive H2Direct pour + envisager une alternative à Upgrade. +

+

+ Cette directive n'a d'effet que si h2 ou h2c est activé via la + directive Protocols. +

+

Exemple

H2Upgrade on
+
+ +
+
top
+

Directive H2WindowSize

+ + + + + + + +
Description:Taille maximale des paquets de données pour les transmissions client + vers serveur.
Syntaxe:H2WindowSize bytes
Défaut:H2WindowSize 65535
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_http2
+

+ Cette directive permet de définir la taille maximale des paquets + de données envoyés par le client au serveur, et + limite la quantité de données que le serveur doit mettre en + tampon. Le client arrêtera d'envoyer des données sur un flux + lorsque cette limite sera atteinte jusqu'à ce que le serveur + indique qu'il dispose d'un espace suffisant (car il aura traité + une partie des données). +

+ Cette limite n'affecte que les corps de requêtes, non les + métadonnées comme les en-têtes. Par contre, elle n'affecte pas + les corps de réponses car la taille maximale de ces derniers est + gérée au niveau des clients. +

+

Exemple

H2WindowSize 128000
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html b/docs/manual/mod/mod_ident.html new file mode 100644 index 0000000..f1bee31 --- /dev/null +++ b/docs/manual/mod/mod_ident.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ident.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ident.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_ident.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_ident.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_ident.html.en b/docs/manual/mod/mod_ident.html.en new file mode 100644 index 0000000..a21567a --- /dev/null +++ b/docs/manual/mod/mod_ident.html.en @@ -0,0 +1,131 @@ + + + + + +mod_ident - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_ident

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:RFC 1413 ident lookups
Status:Extension
Module Identifier:ident_module
Source File:mod_ident.c
Compatibility:Available in Apache 2.1 and later
+

Summary

+ +

This module queries an RFC 1413 compatible daemon on a remote host to look up the owner of + a connection.

+
+ + +
top
+

IdentityCheck Directive

+ + + + + + + + +
Description:Enables logging of the RFC 1413 identity of the remote +user
Syntax:IdentityCheck On|Off
Default:IdentityCheck Off
Context:server config, virtual host, directory
Status:Extension
Module:mod_ident
Compatibility:Moved out of core in Apache 2.1
+

This directive enables RFC 1413-compliant logging of the remote user name for each + connection, where the client machine runs identd or something similar. + This information is logged in the access log using the %...l + format string.

+ +
+ The information should not be trusted in any way except for + rudimentary usage tracking. +
+ +

Note that this can cause serious latency problems accessing + your server since every request requires one of these lookups + to be performed. When firewalls or proxy servers are involved, + each lookup might possibly fail and add a latency duration as + defined by the IdentityCheckTimeout directive to each hit. So in + general this is not very useful on public servers accessible from + the Internet.

+ +
+
top
+

IdentityCheckTimeout Directive

+ + + + + + + +
Description:Determines the timeout duration for ident requests
Syntax:IdentityCheckTimeout seconds
Default:IdentityCheckTimeout 30
Context:server config, virtual host, directory
Status:Extension
Module:mod_ident
+

This directive specifies the timeout duration of an ident + request. The default value of 30 seconds is recommended by RFC 1413, mainly because + of possible network latency. However, you may want to adjust the + timeout value according to your local network speed.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html.fr.utf8 b/docs/manual/mod/mod_ident.html.fr.utf8 new file mode 100644 index 0000000..3cd139d --- /dev/null +++ b/docs/manual/mod/mod_ident.html.fr.utf8 @@ -0,0 +1,140 @@ + + + + + +mod_ident - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_ident

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + + +
Description:Recherche d'identité conformément à la RFC +1413
Statut:Extension
Identificateur de Module:ident_module
Fichier Source:mod_ident.c
Compatibilité:Disponible depuis la version 2.2 d'Apache
+

Sommaire

+ +

Ce module interroge un démon compatible RFC 1413 sur un + serveur distant afin de déterminer le propriétaire d'une + connexion.

+
+ + +
top
+

Directive IdentityCheck

+ + + + + + + + +
Description:Active la journalisation de l'identité RFC 1413 de +l'utilisateur distant
Syntaxe:IdentityCheck On|Off
Défaut:IdentityCheck Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_ident
Compatibilité:Retiré du serveur de base depuis Apache +2.1
+

Cette directive permet d'activer la journalisation compatible RFC 1413 du nom de + l'utilisateur distant pour chaque connexion, si la machine du client + exécute identd ou un démon similaire. Cette information est + enregistrée dans le journal des accès en utilisant la chaîne de formatage + %...l.

+ +
+ Cette information ne doit pas faire l'objet d'une confiance + absolue, et elle ne doit être utilisée que dans le cadre d'un + traçage grossier. +
+ +

Notez que de sérieux problèmes de délais peuvent survenir lors + des accès à votre serveur, car chaque requête nécessite l'exécution + d'un de ces processus de recherche. Lorsque des pare-feu ou des + serveurs mandataires sont impliqués, chaque recherche est + susceptible d'échouer et ajouter un temps de latence conformément + à la directive IdentityCheckTimeout. En général, ces + recherches ne se révèlent donc pas très utiles sur des serveurs + publics accessibles depuis l'Internet.

+ +
+
top
+

Directive IdentityCheckTimeout

+ + + + + + + +
Description:Détermine le délai d'attente pour les requêtes +ident
Syntaxe:IdentityCheckTimeout secondes
Défaut:IdentityCheckTimeout 30
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_ident
+

Cette directive permet de spécifier le délai d'attente d'une + requête ident. Une valeur par défaut de 30 secondes est recommandée + par la RFC 1413, + principalement pour prévenir les problèmes qui pourraient être + induits par la charge du réseau. Vous pouvez cependant ajuster la + valeur de ce délai en fonction du débit de votre réseau local.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html.ja.utf8 b/docs/manual/mod/mod_ident.html.ja.utf8 new file mode 100644 index 0000000..65914f1 --- /dev/null +++ b/docs/manual/mod/mod_ident.html.ja.utf8 @@ -0,0 +1,131 @@ + + + + + +mod_ident - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_ident

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+ + + + +
説明:RFC 1413 ident lookups
ステータス:Extension
モジュール識別å­:ident_module
ソースファイル:mod_ident.c
互æ›æ€§:Apache 2.1 ã§ä½¿ç”¨å¯èƒ½
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆã® RFC 1413 互æ›ãƒ‡ãƒ¼ãƒ¢ãƒ³ + ã«ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®æ‰€æœ‰è€…を訊ãã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

IdentityCheck ディレクティブ

+ + + + + + + + +
説明:リモートユーザ㮠RFC 1413 ã«ã‚ˆã‚‹ã‚¢ã‚¤ãƒ‡ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ãƒ­ã‚®ãƒ³ã‚°ã‚’ +有効ã«ã™ã‚‹
構文:IdentityCheck On|Off
デフォルト:IdentityCheck Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_ident
互æ›æ€§:Apache 2.1 㧠core ã‹ã‚‰ç§»å‹•
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒžã‚·ãƒ³ä¸Šã§ + identd ã‚„ãã‚Œã«é¡žä¼¼ã—ãŸãƒ‡ãƒ¼ãƒ¢ãƒ³ãŒå‹•ä½œã—ã¦ã„ã‚‹ã¨ãã«ã€ + ãã‚Œãžã‚Œã®æŽ¥ç¶šã«å¯¾ã—㦠RFC 1413 ã«æº–処ã—ãŸãƒªãƒ¢ãƒ¼ãƒˆãƒ¦ãƒ¼ã‚¶ã® + åå‰ã®ãƒ­ã‚®ãƒ³ã‚°ã‚’è¡Œãªã†ã‚ˆã†ã«ã—ã¾ã™ã€‚ + ã“ã®æƒ…å ±ã¯ã€%...l フォーマット文字列を使ã£ã¦ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ã«åŽé›†ã•ã‚Œã¾ã™ã€‚

+ +
+ ã“ã“ã§å¾—られãŸæƒ…å ±ã¯ç°¡å˜ãªãƒ¦ãƒ¼ã‚¶è¿½è·¡ã«ä½¿ã†ä»¥å¤–ã¯ã€ + ã¾ã£ãŸãä¿¡é ¼ã™ã‚‹ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ +

ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒè¡Œãªã‚ã‚Œã¾ã™ã®ã§ã€ + 深刻ãªé…延ã®å•é¡Œã‚’èµ·ã“ã™ã‹ã‚‚ã—ã‚Œãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + (訳注: 例ãˆã°ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã«) ファイアウォールやプロキシサーãƒãŒã‚ã‚‹ã¨ã€ + ルックアップãŒå¤±æ•—ã—ã€å„リクエスト㫠IdentityCheckTimeoutã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹é…延ãŒåŠ ã‚ã‚‹ã“ã¨ã« + ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 従ã£ã¦ã€ä¸€èˆ¬çš„ã«ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªãƒ‘ブリックãªã‚µãƒ¼ãƒã§ + 有益ãªã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +
+
top
+

IdentityCheckTimeout ディレクティブ

+ + + + + + + +
説明:Ident リクエストãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã™ã‚‹ã¾ã§ã®æœŸé–“を決ã‚ã‚‹
構文:IdentityCheckTimeout seconds
デフォルト:IdentityCheckTimeout 30
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_ident
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠ident リクエストã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆæ™‚間を決ã‚ã¾ã™ã€‚ + デフォルトã®å€¤ã§ã‚ã‚‹ 30 秒ã¯ã€ä¸»ã«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯é…延ã®è€ƒæ…®ã®ãŸã‚ã« RFC 1413 ã«ã‚ˆã‚Š + 推奨ã•ã‚Œã¦ã„ã¾ã™ã€‚ã—ã‹ã—ã€ãŠãらãローカルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®é€Ÿåº¦ã« + åˆã‚ã›ã¦ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ã‚’調節ã™ã‚‹ã®ãŒã‚ˆã„ã§ã—ょã†ã€‚

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html.ko.euc-kr b/docs/manual/mod/mod_ident.html.ko.euc-kr new file mode 100644 index 0000000..5f9921e --- /dev/null +++ b/docs/manual/mod/mod_ident.html.ko.euc-kr @@ -0,0 +1,128 @@ + + + + + +mod_ident - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_ident

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+ + + + +
¼³¸í:RFC 1413 ident °Ë»ö
»óÅÂ:Extension
¸ðµâ¸í:ident_module
¼Ò½ºÆÄÀÏ:mod_ident.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº ¿¬°áÀÇ ¼ÒÀ¯ÀÚ¸¦ ã±âÀ§ÇØ ¿ø°Ý È£½ºÆ®¿¡ ÀÖ´Â + RFC 1413 + ȣȯ µ¥¸óÀ» °Ë»öÇÑ´Ù.

+
+ + +
top
+

IdentityCheck Áö½Ã¾î

+ + + + + + + + +
¼³¸í:¿ø°Ý »ç¿ëÀÚÀÇ RFC 1413 ½Å¿øÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù
¹®¹ý:IdentityCheck On|Off
±âº»°ª:IdentityCheck Off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory
»óÅÂ:Extension
¸ðµâ:mod_ident
Áö¿ø:¾ÆÆÄÄ¡ 2.1ºÎÅÍ core¿¡¼­ ºüÁ® ³ª¿Ô´Ù
+

ÀÌ Áö½Ã¾î´Â RFC + 1413À» ÀÌ¿ëÇÏ¿© Ŭ¶óÀ̾ðÆ® ¸Ó½®ÀÌ identd µîÀ» ½ÇÇàÇÑ´Ù¸é + ¿¬°á¿¡ ´ëÇÑ ¿ø°Ý »ç¿ëÀÚ¸íÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù. Çü½Ä¹®ÀÚ¿­·Î + %...lÀ» »ç¿ëÇÏ¿© Á¢±Ù ·Î±×¿¡ ÀÌ Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

+ +
+ ±âº»ÀûÀÎ »ç¿ëÃßÀû ¿ÜÀÇ ¿ëµµ·Î ÀÌ Á¤º¸¸¦ ½Å·ÚÇÒ ¼ö ¾ø´Ù. +
+ +

¿äû¸¶´Ù °Ë»öÀ» ÇØ¾ß Çϱ⶧¹®¿¡ ¼­¹ö Á¢±ÙÀÌ »ó´çÈ÷ Áö¿¬µÇ´Â + ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ½À» À¯ÀÇÇ϶ó. Áß°£¿¡ ¹æÈ­º®À̳ª ÇÁ·Ï½Ã¼­¹ö°¡ + ÀÖ´Ù¸é, ¾Æ¸¶µµ °Ë»öÀº ½ÇÆÐÇÒ °ÍÀÌ°í ¸Å ¿äû¿¡ IdentityCheckTimeout Áö½Ã¾î·Î + ÁöÁ¤ÇѸ¸Å­ Áö¿¬ÀÌ ¹ß»ýÇÑ´Ù. ±×·¡¼­ º¸Åë ÀÎÅͳÝÀÇ °ø°³µÈ + ¼­¹ö¿¡¼­´Â À¯¿ëÇÏÁö ¾Ê´Ù.

+ +
+
top
+

IdentityCheckTimeout Áö½Ã¾î

+ + + + + + + +
¼³¸í:ident ¿äûÀÇ ½Ã°£Á¦ÇÑÀ» ÁöÁ¤ÇÑ´Ù
¹®¹ý:IdentityCheckTimeout seconds
±âº»°ª:IdentityCheckTimeout 30
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory
»óÅÂ:Extension
¸ðµâ:mod_ident
+

ÀÌ Áö½Ã¾î´Â ident ¿äûÀÇ ½Ã°£Á¦ÇÑÀ» ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº + ³×Æ®¿÷ Áö¿¬À» °í·ÁÇÏ¿© RFC 1413ÀÌ + ±ÇÇÏ´Â 30 ÃÊÀÌ´Ù. ±×·¯³ª ³×Æ®¿÷ ¼Óµµ »óȲ¿¡ µû¶ó ½Ã°£Á¦ÇÑ°ªÀ» + ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.html b/docs/manual/mod/mod_imagemap.html new file mode 100644 index 0000000..71855dc --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_imagemap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_imagemap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_imagemap.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_imagemap.html.en b/docs/manual/mod/mod_imagemap.html.en new file mode 100644 index 0000000..618f9f5 --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.en @@ -0,0 +1,416 @@ + + + + + +mod_imagemap - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_imagemap

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + +
Description:Server-side imagemap processing
Status:Base
Module Identifier:imagemap_module
Source File:mod_imagemap.c
+

Summary

+ +

This module processes .map files, thereby + replacing the functionality of the imagemap CGI + program. Any directory or document type configured to use the + handler imap-file (using either + AddHandler or + SetHandler) + will be processed by this module.

+ +

The following directive will activate files ending with + .map as imagemap files:

+ +
AddHandler imap-file map
+ + +

Note that the following is still supported:

+ +
AddType application/x-httpd-imap map
+ + +

However, we are trying to phase out "magic MIME types" so we + are deprecating this method.

+
+ +
top
+
+

New Features

+ +

The imagemap module adds some new features that were not + possible with previously distributed imagemap programs.

+ +
    +
  • URL references relative to the Referer: information.
  • + +
  • Default <base> assignment through a new map + directive base.
  • + +
  • No need for imagemap.conf file.
  • + +
  • Point references.
  • + +
  • Configurable generation of imagemap menus.
  • +
+
top
+
+

Imagemap File

+ +

The lines in the imagemap files can have one of several + formats:

+ +

+ directive value [x,y ...]
+ directive value "Menu text" [x,y + ...]
+ directive value x,y ... "Menu text" +

+ +

The directive is one of base, + default, poly, circle, + rect, or point. The value is an + absolute or relative URL, or one of the special values listed + below. The coordinates are x,y + pairs separated by whitespace. The quoted text is used as the text of + the link if a imagemap menu is generated. Lines beginning with '#' are + comments.

+ +

Imagemap File Directives

+

There are six directives allowed in the imagemap file. The + directives can come in any order, but are processed in the + order they are found in the imagemap file.

+ +
+
base Directive
+ +

Has the effect of <base href="value"> + . The non-absolute URLs of the map-file are taken relative + to this value. The base directive overrides + ImapBase as set in a + .htaccess file or in the server configuration files. + In the absence of an ImapBase configuration + directive, base defaults to + http://server_name/.

+

base_uri is synonymous with base. + Note that a trailing slash on the URL is significant.

+ +
default Directive
+ +
The action taken if the coordinates given do not fit any + of the poly, circle or + rect directives, and there are no + point directives. Defaults to nocontent + in the absence of an ImapDefault configuration setting, causing a status + code of 204 No Content to be returned. The client + should keep the same page displayed.
+ +
poly Directive
+ +
Takes three to one-hundred points, and is obeyed if the + user selected coordinates fall within the polygon defined by + these points.
+ +
circle
+ +
Takes the center coordinates of a circle and a point on + the circle. Is obeyed if the user selected point is with the + circle.
+ +
rect Directive
+ +
Takes the coordinates of two opposing corners of a + rectangle. Obeyed if the point selected is within this + rectangle.
+ +
point Directive
+ +
Takes a single point. The point directive closest to the + user selected point is obeyed if no other directives are + satisfied. Note that default will not be + followed if a point directive is present and + valid coordinates are given.
+
+ + +

Values

+ +

The values for each of the directives can be any of the + following:

+ +
+
a URL
+ +

The URL can be relative or absolute URL. Relative URLs + can contain '..' syntax and will be resolved relative to the + base value.

+

base itself will not be resolved according to the + current value. A statement base mailto: will + work properly, though.

+ +
map
+ +
Equivalent to the URL of the imagemap file itself. No + coordinates are sent with this, so a menu will be generated + unless ImapMenu is set to + none.
+ +
menu
+
Synonymous with map.
+ +
referer
+ +
Equivalent to the URL of the referring document. Defaults + to http://servername/ if no Referer: + header was present.
+ +
nocontent
+ +
Sends a status code of 204 No Content, + telling the client to keep the same page displayed. Valid for + all but base.
+ +
error
+ +
Fails with a 500 Server Error. Valid for all + but base, but sort of silly for anything but + default.
+
+ + +

Coordinates

+ +
+
0,0 200,200
+ +
A coordinate consists of an x and a y + value separated by a comma. The coordinates are separated + from each other by whitespace. To accommodate the way Lynx + handles imagemaps, should a user select the coordinate + 0,0, it is as if no coordinate had been + selected.
+
+ + + +

Quoted Text

+ +
+
"Menu Text"
+ +

After the value or after the coordinates, the line + optionally may contain text within double quotes. This string + is used as the text for the link if a menu is + generated:

+ +

+ <a href="http://example.com/">Menu text</a> +

+ +

If no quoted text is present, the name of the link will be + used as the text:

+ +

+ <a href="http://example.com/">http://example.com</a> +

+ +

If you want to use double quotes within this text, you have to + write them as &quot;.

+
+ + +
top
+
+

Example Mapfile

+ +

+ #Comments are printed in a 'formatted' or 'semiformatted' menu.
+ #And can contain html tags. <hr>
+ base referer
+ poly map "Could I have a menu, please?" 0,0 0,10 10,10 10,0
+ rect .. 0,0 77,27 "the directory of the referer"
+ circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27
+ rect another_file "in same directory as referer" 306,0 419,27
+ point http://www.zyzzyva.example.com/ 100,100
+ point http://www.tripod.example.com/ 200,200
+ rect mailto:nate@tripod.example.com 100,150 200,0 "Bugs?"
+

+ +
top
+
+

Referencing your mapfile

+ +

HTML example

+ <a href="/maps/imagemap1.map">
+ + <img ismap src="/images/imagemap1.gif">
+
+ </a> +

+ +

XHTML example

+ <a href="/maps/imagemap1.map">
+ + <img ismap="ismap" src="/images/imagemap1.gif" />
+
+ </a> +

+ +
+
top
+

ImapBase Directive

+ + + + + + + + +
Description:Default base for imagemap files
Syntax:ImapBase map|referer|URL
Default:ImapBase http://servername/
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_imagemap
+

The ImapBase directive sets the default + base used in the imagemap files. Its value is + overridden by a base directive within the imagemap + file. If not present, the base defaults to + http://servername/.

+ +

See also

+ +
+
top
+

ImapDefault Directive

+ + + + + + + + +
Description:Default action when an imagemap is called with coordinates +that are not explicitly mapped
Syntax:ImapDefault error|nocontent|map|referer|URL
Default:ImapDefault nocontent
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_imagemap
+

The ImapDefault directive sets the default + default used in the imagemap files. Its value is + overridden by a default directive within the + imagemap file. If not present, the default action + is nocontent, which means that a 204 No + Content is sent to the client. In this case, the client + should continue to display the original page.

+ +
+
top
+

ImapMenu Directive

+ + + + + + + + +
Description:Action if no coordinates are given when calling +an imagemap
Syntax:ImapMenu none|formatted|semiformatted|unformatted
Default:ImapMenu formatted
Context:server config, virtual host, directory, .htaccess
Override:Indexes
Status:Base
Module:mod_imagemap
+

The ImapMenu directive determines the + action taken if an imagemap file is called without valid + coordinates.

+ +
+
none
+
If ImapMenu is none, no menu is generated, + and the default action is performed.
+ +
formatted
+
A formatted menu is the simplest menu. + Comments in the imagemap file are ignored. A level one header + is printed, then an hrule, then the links each on a separate + line. The menu has a consistent, plain look close to that of + a directory listing.
+ +
semiformatted
+
In the semiformatted menu, comments are + printed where they occur in the imagemap file. Blank lines + are turned into HTML breaks. No header or hrule is printed, + but otherwise the menu is the same as a + formatted menu.
+ +
unformatted
+
Comments are printed, blank lines are ignored. Nothing is + printed that does not appear in the imagemap file. All breaks + and headers must be included as comments in the imagemap + file. This gives you the most flexibility over the appearance + of your menus, but requires you to treat your map files as + HTML instead of plaintext.
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.html.fr.utf8 b/docs/manual/mod/mod_imagemap.html.fr.utf8 new file mode 100644 index 0000000..13be4ff --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.fr.utf8 @@ -0,0 +1,440 @@ + + + + + +mod_imagemap - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_imagemap

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + +
Description:Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur
Statut:Base
Identificateur de Module:imagemap_module
Fichier Source:mod_imagemap.c
+

Sommaire

+ +

Ce module traite les fichiers .map, et remplace + ainsi la fonctionnalité du programme CGI imagemap. Tout + répertoire ou type de document configuré pour utiliser le + gestionnaire imap-file (à l'aide des directives + AddHandler ou SetHandler), sera traité par ce + module.

+ +

La directive suivante confère aux fichiers possèdant l'extension + .map le statut de fichiers imagemap :

+ +
AddHandler imap-file map
+ + +

Notez que la syntaxe suivante reste encore supportée :

+ +
AddType application/x-httpd-imap map
+ + +

Cependant, nous essayons d'abandonner progressivement les "types + MIME magiques", et cette syntaxe est sur le point de devenir + obsolète.

+
+ +
top
+
+

Nouvelles fonctionnalités

+ +

Le module imagemap propose quelques nouvelles fonctionnalités qui + n'étaient pas disponibles avec les programmes imagemap précédemment + distribués.

+ +
    +
  • Références d'URLs relatives à l'information contenue dans + l'en-tête Referer: .
  • + +
  • Assignement <base> par défaut via la + nouvelle directive base.
  • + +
  • Fichier imagemap.conf non requis.
  • + +
  • Références à des points.
  • + +
  • Génération configurable de menus d'images interactives.
  • +
+
top
+
+

Fichier imagemap

+ +

Les lignes d'un fichier imagemap peuvent se présenter sous + plusieurs formats :

+ +

+ directive valeur [x,y ...]
+ directive valeur "Texte de menu" [x,y + ...]
+ directive valeur x,y ... "Texte de menu" +

+ +

Les directives sont base, default, + poly, circle, rect, ou + point. valeur est une URL absolue ou relative, ou une + des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des + paires x,y séparées par des + espaces. Le texte entre guillemets est le texte du lien si un menu + imagemap est généré. Les lignes commençant par '#' sont des + commentaires.

+ +

Directives d'un fichier + imagemap

+

Les directives autorisées dans un fichier imagemap sont au + nombre de six. Elles peuvent se trouver à n'importe quelle + position dans le fichier, mais sont traitées dans l'ordre selon + lequel elles sont enregistrées dans le fichier imagemap.

+ +
+
Directive base
+ +

Elle a le même effet que <base + href="valeur">. Les URLs non absolues du + fichier imagemap sont considérées comme relatives à cette valeur. + La directive base l'emporte sur une directive + ImapBase définie dans + un fichier .htaccess ou dans le fichier de + configuration du serveur. En l'absence de directive de + configuration ImapBase, la valeur par + défaut de base est + http://nom_serveur/.

+

base_uri est un synonyme de base. + Notez que la présence ou l'absence d'un slash de fin dans l'URL + est importante.

+ +
Directive default
+ +
La décision à prendre si les coordonnées fournies ne + correspondent à aucune des directives poly, + circle, ou rect, et si aucune directive + point n'est présente. En l'absence de définition + d'une directive de configuration ImapDefault, la valeur par défaut est + nocontent et provoque l'envoi d'un code de statut + 204 No Content. Le client verra toujours la même + page s'afficher.
+ +
Directive poly
+ +
Accepte comme arguments trois à cent points, et est actionnée + si les coordonnées sélectionnées par l'utilisateur tombent dans le + polygone défini par ces points.
+ +
Directive circle
+ +
Accepte comme arguments les coordonnées du centre d'un cercle + et celles d'un point de ce cercle. Elle est actionnée si les + coordonnées sélectionnées par l'utilisateur tombent dans ce + cercle.
+ +
Directive rect
+ +
Accepte comme arguments les coordonnées des sommets de deux + angles opposés d'un rectangle. Elle est actionnée si les + coordonnées sélectionnées par l'utilisateur tombent dans ce + rectangle.
+ +
Directive point
+ +
Elle n'accepte qu'un seul point comme argument. Si aucune + autre directive ne correspond, c'est la directive + dont le point spécifié est le plus près du point sélectionné par + l'utilisateur qui est actionnée. Notez que la directive + default ne sera pas suivie si une directive + point est présente et si des coordonnées valides sont + fournies.
+
+ + +

Valeurs

+ +

Les valeurs passées aux directives peuvent contenir :

+ +
+
une URL
+ +

L'URL peut être absolue ou relative. Les URLs relatives + peuvent contenir '..' et seront considérées comme relatives à la + valeur de base.

+

base en lui-même, ne sera pas résolu en fonction + de la valeur courante. Cependant, une directive base + mailto: fonctionnera correctement.

+ +
map
+ +
Équivalent à l'URL du fichier imagemap lui-même. Aucune + coordonnée n'est spécifiée, et un menu sera donc généré, à moins + qu'une directive ImapMenu n'ait été définie à + none.
+ +
menu
+
Équivalent à map.
+ +
referer
+ +
Équivalent à l'URL du document référant. La valeur par défaut + est http://nom_serveur/ si aucun en-tête + Referer: n'est présent.
+ +
nocontent
+ +
Envoie un code de statut 204 No Content, + indiquant au client qu'il doit continuer à afficher la même page. + Valide pour toutes les directives, sauf base.
+ +
error
+ +
Envoie un code de statut d'échec 500 Server + Error. Valide pour toutes les directives, sauf + base, mais n'a de sens qu'avec la directive + default.
+
+ + +

Coordonnées

+ +
+
0,0 200,200
+ +
Une coordonnée se compose de deux valeurs, x et + y, séparées par une virgule. Les coordonnées sont + séparées entre elles par des espaces. Pour s'adapter à la manière + dont Lynx traite les images interactives, la sélection par un + utilisateur de la coordonnée 0,0 a le même effet que + si aucune coordonnée n'a été sélectionnée.
+
+ + + +

Texte entre + guillemets

+ +
+
"Texte du menu"
+ +

Après la valeur ou les coordonnées, la ligne peut + éventuellement contenir un texte entre guillemets. Cette chaîne + constitue le texte du lien si un menu est généré :

+ +

+ <a href="http://example.com/">Texte de + menu</a> +

+ +

Si aucun texte entre guillemets n'est présent, le texte sera + constitué du nom du lien :

+ +

+ <a href="http://example.com/">http://example.com</a> +

+ +

Si vous voulez insérer des guillemets dans le texte, vous devez + les inscrire sous la forme &quot;.

+
+ + +
top
+
+

Exemple de fichier imagemap

+ +

+ #Les commentaires sont affichés dans un menu 'formaté' ou + #'semi-formaté'.
+ #Et peuvent contenir des balises html. <hr>
+ base referer
+ poly map "Puis-je avoir un menu, s'il vous plait ?" 0,0 0,10 10,10 10,0
+ rect .. 0,0 77,27 "le répertoire du référant"
+ circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27
+ rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27
+ point http://www.zyzzyva.example.com/ 100,100
+ point http://www.tripod.example.com/ 200,200
+ rect mailto:nate@tripod.example.com 100,150 200,0 "Bogues?"
+

+ +
top
+
+

Référencement de votre fichier +imagemap

+ +

Exemple HTML

+ <a href="/maps/imagemap1.map">
+ + <img ismap src="/images/imagemap1.gif">
+
+ </a> +

+ +

Exemple XHTML

+ <a href="/maps/imagemap1.map">
+ + <img ismap="ismap" src="/images/imagemap1.gif" />
+
+ </a> +

+ +
+
top
+

Directive ImapBase

+ + + + + + + + +
Description:Valeur par défaut de la directive base des +fichiers imagemap
Syntaxe:ImapBase map|referer|URL
Défaut:ImapBase http://nom_serveur/
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_imagemap
+

La directive ImapBase permet de définir la + valeur par défaut de la directive base des fichiers + imagemap. Sa valeur est écrasée par la présence éventuelle d'une + directive base dans le fichier imagemap. Si cette + directive est absente, la valeur par défaut de la directive + base est + http://nom_serveur/.

+ +

Voir aussi

+ +
+
top
+

Directive ImapDefault

+ + + + + + + + +
Description:Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible
Syntaxe:ImapDefault error|nocontent|map|referer|URL
Défaut:ImapDefault nocontent
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_imagemap
+

La directive ImapDefault permet de définir + la valeur par défaut de la directive default utilisée + dans les fichiers imagemap. Sa valeur est écrasée par la présence + éventuelle d'une directive default dans le fichier + imagemap. Si cette directive est absente, l'action associée à + default est nocontent, ce qui implique + l'envoi d'un code de statut 204 No Content au client. + Dans ce cas, le client doit continuer à afficher la même page.

+ +
+
top
+

Directive ImapMenu

+ + + + + + + + +
Description:Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap
Syntaxe:ImapMenu none|formatted|semiformatted|unformatted
Défaut:ImapMenu formatted
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Indexes
Statut:Base
Module:mod_imagemap
+

La directive ImapMenu permet de spécifier + l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans + coordonnées valides.

+ +
+
none
+
Si l'argument d'ImapMenu est none, aucun menu + n'est généré, et l'action default est effectuée.
+ +
formatted
+
Le menu formatted est le menu le plus simple. Les + commentaires du fichier imagemap sont ignorés. Un en-tête de + niveau un est affiché, puis un séparateur horizontal, puis chacun + des liens sur une ligne séparée. L'aspect du menu est similaire à + celui d'un listing de répertoire.
+ +
semiformatted
+
Dans le menu semiformatted, les commentaires sont + affichés au moment où ils apparaissent dans le fichier imagemap. + Les lignes vides sont interprètées comme des lignes de séparation + HTML. Aucun en-tête ni séparateur horizontal n'est affiché. À part + ces différences, le menu semiformatted est identique + au menu formatted.
+ +
unformatted
+
Les commentaires sont affichés et les lignes vides sont + ignorées. N'est affiché que ce qui apparait dans le fichier + imagemap. Toutes les lignes de séparation HTML et les + en-têtes doivent être inclus en tant que commentaires dans le + fichier imagemap. Cela vous procure une grande souplesse pour + définir l'apparence de vos menus, mais vous oblige à rédiger vos + fichiers imagemap en HTML, et non en texte plat.
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.html.ko.euc-kr b/docs/manual/mod/mod_imagemap.html.ko.euc-kr new file mode 100644 index 0000000..482c3e9 --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.ko.euc-kr @@ -0,0 +1,393 @@ + + + + + +mod_imagemap - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_imagemap

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¼­¹öÃø À̹ÌÁö¸Ê(imagemap) ó¸®
»óÅÂ:Base
¸ðµâ¸í:imagemap_module
¼Ò½ºÆÄÀÏ:mod_imagemap.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº imagemap CGI ÇÁ·Î±×·¥À» ´ë½ÅÇÏ¿© + .map ÆÄÀÏÀ» ó¸®ÇÑ´Ù. ÀÌ ¸ðµâÀº (AddHandler³ª SetHandler¸¦ »ç¿ëÇÏ¿©) + imap-file Çڵ鷯¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤ÇÑ µð·ºÅ丮³ª + ¹®¼­¸¦ ó¸®ÇÑ´Ù.

+ +

¾Æ·¡ Áö½Ã¾î´Â .mapÀ¸·Î ³¡³ª´Â ÆÄÀÏÀ» À̹ÌÁö¸Ê + ÆÄÀÏ·Î ¼³Á¤ÇÑ´Ù.

+ +

AddHandler imap-file map

+ +

¾ÆÁ÷µµ ¾Æ·¡¿Í °°Àº ¼³Á¤À» Áö¿øÇÑ´Ù.

+ +

AddType application/x-httpd-imap map

+ +

±×·¯³ª ¿ì¸®´Â Á¡Â÷ "¼­¹ö¿¡°Ô Ưº°ÇÑ Àǹ̰¡ ÀÖ´Â MIME + type"À» Á¦°ÅÇÏ·Á°í Çϱ⶧¹®¿¡ ÀÌ ¹æ¹ýÀº ¾ø¾îÁú °ÍÀÌ´Ù.

+
+ +
top
+
+

»õ·Î¿î ±â´É

+ +

À̹ÌÁö¸Ê ¸ðµâ¿¡´Â ÀÌÀü À̹ÌÁö¸Ê ÇÁ·Î±×·¥¿¡´Â ¾ø´Â ¸î°¡Áö + »õ·Î¿î ±â´ÉÀÌ ÀÖ´Ù.

+ +
    +
  • Referer: Á¤º¸¿¡ »ó´ëÀûÀÎ URL ÂüÁ¶.
  • + +
  • »õ·Î¿î base ¸ÊÁö½Ã¾î¸¦ »ç¿ëÇÏ¿© ±âº» + <base> ÁöÁ¤.
  • + +
  • imagemap.conf ÆÄÀÏ ÇÊ¿ä¾øÀ½.
  • + +
  • Á¡(point) ÂüÁ¶.
  • + +
  • À̹ÌÁö¸Ê ¸Þ´º Á¶Á¤ °¡´É.
  • +
+
top
+
+

À̹ÌÁö¸Ê ÆÄÀÏ

+ +

À̹ÌÁö¸Ê ÆÄÀÏÀº ¾Æ·¡¿Í °°Àº Çü½ÄÀ¸·Î ÀÛ¼ºÇÑ´Ù.

+ +

+ directive value [x,y ...]
+ directive value "Menu text" [x,y + ...]
+ directive value x,y ... "Menu text" +

+ +

directive´Â base, default, + poly, circle, rect, + point Áß Çϳª´Ù. value¿¡´Â Àý´ë URLÀ̳ª »ó´ë + URL ȤÀº ¾Æ·¡¿¡¼­ ¿­°ÅÇÒ Æ¯¼ö°ªÀ» »ç¿ëÇÑ´Ù. ÁÂÇ¥´Â °ø¹éÀ¸·Î + ±¸ºÐÇÑ x,y ½ÖÀÌ´Ù. µû¿ÈÇ¥·Î + ¹­Àº ¹®±¸´Â À̹ÌÁö¸Ê ¸Þ´º¸¦ ¸¸µé¶§ ¸µÅ© Á¦¸ñÀ¸·Î »ç¿ëÇÑ´Ù. + '#'·Î ½ÃÀÛÇÏ´Â ÁÙÀº ÁÖ¼®ÀÌ´Ù.

+ +

À̹ÌÁö¸Ê ÆÄÀÏ Áö½Ã¾î

+

À̹ÌÁö¸Ê ÆÄÀÏ¿¡¼­ 6°¡Áö Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Áö½Ã¾î´Â + Ưº°ÇÑ ¼ø¼­¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, À̹ÌÁö¸Ê ÆÄÀÏ¿¡ ³ª¿Â + ¼ø¼­´ë·Î ó¸®ÇÑ´Ù.

+ +
+
base Áö½Ã¾î
+ +

<base href="value"> + ±â´ÉÀ» ÇÑ´Ù. ¸ÊÆÄÀÏ¿¡¼­ ³ª¿À´Â URLÀº Àý´ë URLÀÌ ¾Æ´Ï¶ó¸é + ÀÌ °ª¿¡ »ó´ë URL·Î Ãë±ÞÇÑ´Ù. base Áö½Ã¾î´Â + .htaccess ÆÄÀÏÀ̳ª ¼­¹ö¼³Á¤ÆÄÀÏ¿¡¼­ ¼³Á¤ÇÑ + ImapBase °ªÀ» + ¹«½ÃÇÑ´Ù. ImapBase ¼³Á¤Áö½Ã¾î°¡ + ¾ø´Ù¸é ±âº» base °ªÀº + http://server_name/ÀÌ´Ù.

+

base_uri´Â base¿Í °°´Ù. URL¿¡¼­ + ¸¶Áö¸· ½½·¡½¬¸¦ ÀØÁö¸¶¶ó.

+ +
default Áö½Ã¾î
+ +
ÇØ´ç ÁÂÇ¥°¡ poly, circle, + rect Áö½Ã¾î¿¡ ÇØ´çÇÏÁö ¾Ê°í point + Áö½Ã¾î¸¦ »ç¿ëÇÏÁö ¾ÊÀº °æ¿ì ÇൿÀ» ÁöÁ¤ÇÑ´Ù. ImapDefault ¼³Á¤ÀÌ ¾ø´Ù¸é + ±âº»°ªÀº 204 No Content »óÅÂÄڵ带 ¹ÝȯÇÏ´Â + nocontentÀÌ´Ù. ÀÌ °æ¿ì Ŭ¶óÀ̾ðÆ®´Â µ¿ÀÏÇÑ + ÆäÀÌÁö¸¦ º¸¿©Áà¾ß ÇÑ´Ù.
+ +
poly Áö½Ã¾î
+ +
Á¡À» ¼¼°³¿¡¼­ ¹é°³±îÁö ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ°¡ ÀÌ + Á¡µé·Î ÀÌ·ç¾îÁø ´Ù°¢Çü ¾ÈÀÇ ÁÂÇ¥¸¦ ¼±ÅÃÇÑ °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
+ +
circle
+ +
¿øÀÇ Á߽ɰú ¿øÀ§ÀÇ ÇÑ Á¡ÀÇ ÁÂÇ¥¸¦ ¹Þ´Â´Ù. »ç¿ëÀÚ°¡ + ¿ø ¾ÈÀÇ ÁÂÇ¥¸¦ ¼±ÅÃÇÑ °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
+ +
rect Áö½Ã¾î
+ +
»ç°¢ÇüÀÇ µÎ ¸ð¼­¸® Á¡ÀÇ ÁÂÇ¥¸¦ ¹Þ´Â´Ù. »ç°¢Çü ¾ÈÀÇ + ÁÂÇ¥¸¦ ¼±ÅÃÇÑ °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
+ +
point Áö½Ã¾î
+ +
ÇÑ Á¡ÀÇ ÁÂÇ¥¸¦ ¹Þ´Â´Ù. ´Ù¸¥ Áö½Ã¾îµéÀ» ¸¸Á·ÇÏÁö ¾ÊÀº + °æ¿ì »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ÁÂÇ¥¿¡ °¡Àå °¡±î¿î point Áö½Ã¾î¸¦ + »ç¿ëÇÑ´Ù. point Áö½Ã¾î¸¦ »ç¿ëÇÏ°í À¯È¿ÇÑ + ÁÂÇ¥¸¦ ¼±ÅÃÇÑ °æ¿ì default´Â Àý´ë·Î »ç¿ëµÇÁö + ¾Ê´Â´Ù.
+
+ + +

Áö½Ã¾î¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °ªµé

+ +

Áö½Ã¾î¿¡ ¾Æ·¡ value¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +
+
URL
+ +

»ó´ë URLÀ̳ª Àý´ë URLÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. »ó´ë URL¿¡ + '..'À» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, base °ªÀ» ±âÁØÀ¸·Î + ã´Â´Ù.

+

base¸¦ ¼³Á¤ÇÒ¶§´Â ÇöÀç base°ªÀº ¹«½ÃÇÑ´Ù. + ±×·¯³ª, base mailto: ¹®Àº »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +
map
+ +
À̹ÌÁö¸Ê ÆÄÀÏ ÀÚü URL°ú °°´Ù. ÁÂÇ¥°¡ ¾ø°í ImapMenu°¡ noneÀÌ + ¾Æ´Ï¶ó¸é ¸Þ´º¸¦ ¸¸µç´Ù.
+ +
menu
+
map°ú °°´Ù.
+ +
referer
+ +
ÂüÁ¶(¸µÅ©¸¦ µû¶ó¿À±â Àü) ¹®¼­ URL°ú °°´Ù. + Referer: Çì´õ°¡ ¾ø´Ù¸é ±âº»°ªÀº + http://servername/ÀÌ´Ù.
+ +
nocontent
+ +
Ŭ¶óÀ̾ðÆ®¿¡°Ô µ¿ÀÏÇÑ ÆäÀÌÁö¸¦ ±×´ë·Î º¸¿©ÁÖ¶ó´Â + 204 No Content »óÅÂÄڵ带 º¸³½´Ù. + base¸¦ Á¦¿ÜÇÑ ¸ðµç Áö½Ã¾î¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+ +
error
+ +
½ÇÆи¦ ³ªÅ¸³»´Â 500 Server Error¸¦ º¸³½´Ù. + base¸¦ Á¦¿ÜÇÑ ¸ðµç Áö½Ã¾î¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, + default ¿Ü¿¡´Â »ç¿ëÇÒ ÀÏÀÌ ¾ø´Ù.
+
+ + +

ÁÂÇ¥

+ +
+
0,0 200,200
+ +
ÁÂÇ¥´Â ½°Ç¥·Î ±¸ºÐÇÑ x¿Í y °ªÀÌ´Ù. + ÁÂÇ¥µéÀº ¼­·Î °ø¹éÀ¸·Î ±¸ºÐÇÑ´Ù. À̹ÌÁö¸ÊÀ» ´Ù·ç´Â ¹æ½Ä»ó + LynxÀÇ ÆíÀǸ¦ À§ÇØ »ç¿ëÀÚ°¡ 0,0 ÁÂÇ¥¸¦ ¼±ÅÃÇÏ¿´´Ù¸é + ÁÂÇ¥¸¦ ¼±ÅÃÇÏÁö ¾ÊÀº °Íó·³ µ¿ÀÛÇÑ´Ù.
+
+ + + +

µû¿ÈÇ¥·Î ¹­Àº ¹®±¸

+ +
+
"Menu Text"
+ +

value µÚ³ª ÁÂÇ¥ µÚ¿¡ ½Öµû¿ÈÇ¥·Î ¹­Àº ¹®±¸¸¦ ÀûÀ» + ¼öµµ ÀÖ´Ù. ÀÌ ¹®ÀÚ¿­Àº ¸Þ´º¸¦ ¸¸µé¶§ ¸µÅ© Á¦¸ñÀ¸·Î »ç¿ëÇÑ´Ù.

+ +

+ <a href="http://foo.com/">Menu text</a> +

+ +

µû¿ÈÇ¥·Î ¹­Àº ¹®±¸°¡ ¾ø´Ù¸é ´ÙÀ½°ú °°ÀÌ ¸µÅ©¸¦ ¸µÅ© + Á¦¸ñÀ¸·Î »ç¿ëÇÑ´Ù.

+ +

+ <a href="http://foo.com/">http://foo.com</a> +

+ +

¹®±¸¿¡ ½Öµû¿ÈÇ¥¸¦ ¾²·Á¸é &quot;¿Í + °°ÀÌ Àû¾î¾ß ÇÑ´Ù.

+
+ + +
top
+
+

¸ÊÆÄÀÏ ¿¹Á¦

+ +

+ #'formatted'³ª 'semiformatted' ¸Þ´º´Â ÁÖ¼®À» Ãâ·ÂÇÑ´Ù.
+ #±×¸®°í ÁÖ¼®¿¡ html ű׸¦ ¾µ ¼ö ÀÖ´Ù. <hr>
+ base referer
+ poly map "¸Þ´º¸¦ º¸¿©ÁÖ¼¼¿ä." 0,0 0,10 10,10 10,0
+ rect .. 0,0 77,27 "ÂüÁ¶ ¹®¼­°¡ ÀÖ´Â µð·ºÅ丮"
+ circle http://www.inetnebr.com/lincoln/feedback/ 195,0 305,27
+ rect another_file "ÂüÁ¶ ¹®¼­¿Í °°Àº µð·ºÅ丮¿¡ ÀÖ´Â" 306,0 419,27
+ point http://www.zyzzyva.com/ 100,100
+ point http://www.tripod.com/ 200,200
+ rect mailto:nate@tripod.com 100,150 200,0 "¹ö±×?"
+

+ +
top
+
+

¸ÊÆÄÀÏ »ç¿ëÇϱâ

+ +

HTML ¿¡Á¦

+ <a href="/maps/imagemap1.map">
+ + <img ismap src="/images/imagemap1.gif">
+
+ </a> +

+ +

XHTML ¿¹Á¦

+ <a href="/maps/imagemap1.map">
+ + <img ismap="ismap" src="/images/imagemap1.gif" />
+
+ </a> +

+ +
+
top
+

ImapBase Áö½Ã¾î

+ + + + + + + + +
¼³¸í:À̹ÌÁö¸Ê ÆÄÀÏ¿¡¼­ base ±âº»°ª
¹®¹ý:ImapBase map|referer|URL
±âº»°ª:ImapBase http://servername/
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_imagemap
+

ImapBase Áö½Ã¾î´Â À̹ÌÁö¸Ê ÆÄÀÏ¿¡¼­ + »ç¿ëÇÒ base ±âº»°ªÀ» ¼³Á¤ÇÑ´Ù. À̹ÌÁö¸Ê ÆÄÀÏ + ¾È¿¡¼­ base Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é ¿©±â¼­ ¼³Á¤ÇÑ + °ªÀº ¹«½ÃÇÑ´Ù. µÑ ¸ðµÎ ¾ø´Ù¸é, base ±âº»°ªÀº + http://servername/ÀÌ´Ù.

+ +

Âü°í

+ +
+
top
+

ImapDefault Áö½Ã¾î

+ + + + + + + + +
¼³¸í:À̹ÌÁö¸Ê¿¡ ¾î´À ¿µ¿ª¿¡µµ ÇØ´çÇÏÁö ¾Ê´Â ÁÂÇ¥¸¦ ÁØ +°æ¿ì ±âº» Çൿ
¹®¹ý:ImapDefault error|nocontent|map|referer|URL
±âº»°ª:ImapDefault nocontent
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_imagemap
+

ImapDefault Áö½Ã¾î´Â À̹ÌÁö¸Ê + ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ default ±âº»°ªÀ» ¼³Á¤ÇÑ´Ù. + À̹ÌÁö¸Ê ÆÄÀÏ ¾È¿¡¼­ default Áö½Ã¾î¸¦ »ç¿ëÇϸé + ¿©±â¼­ ¼³Á¤ÇÑ °ªÀº ¹«½ÃÇÑ´Ù. µÑ ¸ðµÎ ¾ø´Ù¸é, default + ÇൿÀº Ŭ¶óÀ̾ðÆ®¿¡°Ô 204 No Content¸¦ º¸³»´Â + nocontentÀÌ´Ù. ÀÌ °æ¿ì Ŭ¶óÀ̾ðÆ®´Â ¿ø·¡ ÆäÀÌÁö¸¦ + ±×´ë·Î º¸¿©Áà¾ß ÇÑ´Ù.

+ +
+
top
+

ImapMenu Áö½Ã¾î

+ + + + + + + +
¼³¸í:ÁÂÇ¥¾øÀÌ À̹ÌÁö¸Ê ¿äû½Ã ÃëÇÒ Çൿ
¹®¹ý:ImapMenu none|formatted|semiformatted|unformatted
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Indexes
»óÅÂ:Base
¸ðµâ:mod_imagemap
+

ImapMenu Áö½Ã¾î´Â À̹ÌÁö¸Ê ÆÄÀÏ¿¡ + À¯È¿ÇÑ ÁÂÇ¥¸¦ ÁÖÁö ¾ÊÀº °æ¿ì ÃëÇÒ ÇൿÀ» °áÁ¤ÇÑ´Ù.

+ +
+
none
+
ImapMenu°¡ noneÀ̸é, ¸Þ´º¸¦ ¸¸µéÁö¾Ê°í + default ÇൿÀ» ÃëÇÑ´Ù.
+ +
formatted
+
formatted ¸Þ´º´Â °¡Àå °£´ÜÇÑ ¸Þ´º´Ù. + À̹ÌÁö¸Ê ÆÄÀÏÀÇ ÁÖ¼®Àº ¹«½ÃÇÑ´Ù. °¡Àå Å« Ç¥Á¦¿Í ¼öÁ÷¼±À» + Ãâ·ÂÇÏ°í, ¸µÅ©¸¦ ÇÑÁÙ¾¿ Ãâ·ÂÇÑ´Ù. ¸Þ´º´Â ÀÏ°üµÇ°í ÆòÀÌÇϸç, + µð·ºÅ丮 ¸ñ·Ï°ú Èí»çÇÏ´Ù.
+ +
semiformatted
+
semiformatted ¸Þ´º´Â À̹ÌÁö¸Ê ÆÄÀÏ¿¡ + ³ª¿À´Â ÁÖ¼®À» Ãâ·ÂÇÑ´Ù. ºóÁÙÀº HTML Çà¹Ù²ÞÀ¸·Î º¯È¯ÇÑ´Ù. + Ç¥Á¦³ª ¼öÁ÷¼±À» ±×¸®Áö ¾ÊÁö¸¸, ³ª¸ÓÁö´Â formatted + ¸Þ´º¿Í °°´Ù.
+ +
unformatted
+
ÁÖ¼®Àº Ãâ·ÂÇÏ°í, ºóÁÙÀº ¹«½ÃÇÑ´Ù. À̹ÌÁö¸Ê ÆÄÀÏ¿¡ + ÀÖ´Â ³»¿ë¸¸ Ãâ·ÂÇÑ´Ù. À̹ÌÁö¸Ê ÆÄÀÏÀÇ ÁÖ¼®¿¡ ÇÊ¿äÇÑ ¸ðµç + Çà¹Ù²Þ°ú Ç¥Á¦¸¦ Àû¾î¾ß ÇÑ´Ù. ¸Þ´ºÀÇ ¿Ü°üÀ» °¡Àå ÀÚÀ¯ÀÚÁ¦·Î + ²Ù¹Ð ¼ö ÀÖÁö¸¸, À̹ÌÁö¸Ê ÆÄÀÏÀ» »ç½Ç»ó ÀÏ¹Ý ¹®ÀÚÆÄÀÏÀÌ + ¾Æ´Ñ HTML·Î ºÁ¾ß ÇÑ´Ù.
+
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_include.html b/docs/manual/mod/mod_include.html new file mode 100644 index 0000000..d1e9524 --- /dev/null +++ b/docs/manual/mod/mod_include.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_include.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_include.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_include.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_include.html.en b/docs/manual/mod/mod_include.html.en new file mode 100644 index 0000000..bb6f04a --- /dev/null +++ b/docs/manual/mod/mod_include.html.en @@ -0,0 +1,1150 @@ + + + + + +mod_include - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_include

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + +
Description:Server-parsed html documents (Server Side Includes)
Status:Base
Module Identifier:include_module
Source File:mod_include.c
+

Summary

+ +

This module provides a filter which will process files + before they are sent to the client. The processing is + controlled by specially formatted SGML comments, referred to as + elements. These elements allow conditional text, the + inclusion of other files or programs, as well as the setting and + printing of environment variables.

+
+ +
top
+
+

Enabling Server-Side Includes

+ + +

Server Side Includes are implemented by the + INCLUDES filter. If + documents containing server-side include directives are given + the extension .shtml, the following directives will make Apache + parse them and assign the resulting document the mime type of + text/html:

+ +
AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ + +

The following directive must be given for the directories + containing the shtml files (typically in a + <Directory> section, + but this directive is also valid in .htaccess files if + AllowOverride Options + is set):

+ +
Options +Includes
+ + +

For backwards compatibility, the server-parsed + handler also activates the + INCLUDES filter. As well, Apache will activate the INCLUDES + filter for any document with mime type + text/x-server-parsed-html or + text/x-server-parsed-html3 (and the resulting + output will have the mime type text/html).

+ +

For more information, see our Tutorial on Server Side Includes.

+
top
+
+

PATH_INFO with Server Side Includes

+ + +

Files processed for server-side includes no longer accept + requests with PATH_INFO (trailing pathname information) + by default. You can use the AcceptPathInfo directive to + configure the server to accept requests with PATH_INFO.

+
top
+
+

Available Elements

+

The document is parsed as an HTML document, with special + commands embedded as SGML comments. A command has the syntax:

+ +

+ <!--#element attribute=value + attribute=value ... --> +

+ +

The value will often be enclosed in double quotes, but single + quotes (') and backticks (`) are also + possible. Many commands only allow a single attribute-value pair. + Note that the comment terminator (-->) should be + preceded by whitespace to ensure that it isn't considered part of + an SSI token. Note that the leading <!--# is one + token and may not contain any whitespaces.

+ +

The allowed elements are listed in the following table:

+ + + + + + + + + + + + + + + + + + + + + +
ElementDescription
commentSSI comment
configconfigure output formats
echoprint variables
execexecute external programs
fsizeprint size of a file
flastmodprint last modification time of a file
includeinclude a file
printenvprint all available variables
setset a value of a variable
+ +

SSI elements may be defined by modules other than + mod_include. In fact, the exec element is provided by + mod_cgi, and will only be available if this + module is loaded.

+ +

The comment Element

+

This command doesn't output anything. Its only use is to + add comments within a file. These comments are not printed.

+ +

This syntax is available in version 2.4.21 and later.

+ +

+ <!--#comment Blah Blah Blah -->
+    or
+ <!--#comment text="Blah Blah Blah" --> +

+ + +

The config Element

+

This command controls various aspects of the parsing. The + valid attributes are:

+ +
+
echomsg (Apache 2.1 and later)
+

The value is a message that is sent back to the + client if the echo element + attempts to echo an undefined variable. This overrides any SSIUndefinedEcho directives.

+ +

+ <!--#config echomsg="[Value Undefined]" --> +

+
+ +
errmsg
+

The value is a message that is sent back to the + client if an error occurs while parsing the + document. This overrides any SSIErrorMsg directives.

+ +

+ <!--#config errmsg="[Oops, something broke.]" --> +

+
+ +
sizefmt
+

The value sets the format to be used when displaying + the size of a file. Valid values are bytes + for a count in bytes, or abbrev for a count + in Kb or Mb as appropriate, for example a size of 1024 bytes + will be printed as "1K".

+ +

+ <!--#config sizefmt="abbrev" --> +

+ +
+ +
timefmt
+

The value is a string to be used by the + strftime(3) library routine when printing + dates.

+ +

+ <!--#config timefmt=""%R, %B %d, %Y"" --> +

+ +
+
+ + +

The echo Element

+

This command prints one of the include + variables defined below. If the variable is unset, the result is + determined by the SSIUndefinedEcho directive. Any dates printed are + subject to the currently configured timefmt.

+ +

Attributes:

+ +
+
var
+
The value is the name of the variable to print.
+ +
decoding
+

Specifies whether Apache should strip an encoding from + the variable before processing the variable further. The default + is none, where no decoding will be done. If set to + url, then URL decoding (also known as %-encoding; + this is appropriate for use within URLs in links, etc.) will be + performed. If set to urlencoded, + application/x-www-form-urlencoded compatible encoding (found in + query strings) will be stripped. If set to base64, + base64 will be decoded, and if set to entity, HTML + entity encoding will be stripped. Decoding is done prior to any + further encoding on the variable. Multiple encodings can be + stripped by specifying more than one comma separated encoding. + The decoding setting will remain in effect until the next decoding + attribute is encountered, or the element ends.

+ +

The decoding attribute must precede the + corresponding var attribute to be effective.

+
+ +
encoding
+

Specifies how Apache should encode special characters + contained in the variable before outputting them. If set + to none, no encoding will be done. If set to + url, then URL encoding (also known as %-encoding; + this is appropriate for use within URLs in links, etc.) will be + performed. If set to urlencoded, + application/x-www-form-urlencoded compatible encoding will be + performed instead, and should be used with query strings. If set + to base64, base64 encoding will be performed. At + the start of an echo element, the default is set to + entity, resulting in entity encoding (which is + appropriate in the context of a block-level HTML element, + e.g. a paragraph of text). This can be changed by adding + an encoding attribute, which will remain in effect + until the next encoding attribute is encountered or + the element ends, whichever comes first.

+ +

The encoding attribute must precede the + corresponding var attribute to be effective.

+ +
+ In order to avoid cross-site scripting issues, you should + always encode user supplied data. +
+ +

Example

+ <!--#echo encoding="entity" var="QUERY_STRING" --> +

+
+
+ + +

The exec Element

+

The exec command executes a given shell command or + CGI script. It requires mod_cgi to be present + in the server. If Options + IncludesNOEXEC is set, this command is completely + disabled. The valid attributes are:

+ +
+
cgi
+

The value specifies a (%-encoded) URL-path to + the CGI script. If the path does not begin with a slash (/), + then it is taken to be relative to the current + document. The document referenced by this path is + invoked as a CGI script, even if the server would not + normally recognize it as such. However, the directory + containing the script must be enabled for CGI scripts + (with ScriptAlias + or Options + ExecCGI).

+ +

The CGI script is given the PATH_INFO and query + string (QUERY_STRING) of the original request from the + client; these cannot be specified in the URL path. The + include variables will be available to the script in addition to + the standard CGI environment.

+ +

Example

+ <!--#exec cgi="/cgi-bin/example.cgi" --> +

+ +

If the script returns a Location: header instead of + output, then this will be translated into an HTML anchor.

+ +

The include virtual + element should be used in preference to exec cgi. In + particular, if you need to pass additional arguments to a CGI program, + using the query string, this cannot be done with exec + cgi, but can be done with include virtual, as + shown here:

+ +

+ <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> +

+
+ +
cmd
+

The server will execute the given string using + /bin/sh. The include variables are available to the command, in addition + to the usual set of CGI variables.

+ +

The use of #include virtual is almost always preferred to using + either #exec cgi or #exec cmd. The former + (#include virtual) uses the standard Apache sub-request + mechanism to include files or scripts. It is much better tested and + maintained.

+ +

In addition, on some platforms, like Win32, and on unix when + using suexec, you cannot pass arguments + to a command in an exec directive, or otherwise include + spaces in the command. Thus, while the following will work under a + non-suexec configuration on unix, it will not produce the desired + result under Win32, or when running suexec:

+ +

+ <!--#exec cmd="perl /path/to/perlscript arg1 arg2" --> +

+
+
+ + +

The fsize Element

+

This command prints the size of the specified file, subject + to the sizefmt format specification. Attributes:

+ +
+
file
+
The value is a path relative to the directory + containing the current document being parsed. + +

+ This file is <!--#fsize file="mod_include.html" --> bytes. +

+ + The value of file cannot start with a slash + (/), nor can it contain ../ so as to + refer to a file above the current directory or outside of the + document root. Attempting to so will result in the error message: + The given path was above the root path. +
+ +
virtual
+
The value is a (%-encoded) URL-path. If it does not begin with + a slash (/) then it is taken to be relative to the current document. + Note, that this does not print the size of any CGI output, + but the size of the CGI script itself.
+
+ +

+ This file is <!--#fsize virtual="/docs/mod/mod_include.html" --> bytes. +

+ +

Note that in many cases these two are exactly the same thing. + However, the file attribute doesn't respect URL-space + aliases.

+ + +

The flastmod Element

+

This command prints the last modification date of the + specified file, subject to the timefmt format + specification. The attributes are the same as for the + fsize command.

+ + +

The include Element

+

This command inserts the text of another document or file + into the parsed file. Any included file is subject to the usual + access control. If the directory containing the parsed file has + Options + IncludesNOEXEC set, then only documents with a text + MIME-type (text/plain, + text/html etc.) will be included. Otherwise CGI + scripts are invoked as normal using the complete URL given in + the command, including any query string.

+ +

An attribute defines the location of the document, and may + appear more than once in an include element; an inclusion is + done for each attribute given to the include command in turn. + The valid attributes are:

+ +
+
file
+
The value is a path relative to the directory + containing the current document being parsed. It cannot + contain ../, nor can it be an absolute path. + Therefore, you cannot include files that are outside of the + document root, or above the current document in the directory + structure. The virtual attribute should always be + used in preference to this one.
+ +
virtual
+

The value is a (%-encoded) URL-path. The URL cannot contain a + scheme or hostname, only a path and an optional query string. If it + does not begin with a slash (/) then it is taken to be relative to the + current document.

+ +

A URL is constructed from the attribute, and the output the + server would return if the URL were accessed by the client is + included in the parsed output. Thus included files can be nested.

+ +

If the specified URL is a CGI program, the program will be + executed and its output inserted in place of the directive in the + parsed file. You may include a query string in a CGI url:

+ +

+ <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> +

+ +

include virtual should be used in preference + to exec cgi to include the output of CGI programs + into an HTML document.

+ +

If the KeptBodySize + directive is correctly configured and valid for this included + file, attempts to POST requests to the enclosing HTML document + will be passed through to subrequests as POST requests as well. + Without the directive, all subrequests are processed as GET + requests.

+ +
+ +
onerror
+

The value is a (%-encoded) URL-path which is shown should a + previous attempt to include a file or virtual attribute failed. + To be effective, this attribute must be specified after the + file or virtual attributes being covered. If the attempt to + include the onerror path fails, or if onerror is not specified, the + default error message will be included.

+ +

+ # Simple example
+ <!--#include virtual="/not-exist.html" onerror="/error.html" --> +

+ +

+ # Dedicated onerror paths
+ <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" --> +

+ +
+
+ + +

The printenv Element

+

This prints out a plain text listing of all existing variables and + their values. Special characters are entity encoded (see the echo element for details) + before being output. There are no attributes.

+ +

Example

+ <pre> + <!--#printenv --> + </pre> +

+ + +

The set Element

+

This sets the value of a variable. Attributes:

+ +
+
var
+
The name of the variable to set.
+ +
value
+
The value to give a variable.
+ +
decoding
+

Specifies whether Apache should strip an encoding from + the variable before processing the variable further. The default + is none, where no decoding will be done. If set to + url, urlencoded, base64 + or entity, URL decoding, + application/x-www-form-urlencoded decoding, base64 decoding or HTML + entity decoding will be performed respectively. More than one + decoding can be specified by separating with commas. The decoding + setting will remain in effect until the next decoding attribute + is encountered, or the element ends. The decoding + attribute must precede the corresponding + var attribute to be effective.

+
+ +
encoding
+

Specifies how Apache should encode special characters + contained in the variable before setting them. The default is + none, where no encoding will be done. If set to + url, urlencoding, base64 + or entity, URL encoding, + application/x-www-form-urlencoded encoding, base64 encoding or + HTML entity encoding will be performed respectively. More than + one encoding can be specified by separating with commas. The + encoding setting will remain in effect until the next encoding + attribute is encountered, or the element ends. The + encoding attribute must precede the + corresponding var attribute to be effective. + Encodings are applied after all decodings have been + stripped.

+
+
+ +

Example

+ <!--#set var="category" value="help" --> +

+ +
top
+
+

Include Variables

+ + +

In addition to the variables in the standard CGI environment, + these are available for the echo command, for + if and elif, and to any program + invoked by the document.

+ +
+
DATE_GMT
+
The current date in Greenwich Mean Time.
+ +
DATE_LOCAL
+
The current date in the local time zone.
+ +
DOCUMENT_ARGS
+
This variable contains the query string of the active SSI + document, or the empty string if a query string is not + included. For subrequests invoked through the + include SSI directive, QUERY_STRING + will represent the query string of the subrequest and + DOCUMENT_ARGS will represent the query string of + the SSI document. (Available in Apache HTTP Server 2.4.19 and + later.)
+ +
DOCUMENT_NAME
+
The filename (excluding directories) of the document + requested by the user.
+ +
DOCUMENT_PATH_INFO
+
The trailing pathname information. See directive AcceptPathInfo for more information + about PATH_INFO.
+ +
DOCUMENT_URI
+
The (%-decoded) URL path of the document requested by the + user. Note that in the case of nested include files, this is + not the URL for the current document. Note also that + if the URL is modified internally (e.g. by an alias or directoryindex), the modified + URL is shown.
+ +
LAST_MODIFIED
+
The last modification date of the document requested by + the user.
+ +
QUERY_STRING_UNESCAPED
+
If a query string is present in the request for the active + SSI document, this variable contains the (%-decoded) query + string, which is escaped for shell usage (special + characters like & etc. are preceded by + backslashes). It is not set if a query string is not + present. Use DOCUMENT_ARGS if shell escaping + is not desired.
+ +
USER_NAME
+
The user name of the owner of the file.
+
+
top
+
+

Variable Substitution

+ +

Variable substitution is done within quoted strings in most + cases where they may reasonably occur as an argument to an SSI + directive. This includes the config, + exec, flastmod, fsize, + include, echo, and set + directives. If SSILegacyExprParser is set to on, + substitution also occurs in the arguments to conditional operators. + You can insert a literal dollar sign into the string using backslash + quoting:

+ +

+ <!--#set var="cur" value="\$test" --> +

+ +

If a variable reference needs to be substituted in the + middle of a character sequence that might otherwise be + considered a valid identifier in its own right, it can be + disambiguated by enclosing the reference in braces, + a la shell substitution:

+ +

+ <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> +

+ +

This will result in the Zed variable being set + to "X_Y" if REMOTE_HOST is + "X" and REQUEST_METHOD is + "Y".

+
top
+
+

Flow Control Elements

+ + +

The basic flow control elements are:

+ +

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

The if element works like an if statement in a + programming language. The test condition is evaluated and if + the result is true, then the text until the next elif, + else or endif element is included in the + output stream.

+ +

The elif or else statements are used + to put text into the output stream if the original + test_condition was false. These elements are optional.

+ +

The endif element ends the if element + and is required.

+ +

test_condition is a boolean expression which follows the + ap_expr syntax. The syntax can be changed + to be compatible with Apache HTTPD 2.2.x using SSILegacyExprParser.

+ +

The SSI variables set with the var element are exported + into the request environment and can be accessed with the + reqenv function. As a short-cut, the function name + v is also available inside mod_include.

+ +

The below example will print "from local net" if client IP address + belongs to the 10.0.0.0/8 subnet.

+ +

+ <!--#if expr='-R "10.0.0.0/8"' -->
+ + from local net
+
+ <!--#else -->
+ + from somewhere else
+
+ <!--#endif --> +

+ +

The below example will print "foo is bar" if the variable + foo is set to the value "bar".

+ +

+ <!--#if expr='v("foo") = "bar"' -->
+ + foo is bar
+
+ <!--#endif --> +

+ +

Reference Documentation

+

See also: Expressions in Apache HTTP Server, + for a complete reference and examples. The restricted functions + are not available inside mod_include

+
+
top
+
+

Legacy expression syntax

+ + +

This section describes the syntax of the #if expr + element if SSILegacyExprParser + is set to on.

+ +
+
string
+
true if string is not empty
+ +
-A string
+

true if the URL represented by the string is accessible by + configuration, false otherwise. This is useful where content on a + page is to be hidden from users who are not authorized to view the + URL, such as a link to that URL. Note that the URL is only tested + for whether access would be granted, not whether the URL exists.

+ +

Example

+ <!--#if expr="-A /private" -->
+ + Click <a href="/private">here</a> to access private + information.
+
+ <!--#endif --> +

+
+ +
string1 = string2
+ string1 == string2
+ string1 != string2
+ +

Compare string1 with string2. If + string2 has the form /string2/ + then it is treated as a regular expression. Regular expressions are + implemented by the PCRE engine and + have the same syntax as those in perl + 5. Note that == is just an alias for = + and behaves exactly the same way.

+ +

If you are matching positive (= or ==), you + can capture grouped parts of the regular expression. The captured parts + are stored in the special variables $1 .. + $9. The whole string matched by the regular expression is + stored in the special variable $0

+ +

Example

+ <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" -->
+ + <!--#set var="session" value="$1" -->
+
+ <!--#endif --> +

+
+ +
string1 < string2
+ string1 <= string2
+ string1 > string2
+ string1 >= string2
+ +
Compare string1 with string2. Note, that + strings are compared literally (using + strcmp(3)). Therefore the string "100" is less than + "20".
+ +
( test_condition )
+
true if test_condition is true
+ +
! test_condition
+
true if test_condition is false
+ +
test_condition1 && + test_condition2
+
true if both test_condition1 and + test_condition2 are true
+ +
test_condition1 || + test_condition2
+
true if either test_condition1 or + test_condition2 is true
+
+ +

"=" and "!=" bind more tightly than + "&&" and "||". "!" binds + most tightly. Thus, the following are equivalent:

+ +

+ <!--#if expr="$a = test1 && $b = test2" -->
+ <!--#if expr="($a = test1) && ($b = test2)" --> +

+ +

The boolean operators && and || + share the same priority. So if you want to bind such an operator more + tightly, you should use parentheses.

+ +

Anything that's not recognized as a variable or an operator + is treated as a string. Strings can also be quoted: + 'string'. Unquoted strings can't contain whitespace + (blanks and tabs) because it is used to separate tokens such as + variables. If multiple strings are found in a row, they are + concatenated using blanks. So,

+ +

string1    string2 results in string1 string2
+
+ and
+
+ 'string1    string2' results in string1    string2.

+ +

Optimization of Boolean Expressions

+

If the expressions become more complex and slow down processing + significantly, you can try to optimize them according to the + evaluation rules:

+
    +
  • Expressions are evaluated from left to right
  • +
  • Binary boolean operators (&& and ||) + are short circuited wherever possible. In conclusion with the rule + above that means, mod_include evaluates at first + the left expression. If the left result is sufficient to determine + the end result, processing stops here. Otherwise it evaluates the + right side and computes the end result from both left and right + results.
  • +
  • Short circuit evaluation is turned off as long as there are regular + expressions to deal with. These must be evaluated to fill in the + backreference variables ($1 .. $9).
  • +
+

If you want to look how a particular expression is handled, you can + recompile mod_include using the + -DDEBUG_INCLUDE compiler option. This inserts for every + parsed expression tokenizer information, the parse tree and how it is + evaluated into the output sent to the client.

+
+ +

Escaping slashes in regex strings

+

All slashes which are not intended to act as delimiters in your regex must + be escaped. This is regardless of their meaning to the regex engine.

+
+ +
+
top
+

SSIEndTag Directive

+ + + + + + + +
Description:String that ends an include element
Syntax:SSIEndTag tag
Default:SSIEndTag "-->"
Context:server config, virtual host
Status:Base
Module:mod_include
+

This directive changes the string that mod_include + looks for to mark the end of an include element.

+ +
SSIEndTag "%>"
+ + + +

See also

+ +
+
top
+

SSIErrorMsg Directive

+ + + + + + + + +
Description:Error message displayed when there is an SSI +error
Syntax:SSIErrorMsg message
Default:SSIErrorMsg "[an error occurred while processing this +directive]"
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Base
Module:mod_include
+

The SSIErrorMsg directive changes the error + message displayed when mod_include encounters an + error. For production servers you may consider changing the default + error message to "<!-- Error -->" so that + the message is not presented to the user.

+ +

This directive has the same effect as the <!--#config + errmsg=message --> element.

+ +
SSIErrorMsg "<!-- Error -->"
+ + +
+
top
+

SSIETag Directive

+ + + + + + + + +
Description:Controls whether ETags are generated by the server.
Syntax:SSIETag on|off
Default:SSIETag off
Context:directory, .htaccess
Status:Base
Module:mod_include
Compatibility:Available in version 2.2.15 and later.
+

Under normal circumstances, a file filtered by mod_include + may contain elements that are either dynamically generated, or that may + have changed independently of the original file. As a result, by default + the server is asked not to generate an ETag header for the + response by adding no-etag to the request notes.

+ +

The SSIETag directive suppresses this + behaviour, and allows the server to generate an ETag header. + This can be used to enable caching of the output. Note that a backend server + or dynamic content generator may generate an ETag of its own, ignoring + no-etag, and this ETag will be passed by + mod_include regardless of the value of this setting. + SSIETag can take on the following values:

+ +
+ +
off
+
no-etag will be added to the request notes, and the server + is asked not to generate an ETag. Where a server ignores the value of + no-etag and generates an ETag anyway, the ETag will be + respected.
+ +
on
+
Existing ETags will be respected, and ETags generated by the server will + be passed on in the response.
+ +
+ + +
+
top
+

SSILastModified Directive

+ + + + + + + + +
Description:Controls whether Last-Modified headers are generated by the +server.
Syntax:SSILastModified on|off
Default:SSILastModified off
Context:directory, .htaccess
Status:Base
Module:mod_include
Compatibility:Available in version 2.2.15 and later.
+

Under normal circumstances, a file filtered by mod_include + may contain elements that are either dynamically generated, or that may + have changed independently of the original file. As a result, by default + the Last-Modified header is stripped from the response.

+ +

The SSILastModified directive overrides this + behaviour, and allows the Last-Modified header to be respected + if already present, or set if the header is not already present. This can + be used to enable caching of the output. SSILastModified + can take on the following values:

+ +
+ +
off
+
The Last-Modified header will be stripped from responses, + unless the XBitHack directive + is set to full as described below.
+ +
on
+
The Last-Modified header will be respected if already + present in a response, and added to the response if the response is a + file and the header is missing. The + SSILastModified directive + takes precedence over XBitHack.
+ +
+ + +
+
top
+

SSILegacyExprParser Directive

+ + + + + + + + +
Description:Enable compatibility mode for conditional expressions.
Syntax:SSILegacyExprParser on|off
Default:SSILegacyExprParser off
Context:directory, .htaccess
Status:Base
Module:mod_include
Compatibility:Available in version 2.3.13 and later.
+

As of version 2.3.13, mod_include has switched to the + new ap_expr syntax for conditional expressions + in #if flow control elements. This directive allows to + switch to the old syntax which is compatible + with Apache HTTPD version 2.2.x and earlier. +

+ +
+
top
+

SSIStartTag Directive

+ + + + + + + +
Description:String that starts an include element
Syntax:SSIStartTag tag
Default:SSIStartTag "<!--#"
Context:server config, virtual host
Status:Base
Module:mod_include
+

This directive changes the string that mod_include + looks for to mark an include element to process.

+ +

You may want to use this option if you have 2 servers parsing the + output of a file each processing different commands (possibly at + different times).

+ +
SSIStartTag "<%"
+SSIEndTag   "%>"
+ + +

The example given above, which also specifies a matching + SSIEndTag, will + allow you to use SSI directives as shown in the example + below:

+ +

SSI directives with alternate start and end tags

+ <%printenv %> +

+ +

See also

+ +
+
top
+

SSITimeFormat Directive

+ + + + + + + + +
Description:Configures the format in which date strings are +displayed
Syntax:SSITimeFormat formatstring
Default:SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Base
Module:mod_include
+

This directive changes the format in which date strings are displayed + when echoing DATE environment variables. The + formatstring is as in strftime(3) from the + C standard library.

+ +

This directive has the same effect as the <!--#config + timefmt=formatstring --> element.

+ +
SSITimeFormat "%R, %B %d, %Y"
+ + +

The above directive would cause times to be displayed in the + format "22:26, June 14, 2002".

+ +
+
top
+

SSIUndefinedEcho Directive

+ + + + + + + + +
Description:String displayed when an unset variable is echoed
Syntax:SSIUndefinedEcho string
Default:SSIUndefinedEcho "(none)"
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Base
Module:mod_include
+

This directive changes the string that mod_include + displays when a variable is not set and "echoed".

+ +
SSIUndefinedEcho "<!-- undef -->"
+ + +
+
top
+

XBitHack Directive

+ + + + + + + + +
Description:Parse SSI directives in files with the execute bit +set
Syntax:XBitHack on|off|full
Default:XBitHack off
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Base
Module:mod_include
+

The XBitHack directive controls the parsing + of ordinary html documents. This directive only affects files associated + with the MIME-type text/html. XBitHack can take on the following values:

+ +
+
off
+
No special treatment of executable files.
+ +
on
+
Any text/html file that has the user-execute bit + set will be treated as a server-parsed html document.
+ +
full
+
As for on but also test the group-execute bit. + If it is set, then set the Last-modified date of the + returned file to be the last modified time of the file. If + it is not set, then no last-modified date is sent. Setting + this bit allows clients and proxies to cache the result of + the request. + +

Note

+

You would not want to use the full option, unless you assure the + group-execute bit is unset for every SSI script which might #include a CGI or otherwise produces different output on + each hit (or could potentially change on subsequent requests).

+ +

The SSILastModified + directive takes precedence over the + XBitHack directive when + SSILastModified is set to + on.

+
+ +
+
+ + +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_include.html.fr.utf8 b/docs/manual/mod/mod_include.html.fr.utf8 new file mode 100644 index 0000000..c69ed05 --- /dev/null +++ b/docs/manual/mod/mod_include.html.fr.utf8 @@ -0,0 +1,1234 @@ + + + + + +mod_include - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_include

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Documents html interprétés par le serveur (Server Side +Includes ou SSI)
Statut:Base
Identificateur de Module:include_module
Fichier Source:mod_include.c
+

Sommaire

+ +

Ce module fournit un filtre qui va traiter les fichiers avant + de les envoyer au client. Le traitement est contrôlé via des + commentaires SGML spécialement formatés, aussi nommés + éléments. Ces éléments permettent l'insertion + conditionnelle de texte, l'inclusion d'autres fichiers ou + programmes, ainsi que la définition et l'affichage de variables + d'environnement.

+
+ +
top
+
+

Activation des SSI

+ + +

Les SSI sont implémentés par le filtre INCLUDES. Si des + documents contenant des directives SSI possèdent une extension + .shtml, les directives suivantes indiqueront à Apache de les + interpréter et d'assigner le type MIME + text/html au document obtenu :

+ +
AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ + +

L'option suivante doit être définie pour les répertoires qui + contiennent les fichiers shtml (en général dans une section + <Directory>, mais + cette option peut également être définie dans un fichier + .htaccess si AllowOverride Options a été défini pour le + répertoire considéré) :

+ +
Options +Includes
+ + +

Pour des raisons de compatibilité ascendante, le gestionnaire server-parsed + peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le + filtre INCLUDES pour tout document de type MIME + text/x-server-parsed-html ou + text/x-server-parsed-html3 (et le document obtenu aura + pour type MIME text/html).

+ +

Pour plus d'informations, voyez notre Tutoriel SSI.

+
top
+
+

PATH_INFO et SSI

+ + +

Les fichiers traités dans le cadre des SSI n'acceptent plus par + défaut les requêtes avec PATH_INFO (les informations + relatives au chemin en fin de requête). La directive AcceptPathInfo permet de configurer le + serveur de façon à ce qu'il accepte ce genre de requête.

+
top
+
+

Eléments disponibles

+

Le document est interprété comme un document HTML, avec des + commandes spéciales incluses sous forme de commentaires SGML. La + syntaxe d'une commande est la suivante :

+ +

+ <!--#élément attribut=valeur + attribut=valeur ... --> +

+ +

Les valeurs sont souvent entourées de guillemets, mais on peut + aussi utiliser des apostrophes (') ou des apostrophes + inverses (`). De nombreuses commandes n'acceptent + qu'une seule paire attribut-valeur. Notez que le terminateur de + commentaire (-->) doit être précédé d'un espace afin + d'être sûr qu'il ne soit pas considéré comme un élément de commande + SSI. Notez aussi que le délimiteur de début <!--# + est un élément de commande et ne doit donc pas contenir + d'espace.

+ +

La table suivante contient la liste des éléments autorisés :

+ + + + + + + + + + + + + + + + + + + + + +
ElémentDescription
commentcommentaire SSI
configconfigure les formats de sortie
echoaffiche le contenu de variables
execexécute des programmes externes
fsizeaffiche la taille d'un fichier
flastmodaffiche la date de dernière modification d'un fichier
includeinclut un fichier
printenvaffiche toutes les variables disponibles
setdéfinit la valeur d'une variable
+ +

Les éléments SSI peuvent être définis par d'autres modules que + mod_include. À ce titre, l'élément exec est fourni par + mod_cgi, et ne sera disponible que si ce module est + chargé.

+ +

L'élément comment

+

Cette commande n'affiche aucune information. Elle n'a pour but que + l'ajout de commentaires dans un fichier et ces commentaires ne sont pas + affichés.

+ +

Cette syntaxe est disponible à partir de la version 2.4.21 du serveur + HTTP Apache.

+ +

+ <!--#comment Blah Blah Blah -->
+    or
+ <!--#comment text="Blah Blah Blah" --> +

+ + +

L'élément config

+

Cette commande contrôle divers aspects de l'interprétation. Les + attributs valides sont :

+ +
+
echomsg (Versions 2.1 et supérieures + d'Apache)
+

La valeur est un message qui sera envoyé au client si + l'élément echo tente + d'afficher le contenu d'une variable non définie. Cet attribut + l'emporte sur toute directive SSIUndefinedEcho.

+ +

+ <!--#config echomsg="[Valeur non définie]" --> +

+ +
+ +
errmsg
+

La valeur est un message qui sera envoyé au client si une + erreur survient lors de l'interprétation du document. Cet attribut + l'emporte sur toute directive SSIErrorMsg.

+ +

+ <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" --> +

+ +
+ +
sizefmt
+

La valeur définit l'unité employée lors de l'affichage de la + taille d'un fichier. Les valeurs possibles sont bytes + pour une taille en octets, ou abbrev pour une taille + en Ko ou Mo selon son importance ; par exemple, une taille de 1024 + octets sera affichée sous la forme "1K".

+ +

+ <!--#config sizefmt="abbrev" --> +

+ +
+ +
timefmt
+

La valeur est une chaîne que pourra utiliser la fonction de la + bibliothèque standard strftime(3) lors de l'affichage + des dates.

+ +

+ <!--#config timefmt=""%R, %B %d, %Y"" --> +

+ +
+ +
+ + +

L'élément echo

+

Cette commande affiche le contenu d'une des variables include définies ci-dessous. Si + la variable n'est pas définie, le résultat est déterminé par la + valeur de la directive SSIUndefinedEcho. Le format d'affichage des dates est + défini par l'attribut timefmt de la commande + config.

+ +

Attributs:

+ +
+
var
+
La valeur est le nom de la variable à afficher.
+ +
decoding
+

Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + none, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est url, un décodage de type URL sera + effectué (il s'agit du codage de type %-encoding utilisé dans les + URLs des liens, etc...). Si la valeur est urlencoded, + c'est un décodage des éléments de type + application/x-www-form-urlencode (que l'on trouve dans les chaînes + de paramètres) qui sera effectué. Si la valeur est + base64, un + decodage de type base64 sera effectué, et si elle est + entity, c'est un décodage des entités HTML qui sera + effectué. Ce décodage est effectué avant tout codage ultérieur de + la variable. Il est possible d'effectuer plusieurs décodages en + spécifiant plusieurs valeurs séparées par des virgules. Les + spécifications de décodages restent valables jusqu'au prochain + attribut de décodage, ou la fin de l'élément.

+ +

Pour être pris en compte, l'attribut de décodage + doit précéder l'attribut var correspondant.

+
+ +
encoding
+

Spécifie la manière dont Apache va coder les caractères + spéciaux que la variable contient avant leur affichage. S'il est + défini à none, aucun codage ne sera effectué. S'il + est défini à url, un codage de type URL sera effectué + (aussi connu sous le nom de codage avec caractères % , il convient + pour les URLS des liens, etc...). S'il est défini à + urlencoded, c'est un codage compatible + application/x-www-form-urlencoded qui sera effectué (à utiliser + dans les chaînes de paramètres). S'il est défini à + base64, c'est un encodage de type base64 qui sera + effectué. Au début d'un élément + echo, la valeur par défaut est définie à + entity, ce qui correspond à un codage de type entité + (codage qui convient pour un élément HTML de type bloc, comme le + paragraphe d'un texte). Cette valeur par défaut peut être modifiée + en ajoutant un attribut encoding, qui fera effet + jusqu'à la définition d'un nouvel attribut encoding + ou la fin de l'élément echo.

+ +

Pour produire son effet, l'attribut encoding doit + précéder l'attribut var concerné.

+ +
+ Afin de prévenir les attaques de type cross-site scripting, il + est recommandé de toujours encoder les données fournies + par les utilisateurs. +
+ +

Example

+ <!--#echo encoding="entity" var="QUERY_STRING" --> +

+
+
+ + +

L'élément exec

+

La commande exec exécute la commande shell ou le + script spécifié. Elle nécessite le chargement du module + mod_cgi. Si Options IncludesNOEXEC est + définie, cette commande est désactivée. Les attributs disponibles + sont :

+ +
+
cgi
+

La valeur spécifie un chemin URL vers le script CGI (encodé + avec caractères %). Si le chemin ne commence pas par un slash (/), + il est considéré comme relatif au document courant. Le document + référencé par ce chemin est invoqué en tant que script CGI, même + s'il n'est pas censé être reconnu comme tel par le serveur. Les + scripts CGI doivent cependant être activés dans le répertoire qui + contient les scripts (via la directive ScriptAlias ou l'Options ExecCGI).

+ +

Le PATH_INFO et la chaîne d'arguments + (QUERY_STRING) de la requête originale du client sont + fournis au script CGI ; ils ne peuvent pas être spécifiés + dans le chemin de l'URL. Le script disposera des variables include + en plus de l'environnement standard CGI.

+ +

Exemple

+ <!--#exec cgi="/cgi-bin/exemple.cgi" --> +

+ +

Si, à la place d'un flux de sortie, le script renvoie un + en-tête Location:, ce dernier sera traduit en ancrage + HTML.

+ +

L'élément include + virtual doit être préféré à exec cgi. En + particulier, si vous devez transmettre des arguments + supplémentaires à un programme CGI en utilisant la chaîne + d'arguments de la requête, c'est impossible avec exec + cgi, mais vous pouvez y parvenir avec include + virtual comme suit :

+ +

+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> +

+
+ +
cmd
+

Le serveur va exécuter la commande fournie en utilisant + /bin/sh. La commande dispose des variables include, en plus du jeu habituel + de variables CGI.

+ +

Il est toujours préférable d'utiliser #include virtual à la place de + #exec cgi ou #exec cmd. #include + virtual utilise le mécanisme standard des sous-requêtes + d'Apache pour inclure des fichiers ou des scripts. Il a fait + l'objet de tests plus approfondis et sa maintenance est mieux + suivie.

+ +

De plus, sur certaines plate-formes, comme Win32, et sous unix, + si l'on utilise suexec, il est + impossible de transmettre des arguments à une commande dans une + directive exec, à moins d'insérer des espaces dans la + commande. Ainsi, alors que ce qui suit fonctionnera sous unix avec + une configuration sans suexec, l'effet produit ne sera pas celui + désiré sous Win32, ou dans le cas de l'utilisation de suexec + :

+ +

+ <!--#exec cmd="perl /chemin/vers/script_perl arg1 arg2" --> +

+
+
+ + +

L'élément fsize

+

Cette commande permet d'afficher la taille du fichier spécifié + en fonction des spécifications de format de sizefmt. + Attributs :

+ +
+
file
+
La valeur est le chemin du fichier, relatif au répertoire + contenant le document en cours d'interprétation. + +

+ Ce fichier a une taille de <!--#fsize file="mod_include.html" + --> octets. +

+ + La valeur de file ne peut pas faire référence à un + fichier situé à un niveau supérieur de l'arborescence du répertoire + courant ou en dehors de la racine des documents ; il ne peut donc + ni commencer par un slash, ni contenir la séquence de caractères + ../. Si c'est le cas, le message d'erreur The + given path was above the root path sera renvoyé. +
+ +
virtual
+
La valeur est un chemin URL (codé avec caractères %). S'il ne + commence pas par un slash (/), il est considéré comme relatif au + document courant. Notez que cette commande n'affiche pas + la taille de la sortie d'un programme CGI, mais la taille du + programme CGI lui-même.
+
+ +

+ Ce fichier a une taille de <!--#fsize + virtual="/docs/mod/mod_include.html" --> octets. +

+ +

Notez que dans la plupart des cas, ces deux attributs sont + identiques. Cependant, l'attribut file ne respecte + pas les aliases URL-space.

+ + +

L'élément flastmod

+

Cette commande permet d'afficher la date de dernière + modification du fichier spécifié, en fonction des spécifications + de format de timefmt. Les attributs sont les mêmes + que ceux de la commande fsize.

+ + +

L'élément include

+

Cette commande permet d'insérer le texte d'un autre document ou + fichier dans le fichier en cours d'interprétation. Tout fichier + inclus est soumis au contrôle d'accès habituel. Si Options IncludesNOEXEC + est défini pour le répertoire contenant le fichier + interprété, seuls les documents possèdant un + type MIME de type texte + (text/plain, text/html, etc...) seront + inclus. Les scripts CGI, quant à eux, sont invoqués de manière + habituelle en utilisant l'URL complète fournie avec la commande, y + compris toute chaîne d'arguments éventuelle.

+ +

Un attribut définit le chemin du document à inclure, et peut + apparaître plusieurs fois dans l'élément à inclure ; en retour, pour + chaque attribut fourni à la commande include, une inclusion est + effectuée. Les attributs disponibles sont :

+ +
+
file
+
La valeur est un chemin relatif au répertoire contenant le + fichier en cours d'interprétation. Elle ne peut ni contenir + ../, ni être un chemin absolu. Ainsi, vous ne pouvez + pas inclure de fichiers situés en dehors de l'arborescence du + site web ou dans un niveau supérieur à celui du fichier courant + dans cette arborescence. Il est toujours préférable d'utiliser + l'attribut virtual.
+ +
virtual
+

La valeur est un chemin URL (codé avec caractères %). L'URL + ne peut contenir qu'un chemin et une chaîne d'arguments + éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne + commence pas par un slash (/), il est considéré comme relatif au + document courant.

+ +

Une URL est construite à partir de l'attribut, et la sortie que + renverrait le serveur si l'URL était accédée par le client est + incluse dans la sortie interprétée. Les inclusions de fichiers + peuvent ainsi être imbriquées.

+ +

Si l'URL spécifiée correspond à un programme CGI, le programme + sera exécuté, et son flux de sortie inséré à la place de la + directive dans le fichier interprété. Vous pouvez insérer une + chaîne d'arguments dans une URL correspond à un programme CGI + :

+ +

+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> +

+ +

include virtual doit être préféré à exec + cgi pour inclure le flux de sortie d'un programme CGI dans + un document HTML.

+ +

Si la directive KeptBodySize est correctement + définie et valide pour le fichier inclus, les tentatives de + requêtes POST vers le document HTML qui inclut des fichiers seront + transmises aux sous-requêtes en tant que requêtes POST + elles-mêmes. Sans cette directive, toutes les sous-requêtes sont + traitées en tant que requêtes GET.

+ +
+ +
onerror
+

La valeur est un chemin-URL (codé-%) qui est affiché si une + tentative précédente d'inclure un fichier ou un attribut virtuel a + échoué. Pour produire son effet, cet attribut doit être spécifié + après le fichier ou les attributs virtuels concernés. Si la + tentative d'inclure le chemin onerror échoue, ou si onerror n'est + pas spécifié, c'est le message d'erreur par défaut qui sera + inclus.

+ +

+ # Exemple simple
+ <!--#include virtual="/not-exist.html" onerror="/error.html" --> +

+ +

+ # Chemins onerror dédiés
+ <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" --> +

+ +
+
+ + +

L'élément printenv

+

Cette commande affiche la liste en mode texte de toutes les variables et de + leurs valeurs. Les caractères spéciaux sont encodés entity avant + d'être affichés (se reporter à l'élément echo pour plus de détails). Cette + commande ne comporte pas d'attributs.

+ +

Exemple

+ <pre> + <!--#printenv --> + </pre> +

+ + +

L'élément set

+

Cette commande permet de définir la valeur d'une variable. Les + attributs sont :

+ +
+
var
+
Le nom de la variable à définir.
+ +
value
+
La valeur à affecter à la variable.
+
decoding
+

Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + none, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est url, urlencoded, + base64 ou + entity, c'est un décodage de type URL, + application/x-www-form-urlencoded, base64 ou + entité HTML qui sera respectivement effectué. Il est possible + d'effectuer plusieurs décodages en + spécifiant plusieurs valeurs séparées par des virgules. Les + spécifications de décodages restent valables jusqu'au prochain + attribut de décodage, ou la fin de l'élément. Pour être pris en + compte, l'attribut de décodage + doit précéder l'attribut var correspondant.

+
+ +
encoding
+

Spécifie la manière dont Apache va encoder les caractères + spéciaux que la variable contient avant leur affichage. S'il est + défini à none, aucun encodage ne sera effectué. Si la + valeur est url, urlencoding, + base64 ou + entity, c'est un encodage de type URL, + application/x-www-form-urlencoded, base64 ou + entité HTML qui sera respectivement effectué. Il est possible de + spécifier plusieurs types d'encodage en les séparant par des + virgules. La spécification du type d'encodage fera effet + jusqu'à la définition d'un nouvel attribut encoding + ou la fin de l'élément. Pour produire son effet, l'attribut encoding doit + précéder l'attribut var concerné. Les encodages sont + effectués après les opérations de décodage.

+
+ +
+ +

Exemple

+ <!--#set var="category" value="help" --> +

+ +
top
+
+

Variables include

+ + +

À l'instar des variables de l'environnement CGI standard, ces + variables sont mises à la disposition de la commande + echo, des opérateurs conditionnels if et + elif, et de tout programme invoqué par le document.

+ +
+
DATE_GMT
+
La date GMT (Greenwich Mean Time) courante.
+ +
DATE_LOCAL
+
La date locale courante.
+ +
DOCUMENT_ARGS
+
Cette variable contient la chaîne de paramètres de la requête du + document SSI actif, ou la chaîne vide si aucune chaîne de paramètres de + requête n'est incluse. Pour les sous-requêtes invoquées par la directive + SSI include, QUERY_STRING contiendra la chaîne + de paramètres de la sous-requête et DOCUMENT_ARGS la chaîne + de paramètres du document SSI (disponible à partir de la version 2.4.19 du + serveur HTTP Apache).
+ +
DOCUMENT_NAME
+
Le nom de base du fichier demandé par l'utilisateur (sans son + chemin).
+ +
DOCUMENT_PATH_INFO
+
La partie terminale du chemin du fichier. Voir la directive AcceptPathInfo pour plus d'informations à + propos de PATH_INFO.
+ +
DOCUMENT_URI
+
Le chemin URL (caractères % décodés) du document demandé par + l'utilisateur. Notez que dans le cas d'inclusions de fichiers + imbriquées, il ne s'agit pas de l'URL du document + courant. Notez également que si l'URL est modifiée en interne (par + exemple via une directive alias ou directoryindex), c'est l'URL modifiée + que contiendra la variable.
+ +
LAST_MODIFIED
+
La date de dernière modification du document demandé par + l'utilisateur.
+ +
QUERY_STRING_UNESCAPED
+
Si une chaîne d'arguments est présente dans la requête pour le + document SSI actif, elle sera affectée à + cette variable, les caractères %-décodés, et éventuellement + échappés pour qu'ils ne soient pas interprétés par le + shell (les caractères spéciaux comme &,etc... + sont précédés d'anti-slashes). Cette variable n'est pas définie si aucune + chaîne d'arguments n'est présente. Utilisez DOCUMENT_ARGS si + l'échappement des caractères du shell n'est pas souhaité.
+ +
USER_NAME
+
Le nom d'utilisateur du propriétaire du fichier.
+
+
top
+
+

Substitution de variable

+ +

Une substitution de variable à l'intérieur d'une chaîne entre + guillemets s'effectue dans la plupart des situations où cette + dernière peut raisonablement constituer un argument d'une directive + SSI. Sont concernées les directives config, + exec, flastmod, fsize, + include, echo, et set. Si la + directive SSILegacyExprParser est définie à + on, la substitution s'effectue aussi dans les arguments + des opérateurs conditionnels. Vous pouvez insérer + un signe dollar en tant que caractère littéral dans une chaîne en + utilisant un anti-slash :

+ +

+ <!--#set var="cur" value="\$test" --> +

+ +

Si une référence de variable doit être substituée au beau milieu + d'une séquence de caractères qui pourrait être elle-même considérée + comme un identifiant valide, l'ambiguïté peut être levée en + entourant la référence d'accolades, à la manière du shell :

+ +

+ <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> +

+ +

Dans cet exemple, la variable Zed se verra affecter + la valeur "X_Y" si REMOTE_HOST et + REQUEST_METHOD contiennent respectivement + "X" et "Y".

+ +
top
+
+

Eléments de contrôle d'inclusion conditionnelle

+ + +

Les éléments de base du contrôle d'inclusion conditionnelle sont + :

+ +

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

L'élément if fonctionne de la même manière que + la directive if d'un langage de programmation. La condition est + évaluée et si le résultat est vrai, le texte qui suit jusqu'au + prochain élément elif, else ou + endif sera inclus dans le flux de sortie.

+ +

Les éléments elif ou else permettent + d'insérer du texte dans le flux de sortie si + test_condition s'est révélé faux. Ces éléments sont + optionnels.

+ +

L'élément endif termine le bloc de traitement + conditionnel if et est obligatoire.

+ +

test_condition est une expression booléenne qui + emprunte la syntaxe ap_expr. La directive + SSILegacyExprParser + permet de modifier cette syntaxe pour la rendre compatible avec + Apache HTTPD 2.2.x.

+ +

Le jeu de variables SSI avec l'élément var sont + exportées vers l'environnement de la requête et sont accessibles via + la fonction reqenv. Pour faire simple, le nom de + fonction v est aussi disponible dans le module + mod_include.

+ +

Dans l'exemple suivant, "depuis le réseau local" sera affiché si + l'adresse IP du client appartient au sous-réseau 10.0.0.0/8.

+ +

+ <!--#if expr='-R "10.0.0.0/8"' -->
+ + depuis le réseau local
+
+ <!--#else -->
+ + depuis ailleurs
+
+ <!--#endif --> +

+ +

Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable + foo contient la valeur "bar".

+ +

+ <!--#if expr='v("foo") = "bar"' -->
+ + foo vaut bar
+
+ <!--#endif --> +

+ +

Documentation de référence

+

Voir aussi Les expressions dans le serveur + HTTP Apache pour une référence complète et des exemples. Les + fonctions restricted ne sont pas disponibles dans + mod_include.

+
+
top
+
+

Syntaxe des expressions héritée

+ + +

Cette section décrit la syntaxe de l'élément #if + expr dans le cas où la directive SSILegacyExprParser est définie à + on.

+ +
+
chaîne
+
vrai si chaîne n'est pas vide
+ +
-A string
+

vrai si l'URL que contient la chaîne est accessible du + point de vue de la configuration, faux sinon. Il + s'avère utile lorsqu'un lien vers une URL doit être caché aux + utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que + le test porte sur l'autorisation d'accès à l'URL, et non sur son + existence.

+ +

Exemple

+ <!--#if expr="-A /prive" -->
+ + Cliquez <a href="/prive">ici</a> pour accéder aux + informations privées.
+
+ <!--#endif --> +

+
+ +
chaîne1 = chaîne2
+ chaîne1 == chaîne2
+ chaîne1 != chaîne2
+ +

Compare chaîne1 à chaîne2. Si + chaîne2 est de la forme + /chaîne2/, elle est traitée comme une + expression rationnelle. Les expressions rationnelles sont + implémentées par le moteur PCRE + et possèdent la même syntaxe que celles de perl 5. Notez que == + n'est qu'un alias pour = et se comporte exactement de + la même manière que ce dernier.

+ +

Si vous faites une comparaison directe (= ou + ==), vous pouvez extraire des parties de l'expression + rationnelle. Les parties extraites sont stockées dans les + variables spéciales $1 .. $9. L'ensemble + de la chaîne correspondant à l'expression rationnelle est stocké + dans la variable spéciale $0.

+ +

Exemple

+ <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" -->
+ + <!--#set var="session" value="$1" -->
+
+ <!--#endif --> +

+
+ +
chaîne1 < chaîne2
+ chaîne1 <= chaîne2
+ chaîne1 > chaîne2
+ chaîne1 >= chaîne2
+ +
Compare chaîne1 à chaîne2. Notez que les + chaînes sont comparées de manière littérale (en utilisant + strcmp(3)). Ainsi, la chaîne "100" est inférieure à + "20".
+ +
( test_condition )
+
vrai si test_condition est vrai
+ +
! test_condition
+
vrai si test_condition est faux
+ +
test_condition1 && + test_condition2
+
vrai si test_condition1 et + test_condition2 sont tous les deux vrais
+ +
test_condition1 || + test_condition2
+
vrai si au moins un des tests test_condition1 ou + test_condition2 est vrai
+
+ +

"=" et "!=" ont une priorité supérieure + à "&&" et "||". "!" a + la priorité la plus haute. Ainsi, les deux directives suivantes sont + équivalentes :

+ +

+ <!--#if expr="$a = test1 && $b = test2" -->
+ <!--#if expr="($a = test1) && ($b = test2)" --> +

+ +

Les opérateurs booléens && et + || ont la même priorité. Ainsi, si vous voulez + augmenter la priorité d'un de ces opérateurs, vous devez utiliser + des parenthèses.

+ +

Tout ce qui n'est pas reconnu comme variable ou opérateur est + traité comme une chaîne. Les chaînes peuvent aussi être entourées + d'apostrophes : 'chaîne'. Les chaînes sans apostrophe + ne peuvent pas contenir d'espaces (espaces ou tabulations) car + ceux-ci servent à séparer certains éléments comme les variables. Si + plusieurs chaînes se trouvent dans une ligne, elles sont concaténées + en utilisant des espaces. Ainsi,

+ +

chaîne1    chaîne2 devient chaîne1 chaîne2
+
+ et
+
+ 'chaîne1    chaîne2' devient chaîne1    chaîne2.

+ +

Optimisation des expressions booléennes

+

Si les expressions atteignent une complexité suffisante pour + ralentir les traitements de manière significative, vous pouvez + essayer de les optimiser en fonction des règles d'évaluation :

+
    +
  • Les expressions sont évaluées de la gauche vers la droite
  • +
  • Les opérateurs booléens binaires (&& et + ||) font l'objet d'une évaluation abrégée chaque fois + que cela est possible. En d'autres termes, et selon la règle + ci-dessus, mod_include évalue tout d'abord la + partie gauche de l'expression. Si le résultat de l'évaluation de + cette partie gauche suffit à déterminer le résultat final, + l'évaluation s'arrête ici. Dans le cas contraire, la partie droite + est évaluée, et le résultat final tient compte des résultats des + évaluations des parties gauche et droite.
  • +
  • L'évaluation abrégée est désactivée tant qu'il reste des + expressions régulières à traiter. Ces dernières doivent être + évaluées afin de définir les variables correspondant aux + références arrières ($1 .. $9).
  • +
+

Si vous voulez déterminer la manière dont une expression est + traitée, vous pouvez recompiler mod_include en + utilisant l'option de compilation -DDEBUG_INCLUDE. + Ceci a pour effet d'insérer, pour chaque expression interprétée, + des informations étiquetées, l'arbre d'interprétation et la + manière dont elle est évaluée au sein du flux de sortie envoyé au + client.

+
+ +

Slashes d'échappement dans les expressions + rationnelles

+

Tous les caractères slashes qui ne sont pas des séparateurs dans + votre expression rationnelle doivent être échappés, et ceci sans + tenir compte de leur signification du point de vue du moteur + d'expressions rationnelles.

+
+ +

Documentation de référence

+

Voir le document Les expressions dans le + serveur HTTP Apache, pour une référence complète et des exemples.

+
+ + +
+
top
+

Directive SSIEndTag

+ + + + + + + +
Description:Chaîne qui termine l'élément include
Syntaxe:SSIEndTag tag
Défaut:SSIEndTag "-->"
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_include
+

Cette directive permet de modifier la chaîne que + mod_include interprète comme la fin d'un élément + include.

+ +
SSIEndTag "%>"
+ + + +

Voir aussi

+ +
+
top
+

Directive SSIErrorMsg

+ + + + + + + + +
Description:Message d'erreur affiché lorsqu'une erreur SSI +survient
Syntaxe:SSIErrorMsg message
Défaut:SSIErrorMsg "[an error occurred while processing this +directive]"
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Base
Module:mod_include
+

La directive SSIErrorMsg permet de + modifier le message d'erreur affiché lorsqu'une erreur SSI survient. + Pour les serveurs en production, il est recommandé de modifier le + message d'erreur par défaut en "<!-- Error + -->", de façon à ce que le message ne soit pas + présenté à l'utilisateur.

+ +

Cette directive a le même effet que l'élément + <!--#config errmsg=message -->.

+ +
SSIErrorMsg "<!-- Error -->"
+ + +
+
top
+

Directive SSIETag

+ + + + + + + + +
Description:Définit si des en-têtes ETags sont générés par le serveur.
Syntaxe:SSIETag on|off
Défaut:SSIETag off
Contexte:répertoire, .htaccess
Statut:Base
Module:mod_include
Compatibilité:Disponible à partir de la version 2.2.15 du serveur HTTP +Apache.
+

Dans le cas général, un fichier filtré par + mod_include peut contenir des éléments soit + générés dynamiquement, soit éventuellement modifiés indépendemment + du fichier original. En conséquence, il est demandé par défaut au + serveur de ne pas générer d'en-tête ETag à la réponse + en ajoutant no-etag aux informations de requête.

+ +

Ce comportement peut être modifié via la directive + SSIETag qui permet au serveur de générer un + en-tête ETag. On peut aussi l'utiliser pour la mise + en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un + générateur de contenu dynamique peut lui-même générer un en-tête + ETag, en ignorant l'information no-etag, + cet en-tête ETag étant transmis par + mod_include sans tenir compte de la définition de + la présente directive. La directive SSIETag + peut prendre une des valeurs suivantes :

+ +
+ +
off
+
no-etag sera ajouté aux informations de + requête, et il sera demandé au serveur de ne pas générer + d'en-tête ETag. Lorsqu'un serveur ignore la valeur + de no-etag et génère tout de même un en-tête + ETag, ce dernier sera respecté.
+ +
on
+
Les en-têtes ETag existants seront respectés, + et ceux générés par le serveur seront ajoutés à la réponse.
+ +
+ + +
+
top
+

Directive SSILastModified

+ + + + + + + + +
Description:Définit si des en-têtes Last-Modified sont +générés par le serveur.
Syntaxe:SSILastModified on|off
Défaut:SSILastModified off
Contexte:répertoire, .htaccess
Statut:Base
Module:mod_include
Compatibilité:Disponible à partir de la version 2.2.15 du serveur HTTP +Apache.
+

Dans le cas général, un fichier filtré par + mod_include peut contenir des éléments soit + générés dynamiquement, soit éventuellement modifiés indépendemment + du fichier original. En conséquence, l'en-tête + Last-Modified est supprimé par défaut de la réponse.

+ +

La directive SSILastModified permet de + modifier ce comportement en faisant en sorte que l'en-tête + Last-Modified soit respecté s'il est déjà présent, ou + défini dans le cas contraire. On peut aussi l'utiliser pour la mise + en cache de la sortie. La directive + SSILastModified peut prendre une des + valeurs suivantes :

+ +
+ +
off
+
L'en-tête Last-Modified sera supprimé des + réponses, à moins que la directive XBitHack ne soit définie à + full comme décrit plus loin.
+ +
on
+
L'en-tête Last-Modified sera respecté s'il est + déjà présent, et ajouté à la réponse si cette dernière est un + fichier et si l'en-tête est manquant. La directive SSILastModified l'emporte sur + la directive XBitHack.
+ +
+ + +
+
top
+

Directive SSILegacyExprParser

+ + + + + + + + +
Description:Active le mode de compatibilité pour les expressions +conditionnelles.
Syntaxe:SSILegacyExprParser on|off
Défaut:SSILegacyExprParser off
Contexte:répertoire, .htaccess
Statut:Base
Module:mod_include
Compatibilité:Disponible à partir de la version 2.3.13.
+

Depuis la version 2.3.13, mod_include a adopté + la nouvelle syntaxe ap_expr pour ses + expressions conditionnelles dans les éléments de contrôle de flux + #if. Cette directive permet de réactiver l'ancienne syntaxe qui est compatible avec les + versions 2.2.x et antérieures d'Apache HTTPD. +

+ +
+
top
+

Directive SSIStartTag

+ + + + + + + +
Description:Chaîne qui marque le début d'un élément +include
Syntaxe:SSIStartTag tag
Défaut:SSIStartTag "<!--#"
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_include
+

Cette directive permet de modifier la chaîne que + mod_include interprète comme le début d'un élément + include.

+ +

Cette option peut vous être utile si vous avez deux serveurs qui + interprètent un fichier avec des commandes différentes (et + éventuellement à des moments différents).

+ +
SSIStartTag "<%"
+SSIEndTag   "%>"
+ + +

Avec l'exemple ci-dessus, qui définit aussi une directive + SSIEndTag, vous pourrez + inscrire des directives SSI comme dans l'exemple suivant :

+ +

Directives SSI avec marques de début et de fin + personnalisées

+ <%printenv %> +

+ +

Voir aussi

+ +
+
top
+

Directive SSITimeFormat

+ + + + + + + + +
Description:Configuration du format d'affichage des dates
Syntaxe:SSITimeFormat chaîne de formatage
Défaut:SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Base
Module:mod_include
+

Cette directive permet de modifier le format d'affichage des +variables d'environnement DATE. La chaîne de +formatage est identique à celle de la fonction +strftime(3) de la bibliothèque C standard.

+ +

Cette directive a le même effet que l'élément + <!--#config timefmt=chaîne de formatage + -->.

+ +
SSITimeFormat "%R, %B %d, %Y"
+ + +

Avec l'exemple ci-dessus, les dates seront affichées dans le + style "22:26, June 14, 2002".

+ +
+
top
+

Directive SSIUndefinedEcho

+ + + + + + + + +
Description:Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie
Syntaxe:SSIUndefinedEcho chaîne
Défaut:SSIUndefinedEcho "(none)"
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Base
Module:mod_include
+

Cette directive permet de modifier la chaîne affichée par + mod_include lorsqu'on tente d'extraire le contenu + d'une variable non définie.

+ +
SSIUndefinedEcho "<!-- nondef -->"
+ + +
+
top
+

Directive XBitHack

+ + + + + + + + +
Description:Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné
Syntaxe:XBitHack on|off|full
Défaut:XBitHack off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Base
Module:mod_include
+

La directive XBitHack permet de contrôler + l'interprétation des documents html standards. Elle n'affecte que + les fichiers dont le type MIME est + text/html. XBitHack peut prendre + les valeurs suivantes :

+ +
+
off
+
Aucun traitement particulier pour les fichiers + exécutables.
+ +
on
+
Tout fichier text/html dont le bit d'exécution + est positionné pour le propriétaire sera traité en tant que + document html interprété par le serveur.
+ +
full
+
Identique à on, avec test du bit d'exécution pour + le groupe. Si ce dernier est positionné, la date de dernière + modification du fichier renvoyé est définie à la date de + dernière modification du fichier. Dans le cas contraire, aucune + date de dernière modification n'est renvoyée. Le positionnement de + ce bit permet aux clients et aux mandataires de gérer la mise en + cache du résultat de la requête. + +

Note

+

Il est recommandé de n'utiliser l'option full que dans le cas + où vous êtes certain que le bit d'exécution du groupe est non + positionné pour les scripts SSI qui pourraient effectuer l'#include d'un programme CGI ou bien produire des sorties + différentes à chaque accès (ou seraient susceptibles d'être + modifiées au cours des requêtes ultérieures).

+ +

Lorsqu'elle est définie à on, la directive + SSILastModified + l'emporte sur la directive XBitHack.

+
+ +
+
+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_include.html.ja.utf8 b/docs/manual/mod/mod_include.html.ja.utf8 new file mode 100644 index 0000000..3cee0fd --- /dev/null +++ b/docs/manual/mod/mod_include.html.ja.utf8 @@ -0,0 +1,901 @@ + + + + + +mod_include - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_include

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:サーãƒãŒãƒ‘ースã™ã‚‹ html ドキュメント (Server Side Includes)
ステータス:Base
モジュール識別å­:include_module
ソースファイル:mod_include.c
互æ›æ€§:Apache 2.0 ã‹ã‚‰å‡ºåŠ›ãƒ•ã‚£ãƒ«ã‚¿ã¨ã—ã¦å®Ÿè£…ã•ã‚Œã¾ã—ãŸã€‚
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‰ã‚Œã‚‹å‰ã«å‡¦ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’ + æä¾›ã—ã¾ã™ã€‚処ç†ã®å†…容ã¯è¦ç´ ã¨å‘¼ã°ã‚Œã‚‹ç‰¹åˆ¥ãªå½¢å¼ã® SGML コメントã«ã‚ˆã‚Š + 制御ã•ã‚Œã¾ã™ã€‚ã“れらã®è¦ç´ ã¯æ¡ä»¶åˆ†å²ã‚„ã€ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚„ + プログラムã®å‡ºåŠ›ã®å–ã‚Šè¾¼ã¿ã€ç’°å¢ƒå¤‰æ•°ã®è¨­å®šã‚„表示を行ãªã†ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+
+ +
top
+
+

Server-Side Includes を有効ã«ã™ã‚‹

+ + +

Server Side Includes 㯠INCLUDES + フィルタ ã«ã‚ˆã‚Šå®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚ + Server-side include ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’å«ã‚€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æ‹¡å¼µå­ãŒ + .shtml ã®å ´åˆã€ä»¥ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã¯ Apache ãŒãれらを + パースã—ã¦ã€ãã®çµæžœã§ãるドキュメント㫠text/html ã® + MIME タイプを割り当ã¦ã¾ã™:

+ +

+ AddType text/html .shtml
+ AddOutputFilter INCLUDES .shtml +

+ +

以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠shtml ファイルã®ã‚るディレクトリã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ + å¿…è¦ãŒã‚ã‚Šã¾ã™ (通常㯠<Directory> セクションã§æŒ‡å®šã—ã¾ã™ãŒã€ + AllowOverride Options + ãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€.htaccess ファイルã«æ›¸ãã“ã¨ã‚‚ã§ãã¾ã™):

+ +

+ Options +Includes +

+ +

互æ›æ€§ã‚’ä¿ã¤ãŸã‚ã«ã€server-parsed + ãƒãƒ³ãƒ‰ãƒ© ã‚‚ INCLUDES フィルタを + 有効ã«ã—ã¾ã™ã€‚MIME タイプ text/x-server-parsed-html ã‚„ + text/x-server-parsed-html3 ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«å¯¾ã—ã¦ã‚‚ + Apache 㯠INCLUDES フィルタを有効ã«ã—ã¾ã™ (出力ã•ã‚Œã‚‹ã‚‚ã®ã¯ + MIME タイプ text/html ã«ãªã‚Šã¾ã™)。

+ +

詳ã—ã„情報㯠Tutorial on Server Side Includes.

+
top
+
+

サーãƒã‚µã‚¤ãƒ‰ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ (SSI) ã§ã® PATH_INFO

+ + +

SSI ã§å‡¦ç†ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ PATH_INFO + (後続ã®ãƒ‘スå情報) + 付ãã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘入れãªããªã‚Šã¾ã—ãŸã€‚AcceptPathInfo ディレクティブ㧠+ PATH_INFO 付ãã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘入れるよã†ã«ã‚µãƒ¼ãƒã‚’ + 設定ã§ãã¾ã™ã€‚

+
top
+
+

基本è¦ç´ 

+

ドキュメントã¯ã€SGML ã®ã‚³ãƒ¡ãƒ³ãƒˆã¨ã—ã¦ç‰¹åˆ¥ãªã‚³ãƒžãƒ³ãƒ‰ãŒåŸ‹ã‚è¾¼ã¾ã‚ŒãŸ + HTML ドキュメントã¨ã—ã¦ãƒ‘ースã•ã‚Œã¾ã™ã€‚コマンドã®æ§‹æ–‡ã¯æ¬¡ã®ã‚ˆã†ã« + ãªã£ã¦ã„ã¾ã™:

+ +

+ <!--#element attribute=value + attribute=value ... --> +

+ +

値 (訳注: value) ã¯äºŒé‡å¼•ç”¨ç¬¦ã§å›²ã‚€ã®ãŒä¸€èˆ¬çš„ã§ã™ãŒã€ + シングルクオート (') ã¨ãƒãƒƒã‚¯ã‚¯ã‚ªãƒ¼ãƒˆ (`) も使用ã§ãã¾ã™ã€‚ + 多ãã®ã‚³ãƒžãƒ³ãƒ‰ã¯å±žæ€§-値 (訳注: attribute-value) ã®çµ„を一ã¤ã ã‘指定ã§ãã¾ã™ã€‚ + コメントã®çµ‚ã‚ã‚Š (-->) + ã®å‰ã«ã¯ã€SSI ã®å¥ã®ä¸€éƒ¨ã ã¨è§£é‡ˆã•ã‚Œãªã„よã†ã«ã™ã‚‹ãŸã‚ã«ç©ºç™½ã‚’ + 入れã¦ãã ã•ã„。最åˆã® <!--# ã¯ã¾ã¨ã‚ã¦ä¸€ã¤ã® + å¥ã§ã€ç©ºç™½ã‚’ãµãã‚“ã§ã¯ã„ã‘ãªã„ã“ã¨æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

è¦ç´  (訳注: element) を以下ã®è¡¨ã«ç¤ºã—ã¾ã™ã€‚

+ + + + + + + + + + + + + + + + + + + +
è¦ç´ èª¬æ˜Ž
configconfigure output formats
echoprint variables
execexecute external programs
fsizeprint size of a file
flastmodprint last modification time of a file
includeinclude a file
printenvprint all available variables
setset a value of a variable
+ +

SSI è¦ç´ ã¯ mod_include 以外ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ + 定義ã•ã‚Œã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚実際〠+ exec è¦ç´ ã¯ + mod_cgi ã§æä¾›ã•ã‚Œã¦ã„ã¦ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒ + ロードã•ã‚Œã‚‹å ´åˆã«ã®ã¿åˆ©ç”¨å¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚

+ +

config è¦ç´ 

+

次ã®ã‚³ãƒžãƒ³ãƒ‰ã¯è§£æžã®æ§˜ã€…ãªå´é¢ã‚’制御ã—ã¾ã™ã€‚属性ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+ +
+
echomsg (Apache 2.1 以é™)
+
指定ã•ã‚Œã‚‹å€¤ã¯ã€echo + è¦ç´ ãŒæœªå®šç¾©ã®å¤‰æ•°ã‚’エコーã—よã†ã¨ã—ãŸéš›ã«ã€ + クライアントã«é€ã‚‰ã‚Œã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ãªã‚Šã¾ã™ã€‚ + SSIUndefinedEcho + ディレクティブを上書ãã—ã¾ã™ã€‚
+ +
errmsg
+
ã“ã®å€¤ãŒã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®è§£æžä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸæ™‚ã« + クライアントã«é€ä¿¡ã•ã‚Œã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ãªã‚Šã¾ã™ã€‚ + SSIErrorMsg + ディレクティブを上書ãã—ã¾ã™ã€‚
+ +
sizefmt
+
ã“ã®å€¤ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚µã‚¤ã‚ºã‚’表示ã™ã‚‹éš›ã«ä½¿ç”¨ã™ã‚‹ + フォーマットを設定ã—ã¾ã™ã€‚値㯠ãƒã‚¤ãƒˆã‚«ã‚¦ãƒ³ãƒˆã® + bytesã‹ã€Kb ã‚„ Mb を優先的ã«ä½¿ç”¨ã™ã‚‹ + abbrec (例ãˆã° 1024 ãƒã‚¤ãƒˆã¯ "1K" ã¨è¡¨ç¤ºã•ã‚Œã¾ã™) + ã§ã™ã€‚
+ +
timefmt
+
ã“ã®å€¤ã¯ strftime(3) ライブラリルーãƒãƒ³ãŒ + 日時をプリントã™ã‚‹éš›ã«ç”¨ã„られã¾ã™ã€‚
+
+ + +

echo è¦ç´ 

+

ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ä»¥ä¸‹ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ include + 変数 を表示ã—ã¾ã™ã€‚変数ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„å ´åˆã¯ SSIUndefinedEcho ディレクティブ㧠+ 決定ã•ã‚Œã‚‹çµæžœã¨ãªã‚Šã¾ã™ã€‚日付ã¯ãã®æ™‚点ã§ã® timefmt ã«å¾“ã£ã¦ + 表示ã•ã‚Œã¾ã™ã€‚属性ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+ +
+
var
+
値ã¯è¡¨ç¤ºã™ã‚‹å¤‰æ•°ã®åå‰ã§ã™ã€‚
+ +
encoding
+

変数を出力ã™ã‚‹å‰ã«ã€å¤‰æ•°ä¸­ã®ç‰¹åˆ¥æ–‡å­—ã‚’ã©ã®ã‚ˆã†ã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã™ã‚‹ã‹ã‚’ + 指定ã—ã¾ã™ã€‚none ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã¯è¡Œãªã‚ã‚Œã¾ã›ã‚“。 + url ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€URL エンコード (%-エンコードã¨ã‚‚ + 呼ã°ã‚Œã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ãƒªãƒ³ã‚¯ç­‰ã® URL ã®ä½¿ç”¨ã«é©åˆ‡ã§ã™) ㌠+ è¡Œãªã‚ã‚Œã¾ã™ã€‚echo è¦ç´ ã®é–‹å§‹æ™‚ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ + entity ã«è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ + (段è½ã‚„テキストãªã©ã®ãƒ–ロックレベル㮠HTML エレメントã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã« + é©ã—ã¦ã„ã¾ã™) ã‚’è¡Œãªã„ã¾ã™ã€‚ã“れ㯠encoding 属性 + を加ãˆã‚‹ã“ã¨ã§å¤‰æ›´ã§ãã¾ã™ã€‚変更ã¯æ¬¡ã® encoding 属性ã‹ã€ + è¦ç´ ã®çµ‚了ã¾ã§åŠ¹åŠ›ã‚’æŒã¡ã¾ã™ã€‚

+ +

encoding 属性ã¯ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã®å¤‰æ›´ã‚’ã—ãŸã„ var + ã®å‰ã« ã‚ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ã¾ãŸã€ISO-8859-1 エンコーディング㧠+ 定義ã•ã‚Œã¦ã„る特別ãªæ–‡å­—ã ã‘ãŒã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚ + 別ã®æ–‡å­—ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®å ´åˆã¯ã€ã“ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯ + 望ã¿ã®çµæžœã«ãªã‚‰ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +
+ クロスサイトスクリプティングã®å•é¡Œã‚’é¿ã‘ã‚‹ãŸã‚ã«ã€ + 常ã«ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã‚’エンコードã™ã¹ãã§ã™ã€‚ +
+
+
+ + +

exec è¦ç´ 

+

exec コマンドã¯æŒ‡å®šã•ã‚ŒãŸã‚·ã‚§ãƒ«ã‚³ãƒžãƒ³ãƒ‰ã‚„ CGI スクリプトを + 実行ã—ã¾ã™ã€‚mod_cgi ãŒã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã„ãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。Option + IncludesNOEXEC ã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’無効ã«ã—ã¾ã™ã€‚ + 使用å¯èƒ½ãªå±žæ€§ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+ +
+
cgi
+

値㯠(%-エンコードã•ã‚ŒãŸ) URL を指定ã—ã¾ã™ã€‚パス㌠+ スラッシュ (/) ã§å§‹ã¾ã‚‰ãªã„ã¨ãã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‹ã‚‰ã® + 相対パスã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ã“ã®ãƒ‘スã§å‚ç…§ã•ã‚Œã¦ã„るドキュメント㯠+ サーãƒãŒ CGI スクリプトã¨ã—ã¦æ‰±ã£ã¦ã„ãªãã¦ã‚‚ CGI スクリプトã¨ã—㦠+ èµ·å‹•ã•ã‚Œã¾ã™ã€‚ãŸã ã—ã€ã‚¹ã‚¯ãƒªãƒ—トã®ã‚るディレクトリã§ã¯ + (ScriptAlias + ã‚„ Option ExecCGI + ã«ã‚ˆã£ã¦) CGI スクリプトã®ä½¿ç”¨ãŒè¨±å¯ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

CGI スクリプトã«ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®å…ƒã€…ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã® + PATH_INFO ã¨ã‚¯ã‚¨ãƒªãƒ¼æ–‡å­—列 (QUERY_STRING) ãŒæ¸¡ã•ã‚Œã¾ã™ã€‚ + ã“れら㯠URL パスã¨ã—ã¦ç‰¹å®šã§ããªã„ã‚‚ã®ã§ã™ã€‚ + スクリプトã¯æ¨™æº– CGI 環境ã«åŠ ãˆã¦ã€include 変数を + 使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

例

+ <!--#exec cgi="/cgi-bin/example.cgi" --> +

+ +

スクリプトãŒã€å‡ºåŠ›ã®ä»£ã‚ã‚Šã« Location: ヘッダを返ã™ã¨ã€ + HTML ã®ã‚¢ãƒ³ã‚«ãƒ¼ (訳注: リンク) ã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚

+ +

exec cgi よりも〠+ include virtual + ã®æ–¹ã‚’使ã†ã‚ˆã†ã«ã—ã¦ãã ã•ã„。特ã«ã€CGI ã¸ã®è¿½åŠ ã®å¼•æ•°ã‚’ + クエリー文字列を使ã£ã¦æ¸¡ã™ã“ã¨ã¯ exec cgi 㯠+ ã§ãã¾ã›ã‚“ãŒã€include virtual ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã—㦠+ å¯èƒ½ã§ã™ã€‚

+ +

+ <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> +

+
+ +
cmd
+

サーãƒã¯æŒ‡å®šã•ã‚ŒãŸæ–‡å­—列を /bin/sh を使ã£ã¦ + 実行ã—ã¾ã™ã€‚コマンドã¯é€šå¸¸ã® CGI 変数ã«åŠ ãˆã¦ include 変数も使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã»ã¨ã‚“ã©ã®å ´åˆã€#include + virtual を使ã†æ–¹ãŒ #exec cgi ã‚„ #exec + cmd を使ã†ã‚ˆã‚Šã‚‚良ã„ã§ã™ã€‚å‰è€… (#include virtual) + ã¯æ¨™æº–ã® Apache ã®ã‚µãƒ–リクエスト機構を使ã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚„スクリプト㮠+ 出力をå–ã‚Šè¾¼ã¿ã¾ã™ã€‚ + ã“ã¡ã‚‰ã®æ–¹ãŒã‚ˆãテストã•ã‚Œãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ã•ã‚ŒãŸæ–¹æ³•ã§ã™ã€‚

+ +

ã•ã‚‰ã«ã€Win32 ã®ã‚ˆã†ãªã„ãã¤ã‹ã®ãƒ—ラットフォームやã€suexec を使ã£ã¦ã„ã‚‹ unix ã§ã¯ã€ + exec ディレクティブã®ã‚³ãƒžãƒ³ãƒ‰ã« + 引数を渡ã—ãŸã‚Šã€ã‚³ãƒžãƒ³ãƒ‰ã«ç©ºç™½ã‚’入れるã“ã¨ã¯ã§ãã¾ã›ã‚“。 + ã§ã™ã‹ã‚‰ã€ä»¥ä¸‹ã®ã‚‚ã®ã¯ unix ã® suexec ã§ãªã„設定ã§ã¯å‹•ä½œã—ã¾ã™ãŒã€ + Win32 ã‚„ suexec を使ã£ã¦ã„ã‚‹ unix ã§ã¯æœŸå¾…ã—ãŸçµæžœã«ã¯ãªã‚Šã¾ã›ã‚“:

+ +

+ <!--#exec cmd="perl /path/to/perlscript arg1 arg2" --> +

+
+
+ + +

fsize è¦ç´ 

+

ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®å¤§ãã•ã‚’ sizefmt ã® + 書å¼æŒ‡å®šã«åŸºã¥ã„ã¦å‡ºåŠ›ã—ã¾ã™ã€‚属性ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+ +
+
file
+
値ã¯è§£æžã•ã‚Œã¦ã„るドキュメントã®å­˜åœ¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã® + 相対パスã§ã™ã€‚
+ +
virtual
+
値㯠(% エンコードã•ã‚ŒãŸ) URL-path ã§ã™ã€‚スラッシュ (/) 㧠+ 始ã¾ã‚‰ãªã„ã¨ãã¯ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ + CGI ã®å‡ºåŠ›ã®ã‚µã‚¤ã‚ºã¯ãƒ—リントã•ã‚Œã¾ã›ã‚“。CGI + スクリプト自体ã®ã‚µã‚¤ã‚ºãŒãƒ—リントã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+
+ + +

flastmod è¦ç´ 

+

ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€çµ‚修正時刻を + timefmt 書å¼æŒ‡å®šã«å¾“ã£ã¦è¡¨ç¤ºã—ã¾ã™ã€‚ + 指定å¯èƒ½ãªå±žæ€§ã¯ fsize コマンドã¨åŒã˜ã§ã™ã€‚

+ + +

include è¦ç´ 

+

ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯åˆ¥ã®æ–‡æ›¸ã‚„ファイルã®ãƒ†ã‚­ã‚¹ãƒˆã‚’解æžã—ã¦ã„るファイル㫠+ 挿入ã—ã¾ã™ã€‚挿入ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã®ç®¡ç†ä¸‹ã«ã‚ã‚Šã¾ã™ã€‚ + 解æžã—ã¦ã„るファイルã®å­˜åœ¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + Option IncludesNOEXEC + ãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€text MIME タイプ + (text/plain, text/html ç­‰) + ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ã¿ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚ + ãã®ä»–ã®å ´åˆã¯ã€ã‚¯ã‚¨ãƒªãƒ¼æ–‡å­—列もå«ã‚ã€ã‚³ãƒžãƒ³ãƒ‰ã§æŒ‡å®šã•ã‚ŒãŸ + 完全㪠URL を使ã£ã¦æ™®é€šã« CGI スクリプトãŒå‘¼ã³å‡ºã•ã‚Œã¾ã™ã€‚

+ +

属性ãŒæ–‡æ›¸ã®ä½ç½®ã‚’指定ã—ã¾ã™ã€‚include コマンドã«ä¸Žãˆã‚‰ã‚ŒãŸãã‚Œãžã‚Œã® + 属性ã«å¯¾ã—ã¦æŒ¿å…¥ä½œæ¥­ãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚有効ãªå±žæ€§ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+ +
+
file
+
値ã¯è§£æžã•ã‚Œã¦ã„るドキュメントã®å­˜åœ¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã® + 相対パスã§ã™ã€‚ + ../ ã‚’å«ã‚“ã§ã„ãŸã‚Šã€çµ¶å¯¾ãƒ‘スを指定ã—ãŸã‚Šã¯ã§ãã¾ã›ã‚“。 + ã§ã™ã‹ã‚‰ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆã®å¤–ã«ã‚るファイルやã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹é€ ã§ + 上ä½ã«ã‚るファイルを挿入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 + 常ã«ã“ã®å±žæ€§ã‚ˆã‚Šã¯ã€virtual 属性を使ã†ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 +
+ +
virtual
+

値ã¯è§£æžã•ã‚Œã¦ã„るドキュメントã‹ã‚‰ã® (% エンコードã•ã‚ŒãŸ) URL + ã§ã™ã€‚URL ã«ã¯ã‚¹ã‚­ãƒ¼ãƒ ã‚„ホストåã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。パスã¨ã€ + ã‚‚ã—ã‚ã‚Œã°ã‚¯ã‚¨ãƒªãƒ¼æ–‡å­—列を指定ã§ãã‚‹ã ã‘ã§ã™ã€‚スラッシュ (/) ã‹ã‚‰ + 始ã¾ã‚‰ãªã„å ´åˆã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +

URL ã¯å±žæ€§ã‹ã‚‰ä½œã‚‰ã‚Œã€ãã® URL をクライアントãŒã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã« + 出力ã•ã‚Œã‚‹å†…容ãŒè§£æžå¾Œã®å‡ºåŠ›ã«å«ã‚られã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€æŒ¿å…¥ã•ã‚Œã‚‹ + ファイルã¯å…¥ã‚Œå­æ§‹é€ ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

指定ã•ã‚ŒãŸ URL ㌠CGI プログラムã§ã‚ã£ãŸå ´åˆã¯ã€ + プログラムãŒå®Ÿè¡Œã•ã‚Œã€ãã®å‡ºåŠ›ãŒè§£æžã—ã¦ã„るファイル中㮠+ ディレクティブãŒã‚ã£ãŸä½ç½®ã«æŒ¿å…¥ã•ã‚Œã¾ã™ã€‚CGI ã® url ã« + クエリー URL を入れるã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

+ <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> +

+ +

HTML ドキュメント㫠CGI プログラムã®å‡ºåŠ›ã‚’å«ã‚る方法ã¨ã—ã¦ã¯ã€ + include virtual ã®æ–¹ãŒ exec cgi よりも + 好ã¾ã—ã„方法ã§ã™ã€‚

+ +

KeptBodySize + ディレクティブãŒè¨­å®šã•ã‚Œã¦ã„ã¦ã€ã‹ã¤ã€ã“ã®å¯¾è±¡ãƒ•ã‚¡ã‚¤ãƒ«ãŒ + (訳注: POST リクエストを)å—ã‘入れã§ãã‚‹ãªã‚‰ã€ + POST リクエストをå—ã‘å–ã£ã¦ã‚µãƒ–リクエストを発行ã™ã‚‹éš›ã«ã‚‚ + POST リクエストãŒæ¸¡ã•ã‚Œã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„å ´åˆã¯ã€ + サブリクエスト㯠GET リクエストã¨ã—ã¦å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +
+
+ + +

printenv è¦ç´ 

+

ã“ã‚Œã¯ã€å­˜åœ¨ã™ã‚‹ã™ã¹ã¦ã®å¤‰æ•°ã¨ãã®å€¤ã‚’表示ã—ã¾ã™ã€‚Apache 1.3.12 ã‹ã‚‰ã€ + 特別ãªæ–‡å­—ã¯å‡ºåŠ›ã•ã‚Œã‚‹å‰ã«ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ (詳細㯠echo è¦ç´ ã‚’å‚ç…§) + ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚属性ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

例

+ <!--#printenv --> +

+ + +

set è¦ç´ 

+

ã“ã‚Œã¯å¤‰æ•°ã®å€¤ã‚’設定ã—ã¾ã™ã€‚属性ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+ +
+
var
+
設定ã™ã‚‹å¤‰æ•°ã®åå‰ã€‚
+ +
value
+
変数ã«è¨­å®šã™ã‚‹å€¤ã€‚
+
+ +

例

+ <!--#set var="category" value="help" --> +

+ +
top
+
+

Include 変数

+ + +

標準 CGI 環境ã®å¤‰æ•°ã«åŠ ãˆã¦ã€echo コマンドや〠+ if ã‚„ elif, ãã‚Œã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‹ã‚‰å‘¼ã³å‡ºã•ã‚Œã‚‹ + ã™ã¹ã¦ã®ãƒ—ログラムã‹ã‚‰ä½¿ç”¨ã§ãる変数ãŒã‚ã‚Šã¾ã™ã€‚

+ +
+
DATE_GMT
+
グリニッジ標準時ã«ã‚ˆã‚‹ç¾åœ¨æ™‚刻。
+ +
DATE_LOCAL
+
ローカルã®æ¨™æº–時ã«ã‚ˆã‚‹ç¾åœ¨æ™‚刻。
+ +
DOCUMENT_NAME
+
ユーザãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã—㟠(ディレクトリを除ã„ãŸ) ファイルå。
+ +
DOCUMENT_URI
+
ユーザãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã—㟠(% エンコードã•ã‚ŒãŸ) URL-path。 + 挿入ファイルãŒå…¥ã‚Œå­ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€è§£æžã•ã‚Œã¦ã„ã‚‹ + ドキュメント㮠URL ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ +
LAST_MODIFIED
+
ユーザãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã—ãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ€çµ‚修正時刻。
+ +
QUERY_STRING_UNESCAPED
+
クエリー文字列ãŒã‚ã‚‹å ´åˆã€ã“ã®å¤‰æ•°ã«ã¯ (%-デコードã•ã‚ŒãŸ) + クエリー文字列ãŒä»£å…¥ã•ã‚Œã¦ã„ã¦ã€shell ã§ä½¿ç”¨ã§ãるよã†ã« + エスケープã•ã‚Œã¦ã„ã¾ã™ (& + ã¨ã„ã£ãŸç‰¹æ®Šæ–‡å­—ã«ã¯ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒç›´å‰ã«ç½®ã‹ã‚Œã¾ã™)。
+
+
top
+
+

変数置æ›

+ +

変数置æ›ã¯ãŸã„ã¦ã„ã®å ´åˆ SSI ディレクティブã®å¼•æ•°ã¨ã—ã¦å¦¥å½“ãªå ´æ‰€ã«ã‚ã‚‹ + 引用符ã§å›²ã¾ã‚ŒãŸæ–‡å­—列中ã§è¡Œãªã‚ã‚Œã¾ã™ã€‚ã“ã‚Œã«è©²å½“ã™ã‚‹ã‚‚ã®ã«ã¯ã€ + config, + exec, flastmod, fsize, + include, echo, set ã® + å„ディレクティブã¨ã€æ¡ä»¶åˆ†å²ç”¨ã®ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ã¸ã®å¼•æ•°ãŒã‚ã‚Šã¾ã™ã€‚ + ドル記å·ã¯ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’使ã†ã“ã¨ã§ä½¿ã†ã“ã¨ãŒã§ãã¾ã™:

+ +

+ <!--#if expr="$a = \$test" --> +

+ +

変数åã¨ã—ã¦ã¿ãªã•ã‚Œã‚‹æ–‡å­—列ã®ä¸­ã§å¤‰æ•°ã¸ã®å‚照を置æ›ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ãã¯ã€ + シェルã§ã®å¤‰æ•°ç½®æ›ã®ã‚ˆã†ã«ã€ä¸­æ‹¬å¼§ã§æ‹¬ã‚‹ã“ã¨ã§åŒºåˆ¥ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +

+ <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> +

+ +

ã“ã®ä¾‹ã§ã¯ã€REMOTE_HOST ㌠+ "X" 㧠REQUEST_METHOD ㌠+ "Y" ã®ã¨ãã«å¤‰æ•° Zed ã‚’ "X_Y" + ã«è¨­å®šã—ã¾ã™ã€‚

+ +

以下ã®ä¾‹ã§ã¯ã€DOCUMENT_URI ㌠/foo/file.html + ã®ã¨ãã« "in foo" ã‚’ã€/bar/file.html ã®ã¨ãã« "in bar" を〠+ ã©ã¡ã‚‰ã§ã‚‚ãªã„ã¨ãã«ã¯ "in neither" を表示ã—ã¾ã™ã€‚

+ +

+ <!--#if expr='"$DOCUMENT_URI" = "/foo/file.html"' -->
+ + in foo
+
+ <!--#elif expr='"$DOCUMENT_URI" = "/bar/file.html"' -->
+ + in bar
+
+ <!--#else -->
+ + in neither
+
+ <!--#endif --> +

+
top
+
+

フロー制御è¦ç´ 

+ + +

基本的ãªãƒ•ãƒ­ãƒ¼ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«è¦ç´ ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+ +

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

if è¦ç´ ã¯ãƒ—ログラミング言語㮠+ if æ–‡ã¨åŒã˜ã‚ˆã†ã«å‹•ä½œã—ã¾ã™ã€‚æ¡ä»¶ãŒè©•ä¾¡ã•ã‚Œã€çµæžœãŒçœŸã§ã‚ã‚Œã°æ¬¡ã® + elif ã‹ else ã‹ endif + è¦ç´ ã¾ã§ã®æ–‡å­—列ãŒå‡ºåŠ›ã«æŒ¿å…¥ã•ã‚Œã¾ã™ã€‚

+ +

elif ã‚„ else 文㯠test_condition + ãŒå½ã®ã¨ãã«ãƒ†ã‚­ã‚¹ãƒˆã‚’出力ã«æŒ¿å…¥ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + ã“れらã®è¦ç´ ã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +

endif è¦ç´ ã¯ if + è¦ç´ ã‚’終了ã•ã›ã¾ã™ã€‚ã“ã®è¦ç´ ã¯å¿…é ˆã§ã™ã€‚

+ +

test_condition ã¯ä»¥ä¸‹ã®ã©ã‚Œã‹ã§ã™:

+ +
+
string
+
string ãŒç©ºã§ãªã„å ´åˆã«çœŸã§ã™
+ +
-A string
+

(訳注: httpd ã®)設定を検査ã—ã¦ã€ + 文字列ã§æŒ‡å®šã—㟠URL ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹å ´åˆ true ã§ã€ + ãã†ã§ãªã‘れ㰠false ã«ãªã‚Šã¾ã™ã€‚ + SSIAccessEnable ãŒæœ‰åŠ¹ã®ã¨ãã«ã®ã¿ + ã“ã®æ¤œæŸ»ã¯è¡Œã‚ã‚Œã¾ã™ã€‚ + 承èªã•ã‚Œã¦ã„ãªã„ユーザã‹ã‚‰ã¯éš ã—ã¦ãŠããŸã„ URL ã«ã¤ã„ã¦ã®æƒ…報〠+ ãŸã¨ãˆã° URL ã¸ã®ãƒªãƒ³ã‚¯ãªã©ãŒã‚ã‚‹å ´åˆã«ã€ä¾¿åˆ©ã§ã™ã€‚ + 検査ã§ã¯ URL ã¸ã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã‹ã®æ¨©é™ã®ã¿ãŒè¡Œã‚ã‚Œã€URL + ãŒå­˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ã«ã¤ã„ã¦ã¯æ¤œæŸ»ã•ã‚Œãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

Example

+ <!--#if expr="-A /private" -->
+ + Click <a href="/private">here</a> to access private + information.
+
+ <!--#endif --> +

+
+ +
string1 = string2
+ string1 == string2
+ string1 != string2
+ +

string1 㨠string2 を比較ã—ã¾ã™ã€‚ + string2 ㌠/string/ + ã¨ã„ã†å½¢å¼ã§ã‚ã‚Œã°ã€æ­£è¦è¡¨ç¾ã¨ã—ã¦æ¯”較ã•ã‚Œã¾ã™ã€‚æ­£è¦è¡¨ç¾ã¯ + PCRE エンジンã§å®Ÿè£…ã•ã‚Œã¦ã„ã¦ã€ + perl 5 ã¨åŒã˜æ§‹æ–‡ã‚’使用ã—ã¾ã™ã€‚ + == ã¯å˜ã« = ã®åˆ¥åã§ã€ã¾ã£ãŸãåŒã˜å‹•ä½œã‚’ + ã—ã¾ã™ã€‚

+ +

æ­£ã®ãƒžãƒƒãƒãƒ³ã‚° (= ã¾ãŸã¯ ==) ã®å ´åˆã¯ã€ + æ­£è¦è¡¨ç¾ã§ã‚°ãƒ«ãƒ¼ãƒ—分ã‘ã•ã‚ŒãŸãƒ‘ーツをキャプãƒãƒ£ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + キャプãƒãƒ£ã•ã‚ŒãŸéƒ¨åˆ†ã¯ç‰¹æ®Šå¤‰æ•° $1 .. $9 + ã«æ ¼ç´ã•ã‚Œã¾ã™ã€‚

+ +

例

+ <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" -->
+ + <!--#set var="session" value="$1" -->
+
+ <!--#endif --> +

+
+ +
string1 < string2
+ string1 <= string2
+ string1 > string2
+ string1 >= string2
+ +
string1 㨠string2 を比較ã—ã¾ã™ã€‚ + 文字列ã¨ã—ã¦æ¯”較ã•ã‚Œã‚‹ (strcmp(3) を使用) + ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã§ã™ã‹ã‚‰ã€æ–‡å­—列 "100" 㯠"20" + よりもå°ã•ã„ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ +
( test_condition )
+
test_condition ãŒçœŸã®ã¨ãã€çœŸ
+ +
! test_condition
+
test_condition ãŒå½ã®ã¨ãã€çœŸ
+ +
test_condition1 && + test_condition2
+
test_condition1 ã‹ã¤ + test_condition2 ãŒçœŸã®ã¨ãã€çœŸ
+ +
test_condition1 || + test_condition2
+
test_condition1 ã¾ãŸã¯ + test_condition2 ãŒçœŸã®ã¨ãã€çœŸ
+
+ +

"=" 㨠"!=" ã®æ–¹ãŒ "&&" より + ãã¤ãæŸç¸›ã—ã¾ã™ã€‚"!" ã®æŸç¸›ãŒä¸€ç•ªãã¤ããªã£ã¦ã„ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ä»¥ä¸‹ã®äºŒã¤ã¯ç­‰ä¾¡ã§ã™:

+ +

+ <!--#if expr="$a = test1 && $b = test2" -->
+ <!--#if expr="($a = test1) && ($b = test2)" --> +

+ +

真å½å€¤ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ && 㨠|| + ã¯åŒã˜å„ªå…ˆåº¦ã§ã™ã€‚ + ã“れらã®ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ã§ä¸€æ–¹ã«ã‚ˆã‚Šå¼·ã„優先度をã¤ã‘ãŸã„å ´åˆã«ã¯ã€ + 括弧を使ã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

変数やオペレータã¨ã—ã¦èªè­˜ã•ã‚Œãªã„ã‚‚ã®ã¯ã™ã¹ã¦æ–‡å­—列ã¨ã—㦠+ 扱ã‚ã‚Œã¾ã™ã€‚文字列ã¯å¼•ç”¨ç¬¦ã§å›²ã‚€ã“ã¨ã‚‚ã§ãã¾ã™: 'string' + ã®ã‚ˆã†ã«ã€‚引用符ã§å›²ã¾ã‚Œã¦ã„ãªã„文字列ã«ã¯ç©ºç™½ (スペースã¨ã‚¿ãƒ–) + ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。ãれらã¯å¤‰æ•°ãªã©ã®å¥ã‚’分離ã™ã‚‹ãŸã‚ã« + 使ã‚ã‚Œã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚複数ã®æ–‡å­—列ãŒç¶šã„ã¦ã„ã‚‹ã¨ãã¯ã€ + 空白を間ã«å…¥ã‚Œã¦ä¸€ã¤ã«ãã£ã¤ã‘られã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€

+ +

string1    string2 㯠string1 string2 ã«ãªã‚Šã¾ã™ã€‚
+
+ ã¾ãŸã€
+
+ 'string1    string2' 㯠string1    string2 + ã«ãªã‚Šã¾ã™ã€‚

+ +

真å½å€¤è¡¨ç¾ã®æœ€é©åŒ–

+

å¼ãŒã‚‚ã£ã¨è¤‡é›‘ã«ãªã‚Šã€å‡¦ç†ã®é€Ÿåº¦ä½Žä¸‹ãŒé¡•è‘—ã«ãªã£ãŸå ´åˆã¯ã€ + 評価ルールã«å¾“ã£ã¦æœ€é©åŒ–ã—ã¦ã¿ã‚‹ã¨è‰¯ã„ã§ã—ょã†ã€‚

+
    +
  • 評価ã¯å·¦ã‹ã‚‰å³ã«å‘ã‹ã£ã¦è¡Œã‚ã‚Œã¾ã™ã€‚
  • +
  • 二値真å½å€¤ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ (&& 㨠||) + ã¯ã€å‡ºæ¥ã‚‹é™ã‚ŠçŸ­çµ¡è©•ä¾¡ã•ã‚Œã¾ã™ã€‚ã¤ã¾ã‚Šçµæžœã¨ã—ã¦ä¸Šè¨˜ã®ãƒ«ãƒ¼ãƒ«ã¯ã€ + mod_include ãŒå·¦ã®è©•ä¾¡å¼ã‚’評価ã—ã¾ã™ã€‚ + å·¦å´ã§çµæžœã‚’å分決定ã§ãã‚‹å ´åˆã¯ã€è©•ä¾¡ã¯ãã“ã§åœæ­¢ã—ã¾ã™ã€‚ + ãã†ã§ãªã„å ´åˆã¯å³å´ã‚’評価ã—ã¦ã€å·¦ã¨å³ã®ä¸¡æ–¹ã‹ã‚‰çµæžœã‚’計算ã—ã¾ã™ã€‚
  • +
  • 短絡評価ã¯è©•ä¾¡ã®å¯¾è±¡ã«æ­£è¦è¡¨ç¾ãŒå«ã¾ã‚Œã‚‹å ´åˆã€ã‚ªãƒ•ã«ãªã‚Šã¾ã™ã€‚ + 後方å‚ç…§ã™ã‚‹å¤‰æ•° ($1 .. $9) + を埋ã‚ã‚‹ãŸã‚ã«ã€å®Ÿéš›ã«è©•ä¾¡ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚
  • +
+

特定ã®å¼ãŒã©ã®ã‚ˆã†ã«æ‰±ã‚れるã‹ã‚’知りãŸã„å ´åˆã¯ã€ + -DDEBUG_INCLUDE コンパイラオプションを付ã‘㦠+ mod_include をリコンパイルã™ã‚‹ã¨è‰¯ã„ã§ã—ょã†ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€å…¨ã¦ã®ãƒ‘ースã•ã‚ŒãŸå¼ã«å¯¾ã—ã¦ã€å­—å¥è§£æžæƒ…報〠+ パースツリーã¨ã€ + ãã‚ŒãŒã©ã®ã‚ˆã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‰ã‚ŒãŸå‡ºåŠ›ã¾ã§è©•ä¾¡ã•ã‚ŒãŸã‹ã‚’ + 挿入ã—ã¾ã™ã€‚

+
+ +

æ­£è¦è¡¨ç¾å†…ã§ã® / ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—

+

æ­£è¦è¡¨ç¾å†…ã§ãƒ‡ãƒªãƒŸã‚¿ã¨ã—ã¦æ‰±ã„ãŸããªã„ / ãŒã‚ã‚Œã°ã€ãれらã¯å…¨ã¦ + エスケープã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + æ­£è¦è¡¨ç¾ã®æ„味ãŒã©ã†ã§ã‚ã‚ã†ã¨ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã¯å¿…è¦ã§ã™ã€‚

+
+
+
top
+

SSIEndTag ディレクティブ

+ + + + + + + + +
説明:include è¦ç´ ã‚’終了ã•ã›ã‚‹æ–‡å­—列
構文:SSIEndTag tag
デフォルト:SSIEndTag "-->"
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_include
互æ›æ€§:2.0.30 以é™ã§åˆ©ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠mod_include ãŒæŽ¢ã™ã€ + include è¦ç´ ã®çµ‚了を示ã™æ–‡å­—列を変更ã—ã¾ã™ã€‚

+ +

例

+ SSIEndTag "%>" +

+ + +

å‚ç…§

+ +
+
top
+

SSIErrorMsg ディレクティブ

+ + + + + + + + + +
説明:SSI ã®ã‚¨ãƒ©ãƒ¼ãŒã‚ã£ãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸
構文:SSIErrorMsg message
デフォルト:SSIErrorMsg "[an error occurred while processing this +directive]"
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Base
モジュール:mod_include
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.30 以é™ã§ä½¿ç”¨å¯èƒ½
+

SSIErrorMsg ディレクティブ㯠mod_include + ãŒã‚¨ãƒ©ãƒ¼ãŒèµ·ã“ã£ãŸã¨ãã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’変更ã—ã¾ã™ã€‚プロダクションサーãƒã§ã¯ + メッセージãŒãƒ¦ãƒ¼ã‚¶ã«è¡¨ç¤ºã•ã‚Œãªã„よã†ã«ã™ã‚‹ãŸã‚ã« + デフォルトエラーメッセージを "<!-- Error -->" + ã«å¤‰ãˆã‚‹ã¨ã„ã†ã‚ˆã†ãªã“ã¨ã‚’考ãˆã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠<!--#config + errmsg=message --> è¦ç´ ã¨åŒã˜åŠ¹æžœã«ãªã‚Šã¾ã™ã€‚

+ +

例

+ SSIErrorMsg "<!-- Error -->" +

+ +
+
top
+

SSIETag ディレクティブ

+ + + + + + + + +
説明:Controls whether ETags are generated by the server.
構文:SSIETag on|off
デフォルト:SSIETag off
コンテキスト:ディレクトリ, .htaccess
ステータス:Base
モジュール:mod_include
互æ›æ€§:Available in version 2.2.15 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

SSILastModified ディレクティブ

+ + + + + + + + +
説明:Controls whether Last-Modified headers are generated by the +server.
構文:SSILastModified on|off
デフォルト:SSILastModified off
コンテキスト:ディレクトリ, .htaccess
ステータス:Base
モジュール:mod_include
互æ›æ€§:Available in version 2.2.15 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

SSILegacyExprParser ディレクティブ

+ + + + + + + + +
説明:Enable compatibility mode for conditional expressions.
構文:SSILegacyExprParser on|off
デフォルト:SSILegacyExprParser off
コンテキスト:ディレクトリ, .htaccess
ステータス:Base
モジュール:mod_include
互æ›æ€§:Available in version 2.3.13 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

SSIStartTag ディレクティブ

+ + + + + + + + +
説明:include è¦ç´ ã‚’開始ã™ã‚‹æ–‡å­—列
構文:SSIStartTag tag
デフォルト:SSIStartTag "<!--#"
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_include
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.30 以é™ã§ä½¿ç”¨å¯èƒ½
+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠mod_include ãŒæŽ¢ã™ã€include + è¦ç´ ã®é–‹å§‹ã‚’示ã™æ–‡å­—列を変更ã—ã¾ã™ã€‚

+ +

二ã¤ã®ã‚µãƒ¼ãƒã§ (ã‚‚ã—ã‹ã™ã‚‹ã¨åˆ¥ã€…ã®æ®µéšŽã§) ファイルã®å‡ºåŠ›ã‚’解æžã—ã¦ã„ã¦ã€ + ãã‚Œãžã‚Œã«é•ã†ã‚³ãƒžãƒ³ãƒ‰ã‚’処ç†ã•ã›ãŸã„〠+ ã¨ã„ã†ã‚ˆã†ãªã¨ãã«ã“ã®ã‚ªãƒ—ションを使ã„ã¾ã™ã€‚

+ +

例

+ SSIStartTag "<%"
+ SSIEndTag "%>" +

+ +

上ã®ä¾‹ã®ã‚ˆã†ã«å¯¾å¿œã™ã‚‹ + SSIEndTag ã‚’ä½µã›ã¦ä½¿ã†ã¨ã€ + 下ã«ç¤ºã™ä¾‹ã®ã‚ˆã†ã« SSI ディレクティブを使ãˆã¾ã™:

+ +

é•ã†é–‹å§‹ã¨çµ‚了ã®ã‚¿ã‚°ã‚’使ã£ãŸ SSI ディレクティブ

+ <%printenv %> +

+ +

å‚ç…§

+ +
+
top
+

SSITimeFormat ディレクティブ

+ + + + + + + + + +
説明:日付ã‘ã‚’ç¾ã™æ–‡å­—列ã®æ›¸å¼ã‚’設定ã™ã‚‹
構文:SSITimeFormat formatstring
デフォルト:SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Base
モジュール:mod_include
互æ›æ€§:2.0.30 以é™ã§ä½¿ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠DATE 環境変数を echo ã—ã¦æ—¥ä»˜ã‚’ç¾ã™æ–‡å­—列㌠+ 表示ã•ã‚Œã‚‹ã¨ãã®æ›¸å¼ã‚’変更ã—ã¾ã™ã€‚formatstring 㯠+ C 標準ライブラリ㮠strftime(3) ã¨åŒã˜å½¢å¼ã§ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠<!--#config + timefmt=formatstring --> è¦ç´ ã¨åŒã˜åŠ¹æžœã«ãªã‚Šã¾ã™ã€‚

+ +

例

+ SSITimeFormat "%R, %B %d, %Y" +

+ +

上ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã¯ã€æ—¥ä»˜ã¯ "22:26, June 14, 2002" ã¨ã„ㆠ+ å½¢å¼ã§è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

SSIUndefinedEcho ディレクティブ

+ + + + + + + + + +
説明:未定義ã®å¤‰æ•°ãŒ echo ã•ã‚ŒãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹æ–‡å­—列
構文:SSIUndefinedEcho string
デフォルト:SSIUndefinedEcho "(none)"
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Base
モジュール:mod_include
互æ›æ€§:2.0.34 以é™ã§åˆ©ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¤‰æ•°ãŒå®šç¾©ã•ã‚Œã¦ã„ãªã„ã«ã‚‚é–¢ã‚ら㚠+ "echo" ã•ã‚ŒãŸã¨ãã« mod_include + ãŒè¡¨ç¤ºã™ã‚‹æ–‡å­—列を変更ã—ã¾ã™ã€‚

+ +

例

+ SSIUndefinedEcho "<!-- undef -->" +

+ +
+
top
+

XBitHack ディレクティブ

+ + + + + + + + +
説明:実行ビットãŒè¨­å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã® SSI ディレクティブを +解æžã™ã‚‹
構文:XBitHack on|off|full
デフォルト:XBitHack off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Options
ステータス:Base
モジュール:mod_include
+

XBitHack ディレクティブã¯é€šå¸¸ã® HTML + ドキュメントã®è§£æžã‚’制御ã—ã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠MIME タイプ + text/html ã¨é–¢é€£ä»˜ã‘られã¦ã„るファイルã«ã®ã¿å½±éŸ¿ã—ã¾ã™ã€‚ + XBitHack ã¯ä»¥ä¸‹ã®å€¤ã‚’ã¨ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +
+
off
+
実行å¯èƒ½ãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—ã¦ç‰¹åˆ¥ãªæ‰±ã„ã‚’ã—ã¾ã›ã‚“。
+ +
on
+
ユーザã®å®Ÿè¡Œãƒ“ットãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹ text/html + ファイルã¯å…¨ã¦ã‚µãƒ¼ãƒã§è§£æžã™ã‚‹ html ドキュメントã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚
+ +
full
+
on ã¨åŒæ§˜ã§ã™ãŒã€ã‚°ãƒ«ãƒ¼ãƒ—実行ビットもテストã—ã¾ã™ã€‚ + ã‚‚ã—ãã‚ŒãŒè¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€è¿”ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã® Last-modified ã® + 日付をファイルã®æœ€çµ‚修正時刻ã«ã—ã¾ã™ã€‚ãã‚ŒãŒè¨­å®šã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€ + last-modified ã®æ—¥ä»˜ã¯é€ã‚‰ã‚Œã¾ã›ã‚“。ã“ã®ãƒ“ットを設定ã™ã‚‹ã¨ã€ + クライアントやプロキシãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’キャッシュã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + +
æ³¨æ„ ä»–ã® CGI ã‚’ #include + ã™ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã‚‚ã®ã‚„ã€å„アクセスã«å¯¾ã—ã¦é•ã†å‡ºåŠ›ã‚’生æˆã™ã‚‹ + (ã‚‚ã—ãã¯å¾Œã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§å¤‰ã‚ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã‚‚ã®) + ã™ã¹ã¦ã® SSI スクリプトã«å¯¾ã—ã¦ã‚°ãƒ«ãƒ¼ãƒ—実行ビット㌠+ 設定ã•ã‚Œã¦ã„ãªã„ã“ã¨ã‚’確èªã§ããªã„å ´åˆã¯ã€full ã¯ä½¿ã‚ãªã„æ–¹ãŒè‰¯ã„ + ã§ã—ょã†ã€‚
+
+
+ + +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_info.html b/docs/manual/mod/mod_info.html new file mode 100644 index 0000000..058b312 --- /dev/null +++ b/docs/manual/mod/mod_info.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_info.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_info.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_info.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_info.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_info.html.en b/docs/manual/mod/mod_info.html.en new file mode 100644 index 0000000..a276ac3 --- /dev/null +++ b/docs/manual/mod/mod_info.html.en @@ -0,0 +1,231 @@ + + + + + +mod_info - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_info

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Provides a comprehensive overview of the server +configuration
Status:Extension
Module Identifier:info_module
Source File:mod_info.c
+

Summary

+ +

To configure mod_info, add the following to your + httpd.conf file.

+ +
<Location "/server-info">
+    SetHandler server-info
+</Location>
+ + +

You may wish to use mod_authz_host inside the + <Location> + directive to limit access to your server configuration + information:

+ +
<Location "/server-info">
+    SetHandler server-info
+    Require host example.com
+</Location>
+ + +

Once configured, the server information is obtained by + accessing http://your.host.example.com/server-info

+
+ +
top
+
+

Security Issues

+

Once mod_info is loaded into the server, its + handler capability is available in all configuration + files, including per-directory files (e.g., + .htaccess). This may have security-related + ramifications for your site.

+ +

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 only be + used in a controlled environment and always with caution.

+ +

You will probably want to use mod_authz_host + to limit access to your server configuration information.

+ +

Access control

<Location "/server-info">
+    SetHandler server-info
+    # Allow access from server itself
+    Require ip 127.0.0.1
+
+    # Additionally, allow access from local workstation
+    Require ip 192.168.1.17
+</Location>
+
+
top
+
+

Selecting the information shown

+

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.

+ +

Other views of the configuration information are available by + appending a query to the server-info request. For + example, http://your.host.example.com/server-info?config + will show all configuration directives.

+ +
+
?<module-name>
+
Only information relevant to the named module
+
?config
+
Just the configuration directives, not sorted by module
+
?hooks
+
Only the list of Hooks each module is attached to
+
?list
+
Only a simple list of enabled modules
+
?server
+
Only the basic server information
+
?providers
+
List the providers that are available on your server
+
+
top
+
+

Dumping the configuration on startup

+

If the config define -DDUMP_CONFIG is set, + mod_info will dump the pre-parsed configuration to + stdout during server startup.

+ +
httpd -DDUMP_CONFIG -k start
+ + +

Pre-parsed means that directives like + <IfDefine> and + <IfModule> are + evaluated and environment variables 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.

+ +

This is roughly equivalent to the ?config query.

+
top
+
+

Known Limitations

+

mod_info 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:

+
    +
  • Directives which are executed immediately rather than being + stored in the parsed configuration are not listed. These include + ServerRoot, + LoadModule, and + LoadFile.
  • +
  • Directives which control the configuration file itself, such as + Include, + <IfModule> and + <IfDefine> are not + listed, but the included configuration directives are.
  • +
  • Comments are not listed. (This may be considered a feature.)
  • +
  • Configuration directives from .htaccess files are + not listed (since they do not form part of the permanent server + configuration).
  • +
  • Container directives such as + <Directory> + are listed normally, but mod_info cannot figure + out the line number for the closing + </Directory>.
  • +
  • Directives generated by third party modules such as mod_perl + might not be listed.
  • +
+
+
top
+

AddModuleInfo Directive

+ + + + + + +
Description:Adds additional information to the module +information displayed by the server-info handler
Syntax:AddModuleInfo module-name string
Context:server config, virtual host
Status:Extension
Module:mod_info
+

This allows the content of string to be shown as + HTML interpreted, Additional Information for + the module module-name. Example:

+ +
AddModuleInfo mod_deflate.c 'See <a \
+    href="http://httpd.apache.org/docs/2.4/mod/mod_deflate.html">\
+    http://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'
+ + +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_info.html.fr.utf8 b/docs/manual/mod/mod_info.html.fr.utf8 new file mode 100644 index 0000000..8f1958f --- /dev/null +++ b/docs/manual/mod/mod_info.html.fr.utf8 @@ -0,0 +1,240 @@ + + + + + +mod_info - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_info

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Affiche une présentation complète de la configuration du +serveur
Statut:Extension
Identificateur de Module:info_module
Fichier Source:mod_info.c
+

Sommaire

+ +

Pour activer mod_info, ajoutez les lignes + suivantes à votre fichier httpd.conf.

+ +
<Location "/server-info">
+    SetHandler server-info
+</Location>
+ + +

Il est recommandé d'utiliser mod_authz_host à + l'intérieur de la section <Location> afin de restreindre l'accès aux + informations de configuration de votre serveur :

+ +
<Location "/server-info">
+    SetHandler server-info
+    Require host example.com
+</Location>
+ + +

Une fois cette configuration effectuée, les informations du + serveur sont disponibles à l'adresse + http://votre-serveur.com/infos-serveur.

+
+ +
top
+
+

Problèmes liés à la sécurité

+

Une fois mod_info chargé dans le serveur, sa + fonctionnalité de gestionnaire est disponible dans tous les + fichiers de configuration, y compris les fichiers de configuration + des répertoires (par exemple .htaccess). Ceci peut + avoir des répercutions en matière de sécurité pour votre site.

+ +

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é + que dans un environnement sous contrôle et toujours + avec les plus grandes précautions.

+ +

Il est recommandé d'utiliser mod_authz_host pour + restreindre l'accès aux informations de configuration de votre + serveur.

+ +

Contrôle d'accès

<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>
+
+
top
+
+

Filtrage des informations affichées

+

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.

+ +

Il est possible d'afficher d'autres vues de la configuration en + ajoutant un argument à la requête infos-serveur. Par + exemple, http://votre-serveur.com/infos-serveur?config + affichera toutes les directives de configuration.

+ +
+
?<module-name>
+
Uniquement les informations relatives au module + spécifié
+
?config
+
Uniquement les directives de configuration, non triées + par module
+
?hooks
+
Uniquement la liste des branchements (hooks) + auxquels le module est attaché
+
?list
+
Une simple liste des modules activés
+
?server
+
Uniquement des informations de base sur le serveur
+
?providers
+
Liste des fournisseurs disponibles sur votre serveur
+
+
top
+
+

Affichage de la configuration au démarrage

+

Si la directive de configuration define + -DDUMP_CONFIG est utilisée, mod_info va + envoyer la configuration préinterprétée vers stdout au + cours du démarrage du serveur.

+ +
httpd -DDUMP_CONFIG -k start
+ + +

"Préinterprétée" signifie que + les directives telles que <IfDefine> et <IfModule> 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.

+ +

Le résultat est équivalent à celui de la requête + ?config.

+ +
top
+
+

Limitations connues

+

mod_info 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 :

+
    +
  • 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 ServerRoot, LoadModule et LoadFile.
  • +
  • Les directives qui contrôlent le fichier de configuration + lui-même, comme Include, + <IfModule> et + <IfDefine> ne + sont pas prises en compte, mais les directives de configuration + incluses le sont.
  • +
  • Les commentaires ne sont pas pris en compte (Ce qui peut être + considéré comme une fonctionnalité).
  • +
  • Les directives de configuration des fichiers + .htaccess ne sont pas prises en compte (car elles ne + font pas partie de la configuration permanente du serveur).
  • +
  • Les directives de conteneur comme <Directory> sont affichées + normalement, mais mod_info est incapable de + déterminer le numéro de ligne de la balise fermante + </Directory>.
  • +
  • Les directives générées par des modules tiers comme + mod_perl peuvent ne pas être + prises en compte.
  • +
+
+
top
+

Directive AddModuleInfo

+ + + + + + +
Description:Ajoute des données supplémentaires aux informations de +module affichées par le gestionnaire server-info
Syntaxe:AddModuleInfo nom-module chaîne
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_info
+

Cette directive permet d'afficher le contenu de chaîne + en tant qu'Information supplémentaire interprétée + en HTML pour le module nom-module. Exemple :

+ +
AddModuleInfo mod_deflate.c 'See <a \
+    href="http://httpd.apache.org/docs/2.4/mod/mod_deflate.html">\
+    http://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'
+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_info.html.ja.utf8 b/docs/manual/mod/mod_info.html.ja.utf8 new file mode 100644 index 0000000..1bd3d16 --- /dev/null +++ b/docs/manual/mod/mod_info.html.ja.utf8 @@ -0,0 +1,222 @@ + + + + + +mod_info - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_info

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:サーãƒã®è¨­å®šã®åŒ…括的ãªæ¦‚観をæä¾›ã™ã‚‹
ステータス:Extension
モジュール識別å­:info_module
ソースファイル:mod_info.c
+

概è¦

+ +

mod_info を設定ã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã‚’ httpd.conf + ファイルã«åŠ ãˆã¾ã™ã€‚

+ +

+ <Location /server-info>
+ + SetHandler server-info
+
+ </Location> +

+ +

<Location> + ã®ä¸­ã§ mod_access を使ã£ã¦ã€ã‚µãƒ¼ãƒè¨­å®šæƒ…å ±ã¸ã® + アクセスを制é™ã—ãŸã„ã¨æ€ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ :

+ +

+ <Location /server-info>
+ + SetHandler server-info
+ Order deny,allow
+ Deny from all
+ Allow from yourcompany.com
+
+ </Location> +

+ +

一旦設定ã™ã‚‹ã¨ã€http://your.host.example.com/server-info + ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã§ã‚µãƒ¼ãƒã®æƒ…報を得られるよã†ã«ãªã‚Šã¾ã™ã€‚

+
+
Support Apache!

トピック

+

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+
top
+
+

Security Issues

+

一旦 mod_info ãŒã‚µãƒ¼ãƒã«èª­ã¿è¾¼ã¾ã‚Œã‚‹ã¨ã€ + æä¾›ã—ã¦ã„ã‚‹ãƒãƒ³ãƒ‰ãƒ©æ©Ÿèƒ½ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ« (例ãˆã° + .htaccess) ã‚’å«ã‚€ ã™ã¹ã¦ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’有効ã«ã™ã‚‹ã¨ãã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å•é¡Œã‚’考慮ã™ã‚‹å¿…è¦ãŒ + ã‚ã‚‹ã§ã—ょã†ã€‚

+ +

特ã«ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚·ã‚¹ãƒ†ãƒ ãƒ‘スã€ãƒ¦ãƒ¼ã‚¶å/パスワード〠+ データベースåãªã©ã€ä»–ã® Apache モジュールã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‹ã‚‰ + セキュリティ上微妙ãªæƒ…報をæ¼ã‚‰ã™å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãã¡ã‚“ã¨ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã•ã‚ŒãŸç’°å¢ƒã§ã®ã¿ã€ + 注æ„ã—ã¦ä½¿ã£ã¦ãã ã•ã„。

+ +

設定情報ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã™ã‚‹ãŸã‚ã«ã€mod_authz_host ã‚’ + 使ã†ã®ãŒè‰¯ã„ã§ã—ょã†ã€‚

+ +

アクセス制御

+ <Location /server-info>
+ + 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
+
+ </Location> +

+
top
+
+

表示ã•ã‚Œã‚‹æƒ…å ±ã®é¸æŠž

+

デフォルトã§ã¯ã€ã‚µãƒ¼ãƒæƒ…å ±ã¯ã™ã¹ã¦ã®æœ‰åŠ¹ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã€ + å„モジュールã«ã¤ã„ã¦ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒç†è§£ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–〠+ 実装ã—ã¦ã„ã‚‹ã€ãƒ•ãƒƒã‚¯ã€ç¾æ™‚点ã§ã®è¨­å®šã®é–¢é€£ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã« + ãªã£ã¦ã„ã¾ã™ã€‚

+ +

server-info リクエストã¸ã‚¯ã‚¨ãƒªãƒ¼ã‚’追加ã™ã‚‹ã“ã¨ã§ã€ + 設定情報ã®ä»–ã®è¡¨ç¤ºå½¢å¼ã‚’é¸ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€ + http://your.host.example.com/server-info?config 㯠+ ã™ã¹ã¦ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を表示ã—ã¾ã™ã€‚

+ +
+
?<module-name>
+
指定ã•ã‚ŒãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«é–¢é€£ã™ã‚‹æƒ…å ±ã®ã¿
+
?config
+
モジュールã§ã‚½ãƒ¼ãƒˆã›ãšã«ã€è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã¿
+
?hooks
+
å„モジュールãŒä½¿ç”¨ã™ã‚‹ãƒ•ãƒƒã‚¯ã®ã¿
+
?list
+
有効ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ç°¡å˜ãªãƒªã‚¹ãƒˆã®ã¿
+
?server
+
基本サーãƒæƒ…å ±ã®ã¿
+
+
top
+
+

既知ã®åˆ¶é™

+

mod_info ã¯ã€å…ƒã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’読むã®ã§ã¯ãªã〠+ æ—¢ã«ãƒ‘ースã•ã‚ŒãŸè¨­å®šã‚’読ã¿è¾¼ã‚€ã“ã¨ã§æƒ…報をæä¾›ã—ã¾ã™ã€‚従ã£ã¦ã€ + パース済ã¿ã®è¨­å®šæƒ…å ±ã®æœ¨ãŒç”Ÿæˆã•ã‚Œã‚‹æ–¹æ³•ã«ã‚ˆã‚‹åˆ¶é™ãŒã„ãã¤ã‹ã‚ã‚Šã¾ã™:

+
    +
  • パースã•ã‚ŒãŸè¨­å®šã«ä¿å­˜ã•ã‚Œãšã«ã€ã™ãã«å®Ÿè¡Œã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ 一覧ã«ç¾ã‚Œã¾ã›ã‚“。ã“ã‚Œã«ã¯ + ServerRoot, + LoadModule, + LoadFile ãŒã‚ã‚Šã¾ã™ã€‚
  • +
  • Include, + <IfModule>, + <IfDefine>, + ã®ã‚ˆã†ãªè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«è‡ªèº«ã‚’制御ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。 + ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä¸­ã«ã‚ã‚Šã€æœ‰åŠ¹ã«ãªã£ã¦ã„るディレクティブ㯠+ 表示ã•ã‚Œã¾ã™ã€‚
  • +
  • コメントã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。(ã“ã‚Œã¯ä»•æ§˜ã ã¨æ€ã£ã¦ãã ã•ã„。)
  • +
  • .htaccess ファイルã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“ + (永久的ãªã‚µãƒ¼ãƒè¨­å®šã®ä¸€éƒ¨ã§ã¯ãªã„ã‹ã‚‰ã§ã™)。
  • +
  • <Directory> + ã®ã‚ˆã†ãªã‚³ãƒ³ãƒ†ãƒŠãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯æ™®é€šã«è¡¨ç¤ºã•ã‚Œã¾ã™ãŒã€ + mod_info ã¯é–‰ã˜ã‚¿ã‚°ã® </Directory> ãªã©ã®æ•°ã‚’知るã“ã¨ã¯ã§ãã¾ã›ã‚“。
  • +
  • mod_perl ã®ã‚ˆã†ãªã‚µãƒ¼ãƒ‰ãƒ‘ーティモジュール + ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯è¡¨ç¤ºã•ã‚Œãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
  • +
+
+
top
+

AddModuleInfo ディレクティブ

+ + + + + + + +
説明:server-info ãƒãƒ³ãƒ‰ãƒ©ã«ã‚ˆã‚Šè¡¨ç¤ºã•ã‚Œã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æƒ…報㫠+追加ã®æƒ…報を付ã‘加ãˆã‚‹
構文:AddModuleInfo module-name string
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_info
互æ›æ€§:Apache 1.3 以é™
+

ã“ã‚Œã¯ã€string ã®å†…容ãŒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« module-name + ã®è¿½åŠ æƒ…å ± ã¨ã—㦠HTML + ã¨ã—ã¦è§£é‡ˆã•ã‚Œã€è¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚例:

+ +

+ AddModuleInfo mod_deflate.c 'See <a \
+ + href="http://www.apache.org/docs/2.4/mod/mod_deflate.html">\
+ http://www.apache.org/docs/2.4/mod/mod_deflate.html</a>' +
+

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_info.html.ko.euc-kr b/docs/manual/mod/mod_info.html.ko.euc-kr new file mode 100644 index 0000000..82f504a --- /dev/null +++ b/docs/manual/mod/mod_info.html.ko.euc-kr @@ -0,0 +1,199 @@ + + + + + +mod_info - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_info

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¼­¹ö ¼³Á¤¿¡ ´ëÇÑ Á¾ÇÕÀûÀÎ Á¤º¸¸¦ º¸¿©ÁØ´Ù
»óÅÂ:Extension
¸ðµâ¸í:info_module
¼Ò½ºÆÄÀÏ:mod_info.c
+

¿ä¾à

+ +

mod_info¸¦ »ç¿ëÇÏ·Á¸é httpd.conf + ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇÑ´Ù.

+ +

+ <Location /server-info>
+ + SetHandler server-info
+
+ </Location> +

+ +

ÀÌ·¸°Ô ¼³Á¤Çϸé + http://your.host.example.com/server-info¿¡ + Á¢±ÙÇÏ¿© ¼­¹ö¿¡ ´ëÇÑ Á¤º¸¸¦ º¼ ¼ö ÀÖ´Ù.

+
+ +
top
+
+

º¸¾È ¹®Á¦

+

Çѹø ¼­¹ö°¡ mod_info¸¦ ÀоîµéÀ̸é, µð·ºÅ丮º° + ¼³Á¤ÆÄÀÏ(¿¹¸¦ µé¾î, .htaccess)À» Æ÷ÇÔÇÑ + ¸ðµç ¼³Á¤ÆÄÀÏ¿¡¼­ ÀÌ Çڵ鷯 ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. + ±×·¡¼­ »çÀÌÆ®¿¡ º¸¾È°ü·Ã ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù.

+ +

ƯÈ÷ ÀÌ ¸ðµâÀº ½Ã½ºÅÛ °æ·Î, »ç¿ëÀÚ¸í/¾ÏÈ£, µ¥ÀÌÅͺ£À̽º + À̸§°ú °°ÀÌ ¿©·¯ ¾ÆÆÄÄ¡ ¸ðµâÀÇ ¼³Á¤Áö½Ã¾î¿¡ ±â·ÏÇÑ ¹Î°¨ÇÑ + Á¤º¸¸¦ À¯ÃâÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ÀÌ ¸ðµâÀº Ç×»ó ÁÖÀÇÇØ¾ß Çϸç + ÅëÁ¦µÈ ȯ°æ¿¡¼­¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù.

+ +

´ÙÀ½°ú °°ÀÌ mod_authz_host¸¦ »ç¿ëÇÏ¿© + ¼­¹ö ¼³Á¤ Á¤º¸¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù.

+ +

Á¢±Ù Á¦¾î

+ <Location /server-info>
+ + SetHandler server-info
+ Order allow,deny
+ # ÀÚ½ÅÀ¸·Î ºÎÅÍ Á¢±Ù Çã°¡
+ Allow from 127.0.0.1
+ # Ãß°¡·Î, ±Ùó¿¡ ÀÖ´Â ¿öÅ©½ºÅ×À̼ÇÀ¸·Î ºÎÅÍ Á¢±Ù Çã°¡
+ Allow from 192.168.1.17
+
+ </Location> +

+
top
+
+

º¸¿©ÁÖ´Â Á¤º¸ ¼±ÅÃÇϱâ

+

±âº»ÀûÀ¸·Î ¼­¹ö Á¤º¸¿¡´Â »ç¿ëÇÏ´Â ¸ðµâ ¸ñ·Ï°ú ¸ðµâº°·Î + ¸ðµâÀÌ ÀÌÇØÇÏ´Â Áö½Ã¾î ¼³¸í, ¸ðµâÀÌ ±¸ÇöÇÑ ÈÅ(hook), ÇöÀç + ¼³Á¤¿¡¼­ »ç¿ëÇÑ Áö½Ã¾î Á¤º¸°¡ ÀÖ´Ù.

+ +

server-info ¿äû¿¡ ÁúÀǹ®ÀÚ¿­À» ºÙ¿©¼­ ¼³Á¤ + Á¤º¸¸¦ ´Ù¸£°Ô º¼ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, + http://your.host.example.com/server-info?config´Â + ¸ðµç ¼³Á¤Áö½Ã¾î¸¦ º¸¿© ÁØ´Ù.

+ +
+
?<module-name>
+
¸í½ÃÇÑ ¸ðµâ¿¡ ´ëÇÑ Á¤º¸¸¸
+
?config
+
¸ðµâº°·Î Á¤·ÄÇÏÁö ¾Ê°í, ¼³Á¤Áö½Ã¾î¸¸
+
?hooks
+
¸ðµâÀÌ µî·ÏÇÑ ÈÅ(hook) ¸ñ·Ï¸¸
+
?list
+
»ç¿ëÇÏ´Â ¸ðµâ ¸ñ·Ï¸¸
+
?server
+
±âº» ¼­¹ö Á¤º¸¸¸
+
+
top
+
+

¾Ë·ÁÁø ÇÑ°è

+

mod_info´Â ¿ø·¡ ¼³Á¤ÆÄÀÏÀ» ÀÐÁö ¾Ê°í + ÀÌ¹Ì ÀоîµéÀÎ ¼³Á¤ Á¤º¸¸¦ Âü°íÇÏ¿© Á¤º¸¸¦ º¸¿©ÁØ´Ù. ¼³Á¤À» + ÆĽÌÇÏ´Â ¹æ¹ý¶§¹®¿¡ ´ÙÀ½°ú °°Àº ¸î°¡Áö ÇÑ°è°¡ ÀÖ´Ù.

+
    +
  • ÆĽÌÇÑ ¼³Á¤ Á¤º¸¿¡ ±â·ÏÇÏÁö ¾Ê°í Áï½Ã ½ÇÇàµÇ´Â Áö½Ã¾î¸¦ + º¸¿©ÁÖÁö ¸øÇÑ´Ù. ServerRoot, LoadModule, LoadFile°ú °°Àº Áö½Ã¾î°¡ + ¿©±â¿¡ ÇØ´çÇÑ´Ù.
  • +
  • Include, <IfModule>, <IfDefine>°ú °°ÀÌ + ¼³Á¤ÆÄÀÏ ÀÚü¸¦ Á¶Á¤ÇÏ´Â Áö½Ã¾î¸¦ º¸¿©ÁÖÁö ¸øÇÑ´Ù. + ±×·¯³ª ¾È¿¡ ÀÖ´Â ¼³Á¤Áö½Ã¾î´Â º¸¿©ÁØ´Ù.
  • +
  • ÁÖ¼®À» º¸¿©ÁÖÁö ¸øÇÑ´Ù. (ÇÑ°è¶ó±â º¸´Ù´Â ±â´ÉÀ̶ó°í + »ý°¢ÇÒ ¼ö ÀÖ´Ù.)
  • +
  • (Áö¼ÓÀûÀÎ ¼­¹ö¼³Á¤ÀÌ ¾Æ´Ï±â ¶§¹®¿¡) .htaccess + ÆÄÀÏ¿¡ ÀÖ´Â ¼³Á¤Áö½Ã¾î¸¦ º¸¿©ÁÖÁö ¸øÇÑ´Ù.
  • +
  • º¸Åë <Directory>¿Í + °°Àº ¹üÀ§Á¦ÇÑ Áö½Ã¾î´Â º¸¿©ÁÖÁö¸¸, + mod_info´Â ¸¶Ä¡´Â </Directory>ÀÇ ÁÙ¹øÈ£¸¦ + ¾Ë ¼ö ¾ø´Ù.
  • +
  • mod_perl°ú °°ÀÌ Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâÀÇ + Áö½Ã¾î¸¦ º¸¿©ÁÖÁö ¸øÇÒ ¼ö ÀÖ´Ù.
  • +
+
+
top
+

AddModuleInfo Áö½Ã¾î

+ + + + + + + +
¼³¸í:¸ðµâ¿¡ ´ëÇÑ Ãß°¡ Á¤º¸¸¦ server-info Çڵ鷯°¡ º¸¿©ÁÖµµ·Ï +Ãß°¡ÇÑ´Ù
¹®¹ý:AddModuleInfo module-name string
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_info
Áö¿ø:¾ÆÆÄÄ¡ 1.3 ÀÌÈÄ
+

module-name ¸ðµâ¿¡ ´ëÇÑ Ãß°¡ Á¤º¸·Î + stringÀÇ ³»¿ëÀ» HTML·Î º¸¿©ÁØ´Ù. ¿¹¸¦ µé¾î,

+ +

+ AddModuleInfo mod_deflate.c 'See <a \
+ + href="http://www.apache.org/docs/2.4/mod/mod_deflate.html">\
+ http://www.apache.org/docs/docs/2.4/mod/mod_deflate.html</a>' +
+

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.html b/docs/manual/mod/mod_isapi.html new file mode 100644 index 0000000..362298b --- /dev/null +++ b/docs/manual/mod/mod_isapi.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_isapi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_isapi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_isapi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_isapi.html.en b/docs/manual/mod/mod_isapi.html.en new file mode 100644 index 0000000..a7d2f51 --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.en @@ -0,0 +1,371 @@ + + + + + +mod_isapi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_isapi

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + + + +
Description:ISAPI Extensions within Apache for Windows
Status:Base
Module Identifier:isapi_module
Source File:mod_isapi.c
Compatibility:Win32 only
+

Summary

+ +

This module implements the Internet Server extension API. It + allows Internet Server extensions (e.g. ISAPI .dll + modules) to be served by Apache for Windows, subject to the + noted restrictions.

+ +

ISAPI extension modules (.dll files) are written by third + parties. The Apache Group does not author these modules, so we + provide no support for them. Please contact the ISAPI's author + directly if you are experiencing problems running their ISAPI + extension. Please do not post such problems to + Apache's lists or bug reporting pages.

+
+ +
top
+
+

Usage

+ +

In the server configuration file, use + the AddHandler directive to + associate ISAPI files with the isapi-handler handler, and map + it to them with their file extensions. To enable any .dll file to be + processed as an ISAPI extension, edit the httpd.conf file and add the + following line:

+
AddHandler isapi-handler .dll
+ + +
In older versions of the Apache server, + isapi-isa was the proper handler name, rather than + isapi-handler. As of 2.3 development versions of the Apache + server, isapi-isa is no longer valid. You will need to + change your configuration to use isapi-handler + instead.
+ +

There is no capability within the Apache server to leave a + requested module loaded. However, you may preload and keep a + specific module loaded by using the following syntax in your + httpd.conf:

+
ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
+ + +

Whether or not you have preloaded an ISAPI extension, all + ISAPI extensions are governed by the same permissions and + restrictions as CGI scripts. That is, Options ExecCGI must be set for the + directory that contains the ISAPI .dll file.

+ +

Review the Additional Notes and the Programmer's Journal for additional details + and clarification of the specific ISAPI support offered by + mod_isapi.

+
top
+
+

Additional Notes

+ +

Apache's ISAPI implementation conforms to all of the ISAPI + 2.0 specification, except for some "Microsoft-specific" + extensions dealing with asynchronous I/O. Apache's I/O model + does not allow asynchronous reading and writing in a manner + that the ISAPI could access. If an ISA tries to access + unsupported features, including async I/O, a message is placed + in the error log to help with debugging. Since these messages + can become a flood, the directive ISAPILogNotSupported + Off exists to quiet this noise.

+ +

Some servers, like Microsoft IIS, load the ISAPI extension + into the server and keep it loaded until memory usage is too + high, or unless configuration options are specified. Apache + currently loads and unloads the ISAPI extension each time it is + requested, unless the ISAPICacheFile directive is specified. + This is inefficient, but Apache's memory model makes this the + most effective method. Many ISAPI modules are subtly + incompatible with the Apache server, and unloading these + modules helps to ensure the stability of the server.

+ +

Also, remember that while Apache supports ISAPI Extensions, + it does not support ISAPI Filters. Support for + filters may be added at a later date, but no support is planned + at this time.

+
top
+
+

Programmer's Journal

+ +

If you are programming Apache 2.0 mod_isapi + modules, you must limit your calls to ServerSupportFunction + to the following directives:

+ +
+
HSE_REQ_SEND_URL_REDIRECT_RESP
+
Redirect the user to another location.
+ This must be a fully qualified URL (e.g. + http://server/location).
+ +
HSE_REQ_SEND_URL
+
Redirect the user to another location.
+ This cannot be a fully qualified URL, you are not allowed to + pass the protocol or a server name (e.g. simply + /location).
+ This redirection is handled by the server, not the + browser.
+

Warning

+

In their recent documentation, Microsoft appears to have + abandoned the distinction between the two + HSE_REQ_SEND_URL functions. Apache continues to treat + them as two distinct functions with different requirements + and behaviors.

+
+ +
HSE_REQ_SEND_RESPONSE_HEADER
+
Apache accepts a response body following the header if it + follows the blank line (two consecutive newlines) in the + headers string argument. This body cannot contain NULLs, + since the headers argument is NULL terminated.
+ +
HSE_REQ_DONE_WITH_SESSION
+
Apache considers this a no-op, since the session will be + finished when the ISAPI returns from processing.
+ +
HSE_REQ_MAP_URL_TO_PATH
+
Apache will translate a virtual name to a physical + name.
+ +
HSE_APPEND_LOG_PARAMETER
+
+ This logged message may be captured in any of the following + logs: + + + +

The first option, the %{isapi-parameter}n component, + is always available and preferred.

+
+ +
HSE_REQ_IS_KEEP_CONN
+
Will return the negotiated Keep-Alive status.
+ +
HSE_REQ_SEND_RESPONSE_HEADER_EX
+
Will behave as documented, although the fKeepConn + flag is ignored.
+ +
HSE_REQ_IS_CONNECTED
+
Will report false if the request has been aborted.
+
+ +

Apache returns FALSE to any unsupported call to + ServerSupportFunction, and sets the + GetLastError value to + ERROR_INVALID_PARAMETER.

+ +

ReadClient retrieves the request body exceeding the + initial buffer (defined by ISAPIReadAheadBuffer). Based on the + ISAPIReadAheadBuffer setting (number of bytes + to buffer prior to calling the ISAPI handler) shorter requests are sent + complete to the extension when it is invoked. If the request is + longer, the ISAPI extension must use ReadClient to + retrieve the remaining request body.

+ +

WriteClient is supported, but only with the + HSE_IO_SYNC flag or no option flag (value of + 0). Any other WriteClient request + will be rejected with a return value of FALSE, and a + GetLastError value of + ERROR_INVALID_PARAMETER.

+ +

GetServerVariable is supported, although extended server + variables do not exist (as defined by other servers.) All the + usual Apache CGI environment variables are available from + GetServerVariable, as well as the ALL_HTTP + and ALL_RAW values.

+ +

Since httpd 2.0, mod_isapi supports additional + features introduced in later versions of the ISAPI specification, + as well as limited emulation of async I/O and the + TransmitFile semantics. Apache httpd also supports preloading + ISAPI .dlls for performance.

+
+
top
+

ISAPIAppendLogToErrors Directive

+ + + + + + + + +
Description:Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
Syntax:ISAPIAppendLogToErrors on|off
Default:ISAPIAppendLogToErrors off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_isapi
+

Record HSE_APPEND_LOG_PARAMETER requests from ISAPI + extensions to the server error log.

+ +
+
top
+

ISAPIAppendLogToQuery Directive

+ + + + + + + + +
Description:Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
Syntax:ISAPIAppendLogToQuery on|off
Default:ISAPIAppendLogToQuery on
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_isapi
+

Record HSE_APPEND_LOG_PARAMETER requests from ISAPI + extensions to the query field (appended to the CustomLog %q + component).

+ +
+
top
+

ISAPICacheFile Directive

+ + + + + + +
Description:ISAPI .dll files to be loaded at startup
Syntax:ISAPICacheFile file-path [file-path] +...
Context:server config, virtual host
Status:Base
Module:mod_isapi
+

Specifies a space-separated list of file names to be loaded + when the Apache server is launched, and remain loaded until the + server is shut down. This directive may be repeated for every + ISAPI .dll file desired. The full path name of each file should + be specified. If the path name is not absolute, it will be treated + relative to ServerRoot.

+ +
+
top
+

ISAPIFakeAsync Directive

+ + + + + + + + +
Description:Fake asynchronous support for ISAPI callbacks
Syntax:ISAPIFakeAsync on|off
Default:ISAPIFakeAsync off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_isapi
+

While set to on, asynchronous support for ISAPI callbacks is + simulated.

+ +
+
top
+

ISAPILogNotSupported Directive

+ + + + + + + + +
Description:Log unsupported feature requests from ISAPI +extensions
Syntax:ISAPILogNotSupported on|off
Default:ISAPILogNotSupported off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_isapi
+

Logs all requests for unsupported features from ISAPI + extensions in the server error log. This may help administrators + to track down problems. Once set to on and all desired ISAPI modules + are functioning, it should be set back to off.

+ +
+
top
+

ISAPIReadAheadBuffer Directive

+ + + + + + + + +
Description:Size of the Read Ahead Buffer sent to ISAPI +extensions
Syntax:ISAPIReadAheadBuffer size
Default:ISAPIReadAheadBuffer 49152
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_isapi
+

Defines the maximum size of the Read Ahead Buffer sent to + ISAPI extensions when they are initially invoked. All remaining + data must be retrieved using the ReadClient callback; some + ISAPI extensions may not support the ReadClient function. + Refer questions to the ISAPI extension's author.

+ +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.html.fr.utf8 b/docs/manual/mod/mod_isapi.html.fr.utf8 new file mode 100644 index 0000000..7155c99 --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.fr.utf8 @@ -0,0 +1,393 @@ + + + + + +mod_isapi - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_isapi

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + + +
Description:Extensions ISAPI dans Apache pour Windows
Statut:Base
Identificateur de Module:isapi_module
Fichier Source:mod_isapi.c
Compatibilité:Win32 only
+

Sommaire

+ +

Ce module implémente l'API des extensions du Serveur Internet. Il + permet à Apache pour Windows de servir les extensions du Serveur + Internet (par exemple les modules .dll ISAPI), compte tenu des + restrictions spécifiées.

+ +

Les modules d'extension ISAPI (fichiers .dll) sont des modules + tiers. Leur auteur n'est pas le Groupe Apache, et nous n'assurons + donc pas leur support. Veuillez contacter directement l'auteur + d'ISAPI si vous rencontrez des problèmes à l'exécution d'une + extension ISAPI. Merci de ne pas soumettre ce genre + de problème dans les listes d'Apache ou dans les pages de rapports + de bogues.

+
+ +
top
+
+

Utilisation

+ +

Dans le fichier de configuration du serveur, utilisez la + directive AddHandler pour + associer les fichiers ISAPI au gestionnaire + isapi-handler à l'aide de l'extension de leur nom de + fichier. Pour faire en sorte que tout fichier .dll soit traité en + tant qu'extension ISAPI, éditez le fichier httpd.conf et ajoutez les + lignes suivantes :

+
AddHandler isapi-handler .dll
+ + +
Dans les versions plus anciennes du serveur Apache, le nom du + gestionnaire était isapi-isa au lieu de + isapi-handler. Depuis les versions de développement 2.3 + du serveur Apache, isapi-isa n'est plus valide, et vous + devrez éventuellement modifier votre configuration pour utiliser + isapi-handler à la place.
+ +

Le serveur Apache ne propose aucun moyen de conserver en mémoire + un module chargé. Vous pouvez cependant précharger et garder un + module spécifique en mémoire en utilisant la syntaxe suivante dans + votre httpd.conf :

+
ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
+ + +

Que vous ayez ou non préchargé une extension ISAPI, ces dernières + sont toutes soumises au mêmes restrictions et possèdent les mêmes + permissions que les scripts CGI. En d'autres termes, Options ExecCGI doit être + défini pour le répertoire qui contient le fichier .dll ISAPI.

+ +

Reportez-vous aux Notes additionnelles et au + Journal du programmeur pour plus de détails + et une clarification à propos du support spécifique ISAPI fourni par + le module mod_isapi.

+
top
+
+

Notes additionnelles

+ +

L'implémentation ISAPI d'Apache se conforme à toutes les + spécifications ISAPI 2.0, à l'exception de certaines extensions + "spécifiques Microsoft" utilisant des entrées/sorties asynchrones. + Le modèle des entrées/sorties d'Apache ne permet pas l'écriture et + la lecture asynchrone de la manière dont ISAPI pourrait le faire. Si + une extension tente d'utiliser des fonctionnalités non supportées, + comme les entrées/sorties asynchrones, un message est enregistré + dans le journal des erreurs afin d'aider au débogage. Comme ces + messages peuvent devenir envahissants, la directive + ISAPILogNotSupported Off permet de filter ce bruit de + fond.

+ +

Si aucune option de configuration particulière n'est spécifiée, + certains serveurs, comme Microsoft IIS, chargent l'extension ISAPI + dans le serveur et la conservent en mémoire jusqu'à ce que + l'utilisation de cette dernière devienne trop élevée. Apache, par + contre, charge et décharge réellement l'extension ISAPI chaque fois + qu'elle est invoquée, si la directive ISAPICacheFile n'a pas été spécifiée. + Ce n'est pas très performant, mais le modèle de mémoire d'Apache + fait que cette méthode est la plus efficace. De nombreux modules + ISAPI présentent des incompatibilités subtiles avec le serveur + Apache, et le déchargement de ces modules permet d'assurer la + stabilité du serveur.

+ +

En outre, gardez à l'esprit que si Apache supporte les extensions + ISAPI, il ne supporte pas les filtres ISAPI. Le + support des filtres sera peut-être ajouté dans le futur, mais n'a + pas encore été planifié.

+
top
+
+

Journal du programmeur

+ +

Si vous écrivez des modules mod_isapi Apache + 2.0, vous devez limiter vos appels à + ServerSupportFunction aux directives suivantes :

+ +
+
HSE_REQ_SEND_URL_REDIRECT_RESP
+
Redirige l'utilisateur vers une autre adresse.
+ Il doit s'agir d'une URL pleinement qualifiée (comme + http://serveur/chemin).
+ +
HSE_REQ_SEND_URL
+
Redirige l'utilisateur vers une autre adresse.
+ Ce ne doit pas être une URL pleinement qualifiée ; la mention du + protocole ou du nom du serveur n'est pas autorisée (par exemple, + utilisez simplement /chemin).
+ La redirection n'est pas assurée par le navigateur mais par le + serveur lui-même.
+

Avertissement

+

Dans sa documentation récente, Microsoft semble avoir + abandonné la distinction entre les deux fonctions + HSE_REQ_SEND_URL. Apache, quant à lui, continue de + les traiter comme deux fonctions distinctes avec des contraintes + et des comportements spécifiques.

+
+ +
HSE_REQ_SEND_RESPONSE_HEADER
+
Apache accepte un corps de réponse après l'en-tête s'il se + situe après la ligne vide (deux caractères newline consécutifs) + dans la chaîne des arguments d'en-têtes. Ce corps ne doit pas + contenir de caractères NULL, car l'argument des en-têtes est + lui-même terminé par un caractère NULL.
+ +
HSE_REQ_DONE_WITH_SESSION
+
Apache considère ceci comme sans objet, car la session est + fermée lorsque l'extension ISAPI termine son traitement.
+ +
HSE_REQ_MAP_URL_TO_PATH
+
Apache va traduire un nom virtuel en nom physique.
+ +
HSE_APPEND_LOG_PARAMETER
+
+ Ce paramètre peut intervenir dans un de ces journaux : + + + +

La première option, le composant + %{isapi-parameter}n, est préférable et toujours + disponible.

+
+ +
HSE_REQ_IS_KEEP_CONN
+
retourne le statut négocié Keep-Alive.
+ +
HSE_REQ_SEND_RESPONSE_HEADER_EX
+
se comportera comme indiqué dans le documentation, bien que le + drapeau fKeepConn soit ignoré.
+ +
HSE_REQ_IS_CONNECTED
+
renverra faux si la requête a été abandonnée.
+
+ +

Apache renvoie FALSE pour tout appel non supporté à + ServerSupportFunction, et GetLastError + renverra la valeur ERROR_INVALID_PARAMETER.

+ +

ReadClient extrait la partie du corps de la requête + qui dépasse le tampon initial (défini par la directive ISAPIReadAheadBuffer). En fonction de + la définition de la directive + ISAPIReadAheadBuffer (nombre d'octets à + mettre dans le tampon avant d'appeler le gestionnaire ISAPI), les + requêtes courtes sont envoyées en entier à l'extension lorsque + celle-ci est invoquée. Si la taille de la requête est trop + importante, l'extension ISAPI doit faire appel à + ReadClient pour extraire la totalité du corps de la + requête.

+ +

WriteClient est supporté, mais seulement avec le + drapeau HSE_IO_SYNC ou le drapeau "aucune option" + (valeur 0). Toute autre requête + WriteClient sera rejetée avec une valeur de retour + FALSE, et GetLastError renverra la valeur + ERROR_INVALID_PARAMETER

+ +

GetServerVariable est supporté, bien que les + variables étendues de serveur n'existent pas (comme défini par + d'autres serveurs). Toutes les variables d'environnement CGI + usuelles d'Apache sont disponibles à partir de + GetServerVariable, ainsi que les valeurs + ALL_HTTP et ALL_RAW.

+ +

Depuis httpd 2.0, mod_isapi propose des + fonctionnalités supplémentaires introduites dans les versions + actualisées de la spécification ISAPI, ainsi qu'une émulation + limitée des entrées/sorties asynchrones et la sémantique + TransmitFile. Apache httpd supporte aussi le préchargement + des .dlls ISAPI à des fins de performances.

+
+
top
+

Directive ISAPIAppendLogToErrors

+ + + + + + + + +
Description:Enregistrement des requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans le journal des erreurs
Syntaxe:ISAPIAppendLogToErrors on|off
Défaut:ISAPIAppendLogToErrors off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet d'enregistrer les requêtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans le journal des erreurs.

+ +
+
top
+

Directive ISAPIAppendLogToQuery

+ + + + + + + + +
Description:Enregistre les requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans la partie arguments de la requête
Syntaxe:ISAPIAppendLogToQuery on|off
Défaut:ISAPIAppendLogToQuery on
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet d'enregistrer les requêtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans la partie arguments de la requête (ajouté au composant + %q de la directive CustomLog).

+ +
+
top
+

Directive ISAPICacheFile

+ + + + + + +
Description:Fichiers .dll ISAPI devant être chargés au +démarrage
Syntaxe:ISAPICacheFile chemin-fichier +[chemin-fichier] +...
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_isapi
+

Cette directive permet de spécifier une liste, séparés par des + espaces, de noms de fichiers devant être chargés au démarrage + du serveur Apache, et rester en mémoire jusqu'à l'arrêt du serveur. + Cette directive peut être répétée pour chaque fichier .dll ISAPI + souhaité. Le chemin complet du fichier doit être spécifié. Si le + chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive ServerRoot.

+ +
+
top
+

Directive ISAPIFakeAsync

+ + + + + + + + +
Description:Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI
Syntaxe:ISAPIFakeAsync on|off
Défaut:ISAPIFakeAsync off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_isapi
+

Lorsquelle est définie à "on", cette directive permet d'émuler le + support des entrées/sorties asynchrones pour les appels ISAPI.

+ +
+
top
+

Directive ISAPILogNotSupported

+ + + + + + + + +
Description:Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI
Syntaxe:ISAPILogNotSupported on|off
Défaut:ISAPILogNotSupported off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet d'enregistrer dans le journal des erreurs + toutes les demandes de fonctionnalités non supportées de la part des + extensions ISAPI. Ceci peut aider les administrateurs à décortiquer + certains problèmes. Lorsqu'elle a été définie à "on" et si tous les + modules ISAPI fonctionnent, elle peut être redéfinie à "off".

+ +
+
top
+

Directive ISAPIReadAheadBuffer

+ + + + + + + + +
Description:Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI
Syntaxe:ISAPIReadAheadBuffer taille
Défaut:ISAPIReadAheadBuffer 49152
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet de définir la taille maximale du tampon de + lecture anticipée envoyé aux extensions ISAPI lorsqu'elles sont + initialement invoquées. Toute donnée restante doit être extraite en + faisant appel à ReadClient ; certaines extensions ISAPI + peuvent ne pas supporter la fonction ReadClient. + Pour plus de détails, veuillez vous adresser à l'auteur de + l'extension ISAPI.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.html.ko.euc-kr b/docs/manual/mod/mod_isapi.html.ko.euc-kr new file mode 100644 index 0000000..6bf0cb9 --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.ko.euc-kr @@ -0,0 +1,349 @@ + + + + + +mod_isapi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_isapi

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:Windows¿ë ¾ÆÆÄÄ¡¿¡¼­ ISAPI Extension »ç¿ë
»óÅÂ:Base
¸ðµâ¸í:isapi_module
¼Ò½ºÆÄÀÏ:mod_isapi.c
Áö¿ø:Win32 only
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº Internet Server extension API¸¦ ±¸ÇöÇÑ´Ù. ±×·¡¼­ + Á¦¾àÀº ÀÖÁö¸¸ Windows¿ë ¾ÆÆÄÄ¡¿¡¼­ Internet Server extensionÀ» + (Áï, ISAPI .dll ¸ðµâ) »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

ISAPI extension ¸ðµâ(.dll ÆÄÀÏ)Àº Á¦»ïÀÚ°¡ ÀÛ¼ºÇÑ´Ù. + Apache GroupÀÌ ÀÌµé ¸ðµâÀ» ¸¸µéÁö ¾Ê¾ÒÀ¸¸ç, Áö¿øµµ ÇÏÁö + ¾Ê´Â´Ù. ISAPI extension »ç¿ë¿¡ °üÇÑ ¹®Á¦´Â ISAPI Á¦ÀÛÀÚ¿¡°Ô + Á÷Á¢ ¿¬¶ôÇÏ±æ ¹Ù¶õ´Ù. Á¦¹ß ÀÌ·± ¹®Á¦¸¦ ¾ÆÆÄÄ¡ + ¸ÞÀϸµ¸®½ºÆ®³ª ¹ö±×º¸°í ÆäÀÌÁö¿¡ ¿Ã¸®Áö ¸¶¶ó.

+
+ +
top
+
+

»ç¿ë¹ý

+ +

¼­¹ö¼³Á¤ÆÄÀÏ¿¡¼­ AddHandler Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + ISAPI ÆÄÀÏ È®ÀåÀÚ¿Í isapi-handler Çڵ鷯¸¦ ¿¬°áÇÑ´Ù. + .dll ÆÄÀÏÀ» ISAPI extensionÀ¸·Î ó¸®ÇÏ·Á¸é httpd.conf ÆÄÀÏ¿¡ + ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇÑ´Ù.

+

+ AddHandler isapi-handler .dll +

+ +

¾ÆÆÄÄ¡ ¼­¹ö´Â ¿äûÇÑ ¸ðµâÀ» ¸Þ¸ð¸®¿¡ °è¼Ó µÑ ¼ö ¾ø´Ù. + ±×·¯³ª httpd.conf¿¡¼­ ´ÙÀ½°ú °°Àº ¼³Á¤À¸·Î ƯÁ¤ ¸ðµâÀ» ¹Ì¸® + ÀоîµéÀÏ ¼ö´Â ÀÖ´Ù.

+

+ ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll +

+ +

ISAPI extensionÀ» ¹Ì¸® ÀоîµéÀÌ´øÁö ¹Ì¸® ÀоîµéÀÌÁö ¾Ê´øÁö + °ü°è¾øÀÌ ISAPI extensionÀº CGI ½ºÅ©¸³Æ®¿Í µ¿ÀÏÇÑ ±ÇÇÑ°ú + Á¦¾àÀ» µû¸¥´Ù. Áï, ISAPI .dll ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿¡ Options ExecCGI°¡ + ÇÊ¿äÇÏ´Ù.

+ +

mod_isapiÀÇ ISAPI Áö¿ø¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ + ³»¿ë°ú ¼³¸íÀº Ãß°¡ ¼³¸í°ú °³¹ßÀÚ Á¤º¸¸¦ Âü°íÇ϶ó.

+
top
+
+

Ãß°¡ ¼³¸í

+ +

¾ÆÆÄÄ¡ ISAPI ±¸ÇöÀº ºñµ¿±â ÀÔÃâ·Â¿¡ ´ëÇÑ "¸¶ÀÌÅ©·Î¼ÒÇÁÆ® + ƯÀ¯ÀÇ" È®Àå±â´ÉÀ» Á¦¿ÜÇÑ ISAPI 2.0 ±Ô¾àÀ» ¸ðµÎ ¸¸Á·ÇÑ´Ù. + ¾ÆÆÄÄ¡ÀÇ ÀÔÃâ·Â ±¸Á¶·Î´Â ISAPI°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ½ÄÀ¸·Î + ºñµ¿±â ÀÔÃâ·ÂÀ» ÇÒ ¼ö ¾ø´Ù. ISA°¡ ºñµ¿±â ÀÔÃâ·Â°ú °°ÀÌ Áö¿øÇÏÁö + ¾Ê´Â ±â´ÉÀ» »ç¿ëÇÏ·Á ÇÑ´Ù¸é, µð¹ö±ë¿¡ µµ¿òÀ» ÁÖ±âÀ§ÇØ ¿À·ù + ·Î±×¿¡ ±â·ÏÀ» ³²±ä´Ù. ·Î±×°¡ ¸Å¿ì Ä¿Áú ¼ö Àֱ⶧¹®¿¡ + ISAPILogNotSupported Off Áö½Ã¾î¸¦ »ç¿ëÇϸé + ·Î±×¿¡ ±â·ÏÇÏÁö ¾Ê´Â´Ù.

+ +

Microsoft IIS¿Í °°Àº ¼­¹ö´Â ISAPI extensionÀ» ¸Þ¸ð¸®·Î + Àоîµé¿©¼­ ¸Þ¸ð¸® »ç¿ë·®ÀÌ ¸Å¿ì ¸¹Áö ¾Ê°Å³ª Ưº°È÷ ¼³Á¤ÇÏÁö + ¾Ê´ÂÇÑ ±×´ë·Î ¸Þ¸ð¸®¿¡ µÐ´Ù. ¾ÆÆÄÄ¡´Â ÇöÀç ISAPICacheFile Áö½Ã¾î¸¦ »ç¿ëÇÏÁö + ¾Ê´Â´Ù¸é ¿äûÀ» ¹ÞÀ»¶§¸¶´Ù ISAPI extensionÀ» ¸Þ¸ð¸®¿¡ ÀоîµéÀÌ°í + ¹ö¸°´Ù. ºñÈ¿À²ÀûÀÌÁö¸¸, ¾ÆÆÄÄ¡ÀÇ ¸Þ¸ð¸® ±¸Á¶»ó ÀÌ°ÍÀÌ °¡Àå + È¿À²ÀûÀÎ ¹æ¹ýÀÌ´Ù. ¿©·¯ ISAPI ¸ðµâÀÌ ¾ÆÆÄÄ¡ ¼­¹ö¿Í ¾à°£ + ȣȯÀÌ ¾È¸Â±â¶§¹®¿¡ ¼­¹öÀÇ ¾ÈÁ¤¼ºÀ» À§ÇØ ¸ðµâÀ» ¸Þ¸ð¸®¿¡¼­ + ¹ö¸°´Ù.

+ +

¶Ç, ¾ÆÆÄÄ¡´Â ISAPI ExtensionÀ» Áö¿øÇÏÁö¸¸, ISAPI + Filter¸¦ Áö¿øÇÏÁö ¾ÊÀ½À» ±â¾ïÇ϶ó. ³ªÁß¿¡ ÇÊÅ͸¦ + Áö¿øÇÒ ¼ö ÀÖÁö¸¸, ÇöÀç´Â °èȹÀÌ ¾ø´Ù.

+
top
+
+

°³¹ßÀÚ Á¤º¸

+ +

¾ÆÆÄÄ¡ 2.0 mod_isapi ¸ðµâÀ» ÇÁ·Î±×·¡¹ÖÇÑ´Ù¸é, + ServerSupportFunction È£ÃâÀ» ´ÙÀ½ Áö½Ã¾î·Î + Á¦ÇÑÇØ¾ß ÇÑ´Ù.

+ +
+
HSE_REQ_SEND_URL_REDIRECT_RESP
+
»ç¿ëÀÚ¸¦ ´Ù¸¥ À§Ä¡·Î ¸®´ÙÀÌ·º¼ÇÇÑ´Ù.
+ ¿ÏÀüÇÑ URLÀ» »ç¿ëÇØ¾ß ÇÑ´Ù (¿¹¸¦ µé¾î, + http://server/location).
+ +
HSE_REQ_SEND_URL
+
»ç¿ëÀÚ¸¦ ´Ù¸¥ À§Ä¡·Î ¸®´ÙÀÌ·º¼ÇÇÑ´Ù.
+ ¿ÏÀüÇÑ URLÀÌ ¾Æ´Ï¸ç, ÇÁ·ÎÅäÄÝ°ú ¼­¹ö¸íÀ» ³Ñ±æ ¼ö ¾ø´Ù + (¿¹¸¦ µé¾î, /location°°Àº °Í¸¸ °¡´É).
+ ºê¶ó¿ìÀú°¡ ¾Æ´Ï¶ó ¼­¹ö°¡ ¸®´ÙÀÌ·º¼ÇÀ» ó¸®ÇÑ´Ù.
+

°æ°í

+

ÃÖ±Ù ¹®¼­¸¦ º¸¸é Microsoft°¡ µÎ HSE_REQ_SEND_URL + ±â´É°£ÀÇ Â÷À̸¦ ¾ø¾Ø °Íó·³ º¸ÀδÙ. ¾ÆÆÄÄ¡´Â °è¼Ó ÀÌ + µÑÀÇ ¾Æ±Ô¸ÕÆ® Á¶°Ç°ú ÇൿÀ» ´Ù¸£°Ô ó¸®ÇÒ °ÍÀÌ´Ù.

+
+ +
HSE_REQ_SEND_RESPONSE_HEADER
+
headers ¹®ÀÚ¿­ ¾Æ±Ô¸ÕÆ®¿¡ ºóÁÙÀÌ (Áٹٲ޹®ÀÚ°¡ µÎ¹ø + ¿¬¼Ó) ÀÖ´Ù¸é ¾ÆÆÄÄ¡´Â Çì´õ ´ÙÀ½ ³»¿ëÀ» ÀÀ´ä ³»¿ëÀ¸·Î »ç¿ëÇÑ´Ù. + headers ¾Æ±Ô¸ÕÆ®°¡ NULL·Î ³¡³ª±â¶§¹®¿¡, ÀÀ´ä ³»¿ë¿¡ NULLÀ» + »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
HSE_REQ_DONE_WITH_SESSION
+
ISAPI°¡ 󸮸¦ ¸¶Ä¡¸é ¼¼¼ÇÀÌ ³¡³ª±â¶§¹®¿¡ ¾ÆÆÄÄ¡´Â + ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù.
+ +
HSE_REQ_MAP_URL_TO_PATH
+
¾ÆÆÄÄ¡´Â °¡»ó À̸§À» ¹°¸®Àû(½ÇÁ¦) À̸§À¸·Î º¯È¯ÇÑ´Ù.
+ +
HSE_APPEND_LOG_PARAMETER
+
+ ¹®±¸¸¦ ¾Æ·¡ ·Î±×Áß ÇÑ°÷¿¡ ³²±ä´Ù. + + + +

ù¹ø°·Î ³ª¿Â %{isapi-parameter}n Ç׸ñÀº + ¾ðÁ¦³ª »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ±ÇÀåÇÑ´Ù.

+
+ +
HSE_REQ_IS_KEEP_CONN
+
Çù»óµÈ Keep-Alive »óŸ¦ ¹ÝȯÇÑ´Ù.
+ +
HSE_REQ_SEND_RESPONSE_HEADER_EX
+
fKeepConn ¿É¼ÇÀ» ¹«½ÃÇÏ´Â °ÍÀ» Á¦¿ÜÇÏ°í´Â + ¹®¼­¿¡ ³ª¿Âµ¥·Î µ¿ÀÛÇÑ´Ù.
+ +
HSE_REQ_IS_CONNECTED
+
¿äûÀÌ Áß°£¿¡ ²÷¾îÁ³´Ù¸é false¸¦ ¹ÝȯÇÑ´Ù.
+
+ +

Áö¿øÇÏÁö ¾Ê´Â ServerSupportFunction È£ÃâÀ» + ÇÏ¸é ¾ÆÆÄÄ¡´Â FALSE¸¦ ¹ÝȯÇÏ°í + GetLastError °ªÀ» + ERROR_INVALID_PARAMETER·Î ¼³Á¤ÇÑ´Ù.

+ +

ReadClient´Â (ISAPIReadAheadBuffer·Î Á¤ÀÇÇÑ) + Ãʱâ¹öÆÛÅ©±â¸¦ ³Ñ¾î¼± ¿äû ³»¿ëÀ» °¡Á®¿Â´Ù. + ISAPIReadAheadBuffer ¼³Á¤ (ISAPI + Çڵ鷯¸¦ ºÎ¸£±âÀü ¹öÆÛÀÇ ¹ÙÀÌÆ®¼ö) º¸´Ù ªÀº ¿äûÀº extensionÀ» + ºÎ¸¦¶§ ÀüºÎ Àü´ÞµÈ´Ù. ¿äûÀÌ ±æ¸é, ISAPI extensionÀº + ReadClient·Î ³ª¸ÓÁö ¿äû ³»¿ëÀ» °¡Á®¿Í¾ß ÇÑ´Ù.

+ +

WriteClient¸¦ Áö¿øÇÏÁö¸¸, + HSE_IO_SYNC ¿É¼Ç¸¸ »ç¿ëÇϰųª (0 + °ª) ¾Æ¹« ¿É¼Çµµ »ç¿ëÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. ´Ù¸¥ + WriteClient ¿äûÀº FALSE¸¦ ¹ÝȯÇϸç + ½ÇÆÐÇÏ°í, GetLastError °ªÀº + ERROR_INVALID_PARAMETER°¡ µÈ´Ù.

+ +

GetServerVariableÀº Áö¿øÇÏÁö¸¸, (´Ù¸¥ ¼­¹ö¿¡¼­ + Á¤ÀÇÇÏ´Â) È®Àå ¼­¹öº¯¼ö´Â ¾ø´Ù. + GetServerVariable¿¡¼­ ¸ðµç ÀϹÝÀûÀÎ ¾ÆÆÄÄ¡ + CGI ȯ°æº¯¼ö¿Í ALL_HTTP, ALL_RAW + °ªÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¾ÆÆÄÄ¡ 2.0 mod_isapi´Â ÀÌÈÄ ISAPI ±Ô¾à¿¡ + ³ª¿Â Ãß°¡ ±â´ÉÀ» Áö¿øÇÏ°í, ºñµ¿±â ÀÔÃâ·Â°ú + TransmitFile ±â´ÉÀ» Á¶±Ý Èä³»³½´Ù. ¶Ç, ISAPI + .dllÀ» ¹Ì¸® Àоîµé¿©¼­ ¼º´ÉÀ» ³ôÀÌ´Â ¾ÆÆÄÄ¡ 1.3 + mod_isapi¿¡´Â ¾ø´Â ±â´ÉÀ» Áö¿øÇÑ´Ù.

+
+
top
+

ISAPIAppendLogToErrors Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ISAPI exntensionÀÇ HSE_APPEND_LOG_PARAMETER +¿äûÀ» ¿À·ù ·Î±×¿¡ ±â·ÏÇÑ´Ù
¹®¹ý:ISAPIAppendLogToErrors on|off
±âº»°ª:ISAPIAppendLogToErrors off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_isapi
+

ISAPI exntensionÀÇ HSE_APPEND_LOG_PARAMETER + ¿äûÀ» ¿À·ù ·Î±×¿¡ ±â·ÏÇÑ´Ù.

+ +
+
top
+

ISAPIAppendLogToQuery Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ISAPI exntensionÀÇ HSE_APPEND_LOG_PARAMETER +¿äûÀ» ÁúÀǹ®ÀÚ¿­¿¡ ±â·ÏÇÑ´Ù
¹®¹ý:ISAPIAppendLogToQuery on|off
±âº»°ª:ISAPIAppendLogToQuery on
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_isapi
+

ISAPI exntensionÀÇ HSE_APPEND_LOG_PARAMETER + ¿äûÀ» ÁúÀǹ®ÀÚ¿­¿¡ ±â·ÏÇÑ´Ù (CustomLog %q + Ç׸ñ¿¡ µ¡ºÙÀδÙ).

+ +
+
top
+

ISAPICacheFile Áö½Ã¾î

+ + + + + + +
¼³¸í:¼­¹ö°¡ ½ÃÀÛÇÒ¶§ ¸Þ¸ð¸®·Î ÀоîµéÀÏ ISAPI .dll ÆÄÀϵé
¹®¹ý:ISAPICacheFile file-path [file-path] +...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_isapi
+

¾ÆÆÄÄ¡ ¼­¹ö°¡ ½ÃÀÛÇÒ¶§ ¸Þ¸ð¸®·Î Àоîµé¿©¼­ ¼­¹ö¸¦ Á¾·áÇÒ¶§±îÁö + ¸Þ¸ð¸®¿¡ ³²¾ÆÀÖÀ» ÆÄÀϸíÀ» °ø¹éÀ¸·Î ±¸ºÐÇÏ¿© ÁöÁ¤ÇÑ´Ù. ÀÌ + Áö½Ã¾î´Â ISAPI .dll ÆÄÀϺ°·Î ¿©·¯¹ø »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏÀÇ + Àüü °æ·Î¸¦ Àû´Â´Ù. Àý´ë °æ·Î°¡ ¾Æ´Ï¸é ServerRoot¿¡ »ó´ë °æ·Î·Î ¹Þ¾ÆµéÀδÙ.

+ +
+
top
+

ISAPIFakeAsync Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ºñµ¿±â ISAPI ÄݹéÀ» Áö¿øÇϴ ôÇÑ´Ù
¹®¹ý:ISAPIFakeAsync on|off
±âº»°ª:ISAPIFakeAsync off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_isapi
+

onÀ¸·Î ¼³Á¤ÇÏ¸é ºñµ¿±â ISAPI Äݹé Áö¿øÀ» Èä³»³½´Ù.

+ +
+
top
+

ISAPILogNotSupported Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ISAPI extensionÀÌ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀ» ¿äûÇϸé +·Î±×¿¡ ±â·ÏÇÑ´Ù
¹®¹ý:ISAPILogNotSupported on|off
±âº»°ª:ISAPILogNotSupported off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_isapi
+

ISAPI extensionÀÌ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀ» ¿äûÇÏ¸é ¼­¹ö + ¿À·ù ·Î±×¿¡ ±â·ÏÇÑ´Ù. ³ªÁß¿¡ °ü¸®ÀÚ°¡ ¹®Á¦¸¦ ÃßÀûÇϴµ¥ + µµ¿òÀÌ µÈ´Ù. ¿øÇÏ´Â ¸ðµç ISAPI ¸ðµâÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϸé + ´Ù½Ã off·Î µÇµ¹·Á¾ß ÇÑ´Ù.

+ +
+
top
+

ISAPIReadAheadBuffer Áö½Ã¾î

+ + + + + + + + +
¼³¸í:ISAPI extensionÀÇ ¹Ì¸®Àбâ¹öÆÛ(read ahead buffer) +Å©±â
¹®¹ý:ISAPIReadAheadBuffer size
±âº»°ª:ISAPIReadAheadBuffer 49152
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_isapi
+

ISAPI extensionÀ» óÀ½ È£ÃâÇÒ¶§ ¹Ì¸®Àбâ¹öÆÛÀÇ ÃÖ´ë Å©±â¸¦ + ÁöÁ¤ÇÑ´Ù. (ÀÌ Å©±âº¸´Ù Å«) ³ª¸ÓÁö ÀÚ·á´Â ReadClient + ÄݹéÀ» »ç¿ëÇÏ¿© Àоî¾ß ÇÑ´Ù. ¾î¶² ISAPI extensionÀº + ReadClient ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ÀÌ °æ¿ì + ISAPI extension Á¦ÀÛÀÚ¿¡°Ô ¹®ÀÇÇ϶ó.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html b/docs/manual/mod/mod_lbmethod_bybusyness.html new file mode 100644 index 0000000..7aa3f70 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_bybusyness.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_bybusyness.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html.en b/docs/manual/mod/mod_lbmethod_bybusyness.html.en new file mode 100644 index 0000000..b4f70bc --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html.en @@ -0,0 +1,103 @@ + + + + + +mod_lbmethod_bybusyness - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_lbmethod_bybusyness

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
Status:Extension
Module Identifier:lbmethod_bybusyness_module
Source File:mod_lbmethod_bybusyness.c
Compatibility:Split off from mod_proxy_balancer in 2.3
+

Summary

+ +

This module does not provide any configuration directives of its own. +It requires the services of mod_proxy_balancer, and +provides the bybusyness load balancing method.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Pending Request Counting Algorithm

+ + + +

Enabled via lbmethod=bybusyness, this scheduler keeps + track of how many requests each worker is currently assigned at present. A new + request is automatically assigned to the worker with the lowest + number of active requests. This is useful in the case of workers + that queue incoming requests independently of Apache, to ensure that + queue length stays even and a request is always given to the worker + most likely to service it the fastest and reduce latency.

+ +

In the case of multiple least-busy workers, the statistics (and + weightings) used by the Request Counting method are used to break the + tie. Over time, the distribution of work will come to resemble that + characteristic of byrequests (as implemented + by mod_lbmethod_byrequests).

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr.utf8 new file mode 100644 index 0000000..cbc479f --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr.utf8 @@ -0,0 +1,109 @@ + + + + + +mod_lbmethod_bybusyness - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_bybusyness

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +mod_proxy_balancer
Statut:Extension
Identificateur de Module:lbmethod_bybusyness_module
Fichier Source:mod_lbmethod_bybusyness.c
Compatibilité:Dissocié de mod_proxy_balancer depuis la +version 2.3
+

Sommaire

+ +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge bybusyness.

+
+ +
top
+
+

Algorithme d'attribution des requêtes en attente

+ + + +

Activé via lbmethod=bybusyness, ce planificateur + surveille le nombre de requêtes assignées à chaque processus worker + à l'instant présent. Une nouvelle requête est automatiquement + assignée au processus worker auquel est assigné le plus petit nombre de + requêtes. Ceci s'avère utile dans le cas où les + processus worker mettent en file d'attente les requêtes entrantes + indépendamment d'Apache, et permet de s'assurer que la longueur des + files reste raisonnable, et qu'une requête est toujours assignée au + processus worker qui sera à même de la servir le plus + rapidement et avec une latence réduite.

+ +

Si plusieurs processus worker s'avèrent les moins chargés, le + choix d'un de ces derniers est effectué à partir des statistiques + (et des estimations de charges) qu'utilise la méthode de décompte + des requêtes. Au fil du temps, la distribution des tâches finit par + ressembler à celle de byrequests (tel qu'implémenté par + mod_lbmethod_byrequests).

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html b/docs/manual/mod/mod_lbmethod_byrequests.html new file mode 100644 index 0000000..7a28548 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_byrequests.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_byrequests.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html.en b/docs/manual/mod/mod_lbmethod_byrequests.html.en new file mode 100644 index 0000000..52fd1f1 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html.en @@ -0,0 +1,255 @@ + + + + + +mod_lbmethod_byrequests - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_lbmethod_byrequests

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Request Counting load balancer scheduler algorithm for mod_proxy_balancer
Status:Extension
Module Identifier:lbmethod_byrequests_module
Source File:mod_lbmethod_byrequests.c
Compatibility:Split off from mod_proxy_balancer in 2.3
+

Summary

+ +

This module does not provide any configuration directives of its own. +It requires the services of mod_proxy_balancer, and +provides the byrequests load balancing method.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Request Counting Algorithm

+ +

Enabled via lbmethod=byrequests, the idea behind this + scheduler is that we distribute the requests among the + various workers to ensure that each gets their configured share + of the number of requests. It works as follows:

+ +

lbfactor is how much we expect this worker + to work, or the workers' work quota. This is + a normalized value representing their "share" of the amount of + work to be done.

+ +

lbstatus is how urgent this worker has to work + to fulfill its quota of work.

+ +

The worker is a member of the load balancer, + usually a remote host serving one of the supported protocols.

+ +

We distribute each worker's work quota to the worker, and then look + which of them needs to work most urgently (biggest lbstatus). This + worker is then selected for work, and its lbstatus reduced by the + total work quota we distributed to all workers. Thus the sum of all + lbstatus does not change(*) and we distribute the requests + as desired.

+ +

If some workers are disabled, the others will + still be scheduled correctly.

+ +
for each worker in workers
+    worker lbstatus += worker lbfactor
+    total factor    += worker lbfactor
+    if worker lbstatus > candidate lbstatus
+        candidate = worker
+
+candidate lbstatus -= total factor
+ +

If a balancer is configured as follows:

+ + + + + + + + + + + + + + + + +
workerabcd
lbfactor25252525
lbstatus0000
+ +

And b gets disabled, the following schedule is produced:

+ + + + + + + + + + + + + + + + + + + + + + +
workerabcd
lbstatus-5002525
lbstatus-250-2550
lbstatus0000
(repeat)
+ +

That is it schedules: a c d + a c d a c + d ... Please note that:

+ + + + + + + + + + + +
workerabcd
lbfactor25252525
+ +

Has the exact same behavior as:

+ + + + + + + + + + + +
workerabcd
lbfactor1111
+ +

This is because all values of lbfactor are normalized + with respect to the others. For:

+ + + + + + + + + +
workerabc
lbfactor141
+ +

worker b will, on average, get 4 times the requests + that a and c will.

+ +

The following asymmetric configuration works as one would expect:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
workerab
lbfactor7030
 
lbstatus-3030
lbstatus40-40
lbstatus10-10
lbstatus-2020
lbstatus-5050
lbstatus20-20
lbstatus-1010
lbstatus-4040
lbstatus30-30
lbstatus00
(repeat)
+ +

That is after 10 schedules, the schedule repeats and 7 a + are selected with 3 b interspersed.

+
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_byrequests.html.fr.utf8 new file mode 100644 index 0000000..9b7458f --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html.fr.utf8 @@ -0,0 +1,264 @@ + + + + + +mod_lbmethod_byrequests - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_byrequests

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +mod_proxy_balancer
Statut:Extension
Identificateur de Module:lbmethod_byrequests_module
Fichier Source:mod_lbmethod_byrequests.c
Compatibilité:Dissocié de mod_proxy_balancer dans la +version 2.3
+

Sommaire

+ +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge byrequests.

+
+
Support Apache!

Sujets

+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+
top
+
+

Algorithme d'attribution des requêtes

+ +

Activé via lbmethod=byrequests, ce planificateur a + été conçu dans le but de distribuer les requêtes à tous les + processus worker afin qu'ils traitent tous le nombre de requêtes + pour lequel ils ont été configurés. Il fonctionne de la manière + suivante :

+ +

lbfactor correspond à la quantité de travail que + nous attendons de ce processus worker, ou en d'autres termes + son quota de travail. C'est une valeur normalisée + représentant leur part du travail à accomplir.

+ +

lbstatus représente combien il est urgent que + ce processus worker travaille pour remplir son quota de + travail.

+ +

Le worker est un membre du dispositif de répartition + de charge, en général un serveur distant traitant un des protocoles + supportés.

+ +

On distribue à chaque processus worker son quota de travail, puis + on regarde celui qui a le plus besoin de travailler + (le plus grand lbstatus). Ce processus est alors sélectionné pour + travailler, et son lbstatus diminué de l'ensemble des quotas de + travail que nous avons distribués à tous les processus. La somme de + tous les lbstatus n'est ainsi pas modifiée, et nous pouvons + distribuer les requêtes selon nos souhaits.

+ +

Si certains processus workers sont désactivés, les autres feront + l'objet d'une planification normale.

+ +
for each worker in workers
+    worker lbstatus += worker lbfactor
+    total factor    += worker lbfactor
+    if worker lbstatus > candidate lbstatus
+        candidate = worker
+
+candidate lbstatus -= total factor
+ +

Si un répartiteur de charge est configuré comme suit :

+ + + + + + + + + + + + + + + + +
workerabcd
lbfactor25252525
lbstatus0000
+ +

Et si b est désactivé, la planification suivante est + mise en oeuvre :

+ + + + + + + + + + + + + + + + + + + + + + +
workerabcd
lbstatus-5002525
lbstatus-250-2550
lbstatus0000
(repeat)
+ +

C'est à dire la chronologie suivante : a c + d + a c d a c + d ... Veuillez noter que :

+ + + + + + + + + + + +
workerabcd
lbfactor25252525
+ +

A le même effet que :

+ + + + + + + + + + + +
workerabcd
lbfactor1111
+ +

Ceci est dû au fait que toutes les valeurs de lbfactor + sont normalisées et évaluées en fonction des autres. Avec :

+ + + + + + + + + +
workerabc
lbfactor141
+ +

le processus b va, en moyenne, se voir assigner 4 fois + plus de requêtes que a et c.

+ +

La configuration suivante, asymétrique, fonctionne comme on peut + s'y attendre :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
workerab
lbfactor7030
 
lbstatus-3030
lbstatus40-40
lbstatus10-10
lbstatus-2020
lbstatus-5050
lbstatus20-20
lbstatus-1010
lbstatus-4040
lbstatus30-30
lbstatus00
(repeat)
+ +

Après 10 distributions, la planification se répète et 7 + a sont sélectionnés avec 3 b intercalés.

+
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html b/docs/manual/mod/mod_lbmethod_bytraffic.html new file mode 100644 index 0000000..31560d5 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_bytraffic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_bytraffic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html.en b/docs/manual/mod/mod_lbmethod_bytraffic.html.en new file mode 100644 index 0000000..353c461 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html.en @@ -0,0 +1,119 @@ + + + + + +mod_lbmethod_bytraffic - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_lbmethod_bytraffic

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
Status:Extension
Module Identifier:lbmethod_bytraffic_module
Source File:mod_lbmethod_bytraffic.c
Compatibility:Split off from mod_proxy_balancer in 2.3
+

Summary

+ +

This module does not provide any configuration directives of its own. +It requires the services of mod_proxy_balancer, and +provides the bytraffic load balancing method.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Weighted Traffic Counting Algorithm

+ +

Enabled via lbmethod=bytraffic, the idea behind this + scheduler is very similar to the Request Counting method, with + the following changes:

+ +

lbfactor is how much traffic, in bytes, we want + this worker to handle. This is also a normalized value + representing their "share" of the amount of work to be done, + but instead of simply counting the number of requests, we take + into account the amount of traffic this worker has either seen + or produced.

+ +

If a balancer is configured as follows:

+ + + + + + + + + +
workerabc
lbfactor121
+ +

Then we mean that we want b to process twice the + amount of bytes than a or c should. It does + not necessarily mean that b would handle twice as + many requests, but it would process twice the I/O. Thus, the + size of the request and response are applied to the weighting + and selection algorithm.

+ +

Note: input and output bytes are weighted the same.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 new file mode 100644 index 0000000..1058035 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 @@ -0,0 +1,125 @@ + + + + + +mod_lbmethod_bytraffic - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_bytraffic

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +mod_proxy_balancer
Statut:Extension
Identificateur de Module:lbmethod_bytraffic_module
Fichier Source:mod_lbmethod_bytraffic.c
Compatibilité:Dissocié de mod_proxy_balancer depuis la +version 2.3
+

Sommaire

+ +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge bytraffic.

+
+ +
top
+
+

Algorithme de répartition en fonction d'un certain + trafic

+ +

Activé via lbmethod=bytraffic, l'idée directrice de + ce planificateur est similaire à celle de la méthode reposant sur le + nombre de requêtes, avec les différences suivantes :

+ +

lbfactor représente la quantité de trafic, en + octets, que nous voulons voir traitée par le processus. Il + s'agit là aussi d'une valeur normalisée représentant la part de + travail à effectuer par le processus, mais au lieu de se baser sur + un nombre de requêtes, on prend en compte la quantité de trafic que + ce processus a traité.

+ +

Si un répartiteur est configuré comme suit :

+ + + + + + + + + +
workerabc
lbfactor121
+ +

Cela signifie que nous souhaitons que b traite 2 fois + plus d'octets que a ou c. Cela n'entraîne pas + nécessairement que b va traiter deux fois plus de + requêtes, mais qu'il va traiter deux fois plus de trafic en termes + d'entrées/sorties. A cet effet, les tailles de la requête et de sa + réponse assocciée sont prises en compte par l'algorithme de + sélection et d'évaluation du trafic.

+ +

Note : les octets en entrée sont évalués avec la même pondération + que les octets en sortie.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html b/docs/manual/mod/mod_lbmethod_heartbeat.html new file mode 100644 index 0000000..9f5a855 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_heartbeat.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_heartbeat.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html.en b/docs/manual/mod/mod_lbmethod_heartbeat.html.en new file mode 100644 index 0000000..b06c58b --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html.en @@ -0,0 +1,102 @@ + + + + + +mod_lbmethod_heartbeat - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_lbmethod_heartbeat

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
Status:Experimental
Module Identifier:lbmethod_heartbeat_module
Source File:mod_lbmethod_heartbeat.c
Compatibility:Available in version 2.3 and later
+

Summary

+ +

lbmethod=heartbeat uses the services of mod_heartmonitor to balance between origin servers that are providing +heartbeat info via the mod_heartbeat module.

+ +

This modules load balancing algorithm favors servers with more ready (idle) +capacity over time, but does not select the server with the most ready capacity +every time. Servers that have 0 active clients are penalized, with the +assumption that they are not fully initialized.

+
+ + +
top
+

HeartbeatStorage Directive

+ + + + + + + +
Description:Path to read heartbeat data
Syntax:HeartbeatStorage file-path
Default:HeartbeatStorage logs/hb.dat
Context:server config
Status:Experimental
Module:mod_lbmethod_heartbeat
+

The HeartbeatStorage directive specifies the + path to read heartbeat data. This flat-file is used only when + mod_slotmem_shm is not loaded.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 new file mode 100644 index 0000000..3dfe6ce --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 @@ -0,0 +1,109 @@ + + + + + +mod_lbmethod_heartbeat - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_heartbeat

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme d'ordonnancement de répartition de charge pour +mod_proxy_balancer basé sur le comptage de trafic Heartbeat
Statut:Expérimental
Identificateur de Module:lbmethod_heartbeat_module
Fichier Source:mod_lbmethod_heartbeat.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

lbmethod=heartbeat utilise les services du module + mod_heartmonitor pour répartir la charge entre les + serveurs d'origine qui fournissent des données heartbeat via le + module mod_heartbeat.

+ +

Son algorithme de répartition de charge favorise les serveurs dont la +capacité de traitement moyenne répartie dans le temps est la plus +importante, mais il ne sélectionne pas forcément le serveur qui présente +la disponibilité instantanée la plus importante. Les serveurs qui ne +possèdent aucun client actif sont pénalisés, car ils sont considérés +comme non entièrement initialisés.

+
+ + +
top
+

Directive HeartbeatStorage

+ + + + + + + +
Description:Indique le chemin permettant de lire les données +heartbeat
Syntaxe:HeartbeatStorage chemin-fichier
Défaut:HeartbeatStorage logs/hb.dat
Contexte:configuration globale
Statut:Expérimental
Module:mod_lbmethod_heartbeat
+

La directive HeartbeatStorage permet de + spécifier le chemin d'accès aux données heartbeat. Ce fichier texte + n'est utilisé que si le module mod_slotmem_shm + n'est pas chargé.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ldap.html b/docs/manual/mod/mod_ldap.html new file mode 100644 index 0000000..074fa07 --- /dev/null +++ b/docs/manual/mod/mod_ldap.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ldap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ldap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_ldap.html.en b/docs/manual/mod/mod_ldap.html.en new file mode 100644 index 0000000..b8536a6 --- /dev/null +++ b/docs/manual/mod/mod_ldap.html.en @@ -0,0 +1,878 @@ + + + + + +mod_ldap - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_ldap

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:LDAP connection pooling and result caching services for use +by other LDAP modules
Status:Extension
Module Identifier:ldap_module
Source File:util_ldap.c
+

Summary

+ +

This module was created to improve the performance of + websites relying on backend connections to LDAP servers. In + addition to the functions provided by the standard LDAP + libraries, this module adds an LDAP connection pool and an LDAP + shared memory cache.

+ +

To enable this module, LDAP support must be compiled into + apr-util. This is achieved by adding the --with-ldap + flag to the configure script when building + Apache.

+ +

SSL/TLS support is dependent on which LDAP toolkit has been + linked to APR. As of this writing, APR-util supports: + OpenLDAP SDK (2.x or later), + Novell LDAP + SDK, + Mozilla LDAP SDK, native Solaris LDAP SDK (Mozilla based) or the + native Microsoft LDAP SDK. See the APR + website for details.

+ +
+ +
top
+
+

Example Configuration

+

The following is an example configuration that uses + mod_ldap to increase the performance of HTTP Basic + authentication provided by mod_authnz_ldap.

+ +
# Enable the LDAP connection pool and shared
+# memory cache. Enable the LDAP cache status
+# handler. Requires that mod_ldap and mod_authnz_ldap
+# be loaded. Change the "yourdomain.example.com" to
+# match your domain.
+
+LDAPSharedCacheSize 500000
+LDAPCacheEntries 1024
+LDAPCacheTTL 600
+LDAPOpCacheEntries 1024
+LDAPOpCacheTTL 600
+
+<Location "/ldap-status">
+    SetHandler ldap-status
+
+    Require host yourdomain.example.com
+
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ +
top
+
+

LDAP Connection Pool

+ +

LDAP connections are pooled from request to request. This + allows the LDAP server to remain connected and bound ready for + the next request, without the need to unbind/connect/rebind. + The performance advantages are similar to the effect of HTTP + keepalives.

+ +

On a busy server it is possible that many requests will try + and access the same LDAP server connection simultaneously. + Where an LDAP connection is in use, Apache will create a new + connection alongside the original one. This ensures that the + connection pool does not become a bottleneck.

+ +

There is no need to manually enable connection pooling in + the Apache configuration. Any module using this module for + access to LDAP services will share the connection pool.

+ +

LDAP connections can keep track of the ldap client + credentials used when binding to an LDAP server. These + credentials can be provided to LDAP servers that do not + allow anonymous binds during referral chasing. To control + this feature, see the + LDAPReferrals and + LDAPReferralHopLimit + directives. By default, this feature is enabled.

+
top
+
+

LDAP Cache

+ +

For improved performance, mod_ldap uses an aggressive + caching strategy to minimize the number of times that the LDAP + server must be contacted. Caching can easily double or triple + the throughput of Apache when it is serving pages protected + with mod_authnz_ldap. In addition, the load on the LDAP server + will be significantly decreased.

+ +

mod_ldap supports two types of LDAP caching during + the search/bind phase with a search/bind cache and + during the compare phase with two operation + caches. Each LDAP URL that is used by the server has + its own set of these three caches.

+ +

The Search/Bind Cache

+

The process of doing a search and then a bind is the + most time-consuming aspect of LDAP operation, especially if + the directory is large. The search/bind cache is used to + cache all searches that resulted in successful binds. + Negative results (i.e., unsuccessful searches, or searches + that did not result in a successful bind) are not cached. + The rationale behind this decision is that connections with + invalid credentials are only a tiny percentage of the total + number of connections, so by not caching invalid + credentials, the size of the cache is reduced.

+ +

mod_ldap stores the username, the DN + retrieved, the password used to bind, and the time of the bind + in the cache. Whenever a new connection is initiated with the + same username, mod_ldap compares the password + of the new connection with the password in the cache. If the + passwords match, and if the cached entry is not too old, + mod_ldap bypasses the search/bind phase.

+ +

The search and bind cache is controlled with the LDAPCacheEntries and LDAPCacheTTL directives.

+ + +

Operation Caches

+

During attribute and distinguished name comparison + functions, mod_ldap uses two operation caches + to cache the compare operations. The first compare cache is + used to cache the results of compares done to test for LDAP + group membership. The second compare cache is used to cache + the results of comparisons done between distinguished + names.

+ +

Note that, when group membership is being checked, any sub-group + comparison results are cached to speed future sub-group comparisons.

+ +

The behavior of both of these caches is controlled with + the LDAPOpCacheEntries + and LDAPOpCacheTTL + directives.

+ + +

Monitoring the Cache

+

mod_ldap has a content handler that allows + administrators to monitor the cache performance. The name of + the content handler is ldap-status, so the + following directives could be used to access the + mod_ldap cache information:

+ +
<Location "/server/cache-info">
+    SetHandler ldap-status
+</Location>
+ + +

By fetching the URL http://servername/cache-info, + the administrator can get a status report of every cache that is used + by mod_ldap cache. Note that if Apache does not + support shared memory, then each httpd instance has its + own cache, so reloading the URL will result in different + information each time, depending on which httpd + instance processes the request.

+ +
top
+
+

Using SSL/TLS

+ +

The ability to create an SSL and TLS connections to an LDAP server + is defined by the directives + LDAPTrustedGlobalCert, + LDAPTrustedClientCert + and LDAPTrustedMode. + These directives specify the CA and optional client certificates to be used, + as well as the type of encryption to be used on the connection (none, SSL or + TLS/STARTTLS).

+ +
# Establish an SSL LDAP connection on port 636. Requires that
+# mod_ldap and mod_authnz_ldap be loaded. Change the
+# "yourdomain.example.com" to match your domain.
+
+LDAPTrustedGlobalCert CA_DER "/certs/certfile.der"
+
+<Location "/ldap-status">
+    SetHandler ldap-status
+
+    Require host yourdomain.example.com
+
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ + +
# Establish a TLS LDAP connection on port 389. Requires that
+# mod_ldap and mod_authnz_ldap be loaded. Change the
+# "yourdomain.example.com" to match your domain.
+
+LDAPTrustedGlobalCert CA_DER "/certs/certfile.der"
+
+<Location "/ldap-status">
+    SetHandler ldap-status
+
+    Require host yourdomain.example.com
+
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" TLS
+    Require valid-user
+</Location>
+ + +
top
+
+

SSL/TLS Certificates

+ +

The different LDAP SDKs have widely different methods of setting + and handling both CA and client side certificates.

+ +

If you intend to use SSL or TLS, read this section CAREFULLY so as to + understand the differences between configurations on the different LDAP + toolkits supported.

+ +

Netscape/Mozilla/iPlanet SDK

+

CA certificates are specified within a file called cert7.db. + The SDK will not talk to any LDAP server whose certificate was + not signed by a CA specified in this file. If + client certificates are required, an optional key3.db file may + be specified with an optional password. The secmod file can be + specified if required. These files are in the same format as + used by the Netscape Communicator or Mozilla web browsers. The easiest + way to obtain these files is to grab them from your browser + installation.

+ +

Client certificates are specified per connection using the + LDAPTrustedClientCert + directive by referring + to the certificate "nickname". An optional password may be + specified to unlock the certificate's private key.

+ +

The SDK supports SSL only. An attempt to use STARTTLS will cause + an error when an attempt is made to contact the LDAP server at + runtime.

+ +
# Specify a Netscape CA certificate file
+LDAPTrustedGlobalCert CA_CERT7_DB "/certs/cert7.db"
+# Specify an optional key3.db file for client certificate support
+LDAPTrustedGlobalCert CERT_KEY3_DB "/certs/key3.db"
+# Specify the secmod file if required
+LDAPTrustedGlobalCert CA_SECMOD "/certs/secmod"
+<Location "/ldap-status">
+    SetHandler ldap-status
+
+    Require host yourdomain.example.com
+
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    LDAPTrustedClientCert CERT_NICKNAME <nickname> [password]
+    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ + + + +

Novell SDK

+ +

One or more CA certificates must be specified for the Novell + SDK to work correctly. These certificates can be specified as + binary DER or Base64 (PEM) encoded files.

+ +

Note: Client certificates are specified globally rather than per + connection, and so must be specified with the LDAPTrustedGlobalCert + directive as below. Trying to set client certificates via the + LDAPTrustedClientCert + directive will cause an error to be logged + when an attempt is made to connect to the LDAP server.

+ +

The SDK supports both SSL and STARTTLS, set using the + LDAPTrustedMode parameter. + If an ldaps:// URL is specified, + SSL mode is forced, override this directive.

+ +
# Specify two CA certificate files
+LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der"
+LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem"
+# Specify a client certificate file and key
+LDAPTrustedGlobalCert CERT_BASE64 "/certs/cert1.pem"
+LDAPTrustedGlobalCert KEY_BASE64 "/certs/key1.pem" [password]
+# Do not use this directive, as it will throw an error
+#LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"
+ + + + +

OpenLDAP SDK

+ +

One or more CA certificates must be specified for the OpenLDAP + SDK to work correctly. These certificates can be specified as + binary DER or Base64 (PEM) encoded files.

+ +

Both CA and client certificates may be specified globally + (LDAPTrustedGlobalCert) or + per-connection (LDAPTrustedClientCert). + When any settings are specified per-connection, the global + settings are superseded.

+ +

The documentation for the SDK claims to support both SSL and + STARTTLS, however STARTTLS does not seem to work on all versions + of the SDK. The SSL/TLS mode can be set using the + LDAPTrustedMode parameter. If an ldaps:// URL is specified, + SSL mode is forced. The OpenLDAP documentation notes that SSL + (ldaps://) support has been deprecated to be replaced with TLS, + although the SSL functionality still works.

+ +
# Specify two CA certificate files
+LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der"
+LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem"
+<Location "/ldap-status">
+    SetHandler ldap-status
+
+    Require host yourdomain.example.com
+
+    LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"
+    LDAPTrustedClientCert KEY_BASE64 "/certs/key1.pem"
+    # CA certs respecified due to per-directory client certs
+    LDAPTrustedClientCert CA_DER "/certs/cacert1.der"
+    LDAPTrustedClientCert CA_BASE64 "/certs/cacert2.pem"
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ + + + +

Solaris SDK

+ +

SSL/TLS for the native Solaris LDAP libraries is not yet + supported. If required, install and use the OpenLDAP libraries + instead.

+ + + +

Microsoft SDK

+ +

SSL/TLS certificate configuration for the native Microsoft + LDAP libraries is done inside the system registry, and no + configuration directives are required.

+ +

Both SSL and TLS are supported by using the ldaps:// URL + format, or by using the LDAPTrustedMode directive accordingly.

+ +

Note: The status of support for client certificates is not yet known + for this toolkit.

+ + + +
+
top
+

LDAPCacheEntries Directive

+ + + + + + + +
Description:Maximum number of entries in the primary LDAP cache
Syntax:LDAPCacheEntries number
Default:LDAPCacheEntries 1024
Context:server config
Status:Extension
Module:mod_ldap
+

Specifies the maximum size of the primary LDAP cache. This + cache contains successful search/binds. Set it to 0 to turn off + search/bind caching. The default size is 1024 cached + searches.

+ +
+
top
+

LDAPCacheTTL Directive

+ + + + + + + +
Description:Time that cached items remain valid
Syntax:LDAPCacheTTL seconds
Default:LDAPCacheTTL 600
Context:server config
Status:Extension
Module:mod_ldap
+

Specifies the time (in seconds) that an item in the + search/bind cache remains valid. The default is 600 seconds (10 + minutes).

+ +
+
top
+

LDAPConnectionPoolTTL Directive

+ + + + + + + + +
Description:Discard backend connections that have been sitting in the connection pool too long
Syntax:LDAPConnectionPoolTTL n
Default:LDAPConnectionPoolTTL -1
Context:server config, virtual host
Status:Extension
Module:mod_ldap
Compatibility:Apache HTTP Server 2.3.12 and later
+

Specifies the maximum age, in seconds, that a pooled LDAP connection can remain idle + and still be available for use. Connections are cleaned up when they are next needed, + not asynchronously.

+ +

A setting of 0 causes connections to never be saved in the backend + connection pool. The default value of -1, and any other negative value, + allows connections of any age to be reused.

+ +

For performance reasons, the reference time used by this directive is + based on when the LDAP connection is returned to the pool, not the time + of the last successful I/O with the LDAP server.

+ +

Since 2.4.10, new measures are in place to avoid the reference time + from being inflated by cache hits or slow requests. First, the reference + time is not updated if no backend LDAP conncetions were needed. Second, + the reference time uses the time the HTTP request was received instead + of the time the request is completed.

+ +

This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), minutes (min), and hours (h). +

+ +
+
top
+

LDAPConnectionTimeout Directive

+ + + + + + +
Description:Specifies the socket connection timeout in seconds
Syntax:LDAPConnectionTimeout seconds
Context:server config
Status:Extension
Module:mod_ldap
+

This directive configures the LDAP_OPT_NETWORK_TIMEOUT (or LDAP_OPT_CONNECT_TIMEOUT) + option in the underlying LDAP client library, when available. This value + typically controls how long the LDAP client library will wait for the TCP + connection to the LDAP server to complete.

+ +

If a connection is not successful with the timeout period, either an error will be + returned or the LDAP client library will attempt to connect to a secondary LDAP + server if one is specified (via a space-separated list of hostnames in the + AuthLDAPURL).

+ +

The default is 10 seconds, if the LDAP client library linked with the + server supports the LDAP_OPT_NETWORK_TIMEOUT option.

+ +
LDAPConnectionTimeout is only available when the LDAP client library linked + with the server supports the LDAP_OPT_NETWORK_TIMEOUT + (or LDAP_OPT_CONNECT_TIMEOUT) option, and the ultimate behavior is + dictated entirely by the LDAP client library. +
+ +
+
top
+

LDAPLibraryDebug Directive

+ + + + + + + +
Description:Enable debugging in the LDAP SDK
Syntax:LDAPLibraryDebug 7
Default:disabled
Context:server config
Status:Extension
Module:mod_ldap
+

Turns on SDK-specific LDAP debug options that generally cause the LDAP + SDK to log verbose trace information to the main Apache error log. + The trace messages from the LDAP SDK provide gory details that + can be useful during debugging of connectivity problems with backend LDAP servers

+ +

This option is only configurable when Apache HTTP Server is linked with + an LDAP SDK that implements LDAP_OPT_DEBUG or + LDAP_OPT_DEBUG_LEVEL, such as OpenLDAP (a value of 7 is verbose) + or Tivoli Directory Server (a value of 65535 is verbose).

+ +
+

The logged information will likely contain plaintext credentials being used or + validated by LDAP authentication, so care should be taken in protecting and purging + the error log when this directive is used.

+
+ + +
+
top
+

LDAPOpCacheEntries Directive

+ + + + + + + +
Description:Number of entries used to cache LDAP compare +operations
Syntax:LDAPOpCacheEntries number
Default:LDAPOpCacheEntries 1024
Context:server config
Status:Extension
Module:mod_ldap
+

This specifies the number of entries mod_ldap + will use to cache LDAP compare operations. The default is 1024 + entries. Setting it to 0 disables operation caching.

+ +
+
top
+

LDAPOpCacheTTL Directive

+ + + + + + + +
Description:Time that entries in the operation cache remain +valid
Syntax:LDAPOpCacheTTL seconds
Default:LDAPOpCacheTTL 600
Context:server config
Status:Extension
Module:mod_ldap
+

Specifies the time (in seconds) that entries in the + operation cache remain valid. The default is 600 seconds.

+ +
+
top
+

LDAPReferralHopLimit Directive

+ + + + + + + + +
Description:The maximum number of referral hops to chase before terminating an LDAP query.
Syntax:LDAPReferralHopLimit number
Default:SDK dependent, typically between 5 and 10
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ldap
+

This directive, if enabled by the LDAPReferrals directive, + limits the number of referral hops that are followed before terminating an + LDAP query.

+ +
+

Support for this tunable is uncommon in LDAP SDKs.

+
+ +
+
top
+

LDAPReferrals Directive

+ + + + + + + + + +
Description:Enable referral chasing during queries to the LDAP server.
Syntax:LDAPReferrals On|Off|default
Default:LDAPReferrals On
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ldap
Compatibility:The default parameter is available in Apache 2.4.7 and later
+

Some LDAP servers divide their directory among multiple domains and use referrals + to direct a client when a domain boundary is crossed. This is similar to a HTTP redirect. + LDAP client libraries may or may not chase referrals by default. This directive + explicitly configures the referral chasing in the underlying SDK.

+ + +

LDAPReferrals takes the following values:

+
+
"on"
+

When set to "on", the underlying SDK's referral chasing state + is enabled, LDAPReferralHopLimit is used to + override the SDK's hop limit, and an LDAP rebind callback is + registered.

+
"off"
+

When set to "off", the underlying SDK's referral chasing state + is disabled completely.

+
"default"
+

When set to "default", the underlying SDK's referral chasing state + is not changed, LDAPReferralHopLimit is not + used to override the SDK's hop limit, and no LDAP rebind callback is + registered.

+
+ +

The directive LDAPReferralHopLimit works in conjunction with + this directive to limit the number of referral hops to follow before terminating the LDAP query. + When referral processing is enabled by a value of "On", client credentials will be provided, + via a rebind callback, for any LDAP server requiring them.

+ +
+
top
+

LDAPRetries Directive

+ + + + + + + +
Description:Configures the number of LDAP server retries.
Syntax:LDAPRetries number-of-retries
Default:LDAPRetries 3
Context:server config
Status:Extension
Module:mod_ldap
+

The server will retry failed LDAP requests up to + LDAPRetries times. Setting this + directive to 0 disables retries.

+

LDAP errors such as timeouts and refused connections are retryable.

+ +
+
top
+

LDAPRetryDelay Directive

+ + + + + + + +
Description:Configures the delay between LDAP server retries.
Syntax:LDAPRetryDelay seconds
Default:LDAPRetryDelay 0
Context:server config
Status:Extension
Module:mod_ldap
+

If LDAPRetryDelay is set to a non-zero + value, the server will delay retrying an LDAP request for the + specified amount of time. Setting this directive to 0 will + result in any retry to occur without delay.

+ +

LDAP errors such as timeouts and refused connections are retryable.

+ +
+
top
+

LDAPSharedCacheFile Directive

+ + + + + + +
Description:Sets the shared memory cache file
Syntax:LDAPSharedCacheFile directory-path/filename
Context:server config
Status:Extension
Module:mod_ldap
+

Specifies the directory path and file name of the shared memory + cache file. If not set, anonymous shared memory will be used if the + platform supports it.

+ +
+
top
+

LDAPSharedCacheSize Directive

+ + + + + + + +
Description:Size in bytes of the shared-memory cache
Syntax:LDAPSharedCacheSize bytes
Default:LDAPSharedCacheSize 500000
Context:server config
Status:Extension
Module:mod_ldap
+

Specifies the number of bytes to allocate for the shared + memory cache. The default is 500kb. If set to 0, shared memory + caching will not be used and every HTTPD process will create its + own cache.

+ +
+
top
+

LDAPTimeout Directive

+ + + + + + + + +
Description:Specifies the timeout for LDAP search and bind operations, in seconds
Syntax:LDAPTimeout seconds
Default:LDAPTimeout 60
Context:server config
Status:Extension
Module:mod_ldap
Compatibility:Apache HTTP Server 2.3.5 and later
+

This directive configures the timeout for bind and search operations, as well as + the LDAP_OPT_TIMEOUT option in the underlying LDAP client library, when available.

+ +

If the timeout expires, httpd will retry in case an existing connection has + been silently dropped by a firewall. However, performance will be much better if + the firewall is configured to send TCP RST packets instead of silently dropping + packets.

+ +
+

Timeouts for ldap compare operations requires an SDK with LDAP_OPT_TIMEOUT, such as OpenLDAP >= 2.4.4.

+
+ + +
+
top
+

LDAPTrustedClientCert Directive

+ + + + + + +
Description:Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
Syntax:LDAPTrustedClientCert type directory-path/filename/nickname [password]
Context:directory, .htaccess
Status:Extension
Module:mod_ldap
+

It specifies the directory path, file name or nickname of a + per connection client certificate used when establishing an SSL + or TLS connection to an LDAP server. Different locations or + directories may have their own independent client certificate + settings. Some LDAP toolkits (notably Novell) + do not support per connection client certificates, and will throw an + error on LDAP server connection if you try to use this directive + (Use the LDAPTrustedGlobalCert + directive instead for Novell client + certificates - See the SSL/TLS certificate guide above for details). + The type specifies the kind of certificate parameter being + set, depending on the LDAP toolkit being used. Supported types are:

+
    +
  • CA_DER - binary DER encoded CA certificate
  • +
  • CA_BASE64 - PEM encoded CA certificate
  • +
  • CERT_DER - binary DER encoded client certificate
  • +
  • CERT_BASE64 - PEM encoded client certificate
  • +
  • CERT_NICKNAME - Client certificate "nickname" (Netscape SDK)
  • +
  • KEY_DER - binary DER encoded private key
  • +
  • KEY_BASE64 - PEM encoded private key
  • +
+ +
+
top
+

LDAPTrustedGlobalCert Directive

+ + + + + + +
Description:Sets the file or database containing global trusted +Certificate Authority or global client certificates
Syntax:LDAPTrustedGlobalCert type directory-path/filename [password]
Context:server config
Status:Extension
Module:mod_ldap
+

It specifies the directory path and file name of the trusted CA + certificates and/or system wide client certificates mod_ldap + should use when establishing an SSL or TLS connection to an LDAP + server. Note that all certificate information specified using this directive + is applied globally to the entire server installation. Some LDAP toolkits + (notably Novell) require all client certificates to be set globally using + this directive. Most other toolkits require clients certificates to be set + per Directory or per Location using LDAPTrustedClientCert. If you get this + wrong, an error may be logged when an attempt is made to contact the LDAP + server, or the connection may silently fail (See the SSL/TLS certificate + guide above for details). + The type specifies the kind of certificate parameter being + set, depending on the LDAP toolkit being used. Supported types are:

+
    +
  • CA_DER - binary DER encoded CA certificate
  • +
  • CA_BASE64 - PEM encoded CA certificate
  • +
  • CA_CERT7_DB - Netscape cert7.db CA certificate database file
  • +
  • CA_SECMOD - Netscape secmod database file
  • +
  • CERT_DER - binary DER encoded client certificate
  • +
  • CERT_BASE64 - PEM encoded client certificate
  • +
  • CERT_KEY3_DB - Netscape key3.db client certificate database file
  • +
  • CERT_NICKNAME - Client certificate "nickname" (Netscape SDK)
  • +
  • CERT_PFX - PKCS#12 encoded client certificate (Novell SDK)
  • +
  • KEY_DER - binary DER encoded private key
  • +
  • KEY_BASE64 - PEM encoded private key
  • +
  • KEY_PFX - PKCS#12 encoded private key (Novell SDK)
  • +
+ +
+
top
+

LDAPTrustedMode Directive

+ + + + + + +
Description:Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
Syntax:LDAPTrustedMode type
Context:server config, virtual host
Status:Extension
Module:mod_ldap
+

The following modes are supported:

+
    +
  • NONE - no encryption
  • +
  • SSL - ldaps:// encryption on default port 636
  • +
  • TLS - STARTTLS encryption on default port 389
  • +
+ +

Not all LDAP toolkits support all the above modes. An error message + will be logged at runtime if a mode is not supported, and the + connection to the LDAP server will fail. +

+ +

If an ldaps:// URL is specified, the mode becomes SSL and the setting + of LDAPTrustedMode is ignored.

+ +
+
top
+

LDAPVerifyServerCert Directive

+ + + + + + + +
Description:Force server certificate verification
Syntax:LDAPVerifyServerCert On|Off
Default:LDAPVerifyServerCert On
Context:server config
Status:Extension
Module:mod_ldap
+

Specifies whether to force the verification of a + server certificate when establishing an SSL connection to the + LDAP server.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ldap.html.fr.utf8 b/docs/manual/mod/mod_ldap.html.fr.utf8 new file mode 100644 index 0000000..7505bf9 --- /dev/null +++ b/docs/manual/mod/mod_ldap.html.fr.utf8 @@ -0,0 +1,958 @@ + + + + + +mod_ldap - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_ldap

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Conservation des connexions LDAP et services de mise en +cache du résultat à destination des autres modules LDAP
Statut:Extension
Identificateur de Module:ldap_module
Fichier Source:util_ldap.c
+

Sommaire

+ +

Ce module a été conçu dans le but d'améliorer les performances + des sites web s'appuyant sur des connexions en arrière-plan vers des + serveurs LDAP. Il ajoute aux fonctions fournies par les + bibliothèques standards LDAP la conservation des connexions LDAP + ainsi qu'un cache LDAP partagé en mémoire.

+ +

Pour activer ce module, le support LDAP doit être compilé dans + apr-util. Pour ce faire, on ajoute l'option --with-ldap + au script configure lorsqu'on construit + Apache.

+ +

Le support SSL/TLS est conditionné par le kit de développement + LDAP qui a été lié à APR. Au moment où ces + lignes sont écrites, APR-util supporte OpenLDAP SDK (version 2.x ou + supérieure), Novell LDAP + SDK, + Mozilla LDAP SDK, le SDK LDAP Solaris natif (basé sur Mozilla) + ou le SDK LDAP Microsoft natif. Voir le site web APR pour plus de détails.

+ +
+ +
top
+
+

Exemple de configuration

+

Ce qui suit est un exemple de configuration qui utilise + mod_ldap pour améliorer les performances de + l'authentification HTTP de base fournie par + mod_authnz_ldap.

+ +
# Active la conservation des connexions LDAP et le cache partagé en
+# mémoire. Active le gestionnaire de statut du cache LDAP.
+# Nécessite le chargement de mod_ldap et de mod_authnz_ldap.
+# Remplacez "votre-domaine.example.com" par le nom de votre
+# domaine.
+
+LDAPSharedCacheSize 500000
+LDAPCacheEntries 1024
+LDAPCacheTTL 600
+LDAPOpCacheEntries 1024
+LDAPOpCacheTTL 600
+
+<Location "/ldap-status">
+    SetHandler ldap-status
+    
+    Require host yourdomain.example.com
+    
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ +
top
+
+

Conservation des connexions LDAP

+ +

Les connexions LDAP sont conservées de requête en requête. Ceci + permet de rester connecté et identifié au serveur LDAP, ce dernier + étant ainsi prêt pour la prochaine requête, sans avoir à se + déconnecter, reconnecter et réidentifier. Le gain en performances + est similaire à celui des connexions persistantes (keepalives) + HTTP.

+ +

Sur un serveur très sollicité, il est possible que de nombreuses + requêtes tentent d'accéder simultanément à la même connexion au + serveur LDAP. Lorsqu'une connexion LDAP est utilisée, Apache en crée + une deuxième en parallèle à la première, ce qui permet d'éviter que + le système de conservation des connexions ne devienne un goulot + d'étranglement.

+ +

Il n'est pas nécessaire d'activer explicitement la conservation + des connexions dans la configuration d'Apache. Tout module utilisant + le module ldap pour accéder aux services LDAP partagera le jeu de + connexions.

+ +

Les connexions LDAP peuvent garder la trace des données + d'identification du client ldap utilisées pour l'identification + auprès du serveur LDAP. Ces données peuvent être fournies aux + serveurs LDAP qui ne permettent pas les connexions anonymes au cours + lors des tentatives de sauts vers des serveurs alternatifs. Pour + contrôler cette fonctionnalité, voir les directives LDAPReferrals et LDAPReferralHopLimit. Cette + fonctionnalité est activée par défaut.

+
top
+
+

Cache LDAP

+ +

Pour améliorer les performances, mod_ldap met en oeuvre + une stratégie de mise en cache agressive visant à minimiser le nombre de + fois que le serveur LDAP doit être contacté. La mise en cache peut + facilement doubler et même tripler le débit d'Apache lorsqu'il sert des + pages protégées par mod_authnz_ldap. De plus, le serveur + LDAP verra lui-même sa charge sensiblement diminuée.

+ +

mod_ldap supporte deux types de mise en cache + LDAP : un cache recherche/identification durant la phase + de recherche/identification et deux caches d'opérations + durant la phase de comparaison. Chaque URL LDAP utilisée par le + serveur a son propre jeu d'instances dans ces trois caches.

+ +

Le cache + recherche/identification

+

Les processus de recherche et d'identification sont les + opérations LDAP les plus consommatrices en temps, en particulier + si l'annuaire est de grande taille. Le cache de + recherche/identification met en cache toutes les recherches qui + ont abouti à une identification positive. Les résultats négatifs + (c'est à dire les recherches sans succès, ou les recherches qui + n'ont pas abouti à une identification positive) ne sont pas mis en + cache. La raison de cette décision réside dans le fait que les + connexions avec des données d'identification invalides ne + représentent qu'un faible pourcentage du nombre total de + connexions, et ainsi, le fait de ne pas mettre en cache les + données d'identification invalides réduira d'autant la taille du + cache.

+ +

mod_ldap met en cache le nom d'utilisateur, le + DN extrait, le mot de passe utilisé pour l'identification, ainsi + que l'heure de l'identification. Chaque fois qu'une nouvelle + connexion est initialisée avec le même nom d'utilisateur, + mod_ldap compare le mot de passe de la nouvelle + connexion avec le mot de passe enregistré dans le cache. Si les + mots de passe correspondent, et si l'entrée du cache n'est pas + trop ancienne, mod_ldap court-circuite la phase + de recherche/identification.

+ +

Le cache de recherche/identification est contrôlé par les + directives LDAPCacheEntries et LDAPCacheTTL.

+ + +

Les caches d'opérations

+

Au cours des opérations de comparaison d'attributs et de noms + distinctifs (DN), mod_ldap utilise deux caches + d'opérations pour mettre en cache les opérations de comparaison. + Le premier cache de comparaison sert à mettre en cache les + résultats de comparaisons effectuées pour vérifier l'appartenance + à un groupe LDAP. Le second cache de comparaison sert à mettre en + cache les résultats de comparaisons entre DNs.

+ +

Notez que, lorsque l'appartenance à un groupe est vérifiée, + toute comparaison de sous-groupes est mise en cache afin + d'accélérer les comparaisons de sous-groupes ultérieures.

+ +

Le comportement de ces deux caches est contrôlé par les + directives LDAPOpCacheEntries et LDAPOpCacheTTL.

+ + +

Superviser le cache

+

mod_ldap possède un gestionnaire de contenu + qui permet aux administrateurs de superviser les performances du + cache. Le nom du gestionnaire de contenu est + ldap-status, et on peut utiliser les directives + suivantes pour accéder aux informations du cache de + mod_ldap :

+ +
<Location "/server/cache-info">
+    SetHandler ldap-status
+</Location>
+ + +

En se connectant à l'URL + http://nom-serveur/infos-cache, l'administrateur peut + obtenir un rapport sur le statut de chaque cache qu'utilise + mod_ldap. Notez que si Apache ne supporte pas la + mémoire partagée, chaque instance de httpd + possèdera son propre cache, et chaque fois que l'URL sera + rechargée, un résultat différent pourra être affiché, en fonction + de l'instance de httpd qui traitera la + requête.

+ +
top
+
+

Utiliser SSL/TLS

+ +

La possibilité de créer des connexions SSL et TLS avec un serveur + LDAP est définie par les directives + LDAPTrustedGlobalCert, + LDAPTrustedClientCert et + LDAPTrustedMode. Ces directives permettent de spécifier + l'autorité de certification (CA), les certificats clients éventuels, + ainsi que le type de chiffrement à utiliser pour la connexion (none, + SSL ou TLS/STARTTLS).

+ +
# Etablissement d'une connexion SSL LDAP sur le port 636.
+# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
+# Remplacez "votre-domaine.example.com" par le nom de votre
+# domaine.
+
+LDAPTrustedGlobalCert CA_DER "/certs/certfile.der"
+
+<Location "/ldap-status">
+    SetHandler ldap-status
+    
+    Require host yourdomain.example.com
+    
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ + +
# Etablissement d'une connexion TLS LDAP sur le port 389.
+# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
+# Remplacez "votre-domaine.example.com" par le nom de votre
+# domaine.
+
+LDAPTrustedGlobalCert CA_DER "/certs/certfile.der"
+
+<Location "/ldap-status">
+    SetHandler ldap-status
+    
+    Require host yourdomain.example.com
+    
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" TLS
+    Require valid-user
+</Location>
+ + +
top
+
+

Certificats SSL/TLS

+ +

Les différents SDKs LDAP disposent de nombreuses méthodes pour + définir et gérer les certificats des clients et des autorités de + certification (CA).

+ +

Si vous avez l'intention d'utiliser SSL ou TLS, lisez cette + section ATTENTIVEMENT de façon à bien comprendre les différences de + configurations entre les différents SDKs LDAP supportés.

+ +

SDK Netscape/Mozilla/iPlanet

+

Les certificat de CA sont enregistrés dans un fichier nommé + cert7.db. Le SDK ne dialoguera avec aucun serveur LDAP dont le + certificat n'a pas été signé par une CA spécifiée dans ce + fichier. Si des certificats clients sont requis, un fichier + key3.db ainsi qu'un mot de passe optionnels peuvent être + spécifiés. On peut aussi spécifier le fichier secmod si + nécessaire. Ces fichiers sont du même format que celui utilisé + par les navigateurs web Netscape Communicator ou Mozilla. Le + moyen le plus simple pour obtenir ces fichiers consiste à les + extraire de l'installation de votre navigateur.

+ +

Les certificats clients sont spécifiés pour chaque connexion en + utilisant la directive LDAPTrustedClientCert et en se référant au + certificat "nickname". On peut éventuellement spécifier un mot de passe + pour déverrouiller la clé privée du certificat.

+ +

Le SDK supporte seulement SSL. Toute tentative d'utilisation + de STARTTLS engendrera une erreur lors des tentatives de + contacter le serveur LDAP pendant l'exécution.

+ +
# Spécifie un fichier de certificats de CA Netscape
+LDAPTrustedGlobalCert CA_CERT7_DB "/certs/cert7.db"
+# Spécifie un fichier key3db optionnel pour le support des
+# certificats clients
+LDAPTrustedGlobalCert CERT_KEY3_DB "/certs/key3.db"
+# Spécifie le fichier secmod si nécessaire
+LDAPTrustedGlobalCert CA_SECMOD "/certs/secmod"
+<Location "/ldap-status">
+    SetHandler ldap-status
+
+    Require host yourdomain.example.com
+
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    LDAPTrustedClientCert CERT_NICKNAME <nickname> [password]
+    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ + + + +

SDK Novell

+ +

Un ou plusieurs certificats de CA doivent être spécifiés pour + que le SDK Novell fonctionne correctement. Ces certificats + peuvent être spécifiés sous forme de fichiers au format binaire + DER ou codés en Base64 (PEM).

+ +

Note: Les certificats clients sont spécifiés globalement plutôt qu'à + chaque connexion, et doivent être spécifiés à l'aide de la directive + LDAPTrustedGlobalCert comme + ci-dessous. Définir des certificats clients via la directive LDAPTrustedClientCert engendrera une + erreur qui sera journalisée, au moment de la tentative de connexion avec + le serveur LDAP.

+ +

Le SDK supporte SSL et STARTTLS, le choix étant défini par le + paramètre de la directive LDAPTrustedMode. Si une URL de type + ldaps:// est spécifiée, le mode SSL est forcé, et l'emporte sur cette + directive.

+ +
# Spécifie deux fichiers contenant des certificats de CA
+LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der"
+LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem"
+# Spécifie un fichier contenant des certificats clients
+# ainsi qu'une clé
+LDAPTrustedGlobalCert CERT_BASE64 "/certs/cert1.pem"
+LDAPTrustedGlobalCert KEY_BASE64 "/certs/key1.pem" [password]
+# N'utilisez pas cette directive, sous peine de provoquer
+# une erreur
+#LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"
+ + + + +

SDK OpenLDAP

+ +

Un ou plusieurs certificats de CA doivent être spécifiés pour + que le SDK OpenLDAP fonctionne correctement. Ces certificats + peuvent être spécifiés sous forme de fichiers au format binaire + DER ou codés en Base64 (PEM).

+ +

Les certificats clients et CA peuvent être spécifiés globalement + (LDAPTrustedGlobalCert) ou pour + chaque connexion (LDAPTrustedClientCert). Les définitions au + niveau d'une connexion l'emportent sur les définitions globales.

+ +

La documentation du SDK prétend que SSL et STARTTLS sont + supportés ; cependant, STARTTLS semble ne pas fonctionner avec + toutes les versions du SDK. Le mode SSL/TLS peut être défini en + utilisant le paramètre de la directive LDAPTrustedMode. Si une + URL de type + ldaps:// est spécifiée, le mode SSL est forcé. La documentation + OpenLDAP indique que le support SSL (ldaps://) tend à être + remplacé par TLS, bien que le mode SSL fonctionne toujours.

+ +
# Spécifie deux fichiers contenant des certificats de CA
+LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der"
+LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem"
+<Location /ldap-status>
+    SetHandler ldap-status
+    
+    Require host yourdomain.example.com
+    
+    LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"
+    LDAPTrustedClientCert KEY_BASE64 "/certs/key1.pem"
+    # CA certs respecified due to per-directory client certs
+    LDAPTrustedClientCert CA_DER "/certs/cacert1.der"
+    LDAPTrustedClientCert CA_BASE64 "/certs/cacert2.pem"
+    Satisfy any
+    AuthType Basic
+    AuthName "LDAP Protected"
+    AuthBasicProvider ldap
+    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
+    Require valid-user
+</Location>
+ + + + +

SDK Solaris

+ +

SSL/TLS pour les bibliothèques LDAP propres à Solaris n'est + pas encore supporté. Si nécessaire, installez et utilisez plutôt + les bibliothèques OpenLDAP.

+ + + +

SDK Microsoft

+ +

La configuration des certificats SSL/TLS pour les + bibliothèques LDAP propres à Microsoft s'effectue à l'intérieur + du registre système, et aucune directive de configuration n'est + requise.

+ +

SSL et TLS sont tous deux supportés en utilisant des URLs de type + ldaps://, ou en définissant la directive LDAPTrustedMode à cet effet.

+ +

Note: L'état du support des certificats clients n'est pas + encore connu pour ce SDK.

+ + + +
+
top
+

Directive LDAPCacheEntries

+ + + + + + + +
Description:Nombre maximum d'entrées dans le cache LDAP +primaire
Syntaxe:LDAPCacheEntries nombre
Défaut:LDAPCacheEntries 1024
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier la taille maximale du cache + LDAP primaire. Ce cache contient les résultats de + recherche/identification positifs. Définissez-la à 0 pour désactiver + la mise en cache des résultats de recherche/identification positifs. + La taille par défaut est de 1024 recherches en cache.

+ +
+
top
+

Directive LDAPCacheTTL

+ + + + + + + +
Description:Durée pendant laquelle les entrées du cache restent +valides.
Syntaxe:LDAPCacheTTL secondes
Défaut:LDAPCacheTTL 600
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier la durée (en secondes) + pendant laquelle une entrée du cache de recherche/identification + reste valide. La valeur par défaut est de 600 secondes (10 + minutes).

+ +
+
top
+

Directive LDAPConnectionPoolTTL

+ + + + + + + + +
Description:Désactive les connexions d'arrière-plan qui sont restées +inactives trop longtemps au sein du jeu de connexions.
Syntaxe:LDAPConnectionPoolTTL n
Défaut:LDAPConnectionPoolTTL -1
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ldap
Compatibilité:Disponible à partir de la version 2.3.12 du serveur HTTP +Apache
+

Cette directive permet de spécifier la durée maximale, en + secondes, pendant laquelle une connexion LDAP du jeu de connexions + peut demeurer inactive, mais rester quand-même disponible pour une + utilisation éventuelle. Le jeu de connexions est nettoyé au fur et à + mesure des besoins, de manière non asynchrone.

+ +

Si cette directive est définie à 0, les connexions ne sont jamais + sauvegardées dans le jeu de connexions d'arrière-plan. Avec la + valeur par défaut -1, ou toute autre valeur négative, les connexions + peuvent être réutilisées sans limite de durée.

+ +

Dans le but d'améliorer les performances, le temps de référence + qu'utilise cette directive correspond au moment où la connexion LDAP + est enregistrée ou remise dans le jeu de connexions, et non au + moment du dernier échange réussi avec le serveur LDAP.

+ +

La version 2.4.10 a introduit de nouvelles mesures permettant + d'éviter une augmentation excessive du temps de référence due à des + correspondances positives dans le cache ou des requêtes lentes. A + cet effet, le temps de référence n'est pas réactualisé si aucune + connexion LDAP d'arrière-plan n'est requise ; d'autre part, le temps + de référence se base sur le moment où la requête HTTP est reçue, et + non sur le moment où la requête a été traitée.

+ +

Cette durée de vie s'exprime par défaut en secondes, mais + il est possible d'utiliser d'autres unités en ajoutant un suffixe : + millisecondes (ms), minutes (min), ou heures (h). +

+ +
+
top
+

Directive LDAPConnectionTimeout

+ + + + + + +
Description:Spécifie le délai d'attente en secondes de la socket de +connexion
Syntaxe:LDAPConnectionTimeout secondes
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive configure l'option LDAP_OPT_NETWORK_TIMEOUT (ou + LDAP_OPT_CONNECT_TIMEOUT) dans la bibliothèque client LDAP + sous-jacente, si elle est disponible. Cette valeur représente la + durée pendant laquelle la bibliothèque client LDAP va attendre que + le processus de connexion TCP au serveur LDAP soit achevé.

+ +

Si la connexion n'a pas réussi avant ce délai, une erreur sera + renvoyée, ou la bibliothèque client LDAP tentera de se connecter à + un second serveur LDAP, s'il en a été défini un (via une liste de + noms d'hôtes séparés par des espaces dans la directive AuthLDAPURL).

+ +

La valeur par défaut est 10 secondes, si la bibliothèque client + LDAP liée avec le serveur supporte l'option + LDAP_OPT_NETWORK_TIMEOUT.

+ +
LDAPConnectionTimeout n'est disponible que si la bibliothèque client + LDAP liée avec le serveur supporte l'option + LDAP_OPT_NETWORK_TIMEOUT (ou LDAP_OPT_CONNECT_TIMEOUT), et le + comportement final est entièrement dicté par la bibliothèque client + LDAP. +
+ +
+
top
+

Directive LDAPLibraryDebug

+ + + + + + + +
Description:Active le débogage dans le SDK LDAP
Syntaxe:LDAPLibraryDebug 7
Défaut:disabled
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Active les options de débogage LDAP spécifiques au SDK, qui + entraînent en général une journalisation d'informations verbeuses du + SDK LDAP dans le journal principal des erreurs d'Apache. Les + messages de traces en provenance du SDK LDAP fournissent des + informations très détaillées qui peuvent s'avérer utiles lors du + débogage des problèmes de connexion avec des serveurs LDAP + d'arrière-plan.

+ +

Cette option n'est configurable que lorsque le serveur HTTP + Apache est lié avec un SDK LDAP qui implémente + LDAP_OPT_DEBUG ou LDAP_OPT_DEBUG_LEVEL, + comme OpenLDAP (une valeur de 7 est verbeuse) ou Tivoli Directory + Server (une valeur de 65535 est verbeuse).

+ +
+

Les informations journalisées peuvent contenir des données + d'authentification en clair utilisées ou validées lors de + l'authentification LDAP ; vous devez donc prendre soin de protéger + et de purger le journal des erreurs lorsque cette directive est + utilisée.

+
+ + +
+
top
+

Directive LDAPOpCacheEntries

+ + + + + + + +
Description:Nombre d'entrées utilisées pour mettre en cache les +opérations de comparaison LDAP
Syntaxe:LDAPOpCacheEntries nombre
Défaut:LDAPOpCacheEntries 1024
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier le nombre d'entrées que + mod_ldap va utiliser pour mettre en cache les + opérations de comparaison LDAP. La valeur par défaut est de 1024 + entrées. Si elle est définie à 0, la mise en cache des opérations de + comparaison LDAP est désactivée.

+ +
+
top
+

Directive LDAPOpCacheTTL

+ + + + + + + +
Description:Durée pendant laquelle les entrées du cache d'opérations +restent valides
Syntaxe:LDAPOpCacheTTL secondes
Défaut:LDAPOpCacheTTL 600
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier la durée (en secondes) + pendant laquelle les entrées du cache d'opérations restent valides. + La valeur par défaut est de 600 secondes.

+ +
+
top
+

Directive LDAPReferralHopLimit

+ + + + + + + + +
Description:Le nombre maximum de redirections vers des serveurs +alternatifs (referrals) avant l'abandon de la requête +LDAP.
Syntaxe:LDAPReferralHopLimit nombre
Défaut:Dépend du SDK, en général entre 5 et 10
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ldap
+

Si elle est activée par la directive LDAPReferrals, cette directive permet de + définir le nombre maximum de sauts vers des serveurs alternatifs (referrals) + avant l'abandon de la requête LDAP.

+ +
+

L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.

+
+ +
+
top
+

Directive LDAPReferrals

+ + + + + + + + + +
Description:Active la redirection vers des serveurs alternatifs au +cours des requêtes vers le serveur LDAP.
Syntaxe:LDAPReferrals On|Off|default
Défaut:LDAPReferrals On
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ldap
Compatibilité:Le paramètre default est disponible depuis la +version 2.4.7 du serveur HTTP Apache.
+

Certains serveurs LDAP partagent leur annuaire en plusieurs + domaines et utilisent le système des redirections (referrals) pour + aiguiller un client lorsque les limites d'un domaine doivent être + franchies. Ce processus est similaire à une redirection HTTP. Les + bibliothèques client LDAP ne respectent pas forcément ces + redirections par défaut. Cette directive permet de configurer + explicitement les redirections LDAP dans le SDK sous-jacent.

+ +

La directive LDAPReferrals accepte les + valeurs suivantes :

+ +
+
"on"
+

Avec la valeur "on", la prise en compte des redirections LDAP par + le SDK sous-jacent est activée, la directive LDAPReferralHopLimit permet de surcharger la + "hop limit" du SDK, et un "LDAP rebind callback" est enregistré.

+
"off"
+

Avec la valeur "off", la prise en compte des redirections + LDAP par le SDK sous-jacent est complètement désactivée.

+
"default"
+

Avec la valeur "default", la prise en compte des redirections LDAP + par le SDK sous-jacent n'est pas modifiée, la directive LDAPReferralHopLimit ne permet pas de + surcharger la "hop limit" du SDK, et aucun "LDAP rebind callback" n'est + enregistré.

+
+ +

La directive LDAPReferralHopLimit travaille en conjonction + avec cette directive pour limiter le nombre de redirections à suivre pour + achever le traitement de la requête LDAP. Lorsque le processus de + redirection est activé par la valeur "On", les données d'authentification du + client sont transmises via un "rebind callback" à tout serveur LDAP qui en + fait la demande.

+ +
+
top
+

Directive LDAPRetries

+ + + + + + + +
Description:Définit le nombre maximum de tentatives de connexions au +serveur LDAP.
Syntaxe:LDAPRetries nombre d'essais
Défaut:LDAPRetries 3
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Suite à des échecs de connexion au serveur LDAP, le serveur + tentera de se connecter autant de fois qu'indiqué par la directive + LDAPRetries. Si cette directive est définie à + 0, le serveur ne tentera pas d'autre connexion après un échec.

+

Il est possible d'effectuer une autre tentative de connexion en + cas d'erreurs LDAP du type délai dépassé ou connexion refusée.

+ +
+
top
+

Directive LDAPRetryDelay

+ + + + + + + +
Description:Définit le temps d'attente avant un autre essai de connexion au +serveur LDAP.
Syntaxe:LDAPRetryDelay secondes
Défaut:LDAPRetryDelay 0
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Si la directive LDAPRetryDelay est définie + à une valeur différente de 0, le serveur attendra pendant la durée + spécifiée pour envoyer à nouveau sa requête LDAP. Une valeur de 0 + implique une absence de délai pour les essais successifs.

+ +

Il est possible d'effectuer une autre tentative de connexion en + cas d'erreurs LDAP du type délai dépassé ou connexion refusée.

+ +
+
top
+

Directive LDAPSharedCacheFile

+ + + + + + +
Description:Définit le fichier du cache en mémoire +partagée
Syntaxe:LDAPSharedCacheFile chemin/fichier
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier le chemin du + fichier du cache en mémoire partagée. Si elle n'est pas définie, la + mémoire partagée anonyme sera utilisée si la plate-forme la + supporte.

+ + +
+
top
+

Directive LDAPSharedCacheSize

+ + + + + + + +
Description:Taille en octets du cache en mémoire partagée
Syntaxe:LDAPSharedCacheSize octets
Défaut:LDAPSharedCacheSize 500000
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier le nombre d'octets à allouer + pour le cache en mémoire partagée. La valeur par + défaut est 500kb. + Si elle est définie à 0, le cache en mémoire partagée ne sera pas + utilisé et chaque processus HTTPD va créer son propre cache.

+ +
+
top
+

Directive LDAPTimeout

+ + + + + + + + +
Description:Spécifie le délai d'attente pour les opérations de +recherche et d'identification LDAP en secondes
Syntaxe:LDAPTimeout secondes
Défaut:LDAPTimeout 60
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
Compatibilité:Disponible à partir de la version 2.3.5 du serveur HTTP +Apache
+

Cette directive permet de spécifier le délai d'attente pour les + opérations de recherche et d'identification, ainsi que l'option + LDAP_OPT_TIMEOUT dans la bibliothèque LDAP client sous-jacente, + lorsqu'elle est disponible.

+ +

Lorsque le délai est atteint, httpd va refaire un essai dans le + cas où une connexion existante a été silencieusement fermée par un + pare-feu. Les performances seront cependant bien meilleures si le + pare-feu est configuré pour envoyer des paquets TCP RST au lieu de + rejeter silencieusement les paquets.

+ +
+

Les délais pour les opérations de comparaison LDAP nécessitent un + SDK avec LDAP_OPT_TIMEOUT, comme OpenLDAP >= 2.4.4.

+
+ + +
+
top
+

Directive LDAPTrustedClientCert

+ + + + + + +
Description:Définit le nom de fichier contenant un certificat client ou +un alias renvoyant vers un certificat client spécifique à une connexion. +Tous les SDK LDAP ne supportent pas les certificats clients par +connexion.
Syntaxe:LDAPTrustedClientCert type +chemin/nom-fichier/alias [mot de passe]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier le chemin et le nom de fichier ou + l'alias d'un certificat client par connexion utilisé lors de l'établissement + d'une connexion SSL ou TLS avec un serveur LDAP. Les sections directory ou + location peuvent posséder leurs propres configurations de certificats + clients. Certains SDK LDAP (en particulier Novell) ne supportent pas les + certificats clients par connexion, et renvoient une erreur lors de la + connexion au serveur LDAP si vous tenter d'utiliser cette directive + (Utilisez à la place la directive LDAPTrustedGlobalCert pour les certificats + clients sous Novell - Voir plus haut le guide des certificats SSL/TLS pour + plus de détails). Le paramètre type spécifie le type du certificat en cours + de définition, en fonction du SDK LDAP utilisé. Les types supportés sont + :

+
    +
  • CA_DER - certificat de CA codé en binaire DER
  • +
  • CA_BASE64 - certificat de CA codé en PEM
  • +
  • CERT_DER - certificat client codé en binaire DER
  • +
  • CERT_BASE64 - certificat client codé en PEM
  • +
  • CERT_NICKNAME - certificat client "nickname" (SDK Netscape)
  • +
  • KEY_DER - clé privée codée en binaire DER
  • +
  • KEY_BASE64 - clé privée codée en PEM
  • +
+ +
+
top
+

Directive LDAPTrustedGlobalCert

+ + + + + + +
Description:Définit le nom de fichier ou la base de données contenant +les Autorités de Certification de confiance globales ou les certificats +clients globaux
Syntaxe:LDAPTrustedGlobalCert type +chemin/nom-fichier [mot de passe]
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier le chemin et le nom du fichier + contenant les certificats des CA de confiance et/ou les certificats clients + du système global que mod_ldap utilisera pour établir une + connexion SSL ou TLS avec un serveur LDAP. Notez que toute information + relative aux certificats spécifiée en utilisant cette directive s'applique + globalement à l'ensemble de l'installation du serveur. Certains SDK LDAP (en + particulier Novell) nécessitent la définition globale de tous les + certificats clients en utilisant cette directive. La plupart des autres SDK + nécessitent la définition des certificats clients dans une section Directory + ou Location en utilisant la directive LDAPTrustedClientCert. Si vous ne définissez + pas ces directives correctement, une erreur sera générée lors des tentatives + de contact avec un serveur LDAP, ou la connexion échouera silencieusement + (Voir plus haut le guide des certificats SSL/TLS pour plus de détails). Le + paramètre type spécifie le type de certificat en cours de définition, en + fonction du SDK LDAP utilisé. Les types supportés sont :

+
    +
  • CA_DER - certificat de CA codé en binaire DER
  • +
  • CA_BASE64 - certificat de CA codé en PEM
  • +
  • CA_CERT7_DB - fichier de base de données des certificats de CA + de Netscape cert7.db
  • +
  • CA_SECMOD - fichier de base de données secmod de Netscape
  • +
  • CERT_DER - certificat client codé en binaire DER
  • +
  • CERT_BASE64 - certificat client codé en PEM
  • +
  • CERT_KEY3_DB - fichier de base de données des certificats + clients de Netscape key3.db
  • +
  • CERT_NICKNAME - certificat client "nickname" (SDK Netscape)
  • +
  • CERT_PFX - certificat client codé en PKCS#12 (SDK Novell)
  • +
  • KEY_DER - clé privée codée en binaire DER
  • +
  • KEY_BASE64 - clé privée codée en PEM
  • +
  • KEY_PFX - clé privée codée en PKCS#12 (SDK Novell)
  • +
+ +
+
top
+

Directive LDAPTrustedMode

+ + + + + + +
Description:Spécifie le mode (SSL ou TLS) à utiliser lors de la +connexion à un serveur LDAP.
Syntaxe:LDAPTrustedMode type
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ldap
+

Les modes suivants sont supportés :

+
    +
  • NONE - aucun chiffrement
  • +
  • SSL - chiffrement ldaps:// sur le port par défaut 636
  • +
  • TLS - chiffrement STARTTLS sur le port par défaut 389
  • +
+ +

Les modes ci-dessus ne sont pas supportés par tous les SDK LDAP. + Un message d'erreur sera généré à l'exécution si un mode n'est pas + supporté, et la connexion au serveur LDAP échouera. +

+ +

Si une URL de type ldaps:// est spécifiée, le mode est forcé à SSL et la + définition de LDAPTrustedMode est ignorée.

+ +
+
top
+

Directive LDAPVerifyServerCert

+ + + + + + + +
Description:Force la vérification du certificat du +serveur
Syntaxe:LDAPVerifyServerCert On|Off
Défaut:LDAPVerifyServerCert On
Contexte:configuration globale
Statut:Extension
Module:mod_ldap
+

Cette directive permet de spécifier s'il faut forcer la + vérification d'un certificat de serveur lors de l'établissement + d'une connexion SSL avec un serveur LDAP.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html b/docs/manual/mod/mod_log_config.html new file mode 100644 index 0000000..98ae674 --- /dev/null +++ b/docs/manual/mod/mod_log_config.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_log_config.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_log_config.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_log_config.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_log_config.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_log_config.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_config.html.en b/docs/manual/mod/mod_log_config.html.en new file mode 100644 index 0000000..e0ac24c --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.en @@ -0,0 +1,606 @@ + + + + + +mod_log_config - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_log_config

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Logging of the requests made to the server
Status:Base
Module Identifier:log_config_module
Source File:mod_log_config.c
+

Summary

+ +

This module provides for flexible logging of client + requests. Logs are written in a customizable format, and may be + written directly to a file, or to an external program. + Conditional logging is provided so that individual requests may + be included or excluded from the logs based on characteristics + of the request.

+ +

Three directives are provided by this module: + TransferLog to create + a log file, LogFormat + to set a custom format, and CustomLog to define a log file and format in one + step. The TransferLog and CustomLog directives can be used multiple times in each + server to cause each request to be logged to multiple files.

+
+ +
top
+
+

Custom Log Formats

+ +

The format argument to the LogFormat and CustomLog directives is a string. This string is + used to log each request to the log file. It can contain literal + characters copied into the log files and the C-style control + characters "\n" and "\t" to represent new-lines and tabs. + Literal quotes and backslashes should be escaped with + backslashes.

+ +

The characteristics of the request itself are logged by + placing "%" directives in the format string, which are + replaced in the log file by the values as follows:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Format StringDescription
%%The percent sign.
%aClient IP address of the request (see the + mod_remoteip module).
%{c}aUnderlying peer IP address of the connection (see the + mod_remoteip module).
%ALocal IP-address.
%BSize of response in bytes, excluding HTTP headers.
%bSize of response in bytes, excluding HTTP headers. In CLF format, i.e. + a '-' rather than a 0 when no bytes are sent.
%{VARNAME}CThe contents of cookie VARNAME in the request sent + to the server. Only version 0 cookies are fully supported.
%DThe time taken to serve the request, in microseconds.
%{VARNAME}eThe contents of the environment variable + VARNAME.
%fFilename.
%hRemote hostname. Will log the IP address if HostnameLookups is set to + Off, which is the default. If it logs the hostname + for only a few hosts, you probably have access control + directives mentioning them by name. See the Require host + documentation.
%{c}hLike %h, but always reports on the hostname of the + underlying TCP connection and not any modifications to the + remote hostname by modules like mod_remoteip.
%HThe request protocol.
%{VARNAME}iThe contents of VARNAME: header line(s) + in the request sent to the server. Changes made by other + modules (e.g. mod_headers) affect this. If you're + interested in what the request header was prior to when most + modules would have modified it, use mod_setenvif + to copy the header into an internal environment variable and log + that value with the %{VARNAME}e described + above. +
%kNumber of keepalive requests handled on this connection. Interesting if + KeepAlive is being used, so that, + for example, a '1' means the first keepalive request after the initial + one, '2' the second, etc...; + otherwise this is always 0 (indicating the initial request).
%lRemote logname (from identd, if supplied). This will return a + dash unless mod_ident is present and IdentityCheck is set + On.
%LThe request log ID from the error log (or '-' if nothing has been + logged to the error log for this request). Look for the + matching error log line to see what request caused what error.
%mThe request method.
%{VARNAME}nThe contents of note VARNAME from another + module.
%{VARNAME}oThe contents of VARNAME: header line(s) + in the reply.
%pThe canonical port of the server serving the request.
%{format}pThe canonical port of the server serving the request, or the + server's actual port, or the client's actual port. Valid formats + are canonical, local, or remote. +
%PThe process ID of the child that serviced the request.
%{format}PThe process ID or thread ID of the child that serviced the + request. Valid formats are pid, tid, + and hextid. +
%qThe query string (prepended with a ? if a query + string exists, otherwise an empty string).
%rFirst line of request.
%RThe handler generating the response (if any).
%sStatus. For requests that have been internally redirected, this is + the status of the original request. Use %>s + for the final status.
%tTime the request was received, in the format [18/Sep/2011:19:18:28 -0400]. + The last number indicates the timezone offset from GMT
%{format}tThe time, in the form given by format, which should be in + an extended strftime(3) format (potentially localized). + If the format starts with begin: (default) the time is taken + at the beginning of the request processing. If it starts with + end: it is the time when the log entry gets written, + close to the end of the request processing. In addition to the formats + supported by strftime(3), the following format tokens are + supported: + + + + + + +
secnumber of seconds since the Epoch
msecnumber of milliseconds since the Epoch
usecnumber of microseconds since the Epoch
msec_fracmillisecond fraction
usec_fracmicrosecond fraction
+ These tokens can not be combined with each other or strftime(3) + formatting in the same format string. You can use multiple + %{format}t tokens instead. +
%TThe time taken to serve the request, in seconds.
%{UNIT}TThe time taken to serve the request, in a time unit given by + UNIT. Valid units are ms for milliseconds, + us for microseconds, and s for seconds. + Using s gives the same result as %T + without any format; using us gives the same result + as %D. Combining %T with a unit is + available in 2.4.13 and later.
%uRemote user if the request was authenticated. May be bogus if return status + (%s) is 401 (unauthorized).
%UThe URL path requested, not including any query string.
%vThe canonical ServerName + of the server serving the request.
%VThe server name according to the UseCanonicalName setting.
%XConnection status when response is completed: + + + + + + + + + +
X =Connection aborted before the response completed.
+ =Connection may be kept alive after the response is + sent.
- = Connection will be closed after the response is + sent.
+ +
%IBytes received, including request and headers. Cannot be zero. + You need to enable mod_logio to use this.
%OBytes sent, including headers. May be zero in rare cases + such as when a request is aborted before a response is sent. + You need to enable mod_logio to use this.
%SBytes transferred (received and sent), including request and headers, + cannot be zero. This is the combination of %I and %O. You need to + enable mod_logio to use this.
%{VARNAME}^tiThe contents of VARNAME: trailer line(s) + in the request sent to the server.
%{VARNAME}^toThe contents of VARNAME: trailer line(s) + in the response sent from the server.
+ +

Modifiers

+ +

Particular items can be restricted to print only for + responses with specific HTTP status codes by placing a + comma-separated list of status codes immediately following the + "%". The status code list may be preceded by a "!" to + indicate negation.

+ + + + + + + + +
Format StringMeaning
%400,501{User-agent}iLogs User-agent on 400 errors and 501 errors only. For + other status codes, the literal string "-" will be + logged.
%!200,304,302{Referer}iLogs Referer on all requests that do + not return one of the three specified codes, + "-" otherwise. +
+ +

The modifiers "<" and ">" can be used for requests that + have been internally redirected to choose whether the original + or final (respectively) request should be consulted. By + default, the % directives %s, %U, %T, + %D, and %r look at the original request + while all others look at the final request. So for example, + %>s can be used to record the final status of + the request and %<u can be used to record the + original authenticated user on a request that is internally + redirected to an unauthenticated resource.

+ + + +

Format Notes

+ +

For security reasons, starting with version 2.0.46, + non-printable and other special characters in %r, + %i and %o are escaped using + \xhh sequences, where hh + stands for the hexadecimal representation of the raw + byte. Exceptions from this rule are " and + \, which are escaped by prepending a backslash, and + all whitespace characters, which are written in their C-style + notation (\n, \t, etc). In versions + prior to 2.0.46, no escaping was performed on these strings so + you had to be quite careful when dealing with raw log files.

+ +

Since httpd 2.0, unlike 1.3, the %b and + %B format strings do not represent the number of + bytes sent to the client, but simply the size in bytes of the + HTTP response (which will differ, for instance, if the + connection is aborted, or if SSL is used). The %O + format provided by mod_logio will log the + actual number of bytes sent over the network.

+ +
+

Note: mod_cache is implemented as a + quick-handler and not as a standard handler. Therefore, the + %R format string will not return any handler + information when content caching is involved.

+
+ + + +

Examples

+ +

Some commonly used log format strings are:

+ +
+
Common Log Format (CLF)
+
"%h %l %u %t \"%r\" %>s %b"
+ +
Common Log Format with Virtual Host
+
"%v %h %l %u %t \"%r\" %>s %b"
+ +
NCSA extended/combined log format
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""
+ +
Referer log format
+
"%{Referer}i -> %U"
+ +
Agent (Browser) log format
+
"%{User-agent}i"
+
+ +

You can use the %{format}t directive multiple + times to build up a time format using the extended format tokens + like msec_frac:

+
+
Timestamp including milliseconds
+
"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"
+ +
+ + +
top
+
+

Security Considerations

+

See the security tips + document for details on why your security could be compromised + if the directory where logfiles are stored is writable by + anyone other than the user that starts the server.

+
+
top
+

BufferedLogs Directive

+ + + + + + + +
Description:Buffer log entries in memory before writing to disk
Syntax:BufferedLogs On|Off
Default:BufferedLogs Off
Context:server config
Status:Base
Module:mod_log_config
+

The BufferedLogs directive causes + mod_log_config to store several log entries in + memory and write them together to disk, rather than writing them + after each request. On some systems, this may result in more + efficient disk access and hence higher performance. It may be + set only once for the entire server; it cannot be configured + per virtual-host.

+ +
This directive should be used with caution as a crash might + cause loss of logging data.
+ +
+
top
+

CustomLog Directive

+ + + + + + +
Description:Sets filename and format of log file
Syntax:CustomLog file|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]
Context:server config, virtual host
Status:Base
Module:mod_log_config
+

The CustomLog directive is used to + log requests to the server. A log format is specified, and the + logging can optionally be made conditional on request + characteristics using environment variables.

+ +

The first argument, which specifies the location to which + the logs will be written, can take one of the following two + types of values:

+ +
+
file
+
A filename, relative to the ServerRoot.
+ +
pipe
+
The pipe character "|", followed by the path + to a program to receive the log information on its standard + input. See the notes on piped logs + for more information. + +

Security:

+

If a program is used, then it will be run as the user who + started httpd. This will be root if the server was + started by root; be sure that the program is secure.

+
+

Note

+

When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashed are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.

+
+
+ +

The second argument specifies what will be written to the + log file. It can specify either a nickname defined by + a previous LogFormat + directive, or it can be an explicit format string as + described in the log formats section.

+ +

For example, the following two sets of directives have + exactly the same effect:

+ +
# CustomLog with format nickname
+LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog "logs/access_log" common
+
+# CustomLog with explicit format string
+CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"
+ + +

The third argument is optional and controls whether or + not to log a particular request. The condition can be the + presence or absence (in the case of a 'env=!name' + clause) of a particular variable in the server + environment. Alternatively, the condition + can be expressed as arbitrary boolean expression. If the condition is not satisfied, the request + will not be logged. References to HTTP headers in the expression + will not cause the header names to be added to the Vary header.

+ +

Environment variables can be set on a per-request + basis using the mod_setenvif + and/or mod_rewrite modules. For + example, if you want to record requests for all GIF + images on your server in a separate logfile but not in your main + log, you can use:

+ +
SetEnvIf Request_URI \.gif$ gif-image
+CustomLog "gif-requests.log" common env=gif-image
+CustomLog "nongif-requests.log" common env=!gif-image
+ + +

Or, to reproduce the behavior of the old RefererIgnore + directive, you might use the following:

+ +
SetEnvIf Referer example\.com localreferer
+CustomLog "referer.log" referer env=!localreferer
+ + +
+
top
+

GlobalLog Directive

+ + + + + + + +
Description:Sets filename and format of log file
Syntax:GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]
Context:server config
Status:Base
Module:mod_log_config
Compatibility:Available in Apache HTTP Server 2.4.19 and later
+ +

The GlobalLog directive defines a log shared + by the main server configuration and all defined virtual hosts.

+ +

The GlobalLog directive is identical to + the CustomLog directive, apart from the following + differences:

+
    +
  • GlobalLog is not valid in virtual host + context.
  • +
  • GlobalLog is used by virtual hosts that + define their own CustomLog, unlike a + globally specified CustomLog.
  • +
+ +
+
top
+

LogFormat Directive

+ + + + + + + +
Description:Describes a format for use in a log file
Syntax:LogFormat format|nickname +[nickname]
Default:LogFormat "%h %l %u %t \"%r\" %>s %b"
Context:server config, virtual host
Status:Base
Module:mod_log_config
+

This directive specifies the format of the access log + file.

+ +

The LogFormat directive can take one of two + forms. In the first form, where only one argument is specified, + this directive sets the log format which will be used by logs + specified in subsequent TransferLog + directives. The single argument can specify an explicit + format as discussed in the custom log + formats section above. Alternatively, it can use a + nickname to refer to a log format defined in a + previous LogFormat directive as described + below.

+ +

The second form of the LogFormat + directive associates an explicit format with a + nickname. This nickname can then be used in + subsequent LogFormat or + CustomLog directives + rather than repeating the entire format string. A + LogFormat directive that defines a nickname + does nothing else -- that is, it only + defines the nickname, it doesn't actually apply the format and make + it the default. Therefore, it will not affect subsequent + TransferLog directives. + In addition, LogFormat cannot use one nickname + to define another nickname. Note that the nickname should not contain + percent signs (%).

+ +

Example

LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
+
+ + +
+
top
+

TransferLog Directive

+ + + + + + +
Description:Specify location of a log file
Syntax:TransferLog file|pipe
Context:server config, virtual host
Status:Base
Module:mod_log_config
+

This directive has exactly the same arguments and effect as + the CustomLog + directive, with the exception that it does not allow the log format + to be specified explicitly or for conditional logging of requests. + Instead, the log format is determined by the most recently specified + LogFormat directive + which does not define a nickname. Common Log Format is used if no + other format has been specified.

+ +

Example

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
+TransferLog logs/access_log
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.fr.utf8 b/docs/manual/mod/mod_log_config.html.fr.utf8 new file mode 100644 index 0000000..5590aaa --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.fr.utf8 @@ -0,0 +1,645 @@ + + + + + +mod_log_config - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_log_config

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Journalisation des requêtes envoyées au +serveur
Statut:Base
Identificateur de Module:log_config_module
Fichier Source:mod_log_config.c
+

Sommaire

+ +

Ce module apporte une grande souplesse dans la journalisation des + requêtes des clients. Les journaux sont écrits sous un format + personnalisable, et peuvent être enregistrés directement dans un + fichier, ou redirigés vers un programme externe. La journalisation + conditionnelle est supportée, si bien que des requêtes individuelles + peuvent être incluses ou exclues des journaux en fonction de leur + caractéristiques.

+ +

Ce module fournit trois directives : TransferLog crée un fichier + journal, LogFormat + définit un format personnalisé, et CustomLog définit un fichier journal et un format en + une seule étape. Pour journaliser les requêtes dans plusieurs + fichiers, vous pouvez utiliser plusieurs fois les directives + TransferLog et + CustomLog dans chaque serveur.

+
+ +
top
+
+

Formats de journaux personnalisés

+ +

L'argument format des directives LogFormat et CustomLog est une chaîne de + caractères. Cette chaîne définit le format de la journalisation des + requêtes dans le fichier journal. Elle peut contenir des caractères + littéraux qui seront reproduits dans le fichier journal, et les + caractères de contrôle de style C "\n" et "\t" représentant + respectivement une nouvelle ligne et une tabulation. Les guillemets + et les anti-slashes littéraux doivent être échappés à l'aide + d'anti-slashes.

+ +

Les caractéristiques de la requête en elle-même sont journalisées + en insérant des directives "%" dans la chaîne de + format, celles-ci étant remplacées dans le fichier journal par + certaines valeurs comme suit :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Chaîne de formatDescription
%%Le signe "pourcentage"
%aL'adresse IP distante (voir le module + mod_remoteip).
%{c}aAdresse IP distante de la connexion(voir le module + mod_remoteip)
%AL'adresse IP locale
%BLa taille de la réponse en octets, en excluant les en-têtes + HTTP.
%bLa taille de la réponse en octets, en excluant les en-têtes + HTTP. Au format CLF , c'est à dire un '-' à la + place d'un 0 lorsqu'aucun octet n'est renvoyé.
%{NOMVAR}CLe contenu du cookie NOMVAR dans la requête + envoyée au serveur. Seuls les cookies version 0 sont pleinement + supportés.
%DLe temps mis à servir la requête, en + microsecondes.
%{NOMVAR}eLe contenu de la variable d'environnement + NOMVAR
%fNom de fichier
%hServeur distant. Contiendra l'adresse IP si la directive + HostnameLookups est définie + à Off, ce qui est sa valeur par défaut. Si cette + adresse IP n'est enregistrée que pour certains serveurs, vous + avez probablement défini des directives de contrôle d'accès qui + mentionnent ces derniers par leurs noms. Voir la documentation de Require + host.
%{c}hSemblable à %h, mais exploite toujours le nom d'hôte de + la connection TCP sous-jacente, en ignorant toute modification réalisée + sur le nom d'hôte distant par des modules tels que + mod_remoteip.
%HLe protocole de la requête
%{NOMVAR}iLe contenu des lignes d'en-tête + NOMVAR: dans la requête envoyée au + serveur. Ces en-têtes sont ajoutés par d'autres modules (par + exemple mod_headers). Si vous êtes intéressé + par ce qu'était l'en-tête de la requête avant d'être modifié + par la plupart des modules, utilisez + mod_setenvif pour copier l'en-tête dans une + variable d'environnement interne et journaliser sa valeur via + le champ %{VARNAME}e décrit plus haut. + +
%kNombre de requêtes persistantes en cours pour cette + connexion. Interessant si la directive KeepAlive est utilisée ; par exemple, + '1' signifie la première requête après la requête initiale, '2' + la seconde, etc... ; autrement, il s'agit toujours de 0 + (indiquant la requête initiale).
%lLe nom de connexion distant (en provenance d'identd, si + disponible). Affiche un tiret, sauf si + mod_ident est présent et si IdentityCheck est à + On.
%LL'identifiant du message de journalisation de la requête + dans le journal des erreurs (ou '-' si aucun message n'a + été enregistré dans le journal des erreurs pour cette requête)
%mLa méthode de la requête
%{NOMVAR}nLe contenu de la note NOMVAR en provenance d'un + autre module.
%{NOMVAR}oLe contenu de la ligne d'en-tête + NOMVAR: de la réponse.
%pLe port canonique du serveur servant la requête
%{format}pLe port canonique du serveur servant la requête ou le + véritable port du serveur ou le véritable port du client. les + formats valides sont canonical, local, + ou remote. +
%PLe numéro de processus du processus enfant qui a servi la + requête.
%{format}PLe numéro de processus ou le numéro de thread du processus + enfant qui a servi la requête. Les formats valides sont + pid, tid, et hextid. +
%qLa chaîne d'arguments (préfixée par un ? si une + chaîne d'arguments existe, sinon une chaîne vide)
%rLa première ligne de la requête
%RLe gestionnaire qui génère la réponse (s'il y en a un).
%sStatut. Pour les requêtes redirigées en interne, il s'agit + du statut de la requête *originale* --- %>s pour + la dernière.
%tDate à laquelle la requête a été reçue (au format anglais + standard)
%{format}tLa date, sous la forme spécifiée par format, qui devrait + être au format étendu strftime(3) (éventuellement + localisé). Si le format commence par begin: (valeur + par défaut), la date est extraite au début du traitement de la + requête ; s'il commence par end:, la date + correspond au moment où l'entrée du journal est inscrite, par + conséquent vers la fin du traitement de la requête. Hormis les + formats supportés par strftime(3), les formats + suivants sont aussi disponibles : + + + + + + +
secnombre de secondes depuis Epoch
msecnombre de millisecondes depuis Epoch
usecnombre de microsecondes depuis Epoch
msec_fracfraction de milliseconde
usec_fracfraction de microseconde
+ Ces symboles ne peuvent pas être combinés entre eux ou avec un + formatage strftime(3) dans la même chaîne de + format. Par contre, vous pouvez utiliser plusieurs symboles + %{format}t.
%TLe temps mis pour servir la requête, en secondes.
%{UNIT}TLe temps mis pour traiter la requête dans une unité définie + par UNIT. Les valeurs d'unité valides sont + ms pour millisecondes, us pour + microsecondes et s pour secondes. Si + UNIT est omis, la valeur de l'unité par défaut est + la seconde ; spécifier la valeur d'unité us revient + à utiliser le format %D. La possibilité de + spécifier une valeur d'unité avec le format %T est + disponible depuis la version 2.4.13 du serveur HTTP Apache.
%uL'utilisateur distant (en provenance d'auth ; peut être faux + si le statut de retour (%s) est 401).
%ULe chemin de la requête, à l'exclusion de toute chaîne + d'arguments.
%vLe nom canonique du serveur qui a servi la requête, défini + par la directive ServerName.
%VLa nom du serveur en tenant compte de la définition de la + directive UseCanonicalName.
%XStatut de la connexion lorsque la réponse a été renvoyée + : + + + + + + + + + +
X =connexion abandonnée avant l'envoi de la réponse.
+ =la connexion peut rester ouverte après l'envoi de la + réponse.
- = la connexion sera fermée après l'envoi de la + réponse.
+ +
%ILe nombre d'octets reçus, en comptant la requête et les + en-têtes, ne peut être nul. Nécessite l'activation de + mod_logio.
%ONombre d'octets envoyés, y compris les en-têtes. Peut être + nul dans les rares cas où une requête est avortée avant que la + réponse ne soit envoyée. Nécessite l'activation de + mod_logio.
%SNombre d'octets transmis (en émission et réception), y + compris corps et en-têtes de requête. Ce nombre ne peut pas être + nul, et il correspond à la combinaison des formats %I et %O. + mod_logio doit être chargé pour pouvoir + utiliser ce format.
%{VARNAME}^tiLe contenu de VARNAME: dans les + paramètres de la requête envoyée au serveur.
%{VARNAME}^toLe contenu de VARNAME: dans les + paramètres de la réponse envoyée par le serveur.
+ +

Modificateurs

+ +

Il est possible de restreindre l'enregistrement de certains + éléments + en fonction du code de statut de la réponse, en insérant une liste + de codes de statut séparés par des virgules immédiatement après le + caractère "%". Par exemple, "%400,501{User-agent}i" + n'enregistrera l'en-tête User-agent que dans le cas + d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la + chaîne littérale "-" qui sera enregistrée. La liste + de codes peut être précédée d'un "!" pour inverser la + condition : "%!200,304,302{Referer}i" enregistre + l'en-tête Referer pour toutes les requêtes qui + ne renvoient pas un des trois codes spécifiés.

+ +

Les modificateurs "<" et ">" peuvent être utilisés pour + les requêtes qui ont été redirigées en interne afin de choisir si + c'est respectivement la requête originale ou finale qui doit être + consultée. Par défaut, les directives %s, %U, %T, %D, + et %r consultent la requête originale, alors que + toutes les autres consultent la requête finale. Ainsi, par + exemple, on peut utiliser %>s pour enregistrer le + statut final de la requête, et %<u pour + enregistrer l'utilisateur authentifié à l'origine pour une requête + redirigée en interne vers une ressource sans authentification.

+ + + +

Quelques Notes

+ +

Pour des raisons de sécurité, à partir de la version 2.0.46, + les caractères non imprimables et autres caractères spéciaux dans + les directives %r, %i et %o + doivent être échappés à l'aide des séquences + \xhh, + où hh est le code hexadécimal du caractère spécial. + Comme exceptions à cette règle, les caractères " et + \ doivent être échappés par un anti-slash, et tous + les "blancs" doivent être écrits selon leur notation de style C + (\n, \t, etc...). Avant la version + 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il + fallait être très prudent lors de l'exploitation des journaux + bruts.

+ +

A la différence de la version 1.3, depuis httpd 2.0, les chaînes + de format %b et %B ne représentent pas + le nombre d'octets envoyés au client, mais simplement la taille en + octets de la réponse HTTP (les deux étant différents, par exemple, + si la connexion est abandonnée, ou si SSL est utilisé). Le format + %O fourni par mod_logio, + enregistrera le nombre réel d'octets envoyés sur le réseau.

+ +

Note : mod_cache est implémenté en tant que + gestionnaire basique et non en tant que gestionnaire standard. + C'est pourquoi la chaîne de format %R ne renverra pas + d'information à propos du gestionnaire lorsqu'une mise en cache de + contenu entre en jeu.

+ + + +

Exemples

+ +

Quelques chaînes de format couramment utilisées :

+ +
+
Format de journal courant (CLF)
+
"%h %l %u %t \"%r\" %>s %b"
+ +
Format de journal courant avec un serveur virtuel
+
"%v %h %l %u %t \"%r\" %>s %b"
+ +
Format de journal NCSA étandu/combiné
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""
+ +
Format de journal de la page qui contient le lien vers la + page concernée (Referer)
+
"%{Referer}i -> %U"
+ +
Format de journal de l'agent (Navigateur)
+
"%{User-agent}i"
+
+ +

Vous pouvez utiliser plusieurs fois la directive + %{format}t pour construire un format de temps + utilisant les symboles de format étendus tels que + msec_frac :

+
+
Format de temps prenant en compte les milisecondes
+
"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"
+ +
+ + +
top
+
+

Considérations concernant la +sécurité

+

Voir le document conseils à matière de + sécurité pour plus de détails sur les raisons pour lesquelles + votre sécurité pourrait être compromise, si le répertoire où sont + stockés les fichiers journaux sont inscriptibles par tout autre + utilisateur que celui qui démarre le serveur.

+
+
top
+

Directive BufferedLogs

+ + + + + + + +
Description:Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque
Syntaxe:BufferedLogs On|Off
Défaut:BufferedLogs Off
Contexte:configuration globale
Statut:Base
Module:mod_log_config
+

Lorsque la directive BufferedLogs est à + "on", mod_log_config stocke de nombreuses entrées + du journal en mémoire, et les écrit d'un seul bloc sur disque, + plutôt que de les écrire après chaque requête. Sur certains + systèmes, ceci peut améliorer l'efficacité des accès disque, et par + conséquent les performances. La directive ne peut être définie + qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être + définie au niveau d'un serveur virtuel.

+ +
Cette directive doit être utilisée avec + précautions car un crash peut provoquer la perte de données de + journalisation.
+ +
+
top
+

Directive CustomLog

+ + + + + + +
Description:Définit le nom et le format du fichier +journal
Syntaxe:CustomLog fichier|pipe +format|alias +[env=[!]variable-environnement| +expr=expression]
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_log_config
+

La directive CustomLog permet de contrôler + la journalisation des requêtes destinées au serveur. Un format de + journal est spécifié, et la journalisation peut s'effectuer de + manière conditionnelle en fonction des caractéristiques de la + requête en utilisant des variables d'environnement.

+ +

Le premier argument, qui spécifie l'emplacement où les journaux + seront écrits, accepte deux types de valeurs :

+ +
+
fichier
+
Un nom de fichier, relatif au répertoire défini par la + directive ServerRoot.
+ +
pipe
+
Le caractère pipe "|", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Voir les notes à propos de la journalisation redirigée pour plus + d'informations. + +

Sécurité :

+

Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + httpd. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé.

+
+

Note

+

Lors de la spécification d'un chemin de fichier sur les + plate-formes non-Unix, il faut prendre soin de ne pas oublier + que seuls les slashes directs doivent être utilisés, même si la + plate-forme autorise l'emploi d'anti-slashes. D'une manière + générale, c'est une bonne idée que de n'utiliser que des slashes + directs dans les fichiers de configuration.

+
+
+ +

Le second argument permet de définir ce qui va être écrit dans le + fichier journal. Il peut contenir soit un alias prédéfini + par une directive LogFormat, soit une chaîne de + format explicite comme décrit dans la section formats de journaux.

+ +

Par exemple, les deux blocs de directives suivants produisent le + même effet :

+ +
# Journal personnalisé avec alias de format
+LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog "logs/access_log" common
+
+# Journal personnalisé avec chaîne de format explicite
+CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"
+ + +

Le troisième argument est optionnel et permet de contrôler si une + requête doit être ou non journalisée. Dans le cas d'une clause + 'env=!nom', la condition peut être la + présence ou l'absence d'une variable particulière dans + l'environnement du serveur. Dans le cas + d'une clause 'expr=expression', la condition consiste + en une expression booléenne + quelconque. Si la condition n'est pas vérifiée, la requête ne sera + pas journalisée. D'éventuelles références à des en-têtes HTTP dans + l'expression rationnelle n'entraîneront pas l'ajout des noms + d'en-tête correspondants à l'en-tête Vary.

+ +

Les variables d'environnement peuvent être définies au niveau de + chaque requête en utilisant les modules + mod_setenvif et/ou mod_rewrite. + Par exemple, si vous voulez enregistrer les requêtes pour toutes les + images GIF sur votre serveur dans un fichier journal séparé, et pas + dans votre journal principal, vous pouvez utiliser :

+ +
SetEnvIf Request_URI \.gif$ gif-image
+CustomLog "gif-requests.log" common env=gif-image
+CustomLog "nongif-requests.log" common env=!gif-image
+ + +

Ou, pour reproduire le comportement de l'ancienne directive + RefererIgnore, vous pouvez utiliser :

+ +
SetEnvIf Referer example\.com localreferer
+CustomLog "referer.log" referer env=!localreferer
+ + +
+
top
+

Directive GlobalLog

+ + + + + + + +
Description:Définit le nom et le format du fichier journal
Syntaxe:GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]
Contexte:configuration globale
Statut:Base
Module:mod_log_config
Compatibilité:Disponible à partir de la version 2.4.19 du serveur HTTP Apache
+ +

La directive GlobalLog permet de spécifier un + journal partagé entre le serveur principal et tous les serveurs virtuels + définis.

+ +

Elle est identique à la directive CustomLog à ces + différences près :

+
    +
  • Elle n'est pas valide dans un contexte de serveur virtuel.
  • +
  • A la différence d'une directive CustomLog + définie globalement, elle est prise en compte par les serveurs virtuels + qui définissent leur propre directive CustomLog.
  • +
+ +
+
top
+

Directive LogFormat

+ + + + + + + +
Description:Décrit un format utilisable dans un fichier +journal
Syntaxe:LogFormat format|alias +[alias]
Défaut:LogFormat "%h %l %u %t \"%r\" %>s %b"
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_log_config
+

Cette directive permet de spécifier le format du fichier journal + des accès.

+ +

La directive LogFormat se présente sous + deux formes. Sous la première forme, qui ne possède qu'un seul + argument, la directive définit le format qui sera utilisé dans les + journaux spécifiés par les directives + TransferLog ultérieures. L'argument unique + peut contenir un format explicite comme décrit dans la + section formats de journaux personnalisés + ci-dessus. Il peut aussi contenir un alias faisant + référence à un format de journal prédéfini par une directive + LogFormat comme décrit plus loin.

+ +

Sous sa seconde forme, la directive + LogFormat associe un format + explicite à un alias. Cet alias peut + ensuite s'utiliser dans les directives + LogFormat ou CustomLog ultérieures, ce qui + évite d'avoir à répéter l'ensemble de la chaîne de format. Une + directive LogFormat qui définit un alias + ne fait rien d'autre -- c'est à dire qu'elle ne + fait que définir l'alias, elle n'applique pas le format et n'en + fait pas le format par défaut. Par conséquent, elle n'affecte pas + les directives TransferLog ultérieures. En + outre, la directive LogFormat ne peut pas + utiliser un alias pour en définir un autre. Notez que l'alias ne + doit pas contenir de caractère pourcent (%).

+ +

Exemple

LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun
+
+ + +
+
top
+

Directive TransferLog

+ + + + + + +
Description:Spécifie l'emplacement d'un fichier journal
Syntaxe:TransferLog fichier|pipe
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_log_config
+

Cette directive possède exactement les mêmes arguments et produit + les mêmes effets que la directive CustomLog, à l'exception qu'elle + ne permet pas de spécifier un format de journal explicite ou la + journalisation conditionnelle des requêtes. En l'occurrence, le + format de journal est déterminé par la dernière définition d'une + directive LogFormat + qui ne définit pas d'alias. Si aucun format particulier n'a été + spécifié, c'est le Common Log Format qui sera utilisé.

+ +

Exemple

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
+TransferLog logs/access_log
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.ja.utf8 b/docs/manual/mod/mod_log_config.html.ja.utf8 new file mode 100644 index 0000000..0e9ea2a --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.ja.utf8 @@ -0,0 +1,510 @@ + + + + + +mod_log_config - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_log_config

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:サーãƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ­ã‚®ãƒ³ã‚°
ステータス:Base
モジュール識別å­:log_config_module
ソースファイル:mod_log_config.c
+

概è¦

+ +

+ ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’柔軟ã«ãƒ­ã‚°åŽé›†ã™ã‚‹æ©Ÿèƒ½ã‚’ + æä¾›ã—ã¾ã™ã€‚ログã¯ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºå¯èƒ½ãªæ›¸å¼ã§æ›¸ã‹ã‚Œã€ãƒ•ã‚¡ã‚¤ãƒ«ã«ç›´æŽ¥ + 書ã„ãŸã‚Šã€å¤–部プログラムã«æ¸¡ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚個々ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + 特徴ã«å¿œã˜ã¦ãƒ­ã‚°ã«æ›¸ã„ãŸã‚Šæ›¸ã‹ãªã‹ã£ãŸã‚Šã§ãるよã†ã«ã€æ¡ä»¶ã«ã‚ˆã‚‹ + ログåŽé›†ã‚‚æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ä¸‰ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–æä¾›ã—ã¾ã™: + ログファイルを作æˆã™ã‚‹ãŸã‚ã® TransferLog, + æ–°ã—ã„書å¼ã‚’ 定義ã™ã‚‹ LogFormat, + ログファイル㨠書å¼ã‚’一度ã«å®šç¾©ã™ã‚‹ CustomLog ã§ã™ã€‚ + å„リクエストãŒè¤‡æ•°å›žãƒ­ã‚°åŽé›†ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã« + TransferLog ディレクティブ㨠+ CustomLog + ディレクティブã¯è¤‡æ•°å›žä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+ +
top
+
+

カスタムログ書å¼

+ +

LogFormat ディレクティブ㨠+ CustomLog + ディレクティブã®æ›¸å¼ã‚’指定ã™ã‚‹å¼•æ•°ã¯æ–‡å­—列ã§ã™ã€‚ã“ã®æ–‡å­—列を使ã£ã¦ãã‚Œãžã‚Œã® + リクエストãŒãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒ­ã‚°åŽé›†ã•ã‚Œã¾ã™ã€‚ãã®æ–‡å­—列ã«ã¯ + ログファイルã«ãã®ã¾ã¾ + 書ã‹ã‚Œã‚‹æ–‡å­—列やã€ãã‚Œãžã‚Œæ”¹è¡Œã¨ã‚¿ãƒ–を表㙠C 言語 + å½¢å¼ã®åˆ¶å¾¡æ–‡å­— "\n" 㨠"\t" + ã¨ã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãã®ã¾ã¾å‡ºåŠ›ã•ã›ãŸã„引用符ã¨ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¯ + ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

リクエストã®ç‰¹å¾´ãã®ã‚‚ã®ã¯ "%" + ディレクティブを書å¼ã®æ–‡å­—列ã«æ›¸ãã“ã¨ã§ + ログåŽé›†ã•ã‚Œã¾ã™ã€‚"%" + ディレクティブã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã§ã¯ä»¥ä¸‹ã®ã‚ˆã†ãª + 値ã§ç½®æ›ã•ã‚Œã¾ã™:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
フォーマット文字列説明
%%パーセント記å·
%aリモート IP アドレス
%Aローカル IP アドレス
%Bレスãƒãƒ³ã‚¹ã®ãƒã‚¤ãƒˆæ•°ã€‚HTTP ヘッダã¯é™¤ã。
%bレスãƒãƒ³ã‚¹ã®ãƒã‚¤ãƒˆæ•°ã€‚HTTP ヘッダã¯é™¤ã。CLF 書å¼ã€‚ + ã™ãªã‚ã¡ã€1 ãƒã‚¤ãƒˆã‚‚é€ã‚‰ã‚Œãªã‹ã£ãŸã¨ã㯠0 ã§ã¯ãªã〠+ '-' ã«ãªã‚‹
%{Foobar}Cサーãƒã«é€ã‚‰ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆä¸­ã®ã‚¯ãƒƒã‚­ãƒ¼ Foobar ã®å€¤
%Dリクエストを処ç†ã™ã‚‹ã®ã«ã‹ã‹ã£ãŸæ™‚é–“ã€ãƒžã‚¤ã‚¯ãƒ­ç§’å˜ä½
%{FOOBAR}e環境変数 FOOBAR ã®å†…容
%fファイルå
%hリモートホスト
%Hリクエストプロトコル
%{Foobar}iサーãƒã«é€ã‚‰ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Foobar: + ヘッダã®å†…容
%l(identd ã‹ã‚‰ã‚‚ã—æä¾›ã•ã‚Œã¦ã„ã‚Œã°) リモートログå。 + ã“れ㯠mod_ident ãŒã‚µãƒ¼ãƒã«å­˜åœ¨ã—ã¦ã€ + IdentityCheck + ディレクティブ㌠On ã«è¨­å®šã•ã‚Œã¦ã„ãªã„é™ã‚Šã€ + - ã«ãªã‚Šã¾ã™ã€‚
%mリクエストメソッド
%{Foobar}nä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‹ã‚‰ã®ãƒ¡ãƒ¢ Foobar ã®å†…容
%{Foobar}o応答㮠Foobar: ヘッダã®å†…容
%pリクエストを扱ã£ã¦ã„るサーãƒã®æ­£å¼ãªãƒãƒ¼ãƒˆ
%{format}pサーãƒãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã—ã¦ã„ã‚‹ãƒãƒ¼ãƒˆã®å…¬å¼ + (訳注: canonical) ã®ãƒãƒ¼ãƒˆç•ªå·ã‹ã€ + サーãƒã®å®Ÿéš›ã®ãƒãƒ¼ãƒˆç•ªå·ã‹ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã®å®Ÿéš›ã®ãƒãƒ¼ãƒˆç•ªå·ã‹ã§ã™ã€‚ + format ã«ä½¿ãˆã‚‹æ–‡å­—列㯠canonical, local, + remote ã«ãªã‚Šã¾ã™ã€‚ +
%Pリクエストを扱ã£ãŸå­ãƒ—ロセスã®ãƒ—ロセス ID
%{format}Pリクエストを扱ã£ãŸãƒ¯ãƒ¼ã‚«ãƒ¼ã®ãƒ—ロセス ID ã‹ã‚¹ãƒ¬ãƒƒãƒ‰ ID。 + format ã¨ã—ã¦æœ‰åŠ¹ãªå€¤ã¯ pid, tid, + hextid ã§ã™ã€‚hextid を使ã†ã«ã¯ + APR 1.2.0 以é™ãŒå¿…è¦ã§ã™ã€‚ +
%qå•ã„åˆã›æ–‡å­—列 (存在ã™ã‚‹å ´åˆã¯å‰ã« ? ãŒè¿½åŠ ã•ã‚Œã‚‹ã€‚ + ãã†ã§ãªã„å ´åˆã¯ç©ºæ–‡å­—列)
%rリクエストã®æœ€åˆã®è¡Œ
%sステータス。内部ã§ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€å…ƒã€…ã® + リクエストã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ --- 最後ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã¯ %>s +
%tリクエストをå—付ã‘ãŸæ™‚刻。 + CLF ã®æ™‚刻ã®æ›¸å¼ (標準ã®è‹±èªžã®æ›¸å¼)
%{format}tformat ã§ä¸Žãˆã‚‰ã‚ŒãŸæ›¸å¼ã«ã‚ˆã‚‹æ™‚刻。format 㯠+ strftime (3) ã® + 書å¼ã§ã‚ã‚‹å¿…è¦ãŒã‚る。(地域化ã•ã‚Œã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹)
%Tリクエストを扱ã†ã®ã«ã‹ã‹ã£ãŸæ™‚é–“ã€ç§’å˜ä½
%uリモートユーザ (èªè¨¼ã«ã‚ˆã‚‹ã‚‚ã®ã€‚ステータス (%s) ㌠+ 401 ã®ã¨ãã¯æ„味ãŒãªã„ã‚‚ã®ã§ã‚ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹) +
%Uリクエストã•ã‚ŒãŸ URL パス。クエリ文字列ã¯å«ã¾ãªã„
%vリクエストを扱ã£ã¦ã„るサーãƒã®æ­£å¼ãª ServerName
%VUseCanonicalName ã®è¨­å®šã«ã‚ˆã‚‹ã‚µãƒ¼ãƒå
%X応答ãŒå®Œäº†ã—ãŸã¨ãã®æŽ¥ç¶šã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹: + + + + + + + + + +
X =応答ãŒå®Œäº†ã™ã‚‹å‰ã«æŽ¥ç¶šãŒç•°å¸¸çµ‚了
+ =応答ãŒé€ã‚‰ã‚ŒãŸå¾Œã«æŽ¥ç¶šã‚’æŒç¶šã™ã‚‹ã“ã¨ãŒå¯èƒ½
- = 応答ãŒé€ã‚‰ã‚ŒãŸå¾Œã«æŽ¥ç¶šãŒåˆ‡ã‚‰ã‚Œã‚‹
+ +

(ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache + 1.3 ã®å¾ŒæœŸã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ %c ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ + ã„ã¾ã—ãŸãŒã€ã“ã‚Œã¯æ­´å²çš„ã« ssl ãŒä½¿ç”¨ã—ã¦ã„ã‚‹ + %{var}c + 構文ã¨è¡çªã—ã¦ã„ã¾ã—ãŸã€‚)

%Iリクエストã¨ãƒ˜ãƒƒãƒ€ã‚’å«ã‚€ã€å—ã‘å–ã£ãŸãƒã‚¤ãƒˆæ•°ã€‚ + 0 ã«ã¯ãªã‚‰ãªã„。 + ã“れを使用ã™ã‚‹ãŸã‚ã«ã¯ mod_logio ãŒå¿…è¦
%Oヘッダをå«ã‚€ã€é€ä¿¡ã—ãŸãƒã‚¤ãƒˆæ•°ã€‚0 ã«ã¯ãªã‚‰ãªã„。 + ã“れを使用ã™ã‚‹ãŸã‚ã«ã¯ mod_logio ãŒå¿…è¦
+ +

修飾å­

+ +

特定ã®è¦ç´ ã¯ "%" ã®ç›´å¾Œã« HTTP ステータスコードをカンマ区切り㧠+ 指定ã™ã‚‹ã“ã¨ã§ã€è¡¨ç¤ºã‚’制é™ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã° + "%400,501{User-agent}i" ã§ã¯ã€ + 400 㨠500 番エラーã§ã®ã¿ User-agent をログã—ã¾ã™ã€‚ + ä»–ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã§ã¯ "-" ã¨ã„ã†æ–‡å­—列㌠+ ログã•ã‚Œã¾ã™ã€‚ステータスコードã®ãƒªã‚¹ãƒˆã¯ "!" + ã§å¦å®šã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ : + "%!200,304,302{Referer}i" ã¯ã€æŒ‡å®šã•ã‚ŒãŸ + 3 ã¤ã®ã‚³ãƒ¼ãƒ‰ã®ã©ã‚Œã«ã‚‚該当ã—ãªã„リクエスト全ã¦ã§ + Referer をログã—ã¾ã™ã€‚

+ +

ä¿®é£¾å­ "<" 㨠">" ã¯å†…部リダイレクトã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ­ã‚°ã« + å…ƒã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‹æœ€çµ‚çš„ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã©ã¡ã‚‰ã‚’使用ã™ã‚‹ã‹ã‚’ + 指定ã™ã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚デフォルトã§ã¯ã€% ディレクティブ㮠+ %s, %U, %T, %D, %r ã¯å…ƒã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã€ä»–ã¯æœ€çµ‚çš„ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + 使用ã—ã¾ã™ã€‚例ãˆã°ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æœ€çµ‚ステータスを記録ã™ã‚‹ã«ã¯ + %>s ã‚’ã€å†…部的ã«èªè¨¼ã•ã‚Œã¦ã„ãªã„リソースã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚ŒãŸ + リクエストã§å…ƒã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§èªè¨¼ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã‚’記録ã™ã‚‹ãŸã‚ã«ã¯ + %<u を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

+ + + +

ãã®ä»–注æ„点

+ +

セキュリティ上ã®ç†ç”±ã«ã‚ˆã‚Š 2.0.46 より〠+ %r, %i, %o ã«å…¥ã£ã¦ã„る〠+ å°å­—ä¸å¯èƒ½ãªæ–‡å­—ã¨ä»–ã®ç‰¹åˆ¥ãªæ–‡å­—ã¯ã€\xhh + ã¨ã„ã†å½¢å¼ã®æ–‡å­—列ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚hh 㯠+ ãã®ã¾ã¾ã®ãƒã‚¤ãƒˆã®å€¤ã® 16 進ã§ã®å€¤ã§ã™ã€‚ã“ã®è¦å‰‡ã®ä¾‹å¤–ã«ã¯ã€ + ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’使ã£ã¦ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚Œã‚‹ " 㨠\ ã¨ã€ + C å½¢å¼ã®è¡¨è¨˜æ³•ãŒä½¿ã‚れる空白文字 (\n, \t ãªã©) + ãŒã‚ã‚Šã¾ã™ã€‚2.0.46 以å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—処ç†ã¯è¡Œã‚ã‚Œã¾ã›ã‚“ã®ã§ã€ + 生ログファイルを扱ã†éš›ã«æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚

+ +

httpd 2.0 ã§ã¯ 1.3 ã¨ã¯ç•°ãªã‚Šã€%b 㨠%B + フォーマット文字列ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ä¿¡ã•ã‚ŒãŸãƒã‚¤ãƒˆæ•°ãã®ã‚‚ã®ã§ã¯ãªã〠+ HTTP レスãƒãƒ³ã‚¹ã®ãƒã‚¤ãƒˆæ•°ã§ã™ (ã“れらã¯ç•°ãªã‚‹ã‚‚ã®ã§ã€ãŸã¨ãˆã°ã€ + コãƒã‚¯ã‚·ãƒ§ãƒ³ãŒé€”中ã§ç ´æ£„ã•ã‚ŒãŸå ´åˆã‚„ã€SSL 使用時ã«ä¸€è‡´ã—ã¾ã›ã‚“) 。 + mod_logio ã§æä¾›ã•ã‚Œã¦ã„ã‚‹ %O + フォーマット文字列ã§ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯çµŒç”±ã§å®Ÿéš›ã«è»¢é€ã•ã‚ŒãŸãƒã‚¤ãƒˆæ•°ã‚’ + 記録ã§ãã¾ã™ã€‚

+ + + +

例

+ +

よã使ã‚れるフォーマット文字列ã¯:

+ +
+
Common Log Format (CLF)
+
"%h %l %u %t \"%r\" %>s %b"
+ +
ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆä»˜ã Common Log Format
+
"%v %h %l %u %t \"%r\" %>s %b"
+ +
NCSA extended/combined ログ書å¼
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""
+ +
Referer ログ書å¼
+
"%{Referer}i -> %U"
+ +
Agent (ブラウザ) ログ書å¼
+
"%{User-agent}i"
+
+ +
top
+
+

セキュリティã«é–¢ã—ã¦

+

ログファイルãŒä¿å­˜ã•ã‚Œã¦ã„るディレクトリãŒã‚µãƒ¼ãƒã‚’èµ·å‹•ã—ãŸä»¥å¤–ã®ãƒ¦ãƒ¼ã‚¶ã§ + 書ãè¾¼ã¿å¯èƒ½ãªã¨ãã«ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å•é¡ŒãŒç™ºç”Ÿã™ã‚‹ç†ç”±ã®è©³ç´°ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®ã“㤠+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+
+
top
+

BufferedLogs ディレクティブ

+ + + + + + + + +
説明:ディスクã«æ›¸ã出ã™å‰ã«ãƒ¡ãƒ¢ãƒªã«ãƒ­ã‚°ã‚¨ãƒ³ãƒˆãƒªã‚’ãƒãƒƒãƒ•ã‚¡ã™ã‚‹
構文:BufferedLogs On|Off
デフォルト:BufferedLogs Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Base
モジュール:mod_log_config
互æ›æ€§:2.0.41 以é™
+

BufferedLogs ディレクティブを使ã†ã¨ + mod_log_config ã®æŒ™å‹•ãŒå¤‰åŒ–ã—ã¦ã€ + 複数ã®ãƒ­ã‚°ã‚’書ã出ã™éš›ã«ã€ãã‚Œãžã‚Œã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆå‡¦ç†å¾Œæ¯Žã« + 書ã出ã™ã®ã§ã¯ãªãã€ã„ã£ãŸã‚“メモリã«è“„ãˆã¦ã‹ã‚‰ã€ + ã¾ã¨ã‚ã¦ãƒ‡ã‚£ã‚¹ã‚¯ã«æ›¸ã出ã™ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®çµæžœãƒ‡ã‚£ã‚¹ã‚¯ã‚¢ã‚¯ã‚»ã‚¹ãŒã‚ˆã‚ŠåŠ¹çŽ‡çš„ã«ãªã‚Šã€ + 高ã„パフォーマンスã®å¾—られるシステムもã‚ã‚‹ã§ã—ょã†ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚µãƒ¼ãƒå…¨ä½“ã§ä¸€åº¦ã ã‘設定ã§ãã¾ã™; + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã”ã¨ã«è¨­å®šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

+ +
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å®Ÿé¨“çš„ãªã‚‚ã®ã§ã™ã®ã§ã€ + 使用ã™ã‚‹éš›ã¯æ³¨æ„ã—ã¦ãã ã•ã„。
+ +
+
top
+

CustomLog ディレクティブ

+ + + + + + +
説明:ログファイルã®åå‰ã¨æ›¸å¼ã‚’設定ã™ã‚‹
構文:CustomLog file|pipe +format|nickname +[env=[!]environment-variable]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_log_config
+

CustomLog ディレクティブã¯ã‚µãƒ¼ãƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + ログåŽé›†ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ログã®æ›¸å¼ãŒæŒ‡å®šã•ã‚Œã€ + 環境変数を使ã£ã¦ãƒ­ã‚®ãƒ³ã‚°ãŒæ¡ä»¶ã«å¿œã˜ã¦è¡Œãªã‚れるよã†ã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

ログãŒæ›¸ã‹ã‚Œã‚‹å ´æ‰€ã‚’指定ã™ã‚‹æœ€åˆã®å¼•æ•°ã¯ä»¥ä¸‹ã®äºŒã¤ã®å½¢å¼ã®å€¤ã‚’ + ã¨ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +
+
file
+
ServerRoot + ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã§è¡¨ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«å。
+ +
pipe
+
パイプ文字 "|" ã¨ã€ãã®å¾Œã«æ¨™æº–入力ã‹ã‚‰ãƒ­ã‚°ã® + 情報をå—ã‘ã¨ã‚‹ãƒ—ログラムã¸ã®ãƒ‘スãŒç¶šã„ãŸã‚‚ã®ã€‚ + +

セキュリティ

+

ã‚‚ã—プログラムãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã€ + httpd ãŒèµ·å‹•ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã¨ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯ã‚µãƒ¼ãƒãŒ + root ã«ã‚ˆã£ã¦èµ·å‹•ã•ã‚ŒãŸå ´åˆã¯ root ã«ãªã‚Šã¾ã™ã€‚プログラム㌠+ 安全ã§ã‚るよã†ã«ç•™æ„ã—ã¦ãã ã•ã„。

+
+

注

+

Unix ã§ãªã„プラットフォームã§ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スを入力ã—ã¦ã„ã‚‹ã¨ãã¯ã€ + 使用ã—ã¦ã„るプラットフォームãŒãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®ä½¿ç”¨ã‚’許å¯ã—ã¦ã„㟠+ ã¨ã—ã¦ã€é€šå¸¸ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã ã‘を使ã†ã‚ˆã†ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。 + 一般的ã«ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã§ã¯å¸¸ã«æ™®é€šã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®ã¿ã‚’使ã†ã‚ˆã†ã«ã™ã‚‹ + æ–¹ãŒè‰¯ã„ã§ã™ã€‚

+
+
+ +

二ã¤ã‚ã®å¼•æ•°ã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«ä½•ãŒæ›¸ã‹ã‚Œã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚ + å‰ã«ã‚ã‚‹ LogFormat ディレクティブã«ã‚ˆã‚Š + 定義ã•ã‚ŒãŸ nickname ã‹ã€ãƒ­ã‚°ã®æ›¸å¼ + ã®ã¨ã“ã‚ã§èª¬æ˜Žã•ã‚Œã¦ã„ã‚‹ã€æ˜Žç¤ºçš„㪠format 文字列㮠+ ã©ã¡ã‚‰ã‹ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

例ãˆã°ã€ä»¥ä¸‹ã®äºŒã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–群ã¯å…¨ãåŒã˜åŠ¹æžœã‚’ã‚‚ãŸã‚‰ã—ã¾ã™:

+ +

+ # CustomLog with format nickname
+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common
+
+ # CustomLog with explicit format string
+ CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" +

+ +

三ã¤ç›®ã®å¼•æ•°ã¯çœç•¥å¯èƒ½ã§ã€ã‚µãƒ¼ãƒã®ç’°å¢ƒã«ã‚る変数ãŒã‚ã‚‹ã‹ãªã„ã‹ã« + å¿œã˜ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ログåŽé›†ã™ã‚‹ã‹ã©ã†ã‹ã‚’制御ã™ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + 指定ã•ã‚ŒãŸç’°å¢ƒå¤‰æ•°ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—㦠+ 設定ã•ã‚Œã¦ã„ãŸå ´åˆ ('env=!name' æ–‡ãŒä½¿ã‚ã‚ŒãŸã¨ã㯠+ 設定ã•ã‚Œã¦ã„ãªã„å ´åˆ)ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒãƒ­ã‚°åŽé›†ã•ã‚Œã¾ã™ã€‚

+ +

環境変数㯠mod_setenvif モジュール㨠+ mod_rewrite モジュールã®ä¸¡æ–¹ã‚‚ã—ã㯠+ 片方を用ã„ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã”ã¨ã«è¨­å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 例ãˆã°ã€ã‚µãƒ¼ãƒã«ã‚ã‚‹ã™ã¹ã¦ã® GIF ç”»åƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’別ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ« + ã«ã¯è¨˜éŒ²ã—ãŸã„ã‘ã‚Œã©ã€ãƒ¡ã‚¤ãƒ³ãƒ­ã‚°ã«ã¯è¨˜éŒ²ã—ãŸããªã„ã€ã¨ã„ã†ã¨ã㯠+ 以下ã®ã‚‚ã®ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™:

+ +

+ SetEnvIf Request_URI \.gif$ gif-image
+ CustomLog gif-requests.log common env=gif-image
+ CustomLog nongif-requests.log common env=!gif-image +

+ +

å¤ã„ RefererIgnore ディレクティブã¨åŒã˜æŒ™å‹•ã‚’ã•ã›ãŸã„å ´åˆã¯ã€ + 次ã®ã‚ˆã†ã«ã—ã¾ã™:

+ +

+ SetEnvIf Referer example\.com localreferer
+ CustomLog referer.log referer env=!localreferer +

+ +
+
top
+

GlobalLog ディレクティブ

+ + + + + + + +
説明:Sets filename and format of log file
構文:GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:Base
モジュール:mod_log_config
互æ›æ€§:Available in Apache HTTP Server 2.4.19 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

LogFormat ディレクティブ

+ + + + + + + +
説明:ログファイルã§ä½¿ç”¨ã™ã‚‹æ›¸å¼ã‚’設定ã™ã‚‹
構文:LogFormat format|nickname +[nickname]
デフォルト:LogFormat "%h %l %u %t \"%r\" %>s %b"
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_log_config
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸å¼ã‚’指定ã—ã¾ã™ã€‚

+ +

LogFormat ディレクティブã¯äºŒã¤ã®å½¢å¼ã®ã©ã¡ã‚‰ã‹ã‚’ + ã¨ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚最åˆã®å½¢å¼ã§ã¯ä¸€ã¤ã®å¼•æ•°ã®ã¿ãŒæŒ‡å®šã•ã‚Œã€ + 続ã TransferLog + ã§æŒ‡å®šã•ã‚ŒãŸãƒ­ã‚°ã§ä½¿ã‚れるログã®æ›¸å¼ã‚’設定ã—ã¾ã™ã€‚ã“ã®å˜ç‹¬ã®å¼•æ•°ã§ã¯ + 上ã®ã‚«ã‚¹ã‚¿ãƒ ãƒ­ã‚°æ›¸å¼ã§èª¬æ˜Žã•ã‚Œã¦ã„るよã†ã« + format を明示的ã«æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã‚‚ã—ãã¯ã€ä¸‹ã§èª¬æ˜Žã•ã‚Œã¦ã„るよã†ã«å‰ã« LogFormat + ディレクティブã§å®šç¾©ã•ã‚ŒãŸãƒ­ã‚°ã®æ›¸å¼ã‚’ nicknameを使ã£ã¦ + å‚ç…§ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

LogFormat ディレクティブã®äºŒã¤ã‚ã®å½¢å¼ã¯ + format ã« nickname を与ãˆã¾ã™ã€‚ + フォーマット文字列全体をå†ã³æ›¸ãã‹ã‚ã‚Šã«ã€ + ã“ã® nickname を続ãã® LogFormat ディレクティブや + CustomLog ディレクティブã§ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + Nickname を定義ã™ã‚‹ LogFormat ディレクティブ㯠+ ä»–ã«ã¯ä½•ã‚‚ã—ã¾ã›ã‚“ -- ã™ãªã‚ã¡ã€ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã‚’定義 + ã™ã‚‹ã ã‘ã§ã€å®Ÿéš›ã«æ›¸å¼ã‚’é©ç”¨ã—ã¦ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ã™ã‚‹ã¨ã„ã†ã“ã¨ã¯è¡Œãªã„ã¾ã›ã‚“。 + ã§ã™ã‹ã‚‰ã€ã“ã‚Œã¯ç¶šã TransferLog + ディレクティブã«ã¯å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。 + ã•ã‚‰ã«ã€LogFormat ディレクティブã¯æ—¢å­˜ã® nickname ã‚’ + 使ã£ã¦åˆ¥ã® nickname を定義ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。Nickname ã«ã¯ + ãƒ‘ãƒ¼ã‚»ãƒ³ãƒˆè¨˜å· (%) ãŒå«ã¾ã‚Œã¦ã„ã¦ã¯ã„ã‘ãªã„ã“ã¨ã«ã‚‚æ³¨æ„ + ã—ã¦ãã ã•ã„。

+ +

例

+ LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common +

+ +
+
top
+

TransferLog ディレクティブ

+ + + + + + +
説明:ログファイルã®ä½ç½®ã‚’指定
構文:TransferLog file|pipe
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_log_config
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãƒ­ã‚°æ›¸å¼ã‚’直接指定ã§ããªã„ã“ã¨ã¨ã€ + æ¡ä»¶ä»˜ãロギングãŒç„¡ã„ã“ã¨ã‚’除ãã¨ã€CustomLog ã¨å…¨ãåŒã˜å¼•æ•°ã¨åŠ¹æžœãŒã‚ã‚Šã¾ã™ã€‚ + 直接ログ書å¼ã‚’指定ã™ã‚‹ä»£ã‚ã‚Šã«ã€ãƒ­ã‚°ã®æ›¸å¼ã¯ãã“ã¾ã§ã§ä¸€ç•ªæœ€å¾Œã«æŒ‡å®šã•ã‚ŒãŸ + ニックãƒãƒ¼ãƒ ã‚’定義ã—ãªã„ + LogFormat ディレクティブ + ã§å®šç¾©ã•ã‚ŒãŸã‚‚ã®ã‚’使ã„ã¾ã™ã€‚ + ã‚‚ã—ä»–ã®æ›¸å¼ãŒå…¨ã指定ã•ã‚Œã¦ã„ãªã„ã¨ã㯠Common Log Format + ãŒä½¿ã‚ã‚Œã¾ã™ã€‚

+ +

例

+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
+ TransferLog logs/access_log +

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.ko.euc-kr b/docs/manual/mod/mod_log_config.html.ko.euc-kr new file mode 100644 index 0000000..c344687 --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.ko.euc-kr @@ -0,0 +1,441 @@ + + + + + +mod_log_config - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_log_config

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¼­¹ö·ÎÀÇ ¿äûÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù
»óÅÂ:Base
¸ðµâ¸í:log_config_module
¼Ò½ºÆÄÀÏ:mod_log_config.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ·Î±×¿¡ ÀÚÀ¯·Ó°Ô ±â·ÏÇÑ´Ù. + ÀÚ½ÅÀÌ ¿øÇÏ´Â Çü½ÄÀ¸·Î ·Î±×¸¦ ±â·ÏÇÒ ¼ö ÀÖ°í, ÆÄÀÏÀ̳ª ¿ÜºÎ + ÇÁ·Î±×·¥¿¡ Á÷Á¢ ·Î±×¸¦ º¸³¾ ¼öµµ ÀÖ´Ù. Á¶°ÇÀû ·Î±×¸¦ »ç¿ëÇϸé + ¿äûÀÇ ¼º°Ý¿¡ µû¶ó ¿äûÀ» ·Î±×¿¡ Ãß°¡Çϰųª Á¦¿ÜÇÒ ¼ö ÀÖ´Ù.

+ +

ÀÌ ¸ðµâÀº ¼¼°¡Áö Áö½Ã¾î¸¦ Á¦°øÇÑ´Ù. TransferLog´Â ·Î±×ÆÄÀÏÀ» + ¸¸µé°í, LogFormatÀº + ¿øÇÏ´Â Çü½ÄÀ» Á¤ÇÏ°í, CustomLog´Â Çѹø¿¡ ·Î±×ÆÄÀÏ°ú + Çü½ÄÀ» ¸ðµÎ ÁöÁ¤ÇÑ´Ù. TransferLog¿Í + CustomLog Áö½Ã¾î¸¦ ¿©·¯¹ø »ç¿ëÇϸé + ¿äûÀ» ¿©·¯ ÆÄÀÏ¿¡ ±â·ÏÇÒ ¼ö ÀÖ´Ù.

+
+ +
top
+
+

·Î±× Çü½Ä ÁöÁ¤Çϱâ

+ +

LogFormat°ú + CustomLog + Áö½Ã¾îÀÇ Çü½Ä ¾Æ±Ô¸ÕÆ®´Â ¹®ÀÚ¿­ÀÌ´Ù. ÀÌ ¹®ÀÚ¿­¿¡ µû¶ó ¿äûÀ» + ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇÑ´Ù. ¹®ÀÚ¿­¿¡´Â ·Î±×ÆÄÀÏ¿¡ ±×´ë·Î º¹»çµÇ´Â + ¹®ÀÚ¿Í Çà¹Ù²Þ°ú ÅÇÀ» ³ªÅ¸³»´Â CÀÇ "\n"°ú "\t" Á¦¾î¹®ÀÚ¸¦ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. ·Î±×ÆÄÀÏ¿¡ µû¿ÈÇ¥³ª ¹é½½·¡½¬¸¦ ¾²·Á¸é ¾Õ¿¡ + ¹Ýµå½Ã ¹é½½·¡½¬¸¦ Àû¾îÁà¾ß ÇÑ´Ù.

+ +

¿äûÀÇ Æ¯Â¡Àº Çü½Ä ¹®ÀÚ¿­¿¡ "%" Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© ±â·ÏÇÑ´Ù. ÀÌ Áö½Ã¾î´Â ·Î±×ÆÄÀÏ¿¡¼­ ´ÙÀ½°ú °°ÀÌ + º¯°æµÈ´Ù.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Çü½Ä ¹®ÀÚ¿­¼³¸í
%%ÆÛ¼¾Æ® ±âÈ£
%...a¿ø°Ý IP-ÁÖ¼Ò
%...A(¼­¹ö) IP-ÁÖ¼Ò
%...BHTTP Çì´õ¸¦ Á¦¿ÜÇÑ Àü¼Û ¹ÙÀÌÆ®¼ö.
%...bHTTP Çì´õ¸¦ Á¦¿ÜÇÑ Àü¼Û ¹ÙÀÌÆ®¼ö. CLF Çü½Ä°ú °°ÀÌ + Àü¼ÛÇÑ ³»¿ëÀÌ ¾ø´Â °æ¿ì 0 ´ë½Å '-'°¡ ³ª¿Â´Ù.
%...{Foobar}C¼­¹ö°¡ ¼ö½ÅÇÑ ¿äû¿¡¼­ Foobar ÄíÅ°ÀÇ + ³»¿ë.
%...D¿äûÀ» ó¸®Çϴµ¥ °É¸° ½Ã°£ (¸¶ÀÌÅ©·ÎÃÊ ´ÜÀ§).
%...{FOOBAR}eȯ°æº¯¼ö FOOBARÀÇ ³»¿ë
%...fÆÄÀϸí
%...h¿ø°Ý È£½ºÆ®
%...H¿äû ÇÁ·ÎÅäÄÝ
%...{Foobar}i¼­¹ö°¡ ¼ö½ÅÇÑ ¿äû¿¡¼­ Foobar: + Çì´õÀÇ ³»¿ë.
%...l(ÀÖ´Ù¸é identd°¡ Á¦°øÇÑ) ¿ø°Ý ·Î±×Àθí. + mod_ident°¡ ÀÖ°í IdentityCheck°¡ + OnÀÌ ¾Æ´Ï¸é »©±â±âÈ£¸¦ ±â·ÏÇÑ´Ù.
%...m¿äû ¸Þ½áµå
%...{Foobar}n´Ù¸¥ ¸ðµâÀÌ ±â·ÏÇÑ Foobar ³ëÆ®(note) + ³»¿ë.
%...{Foobar}oÀÀ´äÀÇ Foobar: Çì´õ ³»¿ë.
%...p¿äûÀ» ¼­ºñ½ºÇÏ´Â ¼­¹öÀÇ Á¤±Ô Æ÷Æ®
%...P¿äûÀ» ¼­ºñ½ºÇÏ´Â ÀÚ½ÄÀÇ ÇÁ·Î¼¼½º ID.
%...{format}P¿äûÀ» ¼­ºñ½ºÇÏ´Â ÀÚ½ÄÀÇ ÇÁ·Î¼¼½º ID ȤÀº ¾²·¹µå + ID. format¿¡´Â pid¿Í tid°¡ + °¡´ÉÇÏ´Ù. +
%...qÁúÀǹ®ÀÚ¿­ (ÁúÀǹ®ÀÚ¿­ÀÌ ÀÖ´Ù¸é ¾Õ¿¡ ?¸¦ + ºÙÀÌ°í, ¾ø´Ù¸é ºó ¹®ÀÚ¿­)
%...r¿äûÀÇ Ã¹¹ø° ÁÙ
%...s»óÅÂ(status). ³»ºÎ ¸®´ÙÀÌ·º¼ÇµÈ ¿äûÀÇ °æ¿ì *¿ø·¡* + ¿äûÀÇ »óÅÂÀÌ´Ù. ÃÖÁ¾ ¿äûÀÇ »óÅ´ %...>s.
%...tcommon log format ½Ã°£ Çü½Ä(Ç¥ÁØ ¿µ¾î Çü½Ä)ÀÇ ½Ã°£
%...{format}tstrftime(3) Çü½Ä formatÀÇ ½Ã°£. (Áö¿ª½Ã°£ÀÏ + ¼ö ÀÖÀ½)
%...T¿äûÀ» ó¸®Çϴµ¥ °É¸° ½Ã°£ (ÃÊ ´ÜÀ§).
%...u¿ø°Ý »ç¿ëÀÚ (auth°¡ Á¦°øÇϸç, »óÅÂ(%s)°¡ + 401ÀÎ °æ¿ì ÀÌ»óÇÑ °ªÀ» ³ª¿Ã ¼ö ÀÖÀ½)
%...UÁúÀǹ®ÀÚ¿­À» Á¦¿ÜÇÑ ¿äû URL °æ·Î.
%...v¿äûÀ» ¼­ºñ½ºÇÑ ¼­¹öÀÇ Á¤±Ô ServerName.
%...VUseCanonicalName + ¼³Á¤¿¡ µû¸¥ ¼­¹ö¸í.
%...XÀÀ´äÀ» ¸¶ÃÆÀ»¶§ ¿¬°á »óÅÂ. + + + + + + + + + +
X =ÀÀ´äÀ» ¸¶Ä¡±â Àü¿¡ ¿¬°áÀÌ ²÷¾îÁ³´Ù.
+ =ÀÀ´äÀ» º¸³½ÈÄ¿¡µµ ¿¬°áÀÌ »ì¾ÆÀÖ´Ù(keep alive).
- = ÀÀ´äÀ» º¸³½ÈÄ ¿¬°áÀÌ ²÷¾îÁ³´Ù.
+ +

(¾ÆÆÄÄ¡ 1.3 ÈÄ¹Ý ¹öÀü¿¡¼­ ÀÌ Áö½Ã¾î´Â + %...c¿´Áö¸¸, ÀüÅëÀûÀÎ ssl + %...{var}c ¹®¹ý°ú °ãÃļ­ + º¯°æÇß´Ù.)

%...I¿äû°ú Çì´õ¸¦ Æ÷ÇÔÇÑ ¼ö½Å ¹ÙÀÌÆ®¼ö·Î 0ÀÏ ¼ö ¾ø´Ù. + À̸¦ »ç¿ëÇÏ·Á¸é mod_logio°¡ ÇÊ¿äÇÏ´Ù.
%...OÇì´õ¸¦ Æ÷ÇÔÇÑ ¼Û½Å ¹ÙÀÌÆ®¼ö·Î 0ÀÏ ¼ö ¾ø´Ù. À̸¦ + »ç¿ëÇÏ·Á¸é mod_logio°¡ ÇÊ¿äÇÏ´Ù.
+ +

"..."¿¡´Â (¿¹¸¦ µé¾î, + "%h %u %r %s %b") ¾Æ¹«°Íµµ ¾ø°Å³ª, Ç׸ñÀ» Æ÷ÇÔÇÒ + Á¶°ÇÀÌ ³ª¿Â´Ù (Á¶°ÇÀ» ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é ÀÚ¸®¿¡ "-"¸¦ ±â·ÏÇÑ´Ù). + Á¶°ÇÀº ¾Õ¿¡ "!"¸¦ ºÙÀ̰ųª ¾ÈºÙÀÎ HTTP »óÅÂÄÚµå ¸ñ·ÏÀ¸·Î + ÀÛ¼ºÇÑ´Ù. ¿¹¸¦ µé¾î, "%400,501{User-agent}i"´Â 400 (Bad + Request) ¿À·ù¿Í 501 (Not Implemented) ¿À·ùÀ϶§¸¸ + User-agent:¸¦ ·Î±×¿¡ ³²±â°í, + "%!200,304,302{Referer}i"´Â Á¤»óÀûÀÎ »óÅ°¡ ¾Æ´Ñ + ¸ðµç ¿äû¿¡ ´ëÇØ Referer:¸¦ ·Î±×¿¡ ³²±ä´Ù.

+ +

¼öÁ¤ÀÚ "<"¿Í ">"´Â ³»ºÎ ¸®´ÙÀÌ·º¼ÇµÈ ¿äû¿¡¼­ °¢°¢ + óÀ½ ¿äûÀ» ¸»ÇÒÁö ¸¶Áö¸· ¿äûÀ» ¸»ÇÒÁö ¼±ÅÃÇÑ´Ù. ±âº»ÀûÀ¸·Î + %s, %U, %T, %D, %rÀº óÀ½ ¿äûÀ» º¸°í, ³ª¸ÓÁö + % Áö½Ã¾î´Â ¸¶Áö¸· ¿äûÀ» º»´Ù. ±×·¡¼­ + %>s´Â ¿äûÀÇ ¸¶Áö¸· »óÅÂ(status)¸¦ ±â·ÏÇÏ°í, + %<u´Â ÀÎÁõÀ¸·Î º¸È£ÇÏÁö ¾Ê´Â ÀÚ¿øÀ¸·Î ³»ºÎ + ¶ó´ÙÀÌ·º¼ÇµÈ °æ¿ì¿¡µµ óÀ½¿¡ ÀÎÁõÇÑ »ç¿ëÀÚ¸¦ ±â·ÏÇÑ´Ù.

+ +

2.0.46 ÀÌÀüÀÇ httpd 2.0 ¹öÀüÀº %...r, + %...i, %...oÀÇ °á°ú ¹®ÀÚ¿­À» ±×´ë·Î + µÎ¾ú´Ù. ÀÌÀ¯´Â Common Log FormatÀÇ ¿ä±¸»çÇ×À» µû¸£±âÀ§Çؼ­¿´´Ù. + Áï, Ŭ¶óÀ̾ðÆ®°¡ Á¦¾î¹®ÀÚ¸¦ ·Î±×¿¡ Áý¾î³ÖÀ» ¼ö Àֱ⶧¹®¿¡ + ·Î±×ÆÄÀÏÀ» ±×´ë·Î ´Ù·ê ¶§´Â Á¶½ÉÇØ¾ß ÇÑ´Ù.

+ +

º¸¾È»ó ÀÌÀ¯·Î 2.0.46ºÎÅÍ Ãâ·ÂÇÒ ¼ö ¾ø´Â ¹®ÀÚ³ª ´Ù¸¥ Ư¼ö¹®ÀÚ¸¦ + \xhh·Î Ç¥ÇöÇÑ´Ù. ¿©±â¼­ hh´Â + ÇØ´ç ¹ÙÀÌÆ®ÀÇ 16Áø¼ö Ç¥ÇöÀ» ³ªÅ¸³½´Ù. ÀÌ ±ÔÄ¢ÀÇ ¿¹¿Ü´Â ¹é½½·¡½¬¸¦ + ¾Õ¿¡ ºÙÀÌ´Â "¿Í \, ±×¸®°í C¾ð¾î + Çü½ÄÀÇ °ø¹é¹®ÀÚµé(\n, \t µî)ÀÌ´Ù.

+ +

ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ´Â ·Î±× Çü½ÄÀº ´ÙÀ½°ú °°´Ù.

+ +
+
Common Log Format (CLF)
+
"%h %l %u %t \"%r\" %>s %b"
+ +
°¡»óÈ£½ºÆ® Á¤º¸¸¦ Æ÷ÇÔÇÑ Common Log Format
+
"%v %h %l %u %t \"%r\" %>s %b"
+ +
NCSA extended/combined ·Î±× Çü½Ä
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""
+ +
Referer ·Î±× Çü½Ä
+
"%{Referer}i -> %U"
+ +
Agent (ºê¶ó¿ìÀú) ·Î±× Çü½Ä
+
"%{User-agent}i"
+
+ +

¿äûÀ» ¼­ºñ½ºÇÏ´Â ¼­¹öÀÇ Á¤±Ô ServerName°ú ListenÀº °¢°¢ %v¿Í + %p¸¦ »ç¿ëÇÑ´Ù. ·Î±×ºÐ¼® ÇÁ·Î±×·¥ÀÌ ½ÇÁ¦·Î ¿äûÀ» + ¼­ºñ½ºÇϴ ȣ½ºÆ®¸¦ ¾Ë±âÀ§ÇØ °¡»óÈ£½ºÆ® ã±â ¾Ë°í¸®ÁòÀ» + °¡Áú ÇÊ¿ä¾øµµ·Ï ÀÌµé °ªÀº UseCanonicalName ¼³Á¤°ú ¹«°üÇÏ´Ù.

+
top
+
+

º¸¾È»ó °í·ÁÇÒ Á¡

+

¼­¹ö¸¦ ½ÃÀÛÇÏ´Â »ç¿ëÀÚ¿Ü¿¡ ´Ù¸¥ »ç¿ëÀÚ°¡ ·Î±×ÆÄÀÏÀ» ÀúÀåÇÏ´Â + µð·ºÅ丮¿¡ ¾²±â ±ÇÇÑÀ» °¡Áú¶§ ¿Ö º¸¾È¿¡ ¹®Á¦°¡ »ý±â´ÂÁö + º¸¾È ÆÁ + ¹®¼­¸¦ Âü°íÇ϶ó.

+
+
top
+

BufferedLogs Áö½Ã¾î

+ + + + + + +
¼³¸í:Buffer log entries in memory before writing to disk
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Base
¸ðµâ:mod_log_config

Documentation not yet translated. Please see English version of document.

+
+
top
+

CustomLog Áö½Ã¾î

+ + + + + + +
¼³¸í:·Î±×ÆÄÀÏ À̸§°ú Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù
¹®¹ý:CustomLog file|pipe +format|nickname +[env=[!]environment-variable]
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_log_config
+

¼­¹ö°¡ ¿äûÀ» ·Î±×¿¡ ³²±æ¶§ CustomLog + Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. ·Î±× Çü½ÄÀ» ÁöÁ¤ÇÏ°í, ȯ°æº¯¼ö¸¦ »ç¿ëÇÏ¿© + ¿äûÀÇ Æ¯Â¡¿¡ µû¶ó ¼±ÅÃÀûÀ¸·Î ·Î±×¸¦ ³²±æ ¼öµµ ÀÖ´Ù.

+ +

·Î±×¸¦ ±â·ÏÇÒ Àå¼Ò¸¦ ÁöÁ¤Çϴ ù¹ø° ¾Æ±Ô¸ÕÆ®¿¡´Â ´ÙÀ½ + µÑÁß Çϳª¸¦ »ç¿ëÇÑ´Ù.

+ +
+
file
+
ServerRoot¿¡ + »ó´ëÀûÀÎ ÆÄÀϸí.
+ +
pipe
+
ÆÄÀÌÇÁ¹®ÀÚ "|"µÚ¿¡ ·Î±× Á¤º¸¸¦ Ç¥ÁØÀÔ·ÂÀ¸·Î + ¹ÞÀ» ÇÁ·Î±×·¥ °æ·Î¸¦ Àû´Â´Ù. + +

º¸¾È:

+

ÇÁ·Î±×·¥À» »ç¿ëÇÑ´Ù¸é ÇÁ·Î±×·¥Àº À¥¼­¹ö¸¦ ½ÃÀÛÇÑ »ç¿ëÀÚ + ±ÇÇÑÀ¸·Î ½ÇÇàµÈ´Ù. ¼­¹ö¸¦ root·Î ½ÃÀÛÇÑ´Ù¸é ÇÁ·Î±×·¥µµ + root·Î ½ÇÇàÇϹǷΠÇÁ·Î±×·¥ÀÌ ¾ÈÀüÇÑÁö È®ÀÎÇ϶ó.

+
+

ÁÖÀÇ

+

À¯´Ð½º°¡ ¾Æ´Ñ Ç÷¡Æû¿¡¼­ ÆÄÀÏ°æ·Î¸¦ ÀÔ·ÂÇÒ¶§ Ç÷¡ÆûÀÌ + ¹é½½·¡½¬¸¦ »ç¿ëÇÏ´õ¶óµµ ¹Ýµå½Ã ½½·¡½¬¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. + ÀϹÝÀûÀ¸·Î ¼³Á¤ÆÄÀÏ¿¡¼­´Â Ç×»ó ½½·¡½¬¸¦ »ç¿ëÇÏ´Â °ÍÀÌ + ÁÁ´Ù.

+
+
+ +

µÎ¹ø° ¾Æ±Ô¸ÕÆ®´Â ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇÒ ³»¿ëÀ» ÁöÁ¤ÇÑ´Ù. + Àü¿¡ LogFormatÀ¸·Î + Á¤ÀÇÇÑ nicknameÀ» »ç¿ëÇϰųª Á÷Á¢ ·Î±× Çü½Ä Àý¿¡¼­ ¼³¸íÇÑ format + ¹®ÀÚ¿­À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¿¹¸¦ µé¾î, ´ÙÀ½ µÎ Áö½Ã¾î´Â ¶È°°Àº ÀÏÀ» ÇÑ´Ù.

+ +

+ # Çü½Ä º°ÄªÀ» »ç¿ëÇÑ CustomLog
+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common
+
+ # Á÷Á¢ Çü½Ä ¹®ÀÚ¿­À» »ç¿ëÇÑ CustomLog
+ CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" +

+ +

¼¼¹ø° ¾Æ±Ô¸ÕÆ®´Â ¾ø¾îµµ µÇ¸ç, ƯÁ¤ ¼­¹ö ȯ°æº¯¼ö À¯¹«¿¡ + µû¶ó ¿äûÀ» ·Î±×¿¡ ±â·ÏÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù. ¿äû¿¡ ÁöÁ¤ÇÑ + ȯ°æº¯¼ö°¡ Á¤ÀǵÇÀÖ´Ù¸é (ȤÀº + 'env=!name'¸¦ »ç¿ëÇÑ °æ¿ì ¾ø´Ù¸é) + ¿äûÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù.

+ +

mod_setenvif³ª mod_rewrite + ¸ðµâÀ» »ç¿ëÇÏ¿© ¿äûº°·Î ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ + µé¾î, ¼­¹ö°¡ GIF ±×¸²¿¡ ´ëÇÑ ¸ðµç ¿äûÀ» ÁÖ¼­¹ö ·Î±×°¡ ¾Æ´Ñ + ´Ù¸¥ ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇÏ·Á¸é,

+ +

+ SetEnvIf Request_URI \.gif$ gif-image
+ CustomLog gif-requests.log common env=gif-image
+ CustomLog nongif-requests.log common env=!gif-image +

+ +
+
top
+

GlobalLog Áö½Ã¾î

+ + + + + + + +
¼³¸í:Sets filename and format of log file
¹®¹ý:GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Base
¸ðµâ:mod_log_config
Áö¿ø:Available in Apache HTTP Server 2.4.19 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

LogFormat Áö½Ã¾î

+ + + + + + + +
¼³¸í:·Î±×ÆÄÀÏ¿¡ »ç¿ëÇÒ Çü½ÄÀ» ±â¼úÇÑ´Ù
¹®¹ý:LogFormat format|nickname +[nickname]
±âº»°ª:LogFormat "%h %l %u %t \"%r\" %>s %b"
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_log_config
+

ÀÌ Áö½Ã¾î´Â Á¢±Ù ·Î±×ÆÄÀÏÀÇ Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù.

+ +

LogFormat Áö½Ã¾î´Â µÎ°¡Áö Çü½ÄÀ¸·Î + »ç¿ëÇÑ´Ù. ù¹ø° Çü½ÄÀº ¾Æ±Ô¸ÕÆ®¸¦ ÇÑ°³¸¸ »ç¿ëÇÏ¿© ´ÙÀ½ + TransferLog Áö½Ã¾îµéÀÌ »ç¿ëÇÒ ·Î±× + Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ¾Æ±Ô¸ÕÆ®¿¡ À§ÀÇ ·Î±× + Çü½Ä ÁöÁ¤Çϱâ Àý¿¡¼­ ¼³¸íÇÑ formatÀ» Á÷Á¢ + »ç¿ëÇϰųª, ´ÙÀ½¿¡ ¼³¸íÇÒ LogFormat + Áö½Ã¾î·Î ¹Ì¸® Á¤ÀÇÇÑ (·Î±× Çü½ÄÀ» ÁöĪÇÏ´Â) nicknameÀ» + »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

LogFormat Áö½Ã¾îÀÇ µÎ¹ø° Çü½ÄÀº + format°ú nicknameÀ» ¿¬°áÇÑ´Ù. ±×·¯¸é + µÚ¿¡¼­ »ç¿ëÇÏ´Â LogFormatÀ̳ª CustomLog Áö½Ã¾î¿¡ ¹Ýº¹Çؼ­ + Çü½Ä ¹®ÀÚ¿­À» ¸ðµÎ ÀÔ·ÂÇÏ´Â ´ë½Å nicknameÀ» »ç¿ëÇÒ + ¼ö ÀÖ´Ù. º°ÄªÀ» Á¤ÀÇÇÏ´Â LogFormat + Áö½Ã¾î´Â ÀÌ ¿Ü¿¡´Â ¾Æ¹« ±â´ÉÀ» ÇÏÁö ¾Ê´Â´Ù. + Áï, º°Äª¸¸À» Á¤ÀÇÇϸç, ½ÇÁ¦·Î Çü½ÄÀ» Àû¿ëÇϰųª + Çü½ÄÀ» ±âº»°ªÀ¸·Î ¸¸µéÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ´ÙÀ½¿¡ ³ª¿À´Â + TransferLog + Áö½Ã¾î¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù. ¶Ç, + LogFormatÀº º°ÄªÀ¸·Î ´Ù¸¥ º°ÄªÀ» + Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. º°Äª À̸§¿¡´Â ÆÛ¼¾Æ® ±âÈ£(%)¸¦ + »ç¿ëÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó.

+ +

¿¹Á¦

+ LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common +

+ +
+
top
+

TransferLog Áö½Ã¾î

+ + + + + + +
¼³¸í:·Î±×ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù
¹®¹ý:TransferLog file|pipe
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_log_config
+

ÀÌ Áö½Ã¾î´Â CustomLog Áö½Ã¾î¿Í ¾Æ±Ô¸ÕÆ®¿Í + ±â´ÉÀÌ ºñ½ÁÇÏÁö¸¸, ·Î±× Çü½ÄÀ» Á÷Á¢ ÁöÁ¤Çϰųª ¿äûÀ» Á¶°Ç¿¡ + µû¶ó ·Î±×¿¡ ³²±æ ¼ö ¾ø´Ù. ´ë½Å °¡Àå ÃÖ±Ù »ç¿ëÇÑ (º°ÄªÀ» + Á¤ÀÇÇÏÁö ¾ÊÀº) LogFormat Áö½Ã¾î°¡ ÁöÁ¤ÇÑ + ·Î±× Çü½ÄÀ» »ç¿ëÇÑ´Ù. ¹Ì¸® Çü½ÄÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù¸é Common + Log FormatÀ» »ç¿ëÇÑ´Ù.

+ +

¿¹Á¦

+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
+ TransferLog logs/access_log +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.tr.utf8 b/docs/manual/mod/mod_log_config.html.tr.utf8 new file mode 100644 index 0000000..0fc980a --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.tr.utf8 @@ -0,0 +1,586 @@ + + + + + +mod_log_config - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_log_config

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Sunucuya yapılan isteklerin günlük kayıtlarının tutulması +
Durum:Temel
Modül Betimleyici:log_config_module
Kaynak Dosyası:mod_log_config.c
+

Özet

+ +

Bu modül istemci isteklerinin esnek şekilde günlüklenmesi ile + ilgilidir. Günlükler kişiselleştirilebilir biçemdedir ve doğrudan bir + dosyaya yazılabileceği gibi boru üzerinden harici bir sürece de + yazılabilir. İsteğin özelliklerine bağlı olarak bazı isteklerin + günlüklere kaydedilmesi veya kaydedilmemesi mümkün kılınmıştır.

+ +

Bu modül üç yönerge içermektedir: Bir günlük dosyası oluşturmak için + TransferLog, günlük + biçemini kişiselleştirmek için LogFormat ve tek başına bir günlük + dosyasını hem tanımlayıp hem de biçemleyen CustomLog yönergesi. Her isteğin + çok sayıda dosyaya günlüklenmesini sağlamak için yapılandırma dosyasında + her sunucu için birden fazla TransferLog ve + CustomLog yönergesi belirtilebilir.

+
+ +
top
+
+

Günlük Girdilerinin Kişiselleştirilmesi

+ +

LogFormat ve CustomLog yönergelerinin biçem + argümanı bir dizgedir. Bu dizge her isteği günlük dosyasına günlüklemek + için kullanılır. Doğrudan günlük dosyalarına kopyalanmak üzere dizgesel + sabitler içerebileceği gibi satırsonu ve sekme karakterleri olarak C + tarzı "\n" ve "\t" denetim karakterlerini de içerebilir. Dizgesel sabit + olarak kullanılan tırnak ve tersbölü imlerinin tersbölü ile öncelenmesi + gerekir.

+ +

İstek özellikleri biçem dizgesine “%†imli belirteçler + yerleştirilerek günlüklenir. Bu belirteçler ve anlamları:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BelirteçAçıklama
%%Yüzde imi.
%aUzak IP adresi ve isteğin portu + (mod_remoteip modülüne bakın).
%{c}abağlantının emsal IP adresi and portu + (mod_remoteip modülüne bakın).
%AYerel IP adresi.
%BHTTP başlıkları hariç, yanıtın bayt cinsinden uzunluğu.
%bHTTP başlıkları hariç, yanıtın bayt cinsinden uzunluğu. OGB + biçeminde hiç bayt gönderilmemişse günlüğe '-' yerine + '0' çıktılanır.
%{DEĞİŞKEN}Cİstek içinde sunucuya gönderilen DEĞİŞKEN çerezinin + içeriği. Sadece 0 sürümlü çerezler tam olarak desteklenir.
%DMikrosaniye cinsinden isteği sunmak için harcanan zaman.
%{DEĞİŞKEN}eDEĞİŞKEN ortam değişkeninin içeriği.
%fDosya ismi.
%hUzak konak ismi. HostnameLookups yönergesine öntanımlı olan + Off değeri atanmışsa, IP adresi günlüğe kaydedilir. Bir + kaç konak için konak ismi de günlüğe kaydoluyorsa muhtemelen onların + isimlerini içeren erişim denetim yönergelerine sahipsinizdir. Bak: Require host.
%{c}h%h gibi, ancak her zaman, temel TCP bağlantısının + konak adı kaydedilir, ancak mod_remoteip gibi modüller + tarafından uzak konak adında yapılan değişiklikler kaydedilmez.
%Hİstek Protokolü.
%{DEĞİŞKEN}iİstekle birlikte sunucuya gönderilen + DEĞİŞKEN: başlık satır(lar)ının + içeriği. Diğer modüllerde (örn. mod_headers) + yapılan değişikliklerden etkilenir. Modüllerin çoğu bunu + değiştirdiğinde önceki istek başlık isminin ne olduğuyla + ilgileniyorsanız, başlığı bir ortam değişkenine kaydetmek için + mod_setenvif modülünü kullanın ve yukarıda + açıklandığı gibi bu değeri %{DEĞİŞKEN}e ile + günlüğe kaydedin.
%kBu bağlantıda işlenen isteklerin sayısı; yani örneğin, + '1' değeri bağlantı kurulduktan sonraki ilk kalıcı bağlantıyı, + '2', ikinci bağlantıyı, ..., vb. gösterir; + KeepAlive kullanılmışsa + değer anlamlıdır; aksi takdirde değer daima 0’dır.
%lUzak kullanıcı kimliği (sağlanmışsa, identd üzerinden). + mod_ident modülü mevcut ve IdentityCheck yönergesine değer + olarak On atanmış olmadıkça bu belirteç için günlüğe + tire imi yazılır.
%LHata günlüğündeki istek günlük kimliği (veya bu istek için hata + günlüğüne hiçbir şey kaydedilmemise '-'). Bu hataya neyin sebep + olduğunu öğrenmek için ilgili hata günlüğü satırına bakın.
%mİstek yöntemi.
%{DEĞİŞKEN}nDiğer modüldeki DEĞİŞKEN bilgisinin içeriği.
%{DEĞİŞKEN}oYanıttaki DEĞİŞKEN: başlık satır(lar)ının + içeriği.
%pSunucunun isteÄŸi sunduÄŸu meÅŸru port.
%{biçem}pSunucunun veya istemcinin gerçek portu veya sunucunun isteği + sunduğu meşru port. Geçerli biçemler: canonical, + local ve remote (anlamları sırasıyla: + meşru, yerel ve uzak).
%Pİsteği sunan çocuk sürecin süreç kimliği.
%{biçem}Pİsteği sunan çocuk sürecin süreç kimliği (pid) veya + evre kimliği (tid). Geçerli biçemler: pid, + tid, hextid.
%qSorgu dizgesi (bir sorgu dizgesi mevcutsa önüne bir ? + eklenir yoksa hiçbir şey eklenmez).
%rİsteğin ilk satırı.
%sDurum. Dahili olarak yönlendirilmiş istekler için isteğin + özgün durumudur. İsteğin son durumu için + %>s kullanınız.
%t[18/Sep/2011:19:18:28 -0400] biçeminde isteğin + alındığı tarih ve saat. Sondaki sayı zaman diliminin GMT'ye + uzaklığıdır.
%{biçem}tİsteğin alındığı tarih ve saat; biçem + uzatılmış strftime(3) biçeminde belirtilmelidir (genelde + yerelleştirme amaçlı). begin: (öntanımlı) ile başlayan + biçemlerde süre isteğin başlangıcına göredir. end: ile + başlayan biçemlerde ise süre isteğin işlenmesinin bi,tmesine yakın, + günlük girdisinin yazılmaya başladığı ana göredir. + strftime(3) tarafından desteklenen biçemlere ek olarak + aşağıdaki biçem dizgecikleri de desteklenmektedir: + + + + + + +
secMutlak zaman başlangıcından (epoch) + beri geçen saniye sayısı
msecMutlak zaman başlangıcından beri + geçen milisaniye sayısı
usecMutlak zaman başlangıcından beri + geçen mikrosaniye sayısı
msec_fracmilisaniyelik kesir
usec_fracmikrosaniyelik kesir
+ Bu dizgecikler, aynı biçem dizgesi içinde bir diğeriyle birlikte veya + strftime(3) biçemlemesiyle birlikte yer alamazlar fakat + çok sayıda %{biçem}t kullanılabilir. +
%TSaniye cinsinden, isteği sunmak için harcanan zaman.
%{BİRİM}TBİRİM ile belirtilen zaman birimi cinsinden, isteği + sunmak için harcanan zaman. Geçerli birimler: milisaniye için + ms, mikrosaniye için us, saniye için + s. s kullanımı birimsiz %T ile + aynı sonucu verir; us kullanımı %D ile aynı + sonucu verir. Birimli %T kullanımı 2.4.13 ve sonrasında + geçerlidir.
%uUzak kullanıcı (kimlik doğrulaması istenmişse vardır; durum kodu + (%s) 401 ise yanlış olabilir).
%UHerhangi bir sorgu dizgesi içermeksizin istenen URL yolu.
%vÄ°steÄŸi sunan sunucunun meÅŸru sunucu ismi (ServerName).
%VUseCanonicalName ayarı ile + ilgili sunucu ismi.
%XYanıt tamamlandığında bağlantı durumu: + + + + + + + + + +
X =Yanıt tamamlanmadan bağlantı koptu.
+ =Yanıt gönderildikten sonra bağlantı canlı kalabilir.
- = Yanıt gönderildikten sonra bağlantı kapatılacak.
%Iİstek ve başlıklar dahil alınan bayt sayısı. Sıfır olamaz. Bunu + kullanmak için mod_logio etkin olmalıdır.
%OBaşlıklar dahil gönderilen bayt sayısı. Bir yanıtın + gönderilmesinden önce istekten vazgeçilmesi gibi nadir durumlarda + sıfır olabilir. Bunu kullanmak için mod_logio etkin + olmalıdır.
%SAktarılan bayt sayısı (alınan ve gönderilen), istekler ve başlıklar + dahil; sıfır olamaz. %I ve %O'nun birleşimidir. Bunu kullanmak için + mod_logio etkinleştirilmelidir.
%{ALANADI}^tiSunucuya gönderilen istekteki ALANADI: + Trailer satır(lar)ının içeriği.
%{VARNAME}^toSunucudan gönderilen yanıttaki ALANADI: + Trailer satır(lar)ının içeriği.
+ +

DeÄŸiÅŸtiriciler

+ +

Belli öğelerin sadece belli durum kodlarıyla ilgili yanıtlarla + basılabilmesi için bu durum kodları % iminden hemen sonra virgüllerle + ayrılmış olarak yazılabilir. Olumsuzlama belirtmek için durum kodu listesinin önüne bir "!" konabilir.

+ + + + + + + +
Biçem DizgesiAnlamı
%400,501{User-agent}iSadece 400 ve 501 hatalarında User-agent günlüğe + kaydedilir. Diğer durum kodları için günlüğe "-" yazılır. +
%!200,304,302{Referer}i200,304,302 durum kodlarından biriyle dönmeyen tüm istekler için + Referer başlığı durum koduyla birlikte günlüğe + kaydedilir. Aksi takdirde günlüğe "-" yazılır. +
+ +

İsteğin dahili olarak yönlendirilmesinde özgün durumunun mu yoksa son + durumunun mu hesaba katılacağı "<" ve ">" değiştiricileri ile + belirtilebilir. Öntanımlı olarak %s, %U, %T, %D, ve + %r belirteçleri isteğin özgün durumuna bakarken diğerleri + son durumuna bakarlar. Bu bakımdan örneğin, %>s + belirteci, özgün istekteki kimliği doğrulanmış kullanıcının, dahili + olarak kimlik doğrulaması gerekmeyen bir özkaynağa yönlendirilmesi + halinde isteğin son durumunu kaydetmekte kullanılabilir.

+ + + +

Bazı Bilgiler

+ +

Güvenlik nedeniyle, 2.0.46 sürümünden itibaren %r, + %i ve %o belirteçlerinde basılamayan + karakterler ve diğer özel karakterler \xhh + dizilimleri biçeminde öncelenmektedir. Burada hh yerine + karakter numarasının onaltılık gösterimi yazılır. Bir tersbölü ile + öncelenmesi gereken " ve \ ile + \n, \t gibi C tarzı gösterimler bu kuralın + dışındadır. 2.0.46 sürümünün öncesinde bu dizgeler öncelenmezdi ve ham + günlük dosyalarıyla çalışırken dikkatli olmak gerekirdi.

+ +

2.0 sürümünden beri 1.3 sürümünün aksine %b ve + %B biçem belirteçleri, istemciye gönderilen bayt sayısını + değil, HTTP yanıtının bayt sayısını ifade ederdi (bu yanıt, örneğin, + SSL kullanıldığında veya bağlantı koptuğunda farklı uzunlukta olur). + Artık, ağa gönderilen gerçek bayt sayısını günlüğe kaydetmek için + mod_logio modülü tarafından sağlanan %O + biçem belirteci kullanılmaktadır.

+ +
+

Ek bilgi: mod_cache standat bir eylemci olarak değil + hızlı bir eylemci olarak gerçeklenmiştir. Bu nedenle, içerik + arabelleklemesi sözkonusu olduğunda %R biçem dizgesi + herhangi bir eylemci bilgisi döndürmeyecektir.

+
+ + + +

Örnekler

+ +

Genelde herkesçe kullanılan günlük kaydı biçemleme dizgelerinden + bazıları:

+ +
+
Ortak Günlük Biçemi (OGB)
+
"%h %l %u %t \"%r\" %>s %b"
+ +
Sanal Konaklı Ortak Günlük Biçemi
+
"%v %h %l %u %t \"%r\" %>s %b"
+ +
NCSA uzun/birleşik günlük biçemi
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""
+ +
Referer başlığını içeren günlük biçemi
+
"%{Referer}i -> %U"
+ +
User-agent başlığını içeren günlük biçemi
+
"%{User-agent}i"
+
+ +

msec_frac gibi ek biçem dizgeciklerini kullanan bir zaman + biçemi belirtmek isterseniz %{format}t biçem dizgesini + defalarca kullanabilirsiniz:

+
+
Milisaniyeleri de içeren bir zaman damgası
+
"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"
+
+ +
top
+
+

Güvenlik Kaygıları

+

Günlük dosyarının kaydedildiği dizine sunucuyu başlatan kullanıcı + dışında diğer kullanıcılar tarafından yazılabiliyor olması halinde + güvenliğinizden nasıl feragat etmiş olacağınız güvenlik ipuçları + belgesinde açıklanmıştır.

+
+
top
+

BufferedLogs Yönergesi

+ + + + + + + + +
Açıklama:Günlük girdilerini diske yazmadan önce bellekte tamponlar +
Sözdizimi:BufferedLogs On|Off
Öntanımlı:BufferedLogs Off
BaÄŸlam:sunucu geneli
Durum:Temel
Modül:mod_log_config
Uyumluluk:2.0.41 ve sonrasında mevcuttur.
+

BufferedLogs yönergesi, + mod_log_config modülünün çeşitli günlük girdilerini her + isteğin hemen ardından tek tek değil, bir bütün halinde diske yazılmak + üzere bellekte saklanmasını sağlar. Bu, bazı sistemlerde daha verimli + disk erişimi, dolayısıyla daha yüksek başarım sağlayabilir. Sadece + sunucu geneli için belirtilebilir, sanal konaklar için ayrı ayrı + yapılandırılamaz.

+ +
Bir çökme günlük verisi kaybına sebep olacağından bu yönerge + dikkatli kullanılmalıdır.
+ +
+
top
+

CustomLog Yönergesi

+ + + + + + +
Açıklama:Günlük dosyasın ismini ve girdi biçemini belirler.
Sözdizimi:CustomLog dosya|borulu-süreç +biçem|takma-ad +[env=[!]ortam-değişkeni]| +expr=ifade]
BaÄŸlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_log_config
+

CustomLog yönergesi istekleri günlüğe kaydetmek + için kullanılır. Yönerge ile bir günlük biçemi belirtilebilir ve günlük + kaydı isteğin özelliklerine bağlı olarak ortam değişkenleri vasıtasıyla + şarta bağlı kılınabilir.

+ +

İlk argümanda günlüğün yazılacağı yer belirtilir. İki tür yer + belirtilebilir:

+ +
+
dosya
+
ServerRoot yönergesinin + değerine göreli bir dosya ismi.
+ +
borulu-süreç
+
"|" boru karakteri ile öncelenmiş olarak günlük + bilgisini standart girdisinden kabul edecek sürecin ismi (veya komut + satırı) Daha fazla bilgi için borulu + günlüklere bakınız. + +

Güvenlik:

+

Bir borulu süreç kullanılmışsa, süreç httpd’yi + başlatan kullanıcı tarafından başlatılacaktır. Sunucu root tarafından + başlatılıyorsa bu root olacaktır; bu bakımdan günlük kaydını alacak + programın güvenilir olması önemlidir.

+
+

Bilginize

+

Dosya yolunu belirtirken tersbölü çizgisi kullanılan Unix dışı + platformlarda bile yapılandırma dosyasında bu amaçla normal bölü + çizgilerini kullanmaya özen gösterilmelidir.

+
+
+ +

İkinci argümanda günlüğe ne yazılacağı belirtilir. Ya evvelce + LogFormat yönergesi ile + tanımlanmış bir takma-ad ya da içeriği Günlük Girdilerinin Kişiselleştirilmesi bölümünde + açıklanmış bir biçem dizgesi olabilir.

+ +

Örneğin, aşağıdaki iki yönerge kümesi aynı etkiye sahiptir:

+ +
# Biçem dizgesi yerine takma ad içeren CustomLog
+LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog "logs/access_log" common
+
+# Biçem dizgesinin kendisini içeren CustomLog
+CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"
+ + +

Üçüncü argüman isteğe bağlı olup,belli bir isteğin günlüğe kaydedilip + kaydedilmeyeceğini belirler. Koşul, sunucu ortamında belli bir değişkenin varlığı veya + yokluğu olabilir (bir 'env=!isim' durumu). + İstenirse koşul keyfi bir mantıksal ifade + olarak da belirtilebilir. Eğer koşul sağlanmazsa istek günlüğe + kaydedilmez. İfadede bulunan HTTP başlıklarına başvurular bu başlık + isimlerinin Vary başlığına eklenmesine sebep olmaz.

+ +

Ortam değişkenleri mod_setenvif + ve/veya mod_rewrite modülleri kullanılarak her istek + için ayrı ayrı atanabilir. Örneğin, GIF biçemli resimler için yapılan + istekleri ana günlük dosyasına değil de başka bir dosyaya kaydetmek + isterseniz:

+ +
SetEnvIf Request_URI \.gif$ gif-image
+CustomLog "gif-requests.log" common env=gif-image
+CustomLog "nongif-requests.log" common env=!gif-image
+ + +

Veya eski RefererIgnore yönergesinin davranışını taklit + etmek isterseniz:

+ +
SetEnvIf Referer example\.com localreferer
+CustomLog "referer.log" referer env=!localreferer
+ + +
+
top
+

GlobalLog Yönergesi

+ + + + + + + +
Açıklama:Günlük dosyasının ismini ve biçemini belirler
Sözdizimi:GlobalLog dosya|boru|sağlayıcı +biçem|takma_ad +[env=[!]ortam_değişkeni| +expr=ifade]
BaÄŸlam:sunucu geneli
Durum:Temel
Modül:mod_log_config
Uyumluluk:Apache HTTP Sunucusunun 2.4.19 ve sonraki sürümlerinde kullanılabilir.
+ +

GlobalLog yönergesi ana sunucu yapılandırması ve + tüm tanımlı sanal konaklarca paylaşılan bir günlük tanımlar.

+ +

GlobalLog yönergesi aşağıdaki farklar dışında + CustomLog yönergesine eşdeğerdir:

+
    +
  • GlobalLog sanal konak baÄŸlamında belirtilirse + geçersizdir.
  • +
  • Sanal konaklar küresel baÄŸlamda belirtilmiÅŸ bir + CustomLog yönergesinin tersine + GlobalLog yönergesini kendi + CustomLog yönergesiymiÅŸ gibi kullanır.
  • +
+ +
+
top
+

LogFormat Yönergesi

+ + + + + + + +
Açıklama:Bir günlük dosyasında kullanılmak üzere girdi biçemi tanımlar. +
Sözdizimi:LogFormat biçem|takma-ad +[takma-ad]
Öntanımlı:LogFormat "%h %l %u %t \"%r\" %>s %b"
BaÄŸlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_log_config
+

Bu yönerge erişim günlüğü dosyasının girdi biçemini belirler.

+ +

LogFormat yönergesi iki şekilde kullanılabilir. + Tek argüman belirtilebilen ilkinde daha sonra + TransferLog yönergelerinde belirtilen günlüklerde + kullanılmak üzere günlük biçemini belirler. Bu günlük biçemi yukarıda + açıklanan biçem belirteçlerinden + oluşur. Bu tek argüman yerine aşağıda açıklandığı gibi önceki bir + LogFormat yönergesinde tanımlanmış bir günlük + biçemine atıf yapan bir takma-ad da belirtilebilir.

+ +

LogFormat yönergesinin ikinci kullanım şeklinde + biçem bir takma-ad için tanımlanır. Bu takma ad + daha sonraki LogFormat veya CustomLog yönergelerinde aynı biçem + dizgesini uzun uzadıya yazmamak için takma-ad olarak + kullanılır. Bir LogFormat yönergesi bir takma ad + tanımlamaktan başka bir şey yapmaz; yani, yaptığı iş + sadece bir takma ad tanımlamaktan ibarettir, biçemi uygulamaz veya + biçemi öntanımlı hale getirmez. Bu bakımdan sonraki TransferLog yönergelerini de + etkilemeyecektir. Ayrıca, LogFormat yönergesi bir + takma ada başka bir takma ad tanımlamakta da kullanılamaz. Bir takma + adın yüzde imi (%) içeremeyeceğine de dikkat ediniz.

+ +
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
+ + +
+
top
+

TransferLog Yönergesi

+ + + + + + +
Açıklama:Bir günlük dosyasının yerini belirtir.
Sözdizimi:TransferLog dosya|borulu-süreç +[takma-ad]
BaÄŸlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_log_config
+

Bir günlük biçemi tanımlanmasını ve şarta bağlı günlük kaydını mümkün + kılmaması haricinde CustomLog yönergesi gibidir. Günlük biçemi yerine kendinden + önce yer alan bir LogFormat yönergesinde tanımlanan + bir takma ad kullanılır. Açıkça bir günlük biçemi takma adı + belirtilmedikçe Ortak Günlük Biçemi öntanımlıdır.

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
+TransferLog "logs/access_log"
+ + +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_debug.html b/docs/manual/mod/mod_log_debug.html new file mode 100644 index 0000000..e57e8a9 --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_log_debug.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_log_debug.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_debug.html.en b/docs/manual/mod/mod_log_debug.html.en new file mode 100644 index 0000000..a97cf5f --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html.en @@ -0,0 +1,172 @@ + + + + + +mod_log_debug - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_log_debug

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Additional configurable debug logging
Status:Experimental
Module Identifier:log_debug_module
Source File:mod_log_debug.c
Compatibility:Available in Apache 2.3.14 and later
+
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Examples

+ +
    +
  1. + Log message after request to /foo/* is processed: + +
    <Location "/foo/">
    +  LogMessage "/foo/ has been requested"
    +</Location>
    + +
  2. + +
  3. + Log message if request to /foo/* is processed in a sub-request: +
    <Location "/foo/">
    +  LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}"
    +</Location>
    + + + The default log_transaction hook is not executed for sub-requests, + therefore we have to use a different hook. +
  4. + + +
  5. + Log message if an IPv6 client causes a request timeout: +
    LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
    + + Note the placing of the double quotes for the expr= argument. +
  6. + +
  7. + Log the value of the "X-Foo" request environment variable in each + stage of the request: +
    <Location "/">
    +  LogMessage "%{reqenv:X-Foo}" hook=all
    +</Location>
    + + Together with microsecond time stamps in the error log, + hook=all also lets you determine the times spent + in the different parts of the request processing. +
  8. + +
+
+
top
+

LogMessage Directive

+ + + + + + + +
Description:Log user-defined message to error log +
Syntax:LogMessage message +[hook=hook] [expr=expression] +
Default:Unset
Context:directory
Status:Experimental
Module:mod_log_debug
+

This directive causes a user defined message to be logged to the + error log. The message can use variables and functions from the + ap_expr syntax. References to HTTP headers + will not cause header names to be added to the Vary header. The + messages are logged at loglevel info.

+ +

The hook specifies before which phase of request processing the message + will be logged. The following hooks are supported:

+ + + + + + + + + + + + + + + +
Name
pre_translate_name
translate_name
type_checker
quick_handler
map_to_storage
check_access
check_access_ex
insert_filter
check_authn
check_authz
fixups
handler
log_transaction
+ +

The default is log_transaction. The special value + all is also supported, causing a message to be logged at each + phase. Not all hooks are executed for every request.

+ +

The optional expression allows to restrict the message if a + condition is met. The details of the expression syntax are described in + the ap_expr documentation. References to HTTP + headers will not cause the header names to be added to the Vary header.

+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_debug.html.fr.utf8 b/docs/manual/mod/mod_log_debug.html.fr.utf8 new file mode 100644 index 0000000..6ba3fc7 --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html.fr.utf8 @@ -0,0 +1,183 @@ + + + + + +mod_log_debug - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_log_debug

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Journalisation supplémentaire à des fins de débogage
Statut:Expérimental
Identificateur de Module:log_debug_module
Fichier Source:mod_log_debug.c
Compatibilité:Disponible depuis la version 2.3.14 d'Apache
+
+ +
top
+
+

Exemples

+ +
    +
  1. + Enregistre un message après le traitement d'une requête pour + /foo/* : + +
    <Location "/foo/">
    +  LogMessage "/foo/ has been requested"
    +</Location>
    + +
  2. + +
  3. + Enregistre un message si une requête pour /foo/* est traitée + dans une sous-requête : +
    <Location "/foo/">
    +  LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}"
    +</Location>
    + + + Le branchement (hook) par défaut log_transaction n'est pas + exécuté pour les sous-requêtes ; nous devons donc en utiliser un + autre. +
  4. + + +
  5. + Enregistre un message si un client IPv6 est à l'origine d'un + dépassement de délai pour une requête : +
    LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
    + + Notez l'emplacement des guillemets pour l'argument + expr=. +
  6. + +
  7. + Enregistre la valeur de la variable d'environnement de requête + "X-Foo" à chaque étape du traitement : +
    <Location "/">
    +  LogMessage "%{reqenv:X-Foo}" hook=all
    +</Location>
    + + En association avec les repères de temps en microsecondes du journal des erreurs, + hook=all permet aussi de déterminer la durée d'exécution des + différentes phases du traitement de la requête. +
  8. + +
+
+
top
+

Directive LogMessage

+ + + + + + + +
Description:Enregistre des messages personnalisés dans le journal des +erreurs
Syntaxe:LogMessage message +[hook=hook] [expr=expression] +
Défaut:Non défini
Contexte:répertoire
Statut:Expérimental
Module:mod_log_debug
+

Cette directive permet d'enregistrer un message personnalisé dans + le journal des erreurs. Ce message peut utiliser des variables et + des fonctions dans la syntaxe ap_expr. + D'éventuelles références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary. + Les messages sont enregistrés au loglevel info.

+ +

Le branchement (hook) précise la phase du traitement de la + requête avant laquelle le message sera enregistré. Les branchements + suivants sont supportés :

+ + + + + + + + + + + + + + + +
Nom
pre_translate_name
translate_name
type_checker
quick_handler
map_to_storage
check_access
check_access_ex
insert_filter
check_authn
check_authz
fixups
handler
log_transaction
+ +

Le branchement par défaut est log_transaction. La + valeur spéciale all est également supportée ; dans ce cas, + le message sera enregistré à chaque phase. Tous les branchements ne + sont pas exécutés pour chaque requête.

+ +

L'expression optionnelle permet de restreindre l'enregistrement + du message en fonction d'une certaine condition. La syntaxe de + l'expression est décrite dans la documentation ap_expr. D'éventuelles + références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary.

+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html b/docs/manual/mod/mod_log_forensic.html new file mode 100644 index 0000000..a94d451 --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_log_forensic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_log_forensic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_log_forensic.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_log_forensic.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_forensic.html.en b/docs/manual/mod/mod_log_forensic.html.en new file mode 100644 index 0000000..c7b535b --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.en @@ -0,0 +1,196 @@ + + + + + +mod_log_forensic - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_log_forensic

+
+

Available Languages:  en  | + fr  | + ja  | + tr 

+
+ + + + +
Description:Forensic Logging of the requests made to the server
Status:Extension
Module Identifier:log_forensic_module
Source File:mod_log_forensic.c
Compatibility:mod_unique_id is no longer required since +version 2.1
+

Summary

+ +

This module provides for forensic logging of client + requests. Logging is done before and after processing a request, so the + forensic log contains two log lines for each request. + The forensic logger is very strict, which means:

+ +
    +
  • The format is fixed. You cannot modify the logging format at + runtime.
  • +
  • If it cannot write its data, the child process + exits immediately and may dump core (depending on your + CoreDumpDirectory + configuration).
  • +
+ +

The check_forensic script, which can be found in the + distribution's support directory, may be helpful in evaluating the + forensic log output.

+
+ +
top
+
+

Forensic Log Format

+

Each request is logged two times. The first time is before it's + processed further (that is, after receiving the headers). The second log + entry is written after the request processing at the same time + where normal logging occurs.

+ +

In order to identify each request, a unique request ID is assigned. + This forensic ID can be cross logged in the normal transfer log using the + %{forensic-id}n format string. If you're using + mod_unique_id, its generated ID will be used.

+ +

The first line logs the forensic ID, the request line and all received + headers, separated by pipe characters (|). A sample line + looks like the following (all on one line):

+ +

+ +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, etc... +

+ +

The plus character at the beginning indicates that this is the first log + line of this request. The second line just contains a minus character and + the ID again:

+ +

+ -yQtJf8CoAB4AAFNXBIEAAAAA +

+ +

The check_forensic script takes as its argument the name + of the logfile. It looks for those +/- ID pairs + and complains if a request was not completed.

+
top
+
+

Security Considerations

+

See the security tips + document for details on why your security could be compromised + if the directory where logfiles are stored is writable by + anyone other than the user that starts the server.

+

The log files may contain sensitive data such as the contents of + Authorization: headers (which can contain passwords), so + they should not be readable by anyone except the user that starts the + server.

+
+
top
+

ForensicLog Directive

+ + + + + + +
Description:Sets filename of the forensic log
Syntax:ForensicLog filename|pipe
Context:server config, virtual host
Status:Extension
Module:mod_log_forensic
+

The ForensicLog directive is used to + log requests to the server for forensic analysis. Each log entry + is assigned a unique ID which can be associated with the request + using the normal CustomLog + directive. mod_log_forensic creates a token called + forensic-id, which can be added to the transfer log + using the %{forensic-id}n format string.

+ +

The argument, which specifies the location to which + the logs will be written, can take one of the following two + types of values:

+ +
+
filename
+
A filename, relative to the ServerRoot.
+ +
pipe
+
The pipe character "|", followed by the path + to a program to receive the log information on its standard + input. The program name can be specified relative to the ServerRoot directive. + +

Security:

+

If a program is used, then it will be run as the user who + started httpd. This will be root if the server was + started by root; be sure that the program is secure or switches to a + less privileged user.

+
+ +

Note

+

When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashes are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.

+
+
+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html.fr.utf8 b/docs/manual/mod/mod_log_forensic.html.fr.utf8 new file mode 100644 index 0000000..a4eb8c8 --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.fr.utf8 @@ -0,0 +1,218 @@ + + + + + +mod_log_forensic - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_log_forensic

+
+

Langues Disponibles:  en  | + fr  | + ja  | + tr 

+
+ + + + +
Description:Journalisation légale des requêtes envoyées au +serveur
Statut:Extension
Identificateur de Module:log_forensic_module
Fichier Source:mod_log_forensic.c
Compatibilité:mod_unique_id n'est plus obligatoire +depuis la version 2.1
+

Sommaire

+ +

Ce module permet la journalisation légale des requêtes client. La + journalisation s'effectuant avant et après le traitement de la + requête, le journal légal contient deux lignes pour chaque requête. + Le processus de journalisation légale est très strict, à savoir + :

+ +
    +
  • Le format est figé. Vous ne pouvez pas modifier le format du + journal à l'exécution.
  • +
  • S'il ne peut pas enregistrer ses données, le processus enfant se + termine aussitôt, et peut éventuellement enregistrer un vidage + mémoire (selon la définition de la directive CoreDumpDirectory).
  • +
+ +

Pour interpréter les données du journal légal, vous pouvez vous + aider du script check_forensic qui se trouve dans le + répertoire support de la distribution.

+
Note de traduction : le terme "légal" utilisé dans le présent document ne suggère aucunement que + ce module apporte une valeur juridique aux journaux. Il est à comprendre dans le contexte + similaire à ce que l'on trouve en analyse medico-légale. En d'autres termes, la finalité de ce module + est de simplifier les opérations d'investigation autour du traitement des requêtes par le serveur.
+
+ +
top
+
+

Format du journal Forensic

+

Chaque requête fait l'objet d'une double journalisation. La + requête est journalisée une première fois avant son traitement + (c'est à dire après la réception des en-têtes). La deuxième entrée + du journal est écrite après le traitement de la requête, en + fait au moment de la journalisation habituelle.

+ +

Un identifiant unique est attribué à chaque requête afin de + pouvoir l'identifier. Cette identifiant légal peut faire l'objet + d'un enregistrement dans le journal standard en utilisant l'élément + de chaîne de format %{forensic-id}n. Si vous utilisez + mod_unique_id, c'est l'identifiant qu'il génère qui + sera utilisé.

+ +

La première partie de la journalisation de la requête enregistre + l'identifiant légal, la ligne de la requête et tous les en-têtes + reçus séparés par des caractères pipe (|). Voici à + titre d'exemple à quoi pourrait ressembler une telle entrée (tout + étant rassemblé sur une seule ligne) :

+ +

+ +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, etc... +

+ +

Le caractère plus ('+') de début indique qu'il s'agit de la + première entrée de journal pour cette requête. La seconde entrée ne + contiendra qu'un caractère moins ('-') suivi de l'identifiant :

+ +

+ -yQtJf8CoAB4AAFNXBIEAAAAA +

+ +

Le script check_forensic prend comme argument le nom + du fichier journal. Il recherche ces paires d'identifiants + +/- et affiche un message d'erreur si la + journalisation d'une requête n'est pas complète.

+
top
+
+

Considérations à propos de +sécurité

+

Voir le document conseils en matière de + sécurité pour des détails sur les raisons pour lesquelles votre + sécurité pourrait être compromise si le répertoire dans lequel les + fichiers journaux sont stockés sont inscriptibles par tout autre + utilisateur que celui qui démarre le serveur.

+

Les fichiers journaux peuvent contenir des données sensibles + comme le contenu des en-têtes Authorization: (qui + peuvent contenir des mots de passe) ; ils ne doivent donc être + lisibles que par l'utilisateur qui démarre le serveur.

+
+
top
+

Directive ForensicLog

+ + + + + + +
Description:Définit le nom de fichier du journal légal
Syntaxe:ForensicLog nom-fichier|pipe
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_log_forensic
+

La directive ForensicLog permet de + contrôler la journalisation des requêtes à des fins d'analyse + légale. Chaque entrée du journal se voit assigner un identifiant + unique qui peut être associé à la requête en utilisant la directive + CustomLog habituelle. + mod_log_forensic crée un élément nommé + forensic-id, qui peut être ajouté au journal standard + en utilisant l'élément de format %{forensic-id}n.

+ +

L'argument, qui permet de spécifier l'emplacement vers lequel le + journal légal sera écrit, peut contenir les deux types de valeurs + suivants :

+ +
+
nom-fichier
+
Un nom de fichier relatif au répertoire défini par la + directive ServerRoot.
+ +
pipe
+
Le caractère pipe "|", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Le nom du programme peut être relatif au + répertoire défini par la directive ServerRoot. + +

Sécurité :

+

Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + httpd. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé ou passe sous le contrôle d'un utilisateur possédant des + droits restreints.

+
+ +

Note

+

Lors de la spécification d'un chemin de fichier sur les + plate-formes non-Unix, il faut prendre soin de ne pas oublier + que seuls les slashes directs doivent être utilisés, même si la + plate-forme autorise l'emploi d'anti-slashes. D'une manière + générale, c'est une bonne idée que de n'utiliser que des slashes + directs dans les fichiers de configuration.

+
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html.ja.utf8 b/docs/manual/mod/mod_log_forensic.html.ja.utf8 new file mode 100644 index 0000000..6d4117b --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.ja.utf8 @@ -0,0 +1,197 @@ + + + + + +mod_log_forensic - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_log_forensic

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:サーãƒã«é€ã‚‰ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® forensic ロギング
ステータス:Extension
モジュール識別å­:log_forensic_module
ソースファイル:mod_log_forensic.c
互æ›æ€§:mod_unique_id ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.1 ã‹ã‚‰ã¯å¿…é ˆã§ã¯ +ãªããªã£ãŸ
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒªã‚¯ã‚¨ã‚¹ãƒˆã® forensic ロギングを + è¡Œãªã„ã¾ã™ã€‚ログåŽé›†ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å‡¦ç†ã®å‰ã¨å¾Œã«è¡Œãªã‚ã‚Œã¾ã™ã®ã§ã€ + forensic ログã¯å„リクエストã«å¯¾ã—ã¦äºŒè¡Œãƒ­ã‚°åŽé›†ã—ã¾ã™ã€‚ + Forensic ロガーã¯éžå¸¸ã«åŽ³å¯†ã§ã™ã€‚ã“ã‚Œã¯ä»¥ä¸‹ã®ã“ã¨ã‚’æ„味ã—ã¾ã™:

+ +
    +
  • フォーマットã¯å›ºå®šã§ã™ã€‚実行時ã«ãƒ­ã‚®ãƒ³ã‚°ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’変更ã™ã‚‹ã“ã¨ã¯ + ã§ãã¾ã›ã‚“。
  • +
  • データを書ã‘ãªã„å ´åˆã¯å­ãƒ—ロセスã¯ãã®å ´ã§çµ‚了ã—ã€ã•ã‚‰ã«ã‚³ã‚¢ã‚’ + ダンプã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ (CoreDumpDirectory ディレクティブã®è¨­å®šã«ä¾ã‚Šã¾ã™)。
  • +
+ +

Forensic ログã®å‡ºåŠ›ã‚’検査ã™ã‚‹ãŸã‚ã«ã¯ã€ + é…布物㮠support ディレクトリã«ã‚ã‚‹ check_forensic + スクリプトãŒå½¹ã«ç«‹ã¤ã§ã—ょã†ã€‚

+
+ +
top
+
+

Forensic ログフォーマット

+

å„リクエストã¯2回ログåŽé›†ã•ã‚Œã¾ã™ã€‚最åˆã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒå‡¦ç†ã•ã‚Œã‚‹ + å‰ (ã¤ã¾ã‚Šã€ãƒ˜ãƒƒãƒ€ã‚’å—ã‘å–ã£ãŸå¾Œ) ã§ã™ã€‚2度目ã®ãƒ­ã‚°ã¯ + リクエストãŒå‡¦ç†ã•ã‚ŒãŸå¾Œã€é€šå¸¸ã®ãƒ­ã‚°åŽé›†ã¨åŒã˜ã¨ãã« + è¡Œãªã‚ã‚Œã¾ã™ã€‚

+ +

å„リクエストを識別ã™ã‚‹ãŸã‚ã«ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯ + 一æ„ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆ ID ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ã“ã® forensic ID 㯠+ フォーマット文字列 %{forensic-id}n を使ã†ã“ã¨ã§ + 通常㮠transfer ログã«ãƒ­ã‚°åŽé›†ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + mod_unique_id を使ã£ã¦ã„ã‚‹å ´åˆã¯ã€ãã‚ŒãŒç”Ÿæˆã™ã‚‹ + ID ãŒä½¿ã‚ã‚Œã¾ã™ã€‚

+ +

最åˆã®è¡Œã¯ forensic IDã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆè¡Œã¨å—ã‘å–ã£ãŸã™ã¹ã¦ã®ãƒ˜ãƒƒãƒ€ã‚’ + パイプ文字 (|) ã§åˆ†é›¢ã—ã¦ãƒ­ã‚°åŽé›†ã—ã¾ã™ã€‚ + 例ãˆã°ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ (実際ã¯ã™ã¹ã¦åŒã˜è¡Œã«ãªã‚Šã¾ã™):

+ +

+ +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, etc... +

+ +

最åˆã®ãƒ—ラス文字ãŒã“ã®ãƒ­ã‚°ã¯æœ€åˆã®ãƒ­ã‚°ã§ã‚ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚ + 二番目ã®è¡Œã¯ãƒžã‚¤ãƒŠã‚¹æ–‡å­—㨠ID ã®ã¿ã§ã™:

+ +

+ -yQtJf8CoAB4AAFNXBIEAAAAA +

+ +

check_forensic スクリプトã¯å¼•æ•°ã¨ã—ã¦ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‚’ + å–ã‚Šã¾ã™ã€‚+/- ã® ID ã®çµ„を調ã¹ã€å®Œäº†ã—ã¦ã„ãªã„ + リクエストãŒã‚ã‚‹å ´åˆã¯è­¦å‘Šã‚’発ã—ã¾ã™ã€‚

+
top
+
+

セキュリティã®å•é¡Œ

+

ログファイルãŒä¿å­˜ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã‚µãƒ¼ãƒã‚’èµ·å‹•ã—ãŸãƒ¦ãƒ¼ã‚¶ + 以外ã§æ›¸ãè¾¼ã¿å¯èƒ½ã«ãªã£ã¦ã„ã‚‹ã¨ãã«ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒç ´ã‚‰ã‚Œã‚‹å¯èƒ½æ€§ãŒ + ã‚ã‚‹ã“ã¨ã«ã¤ã„ã¦ã®è©³ç´°ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®ã“ã¤ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„。

+
+
top
+

ForensicLog ディレクティブ

+ + + + + + +
説明:Forensic ログã®ãƒ•ã‚¡ã‚¤ãƒ«åを設定ã™ã‚‹
構文:ForensicLog filename|pipe
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_log_forensic
+

ForensicLog ディレクティブ㯠forensic 解æžã®ãŸã‚ã® + サーãƒã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ログåŽé›†ã«ä½¿ã„ã¾ã™ã€‚ + å„ログエントリã«ã¯ã€æ™®é€šã® CustomLog ディレクティブを使ã£ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨é–¢é€£ä»˜ã‘ã‚‹ã“ã¨ã® + ã§ãã‚‹ + 一æ„㪠ID ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚mod_log_forensic 㯠+ forensic-id ã¨ã„ã†ãƒˆãƒ¼ã‚¯ãƒ³ã‚’作æˆã—ã€ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å­—列 + %{forensic-id}n を使ã†ã“ã¨ã§ãã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’ transfer ログ㫠+ 追加ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

引数ã¯ãƒ­ã‚°ãŒæ›¸ã出ã•ã‚Œã‚‹ä½ç½®ã‚’指定ã—ã€ä»¥ä¸‹ã® 2種類ã®å€¤ã®ã©ã¡ã‚‰ã‹ã‚’ + å–ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +
+
filename
+
ServerRoot ã‹ã‚‰ã® + 相対ファイルå
+ +
pipe
+
パイプ文字 "|" ã¨ã€ãã®å¾Œã«ãƒ­ã‚°æƒ…報を標準入力ã‹ã‚‰ + å—ã‘å–るプログラム。プログラムå㯠ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—ã¦ã‚‚ + 指定ã§ãã¾ã™ã€‚ + +

セキュリティ:

+

プログラムを使ã†å ´åˆã€ãã®ãƒ—ログラム㯠httpd ã‚’èµ·å‹•ã—ãŸãƒ¦ãƒ¼ã‚¶ã§ + 実行ã•ã‚Œã¾ã™ã€‚ã¤ã¾ã‚Šã€ã‚µãƒ¼ãƒãŒ root ã§å®Ÿè¡Œã•ã‚ŒãŸå ´åˆã¯ root 㧠+ 実行ã•ã‚Œã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚プログラムãŒå®‰å…¨ã§ã‚ã‚‹ã‹ã€ã‚ˆã‚Šæ¨©é™ã®å°‘ãªã„ + ユーザã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’確ã‹ã‚ã¦ãã ã•ã„。

+
+ +

注

+

Unix 以外ã®ãƒ—ラットフォームã§ãƒ•ã‚¡ã‚¤ãƒ«åを入力ã™ã‚‹ã¨ãã¯ã€ + プラットフォームãŒãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®ä½¿ç”¨ã‚’許å¯ã—ã¦ã„ã‚‹å ´åˆã§ã‚‚〠+ スラッシュã®ã¿ãŒä½¿ã‚れるよã†ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。 + 普通ã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã™ã¹ã¦ã«ãŠã„ã¦ã€ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã®æ–¹ã‚’使用ã™ã‚‹ã‚ˆã†ã« + ã—ã¦ãã ã•ã„。

+
+
+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html.tr.utf8 b/docs/manual/mod/mod_log_forensic.html.tr.utf8 new file mode 100644 index 0000000..fdd1c9b --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.tr.utf8 @@ -0,0 +1,195 @@ + + + + + +mod_log_forensic - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_log_forensic

+
+

Mevcut Diller:  en  | + fr  | + ja  | + tr 

+
+ + + + +
Açıklama:Sunucuya yapılan isteklerin adli günlük kayıtlarının tutulması
Durum:Eklenti
Modül Betimleyici:log_forensic_module
Kaynak Dosyası:mod_log_forensic.c
Uyumluluk:2.1 sürümünden beri mod_unique_id gerekmemektedir.
+

Özet

+ +

Bu modül istemci isteklerinin adli günlük kayıtlarının tutulmasını + sağlar. Günlük kaydı bir istek işlenmeden önce ve sonra olmak üzere iki + kere yapılır, böylece günlükte her istek için iki girdi bulunur. Adli + günlükleyici çok sıkı kurallara tabidir, yani:

+ +
    +
  • Biçem sabittir. Günlük kayıt biçemi çalışma anında deÄŸiÅŸtirilemez.
  • +
  • Veriyi yazamadığı takdirde çocuk süreç beklemeksizin çıkar ve + (CoreDumpDirectory + yapılandırmasına baÄŸlı olarak) bir core dosyası dökümler.
  • +
+ +

Dağıtımın support dizininde bulunan + check_forensic betiği adli günlük dosyalarının + değerlendirilmesinde yardımcı olabilir.

+
+ +
top
+
+

Adli Günlük Biçemi

+

Her istek günlüğe iki defa kaydedilir. İlki, işlemin başlangıcında + (yani, başlıklar alındıktan hemen sonra), ikincisi ise istek işlem + gördükten sonra normal günlüklemenin yapıldığı sırada yapılır.

+ +

Her isteği betimlemek için eşsiz bir istek kimliği atanır. Bu adli + kimliğin normal günlüğe de yazılması istenirse bu + %{forensic-id}n biçem dizgesi ile yapılabilir. + mod_unique_id kullanılıyorsa, onun ürettiği kimlik + kullanılır.

+ +

İlk satır günlüğe, adli kimliği, istek satırını ve alınan tüm + başlıkları boru karakterleri (|) ile ayrılmış olarak + kaydeder. Aşağıda bir örneğe yer verilmiştir (hepsi bir satırdadır):

+ +

+ +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, etc... +

+ +

Başlangıçtaki artı imi bu günlük satırının istekle ilgili ilk günlük + kaydı olduğunu belirtir. İkinci satırda bunun yerini bir eksi imi + alır:

+ +

+ -yQtJf8CoAB4AAFNXBIEAAAAA +

+ +

check_forensic betiği komut satırı argümanı olarak günlük + dosyasının ismini alır. Bu +/- kimlik + çiftlerine bakarak tamamlanmamış istekler varsa bunlar hakkında + uyarır.

+
top
+
+

Güvenlik Kaygıları

+

Günlük dosyarının kaydedildiği dizine sunucuyu başlatan kullanıcı + dışında diğer kullanıcılar tarafından yazılabiliyor olması halinde + güvenliğinizden nasıl feragat etmiş olacağınız güvenlik ipuçları + belgesinde açıklanmıştır.

+

Günlük dosyaları, Authorization: başlıklarının (parola + içerebilen) içerikleri gibi hassas veriler içerebileceğinden bunların + sunucuyu başlatan kullanıcıdan başkası tarafından okunamaması sağlanmış + olmalıdır.

+
+
top
+

ForensicLog Yönergesi

+ + + + + + +
Açıklama:Adli günlük için dosya ismini belirler.
Sözdizimi:ForensicLog dosya-adı|borulu-süreç
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_log_forensic
+

ForensicLog yönergesi adli inceleme için + sunucuya yapılan istekleri günlüğe kaydetmekte kullanılır. Her günlük + girdisine, normal CustomLog yönergesinde kullanılarak istekle + ilişkilendirilebilen eşsiz bir kimlik atanır. + mod_log_forensic modülü, aktarım günlüğünün biçem + dizgesinde %{forensic-id}n şeklinde kullanılmak üzere + forensic-id adı verilen bir dizgecik oluşturur.

+ +

Günlüğün yazılacağı yeri belirleyen argüman şu iki değerden birini + alabilir:

+ +
+
dosya-adı
+
ServerRoot yönergesinin + değerine göreli bir dosya ismi.
+ +
borulu-süreç
+
"|" boru karakteri ile öncelenmiş olarak günlük + bilgisini standart girdisinden kabul edecek sürecin ismi (veya komut + satırı). Program adının ServerRoot yönergesinin değerine göre belirtildiği + varsayılır. + +

Güvenlik:

+

Bir borulu süreç kullanılmışsa, süreç httpd’yi + başlatan kullanıcı tarafından başlatılacaktır. Sunucu root tarafından + başlatılıyorsa bu root olacaktır; bu bakımdan günlük kaydını alacak + programın güvenilir olması veya daha az yetkili bir kullanıcıya geçiş + yapması önemlidir.

+
+ +

Bilginize

+

Dosya yolunu belirtirken tersbölü çizgisi kullanılan Unix dışı + platformlarda bile yapılandırma dosyasında bu amaçla normal bölü + çizgilerini kullanmaya özen gösterilmelidir.

+
+
+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html b/docs/manual/mod/mod_logio.html new file mode 100644 index 0000000..e30458a --- /dev/null +++ b/docs/manual/mod/mod_logio.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_logio.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_logio.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_logio.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_logio.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_logio.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_logio.html.en b/docs/manual/mod/mod_logio.html.en new file mode 100644 index 0000000..36ebb04 --- /dev/null +++ b/docs/manual/mod/mod_logio.html.en @@ -0,0 +1,154 @@ + + + + + +mod_logio - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_logio

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Logging of input and output bytes per request
Status:Extension
Module Identifier:logio_module
Source File:mod_logio.c
+

Summary

+ + +

This module provides the logging of input and output number of + bytes received/sent per request. The numbers reflect the actual bytes + as received on the network, which then takes into account the + headers and bodies of requests and responses. The counting is done + before SSL/TLS on input and after SSL/TLS on output, so the numbers + will correctly reflect any changes made by encryption.

+ +

This module requires mod_log_config.

+ +
When KeepAlive connections are used with SSL, the overhead of the SSL + handshake is reflected in the byte count of the first request on the + connection. When per-directory SSL renegotiation occurs, the bytes are associated + with the request that triggered the renegotiation.
+ +
+ +
top
+
+

Custom Log Formats

+ + +

This module adds three new logging directives. The characteristics of the + request itself are logged by placing "%" directives in + the format string, which are replaced in the log file by the values as + follows:

+ + + + + + + + + + + +
Format StringDescription
%IBytes received, including request and headers, cannot be + zero.
%OBytes sent, including headers, cannot be zero.
%SBytes transferred (received and sent), including request and headers, + cannot be zero. This is the combination of %I and %O.
+ Available in Apache 2.4.7 and later
%^FBDelay in microseconds between when the request arrived and the + first byte of the response headers are written. Only available if + LogIOTrackTTFB is set to ON.
+ Available in Apache 2.4.13 and later
+ +

Usually, the functionality is used like this:

+ +
+
Combined I/O log format:
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
+
+
+
top
+

LogIOTrackTTFB Directive

+ + + + + + + + + +
Description:Enable tracking of time to first byte (TTFB)
Syntax:LogIOTrackTTFB ON|OFF
Default:LogIOTrackTTFB OFF
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_logio
Compatibility:Apache HTTP Server 2.4.13 and later
+

This directive configures whether this module tracks the delay + between the request being read and the first byte of the response + headers being written. The resulting value may be logged with the + %^FB format.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.fr.utf8 b/docs/manual/mod/mod_logio.html.fr.utf8 new file mode 100644 index 0000000..193aa11 --- /dev/null +++ b/docs/manual/mod/mod_logio.html.fr.utf8 @@ -0,0 +1,166 @@ + + + + + +mod_logio - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_logio

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Journalisation des octets en entrée et en sortie pour +chaque requête
Statut:Extension
Identificateur de Module:logio_module
Fichier Source:mod_logio.c
+

Sommaire

+ + +

Ce module permet d'enregistrer le nombre d'octets reçus et + envoyés pour chaque requête. Ce nombre reflète le nombre réel + d'octets transmis sur le réseau, et prend en compte les en-têtes et + corps des requêtes et des réponses. Le décompte est effectué avant + SSL/TLS en entrée et après SSL/TLS en sortie, si bien que le + résultat reflètera toute modification introduite par le + chiffrement.

+ +

Pour fonctionner, ce module requiert le chargement du module + mod_log_config.

+ +
Lorsqu'on utilise les connexions persistantes avec SSL, le + supplément de trafic induit par la négociation SSL est enregistré + dans le décompte des octets transmis dans le cadre de la première + requête de la connexion. Lors d'une renégociation SSL au niveau d'un + répertoire, le décompte d'octets est associé à la + requête qui a déclenché la renégociation.
+ +
+ +
top
+
+

Formats de journaux personnalisés

+ + +

Ce module introduit trois nouvelles directives de journalisation. + Les caractéristiques de la requête en elle-même sont journalisées en + insérant des directives "%" dans la chaîne de format, + qui seront remplacées comme suit dans le fichier journal :

+ + + + + + + + + + + +
Chaîne de FormatDescription
%IOctets reçus, en-têtes et corps de requête inclus ; ne peut + pas être nul.
%OOctets envoyés, en-têtes inclus ; ne peut + pas être nul.
%SNombre d'octets transmis (en émission et réception), y + compris corps et en-têtes de requête. Ce nombre ne peut pas être + nul, et il correspond à la combinaison des formats %I et %O.
+ Disponible depuis la version 2.4.7 du serveur HTTP Apache.
%^FBDélai en microsecondes entre l'arrivée de la requête et + l'écriture du premier octet des en-têtes de la réponse. + Disponible uniquement si la directive + LogIOTrackTTFB a été définie à ON.
+ Disponible à partir de la version 2.4.13 du serveur HTTP Apache +
+ +

En général, cette fonctionnalité s'utilise comme suit :

+ +
+
Format de journal d'entrées/sorties combiné :
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
+
+
+
top
+

Directive LogIOTrackTTFB

+ + + + + + + + + +
Description:Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)
Syntaxe:LogIOTrackTTFB ON|OFF
Défaut:LogIOTrackTTFB OFF
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_logio
Compatibilité:Disponible à partir de la version 2.4.13 du serveur HTTP +Apache
+

Cette directive permet de définir si ce module mesure le délai + entre la lecture de la requête et l'écriture du premier octet des + en-têtes de la réponse. La valeur obtenue peut être enregistrée dans + le journal via le format %^FB.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.ja.utf8 b/docs/manual/mod/mod_logio.html.ja.utf8 new file mode 100644 index 0000000..5ebc56d --- /dev/null +++ b/docs/manual/mod/mod_logio.html.ja.utf8 @@ -0,0 +1,141 @@ + + + + + +mod_logio - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_logio

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:リクエスト毎ã«å…¥åŠ›ãƒã‚¤ãƒˆæ•°ã¨å‡ºåŠ›ãƒã‚¤ãƒˆæ•°ã¨ã‚’ロギング
ステータス:Extension
モジュール識別å­:logio_module
ソースファイル:mod_logio.c
+

概è¦

+ + +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã”ã¨ã«å—ã‘å–ã£ãŸãƒã‚¤ãƒˆæ•°ã¨ + é€ä¿¡ã—ãŸãƒã‚¤ãƒˆæ•°ã®ãƒ­ã‚®ãƒ³ã‚°ã‚’è¡Œãªã†æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ + 記録ã•ã‚Œã‚‹æ•°å­—ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ˜ãƒƒãƒ€ã¨ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®æœ¬ä½“ã‚’ + å映ã—ãŸã€å®Ÿéš›ã«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§å—ã‘å–ã£ãŸãƒã‚¤ãƒˆå€¤ã§ã™ã€‚ + 入力ã§ã¯ SSL/TLS ã®å‰ã«ã€å‡ºåŠ›ã§ã¯ SSL/TLS ã®å¾Œã«æ•°ãˆã‚‹ã®ã§ã€ + æ•°å­—ã¯æš—å·ã«ã‚ˆã‚‹å¤‰åŒ–ã‚‚æ­£ã—ãå映ã—ãŸã‚‚ã®ã«ãªã‚Šã¾ã™ã€‚

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ä½¿ç”¨ã«ã¯ mod_log_config モジュール㌠+ å¿…è¦ã§ã™ã€‚

+ +
+ +
top
+
+

カスタムログ書å¼

+ + +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯æ–°ã—ã„ロギング用ディレクティブを加ãˆã¾ã™ã€‚ + リクエスト自身ã®ç‰¹å¾´ã¯ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å­—列ã«ã€ä»¥ä¸‹ã®æ§˜ã«ç½®æ›ã•ã‚Œã‚‹ + "%" ディレクティブを + 入れるã“ã¨ã§ãƒ­ã‚°åŽé›†ã•ã‚Œã¾ã™:

+ + + + + + + +
フォーマット文字列説明
%...Iリクエストã¨ãƒ˜ãƒƒãƒ€ã‚’å«ã‚€ã€å—ã‘å–ã£ãŸãƒã‚¤ãƒˆæ•°ã€‚ + 0 ã«ã¯ãªã‚‰ãªã„。
%...Oヘッダをå«ã‚€ã€é€ä¿¡ã—ãŸãƒã‚¤ãƒˆæ•°ã€‚0 ã«ã¯ãªã‚‰ãªã„。
+ +

通常ã€ã“ã®æ©Ÿèƒ½ã¯ä»¥ä¸‹ã®æ§˜ã«ä½¿ç”¨ã•ã‚Œã¾ã™:

+ +
+
çµåˆ I/O ログ書å¼:
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
+
+
+
top
+

LogIOTrackTTFB ディレクティブ

+ + + + + + + + + +
説明:Enable tracking of time to first byte (TTFB)
構文:LogIOTrackTTFB ON|OFF
デフォルト:LogIOTrackTTFB OFF
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Extension
モジュール:mod_logio
互æ›æ€§:Apache HTTP Server 2.4.13 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.ko.euc-kr b/docs/manual/mod/mod_logio.html.ko.euc-kr new file mode 100644 index 0000000..9d25b05 --- /dev/null +++ b/docs/manual/mod/mod_logio.html.ko.euc-kr @@ -0,0 +1,140 @@ + + + + + +mod_logio - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_logio

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¿äû´ç ÀÔÃâ·Â ¹ÙÀÌÆ®¼ö¸¦ ±â·Ï
»óÅÂ:Extension
¸ðµâ¸í:logio_module
¼Ò½ºÆÄÀÏ:mod_logio.c
+

¿ä¾à

+ + +

ÀÌ ¸ðµâÀº ¿äû´ç ÀÔÃâ·Â ¹ÙÀÌÆ®¼ö¸¦ ±â·ÏÇÑ´Ù. ¼ýÀÚ´Â + ³×Æ®¿÷¿¡¼­ ½ÇÁ¦·Î ÁÖ°í¹ÞÀº ¹ÙÀÌÆ®¼ö¸¦ ³ªÅ¸³»¸ç, ¿äû°ú ÀÀ´äÀÇ + Çì´õ¿Í ³»¿ëÀ» Æ÷ÇÔÇÑ´Ù. °³¼ö´Â ÀÔ·ÂÀÇ °æ¿ì SSL/TLS ÀÌÀü¿¡, + Ãâ·ÂÀÇ °æ¿ì SSL/TLS ÀÌÈÄ¿¡ ¼¼±â¶§¹®¿¡ ¾ÏȣȭÀÇ °á°úµµ + ¿Ã¹Ù·Î ¹Ý¿µµÈ´Ù.

+ +

ÀÌ ¸ðµâÀ» »ç¿ëÇÏ·Á¸é mod_log_configÀÌ + ÇÊ¿äÇÏ´Ù.

+ +
+ +
top
+
+

»ç¿ëÀÚÁ¤ÀÇ ·Î±× Çü½Ä

+ + +

ÀÌ ¸ðµâÀº µÎ°¡Áö »õ·Î¿î ·Î±×Áö½Ã¾î¸¦ Ãß°¡ÇÑ´Ù. ¿äûÀÚüÀÇ + Ư¼ºÀº Çü½Ä¹®ÀÚ¿­¿¡ "%" Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ±â·ÏÇÑ´Ù. + Áö½Ã¾î´Â ·Î±×ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº °ªÀ» ±â·ÏÇÑ´Ù:

+ + + + + + + +
Çü½Ä¹®ÀÚ¿­¼³¸í
%...I¿äû°ú Çì´õ¸¦ Æ÷ÇÔÇÏ¿© ¹ÞÀº ¹ÙÀÌÆ®¼ö. 0ÀÏ ¼ö ¾ø´Ù.
%...OÇì´õ¸¦ Æ÷ÇÔÇÏ¿© º¸³½ ¹ÙÀÌÆ®¼ö. 0ÀÏ ¼ö ¾ø´Ù.
+ +

º¸Åë ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù:

+ +
+ +
°áÇÕµÈ ÀÔÃâ·Â ·Î±× Çü½Ä:
+ +
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
+ +
+ +
+
top
+

LogIOTrackTTFB Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:Enable tracking of time to first byte (TTFB)
¹®¹ý:LogIOTrackTTFB ON|OFF
±âº»°ª:LogIOTrackTTFB OFF
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:All
»óÅÂ:Extension
¸ðµâ:mod_logio
Áö¿ø:Apache HTTP Server 2.4.13 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.tr.utf8 b/docs/manual/mod/mod_logio.html.tr.utf8 new file mode 100644 index 0000000..a6fe95f --- /dev/null +++ b/docs/manual/mod/mod_logio.html.tr.utf8 @@ -0,0 +1,151 @@ + + + + + +mod_logio - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_logio

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Her isteğin girdi ve çıktı uzunluklarının günlüklenmesi. +
Durum:Eklenti
Modül Betimleyici:logio_module
Kaynak Dosyası:mod_logio.c
+

Özet

+ + +

Bu modül her istekte alınan ve gönderilen bayt sayısının günlüklenmesini + sağlar. Sayılar, istekte ve yanıtta yer alan başlıklar ve gövdeleri + hesaba dahil ederek ağ üzerinde gerçekte gidip gelen bayt sayısını + gösterir. Bayt sayımı, girdide SSL/TLS öncesinde ve çıktıda SSL/TLS + sonrasında yapılır, böylece sayıların, şifrelemeyle herhangi bir + değişikliği doğru olarak yansıtması sağlanmış olur.

+ +

Bu modül mod_log_config modülünü gerektirir.

+ +
SSL ile KeepAlive bağlantılar kullanıldığında, SSL + uzlaşımının ek yükü, bağlantı üzerinden yapılan ilk isteğin bayt sayısını + yansıtır. Her dizin için yeniden uzlaşım gerektiği takdirde bayt sayısı + yeniden uzlaşımı tetikleyen istekle ilişkilendirilir.
+ +
+ +
top
+
+

Özel Günlük Biçemleri

+ + +

İsteğin belirgin özellikleri için, biçem dizgesinde yer alan % imli + biçem belirteçlerinin yerine günlük dosyasında değerleri yazılır. Bu + modül üç yeni biçem belirteci ekler:

+ + + + + + + + + + + +
Biçem BelirteciAçıklama
%Iİstek gövdesi ve başlıklar dahil alınan bayt sayısı; sıfır + olamaz.
%OBaşlıklar dahil gönderilen bayt sayısı; sıfır olamaz.
%SAktarılan bayt sayısı (alınan ve gönderilen), istekler ve başlıklar + dahil; sıfır olamaz. %I ve %O'nun birleşimidir.
+ Apache 2.4.7 ve sonrasında kullanılabilmektedir.
%^FBİstek gelip yanıt başlıklarının ilk baytı yazılana kadar mikrosaniye cinsinden geçen zaman. Sadece LogIOTrackTTFB yönergesine ON atanmışsa kullanılabilir.
+ Apache 2.4.13 ve sonrasında kullanılabilir.
+ +

Genel olarak, işlevsellik şöyle kullanılır:

+ +
+
Birleşik G/Ç günlükleme biçemi:
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
+
+
+
top
+

LogIOTrackTTFB Yönergesi

+ + + + + + + + + +
Açıklama:İlk baytın yazılmasına kadar geçen süreyi izler
Sözdizimi:LogIOTrackTTFB ON|OFF
Öntanımlı:LogIOTrackTTFB OFF
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:All
Durum:Eklenti
Modül:mod_logio
Uyumluluk:Apache 2.4.13 ve sonrasında kullanılabilir
+

Bu yönerge isteğin okunmasından yanıt başlığının ilk baytının + yazılmasına kadar geçen sürenin izlenmesini yapılandırır. Sonuçlanan + değeri %^FB biçemi ile günlüğe kaydettirebilirsiniz.

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lua.html b/docs/manual/mod/mod_lua.html new file mode 100644 index 0000000..634a9a7 --- /dev/null +++ b/docs/manual/mod/mod_lua.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lua.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lua.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lua.html.en b/docs/manual/mod/mod_lua.html.en new file mode 100644 index 0000000..52cdcf8 --- /dev/null +++ b/docs/manual/mod/mod_lua.html.en @@ -0,0 +1,1922 @@ + + + + + +mod_lua - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_lua

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Provides Lua hooks into various portions of the httpd +request processing
Status:Extension
Module Identifier:lua_module
Source File:mod_lua.c
Compatibility:2.3 and later
+

Summary

+ +

This module allows the server to be extended with scripts written in the +Lua programming language. The extension points (hooks) available with +mod_lua include many of the hooks available to +natively compiled Apache HTTP Server modules, such as mapping requests to +files, generating dynamic responses, access control, authentication, and +authorization

+ +

More information on the Lua programming language can be found at the +the Lua website.

+ +

Warning

+

This module holds a great deal of power over httpd, which is both a +strength and a potential security risk. It is not recommended +that you use this module on a server that is shared with users you do not +trust, as it can be abused to change the internal workings of httpd.

+
+ +
+ +
top
+
+

Basic Configuration

+ +

The basic module loading directive is

+ +
LoadModule lua_module modules/mod_lua.so
+ + +

+mod_lua provides a handler named lua-script, +which can be used with a SetHandler or +AddHandler directive:

+ +
<Files "*.lua">
+    SetHandler lua-script
+</Files>
+ + +

+This will cause mod_lua to handle requests for files +ending in .lua by invoking that file's +handle function. +

+ +

For more flexibility, see LuaMapHandler. +

+ +
top
+
+

Writing Handlers

+

In the Apache HTTP Server API, the handler is a specific kind of hook +responsible for generating the response. Examples of modules that include a +handler are mod_proxy, mod_cgi, +and mod_status.

+ +

mod_lua always looks to invoke a Lua function for the handler, rather than +just evaluating a script body CGI style. A handler function looks +something like this:

+ + +
+example.lua
+-- example handler + +require "string" + +--[[ + This is the default method name for Lua handlers, see the optional + function-name in the LuaMapHandler directive to choose a different + entry point. +--]] +function handle(r) + r.content_type = "text/plain" + + if r.method == 'GET' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parseargs() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + elseif r.method == 'POST' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parsebody() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + elseif r.method == 'PUT' then +-- use our own Error contents + r:puts("Unsupported HTTP method " .. r.method) + r.status = 405 + return apache2.OK + else +-- use the ErrorDocument + return 501 + end + return apache2.OK +end
+ + +

+This handler function just prints out the uri or form encoded +arguments to a plaintext page. +

+ +

+This means (and in fact encourages) that you can have multiple +handlers (or hooks, or filters) in the same script. +

+ +
top
+
+

Writing Authorization Providers

+ + +

mod_authz_core provides a high-level interface to +authorization that is much easier to use than using into the relevant +hooks directly. The first argument to the +Require directive gives +the name of the responsible authorization provider. For any +Require line, +mod_authz_core will call the authorization provider +of the given name, passing the rest of the line as parameters. The +provider will then check authorization and pass the result as return +value.

+ +

The authz provider is normally called before authentication. If it needs to +know the authenticated user name (or if the user will be authenticated at +all), the provider must return apache2.AUTHZ_DENIED_NO_USER. +This will cause authentication to proceed and the authz provider to be +called a second time.

+ +

The following authz provider function takes two arguments, one ip +address and one user name. It will allow access from the given ip address +without authentication, or if the authenticated user matches the second +argument:

+ +
+authz_provider.lua
+ +require 'apache2' + +function authz_check_foo(r, ip, user) + if r.useragent_ip == ip then + return apache2.AUTHZ_GRANTED + elseif r.user == nil then + return apache2.AUTHZ_DENIED_NO_USER + elseif r.user == user then + return apache2.AUTHZ_GRANTED + else + return apache2.AUTHZ_DENIED + end +end
+ + +

The following configuration registers this function as provider +foo and configures it for URL /:

+
LuaAuthzProvider foo authz_provider.lua authz_check_foo
+<Location "/">
+  Require foo 10.1.2.3 john_doe
+</Location>
+ + +
top
+
+

Writing Hooks

+ +

Hook functions are how modules (and Lua scripts) participate in the +processing of requests. Each type of hook exposed by the server exists for +a specific purpose, such as mapping requests to the file system, +performing access control, or setting mime types:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hook phasemod_lua directiveDescription
Quick handlerLuaQuickHandlerThis is the first hook that will be called after a request has + been mapped to a host or virtual host
Pre-Translate nameLuaHookPreTranslateNameThis phase translates the requested URI into a filename on the + system, before decoding occurs. Modules such as mod_proxy + can operate in this phase.
Translate nameLuaHookTranslateNameThis phase translates the requested URI into a filename on the + system. Modules such as mod_alias and + mod_rewrite operate in this phase.
Map to storageLuaHookMapToStorageThis phase maps files to their physical, cached or external/proxied storage. + It can be used by proxy or caching modules
Check AccessLuaHookAccessCheckerThis phase checks whether a client has access to a resource. This + phase is run before the user is authenticated, so beware. +
Check User IDLuaHookCheckUserIDThis phase it used to check the negotiated user ID
Check AuthorizationLuaHookAuthChecker or + LuaAuthzProviderThis phase authorizes a user based on the negotiated credentials, such as + user ID, client certificate etc. +
Check TypeLuaHookTypeCheckerThis phase checks the requested file and assigns a content type and + a handler to it
FixupsLuaHookFixupsThis is the final "fix anything" phase before the content handlers + are run. Any last-minute changes to the request should be made here.
Content handlerfx. .lua files or through LuaMapHandlerThis is where the content is handled. Files are read, parsed, some are run, + and the result is sent to the client
LoggingLuaHookLogOnce a request has been handled, it enters several logging phases, + which logs the request in either the error or access log. Mod_lua + is able to hook into the start of this and control logging output.
+ +

Hook functions are passed the request object as their only argument +(except for LuaAuthzProvider, which also gets passed the arguments from +the Require directive). +They can return any value, depending on the hook, but most commonly +they'll return OK, DONE, or DECLINED, which you can write in Lua as +apache2.OK, apache2.DONE, or +apache2.DECLINED, or else an HTTP status code.

+ + +
+translate_name.lua
+-- example hook that rewrites the URI to a filesystem path. + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.filename = r.document_root .. "/find_me.txt" + return apache2.OK + end + -- we don't care about this URL, give another module a chance + return apache2.DECLINED +end
+ + + +
+translate_name2.lua
+--[[ example hook that rewrites one URI to another URI. It returns a + apache2.DECLINED to give other URL mappers a chance to work on the + substitution, including the core translate_name hook which maps based + on the DocumentRoot. + + Note: Use the early/late flags in the directive to make it run before + or after mod_alias. +--]] + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.uri = "/find_me.txt" + return apache2.DECLINED + end + return apache2.DECLINED +end
+ +
top
+
+

Data Structures

+ +
+
request_rec
+
+

The request_rec is mapped in as a userdata. It has a metatable + which lets you do useful things with it. For the most part it + has the same fields as the request_rec struct, many of which are writable as + well as readable. (The table fields' content can be changed, but the + fields themselves cannot be set to different tables.)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameLua typeWritableDescription
allowoverridesstringnoThe AllowOverride options applied to the current request.
ap_auth_typestringnoIf an authentication check was made, this is set to the type + of authentication (f.x. basic)
argsstringyesThe query string arguments extracted from the request + (f.x. foo=bar&name=johnsmith)
assbackwardsbooleannoSet to true if this is an HTTP/0.9 style request + (e.g. GET /foo (with no headers) )
auth_namestringnoThe realm name used for authorization (if applicable).
bannerstringnoThe server banner, f.x. Apache HTTP Server/2.4.3 openssl/0.9.8c
basic_auth_pwstringnoThe basic auth password sent with this request, if any
canonical_filenamestringnoThe canonical filename of the request
content_encodingstringnoThe content encoding of the current request
content_typestringyesThe content type of the current request, as determined in the + type_check phase (f.x. image/gif or text/html)
context_prefixstringno +
context_document_rootstringno +
document_rootstringnoThe document root of the host
err_headers_outtablenoMIME header environment for the response, printed even on errors and + persist across internal redirects. A read-only lua table suitable for iteration is available as r:err_headers_out_table().
filenamestringyesThe file name that the request maps to, f.x. /www/example.com/foo.txt. This can be + changed in the pre-translate-name, translate-name or map-to-storage phases of a request to allow the + default handler (or script handlers) to serve a different file than what was requested.
handlerstringyesThe name of the handler that should serve this request, f.x. + lua-script if it is to be served by mod_lua. This is typically set by the + AddHandler or SetHandler + directives, but could also be set via mod_lua to allow another handler to serve up a specific request + that would otherwise not be served by it. +
headers_intableyesMIME header environment from the request. This contains headers such as Host, + User-Agent, Referer and so on. A read-only lua table suitable for iteration is available as r:headers_in_table().
headers_outtableyesMIME header environment for the response. A read-only lua table suitable for iteration is available as r:headers_out_table().
hostnamestringnoThe host name, as set by the Host: header or by a full URI.
is_httpsbooleannoWhether or not this request is done via HTTPS
is_initial_reqbooleannoWhether this request is the initial request or a sub-request
limit_req_bodynumbernoThe size limit of the request body for this request, or 0 if no limit.
log_idstringnoThe ID to identify request in access and error log.
methodstringnoThe request method, f.x. GET or POST.
notestableyesA list of notes that can be passed on from one module to another. A read-only lua table suitable for iteration is available as r:notes_table().
optionsstringnoThe Options directive applied to the current request.
path_infostringnoThe PATH_INFO extracted from this request.
portnumbernoThe server port used by the request.
protocolstringnoThe protocol used, f.x. HTTP/1.1
proxyreqstringyesDenotes whether this is a proxy request or not. This value is generally set in + the post_read_request/pre_translate_name/translate_name phase of a request.
rangestringnoThe contents of the Range: header.
remainingnumbernoThe number of bytes remaining to be read from the request body.
server_builtstringnoThe time the server executable was built.
server_namestringnoThe server name for this request.
some_auth_requiredbooleannoWhether some authorization is/was required for this request.
subprocess_envtableyesThe environment variables set for this request. A read-only lua table suitable for iteration is available as r:subprocess_env_table().
startednumbernoThe time the server was (re)started, in seconds since the epoch (Jan 1st, 1970)
statusnumberyesThe (current) HTTP return code for this request, f.x. 200 or 404.
the_requeststringnoThe request string as sent by the client, f.x. GET /foo/bar HTTP/1.1.
unparsed_uristringnoThe unparsed URI of the request
uristringyesThe URI after it has been parsed by httpd
userstringyesIf an authentication check has been made, this is set to the name of the authenticated user.
useragent_ipstringnoThe IP of the user agent making the request
+
+
+
top
+
+

Built in functions

+ +

The request_rec object has (at least) the following methods:

+ +
r:flush()   -- flushes the output buffer.
+            -- Returns true if the flush was successful, false otherwise.
+
+while we_have_stuff_to_send do
+    r:puts("Bla bla bla\n") -- print something to client
+    r:flush() -- flush the buffer (send to client)
+    r.usleep(500000) -- fake processing time for 0.5 sec. and repeat
+end
+ + +
r:add_output_filter(filter_name) -- add an output filter:
+
+r:add_output_filter("fooFilter") -- add the fooFilter to the output stream
+ + +
r:sendfile(filename) -- sends an entire file to the client, using sendfile if supported by the current platform:
+
+if use_sendfile_thing then
+    r:sendfile("/var/www/large_file.img")
+end
+ + +
r:parseargs() -- returns two tables; one standard key/value table for regular GET data, 
+              -- and one for multi-value data (fx. foo=1&foo=2&foo=3):
+
+local GET, GETMULTI = r:parseargs()
+r:puts("Your name is: " .. GET['name'] or "Unknown")
+ + +
r:parsebody([sizeLimit]) -- parse the request body as a POST and return two lua tables,
+                         -- just like r:parseargs().
+                         -- An optional number may be passed to specify the maximum number 
+                         -- of bytes to parse. Default is 8192 bytes:
+                 
+local POST, POSTMULTI = r:parsebody(1024*1024)
+r:puts("Your name is: " .. POST['name'] or "Unknown")
+ + +
r:puts("hello", " world", "!") -- print to response body, self explanatory
+ + +
r:write("a single string") -- print to response body, self explanatory
+ + +
r:escape_html("<html>test</html>") -- Escapes HTML code and returns the escaped result
+ + +
r:base64_encode(string) -- Encodes a string using the Base64 encoding standard:
+
+local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=
+ + +
r:base64_decode(string) -- Decodes a Base64-encoded string:
+
+local decoded = r:base64_decode("VGhpcyBpcyBhIHRlc3Q=") -- returns 'This is a test'
+ + +
r:md5(string) -- Calculates and returns the MD5 digest of a string (binary safe):
+
+local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339
+ + +
r:sha1(string) -- Calculates and returns the SHA1 digest of a string (binary safe):
+
+local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19
+ + +
r:escape(string) -- URL-Escapes a string:
+
+local url = "http://foo.bar/1 2 3 & 4 + 5"
+local escaped = r:escape(url) -- returns 'http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5'
+ + +
r:unescape(string) -- Unescapes an URL-escaped string:
+
+local url = "http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5"
+local unescaped = r:unescape(url) -- returns 'http://foo.bar/1 2 3 & 4 + 5'
+ + +
r:construct_url(string) -- Constructs an URL from an URI
+
+local url = r:construct_url(r.uri)
+ + +
r.mpm_query(number) -- Queries the server for MPM information using ap_mpm_query:
+
+local mpm = r.mpm_query(14)
+if mpm == 1 then
+    r:puts("This server uses the Event MPM")
+end
+ + +
r:expr(string) -- Evaluates an expr string.
+
+if r:expr("%{HTTP_HOST} =~ /^www/") then
+    r:puts("This host name starts with www")
+end
+ + +
r:scoreboard_process(a) -- Queries the server for information about the process at position a:
+
+local process = r:scoreboard_process(1)
+r:puts("Server 1 has PID " .. process.pid)
+ + +
r:scoreboard_worker(a, b) -- Queries for information about the worker thread, b, in process a:
+
+local thread = r:scoreboard_worker(1, 1)
+r:puts("Server 1's thread 1 has thread ID " .. thread.tid .. " and is in " .. thread.status .. " status")
+ + + +
r:clock() -- Returns the current time with microsecond precision
+ + +
r:requestbody(filename) -- Reads and returns the request body of a request.
+                -- If 'filename' is specified, it instead saves the
+                -- contents to that file:
+                
+local input = r:requestbody()
+r:puts("You sent the following request body to me:\n")
+r:puts(input)
+ + +
r:add_input_filter(filter_name) -- Adds 'filter_name' as an input filter
+ + +
r.module_info(module_name) -- Queries the server for information about a module
+
+local mod = r.module_info("mod_lua.c")
+if mod then
+    for k, v in pairs(mod.commands) do
+       r:puts( ("%s: %s\n"):format(k,v)) -- print out all directives accepted by this module
+    end
+end
+ + +
r:loaded_modules() -- Returns a list of modules loaded by httpd:
+
+for k, module in pairs(r:loaded_modules()) do
+    r:puts("I have loaded module " .. module .. "\n")
+end
+ + +
r:runtime_dir_relative(filename) -- Compute the name of a run-time file (e.g., shared memory "file") 
+                         -- relative to the appropriate run-time directory.
+ + +
r:server_info() -- Returns a table containing server information, such as 
+                -- the name of the httpd executable file, mpm used etc.
+ + +
r:set_document_root(file_path) -- Sets the document root for the request to file_path
+ + + + +
r:set_context_info(prefix, docroot) -- Sets the context prefix and context document root for a request
+ + +
r:os_escape_path(file_path) -- Converts an OS path to a URL in an OS dependent way
+ + +
r:escape_logitem(string) -- Escapes a string for logging
+ + +
r.strcmp_match(string, pattern) -- Checks if 'string' matches 'pattern' using strcmp_match (globs).
+                        -- fx. whether 'www.example.com' matches '*.example.com':
+                        
+local match = r.strcmp_match("foobar.com", "foo*.com")
+if match then 
+    r:puts("foobar.com matches foo*.com")
+end
+ + +
r:set_keepalive() -- Sets the keepalive status for a request. Returns true if possible, false otherwise.
+ + +
r:make_etag() -- Constructs and returns the etag for the current request.
+ + +
r:send_interim_response(clear) -- Sends an interim (1xx) response to the client.
+                       -- if 'clear' is true, available headers will be sent and cleared.
+ + +
r:custom_response(status_code, string) -- Construct and set a custom response for a given status code.
+                               -- This works much like the ErrorDocument directive:
+                               
+r:custom_response(404, "Baleted!")
+ + +
r.exists_config_define(string) -- Checks whether a configuration definition exists or not:
+
+if r.exists_config_define("FOO") then
+    r:puts("httpd was probably run with -DFOO, or it was defined in the configuration")
+end
+ + +
r:state_query(string) -- Queries the server for state information
+ + +
r:stat(filename [,wanted]) -- Runs stat() on a file, and returns a table with file information:
+
+local info = r:stat("/var/www/foo.txt")
+if info then
+    r:puts("This file exists and was last modified at: " .. info.modified)
+end
+ + +
r:regex(string, pattern [,flags]) -- Runs a regular expression match on a string, returning captures if matched:
+
+local matches = r:regex("foo bar baz", [[foo (\w+) (\S*)]])
+if matches then
+    r:puts("The regex matched, and the last word captured ($2) was: " .. matches[2])
+end
+
+-- Example ignoring case sensitivity:
+local matches = r:regex("FOO bar BAz", [[(foo) bar]], 1)
+
+-- Flags can be a bitwise combination of:
+-- 0x01: Ignore case
+-- 0x02: Multiline search
+ + +
r.usleep(number_of_microseconds) -- Puts the script to sleep for a given number of microseconds.
+ + +
r:dbacquire(dbType[, dbParams]) -- Acquires a connection to a database and returns a database class.
+                        -- See 'Database connectivity' for details.
+ + +
r:ivm_set("key", value) -- Set an Inter-VM variable to hold a specific value.
+                        -- These values persist even though the VM is gone or not being used,
+                        -- and so should only be used if MaxConnectionsPerChild is > 0
+                        -- Values can be numbers, strings and booleans, and are stored on a 
+                        -- per process basis (so they won't do much good with a prefork mpm)
+                        
+r:ivm_get("key")        -- Fetches a variable set by ivm_set. Returns the contents of the variable
+                        -- if it exists or nil if no such variable exists.
+                        
+-- An example getter/setter that saves a global variable outside the VM:
+function handle(r)
+    -- First VM to call this will get no value, and will have to create it
+    local foo = r:ivm_get("cached_data")
+    if not foo then
+        foo = do_some_calcs() -- fake some return value
+        r:ivm_set("cached_data", foo) -- set it globally
+    end
+    r:puts("Cached data is: ", foo)
+end
+ + +
r:htpassword(string [,algorithm [,cost]]) -- Creates a password hash from a string.
+                                          -- algorithm: 0 = APMD5 (default), 1 = SHA, 2 = BCRYPT, 3 = CRYPT.
+                                          -- cost: only valid with BCRYPT algorithm (default = 5).
+ + +
r:mkdir(dir [,mode]) -- Creates a directory and sets mode to optional mode parameter.
+ + +
r:mkrdir(dir [,mode]) -- Creates directories recursive and sets mode to optional mode parameter.
+ + +
r:rmdir(dir) -- Removes a directory.
+ + +
r:touch(file [,mtime]) -- Sets the file modification time to current time or to optional mtime msec value.
+ + +
r:get_direntries(dir) -- Returns a table with all directory entries.
+
+function handle(r)
+  local dir = r.context_document_root
+  for _, f in ipairs(r:get_direntries(dir)) do
+    local info = r:stat(dir .. "/" .. f)
+    if info then
+      local mtime = os.date(fmt, info.mtime / 1000000)
+      local ftype = (info.filetype == 2) and "[dir] " or "[file]"
+      r:puts( ("%s %s %10i %s\n"):format(ftype, mtime, info.size, f) )
+    end
+  end
+end
+ + +
r.date_parse_rfc(string) -- Parses a date/time string and returns seconds since epoche.
+ + +
r:getcookie(key) -- Gets a HTTP cookie
+ + +
r:setcookie{
+  key = [key],
+  value = [value],
+  expires = [expiry],
+  secure = [boolean],
+  httponly = [boolean],
+  path = [path],
+  domain = [domain]
+} -- Sets a HTTP cookie, for instance:
+
+r:setcookie{
+  key = "cookie1",
+  value = "HDHfa9eyffh396rt",
+  expires = os.time() + 86400,
+  secure = true
+}
+ + +
r:wsupgrade() -- Upgrades a connection to WebSockets if possible (and requested):
+if r:wsupgrade() then -- if we can upgrade:
+    r:wswrite("Welcome to websockets!") -- write something to the client
+    r:wsclose()  -- goodbye!
+end
+ + +
r:wsread() -- Reads a WebSocket frame from a WebSocket upgraded connection (see above):
+
+local line, isFinal = r:wsread() -- isFinal denotes whether this is the final frame.
+                                 -- If it isn't, then more frames can be read
+r:wswrite("You wrote: " .. line)
+ + +
r:wswrite(line) -- Writes a frame to a WebSocket client:
+r:wswrite("Hello, world!")
+ + +
r:wsclose() -- Closes a WebSocket request and terminates it for httpd:
+
+if r:wsupgrade() then
+    r:wswrite("Write something: ")
+    local line = r:wsread() or "nothing"
+    r:wswrite("You wrote: " .. line);
+    r:wswrite("Goodbye!")
+    r:wsclose()
+end
+ + +
top
+
+

Logging Functions

+ +
-- examples of logging messages
+r:trace1("This is a trace log message") -- trace1 through trace8 can be used
+r:debug("This is a debug log message")
+r:info("This is an info log message")
+r:notice("This is a notice log message")
+r:warn("This is a warn log message")
+r:err("This is an err log message")
+r:alert("This is an alert log message")
+r:crit("This is a crit log message")
+r:emerg("This is an emerg log message")
+ + +
top
+
+

apache2 Package

+

A package named apache2 is available with (at least) the following contents.

+
+
apache2.OK
+
internal constant OK. Handlers should return this if they've + handled the request.
+
apache2.DECLINED
+
internal constant DECLINED. Handlers should return this if + they are not going to handle the request.
+
apache2.DONE
+
internal constant DONE.
+
apache2.version
+
Apache HTTP server version string
+
apache2.HTTP_MOVED_TEMPORARILY
+
HTTP status code
+
apache2.PROXYREQ_NONE, apache2.PROXYREQ_PROXY, apache2.PROXYREQ_REVERSE, apache2.PROXYREQ_RESPONSE
+
internal constants used by mod_proxy
+
apache2.AUTHZ_DENIED, apache2.AUTHZ_GRANTED, apache2.AUTHZ_NEUTRAL, apache2.AUTHZ_GENERAL_ERROR, apache2.AUTHZ_DENIED_NO_USER
+
internal constants used by mod_authz_core
+ +
+

(Other HTTP status codes are not yet implemented.)

+
top
+
+

Modifying contents with Lua filters

+ +

+ Filter functions implemented via LuaInputFilter + or LuaOutputFilter are designed as + three-stage non-blocking functions using coroutines to suspend and resume a + function as buckets are sent down the filter chain. The core structure of + such a function is: +

+
function filter(r)
+    -- Our first yield is to signal that we are ready to receive buckets.
+    -- Before this yield, we can set up our environment, check for conditions,
+    -- and, if we deem it necessary, decline filtering a request altogether:
+    if something_bad then
+        return -- This would skip this filter.
+    end
+    -- Regardless of whether we have data to prepend, a yield MUST be called here.
+    -- Note that only output filters can prepend data. Input filters must use the 
+    -- final stage to append data to the content.
+    coroutine.yield([optional header to be prepended to the content])
+    
+    -- After we have yielded, buckets will be sent to us, one by one, and we can 
+    -- do whatever we want with them and then pass on the result.
+    -- Buckets are stored in the global variable 'bucket', so we create a loop
+    -- that checks if 'bucket' is not nil:
+    while bucket ~= nil do
+        local output = mangle(bucket) -- Do some stuff to the content
+        coroutine.yield(output) -- Return our new content to the filter chain
+    end
+
+    -- Once the buckets are gone, 'bucket' is set to nil, which will exit the 
+    -- loop and land us here. Anything extra we want to append to the content
+    -- can be done by doing a final yield here. Both input and output filters 
+    -- can append data to the content in this phase.
+    coroutine.yield([optional footer to be appended to the content])
+end
+ +
top
+
+

Database connectivity

+ +

+ Mod_lua implements a simple database feature for querying and running commands + on the most popular database engines (mySQL, PostgreSQL, FreeTDS, ODBC, SQLite, Oracle) + as well as mod_dbd.

+

+ The dbType to use as the first parameter of dbacquire + is case sensitive.

+

+ It should be one of mysql, pgsql, freetds, + odbc, sqlite2, sqlite3, oracle + or mod_dbd. +

+

The example below shows how to acquire a database handle and return information from a table:

+
function handle(r)
+    -- Acquire a database handle
+    local database, err = r:dbacquire("mysql", "server=localhost,user=someuser,pass=somepass,dbname=mydb")
+    if not err then
+        -- Select some information from it
+        local results, err = database:select(r, "SELECT `name`, `age` FROM `people` WHERE 1")
+        if not err then
+            local rows = results(0) -- fetch all rows synchronously
+            for k, row in pairs(rows) do
+                r:puts( string.format("Name: %s, Age: %s<br/>", row[1], row[2]) )
+            end
+        else
+            r:puts("Database query error: " .. err)
+        end
+        database:close()
+    else
+        r:puts("Could not connect to the database: " .. err)
+    end
+end
+ +

+ To utilize mod_dbd, specify mod_dbd + as the database type, or leave the field blank: +

+
local database = r:dbacquire("mod_dbd")
+ +

Database object and contained functions

+ +

The database object returned by dbacquire has the following methods:

+

Normal select and query from a database:

+
-- Run a statement and return the number of rows affected:
+local affected, errmsg = database:query(r, "DELETE FROM `tbl` WHERE 1")
+
+-- Run a statement and return a result set that can be used synchronously or async:
+local result, errmsg = database:select(r, "SELECT * FROM `people` WHERE 1")
+ +

Using prepared statements (recommended):

+
-- Create and run a prepared statement:
+local statement, errmsg = database:prepare(r, "DELETE FROM `tbl` WHERE `age` > %u")
+if not errmsg then
+    local result, errmsg = statement:query(20) -- run the statement with age > 20
+end
+
+-- Fetch a prepared statement from a DBDPrepareSQL directive:
+local statement, errmsg = database:prepared(r, "someTag")
+if not errmsg then
+    local result, errmsg = statement:select("John Doe", 123) -- inject the values "John Doe" and 123 into the statement
+end
+ +

Escaping values, closing databases etc:

+
-- Escape a value for use in a statement:
+local escaped = database:escape(r, [["'|blabla]])
+
+-- Close a database connection and free up handles:
+database:close()
+
+-- Check whether a database connection is up and running:
+local connected = database:active()
+ + +

Working with result sets

+ +

The result set returned by db:select or by the prepared statement functions + created through db:prepare can be used to + fetch rows synchronously or asynchronously, depending on the row number specified:
+ result(0) fetches all rows in a synchronous manner, returning a table of rows.
+ result(-1) fetches the next available row in the set, asynchronously.
+ result(N) fetches row number N, asynchronously: +

+
-- fetch a result set using a regular query:
+local result, err = db:select(r, "SELECT * FROM `tbl` WHERE 1")
+
+local rows = result(0) -- Fetch ALL rows synchronously
+local row = result(-1) -- Fetch the next available row, asynchronously
+local row = result(1234) -- Fetch row number 1234, asynchronously
+local row = result(-1, true) -- Fetch the next available row, using row names as key indexes.
+ +

One can construct a function that returns an iterative function to iterate over all rows + in a synchronous or asynchronous way, depending on the async argument: +

+
function rows(resultset, async)
+    local a = 0
+    local function getnext()
+        a = a + 1
+        local row = resultset(-1)
+        return row and a or nil, row
+    end
+    if not async then
+        return pairs(resultset(0))
+    else
+        return getnext, self
+    end
+end
+
+local statement, err = db:prepare(r, "SELECT * FROM `tbl` WHERE `age` > %u")
+if not err then
+     -- fetch rows asynchronously:
+    local result, err = statement:select(20)
+    if not err then
+        for index, row in rows(result, true) do
+            ....
+        end
+    end
+
+     -- fetch rows synchronously:
+    local result, err = statement:select(20)
+    if not err then
+        for index, row in rows(result, false) do
+            ....
+        end
+    end
+end
+ + +

Closing a database connection

+ + +

Database handles should be closed using database:close() when they are no longer + needed. If you do not close them manually, they will eventually be garbage collected and + closed by mod_lua, but you may end up having too many unused connections to the database + if you leave the closing up to mod_lua. Essentially, the following two measures are + the same: +

+
-- Method 1: Manually close a handle
+local database = r:dbacquire("mod_dbd")
+database:close() -- All done
+
+-- Method 2: Letting the garbage collector close it
+local database = r:dbacquire("mod_dbd")
+database = nil -- throw away the reference
+collectgarbage() -- close the handle via GC
+ + +

Precautions when working with databases

+ +

Although the standard query and run functions are freely + available, it is recommended that you use prepared statements whenever possible, to + both optimize performance (if your db handle lives on for a long time) and to minimize + the risk of SQL injection attacks. run and query should only + be used when there are no variables inserted into a statement (a static statement). + When using dynamic statements, use db:prepare or db:prepared. +

+ + +
+
top
+

LuaAuthzProvider Directive

+ + + + + + + +
Description:Plug an authorization provider function into mod_authz_core +
Syntax:LuaAuthzProvider provider_name /path/to/lua/script.lua function_name
Context:server config
Status:Extension
Module:mod_lua
Compatibility:2.4.3 and later
+

After a lua function has been registered as authorization provider, it can be used +with the Require directive:

+ +
LuaRoot "/usr/local/apache2/lua"
+LuaAuthzProvider foo authz.lua authz_check_foo
+<Location "/">
+  Require foo johndoe
+</Location>
+ +
require "apache2"
+function authz_check_foo(r, who)
+    if r.user ~= who then return apache2.AUTHZ_DENIED
+    return apache2.AUTHZ_GRANTED
+end
+ + + + +
+
top
+

LuaCodeCache Directive

+ + + + + + + + +
Description:Configure the compiled code cache.
Syntax:LuaCodeCache stat|forever|never
Default:LuaCodeCache stat
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua

+ Specify the behavior of the in-memory code cache. The default + is stat, which stats the top level script (not any included + ones) each time that file is needed, and reloads it if the + modified time indicates it is newer than the one it has + already loaded. The other values cause it to keep the file + cached forever (don't stat and replace) or to never cache the + file.

+ +

In general stat or forever is good for production, and stat or never + for development.

+ +

Examples:

LuaCodeCache stat
+LuaCodeCache forever
+LuaCodeCache never
+
+ + +
+
top
+

LuaHookAccessChecker Directive

+ + + + + + + + +
Description:Provide a hook for the access_checker phase of request processing
Syntax:LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
Compatibility:The optional third argument is supported in 2.3.15 and later
+

Add your hook to the access_checker phase. An access checker +hook function usually returns OK, DECLINED, or HTTP_FORBIDDEN.

+

Ordering

The optional arguments "early" or "late" + control when this script runs relative to other modules.

+ +
+
top
+

LuaHookAuthChecker Directive

+ + + + + + + + +
Description:Provide a hook for the auth_checker phase of request processing
Syntax:LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
Compatibility:The optional third argument is supported in 2.3.15 and later
+

Invoke a lua function in the auth_checker phase of processing +a request. This can be used to implement arbitrary authentication +and authorization checking. A very simple example: +

+
require 'apache2'
+
+-- fake authcheck hook
+-- If request has no auth info, set the response header and
+-- return a 401 to ask the browser for basic auth info.
+-- If request has auth info, don't actually look at it, just
+-- pretend we got userid 'foo' and validated it.
+-- Then check if the userid is 'foo' and accept the request.
+function authcheck_hook(r)
+
+   -- look for auth info
+   auth = r.headers_in['Authorization']
+   if auth ~= nil then
+     -- fake the user
+     r.user = 'foo'
+   end
+
+   if r.user == nil then
+      r:debug("authcheck: user is nil, returning 401")
+      r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"'
+      return 401
+   elseif r.user == "foo" then
+      r:debug('user foo: OK')
+   else
+      r:debug("authcheck: user='" .. r.user .. "'")
+      r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"'
+      return 401
+   end
+   return apache2.OK
+end
+ +

Ordering

The optional arguments "early" or "late" + control when this script runs relative to other modules.

+ +
+
top
+

LuaHookCheckUserID Directive

+ + + + + + + + +
Description:Provide a hook for the check_user_id phase of request processing
Syntax:LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
Compatibility:The optional third argument is supported in 2.3.15 and later

...

+

Ordering

The optional arguments "early" or "late" + control when this script runs relative to other modules.

+ +
+
top
+

LuaHookFixups Directive

+ + + + + + + +
Description:Provide a hook for the fixups phase of a request +processing
Syntax:LuaHookFixups /path/to/lua/script.lua hook_function_name
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

+ Just like LuaHookTranslateName, but executed at the fixups phase +

+ +
+
top
+

LuaHookInsertFilter Directive

+ + + + + + + +
Description:Provide a hook for the insert_filter phase of request processing
Syntax:LuaHookInsertFilter /path/to/lua/script.lua hook_function_name
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua

Not Yet Implemented

+
+
top
+

LuaHookLog Directive

+ + + + + + + +
Description:Provide a hook for the access log phase of a request +processing
Syntax:LuaHookLog /path/to/lua/script.lua log_function_name
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

+ This simple logging hook allows you to run a function when httpd enters the + logging phase of a request. With it, you can append data to your own logs, + manipulate data before the regular log is written, or prevent a log entry + from being created. To prevent the usual logging from happening, simply return + apache2.DONE in your logging handler, otherwise return + apache2.OK to tell httpd to log as normal. +

+

Example:

+
LuaHookLog "/path/to/script.lua" logger
+ +
-- /path/to/script.lua --
+function logger(r)
+    -- flip a coin:
+    -- If 1, then we write to our own Lua log and tell httpd not to log
+    -- in the main log.
+    -- If 2, then we just sanitize the output a bit and tell httpd to 
+    -- log the sanitized bits.
+
+    if math.random(1,2) == 1 then
+        -- Log stuff ourselves and don't log in the regular log
+        local f = io.open("/foo/secret.log", "a")
+        if f then
+            f:write("Something secret happened at " .. r.uri .. "\n")
+            f:close()
+        end
+        return apache2.DONE -- Tell httpd not to use the regular logging functions
+    else
+        r.uri = r.uri:gsub("somesecretstuff", "") -- sanitize the URI
+        return apache2.OK -- tell httpd to log it.
+    end
+end
+ + +
+
top
+

LuaHookMapToStorage Directive

+ + + + + + + +
Description:Provide a hook for the map_to_storage phase of request processing
Syntax:LuaHookMapToStorage /path/to/lua/script.lua hook_function_name
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

Like LuaHookTranslateName but executed at the + map-to-storage phase of a request. Modules like mod_cache run at this phase, + which makes for an interesting example on what to do here:

+
LuaHookMapToStorage "/path/to/lua/script.lua" check_cache
+ +
require"apache2"
+cached_files = {}
+
+function read_file(filename) 
+    local input = io.open(filename, "r")
+    if input then
+        local data = input:read("*a")
+        cached_files[filename] = data
+        file = cached_files[filename]
+        input:close()
+    end
+    return cached_files[filename]
+end
+
+function check_cache(r)
+    if r.filename:match("%.png$") then -- Only match PNG files
+        local file = cached_files[r.filename] -- Check cache entries
+        if not file then
+            file = read_file(r.filename)  -- Read file into cache
+        end
+        if file then -- If file exists, write it out
+            r.status = 200
+            r:write(file)
+            r:info(("Sent %s to client from cache"):format(r.filename))
+            return apache2.DONE -- skip default handler for PNG files
+        end
+    end
+    return apache2.DECLINED -- If we had nothing to do, let others serve this.
+end
+ + + +
+
top
+

LuaHookPreTranslate Directive

+ + + + + + + +
Description:Provide a hook for the pre_translate phase of a request +processing
Syntax:LuaHookPreTranslate /path/to/lua/script.lua hook_function_name
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

+ Just like LuaHookTranslateName, but executed at the pre_translate phase, + where the URI-path is not percent decoded. +

+ +
+
top
+

LuaHookTranslateName Directive

+ + + + + + + + +
Description:Provide a hook for the translate name phase of request processing
Syntax:LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]
Context:server config, virtual host
Override:All
Status:Extension
Module:mod_lua
Compatibility:The optional third argument is supported in 2.3.15 and later

+ Add a hook (at APR_HOOK_MIDDLE) to the translate name phase of + request processing. The hook function receives a single + argument, the request_rec, and should return a status code, + which is either an HTTP error code, or the constants defined + in the apache2 module: apache2.OK, apache2.DECLINED, or + apache2.DONE.

+ +

For those new to hooks, basically each hook will be invoked + until one of them returns apache2.OK. If your hook doesn't + want to do the translation it should just return + apache2.DECLINED. If the request should stop processing, then + return apache2.DONE.

+ +

Example:

+ +
# httpd.conf
+LuaHookTranslateName "/scripts/conf/hooks.lua" silly_mapper
+ + +
-- /scripts/conf/hooks.lua --
+require "apache2"
+function silly_mapper(r)
+    if r.uri == "/" then
+        r.filename = "/var/www/home.lua"
+        return apache2.OK
+    else
+        return apache2.DECLINED
+    end
+end
+ + +

Context

This directive is not valid in <Directory>, <Files>, or htaccess + context.

+ +

Ordering

The optional arguments "early" or "late" + control when this script runs relative to other modules.

+ + +
+
top
+

LuaHookTypeChecker Directive

+ + + + + + + +
Description:Provide a hook for the type_checker phase of request processing
Syntax:LuaHookTypeChecker /path/to/lua/script.lua hook_function_name
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua

+ This directive provides a hook for the type_checker phase of the request processing. + This phase is where requests are assigned a content type and a handler, and thus can + be used to modify the type and handler based on input: +

+
LuaHookTypeChecker "/path/to/lua/script.lua" type_checker
+ +
    function type_checker(r)
+        if r.uri:match("%.to_gif$") then -- match foo.png.to_gif
+            r.content_type = "image/gif" -- assign it the image/gif type
+            r.handler = "gifWizard"      -- tell the gifWizard module to handle this
+            r.filename = r.uri:gsub("%.to_gif$", "") -- fix the filename requested
+            return apache2.OK
+        end
+
+        return apache2.DECLINED
+    end
+ + +
+
top
+

LuaInherit Directive

+ + + + + + + + + +
Description:Controls how parent configuration sections are merged into children
Syntax:LuaInherit none|parent-first|parent-last
Default:LuaInherit parent-first
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
Compatibility:2.4.0 and later

By default, if LuaHook* directives are used in overlapping + Directory or Location configuration sections, the scripts defined in the + more specific section are run after those defined in the more + generic section (LuaInherit parent-first). You can reverse this order, or + make the parent context not apply at all.

+ +

In previous 2.3.x releases, the default was effectively to ignore LuaHook* + directives from parent configuration sections.

+
+
top
+

LuaInputFilter Directive

+ + + + + + + +
Description:Provide a Lua function for content input filtering
Syntax:LuaInputFilter filter_name /path/to/lua/script.lua function_name
Context:server config
Status:Extension
Module:mod_lua
Compatibility:2.4.5 and later
+

Provides a means of adding a Lua function as an input filter. +As with output filters, input filters work as coroutines, +first yielding before buffers are sent, then yielding whenever +a bucket needs to be passed down the chain, and finally (optionally) +yielding anything that needs to be appended to the input data. The +global variable bucket holds the buckets as they are passed +onto the Lua script: +

+ +
LuaInputFilter myInputFilter "/www/filter.lua" input_filter
+<Files "*.lua">
+  SetInputFilter myInputFilter
+</Files>
+ +
--[[
+    Example input filter that converts all POST data to uppercase.
+]]--
+function input_filter(r)
+    print("luaInputFilter called") -- debug print
+    coroutine.yield() -- Yield and wait for buckets
+    while bucket do -- For each bucket, do...
+        local output = string.upper(bucket) -- Convert all POST data to uppercase
+        coroutine.yield(output) -- Send converted data down the chain
+    end
+    -- No more buckets available.
+    coroutine.yield("&filterSignature=1234") -- Append signature at the end
+end
+ +

+The input filter supports denying/skipping a filter if it is deemed unwanted: +

+
function input_filter(r)
+    if not good then
+        return -- Simply deny filtering, passing on the original content instead
+    end
+    coroutine.yield() -- wait for buckets
+    ... -- insert filter stuff here
+end
+ +

+See "Modifying contents with Lua +filters" for more information. +

+ +
+
top
+

LuaMapHandler Directive

+ + + + + + + +
Description:Map a path to a lua handler
Syntax:LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

This directive matches a uri pattern to invoke a specific + handler function in a specific file. It uses PCRE regular + expressions to match the uri, and supports interpolating + match groups into both the file path and the function name. + Be careful writing your regular expressions to avoid security + issues.

+

Examples:

LuaMapHandler "/(\w+)/(\w+)" "/scripts/$1.lua" "handle_$2"
+
+

This would match uri's such as /photos/show?id=9 + to the file /scripts/photos.lua and invoke the + handler function handle_show on the lua vm after + loading that file.

+ +
LuaMapHandler "/bingo" "/scripts/wombat.lua"
+ +

This would invoke the "handle" function, which + is the default if no specific function name is + provided.

+ +
+
top
+

LuaOutputFilter Directive

+ + + + + + + +
Description:Provide a Lua function for content output filtering
Syntax:LuaOutputFilter filter_name /path/to/lua/script.lua function_name
Context:server config
Status:Extension
Module:mod_lua
Compatibility:2.4.5 and later
+

Provides a means of adding a Lua function as an output filter. +As with input filters, output filters work as coroutines, +first yielding before buffers are sent, then yielding whenever +a bucket needs to be passed down the chain, and finally (optionally) +yielding anything that needs to be appended to the input data. The +global variable bucket holds the buckets as they are passed +onto the Lua script: +

+ +
LuaOutputFilter myOutputFilter "/www/filter.lua" output_filter
+<Files "*.lua">
+  SetOutputFilter myOutputFilter
+</Files>
+ +
--[[
+    Example output filter that escapes all HTML entities in the output
+]]--
+function output_filter(r)
+    coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Prepend some data to the output,
+                                                          -- yield and wait for buckets.
+    while bucket do -- For each bucket, do...
+        local output = r:escape_html(bucket) -- Escape all output
+        coroutine.yield(output) -- Send converted data down the chain
+    end
+    -- No more buckets available.
+end
+ +

+As with the input filter, the output filter supports denying/skipping a filter +if it is deemed unwanted: +

+
function output_filter(r)
+    if not r.content_type:match("text/html") then
+        return -- Simply deny filtering, passing on the original content instead
+    end
+    coroutine.yield() -- wait for buckets
+    ... -- insert filter stuff here
+end
+ +

Lua filters with mod_filter

+

When a Lua filter is used as the underlying provider via the +FilterProvider directive, filtering +will only work when the filter-name is identical to the provider-name. +

+ +

+See "Modifying contents with Lua filters" for more +information. +

+ + +
+
top
+

LuaPackageCPath Directive

+ + + + + + + +
Description:Add a directory to lua's package.cpath
Syntax:LuaPackageCPath /path/to/include/?.soa
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

Add a path to lua's shared library search path. Follows the same + conventions as lua. This just munges the package.cpath in the + lua vms.

+ + +
+
top
+

LuaPackagePath Directive

+ + + + + + + +
Description:Add a directory to lua's package.path
Syntax:LuaPackagePath /path/to/include/?.lua
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua

Add a path to lua's module search path. Follows the same + conventions as lua. This just munges the package.path in the + lua vms.

+ +

Examples:

LuaPackagePath "/scripts/lib/?.lua"
+LuaPackagePath "/scripts/lib/?/init.lua"
+
+ +
+
top
+

LuaQuickHandler Directive

+ + + + + + + +
Description:Provide a hook for the quick handler of request processing
Syntax:LuaQuickHandler /path/to/script.lua hook_function_name
Context:server config, virtual host
Override:All
Status:Extension
Module:mod_lua
+

+ This phase is run immediately after the request has been mapped to a virtual host, + and can be used to either do some request processing before the other phases kick + in, or to serve a request without the need to translate, map to storage et cetera. + As this phase is run before anything else, directives such as <Location> or <Directory> are void in this phase, just as + URIs have not been properly parsed yet. +

+

Context

This directive is not valid in <Directory>, <Files>, or htaccess + context.

+ +
+
top
+

LuaRoot Directive

+ + + + + + + +
Description:Specify the base path for resolving relative paths for mod_lua directives
Syntax:LuaRoot /path/to/a/directory
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

Specify the base path which will be used to evaluate all + relative paths within mod_lua. If not specified they + will be resolved relative to the current working directory, + which may not always work well for a server.

+ +
+
top
+

LuaScope Directive

+ + + + + + + + +
Description:One of once, request, conn, thread -- default is once
Syntax:LuaScope once|request|conn|thread|server [min] [max]
Default:LuaScope once
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_lua
+

Specify the life cycle scope of the Lua interpreter which will + be used by handlers in this "Directory." The default is "once"

+ +
+
once:
use the interpreter once and throw it away.
+ +
request:
use the interpreter to handle anything based on + the same file within this request, which is also + request scoped.
+ +
conn:
Same as request but attached to the connection_rec
+ +
thread:
Use the interpreter for the lifetime of the thread + handling the request (only available with threaded MPMs).
+ +
server:
This one is different than others because the + server scope is quite long lived, and multiple threads + will have the same server_rec. To accommodate this, + server scoped Lua states are stored in an apr + resource list. The min and max arguments + specify the minimum and maximum number of Lua states to keep in the + pool.
+
+

+ Generally speaking, the thread and server scopes + execute roughly 2-3 times faster than the rest, because they don't have to + spawn new Lua states on every request (especially with the event MPM, as + even keepalive requests will use a new thread for each request). If you are + satisfied that your scripts will not have problems reusing a state, then + the thread or server scopes should be used for + maximum performance. While the thread scope will provide the + fastest responses, the server scope will use less memory, as + states are pooled, allowing f.x. 1000 threads to share only 100 Lua states, + thus using only 10% of the memory required by the thread scope. +

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lua.html.fr.utf8 b/docs/manual/mod/mod_lua.html.fr.utf8 new file mode 100644 index 0000000..378a68f --- /dev/null +++ b/docs/manual/mod/mod_lua.html.fr.utf8 @@ -0,0 +1,2079 @@ + + + + + +mod_lua - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_lua

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Fournit des points d'entrée Lua dans différentes parties du +traitement des requêtes httpd
Statut:Extension
Identificateur de Module:lua_module
Fichier Source:mod_lua.c
Compatibilité:versions 2.3 et supérieures
+

Sommaire

+ +

Ce module permet d'ajouter au serveur des extensions sous forme de +scripts écrits dans le langage de programmation Lua. +mod_lua fournit de nombreuses extensions +(hooks) disponibles avec les modules natifs du serveur HTTP Apache, +comme les associations de requêtes à des fichiers, la génération de +réponses dynamiques, le contrôle d'accès, l'authentification et +l'autorisation.

+ +

Vous trouverez davantage d'informations à propos du langage de +programmation Lua sur le site web de +Lua.

+ +

Avertissement

+

Ce module possède une grande capacité d'action sur le fonctrionnement +de httpd, ce qui lui confère une grande puissance, mais peut aussi +induire un risque de sécurité. Il est déconseillé d'utiliser ce module +sur un serveur partagé avec des utilisateurs auxquels vous ne pouvez pas +accorder une confiance absolue, car il peut permettre de modifier le +fonctionnement interne de httpd.

+
+ +
+ +
top
+
+

Configuration de base

+ +

La directive de base pour le chargement du module est

+ +
LoadModule lua_module modules/mod_lua.so
+ + +

+mod_lua fournit un gestionnaire nommé +lua-script qui peut être utilisé avec une directive +AddHandler ou SetHandler :

+ +
<Files "*.lua">
+    SetHandler lua-script
+</Files>
+ + +

+Ceci aura pour effet de faire traiter les requêtes pour les fichiers +dont l'extension est .lua par mod_lua en +invoquant cette fonction de gestion de fichier. +

+ +

Pour plus de détails, voir la directive +LuaMapHandler. +

+
top
+
+

Ecrire des gestionnaires

+

Dans l'API du serveur HTTP Apache, un gestionnaire est une sorte de +point d'accroche (hook) spécifique responsable de la génération de la +réponse. mod_proxy, mod_cgi et +mod_status sont des exemples de modules comportant un +gestionnaire.

+ +

mod_lua cherche toujours à invoquer une fonction Lua pour le +gestionnaire, plutôt que de simplement évaluer le corps d'un script dans +le style de CGI. Une fonction de gestionnaire se présente comme suit :

+ + +
+example.lua
+-- exemple de gestionnaire + +require "string" + +--[[ + Il s'agit du nom de méthode par défaut pour les gestionnaires Lua ; + voir les noms de fonctions optionnels dans la directive + LuaMapHandler pour choisir un point d'entrée différent. +--]] +function handle(r) + r.content_type = "text/plain" + + if r.method == 'GET' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parseargs() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + elseif r.method == 'POST' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parsebody() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + else + elseif r.method == 'PUT' then +-- message d'erreur personnalisé + r:puts("Unsupported HTTP method " .. r.method) + r.status = 405 + return apache2.OK + else +-- message d'erreur ErrorDocument + return 501 + end + return apache2.OK +end
+ + +

+Ce gestionnaire se contente d'afficher les arguments codés d'un uri ou +d'un formulaire dans un page au format texte. +

+ +

+Cela signifie que vous pouvez (et êtes encouragé à) avoir plusieurs +gestionnaires (ou points d'entrée, ou filtres) dans le même script. +

+ +
top
+
+

Ecriture de fournisseurs d'autorisation

+ + +

mod_authz_core fournit une interface d'autorisation +de haut niveau bien plus facile à utiliser que dans les hooks +correspondants. Le premier argument de la directive Require permet de spécifier le +fournisseur d'autorisation à utiliser. Pour chaque directive Require, +mod_authz_core appellera le fournisseur d'autorisation +spécifié, le reste de la ligne constituant les paramètres. Le +fournisseur considéré va alors vérifier les autorisations et fournir le +résultat dans une valeur de retour.

+ +

En général, le fournisseur authz est appelé avant l'authentification. +S'il doit connaître le nom d'utilisateur authentifié (ou si +l'utilisateur est appelé à être authentifié), le fournisseur doit +renvoyer apache2.AUTHZ_DENIED_NO_USER, ce qui va +déclancher le processus d'authentification et un deuxième appel du +fournisseur authz.

+ +

La fonction du fournisseur authz ci-dessous accepte deux arguments, +une adresse IP et un nom d'utilisateur. Elle autorise l'accès dans le +cas où la requête provient de l'adresse IP spécifiée, ou si +l'utilisateur authentifié correspond au second argument :

+ +
+authz_provider.lua
+ +require 'apache2' + +function authz_check_foo(r, ip, user) + if r.useragent_ip == ip then + return apache2.AUTHZ_GRANTED + elseif r.user == nil then + return apache2.AUTHZ_DENIED_NO_USER + elseif r.user == user then + return apache2.AUTHZ_GRANTED + else + return apache2.AUTHZ_DENIED + end +end
+ + +

La configuration suivante enregistre cette fonction en tant que +fournisseur foo, et la configure por l'URL / :

+
LuaAuthzProvider foo authz_provider.lua authz_check_foo
+<Location "/">
+  Require foo 10.1.2.3 john_doe
+</Location>
+ + +
top
+
+

Ecriture de fonctions d'accroche +(hooks)

+ +

Les fonctions d'accroche déterminent la manière dont les modules (et +les scripts Lua) participent au traitement des requêtes. Chaque type +d'accroche proposé par le serveur a un rôle spécifique, comme +l'association de requêtes au système de fichiers, le contrôle d'accès, +ou la définition de types MIME :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Phase d'accrocheDirective mod_luaDescription
Gestionnaire rapideLuaQuickHandlerIl s'agit de la première accroche appelée lorsqu'une requête + a été associée à un serveur ou un serveur virtuel.
Phase de pré-traductionLuaHookPreTranslateNameCette phase traduit l'URI de la requête en nom de fichier sur le + système avant la phase de décodage. Des modules comme + mod_proxy peuvent agir au cours de cette phase.
Phase de traductionLuaHookTranslateNameCette phase traduit l'URI de la requête en nom de fichier + sur le système. Ce sont des modules comme + mod_alias et mod_rewrite qui + interviennent au cours de cette phase.
Choix du lieu de stockage de la ressourceLuaHookMapToStorageCette phase définit le lieu de stockage de la ressource : + physique, en cache ou externe/mandaté. Elle est assurée par les + modules de mandat ou de mise en cache.
Autorisation d'accèsLuaHookAccessCheckerCette phase vérifie si un client a l'autorisation d'accès à + la ressource. Elle s'exécute avant l'authentification de + l'utisateur ; il faut donc être prudent. +
Vérification de l'identifiant utilisateurLuaHookCheckUserIDCette phase vérifie l'identifiant de l'utilisateur ayant + fait l'objet d'une négociation.
Vérification de l'autorisation d'accèsLuaHookAuthChecker + ou + LuaAuthzProviderCette phase vérifie l'autorisation d'accès d'un utilisateur + en fonction des ses paramètres de connexion, comme + l'identifiant, le certificat, etc... +
Vérification du type de la ressourceLuaHookTypeCheckerCette phase assigne un type de contenu et un gestionnaire à + la ressource.
Derniers réglagesLuaHookFixupsC'est la dernière phase avant l'activation des gestionnaires + de contenu. Toute modification de dernière minute à la requête + doit être effectuée ici.
Gestionnaire de contenufichiers fx. .lua ou directive LuaMapHandlerC'est durant cette phase que le contenu est traité. Les + fichiers sont lus, interprétés, certains sont exécutés, et le + résultat obtenu est envoyé au client.
JournalisationLuaHookLogLorsqu'une requête a été traitée, plusieurs phases de + journalisation interviennent, et enregistrent leurs résultats + dans les fichiers d'erreur ou d'accès. Mod_lua peut + s'intercaler au départ de ce processus et ainsi contrôler la + journalisation.
+ +

Les fonctions d'accroche reçoivent l'objet de la requête comme seul +argument (sauf LuaAuthzProvider qui reçoit aussi des arguments en +provenance de la directive Require). Elles peuvent renvoyer une valeur, +selon la fonction, mais il s'agit en général d'un +code d'état HTTP ou des valeurs OK, DONE, ou DECLINED, +que vous pouvez écrire dans Lua sous la forme apache2.OK, +apache2.DONE, ou apache2.DECLINED.

+ + +
+translate_name.lua
+-- exemple d'accroche qui réécrit un URI en chemin du système de fichiers. + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.filename = r.document_root .. "/find_me.txt" + return apache2.OK + end + -- on ne gère pas cette URL et on donne sa chance à un autre module + return apache2.DECLINED +end
+ + + +
+translate_name2.lua
+--[[ exemple d'accroche qui réécrit un URI vers un autre URI. Il renvoie + un apache2.DECLINED pour permettre à un autre interpréteur d'URL de + travailler sur la substitution, y compris l'accroche translate_name + de base dont les tables de correspondances se basent sur DocumentRoot. + + Note: utilisez le drapeau early/late de la directive pour + l'exécuter avant ou après mod_alias. +--]] + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.uri = "/find_me.txt" + return apache2.DECLINED + end + return apache2.DECLINED +end
+ +
top
+
+

Structures de données

+ +
+
request_rec
+
+

request_rec est considérée en tant que donnée utilisateur. + Elle possède une métatable qui vous permet d'accomplir des + choses intéressantes. Pour la plus grande partie, elle possède + les mêmes champs que la structure request_rec, la + plupart d'entre eux étant accessibles en lecture et écriture (le + contenu des champs de la table peut être modifié, mais les + champs eux-mêmes ne peuvent pas être établis en tant que tables + distinctes).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NomType LuaModifiableDescription
allowoverridesstringnonL'option AllowOverride s'applique à la requête courante.
ap_auth_typestringnonCe champ contient le type d'authentification effectuée + (par exemple basic)
argsstringouiLa chaîne de paramètres de la requête (par exemple + foo=bar&name=johnsmith)
assbackwardsbooleannoncontient true s'il s'agit d'une requête de style HTTP/0.9 + (par exemple GET /foo (sans champs d'en-tête) )
auth_namestringnonLa chaîne d'identification utilisée pour la vérification + de l'autorisation d'accès (si elle est disponible).
bannerstringnonLa bannière du serveur, par exemple Apache HTTP + Server/2.4.3 openssl/0.9.8c
basic_auth_pwstringnonLe mot de passe pour l'authentification de base envoyé + avec la requête, s'il existe
canonical_filenamestringnonLe nom de fichier canonique de la requête
content_encodingstringnonLe type de codage du contenu de la requête courante
content_typestringouiLe type de contenu de la requête courante, tel qu'il a été + déterminé au cours de la phase type_check (par exemple + image/gif ou text/html)
context_prefixstringnon +
context_document_rootstringnon +
document_rootstringnonLa racine des documents du serveur
err_headers_outtablenonL'en-tête MIME de l'environnement pour la réponse, écrit + même en cas d'erreur et conservé pendant les redirections + internes. Une table lua en lecture seule est disponible pour + l'itération sous la forme r:err_headers_out_table().
filenamestringouiLe nom de fichier correspondant à la requête, par exemple + /www/example.com/foo.txt. Il peut être modifié au cours des phases + pre-translate-name, translate-name ou map-to-storage du traitement de + la requête pour permettre au gestionnaire par défaut (ou aux + gestionnaires de script) de servir une version du fichier autre que + celle demandée.
handlerstringouiLe nom du gestionnaire qui + doit traiter la requête, par exemple lua-script + si elle doit être traitée par mod_lua. Cette valeur est en + général définie via les directives AddHandler ou SetHandler, mais peut aussi l'être + via mod_lua pour permettre à un autre gestionnaire de traiter + une requête spécifique qui ne serait pas traitée par défaut + par ce dernier. +
headers_intableouiLes en-têtes MIME de l'environnement de la requête. Il + s'agit des en-têtes comme Host, User-Agent, + Referer, etc... Une table lua en lecture seule est disponible pour + l'itération sous la forme r:headers_in_table().
headers_outtableouiLes en-têtes MIME de l'environnement de la réponse. Une table lua en lecture seule est disponible pour + l'itération sous la forme r:headers_out_table().
hostnamestringnonLe nom d'hôte, tel que défini par l'en-tête + Host: ou par un URI complet.
is_httpsbooleannonIndique si la requête à été faite via HTTPS
is_initial_reqbooleannonIndique si la requête courante est la requête initiale ou + une sous-requête.
limit_req_bodynumbernonLa taille maximale du corps de la requête, ou 0 si aucune + limite.
log_idstringnonL'identifiant de la requête dans les journaux d'accès ou + d'erreur.
methodstringnonLa méthode de la requête, par exemple GET ou + POST.
notestableouiUne liste de notes qui peuvent être transmises d'un module + à l'autre. Une table lua en lecture seule est disponible pour + l'itération sous la forme r:notes_table().
optionsstringnonLa valeur de la directive Options pour la requête + courante.
path_infostringnonLa valeur de PATH_INFO extraite de la requête.
portnumbernonLe port du serveur utilisé par la requête.
protocolstringnonLe protocole utilisé, par exemple HTTP/1.1
proxyreqstringouiIndique s'il s'agit d'une requête mandatée ou non. Cette valeur + est en général définie au cours de la phase + post_read_request/pre_translate_name/translate_name du traitement de + la requête.
rangestringnonLe contenu de l'en-tête Range:.
remainingnumbernonLe nombre d'octets du corps de la requête restant à lire.
server_builtstringnonLa date de compilation du serveur.
server_namestringnonLe nom du serveur pour cette requête.
some_auth_requiredbooleannonIndique si une autorisation est/était requise pour cette + requête.
subprocess_envtableouiLe jeu de variables d'environnement pour cette requête. Une table + lua en lecture seule est disponible pour l'itération sous la forme + r:subprocess_env_table().
startednumbernonLe moment où le serveur a été (re)démarré, en secondes + depuis epoch (1er janvier 1970)
statusnumberouiLe code de retour (courant) pour cette requête, par + exemple 200 ou 404.
the_requeststringnonLa chaîne de la requête telle qu'elle a été envoyée par le + client, par exemple GET /foo/bar HTTP/1.1.
unparsed_uristringnonLa partie URI non interprétée de la requête
uristringouiL'URI après interprétation par httpd
userstringouiSi une authentification a été effectuée, nom de + l'utilisateur authentifié.
useragent_ipstringnonL'adresse IP de l'agent qui a envoyé la requête
+
+
+
top
+
+

Méthodes de l'objet request_rec

+ +

L'objet request_rec possède (au minimum) les méthodes suivantes :

+ +
r:flush()   -- vide le tampon de sortie
+            -- Renvoie true si le vidage a été effectué avec succès,
+	    -- false dans le cas contraire.
+
+while nous_avons_des_données_à_envoyer do
+    r:puts("Bla bla bla\n") -- envoi des données à envoyer vers le tampon
+    r:flush() -- vidage du tampon (envoi au client)
+    r.usleep(500000) -- mise en attente pendant 0.5 secondes et bouclage
+end
+ + +
r:add_output_filter(filter_name) -- ajoute un filtre en sortie
+
+r:add_output_filter("fooFilter") -- insère le filtre fooFilter dans le flux de sortie
+ + +
r:sendfile(filename) -- envoie un fichier entier au client en utilisant sendfile s'il est
+                     -- supporté par la plateforme :
+
+if use_sendfile_thing then
+    r:sendfile("/var/www/large_file.img")
+end
+ + +
r:parseargs() -- renvoie deux tables : une table standard de couples
+              -- clé/valeur pour les données GET simples,
+              -- et une autre pour les données
+              -- multivaluées (par exemple foo=1&foo=2&foo=3) :
+
+local GET, GETMULTI = r:parseargs()
+r:puts("Votre nom est : " .. GET['name'] or "Unknown")
+ + + +
r:parsebody()([sizeLimit]) -- interprète le corps de la
+                           -- requête en tant que POST et renvoie
+                           -- deux tables lua, comme r:parseargs(). Un
+                           -- nombre optionnel peut être fourni
+                           -- pour spécifier le nombre maximal
+                           -- d'octets à interpréter. La
+                           -- valeur par défaut est 8192.
+
+local POST, POSTMULTI = r:parsebody(1024*1024)
+r:puts("Votre nom est : " .. POST['name'] or "Unknown")
+ + + +
r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse
+ + +
r:write("une simple chaîne") -- affichage dans le corps de la réponse
+ + +
r:escape_html("<html>test</html>") -- Echappe le code HTML et renvoie le résultat
+ + +
r:base64_encode(string) -- Encode une chaîne à l'aide du standard de codage Base64.
+
+local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=
+ + +
r:base64_decode(string) -- Décode une chaîne codée en Base64.
+
+local decoded = r:base64_decode("VGhpcyBpcyBhIHRlc3Q=") -- returns 'This is a test'
+ + +
r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne en mode binaire (binary safe).
+
+local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339
+ + +
r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne en mode binaire (binary safe).
+
+local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19
+ + +
r:escape(string) -- Echappe une chaîne de type URL.
+
+local url = "http://foo.bar/1 2 3 & 4 + 5"
+local escaped = r:escape(url) -- renvoie 'http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5'
+ + +
r:unescape(string) -- Déséchappe une chaîne de type URL.
+
+local url = "http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5"
+local unescaped = r:unescape(url) -- renvoie 'http://foo.bar/1 2 3 & 4 + 5'
+ + +
r:construct_url(string) -- Construit une URL à partir d'un URI
+
+local url = r:construct_url(r.uri)
+ + +
r.mpm_query(number) -- Interroge le serveur à propos de son module MPM via la requête ap_mpm_query.
+
+local mpm = r.mpm_query(14)
+if mpm == 1 then
+    r:puts("Ce serveur utilise le MPM Event")
+end
+ + +
r:expr(string) -- Evalue une chaîne de type expr.
+
+if r:expr("%{HTTP_HOST} =~ /^www/") then
+    r:puts("Ce nom d'hôte commence par www")
+end
+ + +
r:scoreboard_process(a) -- Interroge le serveur à propos du
+                        -- processus à la position a.
+
+local process = r:scoreboard_process(1)
+r:puts("Le serveur 1 a comme PID " .. process.pid)
+ + +
r:scoreboard_worker(a, b) -- Interroge le serveur à propos du
+                          -- thread b, dans le processus a.
+
+local thread = r:scoreboard_worker(1, 1)
+r:puts("L'ID du thread 1 du serveur 1 est " .. thread.tid .. " et son
+état est " .. thread.status)
+ + +
r:clock() -- Renvoie l'heure courante avec une précision d'une microseconde.
+ + +
r:requestbody(filename) -- Lit et renvoie le corps d'une requête.
+                        -- Si 'filename' est spécifié, le
+                        -- corps de requête n'est pas
+                        -- renvoyé, mais sauvegardé dans
+                        -- le fichier correspondant.
+
+local input = r:requestbody()
+r:puts("Vous m'avez envoyé le corps de requête suivant :\n")
+r:puts(input)
+ + +
r:add_input_filter(filter_name) -- Ajoute le filtre en entrée 'filter_name'.
+ + +
r:module_info(module_name) -- Interroge le serveur à propos d'un module.
+
+local mod = r.module_info("mod_lua.c")
+if mod then
+    for k, v in pairs(mod.commands) do
+       r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives
+                                         -- implémentées par ce module.
+    end
+end
+ + +
r:loaded_modules() -- Renvoie une liste des modules chargés par httpd.
+
+for k, module in pairs(r:loaded_modules()) do
+    r:puts("J'ai chargé le module " .. module .. "\n")
+end
+ + +
r:runtime_dir_relative(filename) -- Génère le nom d'un fichier run-time
+                                 -- (par exemple la mémoire partagée
+                                 -- "file") relativement au répertoire de run-time.
+ + +
r:server_info() -- Renvoie une table contenant des informations à
+                -- propos du serveur, comme le nom de
+                -- l'exécutable httpd, le module mpm utilisé, etc...
+ + +
r:set_document_root(file_path) -- Définit la racine des documents
+                               -- pour la requête à file_path.
+ + +
r:add_version_component(component_string) -- Ajoute un élément à
+                                          -- la bannière du serveur.
+ + +
r:set_context_info(prefix, docroot) -- Définit le préfixe et la
+                                    -- racine des documents du contexte pour une requête.
+ + +
r:os_escape_path(file_path) -- Convertit un chemin du système de
+                            -- fichiers en URL indépendamment du système d'exploitation.
+ + +
r:escape_logitem(string) -- Echappe une chaîne pour journalisation.
+ + +
r.strcmp_match(string, pattern) -- Vérifie si 'string' correspond à
+                                -- 'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que
+                                -- 'www.example.com' correspond à '*.example.com' ?
+
+local match = r.strcmp_match("foobar.com", "foo*.com")
+if match then 
+    r:puts("foobar.com matches foo*.com")
+end
+ + +
r:set_keepalive() -- Définit l'état de persistance d'une requête.
+                  -- Renvoie true dans la mesure du possible, false dans le cas contraire.
+ + +
r:make_etag() -- Génère et renvoie le etag pour la requête courante.
+ + +
r:send_interim_response(clear) -- Renvoie une réponse d'intérim (1xx) au
+                               -- client. Si 'clear' est vrai, les en-têtes disponibles
+                               -- seront envoyés et effacés.
+ + +
r:custom_response(status_code, string) -- Génère et définit une réponse
+                                       -- personnalisée pour un code d'état particulier.
+                                       -- Le fonctionnement est très proche de celui de la directive ErrorDocument.
+
+r:custom_response(404, "Baleted!")
+ + +
r.exists_config_define(string) -- Vérifie si une définition de configuration existe.
+
+if r.exists_config_define("FOO") then
+    r:puts("httpd a probablement été lancé avec l'option -DFOO, ou FOO a
+    été défini dans la configuration")
+end
+ + +
r:state_query(string) -- Interroge le serveur à propos de son état.
+ + +
r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie une table contenant
+                           -- des informations à propos de ce fichier.
+
+local info = r:stat("/var/www/foo.txt")
+if info then
+    r:puts("Ce fichier existe et a été modifié pour la dernière fois à : " .. info.modified)
+end
+ + +
r:regex(string, pattern [,flags]) -- Exécute une recherche à base d'expression rationnelle
+                                  -- sur une chaîne, et renvoie les éventuelles correspondances trouvées.
+
+local matches = r:regex("foo bar baz", [[foo (\w+) (\S*)]])
+if matches then
+    r:puts("L'expression rationnelle correspond et le dernier mot
+    capturé ($2) est : " .. matches[2])
+end
+
+-- Exemple avec insensibilité à la casse :
+local matches = r:regex("FOO bar BAz", [[(foo) bar]], 1)
+
+-- les drapeaux peuvent être une combibaison bit à bit de :
+-- 0x01: insensibilité à la casse
+-- 0x02: recherche multiligne
+ + +
r.usleep(microsecondes) -- Interrompt l'exécution du script pendant le nombre de microsecondes spécifié.
+ + +
r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une base de données et renvoie une classe database.
+                                -- Voir 'Connectivité aux bases de données'
+				-- pour plus de détails.
+ + +
r:ivm_set("key", value) -- Défini une variable Inter-VM avec une valeur spécifique.
+                        -- Ces valeurs sont conservées même si la VM est
+			-- arrêtée ou non utilisée, et ne doivent donc être
+			-- utilisées que si MaxConnectionsPerChild > 0.
+			-- Les valeurs peuvent être de type number, string
+			-- ou boolean et sont stockées séparément pour
+			-- chaque processus (elles ne seront donc pas d'une
+			-- grande utilité si l'on utilise le mpm prefork).
+                        
+r:ivm_get("key")        -- Lit le contenu d'une variable définie via ivm_set. Renvoie
+			-- le contenu de la variable si elle existe, ou nil
+			-- dans le cas contraire.
+                        
+-- Voici un exemple de lecture/écriture qui sauvegarde une variable
+-- globale en dehors de la VM :
+function handle(r)
+    -- La première VM qui effectue l'appel suivant n'obtiendra aucune
+    -- valeur, et devra la créer
+    local foo = r:ivm_get("cached_data")
+    if not foo then
+        foo = do_some_calcs() -- simulation de valeurs de retour
+        r:ivm_set("cached_data", foo) -- définition globale de la variable
+    end
+    r:puts("La donnée en cache est : ", foo)
+end
+ +
r:htpassword(string [,algorithm [,cost]]) -- Génère un hash de mot de passe à partir d'une chaîne.
+                                          -- algorithm: 0 = APMD5 (défaut), 1 = SHA, 2 = BCRYPT, 3 = CRYPT.
+                                          -- cost: ne s'utilise qu'avec l'algorythme BCRYPT (défaut = 5).
+ + +
r:mkdir(dir [,mode]) -- Crée un répertoire et définit son mode via le paramètre optionnel mode.
+ + +
r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit
+                      -- leur mode via le paramètre optionnel mode.
+ + +
r:rmdir(dir) -- Supprime un répertoire.
+ + +
r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à
+                       -- la valeur optionnelle mtime en msec.
+ + +
r:get_direntries(dir) -- Renvoie une table contenant toutes les entrées de répertoires.
+
+-- Renvoie un chemin sous forme éclatée en chemin, fichier, extension
+function handle(r)
+  local dir = r.context_document_root
+  for _, f in ipairs(r:get_direntries(dir)) do
+    local info = r:stat(dir .. "/" .. f)
+    if info then
+      local mtime = os.date(fmt, info.mtime / 1000000)
+      local ftype = (info.filetype == 2) and "[dir] " or "[file]"
+      r:puts( ("%s %s %10i %s\n"):format(ftype, mtime, info.size, f) )
+    end
+  end
+end
+ + +
r.date_parse_rfc(string) -- Interprète une chaîne date/heure et renvoie l'équivalent en secondes depuis epoche.
+ + +
r:getcookie(key) -- Obtient un cookie HTTP
+ + +
r:setcookie(key, value, secure, expires) -- Définit un cookie HTTP, par exemple :
+r:setcookie("foo", "bar and stuff", false, os.time() + 86400)
+ + +
r:wsupgrade() -- Met à jour une connexion vers les WebSockets si possible (et si demandé) :
+if r:wsupgrade() then -- si la mise à jour est possible :
+    r:wswrite("Bienvenue dans les websockets!") -- écrit quelque chose à l'intention du client
+    r:wsclose()  -- Au revoir !
+end
+ + +
r:wsread() -- Lit un cadre de websocket depuis une connexion vers websocket mise à jour (voir ci-dessus) :
+           
+local line, isFinal = r:wsread() -- isFinal indique s'il s'agit du cadre final.
+                                 -- dans le cas contraire, on peut lire les cadres suivants
+r:wswrite("Vous avez écrit : " .. line)
+ + +
r:wswrite(line) -- écrit un cadre vers un client WebSocket :
+r:wswrite("Bonjour le Monde !")
+ + +
r:wsclose() -- ferme une requête WebSocket et l'achève pour httpd :
+
+if r:wsupgrade() then
+    r:wswrite("Ecrire quelque chose : ")
+    local line = r:wsread() or "nothing"
+    r:wswrite("Vous avez écrit : " .. line);
+    r:wswrite("Au revoir !")
+    r:wsclose()
+end
+ +
top
+
+

Fonctions de journalisation

+ +
	-- exemples de messages de journalisation
+	r:trace1("Ceci est un message de journalisation de niveau
+	trace") -- les niveaux valides vont de trace1 à trace8 
+        r:debug("Ceci est un message de journalisation de niveau debug")
+        r:info("Ceci est un message de journalisation de niveau info")
+        r:notice("Ceci est un message de journalisation de niveau notice")
+        r:warn("Ceci est un message de journalisation de niveau warn")
+        r:err("Ceci est un message de journalisation de niveau err")
+        r:alert("Ceci est un message de journalisation de niveau alert")
+        r:crit("Ceci est un message de journalisation de niveau crit")
+        r:emerg("Ceci est un message de journalisation de niveau emerg")
+ + +
top
+
+

Paquet apache2

+

Le paquet nommé apache2 est fourni avec (au minimum) le +contenu suivant :

+
+
apache2.OK
+
Constante interne OK. Les gestionnaires renverront cette valeur + s'ils ont traité la requête.
+
apache2.DECLINED
+
Constante interne DECLINED. Les gestionnaires renverront cette + valeur s'ils n'ont pas l'intention de traiter la requête.
+
apache2.DONE
+
Constante interne DONE.
+
apache2.version
+
Chaîne contenant la version du serveur HTTP Apache
+
apache2.HTTP_MOVED_TEMPORARILY
+
Code d'état HTTP
+
apache2.PROXYREQ_NONE, apache2.PROXYREQ_PROXY, apache2.PROXYREQ_REVERSE, apache2.PROXYREQ_RESPONSE
+
Constantes internes utilisées par mod_proxy
+
apache2.AUTHZ_DENIED, apache2.AUTHZ_GRANTED, apache2.AUTHZ_NEUTRAL, apache2.AUTHZ_GENERAL_ERROR, apache2.AUTHZ_DENIED_NO_USER
+
constantes internes utilisées par mod_authz_core
+ +
+

Les autres codes d'état HTTP ne sont pas encore implémentés.

+
top
+
+

Modification de contenu avec les filtres lua

+ +

+ Les fonctions de filtrage implémentées via les directives LuaInputFilter ou LuaOutputFilter sont conçues comme des + fonctions de 3ème phase non blocantes utilisant des sous-routines + pour suspendre et reprendre l'exécution d'une fonction lorsque des + paquets de données sont envoyés à la chaîne de filtrage. La + structure de base d'une telle fonction est : +

+
function filter(r)
+    -- Nous indiquons tout d'abord que nous sommes prêts à recevoir des
+    -- blocs de données.
+    -- Avant ceci, nous pouvons définir notre environnement, tester
+    -- certaines conditions, et, si nous le jugeons nécessaire, refuser le
+    -- filtrage d'une requête :
+    if something_bad then
+        return -- Le filtrage est sauté
+    end
+    -- Sans se préoccuper des données que nous devons éventuellement ajouter, un arrêt est réalisé ici.
+    -- Noter que les filtres de sortie sont les seuls capables d'ajouter des éléments au début des données.
+    -- Les filtres en entrée peuvent ajouter des éléments à la fin des données au stade final.
+
+    coroutine.yield([optional header to be prepended to the content])
+
+    -- Après cet arrêt, nous allons recevoir d'autres blocs de données, un par un ;
+    -- nous pouvons les traiter comme il nous plaît et procéder à la réponse.
+    -- Ces blocs sont conservés dans la variable globale 'bucket', nous réalisons donc
+    -- une boucle pour vérifier que 'bucket' n'est pas vide :
+    while bucket ~= nil do
+        local output = mangle(bucket) -- Do some stuff to the content
+        coroutine.yield(output) -- Return our new content to the filter chain
+    end
+
+    -- Une fois les blocs de données épuisés, 'bucket' est positionné à une valeur vide ('nil'),
+    -- ce qui va nous faire sortir de cette boucle et nous amener à l'étape suivante.
+    -- On peut ajouter ce qu'on veut à la fin des données à cette étape, qui constitue le dernier
+    -- arrêt. Les filtres d'entrée comme de sortie peuvent servir à ajouter des éléments à la fin
+    --  des données à cette étape.
+    coroutine.yield([optional footer to be appended to the content])
+end
+ +
top
+
+

Connectivité aux bases de données

+ +

Mod_lua implémente une fonctionnalité basique de connexion aux +bases de données permettant d'envoyer des requêtes ou d'exécuter des +commandes auprès des moteurs de base de données les plus courants +(mySQL, PostgreSQL, FreeTDS, ODBC, SQLite, Oracle), ainsi que mod_dbd.

+

+ dbType, le premier paramètre de dbacquire, est + sensible à la casse.

+

+ Ses valeurs possibles sont mysql, pgsql, + freetds, odbc, sqlite2, + sqlite3, oracle ou mod_dbd. +

+

L'exemple suivant montre comment se connecter à une base de +données et extraire des informations d'une table :

+
function handle(r)
+    -- connexion à la base de données
+    local database, err = r:dbacquire("mysql", "server=localhost,user=someuser,pass=somepass,dbname=mydb")
+    if not err then
+        -- Sélection de certaines informations
+        local results, err = database:select(r, "SELECT `name`, `age` FROM `people` WHERE 1")
+        if not err then
+            local rows = results(0) -- extrait tous les enregistrements en mode synchrone
+            for k, row in pairs(rows) do
+                r:puts( string.format("Name: %s, Age: %s<br/>", row[1], row[2]) )
+            end
+        else
+            r:puts("Database query error: " .. err)
+        end
+        database:close()
+    else
+        r:puts("Connexion à la base de données impossible : " .. err)
+    end
+end
+ +

+ Pour utiliser mod_dbd, spécifiez +mod_dbd comme type de base de données, ou laissez le champ +vide : +

+
local database = r:dbacquire("mod_dbd")
+ +

L'objet database et ses méthodes

+ +

L'objet database renvoyé par dbacquire possède +les méthodes suivantes :

+

Sélection normale et requête vers une base de données +:

+
-- Exécution d'une requête et renvoie du nombre d'enregistrements
+affectés :
+local affected, errmsg = database:query(r, "DELETE FROM `tbl` WHERE 1")
+
+-- Exécution d'une requête et renvoie du résultat qui peut être utilisé
+en mode synchrone ou asynchrone :
+local result, errmsg = database:select(r, "SELECT * FROM `people` WHERE 1")
+ +

Utilisation de requêtes préparées (recommandé) :

+
-- Création et exécution d'une requête préparée :
+local statement, errmsg = database:prepare(r, "DELETE FROM `tbl` WHERE `age` > %u")
+if not errmsg then
+    local result, errmsg = statement:query(20) -- exécute la requête pour age > 20
+end
+
+-- Extrait une requête préparée depuis une directive DBDPrepareSQL :
+local statement, errmsg = database:prepared(r, "someTag")
+if not errmsg then
+    local result, errmsg = statement:select("John Doe", 123) -- injecte les valeurs "John Doe" et 123 dans la requête
+end
+ +

Echappement de valeurs, fermeture de la base données, +etc...

+
-- Echappe une valeur pour pouvoir l'utiliser dans une requête :
+local escaped = database:escape(r, [["'|blabla]])
+
+-- Ferme une base de données et libère les liens vers cette dernière :
+database:close()
+
+-- Vérifie si une connexion à une base de données est en service et
+opérationnelle :
+local connected = database:active()
+ + +

Travail avec les jeux d'enregistrements renvoyés par les requêtes

+ +

Les jeux d'enregistrements renvoyés par db:select ou par des +requêtes préparées créées par db:prepare permettent de +sélectionner des enregistrements en mode synchrone ou +asynchrone, selon le nombre d'enregistrements spécifié :
+ result(0) sélectionne tous les enregistrements en mode +synchrone en renvoyant une table d'enregistrements.
+ result(-1) sélectionne le prochain enregistrement disponible en +mode asynchrone.
+ result(N) sélectionne l'enregistrement numéro +N en mode asynchrone. +

+
-- extrait un jeu d'enregistrements via une requête régulière :
+local result, err = db:select(r, "SELECT * FROM `tbl` WHERE 1")
+
+local rows = result(0) -- sélectionne tous les enregistrements en mode synchrone
+local row = result(-1) -- sélectionne le prochain enregistrement disponible en mode asynchrone
+local row = result(1234) -- sélectionne l'enregistrement 1234 en mode asynchrone
+local row = result(-1, true) -- Lit l'enregistrement suivant en utilisant les noms d'enregistrements comme index.
+ +

Il est possible de construire une fonction qui renvoie une +fonction itérative permettant de traiter tous les enregistrement en mode +synchrone ou asynchrone selon la valeur de l'argument async : +

+
function rows(resultset, async)
+    local a = 0
+    local function getnext()
+        a = a + 1
+        local row = resultset(-1)
+        return row and a or nil, row
+    end
+    if not async then
+        return pairs(resultset(0))
+    else
+        return getnext, self
+    end
+end
+
+local statement, err = db:prepare(r, "SELECT * FROM `tbl` WHERE `age` > %u")
+if not err then
+     -- sélectionne des enregistrements en mode asynchrone :
+    local result, err = statement:select(20)
+    if not err then
+        for index, row in rows(result, true) do
+            ....
+        end
+    end
+
+     -- sélectionne des enregistrements en mode synchrone :
+    local result, err = statement:select(20)
+    if not err then
+        for index, row in rows(result, false) do
+            ....
+        end
+    end
+end
+ + +

Fermeture d'une connexion à une base de données

+ + +

Lorsqu'elles ne sont plus utilisées, les connexions aux bases de +données doivent être fermées avec database:close(). Si vous +ne les fermez pas manuellement, mod_lua les fermera peut-être en tant +que résidus collectés, mais si ce n'est pas le cas, vous pouvez finir +pas avoir trop de connexions vers la base de données inutilisées. Les +deux mesures suivantes sont pratiquement identiques : +

+
-- Méthode 1 : fermeture manuelle de la connexion
+local database = r:dbacquire("mod_dbd")
+database:close() -- c'est tout
+
+-- Méthode 2 : on laisse le collecteur de résidus la fermer
+local database = r:dbacquire("mod_dbd")
+database = nil -- on coupe le lien
+collectgarbage() -- fermeture de la connexion par le collecteur de résidus
+ + +

Précautions à prendre lorsque l'on travaille avec les bases +de données

+ +

Bien que les fonctions query et run +soient toujours disponibles, il est recommandé d'utiliser des requêtes +préparées chaque fois que possible, afin d'une part d'optimiser les +performances (si votre connexion reste longtemps en vie), et d'autre part +minimiser le risque d'attaques par injection SQL. Les fonctions +run et query ne doivent être utilisées que +lorsque la requête ne contient pas de variables (requête statique). Dans +le cas des requêtes dynamiques, utilisez db:prepare ou +db:prepared. +

+ + +
+
top
+

Directive LuaAuthzProvider

+ + + + + + + +
Description:Branche une fonction fournisseur d'autorisation dans mod_authz_core +
Syntaxe:LuaAuthzProvider provider_name /path/to/lua/script.lua function_name
Contexte:configuration globale
Statut:Extension
Module:mod_lua
Compatibilité:Disponible depuis la version 2.4.3 du serveur HTTP Apache
+

Lorsqu'une fonction lua a été enregistrée en tant que fournisseur +d'autorisation, elle peut être appelée via la directive Require :

+ + +
LuaRoot "/usr/local/apache2/lua"
+LuaAuthzProvider foo authz.lua authz_check_foo
+<Location "/">
+  Require foo johndoe
+</Location>
+ +
require "apache2"
+function authz_check_foo(r, who)
+    if r.user ~= who then return apache2.AUTHZ_DENIED
+    return apache2.AUTHZ_GRANTED
+end
+ + + +
+
top
+

Directive LuaCodeCache

+ + + + + + + + +
Description:Configure le cache de code compilé.
Syntaxe:LuaCodeCache stat|forever|never
Défaut:LuaCodeCache stat
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua

+ Cette directive permet de définir le comportement du cache de code + en mémoire. La valeur par défaut est stat ; dans ce cas, le script + du niveau le plus haut (et pas les scripts inclus) est vérifié à + chaque fois que ce fichier est nécessaire, et est rechargé si la + date de modification est plus récente que celle du script déjà + chargé. Les autres valeurs permettent respectivement de garder le + fichier en cache perpétuellement (forever - jamais vérifié ni + remplacé), ou de ne jamais le mettre en cache (never).

+ +

En général, les valeurs stat et forever sont utilisées pour un + serveur en production, et les valeurs stat ou never pour un serveur + en développement.

+ +

Exemples :

LuaCodeCache stat
+LuaCodeCache forever
+LuaCodeCache never
+
+ + +
+
top
+

Directive LuaHookAccessChecker

+ + + + + + + + +
Description:Fournit un point d'entrée pour la phase access_checker du +traitement de la requête
Syntaxe:LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
Compatibilité:Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.
+

Ajoute votre fonction d'accroche à la phase access_checker. Une +fonction d'accroche access checker renvoie en général OK, DECLINED, ou +HTTP_FORBIDDEN.

+

Ordonnancement

Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.

+ +
+
top
+

Directive LuaHookAuthChecker

+ + + + + + + + +
Description:Fournit un point d'entrée pour la phase auth_checker du +traitement de la requête
Syntaxe:LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
Compatibilité:Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.
+

Invoque une fonction lua au cours de la phase auth_checker du +traitement de la requête. Cette directive peut s'utiliser pour +implémenter une vérification arbitraire de l'authentification et de +l'autorisation. Voici un exemple très simple : +

+
require 'apache2'
+
+-- fonction d'accroche authcheck fictive
+-- Si la requête ne contient aucune donnée d'authentification, l'en-tête
+-- de la réponse est défini et un code 401 est renvoyé afin de demander au
+-- navigateur d'effectuer une authentification basique. Si la requête
+-- comporte des données d'authentification, elles ne sont pas vraiment
+-- consultées, mais on admet la prise en compte de l'utilisateur 'foo' et
+-- on la valide. On vérifie ensuite si l'utilisateur est bien 'foo' et on
+-- accepte la requête.
+function authcheck_hook(r)
+
+   -- recherche des informations d'authentification
+   auth = r.headers_in['Authorization']
+   if auth ~= nil then
+     -- définition d'un utilisateur par défaut
+     r.user = 'foo'
+   end
+
+   if r.user == nil then
+      r:debug("authcheck: user is nil, returning 401")
+      r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"'
+      return 401
+   elseif r.user == "foo" then
+      r:debug('user foo: OK')
+   else
+      r:debug("authcheck: user='" .. r.user .. "'")
+      r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"'
+      return 401
+   end
+   return apache2.OK
+end
+ +

Ordonnancement

Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.

+ +
+
top
+

Directive LuaHookCheckUserID

+ + + + + + + + +
Description:Fournit un point d'entrée pour la phase check_user_id du +traitement de la requête
Syntaxe:LuaHookCheckUserID /chemin/vers/lua/script.lua hook_function_name [early|late]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
Compatibilité:Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.

...

+

Ordonnancement

Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.

+ +
+
top
+

Directive LuaHookFixups

+ + + + + + + +
Description:Fournit un point d'entrée pour la phase de correction du +traitement de la requête
Syntaxe:LuaHookFixups /chemin/vers/lua/script.lua hook_function_name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

+ Idem LuaHookTranslateName, mais s'exécute durant la phase de + correction. +

+ +
+
top
+

Directive LuaHookInsertFilter

+ + + + + + + +
Description:Fournit un point d'entrée pour la phase insert_filter du +traitement de la requête
Syntaxe:LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua

Non encore implémenté

+
+
top
+

Directive LuaHookLog

+ + + + + + + +
Description:Permet une insertion dans la phase de journalisation du +traitement d'une requête
Syntaxe:LuaHookLog /path/to/lua/script.lua log_function_name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

+ Ce dispositif d'insertion simple permet d'exécuter une fonction + lorsque httpd entre dans la phase de journalisation du traitement + d'une requête. Vous pouvez ainsi ajouter des données à vos propres + entrées de journalisation, manipuler les entrées du journal standard + avant leur enregistrement ou empêcher l'enregistrement d'une entrée + dans le journal. Pour empêcher l'enregistrement normal des entrées + du journal, renvoyez simplement apache2.DONE dans votre + gestionnaire de journalisation, ou au contraire, renvoyez + apache2.OK pour que httpd effectue une journalisation + normale. +

+

Exemple :

+
LuaHookLog "/path/to/script.lua" logger
+ +
-- /path/to/script.lua --
+function logger(r)
+    -- on joue à pile ou face :
+    -- Si on obtient 1, on écrit dans notre propre journal Lua et on dit
+    -- à httpd de ne pas enregistrer d'entrée dans le journal standard..
+    -- Si on obtient 2, on nettoie un peu les données avant que httpd ne
+    -- les enregistre dans le journal standard.
+
+    if math.random(1,2) == 1 then
+        -- On effectue notre propre journalisation et le journal
+	-- standard n'est pas alimenté
+        local f = io.open("/foo/secret.log", "a")
+        if f then
+            f:write("Quelque chose de secret est arrivé à " .. r.uri .. "\n")
+            f:close()
+        end
+        return apache2.DONE -- On dit à httpd de ne rien enregistrer
+			    --dans le journal standard
+    else
+        r.uri = r.uri:gsub("somesecretstuff", "") -- nettoie les données
+        return apache2.OK -- et httpd doit alors les enregistrer.
+    end
+end
+ + +
+
top
+

Directive LuaHookMapToStorage

+ + + + + + + +
Description:Fournit un point d'entrée pour la phase map_to_storage du +traitement de la requête
Syntaxe:LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

Identique à la directive + LuaHookTranslateName, mais s'exécute à la phase + map-to-storage du traitement de la requête. Les modules comme + mod_cache agissent pendant cette phase, ce qui permet de + présenter un exemple intéressant de ce que l'on peut faire ici :

+
LuaHookMapToStorage "/path/to/lua/script.lua" check_cache
+ +
require"apache2"
+cached_files = {}
+
+function read_file(filename)
+    local input = io.open(filename, "r")
+    if input then
+        local data = input:read("*a")
+        cached_files[filename] = data
+        file = cached_files[filename]
+        input:close()
+    end
+    return cached_files[filename]
+end
+
+function check_cache(r)
+    if r.filename:match("%.png$") then -- Ne concerne que les fichiers PNG
+        local file = cached_files[r.filename] -- Vérifie les entrées du cache
+        if not file then
+            file = read_file(r.filename)  -- Lit le fichier vers le cache
+        end
+        if file then -- Si le fichier existe, on l'envoie
+            r.status = 200
+            r:write(file)
+            r:info(("%s a été envoyé au client depuis le cache"):format(r.filename))
+            return apache2.DONE -- cout-circuite le gestionnaire par défaut des fichiers PNG
+        end
+    end
+    return apache2.DECLINED -- Si nous n'avons rien eu à faire, nous laissons les autres s'en charger
+end
+ + + +
+
top
+

Directive LuaHookPreTranslate

+ + + + + + + +
Description:Fournit un point d'entrée pour la phase de pré-traduction du +traitement d'une requête
Syntaxe:LuaHookPreTranslate /path/to/lua/script.lua hook_function_name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

+ Identique à LuaHookTranslateName, mais s'exécute au cours de la phase de + pré-traduction où les pourcentages du chemin de l'URI ne sont pas encore + décodés. +

+ +
+
top
+

Directive LuaHookTranslateName

+ + + + + + + + +
Description:Fournit un point d'entrée à la phase du nom de +traduction du traitement de la requête
Syntaxe:LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]
Contexte:configuration globale, serveur virtuel
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
Compatibilité:Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.

+ Cette directive permet d'ajouter un point d'entrée (à + APR_HOOK_MIDDLE) à la phase du nom de traduction du traitement de la + requête. La fonction hook accepte un seul argument, le request_rec, + et doit renvoyer un code d'état qui est soit un code d'erreur HTTP, + ou une constante définie dans le module apache2 : apache2.OK, + apache2.DECLINED, ou apache2.DONE.

+ +

Pour ceux qui ne sont pas familiers avec les points d'entrée + (hook), en gros, chaque hook sera invoqué jusqu'à ce que l'un + d'entre eux renvoie apache2.OK. Si un hook n'effectuer pas la + traduction, il doit juste renvoyer apache2.DECLINED. Si le + traitement de la requête doit être interrompu, la valeur renvoyée + doit être apache2.DONE.

+ +

Exemple :

+ +
# httpd.conf
+LuaHookTranslateName "/scripts/conf/hooks.lua" silly_mapper
+ + +
-- /scripts/conf/hooks.lua --
+require "apache2"
+function silly_mapper(r)
+    if r.uri == "/" then
+        r.filename = "/var/www/home.lua"
+        return apache2.OK
+    else
+        return apache2.DECLINED
+    end
+end
+ + +

Contexte

Cette directive ne peut être + utilisée ni à l'intérieur d'une section <Directory> ou <Files>, ni dans un fichier htaccess.

+ +

Ordonnancement

Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.

+ +
+
top
+

Directive LuaHookTypeChecker

+ + + + + + + +
Description:Fournit un point d'entrée pour la phase type_checker du +traitement de la requête
Syntaxe:LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua

+ Cette directive fournit un point d'entrée pour la phase + type_checker du traitement de la requête. Cette phase + correspond au moment où la requête se voit assigner un type et un + gestionnaire de contenu, et peut donc être utilisée pour modifier le + type et le gestionnaire en fonction de l'entrée : +

+
LuaHookTypeChecker "/path/to/lua/script.lua" type_checker
+ +
    function type_checker(r)
+        if r.uri:match("%.to_gif$") then -- foo.png.to_gif convient
+            r.content_type = "image/gif" -- affectation du type image/gif
+            r.handler = "gifWizard"      -- force le traitement de la requête par le module gifWizard
+            r.filename = r.uri:gsub("%.to_gif$", "") -- corrige le nom du fichier demandé
+            return apache2.OK
+        end
+
+        return apache2.DECLINED
+    end
+ + +
+
top
+

Directive LuaInherit

+ + + + + + + + + +
Description:Contrôle la manière dont les sections de configuration +parentes sont fusionnées dans les enfants
Syntaxe:LuaInherit none|parent-first|parent-last
Défaut:LuaInherit parent-first
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
Compatibilité:Versions 2.4.0 et supérieures

Par défaut, si des directives LuaHook* se trouvent dans + des sections de configuration Directory ou Location qui se + chevauchent, les scripts + définis dans les sections les plus spécifiques s'exécutent + après ceux définis dans les sections plus génériques + (LuaInherit parent-first). Vous pouvez inverser cet ordre, ou faire + en sorte que le contexte parent ne s'applique pas du tout.

+ +

Jusqu'aux versions 2.3.x, le comportement par défaut consistait à + ignorer les directives LuaHook* situées dans les sections de + configuration parentes.

+
+
top
+

Directive LuaInputFilter

+ + + + + + + +
Description:Fournit une fonction Lua pour le filtrage en entrée
Syntaxe:LuaInputFilter filter_name /path/to/lua/script.lua function_name
Contexte:configuration globale
Statut:Extension
Module:mod_lua
Compatibilité:Disponible depuis la version 2.4.5 du serveur HTTP +Apache
+

Cette directive permet d'ajouter un filtre en entrée sous la forme +d'une fonction Lua. A l'instar des filtres en sorties, les filtres en +entrée fonctionnent comme des sous-routines, intervenant dans un premier +temps avant l'envoi du contenu des tampons, puis chaque fois qu'un +paquet de données doit être transmis à la chaîne, et éventuellement +produisant toute donnée à ajouter aux données en entrée. La variable +globale bucket contient les paquets de données tels qu'ils +sont transmis au script Lua : +

+ +
LuaInputFilter myInputFilter "/www/filter.lua" input_filter
+<Files "*.lua">
+  SetInputFilter myInputFilter
+</Files>
+ +
--[[
+    Exemple de filtre en entrée qui convertit toutes les données POST en
+    majuscules.
+]]--
+function input_filter(r)
+    print("luaInputFilter called") -- pour débogage
+    coroutine.yield() -- attend des paquets de données
+    while bucket do -- Pour chaque paquet, faire ...
+        local output = string.upper(bucket) -- Convertit toutes les données POST en majuscules
+        coroutine.yield(output) -- Envoie les données traitées à la chaîne de filtrage
+    end
+    -- plus aucune donnée à traiter.
+    coroutine.yield("&filterSignature=1234") -- Ajoute une signature à la fin
+end
+ +

+Le filtre en entrée peut interdire ou sauter un filtre s'il est +considéré comme indésirable : +

+
function input_filter(r)
+    if not good then
+        return -- Empêche tout simplement le filtrage et transmet le contenu original
+    end
+    coroutine.yield() -- attend des paquets de données
+    ...               -- insert les filtres ici
+end
+ +

+Voir "Modification de contenu avec les +filtres Lua" pour plus de détails. +

+ +
+
top
+

Directive LuaMapHandler

+ + + + + + + +
Description:Met en correspondance un chemin avec un gestionnaire lua
Syntaxe:LuaMapHandler modele-uri /chemin/vers/lua/script.lua +[nom-fonction]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

Cette directive permet de faire correspondre un modèle d'uri avec + une fonction de gestionnaire située dans un fichier spécifique. Elle + utilise les expressions rationnelles PCRE pour mettre en + correspondance l'uri, et supporte les groupes de correspondance + d'interpolation dans le chemin du fichier et le nom de la fonction. + Prenez garde aux problèmes de sécurité en écrivant vos expressions + rationnelles.

+

Exemples :

LuaMapHandler "/(\w+)/(\w+)" "/scripts/$1.lua" "handle_$2"
+
+

Cette directive va faire correspondre des uri comme + /photos/show?id=9 au fichier /scripts/photos.lua, et invoquera la + fonction de gestionnaire handle_show au niveau de la vm lua + après chargement de ce fichier.

+ +
LuaMapHandler "/bingo" "/scripts/wombat.lua"
+ +

Cette directive invoquera la fonction "handle" qui est la + valeur par défaut si aucun nom de fonction spécifique n'est + spécifié.

+ +
+
top
+

Directive LuaOutputFilter

+ + + + + + + +
Description:Fournit une fonction Lua pour le filtrage de contenu en +sortie
Syntaxe:LuaOutputFilter filter_name /path/to/lua/script.lua function_name
Contexte:configuration globale
Statut:Extension
Module:mod_lua
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

>Cette directive permet d'ajouter un filtre en sortie sous la forme +d'une fonction Lua. A l'instar des filtres en sorties, les filtres en +entrée fonctionnent comme des sous-routines, intervenant dans un premier +temps avant l'envoi du contenu des tampons, puis chaque fois qu'un +paquet de données doit être transmis à la chaîne, et éventuellement +produisant toute donnée à ajouter aux données en sortie. La variable +globale bucket contient les paquets de données tels qu'ils +sont transmis au script Lua : +

+ +
LuaOutputFilter myOutputFilter "/www/filter.lua" output_filter
+<Files "*.lua">
+  SetOutputFilter myOutputFilter
+</Files>
+ +
--[[
+    Exemple de filtre en sortie qui échappe toutes les entités HTML en
+    sortie
+]]--
+function output_filter(r)
+    coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie,
+                                                                -- puis attend des paquets de données à traiter
+    while bucket do -- Pour chaque paquet, faire ...
+        local output = r:escape_html(bucket) -- Echappe les données en sortie
+        coroutine.yield(output) -- Envoie les données traitées à la chaîne
+    end
+    -- plus aucune donnée à traiter.
+end
+ +

+Comme les filres en entrée, le filtre en sortie peut interdire ou sauter un filtre s'il est +considéré comme indésirable : +

+
function output_filter(r)
+    if not r.content_type:match("text/html") then
+        return -- Empêche tout simplement le filtrage et transmet le contenu original
+    end
+    coroutine.yield() -- attend des paquets de données
+    ...               -- insert les filtres ici
+end
+ +

Les filtres Lua avec mod_filter

+

Lorsqu'on utilise un filtre Lua comme fournisseur sous-jacent via la +directive FilterProvider, le +filtrage ne fonctionnera que si filter-name est identique à +provider-name. +

+ +

+Voir "Modification de contenu avec les +filtres Lua" pour plus de détails. +

+ + +
+
top
+

Directive LuaPackageCPath

+ + + + + + + +
Description:Ajoute un répertoire au package.cpath de lua
Syntaxe:LuaPackageCPath /chemin/vers/include/?.soa
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

Cette directive permet d'ajouter un chemin à la liste des chemins + de recherche des bibliothèques partagées de lua. Ceci modifie le + package.cpath dans les vms lua.

+ + +
+
top
+

Directive LuaPackagePath

+ + + + + + + +
Description:Ajoute un répertoire au package.path de lua
Syntaxe:LuaPackagePath /chemin/vers/include/?.lua
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua

Cette directive permet d'ajouter un chemin à la liste des + chemins de recherche du module lua. Elle suit les mêmes conventions + que lua. Ceci modifie le package.path dans les vms lua.

+ +

Exemples :

LuaPackagePath "/scripts/lib/?.lua"
+LuaPackagePath "/scripts/lib/?/init.lua"
+
+ +
+
top
+

Directive LuaQuickHandler

+ + + + + + + +
Description:Fournit un point d'entrée pour la gestion rapide du +traitement de la requête
Syntaxe:LuaQuickHandler /path/to/script.lua hook_function_name
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

Cette phase s'exécute juste après l'attribution de la requête à + un serveur virtuel, et permet d'effectuer certains traitements avant + le déroulement des autres phases, ou de servir une requête sans + avoir à la traduire, l'associer à un espace de stockage, etc... + Comme cette phase s'exécute avant toute autre, les directives telles + que <Location> ou + <Directory> ne + sont pas encore prises en compte, car Les URI n'ont pas encore été + entièrement interprétés. +

+

Contexte

Cette directive ne peut être + utilisée ni à l'intérieur d'une section <Directory> ou <Files>, ni dans un fichier htaccess.

+ +
+
top
+

Directive LuaRoot

+ + + + + + + +
Description:Spécifie le chemin de base pour la résolution des chemins +relatifs dans les directives de mod_lua
Syntaxe:LuaRoot /chemin/vers/un/répertoire
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

Cette directive permet de spécifier le chemin de base qui sera + utilisé pour évaluer tous les chemins relatifs dans mod_lua. En + l'absence de cette directive, les chemins relatifs sont résolus par + rapport au répertoire de travail courant, ce qui ne sera pas + toujours approprié pour un serveur.

+ +
+
top
+

Directive LuaScope

+ + + + + + + + +
Description:Une valeur parmi once, request, conn, thread -- la valeur par défaut est once
Syntaxe:LuaScope once|request|conn|thread|server [min] [max]
Défaut:LuaScope once
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_lua
+

Cette directive permet de spécifier la durée de vie de + l'interpréteur Lua qui sera utilisé dans ce "répertoire". La valeur + par défaut est "once".

+ +
+
once:
utilise l'interpréteur une fois.
+ +
request:
utilise l'interpréteur pour traiter tout ce + qui est basé sur le même fichier dans la requête, et qui se trouve + aussi dans la portée de la requête.
+ +
conn:
idem request, mais attaché à connection_rec
+ +
thread:
Utilise l'interpréteur pendant toute la durée + de vie du thread qui traite la requête (disponible seulement avec + les MPMs threadés).
+ +
server:
Le comportement est ici différent, car la + portée du serveur présente une durée de vie assez longue, et + plusieurs threads vont partager le même server_rec. Pour gérer tout + ceci, les états lua du serveur sont stockés dans une liste de ressources + apr. Les arguments min et max permettent + de spécifier les nombres minimaux et maximaux d'états lua à stocker + dans la liste.
+
+

En général, les portées thread et server + sont 2 à 3 fois plus rapides que les autres, car elles n'ont pas besoin + de régénérer de nouveaux états Lua à chaque requête (comme c'est le + cas avec le MPM event, où même les connexions persistantes utilisent un + nouveau thread pour chaque requête). Si vous pensez que vos scripts + n'auront pas de problème s'il réutilisent un état, alors les portées + thread ou server doivent être utilisées car + elles présenteront de meilleures performances. Alors que la portée + thread fournira les réponses les plus rapides, la portée + server utilisera moins de mémoire car les états sont + rassemblés dans des jeux, permettant par exemple à 1000 threads de + partager 100 états Lua, ne nécessitant ainsi que 10% de la mémoire + requise par la portée thread. +

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_macro.html b/docs/manual/mod/mod_macro.html new file mode 100644 index 0000000..8aee40b --- /dev/null +++ b/docs/manual/mod/mod_macro.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_macro.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_macro.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_macro.html.en b/docs/manual/mod/mod_macro.html.en new file mode 100644 index 0000000..faad01b --- /dev/null +++ b/docs/manual/mod/mod_macro.html.en @@ -0,0 +1,303 @@ + + + + + +mod_macro - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_macro

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Provides macros within apache httpd runtime configuration files
Status:Base
Module Identifier:macro_module
Source File:mod_macro.c
Compatibility:Available in httpd 2.4.5 and later
+

Summary

+ + +

Provides macros within Apache httpd runtime configuration files, + to ease the process of creating numerous similar configuration + blocks. When the server starts up, the macros are expanded using the + provided parameters, and the result is processed as along with the + rest of the configuration file.

+ +
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Usage

+ +

Macros are defined using <Macro> blocks, which contain the portion of +your configuration that needs to be repeated, complete with variables +for those parts that will need to be substituted.

+ +

For example, you might use a macro to define a <VirtualHost> block, in order to define +multiple similar virtual hosts:

+ +
<Macro VHost $name $domain>
+<VirtualHost *:80>
+    ServerName $domain
+    ServerAlias www.$domain
+
+    DocumentRoot "/var/www/vhosts/$name"
+    ErrorLog "/var/log/httpd/$name.error_log"
+    CustomLog "/var/log/httpd/$name.access_log" combined
+</VirtualHost>
+</Macro>
+ + +

Macro names are case-insensitive, like httpd configuration +directives. However, variable names are case sensitive.

+ +

You would then invoke this macro several times to create virtual +hosts:

+ +
Use VHost example example.com
+Use VHost myhost hostname.org
+Use VHost apache apache.org
+
+UndefMacro VHost
+ + +

At server startup time, each of these Use +invocations would be expanded into a full virtualhost, as +described by the <Macro> +definition.

+ +

The UndefMacro directive is +used so that later macros using the same variable names don't result in +conflicting definitions.

+ +

A more elaborate version of this example may be seen below in the +Examples section.

+ +
top
+
+

Tips

+ +

Parameter names should begin with a sigil such as $, +%, or @, so that they are clearly +identifiable, and also in order to help deal with interactions with +other directives, such as the core Define directive. Failure to do so will +result in a warning. Nevertheless, you are encouraged to have a good +knowledge of your entire server configuration in order to avoid reusing +the same variables in different scopes, which can cause confusion.

+ +

Parameters prefixed with either $ or % are +not escaped. Parameters prefixes with @ are escaped in +quotes.

+ +

Avoid using a parameter which contains another parameter as a prefix, +(For example, $win and $winter) as this may +cause confusion at expression evaluation time. In the event of such +confusion, the longest possible parameter name is used.

+ +

If you want to use a value within another string, it is useful to +surround the parameter in braces, to avoid confusion:

+ +
<Macro DocRoot ${docroot}>
+    DocumentRoot "/var/www/${docroot}/htdocs"
+</Macro>
+ + +
top
+
+

Examples

+ + +

Virtual Host Definition

+ + +

A common usage of mod_macro is for the creation of +dynamically-generated virtual hosts.

+ +
## Define a VHost Macro for repetitive configurations
+
+<Macro VHost $host $port $dir>
+  Listen $port
+  <VirtualHost *:$port>
+
+    ServerName $host
+    DocumentRoot "$dir"
+
+    # Public document root
+    <Directory "$dir">
+        Require all granted
+    </Directory>
+
+    # limit access to intranet subdir.
+    <Directory "$dir/intranet">
+      Require ip 10.0.0.0/8
+    </Directory>
+  </VirtualHost>
+</Macro>
+
+## Use of VHost with different arguments.
+
+Use VHost www.apache.org 80 /vhosts/apache/htdocs
+Use VHost example.org 8080 /vhosts/example/htdocs
+Use VHost www.example.fr 1234 /vhosts/example.fr/htdocs
+ + + +

Removal of a macro definition

+ + +

It's recommended that you undefine a macro once you've used it. This +avoids confusion in a complex configuration file where there may be +conflicts in variable names.

+ +
<Macro DirGroup $dir $group>
+  <Directory "$dir">
+    Require group $group
+  </Directory>
+</Macro>
+
+Use DirGroup /www/apache/private private
+Use DirGroup /www/apache/server  admin
+
+UndefMacro DirGroup
+ + + + +
+
top
+

<Macro> Directive

+ + + + + + +
Description:Define a configuration file macro
Syntax: +<Macro name [par1 .. parN]> +... </Macro>
Context:server config, virtual host, directory
Status:Base
Module:mod_macro
+

The <Macro> directive controls the + definition of a macro within the server runtime configuration files. + The first argument is the name of the macro. + Other arguments are parameters to the macro. It is good practice to prefix + parameter names with any of '$%@', and not macro names + with such characters. +

+ +
<Macro LocalAccessPolicy>
+    Require ip 10.2.16.0/24
+</Macro>
+
+<Macro RestrictedAccessPolicy $ipnumbers>
+    Require ip $ipnumbers
+</Macro>
+ + +
+
top
+

UndefMacro Directive

+ + + + + + +
Description:Undefine a macro
Syntax:UndefMacro name
Context:server config, virtual host, directory
Status:Base
Module:mod_macro
+

The UndefMacro directive undefines a macro + which has been defined before hand.

+ +
UndefMacro LocalAccessPolicy
+UndefMacro RestrictedAccessPolicy
+ + +
+
top
+

Use Directive

+ + + + + + +
Description:Use a macro
Syntax:Use name [value1 ... valueN] +
Context:server config, virtual host, directory
Status:Base
Module:mod_macro
+

The Use directive controls the use of a macro. + The specified macro is expanded. It must be given the same number of + arguments as in the macro definition. The provided values are + associated to their corresponding initial parameters and are substituted + before processing.

+ +
Use LocalAccessPolicy
+...
+Use RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"
+ + +

is equivalent, with the macros defined above, to:

+ +
Require ip 10.2.16.0/24
+...
+Require ip 192.54.172.0/24 192.54.148.0/24
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_macro.html.fr.utf8 b/docs/manual/mod/mod_macro.html.fr.utf8 new file mode 100644 index 0000000..ed36ed2 --- /dev/null +++ b/docs/manual/mod/mod_macro.html.fr.utf8 @@ -0,0 +1,310 @@ + + + + + +mod_macro - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_macro

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Ce module permet d'utiliser des macros dans les fichiers +de configuration Apache.
Statut:Base
Identificateur de Module:macro_module
Fichier Source:mod_macro.c
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP Apache
+

Sommaire

+ + +

Ce module permet d'utiliser des macros dans les fichiers de + configuration à l'exécution du serveur HTTP Apache afin de faciliter + la création de nombreux blocs de configuration similaires. Quand le + serveur démarre, les macros sont exécutées avec les paramètres + fournis, et le résultat obtenu est traité au même titre que le reste + du fichier de configuration.

+ +
+ +
top
+
+

Utilisation

+

On définit une macro à l'aide des blocs <Macro> qui contiennent la portion de votre +configuration qui intervient de manière répétitive, y compris les +variables pour les parties qui devront être substituées.

+ +

Par exemple, vous pouvez utiliser une macro pour définir un bloc +<VirtualHost>, afin de pouvoir +définir de nombreux serveurs virtuels similaires :

+ +
<Macro VHost $name $domain>
+<VirtualHost *:80>
+    ServerName $domain
+    ServerAlias www.$domain
+
+    DocumentRoot "/var/www/vhosts/$name"
+    ErrorLog "/var/log/httpd/$name.error_log"
+    CustomLog "/var/log/httpd/$name.access_log" combined
+</VirtualHost>
+</Macro>
+ + +

Comme les directives de configuration httpd, les noms des macros sont +insensibles à la casse, à la différence des variables qui y sont, elles, +sensibles.

+ +

Vous pouvez alors invoquer cette macro autant de fois que vous le +voulez pour créer des serveurs virtuels

+ +
Use VHost example example.com
+Use VHost myhost hostname.org
+Use VHost apache apache.org
+
+UndefMacro VHost
+ + +

Au démarrage du serveur, chacune de ces invocations +Use sera remplacée par une définition de serveur +virtuel complète, comme décrit dans la définition de la +<Macro>.

+ +

La directive UndefMacro permet d'éviter les +conflits de définitions qui pourraient provenir de l'utilisation +ultérieure de macros contenant les mêmes noms de variables.

+ +

Vous trouverez une version plus élaborée de cet exemple plus loin +dans la section Exemples.

+ +
top
+
+

Conseils

+ +

Les noms de paramètres doivent commencer par un sigil tel que +$, %, ou @, de façon à ce qu'ils +soient clairement identifiables, mais aussi afin de faciliter les +interactions avec les autres directives, comme la directive de base +Define. Dans le cas contraire, vous +recevrez un avertissement. En tout état de cause, il est conseillé +d'avoir une bonne connaissance globale de la configuration du serveur, +afin d'éviter la réutilisation des mêmes variables à différents niveaux, +ce qui peut être à l'origine de confusions.

+ +

Les paramètres préfixés par $ ou % ne sont +pas échappés. Les paramètres préfixés par @ sont échappés +entre guillemets.

+ +

Evitez de préfixer un paramètre par le nom d'un autre paramètre (par +exemple, présence simultanée des paramètres $win et +$winter), car ceci peut introduire de la confusion lors de +l'évaluation des expressions. Si cela se produit, c'est le nom de +paramètre le plus long possible qui sera utilisé.

+ +

Si vous désirez insérer une valeur dans une chaîne, il est conseillé +de l'entourer d'accolades afin d'éviter toute confusion :

+ +
<Macro DocRoot ${docroot}>
+    DocumentRoot "/var/www/${docroot}/htdocs"
+</Macro>
+ + +
top
+
+

Exemples

+ + +

Définition de serveurs virtuels

+ + +

Un exemple typique d'utilisation de mod_macro est la +création dynamique de serveurs virtuels.

+ +
## Définition d'une macro VHost pour les configurations répétitives
+
+<Macro VHost $host $port $dir>
+  Listen $port
+  <VirtualHost *:$port>
+
+    ServerName $host
+    DocumentRoot "$dir"
+
+    # Racine des documents publique
+    <Directory "$dir">
+      Require all granted
+    </Directory>
+
+    # restriction d'accès au sous-répertoire intranet.
+    <Directory "$dir/intranet">
+      Require ip 10.0.0.0/8
+    </Directory>
+  </VirtualHost>
+</Macro>
+
+## Utilisation de la macro VHost avec différents arguments.
+
+Use VHost www.apache.org 80 /vhosts/apache/htdocs
+Use VHost example.org 8080 /vhosts/example/htdocs
+Use VHost www.example.fr 1234 /vhosts/example.fr/htdocs
+ + + +

Suppression d'une définition de macro

+ + +

Il est recommandé de supprimer la définition d'une macro après +l'avoir utilisée. Ceci permet d'éviter les confusions au sein d'un +fichier de configuration complexe où des conflits entre noms de +variables peuvent survenir.

+ +
<Macro DirGroup $dir $group>
+  <Directory "$dir">
+    Require group $group
+  </Directory>
+</Macro>
+
+Use DirGroup /www/apache/private private
+Use DirGroup /www/apache/server  admin
+
+UndefMacro DirGroup
+ + + + +
+
top
+

Directive <Macro>

+ + + + + + +
Description:Définition d'une macro dans un fichier de configuration
Syntaxe: +<Macro nom [par1 .. parN]> +... </Macro>
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_macro
+

La directive <Macro> permet de définir une macro + dans un fichier de configuration Apache. Le premier argument est le nom + de la macro, et les arguments suivants sont les paramètres. Il + est de bon aloi de préfixer les noms des paramètres d'une macro + avec un caractère parmi '$%@', et d'éviter d'en faire + de même avec les noms de macros. +

+ +
<Macro LocalAccessPolicy>
+  Require ip 10.2.16.0/24
+</Macro>
+
+<Macro RestrictedAccessPolicy $ipnumbers>
+   Require ip $ipnumbers
+</Macro>
+ + +
+
top
+

Directive UndefMacro

+ + + + + + +
Description:Supprime une macro
Syntaxe:UndefMacro nom
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_macro
+

La directive UndefMacro annule la définition + d'une macro qui doit avoir été définie auparavant.

+ +
UndefMacro LocalAccessPolicy
+UndefMacro RestrictedAccessPolicy
+ + +
+
top
+

Directive Use

+ + + + + + +
Description:Utilisation d'une macro
Syntaxe:Use nom [valeur1 ... valeurN] +
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_macro
+

La directive Use permet d'utiliser une macro. + La macro considérée est expansée. Son nombre d'arguments doit être égal au + nombre de paramètres précisés dans sa définition. Les valeurs passées en + argument sont attribuées aux paramètres correspondants et + substituées avant l'interprétation du texte de la macro.

+ +
Use LocalAccessPolicy
+...
+Use RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"
+ + +

est équivalent, avec les macros définies ci-dessus à :

+ +
Require ip 10.2.16.0/24
+...
+Require ip 192.54.172.0/24 192.54.148.0/24
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_md.html b/docs/manual/mod/mod_md.html new file mode 100644 index 0000000..d9dbf13 --- /dev/null +++ b/docs/manual/mod/mod_md.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_md.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_md.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_md.html.en b/docs/manual/mod/mod_md.html.en new file mode 100644 index 0000000..95c5e1b --- /dev/null +++ b/docs/manual/mod/mod_md.html.en @@ -0,0 +1,1484 @@ + + + + + +mod_md - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_md

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Managing domains across virtual hosts, certificate provisioning + via the ACME protocol +
Status:Experimental
Module Identifier:md_module
Source File:mod_md.c
Compatibility:Available in version 2.4.30 and later
+

Summary

+ +

+ This module manages common properties of domains for one or more virtual hosts. + Its serves two main purposes: for one, supervise/renew TLS certificates via the + ACME protocol (RFC 8555). + Certificates will be renewed by the module ahead of their expiration to account + for disruption in internet services. There are ways to monitor the status of all + certififcates managed this way and configurations that will run your own + notification commands on renewal, expiration and errors. +

+ Second, mod_md offers an alternate OCSP Stapling implementation. This works with + managed certificates as well as with certificates you configure yourself. OCSP + Stapling is a necessary component for any https: site, influencing page load + times and, depending on other setups, page availability. More in the + stapling section below. +

+ The default ACME Authority for managing certificates is + Let's Encrypt, but it is possible + to configure another CA that supports the protocol. +

+ +

Simple configuration example:

+ +

TLS in a VirtualHost context

+
MDomain example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    DocumentRoot htdocs/a
+
+    SSLEngine on
+    # no certificates specification
+</VirtualHost>
+ +

+ This setup will, on server start, contact + Let's Encrypt + to request a certificate for the domain. If Let's Encrypt can verify the ownership + of the domain, the module will retrieve the certificate and its chain, store it + in the local file system (see MDStoreDir) + and provide it, on next restart, to mod_ssl. +

+ This happens while the server is already running. All other hosts will continue + to work as before. While a certificate is not available, requests for the managed + domain will be answered with a '503 Service Unavailable'. +

+
+ +

Prerequisites

+

+ This module requires mod_watchdog to be loaded as well. +

+ Certificate sign-up and renewal with Let's Encrypt requires your server to be + reachable on port 80 (http:) and/or port 443 (https:) from the public internet. + (Unless your server is configured to use DNS for challenges - more on that under + 'wildcard certificates') +

+ The module will select from the methods offered by Let's Encrypt. Usually LE offers + challenges on both ports and DNS and Apache chooses a method available. +

+ To determine which one is available, the module looks at the ports + Apache httpd listens on. If those include port 80, it assumes that the + http: challenge (named http-01) is available. If the server listens + on port 443, the https: challenge (named tls-alpn-01) is also added to + the list. (And if MDChallengeDns01 + is configured, the challenge dns-01 is added as well.) +

+ If your setup is not so straight forward, there are two methods available + to influence this. First, look at MDPortMap + if the server is behind a portmapper, such as a firewall. Second, you may + override the module's guesswork completely by configuring + MDCAChallenges directly. +

+
+ +

https: Challenges

+

+ For domain verification via the TLS protocol `tls-alpn-01` is the name + of the challenge type. It requires the Apache server to listen on port 443 + (see MDPortMap if you map that port + to something else). +

+ Let's Encrypt will open a TLS connection to Apache using the special indicator + `acme-tls/1` (this indication part of TLS is called ALPN, therefore the name + of the challenge. ALPN is also used by browsers to request a HTTP/2 connection). +

+ As with the HTTP/2 protocol, to allow this, you configure: +

+
Protocols h2 http/1.1 acme-tls/1
+ +

+ And the `tls-alpn-01` challenge type is available. +

+
+ +

Wildcard Certificates

+

+ Wildcard certificates are possible, but not straight-forward to use out of + the box. Let's Encrypt requires the `dns-01` challenge verification + for those. No other is considered good enough. +

+ The difficulty here is that Apache cannot do that on its own. As the name implies, `dns-01` + requires you to show some specific DNS records for your domain that contain + some challenge data. So you need to _write_ your domain's DNS records. +

+ If you know how to do that, you can integrated this with mod_md. Let's + say you have a script for that in `/usr/bin/acme-setup-dns` you configure + Apache with: +

+
MDChallengeDns01 /usr/bin/acme-setup-dns
+ +

+ and Apache will call this script when it needs to setup/teardown a DNS challenge + record for a domain. +

+ Assuming you want a certificate for `*.mydomain.com`, mod_md will call: +

+
/usr/bin/acme-setup-dns setup mydomain.com challenge-data
+# this needs to remove all existing DNS TXT records for 
+# _acme-challenge.mydomain.com and create a new one with 
+# content "challenge-data"
+ +

+ and afterwards it will call +

+
/usr/bin/acme-setup-dns teardown mydomain.com
+# this needs to remove all existing DNS TXT records for 
+# _acme-challenge.mydomain.com
+ +
+ +

Monitoring

+

+ Apache has a standard module for monitoring: mod_status. + mod_md contributes a section and makes monitoring your + domains easy. +

+ You see all your MDs listed alphabetically, the domain names they contain, + an overall status, expiration times and specific settings. The settings + show your selection of renewal times (or the default), the CA that is used, + etc. +

+ The 'Renewal' column will show activity and error descriptions for certificate + renewals. This should make life easier for people to find out if everything + is all right or what went wrong. +

+ If there is an error with an MD it will be shown here as well. This let's + you assess problems without digging through your server logs. +

+ There is also a new 'md-status' handler available to give you the MD information + from 'server-status' in JSON format. You configure it as +

+
<Location "/md-status">
+  SetHandler md-status
+</Location>
+ +

+ on your server. As with 'server-status' you will want to add + authorization for this. +

+ If you just want to check the JSON status of a specific domain, simply append + that to your status url: +

+
> curl https://<yourhost>/md-status/another-domain.org
+{
+  "name": "another-domain.org",
+  "domains": [
+    "another-domain.org",
+    "www.another-domain.org"
+  ],
+  ...
+ +

+ This JSON status also shows a log of activities when domains are renewed: +

+
{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "The certificate for the managed domain has been renewed successfully and can be used. A graceful server restart now is recommended."
+},{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "Retrieving certificate chain for test-901-003-1560955549.org"
+},{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "Waiting for finalized order to become valid"
+},{
+"when": "Wed, 19 Jun 2019 14:45:50 GMT",
+"type": "progress", "detail": "Submitting CSR to CA for test-901-003-1560955549.org"
+},
+...
+ +

+ You will also find this information in the file `job.json` in your staging and, + when activated, domains directory. This allows you to inspect these at + any later point in time as well. +

+ In addition, there is MDCertificateStatus which + gives access to relevant certificate information in JSON format. +

+
+ +

Stapling

+

+ If you want to try the stapling in one Managed Domain alone at first, + configure: +

+
<MDomain mydomain.net>
+  MDStapling on
+</MDomain>
+ +

+ and use the 'server-status' and/or MDMessageCmd to see how it operates. You will + see if Stapling information is there, how long it is valid, from where it came and + when it will be refreshed. +

+ If this all works to your satisfaction, you can switch it on for all your + certificates or just your managed ones. +

+ The existing stapling implementation by mod_ssl is used by many sites + for years. There are two main differences between the mod_ssl and mod_md + one: +

+
    +
  1. On demand vs. scheduled: mod_ssl retrieves the stapling information + when it is requested, e.g. on a new connection. mod_md retrieves it + right at server start and after 2/3rds of its lifetime.
  2. +
  3. In memory vs. persisted: mod_ssl can persist this + information, but most example configurations use a memory cache. mod_md + always stores in the file system.
  4. +
+

+ If you are unlucky and restart your server during an outage of your CA's + OCSP service, your users may no longer reach your sites. Without persistence + your server cannot provide the client with the data and the client browser + cannot get it as well, since the OCSP service is not responding. +

+ The implementation in mod_md will have persisted it, load it again after + restart and have it available for incoming connections. A day or two before + this information expires, it will renew it, making it able to cope with + a long OCSP service downtime. +

+ Due to backward compatibility, the existing implementation in mod_ssl could + not be changed drastically. For example, mod_ssl is unable to add a dependency + to mod_watchdog without braking many existing installations (that do not load it). +

+
+ +

tailscale

+

+ Since version 2.4.14 of the module, you can use it to get certificates + for your tailscale domains. +

+
<MDomain mydomain.some-thing.ts.net>
+  MDCertificateProtocol tailscale
+  MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock",
+</MDomain>
+ +

+ Tailscale provides secure networking between your machines, where ever + they are, and can provide domain names in the *.ts.net space for them. + For those, it will then provide Let's Encrypt certificates as well, so + you can open these domains in your browser securely. +

+

+ The directives listed above tell Apache to contact the local tailscale + demon for obtaining and renewing certificates. This will only work for + the domain name that tailscale assigns to your machine. +

+

+ Otherwise, these certificates work exactly like the ones retrieved + via the ACME protocol from Lets Encrypt. You see them in status reporting + and MDMessageCmd directives are executed for them as well. +

+

+ More details are + available at the mod_md github documentation. +

+

+ Note that this feature only works on machines where the tailscale + demon provides a unix domain socket. This, so far, seems only the + case on *nix systems. +

+
+ +
+ + +
top
+

MDActivationDelay Directive

+ + + + + + + +
Description:
Syntax:MDActivationDelay duration
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.42 and later
+

+

+ +
+
top
+

MDBaseServer Directive

+ + + + + + + +
Description:Control if base server may be managed or only virtual hosts.
Syntax:MDBaseServer on|off
Default:MDBaseServer off
Context:server config
Status:Experimental
Module:mod_md
+

+ Controls if the base server, the one outside all VirtualHosts should be managed by + mod_md or not. By default, it will not. For the very reason that + it may have confusing side-effects. It is recommended that you have virtual hosts + for all managed domains and do not rely on the global, fallback server configuration. +

+ +
+
top
+

MDCAChallenges Directive

+ + + + + + + +
Description:Type of ACME challenge used to prove domain ownership.
Syntax:MDCAChallenges name [ name ... ]
Default:MDCAChallenges tls-alpn-01 http-01 dns-01
Context:server config
Status:Experimental
Module:mod_md
+

+ Sets challenge types (in order of preference) when proving domain ownership. + Supported by the module are the challenge methods 'tls-alpn-01', 'dns-01' + and 'http-01'. The module will look at the overall configuration of the server + to find out which methods can be used. +

+ If the server listens on port 80, for example, the 'http-01' method is available. + The prerequisite for 'dns-01' is a configured MDChallengeDns01 command. + 'tls-alpn-01' is described above in 'https: Challenges'. +

+ This auto selection works for most setups. But since Apache is a very powerful + server with many configuration options, the situation is not clear for all + possible cases. For example: it may listen on multiple IP addresses where some + are reachable on `https:` and some not. +

+ If you configure MDCAChallenges directly, this auto selection is disabled. + Instead, the module will use the configured challenge list when talking to + the ACME server (a challenge type must be offered by the server as well). + This challenges are examined in the order specified. +

+ +
+
top
+

MDCertificateAgreement Directive

+ + + + + + +
Description:You confirm that you accepted the Terms of Service of the Certificate + Authority.
Syntax:MDCertificateAgreement accepted
Context:server config
Status:Experimental
Module:mod_md
+

When you use mod_md to obtain a certificate, you become a customer of the CA (e.g. Let's Encrypt). That means you need to read and agree to their Terms of Service, + so that you understand what they offer and what they might exclude or require from you. + mod_md cannot, by itself, agree to such a thing. +

+ +
+
top
+

MDCertificateAuthority Directive

+ + + + + + + +
Description:The URL(s) of the ACME Certificate Authority to use.
Syntax:MDCertificateAuthority url
Default:MDCertificateAuthority letsencrypt
Context:server config
Status:Experimental
Module:mod_md
+

+ The URL(s) where the CA offers its service. + Instead of the actual URL, you may use 'letsencrypt' or 'buypass'. +

+ If you configure more than one URL, each one is tried in a round-robin + fashion after a number of failures. You can configure how quickly or + delayed that happens via the MDRetryDelay and + MDRetryFailover directives. The default setting + makes a failover after about half a day of trying. +

+ All other settings apply to each of these URLs. It is therefore + not possible to have two with different + MDExternalAccountBindings, for example. +

+ For testing, CAs commonly offer a second service URL. + The 'test' service does not give certificates valid in a browser, + but are more relaxed in regard to rate limits. + This allows for verfication of your own setup before switching + to the production service URL. +

+

LE Test Setup

MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory
+
+ +
+
top
+

MDCertificateCheck Directive

+ + + + + + + +
Description:
Syntax:MDCertificateCheck name url
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.42 and later
+

+

+ +
+
top
+

MDCertificateFile Directive

+ + + + + + +
Description:Specify a static certificate file for the MD.
Syntax:MDCertificateFile path-to-pem-file
Context:server config
Status:Experimental
Module:mod_md
+

+ This is used inside a MDomainSet and specifies + the file holding the certificate chain for the Managed Domain. The matching + key is specified via MDCertificateKeyFile. +

+

Example

<MDomain mydomain.com>
+  MDCertificateFile /etc/ssl/my.cert
+  MDCertificateKeyFile /etc/ssl/my.key
+</MDomain>
+
+ +

+ This is that equivalent of the mod_ssl + SSLCertificateFile directive. It + has several uses. +

+ If you want to migrate an existing domain, using static files, to + automated Let's Encrypt certificates, for one. You define the + MDomainSet, add the files here and remove + the SSLCertificateFile from + your VirtualHosts. +

+ This will give you the same as before, with maybe less repeating lines + in your configuration. Then you can add MDRenewMode + 'always' to it and the module will get a new certificate before + the one from the file expires. When it has done so, you remove the + MDCertificateFile and reload the server. +

+ Another use case is that you renew your Let's Encrypt certificates with + another ACME clients, for example the excellent + certbot. Then let your MDs point + to the files from certbot and have both working together. +

+ +
+
top
+

MDCertificateKeyFile Directive

+ + + + + + +
Description:Specify a static private key for for the static cerrtificate.
Syntax:MDCertificateKeyFile path-to-file
Context:server config
Status:Experimental
Module:mod_md
+

+ This is used inside a MDomainSet and specifies + the file holding the private key for the Managed Domain. The matching + certificate is specified via MDCertificateFile. +

+ This is that equivalent of the mod_ssl + SSLCertificateKeyFile directive. +

+ +
+
top
+

MDCertificateMonitor Directive

+ + + + + + + +
Description:The URL of a certificate log monitor.
Syntax:MDCertificateMonitor name url
Default:MDCertificateMonitor crt.sh https://crt.sh?q=
Context:server config
Status:Experimental
Module:mod_md
+

+ This is part of the 'server-status' HTML user interface and has nothing to + do with the core functioning itself. It defines the link offered on that + page for easy checking of a certificate monitor. The SHA256 fingerprint + of the certificate is appended to the configured url. +

+ Certificate Monitors offer supervision of Certificate Transparency (CT) + Logs to track the use of certificates for domains. The least you may see + is that Let's Encrypt (or whichever CA you have configured) has entered + your certificates into the CTLogs. +

+ Caveat: certificate logs update and monitor's intakes of those + updates suffer some delay. This varies between logs and monitors. A + brand new certificate will not be known immediately. +

+ +
+
top
+

MDCertificateProtocol Directive

+ + + + + + + +
Description:The protocol to use with the Certificate Authority.
Syntax:MDCertificateProtocol protocol
Default:MDCertificateProtocol ACME
Context:server config
Status:Experimental
Module:mod_md
+

+ Specifies the protocol to use. Currently, only ACME is supported. +

+ +
+
top
+

MDCertificateStatus Directive

+ + + + + + + +
Description:Exposes public certificate information in JSON.
Syntax:MDCertificateStatus on|off
Default:MDCertificateStatus on
Context:server config
Status:Experimental
Module:mod_md
+

+ When enabled, a resources is available in Managed Domains at + 'https://domain/.httpd/certificate-status' that returns a JSON + document list key properties of the current and of a renewed + certificate - when available. +

+

Example

{
+  "valid-until": "Thu, 29 Aug 2019 16:06:35 GMT",
+  "valid-from": "Fri, 31 May 2019 16:06:35 GMT",
+  "serial": "03039C464D454EDE79FCD2CAE859F668F269",
+  "sha256-fingerprint": "1ff3bfd2c7c199489ed04df6e29a9b4ea6c015fe8a1b0ce3deb88afc751e352d"
+  "renewal" : { ...renewed cert information... }
+}
+
+ +
+
top
+

MDChallengeDns01 Directive

+ + + + + + +
Description:
Syntax:MDChallengeDns01 path-to-command
Context:server config
Status:Experimental
Module:mod_md
+

+ Define a program to be called when the `dns-01` challenge needs to be setup/torn down. + The program is given the argument `setup` or `teardown` followed by the domain name. + For `setup` the challenge content is additionally given. +

+ You do not need to specify this, as long as a 'http:' or 'https:' challenge + method is possible. However, Let's Encrypt makes 'dns-01' the only + challenge available for wildcard certificates. If you require + one of those, you need to configure this. +

+ It is now possible to use this directive inside a MDomain + section to specify a specific command for that domain. This allows to configure + a script specific for the particular DNS provider involved. +

+ See the section about wildcard certificates above for more details. +

+ +
+
top
+

MDContactEmail Directive

+ + + + + + + +
Description:
Syntax:MDContactEmail address
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.42 and later
+

+ The ACME protocol requires you to give a contact url when you sign up. Currently, + Let's Encrypt wants an email address (and it will use it to inform you about renewals + or changed terms of service). mod_md uses the MDContactEmail directive email in + your Apache configuration, so please specify the correct address there. + If MDContactEmail is not present, mod_md will use the + ServerAdmin directive. +

+ +
+
top
+

MDDriveMode Directive

+ + + + + + + +
Description:former name of MDRenewMode.
Syntax:MDDriveMode always|auto|manual
Default:MDDriveMode auto
Context:server config
Status:Experimental
Module:mod_md
+

This directive exists for backward compatibility as the old name for + MDRenewMode. +

+ +
+
top
+

MDExternalAccountBinding Directive

+ + + + + + + + +
Description:
Syntax:MDExternalAccountBinding key-id hmac-64 | none | file
Default:MDExternalAccountBinding none
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.52 and later
+

+ Configure values for ACME "External Account Binding", a feature + of the ACME standard that allows clients to bind registrations + to an existing customer account on ACME servers. +

+

+ Let's Encrypt does not require those, but other ACME CAs do. + Check with your ACME CA if you need those and how to obtain the + values. They are two strings, a key identifier and a base64 encoded + 'hmac' value. +

+

+ You can configure those globally or for a specific MDomain. Since + these values allow anyone to register under the same account, it is + adivsable to give the configuration file restricted permissions, + e.g. root only. +

+

+ The value can also be taken from a JSON file, to keep more open + permissions on the server configuration and restrict the ones on that + file. The JSON itself is: +

+

EAB JSON Example file

{"kid": "kid-1", "hmac": "zWND..."}
+
+

+ If you change EAB values, the new ones will be used when the next + certificate renewal is due. +

+ +
+
top
+

MDHttpProxy Directive

+ + + + + + +
Description:Define a proxy for outgoing connections.
Syntax:MDHttpProxy url
Context:server config
Status:Experimental
Module:mod_md
+

Use a http proxy to connect to the MDCertificateAuthority. Define this + if your webserver can only reach the internet with a forward proxy. +

+ +
+
top
+

MDMember Directive

+ + + + + + +
Description:Additional hostname for the managed domain.
Syntax:MDMember hostname
Context:server config
Status:Experimental
Module:mod_md
+

+ Instead of listing all dns names on the same line, you may use + MDMember to add such names + to a managed domain. +

+

Example

<MDomain example.org>
+    MDMember www.example.org
+    MDMember mail.example.org
+</MDomain>
+
+

+ If you use it in the global context, outside a specific MD, you can only + specify one value, 'auto' or 'manual' as the default for all other MDs. See + MDomain for a + description of these special values. +

+ +
+
top
+

MDMembers Directive

+ + + + + + + +
Description:Control if the alias domain names are automatically added.
Syntax:MDMembers auto|manual
Default:MDMembers auto
Context:server config
Status:Experimental
Module:mod_md
+

Defines if the ServerName and + ServerAlias values of a VirtualHost + are automatically added to the members of a Managed Domain or not. +

+ +
+
top
+

MDMessageCmd Directive

+ + + + + + +
Description:Handle events for Manage Domains
Syntax:MDMessageCmd path-to-cmd optional-args
Context:server config
Status:Experimental
Module:mod_md
+

+ This command gets called when one of the following events happen for + a Managed Domain: "renewed", "installed", "expiring", "errored". The command may + be invoked for more than these in the future and ignore events + it is not prepared to handle. +

+ This is the more flexible companion to MDNotifyCmd. +

+

Example

MDMessageCmd /etc/apache/md-message
+

+ +# will be invoked when a new certificate for mydomain.org is available as: +/etc/apache/md-message renewed mydomain.com +

+

+ The program should not block, as the module will wait for it to finish. A + return code other than 0 is regarded as an error. +

+ 'errored' is no immediate cause for concern since renewal is attempted + early enough to allow the internet to come back. This is reported at most + once per hour. +

+ 'expiring' should be taken serious. It is issued when the + MDWarnWindow is reached. By default this is + 10% of the certificate lifetime, so for Let's Encrypt this currently + means 9 days before it expires. The warning is repeated at most once + a day. +

+ 'renewed' means that a new certificate has been obtained and is stored + in the 'staging' area in the MD store. It will be activated on the next + server restart/reload. +

+ 'installed' is triggered when a new certificate has been transferred from + staging into the domains location in MD store. This happens at server + startup/reload. Different to all other invocations, MDMessageCmd is run + with root permissions (on *nix systems) and has access to the certificate + files (and keys). Certificates needed for other applications or + in different formats can be processed on this event. +

+ 'renewing' event is triggered before starting renew process for the managed + domain. Should the command return != 0 for this reason, renew will be + aborted and repeated on next cycle. Some cluster setups use this to + allow renewals to run only on a single node. +

+ 'challenge-setup:type:domain' event is triggered when the challenge data for a domain has + been created. This is invoked before the ACME server is told to check for it. + The type is one of the ACME challenge types. This is invoked for every + DNS name in a MDomain. Cluster setups may use this event to distribute + challenge files to all nodes in a cluster. +

+ ocsp-errored happens when MDStapling + is enabled for a domain, this indicates + that an error was encountered retrieving the OCSP response from the + Certificate Authority. mod_md will continue trying. +

+ +
+
top
+

MDMustStaple Directive

+ + + + + + + +
Description:Control if new certificates carry the OCSP Must Staple flag.
Syntax:MDMustStaple on|off
Default:MDMustStaple off
Context:server config
Status:Experimental
Module:mod_md
+

Defines if newly requested certificate should have the OCSP Must Staple flag + set or not. If a certificate has this flag, the server is required to send a + OCSP stapling response to every client. This only works if you configure + mod_ssl to generate this (see SSLUseStapling + and friends). +

+ +
+
top
+

MDNotifyCmd Directive

+ + + + + + +
Description:Run a program when a Managed Domain is ready.
Syntax:MDNotifyCmd path [ args ]
Context:server config
Status:Experimental
Module:mod_md
+

+ The configured executable is run when a Managed Domain has signed up or + renewed its certificate. It is given the name of the processed MD as + additional arguments (after the parameters specified here). It should + return status code 0 to indicate that it has run successfully. +

+ +
+
top
+

MDomain Directive

+ + + + + + +
Description:Define list of domain names that belong to one group.
Syntax:MDomain dns-name [ other-dns-name... ] [auto|manual]
Context:server config
Status:Experimental
Module:mod_md
+

+ All the names in the list are managed as one Managed Domain (MD). + mod_md will request one single certificate that is valid for all these names. This + directive uses the global settings (see other MD directives below). If you + need specific settings for one MD, use + the <MDomainSet>. +

+ There are 2 additional settings that are necessary for a Managed Domain: + a contact Email address (via MDContactEmail or ServerAdmin) + and MDCertificateAgreement. + The mail address of ServerAdmin + is used to register at the CA (Let's Encrypt by default). + The CA may use it to notify you about + changes in its service or status of your certificates. +

+ The second setting, MDCertificateAgreement, + should have the value "accepted". By specifying this, you confirm that your + accept the Terms of Service of the CA. +

+

Example

MDContactEmail admin@example.org
+MDCertificateAgreement accepted
+MDomain example.org www.example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    DocumentRoot htdocs/root
+
+    SSLEngine on
+</VirtualHost>
+
+<VirtualHost *:443>
+    ServerName www.example.org
+    DocumentRoot htdocs/www
+
+    SSLEngine on
+</VirtualHost>
+
+

+ There are two special names that you may use in this directive: 'manual' + and 'auto'. This determines if a Managed Domain shall have exactly the + name list as is configured ('manual') or offer more convenience. With 'auto' + all names of a virtual host are added to a MD. Conveniently, 'auto' is also + the default. +

+

Example

MDomain example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    ServerAlias www.example.org
+    DocumentRoot htdocs/root
+
+    SSLEngine on
+</VirtualHost>
+
+MDomain example2.org auto
+
+<VirtualHost *:443>
+    ServerName example2.org
+    ServerAlias www.example2.org
+    ...
+</VirtualHost>
+
+

+ In this example, the domain 'www.example.org' is automatically added to + the MD 'example.org'. Similarly for 'example2.org' where 'auto' is configured + explicitly. Whenever you add more ServerAlias names to this + virtual host, they will be added as well to the Managed Domain. +

+ If you prefer to explicitly declare all the domain names, use 'manual' mode. + An error will be logged if the names do not match with the expected ones. +

+ +
+
top
+

<MDomainSet> Directive

+ + + + + + +
Description:Container for directives applied to the same managed domains.
Syntax:<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>
Context:server config
Status:Experimental
Module:mod_md
+

+ This is the directive MDomain + with the added possibility to add setting just for this MD. In fact, + you may also use "<MDomain ..>" as a shortcut. +

+

+ This allows you to configure an MD that uses another Certificate Authority, + have other renewal requirements, etc. +

+

Example

<MDomain sandbox.example.org>
+    MDCertificateAuthority   https://someotherca.com/ACME
+</MDomain>
+
+

+ A common use case is to configure https: requirements separately for + your domains. +

+

Example

<MDomain example.org>
+    MDRequireHttps temporary
+</MDomain>
+
+ +
+
top
+

MDPortMap Directive

+ + + + + + + +
Description:Map external to internal ports for domain ownership verification.
Syntax:MDPortMap map1 [ map2 ]
Default:MDPortMap http:80 https:443
Context:server config
Status:Experimental
Module:mod_md
+

+ The ACME protocol provides two methods to verify domain ownership via + HTTP: one that uses 'http:' urls (port 80) and one for 'https:' urls + (port 443). If your server is not reachable by at least one + of the two, ACME may only work by configuring your DNS server, + see MDChallengeDns01. +

+ On most public facing servers, 'http:' arrives on port 80 and + 'https:' on port 443. The module checks the ports your Apache server + is listening on and assumes those are available. This means that + when your server does not listen on port 80, it assumes that + 'http:' requests from the internet will not work. +

+ This is a good guess, but it may be wrong. For example, your Apache + might listen to port 80, but your firewall might block it. 'http:' + is only available in your intranet. So, the module will falsely assume + that Let's Encrypt can use 'http:' challenges with your server. This + will then fail, because your firewall will drop those. +

+

Example

MDPortMap http:- https:8433
+
+

+ The above example shows how you can specify that 'http:' requests from + the internet will never arrive. In addition it says that 'https:' requests + will arrive on local port 8433. +

+ This is necessary if you have port forwarding in place, your server may be + reachable from the Internet on port 443, but the local port that httpd uses is + another one. Your server might only listen on ports 8443 and 8000, but be reached + on ports 443 and 80 (from the internet). +

+ +
+
top
+

MDPrivateKeys Directive

+ + + + + + + +
Description:Set type and size of the private keys generated.
Syntax:MDPrivateKeys type [ params... ]
Default:MDPrivateKeys RSA 2048
Context:server config
Status:Experimental
Module:mod_md
+

+ Defines what kind of private keys are generated for a managed domain and with + what parameters. You can have more than one private key type configured and + the module will obtain a certificate for each key. +

+ For example, you may configure an RSA and an Elliptic Curve (EC) key, so + that 2 certificates are created for a domain. On a client connection, the first + one supported by the client will then be used. +

+ Since EC keys and certificates are smaller, you might want to offer + them first for all compatible (modern) clients. This can enable + faster handshakes. Add an RSA key type to support older clients. +

+

Example

MDPrivateKeys secp256r1 rsa3072
+
+

+ The EC types supported depend on the CA you use. For Let's encrypt + the supported curves include 'secp256r1' and 'secp384r1'. +

+ Each key and certificate type is stored in its own file in the + MD store. The key type is part of the file name with some backward + compatible naming for RSA certificates. So you may continue sharing + these files with other applications. +

+ Please note that this setting only has an effect on new keys. Any existing + private key you have remains unaffected. Also, this only affects private keys + generated for certificates. ACME account keys are unaffected by this. +

+ +
+
top
+

MDRenewMode Directive

+ + + + + + + +
Description:Controls if certificates shall be renewed.
Syntax:MDRenewMode always|auto|manual
Default:MDRenewMode auto
Context:server config
Status:Experimental
Module:mod_md
+

+ In the default 'auto' mode, the module will do what makes most sense + of each Managed Domain. For a domain without any certificates, it will + obtain them from the Certificate Authority. +

+

+ However, if you have defined an MD that is not used by any of Apache's + VirtualHosts, it will not bother. And for MDs with static certificate + files (see MDCertificateFile), + it assumes that you have your own source, and will not renew them either. +

+

+ You can override this default in either way. If you specify 'always', + the module will renew certificates for an MD, regardless if the + domains are in use or if there are static files. +

+

+ For the opposite effect, configure 'manual' and no renewal will + be attempted. +

+ +
+
top
+

MDRenewWindow Directive

+ + + + + + + +
Description:Control when a certificate will be renewed.
Syntax:MDRenewWindow duration
Default:MDRenewWindow 33%
Context:server config
Status:Experimental
Module:mod_md
+

+ If the validity of the certificate falls below duration, mod_md + will get a new signed certificate. +

+ Normally, certificates are valid for around 90 days and mod_md will renew + them the earliest 33% of their complete lifetime before they expire (so for + 90 days validity, 30 days before it expires). If you think this is not what + you need, you can specify either the exact time, as in: +

+

Example

# 21 days before expiry
+MDRenewWindow 21d 
+# 30 seconds (might be close)
+MDRenewWindow 30s
+# 10% of the cert lifetime
+MDRenewWindow 10%
+
+

When in auto drive mode, the module will check every 12 hours at least + what the status of the managed domains is and if it needs to do something. + On errors, for example when the CA is unreachable, it will initially retry + after some seconds. Should that continue to fail, it will back off to a + maximum interval of hourly checks. +

+ +
+
top
+

MDRequireHttps Directive

+ + + + + + + +
Description:Redirects http: traffic to https: for Managed Domains.
Syntax:MDRequireHttps off|temporary|permanent
Default:MDRequireHttps off
Context:server config
Status:Experimental
Module:mod_md
+

This is a convenience directive to ease http: to https: migration of + your Managed Domains. With: +

+

Example

MDRequireHttps temporary
+
+

you announce that you want all traffic via http: URLs to be redirected + to the https: ones, for now. This is safe and you can remove this again at + any time. +

+ The following has consequences: if you want client to no longer use the + http: URLs, configure: +

+

Permanent (for at least half a year!)

MDRequireHttps permanent
+
+

This does two things: +

+
    +
  1. All request to the http: resources are redirected to the + same url with the https: scheme using the 301 + status code. This tells clients that this is intended to be forever and + the should update any links they have accordingly. +
  2. +
  3. All answers to https: requests will carry the header + Strict-Transport-Security with a life time of half a year. + This tells the browser that it never (for half a year) shall use http: + when talking to this domain name. Browsers will, after having seen this, refuse + to contact your unencrypted site. This prevents malicious middleware to + downgrade connections and listen/manipulate the traffic. Which is good. But + you cannot simply take it back again. +
  4. +
+

You can achieve the same with mod_alias and some + Redirect configuration, + basically. If you do it yourself, please make sure to exclude the paths + /.well-known/* from your redirection, otherwise mod_md + might have trouble signing on new certificates. +

+

If you set this globally, it applies to all managed domains. If you want + it for a specific domain only, use: +

+

Example

<MDomain xxx.yyy>
+  MDRequireHttps temporary
+</MDomain>
+
+ +
+
top
+

MDRetryDelay Directive

+ + + + + + + + +
Description:
Syntax:MDRetryDelay duration
Default:MDRetryDelay 5s
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.54 and later
+

+ The amount of time to wait after an error before trying + to renew a certificate again. This duration is doubled after + each consecutive error with a maximum of 24 hours. +

+

+ It is kept separate for each certificate renewal. Meaning an error + on one MDomain does not delay the renewals of other domains. +

+ +
+
top
+

MDRetryFailover Directive

+ + + + + + + + +
Description:
Syntax:MDRetryFailover number
Default:MDRetryFailover 13
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.54 and later
+

+ The number of consecutive errors on renewing a certificate before + another CA is selected. This only applies to configurations that + have more than one MDCertificateAuthority + specified. +

+ +
+
top
+

MDServerStatus Directive

+ + + + + + + +
Description:Control if Managed Domain information is added to server-status.
Syntax:MDServerStatus on|off
Default:MDServerStatus on
Context:server config
Status:Experimental
Module:mod_md
+

+ Apaches 'server-status' handler allows you configure a resource to monitor + what is going on. This includes now a section listing all Managed Domains + with the DNS names, renewal status, lifetimes and main properties. +

+ You can switch that off using this directive. +

+ +
+
top
+

MDStapleOthers Directive

+ + + + + + + + +
Description:Enable stapling for certificates not managed by mod_md.
Syntax:MDStapleOthers on|off
Default:MDStapleOthers on
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.42 and later
+

+ This setting only takes effect when MDStapling is enabled. It controls + if mod_md should also provide stapling information for certificates + that are not directly controlled by it, e.g. renewed via an ACME CA. +

+ +
+
top
+

MDStapling Directive

+ + + + + + + + +
Description:Enable stapling for all or a particular MDomain.
Syntax:MDStapling on|off
Default:MDStapling off
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.42 and later
+

+ mod_md offers an implementation for providing OCSP stapling information. + This is an alternative to the one provided by mod_ssl. For backward + compatibility, this is disabled by default. +

+ The stapling can be switched on for all certificates on the server or + for an individual MDomain. + This will replace any stapling configuration + in mod_ssl for these hosts. When disabled, the mod_ssl stapling + will do the work (if it is itself enabled, of course). This allows for + a gradual shift over from one implementation to the other. +

+ The stapling of mod_md will also work for domains where the certificates + are not managed by this module (see MDStapleOthers for how to control this). + This allows use of the new stapling without using any ACME certificate + management. +

+ +
+
top
+

MDStaplingKeepResponse Directive

+ + + + + + + + +
Description:Controls when old responses should be removed.
Syntax:MDStaplingKeepResponse duration
Default:MDStaplingKeepResponse 7d
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.42 and later
+

+ This time window specifies when OCSP response data used in stapling + shall be removed from the store again. Response information older than + 7 days (default) is deleted on server restart/reload. This keeps the store + from growing when certificates are renewed/reconfigured frequently. +

+

+ +
+
top
+

MDStaplingRenewWindow Directive

+ + + + + + + + +
Description:Control when the stapling responses will be renewed.
Syntax:MDStaplingRenewWindow duration
Default:MDStaplingRenewWindow 33%
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.42 and later
+

+ If the validity of the OCSP response used in stapling falls below duration, + mod_md will obtain a new OCSP response. +

+ The CA issuing a certificate commonly also operates the OCSP responder + service and determines how long its signed response about the validity + of a certificate are itself valid. The longer a response is valid, the longer + it can be cached which mean better overall performance for everyone. + The shorter the life time, the more rapidly certificate revocations + spread to clients. Also, service reliability is a consideration. +

+ By adjusting the stapling renew window you can control parts of this yourself. + If you make the renew time short (e.g. a short time before the current + information expires), you gain maximum cache time. But a service outage + (down for maintenance, for example) will affect you. If you renew a long + time before expiry, updates will be made more frequent, cause more load + on the CA server infrastructure and also more coordination between + the child processes of your server. +

+ The default is chosen as 33%, which means renewal is started when only + a third of the response lifetime is left. For a CA that issues OCSP + responses with lifetime of 3 days, this means 2 days of caching and 1 day + for renewal attempts. A service outage would have to last full 24 hours + to affect your domains. +

+ Setting an absolute renew window, like `2d` (2 days), is also possible. +

+ +
+
top
+

MDStoreDir Directive

+ + + + + + + +
Description:Path on the local file system to store the Managed Domains data.
Syntax:MDStoreDir path
Default:MDStoreDir md
Context:server config
Status:Experimental
Module:mod_md
+

+ Defines where on the local file system the Managed Domain data is stored. This is + an absolute path or interpreted relative to the server root. The default will create + a directory 'md' in your server root. +

+ If you move this and have already data, be sure to move/copy the data first to + the new location, reconfigure and then restart the server. If you reconfigure + and restart first, the server will try to get new certificates that it thinks + are missing. +

+ +
+
top
+

MDStoreLocks Directive

+ + + + + + + + +
Description:
Syntax:MDStoreLocks on|off|duration
Default:MDStoreLocks off
Context:server config
Status:Experimental
Module:mod_md
Compatibility:Available in version 2.4.55 and later
+

+ Enable this to use a lock file on server startup when + MDStoreDir is synchronized with the server + configuration and renewed certificates are activated. +

+ Locking is intended for setups in a cluster that have a shared + file system for MDStoreDir. It will protect the activation of + renewed certificates when cluster nodes are restarted/reloaded + at the same time. Under the condition that the shared file + system does support file locking. +

+ The default duration to obtain the lock is 5 seconds. If the log + cannot be obtained, an error is logged and the server startup will + continue. This may result in a cluster node to still use the + previous certificate afterwards. +

+ A higher timeout will reduce that likelihood, but may delay server + startups/reloads in case the locks are not properly handled in + the underlying file system. A lock should only be held by a + httpd instance for a short duration. +

+ +
+
top
+

MDWarnWindow Directive

+ + + + + + + +
Description:Define the time window when you want to be warned about an expiring certificate.
Syntax:MDWarnWindow duration
Default:MDWarnWindow 10%
Context:server config
Status:Experimental
Module:mod_md
+

+ See MDRenewWindow for a description on + how you can specify the time. +

+ The modules checks the remaining lifetime of certificates and invokes + MDMessageCmd when there is less than the warn + window left. With the default, this mean 9 days for certificates from + Let's Encrypt. +

+ It also applies to Managed Domains with static certificate files ( + see MDCertificateFile). +

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_md.html.fr.utf8 b/docs/manual/mod/mod_md.html.fr.utf8 new file mode 100644 index 0000000..737cfbe --- /dev/null +++ b/docs/manual/mod/mod_md.html.fr.utf8 @@ -0,0 +1,1714 @@ + + + + + +mod_md - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_md

+
+

Langues Disponibles:  en  | + fr 

+
+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
+ + + + +
Description:Gestion des domaines au sein des serveurs virtuels et obtention + de certificats via le protocole ACME +
Statut:Expérimental
Identificateur de Module:md_module
Fichier Source:mod_md.c
Compatibilité:Disponible à partir de la version 2.4.30 du serveur HTTP + Apache
+

Sommaire

+ +

+ Ce module permet de gérer les propriétés courantes des domaines pour un + ou plusieurs serveurs virtuels. Il fournit deux fonctionnalités + principales : la première permet la supervision et le renouvellement des + certificats TLS via le protocole ACME (RFC 8555). Le module + effectue le renouvellement des certificats avant leur expiration + afin d'éviter une interruption des services internet. Il est possible de + monitorer l'état de tous les certificats gérés par mod_md et de configurer + le serveur de façon à ce qu'il envoie des notifications de + renouvellement, d'expiration ou d'erreur personnalisées. +

+ La seconde fonctionnalité principale fournit une implémentation + alternative de l'agrafage OCSP, et ceci aussi bien pour les certificats + gérés par mod_md que pour les certificats que vous gérez vous-même. + Composant nécessaire pour tout site https, l'agrafage OCSP influence la + vitesse de chargement des pages et suivant la configuration, la + disponibilité de ces dernières. Vous trouverez plus de détails dans la section + agrafage ci-dessous. +

+ L'autorité ACME par défaut pour la gestion des certificats est Let's Encrypt, mais il est possible + de configurer une autre CA si cette dernière supporte le protocole. +

+ +

Exemple de configuration simple :

+ +

TLS dans un contexte de serveur virtuel

+
MDomain example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    DocumentRoot htdocs/a
+
+    SSLEngine on
+    # aucun certificat spécifié
+</VirtualHost>
+ +

+ Au démarrage, un serveur ainsi configuré contactera Let's Encrypt pour demander un + certificat pour le domaine considéré. Si Let's Encrypt peut vérifier + le propriétaire du domaine, le module obtiendra le certificat et sa + chaîne de certification, le stockera dans son système de fichiers + (voir la directive MDStoreDir) et le proposera au prochain + redémarrage à mod_ssl. +

+ Ce processus se déroule pendant l'exécution du serveur. Tous les + autres serveurs virtuels continueront à fonctionner normalement, + mais tant que le certificat ne sera pas disponible, toute requête + pour le domaine considéré génèrera une réponse du type '503 Service + Unavailable'. +

+
+ +

Prérequis

+

+ Pour pouvoir être utilisé, ce module nécessite le chargement + préalable du module mod_watchdog. +

+ Pour que Let's Encrypt puisse signer et renouveler votre certificat, + votre serveur doit être accessible depuis l'internet public sur le port 80 + (http:) et/ou 443 (https:), à moins que votre serveur soit configuré + pour utiliser les vérifications DNS - pour plus de détails, voir + "certificats génériques". +

+ Le module choisit une des méthodes proposées par Let's Encrypt. En + général, LE propose des méthodes de vérification sur les ports ou le + DNS et Apache choisit une des méthodes disponibles. +

+ Pour déterminer quelles méthodes sont disponibles, le module + consulte les ports sur lesquels écoute Apache httpd. Si le port 80 en + fait partie, le module supposera que la vérification http: nommée + http-01 est disponible. Si le port 443 en fait aussi partie, la + vérification https: nommée tls-alpn-01 sera ajoutée à la liste des + méthodes disponibles. Enfin, si la directive MDChallengeDns01 est définie, la méthode + de vérification dns-01 sera aussi ajoutée. +

+ Si votre configuration est plus complexe, deux méthodes permettent + d'orienter ce choix. En premier lieu, voyez du côté de la directive + MDPortMap si le serveur se + trouve derrière un redirecteur de port comme un pare-feu. En second + lieu, vous pouvez court-circuiter entièrement le processus de choix + du module en définissant directement la directive MDCAChallenges. +

+
+ +

Vérifications https:

+

+ Pour la vérification de domaine via le protocole TLS, le nom de la + méthode correspondante est "tls-alpn-01". Le serveur Apache doit + alors être en écoute sur le port 443 (voir la directive MDPortMap si vous redirigez ce port vers + un autre). +

+ Let's Encrypt ouvrira alors une connexion TLS avec Apache en + utilisant l'indicateur spécial "acme-tls/1" (cette portion + indication de TLS se nomme ALPN, d'où le nom de la méthode de + vérification. ALPN est aussi utilisé par les navigateurs pour ouvrir + une connexion HTTP/2. +

+ Si vous ne souhaitez cependant qu'aucun de vos sites ne soit + accessible sur le port 80, vous pouvez laiser ce dernier ouvert et + rediriger toutes les requêtes vers vos sites en https:. Pour + ce faire, utilisez la directive MDRequireHttps décrite plus loin. Votre + serveur pourra alors continuer à répondre au requêtes en http: en + provenance de Let's Encrypt. + Comme dans le cas du protocole HTTP/2, vous pouvez configurer ceci + de la manière suivante : +

+
Protocols h2 http/1.1 acme-tls/1
+ +

+ La méthode de vérification "tls-alpn-01" sera alors disponible. +

+
+

Certificats génériques

+

+ Les certificats génériques sont supportés à partir de la version 2.x + de mod_md, mais leur obtention n'est pas triviale. Let's Encrypt + impose pour ces derniers la vérification "dns-01". + Aucune autre n'est considérée comme suffisamment efficace. +

+ Apache ne peut cependant pas implémenter cette vérification de + lui-même . Comme son nom l'indique, "dns-01" vous demande de + présenter certains enregistrement DNS spécifiques à votre domaine + qui doivent contenir certaines données de vérification. Vous devez + donc être en mesure d'éditer et modifier les enregistrements DNS de + votre domaine. +

+ Si c'est le cas, vous pouvez procéder via mod_md. Supposons que vous + disposiez pour cela du script /usr/bin/acme-setup-dns ; vous + configurez alors Apache comme suit : +

+
MDChallengeDns01 /usr/bin/acme-setup-dns
+ +

+ Apache fera alors appel à ce script lorsqu'il aura besoin de + définir ou détruire un enregistrement DNS de vérification pour le + domaine considéré. +

+ Supposons ainsi que vous souhaitiez obtenir un certificat pour + *.mydomain.com ; mod_md va appeler : +

+
/usr/bin/acme-setup-dns setup mydomain.com challenge-data
+# ceci nécessite de supprimer tout enregistrement DNS TXT pour
+# _acme-challenge.mydomain.com et d'en créer un nouveau dont le contenu sera
+# "challenge-data"
+ +

+ il appellera ensuite : +

+
/usr/bin/acme-setup-dns teardown mydomain.com
+# ceci nécessite de supprimer tout enregistrement DNS TXT pour
+# _acme-challenge.mydomain.com
+ +
+ +

Monitoring

+

Apache possède un module de monitoring standard : + mod_status. mod_md y ajoute une section et facilite + le monitoring de votre domaine. +

+ Vous pouvez alors visualiser tous vos domaines gérés par ordre + alphabétique, les noms de domaine qu'ils contiennent, un état + global, les date d'expiration ainsi que des paramètres + spécifiques. Ces derniers comprennent la périodicité de + renouvellement que vous avez sélectionnée (ou la valeur par + défaut), la CA (autorité de certification) utilisée, etc... +

+ La colonne "Renewal" montre des rapports d'activité ou d'erreur + à propos des renouvellements de certificats, ce qui devrait + faciliter la vie des utilisateurs qui souhaitent savoir si tout + fonctionne correctement ou si des problèmes se produisent. +

+ Si un des domaines gérés provoque une erreur, elle apparaîtra + aussi ici, ce qui vous permettra de visualiser les éventuels + problèmes sans devoir vous plonger dans les journaux du serveur. +

+ Il existe aussi un nouveau gestionnaire, "md-status", qui peut + vous fournir les informations à propos des domaines gérés à + partir de "server-status" et au format JSON. Vous pouvez le + configurer comme suit sur votre serveur : +

+
<Location "/md-status">
+  SetHandler md-status
+</Location>
+ +

+ Comme pour "server-status", vous devez + ajouter les autorisations nécessaires. +

+ Si vous ne souhaitez recevoir l'état JSON que pour un domaine + spécifique, ajoutez le simplement à votre URL d'état : +

+
> curl https://<yourhost>/md-status/another-domain.org
+{
+  "name": "another-domain.org",
+  "domains": [
+    "another-domain.org",
+    "www.another-domain.org"
+  ],
+  ...
+ +

+ Cet état JSON montre aussi un journal des renouvellements de + certificats : +

+
{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "The certificate for the managed domain has been renewed successfully and can be used. A graceful server restart now is recommended."
+},{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "Retrieving certificate chain for test-901-003-1560955549.org"
+},{
+"when": "Wed, 19 Jun 2019 14:45:58 GMT",
+"type": "progress", "detail": "Waiting for finalized order to become valid"
+},{
+"when": "Wed, 19 Jun 2019 14:45:50 GMT",
+"type": "progress", "detail": "Submitting CSR to CA for test-901-003-1560955549.org"
+},
+...
+ +

+ Vous trouverez aussi ces informations dans le fichier "job.json" + dans votre répertoire de test et, s'il est activé, dans le + répertoire des domaines. Vous pourrez ainsi les consulter à tout + moment. +

+ Enfin, la directive MDCertificateStatus donne accès au + informations à propos du certificat spécifié au format JSON. +

+
+ +

Agrafage

+

+ Si vous voulez commencer par tester l'agrafage pour un seul + domaine géré, utilisez cette configuration : +

+
<MDomain mydomain.net>
+  MDStapling on
+</MDomain>
+ +

+ et utilisez 'server-status' et/ou MDMessageCmd pour voir comment tout + cela fonctionne. Vous pourrez alors vérifier si l'information + d'agrafage est présente, sa durée de validité, son origine et à + quel moment elle sera rafraîchie. +

+ Si tout fonctionne comme vous le souhaitez, vous pouvez définir + cette configuration pour tous les certificats ou seulement vos + certificats gérés. +

+ De nombreux sites utilisent l'implémentation d'agrafage + existante de mod_ssl depuis des années. Les implémentations par + mod-ssl et mod_md présentent deux différences principales : +

+
    +
  1. Lecture des informations à la demande ou de manière planifiée + : mod_ssl extrait les informations d'agrafage lorsque le besoin + s'en fait sentir, par exemple lors d'une nouvelle connexion. mod_md + quant à lui, extrait ces informations au démarrage du serveur et + lorsqu'elles ont atteint les deux tiers de leur durée de vie.
  2. +
  3. Conservation des informations en mémoire ou de manière + persistante : mod_ssl peut conserver ces informations + de manière persistante, mais la plupart des configurations + exemples utilisent un cache en mémoire. mod_md quant à lui, + stocke systématiquement les informations dans le système de + fichiers.
  4. +
+

+ Si par malchance vous redémarrez votre serveur alors que le + service OCSP de votre CA est en panne, les utilisateurs ne + pourront plus atteindre vos sites. Sans persistance des + informations, votre serveur n'est plus en mesure de fournir au + client les données nécessaires, et le navigateur client ne peut + pas les obtenir lui-même car le service OCSP ne répond pas. +

+ Avec l'implémentation de mod_md, l'information d'agrafage est + stockée de manière persistante, et elle peut donc être réchargée + au démarrage du serveur et être ainsi disponible pour les + connexions entrantes. Un jour ou deux avant expiration des + informations, mod_md va les renouveler, ce qui permet de faire + face à un temps d'indisponibilité du service OCSP assez long. +

+ Pour conserver une compatibilité ascendante, l'implémentation de + mod_ssl n'a pas pu être modifiée en profondeur. Par exemple, + mod_ssl est incapable d'ajouter une dépendance à mod_watchdog + sans rendre inutilisables de nombreuses configurations + existantes qui ne chargent pas ce module. +

+
+ +

tailscale

+

+ Depuis la version 2.4.14 du module, vous pouvez l'utiliser pour + obtenir des certificats pour vos domaines tailscale. +

+
<MDomain mydomain.some-thing.ts.net>
+  MDCertificateProtocol tailscale
+  MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock",
+</MDomain>
+ +

+ Tailscale permet des communications sécurisées entre vos + machines, où qu'elles se trouvent, et peut leur fournir des noms de + domaine dans l'espace *.ts.net. Pour ceux-ci, il fournira + aussi ensuite des certificats Let's Encrypt de façon à ce que + vous puissiez ouvrir ces domaines dans votre navigateur en toute + sécurité. +

+

+ Apache va contacter le démon tailscale local à l'aide des + directives listées ci-dessous pour obtenir et renouveler les + certificats. Ceci ne fonctionnera cependant que pour les noms de + domaine que tailscale aura assigné à votre machine. +

+

+ Dans le cas contraire, ces certificats fonctionneront exactement + de la même façon que ceux qui auront été obtenus à l'aide du + protocole ACME de Lets Encrypt. Vous les verrez dans le rapport + d'état et les directives MDMessageCmd seront aussi exécutées + pour eux. +

+

+ Vous trouverez plus de détails dans la documentation + github de mod_md. +

+

+ Notez que cette fonctionnalité n'est disponible que sur les + machines où le démon tailscale fournit un socket de domaine unix. + Jusqu'à présent, ceci ne semble être le cas que sur les systèmes + de style Unix. +

+
+ +
+ + +
top
+

Directive MDActivationDelay

+ + + + + + + +
Description:
Syntaxe:MDActivationDelay duration
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+

+ +
+
top
+

Directive MDBaseServer

+ + + + + + + +
Description:Définit si le serveur global peut être géré ou seulement + les serveurs virtuels.
Syntaxe:MDBaseServer on|off
Défaut:MDBaseServer off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir si le serveur global, autrement + dit la partie du serveur située en dehors de tout serveur virtuel, + doit être géré par mod_md ou non. Par défaut il ne + le sera pas car cela provoquerait des effets de bord + générateurs de confusion. Il est donc recommandé de + définir des serveurs virtuels pour tous les domaines gérés, et + d'exclure des domaines gérés le serveur global (serveur par défaut). +

+ +
+
top
+

Directive MDCAChallenges

+ + + + + + + +
Description:Type de négociation ACME utilisée pour prouver l'appartenance + du domaine.
Syntaxe:MDCAChallenges name [ name ... ]
Défaut:MDCAChallenges tls-alpn-01 http-01 dns-01
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir les types de négociation + utilisés (par ordre de préférences) pour prouver l'appartenance + du domaine. Les types de négociation supportés par le module + sont 'tls-alpn-01', 'dns-01' et 'http-01'. Le module parcourt + toute la configuration du serveur pour déterminer quelles + méthodes peuvent être utilisées. +

+ Si par exemple le serveur est en écoute sur le port 80, c'est la + méthode 'http-01' qui sera disponible. Pour 'dns-01', une + commande MDChallengeDns01 + définie sera requise. La méthode 'tls-alpn-01' est décrite + ci-dessus dans 'https: Challenges'. +

+ Cette sélection automatique fonctionne pour la plupart des + configurations. Mais comme Apache est un serveur très puissant + avec de nombreuses options de configuration, certains cas + pourront poser des problèmes. Par exemple, il peut être en + écoute sur plusieurs adresses IP, certaines étant accessibles en + https: et d'autres non. +

+ Si vous définissez MDCAChallenges + directement, la sélection automatique est désactivée. A la + place, le module va utiliser la liste de méthodes de négociation + spécifiée pour dialoguer avec le serveur ACME (un type de + négociation doit aussi être proposé par le serveur). Ces + méthodes de négociation sont examinées dans l'ordre selon lequel + elles sont spécifiées. +

+ + +
+
top
+

Directive MDCertificateAgreement

+ + + + + + +
Description:Acceptation des conditions d'utilisation de l'autorité de + certification.
Syntaxe:MDCertificateAgreement accepted
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Lorsque vous utilisez mod_md pour obtenir un certificat, vous + devenez un client de l'autorité de certification (par exemple Let's + Encrypt). Cela signifie que vous devez lire et approuver leurs + conditions d'utilisation, et donc que vous avez compris ce qu'ils + ont à offrir, ce qu'ils ne fournissent pas, et ce que vous devez + vous-même fournir. mod_md ne peut pas de lui-même procéder à cet + agrément à votre place.

+ +
+
top
+

Directive MDCertificateAuthority

+ + + + + + + +
Description:Les URLs du service ACME de l'autorité de certification.
Syntaxe:MDCertificateAuthority url
Défaut:MDCertificateAuthority letsencrypt
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Les URLs auxquelles l'autorité de certication offre son service. + Plutôt que l'URL proprement dite, vous pouvez spécifier + 'letsencrypt' ou 'buypass'. +

+ Si vous spécifiez plusieurs URLs, chacune d'entre elles est + testée en mode tourniquet ("round-robin") après un certain + nombre d'échecs. Vous pouvez définir la rapidité de ce processus + à l'aide des directives MDRetryDelay et + MDRetryFailover. Par défaut, une demie + journée d'essais infructueux est considérée comme un échec. +

+ Tous les autres réglages s'appliquent à chacune de ces URLs. Il + est ainsi par exemple impossible d'en avoir deux avec des + directives MDExternalAccountBinding + différentes. +

+ A des fins de test, les CAs fournissent en général une seconde + URL de service. Le service 'test' ne fournit pas de certificat + valable pour un navigateur, mais il est moins regardant vis à + vis des limites de vitesse. Il permet de tester votre + configuration avant de passer à l'URL de service de production. +

+

Configuration pour le mode test de Let's Encrypt

MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory
+
+ +
+
top
+

Directive MDCertificateCheck

+ + + + + + + +
Description:
Syntaxe:MDCertificateCheck name url
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+

+ +
+
top
+

Directive MDCertificateFile

+ + + + + + +
Description:Définit un fichier de certificat statique pour le domaine géré.
Syntaxe:MDCertificateFile path-to-pem-file
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive s'utilise dans une section MDomainSet et permet de spécifier le + nom du fichier qui contiendra le certificat pour le + domaine géré. La clé correspondante est spécifiée via la + directive MDCertificateKeyFile. +

+

Exemple

<MDomain mydomain.com>
+  MDCertificateFile /etc/ssl/my.cert
+  MDCertificateKeyFile /etc/ssl/my.key
+</MDomain>
+
+ +

+ Cette directive est équivalente à la directive SSLCertificateFile de mod_ssl. Elle + s'utilise dans de nombreuses applications. +

+ Une première application est la migration de la gestion des + certificats d'un domaine existant depuis le mode statique via des + fichiers vers le mode automatique via Let's Encrypt. A cet + effet, vous définissez tout d'abord la section MDomainSet dans laquelle vous + spécifiez les fichiers, puis supprimez la directive SSLCertificateFile de la + configuration de vos serveurs virtuels. +

+ Avec cette configuration, votre serveur fonctionnera comme + avant, avec probablement moins de lignes répétitives. Vous + pouvez alors ajouter la directive MDRenewMode avec pour valeur + "always", et le module obtiendra un nouveau cerificat avant que + celui du fichier considéré n'arrive à expiration. Une fois le + certificat renouvelé, vous pouvez supprimer la directive + MDCertificateFile et + recharger la configuration. +

+ Une autre application est le renouvellement de vos certificats + Let's Encrypt avec d'autres clients ACME comme l'excellent certbot. A cet effet, faites + pointer vos domaines gérés vers les fichiers de certbot et ils + travaillerons alors ensemble. +

+ +
+
top
+

Directive MDCertificateKeyFile

+ + + + + + +
Description:Définit une clé privée statique pour le certificat + statique.
Syntaxe:MDCertificateKeyFile path-to-file
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive s'utilise dans une section MDomainSet et permet de spécifier le + nom du fichier contenant la clé privée pour le domaine géré. Le + certificat correspondant est spécifié via la directive + MDCertificateFile. +

+ Cette directive est équivalente à la directive SSLCertificateKeyFile de mod_ssl. +

+ +
+
top
+

Directive MDCertificateMonitor

+ + + + + + + +
Description:L'URL d'un moniteur d'enregistrement de certificat.
Syntaxe:MDCertificateMonitor name url
Défaut:MDCertificateMonitor crt.sh https://crt.sh?q=
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive impacte l'interface utilisateur HTML 'server-status' et + n'a rien à voir avec le fonctionnement de mod_md proprement dit. + Elle permet de définir le lien qui s'affiche sur cette interface + pour accéder facilement à un moniteur de certificat. L'empreinte + SHA256 du certificat doit être ajoutée à l'URL spécifié. +

+ Les moniteurs de certificat donnent accès aux enregistrements de + la Certificate Transparency (CT) afin de tracer l'utilisation + des certificats pour les domaines. Vous pourrez au moins + vérifier si Let's Encrypt (ou tout autre CA que vous aurez + défini) a bien inscrit votre certificat dans les enregistrements + de CT. +

+ Avertissement : La mise à jour des enregistrements des + certificats et leur prise en compte par les moniteurs peut + prendre un certain temps. Ce dernier varie en fonction des + enregistreurs et des moniteurs. Un nouveau certificat ne sera + donc pas connu immédiatement. +

+ +
+
top
+

Directive MDCertificateProtocol

+ + + + + + + +
Description:Le protocole à utiliser avec l'autorité de certification.
Syntaxe:MDCertificateProtocol protocol
Défaut:MDCertificateProtocol ACME
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de spécifier le protocole à utiliser. + Pour l'heure, seul le protocole ACME est supporté.

+ +
+
top
+

Directive MDCertificateStatus

+ + + + + + + +
Description:Extrait les informations publiques du certificat au format + JSON.
Syntaxe:MDCertificateStatus on|off
Défaut:MDCertificateStatus on
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Lorsque cette directive est à "on", vous disposez d'une + ressource pour les domaines gérés à + https://domain/.httpd/certificate-status qui renvoie un + document au format JSON contenant une liste de propriétés + concernant les clés, le certificat courant et, s'il est + disponible, le certificat renouvelé. +

+

Exemple

{
+  "valid-until": "Thu, 29 Aug 2019 16:06:35 GMT",
+  "valid-from": "Fri, 31 May 2019 16:06:35 GMT",
+  "serial": "03039C464D454EDE79FCD2CAE859F668F269",
+  "sha256-fingerprint": "1ff3bfd2c7c199489ed04df6e29a9b4ea6c015fe8a1b0ce3deb88afc751e352d"
+  "renewal" : { ...renewed cert information... }
+}
+
+ +
+
top
+

Directive MDChallengeDns01

+ + + + + + +
Description:
Syntaxe:MDChallengeDns01 path-to-command
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir le programme à appeler + lorsque la vérification "dns-01" doit être générée/détruite. Le + programme prend respectivement comme arguments "setup" ou + "teardown" suivi du nom de domaine. Pour "setup", le programme + prend comme argument supplémentaire les données de vérification + "dns-01". +

+ Tant que la méthode de vérification "http:" ou "https:" est + valable, vous n'avez pas besoin de définir cette directive. + Cependant, Let's Encrypt n'accepte que "dns-01" comme méthode de + vérification valide pour les certificats génériques. Si vous + avez besoin d'un tel certificat, vous devez alors définir cette + directive. +

+ Reportez vous à la section sur les certificats génériques pour + plus de détails. +

+ +
+
top
+

Directive MDContactEmail

+ + + + + + + +
Description:
Syntaxe:MDContactEmail address
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Lors de votre inscription, vous devez fournir une url de contact + pour le protocole ACME. Actuellement, Let's Encrypt exige une + adresse Email qu'il utilisera pour vous informer des + renouvellements de certificats ou de toute modification des + conditions d'utilisation. Pour obtenir cette adresse, mod_md + utilise l'email spécifiée par la directive MDContactEmail dans + votre configuration de httpd ; veillez par conséquent à bien + spécifier une adresse correcte à ce niveau. Si la directive + MDContactEmail n'est pas définie, mod_md utilisera l'email + spécifiée via la directive ServerAdmin. +

+ +
+
top
+

Directive MDDriveMode

+ + + + + + + +
Description:Ancien nom de MDRenewMode.
Syntaxe:MDDriveMode always|auto|manual
Défaut:MDDriveMode auto
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive est l'ancien nom de la directive MDRenewMode, et n'est encore supportée + qu'à titre de compatibilité ascendante. +

+ +
+
top
+

Directive MDExternalAccountBinding

+ + + + + + + + +
Description:
Syntaxe:MDExternalAccountBinding key-id hmac-64 | none | file
Défaut:MDExternalAccountBinding none
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.52 du serveur HTTP + Apache
+

+ Cette directive permet de définir des valeurs pour associer des + comptes externes avec ACME ("External Account Binding") ; c'est + une fonctionnalité de la norme ACME qui permet à des clients + d'associer des inscriptions à un compte client existant sur les + serveurs ACME. +

+

+ Certains CAs ACME ont besoin de ces valeurs, mais ce n'est pas + le cas pour Let's Encrypt. Vérifiez avec votre CA ACME si vous + avez besoin de ces valeurs et la manière de les obtenir. Ces + dernières se composent de deux chaînes : un identifiant de clé + et une valeur 'hmac' codée en base64. +

+

+ Vous pouvez définir ces valeurs de manière globale ou pour un + MDomain spécifique. Comme ces valeurs permettent à n'importe qui + de s'inscrire sous le même compte, il est conseillé de + restreindre les permissions d'accès au fichier de configuration + (à root seulement, par exemple). +

+

+ Les valeurs peuvent aussi être extraites d'un fichier JSON pour + conserver l'ouverture des permissions au niveau de la + configuration du serveur et restreindre celles de ce fichier. Le + fichier JSON sera du style : +

+

Exemple de fichier EAB JSON

{"kid": "kid-1", "hmac": "zWND..."}
+
+

+ Si vous modifiez les valeurs EAB, ce sont les nouvelles valeurs + qui seront utilisées lors du prochain renouvellement de + certificat. +

+ +
+
top
+

Directive MDHttpProxy

+ + + + + + +
Description:Spécifie un serveur mandataire pour les connexions + sortantes.
Syntaxe:MDHttpProxy url
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de spécifier un serveur http mandataire + pour se connecter à l'autorité de certification spécifiée via + MDCertificateAuthority. Vous + devez la définir si votre serveur web ne peut atteindre internet que + via un serveur mandataire. +

+ +
+
top
+

Directive MDMember

+ + + + + + +
Description:Nom d'hôte additionnel pour le domaine géré.
Syntaxe:MDMember hostname
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Plutôt que de lister tous les noms DNS sur la même ligne, vous + pouvez utiliser la directive MDMember pour + ajouter des noms d'hôte à un domaine géré. +

+

Exemple

<MDomain example.org>
+    MDMember www.example.org
+    MDMember mail.example.org
+</MDomain>
+
+

+ Si vous utilisez cette directive au niveau de la configuration + globale, en dehors de tout serveur virtuel correspondant à un + domaine géré, vous ne pouvez spécifier qu'une valeur, 'auto' ou + 'manual' comme mode par défaut pour tous les autres domaines + gérés. Voir la directive MDomain pour une description de ces + valeurs. +

+ +
+
top
+

Directive MDMembers

+ + + + + + + +
Description:Définit si les alias de noms de domaines sont + automatiquement ajoutés.
Syntaxe:MDMembers auto|manual
Défaut:MDMembers auto
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de définir si les valeurs de ServerName et ServerAlias sont automatiquement ajoutées + en tant que membres d'un domaine géré. +

+ +
+
top
+

Directive MDMessageCmd

+ + + + + + +
Description:Gère les évènements pour les domaines gérés
Syntaxe:MDMessageCmd path-to-cmd optional-args
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir la commande à appeler + lorsqu'un des évènements "renewed", "installed", "expiring" ou + "errored" se produit pour un domaine géré. La commande sera + probablement invoquée pour d'autres évènements dans le futur et + ignorera les évènements pour lesquels elle n'aura pas été + préparée. +

+ Il s'agit d'une version plus souple de la directive + MDNotifyCmd. +

+

Exemple

MDMessageCmd /etc/apache/md-message
+

+ +# sera invoquée sous la forme "/etc/apache/md-message renewed mydomain.com" +# lorsqu'un nouveau certificat sera disponible pour le domaine mydomain.com +

+

+ Le programme ne doit pas être bloquant car le module attend + qu'il se termine. Un code de retour autre que 0 doit indiquer + une erreur d'exécution. +

+ "errored" n'est pas l'évènement à surveiller en priorité car le + renouvellement du certificat est censé se produire suffisammant + tôt pour éviter toute interruption de service. Cet évènement est + signalé au plus une fois par heure. +

+ L'évènement "expiring", quant à lui, doit être pris au sérieux. + Il se produit lorsque la valeur de MDWarnWindow est atteinte. Par + défaut, cette valeur correspond à 10% de la durée de vie du + certificat, donc actuellement pour Let's Encrypt, 9 jours avant + expiration du certificat. Le message d'avertissement est répété + au plus une fois par jour. +

+ 'renewed' indique qu'un nouveau certificat a été obtenu et + se trouve dans la zone intermédiaire du magasin MD. Il sera + activé au prochain restart/reload du serveur. +

+ 'installed' indique qu'un nouveau certificat a été transféré + depuis la zone intermédiaire vers la zone des domaines du + magasin MD. Cet évènement se produit lors d'un restart/reload du + serveur. A la différence des autres commandes, + MDMessageCmd s'exécute avec les + permissions de root (sur les systèmes *nix) et a donc accès aux + fichiers de certificats (et aux clés). Les certificats + nécessaires à d'autres applications ou possédant des formats + différents peuvent être traités suite à cet évènement. +

+ Un évènement de type 'renewing' est déclenché avant le démarrage + du processus de renouvellement pour le domaine géré. Si dans ce + cas la commande renvoie une valeur non nulle, le renouvellement + sera interrompu et tenté à nouveau au cycle suivant. Certaines + configurations de clusters l'utilisent pour n'effectuer le + renouvellement que sur un seul noeud. +

+ Un évènement de type 'challenge-setup:type:domain' est déclenché + lorsque les données de vérification pour un domaine ont été + créées. Il est invoqué avant qu'il soit demandé au serveur ACME + de les vérifier. type contient une des méthodes de vérification + ACME. Il est invoqué pour chaque nom DNS d'un MDomain. Les + configurations de clusters peuvent utiliser cet évènement pour + distribuer les fichiers de vérification à tous les noeuds. +

+ Un évènement de type ocsp-errored est déclenché lorsque le + MDStapling est activé + pour un domaine, et indique qu'une erreur s'est produite en + essayant d'obtenir la réponse OCSP de l'autorité de + certification. mod_md essaiera à nouveau d'obtenir cette + réponse. +

+ +
+
top
+

Directive MDMustStaple

+ + + + + + + +
Description:Définit si les nouveaux certificats doivent avoir le + drapeau OCSP Must Staple activé.
Syntaxe:MDMustStaple on|off
Défaut:MDMustStaple off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de définir si les nouveaux certificats + doivent avoir le drapeau OCSP Must Staple activé ou non. Si un + certificat possède ce drapeau, le serveur devra envoyer une réponse + avec agrafage OCSP à chaque client. Ceci ne fonctionne que si vous + configurez mod_ssl pour générer cette agrafe (voir la + directive SSLUseStapling et + ses directives dérivées). +

+ +
+
top
+

Directive MDNotifyCmd

+ + + + + + +
Description:Lance un programme lorsqu'un domaine géré est opérationnel.
Syntaxe:MDNotifyCmd path [ args ]
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive permet de définir un programme à lancer lorsqu'un + domaine géré a obtenu ou renouvelé son certificat. Ce + programme reçoit le nom de domaine géré concerné comme + argument additionnel (après les paramètres spécifiés ici). Il doit + renvoyer un code d'état de 0 s'il s'est exécuté avec + succès. +

+ +
+
top
+

Directive MDomain

+ + + + + + +
Description:Définit une liste de noms de domaines qui appartiennent à + un groupe.
Syntaxe:MDomain dns-name [ other-dns-name... ] [auto|manual]
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Tous les domaines de la liste seront gérés par + mod_md comme un seul domaine géré (Managed Domain - MD). + mod_md ne demandera qu'un seul certificat qui + sera valide pour tous ces noms de domaine. Cette directive + s'utilise au niveau de la configuration globale (voir plus loin + les autres directives MD). Si un domaine nécessite une + configuration particulière, utilisez la directive <MDomainSet>. +

+ Deux définitions supplémentaires sont nécessaires pour un + domaine géré : une adresse Email de contact (via MDContactEmail ou ServerAdmin) et MDCertificateAgreement. L'adresse + électronique du ServerAdmin + permet de s'enregistrer auprès de l'autorité de certification + (par défaut Let's Encrypt). L'autorité de certification + l'utilisera pour vous informer à propos du statut de vos + certificats ou d'éventuelles modifications de ses services. +

+ La seconde définition, MDCertificateAgreement doit avoir + pour valeur "accepted". Vous confirmez ainsi que vous acceptez + les conditions d'utilisation du CA. +

+

Exemple

MDContactEmail admin@example.org
+MDCertificateAgreement accepted
+MDomain example.org www.example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    DocumentRoot htdocs/root
+
+    SSLEngine on
+</VirtualHost>
+
+<VirtualHost *:443>
+    ServerName www.example.org
+    DocumentRoot htdocs/www
+
+    SSLEngine on
+</VirtualHost>
+
+

+ En plus de la liste des domaines gérés, cette directive accepte + un paramètre supplémentaire qui peut prendre pour valeur + 'manual' ou 'auto'. Ce paramètre permet de définir si un domaine + sera géré sous le nom spécifié dans la liste seul ('manual'), + ou si tous les noms du serveur virtuel correspondant seront + gérés ('auto'). C'est d'ailleurs cette dernière valeur qui + est la valeur par défaut. +

+

Exemple

MDomain example.org
+
+<VirtualHost *:443>
+    ServerName example.org
+    ServerAlias www.example.org
+    DocumentRoot htdocs/root
+
+    SSLEngine on
+</VirtualHost>
+
+MDomain example2.org auto
+
+<VirtualHost *:443>
+    ServerName example2.org
+    ServerAlias www.example2.org
+    ...
+</VirtualHost>
+
+

Dans cet exemple, le domaine 'www.example.org' est + automatiquement ajouté à la liste MD 'example.org'. De manière + similaire, le domaine 'www.example2.org' sera automatiquement ajouté + à la liste MD 'example2.org' pour laquelle 'auto' est explicitement + spécifié. Chaque fois que vous ajouterez des noms à ces serveurs + virtuels via ServerAlias, ils seront ajoutés à la liste MD + correspondante. +

+ Si vous préférez déclarer explicitement tous les noms de + domaines, utilisez le mode 'manual'. Une erreur sera enregistrée + dans le journal si les noms ne correspondent pas à ceux + attendus. +

+ +
+
top
+

Directive <MDomainSet>

+ + + + + + +
Description:Conteneur de directives à appliquer à un ou plusieurs + domaines gérés.
Syntaxe:<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive est équivalente à la directive MDomain avec la possibilité + supplémentaire d'ajouter des paramètres seulement pour le + domaine géré considéré. En fait, vous pouvez aussi utiliser + "<MDomain ..>" à titre de raccourci. +

+

+ Cette directive permet de configurer un domaine géré en + spécifiant un autre CA, ou d'autres paramètres de renouvellement + des certificats, etc... +

+

Exemple

<MDomain sandbox.example.org>
+    MDCertificateAuthority   https://someotherca.com/ACME
+</MDomain>
+
+

+ Cette configuration est souvent utilisée pour définir des paramètres + https: spécifiques à votre domaine. +

+

Exemple

<MDomain example.org>
+    MDRequireHttps temporary
+</MDomain>
+
+ +
+
top
+

Directive MDPortMap

+ + + + + + + +
Description:Mappage des ports externes avec les ports internes pour + vérifier à qui appartient le domaine.
Syntaxe:MDPortMap map1 [ map2 ]
Défaut:MDPortMap http:80 https:443
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Le protocole ACME propose deux méthodes pour vérifier à qui + appartient le domaine via HTTP : la première utilise les URLs en + "http:" (port 80) et la deuxième les URLs en "https:" (port + 443). Si votre serveur n'est accessible sur aucun + de ces ports, ACME ne pourra fonctionner que si vous configurez + votre serveur DNS de manière adéquate (voir la directive MDChallengeDns01). +

+ Sur la plupart des serveurs publics, "http:" arrive sur le + port 80 et "https:" sur le port 443. Ce module vérifie les ports + sur lesquels votre serveur Apache est en écoute et suppose + qu'ils sont disponibles. Autrement dit, si votre serveur n'est + pas en écoute sur le port 80, le module suppose que les requêtes + en "http:" en provenance d'internet ne seront pas traitées. +

+ Ce raisonnement est légitime, mais il peut s'avérer faux. + Par exemple, même si votre serveur est effectivement en écoute + sur le port 80, votre pare-feu peut bloquer ce dernier. "http:" + ne sera alors disponible que sur votre intranet. Dans ce cas, le + module va supposer de manière erronée que Let's Encrypt peut + effectuer des vérifications en "http:" avec votre serveur. Ces + dernières échouerons car elles auront été rejetées par votre + pare-feu. +

+

Exemple

MDPortMap http:- https:8433
+
+

+ L'exemple précédent montre comment spécifier que les requêtes en + "http:" en provenance d'internet n'arriveront jamais. En outre, + il indique que les requêtes en "https:" arriveront sur le port + 8433. +

+ Cette définition peut s'avérer nécessaire si vous faites de la + redirection de port ; votre serveur peut ainsi être accessible + depuis l' Internet sur le port 443, alors que le port local + utilisé par httpd sera différent. Par exemple, votre serveur + peut n'être en écoute que sur les ports 8443 et 8000, mais + accessible depuis internet sur les ports 443 et 80. +

+ +
+
top
+

Directive MDPrivateKeys

+ + + + + + + +
Description:Définit le type et la taille des clés privées générées.
Syntaxe:MDPrivateKeys type [ params... ]
Défaut:MDPrivateKeys RSA 2048
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir les paramètres de construction + des clés privées pour les domaines gérés. Vous pouvez configurer + plusieurs types de clés privées et le module obtiendra un + certificat pour chaque clé. +

+ La recommandation actuelle (en 2017) est de 2048 bits au minimum, + et une valeur inférieure ne sera pas acceptée. Des valeurs + supérieures offriront une plus grande sécurité mais seront plus + gourmandes en ressources, et augmenteront donc la charge de + votre serveur, ce qui pourra (ou non) être gênant pour vous. +

+ D'autres types de clés seront supportés dans le futur. + Vous pouvez par exemple configurer une clé RSA et une clé + Elliptic Curve (EC) de façon à ce que deux certificats soient + créés pour le domaine concerné. Lors d'une connexion avec un + client, c'est la première clé supportée par ce dernier qui sera + utilisée. +

+ Comme les clés et certificats EC sont plus petits, vous pouvez + les proposer en premier pour tous les clients modernes + compatibles, ce qui peut accélérer la phase de négociation. + Ajoutez tout de même une clé RSA pour supporter les clients plus + anciens. +

+

Exemple

MDPrivateKeys secp256r1 rsa3072
+
+

+ Les types EC supportés dépendent du CA que vous utilisez. Par + exemple, Let's encrypt supporte les courbes elliptiques + 'secp256r1' et 'secp384r1'. +

+ Chaque type de clé et certificat est stocké dans son fichier + propre au sein de l'espace de stockage MD. Le type de clé + constitue une partie du nom de fichier avec une convention de + nommage présentant une compatibilité ascendante avec les + certificats RSA. Vous pouvez ainsi continuer à partager ces + fichiers avec les autres applications. +

+ + Notez que cette directive n'aura d'effet que sur les nouvelles + clés. Toute clé préexistante ne sera pas affectée. En outre, + seules les clés privées générées pour les certificats sont + concernées, les clés de comptes ACME n'étant pas affectées. +

+ +
+
top
+

Directive MDRenewMode

+ + + + + + + +
Description:Contrôle le renouvellement des certificats.
Syntaxe:MDRenewMode always|auto|manual
Défaut:MDRenewMode auto
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ En mode "auto" (mode par défaut), le module va agir de la + manière la plus opportune pour chaque domaine géré. Si un + domaine ne possède pas de certificat, le module en demandera un + à l'autorité de certification. +

+

+ Si par contre vous avez défini un domaine géré qui n'est utilisé + par aucun serveur virtuel, le module n'effectuera aucune demande + de renouvellement. De même, pour les domaines gérés avec des + fichiers de certificats statiques (voir MDCertificateFile), le module + supposera que vous avez votre propre source et n'effectuera + aucune demande de renouvellement. +

+

+ Avec le mode "always", le module renouvellera les certificats + des modules gérés, même s'il ne sont pas utilisés ou + possèdent un fichier de certificats statique. +

+

+ A l'opposé, avec le mode "manual", mod_md n'effectuera aucune + demande automatique de renouvellement pour aucun domaine géré. +

+ +
+
top
+

Directive MDRenewWindow

+ + + + + + + +
Description:Définit le moment auquel un certificat doit être renouvelé.
Syntaxe:MDRenewWindow duration
Défaut:MDRenewWindow 33%
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Lorsqu'un certificat arrive à expiration, mod_md va + tenter d'en obtenir un nouveau signé. +

+ Normalement, les certificats ont une validité de 90 jours, et + mod_md les renouvelle lorsqu'il leur reste 33% de + durée de vie (soit 30 jours pour une durée de vie de 90 jours). Si + cela ne correspond pas à ce que vous souhaitez, vous pouvez + spécifier une autre valeur comme dans les exemples suivants : +

+

Exemple

# 21 jours avant expiration
+MDRenewWindow 21d 
+# 30 secondes (peut-être un peu juste !)
+MDRenewWindow 30s
+# lorsqu'il reste 10% de durée de vie au certificat
+MDRenewWindow 10%
+
+

En mode pilotage automatique, le module va vérifier le statut des + domaines gérés au moins toutes les 12 heures pour voir s'il y a + quelque chose à faire. En cas d'erreur, par exemple lorsque le CA + est inaccessible, il va dans un premier temps réessayer après + quelques secondes. Si l'erreur persiste, il va réduire son + intervalle de vérification de 12 à 1 heure. +

+ +
+
top
+

Directive MDRequireHttps

+ + + + + + + +
Description:Redirige le trafic http: vers https: pour les domaines + gérés.
Syntaxe:MDRequireHttps off|temporary|permanent
Défaut:MDRequireHttps off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

Cette directive facilite la migration de vos domaines gérés de + http: vers https:. Dans l'exemple suivant, +

+

Exemple

MDRequireHttps temporary
+
+

vous indiquez que vous désirez que pour l'instant, tout le trafic via des URLs en + http: doit être redirigé vers des URLs en https:. Cette directive + est sans risque et vous pouvez la désactiver à tout moment. +

+ Ce qui suit par contre, a des conséquences : si + vous souhaitez que les clients n'utilisent plus + d'URLs en http:, spécifiez : +

+

Permanent (pour au moins 6 mois !)

MDRequireHttps permanent
+
+

Cette directive a deux effets : +

+
    +
  1. Toutes les requêtes pour une ressource en http: + sont redirigées vers la même requête en remplaçant le protocole + http: par https: et en renvoyant le code + d'état 301. Ce dernier indique aux clients que + cette modification est permanente et qu'ils doivent mettre à + jour leurs liens en conséquence. +
  2. +
  3. Toutes les réponses aux requêtes en https: + comporteront l'en-tête Strict-Transport-Security + avec une durée de vie de six mois. Cela indique au navigateur + qu'il ne devra jamais utiliser + http: (pendant six mois) lorsqu'il formulera une + requête pour le domaine concerné. Avec cette information, les + navigateurs refuseront de contacter votre site en mode non + chiffré. Ceci interdit à des middlewares malicieux de dégrader + les connexions et d'écouter/manipuler le trafic. C'est une bonne + chose, mais cette configuration ne peut pas être désactivée + aussi simplement que la configuration temporaire ci-dessus. +
  4. +
+

Vous pouvez obtenir le même résultat de manière simple avec + mod_alias et une configuration basée sur la + directive Redirect. Si + vous le faites vous-même, assurez-vous d'exclure les chemins + /.well-known/* de votre redirection, sinon mod_md + aura des difficultés pour signer les nouveaux certificats. +

+

Si vous effectuez cette configuration au niveau global, elle + s'appliquera à tous les domaines gérés. Si vous souhaitez qu'elle ne + s'applique qu'à un domaine spécifique, utilisez : +

+

Exemple

<MDomain xxx.yyy>
+  MDRequireHttps temporary
+</MDomain>
+
+ +
+
top
+

Directive MDRetryDelay

+ + + + + + + + +
Description:
Syntaxe:MDRetryDelay duration
Défaut:MDRetryDelay 5s
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.54 du serveur HTTP + Apache
+

+ Le temps d'attente après une erreur avant de tenter à nouveau le + renouvellement d'un certificat. Ce temps est doublé après chaque + erreur consécutive avec un maximum de 24 heures. +

+

+ Ce temps d'attente est spécifique à chaque renouvellement de + certificat. Autrement dit, une erreur sur un MDomain ne retarde + pas les renouvellements des autres domaines. +

+ +
+
top
+

Directive MDRetryFailover

+ + + + + + + + +
Description:
Syntaxe:MDRetryFailover number
Défaut:MDRetryFailover 13
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.54 du serveur HTTP + Apache
+

+ Le nombre d'erreurs consécutives lors du renouvellement d'un + certificat avant la sélection d'une autre CA. Ne s'applique + qu'aux configurations pour lesquelles plusieurs + MDCertificateAuthority ont été + spécifiées. +

+ +
+
top
+

Directive MDServerStatus

+ + + + + + + +
Description:Définit si les informations à propos des domaines gérés + sont ajoutés ou non à server-status.
Syntaxe:MDServerStatus on|off
Défaut:MDServerStatus on
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Le gestionnaire d'Apache "server-status" vous permet de + configurer une ressource pour monitorer le fonctionnement du + serveur. Cette ressource inclut maintenant une section indiquant + tous les domaines gérés avec leur nom DNS, l'état de + renouvellement du certificat, la durée de vie de ce dernier, + ainsi que d'autres propriétés fondamentales. +

+ Cette directive permet d'activer/désactiver cette ressource. +

+ +
+
top
+

Directive MDStapleOthers

+ + + + + + + + +
Description:Active l'agrafage pour les certificats non gérés par + mod_md.
Syntaxe:MDStapleOthers on|off
Défaut:MDStapleOthers on
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Cette directive n'a d'effet que si MDStapling est activée. Elle permet + de contrôler si mod_md doit aussi fournir les + informations d'agrafage pour les certificats qu'il ne gère pas + directement (autrement dit pour les certificats non renouvelés + via le protocole ACME). +

+ +
+
top
+

Directive MDStapling

+ + + + + + + + +
Description:Active l'agrafage pour un ou plusieurs domaines.
Syntaxe:MDStapling on|off
Défaut:MDStapling off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ mod_md permet l'obtention des informations + d'agrafage OCSP. Cette fonctionnalité est une alternative à + celle fournie par mod_ssl. Elle est désactivée + par défaut à des fins de compatibilité ascendante. +

+ La fonctionnalité peut être activée pour tous les certificats du + serveur ou pour un MDomain seulement, ce qui aura pour effet + de remplacer toute configuration d'agrafage au niveau de + mod_ssl pour ce(s) domaine(s). Lorsqu'elle est désactivée, + l'agrafage de mod_ssl se chargera du travail (s'il a été + lui-même activé, bien entendu). Ceci permet de basculer de + manière graduée d'une implémentation à l'autre. +

+ L'agrafage fonctionne aussi pour les domaines non gérés par + mod_md (voir à ce sujet la directive MDStapleOthers). En fait, l'agrafage + OCSP peut très bien être utilisé en l'absence de tout certificat + géré via le protocole ACME. +

+ +
+
top
+

Directive MDStaplingKeepResponse

+ + + + + + + + +
Description:Contrôle la durée au bout de laquelle les anciennes + réponses doivent être supprimées.
Syntaxe:MDStaplingKeepResponse duration
Défaut:MDStaplingKeepResponse 7d
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Cette directive permet de spécifier la durée au bout de laquelle + les données OCSP utilisées pour l'agrafage doivent être + supprimées du magasin. Par défaut, ces informations sont + supprimées lors d'un restart/reload du serveur si elles ont plus + de sept jours. Ceci permet de limiter la taille du magasin + lorsque les certificats sont renouvelés et/ou reconfigurés + fréquemment. +

+

+ +
+
top
+

Directive MDStaplingRenewWindow

+ + + + + + + + +
Description:Contrôle l'ancienneté des réponses OCSP au dela de laquelle + ces dernières seront renouvelées.
Syntaxe:MDStaplingRenewWindow duration
Défaut:MDStaplingRenewWindow 33%
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP + Apache
+

+ Si la durée de validité d'un réponse OCSP passe en dessous de + duration, mod_md va tenter de la + renouveler. +

+ La CA à l'origine du certificat fournit aussi en général le + service de réponse OCSP et détermine la durée de validité de sa + réponse signée à propos de la validité du certificat. Plus + longtemps une réponse sera valide, plus longtemps elle pourra + être mise en cache, ce qui arrange tout le monde en matière de + performances. Plus courte sera la validité d'une réponse, plus + vite seront envoyées des révocations de certificats aux clients. + Il est donc important de prendre en compte la qualité de + service. +

+ En ajustant la durée de validité des réponses vous-même, vous + pouvez contrôler une partie du processus. Si vous spécifiez une + durée de vie importante (autrement dit si vous spécifiez un + petit pourcentage de validité avant que l'information n'expire), + vous assurer un temps de mise en cache maximal, mais une + interruption du service OCSP (par exemple un arrêt pour + maintenance) aura plus de chance de vous affecter. Si vous + spécifiez un pourcentage de temps avant expiration plus + important, les mises à jour seront plus fréquentes, ce qui va + augmenter la charge de l'infrastructure de serveurs du CA et + nécessiter d'avantage de coordination entre les processus + enfants de votre propre serveur. +

+ La valeur par défaut choisie est de 33%, ce qui signifie que la + demande de renouvellement interviendra lorsque la durée de vie + de la réponse OCSP passera en dessous de 33%. Pour une CA qui + fournit des réponses OCSP avec une durée de vie de 3 jours, cela + implique 2 jours de mise en cache et 1 jour pour les tentatives + de renouvellement. Pour affecter votre domaine, une interruption + de service devra donc avoir une durée supérieure à 1 jour. +

+ Vous pouvez aussi définir de manière absolue la durée de vie + restante, par exemple `2d` pour 2 jours. +

+ +
+
top
+

Directive MDStoreDir

+ + + + + + + +
Description:Chemin dans le système de fichiers local du répertoire où + seront stockées les données à propos des domaines gérés.
Syntaxe:MDStoreDir path
Défaut:MDStoreDir md
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Cette directive permet de définir le répertoire dans le système + de fichiers local où seront stockées les données à propos des + domaines gérés. Il s'agit d'un chemin absolu ou relatif à la + racine du serveur. Par défaut, le répertoire "md" sera créé à la + racine de votre serveur. +

+ Si vous souhaitez changer de répertoire et si ce dernier + contient déjà des données, copiez tout d'abord les données vers + le nouveau répertoire, puis modifier la configuration et + redémarrez le serveur. Si vous commencez par modifier la + configuration et redémarrer le serveur sans copier les données, + ce dernier croira que les certificats sont absents et il tentera + d'en obtenir de nouveaux. +

+ +
+
top
+

Directive MDStoreLocks

+ + + + + + + + +
Description:
Syntaxe:MDStoreLocks on|off|duration
Défaut:MDStoreLocks off
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
Compatibilité:Disponible à partir de la version 2.4.55 du serveur HTTP + Apache
+

+ Définissez cette directive pour utiliser un fichier verrou au + démarrage du serveur lorsque MDStoreDir + est synchronisé avec la configuration du serveur et si les + certificats renouvelés sont activés. +

+ Le verrouillage a été implémenté pour les configurations de + cluster où MDStoreDir appartient à un système de fichiers + partagé. L'activation des certificats renouvelés sera alors + protégée lorsque plusieurs noeuds du cluster sont redémarrés ou + reconfigurés simultanément ; ceci à condition bien entendu que + le système de fichiers partagé prenne en charge le verrouillage + de fichier. +

+ Le temps d'attente par défaut pour obtenir le verrou est de 5 + secondes. Si le verrou ne peut pas être obtenu, une erreur est + enregistrée dans le journal et le démarrage du serveur se + poursuit ; de ce fait, un des noeuds du cluster pourra encore + utiliser les anciens certificats par la suite. +

+ Un délai d'attente plus long réduira cette probabilité, mais + pourra aussi retarder les redémarrages et reconfigurations du + serveur dans le cas où les verrous ne sont pas correctement + gérés dans le système de fichiers sous-jacent. Un verrou ne doit + être maintenu par une instance de httpd que pendant une courte + durée. +

+ +
+
top
+

Directive MDWarnWindow

+ + + + + + + +
Description:Définit la fenêtre de temps pendant laquelle vous serez + informé de l'expiration prochaine d'un certificat.
Syntaxe:MDWarnWindow duration
Défaut:MDWarnWindow 10%
Contexte:configuration globale
Statut:Expérimental
Module:mod_md
+

+ Voir la directive MDRenewWindow pour une description + de la méthode à employer pour spécifier cette durée. +

+ Le module inspecte la durée de vie restante des certificats et + invoque MDMessageCmd + lorsqu'une de ces durées devient inférieure à la fenêtre de + temps spécifiée. Si l'on conserve la valeur par défaut, cette + durée correspond à 9 jours pour les certificats de Let's + Encrypt. +

+ Cette directive s'applique aussi aux domaines gérés via des + fichiers de certificats statiques (voir la directive MDCertificateFile). +

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime.html b/docs/manual/mod/mod_mime.html new file mode 100644 index 0000000..999228c --- /dev/null +++ b/docs/manual/mod/mod_mime.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_mime.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_mime.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_mime.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_mime.html.en b/docs/manual/mod/mod_mime.html.en new file mode 100644 index 0000000..60b8406 --- /dev/null +++ b/docs/manual/mod/mod_mime.html.en @@ -0,0 +1,1060 @@ + + + + + +mod_mime - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_mime

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + +
Description:Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)
Status:Base
Module Identifier:mime_module
Source File:mod_mime.c
+

Summary

+ +

This module is used to assign content metadata to the content + selected for an HTTP response by mapping patterns in the + URI or filenames to the metadata values. For example, the filename + extensions of content files often define the content's Internet + media type, language, character set, and content-encoding. This + information is sent in HTTP messages containing that content and + used in content negotiation when selecting alternatives, such that + the user's preferences are respected when choosing one of several + possible contents to serve. See + mod_negotiation for more information + about content negotiation.

+ +

The directives AddCharset, AddEncoding, AddLanguage and AddType are all used to map file + extensions onto the metadata for that file. Respectively + they set the character set, content-encoding, content-language, + and media-type (content-type) of documents. The directive TypesConfig is used to specify a + file which also maps extensions onto media types.

+ +

In addition, mod_mime may define the handler and filters that originate and process + content. The directives AddHandler, AddOutputFilter, and AddInputFilter control the modules + or scripts that serve the document. The MultiviewsMatch directive allows + mod_negotiation to consider these file extensions + to be included when testing Multiviews matches.

+ +

While mod_mime associates metadata + with filename extensions, the core server + provides directives that are used to associate all the files in a + given container (e.g., <Location>, <Directory>, or <Files>) with particular + metadata. These directives include ForceType, SetHandler, SetInputFilter, and SetOutputFilter. The core directives + override any filename extension mappings defined in + mod_mime.

+ +

Note that changing the metadata for a file does not + change the value of the Last-Modified header. + Thus, previously cached copies may still be used by a client or + proxy, with the previous headers. If you change the + metadata (language, content type, character set or + encoding) you may need to 'touch' affected files (updating + their last modified date) to ensure that all visitors are + receive the corrected content headers.

+
+ +
top
+
+

Files with Multiple Extensions

+

Files can have more than one extension; the order of the + extensions is normally irrelevant. For example, if the + file welcome.html.fr maps onto content type + text/html and language French then the file + welcome.fr.html will map onto exactly the same + information. If more than one extension is given that maps onto + the same type of metadata, then the one to the right will + be used, except for languages and content encodings. For example, + if .gif maps to the media-type + image/gif and .html maps to the + media-type text/html, then the file + welcome.gif.html will be associated with the + media-type text/html.

+ +

Languages and content encodings are treated accumulative, because one can assign + more than one language or encoding to a particular resource. For example, + the file welcome.html.en.de will be delivered with + Content-Language: en, de and Content-Type: + text/html.

+ +

Care should be taken when a file with multiple extensions + gets associated with both a media-type + and a handler. This will + usually result in the request being handled by the module associated + with the handler. For example, if the .imap + extension is mapped to the handler imap-file (from + mod_imagemap) and the .html extension is + mapped to the media-type text/html, then the file + world.imap.html will be associated with both the + imap-file handler and text/html media-type. + When it is processed, the imap-file handler will be used, + and so it will be treated as a mod_imagemap imagemap + file.

+ +

If you would prefer only the last dot-separated part of the + filename to be mapped to a particular piece of meta-data, then do + not use the Add* directives. For example, if you wish + to have the file foo.html.cgi processed as a CGI + script, but not the file bar.cgi.html, then instead + of using AddHandler cgi-script .cgi, use

+ +

Configure handler based on final extension only

<FilesMatch "[^.]+\.cgi$">
+  SetHandler cgi-script
+</FilesMatch>
+
+ +
top
+
+

Content encoding

+

A file of a particular media-type can additionally be encoded a + particular way to simplify transmission over the Internet. + While this usually will refer to compression, such as + gzip, it can also refer to encryption, such a + pgp or to an encoding such as UUencoding, which is + designed for transmitting a binary file in an ASCII (text) + format.

+ +

The HTTP/1.1 + RFC, section 14.11 puts it this way:

+ +
+

The Content-Encoding entity-header field is used as a modifier to + the media-type. When present, its value indicates what additional + content codings have been applied to the entity-body, and thus what + decoding mechanisms must be applied in order to obtain the media-type + referenced by the Content-Type header field. Content-Encoding is + primarily used to allow a document to be compressed without losing + the identity of its underlying media type.

+
+ +

By using more than one file extension (see section above about multiple file + extensions), you can indicate that a file is of a + particular type, and also has a particular + encoding.

+ +

For example, you may have a file which is a Microsoft Word + document, which is pkzipped to reduce its size. If the + .doc extension is associated with the Microsoft + Word file type, and the .zip extension is + associated with the pkzip file encoding, then the file + Resume.doc.zip would be known to be a pkzip'ed Word + document.

+ +

Apache sends a Content-encoding header with the + resource, in order to tell the client browser about the + encoding method.

+ +
Content-encoding: pkzip
+ +
top
+
+

Character sets and languages

+

In addition to file type and the file encoding, + another important piece of information is what language a + particular document is in, and in what character set the file + should be displayed. For example, the document might be written + in the Vietnamese alphabet, or in Cyrillic, and should be + displayed as such. This information, also, is transmitted in + HTTP headers.

+ +

The character set, language, encoding and mime type are all + used in the process of content negotiation (See + mod_negotiation) to determine + which document to give to the client, when there are + alternative documents in more than one character set, language, + encoding or mime type. All filename extensions associations + created with AddCharset, + AddEncoding, AddLanguage and AddType directives + (and extensions listed in the MimeMagicFile) participate in this select process. + Filename extensions that are only associated using the AddHandler, AddInputFilter or AddOutputFilter directives may be included or excluded + from matching by using the MultiviewsMatch directive.

+ +

Charset

+

To convey this further information, Apache optionally sends + a Content-Language header, to specify the language + that the document is in, and can append additional information + onto the Content-Type header to indicate the + particular character set that should be used to correctly + render the information.

+ +

+Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 +

+ +

The language specification is the two-letter abbreviation + for the language. The charset is the name of the + particular character set which should be used.

+ +
+
top
+

AddCharset Directive

+ + + + + + + +
Description:Maps the given filename extensions to the specified content +charset
Syntax:AddCharset charset extension +[extension] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The AddCharset directive maps the given + filename extensions to the specified content charset (the Internet + registered name for a given character encoding). charset + is the media + type's charset parameter for resources with filenames containing + extension. This mapping is added to any already in force, + overriding any mappings that already exist for the same + extension.

+ +

Example

AddLanguage ja .ja
+AddCharset EUC-JP .euc
+AddCharset ISO-2022-JP .jis
+AddCharset SHIFT_JIS .sjis
+
+ +

Then the document xxxx.ja.jis will be treated + as being a Japanese document whose charset is ISO-2022-JP + (as will the document xxxx.jis.ja). The + AddCharset directive is useful for both to + inform the client about the character encoding of the document so that + the document can be interpreted and displayed appropriately, and for content negotiation, + where the server returns one from several documents based on + the client's charset preference.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have multiple extensions and the + extension argument will be compared against each of + them.

+ + +

See also

+ +
+
top
+

AddEncoding Directive

+ + + + + + + +
Description:Maps the given filename extensions to the specified encoding +type
Syntax:AddEncoding encoding extension +[extension] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The AddEncoding directive maps the given + filename extensions to the specified HTTP content-encoding. + encoding is the HTTP content coding to append to the + value of the Content-Encoding header field for documents named with the + extension. This mapping is added to any already in force, + overriding any mappings that already exist for the same + extension.

+ +

Example

AddEncoding x-gzip .gz
+AddEncoding x-compress .Z
+
+ +

This will cause filenames containing the .gz extension + to be marked as encoded using the x-gzip encoding, and + filenames containing the .Z extension to be marked as + encoded with x-compress.

+ +

Old clients expect x-gzip and x-compress, + however the standard dictates that they're equivalent to + gzip and compress respectively. Apache does + content encoding comparisons by ignoring any leading x-. + When responding with an encoding Apache will use whatever form + (i.e., x-foo or foo) the + client requested. If the client didn't specifically request a + particular form Apache will use the form given by the + AddEncoding directive. To make this long story + short, you should always use x-gzip and + x-compress for these two specific encodings. More + recent encodings, such as deflate, should be + specified without the x-.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have multiple extensions and the + extension argument will be compared against each of + them.

+ +
+
top
+

AddHandler Directive

+ + + + + + + +
Description:Maps the filename extensions to the specified +handler
Syntax:AddHandler handler-name extension +[extension] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

Files having the name extension will be served by the + specified handler-name. This + mapping is added to any already in force, overriding any mappings that + already exist for the same extension. For example, to + activate CGI scripts with the file extension .cgi, you + might use:

+ +
AddHandler cgi-script .cgi
+ + +

Once that has been put into your httpd.conf file, any file containing + the .cgi extension will be treated as a CGI program.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have multiple extensions and the + extension argument will be compared against each of + them.

+ +

See also

+ +
+
top
+

AddInputFilter Directive

+ + + + + + + +
Description:Maps filename extensions to the filters that will process +client requests
Syntax:AddInputFilter filter[;filter...] +extension [extension] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

AddInputFilter maps the filename extension + extension to the filters which + will process client requests and POST input when they are received by + the server. This is in addition to any filters defined elsewhere, + including the SetInputFilter + directive. This mapping is merged over any already in force, overriding + any mappings that already exist for the same extension.

+ +

If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content. The filter is case-insensitive.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have multiple extensions and the + extension argument will be compared against each of + them.

+ + +

See also

+ +
+
top
+

AddLanguage Directive

+ + + + + + + +
Description:Maps the given filename extension to the specified content +language
Syntax:AddLanguage language-tag extension +[extension] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The AddLanguage directive maps the given + filename extension to the specified content language. Files with the + filename extension are assigned an HTTP Content-Language + value of language-tag corresponding to the language + identifiers defined by RFC 3066. + This directive overrides any mappings that already exist for the same + extension.

+ +

Example

AddEncoding x-compress .Z
+AddLanguage en .en
+AddLanguage fr .fr
+
+ +

Then the document xxxx.en.Z will be treated as + being a compressed English document (as will the document + xxxx.Z.en). Although the content language is + reported to the client, the browser is unlikely to use this + information. The AddLanguage directive is + more useful for content + negotiation, where the server returns one from several documents + based on the client's language preference.

+ +

If multiple language assignments are made for the same + extension, the last one encountered is the one that is used. + That is, for the case of:

+ +
AddLanguage en .en
+AddLanguage en-gb .en
+AddLanguage en-us .en
+ + +

documents with the extension .en would be treated as + being en-us.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have multiple extensions and the + extension argument will be compared against each of + them.

+ +

See also

+ +
+
top
+

AddOutputFilter Directive

+ + + + + + + +
Description:Maps filename extensions to the filters that will process +responses from the server
Syntax:AddOutputFilter filter[;filter...] +extension [extension] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The AddOutputFilter directive maps the + filename extension extension to the filters which will process responses + from the server before they are sent to the client. This is in + addition to any filters defined elsewhere, including SetOutputFilter and AddOutputFilterByType directive. This mapping is merged + over any already in force, overriding any mappings that already exist + for the same extension.

+ +

For example, the following configuration will process all + .shtml files for server-side includes and will then + compress the output using mod_deflate.

+ +
AddOutputFilter INCLUDES;DEFLATE shtml
+ + +

If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content. The filter argument is case-insensitive.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have multiple extensions and the + extension argument will be compared against each of + them.

+ +

Note that when defining a set of filters using the + AddOutputFilter directive, + any definition made will replace any previous definition made by + the AddOutputFilter + directive.

+ +
# Effective filter "DEFLATE"
+AddOutputFilter DEFLATE shtml
+<Location "/foo">
+  # Effective filter "INCLUDES", replacing "DEFLATE"
+  AddOutputFilter INCLUDES shtml
+</Location>
+<Location "/bar">
+  # Effective filter "INCLUDES;DEFLATE", replacing "DEFLATE"
+  AddOutputFilter INCLUDES;DEFLATE shtml
+</Location>
+<Location "/bar/baz">
+  # Effective filter "BUFFER", replacing "INCLUDES;DEFLATE"
+  AddOutputFilter BUFFER shtml
+</Location>
+<Location "/bar/baz/buz">
+  # No effective filter, replacing "BUFFER"
+  RemoveOutputFilter shtml
+</Location>
+ + +

See also

+ +
+
top
+

AddType Directive

+ + + + + + + +
Description:Maps the given filename extensions onto the specified content +type
Syntax:AddType media-type extension +[extension] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The AddType directive maps the given + filename extensions onto the specified content + type. media-type is the media + type to use for filenames containing + extension. This mapping is added to any already in + force, overriding any mappings that already exist for the same + extension.

+ +
+ It is recommended that new media types be added using the + AddType directive rather than changing the + TypesConfig file. +
+ +

Example

AddType image/gif .gif
+
+ +

Or, to specify multiple file extensions in one directive:

+ +

Example

AddType image/jpeg jpeg jpg jpe
+
+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have multiple extensions and the + extension argument will be compared against each of + them.

+ +

A similar effect to mod_negotiation's + LanguagePriority + can be achieved by qualifying a media-type with + qs:

+ +

Example

AddType application/rss+xml;qs=0.8 .xml
+
+ +

This is useful in situations, e.g. when a client + requesting Accept: */* can not actually processes + the content returned by the server.

+ +

This directive primarily configures the content types generated for + static files served out of the filesystem. For resources other than + static files, where the generator of the response typically specifies + a Content-Type, this directive has no effect.

+ + +

Note

+

If no handler is explicitly set for a request, the specified content + type will also be used as the handler name.

+ +

When explicit directives such as + SetHandler or + AddHandler do not apply + to the current request, the internal handler name normally set by those + directives is instead set to the content type specified by this directive. +

+

+ This is a historical behavior that may be used by some third-party modules + (such as mod_php) for taking responsibility for the matching request. +

+ +

Configurations that rely on such "synthetic" types should be avoided. + Additionally, configurations that restrict access to + SetHandler or + AddHandler should + restrict access to this directive as well.

+
+ + +

See also

+ +
+
top
+

DefaultLanguage Directive

+ + + + + + + +
Description:Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
Syntax:DefaultLanguage language-tag
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The DefaultLanguage directive tells Apache + that all resources in the directive's scope (e.g., all resources + covered by the current <Directory> container) that don't have an explicit language + extension (such as .fr or .de as configured + by AddLanguage) should be + assigned a Content-Language of language-tag. This allows + entire directory trees to be marked as containing Dutch content, for + instance, without having to rename each file. Note that unlike using + extensions to specify languages, DefaultLanguage + can only specify a single language.

+ +

If no DefaultLanguage directive is in force + and a file does not have any language extensions as configured + by AddLanguage, then no + Content-Language header field will be generated.

+ +

Example

DefaultLanguage en
+
+ +

See also

+ +
+
top
+

ModMimeUsePathInfo Directive

+ + + + + + + +
Description:Tells mod_mime to treat path_info +components as part of the filename
Syntax:ModMimeUsePathInfo On|Off
Default:ModMimeUsePathInfo Off
Context:directory
Status:Base
Module:mod_mime
+

The ModMimeUsePathInfo directive is used to + combine the filename with the path_info URL component to + apply mod_mime's directives to the request. The default + value is Off - therefore, the path_info + component is ignored.

+ +

This directive is recommended when you have a virtual filesystem.

+ +

Example

ModMimeUsePathInfo On
+
+ +

If you have a request for /index.php/foo.shtml + mod_mime will now treat the + incoming request as /index.php/foo.shtml and directives + like AddOutputFilter INCLUDES .shtml will add the + INCLUDES filter to the request. If ModMimeUsePathInfo is not set, the + INCLUDES filter will not be added. This will work + analogously for virtual paths, such as those defined by + <Location>

+ +

See also

+ +
+
top
+

MultiviewsMatch Directive

+ + + + + + + + +
Description:The types of files that will be included when searching for +a matching file with MultiViews
Syntax:MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]
Default:MultiviewsMatch NegotiatedOnly
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

MultiviewsMatch permits three different + behaviors for mod_negotiation's + Multiviews feature. Multiviews allows a request for a file, + e.g. index.html, to match any negotiated + extensions following the base request, e.g. + index.html.en, index.html.fr, or + index.html.gz.

+ +

The NegotiatedOnly option provides that every extension + following the base name must correlate to a recognized + mod_mime extension for content negotiation, e.g. + Charset, Content-Type, Language, or Encoding. This is the strictest + implementation with the fewest unexpected side effects, and is the + default behavior.

+ +

To include extensions associated with Handlers and/or Filters, + set the MultiviewsMatch directive to either + Handlers, Filters, or both option keywords. + If all other factors are equal, the smallest file will be served, + e.g. in deciding between index.html.cgi of 500 + bytes and index.html.pl of 1000 bytes, the .cgi + file would win in this example. Users of .asis files + might prefer to use the Handler option, if .asis files are + associated with the asis-handler.

+ +

You may finally allow Any extensions to match, even if + mod_mime doesn't recognize the extension. This can cause + unpredictable results, such as serving .old or .bak files the webmaster + never expected to be served.

+ +

For example, the following configuration will allow handlers + and filters to participate in Multviews, but will exclude unknown + files:

+ +
MultiviewsMatch Handlers Filters
+ + +

MultiviewsMatch is not allowed in a + <Location> or <LocationMatch> section.

+ + +

See also

+ +
+
top
+

RemoveCharset Directive

+ + + + + + + +
Description:Removes any character set associations for a set of file +extensions
Syntax:RemoveCharset extension [extension] +...
Context:virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The RemoveCharset directive removes any + character set associations for files with the given extensions. + This allows .htaccess files in subdirectories to + undo any associations inherited from parent directories or the + server config files.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot.

+ +

Example

RemoveCharset .html .shtml
+
+ +
+
top
+

RemoveEncoding Directive

+ + + + + + + +
Description:Removes any content encoding associations for a set of file +extensions
Syntax:RemoveEncoding extension [extension] +...
Context:virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The RemoveEncoding directive removes any + encoding associations for files with the given extensions. This + allows .htaccess files in subdirectories to undo + any associations inherited from parent directories or the + server config files. An example of its use might be:

+ +

/foo/.htaccess:

AddEncoding x-gzip .gz
+AddType text/plain .asc
+<Files "*.gz.asc">
+    RemoveEncoding .gz
+</Files>
+
+ +

This will cause foo.gz to be marked as being + encoded with the gzip method, but foo.gz.asc as an + unencoded plaintext file.

+ +

Note

+

RemoveEncoding directives are processed + after any AddEncoding + directives, so it is possible they may undo the effects of the latter + if both occur within the same directory configuration.

+
+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot.

+ +
+
top
+

RemoveHandler Directive

+ + + + + + + +
Description:Removes any handler associations for a set of file +extensions
Syntax:RemoveHandler extension [extension] +...
Context:virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The RemoveHandler directive removes any + handler associations for files with the given extensions. This allows + .htaccess files in subdirectories to undo any + associations inherited from parent directories or the server + config files. An example of its use might be:

+ +

/foo/.htaccess:

AddHandler server-parsed .html
+
+ +

/foo/bar/.htaccess:

RemoveHandler .html
+
+ +

This has the effect of returning .html files in + the /foo/bar directory to being treated as normal + files, rather than as candidates for parsing (see the mod_include module).

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot.

+ +
+
top
+

RemoveInputFilter Directive

+ + + + + + + +
Description:Removes any input filter associations for a set of file +extensions
Syntax:RemoveInputFilter extension [extension] +...
Context:virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The RemoveInputFilter directive removes any + input filter associations for files with + the given extensions. + This allows .htaccess files in subdirectories to + undo any associations inherited from parent directories or the + server config files.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot.

+ +

See also

+ +
+
top
+

RemoveLanguage Directive

+ + + + + + + +
Description:Removes any language associations for a set of file +extensions
Syntax:RemoveLanguage extension [extension] +...
Context:virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The RemoveLanguage directive removes any + language associations for files with the given extensions. This + allows .htaccess files in subdirectories to undo + any associations inherited from parent directories or the + server config files.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot.

+ +
+
top
+

RemoveOutputFilter Directive

+ + + + + + + +
Description:Removes any output filter associations for a set of file +extensions
Syntax:RemoveOutputFilter extension [extension] +...
Context:virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The RemoveOutputFilter directive removes any + output filter associations for files with + the given extensions. + This allows .htaccess files in subdirectories to + undo any associations inherited from parent directories or the + server config files.

+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot.

+ +

Example

RemoveOutputFilter shtml
+
+ +

See also

+ +
+
top
+

RemoveType Directive

+ + + + + + + +
Description:Removes any content type associations for a set of file +extensions
Syntax:RemoveType extension [extension] +...
Context:virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_mime
+

The RemoveType directive removes any + media type associations for files with + the given extensions. This allows .htaccess files in + subdirectories to undo any associations inherited from parent + directories or the server config files. An example of its use + might be:

+ +

/foo/.htaccess:

RemoveType .cgi
+
+ +

This will remove any special handling of .cgi + files in the /foo/ directory and any beneath it, + causing responses containing those files to omit the HTTP + Content-Type header field.

+ +

Note

+

RemoveType directives are processed + after any AddType + directives, so it is possible they may undo the effects of the + latter if both occur within the same directory configuration.

+
+ +

The extension argument is case-insensitive and can + be specified with or without a leading dot.

+ +
+
top
+

TypesConfig Directive

+ + + + + + + +
Description:The location of the mime.types file
Syntax:TypesConfig file-path
Default:TypesConfig conf/mime.types
Context:server config
Status:Base
Module:mod_mime
+

The TypesConfig directive sets the + location of the media types + configuration file. File-path is relative to the + ServerRoot. This file sets + the default list of mappings from filename extensions to content + types. Most administrators use the mime.types file + provided by their OS, which associates common filename + extensions with the official list of IANA registered media types + maintained at http://www.iana.org/assignments/media-types/index.html + as well as a large number of unofficial types. This + simplifies the httpd.conf file by providing the + majority of media-type definitions, and may be overridden by + AddType directives as + needed. You should not edit the mime.types file, + because it may be replaced when you upgrade your server.

+ +

The file contains lines in the format of the arguments to + an AddType directive:

+ +

+ media-type [extension] ... +

+ +

The case of the extension does not matter. Blank lines, and lines + beginning with a hash character (#) are ignored. + Empty lines are there for completeness (of the mime.types file). + Apache httpd can still determine these types with mod_mime_magic. +

+ +
+ Please do not send requests to the Apache HTTP + Server Project to add any new entries in the distributed + mime.types file unless (1) they are already + registered with IANA, and (2) they use widely accepted, + non-conflicting filename extensions across platforms. + category/x-subtype requests will be automatically + rejected, as will any new two-letter extensions as they will + likely conflict later with the already crowded language and + character set namespace. +
+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime.html.fr.utf8 b/docs/manual/mod/mod_mime.html.fr.utf8 new file mode 100644 index 0000000..3c00b2d --- /dev/null +++ b/docs/manual/mod/mod_mime.html.fr.utf8 @@ -0,0 +1,1129 @@ + + + + + +mod_mime - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_mime

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langue, +jeu de caractère et codage)
Statut:Base
Identificateur de Module:mime_module
Fichier Source:mod_mime.c
+

Sommaire

+ +

Ce module permet d'assigner des métadonnées aux contenus + sélectionnés pour une réponse HTTP, en associant des modèles d'URI + ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les + extensions de noms de fichiers définissent souvent le type de médium + Internet, la langue, le jeu de caractères et le codage du contenu. + Ces informations sont relayées par les messages HTTP véhiculant ces + contenus, et utilisées au cours de la négociation de contenu lors de + la sélection des différentes possibilités, de manière à ce que les + préférences des utilisateurs soient respectées lors du choix d'un + contenu à servir parmi plusieurs autres contenus. Voir + mod_negotiation pour plus d'informations à propos + de la négociation de + contenu.

+ +

Les directives AddCharset, AddEncoding, AddLanguage et AddType permettent d'associer des + extensions de fichiers aux métadonnées de ces fichiers. Elles + définissent respectivement le jeu de caractères, le codage du + contenu, la langue du contenu et le type de + médium (content-type) des documents. La directive + TypesConfig permet de + spécifier un fichier qui contient lui-même des associations entre + extensions et types de media.

+ +

De plus, mod_mime peut définir le gestionnaire et les filtres qui sont à l'origine du contenu et + le traitent. Les directives AddHandler, AddOutputFilter, et AddInputFilter permettent de contrôler + les modules ou les scripts qui vont servir le document. La directive + MultiviewsMatch permet à + mod_negotiation de déterminer les extensions de + fichiers à inclure lors des tests de correspondances multivues.

+ +

Alors que mod_mime associe des métadonnées avec + des extensions de fichiers, le serveur de base core + fournit des directives permettant d'associer tous les fichiers d'un + conteneur donné (par exemple <Location>, <Directory>, ou <Files>) avec des métadonnées particulières. + Parmi ces directives, on trouve ForceType, SetHandler, SetInputFilter, et SetOutputFilter. Les directives du serveur + de base l'emportent sur toute directive d'association d'extensions + de noms de fichiers définie par mod_mime.

+ +

Notez que la modification des métadonnées d'un fichier ne modifie + pas la valeur de l'en-tête Last-Modified. Ainsi, + certaines copies de documents préalablement mises en cache peuvent + encore être utilisées par un client ou un mandataire avec les + anciens en-têtes. Si vous modifiez les métadonnées (langue, type de + contenu, jeu de caractère ou codage), vous devez donc enregistrer + une modification du fichier concerné (afin de mettre à jour sa date + de dernière modification), pour être sûr que tous les visiteurs + recevront le documents avec les en-têtes corrects.

+
+ +
top
+
+

Fichiers avec extensions +multiples

+

Les fichiers peuvent posséder plusieurs extensions dont l'ordre + est normalement sans importance. Par exemple, si + le fichier welcome.html.fr est associé au type de + contenu text/html et à la langue française, le fichier + welcome.fr.html possèdera exactement les même + métadonnées. Si le fichier possède plusieurs extensions associées + au même type de métadonnée, c'est celle de ces extensions la plus à + droite qui sera utilisée, excepté pour ce qui concerne les langues + et les codages de contenu. Par exemple, si .gif est + associé au type de médium + image/gif, et .html au type de médium + text/html, le fichier welcome.gif.html + sera associé au type de médium text/html.

+ +

Les Languages et les codages de contenu sont traités de + manière cumulative, car il est possible d'assigner plusieurs + langues ou codages à une ressource particulière. Par exemple, le + fichier welcome.html.en.de sera servi avec les en-têtes + Content-Language: en, de et Content-Type: + text/html.

+ +

Des précautions doivent être prises lorsqu'un fichier avec + extensions multiples est associé à la fois à un type de + médium et à un gestionnaire. En général, cela impliquera + la gestion de la requête par le module associé au gestionnaire. Par + exemple, si l'extension .imap est associée au + gestionnaire imap-file (du module + mod_imagemap), et si l'extension .html + est associée au type de médium text/html, le fichier + world.imap.html sera à la fois associé au gestionnaire + imap-file et au type de médium text/html. + Pour son traitement, c'est le gestionnaire imap-file + qui sera utilisé, et il sera donc traité en tant que fichier + imagemap.

+ +

Si vous préférez que seule la dernière partie d'un nom de fichier + séparée du reste du nom par un point soit associée à une métadonnée + particulière, n'utilisez pas les directives Add*. Par + exemple, si vous souhaitez que le fichier foo.html.cgi + soit traité en tant que script CGI, mais pas le fichier + bar.cgi.html, alors, au lieu d'utiliser + AddHandler cgi-script .cgi, utilisez plutôt :

+ +

Configuration du gestionnaire en se basant seulement + sur la dernière extension

<FilesMatch "[^.]+\.cgi$">
+  SetHandler cgi-script
+</FilesMatch>
+
+ +
top
+
+

Codage du contenu

+

Un fichier d'un type de médium particulier + peut être également codé d'une certaine manière pour simplifier sa + transmission sur Internet. Alors que cela concerne en général la + compression, comme gzip, il peut aussi s'agir de + chiffrement, comme pgp ou d'un codage comme UUencoding, + qui est conçu pour transmettre un fichier binaire sous un format + ASCII (texte).

+ +

La RFC + HTTP/1.1, section 14.11 stipule à ce titre :

+ +
+

Le champ d'en-tête Content-Encoding de l'entité est utilisé en + tant que modificateur du type de médium. Lorsqu'il est présent, sa + valeur indique quels codages de contenu additionnels ont été + appliqués au corps de l'entité, et ainsi quels mécanismes de + décodage doivent être appliqués afin de retrouver le type de + médium référencé par le champ d'en-tête Content-Type. Le codage de + contenu est principalement utilisé pour permettre la compression + d'un document sans perdre l'information concernant le type de + médium sous-jacent.

+
+ +

En utilisant plusieurs extensions (voir la section ci-dessus à propos des extensions de + fichiers multiples), vous pouvez indiquer qu'un fichier est d'un + type, particulier, et possède aussi un codage + particulier.

+ +

Considérons par exemple un fichier contenant un document + Microsoft Word et compressé par pkzip pour réduire sa taille. Si + l'extension .doc est associée au type de fichier + Microsoft Word, et si l'extension .zip est associée au + codage de fichier pkzip, alors le fichier + Resume.doc.zip sera identifié comme document Word + compressé par pkzip.

+ +

Apache joint un en-tête Content-encoding à la + ressource afin d'informer le navigateur client à propos de la + méthode de codage.

+ +
Content-encoding: pkzip
+ +
top
+
+

Jeux de caractères et langues

+

En plus du type de fichier et du codage, un autre élément + important d'information est la langue dans laquelle le document est + écrit, et avec quel jeu de caractères le contenu du fichier doit + être affiché. Par exemple, un document peut être écrit en alphabet + vietnamien ou cyrillique, et doit être affiché en conséquence. Cette + information est également transmise via des en-têtes HTTP.

+ +

Les jeu de caractères, langue, codage et type MIME sont tous + utilisés au cours du processus de négociation de contenu (voir + mod_negotiation) afin de déterminer quel document + servir au client, lorsque plusieurs choix sont possibles en fonction + du jeu de caractères, de la langue, du codage ou du type MIME. Toutes + les associations d'extensions de noms de fichiers créées via les + directives AddCharset, + AddEncoding, AddLanguage et AddType (ainsi que les associations + d'extensions listées dans le fichier défini par la directive + MimeMagicFile), + participent à ce processus de sélection. Les extensions de noms de + fichiers qui n'ont été associés que par des directives AddHandler, AddInputFilter ou AddOutputFilter, peuvent être incluses + ou exclues du processus de sélection en utilisant la directive + MultiviewsMatch.

+ +

Jeu de caractères

+

Pour transmettre cette information supplémentaire, Apache peut + ajouter un en-tête Content-Language, afin de + spécifier la langue dans laquelle le document est écrit, et peut + ajouter des informations additionnelles à l'en-tête + Content-Type pour indiquer le jeu de caractères + particulier qui doit être utilisé pour restituer correctement le + document.

+ +

+ Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 +

+ +

La langue est spécifiée via son abréviation en deux lettres. Le + jeu de caractères est le nom du jeu de caractères + particulier qui doit être utilisé.

+ +
+
top
+

Directive AddCharset

+ + + + + + + +
Description:Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié
Syntaxe:AddCharset jeu-car extension +[extension] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddCharset permet d'associer + les extensions de noms de fichiers spécifiées au jeu de caractères + spécifié (le nom enregistré sur l'Internet d'un codage de caractères + donné). jeu-car est le paramètre jeu + de caractères du type de médium pour les ressources dont le nom + de fichier contient extension. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même extension.

+ +

Exemple

AddLanguage ja .ja
+AddCharset EUC-JP .euc
+AddCharset ISO-2022-JP .jis
+AddCharset SHIFT_JIS .sjis
+
+ +

Avec cet exemple, le document xxxx.ja.jis sera + traité en tant que document japonais dont le jeu de caractère est + ISO-2022-JP (idem pour le document + xxxx.jis.ja). La directive + AddCharset sert à la fois à informer le + client sur le codage des caractères du document afin que ce dernier + puisse être interprété et affiché correctement, et à la négociation de contenu, au + cours de laquelle le serveur décide lequel parmi plusieurs + documents possibles il renvoie au client en fonction des préférences + de ce dernier en matière de jeu de caractères.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ + +

Voir aussi

+ +
+
top
+

Directive AddEncoding

+ + + + + + + +
Description:Associe les extensions de noms de fichiers données au type +de codage spécifié
Syntaxe:AddEncoding codage extension +[extension] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddEncoding permet d'associer + les extensions de noms de fichiers données au codage de contenu HTTP + spécifié. codage est le codage de contenu HTTP à ajouter + à la valeur du champ d'en-tête Content-Encoding pour les documents + possédant l'extension spécifiée. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même extension.

+ +

Exemple

AddEncoding x-gzip .gz
+AddEncoding x-compress .Z
+
+ +

Avec cet exemple, les noms de fichiers possédant l'extension + .gz seront marqués comme codés à l'aide du codage + x-gzip, et les noms de fichiers possédant l'extension + .Z comme codés avec x-compress.

+ +

Les clients anciens n'acceptent que x-gzip et + x-compress, bien que les standards stipulent qu'ils + sont respectivement équivalents à gzip et + compress. Apache effectue ses comparaisons de codages + de contenu en ignorant tout préfixe x-. Lorsqu'il + répond avec un codage, Apache utilise l'une ou l'autre forme (c'est + à dire x-foo ou foo) selon les besoins du + client. Si le client n'a pas besoin d'une forme particulière, Apache + utilisera la forme employée par la directive + AddEncoding. Pour résumer, vous devez toujours utiliser + x-gzip et x-compress pour ces deux + codages spécifiques. Certains codages plus récents, comme + deflate, doivent être spécifiés sans le préfixe + x-.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +
+
top
+

Directive AddHandler

+ + + + + + + +
Description:Associe les extensions de noms de fichiers données au +gestionnaire spécifié
Syntaxe:AddHandler nom-gestionnaire extension +[extension] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

Les fichiers dont le nom a pour extension extension + seront servis par le nom-gestionnaire spécifié. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + extension. Par exemple, pour associer les scripts CGI + avec l'extension de fichier .cgi, vous pouvez utiliser + :

+ +
AddHandler cgi-script .cgi
+ + +

Une fois cette ligne insérée dans votre fichier httpd.conf, tout + fichier possédant l'extension .cgi sera traité en tant + que programme CGI.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Voir aussi

+ +
+
top
+

Directive AddInputFilter

+ + + + + + + +
Description:Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients
Syntaxe:AddInputFilter filtre[;filtre...] +extension [extension] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddInputFilter permet + d'associer l'extension de nom de fichier extension aux filtres spécifiés qui traiteront les + requêtes clients et les entrées POST à leur réception par le + serveur. Ceci s'ajoute à toute définition de filtre préexistante, y + compris la directive SetInputFilter. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + extension.

+ +

Si plusieurs filtres sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel ils devront traiter le contenu. L'argument filtre + est insensible à la casse.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ + +

Voir aussi

+ +
+
top
+

Directive AddLanguage

+ + + + + + + +
Description:Associe l'extension de nom de fichier donnée à la langue +spécifié
Syntaxe:AddLanguage symbole-langue extension +[extension] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddLanguage permet d'associer + l'extension de nom de fichier donnée à la langue spécifiée. Les + fichiers dont l'extension correspond à la valeur + de l'argument extension se voient attribuer la valeur de + l'argument symbole-langue comme en-tête HTTP + Content-Language en accord avec les identifiants de langues définis + par la RFC 3066. Cette directive l'emporte sur toute association + préexistante pour la même extension.

+ +

Exemple

AddEncoding x-compress .Z
+AddLanguage en .en
+AddLanguage fr .fr
+
+ +

Avec cet exemple, le document xxxx.en.Z sera traité + en tant que document compressé de langue anglaise (idem pour le + document xxxx.Z.en). Bien que la langue soit fournie au + client, le navigateur n'utilise habituellement pas cette + information. La directive AddLanguage est + principalement utilisée au cours de la négociation de contenu, où le + serveur choisit d'envoyer un document parmi plusieurs documents + possibles en fonction de la préférence du client en matière de + langue.

+ +

Si une extension fait l'objet de plusieurs associations de + langues, c'est la dernière qui sera utilisée. Ainsi, dans le cas + suivant,

+ +
AddLanguage en .en
+AddLanguage en-gb .en
+AddLanguage en-us .en
+ + +

les documents possédant l'extension .en seront + traités en tant que documents de langue en-us.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Voir aussi

+ +
+
top
+

Directive AddOutputFilter

+ + + + + + + +
Description:Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur
Syntaxe:AddOutputFilter filtre[;filtre...] +extension [extension] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddOutputFilter permet + d'associer l'extension de nom de fichier définie par l'argument + extension aux filtres qui traiteront les réponses en + provenance du serveur avant de les envoyer au client. Ces filtres + s'ajoutent à tout filtre défini par d'autres directives comme + SetOutputFilter et AddOutputFilterByType. Cette association + est fusionnée avec toute autre association en vigueur, et l'emporte + sur toute association préexistante pour la même + extension.

+ +

Avec l'exemple suivant, tous les fichiers .shtml + seront traités en tant qu'inclusions côté serveur (SSI), et la + sortie sera compressée à l'aide du module + mod_deflate.

+ +
AddOutputFilter INCLUDES;DEFLATE shtml
+ + +

Si plusieurs filtres sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel il devront traiter le contenu. L'argument filtre + est insensible à la casse.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Notez que toute définition de filtres via la directive AddOutputFilter remplace toutes les + définitions précédentes effectuées via cette même directive.

+ +
# Filtre spécifié "DEFLATE"
+AddOutputFilter DEFLATE shtml
+<Location "/foo">
+  # Filtre spécifié "INCLUDES", remplace "DEFLATE"
+  AddOutputFilter INCLUDES shtml
+</Location>
+<Location "/bar">
+  # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE"
+  AddOutputFilter INCLUDES;DEFLATE shtml
+</Location>
+<Location "/bar/baz">
+  # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE"
+  AddOutputFilter BUFFER shtml
+</Location>
+<Location "/bar/baz/buz">
+  # Pas de filtre spécifié, suppression de "BUFFER"
+  RemoveOutputFilter shtml
+</Location>
+ + +

Voir aussi

+ +
+
top
+

Directive AddType

+ + + + + + + +
Description:Associe les extensions de noms de fichiers au type de +contenu spécifié
Syntaxe:AddType type-médium extension +[extension] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddType permet d'associer les + extensions de noms de fichiers données au type de contenu spécifié. + type-médium est le Type + MIME à utiliser pour les fichiers dont le nom possède + l'extension extension. Cette association s'ajoute à toute + autre association en vigueur, et l'emporte sur toute association + préexistante pour la même extension.

+ +
+ Plutôt que d'éditer directement le fichier TypesConfig, il est recommandé + d'utiliser la directive AddType pour + ajouter de nouveaux types de médias. +
+ +

Exemple

AddType image/gif .gif
+
+ +

Ou, pour spécifier plusieurs extensions dans une seule directive + :

+ +

Exemple

AddType image/jpeg jpeg jpg jpe
+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Il est possible d'obtenir un effet similaire à celui de la + directive LanguagePriority du module + mod_negotiation en qualifiant un type de + média avec qs :

+ +

Exemple

AddType application/rss+xml;qs=0.8 .xml
+
+ +

Ceci peut s'avérer utile dans certaines situations, par exemple + lorsqu'un client qui a ajouté un en-tête Accept: */* à + sa requête n'est pas en mesure de traiter le contenu renvoyé par le + serveur.

+ +

À la base, cette directive configure le type de contenu généré + pour les fichiers statiques servis à partir du système de fichiers. + Dans le cas des ressources autres que les fichiers statiques pour + lesquelles le générateur de la réponse spécifie en général un + Content-Type, cette directive n'a aucun effet.

+ +

Note

+

Si aucun gestionnaire n'est explicitement défini pour une + requête, le type de contenu spécifié sera aussi utilisé comme nom du + gestionnaire.

+ +

Lorsqu'aucune directive comme SetHandler ou + AddHandler ne s'applique à + une requête, le nom de gestionnaire interne normalement défini + par une de ces directives est en fait défini par le type de contenu + spécifié par la présente directive.

+

+ Pour des raisons historiques, certains modules tiers comme mod_php + peuvent adopter ce type de comportement pour prendre en compte la + requête concernée. +

+

Il est conseillé d'éviter les configurations qui reposent sur de + tels types "synthétiques". En outre, les configurations qui + limitent l'accès aux directives SetHandler ou AddHandler doivent aussi limiter + l'accès à la directive AddType.

+
+ + +

Voir aussi

+ +
+
top
+

Directive DefaultLanguage

+ + + + + + + +
Description:Définit un symbole de langue par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langue n'a été +associé.
Syntaxe:DefaultLanguage symbole-langue
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive DefaultLanguage permet + d'indiquer à Apache que toutes les ressources du contexte courant + (par exemple, toutes les ressources concernées par le conteneur + <Directory> + courant) qui ne possèdent pas d'extension de langue explicite + (comme .fr ou .de tel que défini par la + directive AddLanguage), + verront leur en-tête HTTP Content-Language affecté de la langue + symbole-langue. Ceci permet de marquer des arborescences + de répertoires entières comme contenant des documents en français, + par exemple, sans avoir à renommer chaque fichier. Notez qu'à la + différence de l'utilisation des extensions pour spécifier des + langues, DefaultLanguage ne permet de + spécifier qu'une seule langue.

+ +

Si aucune directive DefaultLanguage n'est + en vigueur, et si un fichier ne possède pas d'extension configurée + par la directive AddLanguage, aucun champ d'en-tête + Content-Language ne sera généré.

+ +

Exemple

DefaultLanguage en
+
+ +

Voir aussi

+ +
+
top
+

Directive ModMimeUsePathInfo

+ + + + + + + +
Description:Indique à mod_mime de traiter les éléments +de path_info en tant que parties du nom de +fichier
Syntaxe:ModMimeUsePathInfo On|Off
Défaut:ModMimeUsePathInfo Off
Contexte:répertoire
Statut:Base
Module:mod_mime
+

La directive ModMimeUsePathInfo permet de + combiner le nom de fichier avec la partie path_info de + l'URL pour appliquer les directives mod_mime à la + requête. La valeur par défaut est Off - situation dans + laquelle l'élément path_info est ignoré.

+ +

L'utilisation de cette directive est conseillée si vous utilisez + un système de fichiers virtuel.

+ +

Exemple

ModMimeUsePathInfo On
+
+ +

Considérons une requête pour /index.php/foo.shtml, + mod_mime ne traitera pas la requête entrante comme + /index.php/foo.shtml et les directives comme + AddOutputFilter INCLUDES .shtml ajouteront le filtre + INCLUDES à la requête. Si la directive + ModMimeUsePathInfo n'est pas définie, le + filtre INCLUDES ne sera pas ajouté. Le fonctionnement + sera identique dans le cas des chemins virtuels, tels que ceux + définis par la directive <Location>

+ +

Voir aussi

+ +
+
top
+

Directive MultiviewsMatch

+ + + + + + + + +
Description:Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)
Syntaxe:MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]
Défaut:MultiviewsMatch NegotiatedOnly
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive MultiviewsMatch permet trois + comportements différents pour la fonctionnalité Multiviews du module + mod_negotiation. Les vues + multiples permettent d'associer une requête pour un fichier, par + exemple index.html, à toute extension négociée + s'ajoutant à la requête de base, par exemple + index.html.en, index.html.fr, ou + index.html.gz.

+ +

L'option NegotiatedOnly implique que toute extension + s'ajoutant au nom de base doit correspondre à une extension de + mod_mime reconnue pour la négociation de contenu, + par exemple Charset, Content-Type, Language, ou Encoding. C'est la + valeur d'option par défaut, et la contrainte la plus stricte + dont les effets de bord inattendus sont les moins nombreux.

+ +

Pour inclure des extensions associées avec des gestionnaires + et/ou des filtres, définissez la directive + MultiviewsMatch avec les mots-clés + Handlers, Filters, ou les deux. Si tous + les autres facteurs sont égaux, c'est le fichier de plus petite + taille qui sera servi ; par exemple, si le choix doit s'opérer entre + index.html.cgi de 500 octets et + index.html.pl de 1000 octets, c'est le fichier + .cgi qui l'emportera dans cet exemple. Les utilisateurs + de fichiers .asis auront avantage à utiliser l'option + Handler, si les fichiers .asis sont associés au + gestionnaire asis-handler.

+ +

Vous pouvez enfin autoriser l'association de toute extension avec + l'option Any, même si mod_mime ne + reconnaît pas l'extension. Ceci + peut conduire à des résultats imprévisibles, comme l'envoi de + fichiers .old ou .bak contrairement aux souhaits du webmaster.

+ +

Par exemple, la configuration suivante va permettre l'inclusion + des extensions associées aux gestionnaires et aux filtres dans les + vues multiples, tout en excluant les fichiers de type inconnu :

+ +
MultiviewsMatch Handlers Filters
+ + +

L'utilisation de la directive + MultiviewsMatch dans une section <Location> ou <LocationMatch> n'est pas + permise.

+ + +

Voir aussi

+ +
+
top
+

Directive RemoveCharset

+ + + + + + + +
Description:Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveCharset extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveCharset permet de + supprimer toute association de jeu de caractères pour les fichiers + dont les noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +

Exemple

RemoveCharset .html .shtml
+
+ +
+
top
+

Directive RemoveEncoding

+ + + + + + + +
Description:Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveEncoding extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveEncoding permet de + supprimer toute association de codage pour les fichiers dont les + noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ +

/foo/.htaccess:

AddEncoding x-gzip .gz
+AddType text/plain .asc
+<Files "*.gz.asc">
+    RemoveEncoding .gz
+</Files>
+
+ +

Avec cette configuration, le fichier foo.gz sera + marqué comme codé avec gzip, mais foo.gz.asc sera + marqué comme fichier texte non codé.

+ +

Note

+

Les directives RemoveEncoding étant + traitées après toute directive AddEncoding, il est possible + qu'elles annulent les effets de ces dernières si les deux + apparaissent dans la configuration du même répertoire.

+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive RemoveHandler

+ + + + + + + +
Description:Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers
Syntaxe:RemoveHandler extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveHandler permet de + supprimer toute association de gestionnaire à des fichiers dont le + nom possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ +

/foo/.htaccess:

AddHandler server-parsed .html
+
+ +

/foo/bar/.htaccess:

RemoveHandler .html
+
+ +

Avec cette dernière ligne, les fichiers .html du + répertoire /foo/bar seront traités en tant que fichiers + normaux, au lieu d'être traités en tant que candidats à + l'interprétation (voir le module mod_include + module).

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive RemoveInputFilter

+ + + + + + + +
Description:Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveInputFilter extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveInputFilter permet de + supprimer toute association de filtre + en entrée à des fichiers dont le nom possède l'extension donnée. + Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +

Voir aussi

+ +
+
top
+

Directive RemoveLanguage

+ + + + + + + +
Description:Supprime toute association de langue à un ensemble +d'extensions de noms de fichiers
Syntaxe:RemoveLanguage extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveLanguage permet de + supprimer toute association de langue à des fichiers dont le nom + possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive RemoveOutputFilter

+ + + + + + + +
Description:Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveOutputFilter extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveOutputFilter permet de + supprimer toute association de filtre + en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +

Exemple

RemoveOutputFilter shtml
+
+ +

Voir aussi

+ +
+
top
+

Directive RemoveType

+ + + + + + + +
Description:Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers
Syntaxe:RemoveType extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveType permet de + supprimer toute association de type de + médium à des fichiers dont le nom possède l'extension + donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ +

/foo/.htaccess:

RemoveType .cgi
+
+ +

Cette ligne aura pour effet de supprimer tout traitement + spécifique des fichiers .cgi dans le répertoire + /foo/ et ses sous-répertoires, et les réponses + contenant ce type de fichier ne possèderont pas de champ d'en-tête + HTTP Content-Type.

+ +

Note

+

Les directives RemoveType sont traitées + après toutes les directives AddType, et il est possible que les + effets de ces dernières soient annulés si les deux types de + directives sont présents au sein de la configuration du même + répertoire.

+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive TypesConfig

+ + + + + + + +
Description:Le chemin du fichier mime.types
Syntaxe:TypesConfig chemin-fichier
Défaut:TypesConfig conf/mime.types
Contexte:configuration globale
Statut:Base
Module:mod_mime
+

La directive TypesConfig permet de définir + le chemin du fichier de configuration des types de média. L'argument + chemin-fichier est un chemin relatif au répertoire défini + par la directive ServerRoot. Ce + fichier contient la liste des associations par défaut des extensions + de noms de fichiers aux types de contenus. La plupart des + administrateurs utilisent le fichier mime.types fourni + par leur système d'exploitation, + qui associe les extensions de noms de fichiers courantes à la liste + officielle des types de média enregistrés par l'IANA et maintenue à + http://www.iana.org/assignments/media-types/index.html, ainsi + qu'un grand nombre de types non officiels. Ce fichier permet de + simplifier le fichier httpd.conf en fournissant la + majorité des définitions de types de média, et ses définitions + peuvent être écrasées par des directives AddType, selon les besoins. Il est + déconseillé de modifier le contenu du fichier + mime.types car il peut être remplacé lors d'une mise à + jour du serveur.

+ +

Le fichier contient des lignes dont le format est identique à + celui des arguments d'une directive AddType :

+ +

+ type-médium [extension] ... +

+ +

Les extensions sont insensibles à la casse. Les lignes vides et + les lignes commençant par un dièse (#) sont + ignorées. Les lignes vides servent à compléter le fichier + mime.types. Apache httpd peut encore déterminer ces types via le + module mod_mime_magic.

+ +
+ Merci de ne pas soumettre de requêtes au Projet + de Serveur HTTP Apache pour ajouter une entrée dans le fichier + mime.types fourni, sauf si : + 1) le type de médium est déjà enregistré à l'IANA + 2) et si l'extension est largement acceptée et ne provoque pas de + conflits d'extensions entre les différentes plate-formes. Les + requêtes du type catégorie/x-sous-type seront + systématiquement rejetées, ainsi que toute nouvelle extension de + deux lettres, car elle ont de fortes chances d'entrer en conflit + par la suite avec les inombrables langues préexistantes et les + espaces de nommage des jeux de caractères. +
+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime.html.ja.utf8 b/docs/manual/mod/mod_mime.html.ja.utf8 new file mode 100644 index 0000000..681d219 --- /dev/null +++ b/docs/manual/mod/mod_mime.html.ja.utf8 @@ -0,0 +1,1011 @@ + + + + + +mod_mime - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_mime

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:リクエストã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã¨ãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ¯ã‚‹èˆžã„ + (ãƒãƒ³ãƒ‰ãƒ©ã¨ãƒ•ã‚£ãƒ«ã‚¿)ã€å†…容 (MIME タイプã€è¨€èªžã€æ–‡å­—セットã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°) + ã¨ã‚’関連付ã‘ã‚‹
ステータス:
モジュール識別å­:mime_module
ソースファイル:mod_mime.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯æ‹¡å¼µå­ã‚’使ã£ã¦ã„ã‚ã„ã‚ãªã€Œãƒ¡ã‚¿æƒ…å ±ã€ã‚’ファイル㫠+ 関連付ã‘ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã®æƒ…å ±ã¯ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ãƒ•ã‚¡ã‚¤ãƒ«å㨠+ MIME タイプã€è¨€èªžã€æ–‡å­—セットã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¨ã‚’関連付ã‘ã¾ã™ã€‚ + ã“ã®æƒ…å ±ã¯ãƒ–ラウザã«é€ã‚‰ã‚Œã¾ã™ã—ã€è¤‡æ•°ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸­ã‹ã‚‰ãƒ¦ãƒ¼ã‚¶ã®å¥½ã¿ã® + ã‚‚ã®ãŒé¸ã°ã‚Œã‚‹ã‚ˆã†ã«ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã§ã‚‚使ã‚ã‚Œã¾ã™ã€‚ + コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ + ã«é–¢ã™ã‚‹è©³ã—ã„情報㯠mod_negotiation + ã‚’ã”覧下ã•ã„。

+ +

AddCharset ディレクティブ〠+ AddEncoding ディレクティブ〠+ AddHandler ディレクティブ〠+ AddLanguage ディレクティブ〠+ AddType ディレクティブã¯ã™ã¹ã¦ã€ + ファイルã®æ‹¡å¼µå­ã‚’メタ情報ã«ãƒžãƒƒãƒ—ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ + ãã‚Œãžã‚Œã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æ–‡å­—セット (訳注: charset)ã€content-encoding, + content-language, MIME タイプ (content-type) を設定ã—ã¾ã™ã€‚ + TypesConfig ディレクティブã¯æ‹¡å¼µå­ã‚’ + MIME タイプã«ãƒžãƒƒãƒ—ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

ã•ã‚‰ã«ã€mod_mime ã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を作æˆã€å‡¦ç†ã™ã‚‹ + ãƒãƒ³ãƒ‰ãƒ© 㨠フィルタ + を設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚AddHandler ディレクティブã€AddOutputFilter ディレクティブã€AddInputFilter ディレクティブ㯠+ ドキュメントを扱ã†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚„スクリプトを制御ã—ã¾ã™ã€‚ + MultiviewsMatch ディレクティブ㯠+ ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã‚’ + mod_negotiation ㌠Multiviews ã®ãƒžãƒƒãƒã‚’ã¨ã‚‹ã¨ãã« + 考慮ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚

+ +

mod_mime ã¯ãƒ¡ã‚¿æƒ…報をファイルåã¨é–¢é€£ä»˜ã‘ã¾ã™ãŒã€ + core サーãƒã«ã¯ã‚るコンテナ + (ãŸã¨ãˆã°, <Location>, <Directory>, <Files>) ã®ä¸­ã®ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’特定㮠+ メタ情報ã¨é–¢é€£ä»˜ã‘るディレクティブãŒã‚ã‚Šã¾ã™ã€‚ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ã¯ + ForceType, SetHandler, SetInputFilter, SetOutputFilter ãŒã‚ã‚Šã¾ã™ã€‚ + コアã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠mod_mime ã«ã‚ˆã‚Šå®šç¾©ã•ã‚ŒãŸ + ファイルåã®æ‹¡å¼µå­ã®ãƒžãƒƒãƒ”ングã™ã¹ã¦ã‚’上書ãã—ã¾ã™ã€‚

+ +

ファイルã®ãƒ¡ã‚¿æƒ…報を変ãˆã¦ã‚‚ Last-Modified + ヘッダã®å€¤ã¯å¤‰ã‚らãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã§ã™ã‹ã‚‰ã€ + ãれらを変更ã—ãŸå ´åˆã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚„プロキシã§ä»¥å‰ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚ŒãŸ + コピーãŒãã®ã¨ãã®ãƒ˜ãƒƒãƒ€ã¨ã¨ã‚‚ã«ä½¿ã‚れるå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + メタ情報 (言語ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã€æ–‡å­—セットã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°) ã‚’ + 変更ã—ãŸã¨ãã¯ã€ã™ã¹ã¦ã®è¨ªå•è€…ãŒæ­£ã—ã„コンテントヘッダを + å—ã‘å–るよã†ã«ã€å½±éŸ¿ã‚’å—ã‘るファイル㫠'touch' コマンドを実行ã™ã‚‹ + (最終更新日を更新ã™ã‚‹) å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+
+ +
top
+
+

複数ã®æ‹¡å¼µå­ã®ã‚るファイル

+

ファイルã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ãã€æ‹¡å¼µå­ã®é †ç•ªã¯é€šå¸¸ã¯é–¢ä¿‚ã‚ã‚Šã¾ã›ã‚“。例ãˆã°ã€ãƒ•ã‚¡ã‚¤ãƒ« welcome.html.fr + ãŒã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—㯠text/html + ã«ã€è¨€èªžã¯ãƒ•ãƒ©ãƒ³ã‚¹èªžã«ãƒžãƒƒãƒ—ã•ã‚Œã‚‹å ´åˆã€welcome.fr.html + ã‚‚ã¾ã£ãŸãåŒã˜æƒ…å ±ã«ãƒžãƒƒãƒ—ã•ã‚Œã¾ã™ã€‚ + åŒã˜ãƒ¡ã‚¿æƒ…å ±ã«ãƒžãƒƒãƒ—ã•ã‚Œã‚‹æ‹¡å¼µå­ãŒè¤‡æ•°ã‚ã‚‹ã¨ãã«ã¯ã€è¨€èªžã¨ + コンテントエンコーディングを除ã„ã¦ã€ + å³å´ã«ã‚ã‚‹ã‚‚ã®ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ãŸã¨ãˆã°ã€.gif ㌠MIME タイプ image/gif ã«ãƒžãƒƒãƒ—ã•ã‚Œã€.html + ㌠MIME タイプ text/html + ã«ãƒžãƒƒãƒ—ã•ã‚Œã‚‹å ´åˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ« welcome.gif.html 㯠+ MIME タイプ text/html ã«é–¢é€£ä»˜ã‘られã¾ã™ã€‚

+ +

リソースã«è¤‡æ•°ã®è¨€èªžã‚„エンコーディングを関連付ã‘ã‚‹ã“㨠+ ãŒã§ãã‚‹ãŸã‚〠+ 言語ã¨ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯å‰ã®ã‚‚ã®ã«è¿½åŠ ã•ã‚Œã¦ã„ãã¾ã™ã€‚ + ãŸã¨ãˆã°ã€ãƒ•ã‚¡ã‚¤ãƒ« welcome.html.en.de 㯠+ Content-Language: en, de 㨠Content-Type: + text/html ã¨ã—ã¦é€ä¿¡ã•ã‚Œã¾ã™ã€‚

+ +

複数ã®æ‹¡å¼µå­ã®ã‚るファイル㌠MIME + タイプã¨ãƒãƒ³ãƒ‰ãƒ©ã®ä¸¡æ–¹ã«é–¢é€£ä»˜ã‘られã¦ã„ã‚‹ã¨ãã¯æ³¨æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ãã®å ´åˆã€æ™®é€šã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒãƒãƒ³ãƒ‰ãƒ©ã«é–¢é€£ä»˜ã‘られ㟠+ モジュールã«ã‚ˆã£ã¦æ‰±ã‚れるã“ã¨ã«ãªã‚Šã¾ã™ã€‚ãŸã¨ãˆã°ã€æ‹¡å¼µå­ + .imap ㌠(mod_imagemap ã®) imap-file + ã«ãƒžãƒƒãƒ—ã•ã‚Œã¦ã„ã¦ã€.html ㌠MIME タイプ text/html + ã«ãƒžãƒƒãƒ—ã•ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€ãƒ•ã‚¡ã‚¤ãƒ« world.imap.html 㯠+ imap-file ãƒãƒ³ãƒ‰ãƒ©ã¨ text/html MIME + タイプã«é–¢é€£ä»˜ã‘られã¾ã™ã€‚ファイルãŒå‡¦ç†ã•ã‚Œã‚‹ã¨ã㯠imap-file + ãƒãƒ³ãƒ‰ãƒ©ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã®ã§ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ mod_imagemap + ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ãƒžãƒƒãƒ—ファイルã¨ã—ã¦æ‰±ã‚れるã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

ファイルåã®ãƒ‰ãƒƒãƒˆåŒºåˆ‡ã‚Šã§ã®æœ€å¾Œã®éƒ¨åˆ†ã‚’使ã£ã¦ã€ + 特定ã®éƒ¨åˆ†ã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã«ãƒžãƒƒãƒ”ングã—ãŸã„å ´åˆã¯ã€ + Add* ディレクティブã¯ä½¿ã‚ãªã„ã§ãã ã•ã„。 + ãŸã¨ãˆã° foo.html.cgi ã‚’ CGI スクリプトã¨ã—ã¦å‡¦ç†ã—ãŸã„ã‘ã‚Œã©ã‚‚〠+ bar.cgi.html 㯠CGI スクリプトã¨ã—ã¦ã¯å‡¦ç†ã—ãŸããªã„å ´åˆã€ + AddHandler cgi-script .cgi ã¨ã™ã‚‹ä»£ã‚ã‚Šã« + 次ã®ã‚ˆã†ã«ã—ã¦ãã ã•ã„

+ +

Configure handler based on final extension only

+ <FilesMatch \.cgi$> + + SetHandler cgi-script + + </FilesMatch> +

+ +
top
+
+

コンテントエンコーディング

+

特定㮠MIME タイプ + ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã§ã®è»¢é€ã‚’ç°¡å˜ã«ã™ã‚‹ãŸã‚ã«ã€ + ã•ã‚‰ã«ç¬¦å·åŒ–ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã‚Œã¯é€šå¸¸ã¯ gzip ã® + よã†ãªåœ§ç¸®ã®ã“ã¨ã‚’指ã—ã¾ã™ãŒã€pgp ã®ã‚ˆã†ãªæš—å·åŒ–や〠+ ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã‚’ ASCII (テキスト) å½¢å¼ã§é€ã‚‹ãŸã‚ã«è€ƒæ¡ˆã•ã‚ŒãŸ + UUencoding ã®ã“ã¨ã‚’指ã™ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚

+ +

HTTP/1.1 RFC + 14.11 節ã§ã¯æ¬¡ã®ã‚ˆã†ã«è¨˜è¿°ã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +
+

Content-Encoding エンティティヘッダフィールドã¯ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã® + 修飾å­ã¨ã—ã¦ä½¿ã‚ã‚Œã¾ã™ã€‚ãã‚ŒãŒå­˜åœ¨ã—ã¦ã„ã‚Œã°ã€å€¤ã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒœãƒ‡ã‚£ã« + ã©ã®è¿½åŠ ã®ç¬¦å·åŒ–ãŒé©ç”¨ã•ã‚ŒãŸã‹ã‚’示ã—ã€Content-Type ヘッダフィールド㫠+ 書ã‹ã‚Œã¦ã„るメディアタイプを得るãŸã‚ã«ã©ã®å¾©å·æ©Ÿæ§‹ã‚’é©ç”¨ã™ã¹ãã‹ã€ã‚‚ + 示ã—ã¦ã„ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚Content-Encoding ã¯ä¸»ã«ã€å…ƒã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã® + åŒä¸€æ€§ã‚’失ã†ã“ã¨ãªãドキュメントを圧縮ã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã™ã‚‹ãŸã‚ã« + 使用ã•ã‚Œã¾ã™ã€‚

+
+ +

複数ã®ãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ (複数ã®æ‹¡å¼µå­ã«ã¤ã„ã¦ã¯ 上ã®ç¯€ ã‚’å‚ç…§) 使ã†ã“ã¨ã§ã€ + ファイルã®ã‚¿ã‚¤ãƒ—やエンコーディングを指定ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+ +

ãŸã¨ãˆã°ã€Microsoft Word ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒã‚ã‚Šã€ã‚µã‚¤ã‚ºã‚’å°ã•ãã™ã‚‹ãŸã‚ã« + pkzip ã•ã‚Œã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚.doc æ‹¡å¼µå­ãŒ Microsoft Word ã® + ファイルタイプã¨é–¢é€£ä»˜ã‘られã¦ã„ã¦ã€.zip æ‹¡å¼µå­ãŒ + pkzip ファイルエンコーディングã¨é–¢é€£ä»˜ã‘られã¦ã„ã‚‹ã¨ã€ãƒ•ã‚¡ã‚¤ãƒ« + Resume.doc.zip 㯠pkzip ã•ã‚ŒãŸ Word ドキュメントã§ã‚ã‚‹ + ã¨ã„ã†ã“ã¨ãŒã‚ã‹ã‚Šã¾ã™ã€‚

+ +

クライアントã®ãƒ–ラウザã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°æ–¹æ³•ã‚’知らã›ã‚‹ãŸã‚ã«ã€ + Apache ã¯ãƒªã‚½ãƒ¼ã‚¹ã¨å…±ã« Content-Encoding ヘッダを + é€ã‚Šã¾ã™ã€‚

+ +

Content-encoding: pkzip

+
top
+
+

文字セットã¨è¨€èªž

+

ファイルタイプã¨ãƒ•ã‚¡ã‚¤ãƒ«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®ä»–ã«é‡è¦ãªæƒ…報㯠+ ドキュメントã®æ›¸ã‹ã‚Œã¦ã„る言語ã¨ã€ã©ã®æ–‡å­—セットã§ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¡¨ç¤º + ã•ã‚Œã‚‹ã¹ãã‹ã€ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚ãŸã¨ãˆã°ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯ãƒ™ãƒˆãƒŠãƒ ã® + アルファベットやキリル文字ã§æ›¸ã‹ã‚Œã¦ã„ã¦ã€ãã®ã‚ˆã†ã«è¡¨ç¤ºã•ã‚Œã‚‹ + å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã®æƒ…報もã¾ãŸã€HTTP ヘッダ㧠+ é€ä¿¡ã•ã‚Œã¾ã™ã€‚

+ +

文字セットã€è¨€èªžã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€mime タイプã¯ã™ã¹ã¦ + コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ (mod_negotiation å‚ç…§) + ã®æœ€ä¸­ã«ã€è¤‡æ•°ã®æ–‡å­—セットã€è¨€èªžã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€MIME タイプã‹ã‚‰ãªã‚‹ + 代替物ãŒã‚ã‚‹ã¨ãã«ã©ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’クライアントã«é€ã‚‹ã®ã‹ã‚’ + 決定ã™ã‚‹ã¨ãã«ä½¿ã‚ã‚Œã¾ã™ã€‚AddCharset, + AddEncoding, AddLanguage, + AddType ã®å„ディレクティブã§ä½œæˆã•ã‚ŒãŸ + æ‹¡å¼µå­ã®é–¢é€£ä»˜ã‘ (㨠MimeMagicFile ã§ãƒªã‚¹ãƒˆã•ã‚Œã¦ã„ã‚‹ + æ‹¡å¼µå­) ãŒã“ã®é¸æŠžã«å‚加ã—ã¾ã™ã€‚AddHandler, + AddInputFilter, + AddOutputFilter ã® + å„ディレクティブã§ã®ã¿é–¢é€£ä»˜ã‘られã¦ã„ã‚‹æ‹¡å¼µå­ã¯ + MultiviewsMatch ディレクティブを + 使ã†ã“ã¨ã§ãƒžãƒƒãƒã® + 処ç†ã«å«ã‚ã‚‹ã“ã¨ã‚‚外ã™ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

Charset

+

ã•ã‚‰ã«æƒ…報をä¼ãˆã‚‹ãŸã‚ã«ã€Apache ã¯æ–‡æ›¸ã®è¨€èªžã‚’ + Content-Language ヘッダã§é€ã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚ + ã¾ãŸã€æƒ…報を正ã—ã表示ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã¹ã文字セットを示ã™ãŸã‚ã« + Conten-Type ヘッダã«æƒ…報を追加ã™ã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚

+ +

+ Content-Language: en, fr
+ Content-Type: text/plain; charset=ISO-8859-1 +

+ +

言語ã®æŒ‡å®šã¯äºŒæ–‡å­—ã®çŸ­ç¸®å½¢ã§è¡Œãªã‚ã‚Œã¾ã™ã€‚charset ㌠+ 使用ã™ã¹ã文字セットã®åå‰ã§ã™ã€‚

+ +
+
top
+

AddCharset ディレクティブ

+ + + + + + + +
説明:ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸæ–‡å­—セットã«ãƒžãƒƒãƒ—ã™ã‚‹
構文:AddCharset charset extension +[extension] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

AddCharset ディレクティブã¯ã€ + 与ãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸ charset ã«ãƒžãƒƒãƒ—ã—ã¾ã™ã€‚charset + ã¯ã€æ‹¡å¼µå­ extension ã‚’å«ã‚“ã§ã„るファイルåã® + MIME charset + パラメータã§ã™ã€‚æ–°ã—ã„マッピングã¯æ—¢ã«ã‚ã‚‹ä»–ã®ãƒžãƒƒãƒ”ングã«è¿½åŠ ã•ã‚Œã€åŒã˜æ‹¡å¼µå­ + extension ã®ãŸã‚ã®ãƒžãƒƒãƒ”ングを上書ãã—ã¾ã™ã€‚

+ +

例

+ AddLanguage ja .ja
+ AddCharset EUC-JP .euc
+ AddCharset ISO-2022-JP .jis
+ AddCharset SHIFT_JIS .sjis +

+ +

ã“ã®å ´åˆã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ xxxx.ja.jis 㯠charset ㌠+ ISO-2022-JP ã®æ—¥æœ¬èªžã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ + (xxxx.jis.ja ã‚‚åŒæ§˜)。AddCharset + ディレクティブã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒé©åˆ‡ã«è§£é‡ˆã•ã‚Œè¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ã€ + ドキュメント㮠charset ã®æƒ…報をクライアントã«æ•™ãˆã‚‹ãŸã‚ã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚ + ã¾ãŸã€ã‚µãƒ¼ãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã® charset + ã®å„ªå…ˆåº¦ã«åŸºã¥ã„ã¦è¤‡æ•°ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ä¸­ã‹ã‚‰ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’é¸ã¶ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®ãŸã‚ã«ã‚‚å½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +

引数 extensionã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。 + ファイルåã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ã〠+ extensionã¯ãã‚Œãžã‚Œã¨æ¯”較ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

AddEncoding ディレクティブ

+ + + + + + + +
説明:ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° +ã«ãƒžãƒƒãƒ—ã™ã‚‹
構文:AddEncoding MIME-enc extension +[extension] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

AddEncoding ディレクティブã¯ã€ + 与ãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã«ãƒžãƒƒãƒ—ã—ã¾ã™ã€‚ + MIME-enc ã¯ã€æ‹¡å¼µå­ extension + ã‚’å«ã‚“ã ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ä½¿ç”¨ã™ã‚‹ MIME エンコーディングã§ã™ã€‚ + ã“ã®æ–°ã—ã„マッピングã¯æ—¢ã«ã‚ã‚‹ä»–ã®ãƒžãƒƒãƒ”ングã«è¿½åŠ ã•ã‚Œã€ + åŒã˜æ‹¡å¼µå­ extension ã®ãŸã‚ã®ãƒžãƒƒãƒ”ングを上書ãã—ã¾ã™ã€‚

+ +

例

+ AddEncoding x-gzip .gz
+ AddEncoding x-compress .Z
+

+ +

ã“ã‚Œã¯ã€æ‹¡å¼µå­ .gz ã‚’å«ã‚€ãƒ•ã‚¡ã‚¤ãƒ«å㌠x-gzip + エンコーディングを使ã£ã¦ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã¨ã€æ‹¡å¼µå­ .Z + ã‚’å«ã‚€ãƒ•ã‚¡ã‚¤ãƒ«å㌠x-compress + ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚

+ +

å¤ã„クライアント㯠x-zip 㨠x-compress + ãŒè¿”ã£ã¦ãã‚‹ã“ã¨ã‚’期待ã—ã¾ã™ãŒã€æ¨™æº–è¦æ ¼ã§ã¯ãã‚Œãžã‚Œ + gzip 㨠compress + ã¨ç­‰ä¾¡ã§ã‚ã‚‹ã“ã¨ã«ãªã£ã¦ã„ã¾ã™ã€‚Apache + ã¯ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®æ¯”較をã™ã‚‹ã¨ãã«ã¯ã€å…ˆé ­ã«ã‚ã‚‹ + x- を無視ã—ã¾ã™ã€‚Apache + ãŒã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ä»˜ãã§å¿œç­”ã‚’è¿”ã™ã¨ãã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒè¦æ±‚ã—ãŸå½¢å¼ + (ã™ãªã‚ã¡ã€x-foo ã‚„ foo) + を使用ã—ã¾ã™ã€‚è¦ã™ã‚‹ã«ã€ã“ã®äºŒã¤ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®å ´åˆã¯å¸¸ã« + x-gzip 㨠x-compress + を使ã†ã¹ãã§ã‚ã‚‹ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚deflate + ã®ã‚ˆã†ãªã‚ˆã‚Šæ–°ã—ã„エンコーディングã§ã¯ã€x- + ãªã—ã§æŒ‡å®šã—ã¦ãã ã•ã„。 +

+ +

引数 extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。 + ファイルåã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ã〠+ extensionã¯ãã‚Œãžã‚Œã¨æ¯”較ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

AddHandler ディレクティブ

+ + + + + + + +
説明:ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸãƒãƒ³ãƒ‰ãƒ©ã«ãƒžãƒƒãƒ—ã™ã‚‹
構文:AddHandler handler-name extension +[extension] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

æ‹¡å¼µå­ extension ãŒåå‰ã«ã‚るファイルã¯æŒ‡å®šã•ã‚ŒãŸ handler-name ã«æ‰±ã‚ã‚Œã¾ã™ã€‚ + ã“ã®æ–°ã—ã„マッピングã¯æ—¢ã«ã‚ã‚‹ä»–ã®ãƒžãƒƒãƒ”ングã«è¿½åŠ ã•ã‚Œã€ + åŒã˜æ‹¡å¼µå­ extension + ã®ãŸã‚ã®ãƒžãƒƒãƒ”ングを上書ãã—ã¾ã™ã€‚ãŸã¨ãˆã°ã€æ‹¡å¼µå­ + ".cgi" ã§çµ‚ã‚るファイルを CGI + スクリプトã¨ã—ã¦æ‰±ã„ãŸã„ã¨ãã¯ã€ä»¥ä¸‹ã®è¨­å®šã‚’ã—ã¾ã™ã€‚

+ +

+ AddHandler cgi-script .cgi +

+ +

ã“れを httpd.conf ファイルã«è¨˜è¿°ã™ã‚‹ã“ã¨ã§ã€æ‹¡å¼µå­ + ".cgi" ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ CGI プログラムã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ +

+ +

引数 extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。 + ファイルåã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ã〠+ extensionã¯ãã‚Œãžã‚Œã¨æ¯”較ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

AddInputFilter ディレクティブ

+ + + + + + + + +
説明:ファイルã®æ‹¡å¼µå­ã‚’クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã™ã‚‹ + フィルタã«ãƒžãƒƒãƒ—ã™ã‚‹
構文:AddInputFilter filter[;filter...] +extension [extension] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
互æ›æ€§:2.0.26 以é™ã§ä½¿ç”¨å¯èƒ½
+

AddInputFilter ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ + extension をクライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„ POST ãŒã‚µãƒ¼ãƒã«æ¥ãŸã¨ãã« + 処ç†ã‚’ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã«ãƒžãƒƒãƒ—ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ã€SetInputFilter ディレクティブも + å«ã‚ã€ä»–ã®å ´æ‰€ã§å®šç¾©ã•ã‚Œã¦ã„るフィルタã«åŠ ãˆã‚‰ã‚Œã¾ã™ã€‚ + ã“ã®ãƒžãƒƒãƒ”ングã¯ã™ã§ã«ã‚ã‚‹ã‚‚ã®ã‚ˆã‚Šå„ªå…ˆã•ã‚Œã¦ãƒžãƒ¼ã‚¸ã•ã‚Œã€ + åŒã˜ extension ã«å¯¾ã™ã‚‹æ—¢å­˜ã®ãƒžãƒƒãƒ”ングを上書ãã—ã¾ã™ã€‚

+ +

複数ã®filterを指定ã™ã‚‹ã¨ãã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã™ã‚‹é †ç•ªã«ã‚»ãƒŸã‚³ãƒ­ãƒ³ã§ + 繋ã„ã§æ›¸ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚filter ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。

+ +

引数 extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。 + ファイルåã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ã〠+ extensionã¯ãã‚Œãžã‚Œã¨æ¯”較ã•ã‚Œã¾ã™ã€‚

+ + +

å‚ç…§

+ +
+
top
+

AddLanguage ディレクティブ

+ + + + + + + +
説明:ファイルåを指定ã•ã‚ŒãŸè¨€èªžã«ãƒžãƒƒãƒ—
構文:AddLanguage MIME-lang extension +[extension] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

AddLanguage ディレクティブã¯ã€ä¸Žãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸ + content language ã«ãƒžãƒƒãƒ—ã—ã¾ã™ã€‚MIME-lang ã¯ã€æ‹¡å¼µå­ + extension ã‚’å«ã‚“ã§ã„るファイルåã® MIME ã«ãŠã‘る言語ã§ã™ã€‚ + ã“ã®æ–°ã—ã„マッピングã¯æ—¢ã«ã‚るマッピングã«è¿½åŠ ã•ã‚Œã€åŒã˜æ‹¡å¼µå­ + extension ã®ãŸã‚ã®ãƒžãƒƒãƒ”ングを上書ãã—ã¾ã™ã€‚

+ +

例

+ AddEncoding x-compress .Z
+ AddLanguage en .en
+ AddLanguage fr .fr +

+ +

ã“ã®å ´åˆã€xxxx.en.Z ドキュメント㯠compress + ã•ã‚ŒãŸè‹±èªžã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ (xxxx.Z.en + ã‚‚åŒæ§˜)。content language ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€šçŸ¥ã•ã‚Œã¾ã™ãŒã€ + ブラウザãŒã“ã®æƒ…報を使ã†ã“ã¨ã¯ãŠãらãã‚ã‚Šã¾ã›ã‚“。 + AddLanguage + ディレクティブã¯ã€ã‚µãƒ¼ãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¨€èªžã®å„ªå…ˆåº¦ã«åŸºã¥ã„ã¦è¤‡æ•°ã® + ドキュメントã®ä¸­ã‹ã‚‰ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’é¸ã¶ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®ãŸã‚ã«ã‚ˆã‚Šå½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +

複数ã®è¨€èªžãŒåŒã˜æ‹¡å¼µå­ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€ + 最後ã®ã‚‚ã®ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã™ãªã‚ã¡ã€æ¬¡ã®ã‚ˆã†ãªå ´åˆã€

+ +

+ AddLanguage en .en
+ AddLanguage en-gb .en
+ AddLanguage en-us .en +

+ +

æ‹¡å¼µå­ .en ã®ã‚るドキュメント㯠+ en-us ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +

引数 extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。 + ファイルåã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ã〠+ extensionã¯ãã‚Œãžã‚Œã¨æ¯”較ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

AddOutputFilter ディレクティブ

+ + + + + + + + +
説明:ファイルåã®æ‹¡å¼µå­ã‚’サーãƒã‹ã‚‰ã®å¿œç­”を処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã« + マップã™ã‚‹
構文:AddOutputFilter filter[;filter...] +extension [extension] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
互æ›æ€§:2.0.26 以é™ã§ä½¿ç”¨å¯èƒ½
+

AddOutputFilter ディレクティブ㯠+ æ‹¡å¼µå­ extension をサーãƒã®å¿œç­”ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‰ã‚Œã‚‹ + å‰ã«å‡¦ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’定義ã—ã¾ã™ã€‚ + ã“れ㯠SetOutputFilter + ディレクティブ㨠AddOutputFilterByType ディレクティブ + ã‚’å«ã‚ã€ä»–ã®å ´æ‰€ã§å®šç¾©ã•ã‚Œã¦ã„るフィルタã«åŠ ãˆã‚‰ã‚Œã¾ã™ã€‚ + ã“ã®æ–°ã—ã„マッピングã¯æ—¢ã«ã‚るマッピングã«è¿½åŠ ã•ã‚Œã€åŒã˜æ‹¡å¼µå­ + extension ã®ãŸã‚ã®ãƒžãƒƒãƒ”ングを上書ãã—ã¾ã™ã€‚

+ +

例ãˆã°ã€ä»¥ä¸‹ã®è¨­å®šã¯ã™ã¹ã¦ã® .shtml ファイルを SSI ã§å‡¦ç†ã—〠+ ãã®å‡ºåŠ›ã‚’ mod_deflate を使ã£ã¦åœ§ç¸®ã—ã¾ã™ã€‚

+ +

+ AddOutputFilter INCLUDES;DEFLATE shtml +

+ +

複数ã®ãƒ•ã‚£ãƒ«ã‚¿ã‚’指定ã™ã‚‹ã¨ãã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã™ã‚‹é †ç•ªã«ã‚»ãƒŸã‚³ãƒ­ãƒ³ã§ + 繋ã„ã§æ›¸ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚filter ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。

+ +

引数 extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。 + ファイルåã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ã〠+ extensionã¯ãã‚Œãžã‚Œã¨æ¯”較ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

AddType ディレクティブ

+ + + + + + + +
説明:ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã«ãƒžãƒƒãƒ—
構文:AddType MIME-type extension +[extension] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

AddType ディレクティブã¯ã€ + 与ãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã«ãƒžãƒƒãƒ—ã—ã¾ã™ã€‚ + MIME-type ã¯æ‹¡å¼µå­ extension + ã‚’å«ã‚“ã ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ä½¿ç”¨ã™ã‚‹ MIME タイプã§ã™ã€‚ + ã“ã®æ–°ã—ã„マッピングã¯æ—¢ã«ã‚るマッピングã«è¿½åŠ ã•ã‚Œã€åŒã˜æ‹¡å¼µå­ + extension ã®ãŸã‚ã®ãƒžãƒƒãƒ”ングを上書ãã—ã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠MIME タイプファイル (TypesConfig ディレクティブをå‚ç…§) + ã«ç„¡ã„マッピングを追加ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

例

+ AddType image/gif .gif +

+ +

ã‚ã‚‹ã„ã¯ã€ã²ã¨ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§è¤‡æ•°ã®ãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã‚’指定ã™ã‚‹å ´åˆ:

+ +

Example

+ AddType image/jpeg jpeg jpg jpe +

+ +
+ æ–°ã—ã„ MIME タイプã¯ã€TypesConfig + ファイルを変更ã™ã‚‹ã®ã§ã¯ãªãã€AddType + ディレクティブを使ã£ã¦è¿½åŠ ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ +
+ +

引数 extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。 + ファイルåã¯è¤‡æ•°ã®æ‹¡å¼µå­ã‚’æŒã¤ã“ã¨ãŒã§ã〠+ extensionã¯ãã‚Œãžã‚Œã¨æ¯”較ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

DefaultLanguage ディレクティブ

+ + + + + + + +
説明:ã‚るスコープã®ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã•ã‚ŒãŸè¨€èªžã« +設定ã™ã‚‹
構文:DefaultLanguage MIME-lang
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

DefaultLanguage ディレクティブã¯ã€Apache + ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã‚¹ã‚³ãƒ¼ãƒ— (例ãˆã°ã€ãã®æ™‚点㮠+ <Directory> + ã®ç¯„囲) ã«ã‚ã‚‹ã€æ˜Žç¤ºçš„ãªè¨€èªžæ‹¡å¼µå­ + (AddLanguage ã§è¨­å®šã•ã‚Œã‚‹ + .fr ã‚„ .de) ã®ãªã„å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã€æŒ‡å®šã•ã‚ŒãŸ + MIME-lang 言語ã§ã‚ã‚‹ã¨ã¿ãªã™ã‚ˆã†ã«ã—ã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«åを変ãˆã‚‹ã“ã¨ãªã〠+ ディレクトリãŒã‚ªãƒ©ãƒ³ãƒ€èªžã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚’å«ã‚“ã§ã„る〠+ ã¨ã„ã†ã‚ˆã†ãªã“ã¨ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + æ‹¡å¼µå­ã‚’使用ã—ã¦è¨€èªžã‚’指定ã™ã‚‹æ–¹æ³•ã¨é•ã„〠+ DefaultLanguage + ã¯ä¸€ã¤ã®è¨€èªžã—ã‹æŒ‡å®šã§ããªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

DefaultLanguage + ディレクティブãŒæœ‰åŠ¹ã§ãªãã€ãƒ•ã‚¡ã‚¤ãƒ«ã« + AddLanguage + ã§è¨­å®šã•ã‚ŒãŸè¨€èªžã®æ‹¡å¼µå­ãŒãªã„ã¨ãã¯ã€ + ファイルã«ã¯è¨€èªžå±žæ€§ãŒãªã„ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚

+ +

例

+ DefaultLanguage en +

+ +

å‚ç…§

+ +
+
top
+

ModMimeUsePathInfo ディレクティブ

+ + + + + + + + +
説明:path_info コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’ファイルåã®ä¸€éƒ¨ã¨ã—ã¦æ‰±ã†ã‚ˆã†ã« +mod_mime ã«é€šçŸ¥ã™ã‚‹
構文:ModMimeUsePathInfo On|Off
デフォルト:ModMimeUsePathInfo Off
コンテキスト:ディレクトリ
ステータス:
モジュール:mod_mime
互æ›æ€§:Apache 2.0.41 以é™
+

ModMimeUsePathInfo ディレクティブã¯ã€ + mod_mime ã®æŒã¤ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + リクエストã«é©ç”¨ã•ã›ã‚‹ãŸã‚ã«ã€ãƒ•ã‚¡ã‚¤ãƒ«å㨠path_info URL + コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’çµåˆã•ã›ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚ + デフォルトã§ã¯ã€Œ Off ã€ã§ã€path_info + コンãƒãƒ¼ãƒãƒ³ãƒˆã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã‚’使用ã—ã¦ã„る際㫠+ 推奨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã™ã€‚

+ +

例

+ ModMimeUsePathInfo On +

+ +

/bar ãŒå­˜åœ¨ã—㦠(foo.shtml ã¯å­˜åœ¨ã—ãªã„) + ModMimeUsePathInfo ㌠On ã§ã‚ã‚‹ã¨ã—ã¦ã€ + /bar/foo.shtml ã«å¯¾ã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’発行ã—ãŸå ´åˆã€ + mod_mime ã¯å…¥ã£ã¦ããŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + /bar/foo.shtml ã¨ã—ã¦æ‰±ã„〠+ AddOutputFileter INCLUDES .shtml ã®ã‚ˆã†ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ INCLUDES フィルタをリクエストã«ä»˜åŠ ã•ã›ã¾ã™ã€‚ + ModMimeUsePathInfo ãŒè¨­å®šã•ã‚Œãªã‘ã‚Œã°ã€ + INCLUDES フィルタã¯ä»˜åŠ ã•ã‚Œã¾ã›ã‚“。

+ +

å‚ç…§

+ +
+
top
+

MultiviewsMatch ディレクティブ

+ + + + + + + + + +
説明:MultiViews ã§ã®ãƒžãƒƒãƒãƒ³ã‚°ã®æ¤œç´¢ã«å«ã¾ã›ã‚‹ +ファイルã®ã‚¿ã‚¤ãƒ—を指定ã™ã‚‹
構文:MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]
デフォルト:MultiviewsMatch NegotiatedOnly
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
互æ›æ€§:2.0.26 以é™ã§ä½¿ç”¨å¯èƒ½
+

MultiviewsMatch を使用ã™ã‚‹ã“ã¨ã§ã€ + mod_negotiation ã® + Multiviews ã« 3 種類ã®ç•°ãªã‚‹æŒ™å‹•ã‚’ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + Multiviews を使用ã™ã‚‹ã¨ã€ãƒ•ã‚¡ã‚¤ãƒ« (例 index.html) + ã«å¯¾ã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ã€ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹æ‹¡å¼µå­ãŒãƒ™ãƒ¼ã‚¹ã«ä»˜ã„ãŸã‚‚ã® + (index.html.en, index.html.fr ã‚„ + index.html.gz) + をマッãƒã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

NegotiatedOnly オプションã§ã¯ã€ãƒ™ãƒ¼ã‚¹åã«ç¶šãæ‹¡å¼µå­å…¨ã¦ãŒ + コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã§ mod_mime + ãŒèªè­˜ã™ã‚‹æ‹¡å¼µå­ (例 文字セットã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã€è¨€èªžã‚„エンコーディング) + ã«é–¢é€£ä»˜ã‘られã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ã“ã‚Œã¯å‰¯ä½œç”¨ã®æœ€ã‚‚å°‘ãªã„ + 最も的確ãªå®Ÿè£…ã§ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ãªã£ã¦ã„ã¾ã™ã€‚

+ +

ãƒãƒ³ãƒ‰ãƒ©ã¨ãƒ•ã‚£ãƒ«ã‚¿ã®ä¸¡æ–¹ã‚‚ã—ãã¯ç‰‡æ–¹ã¨é–¢é€£ä»˜ã‘られãŸæ‹¡å¼µå­ã‚’å«ã‚ã‚‹ã«ã¯ã€ + MultiviewsMatch ディレクティブ㫠Handlers, + Filters ã¾ãŸã¯ãã®ä¸¡æ–¹ã®ã‚ªãƒ—ションをセットã—ã¾ã™ã€‚ + ã‚‚ã—ä»–ã®æ¡ä»¶ãŒåŒã˜ã§ã‚ã‚Œã°ã€æœ€ã‚‚å°ã•ã„ファイルãŒé€ä¿¡ã•ã‚Œã¾ã™ã€‚ + 例ãˆã°ã€500 文字㮠index.html.cgi 㨠1000 ãƒã‚¤ãƒˆã® + index.html.pl ã§ã‚ã‚Œã°ã€.cgi + ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚.asis ファイルを利用ã—ã¦ã„るユーザã¯ã€ + .asis ファイル㌠asis-handler ã«é–¢é€£ä»˜ã‘られã¦ã„ã‚‹ã¨ãã«ã¯ã€ + ãƒãƒ³ãƒ‰ãƒ©ã‚ªãƒ—ションã®ä½¿ç”¨ã‚’好むã§ã—ょã†ã€‚

+ +

最後ã«ã€mod_mime ãŒèªè­˜ã—ãªã„æ‹¡å¼µå­ã§ã‚ã‚ã†ã¨ã‚‚〠+ ã©ã‚“ãªæ‹¡å¼µå­ã§ã‚‚マッãƒã•ã›ã‚‹ Any ãŒä½¿ç”¨ã§ãã¾ã™ã€‚ + ã“ã®æŒ™å‹•ã¯ Apache 1.3 ã®ã¨ãã¨åŒã˜ã‚‚ã®ã§ã€äºˆæœŸã—ãªã„動作ã€ä¾‹ãˆã° .old ã‚„ + .bak ファイルã¨ã„ã£ãŸã‚¦ã‚§ãƒ–マスタãŒé€ä¿¡ã‚’æ„図ã—ã¦ã„ãªã„ + ファイルをé€ä¿¡ã™ã‚‹ã€ã¨ã„ã£ãŸå‹•ä½œã‚’è¡Œãªã†å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚

+ +

例ãˆã°æ¬¡ã®è¨­å®šã§ã¯ã€ãƒãƒ³ãƒ‰ãƒ©ã‚„フィルタ㌠Multiviews ã«å‚加ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã—ã€æœªçŸ¥ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯é™¤å¤–ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

+ MultiviewsMatch Handlers Filters +

+ + +

å‚ç…§

+ +
+
top
+

RemoveCharset ディレクティブ

+ + + + + + + + +
説明:ファイルã®æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸã™ã¹ã¦ã®æ–‡å­—セット +を解除ã™ã‚‹
構文:RemoveCharset extension [extension] +...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
互æ›æ€§:2.0.24 以é™ã§ä½¿ç”¨å¯èƒ½
+

RemoveCharset ディレクティブ + ã¯ä¸Žãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸæ–‡å­—セットをå–り消ã—ã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ã‚µãƒ–ディレクトリã«ã‚ã‚‹ .htaccess + ファイルãŒè¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„サーãƒã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ« + ã‹ã‚‰ç¶™æ‰¿ã—ãŸé–¢é€£ä»˜ã‘ã‚’å–り消ã™ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°:

+ +

extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。 + ã¾ãŸã€æœ€åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +

例

+ RemoveCharset .html .shtml +

+ +
+
top
+

RemoveEncoding ディレクティブ

+ + + + + + + +
説明:ファイルã®æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸã™ã¹ã¦ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° +を解除ã™ã‚‹
構文:RemoveEncoding extension [extension] +...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

RemoveEncoding ディレクティブã¯ã€ + 与ãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’å–り消ã—ã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ã‚µãƒ–ディレクトリã«ã‚ã‚‹ .htaccess + ファイルãŒè¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„サーãƒã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ç¶™æ‰¿ã—ãŸé–¢é€£ä»˜ã‘ã‚’ + å–り消ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

/foo/.htaccess:

+ AddEncoding x-gzip .gz
+ AddType text/plain .asc
+ <Files *.gz.asc>
+ + RemoveEncoding .gz
+
+ </Files> +

+ +

ã“ã‚Œã¯ã€foo.gz 㯠gzip + ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ãŒã€foo.gz.asc + ã¯ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ãªã„プレーンテキスト㮠+ ファイルã§ã‚ã‚‹ã¨ã„ã†ã“ã¨ã‚’指定ã—ã¾ã™ã€‚

+ +

注æ„

+

RemoveEncoding 㯠+ AddEncoding + ディレクティブã®å¾Œã§å‡¦ç†ã•ã‚Œã¾ã™ã®ã§ã€ + åŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®è¨­å®šä¸­ã«ä¸¡æ–¹ãŒç¾ã‚Œã‚‹ã¨ã€ + 後者ã®åŠ¹æžœãŒæ‰“ã¡æ¶ˆã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚

+
+ +

extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。 + ã¾ãŸã€æœ€åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +
+
top
+

RemoveHandler ディレクティブ

+ + + + + + + +
説明:ファイルã®æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸã™ã¹ã¦ã®ãƒãƒ³ãƒ‰ãƒ©ã‚’ +解除ã™ã‚‹
構文:RemoveHandler extension [extension] +...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

RemoveHandler ディレクティブ + ã¯ä¸Žãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸãƒãƒ³ãƒ‰ãƒ©ã‚’å–り消ã—ã¾ã™ã€‚ + ã“ã‚Œã«ã‚ˆã‚Šã€ã‚µãƒ–ディレクトリã«ã‚ã‚‹ .htaccess + ファイルãŒè¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„サーãƒã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ« + ã‹ã‚‰ç¶™æ‰¿ã—ãŸé–¢é€£ä»˜ã‘ã‚’å–り消ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ãŸã¨ãˆã°:

+ +

/foo/.htaccess:

+ AddHandler server-parsed .html +

+ +

/foo/bar/.htaccess:

+ RemoveHandler .html +

+ +

ã“ã‚Œã¯ã€/foo/bar ディレクトリ㮠.html + ファイル㯠SSI (mod_include モジュールå‚ç…§) ã§ã¯ãªã〠+ 普通ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦æ‰±ã‚れるよã†ã«ã™ã‚‹åŠ¹æžœãŒã‚ã‚Šã¾ã™ã€‚ +

+ +

extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。 + ã¾ãŸã€æœ€åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +
+
top
+

RemoveInputFilter ディレクティブ

+ + + + + + + + +
説明:ファイル拡張å­ã«é–¢é€£ä»˜ã‘られãŸå…¥åŠ›ãƒ•ã‚£ãƒ«ã‚¿ã‚’解除ã™ã‚‹
構文:RemoveInputFilter extension [extension] +...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
互æ›æ€§:2.0.26 以é™ã§ä½¿ç”¨å¯èƒ½
+

RemoveInputFilter ディレクティブ㯠+ 指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸå…¥åŠ›ãƒ•ã‚£ãƒ«ã‚¿ã‚’解除ã—ã¾ã™ã€‚ + ã“れを利用ã™ã‚‹ã“ã¨ã§ã€è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ + 継承ã—ãŸé–¢é€£ä»˜ã‘ã‚’ サブディレクトリ内ã«ãŠã„㦠+ .htaccess ファイルã§å–り消ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

extension 引数ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。ã¾ãŸã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +

å‚ç…§

+ +
+
top
+

RemoveLanguage ディレクティブ

+ + + + + + + + +
説明:ファイル拡張å­ã«é–¢é€£ä»˜ã‘られãŸè¨€èªžã‚’解除ã™ã‚‹
構文:RemoveLanguage extension [extension] +...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
互æ›æ€§:2.0.24 以é™ã§ä½¿ç”¨å¯èƒ½
+

RemoveLanguage ディレクティブ㯠+ 指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸè¨€èªžã‚’解除ã—ã¾ã™ã€‚ + ã“れを利用ã™ã‚‹ã“ã¨ã§ã€è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ + 継承ã—ãŸé–¢é€£ä»˜ã‘ã‚’ サブディレクトリ内ã«ãŠã„㦠+ .htaccess ファイルã§å–り消ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

extension 引数ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。ã¾ãŸã€ + 最åˆã®ãƒ‰ãƒƒãƒˆã¯ã¤ã„ã¦ã‚‚ã¤ã‹ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +
+
top
+

RemoveOutputFilter ディレクティブ

+ + + + + + + + +
説明:ファイル拡張å­ã«é–¢é€£ä»˜ã‘られãŸå‡ºåŠ›ãƒ•ã‚£ãƒ«ã‚¿ã‚’解除ã™ã‚‹
構文:RemoveOutputFilter extension [extension] +...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
互æ›æ€§:2.0.26 以é™ã§ã®ã¿ä½¿ç”¨å¯èƒ½
+

RemoveOutputFilter ディレクティブ㯠+ 指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸå‡ºåŠ›ãƒ•ã‚£ãƒ«ã‚¿ã‚’解除ã—ã¾ã™ã€‚ + ã“れを利用ã™ã‚‹ã“ã¨ã§ã€è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ + 継承ã—ãŸé–¢é€£ä»˜ã‘ã‚’ サブディレクトリ内ã«ãŠã„㦠+ .htaccess ファイルã§å–り消ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。 + ã¾ãŸã€æœ€åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +

例

+ RemoveOutputFilter shtml +

+ +

å‚ç…§

+ +
+
top
+

RemoveType ディレクティブ

+ + + + + + + +
説明:ファイルã®æ‹¡å¼µå­ã¨é–¢é€£ä»˜ã‘られãŸã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã‚’ +解除ã™ã‚‹
構文:RemoveType extension [extension] +...
コンテキスト:ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:
モジュール:mod_mime
+

RemoveType ディレクティブã¯ä¸Žãˆã‚‰ã‚ŒãŸæ‹¡å¼µå­ã® + MIME タイプ + ã®é–¢é€£ä»˜ã‘ã‚’å–り消ã—ã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ + サブディレクトリã«ã‚ã‚‹ .htaccess + ファイルãŒè¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„サーãƒã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ç¶™æ‰¿ã—㟠+ 関連付ã‘ã‚’å–り消ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ãŸã¨ãˆã°:

+ +

/foo/.htaccess:

+ RemoveType .cgi +

+ +

ã“れ㯠/foo/ ディレクトリ以下㮠.cgi + ファイルã®ç‰¹åˆ¥ãªæ‰±ã„ã‚’å–り消ã—ã¾ã™ã€‚ファイル㯠DefaultType ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +

注æ„

+

RemoveType ディレクティブ㯠+ AddType + ディレクティブã®å¾Œã«å‡¦ç†ã•ã‚Œã¾ã™ã®ã§ã€ + 両方ãŒåŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®è¨­å®šä¸­ã«ç¾ã‚ŒãŸå ´åˆã€ + 後者ã®åŠ¹æžœãŒæ‰“ã¡æ¶ˆã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚

+
+ +

extension ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。 + ã¾ãŸã€æœ€åˆã®ãƒ‰ãƒƒãƒˆã¯ã‚ã£ã¦ã‚‚ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。

+ +
+
top
+

TypesConfig ディレクティブ

+ + + + + + + +
説明:mime.types ファイルã®ä½ç½®
構文:TypesConfig file-path
デフォルト:TypesConfig conf/mime.types
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:
モジュール:mod_mime
+

TypesConfig ディレクティブã¯ã€ + MIME タイプ + 設定ファイルã®ä½ç½®ã‚’設定ã—ã¾ã™ã€‚file-path 㯠+ ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã§ã™ã€‚ + ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã¸ã® + デフォルトã®ãƒžãƒƒãƒ”ングを設定ã—ã¾ã™ã€‚ + ã»ã¨ã‚“ã©ã®ç®¡ç†è€…ã¯ã€ã‚ˆã使ã‚れるファイルåã®æ‹¡å¼µå­ã‚’ + IANA ã«ç™»éŒ²ã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã«é–¢é€£ä»˜ã‘ã¦ã„る〠+ Apache ã® mime.types ファイルを使ã„ã¾ã™ã€‚ + ç¾åœ¨ã®ä¸€è¦§ã¯ http://www.iana.org/assignments/media-types/index.html + ã§ç®¡ç†ã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã€ä¸»è¦ãªãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã®å®šç¾©ã‚’æä¾›ã—ã¦ã€ + å¿…è¦ã¨ã“ã‚ã‚’ AddType 㧠+ 上書ãã™ã‚‹ã€ã¨ã„ã†æ–¹æ³•ã§ httpd.conf ã‚’ç°¡ç•¥ã«ã—ã¾ã™ã€‚ + mime.types ã¯ã‚µãƒ¼ãƒã‚’アップグレードã—ãŸã¨ãã« + ç½®ãæ›ãˆã‚‰ã‚Œã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã®ã§ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’直接 + 編集ã—ãªã„ã§ãã ã•ã„。

+ +

ファイルã¯ã€AddType + ディレクティブã®å¼•æ•°ã¨åŒã˜å½¢å¼ã®è¡Œã§æ§‹æˆã•ã‚Œã¾ã™ã€‚

+ +

+ MIME-type [extension] ... +

+ +

æ‹¡å¼µå­ã®å¤§æ–‡å­—å°æ–‡å­—ã¯åŒºåˆ¥ã•ã‚Œã¾ã›ã‚“。空行やãƒãƒƒã‚·ãƒ¥ (`#') + ã§å§‹ã¾ã‚‹è¡Œã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚

+ +
+ (1) IANA ã«æ—¢ã«ç™»éŒ²ã•ã‚Œã¦ã„ã‚‹ã€ã‚ã‚‹ã„㯠(2) + 広ãå—ã‘入れられã¦ã„ã¦ãƒ—ラットホーム間ã§ãƒ•ã‚¡ã‚¤ãƒ«æ‹¡å¼µå­ã«è¡çªãŒãªã„〠+ ã¨ã„ã†å ´åˆã§ãªã‘ã‚Œã°ã€é…布中㮠mime.types + ファイルã«æ–°ãŸãªã‚‚ã®ã‚’登録ã™ã‚‹ã‚ˆã†ã« + Apache HTTP Server Project ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã—ãªã„ã§ãã ã•ã„。 + category/x-subtype ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯è‡ªå‹•çš„ã«å´ä¸‹ã•ã‚Œã¾ã™ã—〠+ 言語や文字セットã®åå‰ç©ºé–“ã§æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¦ã€è¡çªã®å¯èƒ½æ€§ã®ã‚ã‚‹ + 2 文字ã®æ‹¡å¼µå­ã‚‚å´ä¸‹ã•ã‚Œã¾ã™ã€‚ +
+ +

å‚ç…§

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime_magic.html b/docs/manual/mod/mod_mime_magic.html new file mode 100644 index 0000000..8aa0990 --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_mime_magic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_mime_magic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_mime_magic.html.en b/docs/manual/mod/mod_mime_magic.html.en new file mode 100644 index 0000000..25422e8 --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html.en @@ -0,0 +1,304 @@ + + + + + +mod_mime_magic - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_mime_magic

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Determines the MIME type of a file + by looking at a few bytes of its contents
Status:Extension
Module Identifier:mime_magic_module
Source File:mod_mime_magic.c
+

Summary

+ +

This module determines the MIME + type of files in the same way the Unix + file(1) command works: it looks at the first few + bytes of the file. It is intended as a "second line of defense" + for cases that mod_mime can't resolve.

+ +

This module is derived from a free version of the + file(1) command for Unix, which uses "magic + numbers" and other hints from a file's contents to figure out + what the contents are. This module is active only if the magic + file is specified by the MimeMagicFile directive.

+
+ +
top
+
+

Format of the Magic File

+ +

The contents of the file are plain ASCII text in 4-5 + columns. Blank lines are allowed but ignored. Commented lines + use a hash mark (#). The remaining lines are parsed for + the following columns:

+ + + + + + + + + + + + +
ColumnDescription
1byte number to begin checking from
+ ">" indicates a dependency upon the previous + non-">" line
2

type of data to match

+ + + + + + + + + + + + + + + + + + + + + + + + +
bytesingle character
shortmachine-order 16-bit integer
longmachine-order 32-bit integer
stringarbitrary-length string
datelong integer date (seconds since Unix epoch/1970)
beshortbig-endian 16-bit integer
belongbig-endian 32-bit integer
bedatebig-endian 32-bit integer date
leshortlittle-endian 16-bit integer
lelonglittle-endian 32-bit integer
ledatelittle-endian 32-bit integer date
3contents of data to match
4MIME type if matched
5MIME encoding if matched (optional)
+ +

For example, the following magic file lines would recognize + some audio formats:

+ +
# Sun/NeXT audio data
+0      string      .snd
+>12    belong      1       audio/basic
+>12    belong      2       audio/basic
+>12    belong      3       audio/basic
+>12    belong      4       audio/basic
+>12    belong      5       audio/basic
+>12    belong      6       audio/basic
+>12    belong      7       audio/basic
+>12    belong     23       audio/x-adpcm
+ +

Or these would recognize the difference between *.doc + files containing Microsoft Word or FrameMaker documents. (These are + incompatible file formats which use the same file suffix.)

+ +
# Frame
+0  string  \<MakerFile        application/x-frame
+0  string  \<MIFFile          application/x-frame
+0  string  \<MakerDictionary  application/x-frame
+0  string  \<MakerScreenFon   application/x-frame
+0  string  \<MML              application/x-frame
+0  string  \<Book             application/x-frame
+0  string  \<Maker            application/x-frame
+
+# MS-Word
+0  string  \376\067\0\043            application/msword
+0  string  \320\317\021\340\241\261  application/msword
+0  string  \333\245-\0\0\0           application/msword
+ +

An optional MIME encoding can be included as a fifth column. + For example, this can recognize gzipped files and set the + encoding for them.

+ +
# gzip (GNU zip, not to be confused with
+#       [Info-ZIP/PKWARE] zip archiver)
+
+0  string  \037\213  application/octet-stream  x-gzip
+
top
+
+

Performance Issues

+

This module is not for every system. If your system is barely + keeping up with its load or if you're performing a web server + benchmark, you may not want to enable this because the + processing is not free.

+ +

However, an effort was made to improve the performance of + the original file(1) code to make it fit in a busy web + server. It was designed for a server where there are thousands of users + who publish their own documents. This is probably very common + on intranets. Many times, it's helpful if the server can make + more intelligent decisions about a file's contents than the + file name allows ...even if just to reduce the "why doesn't my + page work" calls when users improperly name their own files. + You have to decide if the extra work suits your + environment.

+
top
+
+

Notes

+

The following notes apply to the mod_mime_magic + module and are included here for compliance with contributors' + copyright restrictions that require their acknowledgment.

+ +
+

mod_mime_magic: MIME type lookup via file magic numbers
+ Copyright (c) 1996-1997 Cisco Systems, Inc.

+ +

This software was submitted by Cisco Systems to the Apache Group + in July 1997. Future revisions and derivatives of this source code + must acknowledge Cisco Systems as the original contributor of this + module. All other licensing and usage conditions are those of the + Apache Group.

+ +

Some of this code is derived from the free version of the file + command originally posted to comp.sources.unix. Copyright info for + that program is included below as required.

+
+ +
+

- Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.

+ +

This software is not subject to any license of the American + Telephone and Telegraph Company or of the Regents of the University + of California.

+ +

Permission is granted to anyone to use this software for any + purpose on any computer system, and to alter it and redistribute it + freely, subject to the following restrictions:

+ +
    +
  1. The author is not responsible for the consequences of use of + this software, no matter how awful, even if they arise from flaws + in it.
  2. + +
  3. The origin of this software must not be misrepresented, either + by explicit claim or by omission. Since few users ever read + sources, credits must appear in the documentation.
  4. + +
  5. Altered versions must be plainly marked as such, and must not + be misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation.
  6. + +
  7. This notice may not be removed or altered.
  8. +
+
+ +
+

For compliance with Mr Darwin's terms: this has been very + significantly modified from the free "file" command.

+ +
    +
  • all-in-one file for compilation convenience when moving from + one version of Apache to the next.
  • + +
  • Memory allocation is done through the Apache API's pool + structure.
  • + +
  • All functions have had necessary Apache API request or server + structures passed to them where necessary to call other Apache API + routines. (i.e., usually for logging, files, or memory + allocation in itself or a called function.)
  • + +
  • struct magic has been converted from an array to a single-ended + linked list because it only grows one record at a time, it's only + accessed sequentially, and the Apache API has no equivalent of + realloc().
  • + +
  • Functions have been changed to get their parameters from the + server configuration instead of globals. (It should be reentrant + now but has not been tested in a threaded environment.)
  • + +
  • Places where it used to print results to stdout now saves them + in a list where they're used to set the MIME type in the Apache + request record.
  • + +
  • Command-line flags have been removed since they will never be + used here.
  • +
+
+
+
top
+

MimeMagicFile Directive

+ + + + + + +
Description:Enable MIME-type determination based on file contents +using the specified magic file
Syntax:MimeMagicFile file-path
Context:server config, virtual host
Status:Extension
Module:mod_mime_magic
+

The MimeMagicFile directive can be used to + enable this module, the default file is distributed at + conf/magic. Non-rooted paths are relative to the + ServerRoot. Virtual hosts will use + the same file as the main server unless a more specific setting is + used, in which case the more specific setting overrides the main + server's file.

+ +

Example

MimeMagicFile conf/magic
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime_magic.html.fr.utf8 b/docs/manual/mod/mod_mime_magic.html.fr.utf8 new file mode 100644 index 0000000..96a68a5 --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html.fr.utf8 @@ -0,0 +1,312 @@ + + + + + +mod_mime_magic - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_mime_magic

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu
Statut:Extension
Identificateur de Module:mime_magic_module
Fichier Source:mod_mime_magic.c
+

Sommaire

+ +

Ce module permet de déterminer le type + MIME des fichiers de la même manière que la commande Unix + file(1), à savoir en se basant sur les premiers octets + du fichier. Il est conçu comme une "seconde ligne de défense" pour + les cas où mod_mime ne parvient pas à déterminer le + type du fichier.

+ +

Ce module est dérivé d'une version libre de la commande Unix + file(1) qui utilise des "nombres magiques" et autres + marques distinctives issus du contenu du fichier pour essayer de + déterminer le type de contenu. Ce module n'est activé que si le + fichier magique est spécifié par la directive MimeMagicFile.

+
+ +
top
+
+

Format du fichier magique

+ +

Le fichier contient du texte ASCII sur 4 à 5 colonnes. Les lignes + vides sont autorisées mais ignorées. Toute ligne commençant par un + dièse (#) est un commentaire. Les autres lignes sont + interprétées en colonnes comme suit :

+ + + + + + + + + + + + +
ColonneDescription
1numéro de l'octet à partir duquel la vérification débute
+ ">" indique une dépendance par rapport à la + dernière ligne non-">"
2

type de donnée à rechercher

+ + + + + + + + + + + + + + + + + + + + + + + + +
bytecaractère unique
shortentier sur 16 bits selon l'ordre de la machine
longentier sur 32 bits selon l'ordre de la machine
stringchaîne de taille choisie
datedate au format entier long (secondes depuis le temps Unix epoch/1970)
beshortentier 16 bits big-endian
belongentier 32 bits big-endian
bedatedate au format entier 32 bits big-endian
leshortentier 16 bits little-endian
lelongentier 32 bits little-endian
ledatedate au format entier 32 bits little-endian
3contenu des données à rechercher
4type MIME si correspondance
5codage MIME si correspondance (optionnel)
+ +

Par exemple, les lignes du fichier magique suivantes + permettraient de reconnaître certains formats audio :

+ +
# Sun/NeXT audio data
+0      string      .snd
+>12    belong      1       audio/basic
+>12    belong      2       audio/basic
+>12    belong      3       audio/basic
+>12    belong      4       audio/basic
+>12    belong      5       audio/basic
+>12    belong      6       audio/basic
+>12    belong      7       audio/basic
+>12    belong     23       audio/x-adpcm
+ +

Et celles-ci permettraient de reconnaître la différence entre les + fichiers *.doc qui contiennent des documents Microsoft + Word et les documents FrameMaker (ce sont des formats de fichiers + incompatibles qui possèdent le même suffixe).

+ +
# Frame
+0  string  \<MakerFile        application/x-frame
+0  string  \<MIFFile          application/x-frame
+0  string  \<MakerDictionary  application/x-frame
+0  string  \<MakerScreenFon   application/x-frame
+0  string  \<MML              application/x-frame
+0  string  \<Book             application/x-frame
+0  string  \<Maker            application/x-frame
+
+# MS-Word
+0  string  \376\067\0\043            application/msword
+0  string  \320\317\021\340\241\261  application/msword
+0  string  \333\245-\0\0\0           application/msword
+ +

Un champ optionnel codage MIME peut être ajouté dans la cinquième + colonne. Par exemple, cette ligne permet de reconnaître les fichiers + compressés par gzip et définissent le type de codage.

+ +
# gzip (GNU zip, à ne pas confondre avec
+#       l'archiveur zip [Info-ZIP/PKWARE])
+
+0  string  \037\213  application/octet-stream  x-gzip
+
top
+
+

Problèmes liés aux performances

+

Ce module n'est pas fait pour tous les systèmes. Si votre système + parvient à peine à supporter sa charge, ou si vous testez les + performances d'un serveur web, il est déconseillé d'utiliser ce + module car son fonctionnement a un prix en matière de ressources + consommées.

+ +

Des efforts ont cependant été fournis pour améliorer les + performances du code original de la commande file(1) en + l'adaptant pour fonctionner sur un serveur web à forte charge. Il a + été conçu pour un serveur sur lequel des milliers d'utilisateurs + publient leurs propres documents, ce qui est probablement très + courant sur un intranet. Il s'avère souvent bénéfique qu'un serveur + puisse prendre des décisions plus pertinentes à propos du contenu + d'un fichier que celles se basant sur le nom du fichier seul, ne + serait-ce que pour diminuer le nombre d'appels du type "pourquoi ma + page ne s'affiche-t-elle pas ?" survenant lorsque les utilisateurs + nomment leurs fichiers incorrectement. Vous devez déterminer si la + charge supplémentaire convient à votre environnement.

+
top
+
+

Notes

+

Les notes suivantes s'appliquent au module + mod_mime_magic et sont incluses ici pour + conformité avec les restrictions de copyright des contributeurs + qui requièrent de les accepter.

+

Note de traduction : ces informations de type légal ne sont pas traductibles

+ +
+

mod_mime_magic: MIME type lookup via file magic numbers
+ Copyright (c) 1996-1997 Cisco Systems, Inc.

+ +

This software was submitted by Cisco Systems to the Apache Group + in July 1997. Future revisions and derivatives of this source code + must acknowledge Cisco Systems as the original contributor of this + module. All other licensing and usage conditions are those of the + Apache Group.

+ +

Some of this code is derived from the free version of the file + command originally posted to comp.sources.unix. Copyright info for + that program is included below as required.

+
+ +
+

- Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.

+ +

This software is not subject to any license of the American + Telephone and Telegraph Company or of the Regents of the University + of California.

+ +

Permission is granted to anyone to use this software for any + purpose on any computer system, and to alter it and redistribute it + freely, subject to the following restrictions:

+ +
    +
  1. The author is not responsible for the consequences of use of + this software, no matter how awful, even if they arise from flaws + in it.
  2. + +
  3. The origin of this software must not be misrepresented, either + by explicit claim or by omission. Since few users ever read + sources, credits must appear in the documentation.
  4. + +
  5. Altered versions must be plainly marked as such, and must not + be misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation.
  6. + +
  7. This notice may not be removed or altered.
  8. +
+
+ +
+

For compliance with Mr Darwin's terms: this has been very + significantly modified from the free "file" command.

+ +
    +
  • all-in-one file for compilation convenience when moving from + one version of Apache to the next.
  • + +
  • Memory allocation is done through the Apache API's pool + structure.
  • + +
  • All functions have had necessary Apache API request or server + structures passed to them where necessary to call other Apache API + routines. (i.e., usually for logging, files, or memory + allocation in itself or a called function.)
  • + +
  • struct magic has been converted from an array to a single-ended + linked list because it only grows one record at a time, it's only + accessed sequentially, and the Apache API has no equivalent of + realloc().
  • + +
  • Functions have been changed to get their parameters from the + server configuration instead of globals. (It should be reentrant + now but has not been tested in a threaded environment.)
  • + +
  • Places where it used to print results to stdout now saves them + in a list where they're used to set the MIME type in the Apache + request record.
  • + +
  • Command-line flags have been removed since they will never be + used here.
  • +
+
+
+
top
+

Directive MimeMagicFile

+ + + + + + +
Description:Active la détermination du type MIME en se basant sur le +contenu du fichier et en utilisant le fichier magique +spécifié
Syntaxe:MimeMagicFile chemin-fichier
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_mime_magic
+

La directive MimeMagicFile permet + d'activer ce module, le fichier par défaut fourni étant + conf/magic. Les chemins sans slash '/' de début sont + relatifs au répertoire défini par la directive ServerRoot. Les serveurs virtuels + utilisent le même fichier que le serveur principal sauf si un + fichier spécifique a été défini pour ce serveur virtuel, auquel cas + c'est ce dernier fichier qui sera utilisé.

+ +

Exemple

MimeMagicFile conf/magic
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_negotiation.html b/docs/manual/mod/mod_negotiation.html new file mode 100644 index 0000000..9edee3e --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_negotiation.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_negotiation.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_negotiation.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_negotiation.html.en b/docs/manual/mod/mod_negotiation.html.en new file mode 100644 index 0000000..402b3fc --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html.en @@ -0,0 +1,372 @@ + + + + + +mod_negotiation - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_negotiation

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + +
Description:Provides for content negotiation
Status:Base
Module Identifier:negotiation_module
Source File:mod_negotiation.c
+

Summary

+ +

Content negotiation, or more accurately content selection, is + the selection of the document that best matches the clients + capabilities, from one of several available documents. There + are two implementations of this.

+ +
    +
  • A type map (a file with the handler + type-map) which explicitly lists the files + containing the variants.
  • + +
  • A Multiviews search (enabled by the Multiviews + Options), where the server does + an implicit filename pattern match, and choose from amongst the + results.
  • +
+
+ +
top
+
+

Type maps

+

A type map has a format similar to RFC822 mail headers. It + contains document descriptions separated by blank lines, with + lines beginning with a hash character ('#') treated as + comments. A document description consists of several header + records; records may be continued on multiple lines if the + continuation lines start with spaces. The leading space will be + deleted and the lines concatenated. A header record consists of + a keyword name, which always ends in a colon, followed by a + value. Whitespace is allowed between the header name and value, + and between the tokens of value. The headers allowed are:

+ +
+
Content-Encoding:
+
The encoding of the file. Apache only recognizes + encodings that are defined by an AddEncoding directive. + This normally includes the encodings x-compress + for compress'd files, and x-gzip for gzip'd + files. The x- prefix is ignored for encoding + comparisons.
+ +
Content-Language:
+
The language(s) of the variant, as an Internet standard + language tag (RFC 1766). An example is en, + meaning English. If the variant contains more than one + language, they are separated by a comma.
+ +
Content-Length:
+
The length of the file, in bytes. If this header is not + present, then the actual length of the file is used.
+ +
Content-Type:
+ +
+ The MIME media type of + the document, with optional parameters. Parameters are + separated from the media type and from one another by a + semi-colon, with a syntax of name=value. Common + parameters include: + +
+
level
+
an integer specifying the version of the media type. + For text/html this defaults to 2, otherwise + 0.
+ +
qs
+
a floating-point number with a value in the range 0[.000] + to 1[.000], indicating the relative 'quality' of this variant + compared to the other available variants, independent of + the client's capabilities. For example, a jpeg file is + usually of higher source quality than an ascii file if it + is attempting to represent a photograph. However, if the + resource being represented is ascii art, then an ascii + file would have a higher source quality than a jpeg file. + All qs values are therefore specific to a given + resource.
+
+ +

Example

+ Content-Type: image/jpeg; qs=0.8 +

+
+ +
URI:
+
uri of the file containing the variant (of the given + media type, encoded with the given content encoding). These + are interpreted as URLs relative to the map file; they must + be on the same server, and they must refer to files to + which the client would be granted access if they were to be + requested directly.
+ +
Body:
+
The actual content of the resource may + be included in the type-map file using the Body header. This + header must contain a string that designates a delimiter for + the body content. Then all following lines in the type map + file will be considered part of the resource body until the + delimiter string is found. + +

Example:

+ Body:----xyz----
+ <html>
+ <body>
+ <p>Content of the page.</p>
+ </body>
+ </html>
+ ----xyz---- +

+
+
+ +

Consider, for example, a resource called + document.html which is available in English, French, + and German. The files for each of these are called + document.html.en, document.html.fr, and + document.html.de, respectively. The type map file will + be called document.html.var, and will contain the + following:

+ +

+ URI: document.html
+
+ Content-language: en
+ Content-type: text/html
+ URI: document.html.en
+
+ Content-language: fr
+ Content-type: text/html
+ URI: document.html.fr
+
+ Content-language: de
+ Content-type: text/html
+ URI: document.html.de
+
+ +

+ +

All four of these files should be placed in the same directory, + and the .var file should be associated with the + type-map handler with an AddHandler directive:

+ +
AddHandler type-map .var
+ + +

A request for document.html.var in this directory will + result in choosing the variant which most closely matches the language preference + specified in the user's Accept-Language request + header.

+ +

If Multiviews is enabled, and MultiviewsMatch is set to "handlers" or "any", a request to + document.html will discover document.html.var and + continue negotiating with the explicit type map.

+ +

Other configuration directives, such as Alias can be used to map document.html to + document.html.var.

+ +
top
+
+

Multiviews

+

A Multiviews search is enabled by the Multiviews + Options. If the server receives a + request for /some/dir/foo and + /some/dir/foo does not exist, then the + server reads the directory looking for all files named + foo.*, and effectively fakes up a type map which + names all those files, assigning them the same media types and + content-encodings it would have if the client had asked for one + of them by name. It then chooses the best match to the client's + requirements, and returns that document.

+ +

The MultiviewsMatch + directive configures whether Apache will consider files + that do not have content negotiation meta-information assigned + to them when choosing files.

+
+
top
+

CacheNegotiatedDocs Directive

+ + + + + + + +
Description:Allows content-negotiated documents to be +cached by proxy servers
Syntax:CacheNegotiatedDocs On|Off
Default:CacheNegotiatedDocs Off
Context:server config, virtual host
Status:Base
Module:mod_negotiation
+

If set, this directive allows content-negotiated documents + to be cached by proxy servers. This could mean that clients + behind those proxys could retrieve versions of the documents + that are not the best match for their abilities, but it will + make caching more efficient.

+ +

This directive only applies to requests which come from + HTTP/1.0 browsers. HTTP/1.1 provides much better control over + the caching of negotiated documents, and this directive has no + effect in responses to HTTP/1.1 requests.

+ + +
+
top
+

ForceLanguagePriority Directive

+ + + + + + + + +
Description:Action to take if a single acceptable document is not +found
Syntax:ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]
Default:ForceLanguagePriority Prefer
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_negotiation
+

The ForceLanguagePriority directive uses + the given LanguagePriority to satisfy + negotiation where the server could otherwise not return a single + matching document.

+ +

ForceLanguagePriority Prefer uses + LanguagePriority to serve a one valid result, rather + than returning an HTTP result 300 (MULTIPLE CHOICES) when there + are several equally valid choices. If the directives below were + given, and the user's Accept-Language header assigned + en and de each as quality .500 + (equally acceptable) then the first matching variant, en, + will be served.

+ +
LanguagePriority en fr de
+ForceLanguagePriority Prefer
+ + +

ForceLanguagePriority Fallback uses + LanguagePriority to + serve a valid result, rather than returning an HTTP result 406 + (NOT ACCEPTABLE). If the directives below were given, and the user's + Accept-Language only permitted an es + language response, but such a variant isn't found, then the first + variant from the LanguagePriority list below will be served.

+ +
LanguagePriority en fr de
+ForceLanguagePriority Fallback
+ + +

Both options, Prefer and Fallback, may be + specified, so either the first matching variant from LanguagePriority will be served if + more than one variant is acceptable, or first available document will + be served if none of the variants matched the client's acceptable list + of languages.

+ +

See also

+ +
+
top
+

LanguagePriority Directive

+ + + + + + + +
Description:The precedence of language variants for cases where +the client does not express a preference
Syntax:LanguagePriority MIME-lang [MIME-lang] +...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_negotiation
+

The LanguagePriority sets the precedence + of language variants for the case where the client does not + express a preference, when handling a Multiviews request. The list + of MIME-lang are in order of decreasing preference.

+ +
LanguagePriority en fr de
+ + +

For a request for foo.html, where + foo.html.fr and foo.html.de both + existed, but the browser did not express a language preference, + then foo.html.fr would be returned.

+ +

Note that this directive only has an effect if a 'best' + language cannot be determined by any other means or the ForceLanguagePriority directive + is not None. In general, the client determines the + language preference, not the server.

+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_negotiation.html.fr.utf8 b/docs/manual/mod/mod_negotiation.html.fr.utf8 new file mode 100644 index 0000000..bc44c99 --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html.fr.utf8 @@ -0,0 +1,388 @@ + + + + + +mod_negotiation - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_negotiation

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Effectue la négociation de +contenu
Statut:Base
Identificateur de Module:negotiation_module
Fichier Source:mod_negotiation.c
+

Sommaire

+ +

La négociation de contenu, ou plus précisément la sélection de + contenu, est la sélection parmi plusieurs documents disponibles, du + document qui "colle" au plus près des possibilités du client. Pour y + parvenir, deux méthodes sont employées.

+ +
    +
  • Une table de correspondances de types (un fichier associé au + gestionnaire type-map) qui contient une liste + explicite des fichiers contenant les différentes variantes.
  • + +
  • Une recherche multivues (Multiviews) (activée par l'Options Multiviews), où le + serveur effectue une recherche de correspondance de modèle de nom + de fichier implicite, et fait son choix parmi les résultats.
  • +
+
+ +
top
+
+

Tables de correspondances de types

+

Une table de correspondances de types possède un format similaire + à celui des en-têtes de messagerie RFC822. Elle contient des + descriptions de documents séparées par des lignes vides, toute ligne + commençant par un dièse ('#') étant considérée comme un + commentaire. Une description de document comporte plusieurs + enregistrements d'en-têtes ; chaque enregistrement peut être réparti + sur plusieurs lignes à condition que les lignes supplémentaires + commencent par un ou plusieurs espaces. Lors du traitement, les + espaces de début de ligne seront supprimés et les lignes + concaténées. L'enregistrement d'un en-tête comprend un mot-clé qui + se termine toujours par un caractère "deux-points" ':', suivi d'une + valeur. Les espaces sont autorisés entre le nom d'en-tête et sa + valeur, ainsi qu'entre les différents éléments de la valeur. Les + en-têtes autorisés sont :

+ +
+
Content-Encoding:
+
Le codage du fichier. Apache ne reconnaît que les codages + définis par une directive AddEncoding. Sont normalement inclus + les codages x-compress pour les fichiers compressés + avec compress, et x-gzip pour les fichiers compressés + avec gzip. Le préfixe x- est ignoré lors des + comparaisons de codages.
+ +
Content-Language:
+
Le(s) langage(s) de la variante, sous la forme d'un symbole de + langage Internet standard (RFC 1766). Par + exemple, en correspond à l'anglais. Si la variante + contient plusieurs langages, ils sont séparés par des + virgules.
+ +
Content-Length:
+
La taille du fichier en octets. Si cet en-tête n'est pas + présent, c'est la taille réelle du fichier qui est utilisée.
+ +
Content-Type:
+ +
+ Le type MIME du document + avec des paramètres optionnels. Les paramètres sont séparés du + type de médium ainsi qu'entre eux par un point-virgule, et + possèdent la syntaxe nom=valeur. Les paramètres + courants sont : + +
+
level
+
un entier spécifiant la version du type de média. Pour + text/html, la valeur par défaut est 2, sinon + 0.
+ +
qs
+
un nombre en virgule flottante de 0[.000] à 1[.000], indiquant la + "qualité" relative de la variante courante par rapport aux + autres variantes disponibles, indépendamment des possibilités + du client. Par exemple, un fichier jpeg est en général une + source de qualité supérieure à un fichier ascii s'il est censé + représenter une image. Cependant, si la ressource représentée + est une image ascii, un fichier ascii possèdera une qualité + supérieure à un fichier jpeg. Toutes les valeurs de + qs sont donc spécifiques à une certaine + ressource.
+
+ +

Exemple

+ Content-Type: image/jpeg; qs=0.8 +

+
+ +
URI:
+
l'URI du fichier contenant la variante (du type de médium + donné, codé selon le codage de contenu donné). Cet URI est + considéré comme relatif au fichier de correspondances ; il doit + être situé sur le même serveur, et doit faire référence au + fichier auquel le client se verrait accorder l'accès s'il était + requis directement.
+ +
Body:
+
Le contenu réel de la ressource + peut être inclus dans la table de correspondances en utilisant + l'en-tête Body. Cet en-tête doit contenir une chaîne désignant un + délimiteur pour le contenu du corps. Les lignes suivantes du + fichier de correspondances de types seront alors considérées comme + parties du corps de la ressource jusqu'à ce que le délimiteur soit + détecté. + +

Exemple:

+ Body:----xyz----
+ <html>
+ <body>
+ <p>Contenu de la page.</p>
+ </body>
+ </html>
+ ----xyz---- +

+
+
+ +

Considérons une ressource, document.html, disponible + en anglais, en français et en allemand. Les fichiers correspondants + se nomment respectivement document.html.en, + document.html.fr, et document.html.de. Le + fichier de correspondances de types se nommera + document.html.var et contiendra ce qui suit :

+ +

+ URI: document.html
+
+ Content-language: en
+ Content-type: text/html
+ URI: document.html.en
+
+ Content-language: fr
+ Content-type: text/html
+ URI: document.html.fr
+
+ Content-language: de
+ Content-type: text/html
+ URI: document.html.de
+
+ +

+ +

Ces quatre fichiers doivent se trouver dans le même répertoire, + et le fichier .var doit être associé au gestionnaire + type-map via une directive AddHandler :

+ +
AddHandler type-map .var
+ + +

A l'arrivée d'une requête pour la ressource + document.html.var, la variante de + document.html qui correspond le mieux à la préference + de langage spécifiée dans l'en-tête de la requête de l'utilisateur + Accept-Language sera choisie.

+ +

Si Multiviews est activée, et si MultiviewsMatch est définie à + "handlers" ou "any", une requête pour document.html va + rechercher document.html.var, et continuer la + négociation avec le gestionnaire explicite type-map.

+ +

D'autres directives de configuration, comme Alias, peuvent être utilisées pour + associer document.html avec + document.html.var.

+
top
+
+

Multivues

+

Une recherche Multivues est activée par l'Options Multiviews. Si le + serveur reçoit une requête pour /un/répertoire/foo, et + si /un/répertoire/foo n'existe pas, le serveur parcourt + le répertoire à la recherche de tous les fichiers de nom + foo.*, et simule véritablement une correspondance de + type qui nomme tous ces fichiers en leur assignant les mêmes type + de média et codage de contenu qu'ils auraient eus si le client avait + requis l'un d'entre eux avec son nom complet. Il choisit ensuite le + fichier qui correspond le mieux au profile du client, puis renvoie + le document.

+ +

La directive MultiviewsMatch définit si Apache doit + prendre en compte les fichiers qui ne comportent pas de métadonnées + de négociation de contenu lors du choix du fichier à servir.

+
+
top
+

Directive CacheNegotiatedDocs

+ + + + + + + +
Description:Permet la mise en cache au niveau des serveurs mandataires +des documents dont le contenu a été négocié
Syntaxe:CacheNegotiatedDocs On|Off
Défaut:CacheNegotiatedDocs Off
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_negotiation
+

Si elle est définie à "on", cette directive permet la mise en + cache au niveau des serveurs mandataires des documents dont le + contenu a été négocié. Le processus de mise en cache sera alors plus + efficace, mais des clients se trouvant derrière le mandataire + seront alors susceptibles de se voir servir des versions de + documents qui ne correspondent pas forcément à leurs attentes.

+ +

Cette directive ne s'applique qu'aux requêtes en provenance de + navigateurs HTTP/1.0. HTTP/1.1 fournit un bien meilleur contrôle de + la mise en cache des documents au contenu négocié, et cette + directive n'a aucun effet sur les réponses aux requêtes + HTTP/1.1.

+ + +
+
top
+

Directive ForceLanguagePriority

+ + + + + + + + +
Description:Action à entreprendre si un document acceptable unique +n'est pas trouvé
Syntaxe:ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]
Défaut:ForceLanguagePriority Prefer
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_negotiation
+

La directive ForceLanguagePriority utilise + le langage défini par la directive LanguagePriority pour terminer + la négociation lorsque le serveur n'est pas en mesure de trouver une + solution satisfaisante unique.

+ +

ForceLanguagePriority Prefer utilise la directive + LanguagePriority pour servir le résultat d'un choix + unique, au lieu de renvoyer un résultat HTTP 300 (MULTIPLE CHOICES), + lorsque que plusieurs choix équivalents sont disponibles. Par + exemple, avec les deux directives ci-dessous, si l'en-tête + Accept-Language de l'utilisateur assigne à + en et de une qualité de .500 + (les deux langages sont également acceptables), alors c'est la + première variante acceptable de langue en qui sera + servie.

+ +
LanguagePriority en fr de
+ForceLanguagePriority Prefer
+ + +

ForceLanguagePriority Fallback utilise la directive + LanguagePriority + pour servir un résultat valide, au lieu de renvoyer un résultat HTTP + 406 (NOT ACCEPTABLE). Avec les deux directives ci-dessous, si + l'en-tête Accept-Language de l'utilisateur ne mentionne + que les réponses de langage es, et si aucune variante + dans cette langue n'est trouvée, c'est la première variante de la + liste définie par la directive LanguagePriority qui sera servie.

+ +
LanguagePriority en fr de
+ForceLanguagePriority Fallback
+ + +

Les deux options, Prefer et Fallback, + peuvent être spécifiées, de façon à ce que la variante servie soit + la première variante qui convient définie par la directive + LanguagePriority si + plusieurs variantes sont également acceptables, ou le premier + document disponible si aucune variante ne convient à la liste de + langages acceptables fournie par le client.

+ +

Voir aussi

+ +
+
top
+

Directive LanguagePriority

+ + + + + + + +
Description:L'ordre de priorité des variantes de langages pour les +cas où le client n'a pas formulé de préférences
Syntaxe:LanguagePriority langage-MIME [langage-MIME] +...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_negotiation
+

La directive LanguagePriority permet de + définir, au cours du traitement d'une requête Multivues, l'ordre de + priorité des variantes de langages pour les cas + où le client n'a pas formulé de préférences. La liste énumère les + langages-MIME dans un ordre de préférences + décroissantes.

+ +
LanguagePriority en fr de
+ + +

Dans le cas d'une requête pour foo.html, si + foo.html.fr et foo.html.de existent, et si + le client n'a pas formulé de préférences, c'est le fichier + foo.html.fr qui sera renvoyé.

+ +

Notez que cette directive n'a d'effet que si le 'meilleur' + langage n'a pas pu être déterminé d'une autre manière ou si la + valeur de la directive ForceLanguagePriority est + différente de None. En général, c'est le client qui + détermine le langage préféré, non le serveur.

+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_negotiation.html.ja.utf8 b/docs/manual/mod/mod_negotiation.html.ja.utf8 new file mode 100644 index 0000000..4ab663a --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html.ja.utf8 @@ -0,0 +1,332 @@ + + + + + +mod_negotiation - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_negotiation

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ + 機能をæä¾›ã™ã‚‹
ステータス:Base
モジュール識別å­:negotiation_module
ソースファイル:mod_negotiation.c
+

概è¦

+ +

コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã€ã‚ˆã‚Šæ­£ç¢ºã«ã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®é¸æŠžæ©Ÿèƒ½ã¯ã€ + 複数用æ„ã•ã‚Œã¦ã„るドキュメントã‹ã‚‰ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®èƒ½åŠ›ã«ä¸€ç•ªåˆã£ãŸ + ドキュメントをé¸æŠžã™ã‚‹æ©Ÿèƒ½ã§ã™ã€‚ã“ã®å®Ÿè£…ã¯äºŒã¤ã‚ã‚Šã¾ã™ã€‚

+ +
    +
  • タイプマップ (type-map + ãƒãƒ³ãƒ‰ãƒ©ã§æ‰±ã‚れるファイル)。ã“れ㯠variants + ã‚’å«ã‚“ã§ã„るファイルを明示的ã«æŒ‡å®šã—ã¾ã™ã€‚
  • + +
  • MultiViews ã®æŽ¢ç´¢ (MultiViews Option ã§æœ‰åŠ¹ã«ãªã‚Šã¾ã™)。 + サーãƒãŒæš—é»™ã®å†…ã«ãƒ•ã‚¡ã‚¤ãƒ«åã®ãƒ‘ターンマッãƒã‚’è¡Œãªã„〠+ ãã®çµæžœã‹ã‚‰é¸æŠžã—ã¾ã™ã€‚
  • +
+
+ +
top
+
+

タイプマップ

+

タイプマップ㯠RFC 822 ã®ãƒ¡ãƒ¼ãƒ«ãƒ˜ãƒƒãƒ€ã«é¡žä¼¼ã—ãŸæ›¸å¼ã§ã™ã€‚ + ドキュメントã®è¨˜è¿°ãŒç©ºè¡Œã§åˆ†é›¢ã•ã‚Œã¦æ›¸ã‹ã‚Œã¦ã„ã¦ã€ãƒãƒƒã‚·ãƒ¥æ–‡å­— + ('#') ã§å§‹ã¾ã‚‹è¡Œã¯ã‚³ãƒ¡ãƒ³ãƒˆã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ + ドキュメントã®èª¬æ˜Žã¯è¤‡æ•°ã®ãƒ˜ãƒƒãƒ€ãƒ¬ã‚³ãƒ¼ãƒ‰ã‹ã‚‰æ§‹æˆã•ã‚Œã¾ã™ã€‚ + レコードã¯ã€ç¶šãã®è¡ŒãŒç©ºç™½ã§å§‹ã¾ã£ã¦ã„ã‚‹ã¨è¤‡æ•°ã®è¡Œã«ã¾ãŸãŒã‚Šã¾ã™ã€‚ + 最åˆã®ç©ºç™½ãŒæ¶ˆåŽ»ã•ã‚Œã¦ã€å‰ã®è¡Œã¨ã¤ãªã’㦠1 è¡Œã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ + ヘッダレコードã¯ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰åã®å¾Œã«å€¤ãŒç¶šãã¨ã„ã†å½¢å¼ã§ã€ + キーワードåã¯å¸¸ã«ã‚³ãƒ­ãƒ³ã§çµ‚ã‚ã‚Šã¾ã™ã€‚空白ã¯ãƒ˜ãƒƒãƒ€åã¨å€¤ã®é–“〠+ 値ã®ãƒˆãƒ¼ã‚¯ãƒ³ã®é–“ã«å…¥ã‚Œã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 使用å¯èƒ½ãªãƒ˜ãƒƒãƒ€ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™:

+ +
+
Content-Encoding:
+
ファイルã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€‚Apache 㯠AddEncoding ディレクティブ + ã§å®šç¾©ã•ã‚ŒãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã ã‘ã‚’èªè­˜ã—ã¾ã™ã€‚通常 compress + ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ãŸã‚ã® x-compress 㨠gzip + ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ãŸã‚ã® x-gzip ã‚’å«ã¿ã¾ã™ã€‚ + エンコーディングã®æ¯”較をã™ã‚‹ã¨ãã¯ã€æŽ¥é ­è¾ž x- + ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚
+ +
Content-Language:
+
インターãƒãƒƒãƒˆæ¨™æº–ã®è¨€èªžã‚¿ã‚° + (RFC 1766) + ã§å®šç¾©ã•ã‚Œã¦ã„る言語ã®ç¨®é¡žã€‚例ãˆã°ã€en + ã¯è‹±èªžã‚’表ã—ã¾ã™ã€‚ + 複数ã®è¨€èªžãŒæ ¼ç´ã•ã‚Œã‚‹å ´åˆã¯ã‚³ãƒ³ãƒžã§åŒºåˆ‡ã‚‰ã‚Œã¾ã™ã€‚
+ +
Content-Length:
+
ファイルã®é•·ã• (ãƒã‚¤ãƒˆæ•°)。 + ã“ã®ãƒ˜ãƒƒãƒ€ãŒãªã„å ´åˆã€ãƒ•ã‚¡ã‚¤ãƒ«ã®å®Ÿéš›ã®é•·ã•ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚
+ +
Content-Type:
+
ドキュメント㮠MIME + メディアタイプã€ã‚ªãƒ—ショナルãªãƒ‘ラメータ付ã。パラメータã®æ§‹æ–‡ã¯ + name=value + ã§ã€ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã‚„ä»–ã®ãƒ‘ラメータã¨ã¯ã‚»ãƒŸã‚³ãƒ­ãƒ³ã§åˆ†é›¢ã•ã‚Œã¾ã™ã€‚ + 共通ã®ãƒ‘ラメータã¯ä»¥ä¸‹ã®ã¨ãŠã‚Š: + +
+
level
+
メディアタイプã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’示ã™æ•´æ•°ã€‚ + text/html ã§ã¯ 2 ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã€ãã®ä»–ã®å ´åˆã¯ + 0 ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã™ã€‚
+ +
qs
+
クライアントã®èƒ½åŠ›ã«é–¢ä¿‚ãªãã€variant + ã‚’ä»–ã¨æ¯”較ã—ãŸã¨ãã®ç›¸å¯¾çš„ãªã€Œå“質ã€ã§ã€0.0 ã‹ã‚‰ 1.0 + ã®ç¯„囲ã®æµ®å‹•ç‚¹å°æ•°ã€‚ + 例ãˆã°ã€å†™çœŸã‚’表ç¾ã—よã†ã¨ã—ã¦ã„ã‚‹ã¨ãã¯æ™®é€šã¯ JPEG + ファイルã®æ–¹ãŒ ASCII ファイルよりも高ã„å“質ã«ãªã‚Šã¾ã™ã€‚ + ã—ã‹ã—ã€ãƒªã‚½ãƒ¼ã‚¹ãŒ ASCII アートã§è¡¨ç¾ã•ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€ASCII + ファイルã®æ–¹ãŒ JPEG + ファイルよりも高ã„å“質ã«ãªã‚Šã¾ã™ã€‚ã“ã®ã‚ˆã†ã«ã€qs + ã¯ãƒªã‚½ãƒ¼ã‚¹æ¯Žã«ç‰¹æœ‰ã®å€¤ã‚’å–ã‚Šã¾ã™ã€‚ +
+
+ +

例

+ Content-Type: image/jpeg; qs=0.8 +

+
+ +
URI:
+
(指定ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®) variant ã® + ファイル㮠uri. ã“ã‚Œã¯ã€ãƒžãƒƒãƒ—ファイルã‹ã‚‰ã®ç›¸å¯¾ URL ã¨ã—㦠+ 解釈ã•ã‚Œã¾ã™ã€‚åŒã˜ã‚µãƒ¼ãƒã«å­˜åœ¨ã—ãªã‘ã‚Œã°ãªã‚‰ãšã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ + 直接リクエストã—ãŸã¨ãã«ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•ã‚Œã‚‹ã‚‚ã®ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ +
Body:
+
Apache 2.0 ã§æ–°è¨­ã•ã‚ŒãŸã“ã® Body ヘッダを使ã£ã¦ã€ + リソースã®å®Ÿéš›ã®å†…容をタイプマップファイルã«æ›¸ãã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®ãƒ˜ãƒƒãƒ€ã¯æœ¬æ–‡ã®å†…容ã®åŒºåˆ‡ã‚Šã¨ãªã‚‹æ–‡å­—列ã§å§‹ã¾ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + タイプマップファイルã®ç¶šãè¡Œã¯ã€åŒºåˆ‡ã‚Šæ–‡å­—列ãŒè¦‹ã¤ã‹ã‚‹ã¾ã§ã€ + リソースã®æœ¬æ–‡ã«ãªã‚Šã¾ã™ã€‚ + +

Example:

+ Body:----xyz----
+ <html>
+ <body>
+ <p>Content of the page.</p>
+ </body>
+ </html>
+ ----xyz---- +

+
+
+
top
+
+

MultiViews

+

MultiViews 探索ã¯ã€Multiviews Options ディレクティブã«ã‚ˆã‚Šæœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + サーãƒãŒ /some/dir/foo + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã‚Šã€/some/dir/foo ãŒå­˜åœ¨ + ã—ãªã„å ´åˆã€ã‚µãƒ¼ãƒã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’読んã§ã€ + foo.* ã«ã‚ã¦ã¯ã¾ã‚‹å…¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã—〠+ 事実上ãれらã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’マップã™ã‚‹ã‚¿ã‚¤ãƒ—マップを作りã¾ã™ã€‚ + ãã®ã¨ãã€ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã¨ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯ã€ + ãã®ãƒ•ã‚¡ã‚¤ãƒ«åを直接指定ã—ãŸã¨ãã¨åŒã˜ã‚‚ã®ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ + ãã‚Œã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¦æ±‚ã«ä¸€ç•ªåˆã†ã‚‚ã®ã‚’é¸ã³ã€ + ãã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’è¿”ã—ã¾ã™ã€‚

+ +

ファイルをé¸æŠžã™ã‚‹éš›ã«ã€é–¢é€£ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã® + メタ情報をæŒãŸãªã„ファイルã«ã¤ã„ã¦ã€åˆ¤å®šã‚’è¡Œã†ã‹ã©ã†ã‹ã‚’ + MultiViewsMatch + ディレクティブã§è¨­å®šã—ã¾ã™ã€‚

+
+
top
+

CacheNegotiatedDocs ディレクティブ

+ + + + + + + + +
説明:コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’プロキシサーãƒãŒ +キャッシュã§ãるよã†ã«ã™ã‚‹
構文:CacheNegotiatedDocs On|Off
デフォルト:CacheNegotiatedDocs Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_negotiation
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0ã§æ§‹æ–‡ãŒå¤‰ã‚ã‚Šã¾ã—ãŸ
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒè¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒˆãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ + ã‚’ã—ãŸçµæžœã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’許å¯ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ã€ãƒ—ロキシã®å¾Œã‚ã«ã„るクライアントãŒèƒ½åŠ›ã«ä¸€ç•ªåˆã£ãŸ + ドキュメントã§ã¯ãªã〠+ キャッシュをより効果的ã«ã™ã‚‹ã‚‚ã®ã‚’å¾—ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠HTTP/1.0 ブラウザã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆ + ã®ã¿ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚HTTP/1.1 ã¯ã€ + 交渉ã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã«å¯¾ã—ã¦ãšã£ã¨ã‚ˆã„制御ãŒå¯èƒ½ãªã®ã§ã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠HTTP/1.1 ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯å½±éŸ¿ã—ã¾ã›ã‚“。

+

2.0 よりå‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ + CacheNegotiatedDocs ã¯å¼•æ•°ã‚’å–らãšã€ + ディレクティブãŒå­˜åœ¨ã™ã‚‹ã“ã¨ã§ on ã®å‹•ä½œã‚’ã—ã¦ã„ã¾ã—ãŸã€‚

+ +
+
top
+

ForceLanguagePriority ディレクティブ

+ + + + + + + + + +
説明:è¦æ±‚ã«åˆã†å˜ç‹¬ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã¨ãã«è¡Œãªã†ã“ã¨ã‚’指定 +
構文:ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]
デフォルト:ForceLanguagePriority Prefer
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_negotiation
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0.30 以é™ã§ä½¿ç”¨å¯èƒ½
+

ForceLanguagePriority ディレクティブ㯠+ è¦æ±‚ã«åˆã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’一ã¤ã ã‘è¿”ã™ã“ã¨ãŒã§ããªã„ã¨ãã«ã€ + LanguagePriority + ディレクティブを使ã£ã¦ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®çµæžœã‚’è¿”ã—ã¾ã™ã€‚

+ +

ForceLanguagePriority Prefer ã¯ã€åŒç­‰ã®é¸æŠžè‚¢ãŒ + ã„ãã¤ã‹ã‚ã‚‹ã¨ãã«ã€HTTP ã® 300 (MULTIPLE CHOICES) ã‚’è¿”ã™ä»£ã‚ã‚Šã«ã€ + LanguagePriority を使ã£ã¦ä¸€ã¤ã ã‘ドキュメントを返ã™ã‚ˆã†ã« + ã—ã¾ã™ã€‚以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¦ã€ãƒ¦ãƒ¼ã‚¶ã® Accept-Language + ヘッダã§ã¯ en 㨠de ã®å“質ãŒå…±ã« + .500 (åŒã˜ãらã„許容) ã§ã‚ã‚‹ã¨ãã¯ã€ + 最åˆã«ãƒžãƒƒãƒã™ã‚‹ variant ã® en ãŒé€ã‚‰ã‚Œã¾ã™ã€‚

+ +

+ LanguagePriority en fr de
+ ForceLanguagePriority Prefer +

+ +

ForceLanguagePriority Fallback ã§ã¯ã€HTTP 406 + (NOT ACCEPTABLE) ã‚’é€ä¿¡ã™ã‚‹ä»£ã‚ã‚Šã«ã€ + LanguagePriority + ãŒæ­£ã—ã„çµæžœã‚’é€ã‚Šã¾ã™ã€‚ + 以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¦ã€ãƒ¦ãƒ¼ã‚¶ã® Accept-Language + ㌠es 言語ã®ã¿ã‚’許å¯ã—ã¦ã„ã¦ã€ã•ã‚‰ã«ãã®ã‚ˆã†ãª variant ãŒãªã„ã¨ãã«ã¯ã€ + 以下㮠LanguagePriority + ã®ãƒªã‚¹ãƒˆã®æœ€åˆã® variant ãŒé€ã‚‰ã‚Œã¾ã™ã€‚

+ +

+ LanguagePriority en fr de
+ ForceLanguagePriority Fallback +

+ +

Prefer 㨠Fallback ã®ä¸¡æ–¹ã®ã‚ªãƒ—ションを + åŒæ™‚ã«æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€è¤‡æ•°ã® variant ãŒã‚ã‚‹ã¨ã㯠+ LanguagePriority ã®æœ€åˆã® + variant ãŒé€ã‚‰ã‚Œã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¨±å®¹è¨€èªžã«åˆã† vaiant ãŒãªã„ã¨ã㯠+ 存在ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§æœ€åˆã®ã‚‚ã®ãŒé€ã‚‰ã‚Œã‚‹ã€ã¨ã„ã†æ§˜ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

LanguagePriority ディレクティブ

+ + + + + + + +
説明:クライアントãŒå„ªå…ˆåº¦ã‚’示ã•ãªã‹ã£ãŸã¨ãã®è¨€èªžã® variant ã®å„ªå…ˆåº¦ã‚’ +指定
構文:LanguagePriority MIME-lang [MIME-lang] +...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_negotiation
+

LanguagePriority ã¯ã€MultiViews + リクエストを扱ã†ã¨ãã«ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒå„ªå…ˆé †ä½ã‚’æä¾›ã—ã¦ã„ãªã„å ´åˆã® + 言語ã®å„ªå…ˆé †ä½ã‚’設定ã—ã¾ã™ã€‚MIME-lang + ã®ãƒªã‚¹ãƒˆãŒå„ªå…ˆåº¦ã®é™é †ã«ä¸¦ã³ã¾ã™ã€‚

+ +

Example:

+ LanguagePriority en fr de +

+ +

foo.html ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚Œã€foo.html.fr + 㨠foo.html.de ãŒä¸¡æ–¹å­˜åœ¨ã—〠+ ブラウザãŒè¨€èªžã®å„ªå…ˆé †ä½ã‚’æä¾›ã—ã¦ãªã„å ´åˆã¯ + foo.html.fr ãŒè¿”ã•ã‚Œã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ä»–ã®æ–¹æ³•ã§ã€Œæœ€å–„〠+ ã®è¨€èªžãŒæ±ºå®šã§ããªã„ã¨ãã‹ã€ForceLanguagePriority ディレクティブ㌠+ None 以外ã®ã¨ãã«ã®ã¿åŠ¹æžœãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + 一般的ã«ã¯ã€ã‚µãƒ¼ãƒå´ã§ã¯ãªãクライアントå´ã§å¥½ã¿ã®è¨€èªžã‚’決定ã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_nw_ssl.html b/docs/manual/mod/mod_nw_ssl.html new file mode 100644 index 0000000..1e1d8bb --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_nw_ssl.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_nw_ssl.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_nw_ssl.html.en b/docs/manual/mod/mod_nw_ssl.html.en new file mode 100644 index 0000000..7778775 --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html.en @@ -0,0 +1,127 @@ + + + + + +mod_nw_ssl - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_nw_ssl

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Enable SSL encryption for NetWare
Status:Base
Module Identifier:nwssl_module
Source File:mod_nw_ssl.c
Compatibility:NetWare only
+

Summary

+ +

This module enables SSL encryption for a specified port. It + takes advantage of the SSL encryption functionality that is + built into the NetWare operating system.

+
+ + +
top
+

NWSSLTrustedCerts Directive

+ + + + + + +
Description:List of additional client certificates
Syntax:NWSSLTrustedCerts filename [filename] ...
Context:server config
Status:Base
Module:mod_nw_ssl
+

Specifies a list of client certificate files (DER format) + that are used when creating a proxied SSL connection. Each + client certificate used by a server must be listed separately + in its own .der file.

+ +
+
top
+

NWSSLUpgradeable Directive

+ + + + + + +
Description:Allows a connection to be upgraded to an SSL connection upon request
Syntax:NWSSLUpgradeable [IP-address:]portnumber
Context:server config
Status:Base
Module:mod_nw_ssl
+

Allow a connection that was created on the specified address + and/or port to be upgraded to an SSL connection upon request from + the client. The address and/or port must have already be defined + previously with a Listen + directive.

+ +
+
top
+

SecureListen Directive

+ + + + + + +
Description:Enables SSL encryption for the specified port
Syntax:SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]
Context:server config
Status:Base
Module:mod_nw_ssl
+

Specifies the port and the eDirectory based certificate name + that will be used to enable SSL encryption. An optional third + parameter also enables mutual authentication.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_nw_ssl.html.fr.utf8 b/docs/manual/mod/mod_nw_ssl.html.fr.utf8 new file mode 100644 index 0000000..98d54a1 --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html.fr.utf8 @@ -0,0 +1,131 @@ + + + + + +mod_nw_ssl - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_nw_ssl

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Active le chiffrement SSL pour Netware
Statut:Base
Identificateur de Module:nwssl_module
Fichier Source:mod_nw_ssl.c
Compatibilité:NetWare seulement
+

Sommaire

+ +

Ce module active le chiffrement SSL sur un port spécifique. Il + s'appuie sur la fonctionnalité de chiffrement SSL intégrée au + système d'exploitation Netware.

+
+ + +
top
+

Directive NWSSLTrustedCerts

+ + + + + + +
Description:Liste de certificats clients supplémentaires
Syntaxe:NWSSLTrustedCerts nom-fichier +[nom-fichier] ...
Contexte:configuration globale
Statut:Base
Module:mod_nw_ssl
+

Cette directive permet de spécifier une liste de fichiers (au + format DER) contenant des certificats clients utilisés lors de + l'établissement d'une connexion SSL mandatée. Chaque certificat + client utilisé par un serveur doit être enregistré séparément dans + son propre fichier .der.

+ +
+
top
+

Directive NWSSLUpgradeable

+ + + + + + +
Description:Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande
Syntaxe:NWSSLUpgradeable [adresse-IP:]num-port
Contexte:configuration globale
Statut:Base
Module:mod_nw_ssl
+

Cette directive permet de promouvoir une connexion établie sur + l'adresse IP et/ou le port spécifiés au statut de connexion SSL à la + demande du client. L'adresse et/ou le port doivent avoir été définis + au préalable par une directive Listen.

+ +
+
top
+

Directive SecureListen

+ + + + + + +
Description:Active le chiffrement SSL pour le port +spécifié
Syntaxe:SecureListen [adresse-IP:]num-port +nom-certificat [MUTUAL]
Contexte:configuration globale
Statut:Base
Module:mod_nw_ssl
+

Cette directive permet de spécifier le port et le nom de + certificat de style eDirectory qui seront utilisés pour activer le + chiffrement SSL. En outre, un troisième paramètre optionnel permet + d'activer l'authentification mutuelle.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_privileges.html b/docs/manual/mod/mod_privileges.html new file mode 100644 index 0000000..051e21e --- /dev/null +++ b/docs/manual/mod/mod_privileges.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_privileges.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_privileges.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_privileges.html.en b/docs/manual/mod/mod_privileges.html.en new file mode 100644 index 0000000..a19a758 --- /dev/null +++ b/docs/manual/mod/mod_privileges.html.en @@ -0,0 +1,427 @@ + + + + + +mod_privileges - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_privileges

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Support for Solaris privileges and for running virtual hosts +under different user IDs.
Status:Experimental
Module Identifier:privileges_module
Source File:mod_privileges.c
Compatibility:Available in Apache 2.3 and up, on Solaris 10 and +OpenSolaris platforms
+

Summary

+ +

This module enables different Virtual Hosts to run with different +Unix User and Group IDs, and with different +Solaris Privileges. In particular, it offers a solution to the +problem of privilege separation between different Virtual Hosts, first +promised by the abandoned perchild MPM. It also offers other security +enhancements.

+ +

Unlike perchild, mod_privileges +is not itself an MPM. It works within a processing model to +set privileges and User/Group per request in a running process. +It is therefore not compatible with a threaded MPM, and will refuse +to run under one.

+ +

mod_privileges raises security issues similar to +those of suexec. But unlike suexec, +it applies not only to CGI programs but to the entire request processing +cycle, including in-process applications and subprocesses. +It is ideally suited to running PHP applications under mod_php, +which is also incompatible with threaded MPMs. It is also well-suited +to other in-process scripting applications such as mod_perl, +mod_python, and mod_ruby, and to +applications implemented in C as apache modules where privilege +separation is an issue.

+ +
+ +
top
+
+

Security Considerations

+ +

mod_privileges introduces new security concerns +in situations where untrusted code may be run +within the webserver process. This applies to +untrusted modules, and scripts running under modules such as +mod_php or mod_perl. Scripts running externally (e.g. as CGI +or in an appserver behind mod_proxy or mod_jk) are NOT affected.

+ +

The basic security concerns with mod_privileges are:

+
  • Running as a system user introduces the same security issues + as mod_suexec, and near-equivalents such as cgiwrap and suphp.
  • +
  • A privileges-aware malicious user extension (module or script) + could escalate its privileges to anything available to the + httpd process in any virtual host. This introduces new risks + if (and only if) mod_privileges is compiled with the + BIG_SECURITY_HOLE option.
  • +
  • A privileges-aware malicious user extension (module or script) + could escalate privileges to set its user ID to another system + user (and/or group).
  • +
+ +

The PrivilegesMode directive allows you to +select either FAST or SECURE mode. You can +mix modes, using FAST mode for trusted users and +fully-audited code paths, while imposing SECURE mode where an +untrusted user has scope to introduce code.

+

Before describing the modes, we should also introduce the target +use cases: Benign vs Hostile. In a benign situation, you want to +separate users for their convenience, and protect them and the server +against the risks posed by honest mistakes, but you trust your users +are not deliberately subverting system security. In a hostile +situation - e.g. commercial hosting - you may have users deliberately +attacking the system or each other.

+
+
FAST mode
+
In FAST mode, requests are run in-process with the +selected uid/gid and privileges, so the overhead is negligible. +This is suitable for benign situations, but is not secure against an +attacker escalating privileges with an in-process module or script.
+
SECURE mode
+
A request in SECURE mode forks a subprocess, which +then drops privileges. This is a very similar case to running CGI +with suexec, but for the entire request cycle, and with the benefit +of fine-grained control of privileges.
+
+

You can select different PrivilegesModes for +each virtual host, and even in a directory context within a virtual +host. FAST mode is appropriate where the user(s) are +trusted and/or have no privilege to load in-process code. +SECURE mode is appropriate to cases where untrusted code +might be run in-process. However, even in SECURE mode, +there is no protection against a malicious user who is able to +introduce privileges-aware code running before the start of the +request-processing cycle.

+ +
+
top
+

DTracePrivileges Directive

+ + + + + + + + +
Description:Determines whether the privileges required by dtrace are enabled.
Syntax:DTracePrivileges On|Off
Default:DTracePrivileges Off
Context:server config
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM).
+

This server-wide directive determines whether Apache will run with + the privileges required to run + dtrace. + Note that DTracePrivileges On will not in itself + activate DTrace, but DTracePrivileges Off will prevent + it working.

+ +
+
top
+

PrivilegesMode Directive

+ + + + + + + + +
Description:Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Syntax:PrivilegesMode FAST|SECURE|SELECTIVE
Default:PrivilegesMode FAST
Context:server config, virtual host, directory
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM).

This directive trades off performance vs security against +malicious, privileges-aware code. In SECURE mode, each request +runs in a secure subprocess, incurring a substantial performance penalty. +In FAST mode, the server is not protected against escalation +of privileges as discussed above.

+

This directive differs slightly between a <Directory> + context (including equivalents such as Location/Files/If) and a + top-level or <VirtualHost>.

+

At top-level, it sets a default that will be inherited by virtualhosts. + In a virtual host, FAST or SECURE mode acts on the entire + HTTP request, and any settings in a <Directory> + context will be ignored. A third pseudo-mode + SELECTIVE defers the choice of FAST vs SECURE to directives in a + <Directory> context.

+

In a <Directory> context, it is applicable only + where SELECTIVE mode was set for the VirtualHost. Only + FAST or SECURE can be set in this context (SELECTIVE would be +meaningless).

+

Warning

+ Where SELECTIVE mode is selected for a virtual host, the activation + of privileges must be deferred until after the mapping + phase of request processing has determined what + <Directory> context applies to the request. + This might give an attacker opportunities to introduce + code through a RewriteMap + running at top-level or <VirtualHost> context + before privileges have been dropped and userid/gid set. +
+ +
+
top
+

VHostCGIMode Directive

+ + + + + + + + +
Description:Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
Syntax:VHostCGIMode On|Off|Secure
Default:VHostCGIMode On
Context:virtual host
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM).
+

Determines whether the virtual host is allowed to run fork and exec, + the privileges required to run subprocesses. If this is set to + Off the virtualhost is denied the privileges and will not + be able to run traditional CGI programs or scripts under the traditional + mod_cgi, nor similar external programs such as those + created by mod_ext_filter or + RewriteMap prog. + Note that it does not prevent CGI programs running under alternative + process and security models such as mod_fcgid, which is a recommended solution in Solaris.

+

If set to On or Secure, the virtual host + is permitted to run external programs and scripts as above. + Setting VHostCGIMode Secure has + the effect of denying privileges to the subprocesses, as described + for VHostSecure.

+ +
+
top
+

VHostCGIPrivs Directive

+ + + + + + + + +
Description:Assign arbitrary privileges to subprocesses created +by a virtual host.
Syntax:VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...
Default:None
Context:virtual host
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM) +and when mod_privileges is compiled with the +BIG_SECURITY_HOLE compile-time option.
+

VHostCGIPrivs can be used to assign arbitrary privileges to subprocesses created by a virtual host, as discussed + under VHostCGIMode. Each privilege-name + is the name of a Solaris privilege, such as file_setid + or sys_nfs.

+ +

A privilege-name may optionally be prefixed by + + or -, which will respectively allow or deny a privilege. + If used with neither + nor -, all privileges otherwise assigned + to the virtualhost will be denied. You can use this to override + any of the default sets and construct your own privilege set.

+ +

Security

+

This directive can open huge security holes in apache subprocesses, + up to and including running them with root-level powers. Do not + use it unless you fully understand what you are doing!

+ +
+
top
+

VHostGroup Directive

+ + + + + + + + +
Description:Sets the Group ID under which a virtual host runs.
Syntax:VHostGroup unix-groupid
Default:Inherits the group id specified in +Group
Context:virtual host
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM).
+

The VHostGroup directive sets the Unix group + under which the server will process requests to a virtualhost. + The group is set before the request is processed and reset afterwards + using Solaris Privileges. Since the setting applies to the + process, this is not compatible with threaded MPMs.

+

Unix-group is one of:

+
+
A group name
+
Refers to the given group by name.
+ +
# followed by a group number.
+
Refers to a group by its number.
+
+ +

Security

+

This directive cannot be used to run apache as root! + Nevertheless, it opens potential security issues similar to + those discussed in the suexec + documentation.

+ +

See also

+ +
+
top
+

VHostPrivs Directive

+ + + + + + + + +
Description:Assign arbitrary privileges to a virtual host.
Syntax:VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...
Default:None
Context:virtual host
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM) +and when mod_privileges is compiled with the +BIG_SECURITY_HOLE compile-time option.
+

VHostPrivs can be used to assign arbitrary privileges to a virtual host. Each privilege-name + is the name of a Solaris privilege, such as file_setid + or sys_nfs.

+ +

A privilege-name may optionally be prefixed by + + or -, which will respectively allow or deny a privilege. + If used with neither + nor -, all privileges otherwise assigned + to the virtualhost will be denied. You can use this to override + any of the default sets and construct your own privilege set.

+ +

Security

+

This directive can open huge security holes in apache, up to + and including running requests with root-level powers. Do not + use it unless you fully understand what you are doing!

+ +
+
top
+

VHostSecure Directive

+ + + + + + + + +
Description:Determines whether the server runs with enhanced security +for the virtualhost.
Syntax:VHostSecure On|Off
Default:VHostSecure On
Context:virtual host
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM).
+

Determines whether the virtual host processes requests with + security enhanced by removal of Privileges that are rarely needed in a webserver, but which are + available by default to a normal Unix user and may therefore + be required by modules and applications. It is recommended that + you retain the default (On) unless it prevents an application running. + Since the setting applies to the process, this is not + compatible with threaded MPMs.

+

Note

+

If VHostSecure prevents an application + running, this may be a warning sign that the application should be + reviewed for security.

+ +
+
top
+

VHostUser Directive

+ + + + + + + + +
Description:Sets the User ID under which a virtual host runs.
Syntax:VHostUser unix-userid
Default:Inherits the userid specified in +User
Context:virtual host
Status:Experimental
Module:mod_privileges
Compatibility:Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (prefork or custom MPM).
+

The VHostUser directive sets the Unix userid + under which the server will process requests to a virtualhost. + The userid is set before the request is processed and reset afterwards + using Solaris Privileges. Since the setting applies to the + process, this is not compatible with threaded MPMs.

+

Unix-userid is one of:

+
+
A username
+
Refers to the given user by name.
+ +
# followed by a user number.
+
Refers to a user by its number.
+
+ +

Security

+

This directive cannot be used to run apache as root! + Nevertheless, it opens potential security issues similar to + those discussed in the suexec + documentation.

+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_privileges.html.fr.utf8 b/docs/manual/mod/mod_privileges.html.fr.utf8 new file mode 100644 index 0000000..e91e740 --- /dev/null +++ b/docs/manual/mod/mod_privileges.html.fr.utf8 @@ -0,0 +1,480 @@ + + + + + +mod_privileges - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_privileges

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.
Statut:Expérimental
Identificateur de Module:privileges_module
Fichier Source:mod_privileges.c
Compatibilité:Disponible depuis la version 2.3 d'Apache sur les +plates-formes Solaris 10 et OpenSolaris
+

Sommaire

+ +

Ce module permet l'exécution de différents serveurs virtuels sous +différents identifiants Unix User et Group, +et avec différents Privilèges +Solaris. En particulier, il apporte au problème de +séparation des privilèges entre les différents serveurs virtuels la +solution que devait apporter le module MPM abandonné perchild. Il +apporte aussi d'autres améliorations en matière de sécurité.

+ +

À la différence de perchild, mod_privileges n'est +pas un module MPM. Il travaille au sein d'un modèle de +traitement pour définir les privilèges et les User/Group pour chaque +requête dans un même processus. Il n'est donc pas compatible avec +les MPM threadés, et refusera de s'exécuter en cas d'utilisation d'un de +ces derniers.

+ +

mod_privileges traite des problèmes de sécurité +similaires à ceux de suexec ; mais à la +différence de ce dernier, il ne s'applique pas seulement aux programmes +CGI, mais à l'ensemble du cycle de traitement d'une requête, y compris +les applications in-process et les sous-processus. Il convient +particulièrement à l'exécution des applications PHP sous +mod_php, qui est lui-même incompatible avec les modules +MPM threadés. Il est également bien adapté aux autres applications de type +script in-process comme mod_perl, +mod_python, et mod_ruby, ainsi qu'aux +applications en langage C telles que les modules Apache pour lesquels la +séparation des privilèges constitue un problème.

+ +
+ +
top
+
+

Considérations à propos de sécurité

+ +

mod_privileges introduit de nouveaux problèmes de +sécurité dans les situations où du code non sûr peut +s'exécuter à l'intérieur du processus du serveur web. +Ceci s'applique aux modules non sûrs, et aux scripts s'exécutant sous +des modules comme mod_php ou mod_perl. Les scripts s'exécutant en +externe (comme par exemple les scripts CGI ou ceux s'exécutant sur un +serveur d'applications derrière mod_proxy ou mod_jk) ne sont pas +concernés.

+ +

Les principaux problèmes de sécurité que l'on rencontre avec +mod_privileges sont :

+ + +
  • L'exécution sous un utilisateur système pose les mêmes problèmes +de sécurité que mod_suexec, et pratiquement les mêmes que cgiwrap et +suphp.
  • +
  • Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par mod_privileges, +pourrait élever ses privilèges à tout niveau +accessible au processus httpd dans tout serveur virtuel. Ceci introduit +de nouveaux risques si (et seulement si) mod_privileges est compilé avec +l'option BIG_SECURITY_HOLE.
  • +
  • Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par mod_privileges, +pourrait élever ses privilèges pour s'attribuer +l'identifiant utilisateur d'un autre utilisateur (et/ou groupe) +système.
  • +
+ +

La directive PrivilegesMode vous permet de +sélectionner soit le mode FAST, soit le mode +SECURE. Vous pouvez panacher les modes en utilisant par +exemple le mode FAST pour les utilisateurs de confiance et +les chemins contenant du code entièrement audité, tout en imposant le +mode SECURE où un utilisateur non sûr a la possibilité +d'introduire du code.

+

Avant de décrire les modes, il nous faut présenter les cas +d'utilisation de la cible : "Benign" ou "Hostile". Dans une situation +"Benign", vous voulez séparer les utilisateurs pour leur confort, et les +protéger, ainsi que le serveur, contre les risques induits par les +erreurs involontaires. Dans une situation "Hostile" - par exemple +l'hébergement d'un site commercial - il se peut que des utilisateurs +attaquent délibérément le serveur ou s'attaquent entre eux.

+
+
Mode FAST
+
En mode FAST, les requêtes sont traitées "in-process" +avec les uid/gid et privilèges sélectionnés, si bien que la +surcharge est négligeable. Ceci convient aux situations "Benign", mais +n'est pas sécurisé contre un attaquant augmentant ses privilèges avec un +module ou script "in-process".
+
Mode SECURE
+
Une requête en mode SECURE génère un sous-processus qui +supprime les privilèges. Ce comportement est très similaire à +l'exécution d'un programme CGI avec suexec, mais il reste valable tout +au long du cycle de traitement de la requête, avec en plus l'avantage +d'un contrôle précis des privilèges.
+
+

Vous pouvez sélectionner différents +PrivilegesModes pour chaque serveur virtuel, et +même dans un contexte de répertoire à l'intérieur d'un serveur virtuel. +Le mode FAST convient lorsque les utilisateurs sont sûrs +et/ou n'ont pas le privilège de charger du code "in-process". Le mode +SECURE convient dans les cas où du code non sûr peut +s'exécuter "in-process". Cependant, même en mode SECURE, il +n'y a pas de protection contre un utilisateur malveillant qui a la +possibilité d'introduire du code supportant les privilèges avant le +début du cycle de traitement de la requête.

+ +
+
top
+

Directive DTracePrivileges

+ + + + + + + + +
Description:Détermine si les privilèges requis par dtrace sont +activés.
Syntaxe:DTracePrivileges On|Off
Défaut:DTracePrivileges Off
Contexte:configuration globale
Statut:Expérimental
Module:mod_privileges
Compatibilité:>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

Cette directive qui s'applique à l'ensemble du serveur permet de + déterminer si Apache s'exécutera avec les privilèges requis pour exécuter dtrace. + Notez que la définition DTracePrivileges On n'activera + pas à elle-seule DTrace, mais que DTracePrivileges Off + l'empêchera de fonctionner.

+ +
+
top
+

Directive PrivilegesMode

+ + + + + + + + +
Description:Fait un compromis entre d'une part l'efficacité et la +vitesse de traitement et d'autre part la sécurité à l'encontre des codes +malicieux supportant les privilèges.
Syntaxe:PrivilegesMode FAST|SECURE|SELECTIVE
Défaut:PrivilegesMode FAST
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec des +modules MPMs non threadés (comme prefork ou un module +personnalisé).

Cette directive permet de faire un compromis entre les +performances et la sécurité à l'encontre des codes malicieux supportant +les privilèges. En mode SECURE, chaque requête est traitée +dans un sous-processus sécurisé, ce qui induit une dégradation sensible +des performances. En mode FAST, le serveur n'est pas protégé +contre l'augmentation de privilège comme décrit plus haut.

+

Cette directive est sensiblement différente selon qu'elle se trouve +dans une section <Directory> (ou Location/Files/If) +ou au niveau global ou dans un <VirtualHost>.

+

Au niveau global, elle définit un comportement par défaut dont +hériteront les serveurs virtuels. Dans un serveur virtuel, les modes +FAST ou SECURE agissent sur l'ensemble de la requête HTTP, et toute +définition de ces modes dans une section <Directory> +sera ignorée. Le pseudo-mode SELECTIVE confie le choix +du mode FAST ou SECURE aux directives contenues dans une +section<Directory>.

+

Dans une section <Directory>, elle ne s'applique +que lorsque le mode SELECTIVE a été défini pour le serveur virtuel. +Seuls FAST ou SECURE peuvent être définis dans ce contexte (SELECTIVE +n'aurait pas de sens).

+

Avertissement

+ Lorsque le mode SELECTIVE a été défini pour un serveur virtuel, + l'activation des privilèges doit être reportée après + la détermination, par la phase de comparaison du traitement de + la requête, du contexte <Directory> qui + s'applique à la requête. Ceci peut donner à un attaquant + l'opportunité d'introduire du code via une directive RewriteMap s'exécutant au + niveau global ou d'un serveur virtuel avant que les + privilèges n'aient été supprimés et l'uid/gid défini. +
+ +
+
top
+

Directive VHostCGIMode

+ + + + + + + + +
Description:Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier.
Syntaxe:VHostCGIMode On|Off|Secure
Défaut:VHostCGIMode On
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

Détermine si le serveur virtuel est autorisé à exécuter fork et + exec, et définit les privilèges requis pour exécuter des sous-processus. Si cette + directive est définie à Off le serveur virtuel ne + disposera d'aucun privilège et ne pourra exécuter ni des programmes + ou scripts CGI classiques via le module traditionnel + mod_cgi, ni des programmes externes similaires tels + que ceux créés via le module mod_ext_filter ou les + programmes de réécriture externes utilisés par la directive + RewriteMap. Notez que + ceci n'empêche pas l'exécution de programmes CGI via d'autres + processus et sous d'autres modèles de sécurité comme mod_fcgid, ce qui est la + solution recommandée sous Solaris.

+

Si cette directive est définie à On ou + Secure, le serveur virtuel pourra exécuter les scripts et + programmes externes cités ci-dessus. Définir la directive + VHostCGIMode à Secure a pour effet + supplémentaire de n'accorder aucun privilège aux sous-processus, + comme décrit dans la directive + VHostSecure.

+ +
+
top
+

Directive VHostCGIPrivs

+ + + + + + + + +
Description:Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel.
Syntaxe:VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...
Défaut:Aucun
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé) et lorsque mod_privileges est construit +avec l'option de compilation +BIG_SECURITY_HOLE.
+

La directive VHostCGIPrivs permet + d'assigner des privilèges au choix aux sous-processus créés par un serveur + virtuel, comme décrit dans la directive + VHostCGIMode. Chaque + privilege-name correspond à un privilège Solaris tel que + file_setid ou sys_nfs.

+ +

privilege-name peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + nom-privilège est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.

+ +

Sécurité

+

L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans les sous-processus Apache, jusqu'à leur exécution avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !

+ +
+
top
+

Directive VHostGroup

+ + + + + + + + +
Description:Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel.
Syntaxe:VHostGroup identifiant-groupe-unix
Défaut:Hérite de l'identifiant du groupe spécifié par la directive +Group
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

La directive VHostGroup permet de définir + l'identifiant du groupe unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + du groupe est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les Privilèges + Solaris. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

Unix-group peut être :

+
+
Un nom de groupe
+
Fait référence au groupe donné par son nom.
+ +
# suivi d'un numéro de groupe.
+
Fait référence au groupe donné par son numéro.
+
+ +

Sécurité

+

Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de suexec.

+ +

Voir aussi

+ +
+
top
+

Directive VHostPrivs

+ + + + + + + + +
Description:Assigne des privilèges à un serveur virtuel.
Syntaxe:VHostPrivs [+-]?nom-privilège [[+-]?nom-privilège] ...
Défaut:Aucun
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé) et lorsque mod_privileges est construit +avec l'option de compilation +BIG_SECURITY_HOLE.
+

La directive VHostPrivs permet d'assigner + des privilèges au choix à un serveur virtuel. Chaque + nom-privilège correspond à un privilège Solaris tel que + file_setid ou sys_nfs.

+ +

nom-privilège peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + nom-privilège est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.

+ +

Sécurité

+

L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans Apache, jusqu'au traitement de requêtes avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !

+ +
+
top
+

Directive VHostSecure

+ + + + + + + + +
Description:Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels.
Syntaxe:VHostSecure On|Off
Défaut:VHostSecure On
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

Détermine si les serveurs virtuels traitent les requêtes avec une + sécurité avancée en supprimant les Privilèges rarement requis par un serveur web, mais disponibles + par défaut pour un utilisateur Unix standard, et donc susceptibles + d'être demandés par des modules et des applications. Il est + recommandé de conserver la définition par défaut (On), sauf si elle + empêche une application de fonctionner. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

Note

+

Le fait que la directive VHostSecure + empêche une application de fonctionner peut constituer un signal + d'avertissement indiquant que la sécurité de l'application doit être + revue.

+ +
+
top
+

Directive VHostUser

+ + + + + + + + +
Description:Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel.
Syntaxe:VHostUser identifiant-utilisateur-unix
Défaut:Hérite de l'identifiant utilisateur spécifié par la directive +User
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

La directive VHostUser permet de définir + l'identifiant utilisateur unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + utilisateur est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les Privilèges + Solaris. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

identifiant-utilisateur-unix peut être :

+
+
Un nom d'utilisateur
+
Fait référence à l'utilisateur donné par son nom.
+ +
# suivi d'un numéro d'utilisateur.
+
Fait référence à l'utilisateur donné par son numéro.
+
+ +

Sécurité

+

Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de suexec.

+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy.html b/docs/manual/mod/mod_proxy.html new file mode 100644 index 0000000..407ce09 --- /dev/null +++ b/docs/manual/mod/mod_proxy.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en new file mode 100644 index 0000000..88e3562 --- /dev/null +++ b/docs/manual/mod/mod_proxy.html.en @@ -0,0 +1,2173 @@ + + + + + +mod_proxy - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + +
Description:Multi-protocol proxy/gateway server
Status:Extension
Module Identifier:proxy_module
Source File:mod_proxy.c
+

Summary

+ +

Warning

+

Do not enable proxying with ProxyRequests until you have secured your server. Open proxy servers are dangerous both to your + network and to the Internet at large.

+
+ +

mod_proxy and related modules implement a + proxy/gateway for Apache HTTP Server, supporting a number of popular + protocols as well as several different load balancing algorithms. + Third-party modules can add support for additional protocols and + load balancing algorithms.

+ +

A set of modules must be loaded into the server to provide the + necessary features. These modules can be included statically at + build time or dynamically via the + LoadModule directive). + The set must include:

+ + + +

In addition, extended features are provided by other modules. + Caching is provided by mod_cache and related + modules. The ability to contact remote servers using the SSL/TLS + protocol is provided by the SSLProxy* directives of + mod_ssl. These additional modules will need + to be loaded and configured to take advantage of these features.

+
+ +
top
+
+

Forward Proxies and Reverse + Proxies/Gateways

+

Apache HTTP Server can be configured in both a forward and + reverse proxy (also known as gateway) mode.

+ +

An ordinary forward proxy is an intermediate + server that sits between the client and the origin + server. In order to get content from the origin server, + the client sends a request to the proxy naming the origin server + as the target. The proxy then requests the content from the + origin server and returns it to the client. The client must be + specially configured to use the forward proxy to access other + sites.

+ +

A typical usage of a forward proxy is to provide Internet + access to internal clients that are otherwise restricted by a + firewall. The forward proxy can also use caching (as provided + by mod_cache) to reduce network usage.

+ +

The forward proxy is activated using the ProxyRequests directive. Because + forward proxies allow clients to access arbitrary sites through + your server and to hide their true origin, it is essential that + you secure your server so that only + authorized clients can access the proxy before activating a + forward proxy.

+ +

A reverse proxy (or gateway), by + contrast, appears to the client just like an ordinary web + server. No special configuration on the client is necessary. + The client makes ordinary requests for content in the namespace + of the reverse proxy. The reverse proxy then decides where to + send those requests and returns the content as if it were itself + the origin.

+ +

A typical usage of a reverse proxy is to provide Internet + users access to a server that is behind a firewall. Reverse + proxies can also be used to balance load among several back-end + servers or to provide caching for a slower back-end server. + In addition, reverse proxies can be used simply to bring + several servers into the same URL space.

+ +

A reverse proxy is activated using the ProxyPass directive or the + [P] flag to the RewriteRule directive. It is + not necessary to turn ProxyRequests on in order to + configure a reverse proxy.

+
top
+
+

Basic Examples

+ +

The examples below are only a very basic idea to help you + get started. Please read the documentation on the individual + directives.

+ +

In addition, if you wish to have caching enabled, consult + the documentation from mod_cache.

+ +

Reverse Proxy

ProxyPass "/foo" "http://foo.example.com/bar"
+ProxyPassReverse "/foo" "http://foo.example.com/bar"
+
+ +

Forward Proxy

ProxyRequests On
+ProxyVia On
+
+<Proxy "*">
+  Require host internal.example.com
+</Proxy>
+
+

Websocket Upgrade (2.4.47 and later)

ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket
+
+
top
+
+

Access via Handler

+ +

You can also force a request to be handled as a reverse-proxy + request, by creating a suitable Handler pass-through. The example + configuration below will pass all requests for PHP scripts to the + specified FastCGI server using reverse proxy: +

+ +

Reverse Proxy PHP scripts

<FilesMatch "\.php$">
+    # Unix sockets require 2.4.7 or later
+    SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
+</FilesMatch>
+
+ +

This feature is available in Apache HTTP Server 2.4.10 and later.

+ +
top
+
+

Workers

+

The proxy manages the configuration of origin servers and their + communication parameters in objects called workers. + There are two built-in workers: the default forward proxy worker and the + default reverse proxy worker. Additional workers can be configured + explicitly.

+ +

The two default workers have a fixed configuration + and will be used if no other worker matches the request. + They do not use HTTP Keep-Alive or connection reuse. + The TCP connections to the origin server will instead be + opened and closed for each request.

+ +

Explicitly configured workers are identified by their URL. + They are usually created and configured using + ProxyPass or + ProxyPassMatch when used + for a reverse proxy:

+ +
ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30
+ + +

This will create a worker associated with the origin server URL + http://backend.example.com that will use the given timeout + values. When used in a forward proxy, workers are usually defined + via the ProxySet directive:

+ +
ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30
+ + +

or alternatively using Proxy + and ProxySet:

+ +
<Proxy "http://backend.example.com">
+  ProxySet connectiontimeout=5 timeout=30
+</Proxy>
+ + +

Using explicitly configured workers in the forward mode is + not very common, because forward proxies usually communicate with many + different origin servers. Creating explicit workers for some of the + origin servers can still be useful if they are used very often. + Explicitly configured workers have no concept of forward or reverse + proxying by themselves. They encapsulate a common concept of + communication with origin servers. A worker created by + ProxyPass for use in a + reverse proxy will also be used for forward proxy requests whenever + the URL to the origin server matches the worker URL, and vice versa.

+ +

The URL identifying a direct worker is the URL of its + origin server including any path components given:

+ +
ProxyPass "/examples" "http://backend.example.com/examples"
+ProxyPass "/docs" "http://backend.example.com/docs"
+ + +

This example defines two different workers, each using a separate + connection pool and configuration.

+ +

Worker Sharing

+

Worker sharing happens if the worker URLs overlap, which occurs when + the URL of some worker is a leading substring of the URL of another + worker defined later in the configuration file. In the following example

+ +
ProxyPass "/apps" "http://backend.example.com/" timeout=60
+ProxyPass "/examples" "http://backend.example.com/examples" timeout=10
+ + +

the second worker isn't actually created. Instead the first + worker is used. The benefit is, that there is only one connection pool, + so connections are more often reused. Note that all configuration attributes + given explicitly for the later worker will be ignored. This will be logged + as a warning. In the above example, the resulting timeout value + for the URL /examples will be 60 instead + of 10!

+ +

If you want to avoid worker sharing, sort your worker definitions + by URL length, starting with the longest worker URLs. If you want to maximize + worker sharing, use the reverse sort order. See also the related warning about + ordering ProxyPass directives.

+ +
+ +

Explicitly configured workers come in two flavors: + direct workers and (load) balancer workers. + They support many important configuration attributes which are + described below in the ProxyPass + directive. The same attributes can also be set using + ProxySet.

+ +

The set of options available for a direct worker + depends on the protocol which is specified in the origin server URL. + Available protocols include ajp, fcgi, + ftp, http and scgi.

+ +

Balancer workers are virtual workers that use direct workers known + as their members to actually handle the requests. Each balancer can + have multiple members. When it handles a request, it chooses a member + based on the configured load balancing algorithm.

+ +

A balancer worker is created if its worker URL uses + balancer as the protocol scheme. + The balancer URL uniquely identifies the balancer worker. + Members are added to a balancer using + BalancerMember.

+ +

DNS resolution for origin domains

+

DNS resolution happens when the socket to + the origin domain is created for the first time. + When connection reuse is enabled, each backend domain is resolved + only once per child process, and cached for all further connections + until the child is recycled. This information should to be considered + while planning DNS maintenance tasks involving backend domains. + Please also check ProxyPass + parameters for more details about connection reuse. +

+
+ +
top
+
+

Controlling Access to Your Proxy

+

You can control who can access your proxy via the <Proxy> control block as in + the following example:

+ +
<Proxy "*">
+  Require ip 192.168.0
+</Proxy>
+ + +

For more information on access control directives, see + mod_authz_host.

+ +

Strictly limiting access is essential if you are using a + forward proxy (using the ProxyRequests directive). + Otherwise, your server can be used by any client to access + arbitrary hosts while hiding his or her true identity. This is + dangerous both for your network and for the Internet at large. + When using a reverse proxy (using the ProxyPass directive with + ProxyRequests Off), access control is less + critical because clients can only contact the hosts that you + have specifically configured.

+ +

See Also the Proxy-Chain-Auth environment variable.

+ +
top
+
+

Slow Startup

+

If you're using the ProxyBlock directive, hostnames' IP addresses are looked up + and cached during startup for later match test. This may take a few + seconds (or more) depending on the speed with which the hostname lookups + occur.

+
top
+
+

Intranet Proxy

+

An Apache httpd proxy server situated in an intranet needs to forward + external requests through the company's firewall (for this, configure + the ProxyRemote directive + to forward the respective scheme to the firewall proxy). + However, when it has to + access resources within the intranet, it can bypass the firewall when + accessing hosts. The NoProxy + directive is useful for specifying which hosts belong to the intranet and + should be accessed directly.

+ +

Users within an intranet tend to omit the local domain name from their + WWW requests, thus requesting "http://somehost/" instead of + http://somehost.example.com/. Some commercial proxy servers + let them get away with this and simply serve the request, implying a + configured local domain. When the ProxyDomain directive is used and the server is configured for proxy service, Apache httpd can return + a redirect response and send the client to the correct, fully qualified, + server address. This is the preferred method since the user's bookmark + files will then contain fully qualified hosts.

+
top
+
+

Protocol Adjustments

+

For circumstances where mod_proxy is sending + requests to an origin server that doesn't properly implement + keepalives or HTTP/1.1, there are two environment variables that can force the + request to use HTTP/1.0 with no keepalive. These are set via the + SetEnv directive.

+ +

These are the force-proxy-request-1.0 and + proxy-nokeepalive notes.

+ +
<Location "/buggyappserver/">
+  ProxyPass "http://buggyappserver:7001/foo/"
+  SetEnv force-proxy-request-1.0 1
+  SetEnv proxy-nokeepalive 1
+</Location>
+ + +

In 2.4.26 and later, the "no-proxy" environment variable can be set to disable + mod_proxy processing the current request. + This variable should be set with SetEnvIf, as SetEnv + is not evaluated early enough.

+ +
top
+
+

Request Bodies

+ +

Some request methods such as POST include a request body. + The HTTP protocol requires that requests which include a body + either use chunked transfer encoding or send a + Content-Length request header. When passing these + requests on to the origin server, mod_proxy_http + will always attempt to send the Content-Length. But + if the body is large and the original request used chunked + encoding, then chunked encoding may also be used in the upstream + request. You can control this selection using environment variables. Setting + proxy-sendcl ensures maximum compatibility with + upstream servers by always sending the + Content-Length, while setting + proxy-sendchunked minimizes resource usage by using + chunked encoding.

+ +

Under some circumstances, the server must spool request bodies + to disk to satisfy the requested handling of request bodies. For + example, this spooling will occur if the original body was sent with + chunked encoding (and is large), but the administrator has + asked for backend requests to be sent with Content-Length or as HTTP/1.0. + This spooling can also occur if the request body already has a + Content-Length header, but the server is configured to filter incoming + request bodies.

+ +
top
+
+

Reverse Proxy Request Headers

+ +

When acting in a reverse-proxy mode (using the ProxyPass directive, for example), + mod_proxy_http adds several request headers in + order to pass information to the origin server. These headers + are:

+ +
+
X-Forwarded-For
+
The IP address of the client.
+
X-Forwarded-Host
+
The original host requested by the client in the Host + HTTP request header.
+
X-Forwarded-Server
+
The hostname of the proxy server.
+
+ +

Be careful when using these headers on the origin server, since + they will contain more than one (comma-separated) value if the + original request already contained one of these headers. For + example, you can use %{X-Forwarded-For}i in the log + format string of the origin server to log the original clients IP + address, but you may get more than one address if the request + passes through several proxies.

+ +

See also the ProxyPreserveHost and ProxyVia directives, which control + other request headers.

+ +

Note: If you need to specify custom request headers to be + added to the forwarded request, use the + RequestHeader + directive.

+ +
+
top
+

BalancerGrowth Directive

+ + + + + + + + +
Description:Number of additional Balancers that can be added Post-configuration
Syntax:BalancerGrowth #
Default:BalancerGrowth 5
Context:server config, virtual host
Status:Extension
Module:mod_proxy
Compatibility:BalancerGrowth is only available in Apache HTTP Server 2.3.13 + and later.
+

This directive allows for growth potential in the number of + Balancers available for a virtualhost in addition to the + number pre-configured. It only takes effect if there is at + least one pre-configured Balancer.

+ +
+
top
+

BalancerInherit Directive

+ + + + + + + + +
Description:Inherit ProxyPassed Balancers/Workers from the main server
Syntax:BalancerInherit On|Off
Default:BalancerInherit On
Context:server config, virtual host
Status:Extension
Module:mod_proxy
Compatibility:BalancerInherit is only available in Apache HTTP Server 2.4.5 and later.
+

This directive will cause the current server/vhost to "inherit" ProxyPass + Balancers and Workers defined in the main server. This can cause issues and + inconsistent behavior if using the Balancer Manager and so should be disabled + if using that feature.

+

The setting in the global server defines the default for all vhosts.

+ +
+
top
+

BalancerMember Directive

+ + + + + + + +
Description:Add a member to a load balancing group
Syntax:BalancerMember [balancerurl] url [key=value [key=value ...]]
Context:directory
Status:Extension
Module:mod_proxy
Compatibility:BalancerMember is only available in Apache HTTP Server 2.2 + and later.
+

This directive adds a member to a load balancing group. It can be used + within a <Proxy balancer://...> container + directive and can take any of the key value pair parameters available to + ProxyPass directives.

+

One additional parameter is available only to BalancerMember directives: + loadfactor. This is the member load factor - a decimal number between 1.0 + (default) and 100.0, which defines the weighted load to be applied to the + member in question.

+

The balancerurl is only needed when not within a + <Proxy balancer://...> + container directive. It corresponds to the url of a balancer defined in + ProxyPass directive.

+

The path component of the balancer URL in any + <Proxy balancer://...> container directive + is ignored.

+

Trailing slashes should typically be removed from the URL of a + BalancerMember.

+ +
+
top
+

BalancerPersist Directive

+ + + + + + + + +
Description:Attempt to persist changes made by the Balancer Manager across restarts.
Syntax:BalancerPersist On|Off
Default:BalancerPersist Off
Context:server config, virtual host
Status:Extension
Module:mod_proxy
Compatibility:BalancerPersist is only available in Apache HTTP Server 2.4.4 and later.
+

This directive will cause the shared memory storage associated + with the balancers and balancer members to be persisted across + restarts. This allows these local changes to not be lost during the + normal restart/graceful state transitions.

+ +
+
top
+

NoProxy Directive

+ + + + + + +
Description:Hosts, domains, or networks that will be connected to +directly
Syntax:NoProxy host [host] ...
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

This directive is only useful for Apache httpd proxy servers within + intranets. The NoProxy directive specifies a + list of subnets, IP addresses, hosts and/or domains, separated by + spaces. A request to a host which matches one or more of these is + always served directly, without forwarding to the configured + ProxyRemote proxy server(s).

+ +

Example

ProxyRemote  "*"  "http://firewall.example.com:81"
+NoProxy         ".example.com" "192.168.112.0/21"
+
+ +

The host arguments to the NoProxy + directive are one of the following type list:

+ +
+ +
Domain
+
+

A Domain is a partially qualified DNS domain name, preceded + by a period. It represents a list of hosts which logically belong to the + same DNS domain or zone (i.e., the suffixes of the hostnames are + all ending in Domain).

+ +

Examples

+ .com .example.org. +

+ +

To distinguish Domains from Hostnames (both syntactically and semantically; a DNS domain can + have a DNS A record, too!), Domains are always written with a + leading period.

+ +

Note

+

Domain name comparisons are done without regard to the case, and + Domains are always assumed to be anchored in the root of the + DNS tree; therefore, the two domains .ExAmple.com and + .example.com. (note the trailing period) are considered + equal. Since a domain comparison does not involve a DNS lookup, it is much + more efficient than subnet comparison.

+
+ + +
SubNet
+
+

A SubNet is a partially qualified internet address in + numeric (dotted quad) form, optionally followed by a slash and the netmask, + specified as the number of significant bits in the SubNet. It is + used to represent a subnet of hosts which can be reached over a common + network interface. In the absence of the explicit net mask it is assumed + that omitted (or zero valued) trailing digits specify the mask. (In this + case, the netmask can only be multiples of 8 bits wide.) Examples:

+ +
+
192.168 or 192.168.0.0
+
the subnet 192.168.0.0 with an implied netmask of 16 valid bits + (sometimes used in the netmask form 255.255.0.0)
+
192.168.112.0/21
+
the subnet 192.168.112.0/21 with a netmask of 21 + valid bits (also used in the form 255.255.248.0)
+
+ +

As a degenerate case, a SubNet with 32 valid bits is the + equivalent to an IPAddr, while a SubNet with zero + valid bits (e.g., 0.0.0.0/0) is the same as the constant + _Default_, matching any IP address.

+ + +
IPAddr
+
+

A IPAddr represents a fully qualified internet address in + numeric (dotted quad) form. Usually, this address represents a host, but + there need not necessarily be a DNS domain name connected with the + address.

+

Example

+ 192.168.123.7 +

+ +

Note

+

An IPAddr does not need to be resolved by the DNS system, so + it can result in more effective apache performance.

+
+ + +
Hostname
+
+

A Hostname is a fully qualified DNS domain name which can + be resolved to one or more IPAddrs via the + DNS domain name service. It represents a logical host (in contrast to + Domains, see above) and must be resolvable + to at least one IPAddr (or often to a list + of hosts with different IPAddrs).

+ +

Examples

+ prep.ai.example.edu
+ www.example.org +

+ +

Note

+

In many situations, it is more effective to specify an IPAddr in place of a Hostname since a + DNS lookup can be avoided. Name resolution in Apache httpd can take a remarkable + deal of time when the connection to the name server uses a slow PPP + link.

+

Hostname comparisons are done without regard to the case, + and Hostnames are always assumed to be anchored in the root + of the DNS tree; therefore, the two hosts WWW.ExAmple.com + and www.example.com. (note the trailing period) are + considered equal.

+
+
+ +

See also

+ +
+
top
+

<Proxy> Directive

+ + + + + + +
Description:Container for directives applied to proxied resources
Syntax:<Proxy wildcard-url> ...</Proxy>
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

Directives placed in <Proxy> + sections apply only to matching proxied content. Shell-style wildcards are + allowed.

+ +

For example, the following will allow only hosts in + yournetwork.example.com to access content via your proxy + server:

+ +
<Proxy "*">
+  Require host yournetwork.example.com
+</Proxy>
+ + +

The following example will process all files in the foo + directory of example.com through the INCLUDES + filter when they are sent through the proxy server:

+ +
<Proxy "http://example.com/foo/*">
+  SetOutputFilter INCLUDES
+</Proxy>
+ + +

Differences from the Location configuration section

+

A backend URL matches the configuration section if it begins with the + the wildcard-url string, even if the last path segment in the + directive only matches a prefix of the backend URL. For example, + <Proxy "http://example.com/foo"> matches all of + http://example.com/foo, http://example.com/foo/bar, and + http://example.com/foobar. The matching of the final URL differs + from the behavior of the <Location> section, which for purposes of this note + treats the final path component as if it ended in a slash.

+

For more control over the matching, see <ProxyMatch>.

+
+ + +

See also

+ +
+
top
+

Proxy100Continue Directive

+ + + + + + + + +
Description:Forward 100-continue expectation to the origin server
Syntax:Proxy100Continue Off|On
Default:Proxy100Continue On
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:Available in version 2.4.40 and later
+

This directive determines whether the proxy should forward 100-continue + Expect:ation to the origin server and thus let it decide when/if + the HTTP request body should be read, or when Off the proxy + should generate 100 Continue intermediate response by itself before + forwarding the request body.

+

Effectiveness

+

This option is of use only for HTTP proxying, as handled by mod_proxy_http.

+
+ +
+
top
+

ProxyAddHeaders Directive

+ + + + + + + + +
Description:Add proxy information in X-Forwarded-* headers
Syntax:ProxyAddHeaders Off|On
Default:ProxyAddHeaders On
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:Available in version 2.3.10 and later
+

This directive determines whether or not proxy related information should be passed to the + backend server through X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server HTTP headers.

+

Effectiveness

+

This option is of use only for HTTP proxying, as handled by mod_proxy_http.

+
+ +
+
top
+

ProxyBadHeader Directive

+ + + + + + + +
Description:Determines how to handle bad header lines in a +response
Syntax:ProxyBadHeader IsError|Ignore|StartBody
Default:ProxyBadHeader IsError
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

The ProxyBadHeader directive determines the + behavior of mod_proxy if it receives syntactically invalid + response header lines (i.e. containing no colon) from the origin + server. The following arguments are possible:

+ +
+
IsError
+
Abort the request and end up with a 502 (Bad Gateway) response. This is + the default behavior.
+ +
Ignore
+
Treat bad header lines as if they weren't sent.
+ +
StartBody
+
When receiving the first bad header line, finish reading the headers and + treat the remainder as body. This helps to work around buggy backend servers + which forget to insert an empty line between the headers and the body.
+
+ +
+
top
+

ProxyBlock Directive

+ + + + + + +
Description:Words, hosts, or domains that are banned from being +proxied
Syntax:ProxyBlock *|word|host|domain +[word|host|domain] ...
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

The ProxyBlock directive specifies a list of + words, hosts and/or domains, separated by spaces. HTTP, HTTPS, and + FTP document requests to sites whose names contain matched words, + hosts or domains are blocked by the proxy server. The proxy + module will also attempt to determine IP addresses of list items which + may be hostnames during startup, and cache them for match test as + well. That may slow down the startup time of the server.

+ +

Example

ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"
+
+ +

Note that example would also be sufficient to match any + of these sites.

+ +

Hosts would also be matched if referenced by IP address.

+ +

Note also that

+ +
ProxyBlock "*"
+ + +

blocks connections to all sites.

+ +
+
top
+

ProxyDomain Directive

+ + + + + + +
Description:Default domain name for proxied requests
Syntax:ProxyDomain Domain
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

This directive is only useful for Apache httpd proxy servers within + intranets. The ProxyDomain directive specifies + the default domain which the apache proxy server will belong to. If a + request to a host without a domain name is encountered, a redirection + response to the same host with the configured Domain appended + will be generated.

+ +

Example

ProxyRemote  "*"  "http://firewall.example.com:81"
+NoProxy         ".example.com" "192.168.112.0/21"
+ProxyDomain     ".example.com"
+
+ +
+
top
+

ProxyErrorOverride Directive

+ + + + + + + + +
Description:Override error pages for proxied content
Syntax:ProxyErrorOverride Off|On [code ...]
Default:ProxyErrorOverride Off
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:The list of status codes was added in 2.4.47
+

This directive is useful for reverse-proxy setups where you want to + have a common look and feel on the error pages seen by the end user. + This also allows for included files (via + mod_include's SSI) to get + the error code and act accordingly. (Default behavior would display + the error page of the proxied server. Turning this on shows the SSI + Error message.)

+ +

This directive does not affect the processing of informational (1xx), + normal success (2xx), or redirect (3xx) responses.

+ +

By default ProxyErrorOverride affects all responses with codes between 400 (including) + and 600 (excluding).

+ +

Example for default behavior

ProxyErrorOverride  On
+
+ +

To change the default behavior, you can specify the status codes to consider, separated by spaces. + If you do so, all other status codes will be ignored. + You can only specify status codes, that are considered error codes: between 400 (including) + and 600 (excluding).

+ +

Example for custom status codes

ProxyErrorOverride  On 403 405 500 501 502 503 504
+
+ +
+
top
+

ProxyIOBufferSize Directive

+ + + + + + + +
Description:Determine size of internal data throughput buffer
Syntax:ProxyIOBufferSize bytes
Default:ProxyIOBufferSize 8192
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

The ProxyIOBufferSize directive adjusts the size + of the internal buffer which is used as a scratchpad for the data between + input and output. The size must be at least 512.

+ +

In almost every case, there's no reason to change that value.

+ +

If used with AJP, this directive sets the maximum AJP packet size in + bytes. Values larger than 65536 are set to 65536. If you change it from + the default, you must also change the packetSize attribute of + your AJP connector on the Tomcat side! The attribute + packetSize is only available in Tomcat 5.5.20+ + and 6.0.2+

+ +

Normally it is not necessary to change the maximum packet size. + Problems with the default value have been reported when sending + certificates or certificate chains.

+ + +
+
top
+

<ProxyMatch> Directive

+ + + + + + +
Description:Container for directives applied to regular-expression-matched +proxied resources
Syntax:<ProxyMatch regex> ...</ProxyMatch>
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

The <ProxyMatch> directive is + identical to the <Proxy> directive, except that it matches URLs + using regular expressions.

+ +

From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of URLs to be referenced + from within expressions and modules like + mod_rewrite. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.

+ +
<ProxyMatch "^http://(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</ProxyMatch>
+ + +

See also

+ +
+
top
+

ProxyMaxForwards Directive

+ + + + + + + + +
Description:Maximum number of proxies that a request can be forwarded +through
Syntax:ProxyMaxForwards number
Default:ProxyMaxForwards -1
Context:server config, virtual host
Status:Extension
Module:mod_proxy
Compatibility:Default behaviour changed in 2.2.7
+

The ProxyMaxForwards directive specifies the + maximum number of proxies through which a request may pass if there's no + Max-Forwards header supplied with the request. This may + be set to prevent infinite proxy loops or a DoS attack.

+ +

Example

ProxyMaxForwards 15
+
+ +

Note that setting ProxyMaxForwards is a + violation of the HTTP/1.1 protocol (RFC2616), which forbids a Proxy + setting Max-Forwards if the Client didn't set it. + Earlier Apache httpd versions would always set it. A negative + ProxyMaxForwards value, including the + default -1, gives you protocol-compliant behavior but may + leave you open to loops.

+ +
+
top
+

ProxyPass Directive

+ + + + + + + +
Description:Maps remote servers into the local server URL-space
Syntax:ProxyPass [path] !|url [key=value + [key=value ...]] [nocanon] [interpolate] [noquery]
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:Unix Domain Socket (UDS) support added in 2.4.7
+

This directive allows remote servers to be mapped into the + space of the local server. The local server does not act as a + proxy in the conventional sense but appears to be a mirror of the + remote server. The local server is often called a reverse + proxy or gateway. The path is the name of + a local virtual path; url is a partial URL for the + remote server and cannot include a query string.

+ +
It is strongly suggested to review the concept of a + Worker before proceeding any further + with this section.
+ +
This directive is not supported within + <Directory>, + <If> and + <Files> containers. +
+ +
The ProxyRequests directive should + usually be set off when using + ProxyPass.
+ +

In 2.4.7 and later, support for using a Unix Domain Socket is available by using a target + which prepends unix:/path/lis.sock|. For example, to proxy + HTTP and target the UDS at /home/www.socket, you would use + unix:/home/www.socket|http://localhost/whatever/.

+ +
Note: The path associated with the unix: + URL is DefaultRuntimeDir aware.
+ +

When used inside a <Location> section, the first argument is omitted and the local + directory is obtained from the <Location>. The same will occur inside a + <LocationMatch> section; + however, ProxyPass does not interpret the regexp as such, so it is necessary + to use ProxyPassMatch in this situation instead.

+ +

Suppose the local server has address http://example.com/; + then

+ +
<Location "/mirror/foo/">
+    ProxyPass "http://backend.example.com/"
+</Location>
+ + +

will cause a local request for + http://example.com/mirror/foo/bar to be internally converted + into a proxy request to http://backend.example.com/bar.

+ +

If you require a more flexible reverse-proxy configuration, see the + RewriteRule directive with the + [P] flag.

+ +

The following alternative syntax is possible; however, it can carry a + performance penalty when present in very large numbers. The advantage of + the below syntax is that it allows for dynamic control via the + Balancer Manager interface:

+ +
ProxyPass "/mirror/foo/" "http://backend.example.com/"
+ + +
+

If the first argument ends with a trailing /, the second + argument should also end with a trailing /, and vice + versa. Otherwise, the resulting requests to the backend may miss some + needed slashes and do not deliver the expected results. +

+
+ +

The ! directive is useful in situations where you don't want + to reverse-proxy a subdirectory, e.g.

+ +
<Location "/mirror/foo/">
+    ProxyPass "http://backend.example.com/"
+</Location>
+<Location "/mirror/foo/i">
+    ProxyPass "!"
+</Location>
+ + +
ProxyPass "/mirror/foo/i" "!"
+ProxyPass "/mirror/foo" "http://backend.example.com"
+ + +

will proxy all requests to /mirror/foo to + backend.example.com except requests made to + /mirror/foo/i.

+ +

Mixing ProxyPass settings in different contexts does not work:

+
ProxyPass "/mirror/foo/i" "!"
+<Location "/mirror/foo/">
+    ProxyPass "http://backend.example.com/"
+</Location>
+ +

In this case, a request to /mirror/foo/i will get proxied, + because the ProxyPass directive in the Location block will be evaluated + first. The fact that ProxyPass supports both server and directory contexts + does not mean that their scope and position in the configuration file will + guarantee any ordering or override.

+ +

Ordering ProxyPass Directives

+

The configured ProxyPass + and ProxyPassMatch + rules are checked in the order of configuration. The first rule that + matches wins. So usually you should sort conflicting + ProxyPass rules starting with the + longest URLs first. Otherwise, later rules for longer URLS will be hidden + by any earlier rule which uses a leading substring of the URL. Note that + there is some relation with worker sharing.

+
+

Ordering ProxyPass Directives in Locations

+

Only one ProxyPass directive + can be placed in a Location block, + and the most specific location will take precedence.

+
+

Exclusions and the no-proxy environment variable

+

Exclusions must come before the + general ProxyPass directives. In 2.4.26 and later, the "no-proxy" + environment variable is an alternative to exclusions, and is the only + way to configure an exclusion of a ProxyPass + directive in Location context. + This variable should be set with SetEnvIf, as SetEnv + is not evaluated early enough. +

+ +
+ +

ProxyPass key=value Parameters

+ +

In Apache HTTP Server 2.1 and later, mod_proxy supports pooled + connections to a backend server. Connections created on demand + can be retained in a pool for future use. Limits on the pool size + and other settings can be coded on + the ProxyPass directive + using key=value parameters, described in the tables + below.

+ +

Maximum connections to the backend

+

By default, mod_proxy will allow and retain the maximum number of + connections that could be used simultaneously by that web server child + process. Use the max parameter to reduce the number from + the default. The pool of connections is maintained per web server child + process, and max and other settings are not coordinated + among all child processes, except when only one child process is allowed + by configuration or MPM design.

+
+ +

Use the ttl parameter to set an optional + time to live; connections which have been unused for at least + ttl seconds will be closed. ttl can be used + to avoid using a connection which is subject to closing because of the + backend server's keep-alive timeout.

+ +

Example

ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300
+
+ +
Worker|BalancerMember parameters
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDefaultDescription
min0Minimum number of connection pool entries, unrelated to the + actual number of connections. This only needs to be modified from the + default for special circumstances where heap memory associated with the + backend connections should be preallocated or retained.
max1...nMaximum number of connections that will be allowed to the + backend server. The default for this limit is the number of threads + per process in the active MPM. In the Prefork MPM, this is always 1, + while with other MPMs, it is controlled by the + ThreadsPerChild directive.
smaxmaxRetained connection pool entries above this limit are freed + during certain operations if they have been unused for longer than + the time to live, controlled by the ttl parameter. If + the connection pool entry has an associated connection, it will be + closed. This only needs to be modified from the default for special + circumstances where connection pool entries and any associated + connections which have exceeded the time to live need to be freed or + closed more aggressively.
acquire-If set, this will be the maximum time to wait for a free + connection in the connection pool, in milliseconds. If there are no free + connections in the pool, the Apache httpd will return SERVER_BUSY + status to the client. +
connectiontimeouttimeoutConnect timeout in seconds. + The number of seconds Apache httpd waits for the creation of a connection to + the backend to complete. By adding a postfix of ms, the timeout can be + also set in milliseconds. +
disablereuseOffThis parameter should be used when you want to force mod_proxy + to immediately close a connection to the backend after being used, and + thus, disable its persistent connection and pool for that backend. + This helps in various situations where a firewall between Apache + httpd and + the backend server (regardless of protocol) tends to silently + drop connections or when backends themselves may be under round- + robin DNS. + When connection reuse is enabled each backend domain is resolved + (with a DNS query) only once per child process and cached for all further + connections until the child is recycled. To disable connection reuse, + set this property value to On. +
enablereuseOnThis is the inverse of 'disablereuse' above, provided as a + convenience for scheme handlers that require opt-in for connection + reuse (such as mod_proxy_fcgi). 2.4.11 and later only. +
flushpacketsoffDetermines whether the proxy module will auto-flush the output + brigade after each "chunk" of data. 'off' means that it will flush + only when needed; 'on' means after each chunk is sent; and + 'auto' means poll/wait for a period of time and flush if + no input has been received for 'flushwait' milliseconds. + Currently, this is in effect only for mod_proxy_ajp and mod_proxy_fcgi. +
flushwait10The time to wait for additional input, in milliseconds, before + flushing the output brigade if 'flushpackets' is 'auto'. +
iobuffersize8192Adjusts the size of the internal scratchpad IO buffer. This allows you + to override the ProxyIOBufferSize for a specific worker. + This must be at least 512 or set to 0 for the system default of 8192. +
responsefieldsize8192Adjust the size of the proxy response field buffer. The buffer size + should be at least the size of the largest expected header size from + a proxied response. Setting the value to 0 will use the system + default of 8192 bytes.
+ Available in Apache HTTP Server 2.4.34 and later. +
keepaliveOff

This parameter should be used when you have a firewall between your + Apache httpd and the backend server, which tends to drop inactive connections. + This flag will tell the Operating System to send KEEP_ALIVE + messages on inactive connections and thus prevent the firewall from dropping + the connection. + To enable keepalive, set this property value to On.

+

The frequency of initial and subsequent TCP keepalive probes + depends on global OS settings, and may be as high as 2 hours. To be useful, + the frequency configured in the OS must be smaller than the threshold used + by the firewall.

+
lbset0Sets the load balancer cluster set that the worker is a member + of. The load balancer will try all members of a lower numbered + lbset before trying higher numbered ones. +
ping0Ping property tells the webserver to "test" the connection to + the backend before forwarding the request. For AJP, it causes + mod_proxy_ajp to send a CPING + request on the ajp13 connection (implemented on Tomcat 3.3.2+, 4.1.28+ + and 5.0.13+). For HTTP, it causes mod_proxy_http + to send a 100-Continue to the backend (only valid for + HTTP/1.1 - for non HTTP/1.1 backends, this property has no + effect). In both cases, the parameter is the delay in seconds to wait + for the reply. + This feature has been added to avoid problems with hung and + busy backends. + This will increase the network traffic during the normal operation + which could be an issue, but it will lower the + traffic in case some of the cluster nodes are down or busy. + By adding a postfix of ms, the delay can be also set in + milliseconds. +
receivebuffersize0Adjusts the size of the explicit (TCP/IP) network buffer size for + proxied connections. This allows you to override the + ProxyReceiveBufferSize for a specific worker. + This must be at least 512 or set to 0 for the system default. +
redirect-Redirection Route of the worker. This value is usually + set dynamically to enable safe removal of the node from + the cluster. If set, all requests without session id will be + redirected to the BalancerMember that has route parameter + equal to this value. +
retry60Connection pool worker retry timeout in seconds. + If the connection pool worker to the backend server is in the error state, + Apache httpd will not forward any requests to that server until the timeout + expires. This enables to shut down the backend server for maintenance + and bring it back online later. A value of 0 means always retry workers + in an error state with no timeout. +
route-Route of the worker when used inside load balancer. + The route is a value appended to session id. +
status-Single letter value defining the initial status of + this worker. + + + + + + + + +
D: Worker is disabled and will not accept any requests.
S: Worker is administratively stopped.
I: Worker is in ignore-errors mode and will always be considered available.
R: Worker is a hot spare. For each worker in a given lbset that is unusable + (draining, stopped, in error, etc.), a usable hot spare with the same lbset will be used in + its place. Hot spares can help ensure that a specific number of workers are always available + for use by a balancer.
H: Worker is in hot-standby mode and will only be used if no other + viable workers or spares are available in the balancer set.
E: Worker is in an error state.
N: Worker is in drain mode and will only accept existing sticky sessions + destined for itself and ignore all other requests.
Status + can be set (which is the default) by prepending with '+' or + cleared by prepending with '-'. + Thus, a setting of 'S-E' sets this worker to Stopped and + clears the in-error flag. +
timeoutProxyTimeoutConnection timeout in seconds. + The number of seconds Apache httpd waits for data sent by / to the backend. +
ttl-Time to live for inactive connections and associated connection + pool entries, in seconds. Once reaching this limit, a + connection will not be used again; it will be closed at some + later time. +
flusherflush

Name of the provider used by mod_proxy_fdpass. + See the documentation of this module for more details.

+
secret-Value of secret used by mod_proxy_ajp. + It must be identical to the secret configured on the server side of the + AJP connection.
+ Available in Apache HTTP Server 2.4.42 and later. +
upgrade-

Protocol accepted by mod_proxy_http or + mod_proxy_wstunnel for the HTTP Upgrade mechanism + upon negotiation by the HTTP client/browser (per + RFC 9110 - Upgrade). + See the Protocol Upgrade note below

+
mapping-

Type of mapping between the path and the url. + This determines the normalization and/or (non-)decoding that mod_proxy + will apply to the requested uri-path before matching the path. If + a mapping matches, it's committed to the uri-path such that all the directory + contexts that use a path (like <Location>) will be matched using the + same mapping.

+

mapping=encoded prevents the %-decoding of the uri-path so + that one can use for instance configurations like:

+
ProxyPass "/special%3Fsegment" "https://example.com/special%3Fsegment" mapping=encoded
+ +
<Location "/special%3Fsegment">
+  Require ip 172.17.2.0/24
+</Location>
+ +

mapping=servlet refers to the normalization defined by the Servlet + specification, which is for instance applied by Apache Tomcat for servlet containers + (notably the path parameters are ignored for the mapping). An uri-path like + /some;foo/path is then mapped as /some/path hence matches any + of the below regardless of the requested path parameters:

+
ProxyPass "/some/path" "https://servlet.example.com/some/path" mapping=servlet
+ +
<Location "/some/path">
+  Require valid-user
+</Location>
+ +

Note

+

It is recommended to use the same mapping on the Apache httpd side than the one + used on the backend side. For instance when configuring authorizations in + <Location> blocks for paths that are mapped by mod_proxy + to some servlet containers (like applications running on Apache Tomcat), one should + use the mapping=servlet setting to prevent path parameters and alike from + interfering with the authorizations that are to be enforced in by the Apache httpd.

+
+
+ +

If the Proxy directive scheme starts with the + balancer:// (eg: balancer://cluster, + any path information is ignored), then a virtual worker that does not really + communicate with the backend server will be created. Instead, it is responsible + for the management of several "real" workers. In that case, the special set of + parameters can be added to this virtual worker. + See mod_proxy_balancer for more information about how + the balancer works. +

+
Balancer parameters
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDefaultDescription
lbmethodbyrequestsBalancer load-balance method. Select the load-balancing scheduler + method to use. Either byrequests, to perform weighted + request counting; bytraffic, to perform weighted + traffic byte count balancing; or bybusyness, to perform + pending request balancing. The default is byrequests. +
maxattemptsOne less than the number of workers, or 1 with a single worker.Maximum number of failover attempts before giving up. +
nofailoverOffIf set to On, the session will break if the worker is in + error state or disabled. Set this value to On if backend + servers do not support session replication. +
stickysession-Balancer sticky session name. The value is usually set to something + like JSESSIONID or PHPSESSIONID, + and it depends on the backend application server that support sessions. + If the backend application server uses different name for cookies + and url encoded id (like servlet containers) use | to separate them. + The first part is for the cookie the second for the path.
+ Available in Apache HTTP Server 2.4.4 and later. +
stickysessionsep"."Sets the separation symbol in the session cookie. Some backend application servers + do not use the '.' as the symbol. For example, the Oracle Weblogic server uses + '!'. The correct symbol can be set using this option. The setting of 'Off' + signifies that no symbol is used. +
scolonpathdelimOffIf set to On, the semi-colon character ';' will be + used as an additional sticky session path delimiter/separator. This + is mainly used to emulate mod_jk's behavior when dealing with paths such + as JSESSIONID=6736bcf34;foo=aabfa +
timeout0Balancer timeout in seconds. If set, this will be the maximum time + to wait for a free worker. The default is to not wait. +
failonstatus-A single or comma-separated list of HTTP status codes. If set, this will + force the worker into error state when the backend returns any status code + in the list. Worker recovery behaves the same as other worker errors. +
failontimeoutOffIf set, an IO read timeout after a request is sent to the backend will + force the worker into error state. Worker recovery behaves the same as other + worker errors.
+ Available in Apache HTTP Server 2.4.5 and later. +
nonce<auto>The protective nonce used in the balancer-manager application page. + The default is to use an automatically determined UUID-based + nonce, to provide for further protection for the page. If set, + then the nonce is set to that value. A setting of None + disables all nonce checking. +

Note

+

In addition to the nonce, the balancer-manager page + should be protected via an ACL.

+
+
growth0Number of additional BalancerMembers to allow to be added + to this balancer in addition to those defined at configuration. +
forcerecoveryOnForce the immediate recovery of all workers without considering the + retry parameter of the workers if all workers of a balancer are + in error state. There might be cases where an already overloaded backend + can get into deeper trouble if the recovery of all workers is enforced + without considering the retry parameter of each worker. In this case, + set to Off.
+ Available in Apache HTTP Server 2.4.2 and later. +
+

A sample balancer setup:

+
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
+<Proxy "balancer://mycluster">
+    BalancerMember "ajp://1.2.3.4:8009"
+    BalancerMember "ajp://1.2.3.5:8009" loadfactor=20
+    # Less powerful server, don't send as many requests there,
+    BalancerMember "ajp://1.2.3.6:8009" loadfactor=5
+</Proxy>
+ + +

Configuring hot spares can help ensure that a certain number of + workers are always available for use per load balancer set:

+
ProxyPass "/" "balancer://sparecluster/"
+<Proxy balancer://sparecluster>
+    BalancerMember ajp://1.2.3.4:8009
+    BalancerMember ajp://1.2.3.5:8009
+    # The servers below are hot spares. For each server above that is unusable
+    # (draining, stopped, unreachable, in error state, etc.), one of these spares
+    # will be used in its place. Two servers will always be available for a request
+    # unless one or more of the spares is also unusable.
+    BalancerMember ajp://1.2.3.6:8009 status=+R
+    BalancerMember ajp://1.2.3.7:8009 status=+R
+</Proxy>
+ + +

Setting up a hot-standby that will only be used if no other + members (or spares) are available in the load balancer set:

+
ProxyPass "/" "balancer://hotcluster/"
+<Proxy "balancer://hotcluster">
+    BalancerMember "ajp://1.2.3.4:8009" loadfactor=1
+    BalancerMember "ajp://1.2.3.5:8009" loadfactor=2.25
+    # The server below is on hot standby
+    BalancerMember "ajp://1.2.3.6:8009" status=+H
+    ProxySet lbmethod=bytraffic
+</Proxy>
+ + +

Additional ProxyPass Keywords

+ +

Normally, mod_proxy will canonicalise ProxyPassed URLs. + But this may be incompatible with some backends, particularly those + that make use of PATH_INFO. The optional nocanon + keyword suppresses this and passes the URL path "raw" to the + backend. Note that this keyword may affect the security of your backend, + as it removes the normal limited protection against URL-based attacks + provided by the proxy.

+ +

Normally, mod_proxy will include the query string when + generating the SCRIPT_FILENAME environment variable. + The optional noquery keyword (available in + httpd 2.4.1 and later) prevents this.

+ +

The optional interpolate keyword, in combination with + ProxyPassInterpolateEnv, causes the ProxyPass + to interpolate environment variables, using the syntax + ${VARNAME}. Note that many of the standard CGI-derived + environment variables will not exist when this interpolation happens, + so you may still have to resort to mod_rewrite + for complex rules. Also note that interpolation is supported + within the scheme/hostname/port portion of a URL only for variables that + are available when the directive is parsed + (like Define). Dynamic determination of + those fields can be accomplished with mod_rewrite. + The following example describes how to use mod_rewrite + to dynamically set the scheme to http or https:

+ +
RewriteEngine On
+
+RewriteCond "%{HTTPS}" =off
+RewriteRule "." "-" [E=protocol:http]
+RewriteCond "%{HTTPS}" =on
+RewriteRule "." "-" [E=protocol:https]
+
+RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P]
+ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse  "/mirror/foo/" "https://backend.example.com/"
+ + +

Protocol Upgrade

+

Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled + end-to-end by mod_proxy_http using the ProxyPass + parameter upgrade.

+

End-to-end means that the HTTP Upgrade request from the client/browser is first + forwarded by mod_proxy_http to the origin server and the connection + will be upgraded (and tunneled by mod_proxy_http) only if the origin + server accepts/initiates the upgrade (HTTP response 101 Switching Protocols). + If the origin server responds with anything else mod_proxy_http + will continue forwarding (and enforcing) the HTTP protocol as usual for this + connection.

+

See Websocket Upgrade (2.4.47 and later) for an example of + configuration using mod_proxy_http.

+

For Apache HTTP Server 2.4.46 and earlier (or if + ProxyWebsocketFallbackToProxyHttp + from 2.4.48 and later disables mod_proxy_http handling), see the + documentation of mod_proxy_wstunnel for how to proxy the WebSocket + protocol.

+
+ +
+
top
+

ProxyPassInherit Directive

+ + + + + + + + +
Description:Inherit ProxyPass directives defined from the main server
Syntax:ProxyPassInherit On|Off
Default:ProxyPassInherit On
Context:server config, virtual host
Status:Extension
Module:mod_proxy
Compatibility:ProxyPassInherit is only available in Apache HTTP Server 2.4.5 and later. +
+

This directive will cause the current server/vhost to "inherit" + ProxyPass + directives defined in the main server. This can cause issues and + inconsistent behavior if using the Balancer Manager for dynamic changes + and so should be disabled if using that feature.

+

The setting in the global server defines the default for all vhosts.

+

Disabling ProxyPassInherit also disables BalancerInherit.

+ +
+
top
+

ProxyPassInterpolateEnv Directive

+ + + + + + + + +
Description:Enable Environment Variable interpolation in Reverse Proxy configurations
Syntax:ProxyPassInterpolateEnv On|Off
Default:ProxyPassInterpolateEnv Off
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:Available in httpd 2.2.9 and later
+

This directive, together with the interpolate argument to + ProxyPass, ProxyPassReverse, + ProxyPassReverseCookieDomain, and + ProxyPassReverseCookiePath, + enables reverse proxies to be dynamically + configured using environment variables which may be set by + another module such as mod_rewrite. + It affects the ProxyPass, + ProxyPassReverse, + ProxyPassReverseCookieDomain, and + ProxyPassReverseCookiePath directives + and causes them to substitute the value of an environment + variable varname for the string ${varname} + in configuration directives if the interpolate option is set.

+

The scheme/hostname/port portion of ProxyPass may + contain variables, but only the ones available when the directive is parsed + (for example, using Define). + For all the other use cases, please consider using + mod_rewrite instead.

+

Performance warning

+

Keep this turned off unless you need it! + Adding variables to ProxyPass for example may lead to + the use of the default mod_proxy's workers configured (that don't allow any fine + tuning like connections reuse, etc..).

+
+ +
+
top
+

ProxyPassMatch Directive

+ + + + + + +
Description:Maps remote servers into the local server URL-space using regular expressions
Syntax:ProxyPassMatch [regex] !|url [key=value + [key=value ...]]
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
+

This directive is equivalent to ProxyPass + but makes use of regular expressions instead of simple prefix matching. The + supplied regular expression is matched against the url, and if it + matches, the server will substitute any parenthesized matches into the given + string and use it as a new url.

+ +
Note: This directive cannot be used within a + <Directory> context.
+ +

Suppose the local server has address http://example.com/; + then

+ +
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com/$1"
+ + +

will cause a local request for + http://example.com/foo/bar.gif to be internally converted + into a proxy request to http://backend.example.com/foo/bar.gif.

+

Note

+

The URL argument must be parsable as a URL before regexp + substitutions (as well as after). This limits the matches you can use. + For instance, if we had used

+
ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com:8000$1"
+ +

in our previous example, it would fail with a syntax error + at server startup. This is a bug (PR 46665 in the ASF bugzilla), + and the workaround is to reformulate the match:

+
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"
+ +
+

The ! directive is useful in situations where you don't want + to reverse-proxy a subdirectory.

+ +

When used inside a <LocationMatch> section, the first argument is omitted and the + regexp is obtained from the <LocationMatch>.

+ +

If you require a more flexible reverse-proxy configuration, see the + RewriteRule directive with the + [P] flag.

+ +
+

Default Substitution

+

When the URL parameter doesn't use any backreferences into the regular + expression, the original URL will be appended to the URL parameter. +

+
+ +
+

Security Warning

+

Take care when constructing the target URL of the rule, considering + the security impact from allowing the client influence over the set of + URLs to which your server will act as a proxy. Ensure that the scheme + and hostname part of the URL is either fixed or does not allow the + client undue influence.

+
+ +
+
top
+

ProxyPassReverse Directive

+ + + + + + +
Description:Adjusts the URL in HTTP response headers sent from a reverse +proxied server
Syntax:ProxyPassReverse [path] url +[interpolate]
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
+

This directive lets Apache httpd adjust the URL in the Location, + Content-Location and URI headers on HTTP + redirect responses. This is essential when Apache httpd is used as a + reverse proxy (or gateway) to avoid bypassing the reverse proxy + because of HTTP redirects on the backend servers which stay behind + the reverse proxy.

+ +

Only the HTTP response headers specifically mentioned above + will be rewritten. Apache httpd will not rewrite other response + headers, nor will it by default rewrite URL references inside HTML pages. + This means that if the proxied content contains absolute URL + references, they will bypass the proxy. To rewrite HTML content to + match the proxy, you must load and enable mod_proxy_html. +

+ +

path is the name of a local virtual path; url is a + partial URL for the remote server. + These parameters are used the same way as for the + ProxyPass directive.

+ +

For example, suppose the local server has address + http://example.com/; then

+ +
ProxyPass         "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverseCookieDomain  "backend.example.com"  "public.example.com"
+ProxyPassReverseCookiePath  "/"  "/mirror/foo/"
+ + +

will not only cause a local request for the + http://example.com/mirror/foo/bar to be internally converted + into a proxy request to http://backend.example.com/bar + (the functionality which ProxyPass provides here). + It also takes care of redirects which the server backend.example.com + sends when redirecting http://backend.example.com/bar to + http://backend.example.com/quux . Apache httpd adjusts this to + http://example.com/mirror/foo/quux before forwarding the HTTP + redirect response to the client. Note that the hostname used for + constructing the URL is chosen in respect to the setting of the UseCanonicalName directive.

+ +

Note that this ProxyPassReverse directive can + also be used in conjunction with the proxy feature + (RewriteRule ... [P]) from mod_rewrite + because it doesn't depend on a corresponding ProxyPass directive.

+ +

The optional interpolate keyword, used together with + ProxyPassInterpolateEnv, enables interpolation + of environment variables specified using the format ${VARNAME}. + Note that interpolation is not supported within the scheme portion of a + URL.

+ +

When used inside a <Location> section, the first argument is omitted and the local + directory is obtained from the <Location>. The same occurs inside a <LocationMatch> section, but will probably not work as + intended, as ProxyPassReverse will interpret the regexp literally as a + path; if needed in this situation, specify the ProxyPassReverse outside + the section or in a separate <Location> section.

+ +

This directive is not supported in <Directory> or <Files> sections.

+ +
+
top
+

ProxyPassReverseCookieDomain Directive

+ + + + + + +
Description:Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server
Syntax:ProxyPassReverseCookieDomain internal-domain +public-domain [interpolate]
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
+

Usage is basically similar to +ProxyPassReverse, but instead of +rewriting headers that are a URL, this rewrites the domain +string in Set-Cookie headers.

+ +
+
top
+

ProxyPassReverseCookiePath Directive

+ + + + + + +
Description:Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server
Syntax:ProxyPassReverseCookiePath internal-path +public-path [interpolate]
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
+

+Useful in conjunction with +ProxyPassReverse +in situations where backend URL paths are mapped to public paths on the +reverse proxy. This directive rewrites the path string in +Set-Cookie headers. If the beginning of the cookie path matches +internal-path, the cookie path will be replaced with +public-path. +

+In the example given with +ProxyPassReverse, the directive: +

+
ProxyPassReverseCookiePath  "/"  "/mirror/foo/"
+ +

+will rewrite a cookie with backend path / (or +/example or, in fact, anything) to /mirror/foo/. +

+ +
+
top
+

ProxyPreserveHost Directive

+ + + + + + + + +
Description:Use incoming Host HTTP request header for proxy +request
Syntax:ProxyPreserveHost On|Off
Default:ProxyPreserveHost Off
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:Usable in directory +context in 2.3.3 and later.
+

When enabled, this option will pass the Host: line from the incoming + request to the proxied host, instead of the hostname specified in the + ProxyPass line.

+ +

This option should normally be turned Off. It is mostly + useful in special configurations like proxied mass name-based virtual + hosting, where the original Host header needs to be evaluated by the + backend server.

+ +
+
top
+

ProxyReceiveBufferSize Directive

+ + + + + + + +
Description:Network buffer size for proxied HTTP and FTP +connections
Syntax:ProxyReceiveBufferSize bytes
Default:ProxyReceiveBufferSize 0
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

The ProxyReceiveBufferSize directive specifies an + explicit (TCP/IP) network buffer size for proxied HTTP and FTP connections, + for increased throughput. It has to be greater than 512 or set + to 0 to indicate that the system's default buffer size should + be used.

+ +

Example

ProxyReceiveBufferSize 2048
+
+ +
+
top
+

ProxyRemote Directive

+ + + + + + +
Description:Remote proxy used to handle certain requests
Syntax:ProxyRemote match remote-server
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

This defines remote proxies to this proxy. match is either the + name of a URL-scheme that the remote server supports, or a partial URL + for which the remote server should be used, or * to indicate + the server should be contacted for all requests. remote-server is + a partial URL for the remote server. Syntax:

+ +

+ remote-server = + scheme://hostname[:port] +

+ +

scheme is effectively the protocol that should be used to + communicate with the remote server; only http and https + are supported by this module. When using https, the requests + are forwarded through the remote proxy using the HTTP CONNECT method.

+ +

Example

ProxyRemote "http://goodguys.example.com/" "http://mirrorguys.example.com:8000"
+ProxyRemote "*" "http://cleverproxy.localdomain"
+ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"
+
+ +

In the last example, the proxy will forward FTP requests, encapsulated + as yet another HTTP proxy request, to another proxy which can handle + them.

+ +

This option also supports reverse proxy configuration; a backend + webserver can be embedded within a virtualhost URL space even if that + server is hidden by another forward proxy.

+ +
+
top
+

ProxyRemoteMatch Directive

+ + + + + + +
Description:Remote proxy used to handle requests matched by regular +expressions
Syntax:ProxyRemoteMatch regex remote-server
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

The ProxyRemoteMatch is identical to the + ProxyRemote directive, except that + the first argument is a regular expression + match against the requested URL.

+ +
+
top
+

ProxyRequests Directive

+ + + + + + + +
Description:Enables forward (standard) proxy requests
Syntax:ProxyRequests On|Off
Default:ProxyRequests Off
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

This allows or prevents Apache httpd from functioning as a forward proxy + server. (Setting ProxyRequests to Off does not disable use of + the ProxyPass directive.)

+ +

In a typical reverse proxy or gateway configuration, this + option should be set to + Off.

+ +

In order to get the functionality of proxying HTTP or FTP sites, you + need also mod_proxy_http or mod_proxy_ftp + (or both) present in the server.

+ +

In order to get the functionality of (forward) proxying HTTPS sites, you + need mod_proxy_connect enabled in the server.

+ +

Warning

+

Do not enable proxying with ProxyRequests until you have secured your server. Open proxy servers are dangerous + both to your network and to the Internet at large.

+
+ +

See also

+ +
+
top
+

ProxySet Directive

+ + + + + + + +
Description:Set various Proxy balancer or member parameters
Syntax:ProxySet url key=value [key=value ...]
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:ProxySet is only available in Apache HTTP Server 2.2 + and later.
+

This directive is used as an alternate method of setting any of the + parameters available to Proxy balancers and workers normally done via the + ProxyPass directive. If used + within a <Proxy balancer url|worker url> + container directive, the url argument is not required. As a side + effect the respective balancer or worker gets created. This can be useful + when doing reverse proxying via a + RewriteRule instead of a + ProxyPass directive.

+ +
<Proxy "balancer://hotcluster">
+    BalancerMember "http://www2.example.com:8080" loadfactor=1
+    BalancerMember "http://www3.example.com:8080" loadfactor=2
+    ProxySet lbmethod=bytraffic
+</Proxy>
+
+ +
<Proxy "http://backend">
+    ProxySet keepalive=On
+</Proxy>
+ + +
ProxySet "balancer://foo" lbmethod=bytraffic timeout=15
+ + +
ProxySet "ajp://backend:7001" timeout=15
+ + +

Warning

+

Keep in mind that the same parameter key can have a different meaning + depending whether it is applied to a balancer or a worker, as shown by + the two examples above regarding timeout.

+
+ + +
+
top
+

ProxySourceAddress Directive

+ + + + + + + +
Description:Set local IP address for outgoing proxy connections
Syntax:ProxySourceAddress address
Context:server config, virtual host
Status:Extension
Module:mod_proxy
Compatibility:Available in version 2.3.9 and later
+

This directive allows to set a specific local address to bind to when connecting + to a backend server.

+ +
+
top
+

ProxyStatus Directive

+ + + + + + + + +
Description:Show Proxy LoadBalancer status in mod_status
Syntax:ProxyStatus Off|On|Full
Default:ProxyStatus Off
Context:server config, virtual host
Status:Extension
Module:mod_proxy
Compatibility:Available in version 2.2 and later
+

This directive determines whether or not proxy + loadbalancer status data is displayed via the mod_status + server-status page.

+

Note

+

Full is synonymous with On

+
+ + +
+
top
+

ProxyTimeout Directive

+ + + + + + + +
Description:Network timeout for proxied requests
Syntax:ProxyTimeout seconds
Default:Value of Timeout
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

This directive allows a user to specify a timeout on proxy requests. + This is useful when you have a slow/buggy appserver which hangs, and you + would rather just return a timeout and fail gracefully instead of waiting + however long it takes the server to return.

+ +
+
top
+

ProxyVia Directive

+ + + + + + + +
Description:Information provided in the Via HTTP response +header for proxied requests
Syntax:ProxyVia On|Off|Full|Block
Default:ProxyVia Off
Context:server config, virtual host
Status:Extension
Module:mod_proxy
+

This directive controls the use of the Via: HTTP + header by the proxy. Its intended use is to control the flow of + proxy requests along a chain of proxy servers. See RFC 2616 (HTTP/1.1), section + 14.45 for an explanation of Via: header lines.

+ +
    +
  • If set to Off, which is the default, no special processing + is performed. If a request or reply contains a Via: header, + it is passed through unchanged.
  • + +
  • If set to On, each request and reply will get a + Via: header line added for the current host.
  • + +
  • If set to Full, each generated Via: header + line will additionally have the Apache httpd server version shown as a + Via: comment field.
  • + +
  • If set to Block, every proxy request will have all its + Via: header lines removed. No new Via: header will + be generated.
  • +
+ +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy.html.fr.utf8 b/docs/manual/mod/mod_proxy.html.fr.utf8 new file mode 100644 index 0000000..ad4f103 --- /dev/null +++ b/docs/manual/mod/mod_proxy.html.fr.utf8 @@ -0,0 +1,2472 @@ + + + + + +mod_proxy - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Serveur mandataire/passerelle multi-protocole
Statut:Extension
Identificateur de Module:proxy_module
Fichier Source:mod_proxy.c
+

Sommaire

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avec la directive + ProxyRequests avant + d'avoir sécurisé votre serveur. Les serveurs + mandataires ouverts sont dangereux pour votre réseau, + mais aussi pour l'Internet au sens large.

+
+ +

mod_proxy et ses modules associés implémentent + un mandataire/passerelle pour le serveur HTTP Apache, et supportent + de nombreux protocoles courants, ainsi que plusieurs algorithmes de + répartition de charge. Le support de protocoles et d'algorithmes de + répartition de charge supplémentaires peut être assuré par des + modules tiers.

+ +

Un jeu de modules chargés dans le serveur permet de fournir les + fonctionnalités souhaitées. Ces modules peuvent être inclus + statiquement à la compilation, ou dynamiquement via la directive + LoadModule. Ce jeu de module + doit comporter :

+ + + +

En outre, d'autres modules fournissent des fonctionnalités + étendues. mod_cache et ses modules associés + fournissent la mise en cache. Les directives SSLProxy* + du module mod_ssl permettent de contacter des + serveurs distants en utilisant le protocole SSL/TLS. Ces modules + additionnels devront être chargés et configurés pour pouvoir + disposer de ces fonctionnalités.

+
+ +
top
+
+

Mandataires directs et + mandataires/passerelles inverses

+

Le serveur HTTP Apache peut être configuré dans les deux modes mandataire + direct et mandataire inverse (aussi nommé + mode passerelle).

+ +

Un mandataire direct standard est un serveur + intermédiaire qui s'intercale entre le client et le serveur + demandé. Pour obtenir un contenu hébergé par + le serveur demandé, le client envoie une requête au + mandataire en nommant le serveur demandé comme + cible. Le mandataire extrait alors le contenu depuis le + serveur demandé et le renvoie enfin au client. Le client doit être + configuré de manière appropriée pour pouvoir utiliser le mandataire + direct afin d'accéder à d'autres sites.

+ +

L'accès à Internet depuis des clients situés derrière un + pare-feu est une utilisation typique du mandataire direct. Le + mandataire direct peut aussi utiliser la mise en cache (fournie + par mod_cache) pour réduire la charge du + réseau.

+ +

La fonctionnalité de mandataire direct est activée via la + directive ProxyRequests. + Comme les mandataires directs permettent aux clients d'accéder à + des sites quelconques via votre serveur et de dissimuler leur + véritable origine, il est indispensable de sécuriser votre serveur de façon à ce que seuls + les clients autorisés puissent accéder à votre serveur avant + d'activer la fonctionnalité de mandataire direct.

+ +

Un mandataire inverse (ou passerelle), + quant à lui, apparaît au client comme un serveur web standard. + Aucune configuration particulière du client n'est nécessaire. Le + client adresse ses demandes de contenus ordinaires dans l'espace + de nommage du mandataire inverse. Ce dernier décide alors où + envoyer ces requêtes, et renvoie le contenu au client comme s'il + l'hébergeait lui-même.

+ +

L'accès d'utilisateurs depuis Internet vers un serveur situé + derrière un pare-feu est une utilisation typique du mandataire + inverse. On peut aussi utiliser les mandataires inverses pour + mettre en oeuvre une répartition de charge entre plusieurs + serveurs en arrière-plan, ou fournir un cache pour un serveur + d'arrière-plan plus lent. Les mandataires inverses peuvent aussi + tout simplement servir à rassembler plusieurs serveurs dans le + même espace de nommage d'URLs.

+ +

La fonctionnalité de mandataire inverse est activée via la + directive ProxyPass ou + le drapeau [P] de la directive RewriteRule. Il n'est + pas nécessaire de définir ProxyRequests pour configurer + un mandataire inverse.

+
top
+
+

Exemples simples

+ +

Les exemples ci-dessous illustrent de manière très basique la + mise en oeuvre de la fonctionnalité de mandataire et ne sont là que + pour vous aider à démarrer. Reportez-vous à la documentation de + chaque directive.

+ +

Si en outre, vous désirez activer la mise en cache, consultez la + documentation de mod_cache.

+ +

Mandataire inverse

ProxyPass "/foo" "http://foo.example.com/bar"
+ProxyPassReverse "/foo" "http://foo.example.com/bar"
+
+ +

Mandataire direct

ProxyRequests On
+ProxyVia On
+
+<Proxy "*">
+  Require host internal.example.com
+</Proxy>
+
+

Promotion de protocole + vers Websocket (versions 2.4.47 et ultérieures)

ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket
+
+
top
+
+

Accès via un gestionnaire

+ +

Vous pouvez aussi forcer le traitement d'une requête en tant que + requête de mandataire inverse en créant un gestionnaire de transfert + approprié. Dans l'exemple suivant, toutes les requêtes pour + des scripts PHP seront transmises au serveur FastCGI + spécifié via un mandat inverse : +

+ +

Scripts PHP et mandataire inverse

<FilesMatch "\.php$">
+    # Les sockets Unix nécessitent une version 2.4.7 ou supérieure du
+    # serveur HTTP Apache
+    SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
+</FilesMatch>
+
+ +

Cette fonctionnalité est disponible à partir de la version + 2.4.10 du serveur HTTP Apache.

+ +
top
+
+

Workers

+

Le mandataire gère la configuration et les paramètres de + communication des serveurs originaux au sein d'objets nommés + workers. Deux types de worker sont fournis : le worker + par défaut du mandataire direct et le worker par défaut du + mandataire inverse. Il est aussi possible de définir explicitement + des workers supplémentaires.

+ +

Les deux workers par défaut possèdent une configuration figée + et seront utilisés si aucun autre worker ne correspond à la + requête. Ils ne réutilisent pas les connexions et n'utilisent pas les + connexions HTTP persistantes (Keep-Alive). En effet, les + connexions TCP vers le serveur original sont fermées et ouvertes + pour chaque requête.

+ +

Les workers définis explicitement sont identifiés par leur URL. + Ils sont en général définis via les directives ProxyPass ou ProxyPassMatch lorsqu'on les + utilise dans le cadre d'un mandataire inverse :

+ +
ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30
+
+ + +

Cette directive va créer un worker associé à l'URL du serveur + original http://backend.example.com qui utilisera les + valeurs de timeout données. Lorsqu'ils sont utilisés dans le cadre + d'un mandataire direct, les workers sont en général définis via la + directive ProxySet,

+ +
ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30
+
+ + +

ou encore via les directives Proxy et ProxySet :

+ +
<Proxy "http://backend.example.com">
+  ProxySet connectiontimeout=5 timeout=30
+</Proxy>
+ + +

L'utilisation de workers définis explicitement dans le mode + mandataire direct n'est pas très courante, car les mandataires + directs communiquent en général avec de nombreux serveurs + originaux. La création explicite de workers pour certains serveurs + originaux peut cependant s'avérer utile si ces serveurs sont + très souvent sollicités. A leur niveau, les workers explicitement + définis ne possèdent aucune notion de mandataire direct ou + inverse. Ils encapsulent un concept de communication commun avec + les serveurs originaux. Un worker créé via la directive ProxyPass pour être utilisé dans le + cadre d'un mandataire inverse sera aussi utilisé dans le cadre + d'un mandataire directe chaque fois que l'URL vers le serveur + original correspondra à l'URL du worker, et vice versa.

+ +

L'URL qui identifie un worker correspond à l'URL de son serveur + original, y compris un éventuel chemin donné :

+ +
ProxyPass "/examples" "http://backend.example.com/examples"
+ProxyPass "/docs" "http://backend.example.com/docs"
+ + +

Dans cet exemple, deux workers différents sont définis, chacun + d'eux utilisant des configurations et jeux de connexions + séparés.

+ +

Partage de workers

+

Le partage de workers intervient lorsque les URLs des workers + s'entrecoupent, ce qui arrive lorsque l'URL d'un worker + correspond au début de l'URL d'un autre worker défini plus loin + dans le fichier de configuration. Dans l'exemple suivant,

+ +
ProxyPass "/apps" "http://backend.example.com/" timeout=60
+ProxyPass "/examples" "http://backend.example.com/examples" timeout=10
+ + +

le second worker n'est pas vraiment créé. C'est le premier + worker qui est en fait utilisé. L'avantage de ceci réside dans + le fait qu'il n'existe qu'un seul jeu de connexions, ces + dernières étant donc réutilisées plus souvent. Notez que tous + les attributs de configuration définis explicitement pour le + deuxième worker seront ignorés, ce qui sera journalisé en tant + qu'avertissement. Ainsi, dans l'exemple ci-dessus, la valeur de + timeout retenue pour l'URL /exemples sera + 60, et non 10 !

+ +

Si vous voulez empêcher le partage de workers, classez vos + définitions de workers selon la longueur des URLs, de la plus + longue à la plus courte. Si au contraire vous voulez favoriser + ce partage, utilisez l'ordre de classement inverse. Voir aussi + l'avertissement à propos de l'ordre de classement des directives + ProxyPass.

+ +
+ +

Les workers définis explicitement sont de deux sortes : + workers directs et workers de répartition (de + charge). Ils supportent de nombreux attributs de + configuration importants décrits dans la directive ProxyPass. Ces mêmes attributs + peuvent aussi être définis via la directive ProxySet.

+ +

Le jeu d'options disponibles pour un worker direct dépend du + protocole spécifié dans l'URL du serveur original. Les protocoles + disponibles comprennent ajp, fcgi, + ftp, http et scgi.

+ +

Les workers de répartition sont des workers virtuels qui + utilisent les workers directs, connus comme faisant partie de leurs + membres, pour le traitement effectif des requêtes. Chaque + répartiteur peut comporter plusieurs membres. Lorsqu'il traite une + requête, il choisit un de ses membres en fonction de l'algorithme + de répartition de charge défini.

+ +

Un worker de répartition est créé si son URL de worker comporte + balancer comme indicateur de protocole. L'URL du + répartiteur permet d'identifier de manière unique le worker de + répartition. La directive BalancerMember permet d'ajouter des + membres au répartiteur.

+ +

Résolution DNS pour les domaines originaux

+

La résolution DNS s'effectue lorsque le socket vers le + domaine original est créé pour la première fois. Lorsque la réutilisation + des connexions est activée, chaque domaine d'arrière-plan n'est résolu qu'une + seule fois pour chaque processus enfant, et cette résolution est mise en + cache pour toutes les connexions ultérieures jusqu'à ce que le processus enfant + soit recyclé. Ce comportement doit être pris en considération lorsqu'on + planifie des tâches de maintenance du DNS impactant les domaines + d'arrière-plan. Veuillez aussi vous reporter aux paramètres de la + directive ProxyPass pour plus de + détails à propos de la réutilisation des connexions.

+
+ +
top
+
+

Contrôler l'accès à votre + mandataire

+

Vous pouvez restreindre l'accès à votre mandataire via le bloc + de contrôle <Proxy> comme dans + l'exemple suivant :

+ +
<Proxy "*">
+  Require ip 192.168.0
+</Proxy>
+ + +

Pour plus de détails sur les directives de contrôle d'accès, + voir la documentation du module + mod_authz_host.

+ +

Restreindre l'accès de manière stricte est essentiel si vous + mettez en oeuvre un mandataire direct (en définissant la directive + ProxyRequests à "on"). + Dans le cas contraire, votre serveur pourrait être utilisé par + n'importe quel client pour accéder à des serveurs quelconques, + tout en masquant sa véritable identité. Ceci représente un danger + non seulement pour votre réseau, mais aussi pour l'Internet au + sens large. Dans le cas de la mise en oeuvre d'un mandataire + inverse (en utilisant la directive ProxyPass avec ProxyRequests Off), le contrôle + d'accès est moins critique car les clients ne peuvent contacter + que les serveurs que vous avez spécifiés.

+ +

Voir aussi la variable d'environnement Proxy-Chain-Auth.

+ +
top
+
+

Ralentissement au démarrage

+

Si vous utilisez la directive ProxyBlock, les noms d'hôtes sont résolus en adresses + IP puis ces dernières mises en cache au cours du démarrage + à des fins de tests de comparaisons ultérieurs. Ce processus peut + durer plusieurs secondes (ou d'avantage) en fonction de la vitesse + à laquelle s'effectue la résolution des noms d'hôtes.

+
top
+
+

Mandataire en Intranet

+

Un serveur mandataire Apache httpd situé à l'intérieur d'un Intranet + doit faire suivre les requêtes destinées à un serveur externe à + travers le pare-feu de l'entreprise (pour ce faire, définissez la + directive ProxyRemote de + façon à ce qu'elle fasse suivre le protocole concerné + vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder + à des ressources situées dans l'Intranet, il peut se passer du + pare-feu pour accéder aux serveurs. A cet effet, la directive + NoProxy permet de + spécifier quels hôtes appartiennent à l'Intranet et peuvent donc + être accédés directement.

+ +

Les utilisateurs d'un Intranet ont tendance à oublier le nom du + domaine local dans leurs requêtes WWW, et demandent par exemple + "http://un-serveur/" au lieu de + http://un-serveur.example.com/. Certains serveurs + mandataires commerciaux acceptent ce genre de requête et les + traitent simplement en utilisant un nom de domaine local + implicite. Lorsque la directive ProxyDomain est utilisée et si le + serveur est configuré comme + mandataire, Apache httpd peut renvoyer une réponse de redirection et + ainsi fournir au client l'adresse de serveur correcte, + entièrement qualifiée. C'est la méthode à privilégier car le + fichier des marque-pages de l'utilisateur contiendra alors des + noms de serveurs entièrement qualifiés.

+
top
+
+

Ajustements relatifs au + protocole

+

Pour les cas où mod_proxy envoie des requêtes + vers un serveur qui n'implémente pas correctement les connexions + persistantes ou le protocole HTTP/1.1, il existe deux variables + d'environnement qui permettent de forcer les requêtes à utiliser + le protocole HTTP/1.0 avec connexions non persistantes. Elles + peuvent être définies via la directive SetEnv.

+ +

Il s'agit des variables force-proxy-request-1.0 et + proxy-nokeepalive.

+ +
<Location "/buggyappserver/">
+  ProxyPass "http://buggyappserver:7001/foo/"
+  SetEnv force-proxy-request-1.0 1
+  SetEnv proxy-nokeepalive 1
+</Location>
+ + +

A partir de la version 2.4.26 du serveur HTTP Apache, la définition de + la variable d'environnement "no-proxy" permet de désactiver + mod_proxy dans le traitement de la requête courante. + Cette variable doit être définie via la directive SetEnvIf car la directive SetEnv n'est pas évaluée assez tôt.

+ +
top
+
+

Corps de requêtes

+ +

Certaines méthodes de requêtes comme POST comportent un corps de + requête. Le protocole HTTP stipule que les requêtes qui comportent + un corps doivent soit utiliser un codage de transmission + fractionnée (chunked transfer encoding), soit envoyer un en-tête de requête + Content-Length. Lorsqu'il fait suivre ce genre de + requête vers le serveur demandé, mod_proxy_http + s'efforce toujours d'envoyer l'en-tête Content-Length. + Par contre, si la taille du corps est importante, et si la requête + originale utilise un codage à fractionnement, ce dernier peut aussi + être utilisé dans la requête montante. Ce comportement peut être + contrôlé à l'aide de variables + d'environnement. Ainsi, si elle est définie, la variable + proxy-sendcl assure une compatibilité maximale avec les + serveurs demandés en imposant l'envoi de l'en-tête + Content-Length, alors que + proxy-sendchunked diminue la consommation de ressources + en imposant l'utilisation d'un codage à fractionnement.

+ +

Dans certaines circonstances, le serveur doit mettre en file + d'attente sur disque les corps de requêtes afin de satisfaire le + traitement demandé des corps de requêtes. Par exemple, cette mise en + file d'attente se produira si le corps original a été envoyé selon un + codage morcelé (et possède une taille importante), alors que + l'administrateur a demandé que les requêtes du serveur + d'arrière-plan soient envoyées avec l'en-tête Content-Length ou en + HTTP/1.0. Cette mise en file d'attente se produira aussi si le corps + de la requête contient déjà un en-tête Content-Length, alors que le + serveur est configuré pour filtrer les corps des requêtes entrantes.

+ +
top
+
+

En-têtes de requête du mandataire + inverse

+ +

Lorsqu'il est configuré en mode mandataire inverse (en utilisant + par exemple la directive ProxyPass), + mod_proxy_http ajoute plusieurs en-têtes de requête + afin de transmettre des informations au serveur demandé. Ces + en-têtes sont les suivants :

+ +
+
X-Forwarded-For
+
L'adresse IP du client.
+
X-Forwarded-Host
+
L'hôte d'origine demandé par le client dans l'en-tête de + requête HTTP Host.
+
X-Forwarded-Server
+
Le nom d'hôte du serveur mandataire.
+
+ +

Ces en-têtes doivent être utilisés avec précautions sur le + serveur demandé, car ils contiendront plus d'une valeur (séparées + par des virgules) si la requête originale contenait déjà un de ces + en-têtes. Par exemple, vous pouvez utiliser + %{X-Forwarded-For}i dans la chaîne de format du journal + du serveur demandé pour enregistrer les adresses IP des clients + originaux, mais il est possible que vous obteniez plusieurs adresses + si la requête passe à travers plusieurs mandataires.

+ +

Voir aussi les directives ProxyPreserveHost et ProxyVia directives, qui permettent + de contrôler d'autres en-têtes de requête.

+ +

Note : Si vous devez ajouter des en-têtes particuliers à la + requête mandatée, utilisez la directive RequestHeader.

+ +
+
top
+

Directive BalancerGrowth

+ + + + + + + + +
Description:Nombre de membres supplémentaires pouvant être ajoutés +après la configuration initiale
Syntaxe:BalancerGrowth #
Défaut:BalancerGrowth 5
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
Compatibilité:BalancerGrowth est disponible depuis la version 2.3.13 du +serveur HTTP Apache
+

Cette directive permet de définir le nombre de membres pouvant + être ajoutés au groupe de répartition de charge préconfiguré d'un + serveur virtuel. Elle n'est active que si le groupe a été + préconfiguré avec un membre au minimum.

+ +
+
top
+

Directive BalancerInherit

+ + + + + + + + +
Description:Héritage des membres du groupes de répartition de + charge du mandataire définis au niveau du serveur principal
Syntaxe:BalancerInherit On|Off
Défaut:BalancerInherit On
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible à partir de la version 2.4.5 du serveur + HTTP Apache.
+

Cette directive permet d'attribuer au serveur virtuel courant + l'héritage des membres de groupes de répartition de charge + définis au niveau du serveur + principal. Elle ne doit pas être activée si vous + utilisez la fonctionnalité de modifications dynamiques du + gestionnaire de répartition de charge (Balancer Manager) pour + éviter des problèmes et des comportements inattendus.

+

Les définitions au niveau du serveur principal constituent + les définitions par défaut au niveau des serveurs virtuels.

+ + +
+
top
+

Directive BalancerMember

+ + + + + + + +
Description:Ajoute un membre à un groupe de répartition de +charge
Syntaxe:BalancerMember [balancerurl] url [clé=valeur [clé=valeur ...]]
Contexte:répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible depuis la version 2.2 du serveur HTTP Apache.
+

Cette directive permet d'ajouter un membre à un groupe de + répartition de charge. Elle peut se trouver dans un conteneur + <Proxy balancer://...>, et accepte + tous les paramètres de paires clé/valeur que supporte la directive + ProxyPass.

+

La directive BalancerMember accepte un paramètre + supplémentaire : loadfactor. Il s'agit du facteur de + charge du membre - un nombre décimal entre 1.0 (valeur par défaut) et 100.0, qui + définit la charge à appliquer au membre en question.

+

L'argument balancerurl n'est requis que s'il ne se trouve pas + dèjà dans la directive de conteneur <Proxy + balancer://...>. Il correspond à l'URL d'un + répartiteur de charge défini par une directive ProxyPass.

+

La partie chemin de l'URL du répartiteur dans toute directive de + conteneur <Proxy balancer://...> est + ignorée.

+

En particulier, le slash de fin de l'URL d'un + BalancerMember doit être supprimé.

+ +
+
top
+

Directive BalancerPersist

+ + + + + + + + +
Description:Tente de conserver les changements effectués par le + gestionnaire de répartition de charge après un redémarrage du + serveur.
Syntaxe:BalancerPersist On|Off
Défaut:BalancerPersist Off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
Compatibilité:BalancerPersist n'est disponible qu'à partir de la + version 2.4.4 du serveur HTTP Apache.
+

Cette directive permet de conserver le contenu de l'espace + mémoire partagé associé aux répartiteurs de charge et à leurs + membres après un redémarrage du serveur. Ces modifications + locales ne sont ainsi pas perdues lors des transitions d'état + dues à un redémarrage.

+ +
+
top
+

Directive NoProxy

+ + + + + + +
Description:Serveurs, domaines ou réseaux auquels on se connectera +directement
Syntaxe:NoProxy domaine [domaine] ...
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

Cette directive n'a d'utilité que pour les serveurs mandataires + Apache httpd au sein d'Intranets. La directive + NoProxy permet de spécifier une liste de + sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés + par des espaces. Une requête pour un serveur qui correspond à un ou + plusieurs critères sera toujours servie par ce serveur directement, + sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par + la directive ProxyRemote.

+ +

Exemple

ProxyRemote  "*"  "http://firewall.example.com:81"
+NoProxy         ".example.com" "192.168.112.0/21"
+
+ +

Le type des arguments serveur de la directive + NoProxy appartiennent à la liste suivante + :

+ +
+ +
Domaine
+
+

Un domaine est ici un nom de domaine DNS partiellement + qualifié précédé d'un point. Il représente une liste de serveurs qui + appartiennent logiquement au même domaine ou à la même zonz DNS + (en d'autres termes, les nom des serveurs se terminent tous par + domaine).

+ +

Exemple

+ .com .example.org. +

+ +

Pour faire la distinction entre domaines et nom d'hôtes (des points de vue à la fois + syntaxique et + sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS + de type A !), les domaines sont toujours spécifiés en les + préfixant par un point.

+ +

Note

+

Les comparaisons de noms de domaines s'effectuent sans tenir + compte de la casse, et les parties droites des Domaines + sont toujours censées correspondre à la racine de l'arborescence + DNS, si bien que les domaines .ExEmple.com et + .exemple.com. (notez le point à la fin du nom) sont + considérés comme identiques. Comme une comparaison de domaines ne + nécessite pas de recherche DNS, elle est beaucoup plus efficace + qu'une comparaison de sous-réseaux.

+
+ + +
Sous-réseau
+
+

Un Sous-réseau est une adresse internet partiellement + qualifiée sous forme numérique (quatre nombres séparés par des + points), optionnellement suivie d'un slash et du masque de + sous-réseau spécifiant le nombre de bits significatifs dans le + Sous-réseau. Il représente un sous-réseau de serveurs qui + peuvent être atteints depuis la même interface réseau. En l'absence + de masque de sous-réseau explicite, il est sous-entendu que les + digits manquants (ou caractères 0) de fin spécifient le masque de + sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être + qu'un multiple de 8). Voici quelques exemples :

+ +
+
192.168 ou 192.168.0.0
+
le sous-réseau 192.168.0.0 avec un masque de sous-réseau + implicite de 16 bits significatifs (parfois exprimé sous la forme + 255.255.0.0)
+
192.168.112.0/21
+
le sous-réseau 192.168.112.0/21 avec un masque de + sous-réseau implicite de 21 bits significatifs (parfois exprimé + sous la forme255.255.248.0)
+
+ +

Comme cas extrêmes, un Sous-réseau avec un masque de + sous-réseau de 32 bits significatifs est équivalent à une adresse IP, alors qu'un Sous-réseau avec un masque de + sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est + identique à la constante _Default_, et peut correspondre + à toute adresse IP.

+ + +
Adresse IP
+
+

Une Adresse IP est une adresse internet pleinement + qualifiée sous forme numérique (quatre nombres séparés par des + points). En général, cette adresse représente un serveur, mais elle + ne doit pas nécessairement correspondre à un nom de domaine DNS.

+

Exemple

+ 192.168.123.7 +

+ +

Note

+

Une Adresse IP ne nécessite pas de résolution DNS, + et peut ainsi s'avérer plus efficace quant aux performances + d'Apache.

+
+ + +
Nom de serveur
+
+

Un Nom de serveur est un nom de domaine DNS pleinement + qualifié qui peut être résolu en une ou plusieurs adresses IP par le + service de noms de domaines DNS. Il représente un hôte logique (par + opposition aux Domaines, voir + ci-dessus), et doit pouvoir être résolu en une ou plusieurs adresses IP (ou souvent en une liste + d'hôtes avec différentes adresses + IP).

+ +

Exemples

+ prep.ai.example.edu
+ www.example.org +

+ +

Note

+

Dans de nombreuses situations, il est plus efficace de + spécifier une adresse IP qu'un + Nom de serveur car cela évite d'avoir à effectuer une + recherche DNS. La résolution de nom dans Apache httpd peut prendre un + temps très long lorsque la connexion avec le serveur de noms + utilise une liaison PPP lente.

+

Les comparaisons de Nom de serveur s'effectuent sans tenir + compte de la casse, et les parties droites des Noms de serveur + sont toujours censées correspondre à la racine de l'arborescence + DNS, si bien que les domaines WWW.ExEmple.com et + www.example.com. (notez le point à la fin du nom) sont + considérés comme identiques.

+
+
+ +

Voir aussi

+ +
+
top
+

Directive <Proxy>

+ + + + + + +
Description:Conteneur de directives s'appliquant à des ressources +mandatées
Syntaxe:<Proxy url-avec-jokers> ...</Proxy>
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

Les directives situées dans une section <Proxy> ne s'appliquent qu'au contenu + mandaté concerné. Les jokers de style shell sont autorisés.

+ +

Par exemple, les lignes suivantes n'autoriseront à accéder à un + contenu via votre serveur mandataire que les hôtes appartenant à + votre-reseau.example.com :

+ +
<Proxy "*">
+  Require host votre-reseau.example.com
+</Proxy>
+ + +

Dans l'exemple suivant, tous les fichiers du répertoire + foo de example.com seront traités par le + filtre INCLUDES lorsqu'ils seront envoyés par + l'intermédiaire du serveur mandataire :

+ +
<Proxy "http://example.com/foo/*">
+  SetOutputFilter INCLUDES
+</Proxy>
+ + +

Différences avec la section de configuration Location

+

Une URL d'arrière-plan sera concernée par le conteneur Proxy si + elle commence par la url-avec-jokers, même si le + dernier segment de chemin de la directive ne correspond qu'à un + préfixe de segment dee chemin de l'URL d'arrière-plan. Par exemple, <Proxy + "http://example.com/foo"> correspondra entre autres aux URLs + http://example.com/foo, http://example.com/foo/bar, et + http://example.com/foobar. La correspondance de l'URL finale + diffère du comportement de la section <Location> qui, pour le cas de cette note, + traitera le segment de chemin final comme s'il se terminait par un + slash.

+

Pour un contrôle plus fin de la correspondance des URL, voir la + directive <ProxyMatch>.

+
+ + +

Voir aussi

+ +
+
top
+

Directive Proxy100Continue

+ + + + + + + + +
Description:Transmission du message "100-continue" au serveur d'origine
Syntaxe:Proxy100Continue Off|On
Défaut:Proxy100Continue On
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible à partir de la version 2.4.40 du serveur HTTP Apache
+

Cette directive permet de contrôler le transfert par le mandataire du + message "100-continue" (Expect:ation) vers le serveur d'origine. Si + elle est définie à "On", le serveur d'origine décidera lui-même si le corps + de la requête HTTP doit être lu. Si elle est définie à "Off", le mandataire + générera lui-même une réponse intermédiaire 100 Continue avant de + transférer le corps de la requête.

+

Contexte d'utilisation

+

Cette option n'est utilisable qu'avec les mandataires HTTP gérés par + mod_proxy_http.

+
+ +
+
top
+

Directive ProxyAddHeaders

+ + + + + + + + +
Description:Ajoute des informations à propos du mandataire aux +en-têtes X-Forwarded-*
Syntaxe:ProxyAddHeaders Off|On
Défaut:ProxyAddHeaders On
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible depuis la version 2.3.10
+

Cette directive permet de passer au serveur d'arrière-plan des + informations à propos du mandataire via les en-têtes HTTP + X-Forwarded-For, X-Forwarded-Host et X-Forwarded-Server.

+

Utilité

+

Cette option n'est utile que dans le cas du mandat HTTP traité + par mod_proxy_http.

+
+ +
+
top
+

Directive ProxyBadHeader

+ + + + + + + +
Description:Détermine la manière de traiter les lignes d'en-tête +incorrectes d'une réponse
Syntaxe:ProxyBadHeader IsError|Ignore|StartBody
Défaut:ProxyBadHeader IsError
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

La directive ProxyBadHeader permet de + déterminer le comportement de mod_proxy lorsqu'il + reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est + à dire ne contenant pas de caractère ':') en provenance du serveur + original. Les arguments disponibles sont :

+ +
+
IsError
+
Annule la requête et renvoie une réponse de code 502 (mauvaise + passerelle). C'est le comportement par défaut.
+ +
Ignore
+
Traite les lignes d'en-tête incorrectes comme si elles n'avaient + pas été envoyées.
+ +
StartBody
+
A la réception de la première ligne d'en-tête incorrecte, les + autres en-têtes sont lus et ce qui reste est traité en tant que + corps. Ceci facilite la prise en compte des serveurs d'arrière-plan + bogués qui oublient d'insérer une ligne vide entre les + en-têtes et le corps.
+
+ +
+
top
+

Directive ProxyBlock

+ + + + + + +
Description:Termes, serveurs ou domaines bloqués par le +mandataire
Syntaxe:ProxyBlock *|terme|serveur|domaine +[terme|serveur|domaine] ...
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

La directive ProxyBlock permet de + spécifier une liste de termes, serveurs et/ou domaines, séparés par + des espaces. Les requêtes de documents HTTP, HTTPS, FTP vers des + sites dont les noms contiennent des termes, noms de serveur ou + domaine correspondants seront bloqués par le serveur + mandataire. La module proxy va aussi tenter de déterminer les + adresses IP des éléments de la liste qui peuvent correspondre à des + noms d'hôtes au cours du démarrage, et les mettra en cache à des + fins de comparaisons ultérieures. Ceci peut ralentir le démarrage du + serveur.

+ +

Exemple

ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"
+
+ +

Notez qu'example suffirait aussi pour atteindre + ces sites.

+ +

Hosts conviendrait aussi s'il était référencé par adresse IP.

+ +

Notez aussi que

+ +
ProxyBlock "*"
+ + +

bloque les connexions vers tous les sites.

+ +
+
top
+

Directive ProxyDomain

+ + + + + + +
Description:Nom de domaine par défaut pour les requêtes +mandatées
Syntaxe:ProxyDomain Domaine
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

Cette directive n'a d'utilité que pour les serveurs mandataires + Apache httpd au sein d'un Intranet. La directive + ProxyDomain permet de spécifier le domaine + par défaut auquel le serveur mandataire apache appartient. Si le + serveur reçoit une requête pour un hôte sans nom de domaine, il va + générer une réponse de redirection vers le même hôte suffixé par le + Domaine spécifié.

+ +

Exemple

ProxyRemote  "*"  "http://firewall.example.com:81"
+NoProxy         ".example.com" "192.168.112.0/21"
+ProxyDomain     ".example.com"
+
+ +
+
top
+

Directive ProxyErrorOverride

+ + + + + + + + +
Description:Outrepasser les pages d'erreur pour les contenus +mandatés
Syntaxe:ProxyErrorOverride Off|On [code ...]
Défaut:ProxyErrorOverride Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:La liste de codes d'états a été ajoutée à partir de la version +2.4.47 du serveur HTTP Apache.
+

Cette directive est utile pour les configurations de mandataires + inverses, lorsque vous souhaitez que les pages d'erreur envoyées + aux utilisateurs finaux présentent un aspect homogène. Elle permet + aussi l'inclusion de fichiers (via les SSI de + mod_include) pour obtenir le code d'erreur et agir + en conséquence (le comportement par défaut afficherait la page + d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI + qui sera affiché si cette directive est à "on").

+ +

Cette directive n'affecte pas le traitement des réponses + informatives (1xx), de type succès normal (2xx), ou de redirection + (3xx).

+ +

Par défaut, ProxyErrorOverride affecte toutes les + réponses avec un code compris entre 400 inclus et 600 exclus.

+ +

Exemple de configuration par défaut

ProxyErrorOverride  On
+
+ +

Pour n'affecter que les réponses possèdant certains codes d'état + particuliers, vous pouvez spécifier ces derniers sous la forme d'une liste + en les séparant par des espaces. Les réponses dont le code d'état ne fait + pas partie de la liste ne seront pas affectées. Vous ne pouvez spécifier que + des codes d'erreurs, donc compris entre 400 inclus et 600 exclus.

+ +

Exemple de configuration personnalisée

ProxyErrorOverride  On 403 405 500 501 502 503 504
+
+ +
+
top
+

Directive ProxyIOBufferSize

+ + + + + + + +
Description:Détermine la taille du tampon interne de transfert de +données
Syntaxe:ProxyIOBufferSize octets
Défaut:ProxyIOBufferSize 8192
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

La directive ProxyIOBufferSize permet + d'ajuster la taille du tampon interne utilisé comme bloc-note pour + les transferts de données entre entrée et sortie. La taille minimale + est de 512 octets.

+ +

Dans la plupart des cas, il n'y a aucune raison de modifier cette + valeur.

+ +

Si elle est utilisée avec AJP, cette directive permet de définir + la taille maximale du paquet AJP en octets. Si la valeur spécifiée + est supérieure à 65536, elle est corrigée et prend la valeur 65536. + Si vous ne conservez pas + la valeur par défaut, vous devez aussi modifier l'attribut + packetSize de votre connecteur AJP du côté de Tomcat ! + L'attribut packetSize n'est disponible que dans Tomcat + 5.5.20+ et 6.0.2+.

+

Il n'est normalement pas nécessaire de modifier la taille + maximale du paquet. Des problèmes ont cependant été rapportés avec + la valeur par défaut lors de l'envoi de certificats ou de chaînes de + certificats.

+ + +
+
top
+

Directive <ProxyMatch>

+ + + + + + +
Description:Conteneur de directives s'appliquant à des ressources +mandatées correspondant à une expression rationnelle
Syntaxe:<ProxyMatch regex> ...</ProxyMatch>
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

La directive <ProxyMatch> est + identique à la directive <Proxy>, à l'exception qu'elle définit + les URLs auxquelles elle s'applique en utilisant une expression rationnelle.

+ +

A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé par "MATCH_". Ceci permet + de référencer des URLs dans des expressions + ou au sein de modules comme mod_rewrite. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.

+ +
<ProxyMatch "^http://(?<sitename>[^/]+)">
+    Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</ProxyMatch>
+ + +

Voir aussi

+ +
+
top
+

Directive ProxyMaxForwards

+ + + + + + + + +
Description:Nombre maximum de mandataires à travers lesquelles une +requête peut être redirigée
Syntaxe:ProxyMaxForwards nombre
Défaut:ProxyMaxForwards -1
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
Compatibilité:Comportement par défaut +modifié dans 2.2.7
+

La directive ProxyMaxForwards permet de + spécifier le nombre maximum de mandataires à travers lesquels une + requête peut passer dans le cas où la la requête ne contient pas + d'en-tête Max-Forwards. Ceci permet de se prémunir + contre les boucles infinies de mandataires ou contre les attaques de + type déni de service.

+ +

Exemple

ProxyMaxForwards 15
+
+ +

Notez que la définition de la directive + ProxyMaxForwards constitue une violation du + protocole HTTP/1.1 (RFC2616), qui interdit à un mandataire de + définir Max-Forwards si le client ne l'a pas fait + lui-même. Les versions précédentes d'Apache httpd la définissaient + systématiquement. Une valeur négative de + ProxyMaxForwards, y compris la valeur par + défaut -1, implique un comportement compatible avec le protocole, + mais vous expose aux bouclages infinis.

+ +
+
top
+

Directive ProxyPass

+ + + + + + + +
Description:Référencer des serveurs distants depuis +l'espace d'URLs du serveur local
Syntaxe:ProxyPass [chemin] !|url [clé=valeur + [clé=valeur ...]] [nocanon] [interpolate] [noquery]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:Les sockets de style Unix (Unix Domain Socket - UDS) +sont supportés à partir de la version 2.4.7 du serveur HTTP Apache
+

Cette directive permet de référencer des serveurs distants depuis + l'espace d'URLs du serveur local. Le serveur + local n'agit pas en tant que mandataire au sens conventionnel, mais + plutôt comme miroir du serveur distant. Le serveur local est + souvent nommé mandataire inverse ou + passerelle. L'argument chemin est le nom d'un + chemin virtuel local ; url est une URL partielle pour le + serveur distant et ne doit pas contenir de chaîne d'arguments.

+ +
Il est fortement recommandé de revoir le concept de Worker avant d'aller plus loin.
+ +
Cette directive n'est pas supportée au sein des sections <Directory>, <If> et <Files>.
+ +
En général, la directive ProxyRequests doit être définie à + off lorsqu'on utilise la directive + ProxyPass.
+ +

Les sockets de style Unix sont supportés à partir de la version + 2.4.7 du serveur HTTP Apache ; pour utiliser cette fonctionnalité, + il suffit d'utiliser une URL cible préfixée par + unix:/path/lis.sock|. Par exemple, pour mandater HTTP + et cibler l'UDS /home/www.socket, vous devez utiliser + unix:/home/www.socket|http://localhost/whatever/.

+ +
Note :Le chemin associé à l'URL + unix: tient compte de la directive + DefaultRuntimeDir.
+ +

Lorsque cette directive est utilisée dans une section <Location>, le premier + argument est omis et le répertoire local est obtenu à partir de + l'argument de la directive <Location>. Il en est de même à l'intérieur + d'une section <LocationMatch>, mais le résultat ne sera + probablement pas celui attendu car ProxyPassReverse va interpréter + l'expression rationnelle littéralement comme un chemin ; si besoin + est dans ce cas, définissez la directive ProxyPassReverse en dehors + de la section, ou dans une section <Location> séparée.

+ +

Supposons que le serveur local a pour adresse + http://example.com/ ; alors la ligne

+ +
<Location "/mirror/foo/">
+    ProxyPass "http://backend.example.com/"
+</Location>
+ + +

va convertir en interne toute requête pour + http://example.com/mirror/foo/bar en une requête + mandatée pour http://backend.example.com/bar.

+ +

Si vous avez besoin d'un configuration de mandataire inverse plus + souple, reportez-vous à la documentaion de la directive RewriteRule et son drapeau + [P].

+ +

La syntaxe alternative suivante est valide, bien qu'elle puisse + induire une dégradation des performances lorsqu'elle est + présente en très grand nombre. Elle possède l'avantage de + permettre un contrôle dynamique via l'interface Balancer Manager :

+ +
ProxyPass "/mirror/foo/" "http://backend.example.com/"
+ + +
+

Si le premier argument se termine par un slash + /, il doit en être de même pour le second argument + et vice versa. Dans le cas contraire, il risque de manquer des + slashes nécessaires dans la requête résultante vers le serveur + d'arrière-plan et les résulats ne seront pas ceux attendus. +

+
+ +

Le drapeau ! permet de soustraire un sous-répertoire + du mandat inverse, comme dans l'exemple suivant :

+ +
<Location "/mirror/foo/">
+    ProxyPass "http://backend.example.com/"
+</Location>
+<Location "/mirror/foo/i">
+    ProxyPass "!"
+</Location>
+ + +
ProxyPass "/mirror/foo/i" "!"
+ProxyPass "/mirror/foo" "http://backend.example.com"
+ + +

va mandater toutes les requêtes pour /mirror/foo + vers backend.example.com, sauf les requêtes + pour /mirror/foo/i.

+ +

Mélanger plusieurs configurations ProxyPass dans différents contextes ne + fonctionne pas :

+
ProxyPass "/mirror/foo/i" "!"
+<Location "/mirror/foo/">
+    ProxyPass "http://backend.example.com/"
+</Location>
+ +

Dans ce cas, une requête pour /mirror/foo/i sera tout de + même mandatée car c'est la directive ProxyPass de la + section Location qui sera évaluée en premier. Le fait que la directive + ProxyPass supporte les deux contextes serveur + principal et répertoire ne signifie pas que sa portée et sa position dans le + fichier de configuration va garantir une quelconque priorité et/ou + chronologie de prise en compte.

+ +

Ordre de classement des directives ProxyPass

+

Les directives ProxyPass et ProxyPassMatch sont évaluées dans + l'ordre de leur apparition dans le fichier de configuration. La + première règle qui correspond s'applique. Vous devez donc en + général classer les règles ProxyPass qui entrent en conflit de + l'URL la plus longue à la plus courte. Dans le cas contraire, les + règles situées après une règle dont l'URL correspond au début de + leur propre URL seront ignorées. Notez que tout ceci est en + relation avec le partage de workers.

+ +
+

Chronologie de prise en compte des directives + ProxyPass au sein des sections Locations

+

On ne peut placer + qu'une seule directive ProxyPass dans une section + Location, et c'est la section + la plus spécifique qui l'emportera.

+
+

Exclusions et variable d'environnement no-proxy

+

Les exclusions doivent se situer avant + les directives ProxyPass générales. A partir de la + version 2.4.26 du serveur HTTP Apache, la variable + d'environnement "no-proxy" est une alternative aux exclusions et constitue + le seul moyen de configurer une exclusion pour une directive + ProxyPass dans le contexte d'une section Location. Cette variable doit être définie via + la directive SetEnvIf car la + directive SetEnv n'est pas évaluée + assez tôt.

+ +
+ +

ProxyPass clé=valeur Paramètres

+ +

Depuis la version 2.1 du serveur HTTP Apache, mod_proxy supporte + les groupements de connexions vers un serveur d'arrière-plan. Les + connexions créées à la demande peuvent être enregistrées dans un + groupement pour une utilisation ultérieure. La taille du groupe + ainsi que d'autres caractéristiques peuvent être définies via la + directive ProxyPass au moyen de paramètres + clé=valeur dont la description fait l'objet des + tableaux ci-dessous.

+ +

Nombre maximum de connexions vers + l'arrière-plan

+

Par défaut, mod_proxy permet et met en réserve le + nombre maximum de connexions pouvant être utilisées simultanément par le + processus enfant concerné du serveur web. Le paramètre max + permet de réduire cette valeur par défaut. Le jeu de connexions est maintenu + au niveau de chaque processus enfant du serveur web, max et les + autres réglages n'étant pas coordonnés entre ces différents processus, sauf + bien entendu lorsqu'un seul processus enfant n'est autorisé par la + configuration ou le MPM utilisé.

+ +

Le paramètre ttl, + quant à lui, permet de définir une durée de vie optionnelle ; les + connexions qui n'ont pas été utilisées pendant au moins + ttl secondes seront fermées. ttl permet + aussi d'empêcher l'utilisation d'une connexion susceptible d'être + fermée suite à une fin de vie de connexion persistante sur le + serveur d'arrière-plan.

+ +

Exemple

ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300
+
+ +
Paramètres de worker (directive BalancerMember)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParamètreDéfautDescription
min0Nombre minimum d'entrées dans le pool de connexions, + distinct du nombre de connexions effectif. La valeur par défaut + ne doit être modifiée que dans des circonstances particulières + où la mémoire associée aux connexions avec le serveur + d'arrière-plan doit être préallouée ou réservée dans le tas.
max1...nNombre maximum de connexions autorisées vers le serveur + d'arrière-plan. La valeur par défaut correspond au nombre de + threads par processus pour le MPM (Module Multi Processus) + actif. La valeur sera toujours 1 pour le MPM Prefork, alors + qu'elle dépendra de la définition de la directive + ThreadsPerChild pour les autres MPMs.
smaxmaxLes entrées du pool de connexions conservées au delà de + cette limite sont libérées au cours de certaines opérations si + elles n'ont pas été utilisées au cours de leur durée de vie, + définie par le paramètre ttl. Si l'entrée du pool + de connexions est associée à une connexion, cette dernière sera + fermée. La valeur par défaut ne doit être modifiée que dans des + circonstances particulières où les entrées du pool de connexions + et toutes connexions associées qui ont dépassé leur durée de vie + doivent être libérées ou fermées de manière plus autoritaire.
acquire-Cette clé permet de définir le délai maximum d'attente pour + une connexion libre dans le jeu de connexions, en millisecondes. + S'il n'y a pas de connexion libre dans le jeu, Apache httpd renverra + l'état SERVER_BUSY au client. +
connectiontimeouttimeoutDélai d'attente d'une connexion en secondes. + La durée en secondes pendant laquelle Apache httpd va attendre pour + l'établissement d'une connexion vers le serveur d'arrière-plan. + Le délai peut être spécifié en millisecondes en ajoutant le + suffixe ms. +
disablereuseOffVous pouvez utiliser cette clé pour forcer mod_proxy à + fermer immédiatement une connexion vers le serveur + d'arrière-plan après utilisation, et ainsi désactiver le jeu de + connexions permanentes vers ce serveur. Ceci peut s'avérer utile + dans des situations où un pare-feu situé entre Apache httpd et le + serveur d'arrière-plan (quelque soit le protocole) interrompt + des connexions de manière silencieuse, ou lorsque le serveur + d'arrière-plan lui-même est accessible par rotation de DNS + (round-robin DNS). Lorsque la réutilisation des connexions est activée, + chaque domaine d'arrière-plan n'est résolu (via une requête DNS) qu'une + seule fois par chaque processus enfant et mis en cache pour toutes les + connexions ultérieures jusqu'au recyclage du processus concerné. + Pour désactiver la réutilisation du jeu de + connexions, définissez cette clé à On. +
enablereuseOnCe paramètre est utilisé par les gestionnaires de protocole pour + lesquels la réutilisation des connexions est optionnelle (comme + mod_proxy_fcgi). C'est le contraire du + paramètre 'disablereuse' ci-dessus, et il est supporté par les + versions 2.4.11 et supérieures du serveur HTTP Apache. +
flushpacketsoffPermet de définir si le module mandataire doit vider + automatiquement le tampon de sortie après chaque tronçon de + données. 'off' signifie que le tampon sera vidé si + nécessaire ; + 'on' signifie que le tampon sera vidé après chaque envoi d'un + tronçon de données, et 'auto' que le tampon sera vidé après un + délai de 'flushwait' millisecondes si aucune entrée n'est reçue. + Actuellement, cette clé n'est supportée que par mod_proxy_ajp et + mod_proxy_fcgi. +
flushwait10Le délai d'attente pour une entrée additionnelle, en + millisecondes, avant le vidage du tampon en sortie dans le cas + où 'flushpackets' est à 'auto'. +
iobuffersize8192Permet de définir la taille du tampon d'entrées/sorties du + bloc-notes interne. Cette clé vous permet d'outrepasser la + directive ProxyIOBufferSize pour un + serveur cible spécifique. La valeur doit être au minimum 512 ou définie + à 0 pour la valeur par défaut du système de 8192. +
responsefieldsize8192Contrôle la taille du tampon pour le champ de la réponse mandatée. + Cette taille doit être au moins égale à la taille attendue du plus grand + en-tête d'une réponse mandatée. Une valeur de 0 implique l'utilisation + de la valeur par défaut du système, à savoir 8192 octets.
+ Disponible à partir de la version 2.4.34 du serveur HTTP Apache. +
keepaliveOff

Cette clé doit être utilisée lorsque vous avez un pare-feu + entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend + à interrompre les connexions inactives. Cette clé va faire en + sorte que le système d'exploitation envoie des messages + KEEP_ALIVE sur chacune des connexions inactives et + ainsi éviter la fermeture de la connexion par le pare-feu. + Pour conserver les connexions persistantes, definissez cette + propriété à On.

+

La fréquence de vérification des connexions TCP persistantes + initiale et subséquentes dépend de la configuration globale de l'OS, + et peut atteindre 2 heures. Pour être utile, la fréquence configurée + dans l'OS doit être inférieure au seuil utilisé par le pare-feu.

+ +
lbset0Définit le groupe de répartition de charge dont le serveur cible + est membre. Le répartiteur de charge va essayer tous les membres + d'un groupe de répartition de charge de numéro inférieur avant + d'essayer ceux dont le groupe possède un numéro supérieur. +
ping0Avec la clé Ping, le serveur web va "tester" la connexion + vers le serveur d'arrière-plan avant de transmettre la requête. + Avec AJP, mod_proxy_ajp envoie une requête + CPING sur la connexion ajp13 (implémenté sur Tomcat + 3.3.2+, 4.1.28+ et 5.0.13+). Avec HTTP, + mod_proxy_http envoie 100-Continue + au serveur d'arrière-plan (seulement avecHTTP/1.1 - pour les + serveurs d'arrière-plan non HTTP/1.1, cette clé ne produit + aucun effet). Dans les deux cas, ce paramètre correspond au + délai en secondes pour l'attente de la réponse. Cette + fonctionnalité a été ajoutée pour éviter les problèmes avec les + serveurs d'arrière-plan bloqués ou surchargés. + + Le trafic + réseau peut s'en trouver augmenté en fonctionnement normal, ce + qui peut poser problème, mais peut s'en trouver diminué dans les + cas où les noeuds de cluster sont arrêtés ou + surchargés. Le délai peut + aussi être défini en millisecondes en ajoutant le suffixe + ms. +
receivebuffersize0Définit la taille du tampon réseau explicite (TCP/IP) pour + les connexions mandatées. Cette clé vous permet d'outrepasser la + directive ProxyReceiveBufferSize pour un + serveur cible spécifique. Sa valeur doit être au minimum 512 ou définie + à 0 pour la valeur par défaut du système. +
redirect-Route pour la redirection du serveur cible. Cette valeur est en + général définie dynamiquement pour permettre une suppression + sécurisée du noeud du cluster. Si cette clé est définie, toutes + les requêtes sans identifiant de session seront redirigées vers + le membre de groupe de répartition de charge dont la route + correspond à la valeur de la clé. +
retry60Délai entre deux essais du serveur cible du jeu de connexions en + secondes. Si le serveur cible du jeu de connexions vers le serveur + d'arrière-plan est dans un état d'erreur, Apache httpd ne redirigera + pas de requête vers ce serveur avant l'expiration du délai + spécifié. Ceci permet d'arrêter le serveur d'arrière-plan pour + maintenance, et de le remettre en ligne plus tard. Une valeur de + 0 implique de toujours essayer les serveurs cibles dans un état d'erreur + sans délai. +
route-La route du serveur cible lorsqu'il est utilisé au sein d'un + répartiteur de charge. La route est une valeur ajoutée à + l'identifiant de session. +
status-Valeur constituée d'une simple lettre et définissant l'état + initial de ce serveur cible. + + + + + + + + +
D: le serveur cible est désactivé et n'accepte aucune requête.
S: le serveur cible est arrêté.
I: le serveur cible est en mode "erreurs ignorées", + et sera toujours considéré comme disponible.
R: Le serveur cible sert de remplaçant à + chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable + (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à + chaud libre de même lbset sera utilisé à sa place. Les remplaçants à + chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles + sera toujours disponible pour un répartiteur de charge.
H: le serveur cible est en mode d'attente et ne sera + utilisé que si aucun autre serveur ou remplaçant à chaud n'est + disponible dans le jeu de serveurs cibles.
E: le serveur cible est en erreur.
N: le serveur cible est en mode vidage, n'acceptera que + les sessions persistantes qui lui appartiennent, et refusera + toutes les autres requêtes.
+ Une valeur d'état peut être définie (ce qui + correspond au comportement par défaut) en préfixant la valeur + par '+', ou annulée en préfixant la valeur par '-'. Ainsi, la + valeur 'S-E' définit l'état de ce serveur cible à "arrêté" et supprime + le drapeau "en-erreur". +
timeoutProxyTimeoutDélai d'attente de la connexion en secondes. Le nombre de + secondes pendant lesquelles Apache httpd attend l'envoi de + données vers le serveur d'arrière-plan. +
ttl-Durée de vie des connexions inactives et des entrées du pool + de connexions associées en secondes. Une fois cette + limite atteinte, une connexion ne sera pas réutilisée ; elle + sera fermée après un délai variable. +
flusherflush

Nom du fournisseur utilisé par mod_proxy_fdpass. + Voir la documentation de ce module pour plus de détails.

+
secret-Le mot de passe utilisé par mod_proxy_ajp. Il doit + identique au mot de passe configuré sur le côté serveur de la connexion + AJP.
+ Disponible à partir de la version 2.4.42 du serveur HTTP Apache. +
upgrade-

Protocole pris en charge par mod_proxy_http ou + mod_proxy_wstunnel pour le mécanisme de promotion de + protocole HTTP lors d'une négociation du client/navigateur HTTP (en + accord avec RFC 9110 - + Upgrade). Voir la note Promotion de + protocole ci-dessous

+
mapping-

Type de mappage entre le chemin et l'url. + Détermine la normalisation et/ou le (non-)décodage que + mod_proxy appliquera au chemin de l'uri + demandé avant de rechercher une correspondance avec le chemin. + Si un mappage correspond, il est appliqué au chemin de l'uri + de façon à ce que tous les contextes de répertoire qui utilisent un + chemin (comme <Location>) fassent l'objet d'une + recherche de correspondance en utilisant le même mappage.

+

mapping=encoded empêche le décodage des caractères % + contenus dans le chemin de l'uri de façon à ce que l'on + puisse par exemple utiliser des configurations telles que :

+
ProxyPass "/special%3Fsegment" "https://example.com/special%3Fsegment" mapping=encoded
+ +
<Location "/special%3Fsegment">
+  Require ip 172.17.2.0/24
+</Location>
+ +

mapping=servlet se réfère à la normalisation définie par + la spécification de la Servlet qui sera par exemple appliquée par Apache + Tomcat pour les conteneurs de servlet (en particulier, les paramètres du + chemin sont ignorés pour le mappage). Un chemin d'uri comme + /some;foo/path sera alors mappé comme + /some/path et correspondra donc à tout ce qui suit sans + tenir compte des paramètres du chemin demandé :

+
ProxyPass "/some/path" "https://servlet.example.com/some/path" mapping=servlet
+ +
<Location "/some/path">
+  Require valid-user
+</Location>
+ +

Note

+

Il est recommandé d'utiliser le même mappage côté Apache httpd + que celui utilisé côté arrière-plan. Par exemple, lors de la + configuration des autorisations dans les sections + <Location> pour des chemins mappés par + mod_proxy comme conteneurs de servlet (comme les + applications s'exécutant sous Apache Tomcat), on doit utiliser la + définition mapping=servlet pour éviter que les + paramètres du chemin et similaires n'interfèrent avec les + autorisations qui doivent être définies par Apache httpd.

+
+
+ +

Si l'URL de la directive Proxy débute par + balancer:// (par exemple: + balancer://cluster, toute information relative au + chemin est ignorée), alors un serveur cible virtuel ne communiquant pas + réellement avec le serveur d'arrière-plan sera créé. Celui-ci sera + en fait responsable de la gestion de plusieurs serveurs cibles "réels". Dans + ce cas, un jeu de paramètres particuliers s'applique à ce serveur cible + virtuel. Voir mod_proxy_balancer pour plus + d'informations à propos du fonctionnement du répartiteur de + charge. +

+
Paramètres du répartiteur
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParamètreDéfautDescription
lbmethodbyrequestsMéthode de répartition de charge utilisée. Permet de + sélectionner la méthode de planification de la répartition de + charge à utiliser. La valeur est soit byrequests, + pour effectuer un décompte de requêtes pondérées, soit + bytraffic, pour effectuer une répartition en + fonction du décompte des octets transmis, soit + bybusyness, pour effectuer une répartition en + fonction des requêtes en attente. La valeur par défaut est + byrequests. +
maxattempts1 de moins que le nombre de workers, ou 1 avec un seul + workerNombre maximum d'échecs avant abandon. +
nofailoverOffSi ce paramètre est défini à On, la session va + s'interrompre si le serveur cible est dans un état d'erreur ou + désactivé. Définissez ce paramètre à On si le serveur + d'arrière-plan ne supporte pas la réplication de session. +
stickysession-Nom de session persistant du répartiteur. La valeur est + généralement du style JSESSIONID ou + PHPSESSIONID, et dépend du serveur d'application + d'arrière-plan qui supporte les sessions. Si le serveur + d'application d'arrière-plan utilise un nom différent pour + les cookies et les identifiants codés d'URL (comme les + conteneurs de servlet), séparez-les par le caractère '|'. La + première partie contient le cookie et la seconde le chemin.
+ Disponible depuis la version 2.4.4 du serveur HTTP Apache. +
stickysessionsep"."Définit le caractère de séparation dans le cookie de + session. Certains serveurs d'application d'arrière-plan + n'utilisent pas le caractère '.' comme séparateur. Par exemple + le serveur Oracle Weblogic utilise le caractère '!'. Cette + option permet d'attribuer au caractère de séparation la valeur + appropriée. Si elle est définie à 'Off', aucun caractère de + séparation n'est utilisé. +
scolonpathdelimOffSi ce paramètre est défini à On, le caractère + ';' sera utilisé comme séparateur de chemin de session + persistante additionnel. Ceci permet principalement de simuler + le comportement de mod_jk lorsqu'on utilise des chemins du style + JSESSIONID=6736bcf34;foo=aabfa. +
timeout0Délai du répartiteur en secondes. Si ce paramètre est + défini, sa valeur correspond à la durée maximale d'attente pour + un serveur cible libre. Le comportement par défaut est de ne pas + attendre. +
failonstatus-Une liste de codes d'état HTTP séparés par des virgules. Si + ce paramètre est présent, le worker se mettra en erreur si le + serveur d'arrière-plan renvoie un des codes d'état spécifiés + dans la liste. La récupération du worker s'effectue comme dans + le cas des autres erreurs de worker. +
failontimeoutOffSi ce paramètre est défini à "On", un délai d'attente + dépassé en entrée/sortie après envoi d'une requête au serveur + d'arrière-plan va mettre le processus en état d'erreur. La + sortie de cet état d'erreur se passe de la même façon que pour + les autres erreurs.
+ Disponible à partir de la version 2.4.5 du serveur HTTP Apache. +
nonce<auto>Le nombre à usage unique de protection utilisé dans la page + de l'application balancer-manager. Par défaut, la + protection de la page est assurée par un nombre à usage unique + automatique à base d'UUID. Si une valeur est précisée, elle sera + utilisée comme nombre à usage unique. La valeur + None désactive la vérification du nombre à usage + unique. +

Note

+

En plus du nombre à usage unique, la page de l'application + balancer-manager peut être protégée par une ACL.

+
+
growth0Nombre de membres supplémentaires que l'on peut ajouter à ce + répartiteur en plus de ceux définis au niveau de la + configuration. +
forcerecoveryOnForce la relance immédiate de tous les membres sans tenir + compte de leur paramètre retry dans le cas où ils sont tous en + état d'erreur. Il peut cependant arriver qu'un membre déjà + surchargé entre dans une situation critique si la relance de + tous les membres est forcée sans tenir compte du paramètre retry + de chaque membre. Dans ce cas, définissez ce paramètre à + Off.
+ Disponible depuis la version 2.4.2 du serveur HTTP Apache. +
+

Exemple de configuration d'un répartiteur de charge

+
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
+<Proxy "balancer://mycluster">
+    BalancerMember "ajp://1.2.3.4:8009"
+    BalancerMember "ajp://1.2.3.5:8009" loadfactor=20
+    # Less powerful server, don't send as many requests there,
+    BalancerMember "ajp://1.2.3.6:8009" loadfactor=5
+</Proxy>
+ + +

La définition de remplaçants à chaud permet de s'assurer qu'un nombre + déterminé de serveurs sera toujours disponible dans le jeu de serveurs + cibles :

+
ProxyPass "/" "balancer://sparecluster/"
+<Proxy balancer://sparecluster>
+    BalancerMember ajp://1.2.3.4:8009
+    BalancerMember ajp://1.2.3.5:8009
+    # Les serveurs ci-dessous sont des remplaçants à chaud. Pour chaque serveur
+    # ci-dessus qui viendrait à être inutilisable (maintenance, arrêt, non
+    # contactable, en erreur, etc...), un de ces remplaçants à chaud prendra sa
+    # place. Deux serveurs seront toujours disponibles pour traiter une requête
+    # (à moins qu'un ou plusieurs remplaçant à chaud soit lui aussi
+    # indisponible).
+    BalancerMember ajp://1.2.3.6:8009 status=+R
+    BalancerMember ajp://1.2.3.7:8009 status=+R
+</Proxy>
+ + +

Configuration d'un serveur cible de réserve qui ne sera utilisé que si + aucun autre serveur cible ou remplaçant à chaud n'est disponible dans le jeu + de serveurs cibles :

+
ProxyPass "/" "balancer://hotcluster/"
+<Proxy "balancer://hotcluster">
+    BalancerMember "ajp://1.2.3.4:8009" loadfactor=1
+    BalancerMember "ajp://1.2.3.5:8009" loadfactor=2.25
+    # The server below is on hot standby
+    BalancerMember "ajp://1.2.3.6:8009" status=+H
+    ProxySet lbmethod=bytraffic
+</Proxy>
+ + +

Mots-clés additionnels de ProxyPass

+ +

Normalement, mod_proxy va mettre sous leur forme canonique les + URLs traitées par ProxyPass. Mais ceci peut être incompatible avec + certains serveurs d'arrière-plan, et en particulier avec ceux qui + utilisent PATH_INFO. Le mot-clé optionnel + nocanon modifie ce comportement et permet de transmettre + le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez + que ceci peut affecter la sécurité de votre serveur d'arrière-plan, + car la protection limitée contre les attaques à base d'URL que + fournit le mandataire est alors supprimée.

+ +

Par défaut, mod_proxy inclut la chaîne de paramètres lors de la + génération de la variable d'environnement + SCRIPT_FILENAME. Le mot-clé optionnel noquery + (disponible à partir de la version 2.4.1) permet d'exclure cette + chaîne.

+ +

Lorsque la directive ProxyPass est utilisée à l'intérieur d'une + section <Location>, le premier argument est omis et le répertoire + local est obtenu à partir de la section <Location>. Il en sera de même dans une + section <LocationMatch> ; cependant, ProxyPass + n'interprète pas les expressions rationnelles, et il sera ici + nécessaire d'utiliser la directive + ProxyPassMatch à la place.

+ +

Cette directive ne peut pas être placée dans une section + <Directory> ou + <Files>.

+ +

Si vous avez besoin d'un configuration de mandataire inverse plus + souple, reportez-vous à la documentaion de la directive RewriteRule et son drapeau + [P].

+ +

Le mot-clé optionnel interpolate, en combinaison avec la directive + ProxyPassInterpolateEnv, permet à ProxyPass + d'interpoler les variables d'environnement à l'aide de la syntaxe + ${VARNAME}. Notez que de nombreuses variables + d'environnement standard dérivées de CGI n'existeront pas lorsque + l'interpolation se produit ; vous devrez alors encore avoir avoir + recours à mod_rewrite pour des règles + complexes. Notez aussi que l'interpolation n'est supportée dans + la partie protocole/hostname/port d'une URL que pour les variables qui sont + disponibles au moment où la directive est interprétée (comme pour la + directive Define). La détermination + dynamique de ces champs peut être effectuée à l'aide de + mod_rewrite, et l'exemple suivant décrit comment utiliser + mod_rewrite pour définir dynamiquement le protocole à http + ou https :

+ +
RewriteEngine On
+
+RewriteCond "%{HTTPS}" =off
+RewriteRule "". "-" [E=protocol:http]
+RewriteCond "%{HTTPS}" =on
+RewriteRule "." "-" [E=protocol:https]
+
+RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P]
+ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse  "/mirror/foo/" "https://backend.example.com/"
+ + +

Promotion de + protocole

+

Depuis la version 2.4.47 du serveur HTTP Apache, la promotion de + protocole (tunneling) peut être géré bout à bout par + mod_proxy_http en utilisant le paramètre upgrade.

+

Bout à bout signifie que la requête de promotion de protocole en + provenance du client/navigateur est tout d'abord transmise par + mod_proxy_http au serveur origine et que le protocole de + la connexion ne sera modifié (et « tunnelisé Â» par + mod_proxy_http) que si le serveur origine accepte/initie + la promotion (réponse HTTP 101 Switching Protocols). Si le + serveur origine renvoie une réponse différente, + mod_proxy_http continuera la transmission en utilisant + (et en forçant) le protocole HTTP habituel pour cette connexion.

+

Voir Promotion de protocole vers Websocket + (versions 2.4.47 et ultérieures) pour un exemple de configuration qui + utilisemod_proxy_http.

+

Avec les versions 2.4.46 et antérieures du serveur HTTP Apache (ou si + la directive ProxyWebsocketFallbackToProxyHttp + des versions 2.4.48 et ultérieures désactive la prise en charge par + mod_proxy_http), voir la documentation de + mod_proxy_wstunnel pour la méthode permettant de mandater + le protocole WebSocket.

+
+ + +
+
top
+

Directive ProxyPassInherit

+ + + + + + + + +
Description:Héritage des directives ProxyPass définies au niveau du +serveur principal
Syntaxe:ProxyPassInherit On|Off
Défaut:ProxyPassInherit On
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible à partir de la version 2.4.5 du serveur +HTTP Apache.
+

Cette directive permet à un serveur virtuel d'hériter des + directives ProxyPass définies + au niveau du serveur principal. Si vous utilisez la fonctionnalité de + modifications dynamiques du Balancer Manager, cette directive peut + causer des problèmes et des comportements inattendus et doit donc + être désactivée.

+

Les valeurs définies au niveau du serveur principal + constituent les valeurs par défaut pour tous les serveurs virtuels.

+

La désactivation de ProxyPassInherit désactive aussi la + directive BalancerInherit.

+ +
+
top
+

Directive ProxyPassInterpolateEnv

+ + + + + + + + +
Description:Active l'interpolation des variables d'environnement dans +les configurations de mandataires inverses
Syntaxe:ProxyPassInterpolateEnv On|Off
Défaut:ProxyPassInterpolateEnv Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible depuis la version 2.2.9 d'Apache
+

Cette directive, ainsi que l'argument interpolate des + directives ProxyPass, + ProxyPassReverse, + ProxyPassReverseCookieDomain et + ProxyPassReverseCookiePath, permet de + configurer dynamiquement un mandataire inverse à l'aide de + variables d'environnement, ces dernières pouvant être définies par un + autre module comme mod_rewrite. Elle affecte les + directives ProxyPass, + ProxyPassReverse, + ProxyPassReverseCookieDomain, et + ProxyPassReverseCookiePath, en leur indiquant + de remplacer la chaîne ${nom_var} dans les directives + de configuration par la valeur de la variable d'environnement + nom_var (si l'option interpolate est + spécifiée).

+

La partie protocole/hostname/port de ProxyPass + peut contenir des variables, mais seulement celles qui sont accessibles au + moment où la directive est interprétée (similairement à la directive + Define). Pour tous les autres cas, + utilisez plutôt mod_rewrite.

+

Avertissement concernant les performances

+

Laissez cette directive à off, à moins que vous n'en ayez réellemnt + besoin ! Par exemple, ajouter des variables à + ProxyPass peut entraîner l'utilisation des serveurs + d'arrière-plan de mod_proxy configurés par défaut, et ceux-ci ne permettent + pas un réglage fin comme la réutilisation des connexions, entre + autres...).

+ +
+
top
+

Directive ProxyPassMatch

+ + + + + + +
Description:Fait correspondre des serveurs distants dans l'espace d'URL +du serveur local en utilisant des expressions rationnelles
Syntaxe:ProxyPassMatch [regex] !|url +[clé=valeur + [clé=valeur ...]]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
+

Cette directive est identique à la directive ProxyPass, mais fait usage des + expressions rationnelles, au lieu d'une simple comparaison de + préfixes. L'expression rationnelle spécifiée est comparée à + l'url, et si elle correspond, le serveur va substituer + toute correspondance entre parenthèses dans la chaîne donnée et + l'utiliser comme nouvelle url.

+ +
Note : Cette directive ne peut pas être + utilisée dans un contexte de niveau répertoire.
+ +

Supposons que le serveur local a pour adresse + http://example.com/ ; alors

+ +
ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com/$1"
+ + +

va provoquer la conversion interne de la requête locale + http://example.com/foo/bar.gif en une requête mandatée + pour http://backend.example.com/foo/bar.gif.

+ +

Note

+

L'argument URL doit pouvoir être interprété en tant qu'URL + avant les substitutions d'expressions rationnelles (et + doit aussi l'être après). Ceci limite les correspondances que vous + pouvez utiliser. Par exemple, si l'on avait utilisé

+
        ProxyPassMatch "^(/.*\.gif)$"
+	"http://backend.example.com:8000$1"
+ +

dans l'exemple précédent, nous aurions provoqué une erreur de + syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans + ASF bugzilla), et il est possible de la contourner en reformulant + la correspondance :

+
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"
+ +
+ +

Le drapeau ! vous permet de ne pas mandater un + sous-répertoire donné.

+ +

Dans une section <LocationMatch>, le premier argument est + omis et l'expression rationnelle est obtenue à partir de la directive + <LocationMatch>.

+ +

Si vous avez besoin d'une configuration du mandataire inverse + plus flexible, voyez la directive RewriteRule avec le drapeau + [P].

+ +
+

Substitution par défaut

+

Lorsque le paramètre URL n'utilise pas de références arrières + dans l'expression rationnelle, l'URL originale sera ajoutée au + paramètre URL. +

+
+ +
+

Avertissement à propos de la sécurité

+

Lors de la construction de l'URL cible de la règle, il convient + de prendre en compte l'impact en matière de sécurité qu'aura le + fait de permettre au client d'influencer le jeu d'URLs pour + lesquelles votre serveur agira en tant que mandataire. + Assurez-vous que la partie protocole://nom-serveur de l'URL soit + fixe, ou ne permette pas au client de l'influencer induement.

+
+ +
+
top
+

Directive ProxyPassReverse

+ + + + + + +
Description:Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée +par un serveur mandaté en inverse
Syntaxe:ProxyPassReverse [chemin] url +[interpolate]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
+

Cette directive permet de faire en sorte qu'Apache httpd ajuste l'URL + dans les en-têtes Location, + Content-Location et URI des réponses de + redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilisé en + tant que mandataire inverse (ou passerelle), afin d'éviter de + court-circuiter le mandataire inverse suite aux redirections HTTP + sur le serveur d'arrière-plan qui restent derrière le mandataire + inverse.

+ +

Seuls les en-têtes de réponse HTTP spécialement mentionnés + ci-dessus seront réécrits. Apache httpd ne réécrira ni les autres en-têtes + de réponse, ni par défaut les références d'URLs dans les pages HTML. Cela + signifie que dans le cas où un contenu mandaté contient des + références à des URLs absolues, elles court-circuiteront le + mandataire. Pour réécrire un contenu HTML afin qu'il corresponde au + mandataire, vous devez charger et activer le module + mod_proxy_html. +

+ +

chemin est le nom d'un chemin virtuel local. + url est une URL partielle pour le serveur distant. Ces + paramètres s'utilisent de la même façon qu'avec la + directive ProxyPass.

+ +

Supposons par exemple que le serveur local a pour adresse + http://example.com/ ; alors

+ +
ProxyPass         "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverseCookieDomain  "backend.example.com" "public.example.com"
+ProxyPassReverseCookiePath  "/"  "/mirror/foo/"
+ + +

ne va pas seulement provoquer la conversion interne d'une requête + locale pour http://example.com/mirror/foo/bar en une + requête mandatée pour http://backend.example.com/bar + (la fonctionnalité fournie par ProxyPass). Il va + aussi s'occuper des redirections que le serveur + backend.example.com envoie lorsqu'il redirige + http://backend.example.com/bar vers + http://backend.example.com/quux. Apache + httpd corrige ceci en http://example.com/mirror/foo/quux + avant de faire suivre la redirection HTTP au client. Notez que le + nom d'hôte utilisé pour construire l'URL est choisi en respectant la + définition de la directive UseCanonicalName.

+ +

Notez que la directive ProxyPassReverse + peut aussi être utilisée en conjonction avec la + fonctionnalité de mandataire + (RewriteRule ... [P]) du module + mod_rewrite, car elle ne dépend pas d'une directive + ProxyPass + correspondante.

+ +

Le mot-clé optionnel interpolate, en combinaison avec la + directive ProxyPassInterpolateEnv, + permet l'interpolation des variables d'environnement spécifiées en utilisant + le format ${VARNAME} Notez que l'interpolation n'est pas + supportée dans la partie protocole d'une URL.

+ +

Lorsque cette directive est utilisée dans une section <Location>, le premier + argument est omis et le répertoire local est obtenu à partir de + l'argument de la directive <Location>. Il en est de même à l'intérieur + d'une section <LocationMatch>, mais le résultat ne sera + probablement pas celui attendu car ProxyPassReverse va interpréter + l'expression rationnelle littéralement comme un chemin ; si besoin + est dans ce cas, définissez la directive ProxyPassReverse en dehors + de la section, ou dans une section <Location> séparée.

+ +

Cette directive ne peut pas être placée dans une section + <Directory> ou + <Files>.

+ +
+
top
+

Directive ProxyPassReverseCookieDomain

+ + + + + + +
Description:Ajuste la chaîne correspondant au domaine dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté
Syntaxe:ProxyPassReverseCookieDomain domaine-interne +domaine-public [interpolate]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
+

L'utilisation de cette directive est similaire à celle de la +directive ProxyPassReverse, +mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle +réécrit la chaîne correspondant au domaine dans les en-têtes +Set-Cookie.

+ +
+
top
+

Directive ProxyPassReverseCookiePath

+ + + + + + +
Description:Ajuste la chaîne correspondant au chemin dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté
Syntaxe:ProxyPassReverseCookiePath chemin-interne +chemin-public [interpolate]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
+

+Cette directive s'avère utile en conjonction avec la directive +ProxyPassReverse dans les +situations où les chemins d'URL d'arrière-plan correspondent à des +chemins publics sur le mandataire inverse. Cette directive permet de +réécrire la chaîne path dans les en-têtes +Set-Cookie. Si le début du chemin du cookie correspond à +chemin-interne, le chemin du cookie sera remplacé par +chemin-public. +

+Dans l'exemple fourni avec la directive ProxyPassReverse, la directive : +

+
ProxyPassReverseCookiePath  "/"  "/mirror/foo/"
+ +

+va réécrire un cookie possédant un chemin d'arrière-plan / +(ou /example ou en fait tout chemin) +en /mirror/foo/.. +

+ +
+
top
+

Directive ProxyPreserveHost

+ + + + + + + + +
Description:Utilise l'en-tête de requête entrante Host pour la requête +du mandataire
Syntaxe:ProxyPreserveHost On|Off
Défaut:ProxyPreserveHost Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:Utilisable +dans un contexte de répertoire depuis la version 2.3.3.
+

Lorsqu'elle est activée, cette directive va transmettre l'en-tête + Host: de la requête entrante vers le serveur mandaté, au lieu + du nom d'hôte spécifié par la directive ProxyPass.

+ +

Cette directive est habituellement définie à Off. + Elle est principalement utile dans les configurations particulières + comme l'hébergement virtuel mandaté en masse à base de nom, où + l'en-tête Host d'origine doit être évalué par le serveur + d'arrière-plan.

+ +
+
top
+

Directive ProxyReceiveBufferSize

+ + + + + + + +
Description:Taille du tampon réseau pour les connexions mandatées HTTP +et FTP
Syntaxe:ProxyReceiveBufferSize octets
Défaut:ProxyReceiveBufferSize 0
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

La directive ProxyReceiveBufferSize permet + de spécifier une taille de tampon réseau explicite (TCP/IP) pour les + connexions mandatées HTTP et FTP, afin d'améliorer le débit de + données. Elle doit être supérieure à 512 ou définie à + 0 pour indiquer que la taille de tampon par défaut du + système doit être utilisée.

+ +

Exemple

ProxyReceiveBufferSize 2048
+
+ +
+
top
+

Directive ProxyRemote

+ + + + + + +
Description:Mandataire distant à utiliser pour traiter certaines +requêtes
Syntaxe:ProxyRemote comparaison serveur-distant
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

Cette directive permet de définir des mandataires distants pour + ce mandataire. comparaison est soit le nom d'un protocole + que supporte le serveur distant, soit une URL partielle pour + laquelle le serveur distant devra être utilisé, soit * + pour indiquer que le serveur distant doit être utilisé pour toutes + les requêtes. serveur-distant est une URL partielle + correspondant au serveur distant. Syntaxe :

+ +

+ serveur-distant = + protocole://nom-serveur[:port] +

+ +

protocole est effectivement le protocole à utiliser + pour communiquer avec le serveur distant ; ce module ne supporte que + http et https. Lorsqu'on utilise + https, les requêtes sont redirigées par le mandataire + distant en utilisant la méthode HTTP CONNECT.

+ +

Exemple

ProxyRemote "http://goodguys.example.com/" "http://mirrorguys.example.com:8000"
+ProxyRemote "*" "http://cleverproxy.localdomain"
+ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"
+
+ +

Dans la dernière ligne de l'exemple, le mandataire va faire + suivre les requêtes FTP, encapsulées dans une autre requête mandatée + HTTP, vers un autre mandataire capable de les traiter.

+ +

Cette directive supporte aussi les configurations de mandataire + inverse ; un serveur web d'arrière-plan peut être intégré dans + l'espace d'URL d'un serveur virtuel, même si ce serveur est caché + par un autre mandataire direct.

+ +
+
top
+

Directive ProxyRemoteMatch

+ + + + + + +
Description:Le mandataire distant à utiliser pour traiter les requêtes +correspondant à une expression rationnelle
Syntaxe:ProxyRemoteMatch regex serveur-distant
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

La directive ProxyRemoteMatch est + identique à la directive ProxyRemote, à l'exception du + premier argument qui est une expression + rationnelle à mettre en correspondance avec l'URL de la + requête.

+ +
+
top
+

Directive ProxyRequests

+ + + + + + + +
Description:Active la fonctionnalité (standard) de mandataire +direct
Syntaxe:ProxyRequests On|Off
Défaut:ProxyRequests Off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

Cette directive permet d'activer/désactiver la fonctionnalité de + serveur mandataire direct d'Apache httpd. Définir ProxyRequests à + Off n'interdit pas l'utilisation de la directive + ProxyPass.

+ +

Pour une configuration typique de mandataire inverse ou + passerelle, cette directive doit être définie à + Off.

+ +

Afin d'activer la fonctionnalité de mandataire pour des sites + HTTP et/ou FTP, les modules mod_proxy_http et/ou + mod_proxy_ftp doivent également être chargés dans le + serveur.

+ +

Pour activer la fonctionnalité de mandataire sur les sites chiffrés en HTTPS, le module + mod_proxy_connect doit également être chargé dans le serveur.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avec la directive + ProxyRequests avant + d'avoir sécurisé votre serveur. Les serveurs + mandataires ouverts sont dangereux non seulement pour votre + réseau, mais aussi pour l'Internet au sens large.

+
+ +

Voir aussi

+ +
+
top
+

Directive ProxySet

+ + + + + + + +
Description:Définit différents paramètres relatifs à la répartition de +charge des mandataires et aux membres des groupes de répartition de +charge
Syntaxe:ProxySet url clé=valeur [clé=valeur ...]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy
Compatibilité:ProxySet n'est disponible que depuis la version 2.2 +du serveur HTTP Apache.
+

Cette directive propose une méthode alternative pour définir tout + paramètre relatif aux répartiteurs de charge et serveurs cibles de + mandataires normalement définis via la directive ProxyPass. Si elle se trouve dans un + conteneur <Proxy url de répartiteur|url de + serveur cible>, l'argument url n'est pas + nécessaire. Comme effet de bord, le répartiteur ou serveur cible respectif + est créé. Ceci peut s'avérer utile pour la mise en oeuvre d'un + mandataire inverse via une directive RewriteRule au lieu de ProxyPass.

+ +
<Proxy "balancer://hotcluster">
+    BalancerMember "http://www2.example.com:8080" loadfactor=1
+    BalancerMember "http://www3.example.com:8080" loadfactor=2
+    ProxySet lbmethod=bytraffic
+</Proxy>
+
+ +
<Proxy "http://backend">
+    ProxySet keepalive=On
+</Proxy>
+ + +
ProxySet "balancer://foo" lbmethod=bytraffic timeout=15
+ + +
ProxySet "ajp://backend:7001" timeout=15
+ + +

Avertissement

+

Gardez à l'esprit qu'une même clé de paramètre peut avoir + différentes significations selon qu'elle s'applique à un + répartiteur ou à un serveur cible, et ceci est illustré par les deux + exemples précédents où il est question d'un timeout.

+
+ + +
+
top
+

Directive ProxySourceAddress

+ + + + + + + +
Description:Définit l'adresse IP locale pour les connexions mandatées +sortantes
Syntaxe:ProxySourceAddress adresse
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible depuis la version 2.3.9
+

Cette directive permet de définir une adresse IP locale + spécifique à laquelle faire référence lors d'une connexion à un + serveur d'arrière-plan.

+ + +
+
top
+

Directive ProxyStatus

+ + + + + + + + +
Description:Affiche l'état du répartiteur de charge du mandataire dans +mod_status
Syntaxe:ProxyStatus Off|On|Full
Défaut:ProxyStatus Off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
Compatibilité:Disponible depuis la version 2.2 d'Apache
+

Cette directive permet de spécifier si les données d'état du + répartiteur de charge du mandataire doivent être affichées via la + page d'état du serveur du module mod_status.

+

Note

+

L'argument Full produit le même effet que + l'argument On.

+
+ + +
+
top
+

Directive ProxyTimeout

+ + + + + + + +
Description:Délai d'attente réseau pour les requêtes +mandatées
Syntaxe:ProxyTimeout secondes
Défaut:Valeur de la directive Timeout
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

Cette directive permet à l'utilisateur de spécifier un délai pour + les requêtes mandatées. Ceci s'avère utile dans le cas d'un serveur + d'applications lent et bogué qui a tendance à se bloquer, et si vous + préférez simplement renvoyer une erreur timeout et abandonner la + connexion en douceur plutôt que d'attendre jusqu'à ce que le serveur + veuille bien répondre.

+ +
+
top
+

Directive ProxyVia

+ + + + + + + +
Description:Information fournie dans l'en-tête de réponse HTTP +Via pour les requêtes mandatées
Syntaxe:ProxyVia On|Off|Full|Block
Défaut:ProxyVia Off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy
+

Cette directive permet de contrôler l'utilisation de l'en-tête + HTTP Via: par le mandataire. Le but recherché est de + contrôler le flux des requêtes mandatées tout au long d'une chaîne + de serveurs mandataires. Voir RFC 2616 (HTTP/1.1), + section 14.45 pour une description des lignes d'en-tête + Via:.

+ +
    +
  • Si elle est définie à Off, valeur par défaut, cette + directive n'effectue aucun traitement particulier. Si une requête ou + une réponse contient un en-tête Via:, il est transmis + sans modification.
  • + +
  • Si elle est définie à On, chaque requête ou réponse + se verra ajouter une ligne d'en-tête Via: pour le + serveur courant.
  • + +
  • Si elle est définie à Full, chaque ligne d'en-tête + Via: se verra ajouter la version du serveur Apache + httpd sous la forme d'un champ de commentaire Via:.
  • + +
  • Si elle est définie à Block, chaque requête + mandatée verra ses lignes d'en-tête Via: supprimées. + Aucun nouvel en-tête Via: ne sera généré.
  • +
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy.html.ja.utf8 b/docs/manual/mod/mod_proxy.html.ja.utf8 new file mode 100644 index 0000000..0de94ef --- /dev/null +++ b/docs/manual/mod/mod_proxy.html.ja.utf8 @@ -0,0 +1,1288 @@ + + + + + +mod_proxy - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_proxy

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:HTTP/1.1 プロキシ/ゲートウェイサーãƒ
ステータス:Extension
モジュール識別å­:proxy_module
ソースファイル:mod_proxy.c
+

概è¦

+ +

警告

+

サーãƒã‚’安全ã«ã™ã‚‹ã¾ã§ ProxyRequests ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。 + オープンプロキシサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚〠+ インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚

+
+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ Apache ã®ãƒ—ロキシ/ゲートウェイ機能を実装ã—ã¦ã„ã¾ã™ã€‚ + AJP13 (Apache JServe Protocol version 1.3), + FTP, CONNECT (SSL 用), + HTTP/0.9, HTTP/1.0, HTTP/1.1 + ã®ãƒ—ロキシ機能を実装ã—ã¦ã„ã¾ã™ã€‚ã“れらã®ãƒ—ロトコルやãã®ä»–ã®ãƒ—ロトコル用㮠+ プロキシ機能をæŒã£ãŸã€ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«æŽ¥ç¶šã™ã‚‹ã‚ˆã†ã«ã‚‚設定ã§ãã¾ã™ã€‚

+ +

Apache ã®ãƒ—ロキシ機能㯠mod_proxy ã®ä»–ã«ã€ + ã„ãã¤ã‹ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«åˆ†å‰²ã•ã‚Œã¦ã„ã¾ã™: + mod_proxy_http, mod_proxy_ftp, + mod_proxy_ajp, mod_proxy_balancer, + mod_proxy_connect ã§ã™ã€‚ã§ã™ã‹ã‚‰ã€ + 特定ã®ãƒ—ロキシã®æ©Ÿèƒ½ã‚’使ã„ãŸã„å ´åˆã¯ã€mod_proxy 㨠+ 該当ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’サーãƒã« (コンパイル時ã«é™çš„ã«è¡Œãªã†ã‹ + LoadModule ã§å‹•çš„ã«èª­ã¿è¾¼ã‚€ã‹ã—ã¦) + 組ã¿è¾¼ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

ã“ã‚Œã«åŠ ãˆã¦ã€ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã£ã¦æ‹¡å¼µæ©Ÿèƒ½ãŒæä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚ + キャッシュ㯠mod_cache ã¨é–¢é€£ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ + æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚SSL/TLS ã§é éš”サーãƒã«æŽ¥ç¶šã™ã‚‹æ©Ÿèƒ½ã¯ + mod_ssl ã® SSLProxy* ディレクティブ㧠+ æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚ã“れらã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹ãŸã‚ã«ã¯ã€è©²å½“ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ + 組ã¿è¾¼ã‚“ã§è¨­å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
+ +
top
+
+

フォワードプロキシã¨ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシ

+

Apache ã¯ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシã¨ã—ã¦ã‚‚〠+ リãƒãƒ¼ã‚¹ãƒ—ロキシã¨ã—ã¦ã‚‚設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

通常ã®ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ + オリジンサーム(訳注: コンテンツ生æˆå…ƒã®ã‚µãƒ¼ãƒ) + ã®é–“ã«ä½ç½®ã™ã‚‹ä¸­é–“サーãƒã§ã™ã€‚ + オリジンサーãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å–å¾—ã™ã‚‹éŽç¨‹ã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ + è¡Œãå…ˆã¨ã—ã¦ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã‚’指定ã—ã¤ã¤ãƒ—ロキシã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚Šã€ + プロキシã¯ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„å–å¾—ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚Šã€ + コンテンツãŒå–å¾—ã§ãã‚Œã°ãれをクライアントã«è¿”ã—ã¾ã™ã€‚ + クライアントãŒä»–ã®ã‚µã‚¤ãƒˆã«ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロクシ経由ã§ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯ã€ + 特別ã«ãれ用ã®è¨­å®šã‚’ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

フォワードプロキシã®ä¸€èˆ¬çš„ãªä½¿ç”¨æ–¹æ³•ã¯ã€ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã«ã‚ˆã£ã¦ + 制é™ã•ã‚Œã¦ã„る内部ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’ + æä¾›ã™ã‚‹ã‚‚ã®ã§ã™ã€‚フォワードプロキシã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ä½¿ç”¨é‡ã‚’ + 減らã™ãŸã‚ã« (mod_cache ã§æä¾›ã•ã‚Œã¦ã„ã‚‹) + キャッシュ機能を用ã„ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

フォワードプロキシ㯠ProxyRequests ディレクティブ㧠+ 有効ã«ãªã‚Šã¾ã™ã€‚フォワードプロキシã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æœ¬å½“ã®èº«å…ƒã‚’ + éš ã—ã¦ä»»æ„ã®ã‚µã‚¤ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚‹ãŸã‚ã€ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシを + 有効ã«ã™ã‚‹å‰ã«ã€æ‰¿èªã•ã‚ŒãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ã¿ãŒãƒ—ロキシã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã« + サーãƒã‚’安全ã«ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚

+ +

一方リãƒãƒ¼ã‚¹ãƒ—ロキシã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã¯æ™®é€šã® + ウェブサーãƒã®ã‚ˆã†ã«è¦‹ãˆã¾ã™ã€‚クライアントå´ã«ç‰¹åˆ¥ãªè¨­å®šã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。 + クライアントã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®åå‰ç©ºé–“ã«å¯¾ã—ã¦é€šå¸¸ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¸ã® + リクエストを行ãªã„ã¾ã™ã€‚プロキシã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã©ã“ã«é€ã‚Œã°è‰¯ã„ã‹ã‚’判定ã—〠+ ã‚ãŸã‹ã‚‚自分自身ãŒã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã§ã‚ã£ãŸã‹ã®ã‚ˆã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« + コンテンツを返ã—ã¾ã™ã€‚

+ +

リãƒãƒ¼ã‚¹ãƒ—ロキシã®ã‚ˆãã‚る利用方法ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆãƒ¦ãƒ¼ã‚¶ã« + ファイアウォールã®ä¸­ã«ã‚るサーãƒã«ã‚¢ã‚¯ã‚»ã‚¹ã‚’与ãˆã‚‹ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚ + リãƒãƒ¼ã‚¹ãƒ—ロキシã¯è¤‡æ•°ã®ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¸è² è·åˆ†æ•£ã‚’ã™ã‚‹ãŸã‚ã« + 使ã£ãŸã‚Šã€é…ã„ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã®ãŸã‚ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ã‚’æä¾›ã—ãŸã‚Š + ã™ã‚‹ãŸã‚ã«ä½¿ãˆã¾ã™ã€‚ã¾ãŸã€ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã¯è¤‡æ•°ã®ã‚µãƒ¼ãƒã‚’ + åŒã˜ URL 空間ã«ã¾ã¨ã‚ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ +

リãƒãƒ¼ã‚¹ãƒ—ロキシ㯠ProxyPass ディレクティブや + RewriteRule ディレクティブ㮠+ [P] フラグを使ã†ã“ã¨ã§æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚リãƒãƒ¼ã‚¹ãƒ—ロキシ㮠+ 設定ã®ãŸã‚ã« ProxyRequests を設定ã™ã‚‹å¿…è¦ã¯ + ã‚ã‚Šã¾ã›ã‚“。

+
top
+
+

基本ã®ä¾‹

+ +

以下ã®ä¾‹ã¯æ‰‹å§‹ã‚ã®ç°¡å˜ãªä¾‹ã§ã™ã€‚個々ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®æ„味㯠+ ãã‚Œãžã‚Œã®èª¬æ˜Žã‚’ãŠèª­ã¿ãã ã•ã„。

+ +

ã¾ãŸã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ã‚’有効ã«ã—ãŸã„å ´åˆã¯ã€mod_cache + ã®èª¬æ˜Žã‚’読んã§ãã ã•ã„。

+ +

フォワードプロキシ

+ ProxyRequests On
+ ProxyVia On
+
+ <Proxy *>
+ + Order deny,allow
+ Deny from all
+ Allow from internal.example.com
+
+ </Proxy> +

+ +

リãƒãƒ¼ã‚¹ãƒ—ロキシ

+ ProxyRequests Off
+
+ <Proxy *>
+ + Order deny,allow
+ Allow from all
+
+ </Proxy>
+
+ ProxyPass /foo http://foo.example.com/bar
+ ProxyPassReverse /foo http://foo.example.com/bar +

+
top
+
+

プロキシã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡

+

プロキシã®ã‚¢ã‚¯ã‚»ã‚¹ã¯ä»¥ä¸‹ã®ã‚ˆã†ã« <Proxy> コンテナã®ä¸­ã« + ディレクティブを書ãã“ã¨ã§åˆ¶å¾¡ã§ãã¾ã™:

+ +

+ <Proxy *>
+ + Order Deny,Allow
+ Deny from all
+ Allow from 192.168.0
+
+ </Proxy> +

+ +

アクセス制御ã®ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã‚ˆã‚Šè©³ã—ã„情報㯠+ mod_authz_host ã‚’ãŠèª­ã¿ãã ã•ã„。

+ +

(ProxyRequests ディレクティブを + 使ã£ã¦) フォワードプロキシを設定ã—ã¦ã„ã‚‹å ´åˆã¯ã€åŽ³ã—ãアクセス + 制é™ã‚’è¡Œãªã†ã“ã¨ãŒéžå¸¸ã«å¤§åˆ‡ã§ã™ã€‚ãã†ã—ãªã„ã¨ã€ä»»æ„ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ + 身元を明ã‹ã™ã“ã¨ãªãä»»æ„ã®ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ã‚µãƒ¼ãƒã‚’使ã†ã“ã¨ãŒ + ã§ãã¦ã—ã¾ã„ã¾ã™ã€‚ã“ã‚Œã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆ + 全体ã«ã¨ã£ã¦ã‚‚å±é™ºãªã“ã¨ã§ã™ã€‚(ProxyRequests Off ã«ã—㦠+ ProxyPass ディレクティブを使ã£ã¦) + リãƒãƒ¼ã‚¹ãƒ—ロキシを使ã£ã¦ã„ã‚‹å ´åˆã«ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ã‚ãªãŸãŒæ˜Žç¤ºçš„ã« + 設定ã—ãŸãƒ›ã‚¹ãƒˆã«ã—ã‹ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„ãŸã‚ã€ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシã®ã¨ã + ã»ã©ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã«åŠ›ã‚’注ãŒãªãã¦ã‚‚大丈夫ã§ã™ã€‚

+ +
top
+
+

é…ã„èµ·å‹•

+

ProxyBlock ディレクティブを使ã£ã¦ã„ã‚‹å ´åˆã€ + 後ã®ãƒ†ã‚¹ãƒˆã®ãŸã‚ã«èµ·å‹•æ™‚ã«ãƒ›ã‚¹ãƒˆã® + IP アドレスãŒèª¿ã¹ã‚‰ã‚Œã¦ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¾ã™ã€‚ホストåã®ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—ã® + 速ã•ã«ã‚ˆã£ã¦ã¯ã€æ•°ç§’ (ã‹ãれ以上) ã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+
top
+
+

イントラãƒãƒƒãƒˆãƒ—ロキシ

+

イントラãƒãƒƒãƒˆã«ã‚ã‚‹ Apache プロキシサーãƒã¯å¤–部ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + 会社ã®ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã‚’通ã—ã¦é€ã‚‰ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。(ã“ã®ãŸã‚ã«ã¯ + 個々㮠scheme ã«ã¤ã„ã¦ãã‚Œãžã‚Œã€ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã® + プロキシã«ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã•ã‚Œã‚‹ã‚ˆã†ã« + ProxyRemote ディレクティブを + 設定ã—ã¦ãã ã•ã„)。ã—ã‹ã—イントラãƒãƒƒãƒˆå†…ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ãã¯ã€ + ファイアウォールを通ã•ãªã„ã§ã‚‚アクセスã§ãã¾ã™ã€‚ + ã©ã®ãƒ›ã‚¹ãƒˆãŒã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆã«å±žã—ã€ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã¹ãã‹ã‚’指定ã™ã‚‹ã«ã¯ã€ + NoProxy ディレクティブ㌠+ å½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +

イントラãƒãƒƒãƒˆå†…ã®ãƒ¦ãƒ¼ã‚¶ã¯ WWW ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ãƒ­ãƒ¼ã‚«ãƒ«ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’ + çœç•¥ã™ã‚‹ã“ã¨ãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚http://somehost.example.com/ + ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ä»£ã‚ã‚Šã« "http://somehost/" をリクエストã—ãŸã‚Šã—ã¾ã™ã€‚ + ã“ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘付ã‘ã€ã‚µãƒ¼ãƒã«è¨­å®šã•ã‚Œã¦ã„るローカルドメイン㌠+ æš—é»™ã®ã†ã¡ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹ã¨è§£é‡ˆã—ã¦ã€å˜ç´”ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã™ã‚‹ã‚‚ã®ã‚‚ + 商用プロキシサーãƒã®ä¸­ã«ã¯ã‚ã‚Šã¾ã™ã€‚ + サーãƒãŒ プロキシã®ã‚µãƒ¼ãƒ“ス用ã«è¨­å®šã•ã‚Œã¦ã„㦠+ ProxyDomain ディレクティブ㌠+ 使用ã•ã‚ŒãŸå ´åˆã«ã¯ã€Apache ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå¿œç­”ã‚’é€ã£ã¦ã€ + æ­£ã—ã„ã€å®Œå…¨ãª ((訳注: fully qualified)) + サーãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ã‚ˆã†ã« + リダイレクトã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ–ックマークãŒæ­£ã—ã„完全ãªãƒ›ã‚¹ãƒˆåã‚’å«ã‚€ + ã“ã¨ã«ã‚‚ãªã‚‹ãŸã‚ã€ã‚ˆã‚Šå¥½ã¾ã—ã„方法ã¨è¨€ãˆã‚‹ã§ã—ょã†ã€‚

+
top
+
+

プロトコルã®èª¿æ•´

+

Keepalive ã‚„ HTTP/1.1 ã‚’é©åˆ‡ã«å®Ÿè£…ã—ã¦ã„ãªã„アプリケーションサーãƒã«å¯¾ã—㦠+ mod_proxy ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã™ã‚‹å ´åˆã€ + HTTP/1.0 を使ã£ã¦ keepalive ã‚’ç„¡ã—ã«ã—ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹ã‚ˆã†ã«ã™ã‚‹ + 環境変数ãŒäºŒã¤ã‚ã‚Šã¾ã™ã€‚ã“れら㯠SetEnv ディレクティブã§è¨­å®šã—ã¾ã™ã€‚

+ +

force-proxy-request-1.0 㨠proxy-nokeepalive + ãŒãã®ç’°å¢ƒå¤‰æ•°ã§ã™ã€‚

+ +

+ <Location /buggyappserver/>
+ + ProxyPass http://buggyappserver:7001/foo/
+ SetEnv force-proxy-request-1.0 1
+ SetEnv proxy-nokeepalive 1
+
+ </Location> +

+ +
top
+
+

リクエストボディ

+ +

POST メソッドãªã©ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ãŒã‚ã‚Šã¾ã™ã€‚ + HTTP プロトコル仕様ã«ã‚ˆã‚‹ã¨ã€ãƒœãƒ‡ã‚£ã®ã‚るリクエスト㯠chunked + 転é€ã‚’使ã†ã‹ã€Content-Length + ヘッダをé€ä¿¡ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ã“ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’オリジンサーãƒã«é€ä¿¡ã™ã‚‹å ´åˆã€ + mod_proxy_http ã¯å¸¸ã« Content-Length + ã‚’é€ã‚ã†ã¨è©¦ã¿ã¾ã™ã€‚ã—ã‹ã—。ボディãŒå¤§ããã€ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ + chunked 転é€ãŒä½¿ã‚ã‚Œã¦ã„ã‚‹å ´åˆã€ä¸Šæµã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã« + chunked 転é€ã‚‚使ã‚ã‚Œã¾ã™ã€‚ + ã“ã®æŒ™å‹•ã¯ 環境変数ã§åˆ¶å¾¡ã§ãã¾ã™ã€‚ + proxy-sendcl を設定ã™ã‚‹ã¨ã€å¯èƒ½ãªé™ã‚Šå¸¸ã« + Content-Length を付与ã—ã¦ã€ + 上æµã‚µãƒ¼ãƒã«é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + 逆㫠proxy-sendchunked を設定ã™ã‚‹ã¨ã€ãƒªã‚½ãƒ¼ã‚¹æ¶ˆè²»ã‚’抑ãˆã€ + chnked エンコードを使ã£ã¦é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+ +
+
top
+

BalancerGrowth ディレクティブ

+ + + + + + + + +
説明:Number of additional Balancers that can be added Post-configuration
構文:BalancerGrowth #
デフォルト:BalancerGrowth 5
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:BalancerGrowth is only available in Apache HTTP Server 2.3.13 + and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

BalancerInherit ディレクティブ

+ + + + + + + + +
説明:Inherit ProxyPassed Balancers/Workers from the main server
構文:BalancerInherit On|Off
デフォルト:BalancerInherit On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:BalancerInherit is only available in Apache HTTP Server 2.4.5 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

BalancerMember ディレクティブ

+ + + + + + +
説明:Add a member to a load balancing group
構文:
コンテキスト:ディレクトリ
ステータス:Extension
モジュール:mod_proxy

Documentation not yet translated. Please see English version of document.

+
+
top
+

BalancerPersist ディレクティブ

+ + + + + + + + +
説明:Attempt to persist changes made by the Balancer Manager across restarts.
構文:BalancerPersist On|Off
デフォルト:BalancerPersist Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:BalancerPersist is only available in Apache HTTP Server 2.4.4 and later.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

NoProxy ディレクティブ

+ + + + + + +
説明:直接接続ã™ã‚‹ ホストã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯
構文:NoProxy host [host] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆä¸­ã® Apache プロキシサーãƒã«ã®ã¿ + 有用ã§ã™ã€‚NoProxy ディレクティブã¯ç©ºç™½åŒºåˆ‡ã‚Šã§ã€ + サブãƒãƒƒãƒˆã€IP アドレスã€ãƒ›ã‚¹ãƒˆã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚ + ã“れらã®ã©ã‚Œã‹ã«ãƒžãƒƒãƒã™ã‚‹ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ ProxyRemote ã§è¨­å®šã•ã‚ŒãŸãƒ—ロキシサーãƒã« + フォワードã•ã‚Œãšã€ç›´æŽ¥å‡¦ç†ã•ã‚Œã¾ã™ã€‚

+ +

例

+ ProxyRemote * http://firewall.mycompany.com:81
+ NoProxy .mycompany.com 192.168.112.0/21 +

+ +

NoProxy ディレクティブ㮠host 引数㯠+ 以下ã®ç¨®é¡žã®ã©ã‚Œã‹ã§ã™:

+ +
+ +
Domain
+
+

Domain ã¯å…ˆé ­ã«ãƒ”リオドã®ç€ã„ãŸéƒ¨åˆ† DNS ドメインåã§ã™ã€‚ + åŒä¸€ DNS ドメインåŠã³ã‚¾ãƒ¼ãƒ³ (ã™ãªã‚ã¡ã€ãƒ›ã‚¹ãƒˆåã®æœ«å°¾ãŒã™ã¹ã¦ + Domain ã§çµ‚ã‚ã£ã¦ã„ã‚‹ã¨ã„ã†ã“ã¨) ã«å±žã™ã‚‹ãƒ›ã‚¹ãƒˆã®ãƒªã‚¹ãƒˆã‚’ + 表ã—ã¾ã™)。

+ +

例

+ .com .apache.org. +

+ +

Domain ã‚’ Hostname ã¨åŒºåˆ¥ã™ã‚‹ãŸã‚ã« (æ„味的ã«ã‚‚構文的ã«ã‚‚。DNS ドメインも + DNS ã® A レコードをæŒã¤ã“ã¨ãŒã§ãã‚‹ã®ã§ã™!)ã€Domain 㯠+ 常ã«ãƒ”リオドã§å§‹ã¾ã‚Šã¾ã™ã€‚

+ +

注

+

ドメインåã®æ¯”較ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«è¡Œãªã‚ã‚Œã€Domain + ã¯å¸¸ã« DNS ツリーã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰å§‹ã¾ã‚‹ã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ + 次ã®äºŒã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ .MyDomain.com 㨠+ .mydomain.com. (最後ã®ãƒ”リオドã«æ³¨ç›®) ã¯åŒä¸€ã§ã‚る㨠+ ã¿ãªã•ã‚Œã¾ã™ã€‚ドメインã®æ¯”較㯠DNS ルックアップãªã—ã§è¡Œãªã‚れるãŸã‚〠+ サブãƒãƒƒãƒˆã®æ¯”較よりもãšã£ã¨åŠ¹çŽ‡çš„ã§ã™ã€‚

+
+ + +
SubNet
+
+

SubNet ã¯æ•°å€¤å½¢å¼ (ドットã§åŒºåˆ‡ã‚‰ã‚ŒãŸå››ã¤ã®æ•°å­—) ã® + 部分インターãƒãƒƒãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚後ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¨ Subnet + ã®æ„味ã®ã‚るビット数を指定ã™ã‚‹ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã¨ã‚’続ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 共通ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‚’使ã£ã¦åˆ°é”ã™ã‚‹ã“ã¨ã®ã§ãるサブãƒãƒƒãƒˆã‚’ + 表ã™ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚明示的ã«ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã‚’指定ã—ãªã„å ´åˆã¯ + 最後ã®çœç•¥ã•ã‚ŒãŸ (ã‚‚ã—ãã¯å€¤ãŒ 0 ã®) æ•°å­—ãŒãƒžã‚¹ã‚¯ã‚’指定ã—ã¾ã™ã€‚ + (ã“ã®å ´åˆã¯ã€ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã¯ 8 ビットå˜ä½ã§ã—ã‹æŒ‡å®šã§ãã¾ã›ã‚“。) + 例:

+ +
+
192.168 ã‚‚ã—ã㯠192.168.0.0
+
サブãƒãƒƒãƒˆ 192.168.0.0 ã¨æš—黙㮠16 ビット有効ãªãƒãƒƒãƒˆãƒžã‚¹ã‚¯ + (255.255.0.0 ã¨ã„ã†ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã®å½¢å¼ã§ä½¿ã‚れるã“ã¨ã‚‚ + ã‚ã‚Šã¾ã™)
+
192.168.112.0/21
+
サブãƒãƒƒãƒˆ192.168.112.0/21 㨠21 ビット有効㪠+ ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ (255.255.248.0 ã¨ã„ã†å½¢å¼ã§ä½¿ã‚れるã“ã¨ã‚‚ + ã‚ã‚Šã¾ã™)
+
+ +

特別ãªå ´åˆã«ã€32 ビット有効㪠SubNet 㯠+ IPAddr ã¨åŒç­‰ã§ã€ + 0 ビット有効㪠SubNet (例ãˆã°ã€0.0.0.0/0) 㯠+ ã™ã¹ã¦ã® IP アドレスã«ãƒžãƒƒãƒã™ã‚‹å®šæ•° _Default_ ã¨åŒã˜ã§ã™ã€‚

+
+ + +
IPAddr
+
+

IPAddr ã¯æ•°å€¤å½¢å¼ (ドットã§åŒºåˆ‡ã‚‰ã‚ŒãŸå››ã¤ã®æ•°å­—) ã® + 完全インターãƒãƒƒãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚通常ã¯ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ãƒ›ã‚¹ãƒˆã‚’ + 表ã—ã¾ã™ãŒã€å¿…ãšã—もアドレスã«å¯¾å¿œã™ã‚‹ DNS ドメインåãŒã‚ã‚‹ã‚ã‘ã§ã¯ + ã‚ã‚Šã¾ã›ã‚“。

+ +

例

+ 192.168.123.7 +

+ +

注

+

IPAddr 㯠DNS システムã«ã‚ˆã‚Šè§£æ±ºã•ã‚Œã‚‹å¿…è¦ãŒãªã„ã®ã§ã€ + apache ã®æ€§èƒ½ãŒå‘上ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+
+ + +
Hostname
+
+

Hostname 㯠DNS ドメインサービスã«ã‚ˆã‚Šä¸€ã¤ã‚‚ã—ã㯠+ 複数㮠IPAddr ã«è§£æ±ºå¯èƒ½ãª + 完全㪠DNS ドメインåã§ã™ã€‚ã“れ㯠(Domain + ã¨é•ã£ã¦ã€èª¬æ˜Žã¯ä¸Šè¨˜ã‚’å‚ç…§) è«–ç†çš„ãªãƒ›ã‚¹ãƒˆã‚’表ã—ã€å°‘ãã¨ã‚‚一ã¤ã® + IPAddr (ã‚‚ã—ãã¯é•ã† + IPAddr ã®ãƒ›ã‚¹ãƒˆã®ãƒªã‚¹ãƒˆ) ã«è§£æ±º + ã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“)。

+ +

例

+ prep.ai.mit.edu
+ www.apache.org +

+ +

注

+

多ãã®å ´åˆã€Hostname ã®ä»£ã‚ã‚Šã« IPAddr を指定ã—ãŸæ–¹ãŒã€DNS ルックアップを + é¿ã‘ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã€åŠ¹çŽ‡ãŒè‰¯ããªã‚Šã¾ã™ã€‚Apache ã®åå‰è§£æ±ºã¯ + ãƒãƒ¼ãƒ ã‚µãƒ¼ãƒã¸ã®æŽ¥ç¶šãŒé…ã„ PPP 上ã®å ´åˆãªã©ã«ã‹ãªã‚Šæ™‚é–“ã‚’å–られる + ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚

+

Hostname ã®æ¯”較ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«è¡Œãªã‚れ〠+ Hostname ã¯å¸¸ã« DNS ツリーã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰å§‹ã¾ã‚‹ã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€äºŒã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ WWW.MyDomain.com 㨠+ www.mydomain.com. (最後ã®ãƒ”リオドã«æ³¨ç›®) ã¯åŒä¸€ã§ã‚る㨠+ ã¿ãªã•ã‚Œã¾ã™ã€‚

+
+
+ +

å‚ç…§

+ +
+
top
+

<Proxy> ディレクティブ

+ + + + + + +
説明:プロキシã•ã‚Œã‚‹ãƒªã‚½ãƒ¼ã‚¹ã«é©ç”¨ã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒŠ
構文:<Proxy wildcard-url> ...</Proxy>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

<Proxy> セクション中㮠+ ディレクティブã¯ãƒžãƒƒãƒã™ã‚‹ãƒ—ロキシã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«ã®ã¿é©ç”¨ã•ã‚Œã¾ã™ã€‚ + シェル形å¼ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ãŒä½¿ãˆã¾ã™ã€‚

+ +

例ãˆã°ã€æ¬¡ã®è¨­å®šã¯ yournetwork.example.com ã® + ホストã«ã®ã¿ãƒ—ロキシサーãƒã‚’経由ã—ãŸã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã—ã¾ã™:

+ +

+ <Proxy *>
+ + Order Deny,Allow
+ Deny from all
+ Allow from yournetwork.example.com
+
+ </Proxy> +

+ +

次ã®ä¾‹ã¯ example.com ã® foo ディレクトリ㮠+ ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—ã¦ã€ãƒ—ロキシサーãƒã‚’通ã—ã¦é€ã‚‰ã‚ŒãŸã¨ãã«ã¯ + INCLUDES フィルタを通ã—ã¦é€ã‚‹ã‚ˆã†ã«è¨­å®šã—ã¾ã™:

+ +

+ <Proxy http://example.com/foo/*>
+ + SetOutputFilter INCLUDES
+
+ </Proxy> +

+ + + +
+
top
+

Proxy100Continue ディレクティブ

+ + + + + + + + +
説明:Forward 100-continue expectation to the origin server
構文:Proxy100Continue Off|On
デフォルト:Proxy100Continue On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:Available in version 2.4.40 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ProxyAddHeaders ディレクティブ

+ + + + + + + + +
説明:Add proxy information in X-Forwarded-* headers
構文:ProxyAddHeaders Off|On
デフォルト:ProxyAddHeaders On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:Available in version 2.3.10 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ProxyBadHeader ディレクティブ

+ + + + + + + + +
説明:応答ã«ãŠã‹ã—ãªãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹å ´åˆã®æ‰±ã„方を決ã‚ã‚‹
構文:ProxyBadHeader IsError|Ignore|StartBody
デフォルト:ProxyBadHeader IsError
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:2.0.44 以é™
+

ProxyBadHeader ディレクティブã¯æ§‹æ–‡çš„ã« + é–“é•ã£ãŸãƒ˜ãƒƒãƒ€ (ã¤ã¾ã‚Š コロンをå«ã¾ãªã„ã‚‚ã®) ã‚’å—ã‘å–ã£ãŸã¨ãã« + mod_proxy ãŒã©ã†æŒ¯ã‚‹èˆžã†ã‹ã‚’決ã‚ã¾ã™ã€‚以下ã®å¼•æ•°ã‚’ + å–ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +
+
IsError
+
リクエストを中止ã—㦠502 (Bad Gateway) 応答を返ã™ã€‚ + ã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å‹•ä½œã§ã™ã€‚
+ +
Ignore
+
é–“é•ã£ãŸãƒ˜ãƒƒãƒ€è¡Œã‚’ãã‚‚ãも存在ã—ãªã‹ã£ãŸã‚‚ã®ã¨ã—ã¦æ‰±ã†ã€‚
+ +
StartBody
+
é–“é•ã£ãŸãƒ˜ãƒƒãƒ€è¡Œã‚’å—ã‘å–ã£ãŸã‚‰ã€ãƒ˜ãƒƒãƒ€ã®èª­ã¿è¾¼ã¿ã‚’終了ã—ã¦ã€ + ãれ以é™ã®æ®‹ã‚Šã‚’ボディã¨ã—ã¦æ‰±ã†ã€‚ã“ã‚Œã¯ãƒ˜ãƒƒãƒ€ã¨ãƒœãƒ‡ã‚£ã®é–“ã«ç©ºè¡Œã‚’入れ忘れ㦠+ ã—ã¾ã£ã¦ã„るよã†ãªã€ãã¡ã‚“ã¨å‹•ä½œã—ã¦ã„ãªã„ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒã‚ã‚‹ã¨ãã«ã€ + å•é¡Œã‚’回é¿ã™ã‚‹ã®ã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚
+
+ +
+
top
+

ProxyBlock ディレクティブ

+ + + + + + +
説明:プロキシ接続をç¦æ­¢ã™ã‚‹èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã™ã‚‹
構文:ProxyBlock *|word|host|domain +[word|host|domain] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ProxyBlock ディレクティブã¯ç©ºç™½ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ + 語å¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚サイトåã«ãã®èªžå¥ã€ãƒ›ã‚¹ãƒˆå〠+ ドメインをå«ã‚€ã‚µã‚¤ãƒˆã¸ã® HTTPã€HTTPSã€FTP ã«ã‚ˆã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ + プロキシサーãƒã«ã‚ˆã‚Šãƒ–ロックã•ã‚Œã¾ã™ã€‚プロキシモジュール㯠+ 起動時ã«ãƒ›ã‚¹ãƒˆåã¨æ€ã—ã項目㮠IP アドレスを調ã¹ã€å¾Œã®ãƒ†ã‚¹ãƒˆã®ãŸã‚ã« + キャッシュã—ã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ã‚µãƒ¼ãƒã®èµ·å‹•ãŒå°‘ã—é…ããªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +

Example

+ ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu +

+ +

rocky.wotsamattau.edu ㌠IP アドレスã§å‚ç…§ã•ã‚ŒãŸã¨ãã§ã‚‚ + マッãƒã—ã¾ã™ã€‚

+ +

wotsamattau.edu ã®ãƒžãƒƒãƒã«ã¯ wotsamattau + ã ã‘ã§ã‚‚å分ã§ã™ã€‚

+ +

+ ProxyBlock * +

+ +

ã¯ã™ã¹ã¦ã®ã‚µã‚¤ãƒˆã¸ã®æŽ¥ç¶šã‚’ブロックã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +
+
top
+

ProxyDomain ディレクティブ

+ + + + + + +
説明:プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³å
構文:ProxyDomain Domain
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆå†…ã® Apache プロキシサーãƒã«ã®ã¿ + 有用ã§ã™ã€‚ProxyDomain ディレクティブ㯠+ apache プロキシサーãƒãŒå±žã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã—ã¾ã™ã€‚ + ドメインåã®ç„¡ã„リクエストをå—ã‘ãŸå ´åˆã€è¨­å®šã•ã‚ŒãŸ Domain + ãŒè¿½åŠ ã•ã‚ŒãŸåŒã˜ãƒ›ã‚¹ãƒˆã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå¿œç­”ãŒè¿”ã•ã‚Œã¾ã™ã€‚

+ +

例

+ ProxyRemote * http://firewall.mycompany.com:81
+ NoProxy .mycompany.com 192.168.112.0/21
+ ProxyDomain .mycompany.com +

+ +
+
top
+

ProxyErrorOverride ディレクティブ

+ + + + + + + + +
説明:プロキシã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã‚’上書ãã™ã‚‹
構文:ProxyErrorOverride On|Off
デフォルト:ProxyErrorOverride Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0 以é™ã§ä½¿ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシを使用ã—ã¦ã„ã¦ã€ + エンドユーザã«é€ã‚‰ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã®å¤–見を共通ã®ã‚‚ã®ã«ã—ãŸã„ã¨ãã« + 有用ã§ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠(mod_include ã® SSI ã«ã‚ˆã£ã¦) + インクルードã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã—ã¦ã€æ­£ã—ã動作を + ã™ã‚‹ã‚ˆã†ã«ã‚‚ã—ã¾ã™ (デフォルトã®å‹•ä½œã¯ã€ãƒ—ロキシã•ã‚ŒãŸã‚µãƒ¼ãƒã® + エラーページã®è¡¨ç¤ºã§ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を有効ã«ã™ã‚‹ã¨ SSI ã®ã‚¨ãƒ©ãƒ¼ + メッセージを表示ã—ã¾ã™)。

+ +
+
top
+

ProxyIOBufferSize ディレクティブ

+ + + + + + + +
説明:内部データスループットãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’決定ã™ã‚‹
構文:ProxyIOBufferSize bytes
デフォルト:ProxyIOBufferSize 8192
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ProxyIOBufferSize ディレクティブã¯å…¥åŠ›ã¨ + 出力用ã®ä¸€æ™‚メモリã¨ã—ã¦ä½¿ã‚れる内部ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’調整ã—ã¾ã™ã€‚ + サイズ㯠8192 以下ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

ã»ã¨ã‚“ã©ã™ã¹ã¦ã®å ´åˆã€ã“ã®å€¤ã‚’変更ã™ã‚‹ç†ç”±ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +
+
top
+

<ProxyMatch> ディレクティブ

+ + + + + + +
説明:æ­£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒ—ロキシリソース用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–コンテナ
構文:<ProxyMatch regex> ...</ProxyMatch>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

<ProxyMatch> 㯠URL ã®ãƒžãƒƒãƒã« + æ­£è¦è¡¨ç¾ を用ã„ã‚‹ã“ã¨ã‚’除ã„㦠+ <Proxy> ディレクティブã¨åŒã˜ã§ã™ã€‚

+ +
+
top
+

ProxyMaxForwards ディレクティブ

+ + + + + + + + +
説明:リクエストãŒãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã•ã‚Œã‚‹ãƒ—ロキシã®æœ€å¤§æ•°
構文:ProxyMaxForwards number
デフォルト:ProxyMaxForwards 10
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:Apache 2.0 以é™ã§ä½¿ç”¨å¯èƒ½
+

ProxyMaxForwards ディレクティブ㯠+ リクエスト㫠Max-Forwards ヘッダãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„å ´åˆã« + リクエストãŒé€šéŽå¯èƒ½ãªãƒ—ロキシã®æœ€å¤§æ•°ã‚’設定ã—ã¾ã™ã€‚ã“れ㯠+ プロキシã®ç„¡é™ãƒ«ãƒ¼ãƒ—ã‚„ DoS 攻撃を防ããŸã‚ã«è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

例

+ ProxyMaxForwards 15 +

+ +
+
top
+

ProxyPass ディレクティブ

+ + + + + + +
説明:リモートサーãƒã‚’ローカルサーãƒã® URL 空間ã«ãƒžãƒƒãƒ—ã™ã‚‹
構文:ProxyPass [path] !|url [key=value key=value ...]]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã‚’ローカルサーãƒã®åå‰ç©ºé–“ã« + マップã§ãるよã†ã«ã—ã¾ã™ã€‚ローカルサーãƒã¯é€šå¸¸ã®æ„味ã§ã®ãƒ—ロキシ㨠+ ã—ã¦ã¯å‹•ä½œã›ãšã€ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã®ãƒŸãƒ©ãƒ¼ã¨ã—ã¦æŒ¯ã‚‹èˆžã„ã¾ã™ã€‚ + path ã¯ãƒ­ãƒ¼ã‚«ãƒ«ã®ä»®æƒ³ãƒ‘スã®åå‰ã§ã™ã€‚url 㯠+ リモートサーãƒã®éƒ¨åˆ† URL ã«ãªã‚Šã€ã‚¯ã‚¨ãƒªãƒ¼æ–‡å­—列をå«ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“。

+ +
ProxyPass ディレクティブを + 使ã£ã¦ã„ã‚‹ã¨ã㯠ProxyRequests ディレクティブã¯é€šå¸¸ã¯ + off ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¹ãã§ã™ã€‚
+ +

ローカルサーãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ http://example.com/ ã§ã‚る㨠+ ã—ã¾ã™ã€‚ã™ã‚‹ã¨ã€

+ +

+ ProxyPass /mirror/foo/ http://backend.example.com/ +

+ +

ã¨è¨­å®šã™ã‚‹ã¨ http://example.com/mirror/foo/bar ã¸ã® + リクエストãŒå†…部的㫠http://backend.example.com/bar ã¸ã® + プロキシリクエストã«å¤‰æ›ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

サブディレクトリをリãƒãƒ¼ã‚¹ãƒ—ロキシã—ãŸããªã„ã¨ãã« ! 㯠+ å½¹ã«ç«‹ã¡ã¾ã™ã€‚例ãˆã°ã€

+ +

+ ProxyPass /mirror/foo/i !
+ ProxyPass /mirror/foo http://backend.example.com +

+ +

㯠/mirror/foo/i を除ã + /mirror/foo ã¸ã®ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ + backend.example.com ã«ãƒ—ロキシã—ã¾ã™ã€‚

+ +

注

+

順番ã¯é‡è¦ã§ã™ã€‚一般的㪠ProxyPass + ディレクティブã®å‰ã« + 除外ディレクティブを置ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+
+ +

2.1 ã®æ©Ÿèƒ½ã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šã«ãƒ—ールã•ã‚ŒãŸã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ + 使ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚key=value å½¢å¼ã®ãƒ‘ラメータ㧠+ ã“ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ーリングã®èª¿æ•´ãŒã§ãã¾ã™ã€‚Hard Maximum + ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ã€æœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ MPM ã§ã®ãƒ—ロセス当ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã¨ + åŒã˜æ•°ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³æ•°ã§ã™ã€‚prefork MPM ã§ã¯é€šå¸¸ã¯ 1 ã§ã€worker MPM ã§ã¯ + ThreadsPerChild ã§èª¿æ•´ã•ã‚Œã¾ã™ã€‚

+ +

min ã®è¨­å®šã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®é–“ã«ä½•æœ¬ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ + 常時開ãã‹ãŒæ±ºã¾ã‚Šã¾ã™ã€‚Soft Maximum smax ã®æ•°ã« + é”ã™ã‚‹ã¾ã§å¿…è¦ã«å¿œã˜ã¦ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ç”Ÿæˆã•ã‚Œã¾ã™ã€‚smax + を超ãˆãŸæ•°ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ç”Ÿå­˜æ™‚é–“ ttl ã§åˆ‡æ–­ã•ã‚Œã¾ã™ã€‚ + ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ Hard Maximum max ã®æ•°ä»¥ä¸Šã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ + 生æˆã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

+ ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
パラメータデフォルト値説明
min0ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šã§ + 常ã«é–‹ã„ã¦ã„るコãƒã‚¯ã‚·ãƒ§ãƒ³æ•°ã®æœ€å°å€¤
max1...nãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šæ•°ã® Hard Maximum + (訳注: ãƒãƒ¼ãƒ‰ãƒªãƒŸãƒƒãƒˆ)。 + デフォルト値ã¯ã€ä½¿ç”¨ã—ã¦ã„ã‚‹ MPM ã®ãƒ—ロセスã‚ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã«ãªã£ã¦ã„ã¾ã™ã€‚ + Prefork MPM ã§ã¯å¸¸ã« 1 ã§ã€Worker MPM ã§ã¯ ThreadsPerChild + ã§èª¿ç¯€ã§ãã¾ã™ã€‚Hard Maximum 以上ã«ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ + 生æˆã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。
smaxmax接続数㮠Soft Maximum (訳注: ソフトリミット)ã¾ã§ã€ + コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯å¿…è¦ã«å¿œã˜ã¦ç”Ÿæˆã•ã‚Œã¾ã™ã€‚ + smax を超ãˆãŸæ•°ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ç”Ÿå­˜æ™‚é–“ ttl + ã§åˆ‡æ–­ã•ã‚Œã¾ã™ã€‚ +
ttl-smax 数を超ãˆãŸéžæ´»å‹•çŠ¶æ…‹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ç”Ÿå­˜æ™‚間を〠+ 秒ã§æŒ‡å®šã—ã¾ã™ã€‚ã“ã®æœŸé–“内ã«ä½¿ç”¨ã•ã‚Œãªã‹ã£ãŸã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ + å…¨ã¦é–‰ã˜ã‚‰ã‚Œã¾ã™ã€‚ +
timeoutTimeoutコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’秒ã§æŒ‡å®šã—ã¾ã™ã€‚特ã«æŒ‡å®šã•ã‚Œãªã‘ã‚Œã°ã€ + フリーãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã§ãã‚‹ã¾ã§å¾…ã¡ã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ max パラメータã¨åˆã‚ã›ã¦ä½¿ã†ã“ã¨ã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã® + 接続数を制御ã™ã‚‹ã®ã«ä½¿ã„ã¾ã™ã€‚ +
acquire-設定ã™ã‚‹ã¨ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã‹ã‚‰ãƒ•ãƒªãƒ¼ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã™ã‚‹ãŸã‚ã« + å¾…æ©Ÿã™ã‚‹å¾…ã¡æ™‚é–“ã®æœ€å¤§å€¤ã«ãªã‚Šã¾ã™ã€‚フリーã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒãƒ—ールã«ãªã‹ã£ãŸå ´åˆã¯ã€ + SERVER_BUSY ステータスãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã•ã‚Œã¾ã™ã€‚ +
keepaliveOffãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ Apache ã®é–“ã«ãƒ•ã‚¡ã‚¤ã‚¢ãƒ¼ã‚¦ã‚©ãƒ¼ãƒ«ãŒã‚ã‚‹å ´åˆã«ã¯ã€ + ã“ã®ãƒ‘ラメータを使ã£ã¦ãã ã•ã„。ファイアウォールã¯å¾€ã€…ã«ã—ã¦ã€ + éžæ´»å‹•çŠ¶æ…‹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’è½ã¨ãã†ã¨ã—ã¾ã™ã€‚ + ã“ã®ãƒ•ãƒ©ã‚°ã¯ OS ã«æŒ‡ç¤ºã—ã¦ã€KEEP_ALIVE メッセージをéžæ´»å‹•çŠ¶æ…‹ã® + コãƒã‚¯ã‚·ãƒ§ãƒ³ã§ã‚‚é€ã‚‹ã‚ˆã†ã«ã—ã¾ã™ (間隔㯠OS ã®ã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®šã«ä¾å­˜ã—〠+ 通常㯠120ms é–“éš”) 。ã“ã‚Œã«ã‚ˆã£ã¦ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã«ã‚ˆã£ã¦ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒ + è½ã¨ã•ã‚Œã‚‹ã“ã¨ã‚’防ã’ã¾ã™ã€‚keepalive を有効ã«ã™ã‚‹ã«ã¯ã€ã“ã®ãƒ—ロパティを + On ã«ã—ã¦ãã ã•ã„。 +
retry60コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’プーリングã™ã‚‹ãŸã‚ã®ã€ãƒªãƒˆãƒ©ã‚¤ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’秒㧠+ 指定ã—ã¾ã™ã€‚ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ーリングãŒå¤±æ•—ã—ãŸå ´åˆã¯ã€ + タイムアウトã®æœŸé–“ãŒéŽãŽã‚‹ã¾ã§ã€ãã®ã‚µãƒ¼ãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’フォワードã—ã¾ã›ã‚“。 + ã“ã®æ©Ÿèƒ½ã‚’使ã†ã¨ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã‚’メンテナンスã®ãŸã‚ã«ã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³ã—〠+ 後ã§ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã«å¾©å¸°ã•ã›ã‚‹ã¨ã„ã£ãŸã“ã¨ãŒã§ãã¾ã™ã€‚ +
loadfactor1ワーカーã‚ãŸã‚Šã®è² è·ä¿‚æ•°ã§ã™ã€‚BalancerMember ã§ä½¿ã„ã¾ã™ã€‚ + 1 ã‹ã‚‰ 100 ã¾ã§ã®æ•°å­—ã§ãã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«å¯¾ã™ã‚‹æ­£è¦åŒ–ã•ã‚ŒãŸè² è·çŽ‡ã‚’指定ã—ã¾ã™ã€‚ +
route-ロードãƒãƒ©ãƒ³ã‚µã§ä½¿ã£ãŸå ´åˆã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã®ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚’ã—ã¾ã™ã€‚ + ルートã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ ID ã«ä»˜åŠ ã•ã‚ŒãŸå€¤ã«ãªã‚Šã¾ã™ã€‚ +
redirect-ワーカーã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³çµŒè·¯ã§ã™ã€‚ã“ã®å€¤ã¯é€šå¸¸ã¯ã€ + 安全ã«ã‚¯ãƒ©ã‚¹ã‚¿ã‹ã‚‰ãƒŽãƒ¼ãƒ‰ã‚’å–り去る設定を動的ã«å…¥ã‚Œã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚ + セッション ID ã®ç„¡ã„リクエスト全ã¦ã‚’指定ã—ãŸå ´åˆã¯ã€ + ã“ã®å€¤ã¨åŒã˜ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ãƒ‘ラメータをæŒã¤ + BalancerMember ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã™ã€‚ +
+ +

Proxy ディレクティブã®ã‚¹ã‚­ãƒ¼ãƒ ãŒ balancer:// ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€ + ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨å®Ÿéš›ã«ã¯é€šä¿¡ã—ãªã„仮想ワーカーãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ + ã“ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯å¹¾ã¤ã‹ã® "本物ã®" ワーカーã®ç®¡ç†ã‚’ã¤ã‹ã•ã©ã‚Šã¾ã™ã€‚ + ã“ã®å ´åˆãƒ‘ラメータã¯ã€ã“ã®ä»®æƒ³ãƒ¯ãƒ¼ã‚«ãƒ¼ã«å¯¾ã—ã¦è¨­å®šã•ã‚Œã¾ã™ã€‚ +

+ + + + + + + + + + + + + + + + + + + + +
パラメータデフォルト値説明
lbmethod-Balancer ã®ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹æ–¹æ³•ã€‚使用ã™ã‚‹ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹ã® + スケジューリング方法をé¸ã³ã¾ã™ã€‚処ç†ã—ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°ã§é‡ã¿ä»˜ã‘ã™ã‚‹ + byrequests ã‹ã€è»¢é€é‡ã®ãƒã‚¤ãƒˆæ•°ã§é‡ã¿ä»˜ã‘ã™ã‚‹ + bytraffic を設定ã§ãã¾ã™ã€‚デフォルト㯠+ byrequests ã§ã™ã€‚ +
stickysession-ãƒãƒ©ãƒ³ã‚µãƒ¼ã®ã‚¹ãƒ†ã‚£ãƒƒã‚­ãƒ¼ã‚»ãƒƒã‚·ãƒ§ãƒ³åã§ã™ã€‚通常ã¯ã“ã®å€¤ã¯ JSESSIONID + ã‚„ PHPSESSIONID ã¨ã„ã£ãŸã‚‚ã®ã«ãªã‚Šã¾ã™ãŒã€ã“ã®å€¤ã¯ + ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¢ãƒ—リケーションã®ã‚µãƒãƒ¼ãƒˆã™ã‚‹ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«ä¾å­˜ã—ã¾ã™ã€‚ +
nofailoverOffOn ã«ãªã£ã¦ã„ã‚‹ã¨ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒã‚¨ãƒ©ãƒ¼ã‚’èµ·ã“ã—ãŸã‚Š + 無効ã«ãªã£ã¦ã„ã‚‹å ´åˆã«ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒåˆ‡ã‚Œã¾ã™ã€‚ + ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ¬ãƒ—リケーションをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„å ´åˆã¯ã€ + On ã«ã—ã¦ãã ã•ã„。 +
timeout0ãƒãƒ©ãƒ³ã‚µãƒ¼ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’秒ã§æŒ‡å®šã—ã¾ã™ã€‚ + ã“ã®å€¤ã‚’設定ã™ã‚‹ã¨ã€ãƒ•ãƒªãƒ¼ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’å–å¾—ã™ã‚‹ã¾ã§ã®æœ€å¤§å¾…機時間ã«ãªã‚Šã¾ã™ã€‚ + デフォルトã§ã¯å¾…æ©Ÿã—ã¾ã›ã‚“。 +
maxattempts1フェイルオーãƒãƒ¼ã‚’試ã¿ã‚‹æœ€å¤§ã®å›žæ•°ã‚’指定ã—ã¾ã™ã€‚ +
+

+ ProxyPass /special-area http://special.example.com/ smax=5 max=10
+ ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On
+ <Proxy balancer://mycluster>
+ + BalancerMember http://1.2.3.4:8009
+ BalancerMember http://1.2.3.5:8009 smax=10
+ # Less powerful server, don't send as many requests there
+ BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20
+
+ </Proxy> +

+ +

<Location> セクションã®ä¸­ã§ä½¿ã‚ã‚ŒãŸå ´åˆã€æœ€åˆã®å¼•æ•°ã¯ + çœç•¥ã•ã‚Œã€ãƒ­ãƒ¼ã‚«ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ <Location> ã‹ã‚‰å–å¾—ã•ã‚Œã¾ã™ã€‚

+ +

より柔軟ãªãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®è¨­å®šãŒå¿…è¦ãªå ´åˆã¯ã€[P] + フラグ付ãã® RewriteRule + ディレクティブをå‚ç…§ã—ã¦ãã ã•ã„。

+ +
+
top
+

ProxyPassInherit ディレクティブ

+ + + + + + + + +
説明:Inherit ProxyPass directives defined from the main server
構文:ProxyPassInherit On|Off
デフォルト:ProxyPassInherit On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:ProxyPassInherit is only available in Apache HTTP Server 2.4.5 and later. +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ProxyPassInterpolateEnv ディレクティブ

+ + + + + + +
説明:Enable Environment Variable interpolation in Reverse Proxy configurations
構文:
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy

Documentation not yet translated. Please see English version of document.

+
+
top
+

ProxyPassMatch ディレクティブ

+ + + + + + +
説明:Maps remote servers into the local server URL-space using regular expressions
構文:
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy

Documentation not yet translated. Please see English version of document.

+
+
top
+

ProxyPassReverse ディレクティブ

+ + + + + + +
説明:リãƒãƒ¼ã‚¹ãƒ—ロキシã•ã‚ŒãŸã‚µãƒ¼ãƒã‹ã‚‰é€ã‚‰ã‚ŒãŸ HTTP 応答ヘッダ㮠+URL を調整ã™ã‚‹
構文:ProxyPassReverse [path] url
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache ã« HTTP リダイレクト応答㮠+ Location, Content-Location, URI + ヘッダã®èª¿æ•´ã‚’ã•ã›ã¾ã™ã€‚ã“ã‚Œã¯ã€Apache ãŒãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã¨ã—ã¦ä½¿ã‚ã‚Œã¦ã„ã‚‹ + ã¨ãã«ã€ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシを通ã•ãªã„ã§ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã‚’防ããŸã‚ã« + é‡è¦ã§ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã® HTTP リダイレクト㌠+ リãƒãƒ¼ã‚¹ãƒ—ロキシã¨ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®é–“ã§æ‰±ã‚れるよã†ã«ãªã‚Šã¾ã™ã€‚

+ +

ディレクティブã§æ˜Žç¤ºã•ã‚Œã¦ã„ã‚‹ HTTP 応答ヘッダã®ã¿ãŒæ›¸ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚ + Apache ã¯ä»–ã®å¿œç­”ヘッダを書ãæ›ãˆãŸã‚Šã€HTML ページã®ä¸­ã® URL å‚照を + 書ãæ›ãˆãŸã‚Šã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。HTML ã®ä¸­ã‚’見ã¦ã€URL å‚照を書ãæ›ãˆã‚‹ + モジュール㫠Nick Kew ã•ã‚“ã® mod_proxy_html ãŒã‚ã‚Šã¾ã™ã€‚

+ +

path ã¯ãƒ­ãƒ¼ã‚«ãƒ«ä»®æƒ³ãƒ‘スã®åå‰ã§ã™ã€‚url 㯠+ リモートサーãƒã®éƒ¨åˆ† URL ã§ã™ã€‚ã“れら㯠ProxyPass ディレクティブã¨åŒæ§˜ã§ã™ã€‚

+ +

例ãˆã°ã€ãƒ­ãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ http://example.com/ + ã ã¨ã—ã¾ã™ã€‚ã™ã‚‹ã¨

+ +

+ ProxyPass /mirror/foo/ http://backend.example.com/
+ ProxyPassReverse /mirror/foo/ http://backend.example.com/
+ ProxyPassReverseCookieDomain backend.example.com public.example.com
+ ProxyPassReverseCookiePath / /mirror/foo/ +

+ +

ã¨ã„ã†è¨­å®šã‚’ã™ã‚‹ã¨ã€http://example.com/mirror/foo/bar + ã¸ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒ http://backend.example.com/bar + ã¸ã®ãƒ—ロキシリクエストã«å†…部ã§ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã‚‹ã ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“ + (ã“れ㯠ProxyPass ã®æ©Ÿèƒ½ã§ã™)。backend.example.com + ãŒé€ã‚‹ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã®é¢å€’ã‚‚ã¿ã¾ã™ã€‚http://backend.example.com/bar + ㌠http://backend.example.com/quux ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚ŒãŸã¨ã〠+ Apache 㯠HTTP リダイレクト応答をクライアントã«é€ã‚‹å‰ã«ã€ + http://example.com/mirror/foo/quux ã«å¤‰æ›´ã—ã¾ã™ã€‚ + URL を構æˆã™ã‚‹ã®ã«ä½¿ã‚れるホストå㯠UseCanonicalName ã®è¨­å®šã«å¿œã˜ã¦é¸æŠžã•ã‚Œã‚‹ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。

+ +

ProxyPassReverse ディレクティブ㯠+ 対応ã™ã‚‹ ProxyPass ディレクティブã«ã¯ä¾å­˜ã—ãªã„ãŸã‚〠+ mod_rewrite ã®ãƒ—ロキシ通éŽæ©Ÿèƒ½ + (RewriteRule ... [P]) ã¨ä½µã›ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

<Location> セクションã®ä¸­ã§ä½¿ã‚ã‚ŒãŸå ´åˆã¯ã€ + 最åˆã®å¼•æ•°ã¯çœç•¥ã•ã‚Œã€ãƒ­ãƒ¼ã‚«ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ <Location> ã‹ã‚‰å–å¾—ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

ProxyPassReverseCookieDomain ディレクティブ

+ + + + + + +
説明:リãƒãƒ¼ã‚¹ãƒ—ロキシサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Domain 文字列を +調整ã™ã‚‹
構文:ProxyPassReverseCookieDomain internal-domain public-domain
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy
+

使用法ã¯åŸºæœ¬çš„ã« +ProxyPassReverse ã¨åŒã˜ã§ã™ãŒã€ +ヘッダ㮠URL ã®ä»£ã‚ã‚Šã« Set-Cookie ヘッダ㮠+domain 文字列を書ãæ›ãˆã¾ã™ã€‚

+ +
+
top
+

ProxyPassReverseCookiePath ディレクティブ

+ + + + + + +
説明:Reverse プロキシサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Path 文字列を +調整ã™ã‚‹
構文:ProxyPassReverseCookiePath internal-path public-path
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ
ステータス:Extension
モジュール:mod_proxy
+

使用法ã¯åŸºæœ¬çš„ã« +ProxyPassReverse ã¨åŒã˜ã§ã™ãŒã€ +ヘッダ㮠URL ã®ä»£ã‚ã‚Šã« Set-Cookie ヘッダ㮠+path 文字列を書ãæ›ãˆã¾ã™ã€‚

+ +
+
top
+

ProxyPreserveHost ディレクティブ

+ + + + + + + + +
説明:プロキシリクエストã«ã€å—ã‘付ã‘㟠Host HTTP ヘッダを使ã†
構文:ProxyPreserveHost On|Off
デフォルト:ProxyPreserveHost Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:Apache 2.0.31 以é™ã§ä½¿ç”¨å¯èƒ½
+

ã“ã®ã‚ªãƒ—ションãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å ´åˆã€ProxyPass + ã§æŒ‡å®šã—ãŸãƒ›ã‚¹ãƒˆåã®ä»£ã‚ã‚Šã«ã€å—ã‘付ã‘ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Host: 行を + プロキシ先ã®ãƒ›ã‚¹ãƒˆã«é€ã‚Šã¾ã™ã€‚

+ +

ã“ã®ã‚ªãƒ—ションã¯é€šå¸¸ã¯ Off ã«è¨­å®šã—ã¦ãã ã•ã„。 + ã»ã¨ã‚“ã©ã®å ´åˆã€ã“ã‚Œã¯å¤§é‡ã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°ã‚’è¡Œãªã£ã¦ã„ã¦ã€ + 元々㮠Host ヘッダをãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒè§£é‡ˆã™ã‚‹å¿…è¦ã®ã‚ã‚‹ã¨ãã®ã‚ˆã†ãªã€ + 特別ãªè¨­å®šãŒå¿…è¦ãªå ´åˆã«ã®ã¿æœ‰ç”¨ã§ã™ã€‚

+ +
+
top
+

ProxyReceiveBufferSize ディレクティブ

+ + + + + + + +
説明:プロキシã•ã‚Œã‚‹ HTTP 㨠FTP 接続ã®ãŸã‚ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º
構文:ProxyReceiveBufferSize bytes
デフォルト:ProxyReceiveBufferSize 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ProxyReceiveBufferSize ディレクティブ㯠+ スループットを上ã’ã‚‹ãŸã‚ã«æ˜Žç¤ºçš„ã« (TCP/IP) ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’ + 設定ã—ã¾ã™ã€‚値㯠512 以上ã‹ã€ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒãƒƒãƒ•ã‚¡ + サイズをæ„味ã™ã‚‹ 0 ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

例

+ ProxyReceiveBufferSize 2048 +

+ +
+
top
+

ProxyRemote ディレクティブ

+ + + + + + +
説明:特定ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†æ™‚ã«ä½¿ã‚れるリモートプロキシを指定ã™ã‚‹
構文:ProxyRemote match remote-server
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã“ã®ãƒ—ロキシã«å¯¾ã™ã‚‹ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ロキシを定義ã—ã¾ã™ã€‚ + match ã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹ URL スキーム〠+ リモートサーãƒãŒä½¿ã†ã¯ãšã® URL ã®ä¸€éƒ¨åˆ†ã€ã‚µãƒ¼ãƒãŒã™ã¹ã¦ã® + リクエストã«ä½¿ã‚れるã“ã¨ã‚’示㙠* ã®ã©ã‚Œã‹ã«ãªã‚Šã¾ã™ã€‚ + remote-server ã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã®éƒ¨åˆ† URL ã§ã™ã€‚構文:

+ +

+ remote-server = + scheme://hostname[:port] +

+ +

scheme ã¯å®Ÿéš›ä¸Šãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã¨ã®é€šä¿¡ã«ä½¿ã‚れるプロトコルを + 決定ã—ã¾ã™ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ã¯ http ã ã‘ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ + ã„ã¾ã™ã€‚

+ +

例

+ ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000
+ ProxyRemote * http://cleversite.com
+ ProxyRemote ftp http://ftpproxy.mydomain.com:8080 +

+ +

ã“ã®ä¾‹ã§ã¯ã€ãƒ—ロキシ㯠FTP リクエストを別㮠HTTP リクエストã§åŒ…ん㧠+ ãã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ãˆã‚‹åˆ¥ã®ãƒ—ロキシã«è»¢é€ã—ã¾ã™ã€‚

+ +

ã“ã®ã‚ªãƒ—ションã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®è¨­å®šã‚‚サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ + サーãƒãŒåˆ¥ã®ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシã®å¾Œã‚ã«éš ã•ã‚Œã¦ã„ã‚‹å ´åˆã§ã‚‚ + ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¦ã‚§ãƒ–サーãƒã‚’ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® URL 空間ã«å…¥ã‚Œã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+ +
+
top
+

ProxyRemoteMatch ディレクティブ

+ + + + + + +
説明:æ­£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ロキシã®æŒ‡å®š
構文:ProxyRemoteMatch regex remote-server
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ProxyRemoteMatch ã¯æœ€åˆã®å¼•æ•°ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸ + URL ã«ãƒžãƒƒãƒã™ã‚‹æ­£è¦è¡¨ç¾ã§ã‚ã‚‹ã“ã¨ã‚’除ã‘ã° ProxyRemote ディレクティブã¨åŒã˜ã§ã™ã€‚

+ +
+
top
+

ProxyRequests ディレクティブ

+ + + + + + + +
説明:フォワード (標準ã®) プロキシリクエストを有効ã«ã™ã‚‹
構文:ProxyRequests On|Off
デフォルト:ProxyRequests Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ã“れ㯠Apache ã®ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシサーãƒã¨ã—ã¦ã®å‹•ä½œã‚’ + 有効もã—ãã¯ç„¡åŠ¹ã«ã—ã¾ã™ã€‚(ProxyRequests ã‚’ Off ã« + 設定ã—ã¦ã‚‚ã€ProxyPass + ã®è¨­å®šã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã›ã‚“。)

+ +

通常ã®ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®è¨­å®šã§ã¯ã€ã“ã®ã‚ªãƒ—ション㯠Off + ã«è¨­å®šã—ã¦ãã ã•ã„。

+ +

HTTP ã‚„ FTP サイトã¸ã®ãƒ—ロキシã®æ©Ÿèƒ½ã‚’有効ã«ã—ãŸã„å ´åˆã¯ã€ + mod_proxy_http ã‚„ mod_proxy_ftp ㌠+ サーãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

警告

+

サーãƒã‚’安全ã«ã™ã‚‹ã¾ã§ ProxyRequests ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。 + オープンプロキシサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚〠+ インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚

+
+ +
+
top
+

ProxySet ディレクティブ

+ + + + + + +
説明:Set various Proxy balancer or member parameters
構文:
コンテキスト:ディレクトリ
ステータス:Extension
モジュール:mod_proxy

Documentation not yet translated. Please see English version of document.

+
+
top
+

ProxySourceAddress ディレクティブ

+ + + + + + + +
説明:Set local IP address for outgoing proxy connections
構文:ProxySourceAddress address
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:Available in version 2.3.9 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

ProxyStatus ディレクティブ

+ + + + + + +
説明:Show Proxy LoadBalancer status in mod_status
構文:
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy

Documentation not yet translated. Please see English version of document.

+
+
top
+

ProxyTimeout ディレクティブ

+ + + + + + + + +
説明:プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ
構文:ProxyTimeout seconds
デフォルト:ProxyTimeout 300
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
互æ›æ€§:Apache 2.0.31 以é™ã§ä½¿ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ¦ãƒ¼ã‚¶ãŒãƒ—ロキシリクエストã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’ + 指定ã§ãるよã†ã«ã—ã¾ã™ã€‚ã“ã‚Œã¯ãƒãƒ³ã‚°ã—ã¦ã—ã¾ã†é…ã„ã€ã‚‚ã—ãã¯æŒ™å‹•ã® + 怪ã—ã„サーãƒãŒã‚ã‚Šã€ã‚µãƒ¼ãƒãŒãƒ‡ãƒ¼ã‚¿ã‚’è¿”ã™ã¾ã§ã²ãŸã™ã‚‰å¾…ã¡ç¶šã‘るよりも + タイムアウトを返ã—ã¦ã‚ˆã‚Šç·©ã‚„ã‹ã«(訳注: graceful ã«) + 失敗ã•ã›ãŸã„å ´åˆã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +
+
top
+

ProxyVia ディレクティブ

+ + + + + + + +
説明:プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Via HTTP 応答ヘッダ +ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹æƒ…å ±
構文:ProxyVia On|Off|Full|Block
デフォルト:ProxyVia Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ—ロキシ㮠Via: HTTP ヘッダã®ä½¿ç”¨ã‚’ + 制御ã—ã¾ã™ã€‚想定ã•ã‚Œã¦ã„る使ã„æ–¹ã¯ã€ãƒ—ロキシサーãƒãŒã„ãã¤ã‚‚繋ãŒã£ã¦ã„ã‚‹ã¨ãã« + プロキシリクエストã®æµã‚Œã‚’制御ã™ã‚‹ã“ã¨ã§ã™ã€‚Via: ヘッダ行㮠+ 説明㯠RFC 2616 (HTTP/1.1) + ã® 14.45 節を読んã§ãã ã•ã„。

+ +
    +
  • デフォルト㮠Off ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€ç‰¹åˆ¥ãªå‡¦ç†ã¯ + è¡Œãªã‚ã‚Œã¾ã›ã‚“。リクエストやリプライ㫠Via: ヘッダãŒã‚ã‚Œã°ã€ + 変更ã•ã‚Œãšã«ãã®ã¾ã¾æ¸¡ã—ã¾ã™ã€‚
  • + +
  • On ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€å„リクエストã¨ãƒªãƒ—ライ㫠+ Via: è¡ŒãŒè¿½åŠ ã•ã‚Œã¾ã™ã€‚
  • + +
  • Full ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€Via: ヘッダ㯠+ コメント部分㫠Apache サーãƒã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚‚å«ã‚€ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
  • + +
  • Block ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€ã™ã¹ã¦ã®ãƒ—ロキシリクエストã‹ã‚‰ + Via: ヘッダãŒå–り除ã‹ã‚Œã¾ã™ã€‚æ–°ãŸã« Via: ㌠+ 生æˆã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。
  • +
+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.html b/docs/manual/mod/mod_proxy_ajp.html new file mode 100644 index 0000000..3b34786 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_ajp.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_ajp.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_ajp.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_ajp.html.en b/docs/manual/mod/mod_proxy_ajp.html.en new file mode 100644 index 0000000..1d8cb01 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.en @@ -0,0 +1,639 @@ + + + + + +mod_proxy_ajp - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_ajp

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + + +
Description:AJP support module for +mod_proxy
Status:Extension
Module Identifier:proxy_ajp_module
Source File:mod_proxy_ajp.c
Compatibility:Available in version 2.1 and later
+

Summary

+ +

This module requires the service of mod_proxy. It provides support for the + Apache JServ Protocol version 1.3 (hereafter + AJP13).

+ +

Thus, in order to get the ability of handling AJP13 + protocol, mod_proxy and + mod_proxy_ajp have to be present in the server.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+ +
top
+
+

Usage

+

This module is used to reverse proxy to a backend application server + (e.g. Apache Tomcat) using the AJP13 protocol. The usage is similar to + an HTTP reverse proxy, but uses the ajp:// prefix:

+ +

Simple Reverse Proxy

ProxyPass "/app" "ajp://backend.example.com:8009/app"
+
+ +

Options such as the secret option of Tomcat (required by + default since Tomcat 8.5.51 and 9.0.31) can just be added as a separate + parameter at the end of ProxyPass + or BalancerMember. This parameter + is available in Apache HTTP Server 2.4.42 and later:

+

Simple Reverse Proxy with secret option

ProxyPass "/app" "ajp://backend.example.com:8009/app" secret=YOUR_AJP_SECRET
+
+ +

Balancers may also be used:

+

Balancer Reverse Proxy

<Proxy "balancer://cluster">
+    BalancerMember "ajp://app1.example.com:8009" loadfactor=1
+    BalancerMember "ajp://app2.example.com:8009" loadfactor=2
+    ProxySet lbmethod=bytraffic
+</Proxy>
+ProxyPass "/app" "balancer://cluster/app"
+
+ +

Note that usually no + ProxyPassReverse + directive is necessary. The AJP request includes the original host + header given to the proxy, and the application server can be expected + to generate self-referential headers relative to this host, so no + rewriting is necessary.

+ +

The main exception is when the URL path on the proxy differs from that + on the + backend. In this case, a redirect header can be rewritten relative to the + original host URL (not the backend ajp:// URL), for + example:

+

Rewriting Proxied Path

ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
+ProxyPassReverse "/apps/foo" "http://www.example.com/foo"
+
+

However, it is usually better to deploy the application on the backend + server at the same path as the proxy rather than to take this approach. +

+
top
+
+

Environment Variables

+

Environment variables whose names have the prefix AJP_ + are forwarded to the origin server as AJP request attributes + (with the AJP_ prefix removed from the name of the key).

+
top
+
+

Overview of the protocol

+

The AJP13 protocol is packet-oriented. A binary format + was presumably chosen over the more readable plain text for reasons of + performance. The web server communicates with the servlet container over + TCP connections. To cut down on the expensive process of socket creation, + the web server will attempt to maintain persistent TCP connections to the + servlet container, and to reuse a connection for multiple request/response + cycles.

+

Once a connection is assigned to a particular request, it will not be + used for any others until the request-handling cycle has terminated. In + other words, requests are not multiplexed over connections. This makes + for much simpler code at either end of the connection, although it does + cause more connections to be open at once.

+

Once the web server has opened a connection to the servlet container, + the connection can be in one of the following states:

+
    +
  • Idle
    No request is being handled over this connection.
  • +
  • Assigned
    The connection is handling a specific request.
  • +
+

Once a connection is assigned to handle a particular request, the basic + request information (e.g. HTTP headers, etc) is sent over the connection in + a highly condensed form (e.g. common strings are encoded as integers). + Details of that format are below in Request Packet Structure. If there is a + body to the request (content-length > 0), that is sent in a + separate packet immediately after.

+

At this point, the servlet container is presumably ready to start + processing the request. As it does so, it can send the + following messages back to the web server:

+
    +
  • SEND_HEADERS
    Send a set of headers back to the browser.
  • +
  • SEND_BODY_CHUNK
    Send a chunk of body data back to the browser. +
  • +
  • GET_BODY_CHUNK
    Get further data from the request if it hasn't all + been transferred yet. This is necessary because the packets have a fixed + maximum size and arbitrary amounts of data can be included the body of a + request (for uploaded files, for example). (Note: this is unrelated to + HTTP chunked transfer).
  • +
  • END_RESPONSE
    Finish the request-handling cycle.
  • +
+

Each message is accompanied by a differently formatted packet of data. + See Response Packet Structures below for details.

+
top
+
+

Basic Packet Structure

+

There is a bit of an XDR heritage to this protocol, but it differs + in lots of ways (no 4 byte alignment, for example).

+

AJP13 uses network byte order for all data types.

+

There are four data types in the protocol: bytes, booleans, + integers and strings.

+
+
Byte
A single byte.
+
Boolean
+
A single byte, 1 = true, 0 = false. + Using other non-zero values as true (i.e. C-style) may work in some places, + but it won't in others.
+
Integer
+
A number in the range of 0 to 2^16 (32768). Stored in + 2 bytes with the high-order byte first.
+
String
+
A variable-sized string (length bounded by 2^16). Encoded with + the length packed into two bytes first, followed by the string + (including the terminating '\0'). Note that the encoded length does + not include the trailing '\0' -- it is like + strlen. This is a touch confusing on the Java side, which + is littered with odd autoincrement statements to skip over these + terminators. I believe the reason this was done was to allow the C + code to be extra efficient when reading strings which the servlet + container is sending back -- with the terminating \0 character, the + C code can pass around references into a single buffer, without copying. + if the \0 was missing, the C code would have to copy things out in order + to get its notion of a string.
+
+ +

Packet Size

+

According to much of the code, the max packet size is + 8 * 1024 bytes (8K). The actual length of the packet is encoded in + the header.

+ +

Packet Headers

+

Packets sent from the server to the container begin with + 0x1234. Packets sent from the container to the server + begin with AB (that's the ASCII code for A followed by the + ASCII code for B). After those first two bytes, there is an integer + (encoded as above) with the length of the payload. Although this might + suggest that the maximum payload could be as large as 2^16, in fact, the + code sets the maximum to be 8K.

+ + + + + + + + + + + + + + + + + + + + +
Packet Format (Server->Container)
Byte01234...(n+3)
Contents0x120x34Data Length (n)Data
+ + + + + + + + + + + + + + + + + + + + +
Packet Format (Container->Server)
Byte01234...(n+3)
ContentsABData Length (n)Data
+

For most packets, the first byte of the payload encodes the type of + message. The exception is for request body packets sent from the server to + the container -- they are sent with a standard packet header ( + 0x1234 and then length of the packet), but without any prefix code + after that.

+

The web server can send the following messages to the servlet + container:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType of PacketMeaning
2Forward RequestBegin the request-processing cycle with the following data
7ShutdownThe web server asks the container to shut itself down.
8PingThe web server asks the container to take control + (secure login phase).
10CPingThe web server asks the container to respond quickly with a CPong. +
noneDataSize (2 bytes) and corresponding body data.
+

To ensure some basic security, the container will only actually do the + Shutdown if the request comes from the same machine on which + it's hosted.

+

The first Data packet is send immediately after the + Forward Request by the web server.

+

The servlet container can send the following types of messages to the + webserver:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType of PacketMeaning
3Send Body ChunkSend a chunk of the body from the servlet container to the web + server (and presumably, onto the browser).
4Send HeadersSend the response headers from the servlet container to the web + server (and presumably, onto the browser).
5End ResponseMarks the end of the response (and thus the request-handling cycle). +
6Get Body ChunkGet further data from the request if it hasn't all been + transferred yet.
9CPong ReplyThe reply to a CPing request
+

Each of the above messages has a different internal structure, detailed + below.

+ +
top
+
+

Request Packet Structure

+

For messages from the server to the container of type + Forward Request:

+
AJP13_FORWARD_REQUEST :=
+    prefix_code      (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
+    method           (byte)
+    protocol         (string)
+    req_uri          (string)
+    remote_addr      (string)
+    remote_host      (string)
+    server_name      (string)
+    server_port      (integer)
+    is_ssl           (boolean)
+    num_headers      (integer)
+    request_headers *(req_header_name req_header_value)
+    attributes      *(attribut_name attribute_value)
+    request_terminator (byte) OxFF
+

The request_headers have the following structure: +

req_header_name :=
+    sc_req_header_name | (string)  [see below for how this is parsed]
+
+sc_req_header_name := 0xA0xx (integer)
+
+req_header_value := (string)
+

The attributes are optional and have the following + structure:

+
attribute_name := sc_a_name | (sc_a_req_attribute string)
+
+attribute_value := (string)
+

Not that the all-important header is content-length, + because it determines whether or not the container looks for another + packet immediately.

+

Detailed description of the elements of Forward Request +

+

Request prefix

+

For all requests, this will be 2. See above for details on other Prefix + codes.

+ +

Method

+

The HTTP method, encoded as a single byte:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Command NameCode
OPTIONS1
GET2
HEAD3
POST4
PUT5
DELETE6
TRACE7
PROPFIND8
PROPPATCH9
MKCOL10
COPY11
MOVE12
LOCK13
UNLOCK14
ACL15
REPORT16
VERSION-CONTROL17
CHECKIN18
CHECKOUT19
UNCHECKOUT20
SEARCH21
MKWORKSPACE22
UPDATE23
LABEL24
MERGE25
BASELINE_CONTROL26
MKACTIVITY27
+

Later version of ajp13, will transport + additional methods, even if they are not in this list.

+ +

protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl

+

These are all fairly self-explanatory. Each of these is required, and + will be sent for every request.

+ +

Headers

+

The structure of request_headers is the following: + First, the number of headers num_headers is encoded. + Then, a series of header name req_header_name / value + req_header_value pairs follows. + Common header names are encoded as integers, + to save space. If the header name is not in the list of basic headers, + it is encoded normally (as a string, with prefixed length). The list of + common headers sc_req_header_nameand their codes + is as follows (all are case-sensitive):

+ + + + + + + + + + + + + + + + + + + +
NameCode valueCode name
accept0xA001SC_REQ_ACCEPT
accept-charset0xA002SC_REQ_ACCEPT_CHARSET +
accept-encoding0xA003SC_REQ_ACCEPT_ENCODING +
accept-language0xA004SC_REQ_ACCEPT_LANGUAGE +
authorization0xA005SC_REQ_AUTHORIZATION
connection0xA006SC_REQ_CONNECTION
content-type0xA007SC_REQ_CONTENT_TYPE
content-length0xA008SC_REQ_CONTENT_LENGTH
cookie0xA009SC_REQ_COOKIE
cookie20xA00ASC_REQ_COOKIE2
host0xA00BSC_REQ_HOST
pragma0xA00CSC_REQ_PRAGMA
referer0xA00DSC_REQ_REFERER
user-agent0xA00ESC_REQ_USER_AGENT
+

The Java code that reads this grabs the first two-byte integer and if + it sees an '0xA0' in the most significant + byte, it uses the integer in the second byte as an index into an array of + header names. If the first byte is not 0xA0, it assumes that + the two-byte integer is the length of a string, which is then read in.

+

This works on the assumption that no header names will have length + greater than 0x9FFF (==0xA000 - 1), which is perfectly + reasonable, though somewhat arbitrary.

+

Note:

+ The content-length header is extremely + important. If it is present and non-zero, the container assumes that + the request has a body (a POST request, for example), and immediately + reads a separate packet off the input stream to get that body. +
+ +

Attributes

+

The attributes prefixed with a ? + (e.g. ?context) are all optional. For each, there is a + single byte code to indicate the type of attribute, and then its value + (string or integer). They can be sent in any order (though the C code + always sends them in the order listed below). A special terminating code + is sent to signal the end of the list of optional attributes. The list of + byte codes is:

+ + + + + + + + + + + + + + + +
InformationCode ValueType Of ValueNote
?context0x01-Not currently implemented +
?servlet_path0x02-Not currently implemented +
?remote_user0x03String
?auth_type0x04String
?query_string0x05String
?jvm_route0x06String
?ssl_cert0x07String
?ssl_cipher0x08String
?ssl_session0x09String
?req_attribute0x0AStringName (the name of the + attribute follows)
?ssl_key_size0x0BInteger
?secret0x0CStringSupported since 2.4.42
are_done0xFF-request_terminator
+

The context and servlet_path are not + currently set by the C code, and most of the Java code completely ignores + whatever is sent over for those fields (and some of it will actually break + if a string is sent along after one of those codes). I don't know if this + is a bug or an unimplemented feature or just vestigial code, but it's + missing from both sides of the connection.

+

The remote_user and auth_type presumably + refer to HTTP-level authentication, and communicate the remote user's + username and the type of authentication used to establish their identity + (e.g. Basic, Digest).

+

The query_string, ssl_cert, + ssl_cipher, ssl_session and + ssl_key_size refer to the + corresponding pieces of HTTP and HTTPS.

+

The jvm_route, is used to support sticky + sessions -- associating a user's sesson with a particular Tomcat instance + in the presence of multiple, load-balancing servers.

+

The secret is sent when the secret=secret_keyword + parameter is used in + ProxyPass or + BalancerMember directives. + The backend needs to support secret and the values must match. + request.secret or requiredSecret are documented in the AJP + configuration of the Apache Tomcat.

+

Beyond this list of basic attributes, any number of other attributes + can be sent via the req_attribute code 0x0A. + A pair of strings to represent the attribute name and value are sent + immediately after each instance of that code. Environment values are passed + in via this method.

+

Finally, after all the attributes have been sent, the attribute + terminator, 0xFF, is sent. This signals both the end of the + list of attributes and also then end of the Request Packet.

+ +
top
+
+

Response Packet Structure

+

for messages which the container can send back to the server.

+
AJP13_SEND_BODY_CHUNK :=
+  prefix_code   3
+  chunk_length  (integer)
+  chunk        *(byte)
+  chunk_terminator (byte) Ox00
+
+
+AJP13_SEND_HEADERS :=
+  prefix_code       4
+  http_status_code  (integer)
+  http_status_msg   (string)
+  num_headers       (integer)
+  response_headers *(res_header_name header_value)
+
+res_header_name :=
+    sc_res_header_name | (string)   [see below for how this is parsed]
+
+sc_res_header_name := 0xA0 (byte)
+
+header_value := (string)
+
+AJP13_END_RESPONSE :=
+  prefix_code       5
+  reuse             (boolean)
+
+
+AJP13_GET_BODY_CHUNK :=
+  prefix_code       6
+  requested_length  (integer)
+

Details:

+

Send Body Chunk

+

The chunk is basically binary data, and is sent directly back to the + browser.

+ +

Send Headers

+

The status code and message are the usual HTTP things + (e.g. 200 and OK). The response header names are + encoded the same way the request header names are. See header_encoding above + for details about how the codes are distinguished from the strings.
+ The codes for common headers are:

+ + + + + + + + + + + + + +
NameCode value
Content-Type0xA001
Content-Language0xA002
Content-Length0xA003
Date0xA004
Last-Modified0xA005
Location0xA006
Set-Cookie0xA007
Set-Cookie20xA008
Servlet-Engine0xA009
Status0xA00A
WWW-Authenticate0xA00B
+

After the code or the string header name, the header value is + immediately encoded.

+ +

End Response

+

Signals the end of this request-handling cycle. If the + reuse flag is true (anything other than 0 in the actual + C code), this TCP connection can now be used to handle new incoming + requests. If reuse is false (==0), the connection should + be closed.

+ +

Get Body Chunk

+

The container asks for more data from the request (If the body was + too large to fit in the first packet sent over or when the request is + chunked). The server will send a body packet back with an amount of data + which is the minimum of the request_length, the maximum send + body size (8186 (8 Kbytes - 6)), and the number of bytes + actually left to send from the request body.
+ If there is no more data in the body (i.e. the servlet container is + trying to read past the end of the body), the server will send back an + empty packet, which is a body packet with a payload length of 0. + (0x12,0x34,0x00,0x00)

+ +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.html.fr.utf8 b/docs/manual/mod/mod_proxy_ajp.html.fr.utf8 new file mode 100644 index 0000000..d119074 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.fr.utf8 @@ -0,0 +1,693 @@ + + + + + +mod_proxy_ajp - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_ajp

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + + +
Description:Module de support AJP pour +mod_proxy
Statut:Extension
Identificateur de Module:proxy_ajp_module
Fichier Source:mod_proxy_ajp.c
Compatibilité:Disponible à partir de la version 2.1 du serveur HTTP +Apache
+

Sommaire

+ +

Ce module nécessite le chargement de mod_proxy. Il fournit le support du Protocole Apache + JServ version 1.3 (nommé dans la suite de ce document + AJP13).

+ +

Pour être en mesure d'exploiter le protocole AJP13, + il est donc nécessaire de charger les modules + mod_proxy et mod_proxy_ajp.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

Utilisation

+

Ce module permet de mandater en inverse un serveur d'application + d'arrière-plan (comme Apache Tomcat) qui utilise le protocole AJP13. + Son utilisation est similaire à celle d'un mandataire inverse HTTP, + mais s'appuie sur le prefixe ajp:// :

+ +

Mandataire inverse simple

ProxyPass "/app" "ajp://backend.example.com:8009/app"
+
+ +

Les options telles que l'option secret de Tomcat (requise + par défaut depuis Tomcat 8.5.51 et 9.0.31) peut tout simplement être ajoutée + en tant que paramètre séparé à la fin des directives ProxyPass ou BalancerMember. Ce paramètre est disponible à + partir de la version 2.4.42 du serveur HTTP Apache :

+

Mandataire inverse simple avec l'option secret

ProxyPass "/app" "ajp://backend.example.com:8009/app" secret=YOUR_AJP_SECRET
+
+ +

On peut aussi configurer un répartiteur de charge :

+

Mandataire inverse avec répartiteur de charge

<Proxy "balancer://cluster">
+    BalancerMember "ajp://app1.example.com:8009" loadfactor=1
+    BalancerMember "ajp://app2.example.com:8009" loadfactor=2
+    ProxySet lbmethod=bytraffic
+</Proxy>
+ProxyPass "/app" "balancer://cluster/app"
+
+ +

Notez qu'en général, la directive ProxyPassReverse n'est pas + nécessaire. La requête AJP inclut l'en-tête host original fourni + au mandataire, et le serveur d'application est sensé générer des + en-têtes auto-référençants relatifs à cet hôte ; aucune réécriture + n'est donc nécessaire.

+ +

La situation la plus courante dans laquelle la directive ProxyPassReverse est nécessaire se + rencontre lorsque le chemin de l'URL au niveau du mandataire est + différente de celle du serveur d'arrière-plan. Dans ce cas, un + en-tête redirect peut être réécrit relativement à l'URL de l'hôte + original (et non du serveur d'arrière-plan ajp:// URL) + ; par exemple :

+

Réécriture d'un chemin mandaté

ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
+ProxyPassReverse "/apps/foo" "http://www.example.com/foo"
+
+

Il est cependant préférable en général de déployer l'application + sur le serveur d'arrière-plan avec le même chemin que sur le + mandataire. +

+
top
+
+

Variables d'environnement

+

Les variables d'environnement dont le nom possède le préfixe + AJP_ sont transmises au serveur original en tant + qu'attributs de requête AJP (le préfixe AJP_ étant supprimé du + nom de la clé).

+
top
+
+

Vue d'ensemble du protocole

+

Le protocole AJP13 est orienté paquet. Le format + binaire a été préféré, probablement pour des raisons de + performances, au format texte pourtant plus lisible. Le serveur web + communique avec le conteneur de servlets sur une connexion TCP. Pour + diminuer la charge induite par le processus de création de socket, + le serveur web va tenter d'utiliser des connexions TCP persistantes + avec le conteneur de servlets, et de réutiliser les connexions + pendant plusieurs cycles requêtes/réponse.

+

Lorsqu'une connexion a été assignée à une requête particulière, + elle ne sera utilisée pour aucune autre jusqu'à ce que le cycle de + traitement de la requête se soit terminé. En d'autres termes, il n'y + a pas de multiplexage des requêtes sur une connexion. Ceci se + traduit par un code beaucoup plus simple à chaque extrémité de la + connexion, un nombre plus important de connexions étant cependant + ouvertes en même temps.

+

Lorsque le serveur web a ouvert une connexion vers le conteneur + de servlets, celle-ci peut se trouver dans l'un des états suivants + :

+
    +
  • Idle
    Aucune requête n'est traitée sur cette + connexion.
  • +
  • Assigned
    La connexion fait l'objet d'un traitement de + requête.
  • +
+

Lorsqu'une connexion est assignée au traitement d'une requête + particulière, les informations de base de cette dernière (comme les + en-têtes HTTP, etc...) sont envoyées sur la connexion sous une forme + très condensée (par exemple les chaînes courantes sont codées sous + forme d'entiers). Vous trouverez des détails sur ce format plus + loin dans la structure des paquets de requête. Si la requête possède + un corps (content-length > 0), il est envoyé dans un + paquet séparé immédiatement après.

+

A ce moment, le conteneur est probablement prêt à traiter la + requête. Au cours de ce traitement, il peut renvoyer les messages + suivants au serveur web :

+
    +
  • SEND_HEADERS
    Renvoie un jeu d'en-têtes au navigateur.
  • +
  • SEND_BODY_CHUNK
    Renvoie un tronçon de corps de requête au + navigateur. +
  • +
  • GET_BODY_CHUNK
    Reçoit un autre tronçon de données de la + requête si elle n'a pas encore été transmise intégralement. Ce type + de transmission est nécessaire car les paquets possèdent une taille + maximale fixe, et des quantités quelconques de données peuvent être + contenues dans le corps de la requête (pour un chargement de + fichier, par exemple). Notez que cela n'a rien à voir avec le + transfert HTTP fractionné.
  • +
  • END_RESPONSE
    Termine le cycle du traitement de la + requête.
  • +
+

Chaque message est associé à un paquet de données formaté + différemment. Voir plus loin les structures des paquets de réponses + pour plus de détails.

+
top
+
+

Structure de base des paquets

+

Ce protocole hérite en partie de XDR, mais il diffère sur de + nombreux points (pas d'alignement sur 4 bits, par exemple).

+

AJP13 utilise les octets selon leur ordre d'arrivée par le réseau + pour tous les types de données.

+

Le protocole comporte quatre types de données : octets, booléens, + entiers et chaînes de caractères.

+
+
Octet
Un seul octet.
+
Booléen
+
Un seul octet, 1 = vrai, 0 = faux. + L'utilisation d'autres valeurs non nulles (dans le style C) peut + fonctionner dans certains cas, mais pas dans certains autres..
+
Entier
+
Un nombre compris entre 0 et 2^16 (32768), stocké + sur 2 octets en débutant par l'octet de poids forts.
+
Chaîne
+
Une chaîne de taille variable (longueur limitée à 2^16). Elle + est codée comme suit : les deux premiers octets représentent la + longueur de la chaîne, les octets suivants constituent la chaîne + proprement dite (y compris le '\0' final). Notez que la longueur + encodée dans les deux premiers octets ne prend pas en compte le + '\0' final, de la même manière que strlen. Cela peut + prêter à confusion du point de vue de Java qui est surchargé de + déclarations d'autoincrémentation étranges destinées à traiter + ces terminateurs. Je suppose que le but dans lequel cela a + été conçu ainsi était de permettre au code C d'être plus efficace + lors de la lecture de chaînes en provenance du conteneur de + servlets -- avec le caractère \0 final, le code C peut transmettre + des références dans un seul tampon, sans avoir à effectuer de + copie. En l'absence du caractère \0 final, le code C doit + effectuer une copie afin de pouvoir tenir compte de sa notion de + chaîne.
+
+ +

Taille du paquet

+

Selon la majorité du code, la taille maximale du paquet est de + 8 * 1024 bytes (8K). La taille réelle du paquet est + encodée dans l'en-tête.

+ +

En-têtes de paquet

+

Les paquets envoyés par le serveur vers le conteneur commencent + par 0x1234. Les paquets envoyés par le conteneur vers + le serveur commencent par AB (c'est à dire le code + ASCII de A suivi du code ASCII de B). Ensuite, vient un entier (codé + comme ci-dessus) représentant la longueur des données transmises. + Bien que ceci puisse faire croire que la taille maximale des données + est de 2^16, le code définit en fait ce maximum à 8K.

+ + + + + + + + + + + + + + + + + + + + +
Format du paquet (Serveur->Conteneur)
Octet01234...(n+3)
Contenu0x120x34Taille des données (n)Data
+ + + + + + + + + + + + + + + + + + + + +
Format du paquet + (Conteneur->Serveur)
Octet01234...(n+3)
ContenuABTaille des données (n)Data
+

Pour la plupart des paquets, le premier octet de la charge utile + encode le type de message, à l'exception des paquets contenant un + corps de requête envoyés du serveur vers le conteneur -- ils + comportent un en-tête standard (0x1234 suivi de la taille + du paquet), mais celui-ci n'est suivi d'aucun préfixe.

+

Le serveur web peut envoyer les messages suivants au conteneur + de servlets :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType de paquetSignification
2Fait suivre la requêteDébute le cycle de traitement de la requête avec les données + qui suivent.
7ArrêtLe serveur web demande au conteneur de s'arrêter.
8PingLe serveur web demande au conteneur de prendre le contrôle + (phase de connexion sécurisée).
10CPingLe serveur web demande au conteneur de répondre rapidement + avec un CPong. +
noneDonnéesTaille (2 octets) et les données correspondantes.
+

À des fins de sécurité, le conteneur n'effectuera réellement son + Arrêt que si la demande provient de la machine par + laquelle il est hébergé.

+

Le premier paquet Données est envoyé immédiatement + après le paquet Faire suivre la requête par le serveur + web.

+

Le conteneur de servlets peut envoyer les types de messages + suivants au serveur web :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType de paquetSignification
3Envoi d'un tronçon de corpsEnvoi d'un tronçon de corps depuis le conteneur de servlets + vers le serveur web (et probablement vers le navigateur).
4Envoie les en-têtesEnvoi des en-têtes de réponse depuis le conteneur de + servlets vers le serveur web (et probablement vers le + navigateur).
5Fin de la réponseMarque la fin de la réponse (et par conséquent du cycle de + traitement de la requête). +
6Réception du tronçon de corps suivantRéception de la suite des données de la requête si elles + n'ont pas encore été entièrement transmises.
9Réponse CPongLa réponse à une requête CPing
+

Chacun des messages ci-dessus possède une structure interne + différente dont vous trouverez les détails ci-dessous.

+ +
top
+
+

Structure des paquets de +requête

+

Pour les messages de type Faire suivre la requête depuis + le serveur vers le conteneur :

+
AJP13_FORWARD_REQUEST :=
+    prefix_code      (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
+    method           (byte)
+    protocol         (string)
+    req_uri          (string)
+    remote_addr      (string)
+    remote_host      (string)
+    server_name      (string)
+    server_port      (integer)
+    is_ssl           (boolean)
+    num_headers      (integer)
+    request_headers *(req_header_name req_header_value)
+    attributes      *(attribut_name attribute_value)
+    request_terminator (byte) OxFF
+

Les request_headers possèdent la structure suivante + : +

req_header_name :=
+    sc_req_header_name | (string)  [voir ci-dessous pour la manière dont
+    ceci est interprété]
+
+sc_req_header_name := 0xA0xx (integer)
+
+req_header_value := (string)
+

Les attributes sont optionnels et possèdent la + structure suivante :

+
attribute_name := sc_a_name | (sc_a_req_attribute string)
+
+attribute_value := (string)
+

Un des en-têtes les plus importants est + content-length, car il indique si le conteneur doit ou + non attendre un autre paquet immédiatement.

+

Description détaillée de la requête que le serveur + fait suivre vers le conteneur +

+

Préfixe de la requête

+

Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour + les détails des autres codes de préfixes.

+ +

Méthode

+

La méthode HTTP, encodée sous la forme d'un seul octet :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom commandeCode
OPTIONS1
GET2
HEAD3
POST4
PUT5
DELETE6
TRACE7
PROPFIND8
PROPPATCH9
MKCOL10
COPY11
MOVE12
LOCK13
UNLOCK14
ACL15
REPORT16
VERSION-CONTROL17
CHECKIN18
CHECKOUT19
UNCHECKOUT20
SEARCH21
MKWORKSPACE22
UPDATE23
LABEL24
MERGE25
BASELINE_CONTROL26
MKACTIVITY27
+

Les versions futures d'ajp13 pourront transmettre des méthodes + supplémentaires, même si elles ne font pas partie de cette + liste.

+ +

protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl

+

Les significations de ces éléments sont triviales. Ils sont tous + obligatoires et seront envoyés avec chaque requête.

+ +

En-têtes

+

La structure de request_headers est la suivante + : tout d'abord, le nombre d'en-têtes num_headers est + encodé, suivi d'une liste de paires nom d'en-tête + req_header_name / valeur req_header_value. + Les noms d'en-têtes courants sont codés sous forme d'entiers afin de + gagner de la place. Si le nom d'en-tête ne fait partie de la liste + des en-têtes courants, il est encodé normalement (une chaîne de + caractères préfixée par la taille). La liste des en-têtes courants + sc_req_header_name avec leurs codes se présente comme + suit (il sont tous sensibles à la casse) :

+ + + + + + + + + + + + + + + + + + + +
NomValeur du codeNom du code
accept0xA001SC_REQ_ACCEPT
accept-charset0xA002SC_REQ_ACCEPT_CHARSET +
accept-encoding0xA003SC_REQ_ACCEPT_ENCODING +
accept-language0xA004SC_REQ_ACCEPT_LANGUAGE +
authorization0xA005SC_REQ_AUTHORIZATION
connection0xA006SC_REQ_CONNECTION
content-type0xA007SC_REQ_CONTENT_TYPE
content-length0xA008SC_REQ_CONTENT_LENGTH
cookie0xA009SC_REQ_COOKIE
cookie20xA00ASC_REQ_COOKIE2
host0xA00BSC_REQ_HOST
pragma0xA00CSC_REQ_PRAGMA
referer0xA00DSC_REQ_REFERER
user-agent0xA00ESC_REQ_USER_AGENT
+

Le code Java qui lit ceci extrait l'entier représenté par les + deux premiers octets, et si le premier octet est + '0xA0', il utilise l'entier représenté par le deuxième + octet comme index d'un tableau de noms d'en-têtes. Si le premier + octet n'est pas 0xA0, l'entier représenté par les deux + octets est considéré comme la longueur d'une chaîne qui est alors + lue.

+

Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède + une taille supérieure à 0x9FFF (==0xA000 - 1), ce qui + est vraisemblable, bien qu'un peu arbitraire.

+

Note:

+ L'en-tête content-length est extrêmement important. + S'il est présent et non nul, le conteneur considère que la requête + possède un corps (une requête POST, par exemple), et lit + immédiatement le paquet suivant dans le flux d'entrée pour extraire + ce corps. +
+ +

Attributs

+

Les attributs préfixés par ? (par exemple + ?context) sont tous optionnels. Chacun d'eux est + représenté par un octet correspondant au type de l'attribut et par + sa valeur (chaîne ou entier). Ils peuvent être envoyés dans un ordre + quelconque (bien que le code C les envoie dans l'ordre ci-dessous). + Un code de terminaison spécial est envoyé pour signaler la fin de la + liste des attributs optionnels. La liste des codes est la suivante + :

+ + + + + + + + + + + + + + + +
InformationValeur codeType de valeurNote
?context0x01-Non implémenté + actuellement +
?servlet_path0x02-Non implémenté + actuellement +
?remote_user0x03String
?auth_type0x04String
?query_string0x05String
?jvm_route0x06String
?ssl_cert0x07String
?ssl_cipher0x08String
?ssl_session0x09String
?req_attribute0x0AStringNom (le + nom de l'attribut vient ensuite)
?ssl_key_size0x0BInteger
?secret0x0CStringSupporté depuis la + version 2.4.42
are_done0xFF-request_terminator
+

context et servlet_path ne sont pas + définis actuellement par le code C, et la majorité du code Java + ignore complètement ce qui est envoyé par l'intermédiaire de ces + champs (il va même parfois s'interrompre si une chaîne est + envoyée après un de ces codes). Je ne sais pas si c'est une bogue ou + une fonctionnalité non implémentée, ou tout simplement du code + obsolète, mais en tout cas, il n'est pris en charge par aucune des + deux extrémités de la connexion.

+

remote_user et auth_type concernent + probablement l'authentification au niveau HTTP, et contiennent le + nom de l'utilisateur distant ainsi que le type d'authentification + utilisée pour établir son identité (à savoir Basic, Digest).

+

query_string, ssl_cert, + ssl_cipher, ssl_session et + ssl_key_size contiennent les + éléments HTTP et HTTPS correspondants.

+

jvm_route est utilisé dans le cadre des sessions + persistantes, en associant une session utilisateur à une instance + Tomcat particulière en présence de plusieurs répartiteurs de + charge.

+

Le mot de passe est envoyé lorsque la directive ProxyPass ou BalancerMember utilise le paramètre + secret=secret_keyword. Le serveur d'arrière-plan doit savoir + utiliser les mots de passe et les valeurs doivent correspondre. + request.secret ou requiredSecret sont documentés + dans la configuration AJP d'Apache Tomcat.

+

Au delà de cette liste de base, tout autre attribut + supplémentaire peut être envoyé via le code + req_attribute 0x0A. Une paire de chaînes + représentant le nom et la valeur de l'attribut est envoyée + immédiatement après chaque instance de ce code. Les variables + d'environnement sont transmises par cette méthode.

+

Enfin, lorsque tous les attributs ont été transmis, le + terminateur d'attributs, 0xFF, est envoyé. Ce dernier + indique à la fois la fin de la liste d'attributs et la fin du paquet + de la requête

+ +
top
+
+

Structure du paquet de la +réponse

+

Pour les messages que le conteneur peut renvoyer au + serveur.

+
AJP13_SEND_BODY_CHUNK :=
+  prefix_code   3
+  chunk_length  (integer)
+  chunk        *(byte)
+  chunk_terminator (byte) Ox00
+
+
+AJP13_SEND_HEADERS :=
+  prefix_code       4
+  http_status_code  (integer)
+  http_status_msg   (string)
+  num_headers       (integer)
+  response_headers *(res_header_name header_value)
+
+res_header_name :=
+    sc_res_header_name | (string)   [voir ci-dessous pour la manière
+    dont ceci est interprété]
+
+sc_res_header_name := 0xA0 (byte)
+
+header_value := (string)
+
+AJP13_END_RESPONSE :=
+  prefix_code       5
+  reuse             (boolean)
+
+
+AJP13_GET_BODY_CHUNK :=
+  prefix_code       6
+  requested_length  (integer)
+

Détails:

+

Envoi d'un tronçon de corps

+

Le tronçon se compose essentiellement de données binaires et est + renvoyé directement au navigateur.

+ +

Envoi des en-têtes

+

Les code et message d'état correspondent aux code et message HTTP + habituels (par exemple 200 et OK). Les + noms d'en-têtes de réponses sont codés de la même façon que les noms + d'en-têtes de requêtes. Voir ci-dessus le codage des en-têtes pour + plus de détails à propos de la manière dont les codes se distinguent + des chaînes.
+ Les codes des en-têtes courants sont ::

+ + + + + + + + + + + + + +
NomValeur code
Content-Type0xA001
Content-Language0xA002
Content-Length0xA003
Date0xA004
Last-Modified0xA005
Location0xA006
Set-Cookie0xA007
Set-Cookie20xA008
Servlet-Engine0xA009
Status0xA00A
WWW-Authenticate0xA00B
+

La valeur de l'en-tête est codée immédiatement après le code ou + la chaîne du nom d'en-tête.

+ +

Fin de la réponse

+

Signale la fin de ce cycle de traitement de requête. Si le + drapeau reuse est à true (toute valeur autre que + 0 en langage C pur), cette + connexion TCP peut être réutilisée pour traiter de nouvelles + requêtes entrantes. Si reuse est à false + (==0), la connexion sera fermée.

+ +

Réception d'un tronçon de corps

+

Le conteneur réclame la suite des données de la requête (dans le + cas où la taille du corps était trop importante pour pouvoir être + contenue dans le premier paquet envoyé, où lorsque la requête est + fractionnée). Le serveur va alors envoyer un paquet contenant une + quantité de données correspondant au minimum de la + request_length, la taille maximale de corps envoyée + (8186 (8 Koctets - 6)), et le nombre réel d'octets + restants à envoyer pour ce corps de requête.
+ S'il ne reste plus de données à transmettre pour ce corps de requête + (c'est à dire si le conteneur de servlets tente de lire au delà de + la fin du corps), le serveur va renvoyer un paquet vide + dont la charge utile est de longueur 0 et se présentant sous la + forme (0x12,0x34,0x00,0x00).

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 new file mode 100644 index 0000000..086b6f9 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 @@ -0,0 +1,565 @@ + + + + + +mod_proxy_ajp - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_proxy_ajp

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:mod_proxy 㧠AJP +をサãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
ステータス:Extension
モジュール識別å­:proxy_ajp_module
ソースファイル:mod_proxy_ajp.c
+

概è¦

+ +

本モジュールã«ã¯ mod_proxy ãŒå¿…è¦ã§ã™ã€‚ + Apache JServ Protocol version 1.3 (ä»¥é™ AJP13) + をサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚

+ +

AJP13 プロトコルを扱ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ + mod_proxy 㨠mod_proxy_ajp + をサーãƒã«çµ„ã¿è¾¼ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

警告

+

安全ãªã‚µãƒ¼ãƒã«ã™ã‚‹ã¾ã§ãƒ—ロクシ機能ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。 + オープンプロキシサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚〠+ インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚

+
+
+
Support Apache!

トピック

+

ディレクティブ

+

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚ã‚Šã¾ã›ã‚“。

+

Bugfix checklist

å‚ç…§

+
+
top
+
+

プロトコルã®æ¦‚è¦

+

AJP13 プロトコルã¯ãƒ‘ケット指å‘ã§ã™ã€‚ + å¯èª­ãªãƒ—レーンテキスト形å¼ã§ã¯ãªããƒã‚¤ãƒŠãƒªå½¢å¼ã«ãªã£ãŸã®ã¯ã€ + ãŠãらãパフォーマンス上ã®ç†ç”±ã«ã‚ˆã‚Šã¾ã™ã€‚ + ウェブサーãƒã¯ã‚µãƒ¼ãƒ–レットコンテナ㨠TCP コãƒã‚¯ã‚·ãƒ§ãƒ³ã§é€šä¿¡ã—ã¾ã™ã€‚ + ソケット生æˆã¯é‡ã„処ç†ãªã®ã§ã€è² è·ã‚’減らã™ãŸã‚ã«ã€ã‚µãƒ¼ãƒ–レットコンテナã¨ã® + TCP 接続を維æŒã—ã€è¤‡æ•°ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ»ãƒ¬ã‚¹ãƒãƒ³ã‚¹å‡¦ç†ã‚µã‚¤ã‚¯ãƒ«ã«å¯¾ã—ã¦ä¸€ã¤ã® + コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã„ã¾ã‚ã™ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚

+

ã‚るリクエストã«ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã‚‹ã¨ã€ãã®å‡¦ç†ã‚µã‚¤ã‚¯ãƒ«ãŒ + 完了ã™ã‚‹ã¾ã§ä»–ã®ã‚‚ã®ã«ä½¿ã‚れるã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。 + ã¤ã¾ã‚Šã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ä¸Šã§ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®åŒæ™‚処ç†ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。 + ã“ã®ãŸã‚ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ä¸¡ç«¯ã§ã®å®Ÿè¡Œã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’ç°¡æ½”ã«ã§ãる一方ã§ã€ + åŒæ™‚ã«é–‹ãコãƒã‚¯ã‚·ãƒ§ãƒ³ã¯å¤šããªã£ã¦ã„ã¾ã™ã€‚

+

サーブレットコンテナã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’é–‹ã„ãŸå¾Œã¯ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®çŠ¶æ…‹ã¯ + 次ã®ã©ã‚Œã‹ã«ãªã‚Šã¾ã™:

+
    +
  • Idle
    コãƒã‚¯ã‚·ãƒ§ãƒ³ä¸Šã§å‡¦ç†ã•ã‚Œã¦ã„るリクエストã¯ã‚ã‚Šã¾ã›ã‚“。
  • +
  • Assigned
    コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ä¸­ã§ã™ã€‚
  • +
+

コãƒã‚¯ã‚·ãƒ§ãƒ³ãŒç‰¹å®šã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã‚¢ã‚µã‚¤ãƒ³ã•ã‚Œã‚‹ã¨ã€åŸºæœ¬çš„ãªæƒ…å ± (例ãˆã° + HTTP ヘッダ等) ãŒåœ§ç¸®ã•ã‚ŒãŸå½¢ (例ãˆã°é€šå¸¸ã®æ–‡å­—列ã¯æ•´æ•°ã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™) + ã§è»¢é€ã•ã‚Œã¾ã™ã€‚詳細ã¯ä¸‹è¨˜ã®ã€Œãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ‘ケットã®æ§‹é€ ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + リクエストã«ãƒœãƒ‡ã‚£ãŒå­˜åœ¨ (content-length > 0) ã™ã‚Œã°ã€ + 基本的ãªæƒ…å ±ã®ç›´å¾Œã«åˆ¥ãƒ‘ケットã§è»¢é€ã•ã‚Œã¾ã™ã€‚

+

ã“ã®æ™‚点ã§ãŠãらãã€ã‚µãƒ¼ãƒ–レットコンテナã¯å‡¦ç†ã‚’開始ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + ã§ã™ã®ã§ã€æ¬¡ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ウェブサーãƒã«æˆ»ã—ã¦çŸ¥ã‚‰ã›ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+
    +
  • SEND_HEADERS
    ブラウザã«ãƒ˜ãƒƒãƒ€ã‚’é€ä¿¡ã—ã¾ã™ã€‚
  • +
  • SEND_BODY_CHUNK
    ブラウザã«ãƒœãƒ‡ã‚£ãƒ‡ãƒ¼ã‚¿ã®ãƒãƒ£ãƒ³ã‚¯ã‚’é€ã‚Šã¾ã™ã€‚ +
  • +
  • GET_BODY_CHUNK
    リクエストã®ãƒ‡ãƒ¼ã‚¿ã‚’å…¨ã¦å—ã‘å–り終ã‚ã£ã¦ã„ãªã„ã¨ãã«ã€ + 残ã£ã¦ã„るデータをå—ã‘å–ã‚Šã¾ã™ã€‚パケットã«ã‚る定ã¾ã£ãŸæœ€å¤§é•·ãŒã‚ã‚Šã€ä»»æ„ã® + 大ãã•ã®ãƒ‡ãƒ¼ã‚¿ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒœãƒ‡ã‚£ã¨ã—ã¦å«ã¾ã‚Œã†ã‚‹å ´åˆ + (例ãˆã°ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¢ãƒƒãƒ—ロードã®å ´åˆ) ã«å¿…è¦ã¨ãªã‚Šã¾ã™ã€‚ + (注: HTTP ã®ãƒãƒ£ãƒ³ã‚¯è»¢é€ã¨ã¯é–¢é€£ã‚ã‚Šã¾ã›ã‚“。)
  • +
  • END_RESPONSE
    リクエスト処ç†ã‚µã‚¤ã‚¯ãƒ«ã‚’終了ã—ã¾ã™ã€‚
  • +
+

個々ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ãã‚Œãžã‚Œç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ‘ケット形å¼ã«ãªã£ã¦ã„ã¾ã™ã€‚ + 後述ã®ã€Œãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ‘ケットã®æ§‹é€ ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+
top
+
+

基本パケット構造

+

ã“ã®ãƒ—ロトコルã«ã¯ XDR ã‹ã‚‰å—ã‘継ã„ã éƒ¨åˆ†ãŒå°‘ã—ã‚ã‚Šã¾ã™ãŒã€å¤šãã®ç‚¹ã§ + ç•°ãªã‚Šã¾ã™ (例ãˆã° 4 ãƒã‚¤ãƒˆã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆã§ãªã„ã“ã¨ãªã©) 。

+

ãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€ãƒ¼: 個々ã®ãƒã‚¤ãƒˆã®ã‚¨ãƒ³ãƒ‡ã‚£ã‚¢ãƒ³ãŒã©ã†ãªã£ã¦ã„ã‚‹ã‹ã¯ã€ + ç§ã¯è©³ã—ããªã„ã®ã§ã™ãŒã€ãƒªãƒˆãƒ«ã‚¨ãƒ³ãƒ‡ã‚£ã‚¢ãƒ³ã«ãªã£ã¦ã„ã‚‹ã¨æ€ã„ã¾ã™ã€‚ + XDR 仕様ã§ãã†ãªã£ã¦ã„ã‚‹ã®ã¨ã€ç´ æ™´ã‚‰ã—ã„ã“ã¨ã« sys/socket ライブラリ㌠+ (C ã§) ãã†ã„ã†é¢¨ã«ã§ãã¦ã„ã‚‹ã®ã§ãã†ãªã®ã ã¨æ€ã„ã¾ã—ãŸã€‚ + ソケット呼ã³å‡ºã—ã®å†…部ã«ã¤ã„ã¦ã‚ˆã‚Šè©³ã—ã„æ–¹ãŒã„らã£ã—ゃã„ã¾ã—ãŸã‚‰ã€ + ã”教授ãã ã•ã„。

+

プロトコルã«ã¯ 4 ã¤ã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ãŒã‚ã‚Šã¾ã™: byte, boolean, + integer, string ã§ã™ã€‚

+
+
Byte
ãƒã‚¤ãƒˆä¸€ã¤ã§ã™ã€‚
+
Boolean
+
ãƒã‚¤ãƒˆä¸€ã¤ã§ã€1 = true, 0 = false ã§ã™ã€‚ + (C ã®ã‚ˆã†ã«) éžé›¶ã‚’真ã¨ã—ã¦æ‰±ã£ã¦ã—ã¾ã†ã¨ã€ã‚ã‚‹å ´åˆã¯å‹•ãã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ã—〠+ å‹•ã‹ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+
Integer
+
0 ã‹ã‚‰ 2^16 (32768) ã®ç¯„囲ã®æ•°å­—。高次㮠2 ãƒã‚¤ãƒˆãŒ + å…ˆã«æ ¼ç´ã•ã‚Œã¾ã™ã€‚
+
String
+
å¯å¤‰é•·ã®æ–‡å­—列 (2^16 ãŒé•·ã•ã®ä¸Šé™) 。長ã•æƒ…å ±ã®ãƒ‘ケット 2 ãƒã‚¤ãƒˆã®å¾Œã« + 文字列 (終端文字 '\0' ã‚’å«ã‚€) ãŒç¶šãå½¢å¼ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚ + エンコードã•ã‚Œã¦ã„ã‚‹é•·ã•æƒ…å ±ã¯æœ€å¾Œã® '\0' をカウントã—ãªã„ + ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„――ã“れ㯠strlen ã¨åŒæ§˜ã§ã™ã€‚ + ã“れらã®çµ‚端文字をスキップã™ã‚‹ãŸã‚ã«ã€ã‚ã¾ã‚Šæ„味ã®ç„¡ã„インクリメント文 + ã‚’ãŸãã•ã‚“書ã‹ãªã„ã¨ã„ã‘ãªã„ã®ã¯ã€ + Java ã®å´ã‹ã‚‰è¦‹ã‚‹ã¨å°‘ã—紛らã‚ã—ãæ„Ÿã˜ã‚‰ã‚Œã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã“ã†ãªã£ãŸç†ç”±ã¯ãŠãらãã€Servlet コンテナã‹ã‚‰è¿”ã•ã‚Œã‚‹æ–‡å­—列を読ã¿å‡ºã™æ™‚ã«ã€ + 効率よã C ã®ã‚³ãƒ¼ãƒ‰ã‚’書ã‘るよã†ã«ã™ã‚‹â€•â€•ã‚µãƒ¼ãƒ–レットã‹ã‚‰è¿”ã•ã‚Œã‚‹ + 文字列㯠\0 文字ã§çµ‚端ã•ã‚Œã¦ã„ã‚‹ã®ã§ã€C ã®ã‚³ãƒ¼ãƒ‰ã§ã¯ã‚ã–ã‚ã–コピーをã›ãšã«ã€ + 一ã¤ã®ãƒãƒƒãƒ•ã‚¡ã¸ã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ã‚’å–り回ã™ã‚ˆã†ã«æ›¸ãã“ã¨ãŒã§ãる―― + ãŸã‚ã ã¨æ€ã‚ã‚Œã¾ã™ã€‚ + '\0' 文字ãŒãªã„å ´åˆã¯ã€C ã§ã¯æ–‡å­—列ã®è¦å‰‡ã«åˆã†ã‚ˆã†ã«ã‚³ãƒ”ーã—ãªã‘れ㰠+ ã„ã‘ãªããªã£ã¦ã—ã¾ã„ã¾ã™ã€‚
+
+ +

パケットサイズ

+

多ãã®ã‚³ãƒ¼ãƒ‰ã§ãã†ãªã£ã¦ã„ã‚‹ã®ã§ã™ãŒã€ãƒ‘ケットサイズã®æœ€å¤§ã‚µã‚¤ã‚ºã¯ + 8 * 1024 (8K) ã§ã™ã€‚パケットã®å®Ÿéš›ã®é•·ã•ã¯ãƒ˜ãƒƒãƒ€ã« + エンコードã•ã‚Œã¦å…¥ã£ã¦ã„ã¾ã™ã€‚

+ +

パケットヘッダ

+

サーãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒŠã«é€å‡ºã•ã‚Œã‚‹ãƒ‘ケット㯠0x1234 ã§å§‹ã¾ã‚Šã¾ã™ã€‚ + コンテナã‹ã‚‰ã‚µãƒ¼ãƒã«é€ã‚‰ã‚Œã‚‹ãƒ‘ケット㯠AB (ASCII コード A 㨠+ ASCII コード B) ã§å§‹ã¾ã‚Šã¾ã™ã€‚ã“ã®äºŒãƒã‚¤ãƒˆã®å¾Œã«ã€ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰é•·ãŒ (上記ã®å½¢å¼ã§) + 続ãã¾ã™ã€‚ã“ã®ãŸã‚ã€ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰é•·ã®æœ€å¤§å€¤ã¯ 2^16 ã«ã§ãるよã†ã«æ€ãˆã¾ã™ãŒã€ + 実際ã«ã¯ã‚³ãƒ¼ãƒ‰ã§ã¯æœ€å¤§å€¤ã¯ 8K ã«è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚

+ + + + + + + + + + + + + + + + + + + +
ãƒ‘ã‚±ãƒƒãƒˆå½¢å¼ (Server->Container)
Byte01234...(n+3)
Contents0x120x34データ長 (n)Data
+ + + + + + + + + + + + + + + + + + + +
ãƒ‘ã‚±ãƒƒãƒˆå½¢å¼ (Container->Server)
Byte01234...(n+3)
ContentsABデータ長 (n)Data
+

ã»ã¨ã‚“ã©ã®ãƒ‘ケットã§ã€ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰ã®æœ€åˆã®ãƒã‚¤ãƒˆãŒãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®åž‹ã‚’エンコード + ã—ã¦ã„ã¾ã™ã€‚例外ã¯ã‚µãƒ¼ãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒŠã«é€ã‚‰ã‚Œã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ãƒ‘ケットã§ã™ + ――ã“れらã¯æ¨™æº–çš„ãªãƒ‘ã‚±ãƒƒãƒˆå½¢å¼ (0x1234 ã¨ãƒ‘ケット長) + ã§ã™ãŒã€ãã®å¾Œã«ç¶šãプレフィックスコードãŒã‚ã‚Šã¾ã›ã‚“。

+

ウェブサーãƒã¯æ¬¡ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’サーブレットコンテナã«é€å‡ºã§ãã¾ã™ã€‚

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
コードパケットã®åž‹æ„味
2Forward Requestリクエスト処ç†ã‚µã‚¤ã‚¯ãƒ«ã‚’後続ã®ãƒ‡ãƒ¼ã‚¿ã¨ã¨ã‚‚ã«é–‹å§‹ã™ã‚‹ã€‚
7ShutdownウェブサーãƒãŒã‚³ãƒ³ãƒ†ãƒŠã«ã€ã‚³ãƒ³ãƒ†ãƒŠã‚’終了ã™ã‚‹ã‚ˆã†ã«ä¼ãˆã‚‹ã€‚
8PingウェブサーãƒãŒã‚³ãƒ³ãƒ†ãƒŠã«åˆ¶å¾¡ã‚’å—ã‘æŒã¤ã‚ˆã†ã«ä¼ãˆã‚‹ + (セキュアログインフェーズ) 。
10CPingウェブサーãƒãŒã‚³ãƒ³ãƒ†ãƒŠã« CPong ã§å³åº§ã«å¿œç­”ã™ã‚‹ã‚ˆã†ã«ä¼ãˆã‚‹ã€‚
noneDataサイズ (2 ãƒã‚¤ãƒˆ) ã¨ãã‚Œã«ç¶šãボディデータ。
+

基本的ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚’確ä¿ã™ã‚‹ãŸã‚ã€ãƒ›ã‚¹ãƒˆã•ã‚Œã¦ã„るマシンã¨åŒä¸€ã® + マシンã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ã®ã¿ã€ã‚³ãƒ³ãƒ†ãƒŠã¯å®Ÿéš›ã« Shutdown + を実行ã—ã¾ã™ã€‚

+

最åˆã® Data パケットã¯ã€Forward Request + ã®ç›´å¾Œã«ã‚¦ã‚§ãƒ–サーãƒã‹ã‚‰é€ã‚‰ã‚Œã¾ã™ã€‚

+

サーブレットコンテナã¯ã‚¦ã‚§ãƒ–サーãƒã«ã€æ¬¡ã®ã‚¿ã‚¤ãƒ—ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
コードパケットã®åž‹æ„味
3Send Body Chunkサーブレットコンテナã‹ã‚‰ã‚¦ã‚§ãƒ–サーãƒã« + (ãã—ã¦ãŠãらããã®ã¾ã¾ãƒ–ラウザã«)ã€ãƒœãƒ‡ã‚£ã®ãƒãƒ£ãƒ³ã‚¯ã‚’é€ã‚‹ã€‚
4Send Headersサーブレットコンテナã‹ã‚‰ã‚¦ã‚§ãƒ–サーãƒã« (ãã—ã¦ãŠãらããã®ã¾ã¾ãƒ–ラウザã«) + レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ã‚’é€ã‚‹ã€‚
5End Responseレスãƒãƒ³ã‚¹ (ã¤ã¾ã‚Šãƒªã‚¯ã‚¨ã‚¹ãƒˆå‡¦ç†ã‚µã‚¤ã‚¯ãƒ«) 終了ã®ç›®å°ã‚’é€ã‚‹ã€‚ +
6Get Body Chunkã¾ã å…¨ã¦è»¢é€ã•ã‚Œã¦ã„ãªã„å ´åˆã€æ®‹ã£ã¦ã„るリクエストã®ãƒ‡ãƒ¼ã‚¿ã‚’å—ã‘å–る。 +
9CPong 応答CPing リクエストã«å¿œç­”ã™ã‚‹ã€‚
+

上記メッセージã¯ã€ãã‚Œãžã‚Œå†…部構造ãŒç•°ãªã£ã¦ã„ã¾ã™ã€‚詳細ã¯ä¸‹è¨˜ã‚’ã”覧ãã ã•ã„。 +

+ +
top
+
+

リクエストパケット構造

+

サーãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒŠã¸é€ã‚‰ã‚Œã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒ + Forward Request åž‹ã®å ´åˆ :

+
AJP13_FORWARD_REQUEST :=
+    prefix_code      (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
+    method           (byte)
+    protocol         (string)
+    req_uri          (string)
+    remote_addr      (string)
+    remote_host      (string)
+    server_name      (string)
+    server_port      (integer)
+    is_ssl           (boolean)
+    num_headers      (integer)
+    request_headers *(req_header_name req_header_value)
+    attributes      *(attribut_name attribute_value)
+    request_terminator (byte) OxFF
+

request_headers ã¯æ¬¡ã®ã‚ˆã†ãªæ§‹é€ ã«ãªã£ã¦ã„ã¾ã™ : +

req_header_name := 
+    sc_req_header_name | (string)  [see below for how this is parsed]
+
+sc_req_header_name := 0xA0xx (integer)
+
+req_header_value := (string)
+

属性 ã¯ã‚ªãƒ—ションã§ã€æ¬¡ã®ã‚ˆã†ãªæ§‹é€ ã‚’ã—ã¦ã„ã¾ã™ :

+
attribute_name := sc_a_name | (sc_a_req_attribute string)
+
+attribute_value := (string)
+

ã‚‚ã£ã¨ã‚‚é‡è¦ãªãƒ˜ãƒƒãƒ€ã¯ content-length ã ã¨ã„ã†ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。コンテナã¯æ¬¡ã®ãƒ‘ケットを探ã™ã‹ã©ã†ã‹ã‚’〠+ ãれを見ã¦æ±ºã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚

+

Forward Request è¦ç´ ã®è©³ç´°ãªèª¬æ˜Ž +

+

Request prefix

+

リクエストã«ã¤ã„ã¦ã¯å…¨ã¦ã€ã“ã®å€¤ã¯ 2 ã«ãªã‚Šã¾ã™ã€‚ä»–ã® Prefix コードã®è©³ç´°ã¯ + 上記をã”覧ãã ã•ã„。

+ +

Method

+

HTTP メソッド㯠1 ãƒã‚¤ãƒˆã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Command NameCode
OPTIONS1
GET2
HEAD3
POST4
PUT5
DELETE6
TRACE7
PROPFIND8
PROPPATCH9
MKCOL10
COPY11
MOVE12
LOCK13
UNLOCK14
ACL15
REPORT16
VERSION-CONTROL17
CHECKIN18
CHECKOUT19
UNCHECKOUT20
SEARCH21
MKWORKSPACE22
UPDATE23
LABEL24
MERGE25
BASELINE_CONTROL26
MKACTIVITY27
+

今後㮠ajp13 ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ã“ã®ä¸€è¦§ã«ãªã„ã€ä»Šå¾Œè¿½åŠ ã•ã‚Œã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’ + é€ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +

protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl

+

ã“れらã¯ã¾ã•ã«æ–‡å­—通りã®ã‚‚ã®ã§ã™ã€‚ã©ã‚Œã‚‚å¿…è¦ã§ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ¯Žå›žã«ã¤ã + é€ã‚‰ã‚Œã¾ã™ã€‚

+ +

Headers

+

request_headers ã®æ§‹é€ ã¯æ¬¡ã®ã‚ˆã†ãªã‚‚ã®ã§ã™ : + ã¾ãšãƒ˜ãƒƒãƒ€ã®æ•° num_headers ãŒã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚ + 次ã«ãƒ˜ãƒƒãƒ€å req_header_name / 値 req_header_value + ã®çµ„ãŒç¶šãã¾ã™ã€‚効率ã®ãŸã‚ã€ä¸€èˆ¬çš„ãªãƒ˜ãƒƒãƒ€ã¯æ•´æ•°ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã—ã¦è»¢é€ã—ã¾ã™ã€‚ + ヘッダåãŒåŸºæœ¬ãƒ˜ãƒƒãƒ€ã®ä¸€è¦§ã«ç„¡ã„å ´åˆã¯ã€é€šå¸¸é€šã‚Š (文字列ã¨ã—ã¦ã€é•·ã• + プレフィックス付ãã§) 転é€ã•ã‚Œã¾ã™ã€‚一般的ãªãƒ˜ãƒƒãƒ€ + sc_req_header_name ã®ä¸€è¦§ã¨ãã®ã‚³ãƒ¼ãƒ‰ã¯æ¬¡ã®é€šã‚Šã§ã™ + (ã©ã‚Œã‚‚大文字å°æ–‡å­—を区別ã—ã¾ã™) :

+ + + + + + + + + + + + + + + + + + + +
åå‰ã‚³ãƒ¼ãƒ‰ã®å€¤ã‚³ãƒ¼ãƒ‰å
accept0xA001SC_REQ_ACCEPT
accept-charset0xA002SC_REQ_ACCEPT_CHARSET +
accept-encoding0xA003SC_REQ_ACCEPT_ENCODING +
accept-language0xA004SC_REQ_ACCEPT_LANGUAGE +
authorization0xA005SC_REQ_AUTHORIZATION
connection0xA006SC_REQ_CONNECTION
content-type0xA007SC_REQ_CONTENT_TYPE
content-length0xA008SC_REQ_CONTENT_LENGTH
cookie0xA009SC_REQ_COOKIE
cookie20xA00ASC_REQ_COOKIE2
host0xA00BSC_REQ_HOST
pragma0xA00CSC_REQ_PRAGMA
referer0xA00DSC_REQ_REFERER
user-agent0xA00ESC_REQ_USER_AGENT
+

ã“れを読ã¿è¾¼ã‚€ Java ã®ã‚³ãƒ¼ãƒ‰ã§ã¯ã€æœ€åˆã® 2 ãƒã‚¤ãƒˆæ•´æ•°ã‚’å–ã‚Šè¾¼ã¿ã€ + ç›®å°ã«ãªã‚‹ãƒã‚¤ãƒˆ '0xA0' ã§ã‚ã‚Œã°ã€ãƒ˜ãƒƒãƒ€åã®é…列㮠+ インデックスを使ã„ã¾ã™ã€‚先頭ãƒã‚¤ãƒˆãŒ 0xA0 ã§ãªã„å ´åˆã¯ã€ + 先頭 2 ãƒã‚¤ãƒˆã¯æ–‡å­—列長を表ã™æ•´æ•°ã§ã‚ã‚‹ã¨è§£é‡ˆã—ã€èª­ã¿è¾¼ã¿ã¯ã˜ã‚ã¾ã™ã€‚

+

ヘッダåã®é•·ã•ã¯ 0x9999 (==0xA000 -1) 以上ã«ãªã‚‰ãªã„ã¨ã„ㆠ+ 仮定ã®ä¸‹ã«å‹•ã„ã¦ã„ã¦ã€å°‘ã—ã‚ã„ã¾ã„ã§ã™ãŒåˆç†çš„ãªæŒ™å‹•ã«ãªã£ã¦ã„ã¾ã™ã€‚

+

注:

+ content-length ヘッダã¯ã¨ã¦ã‚‚é‡è¦ã§ã™ã€‚ + 存在ã—ã¦ã„ã¦éžã‚¼ãƒ­ã§ã‚ã‚Œã°ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯ãƒœãƒ‡ã‚£ãŒã‚ã‚‹ (例ãˆã° POST + リクエスト) ã¨æŽ¨æ¸¬ã—ã€ãã®ãƒœãƒ‡ã‚£ã‚’å–り込むãŸã‚ã« + 直後ã®ãƒ‘ケットを入力ストリームã‹ã‚‰èª­ã¿è¾¼ã¿ã¯ã˜ã‚ã¾ã™ã€‚ +
+ +

属性

+

? プレフィックスã§å§‹ã¾ã‚‹å±žæ€§ (例 ?context) + ã¯ã€‚çœç•¥å¯èƒ½ã§ã™ã€‚ãã‚Œãžã‚Œå±žæ€§ã®åž‹ã‚’示㙠1 ãƒã‚¤ãƒˆã®ã‚³ãƒ¼ãƒ‰ã¨ã€ + 値(文字列ã‹æ•´æ•°)ãŒç¶šãã¾ã™ã€‚ + ã“れらã¯é †ä¸åŒã§é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ (C ã®ã‚³ãƒ¼ãƒ‰ã¯å¸¸ã«ä¸‹ã®ä¸€è¦§é †ã« + é€ã‚‹ã‚ˆã†ã§ã™ãŒ) 。 + オプションã®å±žæ€§ã®ãƒªã‚¹ãƒˆã®æœ€å¾Œã«ã¯ã€ç‰¹åˆ¥ãªçµ‚了コードãŒé€ã‚‰ã‚Œã¾ã™ã€‚ + コードã®ä¸€è¦§ã¯ :

+ + + + + + + + + + + + + + +
InformationCode ValueType Of ValueNote
?context0x01-未実装 +
?servlet_path0x02-未実装 +
?remote_user0x03String
?auth_type0x04String
?query_string0x05String
?jvm_route0x06String
?ssl_cert0x07String
?ssl_cipher0x08String
?ssl_session0x09String
?req_attribute0x0AStringName (the name of the + attribute follows)
?ssl_key_size0x0BInteger
are_done0xFF-request_terminator
+

context 㨠servlet_path ã¯ç¾åœ¨ã® C ã® + コードã§ã¯ã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。ã¾ãŸã€ã»ã¨ã‚“ã©ã® Java ã®ã‚³ãƒ¼ãƒ‰ã§ã‚‚〠+ ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã§ä½•ãŒé€ã‚‰ã‚Œã¦ã‚‚無視ã•ã‚Œã¾ã™ (ã“れらã®ã‚³ãƒ¼ãƒ‰ã®å¾Œã«æ–‡å­—列㌠+ é€ã‚‰ã‚Œã‚‹ã¨å£Šã‚Œã‚‹ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™)。 + ã“ã‚ŒãŒãƒã‚°ãªã®ã‹ã€å˜ã«æœªå®Ÿè£…ãªã®ã‹ã€æ­´å²çš„経緯ã§æ®‹ã£ã¦ã„るコードãªã®ã‹ + 分ã‹ã‚Šã¾ã›ã‚“ãŒã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ä¸¡å´ã¨ã‚‚ã§è¦‹å½“ãŸã‚Šã¾ã›ã‚“。

+

remote_user 㨠auth_type ã¯ãŠãらã + HTTP レベルã®èªè¨¼ã‚’å‚ç…§ã—ã¦ã„ã¦ã€ãƒªãƒ¢ãƒ¼ãƒˆãƒ¦ãƒ¼ã‚¶ã®ãƒ¦ãƒ¼ã‚¶åã¨èªè¨¼ã«ä½¿ç”¨ã—㟠+ タイプ (例 Basic, Digest) ã«ã¤ã„ã¦ã‚„ã‚Šå–ã‚Šã—ã¾ã™ã€‚

+

query_string, ssl_cert, + ssl_cipher, ssl_session + 㯠HTTP 㨠HTTPS ã®å¯¾å¿œã™ã‚‹éƒ¨åˆ†ã‚’å‚ç…§ã—ã¾ã™ã€‚

+

jvm_route ã¯ã‚¹ãƒ†ã‚£ãƒƒã‚­ãƒ¼ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ã‚µãƒãƒ¼ãƒˆâ€•â€• + ロードãƒãƒ©ãƒ³ã‚¹ã—ã¦ã„る複数ã®ã‚µãƒ¼ãƒä¸­ã®ç‰¹å®šã® Tomcat インスタンスã¨ã€ + ユーザã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¨ã‚’ç´ä»˜ã‘る機能――ã«ä½¿ã‚ã‚Œã¾ã™ã€‚

+

ã“ã®åŸºæœ¬å±žæ€§ä¸€è¦§ã«ç„¡ã„ã‚‚ã®ã«ã¤ã„ã¦ã¯ã€req_attribute + コード 0x0A 経由ã§å±žæ€§ã‚’何個ã§ã‚‚é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 属性ã®åå‰ã¨å€¤ã®æ–‡å­—列ã®çµ„ã‚’ã€ãã‚Œãžã‚Œã“ã®ã‚³ãƒ¼ãƒ‰ã®ç›´å¾Œã«é€ã‚Šã¾ã™ã€‚ + 環境変数ã¯ã“ã®æ–¹æ³•ã§ä¼ãˆã‚‰ã‚Œã¾ã™ã€‚

+

最後ã«å±žæ€§ãŒå…¨ã¦é€ä¿¡ã•ã‚ŒãŸå¾Œã«ã€å±žæ€§ã®çµ‚端を示㙠0xFF + ãŒé€å‡ºã•ã‚Œã¾ã™ã€‚ã“ã®ä¿¡å·ã¯å±žæ€§ã®ä¸€è¦§ã®çµ‚ã‚りを示ã™ã¨åŒæ™‚ã«ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆ + パケットã®çµ‚端をも示ã—ã¦ã„ã¾ã™ã€‚

+ +
top
+
+

レスãƒãƒ³ã‚¹ãƒ‘ケット構造

+

コンテナãŒã‚µãƒ¼ãƒã«é€ã‚Šè¿”ã™ã“ã¨ã®ã§ãるメッセージ:

+
AJP13_SEND_BODY_CHUNK :=
+  prefix_code   3
+  chunk_length  (integer)
+  chunk        *(byte)
+  chunk_terminator (byte) Ox00
+
+AJP13_SEND_HEADERS :=
+  prefix_code       4
+  http_status_code  (integer)
+  http_status_msg   (string)
+  num_headers       (integer)
+  response_headers *(res_header_name header_value)
+
+res_header_name :=
+    sc_res_header_name | (string)   [see below for how this is parsed]
+
+sc_res_header_name := 0xA0 (byte)
+
+header_value := (string)
+
+AJP13_END_RESPONSE :=
+  prefix_code       5
+  reuse             (boolean)
+
+
+AJP13_GET_BODY_CHUNK :=
+  prefix_code       6
+  requested_length  (integer)
+

詳細 :

+

Send Body Chunk

+

ãƒãƒ£ãƒ³ã‚¯ã¯åŸºæœ¬çš„ã«ã¯ãƒã‚¤ãƒŠãƒªãƒ‡ãƒ¼ã‚¿ã§ã€ãƒ–ラウザã«ç›´æŽ¥é€ã‚‰ã‚Œã¾ã™ã€‚

+ +

Send Headers

+

ステータスコードã¨ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒé€šå¸¸ã® HTTP ã®é€šä¿¡ã«ã¯ã‚ã‚Šã¾ã™ (例 + 200 㨠OK)。レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€åã¯ã€ + リクエストヘッダåã¨åŒæ§˜ã®æ–¹æ³•ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚ + コードã¨æ–‡å­—列ã®åˆ¤åˆ¥æ–¹æ³•ã®è©³ç´°ã«é–¢ã—ã¦ã¯ã€ä¸Šè¨˜ã® header_encoding + ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + 一般的ãªãƒ˜ãƒƒãƒ€ã®ã‚³ãƒ¼ãƒ‰ã¯ :

+ + + + + + + + + + + + + +
åå‰ã‚³ãƒ¼ãƒ‰ã®å€¤
Content-Type0xA001
Content-Language0xA002
Content-Length0xA003
Date0xA004
Last-Modified0xA005
Location0xA006
Set-Cookie0xA007
Set-Cookie20xA008
Servlet-Engine0xA009
Status0xA00A
WWW-Authenticate0xA00B
+

コードã‹ãƒ˜ãƒƒãƒ€æ–‡å­—列ã®ç›´å¾Œã«ã¯ã€ãƒ˜ãƒƒãƒ€ã®å€¤ãŒã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚

+ +

End Response

+

リクエスト処ç†ã‚µã‚¤ã‚¯ãƒ«ã®çµ‚了を知らã›ã¾ã™ã€‚reuse フラグãŒçœŸ + (==1) ã®å ´åˆã€ç¾åœ¨ä½¿ç”¨ã—ã¦ã„ã‚‹ TCP コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯æ¬¡ã®æ–°ã—ã„ + リクエストã«ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚reuse ãŒå½ (C ã®ã‚³ãƒ¼ãƒ‰ã§ã¯ + 1 以外ã®å…¨ã¦) ã®å ´åˆã¯ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’é–‰ã˜ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

Get Body Chunk

+

(ボディã®ã‚µã‚¤ã‚ºãŒå¤§ãã™ãŽã¦æœ€åˆã®ãƒ‘ケットã«åŽã¾ã‚‰ãªã„å ´åˆã‚„〠+ リクエストãŒãƒãƒ£ãƒ³ã‚¯è»¢é€ã•ã‚ŒãŸå ´åˆãªã©ã«ã¯ã€) コンテナã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‹ã‚‰ã® + データ読ã¿è¾¼ã¿è¦æ±‚ã‚’ã—ã¾ã™ã€‚サーãƒå´ã¯ãã‚Œã«å¯¾ã—ã¦ã€æœ€å° + request_length 最大 (8186 (8 Kbytes - 6)) + ã®ç¯„囲ã§ã€æœªè»¢é€ã§æ®‹ã£ã¦ã„るリクエストボディã®å¤§ãã•ã®ãƒ‡ãƒ¼ã‚¿ã‚’ + é€ã‚Šè¿”ã—ã¾ã™ã€‚
+ ボディã«ãれ以上データãŒæ®‹ã£ã¦ã„ãªã„å ´åˆ (ã¤ã¾ã‚Šã‚µãƒ¼ãƒ–レット㌠+ ボディã®æœ€å¾Œã‚’超ãˆã¦èª­ã¿è¾¼ã‚‚ã†ã¨ã—ãŸå ´åˆ) ã€ã‚µãƒ¼ãƒã¯ + ペイロード長 0 ã®ç©ºãƒ‘ケット(0x12,0x34,0x00,0x00) + ã‚’é€ã‚Šè¿”ã—ã¾ã™ã€‚

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.html b/docs/manual/mod/mod_proxy_balancer.html new file mode 100644 index 0000000..36d46dd --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_balancer.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_balancer.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_balancer.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_balancer.html.en b/docs/manual/mod/mod_proxy_balancer.html.en new file mode 100644 index 0000000..bac074b --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.en @@ -0,0 +1,363 @@ + + + + + +mod_proxy_balancer - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_balancer

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + + +
Description:mod_proxy extension for load balancing
Status:Extension
Module Identifier:proxy_balancer_module
Source File:mod_proxy_balancer.c
Compatibility:Available in version 2.1 and later
+

Summary

+ +

This module requires the service of mod_proxy and it provides load balancing for + all the supported protocols. The most important ones are:

+ + +

The Load balancing scheduler algorithm is not provided by this + module but from other ones such as:

+ + +

Thus, in order to get the ability of load balancing, + mod_proxy, mod_proxy_balancer + and at least one of load balancing scheduler algorithm modules have + to be present in the server.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+ +
top
+
+

Load balancer scheduler algorithm

+ +

At present, there are 4 load balancer scheduler algorithms available + for use: Request Counting (mod_lbmethod_byrequests), + Weighted Traffic Counting (mod_lbmethod_bytraffic), + Pending Request Counting (mod_lbmethod_bybusyness) and + Heartbeat Traffic Counting (mod_lbmethod_heartbeat). + These are controlled via the lbmethod value of + the Balancer definition. See the ProxyPass + directive for more information, especially regarding how to + configure the Balancer and BalancerMembers.

+
top
+
+

Load balancer stickyness

+ +

The balancer supports stickyness. When a request is proxied + to some back-end, then all following requests from the same user + should be proxied to the same back-end. Many load balancers implement + this feature via a table that maps client IP addresses to back-ends. + This approach is transparent to clients and back-ends, but suffers + from some problems: unequal load distribution if clients are themselves + hidden behind proxies, stickyness errors when a client uses a dynamic + IP address that changes during a session and loss of stickyness, if the + mapping table overflows.

+

The module mod_proxy_balancer implements stickyness + on top of two alternative means: cookies and URL encoding. Providing the + cookie can be either done by the back-end or by the Apache web server + itself. The URL encoding is usually done on the back-end.

+
top
+
+

Examples of a balancer configuration

+ +

Before we dive into the technical details, here's an example of + how you might use mod_proxy_balancer to provide + load balancing between two back-end servers: +

+ +
<Proxy "balancer://mycluster">
+    BalancerMember "http://192.168.1.50:80"
+    BalancerMember "http://192.168.1.51:80"
+</Proxy>
+ProxyPass        "/test" "balancer://mycluster"
+ProxyPassReverse "/test" "balancer://mycluster"
+ + +

Another example of how to provide load balancing with stickyness + using mod_headers, even if the back-end server does + not set a suitable session cookie: +

+ +
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
+<Proxy "balancer://mycluster">
+    BalancerMember "http://192.168.1.50:80" route=1
+    BalancerMember "http://192.168.1.51:80" route=2
+    ProxySet stickysession=ROUTEID
+</Proxy>
+ProxyPass        "/test" "balancer://mycluster"
+ProxyPassReverse "/test" "balancer://mycluster"
+ +
top
+
+

Exported Environment Variables

+ +

At present there are 6 environment variables exported:

+ +
+ +
BALANCER_SESSION_STICKY
+
+

This is assigned the stickysession value used for the current + request. It is the name of the cookie or request parameter used for sticky sessions

+
+ + +
BALANCER_SESSION_ROUTE
+
+

This is assigned the route parsed from the current + request.

+
+ + +
BALANCER_NAME
+
+

This is assigned the name of the balancer used for the current + request. The value is something like balancer://foo.

+
+ + +
BALANCER_WORKER_NAME
+
+

This is assigned the name of the worker used for the current request. + The value is something like http://hostA:1234.

+
+ + +
BALANCER_WORKER_ROUTE
+
+

This is assigned the route of the worker that will be + used for the current request.

+
+ + +
BALANCER_ROUTE_CHANGED
+
+

This is set to 1 if the session route does not match the + worker route (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE) or the + session does not yet have an established route. This can be used to + determine when/if the client needs to be sent an updated route + when sticky sessions are used.

+
+
+ +
top
+
+

Enabling Balancer Manager Support

+ +

This module requires the service of + mod_status. + Balancer manager enables dynamic update of balancer + members. You can use balancer manager to change the balance + factor of a particular member, or put it in the off line + mode. +

+ +

Thus, in order to get the ability of load balancer management, + mod_status and mod_proxy_balancer + have to be present in the server.

+ +

To enable load balancer management for browsers from the example.com + domain add this code to your httpd.conf + configuration file

+
<Location "/balancer-manager">
+    SetHandler balancer-manager
+    Require host example.com
+</Location>
+ + +

You can now access load balancer manager by using a Web browser + to access the page + http://your.server.name/balancer-manager. Please note + that only Balancers defined outside of <Location ...> + containers can be dynamically controlled by the Manager.

+
top
+
+

Details on load balancer stickyness

+ +

When using cookie based stickyness, you need to configure the + name of the cookie that contains the information about which back-end + to use. This is done via the stickysession attribute added + to either ProxyPass or + ProxySet. The name of + the cookie is case-sensitive. The balancer extracts the value of the + cookie and looks for a member worker with route equal + to that value. The route must also be set in either + ProxyPass or + ProxySet. The cookie can either + be set by the back-end, or as shown in the above + example by the Apache web server itself.

+

Some back-ends use a slightly different form of stickyness cookie, + for instance Apache Tomcat. Tomcat adds the name of the Tomcat instance + to the end of its session id cookie, separated with a dot (.) + from the session id. Thus if the Apache web server finds a dot in the value + of the stickyness cookie, it only uses the part behind the dot to search + for the route. In order to let Tomcat know about its instance name, you + need to set the attribute jvmRoute inside the Tomcat + configuration file conf/server.xml to the value of the + route of the worker that connects to the respective Tomcat. + The name of the session cookie used by Tomcat (and more generally by Java + web applications based on servlets) is JSESSIONID + (upper case) but can be configured to something else.

+

The second way of implementing stickyness is URL encoding. + The web server searches for a query parameter in the URL of the request. + The name of the parameter is specified again using stickysession. + The value of the parameter is used to lookup a member worker with route + equal to that value. Since it is not easy to extract and manipulate all + URL links contained in responses, generally the work of adding the parameters + to each link is done by the back-end generating the content. + In some cases it might be feasible doing + this via the web server using mod_substitute or + mod_sed. This can have negative impact on performance though.

+

The Java standards implement URL encoding slightly different. They use + a path info appended to the URL using a semicolon (;) + as the separator and add the session id behind. As in the cookie case, + Apache Tomcat can include the configured jvmRoute in this path + info. To let Apache find this sort of path info, you need to set + scolonpathdelim to On in + ProxyPass or + ProxySet.

+

Finally you can support cookies and URL encoding at the same time, by + configuring the name of the cookie and the name of the URL parameter + separated by a vertical bar (|) as in the following example:

+
ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
+<Proxy "balancer://mycluster">
+    BalancerMember "http://192.168.1.50:80" route=node1
+    BalancerMember "http://192.168.1.51:80" route=node2
+</Proxy>
+ +

If the cookie and the request parameter both provide routing information + for the same request, the information from the request parameter is used.

+
top
+
+

Troubleshooting load balancer stickyness

+ +

If you experience stickyness errors, e.g. users lose their + application sessions and need to login again, you first want to + check whether this is because the back-ends are sometimes unavailable + or whether your configuration is wrong. To find out about possible + stability problems with the back-ends, check your Apache error log + for proxy error messages.

+

To verify your configuration, first check, whether the stickyness + is based on a cookie or on URL encoding. Next step would be logging + the appropriate data in the access log by using an enhanced + LogFormat. + The following fields are useful:

+
+
%{MYCOOKIE}C
+
The value contained in the cookie with name MYCOOKIE. + The name should be the same given in the stickysession + attribute.
+
%{Set-Cookie}o
+
This logs any cookie set by the back-end. You can track, + whether the back-end sets the session cookie you expect, and + to which value it is set.
+
%{BALANCER_SESSION_STICKY}e
+
The name of the cookie or request parameter used + to lookup the routing information.
+
%{BALANCER_SESSION_ROUTE}e
+
The route information found in the request.
+
%{BALANCER_WORKER_ROUTE}e
+
The route of the worker chosen.
+
%{BALANCER_ROUTE_CHANGED}e
+
Set to 1 if the route in the request + is different from the route of the worker, i.e. + the request couldn't be handled sticky.
+
+

Common reasons for loss of session are session timeouts, + which are usually configurable on the back-end server.

+

The balancer also logs detailed information about handling + stickyness to the error log, if the log level is set to + debug or higher. This is an easy way to + troubleshoot stickyness problems, but the log volume might + be too high for production servers under high load.

+
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.html.fr.utf8 b/docs/manual/mod/mod_proxy_balancer.html.fr.utf8 new file mode 100644 index 0000000..32ebd8b --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.fr.utf8 @@ -0,0 +1,408 @@ + + + + + +mod_proxy_balancer - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_balancer

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + + +
Description:Extension de mod_proxy pour le support de +la répartition de charge
Statut:Extension
Identificateur de Module:proxy_balancer_module
Fichier Source:mod_proxy_balancer.c
Compatibilité:Disponible depuis la version 2.1 d'Apache
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy, et il fournit le support de + la répartition de charge pour tous les protocoles supportés. Parmi ces + protocoles, les plus importants sont :

+ + + +

L'algorithme de planification de la répartition de charge n'est pas + fourni par ce module, mais par ceux-ci :

+ + +

Ainsi, pour mettre en oeuvre la répartition de charge, + mod_proxy, mod_proxy_balancer et + au moins un des modules fournissant l'algorithme de planification de + la répartition de charge doivent être chargés dans le serveur.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

L'algorithme de planification de la répartition de + charge

+ +

A l'heure actuelle, 4 algorithmes de planification de la répartition de + charge sont disponibles : ils se basent respectivement sur le comptage des + requêtes (mod_lbmethod_byrequests), la mesure de + l'intensité du trafic (mod_lbmethod_bytraffic), le comptage + des requêtes en attente (mod_lbmethod_bybusyness) et la + mesure de l'activité du serveur (mod_lbmethod_heartbeat). + Ils sont contrôlés par la valeur de lbmethod dans la définition + du répartiteur. Voir la directive ProxyPass pour plus de détails, et en + particulier la configuration du répartiteur et de ses membres.

+
top
+
+

Répartition de charge avec abonnement utilisateur + (stickyness)

+ +

Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une + requête est mandatée vers un serveur d'arrière-plan particulier, + toutes les requêtes suivantes du même utilisateur seront alors + mandatées vers le même serveur d'arrière-plan. De nombreux + répartiteurs de charge implémentent cette fonctionnalité via une + table qui associe les adresses IP des clients aux serveurs + d'arrière-plan. Cette approche est transparente aux clients et aux + serveurs d'arrière-plan, mais induit certains problèmes : + distribution de charge inégale si les clients se trouvent eux-mêmes + derrière un mandataire, erreurs d'abonnement lorsqu'un client + possède une adresse IP dynamique qui peut changer au cours d'une + session et perte d'abonnement en cas de dépassement de la table de + correspondances.

+

Le module mod_proxy_balancer implémente + l'abonnement selon deux alternatives : les cookies et le codage + d'URL. Le cookie peut être fourni par le serveur d'arrière-plan ou + par le serveur web Apache lui-même, alors que le codage d'URL est en + général effectué par le serveur d'arrière-plan.

+ +
top
+
+

Exemples de configuration d'un répartiteur

+ +

Avant de nous plonger dans les détails techniques, voici un + exemple d'utilisation de mod_proxy_balancer mettant + en oeuvre la répartition de charge entre deux serveurs + d'arrière-plan : +

+ +
<Proxy "balancer://mycluster">
+    BalancerMember "http://192.168.1.50:80"
+    BalancerMember "http://192.168.1.51:80"
+</Proxy>
+ProxyPass        "/test" "balancer://mycluster"
+ProxyPassReverse "/test" "balancer://mycluster"
+ + + +

Voici un autre exemple de répartiteur de charge avec + abonnement utilisant mod_headers, + fonctionnant même si le serveur d'arrière-plan ne définit pas de + cookie de session approprié : +

+ +
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
+<Proxy "balancer://mycluster">
+    BalancerMember "http://192.168.1.50:80" route=1
+    BalancerMember "http://192.168.1.51:80" route=2
+    ProxySet stickysession=ROUTEID
+</Proxy>
+ProxyPass        "/test" "balancer://mycluster"
+ProxyPassReverse "/test" "balancer://mycluster"
+ + +
top
+
+

Variables d'environnement exportées

+ +

A l'heure actuelle, 6 variables d'environnement sont exportées :

+ +
+ +
BALANCER_SESSION_STICKY
+
+

Cette variable se voir assignée la valeur de + stickysession pour la requête courante. Il s'agit du + nom du cookie ou du paramètre de requête utilisé pour les sessions + avec abonnement.

+
+ + +
BALANCER_SESSION_ROUTE
+
+

Cette variable se voit assignée la route interprétée + pour la requête courante.

+
+ + +
BALANCER_NAME
+
+

Cette variable se voit assigné le nom du répartiteur pour la + requête courante. Il s'agit d'une valeur du style + balancer://foo.

+
+ + +
BALANCER_WORKER_NAME
+
+

Cette variable se voit assigné le nom du membre du groupe de + répartition de charge utilisé pour la requête courante. Il s'agit + d'une valeur du style http://hostA:1234.

+
+ + +
BALANCER_WORKER_ROUTE
+
+

Cette variable se voit assignée la route du membre du + groupe de répartition de charge qui sera utilisé pour la requête + courante.

+
+ + +
BALANCER_ROUTE_CHANGED
+
+

Cette variable est définie à 1 si la route de la session ne + correspond pas à celle du membre du groupe de répartition de charge + (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session + ne possède pas encore de route établie. Elle peut servir à + déterminer quand il est éventuellement nécessaire d'envoyer au + client une route mise à jour lorsque les sessions persistantes sont + utilisées.

+
+
+ +
top
+
+

Activation du support du gestionnaire de répartiteur

+ +

Cette fonctionnalité nécessite le chargement du module + mod_status. Le gestionnaire de répartiteur permet + la mise à jour dynamique des membres du groupe de répartition de + charge. Vous pouvez utiliser le gestionnaire de répartiteur pour + modifier le facteur de charge d'un membre particulier, ou passer ce + dernier en mode hors ligne. +

+ +

Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge, + mod_status et mod_proxy_balancer + doivent être chargés dans le serveur.

+ +

Pour permettre la gestion du répartiteur de charge aux + navigateurs appartenant au domaine example.com, ajoutez ces lignes à + votre fichier de configuration httpd.conf :

+
<Location "/balancer-manager">
+    SetHandler balancer-manager
+    Require host example.com
+</Location>
+ + +

Vous pourrez alors accéder au gestionnaire du répartiteur de + charge en utilisant un navigateur web pour afficher la page + http://nom.de.votre.serveur/balancer-manager. Notez que + pour pouvoir contrôler dynamiquement un membre de groupe de + répartition, ce dernier ne doit pas être défini au sein d'une + section <Location ...>.

+
top
+
+

Détails à propos de la répartition de charge par abonnement + (stickyness)

+ +

Si l'abonnement s'appuie sur un cookie, vous devez définir le nom + de ce cookie dont le contenu précise le serveur d'arrière-plan à + utiliser. Pour ce faire, on utilise l'attribut + stickysession avec la directive ProxyPass ou ProxySet. Le nom du cookie est + sensible à la casse. Le répartiteur extrait le contenu du cookie et + recherche un serveur membre dont la route correspond à + cette valeur. La route doit aussi être définie dans la directive ProxyPass ou ProxySet. Le cookie peut être défini + soit par le serveur d'arrière-plan, soit, comme indiqué dans l'exemple ci-dessus par le serveur web Apache + lui-même.

+

Certains serveurs d'arrière-plan, tels qu'Apache Tomcat, + utilisent une forme sensiblement différente de cookie d'abonnement. + Tomcat ajoute le nom de l'instance Tomcat à la fin de son + identifiant de session, précédé par un point. Ainsi, si le serveur + web Apache trouve un point dans la valeur du cookie d'abonnement, il + n'utilisera que la partie située après ce point pour + rechercher sa route. Pour que Tomcat puisse connaître son nom + d'instance, vous devez définir l'attribut jvmRoute dans + son fichier de configuration conf/server.xml à la + valeur de la route du serveur qui se connecte au Tomcat + considéré. Le nom du cookie de session utilisé par Tomcat (et plus + généralement par les applications web Java à base de servlets) est + JSESSIONID (en majuscules), mais peut être modifié.

+ +

La seconde méthode pour implémenter l'abonnement est le codage + d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la + requête. Le nom du paramètre est spécifié par l'attribut + stickysession. Pour trouver un serveur membre, on + recherche un serveur dont la route est égale à la valeur + du paramètre. Comme il n'est pas aisé d'extraire et de manipuler + tous les liens URL contenus dans les réponses, le travail consistant + à ajouter les paramètres à chaque lien est généralement effectué par + le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit + possible dans certains cas d'effectuer ces ajouts au niveau du + serveur web via les modules mod_substitute ou + mod_sed, cette méthode peut dégrader les + performances.

+ +

Les standards Java implémentent le codage d'URL de manière + sensiblement différente. Ils ajoutent une information de chemin à + l'URL en utilisant un point-virgule (;) comme + séparateur, puis ajoutent enfin l'identifiant de session. Comme dans + le cas des cookies, Apache Tomcat peut insérer la valeur de + l'attribut jvmRoute dans cette information de chemin. + Pour qu'Apache puisse trouver ce genre d'information de chemin, vous + devez définir scolonpathdelim à On dans la + directive ProxyPass ou + ProxySet.

+ +

Enfin, vous pouvez utiliser simultanément les cookies et le codage + d'URL en définissant le nom du cookie et le nom du paramètre d'URL + séparés par une barre verticale (|) comme dans + l'exemple suivant :

+
ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
+<Proxy "balancer://mycluster">
+    BalancerMember "http://192.168.1.50:80" route=node1
+    BalancerMember "http://192.168.1.51:80" route=node2
+</Proxy>
+ +

Si le cookie et le paramètre de requête fournissent tous deux une + information de route correcte pour la même requête, c'est + l'information en provenance du paramètre de requête qui sera + retenue.

+
top
+
+

Résolution des problèmes liés à la répartition de charge par + abonnement

+ +

Si vous êtes confronté à des erreurs d'abonnement, comme la + nécessité pour les utilisateurs de se reconnecter suite à une perte + de session d'application, vous devez tout d'abord vérifier si ceci + n'est pas du à une indisponibilité sporadique des serveurs + d'arrière-plan ou à une erreur de configuration. La présence de + messages d'erreur de type proxy dans le journal des erreurs d'Apache + pourra révéler des problèmes de stabilité au niveau des serveurs + d'arrière-plan.

+

Pour contrôler votre configuration, regardez tout d'abord si + l'abonnement est à base de cookie ou de codage d'URL. L'étape + suivante consiste à enregistrer certaines données dans le journal + des accès en utilisant un format + de journalisation personnalisé. Les champs intéressants + sont les suivants :

+
+
%{MONCOOKIE}C
+
La valeur que contient le cookie de nom MONCOOKIE. + Le nom doit correspondre au nom défini par l'attribut + stickysession.
+
%{Set-Cookie}o
+
Ce champ contient tout cookie défini par le serveur + d'arrière-plan. Vous pouvez ainsi vérifier si le serveur + d'arrière-plan définit bien le cookie de session auquel vous vous + attendez, et à quelle valeur il est défini.
+
%{BALANCER_SESSION_STICKY}e
+
Le nom du cookie ou du paramètre de requête utilisé pour la + recherche de l'information de routage.
+
%{BALANCER_SESSION_ROUTE}e
+
L'information de routage extraite de la requête.
+
%{BALANCER_WORKER_ROUTE}e
+
La route du serveur choisi.
+
%{BALANCER_ROUTE_CHANGED}e
+
Contient la valeur 1 si la route extraite de la + requête est différente de la route du serveur ; autrement dit, le + traitement de la requête n'a pas pu être effectué dans le cadre + d'une répartition de charge par abonnement.
+
+

Les pertes de session sont souvent dues à des expirations de + session dont la valeur peut en général être configurée au niveau du + serveur d'arrière-plan.

+

Si le niveau de journalisation est défini à debug ou + plus, le répartiteur journalise aussi des informations détaillées à + propos de l'abonnement dans le journal des erreurs, ce qui facilite + la résolution des problèmes d'abonnement. Notez cependant que le + volume de journalisation pourra alors s'avérer trop important pour + un serveur en production sous forte charge.

+
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 new file mode 100644 index 0000000..5088177 --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 @@ -0,0 +1,349 @@ + + + + + +mod_proxy_balancer - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_proxy_balancer

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:è² è·åˆ†æ•£ã®ãŸã‚ã® mod_proxy æ‹¡å¼µ
ステータス:Extension
モジュール識別å­:proxy_balancer_module
ソースファイル:mod_proxy_balancer.c
互æ›æ€§:2.1 以é™
+

概è¦

+ +

本モジュールã«ã¯ mod_proxy ãŒå¿…è¦ã§ã™ã€‚ + HTTP, FTP 㨠AJP13 + プロトコルã®ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹æ©Ÿèƒ½ã‚’æŒã£ã¦ã„ã¾ã™ã€‚

+ +

ã§ã™ã‹ã‚‰ã€ ロードãƒãƒ©ãƒ³ã‚¹ã‚’有効ã«ã™ã‚‹å ´åˆ mod_proxy + 㨠mod_proxy_balancer ãŒã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ + ã„ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。

+ +

警告

+

安全ãªã‚µãƒ¼ãƒã«ã™ã‚‹ã¾ã§ãƒ—ロクシ機能ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。 + オープンプロキシサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚〠+ インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚

+
+
+ +
top
+
+

ロードãƒãƒ©ãƒ³ã‚µã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ©ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 

+ +

ç¾æ™‚点ã§ã¯ 2 種類ã®ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ©ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‹ã‚‰é¸ã¹ã¾ã™ã€‚ + リクエスト回数ã«ã‚ˆã‚‹ã‚‚ã® (訳注: Request Counting) + ã¨ã€ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯é‡ã«ã‚ˆã‚‹ã‚‚ã® (訳注: Weighted Traffic Counting) + ãŒã‚ã‚Šã¾ã™ã€‚ãƒãƒ©ãƒ³ã‚µã®è¨­å®š lbmethod 値ã§ã€ã©ã¡ã‚‰ã‚’使ã†ã‹æŒ‡å®šã—ã¾ã™ã€‚ + 詳細㯠Proxy ディレクティブを + å‚ç…§ã—ã¦ãã ã•ã„。

+ +
top
+
+

Request Counting アルゴリズム

+ +

lbmethod=byrequests ã§æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ©ã®èƒŒæ™¯ã«ã‚る考ãˆæ–¹ã¯ã€æ§˜ã€…ãªãƒ¯ãƒ¼ã‚«ãƒ¼ãŒãã‚Œãžã‚Œã€ + 設定ã•ã‚Œã¦ã„る分担リクエスト数をãã¡ã‚“ã¨å—ã‘å–れるよã†ã«ã€ + リクエストを扱ã†ã¨ã„ã†è€ƒãˆæ–¹ã§ã™ã€‚次ã®ã‚ˆã†ã«å‹•ä½œã—ã¾ã™:

+ +

lbfactor ã¯ã€ã©ã®ç¨‹åº¦ãƒ¯ãƒ¼ã‚«ãƒ¼ã«ä»•äº‹ã‚’振る㋠+ ã¤ã¾ã‚Šãƒ¯ãƒ¼ã‚«ãƒ¼ã®ã‚¯ã‚ªãƒ¼ã‚¿ã‚’指ã—ã¾ã™ã€‚ã“ã®å€¤ã¯ "分担" + é‡ã‚’表ã™æ­£è¦åŒ–ã•ã‚ŒãŸå€¤ã§ã™ã€‚

+ +

lbstatus ã¯ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã®ã‚¯ã‚ªãƒ¼ã‚¿ã‚’満ãŸã™ãŸã‚ã« + ã©ã®ãらã„急ãŽã§åƒã‹ãªã‘ã‚Œã°ãªã‚‰ãªã„ã‹ã‚’指ã—ã¾ã™ã€‚

+ +

ワーカーã¯ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã®ãƒ¡ãƒ³ãƒã§ã€é€šå¸¸ã¯ã€ + サãƒãƒ¼ãƒˆã•ã‚Œã‚‹ãƒ—ロトコルã®ã†ã¡ã®ä¸€ã¤ã‚’æä¾›ã—ã¦ã„るリモートホストã§ã™ã€‚ +

+ +

ã¾ãšå€‹ã€…ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚¯ã‚ªãƒ¼ã‚¿ã‚’割り振りã€ã©ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒæœ€ã‚‚急ãŽã§ + åƒã‹ãªã‘ã‚Œã°ãªã‚‰ãªã„ã‹ (lbstatus ãŒæœ€å¤§ã®ã‚‚ã®) を調ã¹ã¾ã™ã€‚ + 次ã«ä»•äº‹ã‚’ã™ã‚‹ã‚ˆã†ã«ã“ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’é¸æŠžã—ã€é¸æŠžã—ãŸãƒ¯ãƒ¼ã‚«ãƒ¼ã® lbstatus + を全体ã«å‰²ã‚ŠæŒ¯ã£ãŸã¶ã‚“ã ã‘å·®ã—引ãã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€lbstatus ã®ç·é‡ã¯ + çµæžœçš„ã«å¤‰åŒ–ã—ã¾ã›ã‚“(*)ã—ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯æœŸå¾…通りã«åˆ†æ•£ã•ã‚Œã¾ã™ã€‚

+ +

ã‚るワーカーãŒç„¡åŠ¹ã«ãªã£ã¦ã‚‚ã€ä»–ã®ã‚‚ã®ã¯æ­£å¸¸ã«ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•ã‚Œç¶šã‘ã¾ã™ã€‚ +

+ +
for each worker in workers
+    worker lbstatus += worker lbfactor
+    total factor    += worker lbfactor
+    if worker lbstatus > candidate lbstatus
+        candidate = worker
+
+candidate lbstatus -= total factor
+ +

ãƒãƒ©ãƒ³ã‚µã‚’次ã®ã‚ˆã†ã«è¨­å®šã—ãŸå ´åˆ:

+ + + + + + + + + + + + + + + + +
workerabcd
lbfactor25252525
lbstatus0000
+ +

ãã—㦠b ãŒç„¡åŠ¹ã«ãªã£ãŸå ´åˆã€æ¬¡ã®ã‚ˆã†ãªã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒ + è¡Œã‚ã‚Œã¾ã™ã€‚

+ + + + + + + + + + + + + + + + + + + + + + +
workerabcd
lbstatus-5002525
lbstatus-250-2550
lbstatus0000
(repeat)
+ +

ã¤ã¾ã‚Šã“ã®ã‚ˆã†ã«ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•ã‚Œã¾ã™: a c + d a c d a + c d ... 次ã®ç‚¹ã«æ³¨æ„ã—ã¦ãã ã•ã„:

+ + + + + + + + + + + +
workerabcd
lbfactor25252525
+ +

ã“ã®æŒ™å‹•ã¯ã€æ¬¡ã®è¨­å®šã¨å…¨ãåŒã˜ã«ãªã‚Šã¾ã™:

+ + + + + + + + + + + +
workerabcd
lbfactor1111
+ +

This is because all values of lbfactor are normalized + with respect to the others. For:

+

lbfactor ã¯å…¨ã¦æ­£è¦åŒ–ã•ã‚ŒãŸã‚‚ã®ã§ã€ + ä»–ã¨ã®ç›¸å¯¾å€¤ã ã‹ã‚‰ã§ã™ã€‚次ã®è¨­å®šã§ã¯:

+ + + + + + + + + +
workerabc
lbfactor141
+ +

ワーカー b ã¯ã€å¹³å‡ã—ã¦ã€a 㨠c + ã® 4 å€ã®æ•°ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘æŒã¤ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

次ã®ã‚ˆã†ãªéžå¯¾ç§°ãªè¨­å®šã§ã¯ã€ã“ã†ãªã‚‹ã¨äºˆæƒ³ã•ã‚Œã‚‹ã§ã—ょã†:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
workerab
lbfactor7030
 
lbstatus-3030
lbstatus40-40
lbstatus10-10
lbstatus-2020
lbstatus-5050
lbstatus20-20
lbstatus-1010
lbstatus-4040
lbstatus30-30
lbstatus00
(repeat)
+ +

スケジュール㯠10 スケジュール後ã«ç¹°ã‚Šè¿”ã•ã‚Œã€a 7 回㨠+ b 3 回ã§ã¾ã°ã‚‰ã«é¸ã°ã‚Œã¾ã™ã€‚

+
top
+
+

Weighted Traffic Counting アルゴリズム

+ +

lbmethod=bytraffic ã§æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ©ã®èƒŒæ™¯ã«ã‚る考ãˆæ–¹ã¯ã€Request Counting + ã¨éžå¸¸ã«ä¼¼ã¦ã„ã¾ã™ãŒã€æ¬¡ã®é•ã„ãŒã‚ã‚Šã¾ã™:

+ +

lbfactor 㯠ã©ã‚Œã ã‘ã®ãƒã‚¤ãƒˆæ•°ã®ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯é‡ã‚’〠+ ã“ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«å‡¦ç†ã—ã¦ã‚‚らã„ãŸã„㋠を表ã—ã¾ã™ã€‚ + ã“ã®å€¤ã‚‚åŒæ§˜ã«æ­£è¦åŒ–ã•ã‚ŒãŸå€¤ã§ã€ãƒ¯ãƒ¼ã‚«ãƒ¼å…¨ä½“ã®ã†ã¡ã§ã® "分担" + é‡ã‚’表ç¾ã—ã¦ã„ã¾ã™ã€‚リクエスト数をå˜ç´”ã«æ•°ãˆã‚‹ä»£ã‚ã‚Šã«ã€ + ã©ã‚Œã ã‘ã®è»¢é€é‡ã‚’処ç†ã—ãŸã‹ã‚’æ•°ãˆã¾ã™ã€‚

+ +

次ã®ã‚ˆã†ã«ãƒãƒ©ãƒ³ã‚µã‚’設定ã—ãŸå ´åˆ:

+ + + + + + + + + +
workerabc
lbfactor121
+ +

b ã«ã¯ a ã‚„ c ã® 2 å€ + 処ç†ã—ã¦ã»ã—ã„ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + b 㯠2 å€ã® I/O を処ç†ã™ã‚‹ã¨ã„ã†æ„味ã«ãªã‚Šã€ + 2 å€ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆæ•°ã‚’処ç†ã™ã‚‹ã¨ã„ã†ã“ã¨ã«ã¯ãªã‚Šã¾ã›ã‚“。 + ã§ã™ã‹ã‚‰ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®ã‚µã‚¤ã‚ºãŒã€ + é‡ã¿ä»˜ã‘ã¨æŒ¯ã‚Šåˆ†ã‘ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã«åŠ¹ã„ã¦ã„ã¾ã™ã€‚

+ +
top
+
+

ãƒãƒ©ãƒ³ã‚µãƒžãƒãƒ¼ã‚¸ãƒ£ã®ã‚µãƒãƒ¼ãƒˆã‚’有効ã«ã™ã‚‹

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ mod_status ã®ã‚µãƒ¼ãƒ“スを + å¿…è¦ã¨ã—ã¾ã™ã€‚ + ãƒãƒ©ãƒ³ã‚µãƒžãƒãƒ¼ã‚¸ãƒ£ã‚’使ã†ã¨ã€ãƒãƒ©ãƒ³ã‚µã®ãƒ¡ãƒ³ãƒãƒ¼ã®å‹•çš„ãªæ›´æ–°ãŒ + ã§ãã¾ã™ã€‚ãƒãƒ©ãƒ³ã‚µãƒžãƒãƒ¼ã‚¸ãƒ£ã‚’使ã£ã¦ã€ãƒãƒ©ãƒ³ã‚¹ä¿‚æ•° (lbfactor) + を変更ã—ãŸã‚Šã€ãƒ¡ãƒ³ãƒãƒ¼ã‚’変更ã—ãŸã‚Šã€ç‰¹å®šã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’ + オフラインモードã«ã—ãŸã‚Šã§ãã¾ã™ã€‚

+ +

ã§ã™ã‹ã‚‰ã€ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µç®¡ç†æ©Ÿèƒ½ã‚’使ã„ãŸã‘ã‚Œã°ã€ + mod_status 㨠mod_proxy_balancer + をサーãƒã«çµ„ã¿è¾¼ã¾ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

foo.com ドメインã®ãƒ–ラウザã‹ã‚‰ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µç®¡ç†æ©Ÿèƒ½ã‚’ + 使ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ã€æ¬¡ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã‚’ httpd.conf + ã«è¿½åŠ ã—ã¾ã™ã€‚

+

+ <Location /balancer-manager>
+ SetHandler balancer-manager
+
+ Order Deny,Allow
+ Deny from all
+ Allow from .foo.com
+ </Location> +

+ +

ã“ã†ã™ã‚‹ã¨ã€http://your.server.name/balancer-manager + ã®ãƒšãƒ¼ã‚¸çµŒç”±ã§ã€ã‚¦ã‚§ãƒ–ブラウザã‹ã‚‰ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µãƒžãƒãƒ¼ã‚¸ãƒ£ã« + アクセスã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.html b/docs/manual/mod/mod_proxy_connect.html new file mode 100644 index 0000000..6d1857a --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_connect.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_connect.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_connect.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_connect.html.en b/docs/manual/mod/mod_proxy_connect.html.en new file mode 100644 index 0000000..71c7f1e --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.en @@ -0,0 +1,137 @@ + + + + + +mod_proxy_connect - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_connect

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + + +
Description:mod_proxy extension for +CONNECT request handling
Status:Extension
Module Identifier:proxy_connect_module
Source File:mod_proxy_connect.c
+

Summary

+ +

This module requires the service of mod_proxy. It provides support for the CONNECT + HTTP method. This method is mainly used to tunnel SSL requests + through proxy servers.

+ +

Thus, in order to get the ability of handling CONNECT + requests, mod_proxy and + mod_proxy_connect have to be present in the server.

+ +

CONNECT is also used when the server needs to send an HTTPS request + through a forward proxy. In this case the server acts as a CONNECT client. + This functionality is part of mod_proxy and + mod_proxy_connect is not needed in this case.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Request notes

+

mod_proxy_connect creates the following request notes for + logging using the %{VARNAME}n format in + LogFormat or + ErrorLogFormat: +

+
+
proxy-source-port
+
The local port used for the connection to the backend server.
+
+
+
top
+

AllowCONNECT Directive

+ + + + + + + + +
Description:Ports that are allowed to CONNECT through the +proxy
Syntax:AllowCONNECT port[-port] +[port[-port]] ...
Default:AllowCONNECT 443 563
Context:server config, virtual host
Status:Extension
Module:mod_proxy_connect
Compatibility:Moved from mod_proxy in Apache 2.3.5. +Port ranges available since Apache 2.3.7.
+

The AllowCONNECT directive specifies a list + of port numbers or ranges to which the proxy CONNECT method + may connect. Today's browsers use this method when a https + connection is requested and proxy tunneling over HTTP is in effect.

+ +

By default, only the default https port (443) and the + default snews port (563) are enabled. Use the + AllowCONNECT directive to override this default and + allow connections to the listed ports only.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.html.fr.utf8 b/docs/manual/mod/mod_proxy_connect.html.fr.utf8 new file mode 100644 index 0000000..a20ff98 --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.fr.utf8 @@ -0,0 +1,143 @@ + + + + + +mod_proxy_connect - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_connect

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Extension de mod_proxy pour le traitement +des requêtes CONNECT
Statut:Extension
Identificateur de Module:proxy_connect_module
Fichier Source:mod_proxy_connect.c
+

Sommaire

+ +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il fournit le support de la méthode HTTP + CONNECT. Cette méthode est principalement utilisée pour + faire franchir les serveurs mandataires aux requêtes SSL à l'aide + d'un tunnel.

+ +

Ainsi, pour pouvoir traiter les requêtes CONNECT, + mod_proxy et mod_proxy_connect + doivent être chargés dans le serveur.

+ +

CONNECT est aussi utilisée lorsque le serveur doit envoyer une + requête HTTPS via un mandataire. Dans ce cas, le serveur se comporte + comme un client CONNECT. Cette fonctionnalité étant fournie par le + module mod_proxy, le module + mod_proxy_connect n'est dans ce cas pas nécessaire.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

Informations sur les requêtes

+

mod_proxy_connect enregistre les informations + suivantes pour journalisation via le format %{NOMVAR}n + dans les directives LogFormat ou ErrorLogFormat : +

+
+
proxy-source-port
+
Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.
+
+
+
top
+

Directive AllowCONNECT

+ + + + + + + + +
Description:Ports autorisés à se CONNECTer à travers le +mandataire
Syntaxe:AllowCONNECT port[-port] +[port[-port]] ...
Défaut:AllowCONNECT 443 563
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy_connect
Compatibilité:Déplacé depuis mod_proxy à partir +d'Apache 2.3.5. Plages de ports disponibles depuis Apache 2.3.7.
+

La directive AllowCONNECT permet de + spécifier une liste de numéros ou de plages de ports auxquels la + méthode de mandataire CONNECT pourra se connecter. Les + navigateurs récents utilisent cette méthode dans le cas où une + connexion https est requise et où le tunneling + mandataire sur HTTP est en service.

+ +

Par défaut, seuls les ports par défauts https (443) + et snews (563) sont pris en compte. Vous pouvez + utiliser la directive AllowCONNECT pour + outrepasser ces valeurs par défaut et n'autoriser les connexions que + vers les ports spécifiés.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.html.ja.utf8 b/docs/manual/mod/mod_proxy_connect.html.ja.utf8 new file mode 100644 index 0000000..88bda27 --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.ja.utf8 @@ -0,0 +1,114 @@ + + + + + +mod_proxy_connect - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_proxy_connect

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:CONNECT リクエストを扱ㆠ+mod_proxy 用ã®æ‹¡å¼µ
ステータス:Extension
モジュール識別å­:proxy_connect_module
ソースファイル:mod_proxy_connect.c
+

概è¦

+ +

本モジュールã«ã¯ mod_proxy ãŒå¿…è¦ã§ã™ã€‚ + CONNECT HTTP メソッドをサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ + ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä¸»ã«ãƒ—ロキシ㫠SSL リクエストを通㙠+ (訳注: SSLトンãƒãƒªãƒ³ã‚°)ã«ä½¿ã‚ã‚Œã¾ã™ã€‚

+ +

CONNECT リクエストを扱ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ + mod_proxy 㨠mod_proxy_connect + をサーãƒã«çµ„ã¿è¾¼ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

警告

+

安全ãªã‚µãƒ¼ãƒã«ã™ã‚‹ã¾ã§ãƒ—ロキシ機能ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。 + オープンプロキシサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚〠+ インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚

+
+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

AllowCONNECT ディレクティブ

+ + + + + + + + +
説明:Ports that are allowed to CONNECT through the +proxy
構文:AllowCONNECT port[-port] +[port[-port]] ...
デフォルト:AllowCONNECT 443 563
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_proxy_connect
互æ›æ€§:Moved from mod_proxy in Apache 2.3.5. +Port ranges available since Apache 2.3.7.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_express.html b/docs/manual/mod/mod_proxy_express.html new file mode 100644 index 0000000..85715fb --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_express.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_express.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_express.html.en b/docs/manual/mod/mod_proxy_express.html.en new file mode 100644 index 0000000..3bce29f --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html.en @@ -0,0 +1,204 @@ + + + + + +mod_proxy_express - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_express

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Dynamic mass reverse proxy extension for +mod_proxy
Status:Extension
Module Identifier:proxy_express_module
Source File:mod_proxy_express.c
Compatibility:Available in Apache 2.3.13 and later
+

Summary

+ +

This module creates dynamically configured mass reverse + proxies, by mapping the Host: header of the HTTP request to + a server name and backend URL stored in a DBM file. + This allows for easy use of a huge number of reverse proxies + with no configuration changes. It is much less feature-full + than mod_proxy_balancer, which also provides + dynamic growth, but is intended to handle much, much + larger numbers of backends. It is ideally suited as a + front-end HTTP switch and for micro-services architectures.

+ +

This module requires the service of mod_proxy.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+ +

Limitations

+
    +
  • This module is not intended to replace the dynamic capability of + mod_proxy_balancer. Instead, it is intended to be mostly + a lightweight and fast alternative to using mod_rewrite + with RewriteMap and the + [P] flag for mapped reverse proxying. +
  • +
  • It does not support regex or pattern matching at all. +
  • +
  • It emulates: +
    <VirtualHost *:80>
    +   ServerName front.end.server
    +   ProxyPass        "/" "back.end.server:port"
    +   ProxyPassReverse "/" "back.end.server:port"
    +</VirtualHost>
    + + That is, the entire URL is appended to the mapped backend + URL. This is in keeping with the intent of being a simple + but fast reverse proxy switch. +
  • +
+
+ +
+ + +
top
+

ProxyExpressDBMFile Directive

+ + + + + + +
Description:Pathname to DBM file.
Syntax:ProxyExpressDBMFile pathname
Context:server config, virtual host
Status:Extension
Module:mod_proxy_express
+

The ProxyExpressDBMFile directive + points to the location of the Express map DBM file. This + file serves to map the incoming server name, obtained from + the Host: header, to a backend URL.

+ +

Note

+

The file is constructed from a plain text file format using + the httxt2dbm + utility.

+ +

ProxyExpress map file

+ ##
+ ##express-map.txt:
+ ##
+
+ www1.example.com http://192.168.211.2:8080
+ www2.example.com http://192.168.211.12:8088
+ www3.example.com http://192.168.212.10
+

+ +

Create DBM file

+ httxt2dbm -i express-map.txt -o emap
+

+ +

Configuration

ProxyExpressEnable on
+ProxyExpressDBMFile emap
+
+
+ +
+
top
+

ProxyExpressDBMType Directive

+ + + + + + + +
Description:DBM type of file.
Syntax:ProxyExpressDBMType type
Default:ProxyExpressDBMType default
Context:server config, virtual host
Status:Extension
Module:mod_proxy_express
+

The ProxyExpressDBMType directive + controls the DBM type expected by the module. The default + is the default DBM type created with + httxt2dbm.

+

Possible values are (not all may be available at run time):

+ + + + + + +
ValueDescription
db Berkeley DB files
gdbm GDBM files
ndbm NDBM files
sdbm SDBM files (always available)
default default DBM type
+ + +
+
top
+

ProxyExpressEnable Directive

+ + + + + + + +
Description:Enable the module functionality.
Syntax:ProxyExpressEnable on|off
Default:ProxyExpressEnable off
Context:server config, virtual host
Status:Extension
Module:mod_proxy_express
+

The ProxyExpressEnable directive + controls whether the module will be active.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_express.html.fr.utf8 b/docs/manual/mod/mod_proxy_express.html.fr.utf8 new file mode 100644 index 0000000..681476e --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html.fr.utf8 @@ -0,0 +1,207 @@ + + + + + +mod_proxy_express - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_express

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Extension à mod_proxy pour le mandatement +dynamique inverse de masse
Statut:Extension
Identificateur de Module:proxy_express_module
Fichier Source:mod_proxy_express.c
Compatibilité:Disponible à partir de la version 2.3.13 du serveur HTTP Apache
+

Sommaire

+ +

Ce module crée dynamiquement en masse des mandataires inverses en + faisant correspondre l'en-tête Host: de la requête HTTP à un nom de + serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il + est ainsi plus aisé d'utiliser un grand nombre de + mandataires inverses sans avoir à modifier la configuration. Il est + loin de posséder autant de fonctionnalités que + mod_proxy_balancer qui propose aussi la croissance + dynamique, mais il est conçu pour gérer un nombre beaucoup plus important + de serveurs d'arrière-plan. Il convient parfaitement pour créer un + commutateur HTTP frontal et pour les architectures Microservices.

+ +

Pour pouvoir être utilisé, ce module nécessite le chargement de + mod_proxy.

+ +

Avertissement

+

N'activez le mandatement que si vous avez sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux pour votre réseau, et + dans une plus large mesure pour Internet.

+
+ +

Limitations

+
    +
  • Ce module n'est pas conçu pour remplacer les fonctionnalités dynamiques + de mod_proxy_balancer. Par contre, il peut constituer une + alternative légère et rapide à mod_rewrite lorsque ce + dernier utilise la directive RewriteMap et le drapeau [P] + pour le mandatement inverse à partir d'une table de correspondances. +
  • +
  • Il ne supporte pas les mises en correspondance basées sur les + expressions rationnelles ou les modèles. +
  • +
  • Il émule : +
    <VirtualHost *:80>
    +   ServerName front.end.server
    +   ProxyPass "/" "back.end.server:port"
    +   ProxyPassReverse "/" "back.end.server:port"
    +</VirtualHost>
    + + En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL + d'arrière-plan correspondante, tout ceci dans le but de + proposer un commutateur mandataire inverse simple mais rapide. +
  • +
+
+ +
+ + +
top
+

Directive ProxyExpressDBMFile

+ + + + + + +
Description:Chemin du fichier DBM.
Syntaxe:ProxyExpressDBMFile pathname
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy_express
+

La directive ProxyExpressDBMFile permet de + définir le chemin du fichier DBM de correspondance Express. Ce fichier + permet de faire correspondre le nom de serveur extrait de l'en-tête + Host: de la requête entrante avec une URL d'arrière-plan.

+ +

Note

+

Ce fichier est élaboré à partir d'un fichier texte à l'aide de + l'utilitaire httxt2dbm.

+ +

Fichier de correspondances ProxyExpress

+ ##
+ ##express-map.txt:
+ ##
+
+ www1.example.com http://192.168.211.2:8080
+ www2.example.com http://192.168.211.12:8088
+ www3.example.com http://192.168.212.10
+

+ +

Création du fichier DBM

+ httxt2dbm -i express-map.txt -o emap
+

+ +

Configuration

ProxyExpressEnable on
+ProxyExpressDBMFile emap
+
+
+ +
+
top
+

Directive ProxyExpressDBMType

+ + + + + + + +
Description:Type de fichier DBM.
Syntaxe:ProxyExpressDBMType type
Défaut:ProxyExpressDBMType default
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy_express
+

La directive ProxyExpressDBMType permet de + définir le type de fichier DBM requis par le module. La valeur par + défaut correspond au type DBM par défaut du fichier créé par + l'utilitaire httxt2dbm.

+

Les valeurs possibles sont (mais toutes ne seront pas disponibles à + l'exécution) :

+ + + + + + +
ValueDescription
dbFichiers Berkeley DB
gdbmFichiers GDBM
ndbmFichiers NDBM
sdbmFichiers SDBM (toujours disponible)
defaulttype DBM par défaut
+ + +
+
top
+

Directive ProxyExpressEnable

+ + + + + + + +
Description:Active la fonctionnalité du module.
Syntaxe:ProxyExpressEnable on|off
Défaut:ProxyExpressEnable off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy_express
+

La directive ProxyExpressEnable permet + d'activer/désactiver le module.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fcgi.html b/docs/manual/mod/mod_proxy_fcgi.html new file mode 100644 index 0000000..e714cf6 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_fcgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_fcgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_fcgi.html.en b/docs/manual/mod/mod_proxy_fcgi.html.en new file mode 100644 index 0000000..3b6d433 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html.en @@ -0,0 +1,356 @@ + + + + + +mod_proxy_fcgi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_fcgi

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:FastCGI support module for +mod_proxy
Status:Extension
Module Identifier:proxy_fcgi_module
Source File:mod_proxy_fcgi.c
Compatibility:Available in version 2.3 and later
+

Summary

+ +

This module requires the service of mod_proxy. It provides support for the + FastCGI protocol.

+ +

Thus, in order to get the ability of handling the FastCGI + protocol, mod_proxy and + mod_proxy_fcgi have to be present in the server.

+ +

Unlike mod_fcgid + and mod_fastcgi, + mod_proxy_fcgi has no provision for starting the + application process; fcgistarter is provided + (on some platforms) for that purpose. Alternatively, external launching + or process management may be available in the FastCGI application + framework in use.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+ +
top
+
+

Examples

+

Remember, in order to make the following examples work, you have to + enable mod_proxy and mod_proxy_fcgi.

+ +

Single application instance

ProxyPass "/myapp/" "fcgi://localhost:4000/"
+
+ +

mod_proxy_fcgi disables connection reuse by + default, so after a request has been completed the connection will NOT be + held open by that httpd child process and won't be reused. If the + FastCGI application is able to handle concurrent connections + from httpd, you can opt-in to connection reuse as shown in the following + example:

+ +

Single application instance, connection reuse (2.4.11 and later)

ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on
+
+ +

Enable connection reuse to a FCGI backend like PHP-FPM

+

Please keep in mind that PHP-FPM (at the time of writing, February 2018) + uses a prefork model, namely each of its worker processes can handle one + connection at the time.
+ By default mod_proxy (configured with enablereuse=on) + allows a connection pool of + ThreadsPerChild connections to the + backend for each httpd process when using a threaded mpm (like + worker or event), + so the following use cases should be taken into account:

+
    +
  • Under HTTP/1.1 load it will likely cause the creation of up to + MaxRequestWorkers + connections to the FCGI backend.
  • +
  • Under HTTP/2 load, due to how mod_http2 is implemented, + there are additional h2 worker threads that may force the creation of other + backend connections. The overall count of connections in the pools may raise + to more than MaxRequestWorkers.
  • +
+

The maximum number of PHP-FPM worker processes needs to be configured wisely, + since there is the chance that they will all end up "busy" handling idle + persistent connections, without any room for new ones to be established, + and the end user experience will be a pile of HTTP request timeouts.

+
+ +

The following example passes the request URI as a filesystem + path for the PHP-FPM daemon to run. The request URL is implicitly added + to the 2nd parameter. The hostname and port following fcgi:// are where + PHP-FPM is listening. Connection pooling/reuse is enabled.

+

PHP-FPM

ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on
+
+ +

The following example passes the request URI as a filesystem + path for the PHP-FPM daemon to run. In this case, PHP-FPM is listening on + a unix domain socket (UDS). Requires 2.4.9 or later. With this syntax, + the hostname and optional port following fcgi:// are ignored.

+

PHP-FPM with UDS

ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
+
+ +

The balanced gateway needs mod_proxy_balancer and + at least one load balancer algorithm module, such as + mod_lbmethod_byrequests, in addition to the proxy + modules listed above. mod_lbmethod_byrequests is the + default, and will be used for this example configuration.

+ +

Balanced gateway to multiple application instances

ProxyPass "/myapp/" "balancer://myappcluster/"
+<Proxy "balancer://myappcluster/">
+    BalancerMember "fcgi://localhost:4000"
+    BalancerMember "fcgi://localhost:4001"
+</Proxy>
+
+ +

You can also force a request to be handled as a reverse-proxy + request, by creating a suitable Handler pass-through. The example + configuration below will pass all requests for PHP scripts to the + specified FastCGI server using reverse proxy. + This feature is available in Apache HTTP Server 2.4.10 and later. For performance + reasons, you will want to define a worker + representing the same fcgi:// backend. The benefit of this form is that it + allows the normal mapping of URI to filename to occur in the server, and the + local filesystem result is passed to the backend. When FastCGI is + configured this way, the server can calculate the most accurate + PATH_INFO. +

+

Proxy via Handler

<FilesMatch "\.php$">
+    # Note: The only part that varies is /path/to/app.sock
+    SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
+</FilesMatch>
+
+# Define a matching worker.
+# The part that is matched to the SetHandler is the part that
+# follows the pipe. If you need to distinguish, "localhost; can
+# be anything unique.
+<Proxy "fcgi://localhost/" enablereuse=on max=10>
+</Proxy>
+
+<FilesMatch ...>
+    SetHandler  "proxy:fcgi://localhost:9000"
+</FilesMatch>
+
+<FilesMatch ...>
+    SetHandler  "proxy:balancer://myappcluster/"
+</FilesMatch>
+
+
top
+
+

Environment Variables

+

In addition to the configuration directives that control the + behaviour of mod_proxy, there are a number of + environment variables that control the FCGI protocol + provider:

+
+
proxy-fcgi-pathinfo
+
When configured via ProxyPass or ProxyPassMatch, mod_proxy_fcgi will not + set the PATH_INFO environment variable. This allows + the backend FCGI server to correctly determine SCRIPT_NAME + and Script-URI and be compliant with RFC 3875 section 3.3. + If instead you need mod_proxy_fcgi to generate + a "best guess" for PATH_INFO, set this env-var. + This is a workaround for a bug in some FCGI implementations. This + variable can be set to multiple values to tweak at how the best guess + is chosen (In 2.4.11 and later only): +
+
first-dot
+
PATH_INFO is split from the slash following the + first "." in the URL.
+
last-dot
+
PATH_INFO is split from the slash following the + last "." in the URL.
+
full
+
PATH_INFO is calculated by an attempt to map the URL to the + local filesystem.
+
unescape
+
PATH_INFO is the path component of the URL, unescaped / + decoded.
+
any other value
+
PATH_INFO is the same as the path component of the URL. + Originally, this was the only proxy-fcgi-pathinfo option.
+
+
+
+
+
top
+

ProxyFCGIBackendType Directive

+ + + + + + + + +
Description:Specify the type of backend FastCGI application
Syntax:ProxyFCGIBackendType FPM|GENERIC
Default:ProxyFCGIBackendType FPM
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_proxy_fcgi
Compatibility:Available in version 2.4.26 and later
+

This directive allows the type of backend FastCGI application to be +specified. Some FastCGI servers, such as PHP-FPM, use historical quirks of +environment variables to identify the type of proxy server being used. Set +this directive to "GENERIC" if your non PHP-FPM application has trouble +interpreting environment variables such as SCRIPT_FILENAME or PATH_TRANSLATED +as set by the server.

+ +

One example of values that change based on the setting of this directive is +SCRIPT_FILENAME. When using mod_proxy_fcgi historically, +SCRIPT_FILENAME was prefixed with the string "proxy:fcgi://". This variable is +what some generic FastCGI applications would read as their script input, but +PHP-FPM would strip the prefix then remember it was talking to Apache. In +2.4.21 through 2.4.25, this prefix was automatically stripped by the server, +breaking the ability of PHP-FPM to detect and interoperate with Apache in some +scenarios.

+ +
+
top
+

ProxyFCGISetEnvIf Directive

+ + + + + + + +
Description:Allow variables sent to FastCGI servers to be fixed up
Syntax:ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_proxy_fcgi
Compatibility:Available in version 2.4.26 and later
+

Just before passing a request to the configured FastCGI server, the core of +the web server sets a number of environment variables based on details of the +current request. FastCGI programs often uses these environment variables +as inputs that determine what underlying scripts they will process, or what +output they directly produce.

+

Examples of noteworthy environment variables are:

+
    +
  • SCRIPT_NAME
  • +
  • SCRIPT_FILENAME
  • +
  • REQUEST_URI
  • +
  • PATH_INFO
  • +
  • PATH_TRANSLATED
  • +
+ +

This directive allows the environment variables above, or any others of +interest, to be overridden. This directive is evaluated after the initial +values for these variables are set, so they can be used as input into both +the condition expressions and value expressions.

+

Parameter syntax:

+
+
conditional-expression
+
Specifies an expression that controls whether the environment variable that + follows will be modified. For information on the expression syntax, see + the examples that follow or the full specification at the + ap_expr documentation. +
+
environment-variable-name
+
Specifies the CGI environment variable to change, + such as PATH_INFO. If preceded by an exclamation point, the variable + will be unset.
+
value-expression
+
Specifies the replacement value for the preceding environment variable. + Backreferences, such as "$1", can be included from regular expression + captures in conditional-expression. If omitted, the variable is + set (or overridden) to an empty string — but see the Note below.
+
+ +
# A basic, unconditional override
+ProxyFCGISetEnvIf "true" PATH_INFO "/example"
+
+# Use an environment variable in the value
+ProxyFCGISetEnvIf "true" PATH_INFO "%{reqenv:SCRIPT_NAME}"
+
+# Use captures in the conditions and backreferences in the replacement
+ProxyFCGISetEnvIf "reqenv('PATH_TRANSLATED') =~ m|(/.*prefix)(\d+)(.*)|" PATH_TRANSLATED "$1$3"
+
+ +

Note: Unset vs. Empty

+ The following will unset VARIABLE, preventing it from being sent + to the FastCGI server: + +
ProxyFCGISetEnvIf true !VARIABLE
+ + + Whereas the following will erase any existing value of + VARIABLE (by setting it to the empty string), but the empty + VARIABLE will still be sent to the server: + +
ProxyFCGISetEnvIf true VARIABLE
+ + + The CGI/1.1 specification + does not + distinguish between a variable with an empty value and a variable that + does not exist. However, many CGI and FastCGI implementations distinguish (or + allow scripts to distinguish) between the two. The choice of which to use is + dependent upon your implementation and your reason for modifying the variable. +
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 b/docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 new file mode 100644 index 0000000..cf495c8 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 @@ -0,0 +1,380 @@ + + + + + +mod_proxy_fcgi - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_fcgi

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module fournissant le support de FastCGI à +mod_proxy
Statut:Extension
Identificateur de Module:proxy_fcgi_module
Fichier Source:mod_proxy_fcgi.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il fournit le support du protocole FastCGI.

+ +

Ainsi, pour pouvoir traiter le protocole FastCGI, + mod_proxy et mod_proxy_fcgi + doivent être chargés dans le serveur.

+ +

A la différence de mod_fcgid et mod_fastcgi, + mod_proxy_fcgi n'est pas en mesure de démarrer le + processus de l'application ; fcgistarter est + fourni à cet effet sur certaines plateformes. Le framework + applicatif FastCGI utilisé peut aussi fournir la gestion des + processus ou des lancements de programmes externes.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

Exemples

+

Pour que ces exemples fonctionnent, vous ne devez pas oublier + d'activer mod_proxy et + mod_proxy_fcgi.

+ +

Instance d'application unique

ProxyPass "/mon_appli/" "fcgi://localhost:4000/"
+
+ + +

mod_proxy_fcgi interdisant par défaut la + réutilisation des connexions, lorsqu'une requête a été traitée, la + connexion ne sera pas maintenue ouverte par le processus enfant + httpd, et ne sera donc pas réutilisée. Cependant, si l'application + FastCGI supporte les connexions httpd simultanées, vous pouvez opter + pour la réutilisation des connexions comme dans l'exemple suivant :

+ +

Instance d'application unique, réutilisation + des connexions (versions 2.4.11 et supérieures)

ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on
+
+ +

Active la réutilisation des connexions vers un serveur FCGI + d'arrière-plan tel que PHP-FPM

+

Il faut garder à l'esprit que PHP-FPM (en février 2018) utilise un modèle + du style prefork ; autrement dit, chacun de ses processus de travail ne peut + gérer qu'une connexion à la fois.
Par défaut et lorsqu'il est + configuré avec enablereuse=on et lorsqu'un MPM à base de + threads est utilisé (comme worker ou + event), mod_proxy autorise un jeu de ThreadsPerChild connexions vers le serveur + d'arrière-plan pour chaque processus httpd, et par conséquent, il faut + prêter une attention particulière aux situations suivantes :

+
    +
  • Avec une charge en HTTP/1, il est fort probable que le nombre de + connexions vers le serveur FCGI d'arrière-plan augmente jusqu'à atteindre + MaxRequestWorkers.
  • +
  • Avec une charge en HTTP/2, et vue la manière dont + mod_http2 est implémenté, il y a des threads de travail + h2 additionnels qui peuvent forcer la création de connexions + supplémentaires vers le serveur d'arrière-plan. Le nombre total de + connexions que contiennent les jeux de connexions peut alors dépasser + MaxRequestWorkers.
  • +
+

Le nombre maximum de processus de travail PHP-FPM doit être défini + judicieusement car il est possible qu'ils finissent par rester dans l'état + occupé ("busy") pour ne gérer que des connexions persistantes inactives, + sans avoir la possibilité d'en établir de nouvelles ; ce qui se traduira + pour l'utilisateur final par une pile de "HTTP request timeouts".

+
+ +

Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + L'URL de la requête est implicitement ajoutée au second paramètre. + PHP-FPM est à l'écoute de l'hôte et du port qui + suivent fcgi://. La conservation/réutilisation des connexions est activée.

+

PHP-FPM

ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on
+
+ +

Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine + unix (UDS). Cette fonctionnalité est disponible à partir de la + version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont + ajoutés après fcgi://, ils seront ignorés.

+

PHP-FPM with UDS

ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
+
+ +

La passerelle à répartition de charge nécessite le chargement du + module mod_proxy_balancer et d'au moins un module + fournissant un algorithme de répartition de charge, comme + mod_lbmethod_byrequests en plus des modules + déjà cités. mod_lbmethod_byrequests est le module + par défaut et sera utilisé dans cet exemple de configuration.

+ +

Passerelle à répartition de charge vers plusieurs + instances de l'application

ProxyPass "/myapp/" "balancer://myappcluster/"
+<Proxy "balancer://myappcluster/">
+    BalancerMember "fcgi://localhost:4000"
+    BalancerMember "fcgi://localhost:4001"
+</Proxy>
+
+ +

Vous pouvez aussi forcer le traitement d'une requête en tant que + requête de mandataire inverse en créant un court-circuiteur de + gestionnaire approprié. Dans l'exemple ci-dessous, toutes les + requêtes pour des scripts PHP seront transmises au serveur FastCGI + spécifié par mandat inverse. Cette fonctionnalité est disponible à + partir de la version 2.4.10 du serveur HTTP Apache. Pour des raisons + de performances, il est recommandé de définir un worker (configuration d'un + mandataire) représentant le même serveur fcgi:// d'arrière-plan. + Avec cette configuration, il est possible d'effectuer une + correspondance directe entre l'URI et le chemin du fichier sur le + serveur, et le chemin local du fichier sera alors transmis au serveur + d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est + en mesure de calculer le PATH_INFO le plus approprié. +

+

Mandataire via un gestionnaire

<FilesMatch "\.php$">
+    # Note : la seule partie variable est /path/to/app.sock
+    SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
+</FilesMatch>
+   # Définition d'une configuration de mandataire qui convient.
+   # La partie qui est mise en correspondance avec la valeur de
+   # SetHandler est la partie qui suit le "pipe". Si vous devez faire
+   # une distinction, "localhost" peut être changé en un nom de serveur
+   # unique.
+   <Proxy "fcgi://localhost/" enablereuse=on max=10>
+   </Proxy>
+
+<FilesMatch ...>
+    SetHandler  "proxy:fcgi://localhost:9000"
+</FilesMatch>
+
+<FilesMatch ...>
+    SetHandler  "proxy:balancer://myappcluster/"
+</FilesMatch>
+
+
top
+
+

Variables d'environnement

+

En plus des directives de configuration qui contrôlent le + comportement de mod_proxy, de nombreuses + variables d'environnement permettent de piloter le + fournisseur du protocole FCGI :

+
+
proxy-fcgi-pathinfo
+
Lorsqu'il est configuré via les directives ProxyPass ou ProxyPassMatch, + mod_proxy_fcgi ne définit + pas la variable d'environnement PATH_INFO, + ce qui permet au serveur FCGI d'arrière-plan de déterminer + correctement SCRIPT_NAME et Script-URI, et + de se conformer à la section 3.3 de la RFC 3875. Si au contraire + vous avez souhaitez que mod_proxy_fcgi génère une + "estimation la plus exacte possible" de PATH_INFO, + définissez la variable d'environnement + proxy-fcgi-pathinfo. Ceci peut servir de + contournement pour une bogue présente dans certaines + implémentations de FCGI. Cette variable peut être + multivaluée afin de pouvoir choisir la valeur la plus appropriée + (versions 2.4.11 et supérieures) : +
+
first-dot
+
PATH_INFO est extrait à partir du slash qui suit le + premier "." de l'URL.
+
last-dot
+
PATH_INFO est extrait à partir du slash qui suit le + dernier "." de l'URL.
+
full
+
PATH_INFO est calculé en supposant que l'URL correspond au + chemin du système de fichiers.
+
unescape
+
PATH_INFO correspond à la partie chemin de l'URL avec ses + séquences d'échappement décodées.
+
toute autre valeur
+
PATH_INFO correspond à la partie chemin de l'URL. + Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.
+
+
+
+
+
top
+

Directive ProxyFCGIBackendType

+ + + + + + + + +
Description:Spécifie le type de l'application FastCGI d'arrière-plan
Syntaxe:ProxyFCGIBackendType FPM|GENERIC
Défaut:ProxyFCGIBackendType FPM
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_proxy_fcgi
Compatibilité:Disponible à partir de la version 2.4.26 du serveur HTTP Apache
+

Cette directive permet de spécifier le type de l'application FastCGI +d'arrière-plan. Certains serveurs FastCGI, comme PHP-FPM, utilisent de manière +historique des variables d'environnement exotiques pour identifier le type du +serveur mandataire utilisé. Définissez cette directive à "GENERIC" si votre +application n'est pas de type PHP-FPM et n'interpréter pas correctement des +variables d'environnement comme SCRIPT_FILENAME ou PATH_TRANSLATED telles +qu'elles sont définies par le serveur.

+ +

SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette +directive. Historiquement, lorsqu'on utilisait le module +mod_proxy_fcgi, SCRIPT_FILENAME était préfixé par la chaîne +"proxy:fcgi://". C'est cette variable que lisent certaines applications FastCGI +génériques en tant que valeur en entrée pour leur script ; cependant, PHP-FPM +peut supprimer le préfixe, puis garder en mémoire qu'il communique avec Apache. +Avec les versions 2.4.21 à 2.4.25, ce préfixe était automatiquement supprimé par +le serveur, empêchant ainsi PHP-FPM de détecter et interopérer avec Apache dans +certains scénarios.

+ +
+
top
+

Directive ProxyFCGISetEnvIf

+ + + + + + + +
Description:Permet d'adapter la valeur des variables envoyées aux serveurs +FastCGI
Syntaxe:ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_proxy_fcgi
Compatibilité:Disponible à partir de la version 2.4.26 du serveur HTTP Apache.
+

Juste avant la transmission d'une requête au serveur FastCGI configuré, le +coeur du programme du serveur web définit un certain nombre de variables +d'environnement en fonction de certains détails de la requête considérée. Les +programmes FastCGI utilisent souvent ces variables comme données en entrée afin +de déterminer quels scripts sous-jacents ils vont exécuter, ou quelles données +en sortie doivent être produites.

+

Voici quelques exemples de variables d'environnement importantes :

+
    +
  • SCRIPT_NAME
  • +
  • SCRIPT_FILENAME
  • +
  • REQUEST_URI
  • +
  • PATH_INFO
  • +
  • PATH_TRANSLATED
  • +
+ +

Cette directive permet de passer outre les variables d'environnement +ci-dessus, entre autres. Elle est évaluée après la définition de la valeur +initiale de ces variables ; elle peuvent donc être utilisées comme entrées dans +les expressions définissants les conditions et les valeurs.

+

Syntaxe des paramètres :

+
+
conditional-expression
+
Définit une condition en fonction de laquelle la +variable d'environnement qui suit sera modifiée ou non. Pour la syntaxe de cette +expression, reportez-vous aux exemples qui suivent ou à la spécification +détaillée dans le document ap_expr. +
+
environment-variable-name
+
Spécifie le nom de la variable d'environnement à modifier, par exemple +PATH_INFO. Si elle est précédée d'un point d'exclamation, la définition de la +variable sera annulée.
+
value-expression
+
Spécifie la nouvelle valeur de la variable "environment-variable-name". On +peut inclure des +références arrières, comme "$1", issues de captures en provenance de +l'expression rationnelle conditional-expression. Si cette valeur est +omise, la variable est définie (ou sa valeur est écrasée) par une chaîne vide +— voir cependant la note ci-après.
+
+ +
# Une modification basique, inconditionnelle
+ProxyFCGISetEnvIf "true" PATH_INFO "/example"
+
+# Utilisation d'une variable d'environnement pour spécifier la nouvelle valeur
+ProxyFCGISetEnvIf "true" PATH_INFO "%{reqenv:SCRIPT_NAME}"
+
+# Utilisation de captures dans la condition et de références arrières dans la +# nouvelle valeur +ProxyFCGISetEnvIf "reqenv('PATH_TRANSLATED') =~ m#(/.*prefix)(\d+)(.*)#" PATH_TRANSLATED "$1$3"
+
+ +

Note : Annulation définition ou valeur vide

+ La ligne suivante annule la définition de la variable VARIABLE, + ce qui l'empêche d'être envoyée au serveur FastCGI : + +
ProxyFCGISetEnvIf true !VARIABLE
+ + + La ligne suivante, quant à elle, efface la valeur de la variable + VARIABLE en lui affectant la chaîne vide ; cette variable + VARIABLE sera alors tout de même envoyée au serveur FastCGI : + +
ProxyFCGISetEnvIf true VARIABLE
+ + + La spécification CGI/1.1 ne fait pas de + distinction entre une variable contenant une chaîne vide et une variable qui + n'existe pas. De nombreuses implémentations CGI et FastCGI font cependant + cette distinction (ou permettent aux scripts de la faire). Le choix de celle + que vous allez utiliser dépend de votre implémentation et de la raison qui + vous pousse à modifier cette variable. +
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fdpass.html b/docs/manual/mod/mod_proxy_fdpass.html new file mode 100644 index 0000000..ee7eb55 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_fdpass.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_fdpass.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_fdpass.html.en b/docs/manual/mod/mod_proxy_fdpass.html.en new file mode 100644 index 0000000..a9b91ba --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html.en @@ -0,0 +1,101 @@ + + + + + +mod_proxy_fdpass - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_fdpass

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:fdpass external process support module for +mod_proxy
Status:Extension
Module Identifier:proxy_fdpass_module
Source File:mod_proxy_fdpass.c
Compatibility:Available for unix in version 2.3 and later
+

Summary

+ +

This module requires the service of mod_proxy. It provides support for the passing the socket of the + client to another process.

+ +

mod_proxy_fdpass uses the ability of AF_UNIX domain + sockets to pass an + open file descriptor to allow another process to finish handling a request. +

+ +

The module has a proxy_fdpass_flusher provider interface, + which allows another module to optionally send the response headers, or even + the start of the response body. The default flush provider + disables keep-alive, and sends the response headers, letting the external + process just send a response body. +

+ +

In order to use another provider, you have to set the flusher + parameter in the ProxyPass directive. +

+ +

At this time the only data passed to the external process is the client + socket. To receive a client socket, call recvfrom with an allocated + struct cmsghdr. Future versions of this module may include + more data after the client socket, but this is not implemented at this time. +

+
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 b/docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 new file mode 100644 index 0000000..f92f71e --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 @@ -0,0 +1,104 @@ + + + + + +mod_proxy_fdpass - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_fdpass

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module fournissant le support des processus externes fdpass +à mod_proxy
Statut:Extension
Identificateur de Module:proxy_fdpass_module
Fichier Source:mod_proxy_fdpass.c
Compatibilité:Disponible pour unix depuis la version 2.3 +d'Apache
+

Sommaire

+ +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il permet le passage de la socket du client + vers un autre processus.

+ +

mod_proxy_fdpass utilise la capacité des sockets de + domaine AF_UNIX à transmettre un + descripteur de fichier ouvert afin de permettre à un autre + processus de terminer le traitement de la requête. +

+ +

Le module possède une interface de fournisseur + proxy_fdpass_flusher qui permet éventuellement à un + autre module d'envoyer les en-têtes de la réponse, ou même le début + du corps de la réponse. Le fournisseur par défaut flush désactive la + persistence, et envoie les en-têtes de la réponse, laissant le soin + au processus externe d'envoyer le corps de la réponse.

+ +

Pour utiliser un autre fournisseur, vous devez spécifier le paramètre + flusher de la directive ProxyPass. +

+ +

À l'heure actuelle, la seule donnée transmise au processus + externe est la socket du client. Pour recevoir une socket client, + appelez recvfrom avec une structure struct cmsghdr allouée. Les versions + futures de ce module pourront transmettre d'autres données que le + socket client. +

+
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ftp.html b/docs/manual/mod/mod_proxy_ftp.html new file mode 100644 index 0000000..ad5a4c2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_ftp.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_ftp.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en new file mode 100644 index 0000000..2b60c2f --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html.en @@ -0,0 +1,267 @@ + + + + + +mod_proxy_ftp - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_ftp

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:FTP support module for +mod_proxy
Status:Extension
Module Identifier:proxy_ftp_module
Source File:mod_proxy_ftp.c
+

Summary

+ +

This module requires the service of mod_proxy. It provides support for the proxying + FTP sites. Note that FTP support is currently limited to + the GET method.

+ +

Thus, in order to get the ability of handling FTP proxy requests, + mod_proxy and mod_proxy_ftp + have to be present in the server.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+ +
top
+
+

Why doesn't file type xxx + download via FTP?

+

You probably don't have that particular file type defined as + application/octet-stream in your proxy's mime.types + configuration file. A useful line can be:

+ +
application/octet-stream   bin dms lha lzh exe class tgz taz
+

Alternatively you may prefer to use the ForceType + directive to default everything to binary:

+
ForceType application/octet-stream
+
+
top
+
+

How can I force an FTP ASCII download of + file xxx?

+

In the rare situation where you must download a specific file using the + FTP ASCII transfer method (while the default transfer is in + binary mode), you can override mod_proxy's + default by suffixing the request with ;type=a to force an + ASCII transfer. (FTP Directory listings are always executed in ASCII mode, + however.)

+
top
+
+

How can I do FTP upload?

+

Currently, only GET is supported for FTP in mod_proxy. You can + of course use HTTP upload (POST or PUT) through an Apache proxy.

+
top
+
+

How can I access FTP files outside + of my home directory?

+

An FTP URI is interpreted relative to the home directory of the user + who is logging in. Alas, to reach higher directory levels you cannot + use /../, as the dots are interpreted by the browser and not actually + sent to the FTP server. To address this problem, the so called Squid + %2f hack was implemented in the Apache FTP proxy; it is a + solution which is also used by other popular proxy servers like the Squid Proxy Cache. By + prepending /%2f to the path of your request, you can make + such a proxy change the FTP starting directory to / (instead + of the home directory). For example, to retrieve the file + /etc/motd, you would use the URL:

+ +

+ ftp://user@host/%2f/etc/motd +

+
top
+
+

How can I hide the FTP cleartext password + in my browser's URL line?

+

To log in to an FTP server by username and password, Apache uses + different strategies. In absence of a user name and password in the URL + altogether, Apache sends an anonymous login to the FTP server, + i.e.,

+ +

+ user: anonymous
+ password: apache-proxy@ +

+ +

This works for all popular FTP servers which are configured for + anonymous access.

+ +

For a personal login with a specific username, you can embed the user + name into the URL, like in:

+ +

+ ftp://username@host/myfile +

+ +

If the FTP server asks for a password when given this username (which + it should), then Apache will reply with a 401 (Authorization + required) response, which causes the Browser to pop up the + username/password dialog. Upon entering the password, the connection + attempt is retried, and if successful, the requested resource is + presented. The advantage of this procedure is that your browser does not + display the password in cleartext (which it would if you had used

+ +

+ ftp://username:password@host/myfile +

+ +

in the first place).

+ +

Note

+

The password which is transmitted in such a way is not encrypted on + its way. It travels between your browser and the Apache proxy server in + a base64-encoded cleartext string, and between the Apache proxy and the + FTP server as plaintext. You should therefore think twice before + accessing your FTP server via HTTP (or before accessing your personal + files via FTP at all!) When using insecure channels, an eavesdropper + might intercept your password on its way.

+
+
top
+
+

Why do I get a file listing when I expected + a file to be downloaded?

+

In order to allow both browsing the directories on an FTP server and + downloading files, Apache looks at the request URL. If it looks like + a directory, or contains wildcard characters ("*?[{~"), then it + guesses that a listing is wanted instead of a download.

+

You can disable the special handling of names with wildcard characters. + See the ProxyFtpListOnWildcard directive. +

+
+
top
+

ProxyFtpDirCharset Directive

+ + + + + + + + +
Description:Define the character set for proxied FTP listings
Syntax:ProxyFtpDirCharset character_set
Default:ProxyFtpDirCharset ISO-8859-1
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy_ftp
Compatibility:Available in Apache 2.2.7 and later. Moved from mod_proxy in Apache 2.3.5.
+

The ProxyFtpDirCharset directive defines the + character set to be set for FTP directory listings in HTML generated by + mod_proxy_ftp.

+ +
+
top
+

ProxyFtpEscapeWildcards Directive

+ + + + + + + + +
Description:Whether wildcards in requested filenames are escaped when sent to the FTP server
Syntax:ProxyFtpEscapeWildcards on|off
Default:ProxyFtpEscapeWildcards on
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy_ftp
Compatibility:Available in Apache 2.3.3 and later
+

The ProxyFtpEscapeWildcards directive + controls whether wildcard characters ("*?[{~") in requested + filenames are escaped with backslash before sending them to the + FTP server. That is the default behavior, but many FTP servers + don't know about the escaping and try to serve the literal filenames + they were sent, including the backslashes in the names.

+

Set to "off" to allow downloading files with wildcards + in their names from FTP servers that don't understand wildcard + escaping.

+ +
+
top
+

ProxyFtpListOnWildcard Directive

+ + + + + + + + +
Description:Whether wildcards in requested filenames trigger a file listing
Syntax:ProxyFtpListOnWildcard on|off
Default:ProxyFtpListOnWildcard on
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy_ftp
Compatibility:Available in Apache 2.3.3 and later
+

The ProxyFtpListOnWildcard directive + controls whether wildcard characters ("*?[{~") in requested + filenames cause mod_proxy_ftp to return a listing + of files instead of downloading a file. By default (value on), + they do.

+

Set to "off" to allow downloading files even if they + have wildcard characters in their names.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ftp.html.fr.utf8 b/docs/manual/mod/mod_proxy_ftp.html.fr.utf8 new file mode 100644 index 0000000..6948470 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html.fr.utf8 @@ -0,0 +1,296 @@ + + + + + +mod_proxy_ftp - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_ftp

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Module fournissant le support FTP à +mod_proxy
Statut:Extension
Identificateur de Module:proxy_ftp_module
Fichier Source:mod_proxy_ftp.c
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy. Il fournit le support du + mandatement des sites FTP. Notez que le support FTP est + actuellement limité à la méthode GET.

+ +

Ainsi, pour pouvoir traiter les requêtes FTP mandatées, + mod_proxy, et mod_proxy_ftp + doivent être chargés dans le serveur.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

Pourquoi les fichiers du type + xxx ne sont-ils pas téléchargeables par FTP ?

+

Ce type particulier de fichier n'est probablement pas défini en + temps que application/octet-stream dans le fichier + de configuration mime.types de votre mandataire. La ligne suivante + peut y remédier :

+ +
application/octet-stream   bin dms lha lzh exe class tgz taz
+

Vous pouvez aussi utiliser la directive ForceType pour définir par défaut tous les types + de fichiers en tant que fichiers binaires :

+
ForceType application/octet-stream
+
+
top
+
+

Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier xxx ?

+

Dans les rares siruations où vous devez télécharger un fichier + spécifique en utilisant la méthode de transfert FTP + ASCII (alors que le mode transfert par défaut est + binary), vous pouvez modifier le mode de transfert de + mod_proxy en suffixant la requête avec + ;type=a pour forcer un transfert en mode ASCII (les + listings de répertoires FTP sont cependant quant à eux transmis en + mode ASCII).

+
top
+
+

Comment puis-je effectuer un + chargement FTP ?

+

Actuellement, seule la méthode GET est supportée pour FTP dans + mod_proxy. Vous pouvez par contre utiliser le chargement HTTP (POST + or PUT) via un mandataire Apache.

+
top
+
+

Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ?

+

Un URI FTP est considéré comme relatif au répertoire home de + l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../ + pour atteindre des répertoires de niveau supérieur, car les points + sont interprétés par le navigateur et ne sont donc pas vraiment + envoyés au serveur FTP. Pour traiter ce problème, une méthode + nommée Squid %2f hack a été implémentée dans le + mandataire FTP Apache ; cette solution est aussi utilisée par + d'autres serveurs mandataires courants comme le Cache mandataire Squid. En + préfixant par /%2f le chemin de votre requête, vous + pouvez faire en sorte que le mandataire modifie le répertoire FTP + racine en / (au lieu du répertoire home). Par + exemple, pour extraire le fichier /etc/motd, vous + pourriez utiliser l'URL :

+ +

+ ftp://utilisateur@serveur/%2f/etc/motd +

+
top
+
+

Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ?

+

Apache utilise différentes stratégies pour effectuer une + connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un + mot de passe. En l'absence de nom d'utilisateur et de mot de passe + dans l'URL, Apache tente une connexion anonyme auprès du serveur + FTP comme suit :

+ +

+ utilisateur : anonymous
+ mot de passe : apache-proxy@ +

+ +

Ceci fonctionne avec tous les serveurs FTP courants configurés + pour accepter les connexions anonymes.

+ +

Pour une connexion personnalisée avec un nom d'utilisateur + spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit + :

+ +

+ ftp://nom-utilisateur@serveur/mon-fichier +

+ +

Si le serveur FTP demande un mot de passe pour ce nom + d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au + client une réponse 401 (Autorisation requise), ce qui + fera afficher au navigateur une boîte de dialogue utilisateur/mot + de passe. Une fois le mot de passe saisi, la connexion est tentée + à nouveau, et si elle réussit, la ressource demandée est + présentée. L'avantage de cette procédure réside dans le fait que + votre navigateur n'affiche pas le mot de passe en clair, ce qu'il + aurait fait si vous aviez utilisé l'URL :

+ +

+ ftp://nom-utilisateur:mot-de-passe@serveur/mon-fichier +

+ +

Note

+

Le mot de passe transmis de cette manière n'est pas chiffré + lorsqu'il est envoyé. Il transite entre votre navigateur et le + serveur mandataire Apache sous la forme d'une chaîne de texte en + clair codée en base64, et entre le mandataire Apache et le + serveur FTP en texte pur. Vous devez par conséquent réfléchir à + deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une + manière générale avant d'accéder à vos fichiers personnels via + FTP !) sur des canaux non sécurisés, car des oreilles + indiscrètes pourraient intercepter votre mot de passe au cours + de son transfert.

+
+
top
+
+

Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ?

+

Apache examine l'URL de la requête afin de permettre la + navigation dans les répertoires d'un serveur FTP ainsi que le + téléchargement de fichiers. Si elle ressemble à un répertoire, ou + contient des caractères génériques ("*?[{~"), alors Apache + considère que c'est un listing qui est demandé, et non un + téléchargement.

+

Vous pouvez désactiver le traitement spécial des noms contenant + des caractères génériques. Voir à cet effet la directive + ProxyFtpListOnWildcard. +

+
+
top
+

Directive ProxyFtpDirCharset

+ + + + + + + + +
Description:Définit le jeu de caractères des listings FTP +mandatés
Syntaxe:ProxyFtpDirCharset character_set
Défaut:ProxyFtpDirCharset ISO-8859-1
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_ftp
Compatibilité:Disponible à partir de la version 2.2.7 du serveur HTTP Apache. Déplacé +depuis mod_proxy à partir de la version 2.3.5
+

La directive ProxyFtpDirCharset permet de + définir le jeu de caractères à utiliser pour les listings FTP en + HTML générés par mod_proxy_ftp.

+ +
+
top
+

Directive ProxyFtpEscapeWildcards

+ + + + + + + + +
Description:Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?
Syntaxe:ProxyFtpEscapeWildcards on|off
Défaut:ProxyFtpEscapeWildcards on
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_ftp
Compatibilité:Disponible depuis la version 2.3.3 du serveur HTTP Apache
+

La directive ProxyFtpEscapeWildcards permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés doivent être échappés pas un slash + inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement + par défaut ; cependant, de nombreux serveurs FTP n'ont aucune + connaissance de la notion d'échappement, et tentent de servir le + fichier demandé sous sa forme littérale, en incluant les slashes + inversés dans son nom.

+

Définissez cette directive à "off" pour permettre le + téléchargement de fichiers dont les noms contiennent des caractères + génériques depuis des serveurs FTP qui ne connaissent pas + l'échappement des caractères génériques.

+ +
+
top
+

Directive ProxyFtpListOnWildcard

+ + + + + + + + +
Description:Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ?
Syntaxe:ProxyFtpListOnWildcard on|off
Défaut:ProxyFtpListOnWildcard on
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_ftp
Compatibilité:Disponible depuis la version 2.3.3 du serveur HTTP Apache
+

La directive ProxyFtpListOnWildcard permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés provoquent l'affichage d'un listing de + fichiers par mod_proxy_ftp au lieu de télécharger un + fichier. Il s'agit de leur comportement par défaut (valeur on).

+

Définissez cette directive à "off" pour permettre le téléchargement de + fichiers même si leur nom contient des caractères génériques.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_hcheck.html b/docs/manual/mod/mod_proxy_hcheck.html new file mode 100644 index 0000000..e2a38bb --- /dev/null +++ b/docs/manual/mod/mod_proxy_hcheck.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_hcheck.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_hcheck.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_hcheck.html.en b/docs/manual/mod/mod_proxy_hcheck.html.en new file mode 100644 index 0000000..d86ee12 --- /dev/null +++ b/docs/manual/mod/mod_proxy_hcheck.html.en @@ -0,0 +1,282 @@ + + + + + +mod_proxy_hcheck - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_hcheck

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Dynamic health check of Balancer members (workers) for +mod_proxy
Status:Extension
Module Identifier:proxy_hcheck_module
Source File:mod_proxy_hcheck.c
Compatibility:Available in Apache 2.4.21 and later
+

Summary

+ +

This module provides for dynamic health checking of balancer + members (workers). This can be enabled on a worker-by-worker + basis. The health check is done independently of the + actual reverse proxy requests.

+ +

This module requires the service of mod_watchdog.

+ +

Parameters

+

The health check mechanism is enabled via the use of additional + BalancerMember parameters, which are configured + in the standard way via ProxyPass:

+ +

A new BalancerMember status state (flag) + is defined via this module: "C". + When the worker is taken offline due to failures as determined by the health + check module, this flag is set, and can be seen (and modified) via the + balancer-manager.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDefaultDescription
hcmethodNoneNo dynamic health check performed. Choices are: + + + + + + + + + + + + + +
MethodDescriptionNote
NoneNo dynamic health checking done
TCPCheck that a socket to the backend can be created: e.g. "are you up"
OPTIONSSend a HTTP OPTIONS request to the backend via HTTP/1.0*
HEADSend a HTTP HEAD request to the backend via HTTP/1.0*
GETSend a HTTP GET request to the backend via HTTP/1.0*
OPTIONS11Send a HTTP OPTIONS request to the backend via HTTP/1.1*
HEAD11Send a HTTP HEAD request to the backend via HTTP/1.1*
GET11Send a HTTP GET request to the backend via HTTP/1.1*
*: Unless hcexpr is used, a 2xx or 3xx HTTP status will be interpreted as passing the health check
+
hcpasses1Number of successful health check tests before worker is re-enabled
hcfails1Number of failed health check tests before worker is disabled
hcinterval30Period of health checks in seconds (e.g. performed every 30 seconds)
hcuri Additional URI to be appended to the worker URL for the health check.
hctemplate Name of template, created via ProxyHCTemplate, + to use for setting health check parameters for this worker
hcexpr Name of expression, created via ProxyHCExpr, + used to check response headers for health.
+ If not used, 2xx thru 3xx status codes imply success
+
+ +

Compatibility:

+

OPTIONS11, HEAD11 and GET11 are + available in 2.4.55 and above.

+
+ +
+ +
top
+
+

Usage examples

+ + +

The following example shows how one might configured health checking + for various backend servers:

+ + +
ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
+ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/}
+ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
+
+<Proxy balancer://foo>
+  BalancerMember http://www.example.com/  hcmethod=GET hcexpr=in_maint hcuri=/status.php
+  BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10
+  BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3
+  BalancerMember http://www4.example.com/
+</Proxy>
+
+ProxyPass "/" "balancer://foo"
+ProxyPassReverse "/" "balancer://foo"
+ + +

In this scenario, http://www.example.com/ is health checked by sending a GET /status.php +request to that server and seeing that the returned page does not include the string Under maintenance. If +it does, that server is put in health-check fail mode, and disabled. This dynamic check is performed +every 30 seconds, which is the default.

+ +

http://www2.example.com/ is checked by sending a simple HEAD request every +10 seconds and making sure that the response status is 2xx, 3xx or 4xx. http://www3.example.com/ is checked +every 5 seconds by simply ensuring that the socket to that server is up. If the backend is marked as +"down" and it passes 2 health check, it will be re-enabled and added back into the load balancer. +It takes 3 back-to-back health check failures to disable the server and move it out +of rotation. Finally, http://www4.example.com/ is +not dynamically checked at all.

+ +
+
top
+

ProxyHCExpr Directive

+ + + + + + +
Description:Creates a named condition expression to use to determine health of the backend based on its response
Syntax:ProxyHCExpr name {ap_expr expression}
Context:server config, virtual host
Status:Extension
Module:mod_proxy_hcheck
+

The ProxyHCExpr directive allows + for creating a named condition expression that checks the response + headers of the backend server to determine its health. This named + condition can then be assigned to balancer members via the hcexpr + parameter.

+ +

ProxyHCExpr: Allow for 2xx/3xx/4xx as passing

ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
+ProxyPass "/apps"     "balancer://foo"
+
+<Proxy balancer://foo>
+  BalancerMember http://www2.example.com/  hcmethod=HEAD hcexpr=ok234 hcinterval=10
+</Proxy>
+
+ +
+ The expression can use curly-parens ("{}") as + quoting deliminators in addition to normal quotes. +
+ +

If using a health check method (eg: GET) which results in a response + body, that body itself can be checked via ap_expr using the hc() + expression function, which is unique to this module.

+ +

In the following example, we send the backend a GET request + and if the response body contains the phrase Under maintenance, + we want to disable the backend.

+ +

ProxyHCExpr: Checking response body

ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
+ProxyPass "/apps"     "balancer://foo"
+
+<Proxy balancer://foo>
+  BalancerMember http://www.example.com/ hcexpr=in_maint hcmethod=get hcuri=/status.php
+</Proxy>
+
+ +

NOTE: Since response body can quite large, it is best if used against specific status pages.

+ +
+
top
+

ProxyHCTemplate Directive

+ + + + + + +
Description:Creates a named template for setting various health check parameters
Syntax:ProxyHCTemplate name parameter=setting [...]
Context:server config, virtual host
Status:Extension
Module:mod_proxy_hcheck
+

The ProxyHCTemplate directive allows + for creating a named set (template) of health check parameters + that can then be assigned to balancer members via the hctemplate + parameter.

+ +

ProxyHCTemplate

ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5
+ProxyPass "/apps"     "balancer://foo"
+
+<Proxy balancer://foo>
+  BalancerMember http://www2.example.com/ hctemplate=tcp5
+</Proxy>
+
+ + +
+
top
+

ProxyHCTPsize Directive

+ + + + + + + +
Description:Sets the total server-wide size of the threadpool used for the health check workers
Syntax:ProxyHCTPsize size
Default:ProxyHCTPsize 16
Context:server config
Status:Extension
Module:mod_proxy_hcheck
+

If Apache httpd and APR are built with thread support, the health check + module will offload the work of the actual checking to a threadpool + associated with the Watchdog process, allowing for parallel checks. + The ProxyHCTPsize directive + determines the size of this threadpool. If set to 0, no threadpool + is used at all, resulting in serialized health checks.

+ +

ProxyHCTPsize

ProxyHCTPsize 32
+
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 b/docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 new file mode 100644 index 0000000..77e717a --- /dev/null +++ b/docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 @@ -0,0 +1,314 @@ + + + + + +mod_proxy_hcheck - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_hcheck

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Check up dynamique des membres du groupe de répartition de charge +(équipiers) pour mod_proxy
Statut:Extension
Identificateur de Module:proxy_hcheck_module
Fichier Source:mod_proxy_hcheck.c
Compatibilité:Disponible à partir de la version 2.4.21 du serveur HTTP Apache
+

Sommaire

+ +

Ce module permet d'effectuer un check up dynamique des membres du groupe + de répartition de charge (équipiers). Ce check up peut être activé pour un + ou plusieurs équipiers et il est indépendant des requêtes de mandataire + inverse proprement dites.

+ +

Pour fonctionner, ce module nécessite le chargement préalable de + mod_watchdog.

+ +

Paramètres

+

Le mécanisme de check up est activé via l'utilisation de paramètres + supplémentaires de la directive BalancerMember configurés de manière standard + via la directive ProxyPass :

+ +

Ce module définit un nouveau drapeau d'état status pour BalancerMember : + "C". Lorsque l'équipier est mis hors service suite à un + disfonctionnement déterminé par le module de check up, ce drapeau est activé + et peut être lu (et modifié) via le balancer-manager.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ParamètreDéfautDescription
hcmethodNoneAucun check up dynamique n'est effectué. Les choix possibles sont : + + + + + + + + + + + + + +
MethodDescriptionNote
NoneAucun check up dynamique effectué
TCPVérifie qu'un socket vers le serveur + d'arrière-plan peut être créé ; par exemple "es-tu en + état de fonctionner"
OPTIONSEnvoie une requête HTTP + OPTIONS au serveur d'arrière-plan via + HTTP/1.0*
HEADEnvoie une requête HTTP + HEAD au serveur d'arrière-plan via + HTTP/1.0*
GETEnvoie une requête HTTP + GET au serveur d'arrière-plan via + HTTP/1.0*
OPTIONS11Envoie une requête HTTP + OPTIONS au serveur d'arrière-plan via + HTTP/1.1*
HEAD11Envoie une requête HTTP + HEAD au serveur d'arrière-plan via + HTTP/1.1*
GET11Envoie une requête HTTP + GET au serveur d'arrière-plan via + HTTP/1.1*
*: si hcexpr n'est pas + utilisé, un retour HTTP 2xx ou 3xx sera + interprété comme un passage avec succès du check + up.
+
hcpasses1Nombre de check up à passer avec succès avant de remettre en service + l'équipier
hcfails1Nombre de check up échoués avant mettre hors service l'équipier
hcinterval30Intervalle entre deux check up en secondes (par défaut effectué + toutes les 30 secondes)
hcuri URI supplémentaire à ajouter à l'URL de l'équipier pour le check up.
hctemplate Nom du modèle créé via ProxyHCTemplate à + utiliser pour définir les paramètres de check up de cet équipier
hcexpr Nom de l'expression créée via ProxyHCExpr + utilisée pour analyser les en-têtes de la réponse du check up.
+ Si ce paramètre est absent, un état HTTP de 2xx à 3xx est + interprété comme un check up réussi.
+
+ +

Compatibilité :

+

OPTIONS11, HEAD11 et GET11 sont + disponibles à partir de la version 2.4.55 du serveur HTTP Apache.

+
+ +
+ +
top
+
+

Exemples d'utilisation

+ + +

L'exemple suivant montre comment configurer le check up pour différents + serveurs d'arrière-plan :

+ + +
ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
+ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/}
+ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
+
+<Proxy balancer://foo>
+  BalancerMember http://www.example.com/  hcmethod=GET hcexpr=in_maint hcuri=/status.php
+  BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10
+  BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3
+  BalancerMember http://www4.example.com/
+</Proxy>
+
+ProxyPass "/" "balancer://foo"
+ProxyPassReverse "/" "balancer://foo"
+ + +

Dans ce scénario, on teste l'équipier http://www.example.com/ en lui +envoyant une requête GET /status.php et en regardant si la réponse +contient la chaîne Under maintenance. Si c'est le cas, le check up est +considéré comme ayant échoué et l'équipier est mis hors service. Ce check up +dynamique est effectué toutes les 30 secondes, ce qui correspond à la valeur par +défaut.

+ +

On teste l'équipier http://www2.example.com/ en lui envoyant +simplement une requête HEAD toutes les 10 secondes et en vérifiant +que la réponse HTTP est bien un code d'état de 2xx, 3xx ou 4xx. On teste +l'équipier http://www3.example.com/ en vérifiant simplement toutes +les 5 secondes que le socket vers ce serveur est bien opérationnel. Si ce +serveur est marqué "hors service", il lui faudra 2 check up réussis pour être +réactivé et participer à nouveau à la répartition de charge. Si à ce moment-là +il échoue à 3 check up successifs, il sera à nouveau mis hors service. Enfin, +l'équipier http://www4.example.com/ ne fait l'objet d'aucun check +up.

+ +
+
top
+

Directive ProxyHCExpr

+ + + + + + +
Description:Crée et nomme une expression conditionnelle à utiliser pour +déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur
Syntaxe:ProxyHCExpr name {ap_expr expression}
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy_hcheck
+

La directive ProxyHCExpr permet de créer et nommer + une expression conditionnelle dont la valeur calculée en fonction des + en-têtes de la réponse du serveur d'arrière-plan permettra d'évaluer la + santé de ce dernier. Cette expression nommée peut alors être assignée aux + serveurs d'arrière-plan via le paramètre hcexpr.

+ +

ProxyHCExpr: interprète les réponses 2xx/3xx/4xx comme des + check up réussis

ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
+ProxyPass "/apps"     "balancer://foo"
+
+<Proxy balancer://foo>
+  BalancerMember http://www2.example.com/  hcmethod=HEAD hcexpr=ok234 hcinterval=10
+</Proxy>
+
+ +
+ L'expression peut utiliser des accolades ("{}") + comme délimiteurs en plus des guillemets normaux. +
+ +

Si l'on utilise une méthode de check up (par exemple GET) + qui génère un corps de réponse, ce corps peut lui-même être ausculté via + ap_expr en utilisant la fonction associée aux expressions + hc() spécifique à ce module.

+ +

Dans l'exemple suivant, on envoie une requête GET au serveur + d'arrière-plan, et si le corps de la réponse contient la chaîne Under + maintenance, ce serveur d'arrière-plan est mis hors service.

+ +

ProxyHCExpr: auscultation du corps de la réponse

ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
+ProxyPass "/apps"     "balancer://foo"
+
+<Proxy balancer://foo>
+  BalancerMember http://www.example.com/ hcexpr=in_maint hcmethod=get hcuri=/status.php
+</Proxy>
+
+ +

NOTE: Comme le corps de la réponse peut être assez grand, il est + recommandé de privilégier un check up basé sur les codes d'état.

+ +
+
top
+

Directive ProxyHCTemplate

+ + + + + + +
Description:Crée et nomme un modèle permettant de définir différents +paramètres de check up
Syntaxe:ProxyHCTemplate name parameter=setting [...]
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy_hcheck
+

La directive ProxyHCTemplate permet de créer et + nommer un modèle de paramètres de check up qui peut alors être assigné aux + équipiers via le paramètre hctemplate.

+ +

ProxyHCTemplate

ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5
+ProxyPass "/apps"     "balancer://foo"
+
+<Proxy balancer://foo>
+  BalancerMember http://www2.example.com/ hctemplate=tcp5
+</Proxy>
+
+ + +
+
top
+

Directive ProxyHCTPsize

+ + + + + + + +
Description:Définit la taille totale, pour l'ensemble du +serveur, du jeu de threads utilisé pour le check up des +équipiers
Syntaxe:ProxyHCTPsize size
Défaut:ProxyHCTPsize 16
Contexte:configuration globale
Statut:Extension
Module:mod_proxy_hcheck
+

Si Apache httpd et APR ont été compilés avec le support des threads, le + module de check up peut confier ce travail à un jeu de threads associé au + processus Watchdog, ce qui permet l'exécution des check up en parallèle. La + directive ProxyHCTPsize permet de déterminer la + taille de ce jeu de threads. Une valeur de 0 signifie qu'aucun + jeu de threads ne sera utilisé, et le check up des différents équipiers sera + alors effectué séquentiellement.

+ +

ProxyHCTPsize

ProxyHCTPsize 32
+
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_html.html b/docs/manual/mod/mod_proxy_html.html new file mode 100644 index 0000000..ecdf204 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_html.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_html.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_html.html.en b/docs/manual/mod/mod_proxy_html.html.en new file mode 100644 index 0000000..2f94ea4 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html.en @@ -0,0 +1,490 @@ + + + + + +mod_proxy_html - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_html

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.
Status:Base
Module Identifier:proxy_html_module
Source File:mod_proxy_html.c
Compatibility:Version 2.4 and later. Available as a third-party module +for earlier 2.x versions
+

Summary

+ +

This module provides an output filter to rewrite HTML links in a +proxy situation, to ensure that links work for users outside the proxy. +It serves the same purpose as Apache's ProxyPassReverse directive does +for HTTP headers, and is an essential component of a reverse proxy.

+ +

For example, if a company has an application server at +appserver.example.com that is only visible from within +the company's internal network, and a public webserver +www.example.com, they may wish to provide a gateway to the +application server at http://www.example.com/appserver/. +When the application server links to itself, those links need to be +rewritten to work through the gateway. mod_proxy_html serves to rewrite +<a href="http://appserver.example.com/foo/bar.html">foobar</a> to +<a href="http://www.example.com/appserver/foo/bar.html">foobar</a> +making it accessible from outside.

+ +

mod_proxy_html was originally developed at WebÞing, whose +extensive documentation may be useful to users.

+
+ + +
top
+

ProxyHTMLBufSize Directive

+ + + + + + + + +
Description:Sets the buffer size increment for buffering inline scripts and +stylesheets.
Syntax:ProxyHTMLBufSize bytes
Default:ProxyHTMLBufSize 8192
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

In order to parse non-HTML content (stylesheets and scripts) embedded +in HTML documents, mod_proxy_html +has to read the entire script or stylesheet into a buffer. This buffer will +be expanded as necessary to hold the largest script or stylesheet in a page, +in increments of bytes as set by this directive.

+

The default is 8192, and will work well for almost all pages. However, +if you know you're proxying pages containing stylesheets and/or +scripts bigger than 8K (that is, for a single script or stylesheet, +NOT in total), it will be more efficient to set a larger buffer +size and avoid the need to resize the buffer dynamically during a request. +

+ +
+
top
+

ProxyHTMLCharsetOut Directive

+ + + + + + + +
Description:Specify a charset for mod_proxy_html output.
Syntax:ProxyHTMLCharsetOut Charset | *
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

This selects an encoding for mod_proxy_html output. It should not +normally be used, as any change from the default UTF-8 +(Unicode - as used internally by libxml2) will impose an additional +processing overhead. The special token ProxyHTMLCharsetOut * +will generate output using the same encoding as the input.

+

Note that this relies on mod_xml2enc being loaded.

+ +
+
top
+

ProxyHTMLDocType Directive

+ + + + + + + +
Description:Sets an HTML or XHTML document type declaration.
Syntax:ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

In the first form, documents will be declared as HTML 4.01 or XHTML 1.0 +according to the option selected. This option also determines whether +HTML or XHTML syntax is used for output. Note that the format of the +documents coming from the backend server is immaterial: the parser will +deal with it automatically. If the optional second argument is set to +Legacy, documents will be declared "Transitional", an option that may +be necessary if you are proxying pre-1998 content or working with defective +authoring/publishing tools.

+

In the second form, it will insert your own FPI. The optional second +argument determines whether SGML/HTML or XML/XHTML syntax will be used.

+

The default is changed to omitting any FPI, +on the grounds that no FPI is better than a bogus one. If your backend +generates decent HTML or XHTML, set it accordingly.

+

If the first form is used, mod_proxy_html +will also clean up the HTML to the specified standard. It cannot +fix every error, but it will strip out bogus elements and attributes. +It will also optionally log other errors at LogLevel Debug.

+ +
+
top
+

ProxyHTMLEnable Directive

+ + + + + + + + +
Description:Turns the proxy_html filter on or off.
Syntax:ProxyHTMLEnable On|Off
Default:ProxyHTMLEnable Off
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +module for earlier 2.x versions.
+

A simple switch to enable or disable the proxy_html filter. + If mod_xml2enc is loaded it will also automatically + set up internationalisation support.

+

Note that the proxy_html filter will only act on HTML data + (Content-Type text/html or application/xhtml+xml) and when the + data are proxied. You can override this (at your own risk) by + setting the PROXY_HTML_FORCE environment variable.

+ +
+
top
+

ProxyHTMLEvents Directive

+ + + + + + + +
Description:Specify attributes to treat as scripting events.
Syntax:ProxyHTMLEvents attribute [attribute ...]
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

Specifies one or more attributes to treat as scripting events and +apply ProxyHTMLURLMaps to where enabled. +You can specify any number of attributes in one or more +ProxyHTMLEvents directives.

+

Normally you'll set this globally. If you set ProxyHTMLEvents in more than +one scope so that one overrides the other, you'll need to specify a complete +set in each of those scopes.

+

A default configuration is supplied in proxy-html.conf +and defines the events in standard HTML 4 and XHTML 1.

+ +
+
top
+

ProxyHTMLExtended Directive

+ + + + + + + + +
Description:Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
Syntax:ProxyHTMLExtended On|Off
Default:ProxyHTMLExtended Off
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

Set to Off, HTML links are rewritten according to the +ProxyHTMLURLMap directives, but links appearing +in Javascript and CSS are ignored.

+

Set to On, all scripting events (as determined by +ProxyHTMLEvents) and embedded scripts or +stylesheets are also processed by the ProxyHTMLURLMap +rules, according to the flags set for each rule. Since this requires more +parsing, performance will be best if you only enable it when strictly necessary. +

+You'll also need to take care over patterns matched, since the parser has no +knowledge of what is a URL within an embedded script or stylesheet. +In particular, extended matching of / is likely to lead to +false matches. +

+ +
+
top
+

ProxyHTMLFixups Directive

+ + + + + + + +
Description:Fixes for simple HTML errors.
Syntax:ProxyHTMLFixups [lowercase] [dospath] [reset]
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

This directive takes one to three arguments as follows:

+
    +
  • lowercase Urls are rewritten to lowercase
  • +
  • dospath Backslashes in URLs are rewritten to forward slashes.
  • +
  • reset Unset any options set at a higher level in the configuration.
  • +
+

Take care when using these. The fixes will correct certain authoring +mistakes, but risk also erroneously fixing links that were correct to start with. +Only use them if you know you have a broken backend server.

+ +
+
top
+

ProxyHTMLInterp Directive

+ + + + + + + + +
Description:Enables per-request interpolation of +ProxyHTMLURLMap rules.
Syntax:ProxyHTMLInterp On|Off
Default:ProxyHTMLInterp Off
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +module for earlier 2.x versions
+

This enables per-request interpolation in + ProxyHTMLURLMap to- and from- patterns.

+

If interpolation is not enabled, all rules are pre-compiled at startup. + With interpolation, they must be re-compiled for every request, which + implies an extra processing overhead. It should therefore be + enabled only when necessary.

+ +
+
top
+

ProxyHTMLLinks Directive

+ + + + + + + +
Description:Specify HTML elements that have URL attributes to be rewritten.
Syntax:ProxyHTMLLinks element attribute [attribute2 ...]
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

Specifies elements that have URL attributes that should be rewritten +using standard ProxyHTMLURLMaps. +You will need one ProxyHTMLLinks directive per element, +but it can have any number of attributes.

+

Normally you'll set this globally. If you set ProxyHTMLLinks in more than +one scope so that one overrides the other, you'll need to specify a complete +set in each of those scopes.

+

A default configuration is supplied in proxy-html.conf +and defines the HTML links for standard HTML 4 and XHTML 1.

+

Examples from proxy-html.conf

ProxyHTMLLinks  a          href
+ProxyHTMLLinks  area       href
+ProxyHTMLLinks  link       href
+ProxyHTMLLinks  img        src longdesc usemap
+ProxyHTMLLinks  object     classid codebase data usemap
+ProxyHTMLLinks  q          cite
+ProxyHTMLLinks  blockquote cite
+ProxyHTMLLinks  ins        cite
+ProxyHTMLLinks  del        cite
+ProxyHTMLLinks  form       action
+ProxyHTMLLinks  input      src usemap
+ProxyHTMLLinks  head       profile
+ProxyHTMLLinks  base       href
+ProxyHTMLLinks  script     src for
+
+ +
+
top
+

ProxyHTMLMeta Directive

+ + + + + + + + +
Description:Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
Syntax:ProxyHTMLMeta On|Off
Default:ProxyHTMLMeta Off
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +module for earlier 2.x versions.
+

This turns on or off pre-parsing of metadata in HTML + <head> sections.

+

If not required, turning ProxyHTMLMeta Off will give a small + performance boost by skipping this parse step. However, it + is sometimes necessary for internationalisation to work correctly.

+

ProxyHTMLMeta has two effects. Firstly and most importantly + it enables detection of character encodings declared in the form

+
<meta http-equiv="Content-Type" content="text/html;charset=foo">
+

or, in the case of an XHTML document, an XML declaration. + It is NOT required if the charset is declared in a real HTTP header + (which is always preferable) from the backend server, nor if the + document is utf-8 (unicode) or a subset such as ASCII. + You may also be able to dispense with it where documents use a + default declared using xml2EncDefault, but that risks propagating an + incorrect declaration. A ProxyHTMLCharsetOut + can remove that risk, but is likely to be a bigger processing + overhead than enabling ProxyHTMLMeta.

+

The other effect of enabling ProxyHTMLMeta is to parse all + <meta http-equiv=...> declarations and convert + them to real HTTP headers, in keeping with the original purpose + of this form of the HTML <meta> element.

+ +

Warning

+ Because ProxyHTMLMeta promotes all + http-equiv elements to HTTP headers, it is important that you + only enable it in cases where you trust the HTML content as much as you + trust the upstream server. If the HTML is controlled by bad actors, it + will be possible for them to inject arbitrary, possibly malicious, HTTP + headers into your server's responses. +
+ +
+
top
+

ProxyHTMLStripComments Directive

+ + + + + + + + +
Description:Determines whether to strip HTML comments.
Syntax:ProxyHTMLStripComments On|Off
Default:ProxyHTMLStripComments Off
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +for earlier 2.x versions
+

This directive will cause mod_proxy_html to strip HTML comments. +Note that this will also kill off any scripts or styles embedded in +comments (a bogosity introduced in 1995/6 with Netscape 2 for the +benefit of then-older browsers, but still in use today). +It may also interfere with comment-based processors such as SSI or ESI: +be sure to run any of those before mod_proxy_html in the +filter chain if stripping comments!

+ +
+
top
+

ProxyHTMLURLMap Directive

+ + + + + + + +
Description:Defines a rule to rewrite HTML links
Syntax:ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]
Context:server config, virtual host, directory
Status:Base
Module:mod_proxy_html
Compatibility:Version 2.4 and later; available as a third-party +module for earlier 2.x versions.
+

This is the key directive for rewriting HTML links. When parsing a document, +whenever a link target matches from-pattern, the matching +portion will be rewritten to to-pattern, as modified by any +flags supplied and by the +ProxyHTMLExtended directive. +Only the elements specified using +the ProxyHTMLLinks directive +will be considered as HTML links.

+ +

The optional third argument may define any of the following +Flags. Flags are case-sensitive.

+
+
h
+

Ignore HTML links (pass through unchanged)

+
e
+

Ignore scripting events (pass through unchanged)

+
c
+

Pass embedded script and style sections through untouched.

+ +
L
+

Last-match. If this rule matches, no more rules are applied +(note that this happens automatically for HTML links).

+
l
+

Opposite to L. Overrides the one-change-only default +behaviour with HTML links.

+
R
+

Use Regular Expression matching-and-replace. from-pattern +is a regexp, and to-pattern a replacement string that may be +based on the regexp. Regexp memory is supported: you can use brackets () +in the from-pattern and retrieve the matches with $1 to $9 +in the to-pattern.

+ +

If R is not set, it will use string-literal search-and-replace. +The logic is starts-with in HTML links, but +contains in scripting events and embedded script and style sections. +

+
+
x
+

Use POSIX extended Regular Expressions. Only applicable with R.

+
i
+

Case-insensitive matching. Only applicable with R.

+ +
n
+

Disable regexp memory (for speed). Only applicable with R.

+
s
+

Line-based regexp matching. Only applicable with R.

+
^
+

Match at start only. This applies only to string matching +(not regexps) and is irrelevant to HTML links.

+
$
+

Match at end only. This applies only to string matching +(not regexps) and is irrelevant to HTML links.

+
V
+

Interpolate environment variables in to-pattern. +A string of the form ${varname|default} will be replaced by the +value of environment variable varname. If that is unset, it +is replaced by default. The |default is optional.

+

NOTE: interpolation will only be enabled if +ProxyHTMLInterp is On.

+
+ +
v
+

Interpolate environment variables in from-pattern. +Patterns supported are as above.

+

NOTE: interpolation will only be enabled if +ProxyHTMLInterp is On.

+
+
+ +

The optional fourth cond argument defines a condition +that will be evaluated per Request, provided +ProxyHTMLInterp is On. +If the condition evaluates FALSE the map will not be applied in this request. +If TRUE, or if no condition is defined, the map is applied.

+

A cond is evaluated by the Expression Parser. In addition, the simpler syntax of conditions +in mod_proxy_html 3.x for HTTPD 2.0 and 2.2 is also supported.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_html.html.fr.utf8 b/docs/manual/mod/mod_proxy_html.html.fr.utf8 new file mode 100644 index 0000000..931483a --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html.fr.utf8 @@ -0,0 +1,555 @@ + + + + + +mod_proxy_html - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_html

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire.
Statut:Base
Identificateur de Module:proxy_html_module
Fichier Source:mod_proxy_html.c
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures
+

Sommaire

+ +

Ce module fournit un filtre en sortie permettant de réécrire les liens + HTML dans un contexte de mandataire, afin de s'assurer que ces liens + fonctionnent pour les utilisateurs en dehors du mandataire. Il accomplit la + même tâche que la directive ProxyPassReverse d'Apache accomplit pour les + en-têtes HTTP, et fait partie des composants essentiels d'un mandataire + inverse.

+ +

Par exemple, si une entreprise possède un serveur d'applications +nommé appserver.example.com qui n'est visible que depuis son réseau +interne, et un serveur web public www.example.com, il peut +être souhaitable de fournir une passerelle vers le serveur d'application +à l'adresse http://www.example.com/appserver/. Lorsque le +serveur d'applications présente un lien vers lui-même, ce lien doit être +réécrit pour fonctionner à travers la passerelle. A cet effet, +mod_proxy_html permet de réécrire <a +href="http://appserver.example.com/foo/bar.html">foobar</a> +en <a +href="http://www.example.com/appserver/foo/bar.html">foobar</a>, +ce qui permet de rendre le serveur d'applications accessible depuis +l'extérieur.

+ +

mod_proxy_html a été développé à l'origine à WebÞing, dont la documentation +détaillée pourra s'avérer utile aux utilisateurs.

+
+ + +
top
+

Directive ProxyHTMLBufSize

+ + + + + + + + +
Description:Définit l'incrément de la taille du tampon, ainsi que sa +taille initiale, pour la mise en +tampon des scripts en ligne et des feuilles de style.
Syntaxe:ProxyHTMLBufSize nb-octets
Défaut:ProxyHTMLBufSize 8192
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Pour pouvoir interpréter du contenu non HTML (feuilles de style et +scripts) embarqué dans des documents HTML, mod_proxy_html doit +le lire et le mémoriser en entier dans un +tampon. Ce tampon devra être étendu autant que nécessaire afin de +pouvoir accueillir le plus grand script ou la plus grande feuille de +style de la page, selon un incrément de nb-octets que cette +directive permet de définir.

+

La valeur par défaut est 8192 et sera suffisante pour la plupart des +pages. Cependant, si vous savez que vous allez mandater des +pages contenant des feuilles de style et/ou scripts plus grands que 8k +(cette taille s'entend pour chaque script ou feuilles de style, non pour +leur ensemble), il sera plus efficace de définir une taille de +tampon initiale plus grande afin d'éviter d'avoir à le redimensionner +dynamiquement au cours du traitement d'une requête. +

+ +
+
top
+

Directive ProxyHTMLCharsetOut

+ + + + + + + +
Description:Spécifie un jeu de caractères pour la sortie de +mod_proxy_html.
Syntaxe:ProxyHTMLCharsetOut jeu-de-caractères | *
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet de spécifier un jeu de caractères pour la +sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout +changement par rapport à la valeur par défaut UTF-8 (Unicode - +utilisé en interne par libxml2) induit une charge supplémentaire de +traitement. La définition spéciale ProxyHTMLCharsetOut * +permet de générer une sortie qui utilisera le même encodage que +l'entrée.

+

Notez que tout ceci ne fonctionne que si le module +mod_xml2enc est chargé.

+ +
+
top
+

Directive ProxyHTMLDocType

+ + + + + + + +
Description:Définit une déclaration de type de document HTML ou XHTML.
Syntaxe:ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Avec la première syntaxe, les documents seront déclarés de type HTML +4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi +si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format +des documents en provenance du serveur d'arrière-plan n'est pas +important, car l'interpréteur le détectera automatiquement. Si le +second argument optionnel est défini à Legacy, les documents seront +déclarés de type "Transitional" ; cette option peut être nécessaire si +vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec +des outils de création/publication déficients.

+

Avec la deuxième syntaxe, cette directive vous permet d'insérer votre +propre FPI (Formal Public Identifier). Le second argument optionnel +détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.

+

Par défaut, aucun FPI n'est inséré, étant donné qu'il vaut mieux pas +de FPI du tout qu'un FPI bogué. Si par contre votre serveur d'arrière-plan +génère du contenu HTML ou XHTML correct, vous pouvez définir cette +directive en conséquence.

+

Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML +en conformité avec le standard spécifié. Il ne pourra pas corriger +toutes les erreurs, mais il va supprimer les éléments et attributs non +conformes. Il peut aussi journaliser les autres erreurs si la directive +LogLevel est définie à +Debug.

+ +
+
top
+

Directive ProxyHTMLEnable

+ + + + + + + + +
Description:Permet d'activer/désactiver le filtre proxy_html.
Syntaxe:ProxyHTMLEnable On|Off
Défaut:ProxyHTMLEnable Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive est un simple commutateur permettant + d'activer/désactiver le filtre proxy_html. Si + mod_xml2enc est chargé, elle va aussi activer + automatiquement le support de l'internationalisation.

+

Notez que le filtre proxy_html s'agira que si les données sont de + type HTML (Content-Type text/html ou application/xhtml+xml), et si + elles passent par un mandataire. Vous pouvez passer outre ces + contraintes (à vos risques et périls) en définissant la variable + d'environnement PROXY_HTML_FORCE.

+ +
+
top
+

Directive ProxyHTMLEvents

+ + + + + + + +
Description:Spécifie les attributs à traiter comme des évènements de +type scripting.
Syntaxe:ProxyHTMLEvents attribut [attribut ...]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet de spécifier un ou plusieurs attributs à +traiter comme +des évènements de type scripting et de leur appliquer les règles +ProxyHTMLURLMap lorsqu'elles ont été définies. Vous +pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs +directives ProxyHTMLEvents.

+

Normalement, cette directive est définie globalement. Si vous +définissez ProxyHTMLEvents à plusieurs niveaux, certains niveaux +l'emportant sur d'autres, vous devrez spécifier un jeu complet +d'évènements pour chaque niveau.

+

Le fichier proxy-html.conf fournit une configuration par +défaut et définit les évènements selon les standards +HTML 4 et XHTML 1.

+ +
+
top
+

Directive ProxyHTMLExtended

+ + + + + + + + +
Description:Détermine si l'on doit corriger les liens dans les scripts +en ligne, les feuilles de style et les évènements de type scripting.
Syntaxe:ProxyHTMLExtended On|Off
Défaut:ProxyHTMLExtended Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Si cette directive est définie à Off, les liens HTML +sont réécrits en fonction des directives +ProxyHTMLURLMap, mais les liens qui apparaissent +dans le code Javascript et les feuilles de style restent inchangés.

+

Si elle est définie à On, tous les évènements de type +scripting (définis par la directive +ProxyHTMLEvents) et les scripts inclus ou les +feuilles de style sont aussi +traités par les règles ProxyHTMLURLMap, en +fonction des drapeaux définis pour chacune d'entre elles. Ne définissez +cette directive à On qu'en cas de nécessité absolue, car la +charge supplémentaire induite impacte les performances.

+

Vous devez aussi prêter attention aux modèles de comparaison, car +l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un +script embarqué ou une feuille de style. En particulier, la comparaison +étendus du caractère / a de fortes chances d'induire des +correspondances erronées.

+ +
+
top
+

Directive ProxyHTMLFixups

+ + + + + + + +
Description:Corrige les erreurs HTML simples.
Syntaxe:ProxyHTMLFixups [lowercase] [dospath] [reset]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive accepte un à trois arguments parmi les suivants :

+
    +
  • lowercase Les Urls sont réécrites en minuscules
  • +
  • dospath Les slashes inversés dans les URLs sont +remplacés par des slashes directs.
  • +
  • reset Annule toute option définie à un niveau supérieur +dans la configuration
  • +
+

Cette directive doit être utilisée avec prudence. Elle peut corriger +certaines erreurs de création, mais risque aussi de modifier par erreur +des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur +d'arrière-plan est déficient.

+ +
+
top
+

Directive ProxyHTMLInterp

+ + + + + + + + +
Description:Active la réinterprétation des règles +ProxyHTMLURLMap pour chaque requête.
Syntaxe:ProxyHTMLInterp On|Off
Défaut:ProxyHTMLInterp Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet d'activer le réinterprétation pour chaque + requête des modèles source et cible de la directive + ProxyHTMLURLMap.

+

Si la réinterprétation n'est pas activée, toutes les règles sont + précompilées au démarrage du serveur. Si elle est activée, les + règles doivent être recompilées pour chaque requête, ce qui induit + une charge de traitement supplémentaire. Elle ne doit donc être activée que si + cela s'avère nécessaire.

+ +
+
top
+

Directive ProxyHTMLLinks

+ + + + + + + +
Description:Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits.
Syntaxe:ProxyHTMLLinks élément attribut [attribut2 ...]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet de spécifier les éléments dont les attributs d'URL +doivent être réécrits en utilisant les règles standards ProxyHTMLURLMap. Vous devez définir une +directive ProxyHTMLLinks pour chaque élément, mais chacune d'entre elles peut +spécifier un nombre quelconque d'attributs

Normalement, cette directive +est définie globalement. Si vous définissez ProxyHTMLLinks à plusieurs niveaux, +certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet +de liens pour chaque niveau.

Le fichier proxy-html.conf +fournit une configuration par défaut et définit les liens HTML selon les +standards HTML 4 et XHTML 1.

+

Exemples issus de proxy-html.conf

ProxyHTMLLinks  a          href
+ProxyHTMLLinks  area       href
+ProxyHTMLLinks  link       href
+ProxyHTMLLinks  img        src longdesc usemap
+ProxyHTMLLinks  object     classid codebase data usemap
+ProxyHTMLLinks  q          cite
+ProxyHTMLLinks  blockquote cite
+ProxyHTMLLinks  ins        cite
+ProxyHTMLLinks  del        cite
+ProxyHTMLLinks  form       action
+ProxyHTMLLinks  input      src usemap
+ProxyHTMLLinks  head       profile
+ProxyHTMLLinks  base       href
+ProxyHTMLLinks  script     src for
+
+ +
+
top
+

Directive ProxyHTMLMeta

+ + + + + + + + +
Description:Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <head>.
Syntaxe:ProxyHTMLMeta On|Off
Défaut:ProxyHTMLMeta Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible à partir de la version 2.4 du serveur HTTP +Apache ; proposé en tant que module tiers dans les versions 2.x +précédentes.
+

Cette directive permet d'activer ou désactiver une + préinterprétation supplémentaire des métadonnées dans les sections + HTML <head>. Si cette préinterprétation n'est pas + requise, définissez ProxyHTMLMeta à Off et les performances + seront légèrement améliorées. Cependant, elle s'avère parfois + nécessaire pour assurer un fonctionnement correct de l'internationalisation.

+

La directive ProxyHTMLMeta a deux effets. Le premier et le plus + important est la détection des codages de caractères déclarés sous + la forme

+
<meta http-equiv="Content-Type" content="text/html;charset=foo">
+

ou, dans le cas d'un document XHTML, sous la forme d'une + déclaration XML. Elle n'est pas nécessaire si le jeu de caractères + est déclaré explicitement dans un en-tête HTTP (ce qui est + préférable) en provenance du serveur d'arrière-plan, ou si le + document est en utf-8 (unicode) ou un de ses + sous-ensembles comme ASCII. Vous pourrez aussi vous en passer + lorsque le document utilise une valeur par défaut déclarée via la + directive xml2EncDefault, avec le risque de + propager une déclaration incorrecte. Une directive + ProxyHTMLCharsetOut permettra d'annuler ce + risque, mais pourra induire une surcharge de traitement supérieure à + celle de ProxyHTMLMeta.

+

Le deuxième effet est l'interprétation de toutes les déclarations + <meta http-equiv=...> et leur conversion en + en-têtes HTTP, afin de conserver le but original de cette forme + de métaélément HTML.

+ +

Avertissement

Compte tenu du fait que la + directive ProxyHTMLMeta promeut tous les éléments + http-equiv au rang d'en-têtes HTTP, il est conseillé de ne + l'activer que si vous faites autant confiance au contenu HTML qu'à votre + serveur mandataire. Avec cette directive en effet, si ce contenu est géré + par des gens malintentionnés, ces derniers seront en mesure d'injecter des + en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de + votre serveur. +
+ +
+
top
+

Directive ProxyHTMLStripComments

+ + + + + + + + +
Description:Détermine si les commentaires HTML doivent être supprimés.
Syntaxe:ProxyHTMLStripComments On|Off
Défaut:ProxyHTMLStripComments Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Si cette directive est définie à On, mod_proxy_html +supprimera les commentaires HTML. Notez que cela supprimera aussi tout +script ou style inclus dans les commentaires (une monstruosité +introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus +anciens, et encore utilisée de nos jours). Cette directive peut aussi +interférer avec des processeurs basés sur les commentaires comme SSI ou +ESI : assurez-vous d'exécuter ces derniers avant mod_proxy_html +dans la chaîne de filtrage si vous supprimez les commentaires !

+ +
+
top
+

Directive ProxyHTMLURLMap

+ + + + + + + +
Description:Définit une règle de réécriture des liens HTML
Syntaxe:ProxyHTMLURLMap modèle-source modèle-cible [drapeaux] [cond]
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Il s'agit de la directive la plus importante pour la réécriture des +liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un +lien correspond à modèle-source, la partie du lien concernée +sera réécrite en modèle-cible, en tenant compte des +modifications induites par les drapeaux éventuellement spécifiés et par +la directive ProxyHTMLExtended. +Ne seront considérés comme des liens HTML que les éléments spécifiés via la +directive ProxyHTMLLinks.

+ +

Le troisième argument optionnel permet de définir un des drapeaux +suivants (les drapeaux sont sensibles à la casse) :

+
+
h
+

Ignore les liens HTML (les traverse sans les modifier)

+
e
+

Ignore les évènements de scripting (les traverse sans les +modifier)

+
c
+

Traverse les sections de type style ou script sans les modifier.

+ +
L
+

Last-match. Si cette règle s'applique, aucune autre règle ne sera +prise en compte (notez qu'il s'agit du comportement automatique pour les +liens HTML).

+
l
+

L'opposé de L. Passe outre le comportement par défaut du +changement unique pour les liens HTML.

+
R
+

Utilise des expressions rationnelles pour les modèles. +modèle-source est une expression rationnelle, et +modèle-cible une chaîne de remplacement qui peut être basée +elle aussi sur une expression rationnelle. La mémorisation dans les +expressions rationnelles est supportée : vous pouvez utiliser des +parenthèses () dans le modèle-source, et récupérer la +correspondance de leur contenu via les variables $1 à $9 dans le +modèle-cible.

+ +

Si le drapeau R n'est pas fourni, la directive utilisera des chaînes +littérales pour les différents modèles de recherche/remplacement. La +logique de recherche est "commence par" dans les liens HTML, et +"contient" dans les évènements de scripting et les sections de +type style ou script. +

+
+
x
+

Utilise les expressions rationnelles étendues POSIX. Ne +s'applique qu'avec R.

+
i
+

Recherche de correspondance sensible à la casse. Ne +s'applique qu'avec R.

+ +
n
+

Désactive la mémorisation dans les expressions rationnelles (pour +améliorer les performances). Ne s'applique qu'avec R.

+
s
+

Recherche de correspondance dans les expressions rationnelles +basée sur la ligne. Ne s'applique qu'avec R.

+
^
+

Recherche de correspondance au début seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.

+
$
+

Recherche de correspondance à la fin seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.

+
V
+

Insère des variables d'environnement dans le +modèle-cible. Un modèle-cible de la forme +${varname|default} sera remplacé par la valeur de la +variable d'environnement varname. Si cette dernière n'est +pas définie, modèle-cible sera remplacé par +default. La spécification de |default est +facultative.

+

NOTE: l'insertion de variables d'environnement n'est possible que si +la directive ProxyHTMLInterp a été définie à +On.

+
+ +
v
+

Insère des variables d'environnement dans le +modèle-source. La syntaxe du modèle est identique à la +syntaxe précédente.

+

NOTE: l'insertion de variables d'environnement n'est possible que si +la directive ProxyHTMLInterp a été définie à +On.

+
+
+ +

Le quatrième argument optionnel cond définit une +condition qui sera évaluée pour chaque requête, sous réserve que la +directive ProxyHTMLInterp ait été définie à +On. Si la condition est évaluée à FALSE, la règle ne sera pas +appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune +condition n'est définie, la règle s'applique.

+

La condition est évaluée par l'interpréteur d'expression. La syntaxe simple des +conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi +supportée.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http.html b/docs/manual/mod/mod_proxy_http.html new file mode 100644 index 0000000..659bda2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_http.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_http.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_http.html.en b/docs/manual/mod/mod_proxy_http.html.en new file mode 100644 index 0000000..d9956a4 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http.html.en @@ -0,0 +1,174 @@ + + + + + +mod_proxy_http - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_http

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:HTTP support module for +mod_proxy
Status:Extension
Module Identifier:proxy_http_module
Source File:mod_proxy_http.c
+

Summary

+ +

This module requires the service of mod_proxy. It provides the features used for + proxying HTTP and HTTPS requests. mod_proxy_http + supports HTTP/0.9, HTTP/1.0 and HTTP/1.1. It does not + provide any caching abilities. If you want to set up a caching + proxy, you might want to use the additional service of the + mod_cache module.

+ +

Thus, in order to get the ability of handling HTTP proxy requests, + mod_proxy and mod_proxy_http + have to be present in the server.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Environment Variables

+

In addition to the configuration directives that control the + behaviour of mod_proxy, there are a number of + environment variables that control the HTTP protocol + provider. Environment variables below that don't specify specific values + are enabled when set to any value.

+
+
proxy-sendextracrlf
+
Causes proxy to send an extra CR-LF newline on the end of a + request. This is a workaround for a bug in some browsers.
+
force-proxy-request-1.0
+
Forces the proxy to send requests to the backend as HTTP/1.0 + and disables HTTP/1.1 features.
+
proxy-nokeepalive
+
Forces the proxy to close the backend connection after + each request.
+
proxy-chain-auth
+
If the proxy requires authentication, it will read and + consume the proxy authentication credentials sent by the client. + With proxy-chain-auth it will also forward + the credentials to the next proxy in the chain. This may + be necessary if you have a chain of proxies that share + authentication information. Security Warning: + Do not set this unless you know you need it, as it forwards + sensitive information!
+
proxy-sendcl
+
HTTP/1.0 required all HTTP requests that include a body + (e.g. POST requests) to include a Content-Length + header. This environment variable forces the Apache proxy to + send this header to the backend server, regardless of what the + Client sent to the proxy. It ensures compatibility when + proxying for an HTTP/1.0 or unknown backend. However, it + may require the entire request to be buffered by the proxy, + so it becomes very inefficient for large requests.
+
proxy-sendchunks or proxy-sendchunked
+
This is the opposite of proxy-sendcl. It allows + request bodies to be sent to the backend using chunked transfer + encoding. This allows the request to be efficiently streamed, + but requires that the backend server supports HTTP/1.1.
+
proxy-interim-response
+
This variable takes values RFC (the default) or + Suppress. Earlier httpd versions would suppress + HTTP interim (1xx) responses sent from the backend. This is + technically a violation of the HTTP protocol. In practice, + if a backend sends an interim response, it may itself be + extending the protocol in a manner we know nothing about, + or just broken. So this is now configurable: set + proxy-interim-response RFC to be fully protocol + compliant, or proxy-interim-response Suppress + to suppress interim responses.
+
proxy-initial-not-pooled
+
If this variable is set, no pooled connection will be reused + if the client request is the initial request on the frontend connection. This avoids + the "proxy: error reading status line from remote server" error message + caused by the race condition that the backend server closed the + pooled connection after the connection check by the proxy and + before data sent by the proxy reached the backend. It has to be + kept in mind that setting this variable downgrades performance, + especially with HTTP/1.0 clients. +
+
+
top
+
+

Request notes

+

mod_proxy_http creates the following request notes for + logging using the %{VARNAME}n format in + LogFormat or + ErrorLogFormat: +

+
+
proxy-source-port
+
The local port used for the connection to the backend server.
+
proxy-status
+
The HTTP status received from the backend server.
+
+
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http.html.fr.utf8 b/docs/manual/mod/mod_proxy_http.html.fr.utf8 new file mode 100644 index 0000000..afd2ba9 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http.html.fr.utf8 @@ -0,0 +1,193 @@ + + + + + +mod_proxy_http - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_http

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Module fournissant le support HTTP à +mod_proxy
Statut:Extension
Identificateur de Module:proxy_http_module
Fichier Source:mod_proxy_http.c
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy. Il fournit le support du + mandatement des requêtes HTTP et HTTPS. mod_proxy_http + supporte HTTP/0.9, HTTP/1.0 et HTTP/1.1. Il ne fournit + aucune fonctionnalité de mise en cache. Si vous souhaitez + mettre en oeuvre un mandataire qui assure aussi les fonctions de + mise en cache, vous devez utiliser les services du module + mod_cache.

+ +

Ainsi, pour pouvoir traiter les requêtes HTTP mandatées, + mod_proxy, et mod_proxy_http + doivent être chargés dans le serveur.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

Variables d'environnement

+

Outre les directives de configuration qui contrôlent le + comportement de mod_proxy, plusieurs variables + d'environnement permettent de contrôler le fournisseur du + protocole HTTP. Parmi les variables suivantes, celle qui ne + nécessitent pas de valeur particulière sont définies quelle que soit + la valeur qu'on leur affecte.

+
+
proxy-sendextracrlf
+
Provoque l'envoi par le mandataire d'une nouvelle ligne + CR-LF supplémentaire à la fin de la requête. + Ceci constitue un + moyen de contournement d'une bogue de certains + navigateurs.
+
force-proxy-request-1.0
+
Force le mandataire à envoyer des requêtes vers le serveur + cible selon le protocole HTTP/1.0 et désactive les + fonctionnalités propres à HTTP/1.1.
+
proxy-nokeepalive
+
Force le mandataire à fermer la connexion avec le serveur + cible après chaque requête.
+
proxy-chain-auth
+
Si le mandataire requiert une authentification, il va lire + et exploiter les données d'authentification pour mandataire + envoyées par le client. Si proxy-chain-auth est + définie, il va aussi faire suivre ces données vers le + mandataire suivant dans la chaîne. Ceci peut s'avérer nécessaire + si une chaîne de mandataires partagent les informations + d'authentification. + Avertissement concernant la sécurité : + Ne définissez cette variable que si vous êtes sûr d'en avoir + besoin, car elle peut provoquer la divulgation d'informations + sensibles !
+
proxy-sendcl
+
Avec HTTP/1.0, toutes les requêtes qui possèdent un corps + (par exemple les requêtes POST) doivent comporter un en-tête + Content-Length. Cette variable d'environnement force + le mandataire Apache à envoyer cet en-tête au serveur cible, + sans tenir compte de ce que lui a envoyé le client. Ceci permet + d'assurer la compatibilité lorsqu'on mandate un serveur cible + mettant en oeuvre un protocole de type HTTP/1.0 ou inconnu. Elle + peut cependant nécessiter la mise en tampon de l'intégralité de + la requête par le mandataire, ce qui s'avère très inefficace + pour les requêtes de grande taille.
+
proxy-sendchunks ou proxy-sendchunked
+
Cette variable constitue l'opposé de + proxy-sendcl. Elle permet la transmission des corps + de requêtes vers le serveur cible en utilisant un codage de + transfert fractionné. Ceci permet une transmission des requêtes + plus efficace, mais nécessite que le serveur cible supporte le + protocole HTTP/1.1.
+
proxy-interim-response
+
Cette variable peut prendre les valeurs RFC + (valeur par défaut) ou + Suppress. Les versions précédentes de httpd + supprimaient les réponses intermédiaires HTTP (1xx) envoyées par + le serveur cible. En pratique, si un serveur cible envoie une + réponse intermédiaire, il se peut qu'il étende lui-même le + protocole d'une manière dont nous n'avons pas connaissance, ou + tout simplement non conforme. Le comportement du mandataire est + donc maintenant configurable : définissez + proxy-interim-response RFC pour être totalement + compatible avec le protocole, ou proxy-interim-response + Suppress pour supprimer les réponses intermédiaires.
+
proxy-initial-not-pooled
+
Si cette variable est définie, aucune connexion faisant + partie d'un jeu ne sera réutilisée si la requête + du client est la requête initiale pour une connexion. + Ceci permet d'éviter le message d'erreur + "proxy: error reading status line from remote server" causé par + la situation de compétition au cours de laquelle le serveur + cible ferme la connexion du jeu après la vérification de la + connexion par le mandataire, et avant que les données envoyées + par le mandataire n'atteignent le serveur cible. Il faut + cependant garder à l'esprit que la définition de cette variable + dégrade les performances, particulièrement avec les clients + HTTP/1.0. +
+
+
top
+
+

Informations sur les requêtes

+

mod_proxy_http enregistre les informations + suivantes pour journalisation via le format %{NOMVAR}n + dans les directives LogFormat ou ErrorLogFormat : +

+
+
proxy-source-port
+
Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.
+
proxy-status
+
Le code d'état HTTP reçu du serveur d'arrière-plan.
+
+
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http2.html b/docs/manual/mod/mod_proxy_http2.html new file mode 100644 index 0000000..8f7d390 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http2.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_http2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_http2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_http2.html.en b/docs/manual/mod/mod_proxy_http2.html.en new file mode 100644 index 0000000..3153959 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http2.html.en @@ -0,0 +1,156 @@ + + + + + +mod_proxy_http2 - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_http2

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:HTTP/2 support module for +mod_proxy
Status:Extension
Module Identifier:proxy_http2_module
Source File:mod_proxy_http2.c
Compatibility:Available in httpd 2.4.19 and later
+

Summary

+ +

mod_proxy_http2 + supports HTTP/2 only, it does not + provide any downgrades to HTTP/1.1. This means that the backend + needs to support HTTP/2 because HTTP/1.1 will not be used instead.

+ +

This module requires the service of mod_proxy, so in order to get the ability of + handling HTTP/2 proxy requests, + mod_proxy and mod_proxy_http2 + need to be both loaded by the server.

+ +

mod_proxy_http2 works with incoming fronted requests + using HTTP/1.1 or HTTP/2. In both cases, requests proxied + to the same backend are sent over a single TCP connection + whenever possible (namely when the connection can be re-used).

+ +

Caveat: there will be no attempt to consolidate multiple HTTP/1.1 + frontend requests (configured to be proxied to the same backend) + into HTTP/2 streams belonging to the same HTTP/2 request. + Each HTTP/1.1 frontend request will be proxied to the backend using + a separate HTTP/2 request (trying to re-use the same TCP connection + if possible).

+ +

This module relies on libnghttp2 + to provide the core http/2 engine.

+ +

Warning

+

This module is experimental. Its behaviors, directives, and + defaults are subject to more change from release to + release relative to other standard modules. Users are encouraged to + consult the "CHANGES" file for potential updates.

+
+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Basic Examples

+ +

The examples below demonstrate how to configure HTTP/2 for + backend connections for a reverse proxy.

+ +

HTTP/2 (TLS)

ProxyPass "/app" "h2://app.example.com"
+ProxyPassReverse "/app" "https://app.example.com"
+
+ +

HTTP/2 (cleartext)

ProxyPass "/app" "h2c://app.example.com"
+ProxyPassReverse "/app" "http://app.example.com"
+
+ +
+

The schemes to configure above in + ProxyPassReverse for reverse proxying + h2 (or h2c) protocols are the usual + https (resp. http) as expected/used by + the user agent.

+
+
top
+
+

Request notes

+

mod_proxy_http creates the following request notes for + logging using the %{VARNAME}n format in + LogFormat or + ErrorLogFormat: +

+
+
proxy-source-port
+
The local port used for the connection to the backend server.
+
proxy-status
+
The HTTP/2 status received from the backend server.
+
+
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http2.html.fr.utf8 b/docs/manual/mod/mod_proxy_http2.html.fr.utf8 new file mode 100644 index 0000000..f25a5b2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http2.html.fr.utf8 @@ -0,0 +1,156 @@ + + + + + +mod_proxy_http2 - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_http2

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support de HTTP/2 pour mod_proxy
Statut:Extension
Identificateur de Module:proxy_http2_module
Fichier Source:mod_proxy_http2.c
Compatibilité:Disponible à partir de la version 2.4.19 du serveur HTTP Apache
+

Sommaire

+ +

mod_proxy_http2 ne + supporte que HTTP/2 et ne permet pas de rétrogradation vers HTTP/1.1. Cela + signifie que le serveur d'arrière-plan doit supporter HTTP/2 car HTTP/1.1 ne + pourra alors pas être utilisé.

+ +

Ce module nécessite la présence de mod_proxy ; + pour pouvoir traiter les requêtes mandatées HTTP/2, + mod_proxy et mod_proxy_http2 doivent donc + être chargés par le serveur.

+ +

mod_proxy_http2 travaille avec des requêtes entrantes en + HTTP/1.1 ou HTTP/2. Dans les deux cas, les requêtes vers le même serveur + d'arrière-plan sont envoyées + via une seule connexion TCP, dans la mesure du possible (autrement dit + lorsque la connexion peut être réutilisée).

+ +

Avertissement : il ne sera effectué aucune tentative de fusion de + plusieurs requêtes entrantes HTTP/1 (devant être mandatées vers le même + serveur d'arrière-plan) vers des flux HTTP/2 appartenant à la même requête + HTTP/2. Chaque requête HTTP/1 entrante sera mandatée vers le serveur + d'arrière-plan en utilisant une requête HTTP/2 séparée (tout en réutilisant + si possible la même connexion TCP).

+ +

Ce module s'appuie sur libnghttp2 pour + fournir le moteur central http/2.

+ +

Avertissement

+

Ce module en est au + stade expérimental. Ses comportement, directives et valeurs par défauts sont + donc susceptibles de modifications d'une version à l'autre plus fréquentes + que pour les autres modules. A ce titre, il est fortement conseillé aux + utilisateurs de consulter le fichier "CHANGES" pour prendre connaissance de + ces modifications.

+ +

Avertissement

+

N'activez pas le mandatement avant d'avoir sécurisé votre serveur. Les serveurs + mandataires ouverts sont dangereux non seulement pour votre propre réseau, + mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

Exemples de base

+ +

Les exemples ci-dessous montrent comment configurer HTTP/2 pour des + connexions d'arrière-plan vers un mandataire inverse.

+ +

HTTP/2 (TLS)

ProxyPass "/app" "h2://app.example.com"
+ProxyPassReverse "/app" "https://app.example.com"
+
+ +

HTTP/2 (non sécurisé)

ProxyPass "/app" "h2c://app.example.com"
+ProxyPassReverse "/app" "http://app.example.com"
+
+ +
+

Pour mandater en inverse les protocoles h2 ou + h2c, on utilise la directive + ProxyPassReverse avec les schèmes habituels + https et respectivement + http qui sont connus et utilisés par l'agent utilisateur.

+
+
top
+
+

Informations sur les requêtes

+

mod_proxy_http fournit les informations sur les requêtes + suivantes pour enregistrement dans les journaux en utilisant le format + %{VARNAME}n avec les directives LogFormat ou ErrorLogFormat : +

+
+
proxy-source-port
+
Le numéro de port local utilisé pour la connexion vers le serveur + d'arrière-plan.
+
proxy-status
+
Le statut HTTP/2 en provenance du serveur d'arrière-plan.
+
+
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_scgi.html b/docs/manual/mod/mod_proxy_scgi.html new file mode 100644 index 0000000..b890e57 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_scgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_scgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_scgi.html.en b/docs/manual/mod/mod_proxy_scgi.html.en new file mode 100644 index 0000000..ff4d0f8 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html.en @@ -0,0 +1,213 @@ + + + + + +mod_proxy_scgi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_scgi

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:SCGI gateway module for mod_proxy
Status:Extension
Module Identifier:proxy_scgi_module
Source File:mod_proxy_scgi.c
Compatibility:Available in version 2.2.14 and later
+

Summary

+ +

This module requires the service of mod_proxy. It provides support for the + SCGI protocol, version + 1.

+ +

Thus, in order to get the ability of handling the SCGI protocol, + mod_proxy and mod_proxy_scgi have to + be present in the server.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+ +
top
+
+

Examples

+

Remember, in order to make the following examples work, you have to + enable mod_proxy and mod_proxy_scgi.

+ +

Simple gateway

ProxyPass "/scgi-bin/" "scgi://localhost:4000/"
+
+ +

The balanced gateway needs mod_proxy_balancer and + at least one load balancer algorithm module, such as + mod_lbmethod_byrequests, in addition to the proxy + modules listed above. mod_lbmethod_byrequests is the + default, and will be used for this example configuration.

+ +

Balanced gateway

ProxyPass "/scgi-bin/" "balancer://somecluster/"
+<Proxy "balancer://somecluster">
+    BalancerMember "scgi://localhost:4000"
+    BalancerMember "scgi://localhost:4001"
+</Proxy>
+
+
top
+
+

Environment Variables

+

In addition to the configuration directives that control the + behaviour of mod_proxy, an environment + variable may also control the SCGI protocol + provider:

+
+
proxy-scgi-pathinfo
+
By default mod_proxy_scgi will neither create + nor export the PATH_INFO environment variable. This allows + the backend SCGI server to correctly determine SCRIPT_NAME + and Script-URI and be compliant with RFC 3875 section 3.3. + If instead you need mod_proxy_scgi to generate + a "best guess" for PATH_INFO, set this env-var. The + variable must be set before SetEnv + is effective. SetEnvIf can be + used instead: SetEnvIf Request_URI . proxy-scgi-pathinfo +
+
+
+
top
+

ProxySCGIInternalRedirect Directive

+ + + + + + + + +
Description:Enable or disable internal redirect responses from the +backend
Syntax:ProxySCGIInternalRedirect On|Off|Headername
Default:ProxySCGIInternalRedirect On
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy_scgi
Compatibility:The Headername feature is available in version +2.4.13 and later
+

The ProxySCGIInternalRedirect enables the backend + to internally redirect the gateway to a different URL. This feature + originates in mod_cgi, which internally redirects the + response if the response status is OK (200) and + the response contains a Location (or configured alternate + header) and its value starts with a slash (/). This value is + interpreted as a new local URL that Apache httpd internally redirects to.

+ +

mod_proxy_scgi does the same as + mod_cgi in this regard, except that you can turn off the + feature or specify the use of a header other than Location.

+ +

Example

    ProxySCGIInternalRedirect Off
+
+# Django and some other frameworks will fully qualify "local URLs"
+# set by the application, so an alternate header must be used.
+<Location /django-app/>
+    ProxySCGIInternalRedirect X-Location
+</Location>
+
+ +
+
top
+

ProxySCGISendfile Directive

+ + + + + + + +
Description:Enable evaluation of X-Sendfile pseudo response +header
Syntax:ProxySCGISendfile On|Off|Headername
Default:ProxySCGISendfile Off
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy_scgi
+

The ProxySCGISendfile directive enables the + SCGI backend to let files be served directly by the gateway. This is useful + for performance purposes — httpd can use sendfile or other + optimizations, which are not possible if the file comes over the backend + socket. Additionally, the file contents are not transmitted twice.

+

The ProxySCGISendfile argument determines the + gateway behaviour:

+
+
Off
+
No special handling takes place.
+ +
On
+
The gateway looks for a backend response header called + X-Sendfile and interprets the value as the filename to serve. + The header is removed from the final response headers. This is equivalent to + ProxySCGISendfile X-Sendfile.
+ +
anything else
+
Similar to On, but instead of the hardcoded header name + X-Sendfile, the argument is used as the header name.
+
+ +

Example

# Use the default header (X-Sendfile)
+ProxySCGISendfile On
+
+# Use a different header
+ProxySCGISendfile X-Send-Static
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_scgi.html.fr.utf8 b/docs/manual/mod/mod_proxy_scgi.html.fr.utf8 new file mode 100644 index 0000000..5a83ae4 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html.fr.utf8 @@ -0,0 +1,230 @@ + + + + + +mod_proxy_scgi - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_scgi

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module fournissant le support de la passerelle SCGI à +mod_proxy
Statut:Extension
Identificateur de Module:proxy_scgi_module
Fichier Source:mod_proxy_scgi.c
Compatibilité:Disponible depuis la version 2.2.14 d'Apache
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy. Il fournit le support du + protocole SCGI, version + 1.

+ +

Ainsi, pour être en mesure de traiter le protocole SCGI, + mod_proxy et mod_proxy_scgi + doivent être chargés dans le serveur.

+ +

Avertissement

+

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.

+
+
+ +
top
+
+

Exemples

+

Rappelez-vous, pour que les exemples suivants puissent + fonctionner, vous devez activer mod_proxy et + mod_proxy_scgi.

+ +

Passerelle simple

ProxyPass "/scgi-bin/" "scgi://localhost:4000/"
+
+ +

La passerelle à répartition de charge nécessite le chargement du + module mod_proxy_balancer et d'au moins un module + fournissant un algorithme de répartition de charge, comme + mod_lbmethod_byrequests en plus des modules + déjà cités. mod_lbmethod_byrequests est le module + par défaut et sera utilisé dans cet exemple de configuration.

+ +

Passerelle à répartition de charge

ProxyPass "/scgi-bin/" "balancer://somecluster/"
+<Proxy "balancer://somecluster">
+    BalancerMember "scgi://localhost:4000"
+    BalancerMember "scgi://localhost:4001"
+</Proxy>
+
+
top
+
+

Variables d'environnement

+

En plus des directives de configuration qui permettent de + contrôler le comportement de mod_proxy, une + variable d'environnement peut aussi + contrôler le fournisseur de protocole SCGI :

+
+
proxy-scgi-pathinfo
+
Par défaut, mod_proxy_scgi ne créera ni + exportera jamais la variable d'environnement + PATH_INFO. Ceci permet au serveur SCGI d'arrière-plan + de déterminer correctement SCRIPT_NAME et + Script-URI, et de rester en conformité avec la section + 3.3 de la RFC 3875. Si au contraire vous souhaitez que + mod_proxy_scgi génère une estimation la plus + précise possible de PATH_INFO, définissez cette + variable d'environnement. La variable doit être définie avant + que la directive SetEnv ne soit effective. Il est possible + d'utiliser à la place la directive SetEnvIf : SetEnvIf Request_URI . proxy-scgi-pathinfo +
+
+
+
top
+

Directive ProxySCGIInternalRedirect

+ + + + + + + + +
Description:Active ou désactive les réponses de redirection interne en +provenance du serveur cible.
Syntaxe:ProxySCGIInternalRedirect On|Off|Headername
Défaut:ProxySCGIInternalRedirect On
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_scgi
Compatibilité:Le paramètre Headername est disponible depuis +la version 2.4.13 du serveur HTTP Apache.
+

La directive ProxySCGIInternalRedirect + permet au serveur cible de rediriger en interne la passerelle vers + une URL différente. Cette fonctionnalité trouve son origine dans + mod_cgi qui redirige la réponse en interne si + l'état de la réponse est OK (200), et si + la réponse contient un en-tête Location + (ou un autre en-tête défini) dont la valeur + débute par un slash (/). Cette valeur est interprétée + comme une nouvelle URL locale vers laquelle Apache httpd effectue sa + redirection.

+ +

De ce point de vue, mod_proxy_scgi fait la même + chose que mod_cgi, mais vous pouvez en plus + désactiver la fonctionnalité ou spécifier + l'utilisation d'un en-tête autre que Location.

+ +

Exemple

    ProxySCGIInternalRedirect Off
+# Django et certains autres frameworks qualifient pleinement les "URLs
+# locales" définies par l'application ; il faut donc utiliser un autre
+# en-tête.
+<Location /django-app/>
+    ProxySCGIInternalRedirect X-Location
+</Location>
+
+ +
+
top
+

Directive ProxySCGISendfile

+ + + + + + + +
Description:Active l'évaluation du pseudo en-tête de réponse +X-Sendfile
Syntaxe:ProxySCGISendfile On|Off|nom-en-tête
Défaut:ProxySCGISendfile Off
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_scgi
+

La directive ProxySCGISendfile permet au + serveur cible SCGI de faire servir les fichiers directement par la + passerelle. Ceci s'avère bénéfique en + matière de performances — + httpd peut alors utiliser sendfile ou d'autres + optimisations, ce qui n'est pas possible si les fichiers passent par + la socket du serveur cible. En outre, les fichiers ne sont transmis + qu'une seule fois.

+

L'argument de la directive + ProxySCGISendfile détermine le comportement + de la passerelle :

+
+
Off
+
Aucun traitement particulier n'est effectué.
+ +
On
+
La passerelle recherche un en-tête dans la réponse du serveur + cible nommé X-Sendfile, et interprète sa valeur comme + le nom du fichier à servir. L'en-tête est ensuite supprimé de la + réponse finale. Cet argument produit le même effet que + ProxySCGISendfile X-Sendfile.
+ +
toute autre valeur
+
Identique à On, mais au lieu de rechercher le nom + d'en-tête codé en dur X-Sendfile, c'est la + valeur de l'argument qui constitue le nom de l'en-tête + à rechercher.
+
+ +

Exemple

    # Utilise le nom d'en-tête par défaut (X-Sendfile)
+    ProxySCGISendfile On
+
+    # Utilise un nom d'en-tête différent
+    ProxySCGISendfile X-Send-Static
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_uwsgi.html b/docs/manual/mod/mod_proxy_uwsgi.html new file mode 100644 index 0000000..da9c35f --- /dev/null +++ b/docs/manual/mod/mod_proxy_uwsgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_uwsgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_uwsgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_uwsgi.html.en b/docs/manual/mod/mod_proxy_uwsgi.html.en new file mode 100644 index 0000000..cf06fc3 --- /dev/null +++ b/docs/manual/mod/mod_proxy_uwsgi.html.en @@ -0,0 +1,113 @@ + + + + + +mod_proxy_uwsgi - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_uwsgi

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:UWSGI gateway module for mod_proxy
Status:Extension
Module Identifier:proxy_uwsgi_module
Source File:mod_proxy_uwsgi.c
Compatibility:Available in version 2.4.30 and later
+

Summary

+ +

This module requires the service of mod_proxy. It provides support for the + UWSGI protocol.

+ +

Thus, in order to get the ability of handling the UWSGI protocol, + mod_proxy and mod_proxy_uwsgi have to + be present in the server.

+ +

Warning

+

Do not enable proxying until you have secured your server. Open proxy + servers are dangerous both to your network and to the Internet at + large.

+
+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Examples

+

Remember, in order to make the following examples work, you have to + enable mod_proxy and mod_proxy_uwsgi.

+ +

Simple gateway

ProxyPass "/uwsgi-bin/" "uwsgi://localhost:4000/"
+
+ +

The balanced gateway needs mod_proxy_balancer and + at least one load balancer algorithm module, such as + mod_lbmethod_byrequests, in addition to the proxy + modules listed above. mod_lbmethod_byrequests is the + default, and will be used for this example configuration.

+ +

Balanced gateway

ProxyPass "/uwsgi-bin/" "balancer://somecluster/"
+<Proxy balancer://somecluster>
+    BalancerMember uwsgi://localhost:4000
+    BalancerMember uwsgi://localhost:4001
+</Proxy>
+
+
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 b/docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 new file mode 100644 index 0000000..7a39e1f --- /dev/null +++ b/docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 @@ -0,0 +1,116 @@ + + + + + +mod_proxy_uwsgi - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_uwsgi

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module de passerelle UWSGI pour mod_proxy
Statut:Extension
Identificateur de Module:proxy_uwsgi_module
Fichier Source:mod_proxy_uwsgi.c
Compatibilité:Disponible à partir de la version 2.4.30 du serveur HTTP Apache.
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le chargement préalable de + mod_proxy. Il fournit le support du protocole + UWSGI.

+ +

Pour être en mesure de gérer le protocole UWSGI, le serveur doit donc + pouvoir disposer des modules mod_proxy et + mod_proxy_uwsgi.

+ +

Avertissement

+

N'activez le mandatement que si vous avez sécurisé votre serveur. Les serveurs + mandataires ouverts sont dangereux pour votre réseau, mais aussi pour + Internet en général.

+
+
+
Support Apache!

Sujets

+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+
top
+
+

Exemples

+

Il est rappelé que vous devez charger les modules + mod_proxy et mod_proxy_uwsgi pour que les + exemples suivants fonctionnent.

+ +

Passerelle simple

ProxyPass "/uwsgi-bin/" "uwsgi://localhost:4000/"
+
+ +

La passerelle à répartition de charge nécessite + mod_proxy_balancer et au moins un module implémentant un + algorithme de répartition de charge comme + mod_lbmethod_byrequests, en plus des modules de mandatement + listés ci-dessus. Par défaut, c'est mod_lbmethod_byrequests + qui sera utilisé, et c'est donc ce dernier qui sera utilisé dans l'exemple + suivant :

+ +

Passerelle à répartition de charge

ProxyPass "/uwsgi-bin/" "balancer://somecluster/"
+<Proxy balancer://somecluster>
+    BalancerMember uwsgi://localhost:4000
+    BalancerMember uwsgi://localhost:4001
+</Proxy>
+
+
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_wstunnel.html b/docs/manual/mod/mod_proxy_wstunnel.html new file mode 100644 index 0000000..cf71a85 --- /dev/null +++ b/docs/manual/mod/mod_proxy_wstunnel.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_wstunnel.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_wstunnel.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.en b/docs/manual/mod/mod_proxy_wstunnel.html.en new file mode 100644 index 0000000..9f0bfb8 --- /dev/null +++ b/docs/manual/mod/mod_proxy_wstunnel.html.en @@ -0,0 +1,152 @@ + + + + + +mod_proxy_wstunnel - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_proxy_wstunnel

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Websockets support module for +mod_proxy
Status:Extension
Module Identifier:proxy_wstunnel_module
Source File:mod_proxy_wstunnel.c
Compatibility:Available in httpd 2.4.5 and later
+

Summary

+ +

Deprecation

+

Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be better handled by + mod_proxy_http.

+

See Protocol Upgrade.

+
+ +

This module requires the service of mod_proxy. + It provides support for the tunnelling of web + socket connections to a backend websockets server. The connection + is automatically upgraded to a websocket connection:

+ +

HTTP Response

Upgrade: WebSocket
+Connection: Upgrade
+
+ +

Proxying requests to a websockets server like echo.websocket.org can be done using the +ProxyPass directive:

+
ProxyPass "/ws2/"  "ws://echo.websocket.org/"
+ProxyPass "/wss2/" "wss://echo.websocket.org/"
+ + +

Proxying both HTTP and websockets at the same time, with a specific set of URL's being +websocket-only, can be done by specifying the websockets +ProxyPass directive before the +HTTP directive:

+
ProxyPassMatch ^/(myApp/ws)$  ws://backend.example.com:9080/$1
+ProxyPass / http://backend.example.com:9080/
+ + +

Proxying both HTTP and websockets at the same time, where the websockets URL's are not +websocket-only or not known in advance can be done by using the +RewriteRule directive to +configure the websockets proxying:

+
ProxyPass / http://example.com:9080/
+RewriteEngine on
+RewriteCond %{HTTP:Upgrade} websocket [NC]
+RewriteCond %{HTTP:Connection} upgrade [NC]
+RewriteRule ^/?(.*) "ws://example.com:9080/$1" [P,L]
+ + + +

Load balancing for multiple backends can be achieved using mod_proxy_balancer.

+ +

+The module can also be used to upgrade to other protocols than WebSocket, by setting +the upgrade parameter in the +ProxyPass +directive to some custom protocol name. +Special upgrade=NONE and upgrade=ANY values may be used for +testing/forcing the upgrade but they are not recommended in production for +security reasons. +NONE means that the check for the header is omitted but still the upgrade/tunneling to +WebSocket always happens. +ANY means that the upgrade/tunneling will happen using any protocol asked by the client. +

+
+ + +
top
+

ProxyWebsocketFallbackToProxyHttp Directive

+ + + + + + + + +
Description:Instructs this module to let mod_proxy_http handle the request
Syntax:ProxyWebsocketFallbackToProxyHttp On|Off
Default:ProxyWebsocketFallbackToProxyHttp On
Context:server config, virtual host
Status:Extension
Module:mod_proxy_wstunnel
Compatibility:Available in httpd 2.4.48 and later
+

Since httpd 2.4.47, mod_proxy_http can handle WebSocket + upgrading and tunneling in accordance to RFC 7230, this directive controls + whether mod_proxy_wstunnel should hand over to + mod_proxy_http to this, which is the case by default.

+

Setting to Off lets mod_proxy_wstunnel handle + WebSocket requests as in httpd 2.4.46 and earlier.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 b/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 new file mode 100644 index 0000000..bcf27f6 --- /dev/null +++ b/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 @@ -0,0 +1,157 @@ + + + + + +mod_proxy_wstunnel - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_wstunnel

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module pour mod_proxy supportant les +websockets
Statut:Extension
Identificateur de Module:proxy_wstunnel_module
Fichier Source:mod_proxy_wstunnel.c
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

Sommaire

+ +

Obsolescence

+

Depuis la version 2.4.47 du serveur HTTP Apache, la promotion de + protocole (tunneling) peut être pris en charge de manière plus efficace par + mod_proxy_http.

+

Voir Promotion de protocole.

+
+ +

Pour utiliser ce module, mod_proxy doit être + chargé. Il fournit le support du tunnelling pour les connexions + websocket vers un serveur websockets d'arrière-plan. La connexion + est automatiquement promue en connexion websocket :

+ +

Réponse HTTP

Upgrade: WebSocket
+Connection: Upgrade
+
+ +

Le mandatement des requêtes vers un serveur websockets comme +echo.websocket.org peut être configuré via la directive ProxyPass :

+
ProxyPass "/ws2/"  "ws://echo.websocket.org/"
+ProxyPass "/wss2/" "wss://echo.websocket.org/"
+ + +

Il est possible de mandater les websockets et HTTP en même temps, avec un jeu +spécifique d'URLs pour les websockets, en définissant la directive ProxyPass concernant les +websockets avant celle concernant HTTP :

+
ProxyPassMatch ^/(myApp/ws)$  ws://backend.example.com:9080/$1
+ProxyPass / http://backend.example.com:9080/
+ + +

Il est possible de mandater les websockets et HTTP en même temps, lorsque +les URLs websockets ne concernent pas uniquement les websockets ou ne sont pas +connues à l'avance, en utilisant la directive RewriteRule pour configurer le mandatement des +websockets :

+
ProxyPass / http://example.com:9080/
+RewriteEngine on
+RewriteCond %{HTTP:Upgrade} websocket [NC]
+RewriteCond %{HTTP:Connection} upgrade [NC]
+RewriteRule ^/?(.*) "ws://example.com:9080/$1" [P,L]
+ + +

La répartition de charge entre plusieurs serveurs d'arrière-plan peut être +configurée via le module mod_proxy_balancer.

+ +

+Ce module peut aussi être utilisé pour la promotion vers des protocoles autres +que WebSocket en définissant le paramètre upgrade de la directive ProxyPass avec un nom de +protocole particulier. +Les valeurs spéciales upgrade=NONE et upgrade=ANY +peuvent être utilisées pour tester ou forcer la promotion de protocole mais leur +utilisation n'est pas recommandée en production pour des +raisons de sécurité. +NONE signifie que la vérification de l'en-tête est omise mais que +la promotion (tunneling) vers WebSocket s'effectuera quand-même. +ANY signifie que la promotion (tunneling) s'effectuera en utilisant +tout protocole demandé par le client. +

+
+ + +
top
+

Directive ProxyWebsocketFallbackToProxyHttp

+ + + + + + + + +
Description:Demande à ce module de laisser mod_proxy_http +gérer la requête
Syntaxe:ProxyWebsocketFallbackToProxyHttp On|Off
Défaut:ProxyWebsocketFallbackToProxyHttp On
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_proxy_wstunnel
Compatibilité:Disponible à partir de la version 2.4.48 du serveur HTTP Apache
+

Depuis la version 2.4.47 de httpd, mod_proxy_http peut + gérer le tunneling et la mise à jour via les WebSockets en accord avec la + RFC 7230 ; cette directive permet de définir si, pour ces actions, + mod_proxy_wstunnel doit passer la main à + mod_proxy_http, ce qui est le cas par défaut.

+

Définir cette directive à Off revient à laisser + mod_proxy_wstunnel gérer les requêtes WebSocket, comme avec + les versions 2.4.46 et antérieures de httpd.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ratelimit.html b/docs/manual/mod/mod_ratelimit.html new file mode 100644 index 0000000..8022057 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ratelimit.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ratelimit.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_ratelimit.html.en b/docs/manual/mod/mod_ratelimit.html.en new file mode 100644 index 0000000..a645960 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html.en @@ -0,0 +1,100 @@ + + + + + +mod_ratelimit - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_ratelimit

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Bandwidth Rate Limiting for Clients
Status:Extension
Module Identifier:ratelimit_module
Source File:mod_ratelimit.c
Compatibility: + rate-initial-burst available in httpd 2.4.24 and later. + Rate limiting proxied content does not work correctly up to httpd 2.4.33. +
+

Summary

+ + +

Provides a filter named RATE_LIMIT to limit client bandwidth. +The throttling is applied to each HTTP response while it is transferred to the client, +and not aggregated at IP/client level. +The connection speed to be simulated is specified, in KiB/s, using the environment +variable rate-limit.

+ +

Optionally, an initial amount of burst data, in KiB, may be +configured to be passed at full speed before throttling to the +specified rate limit. This value is optional, and is set using +the environment variable rate-initial-burst.

+ +

Example Configuration

<Location "/downloads">
+    SetOutputFilter RATE_LIMIT
+    SetEnv rate-limit 400 
+    SetEnv rate-initial-burst 512
+</Location>
+
+If the value specified for rate-limit causes integer overflow, the rate-limited will be disabled. +If the value specified for rate-limit-burst causes integer overflow, the burst will be disabled. +
+ +
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ratelimit.html.fr.utf8 b/docs/manual/mod/mod_ratelimit.html.fr.utf8 new file mode 100644 index 0000000..09c5230 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html.fr.utf8 @@ -0,0 +1,104 @@ + + + + + +mod_ratelimit - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_ratelimit

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Limitation de la bande passante pour les clients
Statut:Extension
Identificateur de Module:ratelimit_module
Fichier Source:mod_ratelimit.c
Compatibilité: + rate-initial-burst est disponible à partir de la version 2.4.24 + du serveur HTTP Apache. La limitation de bande passante pour les contenus + mandatés ne fonctionne pas correctement jusqu'à la version 2.4.33. +
+

Sommaire

+ + +

Ce module fournit un filtre RATE_LIMIT pour limiter la +bande passante des clients. Cette contrainte s'applique à chaque réponse HTTP au +moment où elle est envoyée au client ; elle n'affecte pas les autres échanges +entre le client et le serveur. La variable d'environnement +rate-limit permet de spécifier, en kb/s, le débit de la +connexion à simuler.

+ +

Optionnellement, il est possible, via la variable d'environnement +rate-initial-burst, de définir une quantité de données en +kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la +valeur voulue.

+ +

Exemple de configuration

<Location "/downloads">
+    SetOutputFilter RATE_LIMIT
+    SetEnv rate-limit 400
+    SetEnv rate-initial-burst 512
+</Location>
+
+Si la valeur affectée à rate-limit dépasse la valeur maximale à +affecter à un entier, la limitation de bande passante sera désactivée. Si la +valeur affectée à rate-limit-burst dépasse la valeur maximale à +affecter à un entier, la transmission du burst initial sans limitation de bande +passante sera désactivée. +
+ +
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_reflector.html b/docs/manual/mod/mod_reflector.html new file mode 100644 index 0000000..b6aeada --- /dev/null +++ b/docs/manual/mod/mod_reflector.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_reflector.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_reflector.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_reflector.html.en b/docs/manual/mod/mod_reflector.html.en new file mode 100644 index 0000000..e4b65db --- /dev/null +++ b/docs/manual/mod/mod_reflector.html.en @@ -0,0 +1,125 @@ + + + + + +mod_reflector - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_reflector

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Reflect a request body as a response via the output filter stack.
Status:Base
Module Identifier:reflector_module
Source File:mod_reflector.c
Compatibility:Version 2.3 and later
+

Summary

+ +

This module allows request bodies to be reflected back to the + client, in the process passing the request through the output filter + stack. A suitably configured chain of filters can be used to transform + the request into a response. This module can be used to turn an output + filter into an HTTP service.

+
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Examples

+
+
Compression service
+
Pass the request body through the DEFLATE filter to compress the + body. This request requires a Content-Encoding request header containing + "gzip" for the filter to return compressed data. +
<Location "/compress">
+    SetHandler reflector
+    SetOutputFilter DEFLATE
+</Location>
+ +
+ +
Image downsampling service
+
Pass the request body through an image downsampling filter, and reflect + the results to the caller. +
<Location "/downsample">
+    SetHandler reflector
+    SetOutputFilter DOWNSAMPLE
+</Location>
+ +
+
+
+
top
+

ReflectorHeader Directive

+ + + + + + + +
Description:Reflect an input header to the output headers
Syntax:ReflectorHeader inputheader [outputheader]
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Base
Module:mod_reflector
+

This directive controls the reflection of request headers to the response. + The first argument is the name of the request header to copy. If the optional + second argument is specified, it will be used as the name of the response + header, otherwise the original request header name will be used.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_reflector.html.fr.utf8 b/docs/manual/mod/mod_reflector.html.fr.utf8 new file mode 100644 index 0000000..fb4202f --- /dev/null +++ b/docs/manual/mod/mod_reflector.html.fr.utf8 @@ -0,0 +1,129 @@ + + + + + +mod_reflector - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_reflector

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.
Statut:Base
Identificateur de Module:reflector_module
Fichier Source:mod_reflector.c
Compatibilité:Versions 2.3 et ultérieures
+

Sommaire

+ +

Ce module permet de renvoyer un corps de requête au client, après + l'avoir fait passer par la pile de filtres en sortie. Une chaîne de + filtres configurée de manière appropriée peut être utilisée pour + transformer la requête en réponse. Ce module peut ainsi être utilisé + pour transformer un filtre en sortie en service HTTP.

+
+ +
top
+
+

Exemples

+
+
Service de compression
+
Fait passer le corps de la requête par le filtre DEFLATE pour le + compresser. Cette requête nécessite un en-tête Content-Encoding + contenant la valeur "gzip" pour que le filtre renvoie les données + compressées. +
<Location "/compress">
+    SetHandler reflector
+    SetOutputFilter DEFLATE
+</Location>
+ +
+ +
Service d'abaissement de l'échantillonnage d'image
+
Fait passer le corps de la requête par un filtre d'abaissement + de l'échantillonnage d'image, et renvoie le résultat au client. +
<Location "/downsample">
+    SetHandler reflector
+    SetOutputFilter DOWNSAMPLE
+</Location>
+ +
+
+
+
top
+

Directive ReflectorHeader

+ + + + + + + +
Description:Renvoie un en-tête d'entrée dans les en-têtes de sortie
Syntaxe:ReflectorHeader en-tête-entrée [en-tête-sortie]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Base
Module:mod_reflector
+

Cette directive permet de contrôler la répercution des en-têtes + de la requête dans la réponse. Le premier argument correspond au nom + de l'en-tête à copier. Si le second argument (optionnel) est + spécifié, il définit le nom sous lequel l'en-tête sera répercuté + dans la réponse ; dans le cas contraire, c'est le nom de l'en-tête + original qui sera utilisé.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_remoteip.html b/docs/manual/mod/mod_remoteip.html new file mode 100644 index 0000000..5647104 --- /dev/null +++ b/docs/manual/mod/mod_remoteip.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_remoteip.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_remoteip.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_remoteip.html.en b/docs/manual/mod/mod_remoteip.html.en new file mode 100644 index 0000000..cb6cc34 --- /dev/null +++ b/docs/manual/mod/mod_remoteip.html.en @@ -0,0 +1,378 @@ + + + + + +mod_remoteip - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_remoteip

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +
Status:Base
Module Identifier:remoteip_module
Source File:mod_remoteip.c
+

Summary

+ +

This module is used to treat the useragent which initiated the + request as the originating useragent as identified by httpd for the + purposes of authorization and logging, even where that useragent is + behind a load balancer, front end server, or proxy server.

+ +

The module overrides the client IP address for the connection + with the useragent IP address reported in the request header configured + with the RemoteIPHeader directive.

+ +

Additionally, this module implements the server side of + HAProxy's + PROXY Protocol when + using the RemoteIPProxyProtocol + directive.

+ +

Once replaced as instructed, this overridden useragent IP address is + then used for the mod_authz_host + Require ip + feature, is reported by mod_status, and is recorded by + mod_log_config %a and core + %a format strings. The underlying client IP of the connection + is available in the %{c}a format string.

+ +
It is critical to only enable this behavior from + intermediate hosts (proxies, etc) which are trusted by this server, since + it is trivial for the remote useragent to impersonate another + useragent.
+
+ +
top
+
+

Remote IP Processing

+ +

Apache by default identifies the useragent with the connection's + client_ip value, and the connection remote_host and remote_logname are + derived from this value. These fields play a role in authentication, + authorization and logging and other purposes by other loadable + modules.

+ +

mod_remoteip overrides the client IP of the connection with the + advertised useragent IP as provided by a proxy or load balancer, for + the duration of the request. A load balancer might establish a long + lived keepalive connection with the server, and each request will + have the correct useragent IP, even though the underlying client IP + address of the load balancer remains unchanged.

+ +

When multiple, comma delimited useragent IP addresses are listed in the + header value, they are processed in Right-to-Left order. Processing + halts when a given useragent IP address is not trusted to present the + preceding IP address. The header field is updated to this remaining + list of unconfirmed IP addresses, or if all IP addresses were trusted, + this header is removed from the request altogether.

+ +

In overriding the client IP, the module stores the list of intermediate + hosts in a remoteip-proxy-ip-list note, which mod_log_config + can record using the %{remoteip-proxy-ip-list}n format token. + If the administrator needs to store this as an additional header, this + same value can also be recording as a header using the directive + RemoteIPProxiesHeader.

+ +

IPv4-over-IPv6 Mapped Addresses

+ As with httpd in general, any IPv4-over-IPv6 mapped addresses are recorded + in their IPv4 representation.
+ +

Internal (Private) Addresses

+ All internal addresses 10/8, 172.16/12, 192.168/16, 169.254/16 and 127/8 + blocks (and IPv6 addresses outside of the public 2000::/3 block) are only + evaluated by mod_remoteip when RemoteIPInternalProxy + internal (intranet) proxies are registered.
+ +
+
top
+

RemoteIPHeader Directive

+ + + + + + +
Description:Declare the header field which should be parsed for useragent IP addresses
Syntax:RemoteIPHeader header-field
Context:server config, virtual host
Status:Base
Module:mod_remoteip
+

The RemoteIPHeader directive triggers + mod_remoteip to treat the value of the specified + header-field header as the useragent IP address, or list + of intermediate useragent IP addresses, subject to further configuration + of the RemoteIPInternalProxy and + RemoteIPTrustedProxy directives. Unless these + other directives are used, mod_remoteip will trust all + hosts presenting a RemoteIPHeader IP value.

+ +

Internal (Load Balancer) Example

RemoteIPHeader X-Client-IP
+
+ +

Proxy Example

RemoteIPHeader X-Forwarded-For
+
+ +
+
top
+

RemoteIPInternalProxy Directive

+ + + + + + +
Description:Declare client intranet IP addresses trusted to present the RemoteIPHeader value
Syntax:RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...
Context:server config, virtual host
Status:Base
Module:mod_remoteip
+

The RemoteIPInternalProxy directive adds one + or more addresses (or address blocks) to trust as presenting a valid + RemoteIPHeader value of the useragent IP. Unlike the + RemoteIPTrustedProxy directive, any IP address + presented in this header, including private intranet addresses, are + trusted when passed from these proxies.

+ +

Internal (Load Balancer) Example

RemoteIPHeader X-Client-IP
+RemoteIPInternalProxy 10.0.2.0/24
+RemoteIPInternalProxy gateway.localdomain
+
+ +
+
top
+

RemoteIPInternalProxyList Directive

+ + + + + + +
Description:Declare client intranet IP addresses trusted to present the RemoteIPHeader value
Syntax:RemoteIPInternalProxyList filename
Context:server config, virtual host
Status:Base
Module:mod_remoteip
+

The RemoteIPInternalProxyList directive specifies + a file parsed at startup, and builds a list of addresses (or address blocks) + to trust as presenting a valid RemoteIPHeader value of the useragent IP.

+ +

The '#' hash character designates a comment line, otherwise + each whitespace or newline separated entry is processed identically to + the RemoteIPInternalProxy directive.

+ +

Internal (Load Balancer) Example

RemoteIPHeader X-Client-IP
+RemoteIPInternalProxyList conf/trusted-proxies.lst
+
+ +

conf/trusted-proxies.lst contents

# Our internally trusted proxies;
+10.0.2.0/24         #Everyone in the testing group
+gateway.localdomain #The front end balancer
+ +
+
top
+

RemoteIPProxiesHeader Directive

+ + + + + + +
Description:Declare the header field which will record all intermediate IP addresses
Syntax:RemoteIPProxiesHeader HeaderFieldName
Context:server config, virtual host
Status:Base
Module:mod_remoteip
+

The RemoteIPProxiesHeader directive specifies + a header into which mod_remoteip will collect a list of + all of the intermediate client IP addresses trusted to resolve the useragent + IP of the request. Note that intermediate + RemoteIPTrustedProxy addresses are recorded in + this header, while any intermediate + RemoteIPInternalProxy addresses are discarded.

+ +

Example

RemoteIPHeader X-Forwarded-For
+RemoteIPProxiesHeader X-Forwarded-By
+
+ +
+
top
+

RemoteIPProxyProtocol Directive

+ + + + + + + +
Description:Enable or disable PROXY protocol handling
Syntax:RemoteIPProxyProtocol On|Off
Context:server config, virtual host
Status:Base
Module:mod_remoteip
Compatibility:RemoteIPProxyProtocol is only available in httpd 2.4.31 and newer
+

The RemoteIPProxyProtocol directive enables or + disables the reading and handling of the PROXY protocol connection header. + If enabled with the On flag, the upstream client must + send the header every time it opens a connection or the connection will + be aborted unless it is in the list of disabled hosts provided by the + RemoteIPProxyProtocolExceptions + directive.

+ +

While this directive may be specified in any virtual host, it is + important to understand that because the PROXY protocol is connection + based and protocol agnostic, the enabling and disabling is actually based + on IP address and port. This means that if you have multiple name-based + virtual hosts for the same host and port, and you enable it for any one of + them, then it is enabled for all of them (with that host and port). It also + means that if you attempt to enable the PROXY protocol in one and disable + in the other, that won't work; in such a case, the last one wins and a + notice will be logged indicating which setting was being overridden.

+ +
Listen 80
+<VirtualHost *:80>
+    ServerName www.example.com
+    RemoteIPProxyProtocol On
+
+    #Requests to this virtual host must have a PROXY protocol
+    # header provided. If it is missing, the connection will
+    # be aborted
+</VirtualHost>
+
+Listen 8080
+<VirtualHost *:8080>
+    ServerName www.example.com
+    RemoteIPProxyProtocol On
+    RemoteIPProxyProtocolExceptions 127.0.0.1 10.0.0.0/8
+
+    #Requests to this virtual host must have a PROXY protocol
+    # header provided. If it is missing, the connection will
+    # be aborted except when coming from localhost or the
+    # 10.x.x.x RFC1918 range
+</VirtualHost>
+ + +
+
top
+

RemoteIPProxyProtocolExceptions Directive

+ + + + + + + +
Description:Disable processing of PROXY header for certain hosts or networks
Syntax:RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]
Context:server config, virtual host
Status:Base
Module:mod_remoteip
Compatibility:RemoteIPProxyProtocolExceptions is only available in httpd 2.4.31 and newer
+

The RemoteIPProxyProtocol directive enables or + disables the reading and handling of the PROXY protocol connection header. + Sometimes it is desirable to require clients to provide the PROXY header, but + permit other clients to connect without it. This directive allows a server + administrator to configure a single host or CIDR range of hosts that may do + so. This is generally useful for monitoring and administrative traffic to a + virtual host direct to the server behind the upstream load balancer.

+ +
+
top
+

RemoteIPTrustedProxy Directive

+ + + + + + +
Description:Declare client intranet IP addresses trusted to present the RemoteIPHeader value
Syntax:RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...
Context:server config, virtual host
Status:Base
Module:mod_remoteip
+

The RemoteIPTrustedProxy directive adds one + or more addresses (or address blocks) to trust as presenting a valid + RemoteIPHeader value of the useragent IP. Unlike the + RemoteIPInternalProxy directive, any intranet + or private IP address reported by such proxies, including the 10/8, 172.16/12, + 192.168/16, 169.254/16 and 127/8 blocks (or outside of the IPv6 public + 2000::/3 block) are not trusted as the useragent IP, and are left in the + RemoteIPHeader header's value.

+ +

Trusted (Load Balancer) Example

RemoteIPHeader X-Forwarded-For
+RemoteIPTrustedProxy 10.0.2.16/28
+RemoteIPTrustedProxy proxy.example.com
+
+ +
+
top
+

RemoteIPTrustedProxyList Directive

+ + + + + + +
Description:Declare client intranet IP addresses trusted to present the RemoteIPHeader value
Syntax:RemoteIPTrustedProxyList filename
Context:server config, virtual host
Status:Base
Module:mod_remoteip
+

The RemoteIPTrustedProxyList directive specifies + a file parsed at startup, and builds a list of addresses (or address blocks) + to trust as presenting a valid RemoteIPHeader value of the useragent IP.

+ +

The '#' hash character designates a comment line, otherwise + each whitespace or newline separated entry is processed identically to + the RemoteIPTrustedProxy directive.

+ +

Trusted (Load Balancer) Example

RemoteIPHeader X-Forwarded-For
+RemoteIPTrustedProxyList conf/trusted-proxies.lst
+
+ +

conf/trusted-proxies.lst contents

+ # Identified external proxies;
+ 192.0.2.16/28 #wap phone group of proxies
+ proxy.isp.example.com #some well known ISP +

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_remoteip.html.fr.utf8 b/docs/manual/mod/mod_remoteip.html.fr.utf8 new file mode 100644 index 0000000..34e90b3 --- /dev/null +++ b/docs/manual/mod/mod_remoteip.html.fr.utf8 @@ -0,0 +1,424 @@ + + + + + +mod_remoteip - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_remoteip

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Remplace l'adresse IP du client +pour la requête par l'adresse IP présentée par un mandataire ou un +répartiteur de charge via les en-têtes de la requête. +
Statut:Base
Identificateur de Module:remoteip_module
Fichier Source:mod_remoteip.c
+

Sommaire

+ +

Ce module permet de traiter le client qui a initié la + requête en tant que client original du point de vue de httpd à + des fins d'autorisation et de connexion, même si ce client se + trouve derrière un répartiteur de charge, un serveur frontal, ou un + serveur mandataire.

+ +

Le module remplace l'adresse IP du client + pour la connexion par l'adresse IP indiquée dans + l'en-tête de requête configuré via la directive + RemoteIPHeader.

+ +

Ce module implémente aussi la partie serveur du protocole PROXY + de HAProxy via la directive RemoteIPProxyProtocol.

+ +

Une fois sa valeur modifiée comme indiqué, cette adresse IP client est + utilisée pour la fonctionnalité Require ip de mod_authz_host ; + elle est aussi affichée par mod_status, et enregistrée via + les chaînes de formatage %a des modules + mod_log_config et core. L'adresse IP + client sous-jacente de la connexion est enregistrée via la chaîne de + formatage %{c}a.

+ +
Il est essentiel de n'activer cette + fonctionnalité que pour les requêtes en provenance des serveurs + intermédiaires (mandataires, etc...) auxquels le serveur peut faire + confiance, car il est trivial pour le client distant d'usurper + l'identité d'un autre client.
+
+ +
top
+
+

Traitement des adresses distantes

+ +

Par défaut, Apache identifie le client via la valeur client_ip de la + connexion, et de cette valeur découlent les valeurs remote_host et + remote_logname de la connexion. Ces champs jouent un rôle + dans l'authentification, l'autorisation et la journalisation, ainsi que + dans d'autres traitements effectués par d'autres modules + chargeables.

+ +

mod_remoteip remplace l'adresse IP client de la connexion par l'adresse IP client + indiquée par exemple par un mandataire ou un répartiteur de charge + pour toute la durée de la requête. Un répartiteur de charge pourra ainsi + établir une connexion keepalive de longue durée avec le serveur, chaque + requête conservant alors l'adresse IP client correcte bien que l'adresse IP + client sous-jacente du répartiteur de charge reste inchangée.

+ +

Lorsque la valeur de l'en-tête comporte plusieurs adresses IP + client séparées par des virgules, celles-ci sont traitées de la + droite vers la gauche. Le traitement s'arrête lorsque l'adresse IP + client courante n'est pas digne de confiance pour présenter + l'adresse IP précédente. Le champ d'en-tête est alors mis à jour de + façon à ne contenir que cette liste d'adresses non confirmées, ou + bien, si toutes les adresses IP sont dignes de confiance, cet + en-tête est tout bonnement supprimé de la requête.

+ +

Lors du remplacement de l'adresse IP client, le module stocke + la liste des hôtes intermédiaires dans un mémo + remoteip-proxy-ip-list, que l'on peut faire enregistrer par + mod_log_config en utilisant le symbole de format + %{remoteip-proxy-ip-list}n. Si l'administrateur doit + stocker ceci dans un en-tête additionnel, la même valeur peut aussi + être enregistrée sous la forme d'un en-tête en utilisant la + directive RemoteIPProxiesHeader.

+ +

Adresses IPv4 converties au format IPv6

+ Avec httpd, d'une manière générale, toute adresse IPv4 convertie au + format IPv6 est enregistrée sous sa forme IPv4.
+ +

Adresses internes (privées)

+ Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16, + 169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc + public 2000::/3 block) ne sont évaluées par mod_remoteip que lorsque + des mandataires internes (intranet) + RemoteIPInternalProxy sont enregistrés.
+ +
+
top
+

Directive RemoteIPHeader

+ + + + + + +
Description:Définit le champ d'en-tête qui contiendra les adresses IP +du client
Syntaxe:RemoteIPHeader en-tête
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
+

La directive RemoteIPHeader indique à + mod_remoteip de traiter la valeur de + l'en-tête spécifié comme l'adresse IP du client, ou comme + une liste d'adresses IP clients intermédiaires, en fonction de la + configuration des directives + RemoteIPInternalProxy et + RemoteIPTrustedProxy. Si ces + deux dernières directives ne sont pas utilisées, + mod_remoteip traitera tout hôte présentant une adresse non + interne dans l'en-tête RemoteIPHeader comme hôte de confiance.

+ +
Si ces deux dernières + directives ne sont pas utilisées, mod_remoteip + traitera tout hôte présentant une adresse non interne + dans l'en-tête RemoteIPHeader comme hôte de + confiance.
+ +

Exemple à usage interne (répartiteur de + charge)

RemoteIPHeader X-Client-IP
+
+ +

Exemple dans le cas d'un mandataire

RemoteIPHeader X-Forwarded-For
+
+ +
+
top
+

Directive RemoteIPInternalProxy

+ + + + + + +
Description:Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader
Syntaxe:RemoteIPInternalProxy +ip-mandataire|ip-mandataire/sous-réseau|nom-hôte ...
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
+

La directive RemoteIPInternalProxy permet + d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client. A la différence de la directive + RemoteIPTrustedProxy, toute adresse IP + présentée dans cet en-tête, y comprises les adresses intranet + privées, sont considérées comme dignes de confiance lorsqu'elles + sont indiquées par ces mandataires.

+ +

Exemple à usage interne (répartiteur de + charge)

RemoteIPHeader X-Client-IP
+RemoteIPInternalProxy 10.0.2.0/24
+RemoteIPInternalProxy gateway.localdomain
+
+ +
+
top
+

Directive RemoteIPInternalProxyList

+ + + + + + +
Description:Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader
Syntaxe:RemoteIPInternalProxyList nom-fichier
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
+

La directive RemoteIPInternalProxyList + permet de spécifier un fichier parcouru au démarrage du serveur pour + construire une liste d'adresses (ou blocs d'adresses), auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client.

+ +

Le caractère '#' indique une ligne de commentaires, + sinon, toutes les lignes séparées par un caractère nouvelle + ligne ou + tous les éléments d'une ligne séparés par un espace sont traités de + la même façon qu'avec la directive + RemoteIPInternalProxy.

+ +

Exemple à usage interne (répartiteur de + charge)

RemoteIPHeader X-Client-IP
+RemoteIPInternalProxyList conf/trusted-proxies.lst
+
+ +

contenu de conf/mandataires-de-confiance.lst

         # Nos mandataires internes de confiance
+         10.0.2.0/24         # Tout le monde dans le groupe de test
+         passerelle.domaine-local # Le frontal répartiteur de charge
+ +
+
top
+

Directive RemoteIPProxiesHeader

+ + + + + + +
Description:Déclare le champ d'en-tête qui contiendra toutes les +adresses IP intermédiaires
Syntaxe:RemoteIPProxiesHeader Nom_en-tête
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
+

La directive RemoteIPProxiesHeader permet + de spécifier l'en-tête dans lequel mod_remoteip va + collecter une liste de toutes les adresses IP clients intermédiaires + auxquelles on pourra faire confiance pour résoudre l'adresse IP + client de la requête. Notez que les adresses intermédiaires + RemoteIPTrustedProxy sont enregistrées dans + cet en-tête, alors que toute adresse intermédiaire + RemoteIPInternalProxy est omise.

+ +

Exemple

RemoteIPHeader X-Forwarded-For
+RemoteIPProxiesHeader X-Forwarded-By
+
+ +
+
top
+

Directive RemoteIPProxyProtocol

+ + + + + + + +
Description:Active ou désactive la gestion du protocole PROXY
Syntaxe:RemoteIPProxyProtocol On|Off
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
Compatibilité:Disponible à partir de la version 2.4.31 du serveur HTTP Apache
+

La directive RemoteIPProxyProtocol permet + d'activer ou de désactiver la prise en compte et la gestion de l'en-tête de + connexion du protocole PROXY. Si elle est définie à On, la + demande du client doit envoyer l'en-tête approprié pour chaque + nouvelle connexion, sinon cette dernière sera fermée à moins qu'il ne fasse + partie de la liste, définie via la directive RemoteIPProxyProtocolDisableHosts, des + hôtes pour lesquels le protocole PROXY est désactivé.

+ +

Bien que cette directive peut être définie au niveau de n'importe quel + serveur virtuel, il est important de garder à l'esprit que, étant donné que + le protocole PROXY est basé sur la connexion et agnostique quant au + protocle, son activation/désactivation est basée sur le couple adresse + IP/port. Cela signifie que si plusieurs serveurs virtuels à base de nom sont + configurés avec le même couple adresse IP/port, et si vous activez le + protocole PROXY pour l'un d'entre eux, il le sera aussi pour tous les autres + (avec le même couple adresse IP/port). Cela signifie aussi que si vous + tentez d'activer le protocole PROXY pour un serveur virtuel et de le + désactiver pour un autre, cela ne marchera pas ; dans ce dernier cas, la + dernière directive l'emporte sur les autres et une notification sera + enregistrée dans le journal pour indiquer les réglages qui ont été annulés.

+ +
Listen 80
+<VirtualHost *:80>
+    ServerName www.example.com
+    RemoteIPProxyProtocol On
+
+    #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du
+    #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée.
+</VirtualHost>
+
+Listen 8080
+<VirtualHost *:8080>
+    ServerName www.example.com
+    RemoteIPProxyProtocol On
+    RemoteIPProxyProtocolExceptions 127.0.0.1 10.0.0.0/8
+
+    #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du
+    #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée à moins
+    que sa source ne soit localhost ou la gamme d'adresses RFC1918 10.x.x.x
+</VirtualHost>
+ + +
+
top
+

Directive RemoteIPProxyProtocolExceptions

+ + + + + + + +
Description:Désactive la prise en compte de l'en-tête PROXY pour certains hôtes +ou réseaux
Syntaxe:RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
Compatibilité:RemoteIPProxyProtocolExceptions est disponible à partir de la +version 2.4.31 du serveur HTTP Apache
+

La directive RemoteIPProxyProtocol permet de + contrôler la prise en compte de l'en-tête de connexion du protocole PROXY. + Il est parfois souhaitable d'exiger pour certains clients la + présence de l'en-tête PROXY, mais aussi de permettre aux autres clients de + se connecter sans ce dernier. Cette directive permet à l'administrateur du + serveur d'autoriser cette possibilité à un hôte isolé ou à une gamme d'hôtes + au format CIDR.

+ +
+
top
+

Directive RemoteIPTrustedProxy

+ + + + + + +
Description:Déclare les adresses IP clientes de l'intranet dignes de +confiance pour présenter la valeur RemoteIPHeader
Syntaxe:RemoteIPTrustedProxy +ip-mandataire|ip-mandataire/sous-réseau|nom-hôte ...
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
+

La directive RemoteIPTrustedProxy permet + d'ajouter une ou plusieurs adresses, ou blocs d'adresses, auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client. A la différence de la directive + RemoteIPInternalProxy, toutes les adresses IP + intranet ou privées indiquées par de tels mandataires, y compris les + blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8 + (ou située en dehors du bloc IPv6 public 2000::/3), ne sont pas + dignes de confiance en tant qu'adresses IP distantes, et se situent + à gauche dans le contenu de l'en-tête + RemoteIPHeader.

+ +

Exemple d'adresse de confiance (répartiteur de + charge

RemoteIPHeader X-Forwarded-For
+RemoteIPTrustedProxy 10.0.2.16/28
+RemoteIPTrustedProxy proxy.example.com
+
+ +
+
top
+

Directive RemoteIPTrustedProxyList

+ + + + + + +
Description:Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader
Syntaxe:RemoteIPTrustedProxyList nom-fichier
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_remoteip
+

La directive RemoteIPTrustedProxyList + permet de spécifier un fichier parcouru au démarrage du serveur pour + construire une liste d'adresses (ou blocs d'adresses), auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client.

+ +

Le caractère '#' indique une ligne de commentaires, + sinon, toutes les lignes séparées par un caractère nouvelle ligne ou + tous les éléments d'une ligne séparés par un espace sont traités de + la même façon qu'avec la directive + RemoteIPTrustedProxy.

+ +

Exemple d'adresse de confiance (répartiteur de + charge

RemoteIPHeader X-Forwarded-For
+RemoteIPTrustedProxyList conf/trusted-proxies.lst
+
+ +

conf/mandataires-de-confiance.lst contents

+ # Mandataires externes identifiés
+ 192.0.2.16/28 #groupe wap phone de mandataires
+ proxy.isp.example.com #un FAI bien connu +

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_reqtimeout.html b/docs/manual/mod/mod_reqtimeout.html new file mode 100644 index 0000000..dd93a18 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_reqtimeout.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_reqtimeout.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_reqtimeout.html.en b/docs/manual/mod/mod_reqtimeout.html.en new file mode 100644 index 0000000..af82bf9 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html.en @@ -0,0 +1,224 @@ + + + + + +mod_reqtimeout - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_reqtimeout

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Set timeout and minimum data rate for receiving requests +
Status:Extension
Module Identifier:reqtimeout_module
Source File:mod_reqtimeout.c
Compatibility:Available in Apache HTTPD 2.2.15 and later
+

Summary

+ +

This module provides a convenient way to set timeouts and minimum data + rates for receiving requests. Should a timeout occur or a data rate be + to low, the corresponding connection will be closed by the server.

+ +

This is logged at LogLevel + info.

+ +

If needed, the LogLevel directive + can be tweaked to explicitly log it:

+
LogLevel reqtimeout:info
+ +
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Examples

+ +
    +
  1. + Allow for 5 seconds to complete the TLS handshake, 10 seconds to + receive the request headers and 30 seconds for receiving the + request body: + +
    RequestReadTimeout handshake=5 header=10 body=30
    + +
  2. + +
  3. + Allow at least 10 seconds to receive the request body. + If the client sends data, increase the timeout by 1 second for every + 1000 bytes received, with no upper limit for the timeout (except for + the limit given indirectly by + LimitRequestBody): + +
    RequestReadTimeout body=10,MinRate=1000
    + +
  4. + +
  5. + Allow at least 10 seconds to receive the request headers. + If the client sends data, increase the timeout by 1 second for every + 500 bytes received. But do not allow more than 30 seconds for the + request headers: + +
    RequestReadTimeout header=10-30,MinRate=500
    + +
  6. + +
  7. + Usually, a server should have both header and body timeouts configured. + If a common configuration is used for http and https virtual hosts, the + timeouts should not be set too low: + +
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
    + +
  8. + +
+
+
top
+

RequestReadTimeout Directive

+ + + + + + + + +
Description:Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Syntax:RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] +
Default:RequestReadTimeout handshake=0 header=20-40,MinRate=500 body=20,MinRate=500
Context:server config, virtual host
Status:Extension
Module:mod_reqtimeout
Compatibility:Available in version 2.2.15 and later; defaulted to disabled in +version 2.3.14 and earlier. The handshake stage is available since +version 2.4.39. +
+

This directive can set various timeouts for completing the TLS handshake, + receiving the request headers and/or the request body from the client. + If the client fails to complete each of these stages within the configured + time, a 408 REQUEST TIME OUT error is sent.

+ +

For SSL virtual hosts, the handshake timeout values is the time + needed to do the initial SSL handshake. If the user's browser is configured to + query certificate revocation lists and the CRL server is not reachable, the + initial SSL handshake may take a significant time until the browser gives up + waiting for the CRL. Therefore the handshake timeout should take + this possible overhead into consideration for SSL virtual hosts (if necessary). + The body timeout values include the time needed for SSL renegotiation + (if necessary).

+ +

When an AcceptFilter is in use + (usually the case on Linux and FreeBSD), the socket is not sent to the + server process before at least one byte (or the whole request for + httpready) is received. The handshake and header timeouts + configured with RequestReadTimeout are only effective + after the server process has received the socket.

+ +

For each of the three timeout stages (handshake, header or body), there are + three ways to specify the timeout: +

+ +
    + +
  • Fixed timeout value:
    + +

    stage=timeout

    + +

    The time in seconds allowed for completing the whole stage (handshaking, + reading all of the request headers or body). A value of 0 means no limit.

    +
  • + +
  • Disable module for a vhost:
    + +

    handshake=0 header=0 body=0

    + +

    This disables mod_reqtimeout completely (note that + handshake=0 is the default already and could be omitted).

    +
  • + +
  • Timeout value that is increased when data is + received:
    +

    + stage=timeout,MinRate=data_rate +

    + +

    Same as above, but whenever data is received, the timeout value is + increased according to the specified minimum data rate (in bytes per + second).

    +
  • + +
  • Timeout value that is increased when data is received, with an + upper bound:
    +

    + stage=timeout-maxtimeout,MinRate=data_rate +

    + +

    Same as above, but the timeout will not be increased above the second + value of the specified timeout range.

    +
  • + +
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_reqtimeout.html.fr.utf8 b/docs/manual/mod/mod_reqtimeout.html.fr.utf8 new file mode 100644 index 0000000..4e89112 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html.fr.utf8 @@ -0,0 +1,234 @@ + + + + + +mod_reqtimeout - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_reqtimeout

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Définit le délai maximum et le taux minimum de transfert des +données pour la réception des requêtes +
Statut:Extension
Identificateur de Module:reqtimeout_module
Fichier Source:mod_reqtimeout.c
Compatibilité:Disponible depuis la version 2.2.15 du serveur HTTP Apache
+

Sommaire

+ +

Ce module permet de définir aisément le délai maximum et le taux de + transfert des données minimum pour la réception des requêtes. Si ce délai + est dépassé ou ce taux trop faible, la connexion concernée sera fermée par + le serveur.

+ +

Cet évènement sera alors enregistré dans le journal au niveau de LogLevel info.

+ +

Au besoin, la directive LogLevel + peut être modifiée pour un enregistrement dans le journal plus explicite :

+
LogLevel reqtimeout:info
+ +
+ +
top
+
+

Exemples

+ +
    +
  1. + Accorde 5 secondes pour terminer la négociation TLS, 10 secondes pour la + réception des en-têtes de la requête et 30 secondes pour la réception du + corps : + +
    RequestReadTimeout handshake=5 header=10 body=30
    + +
  2. + +
  3. + Accorde au moins 10 secondes pour la réception du corps de + la requête. Si le client envoie des données, augmente ce délai + d'une seconde pour chaque paquet de 1000 octets reçus, sans + limite supérieure (sauf si une limite a été + spécifiée via la directive LimitRequestBody) : + +
    RequestReadTimeout body=10,MinRate=1000
    + +
  4. + +
  5. + Accorde au moins 10 secondes pour la réception des en-têtes de la + requête. Si le client envoie des données, augmente ce délai + d'une seconde pour chaque paquet de 500 octets reçus, mais + n'alloue que 30 secondes pour les en-têtes de la requête : + +
    RequestReadTimeout header=10-30,MinRate=500
    + +
  6. + +
  7. + En général, un serveur doit avoir ses délais d'en-tête et de + corps configurés. Si les serveurs virtuels http et https + utilisent une configuration commune, les délais ne doivent pas + être définis trop bas : + +
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
    + +
  8. + +
+
+
top
+

Directive RequestReadTimeout

+ + + + + + + + +
Description:Définit des délais maximums pour la négociation TLS, la réception +des en-têtes et/ou corps des requêtes en provenance du client. +
Syntaxe:RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=MinRate] +[body=timeout[-maxtimeout][,MinRate=MinRate] +
Défaut:RequestReadTimeout handshake=0 header=20-40,MinRate=500 body=20,MinRate=500
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_reqtimeout
Compatibilité:Disponible depuis la version 2.2.15 du serveur HTTP +Apache ; désactivée par défaut depuis la version 2.3.14. La phase de +négociation est prise en compte à partir de la version 2.4.39.
+

Cette directive permet de définir différents timeouts pour la négociation + TLS, la réception des en-têtes et/ou corps des requêtes en provenance du + client. Si le client ne parvient pas à respecter ces timeouts, un code + d'erreur 408 REQUEST TIME OUT est envoyé.

+ +

Pour les serveurs virtuels SSL, la valeur de timeout pour la + négociation correspond au temps nécessaire pour la négociation + SSL initiale. Si le navigateur du client est configuré pour demander des + listes de révocations de certificats, et si le serveur correspondant n'est + pas disponible, le timeout avant lequel le navigateur va abandonner son + attente de CRL au cours de la négociation SSL initiale peut être assez + important. Par conséquent, les valeurs de timeouts pour la + négociation doivent prendre en compte un temps supplémentaire + pour les serveurs virtuels SSL (si nécessaire). Le timeout concernant le + corps inclut le temps nécessaire à la renégociation SSL (si elle est + nécessaire).

+ +

Lorsqu'une directive AcceptFilter + est active (ce qui est en général le cas sous Linux et FreeBSD), la socket + n'est envoyée au processus du serveur qu'après la réception du premier octet + (ou de l'ensemble de la requête si httpready est défini). Les + timeouts configurés pour la négociation et les en-têtes via la directive + RequestReadTimeout n'entrent en ligne de compte + qu'une fois le socket reçu par le processus du serveur.

+ +

Il existe trois méthodes pour spécifier le timeout pour chacune des trois + phases (négociation, en-tête ou corps) : +

+ +
    + +
  • Valeur de timeout fixe:
    + +

    phase=timeout

    + +

    Le temps en secondes alloué pour terminer l'ensemble de la phase + (négociation, lecture de tous les en-têtes de la requête ou du corps de + cette dernière). La valeur 0 signifie aucune limite.

    +
  • + +
  • Désactivation du module pour un serveur virtuel:
    + +

    handshake=0 header=0 body=0

    + +

    Avec cet exemple, le module mod_reqtimeout est + complètement désactivé (notez que handshake=0 correspond à la + valeur par défaut et peut donc être omis).

    +
  • + +
  • La valeur du timeout qui est augmentée lorsque des données + sont reçues :
    +

    + phase=timeout,MinRate=débit +

    + +

    Identique à ce qui précède, mais chaque fois que des données sont + reçues, la valeur du timeout est augmentée en fonction du MinRate + spécifié (en octets par seconde).

    +
  • + +
  • La valeur du timeout augmente lorsque des données sont + reçues, jusqu'à une limite supérieure:
    +

    + phase=timeout-maxtimeout,MinRate=débit +

    + +

    Identique à ce qui précède, mais le timeout n'augmentera pas au + delà de la borne supérieure du timeout spécifiée.

    +
  • + +
+ + + + + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_request.html b/docs/manual/mod/mod_request.html new file mode 100644 index 0000000..f1ee33e --- /dev/null +++ b/docs/manual/mod/mod_request.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_request.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_request.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_request.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_request.html.en b/docs/manual/mod/mod_request.html.en new file mode 100644 index 0000000..93db87f --- /dev/null +++ b/docs/manual/mod/mod_request.html.en @@ -0,0 +1,132 @@ + + + + + +mod_request - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_request

+
+

Available Languages:  en  | + fr  | + tr 

+
+ + + + +
Description:Filters to handle and make available HTTP request bodies
Status:Base
Module Identifier:request_module
Source File:mod_request.c
Compatibility:Available in Apache 2.3 and later
+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

KeptBodySize Directive

+ + + + + + + +
Description:Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.
Syntax:KeptBodySize maximum size in bytes
Default:KeptBodySize 0
Context:directory
Status:Base
Module:mod_request
+

Under normal circumstances, request handlers such as the + default handler for static files will discard the request body + when it is not needed by the request handler. As a result, + filters such as mod_include are limited to making GET requests + only when including other URLs as subrequests, even if the + original request was a POST request, as the discarded + request body is no longer available once filter processing is + taking place.

+ +

When this directive has a value greater than zero, request + handlers that would otherwise discard request bodies will + instead set the request body aside for use by filters up to + the maximum size specified. In the case of the mod_include + filter, an attempt to POST a request to the static + shtml file will cause any subrequests to be POST + requests, instead of GET requests as before.

+ +

This feature makes it possible to break up complex web pages and + web applications into small individual components, and combine + the components and the surrounding web page structure together + using mod_include. The components can take the + form of CGI programs, scripted languages, or URLs reverse proxied + into the URL space from another server using + mod_proxy.

+ +

Note: Each request set aside has to be set + aside in temporary RAM until the request is complete. As a result, + care should be taken to ensure sufficient RAM is available on the + server to support the intended load. Use of this directive + should be limited to where needed on targeted parts of your + URL space, and with the lowest possible value that is still big + enough to hold a request body.

+ +

If the request size sent by the client exceeds the maximum + size allocated by this directive, the server will return + 413 Request Entity Too Large.

+ + +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_request.html.fr.utf8 b/docs/manual/mod/mod_request.html.fr.utf8 new file mode 100644 index 0000000..c247985 --- /dev/null +++ b/docs/manual/mod/mod_request.html.fr.utf8 @@ -0,0 +1,138 @@ + + + + + +mod_request - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_request

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ + + + +
Description:Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP
Statut:Base
Identificateur de Module:request_module
Fichier Source:mod_request.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+
+ + +
top
+

Directive KeptBodySize

+ + + + + + + +
Description:Conserve le corps de la requête à concurrence de la taille +maximale spécifiée, pour une utilisation éventuelle par des filtres +comme mod_include.
Syntaxe:KeptBodySize taille maximale en octets
Défaut:KeptBodySize 0
Contexte:répertoire
Statut:Base
Module:mod_request
+

Dans une situation normale, les gestionnaires de requête tels que + le gestionnaire par défaut des fichiers statiques suppriment le + corps de la requête s'il n'est pas nécessaire au gestionnaire de + requête. Il en résulte que les filtres comme mod_include sont + limités à des requêtes GET lors de l'inclusion d'autres + URLs en tant que sous-requêtes, et ceci même si la requête originale + était une requête POST, car le corps de la requête a + été supprimé et n'est donc plus disponible une fois le traitement du + filtre mis en oeuvre.

+ +

Lorsque l'argument de cette directive a une valeur supérieure à + zéro, les gestionnaires de requête qui suppriment habituellement les + corps de requête vont alors conserver ces corps de requête, à + concurrence de la taille maximale spécifiée, pour être + éventuellement utilisés par des filtres. Dans le cas du filtre + mod_include, une tentative de requête POST pour un + fichier shtml statique se traduira par des sous-requêtes + POST, et non par des sous-requêtes GET + comme avant.

+ +

Cette fonctionnalité permet de découper des pages web complexes + et des applications web en petits éléments individuels, et de + combiner ces éléments avec la structure de la page web sous-jacente + en utilisant mod_include. Les éléments peuvent se + présenter sous la forme de programmes CGI, de langages de scripts, + ou d'URLs issues d'un mandataire inverse dans l'espace d'URL d'un + autre serveur en utilisant mod_proxy.

+ +

Note : Chaque requête dont le corps est ainsi + conservé doit être enregistrée temporairement en mémoire vive + jusqu'à la fin du traitement de la requête. Il faut donc s'assurer + que la mémoire RAM du serveur est suffisante pour pouvoir supporter + la charge induite. L'utilisation de cette directive doit être + limitée à certaines portions de votre espace d'URL bien précises qui + le nécessitent, et en spécifiant comme taille maximale une valeur la + plus petite possible, mais tout de même suffisante pour un corps de + requête.

+ +

Si la taille de la requête envoyée par le client dépasse la taille + maximale autorisée par cette directive, le serveur renverra l'erreur + 413 Request Entity Too Large.

+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_request.html.tr.utf8 b/docs/manual/mod/mod_request.html.tr.utf8 new file mode 100644 index 0000000..31dbb79 --- /dev/null +++ b/docs/manual/mod/mod_request.html.tr.utf8 @@ -0,0 +1,132 @@ + + + + + +mod_request - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_request

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ + + + +
Açıklama:HTTP istek gövdelerini işleme sokup kullanılabilir kılan süzgeçler
Durum:Temel
Modül Betimleyici:request_module
Kaynak Dosyası:mod_request.c
Uyumluluk:Apache 2.3 ve sonrasında mevcuttur.
+
+
Support Apache!

Yönergeler

+ +

Bulunan hatalar

Ayrıca bakınız:

+
+ +
top
+

KeptBodySize Yönergesi

+ + + + + + + +
Açıklama:mod_include gibi süzgeçler tarafından kullanılma olasılığına karşı +istek gövdesi iptal edilmek yerine belirtilen azami boyutta tutulur. +
Sözdizimi:KeptBodySize azami_bayt_sayısı
Öntanımlı:KeptBodySize 0
BaÄŸlam:dizin
Durum:Temel
Modül:mod_request
+

Normal şartlar altında, durağan dosyaların öntanımlı eylemcileri gibi + istek eylemcileri gerek kalmadığında istek gövdesini iptal ederler. Sonuç + olarak, mod_include gibi süzgeçler, özgün istek (süzme işlemi + gerçekleştikten sonra artık gerekmediğinden istek gövdesini iptal eden) + bir POST isteği olsa bile, GET isteklerinin + yapılmasına sadece diğer URL’lerin alt istekler olarak içerilmesi + şartıyla izin verir.

+ +

Bu yönergede belirtilen değer sıfırdan büyük olduğunda, istek + eylemciler, istek gövdesini iptal etmek yerine süzgeçler tarafından + kullanılmak üzere belirtilen azami boyuta ayarlarlar. mod_include + süzgecinin kullanılması durumunda, bir durağan shtml dosyası için bir + POST isteği, ardından gelen isteklerin, önceki gibi + GET istekleri değil, POST istekleri olmasına + yol açacaktır.

+ +

Bu özellik, mod_include kullanılarak, karmaşık HTML + sayfalarının ve uygulamalarının küçük küçük bileşenlere bölünüp sonra da + sayfa yapısıyla birlikte sarmalanarak birleştirilmesini mümkün kılar. + Bileşenler, CGI programları veya betik dilleri biçiminde olabileceği + gibi, mod_proxy kullanarak başka bir sunucudaki URL + uzayına ters vekil URL’ler şeklinde bile olabilir.

+ +

Bilginize: İstekler tamamlanana kadar alınan istekler + geçici RAM içinde biriktirilir. Sonuç olarak, bahsi geçen yükü karşılamak + için yeterince RAM’in mevcut olması gerekir. Bu yönergeyi kullanmakla, + istek gövdesini saklamaya yetecek olası en düşük değerle bile URL + uzayınız için gereken yeri kısıtlamış olursunuz.

+ +

Eğer isteğin uzunluğu bu yönerge ile ayrılan azami uzunluğu aşarsa + sunucu yanıt olarak 413 Request Entity Too Large (413 + İstenen Öğe Çok Büyük) hatasını döndürür.

+ +

İstek gövdesini iptal etmek yerine kendi amaçları doğrultusunda bunları + biriktiren mod_cgi gibi eylemciler bu yönergeyi dikkate + almazlar.

+ + +

Ayrıca bakınız:

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_rewrite.html b/docs/manual/mod/mod_rewrite.html new file mode 100644 index 0000000..1d2ff6d --- /dev/null +++ b/docs/manual/mod/mod_rewrite.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_rewrite.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_rewrite.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_rewrite.html.en b/docs/manual/mod/mod_rewrite.html.en new file mode 100644 index 0000000..1631fe0 --- /dev/null +++ b/docs/manual/mod/mod_rewrite.html.en @@ -0,0 +1,1609 @@ + + + + + +mod_rewrite - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_rewrite

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Provides a rule-based rewriting engine to rewrite requested +URLs on the fly
Status:Extension
Module Identifier:rewrite_module
Source File:mod_rewrite.c
+

Summary

+ +

The mod_rewrite module uses a rule-based rewriting + engine, based on a PCRE regular-expression parser, to rewrite requested URLs on + the fly. By default, mod_rewrite maps a URL to a filesystem + path. However, it can also be used to redirect one URL to another URL, or + to invoke an internal proxy fetch.

+

mod_rewrite provides a flexible and powerful way to + manipulate URLs using an unlimited number of rules. Each rule can have an + unlimited number of attached rule conditions, to allow you to rewrite URL + based on server variables, environment variables, HTTP headers, or time + stamps.

+

mod_rewrite operates on the full URL path, including the + path-info section. A rewrite rule can be invoked in + httpd.conf or in .htaccess. The path generated + by a rewrite rule can include a query string, or can lead to internal + sub-processing, external request redirection, or internal proxy + throughput.

+ +

Further details, discussion, and examples, are provided in the + detailed mod_rewrite documentation.

+
+ +
top
+
+

Logging

+ +

mod_rewrite offers detailed logging of its actions + at the trace1 to trace8 log levels. The + log level can be set specifically for mod_rewrite + using the LogLevel directive: Up to + level debug, no actions are logged, while trace8 + means that practically all actions are logged.

+ +
+ Using a high trace log level for mod_rewrite + will slow down your Apache HTTP Server dramatically! Use a log + level higher than trace2 only for debugging! +
+ +

Example

LogLevel alert rewrite:trace3
+
+ +

RewriteLog

+

Those familiar with earlier versions of + mod_rewrite will no doubt be looking for the + RewriteLog and RewriteLogLevel + directives. This functionality has been completely replaced by the + new per-module logging configuration mentioned above. +

+ +

To get just the mod_rewrite-specific log + messages, pipe the log file through grep:

+

+ tail -f error_log|fgrep '[rewrite:' +

+
+ +
+
top
+

RewriteBase Directive

+ + + + + + + + +
Description:Sets the base URL for per-directory rewrites
Syntax:RewriteBase URL-path
Default:None
Context:directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_rewrite
+

The RewriteBase directive specifies the + URL prefix to be used for per-directory (htaccess) + RewriteRule directives that + substitute a relative path.

+

This directive is required when you use a relative path + in a substitution in per-directory (htaccess) context unless any + of the following conditions are true:

+
    +
  • The original request, and the substitution, are underneath the + DocumentRoot + (as opposed to reachable by other means, such as + Alias).
  • +
  • The filesystem path to the directory containing the + RewriteRule, + suffixed by the relative + substitution is also valid as a URL path on the server + (this is rare).
  • +
  • In Apache HTTP Server 2.4.16 and later, this directive may be + omitted when the request is mapped via + Alias + or mod_userdir.
  • +
+ +

In the example below, RewriteBase is necessary + to avoid rewriting to http://example.com/opt/myapp-1.2.3/welcome.html + since the resource was not relative to the document root. This + misconfiguration would normally cause the server to look for an "opt" + directory under the document root.

+
DocumentRoot "/var/www/example.com"
+AliasMatch "^/myapp" "/opt/myapp-1.2.3"
+<Directory "/opt/myapp-1.2.3">
+    RewriteEngine On
+    RewriteBase "/myapp/"
+    RewriteRule "^index\.html$"  "welcome.html"
+</Directory>
+ + + +
+
top
+

RewriteCond Directive

+ + + + + + + +
Description:Defines a condition under which rewriting will take place +
Syntax: RewriteCond + TestString CondPattern [flags]
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_rewrite
+

The RewriteCond directive defines a + rule condition. One or more RewriteCond + can precede a RewriteRule + directive. The following rule is then only used if both + the current state of the URI matches its pattern, and if these conditions are met.

+ +

TestString is a string which can contain the + following expanded constructs in addition to plain text:

+ +
    +
  • + RewriteRule backreferences: These are + backreferences of the form $N + (0 <= N <= 9). $1 to $9 provide access to the grouped + parts (in parentheses) of the pattern, from the + RewriteRule which is subject to the current + set of RewriteCond conditions. $0 provides + access to the whole string matched by that pattern. +
  • +
  • + RewriteCond backreferences: These are + backreferences of the form %N + (0 <= N <= 9). %1 to %9 provide access to the grouped + parts (again, in parentheses) of the pattern, from the last matched + RewriteCond in the current set + of conditions. %0 provides access to the whole string matched by + that pattern. +
  • +
  • + RewriteMap expansions: These are + expansions of the form ${mapname:key|default}. + See the documentation for + RewriteMap for more details. +
  • +
  • + Server-Variables: These are variables of + the form + %{ NAME_OF_VARIABLE + } + where NAME_OF_VARIABLE can be a string taken + from the following list: + + + + + + + + + + + + + + + + + + + + + + + + +
    HTTP headers: connection & request: +
    + HTTP_ACCEPT
    + HTTP_COOKIE
    + HTTP_FORWARDED
    + HTTP_HOST
    + HTTP_PROXY_CONNECTION
    + HTTP_REFERER
    + HTTP_USER_AGENT
    +
    + AUTH_TYPE
    + CONN_REMOTE_ADDR
    + CONTEXT_PREFIX
    + CONTEXT_DOCUMENT_ROOT
    + IPV6
    + PATH_INFO
    + QUERY_STRING
    + REMOTE_ADDR
    + REMOTE_HOST
    + REMOTE_IDENT
    + REMOTE_PORT
    + REMOTE_USER
    + REQUEST_METHOD
    + SCRIPT_FILENAME
    +
    +
    server internals: date and time: specials:
    + DOCUMENT_ROOT
    + SCRIPT_GROUP
    + SCRIPT_USER
    + SERVER_ADDR
    + SERVER_ADMIN
    + SERVER_NAME
    + SERVER_PORT
    + SERVER_PROTOCOL
    + SERVER_SOFTWARE
    +
    + TIME_YEAR
    + TIME_MON
    + TIME_DAY
    + TIME_HOUR
    + TIME_MIN
    + TIME_SEC
    + TIME_WDAY
    + TIME
    +
    + API_VERSION
    + CONN_REMOTE_ADDR
    + HTTPS
    + IS_SUBREQ
    + REMOTE_ADDR
    + REQUEST_FILENAME
    + REQUEST_SCHEME
    + REQUEST_URI
    + THE_REQUEST
    +
    + +

    These variables all + correspond to the similarly named HTTP + MIME-headers, C variables of the Apache HTTP Server or + struct tm fields of the Unix system. + Most are documented here + or elsewhere in the Manual or in the CGI specification.

    + +

    SERVER_NAME and SERVER_PORT depend on the values of + UseCanonicalName and + UseCanonicalPhysicalPort + respectively.

    + +

    Those that are special to mod_rewrite include those below.

    +
    +
    API_VERSION
    + +
    This is the version of the Apache httpd module API + (the internal interface between server and + module) in the current httpd build, as defined in + include/ap_mmn.h. The module API version + corresponds to the version of Apache httpd in use (in + the release version of Apache httpd 1.3.14, for + instance, it is 19990320:10), but is mainly of + interest to module authors.
    + +
    CONN_REMOTE_ADDR
    + +
    Since 2.4.8: The peer IP address of the connection (see the + mod_remoteip module).
    + +
    HTTPS
    + +
    Will contain the text "on" if the connection is + using SSL/TLS, or "off" otherwise. (This variable + can be safely used regardless of whether or not + mod_ssl is loaded).
    + +
    IS_SUBREQ
    + +
    Will contain the text "true" if the request + currently being processed is a sub-request, + "false" otherwise. Sub-requests may be generated + by modules that need to resolve additional files + or URIs in order to complete their tasks.
    + +
    REMOTE_ADDR
    + +
    The IP address of the remote host (see the + mod_remoteip module).
    + +
    REQUEST_FILENAME
    + +
    The full local filesystem path to the file or + script matching the request, if this has already + been determined by the server at the time + REQUEST_FILENAME is referenced. Otherwise, + such as when used in virtual host context, the same + value as REQUEST_URI. Depending on the value of + AcceptPathInfo, the + server may have only used some leading components of the + REQUEST_URI to map the request to a file. +
    + +
    REQUEST_SCHEME
    + +
    Will contain the scheme of the request (usually + "http" or "https"). This value can be influenced with + ServerName.
    + +
    REQUEST_URI
    + +
    The path component of the requested URI, + such as "/index.html". This notably excludes the + query string which is available as its own variable + named QUERY_STRING.
    + +
    THE_REQUEST
    + +
    The full HTTP request line sent by the + browser to the server (e.g., "GET + /index.html HTTP/1.1"). This does not + include any additional headers sent by the + browser. This value has not been unescaped + (decoded), unlike most other variables below.
    + +
    +
  • +
+ +

If the TestString has the special value expr, + the CondPattern will be treated as an + ap_expr. HTTP headers referenced in the + expression will be added to the Vary header if the novary + flag is not given.

+ +

Other things you should be aware of:

+ +
    +
  1. +

    The variables SCRIPT_FILENAME and REQUEST_FILENAME + contain the same value - the value of the + filename field of the internal + request_rec structure of the Apache HTTP Server. + The first name is the commonly known CGI variable name + while the second is the appropriate counterpart of + REQUEST_URI (which contains the value of the + uri field of request_rec).

    +

    If a substitution occurred and the rewriting continues, + the value of both variables will be updated accordingly.

    +

    If used in per-server context (i.e., before the + request is mapped to the filesystem) SCRIPT_FILENAME and + REQUEST_FILENAME cannot contain the full local filesystem + path since the path is unknown at this stage of processing. + Both variables will initially contain the value of REQUEST_URI + in that case. In order to obtain the full local filesystem + path of the request in per-server context, use an URL-based + look-ahead %{LA-U:REQUEST_FILENAME} to determine + the final value of REQUEST_FILENAME.

  2. + +
  3. + %{ENV:variable}, where variable can be + any environment variable, is also available. + This is looked-up via internal + Apache httpd structures and (if not found there) via + getenv() from the Apache httpd server process.
  4. + +
  5. + %{SSL:variable}, where variable is the + name of an SSL environment + variable, can be used whether or not + mod_ssl is loaded, but will always expand to + the empty string if it is not. Example: + %{SSL:SSL_CIPHER_USEKEYSIZE} may expand to + 128. These variables are available even without + setting the StdEnvVars option of the + SSLOptions directive.
  6. + +
  7. + %{HTTP:header}, where header can be + any HTTP MIME-header name, can always be used to obtain the + value of a header sent in the HTTP request. + Example: %{HTTP:Proxy-Connection} is + the value of the HTTP header + ``Proxy-Connection:''. +

    If a HTTP header is used in a condition this header is added to + the Vary header of the response in case the condition evaluates + to true for the request. It is not added if the + condition evaluates to false for the request. Adding the HTTP header + to the Vary header of the response is needed for proper caching.

    +

    It has to be kept in mind that conditions follow a short circuit + logic in the case of the 'ornext|OR' flag + so that certain conditions might not be evaluated at all.

  8. + +
  9. + %{LA-U:variable} + can be used for look-aheads which perform + an internal (URL-based) sub-request to determine the final + value of variable. This can be used to access + variable for rewriting which is not available at the current + stage, but will be set in a later phase. +

    For instance, to rewrite according to the + REMOTE_USER variable from within the + per-server context (httpd.conf file) you must + use %{LA-U:REMOTE_USER} - this + variable is set by the authorization phases, which come + after the URL translation phase (during which + mod_rewrite operates).

    +

    On the other hand, because mod_rewrite implements + its per-directory context (.htaccess file) via + the Fixup phase of the API and because the authorization + phases come before this phase, you just can use + %{REMOTE_USER} in that context.

  10. + +
  11. + %{LA-F:variable} can be used to perform an internal + (filename-based) sub-request, to determine the final value + of variable. Most of the time, this is the same as + LA-U above.
  12. +
+ +

CondPattern is the condition pattern, + a regular expression which is applied to the + current instance of the TestString. + TestString is first evaluated, before being matched against + CondPattern.

+ +

CondPattern is usually a + perl compatible regular expression, but there is + additional syntax available to perform other useful tests against + the Teststring:

+ +
    +
  1. You can prefix the pattern string with a + '!' character (exclamation mark) to negate the result + of the condition, no matter what kind of CondPattern is used. +
  2. + +
  3. + You can perform lexicographical string comparisons: + +
    +
    <CondPattern
    +
    Lexicographically precedes
    + Treats the CondPattern as a plain string and + compares it lexicographically to TestString. True if + TestString lexicographically precedes + CondPattern.
    + +
    >CondPattern
    +
    Lexicographically follows
    + Treats the CondPattern as a plain string and + compares it lexicographically to TestString. True if + TestString lexicographically follows + CondPattern.
    + +
    =CondPattern
    +
    Lexicographically equal
    + Treats the CondPattern as a plain string and + compares it lexicographically to TestString. True if + TestString is lexicographically equal to + CondPattern (the two strings are exactly + equal, character for character). If CondPattern + is "" (two quotation marks) this + compares TestString to the empty string.
    + +
    <=CondPattern
    +
    Lexicographically less than or equal to
    + Treats the CondPattern as a plain string and + compares it lexicographically to TestString. True + if TestString lexicographically precedes + CondPattern, or is equal to CondPattern + (the two strings are equal, character for character).
    + +
    >=CondPattern
    +
    Lexicographically greater than or equal to
    + Treats the CondPattern as a plain string and + compares it lexicographically to TestString. True + if TestString lexicographically follows + CondPattern, or is equal to CondPattern + (the two strings are equal, character for character).
    +
    +

    Note

    + The string comparison operator is part of the CondPattern + argument and must be included in the quotes if those are used. Eg. + +
    RewriteCond %{HTTP_USER_AGENT} "=This Robot/1.0"
    + +
    + +
  4. + +
  5. + You can perform integer comparisons: +
    + +
    -eq
    +
    Is numerically equal to
    + The TestString is treated as an integer, and is + numerically compared to the CondPattern. True if + the two are numerically equal.
    + +
    -ge
    +
    Is numerically greater than or equal to
    + The TestString is treated as an integer, and is + numerically compared to the CondPattern. True if + the TestString is numerically greater than or equal + to the CondPattern.
    + +
    -gt
    +
    Is numerically greater than
    + The TestString is treated as an integer, and is + numerically compared to the CondPattern. True if + the TestString is numerically greater than + the CondPattern.
    + +
    -le
    +
    Is numerically less than or equal to
    + The TestString is treated as an integer, and is + numerically compared to the CondPattern. True if + the TestString is numerically less than or equal + to the CondPattern. Avoid confusion with the + -l by using the -L or + -h variant.
    + +
    -lt
    +
    Is numerically less than
    + The TestString is treated as an integer, and is + numerically compared to the CondPattern. True if + the TestString is numerically less than + the CondPattern. Avoid confusion with the + -l by using the -L or + -h variant.
    + +
    -ne
    +
    Is numerically not equal to
    + The TestString is treated as an integer, and is + numerically compared to the CondPattern. True if + the two are numerically different. This is equivalent to + !-eq.
    + +
    +
  6. + +
  7. You can perform various file attribute tests: + + +
    + +
    -d
    + +
    Is directory.
    + Treats the TestString as a pathname and tests + whether or not it exists, and is a directory. +
    + +
    -f
    + +
    Is regular file.
    + + Treats the TestString as a pathname and tests + whether or not it exists, and is a regular file. +
    + +
    -F
    + +
    Is existing file, via subrequest.
    + Checks whether or not TestString is a valid file, + accessible via all the server's currently-configured + access controls for that path. This uses an internal + subrequest to do the check, so use it with care - + it can impact your server's performance! +
    + +
    -h
    +
    Is symbolic link, bash convention.
    + See -l. +
    + +
    -l
    + +
    Is symbolic link.
    + Treats the TestString as a pathname and tests + whether or not it exists, and is a symbolic link. May also + use the bash convention of -L or + -h if there's a possibility of confusion + such as when using the -lt or + -le tests. +
    + +
    -L
    +
    Is symbolic link, bash convention.
    + See -l.
    + +
    -s
    +
    Is regular file, with size.
    + Treats the TestString as a pathname and tests + whether or not it exists, and is a regular file with size greater + than zero.
    + +
    -U
    +

    Is existing URL, via subrequest.
    + Checks whether or not TestString is a valid URL, + accessible via all the server's currently-configured + access controls for that path. This uses an internal + subrequest to do the check, so use it with care - + it can impact your server's performance!

    +

    This flag only returns information about things + like access control, authentication, and authorization. This flag + does not return information about the status code the + configured handler (static file, CGI, proxy, etc.) would have + returned.

    + +
    -x
    +
    Has executable permissions.
    + Treats the TestString as a pathname and tests + whether or not it exists, and has executable permissions. + These permissions are determined according to + the underlying OS.
    + +
    + + For example: + +
    RewriteCond /var/www/%{REQUEST_URI} !-f
    +RewriteRule ^(.+) /other/archive/$1 [R]
    + + +
  8. + +
  9. +

    If the TestString has the special value expr, the + CondPattern will be treated as an + ap_expr.

    + +

    + In the below example, -strmatch is used to + compare the REFERER against the site hostname, + to block unwanted hotlinking. +

    + +
    RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
    +RewriteRule "^/images" "-" [F]
    + +
  10. +
+ +

You can also set special flags for CondPattern by appending + [flags] + as the third argument to the RewriteCond + directive, where flags is a comma-separated list of any of the + following flags:

+ +
    +
  • 'nocase|NC' + (no case)
    + This makes the test case-insensitive - differences + between 'A-Z' and 'a-z' are ignored, both in the + expanded TestString and the CondPattern. + This flag is effective only for comparisons between + TestString and CondPattern. It has no + effect on filesystem and subrequest checks.
  • + +
  • + 'ornext|OR' + (or next condition)
    + Use this to combine rule conditions with a local OR + instead of the implicit AND. Typical example: + +
    RewriteCond "%{REMOTE_HOST}"  "^host1"  [OR]
    +RewriteCond "%{REMOTE_HOST}"  "^host2"  [OR]
    +RewriteCond "%{REMOTE_HOST}"  "^host3"
    +RewriteRule ...some special stuff for any of these hosts...
    + + + Without this flag you would have to write the condition/rule + pair three times. +
  • + +
  • 'novary|NV' + (no vary)
    + If a HTTP header is used in the condition, this flag prevents + this header from being added to the Vary header of the response.
    + Using this flag might break proper caching of the response if + the representation of this response varies on the value of this header. + So this flag should be only used if the meaning of the Vary header + is well understood. +
  • +
+ +

Example:

+ +

To rewrite the Homepage of a site according to the + ``User-Agent:'' header of the request, you can + use the following:

+ +
RewriteCond  "%{HTTP_USER_AGENT}"  "(iPhone|Blackberry|Android)"
+RewriteRule  "^/$"                 "/homepage.mobile.html"  [L]
+
+RewriteRule  "^/$"                 "/homepage.std.html"     [L]
+ + +

Explanation: If you use a browser which identifies itself + as a mobile browser (note that the example is incomplete, as + there are many other mobile platforms), the mobile version of + the homepage is served. Otherwise, the standard page is served. +

+ +

By default, multiple RewriteConds + are evaluated in sequence with an implied logical AND. + If a condition fails, in the absence of an + OR flag, the entire ruleset is abandoned, + and further conditions are not evaluated. +

+ + +
+
top
+

RewriteEngine Directive

+ + + + + + + + +
Description:Enables or disables runtime rewriting engine
Syntax:RewriteEngine on|off
Default:RewriteEngine off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_rewrite
+ +

The RewriteEngine directive enables or + disables the runtime rewriting engine. If it is set to + off this module does no runtime processing at + all. It does not even update the SCRIPT_URx + environment variables.

+ +

Use this directive to disable rules in a particular context, + rather than commenting out all the RewriteRule directives.

+ +

Note that rewrite configurations are not + inherited by virtual hosts. This means that you need to have a + RewriteEngine on directive for each virtual host + in which you wish to use rewrite rules.

+ +

RewriteMap directives + of the type prg + are not started during server initialization if they're defined in a + context that does not have RewriteEngine set to + on

+ +
+
top
+

RewriteMap Directive

+ + + + + + + +
Description:Defines a mapping function for key-lookup
Syntax:RewriteMap MapName MapType:MapSource + [MapTypeOptions] +
Context:server config, virtual host
Status:Extension
Module:mod_rewrite
Compatibility:The 3rd parameter, MapTypeOptions, in only available from Apache +2.4.29 and later
+

The RewriteMap directive defines a + Rewriting Map which can be used inside rule + substitution strings by the mapping-functions to + insert/substitute fields through a key lookup. The source of + this lookup can be of various types.

+ +

The MapName is + the name of the map and will be used to specify a + mapping-function for the substitution strings of a rewriting + rule via one of the following constructs:

+ +

+ ${ MapName : + LookupKey }
+ ${ MapName : + LookupKey | DefaultValue + }
+

+ +

When such a construct occurs, the map MapName is + consulted and the key LookupKey is looked-up. If the + key is found, the map-function construct is substituted by + SubstValue. If the key is not found then it is + substituted by DefaultValue or by the empty string + if no DefaultValue was specified. Empty values + behave as if the key was absent, therefore it is not possible + to distinguish between empty-valued keys and absent keys.

+ +

For example, you might define a + RewriteMap as:

+ +
RewriteMap examplemap "txt:/path/to/file/map.txt"
+ + +

You would then be able to use this map in a + RewriteRule as follows:

+ +
RewriteRule "^/ex/(.*)" "${examplemap:$1}"
+ + +

The meaning of the MapTypeOptions argument depends on + particular MapType. See the + Using RewriteMap for + more information.

+ +

The following combinations for MapType and + MapSource can be used:

+ +
+ +
txt
+
A plain text file containing space-separated key-value + pairs, one per line. (Details ...)
+ +
rnd
+
Randomly selects an entry from a plain text file (Details ...)
+ +
dbm
+
Looks up an entry in a dbm file containing name, value + pairs. Hash is constructed from a plain text file format using + the httxt2dbm + utility. (Details ...)
+ +
int
+
One of the four available internal functions provided by + RewriteMap: toupper, tolower, escape or + unescape. (Details ...)
+ +
prg
+
Calls an external program or script to process the + rewriting. (Details ...)
+ +
dbd or fastdbd
+
A SQL SELECT statement to be performed to look up the + rewrite target. (Details ...)
+
+ +

Further details, and numerous examples, may be found in the RewriteMap HowTo

+ + +
+
top
+

RewriteOptions Directive

+ + + + + + + +
Description:Sets some special options for the rewrite engine
Syntax:RewriteOptions Options
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_rewrite
+ +

The RewriteOptions directive sets some + special options for the current per-server or per-directory + configuration. The Option string can currently + only be one of the following:

+ +
+
Inherit
+
+ +

This forces the current configuration to inherit the + configuration of the parent. In per-virtual-server context, + this means that the maps, conditions and rules of the main + server are inherited. In per-directory context this means + that conditions and rules of the parent directory's + .htaccess configuration or + <Directory> + sections are inherited. The inherited rules are virtually copied + to the section where this directive is being used. If used in + combination with local rules, the inherited rules are copied behind + the local rules. The position of this directive - below or above + of local rules - has no influence on this behavior. If local + rules forced the rewriting to stop, the inherited rules won't + be processed.

+ +
+ Rules inherited from the parent scope are applied + after rules specified in the child scope. +
+
+ +
InheritBefore
+
+

Like Inherit above, but the rules from the parent scope + are applied before rules specified in the child scope.
+ Available in Apache HTTP Server 2.3.10 and later.

+
+ +
InheritDown
+
+ +

If this option is enabled, all child configurations will inherit + the configuration of the current configuration. It is equivalent to + specifying RewriteOptions Inherit in all child + configurations. See the Inherit option for more details + on how the parent-child relationships are handled.
+ Available in Apache HTTP Server 2.4.8 and later.

+
+ +
InheritDownBefore
+
+ +

Like InheritDown above, but the rules from the current + scope are applied before rules specified in any child's + scope.
+ Available in Apache HTTP Server 2.4.8 and later.

+
+ +
IgnoreInherit
+
+ +

This option forces the current and child configurations to ignore + all rules that would be inherited from a parent specifying + InheritDown or InheritDownBefore.
+ Available in Apache HTTP Server 2.4.8 and later.

+
+ +
AllowNoSlash
+
+

By default, mod_rewrite will ignore URLs that map to a + directory on disk but lack a trailing slash, in the expectation that + the mod_dir module will issue the client with a redirect to + the canonical URL with a trailing slash.

+ +

When the DirectorySlash directive + is set to off, the AllowNoSlash option can be enabled to ensure + that rewrite rules are no longer ignored. This option makes it possible to + apply rewrite rules within .htaccess files that match the directory without + a trailing slash, if so desired.
+ Available in Apache HTTP Server 2.4.0 and later.

+
+ +
AllowAnyURI
+
+ +

When RewriteRule + is used in VirtualHost or server context with + version 2.2.22 or later of httpd, mod_rewrite + will only process the rewrite rules if the request URI is a URL-path. This avoids + some security issues where particular rules could allow + "surprising" pattern expansions (see CVE-2011-3368 + and CVE-2011-4317). + To lift the restriction on matching a URL-path, the + AllowAnyURI option can be enabled, and + mod_rewrite will apply the rule set to any + request URI string, regardless of whether that string matches + the URL-path grammar required by the HTTP specification.
+ Available in Apache HTTP Server 2.4.3 and later.

+ +
+

Security Warning

+ +

Enabling this option will make the server vulnerable to + security issues if used with rewrite rules which are not + carefully authored. It is strongly recommended + that this option is not used. In particular, beware of input + strings containing the '@' character which could + change the interpretation of the transformed URI, as per the + above CVE names.

+
+
+ +
MergeBase
+
+ +

With this option, the value of RewriteBase is copied from where it's explicitly defined + into any sub-directory or sub-location that doesn't define its own + RewriteBase. This was the + default behavior in 2.4.0 through 2.4.3, and the flag to restore it is + available Apache HTTP Server 2.4.4 and later.

+
+ +
IgnoreContextInfo
+
+ +

When a relative substitution is made + in directory (htaccess) context and RewriteBase has not been set, this module uses some + extended URL and filesystem context information to change the + relative substitution back into a URL. Modules such as + mod_userdir and mod_alias + supply this extended context info. Available in 2.4.16 and later.

+
+ + +
LegacyPrefixDocRoot
+
+ +

Prior to 2.4.26, if a substitution was an absolute URL that matched + the current virtual host, the URL might first be reduced to a URL-path + and then later reduced to a local path. Since the URL can be reduced + to a local path, the path should be prefixed with the document root. + This prevents a file such as /tmp/myfile from being accessed when a + request is made to http://host/file/myfile with the following + RewriteRule.

+
RewriteRule /file/(.*) http://localhost/tmp/$1
+ +

This option allows the old behavior to be used where the document + root is not prefixed to a local path that was reduced from a + URL. Available in 2.4.26 and later.

+
+ +
+ +
+
top
+

RewriteRule Directive

+ + + + + + + +
Description:Defines rules for the rewriting engine
Syntax:RewriteRule + Pattern Substitution [flags]
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_rewrite
+

The RewriteRule directive is the real + rewriting workhorse. The directive can occur more than once, + with each instance defining a single rewrite rule. The + order in which these rules are defined is important - this is the order + in which they will be applied at run-time.

+ +

Pattern is + a perl compatible regular + expression. What this pattern is compared against varies depending + on where the RewriteRule directive is defined.

+ +

What is matched?

+ +
    +
  • In VirtualHost context, + The Pattern will initially be matched against the part of the + URL after the hostname and port, and before the query string (e.g. "/app1/index.html"). + This is the (%-decoded) URL-path.

  • + +
  • In per-directory context (Directory and .htaccess), + the Pattern is matched against only a partial path, for example a request + of "/app1/index.html" may result in comparison against "app1/index.html" + or "index.html" depending on where the RewriteRule is + defined.

    + +

    The directory path where the rule is defined is stripped from the currently mapped + filesystem path before comparison (up to and including a trailing slash). + The net result of this per-directory prefix stripping is that rules in + this context only match against the portion of the currently mapped filesystem path + "below" where the rule is defined.

    + +

    Directives such as DocumentRoot and Alias, or even the + result of previous RewriteRule substitutions, determine + the currently mapped filesystem path. +

    +
  • + +
  • If you wish to match against the hostname, port, or query string, use a + RewriteCond with the + %{HTTP_HOST}, %{SERVER_PORT}, or + %{QUERY_STRING} variables respectively.

  • +
+
+ +

Per-directory Rewrites

+
    +
  • The rewrite engine may be used in .htaccess files and in <Directory> sections, with some additional +complexity.
  • + +
  • To enable the rewrite engine in this context, you need to set +"RewriteEngine On" and +"Options FollowSymLinks" must be enabled. If your +administrator has disabled override of FollowSymLinks for +a user's directory, then you cannot use the rewrite engine. This +restriction is required for security reasons.
  • + +
  • See the RewriteBase +directive for more information regarding what prefix will be added back to +relative substitutions.
  • + +
  • If you wish to match against the full URL-path in a per-directory +(htaccess) RewriteRule, use the %{REQUEST_URI} variable in +a RewriteCond.
  • + +
  • The removed prefix always ends with a slash, meaning the matching occurs against a string which +never has a leading slash. Therefore, a Pattern with ^/ never +matches in per-directory context.
  • + +
  • Although rewrite rules are syntactically permitted in <Location> and <Files> sections +(including their regular expression counterparts), this +should never be necessary and is unsupported. A likely feature +to break in these contexts is relative substitutions.
  • + +
  • The If blocks +follow the rules of the directory context.
  • + +
  • By default, mod_rewrite overrides rules when +merging sections belonging to the same context. The RewriteOptions directive can change this behavior, +for example using the Inherit setting.
  • + +
  • The RewriteOptions also regulates the +behavior of sections that are stated at the same nesting level of the configuration. In the +following example, by default only the RewriteRules stated in the second +If block +are considered, since the first ones are overridden. Using RewriteOptions Inherit forces mod_rewrite to merge the two +sections and consider both set of statements, rather than only the last one.
  • +
+
<If "true">
+  # Without RewriteOptions Inherit, this rule is overridden by the next
+  # section and no redirect will happen for URIs containing 'foo'
+  RewriteRule foo http://example.com/foo [R]
+</If>
+<If "true">
+  RewriteRule bar http://example.com/bar [R]
+</If>
+
+
+ +

For some hints on regular + expressions, see + the mod_rewrite + Introduction.

+ +

In mod_rewrite, the NOT character + ('!') is also available as a possible pattern + prefix. This enables you to negate a pattern; to say, for instance: + ``if the current URL does NOT match this + pattern''. This can be used for exceptional cases, where + it is easier to match the negative pattern, or as a last + default rule.

+ +

Note

+When using the NOT character to negate a pattern, you cannot include +grouped wildcard parts in that pattern. This is because, when the +pattern does NOT match (ie, the negation matches), there are no +contents for the groups. Thus, if negated patterns are used, you +cannot use $N in the substitution string! +
+ +

The Substitution of a + rewrite rule is the string that replaces the original URL-path that + was matched by Pattern. The Substitution may + be a:

+ +
+ +
file-system path
+ +
Designates the location on the file-system of the resource + to be delivered to the client. Substitutions are only + treated as a file-system path when the rule is configured in + server (virtualhost) context and the first component of the + path in the substitution exists in the file-system
+ +
URL-path
+ +
A DocumentRoot-relative path to the + resource to be served. Note that mod_rewrite + tries to guess whether you have specified a file-system path + or a URL-path by checking to see if the first segment of the + path exists at the root of the file-system. For example, if + you specify a Substitution string of + /www/file.html, then this will be treated as a + URL-path unless a directory named www + exists at the root or your file-system (or, in the case of + using rewrites in a .htaccess file, relative to + your document root), in which case it will + be treated as a file-system path. If you wish other + URL-mapping directives (such as Alias) to be applied to the + resulting URL-path, use the [PT] flag as + described below.
+ +
Absolute URL
+ +

If an absolute URL is specified, + mod_rewrite checks to see whether the + hostname matches the current host. If it does, the scheme and + hostname are stripped out and the resulting path is treated as + a URL-path. Otherwise, an external redirect is performed for + the given URL. To force an external redirect back to the + current host, see the [R] flag below.

+

Note that a redirect (implicit or not) using an absolute URI + will include the requested query-string, to prevent this see the + [QSD] flag below.

+ +
- (dash)
+ +
A dash indicates that no substitution should be performed + (the existing path is passed through untouched). This is used + when a flag (see below) needs to be applied without changing + the path.
+ +
+ +

In addition to plain text, the Substitution string can include

+ +
    +
  1. back-references ($N) to the RewriteRule + pattern
  2. + +
  3. back-references (%N) to the last matched + RewriteCond pattern
  4. + +
  5. server-variables as in rule condition test-strings + (%{VARNAME})
  6. + +
  7. mapping-function calls + (${mapname:key|default})
  8. +
+ +

Back-references are identifiers of the form + $N + (N=0..9), which will be replaced + by the contents of the Nth group of the + matched Pattern. The server-variables are the same + as for the TestString of a + RewriteCond + directive. The mapping-functions come from the + RewriteMap + directive and are explained there. + These three types of variables are expanded in the order above.

+ +

Rewrite rules are applied to the results of previous rewrite + rules, in the order in which they are defined + in the config file. The URL-path or file-system path (see "What is matched?", above) is completely + replaced by the Substitution and the + rewriting process continues until all rules have been applied, + or it is explicitly terminated by an + L flag, + or other flag which implies immediate termination, such as + END or + F.

+ +

Modifying the Query String

+

By default, the query string is passed through unchanged. You + can, however, create URLs in the substitution string containing + a query string part. Simply use a question mark inside the + substitution string to indicate that the following text should + be re-injected into the query string. When you want to erase an + existing query string, end the substitution string with just a + question mark. To combine new and old query strings, use the + [QSA] flag.

+
+ +

Additionally you can set special actions to be performed by + appending [flags] + as the third argument to the RewriteRule + directive. Flags is a comma-separated list, surround by square + brackets, of any of the flags in the following table. More + details, and examples, for each flag, are available in the Rewrite Flags document.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Flag and syntaxFunction
BEscape non-alphanumeric characters in backreferences before + applying the transformation. details ...
backrefnoplus|BNPIf backreferences are being escaped, spaces should be escaped to + %20 instead of +. Useful when the backreference will be used in the + path component rather than the query string.details ...
chain|CRule is chained to the following rule. If the rule fails, + the rule(s) chained to it will be skipped. details ...
cookie|CO=NAME:VALSets a cookie in the client browser. Full syntax is: + CO=NAME:VAL:domain[:lifetime[:path[:secure[:httponly[samesite]]]]] details ... +
discardpath|DPICauses the PATH_INFO portion of the rewritten URI to be + discarded. details + ...
ENDStop the rewriting process immediately and don't apply any + more rules. Also prevents further execution of rewrite rules + in per-directory and .htaccess context. (Available in 2.3.9 and later) + details ...
env|E=[!]VAR[:VAL]Causes an environment variable VAR to be set (to the + value VAL if provided). The form !VAR causes + the environment variable VAR to be unset. + details ...
forbidden|FReturns a 403 FORBIDDEN response to the client browser. + details ...
gone|GReturns a 410 GONE response to the client browser. details ...
Handler|H=Content-handlerCauses the resulting URI to be sent to the specified + Content-handler for processing. details ...
last|LStop the rewriting process immediately and don't apply any + more rules. Especially note caveats for per-directory and + .htaccess context (see also the END flag). details ...
next|NRe-run the rewriting process, starting again with the first + rule, using the result of the ruleset so far as a starting + point. details + ...
nocase|NCMakes the pattern comparison case-insensitive. + details ...
noescape|NEPrevent mod_rewrite from applying hexcode escaping of + special characters in the result of rewrites that result in + redirection. + details ...
nosubreq|NSCauses a rule to be skipped if the current request is an + internal sub-request. details ...
proxy|PForce the substitution URL to be internally sent as a proxy + request. details + ...
passthrough|PTForces the resulting URI to be passed back to the URL + mapping engine for processing of other URI-to-filename + translators, such as Alias or + Redirect. details ...
qsappend|QSAAppends any query string from the original request URL to + any query string created in the rewrite target.details ...
qsdiscard|QSDDiscard any query string attached to the incoming URI. + details + ...
qslast|QSLInterpret the last (right-most) question mark as the query string + delimiter, instead of the first (left-most) as normally used. + Available in 2.4.19 and later. + details + ...
redirect|R[=code]Forces an external redirect, optionally with the specified + HTTP status code. details ... +
skip|S=numTells the rewriting engine to skip the next num + rules if the current rule matches. details ...
type|T=MIME-typeForce the MIME-type of the target file + to be the specified type. details ...
+ +

Home directory expansion

+

When the substitution string begins with a string +resembling "/~user" (via explicit text or backreferences), mod_rewrite performs +home directory expansion independent of the presence or configuration +of mod_userdir.

+ +

This expansion does not occur when the PT +flag is used on the RewriteRule +directive.

+
+ + +

Here are all possible substitution combinations and their + meanings:

+ +

Inside per-server configuration + (httpd.conf)
+ for request ``GET + /somepath/pathinfo'':

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Given RuleResulting Substitution
^/somepath(.*) otherpath$1invalid, not supported
^/somepath(.*) otherpath$1 [R]invalid, not supported
^/somepath(.*) otherpath$1 [P]invalid, not supported
^/somepath(.*) /otherpath$1/otherpath/pathinfo
^/somepath(.*) /otherpath$1 [R]http://thishost/otherpath/pathinfo via external redirection
^/somepath(.*) /otherpath$1 [P]doesn't make sense, not supported
^/somepath(.*) http://thishost/otherpath$1/otherpath/pathinfo
^/somepath(.*) http://thishost/otherpath$1 [R]http://thishost/otherpath/pathinfo via external redirection
^/somepath(.*) http://thishost/otherpath$1 [P]doesn't make sense, not supported
^/somepath(.*) http://otherhost/otherpath$1http://otherhost/otherpath/pathinfo via external redirection
^/somepath(.*) http://otherhost/otherpath$1 [R]http://otherhost/otherpath/pathinfo via external redirection (the [R] flag is redundant)
^/somepath(.*) http://otherhost/otherpath$1 [P]http://otherhost/otherpath/pathinfo via internal proxy
+ +

Inside per-directory configuration for + /somepath
+ (/physical/path/to/somepath/.htaccess, with + RewriteBase "/somepath")
+ for request ``GET + /somepath/localpath/pathinfo'':

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Given RuleResulting Substitution
^localpath(.*) otherpath$1/somepath/otherpath/pathinfo
^localpath(.*) otherpath$1 [R]http://thishost/somepath/otherpath/pathinfo via external +redirection
^localpath(.*) otherpath$1 [P]doesn't make sense, not supported
^localpath(.*) /otherpath$1/otherpath/pathinfo
^localpath(.*) /otherpath$1 [R]http://thishost/otherpath/pathinfo via external redirection
^localpath(.*) /otherpath$1 [P]doesn't make sense, not supported
^localpath(.*) http://thishost/otherpath$1/otherpath/pathinfo
^localpath(.*) http://thishost/otherpath$1 [R]http://thishost/otherpath/pathinfo via external redirection
^localpath(.*) http://thishost/otherpath$1 [P]doesn't make sense, not supported
^localpath(.*) http://otherhost/otherpath$1http://otherhost/otherpath/pathinfo via external redirection
^localpath(.*) http://otherhost/otherpath$1 [R]http://otherhost/otherpath/pathinfo via external redirection (the [R] flag is redundant)
^localpath(.*) http://otherhost/otherpath$1 [P]http://otherhost/otherpath/pathinfo via internal proxy
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_rewrite.html.fr.utf8 b/docs/manual/mod/mod_rewrite.html.fr.utf8 new file mode 100644 index 0000000..fcb0752 --- /dev/null +++ b/docs/manual/mod/mod_rewrite.html.fr.utf8 @@ -0,0 +1,1720 @@ + + + + + +mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Ce module fournit un moteur de réécriture à base de +règles permettant de réécrire les URLs des requêtes +à la volée
Statut:Extension
Identificateur de Module:rewrite_module
Fichier Source:mod_rewrite.c
+

Sommaire

+ +

Le module mod_rewrite utilise un moteur de + réécriture à base de règles, basé sur un interpréteur + d'expressions rationnelles PCRE, pour réécrire les URLs à la volée. Par + défaut, mod_rewrite met en correspondance une URL + avec le système de fichiers. Cependant, on peut aussi l'utiliser + pour rediriger une URL vers une autre URL, ou pour invoquer une + requête interne à destination du mandataire.

+

mod_rewrite fournit une méthode souple et + puissante pour manipuler les URLs en utilisant un nombre illimité + de règles. Chaque règle peut être associée à un nombre illimité de + conditions, afin de vous permettre de réécrire les URLs en + fonction de variables du serveur, de variables d'environnement, + d'en-têtes HTTP, ou de repères temporels.

+

mod_rewrite agit sur la totalité de l'URL, y + compris la partie chemin. Une règle de réécriture peut être + invoquée dans httpd.conf ou dans un fichier + .htaccess. Le chemin généré par une règle de + réécriture peut inclure une chaîne de paramètres, ou peut renvoyer + vers un traitement secondaire interne, une redirection vers une + requête externe ou vers le mandataire interne.

+ +

Vous trouverez d'avantage de détails, discussions et exemples + dans la + documentation détaillée + sur mod_rewrite.

+
+ +
top
+
+

Journalisation

+ +

mod_rewrite offre une journalisation détaillée + de ses actions aux niveaux de journalisation trace1 à + trace8. Le niveau de journalisation peut être défini de + manière spécifique à mod_rewrite via la directive + LogLevel : jusqu'au niveau + debug aucune action n'est journalisée, alors qu'elles + le sont pratiquement toutes au niveau trace8.

+ +
+ L'utilisation d'un niveau de journalisation élevé pour + mod_rewrite va ralentir votre serveur HTTP Apache + de manière dramatique ! N'utilisez un niveau de journalisation + supérieur à trace2 qu'à des fins de débogage ! +
+ +

Exemple

LogLevel alert rewrite:trace3
+
+ +

RewriteLog

+

Ceux qui sont familiers avec les versions précédentes de + mod_rewrite vont probablement rechercher en vain les + directives RewriteLog et + RewriteLogLevel. Elles ont été en effet remplacées + par une configuration de la journalisation par module, comme + mentionné plus haut. +

+ +

Pour extraire les traces spécifiques à + mod_rewrite, affichez le fichier journal en + redirigeant la sortie vers grep :

+

+ tail -f error_log|fgrep '[rewrite:' +

+
+ +
+
top
+

Directive RewriteBase

+ + + + + + + + +
Description:Définit l'URL de base pour les réécritures au niveau +répertoire
Syntaxe:RewriteBase chemin_URL
Défaut:Pas de valeur par défaut
Contexte:répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_rewrite
+

La directive RewriteBase permet de + spécifier le préfixe d'URL à utiliser dans un contexte de + répertoire (htaccess) pour les directives + RewriteRule qui réécrivent vers un chemin + relatif.

+

Cette directive est obligatoire si vous utilisez un + chemin relatif dans une substitution, et dans un contexte de + répertoire (htaccess), sauf si au moins une de ces conditions est + vérifiée :

+
    +
  • La requête initiale, ainsi que la substitution, se + situent par raport à la valeur de la directive + DocumentRoot (c'est à + dire que pour y accéder, il n'est pas nécessaire d'utiliser + une directive telle qu'Alias).
  • +
  • Le chemin du système de fichiers vers le répertoire + contenant la RewriteRule, suffixé par + la substitution relative est aussi valide en tant qu'URL sur + le serveur (ce qui est rare).
  • +
  • A partir de la version 2.4.16 du serveur HTTP Apache, + cette directive peut être omise lorsque la requête est mise en + correspondance avec le système de fichiers via la directive + Alias ou le module + mod_userdir.
  • +
+ +

Dans l'exemple ci-dessous, la directive +RewriteBase est nécessaire afin d'éviter une +réécriture en http://example.com/opt/myapp-1.2.3/welcome.html car la +ressource n'était pas relative à la racine des documents. Cette erreur +de configuration aurait conduit le serveur à rechercher un répertoire +"opt" à la racine des documents.

+ +
DocumentRoot "/var/www/example.com"
+AliasMatch "^/myapp" "/opt/myapp-1.2.3"
+<Directory "/opt/myapp-1.2.3">
+ RewriteEngine On
+    RewriteBase "/myapp/"
+    RewriteRule "^index\.html$"  "welcome.html"
+</Directory>
+ + + +
+
top
+

Directive RewriteCond

+ + + + + + + +
Description:Définit une condition qui devra être satisfaite pour que +la réécriture soit effectuée +
Syntaxe: RewriteCond + chaîne_de_test expression_de_comparaison [drapeaux]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_rewrite
+

La directive RewriteCond permet de définir une + condition d'exécution d'une règle. Une ou plusieurs conditions + RewriteCond peuvent précéder une + directive RewriteRule. La règle de réécriture correspondante n'est + ainsi exécutée que si ces conditions sont satisfaites, + et si l'URI correspond au modèle spécifié dans la + règle.

+ +

TestString est une chaîne qui peut contenir les + extensions suivantes en plus du texte simple :

+ +
    +
  • + références arrières de règle de réécriture : + ce sont des références arrières de la forme + $N (0 <= N <= 9). $1 à $9 + permettent d'accéder aux parties regroupées (entre + parenthèses) du modèle, issues de la RewriteRule + concernée par le jeu de conditions RewriteCond + courant. $0 donne accès à l'ensemble de la chaîne + correspondant au modèle.
  • +
  • + Références arrières de condition de réécriture + : ce sont des références arrières de la forme + %N (0 <= N <= 9). %1 à %9 + permettent d'accéder aux parties regroupées (entre + parenthèses) du modèle, issues de la dernière + condition RewriteCond satisfaite du jeu de conditions RewriteCond + courant. %0 donne accès à l'ensemble de la chaîne + correspondant au modèle.
  • +
  • + extensions de table de réécriture : + ce sont des extensions de la forme ${nomTable:clé|défaut}. Voir la href="#mapfunc">documentation sur RewriteMap + pour plus de détails. +
  • +
  • + Variables du serveur : + ce sont des variables de la forme + %{ NAME_OF_VARIABLE }, + où NOM_DE_VARIABLE peut contenir une chaîne issue + de la liste suivante : + + + + + + + + + + + + + + + + + + + + + + + + +
    En-têtes HTTP : connexion & requête: +
    + HTTP_ACCEPT
    + HTTP_COOKIE
    + HTTP_FORWARDED
    + HTTP_HOST
    + HTTP_PROXY_CONNECTION
    + HTTP_REFERER
    + HTTP_USER_AGENT
    +
    + AUTH_TYPE
    + CONN_REMOTE_ADDR
    + CONTEXT_PREFIX
    + CONTEXT_DOCUMENT_ROOT
    + IPV6
    + PATH_INFO
    + QUERY_STRING
    + REMOTE_ADDR
    + REMOTE_HOST
    + REMOTE_IDENT
    + REMOTE_PORT
    + REMOTE_USER
    + REQUEST_METHOD
    + SCRIPT_FILENAME
    +
    +
    variables internes au serveur : date et heure : spéciaux :
    + DOCUMENT_ROOT
    + SCRIPT_GROUP
    + SCRIPT_USER
    + SERVER_ADDR
    + SERVER_ADMIN
    + SERVER_NAME
    + SERVER_PORT
    + SERVER_PROTOCOL
    + SERVER_SOFTWARE
    +
    + TIME_YEAR
    + TIME_MON
    + TIME_DAY
    + TIME_HOUR
    + TIME_MIN
    + TIME_SEC
    + TIME_WDAY
    + TIME
    +
    + API_VERSION
    + CONN_REMOTE_ADDR
    + HTTPS
    + IS_SUBREQ
    + REMOTE_ADDR
    + REQUEST_FILENAME
    + REQUEST_SCHEME
    + REQUEST_URI
    + THE_REQUEST
    +
    + +

    Ces variables correspondent toutes aux en-têtes MIME + HTTP de mêmes noms, au variables C du serveur HTTP Apache, ou + aux champs struct tm du système Unix. La + plupart d'entre elles sont documentées ici, dans la + spécification CGI ou ailleurs dans le + manuel.

    + +

    SERVER_NAME et SERVER_PORT dépendent respectivement + des valeurs des directives UseCanonicalName et UseCanonicalPhysicalPort.

    + +

    Parmi les variables + spécifiques à mod_rewrite, ou trouve les suivantes :

    + +
    +
    API_VERSION
    + +
    C'est la version de l'API des modules Apache httpd + (l'interface interne entre le serveur et les modules) + pour la construction courante de httpd, telle qu'elle + est définie dans include/ap_mmn.h. La version de l'API + des modules correspond à la version du serveur Apache + httpd + utilisé (par exemple, pour la version 1.3.14 d'Apache + httpd, + il s'agit de la version 19990320:10), mais intéresse + principalement les auteurs de modules.
    + +
    CONN_REMOTE_ADDR
    + +
    A partir de la version 2.4.8 : l'adresse IP distante de + la connexion (voir le module + mod_remoteip).
    + +
    HTTPS
    + +
    Contient le texte "on" si la connexion + utilise SSL/TLS, "off" dans le cas contraire + (Cette variable peut être utilisée sans problème, que + mod_ssl soit chargé ou non).
    + +
    IS_SUBREQ
    + +
    Contient le texte "true" si la requête en cours + de traitement est une sous-requête, "false" dans le + cas contraire. Une sous-requête est générée quand un + module a besoin de se référer à des fichiers ou URIs + addidionnels pour pouvoir mener à bien sa tâche.
    + +
    REMOTE_ADDR
    +
    L'adresse IP de l'hôte distant (se référer au + module mod_remoteip).
    + +
    REQUEST_FILENAME
    + +
    Le chemin complet local au système de fichiers + du fichier ou du script correspondant + à la requête, s'il a déjà été déterminé par le serveur + au moment où on y fait référence. Dans le cas + contraire, et en particulier dans le cas d'un serveur + virtuel, REQUEST_FILENAME contient la + valeur de REQUEST_URI. En fonction de la + valeur de la directive AcceptPathInfo, le serveur + peut n'utiliser que certains éléments de tête du + REQUEST_URI pour déterminer à quel + fichier correspond la requête.
    + +
    REQUEST_SCHEME
    + +
    Contient le protocole de la requête (en général + "http" ou "https"). La valeur peut être modifiée par + la directive ServerName.
    + +
    REQUEST_URI
    + +
    La partie chemin de l'URI de la requête, comme + "/index.html". Ceci exclut en particulier la chaîne de + paramètres de la requête qui est contenue dans la + variable QUERY_STRING.
    + +
    THE_REQUEST
    + +
    La ligne de requête HTTP complète envoyée par le + navigateur au serveur (par exemple, "GET + /index.html HTTP/1.1"), à l'exclusion de tout + en-tête ajouté par le navigateur. Cette + valeur n'a pas été déséchappée (décodée), à la + différence de la plupart des variables suivantes.
    +
    + +
  • +
+ +

Si la chaîne_de_test contient la valeur spéciale + expr, expression_de_comparaison sera traité + en tant qu'expression rationnelle de type ap_expr. Si des en-têtes HTTP sont + référencés dans l'expression rationnelle, et si le drapeau + novary n'est pas activé, ils seront ajoutés à + l'en-tête Vary.

+ +

Autres points à connaître ::

+
    +
  1. +

    Les variables SCRIPT_FILENAME et + REQUEST_FILENAME contiennent toutes deux la valeur + du champ filename de la + structure interne request_recdu serveur HTTP Apache. + Le premier nom correspond au nom de variable bien connu CGI, + alors que le second est l'équivalent de REQUEST_URI (qui + contient la valeur du champ uri de + request_rec).

    +

    Si une substitution intervient et si la réécriture se + poursuit, la valeur des deux variables sera mise à jour en + conséquence.

    +

    Dans le contexte du serveur principal (c'est à dire avant que + la requête ne soit mise en correspondance avec le système de + fichiers), SCRIPT_FILENAME et REQUEST_FILENAME ne peuvent pas + contenir le chemin entier dans le système de fichiers local car + ce chemin b'est pas connu à ce stade du traitement. Dans ce cas, + les deux variables contiendront la valeur de REQUEST_URI. Pour + obtenir le chemin complet de la requête dans le système de + fichiers local dans le contexte du serveur principal, utilisez une + référence avant à base d'URL + %{LA-U:REQUEST_FILENAME} pour déterminer la valeur + finale de REQUEST_FILENAME.

  2. + + +
  3. + %{ENV:variable}, où variable peut + correspondre à une variable d'environnement quelconque.
  4. +
  5. + %{ENV:variable} est aussi disponible, où + variable peut correspondre à toute variable + d'environnement. Peut être consulté via des structures internes + d'Apache httpd et (si on ne les trouve pas ici) via la fonction + getenv() à partir du processus du serveur Apache + httpd.
  6. + +
  7. Que mod_ssl soit chargé ou non, on peut + utiliser %{SSL:variable}, où variable + peut être remplacé par le nom d'une + variable + d'environnement SSL . Si mod_ssl n'est pas + chargé, cette variable contiendra toujours une chaîne vide. + Exemple : %{SSL:SSL_CIPHER_USEKEYSIZE} pourra + contenir la valeur 128. Ces variables sont + disponibles même si l'option StdEnvVars de la + directive SSLOptions n'a + pas été définie.
  8. + +
  9. + On peut utiliser %{HTTP:en-tête}, où + en-tête peut correspondre à tout nom d'en-tête MIME + HTTP, pour extraire la valeur d'un en-tête envoyé dans la + requête HTTP. Par exemple, %{HTTP:Proxy-Connection} + contiendra la valeur de l'en-tête HTTP + "Proxy-Connection:". + Si on utilise un en-tête HTTP + dans une condition, et si cette condition est évaluée à + vrai pour la requête, cet en-tête sera ajouté à l'en-tête Vary de + la réponse. Il ne le sera pas si la condition est évaluée à + faux. L'ajout de l'en-tête HTTP à l'en-tête Vary + est nécessaire à une mise en cache appropriée. +

    Il faut garder à l'esprit que les conditions suivent une + logique de cout-circuit si le drapeau + 'ornext|OR' est utilisé, et que de + ce fait, certaines d'entre elles ne seront pas évaluées.

    +
  10. + +
  11. A des fins de référence avant, on peut utiliser, + %{LA-U:variable}, qui + permet d'effectuer une sous-requête interne à base d'URL, afin + de déterminer la valeur finale de variable. Ceci permet + d'accéder à la valeur d'une variable pour la réécriture inconnue + à ce stade du traitement, mais qui sera définie au + cours d'une phase ultérieure. +

    Par exemple, pour effectuer une réécriture dépendant de la + variable REMOTE_USER dans le contexte du serveur + principal (fichier httpd.conf), vous devez utiliser + %{LA-U:REMOTE_USER} - cette variable est définie + par la phase d'autorisation qui intervient après la + phase de traduction d'URL (pendant laquelle mod_rewrite + opère).

    +

    Par contre, comme mod_rewrite implémente son contexte de + répertoire (fichier .htaccess) via la phase Fixup + de l'API, et comme la phase d'autorisation intervient + avant cette dernière, vous pouvez vous contenter + d'utiliser %{REMOTE_USER} dans ce contexte.

  12. + +
  13. + %{LA-F:variable} peut être utilisée pour effectuer + une sous-requête interne (basée sur le nom de fichier), afin de + déterminer la valeur finale de variable. La plupart du + temps, elle est identique à LA-U (voir ci-dessus).
  14. +
+ + +

expression_de_comparaison est une expression + rationnelle qui est appliquée à l'instance actuelle de + chaîne_de_test. chaîne_de_test est d'abord + évaluée, puis comparée à + l'expression_de_comparaison.

+ +

expression_de_comparaison est en général une + expression rationnelle compatible perl, mais vous + disposez des syntaxes supplémentaires suivantes pour effectuer + d'autres tests utiles sur chaîne_de_test : +

+ +
    +
  1. Vous pouvez préfixer l'expression avec un caractère + '!' (point d'exclamation) pour inverser le résultat + de la condition, quelle que soit l'expression de + comparaison utilisée.
  2. + +
  3. Vous pouvez effectuer des comparaisons lexicographiques de + chaînes : + +
    +
    <expression
    +
    inférieur au sens lexicographique
    + Traite l'expression comme une chaîne de + caractères et la compare lexicographiquement à + chaîne_de_test. La condition est satisfaite si + chaîne_de_test est inférieure au sens + lexicographique à l'expression.
    + +
    >expression
    +
    supérieur au sens lexicographique
    + Traite l'expression comme une chaîne de + caractères et la compare lexicographiquement à + chaîne_de_test. La condition est satisfaite si + chaîne_de_test est supérieure au sens + lexicographique à l'expression.
    + +
    =expression
    +
    égal au sens lexicographique
    + Traite l'expression comme une chaîne de + caractères et la compare lexicographiquement à + chaîne_de_test. La condition est satisfaite si + chaîne_de_test est égale au sens + lexicographique à l'expression (les deux chaînes + sont exactement identiques, caractère pour caractère). Si + expression est "" (deux guillemets), + chaîne_de_test est comparée à la + chaîne vide.
    + +
    <=expression de comparaison
    +
    inférieur ou égal à au sens lexicographique
    + Considère l'expression_de_comparaison comme une + chaîne de caractères et la compare au sens lexicographique à + la chaîne_de_test. Vrai si chaîne_de_test + précède lexicographiquement expression_de_comparaison, ou est + égale à expression_de_comparaison (les deux chaînes + sont identiques, caractère pour caractère).
    + +
    >=expression de comparaison
    +
    supérieur ou égal à au sens lexicographique
    + Considère l'expression_de_comparaison comme une + chaîne de caractères et la compare au sens lexicographique à + la chaîne_de_test. Vrai si chaîne_de_test + suit lexicographiquement expression_de_comparaison, ou est + égale à expression_de_comparaison (les deux chaînes + sont identiques, caractère pour caractère).
    +
    +

    Note

    + L'opérateur de comparaison de chaînes fait partie des arguments de la + CondPattern et doit par conséquent se trouver entre les + guillemets s'ils sont présents. Exemple : + +
    RewriteCond %{HTTP_USER_AGENT} "=This Robot/1.0"
    + +
    + +
  4. + +
  5. + Vous pouvez effectuer des comparaisons d'entiers : +
    + +
    -eq
    +
    est numériquement égal à
    + La chaîne_de_test est considérée comme un entier, + et est comparée numériquement à l'expression de + comparaison. Vrai si les deux expressions sont + numériquement égales.
    + +
    -ge
    +
    est numériquement supérieur ou égal à
    + La chaîne_de_test est considérée comme un entier, + et est comparée numériquement à l'expression de + comparaison. Vrai si chaîne_de_test est + numériquement supérieure ou égale à + expression_de_comparaison.
    + +
    -gt
    +
    est numériquement supérieur à
    + La chaîne_de_test est considérée comme un entier, + et est comparée numériquement à l'expression de + comparaison. Vrai si chaîne_de_test est + numériquement + supérieure à expression_de_comparaison.
    + +
    -le
    +
    est numériquement inférieur ou égal à
    + La chaîne_de_test est considérée comme un entier, + et est comparée numériquement à l'expression de + comparaison. Vrai si chaîne_de_test est + numériquement + inférieure ou égale à expression_de_comparaison. + Attention à la confusion avec le drapeau -l + en utilisant la variante the -L ou + -h.
    + +
    -lt
    +
    est numériquement inférieur à
    + La chaîne_de_test est considérée comme un entier, + et est comparée numériquement à l'expression de + comparaison. Vrai si chaîne_de_test est + numériquement + inférieure à expression_de_comparaison. + Attention à la confusion avec le drapeau -l + en utilisant la variante the -L ou + -h.
    + +
    -ne
    +
    Est numériquement non égal à
    + La Chaîne de test est considérée comme un entier et est + numériquement comparée à l'expression de comparaison. Vrai + si les deux éléments comparés sont numériquement différents. + Equivalent à !-eq.
    + +
    +
  6. + +
  7. Vous pouvez effectuer différents tests sur les attributs de + fichier : +
    + +
    -d
    +
    est un répertoire
    + Traite chaîne_de_test comme un chemin et vérifie + s'il existe ou pas, et s'il s'agit d'un répertoire.
    + +
    -f
    +
    est un fichier régulier
    + Traite chaîne_de_test comme un chemin et vérifie + s'il existe ou pas, et s'il s'agit d'un fichier régulier.
    + +
    -F
    +
    test de l'existence d'un fichier via une sous-requête
    + Vérifie si chaîne_de_test est un fichier valide, + accessible à travers tous les contrôles d'accès du serveur + actuellement configurés pour ce chemin. C'est une + sous-requête interne qui effectue cette vérification - à + utiliser avec précautions car les performances du serveur + peuvent s'en trouver affectées !
    + +
    -h
    +
    est un lien symbolique, selon la convention bash
    + Voir -l.
    + +
    -l
    +
    est un lien symbolique
    + Considère la chaîne_de_test comme un chemin et + vérifie son existence et si elle est un lien symbolique. On + peut aussi utiliser la convention bash -L + ou -h lorsqu'il y a risque de confusion + avec les tests -lt ou -le.
    + +
    -L
    +
    est un lien symbolique, selon la convention bash
    + Voir -l.
    + +
    -s
    +
    est un fichier régulier d'une certaine taille
    + Considère la chaîne_de_test comme un chemin et + vérifie son existence et si elle est un fichier régulier + d'une taille supérieure à zéro.
    + +
    -U
    +

    test de l'existence d'une + URL via une sous-requête
    + Vérifie si chaîne_de_test est une URL valide, + accessible à travers tous les contrôles d'accès du serveur + actuellement configurés pour ce chemin. C'est une + sous-requête interne qui effectue cette vérification - à + utiliser avec précautions car les performances du serveur + peuvent s'en trouver affectées !

    +

    Ce drapeau ne renvoie que des informations + concernant le contrôle d'accès, l'authentification et + l'autorisation. Il ne renvoie pas d'informations + concernant le code d'état que le gestionnaire configuré + (static file, CGI, proxy, etc...) aurait, quant à lui, + retourné.

    + +
    -x
    +
    a l'attribut d'exécution positionné
    + Considère la chaîne_de_test comme un chemin et + vérifie son existence et si elle a son attribut d'exécution + positionné. Ce positionnement est déterminé en fonction de + l'OS sous-jacent.
    + +
    + + Par exemple: + +
    RewriteCond /var/www/%{REQUEST_URI} !-f
    +RewriteRule ^(.+) /other/archive/$1 [R]
    + + +
  8. + +
  9. +

    Si la chaîne_de_test contient la valeur spéciale + expr, la chaîne de comparaison sera + traitée en tant qu'expression rationnelle de type ap_expr.

    + +

    + Dans l'exemple ci-dessous, on utilise -strmatch + pour comparer le REFERER avec le nom d'hôte du + site afin de bloquer le hotlinking (référencement direct) + non désiré. +

    + +
               RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
    +           RewriteRule "^/images" "-" [F]
    + +
  10. +
+ +

Vous pouvez aussi définir certains drapeaux pour + l'expression_de_comparaison en ajoutant ces + [drapeaux] + comme troisième argument de la directive + RewriteCond, où drapeaux est un + sous-ensemble séparé par des virgules des drapeaux suivants :

+ +
    +
  • 'nocase|NC' + (no case)
    + Rend le test insensible à la casse - il n'est pas fait de + distinction entre majuscules et minuscules, à la fois dans le + développement de chaîne_de_test et dans + expression_de_comparaison. Ce drapeau n'est pris en + compte que lors d'une comparaison entre chaîne_de_test + et expression_de_comparaison. Il ne l'est pas pour les + vérification par sous-requêtes ou sur le système de + fichiers.
  • + +
  • + 'ornext|OR' + (ou condition suivante)
    + Permet de chaîner les conditions de règles avec un OU au + lieu du AND implicite. Exemple typique : + +
    RewriteCond "%{REMOTE_HOST}"  "^host1"  [OR]
    +RewriteCond "%{REMOTE_HOST}"  "^host2"  [OR]
    +RewriteCond "%{REMOTE_HOST}"  "^host3"
    +RewriteRule ...règles concernant tous ces hôtes...
    + + + Sans ce drapeau, les paires + condition/règle devraient être écrites trois fois. +
  • + +
  • 'novary|NV' + (no vary)
    + Si la condition contient un en-tête HTTP, ce drapeau empêche + ce dernier d'être ajouté à l'en-tête Vary de la réponse.
    + L'utilisation de ce drapeau peut provoquer une mise en cache + incorrecte de la réponse, si la représentation de cette réponse + varie avec la valeur de l'en-tête considéré. Ce drapeau ne + devrait donc être utilisé que si l'on maîtrise parfaitement le + fonctionnement de l'en-tête Vary. +
  • +
+ + +

Exemple :

+ +

Pour réécrire la page d'accueil d'un site en fonction de + l'en-tête ``User-Agent:'' de la requête, vous + pouvez utiliser ce qui suit :

+ +
RewriteCond  "%{HTTP_USER_AGENT}"  "(iPhone|Blackberry|Android)"
+RewriteRule  "^/$"               "/homepage.mobile.html"  [L]
+
+RewriteRule  "^/$"                 "/homepage.std.html"  [L]
+ + +

Explications : si vous utilisez un navigateur + qui s'identifie comme un + navigateur de plateforme mobile (notez que l'exemple est + incomplet car il existe de nombreuses autres plateformes + mobiles), c'est la version pour mobile de la page d'accueil qui + sera renvoyée. Dans le cas contraire, ce sera la page d'accueil + standard.

+ +

Par défaut, plusieurs directives RewriteCond + sont évaluées de manière séquentielle et combinées à l'aide d'un + ET logique. Si une condition n'est pas vérifiée et en + l'absence d'un opérateur logique OU, + l'ensemble du jeu de règles est abandonné et les conditions restantes ne + sont pas évaluées. +

+ + +
+
top
+

Directive RewriteEngine

+ + + + + + + + +
Description:Active ou désactive l'exécution du +moteur de réécriture
Syntaxe:RewriteEngine on|off
Défaut:RewriteEngine off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_rewrite
+ +

La directive RewriteEngine active ou + désactive l'exécution du moteur de réécriture. Si sa valeur est + off, ce module n'exécutera aucun traitement et ne + mettra pas à jour les variables d'environnement + SCRIPT_URx.

+ +

Plutôt que de commenter toutes les directives RewriteRule, il est préférable + d'utiliser cette directive si l'on souhaite désactiver les + règles de réécriture dans un contexte particulier.

+ +

Notez que les hôtes virtuels n'héritent pas des + configurations de réécriture. Ceci implique que vous devez + insérer une directive RewriteEngine on dans chaque + hôte virtuel pour lequel vous souhaitez utiliser des règles + de réécriture.

+ +

Les directives RewriteMap du type + prg ne sont pas prises en compte au cours de + l'initialisation du serveur si elle ont été définies dans un + contexte où la directive RewriteEngine n'a + pas été définie à on.

+ + +
+
top
+

Directive RewriteMap

+ + + + + + + +
Description:Définit une fonction de mise en correspondance pour la +recherche de mots-clés
Syntaxe:RewriteMap MapName MapType:MapSource [MapTypeOptions] +
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_rewrite
Compatibilité:Le troisième paramètre, MapTypeOptions, est disponible à partir +de la version 2.4.29 du serveur HTTP Apache
+

La directive RewriteMap définit une + Table de correspondance pour la réécriture que les + fonctions de mise en correspondance + peuvent utiliser dans les chaînes de substitution des règles + pour insérer/substituer des champs en recherchant des mots-clés. + La source utilisée pour cette recherche peut être de plusieurs + types.

+ +

MapName est le nom de la table de correspondance + et servira à spécifier une fonction de mise en correspondance + pour les chaînes de substitution d'une règle de réécriture selon + une des constructions suivantes :

+ +

+ ${ MapName : + mot-clé }
+ ${ MapName : + mot-clé | valeur par défaut + }
+

+ +

Lorsqu'une telle construction est rencontrée, la table de + correspondance MapName est consultée + et la clé mot-clé recherchée. Si la clé est trouvée, la + construction est remplacée par + la valeur de remplacement. Si la clé n'est pas trouvée, + elle est remplacée par la valeur par défaut, ou par une + chaîne vide si aucune valeur par défaut n'est + spécifiée. La valeur vide se comporte comme si la + clé était absente ; il est donc impossible de distinguer une + valeur vide d'une absence de clé.

+ +

Par exemple, vous pouvez définir une directive + RewriteMap comme suit

+ +
RewriteMap map-exemple "txt:/chemin/vers/fichier/map.txt"
+ + +

Vous pourrez ensuite utiliser cette table dans une + directive RewriteRule comme suit :

+ +
RewriteRule "^/ex/(.*)" "${map-exemple:$1}"
+ + +

La signification de l'argument MapTypeOptions dépend du MapType + spécifié. Veuillez vous référer au document Utiliser RewriteMap pour + plus de détails.

+ +

Les combinaisons suivantes pour type de correspondance + et MapSource + peuvent être utilisées :

+ +
+
txt
+
Un fichier texte contenant des paires clé-valeur séparées + par des espaces, une paire par ligne (Détails ...).
+ +
rnd
+
Sélection aléatoire d'une entrée depuis un fichier texte (Détails ...).
+ +
dbm
+
Recherche une entrée dans un fichier dbm contenant des + paires nom-valeur. Le condensé hash est élaboré à partir d'un + format de fichier texte via l'utilitaire httxt2dbm (Détails ...).
+ +
int
+
Une des quatre fonctions internes disponibles que fournit + RewriteMap: toupper, tolower, escape ou unescape + (Détails ...).
+ +
prg
+
Appelle un programme externe ou un script pour effectuer la + réécriture (Détails + ...).
+ +
dbd or fastdbd
+
Une commande SQL SELECT à exécuter pour rechercher la cible + de réécriture (Détails + ...).
+
+ +

Vous trouverez plus de détails et de nombreux exemples dans le RewriteMap HowTo.

+ + +
+
top
+

Directive RewriteOptions

+ + + + + + + +
Description:Configure certaines options spéciales +pour le moteur de réécriture
Syntaxe:RewriteOptions Options
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_rewrite
+ +

La directive RewriteOptions définit + certaines options spéciales pour la configuration au niveau du + serveur ou du répertoire. La chaîne de caractères Option + ne peut actuellement prendre qu'une des valeurs suivantes :

+ +
+
Inherit
+
+ +

Ceci force la configuration locale à hériter de la + configuration du niveau supérieur. Dans le contexte des hôtes + virtuels, cela signifie que les correspondances, conditions et + règles du serveur principal sont héritées. Dans le contexte des + répertoires, cela signifie que les conditions et règles de la + configuration .htaccess ou les sections <Directory> du répertoire + parent sont héritées. Les règles héritées sont virtuellement + copiées dans la section où cette directive est utilisée. Si elles + sont utilisées avec des règles locales, les règles héritées sont + placées après ces dernières. La place de cette directive - avant + ou après les règles locales - n'a aucune influence sur ce + comportement. Si des règles locales ont forcé l'arrêt de la + réécriture, les règles héritées ne seront pas traitées.

+ +
+ Les règles héritées du niveau parent sont appliquées + after après les règles spécifiées dans le niveau + enfant. +
+
+ +
InheritBefore
+
+

Même effet que l'option Inherit ci-dessus, mais + les règles spécifiées dans le niveau parent s'appliquent + avant les règles spécifiées dans le niveau + enfant.
+ Disponible depuis la version 2.3.10 du serveur HTTP Apache.

+
+ +
InheritDown
+
+ +

Si cette option est activée, toutes les configurations enfants + hériteront de la configuration courante. Il en est de même si l'on + spécifie RewriteOptions Inherit dans toutes les + configurations enfants. Voir l'option Inherit pour + plus de détails à propos de la manière dont les relations + parent-enfants sont traitées.
+ Cette option est disponible à partir + de la version 2.4.8 du serveur HTTP Apache.

+
+ +
InheritDownBefore
+
+ +

L'effet de cette option est équivalent à celui de l'option + InheritDown ci-dessus, mais les règles de la + configuration parente s'appliquent avant toute + règle de la configuration enfant.
+ Cette option est disponible à partir + de la version 2.4.8 du serveur HTTP Apache.

+
+ +
IgnoreInherit
+
+ +

Si cette option est activée, les configurations courante et + enfants ignoreront toute règle héritée d'une configuration parente + via les options InheritDown ou + InheritDownBefore.
+ Cette option est disponible à partir + de la version 2.4.8 du serveur HTTP Apache.

+
+ +
AllowNoSlash
+
+

Par défaut, mod_rewrite ignore les URLs qui + correspondent à un répertoire sur disque, mais ne comportent pas + de slash final, afin que le module mod_dir + redirige le client vers l'URL canonique avec un slash final.

+ +

Lorsque la directive DirectorySlash est définie à off, il + est possible de spécifier l'option AllowNoSlash pour + s'assurer que les règles de réécriture ne soient plus ignorées. + Si on le souhaite, cette option permet de faire s'appliquer des + règles de réécriture qui correspondent à un répertoire sans slash + final au sein de fichiers .htaccess.
+ Elle est disponible à + partir de la version 2.4.0 du serveur HTTP Apache.

+
+ +
AllowAnyURI
+
+ +

A partir de la version 2.2.22 de httpd, lorsqu'une directive RewriteRule se situe dans un + contexte de serveur virtuel ou de serveur principal, + mod_rewrite ne traitera les règles de réécriture + que si l'URI de la requête respecte la syntaxe d'un chemin URL. Ceci permet + d'éviter certains problèmes de sécurité où des règles + particulières pourraient permettre des développements de modèles + inattendus (voir CVE-2011-3368 + et CVE-2011-4317). + Pour s'affranchir de la restriction relative à la syntaxe des chemins URL, on peut + utiliser l'option AllowAnyURI, afin de permettre à + mod_rewrite d'appliquer le jeu de règles à toute + chaîne de requête URI, sans vérifier si cette dernière respecte la + grammaire des chemins URL définie dans la spécification HTTP.
+ Disponible depuis la version 2.4.3 du serveur HTTP Apache.

+ +
+

Avertissement à propos de la sécurité

+ +

L'utilisation de cette option rendra le serveur vulnérable à + certains problèmes de sécurité si les règles de réécritures + concernées n'ont pas été rédigées avec soin. Il est par conséquent + fortement recommandé de ne pas utiliser cette + option. En particulier, prêtez attention aux chaînes en entrée contenant le + caractère '@', qui peuvent modifier l'interprétation + de l'URI réécrite, comme indiqué dans les liens ci-dessus.

+
+
+ +
MergeBase
+
+ +

Avec cette option, la valeur de la directive RewriteBase est recopiée depuis + une valeur explicitement définie dans tout sous-répertoire qui ne + définit pas sa propre directive RewriteBase. Il s'agissait du + comportement par défaut avec les versions 2.4.0 à 2.4.3, et ce + drapeau qui permet de retrouver ce comportement est disponible + depuis la version 2.4.4 du serveur HTTP Apache.

+
+ +
IgnoreContextInfo
+
+ +

Lors d'une + substitution relative dans un contexte de répertoire (htaccess), + et si la directive RewriteBase n'a pas été définie, + ce module utilise des informations en provenance d'une extension + d'URL et du contexte du système de fichiers pour transformer la + sustitution relative en URL. Par exemple, les modules + mod_userdir et mod_alias + utilisent ces informations de contexte étendu. Disponible à partir de la + version 2.4.16 du serveur HTTP Apache.

+
+ +
LegacyPrefixDocRoot
+
+ +

Avant la version 2.4.26, si une substitution était une URL absolue qui + correspondait au serveur virtuel courant, l'URL pouvait être tout d'abord + réduite à sa partie chemin, puis enfin en chemin local. Comme l'URL peut + être réduite en chemin local, le chemin doit être préfixé par la + valeur de la directive DocumentRoot, ce qui permet d'interdire l'accès à + un fichier tel que /tmp/myfile suite à une requête pour + http://host/file/myfile avec la RewriteRule suivante :

+
RewriteRule /file/(.*) http://localhost/tmp/$1
+ +

Cette option permet de restaurer l'ancien comportement lorsqu'un chemin + local obtenu à partir de la réduction d'une URL n'est pas préfixé par la + valeur de la directive DocumentRoot. Disponible à partir de la version + 2.4.26 du serveur HTTP Apache.

+
+ +
+ +
+
top
+

Directive RewriteRule

+ + + + + + + +
Description:Définit les règles pour le moteur de réécriture
Syntaxe:RewriteRule + Modèle Substitution [drapeaux]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_rewrite
+

La directive RewriteRule est le + véritable cheval de trait de la réécriture. La directive peut + apparaître plusieurs fois, chaque instance définissant une + règle de réécriture particulière. L'ordre dans lequel ces règles + sont définies est important - il s'agit de l'ordre dans lequel + les règles seront appliquées au cours du processus de + réécriture.

+ +

Modèle est une + expression rationnelle + compatible perl. Ce avec quoi ce modèle est comparé dépend de l'endroit où + la directive RewriteRule est définie.

+ +

Qu'est-ce qui est comparé ?

+ +
    +
  • Dans un contexte de serveur virtuel VirtualHost, le modèle est tout + d'abord comparé à la portion de l'URL située entre le nom d'hôte + éventuellement accompagné du port, et la chaîne de paramètres (par + exemple "/app1/index.html"). Il s'agit du URL-path décodé de sa valeur "%xx".

  • + +
  • Dans un contexte de répertoire (sections Directory et fichiers .htaccess), le + Modèle est comparé avec une partie de chemin ; par exemple une + requête pour "/app1/index.html" entraînera une comparaison avec + "app1/index.html" ou "index.html" selon l'endroit où la directive + RewriteRule est définie.

    + +

    Le chemin où la règle est défini est supprimé du chemin correspondant + du système de fichiers avant comparaison (jusqu'au slash final compris). + En conséquence de cette suppression, les règles définies dans + ce contexte n'effectuent des comparaisons qu'avec la portion du chemin + du système de fichiers "en dessous" de l'endroit où la règle est définie.

    + +

    Le chemin correspondant actuel du système de fichiers est déterminé par + des directives telles que DocumentRoot et + Alias, ou même le résultat de + substitutions dans des règles RewriteRule précédentes. +

    +
  • + +
  • Si vous souhaitez faire une comparaison sur le nom + d'hôte, le port, ou la chaîne de requête, utilisez une + directive RewriteCond + comportant respectivement les variables + %{HTTP_HOST}, %{SERVER_PORT}, ou + %{QUERY_STRING}.

  • +
+ +
+ +

Réécritures dans un contexte de répertoire

+
    +
  • L'utilisation du moteur de réécriture dans les +fichiers .htaccess et les sections +<Directory> est un peu plus +complexe.
  • + +
  • Pour activer le moteur de réécriture dans ces contextes, vous devez +définir "RewriteEngine On" et +"Options FollowSymLinks". Si l'administrateur a désactivé +la possibilité de modifier l'option FollowSymLinks au +niveau du répertoire d'un utilisateur, vous ne pouvez pas utiliser le +moteur de réécriture. Cette restriction a été instaurée à des fins de +sécurité.
  • + +
  • Voir la directive +RewriteBase pour plus de détails à +propos de l'ajout du préfixe après les substitutions relatives.
  • + +
  • Si vous souhaitez effectuer une comparaison en prenant en compte +l'intégralité du +chemin de l'URL dans un contexte de répertoire (htaccess), vous devez +utiliser la variable %{REQUEST_URI} dans la directive +RewriteCond.
  • + +
  • Le prefixe supprimé se termine toujours par un slash, ce qui +signifie que la comparaison s'effectue avec une chaîne qui ne comporte +jamais de slash de début. Ainsi, un modèle contenant +^/ ne correspondra jamais dans un contexte de répertoire.
  • + +
  • Bien que les règles de réécriture soient permises du point de vue de +la syntaxe dans les sections <Location> et <Files> (y compris leurs versions sous forme +d'expression rationnelle), elles n'y sont pas prises en compte, et +n'y sont à priori d'aucune utilité. Les substitutions +relatives sont une fonctionnalité qui n'est, elle non-plus pas supportée +dans ce genre de contexte.
  • + +
  • Les blocs If suivent les règles +du contexte de répertoire.
  • + +
  • Par défaut, mod_rewrite écrase les règles précédentes au sein de sections combinées appartenant au même +contexte. Pour modifier ce comportement, on peut utiliser la directive +RewriteOptions pour définir par +exemple l'option Inherit.
  • + +
  • La directive RewriteOptions +permet aussi de contrôler le comportement des sections définies au même niveau +d'imbrication dans la configuration. Dans l'exemple suivant, par défaut seule la +règle RewriteRules définie dans le second bloc If est prise en compte car celle définie dans le +premier bloc est écrasée. Définir RewriteOptions Inherit force mod_rewrite à +combiner les deux sections en prenant en compte les deux règles et pas seulement +la dernière.
  • +
+
<If "true">
+  # Sans RewriteOptions Inherit, cette règle est écrasée par celle de la section
+  # suivante et aucune redirection ne sera effectuée pour les URIs contenant
+  # 'foo'
+  RewriteRule foo http://example.com/foo [R]
+</If>
+<If "true">
+  RewriteRule bar http://example.com/bar [R]
+</If>
+
+
+ +

Pour quelques conseils à propos des expressions rationnelles, voir le + document Introduction à + mod_rewrite.

+ +

Dans mod_rewrite, on peut aussi utiliser le caractère + NOT ('!') comme préfixe de modèle. Ceci vous permet + d'inverser la signification d'un modèle, soit pour dire + ``si l'URL considérée ne correspond PAS à + ce modèle''. Le caractère NON peut donc être utilisé à + titre exceptionnel, lorsqu'il est plus simple d'effectuer une + comparaison avec le modèle inversé, ou dans la dernière règle + par défaut.

+ +

Note

+Si vous utilisez le caractère NON pour inverser la signification d'un +modèle, vous ne pouvez pas inclure de parties génériques groupées dans +le modèle. Ceci est dû au fait que, lorsque le modèle ne correspond +pas (autrement dit, sa négation correspond), les groupes sont vides. +Ainsi, si vous utilisez des modèles inversés, vous ne pouvez +pas vous référer aux groupes par $N dans la chaîne de +substitution ! +
+ +

Dans une règle de réécriture, + Substitution est la chaîne + de caractères qui remplace le chemin de l'URL original qui + correspondait au Modèle. Substitution peut + être :

+ +
+ +
un chemin du système de fichiers
+ +
Il indique alors la localisation dans le système de + fichiers de la ressource qui doit être envoyée au + client. Les substitutions ne sont traitées en tant que chemins du + système de fichiers que si la règle est configurée dans un + contexte de serveur (serveur virtuel), et si le premier + composant du chemin dans la substitution existe dans le système + de fichiers.
+ +
chemin d'URL
+ +
Un chemin relatif à la valeur de DocumentRoot vers la ressource qui + doit être servie. Notez que mod_rewrite + essaie de deviner si vous avez spécifié un chemin du système + de fichiers ou un chemin d'URL en vérifiant si la première + partie du chemin existe à la racine du système de fichiers. + Par exemple, si vous avez spécifié comme chaîne de + Substitution /www/file.html, cette + dernière sera traitée comme un chemin d'URL à moins + qu'un répertoire nommé www n'existe à la racine + de votre système de fichiers (ou dans le cas d'une + réécriture au sein d'un fichier .htaccess, + relativement à la racine des documents), auquel cas la chaîne de + substitution sera traitée comme un chemin du système de + fichiers. Si vous désirez que d'autres directives de + correspondance d'URL (comme la directive Alias) soient appliquées au + chemin d'URL résultant, utilisez le drapeau [PT] + comme décrit ci-dessous.
+ +
URL absolue
+ +

Si une URL absolue est spécifiée, + mod_rewrite vérifie si le nom d'hôte + correspond à celui de l'hôte local. Si c'est le cas, le + protocole et le nom d'hôte sont supprimés, et ce qui reste est + traité comme un chemin d'URL. Dans le cas contraire, une + redirection externe vers l'URL indiquée est effectuée. Pour + forcer une redirection externe vers l'hôte local, voir le + drapeau [R] ci-dessous.

+

Notez qu'une redirection (implicite ou non) qui utilise une URI + absolue inclura la chaîne de paramètres de la requête ; pour éviter + ceci, voir le drapeau [QSD] ci-dessous.

+ +
- (tiret)
+ +
Un tiret indique qu'aucune substitution ne doit être + effectuée (le chemin considéré est transmis sans changement). + Ceci est utile quand un drapeau doit être appliqué sans + modifier le chemin (voir ci-dessous).
+ +
+ +

En plus du texte, la chaîne Substitution peut + comporter :

+ +
    +
  1. des références arrières ($N) vers le modèle + d'une directive RewriteRule
  2. + +
  3. des références arrières (%N) vers le dernier + modèle d'une directive RewriteCond qui correspondait
  4. + +
  5. des variables du serveur comme dans les chaînes de test de + condition d'une règle (%{VARNAME})
  6. + +
  7. des appels de + fonctions de comparaison + (${nom correspondance:clé|défaut})
  8. +
+ +

Les références arrières sont des identificateurs de la forme + $N (N=0..9), qui + seront remplacés par le contenu du Nème groupe + du Modèle qui correspondait. Les variables du serveur + sont les mêmes que dans la Chaîne_de_test d'une + directive RewriteCond. Les + fonctions de comparaison sont issues de la directive RewriteMap dans la + section de laquelle elles sont décrites. Ces trois types de + variables sont évaluées dans l'ordre ci-dessus.

+ +

Chaque règle de réécriture s'applique au résultat de la règle + précédente, selon l'ordre dans lequel elles ont été définies dans + le fichier de configuration. Le chemin de l'URL ou du système de fichier (voir + ci-dessus Qu'est-ce qui est + comparé ?) est intégralement + remplacée par la chaîne de Substitution et le + processus de réécriture se poursuit jusqu'à ce que toutes les + règles aient été appliquées, ou qu'il soit explicitement stoppé + par un drapeau L, + ou par un autre drapeau qui implique un arrêt immédiat, comme + END ou + F.

+ +

Modifier la chaîne de requête

+

Par défaut, la chaîne de requête est transmise sans + modification. Vous pouvez cependant créer dans la chaîne de + substitution des URLs dont une partie constitue une chaîne de + requête. Pour cela, ajoutez simplement un point d'interrogation + dans la chaîne de substitution pour indiquer que le texte qui + suit doit être réinjecté dans la chaîne de requête. Pour + supprimer une chaîne de requête, terminez simplement la chaîne de + substitution par un point d'interrogation. Pour combiner les + nouvelles chaînes de requête avec les anciennes, utilisez le + drapeau [QSA].

+
+ + +

En outre, vous pouvez spécifier des actions spéciales à effectuer en ajoutant + des + [drapeaux] + comme troisième argument de la directive + RewriteRule. Séparés par des virgules au sein d'une + liste encadrée par des crochets, les drapeaux peuvent + être choisis dans la table suivante. Vous trouverez plus de + détails, et des exemples pour chaque drapeau dans le document à propos des drapeaux de + réécriture.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Drapeaux et syntaxeFonction
BEchappe les caractères non-alphanumériques + dans les références arrières avant + d'appliquer la transformation. détails ...
backrefnoplus|BNPAvec ce drapeau, si les références arrières sont échappées, + les espaces seront échappés en %20 au lieu de +. Ceci s'avère + utile lorsqu'une référence arrière est utilisée dans la partie + chemin, et non dans la chaîne de paramètres de la requête ; + pour plus de détails, voir ici.
chain|CLa règle est chaînée avec la règle suivante. Si la règle + échoue, la ou les règles avec lesquelles elle est est chaînée + seront sautées. détails ...
cookie|CO=NAME:VALDéfinit un cookie au niveau du navigateur client. La syntaxe + complète est : + CO=NAME:VAL:domain[:lifetime[:path[:secure[:httponly[samesite]]]]] details ... + détails ... +
discardpath|DPISupprime la partie PATH_INFO de l'URI réécrit. détails + ...
ENDStoppe le processus de réécriture immédiatement et + n'applique plus aucune règle. Empêche aussi l'application + ultérieure de règles de réécriture dans les contextes de + répertoire et de fichier .htaccess (disponible à partir de la + version 2.3.9 du serveur HTTP Apache). détails ...
env|E=[!]VAR[:VAL]Définit la variable d'environnement VAR (à la valeur + VAL si elle est fournie). La variante !VAR + annule la définition de la variable VAR.détails ...
forbidden|FRenvoie une réponse 403 FORBIDDEN au navigateur client. + détails ...
gone|GRenvoie un message d'erreur 410 GONE au navigateur client. détails ...
Handler|H=Gestionnaire de contenuL'URI résultant est envoyé au Gestionnaire de + contenu pour traitement. détails ...
last|LArrête le processus de réécriture immédiatement et n'applique + plus aucune règle. Prêtez une attention particulière aux mises + en garde concernant les contextes de niveau répertoire et + .htaccess (voir aussi le drapeau END). détails ...
next|NRéexécute le processus de réécriture à partir de la première + règle, en utilisant le résultat du jeu de règles, sous réserve + qu'il y ait un point de départ. détails + ...
nocase|NCRend la comparaison entre modèles insensible à la casse. + détails ...
noescape|NEEmpêche mod_rewrite d'effectuer un échappement hexadécimal + des caractères spéciaux dans le résultat des réécritures qui aboutissent + à une redirection. détails ...
nosubreq|NSLa règle est sautée si la requête courante est une + sous-requête interne. détails ...
proxy|PForce l'envoi en interne de l'URL de substitution en tant + que requête mandataire. détails + ...
passthrough|PTL'URI résultant est repassé au moteur de mise en + correspondance des URLs pour y être traité par d'autres + traducteurs URI-vers-nom de fichier, comme Alias ou + Redirect. détails ...
qsappend|QSAAjoute toute chaîne de paramètres présente dans l'URL de la + requête originale à toute chaîne de paramètres créée dans la + cible de réécriture. détails ...
qsdiscard|QSDSupprime toute chaîne de paramètres de l'URI entrant. détails + ...
qslast|QSLInterprète le dernier (le plus à droite) point d'interrogation comme + le délimiteur de la chaîne de paramètres de la requête, au lieu du + premier (le plus à gauche) comme c'est le cas habituellement. Disponble + à partir de la version 2.4.19 du serveur HTTP Apache. détails ...
redirect|R[=code]Force une redirection externe, avec un code de statut HTTP + optionnel. détails ... +
skip|S=nombreSi la règle courante s'applique, le moteur de réécriture + doit sauter les nombre règles suivantes. détails ...
type|T=MIME-typeForce l'attribution du Type-MIME + spécifié au fichier cible. détails ...
+ +

Développement du répertoire home

+

Quand la chaîne de substitution commence par quelque chose comme +"/~user" (de manière explicite ou par références arrières), mod_rewrite +développe le répertoire home sans tenir compte de la présence ou de la +configuration du module mod_userdir.

+ +

Ce développement n'est pas effectué si le drapeau PT est +utilisé dans la directive RewriteRule

+
+ +

Voici toutes les combinaisons de substitution et leurs + significations :

+ +

Dans la configuration au niveau du serveur principal + (httpd.conf)
+ pour la requête ``GET + /chemin/infochemin'':

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RègleRésultat de la substitution
^/un_chemin(.*) autre_chemin$1invalide, non supporté
^/un_chemin(.*) autre_chemin$1 [R]invalide, non supporté
^/un_chemin(.*) autre_chemin$1 [P]invalide, non supporté
^/un_chemin(.*) /autre_chemin$1/autre_chemin/info_chemin
^/un_chemin(.*) /autre_chemin$1 [R]http://cet_hote/autre_chemin/info_chemin via une redirection externe
^/un_chemin(.*) /autre_chemin$1 [P]sans objet, non supporté
^/un_chemin(.*) http://cet_hote/autre_chemin$1/autre_chemin/info_chemin
^/un_chemin(.*) http://cet_hote/autre_chemin$1 [R]http://cet_hote/autre_chemin/info_chemin via une redirection externe
^/un_chemin(.*) http://cet_hote/autre_chemin$1 [P]sans objet, non supporté
^/un_chemin(.*) http://autre_hote/autre_chemin$1http://autre_hote/autre_chemin/info_chemin via une redirection externe
^/un_chemin(.*) http://autre_hote/autre_chemin$1 [R]http://autre_hote/autre_chemin/info_chemin (le drapeau [R] est +redondant)
^/somepath(.*) http://otherhost/otherpath$1 [P]http://otherhost/otherpath/pathinfo via internal proxy
+ +

Dans une configuration de niveau répertoire pour + /chemin
+ (/chemin/physique/vers/chemin/.htacccess, avec + RewriteBase "/chemin")
+ pour la requête ``GET + /chemin/chemin-local/infochemin'':

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RègleRésultat de la substitution
^chemin-local(.*) autre-chemin$1/chemin/autre-chemin/infochemin
^chemin-local(.*) autre-chemin$1 [R]http://cet-hôte/chemin/autre-chemin/infochemin via redirection +externe
^chemin-local(.*) autre-chemin$1 [P]n'a pas lieu d'être, non supporté
^chemin-local(.*) /autre-chemin$1/autre-chemin/infochemin
^chemin-local(.*) /autre-chemin$1 [R]http://cet-hôte/autre-chemin/infochemin via redirection externe
^chemin-local(.*) /autre-chemin$1 [P]n'a pas lieu d'être, non supporté
^chemin-local(.*) http://cet-hôte/autre-chemin$1/autre-chemin/infochemin
^chemin-local(.*) http://cet-hôte/autre-chemin$1 [R]http://cet-hôte/autre-chemin/infochemin via redirection externe
^chemin-local(.*) http://cet-hôte/autre-chemin$1 [P]n'a pas lieu d'être, non supporté
^chemin-local(.*) http://autre hôte/autre-chemin$1http://autre hôte/autre-chemin/infochemin via redirection externe
^chemin-local(.*) http://autre hôte/autre-chemin$1 [R]http://autre hôte/autre-chemin/infochemin via redirection externe +(le drapeau [R] est redondant)
^chemin-local(.*) http://autre hôte/autre-chemin$1 [P]http://autre hôte/autre-chemin/infochemin via un mandataire interne
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_sed.html b/docs/manual/mod/mod_sed.html new file mode 100644 index 0000000..fc16970 --- /dev/null +++ b/docs/manual/mod/mod_sed.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_sed.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_sed.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_sed.html.en b/docs/manual/mod/mod_sed.html.en new file mode 100644 index 0000000..c2c9693 --- /dev/null +++ b/docs/manual/mod/mod_sed.html.en @@ -0,0 +1,176 @@ + + + + + +mod_sed - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_sed

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Filter Input (request) and Output (response) content using sed syntax
Status:Experimental
Module Identifier:sed_module
Source File:mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

+mod_sed is an in-process content filter. The mod_sed filter implements the sed editing +commands implemented by the Solaris 10 sed +program as described in the manual +page. However, unlike sed, mod_sed doesn't take data from +standard +input. Instead, the filter acts on the entity data sent between client and +server. mod_sed can be used as an input or output filter. mod_sed is a +content filter, which means that it cannot be used to modify client or +server http headers. +

+

+The mod_sed output filter accepts a chunk of data, executes the sed scripts on the data, and generates the output which is passed to the next filter in the chain. +

+ +

+The mod_sed input filter reads the data from the next filter in the chain, executes the sed scripts, and returns the generated data to the caller filter in the filter chain. +

+ +

+Both the input and output filters only process the data if newline characters are seen in the content. At the end of the data, the rest of the data is treated as the last line. Lines greater than 8MB in length result in an error, in 2.4.54 and later. +

+ +
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Sample Configuration

+

Adding an output filter

# In the following example, the sed filter will change the string
+# "monday" to "MON" and the string "sunday" to SUN in html documents
+# before sending to the client.
+<Directory "/var/www/docs/sed"> 
+    AddOutputFilter Sed html 
+    OutputSed "s/monday/MON/g" 
+    OutputSed "s/sunday/SUN/g" 
+</Directory>
+
+ +

Adding an input filter

# In the following example, the sed filter will change the string
+# "monday" to "MON" and the string "sunday" to SUN in the POST data
+# sent to PHP.
+<Directory "/var/www/docs/sed"> 
+    AddInputFilter Sed php 
+    InputSed "s/monday/MON/g" 
+    InputSed "s/sunday/SUN/g" 
+</Directory>
+
+
top
+
+

Sed Commands

+

+ Complete details of the sed command can be found from the + sed manual +page. +

+
+
b
+
Branch to the label specified (similar to goto).
+
h
+
Copy the current line to the hold buffer.
+
H
+
Append the current line to the hold buffer.
+
g
+
Copy the hold buffer to the current line.
+
G
+
Append the hold buffer to the current line.
+
x
+
Swap the contents of the hold buffer and the current line.
+
+
+
top
+

InputSed Directive

+ + + + + + +
Description:Sed command to filter request data (typically POST data)
Syntax:InputSed sed-command
Context:directory, .htaccess
Status:Experimental
Module:mod_sed
+

The InputSed directive specifies the sed command + to execute on the request data e.g., POST data. +

+ +
+
top
+

OutputSed Directive

+ + + + + + +
Description:Sed command for filtering response content
Syntax:OutputSed sed-command
Context:directory, .htaccess
Status:Experimental
Module:mod_sed
+

The OutputSed directive specifies the sed + command to execute on the response. +

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_sed.html.fr.utf8 b/docs/manual/mod/mod_sed.html.fr.utf8 new file mode 100644 index 0000000..61bfbef --- /dev/null +++ b/docs/manual/mod/mod_sed.html.fr.utf8 @@ -0,0 +1,191 @@ + + + + + +mod_sed - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_sed

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Filtre les contenus en entrée (requêtes) et en sortie +(réponses) en utilisant la syntaxe de sed
Statut:
Identificateur de Module:sed_module
Fichier Source:mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

mod_sed est un filtre de contenu "in-process". Le +filtre mod_sed fournit les commandes d'édition de +sed implémentées par le programme sed de +Solaris 10 comme décrit dans la page de +manuel. Cependant, à la différence de sed, +mod_sed ne reçoit pas de données sur son entrée +standard. Au lieu de cela, le filtre agit sur les données échangées +entre le client et le serveur. mod_sed peut être +utilisé comme filtre en entrée ou en sortie. mod_sed +est un filtre de contenu, ce qui signifie qu'on ne peut pas l'utiliser +pour modifier les en-têtes http du client ou du serveur. +

+

+Le filtre en sortie mod_sed accepte un tronçon de +données, exécute le script sed sur ces données, puis génère +une sortie qui est transmise au filtre suivant dans la chaîne. +

+ +

+Le filtre en entrée mod_sed reçoit des données en +provenance du filtre suivant dans la chaîne, exécute les scripts +sed, et renvoie les données générées au filtre appelant +dans la chaîne de filtrage. +

+ +

+Les filtres en entrée ou en sortie ne traitent les données que si des caractères +newline sont détectés dans le contenu à filtrer. A la fin des données, ce qui +reste est traité comme la dernière ligne. A partir de la version 2.4.54 du +serveur HTTP Apache, les lignes d'une taille supérieure à 8 Mo provoquent une +erreur. +

+ +
+ +
top
+
+

Exemple de configuration

+

Ajout d'un filtre en sortie

# Dans l'exemple suivant, le filtre sed va remplacer la chaîne
+	 # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
+	 # documents html avant de les envoyer au client.
+<Directory "/var/www/docs/sed"> 
+    AddOutputFilter Sed html 
+    OutputSed "s/monday/MON/g" 
+    OutputSed "s/sunday/SUN/g" 
+</Directory>
+
+ +

Ajout d'un filtre en entrée

         # Dans l'exemple suivant, le filtre sed va remplacer la chaîne
+	 # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
+	 # données POST envoyées à PHP.
+        <Directory "/var/www/docs/sed"> 
+    AddInputFilter Sed php 
+    InputSed "s/monday/MON/g" 
+    InputSed "s/sunday/SUN/g" 
+</Directory>
+
+
top
+
+

Commandes sed

+

+ Vous trouverez tous les détails à propos de la commande + sed dans sa page + de manuel. +

+
+
b
+
Saut vers le label spécifié (similaire à goto).
+
h
+
Copie la ligne courante dans le tampon.
+
H
+
Ajoute la ligne courante au tampon.
+
g
+
Copie le contenu du tampon dans la ligne courante.
+
G
+
Ajoute le contenu du tampon à la ligne courante.
+
x
+
Echange les contenus du tampon et de la ligne courante.
+
+
+
top
+

Directive InputSed

+ + + + + + +
Description:Commande sed à exécuter pour le filtrage des données d'une +requête (en général des données POST)
Syntaxe:InputSed commande-sed
Contexte:répertoire, .htaccess
Statut:
Module:mod_sed
+

La directive InputSed permet de spécifier + la commande sed à exécuter pour le filtrage des données (en général + des données POST) d'une requête. +

+ +
+
top
+

Directive OutputSed

+ + + + + + +
Description:Commande sed pour le filtrage des contenus de type +réponse
Syntaxe:OutputSed commande-sed
Contexte:répertoire, .htaccess
Statut:
Module:mod_sed
+

La directive OutputSed permet de spécifier + la commande sed à exécuter dans le cadre du traitement + d'une réponse. +

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session.html b/docs/manual/mod/mod_session.html new file mode 100644 index 0000000..9deebb4 --- /dev/null +++ b/docs/manual/mod/mod_session.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session.html.en b/docs/manual/mod/mod_session.html.en new file mode 100644 index 0000000..ef3db75 --- /dev/null +++ b/docs/manual/mod/mod_session.html.en @@ -0,0 +1,550 @@ + + + + + +mod_session - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_session

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Session support
Status:Extension
Module Identifier:session_module
Source File:mod_session.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

Warning

+

The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.

+
+ +

This module provides support for a server wide per user session + interface. Sessions can be used for keeping track of whether a user + has been logged in, or for other per user information that should + be kept available across requests.

+ +

Sessions may be stored on the server, or may be stored on the + browser. Sessions may also be optionally encrypted for added security. + These features are divided into several modules in addition to + mod_session; mod_session_crypto, + mod_session_cookie and mod_session_dbd. + Depending on the server requirements, load the appropriate modules + into the server (either statically at compile time or dynamically + via the LoadModule directive).

+ +

Sessions may be manipulated from other modules that depend on the + session, or the session may be read from and written to using + environment variables and HTTP headers, as appropriate.

+ +
+ +
top
+
+

What is a session?

+

At the core of the session interface is a table of key and value pairs + that are made accessible across browser requests. These pairs can be set + to any valid string, as needed by the application making use of the + session.

+ +

The "session" is a application/x-www-form-urlencoded + string containing these key value pairs, as defined by the + HTML specification.

+ +

The session can optionally be encrypted and base64 encoded before + being written to the storage mechanism, as defined by the + administrator.

+ +
top
+
+

Who can use a session?

+

The session interface is primarily developed for the use by other + server modules, such as mod_auth_form, however CGI + based applications can optionally be granted access to the contents + of the session via the HTTP_SESSION environment variable. Sessions + have the option to be modified and/or updated by inserting an HTTP + response header containing the new session parameters.

+ +
top
+
+

Keeping sessions on the server

+

Apache can be configured to keep track of per user sessions stored + on a particular server or group of servers. This functionality is + similar to the sessions available in typical application servers.

+ +

If configured, sessions are tracked through the use of a session ID that + is stored inside a cookie, or extracted from the parameters embedded + within the URL query string, as found in a typical GET request.

+ +

As the contents of the session are stored exclusively on the server, + there is an expectation of privacy of the contents of the session. This + does have performance and resource implications should a large number + of sessions be present, or where a large number of webservers have to + share sessions with one another.

+ +

The mod_session_dbd module allows the storage of user + sessions within a SQL database via mod_dbd.

+ +
top
+
+

Keeping sessions on the browser

+

In high traffic environments where keeping track of a session on a + server is too resource intensive or inconvenient, the option exists to store + the contents of the session within a cookie on the client browser instead.

+ +

This has the advantage that minimal resources are required on the + server to keep track of sessions, and multiple servers within a server + farm have no need to share session information.

+ +

The contents of the session however are exposed to the client, with a + corresponding risk of a loss of privacy. The + mod_session_crypto module can be configured to encrypt the + contents of the session before writing the session to the client.

+ +

The mod_session_cookie allows the storage of user + sessions on the browser within an HTTP cookie.

+ +
top
+
+

Basic Examples

+ +

Creating a session is as simple as turning the session on, and deciding + where the session will be stored. In this example, the session will be + stored on the browser, in a cookie called session.

+ +

Browser based session

Session On
+SessionCookieName session path=/
+
+ +

The session is not useful unless it can be written to or read from. The + following example shows how values can be injected into the session through + the use of a predetermined HTTP response header called + X-Replace-Session.

+ +

Writing to a session

Session On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

The header should contain name value pairs expressed in the same format + as a query string in a URL, as in the example below. Setting a key to the + empty string has the effect of removing that key from the session.

+ +

CGI to write to a session

#!/bin/bash
+echo "Content-Type: text/plain"
+echo "X-Replace-Session: key1=foo&key2=&key3=bar"
+echo
+env
+
+ +

If configured, the session can be read back from the HTTP_SESSION + environment variable. By default, the session is kept private, so this + has to be explicitly turned on with the + SessionEnv directive.

+ +

Read from a session

Session On
+SessionEnv On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

Once read, the CGI variable HTTP_SESSION should contain + the value key1=foo&key3=bar.

+ +
top
+
+

Session Privacy

+ +

Using the "show cookies" feature of your browser, you would have seen + a clear text representation of the session. This could potentially be a + problem should the end user need to be kept unaware of the contents of + the session, or where a third party could gain unauthorised access to the + data within the session.

+ +

The contents of the session can be optionally encrypted before being + placed on the browser using the mod_session_crypto + module.

+ +

Browser based encrypted session

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+
+ +

The session will be automatically decrypted on load, and encrypted on + save by Apache, the underlying application using the session need have + no knowledge that encryption is taking place.

+ +

Sessions stored on the server rather than on the browser can also be + encrypted as needed, offering privacy where potentially sensitive + information is being shared between webservers in a server farm using + the mod_session_dbd module.

+ +
top
+
+

Cookie Privacy

+ +

The HTTP cookie mechanism also offers privacy features, such as the + ability to restrict cookie transport to SSL protected pages only, or + to prevent browser based javascript from gaining access to the contents + of the cookie.

+ +

Warning

+

Some of the HTTP cookie privacy features are either non-standard, or + are not implemented consistently across browsers. The session modules + allow you to set cookie parameters, but it makes no guarantee that privacy + will be respected by the browser. If security is a concern, use the + mod_session_crypto to encrypt the contents of the session, + or store the session on the server using the mod_session_dbd + module.

+
+ +

Standard cookie parameters can be specified after the name of the cookie, + as in the example below.

+ +

Setting cookie parameters

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/private;domain=example.com;httponly;secure;
+
+ +

In cases where the Apache server forms the frontend for backend origin servers, + it is possible to have the session cookies removed from the incoming HTTP headers using + the SessionCookieRemove directive. + This keeps the contents of the session cookies from becoming accessible from the + backend server. +

+ +
top
+
+

Session Support for Authentication

+ +

As is possible within many application servers, authentication modules can use + a session for storing the username and password after login. The + mod_auth_form saves the user's login name and password within + the session.

+ +

Form based authentication

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+AuthFormProvider file
+AuthUserFile "conf/passwd"
+AuthType form
+AuthName "realm"
+#...
+
+ +

See the mod_auth_form module for documentation and complete + examples.

+ +
top
+
+

Integrating Sessions with External Applications

+ +

In order for sessions to be useful, it must be possible to share the contents + of a session with external applications, and it must be possible for an + external application to write a session of its own.

+ +

A typical example might be an application that changes a user's password set by + mod_auth_form. This application would need to read the current + username and password from the session, make the required changes to the user's + password, and then write the new password to the session in order to provide a + seamless transition to the new password.

+ +

A second example might involve an application that registers a new user for + the first time. When registration is complete, the username and password is + written to the session, providing a seamless transition to being logged in.

+ +
+
Apache modules
+
Modules within the server that need access to the session can use the + mod_session.h API in order to read from and write to the + session. This mechanism is used by modules like mod_auth_form. +
+ +
CGI programs and scripting languages
+
Applications that run within the webserver can optionally retrieve the + value of the session from the HTTP_SESSION environment + variable. The session should be encoded as a + application/x-www-form-urlencoded string as described by the + HTML specification. The environment + variable is controlled by the setting of the + SessionEnv directive. The session + can be written to by the script by returning a + application/x-www-form-urlencoded response header with a name + set by the SessionHeader + directive. In both cases, any encryption or decryption, and the reading the + session from or writing the session to the chosen storage mechanism is handled + by the mod_session modules and corresponding configuration. +
+ +
Applications behind mod_proxy
+
If the SessionHeader + directive is used to define an HTTP request header, the session, encoded as + a application/x-www-form-urlencoded string, will be made + available to the application. If the same header is provided in the response, + the value of this response header will be used to replace the session. As + above, any encryption or decryption, and the reading the session from or + writing the session to the chosen storage mechanism is handled by the + mod_session modules and corresponding configuration.
+ +
Standalone applications
+
Applications might choose to manipulate the session outside the control + of the Apache HTTP server. In this case, it is the responsibility of the + application to read the session from the chosen storage mechanism, + decrypt the session, update the session, encrypt the session and write + the session to the chosen storage mechanism, as appropriate.
+
+ +
+
top
+

Session Directive

+ + + + + + + + +
Description:Enables a session for the current directory or location
Syntax:Session On|Off
Default:Session Off
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_session
+

The Session directive enables a session for the + directory or location container. Further directives control where the + session will be stored and how privacy is maintained.

+ +
+
top
+

SessionEnv Directive

+ + + + + + + + +
Description:Control whether the contents of the session are written to the +HTTP_SESSION environment variable
Syntax:SessionEnv On|Off
Default:SessionEnv Off
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_session
+

If set to On, the SessionEnv directive + causes the contents of the session to be written to a CGI environment + variable called HTTP_SESSION.

+ +

The string is written in the URL query format, for example:

+ +

+ key1=foo&key3=bar +

+ + +
+
top
+

SessionExclude Directive

+ + + + + + + +
Description:Define URL prefixes for which a session is ignored
Syntax:SessionExclude path
Default:none
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session
+

The SessionExclude directive allows sessions to + be disabled relative to URL prefixes only. This can be used to make a + website more efficient, by targeting a more precise URL space for which + a session should be maintained. By default, all URLs within the directory + or location are included in the session. The + SessionExclude directive takes + precedence over the + SessionInclude directive.

+ +

Warning

+

This directive has a similar purpose to the path attribute + in HTTP cookies, but should not be confused with this attribute. This + directive does not set the path attribute, which must be + configured separately.

+ +
+
top
+

SessionExpiryUpdateInterval Directive

+ + + + + + + + +
Description:Define the number of seconds a session's expiry may change without +the session being updated
Syntax:SessionExpiryUpdateInterval interval
Default:SessionExpiryUpdateInterval 0 (always update)
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session
Compatibility:Available in Apache 2.4.41 and later
+

The SessionExpiryUpdateInterval directive allows + sessions to avoid the cost associated with writing the session each request + when only the expiry time has changed. This can be used to make a website + more efficient or reduce load on a database when using + mod_session_dbd. The session is always written if the data + stored in the session has changed or the expiry has changed by more than the + configured interval.

+ +

Setting the interval to zero disables this directive, and the session + expiry is refreshed for each request.

+ +

This directive only has an effect when combined with + SessionMaxAge to enable session + expiry. Sessions without an expiry are only written when the data stored in + the session has changed.

+ +

Warning

+

Because the session expiry may not be refreshed with each request, it's + possible for sessions to expire up to interval seconds early. + Using a small interval usually provides sufficient savings while having a + minimal effect on expiry resolution.

+ +
+
top
+

SessionHeader Directive

+ + + + + + + + +
Description:Import session updates from a given HTTP response header
Syntax:SessionHeader header
Default:none
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_session
+

The SessionHeader directive defines the name of an + HTTP response header which, if present, will be parsed and written to the + current session.

+ +

The header value is expected to be in the URL query format, for example:

+ +

+ key1=foo&key2=&key3=bar +

+ +

Where a key is set to the empty string, that key will be removed from the + session.

+ + +
+
top
+

SessionInclude Directive

+ + + + + + + + +
Description:Define URL prefixes for which a session is valid
Syntax:SessionInclude path
Default:all URLs
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_session
+

The SessionInclude directive allows sessions to + be made valid for specific URL prefixes only. This can be used to make a + website more efficient, by targeting a more precise URL space for which + a session should be maintained. By default, all URLs within the directory + or location are included in the session.

+ +

Warning

+

This directive has a similar purpose to the path attribute + in HTTP cookies, but should not be confused with this attribute. This + directive does not set the path attribute, which must be + configured separately.

+ +
+
top
+

SessionMaxAge Directive

+ + + + + + + + +
Description:Define a maximum age in seconds for a session
Syntax:SessionMaxAge maxage
Default:SessionMaxAge 0
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_session
+

The SessionMaxAge directive defines a time limit + for which a session will remain valid. When a session is saved, this time + limit is reset and an existing session can be continued. If a session + becomes older than this limit without a request to the server to refresh + the session, the session will time out and be removed. Where a session is + used to stored user login details, this has the effect of logging the user + out automatically after the given time.

+ +

Setting the maxage to zero disables session expiry.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session.html.fr.utf8 b/docs/manual/mod/mod_session.html.fr.utf8 new file mode 100644 index 0000000..8f1a180 --- /dev/null +++ b/docs/manual/mod/mod_session.html.fr.utf8 @@ -0,0 +1,619 @@ + + + + + +mod_session - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_session

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des sessions
Statut:Extension
Identificateur de Module:session_module
Fichier Source:mod_session.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Le module session fait usage des cookies HTTP, et peut à ce + titre être victime d'attaques de type Cross Site Scripting, ou + divulguer des informations à caractère privé aux clients. Veuillez + vous assurer que les risques ainsi encourus ont été pris en compte + avant d'activer le support des sessions sur votre serveur.

+
+ +

Ce module fournit le support d'une interface de session pour + chaque utilisateur au niveau du serveur global. Les sessions + permettent de transmettre diverses informations : l'utilisateur + est-il connecté ou non, ou toute autre information qui doit être + conservée d'une requête à l'autre.

+ +

Les sessions peuvent être stockées sur le serveur, ou au niveau + du navigateur. Les sessions peuvent également être chiffrées pour une + sécurité accrue. Ces fonctionnalités sont réparties entre différents + modules complémentaires de mod_session : + mod_session_crypto, + mod_session_cookie et + mod_session_dbd. Chargez les modules appropriés + en fonction des besoins du serveur (soit statiquement à la + compilation, soit dynamiquement via la directive LoadModule).

+ +

Les sessions peuvent être manipulées par d'autres modules qui + dépendent de la session, ou la session peut être lue et écrite dans + des variables d'environnement et des en-têtes HTTP, selon les + besoins.

+ +
+ +
top
+
+

Qu'est-ce qu'une session ?

+

Au coeur de l'interface de session se trouve une table de + paires clé/valeur qui sont accessibles d'une requête du navigateur + à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne + de caractères valide, en fonction des besoins de l'application qui + fait usage de la session.

+ +

Une "session" est une chaîne + application/x-www-form-urlencoded qui contient la + paire clé/valeur définie par la spécification HTML.

+ +

Selon les souhaits de l'administrateur, la session peut être + chiffrée et codée en base64 avant d'être soumise au dispositif de + stockage.

+ +
top
+
+

Qui peut utiliser une session + ?

+

L'interface de session a été conçue à l'origine pour être + utilisée par d'autres modules du serveur comme + mod_auth_form ; les applications à base de + programmes CGI peuvent cependant se voir accorder l'accès au + contenu d'une session via la variable d'environnement + HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour + une session en insérant un en-tête de réponse HTTP contenant les + nouveaux paramètres de session.

+ +
top
+
+

Stockage des sessions sur le + serveur

+

Apache peut être configuré pour stocker les sessions + utilisateurs sur un serveur particulier ou un groupe de serveurs. + Cette fonctionnalité est similaire aux sessions disponibles sur + les serveurs d'applications courants.

+ +

Selon la configuration, les sessions sont suivies à + partir d'un identifiant de session stocké dans un cookie, ou + extraites de la chaîne de paramètres de l'URL, comme dans les + requêtes GET courantes.

+ +

Comme le contenu de la session est stocké exclusivement sur le + serveur, il est nécessaire de préserver la confidentialité de ce + contenu. Ceci a des implications en matière de performance et de + consommation de ressources lorsqu'un grand nombre de sessions est + stocké, ou lorsqu'un grand nombre de serveurs doivent se partager + les sessions entre eux.

+ +

Le module mod_session_dbd permet de stocker + les sessions utilisateurs dans une base de données SQL via le + module mod_dbd.

+ +
top
+
+

Stockage des sessions au niveau + du navigateur

+

Dans les environnements à haut trafic où le stockage d'une + session sur un serveur consomme trop + de ressources, il est possible de stocker le contenu de la session + dans un cookie au niveau du navigateur client.

+ +

Ceci a pour avantage de ne nécessiter qu'une quantité minimale de + ressources sur le serveur pour suivre les sessions, et évite à + plusieurs serveurs parmi une forêt de serveurs de devoir partager + les informations de session.

+ +

Le contenu de la session est cependant présenté au client, avec + pour conséquence un risque de perte de confidentialité. Le module + mod_session_crypto peut être configuré pour + chiffrer le contenu de la session avant qu'elle soit stockée au + niveau du client.

+ +

Le module mod_session_cookie permet de stocker + les sessions au niveau du navigateur dans un cookie HTTP.

+ +
top
+
+

Exemples simples

+ +

La création d'une session consiste simplement à ouvrir la + session, et à décider de l'endroit où elle doit être stockée. Dans + l'exemple suivant, la session sera stockée au niveau du + navigateur, dans un cookie nommé session.

+ +

Session stockée au niveau du navigateur

Session On
+SessionCookieName session path=/
+
+ +

Une session est inutile s'il n'est pas possible d'y lire + ou d'y écrire. L'exemple suivant montre comment des valeurs + peuvent être injectées dans une session à l'aide d'un en-tête de + réponse HTTP prédéterminé nommé + X-Replace-Session.

+ +

Ecriture dans une session

Session On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

L'en-tête doit contenir des paires clé/valeur sous le même + format que celui de la chaîne d'argument d'une URL, comme dans + l'exemple suivant. Donner pour valeur à une clé la chaîne vide a + pour effet de supprimer la clé de la session.

+ +

Script CGI pour écrire dans une session

#!/bin/bash
+echo "Content-Type: text/plain"
+echo "X-Replace-Session: key1=foo&key2=&key3=bar"
+echo
+env
+
+ +

Selon la configuration, les informations de la session peuvent + être extraites de la variable d'environnement HTTP_SESSION. Par + défaut la session est privée, et cette fonctionnalité doit donc + être explicitement activée via la directive SessionEnv.

+ +

Lecture depuis une session

Session On
+SessionEnv On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

Une fois la lecture effectuée, la variable CGI + HTTP_SESSION doit contenir la valeur + clé1=foo&clé3=bar.

+ +
top
+
+

Confidentialité des + sessions

+ +

En utilisant la fonctionnalité de votre navigateur "Afficher + les cookies", vous pouvez voir une réprésentation de la session + sous forme de texte en clair. Ceci peut poser problème si le + contenu de la session doit être dissimulé à l'utilisateur final, + ou si un tiers accède sans autorisation aux informations de + session.

+ +

À ce titre, le contenu de la session peut être chiffré à l'aide + du module mod_session_crypto avant d'être stocké + au niveau du navigateur.

+ +

Session chiffrée avant stockage au niveau du + navigateur

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+
+ +

La session sera automatiquement déchiffrée à la lecture, et + rechiffrée par Apache lors de la sauvegarde, si bien que + l'application sous-jacente qui utilise la session n'a pas à se + préoccuper de savoir si un chiffrement a été mis en oeuvre ou + non.

+ +

Les sessions stockées sur le serveur plutôt qu'au niveau du + navigateur peuvent aussi être chiffrées, préservant par là-même la + confidentialité lorsque des informations sensibles sont partagées + entre les serveurs web d'une forêt de serveurs à l'aide du module + mod_session_dbd.

+ +
top
+
+

Confidentialité du cookie

+ +

Le mécanisme de cookie HTTP offre aussi des fonctionnalités + quant à la confidentialité, comme la possibilité de + restreindre le transport du cookie aux pages protégées par SSL + seulement, ou l'interdiction pour les scripts java qui + s'exécutent au niveau du navigateur d'obtenir l'accès au contenu + du cookie.

+ +

Avertissement

+

Certaines fonctionnalités de confidentialité du cookie HTTP ne + sont pas standardisées, ou ne sont pas toujours implémentées au + niveau du navigateur. Les modules de session vous permettent de + définir les paramètres du cookie, mais il n'est pas garanti que la + confidentialité sera respectée par le navigateur. Si la sécurité + est la principale préoccupation, chiffrez le contenu de la session + avec le module mod_session_crypto, ou stockez la + session sur le serveur avec le module + mod_session_dbd.

+
+ +

Les paramètres standards du cookie peuvent être spécifiés après + le nom du cookie comme dans l'exemple suivant :

+ +

Définition des paramètres du cookie

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/private;domain=example.com;httponly;secure;
+
+ +

Dans les cas où le serveur Apache sert de frontal pour des + serveurs d'arrière-plan, il est possible de supprimer les cookies + de session des en-têtes HTTP entrants à l'aide de la directive + SessionCookieRemove. Ceci + permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu + des cookies de session. +

+ +
top
+
+

Support des sessions pour + l'authentification

+ +

Comme il est possible de le faire avec de nombreux serveurs + d'applications, les modules d'authentification peuvent utiliser + une session pour stocker le nom d'utilisateur et le mot de passe + après connexion. Le module mod_auth_form par + exemple, sauvegarde les nom de connexion et mot de passe de + l'utilisateur dans une session.

+ +

Authentification à base de formulaire

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+AuthFormProvider file
+AuthUserFile "conf/passwd"
+AuthType form
+AuthName "realm"
+#...
+
+ +

Pour la documentation et des exemples complets, voir le module + mod_auth_form.

+ +
top
+
+

Intégration des sessions avec les + applications externes

+ +

Pour que les sessions soient utiles, leur contenu doit être + accessible aux applications externes, et ces dernières doivent + elles-mêmes être capables d'écrire une session.

+ +

L'exemple type est une application qui modifie le mot de passe + d'un utilisateur défini par mod_auth_form. Cette + application doit pouvoir extraire les nom d'utilisateur et mot de + passe courants de la session, effectuer les modifications + demandées, puis écrire le nouveau mot de passe dans la session, + afin que la transition vers le nouveau mot de passe soit + transparente.

+ +

Un autre exemple met en jeu une application qui enregistre un + nouvel utilisateur pour la première fois. Une fois + l'enregistrement terminé, le nom d'utilisateur et le mot de passe + sont écrits dans la session, fournissant là aussi une transition + transparente.

+ +
+
Modules Apache
+
Selon les besoins, les modules du serveur peuvent utiliser + l'API mod_session.h pour lire et écrire dans les + sessions. Les modules tels que mod_auth_form + utilisent ce mécanisme. +
+ +
Programmes CGI et langages de script
+
Les applications qui s'exécutent au sein du serveur web + peuvent éventuellement extraire la valeur de la session de la + variable d'environnement HTTP_SESSION. La session + doit être codée sous la forme d'une chaîne + application/x-www-form-urlencoded selon les + préconisations de la specification HTML. Cette + variable d'environnement est définie via la directive SessionEnv. Un script peut écrire + dans la session en renvoyant un en-tête de réponse + application/x-www-form-urlencoded dont le nom est + défini via la directive SessionHeader. Dans les deux cas, + tout chiffrement ou déchiffrement, ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante. +
+ +
Applications situées derrière mod_proxy
+
Si la directive SessionHeader est utilisée pour + définir un en-tête de requête HTTP, la session codée sous la forme + d'une chaîne application/x-www-form-urlencoded + sera accessible pour l'application. Si ce même en-tête est fourni + dans la réponse, sa valeur sera utilisée pour remplacer la + session. Comme précédemment, tout chiffrement ou déchiffrement, + ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante.
+ +
Applications indépendantes
+
Les applications peuvent choisir de manipuler la session en + s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas, + c'est l'application qui doit prendre en charge la lecture de la + session depuis le mécanisme de stockage choisi, son déchiffrement, + sa mise à jour, son chiffrement et sa réécriture vers le mécanisme + de stockage choisi de manière appropriée.
+
+ +
+
top
+

Directive Session

+ + + + + + + + +
Description:Ouvre une session pour le contexte courant
Syntaxe:Session On|Off
Défaut:Session Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive Session permet d'ouvrir une + session pour le contexte ou conteneur courant. Les directives + suivantes permettent de définir où la session sera stockée et + comment sera assurée la confidentialité.

+ +
+
top
+

Directive SessionEnv

+ + + + + + + + +
Description:Définit si le contenu de la session doit être enregistré +dans la variable d'environnement HTTP_SESSION
Syntaxe:SessionEnv On|Off
Défaut:SessionEnv Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

Lorsque la directive SessionEnv est + définie à On, le contenu de la session est enregistré + dans une variable d'environnement CGI nommée + HTTP_SESSION.

+ +

La chaîne est écrite sous le même format que celui de la chaîne + d'arguments d'une URL, comme dans l'exemple suivant :

+ +

+ clé1=foo&clé3=bar +

+ + +
+
top
+

Directive SessionExclude

+ + + + + + + +
Description:Définit les préfixes d'URLs pour lesquels une session sera +ignorée
Syntaxe:SessionExclude chemin
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session
+

La directive SessionExclude permet de + définir les préfixes d'URLs pour lesquels la session sera + désactivée. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session. La + directive SessionExclude + l'emporte sur la directive SessionInclude.

+ +

Avertissement

+

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré + séparément.

+ +
+
top
+

Directive SessionExpiryUpdateInterval

+ + + + + + + + +
Description:Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour
Syntaxe:SessionExpiryUpdateInterval interval
Défaut:SessionExpiryUpdateInterval 0 (mise à jour systématique)
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session
Compatibilité:Disponible à partir de la version 2.4.41 du serveur HTTP Apache
+

La directive SessionExpiryUpdateInterval + permet d'éviter le coût de l'écriture d'une session pour chaque + requête en n'effectuant cette mise à jour que lorsque la date + d'expiration a changé. Ceci permet d'améliorer les performances d'un + site web ou de réduire la charge d'une base de données lorsqu'on + utilise mod_session_dbd. La session est + systématiquement mise à jour si les données stockées dans la session + ont été modifiées ou si la durée d'expiration a été modifiée d'une + durée supérieure à l'intervalle spécifié.

+ +

Définir l'intervalle à 0 désactive cette directive, et + l'expiration de la session sera alors rafraîchie pour chaque requête.

+ +

Cette directive n'a d'effet que si on l'utilise en combinaison + avec la directive SessionMaxAge qui active + l'expiration des sessions. Les sessions sans date d'expiration ne + sont écrites que lorsque les données qu'elles renferment ont été + modifiées.

+ +

Avertissement

+

Comme l'expiration de la session n'est pas systématiquement + rafraîchie à chaque requête, une session peut arriver à expiration + plus tôt d'un nombre de secondes spécifié dans le paramètre + interval. Définir un petit intervalle est en général + assez sur, mais en revenche n'a qu'un effet minime sur la prise en + compte des durées d'expiration.

+ +
+
top
+

Directive SessionHeader

+ + + + + + + + +
Description:Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié
Syntaxe:SessionHeader en-tête
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionHeader permet de + définir le nom d'un en-tête de réponse HTTP qui, s'il est présent, + sera lu et son contenu écrit dans la session courante.

+ +

Le contenu de l'en-tête doit se présenter sous le même format que + celui de la chaîne d'arguments d'une URL, comme dans l'exemple + suivant :

+ +

+ clé1=foo&clé2=&clé3=bar +

+ +

Si une clé a pour valeur la chaîne vide, elle sera supprimée de + la session.

+ + +
+
top
+

Directive SessionInclude

+ + + + + + + + +
Description:Définit les préfixes d'URL pour lesquels une session est +valide
Syntaxe:SessionInclude chemin
Défaut:toutes URLs
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionInclude permet de + définir les préfixes d'URL spécifiques pour lesquels une session + sera valide. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session.

+ +

Avertissement

+

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré séparément.

+ +
+
top
+

Directive SessionMaxAge

+ + + + + + + + +
Description:Définit une durée de vie maximale pour la session en +secondes
Syntaxe:SessionMaxAge durée de vie maximale
Défaut:SessionMaxAge 0
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionMaxAge permet de + définir la durée maximale pendant laquelle une session restera + valide. Lorsqu'une session est sauvegardée, cette durée est + réinitialisée et la session peut continuer d'exister. Si la durée + d'une session dépasse cette limite sans qu'une requête au serveur ne + vienne la rafraîchir, la session va passer hors délai et sera + supprimée. Lorsqu'une session est utilisée pour stocker les + informations de connexion d'un utilisateur, ceci aura pour effet de + le déconnecter automatiquement après le délai spécifié.

+ +

Donner à cette directive la valeur 0 empêche l'expiration de la + session.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_cookie.html b/docs/manual/mod/mod_session_cookie.html new file mode 100644 index 0000000..98883c6 --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session_cookie.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session_cookie.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session_cookie.html.en b/docs/manual/mod/mod_session_cookie.html.en new file mode 100644 index 0000000..a748c2c --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html.en @@ -0,0 +1,197 @@ + + + + + +mod_session_cookie - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_session_cookie

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Cookie based session support
Status:Extension
Module Identifier:session_cookie_module
Source File:mod_session_cookie.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

Warning

+

The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.

+
+ +

This submodule of mod_session provides support for the + storage of user sessions on the remote browser within HTTP cookies.

+ +

Using cookies to store a session removes the need for the server or + a group of servers to store the session locally, or collaborate to share + a session, and can be useful for high traffic environments where a + server based session might be too resource intensive.

+ +

If session privacy is required, the mod_session_crypto + module can be used to encrypt the contents of the session before writing + the session to the client.

+ +

For more details on the session interface, see the documentation for + the mod_session module.

+ +
+ +
top
+
+

Basic Examples

+ +

To create a simple session and store it in a cookie called + session, configure the session as follows:

+ +

Browser based session

Session On
+SessionCookieName session path=/
+
+ +

For more examples on how the session can be configured to be read + from and written to by a CGI application, see the + mod_session examples section.

+ +

For documentation on how the session can be used to store username + and password details, see the mod_auth_form module.

+ +
+
top
+

SessionCookieName Directive

+ + + + + + + +
Description:Name and attributes for the RFC2109 cookie storing the session
Syntax:SessionCookieName name attributes
Default:none
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_cookie
+

The SessionCookieName directive specifies the name and + optional attributes of an RFC2109 compliant cookie inside which the session will + be stored. RFC2109 cookies are set using the Set-Cookie HTTP header. +

+ +

An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. +

+ +

Cookie with attributes

Session On
+SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

SessionCookieName2 Directive

+ + + + + + + +
Description:Name and attributes for the RFC2965 cookie storing the session
Syntax:SessionCookieName2 name attributes
Default:none
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_cookie
+

The SessionCookieName2 directive specifies the name and + optional attributes of an RFC2965 compliant cookie inside which the session will + be stored. RFC2965 cookies are set using the Set-Cookie2 HTTP header. +

+ +

An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. +

+ +

Cookie2 with attributes

Session On
+SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

SessionCookieRemove Directive

+ + + + + + + +
Description:Control for whether session cookies should be removed from incoming HTTP headers
Syntax:SessionCookieRemove On|Off
Default:SessionCookieRemove Off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_cookie
+

The SessionCookieRemove flag controls whether the cookies + containing the session will be removed from the headers during request processing.

+ +

In a reverse proxy situation where the Apache server acts as a server frontend for + a backend origin server, revealing the contents of the session cookie to the backend + could be a potential privacy violation. When set to on, the session cookie will be + removed from the incoming HTTP headers.

+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_cookie.html.fr.utf8 b/docs/manual/mod/mod_session_cookie.html.fr.utf8 new file mode 100644 index 0000000..4f72452 --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html.fr.utf8 @@ -0,0 +1,217 @@ + + + + + +mod_session_cookie - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_session_cookie

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des sessions basé sur les cookies
Statut:Extension
Identificateur de Module:session_cookie_module
Fichier Source:mod_session_cookie.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du stockage des sessions utilisateur au niveau du navigateur + distant dans des cookies HTTP.

+ +

L'utilisation de cookies pour stocker les sessions décharge le + serveur ou le groupe de serveurs de la nécessité de stocker les + sessions localement, ou de collaborer pour partager les sessions, et + peut être utile dans les environnements à fort trafic où le stockage + des sessions sur le serveur pourrait s'avérer trop consommateur de + ressources.

+ +

Si la confidentialité de la session doit être préservée, le + contenu de cette dernière peut être chiffré avant d'être enregistré + au niveau du client à l'aide du module + mod_session_crypto.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+ +
top
+
+

Exemples simples

+ +

Pour créer une session et la stocker dans un cookie nommé + session, configurez-la comme suit :

+ +

Session stockée au niveau du navigateur

Session On
+SessionCookieName session path=/
+
+ +

Pour plus d'exemples sur la manière dont une session doit être + configurée pour qu'une application CGI puisse l'utiliser, voir la + section exemples de la documentation du module + mod_session.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
+
top
+

Directive SessionCookieName

+ + + + + + + +
Description:Nom et attributs du cookie RFC2109 dans lequel la session +est stockée
Syntaxe:SessionCookieName nom attributs
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_cookie
+

La directive SessionCookieName permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2109 dans lequel la session sera stockée. Les cookies RFC2109 + sont définis en utilisant l'en-tête HTTP Set-Cookie. +

+ +

Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tels quels dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. +

+ +

Cookie avec attributs

Session On
+SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionCookieName2

+ + + + + + + +
Description:Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session
Syntaxe:SessionCookieName2 nom attributs
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_cookie
+

La directive SessionCookieName2 permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2965 dans lequel la session sera stockée. Les cookies RFC2965 + sont définis en utilisant l'en-tête HTTP + Set-Cookie2. +

+ +

Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tels quels dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. +

+ +

Cookie2 avec attributs

Session On
+SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionCookieRemove

+ + + + + + + +
Description:Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants
Syntaxe:SessionCookieRemove On|Off
Défaut:SessionCookieRemove Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_cookie
+

La directive SessionCookieRemove permet de + déterminer si les cookies contenant la session doivent être + supprimés des en-têtes pendant le traitement de la requête.

+ +

Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. À ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.

+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_crypto.html b/docs/manual/mod/mod_session_crypto.html new file mode 100644 index 0000000..815bc08 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session_crypto.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session_crypto.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session_crypto.html.en b/docs/manual/mod/mod_session_crypto.html.en new file mode 100644 index 0000000..8319db4 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html.en @@ -0,0 +1,266 @@ + + + + + +mod_session_crypto - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_session_crypto

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Session encryption support
Status:Experimental
Module Identifier:session_crypto_module
Source File:mod_session_crypto.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

Warning

+

The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.

+
+ +

This submodule of mod_session provides support for the + encryption of user sessions before being written to a local database, or + written to a remote browser via an HTTP cookie.

+ +

This can help provide privacy to user sessions where the contents of + the session should be kept private from the user, or where protection is + needed against the effects of cross site scripting attacks.

+ +

For more details on the session interface, see the documentation for + the mod_session module.

+ +
+ +
top
+
+

Basic Usage

+ +

To create a simple encrypted session and store it in a cookie called + session, configure the session as follows:

+ +

Browser based encrypted session

Session On
+SessionCookieName session path=/
+SessionCryptoPassphrase secret
+
+ +

The session will be encrypted with the given key. Different servers can + be configured to share sessions by ensuring the same encryption key is used + on each server.

+ +

If the encryption key is changed, sessions will be invalidated + automatically.

+ +

For documentation on how the session can be used to store username + and password details, see the mod_auth_form module.

+ +
+
top
+

SessionCryptoCipher Directive

+ + + + + + + + +
Description:The crypto cipher to be used to encrypt the session
Syntax:SessionCryptoCipher name
Default:SessionCryptoCipher aes256
Context:server config, virtual host, directory, .htaccess
Status:Experimental
Module:mod_session_crypto
Compatibility:Available in Apache 2.3.0 and later
+

The SessionCryptoCipher directive allows the cipher to + be used during encryption. If not specified, the cipher defaults to + aes256.

+ +

Possible values depend on the crypto driver in use, and could be one of:

+ +
  • 3des192
  • aes128
  • aes192
  • aes256
+ + +
+
top
+

SessionCryptoDriver Directive

+ + + + + + + + +
Description:The crypto driver to be used to encrypt the session
Syntax:SessionCryptoDriver name [param[=value]]
Default:none
Context:server config
Status:Experimental
Module:mod_session_crypto
Compatibility:Available in Apache 2.3.0 and later
+

The SessionCryptoDriver directive specifies the name of + the crypto driver to be used for encryption. If not specified, the driver defaults + to the recommended driver compiled into APR-util.

+ +

The NSS crypto driver requires some parameters for configuration, + which are specified as parameters with optional values after the driver name.

+ +

NSS without a certificate database

SessionCryptoDriver nss
+
+ +

NSS with certificate database

SessionCryptoDriver nss dir=certs
+
+ +

NSS with certificate database and parameters

SessionCryptoDriver nss dir=certs key3=key3.db cert7=cert7.db secmod=secmod
+
+ +

NSS with paths containing spaces

SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod
+
+ +

The NSS crypto driver might have already been + configured by another part of the server, for example from + mod_nss or mod_ldap. If found to + have already been configured, a warning will be logged, and the + existing configuration will have taken affect. To avoid this + warning, use the noinit parameter as follows.

+ +

NSS with certificate database

SessionCryptoDriver nss noinit
+
+ +

To prevent confusion, ensure that all modules requiring NSS are configured with + identical parameters.

+ +

The openssl crypto driver supports an optional parameter to specify + the engine to be used for encryption.

+ +

OpenSSL with engine support

SessionCryptoDriver openssl engine=name
+
+ + +
+
top
+

SessionCryptoPassphrase Directive

+ + + + + + + + +
Description:The key used to encrypt the session
Syntax:SessionCryptoPassphrase secret [ secret ... ]
Default:none
Context:server config, virtual host, directory, .htaccess
Status:Experimental
Module:mod_session_crypto
Compatibility:Available in Apache 2.3.0 and later
+

The SessionCryptoPassphrase directive specifies the keys + to be used to enable symmetrical encryption on the contents of the session before + writing the session, or decrypting the contents of the session after reading the + session.

+ +

Keys are more secure when they are long, and consist of truly random characters. + Changing the key on a server has the effect of invalidating all existing sessions.

+ +

Multiple keys can be specified in order to support key rotation. The first key + listed will be used for encryption, while all keys listed will be attempted for + decryption. To rotate keys across multiple servers over a period of time, add a new + secret to the end of the list, and once rolled out completely to all servers, remove + the first key from the start of the list.

+ +

As of version 2.4.7 if the value begins with exec: the resulting command + will be executed and the first line returned to standard output by the program will be + used as the key.

+
#key used as-is
+SessionCryptoPassphrase secret
+
+#Run /path/to/program to get key
+SessionCryptoPassphrase exec:/path/to/program
+
+#Run /path/to/otherProgram and provide arguments
+SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"
+
+ + +
+
top
+

SessionCryptoPassphraseFile Directive

+ + + + + + + + +
Description:File containing keys used to encrypt the session
Syntax:SessionCryptoPassphraseFile filename
Default:none
Context:server config, virtual host, directory
Status:Experimental
Module:mod_session_crypto
Compatibility:Available in Apache 2.3.0 and later
+

The SessionCryptoPassphraseFile directive specifies the + name of a configuration file containing the keys to use for encrypting or decrypting + the session, specified one per line. The file is read on server start, and a graceful + restart will be necessary for httpd to pick up changes to the keys.

+ +

Unlike the SessionCryptoPassphrase directive, the keys are + not exposed within the httpd configuration and can be hidden by protecting the file + appropriately.

+ +

Multiple keys can be specified in order to support key rotation. The first key + listed will be used for encryption, while all keys listed will be attempted for + decryption. To rotate keys across multiple servers over a period of time, add a new + secret to the end of the list, and once rolled out completely to all servers, remove + the first key from the start of the list.

+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_crypto.html.fr.utf8 b/docs/manual/mod/mod_session_crypto.html.fr.utf8 new file mode 100644 index 0000000..3e14c98 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html.fr.utf8 @@ -0,0 +1,293 @@ + + + + + +mod_session_crypto - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_session_crypto

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support du chiffrement des sessions
Statut:Expérimental
Identificateur de Module:session_crypto_module
Fichier Source:mod_session_crypto.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du chiffrement des sessions utilisateur avant de les + enregistrer dans une base de données locale, ou dans un cookie HTTP + au niveau du navigateur distant.

+ +

Il peut contribuer à préserver la confidentialité des sessions + lorsque leur contenu doit rester privé pour + l'utilisateur, ou lorsqu'une protection contre les attaques de type + cross site scripting est nécessaire.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+ +
top
+
+

Utilisation de base

+ +

Pour créer une session chiffrée et la stocker dans un cookie + nommé session, configurez la comme suit :

+ +

Session chiffrée stockée au niveau du + serveur

Session On
+SessionCookieName session path=/
+SessionCryptoPassphrase secret
+
+ +

La session sera chiffrée avec la clé spécifiée. Il est possible + de configurer plusieurs serveurs pour qu'ils puissent partager des + sessions, en s'assurant que la même clé de chiffrement est + utilisée sur chaque serveur.

+ +

Si la clé de chiffrement est modifiée, les sessions seront + automatiquement invalidées.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
+
top
+

Directive SessionCryptoCipher

+ + + + + + + + +
Description:L'algorithme à utiliser pour le chiffrement de la session
Syntaxe:SessionCryptoCipher algorithme
Défaut:SessionCryptoCipher aes256
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive SessionCryptoCipher permet de + spécifier l'algorithme à utiliser pour le chiffrement. En l'absence + de spécification, l'algorithme par défaut est aes256.

+ +

L'algorithme peut être choisi, en fonction du moteur de chiffrement + utilisé, parmi les valeurs suivantes :

+ +
  • 3des192
  • aes128
  • aes192
  • aes256
+ + +
+
top
+

Directive SessionCryptoDriver

+ + + + + + + + +
Description:Le pilote de chiffrement à utiliser pour chiffrer les +sessions
Syntaxe:SessionCryptoDriver nom [param[=valeur]]
Défaut:aucun
Contexte:configuration globale
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 +d'Apache
+

La directive SessionCryptoDriver permet de + spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun + pilote n'est spécifié, le pilote utilisé par défaut sera le pilote + recommandé compilé avec APR-util.

+ +

Le pilote de chiffrement NSS nécessite certains + paramètres de configuration, qui seront spécifiés comme arguments de + la directive avec des valeurs optionnelles après le nom du + pilote.

+ +

NSS sans base de données de certificats

SessionCryptoDriver nss
+
+ +

NSS avec base de données de certificats

SessionCryptoDriver nss dir=certs
+
+ +

NSS avec base de données de certificats et + paramètres

SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod
+
+ +

NSS avec chemins contenant des espaces

SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod
+
+ +

Le pilote de chiffrement NSS peut avoir été configuré + au préalable dans une autre partie du serveur, par exemple depuis + mod_nss ou mod_ldap. Si c'est le + cas, un avertissement sera enregistré dans le journal, et la + configuration existante s'en trouvera affectée. Pour éviter cet + avertissement, utilisez le paramètre noinit comme suit :

+ +

NSS avec base de données de certificats

SessionCryptoDriver nss noinit
+
+ +

Pour éviter la confusion, assurez-vous que tous les modules + utilisant NSS soient configurés avec des paramètres identiques.

+ +

Le pilote de chiffrement openssl accepte un paramètre + optionnel permettant de spécifier le moteur de chiffrement à + utiliser.

+ +

OpenSSL avec spécification du moteur de chiffrement

SessionCryptoDriver openssl engine=nom-moteur
+
+ + +
+
top
+

Directive SessionCryptoPassphrase

+ + + + + + + + +
Description:La clé utilisée pour chiffrer la session
Syntaxe:SessionCryptoPassphrase secret [ secret ... ]
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 +d'Apache
+

La directive SessionCryptoPassphrase + permet de spécifier les clés à utiliser pour chiffrer de manière + symétrique le contenu de la session avant de l'enregistrer, ou pour + déchiffrer le contenu de la session après sa lecture.

+ +

L'utilisation de clés longues et composées de caractères vraiment + aléatoires est plus performant en matière de sécurité. Modifier une + clé sur un serveur a pour effet d'invalider toutes les sessions + existantes.

+ +

Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.

+ +

Depuis la version 2.4.7, si la valeur de l'argument commence par exec: , la commande + spécifiée sera exécutée, et la première ligne que cette dernière + renverra sur la sortie standard sera utilisée comme clé.

+
# clé spécifiée et utilisée en tant que tel
+SessionCryptoPassphrase secret
+
+# exécution de /path/to/program pour générer la clé
+SessionCryptoPassphrase exec:/path/to/program
+
+# exécution de /path/to/program avec un argument pour générer la clé
+SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"
+
+ + +
+
top
+

Directive SessionCryptoPassphraseFile

+ + + + + + + + +
Description:Le fichier contenant les clés utilisées pour chiffrer la +session
Syntaxe:SessionCryptoPassphraseFile nom-fichier
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive SessionCryptoPassphraseFile + permet de spécifier le nom d'un fichier de configuration contenant + les clés à utiliser pour le chiffrement et le déchiffrement de la + session (une clé par ligne). Le fichier est lu au démarrage du + serveur, et un redémarrage graceful est nécessaire pour prendre en + compte un éventuel changement de clés.

+ +

À la différence de la directive SessionCryptoPassphrase, les + clés ne sont pas présentes dans le fichier de configuration de + httpd et peuvent être cachées via une protection + appropriée du fichier de clés.

+ +

Il est possible de spécifier plusieurs clés afin de mettre + en oeuvre la rotation de clés. La première clé + spécifiée sera utilisée pour le chiffrement, alors que + l'ensemble des clés spécifiées le sera pour le + déchiffrement. Pour effectuer une rotation périodique des + clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin + de liste, puis, une fois la rotation complète effectuée, + supprimez la première clé de la liste.

+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_dbd.html b/docs/manual/mod/mod_session_dbd.html new file mode 100644 index 0000000..e63e47f --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session_dbd.html.en b/docs/manual/mod/mod_session_dbd.html.en new file mode 100644 index 0000000..4c1eb27 --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html.en @@ -0,0 +1,357 @@ + + + + + +mod_session_dbd - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_session_dbd

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:DBD/SQL based session support
Status:Extension
Module Identifier:session_dbd_module
Source File:mod_session_dbd.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

Warning

+

The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.

+
+ +

This submodule of mod_session provides support for the + storage of user sessions within a SQL database using the + mod_dbd module.

+ +

Sessions can either be anonymous, where the session is + keyed by a unique UUID string stored on the browser in a cookie, or + per user, where the session is keyed against the userid of + the logged in user.

+ +

SQL based sessions are hidden from the browser, and so offer a measure of + privacy without the need for encryption.

+ +

Different webservers within a server farm may choose to share a database, + and so share sessions with one another.

+ +

For more details on the session interface, see the documentation for + the mod_session module.

+ +
+ +
top
+
+

DBD Configuration

+ +

Before the mod_session_dbd module can be configured to maintain a + session, the mod_dbd module must be configured to make the various database queries + available to the server.

+ +

There are four queries required to keep a session maintained, to select an existing session, + to update an existing session, to insert a new session, and to delete an expired or empty + session. These queries are configured as per the example below.

+ +

Sample DBD configuration

DBDriver pgsql
+DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost"
+DBDPrepareSQL "delete from session where key = %s" deletesession
+DBDPrepareSQL "update session set value = %s, expiry = %lld, key = %s where key = %s" updatesession
+DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession
+DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession
+DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession
+
+ +
top
+
+

Anonymous Sessions

+ +

Anonymous sessions are keyed against a unique UUID, and stored on the + browser within an HTTP cookie. This method is similar to that used by most + application servers to store session information.

+ +

To create a simple anonymous session and store it in a postgres database + table called apachesession, and save the session ID in a cookie + called session, configure the session as follows:

+ +

SQL based anonymous session

Session On
+SessionDBDCookieName session path=/
+
+ +

For more examples on how the session can be configured to be read + from and written to by a CGI application, see the + mod_session examples section.

+ +

For documentation on how the session can be used to store username + and password details, see the mod_auth_form module.

+ +
top
+
+

Per User Sessions

+ +

Per user sessions are keyed against the username of a successfully + authenticated user. It offers the most privacy, as no external handle + to the session exists outside of the authenticated realm.

+ +

Per user sessions work within a correctly configured authenticated + environment, be that using basic authentication, digest authentication + or SSL client certificates. Due to the limitations of who came first, + the chicken or the egg, per user sessions cannot be used to store + authentication credentials from a module like + mod_auth_form.

+ +

To create a simple per user session and store it in a postgres database + table called apachesession, and with the session keyed to the + userid, configure the session as follows:

+ +

SQL based per user session

Session On
+SessionDBDPerUser On
+
+ +
top
+
+

Database Housekeeping

+

Over the course of time, the database can be expected to start accumulating + expired sessions. At this point, the mod_session_dbd module + is not yet able to handle session expiry automatically.

+ +

Warning

+

The administrator will need to set up an external process via cron to clean + out expired sessions.

+
+ +
+
top
+

SessionDBDCookieName Directive

+ + + + + + + +
Description:Name and attributes for the RFC2109 cookie storing the session ID
Syntax:SessionDBDCookieName name attributes
Default:none
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDCookieName directive specifies the name and + optional attributes of an RFC2109 compliant cookie inside which the session ID will + be stored. RFC2109 cookies are set using the Set-Cookie HTTP header. +

+ +

An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. +

+ +

Cookie with attributes

Session On
+SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

SessionDBDCookieName2 Directive

+ + + + + + + +
Description:Name and attributes for the RFC2965 cookie storing the session ID
Syntax:SessionDBDCookieName2 name attributes
Default:none
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDCookieName2 directive specifies the name and + optional attributes of an RFC2965 compliant cookie inside which the session ID will + be stored. RFC2965 cookies are set using the Set-Cookie2 HTTP header. +

+ +

An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. +

+ +

Cookie2 with attributes

Session On
+SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

SessionDBDCookieRemove Directive

+ + + + + + + +
Description:Control for whether session ID cookies should be removed from incoming HTTP headers
Syntax:SessionDBDCookieRemove On|Off
Default:SessionDBDCookieRemove On
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDCookieRemove flag controls whether the cookies + containing the session ID will be removed from the headers during request processing.

+ +

In a reverse proxy situation where the Apache server acts as a server frontend for + a backend origin server, revealing the contents of the session ID cookie to the backend + could be a potential privacy violation. When set to on, the session ID cookie will be + removed from the incoming HTTP headers.

+ + +
+
top
+

SessionDBDDeleteLabel Directive

+ + + + + + + +
Description:The SQL query to use to remove sessions from the database
Syntax:SessionDBDDeleteLabel label
Default:SessionDBDDeleteLabel deletesession
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDDeleteLabel directive sets the default delete + query label to be used to delete an expired or empty session. This label must have been previously + defined using the DBDPrepareSQL directive.

+ + +
+
top
+

SessionDBDInsertLabel Directive

+ + + + + + + +
Description:The SQL query to use to insert sessions into the database
Syntax:SessionDBDInsertLabel label
Default:SessionDBDInsertLabel insertsession
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDInsertLabel directive sets the default insert + query label to be used to load in a session. This label must have been previously defined using the + DBDPrepareSQL directive.

+ +

If an attempt to update the session affects no rows, this query will be called to insert the + session into the database.

+ + +
+
top
+

SessionDBDPerUser Directive

+ + + + + + + +
Description:Enable a per user session
Syntax:SessionDBDPerUser On|Off
Default:SessionDBDPerUser Off
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDPerUser flag enables a per user session keyed + against the user's login name. If the user is not logged in, this directive will be + ignored.

+ + +
+
top
+

SessionDBDSelectLabel Directive

+ + + + + + + +
Description:The SQL query to use to select sessions from the database
Syntax:SessionDBDSelectLabel label
Default:SessionDBDSelectLabel selectsession
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDSelectLabel directive sets the default select + query label to be used to load in a session. This label must have been previously defined using the + DBDPrepareSQL directive.

+ + +
+
top
+

SessionDBDUpdateLabel Directive

+ + + + + + + +
Description:The SQL query to use to update existing sessions in the database
Syntax:SessionDBDUpdateLabel label
Default:SessionDBDUpdateLabel updatesession
Context:server config, virtual host, directory, .htaccess
Status:Extension
Module:mod_session_dbd
+

The SessionDBDUpdateLabel directive sets the default update + query label to be used to load in a session. This label must have been previously defined using the + DBDPrepareSQL directive.

+ +

If an attempt to update the session affects no rows, the insert query will be + called to insert the session into the database. If the database supports InsertOrUpdate, + override this query to perform the update in one query instead of two.

+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_dbd.html.fr.utf8 b/docs/manual/mod/mod_session_dbd.html.fr.utf8 new file mode 100644 index 0000000..60977a2 --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html.fr.utf8 @@ -0,0 +1,407 @@ + + + + + +mod_session_dbd - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_session_dbd

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des session basé sur DBD/SQL
Statut:Extension
Identificateur de Module:session_dbd_module
Fichier Source:mod_session_dbd.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du stockage des sessions utilisateur dans une base de + données SQL en utilisant le module mod_dbd.

+ +

Les sessions sont soit anonymes, et la session + est alors identifiée par un UUID unique stocké dans un cookie au + niveau du navigateur, soit propres à l'utilisateur, + et la session est alors identifiée par l'identifiant de + l'utilisateur connecté.

+ +

Les sessions basées sur SQL sont dissimulées au navigateur, et + permettent ainsi de préserver la confidentialité sans avoir recours + au chiffrement.

+ +

Plusieurs serveurs web d'une forêt de serveurs peuvent choisir de + partager une base de données, et ainsi partager les sessions entre + eux.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+ +
top
+
+

Configuration de DBD

+ +

Pour que le module mod_session_dbd puisse être + configuré et maintenir une session, il faut tout d'abord + configurer le module mod_dbd pour que le serveur + puisse exécuter des requêtes vers la base de données.

+ +

Quatre types de requêtes sont nécessaires pour maintenir une + session, sélectionner ou mettre à jour une session existante, + insérer une nouvelle session et supprimer une session vide ou + arrivée à expiration. Ces requêtes sont configurées comme dans + l'exemple suivant :

+ +

Exemple de configuration de DBD

DBDriver pgsql
+DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost"
+DBDPrepareSQL "delete from session where key = %s" deletesession
+DBDPrepareSQL "update session set value = %s, expiry = %lld, key = %s where key = %s" updatesession
+DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession
+DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession
+DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession
+
+ +
top
+
+

Sessions anonymes

+ +

Les sessions anonymes sont identifiées par un UUID unique, et + stockées dans un cookie au niveau du navigateur. Cette méthode est + similaire à celle utilisée par la plupart des serveurs + d'applications pour stocker les informations de session.

+ +

Pour créer une session anonyme, la stocker dans une table de + base de donnée postgres nommée apachesession, et + sauvegarder l'identifiant de session dans un cookie nommé + session, configurez la session comme suit :

+ +

Session anonyme basée sur SQL

Session On
+SessionDBDCookieName session path=/
+
+ +

Pour plus d'exemples sur la manière dont une application CGI + peut accéder aux informations de session, voir la section exemples + de la documentation du module mod_session.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
top
+
+

Sessions propres à un + utilisateur

+ +

Les sessions propres à un utilisateur sont identifiées par le + nom de l'utilisateur authentifié avec succès. Ceci permet + d'assurer une confidentialité optimale, car aucun traitement + externe à la session n'existe en dehors du contexte + authentifié.

+ +

Les sessions propres à un utilisateur ne fonctionnent que dans + un environnement d'authentification correctement configuré, qu'il + s'agisse d'une authentification de base, à base de condensés + (digest) ou de certificats client SSL. Suite à des limitations + dues à des dépendances mutuelles, les sessions propres à un + utilisateur ne peuvent pas être utilisées pour stocker les données + d'authentification en provenance d'un module comme + mod_auth_form.

+ +

Pour créer une session propre à un utilisateur, la stocker dans + une table de base de données postgres nommée + apachesession, avec comme clé de session l'identifiant + utilisateur, ajoutez les lignes suivantes :

+ +

Session propre à un utilisateur basée sur SQL

Session On
+SessionDBDPerUser On
+
+ +
top
+
+

Nettoyage de la base de + données

+

Avec le temps, la base de données va commencer à accumuler des + sessions expirées. Pour le moment, le module + mod_session_dbd n'est pas en mesure de gérer + automatiquement l'expiration des sessions.

+ +

Avertissement

+

L'administrateur devra mettre en oeuvre un traitement externe + via cron pour nettoyer les sessions expirées.

+
+ +
+
top
+

Directive SessionDBDCookieName

+ + + + + + + +
Description:Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session
Syntaxe:SessionDBDCookieName nom attributs
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDCookieName permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2109 qui contiendra l'identifiant de session. Les + cookies RFC2109 sont définis à l'aide de l'en-tête HTTP + Set-Cookie. +

+ +

Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tels quels, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. +

+ +

Cookie avec attributs

Session On
+SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionDBDCookieName2

+ + + + + + + +
Description:Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session
Syntaxe:SessionDBDCookieName2 nom attributs
Défaut:none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDCookieName2 permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2965 qui contiendra l'identifiant de session. Les + cookies RFC2965 sont définis à l'aide de l'en-tête HTTP + Set-Cookie2. +

+ +

Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. +

+ +

Cookie2 avec attributs

Session On
+SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionDBDCookieRemove

+ + + + + + + +
Description:Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants
Syntaxe:SessionDBDCookieRemove On|Off
Défaut:SessionDBDCookieRemove On
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDCookieRemove permet + de déterminer si les cookies contenant l'identifiant de session + doivent être supprimés des en-têtes pendant le traitement de la + requête.

+ +

Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. À ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.

+ + +
+
top
+

Directive SessionDBDDeleteLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour supprimer des sessions de la +base de données
Syntaxe:SessionDBDDeleteLabel étiquette
Défaut:SessionDBDDeleteLabel deletesession
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDDeleteLabel permet + de définir l'étiquette de la requête de suppression à utiliser par + défaut pour supprimer une session vide ou expirée. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ + +
+
top
+

Directive SessionDBDInsertLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour insérer des sessions dans la +base de données
Syntaxe:SessionDBDInsertLabel étiquette
Défaut:SessionDBDInsertLabel insertsession
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDInsertLabel permet + de définir l'étiquette de la requête d'insertion par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ +

Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est cette requête qui sera utilisée pour insérer + la session dans la base de données.

+ + +
+
top
+

Directive SessionDBDPerUser

+ + + + + + + +
Description:Active une session propre à un utilisateur
Syntaxe:SessionDBDPerUser On|Off
Défaut:SessionDBDPerUser Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDPerUser permet + d'activer une session propre à un utilisateur, dont la clé sera le + nom de l'utilisateur connecté. Si l'utilisateur n'est pas connecté, + la directive sera ignorée.

+ + +
+
top
+

Directive SessionDBDSelectLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour sélectionner des sessions +dans la base de données
Syntaxe:SessionDBDSelectLabel étiquette
Défaut:SessionDBDSelectLabel selectsession
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDSelectLabel permet + de définir l'étiquette de la requête de sélection par défaut à + utiliser pour charger une session. Cette étiquette doit avoir été + définie au préalable via une directive DBDPrepareSQL.

+ + +
+
top
+

Directive SessionDBDUpdateLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données
Syntaxe:SessionDBDUpdateLabel étiquette
Défaut:SessionDBDUpdateLabel updatesession
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDUpdateLabel permet + de définir l'étiquette de la requête de mise à jour par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ +

Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est la requête d'insertion qui sera appelée pour + insérer la session dans la base de données. Si la base de données + supporte InsertOrUpdate, modifiez cette requête pour effectuer la + mise à jour en une seule requête au lieu de deux.

+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html b/docs/manual/mod/mod_setenvif.html new file mode 100644 index 0000000..d71ef31 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_setenvif.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_setenvif.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_setenvif.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_setenvif.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_setenvif.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_setenvif.html.en b/docs/manual/mod/mod_setenvif.html.en new file mode 100644 index 0000000..ac335b0 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.en @@ -0,0 +1,361 @@ + + + + + +mod_setenvif - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_setenvif

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Allows the setting of environment variables based +on characteristics of the request
Status:Base
Module Identifier:setenvif_module
Source File:mod_setenvif.c
+

Summary

+ + +

The mod_setenvif module allows you to set + internal environment variables according to whether different aspects of + the request match regular expressions you specify. These + environment variables can be used by other parts of the server + to make decisions about actions to be taken, as well as becoming + available to CGI scripts and SSI pages.

+ +

The directives are considered in the order they appear in + the configuration files. So more complex sequences can be used, + such as this example, which sets netscape if the + browser is mozilla but not MSIE.

+ +
BrowserMatch ^Mozilla netscape
+BrowserMatch MSIE !netscape
+ + +

When the server looks up a path via an internal + subrequest such as looking + for a DirectoryIndex + or generating a directory listing with mod_autoindex, + per-request environment variables are not inherited in the + subrequest. Additionally, + SetEnvIf directives + are not separately evaluated in the subrequest due to the API phases + mod_setenvif takes action in.

+ +
+ + +
top
+

BrowserMatch Directive

+ + + + + + + +
Description:Sets environment variables conditional on HTTP User-Agent +
Syntax:BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_setenvif
+

The BrowserMatch is a special cases of the + SetEnvIf directive that + sets environment variables conditional on the + User-Agent HTTP request header. The following two + lines have the same effect:

+
BrowserMatch Robot is_a_robot
+SetEnvIf User-Agent Robot is_a_robot
+ + +

Some additional examples:

+
BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+BrowserMatch MSIE !javascript
+ + +
+
top
+

BrowserMatchNoCase Directive

+ + + + + + + +
Description:Sets environment variables conditional on User-Agent without +respect to case
Syntax:BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_setenvif
+ +

The BrowserMatchNoCase directive is + semantically identical to the BrowserMatch directive. + However, it provides for case-insensitive matching. For + example:

+
BrowserMatchNoCase mac platform=macintosh
+BrowserMatchNoCase win platform=windows
+ + +

The BrowserMatch and + BrowserMatchNoCase directives are special cases of + the SetEnvIf and SetEnvIfNoCase + directives. The following two lines have the same effect:

+
BrowserMatchNoCase Robot is_a_robot
+SetEnvIfNoCase User-Agent Robot is_a_robot
+ + +
+
top
+

SetEnvIf Directive

+ + + + + + + +
Description:Sets environment variables based on attributes of the request +
Syntax:SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_setenvif
+

The SetEnvIf directive defines + environment variables based on attributes of the request. The + attribute specified in the first argument can be one of four + things:

+ +
    +
  1. An HTTP request header field (see RFC2616 + for more information about these); for example: Host, + User-Agent, Referer, and + Accept-Language. A regular expression may be + used to specify a set of request headers.
  2. + +
  3. One of the following aspects of the request: +
      +
    • Remote_Host - the hostname (if available) of + the client making the request
    • + +
    • Remote_Addr - the IP address of the client + making the request
    • + +
    • Server_Addr - the IP address of the server + on which the request was received (only with versions later + than 2.0.43)
    • + +
    • Request_Method - the name of the method + being used (GET, POST, et + cetera)
    • + +
    • Request_Protocol - the name and version of + the protocol with which the request was made (e.g., + "HTTP/0.9", "HTTP/1.1", etc.)
    • + +
    • Request_URI - the resource requested on the HTTP + request line -- generally the portion of the URL + following the scheme and host portion without the query string. See + the RewriteCond + directive of mod_rewrite for extra information on + how to match your query string.
    • +
    +
  4. + +
  5. The name of an environment variable in the list of those +associated with the request. This allows +SetEnvIf directives to test against the result +of prior matches. Only those environment variables defined by earlier +SetEnvIf[NoCase] directives are available for testing in +this manner. 'Earlier' means that they were defined at a broader scope +(such as server-wide) or previously in the current directive's scope. +Environment variables will be considered only if there was no match +among request characteristics and a regular expression was not +used for the attribute.
  6. + +
+ +

The second argument (regex) is a regular expression. If the regex +matches against the attribute, then the remainder of the +arguments are evaluated.

+ +

The rest of the arguments give the names of variables to set, and +optionally values to which they should be set. These take the form +of

+ +
    +
  1. varname, or
  2. + +
  3. !varname, or
  4. + +
  5. varname=value
  6. +
+ +

In the first form, the value will be set to "1". The second + will remove the given variable if already defined, and the + third will set the variable to the literal value given by + value. Since version 2.0.51, Apache httpd will + recognize occurrences of $1..$9 within + value and replace them by parenthesized subexpressions + of regex. $0 provides access to the whole + string matched by that pattern.

+ +
SetEnvIf Request_URI "\.gif$" object_is_image=gif
+SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+    
+SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral
+    
+SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+    
+SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1
+
+SetEnvIf ^TS  ^[a-z]  HAVE_TS
+ + +

The first three will set the environment variable + object_is_image if the request was for an image + file, and the fourth sets intra_site_referral if + the referring page was somewhere on the + www.mydomain.example.com Web site.

+ +

The last example will set environment variable + HAVE_TS if the request contains any headers that + begin with "TS" whose values begins with any character in the + set [a-z].

+ +

See also

+ +
+
top
+

SetEnvIfExpr Directive

+ + + + + + + +
Description:Sets environment variables based on an ap_expr expression
Syntax:SetEnvIfExpr expr + [!]env-variable[=value] + [[!]env-variable[=value]] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_setenvif
+

The SetEnvIfExpr directive defines + environment variables based on an <If> + ap_expr. These expressions will be evaluated at runtime, + and applied env-variable in the same fashion as SetEnvIf.

+ +
SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
+ + +

This would set the environment variable iso_delivered + every time our application attempts to send it via X-Sendfile

+ +

A more useful example would be to set the variable rfc1918 if the + remote IP address is a private address according to RFC 1918:

+ +
SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918
+ + +

See also

+ +
+
top
+

SetEnvIfNoCase Directive

+ + + + + + + +
Description:Sets environment variables based on attributes of the request +without respect to case
Syntax:SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Base
Module:mod_setenvif
+ +

The SetEnvIfNoCase is semantically identical to + the SetEnvIf directive, + and differs only in that the regular expression matching is + performed in a case-insensitive manner. For example:

+
SetEnvIfNoCase Host Example\.Org site=example
+ + +

This will cause the site environment variable + to be set to "example" if the HTTP request header + field Host: was included and contained + Example.Org, example.org, or any other + combination.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.fr.utf8 b/docs/manual/mod/mod_setenvif.html.fr.utf8 new file mode 100644 index 0000000..77e7db3 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.fr.utf8 @@ -0,0 +1,373 @@ + + + + + +mod_setenvif - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_setenvif

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Permet de définir des variables d'environnement en fonction +de certainescaractéristiques de la requête
Statut:Base
Identificateur de Module:setenvif_module
Fichier Source:mod_setenvif.c
+

Sommaire

+ + +

Le module mod_setenvif vous permet de définir + des variables d'environnement internes de manière conditionnelle en fonction + de critères que vous pouvez spécifier. Ces variables d'environnement + peuvent être utilisées par d'autres parties du serveur pour prendre + des décisions quant aux actions à entreprendre, et pour déterminer + si les scripts CGI et les pages SSI doivent pouvoir y accéder.

+ +

Les directives sont interprétées selon l'ordre dans lequel elles + apparaîssent dans les fichiers de configuration. Ainsi, des + séquences plus complexes peuvent être utilisées, comme dans cet + exemple qui définit netscape si le navigateur est Mozilla et non + MSIE.

+ +
BrowserMatch ^Mozilla netscape
+BrowserMatch MSIE !netscape
+ + +

Lorsque le serveur cherche un chemin via une sous-requête interne (par exemple la + recherche d'un DirectoryIndex), ou lorsqu'il génère un + listing du contenu d'un répertoire via le module + mod_autoindex, la sous-requête n'hérite pas des + variables d'environnement spécifiques à la requête. En outre, à cause + des phases de l'API auxquelles mod_setenvif prend + part, les directives SetEnvIf ne sont pas évaluées + séparément dans la sous-requête.

+ +
+ + +
top
+

Directive BrowserMatch

+ + + + + + + +
Description:Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent
Syntaxe:BrowserMatch regex [!]env-variable[=valeur] +[[!]env-variable[=valeur]] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_setenvif
+

La directive BrowserMatch est un cas + particulier de la directive SetEnvIf, qui définit des variables + d'environnement en fonction du contenu de l'en-tête de requête HTTP + User-Agent. Les deux lignes suivantes produisent le même + effet :

+
BrowserMatch Robot is_a_robot
+SetEnvIf User-Agent Robot is_a_robot
+ + +

Quelques exemples supplémentaires :

+
BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+BrowserMatch MSIE !javascript
+ + +
+
top
+

Directive BrowserMatchNoCase

+ + + + + + + +
Description:Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la +casse
Syntaxe:BrowserMatchNoCase regex [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_setenvif
+ +

La directive BrowserMatchNoCase est + identique sur le plan sémantique à la directive BrowserMatch. Elle permet + cependant une comparaison insensible à la casse. Par exemple :

+
BrowserMatchNoCase mac platform=macintosh
+BrowserMatchNoCase win platform=windows
+ + +

Les directives BrowserMatch et + BrowserMatchNoCase sont des cas particuliers + des directives SetEnvIf + et SetEnvIfNoCase. + Ainsi, les deux lignes suivantes produisent le même effet :

+
BrowserMatchNoCase Robot is_a_robot
+SetEnvIfNoCase User-Agent Robot is_a_robot
+ + +
+
top
+

Directive SetEnvIf

+ + + + + + + +
Description:Définit des variables d'environnement en fonction des +attributs de la requête
Syntaxe:SetEnvIf attribut + regex [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_setenvif
+

La directive SetEnvIf permet de définir + des variables d'environnement en fonction des attributs de la + requête. L'attribut spécifié comme premier argument peut + se présenter sous l'une des trois formes suivantes :

+ +
    +
  1. Un champ d'en-tête de requête HTTP (voir la RFC2616 pour + plus d'information à leur propos) ; par exemple : Host, + User-Agent, Referer, ou + Accept-Language. Il est possible d'utiliser une + expression rationnelle pour spécifier un jeu d'en-têtes de + requête.
  2. + +
  3. Une des caractéristiques de la requête suivantes : +
      +
    • Remote_Host - le nom d'hôte (s'il est disponible) + du client qui effectue la requête
    • + +
    • Remote_Addr - l'adresse IP du client qui effectue + la requête
    • + +
    • Server_Addr - l'adresse IP du serveur qui a reçu + la requête (uniquement à partir des versions supérieures à + 2.0.43)
    • + +
    • Request_Method - Le nom de la méthode HTTP + utilisée (GET, POST, et + cetera...)
    • + +
    • Request_Protocol - le nom et la version du + protocole utilisé pour la requête (par exemple "HTTP/0.9", + "HTTP/1.1", etc...)
    • + +
    • Request_URI - la ressource demandée dans la ligne + de requête HTTP -- en général la partie de l'URL suivant le + protocole et le nom du serveur, sans la chaîne d'arguments. Voir + la directive RewriteCond du module + mod_rewrite pour plus d'informations sur la + manière de mettre en correspondance votre chaîne d'arguments.
    • +
    +
  4. + +
  5. Le nom d'une variable d'environnement parmi la liste de celles qui +sont associées à la requête. Ceci permet à la directive +SetEnvIf d'effectuer des tests en fonction du +résultat de comparaisons précédentes. Seules les variables +d'environnement définies par des directives +SetEnvIf[NoCase] précédentes sont disponibles pour +effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se +trouvent à un niveau plus global de la configuration (par exemple au +niveau du serveur principal), ou plus haut chronologiquement dans le +contexte de la directive. Les variables d'environnement ne seront prises +en compte que si aucune correspondance n'a été trouvée parmi les +caractéristiques de la requête, et si attribut n'a pas été +spécifié sous la forme d'une expression rationnelle.
  6. + +
+ +

Le second argument (regex) est une expression rationnelle. Si regex +correspond à l'attribut, les arguments suivants sont évalués.

+ +

Le reste des arguments constitue les noms des variables à définir, +ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils +peuvent se présenter sous les formes suivantes :

+ +
    +
  1. nom-variable, ou
  2. + +
  3. !nom-variable, ou
  4. + +
  5. nom-variable=valeur
  6. +
+ +

Dans la première forme, la valeur sera définie à "1". Dans la + seconde forme, la variable sera supprimée si elle a été définie au + préalable, et dans la troisième forme, la variable sera définie à la + valeur littérale spécifiée par valeur. Depuis + la version 2.0.51, Apache httpd reconnaît les occurrences de variables + $1..$9 à l'intérieur de + valeur, et les remplace par les + sous-expressions entre parenthèses correspondantes de + regex. $0 permet d'accéder à l'ensemble de la chaîne + qui correspond à ce modèle.

+ +
SetEnvIf Request_URI "\.gif$" object_is_image=gif
+SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+    
+SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral
+    
+SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1
+    
+SetEnvIf ^TS  ^[a-z]  HAVE_TS
+ + +

Les trois premières lignes définissent la variable + d'environnement objet_est_une_image si l'objet de la + requête est un fichier image, et la quatrième définit la variable + intra_site_referral si la page référante se trouve + quelque part dans le site web + www.mydomain.example.com.

+ +

La dernière ligne définit la variable d'environnement + HAVE_TS si la requête contient un en-tête dont le nom + commence par "TS" et dont la valeur commence par tout caractère du + jeu [a-z].

+ +

Voir aussi

+ +
+
top
+

Directive SetEnvIfExpr

+ + + + + + + +
Description:Définit des variables d'environnement en fonction d'une expression ap_expr
Syntaxe:SetEnvIfExpr expr + [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_setenvif
+

La directive SetEnvIfExpr permet de + définir des variables d'environnement en fonction d'une expression + <If> ap_expr. Cette + expression est évaluée à l'exécution, et utilise les variables + d'environnement env-variable de la même manière que la + directive SetEnvIf.

+ +
SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
+ + +

Dans cet exemple, la variable d'environnement + iso_delivered est définie chaque fois que notre + application tente de l'envoyer via X-Sendfile.

+ +

Il pourrait être plus utile de définir une variable rfc1918 si + l'adresse IP distante est une adresse privée au sens de la RFC 1918 + :

+ +
SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918
+ + +

Voir aussi

+ +
+
top
+

Directive SetEnvIfNoCase

+ + + + + + + +
Description:Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse
Syntaxe:SetEnvIfNoCase attribut regex + [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Base
Module:mod_setenvif
+ +

La directive SetEnvIfNoCase est identique + d'un point de vue sémantique à la directive SetEnvIf, et ne s'en distingue que + par le fait que la comparaison des expressions rationnelles est + effectuée sans tenir compte de la casse. Par exemple :

+
SetEnvIfNoCase Host Example\.Org site=example
+ + +

Cette ligne va définir la variable d'environnement + site avec la valeur "example" si le champ + d'en-tête de requête HTTP Host: est présent et contient + Example.Org, example.org, ou une autre + combinaison des mêmes caractères, sans tenir compte de la casse.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.ja.utf8 b/docs/manual/mod/mod_setenvif.html.ja.utf8 new file mode 100644 index 0000000..4d6346f --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.ja.utf8 @@ -0,0 +1,340 @@ + + + + + +mod_setenvif - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_setenvif

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:リクエストã®ç‰¹å¾´ã«åŸºã¥ã„ãŸç’°å¢ƒå¤‰æ•°ã®è¨­å®šã‚’å¯èƒ½ã«ã™ã‚‹
ステータス:Base
モジュール識別å­:setenvif_module
ソースファイル:mod_setenvif.c
+

概è¦

+ + +

mod_setenvif + モジュールã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã‚ã‚‹å´é¢ãŒæŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾ + ã«åˆã†ã‹ã©ã†ã‹ã«ã‚ˆã£ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚ + ã“れらã®ç’°å¢ƒå¤‰æ•°ã‚’使用ã—ã¦ã€ã‚µãƒ¼ãƒã®ä»–ã®éƒ¨åˆ†ãŒã©ã®ã‚ˆã†ãªå‹•ä½œã‚’ã™ã‚‹ã‹ã‚’ + 決定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒæä¾›ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ + 設定ファイルã«ç¾ã‚Œã‚‹é †ç•ªã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ + ãれを使ã£ã¦ã€æ¬¡ã®ä¾‹ã®ã‚ˆã†ã«ã‚ˆã‚Šè¤‡é›‘ãªè¨­å®šã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã‚Œã¯ã€ãƒ–ラウザ㌠mozilla ã§ã¯ã‚ã‚‹ã‘ã‚Œã©ã€MSIE ã§ã¯ãªã„ã¨ãã« + netscape を設定ã—ã¾ã™ã€‚

+

+ BrowserMatch ^Mozilla netscape
+ BrowserMatch MSIE !netscape
+

+
+ + +
top
+

BrowserMatch ディレクティブ

+ + + + + + + +
説明:HTTP User-Agent ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ +
構文:BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_setenvif
+

BrowserMatch 㯠+ SetEnvIf ディレクティブ㮠+ 特例ã§ã€User-Agent HTTP リクエストヘッダã«åŸºã¥ã„㦠+ 環境変数を設定ã—ã¾ã™ã€‚以下㮠2 è¡Œã®åŠ¹æžœã¯åŒã˜ã«ãªã‚Šã¾ã™:

+ +

+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+

+ +

ãã®ä»–ã®ä¾‹:

+

+ BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+ BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+ BrowserMatch MSIE !javascript
+

+ +
+
top
+

BrowserMatchNoCase ディレクティブ

+ + + + + + + +
説明:HTTP User-Agent ã«åŸºã¥ã„ã¦å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã« +環境変数を設定ã™ã‚‹
構文:BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_setenvif
+ +

BrowserMatchNoCase ディレクティブ㯠+ æ„味的ã«ã¯ BrowserMatch ディレクティブ㨠+ åŒã˜ã§ã™ã€‚ãŸã ã—ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ãªã„ + マッãƒãƒ³ã‚°ã‚’è¡Œãªã„ã¾ã™ã€‚例ãˆã°:

+ +

+ BrowserMatchNoCase mac platform=macintosh
+ BrowserMatchNoCase win platform=windows
+

+ +

BrowserMatch ディレクティブ㨠+ BrowserMatchNoCase ディレクティブ㯠+ SetEnvIf ディレクティブ㨠+ SetEnvIfNoCase ディレクティブ㮠+ 特例ã§ã™ã€‚以下㮠2 è¡Œã®åŠ¹æžœã¯åŒã˜ã§ã™:

+ +

+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+

+ +
+
top
+

SetEnvIf ディレクティブ

+ + + + + + + +
説明:リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ +
構文:SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_setenvif
+

SetEnvIf + ディレクティブã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å±žæ€§ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’定義ã—ã¾ã™ã€‚ + 最åˆã®å¼•æ•°ã§æŒ‡å®šã§ãã‚‹ attribute ã¯ä»¥ä¸‹ã® 4 ã¤ã®ã©ã‚Œã‹ã§ã™:

+ +
    +
  1. HTTP リクエストヘッダフィールド (詳ã—ã„情報㯠RFC 2616 ã‚’ + å‚ç…§ã—ã¦ãã ã•ã„)。例ãˆã°ã€Host, + User-Agent, Referer, + Accept-Language ã§ã™ã€‚リクエストヘッダã®é›†åˆã‚’ç¾ã™ãŸã‚ã« + æ­£è¦è¡¨ç¾ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
  2. + +
  3. 以下ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ä¸€éƒ¨åˆ†ã®ã©ã‚Œã‹: + +
      +
    • Remote_Host - + リクエストを行ãªã£ã¦ã„るクライアントã®ãƒ›ã‚¹ãƒˆå (ã‚‚ã—ã‚ã‚Œã°)
    • + +
    • Remote_Addr - + リクエストを行ãªã£ã¦ã„るクライアント㮠IP アドレス
    • + +
    • Server_Addr - + リクエストをå—ã‘å–ã£ãŸã‚µãƒ¼ãƒã® IP アドレス + (2.0.43 以é™ã®ã¿)
    • + +
    • Request_Method - + 使用ã•ã‚Œã¦ã„るメソッドå (GET, POST + ãªã©)
    • + +
    • Request_Protocol - + リクエストãŒè¡Œãªã‚ã‚ŒãŸãƒ—ロトコルã®åå‰ã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³ + (例ãˆã°ã€"HTTP/0.9", "HTTP/1.1" ãªã©ã€‚)
    • + +
    • Request_URI - + URL ã®ã‚¹ã‚­ãƒ¼ãƒ ã¨ãƒ›ã‚¹ãƒˆã®å¾Œã®éƒ¨åˆ†ã€‚ + 追加ã®æƒ…å ±ã¨ã—ã¦ã€ã‚¯ã‚¨ãƒªãƒ¼ã‚¹ãƒˆãƒªãƒ³ã‚°ã«ãƒžãƒƒãƒã•ã›ã‚‹å ´åˆã«ã¤ã„ã¦ã¯ + RewriteCond + ディレクティブをå‚ç…§ã—ã¦ãã ã•ã„。
    • +
    +
  4. + +
  5. リクエストã¨é–¢é€£ä»˜ã‘られる環境変数ã®ãƒªã‚¹ãƒˆã€‚ã“ã‚Œã«ã‚ˆã‚Š +SetEnvIf ディレクティブãŒä»¥å‰ã®ãƒžãƒƒãƒã®çµæžœã‚’ +使ã†ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã“ã®æ–¹æ³•ã®ãƒ†ã‚¹ãƒˆã§ã¯å‰ã®éƒ¨åˆ†ã«ã‚ã‚‹ +SetEnvIf[NoCase] ã®çµæžœã®ã¿ã‚’使用å¯èƒ½ã§ã™ã€‚「å‰ã€ã¨ã¯ã€ +より広ã„範囲ã«å¯¾ã—ã¦å®šç¾©ã•ã‚Œã¦ã„ã‚‹ (サーãƒå…¨ä½“ã®ã‚ˆã†ã«) ã‹ã€ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã® +範囲ã§ã‚ˆã‚Šå‰ã®éƒ¨åˆ†ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ã‹ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚ +環境変数ã§ã‚ã‚‹å¯èƒ½æ€§ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ç‰¹æ€§ã«å¯¾ã™ã‚‹ãƒžãƒƒãƒãŒå­˜åœ¨ã›ãšã€ +attribute ã«æ­£è¦è¡¨ç¾ãŒä½¿ã‚ã‚Œãªã‹ã£ãŸã¨ãã«ã®ã¿è€ƒæ…®ã•ã‚Œã¾ã™ã€‚
  6. + +
  7. + SSL クライアント証明書拡張ã¸ã®å‚ç…§ã§ã€oid オブジェクト ID + ã§æŒ‡å®šã•ã‚Œã‚‹ã‚‚ã®ã€‚ + SSL リクエストã§ãªã„å ´åˆã‚„ oid ãŒè¨­å®šã•ã‚Œã¦ã„ãªã‹ã£ãŸå ´åˆã¯ã€ + 変数ã¯ã‚»ãƒƒãƒˆã•ã‚Œã¾ã›ã‚“。oid ãŒè¤‡æ•°è¦‹ã¤ã‹ã£ãŸå ´åˆã¯ + ãれらã®æ–‡å­—列ã¯ã‚«ãƒ³ãƒž ',' 区切りã§é€£çµã•ã‚Œã¾ã™ã€‚ + oid ã¯æ–‡å­—列型拡張ã¸ã®å‚ç…§ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 +
  8. +
+ +

二ã¤ç›®ã®å¼•æ•° (regex) 㯠正è¦è¡¨ç¾ã§ã™ã€‚ +ã“れ㯠POSIX.2 ã® egrep å½¢å¼ã®æ­£è¦è¡¨ç¾ã¨ä¼¼ã¦ã„ã¾ã™ã€‚regex ㌠+attribute ã«ãƒžãƒƒãƒã™ã‚‹å ´åˆã¯ã€æ®‹ã‚Šã®å¼•æ•°ãŒè©•ä¾¡ã•ã‚Œã¾ã™ã€‚

+ +

残りã®å¼•æ•°ã¯è¨­å®šã™ã‚‹å¤‰æ•°ã®åå‰ã§ã€è¨­å®šã•ã‚Œã‚‹å€¤ã‚’指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ +ã“ã‚Œã¯ã€

+ +
    +
  1. varname
  2. + +
  3. !varname
  4. + +
  5. varname=value
  6. +
+ +

ã®ã©ã‚Œã‹ã®å½¢å¼ã«ãªã‚Šã¾ã™ã€‚

+ +

最åˆã®å½¢å¼ã§ã¯ã€å€¤ã¯ "1" ã«è¨­å®šã•ã‚Œã¾ã™ã€‚ + 二ã¤ç›®ã¯ã‚‚ã—値ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚Œã°ãれをå–り除ãã¾ã™ã€‚ + 三ã¤ç›®ã¯å¤‰æ•°ã‚’ value ã®ä¸Žãˆã‚‰ã‚ŒãŸå€¤ã«è¨­å®šã—ã¾ã™ã€‚ + 2.0.51 以é™ã§ã¯ã€value 内㫠$1..$9 + ãŒå­˜åœ¨ã™ã‚Œã°ãれをèªè­˜ã—ã€regex ã®å¯¾å¿œã™ã‚‹ä¸¸æ‹¬å¼§ã§å›²ã¾ã‚ŒãŸéƒ¨åˆ†ã§ + ç½®æ›ã—ã¾ã™ã€‚

+ +

例:

+ + SetEnvIf Request_URI "\.gif$" object_is_image=gif
+ SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+ SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+ :
+ SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral
+ :
+ SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+ :
+ SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" NetscapeComment=$1
+ :
+ SetEnvIf ^TS* ^[a-z].* HAVE_TS
+

+ +

åˆã‚ã®ä¸‰ã¤ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒç”»åƒã§ã‚ã‚‹ã¨ãã«ç’°å¢ƒå¤‰æ•° + object_is_image を設定ã—ã¾ã™ã€‚å››ã¤ç›®ã¯ + å‚照元ã®ãƒšãƒ¼ã‚¸ãŒã‚¦ã‚§ãƒ–サイト www.mydomain.example.com ã«ã‚ã‚‹ã¨ãã« + intra_site_referral を設定ã—ã¾ã™ã€‚

+ +

6番目ã®ä¾‹ã§ã¯ç’°å¢ƒå¤‰æ•° NetscapeComment を定義ã—ã¦ã€ + ãã®å€¤ãŒ SSL クライアント証明書ã®å¯¾å¿œã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ–‡å­—列ã§ã‚るよã†ã«ã—ã¾ã™ã€‚ + ãŸã ã— SSL クライアント証明書ã®å¯¾å¿œã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«æ–‡å­—列ãŒå­˜åœ¨ã™ã‚‹ + ã¨ãã«ã®ã¿ã€ç’°å¢ƒå¤‰æ•°ã¯è¨­å®šã•ã‚Œã¾ã™ã€‚

+ +

最後ã®ä¾‹ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã« "TS" ã§å§‹ã¾ã‚Šã€å€¤ãŒé›†åˆ [a-z] ã®ã©ã‚Œã‹ã§ + 始ã¾ã‚‹ãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹ã¨ãã« HAVE_TS を設定ã—ã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

SetEnvIfExpr ディレクティブ

+ + + + + + +
説明:Sets environment variables based on an ap_expr expression
構文:
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
ステータス:Base
モジュール:mod_setenvif

Documentation not yet translated. Please see English version of document.

+
+
top
+

SetEnvIfNoCase ディレクティブ

+ + + + + + + +
説明:リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹
構文:SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:FileInfo
ステータス:Base
モジュール:mod_setenvif
+ +

SetEnvIfNoCase ã¯æ„味的ã«ã¯ + SetEnvIf ディレクティブ㨠+ åŒã˜ã§ã™ã€‚é•ã„ã¯ã€æ­£è¦è¡¨ç¾ã®ãƒžãƒƒãƒãƒ³ã‚°ãŒå¤§æ–‡å­—å°æ–‡å­—を区別ã—ãªã„㧠+ è¡Œãªã‚れるã“ã¨ã§ã™ã€‚例ãˆã°:

+ +

+ SetEnvIfNoCase Host Apache\.Org site=apache +

+ +

ã“れ㯠HTTP リクエストヘッダã«ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ Host: ㌠+ ã‚ã‚Šã€ãã®å€¤ãŒ Apache.Org ã‚„ apache.org〠+ ãã®ä»–ã®å¤§æ–‡å­—å°æ–‡å­—ã®çµ„ã¿åˆã‚ã›ã§ã‚ã£ãŸã¨ãã« site + 環境変数を "apache" ã«è¨­å®šã—ã¾ã™ã€‚

+ + +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.ko.euc-kr b/docs/manual/mod/mod_setenvif.html.ko.euc-kr new file mode 100644 index 0000000..326c702 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.ko.euc-kr @@ -0,0 +1,297 @@ + + + + + +mod_setenvif - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_setenvif

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¿äûÀÇ ¼º°Ý¿¡ µû¶ó ȯ°æº¯¼ö ¼³Á¤À» º¯°æÇÑ´Ù
»óÅÂ:Base
¸ðµâ¸í:setenvif_module
¼Ò½ºÆÄÀÏ:mod_setenvif.c
+

¿ä¾à

+ + +

mod_setenvif ¸ðµâÀº ¿äûÀÇ ¼º°ÝÀÌ + Á¤±ÔÇ¥Çö½Ä¿¡ ÇØ´çÇÏ´ÂÁö ¿©ºÎ·Î ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù. ¼­¹öÀÇ + ´Ù¸¥ ºÎºÐÀÌ ÇൿÀ» °áÁ¤ÇÒ¶§ ÀÌ È¯°æº¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¼³Á¤ÆÄÀÏ¿¡ ³ª¿À´Â ¼ø¼­´ë·Î Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù. ±×·¡¼­ + ºê¶ó¿ìÀú°¡ MSIE°¡ ¾Æ´Ï¶ó mozillaÀÎ °æ¿ì netscape¸¦ + ¼³Á¤ÇÏ´Â ¾Æ·¡ ¿¹¿Í °°ÀÌ ¿©·¯ Áö½Ã¾î¸¦ ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

+ BrowserMatch ^Mozilla netscape
+ BrowserMatch MSIE !netscape
+

+
+ + +
top
+

BrowserMatch Áö½Ã¾î

+ + + + + + + +
¼³¸í:HTTP User-Agent¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù
¹®¹ý:BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_setenvif
+

BrowserMatch´Â SetEnvIf Áö½Ã¾îÀÇ Æ¯º°ÇÑ + °æ¿ì·Î, HTTP ¿äû Çì´õ User-Agent¿¡ µû¶ó ȯ°æº¯¼ö¸¦ + ¼³Á¤ÇÑ´Ù. ´ÙÀ½ µÎ ÁÙÀº °°´Ù:

+

+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+

+ +

Ãß°¡ ¿¹Á¦:

+

+ BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+ BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+ BrowserMatch MSIE !javascript
+

+ +
+
top
+

BrowserMatchNoCase Áö½Ã¾î

+ + + + + + + +
¼³¸í:´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í User-Agent¿¡ µû¶ó ȯ°æº¯¼ö¸¦ +¼³Á¤ÇÑ´Ù
¹®¹ý:BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_setenvif
+ +

BrowserMatchNoCase Áö½Ã¾î´Â BrowserMatch Áö½Ã¾î¿Í + ÀÇ¹Ì»ó °°´Ù. ±×·¯³ª ÀÌ Áö½Ã¾î´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê´Â´Ù. + ¿¹¸¦ µé¾î:

+

+ BrowserMatchNoCase mac platform=macintosh
+ BrowserMatchNoCase win platform=windows
+

+ +

BrowserMatch¿Í + BrowserMatchNoCase Áö½Ã¾î´Â + SetEnvIf¿Í + SetEnvIfNoCase + Áö½Ã¾îÀÇ Æ¯º°ÇÑ °æ¿ì´Ù. ´ÙÀ½ ÁÖ ÁÙÀº °°´Ù:

+

+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+

+ +
+
top
+

SetEnvIf Áö½Ã¾î

+ + + + + + + +
¼³¸í:¿äûÀÇ ¼ºÁú¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù
¹®¹ý:SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_setenvif
+

SetEnvIf Áö½Ã¾î´Â ¿äûÀÇ ¼ºÁú¿¡ + µû¶ó ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÑ´Ù. ù¹ø° ¾Æ±Ô¸ÕÆ® attribute´Â + ´ÙÀ½ ¼¼°¡ÁöÁß Çϳª´Ù:

+ +
    +
  1. HTTP ¿äû Çì´õ (´õ ÀÚ¼¼ÇÑ Á¤º¸´Â RFC2616 + Âü°í); ¿¹¸¦ µé¾î: Host, User-Agent, + Referer, Accept-Language. Á¤±ÔÇ¥Çö½ÄÀ» + »ç¿ëÇÏ¿© ¿©·¯ ¿äû Çì´õ¸¦ ÁöĪÇÒ ¼ö ÀÖ´Ù.
  2. + +
  3. ¿äûÀÇ ´ÙÀ½ ¼ºÁúÁß Çϳª: +
      +
    • Remote_Host - (ÀÖ´Ù¸é) ¿äûÇϴ Ŭ¶óÀ̾ðÆ®ÀÇ + È£½ºÆ®¸í
    • + +
    • Remote_Addr - ¿äûÇϴ Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò
    • + +
    • Server_Addr - ¿äûÀ» ¹Þ´Â ¼­¹öÀÇ IP ÁÖ¼Ò + (2.0.43 ¹öÀü ÀÌÈÄ¿¡¸¸)
    • + +
    • Request_Method - »ç¿ëÇÑ ¸Þ½áµå À̸§ + (GET, POST, µîµî)
    • + +
    • Request_Protocol - ¿äûÀÇ ÇÁ·ÎÅäÄÝ À̸§°ú + ¹öÀü (¿¹¸¦ µé¾î, "HTTP/0.9", "HTTP/1.1", µî.)
    • + +
    • Request_URI - HTTP ¿äû¿¡¼­ ¿äûÇÑ ÀÚ¿ø + -- ÀϹÝÀûÀ¸·Î URL¿¡¼­ ÁúÀǹ®ÀÚ¿­À» Á¦¿ÜÇÑ ½ºÅ´(scheme)°ú + È£½ºÆ® ÀÌÈÄ ºÎºÐ
    • +
    +
  4. + +
  5. ¿äû°ú ¿¬°üµÈ ȯ°æº¯¼ö À̸§. ±×·¡¼­ SetEnvIf +Áö½Ã¾î´Â ÀÌÀü Áö½Ã¾îÀÇ °á°ú¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù. ÀÌÀü¿¡ +SetEnvIf[NoCase] Áö½Ã¾î·Î Á¤ÀÇÇÑ È¯°æº¯¼ö¸¸À» +°Ë»çÇÒ ¼ö ÀÖ´Ù. 'ÀÌÀü'À̶õ (¼­¹öÀü¿ª°ú °°ÀÌ) ´õ ³ÐÀº ¿µ¿ª ȤÀº +Áö½Ã¾îÀÇ ÇöÀç ¿µ¿ª ÀÌÀüÀ» ¶æÇÑ´Ù. ¿äû ¼ºÁúÀÌ ¾Æ´Ï°í Á¤±ÔÇ¥Çö½ÄÀÌ +¾Æ´Ñ attribute´Â ȯ°æº¯¼ö·Î Ãë±ÞÇÑ´Ù.
  6. +
+ +

µÎ¹ø° ¾Æ±Ô¸ÕÆ®´Â (regex) Perl ȣȯ Á¤±ÔÇ¥Çö½ÄÀÌ´Ù. +ÀÌ´Â POSIX.2 egrepÀÇ Á¤±ÔÇ¥Çö½Ä°ú ºñ½ÁÇÏ´Ù. regex°¡ +attribute¿¡ ´ëÀÀÇÏ¸é ³ª¸ÓÁö ¾Æ±Ô¸ÕÆ®¸¦ ó¸®ÇÑ´Ù.

+ +

³ª¸ÓÁö ¾Æ±Ô¸ÕÆ®´Â ¼³Á¤ÇÒ º¯¼ö¸í°ú (¼±ÅÃÀûÀÎ) ¼³Á¤°ªµéÀÌ´Ù. +´ÙÀ½°ú °°Àº Çü½ÄÀÌ´Ù

+ +
    +
  1. varname, ȤÀº
  2. + +
  3. !varname, ȤÀº
  4. + +
  5. varname=value
  6. +
+ +

ù¹ø° ÇüÅ´ °ªÀ¸·Î "1"À» »ç¿ëÇÑ´Ù. µÎ¹ø° ÇüÅ´ º¯¼ö°¡ + ÀÌ¹Ì Á¤ÀÇµÈ °æ¿ì º¯¼ö¸¦ Á¦°ÅÇÏ°í, ¼¼¹ø°´Â º¯¼öÀÇ °ªÀ¸·Î + value¸¦ ¼³Á¤ÇÑ´Ù. ¾ÆÆÄÄ¡ 2.0.51ºÎÅÍ + value¿¡ ÀÖ´Â $1..$9¸¦ + regexÀÇ °ýȣģ ÇÏÀ§Ç¥Çö½ÄÀ¸·Î ´ëüÇÑ´Ù.

+ +

¿¹Á¦:

+ + SetEnvIf Request_URI "\.gif$" object_is_image=gif
+ SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+ SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+ :
+ SetEnvIf Referer www\.mydomain\.com intra_site_referral
+ :
+ SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+ :
+ SetEnvIf ^TS* ^[a-z].* HAVE_TS
+

+ +

óÀ½ ¼¼ ÁÙÀº À̹ÌÁö ÆÄÀÏÀ» ¿äûÇÑ °æ¿ì ȯ°æº¯¼ö + object_is_image¸¦ ¼³Á¤ÇÑ´Ù. ³×¹ø° ÁÙÀº ÆäÀÌÁö¸¦ + www.mydomain.com À¥»çÀÌÆ®¿¡¼­ ÂüÁ¶ÇÑ °æ¿ì + intra_site_referralÀ» ¼³Á¤ÇÑ´Ù.

+ +

¸¶Áö¸· ¿¹´Â ¿äû¿¡ À̸§¿¡ "TS"·Î ½ÃÀÛÇÏ°í °ªÀÌ [a-z] + Áß Çϳª·Î ½ÃÀÛÇÏ´Â Çì´õ°¡ ÀÖ´Â °æ¿ì ȯ°æº¯¼ö + HAVE_TS¸¦ ¼³Á¤ÇÑ´Ù.

+ +

Âü°í

+ +
+
top
+

SetEnvIfExpr Áö½Ã¾î

+ + + + + + +
¼³¸í:Sets environment variables based on an ap_expr expression
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Base
¸ðµâ:mod_setenvif

Documentation not yet translated. Please see English version of document.

+
+
top
+

SetEnvIfNoCase Áö½Ã¾î

+ + + + + + + +
¼³¸í:´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í ¿äûÀÇ ¼ºÁú¿¡ µû¶ó ȯ°æº¯¼ö¸¦ +¼³Á¤ÇÑ´Ù
¹®¹ý:SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:FileInfo
»óÅÂ:Base
¸ðµâ:mod_setenvif
+ +

SetEnvIfNoCase´Â Àǹ̻ó SetEnvIf Áö½Ã¾î¿Í °°Áö¸¸, + ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í Á¤±ÔÇ¥Çö½ÄÀ» ã´Â´Ù. ¿¹¸¦ µé¾î:

+

+ SetEnvIfNoCase Host Apache\.Org site=apache +

+ +

ÀÌ °æ¿ì HTTP ¿äû Çì´õ Host:°¡ + Apache.Org, apache.org µîÀ» Æ÷ÇÔÇϸé + site ȯ°æº¯¼ö¸¦ "apache"·Î ¼³Á¤ÇÑ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.tr.utf8 b/docs/manual/mod/mod_setenvif.html.tr.utf8 new file mode 100644 index 0000000..98d243e --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.tr.utf8 @@ -0,0 +1,347 @@ + + + + + +mod_setenvif - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_setenvif

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Ortam değişkenlerinin isteğin özelliklerine uygun olarak atanmasını sağlar
Durum:Temel
Modül Betimleyici:setenvif_module
Kaynak Dosyası:mod_setenvif.c
+

Özet

+ + +

mod_setenvif modülü dahili ortam değişkenlerinin + isteğin farklı bileşenlerinin belirttiğiniz düzenli ifade ile eşleşmesine + bağlı olarak atanmasını mümkün kılar. Bu ortam değişkenleri sunucunun + çeşitli kısımlarında yapılacak eylemlerin yanında CGI betiklerinde ve SSI + sayfalarında kullanılabilir hale gelmelerine karar verilirken + kullanılır.

+ +

Yönergeler yapılandırma dosyasında yer aldıkları sıraya göre ele + alınırlar. Böylece daha karmaşık dizilimler kullanılabilir, bu örnekteki + tarayıcı Mozilla ise netscape ortam değişkeni atanmakta, + MSIE ise atanmamaktadır.

+ +
BrowserMatch ^Mozilla netscape
+BrowserMatch MSIE !netscape
+ + +

mod_autoindex ile dizin listesi oluşturulması + veya bir DirectoryIndex + için yol aranması gibi bir dahili alt + istek için sunucu yol araması yaparken isteklere özgü + ortam değişkenleri alt istekler tarafından miras alınMAZ. Buna ek + olarak, mod_setenvif modülünün devreye girdiği API + fazlarından dolayı yapılan alt isteklerde + SetEnvIf yönergeleri + ayrı ayrı değerlendirilMEZ.

+
+ + +
top
+

BrowserMatch Yönergesi

+ + + + + + + +
Açıklama:Ortam değişkenlerini HTTP kullanıcı arayüzüne göre belirler. +
Sözdizimi:BrowserMatch düzifd [!]ort-değişkeni[=değer] +[[!]ort-değişkeni[=değer]] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_setenvif
+

BrowserMatch yönergesi SetEnvIf yönergesinin özel bir halidir + ve ortam değişkenlerine User-Agent HTTP istek başlığının + değerine göre atama yapar. Aşağıdaki iki satır aynı etkiye sahiptir:

+ +
BrowserMatch Robot is_a_robot
+SetEnvIf User-Agent Robot is_a_robot
+ + +

Başka örnekler:

+ +
BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+BrowserMatch MSIE !javascript
+ + +
+
top
+

BrowserMatchNoCase Yönergesi

+ + + + + + + +
Açıklama:Ortam değişkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne +duyarsız eşleşmelerine bağlı olarak belirler.
Sözdizimi:BrowserMatchNoCase düzifd [!]ort-değişkeni[=değer] +[[!]ort-değişkeni[=değer]] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_setenvif
+ +

BrowserMatchNoCase yönergesi sözdizimsel ve + anlamsal olarak BrowserMatch yönergesinin eşdeğeridir. + Ancak, eşleşmelerde harf büyüklüğüne duyarsızdır. Örnek:

+ +
BrowserMatchNoCase mac platform=macintosh
+BrowserMatchNoCase win platform=windows
+ + +

BrowserMatch ve + BrowserMatchNoCase yönergeleri SetEnvIf ve SetEnvIfNoCase yönergelerinin özel + halleridir. Bu bakımda aşağıdaki iki satır aynı etkiye sahiptir:

+ +
BrowserMatchNoCase Robot is_a_robot
+SetEnvIfNoCase User-Agent Robot is_a_robot
+ + +
+
top
+

SetEnvIf Yönergesi

+ + + + + + + +
Açıklama:Ortam değişkenlerini isteğin özniteliklerine göre atar. +
Sözdizimi:SetEnvIf öznitelik + düzifd [!]ort-değişkeni[=değer] + [[!]ort-değişkeni[=değer]] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_setenvif
+

SetEnvIf yönergesi ortam değişkenlerini isteğin + özniteliklerine göre tanımlar. İlk bileşen olarak belirtilen + öznitelik şu dört şeyden biri olabilir:

+ +
    +
  1. Bir HTTP istek başlığı alanı (ayrıntılı bilgi için bak: RFC2616); + örneğin: Host, User-Agent, + Referer ve Accept-Language. Bir düzenli + ifade kullanılarak birden fazla istek başlığı belirtilebilir.
  2. + +
  3. İsteğin aşağıdaki bileşenlerinden biri: +
      +
    • Remote_Host - isteÄŸi yapan istemcinin konak ismi + (varsa)
    • + +
    • Remote_Addr -isteÄŸi yapan istemcinin IP adresi
    • + +
    • Server_Addr - isteÄŸi alan sunucunun IP adresi + (sadece 2.0.43 sonrası sürümler için)
    • + +
    • Request_Method - kullanılan yöntemin ismi + (GET, POST, vs.)
    • + +
    • Request_Protocol - Ä°steÄŸin yapıldığı protokolün + ismi ve numarası ("HTTP/0.9", "HTTP/1.1" gibi)
    • + +
    • Request_URI - HTTP istek satırında belirtilen + özkaynak; genellikle sorgu dizgesi olmaksızın ÅŸema ve konak ismini + içeren bir URL parçasıdır. Sorgu dizgeleriyle eÅŸleÅŸmeler hakkında + ayrıntılı bilgi edinmek için mod_rewrite + modülünün RewriteCond + yönergesinin açıklamasına bakınız.
    • +
    +
  4. + +
  5. İstek ile evvelce ilişkilendirilmiş bir ortam değişkeninin ismi. Bu + sayede önceki bir eşleşmenin sonucuna karşı yeni bir sınama yapma + imkanı ortaya çıkar. Böyle bir sınama için sadece evvelce + SetEnvIf[NoCase] yönergeleri ile yapılmış atamalardaki + ortam değişkenleri kullanılabilir. ‘Evvelce’ derken, sunucu genelinde + veya bölüm içinde bu yönergeden önce yer alan + SetEnvIf[NoCase] yönerge satırları kastedilmektedir. + Ortam değişkenlerinin dikkate alınabilmesi için istek öznitelikleri + arasında hiçbir eşleşme olmaması ve öznitelik + olarak bir düzenli ifade belirtilmemiş olması gerekir.
  6. +
+ +

İkinci bileşen (düzifd) bir düzenli ifadedir. düzifd + ile öznitelik eşleştiği takdirde yönergenin kalan + bileşenleri değerlendirmeye alınır.

+ +

Kalan bileşenler atanacak ortam değişkenlerinin isimleri ve isteğe + bağlı olarak bunlara atanacak değerlerden oluşur. Bunlar şöyle + belirtilebilir:

+ +
    +
  1. değişken-adı veya
  2. + +
  3. !değişken-adı ya da
  4. + +
  5. değişken-adı=değer
  6. +
+ +

İlk biçemde değişkene "1" değeri atanır. İkincisinde atanmış bir + değişken atanmamış yapılır. Üçüncüsünde ise değişkene belirtilen + değer bire bir atanır. 2.0.51 sürümünden itibaren + Apache httpd parantezli düzenli ifadelerin sonuçları ile değiştirilmek + üzere value içinde $1..$9 + gösterimleri tanınmaktadır. $0 bu kalıp ile eşleşen tüm dizgeye erişir.

+ +
SetEnvIf Request_URI "\.gif$" nesne_bir_resim=gif
+SetEnvIf Request_URI "\.jpg$" nesne_bir_resim=jpg
+SetEnvIf Request_URI "\.xbm$" nesne_bir_resim=xbm
+
+SetEnvIf Referer belgeler\.alanismi\.example\.com dahili_site_istendi
+
+SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1
+
+SetEnvIf ^TS  ^[a-z]  TS_VAR
+ + +

İlk üçünde istek bir resim dosyası için yapılmışsa + nesne_bir_resim ortam değişkeni atanmakta, dördüncüsünde + istenen sayfa belgeler.alanismi.example.com adlı sitede + bulunuyorsa dahili_site_istendi ortam değişkeni + atanmaktadır.

+ +

Son örnekte ise istekte "TS" ile başlayıp [a-z] arasındaki + karakterlerle devam eden bir başlık alanı varsa TS_VAR + ortam değişkeni atanmaktadır.

+ +

Ayrıca bakınız:

+ +
+
top
+

SetEnvIfExpr Yönergesi

+ + + + + + + +
Açıklama:Bir ap_expr ifadesine dayanarak ortam değişkenlerine değer atar
Sözdizimi:SetEnvIfExpr ifade + [!]ort-değişkeni[=değer] + [[!]ort-değişkeni[=değer]] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_setenvif
+

SetEnvIfExpr yönergesi bir <If> ap_expr + ifadesine dayanarak ortam değişkenlerine değer atar. Bu ifadeler çalışma + anında değerlendirilirerek SetEnvIf yönergesindeki + gibi ort-değişkenine uygulanır.

+ +
SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
+ + +

Burada uygulamamızın her X-Sendfile göndermeye çalışmasında + ortam değişkenine iso_delivered değeri atanmaktadır.

+ +

Uzak IP adresi RFC 1918'e göre özel bir adres ise rfc1918 değişkenine 1 + atanması daha kullanışlı bir örnek olurdu:

+ +
SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918
+ + +

Ayrıca bakınız:

+ +
+
top
+

SetEnvIfNoCase Yönergesi

+ + + + + + + +
Açıklama:Ortam değişkenlerini isteğin özniteliklerinde harf büyüklüğüne +bağlı olmaksızın yapılmış tanımlara göre atar.
Sözdizimi:SetEnvIfNoCase öznitelik + düzifd [!]ort-değişkeni[=değer] + [[!]ort-değişkeni[=değer]] ...
BaÄŸlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_setenvif
+

SetEnvIfNoCase yönergesi sözdizimsel ve anlamsal + olarak SetEnvIf + yönergesinin eşdeğeridir. Ancak, eşleşmelerde harf büyüklüğüne + duyarsızdır. Örnek:

+ +
SetEnvIfNoCase Host Example\.Org site=example
+ + +

Burada, Host: HTTP istek başlığında + Example.Org, example.org veya harf büyüklüğünce + farklı benzerleri belirtilmişse site ortam değişkenine + "example" değeri atanmaktadır.

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_plain.html b/docs/manual/mod/mod_slotmem_plain.html new file mode 100644 index 0000000..843e262 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_slotmem_plain.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_slotmem_plain.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_slotmem_plain.html.en b/docs/manual/mod/mod_slotmem_plain.html.en new file mode 100644 index 0000000..630231b --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html.en @@ -0,0 +1,121 @@ + + + + + +mod_slotmem_plain - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_slotmem_plain

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Slot-based shared memory provider.
Status:Extension
Module Identifier:slotmem_plain_module
Source File:mod_slotmem_plain.c
+

Summary

+ +

mod_slotmem_plain is a memory provider which + provides for creation and access to a plain memory segment + in which the datasets are organized in "slots." +

+ +

If the memory needs to be shared between threads and + processes, a better provider would be + mod_slotmem_shm. +

+ +

mod_slotmem_plain provides the following API functions: +

+ +
/* call the callback on all worker slots */
+apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
+
+/* create a new slotmem with each item size is item_size */
+apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
+
+/* attach to an existing slotmem */
+apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
+
+/* get the direct pointer to the memory associated with this worker slot */
+apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem)
+
+/* get/read the memory from this slot to dest */
+apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
+
+/* put/write the data from src to this slot */
+apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
+
+/* return the total number of slots in the segment */
+unsigned int num_slots(ap_slotmem_instance_t *s)
+
+/* return the total data size, in bytes, of a slot in the segment */
+apr_size_t slot_size(ap_slotmem_instance_t *s)
+
+/* grab or allocate the first free slot and mark as in-use (does not do any data copying) */
+apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id)
+
+/* forced grab or allocate the specified slot and mark as in-use (does not do any data copying) */
+apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id)
+
+/* release or free a slot and mark as not in-use (does not do any data copying) */
+apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)
+ + +
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_plain.html.fr.utf8 b/docs/manual/mod/mod_slotmem_plain.html.fr.utf8 new file mode 100644 index 0000000..342901f --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html.fr.utf8 @@ -0,0 +1,123 @@ + + + + + +mod_slotmem_plain - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_slotmem_plain

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de mémoire partagée à base de +slots.
Statut:Extension
Identificateur de Module:slotmem_plain_module
Fichier Source:mod_slotmem_plain.c
+

Sommaire

+ +

mod_slotmem_plain est un fournisseur de mémoire qui + permet la création et l'utilisation d'un segment de mémoire contigu + dans lequel les ensembles de données sont organisés en "slots". +

+ +

Si la mémoire doit être partagée entre des threads et des + processus, il est préférable d'utiliser le fournisseur + mod_slotmem_shm. +

+ +

mod_slotmem_plain fournit une API comprenant les + fonctions suivantes : +

+ + +
/* appelle le callback sur tous les slots actifs */
+apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)      
+
+/* crée un nouveau slot de mémoire dont chaque item aura une taille de item_size. */
+apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)      
+
+/* rattache à un slot de mémoire existant. */
+apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)      
+
+/* indique la mémoire associée à ce slot actif. */
+apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem)      
+
+/* lit la mémoire depuis ce slot et la transfert vers dest */
+apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)      
+
+/* écrit dans ce slot la mémoire en provenance de src */
+apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)      
+
+/* renvoie le nombre total de slots contenus dans ce segment */
+unsigned int num_slots(ap_slotmem_instance_t *s)      
+
+/* renvoie la taille totale des données, en octets, contenues dans un slot de ce segment */
+apr_size_t slot_size(ap_slotmem_instance_t *s)      
+
+/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune copie de données) */
+apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id)      
+
+/* appropriation ou allocation forcée du slot spécifié et marquage comme utilisé (n'effectue aucune copie de données) */
+apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id)      
+        
+/* libère un slot et le marque comme non utilisé (n'effectue aucune copie de données) */
+apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)
+ + +
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_shm.html b/docs/manual/mod/mod_slotmem_shm.html new file mode 100644 index 0000000..c173c1b --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_slotmem_shm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_slotmem_shm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_slotmem_shm.html.en b/docs/manual/mod/mod_slotmem_shm.html.en new file mode 100644 index 0000000..4ff603c --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html.en @@ -0,0 +1,129 @@ + + + + + +mod_slotmem_shm - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_slotmem_shm

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Slot-based shared memory provider.
Status:Extension
Module Identifier:slotmem_shm_module
Source File:mod_slotmem_shm.c
+

Summary

+ +

mod_slotmem_shm is a memory provider which + provides for creation and access to a shared memory segment + in which the datasets are organized in "slots." +

+ +

All shared memory is cleared and cleaned with each + restart, whether graceful or not. The data itself is + stored and restored within a file noted by the name + parameter in the create and attach + calls. If not specified with an absolute path, the file will be + created relative to the path specified by the + DefaultRuntimeDir directive. +

+ +

mod_slotmem_shm provides the following API functions: +

+ +
/* call the callback on all worker slots */
+apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
+
+/* create a new slotmem with each item size is item_size. 'name' is used to generate a filename for the persistent
+   store of the shared memory if configured. Values are:
+      "none"                - Anonymous shared memory and no persistent store
+      "file-name"           - [DefaultRuntimeDir]/file-name
+      "/absolute-file-name" - Absolute file name */
+apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
+
+/* attach to an existing slotmem. See 'create()' for description of 'name' parameter */
+apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
+
+/* get the direct pointer to the memory associated with this worker slot */
+apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem)
+
+/* get/read the memory from this slot to dest */
+apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
+
+/* put/write the data from src to this slot */
+apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
+
+/* return the total number of slots in the segment */
+unsigned int num_slots(ap_slotmem_instance_t *s)
+
+/* return the total data size, in bytes, of a slot in the segment */
+apr_size_t slot_size(ap_slotmem_instance_t *s)
+
+/* grab or allocate the first free slot and mark as in-use (does not do any data copying) */
+apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id)
+
+/* forced grab or allocate the specified slot and mark as in-use (does not do any data copying) */
+apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id)
+
+/* release or free a slot and mark as not in-use (does not do any data copying) */
+apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)
+ + +
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_shm.html.fr.utf8 b/docs/manual/mod/mod_slotmem_shm.html.fr.utf8 new file mode 100644 index 0000000..fd62f19 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html.fr.utf8 @@ -0,0 +1,138 @@ + + + + + +mod_slotmem_shm - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_slotmem_shm

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de mémoire partagée basée sur les +slots.
Statut:Extension
Identificateur de Module:slotmem_shm_module
Fichier Source:mod_slotmem_shm.c
+

Sommaire

+ +

mod_slotmem_shm est un fournisseur de mémoire qui + permet la création et l'accès à un segment de mémoire partagée dans + lequel les ensembles de données sont organisés en "slots". +

+ +

L'ensemble de la mémoire partagée est effacé à chaque + redémarrage, que ce dernier soit graceful ou non. Les données sont + stockées et restituées dans/à partir d'un fichier défini par le + paramètre name des appels create et + attach. Si son chemin absolu n'est pas spécifié, le + chemin du fichier sera relatif au chemin défini par la directive + DefaultRuntimeDir. +

+ +

mod_slotmem_shm fournit les fonctions d'API suivantes + : +

+ +
/* appelle le callback pour tous les slots actifs */
+apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
+
+/* crée un nouveau slot de mémoire dont chaque taille d'item est
+      item_size. 'name' est utilisé pour générer le nom du fichier
+      permettant de stocker/restaurer le contenu de la mémoire partagée,
+      si elle est configurée. Les valeurs possibles sont :
+      "none"                - Mémoire partagée anonyme et pas de stockage permanent
+      "file-name"           - [DefaultRuntimeDir]/file-name
+      "/absolute-file-name" - Chemin absolu du fichier */
+apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
+
+/* attache à un slot de mémoire existant. Voir
+      'create' pour la description du paramètre
+      'name'. */
+apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
+
+/* obtient la mémoire associée à ce slot actif. */
+apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem)
+
+/* lit la mémoire depuis ce slot et la transfert vers dest */
+apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
+
+/* écrit dans ce slot la mémoire en provenance de src */
+apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
+
+/* renvoie le nombre total de slots contenus dans ce segment */
+unsigned int num_slots(ap_slotmem_instance_t *s)
+
+/* renvoie la taille totale des données, en octets, contenues
+      dans un slot de ce segment */
+apr_size_t slot_size(ap_slotmem_instance_t *s)
+
+/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune
+      copie de données) */
+apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id)
+
+/* appropriation ou allocation forcée du slot spécifié et marquage comme
+      utilisé (n'effectue aucune copie de données) */
+apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id)
+
+/* libère un slot et le marque comme non utilisé (n'effectue aucune
+      copie de données) */
+apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)
+ + +
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_so.html b/docs/manual/mod/mod_so.html new file mode 100644 index 0000000..29d9f91 --- /dev/null +++ b/docs/manual/mod/mod_so.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_so.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_so.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_so.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_so.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_so.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_so.html.en b/docs/manual/mod/mod_so.html.en new file mode 100644 index 0000000..cc8f498 --- /dev/null +++ b/docs/manual/mod/mod_so.html.en @@ -0,0 +1,228 @@ + + + + + +mod_so - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_so

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + + +
Description:Loading of executable code and +modules into the server at start-up or restart time
Status:Extension
Module Identifier:so_module
Source File:mod_so.c
Compatibility:This is a Base module (always included) on +Windows
+

Summary

+ + +

On selected operating systems this module can be used to + load modules into Apache HTTP Server at runtime via the Dynamic Shared Object (DSO) mechanism, + rather than requiring a recompilation.

+ +

On Unix, the loaded code typically comes from shared object + files (usually with .so extension), on Windows + this may either be the .so or .dll + extension.

+ +

Warning

+

Modules built for one major version of the Apache HTTP Server + will generally not work on another. (e.g. 1.3 vs. 2.0, or 2.0 vs. + 2.2) There are usually API changes between one major version and + another that require that modules be modified to work with the new + version.

+
+
+ +
top
+
+

Creating Loadable Modules for Windows

+ +

Note

+

On Windows, where loadable files typically have a file extension + of .dll, Apache httpd modules are called + mod_whatever.so, just as they are on other platforms. + However, you may encounter third-party modules, such as PHP for + example, that continue to use the .dll convention.

+ +

While mod_so still loads modules with + ApacheModuleFoo.dll names, the new naming convention is + preferred; if you are converting your loadable module for 2.0, + please fix the name to this 2.0 convention.

+ +

The Apache httpd module API is unchanged between the Unix and + Windows versions. Many modules will run on Windows with no or + little change from Unix, although others rely on aspects of the + Unix architecture which are not present in Windows, and will + not work.

+ +

When a module does work, it can be added to the server in + one of two ways. As with Unix, it can be compiled into the + server. Because Apache httpd for Windows does not have the + Configure program of Apache httpd for Unix, the module's + source file must be added to the ApacheCore project file, and + its symbols must be added to the + os\win32\modules.c file.

+ +

The second way is to compile the module as a DLL, a shared + library that can be loaded into the server at runtime, using + the LoadModule + directive. These module DLLs can be distributed and run on any + Apache httpd for Windows installation, without recompilation of the + server.

+ +

To create a module DLL, a small change is necessary to the + module's source file: The module record must be exported from + the DLL (which will be created later; see below). To do this, + add the AP_MODULE_DECLARE_DATA (defined in the + Apache httpd header files) to your module's module record definition. + For example, if your module has:

+ +

+ module foo_module; +

+ +

Replace the above with:

+

+ module AP_MODULE_DECLARE_DATA foo_module; +

+ +

Note that this will only be activated on Windows, so the + module can continue to be used, unchanged, with Unix if needed. + Also, if you are familiar with .DEF files, you can + export the module record with that method instead.

+ +

Now, create a DLL containing your module. You will need to + link this against the libhttpd.lib export library that is + created when the libhttpd.dll shared library is compiled. You + may also have to change the compiler settings to ensure that + the Apache httpd header files are correctly located. You can find + this library in your server root's modules directory. It is + best to grab an existing module .dsp file from the tree to + assure the build environment is configured correctly, or + alternately compare the compiler and link options to your + .dsp.

+ +

This should create a DLL version of your module. Now simply + place it in the modules directory of your server + root, and use the LoadModule + directive to load it.

+ +
+
top
+

LoadFile Directive

+ + + + + + +
Description:Link in the named object file or library
Syntax:LoadFile filename [filename] ...
Context:server config, virtual host
Status:Extension
Module:mod_so
+ +

The LoadFile directive links in the named object files or + libraries when the server is started or restarted; this is used + to load additional code which may be required for some module + to work. Filename is either an absolute path or + relative to ServerRoot.

+ +

For example:

+ +
LoadFile "libexec/libxmlparse.so"
+ + + +
+
top
+

LoadModule Directive

+ + + + + + +
Description:Links in the object file or library, and adds to the list +of active modules
Syntax:LoadModule module filename
Context:server config, virtual host
Status:Extension
Module:mod_so
+

The LoadModule directive links in the object file or library + filename and adds the module structure named + module to the list of active modules. Module + is the name of the external variable of type + module in the file, and is listed as the Module Identifier + in the module documentation.

+ +

For example:

+ +
LoadModule status_module "modules/mod_status.so"
+ + +

loads the named module from the modules subdirectory of the + ServerRoot.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.fr.utf8 b/docs/manual/mod/mod_so.html.fr.utf8 new file mode 100644 index 0000000..4c36c71 --- /dev/null +++ b/docs/manual/mod/mod_so.html.fr.utf8 @@ -0,0 +1,244 @@ + + + + + +mod_so - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_so

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + + +
Description:Chargement de modules ou de code exécutable au cours du +démarrage ou du redémarrage du serveur
Statut:Extension
Identificateur de Module:so_module
Fichier Source:mod_so.c
Compatibilité:Sous Windows, c'est un module de base (toujours +inclus)
+

Sommaire

+ + +

Sur les systèmes d'exploitation sélectionnés, ce module peut être + utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution + grâce au mécanisme des Dynamic Shared Object ou Objets Partagés + Dynamiquement (DSO), et évite ainsi de devoir effectuer une + recompilation.

+ +

Sous Unix, le code chargé provient en général de fichiers objet + partagés possèdant en général l'extension .so, alors + que sous Windows, l'extension peut être soit .so, soit + .dll.

+ +

Avertissement

+

En général, les modules compilés pour une version majeure du + serveur HTTP Apache ne fonctionneront pas avec une autre (par + exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre, + il y a souvent des modifications d'API qui nécessitent des + modifications du module pour qu'il puisse fonctionner avec la + nouvelle version.

+
+
+ +
top
+
+

Création de modules chargeables pour +Windows

+ +

Note

+

Sous Windows, où les modules chargeables possèdent en général + l'extension de nom de fichier .dll, les modules Apache + httpd se nomment mod_nom-module.so, tout comme sur les + autres plates-formes. Vous trouverez cependant encore des modules + tiers, comme PHP par exemple, qui continuent d'utiliser la + convention de nommage avec extension .dll.

+ +

Bien que mod_so puisse encore charger des modules + possèdant un nom du style ApacheModuleFoo.dll, + il est préférable d'utiliser la + nouvelle convention de nommage ; si vous modifiez votre module + chargeable pour la version 2.0, veuillez aussi modifier son nom pour + respecter cette nouvelle convention.

+ +

Les API des modules Apache httpd sous Unix et Windows sont identiques. + Alors que certains modules s'appuient sur certains + aspects de l'architecture Unix non présents dans Windows, et ne + fonctionneront donc pas sur cette dernière plate-forme, de nombreux + modules fonctionnent sous Windows avec peu ou pas de modification + par rapport à leur version Unix.

+ +

Lorsqu'un module fonctionne, il peut être ajouté au serveur de + deux manières. Sous Unix, il peut être compilé dans le serveur. + Comme Apache httpd pour Windows ne dispose pas du programme + Configure propre à Apache httpd pour Unix, le fichier source + du module doit être ajouté au fichier projet Apache de base, et ses + symboles ajoutés au fichier os\win32\modules.c.

+ +

La seconde méthode consiste à compiler le module en tant que DLL, + à savoir une bibliothèque partagée qui pourra être chargée dans le + serveur en cours d'exécution via la directive + LoadModule. Ces modules DLL + peuvent être distribués et exécutés sur toute installation d'Apache + httpd pour Windows, sans avoir à recompiler le serveur.

+ +

Pour créer un module DLL, il est nécessaire d'apporter une légère + modification à son fichier source : l'enregistrement du module doit + être exporté depuis la DLL (qui sera elle-même créée plus tard ; + voir plus loin). Pour ce faire, ajoutez la macro + AP_MODULE_DECLARE_DATA (définie dans les fichiers + d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre + module. Par exemple, si votre module est déclaré comme suit :

+ +

+ module foo_module; +

+ +

Remplacez cette ligne par :

+

+ module AP_MODULE_DECLARE_DATA foo_module; +

+ +

Notez que cette macro ne sera prise en compte que sous Windows, + si bien que le module poura être utilisé sans changement sous Unix, + si besoin est. Alternativement, si vous êtes familier avec les + fichiers .DEF, vous pouvez les utiliser pour exporter + l'enregistrement du module.

+ +

Maintenant, nous sommes prêts à créer une DLL contenant notre + module. Il va falloir pour cela la lier avec la bibliothèque + d'export libhttpd.lib qui a été créée au cours de la compilation de + la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi + nécessaire de modifier la configuration du compilateur pour + s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement + localisés. Vous trouverez cette bibliothèque à la racine du + répertoire des modules de votre serveur. Il est souhaitable + d'utiliser un fichier de module .dsp existant dans l'arborescence + afin de s'assurer que l'environnement de compilation est + correctement configuré, mais vous pouvez aussi comparer les options + de compilation et d'édition de liens à votre fichier .dsp.

+ +

Ceci devrait créer une version DLL de votre module. Il vous + suffit maintenant de l'enregistrer dans le répertoire + modules à la racine de votre serveur, et d'utiliser la + directive LoadModule pour la charger.

+ +
+
top
+

Directive LoadFile

+ + + + + + +
Description:Liaison du fichier objet ou de la bibliothèque +spécifié
Syntaxe:LoadFile nom-fichier [nom-fichier] ...
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_so
+ +

La directive LoadFile permet de lier le fichier + objet ou la bibliothèque spécifié au serveur lors du + démarrage ou du redémarrage + de ce dernier ; ceci permet d'ajouter tout code additionnel + nécessaire au fonctionnement d'un module. + nom-fichier est soit un chemin absolu, soit un chemin + relatif au répertoire défini par la directive ServerRoot.

+ +

Par exemple :

+ +
LoadFile "libexec/libxmlparse.so"
+ + + +
+
top
+

Directive LoadModule

+ + + + + + +
Description:Liaison avec le serveur du fichier objet ou de la +bibliothèque spécifié, et ajout de ce dernier à la liste des modules +actifs
Syntaxe:LoadModule module nom-fichier
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_so
+

La directive LoadModule permet de lier le fichier objet ou la + bibliothèque nom-fichier avec le serveur, et d'ajouter la + structure de module nommée module à la liste des modules + actifs. module est le nom de la variable externe de type + module dans le fichier, et est référencé comme Identificateur de + module dans la documentation des modules.

+ +

Par exemple :

+ +
LoadModule status_module "modules/mod_status.so"
+ + +

charge le module spécifié depuis le sous-répertoire des modules + situé à la racine du serveur.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.ja.utf8 b/docs/manual/mod/mod_so.html.ja.utf8 new file mode 100644 index 0000000..ab9e2d1 --- /dev/null +++ b/docs/manual/mod/mod_so.html.ja.utf8 @@ -0,0 +1,230 @@ + + + + + +mod_so - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_so

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:起動時やå†èµ·å‹•æ™‚ã«å®Ÿè¡Œã‚³ãƒ¼ãƒ‰ã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’サーãƒã«ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ +
ステータス:Extension
モジュール識別å­:so_module
ソースファイル:mod_so.c
互æ›æ€§:ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ Window ã§ã¯ (常ã«å«ã¾ã‚Œã¦ã„ã‚‹) Base +モジュールã§ã™
+

概è¦

+ + +

ã„ãã¤ã‹ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã€ã‚µãƒ¼ãƒã®å†ã‚³ãƒ³ãƒ‘イルをã™ã‚‹ä»£ã‚ã‚Šã«ã€ + ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使用ã—㦠+ 動的共有オブジェクト + (DSO) 機構ã«ã‚ˆã‚Šã€å®Ÿè¡Œæ™‚ã« Apache HTTP Server ã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’読ã¿è¾¼ã¾ã›ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚

+ +

Unix 上ã§ã¯ã€èª­ã¿è¾¼ã¾ã‚Œã‚‹ã‚³ãƒ¼ãƒ‰ã¯é€šå¸¸ã¯å…±æœ‰ã‚ªãƒ–ジェクトファイル + (普通 .so ã¨ã„ã†æ‹¡å¼µå­ãŒä»˜ã„ã¦ã„ã¾ã™) ã‹ã‚‰ã§ã™ã€‚ + Windows 上ã§ã¯ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ‹¡å¼µå­ã¯ .so ã‹ .dll + ã§ã™ã€‚

+ +

警告

+

Apache HTTP Server ã®ã‚るメジャーãƒãƒ¼ã‚¸ãƒ§ãƒ³å‘ã‘ã«ãƒ“ルドã•ã‚ŒãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ä¸€èˆ¬ã« + ä»–ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯å‹•ãã¾ã›ã‚“。(例ãˆã° 1.3 㨠2.0〠2.0 㨠2.2) + ã¾ãŸãƒ¡ã‚¸ãƒ£ãƒ¼ãƒãƒ¼ã‚¸ãƒ§ãƒ³é–“ã§ã¯APIã®å¤‰æ›´ãŒã—ã°ã—ã°ç™ºç”Ÿã—ã€ãã®ãŸã‚æ–°ã—ã„ + メジャーãƒãƒ¼ã‚¸ãƒ§ãƒ³å‘ã‘ã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ä¿®æ­£ãŒå¿…è¦ã«ãªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚

+
+
+
Support Apache!

トピック

+
    +
  • Windows 用ã®ãƒ­ãƒ¼ãƒ‰å¯èƒ½ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’作æˆã™ã‚‹
  • +

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+
top
+
+

Windows 用ã®ãƒ­ãƒ¼ãƒ‰å¯èƒ½ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’作æˆã™ã‚‹

+ +

注

+

Windows ã«ãŠã„ã¦å‹•çš„ã«ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ‹¡å¼µå­ã¯æ™®é€š .dll + ã§ã™ãŒã€Apache httpd ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ mod_whatever.so + ã¨ã„ã£ãŸåå‰ã‚’æŒã¡ã¾ã™ã€‚ã“ã‚Œã¯ã€ä»–ã®ãƒ—ラットフォームã§ã®é€šå¸¸ã®å½¢å¼ã« + ã‚ã‚ã›ãŸã‚‚ã®ã§ã™ã€‚ã—ã‹ã—ãªãŒã‚‰ã€ã‚µãƒ¼ãƒ‰ãƒ‘ーティ製モジュールã€ä¾‹ãˆã°PHPãªã©ã€ + ã¯ä»Šã§ã‚‚ .dll ã®æ‹¡å¼µå­ã‚’使ã£ã¦ã„ã¾ã™ã€‚

+ +

ã¾ã  mod_so 㧠ApacheModuleFoo.dll ã¨ã„ã†åå‰ã® + モジュールもロードã•ã‚Œã¾ã™ãŒã€æ–°ã—ã„åå‰ã®ä»˜ã‘方を使ã†æ–¹ãŒå¥½ã¾ã‚Œã¾ã™ã€‚ + モジュールを 2.0 用ã«ç§»æ¤ã—ã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€2.0 ã®ç¿’æ…£ã«åˆã†ã‚ˆã†ã«åå‰ã‚’ + 修正ã—ã¦ãã ã•ã„。

+ +

Apache httpd ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« API 㯠UNIX 㨠Windows é–“ã§ã¯å¤‰æ›´ã•ã‚Œã¦ã„ã¾ã›ã‚“。 + 多ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯å…¨ã変更ãªã—ã€ã‚‚ã—ãã¯ç°¡å˜ãªå¤‰æ›´ã«ã‚ˆã‚Š Windows + ã§å®Ÿè¡Œã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ãŸã ã—ã€ãれ以外㮠Windows ã«ã¯ç„¡ã„ Unix + アーキテクãƒãƒ£ãƒ¼ã®æ©Ÿèƒ½ã«ä¾å­˜ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯å‹•ä½œã—ã¾ã›ã‚“。

+ +

モジュールãŒå®Ÿéš›ã«å‹•ä½œã™ã‚‹ã¨ãã¯ã€ + 二ã¤ã®æ–¹æ³•ã®ã©ã¡ã‚‰ã‹ã§ã‚µãƒ¼ãƒã«è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¾ãšã€Unix + ã¨åŒæ§˜ã«ã‚µãƒ¼ãƒã«ã‚³ãƒ³ãƒ‘イルã—ã¦çµ„ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚Windows + 用㮠Apache httpd 㯠Unix 用㮠Apache ã«ã‚ã‚‹ Configure + プログラムãŒã‚ã‚Šã¾ã›ã‚“ã®ã§ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + ApacheCore プロジェクトファイルã«è¿½åŠ ã—ã€ã‚·ãƒ³ãƒœãƒ«ã‚’ + os\win32\modules.c ファイルã«è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

二ã¤ç›®ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ DLL ã¨ã—ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚‹æ–¹æ³•ã§ã™ã€‚ + DLL ã¯å…±æœ‰ãƒ©ã‚¤ãƒ–ラリã§ã€å®Ÿè¡Œæ™‚ã« + LoadModule + ディレクティブã«ã‚ˆã‚Šã‚µãƒ¼ãƒã«èª­ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れらã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« + DLL ã¯ãã®ã¾ã¾é…布ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã€ã‚µãƒ¼ãƒã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹ã“ã¨ãªãã€Windows + 用㮠Apache httpd ã®ã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

モジュール DLL を作æˆã™ã‚‹ãŸã‚ã«ã¯ã€ + モジュールã®ä½œæˆã«å°ã•ãªå¤‰æ›´ã‚’è¡Œãªã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã¤ã¾ã‚Šã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ (ã“ã‚Œã¯å¾Œã§ä½œæˆã•ã‚Œã¾ã™ã€‚ + 以下をå‚ç…§ã—ã¦ãã ã•ã„) ㌠DLL ã‹ã‚‰ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + ã“れを行ãªã†ã«ã¯ã€AP_MODULE_DECLARE_DATA (Apache httpd + ã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«ã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™) をモジュールã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãƒ¬ã‚³ãƒ¼ãƒ‰ + 定義ã®éƒ¨åˆ†ã«è¿½åŠ ã—ã¦ãã ã•ã„。ãŸã¨ãˆã°ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«

+

+ module foo_module; +

+ +

ãŒã‚ã‚‹ã¨ã™ã‚‹ã¨ã€ãれを次ã®ã‚‚ã®ã§ç½®ãæ›ãˆã¦ãã ã•ã„。

+

+ module AP_MODULE_DECLARE_DATA foo_module; +

+ +

Unix 上ã§ã‚‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ + 変更無ã—ã§ä½¿ã„続ã‘られるよã†ã«ã€ã“ã®ãƒžã‚¯ãƒ­ã¯ Windows + 上ã§ã®ã¿åŠ¹åŠ›ã‚’æŒã¡ã¾ã™ã€‚.DEF + ファイルã®æ–¹ã‚’良ã知ã£ã¦ã„ã‚‹ã¨ã„ã†å ´åˆã¯ã€ + 代ã‚ã‚Šã«ãれを使ã£ã¦ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’ + エクスãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+

ã•ã‚ã€ã‚ãªãŸã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® DLL を作æˆã—ã¾ã—ょã†ã€‚ã“れを〠+ libhttpd.lib 共有ライブラリãŒã‚³ãƒ³ãƒ‘イルã•ã‚ŒãŸã¨ãã«ä½œæˆã•ã‚ŒãŸ + ibhttpd.lib エクスãƒãƒ¼ãƒˆãƒ©ã‚¤ãƒ–ラリã¨ãƒªãƒ³ã‚¯ã—ã¦ãã ã•ã„。ã“ã®æ™‚ã«ã€ + Apache httpd ã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ­£ã—ã„ä½ç½®ã«ã‚るよã†ã«ã€ + コンパイラã®è¨­å®šã‚’変ãˆã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã“ã®ãƒ©ã‚¤ãƒ–ラリã¯ã‚µãƒ¼ãƒãƒ«ãƒ¼ãƒˆã® modules ディレクトリã«ã‚ã‚Šã¾ã™ã€‚ + ビルド環境ãŒæ­£ã—ã設定ã•ã‚Œã‚‹ã‚ˆã†ã«ã€æ—¢å­˜ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ç”¨ã® .dsp ã‚’ + å–ã£ã¦ãã‚‹ã®ãŒä¸€ç•ªè‰¯ã„ã§ã—ょã†ã€‚ã‚‚ã—ãã¯ã€ã‚ãªãŸã® .dsp 㨠+ コンパイラã¨ãƒªãƒ³ã‚¯ã®ã‚ªãƒ—ションを比較ã™ã‚‹ã€ã¨ã„ã†ã‚‚ã®ã§ã‚‚良ã„ã§ã™ã€‚

+ +

ã“れ㧠DLL 版ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒä½œæˆã•ã‚Œã¦ã„ã‚‹ã¯ãšã§ã™ã€‚ + サーãƒãƒ«ãƒ¼ãƒˆã® modules + ディレクトリã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ç½®ã„ã¦ã€ + LoadModule + ディレクティブを使ã£ã¦èª­ã¿è¾¼ã‚“ã§ãã ã•ã„。

+
+
top
+

LoadFile ディレクティブ

+ + + + + + +
説明:指定ã•ã‚ŒãŸã‚ªãƒ–ジェクトファイルやライブラリをリンクã™ã‚‹
構文:LoadFile filename [filename] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_so
+ +

LoadFile ディレクティブã¯ã€ã‚µãƒ¼ãƒãŒèµ·å‹•ã•ã‚ŒãŸã¨ãã‚„å†èµ·å‹•ã•ã‚ŒãŸã¨ãã«ã€ + 指定ã•ã‚ŒãŸã‚ªãƒ–ジェクトファイルやライブラリをリンクã—ã¾ã™ã€‚ + ã“ã‚Œã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå‹•ä½œã™ã‚‹ãŸã‚ã«å¿…è¦ã«ãªã‚‹ã‹ã‚‚ã—ã‚Œãªã„追加㮠+ コードを読ã¿è¾¼ã‚€ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚Filename ã¯çµ¶å¯¾ãƒ‘スã‹ã€ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã§ã™ã€‚

+ +

例:

+ +
LoadFile libexec/libxmlparse.so
+ + + +
+
top
+

LoadModule ディレクティブ

+ + + + + + +
説明:オブジェクトファイルやライブラリをリンクã—ã€ä½¿ç”¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® +リストã«è¿½åŠ ã™ã‚‹
構文:LoadModule module filename
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_so
+ +

LoadModule ディレクティブ㯠filename + ã¨ã„ã†ã‚ªãƒ–ジェクトファイルãŠã‚ˆã³ãƒ©ã‚¤ãƒ–ラリをリンクã—ã€module + ã¨ã„ã†åå‰ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ§‹é€ ã‚’アクティブãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã€‚ + Module ã¯ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã® module + åž‹ã®å¤–部変数ã®åå‰ã§ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã« + モジュール識別å­ã¨ã—ã¦æ›¸ã‹ã‚Œã¦ã„ã‚‹ã‚‚ã®ã§ã™ã€‚例 :

+ +
LoadModule status_module modules/mod_status.so
+ + +

ã“れ㯠ServerRoot ã® modules サブディレクトリã‹ã‚‰æŒ‡å®šã•ã‚ŒãŸåå‰ã® + モジュールをロードã—ã¾ã™ã€‚

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.ko.euc-kr b/docs/manual/mod/mod_so.html.ko.euc-kr new file mode 100644 index 0000000..e437cba --- /dev/null +++ b/docs/manual/mod/mod_so.html.ko.euc-kr @@ -0,0 +1,208 @@ + + + + + +mod_so - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_so

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:½ÃÀÛÇÒ¶§ ȤÀº Àç½ÃÀÛÇÒ¶§ ½ÇÇà°¡´ÉÇÑ ÄÚµå¿Í ¸ðµâÀ» +¼­¹ö·Î ÀоîµéÀδÙ
»óÅÂ:Extension
¸ðµâ¸í:so_module
¼Ò½ºÆÄÀÏ:mod_so.c
Áö¿ø:À©µµ¿ìÁî¿¡¼­ (Ç×»ó Æ÷ÇÔÇÏ´Â) Base ¸ðµâÀÌ´Ù.
+

¿ä¾à

+ + +

¸î¸î ¿î¿µÃ¼Á¦¿¡¼­ ¾ÆÆÄÄ¡´Â µ¿Àû°øÀ¯°´Ã¼ + (DSO) ±â¼úÀ» »ç¿ëÇÏ¿© ¼­¹ö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê°íµµ ½ÇÇàÁß¿¡ + ¸ðµâÀ» ÀоîµéÀÏ ¼ö ÀÖ´Ù.

+ +

ÀоîµéÀÏ ÄÚµå´Â, À¯´Ð½º¿¡¼­´Â (.so È®ÀåÀÚ¸¦ + °¡Áø) ÀϹÝÀûÀÎ °øÀ¯°´Ã¼ÆÄÀÏÀÌ°í, À©µµ¿ìÁî¿¡¼­´Â .so + ȤÀº .dll È®ÀåÀÚ¸¦ °¡Áø´Ù.

+ +

°æ°í

+

¾ÆÆÄÄ¡ 1.3 ¸ðµâÀ» ¾ÆÆÄÄ¡ 2.0¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø´Ù. + ¾ÆÆÄÄ¡ 2.0ÀÌ µ¿ÀûÀ¸·Î ÀоîµéÀ̰ųª ¾ÆÆÄÄ¡¿Í °°ÀÌ ÄÄÆÄÀÏÇÏ·Á¸é + ¸ðµâÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

+
+
+ +
top
+
+

À©µµ¿ìÁî¿¡¼­ ÀоîµéÀÏ ¸ðµâ ¸¸µé±â

+ +

ÁÖÀÇ

+

À©µµ¿ìÁîÀÇ ¸ðµâ¸í Çü½ÄÀº ¾ÆÆÄÄ¡ 1.3.15¿Í 2.0¿¡¼­ º¯°æµÇ¾ú´Ù. + ¸ðµâ¸íÀº ÀÌÁ¦ mod_foo.so½ÄÀÌ´Ù.

+ +

mod_so´Â ¾ÆÁ÷µµ ApacheModuleFoo.dll ½ÄÀÇ ¸ðµâÀ» ÀоîµéÀÏ + ¼ö ÀÖÁö¸¸, »õ·Î¿î À̸§ ±ÔÄ¢À» ¼±È£ÇÑ´Ù. ¸ðµâÀ» 2.0¿¡ ¸Â°Ô + ¼öÁ¤ÇÑ´Ù¸é À̸§À» 2.0 ±ÔÄ¢¿¡ ¾Ë¸Â°Ô °íÄ¡±æ ¹Ù¶õ´Ù.

+ +

¾ÆÆÄÄ¡ ¸ðµâ API´Â À¯´Ð½º ¹öÀüÀ̰ųª À©µµ¿ìÁî ¹öÀüÀ̰ųª + °°´Ù. ¸î¸î API´Â À©µµ¿ìÁî¿¡ ¾ø´Â À¯´Ð½º ±¸Á¶¿¡ ÀÇÁ¸Çϱ⶧¹®¿¡ + »ç¿ëÇÒ ¼ö ¾øÁö¸¸, À¯´Ð½º¿¡¼­ ½ÇÇàµÇ´Â ¸¹Àº ¸ðµâÀ» ¼öÁ¤¾øÀÌ + ȤÀº Á¶±Ý ¼öÁ¤ÇÏ¿© À©µµ¿ìÁî¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¸ðµâÀº µÎ°¡Áö ¹æ¹ýÀ¸·Î ¼­¹ö¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º¿¡¼­´Â + ¸ðµâÀ» ¼­¹ö¿Í °°ÀÌ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡´Â + À¯´Ð½º¿Í ´Þ¸® Configure ÇÁ·Î±×·¥ÀÌ ¾ø±â¶§¹®¿¡ + ¸ðµâÀÇ ¼Ò½ºÆÄÀÏÀ» ApacheCore ÇÁ·ÎÁ§Æ® ÆÄÀÏ¿¡ Ãß°¡ÇÏ°í, ½Éº¼À» + os\win32\modules.c ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù.

+ +

µÎ¹ø° ¹æ¹ýÀº ¸ðµâÀ» ¼­¹ö°¡ + LoadModule Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© ½ÃÀÛÇÒ¶§ ÀоîµéÀÏ ¼ö ÀÖ´Â °øÀ¯¶óÀ̺귯¸® DLL·Î + ¸¸µå´Â °ÍÀÌ´Ù. ÀÌ ¸ðµâ DLLÀ» ¹èÆ÷ÇÏ¸é ¼­¹ö¸¦ ÀçÄÄÆÄÀÏÇÏÁö + ¾Ê°í ¾î¶² À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡¿¡¼­µµ ¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

+ +

¸ðµâ DLLÀ» ¸¸µé±âÀ§Çؼ­´Â ¸ðµâÀÇ ¼Ò½ºÆÄÀÏÀ» Á¶±Ý ¼öÁ¤ÇØ¾ß + ÇÑ´Ù. DLLÀº module record¸¦ exportÇØ¾ß ÇÑ´Ù. (¾Æ·¡ Âü°í) + À̸¦ À§ÇØ ¸ðµâÀÇ module record Á¤ÀÇ¿¡ (¾ÆÆÄÄ¡ Çì´õÆÄÀÏ¿¡ + Á¤ÀǵÈ) AP_MODULE_DECLARE_DATA¸¦ Ãß°¡ÇÑ´Ù. + ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°Àº ¸ðµâÀÌ ÀÖ´Ù¸é:

+ +

+ module foo_module; +

+ +

´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù:

+

+ module AP_MODULE_DECLARE_DATA foo_module; +

+ +

ÀÌ ºÎºÐÀº À©µµ¿ìÁî¿¡¼­¸¸ »ç¿ëÇϱ⶧¹®¿¡ º¯°æÇÏ¿©µµ À¯´Ð½º¿¡¼­ + ¼Ò½º¸¦ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¶Ç, .DEF ÆÄÀÏ¿¡ + Àͼ÷ÇÏ´Ù¸é ´ë½Å ÀÌ ÆÄÀÏÀ» »ç¿ëÇÏ¿© module record¸¦ exportÇÒ + ¼öµµ ÀÖ´Ù.

+ +

ÀÌÁ¦ ¸ðµâÀ» Æ÷ÇÔÇÑ DLLÀ» ¸¸µç´Ù. À̸¦ °øÀ¯¶óÀ̺귯¸® + libhttpd.dllÀ» ÄÄÆÄÀÏÇÒ¶§ ¸¸µç libhttpd.lib export ¶óÀ̺귯¸®¿Í + ¸µÅ©ÇÑ´Ù. ¾ÆÆÄÄ¡ Çì´õÆÄÀÏÀ» ¿Ã¹Ù·Î ãµµ·Ï ÄÄÆÄÀÏ·¯ ¼³Á¤À» + ¼öÁ¤ÇØ¾ß ÇÒÁöµµ ¸ð¸¥´Ù. ¼­¹öÀÇ modules µð·ºÅ丮¿¡¼­ ÀÌ + ¶óÀ̺귯¸®¸¦ ãÀ» ¼ö ÀÖ´Ù. ÄÄÆÄÀÏȯ°æÀ» ¿Ã¹Ù·Î ¼³Á¤ÇϱâÀ§ÇØ + ±âÁ¸ ¸ðµâÀÇ .dsp ÆÄÀÏÀ» °¡Á®´Ù ¾²°Å³ª Á÷Á¢ ¸¸µç .dsp¿Í + ÄÄÆÄÀÏ·¯/¸µÄ¿ ¿É¼ÇÀ» ºñ±³ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

+ +

ÀÌÁ¦ ¸ðµâÀ» DLL·Î ¸¸µç´Ù. ÀÌ°ÍÀ» ¼­¹öÀÇ + modules µð·ºÅ丮¿¡ µÎ°í, + LoadModule Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ÀоîµéÀδÙ.

+ +
+
top
+

LoadFile Áö½Ã¾î

+ + + + + + +
¼³¸í:ÁöÁ¤ÇÑ ¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀδÙ
¹®¹ý:LoadFile filename [filename] ...
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Extension
¸ðµâ:mod_so
+ +

LoadFile Áö½Ã¾î´Â ¼­¹ö°¡ ½ÃÀÛÇϰųª Àç½ÃÀÛÇÒ¶§ ÁöÁ¤ÇÑ + ¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀδÙ(link in). ÀÌ Áö½Ã¾î´Â + ¾î¶² ¸ðµâÀÌ µ¿ÀÛÇϱâÀ§ÇØ ÇÊ¿äÇÑ Äڵ带 Ãß°¡·Î ÀоîµéÀ϶§ + »ç¿ëÇÑ´Ù. FilenameÀº Àý´ë°æ·ÎÀ̰ųª ServerRoot¿¡ ´ëÇÑ »ó´ë°æ·ÎÀÌ´Ù.

+ +

¿¹¸¦ µé¾î:

+ +

LoadFile libexec/libxmlparse.so

+ + +
+
top
+

LoadModule Áö½Ã¾î

+ + + + + + +
¼³¸í:¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀÌ°í, »ç¿ë°¡´ÉÇÑ +¸ðµâ ¸ñ·Ï¿¡ Ãß°¡ÇÑ´Ù
¹®¹ý:LoadModule module filename
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤
»óÅÂ:Extension
¸ðµâ:mod_so
+

LoadModule Áö½Ã¾î´Â ¸ñÀûÆÄÀÏ È¤Àº ¶óÀ̺귯¸® filenameÀ» + ÀоîµéÀÌ°í, »ç¿ë°¡´ÉÇÑ ¸ðµâ ¸ñ·Ï¿¡ moduleÀ̶ó´Â + ¸ðµâ ±¸Á¶Ã¼¸¦ Ãß°¡ÇÑ´Ù. ModuleÀº ÆÄÀÏÀÇ + module ÀÚ·áÇü ¿ÜºÎº¯¼ö¸íÀ̸ç, ¸ðµâ ¹®¼­ÀÇ ¸ðµâ¸í¿¡ + ³ª¿Â´Ù. ¿¹¸¦ µé¸é:

+ +

+ LoadModule status_module modules/mod_status.so +

+ +

ServerRootÀÇ modules ÇÏÀ§µð·ºÅ丮¿¡¼­ ÁöÁ¤ÇÑ ¸ðµâÀ» ÀоîµéÀδÙ.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.tr.utf8 b/docs/manual/mod/mod_so.html.tr.utf8 new file mode 100644 index 0000000..9e65e88 --- /dev/null +++ b/docs/manual/mod/mod_so.html.tr.utf8 @@ -0,0 +1,230 @@ + + + + + +mod_so - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_so

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + + +
Açıklama:Modüllerin ve çalıştırılabilir kodun sunucunun başlatılması veya +yeniden başlatılması sırasında yüklenmesini sağlar.
Durum:Eklenti
Modül Betimleyici:so_module
Kaynak Dosyası:mod_so.c
Uyumluluk:Windows için bu bir temel modüldür (sunucu bunu daima içerir).
+

Özet

+ + +

Seçilen işletim sistemleri üzerinde bu modül Apache HTTP Sunucusunun + yeniden derlenmesini gerektirmeden modüllerin Devingen Paylaşımlı Nesne (DSO) mekanizması üzerinden + kullanılabilmesini sağlar.

+ +

Unix’te yüklenen kod genellikle paylaşımlı nesne dosyalarından + (.so uzantılı dosyalar), Windows’ta ise ya .so + ya da .dll uzantılı dosyalardan gelir.

+ +

Uyarı

+

Apache HTTP Sunucusunun ana sürümlerinden biri (1.3, 2.0, 2.2, 2.4 gibi) + için derlenmiş modüller genelde bir diğerinde çalışmaz. Genellikle + aralarında API değişikliği sözkonusu olduğundan çalışması için modüllerde + yeni sürüme göre değişiklik yapılması gerekir.

+
+
+ +
top
+
+

Yüklenebilir Modüllerin Windows için Oluşturulması

+ + +

Bilginize

+

Windows üzeinde yüklenebilir dosyalar genelde .dll sonekini + alırlar. Apache httpd modülleri ise diğer platformlardaki gibi + mod_filanca.so biçeminde isimlendirilmektedir. Bununla + birlikte, üçüncü parti modüllerden bazılarının (PHP gibi) hala + .dll sonekini kullandığı görülmektedir.

+ +

mod_so modülü ApacheModuleFoo.dll biçeminde + isimlendirilmiş modülleri hala yüklemekteyse de yeni adlandırma uzlaşımı + tercih edilmelidir. Yüklenebilir modülleri 2.0’a dönüştürüyorsanız, + lütfen isimlerini de 2.0 uzlaşımına uygun hale getiriniz.

+ +

Apache httpd modül programlama arayüzü Unix ve Windows sürümleri + arasında değişiklik göstermez. Unix için kullanılan çoğu modül hiç + değişiklik yapmadan ya da çok küçük bir değişiklikle Windows’ta da + çalışmaktadır. Çalışmayanlar Unix platformunun sahip olduğu ancak Windows + platformunun sahip olmadığı nitelikleri kullanan modüllerdir.

+ +

Bir modül Windows’ta çalıştığı zaman, sunucuya iki şekilde + yüklenebilir. Unix’te olduğu gibi, doğrudan sunucunun içinde + derlenebilir. Windows için hazırlanan Apache httpd paketi, Unix için + geçerli olan Configure betiğini içermediğinden modülün + kaynak dosyası ApacheCore proje dosyasına, sembolleri de + os\win32\modules.c dosyasına eklenmelidir.

+ +

İkinci yol ise modülü bir paylaşımlı kütüphane olarak çalışma anında + LoadModule yönergesi ile yüklemek + için bir DLL olarak derlemektir. Bu DLL modüller dağıtılabilir ve + sunucuyu yeniden derlemek gerekmeksizin her Windows için Apache httpd + kurulumunda çalışabilir.

+ +

Bir modül DLL’i oluşturmak için modülün kaynak dosyasında küçük bir + değişiklik yapmak gerekir: Modül kaydının daha sonra oluşturulacak olan + DLL’den ihraç edilebilmesi gerekir (aşağıya bakınız). Bunu yapmak için + modülün modül kaydı tanımına (Apache httpd başlık dosyalarında + tanımlanmış olan) AP_MODULE_DECLARE_DATA eklenmelidir. + Örneğin, modülünüz

+ +

+ module foo_module; +

+ +

diye bir satır içeriyorsa bunu,

+ +

+ module AP_MODULE_DECLARE_DATA foo_module; +

+ +

olarak değiştirmelisiniz. Bunun yalnız Windows üzerinde etkili olduğunu + ve Unix için modül kodunda bir değişiklik gerekmediğini unutmayınız. + Ayrıca, .DEF dosyaları hakkında bilgi sahibi iseniz modül + kodunda değişiklik yapmak yerine modül kaydını bu yöntemle de ihraç + edebilirsiniz.

+ +

Artık modülü içeren bir DLL oluşturmaya hazırsınız. Bunu, libhttpd.dll + paylaşımlı kütüphanesi derlenirken oluşturulan libhttpd.lib ihraç + kütüphanesi ile ilintilemeniz gerekecektir. Ayrıca, Apache httpd başlık + dosyalarının doğru konumlandığından emin olmak için derleyici + seçeneklerinde değişiklik yapmanız gerekebilir. Bu kütüphaneyi + sunucunuzun kök dizini altındaki modules dizininde + bulabilirsiniz. En iyisi derleme ortamının doğru yapılandırıldığından + emin olmak için ya ağaçta mevcut modüllerden birinin .dsp + dosyasını gaspedersiniz ya da kendi .dsp dosyanızın + ilintileme seçenekleriyle derleyicininkileri karşılaştırırsınız.

+ +

Artık modülünüzün DLL sürümünü oluşturmalısınız. DLL’i sunucunuzun kök + dizininin altında bulunan modules dizinine yerleştirdikten + sonra LoadModule yönergesi ile sunucunuza + yükleyebilirsiniz.

+ +
+
top
+

LoadFile Yönergesi

+ + + + + + +
Açıklama:Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler. +
Sözdizimi:LoadFile dosya-ismi [dosya-ismi] ...
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_so
+ +

LoadFile yönergesi ismi belirtilen kütüphaneleri + veya nesne dosyalarını sunucu başlatılırken veya yeniden başlatılırken + sunucu ile ilintiler. Yönerge, bazı modüllerin çalışması sırasında + gereken ek kodların yüklenmesi için kullanılır. + dosya-ismi olarak mutlak bir dosya yolu + belirtilebileceği gibi ServerRoot’a + göreli bir dosya yolu da belirtilebilir.

+ +

Örnek:

+ +
LoadFile libexec/libxmlparse.so
+ + + +
+
top
+

LoadModule Yönergesi

+ + + + + + +
Açıklama:Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler +ve etkin modül listesine ekler.
Sözdizimi:LoadModule modül dosya-ismi
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_so
+

LoadModule yönergesi + dosya-ismi ile belirtilen nesne dosyasını veya + kütüphaneyi sunucu ile ilintiler ve etkin modül listesine belirtilen + modül ismiyle ekler. modül, + modülün kaynak dosyasında module türündeki tek harici + değişkenin ismi olup modül belgelerinde Modül Betimleyici olarak + geçer.

+ +

Örneğin,

+ +
LoadModule status_module modules/mod_status.so
+ + +

satırı ile ismi belirtilen dosya ServerRoot dizini altındaki + modules alt dizininden yüklenir.

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dbm.html b/docs/manual/mod/mod_socache_dbm.html new file mode 100644 index 0000000..db99382 --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_dbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_dbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_dbm.html.en b/docs/manual/mod/mod_socache_dbm.html.en new file mode 100644 index 0000000..a7a39bd --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html.en @@ -0,0 +1,87 @@ + + + + + +mod_socache_dbm - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_socache_dbm

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:DBM based shared object cache provider.
Status:Extension
Module Identifier:socache_dbm_module
Source File:mod_socache_dbm.c
+

Summary

+ +

mod_socache_dbm is a shared object cache provider + which provides for creation and access to a cache backed by a + DBM database. +

+ +

+ dbm:/path/to/datafile +

+ +

Details of other shared object cache providers can be found + here. +

+ +
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dbm.html.fr.utf8 b/docs/manual/mod/mod_socache_dbm.html.fr.utf8 new file mode 100644 index 0000000..6240278 --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html.fr.utf8 @@ -0,0 +1,86 @@ + + + + + +mod_socache_dbm - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_dbm

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur DBM.
Statut:Extension
Identificateur de Module:socache_dbm_module
Fichier Source:mod_socache_dbm.c
+

Sommaire

+ +

Le module mod_socache_dbm est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par une base de données DBM. +

+ +

+ dbm:/chemin/vers/datafile +

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dc.html b/docs/manual/mod/mod_socache_dc.html new file mode 100644 index 0000000..570f341 --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_dc.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_dc.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_dc.html.en b/docs/manual/mod/mod_socache_dc.html.en new file mode 100644 index 0000000..c1d92e8 --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html.en @@ -0,0 +1,84 @@ + + + + + +mod_socache_dc - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_socache_dc

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Distcache based shared object cache provider.
Status:Extension
Module Identifier:socache_dc_module
Source File:mod_socache_dc.c
+

Summary

+ +

mod_socache_dc is a shared object cache provider + which provides for creation and access to a cache backed by the + distcache + distributed session caching libraries. +

+ +

Details of other shared object cache providers can be found + here. +

+ +
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dc.html.fr.utf8 b/docs/manual/mod/mod_socache_dc.html.fr.utf8 new file mode 100644 index 0000000..bb1dd1e --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html.fr.utf8 @@ -0,0 +1,83 @@ + + + + + +mod_socache_dc - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_dc

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur dc.
Statut:Extension
Identificateur de Module:socache_dc_module
Fichier Source:mod_socache_dc.c
+

Sommaire

+ +

Le module mod_socache_dc est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par les bibliothèques de mise en cache de sessions + distribuées distcache. +

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_memcache.html b/docs/manual/mod/mod_socache_memcache.html new file mode 100644 index 0000000..39c065b --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_memcache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_memcache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_memcache.html.en b/docs/manual/mod/mod_socache_memcache.html.en new file mode 100644 index 0000000..5e90bec --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html.en @@ -0,0 +1,129 @@ + + + + + +mod_socache_memcache - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_socache_memcache

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Memcache based shared object cache provider.
Status:Extension
Module Identifier:socache_memcache_module
Source File:mod_socache_memcache.c
+

Summary

+ +

mod_socache_memcache is a shared object cache provider + which provides for creation and access to a cache backed by the + memcached + high-performance, distributed memory object caching system. +

+ + +

This shared object cache provider's "create" method requires a + comma separated list of memcached host/port specifications. If using + this provider via another modules configuration (such as + SSLSessionCache), provide + the list of servers as the optional "arg" parameter.

+ +
SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345
+ + +

Details of other shared object cache providers can be found + here. +

+ +
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

MemcacheConnTTL Directive

+ + + + + + + + +
Description:Keepalive time for idle connections
Syntax:MemcacheConnTTL num[units]
Default:MemcacheConnTTL 15s
Context:server config, virtual host
Status:Extension
Module:mod_socache_memcache
Compatibility:Available in Apache 2.4.17 and later
+ +

Set the time to keep idle connections with the memcache server(s) + alive (threaded platforms only).

+ +

Valid values for MemcacheConnTTL are times + up to one hour. 0 means no timeout.

+ +

This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). +

+ +

Before Apache 2.4.17, this timeout was hardcoded and its value was 600 usec. + So, the closest configuration to match the legacy behaviour is to set + MemcacheConnTTL to 1ms.

+ +
# Set a timeout of 10 minutes
+MemcacheConnTTL 10min
+# Set a timeout of 60 seconds
+MemcacheConnTTL 60
+
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_memcache.html.fr.utf8 b/docs/manual/mod/mod_socache_memcache.html.fr.utf8 new file mode 100644 index 0000000..e127af8 --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html.fr.utf8 @@ -0,0 +1,135 @@ + + + + + +mod_socache_memcache - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_memcache

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur Memcache.
Statut:Extension
Identificateur de Module:socache_memcache_module
Fichier Source:mod_socache_memcache.c
+

Sommaire

+ +

Le module mod_socache_memcache est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par le système de mise en cache d'objets en mémoire + distribuée à hautes performances memcached. +

+ +

Cette méthode "create" du fournisseur de cache d'objets partagés + requiert une liste de spécifications hôte/port en cache mémoire + séparées par des virgules. Si vous utilisez ce fournisseur + dans la configuration d'autres modules (comme + SSLSessionCache), vous devez + fournir la liste des serveurs sous la forme du paramètre optionnel + "arg".

+ +
SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345
+ + +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+ + +
top
+

Directive MemcacheConnTTL

+ + + + + + + + +
Description:Durée de conservation des connexions inactives
Syntaxe:MemcacheConnTTL num[units]
Défaut:MemcacheConnTTL 15s
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_socache_memcache
Compatibilité:Disponible à partir de la version 2.4.17 du serveur HTTP +Apache.
+ +

Définit la durée pendant laquelle les connexions + inactives avec le(s) serveur(s) memcache seront conservées + (plateformes threadées seulement).

+ +

Les valeurs valides de la directive + MemcacheConnTTL sont des durées d'une heure + maximum. La valeur 0 signifie une absence de péremption

+ +

L'unité par défaut pour ce délai est la seconde, mais vous + pouvez ajouter un suffixe pour spécifier une unité différente ; ms + pour milliseconde, s pour seconde, min pour minute et h pour heure.. +

+ +

Dans les versions antérieures à 2.4.17, ce délai était codé en + dur et sa valeur était 600 microsecondes. La valeur la plus proche + de cette ancienne valeur pour la directive + MemcacheConnTTL est donc 1ms.

+ +
# Définition d'un délai de 10 minutes
+MemcacheConnTTL 10min
+# Définition d'un délai de 60 secondes
+MemcacheConnTTL 60
+
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_redis.html b/docs/manual/mod/mod_socache_redis.html new file mode 100644 index 0000000..eade40d --- /dev/null +++ b/docs/manual/mod/mod_socache_redis.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_redis.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_redis.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_redis.html.en b/docs/manual/mod/mod_socache_redis.html.en new file mode 100644 index 0000000..c751957 --- /dev/null +++ b/docs/manual/mod/mod_socache_redis.html.en @@ -0,0 +1,153 @@ + + + + + +mod_socache_redis - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_socache_redis

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Redis based shared object cache provider.
Status:Extension
Module Identifier:socache_redis_module
Source File:mod_socache_redis.c
Compatibility:Available in Apache 2.4.39 and later
+

Summary

+ +

mod_socache_redis is a shared object cache provider + which provides for creation and access to a cache backed by the + Redis + high-performance, distributed memory object caching system. +

+ + +

This shared object cache provider's "create" method requires a + comma separated list of memcached host/port specifications. If using + this provider via another modules configuration (such as + SSLSessionCache), provide + the list of servers as the optional "arg" parameter.

+ +
SSLSessionCache redis:redis.example.com:12345,redis2.example.com:12345
+ + +

Details of other shared object cache providers can be found + here. +

+ +
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

RedisConnPoolTTL Directive

+ + + + + + + + +
Description:TTL used for the connection pool with the Redis server(s)
Syntax:RedisConnPoolTTL num[units]
Default:RedisConnPoolTTL 15s
Context:server config, virtual host
Status:Extension
Module:mod_socache_redis
Compatibility:Available in Apache 2.4.39 and later
+

Set the time to keep idle connections with the Redis server(s) + alive (threaded platforms only).

+ +

Valid values for RedisConnPoolTTL are times + up to one hour. 0 means no timeout.

+ +

This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). +

+ +
# Set a timeout of 10 minutes
+RedisConnPoolTTL 10min
+# Set a timeout of 60 seconds
+RedisConnPoolTTL 60
+
+ +
+
top
+

RedisTimeout Directive

+ + + + + + + + +
Description:R/W timeout used for the connection with the Redis server(s)
Syntax:RedisTimeout num[units]
Default:RedisTimeout 5s
Context:server config, virtual host
Status:Extension
Module:mod_socache_redis
Compatibility:Available in Apache 2.4.39 and later
+

Set the Read/Write timeout used for the connection with the Redis + server(s).

+ +

Valid values for RedisTimeout are times + up to one hour. 0 means no timeout.

+ +

This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). +

+ +
# Set a timeout of 10 minutes
+RedisTimeout 10min
+# Set a timeout of 60 seconds
+RedisTimeout 60
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_redis.html.fr.utf8 b/docs/manual/mod/mod_socache_redis.html.fr.utf8 new file mode 100644 index 0000000..0d35a3d --- /dev/null +++ b/docs/manual/mod/mod_socache_redis.html.fr.utf8 @@ -0,0 +1,156 @@ + + + + + +mod_socache_redis - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_redis

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Fournisseur de cache d'objets partagé basé sur Redis.
Statut:Extension
Identificateur de Module:socache_redis_module
Fichier Source:mod_socache_redis.c
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP Apache
+

Sommaire

+ +

mod_socache_redis implémente un fournisseur de cache + d'objets partagé qui permet la création et l'accès à un cache hébergé par le + système de mise en cache d'objets en mémoire partagée à hautes performances + Redis. +

+ +

La méthode "create" de ce fournisseur de cache d'objets partagé nécessite + une liste en mémoire de spécifications hôte/port séparées par des virgules. + Si vous utilisez ce fournisseur dans une directive de configuration d'un autre + module comme SSLSessionCache, + spécifiez la liste des serveurs sous la forme du paramètre optionnel "arg" :

+ +
SSLSessionCache redis:redis.example.com:12345,redis2.example.com:12345
+ + +

Vous trouverez une description détaillée des autres fournisseurs de cache + d'objets partagé ici. +

+ +
+ + +
top
+

Directive RedisConnPoolTTL

+ + + + + + + + +
Description:Durée de vie du jeu de connexions avec le(s) serveur(s) Redis.
Syntaxe:RedisConnPoolTTL num[units]
Défaut:RedisConnPoolTTL 15s
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_socache_redis
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP Apache.
+

Cette directive permet de définir la durée pendant laquelle les + connexions inactives avec le(s) serveur(s) Redis seront conservées + (plateformes threadées seulement).

+ +

Les valeurs valides pour RedisConnPoolTTL sont des + durées limitées à 1 heure . 0 signifie aucune limite.

+ +

Par défaut, l'unité de ces valeurs est la secondes, mais on peut + spécifier via un suffixe des valeurs en millisecondes (ms), en secondes (s), + en minutes (min) ou en heures (h). +

+ +
# Définit une durée de vie de 10 minutes
+RedisConnPoolTTL 10min
+# Définit une durée de vie de 60 secondes
+RedisConnPoolTTL 60
+
+ +
+
top
+

Directive RedisTimeout

+ + + + + + + + +
Description:Durée maximale de lecture/écriture sur la connexion avec le(s) +serveur(s) Redis.
Syntaxe:RedisTimeout num[units]
Défaut:RedisTimeout 5s
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_socache_redis
Compatibilité:Disponible à partir de la version 2.4.39 du serveur HTTP Apache.
+

Cette directive permet de définir la durée maximale de lecture/écriture + sur la connexion avec le(s) serveur(s) Redis.

+ +

Les valeurs valides pour RedisTimeout sont des + durées limitées à 1 heure . 0 signifie aucune limite.

+ +

Par défaut, l'unité de ces valeurs est la secondes, mais on peut + spécifier via un suffixe des valeurs en millisecondes (ms), en secondes (s), + en minutes (min) ou en heures (h). +

+ +
# Définit une durée de 10 minutes
+RedisTimeout 10min
+# Définit une durée de 60 secondes
+RedisTimeout 60
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_shmcb.html b/docs/manual/mod/mod_socache_shmcb.html new file mode 100644 index 0000000..267124d --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_shmcb.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_shmcb.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_shmcb.html.en b/docs/manual/mod/mod_socache_shmcb.html.en new file mode 100644 index 0000000..08eed28 --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html.en @@ -0,0 +1,87 @@ + + + + + +mod_socache_shmcb - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_socache_shmcb

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:shmcb based shared object cache provider.
Status:Extension
Module Identifier:socache_shmcb_module
Source File:mod_socache_shmcb.c
+

Summary

+ +

mod_socache_shmcb is a shared object cache provider + which provides for creation and access to a cache backed by a + high-performance cyclic buffer inside a shared memory segment. +

+ +

+ shmcb:/path/to/datafile(512000) +

+ +

Details of other shared object cache providers can be found + here. +

+ +
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_shmcb.html.fr.utf8 b/docs/manual/mod/mod_socache_shmcb.html.fr.utf8 new file mode 100644 index 0000000..705f070 --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html.fr.utf8 @@ -0,0 +1,87 @@ + + + + + +mod_socache_shmcb - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_shmcb

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur shmcb.
Statut:Extension
Identificateur de Module:socache_shmcb_module
Fichier Source:mod_socache_shmcb.c
+

Sommaire

+ +

Le module mod_socache_shmcb est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par un tampon cyclique à hautes performances au sein d'un + segment de mémoire partagée. +

+ +

+ shmcb:/chemin/vers/datafile(512000) +

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html b/docs/manual/mod/mod_speling.html new file mode 100644 index 0000000..e12609e --- /dev/null +++ b/docs/manual/mod/mod_speling.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_speling.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_speling.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_speling.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_speling.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_speling.html.en b/docs/manual/mod/mod_speling.html.en new file mode 100644 index 0000000..21be8ef --- /dev/null +++ b/docs/manual/mod/mod_speling.html.en @@ -0,0 +1,192 @@ + + + + + +mod_speling - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_speling

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.
Status:Extension
Module Identifier:speling_module
Source File:mod_speling.c
+

Summary

+ + +

Requests to documents sometimes cannot be served by the core + apache server because the request was misspelled or + miscapitalized. This module addresses this problem by trying to + find a matching document, even after all other modules gave up. + It does its work by comparing each document name in the + requested directory against the requested document name + without regard to case, and allowing + up to one misspelling (character insertion / + omission / transposition or wrong character). A list is built + with all document names which were matched using this + strategy. Erroneous extension can also be fixed + by this module.

+ +

If, after scanning the directory,

+ +
    +
  • no matching document was found, Apache will proceed as + usual and return an error (404 - document not found).
  • + +
  • only one document is found that "almost" matches the + request, then it is returned in the form of a redirection + response (301 - Moved Permanently).
  • + +
  • more than one document with a close match was found, then + the list of the matches is returned to the client, and the + client can select the correct candidate (300 - Multiple + Choices).
  • +
+ +
+ + +
top
+

CheckBasenameMatch Directive

+ + + + + + + + + +
Description:Also match files with differing file name extensions.
Syntax:CheckBasenameMatch on|off
Default:CheckBasenameMatch On
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Extension
Module:mod_speling
Compatibility:Available in httpd 2.4.50 and later
+

When set, this directive extends the action of the spelling correction + to the file name extension. For example a file foo.gif will + match a request for foo or foo.jpg. This can be + particularly useful in conjunction with + MultiViews.

+ +
+
top
+

CheckCaseOnly Directive

+ + + + + + + + +
Description:Limits the action of the speling module to case corrections
Syntax:CheckCaseOnly on|off
Default:CheckCaseOnly Off
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Extension
Module:mod_speling
+

When set, this directive limits the action of the spelling correction + to lower/upper case changes. Other potential corrections are not performed, + except when CheckBasenameMatch is also set.

+ +
+
top
+

CheckSpelling Directive

+ + + + + + + + +
Description:Enables the spelling +module
Syntax:CheckSpelling on|off
Default:CheckSpelling Off
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Extension
Module:mod_speling
+

This directive enables or disables the spelling module. When + enabled, keep in mind that

+ +
    +
  • the directory scan which is necessary for the spelling + correction will have an impact on the server's performance + when many spelling corrections have to be performed at the + same time.
  • + +
  • the document trees should not contain sensitive files + which could be matched inadvertently by a spelling + "correction".
  • + +
  • the module is unable to correct misspelled user names (as + in http://my.host/~apahce/), just file names or + directory names.
  • + +
  • spelling corrections apply strictly to existing files, so + a request for the <Location /status> may + get incorrectly treated as the negotiated file + "/stats.html".
  • +
+ + +

mod_speling should not be enabled in DAV + enabled directories, because it will try to "spell fix" newly created + resource names against existing filenames, e.g., when trying to upload + a new document doc43.html it might redirect to an existing + document doc34.html, which is not what was intended. +

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html.fr.utf8 b/docs/manual/mod/mod_speling.html.fr.utf8 new file mode 100644 index 0000000..a138304 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.fr.utf8 @@ -0,0 +1,196 @@ + + + + + +mod_speling - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_speling

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Tente de corriger les erreurs de casse dans les URLs ou les +fautes de frappe mineures.
Statut:Extension
Identificateur de Module:speling_module
Fichier Source:mod_speling.c
+

Sommaire

+ + +

Il arrive que des requêtes pour des documents ne puissent pas + être traitées par le serveur Apache de base à cause d'une erreur + de frappe ou de casse. Ce module permet de traiter ce + problème en essayant de trouver un document correspondant, même + lorsque tous les autres modules y ont renoncé. Sa méthode de travail + consiste à comparer chaque nom de document du répertoire demandé + avec le document de la requête sans tenir compte de la + casse, et en acceptant jusqu'à une erreur + (insertion, omission, inversion de caractère ou caractère + erroné). Une liste de tous les documents qui correspondent est alors + élaborée en utilisant cette stratégie. Ce module traite aussi les + erreurs dans les extensions de fichiers.

+ +

Si après le parcours du répertoire,

+ +
    +
  • aucun document correspondant n'a été trouvé, Apache procèdera + normalement et renverra une erreur (404 - document not found).
  • + +
  • un seul document correspondant pratiquement à la requête a + été trouvé, celui-ci est renvoyé sous la forme d'une réponse de + redirection (301 - Moved Permanently).
  • + +
  • plusieurs documents pouvant correspondre ont été trouvés, une + liste des documents est envoyée au client afin que ce dernier + puisse sélectionner le document correct (300 - Multiple + Choices).
  • +
+ +
+ + +
top
+

Directive CheckBasenameMatch

+ + + + + + + + + +
Description:Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes
Syntaxe:CheckBasenameMatch on|off
Défaut:CheckBasenameMatch On
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Extension
Module:mod_speling
Compatibilité:Disponible à partir de la version 2.4.50 du serveur HTTP +Apache
+

Lorsqu'elle est définie, cette directive étend le processus de correction + orthographique à l'extension des noms de fichiers. Par exemple, un fichier + de nom foo.gif sera pris en compte par une requête pour + foo ou foo.jpg. Ceci peut s'avérer + particulièrement utile en conjonction avec les MultiViews.

+ + +
+
top
+

Directive CheckCaseOnly

+ + + + + + + + +
Description:Limite l'action du module aux corrections de +majuscules
Syntaxe:CheckCaseOnly on|off
Défaut:CheckCaseOnly Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Extension
Module:mod_speling
+

Lorsqu'elle est définie à "on", cette directive permet de limiter + l'action du module aux inversions majuscule/minuscule. Les autres + corrections éventuelles ne seront effectuées que si la directive CheckBasenameMatch est elle aussi définie.

+ + +
+
top
+

Directive CheckSpelling

+ + + + + + + + +
Description:Active le module de correction
Syntaxe:CheckSpelling on|off
Défaut:CheckSpelling Off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Extension
Module:mod_speling
+

Cette directive permet d'activer ou de désactiver le module de + correction. Lorsqu'il est activé, rappelez-vous que :

+ +
    +
  • le parcours du répertoire nécessaire à la correction aura un + impact sur les performances du serveur lorsque de nombreuses + corrections devront être effectuées au même moment.
  • + +
  • l'arborescence ne doit pas contenir de documents + sensibles qui pourraient être considérés par erreur comme + correspondant à la requête.
  • + +
  • le module ne corrige pas les noms d'utilisateur mal + orthographiés (comme dans + http://mon.serveur/~apahce/), mais seulement les noms + de fichiers ou de répertoires.
  • + +
  • les corrections s'appliquent strictement aux fichiers + existants, si bien qu'une requête pour <Location + /status> pour être traitée de manière incorrecte comme + une requête pour le fichier négocié "/stats.html".
  • +
+ + +

mod_speling ne doit pas être activé pour des répertoires + où DAV l'est aussi, car il va essayer de + "corriger" les noms des ressources nouvellement créées en fonction des noms + de fichiers existants ; par exemple, lors du chargement d'un nouveau + document doc43.html, il est possible qu'il redirige vers un + document existant doc34.html, ce qui ne correspond pas à ce que + l'on souhaite.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html.ja.utf8 b/docs/manual/mod/mod_speling.html.ja.utf8 new file mode 100644 index 0000000..3d65104 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.ja.utf8 @@ -0,0 +1,193 @@ + + + + + +mod_speling - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_speling

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:ユーザãŒå…¥åŠ›ã—ãŸã§ã‚ã‚ã†é–“é•ã£ãŸ URL を〠+大文字å°æ–‡å­—ã®åŒºåˆ¥ã‚’無視ã™ã‚‹ã“ã¨ã¨ä¸€ã¤ä»¥ä¸‹ã®ç¶´ã‚Šé–“é•ã„を許容ã™ã‚‹ã“ã¨ã§ +修正を試ã¿ã‚‹
ステータス:Extension
モジュール識別å­:speling_module
ソースファイル:mod_speling.c
+

概è¦

+ + +

リクエストã®ç¶´ã‚ŠãŒé–“é•ã£ã¦ã„ãŸã‚Šã€ + 大文字å°æ–‡å­—ãŒé•ã£ã¦ã„ãŸã‚Šã™ã‚‹ãŸã‚ã«ã€Apache ã®ã‚³ã‚¢ã‚µãƒ¼ãƒãŒ + ドキュメントã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¸ã®å¿œç­”ã‚’æ­£ã—ãæä¾›ã§ããªã„ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ä»–ã®ã™ã¹ã¦ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚ãらã‚ãŸå¾Œã§ã‚ã£ãŸã¨ã—ã¦ã‚‚〠+ リクエストã«åˆã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’見ã¤ã‘よã†ã¨ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã“ã®å•é¡Œã® + 解決を試ã¿ã¾ã™ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚ã‚‹ + ãã‚Œãžã‚Œã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®åå‰ã¨ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®åå‰ã¨ã‚’ + 大文字å°æ–‡å­—ã®åŒºåˆ¥ã‚’無視ã—ã€ä¸€æ–‡å­—ã¾ã§ã® + 綴りã®é–“é•ã„ (文字ã®æŒ¿å…¥/çœç•¥/隣åˆã†æ–‡å­—ã®ç½®æ›ã€é–“é•ã£ãŸæ–‡å­—) + を許å¯ã—ã¦æ¯”較ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ç›®çš„ã‚’é”æˆã—よã†ã¨ã—ã¾ã™ã€‚ + ã“ã®æ–¹æ³•ã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«åˆã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ä¸€è¦§ãŒä½œæˆã•ã‚Œã¾ã™ã€‚

+ +

ディレクトリをスキャンã—ãŸå¾Œã«ã€

+ +
    +
  • é©åˆ‡ãªãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸå ´åˆã€ + Apache ã¯ã„ã¤ã‚‚ã¨åŒã˜ã‚ˆã†ã«å‡¦ç†ã‚’ã—〠+ 「ドキュメントãŒè¦‹ã¤ã‹ã‚‰ãªã„ã€ã¨ã„ã†ã‚¨ãƒ©ãƒ¼ã‚’è¿”ã—ã¾ã™ã€‚
  • + +
  • リクエストã«ã€Œã»ã¨ã‚“ã©ã€åˆã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒä¸€ã¤ã ã‘見ã¤ã‹ã£ãŸå ´åˆã€ + ãã‚ŒãŒãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå¿œç­”ã¨ã—ã¦è¿”ã•ã‚Œã¾ã™ã€‚
  • + +
  • よãä¼¼ãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¤‡æ•°è¦‹ã¤ã‹ã£ãŸå ´åˆã€ + ãã®ãƒªã‚¹ãƒˆãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã•ã‚Œã€ + クライアントãŒæ­£ã—ã„候補をé¸æŠžã§ãるよã†ã«ã—ã¾ã™ã€‚
  • +
+ +
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

CheckBasenameMatch ディレクティブ

+ + + + + + + + + +
説明:Also match files with differing file name extensions.
構文:CheckBasenameMatch on|off
デフォルト:CheckBasenameMatch On
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Options
ステータス:Extension
モジュール:mod_speling
互æ›æ€§:Available in httpd 2.4.50 and later

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

CheckCaseOnly ディレクティブ

+ + + + + + + + +
説明:大文字å°æ–‡å­—ã®ä¿®æ­£ã ã‘è¡Œã†ã‚ˆã†ã«ã™ã‚‹
構文:CheckCaseOnly on|off
デフォルト:CheckCaseOnly Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Options
ステータス:Extension
モジュール:mod_speling
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒã‚»ãƒƒãƒˆã•ã‚Œã‚‹ã¨ã€ + 綴り訂正機能ã¯å¤§æ–‡å­—å°æ–‡å­—ã®ä¿®æ­£ã®ã¿åƒãã€ä»–ã®ä¿®æ­£æ©Ÿèƒ½ã¯åƒãã¾ã›ã‚“。

+ + +
+
top
+

CheckSpelling ディレクティブ

+ + + + + + + + + +
説明:spelling モジュールを使用ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹
構文:CheckSpelling on|off
デフォルト:CheckSpelling Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:Options
ステータス:Extension
モジュール:mod_speling
互æ›æ€§:CheckSpelling 㯠Apache 1.1 ã§ã¯åˆ¥é…布ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ã€ +大文字å°æ–‡å­—ã®é–“é•ã„ã®ã¿ã®æ©Ÿèƒ½ã§ã—ãŸã€‚Apache 1.3 㧠Apache ã®é…布㫠+å«ã¾ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚Apache 1.3.2 よりå‰ã§ã¯ CheckSpelling +ディレクティブã¯ã€Œã‚µãƒ¼ãƒã€ã¨ã€Œãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã€ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã®ã¿ +使用å¯èƒ½ã§ã—ãŸ
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç¶´ã‚Šç”¨ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使用ã™ã‚‹ã‹ã©ã†ã‹ã‚’ + 決ã‚ã¾ã™ã€‚使用時ã«ã¯ã€ä»¥ä¸‹ã®ã“ã¨ã‚’覚ãˆã¦ãŠã„ã¦ãã ã•ã„

+ +
    +
  • åŒæ™‚ã«ãŸãã•ã‚“ã®ç¶´ã‚Šã®è¨‚正を行ãªã‚ãªã‘ã‚Œã°ãªã‚‰ãªã„ã¨ãã¯ã€ + ãã®ãŸã‚ã«è¡Œãªã‚れるディレクトリã®ã‚¹ã‚­ãƒ£ãƒ³ãŒã‚µãƒ¼ãƒã®æ€§èƒ½ã« + 影響を与ãˆã¾ã™ã€‚
  • + +
  • ドキュメントã®ä¸­ã«ç¶´ã‚Šã®ã€Œè¨‚æ­£ã€ã«ã‚ˆã‚Š + æ„図ã›ãšåˆã£ã¦ã—ã¾ã†ã‚ˆã†ãªé‡è¦ãªãƒ•ã‚¡ã‚¤ãƒ«ãŒãªã„よã†ã«ã—ã¦ãã ã•ã„。 +
  • + +
  • モジュールã¯ãƒ¦ãƒ¼ã‚¶åã®ç¶´ã‚Šã®é–“é•ã„ + (http://my.host/~apahce/ ã®ã‚ˆã†ã«) + を訂正ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 + 訂正ã§ãã‚‹ã®ã¯ãƒ•ã‚¡ã‚¤ãƒ«åã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã ã‘ã§ã™ã€‚
  • + +
  • 綴りã®è¨‚æ­£ã¯å­˜åœ¨ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã«åŽ³å¯†ã«é©ç”¨ã•ã‚Œã¾ã™ã®ã§ã€ + <Location /status> + ã¯ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®çµæžœã®ãƒ•ã‚¡ã‚¤ãƒ« "/stats.html" + ã¨ã—ã¦é–“é•ã£ã¦æ‰±ã‚れるã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
  • +
+ + +

DAV ãŒæœ‰åŠ¹ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ + mod_speling ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。 + æ–°ã—ã作æˆã—ãŸãƒªã‚½ãƒ¼ã‚¹åã‚’æ—¢ã«å­˜åœ¨ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åã«ã€Œä¿®æ­£ã€ã—よã†ã¨ã™ã‚‹ã€ + 例ãˆã°ã€æ–°è¦ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ doc43.html ãŒæ—¢ã«å­˜åœ¨ã™ã‚‹ + doc34.html ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¦ã€ + 期待ã¨ã¯é•ã†æŒ™å‹•ã«ãªã‚‹ã‹ã‚‰ã§ã™ã€‚

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html.ko.euc-kr b/docs/manual/mod/mod_speling.html.ko.euc-kr new file mode 100644 index 0000000..086c0e3 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.ko.euc-kr @@ -0,0 +1,176 @@ + + + + + +mod_speling - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_speling

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:»ç¿ëÀÚ°¡ ´ë¼Ò¹®ÀÚ¸¦ À߸ø »ç¿ëÇϰųª ¸ÂÃã¹ýÀÌ Æ²¸®´Â +°ÍÀ» Çѹø±îÁö Çã¿ëÇÏ¿© À߸øµÈ URLÀ» °íÄ¡·Á°í ½ÃµµÇÑ´Ù
»óÅÂ:Extension
¸ðµâ¸í:speling_module
¼Ò½ºÆÄÀÏ:mod_speling.c
+

¿ä¾à

+ + +

Á¾Á¾ ¸ÂÃã¹ýÀÌ Æ²¸®°Å³ª ´ë¼Ò¹®ÀÚ¸¦ À߸ø »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡°¡ + ¹®¼­ ¿äûÀ» ¼­ºñ½ºÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ ¸ðµâÀº ´Ù¸¥ + ¸ðµç ¸ðµâµéÀÌ Æ÷±âÇÑ ¿äû¿¡ ÇØ´çÇÏ´Â ¹®¼­¸¦ ã´Â´Ù. ¸ðµâÀº + ¿äûÇÑ µð·ºÅ丮 ¾È¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ ¿äûÇÑ ¹®¼­À̸§°ú + ´ë¼Ò¹®ÀÚ ±¸º°¾øÀÌ (¹®ÀÚ Ã·°¡ / »ý·« / ±³Ã¼ + ȤÀº À߸øµÈ ¹®ÀÚ ) ¸ÂÃã¹ýÀÌ Çѹø±îÁö Ʋ·Áµµ + ºÁÁÖ¸ç ºñ±³ÇÑ´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î ¹®¼­¸ñ·ÏÀ» ¸¸µç´Ù.

+ +

µð·ºÅ丮¸¦ »ìÆ캻 ÈÄ¿¡,

+ +
    +
  • ¹®¼­¸¦ ãÁö¸øÇϸé, ¾ÆÆÄÄ¡´Â ÀϹÝÀûÀÎ "document not + found (¹®¼­¸¦ ãÀ» ¼ö ¾øÀ½)" ¿À·ù¸¦ ¹ÝȯÇÑ´Ù.
  • + +
  • ¿äû¿¡ "°ÅÀÇ" ÀÏÄ¡ÇÏ´Â ¹®¼­¸¦ Çϳª¸¸ ãÀº °æ¿ì, ±× + ¹®¼­·Î ¸®´ÙÀÌ·º¼Ç ÀÀ´äÀ» ÇÑ´Ù.
  • + +
  • ±ÙÁ¢ÇÑ ¹®¼­¸¦ ¿©·¯°³ ãÀº °æ¿ì, Ŭ¶óÀ̾ðÆ®°¡ ¿Ã¹Ù¸¥ + ¹®¼­¸¦ ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ¹®¼­¸ñ·ÏÀ» º¸³½´Ù.
  • +
+ +
+ + +
top
+

CheckBasenameMatch Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:Also match files with differing file name extensions.
¹®¹ý:CheckBasenameMatch on|off
±âº»°ª:CheckBasenameMatch On
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Options
»óÅÂ:Extension
¸ðµâ:mod_speling
Áö¿ø:Available in httpd 2.4.50 and later

The documentation for this directive has + not been translated yet. Please have a look at the English + version.

+
top
+

CheckCaseOnly Áö½Ã¾î

+ + + + + + +
¼³¸í:Limits the action of the speling module to case corrections
¹®¹ý:
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
»óÅÂ:Extension
¸ðµâ:mod_speling

Documentation not yet translated. Please see English version of document.

+
+
top
+

CheckSpelling Áö½Ã¾î

+ + + + + + + + + +
¼³¸í:¸ÂÃã¹ý ¸ðµâÀ» »ç¿ëÇÑ´Ù
¹®¹ý:CheckSpelling on|off
±âº»°ª:CheckSpelling Off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:Options
»óÅÂ:Extension
¸ðµâ:mod_speling
Áö¿ø:¾ÆÆÄÄ¡ 1.1Àº CheckSpellingÀ» º°µµ·Î Á¦°øÇÏ¿´Áö¸¸, +´ë¼Ò¹®ÀÚ°¡ ´Ù¸¥ °æ¿ì¸¸À» ó¸®ÇÒ ¼ö ÀÖ¾ú´Ù. ¾ÆÆÄÄ¡ 1.3¿¡¼­ ¾ÆÆÄÄ¡ +¹èÆ÷º»ÀÇ ÀϺΰ¡ µÇ¾ú´Ù. ¾ÆÆÄÄ¡ 1.3.2 ÀÌÀü¿¡´Â +CheckSpelling Áö½Ã¾î¸¦ "ÁÖ¼­¹ö"¿Í "°¡»óÈ£½ºÆ®" +»ç¿ëÀå¼Ò¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ¾ú´Ù.
+

ÀÌ Áö½Ã¾î´Â ¸ÂÃã¹ý ¸ðµâÀÇ »ç¿ë¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù. »ç¿ëÇÑ´Ù¸é + ´ÙÀ½À» ÁÖÀÇÇ϶ó

+ +
    +
  • ¸ÂÃã¹ý ±³Á¤À» À§ÇØ µð·ºÅ丮¸¦ »ìÆ캸´Â ÀÛ¾÷À» µ¿½Ã¿¡ + ¿©·¯¹ø ÇÒ °æ¿ì ¼­¹ö ¼º´É¿¡ ¿µÇâÀ» ÁØ´Ù.
  • + +
  • ¹®¼­Áß¿¡ ¸ÂÃã¹ý "±³Á¤"À¸·Î ¿ì¿¬È÷ º¸¿©Áú ¼ö ÀÖ´Â + ±â¹Ð¹®¼­°¡ ¾ø¾î¾ß ÇÑ´Ù.
  • + +
  • ¸ðµâÀº ÆÄÀϸí°ú µð·ºÅ丮¸í¸¸À» ±³Á¤ÇÒ ¼ö ÀÖÀ¸¸ç, + (http://my.host/~apahce/¿Í °°ÀÌ) ¸ÂÃã¹ýÀÌ + Ʋ¸° »ç¿ëÀÚ¸íÀ» ±³Á¤ÇÏÁö ¸øÇÑ´Ù.
  • + +
  • ¸ÂÃã¹ý ±³Á¤Àº Á¸ÀçÇÏ´Â ÆÄÀÏ¿¡¸¸ Àû¿ëµÈ´Ù. ±×·¡¼­ + <Location /status>¿¡ ´ëÇÑ ¿äûÀ» + ³»¿ëÇù»óÀ» °ÅÄ£ "/stats.html" ÆÄÀÏ·Î ¿ÀÀÎÇÒ + ¼ö ÀÖ´Ù.
  • +
+ + +

DAV¸¦ »ç¿ëÇÏ´Â µð·ºÅ丮¿¡ + mod_spelingÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. ÀÌÀ¯´Â »õ·Î ¾÷·ÎµåÇÏ·Á´Â + doc43.html ¹®¼­¸¦ ¾û¶×ÇÏ°Ô ±âÁ¸ÀÇ + doc34.html ÆÄÀÏ·Î ¸®´ÙÀÌ·ºÆ®ÇÏ´Â µî, DAV°¡ + »õ·Î ¸¸µå´Â ¸®¼Ò½º¸íÀ» ±âÁ¸ÀÇ ÆÄÀϸíÀ¸·Î "¸ÂÃã¹ý ±³Á¤"À» + ½ÃµµÇϱ⠶§¹®ÀÌ´Ù. +

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ssl.html b/docs/manual/mod/mod_ssl.html new file mode 100644 index 0000000..fb09d4e --- /dev/null +++ b/docs/manual/mod/mod_ssl.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ssl.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ssl.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_ssl.html.en b/docs/manual/mod/mod_ssl.html.en new file mode 100644 index 0000000..5d6b416 --- /dev/null +++ b/docs/manual/mod/mod_ssl.html.en @@ -0,0 +1,2888 @@ + + + + + +mod_ssl - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_ssl

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols
Status:Extension
Module Identifier:ssl_module
Source File:mod_ssl.c
+

Summary

+ +

This module provides SSL v3 and TLS v1.x support for the Apache +HTTP Server. SSL v2 is no longer supported.

+ +

This module relies on OpenSSL +to provide the cryptography engine.

+ +

Further details, discussion, and examples are provided in the +SSL documentation.

+
+
Support Apache!

Topics

+

Directives

+ +

Bugfix checklist

See also

+
+
top
+
+

Environment Variables

+ +

This module can be configured to provide several items of SSL information +as additional environment variables to the SSI and CGI namespace. Except for +HTTPS and SSL_TLS_SNI which are always defined, this +information is not provided by default for performance reasons. (See +SSLOptions StdEnvVars, below) +The generated variables +are listed in the table below. For backward compatibility the information can +be made available under different names, too. Look in the Compatibility chapter for details on the +compatibility variables.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Variable NameValue TypeDescription
HTTPS flag HTTPS is being used.
SSL_PROTOCOL string The SSL protocol version (SSLv3, TLSv1, TLSv1.1, TLSv1.2)
SSL_SESSION_ID string The hex-encoded SSL session id
SSL_SESSION_RESUMED string Initial or Resumed SSL Session. Note: multiple requests may be served over the same (Initial or Resumed) SSL session if HTTP KeepAlive is in use
SSL_SECURE_RENEG string true if secure renegotiation is supported, else false
SSL_CIPHER string The cipher specification name
SSL_CIPHER_EXPORT string true if cipher is an export cipher
SSL_CIPHER_USEKEYSIZE number Number of cipher bits (actually used)
SSL_CIPHER_ALGKEYSIZE number Number of cipher bits (possible)
SSL_COMPRESS_METHOD string SSL compression method negotiated
SSL_VERSION_INTERFACE string The mod_ssl program version
SSL_VERSION_LIBRARY string The OpenSSL program version
SSL_CLIENT_M_VERSION string The version of the client certificate
SSL_CLIENT_M_SERIAL string The serial of the client certificate
SSL_CLIENT_S_DN string Subject DN in client's certificate
SSL_CLIENT_S_DN_x509 string Component of client's Subject DN
SSL_CLIENT_SAN_Email_n string Client certificate's subjectAltName extension entries of type rfc822Name
SSL_CLIENT_SAN_DNS_n string Client certificate's subjectAltName extension entries of type dNSName
SSL_CLIENT_SAN_OTHER_msUPN_n string Client certificate's subjectAltName extension entries of type otherName, Microsoft User Principal Name form (OID 1.3.6.1.4.1.311.20.2.3)
SSL_CLIENT_I_DN string Issuer DN of client's certificate
SSL_CLIENT_I_DN_x509 string Component of client's Issuer DN
SSL_CLIENT_V_START string Validity of client's certificate (start time)
SSL_CLIENT_V_END string Validity of client's certificate (end time)
SSL_CLIENT_V_REMAIN string Number of days until client's certificate expires
SSL_CLIENT_A_SIG string Algorithm used for the signature of client's certificate
SSL_CLIENT_A_KEY string Algorithm used for the public key of client's certificate
SSL_CLIENT_CERT string PEM-encoded client certificate
SSL_CLIENT_CERT_CHAIN_n string PEM-encoded certificates in client certificate chain
SSL_CLIENT_CERT_RFC4523_CEA string Serial number and issuer of the certificate. The format matches that of the CertificateExactAssertion in RFC4523
SSL_CLIENT_VERIFY string NONE, SUCCESS, GENEROUS or FAILED:reason
SSL_SERVER_M_VERSION string The version of the server certificate
SSL_SERVER_M_SERIAL string The serial of the server certificate
SSL_SERVER_S_DN string Subject DN in server's certificate
SSL_SERVER_SAN_Email_n string Server certificate's subjectAltName extension entries of type rfc822Name
SSL_SERVER_SAN_DNS_n string Server certificate's subjectAltName extension entries of type dNSName
SSL_SERVER_SAN_OTHER_dnsSRV_n string Server certificate's subjectAltName extension entries of type otherName, SRVName form (OID 1.3.6.1.5.5.7.8.7, RFC 4985)
SSL_SERVER_S_DN_x509 string Component of server's Subject DN
SSL_SERVER_I_DN string Issuer DN of server's certificate
SSL_SERVER_I_DN_x509 string Component of server's Issuer DN
SSL_SERVER_V_START string Validity of server's certificate (start time)
SSL_SERVER_V_END string Validity of server's certificate (end time)
SSL_SERVER_A_SIG string Algorithm used for the signature of server's certificate
SSL_SERVER_A_KEY string Algorithm used for the public key of server's certificate
SSL_SERVER_CERT string PEM-encoded server certificate
SSL_SRP_USER string SRP username
SSL_SRP_USERINFO string SRP user info
SSL_TLS_SNI string Contents of the SNI TLS extension (if supplied with ClientHello)
+ +

x509 specifies a component of an X.509 DN; one of +C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email. In httpd 2.2.0 and +later, x509 may also include a numeric _n +suffix. If the DN in question contains multiple attributes of the +same name, this suffix is used as a zero-based index to select a +particular attribute. For example, where the server certificate +subject DN included two OU attributes, SSL_SERVER_S_DN_OU_0 +and +SSL_SERVER_S_DN_OU_1 could be used to reference each. A +variable name without a _n suffix is equivalent to that +name with a _0 suffix; the first (or only) attribute. +When the environment table is populated using +the StdEnvVars option of +the SSLOptions directive, the +first (or only) attribute of any DN is added only under a non-suffixed +name; i.e. no _0 suffixed entries are added.

+ +

In httpd 2.4.32 and later, an optional _RAW suffix may be +added to x509 in a DN component, to suppress conversion of +the attribute value to UTF-8. This must be placed after the index +suffix (if any). For example, SSL_SERVER_S_DN_OU_RAW or +SSL_SERVER_S_DN_OU_0_RAW could be used.

+ +

The format of the *_DN variables has changed in Apache HTTPD +2.3.11. See the LegacyDNStringFormat option for +SSLOptions for details.

+ +

SSL_CLIENT_V_REMAIN is only available in version 2.1 +and later.

+ +

A number of additional environment variables can also be used +in SSLRequire expressions, or in custom log +formats:

+ +
HTTP_USER_AGENT        PATH_INFO             AUTH_TYPE
+HTTP_REFERER           QUERY_STRING          SERVER_SOFTWARE
+HTTP_COOKIE            REMOTE_HOST           API_VERSION
+HTTP_FORWARDED         REMOTE_IDENT          TIME_YEAR
+HTTP_HOST              IS_SUBREQ             TIME_MON
+HTTP_PROXY_CONNECTION  DOCUMENT_ROOT         TIME_DAY
+HTTP_ACCEPT            SERVER_ADMIN          TIME_HOUR
+THE_REQUEST            SERVER_NAME           TIME_MIN
+REQUEST_FILENAME       SERVER_PORT           TIME_SEC
+REQUEST_METHOD         SERVER_PROTOCOL       TIME_WDAY
+REQUEST_SCHEME         REMOTE_ADDR           TIME
+REQUEST_URI            REMOTE_USER
+ +

In these contexts, two special formats can also be used:

+ +
+
ENV:variablename
+
This will expand to the standard environment + variable variablename.
+ +
HTTP:headername
+
This will expand to the value of the request header with name + headername.
+
+ +
top
+
+

Custom Log Formats

+ +

When mod_ssl is built into Apache or at least +loaded (under DSO situation) additional functions exist for the Custom Log Format of +mod_log_config. First there is an +additional ``%{varname}x'' +eXtension format function which can be used to expand any variables +provided by any module, especially those provided by mod_ssl which can +you find in the above table.

+

+For backward compatibility there is additionally a special +``%{name}c'' cryptography format function +provided. Information about this function is provided in the Compatibility chapter.

+

Example

CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+
+

These formats even work without setting the StdEnvVars +option of the SSLOptions +directive.

+
top
+
+

Request Notes

+ +

mod_ssl sets "notes" for the request which can be +used in logging with the %{name}n format +string in mod_log_config.

+ +

The notes supported are as follows:

+ +
+
ssl-access-forbidden
+
This note is set to the value 1 if access was + denied due to an SSLRequire + or SSLRequireSSL directive.
+ +
ssl-secure-reneg
+
If mod_ssl is built against a version of + OpenSSL which supports the secure renegotiation extension, this note + is set to the value 1 if SSL is in used for the current + connection, and the client also supports the secure renegotiation + extension. If the client does not support the secure renegotiation + extension, the note is set to the value 0. + If mod_ssl is not built against a version of + OpenSSL which supports secure renegotiation, or if SSL is not in use + for the current connection, the note is not set.
+
+ +
top
+
+

Expression Parser Extension

+ +

When mod_ssl is built into Apache or at least +loaded (under DSO situation) any variables +provided by mod_ssl can be used in expressions +for the ap_expr Expression Parser. +The variables can be referenced using the syntax +``%{varname}''. Starting +with version 2.4.18 one can also use the +mod_rewrite style syntax +``%{SSL:varname}'' or +the function style syntax +``ssl(varname)''.

+

Example (using mod_headers)

Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}"
+Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"
+
+

This feature even works without setting the StdEnvVars +option of the SSLOptions +directive.

+
top
+
+

Authorization providers for use with Require

+ +

mod_ssl provides a few authentication providers for use + with mod_authz_core's + Require directive.

+ +

Require ssl

+ +

The ssl provider denies access if a connection is not + encrypted with SSL. This is similar to the + SSLRequireSSL directive.

+ +
Require ssl
+ + + + +

Require ssl-verify-client

+ +

The ssl provider allows access if the user is + authenticated with a valid client certificate. This is only + useful if SSLVerifyClient optional is in effect.

+ +

The following example grants access if the user is authenticated + either with a client certificate or by username and password.

+ +
Require ssl-verify-client
+Require valid-user
+ + + + +
+
top
+

SSLCACertificateFile Directive

+ + + + + + +
Description:File of concatenated PEM-encoded CA Certificates +for Client Auth
Syntax:SSLCACertificateFile file-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

+This directive sets the all-in-one file where you can assemble the +Certificates of Certification Authorities (CA) whose clients you deal +with. These are used for Client Authentication. Such a file is simply the +concatenation of the various PEM-encoded Certificate files, in order of +preference. This can be used alternatively and/or additionally to +SSLCACertificatePath.

+

Example

SSLCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt"
+
+ +
+
top
+

SSLCACertificatePath Directive

+ + + + + + +
Description:Directory of PEM-encoded CA Certificates for +Client Auth
Syntax:SSLCACertificatePath directory-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

+This directive sets the directory where you keep the Certificates of +Certification Authorities (CAs) whose clients you deal with. These are used to +verify the client certificate on Client Authentication.

+

+The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you can't just place the Certificate files +there: you also have to create symbolic links named +hash-value.N. And you should always make sure this directory +contains the appropriate symbolic links.

+

Example

SSLCACertificatePath "/usr/local/apache2/conf/ssl.crt/"
+
+ +
+
top
+

SSLCADNRequestFile Directive

+ + + + + + +
Description:File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
Syntax:SSLCADNRequestFile file-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

When a client certificate is requested by mod_ssl, a list of +acceptable Certificate Authority names is sent to the client +in the SSL handshake. These CA names can be used by the client to +select an appropriate client certificate out of those it has +available.

+ +

If neither of the directives SSLCADNRequestPath or SSLCADNRequestFile are given, then the +set of acceptable CA names sent to the client is the names of all the +CA certificates given by the SSLCACertificateFile and SSLCACertificatePath directives; in other +words, the names of the CAs which will actually be used to verify the +client certificate.

+ +

In some circumstances, it is useful to be able to send a set of +acceptable CA names which differs from the actual CAs used to verify +the client certificate - for example, if the client certificates are +signed by intermediate CAs. In such cases, SSLCADNRequestPath and/or SSLCADNRequestFile can be used; the +acceptable CA names are then taken from the complete set of +certificates in the directory and/or file specified by this pair of +directives.

+ +

SSLCADNRequestFile must +specify an all-in-one file containing a concatenation of +PEM-encoded CA certificates.

+ +

Example

SSLCADNRequestFile "/usr/local/apache2/conf/ca-names.crt"
+
+ +
+
top
+

SSLCADNRequestPath Directive

+ + + + + + +
Description:Directory of PEM-encoded CA Certificates for +defining acceptable CA names
Syntax:SSLCADNRequestPath directory-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+ +

This optional directive can be used to specify the set of +acceptable CA names which will be sent to the client when a +client certificate is requested. See the SSLCADNRequestFile directive for more +details.

+ +

The files in this directory have to be PEM-encoded and are accessed +through hash filenames. So usually you can't just place the +Certificate files there: you also have to create symbolic links named +hash-value.N. And you should always make sure +this directory contains the appropriate symbolic links.

+

Example

SSLCADNRequestPath "/usr/local/apache2/conf/ca-names.crt/"
+
+ +
+
top
+

SSLCARevocationCheck Directive

+ + + + + + + + +
Description:Enable CRL-based revocation checking
Syntax:SSLCARevocationCheck chain|leaf|none [flags ...]
Default:SSLCARevocationCheck none
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Optional flags available in httpd 2.4.21 or +later
+

+Enables certificate revocation list (CRL) checking. At least one of +SSLCARevocationFile +or SSLCARevocationPath must be +configured. When set to chain (recommended setting), +CRL checks are applied to all certificates in the chain, while setting it to +leaf limits the checks to the end-entity cert. +

+

The available flags are:

+
    +
  • no_crl_for_cert_ok +

    + Prior to version 2.3.15, CRL checking in mod_ssl also succeeded when + no CRL(s) for the checked certificate(s) were found in any of the locations + configured with SSLCARevocationFile + or SSLCARevocationPath. +

    +

    + With the introduction of SSLCARevocationFile, + the behavior has been changed: by default with chain or + leaf, CRLs must be present for the + validation to succeed - otherwise it will fail with an + "unable to get certificate CRL" error. +

    +

    + The flag no_crl_for_cert_ok allows to restore + previous behaviour. +

    +
  • +
+

Example

SSLCARevocationCheck chain
+
+

Compatibility with versions 2.2

SSLCARevocationCheck chain no_crl_for_cert_ok
+
+ +
+
top
+

SSLCARevocationFile Directive

+ + + + + + +
Description:File of concatenated PEM-encoded CA CRLs for +Client Auth
Syntax:SSLCARevocationFile file-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

+This directive sets the all-in-one file where you can +assemble the Certificate Revocation Lists (CRL) of Certification +Authorities (CA) whose clients you deal with. These are used +for Client Authentication. Such a file is simply the concatenation of +the various PEM-encoded CRL files, in order of preference. This can be +used alternatively and/or additionally to SSLCARevocationPath.

+

Example

SSLCARevocationFile "/usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl"
+
+ +
+
top
+

SSLCARevocationPath Directive

+ + + + + + +
Description:Directory of PEM-encoded CA CRLs for +Client Auth
Syntax:SSLCARevocationPath directory-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

+This directive sets the directory where you keep the Certificate Revocation +Lists (CRL) of Certification Authorities (CAs) whose clients you deal with. +These are used to revoke the client certificate on Client Authentication.

+

+The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you have not only to place the CRL files there. +Additionally you have to create symbolic links named +hash-value.rN. And you should always make sure this directory +contains the appropriate symbolic links.

+

Example

SSLCARevocationPath "/usr/local/apache2/conf/ssl.crl/"
+
+ +
+
top
+

SSLCertificateChainFile Directive

+ + + + + + +
Description:File of PEM-encoded Server CA Certificates
Syntax:SSLCertificateChainFile file-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

SSLCertificateChainFile is deprecated

+

SSLCertificateChainFile became obsolete with version 2.4.8, +when SSLCertificateFile +was extended to also load intermediate CA certificates from the server +certificate file.

+
+ +

+This directive sets the optional all-in-one file where you can +assemble the certificates of Certification Authorities (CA) which form the +certificate chain of the server certificate. This starts with the issuing CA +certificate of the server certificate and can range up to the root CA +certificate. Such a file is simply the concatenation of the various +PEM-encoded CA Certificate files, usually in certificate chain order.

+

+This should be used alternatively and/or additionally to SSLCACertificatePath for explicitly +constructing the server certificate chain which is sent to the browser +in addition to the server certificate. It is especially useful to +avoid conflicts with CA certificates when using client +authentication. Because although placing a CA certificate of the +server certificate chain into SSLCACertificatePath has the same effect +for the certificate chain construction, it has the side-effect that +client certificates issued by this same CA certificate are also +accepted on client authentication.

+

+But be careful: Providing the certificate chain works only if you are using a +single RSA or DSA based server certificate. If you are +using a coupled RSA+DSA certificate pair, this will work only if actually both +certificates use the same certificate chain. Else the browsers will be +confused in this situation.

+

Example

SSLCertificateChainFile "/usr/local/apache2/conf/ssl.crt/ca.crt"
+
+ +
+
top
+

SSLCertificateFile Directive

+ + + + + + + +
Description:Server PEM-encoded X.509 certificate data file or token identifier
Syntax:SSLCertificateFile file-path|certid
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:certid available in 2.4.42 and later.
+

+This directive points to a file with certificate data in PEM format, or the certificate identifier through a configured cryptographic token. +If using a PEM file, at minimum, the file must include an end-entity (leaf) certificate. +The directive can be used multiple times (referencing different filenames) +to support multiple algorithms for server authentication - typically +RSA, DSA, and ECC. The number of supported algorithms depends on the +OpenSSL version being used for mod_ssl: with version 1.0.0 or later, +openssl list-public-key-algorithms will output a list +of supported algorithms, see also the note below about limitations +of OpenSSL versions prior to 1.0.2 and the ways to work around them. +

+ +

+The files may also include intermediate CA certificates, sorted from +leaf to root. This is supported with version 2.4.8 and later, +and obsoletes SSLCertificateChainFile. +When running with OpenSSL 1.0.2 or later, this allows +to configure the intermediate CA chain on a per-certificate basis. +

+ +

+Custom DH parameters and an EC curve name for ephemeral keys, +can also be added to end of the first file configured using +SSLCertificateFile. +This is supported in version 2.4.7 or later. +Such parameters can be generated using the commands +openssl dhparam and openssl ecparam. +The parameters can be added as-is to the end of the first +certificate file. Only the first file can be used for custom +parameters, as they are applied independently of the authentication +algorithm type. +

+ +

+Finally the end-entity certificate's private key can also be +added to the certificate file instead of using a separate +SSLCertificateKeyFile +directive. This practice is highly discouraged. If it is used, +the certificate files using such an embedded key must be configured +after the certificates using a separate key file. If the private +key is encrypted, the pass phrase dialog is forced at startup time. +

+ +

As an alternative to storing certificates and private keys in +files, a certificate identifier can be used to identify a certificate +stored in a token. Currently, only PKCS#11 URIs are +recognized as certificate identifiers, and can be used in conjunction +with the OpenSSL pkcs11 engine. If SSLCertificateKeyFile is omitted, the +certificate and private key can be loaded through the single +identifier specified with SSLCertificateFile.

+ +
+

DH parameter interoperability with primes > 1024 bit

+

+Beginning with version 2.4.7, mod_ssl makes use of +standardized DH parameters with prime lengths of 2048, 3072 and 4096 bits +and with additional prime lengths of 6144 and 8192 bits beginning with +version 2.4.10 +(from RFC 3526), and hands +them out to clients based on the length of the certificate's RSA/DSA key. +With Java-based clients in particular (Java 7 or earlier), this may lead +to handshake failures - see this +FAQ answer for working around +such issues. +

+
+ +
+

Default DH parameters when using multiple certificates and OpenSSL +versions prior to 1.0.2

+

+When using multiple certificates to support different authentication algorithms +(like RSA, DSA, but mainly ECC) and OpenSSL prior to 1.0.2, it is recommended +to either use custom DH parameters (preferably) by adding them to the +first certificate file (as described above), or to order the +SSLCertificateFile directives such that RSA/DSA +certificates are placed after the ECC one. +

+

+This is due to a limitation in older versions of OpenSSL which don't let the +Apache HTTP Server determine the currently selected certificate at handshake +time (when the DH parameters must be sent to the peer) but instead always +provide the last configured certificate. Consequently, the server may select +default DH parameters based on the length of the wrong certificate's key (ECC +keys are much smaller than RSA/DSA ones and their length is not relevant for +selecting DH primes). +

+

+Since custom DH parameters always take precedence over the default ones, this +issue can be avoided by creating and configuring them (as described above), +thus using a custom/suitable length. +

+
+ +

Example

# Example using a PEM-encoded file.
+SSLCertificateFile "/usr/local/apache2/conf/ssl.crt/server.crt"
+# Example use of a certificate and private key from a PKCS#11 token:
+SSLCertificateFile "pkcs11:token=My%20Token%20Name;id=45"
+
+ +
+
top
+

SSLCertificateKeyFile Directive

+ + + + + + + +
Description:Server PEM-encoded private key file
Syntax:SSLCertificateKeyFile file-path|keyid
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:keyid available in 2.4.42 and later.
+

+This directive points to the PEM-encoded private key file for the +server, or the key ID through a configured cryptographic token. If the +contained private key is encrypted, the pass phrase dialog is forced +at startup time.

+ +

+The directive can be used multiple times (referencing different filenames) +to support multiple algorithms for server authentication. For each +SSLCertificateKeyFile +directive, there must be a matching SSLCertificateFile +directive.

+ +

+The private key may also be combined with the certificate in the file given by +SSLCertificateFile, but this practice +is highly discouraged. If it is used, the certificate files using such +an embedded key must be configured after the certificates using a separate +key file.

+ +

As an alternative to storing private keys in files, a key +identifier can be used to identify a private key stored in a +token. Currently, only PKCS#11 URIs are recognized as private key +identifiers, and can be used in conjunction with the OpenSSL +pkcs11 engine.

+ +

Example

# To use a private key from a PEM-encoded file:
+SSLCertificateKeyFile "/usr/local/apache2/conf/ssl.key/server.key"
+# To use a private key from a PKCS#11 token:
+SSLCertificateKeyFile "pkcs11:token=My%20Token%20Name;id=45"
+
+ +
+
top
+

SSLCipherSuite Directive

+ + + + + + + + +
Description:Cipher Suite available for negotiation in SSL +handshake
Syntax:SSLCipherSuite [protocol] cipher-spec
Default:SSLCipherSuite DEFAULT (depends on OpenSSL version)
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ssl
+

+This complex directive uses a colon-separated cipher-spec string +consisting of OpenSSL cipher specifications to configure the Cipher Suite the +client is permitted to negotiate in the SSL handshake phase. The optional +protocol specifier can configure the Cipher Suite for a specific SSL version. +Possible values include "SSL" for all SSL Protocols up to and including TLSv1.2. +

+

+Notice that this +directive can be used both in per-server and per-directory context. +In per-server context it applies to the standard SSL handshake when a connection +is established. In per-directory context it forces a SSL renegotiation with the +reconfigured Cipher Suite after the HTTP request was read but before the HTTP +response is sent.

+

+If the SSL library supports TLSv1.3 (OpenSSL 1.1.1 and later), the protocol +specifier "TLSv1.3" can be used to configure the cipher suites for that protocol. +Since TLSv1.3 does not offer renegotiations, specifying ciphers for it in +a directory context is not allowed.

+

+For a list of TLSv1.3 cipher names, see +the OpenSSL +documentation.

+

+An SSL cipher specification in cipher-spec is composed of 4 major +attributes plus a few extra minor ones:

+
    +
  • Key Exchange Algorithm:
    + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password +
  • +
  • Authentication Algorithm:
    + RSA, Diffie-Hellman, DSS, ECDSA, or none. +
  • +
  • Cipher/Encryption Algorithm:
    + AES, DES, Triple-DES, RC4, RC2, IDEA, etc. +
  • +
  • MAC Digest Algorithm:
    + MD5, SHA or SHA1, SHA256, SHA384. +
  • +
+

An SSL cipher can also be an export cipher. SSLv2 ciphers are no longer +supported. To specify which ciphers to use, one can either specify all the +Ciphers, one at a time, or use aliases to specify the preference and order +for the ciphers (see Table +1). The actually available ciphers and aliases depends on the used +openssl version. Newer openssl versions may include additional ciphers.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tag Description
Key Exchange Algorithm:
kRSA RSA key exchange
kDHr Diffie-Hellman key exchange with RSA key
kDHd Diffie-Hellman key exchange with DSA key
kEDH Ephemeral (temp.key) Diffie-Hellman key exchange (no cert)
kSRP Secure Remote Password (SRP) key exchange
Authentication Algorithm:
aNULL No authentication
aRSA RSA authentication
aDSS DSS authentication
aDH Diffie-Hellman authentication
Cipher Encoding Algorithm:
eNULL No encryption
NULL alias for eNULL
AES AES encryption
DES DES encryption
3DES Triple-DES encryption
RC4 RC4 encryption
RC2 RC2 encryption
IDEA IDEA encryption
MAC Digest Algorithm:
MD5 MD5 hash function
SHA1 SHA1 hash function
SHA alias for SHA1
SHA256 SHA256 hash function
SHA384 SHA384 hash function
Aliases:
SSLv3 all SSL version 3.0 ciphers
TLSv1 all TLS version 1.0 ciphers
EXP all export ciphers
EXPORT40 all 40-bit export ciphers only
EXPORT56 all 56-bit export ciphers only
LOW all low strength ciphers (no export, single DES)
MEDIUM all ciphers with 128 bit encryption
HIGH all ciphers using Triple-DES
RSA all ciphers using RSA key exchange
DH all ciphers using Diffie-Hellman key exchange
EDH all ciphers using Ephemeral Diffie-Hellman key exchange
ECDH Elliptic Curve Diffie-Hellman key exchange
ADH all ciphers using Anonymous Diffie-Hellman key exchange
AECDH all ciphers using Anonymous Elliptic Curve Diffie-Hellman key exchange
SRP all ciphers using Secure Remote Password (SRP) key exchange
DSS all ciphers using DSS authentication
ECDSA all ciphers using ECDSA authentication
aNULL all ciphers using no authentication
+

+Now where this becomes interesting is that these can be put together +to specify the order and ciphers you wish to use. To speed this up +there are also aliases (SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH) for certain groups of ciphers. These tags can be joined +together with prefixes to form the cipher-spec. Available +prefixes are:

+
    +
  • none: add cipher to list
  • +
  • +: move matching ciphers to the current location in list
  • +
  • -: remove cipher from list (can be added later again)
  • +
  • !: kill cipher from list completely (can not be added later again)
  • +
+ +
+

aNULL, eNULL and EXP +ciphers are always disabled

+

Beginning with version 2.4.7, null and export-grade +ciphers are always disabled, as mod_ssl unconditionally adds +!aNULL:!eNULL:!EXP to any cipher string at initialization.

+
+ +

A simpler way to look at all of this is to use the ``openssl ciphers +-v'' command which provides a nice way to successively create the +correct cipher-spec string. The default cipher-spec string +depends on the version of the OpenSSL libraries used. Let's suppose it is +``RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'' which +means the following: Put RC4-SHA and AES128-SHA at +the beginning. We do this, because these ciphers offer a good compromise +between speed and security. Next, include high and medium security ciphers. +Finally, remove all ciphers which do not authenticate, i.e. for SSL the +Anonymous Diffie-Hellman ciphers, as well as all ciphers which use +MD5 as hash algorithm, because it has been proven insufficient.

+
$ openssl ciphers -v 'RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'
+RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+...                     ...               ...     ...           ...
+SEED-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=SEED(128) Mac=SHA1
+PSK-RC4-SHA             SSLv3 Kx=PSK      Au=PSK  Enc=RC4(128)  Mac=SHA1
+KRB5-RC4-SHA            SSLv3 Kx=KRB5     Au=KRB5 Enc=RC4(128)  Mac=SHA1
+

The complete list of particular RSA & DH ciphers for SSL is given in Table 2.

+

Example

SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Cipher-Tag Protocol Key Ex. Auth. Enc. MAC Type
RSA Ciphers:
DES-CBC3-SHA SSLv3 RSA RSA 3DES(168) SHA1
IDEA-CBC-SHA SSLv3 RSA RSA IDEA(128) SHA1
RC4-SHA SSLv3 RSA RSA RC4(128) SHA1
RC4-MD5 SSLv3 RSA RSA RC4(128) MD5
DES-CBC-SHA SSLv3 RSA RSA DES(56) SHA1
EXP-DES-CBC-SHA SSLv3 RSA(512) RSA DES(40) SHA1 export
EXP-RC2-CBC-MD5 SSLv3 RSA(512) RSA RC2(40) MD5 export
EXP-RC4-MD5 SSLv3 RSA(512) RSA RC4(40) MD5 export
NULL-SHA SSLv3 RSA RSA None SHA1
NULL-MD5 SSLv3 RSA RSA None MD5
Diffie-Hellman Ciphers:
ADH-DES-CBC3-SHA SSLv3 DH None 3DES(168) SHA1
ADH-DES-CBC-SHA SSLv3 DH None DES(56) SHA1
ADH-RC4-MD5 SSLv3 DH None RC4(128) MD5
EDH-RSA-DES-CBC3-SHA SSLv3 DH RSA 3DES(168) SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 DH DSS 3DES(168) SHA1
EDH-RSA-DES-CBC-SHA SSLv3 DH RSA DES(56) SHA1
EDH-DSS-DES-CBC-SHA SSLv3 DH DSS DES(56) SHA1
EXP-EDH-RSA-DES-CBC-SHA SSLv3 DH(512) RSA DES(40) SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 DH(512) DSS DES(40) SHA1 export
EXP-ADH-DES-CBC-SHA SSLv3 DH(512) None DES(40) SHA1 export
EXP-ADH-RC4-MD5 SSLv3 DH(512) None RC4(40) MD5 export
+ +
+
top
+

SSLCompression Directive

+ + + + + + + + +
Description:Enable compression on the SSL level
Syntax:SSLCompression on|off
Default:SSLCompression off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.3 and later, if using OpenSSL 0.9.8 or later; +virtual host scope available if using OpenSSL 1.0.0 or later. +The default used to be on in version 2.4.3.
+

This directive allows to enable compression on the SSL level.

+
+

Enabling compression causes security issues in most setups (the so called +CRIME attack).

+
+ +
+
top
+

SSLCryptoDevice Directive

+ + + + + + + +
Description:Enable use of a cryptographic hardware accelerator
Syntax:SSLCryptoDevice engine
Default:SSLCryptoDevice builtin
Context:server config
Status:Extension
Module:mod_ssl
+

+This directive enables use of a cryptographic hardware accelerator +board to offload some of the SSL processing overhead. This directive +can only be used if the SSL toolkit is built with "engine" support; +OpenSSL 0.9.7 and later releases have "engine" support by default, the +separate "-engine" releases of OpenSSL 0.9.6 must be used.

+ +

To discover which engine names are supported, run the command +"openssl engine".

+ +

Example

# For a Broadcom accelerator:
+SSLCryptoDevice ubsec
+
+ +
+
top
+

SSLEngine Directive

+ + + + + + + +
Description:SSL Engine Operation Switch
Syntax:SSLEngine on|off|optional
Default:SSLEngine off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

+This directive toggles the usage of the SSL/TLS Protocol Engine. This +is should be used inside a <VirtualHost> section to enable SSL/TLS for a +that virtual host. By default the SSL/TLS Protocol Engine is +disabled for both the main server and all configured virtual hosts.

+

Example

<VirtualHost _default_:443>
+SSLEngine on
+#...
+</VirtualHost>
+
+

In Apache 2.1 and later, SSLEngine can be set to +optional. This enables support for +RFC 2817, Upgrading to TLS +Within HTTP/1.1. At this time no web browsers support RFC 2817.

+ +
+
top
+

SSLFIPS Directive

+ + + + + + + +
Description:SSL FIPS mode Switch
Syntax:SSLFIPS on|off
Default:SSLFIPS off
Context:server config
Status:Extension
Module:mod_ssl
+

+This directive toggles the usage of the SSL library FIPS_mode flag. +It must be set in the global server context and cannot be configured +with conflicting settings (SSLFIPS on followed by SSLFIPS off or +similar). The mode applies to all SSL library operations. +

+

+If httpd was compiled against an SSL library which did not support +the FIPS_mode flag, SSLFIPS on will fail. Refer to the +FIPS 140-2 Security Policy document of the SSL provider library for +specific requirements to use mod_ssl in a FIPS 140-2 approved mode +of operation; note that mod_ssl itself is not validated, but may be +described as using FIPS 140-2 validated cryptographic module, when +all components are assembled and operated under the guidelines imposed +by the applicable Security Policy. +

+ +
+
top
+

SSLHonorCipherOrder Directive

+ + + + + + + +
Description:Option to prefer the server's cipher preference order
Syntax:SSLHonorCipherOrder on|off
Default:SSLHonorCipherOrder off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

When choosing a cipher during an SSLv3 or TLSv1 handshake, normally +the client's preference is used. If this directive is enabled, the +server's preference will be used instead.

+

Example

SSLHonorCipherOrder on
+
+ +
+
top
+

SSLInsecureRenegotiation Directive

+ + + + + + + + +
Description:Option to enable support for insecure renegotiation
Syntax:SSLInsecureRenegotiation on|off
Default:SSLInsecureRenegotiation off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.2.15 and later, if using OpenSSL 0.9.8m or later
+

As originally specified, all versions of the SSL and TLS protocols +(up to and including TLS/1.2) were vulnerable to a Man-in-the-Middle +attack +(CVE-2009-3555) +during a renegotiation. This vulnerability allowed an attacker to +"prefix" a chosen plaintext to the HTTP request as seen by the web +server. A protocol extension was developed which fixed this +vulnerability if supported by both client and server.

+ +

If mod_ssl is linked against OpenSSL version 0.9.8m +or later, by default renegotiation is only supported with +clients supporting the new protocol extension. If this directive is +enabled, renegotiation will be allowed with old (unpatched) clients, +albeit insecurely.

+ +

Security warning

+

If this directive is enabled, SSL connections will be vulnerable to +the Man-in-the-Middle prefix attack as described +in CVE-2009-3555.

+
+ +

Example

SSLInsecureRenegotiation on
+
+ +

The SSL_SECURE_RENEG environment variable can be used +from an SSI or CGI script to determine whether secure renegotiation is +supported for a given SSL connection.

+ + +
+
top
+

SSLOCSPDefaultResponder Directive

+ + + + + + +
Description:Set the default responder URI for OCSP validation
Syntax:SSLOCSPDefaultResponder uri
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

This option sets the default OCSP responder to use. If SSLOCSPOverrideResponder is not enabled, +the URI given will be used only if no responder URI is specified in +the certificate being verified.

+ +
+
top
+

SSLOCSPEnable Directive

+ + + + + + + + +
Description:Enable OCSP validation of the client certificate chain
Syntax:SSLOCSPEnable on|leaf|off
Default:SSLOCSPEnable off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Mode leaf available in httpd 2.4.34 and later
+

This option enables OCSP validation of the client certificate +chain. If this option is enabled, certificates in the client's +certificate chain will be validated against an OCSP responder after +normal verification (including CRL checks) have taken place. In +mode 'leaf', only the client certificate itself will be validated.

+ +

The OCSP responder used is either extracted from the certificate +itself, or derived by configuration; see the +SSLOCSPDefaultResponder and +SSLOCSPOverrideResponder +directives.

+ +

Example

SSLVerifyClient on
+SSLOCSPEnable on
+SSLOCSPDefaultResponder "http://responder.example.com:8888/responder"
+SSLOCSPOverrideResponder on
+
+ +
+
top
+

SSLOCSPNoverify Directive

+ + + + + + + + +
Description:skip the OCSP responder certificates verification
Syntax:SSLOCSPNoverify on|off
Default:SSLOCSPNoverify off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.26 and later, if using OpenSSL 0.9.7 or later
+

Skip the OCSP responder certificates verification, mostly useful when +testing an OCSP server.

+ +
+
top
+

SSLOCSPOverrideResponder Directive

+ + + + + + + +
Description:Force use of the default responder URI for OCSP validation
Syntax:SSLOCSPOverrideResponder on|off
Default:SSLOCSPOverrideResponder off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

This option forces the configured default OCSP responder to be used +during OCSP certificate validation, regardless of whether the +certificate being validated references an OCSP responder.

+ +
+
top
+

SSLOCSPProxyURL Directive

+ + + + + + + +
Description:Proxy URL to use for OCSP requests
Syntax:SSLOCSPProxyURL url
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.19 and later
+

This option allows to set the URL of a HTTP proxy that should be used for +all queries to OCSP responders.

+ +
+
top
+

SSLOCSPResponderCertificateFile Directive

+ + + + + + + +
Description:Set of trusted PEM encoded OCSP responder certificates
Syntax:SSLOCSPResponderCertificateFile file
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.26 and later, if using OpenSSL 0.9.7 or later
+

This supplies a list of trusted OCSP responder certificates to be used +during OCSP responder certificate validation. The supplied certificates are +implicitly trusted without any further validation. This is typically used +where the OCSP responder certificate is self signed or omitted from the OCSP +response.

+ +
+
top
+

SSLOCSPResponderTimeout Directive

+ + + + + + + +
Description:Timeout for OCSP queries
Syntax:SSLOCSPResponderTimeout seconds
Default:SSLOCSPResponderTimeout 10
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

This option sets the timeout for queries to OCSP responders, when +SSLOCSPEnable is turned on.

+ +
+
top
+

SSLOCSPResponseMaxAge Directive

+ + + + + + + +
Description:Maximum allowable age for OCSP responses
Syntax:SSLOCSPResponseMaxAge seconds
Default:SSLOCSPResponseMaxAge -1
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

This option sets the maximum allowable age ("freshness") for OCSP responses. +The default value (-1) does not enforce a maximum age, +which means that OCSP responses are considered valid as long as their +nextUpdate field is in the future.

+ +
+
top
+

SSLOCSPResponseTimeSkew Directive

+ + + + + + + +
Description:Maximum allowable time skew for OCSP response validation
Syntax:SSLOCSPResponseTimeSkew seconds
Default:SSLOCSPResponseTimeSkew 300
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

This option sets the maximum allowable time skew for OCSP responses +(when checking their thisUpdate and nextUpdate fields).

+ +
+
top
+

SSLOCSPUseRequestNonce Directive

+ + + + + + + + +
Description:Use a nonce within OCSP queries
Syntax:SSLOCSPUseRequestNonce on|off
Default:SSLOCSPUseRequestNonce on
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.10 and later
+

This option determines whether queries to OCSP responders should contain +a nonce or not. By default, a query nonce is always used and checked against +the response's one. When the responder does not use nonces (e.g. Microsoft OCSP +Responder), this option should be turned off.

+ +
+
top
+

SSLOpenSSLConfCmd Directive

+ + + + + + + +
Description:Configure OpenSSL parameters through its SSL_CONF API
Syntax:SSLOpenSSLConfCmd command-name command-value
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.8 and later, if using OpenSSL 1.0.2 or later
+

This directive exposes OpenSSL's SSL_CONF API to mod_ssl, +allowing a flexible configuration of OpenSSL parameters without the need +of implementing additional mod_ssl directives when new +features are added to OpenSSL.

+ +

The set of available SSLOpenSSLConfCmd commands +depends on the OpenSSL version being used for mod_ssl +(at least version 1.0.2 is required). For a list of supported command +names, see the section Supported configuration file commands in the +SSL_CONF_cmd(3) manual page for OpenSSL.

+ +

Some of the SSLOpenSSLConfCmd commands can be used +as an alternative to existing directives (such as +SSLCipherSuite or +SSLProtocol), +though it should be noted that the syntax / allowable values for the parameters +may sometimes differ.

+ +

Examples

SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference
+SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1
+SSLOpenSSLConfCmd ServerInfoFile "/usr/local/apache2/conf/server-info.pem"
+SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2"
+SSLOpenSSLConfCmd SignatureAlgorithms RSA+SHA384:ECDSA+SHA256
+
+ +
+
top
+

SSLOptions Directive

+ + + + + + + +
Description:Configure various SSL engine run-time options
Syntax:SSLOptions [+|-]option ...
Context:server config, virtual host, directory, .htaccess
Override:Options
Status:Extension
Module:mod_ssl
+

+This directive can be used to control various run-time options on a +per-directory basis. Normally, if multiple SSLOptions +could apply to a directory, then the most specific one is taken +completely; the options are not merged. However if all the +options on the SSLOptions directive are preceded by a +plus (+) or minus (-) symbol, the options +are merged. Any options preceded by a + are added to the +options currently in force, and any options preceded by a +- are removed from the options currently in force.

+

+The available options are:

+
    +
  • StdEnvVars +

    + When this option is enabled, the standard set of SSL related CGI/SSI + environment variables are created. This per default is disabled for + performance reasons, because the information extraction step is a + rather expensive operation. So one usually enables this option for + CGI and SSI requests only.

    +
  • +
  • ExportCertData +

    + When this option is enabled, additional CGI/SSI environment variables are + created: SSL_SERVER_CERT, SSL_CLIENT_CERT and + SSL_CLIENT_CERT_CHAIN_n (with n = 0,1,2,..). + These contain the PEM-encoded X.509 Certificates of server and client for + the current HTTPS connection and can be used by CGI scripts for deeper + Certificate checking. Additionally all other certificates of the client + certificate chain are provided, too. This bloats up the environment a + little bit which is why you have to use this option to enable it on + demand.

    +
  • +
  • FakeBasicAuth +

    + When this option is enabled, the Subject Distinguished Name (DN) of the + Client X509 Certificate is translated into a HTTP Basic Authorization + username. This means that the standard Apache authentication methods can + be used for access control. The user name is just the Subject of the + Client's X509 Certificate (can be determined by running OpenSSL's + openssl x509 command: openssl x509 -noout -subject -in + certificate.crt). Note that no password is + obtained from the user. Every entry in the user file needs this password: + ``xxj31ZMTZzkVA'', which is the DES-encrypted version of the + word `password''. Those who live under MD5-based encryption + (for instance under FreeBSD or BSD/OS, etc.) should use the following MD5 + hash of the same word: ``$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/''.

    + +

    Note that the AuthBasicFake + directive within mod_auth_basic can be used as a more + general mechanism for faking basic authentication, giving control over the + structure of both the username and password.

    +
  • +
  • StrictRequire +

    + This forces forbidden access when SSLRequireSSL or + SSLRequire successfully decided that access should be + forbidden. Usually the default is that in the case where a ``Satisfy + any'' directive is used, and other access restrictions are passed, + denial of access due to SSLRequireSSL or + SSLRequire is overridden (because that's how the Apache + Satisfy mechanism should work.) But for strict access restriction + you can use SSLRequireSSL and/or SSLRequire in + combination with an ``SSLOptions +StrictRequire''. Then an + additional ``Satisfy Any'' has no chance once mod_ssl has + decided to deny access.

    +
  • +
  • OptRenegotiate +

    + This enables optimized SSL connection renegotiation handling when SSL + directives are used in per-directory context. By default a strict + scheme is enabled where every per-directory reconfiguration of + SSL parameters causes a full SSL renegotiation handshake. When this + option is used mod_ssl tries to avoid unnecessary handshakes by doing more + granular (but still safe) parameter checks. Nevertheless these granular + checks sometimes may not be what the user expects, so enable this on a + per-directory basis only, please.

    +
  • +
  • LegacyDNStringFormat +

    + This option influences how values of the + SSL_{CLIENT,SERVER}_{I,S}_DN variables are formatted. Since + version 2.3.11, Apache HTTPD uses a RFC 2253 compatible format by + default. This uses commas as delimiters between the attributes, allows the + use of non-ASCII characters (which are converted to UTF8), escapes + various special characters with backslashes, and sorts the attributes + with the "C" attribute last.

    + +

    If LegacyDNStringFormat is set, the old format will be + used which sorts the "C" attribute first, uses slashes as separators, and + does not handle non-ASCII and special characters in any consistent way. +

    +
  • +
+

Example

SSLOptions +FakeBasicAuth -StrictRequire
+<Files ~ "\.(cgi|shtml)$">
+    SSLOptions +StdEnvVars -ExportCertData
+</Files>
+
+ +
+
top
+

SSLPassPhraseDialog Directive

+ + + + + + + +
Description:Type of pass phrase dialog for encrypted private +keys
Syntax:SSLPassPhraseDialog type
Default:SSLPassPhraseDialog builtin
Context:server config
Status:Extension
Module:mod_ssl
+

+When Apache starts up it has to read the various Certificate (see +SSLCertificateFile) and +Private Key (see SSLCertificateKeyFile) files of the +SSL-enabled virtual servers. Because for security reasons the Private +Key files are usually encrypted, mod_ssl needs to query the +administrator for a Pass Phrase in order to decrypt those files. This +query can be done in two ways which can be configured by +type:

+
    +
  • builtin +

    + This is the default where an interactive terminal dialog occurs at startup + time just before Apache detaches from the terminal. Here the administrator + has to manually enter the Pass Phrase for each encrypted Private Key file. + Because a lot of SSL-enabled virtual hosts can be configured, the + following reuse-scheme is used to minimize the dialog: When a Private Key + file is encrypted, all known Pass Phrases (at the beginning there are + none, of course) are tried. If one of those known Pass Phrases succeeds no + dialog pops up for this particular Private Key file. If none succeeded, + another Pass Phrase is queried on the terminal and remembered for the next + round (where it perhaps can be reused).

    +

    + This scheme allows mod_ssl to be maximally flexible (because for N encrypted + Private Key files you can use N different Pass Phrases - but then + you have to enter all of them, of course) while minimizing the terminal + dialog (i.e. when you use a single Pass Phrase for all N Private Key files + this Pass Phrase is queried only once).

  • + +
  • |/path/to/program [args...] + +

    This mode allows an external program to be used which acts as a + pipe to a particular input device; the program is sent the standard + prompt text used for the builtin mode on + stdin, and is expected to write password strings on + stdout. If several passwords are needed (or an + incorrect password is entered), additional prompt text will be + written subsequent to the first password being returned, and more + passwords must then be written back.

  • + +
  • exec:/path/to/program +

    + Here an external program is configured which is called at startup for each + encrypted Private Key file. It is called with two arguments (the first is + of the form ``servername:portnumber'', the second is either + ``RSA'', ``DSA'', ``ECC'' or an + integer index starting at 3 if more than three keys are configured), which + indicate for which server and algorithm it has to print the corresponding + Pass Phrase to stdout. In versions 2.4.8 (unreleased) + and 2.4.9, it is called with one argument, a string of the + form ``servername:portnumber:index'' (with index + being a zero-based integer number), which indicate the server, TCP port + and certificate number. The intent is that this external + program first runs security checks to make sure that the system is not + compromised by an attacker, and only when these checks were passed + successfully it provides the Pass Phrase.

    +

    + Both these security checks, and the way the Pass Phrase is determined, can + be as complex as you like. Mod_ssl just defines the interface: an + executable program which provides the Pass Phrase on stdout. + Nothing more or less! So, if you're really paranoid about security, here + is your interface. Anything else has to be left as an exercise to the + administrator, because local security requirements are so different.

    +

    + The reuse-algorithm above is used here, too. In other words: The external + program is called only once per unique Pass Phrase.

  • +
+

Example

SSLPassPhraseDialog "exec:/usr/local/apache/sbin/pp-filter"
+
+ +
+
top
+

SSLProtocol Directive

+ + + + + + + +
Description:Configure usable SSL/TLS protocol versions
Syntax:SSLProtocol [+|-]protocol ...
Default:SSLProtocol all -SSLv3 (up to 2.4.16: all)
Context:server config, virtual host
Status:Extension
Module:mod_ssl
+

+This directive can be used to control which versions of the SSL/TLS protocol +will be accepted in new connections.

+

+The available (case-insensitive) protocols are:

+
    +
  • SSLv3 +

    + This is the Secure Sockets Layer (SSL) protocol, version 3.0, from + the Netscape Corporation. + It is the successor to SSLv2 and the predecessor to TLSv1, but is + deprecated in RFC 7568.

  • + +
  • TLSv1 +

    + This is the Transport Layer Security (TLS) protocol, version 1.0. + It is the successor to SSLv3 and is defined in + RFC 2246. + It is supported by nearly every client.

  • + +
  • TLSv1.1 (when using OpenSSL 1.0.1 and later) +

    + A revision of the TLS 1.0 protocol, as defined in + RFC 4346.

  • + +
  • TLSv1.2 (when using OpenSSL 1.0.1 and later) +

    + A revision of the TLS 1.1 protocol, as defined in + RFC 5246.

  • + +
  • TLSv1.3 (when using OpenSSL 1.1.1 and later) +

    + A new version of the TLS protocol, as defined in + RFC 8446.

  • + +
  • all +

    + This is a shortcut for ``+SSLv3 +TLSv1'' or + - when using OpenSSL 1.0.1 and later - + ``+SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2'', respectively + (except for OpenSSL versions compiled with the ``no-ssl3'' configuration + option, where all does not include +SSLv3).

  • +
+

Example

SSLProtocol TLSv1
+
+
+

SSLProtocol for name-based virtual hosts

+

+Before OpenSSL 1.1.1, even though the Server Name Indication (SNI) allowed to +determine the targeted virtual host early in the TLS handshake, it was not +possible to switch the TLS protocol version of the connection at this point, +and thus the SSLProtocol negotiated was always based off +the one of the base virtual host (first virtual host declared on the +listening IP:port of the connection). +

+

+Beginning with Apache HTTP server version 2.4.42, when built/linked against +OpenSSL 1.1.1 or later, and when the SNI is provided by the client in the TLS +handshake, the SSLProtocol of each (name-based) virtual +host can and will be honored. +

+

+For compatibility with previous versions, if no +SSLProtocol is configured in a name-based virtual host, +the one from the base virtual host still applies, unless +SSLProtocol is configured globally in which case the +global value applies (this latter exception is more sensible than compatible, +though). +

+
+ +
+
top
+

SSLProxyCACertificateFile Directive

+ + + + + + + +
Description:File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
Syntax:SSLProxyCACertificateFile file-path
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets the all-in-one file where you can assemble the +Certificates of Certification Authorities (CA) whose remote servers you deal +with. These are used for Remote Server Authentication. Such a file is simply the +concatenation of the various PEM-encoded Certificate files, in order of +preference. This can be used alternatively and/or additionally to +SSLProxyCACertificatePath.

+

Example

SSLProxyCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-remote-server.crt"
+
+ +
+
top
+

SSLProxyCACertificatePath Directive

+ + + + + + + +
Description:Directory of PEM-encoded CA Certificates for +Remote Server Auth
Syntax:SSLProxyCACertificatePath directory-path
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets the directory where you keep the Certificates of +Certification Authorities (CAs) whose remote servers you deal with. These are used to +verify the remote server certificate on Remote Server Authentication.

+

+The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you can't just place the Certificate files +there: you also have to create symbolic links named +hash-value.N. And you should always make sure this directory +contains the appropriate symbolic links.

+

Example

SSLProxyCACertificatePath "/usr/local/apache2/conf/ssl.crt/"
+
+ +
+
top
+

SSLProxyCARevocationCheck Directive

+ + + + + + + + +
Description:Enable CRL-based revocation checking for Remote Server Auth
Syntax:SSLProxyCARevocationCheck chain|leaf|none
Default:SSLProxyCARevocationCheck none
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+Enables certificate revocation list (CRL) checking for the +remote servers you deal with. At least one of +SSLProxyCARevocationFile +or SSLProxyCARevocationPath must be +configured. When set to chain (recommended setting), +CRL checks are applied to all certificates in the chain, while setting it to +leaf limits the checks to the end-entity cert. +

+
+

When set to chain or leaf, +CRLs must be available for successful validation

+

+Prior to version 2.3.15, CRL checking in mod_ssl also succeeded when +no CRL(s) were found in any of the locations configured with +SSLProxyCARevocationFile +or SSLProxyCARevocationPath. +With the introduction of this directive, the behavior has been changed: +when checking is enabled, CRLs must be present for the validation +to succeed - otherwise it will fail with an +"unable to get certificate CRL" error. +

+
+

Example

SSLProxyCARevocationCheck chain
+
+ +
+
top
+

SSLProxyCARevocationFile Directive

+ + + + + + + +
Description:File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
Syntax:SSLProxyCARevocationFile file-path
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets the all-in-one file where you can +assemble the Certificate Revocation Lists (CRL) of Certification +Authorities (CA) whose remote servers you deal with. These are used +for Remote Server Authentication. Such a file is simply the concatenation of +the various PEM-encoded CRL files, in order of preference. This can be +used alternatively and/or additionally to SSLProxyCARevocationPath.

+

Example

SSLProxyCARevocationFile "/usr/local/apache2/conf/ssl.crl/ca-bundle-remote-server.crl"
+
+ +
+
top
+

SSLProxyCARevocationPath Directive

+ + + + + + + +
Description:Directory of PEM-encoded CA CRLs for +Remote Server Auth
Syntax:SSLProxyCARevocationPath directory-path
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets the directory where you keep the Certificate Revocation +Lists (CRL) of Certification Authorities (CAs) whose remote servers you deal with. +These are used to revoke the remote server certificate on Remote Server Authentication.

+

+The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you have not only to place the CRL files there. +Additionally you have to create symbolic links named +hash-value.rN. And you should always make sure this directory +contains the appropriate symbolic links.

+

Example

SSLProxyCARevocationPath "/usr/local/apache2/conf/ssl.crl/"
+
+ +
+
top
+

SSLProxyCheckPeerCN Directive

+ + + + + + + + +
Description:Whether to check the remote server certificate's CN field +
Syntax:SSLProxyCheckPeerCN on|off
Default:SSLProxyCheckPeerCN on
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets whether the remote server certificate's CN field is +compared against the hostname of the request URL. If both are not equal +a 502 status code (Bad Gateway) is sent. SSLProxyCheckPeerCN is +superseded by SSLProxyCheckPeerName +in release 2.4.5 and later. +

+

+In all releases 2.4.5 through 2.4.20, setting +SSLProxyCheckPeerName off was sufficient to enable this behavior +(as the SSLProxyCheckPeerCN default was on.) In +these releases, both directives must be set to off to completely +avoid remote server certificate name validation. Many users reported this +to be very confusing. +

+

+As of release 2.4.21, all configurations which enable either one of the +SSLProxyCheckPeerName or SSLProxyCheckPeerCN options +will use the new SSLProxyCheckPeerName +behavior, and all configurations which disable either one of the +SSLProxyCheckPeerName or SSLProxyCheckPeerCN options +will suppress all remote server certificate name validation. Only the following +configuration will trigger the legacy certificate CN comparison in 2.4.21 and +later releases; +

+

Example

SSLProxyCheckPeerCN on
+SSLProxyCheckPeerName off
+
+ +
+
top
+

SSLProxyCheckPeerExpire Directive

+ + + + + + + + +
Description:Whether to check if remote server certificate is expired +
Syntax:SSLProxyCheckPeerExpire on|off
Default:SSLProxyCheckPeerExpire on
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets whether it is checked if the remote server certificate +is expired or not. If the check fails a 502 status code (Bad Gateway) is +sent. +

+

Example

SSLProxyCheckPeerExpire on
+
+ +
+
top
+

SSLProxyCheckPeerName Directive

+ + + + + + + + +
Description:Configure host name checking for remote server certificates +
Syntax:SSLProxyCheckPeerName on|off
Default:SSLProxyCheckPeerName on
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:Apache HTTP Server 2.4.5 and later
+The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive configures host name checking for server certificates when +mod_ssl is acting as an SSL client. The check will succeed if the host name +from the request URI matches one of the CN attribute(s) of the certificate's +subject, or matches the subjectAltName extension. If the check fails, the SSL +request is aborted and a 502 status code (Bad Gateway) is returned. +

+

+Wildcard matching is supported for specific cases: an subjectAltName entry +of type dNSName, or CN attributes starting with *. will match +with any host name of the same number of name elements and the same suffix. +E.g. *.example.org will match foo.example.org, +but will not match foo.bar.example.org, because the number of +elements in the respective host names differs. +

+

+This feature was introduced in 2.4.5 and superseded the behavior of the +SSLProxyCheckPeerCN directive, which +only tested the exact value in the first CN attribute against the host name. +However, many users were confused by the behavior of using these directives +individually, so the mutual behavior of SSLProxyCheckPeerName +and SSLProxyCheckPeerCN directives were improved in release +2.4.21. See the SSLProxyCheckPeerCN +directive description for the original behavior and details of these +improvements. +

+ +
+
top
+

SSLProxyCipherSuite Directive

+ + + + + + + + +
Description:Cipher Suite available for negotiation in SSL +proxy handshake
Syntax:SSLProxyCipherSuite [protocol] cipher-spec
Default:SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

Equivalent to SSLCipherSuite, but +for the proxy connection. +Please refer to SSLCipherSuite +for additional information.

+ +
+
top
+

SSLProxyEngine Directive

+ + + + + + + + +
Description:SSL Proxy Engine Operation Switch
Syntax:SSLProxyEngine on|off
Default:SSLProxyEngine off
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive toggles the usage of the SSL/TLS Protocol Engine for proxy. This +is usually used inside a <VirtualHost> section to enable SSL/TLS for proxy +usage in a particular virtual host. By default the SSL/TLS Protocol Engine is +disabled for proxy both for the main server and all configured virtual hosts.

+ +

Note that the SSLProxyEngine directive should not, in +general, be included in a virtual host that will be acting as a +forward proxy (using <Proxy> +or ProxyRequests directives). +SSLProxyEngine is not required to enable a forward proxy +server to proxy SSL/TLS requests.

+ +

Example

<VirtualHost _default_:443>
+    SSLProxyEngine on
+    #...
+</VirtualHost>
+
+ +
+
top
+

SSLProxyMachineCertificateChainFile Directive

+ + + + + + + +
Description:File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
Syntax:SSLProxyMachineCertificateChainFile filename
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets the all-in-one file where you keep the certificate chain +for all of the client certs in use. This directive will be needed if the +remote server presents a list of CA certificates that are not direct signers +of one of the configured client certificates. +

+

+This referenced file is simply the concatenation of the various PEM-encoded +certificate files. Upon startup, each client certificate configured will +be examined and a chain of trust will be constructed. +

+

Security warning

+

If this directive is enabled, all of the certificates in the file will be +trusted as if they were also in +SSLProxyCACertificateFile.

+
+

Example

SSLProxyMachineCertificateChainFile "/usr/local/apache2/conf/ssl.crt/proxyCA.pem"
+
+ +
+
top
+

SSLProxyMachineCertificateFile Directive

+ + + + + + + +
Description:File of concatenated PEM-encoded client certificates and keys to be used by the proxy
Syntax:SSLProxyMachineCertificateFile filename
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets the all-in-one file where you keep the certificates and +keys used for authentication of the proxy server to remote servers. +

+

+This referenced file is simply the concatenation of the various +PEM-encoded certificate files. Use this directive alternatively or +additionally to SSLProxyMachineCertificatePath. The +referenced file can contain any number of pairs of client certificate +and associated private key. Each pair can be specified in either +(certificate, key) or (key, certificate) order. If the file includes +any non-leaf certificate, or any unmatched key and certificate pair, a +configuration error will be issued at startup. +

+ +

When challenged to provide a client certificate by a remote server, +the server should provide a list of acceptable certificate +authority names in the challenge. If such a list is not +provided, mod_ssl will use the first configured +client cert/key. If a list of CA names is provided, +mod_ssl will iterate through that list, and attempt +to find a configured client cert which was issued either directly by +that CA, or indirectly via any number of intermediary CA certificates. +The chain of intermediate CA certificates can be built from those +configured with SSLProxyMachineCertificateChainFile. The +first configured matching certificate will then be supplied in +response to the challenge.

+ +

If the list of CA names is provided by the remote server, +and no matching client certificate can be found, no client +certificate will be provided by mod_ssl, which will +likely fail the SSL/TLS handshake (depending on the remote server +configuration).

+ +
+

Currently there is no support for encrypted private keys

+
+
+

Only keys encoded in PKCS1 RSA, DSA or EC format are supported. +Keys encoded in PKCS8 format, ie. starting with +"-----BEGIN PRIVATE KEY-----", +must be converted, eg. using +"openssl rsa -in private-pkcs8.pem -outform pem".

+
+

Example

SSLProxyMachineCertificateFile "/usr/local/apache2/conf/ssl.crt/proxy.pem"
+
+ +
+
top
+

SSLProxyMachineCertificatePath Directive

+ + + + + + + +
Description:Directory of PEM-encoded client certificates and keys to be used by the proxy
Syntax:SSLProxyMachineCertificatePath directory
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets the directory where you keep the client +certificates and keys used for authentication of the proxy server to +remote servers. +

+

+mod_ssl will attempt to load every file inside the specified directory +as if it was configured individually with SSLProxyMachineCertificateFile. +

+
+

Currently there is no support for encrypted private keys

+
+
+

Only keys encoded in PKCS1 RSA, DSA or EC format are supported. +Keys encoded in PKCS8 format, ie. starting with +"-----BEGIN PRIVATE KEY-----", +must be converted, eg. using +"openssl rsa -in private-pkcs8.pem -outform pem".

+
+

Example

SSLProxyMachineCertificatePath "/usr/local/apache2/conf/proxy.crt/"
+
+ +
+
top
+

SSLProxyProtocol Directive

+ + + + + + + + +
Description:Configure usable SSL protocol flavors for proxy usage
Syntax:SSLProxyProtocol [+|-]protocol ...
Default:SSLProxyProtocol all -SSLv3 (up to 2.4.16: all)
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+ +

+This directive can be used to control the SSL protocol flavors mod_ssl should +use when establishing its server environment for proxy . It will only connect +to servers using one of the provided protocols.

+

Please refer to SSLProtocol +for additional information. +

+ +
+
top
+

SSLProxyVerify Directive

+ + + + + + + + +
Description:Type of remote server Certificate verification
Syntax:SSLProxyVerify level
Default:SSLProxyVerify none
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+ +

When a proxy is configured to forward requests to a remote SSL +server, this directive can be used to configure certificate +verification of the remote server.

+

+The following levels are available for level:

+
    +
  • none: + no remote server Certificate is required at all
  • +
  • optional: + the remote server may present a valid Certificate
  • +
  • require: + the remote server has to present a valid Certificate
  • +
  • optional_no_ca: + the remote server may present a valid Certificate
    + but it need not to be (successfully) verifiable.
  • +
+

In practice only levels none and +require are really interesting, because level +optional doesn't work with all servers and level +optional_no_ca is actually against the idea of +authentication (but can be used to establish SSL test pages, etc.)

+

Example

SSLProxyVerify require
+
+ +
+
top
+

SSLProxyVerifyDepth Directive

+ + + + + + + + +
Description:Maximum depth of CA Certificates in Remote Server +Certificate verification
Syntax:SSLProxyVerifyDepth number
Default:SSLProxyVerifyDepth 1
Context:server config, virtual host, proxy section
Status:Extension
Module:mod_ssl
Compatibility:The proxy section context is allowed in httpd 2.4.30 and later
+

+This directive sets how deeply mod_ssl should verify before deciding that the +remote server does not have a valid certificate.

+

+The depth actually is the maximum number of intermediate certificate issuers, +i.e. the number of CA certificates which are max allowed to be followed while +verifying the remote server certificate. A depth of 0 means that self-signed +remote server certificates are accepted only, the default depth of 1 means +the remote server certificate can be self-signed or has to be signed by a CA +which is directly known to the server (i.e. the CA's certificate is under +SSLProxyCACertificatePath), etc.

+

Example

SSLProxyVerifyDepth 10
+
+ +
+
top
+

SSLRandomSeed Directive

+ + + + + + +
Description:Pseudo Random Number Generator (PRNG) seeding +source
Syntax:SSLRandomSeed context source +[bytes]
Context:server config
Status:Extension
Module:mod_ssl
+

+This configures one or more sources for seeding the Pseudo Random Number +Generator (PRNG) in OpenSSL at startup time (context is +startup) and/or just before a new SSL connection is established +(context is connect). This directive can only be used +in the global server context because the PRNG is a global facility.

+

+The following source variants are available:

+
    +
  • builtin +

    This is the always available builtin seeding source. Its usage + consumes minimum CPU cycles under runtime and hence can be always used + without drawbacks. The source used for seeding the PRNG contains of the + current time, the current process id and a randomly + chosen 128 bytes extract of the stack. + The drawback is that this is not really a strong source and at startup + time (where the scoreboard is still not available) this source just + produces a few bytes of entropy. So you should always, at least for the + startup, use an additional seeding source.

  • +
  • file:/path/to/source +

    + This variant uses an external file /path/to/source as the + source for seeding the PRNG. When bytes is specified, only the + first bytes number of bytes of the file form the entropy (and + bytes is given to /path/to/source as the first + argument). When bytes is not specified the whole file forms the + entropy (and 0 is given to /path/to/source as + the first argument). Use this especially at startup time, for instance + with an available /dev/random and/or + /dev/urandom devices (which usually exist on modern Unix + derivatives like FreeBSD and Linux).

    +

    + But be careful: Usually /dev/random provides only as + much entropy data as it actually has, i.e. when you request 512 bytes of + entropy, but the device currently has only 100 bytes available two things + can happen: On some platforms you receive only the 100 bytes while on + other platforms the read blocks until enough bytes are available (which + can take a long time). Here using an existing /dev/urandom is + better, because it never blocks and actually gives the amount of requested + data. The drawback is just that the quality of the received data may not + be the best.

  • + +
  • exec:/path/to/program +

    + This variant uses an external executable + /path/to/program as the source for seeding the + PRNG. When bytes is specified, only the first + bytes number of bytes of its stdout contents + form the entropy. When bytes is not specified, the + entirety of the data produced on stdout form the + entropy. Use this only at startup time when you need a very strong + seeding with the help of an external program (for instance as in + the example above with the truerand utility you can + find in the mod_ssl distribution which is based on the AT&T + truerand library). Using this in the connection context + slows down the server too dramatically, of course. So usually you + should avoid using external programs in that context.

  • +
  • egd:/path/to/egd-socket (Unix only) +

    + This variant uses the Unix domain socket of the + external Entropy Gathering Daemon (EGD) (see http://www.lothar.com/tech + /crypto/) to seed the PRNG. Use this if no random device exists + on your platform.

  • +
+

Example

SSLRandomSeed startup builtin
+SSLRandomSeed startup "file:/dev/random"
+SSLRandomSeed startup "file:/dev/urandom" 1024
+SSLRandomSeed startup "exec:/usr/local/bin/truerand" 16
+SSLRandomSeed connect builtin
+SSLRandomSeed connect "file:/dev/random"
+SSLRandomSeed connect "file:/dev/urandom" 1024
+
+ +
+
top
+

SSLRenegBufferSize Directive

+ + + + + + + + +
Description:Set the size for the SSL renegotiation buffer
Syntax:SSLRenegBufferSize bytes
Default:SSLRenegBufferSize 131072
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ssl
+ +

If an SSL renegotiation is required in per-location context, for +example, any use of SSLVerifyClient in a Directory or +Location block, then mod_ssl must buffer any HTTP +request body into memory until the new SSL handshake can be performed. +This directive can be used to set the amount of memory that will be +used for this buffer.

+ +

+Note that in many configurations, the client sending the request body +will be untrusted so a denial of service attack by consumption of +memory must be considered when changing this configuration setting. +

+ +

Example

SSLRenegBufferSize 262144
+
+ +
+
top
+

SSLRequire Directive

+ + + + + + + +
Description:Allow access only when an arbitrarily complex +boolean expression is true
Syntax:SSLRequire expression
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ssl
+ +

SSLRequire is deprecated

+

SSLRequire is deprecated and should in general be replaced +by Require expr. The so called +ap_expr syntax of Require expr is +a superset of the syntax of SSLRequire, with the following +exception:

+ +

In SSLRequire, the comparison operators <, +<=, ... are completely equivalent to the operators +lt, le, ... and work in a somewhat peculiar way that +first compares the length of two strings and then the lexical order. +On the other hand, ap_expr has two sets of +comparison operators: The operators <, +<=, ... do lexical string comparison, while the operators +-lt, -le, ... do integer comparison. +For the latter, there are also aliases without the leading dashes: +lt, le, ... +

+ +
+ +

+This directive specifies a general access requirement which has to be +fulfilled in order to allow access. It is a very powerful directive because the +requirement specification is an arbitrarily complex boolean expression +containing any number of access checks.

+

+The expression must match the following syntax (given as a BNF +grammar notation):

+
+
expr     ::= "true" | "false"
+           | "!" expr
+           | expr "&&" expr
+           | expr "||" expr
+           | "(" expr ")"
+           | comp
+
+comp     ::= word "==" word | word "eq" word
+           | word "!=" word | word "ne" word
+           | word "<"  word | word "lt" word
+           | word "<=" word | word "le" word
+           | word ">"  word | word "gt" word
+           | word ">=" word | word "ge" word
+           | word "in" "{" wordlist "}"
+           | word "in" "PeerExtList(" word ")"
+           | word "=~" regex
+           | word "!~" regex
+
+wordlist ::= word
+           | wordlist "," word
+
+word     ::= digit
+           | cstring
+           | variable
+           | function
+
+digit    ::= [0-9]+
+cstring  ::= "..."
+variable ::= "%{" varname "}"
+function ::= funcname "(" funcargs ")"
+
+

For varname any of the variables described in Environment Variables can be used. For +funcname the available functions are listed in +the ap_expr documentation.

+ +

The expression is parsed into an internal machine +representation when the configuration is loaded, and then evaluated +during request processing. In .htaccess context, the expression is +both parsed and executed each time the .htaccess file is encountered during +request processing.

+ +

Example

SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)-/                   \
+            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd."          \
+            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}    \
+            and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5          \
+            and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20       ) \
+           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+
+ +

The PeerExtList(object-ID) function expects +to find zero or more instances of the X.509 certificate extension +identified by the given object ID (OID) in the client certificate. +The expression evaluates to true if the left-hand side string matches +exactly against the value of an extension identified with this OID. +(If multiple extensions with the same OID are present, at least one +extension must match).

+ +

Example

SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")
+
+ +

Notes on the PeerExtList function

+ +
    + +
  • The object ID can be specified either as a descriptive +name recognized by the SSL library, such as "nsComment", +or as a numeric OID, such as "1.2.3.4.5.6".

  • + +
  • Expressions with types known to the SSL library are rendered to +a string before comparison. For an extension with a type not +recognized by the SSL library, mod_ssl will parse the value if it is +one of the primitive ASN.1 types UTF8String, IA5String, VisibleString, +or BMPString. For an extension of one of these types, the string +value will be converted to UTF-8 if necessary, then compared against +the left-hand-side expression.

  • + +
+
+ + +

See also

+ +
+
top
+

SSLRequireSSL Directive

+ + + + + + + +
Description:Deny access when SSL is not used for the +HTTP request
Syntax:SSLRequireSSL
Context:directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ssl
+

+This directive forbids access unless HTTP over SSL (i.e. HTTPS) is enabled for +the current connection. This is very handy inside the SSL-enabled virtual +host or directories for defending against configuration errors that expose +stuff that should be protected. When this directive is present all requests +are denied which are not using SSL.

+

Example

SSLRequireSSL
+
+ +
+
top
+

SSLSessionCache Directive

+ + + + + + + +
Description:Type of the global/inter-process SSL Session +Cache
Syntax:SSLSessionCache type
Default:SSLSessionCache none
Context:server config
Status:Extension
Module:mod_ssl
+

+This configures the storage type of the global/inter-process SSL Session +Cache. This cache is an optional facility which speeds up parallel request +processing. For requests to the same server process (via HTTP keep-alive), +OpenSSL already caches the SSL session information locally. But because modern +clients request inlined images and other data via parallel requests (usually +up to four parallel requests are common) those requests are served by +different pre-forked server processes. Here an inter-process cache +helps to avoid unnecessary session handshakes.

+

+The following five storage types are currently supported:

+
    +
  • none + +

    This disables the global/inter-process Session Cache. This + will incur a noticeable speed penalty and may cause problems if + using certain browsers, particularly if client certificates are + enabled. This setting is not recommended.

  • + +
  • nonenotnull + +

    This disables any global/inter-process Session Cache. However + it does force OpenSSL to send a non-null session ID to + accommodate buggy clients that require one.

  • + +
  • dbm:/path/to/datafile + +

    This makes use of a DBM hashfile on the local disk to + synchronize the local OpenSSL memory caches of the server + processes. This session cache may suffer reliability issues under + high load. To use this, ensure that + mod_socache_dbm is loaded.

  • + +
  • shmcb:/path/to/datafile[(size)] + +

    This makes use of a high-performance cyclic buffer + (approx. size bytes in size) inside a shared memory + segment in RAM (established via /path/to/datafile) to + synchronize the local OpenSSL memory caches of the server + processes. This is the recommended session cache. To use this, + ensure that mod_socache_shmcb is loaded.

  • + +
  • dc:UNIX:/path/to/socket + +

    This makes use of the distcache distributed session + caching libraries. The argument should specify the location of + the server or proxy to be used using the distcache address syntax; + for example, UNIX:/path/to/socket specifies a UNIX + domain socket (typically a local dc_client proxy); + IP:server.example.com:9001 specifies an IP + address. To use this, ensure that + mod_socache_dc is loaded.

  • + +
+ +

Examples

SSLSessionCache "dbm:/usr/local/apache/logs/ssl_gcache_data"
+SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)"
+
+ +

The ssl-cache mutex is used to serialize access to +the session cache to prevent corruption. This mutex can be configured +using the Mutex directive.

+ +
+
top
+

SSLSessionCacheTimeout Directive

+ + + + + + + + +
Description:Number of seconds before an SSL session expires +in the Session Cache
Syntax:SSLSessionCacheTimeout seconds
Default:SSLSessionCacheTimeout 300
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Applies also to RFC 5077 TLS session resumption in Apache 2.4.10 and later
+

+This directive sets the timeout in seconds for the information stored in the +global/inter-process SSL Session Cache, the OpenSSL internal memory cache and +for sessions resumed by TLS session resumption (RFC 5077). +It can be set as low as 15 for testing, but should be set to higher +values like 300 in real life.

+

Example

SSLSessionCacheTimeout 600
+
+ +
+
top
+

SSLSessionTicketKeyFile Directive

+ + + + + + + +
Description:Persistent encryption/decryption key for TLS session tickets
Syntax:SSLSessionTicketKeyFile file-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.0 and later, if using OpenSSL 0.9.8h or later
+

Optionally configures a secret key for encrypting and decrypting +TLS session tickets, as defined in +RFC 5077. +Primarily suitable for clustered environments where TLS sessions information +should be shared between multiple nodes. For single-instance httpd setups, +it is recommended to not configure a ticket key file, but to +rely on (random) keys generated by mod_ssl at startup, instead.

+

The ticket key file must contain 48 bytes of random data, +preferably created from a high-entropy source. On a Unix-based system, +a ticket key file can be created as follows:

+ +

+dd if=/dev/random of=/path/to/file.tkey bs=1 count=48 +

+ +

Ticket keys should be rotated (replaced) on a frequent basis, +as this is the only way to invalidate an existing session ticket - +OpenSSL currently doesn't allow to specify a limit for ticket lifetimes. +A new ticket key only gets used after restarting the web server. +All existing session tickets become invalid after a restart.

+ +
+

The ticket key file contains sensitive keying material and should +be protected with file permissions similar to those used for +SSLCertificateKeyFile.

+
+ +
+
top
+

SSLSessionTickets Directive

+ + + + + + + + +
Description:Enable or disable use of TLS session tickets
Syntax:SSLSessionTickets on|off
Default:SSLSessionTickets on
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.11 and later, if using OpenSSL 0.9.8f +or later.
+

This directive allows to enable or disable the use of TLS session tickets +(RFC 5077).

+
+

TLS session tickets are enabled by default. Using them without restarting +the web server with an appropriate frequency (e.g. daily) compromises perfect +forward secrecy.

+
+ +
+
top
+

SSLSRPUnknownUserSeed Directive

+ + + + + + + +
Description:SRP unknown user seed
Syntax:SSLSRPUnknownUserSeed secret-string
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.4 and later, if using OpenSSL 1.0.1 or +later
+

+This directive sets the seed used to fake SRP user parameters for unknown +users, to avoid leaking whether a given user exists. Specify a secret +string. If this directive is not used, then Apache will return the +UNKNOWN_PSK_IDENTITY alert to clients who specify an unknown username. +

+

Example

+SSLSRPUnknownUserSeed "secret" +

+ +
+
top
+

SSLSRPVerifierFile Directive

+ + + + + + + +
Description:Path to SRP verifier file
Syntax:SSLSRPVerifierFile file-path
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in httpd 2.4.4 and later, if using OpenSSL 1.0.1 or +later
+

+This directive enables TLS-SRP and sets the path to the OpenSSL SRP (Secure +Remote Password) verifier file containing TLS-SRP usernames, verifiers, salts, +and group parameters.

+

Example

+SSLSRPVerifierFile "/path/to/file.srpv" +

+

+The verifier file can be created with the openssl command line +utility:

+

Creating the SRP verifier file

+openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +

+

The value given with the optional -userinfo parameter is +available in the SSL_SRP_USERINFO request environment variable.

+ + +
+
top
+

SSLStaplingCache Directive

+ + + + + + + +
Description:Configures the OCSP stapling cache
Syntax:SSLStaplingCache type
Context:server config
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

Configures the cache used to store OCSP responses which get included +in the TLS handshake if SSLUseStapling +is enabled. Configuration of a cache is mandatory for OCSP stapling. +With the exception of none and nonenotnull, +the same storage types are supported as with +SSLSessionCache.

+ +
+
top
+

SSLStaplingErrorCacheTimeout Directive

+ + + + + + + + +
Description:Number of seconds before expiring invalid responses in the OCSP stapling cache
Syntax:SSLStaplingErrorCacheTimeout seconds
Default:SSLStaplingErrorCacheTimeout 600
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

Sets the timeout in seconds before invalid responses +in the OCSP stapling cache (configured through SSLStaplingCache) will expire. +To set the cache timeout for valid responses, see +SSLStaplingStandardCacheTimeout.

+ +
+
top
+

SSLStaplingFakeTryLater Directive

+ + + + + + + + +
Description:Synthesize "tryLater" responses for failed OCSP stapling queries
Syntax:SSLStaplingFakeTryLater on|off
Default:SSLStaplingFakeTryLater on
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

When enabled and a query to an OCSP responder for stapling +purposes fails, mod_ssl will synthesize a "tryLater" response for the +client. Only effective if SSLStaplingReturnResponderErrors +is also enabled.

+ +
+
top
+

SSLStaplingForceURL Directive

+ + + + + + + +
Description:Override the OCSP responder URI specified in the certificate's AIA extension
Syntax:SSLStaplingForceURL uri
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

This directive overrides the URI of an OCSP responder as obtained from +the authorityInfoAccess (AIA) extension of the certificate. +One potential use is when a proxy is used for retrieving OCSP queries.

+ +
+
top
+

SSLStaplingResponderTimeout Directive

+ + + + + + + + +
Description:Timeout for OCSP stapling queries
Syntax:SSLStaplingResponderTimeout seconds
Default:SSLStaplingResponderTimeout 10
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

This option sets the timeout for queries to OCSP responders when +SSLUseStapling is enabled +and mod_ssl is querying a responder for OCSP stapling purposes.

+ +
+
top
+

SSLStaplingResponseMaxAge Directive

+ + + + + + + + +
Description:Maximum allowable age for OCSP stapling responses
Syntax:SSLStaplingResponseMaxAge seconds
Default:SSLStaplingResponseMaxAge -1
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

This option sets the maximum allowable age ("freshness") when +considering OCSP responses for stapling purposes, i.e. when +SSLUseStapling is turned on. +The default value (-1) does not enforce a maximum age, +which means that OCSP responses are considered valid as long as their +nextUpdate field is in the future.

+ +
+
top
+

SSLStaplingResponseTimeSkew Directive

+ + + + + + + + +
Description:Maximum allowable time skew for OCSP stapling response validation
Syntax:SSLStaplingResponseTimeSkew seconds
Default:SSLStaplingResponseTimeSkew 300
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

This option sets the maximum allowable time skew when mod_ssl checks the +thisUpdate and nextUpdate fields of OCSP responses +which get included in the TLS handshake (OCSP stapling). Only applicable +if SSLUseStapling is turned on.

+ +
+
top
+

SSLStaplingReturnResponderErrors Directive

+ + + + + + + + +
Description:Pass stapling related OCSP errors on to client
Syntax:SSLStaplingReturnResponderErrors on|off
Default:SSLStaplingReturnResponderErrors on
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

When enabled, mod_ssl will pass responses from unsuccessful +stapling related OCSP queries (such as responses with an overall status +other than "successful", responses with a certificate status other than +"good", expired responses etc.) on to the client. +If set to off, only responses indicating a certificate status +of "good" will be included in the TLS handshake.

+ +
+
top
+

SSLStaplingStandardCacheTimeout Directive

+ + + + + + + + +
Description:Number of seconds before expiring responses in the OCSP stapling cache
Syntax:SSLStaplingStandardCacheTimeout seconds
Default:SSLStaplingStandardCacheTimeout 3600
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

Sets the timeout in seconds before responses in the OCSP stapling cache +(configured through SSLStaplingCache) +will expire. This directive applies to valid responses, while +SSLStaplingErrorCacheTimeout is +used for controlling the timeout for invalid/unavailable responses. +

+ +
+
top
+

SSLStrictSNIVHostCheck Directive

+ + + + + + + + +
Description:Whether to allow non-SNI clients to access a name-based virtual +host. +
Syntax:SSLStrictSNIVHostCheck on|off
Default:SSLStrictSNIVHostCheck off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available in Apache 2.2.12 and later
+

+This directive sets whether a non-SNI client is allowed to access a name-based +virtual host. If set to on in the default name-based virtual +host, clients that are SNI unaware will not be allowed to access any +virtual host, belonging to this particular IP / port combination. +If set to on in any other virtual host, SNI unaware clients +are not allowed to access this particular virtual host. +

+ +

+This option is only available if httpd was compiled against an SNI capable +version of OpenSSL. +

+ +

Example

SSLStrictSNIVHostCheck on
+
+ +
+
top
+

SSLUserName Directive

+ + + + + + + +
Description:Variable name to determine user name
Syntax:SSLUserName varname
Context:server config, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ssl
+

+This directive sets the "user" field in the Apache request object. +This is used by lower modules to identify the user with a character +string. In particular, this may cause the environment variable +REMOTE_USER to be set. The varname can be +any of the SSL environment variables.

+ +

Note that this directive has no effect if the +FakeBasicAuth option is used (see SSLOptions).

+ +

Example

SSLUserName SSL_CLIENT_S_DN_CN
+
+ +
+
top
+

SSLUseStapling Directive

+ + + + + + + + +
Description:Enable stapling of OCSP responses in the TLS handshake
Syntax:SSLUseStapling on|off
Default:SSLUseStapling off
Context:server config, virtual host
Status:Extension
Module:mod_ssl
Compatibility:Available if using OpenSSL 0.9.8h or later
+

This option enables OCSP stapling, as defined by the "Certificate +Status Request" TLS extension specified in RFC 6066. If enabled (and +requested by the client), mod_ssl will include an OCSP response +for its own certificate in the TLS handshake. Configuring an +SSLStaplingCache is a +prerequisite for enabling OCSP stapling.

+ +

OCSP stapling relieves the client of querying the OCSP responder +on its own, but it should be noted that with the RFC 6066 specification, +the server's CertificateStatus reply may only include an +OCSP response for a single cert. For server certificates with intermediate +CA certificates in their chain (the typical case nowadays), +stapling in its current implementation therefore only partially achieves the +stated goal of "saving roundtrips and resources" - see also +RFC 6961 +(TLS Multiple Certificate Status Extension). +

+ +

When OCSP stapling is enabled, the ssl-stapling mutex is used +to control access to the OCSP stapling cache in order to prevent corruption, +and the sss-stapling-refresh mutex is used to control refreshes +of OCSP responses. These mutexes can be configured using the +Mutex directive. +

+ + +
+
top
+

SSLVerifyClient Directive

+ + + + + + + + +
Description:Type of Client Certificate verification
Syntax:SSLVerifyClient level
Default:SSLVerifyClient none
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ssl
+

+This directive sets the Certificate verification level for the Client +Authentication. Notice that this directive can be used both in per-server and +per-directory context. In per-server context it applies to the client +authentication process used in the standard SSL handshake when a connection is +established. In per-directory context it forces a SSL renegotiation with the +reconfigured client verification level after the HTTP request was read but +before the HTTP response is sent.

+

+The following levels are available for level:

+
    +
  • none: + no client Certificate is required at all
  • +
  • optional: + the client may present a valid Certificate
  • +
  • require: + the client has to present a valid Certificate
  • +
  • optional_no_ca: + the client may present a valid Certificate
    + but it need not to be (successfully) verifiable. This option + cannot be relied upon for client authentication.
  • +
+

Example

SSLVerifyClient require
+
+ +
+
top
+

SSLVerifyDepth Directive

+ + + + + + + + +
Description:Maximum depth of CA Certificates in Client +Certificate verification
Syntax:SSLVerifyDepth number
Default:SSLVerifyDepth 1
Context:server config, virtual host, directory, .htaccess
Override:AuthConfig
Status:Extension
Module:mod_ssl
+

+This directive sets how deeply mod_ssl should verify before deciding that the +clients don't have a valid certificate. Notice that this directive can be +used both in per-server and per-directory context. In per-server context it +applies to the client authentication process used in the standard SSL +handshake when a connection is established. In per-directory context it forces +a SSL renegotiation with the reconfigured client verification depth after the +HTTP request was read but before the HTTP response is sent.

+

+The depth actually is the maximum number of intermediate certificate issuers, +i.e. the number of CA certificates which are max allowed to be followed while +verifying the client certificate. A depth of 0 means that self-signed client +certificates are accepted only, the default depth of 1 means the client +certificate can be self-signed or has to be signed by a CA which is directly +known to the server (i.e. the CA's certificate is under +SSLCACertificatePath), etc.

+

Example

SSLVerifyDepth 10
+
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ssl.html.fr.utf8 b/docs/manual/mod/mod_ssl.html.fr.utf8 new file mode 100644 index 0000000..bd8aa04 --- /dev/null +++ b/docs/manual/mod/mod_ssl.html.fr.utf8 @@ -0,0 +1,3198 @@ + + + + + +mod_ssl - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_ssl

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)
Statut:Extension
Identificateur de Module:ssl_module
Fichier Source:mod_ssl.c
+

Sommaire

+ +

Ce module fournit le support SSL v3 et TLS v1 au serveur HTTP +Apache. SSL v2 n'est plus supporté.

+ +

Ce module s'appuie sur OpenSSL +pour fournir le moteur de chiffrement.

+ +

D'autres détails, discussions et exemples sont fournis dans la documentation SSL.

+
+
Support Apache!

Sujets

+

Directives

+ +

Traitement des bugs

Voir aussi

+
+
top
+
+

Variables d'environnement

+ +

Ce module peut être configuré pour fournir aux espaces de nommage SSI +et CGI de nombreux éléments d'informations concernant SSL par le biais +de variables d'environnement supplémentaires. Par défaut, sauf pour +HTTPS et SSL_TLS_SNI qui sont toujours définies, ces +informations ne sont pas fournies pour des raisons de performances (Voir +la directive SSLOptions +StdEnvVars ci-dessous). +Les variables générées se trouvent dans la table ci-dessous. +Ces informations peuvent également être disponible sous des noms différents +à des fins de compatibilité ascendante. Reportez-vous au chapitre Compatibilité pour plus de détails à +propos des variables de compatibilité.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom de la variableType de valeurDescription
HTTPS drapeauHTTPS est utilisé.
SSL_PROTOCOL chaîneLa version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)
SSL_SESSION_ID chaîneL'identifiant de session SSL codé en hexadécimal
SSL_SESSION_RESUMED chaîneSession SSL initiale ou reprise. Note : plusieurs requêtes peuvent +être servies dans le cadre de la même session SSL (initiale ou reprise) +si les connexions persistantes (HTTP KeepAlive) sont utilisées
SSL_SECURE_RENEG chaînetrue si la renégociation sécurisée est supportée, +false dans le cas contraire
SSL_CIPHER chaîneLe nom de l'algorithme de chiffrement
SSL_CIPHER_EXPORT chaînetrue si l'algorithme de chiffrement est un algorithme +exporté
SSL_CIPHER_USEKEYSIZE nombreNombre de bits de chiffrement (réellement utilisés)
SSL_CIPHER_ALGKEYSIZE nombreNombre de bits de chiffrement (possible)
SSL_COMPRESS_METHOD chaîneMéthode de compression SSL négociée
SSL_VERSION_INTERFACE chaîneLa version du programme mod_ssl
SSL_VERSION_LIBRARY chaîneLa version du programme OpenSSL
SSL_CLIENT_M_VERSION chaîneLa version du certificat client
SSL_CLIENT_M_SERIAL chaîneLe numéro de série du certificat client
SSL_CLIENT_S_DN chaîneLe DN sujet du certificat client
SSL_CLIENT_S_DN_x509 chaîneElément du DN sujet du client
SSL_CLIENT_SAN_Email_n chaîneLes entrées d'extension subjectAltName du certificat client de type rfc822Name
SSL_CLIENT_SAN_DNS_n chaîneLes entrées d'extension subjectAltName du certificat client de type dNSName
SSL_CLIENT_SAN_OTHER_msUPN_nchaîne Extensions subjectAltName de type otherName du +certificat client, forme Microsoft du nom principal de l'utilisateur (OID 1.3.6.1.4.1.311.20.2.3)
SSL_CLIENT_I_DN chaîneDN de l'émetteur du certificat du client
SSL_CLIENT_I_DN_x509 chaîneElément du DN de l'émetteur du certificat du client
SSL_CLIENT_V_START chaîneValidité du certificat du client (date de début)
SSL_CLIENT_V_END chaîneValidité du certificat du client (date de fin)
SSL_CLIENT_V_REMAIN chaîneNombre de jours avant expiration du certificat du client
SSL_CLIENT_A_SIG chaîneAlgorithme utilisé pour la signature du certificat du client
SSL_CLIENT_A_KEY chaîneAlgorithme utilisé pour la clé publique du certificat du client
SSL_CLIENT_CERT chaîneCertificat du client au format PEM
SSL_CLIENT_CERT_CHAIN_nchaîne Certificats de la chaîne de certification du +client au format PEM
SSL_CLIENT_CERT_RFC4523_CEA chaîneNuméro de série et fournisseur du certificat. le format correspond à +celui de la CertificateExactAssertion dans la RFC4523
SSL_CLIENT_VERIFY chaîneNONE, SUCCESS, GENEROUS ou +FAILED:raison
SSL_SERVER_M_VERSION chaîneLa version du certificat du serveur
SSL_SERVER_M_SERIAL chaîne + +The serial of the server certificate
SSL_SERVER_S_DN chaîneDN sujet du certificat du serveur
SSL_SERVER_S_DN_x509 chaîneElément du DN sujet du certificat du serveur
SSL_SERVER_SAN_Email_nchaîne Les entrées d'extension subjectAltName du +certificat de serveur de type rfc822Name
SSL_SERVER_SAN_DNS_n chaîneLes entrées d'extension subjectAltName du +certificat de serveur de type dNSName
SSL_SERVER_SAN_OTHER_dnsSRV_nchaîne Extensions subjectAltName de type otherName du +certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985)
SSL_SERVER_I_DN chaîneDN de l'émetteur du certificat du serveur
SSL_SERVER_I_DN_x509 chaîneElément du DN de l'émetteur du certificat du serveur
SSL_SERVER_V_START chaîneValidité du certificat du serveur (date de dédut)
SSL_SERVER_V_END chaîneValidité du certificat du serveur (date de fin)
SSL_SERVER_A_SIG chaîneAlgorithme utilisé pour la signature du certificat du serveur
SSL_SERVER_A_KEY chaîneAlgorithme utilisé pour la clé publique du certificat du serveur
SSL_SERVER_CERT chaîneCertificat du serveur au format PEM
SSL_SRP_USER chaînenom d'utilisateur SRP
SSL_SRP_USERINFO chaîneinformations sur l'utilisateur SRP
SSL_TLS_SNI stringContenu de l'extension SNI TLS (si supporté par ClientHello)
+ +

x509 spécifie un élément de DN X.509 parmi +C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email. A partir de la version +2.2.0 d'Apache, x509 peut aussi comporter un suffixe numérique +_n. Si le DN en question comporte plusieurs attributs de +noms identiques, ce suffixe constitue un index débutant à zéro et +permettant de sélectionner un +attribut particulier. Par exemple, si le DN sujet du certificat du +serveur comporte deux champs OU, on peut utiliser +SSL_SERVER_S_DN_OU_0 et SSL_SERVER_S_DN_OU_1 +pour référencer chacun d'entre eux. Un nom de variable sans suffixe +_n est équivalent au même nom avec le suffixe +_0, ce qui correspond au premier attribut (ou au seul) +caractérisant le DN. +Lorsque la table d'environnement est remplie en utilisant l'option +StdEnvVars de la directive SSLOptions, le premier attribut (ou le +seul) caractérisant le DN est enregistré avec un nom sans suffixe ; +autrement dit, aucune entrée possédant comme suffixe _0 +n'est enregistrée.

+ +

A partir de la version 2.4.32 de httpd, on peut ajouter le suffixe +_RAW à x509 dans un composant DN afin d'empêcher la conversion +de la valeur de l'attribut en UTF-8. Il doit être placé après le suffixe index +(s'il existe). On utilisera par exemple SSL_SERVER_S_DN_OU_RAW ou +SSL_SERVER_S_DN_OU_0_RAW.

+ +

Le format des variables *_DN a changé depuis la version +2.3.11 d'Apache HTTPD. Voir l'option LegacyDNStringFormat +de la directive SSLOptions pour +plus de détails.

+ +

SSL_CLIENT_V_REMAIN n'est disponible qu'à partir de la +version 2.1.

+ +

Plusieurs variables d'environnement additionnelles peuvent être +utilisées dans les expressions SSLRequire, ou +dans les formats de journalisation personnalisés :

+ +
HTTP_USER_AGENT        PATH_INFO             AUTH_TYPE
+HTTP_REFERER           QUERY_STRING          SERVER_SOFTWARE
+HTTP_COOKIE            REMOTE_HOST           API_VERSION
+HTTP_FORWARDED         REMOTE_IDENT          TIME_YEAR
+HTTP_HOST              IS_SUBREQ             TIME_MON
+HTTP_PROXY_CONNECTION  DOCUMENT_ROOT         TIME_DAY
+HTTP_ACCEPT            SERVER_ADMIN          TIME_HOUR
+THE_REQUEST            SERVER_NAME           TIME_MIN
+REQUEST_FILENAME       SERVER_PORT           TIME_SEC
+REQUEST_METHOD         SERVER_PROTOCOL       TIME_WDAY
+REQUEST_SCHEME         REMOTE_ADDR           TIME
+REQUEST_URI            REMOTE_USER
+ +

Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés +:

+ +
+
ENV:nom_variable
+
Correspond à la variable d'environnement standard + nom_variable.
+ +
HTTP:nom_en-tête
+
Correspond à la valeur de l'en-tête de requête dont le nom est + nom_en-tête.
+
+ +
top
+
+

Formats de journaux +personnalisés

+ +

Lorsque mod_ssl est compilé dans le serveur Apache +ou même chargé (en mode DSO), des fonctions supplémentaires sont +disponibles pour le Format de journal personnalisé du +module mod_log_config. A ce titre, la fonction de +format d'eXtension ``%{nom-var}x'' +peut être utilisée pour présenter en extension toute variable fournie +par tout module, et en particulier celles fournies par mod_ssl et que +vous trouverez dans la table ci-dessus.

+

+A des fins de compatibilité ascendante, il existe une fonction de format +cryptographique supplémentaire +``%{nom}c''. Vous trouverez toutes +les informations à propos de cette fonction dans le chapitre Compatibilité.

+

Exemple

CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+
+

Ces formats sont disponibles même si l'option StdEnvVars de la +directive SSLOptions n'a pas été +définie.

+
top
+
+

Information à propos de la requête

+ +

mod_ssl enregistre des informations à propos de la +requête que l'on peut restituer dans les journaux avec la chaîne de +format %{nom}n via le module +mod_log_config.

+ +

Les informations enregistrées sont les suivantes :

+ +
+
ssl-access-forbidden
+
Cette information contient la valeur 1 si l'accès a + été refusé suite à une directive SSLRequire ou + SSLRequireSSL.
+ +
ssl-secure-reneg
+
Si mod_ssl a été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, si SSL est utilisé + pour la connexion courante et si le client supporte lui aussi la + renégociation sécurisée, cette information contiendra la valeur + 1. Si le client ne supporte pas la renégociation + sécurisée, l'information contiendra la valeur 0. Si + mod_ssl n'a pas été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, ou si SSL n'est pas + utilisé pour la connexion courante, le contenu de l'information ne + sera pas défini.
+
+ +
top
+
+

Extension pour l'interprétation +des expressions

+ +

Lorsque mod_ssl est compilé statiquement avec +Apache, ou même chargé dynamiquement (en tant que module DSO), toute variable en provenance de mod_ssl peut +être utilisée pour l'interprétation des +expression ap_expr. Les variables peuvent être référencées en +utilisant la syntaxe ``%{varname}''. +A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de +style mod_rewrite +``%{SSL:varname}'', ou la syntaxe de +style fonction ``ssl(varname)''.

+

Exemple (en utilisant mod_headers)

Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}"
+Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"
+
+

Cette fonctionnalité est disponible même si l'option +StdEnvVars de la directive SSLOptions n'a pas été définie.

+
top
+
+

Fournisseurs d'autorisation +disponibles avec Require

+ +

mod_ssl propose quelques fournisseurs + d'autorisation à utiliser avec la directive Require du module + mod_authz_core.

+ +

Require ssl

+ +

Le fournisseur ssl refuse l'accès si une connexion + n'est pas chiffrée avec SSL. L'effet est similaire à celui de la + directive SSLRequireSSL.

+ + +
Require ssl
+ + + + + +

Require ssl-verify-client

+ +

Le fournisseur ssl autorise l'accès si + l'utilisateur est authentifié via un certificat client valide. Ceci + n'a un effet que si SSLVerifyClient optional est actif.

+ +

Dans l'exemple suivant, l'accès est autorisé si le client est + authentifié via un certificat client ou par nom d'utilisateur/mot de + passe :

+ +
Require ssl-verify-client
+Require valid-user
+ + + + +
+
top
+

Directive SSLCACertificateFile

+ + + + + + +
Description:Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients
Syntaxe:SSLCACertificateFile file-path
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier tout-en-un où vous +pouvez rassembler les certificats des Autorités de Certification (CAs) +pour les clients auxquels vous avez à faire. On les utilise pour +l'authentification des clients. Un tel fichier contient la simple +concaténation des différents fichiers de certificats codés en PEM, par +ordre de préférence. Cette directive peut être utilisée à la place et/ou +en complément de la directive SSLCACertificatePath.

+

Exemple

SSLCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt"
+
+ +
+
top
+

Directive SSLCACertificatePath

+ + + + + + +
Description:Répertoire des certificats de CA codés en PEM pour +l'authentification des clients
Syntaxe:SSLCACertificatePath chemin-répertoire
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les clients +auxquels vous avez à faire. On les utilise pour vérifier le certificat +du client au cours de l'authentification de ce dernier.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLCACertificatePath "/usr/local/apache2/conf/ssl.crt/"
+
+ +
+
top
+

Directive SSLCADNRequestFile

+ + + + + + +
Description:Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables
Syntaxe:SSLCADNRequestFile file-path
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Lorsque mod_ssl demande un certificat client, une liste de noms +d'Autorités de Certification acceptables est envoyée au client au +cours de la phase d'initialisation de la connexion SSL. Le client peut +alors utiliser cette liste de noms de CA pour sélectionner un certificat +client approprié parmi ceux dont il dispose.

+ +

Si aucune des directives SSLCADNRequestPath ou SSLCADNRequestFile n'est définie, la liste +de noms de CsA acceptables envoyée au client est la liste des noms de +tous les certificats de CA spécifiés par les directives SSLCACertificateFile et SSLCACertificatePath ; en d'autres termes, +c'est la liste des noms de CAs qui sera effectivement utilisée pour +vérifier le certificat du client.

+ +

Dans certaines situations, il est utile de pouvoir envoyer +une liste de noms de CA acceptables qui diffère de la liste des CAs +effectivement utilisés pour vérifier le certificat du client ; +considérons par exemple le cas où le certificat du client est signé par +des CAs intermédiaires. On peut ici utiliser les directives SSLCADNRequestPath et/ou SSLCADNRequestFile, et les noms de CA +acceptables seront alors extraits de l'ensemble des certificats contenus +dans le répertoire et/ou le fichier définis par cette paire de +directives.

+ +

SSLCADNRequestFile doit +spécifier un fichier tout-en-un contenant une concaténation des +certificats de CA codés en PEM.

+ +

Exemple

SSLCADNRequestFile "/usr/local/apache2/conf/ca-names.crt"
+
+ +
+
top
+

Directive SSLCADNRequestPath

+ + + + + + +
Description:Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables
Syntaxe:SSLCADNRequestPath chemin-répertoire
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+ +

Cette directive optionnelle permet de définir la liste de noms de +CAs acceptables qui sera envoyée au client lorsqu'un certificat de +client est demandé. Voir la directive SSLCADNRequestFile pour plus de +détails.

+ +

Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLCADNRequestPath "/usr/local/apache2/conf/ca-names.crt/"
+
+ +
+
top
+

Directive SSLCARevocationCheck

+ + + + + + + + +
Description:Active la vérification des révocations basée sur les CRL
Syntaxe:SSLCARevocationCheck chain|leaf|none [flags ...]
Défaut:SSLCARevocationCheck none
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Le drapeau optionnel flags est disponible à partir de la +version 2.4.21 du serveur HTTP Apache
+

+Active la vérification des révocations basée sur les Listes de +Révocations de Certificats (CRL). Au moins une des directives SSLCARevocationFile ou SSLCARevocationPath doit être définie. +Lorsque cette directive est définie à chain (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur leaf limite +la vérification au certificat hors chaîne (la feuille). +

+

flags peut prendre comme valeurs

+
    +
  • no_crl_for_cert_ok +

    +Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives SSLCARevocationFile ou SSLCARevocationPath.

    +

    Le comportement a +changé avec l'introduction de la directive +SSLCARevocationFile : par défaut avec +chain ou leaf, les CRLs doivent être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur "unable to get certificate CRL".

    +

    La valeur no_crl_for_cert_ok du drapeau flag permet de +retrouver le comportement précédent.

    +
  • +
+

Exemple

SSLCARevocationCheck chain
+
+

Compatibilité avec la branche 2.2

SSLCARevocationCheck chain no_crl_for_cert_ok
+
+ +
+
top
+

Directive SSLCARevocationFile

+ + + + + + +
Description:Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients
Syntaxe:SSLCARevocationFile file-path
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier tout-en-un où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les clients auxquels vous avez à faire. On +les utilise pour l'authentification des clients. Un tel fichier contient +la simple concaténation des différents fichiers de CRLs codés en PEM, +dans l'ordre de préférence. Cette directive peut être utilisée à la +place et/ou en complément de la directive SSLCARevocationPath.

+

Exemple

SSLCARevocationFile
+"/usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl"
+
+ +
+
top
+

Directive SSLCARevocationPath

+ + + + + + +
Description:Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients
Syntaxe:SSLCARevocationPath chemin-répertoire
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les clients auxquels vous avez à faire. On les utilise pour +révoquer les certificats des clients au cours de l'authentification de +ces derniers.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLCARevocationPath "/usr/local/apache2/conf/ssl.crl/"
+
+ +
+
top
+

Directive SSLCertificateChainFile

+ + + + + + +
Description:Fichier contenant les certificats de CA du serveur codés en +PEM
Syntaxe:SSLCertificateChainFile file-path
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

SSLCertificateChainFile est obsolète

+

SSLCertificateChainFile est devenue obsolète avec la +version 2.4.8, lorsque la directive +SSLCertificateFile a été étendue +pour supporter aussi les certificats de CA intermédiaires dans le +fichier de certificats du serveur.

+
+

+Cette directive permet de définir le fichier optionnel +tout-en-un où vous pouvez rassembler les certificats des +Autorités de Certification (CA) qui forment la chaîne de certification +du certificat du serveur. Cette chaîne débute par le certificat de la CA +qui a délivré le certificat du serveur et peut remonter jusqu'au +certificat de la CA racine. Un tel fichier contient la simple +concaténation des différents certificats de CA codés en PEM, en général +dans l'ordre de la chaîne de certification.

+

Elle doit être utilisée à la place et/ou en complément de la +directive SSLCACertificatePath +pour construire explicitement la chaîne de certification du serveur qui +est envoyée au navigateur en plus du certificat du serveur. Elle s'avère +particulièrement utile pour éviter les conflits avec les certificats de +CA lorsqu'on utilise l'authentification du client. Comme le fait de +placer un certificat de CA de la chaîne de certification du serveur dans +la directive SSLCACertificatePath produit le même effet +pour la construction de la chaîne de certification, cette directive a +pour effet colatéral de faire accepter les certificats clients fournis +par cette même CA, au cours de l'authentification du client.

+

+Soyez cependant prudent : fournir la chaîne de certification ne +fonctionne que si vous utilisez un simple certificat de +serveur RSA ou DSA. Si vous utilisez une paire de certificats +couplés RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment la même chaîne de certification. Dans le cas +contraire, la confusion risque de s'installer au niveau des +navigateurs.

+

Exemple

SSLCertificateChainFile "/usr/local/apache2/conf/ssl.crt/ca.crt"
+
+ +
+
top
+

Directive SSLCertificateFile

+ + + + + + + +
Description:Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM ou identificateur de jeton
Syntaxe:SSLCertificateFile file-path|certid
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:L'option certid est disponible à partir de la version +2.4.42 du serveur HTTP Apache.
+

Cette directive permet de définir le fichier de données contenant les +informations de certificat X.509 du serveur codées au format PEM ou +l'identificateur de certificat via un jeton cryptographique. Si on utilise un +fichier au format PEM, ce dernier doit contenir au minimum un certificat +d'entité finale (feuille). +La directive peut être utilisée plusieurs fois (elle référence des +fichiers différents) pour accepter plusieurs algorithmes +d'authentification au niveau du serveur - souvent RSA, DSA et ECC. Le +nombre d'algorithmes supportés dépend de la version d'OpenSSL utilisée +avec mod_ssl : à partir de la version 1.0.0, la commande openssl +list-public-key-algorithms affiche la liste des algorithmes +supportés. Voir aussi la note ci-dessous à propos des limitations des versions +d'OpenSSL antérieures à 1.0.2 et la manière de les contourner. +

+ +

Les fichiers peuvent aussi contenir des certificats de CA +intermédiaires triés depuis la feuille vers la racine. Cette +fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP +Apache, et rend obsolète la directive SSLCertificateChainFile. A partir de la +version 1.0.2 d'OpenSSL, il est alors possible de configurer la chaîne +de certification en fonction du certificat.

+ +

Depuis la version 2.4.7 du serveur HTTP Apache, on peut aussi ajouter +des paramètres DH personnalisés et un nom EC +curve pour les clés éphémères à la fin du premier fichier défini par la +directive SSLCertificateFile. +Ces paramètres peuvent être générés avec les commandes openssl +dhparam et openssl ecparam, et ils peuvent être +ajoutés tel quel à la fin du premier fichier de certificat. En effet, +seul le premier fichier de certificat défini peut être utilisé pour +enregistrer des paramètres personnalisés, car ces derniers s'appliquent +indépendamment de l'algorithme d'authentification utilisé. +

+ +

Enfin, il est aussi possible d'ajouter la clé privée du certificat de +l'entité finale au fichier de certificat, ce qui permet de se passer +d'une directive SSLCertificateKeyFile séparée. Cette +pratique est cependant fortement déconseillée. Dans ce cas, les fichiers de +certificat qui contiennent de telles clés embarquées doivent être définis +après les certificats qui utilisent un fichier de clé séparé. En outre, +si la clé est chiffrée, une boîte de dialogue pour entrer le mot de +passe de la clé s'ouvre au démarrage du serveur. +

+ +

Plutôt que de stocker les certificats et les clés privées dans des fichiers, +on peut utiliser un identificateur de certificat pour identifier un certificat +stocké dans un jeton. Actuellement, seuls les URIs PKCS#11 sont reconnus comme +identificateurs de certificats et peuvent être utilisés en conjonction avec le +moteur OpenSSL pkcs11. Si la directive SSLCertificateKeyFile est absente, le certificat et +la clé privée peuvent être chargés avec l'identificateur spécifié via la +directive SSLCertificateFile.

+ +
+

Interopérabilité des paramètres DH avec les nombres premiers de +plus de 1024 bits

+

+Depuis la version 2.4.7, mod_ssl utilise des +paramètres DH standardisés avec des nombres premiers de 2048, 3072 et +4096 bits, et avec des nombres premiers de 6144 et 8192 bits depuis la +version 2.4.10 (voir RFC +3526), et les fournit aux clients en fonction de la longueur de la +clé du certificat RSA/DSA. En particulier avec les clients basés sur +Java (versions 7 et antérieures), ceci peut provoquer des erreurs au +cours de la négociation - voir cette réponse de la FAQ SSL pour +contourner les problèmes de ce genre. +

+
+ +
+

Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une +version d'OpenSSL antérieure à 1.0.2.

+

+Lorsqu'on utilise plusieurs certificats pour supporter différents algorithmes +d'authentification (comme RSA, DSA, mais principalement ECC) et une +version d'OpenSSL antérieure à 1.0.2, il est recommandé soit d'utiliser des +paramètres DH spécifiques (solution à privilégier) en les ajoutant au premier +fichier certificat (comme décrit ci-dessus), soit d'ordonner les directives +SSLCertificateFile de façon à ce que les certificats +RSA/DSA soit placés après les certificats ECC. +

+

+Cette limitation est présente dans les anciennes versions d'OpenSSL qui +présentent toujours le dernier certificat configuré, au lieu +de laisser le serveur HTTP Apache déterminer le certificat sélectionné lors de +la phase de négociation de la connexion (lorsque les paramètres DH doivent être +envoyés à l'hôte distant). +De ce fait, le serveur peut sélectionner des paramètres DH par défaut basés sur +la longueur de la clé du mauvais certificat (les clés ECC sont beaucoup plus +petites que les clés RSA/DSA et leur longueur n'est pas pertinente pour la +sélection des nombres premiers DH). +

+

+Ce problème peut être résolu en créant et configurant des paramètres DH +spécifiques (comme décrit ci-dessus), car ils l'emportent toujours sur les +paramètres DH par défaut, et vous pourrez ainsi utiliser une longueur spécifique +et appropriée. +

+
+ +

Exemple

# Exemple utilisant un fichier codé en PEM.
+SSLCertificateFile "/usr/local/apache2/conf/ssl.crt/server.crt"
+# Exemple d'utilisation d'un certificat et d'une clé privés issus d'un jeton
+# PKCS#11 :
+SSLCertificateFile "pkcs11:token=My%20Token%20Name;id=45"
+
+ +
+
top
+

Directive SSLCertificateKeyFile

+ + + + + + + +
Description:Fichier contenant la clé privée du serveur codée en +PEM
Syntaxe:SSLCertificateKeyFile file-path|keyid
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:keyid est disponible à partir de la version 2.4.42 du +serveur HTTP Apache.
+

+Cette directive permet de définir le fichier contenant la clé privée du serveur +codée en PEM ou l'identifiant de la clé via un jeton cryptographique défini. Si +la clé privée est chiffrée, une boîte de dialogue demandant le mot de passe de +cette dernière s'ouvre au démarrage du serveur.

+ +

+Cette directive peut être utilisée plusieurs fois pour référencer +différents noms de fichiers, afin de supporter plusieurs algorithmes +pour l'authentification du serveur. A chaque directive SSLCertificateKeyFile doit être associée +une directive SSLCertificateFile correspondante. +

+ +

+La clé privée peut aussi être ajoutée au fichier défini par la directive +SSLCertificateFile, mais cette +pratique est fortement déconseillée. Dans ce cas, les fichiers de +certificats qui comportent une telle clé doivent être définis après les +certificats qui utilisent un fichier de clé séparé.

+ +

Plutôt que de stocker des clés privées dans des fichiers, il est possible +d'identifier une clé privée via un identifiant stocké dans un jeton. +Actuellement, seuls les PKCS#11 +URIs sont reconnus comme identifiants de clés privées et peuvent être +utilisés en conjonction avec le moteur OpenSSL pkcs11.

+ +

Exemple

# Pour utiliser une clé privée stockée dans fichier encodé PEM :
+SSLCertificateKeyFile "/usr/local/apache2/conf/ssl.key/server.key"
+# Pour utiliser une clé privée à partir d'un jeton PKCS#11 :
+SSLCertificateKeyFile "pkcs11:token=My%20Token%20Name;id=45"
+
+ +
+
top
+

Directive SSLCipherSuite

+ + + + + + + + +
Description:Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL
Syntaxe:SSLCipherSuite [protocol] cipher-spec
Défaut:SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL +installée)
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive complexe utilise la chaîne cipher-spec +contenant la liste des algorithmes de chiffrement OpenSSL que le client +peut utiliser au cours de la phase d'initialisation de la connexion SSL. La +spécification optionnelle du protocole permet de configurer la suite +d'algorithmes de chiffrement pour une version spécifique de SSL. Une des valeurs +possibles est "SSL" pour toutes les versions du protocole SSL jusqu'à TLSv1.2 +compris. +

+

+Notez que cette directive peut être utilisée aussi bien dans un contexte +de serveur que dans un contexte de répertoire. Dans un contexte de +serveur, elle s'applique à l'initialisation SSL standard lorsqu'une +connexion est établie. Dans un contexte de répertoire, elle force une +renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée +après la lecture d'une requête HTTP, mais avant l'envoi de la réponse +HTTP.

+

+Si la bibliothèque SSL supporte TLSv1.3 (versions d'OpenSSL 1.1.1 et +supérieures), il est possible de spécifier le paramètre "TLSv1.3" pour +configurer la suite d'algorithmes de chiffrement pour ce protocole. Comme +TLSv1.3 n'autorise pas la renégociation, spécifier pour lui des algorithmes de +chiffrement dans un contexte de répertoire n'est pas autorisé

+

+Pour obtenir la liste des noms d'algorithmes de chiffrement pour TLSv1.3, se +référer à la the +OpenSSL documentation.

+

+La liste d'algorithmes de chiffrement SSL spécifiée par l'argument +cipher-spec comporte quatre attributs principaux auxquels +s'ajoutent quelques attributs secondaires :

+
    +
  • Algorithme d'échange de clés:
    + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password. +
  • +
  • Algorithme d'authentification:
    + RSA, Diffie-Hellman, DSS, ECDSA, ou none. +
  • +
  • Algorithme de chiffrement:
    + AES, DES, Triple-DES, RC4, RC2, IDEA, etc... +
  • +
  • Algorithme de condensé MAC:
    + MD5, SHA ou SHA1, SHA256, SHA384. +
  • +
+

L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les +algorithmes SSLv2 ne sont plus supportés. +Pour définir les algorithmes à utiliser, on +peut soit spécifier tous les algorithmes à la fois, soit utiliser des +alias pour spécifier une liste d'algorithmes dans leur ordre de +préférence (voir Table 1). Les algorithmes et +alias effectivement disponibles dépendent de la version d'openssl +utilisée. Les versions ultérieures d'openssl sont susceptibles d'inclure +des algorithmes supplémentaires.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Symbole Description
Algorithme d'échange de clés :
kRSA Echange de clés RSA
kDHr Echange de clés Diffie-Hellman avec +clé RSA
kDHd Echange de clés Diffie-Hellman avec +clé DSA
kEDH Echange de clés Diffie-Hellman +temporaires (pas de certificat)
kSRP échange de clés avec mot de passe +distant sécurisé (SRP)
Algorithmes d'authentification :
aNULL Pas d'authentification
aRSA Authentification RSA
aDSS Authentification DSS
aDH Authentification Diffie-Hellman
Algorithmes de chiffrement :
eNULL Pas de chiffrement
NULL alias pour eNULL
AES Chiffrement AES
DES Chiffrement DES
3DES Chiffrement Triple-DES
RC4 Chiffrement RC4
RC2 Chiffrement RC2
IDEA Chiffrement IDEA
Algorithmes de condensés MAC :
MD5 Fonction de hashage MD5
SHA1 Fonction de hashage SHA1
SHA alias pour SHA1
SHA256 Fonction de hashage SHA256
SHA384 Fonction de hashage SHA384
Alias :
SSLv3 tous les algorithmes de chiffrement +SSL version 3.0
TLSv1 tous les algorithmes de chiffrement +TLS version 1.0
EXP tous les algorithmes de chiffrement +externes
EXPORT40 tous les algorithmes de chiffrement +externes limités à 40 bits
EXPORT56 tous les algorithmes de chiffrement +externes limités à 56 bits
LOW tous les algorithmes de chiffrement +faibles (non externes, DES simple)
MEDIUM tous les algorithmes avec +chiffrement 128 bits
HIGH tous les algorithmes +utilisant Triple-DES
RSA tous les algorithmes +utilisant l'échange de clés RSA
DH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman
EDH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman temporaires
ECDH Echange de clés Elliptic Curve Diffie-Hellman
ADH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman anonymes
AECDH tous les algorithmes utilisant +l'échange de clés Elliptic Curve Diffie-Hellman
SRP tous les algorithmes utilisant +l'échange de clés avec mot de passe distant sécurisé (SRP)
DSS tous les algorithmes +utilisant l'authentification DSS
ECDSA tous les algorithmes utilisant +l'authentification ECDSA
aNULL tous les algorithmes n'utilisant +aucune authentification
+

+Cela devient intéressant lorsque tous ces symboles sont combinés +ensemble pour spécifier les algorithmes disponibles et l'ordre dans +lequel vous voulez les utiliser. Pour simplifier tout cela, vous +disposez aussi d'alias (SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH) pour certains groupes d'algorithmes. Ces symboles peuvent +être reliés par des préfixes pour former la chaîne algorithmes. +Les préfixes disponibles sont :

+
    +
  • none: ajoute l'algorithme à la liste
  • +
  • +: déplace les algorithmes qui conviennent à la +place courante dans la liste
  • +
  • -: supprime l'algorithme de la liste (peut être rajouté +plus tard)
  • +
  • !: supprime définitivement l'algorithme de la liste (ne +peut plus y être rajouté plus tard)
  • +
+ +
+

Les algorithmes aNULL, eNULL et +EXP sont toujours désactivés

+

Depuis la version 2.4.7, les +algorithmes de type null ou destinés à l'exportation sont toujours +désactivés car mod_ssl ajoute obligatoirement +!aNULL:!eNULL:!EXP à toute chaîne d'algorithme de +chiffrement à l'initialisation.

+
+ +

Pour vous simplifier la vie, vous pouvez utiliser la commande +``openssl ciphers -v'' qui vous fournit un moyen simple de +créer la chaîne algorithmes avec succès. La chaîne +algorithmes par défaut dépend de la version des bibliothèques +SSL installées. Supposons qu'elle contienne +``RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'', ce qui +stipule de mettre RC4-SHA et AES128-SHA en +premiers, car ces algorithmes présentent un bon compromis entre vitesse +et sécurité. Viennent ensuite les algorithmes de sécurité élevée et +moyenne. En fin de compte, les algorithmes qui n'offrent aucune +authentification sont exclus, comme les algorithmes anonymes +Diffie-Hellman pour SSL, ainsi que tous les algorithmes qui utilisent +MD5 pour le hashage, car celui-ci est reconnu comme +insuffisant.

+
$ openssl ciphers -v 'RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'
+RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+...                     ...               ...     ...           ...
+SEED-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=SEED(128) Mac=SHA1
+PSK-RC4-SHA             SSLv3 Kx=PSK      Au=PSK  Enc=RC4(128)  Mac=SHA1
+KRB5-RC4-SHA            SSLv3 Kx=KRB5     Au=KRB5 Enc=RC4(128)  Mac=SHA1
+

Vous trouverez la liste complète des algorithmes RSA & DH +spécifiques à SSL dans la Table 2.

+

Exemple

SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Symbole algorithme ProtocoleEchange de clés Authentification ChiffrementCondensé MAC Type
Algorithmes RSA :
DES-CBC3-SHA SSLv3 RSA RSA 3DES(168) SHA1
IDEA-CBC-SHA SSLv3 RSA RSA IDEA(128) SHA1
RC4-SHA SSLv3 RSA RSA RC4(128) SHA1
RC4-MD5 SSLv3 RSA RSA RC4(128) MD5
DES-CBC-SHA SSLv3 RSA RSA DES(56) SHA1
EXP-DES-CBC-SHA SSLv3 RSA(512) RSA DES(40) SHA1 export
EXP-RC2-CBC-MD5 SSLv3 RSA(512) RSA RC2(40) MD5 export
EXP-RC4-MD5 SSLv3 RSA(512) RSA RC4(40) MD5 export
NULL-SHA SSLv3 RSA RSA None SHA1
NULL-MD5 SSLv3 RSA RSA None MD5
Algorithmes Diffie-Hellman :
ADH-DES-CBC3-SHA SSLv3 DH None 3DES(168) SHA1
ADH-DES-CBC-SHA SSLv3 DH None DES(56) SHA1
ADH-RC4-MD5 SSLv3 DH None RC4(128) MD5
EDH-RSA-DES-CBC3-SHA SSLv3 DH RSA 3DES(168) SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 DH DSS 3DES(168) SHA1
EDH-RSA-DES-CBC-SHA SSLv3 DH RSA DES(56) SHA1
EDH-DSS-DES-CBC-SHA SSLv3 DH DSS DES(56) SHA1
EXP-EDH-RSA-DES-CBC-SHA SSLv3 DH(512) RSA DES(40) SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 DH(512) DSS DES(40) SHA1 export
EXP-ADH-DES-CBC-SHA SSLv3 DH(512) None DES(40) SHA1 export
EXP-ADH-RC4-MD5 SSLv3 DH(512) None RC4(40) MD5 export
+ +
+
top
+

Directive SSLCompression

+ + + + + + + + +
Description:Permet d'activer la compression au niveau SSL
Syntaxe:SSLCompression on|off
Défaut:SSLCompression off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.3 du serveur HTTP +Apache, si on utilise une version d'OpenSSL 0.9.8 ou supérieure ; +l'utilisation dans un contexte de serveur virtuel n'est disponible que +si on utilise une version d'OpenSSL 1.0.0 ou supérieure. La valeur par +défaut était on dans la version 2.4.3.
+

Cette directive permet d'activer la compression au niveau SSL.

+
+

L'activation de la compression est à l'origine de problèmes de +sécurité dans la plupart des configurations (l'attaque nommée CRIME).

+
+ +
+
top
+

Directive SSLCryptoDevice

+ + + + + + + +
Description:Active l'utilisation d'un accélérateur matériel de +chiffrement
Syntaxe:SSLCryptoDevice moteur
Défaut:SSLCryptoDevice builtin
Contexte:configuration globale
Statut:Extension
Module:mod_ssl
+

+Cette directive permet d'activer l'utilisation d'une carte accélératrice +de chiffrement qui prendra en compte certaines parties du traitement +relatif à SSL. Cette directive n'est utilisable que si la boîte à +outils SSL à été compilée avec le support "engine" ; les versions 0.9.7 +et supérieures d'OpenSSL possèdent par défaut le support "engine", alors +qu'avec la version 0.9.6, il faut utiliser les distributions séparées +"-engine".

+ +

Pour déterminer les moteurs supportés, exécutez la commande +"openssl engine".

+ +

Exemple

# Pour un accélérateur Broadcom :
+SSLCryptoDevice ubsec
+
+ +
+
top
+

Directive SSLEngine

+ + + + + + + +
Description:Interrupteur marche/arrêt du moteur SSL
Syntaxe:SSLEngine on|off|optional
Défaut:SSLEngine off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet d'activer/désactiver le moteur du protocole +SSL/TLS. Elle doit être utilisée dans une section <VirtualHost> pour activer +SSL/TLS pour ce serveur virtuel particulier. Par défaut, le moteur du +protocole SSL/TLS est désactivé pour le serveur principal et tous les +serveurs virtuels configurés.

+

Exemple

<VirtualHost _default_:443>
+SSLEngine on
+#...
+</VirtualHost>
+
+

Depuis la version 2.1 d'Apache, la directive +SSLEngine peut être définie à +optional, ce qui active le support de RFC 2817, Upgrading to +TLS Within HTTP/1.1. Pour le moment, aucun navigateur web ne supporte +RFC 2817.

+ +
+
top
+

Directive SSLFIPS

+ + + + + + + +
Description:Coimmutateur du mode SSL FIPS
Syntaxe:SSLFIPS on|off
Défaut:SSLFIPS off
Contexte:configuration globale
Statut:Extension
Module:mod_ssl
+

+Cette directive permet d'activer/désactiver l'utilisation du drapeau +FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le +contexte du serveur principal, et n'accepte pas les configurations +sources de conflits (SSLFIPS on suivi de SSLFIPS off par exemple). Le +mode s'applique à toutes les opérations de la bibliothèque SSL. +

+

+Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le +drapeau FIPS_mode, la directive SSLFIPS on échouera. +Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la +bibliothèque du fournisseur SSL, pour les prérequis spécifiques +nécessaires à l'utilisation de mod_ssl selon un mode d'opération +approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas +validé, mais peut être décrit comme utilisant un module de chiffrement +validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis +en oeuvre selon les recommandations de la politique de sécurité +applicable. +

+ +
+
top
+

Directive SSLHonorCipherOrder

+ + + + + + + +
Description:Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence
Syntaxe:SSLHonorCipherOrder on|off
Défaut:SSLHonorCipherOrder off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Normalement, ce sont les préférences du client qui sont prises en +compte lors du choix d'un algorithme de chiffrement au cours d'une +négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les +préférences du serveur qui seront prises en compte à la place.

+

Exemple

SSLHonorCipherOrder on
+
+ +
+
top
+

Directive SSLInsecureRenegotiation

+ + + + + + + + +
Description:Option permettant d'activer le support de la renégociation +non sécurisée
Syntaxe:SSLInsecureRenegotiation on|off
Défaut:SSLInsecureRenegotiation off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis httpd 2.2.15, si une version 0.9.8m +ou supérieure d'OpenSSL est utilisée
+

Comme il a été spécifié, toutes les versions des protocoles SSL et +TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une +attaque de type Man-in-the-Middle (CVE-2009-3555) +au cours d'une renégociation. Cette vulnérabilité permettait à un +attaquant de préfixer la requête HTTP (telle qu'elle était vue du +serveur) avec un texte choisi. Une extension du protocole a été +développée pour corriger cette vulnérabilité, sous réserve qu'elle soit +supportée par le client et le serveur.

+ +

Si mod_ssl est lié à une version 0.9.8m ou +supérieure d'OpenSSL, par défaut, la renégociation n'est accordée qu'aux +clients qui supportent la nouvelle extension du protocole. Si +cette directive est activée, la renégociation sera accordée aux anciens +clients (non patchés), quoique de manière non sécurisée

+ +

Avertissement à propos de la sécurité

+

Si cette directive est activée, les connexions SSL seront vulnérables +aux attaques de type préfixe Man-in-the-Middle comme décrit dans CVE-2009-3555.

+
+ +

Exemple

SSLInsecureRenegotiation on
+
+ +

La variable d'environnement SSL_SECURE_RENEG peut être +utilisée dans un script SSI ou CGI pour déterminer si la renégociation +sécurisée est supportée pour une connexion SSL donnée.

+ + +
+
top
+

Directive SSLOCSPDefaultResponder

+ + + + + + +
Description:Définit l'URI du répondeur par défaut pour la validation +OCSP
Syntaxe:SSLOCSPDefaultResponder uri
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette directive permet de définir le répondeur OCSP par défaut. Si la +directive SSLOCSPOverrideResponder n'est pas activée, +l'URI spécifié ne sera utilisé que si aucun URI de répondeur n'est +spécifié dans le certificat en cours de vérification.

+ +
+
top
+

Directive SSLOCSPEnable

+ + + + + + + + +
Description:Active la validation OCSP de la chaîne de certificats du +client
Syntaxe:SSLOCSPEnable on|leaf|off
Défaut:SSLOCSPEnable off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Le mode leaf est disponible à partir de la version +2.4.34 du serveur HTTP Apache
+

Cette directive permet d'activer la validation OCSP de la chaîne de +certificats du client. Si elle est activée, les certificats de la chaîne +de certificats du client seront validés auprès d'un répondeur OCSP, une +fois la vérification normale effectuée (vérification des CRLs +incluse). En mode 'leaf', seul le certificat du client sera validé.

+ +

Le répondeur OCSP utilisé est soit extrait du certificat lui-même, +soit spécifié dans la configuration ; voir les directives SSLOCSPDefaultResponder et SSLOCSPOverrideResponder.

+ +

Exemple

SSLVerifyClient on
+SSLOCSPEnable on
+SSLOCSPDefaultResponder "http://responder.example.com:8888/responder"
+SSLOCSPOverrideResponder on
+
+ +
+
top
+

Directive SSLOCSPNoverify

+ + + + + + + + +
Description:Evite la vérification des certificats des répondeurs OCSP
Syntaxe:SSLOCSPNoverify on|off
Défaut:SSLOCSPNoverify off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.26 du serveur HTTP Apache, +sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL
+

Cette directive permet d'éviter la vérification des certificats +des répondeurs OCSP, ce qui peut s'avérer utile lorsqu'on teste un serveur OCSP.

+ +
+
top
+

Directive SSLOCSPOverrideResponder

+ + + + + + + +
Description:Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP
Syntaxe:SSLOCSPOverrideResponder on|off
Défaut:SSLOCSPOverrideResponder off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Force l'utilisation, au cours d'une validation OCSP de certificat, du +répondeur OCSP par défaut spécifié dans la configuration, que le +certificat en cours de vérification fasse mention d'un répondeur OCSP ou +non.

+ +
+
top
+

Directive SSLOCSPProxyURL

+ + + + + + + +
Description:Adresse de mandataire à utiliser pour les requêtes OCSP
Syntaxe:SSLOCSPProxyURL url
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.19 du serveur HTTP Apache
+

Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être +utilisé pour toutes les requêtes vers un répondeur OCSP.

+ +
+
top
+

Directive SSLOCSPResponderCertificateFile

+ + + + + + + +
Description:Fournit un jeu de certificats de confiance du répondeur OCSP avec +encodage PEM
Syntaxe:SSLOCSPResponderCertificateFile file
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.26 du serveur HTTP Apache, +sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL
+

Cette directive permet de définir un fichier contenant une liste de +certificats de confiance du répondeur OCSP à utiliser au cours de la validation +du certificat du répondeur OCSP. Les certificats fournis peuvent +être considérés comme de confiance sans avoir à effectuer de vérifications +supplémentaires. Ce processus de validation du certificat du répondeur OCSP +intervient en général lorsque ce dernier est autosigné ou tout simplement absent +de la réponse OCSP.

+ +
+
top
+

Directive SSLOCSPResponderTimeout

+ + + + + + + +
Description:Délai d'attente pour les requêtes OCSP
Syntaxe:SSLOCSPResponderTimeout secondes
Défaut:SSLOCSPResponderTimeout 10
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette option permet de définir le délai d'attente pour les requêtes à +destination des répondeurs OCSP, lorsque la directive SSLOCSPEnable est à on.

+ +
+
top
+

Directive SSLOCSPResponseMaxAge

+ + + + + + + +
Description:Age maximum autorisé pour les réponses OCSP
Syntaxe:SSLOCSPResponseMaxAge secondes
Défaut:SSLOCSPResponseMaxAge -1
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette option permet de définir l'âge maximum autorisé (la +"fraicheur") des réponses OCSP. La valeur par défault (-1) +signifie qu'aucun âge maximum n'est défini ; autrement dit, les +réponses OCSP sont considérées comme valides tant que la valeur de leur +champ nextUpdate se situe dans le futur.

+ +
+
top
+

Directive SSLOCSPResponseTimeSkew

+ + + + + + + +
Description:Dérive temporelle maximale autorisée pour la validation des +réponses OCSP
Syntaxe:SSLOCSPResponseTimeSkew secondes
Défaut:SSLOCSPResponseTimeSkew 300
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette option permet de définir la dérive temporelle maximale +autorisée pour les réponses OCSP (lors de la vérification des champs +thisUpdate et nextUpdate).

+ +
+
top
+

Directive SSLOCSPUseRequestNonce

+ + + + + + + + +
Description:Use a nonce within OCSP queries
Syntaxe:SSLOCSPUseRequestNonce on|off
Défaut:SSLOCSPUseRequestNonce on
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Available in httpd 2.4.10 and later

La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

+
top
+

Directive SSLOpenSSLConfCmd

+ + + + + + + +
Description:Configuration des paramètres d'OpenSSL via son API SSL_CONF
Syntaxe:SSLOpenSSLConfCmd commande valeur
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.8 du serveur HTTP +Apache avec OpenSSL 1.0.2 ou supérieur
+

Cette directive permet à mod_ssl d'accéder à l'API SSL_CONF +d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des +directives supplémentaires pour mod_ssl lorsque de nouvelles +fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de +ce dernier beaucoup plus souple.

+ +

Le jeu de commandes disponibles pour la directive +SSLOpenSSLConfCmd dépend de la version d'OpenSSL +utilisée pour mod_ssl (la version minimale 1.0.2 est un +prérequis). Pour obtenir la liste des commandes supportées, voir la +section Supported configuration file commands de la page de +manuel d'OpenSSL SSL_CONF_cmd(3).

+ +

Certaines commandes peuvent remplacer des directives existantes +(comme SSLCipherSuite ou +SSLProtocol) ; notez cependant +que la syntaxe et/ou les valeurs possibles peuvent différer.

+ +

Examples

SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference
+SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1
+SSLOpenSSLConfCmd ServerInfoFile
+"/usr/local/apache2/conf/server-info.pem"
+SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2"
+SSLOpenSSLConfCmd SignatureAlgorithms RSA+SHA384:ECDSA+SHA256
+
+ +
+
top
+

Directive SSLOptions

+ + + + + + + +
Description:Configure différentes options d'exécution du moteur SSL
Syntaxe:SSLOptions [+|-]option ...
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:Options
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de contrôler différentes options d'exécution du +moteur SSL dans un contexte de répertoire. Normalement, si plusieurs +SSLOptions peuvent s'appliquer à un répertoire, c'est la +plus spécifique qui est véritablement prise en compte ; les options ne +se combinent pas entre elles. Elles se combinent cependant entre elles +si elles sont toutes précédées par un symbole plus +(+) ou moins (-). Toute option précédée d'un ++ est ajoutée aux options actuellement en vigueur, et toute +option précédée d'un - est supprimée de ces mêmes +options. +

+

+Les options disponibles sont :

+
    +
  • StdEnvVars +

    + Lorsque cette option est activée, le jeu standard de variables + d'environnement SSL relatives à CGI/SSI est créé. Cette option est + désactivée par défaut pour des raisons de performances, car + l'extraction des informations constitue une opération assez coûteuse + en ressources. On n'active donc en général cette option que pour les + requêtes CGI et SSI.

    +
  • +
  • ExportCertData +

    + Lorsque cette option est activée, des variables d'environnement + CGI/SSI supplémentaires sont créées : SSL_SERVER_CERT, + SSL_CLIENT_CERT et + SSL_CLIENT_CERT_CHAIN_n (avec n = + 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du + serveur et du client pour la connexion HTTPS courante, et peuvent + être utilisées par les scripts CGI pour une vérification de + certificat plus élaborée. De plus, tous les autres certificats de la + chaîne de certificats du client sont aussi fournis. Tout ceci gonfle + un peu l'environnement, et c'est la raison pour laquelle vous ne + devez activer cette option qu'à la demande.

    +
  • +
  • FakeBasicAuth +

    + Lorsque cette option est activée, le Nom Distinctif (DN) sujet du + certificat client X509 est traduit en un nom d'utilisateur pour + l'autorisation HTTP de base. Cela signifie que les méthodes + d'authentification standard d'Apache peuvent être utilisées pour le + contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet + du certificat X509 du client (il peut être déterminé en utilisant la + commande OpenSSL openssl x509 : openssl x509 + -noout -subject -in certificat.crt). + Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque + entrée du fichier des utilisateurs doit comporter ce mot de passe : + ``xxj31ZMTZzkVA'', qui est la version chiffrée en DES + du mot ``password''. Ceux qui travaillent avec un + chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS, + etc...) doivent utiliser le condensé MD5 suivant pour le même mot : + ``$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/''.

    + +

    Notez que la directive AuthBasicFake implémentée par le + module mod_auth_basic peut être utilisée d'une + manière plus générale comme simulation d'authentification basique, + ce qui permet de contrôler la structure nom utilisateur/mot de + passe.

    +
  • +
  • StrictRequire +

    + Cette option force l'interdiction d'accès lorsque + SSLRequireSSL ou SSLRequire a décidé que + l'accès devait être interdit. Par défaut, dans le cas où + une directive ``Satisfy any'' est utilisée, et si + d'autres restrictions d'accès ont été franchies, on passe en général + outre l'interdiction d'accès due à SSLRequireSSL ou + SSLRequire (parce que c'est ainsi que le mécanisme + Satisfy d'Apache doit fonctionner). Pour des + restrictions d'accès plus strictes, vous pouvez cependant utiliser + SSLRequireSSL et/ou SSLRequire en + combinaison avec une option ``SSLOptions + +StrictRequire''. Une directive ``Satisfy Any'' + n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de + l'interdire.

    +
  • +
  • OptRenegotiate +

    + Cette option active la gestion optimisée de la renégociation des + connexions SSL intervenant lorsque les directives SSL sont utilisées + dans un contexte de répertoire. Par défaut un schéma strict est + appliqué, et chaque reconfiguration des paramètres SSL au + niveau du répertoire implique une phase de renégociation SSL + complète. Avec cette option, mod_ssl essaie d'éviter les + échanges non nécessaires en effectuant des vérifications de + paramètres plus granulaires (mais tout de même efficaces). + Néanmoins, ces vérifications granulaires peuvent ne pas correspondre + à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer + cette option que dans un contexte de répertoire.

    +
  • +
  • LegacyDNStringFormat +

    + Cette option permet d'agir sur la manière dont les valeurs des + variables SSL_{CLIENT,SERVER}_{I,S}_DN sont formatées. + Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format + compatible avec la RFC 2253. Ce format utilise des virgules comme + délimiteurs entre les attributs, permet l'utilisation de caractères + non-ASCII (qui sont alors convertis en UTF8), échappe certains + caractères spéciaux avec des slashes inversés, et trie les attributs + en plaçant l'attribut "C" en dernière position.

    + +

    Si l'option LegacyDNStringFormat est présente, c'est + l'ancien format qui sera utilisé : les attributs sont triés avec + l'attribut "C" en première position, les séparateurs sont des + slashes non inversés, les caractères non-ASCII ne sont pas supportés + et le support des caractères spéciaux n'est pas fiable. +

    +
  • +
+

Exemple

SSLOptions +FakeBasicAuth -StrictRequire
+<Files ~ "\.(cgi|shtml)$">
+    SSLOptions +StdEnvVars -ExportCertData
+</Files>
+
+ +
+
top
+

Directive SSLPassPhraseDialog

+ + + + + + + +
Description:Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées
Syntaxe:SSLPassPhraseDialog type
Défaut:SSLPassPhraseDialog builtin
Contexte:configuration globale
Statut:Extension
Module:mod_ssl
+

+Lors de son démarrage, Apache doit lire les différents fichiers de +certificats (voir la directive SSLCertificateFile) et de clés privées +(voir la directive SSLCertificateKeyFile) des serveurs +virtuels où SSL est activé. Comme, pour des raisons de sécurité, les +fichiers de clés privées sont en général chiffrés, mod_ssl doit +demander à l'administrateur un mot de passe pour déchiffrer ces +fichiers. L'argument type permet de choisir la manière dont +cette demande peut être formulée parmi les trois suivantes :

+
    +
  • builtin +

    + C'est la méthode par défaut, et un dialogue interactive de terminal + s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du + terminal. A ce moment, l'administrateur doit entrer manuellement un + mot de passe pour chaque fichier de clé privée chiffré. Etant donné + qu'il peut y avoir un grand nombre de serveurs virtuels configurés + avec SSL activé, le protocole de réutilisation suivant est utilisé + pour minimiser le dialogue : lorsqu'un fichier de clé privée est + chiffré, tous les mots de passe connus (au début, il n'y en a aucun, + bien entendu) sont essayés. Si l'un de ces mots de passe connus + convient, aucun dialogue ne s'ouvrira pour ce fichier de + clé privée particulier. Si aucun ne convient, un autre mot de passe + sera demandé à partir du terminal et sera mis en mémoire pour le + fichier de clé privée suivant (pour lequel il pourra éventuellement + être réutilisé).

    +

    + Cette méthode confère à mod_ssl une grande souplesse (car pour N + fichiers de clé privée chiffrés, vous pouvez utiliser N + mots de passe différents - mais vous devrez alors tous les fournir, + bien entendu), tout en minimisant le dialogue de terminal (vous + pouvez en effet utiliser un seul mot de passe pour les N fichiers de + clé privée et vous n'aurez alors à l'entrer qu'une seule + fois).

  • + +
  • |/chemin/vers/programme [arguments...] + +

    Ce mode permet d'utiliser un programme externe qui va se présenter + comme une redirection vers un périphérique d'entrée particulier ; le + texte de prompt standard utilisé pour le mode builtin + est envoyé au programme sur stdin, et celui-ci doit + renvoyer des mots de passe sur stdout. Si + plusieurs mots de passe sont requis (ou si un mot de passe incorrect + a été entré), un texte de prompt supplémentaire sera écrit après le + retour du premier mot de passe, et d'autres mots de passe devront + alors être réécrits.

  • + +
  • exec:/chemin/vers/programme +

    + Ici, un programme externe est appelé au démarrage du serveur pour + chaque fichier de clé privée chiffré.Il est appelé avec deux + arguments (le premier est de la forme + ``nom-serveur:port'', le second + est ``RSA'', ``DSA'', ``ECC'' + ou un index entier commençant à 3 si plus de 3 clés ont été + configurées), qui + indiquent pour quels serveur et algorithme il doit écrire le mot de + passe correspondant sur stdout. Avec les versions 2.4.8 + (non réalisée) et + 2.4.9, il est appelé avec un seul argument, une chaîne de la forme + "servername:portnumber:index" (où index + est un nombre entier commençant à zéro), qui spécifie le serveur, + le port TCP et un numéro de certificat. Le but recherché est + l'exécution de vérifications de sécurité préalables permettant de + s'assurer que le système n'est pas victime d'une attaque, et de ne + fournir le mot de passe que si toutes les vérifications ont été + effectuées avec succès.

    +

    + Ces vérifications de sécurité, ainsi que la manière dont le mot de + passe est déterminé peuvent être aussi sophistiqués que vous le + désirez. Mod_ssl ne définit que l'interface : un programme + exécutable qui écrit le mot de passe sur stdout. Ni + plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière + de sécurité, voici votre interface. Tout le reste doit être confié à + l'administrateur à titre d'exercice, car les besoins en sécurité + locale sont très différents.

    +

    + L'algorithme de réutilisation est utilisé ici aussi. En d'autres + termes, le programme externe n'est appelé qu'une fois par mot de + passe unique.

  • +
+

Exemple

SSLPassPhraseDialog "exec:/usr/local/apache/sbin/pp-filter"
+
+ +
+
top
+

Directive SSLProtocol

+ + + + + + + +
Description:Indique les versions du protocole SSL/TLS +disponibles
Syntaxe:SSLProtocol [+|-]protocole ...
Défaut:SSLProtocol all -SSLv3 (jusqu'à la version 2.4.16 : all)
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir quelles versions du protocole SSL/TLS +seront acceptées lors de l'initialisation d'une nouvelle connexion.

+

+Les protocoles disponibles sont les suivants (sensibles à la +casse) :

+
    +
  • SSLv3 +

    + Il s'agit du protocole Secure Sockets Layer (SSL) version 3.0 de + Netscape Corporation. C'est le successeur de SSLv2 et le + prédécesseur de TLSv1, mais est considéré comme + obsolète dans la RFC + 7568

  • + +
  • TLSv1 +

    + Il s'agit du protocole Transport Layer Security (TLS) version 1.0. + C'est le successeur de SSLv3, et il est défini dans la RFC2246. Il est + supporté par la plupart des clients.

  • + +
  • TLSv1.1 (à partir de la version 1.0.1 d'OpenSSL) +

    + Une révision du protocole TLS 1.0 définie dans la RFC 4346.

  • + +
  • TLSv1.2 (à partir de la version 1.0.1 d'OpenSSL) +

    + Une révision du protocole TLS 1.1 définie dans la RFC 5246.

  • + +
  • TLSv1.3 (à partir de la version 1.1.1 d'OpenSSL) +

    + Une nouvelle version du protocole TLS définie dans la RFC 8446.

  • + +
  • all +

    + C'est un raccourci pour ``+SSLv3 +TLSv1'' ou - à partir + de la version 1.0.1 d'OpenSSL - ``+SSLv3 +TLSv1 +TLSv1.1 + +TLSv1.2'' (sauf si OpenSSL a été compilé avec l'option + ``no-ssl3'', auquel cas all n'inclura pas + +SSLv3).

  • +
+

Exemple

SSLProtocol TLSv1
+
+
+

La directive SSLProtocol et les serveurs virtuels +basés sur le nom

+

+Avant OpenSSL 1.1.1, et même si l'indication du nom de serveur (Server Name +Indication ou SNI) permettait de déterminer le serveur virtuel cible assez tôt +au cours de la négociation TLS, il était impossible de changer de version de +protocole TLS à ce point, si bien que le SSLProtocol +négocié se basait toujours sur celui du serveur virtuel de base (le +premier serveur virtuel déclaré avec le couple IP:port de la +connexion). +

+

+A partir de la version 2.4.42, si le serveur HTTP Apache est compilé avec une +version 1.1.1. ou supérieure d'OpenSSL, et si le client fournit la SNI dans la +négociation TLS, le SSLProtocol de chaque serveur virtuel +(basé sur le nom) pourra être pris en compte et le sera. +

+

+A des fins de compatibilité avec les versions précédentes, si un serveur virtuel +basé sur le nom n'a aucune directive SSLProtocol définie, +c'est le protocole du serveur virtuel de base qui s'appliquera, à +moins qu'une directive SSLProtocol ne soit +configurée au niveau global, auquel cas c'est le protocole défini par cette +directive qui s'appliquera (ce dernier cas relève cependant plus d'un +comportement logique que d'un souci de compatibilité). +

+
+ +
+
top
+

Directive SSLProxyCACertificateFile

+ + + + + + + +
Description:Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants
Syntaxe:SSLProxyCACertificateFile file-path
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir le fichier tout-en-un où sont +stockés les certificats des Autorités de Certification (CA) pour les +serveurs distants auxquels vous avez à faire. On les utilise +lors de l'authentification du serveur distant. Un tel fichier contient +la simple concaténation des différents fichiers de certificats codés en +PEM, classés par ordre de préférence. On peut utiliser cette directive à +la place et/ou en complément de la directive SSLProxyCACertificatePath.

+

Exemple

SSLProxyCACertificateFile
+"/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt"
+
+ +
+
top
+

Directive SSLProxyCACertificatePath

+ + + + + + + +
Description:Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants
Syntaxe:SSLProxyCACertificatePath chemin-répertoire
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de spécifier le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les serveurs +distants auxquels vous avez à faire. On les utilise pour vérifier le +certificat du serveur distant lors de l'authentification de ce +dernier.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLProxyCACertificatePath "/usr/local/apache2/conf/ssl.crt/"
+
+ +
+
top
+

Directive SSLProxyCARevocationCheck

+ + + + + + + + +
Description:Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant
Syntaxe:SSLProxyCARevocationCheck chain|leaf|none
Défaut:SSLProxyCARevocationCheck none
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Active la vérification des révocations basée sur les Listes de +révocations de Certificats (CRL) pour les serveurs distants +auxquels vous vous connectez. A moins une des directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath doit être définie. +Lorsque cette directive est définie à chain (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur leaf limite +la vérification au certificat hors chaîne (la feuille). +

+
+

Lorsque la directive est définie à chain ou +leaf, les CRLs doivent être disponibles pour que la +validation réussisse

+

+Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs doivent être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur "CRL introuvable". +

+
+

Exemple

SSLProxyCARevocationCheck chain
+
+ +
+
top
+

Directive SSLProxyCARevocationFile

+ + + + + + + +
Description:Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants
Syntaxe:SSLProxyCARevocationFile file-path
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir le fichier tout-en-un où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les serveurs distants auxquels vous +avez à faire. On les utilise pour l'authentification des serveurs +distants. Un tel fichier contient la simple concaténation des différents +fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette +directive peut être utilisée à la place et/ou en complément de la +directive SSLProxyCARevocationPath.

+

Exemple

SSLProxyCARevocationFile
+"/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl"
+
+ +
+
top
+

Directive SSLProxyCARevocationPath

+ + + + + + + +
Description:Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants
Syntaxe:SSLProxyCARevocationPath chemin-répertoire
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les serveurs distants auxquels vous avez à faire. On les +utilise pour révoquer les certificats des serveurs distants au cours de +l'authentification de ces derniers.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.rN, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLProxyCARevocationPath "/usr/local/apache2/conf/ssl.crl/"
+
+ +
+
top
+

Directive SSLProxyCheckPeerCN

+ + + + + + + + +
Description:Configuration de la vérification du champ CN du certificat +du serveur distant +
Syntaxe:SSLProxyCheckPeerCN on|off
Défaut:SSLProxyCheckPeerCN on
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir si le champ CN du certificat du serveur +distant doit être comparé au nom de serveur de l'URL de la requête. S'ils ne +correspondent pas, un code d'état 502 (Bad Gateway) est envoyé. A partir de la +version 2.4.5, SSLProxyCheckPeerCN a été remplacé par SSLProxyCheckPeerName. +

+

+De la version 2.4.5 à la version 2.4.20, spécifier SSLProxyCheckPeerName +off était suffisant pour obtenir ce comportement (car la valeur par +défaut de SSLProxyCheckPeerCN était on). Avec ces +versions, les deux directives doivent être définies à off pour +éviter toute validation du nom de certificat du serveur distant, et de +nombreux utilisateurs ont signalé ce comportement comme très perturbant. +

+

+A partir de la version 2.4.21, toutes les configurations qui activent au moins +une des deux directives SSLProxyCheckPeerName ou +SSLProxyCheckPeerCN adopteront le nouveau comportement de la +directive SSLProxyCheckPeerName, et +toutes les configurations qui désactivent une des deux directives +SSLProxyCheckPeerName ou SSLProxyCheckPeerCN +éviteront toute validation du nom de certificat du serveur distant. Seule la +configuration suivante permettra de retrouver la comparaison de CN +traditionnelle pour les versions 2.4.21 et supérieures : +

+

Exemple

SSLProxyCheckPeerCN on
+SSLProxyCheckPeerName off
+
+ +
+
top
+

Directive SSLProxyCheckPeerExpire

+ + + + + + + + +
Description:Configuration de la vérification de l'expiration du +certificat du serveur distant +
Syntaxe:SSLProxyCheckPeerExpire on|off
Défaut:SSLProxyCheckPeerExpire on
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir si l'expiration du certificat du +serveur distant doit être vérifiée ou non. Si la vérification échoue, un +code d'état 502 (Bad Gateway) est envoyé. +

+

Exemple

SSLProxyCheckPeerExpire on
+
+ +
+
top
+

Directive SSLProxyCheckPeerName

+ + + + + + + + +
Description:Configure la vérification du nom d'hôte dans les +certificats serveur distants +
Syntaxe:SSLProxyCheckPeerName on|off
Défaut:SSLProxyCheckPeerName on
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de configurer la vérification du nom d'hôte pour +les certificats serveur lorsque mod_ssl agit en tant que client SSL. La +vérification réussit si le nom d'hôte de l'URI de la requête correspond à un +des attributs CN du sujet du certificat, ou à l'extension subjectAltName. Si la +vérification échoue, la requête SSL +avorte, et un code d'erreur 502 (Bad Gateway) est renvoyé. +

+

+Les caractères génériques sont supportés dans certains cas bien spécifiques : +une entrée subjectAltName de type dNSName ou les attributs CN +commençant par *. correspondront à tout nom d'hôte comportant +le même nombre de champs et le même suffixe ; par exemple, +*.example.org correspondra à foo.example.org, +mais pas à foo.bar.example.org car le nombre d'éléments dans les +nom est différent. +

+

+Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la +directive SSLProxyCheckPeerCN qui ne +comparait que la valeur exacte du premier attribut CN avec le nom d'hôte. +Cependant, de nombreux utilisateurs étaient déconcertés par le comportement +induit par l'utilisation de ces deux directives individuellement, si bien que ce +comportement a été amélioré avec la version 2.4.21. Voir la description de la +directive SSLProxyCheckPeerCN pour le +comportement original et des détails à propos de ces améliorations. +

+ +
+
top
+

Directive SSLProxyCipherSuite

+ + + + + + + + +
Description:Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire
Syntaxe:SSLProxyCipherSuite [protocol] cipher-spec
Défaut:SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

Cette directive est équivalente à la directive SSLCipherSuite, mais s'applique à une connexion de +mandataire. Veuillez vous reporter à la directive SSLCipherSuite pour plus d'informations.

+ +
+
top
+

Directive SSLProxyEngine

+ + + + + + + + +
Description:Interrupteur marche/arrêt du moteur de mandataire +SSL
Syntaxe:SSLProxyEngine on|off
Défaut:SSLProxyEngine off
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet d'activer/désactiver l'utilisation du moteur de +protocole SSL/TLS pour le mandataire. On l'utilise en général à +l'intérieur d'une section <VirtualHost> pour activer le protocole SSL/TLS +dans le cadre d'un mandataire pour un serveur virtuel particulier. Par +défaut, le moteur de protocole SSL/TLS est désactivé pour la fonction de +mandataire du serveur principal et de tous les serveurs virtuels +configurés.

+ +

Notez que la directive SSLProxyEngine ne doit +généralement pas être utilisée dans le cadre d'un serveur virtuel qui agit en +tant que mandataire direct (via les directives <Proxy> ou ProxyRequests). +SSLProxyEngine n'est pas nécessaire pour activer un +serveur mandataire direct pour les requêtes SSL/TLS.

+ + +

Exemple

<VirtualHost _default_:443>
+    SSLProxyEngine on
+    #...
+</VirtualHost>
+
+ +
+
top
+

Directive SSLProxyMachineCertificateChainFile

+ + + + + + + +
Description:Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat
Syntaxe:SSLProxyMachineCertificateChainFile nom-fichier
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir le fichier global où est enregistrée +la chaîne de certification pour tous les certificats clients utilisés. +Elle est nécessaire si le serveur distant présente une liste de +certificats de CA qui ne sont pas les signataires directs d'un des +certificats clients configurés. +

+

+Ce fichier contient tout simplement la concaténation des différents +fichiers de certificats encodés PEM. Au démarrage, chaque certificat +client configuré est examiné et une chaîne de certification est +construite. +

+

Avertissement en matière de sécurité

+

Si cette directive est définie, tous les certificats contenus dans le +fichier spécifié seront considérés comme étant de confiance, comme s'ils +étaient aussi désignés dans la directive SSLProxyCACertificateFile.

+
+

Exemple

SSLProxyMachineCertificateChainFile
+"/usr/local/apache2/conf/ssl.crt/proxyCA.pem"
+
+ +
+
top
+

Directive SSLProxyMachineCertificateFile

+ + + + + + + +
Description:Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser
Syntaxe:SSLProxyMachineCertificateFile chemin-fichier
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir le fichier tout-en-un où sont stockés +les clés et certificats permettant au serveur mandataire de +s'authentifier auprès des serveurs distants. +

+

+Le fichier spécifié est la simple concaténation des différents fichiers de +certificats codés en PEM. Cette directive s'utilise à la place ou en complément +de la directive SSLProxyMachineCertificatePath. Le fichier spécifié +peut contenir un nombre quelconque de paires certificat client/clé privée +associée, et chaque paire peut être spécifiée selon l'ordre (certificat, clé) ou +(clé, certificat). Des certificats non-feuilles (CA) peuvent aussi être inclus +dans le fichier et sont traités comme s'ils avaient été définis via la directive +SSLProxyMachineCertificateChainFile. +

+ +

Lorsqu'un serveur distant sollicite le serveur pour obtenir un certificat +client, ce dernier doit fournir une liste de noms d'autorités de +certification acceptables au cours de la négociation. Si cette liste n'est +pas fournie, mod_ssl utilisera la première paire certificat/clé +client définie. Si par contre cette liste est fournie, +mod_ssl va la parcourir afin de trouver un certificat client +défini qui a été fourni soit directement par l'autorité de certification +considérée, soit indirectement via un nombre quelconque de certificats d'autorités de +certification intermédiaires. La chaîne de certificats d'autorités de +certification intermédiaires peut être construite à partir de ceux qui sont +inclus dans le fichier ou configurés +via la directive SSLProxyMachineCertificateChainFile. Le premier +certificat défini correspondant sera alors fourni comme réponse au cours de la +négociation

+ +

Si la liste de noms de CA est fournie au serveur distant, et si +aucun certificat client correspondant n'est trouvé, aucun certificat +client ne sera fourni par mod_ssl, ce qui fera probablement +échouer la négociation SSL/TLS (en fonction de la configuration du serveur +distant).

+ +
+

Actuellement, les clés privées chiffrées ne sont pas supportées.

+
+
+

Seules les clés au format PKCS1 RSA, DSA ou EC sont supportées. Les clés +au format PKCS8, autrement dit celles commençant par "-----BEGIN +PRIVATE KEY-----", doivent être converties via une commande du style +"openssl rsa -in private-pkcs8.pem -outform pem".

+
+

Exemple

SSLProxyMachineCertificateFile
+"/usr/local/apache2/conf/ssl.crt/proxy.pem"
+
+ +
+
top
+

Directive SSLProxyMachineCertificatePath

+ + + + + + + +
Description:Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser
Syntaxe:SSLProxyMachineCertificatePath chemin-répertoire
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir le répertoire où sont stockés les clés +et certificats clients permettant au serveur mandataire de s'authentifier auprès +des serveurs distants. +

+

mod_ssl va essayer de charger tous les fichiers contenus dans le répertoire +spécifié, comme si ces derniers étaient définis individuellement via la +directive SSLProxyMachineCertificateFile.

+ +
+

Actuellement, les clés privées chiffrées ne sont pas supportées.

+
+
+

Seules les clés au format PKCS1 RSA, DSA ou EC sont supportées. Les clés +au format PKCS8, autrement dit celles commençant par "-----BEGIN +PRIVATE KEY-----", doivent être converties via une commande du style +"openssl rsa -in private-pkcs8.pem -outform pem".

+
+

Exemple

SSLProxyMachineCertificatePath "/usr/local/apache2/conf/proxy.crt/"
+
+ +
+
top
+

Directive SSLProxyProtocol

+ + + + + + + + +
Description:Définit les protocoles SSL disponibles pour la fonction de +mandataire
Syntaxe:SSLProxyProtocol [+|-]protocole ...
Défaut:SSLProxyProtocol all -SSLv3 (jusqu'à la version 2.4.16: all)
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+ +

+Cette directive permet de définir les protocoles SSL que mod_ssl peut +utiliser lors de l'élaboration de son environnement de serveur pour la +fonction de mandataire. Il ne se connectera qu'aux serveurs utilisant un +des protocoles spécifiés.

+

Veuillez vous reporter à la directive SSLProtocol pour plus d'informations. +

+ +
+
top
+

Directive SSLProxyVerify

+ + + + + + + + +
Description:Niveau de vérification du certificat du serveur +distant
Syntaxe:SSLProxyVerify niveau
Défaut:SSLProxyVerify none
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+ +

Lorsqu'un mandataire est configuré pour faire suivre les requêtes +vers un serveur SSL distant, cette directive permet de configurer la +vérification du certificat de ce serveur distant.

+ +

+Les valeurs de niveaux disponibles sont les suivantes :

+
    +
  • none: + aucun certificat n'est requis pour le serveur distant
  • +
  • optional: + le serveur distant peut présenter un certificat valide
  • +
  • require: + le serveur distant doit présenter un certificat valide
  • +
  • optional_no_ca: + le serveur distant peut présenter un certificat valide
    + mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).
  • +
+

En pratique, seuls les niveaux none et +require sont vraiment intéressants, car le niveau +optional ne fonctionne pas avec tous les serveurs, et +le niveau optional_no_ca va tout à fait à l'encontre de +l'idée que l'on peut se faire de l'authentification (mais peut tout de +même être utilisé pour établir des pages de test SSL, etc...).

+ +

Exemple

SSLProxyVerify require
+
+ +
+
top
+

Directive SSLProxyVerifyDepth

+ + + + + + + + +
Description:Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant
Syntaxe:SSLProxyVerifyDepth niveau
Défaut:SSLProxyVerifyDepth 1
Contexte:configuration globale, serveur virtuel, section proxy
Statut:Extension
Module:mod_ssl
Compatibilité:Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache
+

+Cette directive permet de définir le niveau de profondeur maximum +jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de +décider que le serveur distant ne possède pas de certificat valide.

+

+La profondeur correspond en fait au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats +de CA que l'on peut consulter lors de la vérification du certificat du +serveur distant. Une profondeur de 0 signifie que seuls les certificats +de serveurs distants auto-signés sont acceptés, et la profondeur par +défaut de 1 que le certificat du serveur distant peut être soit +auto-signé, soit signé par une CA connue directement du serveur (en +d'autres termes, le certificat de CA est référencé par la directive +SSLProxyCACertificatePath), +etc...

+

Exemple

SSLProxyVerifyDepth 10
+
+ +
+
top
+

Directive SSLRandomSeed

+ + + + + + +
Description:Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG)
Syntaxe:SSLRandomSeed contexte source +[nombre]
Contexte:configuration globale
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir une ou plusieurs sources de +déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans +OpenSSL au démarrage du serveur (si contexte a pour valeur +startup) et/ou juste avant l'établissement d'une nouvelle +connexion SSL (si contexte a pour valeur connect). +Cette directive ne peut être utilisée qu'au niveau du serveur global car +le PRNG est un service global.

+

+Les différentes valeurs de source disponibles sont :

+
    +
  • builtin +

    Cette source de déclenchement intégrée est toujours disponible. Son + utilisation consomme un minimum de cycles CPU en cours d'exécution, et son + utilisation ne présente de ce fait aucun problème. La source utilisée pour + déclencher le PRNG contient la date courante, l'identifiant du processus + courant et un extrait de 128 octets aléatoirement choisi dans la pile. Ceci + présente un inconvénient car le caractère aléatoire de cette source n'est + pas vraiment fort, et au démarrage (lorsque la structure d'échanges n'est + pas encore disponible), cette source ne produit que quelques octets + d'entropie. Vous devez donc toujours utiliser une source de déclenchement + additionnelle, au moins pour le démarrage.

  • +
  • file:/chemin/vers/source +

    + Cette variante utilise un fichier externe + file:/chemin/vers/source comme source de déclenchement + du PRNG. Lorsque nombre est spécifié, seuls les + nombre premiers octets du fichier forment l'entropie (et + nombre est fourni comme premier argument à + /chemin/vers/source). Lorsque nombre n'est pas + spécifié, l'ensemble du fichier forme l'entropie (et 0 + est fourni comme premier argument à + /chemin/vers/source). Utilisez cette source en + particulier au démarrage, par exemple avec un fichier de + périphérique /dev/random et/ou + /dev/urandom (qui sont en général présent sur les + plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).

    +

    Soyez cependant prudent : en général, + /dev/random ne fournit que l'entropie dont il dispose + réellement ; en d'autres termes, lorsque vous demandez 512 octets + d'entropie, si le périphérique ne dispose que de 100 octets, deux + choses peuvent se produire : sur certaines plates-formes, vous ne + recevez que les 100 octets, alors que sur d'autres, la lecture se + bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible + (ce qui peut prendre beaucoup de temps). Il est préférable ici + d'utiliser le périphérique /dev/urandom, car il ne se + bloque jamais et fournit vraiment la quantité de données demandées. + Comme inconvénient, les données reçues ne sont pas forcément de la + meilleure qualité.

  • + +
  • exec:/chemin/vers/programme +

    + Cette variante utilise un exécutable externe + /chemin/vers/programme comme source de déclenchement du + PRNG. Lorsque nombre est spécifié, seules les + nombre premiers octets de son flux stdout + forment l'entropie. Lorsque nombre n'est pas spécifié, + l'intégralité des données produites sur stdout forment + l'entropie. N'utilisez cette variante qu'au démarrage où une source + de déclenchement fortement aléatoire est nécessaire, en utilisant + un programme externe (comme dans l'exemple + ci-dessous avec l'utilitaire truerand basé sur la + bibliothèque truerand de AT&T que vous trouverez + dans la distribution de mod_ssl). Bien entendu, l'utilisation de + cette variante dans un contexte "connection" ralentit le serveur de + manière trop importante, et en général, vous devez donc éviter + d'utiliser des programmes externes dans ce contexte.

  • +
  • egd:/chemin/vers/socket-egd (Unix seulement) +

    Cette variante utilise le socket de domaine Unix du Démon + Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD + (voir http://www.lothar.com/tech + /crypto/) pour déclencher le PRNG. N'utilisez cette variante que + si votre plate-forme ne possède pas de périphérique random ou + urandom.

  • +
+

Exemple

SSLRandomSeed startup builtin
+SSLRandomSeed startup "file:/dev/random"
+SSLRandomSeed startup "file:/dev/urandom" 1024
+SSLRandomSeed startup "exec:/usr/local/bin/truerand" 16
+SSLRandomSeed connect builtin
+SSLRandomSeed connect "file:/dev/random"
+SSLRandomSeed connect "file:/dev/urandom" 1024
+
+ +
+
top
+

Directive SSLRenegBufferSize

+ + + + + + + + +
Description:Définit la taille du tampon de renégociation +SSL
Syntaxe:SSLRenegBufferSize taille
Défaut:SSLRenegBufferSize 131072
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ssl
+ +

Si une renégociation SSL est requise dans un contexte de répertoire, +par exemple avec l'utilisation de SSLVerifyClient dans un bloc Directory ou +Location, mod_ssl doit mettre en tampon en mémoire tout corps de requête +HTTP en attendant qu'une nouvelle initialisation de connexion SSL puisse +être effectuée. Cette directive permet de définir la quantité de mémoire +à allouer pour ce tampon.

+ +

+Notez que dans de nombreuses configurations, le client qui envoie un +corps de requête n'est pas forcément digne de confiance, et l'on doit +par conséquent prendre en considération la possibilité d'une attaque de +type déni de service lorsqu'on modifie la valeur de cette directive. +

+ +

Exemple

SSLRenegBufferSize 262144
+
+ +
+
top
+

Directive SSLRequire

+ + + + + + + +
Description:N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie
Syntaxe:SSLRequire expression
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ssl
+

SSLRequire est obsolète

+

SSLRequire est obsolète et doit en général être +remplacée par l'expression Require. La syntaxe ap_expr de l'expression Require est +une extension de la syntaxe de SSLRequire, avec les +différences suivantes :

+ +

Avec SSLRequire, les opérateurs de comparaison +<, <=, ... sont strictement équivalents +aux opérateurs lt, le, ... , et fonctionnent +selon une méthode qui compare tout d'abord la longueur des deux chaînes, +puis l'ordre alphabétique. Les expressions ap_expr, quant à elles, possèdent deux jeux +d'opérateurs de comparaison : les opérateurs <, +<=, ... effectuent une comparaison alphabétique de +chaînes, alors que les opérateurs -lt, -le, +... effectuent une comparaison d'entiers. Ces derniers possèdent aussi +des alias sans tiret initial : lt, le, ... +

+ +
+ +

Cette directive permet de spécifier une condition générale d'accès +qui doit être entièrement satisfaite pour que l'accès soit autorisé. +C'est une directive très puissante, car la condition d'accès spécifiée +est une expression booléenne complexe et arbitraire contenant un nombre +quelconque de vérifications quant aux autorisations d'accès.

+

+L'expression doit respecter la syntaxe suivante (fournie ici +sous la forme d'une notation dans le style de la grammaire BNF) :

+
+
expr     ::= "true" | "false"
+           | "!" expr
+           | expr "&&" expr
+           | expr "||" expr
+           | "(" expr ")"
+           | comp
+
+comp     ::= word "==" word | word "eq" word
+           | word "!=" word | word "ne" word
+           | word "<"  word | word "lt" word
+           | word "<=" word | word "le" word
+           | word ">"  word | word "gt" word
+           | word ">=" word | word "ge" word
+           | word "in" "{" wordlist "}"
+           | word "in" "PeerExtList(" word ")"
+           | word "=~" regex
+           | word "!~" regex
+
+wordlist ::= word
+           | wordlist "," word
+
+word     ::= digit
+           | cstring
+           | variable
+           | function
+
+digit    ::= [0-9]+
+cstring  ::= "..."
+variable ::= "%{" varname "}"
+function ::= funcname "(" funcargs ")"
+
+

Pour varname, toute variable décrite dans Variables d'environnement pourra être utilisée. +Pour funcname, vous trouverez la liste des fonctions +disponibles dans la documentation +ap_expr.

+ +

expression est interprétée et traduite +sous une forme machine interne lors du chargement de la configuration, +puis évaluée lors du traitement de la requête. Dans le contexte des +fichiers .htaccess, expression est interprétée et exécutée +chaque fois que le fichier .htaccess intervient lors du traitement de la +requête.

+

Exemple

SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)-/                   \
+            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd."          \
+            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}    \
+            and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5          \
+            and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20       ) \
+           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+
+ + +

La fonction PeerExtList(identifiant objet) +recherche une instance d'extension de certificat X.509 identifiée par +identifiant objet (OID) dans le certificat client. L'expression est +évaluée à true si la partie gauche de la chaîne correspond exactement à +la valeur d'une extension identifiée par cet OID (Si plusieurs +extensions possèdent le même OID, l'une d'entre elles au moins doit +correspondre). +

+ +

Exemple

SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")
+
+ +

Notes à propos de la fonction PeerExtList

+ +
    + +
  • L'identifiant objet peut être spécifié soit comme un nom +descriptif reconnu par la bibliothèque SSL, tel que +"nsComment", soit comme un OID numérique tel que +"1.2.3.4.5.6".

  • + +
  • Les expressions contenant des types connus de la bibliothèque +SSL sont transformées en chaînes avant comparaison. Pour les extensions +contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer +d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaires UTF8String, +IA5String, VisibleString, ou BMPString. Si l'extension correspond à un +de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis +comparée avec la partie gauche de l'expression.

  • + +
+
+ + +

Voir aussi

+ +
+
top
+

Directive SSLRequireSSL

+ + + + + + + +
Description:Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL
Syntaxe:SSLRequireSSL
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS) +n'est pas activé pour la connexion courante. Ceci est très pratique dans +un serveur virtuel où SSL est activé ou dans un répertoire pour se +protéger des erreurs de configuration qui pourraient donner accès à des +ressources protégées. Lorsque cette directive est présente, toutes les +requêtes qui n'utilisent pas SSL sont rejetées.

+

Exemple

SSLRequireSSL
+
+ +
+
top
+

Directive SSLSessionCache

+ + + + + + + +
Description:Type du cache de session SSL global et +inter-processus
Syntaxe:SSLSessionCache type
Défaut:SSLSessionCache none
Contexte:configuration globale
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de configurer le type de stockage du cache de +session SSL global et inter-processus. Ce cache est une fonctionnalité +optionnelle qui accélère le traitement parallèle des requêtes. Pour ce +qui est des requêtes vers un même processus du serveur (via HTTP +keep-alive), OpenSSL met en cache les informations de session SSL en +interne. Mais comme les clients modernes demandent des images en ligne +et d'autres données via des requêtes parallèles (un nombre de quatre +requêtes parallèles est courant), ces requêtes vont être servies par +plusieurs processus du serveur pré-déclenchés. Ici, un cache +inter-processus permet d'éviter des négociations de session +inutiles.

+

+Les quatre types de stockage suivants sont actuellement +supportés :

+
    +
  • none + +

    Cette valeur désactive le cache de session global et + inter-processus, ce qui va ralentir le serveur de manière sensible + et peut poser problème avec certains navigateurs, en particulier si + les certificats clients sont activés. Cette configuration n'est pas + recommandée.

  • + +
  • nonenotnull + +

    Cette valeur désactive tout cache de session global et + inter-processus. Cependant, elle force OpenSSL à envoyer un + identifiant de session non nul afin de s'adapter aux clients bogués + qui en nécessitent un.

  • + +
  • dbm:/chemin/vers/fichier-données + +

    Cette valeur utilise un fichier de hashage DBM sur disque local + pour synchroniser les caches OpenSSL locaux en mémoire des processus + du serveur. Ce cache de session peut être sujet à des problèmes de + fiabilité sous forte charge. Pour l'utiliser, le module + mod_socache_dbm doit être chargé.

  • + +
  • shmcb:/chemin/vers/fichier-données[(nombre)] + +

    Cette valeur utilise un tampon cyclique à hautes performances + (d'une taille d'environ nombre octets) dans un segment de + mémoire partagée en RAM (établi via + /chemin/vers/fichier-données, pour synchroniser les + caches OpenSSL locaux en mémoire des processus du serveur. C'est le + type de cache de session recommandé. Pour l'utiliser, le module + mod_socache_shmcb doit être chargé.

  • + +
  • dc:UNIX:/chemin/vers/socket + +

    Cette valeur utilise les bibliothèques de mise en cache de + sessions distribuée sur distcache. + L'argument doit spécifier le serveur ou mandataire à utiliser en + utilisant la syntaxe d'adressage distcache ; par exemple, + UNIX:/chemin/vers/socket spécifie une socket de domaine + Unix (en général un mandataire de dc_client local) ; + IP:serveur.example.com:9001 spécifie une adresse IP. + Pour l'utiliser, le module mod_socache_dc doit être + chargé.

  • + +
+ +

Exemples

SSLSessionCache "dbm:/usr/local/apache/logs/ssl_gcache_data"
+SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)"
+
+ +

Le mutex ssl-cache permet de sérialiser l'accès au cache +de session afin d'éviter toute corruption. Ce mutex peut être configuré +via la directive Mutex.

+ +
+
top
+

Directive SSLSessionCacheTimeout

+ + + + + + + + +
Description:Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions
Syntaxe:SSLSessionCacheTimeout secondes
Défaut:SSLSessionCacheTimeout 300
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:S'applique aussi à la reprise de session TLS (RFC 5077) à +partir de la version 2.4.10 du serveur HTTP Apache
+

+Cette directive permet de définir la durée de vie en secondes des +informations stockées dans le cache de sessions SSL global et +inter-processus, dans le cache OpenSSL interne en mémoire et pour +les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut +être définie à une valeur d'environ 15 à des fins de test, mais à une +valeur très supérieure comme 300 en production.

+

Exemple

SSLSessionCacheTimeout 600
+
+ +
+
top
+

Directive SSLSessionTicketKeyFile

+ + + + + + + +
Description:Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS
Syntaxe:SSLSessionTicketKeyFile file-path
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.0 du serveur HTTP +Apache, sous réserve que l'on utilise une version 0.9.8h ou supérieure +d'OpenSSL
+

Cette directive permet de définir une clé secrète pour le chiffrement +et le déchiffrement des tickets de session TLS selon les préconisations +de la RFC 5077. Elle a +été conçue à l'origine pour les environnements de clusters où les +données des sessions TLS doivent être partagées entre plusieurs noeuds. +Pour les configurations ne comportant qu'une seule instance de httpd, il +est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au +démarrage du serveur.

+

Le fichier doit contenir 48 octets de données aléatoires créées de +préférence par une source à haute entropie. Sur un système de type UNIX, +il est possible de créer le fichier contenant la clé de la manière +suivante :

+ +

+dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48 +

+ +

Ces clés doivent être renouvelées fréquemment, car il s'agit du seul +moyen d'invalider un ticket de session existant - OpenSSL ne permet pas +actuellement de spécifier une limite à la durée de +vie des tickets. Une nouvelle clé ne peut être utilisée qu'après avoir +redémarré le serveur. Tous les tickets de session existants deviennent +invalides après le redémarrage du serveur.

+ +
+

Ce fichier contient des données sensibles et doit donc être protégé +par des permissions similaires à celles du fichier spécifié par la +directive SSLCertificateKeyFile.

+
+ +
+
top
+

Directive SSLSessionTickets

+ + + + + + + + +
Description:Active ou désactive les tickets de session TLS
Syntaxe:SSLSessionTickets on|off
Défaut:SSLSessionTickets on
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.11 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 0.9.8f ou supérieure. +
+

Cette directive permet d'activer ou de désactiver l'utilisation des +tickets de session TLS (RFC 5077).

+
+

Les tickets de session TLS sont activés par défaut. Les utiliser sans +redémarrer le serveur selon une périodicité appropriée (par exemple +quotidiennement) compromet cependant le niveau de confidentialité.

+
+ +
+
top
+

Directive SSLSRPUnknownUserSeed

+ + + + + + + +
Description:Source d'aléa pour utilisateur SRP inconnu
Syntaxe:SSLSRPUnknownUserSeed secret-string
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.4 du serveur HTTP +Apache, si la version 1.0.1 ou supérieure d'OpenSSL est utilisée.
+

+Cette directive permet de définir la source d'aléa à utiliser +pour les utilisateurs SRP inconnus, ceci afin de combler les manques en +cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si +cette directive n'est pas définie, Apache renverra une alerte +UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur +inconnu. +

+

Exemple

+SSLSRPUnknownUserSeed "secret" +

+ +
+
top
+

Directive SSLSRPVerifierFile

+ + + + + + + +
Description:Chemin du fichier de vérification SRP
Syntaxe:SSLSRPVerifierFile file-path
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.4 du serveur HTTP +Apache, si la version 1.0.1 ou supérieure d'OpenSSL est utilisée.
+

+Cette directive permet d'activer TLS-SRP et de définir le chemin du +fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé) +contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les +"grains de sel" (salts), ainsi que les paramètres de groupe.

+

Exemple

+SSLSRPVerifierFile "/path/to/file.srpv" +

+

+Le fichier de vérification peut être créé via l'utilitaire en ligne de +commande openssl :

+

Création du fichier de vérification SRP

+openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +

+

La valeur affectée au paramètre optionnel -userinfo est +enregistrée dans la variable d'environnement +SSL_SRP_USERINFO.

+ + +
+
top
+

Directive SSLStaplingCache

+ + + + + + + +
Description:Configuration du cache pour l'agrafage OCSP
Syntaxe:SSLStaplingCache type
Contexte:configuration globale
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Si SSLUseStapling est à "on", +cette directive permet de configurer le cache destiné à stocker les +réponses OCSP incluses dans la négociation TLS. La configuration d'un +cache est obligatoire pour pouvoir utiliser l'agrafage OCSP. A +l'exception de none et nonenotnull, cette +directive supporte les mêmes types de stockage que la directive +SSLSessionCache.

+ + +
+
top
+

Directive SSLStaplingErrorCacheTimeout

+ + + + + + + + +
Description:Durée de vie des réponses invalides dans le cache pour +agrafage OCSP
Syntaxe:SSLStaplingErrorCacheTimeout secondes
Défaut:SSLStaplingErrorCacheTimeout 600
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir la durée de vie des réponses +invalides dans le cache pour agrafage OCSP configuré via la +directive SSLStaplingCache. Pour +définir la durée de vie des réponses valides, voir la directive +SSLStaplingStandardCacheTimeout.

+ +
+
top
+

Directive SSLStaplingFakeTryLater

+ + + + + + + + +
Description:Génère une réponse "tryLater" pour les requêtes OCSP échouées
Syntaxe:SSLStaplingFakeTryLater on|off
Défaut:SSLStaplingFakeTryLater on
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Lorsque cette directive est activée, et si une requête vers un +serveur OCSP à des fins d'inclusion dans une négociation TLS échoue, +mod_ssl va générer une réponse "tryLater" pour le client (SSLStaplingReturnResponderErrors doit être +activée).

+ +
+
top
+

Directive SSLStaplingForceURL

+ + + + + + + +
Description:Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat
Syntaxe:SSLStaplingForceURL uri
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de remplacer l'URI du serveur OCSP extraite de +l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer +utile lorsqu'on passe par un mandataire

+ +
+
top
+

Directive SSLStaplingResponderTimeout

+ + + + + + + + +
Description:Temps d'attente maximum pour les requêtes vers les serveurs +OCSP
Syntaxe:SSLStaplingResponderTimeout secondes
Défaut:SSLStaplingResponderTimeout 10
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir le temps d'attente maximum lorsque +mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une +réponse destinée à être incluse dans les négociations TLS avec les +clients (SSLUseStapling doit +avoir été activée au préalable).

+ +
+
top
+

Directive SSLStaplingResponseMaxAge

+ + + + + + + + +
Description:Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS
Syntaxe:SSLStaplingResponseMaxAge secondes
Défaut:SSLStaplingResponseMaxAge -1
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir l'âge maximum autorisé +("fraîcheur") des réponses OCSP incluses dans la négociation TLS +(SSLUseStapling doit +avoir été activée au préalable). La valeur par défaut (-1) +ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont +considérées comme valides à partir du moment où le contenu de leur champ +nextUpdate se trouve dans le futur.

+ +
+
top
+

Directive SSLStaplingResponseTimeSkew

+ + + + + + + + +
Description:Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS
Syntaxe:SSLStaplingResponseTimeSkew secondes
Défaut:SSLStaplingResponseTimeSkew 300
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de spécifier l'intervalle de temps maximum que +mod_ssl va calculer en faisant la différence entre les contenus des +champs nextUpdate et thisUpdate des réponses +OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette +directive, SSLUseStapling doit +être à "on".

+ +
+
top
+

Directive SSLStaplingReturnResponderErrors

+ + + + + + + + +
Description:Transmet au client les erreurs survenues lors des requêtes +OCSP
Syntaxe:SSLStaplingReturnResponderErrors on|off
Défaut:SSLStaplingReturnResponderErrors on
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Lorsque cette directive est activée, mod_ssl va transmettre au client les +réponses concernant les requêtes OCSP +échouées (comme les réponses avec un statut général autre que +"successful", les réponses avec un statut de certificat autre que +"good", les réponses arrivées à expiration, etc...). +Lorsqu'elle est à off, seules les réponses avec un +statut de certificat égal à "good" seront incluses dans la négociation +TLS.

+ +
+
top
+

Directive SSLStaplingStandardCacheTimeout

+ + + + + + + + +
Description:Durée de vie des réponses OCSP dans le cache
Syntaxe:SSLStaplingStandardCacheTimeout secondes
Défaut:SSLStaplingStandardCacheTimeout 3600
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir la durée de vie des réponses OCSP +dans le cache configuré via la directive SSLStaplingCache. Elle ne s'applique qu'aux +réponse valides, alors que la directive SSLStaplingErrorCacheTimeout s'applique aux +réponses invalides ou non disponibles. +

+ +
+
top
+

Directive SSLStrictSNIVHostCheck

+ + + + + + + + +
Description:Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. +
Syntaxe:SSLStrictSNIVHostCheck on|off
Défaut:SSLStrictSNIVHostCheck off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.2.12 d'Apache
+

+Cette directive permet de contrôler l'accès des clients non-SNI à un serveur +virtuel à base de nom. Si elle est définie à on dans le +serveur virtuel à base de nom par défaut, les +clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel +appartenant à cette combinaison IP/port. Par +contre, si elle est définie à on dans un serveur virtuel +quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce +serveur. +

+ +

+Cette option n'est disponible que si httpd a été compilé avec une +version d'OpenSSL supportant SNI. +

+ +

Exemple

SSLStrictSNIVHostCheck on
+
+ +
+
top
+

Directive SSLUserName

+ + + + + + + +
Description:Nom de la variable servant à déterminer le nom de +l'utilisateur
Syntaxe:SSLUserName nom-var
Contexte:configuration globale, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette variable permet de définir le champ "user" de l'objet de la +requête Apache. Ce champ est utilisé par des modules de plus bas niveau +pour identifier l'utilisateur avec une chaîne de caractères. En +particulier, l'utilisation de cette directive peut provoquer la +définition de la variable d'environnement REMOTE_USER. +La valeur de l'argument nom-var peut correspondre à toute variable d'environnement SSL.

+ +

Notez que cette directive est sans effet si l'option +FakeBasicAuth est utilisée (voir SSLOptions).

+ +

Exemple

SSLUserName SSL_CLIENT_S_DN_CN
+
+ +
+
top
+

Directive SSLUseStapling

+ + + + + + + + +
Description:Active l'ajout des réponses OCSP à la négociation TLS
Syntaxe:SSLUseStapling on|off
Défaut:SSLUseStapling off
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet d'activer l'"Agrafage OCSP" (OCSP stapling) +selon la définition de l'extension TLS "Certificate Status Request" +fournie dans la RFC 6066. Si elle est activée et si le client le +demande, mod_ssl va inclure une réponse OCSP à propos de son propre +certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage +OCSP, il est nécessaire de configurer un SSLStaplingCache.

+ +

L'agrafage OCSP dispense le client de requérir le serveur OCSP +directement ; il faut cependant noter que selon les spécifications de la +RFC 6066, la réponse CertificateStatus du serveur ne peut +inclure une réponse OCSP que pour un seul certificat. Pour les +certificats de serveur comportant des certificats de CA intermédiaires +dans leur chaîne (c'est un cas typique de nos jours), l'implémentation +actuelle de l'agrafage OCSP n'atteint que partiellement l'objectif d' +"économie en questions/réponse et en ressources". Pour plus de détails, +voir la RFC 6961 (TLS +Multiple Certificate Status Extension). +

+ +

Lorsque l'agrafage OCSP est activé, le mutex +ssl-stapling contrôle l'accès au cache de l'agrafage OCSP +afin de prévenir toute corruption, et le mutex +sss-stapling-refresh contrôle le raffraîchissement des +réponses OCSP. Ces mutex peuvent être configurés via la directive +Mutex. +

+ +
+
top
+

Directive SSLVerifyClient

+ + + + + + + + +
Description:Niveau de vérification du certificat client
Syntaxe:SSLVerifyClient niveau
Défaut:SSLVerifyClient none
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le niveau de vérification du +certificat pour l'authentification du client. Notez que cette directive +peut être utilisée à la fois dans les contextes du serveur principal et +du répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +niveau de vérification du client spécifié, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.

+

+Les valeurs de niveau disponibles sont les suivantes :

+
    +
  • none: + aucun certificat client n'est requis
  • +
  • optional: + le client peut présenter un certificat valide
  • +
  • require: + le client doit présenter un certificat valide
  • +
  • optional_no_ca: + le client peut présenter un certificat valide, mais il n'est pas + nécessaire que ce dernier soit vérifiable (avec succès). Cette option ne + peut pas être utilisée lors de l'authentification du client.
  • +
+

Exemple

SSLVerifyClient require
+
+ +
+
top
+

Directive SSLVerifyDepth

+ + + + + + + + +
Description:Profondeur maximale des certificats de CA pour la +vérification des certificats clients
Syntaxe:SSLVerifyDepth nombre
Défaut:SSLVerifyDepth 1
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de spécifier la profondeur maximale à laquelle +mod_ssl va effectuer sa vérification avant de décider que le client ne +possède pas de certificat valide. Notez que cette directive peut être +utilisée à la fois dans les contextes du serveur principal et de +répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +client selon la nouvelle profondeur spécifiée, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.

+

+La profondeur correspond au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats de CA que l'on est autorisé à suivre lors de la vérification +du certificat du client. Une profondeur de 0 signifie que seuls les +certificats clients auto-signés sont acceptés ; la profondeur par défaut +de 1 signifie que le certificat client peut être soit auto-signé, soit +signé par une CA connue directement du serveur (c'est à dire que le +certificat de la CA doit être référencé par la directive SSLCACertificatePath), etc...

+

Exemple

SSLVerifyDepth 10
+
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_status.html b/docs/manual/mod/mod_status.html new file mode 100644 index 0000000..4a6da9b --- /dev/null +++ b/docs/manual/mod/mod_status.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_status.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_status.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_status.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_status.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_status.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_status.html.en b/docs/manual/mod/mod_status.html.en new file mode 100644 index 0000000..cb28b88 --- /dev/null +++ b/docs/manual/mod/mod_status.html.en @@ -0,0 +1,204 @@ + + + + + +mod_status - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_status

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Provides information on server activity and +performance
Status:Base
Module Identifier:status_module
Source File:mod_status.c
+

Summary

+ +

The Status module allows a server administrator to find out + how well their server is performing. A HTML page is presented + that gives the current server statistics in an easily readable + form. If required this page can be made to automatically + refresh (given a compatible browser). Another page gives a + simple machine-readable list of the current server state.

+ +

The details given are:

+ +
    +
  • The number of workers serving requests
  • + +
  • The number of idle workers
  • + +
  • The status of each worker, the number of requests that + worker has performed and the total number of bytes served by + the worker (*)
  • + +
  • A total number of accesses and byte count served (*)
  • + +
  • The time the server was started/restarted and the time it + has been running for
  • + +
  • Averages giving the number of requests per second, the + number of bytes served per second and the average number of + bytes per request (*)
  • + +
  • The current percentage CPU used by each worker and in + total by all workers combined (*)
  • + +
  • The current hosts and requests being processed (*)
  • +
+ +

The lines marked "(*)" are only available if + ExtendedStatus + is On. In version 2.3.6, loading mod_status will + toggle ExtendedStatus On + by default.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Enabling Status Support

+ + +

To enable status reports only for browsers from the example.com + domain add this code to your httpd.conf + configuration file

+
<Location "/server-status">
+    SetHandler server-status
+    Require host example.com
+</Location>
+ + +

You can now access server statistics by using a Web browser + to access the page + http://your.server.name/server-status

+
top
+
+

Automatic Updates

+ + +

You can get the status page to update itself automatically if + you have a browser that supports "refresh". Access the page + http://your.server.name/server-status?refresh=N to + refresh the page every N seconds.

+ +
top
+
+

Machine Readable Status File

+ + +

A machine-readable version of the status file is available by + accessing the page + http://your.server.name/server-status?auto. This + is useful when automatically run, see the Perl program + log_server_status, which you will find in the + /support directory of your Apache HTTP Server installation.

+ +
+ It should be noted that if mod_status is + loaded into the server, its handler capability is available + in all configuration files, including + per-directory files (e.g., + .htaccess). This may have security-related + ramifications for your site. +
+ +
top
+
+

Using server-status to troubleshoot

+ + +

The server-status page may be used as a starting + place for troubleshooting a situation where your server is consuming + all available resources (CPU or memory), and you wish to identify + which requests or clients are causing the problem.

+ +

First, ensure that you have ExtendedStatus set on, so that you can see + the full request and client information for each child or + thread.

+ +

Now look in your process list (using top, or similar + process viewing utility) to identify the specific processes that are + the main culprits. Order the output of top by CPU + usage, or memory usage, depending on what problem you're trying to + address.

+ +

Reload the server-status page, and look for those process + ids, and you'll be able to see what request is being served by that + process, for what client. Requests are transient, so you may need to + try several times before you catch it in the act, so to speak.

+ +

This process should give you some idea what client, or + what type of requests, are primarily responsible for your load + problems. Often you will identify a particular web application that + is misbehaving, or a particular client that is attacking your + site.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.fr.utf8 b/docs/manual/mod/mod_status.html.fr.utf8 new file mode 100644 index 0000000..5dc8596 --- /dev/null +++ b/docs/manual/mod/mod_status.html.fr.utf8 @@ -0,0 +1,210 @@ + + + + + +mod_status - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_status

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Fournit des informations sur les performances et l'activité +du serveur
Statut:Base
Identificateur de Module:status_module
Fichier Source:mod_status.c
+

Sommaire

+ +

Le module Status permet à un administrateur de déterminer le + niveau de performances de son serveur. Les statistiques instantanées + du serveur sont présentées dans une page HTML sous une forme + aisément lisible. Si nécessaire, cette page peut être configurée + pour être automatiquement actualisée (sous réserve de + compatibilité du navigateur). Une autre page fournit l'état + instantané du serveur sous la forme d'une simple liste lisible par + une machine.

+ +

Les détails fournis sont :

+ +
    +
  • Le nombre de processus servant les requêtes
  • + +
  • Le nombre de processus inactifs
  • + +
  • L'état de chaque processus, le nombre de requêtes qu'il a + traitées et le nombre total d'octets qu'il a servis (*)
  • + +
  • Le nombre total d'accès effectués et d'octets servis (*)
  • + +
  • Le moment où le serveur a été démarré/redémarré et le temps + écoulé depuis
  • + +
  • Les valeurs moyennes du nombre de requêtes par seconde, du + nombre d'octets servis par seconde et du nombre d'octets par + requête (*)
  • + +
  • Le pourcentage CPU instantané utilisé par chaque processus et + par l'ensemble des processus (*)
  • + +
  • Les hôtes et requêtes actuellement en cours de traitement + (*)
  • +
+ +

Les lignes se terminant par "(*)" ne sont disponibles que si la + directive ExtendedStatus + est définie à On. Depuis la version + 2.3.6, le chargement de mod_status définit automatiquement + ExtendedStatus à On.

+
+ +
top
+
+

Activation du rapport d'état

+ + +

Pour n'activer les rapports d'état que pour les navigateurs + appartenent au domaine example.com, ajoutez ces lignes à votre + fichier de configuration httpd.conf :

+
<Location "/etat-serveur">
+    SetHandler server-status
+    Require host example.com
+</Location>
+ + +

Il est alors possible d'obtenir les statistiques du serveur en + utilisant un navigateur web et en accédant à la page + http://votre.serveur/etat-serveur.

+
top
+
+

Actualisation automatique

+ + +

Vous pouvez faire en sorte que cette page d'état s'actualise + elle-même automatiquement si votre navigateur supporte "refresh". + Pour ce faire, accédez à la page + http://votre.serveur/etat-serveur?refresh=N, pour que + cette dernière soit actualisée toutes les N secondes.

+ +
top
+
+

Fichier d'état lisible par une machine

+ + +

La page http://votre.serveur/etat-serveur?auto + permet d'obtenir une version du fichier d'état lisible par une + machine. Ceci s'avère intéressant dans le cadre d'une exécution + automatique : voir le programme en Perl + log_server_status situé dans le répertoire + /support de votre distribution du serveur HTTP Apache.

+ +
+ Veuillez noter que si mod_status a été + chargé dans le serveur, son gestionnaire sera disponible dans + tous les fichiers de configuration, y compris les + fichiers de configuration de niveau répertoire (par + exemple .htaccess), ce qui peut avoir des + répercutions quant à la sécurité de votre site. +
+ +
top
+
+

Utilisation de server-status pour la recherche de défauts de + fonctionnement

+ + +

La page server-status peut servir de point de départ + à la recherche de défauts de fonctionnement lorsque votre serveur + mobilise toutes les ressources disponibles (CPU ou mémoire), pour + identifier quels clients ou requêtes sont la cause du problème.

+ +

Tout d'abord, assurez-vous que la directive ExtendedStatus est bien définie à on, de + façon à ce que vous puissiez avoir accès à toutes les informations à + propos de la requête et du client pour chaque processus enfant ou + thread.

+ +

Consultez ensuite la liste des processus en cours (à l'aide de + top, ou d'un utilitaire de listage des processus + similaire), afin d'identifier les processus coupables. Triez + l'affichage de top par utilisation CPU ou mémoire, en + fonction du problème rencontré.

+ +

Rechargez la page server-status et recherchez + les identifiants des processus trouvés précédemment ; vous pourrez + alors déterminer quelle requête est traitée par ces processus, pour + quel client. Les requêtes peuvent apparaître de manière fugitive, et + il se peut que vous deviez effectuer plusieurs essais avant de + parvenir à les prendre en flagrant délit, pour ainsi dire.

+ +

Cette procédure devrait vous permettre de cerner quel + client, ou type de requête, sont à l'origine de vos problèmes de + charge. Il est probable que vous identifiiez une application web au + comportement anormal, ou un client en train d'attaquer votre site.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.ja.utf8 b/docs/manual/mod/mod_status.html.ja.utf8 new file mode 100644 index 0000000..d35d388 --- /dev/null +++ b/docs/manual/mod/mod_status.html.ja.utf8 @@ -0,0 +1,172 @@ + + + + + +mod_status - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_status

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:サーãƒã®æ´»å‹•çŠ¶æ³ã¨æ€§èƒ½ã«é–¢ã™ã‚‹æƒ…報をæä¾›ã™ã‚‹
ステータス:Base
モジュール識別å­:status_module
ソースファイル:mod_status.c
+

概è¦

+ +

ã“ã® Status モジュールã«ã‚ˆã‚Šã‚µãƒ¼ãƒç®¡ç†è€…ã¯ã‚µãƒ¼ãƒãŒã©ã®ãらㄠ+ ã®æ€§èƒ½ã§å‹•ä½œã—ã¦ã„ã‚‹ã‹ã‚’知るã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + ç¾æ™‚点ã§ã®ã‚µãƒ¼ãƒã®çµ±è¨ˆæƒ…報を読ã¿ã‚„ã™ã„å½¢å¼ã§è¡¨ã—㟠HTML ページ㌠+ 表示ã•ã‚Œã¾ã™ã€‚å¿…è¦ã§ã‚ã‚Œã°ã€ã“ã®ãƒšãƒ¼ã‚¸ã¯è‡ªå‹•çš„ã«ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ã•ã›ã‚‹ + ã“ã¨ã‚‚ã§ãã¾ã™ (互æ›æ€§ã®ã‚るブラウザを使用ã—ã¦ã„ã‚‹å ´åˆ)。 + 別ã«ã€ç¾æ™‚点ã§ã®ã‚µãƒ¼ãƒã®çŠ¶æ…‹ã‚’å˜ç´”ãªæ©Ÿæ¢°èª­ã¿å–ã‚Šå¯èƒ½ãªãƒªã‚¹ãƒˆã§ + 表ã™ãƒšãƒ¼ã‚¸ã‚‚ã‚ã‚Šã¾ã™ã€‚

+ +

表示ã•ã‚Œã‚‹æƒ…å ±ã¯:

+ +
    +
  • リクエストを扱ã£ã¦ã„るワーカーã®æ•°
  • + +
  • アイドル (訳注: リクエストを扱ã£ã¦ã„ãªã„) ワーカーã®æ•°
  • + +
  • å„ワーカーã®çŠ¶æ…‹ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒæ‰±ã£ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°ã€ + ワーカーãŒé€ã£ãŸç·ãƒã‚¤ãƒˆæ•° (*)
  • + +
  • ç·ã‚¢ã‚¯ã‚»ã‚¹æ•°ã¨ç·ãƒã‚¤ãƒˆæ•° (*)
  • + +
  • サーãƒãŒèµ·å‹•ã‚‚ã—ãã¯å†èµ·å‹•ã•ã‚ŒãŸæ™‚刻ã¨å‹•ä½œã—ã¦ã„る時間
  • + +
  • å¹³å‡ã® 1 秒ã‚ãŸã‚Šã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆæ•°ã€1 秒ã‚ãŸã‚Šã®é€ã‚‰ã‚ŒãŸãƒã‚¤ãƒˆæ•°ã€ + リクエストã‚ãŸã‚Šã®ãƒã‚¤ãƒˆæ•° (*)
  • + +
  • å„ワーカー㨠Apache 全体ã§ä½¿ç”¨ã•ã‚Œã¦ã„ã‚‹ CPU ã®å‰²åˆ (*)
  • + +
  • ç¾æ™‚点ã®ãƒ›ã‚¹ãƒˆã¨å‡¦ç†ã•ã‚Œã¦ã„るリクエスト (*)
  • +
+ +

"(*)" ã®ä»˜ã„ã¦ã„る情報を表示ã™ã‚‹ã«ã¯ + ExtendedStatus + ㌠On ã«ãªã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+
+
Support Apache!

トピック

+

ディレクティブ

+

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚ã‚Šã¾ã›ã‚“。

+

Bugfix checklist

å‚ç…§

+
+
top
+
+

Status を使用å¯èƒ½ã«ã™ã‚‹

+ + +

example.com ドメインã‹ã‚‰ã®ãƒ–ラウザã®ã¿ã«å¯¾ã—㦠+ ステータスã®å ±å‘Šã‚’使用å¯èƒ½ã«ã™ã‚‹ã«ã¯ + 以下ã®ã‚³ãƒ¼ãƒ‰ã‚’ httpd.conf 設定ファイルã«è¿½åŠ ã—ã¾ã™

+

+ <Location /server-status>
+ SetHandler server-status
+
+ Order Deny,Allow
+ Deny from all
+ Allow from .example.com
+ </Location> +

+ +

ã“ã‚Œã§ã€ã‚µãƒ¼ãƒã®çµ±è¨ˆæƒ…報をウェブブラウザを使ã£ã¦ + http://your.server.name/server-status をアクセスã™ã‚‹ã“ã¨ã«ã‚ˆã‚Š + 知るã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+
top
+
+

自動更新

+ + +

ブラウザãŒã€Œãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ã€æ©Ÿèƒ½ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚Œã°ã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒšãƒ¼ã‚¸ã‚’ + 自動的ã«æ›´æ–°ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚N 秒毎ã«æ›´æ–°ã•ã›ã‚‹ãŸã‚ã«ã¯ + http://your.server.name/server-status?refresh=N + ã¨ã„ã†ãƒšãƒ¼ã‚¸ã‚’アクセスã—ã¦ãã ã•ã„。

+ +
top
+
+

機械読ã¿å–ã‚Šå¯èƒ½ãªã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«

+ + +

http://your.server.name/server-status?auto ã‚’ + アクセスã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®æ©Ÿæ¢°èª­ã¿å–ã‚Šå¯èƒ½ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ + å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã‚Œã¯è‡ªå‹•çš„ã«å®Ÿè¡Œã•ã‚Œã‚‹ã¨ãã«ä¾¿åˆ©ã§ã™ã€‚ + Apache ã® /support ディレクトリã«ã‚ã‚‹ + Perl プログラム log_server_status を見ã¦ãã ã•ã„。

+ +
+ mod_status ãŒã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ + å ´åˆã€ãƒãƒ³ãƒ‰ãƒ©ã®æ©Ÿèƒ½ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã®ãƒ•ã‚¡ã‚¤ãƒ« + (ã™ãªã‚ã¡ã€.htaccess) ã‚‚å«ã‚€ã™ã¹ã¦ã® + 設定ファイルã§ä½¿ç”¨å¯èƒ½ã«ãªã‚‹ã“ã¨ã«ã¯æ³¨æ„ã‚’ã—ã¦ãŠãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯ã€ã‚µã‚¤ãƒˆã«ã‚ˆã£ã¦ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹æœ›ã¾ã—ããªã„çµæžœã‚’ + ã‚‚ãŸã‚‰ã™ã“ã¨ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 +
+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.ko.euc-kr b/docs/manual/mod/mod_status.html.ko.euc-kr new file mode 100644 index 0000000..de21d45 --- /dev/null +++ b/docs/manual/mod/mod_status.html.ko.euc-kr @@ -0,0 +1,165 @@ + + + + + +mod_status - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_status

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:¼­¹ö È°µ¿°ú ¼º´É¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù
»óÅÂ:Base
¸ðµâ¸í:status_module
¼Ò½ºÆÄÀÏ:mod_status.c
+

¿ä¾à

+ +

Status ¸ðµâÀº ¼­¹ö °ü¸®ÀÚ¿¡°Ô ¼­¹öÀÇ »óŸ¦ º¸¿©ÁØ´Ù. + ½±°Ô ÀÐÀ» ¼ö ÀÖ´Â HTML ÆäÀÌÁö·Î ÇöÀç ¼­¹öÅë°è¸¦ º¸¿©ÁØ´Ù. + ÇÊ¿äÇÏ´Ù¸é (Ç¥ÁØÀ» µû¸£´Â ºê¶ó¿ìÀú¿¡¼­) ÆäÀÌÁö¸¦ ÀÚµ¿À¸·Î + °»½ÅÇÒ ¼ö ÀÖ´Ù. ÇöÀç ¼­¹ö »óŸ¦ ÄÄÇ»ÅÍ°¡ ÀÐÀ» ¼ö ÀÖ´Â + °£´ÜÇÑ ¸ñ·ÏÀ¸·Î º¸¿©ÁÙ ¼öµµ ÀÖ´Ù.

+ +

¾Ë·ÁÁÖ´Â Á¤º¸´Â:

+ +
    +
  • ¿äûÀ» ¼­ºñ½ºÇÏ´Â workerÀÇ °³¼ö
  • + +
  • ½¬°í ÀÖ´Â(idle) workerÀÇ °³¼ö
  • + +
  • °¢ workerµéÀÇ »óÅÂ, worker°¡ ó¸®ÇÑ ¿äûÀÇ °³¼ö¿Í + worker°¡ ¼­ºñ½ºÇÑ Àüü ¹ÙÀÌÆ®¼ö (*)
  • + +
  • ÃÑ Á¢±Ù Ƚ¼ö¿Í ¼­ºñ½ºÇÑ ¹ÙÀÌÆ®¼ö (*)
  • + +
  • ¼­¹ö°¡ ½ÃÀÛȤÀº Àç½ÃÀÛÇÑ ½Ã°£°ú µ¿ÀÛÇÑ ½Ã°£
  • + +
  • ÃÊ´ç ¿äû¼ö Æò±Õ, ÃÊ´ç ¼­ºñ½ºÇÑ ¹ÙÀÌÆ®¼ö¿Í ¿äû´ç + ¹ÙÀÌÆ®¼ö Æò±Õ (*)
  • + +
  • ÇöÀç ¾ÆÆÄÄ¡ Àüü¿Í °¢ workerµéÀÇ CPU ºñÀ² (*)
  • + +
  • ÇöÀç ó¸®ÇÏ°í Àִ ȣ½ºÆ®¿Í ¿äû (*)
  • +
+ +

Ç¥ÁØ ¾ÆÆÄÄ¡¿¡´Â "(*)"·Î Ç¥½ÃÇÑ Åë°è¸¦ ¾òÀ» ¼ö ¾ø´Ù. + ÀÌ Á¤º¸¸¦ º¸·Á¸é ÄÄÆÄÀϽà ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.

+
+
Support Apache!

ÁÖÁ¦

+

Áö½Ã¾îµé

+

ÀÌ ¸ðµâ¿¡´Â Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.

+

Bugfix checklist

Âü°í

+
+
top
+
+

Status »ç¿ëÇϱâ

+ + +

foo.com µµ¸ÞÀο¡¼­ Á¢±ÙÇÑ ºê¶ó¿ìÀú¿¡°Ô¸¸ »óŸ¦ º¸¿©ÁÖ·Á¸é + httpd.conf ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇÑ´Ù

+

+ <Location /server-status>
+ SetHandler server-status
+
+ Order Deny,Allow
+ Deny from all
+ Allow from .foo.com
+ </Location> +

+ +

ÀÌÁ¦ À¥ºê¶ó¿ìÀú·Î + http://your.server.name/server-status ÆäÀÌÁö¿¡ + Á¢±ÙÇÏ¸é ¼­¹ö Åë°è¸¦ º¼ ¼ö ÀÖ´Ù.

+
top
+
+

ÀÚµ¿ °»½Å

+ + +

ºê¶ó¿ìÀú°¡ "Àç°»½Å"À» Áö¿øÇÑ´Ù¸é status ÆäÀÌÁö¸¦ ÀÚµ¿À¸·Î + °»½ÅÇÒ ¼ö ÀÖ´Ù. N Ãʸ¶´Ù °»½ÅÇÏ·Á¸é + http://your.server.name/server-status?refresh=N + ÆäÀÌÁö¸¦ »ç¿ëÇ϶ó.

+ +
top
+
+

ÄÄÇ»ÅÍ°¡ ÀÐÀ» ¼ö ÀÖ´Â Status ÆÄÀÏ

+ + +

http://your.server.name/server-status?auto¿¡¼­ + ÄÄÇ»ÅÍ°¡ ½±°Ô ÀÐÀ» ¼ö ÀÖ´Â status ÆÄÀÏÀ» ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ + Çü½ÄÀº ¾ÆÆÄÄ¡ /support µð·ºÅ丮¿¡ ÀÖ´Â + log_server_status Perl ÇÁ·Î±×·¥°ú °°ÀÌ ÀÚµ¿À¸·Î + ½ÇÇàÇÏ´Â ÇÁ·Î±×·¥¿¡ À¯¿ëÇÏ´Ù.

+ +
+ mod_status¸¦ ¼­¹ö¿Í °°ÀÌ + ÄÄÆÄÀÏÇÏ¿´´Ù¸é µð·ºÅ丮º° ¼³Á¤ÆÄÀÏÀ» (¿¹¸¦ + µé¾î, .htaccess) Æ÷ÇÔÇÏ¿© ¸ðµç + ¼³Á¤ÆÄÀÏ¿¡¼­ Çڵ鷯¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ »çÀÌÆ®¿¡ + º¸¾È ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. +
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.tr.utf8 b/docs/manual/mod/mod_status.html.tr.utf8 new file mode 100644 index 0000000..cae57af --- /dev/null +++ b/docs/manual/mod/mod_status.html.tr.utf8 @@ -0,0 +1,198 @@ + + + + + +mod_status - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_status

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Sunucu etkinliği ve başarımı hakkında bilgi sağlar.
Durum:Temel
Modül Betimleyici:status_module
Kaynak Dosyası:mod_status.c
+

Özet

+ +

mod_status modülü, sunucu yöneticisinin, HTTP sunucusunun + ne kadar başarılı olduğu hakkında bilgi edinmesini sağlar. Bilgiler, + kolayca okunabilen bir HTML sayfası olarak sunulur ve o anki sunucu + istatistiklerinden oluşur. Gerekirse sayfa kendiliğinden tazelenebilir + (uyumlu bir tarayıcı gerekir). Diğer sayfa o anki sunucu durumunu makine + tarafından okunabilen biçimde listeler.

+ +

Sunulan bilgiler şunlardır:

+ +
    +
  • Ä°stekleri sunan çocuk süreç sayısı
  • + +
  • BoÅŸtaki çocuk süreçlerin sayısı
  • + +
  • Her çocuk sürecin durumu, çocuk sürecin iÅŸleme tabi tuttuÄŸu istek + sayısı ve sunduÄŸu bayt sayısı (*)
  • + +
  • Toplam eriÅŸim sayısı ve sunulan toplam bayt sayısı (*)
  • + +
  • Sunucunun kaç kere baÅŸlatıldığı/yeniden baÅŸlatıldığı ve ne kadar + zamandır çalışmakta olduÄŸu
  • + +
  • Saniyedeki ortalama istek sayısı, saniyedeki bayt sayısı ve istek + başına ortalama bayt sayısı (*)
  • + +
  • Birlikte tüm çocuk süreçler tarafınan toplamda ve her çocuk süreç + tarafından ayrı ayrı kullanılan o anki iÅŸlemci zamanı yüzdesi (*)
  • + +
  • O an iÅŸlem görmekte olan konakların ve isteklerin sayısı (*)
  • +
+ +

"(*)" imli bilgiler sadece ExtendedStatus yönergesinin değeri On olduğu + takdirde mevcuttur. 2.3.6 sürümünde, bu modulün yüklenmesi öntanımlı + olarak ExtendedStatus yönergesinin + değerini On yapacaktır.

+
+ +
top
+
+

Durum Bilgisi DesteÄŸinin EtkinleÅŸtirilmesi

+ + +

Durum raporları, sadece example.com alanından ve sadece tarayıcılar için + etkin kılınmak istenirse httpd.conf dosyasına şu satırlar + eklenebilir:

+ +
<Location "/server-status">
+    SetHandler server-status
+    Require host example.com
+</Location>
+ + +

Sunucu istatistiklerine tarayıcınızla erişmek isterseniz, + http://sunucunuzun.ismi.buraya/server-status + şeklinde bir istek yapabilirsiniz.

+
top
+
+

Sayfanın Tazelenmesi

+ + +

Tarayıcınız “tazeleme†yeteneğine sahipse durum sayfası düzenli + aralıklarla güncellenecektir. Sayfanın N saniyede bir güncellenmesini + isterseniz isteği şöyle yapabilirsiniz:
+ http://sunucunuzun.ismi.buraya/server-status?refresh=N

+ +
top
+
+

Makine Tarafından Okunabilen Durum Dosyası

+ + +

Durum dosyasının makine tarafından okunabilen sürümüne + http://sunucunuzun.ismi.buraya/server-status?auto + şeklinde bir istek yaparak erişebilirsiniz. Bu, kendiliğinden çalıştığı + takdirde yararlıdır; Apache HTTP Sunucusu kurulumunuzun + /support dizininde bulunan log_server_status + isimli Perl betiğine bakınız.

+ +

Güvenlik

+ mod_status sunucuya yüklendiği takdirde + istatistikleri raporlama yeteneği dizin içi yapılandırma dosyaları + (.htaccess gibi) dahil tüm yapılandırma dosyaları + için kullanılabilir olacaktır. Bu durum güvenlik ile ilgili olarak + siteniz için içinden çıkılması güç durumlara yol açabilir (çapanoğlu + durumu).
+ +
top
+
+

Sorun gidermek için server-status kullanımı

+ + +

Sunucunuzun kullanılabilir tüm özkaynakları (işlemci veya bellek) + sömürdüğü ve sizin de bu soruna hangi istemcilerin veya isteklerin yol + açtığını saptamak istediğiniz durumda sorunu gidermek için başlangıç yeri + olarak server-status sayfası kullanılabilir.

+ +

Önce ExtendedStatus yönergesine On + atadığınızsan emin olun. Böylece her çocuk süreç veya evre için tüm istek + ve istemci bilgilerini görebilirsiniz.

+ +

(top veya benzeri bir süreç izleme aracı kullanarak) Artık + kendi süreç listenize ana zanlılar olan süreçleri bulmak için + bakabilirsiniz. Sorunun çeşidine bağlı olarak top çıktısını + işlemci kullanımına veya bellek kullanımına göre sıralatabilirsiniz.

+ +

server-status sayfasını yeniden yükleyip bu süreç + kimliklerine bakın. Böylece, bu süreçler tarafından hangi isteklerin hangi + istemcilere sunulduğunu görebilirsiniz. İstekler kısa sürelerle görünürler, + bu bakımdan iş üstünde yakalamak için çeşitli denemeler yapmanız + gerekebilir.

+ +

Bu işlem, yük sorununuzdan birinci derecede sorumlu istek türleri veya + istemciler hakkında bir fikir verecektir. Çoğu durumda belli bir HTTP + uygulamasının yanlış davrandığını veya belli bir istemcinin sitenize + saldırmakta olduğunu farkedersiniz.

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_substitute.html b/docs/manual/mod/mod_substitute.html new file mode 100644 index 0000000..591a8c2 --- /dev/null +++ b/docs/manual/mod/mod_substitute.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_substitute.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_substitute.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_substitute.html.en b/docs/manual/mod/mod_substitute.html.en new file mode 100644 index 0000000..db1aef3 --- /dev/null +++ b/docs/manual/mod/mod_substitute.html.en @@ -0,0 +1,224 @@ + + + + + +mod_substitute - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_substitute

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Perform search and replace operations on response bodies
Status:Extension
Module Identifier:substitute_module
Source File:mod_substitute.c
Compatibility:Available in Apache HTTP Server 2.2.7 and later
+

Summary

+ +

mod_substitute provides a mechanism to perform + both regular expression and fixed string substitutions on + response bodies.

+
+ + +
top
+

Substitute Directive

+ + + + + + + +
Description:Pattern to filter the response content
Syntax:Substitute s/pattern/substitution/[infq]
Context:directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_substitute
+

The Substitute directive specifies a + search and replace pattern to apply to the response body.

+ +

The meaning of the pattern can be modified by using any + combination of these flags:

+ +
+
i
+
Perform a case-insensitive match.
+
n
+
By default the pattern is treated as a regular expression. + Using the n flag forces the pattern to be treated + as a fixed string.
+
f
+
The f flag causes mod_substitute to flatten the + result of a substitution allowing for later substitutions to + take place on the boundary of this one. This is the default.
+
q
+
The q flag causes mod_substitute to not + flatten the buckets after each substitution. This can + result in much faster response and a decrease in memory + utilization, but should only be used if there is no possibility + that the result of one substitution will ever match a pattern + or regex of a subsequent one.
+
+ +

The substitution may contain literal text and regular + expression backreferences

+ +

Example

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    Substitute "s/foo/bar/ni"
+</Location>
+
+ +

The character which is used to separate (or "delimit") the + various parts of the substitution string is referred to as the + "delimiter", and it is most common to use a slash for this + purpose.

+ +

If either the pattern or the substitution contain a slash + character then an alternative delimiter may be used to make the + directive more readable:

+ +

Example of using an alternate delimiter

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    Substitute "s|<BR */?>|<br />|i"
+</Location>
+
+ +

Backreferences can be used in the comparison and in the substitution, + when regular expressions are used, as illustrated in the following example:

+

Example of using backreferences and captures

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    # "foo=k,bar=k" -> "foo/bar=k"
+    Substitute "s|foo=(\w+),bar=\1|foo/bar=$1|"
+</Location>
+
+ +

A common use scenario for mod_substitute is the + situation in which a front-end server proxies requests to a back-end + server which returns HTML with hard-coded embedded URLs that refer + to the back-end server. These URLs don't work for the end-user, + since the back-end server is unreachable.

+ +

In this case, mod_substitute can be used to rewrite + those URLs into something that will work from the front end:

+ +

Rewriting URLs embedded in proxied content

ProxyPass        "/blog/" "http://internal.blog.example.com/"
+ProxyPassReverse "/blog/" "http://internal.blog.example.com/"
+
+Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"
+
+ +

ProxyPassReverse + modifies any Location (redirect) headers that are sent + by the back-end server, and, in this example, + Substitute takes care of the rest of the problem by + fixing up the HTML response as well.

+ + +
+
top
+

SubstituteInheritBefore Directive

+ + + + + + + + + +
Description:Change the merge order of inherited patterns
Syntax:SubstituteInheritBefore on|off
Default:SubstituteInheritBefore off
Context:directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_substitute
Compatibility:Available in httpd 2.4.17 and later
+

Whether to apply the inherited Substitute + patterns first (on), or after the ones of the current + context (off). + SubstituteInheritBefore is itself inherited, + hence contexts that inherit it (those that don't specify their own + SubstituteInheritBefore value) will apply the + closest defined merge order.

+ +
+
top
+

SubstituteMaxLineLength Directive

+ + + + + + + + + +
Description:Set the maximum line size
Syntax:SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G)
Default:SubstituteMaxLineLength 1m
Context:directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_substitute
Compatibility:Available in httpd 2.4.11 and later
+

The maximum line size handled by mod_substitute + is limited to restrict memory use. The limit can be configured + using SubstituteMaxLineLength. + The value can be given as the number of bytes and can be suffixed + with a single letter b, B, k, + K, m, M, g, + G to provide the size in bytes, kilobytes, megabytes + or gigabytes respectively.

+ +

Example

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    SubstituteMaxLineLength 10m
+    Substitute "s/foo/bar/ni"
+</Location>
+
+ + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_substitute.html.fr.utf8 b/docs/manual/mod/mod_substitute.html.fr.utf8 new file mode 100644 index 0000000..23405cc --- /dev/null +++ b/docs/manual/mod/mod_substitute.html.fr.utf8 @@ -0,0 +1,241 @@ + + + + + +mod_substitute - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_substitute

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Effectue des opérations de recherche/remplacement sur les +corps de réponses
Statut:Extension
Identificateur de Module:substitute_module
Fichier Source:mod_substitute.c
Compatibilité:Disponible depuis la version 2.2.7 +du serveur HTTP Apache
+

Sommaire

+ +

mod_substitute fournit un mécanisme permettant + d'effectuer des substitutions de chaînes fixes ou d'expressions + rationnelles sur les corps de réponses.

+
+ + +
top
+

Directive Substitute

+ + + + + + + +
Description:Modèle de substition dans le contenu de la +réponse
Syntaxe:Substitute s/modèle/substitution/[infq]
Contexte:répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_substitute
+

La directive Substitute permet de + spécifier un modèle de recherche/remplacement à appliquer au corps + de la réponse.

+ +

La signification du modèle peut être modifiée via toute + combinaison de ces drapeaux :

+ +
+
i
+
Effectue une comparaison sans tenir compte de la casse.
+
n
+
Par défaut, le modèle est traité en tant qu'expression + rationnelle. Le drapeau n force le traitement du + modèle en tant que chaîne fixe.
+
f
+ +
Avec le drapeau f, mod_substitute met à plat le + résultat d'une substitution (les conteneurs ou buckets ne sont + pas dissociés), ce qui permet à d'éventuelles substitutions + ultérieures de s'effectuer sur cette dernière. C'est le + comportement par défaut.
+
q
+ +
Avec le drapeau q, mod_substitute dissocie les + conteneurs (ou buckets) après chaque substitution. Ceci peut + améliorer la rapidité de la réponse et diminuer la quantité de + mémoire utilisée, mais ne doit être utilisé que s'il n'existe + aucune possibilité pour que le résultat d'une substitution ne + corresponde au modèle ou à l'expression rationnelle d'une + substitution ultérieure.
+
+ +

substitution peut contenir du texte et des références arrières + d'expressions rationnelles.

+ +

Exemple

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    Substitute "s/foo/bar/ni"
+</Location>
+
+ +

Le caractère utilisé pour séparer (ou "délimiter") les différentes partie + de la valeur de substitution est référencé sous le nom de "délimiteur", et + il s'agit le plus souvent d'un "slash".

+ +

Si le modèle ou la chaîne de substitution contient un caractère + slash '/', il est possible d'utiliser un autre délimiteur afin de rendre la + directive plus lisible :

+ +

Exemple d'utilisation d'un délimiteur + alternatif

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    Substitute "s|<BR */?>|<br />|i"
+</Location>
+
+ +

Lorsqu'on utilise des expressions rationnelles, on peut insérer + des références arrières dans les opérations de comparaison et de + substitution, comme illustré dans l'exemple suivant :

+

Exemple d'utilisation de références arrières et de captures

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    # "foo=k,bar=k" -> "foo/bar=k"
+    Substitute "s|foo=(\w+),bar=\1|foo/bar=$1|"
+</Location>
+
+ +

Un scénario courant d'utilisation de mod_substitute + est la situation où un serveur frontal mandate des requêtes pour un + serveur d'arrière-plan qui renvoie des documents HTML contenant des + URLs intégrées codées en dur qui font référence à ce serveur + d'arrière-plan. Ces URLs ne fonctionnent pas pour l'utilisateur + final car le serveur d'arrière-plan est hors d'atteinte.

+ +

On peut, dans ce cas, utiliser mod_substitute pour + réécrire ces URLs afin qu'elles soit utilisables dans la partie + située derrière le mandataire :

+ +

Réécriture des URLs intégrées à un contenu mandaté

ProxyPass        "/blog/" "http://internal.blog.example.com/"
+ProxyPassReverse "/blog/" "http://internal.blog.example.com/"
+
+Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"
+
+ +

La directive ProxyPassReverse modifie tout en-tête + Location (redirection) envoyé par le serveur + d'arrière-plan et, dans cet exemple, la directive + Substitute se charge à son tour de la modification de + la réponse HTML.

+ + +
+
top
+

Directive SubstituteInheritBefore

+ + + + + + + + + +
Description:Modifie l'ordre de fusion des modèles hérités
Syntaxe:SubstituteInheritBefore on|off
Défaut:SubstituteInheritBefore on
Contexte:répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_substitute
Compatibilité:Disponible à partir de la version 2.4.17 du serveur HTTP +Apache
+

Cette directive permet de définir si l'on applique les modèles +Substitute hérités en premier +(valeur on), ou après ceux du +contexte courant (valeur off). La valeur de la directive +SubstituteInheritBefore est +elle-même héritée, et les contextes qui en héritent (ceux qui ne +définissent pas explicitement leur propre directive +SubstituteInheritBefore) appliqueront donc +l'ordre de fusion défini le plus proche.

+ +
+
top
+

Directive SubstituteMaxLineLength

+ + + + + + + + + +
Description:Définit la longueur de ligne maximale
Syntaxe:SubstituteMaxLineLength octets(b|B|k|K|m|M|g|G)
Défaut:SubstituteMaxLineLength 1m
Contexte:répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_substitute
Compatibilité:Disponible à partir de la version 2.4.11 du serveur HTTP +Apache
+

La taille de la ligne traitée par mod_substitute + est limitée afin de restreindre l'utilisation des ressources + mémoire. La directive SubstituteMaxLineLength + permet de définir cette limite. La valeur de la limite peut être + spécifiée sous la forme d'un nombre d'octets, et peut être suffixée + par une des lettres b, B, k, + K, m, M, g ou + G pour fournir une valeur respectivement en octets, + kiloOctets, mégaOctets ou gigaOctets.

+ +

Example

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    SubstituteMaxLineLength 10m
+    Substitute "s/foo/bar/ni"
+</Location>
+
+ + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html b/docs/manual/mod/mod_suexec.html new file mode 100644 index 0000000..23c65c0 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_suexec.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_suexec.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_suexec.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_suexec.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_suexec.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_suexec.html.en b/docs/manual/mod/mod_suexec.html.en new file mode 100644 index 0000000..2d8971e --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.en @@ -0,0 +1,109 @@ + + + + + +mod_suexec - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_suexec

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Allows CGI scripts to run as a specified user +and Group
Status:Extension
Module Identifier:suexec_module
Source File:mod_suexec.c
+

Summary

+ +

This module, in combination with the suexec support program allows + CGI scripts to run as a specified user and Group.

+
+ + +
top
+

SuexecUserGroup Directive

+ + + + + + +
Description:User and group for CGI programs to run as
Syntax:SuexecUserGroup User Group
Context:server config, virtual host
Status:Extension
Module:mod_suexec
+

The SuexecUserGroup directive allows you + to specify a user and group for CGI programs to run as. Non-CGI + requests are still processed with the user specified in the User directive.

+ +

Example

SuexecUserGroup nobody nogroup
+
+ +

Startup will fail if this directive is specified but the suEXEC + feature is disabled.

+ +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.fr.utf8 b/docs/manual/mod/mod_suexec.html.fr.utf8 new file mode 100644 index 0000000..54aa54f --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.fr.utf8 @@ -0,0 +1,114 @@ + + + + + +mod_suexec - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_suexec

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés
Statut:Extension
Identificateur de Module:suexec_module
Fichier Source:mod_suexec.c
+

Sommaire

+ +

Ce module, en combinaison avec son programme support + suexec, permet l'exécution des scripts CGI sous + l'utilisateur et le groupe spécifiés.

+
+ + +
top
+

Directive SuexecUserGroup

+ + + + + + +
Description:L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter
Syntaxe:SuexecUserGroup Utilisateur Groupe
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_suexec
+

La directive SuexecUserGroup permet de + spécifier l'utilisateur et le groupe sous lesquels les programmes + CGI doivent s'exécuter. Les requêtes non CGI seront toujours + traitées avec l'utilisateur spécifié par la directive User.

+ +

Exemple

SuexecUserGroup nobody nogroup
+
+ +

Le démarrage échouera si cette + directive est spécifiée et si la fonctionnalité suEXEC est + désactivée.

+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.ja.utf8 b/docs/manual/mod/mod_suexec.html.ja.utf8 new file mode 100644 index 0000000..0000e95 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.ja.utf8 @@ -0,0 +1,113 @@ + + + + + +mod_suexec - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_suexec

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + + +
説明:指定ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—㧠CGI スクリプトを実行ã™ã‚‹
ステータス:Extension
モジュール識別å­:suexec_module
ソースファイル:mod_suexec.c
互æ›æ€§:Apache 2.0 以é™ã§ä½¿ç”¨å¯èƒ½
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ suexec サãƒãƒ¼ãƒˆãƒ—ログラム + ã«ã‚ˆã‚Šã€CGI スクリプトãŒæŒ‡å®šã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—㧠+ 実行ã•ã‚Œã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

SuexecUserGroup ディレクティブ

+ + + + + + + +
説明:CGI プログラムã®ãƒ¦ãƒ¼ã‚¶ãƒ‘ーミッションã€ã‚°ãƒ«ãƒ¼ãƒ—パーミッション
構文:SuexecUserGroup User Group
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Extension
モジュール:mod_suexec
互æ›æ€§:SuexecUserGroup 㯠2.0 以é™ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã€‚
+

SuexecUserGroup ディレクティブ㯠CGI プログラム + ãŒå®Ÿè¡Œã•ã‚Œã‚‹ãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—を指定ã§ãるよã†ã«ã—ã¾ã™ã€‚CGI 以外㮠+ リクエスト㯠User ディレクティブã§æŒ‡å®šã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã®ã¾ã¾ã§å‡¦ç†ã•ã‚Œã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache 1.3 ã«ãŠã‘ã‚‹ VirtualHosts ã®ä¸­ã§ + User ディレクティブ㨠Group ディレクティブを使ã†ç”¨æ³•ã®ä»£ã‚ã‚Šã«ãªã‚Šã¾ã™ã€‚

+ +

例

+ + SuexecUserGroup nobody nogroup +

+ + +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.ko.euc-kr b/docs/manual/mod/mod_suexec.html.ko.euc-kr new file mode 100644 index 0000000..a109776 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.ko.euc-kr @@ -0,0 +1,111 @@ + + + + + +mod_suexec - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_suexec

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:CGI ½ºÅ©¸³Æ®¸¦ ƯÁ¤ »ç¿ëÀÚ¿Í ±×·ì ±ÇÇÑÀ¸·Î ½ÇÇàÇÑ´Ù
»óÅÂ:Extension
¸ðµâ¸í:suexec_module
¼Ò½ºÆÄÀÏ:mod_suexec.c
Áö¿ø:¾ÆÆÄÄ¡ 2.0 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀº suexec Áö¿ø + ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© CGI ½ºÅ©¸³Æ®¸¦ ƯÁ¤ »ç¿ëÀÚ¿Í ±×·ì + ±ÇÇÑÀ¸·Î ½ÇÇàÇÑ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

SuexecUserGroup Áö½Ã¾î

+ + + + + + + +
¼³¸í:CGI ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÒ »ç¿ëÀÚ¿Í ±×·ì ±ÇÇÑ
¹®¹ý:SuexecUserGroup User Group
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Extension
¸ðµâ:mod_suexec
Áö¿ø:SuexecUserGroupÀº 2.0 ÀÌÈÄ¿¡¸¸ ÀÖ´Ù.
+

SuexecUserGroup Áö½Ã¾î´Â CGI ÇÁ·Î±×·¥ÀÌ + »ç¿ëÇÒ »ç¿ëÀÚ¿Í ±×·ìÀ» ¼³Á¤ÇÑ´Ù. CGI°¡ ¾Æ´Ñ ¿äûÀº °è¼Ó + User Áö½Ã¾î·Î ÁöÁ¤ÇÑ »ç¿ëÀÚ°¡ ó¸®ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â ¾ÆÆÄÄ¡ + 1.3¿¡¼­ VirtualHost ¾È¿¡ »ç¿ëÇÑ User¿Í Group Áö½Ã¾î¸¦ + ´ëüÇÑ´Ù.

+ +

¿¹Á¦

+ + SuexecUserGroup nobody nogroup +

+ + +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.tr.utf8 b/docs/manual/mod/mod_suexec.html.tr.utf8 new file mode 100644 index 0000000..668f4d9 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.tr.utf8 @@ -0,0 +1,113 @@ + + + + + +mod_suexec - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_suexec

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:CGI betiklerinin belli bir kullanıcı ve grubun aidiyetinde +çalışmasını mümkün kılar.
Durum:Eklenti
Modül Betimleyici:suexec_module
Kaynak Dosyası:mod_suexec.c
+

Özet

+ +

Bu modül suexec programı ile birlikte CGI + betiklerinin belli bir kullanıcı ve grubun aidiyetinde çalışmasını + mümkün kılar.

+
+
Support Apache!

Yönergeler

+ +

Bulunan hatalar

Ayrıca bakınız:

+
+ +
top
+

SuexecUserGroup Yönergesi

+ + + + + + +
Açıklama:CGI betiklerini çalıştıracak kullanıcı ve grup belirtilir. +
Sözdizimi:SuexecUserGroup Kullanıcı Grup
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_suexec
+

SuexecUserGroup yönergesi CGI programlarını + çalıştıracak kullanıcı ve grubu belirtmeye yarar. CGI harici istekler + hala User yönergesinde + belirtilen kullanıcı tarafından yerine getirilir.

+ +
SuexecUserGroup nobody nogroup
+ + +

Bu yönerge belirtildiği halde + Suexec + özelliği etkinleştirilmemişse Apache httpd başlatılamaz.

+ +

Ayrıca bakınız:

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_systemd.html b/docs/manual/mod/mod_systemd.html new file mode 100644 index 0000000..5b32c9f --- /dev/null +++ b/docs/manual/mod/mod_systemd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_systemd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_systemd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_systemd.html.en b/docs/manual/mod/mod_systemd.html.en new file mode 100644 index 0000000..7f6d925 --- /dev/null +++ b/docs/manual/mod/mod_systemd.html.en @@ -0,0 +1,113 @@ + + + + + +mod_systemd - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_systemd

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Provides better support for systemd integration
Status:Extension
Module Identifier:systemd_module
Source File:mod_systemd.c
Compatibility:Available in Apache 2.4.42 and later
+

Summary

+ +

This module provides support for systemd integration. It allows + httpd to be used in a service with the systemd + Type=notify (see systemd.service(5) + for more information). The module is activated if loaded.

+ +

Example of systemd service unit (more settings are probably needed for production systems)

[Unit]
+Description=The Apache HTTP Server
+After=network.target
+
+[Service]
+Type=notify
+ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start
+ExecReload=/usr/local/apache2/bin/httpd -k graceful
+KillMode=mixed
+
+[Install]
+WantedBy=multi-user.target
+ +

Special attention should be given to how ExecStop + and/or KillMode are configured for the service. If + configured, an ExecStop command should be a + synchronous operation which itself exits when the daemon + has terminated. Running httpd -k stop + asynchronously initiates daemon termination, so does not + satisfy this condition. The example above uses + KillMode=mixed so that systemd sends + SIGTERM to signal the parent process (and only the + parent) to shut down. The entire process group is then sent + SIGKILL after TimeoutStopSec elapses, if + any processes are still running. See systemd.kill(5) + for more information.

+ +

This module does not provide support for Systemd socket activation.

+ +

ExtendedStatus is + enabled by default if the module is loaded. If ExtendedStatus is not disabled in + the configuration, run-time load and request statistics are made + available in the systemctl status output.

+
+
Support Apache!

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_systemd.html.fr.utf8 b/docs/manual/mod/mod_systemd.html.fr.utf8 new file mode 100644 index 0000000..f924957 --- /dev/null +++ b/docs/manual/mod/mod_systemd.html.fr.utf8 @@ -0,0 +1,113 @@ + + + + + +mod_systemd - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_systemd

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournit un support amélioré pour l'intégration de systemd
Statut:Extension
Identificateur de Module:systemd_module
Fichier Source:mod_systemd.c
+

Sommaire

+ +

Ce module implémente le support de l'intégration de systemd. Il + permet d'utiliser httpd en temps que service avec le paramètre de + systemd Type=notify (voir la page de manuel + systemd.service(5) + pour plus de détails). Le module est activé s'il est chargé.

+ +

Exemple basique d'unité de service systemd (à étoffer pour un système en + production)

[Unit]
+Description=The Apache HTTP Server
+After=network.target
+
+[Service]
+Type=notify
+ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start
+ExecReload=/usr/local/apache2/bin/httpd -k graceful
+KillMode=mixed
+
+[Install]
+WantedBy=multi-user.target
+ +

Si vous utilisez ExecStop et/ou KillMode, vous + devez prêter une attention particulière à leur configuration pour ce service. + Si elle est présente, une commande ExecStop doit être une + operation synchrone qui se termine elle-même en même temps que le + démon. Cette condition n'est pas satisfaite si vous exécutez la commande + httpd -k stop de manière asynchrone, car elle initie + l'arrêt du démon. L'exemple ci-dessus utilise KillMode=mixed + afin que systemd envoie SIGTERM au processus parent (et + seulement à ce dernier) pour lui indiquer qu'il doit s'arrêter. Les processus + encore en cours d'exécution après un temps égal à TimeoutStopSec + recevront alors le signal SIGKILL. Voir systemd.kill(5) + pour plus d'informations.

+ +

Ce module ne fournit pas le support de l'activation du socket Systemd.

+ +

ExtendedStatus est activé par défaut + si le module est chargé. Si ExtendedStatus n'est pas explicitement désactivé + dans le fichier de configuration, les statistiques à propos de la charge et + des requêtes pendant l'exécution apparaîtront dans la sortie de la commande + systemctl status.

+
+
Support Apache!

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_tls.html b/docs/manual/mod/mod_tls.html new file mode 100644 index 0000000..1e7dfb0 --- /dev/null +++ b/docs/manual/mod/mod_tls.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_tls.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_tls.html.en b/docs/manual/mod/mod_tls.html.en new file mode 100644 index 0000000..9b7ccc4 --- /dev/null +++ b/docs/manual/mod/mod_tls.html.en @@ -0,0 +1,663 @@ + + + + + +mod_tls - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_tls

+
+

Available Languages:  en 

+
+ + + + +
Description:TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library +
Status:Experimental
Module Identifier:tls_module
Source File:mod_tls.c
Compatibility:Available in version 2.4.52 and later
+

Summary

+ +

+ mod_tls is an alternative to mod_ssl for providing https to a server. + It's feature set is a subset, described in more detail below. It can + be used as a companion to mod_ssl, e.g. both modules can be loaded at + the same time. +

+ mod_tls, being written in C, used the Rust implementation of TLS named + rustls via its C interface + rustls-ffi. This gives + memory safe cryptography and protocol handling at comparable + performance. +

+ It can be configured for frontend and backend connections. The configuration + directive have been kept mostly similar to mod_ssl ones. +

+
+ +
top
+
+

TLS in a VirtualHost context

+ +
Listen 443
+TLSEngine 443
+
+<VirtualHost *:443>
+  ServerName example.net
+  TLSCertificate file_with_certificate.pem file_with_key.pem
+  ...
+</VirtualHost>
+ +

+ The above is a minimal configuration. Instead of enabling mod_tls + in every virtual host, the port for incoming TLS connections is + specified. +

+ You cannot mix virtual hosts with mod_ssl and mod_tls on the same + port. It's either or. SNI and ALPN are supported. You may use several + virtual hosts on the same port and a mix of protocols like http/1.1 + and h2. +

+
top
+
+

Feature Comparison with mod_ssl

+

+ The table below gives a comparison of feature between + mod_ssl and mod_tls. If a feature of mod_ssl is no listed here, + it is not supported by mod_tls. The one difference, probably most relevant + is the lack for client certificate support in the current version of + mod_tls. +

+ + + + + + + + + + + + + + + + + + + + + + + +
Featuremod_sslmod_tlsComment
Frontend TLSyesyes
Backend TLSyesyes
TLS v1.3yes*yes*)with recent OpenSSL
TLS v1.2yesyes
TLS v1.0yes*no*)if enabled in OpenSSL
SNI Virtual Hostsyesyes
Client Certificatesyesno
Machine Certificates for Backendyesyes
OCSP Staplingyesyes**)via mod_md
Backend OCSP checkyesno**)stapling will be verified
TLS version to allowmin-maxmin
TLS ciphersexclusive listpreferred/suppressed
TLS cipher orderingclient/serverclient/server
TLS sessionsyesyes
SNI strictnessdefault nodefault yes
Option EnvVarsexhaustivelimited**)see var list
Option ExportCertDataclient+serverserver
Backend CAfile/dirfile
Revocation CRLsyesno
TLS Renegotiationyes*no*)in TLS v1.2
Encrypted Cert Keysyesno
+

+

+
top
+
+

TLS Protocols

+

+ mod_tls supports TLS protocol version 1.2 and 1.3. Should there ever be + a version 1.4 and rustls supports it, it will be available as well. +

+

+ In mod_tls, you configure the minimum version to use, never the maximum: +

+
TLSProtocol TLSv1.3+
+ +

+ This allows only version 1.3 and whatever may be its successor one day when talking + to your server or to a particular virtual host. +

+
top
+
+

TLS Ciphers

+

+ The list of TLS ciphers supported in the rustls library, + can be found here. All TLS v1.3 + ciphers are supported. For TLS v1.2, only ciphers that rustls considers + secure are available. +

+ mod_tls supports the following names for TLS ciphers: +

+
    +
  1. + The IANA assigned name + which uses `_` to separate parts. Example: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 +
  2. +
  3. + The OpenSSL name, using `-` as separator (for 1.2). Example: ECDHE-ECDSA-AES256-SHA384. + Such names often appear in documentation. `mod_tls` defines them for all TLS v1.2 ciphers. + For TLS v1.3 ciphers, names starting with TLS13_ are also supported. +
  4. +
  5. + The IANA assigned identifier, + which is a 16-bit numeric value. Example: 0xc024. + You can use this in configurations as TLS_CIPHER_0xc024. +
  6. +
+

+ You can configure a preference for ciphers, which means they will be used + for clients that support them. If you do not configure a preference, rustls + will use the one that it considers best. This is recommended. +

+

+ Should you nevertheless have the need to prefer one cipher over another, you + may configure it like this: +

+
TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384
+# or several
+TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305
+ +

+ If you name a cipher that is unknown, the configuration will fail. + If you name a cipher is not supported by rustls (or no + longer supported in an updated version of rustls for security + reasons), mod_tls will log a WARNING, but continue to work. +

+

+ A similar mechanism exists, if you want to disable a particular cipher: +

+
TLSCipherSuppress ECDHE-ECDSA-AES256-SHA384
+ +

+ A suppressed cipher will not longer be used. + If you name a cipher that is unknown, the configuration will fail. + If you name a cipher is not supported by rustls (or no + longer supported in an updated version of rustls for security + reasons), mod_tls will log a WARNING, but continue to work. +

+
top
+
+

Virtual Hosts

+

+ mod_tls uses the SNI (Server Name Indicator) to select one of the + configured virtual hosts that match the port being served. Should + the client not provide an SNI, the first configured + virtual host will be selected. If the client does provide + an SNI (as all today's clients do), it must match one + virtual host (ServerName or + ServerAlias) + or the connection will fail. +

+

+ As with mod_ssl, you may specify ciphers and protocol + versions for the base server (global) and/or individual virtual hosts + that are selected via SNI by the client. +

+
Listen 443
+TLSEngine 443
+
+<VirtualHost *:443>
+  ServerName example1.net
+  TLSCertificate example1-cert.pem
+  ...
+</VirtualHost>
+
+<VirtualHost *:443>
+  ServerName example2.net
+  TLSCertificate example2-cert.pem
+  ...
+  TLSProtocol v1.3+
+</VirtualHost>
+ +

+ The example above show different TLS settings for virtual hosts on the + same port. This is supported. example1 can be contacted via + all TLS versions and example2 only allows v1.3 or later. +

+
top
+
+

ACME Certificates

+

+ ACME certificates via mod_md are supported, just as + for mod_ssl. A minimal configuration: +

+
Listen 443
+TLSEngine 443
+MDomain example.net
+
+<VirtualHost *:443>
+  ServerName example.net
+  ...
+</VirtualHost>
+ +
top
+
+

OCSP Stapling

+

+ mod_tls has no own implementation to retrieve OCSP information for + a certificate. However, it will use such for Stapling if it is provided + by mod_md. See mod_md's documentation + on how to enable this. +

+
top
+
+

TLS Variables

+

+ Via the directive TLSOptions, several variables + are placed into the environment of requests and can be inspected, for + example in a CGI script. +

+

+ The variable names are given by mod_ssl. Note that these + are only a subset of the many variables that mod_ssl exposes. +

+ + + + + + + + + + + + + +
VariableTLSOptionDescription
SSL_TLS_SNI*the server name indicator (SNI) send by the client
SSL_PROTOCOL*the TLS protocol negotiated
SSL_CIPHER*the name of the TLS cipher negotiated
SSL_VERSION_INTERFACEStdEnvVarsthe module version
SSL_VERSION_LIBRARYStdEnvVarsthe rustls-ffi version
SSL_SECURE_RENEGStdEnvVarsalways `false`
SSL_COMPRESS_METHODStdEnvVarsalways `false`
SSL_CIPHER_EXPORTStdEnvVarsalways `false`
SSL_CLIENT_VERIFYStdEnvVarsalways `false`
SSL_SESSION_RESUMEDStdEnvVarseither `Resumed` if a known TLS session id was presented by the client or `Initial` otherwise
SSL_SERVER_CERTExportCertDatathe selected server certificate in PEM format
+

+ The variable SSL_SESSION_ID is intentionally not supported as + it contains sensitive information. +

+
top
+
+

Client Certificates

+

+ While rustls supports client certificates in principle, parts + of the infrastructure to make use of these in a server are not + offered. +

+

+ Among these features are: revocation lists, inspection of certificate + extensions and the matched issuer chain for OCSP validation. Without these, + revocation of client certificates is not possible. Offering authentication + without revocation is not considered an option. +

+

+ Work will continue on this and client certificate support may become + available in a future release. +

+
+
top
+

TLSCertificate Directive

+ + + + + + +
Description:adds a certificate and key (PEM encoded) to a server/virtual host.
Syntax:TLSCertificate cert_file [key_file]
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ If you do not specify a separate key file, the key is assumed to also be + found in the first file. You may add more than one certificate to a + server/virtual host. The first certificate suitable for a client is then chosen. +

+ The path can be specified relative to the server root. +

+ +
+
top
+

TLSCiphersPrefer Directive

+ + + + + + +
Description:defines ciphers that are preferred.
Syntax:TLSCiphersPrefer cipher(-list)
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ This will not disable any ciphers supported by `rustls`. If you + specify a cipher that is completely unknown, the configuration will + fail. If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+

+

Example

TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305
+
+

+ The example gives 2 ciphers preference over others, in the + order they are mentioned. +

+ +
+
top
+

TLSCiphersSuppress Directive

+ + + + + + +
Description:defines ciphers that are not to be used.
Syntax:TLSCiphersSuppress cipher(-list)
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ This will not disable any unmentioned ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+

+

Example

TLSCiphersSuppress ECDHE-ECDSA-CHACHA20-POLY1305
+
+

+ The example removes a cipher for use in connections. +

+ +
+
top
+

TLSEngine Directive

+ + + + + + +
Description:defines on which address+port the module shall handle incoming connections.
Syntax:TLSEngine [address:]port
Context:server config
Status:Experimental
Module:mod_tls
+

+ This is set on a global level, not in individual <VirtualHost>s. + It will affect all <VirtualHost> + that match the specified address/port. + You can use TLSEngine several times to use more than one address/port. +

+

+

Example

TLSEngine 443
+
+

+ The example tells mod_tls to handle incoming connection on port 443 for + all listeners. +

+ +
+
top
+

TLSHonorClientOrder Directive

+ + + + + + + +
Description:determines if the order of ciphers supported by the client is honored
Syntax:TLSHonorClientOrder on|off
Default:TLSHonorClientOrder on
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ TLSHonorClientOrder determines if the order of ciphers + supported by the client is honored. +

+

+ +
+
top
+

TLSOptions Directive

+ + + + + + +
Description:enables SSL variables for requests.
Syntax:TLSOptions [+|-]option
Context:server config, virtual host, directory, .htaccess
Status:Experimental
Module:mod_tls
+

+ TLSOptions is analog to SSLOptions in mod_ssl. + It can be set per directory/location and `option` can be: +

+
    +
  • `StdEnvVars`: adds more variables to the requests environment, + as forwarded for example to CGI processing and other applications. +
  • +
  • `ExportCertData`: adds certificate related variables to the request environment. +
  • +
  • `Defaults`: resets all options to their default values.
  • +
+

+ Adding variables to a request environment adds overhead, especially + when certificates need to be inspected and fields extracted. + Therefore most variables are not set by default. +

+

+ You can configure TLSOptions per location or generally on a + server/virtual host. Prefixing an option with `-` disables this + option while leaving others unchanged. + A `+` prefix is the same as writing the option without one. +

+

+ The `Defaults` value can be used to reset any options that are + inherited from other locations or the virtual host/server. +

+

Example

<Location /myplace/app>
+  TLSOptions Defaults StdEnvVars
+  ...
+</Location>
+
+ +
+
top
+

TLSProtocol Directive

+ + + + + + + +
Description:specifies the minimum version of the TLS protocol to use.
Syntax:TLSProtocol version+
Default:TLSProtocol v1.2+
Context:server config, virtual host
Status:Experimental
Module:mod_tls
+

+ The default is `v1.2+`. Settings this to `v1.3+` would disable TLSv1.2. +

+ +
+
top
+

TLSProxyCA Directive

+ + + + + + +
Description:sets the root certificates to validate the backend server with.
Syntax:TLSProxyCA file.pem
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ +

+ +
+
top
+

TLSProxyCiphersPrefer Directive

+ + + + + + +
Description:defines ciphers that are preferred for a proxy connection.
Syntax:TLSProxyCiphersPrefer cipher(-list)
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ This will not disable any ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+ +
+
top
+

TLSProxyCiphersSuppress Directive

+ + + + + + +
Description:defines ciphers that are not to be used for a proxy connection.
Syntax:TLSProxyCiphersSuppress cipher(-list)
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ This will not disable any unmentioned ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. +

+ +
+
top
+

TLSProxyEngine Directive

+ + + + + + +
Description:enables TLS for backend connections.
Syntax:TLSProxyEngine on|off
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ TLSProxyEngine is analog to SSLProxyEngine in mod_ssl. +

+ This can be used in a server/virtual host or <Proxy> section to + enable the module for outgoing connections using mod_proxy. +

+ +
+
top
+

TLSProxyMachineCertificate Directive

+ + + + + + +
Description:adds a certificate and key file (PEM encoded) to a proxy setup.
Syntax:TLSProxyMachineCertificate cert_file [key_file]
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ The certificate is used to authenticate against a proxied backend server. +

+ If you do not specify a separate key file, the key is assumed to also be + found in the first file. You may add more than one certificate to a proxy + setup. The first certificate suitable for a proxy connection to a backend + is then chosen by rustls. +

+

+ The path can be specified relative to the server root. +

+ +
+
top
+

TLSProxyProtocol Directive

+ + + + + + + +
Description:specifies the minimum version of the TLS protocol to use in proxy connections.
Syntax:TLSProxyProtocol version+
Default:TLSProxyProtocol v1.2+
Context:server config, virtual host, proxy section
Status:Experimental
Module:mod_tls
+

+ The default is `v1.2+`. Settings this to `v1.3+` would disable TLSv1.2. +

+ +
+
top
+

TLSSessionCache Directive

+ + + + + + +
Description:specifies the cache for TLS session resumption.
Syntax:TLSSessionCache cache-spec
Context:server config
Status:Experimental
Module:mod_tls
+

+ This uses a cache on the server side to allow clients to resume connections. +

+ You can set this to `none` or define a cache as in the SSLSessionCache + directive of mod_ssl. +

+ If not configured, `mod_tls` will try to create a shared memory cache on its own, + using `shmcb:tls/session-cache` as specification. + Should that fail, a warning is logged, but the server continues. +

+ +
+
top
+

TLSStrictSNI Directive

+ + + + + + + +
Description:enforces exact matches of client server indicators (SNI) against host names.
Syntax:TLSStrictSNI on|off
Default:TLSStrictSNI on
Context:server config
Status:Experimental
Module:mod_tls
+

+ Client connections using SNI will be unsuccessful if no match is found. +

+ +
+
+
+

Available Languages:  en 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html b/docs/manual/mod/mod_unique_id.html new file mode 100644 index 0000000..75891fe --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_unique_id.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_unique_id.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_unique_id.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_unique_id.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_unique_id.html.en b/docs/manual/mod/mod_unique_id.html.en new file mode 100644 index 0000000..5223942 --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.en @@ -0,0 +1,250 @@ + + + + + +mod_unique_id - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_unique_id

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Provides an environment variable with a unique +identifier for each request
Status:Extension
Module Identifier:unique_id_module
Source File:mod_unique_id.c
+

Summary

+ + +

This module provides a magic token for each request which is + guaranteed to be unique across "all" requests under very + specific conditions. The unique identifier is even unique + across multiple machines in a properly configured cluster of + machines. The environment variable UNIQUE_ID is + set to the identifier for each request. Unique identifiers are + useful for various reasons which are beyond the scope of this + document.

+
+
Support Apache!

Topics

+

Directives

+

This module provides no + directives.

+

Bugfix checklist

See also

+
+
top
+
+

Theory

+ + +

First a brief recap of how the Apache server works on Unix + machines. This feature currently isn't supported on Windows NT. + On Unix machines, Apache creates several children, the children + process requests one at a time. Each child can serve multiple + requests in its lifetime. For the purpose of this discussion, + the children don't share any data with each other. We'll refer + to the children as httpd processes.

+ +

Your website has one or more machines under your + administrative control, together we'll call them a cluster of + machines. Each machine can possibly run multiple instances of + Apache. All of these collectively are considered "the + universe", and with certain assumptions we'll show that in this + universe we can generate unique identifiers for each request, + without extensive communication between machines in the + cluster.

+ +

The machines in your cluster should satisfy these + requirements. (Even if you have only one machine you should + synchronize its clock with NTP.)

+ +
    +
  • The machines' times are synchronized via NTP or other + network time protocol.
  • + +
  • The machines' hostnames all differ, such that the module + can do a hostname lookup on the hostname and receive a + different IP address for each machine in the cluster.
  • +
+ +

As far as operating system assumptions go, we assume that + pids (process ids) fit in 32-bits. If the operating system uses + more than 32-bits for a pid, the fix is trivial but must be + performed in the code.

+ +

Given those assumptions, at a single point in time we can + identify any httpd process on any machine in the cluster from + all other httpd processes. The machine's IP address and the pid + of the httpd process are sufficient to do this. A httpd process + can handle multiple requests simultaneously if you use a + multi-threaded MPM. In order to identify threads, we use a thread + index Apache httpd uses internally. So in order to + generate unique identifiers for requests we need only + distinguish between different points in time.

+ +

To distinguish time we will use a Unix timestamp (seconds + since January 1, 1970 UTC), and a 16-bit counter. The timestamp + has only one second granularity, so the counter is used to + represent up to 65536 values during a single second. The + quadruple ( ip_addr, pid, time_stamp, counter ) is + sufficient to enumerate 65536 requests per second per httpd + process. There are issues however with pid reuse over time, and + the counter is used to alleviate this issue.

+ +

When an httpd child is created, the counter is initialized + with ( current microseconds divided by 10 ) modulo 65536 (this + formula was chosen to eliminate some variance problems with the + low order bits of the microsecond timers on some systems). When + a unique identifier is generated, the time stamp used is the + time the request arrived at the web server. The counter is + incremented every time an identifier is generated (and allowed + to roll over).

+ +

The kernel generates a pid for each process as it forks the + process, and pids are allowed to roll over (they're 16-bits on + many Unixes, but newer systems have expanded to 32-bits). So + over time the same pid will be reused. However unless it is + reused within the same second, it does not destroy the + uniqueness of our quadruple. That is, we assume the system does + not spawn 65536 processes in a one second interval (it may even + be 32768 processes on some Unixes, but even this isn't likely + to happen).

+ +

Suppose that time repeats itself for some reason. That is, + suppose that the system's clock is screwed up and it revisits a + past time (or it is too far forward, is reset correctly, and + then revisits the future time). In this case we can easily show + that we can get pid and time stamp reuse. The choice of + initializer for the counter is intended to help defeat this. + Note that we really want a random number to initialize the + counter, but there aren't any readily available numbers on most + systems (i.e., you can't use rand() because you need + to seed the generator, and can't seed it with the time because + time, at least at one second resolution, has repeated itself). + This is not a perfect defense.

+ +

How good a defense is it? Suppose that one of your machines + serves at most 500 requests per second (which is a very + reasonable upper bound at this writing, because systems + generally do more than just shovel out static files). To do + that it will require a number of children which depends on how + many concurrent clients you have. But we'll be pessimistic and + suppose that a single child is able to serve 500 requests per + second. There are 1000 possible starting counter values such + that two sequences of 500 requests overlap. So there is a 1.5% + chance that if time (at one second resolution) repeats itself + this child will repeat a counter value, and uniqueness will be + broken. This was a very pessimistic example, and with real + world values it's even less likely to occur. If your system is + such that it's still likely to occur, then perhaps you should + make the counter 32 bits (by editing the code).

+ +

You may be concerned about the clock being "set back" during + summer daylight savings. However this isn't an issue because + the times used here are UTC, which "always" go forward. Note + that x86 based Unixes may need proper configuration for this to + be true -- they should be configured to assume that the + motherboard clock is on UTC and compensate appropriately. But + even still, if you're running NTP then your UTC time will be + correct very shortly after reboot.

+ + +

The UNIQUE_ID environment variable is + constructed by encoding the 144-bit (32-bit IP address, 32 bit + pid, 32 bit time stamp, 16 bit counter, 32 bit thread index) + quadruple using the + alphabet [A-Za-z0-9@-] in a manner similar to MIME + base64 encoding, producing 24 characters. The MIME base64 + alphabet is actually [A-Za-z0-9+/] however + + and / need to be specially encoded + in URLs, which makes them less desirable. All values are + encoded in network byte ordering so that the encoding is + comparable across architectures of different byte ordering. The + actual ordering of the encoding is: time stamp, IP address, + pid, counter. This ordering has a purpose, but it should be + emphasized that applications should not dissect the encoding. + Applications should treat the entire encoded + UNIQUE_ID as an opaque token, which can be + compared against other UNIQUE_IDs for equality + only.

+ +

The ordering was chosen such that it's possible to change + the encoding in the future without worrying about collision + with an existing database of UNIQUE_IDs. The new + encodings should also keep the time stamp as the first element, + and can otherwise use the same alphabet and bit length. Since + the time stamps are essentially an increasing sequence, it's + sufficient to have a flag second in which all machines + in the cluster stop serving any request, and stop using the old + encoding format. Afterwards they can resume requests and begin + issuing the new encodings.

+ +

This we believe is a relatively portable solution to this + problem. The identifiers + generated have essentially an infinite life-time because future + identifiers can be made longer as required. Essentially no + communication is required between machines in the cluster (only + NTP synchronization is required, which is low overhead), and no + communication between httpd processes is required (the + communication is implicit in the pid value assigned by the + kernel). In very specific situations the identifier can be + shortened, but more information needs to be assumed (for + example the 32-bit IP address is overkill for any site, but + there is no portable shorter replacement for it).

+
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html.fr.utf8 b/docs/manual/mod/mod_unique_id.html.fr.utf8 new file mode 100644 index 0000000..4cb5b1e --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.fr.utf8 @@ -0,0 +1,272 @@ + + + + + +mod_unique_id - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_unique_id

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Fournit une variable d'environnement contenant un +identifiant unique pour chaque requête
Statut:Extension
Identificateur de Module:unique_id_module
Fichier Source:mod_unique_id.c
+

Sommaire

+ + +

Ce module fournit un identifiant dont l'unicité est garantie + parmi "toutes" les requêtes sous des conditions très précises. + L'identifiant unique le sera aussi parmi plusieurs machines + appartenant à un cluster correctement configuré. L'identifiant est + affecté à la variable d'environnement UNIQUE_ID pour + chaque requête. Les identifiants uniques sont utiles pour diverses + raisons dont la nature se situe au delà de la portée de ce + document.

+
+
Support Apache!

Sujets

+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+
top
+
+

Théorie

+ + +

Tout d'abord un bref rappel de la manière dont le serveur Apache + fonctionne sous Unix (cette fonctionnalité n'étant actuellement pas + supportée sous Windows NT). Sous Unix, Apache crée plusieurs + processus enfants, ces derniers traitant les requêtes une par une. + Chaque processus enfant peut traiter plusieurs requêtes pendant sa + durée de vie. Dans le cadre de cette discussion, nous supposerons + que les différents processus enfants ne s'échangent pas de données + entre eux. Nous nous référerons aux processus enfants sous le nom de + processus httpd.

+ +

Votre site web est réparti entre une ou plusieurs machines dont + vous êtes l'administrateur, et que nous nommerons cluster de + serveurs. Chaque serveur peut exécuter plusieurs instances d'Apache. + L'ensemble de ces dernières sera considéré comme "l'Univers", et + sous certaines hypothèses, nous montrerons qu'il est possible dans + cet univers, de générer des identifiants uniques pour chaque + requête, sans pour autant nécessiter une communication importante + entre les différents serveurs du cluster.

+ +

Les machines de votre cluster doivent satisfaire ces conditions + (même si le cluster ne comporte qu'une machine, vous devez + synchroniser son horloge avec NTP) :

+ +
    +
  • Les temps des machines sont synchronisés via NTP ou tout autre + protocole de synchronisation du temps en réseau.
  • + +
  • Les nom d'hôtes des machines sont tous différents, de façon à + ce que le module puisse recevoir une adresse IP différente pour + chaque machine du cluster en effectuant une recherche sur le nom + d'hôte.
  • +
+ +

Au vu des caractéristiques actuelles du système d'exploitation, + nous supposerons que les pids (identifiants processus) sont codés + sur 32 bits. Si le système d'exploitation utilise plus de 32 bits + pour un pid, la correction est triviale mais doit être effectuée + dans le code.

+ +

Ces hypothèses posées, à un instant donné, nous pouvons + distinguer tout processus httpd sur toute machine du cluster de tous + les autres processus httpd. Pour ce faire, il suffit d'utiliser + l'adresse IP de la machine et le pid du processus httpd. Un + processus httpd peut traiter plusieurs requêtes simultanément si + vous utilisez un module MPM multi-threadé. Pour identifier les + threads, Apache httpd utilise en interne un index de threads. Ainsi, + afin de générer des identifiants uniques pour chaque requête, il + suffit d'effectuer une distinction en fonction du temps.

+ +

Pour déterminer le temps, nous utiliserons un repère de temps + Unix (les secondes écoulées depuis le 1er janvier 1970 UTC), et un + compteur 16 bits. La précision du repère de temps n'étant que d'une + seconde, le compteur va représenter 65536 valeurs par seconde. Le + quadruplet (adresse IP, pid, repère de temps, compteur) est + en mesure de distinguer 65536 requêtes par seconde par processus + httpd. Il peut cependant arriver que le même pid soit réutilisé au + cours du temps, et le compteur est là pour pallier cet + inconvénient.

+ +

Lorsqu'un processus enfant httpd est créé, le compteur est + initialisé avec (nombre de microsecondes actuel divisé par 10) + modulo 65536 (cette formule a été choisie pour éliminer certains + problème de variance avec les bits de poids faibles du compteur de + microsecondes sur certains systèmes). Lorsqu'un identifiant unique + est généré, le repère de temps utilisé est le moment où la requête + arrive sur le serveur web. Le compteur est incrémenté à chaque + création d'identifiant (et peut repasser à 0 lorsqu'il a atteint sa + valeur maximale).

+ +

Le noyau génère un pid pour chaque processus lors de sa création, + et le compteur de pid est réinitialisé à une certaine valeur + lorsqu'il a atteint sa valeur maximale (les pid sont codés sur 16 + bits sous de nombreux Unixes, mais les systèmes les plus récents les + ont étendus à 32 bits). La même valeur de pid pourra donc être + réutilisée au cours du temps. Cependant, tant qu'elle n'est pas + réutilisée dans la même seconde, elle ne remet pas en cause + l'unicité de notre quadruplet. Nous supposerons donc que le système + ne créera pas plus de 65536 processus en une seconde (ce nombre peut + être de 32768 sous certains Unixes, mais même dans ce cas, on est en + général loin de cette situation).

+ +

Il est possible que le temps se répète pour une raison + quelconque. + Supposons par exemple que l'horloge système soit retardée et repasse + par un temps passé (ou bien, comme elle avançait, elle a été remise + à l'heure, et elle repasse par un temps futur). Dans ce cas, il peut + être facilement démontré que le couple pid/repère de temps peut être + réutilisé. Le choix de la formule d'initialisation du compteur a + été effectué dans l'intention de pallier ce problème. Notez qu'un + nombre vraiment aléatoire serait souhaitable pour initialiser le + compteur, mais il n'existe pas de tel nombre directement lisible sur + la plupart des systèmes (c'est à dire que vous ne pouvez pas + utiliser rand() car vous devez déclencher le générateur avec une + valeur unique, et vous ne pouvez pas utiliser le temps à cet effet + car celui-ci , au moins à la seconde près, s'est répété). Il ne + s'agit donc pas d'une défense parfaite.

+ +

Même si elle n'est pas parfaite, quel est le degré d'efficacité + de cette défense ? Supposons + qu'une de vos machines serve au plus 500 requêtes par seconde (ce + qui constitue une limite supérieure très raisonnable au moment où ce + document est écrit, car les systèmes ne se contentent en général pas + de débiter des fichiers statiques). Pour y parvenir, un certain nombre + de processus enfants sera nécessaire, qui dépendra du nombre de + clients simultanés présents. Mais soyons pessimiste et supposons + qu'un seul processus enfant soit capable de servir 500 requêtes par + secondes. + Il existe 1000 valeurs de démarrage possibles du compteur pour + lesquelles deux séquences de 500 requêtes puissent se recouvrir. Il + y a donc 1,5% de chance que le processus enfant répète une valeur de + compteur si le temps se répète (avec une résolution d'une seconde), + et l'unicité sera alors remise en cause. C'est cependant un exemple + très pessimiste, et avec les valeurs du monde réel, il y a bien + moins de chances que cela ne se produise. Si vous estimez que ceci a + tout de même quelque chances de se produire sur votre système, vous + pouvez migrer vers un compteur à 32 bits (en modifiant le code).

+ +

On pourrait supposer que ceci a plus de chance de se produire + lors du passage à l'heure d'hiver où l'horloge est "retardée". Cela + ne constitue cependant pas un problème car les temps pris en compte + ici sont des temps UTC, qui vont "toujours" de l'avant. Notez que + les Unixes à base de processeur x86 peuvent nécessiter une + configuration particulière pour que ceci soit vrai -- il doivent + être configurés pour assumer que l'horloge système est en UTC et + compenser de manière appropriée. Mais même dans ce cas, si vous + utilisez NTP, votre temps UTC sera correct peu après le + redémarrage.

+ + +

La variable d'environnement UNIQUE_ID est construite + par codage du quadruplet de 144 bits (adresse IP sur 32 bits, pid + sur 32 bits, repère de temps sur 32 bits, compteur 16 bits et index + de threads sur 32 bits) en + utilisant l'alphabet [A-Za-z0-9@-] d'une manière + similaire à celle du codage MIME base64, et sa valeur se présente + sous la forme d'une chaîne de 24 caractères. L'alphabet MIME base64 + est en fait [A-Za-z0-9+/] ; cependant, les caractères + + et / nécessitent un codage particulier + dans les URLs, ce qui rend leur utilisation peu commode. Toutes les + valeurs sont codées dans l'ordre des octets d'une adresse réseau de + façon à ce + que le codage soit comparable entre des architectures où l'ordre des + octets est différent. L'ordre réel de codage est : repère de temps, + adresse IP, pid, compteur. Cet ordre de codage possède un but + précis, mais il faut souligner que les applications n'ont aucun + intérêt à entrer dans les détails de ce codage. Les applications + doivent se contenter de traiter la variable UNIQUE_ID + comme un symbole opaque, qui peut être comparé avec d'autres + UNIQUE_IDs en ne testant que leur égalité.

+ +

L'ordre a été choisi de façon à ce qu'il soit possible de + modifier le codage dans le futur sans avoir à se préoccuper de + conflits éventuels avec une base de données de + UNIQUE_IDs existante. Les nouveaux codages doivent + conserver le repère de temps comme premier élément, et pour le + reste, utiliser les même alphabet et longueur en bits. Comme les + repères de temps constituent essentiellement un séquence croissante, + il suffit que toutes les machines du cluster arrêtent de traiter + toute requête dans la même seconde repère, et n'utilisent + alors plus l'ancien format de codage. Ensuite, elles peuvent + reprendre le traitement des requêtes en utilisant les nouveaux + codages.

+ +

Nous pensons que ceci apporte une solution relativement portable + au problème. Les + identifiants générés possèdent une durée de vie pratiquement infinie + car les identifiants futurs pourront être allongés selon les + besoins. Pratiquement aucune communication n'est requise entre les + machines du cluster (seule la synchronisation NTP est requise, ce + qui représente une charge très faible), et aucune communication + entre les processus httpd n'est nécessaire (la communication est + implicite et incluse dans le pid assigné par le noyau). Dans des + situations très spécifiques, l'identifiant peut être raccourci, mais + dans ce cas, d'avantage d'informations doivent être admises (par + exemple, les 32 bits de l'adresse IP sont excessifs pour la plupart + des sites, mais il n'existe pas de valeur de remplacement portable + plus courte).

+
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html.ja.utf8 b/docs/manual/mod/mod_unique_id.html.ja.utf8 new file mode 100644 index 0000000..bc164a2 --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.ja.utf8 @@ -0,0 +1,248 @@ + + + + + +mod_unique_id - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_unique_id

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:ãã‚Œãžã‚Œã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ä¸€æ„ãªè­˜åˆ¥å­ã®å…¥ã£ãŸç’°å¢ƒå¤‰æ•°ã‚’ +æä¾›ã™ã‚‹
ステータス:Extension
モジュール識別å­:unique_id_module
ソースファイル:mod_unique_id.c
+

概è¦

+ + +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯éžå¸¸ã«åˆ¶é™ã•ã‚ŒãŸæ¡ä»¶ä¸‹ã§ã€ + ãã‚Œãžã‚Œã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã€Œã™ã¹ã¦ã€ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—㦠+ 一æ„ã«æ±ºã¾ã‚‹ã“ã¨ãŒä¿è¨¼ã•ã‚Œã¦ã„る魔法ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’æä¾›ã—ã¾ã™ã€‚ + ã“ã®ä¸€æ„ãªè­˜åˆ¥å­ã¯ã€é©åˆ‡ã«è¨­å®šã•ã‚ŒãŸã‚¯ãƒ©ã‚¹ã‚¿ã§ã¯è¤‡æ•°ã® + マシンã®é–“ã§ã•ãˆã‚‚一æ„ã«ãªã‚Šã¾ã™ã€‚ãã‚Œãžã‚Œã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—ã¦ç’°å¢ƒå¤‰æ•° + UNIQUE_ID ã«è­˜åˆ¥å­ãŒè¨­å®šã•ã‚Œã¾ã™ã€‚ + 一æ„ãªè­˜åˆ¥å­ãŒä¾¿åˆ©ãªç†ç”±ã¯ã„ã‚ã„ã‚ã‚ã‚Šã¾ã™ãŒã€ + ã“ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ç›®çš„ã‹ã‚‰ã¯å¤–れるãŸã‚ã€ã“ã“ã§ã¯èª¬æ˜Žã—ã¾ã›ã‚“。

+
+
Support Apache!

トピック

+

ディレクティブ

+

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚ã‚Šã¾ã›ã‚“。

+

Bugfix checklist

å‚ç…§

+
+
top
+
+

ç†è«–

+ + +

ã¾ãšã¯ã˜ã‚ã«ã€Apache サーãƒãŒ Unix + マシンã§ã©ã®ã‚ˆã†ã«å‹•ä½œã‚’ã™ã‚‹ã‹ã‚’ç°¡å˜ã«èª¬æ˜Žã—ã¾ã™ã€‚ + ã“ã®æ©Ÿèƒ½ã¯ç¾æ™‚点ã§ã¯ Windows NT ã§ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。 + Unix マシンã§ã¯ Apache ã¯ã„ãã¤ã‹ã®å­ãƒ—ロセスを作æˆã—〠+ ãã®å­ãƒ—ロセスãŒä¸€ã¤ãšã¤ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã—ã¾ã™ã€‚ãã‚Œãžã‚Œã®å­ãƒ—ロセスã¯ã€ + 生存期間中ã«è¤‡æ•°ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®è­°è«–ã§ã¯å­ãƒ—ロセス間ã§ã¯ä¸€åˆ‡ãƒ‡ãƒ¼ã‚¿ã‚’共有ã—ãªã„ã“ã¨ã«ã—ã¾ã™ã€‚ + 以後ã€ã“ã®å­ãƒ—ロセスã®ã“ã¨ã‚’ httpd プロセス ã¨å‘¼ã³ã¾ã™ã€‚

+ +

ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã«ã¯ã‚ãªãŸãŒç®¡ç†ã™ã‚‹ã„ãã¤ã‹ã®ãƒžã‚·ãƒ³ãŒã‚ã‚‹ã¨ã—ã¾ã™ã€‚ + ãれらをã¾ã¨ã‚ã¦ã‚¯ãƒ©ã‚¹ã‚¿ã¨å‘¼ã¶ã“ã¨ã«ã—ã¾ã™ã€‚ãã‚Œãžã‚Œã®ãƒžã‚·ãƒ³ã¯è¤‡æ•°ã® + Apache を実行ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + ã“れらã™ã¹ã¦ã‚’ã¾ã¨ã‚ãŸã‚‚ã®ãŒã€Œå®‡å®™ã€ã§ã‚ã‚‹ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ + ã„ãã¤ã‹ã®ä»®å®šã®ä¸‹ã§ã€ã‚¯ãƒ©ã‚¹ã‚¿ã®ãƒžã‚·ãƒ³é–“ãŒãŸãã•ã‚“通信をã™ã‚‹ã“ã¨ãªã〠+ ã“ã®å®‡å®™ã®ä¸­ã§ãã‚Œãžã‚Œã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ä¸€æ„ãªè­˜åˆ¥å­ã‚’生æˆã§ãã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚ +

+ +

クラスタã«ã‚るマシンã¯ä»¥ä¸‹ã®è¦æ±‚を見ãŸã•ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + (マシンãŒä¸€ã¤ã ã‘ã ã¨ã—ã¦ã‚‚ã€NTP ã§æ™‚計をåˆã‚ã›ã‚‹æ–¹ãŒè‰¯ã„ã§ã™ã€‚)

+ +
    +
  • NTP ã‚„ä»–ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§æ™‚é–“ã‚’åˆã‚ã›ã‚‹ãƒ—ロトコルã«ã‚ˆã£ã¦ + å„マシンã®æ™‚é–“ã®åŒæœŸãŒå–られã¦ã„ã‚‹ã“ã¨ã€‚
  • + +
  • モジュールãŒãƒ›ã‚¹ãƒˆåを引ã„ã¦é•ã† IP + アドレスをå—ã‘å–ã‚‹ã“ã¨ãŒã§ãるよã†ã«ã€ + クラスタã®ãã‚Œãžã‚Œã®ãƒžã‚·ãƒ³ã®ãƒ›ã‚¹ãƒˆåãŒé•ã†ã“ã¨ã€‚
  • +
+ +

オペレーティングシステムã«ãŠã„ã¦ã¯ã€pid (プロセス ID) ㌠+ 32 ビットã®ç¯„囲内ã§ã‚ã‚‹ã“ã¨ã‚’仮定ã—ã¾ã™ã€‚オペレーティングシステム㮠+ pid ㌠32 ビットを超ãˆã‚‹å ´åˆã¯ã€ç°¡å˜ãªä¿®æ­£ã§ã¯ã‚ã‚Šã¾ã™ãŒã€ + コードを変更ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

ã“れらã®ä»®å®šãŒæº€ãŸã•ã‚Œã¦ã„ã‚‹ã¨ã€ã‚る時点ã«ãŠã„ã¦ã€ + クラスタ内ã®ã©ã®ãƒžã‚·ãƒ³ã®ã©ã® httpd + プロセスã§ã‚‚ã€ä¸€æ„ã«åŒå®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã‚Œã¯ãƒžã‚·ãƒ³ã® IP + アドレス㨠httpd プロセス㮠pid ã§å分ã«è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ä¸€æ„ãªè­˜åˆ¥å­ã‚’生æˆã™ã‚‹ãŸã‚ã«ã¯ã€ + 時刻を区別ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã ã‘ã§ã™ã€‚

+ +

時刻を区別ã™ã‚‹ãŸã‚ã«ã€Unix ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ— (UTC ã® 1970 å¹´ + 1 月 1 æ—¥ã‹ã‚‰ã®ç§’æ•°) ã¨ã€16 ビットã®ã‚«ã‚¦ãƒ³ã‚¿ã‚’使ã„ã¾ã™ã€‚ + タイムスタンプã®ç²’度ã¯ä¸€ç§’ã§ã™ã®ã§ã€ä¸€ç§’é–“ã® 65536 + ã¾ã§ã®å€¤ã‚’表ç¾ã™ã‚‹ãŸã‚ã«ã‚«ã‚¦ãƒ³ã‚¿ã‚’使用ã—ã¾ã™ã€‚å››ã¤ã®å€¤ + ( ip_addr, pid, time_stamp, counter ) ã§å„ httpd + プロセスã§ä¸€ç§’ã®é–“ã« 65536 リクエストを数ãˆã‚ã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 時間ãŒçµŒã¤ã¨ pid ãŒå†åˆ©ç”¨ã•ã‚Œã‚‹ã¨ã„ã†å•é¡ŒãŒã‚ã‚Šã¾ã™ãŒã€ + ã“ã®å•é¡Œã‚’解決ã™ã‚‹ãŸã‚ã«ã‚«ã‚¦ãƒ³ã‚¿ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

httpd ã®å­ãƒ—ロセスãŒä½œæˆã•ã‚Œã‚‹ã¨ã€ã‚«ã‚¦ãƒ³ã‚¿ã¯ + (ãã®æ™‚点ã®ãƒžã‚¤ã‚¯ãƒ­ç§’ ÷ 10) modulo 65536 ã§åˆæœŸåŒ–ã•ã‚Œã¾ã™ + (ã“ã®å¼ã¯ã„ãã¤ã‹ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã‚ã‚‹ã€ãƒžã‚¤ã‚¯ãƒ­ç§’ã® + タイマã®ä¸‹ä½ãƒ“ットãŒç•°ãªã‚‹ã¨ã„ã†å•é¡Œã‚’解決ã™ã‚‹ãŸã‚ã«é¸ã°ã‚Œã¾ã—ãŸ)。 + 一æ„ãªè­˜åˆ¥å­ãŒç”Ÿæˆã•ã‚ŒãŸã¨ãã€ä½¿ç”¨ã•ã‚Œã‚‹ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—㯠+ ウェブサーãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒåˆ°ç€ã—ãŸæ™‚刻ã«ãªã‚Šã¾ã™ã€‚ + カウンタã¯è­˜åˆ¥å­ãŒç”Ÿæˆã•ã‚Œã‚‹ãŸã³ã«å¢—加ã—ã¾ã™ + (ã‚ãµã‚ŒãŸå ´åˆã¯ 0 ã«æˆ»ã‚Šã¾ã™)。

+ +

カーãƒãƒ«ã¯ãƒ—ロセスをフォークã™ã‚‹ã¨ã€ãã‚Œãžã‚Œã®ãƒ—ロセスã®ãŸã‚ã« + pid を生æˆã—ã¾ã™ã€‚pid ã¯ç¹°ã‚Šè¿”ã•ã‚Œã‚‹ã“ã¨ãŒè¨±å¯ã•ã‚Œã¦ã„ã¾ã™ + (pid ã®å€¤ã¯å¤šãã® Unix ã§ã¯ 16 ビットã§ã™ãŒã€æ–°ã—ã„システムã§ã¯ + 32 ビットã«æ‹¡å¼µã•ã‚Œã¦ã„ã¾ã™)。 + ã§ã™ã‹ã‚‰ã€ã‚る程度ã®æ™‚é–“ãŒçµŒéŽã™ã‚‹ã¨åŒã˜ pid ãŒå†ã³ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ + ã—ã‹ã—ã€ä¸€ç§’内ã«å†ä½¿ç”¨ã•ã‚Œãªã‘ã‚Œã°ã€ + å››ã¤ã®å€¤ã®ä¸€æ„性ã¯ä¿ãŸã‚Œã¾ã™ã€‚ã¤ã¾ã‚Šã€æˆ‘々ã¯ã‚·ã‚¹ãƒ†ãƒ ãŒä¸€ç§’é–“ + ã« 65536 個ã®ãƒ—ロセスを起動ã—ãªã„ã¨ä»®å®šã—ã¦ã„ã¾ã™ (ã„ãã¤ã‹ã® Unix + ã§ã¯ 32768 プロセスã§ã™ãŒã€ãã‚Œã§ã™ã‚‰ã»ã¨ã‚“ã©ã‚ã‚Šå¾—ãªã„ã§ã—ょã†)。

+ +

何らã‹ã®ç†ç”±ã§ã€åŒã˜æ™‚刻ãŒç¹°ã‚Šè¿”ã•ã‚ŒãŸã¨ã—ã¾ã—ょã†ã€‚ + ã¤ã¾ã‚Šã€ã‚·ã‚¹ãƒ†ãƒ ã®æ™‚計ãŒç‹‚ã£ã¦ã„ã¦ã€ã‚‚ã†ä¸€åº¦éŽåŽ»ã®æ™‚刻ã«ãªã£ã¦ã—ã¾ã£ãŸ + (ã‚‚ã—ãã¯é€²ã¿ã™ãŽã¦ã„ãŸã¨ãã«ã€ + æ­£ã—ã„時刻ã«æˆ»ã—ãŸãŸã‚ã«å†ã³å°†æ¥ã®æ™‚刻ã«ãªã£ã¦ã—ã¾ã£ãŸ) ã¨ã—ã¾ã™ã€‚ + ã“ã®å ´åˆã€pid ã¨ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ãŒå†ä½¿ç”¨ã•ã‚Œã‚‹ã“ã¨ãŒç°¡å˜ã«ç¤ºã•ã‚Œã¾ã™ã€‚ + カウンタåˆæœŸåŒ–用ã®é–¢æ•°ã¯ã€ã“ã®å•é¡Œã®å›žé¿ã‚’手助ã‘ã—よã†ã¨é¸æŠžã•ã‚Œã¦ã„ã¾ã™ã€‚ + 本当ã¯ã‚«ã‚¦ãƒ³ã‚¿ã®åˆæœŸåŒ–ã‚’ã™ã‚‹ãŸã‚ã«ãƒ©ãƒ³ãƒ€ãƒ ãªæ•°å­—を使ã„ãŸã„ã®ã§ã™ãŒã€ + ã»ã¨ã‚“ã©ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ç°¡å˜ã«ä½¿ç”¨ã§ãã‚‹æ•°ã¯ç„¡ã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„ + (ã™ãªã‚ã¡ã€rand ()ã¯ä½¿ãˆã¾ã›ã‚“。rand () ã«ã¯ seed + を与ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã€seed ã«ã¯æ™‚刻を使ãˆã¾ã›ã‚“。一秒å˜ä½ã§ã¯ã€ + ãã®æ™‚刻ã¯ã™ã§ã«ç¹°ã‚Šè¿”ã•ã‚Œã¦ã„ã‚‹ã‹ã‚‰ã§ã™)。 + ã“ã‚Œã¯ã€å®Œç’§ãªå¯¾ç­–ã§ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

ã“ã®å¯¾ç­–ã¯ã©ã®ãらã„効果ãŒã‚ã‚‹ã§ã—ょã†ã‹? + ã“ã“ã§ã¯ã€ãƒžã‚·ãƒ³ç¾¤ã®ä¸­ã®ä¸€ã¤ã¯æœ€å¤§ã§ä¸€ç§’ã« 500 + リクエストを扱ã†ã¨ä»®å®šã—ã¾ã™ (ã“れを書ã„ã¦ã„る時点ã§ã¯å¦¥å½“ãªä¸Šé™ã§ã™ã€‚ + 通常システムãŒã™ã‚‹ã“ã¨ã¯é™çš„ãªãƒ•ã‚¡ã‚¤ãƒ«ã‚’å–ã‚Šã ã™ã ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã‹ã‚‰)。 + ãれを行ãªã†ãŸã‚ã«ã€ãã®ãƒžã‚·ãƒ³ã¯ä¸¦è¡Œã—ã¦æ¥ã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®æ•°ã« + å¿œã˜ãŸæ•°ã®å­ãƒ—ロセスをè¦æ±‚ã—ã¾ã™ã€‚ + ã—ã‹ã—ãªãŒã‚‰ã€æ‚²è¦³çš„ã«è€ƒãˆã¦ã€ä¸€ã¤ã®å­ãƒ—ロセスãŒä¸€ç§’ã« 500 + リクエストを扱ãˆã‚‹ã¨ã—ã¾ã™ã€‚ãã†ã™ã‚‹ã¨ã€(一秒ã®ç²¾åº¦ã«ãŠã„ã¦) + 時刻ãŒåŒã˜æ™‚ã‚’ç¹°ã‚Šè¿”ã™ã¨ã€ã“ã®å­ãƒ—ロセスãŒã‚«ã‚¦ãƒ³ã‚¿ã®å€¤ã‚’å†ã³ä½¿ã„〠+ 一æ„性ãŒå£Šã‚Œã‚‹å¯èƒ½æ€§ãŒ 1.5% ã‚ã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯éžå¸¸ã«æ‚²è¦³çš„ãªä¾‹ã§ã€å®Ÿä¸–ç•Œã®å€¤ã§ã¯ã€ã»ã¨ã‚“ã©èµ·ã“ã‚Šãã†ã«ã‚ã‚Šã¾ã›ã‚“。 + ãã‚Œã§ã‚‚ã“ã‚ŒãŒèµ·ã“ã‚‹å¯èƒ½æ€§ã®ã‚るよã†ãªã‚·ã‚¹ãƒ†ãƒ ãªã‚‰ã€ + (プログラムコードを編集ã—ã¦) + カウンタを 32 ビットã«ã™ã‚‹ã®ãŒè‰¯ã„ã§ã—ょã†ã€‚ +

+ +

サマータイムã«ã‚ˆã‚Šæ™‚計ãŒã€Œæˆ»ã•ã‚Œã‚‹ã€ã“ã¨ã‚’æ°—ã«ã—ã¦ã„る人㌠+ ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã“ã§ä½¿ç”¨ã•ã‚Œã‚‹æ™‚間㯠UTC ã§ã‚り〠+ ãã‚Œã¯ã€Œå¸¸ã«ã€é€²ã‚€ã®ã§ã“ã“ã§ã¯å•é¡Œã«ãªã‚Šã¾ã›ã‚“。x86 上㮠Unix + ã¯ã“ã®æ¡ä»¶ã‚’満ãŸã™ãŸã‚ã«é©åˆ‡ãªè¨­å®šãŒå¿…è¦ã‹ã‚‚ã—ã‚Œãªã„ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。マザーボードã®æ™‚計㯠UTC ã«ãªã£ã¦ã„ã¦ã€ + ä»–ã®æ™‚é–“ã¯ãã“ã‹ã‚‰é©åˆ‡ã«è£œæ­£ã•ã‚Œã‚‹ã“ã¨ã‚’仮定ã§ãるよã†ã« + 設定ã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ãã®ã‚ˆã†ãªå ´åˆã§ã•ãˆã€NTP + を使ã£ã¦ã„ã‚‹ãªã‚‰ã°ãƒªãƒ–ート後ã«ã™ãæ­£ã—ã„ UTC ã®æ™‚é–“ã«ãªã‚‹ã§ã—ょã†ã€‚

+ +

UNIQUE_ID 環境変数㯠112 ビット (32 ビット IP + アドレスã€32 ビット pid, 32 ビットタイムスタンプã€16 + ビットカウンタã®å››ã¤ã®çµ„) をアルファベット [A-Za-z0-9@-] + を用ã„㦠MIME ã® base64 符å·åŒ–ã¨åŒæ§˜ã®æ–¹æ³•ã«ã‚ˆã‚Šç¬¦å·åŒ–ã—ã€19 + ã®æ–‡å­—を生æˆã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šä½œæˆã•ã‚Œã¾ã™ã€‚MIME ã® base64 + ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã¯å®Ÿéš›ã¯ [A-Za-z0-9+/] ã§ã™ãŒã€ + + 㨠/ ã¨ã¯ URL + ã§ã¯ç‰¹åˆ¥ãªç¬¦å·åŒ–ãŒå¿…è¦ãªã®ã§ã€ã‚ã¾ã‚Šæœ›ã¾ã—ãã‚ã‚Šã¾ã›ã‚“。 + å…¨ã¦ã®å€¤ã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€ã§ç¬¦å·åŒ–ã•ã‚Œã¾ã™ã®ã§ã€ + 符å·ã¯é•ã£ãŸãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€ã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£é–“ã§æ¯”較å¯èƒ½ã§ã™ã€‚ + 実際ã®ç¬¦å·åŒ–ã®é †ç•ªã¯: タイムスタンプã€IP アドレスã€pid, + カウンタã§ã™ã€‚ã“ã®é †ã«ã¯ç›®çš„ãŒã‚ã‚Šã¾ã™ãŒã€ + アプリケーションã¯ç¬¦å·ã‚’解æžã™ã‚‹ã¹ãã§ã¯ãªã„ã“ã¨ã‚’強調ã—ã¦ãŠãã¾ã™ã€‚ + アプリケーションã¯ç¬¦å·åŒ–ã•ã‚ŒãŸ UNIQUE_ID + 全体をé€éŽçš„ãªãƒˆãƒ¼ã‚¯ãƒ³ã¨ã—ã¦æ‰±ã†ã¹ãã§ã™ã€‚ + UNIQUE_ID ã¯ä»–ã® UNIQUE_ID + ã¨ã®ç­‰ä¾¡æ€§ã‚’調ã¹ã‚‹ãŸã‚ã ã‘ã«ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚

+ +

ã“ã®é †ç•ªã¯å°†æ¥ã€æ—¢å­˜ã® UNIQUE_ID + ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨ã®è¡çªã‚’心é…ã™ã‚‹ã“ã¨ãªã符å·ã‚’変更ã™ã‚‹ã“ã¨ãŒ + å¯èƒ½ã«ãªã‚‹ã‚ˆã†ã«é¸æŠžã—ã¦ã„ã¾ã™ã€‚ + æ–°ã—ã„符å·ã¯ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—を最åˆã®è¦ç´ ã¨ã—ã¦æ®‹ã™ã®ãŒæœ›ã¾ã—ã〠+ ãれ以外ã¯åŒã˜ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã¨ãƒ“ット長を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + タイムスタンプã¯æœ¬è³ªçš„ã«å¢—加系列ã§ã™ã®ã§ã€ + クラスタã®å…¨ã¦ã®ãƒžã‚·ãƒ³ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨ã‚µãƒ¼ãƒæ©Ÿèƒ½ã‚’åœæ­¢ã—ã¦ã€ + å¤ã„符å·åŒ–æ–¹å¼ã‚’使用ã™ã‚‹ã®ã‚’ã‚„ã‚るフラグ秒ãŒã‚ã‚Œã°å分ã§ã™ã€‚ + ãã®å¾Œã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å†é–‹ã—〠+ æ–°ã—ã„符å·ã‚’発行ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+ +

我々ã¯ã“ã‚ŒãŒã€ + ã“ã®å•é¡Œã«å¯¾ã™ã‚‹æ¯”較的移æ¤æ€§ã®é«˜ã„解決法ã ã¨è€ƒãˆã¦ã„ã¾ã™ã€‚ + Windows NT ã®ã‚ˆã†ãªãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®ã‚·ã‚¹ãƒ†ãƒ ã«æ‹¡å¼µã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã—〠+ å°†æ¥å¿…è¦ã«ãªã‚Œã°ã•ã‚‰ã«å¢—ã‚„ã™ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + ID ã¯å¿…è¦ã«å¿œã˜ã¦é•·ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã®ã§ã€ç”Ÿæˆã•ã‚ŒãŸ ID + ã¯å®Ÿè³ªä¸Šã€ç„¡é™ã«æœ‰åŠ¹ã§ã™ã€‚ã¾ãŸã€ã‚¯ãƒ©ã‚¹ã‚¿ã®ãƒžã‚·ãƒ³é–“ã®é€šä¿¡ã‚‚事実上必è¦ãªã + (NTP ã«ã‚ˆã‚‹åŒæœŸã®ã¿ãŒå¿…è¦ã§ã€ã“ã‚Œã¯ã‚ªãƒ¼ãƒãƒ˜ãƒƒãƒ‰ã¯ã‚ã¾ã‚Šã‚ã‚Šã¾ã›ã‚“)ã€httpd + プロセス間ã®é€šä¿¡ã‚‚å¿…è¦ã‚ã‚Šã¾ã›ã‚“ (通信ã¯ã‚«ãƒ¼ãƒãƒ«ã«ã‚ˆã‚Šå‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸ + pid ã®å€¤ã«ã‚ˆã‚Šæš—é»™ã®å†…ã«è¡Œãªã‚ã¦ã„ã¾ã™)。 + ã•ã‚‰ã«é™ã‚‰ã‚ŒãŸçŠ¶æ³ä¸‹ã§ã¯ã€ID ã¯ã•ã‚‰ã«çŸ­ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ + より多ãã®æƒ…報を仮定ã™ã‚‹å¿…è¦ãŒã§ã¦ãã¾ã™ (例ãˆã°ã€32 ビット + IP アドレスã¯ã©ã®ã‚µã‚¤ãƒˆã«ãŠã„ã¦ã‚‚éŽå‰°ãªæƒ…å ±ã§ã™ãŒã€ + ãã‚Œã®ä»£ã‚ã‚Šã«ãªã‚‹ç§»æ¤æ€§ã®ã‚ã‚‹ã‚‚ã®ã¯ã‚ã‚Šã¾ã›ã‚“)。

+
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html.ko.euc-kr b/docs/manual/mod/mod_unique_id.html.ko.euc-kr new file mode 100644 index 0000000..1ee6e05 --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.ko.euc-kr @@ -0,0 +1,221 @@ + + + + + +mod_unique_id - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_unique_id

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:°¢ ¿äû¸¶´Ù À¯ÀÏÇÑ ½Äº°ÀÚ¸¦ °¡Áö´Â ȯ°æº¯¼ö¸¦ +Á¦°øÇÑ´Ù
»óÅÂ:Extension
¸ðµâ¸í:unique_id_module
¼Ò½ºÆÄÀÏ:mod_unique_id.c
+

¿ä¾à

+ + +

ÀÌ ¸ðµâÀº ¾î¶² Ưº°ÇÑ »óȲ¿¡¼­µµ "¸ðµç" ¿äûÁß¿¡¼­ + À¯ÀÏÇϵµ·Ï º¸ÀåµÈ ½Äº°ÀÚ(identifier)¸¦ ¸ðµç ¿äû¿¡ Á¦°øÇÑ´Ù. + ½ÉÁö¾î ÀÌ ½Äº°Àڴ Ưº°ÇÏ°Ô ±¸¼ºÇÑ Å¬·¯½ºÅÍÀÇ ¿©·¯ ÄÄÇ»Å͵é + Áß¿¡¼­µµ À¯ÀÏÇÏ´Ù. °¢ ¿äû¸¶´Ù ȯ°æº¯¼ö + UNIQUE_ID¸¦ ¼³Á¤ÇÑ´Ù. À¯ÀÏÇÑ ½Äº°ÀÚ´Â ¿©·¯°¡Áö + ¿ëµµ·Î »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ¼³¸íÀº ÀÌ ¹®¼­ÀÇ ¹üÀ§¸¦ ³Ñ¾î¼±´Ù.

+
+
Support Apache!

ÁÖÁ¦

+

Áö½Ã¾îµé

+

ÀÌ ¸ðµâ¿¡´Â Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.

+

Bugfix checklist

Âü°í

+
+
top
+
+

ÀÌ·Ð

+ + +

¸ÕÀú À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡ ¼­¹ö°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö + °£·«È÷ »ìÆ캸ÀÚ. Windows NT´Â ÇöÀç ÀÌ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. + À¯´Ð½º¿¡¼­ ¾ÆÆÄÄ¡´Â ¿©·¯ ÀÚ½ÄÀ» ¸¸µé°í, ÀÚ½Ä ÇÁ·Î¼¼½º´Â + Çѹø¿¡ ÇÑ ¿äû¾¿ ó¸®ÇÑ´Ù. ÀÚ½ÄÀº ½ÇÇàÁß¿¡ ¿©·¯ ¿äûÀ» + ó¸®ÇÑ´Ù. ¿©±â¼­ Áß¿äÇÑ °ÍÀº ÀڽĵéÀÌ ¼­·Î ÀڷḦ + °øÀ¯ÇÏÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù. ¾ÕÀ¸·Î ÀÚ½ÄÀ» httpd ÇÁ·Î¼¼½º¶ó°í + ÇÑ´Ù.

+ +

¿©·¯ ÄÄÇ»ÅÍ·Î À¥»çÀÌÆ®¸¦ ¼­ºñ½ºÇÑ´Ù¸é Ŭ·¯½ºÅÍ(cluster)¶ó°í + ºÎ¸¥´Ù. °¢ ÄÄÇ»ÅÍ´Â ¿©·¯ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ÀÌµé ¸ðµÎ¸¦ + "¿ìÁÖ"·Î º¸¸é, Ŭ·¯½ºÅÍ¿¡ ÀÖ´Â ÄÄÇ»Å͵鰣¿¡ ¸¹Àº Åë½Å¾øÀÌ + °¢ ¿äû¸¶´Ù ¿ìÁÖ¿¡¼­ À¯ÀÏÇÑ ½Äº°ÀÚ¸¦ ¸¸µé ¼ö ÀÖ´Ù.

+ +

Ŭ·¯½ºÅÍ¿¡ ÀÖ´Â ÄÄÇ»ÅÍ´Â ´ÙÀ½ ¿ä±¸»çÇ×À» ¸¸Á·ÇØ¾ß ÇÑ´Ù. + (ÄÄÇ»Å͸¦ ÇѴ븸 »ç¿ëÇÏ´õ¶óµµ ÄÄÇ»ÅÍ ½Ã°£À» NTP¿Í µ¿±âÇØ¾ß + ÇÑ´Ù.)

+ +
    +
  • ÄÄÇ»ÅÍ ½Ã°£Àº NTP³ª ´Ù¸¥ ³×Æ®¿÷ ½Ã°£ ÇÁ·ÎÅäÄÝ°ú + µ¿±âÈ­µÈ´Ù.
  • + +
  • ÄÄÇ»ÅÍÀÇ È£½ºÆ®¸íÀÌ ¸ðµÎ ´Ù¸£´Ù. ±×·¡¼­ ¸ðµâÀÌ + È£½ºÆ®¸íÀ¸·Î ãÀ¸¸é Ŭ·¯½ºÅÍ¿¡ ÀÖ´Â °¢ ÄÄÇ»Å͸¶´Ù ´Ù¸¥ + IP ÁÖ¼Ò¸¦ ¾ò´Â´Ù.
  • +
+ +

¿î¿µÃ¼Á¦¿¡¼­ pid (ÇÁ·Î¼¼½º id)°¡ 32ºñÆ®¿¡ µé¾î°£´Ù°í + °¡Á¤ÇÑ´Ù. ¿î¿µÃ¼Á¦°¡ pid·Î 32ºñÆ® ÀÌ»óÀ» »ç¿ëÇÑ´Ù¸é °£´ÜÇÏÁö¸¸ + Äڵ带 ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

+ +

ÀÌ·± °¡Á¤ÇÏ¿¡ ¿ì¸®´Â ¾î¶² ½ÃÁ¡¿¡¼­ Ŭ·¯½ºÅÍÀÇ ¾î¶² ÄÄÇ»ÅÍ¿¡ + ÀÖ´Â ¾î¶² httpd ÇÁ·Î¼¼½º¸¦ ´Ù¸¥ ¸ðµç httpd ÇÁ·Î¼¼½ºµé°ú + ±¸º°ÇÒ ¼ö ÀÖ´Ù. ÄÄÇ»ÅÍÀÇ IP ÁÖ¼Ò¿Í httpd ÇÁ·Î¼¼½ºÀÇ pid¸¸À¸·Îµµ + ÃæºÐÈ÷ ±¸º°ÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ¿äû¿¡ ´ëÇØ À¯ÀÏÇÑ ±¸º°ÀÚ¸¦ + ¸¸µå·Á¸é ½Ã°£Â÷¸¦ ±¸º°ÇÒ ¼ö¸¸ ÀÖÀ¸¸é µÈ´Ù.

+ +

½Ã°£À» ±¸º°ÇϱâÀ§ÇØ À¯´Ð½º ½Ã°£(timestamp, ¼¼°è Ç¥Áؽ÷Π+ 1970³â 1¿ù 1ÀÏ ÀÌÈÄ Áö³­ ÃÊ)°ú 16ºñÆ® Ä«¿îÅ͸¦ »ç¿ëÇÑ´Ù. + À¯´Ð½º ½Ã°£Àº ÃÊ´ÜÀ§ÀÌ°í, Ä«¿îÅÍ´Â ÀÏ Ãʵ¿¾È 65536±îÁö + Áõ°¡ÇÑ´Ù. ( ip_addr, pid, time_stamp, counter ) + ¹­À½Àº ¾î¶² httpd ÇÁ·Î¼¼½º¿¡¼­ ÀÏ Ãʵ¿¾È 65536 ¿äûÀ» ±¸º°ÇÒ + ¼ö ÀÖ´Ù. ±×·¯³ª Ä«¿îÅÍ´Â pid¸¦ Àç»ç¿ëÇÏ´Â ¹®Á¦¸¦ ÇØ°áÇØ¾ß + ÇÑ´Ù.

+ +

httpd ÀÚ½ÄÀ» ¸¸µé¸é Ä«¿îÅÍ´Â ( ÇöÀç ¹Ð¸®ÃÊ ³ª´©±â 10 )À» + 65536À¸·Î ³ª´« ³ª¸ÓÁö°¡ µÈ´Ù. (¸î¸î ½Ã½ºÅÛÀÇ ¹Ð¸®ÃÊ ½Ã°£¿¡¼­ + ÇÏÀ§ ºñÆ®°¡ ÀÏÄ¡ÇÏÁö¾Ê´Â ¹®Á¦¶§¹®¿¡ ÀÌ °ø½ÄÀ» ¸¸µé¾ú´Ù.) + À¯ÀÏÇÑ ½Äº°ÀÚ¸¦ ¸¸µé¶§ »ç¿ëÇÏ´Â ½Ã°£Àº À¥¼­¹ö°¡ ¿äûÀ» ¹ÞÀº + ½Ã°£ÀÌ´Ù. Ä«¿îÅÍ´Â ½Äº°ÀÚ¸¦ ¸¸µé¶§¸¶´Ù Áõ°¡ÇÑ´Ù (±×¸®°í + ´Ù½Ã ½ÃÀÛÇÑ´Ù).

+ +

Ä¿³ÎÀº ÇÁ·Î¼¼½º¸¦ Æ÷Å©ÇÒ¶§(fork) °¢ ÇÁ·Î¼¼½º¿¡ pid¸¦ + ÇÒ´çÇÏ°í, pid´Â ´Ù½Ã ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. (pid´Â ¸¹Àº À¯´Ð½º¿¡¼­ + 16ºñÆ®ÀÌÁö¸¸, ÃÖ±Ù ½Ã½ºÅÛÀº 32ºñÆ®·Î È®ÀåÇß´Ù.) ±×·¡¼­ ½Ã°£ÀÌ + Áö³ª¸é °°Àº pid¸¦ Àç»ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª °°Àº ½Ã°£¿¡ pid¸¦ + Àç»ç¿ëÇÏÁö ¾Ê´Â´Ù¸é À§ÀÇ ¹­À½Àº À¯ÀÏÇÏ´Ù. Áï, ¿ì¸®´Â ½Ã½ºÅÛÀÌ + ÀÏÃʵ¿¾È ÇÁ·Î¼¼½º¸¦ 65536°³ ÀÌ»ó ¸¸µéÁö ¾Ê´Â´Ù°í °¡Á¤ÇÑ´Ù. + (¾î¶² À¯´Ð½º¿¡¼­´Â 32768°³ ÀÌ»ó ÇÁ·Î¼¼½º¸¦ ¸¸µé¸é pid Àç»ç¿ë + ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÁö¸¸, ÀÌ°ÍÁ¶Â÷µµ ÀϾ °Í°°Áö ¾Ê´Ù.)

+ +

½Ã°£ÀÌ ¾î¶² ÀÌÀ¯¿¡¼­°Ç ¹Ýº¹µÈ´Ù°í °¡Á¤Çغ¸ÀÚ. Áï, ½Ã½ºÅÛ + ½Ã°è°¡ ²¿¿©¼­ ½Ã°£ÀÌ °ú°Å·Î µ¹¾Æ°¡´Â (ȤÀº ½Ã°è°¡ ³Ê¹« ¾Õ¼­°¡¼­ + ¿Ã¹Ù·Î Àç¼³Á¤ÇÑÈÄ ¹Ì·¡¿¡ °°Àº ½Ã°£ÀÌ µÇ´Â) °æ¿ì´Ù. ÀÌ °æ¿ì + pid¿Í ½Ã°£À» ¸ðµÎ Àç»ç¿ëÇÒ ¼ö ÀÖ´Ù. Ä«¿îÅÍÀÇ ÃʱâÈ­ °ø½ÄÀº + ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á°í °í¾ÈµÇ¾ú´Ù. ¿ì¸®´Â ½ÇÁ¦ ¹«ÀÛÀ§ ¼ýÀÚ·Î + Ä«¿îÅ͸¦ ÃʱâÈ­ÇÏ±æ ¿øÇÏÁö¸¸, ¸¹Àº ½Ã½ºÅÛ¿¡¼­ ÀÌ·± ¼ö¸¦ + ½±°Ô ¾òÀ» ¼ö ¾ø´Ù. (¿¹¸¦ µé¾î, seed°¡ ÇÊ¿äÇϱ⶧¹®¿¡ + rand()¸¦ »ç¿ëÇÒ ¼ö ¾ø°í, ½Ã°£Àº ÃÖ¼ÒÇÑ ÀÏÃÊ ´ÜÀ§À̱⶧¹®¿¡ + ½Ã°£À¸·Î seed·Î »ç¿ëÇÒ ¼ö ¾ø´Ù.) Áï ¿Ïº®ÇÑ ÇØ°áÃ¥ÀÌ ¾ø´Ù.

+ +

±×·³ ÀÌ ¹æ¹ýÀº ¾ó¸¶³ª ±¦ÂúÀ»±î? ÄÄÇ»ÅÍÁß Çϳª°¡ ¿äûÀ» + ÃÊ´ç ÃÖ´ë 500°³ (½Ã½ºÅÛÀº ÀϹÝÀûÀ¸·Î Á¤ÀûÀÎ ÆÄÀÏÀ» Àü¼ÛÇÏ´Â + °Í ÀÌ»óÀÇ ÀÛ¾÷À» ÇϹǷΠÀÌ ±ÛÀ» ¾²´Â ½ÃÁ¡¿¡¼­ »ó´çÈ÷ ³ôÀº + °ªÀÌ´Ù.) ¼­ºñ½ºÇÑ´Ù°í °¡Á¤ÇÏÀÚ. µ¿½Ã¿¡ ¾ó¸¶¸¸Å­ÀÇ Å¬¶óÀ̾ðÆ®¸¦ + ó¸®Çϴ°¡¿¡ µû¶ó ÀÚ½ÄÀÇ °³¼ö°¡ °áÁ¤µÈ´Ù. ±×·¯³ª ¿ì¸®´Â + ºñ°üÀûÀ¸·Î ÇÑ ÀÚ½ÄÀÌ ¿äûÀ» ÃÊ´ç 500°³ ó¸®ÇÒ ¼ö ÀÖ´Ù°í + °¡Á¤ÇÑ´Ù. Àç»ç¿ëÇÑ pid¸¦ °¡Áø ÀÚ½ÄÀÇ 500°³ ¿äû°ú ÀÌÀü ÀÚ½ÄÀÇ + 500°³ ¿äûÀÇ Ä«¿îÅÍ°ªÀÌ °ãÄ¥ ¼ö ÀÖ´Â Ä«¿îÅÍ ½ÃÀÛ°ª °æ¿ì¼ö´Â + 1000°³ÀÌ´Ù. ±×·¡¼­ (ÃÊ´ÜÀ§¿¡¼­) ÀÚ½ÄÀÌ Ä«¿îÅÍ°ªÀ» ¹Ýº¹ÇÏ¿© + À¯ÀϼºÀÌ ±úÁú È®·üÀº 1.5%ÀÌ´Ù. ÀÌ°ÍÀº ¸Å¿ì ºñ°üÀûÀÎ °¡Á¤À̸ç, + ½ÇÁ¦ ÀÌ·² °æ¿ì´Â »ó´çÈ÷ ´õ ³·´Ù. ±×·¡µµ ½Ã½ºÅÛ¿¡¼­ ÀÌ·± + ÀÏÀÌ ¹ß»ýÇÒ °Í °°´Ù¸é (¼Ò½º¸¦ ¼öÁ¤ÇÏ¿©) Ä«¿îÅ͸¦ 32ºñÆ®·Î + ¸¸µé¾î¶ó.

+ +

¼¶¸ÓŸÀÓ¶§¹®¿¡ ½Ã°è°¡ "µÚ·Î °¡´Â" °ÍÀ» °ÆÁ¤ÇÒÁöµµ ¸ð¸¥´Ù. + ±×·¯³ª ¿©±â¼­ »ç¿ëÇÏ´Â ½Ã°£Àº ±¹Á¦ Ç¥ÁؽÃ(UTC), Áï ½Ã°£ÀÌ + "Ç×»ó" ¾ÕÀ¸·Î °¡¹Ç·Î ¹®Á¦°¡ ¾ø´Ù. x86±â¹Ý À¯´Ð½º¿¡¼­´Â + ÀûÀýÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù. ¸ÞÀκ¸µå ½Ã°è°¡ UTC¸¦ »ç¿ëÇϵµ·Ï + ¼³Á¤ÇØ¾ß ÇÑ´Ù. ±×·¯³ª NTP¸¦ »ç¿ëÇÑ´Ù¸é Àç½ÃÀÛÈÄ Á¶±Ý Áö³ª¸é + UTC ½Ã°£¿¡ ¿Ã¹Ù·Î ¸ÂÃá´Ù.

+ +

ȯ°æº¯¼ö UNIQUE_ID´Â MIME base64 ÀÎÄÚµù°ú + ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î 112ºñÆ® (32ºñÆ® IP ÁÖ¼Ò, 32ºñÆ® pid, 32ºñÆ® + ½Ã°£, 16ºñÆ® Ä«¿îÅÍ) ¹­À½À» ¾ËÆĺª [A-Za-z0-9@-]·Î + Ç¥ÇöÇÑ´Ù. ½ÇÁ¦ MIME base64 ¾ËÆĺªÀº + [A-Za-z0-9+/]ÀÌÁö¸¸ +¿Í + /´Â URL¿¡¼­ Ưº°ÇÑ Àǹ̷Π»ç¿ëÇϹǷΠÁ¦¿ÜÇß´Ù. + ¸ðµç °ªÀ» ³×Æ®¿÷ ¹ÙÀÌÆ®¼ø¼­·Î ÀÎÄÚµùÇϱ⶧¹®¿¡ ´Ù¸¥ ¹ÙÀÌÆ®¼ø¼­¸¦ + »ç¿ëÇÏ´Â ¾ÆÅ°ÅØÃÄ°£¿¡ °ªÀÌ °°´Ù. ½ÇÁ¦ ÀÎÄÚµù ¼ø¼­´Â + ½Ã°£, IP ÁÖ¼Ò, pid, Ä«¿îÅÍ ¼ø¼­ÀÌ´Ù. ÀÌ ¼ø¼­¿¡´Â ¾î¶² ¸ñÀûÀÌ + ÀÖÁö¸¸, ÇÁ·Î±×·¥Àº ÀÎÄÚµù ¼ø¼­¿¡ ÀÇÁ¸ÇÏ¿© °ªµéÀ» ºÐ¼®Çϸé + ¾ÈµÊÀ» °­Á¶ÇÑ´Ù. ÇÁ·Î±×·¥Àº ÀÎÄÚµùµÈ UNIQUE_ID + Àüü¸¦ ÇÑ ´ÜÀ§·Î »ý°¢ÇÏ°í, ´Ù¸¥ UNIQUE_ID¿Í + µ¿ÀÏÇÑÁö¸¸ ºñ±³ÇÒ ¼ö ÀÖ´Ù.

+ +

¼ø¼­´Â ¾ÕÀ¸·Î ±âÁ¸ÀÇ UNIQUE_ID µ¥ÀÌÅͺ£À̽º¿Í + Ãæµ¹À» ¿°·ÁÇÏÁö¾Ê°í ÀÎÄÚµùÀ» º¯°æÇÒ ¼ö ÀÖµµ·Ï °í¾ÈÇß´Ù. + »õ·Î¿î ÀÎÄÚµùÀº ù Ç׸ñÀ¸·Î ½Ã°£À» »ç¿ëÇϰųª, °°Àº ¾ËÆĺª°ú + ºñÆ® ±æÀ̸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ½Ã°£ÀÌ ±âº»ÀûÀ¸·Î Áõ°¡ÇÏ´Â °ªÀ̹ǷΠ+ Ŭ·¯½ºÅÍ¿¡ ÀÖ´Â ¸ðµç ÄÄÇ»ÅÍ°¡ ¿äû ¼­ºñ½º¸¦ Áß´ÜÇÏ°í ÀÌÀü + ÀÎÄÚµù Çü½ÄÀ» ±×¸¸ »ç¿ëÇϱâÀ§ÇØ ±âÁØ ÃÊ(flag second)¸¸À¸·Î + ÃæºÐÇÏ´Ù. ÀÌÈÄ ¿äûÀ» Àç°ÔÇÏ°í »õ·Î¿î ÀÎÄÚµùÀ» ½ÃÀÛÇÒ ¼ö + ÀÖ´Ù.

+ +

¿ì¸®´Â ÀÌ ¹æ¹ýÀÌ ÀÌ ¹®Á¦¿¡ ´ëÇÏ¿© »ó´ëÀûÀ¸·Î Æ÷Æð¡´ÉÇÑ + ÇØ°áÃ¥À̶ó°í ¹Ï´Â´Ù. ÀÌ ¹æ¹ýÀº Windows NT¿Í °°Àº ¸ÖƼ¾²·¹µå + ½Ã½ºÅÛÀ¸·Î È®ÀåÇÒ ¼ö ÀÖ°í, ¾ÕÀ¸·Î ¿ëµµ¿¡ µû¶ó È®ÀåÇÒ ¼ö + ÀÖ´Ù. ¹Ì·¡¿¡ ÇÊ¿äÇѸ¸Å­ ´õ ±ä ½Äº°ÀÚ¸¦ ¸¸µé ¼ö Àֱ⶧¹®¿¡ + »ý¼ºÇÑ ½Äº°ÀÚ´Â ±âº»ÀûÀ¸·Î ¿µ¿øÇÑ ¼ö¸íÀ» °¡Áø´Ù. ±âº»ÀûÀ¸·Î + Ŭ·¯½ºÅÍÀÇ ÄÄÇ»ÅÍµé »çÀÌ¿¡ Åë½ÅÀÌ ÇÊ¿ä¾ø°í (ºÎÇÏ°¡ ÀÛÀº + NTP µ¿±â¸¸ ÇÊ¿äÇÏ´Ù), httpd ÇÁ·Î¼¼½º »çÀÌ¿¡ Åë½Åµµ ÇÊ¿ä¾ø´Ù + (Ä¿³ÎÀÌ ºÎ¿©ÇÏ´Â pid°ªÀÌ ¾Ï¹¬ÀûÀÎ Åë½ÅÀÌ´Ù). ¸Å¿ì ƯÀÌÇÑ + »óȲÀ̶ó¸é ÀνÄÀÚ Å©±â¸¦ ÁÙÀÏ ¼ö ÀÖÁö¸¸ ´õ ¸¹Àº Á¤º¸¸¦ + °¡Á¤ÇØ¾ß ÇÑ´Ù. (¿¹¸¦ µé¾î, ¾î¶² »çÀÌÆ®¿¡¼­ 32ºñÆ® IP ÁÖ¼Ò + ±¸ºÐÀº ºÒÇÊ¿äÇÏ°Ô Å©Áö¸¸, À̸¦ ÁÙÀÌ´Â ¹æ¹ýÀº »óȲ¿¡ µû¶ó + ´Ù¸£´Ù.)

+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.html b/docs/manual/mod/mod_unixd.html new file mode 100644 index 0000000..fc9f1b8 --- /dev/null +++ b/docs/manual/mod/mod_unixd.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_unixd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_unixd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_unixd.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_unixd.html.en b/docs/manual/mod/mod_unixd.html.en new file mode 100644 index 0000000..f36814d --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.en @@ -0,0 +1,211 @@ + + + + + +mod_unixd - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_unixd

+
+

Available Languages:  en  | + fr  | + tr 

+
+ + + +
Description:Basic (required) security for Unix-family platforms.
Status:Base
Module Identifier:unixd_module
Source File:mod_unixd.c
+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

ChrootDir Directive

+ + + + + + + + +
Description:Directory for apache to run chroot(8) after startup.
Syntax:ChrootDir /path/to/directory
Default:none
Context:server config
Status:Base
Module:mod_unixd
Compatibility:Available in Apache 2.2.10 and later
+

This directive tells the server to chroot(8) to the + specified directory after startup, but before accepting requests + over the 'net.

+

Note that running the server under chroot is not simple, + and requires additional setup, particularly if you are running + scripts such as CGI or PHP. Please make sure you are properly + familiar with the operation of chroot before attempting to use + this feature.

+ +
+
top
+

Group Directive

+ + + + + + + +
Description:Group under which the server will answer +requests
Syntax:Group unix-group
Default:Group #-1
Context:server config
Status:Base
Module:mod_unixd
+

The Group directive sets the group under + which the server will answer requests. In order to use this + directive, the server must be run initially as root. If + you start the server as a non-root user, it will fail to change to the + specified group, and will instead continue to run as the group of the + original user. Unix-group is one of:

+ +
+
A group name
+
Refers to the given group by name.
+ +
# followed by a group number.
+
Refers to a group by its number.
+
+ +

Example

Group www-group
+
+ +

It is recommended that you set up a new group specifically for + running the server. Some admins use user nobody, + but this is not always possible or desirable.

+ +

Security

+

Don't set Group (or User) to root unless + you know exactly what you are doing, and what the dangers are.

+
+ + +

See also

+ +
+
top
+

Suexec Directive

+ + + + + + + +
Description:Enable or disable the suEXEC feature
Syntax:Suexec On|Off
Default:On if suexec binary exists with proper owner and mode, +Off otherwise
Context:server config
Status:Base
Module:mod_unixd
+

When On, startup will fail if the suexec binary doesn't exist + or has an invalid owner or file mode.

+

When Off, suEXEC will be disabled even if the suexec binary exists + and has a valid owner and file mode.

+ +
+
top
+

User Directive

+ + + + + + + +
Description:The userid under which the server will answer +requests
Syntax:User unix-userid
Default:User #-1
Context:server config
Status:Base
Module:mod_unixd
+

The User directive sets the user ID as + which the server will answer requests. In order to use this + directive, the server must be run initially as root. + If you start the server as a non-root user, it will fail to change + to the lesser privileged user, and will instead continue to run as + that original user. If you do start the server as root, + then it is normal for the parent process to remain running as root. + Unix-userid is one of:

+ +
+
A username
+
Refers to the given user by name.
+ +
# followed by a user number.
+
Refers to a user by its number.
+
+ +

The user should have no privileges that result in it being + able to access files that are not intended to be visible to the + outside world, and similarly, the user should not be able to + execute code that is not meant for HTTP requests. It is + recommended that you set up a new user and group specifically for + running the server. Some admins use user nobody, but + this is not always desirable, since the nobody user + can have other uses on the system.

+ +

Security

+

Don't set User (or Group) to root unless + you know exactly what you are doing, and what the dangers are.

+
+ + +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.html.fr.utf8 b/docs/manual/mod/mod_unixd.html.fr.utf8 new file mode 100644 index 0000000..2fb3b06 --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.fr.utf8 @@ -0,0 +1,226 @@ + + + + + +mod_unixd - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_unixd

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ + + +
Description:Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.
Statut:Base
Identificateur de Module:unixd_module
Fichier Source:mod_unixd.c
+
+ + +
top
+

Directive ChrootDir

+ + + + + + + + +
Description:Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8).
Syntaxe:ChrootDir chemin-répertoire
Défaut:Non défini
Contexte:configuration globale
Statut:Base
Module:mod_unixd
Compatibilité:Disponible depuis la version 2.2.10 d'Apache
+

Cette directive fait en sorte que le serveur effectue un + chroot(8) vers le répertoire spécifié après le démarrage, + mais avant d'accepter les requêtes en provenance du réseau.

+

Notez que l'exécution du serveur dans un environnement chroot + n'est pas simple et nécessite une configuration particulière, en + particulier si vous utilisez des scripts CGI ou PHP. Il est + conseillé de se familiariser avec l'opération chroot avant d'essayer + d'utiliser cette fonctionnalité.

+ +
+
top
+

Directive Group

+ + + + + + + +
Description:Groupe sous lequel le serveur va traiter les +requêtes
Syntaxe:Group groupe unix
Défaut:Group #-1
Contexte:configuration globale
Statut:Base
Module:mod_unixd
+

La directive Group permet de définir le + groupe sous lequel le serveur va traiter les requêtes. Pour + utiliser cette directive, le serveur doit avoir été démarré par + root. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter le groupe + spécifié comme groupe d'exécution, et continuera à s'exécuter sous + le groupe de l'utilisateur qui l'aura lancé. groupe unix + peut se présenter sous la forme :

+ +
+
d'un nom de groupe
+
Référence le groupe spécifié par son nom.
+ +
du caractère # suivi d'un numéro de groupe.
+
Référence le groupe spécifié par son numéro.
+
+ +

Exemple

Group www-group
+
+ +

Il est conseillé de créer un groupe dédié à l'exécution du + serveur. Certains administrateurs utilisent l'utilisateur + nobody, mais ce n'est pas toujours souhaitable ou même + possible.

+ +

Sécurité

+

Ne définissez pas la directive Group (ou + User) à + root à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.

+
+ + +

Voir aussi

+ +
+
top
+

Directive Suexec

+ + + + + + + +
Description:Active ou désactive la fonctionnalité suEXEC
Syntaxe:Suexec On|Off
Défaut:On si le binaire suexec existe avec les mode et propriétaire +appropriés, Off dans le cas contraire
Contexte:configuration globale
Statut:Base
Module:mod_unixd
+

Lorsque cette directive est définie à On, le démarrage échouera si + le binaire suexec n'existe pas, ou possède un propriétaire ou mode + fichier invalide.

+

Lorsque cette directive est définie à Off, suEXEC sera désactivé, + même si le binaire suexec existe et possède un propriétaire et mode + fichier valides.

+ +
+
top
+

Directive User

+ + + + + + + +
Description:L'utilisateur sous lequel le serveur va traiter les +requêtes
Syntaxe:User utilisateur unix
Défaut:User #-1
Contexte:configuration globale
Statut:Base
Module:mod_unixd
+

La directive User permet de définir + l'utilisateur sous lequel le serveur va traiter les requêtes. Pour + utiliser cette directive, le serveur doit avoir été démarré + par root. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter + l'utilisateur avec privilèges restreints comme utilisateur + d'exécution, et continuera à s'exécuter sous + l'utilisateur qui l'aura lancé. Si vous démarrez le serveur en tant + que root, il est normal que le processus parent + continue à s'exécuter sous root. utilisateur unix peut se + présenter sous la forme :

+ +
+
d'un nom d'utilisateur
+
Référence l'utilisateur spécifié par son nom.
+ +
le caractère # suivi d'un numéro d'utilisateur.
+
Référence l'utilisateur spécifié par son numéro.
+
+ +

L'utilisateur ne doit pas posséder de privilèges qui lui + permettraient d'accéder à des fichiers non destinés au + monde extérieur, et parallèlement, l'utilisateur ne doit pas + exécuter de code dont l'usage soit destiné à un usage autre que les + requêtes HTTP. Il est conseillé de créer un utilisateur et un groupe + dédiés à l'exécution du serveur. Certains administrateurs utilisent + l'utilisateur nobody, mais ce n'est pas toujours + souhaitable, car l'utilisateur nobody peut avoir + diverses utilisations dans le système.

+ +

Sécurité

+

Ne définissez pas la directive Group (ou + User) à + root à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.

+
+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.html.tr.utf8 b/docs/manual/mod/mod_unixd.html.tr.utf8 new file mode 100644 index 0000000..8689073 --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.tr.utf8 @@ -0,0 +1,214 @@ + + + + + +mod_unixd - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_unixd

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ + + +
Açıklama:Unix ailesi platformlar için temel (gerekli) güvenlik.
Durum:Temel
Modül Betimleyici:unixd_module
Kaynak Dosyası:mod_unixd.c
+
+
Support Apache!

Yönergeler

+ +

Bulunan hatalar

Ayrıca bakınız:

+
+ +
top
+

ChrootDir Yönergesi

+ + + + + + + + +
Açıklama:Sunucunun başlatıldıktan sonra chroot(8) yapacağı dizini + belirler.
Sözdizimi:ChrootDir /dizin/yolu
Öntanımlı:none
BaÄŸlam:sunucu geneli
Durum:Temel
Modül:mod_unixd
Uyumluluk:Apache HTTP Sunucusunun 2.2.10 and laterve sonraki sürümlerinde + kullanılabilir.
+

Bu yönerge sunucuya başlatıldıktan sonra ağdan gelen istekleri kabul + etmeden önce belirtilen dizine chroot(8) yapmasını söyler.

+ +

Sunucuyu chroot altında çalıştırmanın basit bir işlem olmadığına ve + özellikle CGI veya PHP gibi betikler çalıştırıyorsanız ek ayarlamalar + yapmanız gerektiğine dikkat ediniz. Lütfen, bu özelliği kullanmaya + çalışmadan önce chroot işlemleri hakkında gerektiği kadar bilgi sahibi + olduğunuzdan emin olunuz.

+ +
+
top
+

Group Yönergesi

+ + + + + + + +
Açıklama:İsteklere yanıt verecek sunucunun ait olacağı grubu belirler.
Sözdizimi:Group unix-grubu
Öntanımlı:Group #-1
BaÄŸlam:sunucu geneli
Durum:Temel
Modül:mod_unixd
+

Group yönergesi, sunucunun hangi grup altında + isteklere yanıt vereceğini belirler. Bu yönergenin uygulanabilmesi için + sunucunun root olarak çalıştırılmış olması gerekir. + Sunucuyu root dışında bir kullanıcı başlattığı takdirde, + sunucu belirtilen gruba geçemez ve kullanıcının kendi grubunda + çalışmaya devam eder. unix-grubu şunlardan biri olabilir:

+ +
+
Bir grup adı
+
Gruba ismiyle baÅŸvurulur.
+ +
# ardından grup numarası
+
Gruba numarası ile başvurulur.
+
+ +
Group www-group
+ + +

Çalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı + sistem yöneticileri nobody grubunu kullanırlar fakat + bu her zaman mümkün olmadığı gibi arzulanan da değildir.

+ +

Güvenlik

+

Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız + Group (veya User) yönergesine değer olarak + root atamayınız.

+
+ + +

Ayrıca bakınız:

+ +
+
top
+

Suexec Yönergesi

+ + + + + + + +
Açıklama:suEXEC özelliğini etkin veya etkisiz yapar
Sözdizimi:Suexec On|Off
Öntanımlı:suexec çalıştırılabiliri uygun sahip ve kip ile mevcutsa On, değilse + Off
BaÄŸlam:sunucu geneli
Durum:Temel
Modül:mod_unixd
+

On olduğunda, suexec çalıştırılabiliri yoksa veya dosya kipi ve sahibi + geçersizse httpd başlatılamaz.

+

Off olduğunda, suexec çalıştırılabiliri varsa ve hatta dosya kipi ve + sahibi geçerli olsa bile suEXEC özelliği iptal edilir.

+ +
+
top
+

User Yönergesi

+ + + + + + + +
Açıklama:İsteklere yanıt verecek sunucunun ait olacağı kullanıcıyı + belirler.
Sözdizimi:User unix-kullanıcısı
Öntanımlı:User #-1
BaÄŸlam:sunucu geneli
Durum:Temel
Modül:mod_unixd
+

User yönergesi, sunucunun hangi kullanıcı olarak + isteklere yanıt vereceğini belirler. Bu yönergenin uygulanabilmesi için + sunucunun root olarak çalıştırılmış olması gerekir. + Sunucuyu root dışında bir kullanıcı başlattığı takdirde, + sunucu belirtilen kullanıcıya geçemez ve mevcut kullanıcıyla çalışmaya + devam eder. Eğer sunucuyu root olarak başlatmışsanız ana + süreç root olarak çalışmaya devam edecektir. unix-kullanıcısı + şunlardan biri olabilir:

+ +
+
Bir kullanıcı adı
+
Gruba ismiyle baÅŸvurulur.
+ +
# ardından kullanıcı numarası
+
Kullanıcıya numarası ile başvurulur.
+
+ +

Bu yönergede belirtilecek kullanıcının, başkaları tarafından üzerinde + değişiklik yapılabilecek dosyalardan başkasına erişemeyen bir kullanıcı + olmaması gerektiği gibi, HTTP isteklerini işlemek dışında işlemler de + yapabilen bir kullanıcı olmamalıdır. + Çalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı + sistem yöneticileri nobody kullanıcısını kullanırlar fakat + nobody kullanıcısı sistemde başka amaçlarla + kullanılabildiğinden bu her zaman mümkün olmadığı gibi arzulanan da + değildir.

+ +

Güvenlik

+

Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız + User (veya Group) yönergesine değer olarak + root atamayınız.

+
+ +

Ayrıca bakınız:

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html b/docs/manual/mod/mod_userdir.html new file mode 100644 index 0000000..2e35442 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_userdir.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_userdir.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_userdir.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_userdir.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_userdir.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_userdir.html.en b/docs/manual/mod/mod_userdir.html.en new file mode 100644 index 0000000..5e827a6 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.en @@ -0,0 +1,223 @@ + + + + + +mod_userdir - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_userdir

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:User-specific directories
Status:Base
Module Identifier:userdir_module
Source File:mod_userdir.c
+

Summary

+ +
By using this module you are allowing multiple users +to host content within the same origin. The same origin policy is a key +principle of Javascript and web security. By hosting web pages in the same +origin these pages can read and control each other and security issues in +one page may affect another. This is particularly dangerous in combination +with web pages involving dynamic content and authentication and when +your users don't necessarily trust each other.
+ +

This module allows user-specific directories to be accessed using the +http://example.com/~user/ syntax.

+
+ + +
top
+

UserDir Directive

+ + + + + + +
Description:Location of the user-specific directories
Syntax:UserDir directory-filename [directory-filename] ... +
Context:server config, virtual host
Status:Base
Module:mod_userdir
+ +

The UserDir directive sets the real + directory in a user's home directory to use when a request for a + document for a user is received. Directory-filename is + one of the following:

+ +
    +
  • The name of a directory or a pattern such as those shown + below.
  • + +
  • The keyword disabled. This turns off + all username-to-directory translations except those + explicitly named with the enabled keyword (see + below).
  • + +
  • The keyword disabled followed by a + space-delimited list of usernames. Usernames that appear in + such a list will never have directory translation + performed, even if they appear in an enabled + clause.
  • + +
  • The keyword enabled followed by a + space-delimited list of usernames. These usernames will have + directory translation performed even if a global disable is + in effect, but not if they also appear in a + disabled clause.
  • +
+ +

If neither the enabled nor the + disabled keywords appear in the + Userdir directive, the argument is treated as a + filename pattern, and is used to turn the name into a directory + specification. A request for + http://www.example.com/~bob/one/two.html will be + translated to:

+ + + + + + + + + + +
UserDir directive usedTranslated path
UserDir public_html~bob/public_html/one/two.html
UserDir /usr/web/usr/web/bob/one/two.html
UserDir /home/*/www/home/bob/www/one/two.html
+ +

The following directives will send redirects to the client:

+ + + + + + + + + + +
UserDir directive usedTranslated path
UserDir http://www.example.com/usershttp://www.example.com/users/bob/one/two.html
UserDir http://www.example.com/*/usrhttp://www.example.com/bob/usr/one/two.html
UserDir http://www.example.com/~*/http://www.example.com/~bob/one/two.html
+ +
+ Be careful when using this directive; for instance, + "UserDir ./" would map "/~root" to + "/" - which is probably undesirable. It is strongly + recommended that your configuration include a "UserDir + disabled root" declaration. See also the Directory directive and the Security Tips page for + more information. +
+ +

Additional examples:

+ +

To allow a few users to have UserDir directories, but + not anyone else, use the following:

+ +
UserDir disabled
+UserDir enabled user1 user2 user3
+ + +

To allow most users to have UserDir directories, but + deny this to a few, use the following:

+ +
UserDir disabled user4 user5 user6
+ + +

It is also possible to specify alternative user directories. + If you use a command like:

+ +
UserDir "public_html" "/usr/web" "http://www.example.com/"
+ + +

With a request for + http://www.example.com/~bob/one/two.html, will try to + find the page at ~bob/public_html/one/two.html first, then + /usr/web/bob/one/two.html, and finally it will send a + redirect to http://www.example.com/bob/one/two.html.

+ +

If you add a redirect, it must be the last alternative in the list. + Apache httpd cannot determine if the redirect succeeded or not, so if you have + the redirect earlier in the list, that will always be the alternative + that is used.

+ +

User directory substitution is not active by default in versions + 2.1.4 and later. In earlier versions, UserDir public_html + was assumed if no UserDir + directive was present.

+ +

Merging details

+

Lists of specific enabled and disabled users are replaced, not merged, + from global to virtual host scope

+ + +

See also

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.fr.utf8 b/docs/manual/mod/mod_userdir.html.fr.utf8 new file mode 100644 index 0000000..cdf61dd --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.fr.utf8 @@ -0,0 +1,236 @@ + + + + + +mod_userdir - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_userdir

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Répertoires propres à un utilisateur
Statut:Base
Identificateur de Module:userdir_module
Fichier Source:mod_userdir.c
+

Sommaire

+ +
En activant ce module, vous permettez à plusieurs +utilisateurs de stocker des contenus sous un seul noeud de l'arborescence. La +politique de stockage sous un seul noeud de l'arborescence est un principe clé de +Javascript et de la sécurité du web. En stockant des pages web sous un seul noeud +de l'arborescence, celles-ci peuvent se lire et se contrôler mutuellement et +d'éventuels problèmes de sécurité liés à une page peut affecter les autres. Ceci +peut s'avérer particulièrement dangereux dans le cas des pages web mettant en +oeuvre du contenu dynamique et de l'authentification et lorsque les utilisateurs +ne se voient pas tous forcément d'un bon oeil.
+ +

Ce module permet l'accès aux répertoires propres à un utilisateur en +utilisant la syntaxe http://example.com/~utilisateur/.

+
+ + +
top
+

Directive UserDir

+ + + + + + +
Description:Chemin des répertoires propres à un +utilisateur
Syntaxe:UserDir nom-répertoire [nom-répertoire] ... +
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_userdir
+ +

La directive UserDir permet de définir le + répertoire réel du répertoire home d'un utilisateur à utiliser à la + réception d'une requête pour un document de cet utilisateur. + nom-répertoire peut se présenter sous la forme suivante + :

+ +
    +
  • Le nom d'un répertoire ou un modèle tel que ceux présentés + ci-dessous.
  • + +
  • Le mot-clé disabled. Toutes les + traductions nom d'utilisateur vers répertoire sont alors + désactivées, à l'exception de celles comportant le mot-clé + enabled (voir ci-dessous).
  • + +
  • Le mot-clé disabled suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste ne feront jamais + l'objet d'une traduction vers un répertoire, même dans le cas où + ils apparaîtront dans une clause enabled.
  • + +
  • Le mot-clé enabled suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste seront traduits en répertoires + même dans le cas où une clause disable globale est active, mais + pas s'ils apparaissent aussi dans une clause + disabled.
  • +
+ +

Si aucun mot-clé enabled ou disabled + n'apparait dans la directive Userdir, l'argument est + traité en tant que modèle de fichier, et utilisé pour traduire le + nom d'utilisateur en une spécification de répertoire. Une requête + pour http://www.example.com/~bob/un/deux.html sera + traduite en :

+ + + + + + + + + + +
Directive Userdir utiliséeChemin traduit
UserDir public_html~bob/public_html/un/deux.html
UserDir /usr/web/usr/web/bob/un/deux.html
UserDir /home/*/www/home/bob/www/un/deux.html
+ +

Les directives suivantes vont envoyer des redirections au client + :

+ + + + + + + + + + +
Directive Userdir utiliséeChemin traduit
UserDir http://www.example.com/utilisateurshttp://www.example.com/utilisateurs/bob/un/deux.html
UserDir http://www.example.com/*/usrhttp://www.example.com/bob/usr/un/deux.html
UserDir http://www.example.com/~*/http://www.example.com/~bob/un/deux.html
+ +
+ Soyez prudent avec cette directive ; par exemple, + "UserDir ./" ferait correspondre + "/~root" à "/" - ce qui n'est + probablement pas souhaité. Il est fortement recommandé d'inclure + une déclaration "UserDir disabled root" dans votre + configuration. Voir aussi la directive Directory et la page Conseils en matière de + sécurité pour plus d'informations. +
+ +

Exemples supplémentaires :

+ +

Pour permettre à quelques utilisateurs et seulement à ceux-ci de + posséder des répertoires UserDir, utilisez la + configuration suivante :

+ +
UserDir disabled
+UserDir enabled user1 user2 user3
+ + +

Pour permettre à la plupart des utilisateurs de posséder des + répertoires UserDir, mais l'interdire à quelques uns, + utilisez la configuration suivante :

+ +
UserDir disabled utilisateur4 utilisateur5 utilisateur6
+ + +

Il est aussi possible de spécifier des répertoires utilisateurs + alternatifs. Si vous utilisez une commande comme :

+ +
UserDir "public_html" "/usr/web" "http://www.example.com/"
+ + +

Avec une requête pour + http://www.example.com/~bob/un/deux.html, le serveur + tentera tout d'abord de trouver la page à + ~bob/public_html/un/deux.html, puis à + /usr/web/bob/un/deux.html, et enfin il enverra une + redirection vers + http://www.example.com/bob/un/deux.html.

+ +

Si vous spécifiez une redirection, elle doit être la dernière + alternative de la liste. Apache httpd ne pouvant pas déterminer si la + redirection a réussi, si cette dernière ne se trouve pas en fin de + liste, c'est cette alternative qui sera toujours utilisée.

+ +

La substitution de répertoire utilisateur n'est pas activée par + défaut depuis la version 2.1.4. Dans les versions précédentes, + UserDir public_html était sous-entendu si aucune + directive UserDir + n'était présente.

+ +

Détails à propos de la fusion

+

Lorsqu'on passe du contexte global au contexte de serveur + virtuel, les listes d'utilisateurs spécifiques activés ou désactivés + sont remplacées par les listes du contexte, et non fusionnées.

+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.ja.utf8 b/docs/manual/mod/mod_userdir.html.ja.utf8 new file mode 100644 index 0000000..017ba7f --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.ja.utf8 @@ -0,0 +1,219 @@ + + + + + +mod_userdir - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_userdir

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:ユーザ専用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’æä¾› +
ステータス:Base
モジュール識別å­:userdir_module
ソースファイル:mod_userdir.c
+

概è¦

+ +

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ +http://example.com/~user/ +構文を使ã£ã¦ãƒ¦ãƒ¼ã‚¶å°‚用ディレクトリã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ã—ã¾ã™ã€‚

+
+ + +
top
+

UserDir ディレクティブ

+ + + + + + +
説明:ユーザ専用ディレクトリã®ä½ç½®
構文:UserDir directory-filename [directory-filename] ...
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ステータス:Base
モジュール:mod_userdir
+ +

UserDir ディレクティブã¯ã€ + ユーザã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘ãŸæ™‚ã«ä½¿ã† + ユーザã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸­ã®ã€å®Ÿéš›ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ + 設定ã—ã¾ã™ã€‚ + directory-filename ã«ã¯æ¬¡ã®ã©ã‚Œã‹ã‚’指定ã—ã¾ã™:

+ +
    +
  • ディレクトリåã‹ä¸‹ã«ç¤ºã™ã‚ˆã†ãªãƒ‘ターン。
  • + +
  • disabled キーワード。 + enabled キーワード (下記å‚ç…§) ã§æ˜Žç¤ºçš„ã« + 指定ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ä»¥å¤–ã® + å…¨ã¦ã®ãƒ¦ãƒ¼ã‚¶å-ディレクトリ変æ›ã‚’ + ã—ãªã„よã†ã«ã—ã¾ã™ã€‚
  • + +
  • disabled キーワードã¨ã€ã‚¹ãƒšãƒ¼ã‚¹åŒºåˆ‡ã‚Šã®ãƒ¦ãƒ¼ã‚¶åリスト。 + ã“ã®ãƒªã‚¹ãƒˆä¸­ã«å«ã¾ã‚Œã‚‹ãƒ¦ãƒ¼ã‚¶åã«å¯¾ã—ã¦ã¯ã€ãŸã¨ãˆ + enabled 節ã«ã‚ã£ãŸã¨ã—ã¦ã‚‚〠+ 決ã—ã¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。
  • + +
  • enabled キーワードã¨ã‚¹ãƒšãƒ¼ã‚¹åŒºåˆ‡ã‚Šã®ãƒ¦ãƒ¼ã‚¶åリスト。 + 全体ã§ã¯å¤‰æ›ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ãŸã¨ã—ã¦ã‚‚〠+ ã“れらã®ãƒ¦ãƒ¼ã‚¶åã«ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›ãŒè¡Œã‚ã‚Œã¾ã™ã€‚ + ãŸã ã—ã€disabled 節ã«ã‚‚ã‚ã‚Œã°å¤‰æ›ã¯ã•ã‚Œã¾ã›ã‚“。 +
  • +
+ +

ã‚‚ã— enabled ã‚‚ disabled + キーワードも UserDir ã«ç¾ã‚ã‚Œã¦ã„ãªã‘ã‚Œã°ã€ + 引数ã¯ãƒ•ã‚¡ã‚¤ãƒ«åパターンã¨ã—ã¦æ‰±ã‚れ〠+ åå‰ã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ã®å¤‰æ›ã®æŒ‡å®šã‚’è¡Œãªã†æ™‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + http://www.example.com/~bob/one/two.html + ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯æ¬¡ã®ã‚ˆã†ã«å¤‰æ›ã•ã‚Œã¾ã™:

+ + + + + + + +
UserDir ディレクティブ変æ›å¾Œã®ãƒ‘ス
UserDir public_html~bob/public_html/one/two.html
UserDir /usr/web/usr/web/bob/one/two.html
UserDir /home/*/www/home/bob/www/one/two.html
+ +

次ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾ã—ã¦ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’ + é€ä¿¡ã—ã¾ã™:

+ + + + + + + +
UserDir ディレクティブ変æ›å¾Œã®ãƒ‘ス
UserDir http://www.example.com/usershttp://www.example.com/users/bob/one/two.html
UserDir +http://www.example.com/*/usrhttp://www.example.com/bob/usr/one/two.html
UserDir +http://www.example.com/~*/http://www.example.com/~bob/one/two.html
+ +
+ ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã†ã¨ãã¯æ³¨æ„ã—ã¦ãã ã•ã„; + "UserDir ./" 㯠+ "/~root" ã‹ã‚‰ "/" ã¸ãƒžãƒƒãƒ—ã—ã¾ã™ãŒã€ + ã“ã‚Œã¯æœ›ã¾ã—ã„動作ã§ã¯ãªã„ã§ã—ょã†ã€‚ + "UserDir disabled root" 宣言を + 設定ã®ä¸­ã«å«ã‚ã¦ãŠãã“ã¨ã‚’å¼·ããŠè–¦ã‚ã—ã¾ã™ã€‚ + 追加情報㫠Directory + ディレクティブや + セキュリティ + Tips ã®ãƒšãƒ¼ã‚¸ã‚‚ã”覧下ã•ã„。 +
+ +

追加ã®ä¾‹:

+ +

å°‘æ•°ã®ãƒ¦ãƒ¼ã‚¶ã®ã¿ãŒ UserDir +ディレクトリを利用ã—ã€ãれ以外ã«ã¯åˆ©ç”¨ã•ã›ãŸããªã„å ´åˆã¯ +次を使ã„ã¾ã—ょã†:

+ +

+UserDir disabled
+UserDir enabled user1 user2 user3 +

+ +

大部分ã®ãƒ¦ãƒ¼ã‚¶ã¯ UserDir ディレクトリを利用ã™ã‚‹ã‘ã‚Œã©ã€ +å°‘æ•°ã®äººã¯ä¸è¨±å¯ã«ã—ãŸã„å ´åˆã¯ã€æ¬¡ã‚’使ã„ã¾ã—ょã†:

+ +

+UserDir enabled
+UserDir disabled user4 user5 user6 +

+ +

ä»–ã®ãƒ¦ãƒ¼ã‚¶ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ +次ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰ã‚’使ã†ã¨:

+ +

+Userdir public_html /usr/web http://www.example.com/ +

+ +

http://www.example.com/~bob/one/two.html ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã¾ãš +~bob/public_html/one/two.html ã®ãƒšãƒ¼ã‚¸ã‚’調ã¹ã€ãã®æ¬¡ã« +/usr/web/bob/one/two.html を調ã¹ã€æœ€å¾Œã« http://www.example.com/bob/one/two.html +ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’é€ã‚Šã¾ã™ã€‚

+ +

リダイレクトを加ãˆã‚‹å ´åˆã¯ã€ãƒªã‚¹ãƒˆã®æœ€å¾Œã®é¸æŠžè‚¢ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 +Apache ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãŒæˆåŠŸã™ã‚‹ã‹ã©ã†ã‹ã‚’決ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ã®ã§ã€ +リストã®å‰ã®æ–¹ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’書ãã¨ã€ãã‚ŒãŒå¿…ãšä½¿ç”¨ã•ã‚Œã‚‹é¸æŠžè‚¢ã« +ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚

+ +

2.1.4 以é™ã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªç½®æ›æ©Ÿèƒ½ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯èµ·å‹•ã—ã¾ã›ã‚“。 +ãれ以å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€UserDir +ディレクティブãŒå­˜åœ¨ã—ãªã‘ã‚Œã°ã€UserDir public_html +ã§ã‚ã‚‹ã¨ä»®å®šã•ã‚Œã¦ã„ã¾ã—ãŸã€‚

+ + +

å‚ç…§

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.ko.euc-kr b/docs/manual/mod/mod_userdir.html.ko.euc-kr new file mode 100644 index 0000000..47031a0 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.ko.euc-kr @@ -0,0 +1,191 @@ + + + + + +mod_userdir - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_userdir

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + +
¼³¸í:»ç¿ëÀÚº° µð·ºÅ丮
»óÅÂ:Base
¸ðµâ¸í:userdir_module
¼Ò½ºÆÄÀÏ:mod_userdir.c
+

¿ä¾à

+ +

ÀÌ ¸ðµâÀ» »ç¿ëÇϸé http://example.com/~user/ ½ÄÀ¸·Î +»ç¿ëÀÚº° µð·ºÅ丮¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.

+
+ + +
top
+

UserDir Áö½Ã¾î

+ + + + + + + +
¼³¸í:»ç¿ëÀÚº° µð·ºÅ丮 À§Ä¡
¹®¹ý:UserDir directory-filename
±âº»°ª:UserDir public_html
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®
»óÅÂ:Base
¸ðµâ:mod_userdir
+ +

UserDir Áö½Ã¾î´Â »ç¿ëÀÚÀÇ ¹®¼­¿¡ ´ëÇÑ +¿äûÀ» ¹ÞÀ»¶§ »ç¿ëÀÚ È¨µð·ºÅ丮 ¾È¿¡¼­ »ç¿ëÇÒ ½ÇÁ¦ µð·ºÅ丮¸¦ +ÁöÁ¤ÇÑ´Ù. Directory-filenameÀº ´ÙÀ½ Áß ÇϳªÀÌ´Ù:

+ +
    +
  • ¾Æ·¡¿Í °°Àº µð·ºÅ丮¸í ȤÀº ÆÐÅÏ.
  • + +
  • disabled Å°¿öµå. +enabled Å°¿öµå·Î (¾Æ·¡ Âü°í) Á÷Á¢ À̸§À» ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù¸é +¸ðµç »ç¿ëÀÚ¸í-µð·ºÅ丮 º¯È¯À» ÇÏÁö ¾Ê´Â´Ù.
  • + +
  • disabled Å°¿öµå µÚ¿¡ °ø¹éÀ¸·Î ±¸ºÐÇÑ »ç¿ëÀÚ¸í ¸ñ·Ï. +»ç¿ëÀÚ¸íÀÌ enabled ±¸¹®¿¡ ÀÖ´Ù°í ÇÏ´õ¶óµµ, ÀÌ ¸ñ·Ï¿¡ +ÀÖ´Â »ç¿ëÀÚ¸íÀº µð·ºÅ丮 º¯È¯À» ÇÏÁö ¾Ê´Â´Ù.
  • + +
  • enabled Å°¿öµå µÚ¿¡ °ø¹éÀ¸·Î ±¸ºÐÇÑ »ç¿ëÀÚ¸í ¸ñ·Ï. +Àüü disableÀ» »ç¿ëÇÏ°í »ç¿ëÀÚ¸íÀÌ disabled ±¸¹®¿¡ +¾ø´õ¶óµµ, »ç¿ëÀÚ¸íÀ» µð·ºÅ丮 º¯È¯ÇÑ´Ù.
  • +
+ +

Userdir Áö½Ã¾î¿¡ enabled³ª +disabled Å°¿öµå¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é, ¾Æ±Ô¸ÕÆ®¸¦ +ÆÄÀϸí ÆÐÅÏÀ¸·Î ó¸®ÇÏ¿© µð·ºÅ丮·Î º¯È¯ÇÑ´Ù. +http://www.foo.com/~bob/one/two.html¿¡ ´ëÇÑ ¿äûÀº +´ÙÀ½°ú °°ÀÌ º¯È¯µÈ´Ù:

+ + + + + + + +
»ç¿ëÇÑ UserDir Áö½Ã¾îº¯È¯ÇÑ °æ·Î
UserDir public_html~bob/public_html/one/two.html
UserDir /usr/web/usr/web/bob/one/two.html
UserDir /home/*/www/home/bob/www/one/two.html
+ +

´ÙÀ½ Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù:

+ + + + + + + +
»ç¿ëÇÑ UserDir Áö½Ã¾îº¯È¯ÇÑ °æ·Î
UserDir http://www.foo.com/usershttp://www.foo.com/users/bob/one/two.html
UserDir +http://www.foo.com/*/usrhttp://www.foo.com/bob/usr/one/two.html
UserDir +http://www.foo.com/~*/http://www.foo.com/~bob/one/two.html
+ +
+ ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÒ¶§ ÁÖÀÇÇ϶ó; ¿¹¸¦ µé¾î, +"UserDir ./"´Â "/~root"¸¦ ¾Æ¸¶µµ ¹Ù¶÷Á÷ÇÏÁö ¾Ê°Ô +"/"·Î º¯È¯ÇÑ´Ù. ¼³Á¤¿¡ "UserDir + disabled root"¸¦ Æ÷ÇÔÇÏ±æ °­·ÂÈ÷ ±ÇÇÑ´Ù. ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾Ë·Á¸é +Directory Áö½Ã¾î¿Í º¸¾È ÆÁµµ Âü°íÇ϶ó. +
+ +

Ãß°¡ ¿¹Á¦:

+ +

¸î¸î »ç¿ëÀÚ¿¡°Ô¸¸ UserDir µð·ºÅ丮¸¦ Çã¿ëÇÑ´Ù¸é, +´ÙÀ½°ú °°´Ù:

+ +

+UserDir disabled
+UserDir enabled user1 user2 user3 +

+ +

´ëºÎºÐÀÇ »ç¿ëÀÚ¿¡°Ô UserDir µð·ºÅ丮¸¦ Çã¿ëÇÏ°í +ÀϺθ¸ °ÅºÎÇÑ´Ù¸é, ´ÙÀ½°ú °°´Ù:

+ +

+UserDir enabled
+UserDir disabled user4 user5 user6 +

+ +

´Ù¸¥ »ç¿ëÀÚ µð·ºÅ丮¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù. +´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù¸é:

+

+Userdir public_html /usr/web http://www.foo.com/ +

+

http://www.foo.com/~bob/one/two.html ¿äûÀ» Çϸé, +¸ÕÀú ~bob/public_html/one/two.html ÆäÀÌÁö¸¦ ã°í, +/usr/web/bob/one/two.htmlÀ» ãÀº ÈÄ, ¸¶Áö¸·À¸·Î +http://www.foo.com/bob/one/two.htmlÀ¸·Î ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù.

+

¸®´ÙÀÌ·º¼ÇÀ» »ç¿ëÇÑ´Ù¸é ¸ñ·ÏÀÇ ¸¶Áö¸·¿¡ µÎ¾î¾ß ÇÑ´Ù. +¾ÆÆÄÄ¡´Â ¸®´ÙÀÌ·º¼ÇÀÌ ¼º°øÇß´ÂÁö ¾Ë ¼ö ¾ø±â¶§¹®¿¡, ¸®´ÙÀÌ·º¼ÇÀ» +¸ñ·Ï ¾Õ¿¡ µÎ¸é Ç×»ó ¸®´ÙÀÌ·º¼ÇÀ» »ç¿ëÇÏ°Ô µÈ´Ù.

+ + +

Âü°í

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.tr.utf8 b/docs/manual/mod/mod_userdir.html.tr.utf8 new file mode 100644 index 0000000..3edc131 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.tr.utf8 @@ -0,0 +1,222 @@ + + + + + +mod_userdir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_userdir

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Açıklama:Kullanıcılara özel dizinler
Durum:Temel
Modül Betimleyici:userdir_module
Kaynak Dosyası:mod_userdir.c
+

Özet

+ +
Bu modülü kullanarak, birden çok kullanıcının içeriği +aynı kaynaktan almasına izin verirsiniz. Aynı kaynak politikası Javascript +ve http güvenliğinin temelidir. Http sayfalarının aynı kaynaktan alınması +nedeniyle bu sayfalar birbirini okuyabilir, denetleyebilir ve bir sayfadaki +güvenlik sorunları başka bir sayfayı etkileyebilir. Bu, özellikle özdevinimli +içerik ve kimlik doğrulaması içeren https sayfalarıyla birlikte ve +kullanıcılarınızın birbirlerine güvenmeleri gerekmediğinde tehlikelidir. +
+ +

Bu modül kullanıcılara özel dizinlere + http://example.com/~kullanıcı/ sözdizimi kullanılarak + erişilebilmesini mümkün kılar.

+
+ + +
top
+

UserDir Yönergesi

+ + + + + + +
Açıklama:Kullanıcıya özel dizinlerin yeri
Sözdizimi:UserDir dizin [dizin] ...
BaÄŸlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_userdir
+ +

UserDir yönergesi, bir kullanıcıya ait bir + belge için bir istek yapıldığında, isteğin kullanıcının ev dizininde + bulunan belli bir dizinden karşılanmasını sağlar. + dizin olarak şunlar belirtilebilir:

+ +
    +
  • Dizinin ismi veya aÅŸağıdakiler gibi bir kalıp.
  • + +
  • disabled anahtar sözcüğü. enabled anahtar + sözcüğü ile sonradan etkin kılınmadıkça tüm kullanıcı-dizin + dönüşümlerini iptal eder (aÅŸağıya bakınız).
  • + +
  • disabled anahtar sözcüğünü takibeden boÅŸluk ayraçlı + kullanıcı isimleri listesi. Bu listede yer alan kullanıcı isimlerine, + sonradan bir enabled listesinde görünse bile, dizin + dönüşümleri asla uygulanmaz.
  • + +
  • enabled anahtar sözcüğünü takibeden boÅŸluk ayraçlı + kullanıcı isimleri listesi. Genel bir iptal sözkonusu olsa bile, + kullanıcı ismi bir disabled listesinde yer almadıkça, bu + listede yer alan dizinlere dönüşüm uygulanır.
  • +
+ +

Userdir yönergesinde ne enabled ne de + disabled varsa, argüman bir dosya ismi kalıbı olarak ele + alınır ve kullanıcı belge kök dizininin yolunu oluşturmakta kullanılır. + http://example.com/~ali/bir/iki.html şöyle dönüştürülür:

+ + + + + + + + + + +
Kullanılan UserDir yönergesi    Elde edilen yol
UserDir public_html~ali/public_html/bir/iki.html
UserDir /usr/siteler/usr/siteler/ali/bir/iki.html
UserDir /home/*/htdocs/home/ali/htdocs/bir/iki.html
+ +

Aşağıdaki yönergelerle istemciye gönderilecek yönlendirmeler:

+ + + + + + + + + + +
Kullanılan UserDir yönergesi    Elde edilen yönlendirme
UserDir http://example.com/usershttp://example.com/users/ali/bir/iki.html
UserDir http://example.com/*/usrhttp://example.com/ali/usr/bir/iki.html
UserDir http://example.com/~*/http://example.com/~ali/bir/iki.html
+ +
+ Bu yönergeyi kullanırken dikkatli olun; örneğin, "UserDir + ./" şeklinde bir atama "/~root" isteklerini + "/" dizinine yönlendirir ki bu elbette istenmez. Bu + bakımdan yapılandırmanızda mutlaka bir "UserDir disabled + root" satırının yer almasını tavsiye ederiz. Daha fazla bilgi + için Directory yönergesine ve Güvenlik İpuçları sayfasına + bakınız. +
+ +

Diğer örnekler:

+ +

Bir kaç kullanıcı hariç kalan herkesin UserDir + dizinlerini iptal etmek için şunu yapabilirsiniz:

+ +
UserDir disabled
+UserDir enabled birey1 birey2 birey3
+ + +

Bir kaç kullanıcı hariç kalan herkesin UserDir + dizinlerini etkin kılmak için şunu yapabilirsiniz:

+ +
UserDir disabled birey4 birey5 birey6
+ + +

Birden fazla dizin belirtmek de mümkündür:

+ +
Userdir "public_html" "/usr/siteler" "http://example.com/"
+ + +

Bu örneğe göre, http://example.com/~ali/bir/iki.html + şeklinde bir istek alındığında sunucu önce + http://example.com/~ali/bir/iki.html yönlendirmesini + deneyecektir. Onu bulamazsa isteği + /usr/siteler/ali/bir/iki.html dosyasını arayacak onu da + bulamazsa istemciyi http://example.com/ali/bir/iki.html + adresine yönlendirecektir.

+ +

Argüman listesine bir yönlendirme ekleyecekseniz, bu, listenin son + elemanı olmalıdır. Apache httpd yönlendirmenin başarılı sonuç verip + vermediğini bilemeyecektir. Bu bakımdan, listede bu yönlendirmeden + sonra bir yönlendirme daha bulunması daha iyi olacaktır.

+ +

Kullanıcı dizini dönüşümü Apache 2.1.4 sürümü ve sonrasında öntanımlı + olarak etkin değildir. Daha önceki sürümlerde bir + UserDir yönergesinin yokluğunda + UserDir public_html öntanımlıydı.

+ +

Ayrıntıların birleştirilmesi

+

Etkinleştirilen ve etkisizleştirilen kullanıcılara özgü listeler küresel + etki alanından sanal konak etki alanına aktarılırken yer değiştirme + yapılır, mevcutla birleştirilmez.

+ + +

Ayrıca bakınız:

+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_usertrack.html b/docs/manual/mod/mod_usertrack.html new file mode 100644 index 0000000..ad30290 --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_usertrack.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_usertrack.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_usertrack.html.en b/docs/manual/mod/mod_usertrack.html.en new file mode 100644 index 0000000..b11184d --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html.en @@ -0,0 +1,304 @@ + + + + + +mod_usertrack - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_usertrack

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description: +Clickstream logging of user activity on a site +
Status:Extension
Module Identifier:usertrack_module
Source File:mod_usertrack.c
+

Summary

+ +

Provides tracking of a user through your website via browser + cookies.

+
+ +
top
+
+

Logging

+ + +

mod_usertrack sets a cookie which can be logged + via mod_log_config configurable logging formats:

+ +
LogFormat "%{Apache}n %r %t" usertrack
+CustomLog "logs/clickstream.log" usertrack
+ + +
+
top
+

CookieDomain Directive

+ + + + + + + +
Description:The domain to which the tracking cookie applies
Syntax:CookieDomain domain
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
+ +

This directive controls the setting of the domain to which + the tracking cookie applies. If not present, no domain is + included in the cookie header field.

+ +

The domain string must begin with a dot, and + must include at least one embedded dot. That is, + .example.com is legal, but www.example.com and + .com are not.

+ +
Most browsers in use today will not allow cookies to be set + for a two-part top level domain, such as .co.uk, + although such a domain ostensibly fulfills the requirements + above.
+ + These domains are equivalent to top level domains such as + .com, and allowing such cookies may be a security + risk. Thus, if you are under a two-part top level domain, you + should still use your actual domain, as you would with any other top + level domain (for example .example.co.uk). +
+ +
CookieDomain .example.com
+ + +
+
top
+

CookieExpires Directive

+ + + + + + + +
Description:Expiry time for the tracking cookie
Syntax:CookieExpires expiry-period
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
+

When used, this directive sets an expiry time on the cookie + generated by the usertrack module. The expiry-period + can be given either as a number of seconds, or in the format + such as "2 weeks 3 days 7 hours". Valid denominations are: + years, months, weeks, days, hours, minutes and seconds. If the expiry + time is in any format other than one number indicating the + number of seconds, it must be enclosed by double quotes.

+ +

If this directive is not used, cookies last only for the + current browser session.

+ +
CookieExpires "3 weeks"
+ + +
+
top
+

CookieHTTPOnly Directive

+ + + + + + + + + +
Description:Adds the 'HTTPOnly' attribute to the cookie
Syntax:CookieHTTPOnly on|off
Default:CookieHTTPOnly off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
Compatibility:2.4.42 and later
+

When set to 'ON', the 'HTTPOnly' cookie attribute is added to this + modules tracking cookie. This attribute instructs browsers to block javascript + from reading the value of the cookie.

+ +
+
top
+

CookieName Directive

+ + + + + + + + +
Description:Name of the tracking cookie
Syntax:CookieName token
Default:CookieName Apache
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
+

This directive allows you to change the name of the cookie + this module uses for its tracking purposes. By default the + cookie is named "Apache".

+ +

You must specify a valid cookie name; results are + unpredictable if you use a name containing unusual characters. + Valid characters include A-Z, a-z, 0-9, "_", and "-".

+ +
CookieName clicktrack
+ + +
+
top
+

CookieSameSite Directive

+ + + + + + + + + +
Description:Adds the 'SameSite' attribute to the cookie
Syntax:CookieSameSite None|Lax|Strict
Default:unset
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
Compatibility:2.4.42 and later
+

When set to 'None', 'Lax', or 'Strict', the 'SameSite' cookie attribute + is added to this modules tracking cookie with the corresponding value. + This attribute instructs browser on how to treat the cookie when it is + requested in a cross-site context.

+ +
+

A value of 'None' sets 'SameSite=None', which is the most liberal setting. To + omit this attribute, omit the directive entirely.

+
+ + +
+
top
+

CookieSecure Directive

+ + + + + + + + + +
Description:Adds the 'Secure' attribute to the cookie
Syntax:CookieSecure on|off
Default:CookieSecure off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
Compatibility:2.4.42 and later
+

When set to 'ON', the 'Secure' cookie attribute is added to this + modules tracking cookie. This attribute instructs browsers to only + transmit the cookie over HTTPS.

+ +
+
top
+

CookieStyle Directive

+ + + + + + + + +
Description:Format of the cookie header field
Syntax:CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965
Default:CookieStyle Netscape
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
+

This directive controls the format of the cookie header + field. The three formats allowed are:

+ +
    +
  • Netscape, which is the original but now deprecated + syntax. This is the default, and the syntax Apache has + historically used.
  • + +
  • Cookie or RFC2109, which is the syntax that + superseded the Netscape syntax.
  • + +
  • Cookie2 or RFC2965, which is the most + current cookie syntax.
  • +
+ +

Not all clients can understand all of these formats, but you + should use the newest one that is generally acceptable to your + users' browsers. At the time of writing, most browsers support all + three of these formats, with Cookie2 being the + preferred format.

+ +
CookieStyle Cookie2
+ + +
+
top
+

CookieTracking Directive

+ + + + + + + + +
Description:Enables tracking cookie
Syntax:CookieTracking on|off
Default:CookieTracking off
Context:server config, virtual host, directory, .htaccess
Override:FileInfo
Status:Extension
Module:mod_usertrack
+

When mod_usertrack is loaded, and + CookieTracking on is set, Apache will send a + user-tracking cookie for all new requests. This directive can + be used to turn this behavior on or off on a per-server or + per-directory basis. By default, enabling + mod_usertrack will not + activate cookies.

+ +
CookieTracking on
+ + + +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_usertrack.html.fr.utf8 b/docs/manual/mod/mod_usertrack.html.fr.utf8 new file mode 100644 index 0000000..20ba91a --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html.fr.utf8 @@ -0,0 +1,313 @@ + + + + + +mod_usertrack - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_usertrack

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description: +Journalisation Clickstream des liens parcourus par un +utilisateur sur un site +
Statut:Extension
Identificateur de Module:usertrack_module
Fichier Source:mod_usertrack.c
+

Sommaire

+ +

Ce module permet de suivre le parcours d'un utilisateur à travers + votre site web en faisant appel aux cookies de navigateur.

+
+ +
top
+
+

Journalisation

+ + +

mod_usertrack définit un cookie qui peut être + journalisé via les formats configurables du module + mod_log_config :

+ +
LogFormat "%{Apache}n %r %t" usertrack
+CustomLog "logs/clickstream.log" usertrack
+ + + +
+
top
+

Directive CookieDomain

+ + + + + + + +
Description:Le domaine auquel le cookie traceur +s'applique
Syntaxe:CookieDomain domaine
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
+ +

Cette directive permet de définir le domaine auquel le cookie + traceur s'applique. Si elle n'est pas présente, aucun domaine n'est + inclus dans le champ d'en-tête cookie.

+ +

La chaîne dommaine doit commencer par un point, + et doit comporter au moins un point entouré + d'autres caractères. Par exemple, .example.com est + une chaîne valide, mais www.example.com et + .com ne le sont pas.

+ +
La plupart des navigateurs utilisés actuellement n'autorisent + pas la définition de cookies pour un domaine racine de deux niveaux, + tel que .co.uk, bien qu'un tel domaine remplisse les + conditions de validité décrites ci-dessus.
+ + Ces domaines sont équivalents à des domaines racines comme + .com, et autoriser de tels cookies peut constituer un + risque en matière de sécurité. Ainsi, si vous vous situez sous un + domaine racine de deux niveaux, vous devez encore utiliser votre + domaine véritable, comme vous le feriez avec tout autre domaine + racine (par exemple .example.co.uk). +
+ +
CookieDomain .example.com
+ + +
+
top
+

Directive CookieExpires

+ + + + + + + +
Description:Durée avant expiration du cookie traceur
Syntaxe:CookieExpires durée
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
+

Lorsqu'elle est utilisée, cette directive définit une durée avant + l'expiration du cookie généré par le module usertrack. La + durée peut être spécifiée sous la forme d'un nombre de + secondes, ou sous une forme du + style "2 weeks 3 days 7 hours". les termes valides sont : years, + months, weeks, days, hours, minutes et seconds. Si la durée est + spécifiée dans un format autre qu'un nombre de secondes, elle doit + être entourée de guillemets.

+ +

Si cette directive est absente, la durée de vie des cookies est + limitée à la session actuelle du navigateur.

+ +
CookieExpires "3 weeks"
+ + +
+
top
+

Directive CookieHTTPOnly

+ + + + + + + + + +
Description:Ajoute l'attribut 'HTTPOnly' au cookie
Syntaxe:CookieHTTPOnly on|off
Défaut:CookieHTTPOnly off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP Apache
+

Lorsqu'elle est définie à 'ON', cette directive ajoute l'attribut 'HTTPOnly' + au cookie de traçage. Cet attribut indique aux navigateurs qu'ils doivent + bloquer javascript au cours de la lecture de la valeur du cookie.

+ +
+
top
+

Directive CookieName

+ + + + + + + + +
Description:Nom du cookie traceur
Syntaxe:CookieName symbole
Défaut:CookieName Apache
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
+

Cette directive vous permet de modifier le nom du cookie que ce + module utilise pour sa journalisation. Le nom par défaut du cookie + est "Apache".

+ +

Vous devez spécifier un nom de cookie valide ; les résultats sont + imprévisibles si vous utilisez un nom contenant des caractères + inhabituels. Les caractères valides font partie des intervales A-Z, + a-z, 0-9, "_", et "-".

+ +
CookieName clicktrack
+ + +
+
top
+

Directive CookieSameSite

+ + + + + + + + + +
Description:Ajoute l'attribut 'SameSite' au cookie
Syntaxe:CookieSameSite None|Lax|Strict
Défaut:unset
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP Apache
+

Lorsque cette directive est définie à 'None', 'Lax', ou 'Strict', + l'attribut 'SameSite' est ajouté au cookie de traçage avec la valeur + correspondante. Cet attribut indique aux navigateurs de quelle manière ils + doivent traiter le cookie lorsqu'il est demandé dans un contexte cross-site.

+ +
+

'None' définit l'attribut 'SameSite' à 'None', ce qui correspond à la + configuration la plus permissive. Pour ne pas ajouter cet attribut au + cookie, il est donc préférable de ne pas définir du tout cette directive.

+
+ + +
+
top
+

Directive CookieSecure

+ + + + + + + + + +
Description:Ajoute l'attribut 'Secure' au cookie
Syntaxe:CookieSecure on|off
Défaut:CookieSecure off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
Compatibilité:Disponible à partir de la version 2.4.42 du serveur HTTP Apache
+

Lorsqu'elle est définie à 'ON', cette directive ajoute l'attribut 'Secure' + au cookie de traçage. Cet attribut indique aux navigateurs qu'il ne doivent + transmettre le cookie que via HTTPS.

+ +
+
top
+

Directive CookieStyle

+ + + + + + + + +
Description:Format du champ d'en-tête cookie
Syntaxe:CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965
Défaut:CookieStyle Netscape
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
+

Cette directive permet de contrôler le format du champ d'en-tête + cookie. Les trois formats autorisés sont :

+ +
    +
  • Netscape : il s'agit du format original, mais + est désormais obsolète. C'est le format par défaut et il + correspond à la syntaxe historique utilisée par Apache.
  • + +
  • Cookie ou RFC2109 : c'est la + syntaxe qui remplace la syntaxe Netscape.
  • + +
  • Cookie2 ou RFC2965 : c'est + la syntaxe de cookie la plus actuelle.
  • +
+ +

Tous les clients ne supportent pas l'ensemble de ces formats, + mais il est conseillé d'utiliser le plus récent qui sera en général + supporté par le navigateur utilisé par vos utilisateurs. A l'heure où ce + document est écrit, la plupart des navigateurs supportent ces trois + formats, Cookie2 étant le format recommandé.

+ +
CookieStyle Cookie2
+ + +
+
top
+

Directive CookieTracking

+ + + + + + + + +
Description:Active le cookie traceur
Syntaxe:CookieTracking on|off
Défaut:CookieTracking off
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:FileInfo
Statut:Extension
Module:mod_usertrack
+

Lorsque le module mod_usertrack est chargé, et + si CookieTracking on est définie, Apache enverra un + cookie traceur pour toute nouvelle requête. Cette directive peut + être utilisée pour activer ou désactiver ce comportement pour un + serveur virtuel ou un répertoire. Par défaut, l'activation de + mod_usertrack ne suffit pas pour + activer les cookies.

+ +
CookieTracking on
+ + + +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_version.html b/docs/manual/mod/mod_version.html new file mode 100644 index 0000000..63cd972 --- /dev/null +++ b/docs/manual/mod/mod_version.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_version.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_version.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_version.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_version.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_version.html.en b/docs/manual/mod/mod_version.html.en new file mode 100644 index 0000000..4e07aa5 --- /dev/null +++ b/docs/manual/mod/mod_version.html.en @@ -0,0 +1,166 @@ + + + + + +mod_version - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_version

+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Version dependent configuration
Status:Extension
Module Identifier:version_module
Source File:mod_version.c
+

Summary

+ +

This module is designed for the use in test suites and large + networks which have to deal with different httpd versions and + different configurations. It provides a new container -- <IfVersion>, which + allows a flexible version checking including numeric comparisons and + regular expressions.

+ +

Examples

<IfVersion 2.4.2>
+    # current httpd version is exactly 2.4.2
+</IfVersion>
+
+<IfVersion >= 2.5>
+    # use really new features :-)
+</IfVersion>
+
+ +

See below for further possibilities.

+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

<IfVersion> Directive

+ + + + + + + +
Description:contains version dependent configuration
Syntax:<IfVersion [[!]operator] version> ... +</IfVersion>
Context:server config, virtual host, directory, .htaccess
Override:All
Status:Extension
Module:mod_version
+

The <IfVersion> section encloses + configuration directives which are executed only if the + httpd version + matches the desired criteria. For normal (numeric) comparisons the + version argument has the format + major[.minor[.patch]], e.g. + 2.1.0 or 2.2. minor and + patch are optional. If these numbers are omitted, they are + assumed to be zero. The following numerical operators are + possible:

+ + + + + + + + + + + + +
operatordescription
= or ==httpd version is equal
>httpd version is greater than
>=httpd version is greater or equal
<httpd version is less than
<=httpd version is less or equal
+ +

Example

<IfVersion >= 2.3>
+    # this happens only in versions greater or
+    # equal 2.3.0.
+</IfVersion>
+
+ +

Besides the numerical comparison it is possible to match a + regular expression + against the httpd version. There are two ways to write it:

+ + + + + + +
operatordescription
= or ==version has the form + /regex/
~version has the form + regex
+ +

Example

<IfVersion = /^2.4.[01234]$/>
+    # e.g. workaround for buggy versions
+</IfVersion>
+
+ +

In order to reverse the meaning, all operators can be preceded by an + exclamation mark (!):

+ +
<IfVersion !~ ^2.4.[01234]$>
+    # not for those versions
+</IfVersion>
+ + +

If the operator is omitted, it is assumed to be + =.

+ +
+
+
+

Available Languages:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_version.html.fr.utf8 b/docs/manual/mod/mod_version.html.fr.utf8 new file mode 100644 index 0000000..ed567e9 --- /dev/null +++ b/docs/manual/mod/mod_version.html.fr.utf8 @@ -0,0 +1,176 @@ + + + + + +mod_version - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_version

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Configuration dépendant de la version
Statut:Extension
Identificateur de Module:version_module
Fichier Source:mod_version.c
+

Sommaire

+ +

Ce module a été conçu pour être utilisé dans les suites de tests + et les grands réseaux qui doivent prendre en compte différentes + versions de httpd et différentes configurations. Il fournit un + nouveau conteneur -- <IfVersion>, qui apporte une grande + souplesse dans la vérification de version en permettant une + comparaison numérique et l'utilisation d'expressions + rationnelles.

+ +

Exemples

<IfVersion 2.4.2>
+    # la version actuelle de httpd est exactement 2.4.2
+</IfVersion>
+
+<IfVersion >= 2.5>
+    # utilise vraiment les nouvelles fonctionnalités :-)
+</IfVersion>
+
+ +

Voir ci-dessous pour d'autres exemples.

+
+ + +
top
+

Directive <IfVersion>

+ + + + + + + +
Description:Contient des portions de configuration dépendantes de la +version
Syntaxe:<IfVersion [[!]opérateur] version> ... +</IfVersion>
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées:All
Statut:Extension
Module:mod_version
+

La section <IfVersion> + rassemble des directives de configuration qui ne sont exécutées que + si la version de httpd satisfait aux critères spécifiés. Pour une + comparaison normale (numérique), l'argument version doit + être spécifié sous le format + majeur[.mineur[.patch]], + comme par exemple 2.1.0 ou 2.2. + mineur et patch sont optionnels. Si ces + numéros sont absents, il se voient affectée implicitement la valeur + 0. Les opérateurs numériques suivants sont autorisés + :

+ + + + + + + + + + + + +
opérateurdescription
= ou ==La version de httpd est égale à la valeur + spécifiée
>La version de httpd est supérieure à la valeur + spécifiée
>=La version de httpd est supérieure ou égale à la valeur + spécifiée
<La version de httpd est inférieure à la valeur + spécifiée
<=La version de httpd est inférieure ou égale à la valeur + spécifiée
+ +

Exemple

<IfVersion >= 2.3>
+    # la condition n'est satisfaite que pour les versions de httpd
+	# supérieures ou égales à 2.3
+</IfVersion>
+
+ +

En plus d'une comparaison numérique, il est possible de comparer + la version de httpd avec une expression + rationnelle. Il existe deux méthodes pour spécifier cette + dernière :

+ + + + + + +
opérateurdescription
= ou ==version est de la forme + /regex/
~version est de la forme + regex
+ +

Exemple

<IfVersion = /^2.4.[01234]$/>
+    # exemple de contournement pour les versions boguées
+</IfVersion>
+
+ +

Pour inverser la condition, tous les opérateurs peuvent être + préfixés par un point d'exclamation (!) :

+ +
<IfVersion !~ ^2.4.[01234]$>
+    # pas pour ces versions
+</IfVersion>
+
+ +

Si opérateur est absent, sa valeur implicite est + =.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_version.html.ja.utf8 b/docs/manual/mod/mod_version.html.ja.utf8 new file mode 100644 index 0000000..2f28e0b --- /dev/null +++ b/docs/manual/mod/mod_version.html.ja.utf8 @@ -0,0 +1,164 @@ + + + + + +mod_version - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_version

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
+ + + +
説明:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¾å­˜ã®è¨­å®š
ステータス:Extension
モジュール識別å­:version_module
ソースファイル:mod_version.c
+

概è¦

+ +

様々ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® httpd ã®ç•°ãªã‚‹è¨­å®šã‚’扱ã†ã“ã¨ã«ãªã‚‹ã€ + テストスイートや大è¦æ¨¡ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§ã®ä½¿ç”¨ã®ãŸã‚ã«è¨­è¨ˆã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯æ–°ã—ã„コンテナ ― <IfVersion> ã‚’ + æä¾›ã—ã¾ã™ã€‚ã“れを使ã†ã¨ã€æ•°å­—ã®æ¯”較や正è¦è¡¨ç¾ã«ã‚ˆã‚‹æŸ”軟㪠+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+ +

例

<IfVersion 2.4.2>
+    # current httpd version is exactly 2.4.2
+</IfVersion>
+
+<IfVersion >= 2.5>
+    # use really new features :-)
+</IfVersion>
+
+ +

詳細ã¯ä»¥ä¸‹ã‚’読んã§ãã ã•ã„。

+
+
Support Apache!

ディレクティブ

+ +

Bugfix checklist

å‚ç…§

+
+ +
top
+

<IfVersion> ディレクティブ

+ + + + + + + +
説明:ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¾å­˜ã®è¨­å®šã‚’入れる
構文:<IfVersion [[!]operator] version> ... +</IfVersion>
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess
上書ã:All
ステータス:Extension
モジュール:mod_version
+

<IfVersion> 㯠httpd ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ + ãŒåŸºæº–を満ãŸã—ãŸã¨ãã«ã®ã¿å®Ÿè¡Œã•ã›ãŸã„ディレクティブを囲ã¿ã¾ã™ã€‚ + 通常㮠(数値) 比較ã®ã¨ã㯠version 引数㯠+ major[.minor[.patch]] ã¨ã„ㆠ+ å½¢å¼ã€ä¾‹ãˆã°ã€2.1.0 ã‚„ 2.2 ã¨ãªã‚Šã¾ã™ã€‚ + minor 㨠patch ã¯çœç•¥å¯èƒ½ã§ã™ã€‚çœç•¥ã•ã‚ŒãŸå ´åˆã¯ã€ + 0 を指定ã—ãŸã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚比較ã«ã¯æ¬¡ã®æ•°å€¤ operator ã‚’ + 指定ã§ãã¾ã™:

+ + + + + + + + + + + + +
operator説明
= 㨠==åŒã˜ httpd ãƒãƒ¼ã‚¸ãƒ§ãƒ³
>より大ãã„ httpd ãƒãƒ¼ã‚¸ãƒ§ãƒ³
>=指定以上㮠httpd ãƒãƒ¼ã‚¸ãƒ§ãƒ³
<指定未満㮠httpd ãƒãƒ¼ã‚¸ãƒ§ãƒ³
<=指定以下㮠httpd ãƒãƒ¼ã‚¸ãƒ§ãƒ³
+ +

例

<IfVersion >= 2.3>
+    # this happens only in versions greater or
+    # equal 2.3.0.
+</IfVersion>
+
+ +

数値比較ã«åŠ ãˆã¦ã€http ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã«å¯¾ã—㦠+ æ­£è¦è¡¨ç¾ã«ã‚ˆã‚‹ + マッãƒãƒ³ã‚°ãŒã§ãã¾ã™ã€‚二種類ã®æ›¸ãæ–¹ãŒã‚ã‚Šã¾ã™:

+ + + + + + +
operator説明
= or ==version 㯠+ /regex/ å½¢å¼
~version 㯠+ regex å½¢å¼
+ +

例

<IfVersion = /^2.4.[01234]$/>
+    # e.g. workaround for buggy versions
+</IfVersion>
+
+ +

マッãƒãƒ³ã‚°ã®å¦å®šã‚’表ç¾ã™ã‚‹ãŸã‚ã«ã€ã™ã¹ã¦ã®ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ã¯å‰ã« + 感嘆符 (!)を付ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™:

+ +
<IfVersion !~ ^2.4.[01234]$>
+    # not for those versions
+</IfVersion>
+ + +

operator ãŒçœç•¥ã•ã‚ŒãŸã¨ã㯠= 㨠+ ã¿ãªã•ã‚Œã¾ã™ã€‚

+ +
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_version.html.ko.euc-kr b/docs/manual/mod/mod_version.html.ko.euc-kr new file mode 100644 index 0000000..2a53977 --- /dev/null +++ b/docs/manual/mod/mod_version.html.ko.euc-kr @@ -0,0 +1,180 @@ + + + + + +mod_version - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

¾ÆÆÄÄ¡ ¸ðµâ mod_version

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + + + +
¼³¸í:¹öÀüº° ¼³Á¤
»óÅÂ:Extension
¸ðµâ¸í:version_module
¼Ò½ºÆÄÀÏ:mod_version.c
Áö¿ø:¾ÆÆÄÄ¡ 2.1 ÀÌÈĺÎÅÍ
+

¿ä¾à

+ +

¿©·¯ ´Ù¸¥ À¥¼­¹ö ¹öÀü°ú ±¸¼ºÀ» ´Ù·ç¾î¾ß ÇÒ Å« ³×Æ®¿÷°ú + Å×½ºÆ®¿ëÀ¸·Î »ç¿ëÇϱâÀ§ÇØ ÀÌ ¸ðµâÀ» ¸¸µé¾ú´Ù. ÀÌ ¸ðµâÀº + ¼ýÀÚ ºñ±³³ª Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© ÀÚÀ¯·Î¿î ¹öÀü °Ë»ç°¡ °¡´ÉÇÑ + <IfVersion>À» + Á¦°øÇÑ´Ù.

+ +

¿¹Á¦

+ <IfVersion 2.1.0>
+ + # ÇöÀç À¥¼­¹ö ¹öÀüÀº Á¤È®È÷ 2.1.0ÀÌ´Ù
+
+ </IfVersion>
+
+ <IfVersion >= 2.2>
+ + # ÁøÂ¥ »õ·Î¿î ±â´ÉÀ» »ç¿ëÇÑ´Ù :-)
+
+ </IfVersion> +

+ +

´Ù¸¥ »ç¿ë¹ýÀº ¾Æ·¡¸¦ Âü°íÇÑ´Ù.

+
+
Support Apache!

Áö½Ã¾îµé

+ +

Bugfix checklist

Âü°í

+
+ +
top
+

<IfVersion> Áö½Ã¾î

+ + + + + + + +
¼³¸í:¹öÀüº° ¼³Á¤À» ¹­´Â´Ù
¹®¹ý:<IfVersion [[!]operator] version> ... +</IfVersion>
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess
Override ¿É¼Ç:All
»óÅÂ:Extension
¸ðµâ:mod_version
+

<IfVersion> ¼½¼ÇÀº + À¥¼­¹ö ¹öÀüÀÌ ¿øÇÏ´Â Á¶°ÇÀ» ¸¸Á·ÇÒ¶§¸¸ ½ÇÇàÇÒ ¼³Á¤ Áö½Ã¾î¸¦ + ¹­´Â´Ù. ÀϹÝÀûÀÎ (¼ýÀÚ) ºñ±³ÀÇ °æ¿ì version ¾Æ±Ô¸ÕÆ®´Â + 2.1.0À̳ª 2.2¿Í °°ÀÌ + major[.minor[.patch]] + Çü½ÄÀÌ´Ù. minor¿Í patch´Â ¾ø¾îµµ µÈ´Ù. + ÀÌµé ¼ýÀÚ°¡ ¾ø´Ù¸é 0À̶ó°í °¡Á¤ÇÑ´Ù. ´ÙÀ½°ú °°Àº ¼ýÀÚ + operator°¡ °¡´ÉÇÏ´Ù.

+ + + + + + + + + + + + +
operator¼³¸í
= ȤÀº ==µ¿ÀÏÇÑ À¥¼­¹ö ¹öÀü
>º¸´Ù Å« À¥¼­¹ö ¹öÀü
>=Å©°Å³ª °°Àº À¥¼­¹ö ¹öÀü
<º¸´Ù ÀÛÀº À¥¼­¹ö ¹öÀü
<=À۰ųª °°Àº À¥¼­¹ö ¹öÀü
+ +

¿¹Á¦

+ <IfVersion >= 2.1>
+ + # ¹öÀüÀÌ 2.1.0 º¸´Ù Å©°Å³ª °°À»¶§¸¸
+ # ½ÇÇàÇÑ´Ù.
+
+ </IfVersion> +

+ +

¼ýÀÚ ºñ±³¿Ü¿¡µµ Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© À¥¼­¹ö ¹öÀüÀ» ÁöÁ¤ÇÒ + ¼ö ÀÖ´Ù. ¿©±â¿¡´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù.

+ + + + + + +
operator¼³¸í
= ȤÀº ==versionÀº + /regex/ Çü½ÄÀÌ´Ù
~versionÀº + regex Çü½ÄÀÌ´Ù
+ +

¿¹Á¦

+ <IfVersion = /^2.1.[01234]$/>
+ + # ¿¹¸¦ µé¾î, ¿©±â¿¡ ¹ö±×°¡ Àִ ƯÁ¤ ¹öÀü¿¡ ´ëÇÑ ÇØ°áÃ¥ÀÌ ³ª¿Â´Ù + + </IfVersion> +

+ +

¿¬»êÀÚ ¾Õ¿¡ ´À³¦Ç¥(!)¸¦ ¾²¸é Àǹ̸¦ ¹Ý´ë·Î + Çؼ®ÇÑ´Ù.

+ +

+ <IfVersion !~ ^2.1.[01234]$>
+ + # ÀÌ ¹öÀüÀÌ ¾Æ´Ï¸é
+
+ </IfVersion> +

+ +

operator¸¦ »ý·«Çϸé =À̶ó°í + »ý°¢ÇÑ´Ù.

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.html b/docs/manual/mod/mod_vhost_alias.html new file mode 100644 index 0000000..d4e6a55 --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_vhost_alias.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_vhost_alias.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_vhost_alias.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_vhost_alias.html.en b/docs/manual/mod/mod_vhost_alias.html.en new file mode 100644 index 0000000..2523f62 --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.en @@ -0,0 +1,361 @@ + + + + + +mod_vhost_alias - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_vhost_alias

+
+

Available Languages:  en  | + fr  | + tr 

+
+ + + +
Description:Provides for dynamically configured mass virtual +hosting
Status:Extension
Module Identifier:vhost_alias_module
Source File:mod_vhost_alias.c
+

Summary

+ +

This module creates dynamically configured virtual hosts, by + allowing the IP address and/or the Host: header of + the HTTP request to be used as part of the pathname to + determine what files to serve. This allows for easy use of a + huge number of virtual hosts with similar configurations.

+ +

Note

+

If mod_alias or mod_userdir are + used for translating URIs to filenames, they will override the + directives of mod_vhost_alias described below. For + example, the following configuration will map + /cgi-bin/script.pl to + /usr/local/apache2/cgi-bin/script.pl in all cases:

+ +
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+VirtualScriptAlias "/never/found/%0/cgi-bin/"
+ +
+
+ +
top
+
+

Directory Name Interpolation

+ + +

All the directives in this module interpolate a string into + a pathname. The interpolated string (henceforth called the + "name") may be either the server name (see the UseCanonicalName + directive for details on how this is determined) or the IP + address of the virtual host on the server in dotted-quad + format. The interpolation is controlled by specifiers inspired + by printf which have a number of formats:

+ + + + + + + + + + + + +
%%insert a %
%pinsert the port number of the virtual host
%N.Minsert (part of) the name
+ +

N and M are used to specify + substrings of the name. N selects from the + dot-separated components of the name, and M + selects characters within whatever N has selected. + M is optional and defaults to zero if it isn't + present; the dot must be present if and only if M + is present. The interpretation is as follows:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
0the whole name
1the first part
2the second part
-1the last part
-2the penultimate part
2+the second and all subsequent parts
-2+the penultimate and all preceding parts
1+ and -1+the same as 0
+ +

If N or M is greater than the number + of parts available a single underscore is interpolated.

+ +
top
+
+

Examples

+ + +

For simple name-based virtual hosts you might use the + following directives in your server configuration file:

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/vhosts/%0"
+ + +

A request for + http://www.example.com/directory/file.html will be + satisfied by the file + /usr/local/apache/vhosts/www.example.com/directory/file.html. +

+ +

For a very large number of virtual hosts it is a good idea + to arrange the files to reduce the size of the + vhosts directory. To do this you might use the + following in your configuration file:

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"
+ + +

A request for + http://www.domain.example.com/directory/file.html + will be satisfied by the file + /usr/local/apache/vhosts/example.com/d/o/m/domain/directory/file.html.

+ +

A more even spread of files can be achieved by hashing from the + end of the name, for example:

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2"
+ + +

The example request would come from + /usr/local/apache/vhosts/example.com/n/i/a/domain/directory/file.html.

+ +

Alternatively you might use:

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"
+ + +

The example request would come from + /usr/local/apache/vhosts/example.com/d/o/m/ain/directory/file.html.

+ +

A very common request by users is the ability to point multiple domains to multiple +document roots without having to worry about the length or number of parts of the +hostname being requested. If the requested hostname is sub.www.domain.example.com + instead of simply www.domain.example.com, then using %3+ will result in the document +root being /usr/local/apache/vhosts/domain.example.com/... instead of the +intended example.com directory. In such cases, it can be beneficial to use +the combination %-2.0.%-1.0, which will always yield the domain name and the +tld, for example example.com regardless of the number of subdomains appended +to the hostname. As such, one can make a configuration that will direct all first, second +or third level subdomains to the same directory: +

+
VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
+ +

+In the example above, both www.example.com as well as www.sub.example.com +or example.com will all point to /usr/local/apache/vhosts/example.com. +

+ +

For IP-based virtual hosting you might use the following in + your configuration file:

+ +
UseCanonicalName DNS
+VirtualDocumentRootIP "/usr/local/apache/vhosts/%1/%2/%3/%4/docs"
+VirtualScriptAliasIP  "/usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin"
+ + +

A request for + http://www.domain.example.com/directory/file.html + would be satisfied by the file + /usr/local/apache/vhosts/10/20/30/40/docs/directory/file.html + if the IP address of www.domain.example.com were + 10.20.30.40. A request for + http://www.domain.example.com/cgi-bin/script.pl would + be satisfied by executing the program + /usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl.

+ +

If you want to include the . character in a + VirtualDocumentRoot directive, but it clashes with + a % directive, you can work around the problem in + the following way:

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0"
+ + +

A request for + http://www.domain.example.com/directory/file.html + will be satisfied by the file + /usr/local/apache/vhosts/domain.example/directory/file.html.

+ +

The LogFormat + directives %V and %A are useful + in conjunction with this module.

+
+
top
+

VirtualDocumentRoot Directive

+ + + + + + + +
Description:Dynamically configure the location of the document root +for a given virtual host
Syntax:VirtualDocumentRoot interpolated-directory|none
Default:VirtualDocumentRoot none
Context:server config, virtual host
Status:Extension
Module:mod_vhost_alias
+ +

The VirtualDocumentRoot directive allows you to + determine where Apache HTTP Server will find your documents based on the + value of the server name. The result of expanding + interpolated-directory is used as the root of the + document tree in a similar manner to the DocumentRoot directive's argument. + If interpolated-directory is none then + VirtualDocumentRoot is turned off. This directive + cannot be used in the same context as VirtualDocumentRootIP.

+ +

Note

+VirtualDocumentRoot will override any DocumentRoot directives you may have put in the same +context or child contexts. Putting a VirtualDocumentRoot +in the global server scope will effectively override DocumentRoot directives in any virtual hosts defined later +on, unless you set VirtualDocumentRoot to None +in each virtual host. +
+ + +
+
top
+

VirtualDocumentRootIP Directive

+ + + + + + + +
Description:Dynamically configure the location of the document root +for a given virtual host
Syntax:VirtualDocumentRootIP interpolated-directory|none
Default:VirtualDocumentRootIP none
Context:server config, virtual host
Status:Extension
Module:mod_vhost_alias
+ +

The VirtualDocumentRootIP directive is like the + VirtualDocumentRoot + directive, except that it uses the IP address of the server end + of the connection for directory interpolation instead of the server + name.

+ +
+
top
+

VirtualScriptAlias Directive

+ + + + + + + +
Description:Dynamically configure the location of the CGI directory for +a given virtual host
Syntax:VirtualScriptAlias interpolated-directory|none
Default:VirtualScriptAlias none
Context:server config, virtual host
Status:Extension
Module:mod_vhost_alias
+ +

The VirtualScriptAlias directive allows you to + determine where Apache httpd will find CGI scripts in a similar + manner to VirtualDocumentRoot does for other documents. It matches + requests for URIs starting /cgi-bin/, much like ScriptAlias + /cgi-bin/ would.

+ + +
+
top
+

VirtualScriptAliasIP Directive

+ + + + + + + +
Description:Dynamically configure the location of the CGI directory for +a given virtual host
Syntax:VirtualScriptAliasIP interpolated-directory|none
Default:VirtualScriptAliasIP none
Context:server config, virtual host
Status:Extension
Module:mod_vhost_alias
+ +

The VirtualScriptAliasIP directive is like the + VirtualScriptAlias + directive, except that it uses the IP address of the server end + of the connection for directory interpolation instead of the server + name.

+ + +
+
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.html.fr.utf8 b/docs/manual/mod/mod_vhost_alias.html.fr.utf8 new file mode 100644 index 0000000..6f7562d --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.fr.utf8 @@ -0,0 +1,385 @@ + + + + + +mod_vhost_alias - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_vhost_alias

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ + + +
Description:Permet de configurer dynamiquement l'hébergement virtuel de +masse
Statut:Extension
Identificateur de Module:vhost_alias_module
Fichier Source:mod_vhost_alias.c
+

Sommaire

+ +

Ce module permet de créer des serveurs virtuels configurés + dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de + l'en-tête Host: de la requête HTTP comme partie du nom + de chemin afin de déterminer les fichiers à servir. Ceci facilite la + gestion d'un grand nombre de serveurs virtuels possèdant des + configurations similaires.

+ +

Note

+

Si les modules mod_alias ou + mod_userdir sont utilisés pour traduire les URIs + en noms de fichiers, ils l'emportent sur les directives du module + mod_vhost_alias décrites ci-dessous. Par + exemple, la configuration suivante fera correspondre + /cgi-bin/script.pl à + /usr/local/apache2/cgi-bin/script.pl dans tous les cas :

+ +
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+VirtualScriptAlias "/never/found/%0/cgi-bin/"
+ +
+
+ +
top
+
+

Interpolation du nom de répertoire

+ + +

Toutes les directives de ce module insèrent une chaîne dans un + nom de chemin. La chaîne insérée (que nous appellerons maintenant le + "nom") peut être soit le nom du serveur (voir la directive + UseCanonicalName pour les + détails sur la manière dont il est déterminé), soit l'adresse IP du + serveur virtuel hébergé par le serveur sous la forme d'un quadruplet + d'octets séparés par des points. L'insertion est contrôlée par des + spécificateurs inspirés de printf et possèdant de + nombreux formats :

+ + + + + + + + + + + + +
%%insère un %
%pinsère le numéro de port du serveur virtuel
%N.Minsère le nom (en partie)
+ +

N et M permettent de spécifier des + sous-chaînes du nom. N sélectionne un des composants du + nom séparés par des points, et M sélectionne des + caractères à l'intérieur de ce que N a sélectionné. + M est optionnel et sa valeur par défaut est 0 s'il + n'est pas spécifié ; le point doit être présent si et seulement si + M l'est aussi. Les modes d'insertion sont les suivants + :

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
0le nom en entier
1la première partie
2la seconde partie
-1la dernière partie
-2l'avant-dernière partie
2+toutes les parties à partir de la seconde
-2+toutes les parties jusqu'à l'avant-dernière
1+ et -1+identique à 0
+ +

Si N ou M est plus grand que le nombre + de parties disponibles, seul un caractère de soulignement est + inséré.

+ +
top
+
+

Exemples

+ + +

Pour des serveurs virtuels simples à base de nom, utilisez les + directives suivantes dans le fichier de configuration de votre + serveur :

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/vhosts/%0"
+ + +

Une requête pour + http://www.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/www.example.com/repertoire/fichier.html. +

+ +

Pour un très grand nombre de serveurs virtuels, il est avantageux + d'organiser les fichiers de façon à réduire la taille du répertoire + vhosts. Pour ce faire, insérez les lignes suivantes + dans votre fichier de configuration :

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"
+ + +

Une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html.

+ +

Une répartition plus régulière des fichiers peut être obtenue en + partant de la fin d'un composant du nom, comme dans l'exemple + suivant :

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2"
+ + +

La requête précédente concernerait alors + /usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html.

+ +

Vous pouvez également utiliser :

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"
+ + +

La requête précédente concernerait alors + /usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html.

+ +

Une demande très courante des utilisateurs concerne la possibilité de + faire correspondre plusieurs racines de documents à plusieurs + domaines, sans avoir à se préoccuper de la longueur ou du nombre de + parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte + de la requête est sub.www.domain.example.com au lieu de + simplement www.domain.example.com, alors en utilisant + %3+, la racine des documents sera + /usr/local/apache/vhosts/domain.example.com/... au + lieu du répertoire example.com attendu. Dans ce genre + de situation, il peut s'avérer préférable d'utiliser la combinaison + %-2.0.%-1.0 qui fournira toujours le nom de domaine et + le tld, par exemple example.com sans tenir compte du + nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions, + il est possible d'élaborer une configuration qui associera les + sous-domaines de premier, second et troisième niveau au même + répertoire : +

+
VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
+ +

+Dans l'exemple ci-dessus, www.example.com, +www.sub.example.com ou example.com +correspondront tous au répertoire +/usr/local/apache/vhosts/example.com. +

+ + + +

Pour l'hébergement virtuel à base d'adresse IP, vous pouvez + insérer les lignes suivantes dans votre fichier de configuration + :

+ +
UseCanonicalName DNS
+VirtualDocumentRootIP "/usr/local/apache/vhosts/%1/%2/%3/%4/docs"
+VirtualScriptAliasIP  "/usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin"
+ + +

Si l'adresse IP de www.domaine.example.com est + 10.20.30.40, une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera la ressource + /usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html. + Une requête pour + http://www.domaine.example.com/cgi-bin/script.pl + concernera la ressource + /usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl.

+ +

Si vous voulez insérer le caractère . dans une + directive VirtualDocumentRoot, et si cela crée un + conflit avec un spécificateur %, vous pouvez contourner + le problème de la manière suivante :

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0"
+ + +

Une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html.

+ +

Les spécificateurs de format %V et %A + de la directive LogFormat s'avèrent très utiles + lorsqu'ils sont utilisés en conjonction avec ce module.

+
+
top
+

Directive VirtualDocumentRoot

+ + + + + + + +
Description:Permet une configuration dynamique de la racine des +documents d'un serveur virtuel donné
Syntaxe:VirtualDocumentRoot répertoire-interpolé|none
Défaut:VirtualDocumentRoot none
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualDocumentRoot vous + permet de spécifier où le serveur HTTP Apache pourra trouver vos + documents en se basant + sur le nom du serveur. Le résultat de l'expansion du + répertoire-interpolé est utilisé comme racine de + l'arborescence des documents d'une manière similaire à l'argument de + la directive DocumentRoot. Si + répertoire-interpolé a pour valeur none, la + directive VirtualDocumentRoot est désactivée. + Cette directive ne peut pas être utilisée dans le même contexte que + la directive VirtualDocumentRootIP.

+ +

Note

+La directive VirtualDocumentRoot l'emporte sur +toute directive DocumentRoot +définie dans le même contexte ou dans des contextes enfants. Le fait de +définir une directive VirtualDocumentRoot dans le +contexte du serveur principal va effectivement l'emporter sur toute +directive DocumentRoot définie dans +un serveur virtuel quelconque, si vous n'avez pas défini +VirtualDocumentRoot à None dans ce +serveur virtuel. +
+ + +
+
top
+

Directive VirtualDocumentRootIP

+ + + + + + + +
Description:Configuration dynamique de la racine des documents pour un +serveur virtuel donné
Syntaxe:VirtualDocumentRootIP répertoire-interpolé|none
Défaut:VirtualDocumentRootIP none
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualDocumentRootIP est +identique à la directive VirtualDocumentRoot à l'exception +près qu'elle utilise l'adresse IP du serveur virtuel pour +l'interpolation du répertoire à la place du nom du serveur.

+ +
+
top
+

Directive VirtualScriptAlias

+ + + + + + + +
Description:Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné
Syntaxe:VirtualScriptAlias répertoire-interpolé|none
Défaut:VirtualScriptAlias none
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualScriptAlias vous + permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une + méthode similaire à celle qu'utilise la directive VirtualDocumentRoot pour les + autres documents. Elle recherche des requêtes dont l'URI commence + par /cgi-bin/, comme le ferait la directive ScriptAlias.

+ + +
+
top
+

Directive VirtualScriptAliasIP

+ + + + + + + +
Description:Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné
Syntaxe:VirtualScriptAliasIP répertoire-interpolé|none
Défaut:VirtualScriptAliasIP none
Contexte:configuration globale, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualScriptAliasIP est + identique à la directive VirtualScriptAlias à + l'exception près qu'elle utilise l'adresse IP du serveur virtuel + pour l'interpolation du répertoire à la place du nom du serveur.

+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.html.tr.utf8 b/docs/manual/mod/mod_vhost_alias.html.tr.utf8 new file mode 100644 index 0000000..75674ab --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.tr.utf8 @@ -0,0 +1,354 @@ + + + + + +mod_vhost_alias - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache Modülü mod_vhost_alias

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ + + +
Açıklama:Kitlesel sanal konakların devingen olarak yapılandırılmasını sağlar
Durum:Eklenti
Modül Betimleyici:vhost_alias_module
Kaynak Dosyası:mod_vhost_alias.c
+

Özet

+ +

Bu modül, hangi dosyaların sunulacağını saptamak için dosya yolunun + parçası olarak HTTP isteğinin Host: başlığının ve/veya IP + adresinin kullanılmasını mümkün kılarak devingen yapılandırmalı sanal + konaklar oluşturur. Böylece benzer yapılandırmaya sahip çok büyük sayıda + sanal konak kullanımı kolaşlaşır.

+ +

Bilginize

+

URI’leri dosya isimlerine dönüştürmek için mod_alias + veya mod_userdir kullanılmışsa bunlar + mod_vhost_alias yönergeleri tarafından aşağıda + açıklandığı gibi geçersiz kılınırlar. Örneğin, aşağıdaki yapılandırma + her durumda /cgi-bin/script.pl betiğini + /usr/local/apache2/cgi-bin/script.pl betiğine eşleyecektir:

+ +
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+VirtualScriptAlias "/nerede/bilinmiyor/%0/cgi-bin/"
+ +
+
+ +
top
+
+

Dizin Ä°simlerinin Elde Edilmesi

+ + +

Bu modüldeki tüm yönergeler bir dizgeyi bir dosya yoluna dönüştürerek + çalışırlar. Dönüşüm dizgesi (bundan sonra “isim†diyeceğiz) ya sunucu + ismi olur (bunun nasıl belirlendiğini öğrenmek için UseCanonicalName yönergesine bakınız) ya da + sunucu üzerindeki sanal konağın IP adresi olur. Dönüşümü, + printf’inkilerin benzeri birkaç biçem belirteci + denetler:

+ + + + + + + + + + + + +
%%Bir % imi yerleÅŸtirir.
%pSanal konağın IP adresini yerleştirir.
%N.Mİsmin parçalarını yerleştirir.
+ +

N ve M ismin alt dizgelerini belirtmek için + kullanılır. N, ismin noktalarla ayrılmış bileşenlerinden + seçim yaparken M, N ile seçilen parçadan + karakter seçmekte kullanılır. M isteğe bağlı olup mevcut + olmaması halinde öntanımlı olarak sıfırdır. Noktanın varlığı + M’nin varlığına bağlıdır. Dönüşüm şöyle uygulanır:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
0ismin tamamı
1ilk parça
2ikinci parça
-1son parça
-2sondan bir önceki parça
2+ikinci parça ve sonraki parçaların hepsi
-2+sondan bir önceki parça ve daha önceki parçaların hepsi
1+ ve -1+0 ile aynı
+ +

N veya M parça sayısından büyükse dönüşüm + dizgesi sadece alt çizgi karakterini içerir.

+ +
top
+
+

Örnekler

+ + +

Sunucu yapılandırma dosyanızda isme dayalı sanal konaklar için + aşağıdaki yönergeler kullanılıyor olsun:

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/sankonlar/%0"
+ + +

http://example.com/dizin/dosya.html için yapılan bir istek + /usr/local/apache/sankonlar/example.com/dizin/dosya.html + dosyası ile yerine getirilecektir.

+ +

Çok büyük sayıda sanal konak için sankonlar dizininin + boyutlarını küçük tutmak amacıyla dosyalar düzenlenebilir. Bunu + yapılandırma dosyanızda şöyle yapabilirsiniz:

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2"
+ + +

http://falan.filan.example.com/dizin/dosya.html için + yapılan bir istek + /usr/local/apache/sankonlar/example.com/f/i/l/filan/dizin/dosya.html + ile yerine getirilecektir.

+ +

Bu sefer de parçaları ismin sonundan toplayalım:

+ +
VirtualDocumentRoot "/usr/local/apache/sankonlar/%3+/%2.-1/%2.-2/%2.-3/%2"
+ + +

Bu durumda istek + /usr/local/apache/sankonlar/example.com/n/a/l/filan/dizin/dosya.html + ile karşılanırdı.

+ +

Şöyle bir şey de yapabilirsiniz:

+ +
VirtualDocumentRoot "/usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2.4+"
+ + +

Bu örnek için istek + /usr/local/apache/sankonlar/example.com/f/i/l/an/dizin/dosya.html + dosyasından karşılanırdı.

+ +

Kullanıcıların çoğunun ortak isteği, istenen konak adının uzunluğu veya + sayısı için endişelenmeksizin çok sayıda belge köküne çok sayıda alan + adından erişilebilmesidir. Eğer istenen konak adı + www.domain.example.com değil de + sub.www.domain.example.com ise %3+ kullanımı, belge kök + dizininin düşünüldüğü gibi example.com değil + /usr/local/apache/vhosts/domain.example.com/... olmasını + sağlar. Böyle durumlarda, daima alan adı ve tld ile sonuçlanan + %-2.0.%-1.0 birleşiminin kullanımı daha yararlı olabilir. + Böylece, tüm ilk, ikinci ve üçüncü seviye alt alan adlarını aynı dizine + yönlendirecek bir yapılandırma yapılabilir:

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
+ + +

Yukarıdaki örnekte, example.com, + www.example.com ve hatta www.sub.example.com + bile /usr/local/apache/vhosts/example.com dizinine + yönlendirilecektir.

+ +

IP’ye dayalı sanal konaklar için yapılandırma dosyanızda şu satırlar + olabilirdi:

+ +
UseCanonicalName DNS
+VirtualDocumentRootIP "/usr/local/apache/sankonlar/%1/%2/%3/%4/belgeler"
+VirtualScriptAliasIP  "/usr/local/apache/sankonlar/%1/%2/%3/%4/cgi-bin"
+ + +

http://falan.filan.example.com/dizin/dosya.html için + yapılan bir istek eğer falan.filan.example.com’un IP adresi + 10.20.30.40 olsaydı, + /usr/local/apache/sankonlar/10/20/30/40/belgeler/dizin/dosya.html + dosyası ile karşılanırdı. + http://falan.filan.example.com/cgi-bin/betik.pl için yapılan + bir istek ise + /usr/local/apache/sankonlar/10/20/30/40/cgi-bin/betik.pl + betiğinin çalıştırılması ile sağlanırdı.

+ +

Bir VirtualDocumentRoot yönergesinin . + karakterini içermesini isterseniz, bir biçem belirteci ile karışıklığa + sebep olmaksızın bunu şöyle sağlayabilirsiniz:

+ +
VirtualDocumentRoot "/usr/local/apache/sankonlar/%2.0.%3.0"
+ + +

Bu durumda http://falan.filan.example.com/dizin/dosya.html + için yapılan bir istek + /usr/local/apache/sankonlar/filan.mesela/dizin/dosya.html + dosyası ile karşılanacaktır.

+ +

LogFormat yönergesinin + %V ve %A biçem belirteçleri bu modülle + birlikte kullanıldığında çok yararlı olurlar.

+
+
top
+

VirtualDocumentRoot Yönergesi

+ + + + + + + +
Açıklama:Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +
Sözdizimi:VirtualDocumentRoot hesaplanan-dizin|none
Öntanımlı:VirtualDocumentRoot none
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_vhost_alias
+ +

VirtualDocumentRoot yönergesi sunucu ismine göre + belgelerin bulunacağı yeri Apache HTTP Sunucusunun saptamasını sağlar. + hesaplanan-dizin’in dönüşüm sonucu DocumentRoot yönergesinin değeriymiş gibi + belge ağacının kök dizini olarak kullanılır. + hesaplanan-dizin yerine none + belirtilmişse VirtualDocumentRoot iptal edilmiş + olur. Bu yönerge VirtualDocumentRootIP yönergesinin kullanıldığı bağlamda + yer alamaz.

+ +

Bilginize

+ VirtualDocumentRoot yönergesi aynı bağlamda veya + alt bağlamlarda da kullanılabilen DocumentRoot yönergelerini geçersiz kılar. + Genel sunucu etki alanına bir VirtualDocumentRoot + konulması, daha sonra yer alan her sanal konak tanımı içinde + VirtualDocumentRoot yönergesine None + atamadıkça bu sanal konaklarda yapılmış DocumentRoot atamalarını geçersiz kılacaktır. +
+ +
+
top
+

VirtualDocumentRootIP Yönergesi

+ + + + + + + +
Açıklama:Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +
Sözdizimi:VirtualDocumentRootIP hesaplanan-dizin|none
Öntanımlı:VirtualDocumentRootIP none
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_vhost_alias
+ +

VirtualDocumentRootIP yönergesi, dizinin + saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP + adresini kullanması dışında VirtualDocumentRoot gibidir.

+ +
+
top
+

VirtualScriptAlias Yönergesi

+ + + + + + + +
Açıklama:Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +
Sözdizimi:VirtualScriptAlias hesaplanan-dizin|none
Öntanımlı:VirtualScriptAlias none
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_vhost_alias
+ +

VirtualScriptAlias yönergesi, CGI betiklerinin + bulunacağı yeri Apache httpd’nin saptamasını sağlamak bakımından + VirtualDocumentRoot + yönergesinin yaptığını yapar. /cgi-bin/ ile başlayan + istekler için ise ScriptAlias + yönergesinin yaptığını yapar.

+ + +
+
top
+

VirtualScriptAliasIP Yönergesi

+ + + + + + + +
Açıklama:Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +
Sözdizimi:VirtualScriptAliasIP hesaplanan-dizin|none
Öntanımlı:VirtualScriptAliasIP none
BaÄŸlam:sunucu geneli, sanal konak
Durum:Eklenti
Modül:mod_vhost_alias
+ +

VirtualScriptAliasIP yönergesi, dizinin + saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP + adresini kullanması dışında VirtualScriptAlias gibidir.

+ + +
+
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_watchdog.html b/docs/manual/mod/mod_watchdog.html new file mode 100644 index 0000000..d808fa6 --- /dev/null +++ b/docs/manual/mod/mod_watchdog.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_watchdog.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_watchdog.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_watchdog.html.en b/docs/manual/mod/mod_watchdog.html.en new file mode 100644 index 0000000..f9282ac --- /dev/null +++ b/docs/manual/mod/mod_watchdog.html.en @@ -0,0 +1,106 @@ + + + + + +mod_watchdog - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_watchdog

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:provides infrastructure for other modules to periodically run + tasks
Status:Base
Module Identifier:watchdog_module
Source File:mod_watchdog.c
Compatibility:Available in Apache 2.3 and later
+

Summary

+ +

mod_watchdog defines programmatic hooks for other modules to +periodically run tasks. These modules can register handlers for +mod_watchdog hooks. Currently, the following modules in the +Apache distribution use this functionality:

+ +
+To allow a module to use mod_watchdog functionality, +mod_watchdog itself must be statically linked to the server +core or, if a dynamic module, be loaded before the calling module. +
+
+
Support Apache!

Directives

+ +

Bugfix checklist

See also

+
+ +
top
+

WatchdogInterval Directive

+ + + + + + + +
Description:Watchdog interval in seconds
Syntax:WatchdogInterval time-interval[s]
Default:WatchdogInterval 1
Context:server config
Status:Base
Module:mod_watchdog
+

Sets the interval at which the watchdog_step hook runs. Default is to run every +second.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_watchdog.html.fr.utf8 b/docs/manual/mod/mod_watchdog.html.fr.utf8 new file mode 100644 index 0000000..1e6ecc6 --- /dev/null +++ b/docs/manual/mod/mod_watchdog.html.fr.utf8 @@ -0,0 +1,110 @@ + + + + + +mod_watchdog - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_watchdog

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Fournit une infrastructure permettant à d'autres modules +d'exécuter des tâches périodiques.
Statut:Base
Identificateur de Module:watchdog_module
Fichier Source:mod_watchdog.c
Compatibilité:Disponible à partir de la version 2.3 du serveur HTTP +Apache
+

Sommaire

+ +

Le module mod_watchdog définit des +branchements (hooks) programmés pour permettre à d'autres modules +d'exécuter des tâches périodiques. Ces modules peuvent enregistrer des +gestionnaires (handlers) pour les branchements de +mod_watchdog. Actuellement, seuls les modules suivants +de la distribution Apache utilisent cette fonctionnalité :

+ +
+Pour qu'un module puisse utiliser la fonctionnalité de +mod_watchdog, ce dernier doit être lié statiquement +avec le serveur httpd ; s'il a été lié dynamiquement, il doit être +chargé avant l'appel au module qui doit utiliser sa fonctionnalité. +
+
+ + +
top
+

Directive WatchdogInterval

+ + + + + + + +
Description:Intervalle Watchdog en secondes
Syntaxe:WatchdogInterval time-interval[s]
Défaut:WatchdogInterval 1
Contexte:configuration globale
Statut:Base
Module:mod_watchdog
+

Cette directive permet de définir l'intervalle entre chaque exécution +du branchement watchdog. La valeur par défaut est de 1 seconde.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_xml2enc.html b/docs/manual/mod/mod_xml2enc.html new file mode 100644 index 0000000..f810b6c --- /dev/null +++ b/docs/manual/mod/mod_xml2enc.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_xml2enc.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_xml2enc.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_xml2enc.html.en b/docs/manual/mod/mod_xml2enc.html.en new file mode 100644 index 0000000..a76bb66 --- /dev/null +++ b/docs/manual/mod/mod_xml2enc.html.en @@ -0,0 +1,219 @@ + + + + + +mod_xml2enc - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache Module mod_xml2enc

+
+

Available Languages:  en  | + fr 

+
+ + + + +
Description:Enhanced charset/internationalisation support for libxml2-based +filter modules
Status:Base
Module Identifier:xml2enc_module
Source File:mod_xml2enc.c
Compatibility:Version 2.4 and later. Available as a third-party module +for 2.2.x versions
+

Summary

+ +

This module provides enhanced internationalisation support for + markup-aware filter modules such as mod_proxy_html. + It can automatically detect the encoding of input data and ensure + they are correctly processed by the libxml2 parser, including converting to Unicode (UTF-8) where + necessary. It can also convert data to an encoding of choice + after markup processing, and will ensure the correct charset + value is set in the HTTP Content-Type header.

+
+ +
top
+
+

Usage

+

There are two usage scenarios: with modules programmed to work + with mod_xml2enc, and with those that are not aware of it:

+
+
Filter modules enabled for mod_xml2enc
+

Modules such as mod_proxy_html version 3.1 + and up use the xml2enc_charset optional function to retrieve + the charset argument to pass to the libxml2 parser, and may use the + xml2enc_filter optional function to postprocess to another + encoding. Using mod_xml2enc with an enabled module, no configuration + is necessary: the other module will configure mod_xml2enc for you + (though you may still want to customise it using the configuration + directives below).

+
+
Non-enabled modules
+

To use it with a libxml2-based module that isn't explicitly enabled for + mod_xml2enc, you will have to configure the filter chain yourself. So to + use it with a filter foo provided by a module + mod_foo to improve the latter's i18n support with HTML and + XML, you could use

+

+    FilterProvider iconv    xml2enc Content-Type $text/html
+    FilterProvider iconv    xml2enc Content-Type $xml
+    FilterProvider markup   foo Content-Type $text/html
+    FilterProvider markup   foo Content-Type $xml
+    FilterChain     iconv markup
+    
+

mod_foo will now support any character set supported by either + (or both) of libxml2 or apr_xlate/iconv.

+
+
top
+
+

Programming API

+

Programmers writing libxml2-based filter modules are encouraged to + enable them for mod_xml2enc, to provide strong i18n support for your + users without reinventing the wheel. The programming API is exposed in + mod_xml2enc.h, and a usage example is + mod_proxy_html.

+
top
+
+

Detecting an Encoding

+

Unlike mod_charset_lite, mod_xml2enc is designed + to work with data whose encoding cannot be known in advance and thus + configured. It therefore uses 'sniffing' techniques to detect the + encoding of HTTP data as follows:

+
    +
  1. If the HTTP Content-Type header includes a + charset parameter, that is used.
  2. +
  3. If the data start with an XML Byte Order Mark (BOM) or an + XML encoding declaration, that is used.
  4. +
  5. If an encoding is declared in an HTML <META> + element, that is used.
  6. +
  7. If none of the above match, the default value set by + xml2EncDefault is used.
  8. +
+

The rules are applied in order. As soon as a match is found, + it is used and detection is stopped.

+
top
+
+

Output Encoding

+

libxml2 always uses UTF-8 (Unicode) +internally, and libxml2-based filter modules will output that by default. +mod_xml2enc can change the output encoding through the API, but there +is currently no way to configure that directly.

+

Changing the output encoding should (in theory, at least) never be +necessary, and is not recommended due to the extra processing load on +the server of an unnecessary conversion.

+
top
+
+

Unsupported Encodings

+

If you are working with encodings that are not supported by any of +the conversion methods available on your platform, you can still alias +them to a supported encoding using xml2EncAlias.

+
+
top
+

xml2EncAlias Directive

+ + + + + + +
Description:Recognise Aliases for encoding values
Syntax:xml2EncAlias charset alias [alias ...]
Context:server config
Status:Base
Module:mod_xml2enc
+

This server-wide directive aliases one or more encoding to another + encoding. This enables encodings not recognised by libxml2 to be handled + internally by libxml2's encoding support using the translation table for + a recognised encoding. This serves two purposes: to support character sets + (or names) not recognised either by libxml2 or iconv, and to skip + conversion for an encoding where it is known to be unnecessary.

+ +
+
top
+

xml2EncDefault Directive

+ + + + + + +
Description:Sets a default encoding to assume when absolutely no information +can be automatically detected
Syntax:xml2EncDefault name
Context:server config, virtual host, directory, .htaccess
Status:Base
Module:mod_xml2enc
+

If you are processing data with known encoding but no encoding + information, you can set this default to help mod_xml2enc process + the data correctly. For example, to work with the default value + of Latin1 (iso-8859-1) specified in HTTP/1.0, use:

+
xml2EncDefault iso-8859-1
+ + +
+
top
+

xml2StartParse Directive

+ + + + + + +
Description:Advise the parser to skip leading junk.
Syntax:xml2StartParse element [element ...]
Context:server config, virtual host, directory, .htaccess
Status:Base
Module:mod_xml2enc
+

Specify that the markup parser should start at the first instance + of any of the elements specified. This can be used as a workaround + where a broken backend inserts leading junk that messes up the parser (example here).

+

It should never be used for XML, nor well-formed HTML.

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_xml2enc.html.fr.utf8 b/docs/manual/mod/mod_xml2enc.html.fr.utf8 new file mode 100644 index 0000000..bcab35f --- /dev/null +++ b/docs/manual/mod/mod_xml2enc.html.fr.utf8 @@ -0,0 +1,239 @@ + + + + + +mod_xml2enc - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_xml2enc

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support avancé de l'internationalisation et des jeux de +caractères pour les modules de filtrage basés sur libxml2
Statut:Base
Identificateur de Module:xml2enc_module
Fichier Source:mod_xml2enc.c
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.2.x
+

Sommaire

+ +

Ce module fournit un support avancé de l'internationalisation + pour les modules de filtrage supportant les balises (markup-aware) + comme mod_proxy_html. Il est capable de détecter + automatiquement l'encodage des données en entrée et de s'assurer + qu'elle sont traitées correctement par l'interpréteur libxml2, y compris la conversion en + Unicode (UTF-8) si nécessaire. Il peut aussi convertir les données + dans l'encodage de votre choix après le traitement des balises, et + s'assurera que le jeu de caractères approprié sera défini + dans l'en-tête HTTP Content-Type.

+
+ +
top
+
+

Utilisation

+

Il existe deux scénarios d'utilisation : le cas des modules + programmés pour travailler avec mod_xml2enc ; et les autres :

+
+
Modules de filtrages programmés pour mod_xml2enc
+

Les modules comme mod_proxy_html versions 3.1 et + supérieures utilisent la fonction optionnelle + xml2enc_charset pour déterminer la valeur de l'argument + "jeu de caractères" à transmettre à l'interpréteur libxml2, et + disposent de la fonction optionnelle xml2enc_filter + pour effectuer un encodage ultérieur éventuel. L'utilisation de + mod_xml2enc avec un module préprogrammé à cet effet ne nécessite + aucune configuration : ce dernier configurera mod_xml2enc pour vous + (sachant que vous pouvez tout de même le personnaliser via les + directives de configuration ci-dessous).

+
+
Modules de filtrages non programmés pour mod_xml2enc
+

Pour utiliser mod_xml2enc avec un module basé sur libxml2 qui n'a + pas été explicitement programmé pour mod_xml2enc, vous devrez + configurer la chaîne de filtrage vous-même. Ainsi, pour utiliser + mod_xml2enc avec un filtre foo fourni par un module + mod_foo et pour + améliorer le support i18n de ce dernier avec HTML et XML, vous + pouvez utiliser les directives suivantes :

+

+    FilterProvider iconv    xml2enc Content-Type $text/html
+    FilterProvider iconv    xml2enc Content-Type $xml
+    FilterProvider markup   foo Content-Type $text/html
+    FilterProvider markup   foo Content-Type $xml
+    FilterChain     iconv markup
+    
+

mod_foo supportera alors tout jeu de caractère supporté soit par + libxml2, soit par apr_xlate/iconv, soit par les deux.

+
+
top
+
+

API de programmation

+

Les programmeurs de modules de filtrage basés sur libxml2 sont + encouragés à les préprogrammer pour mod_xml2enc, afin de fournir un + support i18n solide aux utilisateurs sans avoir à réinventer la + roue. L'API de programmation est décrite dans + mod_xml2enc.h, et mod_proxy_html est un + exemple de son utilisation.

+
top
+
+

Détection et encodage

+

A la différence de mod_charset_lite, mod_xml2enc + est conçu pour travailler avec des données dont l'encodage ne peut + pas être connu, et donc configuré, à l'avance. Il utilise donc les + techniques de 'reniflage' suivantes pour détecter le type d'encodage + des données HTTP :

+
    +
  1. Si l'en-tête HTTP Content-Type contient un + paramètre charset, c'est ce dernier qui sera utilisé.
  2. +
  3. Si les données commancent par une balise XML concernant + l'ordre des octets (BOM) ou par une déclaration d'encodage XML, + c'est celle-ci qui sera utilisée.
  4. +
  5. Si un type d'encodage est déclaré dans un élément HTML + <META>, c'est ce dernier qui sera utilisé.
  6. +
  7. Si aucun des éléments précédents n'est trouvé, c'est la + valeur par défaut définie par la directive + xml2EncDefault qui sera utilisée.
  8. +
+

Les conditions sont testées dans cet ordre . Dès qu'une règle + s'applique, elle est utilisée et la détection est terminée.

+
top
+
+

Codage en sortie

+

libxml2 utilise toujours UTF-8 +(Unicode) en interne, et les modules de filtrage basés sur libxml2 +utiliseront cet encodage en sortie par défaut. mod_xml2enc peut modifier +l'encodage en sortie via l'API, mais il n'y a actuellement aucun moyen de le +configurer directement.

+

La modification de l'encodage en sortie ne devrait (du moins en théorie) +jamais être nécessaire, et est même déconseillée à cause de la charge de +traitement supplémentaire imposée au serveur par une conversion non +nécessaire.

+
top
+
+

Codages non supportés

+

Si vous travaillez avec des encodages non supportés par aucune des +méthodes de conversion disponibles sur votre plateforme, vous pouvez +tout de même leur associer un alias vers un code supporté via la +directive xml2EncAlias.

+
+
top
+

Directive xml2EncAlias

+ + + + + + +
Description:Définit des alias pour les valeurs d'encodage
Syntaxe:xml2EncAlias jeu-de-caractères alias [alias ...]
Contexte:configuration globale
Statut:Base
Module:mod_xml2enc
+

Cette directive de niveau serveur permet de définir un ou + plusieurs alias pour un encodage. Elle permet au support d'encodage de + libxml2 de traiter en interne des encodages non reconnus par libxml2 + en utilisant la table de conversion pour un encodage reconnu. Elle + permet d'atteindre deux objectifs : supporter des jeux (ou noms) de + caractères non reconnus par libxml2 ou iconv, et éviter une + conversion pour un encodage lorsque cela n'est pas nécessaire.

+ +
+
top
+

Directive xml2EncDefault

+ + + + + + +
Description:Définit un encodage par défaut à utiliser lorsqu'aucune +information ne peut être automatiquement détectée
Syntaxe:xml2EncDefault nom
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Base
Module:mod_xml2enc
+

Si vous traitez des données dont l'encodage est connu, mais ne + contenant aucune information à propos de ce dernier, vous pouvez + définir une valeur par défaut afin d'aider mod_xml2enc à traiter + correctement les données. Par exemple, pour définir la valeur par + défaut Latin1 (iso-8859-1) specifiée dans HTTP/1.0, + utilisez :

+
xml2EncDefault iso-8859-1
+ + +
+
top
+

Directive xml2StartParse

+ + + + + + +
Description:Indique à l'interpréteur à partir de quelle balise il doit +commencer son traitement.
Syntaxe:xml2StartParse élément [élément ...]
Contexte:configuration globale, serveur virtuel, répertoire, .htaccess
Statut:Base
Module:mod_xml2enc
+

Cette directive permet de spécifier à partir de quelle balise, + parmi les éléments spécifiés, l'interpréteur de balise doit + commencer son traitement. Ccei permet de contourner le problème des + serveurs d'arrière-plan qui insèrent des éléments non conformes en + début de données, ce qui a pour effet de perturber l'interpréteur (voir un exemple ici).

+

Elle ne doit être utilisée ni pour les documents XML, ni pour les + documents HTML correctement formatés.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/module-dict.html b/docs/manual/mod/module-dict.html new file mode 100644 index 0000000..c27b42e --- /dev/null +++ b/docs/manual/mod/module-dict.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: module-dict.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: module-dict.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: module-dict.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: module-dict.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: module-dict.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/module-dict.html.en b/docs/manual/mod/module-dict.html.en new file mode 100644 index 0000000..b6bd660 --- /dev/null +++ b/docs/manual/mod/module-dict.html.en @@ -0,0 +1,147 @@ + + + + + +Terms Used to Describe Modules - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Terms Used to Describe Modules

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

This document describes the terms that are used to describe + each Apache module.

+
+ +
top
+
+

Description

+ +

A brief description of the purpose of the module.

+
top
+
+

Status

+ +

This indicates how tightly bound into the Apache Web server + the module is; in other words, you may need to recompile the + server in order to gain access to the module and its + functionality. Possible values for this attribute are:

+ +
+
MPM
+ +
A module with status "MPM" is a Multi-Processing Module. Unlike the + other types of modules, Apache must have one and only one MPM + in use at any time. This type of module is responsible for + basic request handling and dispatching.
+ +
Base
+ +
A module labeled as having "Base" status is compiled and + loaded into the server by default, and is therefore normally + available unless you have taken steps to remove the module + from your configuration.
+ +
Extension
+ +
A module with "Extension" status is not normally compiled + and loaded into the server. To enable the module and its + functionality, you may need to change the server build + configuration files and re-compile Apache.
+ +
Experimental
+ +
"Experimental" status indicates that the module is + available as part of the Apache kit, but you are on your own + if you try to use it. The module is being documented for + completeness, and is not necessarily supported.
+ +
External
+ +
Modules which are not included with the base Apache + distribution ("third-party modules") may use the "External" + status. We are not responsible for, nor do we support such + modules.
+
+
top
+
+

Source File

+ +

This quite simply lists the name of the source file which + contains the code for the module. This is also the name used by + the <IfModule> + directive.

+
top
+
+

Module Identifier

+ +

This is a string which identifies the module for use in the + LoadModule directive when + dynamically loading modules. In particular, it is the name of + the external variable of type module in the source file.

+
top
+
+

Compatibility

+ +

If the module was not part of the original Apache version 2 + distribution, the version in which it was introduced should be + listed here. In addition, if the module is limited to + particular platforms, the details will be listed here.

+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.fr.utf8 b/docs/manual/mod/module-dict.html.fr.utf8 new file mode 100644 index 0000000..6ead056 --- /dev/null +++ b/docs/manual/mod/module-dict.html.fr.utf8 @@ -0,0 +1,147 @@ + + + + + +Termes utilisés pour décrire les modules - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Termes utilisés pour décrire les modules

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Ce document décrit les termes utilisés pour décrire chaque module Apache.

+
+ +
top
+
+

Description

+ +

Une brève description des fonctions du module.

+
top
+
+

Statut

+ +

Ce terme indique le degré de rapprochement du module par rapport + au coeur du serveur web Apache ; en d'autres termes, vous pouvez + être amené à recompiler le serveur pour pouvoir accéder au module et + à ses fonctionnalités. Les valeurs possibles de cet attribut sont + :

+ +
+
MPM
+ +
Un module dont le statut est "MPM" est un module Multi-Processus. A la différence des + autres modules, un seul module MPM peut et doit être utilisé par Apache à + la fois. Ce type de module est responsable de la répartition et du + traitement de base des requêtes.
+ +
Base
+ +
Un module dont le statut est "Base" est compilé dans le + serveur et chargé avec ce dernier par défaut ; il est donc + toujours disponible à moins que vous n'ayez fait en sorte de + supprimer le module de votre configuration.
+ +
Extension
+ +
Un module dont le statut est "Extension" n'est pas compilé et + chargé dans le serveur par défaut. Pour activer le module et + accéder à ses fonctionnalités, vous devez modifier la + configuration de la compilation du serveur et recompiler + Apache.
+ +
Expérimental
+ +
Le statut "Experimental" indique que le module fait partie du + kit Apache, mais que vous devez l'utiliser à vos risques et + périls. Le module est documenté à des fins d'exhaustivité, et + n'est pas obligatoirement supporté.
+ +
Externe
+ +
Ce statut indique que le module ("module tiers") ne fait pas + partie de la distribution de base d'Apache. Nous ne sommes pas + responsables de ces modules et n'en assurons pas le support.
+
+
top
+
+

Fichier source

+ +

Il s'agit tout simplement de la liste des noms des fichiers + source qui contiennent le code du module. C'est aussi le nom utilisé + par la directive <IfModule>.

+
top
+
+

Identificateur de module

+ +

C'est une chaîne permettant d'identifier le module à utiliser + dans la directive LoadModule + pour le chargement dynamique des modules. En particulier, c'est le + nom de la variable externe de type module dans le fichier + source.

+
top
+
+

Compatibilité

+ +

Si le module ne faisait pas partie de la distribution originale + d'Apache version 2, la version à partir de laquelle il est + disponible est indiquée ici. En outre, si le module n'est disponible + que sur certaines plates-formes, cela sera mentionné ici.

+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.ja.utf8 b/docs/manual/mod/module-dict.html.ja.utf8 new file mode 100644 index 0000000..86dd21f --- /dev/null +++ b/docs/manual/mod/module-dict.html.ja.utf8 @@ -0,0 +1,149 @@ + + + + + +Apache モジュールã®è§£èª¬ã§ä½¿ç”¨ã™ã‚‹ç”¨èªž - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache モジュールã®è§£èª¬ã§ä½¿ç”¨ã™ã‚‹ç”¨èªž

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

ã“ã®æ–‡æ›¸ã¯ Apache ã®å„ モジュール を説明ã™ã‚‹ãŸã‚ã« + 使ã‚ã‚Œã¦ã„る用語を説明ã—ã¾ã™ã€‚

+
+ +
top
+
+

説明

+ +

モジュールã®ç›®çš„ã®çŸ­ã„説明。

+
top
+
+

ステータス

+ +

ã“ã‚Œã¯ã€ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒ Apache + ウェブサーãƒã«ã©ã‚Œãらã„密接ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã‹ã‚’示ã—ã¾ã™ã€‚ + 言ã„æ›ãˆã‚Œã°ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’組ã¿è¾¼ã¿ã€ãã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹ãŸã‚ã«ã€ + サーãƒã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã¨ã„ã†ã“ã¨ã‚’示ã—ã¾ã™ã€‚ + ã“ã®å±žæ€§ãŒå–り得る値ã¯ä»¥ä¸‹ã®ã‚‚ã®ã§ã™:

+
+
MPM
+ +
ステータス㌠"MPM" ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ãƒžãƒ«ãƒãƒ—ロセッシングモジュールã§ã™ã€‚ + ä»–ã®ç¨®é¡žã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã¯é•ã£ã¦ã€Apache ã¯å¸¸ã« MPM を一ã¤ã ã‘ + 使用ã—続ã‘ã¾ã™ã€‚ã“ã®ç¨®é¡žã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯åŸºæœ¬çš„ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ‰±ã„㨠+ ディスパッãƒã‚’è¡Œãªã„ã¾ã™ã€‚
+ +
Base
+ +
ステータス㌠"Base" + ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã‚³ãƒ³ãƒ‘イルã•ã‚Œã¦ã‚ã–ã‚ã–設定ã‹ã‚‰ + モジュールを削除ã—ã¦ã„ãªã„é™ã‚Šã€é€šå¸¸ã¯åˆ©ç”¨å¯èƒ½ã§ã™ã€‚ +
+ +
Extension
+ +
ステータス㌠"Extension" ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ + デフォルトã§ã¯ã‚³ãƒ³ãƒ‘イルã•ã‚Œãšã€ã‚µãƒ¼ãƒã«ã‚‚読ã¿è¾¼ã¾ã‚Œã¾ã›ã‚“。 + ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ãã®æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã«ã¯ã€ + サーãƒã‚’ビルドã™ã‚‹ãŸã‚ã®è¨­å®šã‚’変更ã—ã¦ã€Apache + ã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+
Experimental
+ +
ステータス㌠"Experimental" ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ + Apache é…布物ã«åŒæ¢±ã•ã‚Œã¦ã„ã¾ã™ãŒã€ + 使用ã™ã‚‹å ´åˆã¯è‡ªå·±è²¬ä»»ã§è¡Œãªã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚‚完æˆã«å‘ã‘ã¦ä½œæˆä¸­ã§ã™ã—〠+ サãƒãƒ¼ãƒˆã•ã‚Œã‚‹ã¦ã„ã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“。
+
External
+ +
ステータス㌠"External" ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€åŸºæœ¬ Apache + é…布ã«åŒæ¢±ã•ã‚Œã¾ã›ã‚“ ("サードパーティーモジュール")。 + ãã®ãŸã‚ã€æˆ‘々ã«è²¬ä»»ã¯ã‚ã‚Šã¾ã›ã‚“ã—〠+ ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã‚µãƒãƒ¼ãƒˆã‚‚ã—ã¦ã„ã¾ã›ã‚“。
+
+
top
+
+

ソースファイル

+ +

ã“ã‚Œã¯å˜ç´”ã«ã€ + ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«å¿…è¦ãªã‚³ãƒ¼ãƒ‰ã‚’å«ã‚€ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‚’列挙ã—ãŸã‚‚ã®ã§ã™ã€‚ + ã“ã‚Œã¯ã€<IfModule> + ディレクティブã§ä½¿ç”¨ã•ã‚Œã‚‹åå‰ã§ã‚‚ã‚ã‚Šã¾ã™ã€‚ +

+
top
+
+

モジュール識別å­

+ +

ã“ã®æ–‡å­—列ã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®å‹•çš„読ã¿è¾¼ã¿ã‚’è¡Œãªã†ã¨ãã«ä½¿ç”¨ã™ã‚‹ LoadModule + ディレクティブã«ãŠã„ã¦ä½¿ç”¨ã•ã‚Œã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®è­˜åˆ¥å­ã§ã™ã€‚ + 詳ã—ã書ãã¨ã€ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«å†…ã® module タイプã®å¤–部変数ã®åå‰ã§ã™ã€‚ +

+
top
+
+

互æ›æ€§

+ +

ã‚るモジュール㌠Apache ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2 + ã®é…布ã«å«ã¾ã‚Œã¦ã„ãªã‹ã£ãŸå ´åˆã€ + ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå°Žå…¥ã•ã‚ŒãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã“ã“ã«æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚ + ã¾ãŸã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒç‰¹å®šã®ãƒ—ラットフォームã«ã®ã¿å­˜åœ¨ã™ã‚‹ã¨ãã‚‚ + 詳細ã¯ã“ã“ã«æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.ko.euc-kr b/docs/manual/mod/module-dict.html.ko.euc-kr new file mode 100644 index 0000000..9f36f21 --- /dev/null +++ b/docs/manual/mod/module-dict.html.ko.euc-kr @@ -0,0 +1,139 @@ + + + + + +¸ðµâÀ» ¼³¸íÇϱâÀ§ÇØ »ç¿ëÇÑ ¿ë¾îµé - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¸ðµâÀ» ¼³¸íÇϱâÀ§ÇØ »ç¿ëÇÑ ¿ë¾îµé

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ ¸ðµâÀ» ¼³¸íÇϱâÀ§ÇØ + »ç¿ëÇÑ ¿ë¾î¸¦ ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

¼³¸í

+ +

¸ðµâ ¸ñÀû¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸í.

+
top
+
+

»óÅÂ

+ +

¸ðµâÀÌ ¾ÆÆÄÄ¡ À¥¼­¹ö¿Í ¾ó¸¶³ª ¹ÐÁ¢È÷ ¿¬°üµÇÀÖ´ÂÁö ³ªÅ¸³½´Ù. + Áï, ƯÁ¤ ¸ðµâ°ú ¸ðµâÀÇ ±â´ÉÀ» »ç¿ëÇϱâÀ§Çؼ­ ¼­¹ö¸¦ ´Ù½Ã + ÄÄÆÄÀÏÇØ¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù. ÀÌ ¼Ó¼ºÀÇ °ªÀº:

+ +
+
MPM
+ +
»óÅ°¡ "MPM"ÀÎ ¸ðµâÀº ´ÙÁßó¸® + ¸ðµâÀÌ´Ù. ´Ù¸¥ Á¾·ùÀÇ ¸ðµâ°ú ´Þ¸® ¾ÆÆÄÄ¡´Â ¿ÀÁ÷ ÇÑ + MPM¸¸À» »ç¿ëÇÑ´Ù. ÀÌ·± Á¾·ùÀÇ ¸ðµâÀº ±âº»ÀûÀÎ ¿äû ó¸®¿Í + ºÐ¹è¸¦ ´ã´çÇÑ´Ù.
+ +
Base
+ +
»óÅ°¡ "Base"ÀÎ ¸ðµâÀº ±âº»ÀûÀ¸·Î ¼­¹ö¿Í °°ÀÌ ÄÄÆÄÀϵǹǷÎ, + ¼³Á¤¿¡¼­ ¸ðµâÀ» Á¦°ÅÇÏÁö ¾Ê´Â ÇÑ º¸Åë »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+ +
Extension
+ +
»óÅ°¡ "Extension"ÀÎ ¸ðµâÀº º¸Åë ¼­¹ö¿Í °°ÀÌ ÄÄÆÄÀϵÇÁö + ¾Ê´Â´Ù. ¸ðµâ°ú ¸ðµâÀÇ ±â´ÉÀ» »ç¿ëÇÏ·Á¸é ¼­¹ö ÄÄÆÄÀÏ + ±¸¼ºÆÄÀÏÀ» º¯°æÇÏ°í ¾ÆÆÄÄ¡¸¦ ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù.
+ +
Experimental
+ +
"Experimental" »óÅ´ ¸ðµâÀÌ ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡ Æ÷ÇÔµÇÀÖÁö¸¸, + »ç¿ëÇÏ·Á¸é À§ÇèÀ» °¨¼öÇØ¾ß ÇÑ´Ù. ¸ðµâ¿¡ ´ëÇÑ ¹®¼­°¡ ÀÖÁö¸¸, + ¸ðµâÀ» Áö¿øÇÑ´Ù´Â ¸»Àº ¾Æ´Ï´Ù.
+ +
External
+ +
"External" »óÅ´ ±âº» ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡ Æ÷ÇÔµÇÁö ¾ÊÀº + ¸ðµâ("Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâ")ÀÌ´Ù. ¿ì¸®´Â ÀÌ·± ¸ðµâ¿¡ Ã¥ÀÓÀÌ + ¾ø°í Áö¿øÇÏÁöµµ ¾Ê´Â´Ù.
+
+
top
+
+

¼Ò½ºÆÄÀÏ

+ +

°£´ÜÇÏ°Ô ¸»Çؼ­ ¸ðµâ ¼Ò½ºÄڵ尡 ÀÖ´Â ¼Ò½ºÆÄÀϸíÀÌ´Ù. + <IfModule> + Áö½Ã¾î¿¡¼­ »ç¿ëÇÏ´Â À̸§À̱⵵ ÇÏ´Ù.

+
top
+
+

¸ðµâ¸í

+ +

¸ðµâÀ» ÁöĪÇÏ´Â ¹®ÀÚ¿­·Î, ¸ðµâÀ» µ¿ÀûÀ¸·Î ÀоîµéÀÌ´Â + LoadModule Áö½Ã¾î¿¡¼­ + »ç¿ëÇÑ´Ù. Á¤È®È÷ ¸»ÇÏ¸é ¼Ò½ºÆÄÀÏ¿¡¼­ module ÇüÀÇ ¿ÜºÎº¯¼ö + À̸§ÀÌ´Ù.

+
top
+
+

Áö¿ø

+ +

¸ðµâÀÌ ¿ø·¡ ¾ÆÆÄÄ¡ ¹öÀü 2 ¹èÆ÷º»¿¡ Æ÷ÇÔµÇÁö ¾Ê¾Ò´Ù¸é, + ¸ðµâÀ» óÀ½ ¼Ò°³ÇÑ ¹öÀüÀ» ¾Ë·ÁÁØ´Ù. ¶Ç, ¸ðµâÀÌ Æ¯Á¤ + Ç÷¡Æû¿ëÀ̶ó¸é »ó¼¼È÷ ¼³¸íÇÑ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.tr.utf8 b/docs/manual/mod/module-dict.html.tr.utf8 new file mode 100644 index 0000000..638f32c --- /dev/null +++ b/docs/manual/mod/module-dict.html.tr.utf8 @@ -0,0 +1,119 @@ + + + + + +Modülleri Tanımlamakta Kullanılan Terimler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Modülleri Tanımlamakta Kullanılan Terimler

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu belgede Apache modüllerini tanımlarken kullanılan terimler açıklanmıştır.

+
+ +
top
+
+

Açıklama

+ +

Modülün kullanım amacının kısa bir açıklaması.

+
top
+
+

Durum

+ +

Modülün Apache HTTP sunucusuna ne kadar sıkı bağlı olduğunu belirtir. Başka bir deyişle, modüle ve işlevselliğine erişim kazanmak için sunucuyu yeniden derlemek gerekip gerekmediği ile ilgili durumu belirtir. Bu özniteliğin olası değerleri şunlardır:

+ +
+
MPM
+ +
“MPM†durumlu bir modül bir Çok Süreçlilik Modülüdür. Diğer modül türlerinin aksine, sunucunun kullandığı MPM modülü sayısı birden fazla olamaz. Bu modül türü temelde sunucuya gelen isteklerin ele alınmasından ve öldürülmesinden sorumludur.
+ +
Temel
+ +
“Temel†durumuyla etiketlenmiş bir modül öntanımlı olarak olarak derlenir ve sunucuya öntanımlı olarak yüklenir. Bu bakımdan derleme öncesi paket yapılandırması sırasında modülün derlenmemesi özellikle istenmedikçe bu modül derlenecek ve sunucuya yüklenecektir.
+ +
Eklenti
+ +
“Eklenti†durumundaki bir modül normal olarak derlenmez ve sunucuya yüklenmez. Modülü ve işlevselliğini etkin kılmak için sunucunun derleme öncesi paket yapılandırması sırasında modülün derleneceğini açıkça belirttikten sonra gerekirse yeniden derlemeniz gerekir.
+ +
Deneysel
+ +
“Deneysel†durumu modülün Apache sunucusunun bir parçası olarak kabul edildiğini ancak modülü denemenin tamamen sizin insiyatifinize bırakıldığı anlamına gelir. Böyle bir modül her şeyiyle belgelenmiştir fakat gerektiği gibi desteklenmemiştir.
+ +
Harici
+ +
“Harici†durumu temel Apache dağıtımında bulunmayan (“üçüncü partiâ€) modüller için kullanılır. Böyle modüller için sorumluluk kabul etmediÄŸimiz gibi bunları desteklemiyoruz.
+
+
top
+
+

Kaynak Dosyası

+ +

Karşısına modül kodunu içeren kaynak dosyasının ismi yazılır. Bu isim ayrıca <IfModule> yönergesi tarafından da kullanılır.

+
top
+
+

Modül Betimleyici

+ +

Modüller devingen olarak yüklenirken LoadModule yönergesinde kullanmak için modülü betimleyen dizgedir. Aslında, kaynak dosyasında module türündeki harici değişkenin ismidir.

+
top
+
+

Uyumluluk

+ +

Eğer modül Apache’nin 2. sürüm dağıtımının özgün parçası değilse söz konusu sürüm burada belirtilir. Ayrıca, modülün kullanımı belli platformlarla sınırlıysa bunun ayrıntıları da burada belirtilir.

+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html b/docs/manual/mod/mpm_common.html new file mode 100644 index 0000000..e0cc074 --- /dev/null +++ b/docs/manual/mod/mpm_common.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm_common.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mpm_common.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpm_common.html.de b/docs/manual/mod/mpm_common.html.de new file mode 100644 index 0000000..b9bfda2 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.de @@ -0,0 +1,780 @@ + + + + + +mpm_common - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Allgemeine Direktiven der Apache-MPMs

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +
Beschreibung:Eine Sammlung von Direktiven, die in mehr als einem + Multi-Processing-Modul (MPM) implementiert sind.
Status:MPM
+
+ + +
top
+

CoreDumpDirectory-Direktive

+ + + + + + + +
Beschreibung:Verzeichnis, in das der Apache zu wechseln versucht, bevor er + einen Hauptspeicherauszug erstellt
Syntax:CoreDumpDirectory Verzeichnis
Voreinstellung:Für die Voreinstellung siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker
+

Dies beeinflusst das Verzeichnis, in welches der Apache zu wechseln + versucht, bevor er einen Hauptspeicherauszug (Anm.d.Ü.: einen + so genannten Core-Dump) erstellt. Die Voreinstellung ist das + ServerRoot-Verzeichnis. Da dieses + jedoch nicht für den Benutzer beschreibbar sein soll, unter dem + der Server läuft, werden normalerweise keine + Hauptspeicherauszüge geschrieben. Wenn Sie zum Debuggen + einen Hauptspeicherauszug haben möchten, können Sie + ihn mit dieser Direktive an einem anderen Ort ablegen lassen.

+ +

Hauptspeicherauszüge unter Linux

+

Wenn Apache als root startet und zu einem anderen Benutzer + wechselt, deaktiviert der Linux-Kernel Hauptspeicherauszüge + auch dann, wenn der Prozess in dem Verzeichnis schreiben darf. Ab Linux + 2.4 reaktiviert Apache (ab 2.0.46) Hauptspeicherauszüge wieder, + jedoch nur dann, wenn Sie explizit + CoreDumpDirectory konfigurieren.

+
+ +
+
top
+

EnableExceptionHook-Direktive

+ + + + + + + + +
Beschreibung:Aktiviert einen Hook, der nach einem Absturz noch +Ausnahmefehler behandeln lassen kann
Syntax:EnableExceptionHook On|Off
Voreinstellung:EnableExceptionHook Off
Kontext:Serverkonfiguration
Status:MPM
Modul:leader, perchild, prefork, threadpool, worker
Kompatibilität:Verfügbar seit Version 2.0.49
+

Diese Direktive ist aus Sicherheitsgründen nur verfügbar, + wenn der Server mit der Option --enable-exception-hook + konfiguriert wurde. Sie aktiviert einen Hook, der es externen Modulen + erlaubt, sich dort einzuhängen und nach dem Absturz eines + Kindprozesses noch Aktionen durchzuführen.

+ +

Es existieren bereits zwei Module, mod_whatkilledus und + mod_backtrace, welche diesen Hook verwenden. Weitere + Informationen hierzu finden Sie auf Jeff Trawicks EnableExceptionHook-Seite.

+ +
+
top
+

GracefulShutdownTimeout-Direktive

+ + + + + + + + +
Beschreibung:Specify a timeout after which a gracefully shutdown server +will exit.
Syntax:GracefulShutdownTimeout seconds
Voreinstellung:GracefulShutdownTimeout 0
Kontext:Serverkonfiguration
Status:MPM
Modul:event, worker, prefork
Kompatibilität:Available in version 2.2 and later

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

Listen-Direktive

+ + + + + + + +
Beschreibung:IP-Adressen und Ports, an denen der Server lauscht
Syntax:Listen [IP-Addresse:]Port
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
Kompatibilität:Seit Apache 2.0 vorgeschrieben
+

Die Direktive Listen weist den Apache an, + nur an den angegebenen IP-Adressen oder Ports zu lauschen. + Standardmäßig antwortet er auf alle Anfragen an allen + IP-Interfaces. Listen ist nun eine notwendige + Anweisung. Wenn sie nicht in der Konfigurationsdatei enthalten ist, + wird der Server-Start fehlschlagen. Dies ist eine Änderung + gegenüber früheren Versionen des Apache.

+ +

Die Direktive Listen weist den Server an, + ankommende Anfragen am angegebenen Port oder der + Kombination aus Adresse und Port entgegenzunehmen. Wenn nur eine Portnummer + angegeben ist, dann lauscht der Server am angegebenen Port an allen + Interfaces. Wenn sowohl eine IP-Adresse als auch ein Port angegeben + sind, dann lauscht der Server am angegeben Port und Interface.

+ +

Es können mehrere Listen-Anweisungen + verwendet werden, um eine Reihe von Adressen und Port anzugeben, an + denen gelauscht werden soll. Der Server antwortet auf Anfragen von + jedem der aufgeführten Adressen und Ports.

+ +

Um beispielsweise den Server Verbindungen an den beiden Ports 80 und + 8000 annehmen zu lassen, verwenden Sie:

+ +

+ Listen 80
+ Listen 8000 +

+ +

Um den Server Verbindungen an zwei angegebenen Interfaces und Ports + annehmen zu lassen, verwenden Sie:

+ +

+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000 +

+ +

IPv6-Adressen müssen wie in dem folgenden Beispiel in eckige + Klammern eingeschlossen werden:

+ +

+ Listen [2001:db8::a00:20ff:fea7:ccea]:80 +

+ +

Fehlermöglichkeit

+ Mehrere Listen-Direktiven für gleiche + IP-Adresse und Port führen zur Fehlermeldung + Address already in use (Anm.d.Ü.: Adresse schon in + Benutzung). +
+ +

Siehe auch

+ +
+
top
+

ListenBackLog-Direktive

+ + + + + + + +
Beschreibung:Maximale Länge der Warteschlange schwebender + Verbindungen
Syntax:ListenBacklog backlog
Voreinstellung:ListenBacklog 511
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

Die maximale Länge der Warteschlange schwebender Verbindungen. + Üblicherweise ist keine Feineinstellung notwendig oder sinnvoll, + auf einigen System kann es jedoch gewünscht sein, diesen Wert bei + TCP-SYN-Angriffen zu erhöhen. Beachten Sie auch die Beschreibung des + backlog-Parameters der Systemfunktion listen(2).

+ +

Der Wert wird vom Betriebssystem oft auf eine niedrigere + Einstellung begrenzt. Dies variiert von Betriebssystem zu Betriebssystem. + Beachten Sie auch, dass viele Betriebssyteme nicht genau beachten, + was für backlog angegeben ist, jedoch einen Wert basierend auf der + Angabe (normalerweiseweise jedoch größer als diese) verwenden.

+ +
+
top
+

ListenCoresBucketsRatio-Direktive

+ + + + + + + + +
Beschreibung:Ratio between the number of CPU cores (online) and the number of +listeners' buckets
Syntax:ListenCoresBucketsRatio ratio
Voreinstellung:ListenCoresBucketsRatio 0 (disabled)
Kontext:Serverkonfiguration
Status:MPM
Modul:event, worker, prefork
Kompatibilität:Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option SO_REUSEPORT and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of SO_REUSEPORT +in *BSDs.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

MaxConnectionsPerChild-Direktive

+ + + + + + + + +
Beschreibung:Limit on the number of connections that an individual child server +will handle during its life
Syntax:MaxConnectionsPerChild number
Voreinstellung:MaxConnectionsPerChild 0
Kontext:Serverkonfiguration
Status:MPM
Modul:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
Kompatibilität:Available Apache HTTP Server 2.3.9 and later. The old name +MaxRequestsPerChild is still supported.

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

MaxMemFree-Direktive

+ + + + + + + +
Beschreibung:Maximale Menge des Arbeitsspeichers, den die + Haupt-Zuteilungsroutine verwalten darf, ohne free() + aufzurufen
Syntax:MaxMemFree KBytes
Voreinstellung:MaxMemFree 0
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_netware, prefork, threadpool, worker, mpm_winnt
+

Die Direktive MaxMemFree gibt die maximale + Menge freier Kilobytes an, welche die Haupt-Zuteilungsroutine verwalten + darf, ohne free() aufzurufen. Wenn keine Angabe gemacht wird, + oder Null angegeben ist, wird dieser Wert nicht eingeschränkt.

+ +
+
top
+

MaxRequestWorkers-Direktive

+ + + + + + + +
Beschreibung:Maximum number of connections that will be processed +simultaneously
Syntax:MaxRequestWorkers number
Voreinstellung:See usage for details
Kontext:Serverkonfiguration
Status:MPM
Modul:event, worker, prefork

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

MaxSpareThreads-Direktive

+ + + + + + + +
Beschreibung:Maximale Anzahl unbeschäftigter Threads
Syntax:MaxSpareThreads Anzahl
Voreinstellung:Für Details siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker
+

Maximale Anzahl unbeschäftigter Threads. Die verschiedenen MPMs + behandeln diese Anweisung unterschiedlich.

+ +

Die Voreinstellung für perchild ist + MaxSpareThreads 10. Das MPM überwacht die Anzahl der + unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn + zu viele unbeschäftigte Threads in einem Kindprozess existieren, + beendet der Server Threads innerhalb dieses Kindprozesses.

+ +

Die Voreinstellung für worker, + leader und threadpool ist + MaxSpareThreads 250. Diese MPMs behandeln Threads + auf einer serverweiten Basis. Wenn zu viele unbeschäftigte Threads + im Server existieren, dann werden solange Kindprozesse beendet, bis + die Anzahl der unbeschäftigten Threads kleiner als der + angegebene Wert ist.

+ +

Die Voreinstellung für mpm_netware ist + MaxSpareThreads 100. Da dieses MPM nur einen einzigen + Prozess ausführt, ist die Zählung überschüssiger + Threads ebenfalls serverweit.

+ +

beos and mpmt_os2 arbeiten + ähnlich wie mpm_netware. Die Voreinstellung + für beos ist MaxSpareThreads 50. + Die Voreinstellung für mpmt_os2 ist + 10.

+ +

Restriktionen

+

Der Wertebereich von MaxSpareThreads + ist eingeschränkt. Apache korrigiert den angegebenen Wert + automatisch gemäß den folgenden Regeln:

+ +
+ +

Siehe auch

+ +
+
top
+

MinSpareThreads-Direktive

+ + + + + + + +
Beschreibung:Minimale Anzahl unbeschäftigter Threads, die zur + Bedienung von Anfragespitzen zur Verfügung stehen
Syntax:MinSpareThreads Anzahl
Voreinstellung:Für Details siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker
+

Minimale Anzahl unbeschäftigter Threads, um Anfragespitzen + zu bedienen. Die verschiedenen MPMs behandeln die Anweisung + unterschiedlich.

+ +

perchild verwendet die Voreinstellung + MinSpareThreads 5 und überwacht die Anzahl der + unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn + in einem Kindprozess nicht genügend unbeschäftigte + Threads vorhanden sind, erstellt der Server neue Threads innerhalb + dieses Kindprozesses. Wenn Sie also NumServers auf 10 und MinSpareThreads auf einen Wert von 5 setzen, + haben Sie mindestens 50 unbeschäftigte Threads auf Ihrem + System.

+ +

worker, leader und + threadpool verwenden eine Voreinstellung von + MinSpareThreads 75 und behandeln unbeschäftigte + Threads auf serverweiter Basis. Wenn nicht genügend + unbeschäftigte Threads im Server vorhanden sind, dann + werden solange Kindprozesse erzeugt, bis die Anzahl unbeschäftigter + Threads größer als der angegebene Wert ist.

+ +

mpm_netware verwendet die Voreinstellung + MinSpareThreads 10 und verfolgt dies serverweit, da + es ein Einzelprozess-MPM ist.

+ +

beos und mpmt_os2 arbeiten + ähnlich wie mpm_netware. Die Voreinstellung + für beos ist MinSpareThreads 1. + Die Voreinstellung für mpmt_os2 ist + 5.

+ + +

Siehe auch

+ +
+
top
+

PidFile-Direktive

+ + + + + + + +
Beschreibung:Datei, in welcher der Server die Prozess-ID des Daemons +ablegt
Syntax:PidFile Dateiname
Voreinstellung:PidFile logs/httpd.pid
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

Die Direktive PidFile bestimmt die Datei, + in welcher der Server die Prozess-ID des Daemons ablegt. Wenn der + Dateiname nicht absolut angegeben wird, wird er relativ zu + ServerRoot interpretiert.

+ +

Beispiel

+ PidFile /var/run/apache.pid +

+ +

Es ist oft hilfreich, dem Server ein Signal senden zu können, + damit er seine ErrorLogs und + TransferLogs + schließt und dann neu öffnet und seine + Konfigurationsdateien neu einliest. Dies kann durch Senden eines + SIGHUP-Signals (kill -1) an die Prozess-ID geschehen, die im + PidFile eingetragen ist.

+ +

Die PidFile-Datei unterliegt den + gleichen Warnungen über die Ablage von Protokolldateien + und Sicherheit.

+ +

Anmerkung

+

Ab Apache 2 wird empfohlen, nur das Skript apachectl zum (Neu-)Starten und Stoppen des Servers zu + verwenden.

+
+ +
+
top
+

ReceiveBufferSize-Direktive

+ + + + + + + +
Beschreibung:TCP receive buffer size
Syntax:ReceiveBufferSize bytes
Voreinstellung:ReceiveBufferSize 0
Kontext:Serverkonfiguration
Status:MPM
Modul:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2

Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.

+
top
+

ScoreBoardFile-Direktive

+ + + + + + + +
Beschreibung:Ablageort der Datei, die zur Speicherung von Daten zur + Koordinierung der Kindprozesse verwendet wird
Syntax:ScoreBoardFile Dateipfad
Voreinstellung:ScoreBoardFile logs/apache_status
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker
+

Apache verwendet ein Scoreboard zur Kommunikation zwischen + seinen Eltern- und Kindprozessen. Einige Architekturen erfordern + eine Datei zur Unterstützung der Kommunikation. Wenn die Datei + undefiniert bleibt, versucht der Apache zuerst, das Scoreboard im + Arbeitsspeicher zu erstellen (Verwendung von anonymem Shared-Memory), + und versucht bei einem Fehlschlag anschließend die Datei auf + der Festplatte zu erstellen (Verwendung von Datei-basiertem + Shared-Memory). Die Angabe dieser Direktive veranlaßt den + Apache stets, die Datei auf der Festplatte zu erstellen.

+ +

Beispiel

+ ScoreBoardFile /var/run/apache_status +

+ +

Datei-basiertes Shared-Memory ist für Applikationen von + Drittanbietern hilfreich, die direkten Zugriff auf das Scoreboard + benötigen.

+ +

Wenn Sie eine ScoreBoardFile-Anweisung + verwenden, erreichen Sie eventuell eine höhere Geschwindigkeit, wenn + Sie die Datei auf einer RAM-Disk ablegen. Achten Sie darauf, die + gleichen Warnungen wie über die Ablage von Protokolldateien und + Sicherheit zu beherzigen.

+ +

Siehe auch

+ +
+
top
+

SendBufferSize-Direktive

+ + + + + + + +
Beschreibung:Größe des TCP-Puffers
Syntax:SendBufferSize Bytes
Voreinstellung:SendBufferSize 0
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

Der Server setzt die Größe des TCP-Puffers auf die + angegebene Anzahl Bytes. Dies ist sehr hilfreich, um Voreinstellungen + alter Standardbetriebssysteme für Hochgeschwindigkeitsverbindungen + mit hoher Latenzzeit anzuheben (d.h. 100ms oder so, wie bei + Interkontinentalverbindungen).

+ +

Wird der Wert auf 0 gesetzt, dann verwendet der Server + die Voreinstellung des Betriebssystems.

+ +
+
top
+

ServerLimit-Direktive

+ + + + + + + +
Beschreibung:Obergrenze für die konfigurierbare Anzahl von + Prozessen
Syntax:ServerLimit Anzahl
Voreinstellung:Für Details siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:leader, perchild, prefork, threadpool, worker
+

Bei dem MPM prefork bestimmt die Direktive + den während der Lebensdauer des Apache-Prozesses maximal + einstellbaren Wert für MaxClients. Beim MPM + worker bestimmt die Direktive in Verbindung mit + ThreadLimit den Maximalwert + für MaxClients + für die Lebensdauer des Apache-Prozesses. Jeder Versuch, diese + Anweisung während eines Neustarts zu ändern, wird ignoriert. + MaxClients kann jedoch + während eines Neustarts geändert werden.

+ +

Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive + walten. Wenn ServerLimit auf einen Wert deutlich + höher als notwendig gesetzt wird, wird zusätzliches, + unbenutztes Shared-Memory belegt. Wenn sowohl + ServerLimit als auch MaxClients auf Werte gesetzt werden, die + größer sind, als das System sie handhaben kann, dann kann + der Apache möglicherweise nicht starten, oder das System kann + instabil werden.

+ +

Verwenden Sie die Direktive bei dem MPM prefork + nur, wenn Sie MaxClients + auf mehr als 256 (Voreinstellung) setzen müssen. Setzen Sie den + Wert nicht höher als den Wert, den Sie für MaxClients angeben möchten.

+ +

Verwenden Sie die Direktive bei worker, + leader und threadpool nur, wenn Ihre + MaxClients- und + ThreadsPerChild-Einstellungen + mehr als 16 Serverprozesse (Voreinstellung) erfordern. Setzen Sie den + Wert dieser Direktive nicht höher, als die Anzahl der Serverprozesse, + die dafür erforderlich ist, was Sie bei MaxClients und + ThreadsPerChild angeben + möchten.

+ +

Verwenden Sie die Direktive beim MPM perchild nur, + wenn Sie NumServers auf einen + Wert größer als 8 (Voreinstellung) setzen müssen.

+ +

Anmerkung

+

Eine feste Begrenzung von ServerLimit 20000 ist in den + Server einkompiliert (bei dem MPM prefork 200000). + Dies soll unangenehme Effekte durch Tippfehler verhindern.

+
+ +

Siehe auch

+ +
+
top
+

StartServers-Direktive

+ + + + + + + +
Beschreibung:Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden
Syntax:StartServers Anzahl
Voreinstellung:Für Details siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:leader, mpmt_os2, prefork, threadpool, worker
+

Die Direktive StartServers bestimmt + die Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden. Da die Anzahl der Prozesse abhängig von der Last + dynamisch kontrolliert wird, besteht normalerweise wenig + Grund für eine Änderung dieses Parameters.

+ +

Die Voreinstellung unterscheidet sich von MPM zu MPM. Bei + leader, threadpool und + worker ist die Voreinstellung + StartServers 3. Die Voreinstellung bei + prefork ist 5 und bei + mpmt_os2 2.

+ +
+
top
+

StartThreads-Direktive

+ + + + + + + +
Beschreibung:Anzahl der Threads, die beim Start erstellt werden
Syntax:StartThreads Anzahl
Voreinstellung:Für Details siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:beos, mpm_netware, perchild
+

Anzahl der Threads, die beim Start erstellt werden. Da die Anzahl + der Threads abhängig von der Last dynamisch kontrolliert wird, + besteht normalerweise wenig Grund für eine Änderung + dieses Parameters.

+ +

Die Voreinstellung für perchild ist + StartThreads 5. Die Direktive setzt während des + Starts die Anzahl der Threads pro Prozess.

+ +

Die Voreinstellung bei mpm_netware ist + StartThreads 50. Da hier lediglich ein einzelner Prozess + existiert, ist dies die Gesamtzahl der Threads, die beim Start + erstellt wird, um Anfragen zu bedienen.

+ +

Die Voreinstellung für beos ist StartThreads + 10. Die Einstellung reflektiert ebenfalls die Gesamtzahl der Threads, die + beim Start erstellt werden, um Anfragen zu bedienen.

+ +
+
top
+

ThreadLimit-Direktive

+ + + + + + + + +
Beschreibung:Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads + pro Kindprozess
Syntax:ThreadLimit Anzahl
Voreinstellung:Für Details siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:leader, mpm_winnt, perchild, threadpool, worker
Kompatibilität:Verfügbar für mpm_winnt ab + Apache 2.0.41
+

Die Direktive bestimmt den während der Lebensdauer des + Apache-Prozesses maximal einstellbaren Wert für + ThreadsPerChild. Jeder + Versuch, diese Direktive während eines Neustarts zu ändern, + wird ignoriert. ThreadsPerChild + kann jedoch während eines Neustarts modifiziert werden bis zu dem + Wert dieser Anweisung.

+ +

Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive + walten. Wenn ThreadLimit auf einen Wert + deutlich höher als ThreadsPerChild gesetzt wird, wird + zusätzliches, ungenutztes Shared-Memory belegt. Wenn sowohl + ThreadLimit als auch ThreadsPerChild auf Werte gesetzt werden, + die größer sind, als das System sie handhaben kann, dann kann + der Apache möglicherweise nicht starten oder das System kann + instabil werden. Setzen Sie den Wert dieser Direktive nicht höher + als Ihre größte erwartete Einstellung für + ThreadsPerChild + während der aktuellen Ausführung des Apache.

+ +

Die Voreinstellung für ThreadLimit ist + 1920 wenn sie zusammen mit mpm_winnt + verwendet wird, und 64 bei der Verwendung mit anderen + MPMs.

+ +

Anmerkung

+

Eine feste Begrenzung von ThreadLimit 20000 + (oder ThreadLimit 15000 bei mpm_winnt) + ist in den Server einkompiliert. Dies soll unangenehme Effekte durch + Tippfehler verhindern.

+
+ +
+
top
+

ThreadsPerChild-Direktive

+ + + + + + + +
Beschreibung:Anzahl der Threads, die mit jedem Kindprozess gestartet + werden
Syntax:ThreadsPerChild Anzahl
Voreinstellung:Für Details siehe Beschreibung
Kontext:Serverkonfiguration
Status:MPM
Modul:leader, mpm_winnt, threadpool, worker
+

Die Direktive legt die Anzahl der Threads fest, die mit jedem + Kindprozess gestartet werden. Der Kindprozess erstellt diese Threads + beim Start und erstellt später keine weiteren mehr. Wenn Sie ein + MPM wie mpm_winnt verwenden, wo nur ein + Kindprozess existiert, dann sollte diese Angabe hoch genug sein, + die gesamte Last des Servers zu bewältigen. Wenn Sie ein MPM + wie worker verwenden, wo mehrere Kindprozesse + existieren, dann sollte die Gesamtzahl der Thread groß + genug sein, die übliche Last auf dem Server zu bewältigen.

+ +

Die Voreinstellung für ThreadsPerChild ist + 64, wenn mpm_winnt verwendet wird, und + 25 bei der Verwendung der anderen MPMs.

+ +
+
top
+

ThreadStackSize-Direktive

+ + + + + + + + +
Beschreibung:Die Größe des Stacks in Bytes, der von Threads +verwendet wird, die Client-Verbindungen bearbeiten.
Syntax:ThreadStackSize size
Voreinstellung:65536 unter NetWare; variiert bei anderen Betriebssystemen.
Kontext:Serverkonfiguration
Status:MPM
Modul:leader, mpm_netware, mpm_winnt, perchild, threadpool, worker
Kompatibilität:Verfügbar seit Version 2.1
+

Die Direktive ThreadStackSize legt die + Größe des Stacks (für Autodaten) der Threads fest, die + Client-Verbindungen bearbeiten und Module aufrufen, welche bei der + Verarbeitung dieser Verbindungen helfen. In den meisten Fällen ist die + Voreinstellung des Betriebssystems angemessen, doch unter bestimmten + Umständen kann es sinnvoll sein, den Wert anzupassen:

+ +
    +
  • Auf Plattformen mit einer relativ kleinen Voreingestellung für + die Größe des Thread-Stacks (z.B. HP-UX) kann der Apache bei + der Verwendung einiger Drittanbietermodule, die einen relativ hohen Bedarf + an Speicherplatz haben, abstürzen. Ebendiese Module arbeiten + möglicherweise problemlos auf anderen Plattformen, wo der + voreingestellte Thread-Stack größer ist. Derartige + Abstürze können Sie vermeiden, indem Sie + ThreadStackSize auf einen höheren Wert als die + Betriebssystemvoreinstellung setzen. Eine solche Anpassung ist nur + notwendig, wenn es vom Anbieter des Moduls so spezifiziert wurde oder die + Diagnose eines Apache-Absturzes ergeben hat, das die + Thread-Stackgröße zu klein war.
  • + +
  • Auf Plattformen, wo die voreingestellte Thread-Stackgröße + für die Webserverkonfiguration deutlich größer als + notwendig ist, kann eine größere Anzahl von Threads pro + Kindprozess erreicht werden, wenn ThreadStackSize + auf einen Wert kleiner als die Betriebssystemvoreinstellung gesetzt wird. + Da es einzelne Anfragen geben kann, die mehr Stack zur Verarbeitung + benötigen, sollte eine derartige Korrektur ausschließlich in + Testumgebungen zum Einsatz kommen, auf denen die gesamte + Webserververarbeitung ausprobiert werden kann. Eine Änderung der + Webserverkonfiguration kann den aktuellen Wert der + ThreadStackSize ungültig machen.
  • +
+ +
+
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.en b/docs/manual/mod/mpm_common.html.en new file mode 100644 index 0000000..0c12f55 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.en @@ -0,0 +1,891 @@ + + + + + +mpm_common - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM Common Directives

+
+

Available Languages:  de  | + en  | + fr  | + ja  | + tr 

+
+ +
Description:A collection of directives that are implemented by +more than one multi-processing module (MPM)
Status:MPM
+
+ + +
top
+

CoreDumpDirectory Directive

+ + + + + + + +
Description:Directory where Apache HTTP Server attempts to +switch before dumping core
Syntax:CoreDumpDirectory directory
Default:See usage for the default setting
Context:server config
Status:MPM
Module:event, worker, prefork
+

This controls the directory to which Apache httpd attempts to + switch before dumping core. If your operating system is configured to + create core files in the working directory of the crashing process, + CoreDumpDirectory is necessary to change working + directory from the default ServerRoot + directory, which should not be writable by the user the server runs as.

+ +

If you want a core dump for debugging, you can use this directive to + place it in a different location. This directive has no effect if your + operating system is not configured to write core files to the working directory + of the crashing processes.

+ +
+

Security note for Linux systems

+ +

Using this directive on Linux may allow other processes on + the system (if running with similar privileges, such as CGI + scripts) to attach to httpd children via the ptrace + system call. This may make weaken the protection from certain + security attacks. It is not recommended to use this directive + on production systems.

+
+ +

Core Dumps on Linux

+

If Apache httpd starts as root and switches to another user, the + Linux kernel disables core dumps even if the directory is + writable for the process. Apache httpd (2.0.46 and later) reenables core dumps + on Linux 2.4 and beyond, but only if you explicitly configure a CoreDumpDirectory.

+
+ +
+

Core Dumps on BSD

+

To enable core-dumping of suid-executables on BSD-systems (such + as FreeBSD), set kern.sugid_coredump to 1. +

+
+ +

Specific signals

+

CoreDumpDirectory processing only occurs for + a select set of fatal signals: SIGFPE, SIGILL, SIGABORT, + SIGSEGV, and SIGBUS.

+

On some operating systems, SIGQUIT also results in a core dump but + does not go through CoreDumpDirectory or + EnableExceptionHook processing, so the core + location is dictated entirely by the operating system.

+
+ + +
+
top
+

EnableExceptionHook Directive

+ + + + + + + +
Description:Enables a hook that runs exception handlers +after a crash
Syntax:EnableExceptionHook On|Off
Default:EnableExceptionHook Off
Context:server config
Status:MPM
Module:event, worker, prefork
+

For safety reasons this directive is only available if the server was + configured with the --enable-exception-hook option. It + enables a hook that allows external modules to plug in and do something + after a child crashed.

+ +

There are already two modules, mod_whatkilledus and + mod_backtrace that make use of this hook. Please have a + look at Jeff Trawick's EnableExceptionHook site for more information about these.

+ +
+
top
+

GracefulShutdownTimeout Directive

+ + + + + + + + +
Description:Specify a timeout after which a gracefully shutdown server +will exit.
Syntax:GracefulShutdownTimeout seconds
Default:GracefulShutdownTimeout 0
Context:server config
Status:MPM
Module:event, worker, prefork
Compatibility:Available in version 2.2 and later
+

The GracefulShutdownTimeout specifies + how many seconds after receiving a "graceful-stop" signal, a + server should continue to run, handling the existing connections.

+ +

Setting this value to zero means that the server will wait + indefinitely until all remaining requests have been fully served.

+ +
+
top
+

Listen Directive

+ + + + + + + +
Description:IP addresses and ports that the server +listens to
Syntax:Listen [IP-address:]portnumber [protocol]
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
Compatibility:The protocol argument was added in 2.1.5
+

The Listen directive instructs Apache httpd to + listen to only specific IP addresses or ports; by default it + responds to requests on all IP interfaces. Listen + is now a required directive. If it is not in the config file, the + server will fail to start. This is a change from previous versions + of Apache httpd.

+ +

The Listen directive tells the server to + accept incoming requests on the specified port or address-and-port + combination. If only a port number is specified, the server listens to + the given port on all interfaces. If an IP address is given as well + as a port, the server will listen on the given port and + interface.

+ +

Multiple Listen directives may be used to + specify a number of addresses and ports to listen to. The server will + respond to requests from any of the listed addresses and ports.

+ +

For example, to make the server accept connections on both + port 80 and port 8000, use:

+ +
Listen 80
+Listen 8000
+ + +

To make the server accept connections on two specified + interfaces and port numbers, use

+ +
Listen 192.170.2.1:80
+Listen 192.170.2.5:8000
+ + +

IPv6 addresses must be surrounded in square brackets, as in the + following example:

+ +
Listen [2001:db8::a00:20ff:fea7:ccea]:80
+ + +

The optional protocol argument is not required for most + configurations. If not specified, https is the default for + port 443 and http the default for all other ports. The + protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the + AcceptFilter directive.

+ +

You only need to set the protocol if you are running on non-standard + ports. For example, running an https site on port 8443:

+ +
Listen 192.170.2.1:8443 https
+ + +

Error condition

+ Multiple Listen directives for the same ip + address and port will result in an Address already in use + error message. +
+ + +

See also

+ +
+
top
+

ListenBackLog Directive

+ + + + + + + +
Description:Maximum length of the queue of pending connections
Syntax:ListenBackLog backlog
Default:ListenBackLog 511
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

The maximum length of the queue of pending connections. + Generally no tuning is needed or desired; however on some + systems, it is desirable to increase this when under a TCP SYN + flood attack. See the backlog parameter to the + listen(2) system call.

+ +

This will often be limited to a smaller number by the + operating system. This varies from OS to OS. Also note that + many OSes do not use exactly what is specified as the backlog, + but use a number based on (but normally larger than) what is + set.

+ +
+
top
+

ListenCoresBucketsRatio Directive

+ + + + + + + + +
Description:Ratio between the number of CPU cores (online) and the number of +listeners' buckets
Syntax:ListenCoresBucketsRatio ratio
Default:ListenCoresBucketsRatio 0 (disabled)
Context:server config
Status:MPM
Module:event, worker, prefork
Compatibility:Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option SO_REUSEPORT and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of SO_REUSEPORT +in *BSDs.
+

A ratio between the number of (online) CPU cores and the + number of listeners' buckets can be used to make Apache HTTP Server create + num_cpu_cores / ratio listening buckets, each containing its + own Listen-ing socket(s) on the same port(s), and + then make each child handle a single bucket (with round-robin distribution + of the buckets at children creation time).

+ +

Meaning of "online" CPU core

+

On Linux (and also BSD) a CPU core can be turned on/off if + Hotplug + is configured, therefore ListenCoresBucketsRatio needs to + take this parameter into account while calculating the number of buckets to create.

+
+ +

ListenCoresBucketsRatio can improve the + scalability when accepting new connections is/becomes the bottleneck. + On systems with a large number of CPU cores, enabling this feature has + been tested to show significant performances improvement and shorter + responses time.

+ +

There must be at least twice the number of CPU cores than the + configured ratio for this to be active. The recommended + ratio is 8, hence at least 16 + cores should be available at runtime when this value is used. + The right ratio to obtain maximum performance needs to be calculated + for each target system, testing multiple values and observing the variations in your + key performance metrics.

+ +

This directive influences the calculation of the + MinSpareThreads and + MaxSpareThreads lower bound values. + The number of children processes needs to be a multiple of the number + of buckets to optimally accept connections.

+ +
+

Multiple Listeners or Apache HTTP servers on + the same IP address and port

+

Setting the SO_REUSEPORT option on the listening socket(s) + consequently allows multiple processes (sharing the same EUID, + e.g. root) to bind to the the same IP address and port, + without the binding error raised by the system in the usual case.

+

This also means that multiple instances of Apache httpd configured on a + same IP:port and with a positive ListenCoresBucketsRatio + would start without an error too, and then run with incoming connections + evenly distributed across both instances (this is NOT a recommendation or + a sensible usage in any case, but just a notice that it would prevent such + possible issues to be detected).

+

Within the same instance, Apache httpd will check and fail to start if + multiple Listen directives on the exact same IP (or + hostname) and port are configured, thus avoiding the creation of some + duplicated buckets which would be useless and kill performances. However + it can't (and won't try harder to) catch all the possible overlapping cases + (like a hostname resolving to an IP used elsewhere).

+
+ +
+
top
+

MaxConnectionsPerChild Directive

+ + + + + + + + +
Description:Limit on the number of connections that an individual child server +will handle during its life
Syntax:MaxConnectionsPerChild number
Default:MaxConnectionsPerChild 0
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
Compatibility:Available Apache HTTP Server 2.3.9 and later. The old name +MaxRequestsPerChild is still supported.
+

The MaxConnectionsPerChild directive sets + the limit on the number of connections that an individual child + server process will handle. After + MaxConnectionsPerChild connections, the child + process will die. If MaxConnectionsPerChild is + 0, then the process will never expire.

+ +

Setting MaxConnectionsPerChild to a + non-zero value limits the amount of memory that a process can consume + by (accidental) memory leakage.

+ +
+
top
+

MaxMemFree Directive

+ + + + + + + +
Description:Maximum amount of memory that the main allocator is allowed +to hold without calling free()
Syntax:MaxMemFree KBytes
Default:MaxMemFree 2048
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware
+

The MaxMemFree directive sets the + maximum number of free Kbytes that every allocator is allowed + to hold without calling free(). In threaded MPMs, every + thread has its own allocator. When set + to zero, the threshold will be set to unlimited.

+ +
+
top
+

MaxRequestWorkers Directive

+ + + + + + + +
Description:Maximum number of connections that will be processed +simultaneously
Syntax:MaxRequestWorkers number
Default:See usage for details
Context:server config
Status:MPM
Module:event, worker, prefork
+

The MaxRequestWorkers directive sets the limit + on the number of simultaneous requests that will be served. Any + connection attempts over the MaxRequestWorkers + limit will normally be queued, up to a number based on the + ListenBacklog + directive. Once a child process is freed at the end of a different + request, the connection will then be serviced.

+ +

For non-threaded servers (i.e., prefork), + MaxRequestWorkers translates into the maximum + number of child processes that will be launched to serve requests. + The default value is 256; to increase it, you must also raise + ServerLimit.

+ +

For threaded and hybrid servers (e.g. event + or worker), MaxRequestWorkers restricts + the total number of threads that will be available to serve clients. + For hybrid MPMs, the default value is 16 (ServerLimit) multiplied by the value of + 25 (ThreadsPerChild). Therefore, to increase MaxRequestWorkers to a value that requires more than 16 processes, + you must also raise ServerLimit.

+ +

MaxRequestWorkers was called + MaxClients before version 2.3.13. The old name is still + supported.

+ +
+
top
+

MaxSpareThreads Directive

+ + + + + + + +
Description:Maximum number of idle threads
Syntax:MaxSpareThreads number
Default:See usage for details
Context:server config
Status:MPM
Module:event, worker, mpm_netware, mpmt_os2
+

Maximum number of idle threads. Different MPMs deal with this + directive differently.

+ +

For worker and event, the default is + MaxSpareThreads 250. These MPMs deal with idle threads + on a server-wide basis. If there are too many idle threads in the + server, then child processes are killed until the number of idle + threads is less than this number. Additional processes/threads + might be created if ListenCoresBucketsRatio + is enabled.

+ +

For mpm_netware the default is + MaxSpareThreads 100. Since this MPM runs a + single-process, the spare thread count is also server-wide.

+ +

mpmt_os2 works + similar to mpm_netware. For + mpmt_os2 the default value is 10.

+ +

Restrictions

+

The range of the MaxSpareThreads value + is restricted. Apache httpd will correct the given value automatically + according to the following rules:

+ +
+ +

See also

+ +
+
top
+

MinSpareThreads Directive

+ + + + + + + +
Description:Minimum number of idle threads available to handle request +spikes
Syntax:MinSpareThreads number
Default:See usage for details
Context:server config
Status:MPM
Module:event, worker, mpm_netware, mpmt_os2
+

Minimum number of idle threads to handle request spikes. + Different MPMs deal with this directive differently.

+ +

worker and event use a default of + MinSpareThreads 75 and deal with idle threads on a server-wide + basis. If there aren't enough idle threads in the server, then child + processes are created until the number of idle threads is greater + than number. Additional processes/threads + might be created if ListenCoresBucketsRatio + is enabled.

+ +

mpm_netware uses a default of + MinSpareThreads 10 and, since it is a single-process + MPM, tracks this on a server-wide basis.

+ +

mpmt_os2 works + similar to mpm_netware. For + mpmt_os2 the default value is 5.

+ +

See also

+ +
+
top
+

PidFile Directive

+ + + + + + + +
Description:File where the server records the process ID +of the daemon
Syntax:PidFile filename
Default:PidFile logs/httpd.pid
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt, mpmt_os2
+

The PidFile directive sets the file to + which the server records the process id of the daemon. If the + filename is not absolute, then it is assumed to be relative to the + ServerRoot.

+ +

Example

PidFile /var/run/apache.pid
+
+ +

It is often useful to be able to send the server a signal, + so that it closes and then re-opens its ErrorLog and TransferLog, and + re-reads its configuration files. This is done by sending a + SIGHUP (kill -1) signal to the process id listed in the + PidFile.

+ +

The PidFile is subject to the same + warnings about log file placement and security.

+ +

Note

+

As of Apache HTTP Server 2, we recommended that you only use the apachectl script, or the init script that your OS provides, + for (re-)starting or stopping the server.

+
+ +
+
top
+

ReceiveBufferSize Directive

+ + + + + + + +
Description:TCP receive buffer size
Syntax:ReceiveBufferSize bytes
Default:ReceiveBufferSize 0
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

The server will set the TCP receive buffer size to the number of + bytes specified.

+ +

If set to the value of 0, the server will use the + OS default.

+ +
+
top
+

ScoreBoardFile Directive

+ + + + + + + +
Description:Location of the file used to store coordination data for +the child processes
Syntax:ScoreBoardFile file-path
Default:ScoreBoardFile logs/apache_runtime_status
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt
+

Apache HTTP Server uses a scoreboard to communicate between its parent + and child processes. Some architectures require a file to facilitate + this communication. If the file is left unspecified, Apache httpd first + attempts to create the scoreboard entirely in memory (using anonymous + shared memory) and, failing that, will attempt to create the file on + disk (using file-based shared memory). Specifying this directive causes + Apache httpd to always create the file on the disk.

+ +

Example

ScoreBoardFile /var/run/apache_runtime_status
+
+ +

File-based shared memory is useful for third-party applications + that require direct access to the scoreboard.

+ +

If you use a ScoreBoardFile, then + you may see improved speed by placing it on a RAM disk. But be + careful that you heed the same warnings about log file placement + and security.

+ +

See also

+ +
+
top
+

SendBufferSize Directive

+ + + + + + + +
Description:TCP buffer size
Syntax:SendBufferSize bytes
Default:SendBufferSize 0
Context:server config
Status:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

Sets the server's TCP send buffer size to the number of bytes + specified. It is often useful to set this past the OS's standard + default value on high speed, high latency connections + (i.e., 100ms or so, such as transcontinental fast pipes).

+ +

If set to the value of 0, the server will use the + default value provided by your OS.

+ +

Further configuration of your operating system may be required to elicit + better performance on high speed, high latency connections.

+ +

On some operating systems, changes in TCP behavior resulting + from a larger SendBufferSize may not be seen unless + EnableSendfile is set to OFF. This + interaction applies only to static files.

+ + +
+
top
+

ServerLimit Directive

+ + + + + + + +
Description:Upper limit on configurable number of processes
Syntax:ServerLimit number
Default:See usage for details
Context:server config
Status:MPM
Module:event, worker, prefork
+

For the prefork MPM, this directive sets the + maximum configured value for MaxRequestWorkers for the lifetime of the + Apache httpd process. For the worker and event + MPMs, this directive in combination with ThreadLimit sets + the maximum configured value for MaxRequestWorkers for the lifetime of the + Apache httpd process. For the event MPM, this directive + also defines how many old server processes may keep running and finish processing + open connections. + Any attempts to change this directive during a restart will be ignored, but + MaxRequestWorkers can be modified + during a restart.

+ +

Special care must be taken when using this directive. If + ServerLimit is set to a value much higher + than necessary, extra, unused shared memory will be allocated. If + both ServerLimit and MaxRequestWorkers are set to values + higher than the system can handle, Apache httpd may not start or the + system may become unstable.

+ +

With the prefork MPM, use this directive only + if you need to set MaxRequestWorkers higher than 256 (default). + Do not set the value of this directive any higher than what you + might want to set MaxRequestWorkers to.

+ +

With worker, use this directive only if your + MaxRequestWorkers + and ThreadsPerChild + settings require more than 16 server processes (default). Do not set + the value of this directive any higher than the number of server + processes required by what you may want for MaxRequestWorkers and ThreadsPerChild.

+ +

With event, increase this directive if the process + number defined by your MaxRequestWorkers and ThreadsPerChild settings, plus the + number of gracefully shutting down processes, is more than 16 server + processes (default).

+ +

Note

+

There is a hard limit of ServerLimit 20000 compiled + into the server (for the prefork MPM 200000). This is + intended to avoid nasty effects caused by typos. To increase it + even further past this limit, you will need to modify the value of + MAX_SERVER_LIMIT in the mpm source file and rebuild the server.

+
+ +

See also

+ +
+
top
+

StartServers Directive

+ + + + + + + +
Description:Number of child server processes created at startup
Syntax:StartServers number
Default:See usage for details
Context:server config
Status:MPM
Module:event, worker, prefork, mpmt_os2
+

The StartServers directive sets the + number of child server processes created on startup. As the number + of processes is dynamically controlled depending on the load, (see + MinSpareThreads, + MaxSpareThreads, + MinSpareServers, MaxSpareServers) + there is usually little reason to adjust this parameter.

+ +

The default value differs from MPM to MPM. worker and + event default to StartServers 3; + prefork defaults to 5; mpmt_os2 + defaults to 2.

+ +
+
top
+

StartThreads Directive

+ + + + + + + +
Description:Number of threads created on startup
Syntax:StartThreads number
Default:See usage for details
Context:server config
Status:MPM
Module:mpm_netware
+

Number of threads created on startup. As the + number of threads is dynamically controlled depending on the + load, (see + MinSpareThreads, + MaxSpareThreads, + MinSpareServers, MaxSpareServers) + there is usually little reason to adjust this + parameter.

+ +

For mpm_netware the default is + StartThreads 50 and, since there is only a single + process, this is the total number of threads created at startup to + serve requests.

+ +
+
top
+

ThreadLimit Directive

+ + + + + + + +
Description:Sets the upper limit on the configurable number of threads +per child process
Syntax:ThreadLimit number
Default:See usage for details
Context:server config
Status:MPM
Module:event, worker, mpm_winnt
+

This directive sets the maximum configured value for ThreadsPerChild for the lifetime + of the Apache httpd process. Any attempts to change this directive + during a restart will be ignored, but ThreadsPerChild can be modified + during a restart up to the value of this directive.

+ +

Special care must be taken when using this directive. If + ThreadLimit is set to a value much higher + than ThreadsPerChild, + extra unused shared memory will be allocated. If both + ThreadLimit and ThreadsPerChild are set to values + higher than the system can handle, Apache httpd may not start or the + system may become unstable. Do not set the value of this directive + any higher than your greatest predicted setting of ThreadsPerChild for the + current run of Apache httpd.

+ +

The default value for ThreadLimit is + 1920 when used with mpm_winnt and + 64 when used with the others.

+ +

Note

+

There is a hard limit of ThreadLimit 20000 (or + ThreadLimit 100000 with event, + ThreadLimit 15000 with mpm_winnt) + compiled into the server. This is intended to avoid nasty effects + caused by typos. To increase it even further past this limit, you + will need to modify the value of MAX_THREAD_LIMIT in the mpm + source file and rebuild the server.

+
+ +
+
top
+

ThreadsPerChild Directive

+ + + + + + + +
Description:Number of threads created by each child process
Syntax:ThreadsPerChild number
Default:See usage for details
Context:server config
Status:MPM
Module:event, worker, mpm_winnt
+

This directive sets the number of threads created by each + child process. The child creates these threads at startup and + never creates more. If using an MPM like mpm_winnt, + where there is only one child process, this number should be high + enough to handle the entire load of the server. If using an MPM + like worker, where there are multiple child processes, + the total number of threads should be high enough to handle + the common load on the server.

+ +

The default value for ThreadsPerChild is + 64 when used with mpm_winnt and + 25 when used with the others.

+ +

The value of ThreadsPerChild can not exceed the + value of ThreadLimit. If a + higher value is configured, it will be automatically reduced at start-up + and a warning will be logged. The relationship between these 2 directives + is explained in ThreadLimit.

+ +
+
top
+

ThreadStackSize Directive

+ + + + + + + + +
Description:The size in bytes of the stack used by threads handling +client connections
Syntax:ThreadStackSize size
Default:65536 on NetWare; varies on other operating systems
Context:server config
Status:MPM
Module:event, worker, mpm_winnt, mpm_netware, mpmt_os2
Compatibility:Available in Apache HTTP Server 2.1 and later
+

The ThreadStackSize directive sets the + size of the stack (for autodata) of threads which handle client + connections and call modules to help process those connections. + In most cases the operating system default for stack size is + reasonable, but there are some conditions where it may need to be + adjusted:

+ +
    +
  • On platforms with a relatively small default thread stack size + (e.g., HP-UX), Apache httpd may crash when using some third-party modules + which use a relatively large amount of autodata storage. Those + same modules may have worked fine on other platforms where the + default thread stack size is larger. This type of crash is + resolved by setting ThreadStackSize to a + value higher than the operating system default. This type of + adjustment is necessary only if the provider of the third-party + module specifies that it is required, or if diagnosis of an Apache httpd + crash indicates that the thread stack size was too small.
  • + +
  • On platforms where the default thread stack size is + significantly larger than necessary for the web server + configuration, a higher number of threads per child process + will be achievable if ThreadStackSize is + set to a value lower than the operating system default. This type + of adjustment should only be made in a test environment which allows + the full set of web server processing to be exercised, as there + may be infrequent requests which require more stack to process. + The minimum required stack size strongly depends on the modules + used, but any change in the web server configuration can invalidate + the current ThreadStackSize setting.
  • + +
  • On Linux, this directive can only be used to increase the default + stack size, as the underlying system call uses the value as a + minimum stack size. The (often large) soft limit for + ulimit -s (8MB if unlimited) is used as the default stack + size.
  • +
+ +
It is recommended to not reduce ThreadStackSize + unless a high number of threads per child process is needed. On some + platforms (including Linux), a setting of 128000 is already too low and + causes crashes with some common modules.
+ +
+
+
+

Available Languages:  de  | + en  | + fr  | + ja  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.fr.utf8 b/docs/manual/mod/mpm_common.html.fr.utf8 new file mode 100644 index 0000000..fbbc811 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.fr.utf8 @@ -0,0 +1,975 @@ + + + + + +mpm_common - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM : Directives Communes

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + tr 

+
+ +
Description:Une série de directives implémentées par plusieurs +modules multi-processus (MPM)
Statut:MPM
+
+ + +
top
+

Directive CoreDumpDirectory

+ + + + + + + +
Description:Le répertoire dans lequel le serveur HTTP Apache va tenter de se +positionner avant d'effectuer un vidage mémoire
Syntaxe:CoreDumpDirectory répertoire
Défaut:Voir ci-dessous pour le répertoire par défaut
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork
+

Cette directive permet de définir le répertoire dans lequel + Apache httpd va tenter de se positionner avant d'effectuer un vidage + mémoire sur disque. + Si votre système d'exploitation est configuré pour créer des + fichiers de vidage mémoire dans le répertoire de travail des + processus qui se sont crashés, + CoreDumpDirectory est nécessaire pour + définir un répertoire de travail autre que le répertoire par défaut + ServerRoot, ce répertoire de + travail ne devant pas être accessible en écriture par l'utilisateur sous + lequel le serveur s'exécute.

+ +

Si vous avez besoin d'un vidage mémoire pour le débogage, vous + pouvez utiliser cette directive pour le placer à un endroit + différent. Cette directive n'a aucun effet si votre système + d'exploitation n'est pas configuré pour créer des + fichiers de vidage mémoire dans le répertoire de travail des + processus qui se sont crashés.

+ +
+

Note de sécurité pour les systèmes de type Linux

+ +

Utiliser cette directive sous Linux peut permettre aux autres processus + du système s'exécutant avec les même privilèges (comme les scripts CGI) de + se rattacher aux processus httpd enfants via l'appel système + ptrace. La protection contre certaines attaques engageant la + sécurité peut s'en trouver affectée. Il est par conséquent déconseillé + d'utiliser cette directive sur les systèmes en production.

+
+ +

Vidages mémoire sous Linux

+

Si Apache httpd est démarré sous l'utilisateur root puis bascule vers + un autre utilisateur, le noyau Linux désactive les + vidages mémoire, même si le répertoire est accessible en écriture au + processus. Apache httpd (versions 2.0.46 et supérieures) réactive les + vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous + définissez une directive CoreDumpDirectory.

+
+ +
+

Vidages mémoire sous BSD

+

Pour activer le vidage mémoire des exécutables suid sur les + systèmes de style BSD (comme FreeBSD), définissez + kern.sugid_coredump à 1. +

+
+ +

Signaux spécifiques

+

CoreDumpDirectory n'est traité qu'à la + reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT, + SIGSEGV, et SIGBUS.

+

+ Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un + vidage mémoire, mais n'est pas traité par les directives + CoreDumpDirectory ou + EnableExceptionHook, si bien que la + définition du répertoire d'enregistrement du vidage mémoire est + entièrement dévolue au système d'exploitation.

+
+ +
+
top
+

Directive EnableExceptionHook

+ + + + + + + +
Description:Active un hook ("point d'accrochage logiciel") qui exécute des +gestionnaires d'exception après un crash
Syntaxe:EnableExceptionHook On|Off
Défaut:EnableExceptionHook Off
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork
+

Pour des raisons de sécurité, cette directive n'est disponible + que si la compilation du serveur a été configurée avec l'option + --enable-exception-hook. Elle permet d'activer un hook + ("point d'accrochage logiciel") + qui autorise certains modules externes à effectuer un branchement et + accomplir telle ou telle action après le crash d'un processus + enfant.

+ +

Deux modules, mod_whatkilledus et + mod_backtrace utilisent ce hook. Veuillez vous + référer à la page EnableExceptionHook de Jeff Trawick pour plus + d'informations à leur sujet.

+ +
+
top
+

Directive GracefulShutdownTimeout

+ + + + + + + + +
Description:Spécifie le délai maximum après lequel le serveur va +s'arrêter dans le cas d'un arrêt "en douceur"
Syntaxe:GracefulShutdownTimeout seconds
Défaut:GracefulShutdownTimeout 0
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork
Compatibilité:Disponible dans les versions 2.2 et supérieures
+

La directive GracefulShutdownTimeout + permet de spécifier le temps, en secondes, pendant lequel le serveur + va continuer à fonctionner après avoir reçu un signal + "graceful-stop" ("Arrêt en douceur"), afin de terminer le traitement + des connexions en cours.

+ +

Définir cette valeur à zéro signifie au serveur d'attendre + jusqu'à ce que toutes les requêtes en cours aient été traitées.

+ +
+
top
+

Directive Listen

+ + + + + + + +
Description:Les adresses IP et ports sur lesquels le serveur écoute
Syntaxe:Listen [adresse IP:]numéro port +[protocole]
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
Compatibilité:L'argument protocole est supporté depuis la version +2.1.5
+

La directive Listen permet de signifier à + Apache httpd de ne se mettre à l'écoute que sur les adresses IP et ports spécifiés ; par + défaut, le serveur répond aux requêtes en provenance de toutes les + interfaces réseau. La directive Listen est + dorénavant requise, et si elle est absente du fichier de + configuration, le serveur refusera de démarrer. Ceci constitue un + changement par rapport aux versions précédentes d'Apache httpd.

+ +

La directive Listen signifie au serveur de + n'accepter les requêtes entrantes que vers le port ou le couple + adresse-port spécifié. Si seulement un port est spécifié, le serveur + se met à l'écoute sur ce port sur toutes les interfaces réseau. Si une adresse IP + et un port sont spécifiés, le serveur va se mettre à l'écoute sur ce port sur + l'interface réseau correspondant à l'adresse IP.

+ +

On peut utiliser autant de directives + Listen que nécessaire pour spécifier + plusieurs adresses et/ou ports à écouter. Le serveur répondra aux + requêtes vers tous les adresses et ports spécifiés.

+ +

Par exemple, pour que le serveur accepte les connexions sur les + ports 80 et 8000, utilisez :

+ +
Listen 80
+Listen 8000
+ + +

Pour que le serveur accepte les connexions sur deux interfaces et + ports particuliers, spécifiez :

+ +
Listen 192.170.2.1:80
+Listen 192.170.2.5:8000
+ + +

Les adressee IPv6 doivent être entourées de crochets, comme dans + l'exemple suivant :

+ +
Listen [2001:db8::a00:20ff:fea7:ccea]:80
+ + +

L'argument optionnel protocole n'est pas nécessaire + dans la plupart des configurations. S'il est absent, + https est la valeur par défaut pour le port 443 et + http l'est pour tous les autres ports. L'argument + protocole sert à déterminer quel module doit traiter une requête, et + à appliquer des optimisations spécifiques à certains protocoles à + l'aide de la directive AcceptFilter.

+ +

La spécification d'un protocole n'est nécessaire que si vous + utilisez des ports non standards. Par exemple, pour configurer un + site en https sur le port 8443 :

+ +
Listen 192.170.2.1:8443 https
+ + +

Condition d'erreur

+ Plusieurs directives Listen pour les mêmes + adresse IP/port vont provoquer l'envoi d'un message d'erreur + Address already in use. +
+ + +

Voir aussi

+ +
+
top
+

Directive ListenBackLog

+ + + + + + + +
Description:Longueur maximale de la liste d'attente des +connexions
Syntaxe:ListenBackLog backlog
Défaut:ListenBackLog 511
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

La longueur maximale de la liste d'attente des connexions. En + général, aucune modification n'est nécessaire, ni même souhaitable ; + cependant, sur certains systèmes, il peut être nécessaire + d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en + masse de requêtes SYN pour saturer le serveur). Voir le paramètre + backlog de l'appel système listen(2).

+ +

En fait, l'argument backlog sera souvent limité à une valeur + inférieure en fonction du système d'exploitation. Notez aussi que de + nombreux systèmes d'exploitation ne tiennent pas vraiment compte de + la valeur spécifiée pour l'argument backlog, mais s'en inspirent + seulement (et choisissent en général une valeur supérieure).

+ +
+
top
+

Directive ListenCoresBucketsRatio

+ + + + + + + + +
Description:Rapport entre le nombre de coeurs de processeur activés et +le nombre de segments d'écoute
Syntaxe:ListenCoresBucketsRatio ratio
Défaut:ListenCoresBucketsRatio 0 (disabled)
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork
Compatibilité:Disponible à partir de la version 2.4.13 du serveur HTTP +Apache, avec un noyau supportant l'option de socket +SO_REUSEPORT, et distribuant uniformément les nouvelles +connexions aux sockets d'écoute des processus (ou threads) qui +l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas +l'implémentation courante de SO_REUSEPORT par les +plateformes de type BSD.
+

Vous pouvez utiliser la directive + ListenCoresBucketsRatio pour spécifier un + ratio entre le nombre de coeurs de CPU activés et le nombre de + segments d'écoute (listeners' buckets) souhaités ; le serveur HTTP Apache va + alors créernum_cpu_cores / ratio segments d'écoute, chacun + contenant son propre socket d'écoute Listen sur le ou les mêmes ports ; chaque + processus enfant sera associé à un seul segment d'écoute (avec une + distribution de type round-robin des segments à la création des processus + enfants).

+ +

Définition du terme coeur de CPU activé ("online")

+

Sous Linux et BSD, un coeur de CPU peut être activé ou désactivé si Hotplug + a été configuré ; la directive + ListenCoresBucketsRatio doit donc tenir compte de ce + paramètre pour calculer le nombre de segments d'écoute à créer.

+
+ +

La directive ListenCoresBucketsRatio peut + améliorer le support de la montée en charge lorsque l'arrivée de + nouvelles connexions est/devient un goulot d'étranglement. Le test + de cette fonctionnalité avec des machines possédant un nombre de + coeurs de CPU important a permit de constater une amélioration des + performances significative et des temps de réponse plus courts.

+ +

Pour que cette fonctionnalité soit activée, le nombre de coeurs + de CPU doit être égal au moins au double du ratio + spécifié. Si vous spécifiez la valeur recommandée pour + ratio, à savoir 8, le nombre minimum de + coeurs de processeurs disponibles sera alors de 16. La valeur + optimale de ratio permettant d'obtenir des performances maximales + doit être calculée pour chaque système cible, en testant plusieurs valeurs + et en observant les résultats.

+ +

Cette directive influence le calcul des valeurs limites inférieures de + MinSpareThreads et MaxSpareThreads. En effet, pour accepter les + connexions de manière optimale, le nombre de processus enfants doit être un + multiple du nombre de segments d'écoute.

+ +
+

Cas où plusieurs Listeners ou serveurs HTTP + Apache partagent la même adresse IP et port

+

La définition de l'option SO_REUSEPORT pour les sockets + d'écoute permet à plusieurs processus (partageant le même EUID, + par exemple root) de se rattacher à la même adresse IP et port, + sans obtenir l'erreur de rattachement que le système génère habituellement + lorsque ce cas se produit.

+

Cela signifie aussi que plusieurs instances d'Apache httpd configurées + avec le même IP:port et avec une valeur + ListenCoresBucketsRatio positive pourraient démarrer + sans erreur, et fonctionner ensuite avec une répartition uniforme des + connexions entrantes sur ces différentes instances (ce n'est PAS une + recommandation et ne constitue pas un usage approprié à tous les cas, mais + juste un avertissement sur le fait qu'un véritable problème de rattachement + multiple à un IP:port pourrait alors être occulté).

+

Au sein d'une même instance, Apache httpd vérifie la présence de + directives Listen multiples avec la même adresse IP + (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce + qui permet d'éviter la création de segments d'écoute dupliqués qui seraient + du coup inutiles et affecteraient les performances. Cependant, il ne peut + pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de + recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée + quelque part ailleurs).

+
+ +
+
top
+

Directive MaxConnectionsPerChild

+ + + + + + + + +
Description:Limite le nombre de connexions qu'un processus enfant va +traiter au cours de son fonctionnement
Syntaxe:MaxConnectionsPerChild number
Défaut:MaxConnectionsPerChild 0
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
Compatibilité:Disponible depuis la version 2.3.9 du serveur HTTP +Apache. L'ancien nom MaxRequestsPerChild est encore +supporté.
+

La directive MaxConnectionsPerChild permet de + définir le nombre maximum de connexions qu'un processus enfant va + pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité + MaxConnectionsPerChild connexions, le processus + enfant est arrêté. Si MaxConnectionsPerChild est + définie à 0, il n'y a plus aucune limite sur le nombre + de connexions que le processus pourra traiter.

+ +

Définir MaxConnectionsPerChild à une valeur + non nulle limite la quantité de mémoire qu'un processus peut + consommer à cause de fuites (accidentelles) de mémoire.

+ + +
+
top
+

Directive MaxMemFree

+ + + + + + + +
Description:Quantité maximale de mémoire que l'allocateur principal est +autorisé à conserver sans appeler free()
Syntaxe:MaxMemFree KOctets
Défaut:MaxMemFree 2048
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware
+

La directive MaxMemFree permet de définir + le nombre maximum de KOctets libres que tout allocateur est + autorisé à conserver sans appeler free(). Dans les MPMs + threadés, chaque thread possède son propre allocateur. Si elle est + définie à 0, la quantité de mémoire libre que peut conserver un + allocateur est illimitée.

+ +
+
top
+

Directive MaxRequestWorkers

+ + + + + + + +
Description:Nombre maximum de connexions pouvant être traitées +simultanément
Syntaxe:MaxRequestWorkers nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork
+

La directive MaxRequestWorkers permet de fixer le + nombre maximum de requêtes pouvant être traitées simultanément. + Si la limite MaxRequestWorkers est atteinte, toute + tentative de connexion sera normalement mise dans une file + d'attente, et ceci jusqu'à un certain nombre dépendant de la + directive ListenBacklog. + Lorsqu'un processus enfant se libèrera suite à la fin du traitement + d'une requête, la connexion en attente pourra être traitée à son + tour.

+ +

Pour les serveurs non threadés (c'est à dire utilisant + prefork), la directive + MaxRequestWorkers définit alors le nombre maximum de + processus enfants qui pourront être lancés simultanément pour + traiter les requêtes. La valeur par défaut est 256 ; si + vous l'augmentez, vous devez aussi augmenter la valeur de la + directive ServerLimit.

+ +

Pour les serveur threadés et hybrides (utilisant par + exemple event ou worker), + MaxRequestWorkers définit alors le nombre total de + threads qui seront disponibles pour servir les clients. Dans le + cas des MPMs hybrides, la valeur par défaut est 16 + (directive ServerLimit) multiplié par la valeur + 25 (directive ThreadsPerChild). Par conséquent, pour affecter à la + directive MaxRequestWorkers une valeur qui requiert + plus de 16 processus, vous devez aussi augmenter la valeur de la + directive ServerLimit.

+ +

Le nom de la directive MaxRequestWorkers + était MaxClients avant la version 2.3.13. Cet + ancien nom est encore supporté.

+ +
+
top
+

Directive MaxSpareThreads

+ + + + + + + +
Description:Nombre maximum de threads inactifs
Syntaxe:MaxSpareThreads nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:event, worker, mpm_netware, mpmt_os2
+

C'est le nombre maximum de threads inactifs. Les MPMs utilisent + cette directive de différentes manières.

+ +

Pour worker et event, la définition par défaut est + MaxSpareThreads 250. Ce MPM gère les threads inactifs + au niveau du serveur. Si le serveur possède trop de threads + inactifs, des processus enfants seront arrêtés jusqu'à ce que le + nombre de threads inactifs repasse en dessous de cette limite. Des + processus/threads supplémentaires sont susceptibles d'être créés si + ListenCoresBucketsRatio est + activée.

+ +

Pour mpm_netware, la définition par défaut est + MaxSpareThreads 100. Comme ce MPM n'exécute qu'un seul + processus, le nombre de processus inactifs est surveillé au + niveau du serveur.

+ +

mpmt_os2 fonctionne de manière similaire à + mpm_netware. Pour mpmt_os2, la + valeur par défaut est 10.

+ +

Contraintes

+

La gamme de valeurs pour MaxSpareThreads + est limitée. Apache httpd corrigera automatiquement cette valeur selon + les règles suivantes :

+ +
+ +

Voir aussi

+ +
+
top
+

Directive MinSpareThreads

+ + + + + + + +
Description:Nombre minimum de threads inactifs qui seront disponibles +pour pouvoir traiter les pics de requêtes
Syntaxe:MinSpareThreads nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:event, worker, mpm_netware, mpmt_os2
+

C'est le nombre minimum de threads inactifs pour être en mesure + de traiter les pics de requêtes. Les MPMs utilisent cette directive + de différentes manières.

+ +

Avec worker et event, la définition par défaut est + MinSpareThreads 75, et le nombre de threads inactifs + est surveillé au niveau du serveur. Si le serveur ne possède pas + assez de threads inactifs, des processus enfants sont créés jusqu'à + ce que le nombre de threads inactifs repasse au dessus de + nombre. Des processus/threads supplémentaires peuvent + être créés si ListenCoresBucketsRatio est activée.

+ +

Avec mpm_netware, la définition par défaut est + MinSpareThreads 10 et, comme ce MPM n'exécute qu'un + seul processus, le nombre de threads est surveillé au niveau général du + serveur.

+ +

mpmt_os2 fonctionne de manière similaire à + mpm_netware. Pour mpmt_os2, la + valeur par défaut est 5.

+ + +

Voir aussi

+ +
+
top
+

Directive PidFile

+ + + + + + + +
Description:Ficher dans lequel le serveur enregistre l'identificateur +de processus du démon
Syntaxe:PidFile nom fichier
Défaut:PidFile logs/httpd.pid
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpmt_os2
+

La directive PidFile permet de définir le + ficher dans lequel le serveur + enregistre l'identificateur de processus du démon. Si le chemin du + fichier n'est pas absolu, il est considéré comme relatif au chemin + défini par la directive ServerRoot.

+ +

Exemple

PidFile /var/run/apache.pid
+
+ +

Il est souvent utile de pouvoir envoyer un signal au + serveur afin qu'il ferme et ouvre à nouveau ses journaux + d'erreur et de transfert, et recharge son + fichier de configuration. Pour ce faire, on envoie un signal SIGHUP + (kill -1) à l'identificateur de processus enregistré dans le fichier + défini par la directive PidFile.

+ +

La directive PidFile fait l'objet des + mêmes avertissements que ceux concernant le chemin d'enregistrement + des fichiers journaux et la sécurité.

+ +

Note

+

Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser + que le script apachectl, ou le script de + démarrage fourni avec votre système d'exploitation pour (re)démarrer ou + arrêter le serveur.

+
+ +
+
top
+

Directive ReceiveBufferSize

+ + + + + + + +
Description:Taille du tampon TCP en entrée
Syntaxe:ReceiveBufferSize octets
Défaut:ReceiveBufferSize 0
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

Le serveur va fixer la taille du tampon TCP en entrée au + nombre d'octets spécifié.

+ +

Si la directive est définie à 0, le serveur va + utiliser la valeur par défaut adoptée par le système + d'exploitation.

+ +
+
top
+

Directive ScoreBoardFile

+ + + + + + + +
Description:Chemin du fichier où sont stockées les données concernant +la coordination des processus enfants
Syntaxe:ScoreBoardFile chemin fichier
Défaut:ScoreBoardFile logs/apache_runtime_status
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt
+

Le serveur HTTP Apache utilise un tableau de bord pour la + communication entre le processus parent et les processus enfants. + Pour faciliter cette communication, certaines architectures + nécessitent un fichier. En l'absence de cette directive, donc si + aucun nom de fichier n'est spécifié, Apache httpd tentera tout + d'abord de créer un tableau uniquement en mémoire (en utilisant la + mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de + créer un fichier sur disque (en utilisant la mémoire partagée à base + de fichier). Si cette directive est utilisée, Apache httpd créera + systématiquement un fichier sur disque.

+ +

Exemple

ScoreBoardFile /var/run/apache_runtime_status
+
+ +

Une mémoire partagée sous forme de fichier est utile pour les + applications tierces qui nécessitent un accès direct au tableau de + bord des processus.

+ +

Si vous utilisez un ScoreBoardFile, vous + pourrez constater une amélioration des performances en le plaçant + sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte + des mêmes avertissements que ceux concernant le chemin du fichier + journal et la sécurité.

+ +

Voir aussi

+ +
+
top
+

Directive SendBufferSize

+ + + + + + + +
Description:Taille du tampon TCP en sortie
Syntaxe:SendBufferSize octets
Défaut:SendBufferSize 0
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

Définit la taille du tampon TCP en sortie avec le nombre + d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les + valeurs par défaut standards du passé des systèmes d'exploitation + pour les transmissions à grande vitesse et haute densité (c'est + à dire de l'ordre de 100ms comme sur les liaisons rapides + transcontinentales).

+ +

Si la directive est définie à 0, le serveur va + utiliser la valeur par défaut adoptée par le système + d'exploitation.

+ +

L'amélioration des performances des connexions à grande vitesse + et à temps de latence élevé, peut nécessiter + une intervention au niveau de la configuration de votre système + d'exploitation.

+ +

Sous certains systèmes d'exploitation, la modification du + comportement TCP via une augmentation de la valeur de + SendBufferSize risque de ne pas être + perceptible, si la directive EnableSendfile n'est pas définie à OFF. + Cette interaction ne s'applique qu'aux fichiers statiques.

+ +
+
top
+

Directive ServerLimit

+ + + + + + + +
Description:Limite supérieure de la définition du nombre de +processus
Syntaxe:ServerLimit nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork
+

Avec le MPM prefork, cette directive définit le + nombre maximum que l'on peut affecter à la directive MaxRequestWorkers, et ceci pour la + durée de vie du processus Apache httpd. Avec les + MPMs worker et event, cette directive, en combinaison avec + ThreadLimit, définit le + nombre maximum que l'on peut affecter à MaxRequestWorkers, et ceci pour la durée de + vie du processus Apache httpd. Avec le MPM event, cette + directive permet aussi de définir le nombre de processus anciens du serveur + pouvant continuer à s'exécuter pour terminer le traitement des connexions + ouvertes. Au cours d'un redémarrage, vous pouvez + modifier la valeur de la directive MaxRequestWorkers, alors que toute + tentative de modification de la valeur de la directive ServerLimit sera ignorée.

+ +

Cette directive doit être utilisée avec précaution. Si + ServerLimit est définie à une valeur beaucoup + plus grande que nécessaire, de la mémoire partagée supplémentaire + sera inutilement allouée. Si à la fois + ServerLimit et MaxRequestWorkers possèdent des valeurs + supérieures à ce que le système peut supporter, ce dernier peut + devenir instable ou Apache httpd peut tout simplement refuser de démarrer.

+ +

Avec les MPMs prefork et event, n'utilisez cette directive + que si vous devez définir MaxRequestWorkers à une valeur supérieure à + 256 (valeur par défaut). N'affectez pas à la directive ServerLimit une valeur supérieure à + celle que vous avez prévu d'affecter à la directive MaxRequestWorkers.

+ +

Avec worker, n'utilisez cette directive que si + la définition de vos directives MaxRequestWorkers et ThreadsPerChild nécessitent plus de + 16 processus serveurs (valeur par défaut). N'affectez pas à la + directive ServerLimit une + valeur supérieure au nombre de processus requis pour la définition + des directives MaxRequestWorkers + et ThreadsPerChild.

+ +

Note

+

Il existe une limite de ServerLimit 20000 codée en + dur dans le serveur (200000 pour le MPM prefork). + Ceci est censé éviter les effets désastreux que pourrait provoquer + une faute de frappe. Pour dépasser cette limite, vous devez + modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du + mpm et recompiler le serveur.

+
+ +

Voir aussi

+ +
+
top
+

Directive StartServers

+ + + + + + + +
Description:Nombre de processus enfants du serveur créés au +démarrage
Syntaxe:StartServers nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:event, worker, prefork, mpmt_os2
+

La directive StartServers permet de + définir le nombre de processus enfants du serveur créés au + démarrage. Comme le nombre de processus est contrôlé dynamiquement + en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en général + pas nécessaire d'ajuster ce paramètre.

+ +

La valeur par défaut diffère d'un MPM à l'autre. Pour + worker et event, la définition par défaut est + StartServers 3 ; la valeur par défaut est + 5 pour prefork et 2 + pour mpmt_os2.

+ +
+
top
+

Directive StartThreads

+ + + + + + + +
Description:Nombre de threads créés au démarrage
Syntaxe:StartThreads nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:mpm_netware
+

C'est le nombre de threads créés au démarrage du serveur. Comme + le nombre de threads est contrôlé dynamiquement + en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en général + pas nécessaire d'ajuster ce paramètre.

+ +

Pour mpm_netware, la définition par défaut est + StartThreads 50 et, comme il n'y a qu'un processus, il + s'agit du nombre total de threads créés au démarrage pour servir les + requêtes.

+ +
+
top
+

Directive ThreadLimit

+ + + + + + + +
Description:Le nombre de threads maximum que l'on peut définir par +processus enfant
Syntaxe:ThreadLimit nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:event, worker, mpm_winnt
+

Cette directive permet de définir le nombre maximum que l'on peut + affecter à la directive ThreadsPerChild pour la durée de vie + du processus Apache httpd. La directive ThreadsPerChild peut être modifiée + au cours d'un redémarrage jusqu'à la valeur de la directive ThreadLimit, mais toute tentative + de modification de la directive ThreadLimit au cours d'un + redémarrage sera ignorée.

+ +

L'utilisation de cette directive doit faire l'objet de + précautions particulières. Si ThreadLimit est + définie à une valeur très supérieure à la directive ThreadsPerChild, de la mémoire + partagée supplémentaire sera inutilement allouée. Si les directives + ThreadLimit et ThreadsPerChild sont définies à des + valeurs supérieures à ce que le système peut supporter, ce dernier + peut devenir instable, ou Apache httpd peut tout simplement refuser de + démarrer. Ne définissez pas cette directive à une valeur supérieure + à la valeur maximale que vous pensez affecter à la directive ThreadsPerChild pour le processus + Apache httpd en cours d'exécution.

+ +

La valeur par défaut de la directive + ThreadLimit est 1920 avec + mpm_winnt, et 64 avec les autres + MPMs.

+ +

Note

+

Il existe une limite de ThreadLimit 20000 (ou + ThreadLimit 100000 avec event, + ThreadLimit 15000 avec mpm_winnt) + codée en dur dans le serveur. Ceci est censé éviter les effets + désastreux que pourrait provoquer une faute de frappe. Pour + dépasser cette limite, vous devez modifier la valeur de + MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le + serveur.

+
+ +
+
top
+

Directive ThreadsPerChild

+ + + + + + + +
Description:Nombre de threads créés par chaque processus +enfant
Syntaxe:ThreadsPerChild nombre
Défaut:Voir ci-dessous pour plus de détails
Contexte:configuration globale
Statut:MPM
Module:event, worker, mpm_winnt
+

Cette directive permet de définir le nombre de threads que va + créer chaque processus enfant. Un processus enfant crée ces threads + au démarrage et n'en crée plus d'autres par la suite. Si l'on + utilise un MPM comme mpm_winnt qui ne lance qu'un + processus enfant, ce nombre doit être suffisamment grand pour + supporter la charge du serveur. Avec un MPM comme + worker qui lance plusieurs processus enfants, c'est + le nombre total de threads qui doit être suffisamment grand + pour supporter la charge du serveur.

+ +

La valeur par défaut de la directive + ThreadsPerChild est 64 avec + mpm_winnt, et 25 avec les autres + MPMs.

+ +

La valeur de la directive ThreadsPerChild ne peut + pas dépasser la valeur de la directive ThreadLimit. Si on spécifie une valeur + supérieure, elle sera automatiquement réduite au démarrage du serveur et un + avertissement sera enregistré dans le journal. La relation entre ces deux + directives est expliquée dans la documentation de la directive ThreadLimit.

+ +
+
top
+

Directive ThreadStackSize

+ + + + + + + + +
Description:La taille en octets de la pile qu'utilisent les threads qui +traitent les connexions clients
Syntaxe:ThreadStackSize taille
Défaut:65536 sous NetWare; varie en fonction des autres systèmes +d'exploitation
Contexte:configuration globale
Statut:MPM
Module:event, worker, mpm_winnt, mpm_netware, mpmt_os2
Compatibilité:Disponible dans les versions 2.1 et supérieures +du serveur HTTP Apache
+

La directive ThreadStackSize permet de + définir la taille de la pile (pour les données propres) qu'utilisent + les threads qui traitent les connexions clients en faisant appel à + des modules. Dans la plupart des cas, la valeur par défaut de la + taille de la pile du système d'exploitation convient, mais il existe + certaines situations où il peut s'avérer nécessaire de l'ajuster + :

+ +
    +
  • Sur les plates-formes qui possèdent une valeur par défaut de + taille de la pile relativement petite (par exemple HP-UX), Apache + httpd peut se crasher si l'on utilise certains modules tiers qui + possèdent un quantité de données propres stockées relativement + importante. Il se peut que ces mêmes modules fonctionnent + correctement sur d'autres plate-formes où la valeur par défaut de + la taille de la pile est supérieure. Ce type de crash peut être + evité en définissant ThreadStackSize à une + valeur supérieure à la valeur par défaut du système + d'exploitation. Ce type d'ajustement n'est nécessaire que si le + fournisseur du module tiers en fait mention, ou si le diagnostic + d'un crash d'Apache httpd indique que la taille de la pile était trop + petite.
  • + +
  • Sur les plates-formes où la taille par défaut de la pile des + threads est sensiblement supérieure à la taille nécessaire pour la + configuration du serveur web, il est possible de disposer d'un + plus grand nombre de threads par processus enfant si la directive + ThreadStackSize est définie à une valeur + inférieure à la valeur par défaut du système d'exploitation. + Cependant, ce + type d'ajustement ne doit être effectué que dans un environnement + de test permettant de qualifier le serveur web au maximum de ses + possibilités, car il peut arriver, dans de rares cas, que des + requêtes nécessitent une taille de pile supérieure pour pouvoir + être traitées. La taille minimale requise pour la pile dépend + fortement des modules utilisés, mais toute modification dans la + configuration du serveur web peut invalider la définition courante + de la directive ThreadStackSize.
  • + +
  • Sous Linux, cette directive ne peut être utilisée que pour + augmenter la valeur par defaut de la taille de la pile, car + l'appel système sous-jacent utilise cette valeur comme taille de pile + minimale. C'est la limite logicielle (souvent élevée) + pour ulimit -s (8Mo si aucune limite) qui est + utilisée comme taille de pile par défaut.
  • +
+ +
Il est recommandé de ne pas réduire + ThreadStackSize, à moins qu'un grand nombre + de threads par processus enfant ne soit nécessaire. Sur certaines + plates-formes (y compris Linux), une valeur de 128000 est déjà trop + basse et provoque des crashes avec certains modules courants.
+ +
+
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.ja.utf8 b/docs/manual/mod/mpm_common.html.ja.utf8 new file mode 100644 index 0000000..005dc79 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.ja.utf8 @@ -0,0 +1,801 @@ + + + + + +mpm_common - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM 共通ディレクティブ

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +
説明:二ã¤ä»¥ä¸Šã®ãƒžãƒ«ãƒãƒ—ロセッシングモジュール (MPM) +ã§å®Ÿè£…ã•ã‚Œã¦ã„るディレクティブã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³
ステータス:MPM
+
+ + +
top
+

CoreDumpDirectory ディレクティブ

+ + + + + + + +
説明:Apache ãŒã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã™ã‚‹å‰ã«ç§»å‹•ã‚’試ã¿ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª +
構文:CoreDumpDirectory directory
デフォルト:デフォルトã®è¨­å®šã¯èª¬æ˜Žæ–‡ã‚’読んã§ãã ã•ã„
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker
+

Apache ãŒã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã™ã‚‹å‰ã«ç§»å‹•ã‚’試ã¿ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’制御ã—ã¾ã™ã€‚ + デフォルト値㯠ServerRoot + ディレクトリã§ã™ãŒã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ã‚µãƒ¼ãƒã®å®Ÿè¡Œã•ã‚Œã¦ã„るユーザ権é™ã§ + 書ãè¾¼ã¿å¯èƒ½ã§ã‚ã‚‹ã¹ãã§ã¯ãªã„ã®ã§ã€é€šå¸¸ã¯ã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã¯æ›¸ãè¾¼ã¾ã‚Œã¾ã›ã‚“。 + デãƒãƒƒã‚°ã®ãŸã‚ã«ã‚³ã‚¢ãƒ€ãƒ³ãƒ—ãŒå¿…è¦ã§ã‚ã‚Œã°ã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã£ã¦ä»–ã®ä½ç½®ã«ã‚³ã‚¢ãƒ€ãƒ³ãƒ—を書ã出ã™ã‚ˆã†ã«ã§ãã¾ã™ã€‚

+ +

Linux ã§ã®ã‚³ã‚¢ãƒ€ãƒ³ãƒ—

+

Apache ㌠root ã¨ã—ã¦èµ·å‹•ã•ã‚Œã¦ã€åˆ¥ã®ãƒ¦ãƒ¼ã‚¶ã®æ¨©é™ã«ä»¥é™ã—ãŸå ´åˆã¯ + Linux ã®ã‚«ãƒ¼ãƒãƒ«ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒãƒ—ロセスã®æ¨©é™ã§æ›¸ãè¾¼ã¿å¯èƒ½ãªå ´åˆã§ã•ãˆã‚‚ + コアダンプを無効ã«ã—ã¾ã™ã€‚Apache (2.0.46 以é™) 㯠+ Linux 2.4 以é™ã§ã¯ã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã‚’è¡Œãªã†ã‚ˆã†ã«å†æŒ‡å®šã—ã¾ã™ãŒã€ãれ㯠+ CoreDumpDirectory を明示的ã«è¨­å®šã—ãŸã¨ãã« + é™ã‚Šã¾ã™ã€‚

+
+ +
+
top
+

EnableExceptionHook ディレクティブ

+ + + + + + + + +
説明:クラッシュã®å¾Œã«ä¾‹å¤–ãƒãƒ³ãƒ‰ãƒ©ã‚’実行ã™ã‚‹ãƒ•ãƒƒã‚¯ã‚’有効ã«ã™ã‚‹
構文:EnableExceptionHook On|Off
デフォルト:EnableExceptionHook Off
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:leader, perchild, prefork, threadpool, worker
互æ›æ€§:2.0.49 以é™
+

安全上ã®ç†ç”±ã‹ã‚‰ã€--enable-exception-hook configure + オプションを有効ã«ã—ãŸå ´åˆã«ã®ã¿ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を利用ã§ãã¾ã™ã€‚ + 外部モジュールをプラグインã—ã¦ã€å­ãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã—ãŸå¾Œã«ä½•ã‹å®Ÿè¡Œã§ãるよã†ãª + フックを有効ã«ã—ã¾ã™ã€‚

+ +

ã“ã®ã‚ˆã†ãªå¤–部モジュールã¯ã€æ—¢ã«äºŒã¤å­˜åœ¨ã—ã¦ã„ã¦ã€ + mod_whatkilledus 㨠mod_backtrace + ãŒã“ã®ãƒ•ãƒƒã‚¯ã‚’活用ã—ã¾ã™ã€‚ã“れらã®è©³ç´°ã«ã¤ã„ã¦ã¯ Jeff Trawick + ã•ã‚“ã® EnableExceptionHook site ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+ +
+
top
+

GracefulShutdownTimeout ディレクティブ

+ + + + + + + + +
説明:ç©ã‚„ã‹ãªåœæ­¢ã‚’ã‹ã‘ãŸå¾Œã€çµ‚了ã™ã‚‹ã¾ã§å¾…ã¤æ™‚é–“
構文:GracefulShutDownTimeout seconds
デフォルト:GracefulShutDownTimeout 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:prefork, worker, event
互æ›æ€§:2.2 以é™
+

GracefulShutdownTimeout ã«ã¯ + サーãƒãƒ¼ãŒ "graceful-stop" シグナルをå—ã‘å–ã£ã¦ã‹ã‚‰ç¾åœ¨ã® + リクエストã®å‡¦ç†ã‚’最大ã§ä½•ç§’間続ã‘ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚

+ +

ã“ã®å€¤ã‚’ゼロã«è¨­å®šã™ã‚‹ã¨ã€å‡¦ç†ä¸­ã¨ã—ã¦æ®‹ã£ã¦ã„るリクエスト㌠+ å…¨ã¦å®Œäº†ã™ã‚‹ã¾ã§ã‚µãƒ¼ãƒãƒ¼ã¯çµ‚了ã—ã¾ã›ã‚“。

+ +
+
top
+

Listen ディレクティブ

+ + + + + + + +
説明:サーãƒãŒ listen ã™ã‚‹IP アドレスã¨ãƒãƒ¼ãƒˆç•ªå·
構文:Listen [IP-address:]portnumber [protocol]
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker, event
互æ›æ€§:Apache 2.0 ã‹ã‚‰å¿…須ディレクティブ。protocol +引数㯠2.1.5 ã§è¿½åŠ ã€‚
+

Listen ディレクティブ㯠Apache + ãŒç‰¹å®šã® IP アドレスやãƒãƒ¼ãƒˆç•ªå·ã ã‘ã‚’ listen ã™ã‚‹ã‚ˆã†ã«æŒ‡å®šã—ã¾ã™ã€‚ + デフォルトã§ã¯å…¨ã¦ã® IP インターフェースã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œç­”ã—ã¾ã™ã€‚ + Listen ディレクティブ㯠+ ç¾åœ¨ã¯å¿…é ˆã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¨ãªã‚Šã¾ã—ãŸã€‚ + ã‚‚ã—設定ファイルã«ãªã‘ã‚Œã°ã€ã‚µãƒ¼ãƒã¯èµ·å‹•ã«å¤±æ•—ã—ã¾ã™ã€‚ + ã“ã‚Œã¯ä»¥å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Apache ã‹ã‚‰å¤‰æ›´ã®ã‚ã£ãŸéƒ¨åˆ†ã§ã™ã€‚

+ +

Listen ディレクティブã§ã¯ã€ç‰¹å®šã®ãƒãƒ¼ãƒˆã‚ã‚‹ã„㯠+ アドレスã¨ãƒãƒ¼ãƒˆã®çµ„ã¿åˆã‚ã›ã‹ã‚‰å…¥ã£ã¦ãるリクエストã«å¯¾ã—㦠+ 応答ã™ã‚‹ã‚ˆã†ã«æŒ‡å®šã—ã¾ã™ã€‚ + ã‚‚ã—ãƒãƒ¼ãƒˆç•ªå·ã ã‘ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ã‚µãƒ¼ãƒã¯å…¨ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã® + 指定ã•ã‚ŒãŸãƒãƒ¼ãƒˆç•ªå·ã«å¯¾ã—㦠listen ã—ã¾ã™ã€‚ + IP アドレスãŒãƒãƒ¼ãƒˆã¨ã¨ã‚‚ã«æŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã€ + サーãƒã¯æŒ‡å®šã•ã‚ŒãŸãƒãƒ¼ãƒˆã¨ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«å¯¾ã—㦠listen + ã—ã¾ã™ã€‚

+ +

複数ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã«å¯¾ã—㦠listen ã™ã‚‹ã‚ˆã†ã«ã€ + 複数㮠Listen ディレクティブを使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + サーãƒã¯åˆ—挙ã•ã‚ŒãŸã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆå…¨ã¦ã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã—㦠+ 応答ã—ã¾ã™ã€‚

+ +

例ãˆã°ã€ã‚µãƒ¼ãƒãŒ 80 番ãƒãƒ¼ãƒˆã¨ 8000 番ãƒãƒ¼ãƒˆã®ä¸¡æ–¹ã® + コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å—ã‘入れる場åˆã¯ã€æ¬¡ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

+ Listen 80
+ Listen 8000 +

+ +

二ã¤ã®ç‰¹å®šã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¨ãƒãƒ¼ãƒˆç•ªå·ã‹ã‚‰ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ + å—ã‘入れるよã†ã«ã™ã‚‹ã«ã¯ã€æ¬¡ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000 +

+ +

IPv6 アドレスã¯è§’括弧ã§å›²ã¾ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + 例ãˆã°æ¬¡ã®ä¾‹ã®ã‚ˆã†ã«ã§ã™ã€‚

+ +

+ Listen [2001:db8::a00:20ff:fea7:ccea]:80 +

+ +

protocol オプション引数ã¯é€šå¸¸ã®è¨­å®šã§ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。 + 無指定ã®å ´åˆã€443 番ãƒãƒ¼ãƒˆã«ã¯ https ãŒã€ä»–ã®ãƒãƒ¼ãƒˆã«ã¯ + http ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ + protocol 指定ã¯ã€ã©ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã™ã‚‹ã‹ã‚’決定ã—〠+ AcceptFilter + ã«ã‚ˆã‚‹ãƒ—ロトコル特有ã®æœ€é©åŒ–ã‚’è¡Œã†ã‚ˆã†ã«ã—ã¾ã™ã€‚

+ +

éžæ¨™æº–ãªãƒãƒ¼ãƒˆã§é‹ç”¨ã—ã¦ã„ã‚‹éš›ã«ã®ã¿ protocol 指定ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ + ãŸã¨ãˆã° https ãªã‚µã‚¤ãƒˆã‚’ 8443 番ãƒãƒ¼ãƒˆã§é‹ç”¨ã—ã¦ã„ã‚‹å ´åˆ :

+ +

+ Listen 192.170.2.1:8443 https +

+ +

エラーæ¡ä»¶

+ åŒä¸€ IP アドレスã¨ãƒãƒ¼ãƒˆã®çµ„ã«ã€è¤‡æ•°ã® Listen + ディレクティブを指定ã—ã¦ã—ã¾ã†ã¨ã€Address already in use + ã¨ã„ã†ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ +
+ + +

å‚ç…§

+ +
+
top
+

ListenBackLog ディレクティブ

+ + + + + + + +
説明:ä¿ç•™çŠ¶æ…‹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ã‚­ãƒ¥ãƒ¼ã®æœ€å¤§é•·
構文:ListenBacklog backlog
デフォルト:ListenBacklog 511
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

ä¿ç•™çŠ¶æ…‹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ã‚­ãƒ¥ãƒ¼ã®æœ€å¤§é•·ã§ã™ã€‚ + 一般的ã«ã¯èª¿æ•´ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“ã—ã€èª¿æ•´ã¯æœ›ã¾ã—ãã‚ã‚Šã¾ã›ã‚“。 + ã—ã‹ã—ã€TCP SYN フラッドアタックã®çŠ¶æ³ä¸‹ã«ãŠã‹ã‚Œã‚‹å ´åˆã«ã€ + 増やã—ãŸæ–¹ãŒæœ›ã¾ã—ã„システムもã‚ã‚Šã¾ã™ã€‚ + listen(2) システムコールã®ãƒãƒƒã‚¯ãƒ­ã‚°ãƒ‘ラメータを + ã”覧下ã•ã„。

+ +

ã“ã®å€¤ã¯ OS ã«ã‚ˆã‚Šã€å°ã•ãªæ•°ã«æŠ‘ãˆã‚‰ã‚Œã¾ã™ã€‚ + 値㯠OS 毎ã«ç•°ãªã£ã¦ã„ã¾ã™ã€‚ã¾ãŸå¤šãã® OS ã§ã¯ã€ + ãƒãƒƒã‚¯ãƒ­ã‚°ã¨ã—ã¦æŒ‡å®šã•ã‚Œã¦ã„る値ã¡ã‚‡ã†ã©ã¾ã§ä½¿ã£ã¦ã„ã‚‹ã‚ã‘ã§ã¯ãªã〠+ 設定ã•ã‚Œã¦ã„る値ã«åŸºã¥ã„㦠(通常ã¯è¨­å®šå€¤ã‚ˆã‚Šã‚‚大ããªå€¤ã‚’) + 使ã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +
+
top
+

ListenCoresBucketsRatio ディレクティブ

+ + + + + + + + +
説明:Ratio between the number of CPU cores (online) and the number of +listeners' buckets
構文:ListenCoresBucketsRatio ratio
デフォルト:ListenCoresBucketsRatio 0 (disabled)
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:event, worker, prefork
互æ›æ€§:Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option SO_REUSEPORT and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of SO_REUSEPORT +in *BSDs.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

MaxConnectionsPerChild ディレクティブ

+ + + + + + + + +
説明:Limit on the number of connections that an individual child server +will handle during its life
構文:MaxConnectionsPerChild number
デフォルト:MaxConnectionsPerChild 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
互æ›æ€§:Available Apache HTTP Server 2.3.9 and later. The old name +MaxRequestsPerChild is still supported.

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

MaxMemFree ディレクティブ

+ + + + + + + +
説明:free() ãŒå‘¼ã°ã‚Œãªã„é™ã‚Šã€ +主メモリアロケータãŒä¿æŒã—続ã‘られるメモリã®æœ€å¤§é‡
構文:MaxMemFree KBytes
デフォルト:MaxMemFree 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_netware, prefork, threadpool, worker, mpm_winnt
+

MaxMemFree ディレクティブ㯠+ free() ãŒå‘¼ã°ã‚Œãªã„é™ã‚Šã€ + 主アロケータãŒä¿æŒã§ãる空ã®ãƒ¡ãƒ¢ãƒªã®æœ€å¤§å€¤ã‚’キロãƒã‚¤ãƒˆå˜ä½ã§è¨­å®šã—ã¾ã™ã€‚ + 設定ã•ã‚Œã¦ã„ãªã„ã‹ã€é›¶ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€ç„¡åˆ¶é™ã«ãªã‚Šã¾ã™ã€‚

+ +
+
top
+

MaxRequestWorkers ディレクティブ

+ + + + + + + +
説明:Maximum number of connections that will be processed +simultaneously
構文:MaxRequestWorkers number
デフォルト:See usage for details
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:event, worker, prefork

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯ + ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。 +

+
top
+

MaxSpareThreads ディレクティブ

+ + + + + + + +
説明:アイドルスレッドã®æœ€å¤§æ•°
構文:MaxSpareThreads number
デフォルト:詳細ã¯ä½¿ç”¨æ³•ã‚’ã”覧下ã•ã„。
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker
+

アイドルãªã‚¹ãƒ¬ãƒƒãƒ‰ã®æœ€å¤§æ•°ã§ã™ã€‚ç•°ãªã‚‹ MPM ã§ã¯ãã‚Œãžã‚Œã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç•°ãªã‚‹å–り扱ã‚れ方をã•ã‚Œã¾ã™ã€‚

+ +

perchild ã§ã¯ã€ + デフォルト㯠MaxSpareThreads 10 ã§ã™ã€‚ + ã“ã® MPM ã¯ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã‚’ã€ãã‚Œãžã‚Œã®å­ãƒ—ロセスã”ã¨ã«ç›£è¦–ã—ã¾ã™ã€‚ + å­ãƒ—ロセスã«ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ãŒå¤šã™ãŽã‚‹å ´åˆã¯ã€ + サーãƒã¯ãã®å­ãƒ—ロセスã«å«ã¾ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’終了ã—始ã‚ã¾ã™ã€‚

+ +

worker, leader, + threadpool ã§ã¯ã€ + デフォルト㯠MaxSpareThreads 250 ã§ã™ã€‚ + ã“ã® MPM ã¯ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã‚’サーãƒå…¨ä½“ã§ç›£è¦–ã—ã¾ã™ã€‚ + サーãƒã§ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ãŒå¤šã™ãŽã‚‹å ´åˆã¯ã€ + ã“ã®æ•°å­—よりも少ãªã„æ•°ã«ãªã‚‹ã¾ã§å­ãƒ—ロセスを終了ã—ã¾ã™ã€‚

+ +

mpm_netware ã§ã¯ã€ + デフォルト㯠MaxSpareThreads 100 ã§ã™ã€‚ + ã“ã® MPM ã¯ã‚·ãƒ³ã‚°ãƒ«ãƒ—ロセスã§å®Ÿè¡Œã•ã‚Œã¾ã™ã®ã§ã€ + スペアスレッド数もサーãƒå…¨ä½“ã§å‹˜å®šã—ã¾ã™ã€‚

+ +

beos 㨠mpmt_os2 㯠+ mpm_netware ã¨ä¼¼ãŸæŒ™å‹•ã‚’ã—ã¾ã™ã€‚ + beos ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ MaxSpareThreads 50 + ã§ã™ã€‚mpmt_os2 ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ 10 + ã§ã™ã€‚

+ +

制é™äº‹é …

+

MaxSpareThreads ã®å–る値ã«ã¯åˆ¶é™ãŒã‚ã‚Šã¾ã™ã€‚ + Apache ã¯æ¬¡ã®è¦å‰‡ã«å¾“ã£ã¦è‡ªå‹•çš„ã«è£œæ­£ã—ã¾ã™ã€‚

+
    +
  • perchild ã§ã¯ã€ + MaxSpareThreads ㌠+ ThreadLimit + ã¨ç­‰ã—ã„ã‹ãれ以下ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
  • + +
  • mpm_netware 㯠+ MinSpareThreads + よりも大ãã„å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
  • + +
  • leader, threadpool, + worker ã§ã¯ã€ + MinSpareThreads 㨠+ ThreadsPerChild + ã§æ±ºã¾ã‚‹ç·å’Œã¨ç­‰ã—ã„ã‹å¤§ãã„å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
  • +
+
+ +

å‚ç…§

+ +
+
top
+

MinSpareThreads ディレクティブ

+ + + + + + + +
説明:リクエストã«å¿œç­”ã™ã‚‹ã“ã¨ã®ã§ãã‚‹ +アイドルスレッド数ã®æœ€å°æ•°
構文:MinSpareThreads number
デフォルト:詳細ã¯ä½¿ç”¨æ–¹æ³•ã‚’ã”覧下ã•ã„。
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker
+

リクエストã«å¿œç­”ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã®æœ€å°å€¤ã§ã™ã€‚ + ç•°ãªã‚‹ MPM ã§ã¯ãã‚Œãžã‚Œã€ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç•°ãªã‚‹å–り扱ã‚れ方をã—ã¾ã™ã€‚

+ +

perchild ã§ã¯ã€ + デフォルト㯠MinSpareThreads 5 ã§ã€ + アイドルスレッド数をå­ãƒ—ロセス毎ã«ç›£è¦–ã—ã¾ã™ã€‚ + ã‚‚ã—å­ãƒ—ロセスã«å分ãªæ•°ã®ã‚¹ãƒ¬ãƒƒãƒ‰ãŒãªã‘ã‚Œã°ã€ + サーãƒã¯ãã®å­ãƒ—ロセスã«æ–°ã—ã„スレッドを作り始ã‚ã¾ã™ã€‚ + ã§ã™ã‹ã‚‰ã€NumServers + ã‚’ 10 ã«ã€MinSpareThreads ã‚’ + 5 ã«ã—ãŸå ´åˆã¯ã€æœ€å°ã§ã‚‚ 50 ã®ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ãŒ + システム上ã«ã‚ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

worker, leader, + threadpool ã§ã¯ã€ + デフォルト㯠MinSpareThreads 75 ã§ã€ + アイドルスレッド数をサーãƒå…¨ä½“ã§ç›£è¦–ã—ã¾ã™ã€‚ + ã‚‚ã—サーãƒã«å分ãªæ•°ã®ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ãŒãªã‘ã‚Œã°ã€ + アイドルスレッド数ãŒã“ã®æ•° number よりも大ãããªã‚‹ã¾ã§ + æ–°ã—ã„å­ãƒ—ロセスãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚

+ +

mpm_netware ã§ã¯ã€ + デフォルト㯠MinSpareThreads 10 ã§ã€ + シングルプロセス MPM ã§ã™ã®ã§ã€ã‚µãƒ¼ãƒå…¨ä½“ã§ç®¡ç†ã•ã‚Œã¾ã™ã€‚

+ +

beos 㨠mpmt_os2 ã¯ã€ + mpm_netwareã«ã‚ˆãä¼¼ã¦ã„ã¾ã™ã€‚ + beos ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ MinSpareThreads 1 + ã§ã™ã€‚mpmt_os2 ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ + 5 ã§ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

PidFile ディレクティブ

+ + + + + + + +
説明:デーモンã®ãƒ—ロセス ID +をサーãƒãŒè¨˜éŒ²ã™ã‚‹ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«
構文:PidFile filename
デフォルト:PidFile logs/httpd.pid
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

PidFile ディレクティブã§ã€ + デーモンã®ãƒ—ロセス ID をサーãƒãŒè¨˜éŒ²ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’設定ã—ã¾ã™ã€‚ + ファイルåãŒçµ¶å¯¾ãƒ‘スã§ãªã„å ´åˆã¯ã€ + ServerRoot + ã‹ã‚‰ã®ç›¸å¯¾çš„ãªã‚‚ã®ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +

例

+ PidFile /var/run/apache.pid +

+ +

サーãƒãŒ ErrorLog + ã‚„ TransferLog + ã‚’é–‰ã˜ã¦é–‹ãç›´ã—ãŸã‚Šã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + å†èª­è¾¼ã—ãŸã‚Šã•ã›ã‚‹ãŸã‚ã«ã€ã‚µãƒ¼ãƒã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚‹ã“ã¨ãŒã§ãる㨠+ 便利ãªã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ + ã“れ㯠SIGHUP (kill -1) シグナルを PidFile + ã«æ›¸ã‹ã‚Œã¦ã„るプロセス ID ã«é€ã‚‹ã“ã¨ã§ã§ãã¾ã™ã€‚

+ +

PidFile ã«ã¯ã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®è¨­ç½®ä½ç½®ã‚„ + セキュリティ + ã¨å…¨ãåŒã˜æ³¨æ„点ãŒã‚ã‚Šã¾ã™ã€‚

+ +

注æ„

+

Apache 2 ã§ã¯ã€ + apachectl + スクリプトã®ã¿ã‚’使用ã—ã¦ã‚µãƒ¼ãƒã® (å†) èµ·å‹•ã‚„åœæ­¢ã‚’ + è¡Œãªã†ã“ã¨ã‚’推奨ã—ã¦ã„ã¾ã™ã€‚

+
+ +
+
top
+

ReceiveBufferSize ディレクティブ

+ + + + + + + +
説明:TCP å—ä¿¡ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º
構文:ReceiveBufferSize bytes
デフォルト:ReceiveBufferSize 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker
+

サーãƒã¯ TCP å—ä¿¡ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚ºã‚’指定ã•ã‚ŒãŸãƒã‚¤ãƒˆæ•°ã«è¨­å®šã—ã¾ã™ã€‚

+ +

0ã«ã—ãŸå ´åˆã€OS ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

ScoreBoardFile ディレクティブ

+ + + + + + + +
説明:å­ãƒ—ロセスã¨é€£æºã™ã‚‹ãŸã‚ã®ãƒ‡ãƒ¼ã‚¿ã‚’ä¿å­˜ã™ã‚‹ +ファイルã®ä½ç½®
構文:ScoreBoardFile file-path
デフォルト:ScoreBoardFile logs/apache_status
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker
+

Apache ã¯è¦ªãƒ—ロセスã¨å­ãƒ—ロセス間ã®é€šä¿¡ã«ã‚¹ã‚³ã‚¢ãƒœãƒ¼ãƒ‰ã‚’用ã„ã¾ã™ã€‚ + ã“ã®é€šä¿¡æ©Ÿèƒ½ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å¿…è¦ã¨ã™ã‚‹ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã‚‚ã‚ã‚Šã¾ã™ã€‚ + ファイルãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€Apache ã¯ã¾ãšãƒ¡ãƒ¢ãƒªä¸Š + (匿å共有メモリ) ã«ã‚¹ã‚³ã‚¢ãƒœãƒ¼ãƒ‰ã‚’作ã‚ã†ã¨ã—ã€ãã‚ŒãŒå¤±æ•—ã™ã‚‹ã¨ + ディスク上ã«ãƒ•ã‚¡ã‚¤ãƒ« (ファイルベースã®å…±æœ‰ãƒ¡ãƒ¢ãƒª) を作ã‚ã†ã¨ã—ã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を指定ã™ã‚‹ã¨ã€Apache + ã¯å¿…ãšãƒ‡ã‚£ã‚¹ã‚¯ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’生æˆã—ã¾ã™ã€‚

+ +

例

+ ScoreBoardFile /var/run/apache_status +

+ +

ファイルベースã®å…±æœ‰ãƒ¡ãƒ¢ãƒªã¯ã€ã‚µãƒ¼ãƒ‰ãƒ‘ーティー製ã®ã‚¢ãƒ—リケーション㧠+ スコアボードã«ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +

ScoreBoardFile を使ã†å ´åˆã€ + RAM ディスク上ã«ç½®ãã¨ã‚¹ãƒ”ードãŒå‘上ã™ã‚‹ã§ã—ょã†ã€‚ + ã—ã‹ã—ã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®è¨­ç½®ä½ç½®ã‚„ + セキュリティ + ã¨åŒæ§˜ã®æ³¨æ„点ãŒã‚ã‚‹ã®ã§ã€æ³¨æ„ã—ã¦ãã ã•ã„。

+ +

å‚ç…§

+ +
+
top
+

SendBufferSize ディレクティブ

+ + + + + + + +
説明:TCP ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º
構文:SendBufferSize bytes
デフォルト:SendBufferSize 0
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

サーãƒã¯ TCP é€ä¿¡ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚ºã‚’指定ã•ã‚ŒãŸãƒã‚¤ãƒˆæ•°ã«è¨­å®šã—ã¾ã™ã€‚ + 高速ã§é«˜ãƒ¬ã‚¤ãƒ†ãƒ³ã‚·ãªç’°å¢ƒã§ + (例 100ms 程度ã€å¤§é™¸æ¨ªæ–­é«˜é€Ÿé€šä¿¡è·¯ãªã©) + å¤ã„一般的㪠OS ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’増やã™ã®ã«éžå¸¸ã«ä¾¿åˆ©ã§ã™ã€‚

+ +

0ã«ã—ãŸå ´åˆã€OS ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

ServerLimit ディレクティブ

+ + + + + + + +
説明:設定å¯èƒ½ãªã‚µãƒ¼ãƒãƒ—ロセス数ã®ä¸Šé™
構文:ServerLimit number
デフォルト:詳細ã¯ä½¿ç”¨æ³•ã‚’å‚ç…§
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:leader, perchild, prefork, threadpool, worker
+

prefork MPM ã®å ´åˆã¯ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ Apache プロセス稼åƒä¸­ã«ãŠã‘ã‚‹ + MaxClients + ã«è¨­å®šå¯èƒ½ãªä¸Šé™å€¤ã‚’設定ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ + (訳注: prefork ã®å ´åˆã¯åŒæ™‚クライアント数 = サーãƒãƒ—ロセス数ãªã®ã§)。 + worker MPM ã®å ´åˆã«ã¯ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ ThreadLimit + ディレクティブã¨çµ„ã¿åˆã‚ã›ã¦ã€ + Apache プロセス稼åƒä¸­ã«ãŠã‘ã‚‹ + MaxClients + ã«è¨­å®šå¯èƒ½ãªä¸Šé™å€¤ã‚’設定ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を変更ã—ã¦å†èµ·å‹•(訳注: apachectl + restart)ã—ã¦ã‚‚無視ã•ã‚Œã¾ã™ãŒã€ + MaxClients + ã¯å†èµ·å‹•ã§å¤‰æ›´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使用ã™ã‚‹éš›ã¯ç‰¹ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ServerLimit ãŒå¿…è¦ä»¥ä¸Šã«å¤§ããªå€¤ã« + 設定ã•ã‚ŒãŸå ´åˆã¯ã€ä½™è¨ˆãªæœªä½¿ç”¨å…±æœ‰ãƒ¡ãƒ¢ãƒªãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ + ServerLimit 㨠+ MaxClients + ãŒã‚·ã‚¹ãƒ†ãƒ ã®æ‰±ãˆã‚‹ç¯„囲を越ãˆãŸè¨­å®šå€¤ã«ãªã£ã¦ã„ã‚‹ã¨ã€ + Apache ã¯èµ·å‹•ã—ãªã„ã‹ã€èµ·å‹•ã—ã¦ã‚‚ä¸å®‰å®šã«ãªã‚‹ã§ã—ょã†ã€‚

+ +

prefork MPM ã§ã¯ã€ + MaxClients + ã‚’ 256 (デフォルト) よりも大ããªå€¤ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚る時ã«ã ã‘使用ã—ã¦ãã ã•ã„。 + 希望㮠MaxClients + æ•°ã¨ãらã¹ã¦ã€å¿…è¦ä»¥ä¸Šã«å¤§ããªå€¤ã‚’指定ã™ã‚‹ã“ã¨ã¯é¿ã‘ã¦ãã ã•ã„。

+ +

worker, leader, + threadpool MPM ã§ã¯ã€ + MaxClients 㨠+ ThreadsPerChild + ã®è¨­å®šã§ 16 サーãƒãƒ—ロセス (デフォルト) + 以上必è¦ã«ãªã‚‹å ´åˆã«ã®ã¿ä½¿ç”¨ã—ã¦ãã ã•ã„。希望㮠+ MaxClients 㨠+ ThreadsPerChild + ã¨ãらã¹ã¦ã€å¿…è¦ã¨ãªã‚‹ã‚µãƒ¼ãƒãƒ—ロセス数以上ã«å¤§ããªå€¤ã‚’ + 設定ã™ã‚‹ã“ã¨ã¯é¿ã‘ã¦ãã ã•ã„。

+ +

perchild MPM ã§ã¯ã€ + NumServers ã‚’ 8 (デフォルト) + よã‚ã„も大ããªå€¤ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ãã«ã®ã¿ä½¿ç”¨ã—ã¦ãã ã•ã„。

+ +

注æ„

+

ServerLimit 20000 ã¨ã„ã†åˆ¶é™ä»˜ãã§ã‚³ãƒ³ãƒ‘イルã•ã‚Œã¦ã„ã¾ã™ + (prefork MPM ã§ã¯ 200000) 。 + ã“ã‚Œã¯ã‚¹ãƒšãƒ«ãƒŸã‚¹ã«ã‚ˆã£ã¦èª¤ã£ã¦é…·ã„状æ³ã«ãªã‚‹ã®ã‚’〠+ 回é¿ã™ã‚‹ãŸã‚ã®å‡¦ç½®ã§ã™ã€‚

+
+ +

å‚ç…§

+ +
+
top
+

StartServers ディレクティブ

+ + + + + + + +
説明:起動時ã«ç”Ÿæˆã•ã‚Œã‚‹å­ã‚µãƒ¼ãƒãƒ—ロセスã®æ•°
構文:StartServers number
デフォルト:詳細ã¯ä½¿ç”¨æ–¹æ³•ã‚’å‚ç…§
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:leader, mpmt_os2, prefork, threadpool, worker
+

StartServers ディレクティブã¯ã€ + 起動時ã«ç”Ÿæˆã•ã‚Œã‚‹å­ã‚µãƒ¼ãƒãƒ—ロセスã®æ•°ã‚’設定ã—ã¾ã™ã€‚ + プロセス数ã¯è² è·ã«å¿œã˜ã¦å‹•çš„ã«åˆ¶å¾¡ã•ã‚Œã¾ã™ã®ã§ã€ + 通常ã¯ã“ã®å€¤ã‚’調整ã™ã‚‹ç†ç”±ã¯ã‚ã¾ã‚Šãªã„ã§ã—ょã†ã€‚

+ +

デフォルト値㯠MPM ã”ã¨ã«ç•°ãªã‚Šã¾ã™ã€‚ + leader, threadpool, + worker 㯠StartServers 3 ã§ã™ã€‚ + prefork 㯠5 ã§ã€ + mpmt_os2 㯠2 ã§ã™ã€‚

+ +
+
top
+

StartThreads ディレクティブ

+ + + + + + + +
説明:起動時ã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°
構文:StartThreads number
デフォルト:詳細ã¯ä½¿ç”¨æ–¹æ³•ã‚’å‚ç…§
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:beos, mpm_netware, perchild
+

起動時ã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°ã§ã™ã€‚ + スレッド数ã¯è² è·ã«å¿œã˜ã¦å‹•çš„ã«åˆ¶å¾¡ã•ã‚Œã¾ã™ã®ã§ã€ + 通常ã¯ã“ã®å€¤ã‚’調整ã™ã‚‹ç†ç”±ã¯ã‚ã¾ã‚Šãªã„ã§ã—ょã†ã€‚

+ +

perchild ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ + StartThreads 5 ã§ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯èµ·å‹•æ™‚ã« + プロセス毎ã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã‚’追跡ã—ã¾ã™ã€‚

+ +

mpm_netware ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ + StartThreads 50 ã§ã€ + ã“ã®å ´åˆãƒ—ロセスã¯ä¸€ã¤ã—ã‹ãªã„ã®ã§ã€ + 起動時ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œç­”ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®ç·æ•°ã¨ãªã‚Šã¾ã™ã€‚

+ +

beos ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ StartThreads + 10 ã§ã™ã€‚ + ã¾ãŸã€èµ·å‹•æ™‚ã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®ç·æ•°ã«ã‚‚å映ã•ã‚Œã¾ã™ã€‚

+ +
+
top
+

ThreadLimit ディレクティブ

+ + + + + + + + +
説明:設定å¯èƒ½ãªå­ãƒ—ロセス毎ã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã®ä¸Šé™ã‚’ +設定ã—ã¾ã™
構文:ThreadLimit number
デフォルト:詳細ã¯ä½¿ç”¨æ–¹æ³•ã‚’å‚ç…§
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:leader, mpm_winnt, perchild, threadpool, worker
互æ›æ€§:Apache 2.0.41 ã¨ãれ以é™ã® mpm_winnt +ã§åˆ©ç”¨å¯èƒ½
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ Apache プロセス稼åƒä¸­ã«ãŠã‘ã‚‹ + ThreadsPerChild + ã«è¨­å®šå¯èƒ½ãªä¸Šé™å€¤ã‚’設定ã—ã¾ã™ã€‚å†èµ·å‹•æ™‚ã«ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®å€¤ã‚’ + 変更ã—ã¦ã‚‚無視ã•ã‚Œã¾ã™ãŒã€ + ThreadsPerChild + ã¯å†èµ·å‹•ä¸­ã«ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§æŒ‡å®šã•ã‚ŒãŸä¸Šé™å€¤ã¾ã§ + 変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使用ã™ã‚‹éš›ã¯ç‰¹ã«æ³¨æ„ã—ã¦ãã ã•ã„。 + ThreadLimit ㌠+ ThreadsPerChild + よりもãšã£ã¨å¤§ããªå€¤ã«è¨­å®šã•ã‚ŒãŸå ´åˆã¯ã€ + 余計ãªæœªä½¿ç”¨å…±æœ‰ãƒ¡ãƒ¢ãƒªãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã—ã¾ã„ã¾ã™ã€‚ + ThreadLimit ㌠+ ThreadsPerChild + ã®ä¸¡æ–¹ãŒã‚·ã‚¹ãƒ†ãƒ ã®æ‰±ãˆã‚‹ç¯„囲を超ãˆã¦ã„ã‚‹å ´åˆã¯ã€ + Apache ã¯èµ·å‹•ã—ãªã„ã‹ã€èµ·å‹•ã—ãŸã¨ã—ã¦ã‚‚ä¸å®‰å®šã«ãªã‚‹ã§ã—ょã†ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®å€¤ã¯ä»Šä½¿ç”¨ã—ã¦ã„ã‚‹ Apache ã® ThreadsPerChild ã®äºˆæƒ³ä¸Šé™å€¤ã‚’ + 超ãˆãŸå€¤ã«ã¯è¨­å®šã—ãªã„ã§ãã ã•ã„。 +

+ +

ThreadLimit ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ + mpm_winnt ã®ã¨ã㯠1920 ã§ã€ + ä»–ã®å ´åˆã¯ 64 ã§ã™ã€‚

+ +

注æ„

+

ThreadLimit 20000 (mpm_winnt + ã®å ´åˆã¯ ThreadLimit 15000 ) + ã¨ã„ã†åˆ¶é™ä»˜ãã§ã‚³ãƒ³ãƒ‘イルã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã“ã‚Œã¯ã‚¹ãƒšãƒ«ãƒŸã‚¹ã«ã‚ˆã£ã¦èª¤ã£ã¦é…·ã„状æ³ã«ãªã‚‹ã®ã‚’〠+ 回é¿ã™ã‚‹ãŸã‚ã®å‡¦ç½®ã§ã™ã€‚

+
+ +
+
top
+

ThreadsPerChild ディレクティブ

+ + + + + + + +
説明:å­ãƒ—ロセスãã‚Œãžã‚Œã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°
構文:ThreadsPerChild number
デフォルト:詳細ã¯ä½¿ç”¨æ–¹æ³•ã‚’å‚ç…§
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:leader, mpm_winnt, threadpool, worker
+

ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ãã‚Œãžã‚Œã®å­ãƒ—ロセスã§ç”Ÿæˆã•ã‚Œã‚‹ + スレッド数を設定ã—ã¾ã™ã€‚ + å­ãƒ—ロセスã¯é–‹å§‹æ™‚ã«ã“れらã®ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’生æˆã—ã¦ã€ + ãã®å¾Œã¯ç”Ÿæˆã—ã¾ã›ã‚“。mpm_winnt ã®ã‚ˆã†ãªã€ + å­ãƒ—ロセスãŒä¸€ã¤ã—ã‹ãªã„よã†ãª MPM を利用ã—ã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€ + ã“ã®å€¤ã¯ã‚µãƒ¼ãƒã®è² è·å…¨ä½“ã‚’å分å–り扱ãˆã‚‹ç¨‹åº¦ã«ã€ + 大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。worker ã®ã‚ˆã†ãªã€ + å­ãƒ—ロセスãŒè¤‡æ•°ã‚るよã†ãª MPM を利用ã—ã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€ + サーãƒã®é€šå¸¸è² è·ã‚’å分扱ãˆã‚‹ç¨‹åº¦ã«ã€ + スレッドç·æ•°ãŒå¤šããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

mpm_winntã§ã® ThreadsPerChild + ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ 64 ã§ã€ä»–ã®å ´åˆã¯ + 25 ã§ã™ã€‚

+ +
+
top
+

ThreadStackSize ディレクティブ

+ + + + + + + + +
説明:クライアントã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å—ã‘æŒã¤ã‚¹ãƒ¬ãƒƒãƒ‰ãŒä½¿ç”¨ã™ã‚‹ +スタックã®ãƒã‚¤ãƒˆæ•°
構文:ThreadStackSize size
デフォルト:NetWare ã§ã¯ 65536。他㮠OS ã§ã¯é•ã£ãŸå€¤
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:leader, mpm_netware, mpm_winnt, perchild, threadpool, worker
互æ›æ€§:2.1 以é™
+

クライアントコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å—ã‘æŒã¡ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³å‡¦ç†ã«å¿…è¦ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® + 呼ã³å‡ºã—ã‚’è¡Œãªã£ã¦ã„るスレッドã®ã€(自動変数用ã®) スタックサイズ㯠+ ThreadStackSize ディレクティブã§æŒ‡å®šã—ã¾ã™ã€‚ + 大抵ã®å ´åˆ OS ã®æŒ‡å®šã—ã¦ã„るスタックサイズã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ + é©åˆ‡ãªã‚‚ã®ã§ã™ãŒã€èª¿æ•´ãŒå¿…è¦ã«ãªã‚‹å ´åˆã‚‚ã‚ã‚Šã¾ã™:

+ +
    +
  • スレッドスタックサイズã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒæ¯”較的å°ã•ã設定ã•ã‚Œã¦ã„ã‚‹ + プラットホーム (例ãˆã° HP-UX) ã§ã¯ã€è‡ªå‹•å¤‰æ•°ç”¨ã®é ˜åŸŸã§å¤§ããªå®¹é‡ã‚’ + 使用ã™ã‚‹ã‚µãƒ¼ãƒ‰ãƒ‘ーティ製モジュールã®ãŸã‚ã« Apache ãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹ + å ´åˆã‚‚ã‚ã‚Šã¾ã™ã€‚ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ä»–ã®ãƒ—ラットホームã§ã¯ + スタックサイズãŒå¤§ãã„ãŸã‚ã«ã€å¿«èª¿ã«å‹•ä½œã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã“ã®ã‚¿ã‚¤ãƒ—ã®ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã¯ã€ThreadStackSize + 㧠OS ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚ˆã‚Šå¤§ããªå€¤ã‚’指定ã™ã‚‹ã“ã¨ã§è§£æ±ºã—ã¾ã™ã€‚ + サードパーティ製モジュールã§ã“ã®å‡¦ç½®ãŒå¿…è¦ã§ã‚ã‚‹ã¨è¨˜è¼‰ã•ã‚Œã¦ã„ã‚‹ + å ´åˆã‹ã€Apache ã®å‡ºåŠ›ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ã‚¹ãƒ¬ãƒƒãƒ‰ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºãŒ + å°ã•ã™ãŽã‚‹ã¨æŒ‡æ‘˜ã•ã‚Œã¦ã„ã‚‹å ´åˆã«ã®ã¿ã€ã“ã®èª¿æ•´ã‚’ã—ã¦ãã ã•ã„。
  • + +
  • デフォルトスレッドスタックサイズãŒã€Web サーãƒç”¨é€”ã«å¿…è¦ãªé‡ã‚ˆã‚Šã‚‚ + 明らã‹ã«å¤§ãã™ãŽã‚‹å ´åˆã€ThreadStackSize + ã‚’ OS ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚ˆã‚Šã‚‚å°ã•ãªå€¤ã«ã™ã‚‹ã“ã¨ã§ã€å­ãƒ—ロセスã‚ãŸã‚Šã® + スレッド数をより多ãæŒãŸã›ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + ã“ã®ã‚¿ã‚¤ãƒ—ã®èª¿æ•´ã¯ã€ãƒ†ã‚¹ãƒˆç’°å¢ƒã§ã‚¦ã‚§ãƒ–サーãƒã‚’完全㫠+ テストã§ãã‚‹å ´åˆã«é™ã£ã¦è¡Œãªã†ã¹ãã§ã™ã€‚ + ã¾ã‚Œã«å¤šæ•°ã®ã‚¹ã‚¿ãƒƒã‚¯ãŒè¦æ±‚ã•ã‚Œã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘ã‚‹ã“ã¨ãŒã‚ã‚‹ã‹ã‚‚ + ã—ã‚Œãªã„ã‹ã‚‰ã§ã™ã€‚ + Web サーãƒã®è¨­å®šã‚’変更ã™ã‚‹ã¨ã€ç¾åœ¨ã® ThreadStackSize + ã®è¨­å®šãŒå–り消ã•ã‚Œã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚
  • +
+ +
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.tr.utf8 b/docs/manual/mod/mpm_common.html.tr.utf8 new file mode 100644 index 0000000..e0e0264 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.tr.utf8 @@ -0,0 +1,910 @@ + + + + + +mpm_common - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM Ortak Yönergeleri

+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + tr 

+
+ +
Açıklama:Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş + yönergeler bütünü.
Durum:MPM
+
+ + +
top
+

CoreDumpDirectory Yönergesi

+ + + + + + + +
Açıklama:core dosyasını dökümlemek üzere Apache HTTP + Sunucusunun geçmeye çalışacağı dizin.
Sözdizimi:CoreDumpDirectory dizin
Öntanımlı:Öntanımlı değer için aşağıdaki açıklamaya bakınız
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork
+

Bu yönerge core dosyasını dökümlemek üzere Apache httpd’nin + geçmeye çalışacağı dizini belirler. Eğer işletim sisteminiz, çöken bir + sürecin olması durumunda core dosyasını çöken sürecin + çalışma dizinine yazacak şekilde yapılandırılmışsa, + CoreDumpDirectory yönergesinin değeri olarak, + öntanımlı olan ve sunucuyu çalıştıran kullanıcı tarafından yazılamayan + ServerRoot dizini yerine başka bir + çalışma dizini belirtmek gerekir.

+ +

Hata ayıklamak amacıyla bir core dosyası dökümlemek + isterseniz farklı bir yer belirtmek için bu yönergeyi + kullanabilirsiniz. Eğer işletim sisteminiz çöken bir sürecin olması + durumunda core dosyasını çöken sürecin çalışma dizinine + yazacak şekilde yapılandırılmamışsa, bu yönergenin bir etkisi olmaz.

+ +
+

Linux sistemleri için güvenlik bilgisi

+ +

Bu yönergenin Linux'ta kullanılması, sistemdeki diğer işlemlerin + (benzer yetkilerle çalıştırılan CGI komut dosyaları gibi) + ptrace sistem çağrısı yoluyla httpd çocuklarına eklenmesine + izin verebilir. Bu, bazı güvenlik saldırılarına karşı korumayı + zayıflatabilir. Bu yönergenin üretim sistemlerinde kullanılması + önerilmez.

+
+ +

Linux üzerinde core dökümlemek

+

Apache httpd root olarak başlatılıp başka bir kullanıcıya geçilirse + Linux çekirdeği, süreç tarafından yazılabilir olsa bile + core dökümlemeyi iptal eder. Eğer + CoreDumpDirectory yönergesi ile açıkça bir + dizin belirtirseniz, Apache httpd (2.0.46 ve sonraki sürümleri), Linux + 2.4 ve sonrasında core dökümlemeyi yeniden + etkinleştirecektir.

+
+ +
+

BSD üzerinde core dökümlemek

+

BSD sistemlerinde (FreeBSD gibi) suid bitli çalıştırılabilirlerin + core dökümlemesini etkin kılmak için + kern.sugid_coredump değişkenine 1 değerini atayın. +

+
+ +

Özel sinyaller

+

CoreDumpDirectory işlemi sadece belli + sinyaller için gerçekleşir: SIGFPE, SIGILL, SIGABORT, SIGSEGV ve + SIGBUS.

+

Bazı işletim sistemlerinde SIGQUIT sinyali de bir core + dosyası dökümler ancak bunu CoreDumpDirectory + veya EnableExceptionHook işlemi üzerinden + yapmaz, dolayısıyla core dosyasının yeri tamamen işletim + sisteminin belirlediği yer olur.

+
+ + +
+
top
+

EnableExceptionHook Yönergesi

+ + + + + + + +
Açıklama:Bir çöküş sonrası olağandışılık eylemcilerini çalıştıracak + kancayı etkin kılar.
Sözdizimi:EnableExceptionHook On|Off
Öntanımlı:EnableExceptionHook Off
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork
+

Güvenlik sebebiyle bu yönerge sadece Apache + --enable-exception-hook seçeneği ile yapılandırılmışsa + kullanılabilir olacaktır. Bu, harici modüllerin eklenmesine ve bir çocuk + sürecin çöküşü sonrası bir şeyler yapmaya izin veren bir kancayı etkin + kılar.

+ +

Bu kancayı kullanan iki modül (mod_whatkilledus ve + mod_backtrace) zaten vardır. bunlar hakkında daha fazla bilgi + edinmek için Jeff Trawick'in EnableExceptionHook sitesine bakabilirsiniz.

+ +
+
top
+

GracefulShutdownTimeout Yönergesi

+ + + + + + + + +
Açıklama:Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar + geçecek süre için bir zaman aşımı belirler.
Sözdizimi:GracefulShutdownTimeout saniye
Öntanımlı:GracefulShutdownTimeout 0
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork
Uyumluluk:Sürüm 2.2 ve sonrasında mevcuttur
+

GracefulShutdownTimeout yönergesi, sunucuya + "nazikçe dur" sinyali gönderildikten sonra mevcut bağlantılara hizmet + sunmaya daha kaç saniye devam edebileceğini belirtir.

+ +

Bu değerin 0 olarak belirtilmesi, sunucunun bekleyen bütün + isteklere hizmet sunumu tamamlanıncaya kadar (gerekirse sonsuza kadar) + bekleyebileceği anlamına gelir.

+ +
+
top
+

Listen Yönergesi

+ + + + + + + +
Açıklama:Sunucunun dinleyeceği IP adresini ve portu belirler.
Sözdizimi:Listen [IP-adresi:]port-numarası + [protokol]
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
Uyumluluk:protokol değiştirgesi 2.1.5 sürümünde + eklenmiştir.
+

Listen yönergesi Apache httpd’yi sadece belli IP + adreslerini ve portlarını dinlemeye sevkeder. + Listen artık belirtilmesi zorunlu yönergelerden + biridir. Yapılandırma dosyasında bulunmadığı takdirde sunucu + başlatılırken başarısız olacaktır. Bu Apache HTTP Sunucusunun önceki + sürümünde böyle değildi.

+ +

Listen yönergesi Apache httpd’ye, sadece belli + portlardan veya IP adresi ve port çiftlerinden gelen istekleri kabul + etmesini söyler. Eğer sadece port numarası belirtilmişse sunucu + belirtilen portu bütün ağ arabirimlerinde dinleyecektir. Eğer portla + birlikte bir IP adresi de belirtilmişse, sunucu belirtilen portu sadece + belirtilen arabirimden dinleyecektir.

+ +

Çok sayıda IP adresi ve port belirtmek için çok sayıda + Listen yönergesi kullanılabilir. Sunucu bu + durumda belirtilen bütün IP adreslerinden ve portlardan gelecek + isteklere yanıt verecektir.

+ +

Örneğin sunucunun hem port 80 hem de port 8000’den istek kabul etmesini + istiyorsanız bunu şöyle belirtebilirsiniz:

+ +
Listen 80
+Listen 8000
+ + +

Sunucunun belirtilen iki ağ arabiriminden ve port numarasından gelen + bağlantıları kabul etmesi için şu yapılandırmayı kullanabilirsiniz:

+ +
Listen 192.170.2.1:80
+Listen 192.170.2.5:8000
+ + +

IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına + alınmalıdır:

+ +
Listen [2001:db8::a00:20ff:fea7:ccea]:80
+ + +

İsteğe bağlı protocol argümanı çoğu yapılandırmada gerekli + değildir. Belirtilmediği takdirde. port 443 için https ve + tüm diğer portlar için http öntanımlıdır. Protokol, isteği + hangi modülün elde edeceğinin ve AcceptFilter yönergesi ile protokole özgü + hangi en iyilemelerin uygulanacağının saptanmasında kullanılır.

+ +

Protokol belirtme ihtiyacını sadece standartdışı portlar + çalıştırıyorsanız duyarsınız. Örneğin, port 8443 üzerinde bir + https sitesi çalıştırmak istiyorsanız bunu şöyle + belirtebilirsiniz:

+ +
Listen 192.170.2.1:8443 https
+ + +

Hata durumu

+ Aynı IP adresi ve portun çok sayıda Listen + yönergesinde belirtilmesi bir "adres kullanımda" (Address already + in use) hatasına yol açar. +
+ + +

Ayrıca bakınız:

+ +
+
top
+

ListenBackLog Yönergesi

+ + + + + + + +
Açıklama:Bekleyen bağlantılar kuyruğunun azami uzunluğunu + belirler
Sözdizimi:ListenBackLog kuyruk-uzunluğu
Öntanımlı:ListenBackLog 511
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

Bekleyen bağlantılar kuyruğunun azami uzunluğu. Genellikle bu ayar ne + gerekir ne de istenir. Ancak bazı sistemlerde TCP SYN yüklenme + saldırılarına karşı bu değerin arttırılması gerekebilir. + kuyruk-uzunluğu parametresi için listen(2) + işlevinin açıklamasına bakınız.

+ +

Bu değer çoğunlukla işletim sistemi tarafından daha küçük bir sayıyla + sınırlanır. Bu, işletim sistemine bağlı olarak değişiklik gösterir. + Ayrıca, çoğu işletim sisteminin kuyruk-uzunluğu parametresi + ile ne belirttiğinize bakmaksızın kendisi için atanmış değeri (fakat + normal olarak daha büyüğünü) kullanacağına dikkat ediniz.

+ +
+
top
+

ListenCoresBucketsRatio Yönergesi

+ + + + + + + + +
Açıklama:İşlemci çekirdek sayısının dinleyenlerin buket sayısına oranı
Sözdizimi:ListenCoresBucketsRatio oran
Öntanımlı:ListenCoresBucketsRatio 0 (iptal)
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork
Uyumluluk:Apache HTTP Server 2.4.17 ve sonrasında, + SO_REUSEPORT soket seçeneğini destekleyen bir Linux çekirdeğinin + varlığında ve yeni bağlantıların bunu kullanan dinleme süreçlerinin (veya + evrelerinin) soketleri arasında eşit paylaştırılıyor olması halinde + kullanılır. Örneğin Linux 3.9 ve sonrasında kullanılabilirken *BSD'lerin şu + anki SO_REUSEPORT gerçeklenimi ile kullanılamaz.
+

(çevrimiçi) İşlemci çekirdek sayısının dinleyenlerin buket sayısına + oranı, Apache HTTP Sunucusunun işlemci_çekirdek_sayısı / + oran sayıda dinleme buketi oluşturması için kullanılabilir ve bu + buketlerin herbiri aynı portlar üzerinde kendi Listen soketlerini içeriyor olurlar. + Bu durumda, her çocuk süreç tek bir buketle çalışır (çocukların + oluşturulması sırasında buketler döner dağılımla eşleştirilir).

+ +

"çevrimiçi" İşlemci çekirdek sayısının anlamı

+

Linux için (ve ayrıca BSD) bir işlemci çekirdeği Hotplug yapılandırılarak açılıp kapatıalbilir. + Dolayısıyla, ListenCoresBucketsRatio yönergesi + oluşturulacak buket sayısını hesaplarken bu yapılandırmayı esas alır.

+
+ +

ListenCoresBucketsRatio yeni bağlantılar kabul + edilirken/darboğazlar oluşurken ölçeklenebilirliği arttırabilir. Çok + sayıda işlemci çekirdekli sistemlerde bu özelliğin etkinleştirilmesinin + önemli başarım artışları ve daha kısa yanıt süreleri oluşturduğu + gözlenmiştir.

+ +

Bu oranın etkin olabilmesi için işlemci çekirdeği çift sayıda + olmalıdır. oran için önerilen değer 8 olup bu + durumda çalışma anında en azından 16 çekirdek + kullanılabiliyor olmalıdır. En iyi başarımı elde etmek gereken + oran her sistem için hesaplanmalı, çok sayıda değer denenmeli + ve başlıca başarım ölçütlerinizin çeşitli sonuçları iyi gözlemlenmelidir. +

+ +

Bu yönerge aşağı yuvarlanan + MinSpareThreads ve + MaxSpareThreads değerlerinin + hesabını etkiler. Bağlantıları en uygun şekilde kabul etmek için çocuk + süreçlerin sayısının buket sayısının katları olması gerekir.

+ +
+

Çok sayıda Listen veya aynı adres veya port + üstünda çok sayıda Apache HTTP sunucusu

+

Dinleyen soketler üzerinde SO_REUSEPORT seçeneğini tanımlamak + normal bir durumda sistem tarafından oluşturulmuş bir bağlama hatası + olmaksızın çok sayıda sürecin aynı adres ve porta bağlanması sonucunu + doğurur.

+

Bu ayrıca pozitif bir ListenCoresBucketsRatio + değeriyle aynı IP:port üzerinde yapılandırılmış çok sayıda + Apache httpd örneğinin hatasız başlamasının yanında gelen çağrıların her + iki örneğe eşit olarak dağıtılacağı anlamına da gelir. (Bu, + herhangi bir durumda bir öneri veya makul bir kullanım DEĞİL, böyle bir + olası sorunun algılanmasının engelleneceğine dair bir uyarıdır.)

+

Aynı örnek dahilinde, çok sayıda Listen + yönergesinin tam olarak aynı IP ve port üzerinde yapılandırılması durumunda + Apache httpd gerekli sınamaları yaptıktan sonra başlamayacak, böylelikle + birbirinin benzeri çok sayıda kullanışsız buketin oluşturulması + engellenecektir. Ancak, olası tüm örtüşmeler (bir konak adının başka bir + yerde kullanılmış bir IP'ye çözümlenmesi gibi) yakalanamayacaktır.

+
+ +
+
top
+

MaxConnectionsPerChild Yönergesi

+ + + + + + + + +
Açıklama:Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek + sayısını sınırlamakta kullanılır.
Sözdizimi:MaxConnectionsPerChild sayı
Öntanımlı:MaxConnectionsPerChild 0
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
Uyumluluk:Apache HTTP Sunucusunun 2.3.9 ve sonraki sürümlerinde + kullanılabilmektedir. Eski isim MaxRequestsPerChild hala + desteklenmektedir.
+

MaxConnectionsPerChild yönergesi, tek bir çocuk + sürecin işleme sokabileceği istek sayısını sınırlamakta kullanılır. + MaxConnectionsPerChild istekten sonra çocuk süreç + ölür. Eğer MaxConnectionsPerChild için + 0 belirtilmişse sürecin ömrü sonsuz olacaktır.

+ +

MaxConnectionsPerChild için sıfırdan farklı bir + değer belirtilmesi sürecin kullanacağı bellek miktarını sınırlamak + suretiyle olası bellek sızıntılarını engeller.

+ +
+
top
+

MaxMemFree Yönergesi

+ + + + + + + +
Açıklama:free() çağrılmaksızın ana bellek ayırıcının + ayırmasına izin verilen azami bellek miktarını belirler.
Sözdizimi:MaxMemFree kB-sayısı
Öntanımlı:MaxMemFree 2048
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt, mpm_netware
+

MaxMemFree yönergesi, free() + çağrılmaksızın her bellek ayırıcının ayırmasına izin verilen azami + bellek miktarını kB cinsinden belirler. Evreli MPM'lerde her evre kendi + ayırıcısına sahiptir. 0 değeri belirtildiğinde eşik sınırsız + olacaktır.

+ +
+
top
+

MaxRequestWorkers Yönergesi

+ + + + + + + +
Açıklama:Aynı anda işleme sokulacak azami bağlantı sayısı
Sözdizimi:MaxRequestWorkers sayı
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork
+

MaxRequestWorkers yönergesi aynı anda işleme + sokulacak bağlantı sayısını sınırlamak için kullanılır. MaxRequestWorkers bağlantı isteğinden fazlası geldiği + takdirde bu istekler normal olarak kuyruğa alınıp bekletilir. Kuyrukta + bekletilecek isteklerin azami sayısı ise ListenBacklog yönergesi ile belirlenir. İstek sunmakta olan + çocuk süreçlerden biri serbest kaldığında bekletilen bağlantılardan + birine hizmet sunulmaya başlanır.

+ +

Evreli olmayan sunucularda (prefork gibi) + MaxRequestWorkers yönergesi istekleri sunmak için + başlatılacak çocuk süreçlerin azami sayısını belirler. Öntanımlı değer + 256 olup bu değeri arttırmak isterseniz ServerLimit değerini de + arttırmalısınız.

+ +

Çok evreli ve melez sunucularda (event veya + worker gibi) MaxRequestWorkers + yönergesi istemcilere hizmet verecek evre sayısını sınırlar. Öntanımlı + değer melez MPM’ler için 16'dır + (ServerLimit ile ThreadsPerChild çarpılır: 16 x + 25). Bu bakımdan MaxRequestWorkers değerini + 16 süreçten fazlasına ayarlamak için ServerLimit değerini de arttırmalısınız.

+ +

MaxRequestWorkers yerine 2.3.13 öncesinde + MaxClients kullanılırdı. Eski isim hala + desteklenmektedir.

+ +
+
top
+

MaxSpareThreads Yönergesi

+ + + + + + + +
Açıklama:Boştaki azami evre sayısını belirler
Sözdizimi:MaxSpareThreads number
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, mpm_netware, mpmt_os2
+

Boştaki azami evre sayısı. Her MPM bu yönerge karşısında farklı + davranır.

+ +

worker ve event için + MaxSpareThreads 250 öntanımlıdır. Bu MPM'ler boştaki + evreleri sunucu genelinde izler. Eğer sunucuda çok fazla boşta evre + varsa, sunucu boştaki evrelerin sayısı bu sınırın altına inene kadar + çocuk süreçleri öldürür. + ListenCoresBucketsRatio + yönergesi etkinse ek süreçler/evreler oluşabilir.

+ +

mpm_netware için MaxSpareThreads 100 + öntanımlıdır. Bu MPM tek bir süreç olarak çalıştığından boştaki evre + sayısı aynı zamanda sunucu genelinde boştaki evre sayısıdır.

+ +

mpmt_os2 modülü mpm_netware modülü + gibi çalışır. mpmt_os2 için öntanımlı değer + 10'dur.

+ +

Kısıtlamalar

+

MaxSpareThreads için değer aralığı sınırlıdır. + Apache httpd belirtilen değeri aşağıdaki kurallara uygun olarak + kendiliğinden düzeltecektir:

+ +
+ +

Ayrıca bakınız:

+ +
+
top
+

MinSpareThreads Yönergesi

+ + + + + + + +
Açıklama:İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısını belirler.
Sözdizimi:MinSpareThreads sayı
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, mpm_netware, mpmt_os2
+

İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısı. Her MPM bu yönerge karşısında farklı davranır.

+ +

worker ve event modülü için + MinSpareThreads 75 öntanımlıdır ve bu modül boştaki evreleri + sunucu genelinde izler. Eğer sunucuda boştaki evre sayısı yetersizse, + sunucu, boştaki evrelerin sayısı bu sınırın üstüne çıkana kadar çocuk + süreç oluşturur. + ListenCoresBucketsRatio + yönergesi etkinse ek süreçler/evreler oluşabilir.

+ +

mpm_netware için MinSpareThreads 10 + öntanımlıdır ve tek süreç kendisi olduğundan izleme sunucu genelinde + yapılır.

+ +

mpmt_os2 modülü mpm_netware modülü + gibi çalışır. mpmt_os2 için öntanımlı değer + 5'tir.

+ + +

Ayrıca bakınız:

+ +
+
top
+

PidFile Yönergesi

+ + + + + + + +
Açıklama:Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.
Sözdizimi:PidFile dosya
Öntanımlı:PidFile logs/httpd.pid
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt, mpmt_os2
+

PidFile yönergesi, sunucunun artalan sürecinin + süreç kimliğinin kaydedileceği dosyayı belirler. Dosya ismi mutlak dosya + yoluyla belirtilmemişse dosya yolunun ServerRoot dizinine göre belirtildiği kabul + edilir.

+ +
PidFile /var/run/apache.pid
+ + +

Sunucuya sinyal gönderebilmek çoğunlukla işe yarar. Böylece ErrorLog ve TransferLog dosyaları kapatılıp + yeniden açılır ve yapılandırma dosyaları yeniden okunur. Bu, + PidFile dosyasında belirtilen süreç kimliğine bir + SIGHUP (kill -1) sinyali gönderilerek yapılır.

+ +

Günlük dosyasının yeri ve güvenlik ile ilgili + uyarılar PidFile dosyası içinde sözkonusu + olabilir.

+ +

Ek Bilgi

+

Apache HTTP Sunucusunu (yeniden) başlatırken veya durdururken sadece + apachectl betiğini kullanmanız önerilir.

+
+ +
+
top
+

ReceiveBufferSize Yönergesi

+ + + + + + + +
Açıklama:TCP alım tamponu boyu
Sözdizimi:ReceiveBufferSize bayt-sayısı
Öntanımlı:ReceiveBufferSize 0
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

Sunucunun TCP alım tamponu boyunu bayt-sayısı ile belirtilen + bayta ayarlar.

+ +

0 değeri atarsanız sunucu işletim sistemi öntanımlısını + kullanacaktır.

+ + +
+
top
+

ScoreBoardFile Yönergesi

+ + + + + + + +
Açıklama:Çocuk süreçler için eşgüdüm verisini saklamakta kullanılan + dosyanın yerini belirler.
Sözdizimi:ScoreBoardFile dosya-yolu
Öntanımlı:ScoreBoardFile logs/apache_runtime_status
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt
+

Apache HTTP Sunucusu ana ve çocuk süreçler arasında iletişim için bir + çetele tutar. + Bazı mimariler bu iletişimi kolaylaştırmak için bir dosya gerektirir. + Eğer yönerge belirtilmezse Apache httpd çeteleyi önce tamamen bellekte + oluşturmayı dener (anonim paylaşımlı bellek kullanarak); bunda başarılı + olamazsa dosyayı diskte oluşturmaya çalışacaktır (paylaşımlı belleğe + eşlemli dosya kullanarak). Bu yönergenin belirtilmesi Apache httpd'nin + dosyayı daima diskte oluşturmasına sebep olur.

+ +
ScoreBoardFile /var/run/apache_status
+ + +

Paylaşımlı belleğe eşlemli dosya, çeteleye doğrudan erişmesi gereken + üçüncü parti uygulamalar için yararlıdır.

+ +

Eğer ScoreBoardFile yönergesi ile bir dosya + belirtecekseniz, dosyayı bir RAM diske yerleştirerek hız artışı + sağlayabilirsiniz. Fakat, günlük dosyası yerleştirme ve güvenlik ile ilgili uyarılara + benzer uyarılara karşı dikkatli olunuz.

+ +

Ayrıca bakınız:

+ +
+
top
+

SendBufferSize Yönergesi

+ + + + + + + +
Açıklama:TCP tamponu boyu
Sözdizimi:SendBufferSize bayt-sayısı
Öntanımlı:SendBufferSize 0
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
+

Sunucu TCP gönderim tamponu boyunu bayt-sayısı ile + belirtilen bayta ayarlayacaktır. Yüksek hızlı yüksek yataklık süreli + bağlantılarda işletim sisteminin öntanımlı değerini aşacak şekilde (örn, + kıtalararası hızlı hatlarda 100ms veya fazlası) ayarlamak çoğunlukla + kullanışlıdır.

+ +

0 değeri atarsanız sunucu işletim sistemi öntanımlısını + kullanacaktır.

+ +

İşletim sisteminizin ilaveten yapılandırılması, yüksek hız, yüksek + gecikme bağlantılarında daha yüksek başarım elde etmek için gerekli + olabilir.

+ +

Bazı işletim sistemlerinde, TCP davranışı, EnableSendfile yönergesine Off + değeri atanmadıkça görülemeyen, büyükçe bir + SendBufferSize değerinden kaynaklanarak değişir. + Bu etkileşim sadece duruk dosyalarda görülür.

+ + +
+
top
+

ServerLimit Yönergesi

+ + + + + + + +
Açıklama:Ayarlanabilir süreç sayısının üst sınırını belirler.
Sözdizimi:ServerLimit sayı
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork
+

prefork modülü söz konusu olduğunda bu yönerge, Apache + httpd sürecinin ömrü boyunca MaxRequestWorkers yönergesine atanabilecek + azami değeri belirler. worker ve event + modülü sözkonusu + olduğunda ise, Apache httpd sürecinin ömrü boyunca MaxRequestWorkers yönergesine + atanabilecek azami değeri ThreadLimit ile birlikte belirler. event modülü + için bu yönerge kaç eski sunucunun çalışmayı sürdüreceğini ve kaçının açık + bağlantıları işlemeyi bitireceğini belirler. Bu yönergeyi bir yeniden + başlatma sırasında değiştirirseniz bu değişiklik yok sayılır fakat + MaxRequestWorkers + değişiklikleri dikkate alınır.

+ +

Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer + ServerLimit gereğinden yüksek bir değere + ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer + ServerLimit ve MaxRequestWorkers değerleri sistemin + işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd + başlayamayacağı gibi sistemi kararsız hale de getirebilir.

+ +

Bu yönergeyi prefork modülü ile sadece MaxRequestWorkers yönergesine 256’dan + (öntanımlı) daha büyük bir değer atayacaksanız kullanınız. Bu yönergeye + MaxRequestWorkers için atamak + istediğiniz değerden fazlasını atamayınız.

+ +

worker modülü söz konusu olduğunda bu yönergeyi + MaxRequestWorkers ve + ThreadsPerChild ayarları 16 + sunucu sürecinden (16 öntanımlıdır) fazlasını gerektiriyorsa + ayarlayınız. Bu yönergeye MaxRequestWorkers ve ThreadsPerChild için gerekli gördüğünüz sunucu süreci + sayısından fazlasını atamayınız.

+ +

event modülü söz konusu olduğunda, MaxRequestWorkers ve ThreadsPerChild yönergeleri ile belirlenen + süreç sayısına ek olarak zarifçe kapatılan süreçlerin sayısıyla arttırıp 16 + sunucu sürecinden (16 öntanımlıdır) fazlasına ayarlayınız.

+ +

Ek Bilgi

+

Sunucu içinde derlenmiş olarak ServerLimit 20000 + şeklinde bir zorlayıcı sınır vardır (prefork için + 200000’dir). Bu önlem, yazım hatalarının istenmeyen sonuçlara yol + açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak + için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip + sunucuyu yeniden derlemeniz gerekir.

+
+ +

Ayrıca bakınız:

+ +
+
top
+

StartServers Yönergesi

+ + + + + + + +
Açıklama:Sunucunun başlatılması sırasında oluşturulan çocuk süreçlerin + sayısını belirler.
Sözdizimi:StartServers sayı
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, prefork, mpmt_os2
+

StartServers yönergesi, sunucunun başlatılması + sırasında oluşturulan çocuk süreçlerin sayısını belirler. Süreç sayısı + normal olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını + gerektirecek küçük bir sebep vardır. + (MinSpareThreads, + MaxSpareThreads, + MinSpareServers, + MaxSpareServers yönergelerine + bakınız.)

+ +

Öntanımlı değer MPM’den MPM’e fark eder. Öntanımlı değer + worker ve event için 3 + iken prefork için 5, + mpmt_os2 için 2'dir.

+ +
+
top
+

StartThreads Yönergesi

+ + + + + + + +
Açıklama:Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını + belirler.
Sözdizimi:StartThreads sayı
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:mpm_netware
+

StartThreads yönergesi, sunucunun başlatılması + sırasında oluşturulan evrelerin sayısını belirler. Evre sayısı normal + olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını + gerektirecek küçük bir sebep vardır. + (MinSpareThreads, + MaxSpareThreads, + MinSpareServers, + MaxSpareServers yönergelerine + bakınız.)

+ +

mpm_netware için StartThreads 50 + öntanımlı olup, sadece tek bir süreç olduğundan, sunucunun başlatılması + sırasında oluşturulan evrelerin toplam sayısı 50’dir.

+ +
+
top
+

ThreadLimit Yönergesi

+ + + + + + + +
Açıklama:Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını + belirler.
Sözdizimi:ThreadLimit sayı
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, mpm_winnt
+

Bu yönerge, Apache httpd sürecinin ömrü boyunca ThreadsPerChild yönergesine + atanabilecek azami değeri belirler. Bu yönergeyi bir yeniden başlatma + sırasında değiştirirseniz bu değişiklik yok sayılır fakat ThreadsPerChild değişiklikleri dikkate + alınır.

+ +

Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer + ThreadLimit değeri ThreadsPerChild değerinden yüksek bir + değere ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer + ThreadLimit ve ThreadsPerChild değerleri sistemin + işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd + başlayamayacağı gibi sistemi kararsız hale de getirebilir. Bu yönergeye + Apache httpd'nin çalışması için öngörülmüş en büyük değerden daha + yükseğini atamayınız.

+ +

ThreadLimit yönergesinin öntanımlı değeri + mpm_winnt için 1920, diğerleri için + 64’tür.

+ +

Ek Bilgi

+

Sunucu içinde derlenmiş olarak ThreadLimit 20000 + şeklinde bir zorlayıcı sınır vardır (mpm_winnt için + 15000, event için ThreadLimit 100000). + Bu önlem, yazım hatalarının istenmeyen sonuçlara yol + açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak + için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip + sunucuyu yeniden derlemeniz gerekir.

+
+ +
+
top
+

ThreadsPerChild Yönergesi

+ + + + + + + +
Açıklama:Her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler.
Sözdizimi:ThreadsPerChild sayı
Öntanımlı:Ayrıntılar için aşağıdaki açıklamaya bakınız.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, mpm_winnt
+

Bu yönerge, her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler. Çocuk süreçler bu evreleri başlatıldıklarında oluştururlar ve + bundan daha fazlasını asla oluşturmazlar. mpm_winnt + gibi sadece bir çocuk sürecin bulunduğu bir MPM kullanıyorsanız, bu + sayı Apache httpd'nin tüm yükünü kaldırabilecek kadar büyük olmalıdır. + worker gibi çok çocuk süreçli bir MPM kullanıyorsanız, + toplam evre sayısı Apache httpd'nin tüm yükünü kaldırabilecek + kadar büyük olmalıdır.

+ +

ThreadsPerChild için öntanımlı değer + mpm_winnt kullanıldığında 64 diğerleri + için 25’tir.

+ +

ThreadsPerChild değeri ThreadLimit değerini aşamaz. Eğer daha + yüksek bir değer verilirse sunucu başlatılırken düşürülür ve günlüğe bir + uyarı kaydedilir. Bu iki yönerge arasındaki ilişki ThreadLimit belgelsinde açıklanmıştır.

+ +
+
top
+

ThreadStackSize Yönergesi

+ + + + + + + + +
Açıklama:İstemci bağlantılarını elde eden evreler tarafından kullanılan + yığıtın bayt cinsinden uzunluğunu belirler.
Sözdizimi:ThreadStackSize boyut
Öntanımlı:NetWare üzerinde 65536; diğer işletim sistemlerinde + değişir.
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:event, worker, mpm_winnt, mpm_netware, mpmt_os2
Uyumluluk:Apache HTTP Sunucusu 2.1 ve sonrasında + kullanılabilir.
+

ThreadStackSize yönergesi, istemci + bağlantılarını elde eden evreler ve bu bağlantıları işlemekte yardımcı + olan modül çağrıları tarafından kullanılan yığıtın bayt cinsinden + uzunluğunu belirler. Çoğu durumda işletim sistemi yığıtı uygun bir + boyuta ayarlar, fakat yine de ayarlanmasını gerektirecek bazı durumlar + olabilir:

+ +
    +
  • HP-UX gibi görece küçük yığıt boyuna sahip platformlarda, Apache + httpd, görece büyük yığıt alanı kullanan bazı üçüncü parti modüller + yüzünden çökebilir. Bu modüller öntanımlı yığıt boyu daha büyük olan + diÄŸer platformlarda sorunsuz çalışabilir. Bu tür çökmeler + ThreadStackSize yönergesine daha büyük yığıt + boyu atanarak çözümlenir. Böyle bir ayarlamayı sadece üçüncü parti + modülün üreticisi bunun gerekliliÄŸini belirtmiÅŸse veya Apache httpd’nin + evre yığıt boyutunun küçüklüğünden dolayı çöktüğü teÅŸhis edildiÄŸi + takdirde yapınız.
  • + +
  • Öntanımlı yığıt boyu Apache sunucusu için gerekenden belirgin + ÅŸekilde büyük bazı platformalarda, eÄŸer + ThreadStackSize yönergesi ile bu boyuttan daha + düşük bir deÄŸer atanmışsa çocuk süreç başına evre sayısının yüksek + olduÄŸu durumlarda bu yığıt yetmeyebilir. Böyle bir ayarlama sadece + sunucunun öldüresiye denendiÄŸi dolayısıyla yığıt boyutlarının aşırı + zorlandığı deneme ortamlarında yapılmalıdır. Gereken en küçük yığıt + boyutu kullanılan modüle sıkı sıkıya baÄŸlıdır, fakat Apache httpd + yapılandırmasında yapılan bir deÄŸiÅŸiklik mevcut + ThreadStackSize ayarını geçersiz hale + getirebilir.
  • + +
  • Linux üzerinde, ilgili sistem çaÄŸrısı en küçük yığıt boyutu + olarak bu deÄŸeri kullanacağından, bu yönerge sadece öntanımlı yığıt + boyutunu arttırmak için kullanılabilir. ulimit -s için + (çoÄŸunlukla büyükçe) soft sınır (sınırsızsa 8MB), öntanımlı yığıt + boyutu olarak kullanılır.
  • +
+ +
Çocuk süreç başına yüksek bir evre sayısı gerekmedikçe + ThreadStackSize değerinin azaltılmaması önerilir. + Bazı platformlarda (Linux dahil), 128000 ayarı zaten çok düşüktür ve daha + da azaltmak bazı modüllerle çökmeye sebep olur.
+ +
+
+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_netware.html b/docs/manual/mod/mpm_netware.html new file mode 100644 index 0000000..9e7d783 --- /dev/null +++ b/docs/manual/mod/mpm_netware.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm_netware.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm_netware.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpm_netware.html.en b/docs/manual/mod/mpm_netware.html.en new file mode 100644 index 0000000..0c9db35 --- /dev/null +++ b/docs/manual/mod/mpm_netware.html.en @@ -0,0 +1,138 @@ + + + + + +mpm_netware - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM netware

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare
Status:MPM
Module Identifier:mpm_netware_module
Source File:mpm_netware.c
+

Summary

+ +

This Multi-Processing Module (MPM) implements an exclusively + threaded web server that has been optimized for Novell + NetWare.

+ +

The main thread is responsible for launching child + worker threads which listen for connections and serve them when they + arrive. Apache HTTP Server always tries to maintain several spare + or idle worker threads, which stand ready to serve incoming + requests. In this way, clients do not need to wait for a new + child threads to be spawned before their requests can be + served.

+ +

The StartThreads, + MinSpareThreads, + MaxSpareThreads, and + MaxThreads + regulate how the main thread creates worker threads to serve + requests. In general, Apache httpd is very self-regulating, so most + sites do not need to adjust these directives from their default + values. Sites with limited memory may need to decrease MaxThreads to keep the server from + thrashing (spawning and terminating idle threads). More information + about tuning process creation is provided in the performance hints + documentation.

+ +

MaxConnectionsPerChild + controls how frequently the server recycles processes by killing old + ones and launching new ones. On the NetWare OS it is highly + recommended that this directive remain set to 0. This allows worker + threads to continue servicing requests indefinitely.

+
+ + +
top
+

MaxThreads Directive

+ + + + + + + +
Description:Set the maximum number of worker threads
Syntax:MaxThreads number
Default:MaxThreads 2048
Context:server config
Status:MPM
Module:mpm_netware
+

The MaxThreads directive sets the desired + maximum number worker threads allowable. The default value is + also the compiled in hard limit. Therefore it can only be lowered, + for example:

+ +

+ MaxThreads 512 +

+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_netware.html.fr.utf8 b/docs/manual/mod/mpm_netware.html.fr.utf8 new file mode 100644 index 0000000..07de465 --- /dev/null +++ b/docs/manual/mod/mpm_netware.html.fr.utf8 @@ -0,0 +1,140 @@ + + + + + +mpm_netware - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM netware

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Module multi-processus implémentant un serveur web basé +exclusivement sur les threads et optimisé pour Novell +NetWare
Statut:MPM
Identificateur de Module:mpm_netware_module
Fichier Source:mpm_netware.c
+

Sommaire

+ +

Ce module multi-processus (MPM) implémente un serveur web basé + exclusivement sur les threads et optimisé pour Novell NetWare.

+ +

Le thread maître est chargé du lancement de threads esclaves qui + attendent les connexions et les traitent au fur et à mesure de leur + arrivée. Le serveur HTTP Apache essaie toujours de maintenir + plusieurs threads + esclaves en spare (en réserve) ou inactifs. De cette + façon, les clients n'ont pas besoin d'attendre le lancement d'un + nouveau thread enfant pour que leurs requêtes soient traitées.

+ +

Les directives StartThreads, MinSpareThreads, MaxSpareThreads, et MaxThreads contrôlent + la manière dont le thread maître crée les threads esclaves afin de + traiter les requêtes. En général, Apache httpd s'auto-régule correctement, + et la plupart des sites ne nécessitent aucune modification des + valeurs par défaut de ces directives. Pour les sites dont le serveur + est limité en mémoire, il peut s'avérer nécessaire de diminuer la + valeur de la directive MaxThreads afin d'éviter une + hyper-activité du serveur (arrêts de threads inactifs et lancement incessant + de nouveau threads). Vous trouverez plus d'informations à + propos du contrôle de la création de processus dans le document conseils en matière de + performances.

+ +

La directive MaxRequestsPerChild + contrôle la fréquence à laquelle le serveur recycle ses processus + en arrêtant les anciens et en en lançant de nouveaux. Sous le + système d'exploitation NetWare, il est vivement recommandé de + laisser cette directive à 0, ce qui permet aux threads esclaves de + continuer à traiter les requêtes indéfiniment.

+
+ + +
top
+

Directive MaxThreads

+ + + + + + + +
Description:Définit le nombre maximum de threads esclaves
Syntaxe:MaxThreads nombre
Défaut:MaxThreads 2048
Contexte:configuration globale
Statut:MPM
Module:mpm_netware
+

La directive MaxThreads définit + le nombre maximum de threads esclaves que l'on désire autoriser. La + valeur par défaut correspondant à la valeur codée en dur à la + compilation, la valeur de cette directive ne peut donc qu'être + diminuée, comme dans l'exemple suivant :

+ +

+ MaxThreads 512 +

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html b/docs/manual/mod/mpm_winnt.html new file mode 100644 index 0000000..7d6416a --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm_winnt.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mpm_winnt.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm_winnt.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mpm_winnt.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpm_winnt.html.de b/docs/manual/mod/mpm_winnt.html.de new file mode 100644 index 0000000..2c6d2f4 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.de @@ -0,0 +1,99 @@ + + + + + +mpm_winnt - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache-MPM winnt

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ + + +
Beschreibung: Das Multi-Processing-Modul ist optimiert für + Windows NT.
Status:MPM
Modulbezeichner:mpm_winnt_module
Quelltext-Datei:mpm_winnt.c
+

Zusammenfassung

+ +

Dieses Multi-Processing-Modul (MPM) ist die Voreinstellung + für das Betriebssystem Windows NT. Es verwendet einen einzelnen + Steuerprozess, der einen einzelnen Kindprozess startet, welcher + wiederum Threads zur Bedienung von Anfragen erstellt.

+
+ + +
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html.en b/docs/manual/mod/mpm_winnt.html.en new file mode 100644 index 0000000..da77073 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.en @@ -0,0 +1,157 @@ + + + + + +mpm_winnt - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM winnt

+
+

Available Languages:  de  | + en  | + fr  | + ja 

+
+ + + +
Description:Multi-Processing Module optimized for Windows NT.
Status:MPM
Module Identifier:mpm_winnt_module
Source File:mpm_winnt.c
+

Summary

+ +

This Multi-Processing Module (MPM) is the default for the + Windows NT operating systems. It uses a single control process + which launches a single child process which in turn creates + threads to handle requests

+ +

Capacity is configured using the + ThreadsPerChild directive, + which sets the maximum number of concurrent client connections.

+ +

By default, this MPM uses advanced Windows APIs for accepting + new client connections. In some configurations, third-party products + may interfere with this implementation, with the following messages + written to the web server log:

+ +

+ Child: Encountered too many AcceptEx faults accepting client connections.
+ winnt_mpm: falling back to 'AcceptFilter none'. +

+ +

The MPM falls back to a safer implementation, but some client requests + were not processed correctly. In order to avoid this error, use + AcceptFilter with accept filter + none.

+ +
AcceptFilter http none
+AcceptFilter https none
+ + +

In Apache httpd 2.0 and 2.2, + Win32DisableAcceptEx was used for this purpose.

+ +

The WinNT MPM differs from the Unix MPMs such as worker and event + in several areas:

+ +
    +
  • When a child process is exiting due to shutdown, restart, or + MaxConnectionsPerChild, + active requests in the exiting process have + TimeOut seconds to finish before + processing is aborted. Alternate types of restart and shutdown are not + implemented.
  • + +
  • New child processes read the configuration files instead of + inheriting the configuration from the parent. The behavior will + be the same as on Unix if the child process is created at startup + or restart, but if a child process is created because the prior + one crashed or reached + MaxConnectionsPerChild, + any pending changes to the configuration will become active in the + child at that point, and the parent and child will be using a + different configuration. If planned configuration changes have been + partially implemented and the current configuration cannot be + parsed, the replacement child process cannot start up and the server + will halt. Because of this behavior, configuration files should not + be changed until the time of a server restart.
  • + +
  • The monitor and fatal_exception hooks + are not currently implemented.
  • + +
  • AcceptFilter is implemented in the MPM + and has a different type of control over handling of new connections. + (Refer to the AcceptFilter + documentation for details.)
  • +
+ +
+ + +
+
+

Available Languages:  de  | + en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html.fr.utf8 b/docs/manual/mod/mpm_winnt.html.fr.utf8 new file mode 100644 index 0000000..3858062 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.fr.utf8 @@ -0,0 +1,163 @@ + + + + + +mpm_winnt - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM winnt

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja 

+
+ + + +
Description:Module multi-processus optimisé pour Windows +NT.
Statut:MPM
Identificateur de Module:mpm_winnt_module
Fichier Source:mpm_winnt.c
+

Sommaire

+ +

Ce module multi-processus (MPM) est le module par défaut pour les + systèmes d'exploitation de style Windows NT. Il consiste en un + processus de contrôle unique qui lance un processus enfant unique, + ce dernier créant à son tour des threads pour traiter les + requêtes.

+ +

La directive ThreadsPerChild définit le + nombre maximal de connexions clientes simultanées.

+ +

Ce MPM utilise par défaut les APIs Windows avancées pour accepter + les nouvelles connexions des clients. Avec certaines configurations, + des produits tiers peuvent interférer avec cette implémentation, et + provoquer l'enregistrement des messages suivants dans les journaux + du serveur :

+ +

+ Child: Encountered too many AcceptEx faults accepting client connections.
+ winnt_mpm: falling back to 'AcceptFilter none'. +

+ +

Le MPM se rabat sur une implémentation plus sûre, mais certaines + requêtes n'ont pas été traitées correctement. Pour éviter cette + erreur, définissez la directive AcceptFilter à none.

+ +
AcceptFilter http none
+AcceptFilter https none
+ + +

Avec les versions 2.0 et 2.2 d'Apache httpd, c'est la directive + Win32DisableAcceptEx qui était utilisée à cet + effet.

+ +

Le MPM WinNT diffère des autres MPMs Unix comme worker et event + à bien des égards :

+ +
    +
  • Lorsqu'un processus enfant s'arrête suite à un arrêt ou + redémarrage du serveur, ou lorsque que la limite MaxConnectionsPerChild est + atteinte, les requêtes en cours de traitement par ce processus en + cours d'arrêt n'ont que TimeOut secondes pour s'exécuter avant + l'arrêt du processus. Les autres types de redémarrage ou arrêt ne + sont pas implémentés.
  • + +
  • Les nouveau processus enfants relisent les fichiers de + configuration au lieu d'en hériter du parent. Ce comportement ne + pose pas de problème si le processus enfant est créé au démarrage + ou redémarrage, mais dans le cas où un processus enfant est créé + parce qu'un autre processus enfant s'est arrêté ou a atteint la + limite MaxConnectionsPerChild, tout + changement survenu entre temps dans la configuration sera alors + pris en compte dans le processus enfant, et parent et enfant + utiliseront une configuration différente. Si des modifications + planifiées de la configuration ont été partiellement effectuées, + et si la configuration courante n'est pas interprétable, le + processus enfant de remplacement ne pourra pas démarrer, et le + serveur s'arrêtera. En conséquence, toute modification des + fichiers de configuration doit être accompagnée d'un redémarrage + du serveur.
  • + +
  • Les hooks monitor et fatal_exception + ne sont pas encore implémentés.
  • + +
  • La directive AcceptFilter est + implémentée par le MPM et fournit un type de contrôle différent + sur le traitement des nouvelles connexions (Voir la documentation + de la directive AcceptFilter + pour plus de détails).
  • +
+ +
+ + +
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html.ja.utf8 b/docs/manual/mod/mpm_winnt.html.ja.utf8 new file mode 100644 index 0000000..daf2408 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.ja.utf8 @@ -0,0 +1,101 @@ + + + + + +mpm_winnt - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM winnt

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:Windows NT +å‘ã‘ã«æœ€é©åŒ–ã•ã‚ŒãŸãƒžãƒ«ãƒãƒ—ロセッシングモジュール
ステータス:MPM
モジュール識別å­:mpm_winnt_module
ソースファイル:mpm_winnt.c
+

概è¦

+ +

ã“ã®ãƒžãƒ«ãƒãƒ—ロセッシングモジュール (MPM) + 㯠Windows NT ã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ãªã‚Šã¾ã™ã€‚ + 一ã¤ã®åˆ¶å¾¡ç”¨ãƒ—ロセスを用ã„ã€ã“ã‚ŒãŒä¸€ã¤ã®å­ãƒ—ロセスを起動ã—〠+ ãã—ã¦å­ãƒ—ロセスãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å–り扱ã†ãŸã‚ã«ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’ + èµ·å‹•ã—ã¾ã™ã€‚

+
+ + +
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpmt_os2.html b/docs/manual/mod/mpmt_os2.html new file mode 100644 index 0000000..4eb8d0f --- /dev/null +++ b/docs/manual/mod/mpmt_os2.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpmt_os2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpmt_os2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpmt_os2.html.en b/docs/manual/mod/mpmt_os2.html.en new file mode 100644 index 0000000..a872d2b --- /dev/null +++ b/docs/manual/mod/mpmt_os2.html.en @@ -0,0 +1,101 @@ + + + + + +mpmt_os2 - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM os2

+
+

Available Languages:  en  | + fr 

+
+ + + +
Description:Hybrid multi-process, multi-threaded MPM for OS/2
Status:MPM
Module Identifier:mpm_mpmt_os2_module
Source File:mpmt_os2.c
+

Summary

+ +

The Server consists of a main, parent process and a small, static + number of child processes.

+ +

The parent process's job is to manage the child processes. This + involves spawning children as required to ensure there are always + StartServers processes + accepting connections.

+ +

Each child process consists of a pool of worker threads and a + main thread that accepts connections and passes them to the workers via + a work queue. The worker thread pool is dynamic, managed by a + maintenance thread so that the number of idle threads is kept between + MinSpareThreads and + MaxSpareThreads.

+
+ + +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mpmt_os2.html.fr.utf8 b/docs/manual/mod/mpmt_os2.html.fr.utf8 new file mode 100644 index 0000000..53a973e --- /dev/null +++ b/docs/manual/mod/mpmt_os2.html.fr.utf8 @@ -0,0 +1,102 @@ + + + + + +mpmt_os2 - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM os2

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:MPM hybride multi-processus, multi-thread pour +OS/2
Statut:MPM
Identificateur de Module:mpm_mpmt_os2_module
Fichier Source:mpmt_os2.c
+

Sommaire

+ +

Le serveur se compose d'un processus principal parent, et d'un + petit nombre fixe de processus enfants.

+ +

La tâche du processus parent consiste à gérer les processus + enfants, c'est à dire lancer ces processus de manière à ce + qu'il y en ait toujours un nombre égal à la valeur de la directive + StartServers pour traiter + les connexions.

+ +

Chaque processus enfant comporte un jeu de threads esclaves et un + thread maître qui accepte les connexions et les distribue aux + esclaves via une file de travail. Le jeu de threads esclaves est + dynamique et géré par un thread de maintenance de façon à ce que le + nombre de threads inactifs soit maintenu entre MinSpareThreads et MaxSpareThreads.

+
+ + +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/overrides.html b/docs/manual/mod/overrides.html new file mode 100644 index 0000000..b825b77 --- /dev/null +++ b/docs/manual/mod/overrides.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: overrides.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: overrides.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/overrides.html.en b/docs/manual/mod/overrides.html.en new file mode 100644 index 0000000..2f626b5 --- /dev/null +++ b/docs/manual/mod/overrides.html.en @@ -0,0 +1,753 @@ + + + + + +Override Class Index for .htaccess - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ + +

Override Class Index for .htaccess

+
+

Available Languages:  en  | + fr 

+
+ +

+ This is an index of the directives that are allowed in .htaccess files for + various AllowOverride settings, + organized by class. Its intended purpose is to help server administrators + verify the privileges they're granting to .htaccess users. For an overview + of how .htaccess works, see the + .htaccess tutorial. +

+ +

+ To determine the set of directives that your server configuration allows + .htaccess users to use: +

+ +
    +
  1. Start with the set of directives in the AllowOverrideList + for the directory in question. (By default, this is set to + None.)
  2. +
  3. Find the AllowOverride setting for the directory in + question. (By default, it is set to None.) There are two + special cases: +
      +
    1. If your AllowOverride setting is All, + add every directive listed on this page to the list.
    2. +
    3. If your AllowOverride setting is None, + you're done. Only the directives in the AllowOverrideList + (if any) will be allowed.
    4. +
    +
  4. +
  5. For each override class listed in AllowOverride, look up + the corresponding set of directives below and add them to the list.
  6. +
  7. Finally, add the set of directives that is always allowed in + .htaccess (these are listed in the + All section, below).
  8. +
+ +

+ Several of the override classes are quite powerful and give .htaccess + users a large amount of control over the server. For a stricter approach, + set AllowOverride None and use + AllowOverrideList to specify the + exact list of directives that .htaccess users are allowed to use. +

+
+

Topics

+

See also

+
+
top

All

+

+ The following directives are allowed in any .htaccess file, as long as + overrides are enabled in the server configuration. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
<Else>core
Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
<ElseIf>core
Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
<Files>core
Contains directives that apply to matched +filenames
<FilesMatch>core
Contains directives that apply to regular-expression matched +filenames
<If>core
Contains directives that apply only if a condition is +satisfied by a request at runtime
<IfDefine>core
Encloses directives that will be processed only +if a test is true at startup
<IfDirective>core
Encloses directives that are processed conditional on the +presence or absence of a specific directive
<IfFile>core
Encloses directives that will be processed only +if file exists at startup
<IfModule>core
Encloses directives that are processed conditional on the +presence or absence of a specific module
<IfSection>core
Encloses directives that are processed conditional on the +presence or absence of a specific section directive
<IfVersion>mod_version
contains version dependent configuration
LimitRequestBodycore
Restricts the total size of the HTTP request body sent +from the client
LimitXMLRequestBodycore
Limits the size of an XML-based request body
LogIOTrackTTFBmod_logio
Enable tracking of time to first byte (TTFB)
LuaCodeCachemod_lua
Configure the compiled code cache.
LuaHookAccessCheckermod_lua
Provide a hook for the access_checker phase of request processing
LuaHookAuthCheckermod_lua
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserIDmod_lua
Provide a hook for the check_user_id phase of request processing
LuaHookFixupsmod_lua
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFiltermod_lua
Provide a hook for the insert_filter phase of request processing
LuaHookLogmod_lua
Provide a hook for the access log phase of a request +processing
LuaHookMapToStoragemod_lua
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslatemod_lua
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateNamemod_lua
Provide a hook for the translate name phase of request processing
LuaHookTypeCheckermod_lua
Provide a hook for the type_checker phase of request processing
LuaInheritmod_lua
Controls how parent configuration sections are merged into children
LuaMapHandlermod_lua
Map a path to a lua handler
LuaPackageCPathmod_lua
Add a directory to lua's package.cpath
LuaPackagePathmod_lua
Add a directory to lua's package.path
LuaQuickHandlermod_lua
Provide a hook for the quick handler of request processing
LuaRootmod_lua
Specify the base path for resolving relative paths for mod_lua directives
LuaScopemod_lua
One of once, request, conn, thread -- default is once
RLimitCPUcore
Limits the CPU consumption of processes launched +by Apache httpd children
RLimitMEMcore
Limits the memory consumption of processes launched +by Apache httpd children
RLimitNPROCcore
Limits the number of processes that can be launched by +processes launched by Apache httpd children
ServerSignaturecore
Configures the footer on server-generated documents
SSIErrorMsgmod_include
Error message displayed when there is an SSI +error
SSITimeFormatmod_include
Configures the format in which date strings are +displayed
SSIUndefinedEchomod_include
String displayed when an unset variable is echoed
top

AuthConfig

+

+ The following directives are allowed in .htaccess files when + AllowOverride AuthConfig is in effect. They give .htaccess + users control over the authentication and authorization methods that are + applied to their directory subtrees, including several related utility + directives for session handling and TLS settings. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Anonymousmod_authn_anon
Specifies userIDs that are allowed access without +password verification
Anonymous_LogEmailmod_authn_anon
Sets whether the password entered will be logged in the +error log
Anonymous_MustGiveEmailmod_authn_anon
Specifies whether blank passwords are allowed
Anonymous_NoUserIDmod_authn_anon
Sets whether the userID field may be empty
Anonymous_VerifyEmailmod_authn_anon
Sets whether to check the password field for a correctly +formatted email address
AuthBasicAuthoritativemod_auth_basic
Sets whether authorization and authentication are passed to +lower level modules
AuthBasicFakemod_auth_basic
Fake basic authentication using the given expressions for +username and password
AuthBasicProvidermod_auth_basic
Sets the authentication provider(s) for this location
AuthBasicUseDigestAlgorithmmod_auth_basic
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBMGroupFilemod_authz_dbm
Sets the name of the database file containing the list +of user groups for authorization
AuthDBMTypemod_authn_dbm
Sets the type of database file that is used to +store passwords
AuthDBMUserFilemod_authn_dbm
Sets the name of a database file containing the list of users and +passwords for authentication
AuthDigestAlgorithmmod_auth_digest
Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
AuthDigestDomainmod_auth_digest
URIs that are in the same protection space for digest +authentication
AuthDigestNonceLifetimemod_auth_digest
How long the server nonce is valid
AuthDigestProvidermod_auth_digest
Sets the authentication provider(s) for this location
AuthDigestQopmod_auth_digest
Determines the quality-of-protection to use in digest +authentication
AuthFormAuthoritativemod_auth_form
Sets whether authorization and authentication are passed to +lower level modules
AuthFormProvidermod_auth_form
Sets the authentication provider(s) for this location
AuthGroupFilemod_authz_groupfile
Sets the name of a text file containing the list +of user groups for authorization
AuthLDAPAuthorizePrefixmod_authnz_ldap
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritativemod_authnz_ldap
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDNmod_authnz_ldap
Optional DN to use in binding to the LDAP server
AuthLDAPBindPasswordmod_authnz_ldap
Password used in conjunction with the bind DN
AuthLDAPCompareAsUsermod_authnz_ldap
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServermod_authnz_ldap
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliasesmod_authnz_ldap
When will the module de-reference aliases
AuthLDAPGroupAttributemod_authnz_ldap
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDNmod_authnz_ldap
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUsermod_authnz_ldap
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPatternmod_authnz_ldap
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepthmod_authnz_ldap
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttributemod_authnz_ldap
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDNmod_authnz_ldap
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUsermod_authnz_ldap
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttributemod_authnz_ldap
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClassmod_authnz_ldap
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURLmod_authnz_ldap
URL specifying the LDAP search parameters
AuthMergingmod_authz_core
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthNamemod_authn_core
Authorization realm for use in HTTP +authentication
AuthnCacheProvideFormod_authn_socache
Specify which authn provider(s) to cache for
AuthnCacheTimeoutmod_authn_socache
Set a timeout for cache entries
AuthTypemod_authn_core
Type of user authentication
AuthUserFilemod_authn_file
Sets the name of a text file containing the list of users and +passwords for authentication
AuthzDBMTypemod_authz_dbm
Sets the type of database file that is used to +store list of user groups
CGIPassAuthcore
Enables passing HTTP authorization headers to scripts as CGI +variables
LDAPReferralHopLimitmod_ldap
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferralsmod_ldap
Enable referral chasing during queries to the LDAP server.
<Limit>core
Restrict enclosed access controls to only certain HTTP +methods
<LimitExcept>core
Restrict access controls to all HTTP methods +except the named ones
Requiremod_authz_core
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll>mod_authz_core
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny>mod_authz_core
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone>mod_authz_core
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
Satisfymod_access_compat
Interaction between host-level access control and +user authentication
Sessionmod_session
Enables a session for the current directory or location
SessionEnvmod_session
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionHeadermod_session
Import session updates from a given HTTP response header
SessionIncludemod_session
Define URL prefixes for which a session is valid
SessionMaxAgemod_session
Define a maximum age in seconds for a session
SSLCipherSuitemod_ssl
Cipher Suite available for negotiation in SSL +handshake
SSLRenegBufferSizemod_ssl
Set the size for the SSL renegotiation buffer
SSLRequiremod_ssl
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLmod_ssl
Deny access when SSL is not used for the +HTTP request
SSLUserNamemod_ssl
Variable name to determine user name
SSLVerifyClientmod_ssl
Type of Client Certificate verification
SSLVerifyDepthmod_ssl
Maximum depth of CA Certificates in Client +Certificate verification
top

FileInfo

+

+ The following directives are allowed in .htaccess files when + AllowOverride FileInfo is in effect. They give .htaccess + users a wide range of control over the responses and metadata given by the + server. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptPathInfocore
Resources accept trailing pathname information
Actionmod_actions
Activates a CGI script for a particular handler or +content-type
AddCharsetmod_mime
Maps the given filename extensions to the specified content +charset
AddDefaultCharsetcore
Default charset parameter to be added when a response +content-type is text/plain or text/html
AddEncodingmod_mime
Maps the given filename extensions to the specified encoding +type
AddHandlermod_mime
Maps the filename extensions to the specified +handler
AddInputFiltermod_mime
Maps filename extensions to the filters that will process +client requests
AddLanguagemod_mime
Maps the given filename extension to the specified content +language
AddOutputFiltermod_mime
Maps filename extensions to the filters that will process +responses from the server
AddOutputFilterByTypemod_filter
assigns an output filter to a particular media-type
AddTypemod_mime
Maps the given filename extensions onto the specified content +type
BrowserMatchmod_setenvif
Sets environment variables conditional on HTTP User-Agent +
BrowserMatchNoCasemod_setenvif
Sets environment variables conditional on User-Agent without +respect to case
CGIMapExtensioncore
Technique for locating the interpreter for CGI +scripts
CGIVarcore
Controls how some CGI variables are set
CharsetDefaultmod_charset_lite
Charset to translate into
CharsetOptionsmod_charset_lite
Configures charset translation behavior
CharsetSourceEncmod_charset_lite
Source charset of files
CookieDomainmod_usertrack
The domain to which the tracking cookie applies
CookieExpiresmod_usertrack
Expiry time for the tracking cookie
CookieHTTPOnlymod_usertrack
Adds the 'HTTPOnly' attribute to the cookie
CookieNamemod_usertrack
Name of the tracking cookie
CookieSameSitemod_usertrack
Adds the 'SameSite' attribute to the cookie
CookieSecuremod_usertrack
Adds the 'Secure' attribute to the cookie
CookieStylemod_usertrack
Format of the cookie header field
CookieTrackingmod_usertrack
Enables tracking cookie
DefaultLanguagemod_mime
Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
DefaultTypecore
This directive has no effect other than to emit warnings +if the value is not none. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +
EnableMMAPcore
Use memory-mapping to read files during delivery
EnableSendfilecore
Use the kernel sendfile support to deliver files to the client
ErrorDocumentcore
What the server will return to the client +in case of an error
FileETagcore
File attributes used to create the ETag +HTTP response header for static files
ForceLanguagePrioritymod_negotiation
Action to take if a single acceptable document is not +found
ForceTypecore
Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field
Headermod_headers
Configure HTTP response headers
ISAPIAppendLogToErrorsmod_isapi
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
ISAPIAppendLogToQuerymod_isapi
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
ISAPIFakeAsyncmod_isapi
Fake asynchronous support for ISAPI callbacks
ISAPILogNotSupportedmod_isapi
Log unsupported feature requests from ISAPI +extensions
ISAPIReadAheadBuffermod_isapi
Size of the Read Ahead Buffer sent to ISAPI +extensions
LanguagePrioritymod_negotiation
The precedence of language variants for cases where +the client does not express a preference
MultiviewsMatchmod_mime
The types of files that will be included when searching for +a matching file with MultiViews
PassEnvmod_env
Passes environment variables from the shell
QualifyRedirectURLcore
Controls whether the REDIRECT_URL environment variable is + fully qualified
Redirectmod_alias
Sends an external redirect asking the client to fetch +a different URL
RedirectMatchmod_alias
Sends an external redirect based on a regular expression match +of the current URL
RedirectPermanentmod_alias
Sends an external permanent redirect asking the client to fetch +a different URL
RedirectTempmod_alias
Sends an external temporary redirect asking the client to fetch +a different URL
RemoveCharsetmod_mime
Removes any character set associations for a set of file +extensions
RemoveEncodingmod_mime
Removes any content encoding associations for a set of file +extensions
RemoveHandlermod_mime
Removes any handler associations for a set of file +extensions
RemoveInputFiltermod_mime
Removes any input filter associations for a set of file +extensions
RemoveLanguagemod_mime
Removes any language associations for a set of file +extensions
RemoveOutputFiltermod_mime
Removes any output filter associations for a set of file +extensions
RemoveTypemod_mime
Removes any content type associations for a set of file +extensions
RequestHeadermod_headers
Configure HTTP request headers
RewriteBasemod_rewrite
Sets the base URL for per-directory rewrites
RewriteCondmod_rewrite
Defines a condition under which rewriting will take place +
RewriteEnginemod_rewrite
Enables or disables runtime rewriting engine
RewriteOptionsmod_rewrite
Sets some special options for the rewrite engine
RewriteRulemod_rewrite
Defines rules for the rewriting engine
ScriptInterpreterSourcecore
Technique for locating the interpreter for CGI +scripts
SetEnvmod_env
Sets environment variables
SetEnvIfmod_setenvif
Sets environment variables based on attributes of the request +
SetEnvIfExprmod_setenvif
Sets environment variables based on an ap_expr expression
SetEnvIfNoCasemod_setenvif
Sets environment variables based on attributes of the request +without respect to case
SetHandlercore
Forces all matching files to be processed by a +handler
SetInputFiltercore
Sets the filters that will process client requests and POST +input
SetOutputFiltercore
Sets the filters that will process responses from the +server
Substitutemod_substitute
Pattern to filter the response content
SubstituteInheritBeforemod_substitute
Change the merge order of inherited patterns
SubstituteMaxLineLengthmod_substitute
Set the maximum line size
UnsetEnvmod_env
Removes variables from the environment
top

Indexes

+

+ The following directives are allowed in .htaccess files when + AllowOverride Indexes is in effect. They allow .htaccess + users to control aspects of the directory index pages provided by the + server, including autoindex generation. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddAltmod_autoindex
Alternate text to display for a file, instead of an +icon selected by filename
AddAltByEncodingmod_autoindex
Alternate text to display for a file instead of an icon +selected by MIME-encoding
AddAltByTypemod_autoindex
Alternate text to display for a file, instead of an +icon selected by MIME content-type
AddDescriptionmod_autoindex
Description to display for a file
AddIconmod_autoindex
Icon to display for a file selected by name
AddIconByEncodingmod_autoindex
Icon to display next to files selected by MIME +content-encoding
AddIconByTypemod_autoindex
Icon to display next to files selected by MIME +content-type
DefaultIconmod_autoindex
Icon to display for files when no specific icon is +configured
DirectoryCheckHandlermod_dir
Toggle how this module responds when another handler is configured
DirectoryIndexmod_dir
List of resources to look for when the client requests +a directory
DirectoryIndexRedirectmod_dir
Configures an external redirect for directory indexes. +
DirectorySlashmod_dir
Toggle trailing slash redirects on or off
ExpiresActivemod_expires
Enables generation of Expires +headers
ExpiresByTypemod_expires
Value of the Expires header configured +by MIME type
ExpiresDefaultmod_expires
Default algorithm for calculating expiration time
FallbackResourcemod_dir
Define a default URL for requests that don't map to a file
HeaderNamemod_autoindex
Name of the file that will be inserted at the top +of the index listing
ImapBasemod_imagemap
Default base for imagemap files
ImapDefaultmod_imagemap
Default action when an imagemap is called with coordinates +that are not explicitly mapped
ImapMenumod_imagemap
Action if no coordinates are given when calling +an imagemap
IndexHeadInsertmod_autoindex
Inserts text in the HEAD section of an index page.
IndexIgnoremod_autoindex
Adds to the list of files to hide when listing +a directory
IndexIgnoreResetmod_autoindex
Empties the list of files to hide when listing +a directory
IndexOptionsmod_autoindex
Various configuration settings for directory +indexing
IndexOrderDefaultmod_autoindex
Sets the default ordering of the directory index
IndexStyleSheetmod_autoindex
Adds a CSS stylesheet to the directory index
MetaDirmod_cern_meta
Name of the directory to find CERN-style meta information +files
MetaFilesmod_cern_meta
Activates CERN meta-file processing
MetaSuffixmod_cern_meta
File name suffix for the file containing CERN-style +meta information
ReadmeNamemod_autoindex
Name of the file that will be inserted at the end +of the index listing
top

Limit

+

+ The following directives are allowed in .htaccess files when + AllowOverride Limit is in effect. This extremely narrow + override type mostly allows the use of the legacy authorization directives + provided by mod_access_compat. +

+ + + + + + + + + + +
Allowmod_access_compat
Controls which hosts can access an area of the +server
Denymod_access_compat
Controls which hosts are denied access to the +server
<Limit>core
Restrict enclosed access controls to only certain HTTP +methods
<LimitExcept>core
Restrict access controls to all HTTP methods +except the named ones
Ordermod_access_compat
Controls the default access state and the order in which +Allow and Deny are +evaluated.
top

Options

+

+ The following directives are allowed in .htaccess files when + AllowOverride Options is in effect. They give .htaccess + users access to Options and similar directives, as well as + directives that control the filter chain. +

+ + + + + + + + + + + + + + + + + + + + + + + + +
CheckBasenameMatchmod_speling
Also match files with differing file name extensions.
CheckCaseOnlymod_speling
Limits the action of the speling module to case corrections
CheckSpellingmod_speling
Enables the spelling +module
ContentDigestcore
Enables the generation of Content-MD5 HTTP Response +headers
FilterChainmod_filter
Configure the filter chain
FilterDeclaremod_filter
Declare a smart filter
FilterProtocolmod_filter
Deal with correct HTTP protocol handling
FilterProvidermod_filter
Register a content filter
Optionscore
Configures what features are available in a particular +directory
ReflectorHeadermod_reflector
Reflect an input header to the output headers
SSLOptionsmod_ssl
Configure various SSL engine run-time options
XBitHackmod_include
Parse SSI directives in files with the execute bit +set
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/overrides.html.fr.utf8 b/docs/manual/mod/overrides.html.fr.utf8 new file mode 100644 index 0000000..75f461a --- /dev/null +++ b/docs/manual/mod/overrides.html.fr.utf8 @@ -0,0 +1,848 @@ + + + + + +Index par classes des directives autorisées dans .htaccess - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ + +

Index par classes des directives autorisées dans .htaccess

+
+

Langues Disponibles:  en  | + fr 

+
+ +

+ Ceci est un index, organisé en classes, des directives autorisées dans les + fichiers .htaccess pour différentes définitions de la directive AllowOverride. Il a pour but d'aider les + administrateurs à contrôler les privilèges qu'ils accordent aux + utilisateurs via les fichiers .htaccess. Pour une présentation de la + manière dont fonctionnent les fichiers .htaccess, voir le tutoriel .htaccess. +

+ +

Pour déterminer le jeu de directives que la configuration de votre + serveur autorise aux utilisateurs dans les fichiers .htaccess :

+ +
    +
  1. Commencez par rechercher la présence d'une directive + AllowOverrideList dans la section directory concernée. Sa + définition vous indiquera la liste des directives autorisées (La valeur + par défaut de cette directive est None).
  2. +
  3. Recherchez ensuite la présence d'une directive + AllowOverride dans cette même section (sa valeur par défaut + est None). Il y a tout d'abord deux cas particuliers : +
      +
    1. Si la directive AllowOverride est définie à + All, vous pouvez ajouter toutes les directives indiquées + sur cette page à la liste préexistante.
    2. +
    3. Si la directive AllowOverride est définie à + None, inutile d'aller plus loin. Seules les directives indiquées + par la directive AllowOverrideList (si elle est présente) + seront autorisées.
    4. +
    +
  4. +
  5. En dehors de ces deux cas, la directive AllowOverride + définit une liste de classes de directives (vous trouverez plus loin le + jeu de directives correspondant à chacune de ces classes), et vous pourrez + alors les ajouter à la liste définie par la directive + AllowOverrideList.
  6. +
  7. Ajoutez enfin à la liste le jeu de directives toujours autorisées dans les + fichiers .htaccess (elles sont listées dans la section All ci-dessous).
  8. +
+ +

+ De nombreuses classes de directives sont assez puissantes et peuvent + permettre aux utilisateurs des fichiers .htaccess de contrôler une grande + partie du serveur. Pour une approche plus sure, définissez + AllowOverride None, et utilisez la directive AllowOverrideList pour spécifier la liste exacte + de directives que les utilisateurs de fichiers .htaccess pourront utiliser. +

+
+

Sujets

+

Voir aussi

+
+
top

All

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess, sous + réserve que la surcharge soit autorisée dans la configuration du serveur. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
<Else>core
Contient des directives qui ne s'appliquent que si la +condition correspondant à la section <If> ou <ElseIf> précédente n'est pas satisfaite par la +requête à l'exécution
<ElseIf>core
Contient des directives qui ne s'appliquent que si la +condition correspondante est satisfaite par une requête à l'exécution, +alors que la condition correspondant à la section <If> ou <ElseIf> précédente ne l'était pas.
<Files>core
Contient des directives qui s'appliquent aux fichiers +précisés
<FilesMatch>core
Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles
<If>core
Contient des directives qui ne s'appliquent que si une +condition est satisfaite au cours du traitement d'une +requête
<IfDefine>core
Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur
<IfDirective>core
Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une directive particulière
<IfFile>core
Regroupe des directives qui ne seront traitées que si un fichier +existe au démarrage
<IfModule>core
Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique
<IfSection>core
Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une section particulière
<IfVersion>mod_version
Contient des portions de configuration dépendantes de la +version
LimitRequestBodycore
limite la taille maximale du corps de la requête HTTP +envoyée par le client
LimitXMLRequestBodycore
Définit la taille maximale du corps d'une requête au format +XML
LogIOTrackTTFBmod_logio
Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)
LuaCodeCachemod_lua
Configure le cache de code compilé.
LuaHookAccessCheckermod_lua
Fournit un point d'entrée pour la phase access_checker du +traitement de la requête
LuaHookAuthCheckermod_lua
Fournit un point d'entrée pour la phase auth_checker du +traitement de la requête
LuaHookCheckUserIDmod_lua
Fournit un point d'entrée pour la phase check_user_id du +traitement de la requête
LuaHookFixupsmod_lua
Fournit un point d'entrée pour la phase de correction du +traitement de la requête
LuaHookInsertFiltermod_lua
Fournit un point d'entrée pour la phase insert_filter du +traitement de la requête
LuaHookLogmod_lua
Permet une insertion dans la phase de journalisation du +traitement d'une requête
LuaHookMapToStoragemod_lua
Fournit un point d'entrée pour la phase map_to_storage du +traitement de la requête
LuaHookPreTranslatemod_lua
Fournit un point d'entrée pour la phase de pré-traduction du +traitement d'une requête
LuaHookTranslateNamemod_lua
Fournit un point d'entrée à la phase du nom de +traduction du traitement de la requête
LuaHookTypeCheckermod_lua
Fournit un point d'entrée pour la phase type_checker du +traitement de la requête
LuaInheritmod_lua
Contrôle la manière dont les sections de configuration +parentes sont fusionnées dans les enfants
LuaMapHandlermod_lua
Met en correspondance un chemin avec un gestionnaire lua
LuaPackageCPathmod_lua
Ajoute un répertoire au package.cpath de lua
LuaPackagePathmod_lua
Ajoute un répertoire au package.path de lua
LuaQuickHandlermod_lua
Fournit un point d'entrée pour la gestion rapide du +traitement de la requête
LuaRootmod_lua
Spécifie le chemin de base pour la résolution des chemins +relatifs dans les directives de mod_lua
LuaScopemod_lua
Une valeur parmi once, request, conn, thread -- la valeur par défaut est once
RLimitCPUcore
Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache httpd
RLimitMEMcore
Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache httpd
RLimitNPROCcore
Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache httpd
ServerSignaturecore
Définit un pied de page pour les documents générés par le +serveur
SSIErrorMsgmod_include
Message d'erreur affiché lorsqu'une erreur SSI +survient
SSITimeFormatmod_include
Configuration du format d'affichage des dates
SSIUndefinedEchomod_include
Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie
top

AuthConfig

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride AuthConfig a été spécifié. Elles + permettent aux utilisateurs de fichiers .htaccess de contrôler les + méthodes d'authentification et d'autorisation qui s'appliquent à + l'arborescence de leur répertoire, y compris de nombreuses directives + utilitaires pour la gestion de session et la configuration TLS. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Anonymousmod_authn_anon
Définit la liste des identifiants utilisateur autorisés à +accéder sans vérification du mot de passe
Anonymous_LogEmailmod_authn_anon
Détermine si le mot de passe fourni sera enregistré dans le +journal des erreurs
Anonymous_MustGiveEmailmod_authn_anon
Détermine si l'abscence de mot de passe est +autorisée
Anonymous_NoUserIDmod_authn_anon
Détermine si le champ identifiant peut être +vide
Anonymous_VerifyEmailmod_authn_anon
Détermine s'il faut vérifier que le format de l'adresse +email fournie comme mot de passe est correct
AuthBasicAuthoritativemod_auth_basic
Définit si les processus d'autorisation et +d'authentification peuvent être confiés à des modules de plus bas +niveau
AuthBasicFakemod_auth_basic
Authentification de base simulée à l'aide des nom +d'utilisateur et mot de passe fournis
AuthBasicProvidermod_auth_basic
Définit le(les) fournisseur(s) d'authentification pour +cette zone du site web
AuthBasicUseDigestAlgorithmmod_auth_basic
Vérifie les mots de passe auprès des fournisseurs +d'authentification à la manière de l'authentification de type Digest. +
AuthDBMGroupFilemod_authz_dbm
Définit le nom du fichier de base de données contenant la +liste des groupes d'utilisateurs permettant de définir les +autorisations des utilisateurs
AuthDBMTypemod_authn_dbm
Définit le type de fichier de base de données utilisé pour +stocker les mots de passe
AuthDBMUserFilemod_authn_dbm
Définit le nom d'un fichier de base de données pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe
AuthDigestAlgorithmmod_auth_digest
Sélectionne l'algorithme utilisé pour calculer les +condensés du défit et de sa réponse
AuthDigestDomainmod_auth_digest
Les URIs qui se trouvent dans le même espace de protection +concernant l'authentification à base de condensés
AuthDigestNonceLifetimemod_auth_digest
Durée de validité du nombre à valeur unique du +serveur (nonce)
AuthDigestProvidermod_auth_digest
Définit le(s) fournisseurs(s) d'authentification pour la +zone du site web concernée
AuthDigestQopmod_auth_digest
Détermine le niveau de protection fourni par +l'authentification à base de condensé
AuthFormAuthoritativemod_auth_form
Détermine si l'autorisation et l'authentification sont confiés à +des modules de plus bas niveau
AuthFormProvidermod_auth_form
Définit le(s) fournisseur(s) d'authentification pour la +zone concernée
AuthGroupFilemod_authz_groupfile
Définit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de définir les autorisations des +utilisateurs
AuthLDAPAuthorizePrefixmod_authnz_ldap
Spécifie le préfixe ajouté aux variables d'environnement +durant la phase d'autorisation
AuthLDAPBindAuthoritativemod_authnz_ldap
Détermine si l'on doit utiliser d'autres fournisseurs +d'authentification lorsque le serveur ne peut pas valider les données +d'authentification de l'utilisateur, alors que ce dernier possède un +DN.
AuthLDAPBindDNmod_authnz_ldap
Un DN optionnel pour se connecter au serveur +LDAP
AuthLDAPBindPasswordmod_authnz_ldap
Mot de passe à utiliser en conjonction avec le DN de +connexion
AuthLDAPCompareAsUsermod_authnz_ldap
Utilisation des données d'authentification de l'utilisateur +pour effectuer les comparaisons pour l'attribution des autorisations
AuthLDAPCompareDNOnServermod_authnz_ldap
Utilise le serveur LDAP pour comparer les DNs
AuthLDAPDereferenceAliasesmod_authnz_ldap
À quel moment le module va déréférencer les +alias
AuthLDAPGroupAttributemod_authnz_ldap
L'attribut LDAP utilisé pour vérifier l'appartenance d'un +utilisateur à un groupe.
AuthLDAPGroupAttributeIsDNmod_authnz_ldap
Utilise le DN de l'utilisateur pour vérifier son +appartenance à un groupe
AuthLDAPInitialBindAsUsermod_authnz_ldap
Détermine si le serveur effectue la recherche initiale du +DN en utilisant le nom propre de l'utilisateur pour l'authentification +de base +et non de manière anonyme, ou en utilisant des données d'authentification +codées en dur pour le serveur
AuthLDAPInitialBindPatternmod_authnz_ldap
Spécifie la modification a apporter au nom d'utilisateur +pour l'authentification de base lors de l'authentification auprès du +serveur LDAP pour effectuer une recherche de DN
AuthLDAPMaxSubGroupDepthmod_authnz_ldap
Spécifie la profondeur d'imbrication des sous-groupes +maximale prise en compte avant l'abandon de la recherche de +l'utilisateur.
AuthLDAPRemoteUserAttributemod_authnz_ldap
Spécifie l'attribut dont la valeur renvoyée au cours de la +requête de l'utilisateur sera utilisée pour définir la variable +d'environnement REMOTE_USER
AuthLDAPRemoteUserIsDNmod_authnz_ldap
Utilise le DN de l'utilisateur pour définir la variable +d'environnement REMOTE_USER
AuthLDAPSearchAsUsermod_authnz_ldap
Utilise les données d'authentification de l'utilisateur +pour la recherche des autorisations
AuthLDAPSubGroupAttributemod_authnz_ldap
Spécifie les noms d'attribut, un par directive, utilisés +pour différencier les membres du groupe courant qui sont eux-mêmes des +groupes.
AuthLDAPSubGroupClassmod_authnz_ldap
Spécifie quelles valeurs d'objectClass LDAP identifient les +objets de l'annuaire qui sont des groupes au cours du traitement des +sous-groupes.
AuthLDAPURlmod_authnz_ldap
L'URL permettant de spécifier les paramètres de la +recherche LDAP
AuthMergingmod_authz_core
Définit la manière dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration précédentes.
AuthNamemod_authn_core
L'identifiant de l'autorisation à utiliser avec +l'authentification HTTP
AuthnCacheProvideFormod_authn_socache
Spécifie le fournisseur pour lequel on veut effectuer une +mise en cache
AuthnCacheTimeoutmod_authn_socache
Définit une durée de vie pour les entrées du cache
AuthTypemod_authn_core
Type d'authentification utilisateur
AuthUserFilemod_authn_file
Définit le nom d'un fichier texte pour l'authentification +contenant la liste des utilisateurs et de leurs mots de +passe
AuthzDBMTypemod_authz_dbm
Définit le type de fichier de base de données contenant +la liste des groupes d'utilisateurs
CGIPassAuthcore
Active la transmission d'en-têtes d'autorisation HTTP aux scripts en +tant que variables CGI
LDAPReferralHopLimitmod_ldap
Le nombre maximum de redirections vers des serveurs +alternatifs (referrals) avant l'abandon de la requête +LDAP.
LDAPReferralsmod_ldap
Active la redirection vers des serveurs alternatifs au +cours des requêtes vers le serveur LDAP.
<Limit>core
Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP
<LimitExcept>core
Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées
Requiremod_authz_core
Vérifie si un utilisateur authentifié a une +autorisation d'accès accordée par un fournisseur +d'autorisation.
<RequireAll>mod_authz_core
Regroupe plusieurs directives d'autorisation dont aucune ne +doit échouer et dont au moins une doit retourner un résultat positif +pour que la directive globale retourne elle-même un résultat +positif.
<RequireAny>mod_authz_core
Regroupe des directives d'autorisation dont au moins une +doit retourner un résultat positif pour que la directive globale +retourne elle-même un résultat positif.
<RequireNone>mod_authz_core
Regroupe des directives d'autorisation dont aucune ne doit +retourner un résultat positif pour que la directive globale n'échoue +pas.
Satisfymod_access_compat
Interaction entre le contrôle d'accès en fonction de l'hôte +et l'authentification utilisateur
Sessionmod_session
Ouvre une session pour le contexte courant
SessionEnvmod_session
Définit si le contenu de la session doit être enregistré +dans la variable d'environnement HTTP_SESSION
SessionHeadermod_session
Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié
SessionIncludemod_session
Définit les préfixes d'URL pour lesquels une session est +valide
SessionMaxAgemod_session
Définit une durée de vie maximale pour la session en +secondes
SSLCipherSuitemod_ssl
Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL
SSLRenegBufferSizemod_ssl
Définit la taille du tampon de renégociation +SSL
SSLRequiremod_ssl
N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie
SSLRequireSSLmod_ssl
Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL
SSLUserNamemod_ssl
Nom de la variable servant à déterminer le nom de +l'utilisateur
SSLVerifyClientmod_ssl
Niveau de vérification du certificat client
SSLVerifyDepthmod_ssl
Profondeur maximale des certificats de CA pour la +vérification des certificats clients
top

FileInfo

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride FileInfo a été spécifié. Elles + accordent aux utilisateurs de fichiers .htaccess un grand nombre de + contrôles sur les réponses et les métadonnées fournies par le serveur. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptPathInfocore
Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.
Actionmod_actions
Active un script CGI pour un gestionnaire ou un type de +contenu particulier
AddCharsetmod_mime
Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié
AddDefaultCharsetcore
Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est text/plain ou +text/html
AddEncodingmod_mime
Associe les extensions de noms de fichiers données au type +de codage spécifié
AddHandlermod_mime
Associe les extensions de noms de fichiers données au +gestionnaire spécifié
AddInputFiltermod_mime
Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients
AddLanguagemod_mime
Associe l'extension de nom de fichier donnée à la langue +spécifié
AddOutputFiltermod_mime
Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur
AddOutputFilterByTypemod_filter
assigne un filtre en sortie pour un type de média +particulier
AddTypemod_mime
Associe les extensions de noms de fichiers au type de +contenu spécifié
BrowserMatchmod_setenvif
Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent
BrowserMatchNoCasemod_setenvif
Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la +casse
CGIMapExtensioncore
Technique permettant de localiser l'interpréteur des +scripts CGI
CGIVarcore
Contrôle la manière dont certaines variables CGI sont définies
CharsetDefaultmod_charset_lite
Jeu de caractère vers lequel la traduction doit +s'effectuer
CharsetOptionsmod_charset_lite
Précise les détails de la traduction du jeu de +caractères
CharsetSourceEncmod_charset_lite
Jeu de caractères source des fichiers
CookieDomainmod_usertrack
Le domaine auquel le cookie traceur +s'applique
CookieExpiresmod_usertrack
Durée avant expiration du cookie traceur
CookieHTTPOnlymod_usertrack
Ajoute l'attribut 'HTTPOnly' au cookie
CookieNamemod_usertrack
Nom du cookie traceur
CookieSameSitemod_usertrack
Ajoute l'attribut 'SameSite' au cookie
CookieSecuremod_usertrack
Ajoute l'attribut 'Secure' au cookie
CookieStylemod_usertrack
Format du champ d'en-tête cookie
CookieTrackingmod_usertrack
Active le cookie traceur
DefaultLanguagemod_mime
Définit un symbole de langue par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langue n'a été +associé.
DefaultTypecore
Les seuls effets de cette directive sont des émissions +d'avertissements si sa valeur est différente de none. Dans +les versions précédentes, DefaultType permettait de spécifier un type de +média à assigner par défaut au contenu d'une réponse pour lequel aucun +autre type de média n'avait été trouvé. +
EnableMMAPcore
Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis
EnableSendfilecore
Utilise le support sendfile du noyau pour servir les +fichiers aux clients
ErrorDocumentcore
Document que le serveur renvoie au client en cas +d'erreur
FileETagcore
Caractéristiques de fichier utilisées lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques
ForceLanguagePrioritymod_negotiation
Action à entreprendre si un document acceptable unique +n'est pas trouvé
ForceTypecore
Force le type de médium spécifié dans le champ d'en-tête +HTTP Content-Type pour les fichiers correspondants
Headermod_headers
Configure les en-têtes d'une réponse HTTP
ISAPIAppendLogToErrorsmod_isapi
Enregistrement des requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans le journal des erreurs
ISAPIAppendLogToQuerymod_isapi
Enregistre les requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans la partie arguments de la requête
ISAPIFakeAsyncmod_isapi
Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI
ISAPILogNotSupportedmod_isapi
Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI
ISAPIReadAheadBuffermod_isapi
Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI
LanguagePrioritymod_negotiation
L'ordre de priorité des variantes de langages pour les +cas où le client n'a pas formulé de préférences
MultiviewsMatchmod_mime
Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)
PassEnvmod_env
Transmet des variables d'environnement depuis le +shell
QualifyRedirectURLcore
Vérifie si la variable d'environnement REDIRECT_URL est +pleinement qualifiée
Redirectmod_alias
Envoie une redirection externe demandant au client +d'effectuer une autre requête avec une URL différente
RedirectMatchmod_alias
Envoie une redirection externe faisant appel aux +expressions rationnelles pour la mise en correspondance de l'URL +courante
RedirectPermanentmod_alias
Envoie une redirection externe permanente demandant au +client d'effectuer une nouvelle requête avec une URL +différente
RedirectTempmod_alias
Envoie une redirection externe temporaire demandant au +client d'effectuer une nouvelle requête avec une URL +différente
RemoveCharsetmod_mime
Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers
RemoveEncodingmod_mime
Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers
RemoveHandlermod_mime
Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers
RemoveInputFiltermod_mime
Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers
RemoveLanguagemod_mime
Supprime toute association de langue à un ensemble +d'extensions de noms de fichiers
RemoveOutputFiltermod_mime
Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers
RemoveTypemod_mime
Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers
RequestHeadermod_headers
Configure les en-têtes d'une requête HTTP
RewriteBasemod_rewrite
Définit l'URL de base pour les réécritures au niveau +répertoire
RewriteCondmod_rewrite
Définit une condition qui devra être satisfaite pour que +la réécriture soit effectuée +
RewriteEnginemod_rewrite
Active ou désactive l'exécution du +moteur de réécriture
RewriteOptionsmod_rewrite
Configure certaines options spéciales +pour le moteur de réécriture
RewriteRulemod_rewrite
Définit les règles pour le moteur de réécriture
ScriptInterpreterSourcecore
Permet de localiser l'interpréteur des scripts +CGI
SetEnvmod_env
Définit des variables d'environnement
SetEnvIfmod_setenvif
Définit des variables d'environnement en fonction des +attributs de la requête
SetEnvIfExprmod_setenvif
Définit des variables d'environnement en fonction d'une expression ap_expr
SetEnvIfNoCasemod_setenvif
Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse
SetHandlercore
Force le traitement des fichiers spécifiés par un +gestionnaire particulier
SetInputFiltercore
Définit les filtres par lesquels vont passer les requêtes +client et les données POST
SetOutputFiltercore
Définit les filtres par lesquels vont passer les réponses +du serveur
Substitutemod_substitute
Modèle de substition dans le contenu de la +réponse
SubstituteInheritBeforemod_substitute
Modifie l'ordre de fusion des modèles hérités
SubstituteMaxLineLengthmod_substitute
Définit la longueur de ligne maximale
UnsetEnvmod_env
Supprime des variables de l'environnement
top

Indexes

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride Indexes a été spécifié. Elles + permettent aux utilisateurs de fichiers .htaccess de contrôler certains + aspects des pages d'index de répertoires fournies par le serveur, y + compris la génération d'autoindex. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddAltmod_autoindex
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son nom
AddAltByEncodingmod_autoindex
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son codage MIME
AddAltByTypemod_autoindex
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son type MIME
AddDescriptionmod_autoindex
Afficher la description d'un fichier
AddIconmod_autoindex
Icône à afficher pour un fichier en fonction de son +nom
AddIconByEncodingmod_autoindex
Icône à afficher à côté d'un fichier en fonction de son +codage MIME
AddIconByTypemod_autoindex
Icône à afficher à côté d'un fichier en fonction de son +type MIME
DefaultIconmod_autoindex
Icône à afficher par défaut lorsqu'aucun icône spécifique +n'est précisé
DirectoryCheckHandlermod_dir
Définit la réponse de ce module lorsqu'un autre +gestionnaire est utilisé
DirectoryIndexmod_dir
Liste des fichiers ressources à rechercher lorsque le +client envoie une requête pour un répertoire
DirectoryIndexRedirectmod_dir
Définit une redirection externe pour les index de +répertoires. +
DirectorySlashmod_dir
Activation/Désactivation de la redirection "slash de +fin"
ExpiresActivemod_expires
Active la génération d'en-têtes +Expires
ExpiresByTypemod_expires
Définition de la valeur de l'en-tête Expires +en fonction du type MIME
ExpiresDefaultmod_expires
Mode de calcul par défaut de la date +d'expiration
FallbackResourcemod_dir
Définit une URL par défaut pour les requêtes qui ne ciblent +aucun fichier
HeaderNamemod_autoindex
Nom du fichier qui sera inséré au début de la page +contenant l'index
ImapBasemod_imagemap
Valeur par défaut de la directive base des +fichiers imagemap
ImapDefaultmod_imagemap
Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible
ImapMenumod_imagemap
Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap
IndexHeadInsertmod_autoindex
Insère du texte dans la section HEAD de la page +d'index.
IndexIgnoremod_autoindex
Ajouts à la liste des fichiers à cacher lors de l'affichage +de l'index d'un répertoire
IndexIgnoreResetmod_autoindex
Vide la liste des fichiers à cacher lors de l'affichage du +contenu d'un répertoire
IndexOptionsmod_autoindex
Diverses options de configuration pour l'indexation d'un +répertoire
IndexOrderDefaultmod_autoindex
Définit l'ordre d'affichage par défaut d'un index de +répertoire
IndexStyleSheetmod_autoindex
Ajoute une feuille de style CSS à l'index du +répertoire
MetaDirmod_cern_meta
Le nom du répertoire où trouver les fichiers de +métainformations dans le style du CERN
MetaFilesmod_cern_meta
Active le traitement des métafichiers du CERN
MetaSuffixmod_cern_meta
Suffixe du fichier contenant les métainformations dans le +style du CERN
ReadmeNamemod_autoindex
Nom du fichier dont le contenu sera inséré à la fin de +l'index
top

Limit

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride Limit a été spécifié. Cette autorisation + de surcharge très restreinte permet principalement d'utiliser les + directives d'autorisation héritées fournies par + mod_access_compat. +

+ + + + + + + + + + +
Allowmod_access_compat
Spécifie quels hôtes peuvent accéder à une certaine zone du +serveur
Denymod_access_compat
Définit quels hôtes ne sont pas autorisés à accéder au +serveur
<Limit>core
Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP
<LimitExcept>core
Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées
Ordermod_access_compat
Définit le statut d'accès par défaut et l'ordre dans lequel +les directives Allow et +Deny sont évaluées.
top

Options

+

+ Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque AllowOverride Options a été spécifié. Elles permettent + aux utilisateurs de fichiers .htaccess d'utiliser la directive + Options et d'autres directives similaires, ainsi que les + directives qui contrôlent la chaîne de filtrage. +

+ + + + + + + + + + + + + + + + + + + + + + + + +
CheckBasenameMatchmod_speling
Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes
CheckCaseOnlymod_speling
Limite l'action du module aux corrections de +majuscules
CheckSpellingmod_speling
Active le module de correction
ContentDigestcore
Active la génération d'un en-tête Content-MD5 +dans la réponse HTTP
FilterChainmod_filter
Configure la chaîne de filtrage
FilterDeclaremod_filter
Déclare un filtre intelligent
FilterProtocolmod_filter
Vérifie le respect du protocole HTTP
FilterProvidermod_filter
Enregistre un filtre de contenu
Optionscore
Définit les fonctionnalités disponibles pour un répertoire +particulier
ReflectorHeadermod_reflector
Renvoie un en-tête d'entrée dans les en-têtes de sortie
SSLOptionsmod_ssl
Configure différentes options d'exécution du moteur SSL
XBitHackmod_include
Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/prefork.html b/docs/manual/mod/prefork.html new file mode 100644 index 0000000..f4d32e6 --- /dev/null +++ b/docs/manual/mod/prefork.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: prefork.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: prefork.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: prefork.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: prefork.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: prefork.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/prefork.html.de b/docs/manual/mod/prefork.html.de new file mode 100644 index 0000000..9374198 --- /dev/null +++ b/docs/manual/mod/prefork.html.de @@ -0,0 +1,222 @@ + + + + + +prefork - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache-MPM prefork

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ + + +
Beschreibung:Implementiert einen im Voraus forkenden Webserver ohne + Thread-Unterstützung
Status:MPM
Modulbezeichner:mpm_prefork_module
Quelltext-Datei:prefork.c
+

Zusammenfassung

+ +

Dieses Multi-Processing-Modul (MPM) implementiert einen + im Voraus forkenden Webserver ohne Thread-Unterstützung, der Anfragen + auf ähnliche Weise behandelt wie der Apache 1.3. Es ist für + Angebote geeignet, die aus Kompatibilitätsgründen mit + nicht-Thread-sicheren Bibliotheken Threading vermeiden müssen. + Es ist außerdem das geeignetste MPM, um jede Anfrage isoliert + zu bearbeiten, so dass Probleme mit einem einzelnen Prozess keinen + anderen beeinflussen.

+ +

Das MPM ist stark selbstregulierend, so dass es selten + notwendig ist, seine Konfigurationseinstellungen zu justieren. Das + Wichtigste ist, dass MaxClients + gross genug ist, so viele gleichzeitige Anfragen zu bedienen, wie Sie + erwarten, aber klein genug, um sicherzustellen, dass genug physischer + Arbeitsspeicher für alle Prozesse vorhanden ist.

+
+ +
top
+
+

Arbeitsweise

+

Ein einzelner Steuerprozess ist für den Start von + Kindprozessen verantwortlich, die auf Verbindungen warten und diese + bedienen, sobald sie eintreffen. Der Apache versucht immer, mehrere + freie oder unbeschäftigte Serverprozesse vorzuhalten, + die zur Bedienung eingehender Anfragen bereit stehen. Auf diese Weise + müssen Clients nicht darauf warten, dass neue Kindprozesse + geforkt werden, bevor ihre Anfrage bearbeitet werden kann.

+ +

StartServers, + MinSpareServers, + MaxSpareServers und + MaxClients regulieren, + wie der Elternprozess Kindprozesse zur Bedienung von Anfragen erstellt. + Im Allgemeinen ist der Apache sehr selbstregulierend, so dass die meisten + Angebote die Voreinstellung dieser Direktiven nicht verändern + müssen. Systeme, die mehr als 256 gleichzeitige Anfragen bedienen + müssen, können MaxClients erhöhen, während + Systeme mit begrenztem Arbeitsspeicher möglicherweise + MaxClients heruntersetzen + müssen, um den Server vor Flatterverhalten (Arbeitsspeicherinhalte auf + Platte auslagern - und zurück) zu schützen. Weitere + Informationen zur Feinabstimmung der Prozesserstellung sind in den + Performance-Hinweisen zu + finden.

+ +

Währen der Elternprozess unter Unix normalerweise als + root gestartet wird, um sich an Port 80 binden zu können, + werden die Kindprozesse unter einem weniger privilegierten Benutzer + gestartet. Die Direktiven User + und Group werden dazu + verwendet, die Privilegien der Apache-Kindprozesse festzulegen. Die + Kindprozesse müssen in der Lage sein, alle Inhalte zu lesen, die + sie ausliefern sollen, sollten darüber hinaus jedoch so wenig wie + möglich Rechte besitzen.

+ +

MaxRequestsPerChild + bestimmt, wie häufig der Server Prozesse erneuert, indem er alte + beendet und neue startet.

+
+
top
+

MaxSpareServers-Direktive

+ + + + + + + +
Beschreibung:Maximale Anzahl der unbeschäftigten Kindprozesse des + Servers
Syntax:MaxSpareServers Anzahl
Voreinstellung:MaxSpareServers 10
Kontext:Serverkonfiguration
Status:MPM
Modul:prefork
+

Die Direktive MaxSpareServers bestimmt das + gewünschte Maximum an unbeschäftigten + Kindprozessen des Servers. Ein unbeschäftiger Prozess ist einer, der + keine Anfrage bedient. Wenn mehr als MaxSpareServers + Prozesse unbeschäftigt sind, wird der Elternprozess die + überschüssigen Prozesse beenden.

+ +

Eine Feineinstellung dieses Parameters sollte nur bei sehr + beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine + schlechte Idee, den Parameter auf einen hohen Wert zu setzen. Wenn Sie + versuchen, den Wert kleiner oder gleich MinSpareServers zu setzen, wird der Apache + ihn automatisch auf MinSpareServers + 1 + korrigieren.

+ +

Siehe auch

+ +
+
top
+

MinSpareServers-Direktive

+ + + + + + + +
Beschreibung:Minimale Anzahl der unbeschäftigten Kindprozesse des + Servers
Syntax:MinSpareServers Anzahl
Voreinstellung:MinSpareServers 5
Kontext:Serverkonfiguration
Status:MPM
Modul:prefork
+

Die Direktive MinSpareServers bestimmt das + gewünschte Minimum der unbeschäftigten + Kindprozesse des Servers. Ein unbeschäftigter Prozess ist einer, der + keine Anfrage bedient. Wenn weniger als + MinSpareServers Prozesse unbeschäftigt sind, + dann erstellt der Elternprozess neue mit einer maximalen Rate von 1 + pro Sekunde.

+ +

Die Feineinstellung des Parameters sollte nur bei sehr + beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine + schlechte ide, den Parameter auf einen hohen Wert zu setzen.

+ +

Siehe auch

+ +
+
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/prefork.html.en b/docs/manual/mod/prefork.html.en new file mode 100644 index 0000000..73a3ad8 --- /dev/null +++ b/docs/manual/mod/prefork.html.en @@ -0,0 +1,218 @@ + + + + + +prefork - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM prefork

+
+

Available Languages:  de  | + en  | + fr  | + ja  | + tr 

+
+ + + +
Description:Implements a non-threaded, pre-forking web server
Status:MPM
Module Identifier:mpm_prefork_module
Source File:prefork.c
+

Summary

+ +

This Multi-Processing Module (MPM) implements a non-threaded, + pre-forking web server. Each server process may answer incoming + requests, and a parent process manages the size of the server pool. + It is appropriate for sites that need to avoid + threading for compatibility with non-thread-safe libraries. It + is also the best MPM for isolating each request, so that a problem + with a single request will not affect any other.

+ +

This MPM is very self-regulating, so it is rarely necessary to + adjust its configuration directives. Most important is that + MaxRequestWorkers be big enough + to handle as many simultaneous requests as you expect to receive, but + small enough to assure that there is enough physical RAM for all + processes.

+
+ +
top
+
+

How it Works

+

A single control process is responsible for launching child + processes which listen for connections and serve them when they + arrive. Apache httpd always tries to maintain several spare + or idle server processes, which stand ready to serve incoming + requests. In this way, clients do not need to wait for a new + child processes to be forked before their requests can be + served.

+ +

The StartServers, + MinSpareServers, + MaxSpareServers, and + MaxRequestWorkers regulate how + the parent process creates children to serve requests. In general, + Apache httpd is very self-regulating, so most sites do not need to + adjust these directives from their default values. Sites which + need to serve more than 256 simultaneous requests may need to + increase MaxRequestWorkers, + while sites with limited memory may need to decrease MaxRequestWorkers to keep the server from + thrashing (swapping memory to disk and back). More information + about tuning process creation is provided in the performance hints + documentation.

+ +

While the parent process is usually started as root + under Unix in order to bind to port 80, the child processes are + launched by Apache httpd as a less-privileged user. The User and Group directives are used to set + the privileges of the Apache httpd child processes. The child processes + must be able to read all the content that will be served, but + should have as few privileges beyond that as possible.

+ +

MaxConnectionsPerChild + controls how frequently the server recycles processes by killing + old ones and launching new ones.

+ +

This MPM uses the mpm-accept mutex to serialize + access to incoming connections when subject to the thundering herd + problem (generally, when there are multiple listening sockets). + The implementation aspects of this mutex can be configured with the + Mutex directive. The performance hints + documentation has additional information about this mutex.

+
+
top
+

MaxSpareServers Directive

+ + + + + + + +
Description:Maximum number of idle child server processes
Syntax:MaxSpareServers number
Default:MaxSpareServers 10
Context:server config
Status:MPM
Module:prefork
+

The MaxSpareServers directive sets the + desired maximum number of idle child server processes. An + idle process is one which is not handling a request. If there are + more than MaxSpareServers idle, then the + parent process will kill off the excess processes.

+ +

Tuning of this parameter should only be necessary on very + busy sites. Setting this parameter to a large number is almost + always a bad idea. If you are trying to set the value equal to or lower than + MinSpareServers, Apache HTTP Server + will automatically adjust it to MinSpareServers + 1.

+ +

See also

+ +
+
top
+

MinSpareServers Directive

+ + + + + + + +
Description:Minimum number of idle child server processes
Syntax:MinSpareServers number
Default:MinSpareServers 5
Context:server config
Status:MPM
Module:prefork
+

The MinSpareServers directive sets the + desired minimum number of idle child server processes. An + idle process is one which is not handling a request. If there are + fewer than MinSpareServers idle, then the parent + process creates new children: It will spawn one, wait a second, then spawn + two, wait a second, then spawn four, and it will + continue exponentially until it is spawning 32 children per second. It will + stop whenever it satisfies the MinSpareServers + setting.

+ +

Tuning of this parameter should only be necessary on very + busy sites. Setting this parameter to a large number is almost + always a bad idea.

+ +

See also

+ +
+
+
+

Available Languages:  de  | + en  | + fr  | + ja  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/prefork.html.fr.utf8 b/docs/manual/mod/prefork.html.fr.utf8 new file mode 100644 index 0000000..c5d867c --- /dev/null +++ b/docs/manual/mod/prefork.html.fr.utf8 @@ -0,0 +1,233 @@ + + + + + +prefork - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM prefork

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + tr 

+
+ + + +
Description:Implémente un serveur web avec démarrage anticipé de +processus, sans thread
Statut:MPM
Identificateur de Module:mpm_prefork_module
Fichier Source:prefork.c
+

Sommaire

+ +

Ce module multi-processus (MPM) implémente un serveur web avec + démarrage anticipé de processus. Chaque processus du serveur peut + répondre aux requêtes entrantes, et un processus parent contrôle la + taille du jeu de processus enfants. Il est particulièrement indiqué pour les + sites qui ne doivent pas utiliser les threads afin de maintenir une + compatibilité avec certaines bibliothèques non sûres du point de vue + des threads. C'est également le MPM le plus approprié si l'on veut + isoler les requêtes les unes des autres, de façon à ce qu'un + problème concernant une requête n'affecte pas les autres.

+ +

Ce MPM s'auto-contrôle de manière efficace, de sorte qu'il est + rarement nécessaire d'ajuster ses directives de configuration. Le + plus important est la définition de la directive MaxRequestWorkers ; sa valeur doit être + assez grande pour pouvoir traiter autant de requêtes simultanées que + vous pensez recevoir, mais assez petite pour conserver suffisamment + de mémoire RAM pour tous les processus.

+
+ +
top
+
+

Comment ça marche

+

Un processus de contrôle unique a pour tâche de lancer les + processus enfants qui attendent les connexions et les traitent au + fur et à mesure qu'elles arrivent. Apache httpd essaie toujours de + maintenir plusieurs processus serveurs inactifs ou en + réserve, afin de pouvoir traiter les requêtes entrantes. De + cette façon, les clients n'ont pas besoin d'attendre le démarrage + d'un nouveau processus enfant pour que leurs requêtes puissent être + traitées.

+ +

Les directives StartServers, MinSpareServers, MaxSpareServers et MaxRequestWorkers permettent de contrôler + la manière dont le processus parent crée les processus enfants pour + traiter les requêtes. En général, Apache httpd s'auto-contrôle de manière + efficace, de sorte que la plupart des sites peuvent conserver les + valeurs par défaut des directives. Les sites qui doivent traiter + plus de 256 requêtes simultanées doivent augmenter la valeur de + MaxRequestWorkers, alors que les + sites dont la ressource mémoire est limitée doivent la diminuer afin + d'éviter une hyperactivité du serveur (utilisation excessive de la + mémoire virtuelle sur disque). Vous trouverez plus d'informations à + propos du contrôle de la création de processus dans le document conseils en matière de + performances

+ +

Alors que le processus parent est en général démarré en tant que + root sous Unix afin de pouvoir se mettre à l'écoute sur le port 80, les + processus enfants sont lancés par Apache httpd sous un utilisateur avec + privilèges restreints. On peut contrôler les privilèges accordés aux + processus enfants d'Apache httpd à l'aide des directives User et Group. Les processus enfants doivent + être en mesure de lire tous les contenus destinés à être servis, + mais leurs privilèges doivent être aussi bas que possible.

+ +

La directive MaxConnectionsPerChild permet de + contrôler la fréquence à laquelle le serveur recycle ses processus + en arrêtant les plus anciens et en en lançant de nouveaux.

+ +

Ce module MPM utilise le mutex mpm-accept pour + sérialiser l'accès aux connexions entrantes lorsque peut se + présenter un problème d'afflux de requêtes (en général quand il y a + plusieurs sockets en écoute). Les aspects de l'implémentation de ce + mutex peuvent être configurés via la directive Mutex. Vous trouverez des informations + supplémentaires à propos de ce mutex dans la documentation à propos + des conseils en matière de + performances

+
+
top
+

Directive MaxSpareServers

+ + + + + + + +
Description:Nombre maximum de processus serveurs enfants +inactifs
Syntaxe:MaxSpareServers nombre
Défaut:MaxSpareServers 10
Contexte:configuration globale
Statut:MPM
Module:prefork
+

La directive MaxSpareServers permet de + définir le nombre maximum souhaité de processus serveurs enfants + inactifs. Un processus inactif est un processus qui ne + traite pas de requête. S'il y a plus de + MaxSpareServers processus inactifs, le + processus parent arrêtera les processus excédentaires.

+ +

La modification de ce paramètre n'est nécessaire que + dans le cas de sites très sollicités. Définir ce paramètre à une + valeur très grande est cependant dans la plupart des cas une + mauvaise idée. Si vous essayez d'affecter à ce paramètre une valeur + égale ou inférieure à la valeur de MinSpareServers, le serveur HTTP Apache + l'ajustera automatiquement à la valeur de + MinSpareServers + 1.

+ +

Voir aussi

+ +
+
top
+

Directive MinSpareServers

+ + + + + + + +
Description:Nombre minimum de processus serveurs enfants +inactifs
Syntaxe:MinSpareServers nombre
Défaut:MinSpareServers 5
Contexte:configuration globale
Statut:MPM
Module:prefork
+

La directive MinSpareServers permet de + définir le nombre minimum désiré de processus serveurs enfants + inactifs. Un processus inactif est un processus qui ne + traite pas de requête. S'il y a moins de + MinSpareServers processus inactifs, le + processus parent va créer de nouveaux enfants de la manière suivante + : il en crée un, attend une seconde, il en crée deux, attend une + seconde, il en crée quatre, puis continue ainsi exponentiellement + jusu'à ce que son taux de création de processus enfants soit de 32 + par seconde. Il ne s'arrête que lorsque le nombre de processus + enfants correspond à la définition de la directive + MinSpareServers.

+ +

La modification de ce paramètre n'est nécessaire que + dans le cas de sites très sollicités. Définir ce paramètre à une + valeur très grande est dans la plupart des cas une mauvaise + idée.

+ +

Voir aussi

+ +
+
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/prefork.html.ja.utf8 b/docs/manual/mod/prefork.html.ja.utf8 new file mode 100644 index 0000000..ec051e7 --- /dev/null +++ b/docs/manual/mod/prefork.html.ja.utf8 @@ -0,0 +1,220 @@ + + + + + +prefork - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM prefork

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:スレッドを使ã‚ãšã€å…ˆè¡Œã—㦠fork ã‚’è¡Œãªã†ã‚¦ã‚§ãƒ–サーãƒã‚’実装 +
ステータス:MPM
モジュール識別å­:mpm_prefork_module
ソースファイル:prefork.c
+

概è¦

+ +

ã“ã®ãƒžãƒ«ãƒãƒ—ロセッシングモジュール (MPM) ã¯ã€ + Unix 上ã§ã® Apache 1.3 ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æŒ™å‹•ã¨éžå¸¸ã«ã‚ˆãä¼¼ãŸæ–¹æ³•ã§ + リクエストを処ç†ã™ã‚‹ã€ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’使ã‚ãšã€å…ˆè¡Œã—㦠fork ã‚’è¡Œãªã† + ウェブサーãƒã‚’実装ã—ã¦ã„ã¾ã™ã€‚ + スレッドセーフã§ãªã„ライブラリã¨ã®äº’æ›æ€§ã‚’ã¨ã‚‹ãŸã‚ã«ã€ + スレッドをé¿ã‘ã‚‹å¿…è¦ã®ã‚るサイトã§ã¯ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ä½¿ç”¨ãŒé©åˆ‡ã§ã—ょã†ã€‚ + ã‚るリクエストã§ç™ºç”Ÿã—ãŸå•é¡ŒãŒä»–ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å½±éŸ¿ã—ãªã„よã†ã«ã€ + 個々ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å˜é›¢ã™ã‚‹ã®ã«ã‚‚ã€æœ€é©ãª MPM ã§ã™ã€‚

+ +

ã“ã® MPM ã¯éžå¸¸ã«è‡ªå¾‹çš„ãªã®ã§ã€ã“ã® MPM ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + 調整ã™ã‚‹å¿…è¦ã¯ã»ã¨ã‚“ã©ãªã„ã§ã—ょã†ã€‚ã‚‚ã£ã¨ã‚‚é‡è¦ãªã“ã¨ã¯ã€ + MaxClients + ãŒã€äºˆæƒ³ã•ã‚Œã‚‹åŒæ™‚リクエスト数をå分扱ãˆã‚‹ãらã„ã¯å¤§ãã„ã‘ã‚Œã©ã‚‚〠+ 全プロセスã«å分ãªç‰©ç†ãƒ¡ãƒ¢ãƒªãŒç¢ºå®Ÿã«è¡Œã渡る程度ã«ã¯å°ã•ã„値ã«ã™ã‚‹ã€ + ã¨ã„ã†ã“ã¨ã§ã™ã€‚

+ +
+ +
top
+
+

動作方法

+

一ã¤ã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ãƒ—ロセスãŒã€ + コãƒã‚¯ã‚·ãƒ§ãƒ³ã«å¯¾ã—㦠listen ã—ã¦ã€ã—ã‹ã‚‹ã¹ã時ã«å¿œç­”ã™ã‚‹ + å­ãƒ—ロセスを起動ã—ã¾ã™ã€‚Apache ã¯å¸¸ã«å¹¾ã¤ã‹ã®ã‚¹ãƒšã‚¢ + ã‹ã‚¢ã‚¤ãƒ‰ãƒ«ãªã‚µãƒ¼ãƒãƒ—ロセスを維æŒã—ã¦ã„ã¦ã€ãれらã¯å…¥ã£ã¦ã㟠+ リクエストã«å¿œç­”ã§ãるよã†ã«å¾…æ©Ÿã—ã¦ã„ã¾ã™ã€‚ + ã“ã®ã‚ˆã†ã«ã—ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒå¿œç­”ã•ã‚Œã‚‹å‰ã«ã€ + æ–°ã—ã„å­ãƒ—ロセス㌠fork ã•ã‚Œã‚‹ã®ã‚’å¾…ãŸãªãã¦ã‚‚よã„よã†ã« + ãªã£ã¦ã„ã¾ã™ã€‚

+ +

親プロセスãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œç­”ã™ã‚‹ã®å­ãƒ—ロセスを + ã©ã®ã‚ˆã†ã«ç”Ÿæˆã™ã‚‹ã‹ã¯ã€ + StartServers, + MinSpareServers, + MaxSpareServers, + MaxClients + ã§èª¿æ•´ã—ã¾ã™ã€‚一般的ã«ã€Apache ã¯éžå¸¸ã«è‡ªå¾‹çš„ãªã®ã§ã€ + 大抵ã®ã‚µã‚¤ãƒˆã§ã¯ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をデフォルト値ã‹ã‚‰èª¿æ•´ã™ã‚‹ + å¿…è¦ã¯ãªã„ã§ã—ょã†ã€‚ + åŒæ™‚ã« 256 を超ãˆã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œç­”ã—ãªã„ã¨ã„ã‘ãªã„サイトã§ã¯ã€ + MaxClients + を増やã™å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚ + 一方ã€ãƒ¡ãƒ¢ãƒªã®é™ã‚‰ã‚Œã¦ã„るサイトã§ã¯ã€ã‚¹ãƒ©ãƒƒã‚·ãƒ³ã‚° + (メモリã¨ãƒ‡ã‚£ã‚¹ã‚¯é–“ã§ä½•åº¦ã‚‚スワップ) ãŒèµ·ã“ã‚‹ã®ã‚’防ããŸã‚ã« + MaxClients + を減らã™å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚プロセス生æˆã®ãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã«é–¢ã™ã‚‹ + 詳ã—ã„情報ã¯ã€æ€§èƒ½ã«é–¢ã™ã‚‹ãƒ’ント + ã«ã‚ã‚Šã¾ã™ã€‚

+ +

通常 Unix ã§ã¯è¦ªãƒ—ロセス㯠80 番ãƒãƒ¼ãƒˆã«ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ãŸã‚ã« + root ã§èµ·å‹•ã•ã‚Œã¾ã™ãŒã€å­ãƒ—ロセスやスレッド㯠+ ã‚‚ã£ã¨ä½Žã„権é™ã®ãƒ¦ãƒ¼ã‚¶ã§ Apache ã«ã‚ˆã£ã¦èµ·å‹•ã•ã‚Œã¾ã™ã€‚ + User 㨠+ Group + ディレクティブ㯠+ Apache ã®å­ãƒ—ロセスã®æ¨©é™ã‚’設定ã™ã‚‹ã®ã«ç”¨ã„られã¾ã™ã€‚ + å­ãƒ—ロセスã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„å…¨ã¦ã‚’読ã‚ãªã„ã¨ã„ã‘ã¾ã›ã‚“ãŒã€ + å¯èƒ½ãªé™ã‚Šå¿…è¦æœ€å°é™ã®æ¨©é™ã®ã¿ã‚’æŒã£ã¦ã„るよã†ã«ã™ã‚‹ã¹ãã§ã™ã€‚

+ +

MaxRequestsPerChild + ã¯ã€å¤ã„プロセスをåœæ­¢ã—ã¦æ–°ã—ã„プロセスを起動ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ + ã©ã®ç¨‹åº¦ã®é »åº¦ã§ã‚µãƒ¼ãƒãŒãƒ—ロセスをリサイクルã™ã‚‹ã‹ã‚’制御ã—ã¾ã™ã€‚

+
+
top
+

MaxSpareServers ディレクティブ

+ + + + + + + +
説明:アイドルãªå­ã‚µãƒ¼ãƒãƒ—ロセスã®æœ€å¤§å€‹æ•°
構文:MaxSpareServers number
デフォルト:MaxSpareServers 10
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:prefork
+

MaxSpareServers ディレクティブã¯ã€ + アイドルãªå­ã‚µãƒ¼ãƒãƒ—ロセスã®å¸Œæœ›æœ€å¤§å€‹æ•°ã‚’設定ã—ã¾ã™ã€‚ + アイドルプロセスã¨ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã£ã¦ã„ãªã„プロセスã§ã™ã€‚ + MaxSpareServers よりも多ã„æ•°ãŒã‚¢ã‚¤ãƒ‰ãƒ«ã§ã‚ã‚Œã°ã€ + 親プロセスã¯è¶…éŽãƒ—ロセスを kill ã—ã¾ã™ã€‚

+ +

éžå¸¸ã«æ··ã‚“ã§ã„るサイトã§ã®ã¿ã€ã“ã®ãƒ‘ラメータをãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã™ã‚‹ã¹ãã§ã™ã€‚ + ã“ã®ãƒ‘ラメータを大ããã™ã‚‹ã¨ã„ã†ã“ã¨ã¯ã€å¤§æŠµã®å ´åˆã¯æ‚ªã„発想ã§ã™ã€‚ + MinSpareServers + 以下ã«è¨­å®šã—ãŸå ´åˆã€MinSpareServers + +1 ã«è‡ªå‹•èª¿æ•´ã•ã‚Œã¾ã™ã€‚

+ +

å‚ç…§

+ +
+
top
+

MinSpareServers ディレクティブ

+ + + + + + + +
説明:アイドルãªå­ã‚µãƒ¼ãƒãƒ—ロセスã®æœ€å°å€‹æ•°
構文:MinSpareServers number
デフォルト:MinSpareServers 5
コンテキスト:サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
ステータス:MPM
モジュール:prefork
+

MaxSpareServers ディレクティブã¯ã€ + アイドルãªå­ã‚µãƒ¼ãƒãƒ—ロセスã®å¸Œæœ›æœ€å°å€‹æ•°ã‚’設定ã—ã¾ã™ã€‚ + アイドルプロセスã¨ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã£ã¦ã„ãªã„プロセスã§ã™ã€‚ + MinSpareServers よりも少ãªã„æ•°ãŒã‚¢ã‚¤ãƒ‰ãƒ«ã§ã‚ã‚Œã°ã€ + 親プロセスã¯æœ€é«˜ã§ 1 秒ã«ã¤ã 1 個ã®å‰²åˆã§æ–°ã—ã„å­ãƒ—ロセスを生æˆã—ã¾ã™ã€‚

+ +

éžå¸¸ã«æ··ã‚“ã§ã„るサイトã§ã®ã¿ã€ã“ã®ãƒ‘ラメータをãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã™ã‚‹ã¹ãã§ã™ã€‚ + ã“ã®ãƒ‘ラメータを大ããã™ã‚‹ã¨ã„ã†ã“ã¨ã¯ã€å¤§æŠµã®å ´åˆã¯æ‚ªã„発想ã§ã™ã€‚

+ +

å‚ç…§

+ +
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/prefork.html.tr.utf8 b/docs/manual/mod/prefork.html.tr.utf8 new file mode 100644 index 0000000..128b6f3 --- /dev/null +++ b/docs/manual/mod/prefork.html.tr.utf8 @@ -0,0 +1,217 @@ + + + + + +prefork - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM prefork

+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + tr 

+
+ + + +
Açıklama:Evresiz ön çatallamalı HTTP sunucusu oluşturur
Durum:MPM
Modül Betimleyici:mpm_prefork_module
Kaynak Dosyası:prefork.c
+

Özet

+ +

Bu çok süreçlilik modülü (MPM) evresiz ve + çocuk süreçlerin önceden çatallandığı bir HTTP sunucusu oluşturur. Her + çocuk süreç gelen bir isteğe yanıt verirken ebeveyn süreç çocuk süreç + havuzunu yönetir. Evresiz kütüphanelerle uyumluluk için evrelemeden + kaçınma ihtiyacında olan siteler için uygundur. Ayrıca istekleri + birbirlerinden yalıtmak için en iyi MPM’dir, dolayısıyla herhangi bir + istekle ilgili bir sorun diğerlerini etkilemez.

+ +

Bu MPM kendi kendine her duruma çok iyi uyum sağladığından + yapılandırma yönergeleri ile yapılandırılmaya nadiren ihtiyaç gösterir. + Yönergelerin en önemlisi MaxRequestWorkers olup, değeri aynı anda almayı umduğunuz + istek sayısını işleyebilecek kadar büyük, fiziksel belleğin tüm + süreçlerin ihtiyaçlarını karşılamasına yetecek kadar da küçük olması + gerekir.

+
+ +
top
+
+

Nasıl çalışır?

+

Bağlantıları dinleyip gerektiğinde onlara hizmet sunan çocuk süreçleri + devreye almak tek bir denetim sürecinin sorumluluğundadır. Apache httpd + daima, gelen isteklere hizmet vermeye hazır bekleyen en fazla sayıda + sunucu sürecini yedekte tutmaya veya boşta bekletmeye + çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk + süreçlerin çatallanmasını beklemek gerekmez.

+ +

Ana sürecin istekleri sunacak çocuk süreçleri oluşturma işlemini nasıl + gerçekleştireceği StartServers, MinSpareServers, MaxSpareServers ve MaxRequestWorkers yönergeleri ile düzenlenir. Apache httpd + kendiliğinden her duruma çok iyi uyum sağladığından, genelde, çoğu + sitenin bu yönergelerin öntanımlı değerlerini değiştirmesi gerekmez. + Aynı anda 256’dan fazla isteğe hizmet sunacak sitelerin MaxRequestWorkers değerini arttırmaları + gerekebilir. Ancak, fiziksel belleği yeterli olmayan sitelerin de + sunucunun belleği diske takaslamasını önlemek için bu değeri + azaltmaları gerekebilir. Süreç oluşturmanın ayarlanması ile ilgili daha + fazla bilgi edinmek için başarım + arttırma ipuçları belgesine bakınız.

+ +

Unix altında 80. portu dinleyebilmek için ana sürecin + root tarafından çalıştırılmış olması gerekirse de çocuk + süreçler Apache httpd tarafından daha az yetkili bir kullanıcının + aidiyetinde çalıştırılırlar. Apache httpd’nin çocuk süreçlerinin + kullanıcı ve gruplarını ayarlamak için User ve Group + yönergeleri kullanılır. Çocuk süreçlerin sunacakları içeriği okumaya + yetkili olmaları gerekir, fakat bu yetkinin mümkün olduğunca kısıtlı + tutulmasına çalışılmalıdır.

+ +

MaxConnectionsPerChild + yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı + ne kadar sıklıkla yapacağını denetler.

+ +

Bu MPM, gürleyen sürü sorunu ortaya çıktığında (genelde çok sayıda + dinlenen soket varlığında) gelen bağlantılara erişimi dizgileştirmek için + mpm-accept muteksini kullanır. Bu muteksin gerçeklenimle + ilgili hususları Mutex yönergesi ile + yapılandırılabilir. Bu muteks hakkında ek bilgi için başarımın arttırılması + belgesine bakınız.

+
+
top
+

MaxSpareServers Yönergesi

+ + + + + + + +
Açıklama:Boştaki çocuk süreçlerin azami sayısı
Sözdizimi:MaxSpareServers sayı
Öntanımlı:MaxSpareServers 10
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:prefork
+

MaxSpareServers yönergesi boştaki + çocuk sunucu süreçlerinin azami sayısını belirler. Boştaki süreç, o an + bir isteğe hizmet sunmayan süreçtir. Eğer + MaxSpareServers sayıda süreçten daha fazla boşta + süreç varsa ana süreç bu fazlalıkları öldürecektir.

+ +

Bu parametrenin ayarlanması sadece çok meşgul siteler için gerekli + olabilir. Bu parametreye çok büyük bir değerin atanması oldukça kötü + bir fikirdir. Eğer bu değeri MinSpareServers değerine eşit veya daha küçük bir değere + ayarlarsanız, Apache HTTP Sunucusu bu değeri kendiliğinden MinSpareServers + 1 olarak + değiştirecektir.

+ +

Ayrıca bakınız:

+ +
+
top
+

MinSpareServers Yönergesi

+ + + + + + + +
Açıklama:Boştaki çocuk süreçlerin asgari sayısı
Sözdizimi:MinSpareServers sayı
Öntanımlı:MinSpareServers 5
BaÄŸlam:sunucu geneli
Durum:MPM
Modül:prefork
+

MinSpareServers yönergesi boştaki + çocuk sunucu süreçlerinin asgari sayısını belirler. Boştaki süreç, o an + bir isteğe hizmet sunmayan süreçtir. Eğer + MinSpareServers sayıda süreçten daha az boşta + süreç varsa ana süreç sayıyı tamamlamak için yeni çocuk süreçler + oluşturacaktır: Bir tane oluşturur, 1 saniye bekler, sonra 2 tane + oluşturur, 1 saniye bekler, sonra 4 tane oluşturur ve saniyede 32 çocuk + süreç oluşturuluncaya kadar böyle üstel olarak artar. Artış + MinSpareServers ile belirlenen sayıda + duracaktır.

+ +

Bu parametrenin ayarlanması sadece çok meşgul siteler için gerekli + olabilir. Bu parametreye çok büyük bir değerin atanması oldukça kötü + bir fikirdir.

+ +

Ayrıca bakınız:

+ +
+
+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html b/docs/manual/mod/quickreference.html new file mode 100644 index 0000000..a81b5ca --- /dev/null +++ b/docs/manual/mod/quickreference.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: quickreference.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: quickreference.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: quickreference.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: quickreference.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/quickreference.html.de b/docs/manual/mod/quickreference.html.de new file mode 100644 index 0000000..424bf8a --- /dev/null +++ b/docs/manual/mod/quickreference.html.de @@ -0,0 +1,1263 @@ + + + + + +Kurzreferenz der Direktiven - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

Kurzreferenz der Direktiven

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Die Kurzreferenz der Direktiven zeigt die Verwendung, + Voreinstellung, den Status und den Kontext aller + Apache-Konfigurationsanweisungen. Für weitergehende Informationen + schauen Sie bitte im Verzeichnis der Direktiven.

+ +

Die erste Spalte enthält den Namen und die Verwendung. + Die zweite Spalte zeigt die Voreinstellung der Direktive, sofern + eine Voreinstellung existiert. Wenn die Voreinstellung zu breit + für die Anzeige ist, wird sie abgeschnitten und mit einem + nachfolgenden "+" versehen.

+ +

Die dritte und vierte Spalte geben den Kontext an, in dem die + Direktive erlaubt ist, sowie den Status der Direktive entsprechend + der Legende.

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
sServerkonfiguration
vVirtual Host
dVerzeichnis
h.htaccess
+ + + + + +
CCore
MMPM
BBasis
EErweiterung
Xexperimentell
Textern
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter Protokoll FiltersC
Konfiguriert Optimierungen für lauschende Sockets bestimmter +Protokolle
AcceptPathInfo On|Off|Default Default svdhC
Ressourcen lassen angehängte Pfadangaben zu
AccessFileName Dateiname [Dateiname] ... .htaccess svC
Name der dezentralen Konfigurationsdateien
Action Aktionsart CGI-Skript [virtual]svdhB
Aktiviert ein CGI-Skript für einen bestimmten Handler oder + Content-Type
AddAlt string file [file] ...svdhB
Alternate text to display for a file, instead of an +icon selected by filename
AddAltByEncoding string MIME-encoding +[MIME-encoding] ...svdhB
Alternate text to display for a file instead of an icon +selected by MIME-encoding
AddAltByType string MIME-type +[MIME-type] ...svdhB
Alternate text to display for a file, instead of an +icon selected by MIME content-type
AddCharset charset extension +[extension] ...svdhB
Maps the given filename extensions to the specified content +charset
AddDefaultCharset On|Off|Zeichenkodierung Off svdhC
Standard-Charset-Parameter, der bei Antworten vom Content-Type + text/plain oder text/html hinzugefügt wird +
AddDescription string file [file] ...svdhB
Description to display for a file
AddEncoding encoding extension +[extension] ...svdhB
Maps the given filename extensions to the specified encoding +type
AddHandler handler-name extension +[extension] ...svdhB
Maps the filename extensions to the specified +handler
AddIcon icon name [name] +...svdhB
Icon to display for a file selected by name
AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...svdhB
Icon to display next to files selected by MIME +content-encoding
AddIconByType icon MIME-type +[MIME-type] ...svdhB
Icon to display next to files selected by MIME +content-type
AddInputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +client requests
AddLanguage language-tag extension +[extension] ...svdhB
Maps the given filename extension to the specified content +language
AddModuleInfo module-name stringsvE
Adds additional information to the module +information displayed by the server-info handler
AddOutputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +responses from the server
AddOutputFilterByType filter[;filter...] +media-type [media-type] ...svdhB
assigns an output filter to a particular media-type
AddType media-type extension +[extension] ...svdhB
Maps the given filename extensions onto the specified content +type
Alias [URL-path] +file-path|directory-pathsvdB
Maps URLs to filesystem locations
AliasMatch regex +file-path|directory-pathsvB
Maps URLs to filesystem locations using regular +expressions
Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts can access an area of the +server
AllowCONNECT port[-port] +[port[-port]] ... 443 563 svE
Ports that are allowed to CONNECT through the +proxy
AllowEncodedSlashes On|Off Off svC
Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht +werden dürfen
AllowMethods reset|HTTP-method +[HTTP-method]... reset dX
Restrict access to the listed HTTP methods
AllowOverride All|None|Direktiven-Typ +[Direktiven-Typ] ... None (2.3.9 und spä +dC
Direktiven-Typen, die in .htaccess-Dateien +erlaubt sind.
AllowOverrideList None|directive +[directive-type] ... None dC
Individual directives that are allowed in +.htaccess files
Anonymous user [user] ...dhE
Specifies userIDs that are allowed access without +password verification
Anonymous_LogEmail On|Off On dhE
Sets whether the password entered will be logged in the +error log
Anonymous_MustGiveEmail On|Off On dhE
Specifies whether blank passwords are allowed
Anonymous_NoUserID On|Off Off dhE
Sets whether the userID field may be empty
Anonymous_VerifyEmail On|Off Off dhE
Sets whether to check the password field for a correctly +formatted email address
AsyncRequestWorkerFactor factorsM
Limit concurrent connections per process
AuthBasicAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthBasicFake off|username [password]dhB
Fake basic authentication using the given expressions for +username and password
AuthBasicProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthBasicUseDigestAlgorithm MD5|Off Off dhB
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBDUserPWQuery querydE
SQL query to look up a password for a user
AuthDBDUserRealmQuery querydE
SQL query to look up a password hash for a user and realm. +
AuthDBMGroupFile file-pathdhE
Sets the name of the database file containing the list +of user groups for authorization
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store passwords
AuthDBMUserFile file-pathdhE
Sets the name of a database file containing the list of users and +passwords for authentication
AuthDigestAlgorithm MD5|MD5-sess MD5 dhE
Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
AuthDigestDomain URI [URI] ...dhE
URIs that are in the same protection space for digest +authentication
AuthDigestNonceLifetime seconds 300 dhE
How long the server nonce is valid
AuthDigestProvider provider-name +[provider-name] ... file dhE
Sets the authentication provider(s) for this location
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhE
Determines the quality-of-protection to use in digest +authentication
AuthDigestShmemSize size 1000 sE
The amount of shared memory to allocate for keeping track +of clients
AuthFormAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthFormBody fieldname httpd_body dB
The name of a form field carrying the body of the request to attempt on successful login
AuthFormDisableNoStore On|Off Off dB
Disable the CacheControl no-store header on the login page
AuthFormFakeBasicAuth On|Off Off dB
Fake a Basic Authentication header
AuthFormLocation fieldname httpd_location dB
The name of a form field carrying a URL to redirect to on successful login
AuthFormLoginRequiredLocation urldB
The URL of the page to be redirected to should login be required
AuthFormLoginSuccessLocation urldB
The URL of the page to be redirected to should login be successful
AuthFormLogoutLocation uridB
The URL to redirect to after a user has logged out
AuthFormMethod fieldname httpd_method dB
The name of a form field carrying the method of the request to attempt on successful login
AuthFormMimetype fieldname httpd_mimetype dB
The name of a form field carrying the mimetype of the body of the request to attempt on successful login
AuthFormPassword fieldname httpd_password dB
The name of a form field carrying the login password
AuthFormProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthFormSitePassphrase secretdB
Bypass authentication checks for high traffic sites
AuthFormSize size 8192 dB
The largest size of the form in bytes that will be parsed for the login details
AuthFormUsername fieldname httpd_username dB
The name of a form field carrying the login username
AuthGroupFile file-pathdhB
Sets the name of a text file containing the list +of user groups for authorization
AuthLDAPAuthorizePrefix prefix AUTHORIZE_ dhE
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritative off|on on dhE
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDN distinguished-namedhE
Optional DN to use in binding to the LDAP server
AuthLDAPBindPassword passworddhE
Password used in conjunction with the bind DN
AuthLDAPCharsetConfig file-pathsE
Language to charset conversion configuration file
AuthLDAPCompareAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServer on|off on dhE
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
When will the module de-reference aliases
AuthLDAPGroupAttribute attribute member uniqueMember +dhE
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDN on|off on dhE
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUser off|on off dhE
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPattern regex substitution (.*) $1 (remote use +dhE
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepth Number 10 dhE
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttribute uiddhE
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDN on|off off dhE
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttribute attribute member uniqueMember +dhE
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClass LdapObjectClass groupOfNames groupO +dhE
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhB
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthName auth-domaindhB
Authorization realm for use in HTTP +authentication
AuthnCacheContext directory|server|custom-string directory dB
Specify a context string for use in the cache key
AuthnCacheEnablesB
Enable Authn caching configured anywhere
AuthnCacheProvideFor authn-provider [...]dhB
Specify which authn provider(s) to cache for
AuthnCacheSOCache provider-name[:provider-args]sB
Select socache backend provider to use
AuthnCacheTimeout timeout (seconds) 300 (5 minutes) dhB
Set a timeout for cache entries
<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>sB
Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Enables a FastCGI application to handle the check_authn +authentication hook.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Defines a FastCGI application as a provider for +authentication and/or authorization
AuthType None|Basic|Digest|FormdhB
Type of user authentication
AuthUserFile file-pathdhB
Sets the name of a text file containing the list of users and +passwords for authentication
AuthzDBDLoginToReferer On|Off Off dE
Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
AuthzDBDQuery querydE
Specify the SQL Query for the required operation
AuthzDBDRedirectQuery querydE
Specify a query to look up a login page for the user
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store list of user groups
<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +sB
Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
AuthzSendForbiddenOnFailure On|Off Off dhB
Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
BalancerGrowth # 5 svE
Number of additional Balancers that can be added Post-configuration
BalancerInherit On|Off On svE
Inherit ProxyPassed Balancers/Workers from the main server
BalancerMember [balancerurl] url [key=value [key=value ...]]dE
Add a member to a load balancing group
BalancerPersist On|Off Off svE
Attempt to persist changes made by the Balancer Manager across restarts.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix svE
How the outgoing ETag header should be modified during compression
BrotliCompressionMaxInputBlock valuesvE
Maximum input block size
BrotliCompressionQuality value 5 svE
Compression quality
BrotliCompressionWindow value 18 svE
Brotli sliding compression window size
BrotliFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on HTTP User-Agent +
BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on User-Agent without +respect to case
BufferedLogs On|Off Off sB
Buffer log entries in memory before writing to disk
BufferSize integer 131072 svdhE
Maximum size in bytes to buffer by the buffer filter
CacheDefaultExpire seconds 3600 (one hour) svdhE
The default duration to cache a document when no expiry date is specified.
CacheDetailHeader on|off off svdhE
Add an X-Cache-Detail header to the response.
CacheDirLength length 2 svE
The number of characters in subdirectory names
CacheDirLevels levels 2 svE
The number of levels of subdirectories in the +cache.
CacheDisable url-string | onsvdhE
Disable caching of specified URLs
CacheEnable cache_type [url-string]svdE
Enable caching of specified URLs using a specified storage +manager
CacheFile file-path [file-path] ...sX
Cache a list of file handles at startup time
CacheHeader on|off off svdhE
Add an X-Cache header to the response.
CacheIgnoreCacheControl On|Off Off svE
Ignore request to not serve cached content to client
CacheIgnoreHeaders header-string [header-string] ... None svE
Do not store the given HTTP header(s) in the cache. +
CacheIgnoreNoLastMod On|Off Off svdhE
Ignore the fact that a response has no Last Modified +header.
CacheIgnoreQueryString On|Off Off svE
Ignore query string when caching
CacheIgnoreURLSessionIdentifiers identifier [identifier] ... None svE
Ignore defined session identifiers encoded in the URL when caching +
CacheKeyBaseURL URLsvE
Override the base URL of reverse proxied cache keys.
CacheLastModifiedFactor float 0.1 svdhE
The factor used to compute an expiry date based on the +LastModified date.
CacheLock on|off off svE
Enable the thundering herd lock.
CacheLockMaxAge integer 5 svE
Set the maximum possible age of a cache lock.
CacheLockPath directory /tmp/mod_cache-lock +svE
Set the lock path directory.
CacheMaxExpire seconds 86400 (one day) svdhE
The maximum time in seconds to cache a document
CacheMaxFileSize bytes 1000000 svdhE
The maximum size (in bytes) of a document to be placed in the +cache
CacheMinExpire seconds 0 svdhE
The minimum time in seconds to cache a document
CacheMinFileSize bytes 1 svdhE
The minimum size (in bytes) of a document to be placed in the +cache
CacheNegotiatedDocs On|Off Off svB
Allows content-negotiated documents to be +cached by proxy servers
CacheQuickHandler on|off on svE
Run the cache from the quick handler.
CacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheRoot directorysvE
The directory root under which cache files are +stored
CacheSocache type[:args]svE
The shared object cache implementation to use
CacheSocacheMaxSize bytes 102400 svdhE
The maximum size (in bytes) of an entry to be placed in the +cache
CacheSocacheMaxTime seconds 86400 svdhE
The maximum time (in seconds) for a document to be placed in the +cache
CacheSocacheMinTime seconds 600 svdhE
The minimum time (in seconds) for a document to be placed in the +cache
CacheSocacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheSocacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheStaleOnError on|off on svdhE
Serve stale content in place of 5xx responses.
CacheStoreExpired On|Off Off svdhE
Attempt to cache responses that the server reports as expired
CacheStoreNoStore On|Off Off svdhE
Attempt to cache requests or responses that have been marked as no-store.
CacheStorePrivate On|Off Off svdhE
Attempt to cache responses that the server has marked as private
CGIDScriptTimeout time[s|ms]svdhB
The length of time to wait for more output from the +CGI program
CGIMapExtension CGI-Pfad .EndungdhC
Technik zur Bestimmung des Interpreters für +CGI-Skripte
CGIPassAuth On|Off Off dhC
Enables passing HTTP authorization headers to scripts as CGI +variables
CGIVar variable ruledhC
Controls how some CGI variables are set
CharsetDefault charsetsvdhE
Charset to translate into
CharsetOptions option [option] ... ImplicitAdd svdhE
Configures charset translation behavior
CharsetSourceEnc charsetsvdhE
Source charset of files
CheckBasenameMatch on|off On svdhE
Also match files with differing file name extensions.
CheckCaseOnly on|off Off svdhE
Limits the action of the speling module to case corrections
CheckSpelling on|off Off svdhE
Enables the spelling +module
ChrootDir /path/to/directorysB
Directory for apache to run chroot(8) after startup.
ContentDigest On|Off Off svdhC
Aktiviert die Generierung von Content-MD5 +HTTP-Response-Headern
CookieDomain domainsvdhE
The domain to which the tracking cookie applies
CookieExpires expiry-periodsvdhE
Expiry time for the tracking cookie
CookieHTTPOnly on|off off svdhE
Adds the 'HTTPOnly' attribute to the cookie
CookieName token Apache svdhE
Name of the tracking cookie
CookieSameSite None|Lax|StrictsvdhE
Adds the 'SameSite' attribute to the cookie
CookieSecure on|off off svdhE
Adds the 'Secure' attribute to the cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
Format of the cookie header field
CookieTracking on|off off svdhE
Enables tracking cookie
CoreDumpDirectory VerzeichnissM
Verzeichnis, in das der Apache zu wechseln versucht, bevor er + einen Hauptspeicherauszug erstellt
CustomLog file|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]svB
Sets filename and format of log file
Dav On|Off|provider-name Off dE
Enable WebDAV HTTP methods
DavDepthInfinity on|off off svdE
Allow PROPFIND, Depth: Infinity requests
DavGenericLockDB file-pathsvdE
Location of the DAV lock database
DavLockDB file-pathsvE
Location of the DAV lock database
DavLockDiscovery on|off on svdhE
Enable lock discovery
DavMinTimeout seconds 0 svdE
Minimum amount of time the server holds a lock on +a DAV resource
DBDExptime time-in-seconds 300 svE
Keepalive time for idle connections
DBDInitSQL "SQL statement"svE
Execute an SQL statement after connecting to a database
DBDKeep number 2 svE
Maximum sustained number of connections
DBDMax number 10 svE
Maximum number of connections
DBDMin number 1 svE
Minimum number of connections
DBDParams +param1=value1[,param2=value2]svE
Parameters for database connection
DBDPersist On|OffsvE
Whether to use persistent connections
DBDPrepareSQL "SQL statement" labelsvE
Define an SQL prepared statement
DBDriver namesvE
Specify an SQL driver
DefaultIcon url-pathsvdhB
Icon to display for files when no specific icon is +configured
DefaultLanguage language-tagsvdhB
Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
DefaultRuntimeDir directory-path DEFAULT_REL_RUNTIME +sC
Base directory for the server run-time files
DefaultType MIME-Type text/plain svdhC
MIME-Content-Type, der gesendet wird, wenn der Server den Typ +nicht auf andere Weise ermitteln kann.
Define ParameternamesC
Define the existence of a variable
DeflateBufferSize value 8096 svE
Fragment size to be compressed at one time by zlib
DeflateCompressionLevel valuesvE
How much compression do we apply to the output
DeflateFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
DeflateInflateLimitRequestBody valuesvdhE
Maximum size of inflated request bodies
DeflateInflateRatioBurst value 3 svdhE
Maximum number of times the inflation ratio for request bodies + can be crossed
DeflateInflateRatioLimit value 200 svdhE
Maximum inflation ratio for request bodies
DeflateMemLevel value 9 svE
How much memory should be used by zlib for compression
DeflateWindowSize value 15 svE
Zlib compression window size
Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts are denied access to the +server
<Directory Verzeichnispfad> +... </Directory>svC
Umschließt eine Gruppe von Direktiven, die nur auf +das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet +werden
DirectoryCheckHandler On|Off Off svdhB
Toggle how this module responds when another handler is configured
DirectoryIndex + disabled | local-url [local-url] ... index.html svdhB
List of resources to look for when the client requests +a directory
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code + off svdhB
Configures an external redirect for directory indexes. +
<DirectoryMatch regex> +... </DirectoryMatch>svC
Umschließt eine Gruppe von Direktiven, die auf + Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet + werden, welche auf einen regulären Ausdruck passen
DirectorySlash On|Off On svdhB
Toggle trailing slash redirects on or off
DocumentRoot Verzeichnis /usr/local/apache/h +svC
Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im +Web sichtbar ist.
DTracePrivileges On|Off Off sX
Determines whether the privileges required by dtrace are enabled.
DumpIOInput On|Off Off sE
Dump all input data to the error log
DumpIOOutput On|Off Off sE
Dump all output data to the error log
<Else> ... </Else>svdhC
Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
<ElseIf expression> ... </ElseIf>svdhC
Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
EnableExceptionHook On|Off Off sM
Aktiviert einen Hook, der nach einem Absturz noch +Ausnahmefehler behandeln lassen kann
EnableMMAP On|Off On svdhC
Verwende Memory-Mapping, um Dateien während der +Auslieferung zu lesen
EnableSendfile On|Off On svdhC
Verwende die sendfile-Unterstützung des Kernels, um +Dateien an den Client auszuliefern
Error messagesvdhC
Abort configuration parsing with a custom error message
ErrorDocument Fehlercode DokumentsvdhC
Das, was der Server im Fehlerfall an den Client +zurückgibt
ErrorLog Dateiname|syslog[:facility] logs/error_log (Uni +svC
Ablageort, an dem der Server Fehler protokolliert
ErrorLogFormat [connection|request] formatsvC
Format specification for error log entries
ExamplesvdhX
Demonstration directive to illustrate the Apache module +API
ExpiresActive On|Off Off svdhE
Enables generation of Expires +headers
ExpiresByType MIME-type +<code>secondssvdhE
Value of the Expires header configured +by MIME type
ExpiresDefault <code>secondssvdhE
Default algorithm for calculating expiration time
ExtendedStatus On|Off Off[*] sC
Keep track of extended status information for each +request
ExtFilterDefine filtername parameterssE
Define an external filter
ExtFilterOptions option [option] ... NoLogStderr dE
Configure mod_ext_filter options
FallbackResource disabled | local-urlsvdhB
Define a default URL for requests that don't map to a file
FileETag Komponente ... INode MTime Size svdhC
Dateiattribute, die zur Erstellung des HTTP-Response-Headers +ETag verwendet werden
<Files Dateiname> ... </Files>svdhC
Enthält Direktiven, die sich nur auf passende Dateinamen +beziehen
<FilesMatch regex> ... </FilesMatch>svdhC
Enthält Direktiven, die für Dateinamen gelten, die + auf einen regulären Ausdruck passen
FilterChain [+=-@!]filter-name ...svdhB
Configure the filter chain
FilterDeclare filter-name [type]svdhB
Declare a smart filter
FilterProtocol filter-name [provider-name] + proto-flagssvdhB
Deal with correct HTTP protocol handling
FilterProvider filter-name provider-name + expressionsvdhB
Register a content filter
FilterTrace filter-name levelsvdB
Get debug/diagnostic information from + mod_filter
FlushMaxPipelined number 5 svC
Maximum number of pipelined responses above which they are flushed +to the network
FlushMaxThreshold number-of-bytes 65536 svC
Threshold above which pending data are flushed to the +network
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
Action to take if a single acceptable document is not +found
ForceType MIME-Type|NonedhC
Erzwingt die Auslieferung aller passendenden Dateien mit dem +angegebenen MIME-Content-Type
ForensicLog filename|pipesvE
Sets filename of the forensic log
GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]sB
Sets filename and format of log file
GprofDir /tmp/gprof/|/tmp/gprof/%svC
Directory to write gmon.out profiling data to.
GracefulShutdownTimeout seconds 0 sM
Specify a timeout after which a gracefully shutdown server +will exit.
Group unix-group #-1 sB
Group under which the server will answer +requests
H2CopyFiles on|off off svdhE
Determine file handling in responses
H2Direct on|off on for h2c, off for +svE
H2 Direct Protocol Switch
H2EarlyHints on|off off svE
Determine sending of 103 status codes
H2MaxSessionStreams n 100 svE
Maximum number of active streams per HTTP/2 session.
H2MaxWorkerIdleSeconds n 600 sE
Maximum number of seconds h2 workers remain idle until shut down.
H2MaxWorkers nsE
Maximum number of worker threads to use per child process.
H2MinWorkers nsE
Minimal number of worker threads to use per child process.
H2ModernTLSOnly on|off on svE
Require HTTP/2 connections to be "modern TLS" only
H2OutputBuffering on|off on svE
Determine buffering behaviour of output
H2Padding numbits 0 svE
Determine the range of padding bytes added to payload frames
H2Push on|off on svdhE
H2 Server Push Switch
H2PushDiarySize n 256 svE
H2 Server Push Diary Size
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 svE
H2 Server Push Priority
H2PushResource [add] path [critical]svdhE
Declares resources for early pushing to the client
H2SerializeHeaders on|off off svE
Serialize Request/Response Processing Switch
H2StreamMaxMemSize bytes 65536 svE
Maximum amount of output data buffered per stream.
H2TLSCoolDownSecs seconds 1 svE
Configure the number of seconds of idle time on TLS before shrinking writes
H2TLSWarmUpSize amount 1048576 svE
Configure the number of bytes on TLS connection before doing max writes
H2Upgrade on|off on for h2c, off for +svdhE
H2 Upgrade Protocol Switch
H2WindowSize bytes 65535 svE
Size of Stream Window for upstream data.
Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP response headers
HeaderName filenamesvdhB
Name of the file that will be inserted at the top +of the index listing
HeartbeatAddress addr:portsX
Multicast address for heartbeat packets
HeartbeatListen addr:portsX
multicast address to listen for incoming heartbeat requests
HeartbeatMaxServers number-of-servers 10 sX
Specifies the maximum number of servers that will be sending +heartbeat requests to this server
HeartbeatStorage file-path logs/hb.dat sX
Path to store heartbeat data when using flat-file storage
HeartbeatStorage file-path logs/hb.dat sX
Path to read heartbeat data
HostnameLookups On|Off|Double Off svdC
Aktiviert DNS-Lookups auf Client-IP-Adressen
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +svC
Modify restrictions on HTTP Request Messages
IdentityCheck On|Off Off svdE
Enables logging of the RFC 1413 identity of the remote +user
IdentityCheckTimeout seconds 30 svdE
Determines the timeout duration for ident requests
<If expression> ... </If>svdhC
Contains directives that apply only if a condition is +satisfied by a request at runtime
<IfDefine [!]Parametername> ... + </IfDefine>svdhC
Schließt Direktiven ein, die nur ausgeführt werden, +wenn eine Testbedingung beim Start wahr ist
<IfDirective [!]directive-name> ... + </IfDirective>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific directive
<IfFile [!]filename> ... + </IfFile>svdhC
Encloses directives that will be processed only +if file exists at startup
<IfModule [!]Modulname|Modulbezeichner> + ... </IfModule>svdhC
Schließt Direktiven ein, die abhängig vom +Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt +werden
<IfSection [!]section-name> ... + </IfSection>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific section directive
<IfVersion [[!]operator] version> ... +</IfVersion>svdhE
contains version dependent configuration
ImapBase map|referer|URL http://servername/ svdhB
Default base for imagemap files
ImapDefault error|nocontent|map|referer|URL nocontent svdhB
Default action when an imagemap is called with coordinates +that are not explicitly mapped
ImapMenu none|formatted|semiformatted|unformatted formatted svdhB
Action if no coordinates are given when calling +an imagemap
Include Dateiname|VerzeichnissvdC
Fügt andere Konfigurationsdateien innerhalb der +Server-Konfigurationsdatei ein
IncludeOptional file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IndexHeadInsert "markup ..."svdhB
Inserts text in the HEAD section of an index page.
IndexIgnore file [file] ... "." svdhB
Adds to the list of files to hide when listing +a directory
IndexIgnoreReset ON|OFFsvdhB
Empties the list of files to hide when listing +a directory
IndexOptions [+|-]option [[+|-]option] +...svdhB
Various configuration settings for directory +indexing
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
Sets the default ordering of the directory index
IndexStyleSheet url-pathsvdhB
Adds a CSS stylesheet to the directory index
InputSed sed-commanddhX
Sed command to filter request data (typically POST data)
ISAPIAppendLogToErrors on|off off svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
ISAPIAppendLogToQuery on|off on svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
ISAPICacheFile file-path [file-path] +...svB
ISAPI .dll files to be loaded at startup
ISAPIFakeAsync on|off off svdhB
Fake asynchronous support for ISAPI callbacks
ISAPILogNotSupported on|off off svdhB
Log unsupported feature requests from ISAPI +extensions
ISAPIReadAheadBuffer size 49152 svdhB
Size of the Read Ahead Buffer sent to ISAPI +extensions
KeepAlive On|Off On svC
Aktiviert persistente HTTP-Verbindungen
KeepAliveTimeout Sekunden 5 svC
Zeitspanne, die der Server während persistenter Verbindungen +auf nachfolgende Anfragen wartet
KeptBodySize maximum size in bytes 0 dB
Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.
LanguagePriority MIME-lang [MIME-lang] +...svdhB
The precedence of language variants for cases where +the client does not express a preference
LDAPCacheEntries number 1024 sE
Maximum number of entries in the primary LDAP cache
LDAPCacheTTL seconds 600 sE
Time that cached items remain valid
LDAPConnectionPoolTTL n -1 svE
Discard backend connections that have been sitting in the connection pool too long
LDAPConnectionTimeout secondssE
Specifies the socket connection timeout in seconds
LDAPLibraryDebug 7sE
Enable debugging in the LDAP SDK
LDAPOpCacheEntries number 1024 sE
Number of entries used to cache LDAP compare +operations
LDAPOpCacheTTL seconds 600 sE
Time that entries in the operation cache remain +valid
LDAPReferralHopLimit numberdhE
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferrals On|Off|default On dhE
Enable referral chasing during queries to the LDAP server.
LDAPRetries number-of-retries 3 sE
Configures the number of LDAP server retries.
LDAPRetryDelay seconds 0 sE
Configures the delay between LDAP server retries.
LDAPSharedCacheFile directory-path/filenamesE
Sets the shared memory cache file
LDAPSharedCacheSize bytes 500000 sE
Size in bytes of the shared-memory cache
LDAPTimeout seconds 60 sE
Specifies the timeout for LDAP search and bind operations, in seconds
LDAPTrustedClientCert type directory-path/filename/nickname [password]dhE
Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
LDAPTrustedGlobalCert type directory-path/filename [password]sE
Sets the file or database containing global trusted +Certificate Authority or global client certificates
LDAPTrustedMode typesvE
Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
LDAPVerifyServerCert On|Off On sE
Force server certificate verification
<Limit Methode [Methode] ... > ... + </Limit>svdhC
Beschränkt die eingeschlossenen Zugriffskontrollen auf +bestimmte HTTP-Methoden
<LimitExcept Methode [Methode] ... > ... + </LimitExcept>svdhC
Beschränkt Zugriffskontrollen auf alle HTTP-Methoden +außer den genannten
LimitInternalRecursion Zahl [Zahl] 10 svC
Bestimmt die maximale Anzahl interner Umleitungen und + verschachtelter Unteranfragen
LimitRequestBody Bytes 0 svdhC
Begrenzt die Gesamtgröße des vom Client gesendeten +HTTP-Request-Body
LimitRequestFields Anzahl 100 sC
Begrenzt die Anzahl der HTTP-Request-Header, die vom Client +entgegengenommen werden
LimitRequestFieldsize BytessC
Begrenzt die Länge des vom Client gesendeten +HTTP-Request-Headers
LimitRequestLine Bytes 8190 sC
Begrenzt die Länge der vom Client entgegengenommenen +HTTP-Anfragezeile
LimitXMLRequestBody Bytes 1000000 svdhC
Begrenzt die Größe eines XML-basierten +Request-Bodys
Listen [IP-Addresse:]PortsM
IP-Adressen und Ports, an denen der Server lauscht
ListenBacklog backlogsM
Maximale Länge der Warteschlange schwebender + Verbindungen
ListenCoresBucketsRatio ratio 0 (disabled) sM
Ratio between the number of CPU cores (online) and the number of +listeners' buckets
LoadFile filename [filename] ...svE
Link in the named object file or library
LoadModule module filenamesvE
Links in the object file or library, and adds to the list +of active modules
<Location + URL-Pfad|URL> ... </Location>svC
Wendet die enthaltenen Direktiven nur auf die entsprechenden +URLs an
<LocationMatch + regex> ... </LocationMatch>svC
Wendet die enthaltenen Direktiven nur auf URLs an, die auf +reguläre Ausdrücke passen
LogFormat format|nickname +[nickname] "%h %l %u %t \"%r\" +svB
Describes a format for use in a log file
LogIOTrackTTFB ON|OFF OFF svdhE
Enable tracking of time to first byte (TTFB)
LogLevel Level warn svC
Steuert die Ausführlichkeit des Fehlerprotokolls
LogMessage message +[hook=hook] [expr=expression] +dX
Log user-defined message to error log +
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Plug an authorization provider function into mod_authz_core +
LuaCodeCache stat|forever|never stat svdhE
Configure the compiled code cache.
LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the access_checker phase of request processing
LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the check_user_id phase of request processing
LuaHookFixups /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFilter /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the insert_filter phase of request processing
LuaHookLog /path/to/lua/script.lua log_function_namesvdhE
Provide a hook for the access log phase of a request +processing
LuaHookMapToStorage /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslate /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]svE
Provide a hook for the translate name phase of request processing
LuaHookTypeChecker /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the type_checker phase of request processing
LuaInherit none|parent-first|parent-last parent-first svdhE
Controls how parent configuration sections are merged into children
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content input filtering
LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]svdhE
Map a path to a lua handler
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content output filtering
LuaPackageCPath /path/to/include/?.soasvdhE
Add a directory to lua's package.cpath
LuaPackagePath /path/to/include/?.luasvdhE
Add a directory to lua's package.path
LuaQuickHandler /path/to/script.lua hook_function_namesvE
Provide a hook for the quick handler of request processing
LuaRoot /path/to/a/directorysvdhE
Specify the base path for resolving relative paths for mod_lua directives
LuaScope once|request|conn|thread|server [min] [max] once svdhE
One of once, request, conn, thread -- default is once
+<Macro name [par1 .. parN]> +... </Macro>svdB
Define a configuration file macro
MaxConnectionsPerChild number 0 sM
Limit on the number of connections that an individual child server +will handle during its life
MaxKeepAliveRequests Anzahl 100 svC
Anzahl der Anfragen, die bei einer persistenten Verbindung +zulässig sind
MaxMemFree KBytes 0 sM
Maximale Menge des Arbeitsspeichers, den die + Haupt-Zuteilungsroutine verwalten darf, ohne free() + aufzurufen
MaxRangeOverlaps default | unlimited | none | number-of-ranges 20 svdC
Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
MaxRangeReversals default | unlimited | none | number-of-ranges 20 svdC
Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
MaxRanges default | unlimited | none | number-of-ranges 200 svdC
Number of ranges allowed before returning the complete +resource
MaxRequestWorkers numbersM
Maximum number of connections that will be processed +simultaneously
MaxSpareServers Anzahl 10 sM
Maximale Anzahl der unbeschäftigten Kindprozesse des + Servers
MaxSpareThreads AnzahlsM
Maximale Anzahl unbeschäftigter Threads
MaxThreads number 2048 sM
Set the maximum number of worker threads
MDActivationDelay durationsX
-
MDBaseServer on|off off sX
Control if base server may be managed or only virtual hosts.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sX
Type of ACME challenge used to prove domain ownership.
MDCertificateAgreement acceptedsX
You confirm that you accepted the Terms of Service of the Certificate + Authority.
MDCertificateAuthority url letsencrypt sX
The URL(s) of the ACME Certificate Authority to use.
MDCertificateCheck name urlsX
-
MDCertificateFile path-to-pem-filesX
Specify a static certificate file for the MD.
MDCertificateKeyFile path-to-filesX
Specify a static private key for for the static cerrtificate.
MDCertificateMonitor name url crt.sh https://crt. +sX
The URL of a certificate log monitor.
MDCertificateProtocol protocol ACME sX
The protocol to use with the Certificate Authority.
MDCertificateStatus on|off on sX
Exposes public certificate information in JSON.
MDChallengeDns01 path-to-commandsX
-
MDContactEmail addresssX
-
MDDriveMode always|auto|manual auto sX
former name of MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sX
-
MDHttpProxy urlsX
Define a proxy for outgoing connections.
MDMember hostnamesX
Additional hostname for the managed domain.
MDMembers auto|manual auto sX
Control if the alias domain names are automatically added.
MDMessageCmd path-to-cmd optional-argssX
Handle events for Manage Domains
MDMustStaple on|off off sX
Control if new certificates carry the OCSP Must Staple flag.
MDNotifyCmd path [ args ]sX
Run a program when a Managed Domain is ready.
MDomain dns-name [ other-dns-name... ] [auto|manual]sX
Define list of domain names that belong to one group.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sX
Container for directives applied to the same managed domains.
MDPortMap map1 [ map2 ] http:80 https:443 sX
Map external to internal ports for domain ownership verification.
MDPrivateKeys type [ params... ] RSA 2048 sX
Set type and size of the private keys generated.
MDRenewMode always|auto|manual auto sX
Controls if certificates shall be renewed.
MDRenewWindow duration 33% sX
Control when a certificate will be renewed.
MDRequireHttps off|temporary|permanent off sX
Redirects http: traffic to https: for Managed Domains.
MDRetryDelay duration 5s sX
-
MDRetryFailover number 13 sX
-
MDServerStatus on|off on sX
Control if Managed Domain information is added to server-status.
MDStapleOthers on|off on sX
Enable stapling for certificates not managed by mod_md.
MDStapling on|off off sX
Enable stapling for all or a particular MDomain.
MDStaplingKeepResponse duration 7d sX
Controls when old responses should be removed.
MDStaplingRenewWindow duration 33% sX
Control when the stapling responses will be renewed.
MDStoreDir path md sX
Path on the local file system to store the Managed Domains data.
MDStoreLocks on|off|duration off sX
-
MDWarnWindow duration 10% sX
Define the time window when you want to be warned about an expiring certificate.
MemcacheConnTTL num[units] 15s svE
Keepalive time for idle connections
MergeSlashes ON|OFF ON svC
Controls whether the server merges consecutive slashes in URLs. +
MergeTrailers [on|off] off svC
Determines whether trailers are merged into headers
MetaDir directory .web svdhE
Name of the directory to find CERN-style meta information +files
MetaFiles on|off off svdhE
Activates CERN meta-file processing
MetaSuffix suffix .meta svdhE
File name suffix for the file containing CERN-style +meta information
MimeMagicFile file-pathsvE
Enable MIME-type determination based on file contents +using the specified magic file
MinSpareServers Anzahl 5 sM
Minimale Anzahl der unbeschäftigten Kindprozesse des + Servers
MinSpareThreads AnzahlsM
Minimale Anzahl unbeschäftigter Threads, die zur + Bedienung von Anfragespitzen zur Verfügung stehen
MMapFile file-path [file-path] ...sX
Map a list of files into memory at startup time
ModemStandard V.21|V.26bis|V.32|V.34|V.92dX
Modem standard to simulate
ModMimeUsePathInfo On|Off Off dB
Tells mod_mime to treat path_info +components as part of the filename
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly svdhB
The types of files that will be included when searching for +a matching file with MultiViews
Mutex mechanism [default|mutex-name] ... [OmitPID] default sC
Configures mutex mechanism and lock file directory for all +or specified mutexes
NameVirtualHost Adresse[:Port]sC
Bestimmt eine IP-Adresse für den Betrieb namensbasierter +virtueller Hosts
NoProxy host [host] ...svE
Hosts, domains, or networks that will be connected to +directly
NWSSLTrustedCerts filename [filename] ...sB
List of additional client certificates
NWSSLUpgradeable [IP-address:]portnumbersB
Allows a connection to be upgraded to an SSL connection upon request
Options + [+|-]Option [[+|-]Option] ... All svdhC
Definiert, welche Eigenschaften oder Funktionen in einem +bestimmten Verzeichnis verfügbar sind
Order ordering Deny,Allow dhE
Controls the default access state and the order in which +Allow and Deny are +evaluated.
OutputSed sed-commanddhX
Sed command for filtering response content
PassEnv env-variable [env-variable] +...svdhB
Passes environment variables from the shell
PidFile Dateiname logs/httpd.pid sM
Datei, in welcher der Server die Prozess-ID des Daemons +ablegt
PrivilegesMode FAST|SECURE|SELECTIVE FAST svdX
Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Protocol protocolsvC
Protocol for a listening socket
ProtocolEcho On|Off Off svX
Turn the echo server on or off
Protocols protocol ... http/1.1 svC
Protocols available for a server/virtual host
ProtocolsHonorOrder On|Off On svC
Determines if order of Protocols determines precedence during negotiation
<Proxy wildcard-url> ...</Proxy>svE
Container for directives applied to proxied resources
Proxy100Continue Off|On On svdE
Forward 100-continue expectation to the origin server
ProxyAddHeaders Off|On On svdE
Add proxy information in X-Forwarded-* headers
ProxyBadHeader IsError|Ignore|StartBody IsError svE
Determines how to handle bad header lines in a +response
ProxyBlock *|word|host|domain +[word|host|domain] ...svE
Words, hosts, or domains that are banned from being +proxied
ProxyDomain DomainsvE
Default domain name for proxied requests
ProxyErrorOverride Off|On [code ...] Off svdE
Override error pages for proxied content
ProxyExpressDBMFile pathnamesvE
Pathname to DBM file.
ProxyExpressDBMType type default svE
DBM type of file.
ProxyExpressEnable on|off off svE
Enable the module functionality.
ProxyFCGIBackendType FPM|GENERIC FPM svdhE
Specify the type of backend FastCGI application
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]svdhE
Allow variables sent to FastCGI servers to be fixed up
ProxyFtpDirCharset character_set ISO-8859-1 svdE
Define the character set for proxied FTP listings
ProxyFtpEscapeWildcards on|off on svdE
Whether wildcards in requested filenames are escaped when sent to the FTP server
ProxyFtpListOnWildcard on|off on svdE
Whether wildcards in requested filenames trigger a file listing
ProxyHCExpr name {ap_expr expression}svE
Creates a named condition expression to use to determine health of the backend based on its response
ProxyHCTemplate name parameter=setting [...]svE
Creates a named template for setting various health check parameters
ProxyHCTPsize size 16 sE
Sets the total server-wide size of the threadpool used for the health check workers
ProxyHTMLBufSize bytes 8192 svdB
Sets the buffer size increment for buffering inline scripts and +stylesheets.
ProxyHTMLCharsetOut Charset | *svdB
Specify a charset for mod_proxy_html output.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
svdB
Sets an HTML or XHTML document type declaration.
ProxyHTMLEnable On|Off Off svdB
Turns the proxy_html filter on or off.
ProxyHTMLEvents attribute [attribute ...]svdB
Specify attributes to treat as scripting events.
ProxyHTMLExtended On|Off Off svdB
Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
ProxyHTMLFixups [lowercase] [dospath] [reset]svdB
Fixes for simple HTML errors.
ProxyHTMLInterp On|Off Off svdB
Enables per-request interpolation of +ProxyHTMLURLMap rules.
ProxyHTMLLinks element attribute [attribute2 ...]svdB
Specify HTML elements that have URL attributes to be rewritten.
ProxyHTMLMeta On|Off Off svdB
Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
ProxyHTMLStripComments On|Off Off svdB
Determines whether to strip HTML comments.
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]svdB
Defines a rule to rewrite HTML links
ProxyIOBufferSize bytes 8192 svE
Determine size of internal data throughput buffer
<ProxyMatch regex> ...</ProxyMatch>svE
Container for directives applied to regular-expression-matched +proxied resources
ProxyMaxForwards number -1 svE
Maximum number of proxies that a request can be forwarded +through
ProxyPass [path] !|url [key=value + [key=value ...]] [nocanon] [interpolate] [noquery]svdE
Maps remote servers into the local server URL-space
ProxyPassInherit On|Off On svE
Inherit ProxyPass directives defined from the main server
ProxyPassInterpolateEnv On|Off Off svdE
Enable Environment Variable interpolation in Reverse Proxy configurations
ProxyPassMatch [regex] !|url [key=value + [key=value ...]]svdE
Maps remote servers into the local server URL-space using regular expressions
ProxyPassReverse [path] url +[interpolate]svdE
Adjusts the URL in HTTP response headers sent from a reverse +proxied server
ProxyPassReverseCookieDomain internal-domain +public-domain [interpolate]svdE
Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server
ProxyPassReverseCookiePath internal-path +public-path [interpolate]svdE
Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server
ProxyPreserveHost On|Off Off svdE
Use incoming Host HTTP request header for proxy +request
ProxyReceiveBufferSize bytes 0 svE
Network buffer size for proxied HTTP and FTP +connections
ProxyRemote match remote-serversvE
Remote proxy used to handle certain requests
ProxyRemoteMatch regex remote-serversvE
Remote proxy used to handle requests matched by regular +expressions
ProxyRequests On|Off Off svE
Enables forward (standard) proxy requests
ProxySCGIInternalRedirect On|Off|Headername On svdE
Enable or disable internal redirect responses from the +backend
ProxySCGISendfile On|Off|Headername Off svdE
Enable evaluation of X-Sendfile pseudo response +header
ProxySet url key=value [key=value ...]svdE
Set various Proxy balancer or member parameters
ProxySourceAddress addresssvE
Set local IP address for outgoing proxy connections
ProxyStatus Off|On|Full Off svE
Show Proxy LoadBalancer status in mod_status
ProxyTimeout secondssvE
Network timeout for proxied requests
ProxyVia On|Off|Full|Block Off svE
Information provided in the Via HTTP response +header for proxied requests
ProxyWebsocketFallbackToProxyHttp On|Off On svE
Instructs this module to let mod_proxy_http handle the request
QualifyRedirectURL On|Off Off svdC
Controls whether the REDIRECT_URL environment variable is + fully qualified
ReadBufferSize bytes 8192 svdC
Size of the buffers used to read data
ReadmeName filenamesvdhB
Name of the file that will be inserted at the end +of the index listing
ReceiveBufferSize bytes 0 sM
TCP receive buffer size
Redirect [status] [URL-path] +URLsvdhB
Sends an external redirect asking the client to fetch +a different URL
RedirectMatch [status] regex +URLsvdhB
Sends an external redirect based on a regular expression match +of the current URL
RedirectPermanent URL-path URLsvdhB
Sends an external permanent redirect asking the client to fetch +a different URL
RedirectTemp URL-path URLsvdhB
Sends an external temporary redirect asking the client to fetch +a different URL
RedisConnPoolTTL num[units] 15s svE
TTL used for the connection pool with the Redis server(s)
RedisTimeout num[units] 5s svE
R/W timeout used for the connection with the Redis server(s)
ReflectorHeader inputheader [outputheader]svdhB
Reflect an input header to the output headers
RegexDefaultOptions [none] [+|-]option [[+|-]option] ... DOTALL DOLLAR_ENDON +sC
Allow to configure global/default options for regexes
RegisterHttpMethod method [method [...]]sC
Register non-standard HTTP methods
RemoteIPHeader header-fieldsvB
Declare the header field which should be parsed for useragent IP addresses
RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPInternalProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPProxiesHeader HeaderFieldNamesvB
Declare the header field which will record all intermediate IP addresses
RemoteIPProxyProtocol On|OffsvB
Enable or disable PROXY protocol handling
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]svB
Disable processing of PROXY header for certain hosts or networks
RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPTrustedProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoveCharset extension [extension] +...vdhB
Removes any character set associations for a set of file +extensions
RemoveEncoding extension [extension] +...vdhB
Removes any content encoding associations for a set of file +extensions
RemoveHandler extension [extension] +...vdhB
Removes any handler associations for a set of file +extensions
RemoveInputFilter extension [extension] +...vdhB
Removes any input filter associations for a set of file +extensions
RemoveLanguage extension [extension] +...vdhB
Removes any language associations for a set of file +extensions
RemoveOutputFilter extension [extension] +...vdhB
Removes any output filter associations for a set of file +extensions
RemoveType extension [extension] +...vdhB
Removes any content type associations for a set of file +extensions
RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP request headers
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] + handshake=0 header= +svE
Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Require [not] entity-name + [entity-name] ...dhB
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll> ... </RequireAll>dhB
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny> ... </RequireAny>dhB
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone> ... </RequireNone>dhB
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
RewriteBase URL-pathdhE
Sets the base URL for per-directory rewrites
RewriteCond + TestString CondPattern [flags]svdhE
Defines a condition under which rewriting will take place +
RewriteEngine on|off off svdhE
Enables or disables runtime rewriting engine
RewriteMap MapName MapType:MapSource + [MapTypeOptions] +svE
Defines a mapping function for key-lookup
RewriteOptions OptionssvdhE
Sets some special options for the rewrite engine
RewriteRule + Pattern Substitution [flags]svdhE
Defines rules for the rewriting engine
RLimitCPU Sekunden|max [Sekunden|max]svdhC
Begrenzt den CPU-Verbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden
RLimitMEM Bytes|max [Bytes|max]svdhC
Begrenzt den Speicherverbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden
RLimitNPROC Zahl|max [Zahl|max]svdhC
Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet +werden können, der ihrerseits von Apache-Kinprozessen gestartet +wurden
Satisfy Any|All All dhE
Interaction between host-level access control and +user authentication
ScoreBoardFile Dateipfad logs/apache_status sM
Ablageort der Datei, die zur Speicherung von Daten zur + Koordinierung der Kindprozesse verwendet wird
Script Methode CGI-SkriptsvdB
Aktiviert ein CGI-Skript für eine bestimmte + Anfragemethode.
ScriptAlias [URL-path] +file-path|directory-pathsvdB
Maps a URL to a filesystem location and designates the +target as a CGI script
ScriptAliasMatch regex +file-path|directory-pathsvB
Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script
ScriptInterpreterSource Registry|Registry-Strict|Script Script svdhC
Methode zur Ermittlung des Interpreters von +CGI-Skripten
ScriptLog file-pathsvB
Location of the CGI script error logfile
ScriptLogBuffer bytes 1024 svB
Maximum amount of PUT or POST requests that will be recorded +in the scriptlog
ScriptLogLength bytes 10385760 svB
Size limit of the CGI script logfile
ScriptSock file-path cgisock sB
The filename prefix of the socket to use for communication with +the cgi daemon
SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]sB
Enables SSL encryption for the specified port
SeeRequestTail On|Off Off sC
Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
SendBufferSize Bytes 0 sM
Größe des TCP-Puffers
ServerAdmin E-Mail-Adresse|URLsvC
E-Mail-Adresse, die der Server in Fehlermeldungen einfügt, +welche an den Client gesendet werden
ServerAlias Hostname [Hostname] ...vC
Alternativer Name für einen Host, der verwendet wird, wenn +Anfragen einem namensbasierten virtuellen Host zugeordnet werden
ServerLimit AnzahlsM
Obergrenze für die konfigurierbare Anzahl von + Prozessen
ServerName +voll-qualifizierter-Domainname[:port]svC
Rechnername und Port, die der Server dazu verwendet, sich +selbst zu identifizieren
ServerPath URL-PfadvC
Veralteter URL-Pfad für einen namensbasierten +virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen +wird
ServerRoot Verzeichnis /usr/local/apache sC
Basisverzeichnis der Serverinstallation
ServerSignature On|Off|EMail Off svdhC
Konfiguriert die Fußzeile von servergenerierten +Dokumenten
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sC
Konfiguriert den HTTP-Response-Header +Server
Session On|Off Off svdhE
Enables a session for the current directory or location
SessionCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session
SessionCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session
SessionCookieRemove On|Off Off svdhE
Control for whether session cookies should be removed from incoming HTTP headers
SessionCryptoCipher name aes256 svdhX
The crypto cipher to be used to encrypt the session
SessionCryptoDriver name [param[=value]]sX
The crypto driver to be used to encrypt the session
SessionCryptoPassphrase secret [ secret ... ] svdhX
The key used to encrypt the session
SessionCryptoPassphraseFile filenamesvdX
File containing keys used to encrypt the session
SessionDBDCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session ID
SessionDBDCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session ID
SessionDBDCookieRemove On|Off On svdhE
Control for whether session ID cookies should be removed from incoming HTTP headers
SessionDBDDeleteLabel label deletesession svdhE
The SQL query to use to remove sessions from the database
SessionDBDInsertLabel label insertsession svdhE
The SQL query to use to insert sessions into the database
SessionDBDPerUser On|Off Off svdhE
Enable a per user session
SessionDBDSelectLabel label selectsession svdhE
The SQL query to use to select sessions from the database
SessionDBDUpdateLabel label updatesession svdhE
The SQL query to use to update existing sessions in the database
SessionEnv On|Off Off svdhE
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionExclude pathsvdhE
Define URL prefixes for which a session is ignored
SessionExpiryUpdateInterval interval 0 (always update) svdhE
Define the number of seconds a session's expiry may change without +the session being updated
SessionHeader headersvdhE
Import session updates from a given HTTP response header
SessionInclude pathsvdhE
Define URL prefixes for which a session is valid
SessionMaxAge maxage 0 svdhE
Define a maximum age in seconds for a session
SetEnv env-variable [value]svdhB
Sets environment variables
SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +
SetEnvIfExpr expr + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on an ap_expr expression
SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +without respect to case
SetHandler Handlername|NonesvdhC
Erzwingt die Verarbeitung aller passenden Dateien durch +einen Handler
SetInputFilter Filter[;Filter...]svdhC
Bestimmt die Filter, die Client-Anfragen und POST-Eingaben +verarbeiten
SetOutputFilter Filter[;Filter...]svdhC
Bestimmt die Filter, die Antworten des Servers verarbeiten
SSIEndTag tag "-->" svB
String that ends an include element
SSIErrorMsg message "[an error occurred +svdhB
Error message displayed when there is an SSI +error
SSIETag on|off off dhB
Controls whether ETags are generated by the server.
SSILastModified on|off off dhB
Controls whether Last-Modified headers are generated by the +server.
SSILegacyExprParser on|off off dhB
Enable compatibility mode for conditional expressions.
SSIStartTag tag "<!--#" svB
String that starts an include element
SSITimeFormat formatstring "%A, %d-%b-%Y %H:%M +svdhB
Configures the format in which date strings are +displayed
SSIUndefinedEcho string "(none)" svdhB
String displayed when an unset variable is echoed
SSLCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Client Auth
SSLCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Client Auth
SSLCADNRequestFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
SSLCADNRequestPath directory-pathsvE
Directory of PEM-encoded CA Certificates for +defining acceptable CA names
SSLCARevocationCheck chain|leaf|none [flags ...] none svE
Enable CRL-based revocation checking
SSLCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Client Auth
SSLCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Client Auth
SSLCertificateChainFile file-pathsvE
File of PEM-encoded Server CA Certificates
SSLCertificateFile file-path|certidsvE
Server PEM-encoded X.509 certificate data file or token identifier
SSLCertificateKeyFile file-path|keyidsvE
Server PEM-encoded private key file
SSLCipherSuite [protocol] cipher-spec DEFAULT (depends on +svdhE
Cipher Suite available for negotiation in SSL +handshake
SSLCompression on|off off svE
Enable compression on the SSL level
SSLCryptoDevice engine builtin sE
Enable use of a cryptographic hardware accelerator
SSLEngine on|off|optional off svE
SSL Engine Operation Switch
SSLFIPS on|off off sE
SSL FIPS mode Switch
SSLHonorCipherOrder on|off off svE
Option to prefer the server's cipher preference order
SSLInsecureRenegotiation on|off off svE
Option to enable support for insecure renegotiation
SSLOCSPDefaultResponder urisvE
Set the default responder URI for OCSP validation
SSLOCSPEnable on|leaf|off off svE
Enable OCSP validation of the client certificate chain
SSLOCSPNoverify on|off off svE
skip the OCSP responder certificates verification
SSLOCSPOverrideResponder on|off off svE
Force use of the default responder URI for OCSP validation
SSLOCSPProxyURL urlsvE
Proxy URL to use for OCSP requests
SSLOCSPResponderCertificateFile filesvE
Set of trusted PEM encoded OCSP responder certificates
SSLOCSPResponderTimeout seconds 10 svE
Timeout for OCSP queries
SSLOCSPResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP responses
SSLOCSPResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP response validation
SSLOCSPUseRequestNonce on|off on svE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd command-name command-valuesvE
Configure OpenSSL parameters through its SSL_CONF API
SSLOptions [+|-]option ...svdhE
Configure various SSL engine run-time options
SSLPassPhraseDialog type builtin sE
Type of pass phrase dialog for encrypted private +keys
SSLProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL/TLS protocol versions
SSLProxyCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
SSLProxyCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Remote Server Auth
SSLProxyCARevocationCheck chain|leaf|none none svE
Enable CRL-based revocation checking for Remote Server Auth
SSLProxyCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCheckPeerCN on|off on svE
Whether to check the remote server certificate's CN field +
SSLProxyCheckPeerExpire on|off on svE
Whether to check if remote server certificate is expired +
SSLProxyCheckPeerName on|off on svE
Configure host name checking for remote server certificates +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +svE
Cipher Suite available for negotiation in SSL +proxy handshake
SSLProxyEngine on|off off svE
SSL Proxy Engine Operation Switch
SSLProxyMachineCertificateChainFile filenamesvE
File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
SSLProxyMachineCertificateFile filenamesvE
File of concatenated PEM-encoded client certificates and keys to be used by the proxy
SSLProxyMachineCertificatePath directorysvE
Directory of PEM-encoded client certificates and keys to be used by the proxy
SSLProxyProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL protocol flavors for proxy usage
SSLProxyVerify level none svE
Type of remote server Certificate verification
SSLProxyVerifyDepth number 1 svE
Maximum depth of CA Certificates in Remote Server +Certificate verification
SSLRandomSeed context source +[bytes]sE
Pseudo Random Number Generator (PRNG) seeding +source
SSLRenegBufferSize bytes 131072 dhE
Set the size for the SSL renegotiation buffer
SSLRequire expressiondhE
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLdhE
Deny access when SSL is not used for the +HTTP request
SSLSessionCache type none sE
Type of the global/inter-process SSL Session +Cache
SSLSessionCacheTimeout seconds 300 svE
Number of seconds before an SSL session expires +in the Session Cache
SSLSessionTicketKeyFile file-pathsvE
Persistent encryption/decryption key for TLS session tickets
SSLSessionTickets on|off on svE
Enable or disable use of TLS session tickets
SSLSRPUnknownUserSeed secret-stringsvE
SRP unknown user seed
SSLSRPVerifierFile file-pathsvE
Path to SRP verifier file
SSLStaplingCache typesE
Configures the OCSP stapling cache
SSLStaplingErrorCacheTimeout seconds 600 svE
Number of seconds before expiring invalid responses in the OCSP stapling cache
SSLStaplingFakeTryLater on|off on svE
Synthesize "tryLater" responses for failed OCSP stapling queries
SSLStaplingForceURL urisvE
Override the OCSP responder URI specified in the certificate's AIA extension
SSLStaplingResponderTimeout seconds 10 svE
Timeout for OCSP stapling queries
SSLStaplingResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP stapling responses
SSLStaplingResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP stapling response validation
SSLStaplingReturnResponderErrors on|off on svE
Pass stapling related OCSP errors on to client
SSLStaplingStandardCacheTimeout seconds 3600 svE
Number of seconds before expiring responses in the OCSP stapling cache
SSLStrictSNIVHostCheck on|off off svE
Whether to allow non-SNI clients to access a name-based virtual +host. +
SSLUserName varnamesdhE
Variable name to determine user name
SSLUseStapling on|off off svE
Enable stapling of OCSP responses in the TLS handshake
SSLVerifyClient level none svdhE
Type of Client Certificate verification
SSLVerifyDepth number 1 svdhE
Maximum depth of CA Certificates in Client +Certificate verification
StartServers AnzahlsM
Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden
StartThreads AnzahlsM
Anzahl der Threads, die beim Start erstellt werden
StrictHostCheck ON|OFF OFF svC
Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Substitute s/pattern/substitution/[infq]dhE
Pattern to filter the response content
SubstituteInheritBefore on|off off dhE
Change the merge order of inherited patterns
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) 1m dhE
Set the maximum line size
Suexec On|OffsB
Enable or disable the suEXEC feature
SuexecUserGroup User GroupsvE
User and group for CGI programs to run as
ThreadLimit AnzahlsM
Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads + pro Kindprozess
ThreadsPerChild AnzahlsM
Anzahl der Threads, die mit jedem Kindprozess gestartet + werden
ThreadStackSize sizesM
Die Größe des Stacks in Bytes, der von Threads +verwendet wird, die Client-Verbindungen bearbeiten.
TimeOut Sekunden 60 sC
Zeitspanne, die der Server auf verschiedene Ereignisse wartet, +bevor er die Anfrage abbricht
TLSCertificate cert_file [key_file]svX
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)svX
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used.
TLSEngine [address:]portsX
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on svX
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionsvdhX
enables SSL variables for requests.
TLSProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemsvX
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)svX
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offsvX
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]svX
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsX
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sX
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on sC
Legt das Verhalten von TRACE-Anfragen fest
TransferLog file|pipesvB
Specify location of a log file
TypesConfig file-path conf/mime.types sB
The location of the mime.types file
UnDefine parameter-namesC
Undefine the existence of a variable
UndefMacro namesvdB
Undefine a macro
UnsetEnv env-variable [env-variable] +...svdhB
Removes variables from the environment
Use name [value1 ... valueN] +svdB
Use a macro
UseCanonicalName On|Off|DNS Off svdC
Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt
UseCanonicalPhysicalPort On|Off Off svdC
Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt
User unix-userid #-1 sB
The userid under which the server will answer +requests
UserDir directory-filename [directory-filename] ... +svB
Location of the user-specific directories
VHostCGIMode On|Off|Secure On vX
Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to subprocesses created +by a virtual host.
VHostGroup unix-groupidvX
Sets the Group ID under which a virtual host runs.
VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to a virtual host.
VHostSecure On|Off On vX
Determines whether the server runs with enhanced security +for the virtualhost.
VHostUser unix-useridvX
Sets the User ID under which a virtual host runs.
VirtualDocumentRoot interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
VirtualDocumentRootIP interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
<VirtualHost + Adresse[:Port] [Adresse[:Port]] + ...> ... </VirtualHost>sC
Enthält Direktiven, die nur auf bestimmte Hostnamen oder +IP-Adressen angewendet werden
VirtualScriptAlias interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
VirtualScriptAliasIP interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
WatchdogInterval time-interval[s] 1 sB
Watchdog interval in seconds
XBitHack on|off|full off svdhB
Parse SSI directives in files with the execute bit +set
xml2EncAlias charset alias [alias ...]sB
Recognise Aliases for encoding values
xml2EncDefault namesvdhB
Sets a default encoding to assume when absolutely no information +can be automatically detected
xml2StartParse element [element ...]svdhB
Advise the parser to skip leading junk.
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.en b/docs/manual/mod/quickreference.html.en new file mode 100644 index 0000000..eb9a502 --- /dev/null +++ b/docs/manual/mod/quickreference.html.en @@ -0,0 +1,1248 @@ + + + + + +Directive Quick Reference - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

Directive Quick Reference

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

The directive quick reference shows the usage, default, status, + and context of each Apache configuration directive. For more + information about each of these, see the Directive Dictionary.

+ +

The first column gives the directive name and usage. The second + column shows the default value of the directive, if a default exists. + If the default is too large to display, it will be truncated + and followed by "+".

+ +

The third and fourth columns list the contexts where the directive + is allowed and the status of the directive according to the legend + tables below.

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
sserver config
vvirtual host
ddirectory
h.htaccess
pproxy section
+ + + + + +
CCore
MMPM
BBase
EExtension
XExperimental
TExternal
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter protocol accept_filtersC
Configures optimizations for a Protocol's Listener Sockets
AcceptPathInfo On|Off|Default Default svdhC
Resources accept trailing pathname information
AccessFileName filename [filename] ... .htaccess svC
Name of the distributed configuration file
Action action-type cgi-script [virtual]svdhB
Activates a CGI script for a particular handler or +content-type
AddAlt string file [file] ...svdhB
Alternate text to display for a file, instead of an +icon selected by filename
AddAltByEncoding string MIME-encoding +[MIME-encoding] ...svdhB
Alternate text to display for a file instead of an icon +selected by MIME-encoding
AddAltByType string MIME-type +[MIME-type] ...svdhB
Alternate text to display for a file, instead of an +icon selected by MIME content-type
AddCharset charset extension +[extension] ...svdhB
Maps the given filename extensions to the specified content +charset
AddDefaultCharset On|Off|charset Off svdhC
Default charset parameter to be added when a response +content-type is text/plain or text/html
AddDescription string file [file] ...svdhB
Description to display for a file
AddEncoding encoding extension +[extension] ...svdhB
Maps the given filename extensions to the specified encoding +type
AddHandler handler-name extension +[extension] ...svdhB
Maps the filename extensions to the specified +handler
AddIcon icon name [name] +...svdhB
Icon to display for a file selected by name
AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...svdhB
Icon to display next to files selected by MIME +content-encoding
AddIconByType icon MIME-type +[MIME-type] ...svdhB
Icon to display next to files selected by MIME +content-type
AddInputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +client requests
AddLanguage language-tag extension +[extension] ...svdhB
Maps the given filename extension to the specified content +language
AddModuleInfo module-name stringsvE
Adds additional information to the module +information displayed by the server-info handler
AddOutputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +responses from the server
AddOutputFilterByType filter[;filter...] +media-type [media-type] ...svdhB
assigns an output filter to a particular media-type
AddType media-type extension +[extension] ...svdhB
Maps the given filename extensions onto the specified content +type
Alias [URL-path] +file-path|directory-pathsvdB
Maps URLs to filesystem locations
AliasMatch regex +file-path|directory-pathsvB
Maps URLs to filesystem locations using regular +expressions
Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts can access an area of the +server
AllowCONNECT port[-port] +[port[-port]] ... 443 563 svE
Ports that are allowed to CONNECT through the +proxy
AllowEncodedSlashes On|Off|NoDecode Off svC
Determines whether encoded path separators in URLs are allowed to +be passed through
AllowMethods reset|HTTP-method +[HTTP-method]... reset dX
Restrict access to the listed HTTP methods
AllowOverride All|None|directive-type +[directive-type] ... None (2.3.9 and lat +dC
Types of directives that are allowed in +.htaccess files
AllowOverrideList None|directive +[directive-type] ... None dC
Individual directives that are allowed in +.htaccess files
Anonymous user [user] ...dhE
Specifies userIDs that are allowed access without +password verification
Anonymous_LogEmail On|Off On dhE
Sets whether the password entered will be logged in the +error log
Anonymous_MustGiveEmail On|Off On dhE
Specifies whether blank passwords are allowed
Anonymous_NoUserID On|Off Off dhE
Sets whether the userID field may be empty
Anonymous_VerifyEmail On|Off Off dhE
Sets whether to check the password field for a correctly +formatted email address
AsyncRequestWorkerFactor factorsM
Limit concurrent connections per process
AuthBasicAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthBasicFake off|username [password]dhB
Fake basic authentication using the given expressions for +username and password
AuthBasicProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthBasicUseDigestAlgorithm MD5|Off Off dhB
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBDUserPWQuery querydE
SQL query to look up a password for a user
AuthDBDUserRealmQuery querydE
SQL query to look up a password hash for a user and realm. +
AuthDBMGroupFile file-pathdhE
Sets the name of the database file containing the list +of user groups for authorization
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store passwords
AuthDBMUserFile file-pathdhE
Sets the name of a database file containing the list of users and +passwords for authentication
AuthDigestAlgorithm MD5|MD5-sess MD5 dhE
Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
AuthDigestDomain URI [URI] ...dhE
URIs that are in the same protection space for digest +authentication
AuthDigestNonceLifetime seconds 300 dhE
How long the server nonce is valid
AuthDigestProvider provider-name +[provider-name] ... file dhE
Sets the authentication provider(s) for this location
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhE
Determines the quality-of-protection to use in digest +authentication
AuthDigestShmemSize size 1000 sE
The amount of shared memory to allocate for keeping track +of clients
AuthFormAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthFormBody fieldname httpd_body dB
The name of a form field carrying the body of the request to attempt on successful login
AuthFormDisableNoStore On|Off Off dB
Disable the CacheControl no-store header on the login page
AuthFormFakeBasicAuth On|Off Off dB
Fake a Basic Authentication header
AuthFormLocation fieldname httpd_location dB
The name of a form field carrying a URL to redirect to on successful login
AuthFormLoginRequiredLocation urldB
The URL of the page to be redirected to should login be required
AuthFormLoginSuccessLocation urldB
The URL of the page to be redirected to should login be successful
AuthFormLogoutLocation uridB
The URL to redirect to after a user has logged out
AuthFormMethod fieldname httpd_method dB
The name of a form field carrying the method of the request to attempt on successful login
AuthFormMimetype fieldname httpd_mimetype dB
The name of a form field carrying the mimetype of the body of the request to attempt on successful login
AuthFormPassword fieldname httpd_password dB
The name of a form field carrying the login password
AuthFormProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthFormSitePassphrase secretdB
Bypass authentication checks for high traffic sites
AuthFormSize size 8192 dB
The largest size of the form in bytes that will be parsed for the login details
AuthFormUsername fieldname httpd_username dB
The name of a form field carrying the login username
AuthGroupFile file-pathdhB
Sets the name of a text file containing the list +of user groups for authorization
AuthLDAPAuthorizePrefix prefix AUTHORIZE_ dhE
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritative off|on on dhE
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDN distinguished-namedhE
Optional DN to use in binding to the LDAP server
AuthLDAPBindPassword passworddhE
Password used in conjunction with the bind DN
AuthLDAPCharsetConfig file-pathsE
Language to charset conversion configuration file
AuthLDAPCompareAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServer on|off on dhE
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
When will the module de-reference aliases
AuthLDAPGroupAttribute attribute member uniqueMember +dhE
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDN on|off on dhE
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUser off|on off dhE
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPattern regex substitution (.*) $1 (remote use +dhE
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepth Number 10 dhE
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttribute uiddhE
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDN on|off off dhE
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttribute attribute member uniqueMember +dhE
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClass LdapObjectClass groupOfNames groupO +dhE
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhB
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthName auth-domaindhB
Authorization realm for use in HTTP +authentication
AuthnCacheContext directory|server|custom-string directory dB
Specify a context string for use in the cache key
AuthnCacheEnablesB
Enable Authn caching configured anywhere
AuthnCacheProvideFor authn-provider [...]dhB
Specify which authn provider(s) to cache for
AuthnCacheSOCache provider-name[:provider-args]sB
Select socache backend provider to use
AuthnCacheTimeout timeout (seconds) 300 (5 minutes) dhB
Set a timeout for cache entries
<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>sB
Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Enables a FastCGI application to handle the check_authn +authentication hook.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Defines a FastCGI application as a provider for +authentication and/or authorization
AuthType None|Basic|Digest|FormdhB
Type of user authentication
AuthUserFile file-pathdhB
Sets the name of a text file containing the list of users and +passwords for authentication
AuthzDBDLoginToReferer On|Off Off dE
Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
AuthzDBDQuery querydE
Specify the SQL Query for the required operation
AuthzDBDRedirectQuery querydE
Specify a query to look up a login page for the user
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store list of user groups
<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +sB
Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
AuthzSendForbiddenOnFailure On|Off Off dhB
Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
BalancerGrowth # 5 svE
Number of additional Balancers that can be added Post-configuration
BalancerInherit On|Off On svE
Inherit ProxyPassed Balancers/Workers from the main server
BalancerMember [balancerurl] url [key=value [key=value ...]]dE
Add a member to a load balancing group
BalancerPersist On|Off Off svE
Attempt to persist changes made by the Balancer Manager across restarts.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix svE
How the outgoing ETag header should be modified during compression
BrotliCompressionMaxInputBlock valuesvE
Maximum input block size
BrotliCompressionQuality value 5 svE
Compression quality
BrotliCompressionWindow value 18 svE
Brotli sliding compression window size
BrotliFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on HTTP User-Agent +
BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on User-Agent without +respect to case
BufferedLogs On|Off Off sB
Buffer log entries in memory before writing to disk
BufferSize integer 131072 svdhE
Maximum size in bytes to buffer by the buffer filter
CacheDefaultExpire seconds 3600 (one hour) svdhE
The default duration to cache a document when no expiry date is specified.
CacheDetailHeader on|off off svdhE
Add an X-Cache-Detail header to the response.
CacheDirLength length 2 svE
The number of characters in subdirectory names
CacheDirLevels levels 2 svE
The number of levels of subdirectories in the +cache.
CacheDisable url-string | onsvdhE
Disable caching of specified URLs
CacheEnable cache_type [url-string]svdE
Enable caching of specified URLs using a specified storage +manager
CacheFile file-path [file-path] ...sX
Cache a list of file handles at startup time
CacheHeader on|off off svdhE
Add an X-Cache header to the response.
CacheIgnoreCacheControl On|Off Off svE
Ignore request to not serve cached content to client
CacheIgnoreHeaders header-string [header-string] ... None svE
Do not store the given HTTP header(s) in the cache. +
CacheIgnoreNoLastMod On|Off Off svdhE
Ignore the fact that a response has no Last Modified +header.
CacheIgnoreQueryString On|Off Off svE
Ignore query string when caching
CacheIgnoreURLSessionIdentifiers identifier [identifier] ... None svE
Ignore defined session identifiers encoded in the URL when caching +
CacheKeyBaseURL URLsvE
Override the base URL of reverse proxied cache keys.
CacheLastModifiedFactor float 0.1 svdhE
The factor used to compute an expiry date based on the +LastModified date.
CacheLock on|off off svE
Enable the thundering herd lock.
CacheLockMaxAge integer 5 svE
Set the maximum possible age of a cache lock.
CacheLockPath directory /tmp/mod_cache-lock +svE
Set the lock path directory.
CacheMaxExpire seconds 86400 (one day) svdhE
The maximum time in seconds to cache a document
CacheMaxFileSize bytes 1000000 svdhE
The maximum size (in bytes) of a document to be placed in the +cache
CacheMinExpire seconds 0 svdhE
The minimum time in seconds to cache a document
CacheMinFileSize bytes 1 svdhE
The minimum size (in bytes) of a document to be placed in the +cache
CacheNegotiatedDocs On|Off Off svB
Allows content-negotiated documents to be +cached by proxy servers
CacheQuickHandler on|off on svE
Run the cache from the quick handler.
CacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheRoot directorysvE
The directory root under which cache files are +stored
CacheSocache type[:args]svE
The shared object cache implementation to use
CacheSocacheMaxSize bytes 102400 svdhE
The maximum size (in bytes) of an entry to be placed in the +cache
CacheSocacheMaxTime seconds 86400 svdhE
The maximum time (in seconds) for a document to be placed in the +cache
CacheSocacheMinTime seconds 600 svdhE
The minimum time (in seconds) for a document to be placed in the +cache
CacheSocacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheSocacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheStaleOnError on|off on svdhE
Serve stale content in place of 5xx responses.
CacheStoreExpired On|Off Off svdhE
Attempt to cache responses that the server reports as expired
CacheStoreNoStore On|Off Off svdhE
Attempt to cache requests or responses that have been marked as no-store.
CacheStorePrivate On|Off Off svdhE
Attempt to cache responses that the server has marked as private
CGIDScriptTimeout time[s|ms]svdhB
The length of time to wait for more output from the +CGI program
CGIMapExtension cgi-path .extensiondhC
Technique for locating the interpreter for CGI +scripts
CGIPassAuth On|Off Off dhC
Enables passing HTTP authorization headers to scripts as CGI +variables
CGIVar variable ruledhC
Controls how some CGI variables are set
CharsetDefault charsetsvdhE
Charset to translate into
CharsetOptions option [option] ... ImplicitAdd svdhE
Configures charset translation behavior
CharsetSourceEnc charsetsvdhE
Source charset of files
CheckBasenameMatch on|off On svdhE
Also match files with differing file name extensions.
CheckCaseOnly on|off Off svdhE
Limits the action of the speling module to case corrections
CheckSpelling on|off Off svdhE
Enables the spelling +module
ChrootDir /path/to/directorysB
Directory for apache to run chroot(8) after startup.
ContentDigest On|Off Off svdhC
Enables the generation of Content-MD5 HTTP Response +headers
CookieDomain domainsvdhE
The domain to which the tracking cookie applies
CookieExpires expiry-periodsvdhE
Expiry time for the tracking cookie
CookieHTTPOnly on|off off svdhE
Adds the 'HTTPOnly' attribute to the cookie
CookieName token Apache svdhE
Name of the tracking cookie
CookieSameSite None|Lax|StrictsvdhE
Adds the 'SameSite' attribute to the cookie
CookieSecure on|off off svdhE
Adds the 'Secure' attribute to the cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
Format of the cookie header field
CookieTracking on|off off svdhE
Enables tracking cookie
CoreDumpDirectory directorysM
Directory where Apache HTTP Server attempts to +switch before dumping core
CustomLog file|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]svB
Sets filename and format of log file
Dav On|Off|provider-name Off dE
Enable WebDAV HTTP methods
DavDepthInfinity on|off off svdE
Allow PROPFIND, Depth: Infinity requests
DavGenericLockDB file-pathsvdE
Location of the DAV lock database
DavLockDB file-pathsvE
Location of the DAV lock database
DavLockDiscovery on|off on svdhE
Enable lock discovery
DavMinTimeout seconds 0 svdE
Minimum amount of time the server holds a lock on +a DAV resource
DBDExptime time-in-seconds 300 svE
Keepalive time for idle connections
DBDInitSQL "SQL statement"svE
Execute an SQL statement after connecting to a database
DBDKeep number 2 svE
Maximum sustained number of connections
DBDMax number 10 svE
Maximum number of connections
DBDMin number 1 svE
Minimum number of connections
DBDParams +param1=value1[,param2=value2]svE
Parameters for database connection
DBDPersist On|OffsvE
Whether to use persistent connections
DBDPrepareSQL "SQL statement" labelsvE
Define an SQL prepared statement
DBDriver namesvE
Specify an SQL driver
DefaultIcon url-pathsvdhB
Icon to display for files when no specific icon is +configured
DefaultLanguage language-tagsvdhB
Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
DefaultRuntimeDir directory-path DEFAULT_REL_RUNTIME +sC
Base directory for the server run-time files
DefaultType media-type|none none svdhC
This directive has no effect other than to emit warnings +if the value is not none. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +
Define parameter-name [parameter-value]svdC
Define a variable
DeflateBufferSize value 8096 svE
Fragment size to be compressed at one time by zlib
DeflateCompressionLevel valuesvE
How much compression do we apply to the output
DeflateFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
DeflateInflateLimitRequestBody valuesvdhE
Maximum size of inflated request bodies
DeflateInflateRatioBurst value 3 svdhE
Maximum number of times the inflation ratio for request bodies + can be crossed
DeflateInflateRatioLimit value 200 svdhE
Maximum inflation ratio for request bodies
DeflateMemLevel value 9 svE
How much memory should be used by zlib for compression
DeflateWindowSize value 15 svE
Zlib compression window size
Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts are denied access to the +server
<Directory directory-path> +... </Directory>svC
Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.
DirectoryCheckHandler On|Off Off svdhB
Toggle how this module responds when another handler is configured
DirectoryIndex + disabled | local-url [local-url] ... index.html svdhB
List of resources to look for when the client requests +a directory
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code + off svdhB
Configures an external redirect for directory indexes. +
<DirectoryMatch regex> +... </DirectoryMatch>svC
Enclose directives that apply to +the contents of file-system directories matching a regular expression.
DirectorySlash On|Off On svdhB
Toggle trailing slash redirects on or off
DocumentRoot directory-path "/usr/local/apache/ +svC
Directory that forms the main document tree visible +from the web
DTracePrivileges On|Off Off sX
Determines whether the privileges required by dtrace are enabled.
DumpIOInput On|Off Off sE
Dump all input data to the error log
DumpIOOutput On|Off Off sE
Dump all output data to the error log
<Else> ... </Else>svdhC
Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
<ElseIf expression> ... </ElseIf>svdhC
Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
EnableExceptionHook On|Off Off sM
Enables a hook that runs exception handlers +after a crash
EnableMMAP On|Off On svdhC
Use memory-mapping to read files during delivery
EnableSendfile On|Off Off svdhC
Use the kernel sendfile support to deliver files to the client
Error messagesvdhC
Abort configuration parsing with a custom error message
ErrorDocument error-code documentsvdhC
What the server will return to the client +in case of an error
ErrorLog file-path|syslog[:[facility][:tag]] logs/error_log (Uni +svC
Location where the server will log errors
ErrorLogFormat [connection|request] formatsvC
Format specification for error log entries
ExamplesvdhX
Demonstration directive to illustrate the Apache module +API
ExpiresActive On|Off Off svdhE
Enables generation of Expires +headers
ExpiresByType MIME-type +<code>secondssvdhE
Value of the Expires header configured +by MIME type
ExpiresDefault <code>secondssvdhE
Default algorithm for calculating expiration time
ExtendedStatus On|Off Off[*] sC
Keep track of extended status information for each +request
ExtFilterDefine filtername parameterssE
Define an external filter
ExtFilterOptions option [option] ... NoLogStderr dE
Configure mod_ext_filter options
FallbackResource disabled | local-urlsvdhB
Define a default URL for requests that don't map to a file
FileETag component ... MTime Size svdhC
File attributes used to create the ETag +HTTP response header for static files
<Files filename> ... </Files>svdhC
Contains directives that apply to matched +filenames
<FilesMatch regex> ... </FilesMatch>svdhC
Contains directives that apply to regular-expression matched +filenames
FilterChain [+=-@!]filter-name ...svdhB
Configure the filter chain
FilterDeclare filter-name [type]svdhB
Declare a smart filter
FilterProtocol filter-name [provider-name] + proto-flagssvdhB
Deal with correct HTTP protocol handling
FilterProvider filter-name provider-name + expressionsvdhB
Register a content filter
FilterTrace filter-name levelsvdB
Get debug/diagnostic information from + mod_filter
FlushMaxPipelined number 5 svC
Maximum number of pipelined responses above which they are flushed +to the network
FlushMaxThreshold number-of-bytes 65536 svC
Threshold above which pending data are flushed to the +network
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
Action to take if a single acceptable document is not +found
ForceType media-type|NonedhC
Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field
ForensicLog filename|pipesvE
Sets filename of the forensic log
GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]sB
Sets filename and format of log file
GprofDir /tmp/gprof/|/tmp/gprof/%svC
Directory to write gmon.out profiling data to.
GracefulShutdownTimeout seconds 0 sM
Specify a timeout after which a gracefully shutdown server +will exit.
Group unix-group #-1 sB
Group under which the server will answer +requests
H2CopyFiles on|off off svdhE
Determine file handling in responses
H2Direct on|off on for h2c, off for +svE
H2 Direct Protocol Switch
H2EarlyHints on|off off svE
Determine sending of 103 status codes
H2MaxSessionStreams n 100 svE
Maximum number of active streams per HTTP/2 session.
H2MaxWorkerIdleSeconds n 600 sE
Maximum number of seconds h2 workers remain idle until shut down.
H2MaxWorkers nsE
Maximum number of worker threads to use per child process.
H2MinWorkers nsE
Minimal number of worker threads to use per child process.
H2ModernTLSOnly on|off on svE
Require HTTP/2 connections to be "modern TLS" only
H2OutputBuffering on|off on svE
Determine buffering behaviour of output
H2Padding numbits 0 svE
Determine the range of padding bytes added to payload frames
H2Push on|off on svdhE
H2 Server Push Switch
H2PushDiarySize n 256 svE
H2 Server Push Diary Size
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 svE
H2 Server Push Priority
H2PushResource [add] path [critical]svdhE
Declares resources for early pushing to the client
H2SerializeHeaders on|off off svE
Serialize Request/Response Processing Switch
H2StreamMaxMemSize bytes 65536 svE
Maximum amount of output data buffered per stream.
H2TLSCoolDownSecs seconds 1 svE
Configure the number of seconds of idle time on TLS before shrinking writes
H2TLSWarmUpSize amount 1048576 svE
Configure the number of bytes on TLS connection before doing max writes
H2Upgrade on|off on for h2c, off for +svdhE
H2 Upgrade Protocol Switch
H2WindowSize bytes 65535 svE
Size of Stream Window for upstream data.
Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP response headers
HeaderName filenamesvdhB
Name of the file that will be inserted at the top +of the index listing
HeartbeatAddress addr:portsX
Multicast address for heartbeat packets
HeartbeatListen addr:portsX
multicast address to listen for incoming heartbeat requests
HeartbeatMaxServers number-of-servers 10 sX
Specifies the maximum number of servers that will be sending +heartbeat requests to this server
HeartbeatStorage file-path logs/hb.dat sX
Path to store heartbeat data when using flat-file storage
HeartbeatStorage file-path logs/hb.dat sX
Path to read heartbeat data
HostnameLookups On|Off|Double Off svdC
Enables DNS lookups on client IP addresses
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +svC
Modify restrictions on HTTP Request Messages
IdentityCheck On|Off Off svdE
Enables logging of the RFC 1413 identity of the remote +user
IdentityCheckTimeout seconds 30 svdE
Determines the timeout duration for ident requests
<If expression> ... </If>svdhC
Contains directives that apply only if a condition is +satisfied by a request at runtime
<IfDefine [!]parameter-name> ... + </IfDefine>svdhC
Encloses directives that will be processed only +if a test is true at startup
<IfDirective [!]directive-name> ... + </IfDirective>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific directive
<IfFile [!]filename> ... + </IfFile>svdhC
Encloses directives that will be processed only +if file exists at startup
<IfModule [!]module-file|module-identifier> ... + </IfModule>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific module
<IfSection [!]section-name> ... + </IfSection>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific section directive
<IfVersion [[!]operator] version> ... +</IfVersion>svdhE
contains version dependent configuration
ImapBase map|referer|URL http://servername/ svdhB
Default base for imagemap files
ImapDefault error|nocontent|map|referer|URL nocontent svdhB
Default action when an imagemap is called with coordinates +that are not explicitly mapped
ImapMenu none|formatted|semiformatted|unformatted formatted svdhB
Action if no coordinates are given when calling +an imagemap
Include file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IncludeOptional file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IndexHeadInsert "markup ..."svdhB
Inserts text in the HEAD section of an index page.
IndexIgnore file [file] ... "." svdhB
Adds to the list of files to hide when listing +a directory
IndexIgnoreReset ON|OFFsvdhB
Empties the list of files to hide when listing +a directory
IndexOptions [+|-]option [[+|-]option] +...svdhB
Various configuration settings for directory +indexing
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
Sets the default ordering of the directory index
IndexStyleSheet url-pathsvdhB
Adds a CSS stylesheet to the directory index
InputSed sed-commanddhX
Sed command to filter request data (typically POST data)
ISAPIAppendLogToErrors on|off off svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
ISAPIAppendLogToQuery on|off on svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
ISAPICacheFile file-path [file-path] +...svB
ISAPI .dll files to be loaded at startup
ISAPIFakeAsync on|off off svdhB
Fake asynchronous support for ISAPI callbacks
ISAPILogNotSupported on|off off svdhB
Log unsupported feature requests from ISAPI +extensions
ISAPIReadAheadBuffer size 49152 svdhB
Size of the Read Ahead Buffer sent to ISAPI +extensions
KeepAlive On|Off On svC
Enables HTTP persistent connections
KeepAliveTimeout num[ms] 5 svC
Amount of time the server will wait for subsequent +requests on a persistent connection
KeptBodySize maximum size in bytes 0 dB
Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.
LanguagePriority MIME-lang [MIME-lang] +...svdhB
The precedence of language variants for cases where +the client does not express a preference
LDAPCacheEntries number 1024 sE
Maximum number of entries in the primary LDAP cache
LDAPCacheTTL seconds 600 sE
Time that cached items remain valid
LDAPConnectionPoolTTL n -1 svE
Discard backend connections that have been sitting in the connection pool too long
LDAPConnectionTimeout secondssE
Specifies the socket connection timeout in seconds
LDAPLibraryDebug 7sE
Enable debugging in the LDAP SDK
LDAPOpCacheEntries number 1024 sE
Number of entries used to cache LDAP compare +operations
LDAPOpCacheTTL seconds 600 sE
Time that entries in the operation cache remain +valid
LDAPReferralHopLimit numberdhE
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferrals On|Off|default On dhE
Enable referral chasing during queries to the LDAP server.
LDAPRetries number-of-retries 3 sE
Configures the number of LDAP server retries.
LDAPRetryDelay seconds 0 sE
Configures the delay between LDAP server retries.
LDAPSharedCacheFile directory-path/filenamesE
Sets the shared memory cache file
LDAPSharedCacheSize bytes 500000 sE
Size in bytes of the shared-memory cache
LDAPTimeout seconds 60 sE
Specifies the timeout for LDAP search and bind operations, in seconds
LDAPTrustedClientCert type directory-path/filename/nickname [password]dhE
Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
LDAPTrustedGlobalCert type directory-path/filename [password]sE
Sets the file or database containing global trusted +Certificate Authority or global client certificates
LDAPTrustedMode typesvE
Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
LDAPVerifyServerCert On|Off On sE
Force server certificate verification
<Limit method [method] ... > ... + </Limit>dhC
Restrict enclosed access controls to only certain HTTP +methods
<LimitExcept method [method] ... > ... + </LimitExcept>dhC
Restrict access controls to all HTTP methods +except the named ones
LimitInternalRecursion number [number] 10 svC
Determine maximum number of internal redirects and nested +subrequests
LimitRequestBody bytes 1073741824 svdhC
Restricts the total size of the HTTP request body sent +from the client
LimitRequestFields number 100 svC
Limits the number of HTTP request header fields that +will be accepted from the client
LimitRequestFieldSize bytes 8190 svC
Limits the size of the HTTP request header allowed from the +client
LimitRequestLine bytes 8190 svC
Limit the size of the HTTP request line that will be accepted +from the client
LimitXMLRequestBody bytes 1000000 svdhC
Limits the size of an XML-based request body
Listen [IP-address:]portnumber [protocol]sM
IP addresses and ports that the server +listens to
ListenBackLog backlog 511 sM
Maximum length of the queue of pending connections
ListenCoresBucketsRatio ratio 0 (disabled) sM
Ratio between the number of CPU cores (online) and the number of +listeners' buckets
LoadFile filename [filename] ...svE
Link in the named object file or library
LoadModule module filenamesvE
Links in the object file or library, and adds to the list +of active modules
<Location + URL-path|URL> ... </Location>svC
Applies the enclosed directives only to matching +URLs
<LocationMatch + regex> ... </LocationMatch>svC
Applies the enclosed directives only to regular-expression +matching URLs
LogFormat format|nickname +[nickname] "%h %l %u %t \"%r\" +svB
Describes a format for use in a log file
LogIOTrackTTFB ON|OFF OFF svdhE
Enable tracking of time to first byte (TTFB)
LogLevel [module:]level + [module:level] ... + warn svdC
Controls the verbosity of the ErrorLog
LogMessage message +[hook=hook] [expr=expression] +dX
Log user-defined message to error log +
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Plug an authorization provider function into mod_authz_core +
LuaCodeCache stat|forever|never stat svdhE
Configure the compiled code cache.
LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the access_checker phase of request processing
LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the check_user_id phase of request processing
LuaHookFixups /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFilter /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the insert_filter phase of request processing
LuaHookLog /path/to/lua/script.lua log_function_namesvdhE
Provide a hook for the access log phase of a request +processing
LuaHookMapToStorage /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslate /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]svE
Provide a hook for the translate name phase of request processing
LuaHookTypeChecker /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the type_checker phase of request processing
LuaInherit none|parent-first|parent-last parent-first svdhE
Controls how parent configuration sections are merged into children
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content input filtering
LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]svdhE
Map a path to a lua handler
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content output filtering
LuaPackageCPath /path/to/include/?.soasvdhE
Add a directory to lua's package.cpath
LuaPackagePath /path/to/include/?.luasvdhE
Add a directory to lua's package.path
LuaQuickHandler /path/to/script.lua hook_function_namesvE
Provide a hook for the quick handler of request processing
LuaRoot /path/to/a/directorysvdhE
Specify the base path for resolving relative paths for mod_lua directives
LuaScope once|request|conn|thread|server [min] [max] once svdhE
One of once, request, conn, thread -- default is once
+<Macro name [par1 .. parN]> +... </Macro>svdB
Define a configuration file macro
MaxConnectionsPerChild number 0 sM
Limit on the number of connections that an individual child server +will handle during its life
MaxKeepAliveRequests number 100 svC
Number of requests allowed on a persistent +connection
MaxMemFree KBytes 2048 sM
Maximum amount of memory that the main allocator is allowed +to hold without calling free()
MaxRangeOverlaps default | unlimited | none | number-of-ranges 20 svdC
Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
MaxRangeReversals default | unlimited | none | number-of-ranges 20 svdC
Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
MaxRanges default | unlimited | none | number-of-ranges 200 svdC
Number of ranges allowed before returning the complete +resource
MaxRequestWorkers numbersM
Maximum number of connections that will be processed +simultaneously
MaxSpareServers number 10 sM
Maximum number of idle child server processes
MaxSpareThreads numbersM
Maximum number of idle threads
MaxThreads number 2048 sM
Set the maximum number of worker threads
MDActivationDelay durationsX
-
MDBaseServer on|off off sX
Control if base server may be managed or only virtual hosts.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sX
Type of ACME challenge used to prove domain ownership.
MDCertificateAgreement acceptedsX
You confirm that you accepted the Terms of Service of the Certificate + Authority.
MDCertificateAuthority url letsencrypt sX
The URL(s) of the ACME Certificate Authority to use.
MDCertificateCheck name urlsX
-
MDCertificateFile path-to-pem-filesX
Specify a static certificate file for the MD.
MDCertificateKeyFile path-to-filesX
Specify a static private key for for the static cerrtificate.
MDCertificateMonitor name url crt.sh https://crt. +sX
The URL of a certificate log monitor.
MDCertificateProtocol protocol ACME sX
The protocol to use with the Certificate Authority.
MDCertificateStatus on|off on sX
Exposes public certificate information in JSON.
MDChallengeDns01 path-to-commandsX
-
MDContactEmail addresssX
-
MDDriveMode always|auto|manual auto sX
former name of MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sX
-
MDHttpProxy urlsX
Define a proxy for outgoing connections.
MDMember hostnamesX
Additional hostname for the managed domain.
MDMembers auto|manual auto sX
Control if the alias domain names are automatically added.
MDMessageCmd path-to-cmd optional-argssX
Handle events for Manage Domains
MDMustStaple on|off off sX
Control if new certificates carry the OCSP Must Staple flag.
MDNotifyCmd path [ args ]sX
Run a program when a Managed Domain is ready.
MDomain dns-name [ other-dns-name... ] [auto|manual]sX
Define list of domain names that belong to one group.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sX
Container for directives applied to the same managed domains.
MDPortMap map1 [ map2 ] http:80 https:443 sX
Map external to internal ports for domain ownership verification.
MDPrivateKeys type [ params... ] RSA 2048 sX
Set type and size of the private keys generated.
MDRenewMode always|auto|manual auto sX
Controls if certificates shall be renewed.
MDRenewWindow duration 33% sX
Control when a certificate will be renewed.
MDRequireHttps off|temporary|permanent off sX
Redirects http: traffic to https: for Managed Domains.
MDRetryDelay duration 5s sX
-
MDRetryFailover number 13 sX
-
MDServerStatus on|off on sX
Control if Managed Domain information is added to server-status.
MDStapleOthers on|off on sX
Enable stapling for certificates not managed by mod_md.
MDStapling on|off off sX
Enable stapling for all or a particular MDomain.
MDStaplingKeepResponse duration 7d sX
Controls when old responses should be removed.
MDStaplingRenewWindow duration 33% sX
Control when the stapling responses will be renewed.
MDStoreDir path md sX
Path on the local file system to store the Managed Domains data.
MDStoreLocks on|off|duration off sX
-
MDWarnWindow duration 10% sX
Define the time window when you want to be warned about an expiring certificate.
MemcacheConnTTL num[units] 15s svE
Keepalive time for idle connections
MergeSlashes ON|OFF ON svC
Controls whether the server merges consecutive slashes in URLs. +
MergeTrailers [on|off] off svC
Determines whether trailers are merged into headers
MetaDir directory .web svdhE
Name of the directory to find CERN-style meta information +files
MetaFiles on|off off svdhE
Activates CERN meta-file processing
MetaSuffix suffix .meta svdhE
File name suffix for the file containing CERN-style +meta information
MimeMagicFile file-pathsvE
Enable MIME-type determination based on file contents +using the specified magic file
MinSpareServers number 5 sM
Minimum number of idle child server processes
MinSpareThreads numbersM
Minimum number of idle threads available to handle request +spikes
MMapFile file-path [file-path] ...sX
Map a list of files into memory at startup time
ModemStandard V.21|V.26bis|V.32|V.34|V.92dX
Modem standard to simulate
ModMimeUsePathInfo On|Off Off dB
Tells mod_mime to treat path_info +components as part of the filename
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly svdhB
The types of files that will be included when searching for +a matching file with MultiViews
Mutex mechanism [default|mutex-name] ... [OmitPID] default sC
Configures mutex mechanism and lock file directory for all +or specified mutexes
NameVirtualHost addr[:port]sC
DEPRECATED: Designates an IP address for name-virtual +hosting
NoProxy host [host] ...svE
Hosts, domains, or networks that will be connected to +directly
NWSSLTrustedCerts filename [filename] ...sB
List of additional client certificates
NWSSLUpgradeable [IP-address:]portnumbersB
Allows a connection to be upgraded to an SSL connection upon request
Options + [+|-]option [[+|-]option] ... FollowSymlinks svdhC
Configures what features are available in a particular +directory
Order ordering Deny,Allow dhE
Controls the default access state and the order in which +Allow and Deny are +evaluated.
OutputSed sed-commanddhX
Sed command for filtering response content
PassEnv env-variable [env-variable] +...svdhB
Passes environment variables from the shell
PidFile filename logs/httpd.pid sM
File where the server records the process ID +of the daemon
PrivilegesMode FAST|SECURE|SELECTIVE FAST svdX
Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Protocol protocolsvC
Protocol for a listening socket
ProtocolEcho On|Off Off svX
Turn the echo server on or off
Protocols protocol ... http/1.1 svC
Protocols available for a server/virtual host
ProtocolsHonorOrder On|Off On svC
Determines if order of Protocols determines precedence during negotiation
<Proxy wildcard-url> ...</Proxy>svE
Container for directives applied to proxied resources
Proxy100Continue Off|On On svdE
Forward 100-continue expectation to the origin server
ProxyAddHeaders Off|On On svdE
Add proxy information in X-Forwarded-* headers
ProxyBadHeader IsError|Ignore|StartBody IsError svE
Determines how to handle bad header lines in a +response
ProxyBlock *|word|host|domain +[word|host|domain] ...svE
Words, hosts, or domains that are banned from being +proxied
ProxyDomain DomainsvE
Default domain name for proxied requests
ProxyErrorOverride Off|On [code ...] Off svdE
Override error pages for proxied content
ProxyExpressDBMFile pathnamesvE
Pathname to DBM file.
ProxyExpressDBMType type default svE
DBM type of file.
ProxyExpressEnable on|off off svE
Enable the module functionality.
ProxyFCGIBackendType FPM|GENERIC FPM svdhE
Specify the type of backend FastCGI application
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]svdhE
Allow variables sent to FastCGI servers to be fixed up
ProxyFtpDirCharset character_set ISO-8859-1 svdE
Define the character set for proxied FTP listings
ProxyFtpEscapeWildcards on|off on svdE
Whether wildcards in requested filenames are escaped when sent to the FTP server
ProxyFtpListOnWildcard on|off on svdE
Whether wildcards in requested filenames trigger a file listing
ProxyHCExpr name {ap_expr expression}svE
Creates a named condition expression to use to determine health of the backend based on its response
ProxyHCTemplate name parameter=setting [...]svE
Creates a named template for setting various health check parameters
ProxyHCTPsize size 16 sE
Sets the total server-wide size of the threadpool used for the health check workers
ProxyHTMLBufSize bytes 8192 svdB
Sets the buffer size increment for buffering inline scripts and +stylesheets.
ProxyHTMLCharsetOut Charset | *svdB
Specify a charset for mod_proxy_html output.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
svdB
Sets an HTML or XHTML document type declaration.
ProxyHTMLEnable On|Off Off svdB
Turns the proxy_html filter on or off.
ProxyHTMLEvents attribute [attribute ...]svdB
Specify attributes to treat as scripting events.
ProxyHTMLExtended On|Off Off svdB
Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
ProxyHTMLFixups [lowercase] [dospath] [reset]svdB
Fixes for simple HTML errors.
ProxyHTMLInterp On|Off Off svdB
Enables per-request interpolation of +ProxyHTMLURLMap rules.
ProxyHTMLLinks element attribute [attribute2 ...]svdB
Specify HTML elements that have URL attributes to be rewritten.
ProxyHTMLMeta On|Off Off svdB
Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
ProxyHTMLStripComments On|Off Off svdB
Determines whether to strip HTML comments.
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]svdB
Defines a rule to rewrite HTML links
ProxyIOBufferSize bytes 8192 svE
Determine size of internal data throughput buffer
<ProxyMatch regex> ...</ProxyMatch>svE
Container for directives applied to regular-expression-matched +proxied resources
ProxyMaxForwards number -1 svE
Maximum number of proxies that a request can be forwarded +through
ProxyPass [path] !|url [key=value + [key=value ...]] [nocanon] [interpolate] [noquery]svdE
Maps remote servers into the local server URL-space
ProxyPassInherit On|Off On svE
Inherit ProxyPass directives defined from the main server
ProxyPassInterpolateEnv On|Off Off svdE
Enable Environment Variable interpolation in Reverse Proxy configurations
ProxyPassMatch [regex] !|url [key=value + [key=value ...]]svdE
Maps remote servers into the local server URL-space using regular expressions
ProxyPassReverse [path] url +[interpolate]svdE
Adjusts the URL in HTTP response headers sent from a reverse +proxied server
ProxyPassReverseCookieDomain internal-domain +public-domain [interpolate]svdE
Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server
ProxyPassReverseCookiePath internal-path +public-path [interpolate]svdE
Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server
ProxyPreserveHost On|Off Off svdE
Use incoming Host HTTP request header for proxy +request
ProxyReceiveBufferSize bytes 0 svE
Network buffer size for proxied HTTP and FTP +connections
ProxyRemote match remote-serversvE
Remote proxy used to handle certain requests
ProxyRemoteMatch regex remote-serversvE
Remote proxy used to handle requests matched by regular +expressions
ProxyRequests On|Off Off svE
Enables forward (standard) proxy requests
ProxySCGIInternalRedirect On|Off|Headername On svdE
Enable or disable internal redirect responses from the +backend
ProxySCGISendfile On|Off|Headername Off svdE
Enable evaluation of X-Sendfile pseudo response +header
ProxySet url key=value [key=value ...]svdE
Set various Proxy balancer or member parameters
ProxySourceAddress addresssvE
Set local IP address for outgoing proxy connections
ProxyStatus Off|On|Full Off svE
Show Proxy LoadBalancer status in mod_status
ProxyTimeout secondssvE
Network timeout for proxied requests
ProxyVia On|Off|Full|Block Off svE
Information provided in the Via HTTP response +header for proxied requests
ProxyWebsocketFallbackToProxyHttp On|Off On svE
Instructs this module to let mod_proxy_http handle the request
QualifyRedirectURL On|Off Off svdC
Controls whether the REDIRECT_URL environment variable is + fully qualified
ReadBufferSize bytes 8192 svdC
Size of the buffers used to read data
ReadmeName filenamesvdhB
Name of the file that will be inserted at the end +of the index listing
ReceiveBufferSize bytes 0 sM
TCP receive buffer size
Redirect [status] [URL-path] +URLsvdhB
Sends an external redirect asking the client to fetch +a different URL
RedirectMatch [status] regex +URLsvdhB
Sends an external redirect based on a regular expression match +of the current URL
RedirectPermanent URL-path URLsvdhB
Sends an external permanent redirect asking the client to fetch +a different URL
RedirectTemp URL-path URLsvdhB
Sends an external temporary redirect asking the client to fetch +a different URL
RedisConnPoolTTL num[units] 15s svE
TTL used for the connection pool with the Redis server(s)
RedisTimeout num[units] 5s svE
R/W timeout used for the connection with the Redis server(s)
ReflectorHeader inputheader [outputheader]svdhB
Reflect an input header to the output headers
RegexDefaultOptions [none] [+|-]option [[+|-]option] ... DOTALL DOLLAR_ENDON +sC
Allow to configure global/default options for regexes
RegisterHttpMethod method [method [...]]sC
Register non-standard HTTP methods
RemoteIPHeader header-fieldsvB
Declare the header field which should be parsed for useragent IP addresses
RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPInternalProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPProxiesHeader HeaderFieldNamesvB
Declare the header field which will record all intermediate IP addresses
RemoteIPProxyProtocol On|OffsvB
Enable or disable PROXY protocol handling
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]svB
Disable processing of PROXY header for certain hosts or networks
RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPTrustedProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoveCharset extension [extension] +...vdhB
Removes any character set associations for a set of file +extensions
RemoveEncoding extension [extension] +...vdhB
Removes any content encoding associations for a set of file +extensions
RemoveHandler extension [extension] +...vdhB
Removes any handler associations for a set of file +extensions
RemoveInputFilter extension [extension] +...vdhB
Removes any input filter associations for a set of file +extensions
RemoveLanguage extension [extension] +...vdhB
Removes any language associations for a set of file +extensions
RemoveOutputFilter extension [extension] +...vdhB
Removes any output filter associations for a set of file +extensions
RemoveType extension [extension] +...vdhB
Removes any content type associations for a set of file +extensions
RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP request headers
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] + handshake=0 header= +svE
Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Require [not] entity-name + [entity-name] ...dhB
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll> ... </RequireAll>dhB
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny> ... </RequireAny>dhB
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone> ... </RequireNone>dhB
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
RewriteBase URL-pathdhE
Sets the base URL for per-directory rewrites
RewriteCond + TestString CondPattern [flags]svdhE
Defines a condition under which rewriting will take place +
RewriteEngine on|off off svdhE
Enables or disables runtime rewriting engine
RewriteMap MapName MapType:MapSource + [MapTypeOptions] +svE
Defines a mapping function for key-lookup
RewriteOptions OptionssvdhE
Sets some special options for the rewrite engine
RewriteRule + Pattern Substitution [flags]svdhE
Defines rules for the rewriting engine
RLimitCPU seconds|max [seconds|max]svdhC
Limits the CPU consumption of processes launched +by Apache httpd children
RLimitMEM bytes|max [bytes|max]svdhC
Limits the memory consumption of processes launched +by Apache httpd children
RLimitNPROC number|max [number|max]svdhC
Limits the number of processes that can be launched by +processes launched by Apache httpd children
Satisfy Any|All All dhE
Interaction between host-level access control and +user authentication
ScoreBoardFile file-path logs/apache_runtime +sM
Location of the file used to store coordination data for +the child processes
Script method cgi-scriptsvdB
Activates a CGI script for a particular request +method.
ScriptAlias [URL-path] +file-path|directory-pathsvdB
Maps a URL to a filesystem location and designates the +target as a CGI script
ScriptAliasMatch regex +file-path|directory-pathsvB
Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script
ScriptInterpreterSource Registry|Registry-Strict|Script Script svdhC
Technique for locating the interpreter for CGI +scripts
ScriptLog file-pathsvB
Location of the CGI script error logfile
ScriptLogBuffer bytes 1024 svB
Maximum amount of PUT or POST requests that will be recorded +in the scriptlog
ScriptLogLength bytes 10385760 svB
Size limit of the CGI script logfile
ScriptSock file-path cgisock sB
The filename prefix of the socket to use for communication with +the cgi daemon
SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]sB
Enables SSL encryption for the specified port
SeeRequestTail On|Off Off sC
Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
SendBufferSize bytes 0 sM
TCP buffer size
ServerAdmin email-address|URLsvC
Email address that the server includes in error +messages sent to the client
ServerAlias hostname [hostname] ...vC
Alternate names for a host used when matching requests +to name-virtual hosts
ServerLimit numbersM
Upper limit on configurable number of processes
ServerName [scheme://]domain-name|ip-address[:port]svC
Hostname and port that the server uses to identify +itself
ServerPath URL-pathvC
Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser
ServerRoot directory-path /usr/local/apache sC
Base directory for the server installation
ServerSignature On|Off|EMail Off svdhC
Configures the footer on server-generated documents
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sC
Configures the Server HTTP response +header
Session On|Off Off svdhE
Enables a session for the current directory or location
SessionCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session
SessionCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session
SessionCookieRemove On|Off Off svdhE
Control for whether session cookies should be removed from incoming HTTP headers
SessionCryptoCipher name aes256 svdhX
The crypto cipher to be used to encrypt the session
SessionCryptoDriver name [param[=value]]sX
The crypto driver to be used to encrypt the session
SessionCryptoPassphrase secret [ secret ... ] svdhX
The key used to encrypt the session
SessionCryptoPassphraseFile filenamesvdX
File containing keys used to encrypt the session
SessionDBDCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session ID
SessionDBDCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session ID
SessionDBDCookieRemove On|Off On svdhE
Control for whether session ID cookies should be removed from incoming HTTP headers
SessionDBDDeleteLabel label deletesession svdhE
The SQL query to use to remove sessions from the database
SessionDBDInsertLabel label insertsession svdhE
The SQL query to use to insert sessions into the database
SessionDBDPerUser On|Off Off svdhE
Enable a per user session
SessionDBDSelectLabel label selectsession svdhE
The SQL query to use to select sessions from the database
SessionDBDUpdateLabel label updatesession svdhE
The SQL query to use to update existing sessions in the database
SessionEnv On|Off Off svdhE
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionExclude pathsvdhE
Define URL prefixes for which a session is ignored
SessionExpiryUpdateInterval interval 0 (always update) svdhE
Define the number of seconds a session's expiry may change without +the session being updated
SessionHeader headersvdhE
Import session updates from a given HTTP response header
SessionInclude pathsvdhE
Define URL prefixes for which a session is valid
SessionMaxAge maxage 0 svdhE
Define a maximum age in seconds for a session
SetEnv env-variable [value]svdhB
Sets environment variables
SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +
SetEnvIfExpr expr + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on an ap_expr expression
SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +without respect to case
SetHandler handler-name|none|expressionsvdhC
Forces all matching files to be processed by a +handler
SetInputFilter filter[;filter...]svdhC
Sets the filters that will process client requests and POST +input
SetOutputFilter filter[;filter...]svdhC
Sets the filters that will process responses from the +server
SSIEndTag tag "-->" svB
String that ends an include element
SSIErrorMsg message "[an error occurred +svdhB
Error message displayed when there is an SSI +error
SSIETag on|off off dhB
Controls whether ETags are generated by the server.
SSILastModified on|off off dhB
Controls whether Last-Modified headers are generated by the +server.
SSILegacyExprParser on|off off dhB
Enable compatibility mode for conditional expressions.
SSIStartTag tag "<!--#" svB
String that starts an include element
SSITimeFormat formatstring "%A, %d-%b-%Y %H:%M +svdhB
Configures the format in which date strings are +displayed
SSIUndefinedEcho string "(none)" svdhB
String displayed when an unset variable is echoed
SSLCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Client Auth
SSLCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Client Auth
SSLCADNRequestFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
SSLCADNRequestPath directory-pathsvE
Directory of PEM-encoded CA Certificates for +defining acceptable CA names
SSLCARevocationCheck chain|leaf|none [flags ...] none svE
Enable CRL-based revocation checking
SSLCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Client Auth
SSLCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Client Auth
SSLCertificateChainFile file-pathsvE
File of PEM-encoded Server CA Certificates
SSLCertificateFile file-path|certidsvE
Server PEM-encoded X.509 certificate data file or token identifier
SSLCertificateKeyFile file-path|keyidsvE
Server PEM-encoded private key file
SSLCipherSuite [protocol] cipher-spec DEFAULT (depends on +svdhE
Cipher Suite available for negotiation in SSL +handshake
SSLCompression on|off off svE
Enable compression on the SSL level
SSLCryptoDevice engine builtin sE
Enable use of a cryptographic hardware accelerator
SSLEngine on|off|optional off svE
SSL Engine Operation Switch
SSLFIPS on|off off sE
SSL FIPS mode Switch
SSLHonorCipherOrder on|off off svE
Option to prefer the server's cipher preference order
SSLInsecureRenegotiation on|off off svE
Option to enable support for insecure renegotiation
SSLOCSPDefaultResponder urisvE
Set the default responder URI for OCSP validation
SSLOCSPEnable on|leaf|off off svE
Enable OCSP validation of the client certificate chain
SSLOCSPNoverify on|off off svE
skip the OCSP responder certificates verification
SSLOCSPOverrideResponder on|off off svE
Force use of the default responder URI for OCSP validation
SSLOCSPProxyURL urlsvE
Proxy URL to use for OCSP requests
SSLOCSPResponderCertificateFile filesvE
Set of trusted PEM encoded OCSP responder certificates
SSLOCSPResponderTimeout seconds 10 svE
Timeout for OCSP queries
SSLOCSPResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP responses
SSLOCSPResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP response validation
SSLOCSPUseRequestNonce on|off on svE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd command-name command-valuesvE
Configure OpenSSL parameters through its SSL_CONF API
SSLOptions [+|-]option ...svdhE
Configure various SSL engine run-time options
SSLPassPhraseDialog type builtin sE
Type of pass phrase dialog for encrypted private +keys
SSLProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL/TLS protocol versions
SSLProxyCACertificateFile file-pathsvpE
File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
SSLProxyCACertificatePath directory-pathsvpE
Directory of PEM-encoded CA Certificates for +Remote Server Auth
SSLProxyCARevocationCheck chain|leaf|none none svpE
Enable CRL-based revocation checking for Remote Server Auth
SSLProxyCARevocationFile file-pathsvpE
File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCARevocationPath directory-pathsvpE
Directory of PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCheckPeerCN on|off on svpE
Whether to check the remote server certificate's CN field +
SSLProxyCheckPeerExpire on|off on svpE
Whether to check if remote server certificate is expired +
SSLProxyCheckPeerName on|off on svpE
Configure host name checking for remote server certificates +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +svpE
Cipher Suite available for negotiation in SSL +proxy handshake
SSLProxyEngine on|off off svpE
SSL Proxy Engine Operation Switch
SSLProxyMachineCertificateChainFile filenamesvpE
File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
SSLProxyMachineCertificateFile filenamesvpE
File of concatenated PEM-encoded client certificates and keys to be used by the proxy
SSLProxyMachineCertificatePath directorysvpE
Directory of PEM-encoded client certificates and keys to be used by the proxy
SSLProxyProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svpE
Configure usable SSL protocol flavors for proxy usage
SSLProxyVerify level none svpE
Type of remote server Certificate verification
SSLProxyVerifyDepth number 1 svpE
Maximum depth of CA Certificates in Remote Server +Certificate verification
SSLRandomSeed context source +[bytes]sE
Pseudo Random Number Generator (PRNG) seeding +source
SSLRenegBufferSize bytes 131072 dhE
Set the size for the SSL renegotiation buffer
SSLRequire expressiondhE
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLdhE
Deny access when SSL is not used for the +HTTP request
SSLSessionCache type none sE
Type of the global/inter-process SSL Session +Cache
SSLSessionCacheTimeout seconds 300 svE
Number of seconds before an SSL session expires +in the Session Cache
SSLSessionTicketKeyFile file-pathsvE
Persistent encryption/decryption key for TLS session tickets
SSLSessionTickets on|off on svE
Enable or disable use of TLS session tickets
SSLSRPUnknownUserSeed secret-stringsvE
SRP unknown user seed
SSLSRPVerifierFile file-pathsvE
Path to SRP verifier file
SSLStaplingCache typesE
Configures the OCSP stapling cache
SSLStaplingErrorCacheTimeout seconds 600 svE
Number of seconds before expiring invalid responses in the OCSP stapling cache
SSLStaplingFakeTryLater on|off on svE
Synthesize "tryLater" responses for failed OCSP stapling queries
SSLStaplingForceURL urisvE
Override the OCSP responder URI specified in the certificate's AIA extension
SSLStaplingResponderTimeout seconds 10 svE
Timeout for OCSP stapling queries
SSLStaplingResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP stapling responses
SSLStaplingResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP stapling response validation
SSLStaplingReturnResponderErrors on|off on svE
Pass stapling related OCSP errors on to client
SSLStaplingStandardCacheTimeout seconds 3600 svE
Number of seconds before expiring responses in the OCSP stapling cache
SSLStrictSNIVHostCheck on|off off svE
Whether to allow non-SNI clients to access a name-based virtual +host. +
SSLUserName varnamesdhE
Variable name to determine user name
SSLUseStapling on|off off svE
Enable stapling of OCSP responses in the TLS handshake
SSLVerifyClient level none svdhE
Type of Client Certificate verification
SSLVerifyDepth number 1 svdhE
Maximum depth of CA Certificates in Client +Certificate verification
StartServers numbersM
Number of child server processes created at startup
StartThreads numbersM
Number of threads created on startup
StrictHostCheck ON|OFF OFF svC
Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Substitute s/pattern/substitution/[infq]dhE
Pattern to filter the response content
SubstituteInheritBefore on|off off dhE
Change the merge order of inherited patterns
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) 1m dhE
Set the maximum line size
Suexec On|OffsB
Enable or disable the suEXEC feature
SuexecUserGroup User GroupsvE
User and group for CGI programs to run as
ThreadLimit numbersM
Sets the upper limit on the configurable number of threads +per child process
ThreadsPerChild numbersM
Number of threads created by each child process
ThreadStackSize sizesM
The size in bytes of the stack used by threads handling +client connections
TimeOut seconds 60 svC
Amount of time the server will wait for +certain events before failing a request
TLSCertificate cert_file [key_file]svX
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)svX
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used.
TLSEngine [address:]portsX
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on svX
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionsvdhX
enables SSL variables for requests.
TLSProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemsvpX
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)svpX
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)svpX
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offsvpX
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]svpX
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ svpX
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsX
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sX
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on svC
Determines the behavior on TRACE requests
TransferLog file|pipesvB
Specify location of a log file
TypesConfig file-path conf/mime.types sB
The location of the mime.types file
UnDefine parameter-namesC
Undefine the existence of a variable
UndefMacro namesvdB
Undefine a macro
UnsetEnv env-variable [env-variable] +...svdhB
Removes variables from the environment
Use name [value1 ... valueN] +svdB
Use a macro
UseCanonicalName On|Off|DNS Off svdC
Configures how the server determines its own name and +port
UseCanonicalPhysicalPort On|Off Off svdC
Configures how the server determines its own port
User unix-userid #-1 sB
The userid under which the server will answer +requests
UserDir directory-filename [directory-filename] ... +svB
Location of the user-specific directories
VHostCGIMode On|Off|Secure On vX
Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to subprocesses created +by a virtual host.
VHostGroup unix-groupidvX
Sets the Group ID under which a virtual host runs.
VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to a virtual host.
VHostSecure On|Off On vX
Determines whether the server runs with enhanced security +for the virtualhost.
VHostUser unix-useridvX
Sets the User ID under which a virtual host runs.
VirtualDocumentRoot interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
VirtualDocumentRootIP interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>sC
Contains directives that apply only to a specific +hostname or IP address
VirtualScriptAlias interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
VirtualScriptAliasIP interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
WatchdogInterval time-interval[s] 1 sB
Watchdog interval in seconds
XBitHack on|off|full off svdhB
Parse SSI directives in files with the execute bit +set
xml2EncAlias charset alias [alias ...]sB
Recognise Aliases for encoding values
xml2EncDefault namesvdhB
Sets a default encoding to assume when absolutely no information +can be automatically detected
xml2StartParse element [element ...]svdhB
Advise the parser to skip leading junk.
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.es b/docs/manual/mod/quickreference.html.es new file mode 100644 index 0000000..5cd7924 --- /dev/null +++ b/docs/manual/mod/quickreference.html.es @@ -0,0 +1,1252 @@ + + + + + +Guía Rápida de Referencia de Directivas - Servidor HTTP Apache Versión 2.4 + + + + + + + + +
<-
+ +

Guía Rápida de Referencia de Directivas

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

La Guía Rápida de Referencia de Directivas muestra el uso, las + opciones por defecto, el estado y el contexto de cada directiva de + configuración de Apache. Para más información sobre cada + directiva, consulte el Diccionario + de Directivas.

+ +

La primera columna muestra el nombre y el uso de la directiva. + La segunda columna muestra el valor por defecto de la directiva, + si existe ese valor por defecto. Si el valor por defecto es + demasiado largo para mostrarlo, el primer carácter va seguido de + un signo "+".

+ +

La tercera y la cuarta columna listan los contextos en los que + la directiva puede funcionar y el estado de la directiva de + acuerdo con las notas que detallan más abajo.

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
sserver config
vvirtual host
ddirectory
h.htaccess
psección de proxy
+ + + + + +
CCore
MMPM
BBase
EExtensión
XExperimental
TExterno
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter protocol accept_filtersC
Configura mejoras para un Protocolo de Escucha de Sockets
AcceptPathInfo On|Off|Default Default svdhC
Los recursos aceptan información sobre su ruta
AccessFileName filename [filename] ... .htaccess svC
Nombre del fichero distribuido de configuración
Action action-type cgi-script [virtual]svdhB
Activates a CGI script for a particular handler or +content-type
AddAlt string file [file] ...svdhB
Alternate text to display for a file, instead of an +icon selected by filename
AddAltByEncoding string MIME-encoding +[MIME-encoding] ...svdhB
Alternate text to display for a file instead of an icon +selected by MIME-encoding
AddAltByType string MIME-type +[MIME-type] ...svdhB
Alternate text to display for a file, instead of an +icon selected by MIME content-type
AddCharset charset extension +[extension] ...svdhB
Maps the given filename extensions to the specified content +charset
AddDefaultCharset On|Off|charset Off svdhC
Default charset parameter to be added when a response +content-type is text/plain or text/html
AddDescription string file [file] ...svdhB
Description to display for a file
AddEncoding encoding extension +[extension] ...svdhB
Maps the given filename extensions to the specified encoding +type
AddHandler handler-name extension +[extension] ...svdhB
Maps the filename extensions to the specified +handler
AddIcon icon name [name] +...svdhB
Icon to display for a file selected by name
AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...svdhB
Icon to display next to files selected by MIME +content-encoding
AddIconByType icon MIME-type +[MIME-type] ...svdhB
Icon to display next to files selected by MIME +content-type
AddInputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +client requests
AddLanguage language-tag extension +[extension] ...svdhB
Maps the given filename extension to the specified content +language
AddModuleInfo module-name stringsvE
Adds additional information to the module +information displayed by the server-info handler
AddOutputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +responses from the server
AddOutputFilterByType filter[;filter...] +media-type [media-type] ...svdhB
assigns an output filter to a particular media-type
AddType media-type extension +[extension] ...svdhB
Maps the given filename extensions onto the specified content +type
Alias [URL-path] +file-path|directory-pathsvdB
Maps URLs to filesystem locations
AliasMatch regex +file-path|directory-pathsvB
Maps URLs to filesystem locations using regular +expressions
Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts can access an area of the +server
AllowCONNECT port[-port] +[port[-port]] ... 443 563 svE
Ports that are allowed to CONNECT through the +proxy
AllowEncodedSlashes On|Off Off svC
Determines whether encoded path separators in URLs are allowed to +be passed through
AllowMethods reset|HTTP-method +[HTTP-method]... reset dX
Restrict access to the listed HTTP methods
AllowOverride All|None|directive-type +[directive-type] ... None (2.3.9 and lat +dC
Types of directives that are allowed in +.htaccess files
AllowOverrideList None|directive +[directive-type] ... None dC
Individual directives that are allowed in +.htaccess files
Anonymous user [user] ...dhE
Specifies userIDs that are allowed access without +password verification
Anonymous_LogEmail On|Off On dhE
Sets whether the password entered will be logged in the +error log
Anonymous_MustGiveEmail On|Off On dhE
Specifies whether blank passwords are allowed
Anonymous_NoUserID On|Off Off dhE
Sets whether the userID field may be empty
Anonymous_VerifyEmail On|Off Off dhE
Sets whether to check the password field for a correctly +formatted email address
AsyncRequestWorkerFactor factorsM
Limit concurrent connections per process
AuthBasicAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthBasicFake off|username [password]dhB
Fake basic authentication using the given expressions for +username and password
AuthBasicProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthBasicUseDigestAlgorithm MD5|Off Off dhB
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBDUserPWQuery querydE
SQL query to look up a password for a user
AuthDBDUserRealmQuery querydE
SQL query to look up a password hash for a user and realm. +
AuthDBMGroupFile file-pathdhE
Sets the name of the database file containing the list +of user groups for authorization
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store passwords
AuthDBMUserFile file-pathdhE
Sets the name of a database file containing the list of users and +passwords for authentication
AuthDigestAlgorithm MD5|MD5-sess MD5 dhE
Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
AuthDigestDomain URI [URI] ...dhE
URIs that are in the same protection space for digest +authentication
AuthDigestNonceLifetime seconds 300 dhE
How long the server nonce is valid
AuthDigestProvider provider-name +[provider-name] ... file dhE
Sets the authentication provider(s) for this location
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhE
Determines the quality-of-protection to use in digest +authentication
AuthDigestShmemSize size 1000 sE
The amount of shared memory to allocate for keeping track +of clients
AuthFormAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthFormBody fieldname httpd_body dB
The name of a form field carrying the body of the request to attempt on successful login
AuthFormDisableNoStore On|Off Off dB
Disable the CacheControl no-store header on the login page
AuthFormFakeBasicAuth On|Off Off dB
Fake a Basic Authentication header
AuthFormLocation fieldname httpd_location dB
The name of a form field carrying a URL to redirect to on successful login
AuthFormLoginRequiredLocation urldB
The URL of the page to be redirected to should login be required
AuthFormLoginSuccessLocation urldB
The URL of the page to be redirected to should login be successful
AuthFormLogoutLocation uridB
The URL to redirect to after a user has logged out
AuthFormMethod fieldname httpd_method dB
The name of a form field carrying the method of the request to attempt on successful login
AuthFormMimetype fieldname httpd_mimetype dB
The name of a form field carrying the mimetype of the body of the request to attempt on successful login
AuthFormPassword fieldname httpd_password dB
The name of a form field carrying the login password
AuthFormProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthFormSitePassphrase secretdB
Bypass authentication checks for high traffic sites
AuthFormSize size 8192 dB
The largest size of the form in bytes that will be parsed for the login details
AuthFormUsername fieldname httpd_username dB
The name of a form field carrying the login username
AuthGroupFile file-pathdhB
Sets the name of a text file containing the list +of user groups for authorization
AuthLDAPAuthorizePrefix prefix AUTHORIZE_ dhE
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritative off|on on dhE
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDN distinguished-namedhE
Optional DN to use in binding to the LDAP server
AuthLDAPBindPassword passworddhE
Password used in conjunction with the bind DN
AuthLDAPCharsetConfig file-pathsE
Language to charset conversion configuration file
AuthLDAPCompareAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServer on|off on dhE
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
When will the module de-reference aliases
AuthLDAPGroupAttribute attribute member uniqueMember +dhE
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDN on|off on dhE
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUser off|on off dhE
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPattern regex substitution (.*) $1 (remote use +dhE
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepth Number 10 dhE
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttribute uiddhE
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDN on|off off dhE
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttribute attribute member uniqueMember +dhE
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClass LdapObjectClass groupOfNames groupO +dhE
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhB
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthName auth-domaindhB
Authorization realm for use in HTTP +authentication
AuthnCacheContext directory|server|custom-string directory dB
Specify a context string for use in the cache key
AuthnCacheEnablesB
Enable Authn caching configured anywhere
AuthnCacheProvideFor authn-provider [...]dhB
Specify which authn provider(s) to cache for
AuthnCacheSOCache provider-name[:provider-args]sB
Select socache backend provider to use
AuthnCacheTimeout timeout (seconds) 300 (5 minutes) dhB
Set a timeout for cache entries
<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>sB
Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Enables a FastCGI application to handle the check_authn +authentication hook.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Defines a FastCGI application as a provider for +authentication and/or authorization
AuthType None|Basic|Digest|FormdhB
Type of user authentication
AuthUserFile file-pathdhB
Sets the name of a text file containing the list of users and +passwords for authentication
AuthzDBDLoginToReferer On|Off Off dE
Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
AuthzDBDQuery querydE
Specify the SQL Query for the required operation
AuthzDBDRedirectQuery querydE
Specify a query to look up a login page for the user
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store list of user groups
<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +sB
Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
AuthzSendForbiddenOnFailure On|Off Off dhB
Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
BalancerGrowth # 5 svE
Number of additional Balancers that can be added Post-configuration
BalancerInherit On|Off On svE
Inherit ProxyPassed Balancers/Workers from the main server
BalancerMember [balancerurl] url [key=value [key=value ...]]dE
Add a member to a load balancing group
BalancerPersist On|Off Off svE
Attempt to persist changes made by the Balancer Manager across restarts.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix svE
How the outgoing ETag header should be modified during compression
BrotliCompressionMaxInputBlock valuesvE
Maximum input block size
BrotliCompressionQuality value 5 svE
Compression quality
BrotliCompressionWindow value 18 svE
Brotli sliding compression window size
BrotliFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on HTTP User-Agent +
BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on User-Agent without +respect to case
BufferedLogs On|Off Off sB
Buffer log entries in memory before writing to disk
BufferSize integer 131072 svdhE
Maximum size in bytes to buffer by the buffer filter
CacheDefaultExpire seconds 3600 (one hour) svdhE
The default duration to cache a document when no expiry date is specified.
CacheDetailHeader on|off off svdhE
Add an X-Cache-Detail header to the response.
CacheDirLength length 2 svE
The number of characters in subdirectory names
CacheDirLevels levels 2 svE
The number of levels of subdirectories in the +cache.
CacheDisable url-string | onsvdhE
Disable caching of specified URLs
CacheEnable cache_type [url-string]svdE
Enable caching of specified URLs using a specified storage +manager
CacheFile file-path [file-path] ...sX
Cache a list of file handles at startup time
CacheHeader on|off off svdhE
Add an X-Cache header to the response.
CacheIgnoreCacheControl On|Off Off svE
Ignore request to not serve cached content to client
CacheIgnoreHeaders header-string [header-string] ... None svE
Do not store the given HTTP header(s) in the cache. +
CacheIgnoreNoLastMod On|Off Off svdhE
Ignore the fact that a response has no Last Modified +header.
CacheIgnoreQueryString On|Off Off svE
Ignore query string when caching
CacheIgnoreURLSessionIdentifiers identifier [identifier] ... None svE
Ignore defined session identifiers encoded in the URL when caching +
CacheKeyBaseURL URLsvE
Override the base URL of reverse proxied cache keys.
CacheLastModifiedFactor float 0.1 svdhE
The factor used to compute an expiry date based on the +LastModified date.
CacheLock on|off off svE
Enable the thundering herd lock.
CacheLockMaxAge integer 5 svE
Set the maximum possible age of a cache lock.
CacheLockPath directory /tmp/mod_cache-lock +svE
Set the lock path directory.
CacheMaxExpire seconds 86400 (one day) svdhE
The maximum time in seconds to cache a document
CacheMaxFileSize bytes 1000000 svdhE
The maximum size (in bytes) of a document to be placed in the +cache
CacheMinExpire seconds 0 svdhE
The minimum time in seconds to cache a document
CacheMinFileSize bytes 1 svdhE
The minimum size (in bytes) of a document to be placed in the +cache
CacheNegotiatedDocs On|Off Off svB
Allows content-negotiated documents to be +cached by proxy servers
CacheQuickHandler on|off on svE
Run the cache from the quick handler.
CacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheRoot directorysvE
The directory root under which cache files are +stored
CacheSocache type[:args]svE
The shared object cache implementation to use
CacheSocacheMaxSize bytes 102400 svdhE
The maximum size (in bytes) of an entry to be placed in the +cache
CacheSocacheMaxTime seconds 86400 svdhE
The maximum time (in seconds) for a document to be placed in the +cache
CacheSocacheMinTime seconds 600 svdhE
The minimum time (in seconds) for a document to be placed in the +cache
CacheSocacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheSocacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheStaleOnError on|off on svdhE
Serve stale content in place of 5xx responses.
CacheStoreExpired On|Off Off svdhE
Attempt to cache responses that the server reports as expired
CacheStoreNoStore On|Off Off svdhE
Attempt to cache requests or responses that have been marked as no-store.
CacheStorePrivate On|Off Off svdhE
Attempt to cache responses that the server has marked as private
CGIDScriptTimeout time[s|ms]svdhB
The length of time to wait for more output from the +CGI program
CGIMapExtension cgi-path .extensiondhC
Technique for locating the interpreter for CGI +scripts
CGIPassAuth On|Off Off dhC
Enables passing HTTP authorization headers to scripts as CGI +variables
CGIVar variable ruledhC
Controls how some CGI variables are set
CharsetDefault charsetsvdhE
Charset to translate into
CharsetOptions option [option] ... ImplicitAdd svdhE
Configures charset translation behavior
CharsetSourceEnc charsetsvdhE
Source charset of files
CheckBasenameMatch on|off On svdhE
Also match files with differing file name extensions.
CheckCaseOnly on|off Off svdhE
Limits the action of the speling module to case corrections
CheckSpelling on|off Off svdhE
Enables the spelling +module
ChrootDir /path/to/directorysB
Directory for apache to run chroot(8) after startup.
ContentDigest On|Off Off svdhC
Enables the generation of Content-MD5 HTTP Response +headers
CookieDomain domainsvdhE
The domain to which the tracking cookie applies
CookieExpires expiry-periodsvdhE
Expiry time for the tracking cookie
CookieHTTPOnly on|off off svdhE
Adds the 'HTTPOnly' attribute to the cookie
CookieName token Apache svdhE
Name of the tracking cookie
CookieSameSite None|Lax|StrictsvdhE
Adds the 'SameSite' attribute to the cookie
CookieSecure on|off off svdhE
Adds the 'Secure' attribute to the cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
Format of the cookie header field
CookieTracking on|off off svdhE
Enables tracking cookie
CoreDumpDirectory directorysM
Directory where Apache HTTP Server attempts to +switch before dumping core
CustomLog file|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]svB
Sets filename and format of log file
Dav On|Off|provider-name Off dE
Enable WebDAV HTTP methods
DavDepthInfinity on|off off svdE
Allow PROPFIND, Depth: Infinity requests
DavGenericLockDB file-pathsvdE
Location of the DAV lock database
DavLockDB file-pathsvE
Location of the DAV lock database
DavLockDiscovery on|off on svdhE
Enable lock discovery
DavMinTimeout seconds 0 svdE
Minimum amount of time the server holds a lock on +a DAV resource
DBDExptime time-in-seconds 300 svE
Keepalive time for idle connections
DBDInitSQL "SQL statement"svE
Execute an SQL statement after connecting to a database
DBDKeep number 2 svE
Maximum sustained number of connections
DBDMax number 10 svE
Maximum number of connections
DBDMin number 1 svE
Minimum number of connections
DBDParams +param1=value1[,param2=value2]svE
Parameters for database connection
DBDPersist On|OffsvE
Whether to use persistent connections
DBDPrepareSQL "SQL statement" labelsvE
Define an SQL prepared statement
DBDriver namesvE
Specify an SQL driver
DefaultIcon url-pathsvdhB
Icon to display for files when no specific icon is +configured
DefaultLanguage language-tagsvdhB
Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
DefaultRuntimeDir directory-path DEFAULT_REL_RUNTIME +sC
Base directory for the server run-time files
DefaultType media-type|none none svdhC
This directive has no effect other than to emit warnings +if the value is not none. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +
Define parameter-namesC
Define the existence of a variable
DeflateBufferSize value 8096 svE
Fragment size to be compressed at one time by zlib
DeflateCompressionLevel valuesvE
How much compression do we apply to the output
DeflateFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
DeflateInflateLimitRequestBody valuesvdhE
Maximum size of inflated request bodies
DeflateInflateRatioBurst value 3 svdhE
Maximum number of times the inflation ratio for request bodies + can be crossed
DeflateInflateRatioLimit value 200 svdhE
Maximum inflation ratio for request bodies
DeflateMemLevel value 9 svE
How much memory should be used by zlib for compression
DeflateWindowSize value 15 svE
Zlib compression window size
Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts are denied access to the +server
<Directory directory-path> +... </Directory>svC
Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.
DirectoryCheckHandler On|Off Off svdhB
Toggle how this module responds when another handler is configured
DirectoryIndex + disabled | local-url [local-url] ... index.html svdhB
List of resources to look for when the client requests +a directory
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code + off svdhB
Configures an external redirect for directory indexes. +
<DirectoryMatch regex> +... </DirectoryMatch>svC
Enclose directives that apply to +the contents of file-system directories matching a regular expression.
DirectorySlash On|Off On svdhB
Toggle trailing slash redirects on or off
DocumentRoot directory-path /usr/local/apache/h +svC
Directory that forms the main document tree visible +from the web
DTracePrivileges On|Off Off sX
Determines whether the privileges required by dtrace are enabled.
DumpIOInput On|Off Off sE
Dump all input data to the error log
DumpIOOutput On|Off Off sE
Dump all output data to the error log
<Else> ... </Else>svdhC
Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
<ElseIf expression> ... </ElseIf>svdhC
Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
EnableExceptionHook On|Off Off sM
Enables a hook that runs exception handlers +after a crash
EnableMMAP On|Off On svdhC
Use memory-mapping to read files during delivery
EnableSendfile On|Off Off svdhC
Use the kernel sendfile support to deliver files to the client
Error messagesvdhC
Abort configuration parsing with a custom error message
ErrorDocument error-code documentsvdhC
What the server will return to the client +in case of an error
ErrorLog file-path|syslog[:facility] logs/error_log (Uni +svC
Location where the server will log errors
ErrorLog [connection|request] formatsvC
Format specification for error log entries
ExamplesvdhX
Demonstration directive to illustrate the Apache module +API
ExpiresActive On|Off Off svdhE
Enables generation of Expires +headers
ExpiresByType MIME-type +<code>secondssvdhE
Value of the Expires header configured +by MIME type
ExpiresDefault <code>secondssvdhE
Default algorithm for calculating expiration time
ExtendedStatus On|Off Off[*] sC
Keep track of extended status information for each +request
ExtFilterDefine filtername parameterssE
Define an external filter
ExtFilterOptions option [option] ... NoLogStderr dE
Configure mod_ext_filter options
FallbackResource disabled | local-urlsvdhB
Define a default URL for requests that don't map to a file
FileETag component ... INode MTime Size svdhC
File attributes used to create the ETag +HTTP response header for static files
<Files filename> ... </Files>svdhC
Contains directives that apply to matched +filenames
<FilesMatch regex> ... </FilesMatch>svdhC
Contains directives that apply to regular-expression matched +filenames
FilterChain [+=-@!]filter-name ...svdhB
Configure the filter chain
FilterDeclare filter-name [type]svdhB
Declare a smart filter
FilterProtocol filter-name [provider-name] + proto-flagssvdhB
Deal with correct HTTP protocol handling
FilterProvider filter-name provider-name + expressionsvdhB
Register a content filter
FilterTrace filter-name levelsvdB
Get debug/diagnostic information from + mod_filter
FlushMaxPipelined number 5 svC
Maximum number of pipelined responses above which they are flushed +to the network
FlushMaxThreshold number-of-bytes 65536 svC
Threshold above which pending data are flushed to the +network
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
Action to take if a single acceptable document is not +found
ForceType media-type|NonedhC
Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field
ForensicLog filename|pipesvE
Sets filename of the forensic log
GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]sB
Sets filename and format of log file
GprofDir /tmp/gprof/|/tmp/gprof/%svC
Directory to write gmon.out profiling data to.
GracefulShutdownTimeout seconds 0 sM
Specify a timeout after which a gracefully shutdown server +will exit.
Group unix-group #-1 sB
Group under which the server will answer +requests
H2CopyFiles on|off off svdhE
Determine file handling in responses
H2Direct on|off on for h2c, off for +svE
H2 Direct Protocol Switch
H2EarlyHints on|off off svE
Determine sending of 103 status codes
H2MaxSessionStreams n 100 svE
Maximum number of active streams per HTTP/2 session.
H2MaxWorkerIdleSeconds n 600 sE
Maximum number of seconds h2 workers remain idle until shut down.
H2MaxWorkers nsE
Maximum number of worker threads to use per child process.
H2MinWorkers nsE
Minimal number of worker threads to use per child process.
H2ModernTLSOnly on|off on svE
Require HTTP/2 connections to be "modern TLS" only
H2OutputBuffering on|off on svE
Determine buffering behaviour of output
H2Padding numbits 0 svE
Determine the range of padding bytes added to payload frames
H2Push on|off on svdhE
H2 Server Push Switch
H2PushDiarySize n 256 svE
H2 Server Push Diary Size
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 svE
H2 Server Push Priority
H2PushResource [add] path [critical]svdhE
Declares resources for early pushing to the client
H2SerializeHeaders on|off off svE
Serialize Request/Response Processing Switch
H2StreamMaxMemSize bytes 65536 svE
Maximum amount of output data buffered per stream.
H2TLSCoolDownSecs seconds 1 svE
Configure the number of seconds of idle time on TLS before shrinking writes
H2TLSWarmUpSize amount 1048576 svE
Configure the number of bytes on TLS connection before doing max writes
H2Upgrade on|off on for h2c, off for +svdhE
H2 Upgrade Protocol Switch
H2WindowSize bytes 65535 svE
Size of Stream Window for upstream data.
Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP response headers
HeaderName filenamesvdhB
Name of the file that will be inserted at the top +of the index listing
HeartbeatAddress addr:portsX
Multicast address for heartbeat packets
HeartbeatListen addr:portsX
multicast address to listen for incoming heartbeat requests
HeartbeatMaxServers number-of-servers 10 sX
Specifies the maximum number of servers that will be sending +heartbeat requests to this server
HeartbeatStorage file-path logs/hb.dat sX
Path to store heartbeat data when using flat-file storage
HeartbeatStorage file-path logs/hb.dat sX
Path to read heartbeat data
HostnameLookups On|Off|Double Off svdC
Enables DNS lookups on client IP addresses
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +svC
Modify restrictions on HTTP Request Messages
IdentityCheck On|Off Off svdE
Enables logging of the RFC 1413 identity of the remote +user
IdentityCheckTimeout seconds 30 svdE
Determines the timeout duration for ident requests
<If expression> ... </If>svdhC
Contains directives that apply only if a condition is +satisfied by a request at runtime
<IfDefine [!]parameter-name> ... + </IfDefine>svdhC
Encloses directives that will be processed only +if a test is true at startup
<IfDirective [!]directive-name> ... + </IfDirective>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific directive
<IfFile [!]filename> ... + </IfFile>svdhC
Encloses directives that will be processed only +if file exists at startup
<IfModule [!]module-file|module-identifier> ... + </IfModule>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific module
<IfSection [!]section-name> ... + </IfSection>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific section directive
<IfVersion [[!]operator] version> ... +</IfVersion>svdhE
contains version dependent configuration
ImapBase map|referer|URL http://servername/ svdhB
Default base for imagemap files
ImapDefault error|nocontent|map|referer|URL nocontent svdhB
Default action when an imagemap is called with coordinates +that are not explicitly mapped
ImapMenu none|formatted|semiformatted|unformatted formatted svdhB
Action if no coordinates are given when calling +an imagemap
Include [optional|strict] file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IncludeOptional file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IndexHeadInsert "markup ..."svdhB
Inserts text in the HEAD section of an index page.
IndexIgnore file [file] ... "." svdhB
Adds to the list of files to hide when listing +a directory
IndexIgnoreReset ON|OFFsvdhB
Empties the list of files to hide when listing +a directory
IndexOptions [+|-]option [[+|-]option] +...svdhB
Various configuration settings for directory +indexing
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
Sets the default ordering of the directory index
IndexStyleSheet url-pathsvdhB
Adds a CSS stylesheet to the directory index
InputSed sed-commanddhX
Sed command to filter request data (typically POST data)
ISAPIAppendLogToErrors on|off off svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
ISAPIAppendLogToQuery on|off on svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
ISAPICacheFile file-path [file-path] +...svB
ISAPI .dll files to be loaded at startup
ISAPIFakeAsync on|off off svdhB
Fake asynchronous support for ISAPI callbacks
ISAPILogNotSupported on|off off svdhB
Log unsupported feature requests from ISAPI +extensions
ISAPIReadAheadBuffer size 49152 svdhB
Size of the Read Ahead Buffer sent to ISAPI +extensions
KeepAlive On|Off On svC
Enables HTTP persistent connections
KeepAliveTimeout num[ms] 5 svC
Amount of time the server will wait for subsequent +requests on a persistent connection
KeptBodySize maximum size in bytes 0 dB
Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.
LanguagePriority MIME-lang [MIME-lang] +...svdhB
The precedence of language variants for cases where +the client does not express a preference
LDAPCacheEntries number 1024 sE
Maximum number of entries in the primary LDAP cache
LDAPCacheTTL seconds 600 sE
Time that cached items remain valid
LDAPConnectionPoolTTL n -1 svE
Discard backend connections that have been sitting in the connection pool too long
LDAPConnectionTimeout secondssE
Specifies the socket connection timeout in seconds
LDAPLibraryDebug 7sE
Enable debugging in the LDAP SDK
LDAPOpCacheEntries number 1024 sE
Number of entries used to cache LDAP compare +operations
LDAPOpCacheTTL seconds 600 sE
Time that entries in the operation cache remain +valid
LDAPReferralHopLimit numberdhE
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferrals On|Off|default On dhE
Enable referral chasing during queries to the LDAP server.
LDAPRetries number-of-retries 3 sE
Configures the number of LDAP server retries.
LDAPRetryDelay seconds 0 sE
Configures the delay between LDAP server retries.
LDAPSharedCacheFile directory-path/filenamesE
Sets the shared memory cache file
LDAPSharedCacheSize bytes 500000 sE
Size in bytes of the shared-memory cache
LDAPTimeout seconds 60 sE
Specifies the timeout for LDAP search and bind operations, in seconds
LDAPTrustedClientCert type directory-path/filename/nickname [password]dhE
Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
LDAPTrustedGlobalCert type directory-path/filename [password]sE
Sets the file or database containing global trusted +Certificate Authority or global client certificates
LDAPTrustedMode typesvE
Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
LDAPVerifyServerCert On|Off On sE
Force server certificate verification
<Limit method [method] ... > ... + </Limit>dhC
Restrict enclosed access controls to only certain HTTP +methods
<LimitExcept method [method] ... > ... + </LimitExcept>dhC
Restrict access controls to all HTTP methods +except the named ones
LimitInternalRecursion number [number] 10 svC
Determine maximum number of internal redirects and nested +subrequests
LimitRequestBody bytes 0 svdhC
Restricts the total size of the HTTP request body sent +from the client
LimitRequestFields number 100 svC
Limits the number of HTTP request header fields that +will be accepted from the client
LimitRequestFieldSize bytes 8190 svC
Limits the size of the HTTP request header allowed from the +client
LimitRequestLine bytes 8190 svC
Limit the size of the HTTP request line that will be accepted +from the client
LimitXMLRequestBody bytes 1000000 svdhC
Limits the size of an XML-based request body
Listen [IP-address:]portnumber [protocol]sM
IP addresses and ports that the server +listens to
ListenBackLog backlog 511 sM
Maximum length of the queue of pending connections
ListenCoresBucketsRatio ratio 0 (disabled) sM
Ratio between the number of CPU cores (online) and the number of +listeners' buckets
LoadFile filename [filename] ...svE
Link in the named object file or library
LoadModule module filenamesvE
Links in the object file or library, and adds to the list +of active modules
<Location + URL-path|URL> ... </Location>svC
Applies the enclosed directives only to matching +URLs
<LocationMatch + regex> ... </LocationMatch>svC
Applies the enclosed directives only to regular-expression +matching URLs
LogFormat format|nickname +[nickname] "%h %l %u %t \"%r\" +svB
Describes a format for use in a log file
LogIOTrackTTFB ON|OFF OFF svdhE
Enable tracking of time to first byte (TTFB)
LogLevel [module:]level + [module:level] ... + warn svdC
Controls the verbosity of the ErrorLog
LogMessage message +[hook=hook] [expr=expression] +dX
Log user-defined message to error log +
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Plug an authorization provider function into mod_authz_core +
LuaCodeCache stat|forever|never stat svdhE
Configure the compiled code cache.
LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the access_checker phase of request processing
LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the check_user_id phase of request processing
LuaHookFixups /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFilter /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the insert_filter phase of request processing
LuaHookLog /path/to/lua/script.lua log_function_namesvdhE
Provide a hook for the access log phase of a request +processing
LuaHookMapToStorage /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslate /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]svE
Provide a hook for the translate name phase of request processing
LuaHookTypeChecker /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the type_checker phase of request processing
LuaInherit none|parent-first|parent-last parent-first svdhE
Controls how parent configuration sections are merged into children
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content input filtering
LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]svdhE
Map a path to a lua handler
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content output filtering
LuaPackageCPath /path/to/include/?.soasvdhE
Add a directory to lua's package.cpath
LuaPackagePath /path/to/include/?.luasvdhE
Add a directory to lua's package.path
LuaQuickHandler /path/to/script.lua hook_function_namesvE
Provide a hook for the quick handler of request processing
LuaRoot /path/to/a/directorysvdhE
Specify the base path for resolving relative paths for mod_lua directives
LuaScope once|request|conn|thread|server [min] [max] once svdhE
One of once, request, conn, thread -- default is once
+<Macro name [par1 .. parN]> +... </Macro>svdB
Define a configuration file macro
MaxConnectionsPerChild number 0 sM
Limit on the number of connections that an individual child server +will handle during its life
MaxKeepAliveRequests number 100 svC
Number of requests allowed on a persistent +connection
MaxMemFree KBytes 2048 sM
Maximum amount of memory that the main allocator is allowed +to hold without calling free()
MaxRangeOverlaps default | unlimited | none | number-of-ranges 20 svdC
Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
MaxRangeReversals default | unlimited | none | number-of-ranges 20 svdC
Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
MaxRanges default | unlimited | none | number-of-ranges 200 svdC
Number of ranges allowed before returning the complete +resource
MaxRequestWorkers numbersM
Maximum number of connections that will be processed +simultaneously
MaxSpareServers number 10 sM
Maximum number of idle child server processes
MaxSpareThreads numbersM
Maximum number of idle threads
MaxThreads number 2048 sM
Set the maximum number of worker threads
MDActivationDelay durationsX
-
MDBaseServer on|off off sX
Control if base server may be managed or only virtual hosts.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sX
Type of ACME challenge used to prove domain ownership.
MDCertificateAgreement acceptedsX
You confirm that you accepted the Terms of Service of the Certificate + Authority.
MDCertificateAuthority url letsencrypt sX
The URL(s) of the ACME Certificate Authority to use.
MDCertificateCheck name urlsX
-
MDCertificateFile path-to-pem-filesX
Specify a static certificate file for the MD.
MDCertificateKeyFile path-to-filesX
Specify a static private key for for the static cerrtificate.
MDCertificateMonitor name url crt.sh https://crt. +sX
The URL of a certificate log monitor.
MDCertificateProtocol protocol ACME sX
The protocol to use with the Certificate Authority.
MDCertificateStatus on|off on sX
Exposes public certificate information in JSON.
MDChallengeDns01 path-to-commandsX
-
MDContactEmail addresssX
-
MDDriveMode always|auto|manual auto sX
former name of MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sX
-
MDHttpProxy urlsX
Define a proxy for outgoing connections.
MDMember hostnamesX
Additional hostname for the managed domain.
MDMembers auto|manual auto sX
Control if the alias domain names are automatically added.
MDMessageCmd path-to-cmd optional-argssX
Handle events for Manage Domains
MDMustStaple on|off off sX
Control if new certificates carry the OCSP Must Staple flag.
MDNotifyCmd path [ args ]sX
Run a program when a Managed Domain is ready.
MDomain dns-name [ other-dns-name... ] [auto|manual]sX
Define list of domain names that belong to one group.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sX
Container for directives applied to the same managed domains.
MDPortMap map1 [ map2 ] http:80 https:443 sX
Map external to internal ports for domain ownership verification.
MDPrivateKeys type [ params... ] RSA 2048 sX
Set type and size of the private keys generated.
MDRenewMode always|auto|manual auto sX
Controls if certificates shall be renewed.
MDRenewWindow duration 33% sX
Control when a certificate will be renewed.
MDRequireHttps off|temporary|permanent off sX
Redirects http: traffic to https: for Managed Domains.
MDRetryDelay duration 5s sX
-
MDRetryFailover number 13 sX
-
MDServerStatus on|off on sX
Control if Managed Domain information is added to server-status.
MDStapleOthers on|off on sX
Enable stapling for certificates not managed by mod_md.
MDStapling on|off off sX
Enable stapling for all or a particular MDomain.
MDStaplingKeepResponse duration 7d sX
Controls when old responses should be removed.
MDStaplingRenewWindow duration 33% sX
Control when the stapling responses will be renewed.
MDStoreDir path md sX
Path on the local file system to store the Managed Domains data.
MDStoreLocks on|off|duration off sX
-
MDWarnWindow duration 10% sX
Define the time window when you want to be warned about an expiring certificate.
MemcacheConnTTL num[units] 15s svE
Keepalive time for idle connections
MergeSlashes ON|OFF ON svC
Controls whether the server merges consecutive slashes in URLs. +
MergeTrailers [on|off] off svC
Determines whether trailers are merged into headers
MetaDir directory .web svdhE
Name of the directory to find CERN-style meta information +files
MetaFiles on|off off svdhE
Activates CERN meta-file processing
MetaSuffix suffix .meta svdhE
File name suffix for the file containing CERN-style +meta information
MimeMagicFile file-pathsvE
Enable MIME-type determination based on file contents +using the specified magic file
MinSpareServers number 5 sM
Minimum number of idle child server processes
MinSpareThreads numbersM
Minimum number of idle threads available to handle request +spikes
MMapFile file-path [file-path] ...sX
Map a list of files into memory at startup time
ModemStandard V.21|V.26bis|V.32|V.34|V.92dX
Modem standard to simulate
ModMimeUsePathInfo On|Off Off dB
Tells mod_mime to treat path_info +components as part of the filename
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly svdhB
The types of files that will be included when searching for +a matching file with MultiViews
Mutex mechanism [default|mutex-name] ... [OmitPID] default sC
Configures mutex mechanism and lock file directory for all +or specified mutexes
NameVirtualHost addr[:port]sC
Designates an IP address for name-virtual +hosting
NoProxy host [host] ...svE
Hosts, domains, or networks that will be connected to +directly
NWSSLTrustedCerts filename [filename] ...sB
List of additional client certificates
NWSSLUpgradeable [IP-address:]portnumbersB
Allows a connection to be upgraded to an SSL connection upon request
Options + [+|-]option [[+|-]option] ... All svdhC
Configures what features are available in a particular +directory
Order ordering Deny,Allow dhE
Controls the default access state and the order in which +Allow and Deny are +evaluated.
OutputSed sed-commanddhX
Sed command for filtering response content
PassEnv env-variable [env-variable] +...svdhB
Passes environment variables from the shell
PidFile filename logs/httpd.pid sM
File where the server records the process ID +of the daemon
PrivilegesMode FAST|SECURE|SELECTIVE FAST svdX
Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Protocol protocolsvC
Protocol for a listening socket
ProtocolEcho On|Off Off svX
Turn the echo server on or off
Protocols protocol ... http/1.1 svC
Protocols available for a server/virtual host
ProtocolsHonorOrder On|Off On svC
Determines if order of Protocols determines precedence during negotiation
<Proxy wildcard-url> ...</Proxy>svE
Container for directives applied to proxied resources
Proxy100Continue Off|On On svdE
Forward 100-continue expectation to the origin server
ProxyAddHeaders Off|On On svdE
Add proxy information in X-Forwarded-* headers
ProxyBadHeader IsError|Ignore|StartBody IsError svE
Determines how to handle bad header lines in a +response
ProxyBlock *|word|host|domain +[word|host|domain] ...svE
Words, hosts, or domains that are banned from being +proxied
ProxyDomain DomainsvE
Default domain name for proxied requests
ProxyErrorOverride Off|On [code ...] Off svdE
Override error pages for proxied content
ProxyExpressDBMFile pathnamesvE
Pathname to DBM file.
ProxyExpressDBMType type default svE
DBM type of file.
ProxyExpressEnable on|off off svE
Enable the module functionality.
ProxyFCGIBackendType FPM|GENERIC FPM svdhE
Specify the type of backend FastCGI application
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]svdhE
Allow variables sent to FastCGI servers to be fixed up
ProxyFtpDirCharset character_set ISO-8859-1 svdE
Define the character set for proxied FTP listings
ProxyFtpEscapeWildcards on|off on svdE
Whether wildcards in requested filenames are escaped when sent to the FTP server
ProxyFtpListOnWildcard on|off on svdE
Whether wildcards in requested filenames trigger a file listing
ProxyHCExpr name {ap_expr expression}svE
Creates a named condition expression to use to determine health of the backend based on its response
ProxyHCTemplate name parameter=setting [...]svE
Creates a named template for setting various health check parameters
ProxyHCTPsize size 16 sE
Sets the total server-wide size of the threadpool used for the health check workers
ProxyHTMLBufSize bytes 8192 svdB
Sets the buffer size increment for buffering inline scripts and +stylesheets.
ProxyHTMLCharsetOut Charset | *svdB
Specify a charset for mod_proxy_html output.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
svdB
Sets an HTML or XHTML document type declaration.
ProxyHTMLEnable On|Off Off svdB
Turns the proxy_html filter on or off.
ProxyHTMLEvents attribute [attribute ...]svdB
Specify attributes to treat as scripting events.
ProxyHTMLExtended On|Off Off svdB
Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
ProxyHTMLFixups [lowercase] [dospath] [reset]svdB
Fixes for simple HTML errors.
ProxyHTMLInterp On|Off Off svdB
Enables per-request interpolation of +ProxyHTMLURLMap rules.
ProxyHTMLLinks element attribute [attribute2 ...]svdB
Specify HTML elements that have URL attributes to be rewritten.
ProxyHTMLMeta On|Off Off svdB
Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
ProxyHTMLStripComments On|Off Off svdB
Determines whether to strip HTML comments.
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]svdB
Defines a rule to rewrite HTML links
ProxyIOBufferSize bytes 8192 svE
Determine size of internal data throughput buffer
<ProxyMatch regex> ...</ProxyMatch>svE
Container for directives applied to regular-expression-matched +proxied resources
ProxyMaxForwards number -1 svE
Maximum number of proxies that a request can be forwarded +through
ProxyPass [path] !|url [key=value + [key=value ...]] [nocanon] [interpolate] [noquery]svdE
Maps remote servers into the local server URL-space
ProxyPassInherit On|Off On svE
Inherit ProxyPass directives defined from the main server
ProxyPassInterpolateEnv On|Off Off svdE
Enable Environment Variable interpolation in Reverse Proxy configurations
ProxyPassMatch [regex] !|url [key=value + [key=value ...]]svdE
Maps remote servers into the local server URL-space using regular expressions
ProxyPassReverse [path] url +[interpolate]svdE
Adjusts the URL in HTTP response headers sent from a reverse +proxied server
ProxyPassReverseCookieDomain internal-domain +public-domain [interpolate]svdE
Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server
ProxyPassReverseCookiePath internal-path +public-path [interpolate]svdE
Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server
ProxyPreserveHost On|Off Off svdE
Use incoming Host HTTP request header for proxy +request
ProxyReceiveBufferSize bytes 0 svE
Network buffer size for proxied HTTP and FTP +connections
ProxyRemote match remote-serversvE
Remote proxy used to handle certain requests
ProxyRemoteMatch regex remote-serversvE
Remote proxy used to handle requests matched by regular +expressions
ProxyRequests On|Off Off svE
Enables forward (standard) proxy requests
ProxySCGIInternalRedirect On|Off|Headername On svdE
Enable or disable internal redirect responses from the +backend
ProxySCGISendfile On|Off|Headername Off svdE
Enable evaluation of X-Sendfile pseudo response +header
ProxySet url key=value [key=value ...]svdE
Set various Proxy balancer or member parameters
ProxySourceAddress addresssvE
Set local IP address for outgoing proxy connections
ProxyStatus Off|On|Full Off svE
Show Proxy LoadBalancer status in mod_status
ProxyTimeout secondssvE
Network timeout for proxied requests
ProxyVia On|Off|Full|Block Off svE
Information provided in the Via HTTP response +header for proxied requests
ProxyWebsocketFallbackToProxyHttp On|Off On svE
Instructs this module to let mod_proxy_http handle the request
QualifyRedirectURL On|Off Off svdC
Controls whether the REDIRECT_URL environment variable is + fully qualified
ReadBufferSize bytes 8192 svdC
Size of the buffers used to read data
ReadmeName filenamesvdhB
Name of the file that will be inserted at the end +of the index listing
ReceiveBufferSize bytes 0 sM
TCP receive buffer size
Redirect [status] [URL-path] +URLsvdhB
Sends an external redirect asking the client to fetch +a different URL
RedirectMatch [status] regex +URLsvdhB
Sends an external redirect based on a regular expression match +of the current URL
RedirectPermanent URL-path URLsvdhB
Sends an external permanent redirect asking the client to fetch +a different URL
RedirectTemp URL-path URLsvdhB
Sends an external temporary redirect asking the client to fetch +a different URL
RedisConnPoolTTL num[units] 15s svE
TTL used for the connection pool with the Redis server(s)
RedisTimeout num[units] 5s svE
R/W timeout used for the connection with the Redis server(s)
ReflectorHeader inputheader [outputheader]svdhB
Reflect an input header to the output headers
RegexDefaultOptions [none] [+|-]option [[+|-]option] ... DOTALL DOLLAR_ENDON +sC
Allow to configure global/default options for regexes
RegisterHttpMethod method [method [...]]sC
Register non-standard HTTP methods
RemoteIPHeader header-fieldsvB
Declare the header field which should be parsed for useragent IP addresses
RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPInternalProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPProxiesHeader HeaderFieldNamesvB
Declare the header field which will record all intermediate IP addresses
RemoteIPProxyProtocol On|OffsvB
Enable or disable PROXY protocol handling
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]svB
Disable processing of PROXY header for certain hosts or networks
RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPTrustedProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoveCharset extension [extension] +...vdhB
Removes any character set associations for a set of file +extensions
RemoveEncoding extension [extension] +...vdhB
Removes any content encoding associations for a set of file +extensions
RemoveHandler extension [extension] +...vdhB
Removes any handler associations for a set of file +extensions
RemoveInputFilter extension [extension] +...vdhB
Removes any input filter associations for a set of file +extensions
RemoveLanguage extension [extension] +...vdhB
Removes any language associations for a set of file +extensions
RemoveOutputFilter extension [extension] +...vdhB
Removes any output filter associations for a set of file +extensions
RemoveType extension [extension] +...vdhB
Removes any content type associations for a set of file +extensions
RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP request headers
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] + handshake=0 header= +svE
Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Require [not] entity-name + [entity-name] ...dhB
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll> ... </RequireAll>dhB
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny> ... </RequireAny>dhB
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone> ... </RequireNone>dhB
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
RewriteBase URL-pathdhE
Sets the base URL for per-directory rewrites
RewriteCond + TestString CondPattern [flags]svdhE
Defines a condition under which rewriting will take place +
RewriteEngine on|off off svdhE
Enables or disables runtime rewriting engine
RewriteMap MapName MapType:MapSource + [MapTypeOptions] +svE
Defines a mapping function for key-lookup
RewriteOptions OptionssvdhE
Sets some special options for the rewrite engine
RewriteRule + Pattern Substitution [flags]svdhE
Defines rules for the rewriting engine
RLimitCPU seconds|max [seconds|max]svdhC
Limits the CPU consumption of processes launched +by Apache httpd children
RLimitMEM bytes|max [bytes|max]svdhC
Limits the memory consumption of processes launched +by Apache httpd children
RLimitNPROC number|max [number|max]svdhC
Limits the number of processes that can be launched by +processes launched by Apache httpd children
Satisfy Any|All All dhE
Interaction between host-level access control and +user authentication
ScoreBoardFile file-path logs/apache_runtime +sM
Location of the file used to store coordination data for +the child processes
Script method cgi-scriptsvdB
Activates a CGI script for a particular request +method.
ScriptAlias [URL-path] +file-path|directory-pathsvdB
Maps a URL to a filesystem location and designates the +target as a CGI script
ScriptAliasMatch regex +file-path|directory-pathsvB
Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script
ScriptInterpreterSource Registry|Registry-Strict|Script Script svdhC
Technique for locating the interpreter for CGI +scripts
ScriptLog file-pathsvB
Location of the CGI script error logfile
ScriptLogBuffer bytes 1024 svB
Maximum amount of PUT or POST requests that will be recorded +in the scriptlog
ScriptLogLength bytes 10385760 svB
Size limit of the CGI script logfile
ScriptSock file-path cgisock sB
The filename prefix of the socket to use for communication with +the cgi daemon
SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]sB
Enables SSL encryption for the specified port
SeeRequestTail On|Off Off sC
Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
SendBufferSize bytes 0 sM
TCP buffer size
ServerAdmin email-address|URLsvC
Email address that the server includes in error +messages sent to the client
ServerAlias hostname [hostname] ...vC
Alternate names for a host used when matching requests +to name-virtual hosts
ServerLimit numbersM
Upper limit on configurable number of processes
ServerName [scheme://]fully-qualified-domain-name[:port]svC
Hostname and port that the server uses to identify +itself
ServerPath URL-pathvC
Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser
ServerRoot directory-path /usr/local/apache sC
Base directory for the server installation
ServerSignature On|Off|EMail Off svdhC
Configures the footer on server-generated documents
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sC
Configures the Server HTTP response +header
Session On|Off Off svdhE
Enables a session for the current directory or location
SessionCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session
SessionCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session
SessionCookieRemove On|Off Off svdhE
Control for whether session cookies should be removed from incoming HTTP headers
SessionCryptoCipher name aes256 svdhX
The crypto cipher to be used to encrypt the session
SessionCryptoDriver name [param[=value]]sX
The crypto driver to be used to encrypt the session
SessionCryptoPassphrase secret [ secret ... ] svdhX
The key used to encrypt the session
SessionCryptoPassphraseFile filenamesvdX
File containing keys used to encrypt the session
SessionDBDCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session ID
SessionDBDCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session ID
SessionDBDCookieRemove On|Off On svdhE
Control for whether session ID cookies should be removed from incoming HTTP headers
SessionDBDDeleteLabel label deletesession svdhE
The SQL query to use to remove sessions from the database
SessionDBDInsertLabel label insertsession svdhE
The SQL query to use to insert sessions into the database
SessionDBDPerUser On|Off Off svdhE
Enable a per user session
SessionDBDSelectLabel label selectsession svdhE
The SQL query to use to select sessions from the database
SessionDBDUpdateLabel label updatesession svdhE
The SQL query to use to update existing sessions in the database
SessionEnv On|Off Off svdhE
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionExclude pathsvdhE
Define URL prefixes for which a session is ignored
SessionExpiryUpdateInterval interval 0 (always update) svdhE
Define the number of seconds a session's expiry may change without +the session being updated
SessionHeader headersvdhE
Import session updates from a given HTTP response header
SessionInclude pathsvdhE
Define URL prefixes for which a session is valid
SessionMaxAge maxage 0 svdhE
Define a maximum age in seconds for a session
SetEnv env-variable [value]svdhB
Sets environment variables
SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +
SetEnvIfExpr expr + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on an ap_expr expression
SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +without respect to case
SetHandler handler-name|NonesvdhC
Forces all matching files to be processed by a +handler
SetInputFilter filter[;filter...]svdhC
Sets the filters that will process client requests and POST +input
SetOutputFilter filter[;filter...]svdhC
Sets the filters that will process responses from the +server
SSIEndTag tag "-->" svB
String that ends an include element
SSIErrorMsg message "[an error occurred +svdhB
Error message displayed when there is an SSI +error
SSIETag on|off off dhB
Controls whether ETags are generated by the server.
SSILastModified on|off off dhB
Controls whether Last-Modified headers are generated by the +server.
SSILegacyExprParser on|off off dhB
Enable compatibility mode for conditional expressions.
SSIStartTag tag "<!--#" svB
String that starts an include element
SSITimeFormat formatstring "%A, %d-%b-%Y %H:%M +svdhB
Configures the format in which date strings are +displayed
SSIUndefinedEcho string "(none)" svdhB
String displayed when an unset variable is echoed
SSLCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Client Auth
SSLCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Client Auth
SSLCADNRequestFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
SSLCADNRequestPath directory-pathsvE
Directory of PEM-encoded CA Certificates for +defining acceptable CA names
SSLCARevocationCheck chain|leaf|none [flags ...] none svE
Enable CRL-based revocation checking
SSLCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Client Auth
SSLCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Client Auth
SSLCertificateChainFile file-pathsvE
File of PEM-encoded Server CA Certificates
SSLCertificateFile file-path|certidsvE
Server PEM-encoded X.509 certificate data file or token identifier
SSLCertificateKeyFile file-path|keyidsvE
Server PEM-encoded private key file
SSLCipherSuite [protocol] cipher-spec DEFAULT (depends on +svdhE
Cipher Suite available for negotiation in SSL +handshake
SSLCompression on|off off svE
Enable compression on the SSL level
SSLCryptoDevice engine builtin sE
Enable use of a cryptographic hardware accelerator
SSLEngine on|off|optional off svE
SSL Engine Operation Switch
SSLFIPS on|off off sE
SSL FIPS mode Switch
SSLHonorCipherOrder on|off off svE
Option to prefer the server's cipher preference order
SSLInsecureRenegotiation on|off off svE
Option to enable support for insecure renegotiation
SSLOCSPDefaultResponder urisvE
Set the default responder URI for OCSP validation
SSLOCSPEnable on|leaf|off off svE
Enable OCSP validation of the client certificate chain
SSLOCSPNoverify on|off off svE
skip the OCSP responder certificates verification
SSLOCSPOverrideResponder on|off off svE
Force use of the default responder URI for OCSP validation
SSLOCSPProxyURL urlsvE
Proxy URL to use for OCSP requests
SSLOCSPResponderCertificateFile filesvE
Set of trusted PEM encoded OCSP responder certificates
SSLOCSPResponderTimeout seconds 10 svE
Timeout for OCSP queries
SSLOCSPResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP responses
SSLOCSPResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP response validation
SSLOCSPUseRequestNonce on|off on svE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd command-name command-valuesvE
Configure OpenSSL parameters through its SSL_CONF API
SSLOptions [+|-]option ...svdhE
Configure various SSL engine run-time options
SSLPassPhraseDialog type builtin sE
Type of pass phrase dialog for encrypted private +keys
SSLProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL/TLS protocol versions
SSLProxyCACertificateFile file-pathsvpE
File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
SSLProxyCACertificatePath directory-pathsvpE
Directory of PEM-encoded CA Certificates for +Remote Server Auth
SSLProxyCARevocationCheck chain|leaf|none none svpE
Enable CRL-based revocation checking for Remote Server Auth
SSLProxyCARevocationFile file-pathsvpE
File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCARevocationPath directory-pathsvpE
Directory of PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCheckPeerCN on|off on svpE
Whether to check the remote server certificate's CN field +
SSLProxyCheckPeerExpire on|off on svpE
Whether to check if remote server certificate is expired +
SSLProxyCheckPeerName on|off on svpE
Configure host name checking for remote server certificates +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +svpE
Cipher Suite available for negotiation in SSL +proxy handshake
SSLProxyEngine on|off off svpE
SSL Proxy Engine Operation Switch
SSLProxyMachineCertificateChainFile filenamesvpE
File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
SSLProxyMachineCertificateFile filenamesvpE
File of concatenated PEM-encoded client certificates and keys to be used by the proxy
SSLProxyMachineCertificatePath directorysvpE
Directory of PEM-encoded client certificates and keys to be used by the proxy
SSLProxyProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svpE
Configure usable SSL protocol flavors for proxy usage
SSLProxyVerify level none svpE
Type of remote server Certificate verification
SSLProxyVerifyDepth number 1 svpE
Maximum depth of CA Certificates in Remote Server +Certificate verification
SSLRandomSeed context source +[bytes]sE
Pseudo Random Number Generator (PRNG) seeding +source
SSLRenegBufferSize bytes 131072 dhE
Set the size for the SSL renegotiation buffer
SSLRequire expressiondhE
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLdhE
Deny access when SSL is not used for the +HTTP request
SSLSessionCache type none sE
Type of the global/inter-process SSL Session +Cache
SSLSessionCacheTimeout seconds 300 svE
Number of seconds before an SSL session expires +in the Session Cache
SSLSessionTicketKeyFile file-pathsvE
Persistent encryption/decryption key for TLS session tickets
SSLSessionTickets on|off on svE
Enable or disable use of TLS session tickets
SSLSRPUnknownUserSeed secret-stringsvE
SRP unknown user seed
SSLSRPVerifierFile file-pathsvE
Path to SRP verifier file
SSLStaplingCache typesE
Configures the OCSP stapling cache
SSLStaplingErrorCacheTimeout seconds 600 svE
Number of seconds before expiring invalid responses in the OCSP stapling cache
SSLStaplingFakeTryLater on|off on svE
Synthesize "tryLater" responses for failed OCSP stapling queries
SSLStaplingForceURL urisvE
Override the OCSP responder URI specified in the certificate's AIA extension
SSLStaplingResponderTimeout seconds 10 svE
Timeout for OCSP stapling queries
SSLStaplingResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP stapling responses
SSLStaplingResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP stapling response validation
SSLStaplingReturnResponderErrors on|off on svE
Pass stapling related OCSP errors on to client
SSLStaplingStandardCacheTimeout seconds 3600 svE
Number of seconds before expiring responses in the OCSP stapling cache
SSLStrictSNIVHostCheck on|off off svE
Whether to allow non-SNI clients to access a name-based virtual +host. +
SSLUserName varnamesdhE
Variable name to determine user name
SSLUseStapling on|off off svE
Enable stapling of OCSP responses in the TLS handshake
SSLVerifyClient level none svdhE
Type of Client Certificate verification
SSLVerifyDepth number 1 svdhE
Maximum depth of CA Certificates in Client +Certificate verification
StartServers numbersM
Number of child server processes created at startup
StartThreads numbersM
Number of threads created on startup
StrictHostCheck ON|OFF OFF svC
Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Substitute s/pattern/substitution/[infq]dhE
Pattern to filter the response content
SubstituteInheritBefore on|off off dhE
Change the merge order of inherited patterns
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) 1m dhE
Set the maximum line size
Suexec On|OffsB
Enable or disable the suEXEC feature
SuexecUserGroup User GroupsvE
User and group for CGI programs to run as
ThreadLimit numbersM
Sets the upper limit on the configurable number of threads +per child process
ThreadsPerChild numbersM
Number of threads created by each child process
ThreadStackSize sizesM
The size in bytes of the stack used by threads handling +client connections
TimeOut seconds 60 svC
Amount of time the server will wait for +certain events before failing a request
TLSCertificate cert_file [key_file]svX
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)svX
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used.
TLSEngine [address:]portsX
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on svX
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionsvdhX
enables SSL variables for requests.
TLSProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemsvpX
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)svpX
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)svpX
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offsvpX
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]svpX
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ svpX
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsX
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sX
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on sC
Determines the behaviour on TRACE requests
TransferLog file|pipesvB
Specify location of a log file
TypesConfig file-path conf/mime.types sB
The location of the mime.types file
UnDefine parameter-namesC
Undefine the existence of a variable
UndefMacro namesvdB
Undefine a macro
UnsetEnv env-variable [env-variable] +...svdhB
Removes variables from the environment
Use name [value1 ... valueN] +svdB
Use a macro
UseCanonicalName On|Off|DNS Off svdC
Configures how the server determines its own name and +port
UseCanonicalPhysicalPort On|Off Off svdC
Configures how the server determines its own name and +port
User unix-userid #-1 sB
The userid under which the server will answer +requests
UserDir directory-filename [directory-filename] ... +svB
Location of the user-specific directories
VHostCGIMode On|Off|Secure On vX
Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to subprocesses created +by a virtual host.
VHostGroup unix-groupidvX
Sets the Group ID under which a virtual host runs.
VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to a virtual host.
VHostSecure On|Off On vX
Determines whether the server runs with enhanced security +for the virtualhost.
VHostUser unix-useridvX
Sets the User ID under which a virtual host runs.
VirtualDocumentRoot interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
VirtualDocumentRootIP interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>sC
Contains directives that apply only to a specific +hostname or IP address
VirtualScriptAlias interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
VirtualScriptAliasIP interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
WatchdogInterval time-interval[s] 1 sB
Watchdog interval in seconds
XBitHack on|off|full off svdhB
Parse SSI directives in files with the execute bit +set
xml2EncAlias charset alias [alias ...]sB
Recognise Aliases for encoding values
xml2EncDefault namesvdhB
Sets a default encoding to assume when absolutely no information +can be automatically detected
xml2StartParse element [element ...]svdhB
Advise the parser to skip leading junk.
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.fr.utf8 b/docs/manual/mod/quickreference.html.fr.utf8 new file mode 100644 index 0000000..f96f467 --- /dev/null +++ b/docs/manual/mod/quickreference.html.fr.utf8 @@ -0,0 +1,1581 @@ + + + + + +Document de référence rapide des directives - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +

Document de référence rapide des directives

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Le document de référence rapide des directives montre l'usage, + les valeurs par défaut, le statut, + et le contexte de chaque directive de configuration d'Apache. Pour plus + d'informations sur chacun de ces termes, voir le Dictionnaire des directives.

+ +

La première colonne donne le nom de la directive et son usage. + Si la directive possède une valeur par défaut, elle est indiquée dans la + deuxième colonne. + Si la valeur par défaut est trop grande pour pouvoir être affichée, + elle sera tronquée et suivie d'un "+".

+ +

La troisième colonne énumère les contextes dans + lesquels la directive est applicable, et la quatrième indique son statut en accord avec le + tableau des légendes ci-dessous.

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
sconfiguration globale
vserveur virtuel
drépertoire
h.htaccess
psection proxy
+ + + + + +
CNoyau httpd
MMPM
BBase
EExtension
XExpérimental
TExterne
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter protocole filtre +d'acceptationsC
Permet d'optimiser la configuration d'une socket pour +l'écoute d'un protocole
AcceptPathInfo On|Off|Default Default svdhC
Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.
AccessFileName nom-du-fichier +[nom-du-fichier] ... .htaccess svC
Nom du fichier de configuration distribué
Action type d'action script cgi +[virtual]svdhB
Active un script CGI pour un gestionnaire ou un type de +contenu particulier
AddAlt texte fichier [fichier] ...svdhB
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son nom
AddAltByEncoding texte codage MIME +[codage MIME] ...svdhB
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son codage MIME
AddAltByType texte type MIME +[type MIME] ...svdhB
Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son type MIME
AddCharset jeu-car extension +[extension] ...svdhB
Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié
AddDefaultCharset On|Off|jeu de caractères Off svdhC
Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est text/plain ou +text/html
AddDescription texte [fichier] ...svdhB
Afficher la description d'un fichier
AddEncoding codage extension +[extension] ...svdhB
Associe les extensions de noms de fichiers données au type +de codage spécifié
AddHandler nom-gestionnaire extension +[extension] ...svdhB
Associe les extensions de noms de fichiers données au +gestionnaire spécifié
AddIcon icône nom [nom] +...svdhB
Icône à afficher pour un fichier en fonction de son +nom
AddIconByEncoding icône codage MIME +[codage MIME] ...svdhB
Icône à afficher à côté d'un fichier en fonction de son +codage MIME
AddIconByType icône type MIME +[type MIME] ...svdhB
Icône à afficher à côté d'un fichier en fonction de son +type MIME
AddInputFilter filtre[;filtre...] +extension [extension] ...svdhB
Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients
AddLanguage symbole-langue extension +[extension] ...svdhB
Associe l'extension de nom de fichier donnée à la langue +spécifié
AddModuleInfo nom-module chaînesvE
Ajoute des données supplémentaires aux informations de +module affichées par le gestionnaire server-info
AddOutputFilter filtre[;filtre...] +extension [extension] ...svdhB
Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur
AddOutputFilterByType filtre[;filtre...] +type_de_média [type_de_média] ...svdhB
assigne un filtre en sortie pour un type de média +particulier
AddType type-médium extension +[extension] ...svdhB
Associe les extensions de noms de fichiers au type de +contenu spécifié
Alias [chemin URL] +chemin fichier|chemin répertoiresvB
Met en correspondance des URLs avec des chemins du système +de fichiers
AliasMatch regex +chemin fichier|chemin répertoiresvB
Met en correspondance des URLs avec le système de fichiers +en faisant intervenir les expressions rationnelles
Allow from all|hôte|env=[!]variable +d'environnement +[hôte|env=[!]variable d'environnement] ...dhE
Spécifie quels hôtes peuvent accéder à une certaine zone du +serveur
AllowCONNECT port[-port] +[port[-port]] ... 443 563 svE
Ports autorisés à se CONNECTer à travers le +mandataire
AllowEncodedSlashes On|Off|NoDecode Off svC
Détermine si les séparateurs de chemin encodés sont +autorisés à transiter dans les URLs tels quels
AllowMethods reset|HTTP-method +[HTTP-method]... reset dX
Restreint l'accès aux méthodes HTTP spécifiées
AllowOverride All|None|type directive +[type directive] ... None à partir de la +dC
Types de directives autorisées dans les fichiers +.htaccess
AllowOverrideList None|directive +[directive-type] ... None dC
Directives autorisées dans les fichiers .htaccess
Anonymous utilisateur [utilisateur] +...dhE
Définit la liste des identifiants utilisateur autorisés à +accéder sans vérification du mot de passe
Anonymous_LogEmail On|Off On dhE
Détermine si le mot de passe fourni sera enregistré dans le +journal des erreurs
Anonymous_MustGiveEmail On|Off On dhE
Détermine si l'abscence de mot de passe est +autorisée
Anonymous_NoUserID On|Off Off dhE
Détermine si le champ identifiant peut être +vide
Anonymous_VerifyEmail On|Off Off dhE
Détermine s'il faut vérifier que le format de l'adresse +email fournie comme mot de passe est correct
AsyncRequestWorkerFactor facteursM
Limite le nombre de connexions simultanées par thread
AuthBasicAuthoritative On|Off On dhB
Définit si les processus d'autorisation et +d'authentification peuvent être confiés à des modules de plus bas +niveau
AuthBasicFake off|username [password]dhB
Authentification de base simulée à l'aide des nom +d'utilisateur et mot de passe fournis
AuthBasicProvider nom fournisseur +[nom fournisseur] ... file dhB
Définit le(les) fournisseur(s) d'authentification pour +cette zone du site web
AuthBasicUseDigestAlgorithm MD5|Off Off dhB
Vérifie les mots de passe auprès des fournisseurs +d'authentification à la manière de l'authentification de type Digest. +
AuthDBDUserPWQuery requêtedE
Requête SQL servant à vérifier le mot de passe d'un +utilisateur
AuthDBDUserRealmQuery requêtedE
Requête SQL servant à vérifier une empreinte de mot de +passe pour un utilisateur et un identifiant d'authentification. +
AuthDBMGroupFile chemin-fichierdhE
Définit le nom du fichier de base de données contenant la +liste des groupes d'utilisateurs permettant de définir les +autorisations des utilisateurs
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
Définit le type de fichier de base de données utilisé pour +stocker les mots de passe
AuthDBMUserFile chemin-fichierdhE
Définit le nom d'un fichier de base de données pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe
AuthDigestAlgorithm MD5|MD5-sess MD5 dhE
Sélectionne l'algorithme utilisé pour calculer les +condensés du défit et de sa réponse
AuthDigestDomain URI [URI] ...dhE
Les URIs qui se trouvent dans le même espace de protection +concernant l'authentification à base de condensés
AuthDigestNonceLifetime secondes 300 dhE
Durée de validité du nombre à valeur unique du +serveur (nonce)
AuthDigestProvider nom fournisseur +[nom fournisseur] ... file dhE
Définit le(s) fournisseurs(s) d'authentification pour la +zone du site web concernée
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhE
Détermine le niveau de protection fourni par +l'authentification à base de condensé
AuthDigestShmemSize taille 1000 sE
La quantité de mémoire partagée à allouer afin de conserver +les informations à propos des clients
AuthFormAuthoritative On|Off On dhB
Détermine si l'autorisation et l'authentification sont confiés à +des modules de plus bas niveau
AuthFormBody nom du champ httpd_body dB
Le nom du champ de formulaire contenant le corps de la +requête à effectuer en cas de connexion réussie
AuthFormDisableNoStore On|Off Off dB
Désactive l'en-tête CacheControl no-store sur la page de +connexion
AuthFormFakeBasicAuth On|Off Off dB
Simule une en-tête d'authentification de base
AuthFormLocation nom du champ httpd_location dB
Le nom du champ de formulaire qui contiendra l'URL vers +laquelle l'utilisateur sera redirigé en cas de connexion +réussie
AuthFormLoginRequiredLocation urldB
L'URL de la page vers laquelle on doit être redirigé si une +authentification est requise
AuthFormLoginSuccessLocation urldB
L'URL de la page vers laquelle on doit être redirigé en cas +de connexion réussie
AuthFormLogoutLocation uridB
L'URL vers laquelle un utilisateur devra être redirigé +après s'être déconnecté
AuthFormMethod nom du champ httpd_method dB
Le nom du champ de formulaire contenant la méthode de la +requête à effectuer en cas de connexion réussie
AuthFormMimetype nom du champ httpd_mimetype dB
Le nom du champ de formulaire contenant le type MIME du +corps de la requête à effectuer en cas de connexion +réussie
AuthFormPassword nom du champ httpd_password dB
Le nom du champ de formulaire qui contient le mot de passe +de connexion
AuthFormProvider nom fournisseur +[nom fournisseur] ... file dhB
Définit le(s) fournisseur(s) d'authentification pour la +zone concernée
AuthFormSitePassphrase secretdB
Court-circuite l'authentification pour les sites à fort +trafic
AuthFormSize taille 8192 dB
La taille maximale en octets du formulaire dont seront +extraites les informations de connexion
AuthFormUsername nom du champ httpd_username dB
Le nom du champ de formulaire qui contient le nom de +connexion
AuthGroupFile chemin-fichierdhB
Définit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de définir les autorisations des +utilisateurs
AuthLDAPAuthorizePrefix préfixe AUTHORIZE_ dhE
Spécifie le préfixe ajouté aux variables d'environnement +durant la phase d'autorisation
AuthLDAPBindAuthoritative off|on on dhE
Détermine si l'on doit utiliser d'autres fournisseurs +d'authentification lorsque le serveur ne peut pas valider les données +d'authentification de l'utilisateur, alors que ce dernier possède un +DN.
AuthLDAPBindDN dndhE
Un DN optionnel pour se connecter au serveur +LDAP
AuthLDAPBindPassword mot-de-passedhE
Mot de passe à utiliser en conjonction avec le DN de +connexion
AuthLDAPCharsetConfig chemin-fichiersE
Chemin du fichier de configuration de la correspondance +langage/jeu de caractères
AuthLDAPCompareAsUser on|off off dhE
Utilisation des données d'authentification de l'utilisateur +pour effectuer les comparaisons pour l'attribution des autorisations
AuthLDAPCompareDNOnServer on|off on dhE
Utilise le serveur LDAP pour comparer les DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
À quel moment le module va déréférencer les +alias
AuthLDAPGroupAttribute attribut member uniqueMember +dhE
L'attribut LDAP utilisé pour vérifier l'appartenance d'un +utilisateur à un groupe.
AuthLDAPGroupAttributeIsDN on|off on dhE
Utilise le DN de l'utilisateur pour vérifier son +appartenance à un groupe
AuthLDAPInitialBindAsUser off|on off dhE
Détermine si le serveur effectue la recherche initiale du +DN en utilisant le nom propre de l'utilisateur pour l'authentification +de base +et non de manière anonyme, ou en utilisant des données d'authentification +codées en dur pour le serveur
AuthLDAPInitialBindPattern regex substitution (.*) $1 (nom de l'u +dhE
Spécifie la modification a apporter au nom d'utilisateur +pour l'authentification de base lors de l'authentification auprès du +serveur LDAP pour effectuer une recherche de DN
AuthLDAPMaxSubGroupDepth Nombre 10 dhE
Spécifie la profondeur d'imbrication des sous-groupes +maximale prise en compte avant l'abandon de la recherche de +l'utilisateur.
AuthLDAPRemoteUserAttribute uiddhE
Spécifie l'attribut dont la valeur renvoyée au cours de la +requête de l'utilisateur sera utilisée pour définir la variable +d'environnement REMOTE_USER
AuthLDAPRemoteUserIsDN on|off off dhE
Utilise le DN de l'utilisateur pour définir la variable +d'environnement REMOTE_USER
AuthLDAPSearchAsUser on|off off dhE
Utilise les données d'authentification de l'utilisateur +pour la recherche des autorisations
AuthLDAPSubGroupAttribute attributdhE
Spécifie les noms d'attribut, un par directive, utilisés +pour différencier les membres du groupe courant qui sont eux-mêmes des +groupes.
AuthLDAPSubGroupClass ObjectClass-LDAP groupOfNames groupO +dhE
Spécifie quelles valeurs d'objectClass LDAP identifient les +objets de l'annuaire qui sont des groupes au cours du traitement des +sous-groupes.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhB
Définit la manière dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration précédentes.
AuthName domaine d'autorisationdhB
L'identifiant de l'autorisation à utiliser avec +l'authentification HTTP
AuthnCacheContext directory|server|custom-string directory dB
Spécifie une chaîne de contexte à utiliser dans la clé du +cache
AuthnCacheEnablesB
Active la mise en cache de l'authentification en tout +endroit
AuthnCacheProvideFor fournisseur-authn [...]dhB
Spécifie le fournisseur pour lequel on veut effectuer une +mise en cache
AuthnCacheSOCache nom-fournisseur[:arguments-fournisseur]sB
Sélectionne le fournisseur socache d'arrière-plan à +utiliser
AuthnCacheTimeout durée-de-vie (secondes) 300 (5 minutes) dhB
Définit une durée de vie pour les entrées du cache
<AuthnProviderAlias alias-fournisseur> +... </AuthnProviderAlias>sB
Regroupe un ensemble de directives qui constituent une +extension d'un fournisseur d'authentification de base et lui attribue +l'alias spécifié
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Permet à une application FastCGI de gérer l'accroche +d'authentification check_authn.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Définit une application FastCGI en tant que fournisseur +d'authentification et/ou autorisation
AuthType None|Basic|Digest|FormdhB
Type d'authentification utilisateur
AuthUserFile chemin-fichierdhB
Définit le nom d'un fichier texte pour l'authentification +contenant la liste des utilisateurs et de leurs mots de +passe
AuthzDBDLoginToReferer On|Off Off dE
Définit si le client doit être redirigé vers la page +d'origine en cas de connexion ou de déconnexion réussie si un en-tête +de requête Referer est présent
AuthzDBDQuery requêtedE
Définit la requête SQL pour l'opération requise
AuthzDBDRedirectQuery requêtedE
Définit une requête pour rechercher une page vers laquelle +rediriger l'utilisateur après une connexion réussie
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
Définit le type de fichier de base de données contenant +la liste des groupes d'utilisateurs
<AuthzProviderAlias fournisseur-de-base Alias +Paramètres-Require> +... </AuthzProviderAlias> +sB
Regroupe des directives représentant une extension d'un +fournisseur d'autorisation de base qui pourra être référencée à l'aide +de l'alias spécifié
AuthzSendForbiddenOnFailure On|Off Off dhB
Envoie '403 FORBIDDEN' au lieu de '401 UNAUTHORIZED' si +l'authentification réussit et si l'autorisation a été refusée. +
BalancerGrowth # 5 svE
Nombre de membres supplémentaires pouvant être ajoutés +après la configuration initiale
BalancerInherit On|Off On svE
Héritage des membres du groupes de répartition de + charge du mandataire définis au niveau du serveur principal
BalancerMember [balancerurl] url [clé=valeur [clé=valeur ...]]dE
Ajoute un membre à un groupe de répartition de +charge
BalancerPersist On|Off Off svE
Tente de conserver les changements effectués par le + gestionnaire de répartition de charge après un redémarrage du + serveur.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix svE
Comment l'en-tête de réponse ETag doit être modifié au cours de la +compression
BrotliCompressionMaxInputBlock valuesvE
Taille maximale du bloc de données en entrée
BrotliCompressionQuality value 5 svE
Qualité de la compression
BrotliCompressionWindow value 18 svE
Taille de la fenêtre de compression glissante brotli
BrotliFilterNote [type] notenamesvE
Enregistre le taux de compression dans une note à des fins de +journalisation
BrowserMatch regex [!]env-variable[=valeur] +[[!]env-variable[=valeur]] ...svdhB
Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent
BrowserMatchNoCase regex [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...svdhB
Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la +casse
BufferedLogs On|Off Off sB
Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque
BufferSize entier 131072 svdhE
Taille maximale en octets du filtre par tampon
CacheDefaultExpire secondes 3600 (une heure) svdhE
La durée par défaut de mise en cache d'un document +lorsqu'aucune date d'expiration n'a été spécifiée.
CacheDetailHeader on|off off svdhE
Ajoute un en-tête X-Cache-Detail à la réponse.
CacheDirLength longueur 2 svE
Le nombre de caractères des noms des +sous-répertoires
CacheDirLevels niveaux 2 svE
Le nombre de niveaux de sous-répertoires que comportera le +cache.
CacheDisable chaîne-url | onsvdhE
Désactive la mise en cache des URLs +spécifiées
CacheEnable type de cache [chaîne +URL]svdE
Active la mise en cache des URLs spécifiées en utilisant le +gestionnaire de stockage précisé
CacheFile chemin fichier [chemin fichier] ...sX
Met en cache une liste de gestionnaires de fichiers au +démarrage
CacheHeader on|off off svdhE
Ajoute un en-tête X-Cache à la réponse.
CacheIgnoreCacheControl On|Off Off svE
Ignore les en-têtes de requête enjoignant de ne pas servir +le contenu au client depuis le cache
CacheIgnoreHeaders en-tête [en-tête] ... None svE
Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache. +
CacheIgnoreNoLastMod On|Off Off svdhE
Ignore le fait qu'une réponse ne possède pas d'en-tête Last +Modified.
CacheIgnoreQueryString On|Off Off svE
Ignore la chaîne de paramètres lors de la mise en +cache
CacheIgnoreURLSessionIdentifiers identifiant +[identifiant] ... None svE
Ignore les identifiants de session définis encodés dans +l'URL lors de la mise en cache +
CacheKeyBaseURL URLsvE
Remplace l'URL de base des clés du cache mandatées en +inverse
CacheLastModifiedFactor flottant 0.1 svdhE
Le facteur utilisé pour générer une date d'expiration en +fonction de la date de dernière modification.
CacheLock on|off off svE
Active la protection contre les tempêtes de requêtes.
CacheLockMaxAge entier 5 svE
Définit la durée de vie maximale d'un verrou de cache.
CacheLockPath répertoire /tmp/mod_cache-lock +svE
Définit le répertoire des verrous.
CacheMaxExpire secondes 86400 (une journée) +svdhE
La durée maximale en secondes de mise en cache d'un +document
CacheMaxFileSize octets 1000000 svdhE
>La taille maximale (en octets) d'un document pour pouvoir +être stocké dans le cache
CacheMinExpire secondes 0 svdhE
La durée minimale en secondes de mise en cache d'un +document
CacheMinFileSize octets 1 svdhE
La taille minimale (en octets) d'un document pour pouvoir +être stocké dans le cache
CacheNegotiatedDocs On|Off Off svB
Permet la mise en cache au niveau des serveurs mandataires +des documents dont le contenu a été négocié
CacheQuickHandler on|off on svE
Exécute le cache à partir d'un gestionnaire rapide.
CacheReadSize octets 0 svdhE
La quantité minimale (en octets) de données à lire et à +mettre en cache avant de les envoyer au client
CacheReadTime millisecondes 0 svdhE
Le temps minimum (en millisecondes) qui doit s'écouler +avant d'envoyer les données au client
CacheRoot répertoiresvE
La racine du répertoire dans lequel les fichiers du cache +seront stockés
CacheSocache type[:args]svE
Implémentation du cache d'objets partagés à utiliser
CacheSocacheMaxSize octets 102400 svdhE
La taille maximale d'une entrée pouvant être placée dans le +cache
CacheSocacheMaxTime secondes 86400 svdhE
La durée maximale de stockage d'un document dans le cache +avant péremption
CacheSocacheMinTime seconds 600 svdhE
La durée minimale de stockage d'un document dans le cache
CacheSocacheReadSize octets 0 svdhE
La quantité minimale de données du document à lire et +mettre en cache avant envoi au client
CacheSocacheReadTime millisecondes 0 svdhE
La durée minimale de lecture avant l'envoi des données
CacheStaleOnError on|off on svdhE
Sert du contenu non à jour à la place de réponses 5xx.
CacheStoreExpired On|Off Off svdhE
Tente de mettre en cache les réponses que le serveur +considère comme arrivées à expiration
CacheStoreNoStore On|Off Off svdhE
Tente de mettre en cache les requêtes ou réponses dont +l'entête Cache-Control: a pour valeur no-store.
CacheStorePrivate On|Off Off svdhE
Tente de mettre en cache des réponses que le serveur a +marquées comme privées
CGIDScriptTimeout time[s|ms]svdhB
Durée maximale d'attente de la prochaine sortie du +programme CGI
CGIMapExtension chemin CGI .extensiondhC
Technique permettant de localiser l'interpréteur des +scripts CGI
CGIPassAuth On|Off Off dhC
Active la transmission d'en-têtes d'autorisation HTTP aux scripts en +tant que variables CGI
CGIVar variable ruledhC
Contrôle la manière dont certaines variables CGI sont définies
CharsetDefault jeu de caractèressvdhE
Jeu de caractère vers lequel la traduction doit +s'effectuer
CharsetOptions option [option] ... ImplicitAdd svdhE
Précise les détails de la traduction du jeu de +caractères
CharsetSourceEnc jeu de caractèressvdhE
Jeu de caractères source des fichiers
CheckBasenameMatch on|off On svdhE
Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes
CheckCaseOnly on|off Off svdhE
Limite l'action du module aux corrections de +majuscules
CheckSpelling on|off Off svdhE
Active le module de correction
ChrootDir chemin-répertoiresB
Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8).
ContentDigest On|Off Off svdhC
Active la génération d'un en-tête Content-MD5 +dans la réponse HTTP
CookieDomain domainesvdhE
Le domaine auquel le cookie traceur +s'applique
CookieExpires duréesvdhE
Durée avant expiration du cookie traceur
CookieHTTPOnly on|off off svdhE
Ajoute l'attribut 'HTTPOnly' au cookie
CookieName symbole Apache svdhE
Nom du cookie traceur
CookieSameSite None|Lax|StrictsvdhE
Ajoute l'attribut 'SameSite' au cookie
CookieSecure on|off off svdhE
Ajoute l'attribut 'Secure' au cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
Format du champ d'en-tête cookie
CookieTracking on|off off svdhE
Active le cookie traceur
CoreDumpDirectory répertoiresM
Le répertoire dans lequel le serveur HTTP Apache va tenter de se +positionner avant d'effectuer un vidage mémoire
CustomLog fichier|pipe +format|alias +[env=[!]variable-environnement| +expr=expression]svB
Définit le nom et le format du fichier +journal
Dav On|Off|nom fournisseur Off dE
Active les méthodes HTTP WebDAV
DavDepthInfinity on|off off svdE
Autorise les requêtes PROPFIND avec en-tête Depth: +Infinity
DavGenericLockDB chemin fichiersvdE
Chemin de la base de données des verrous DAV
DavLockDB chemin fichiersvE
Chemin de la base de données des verrous DAV
DavLockDiscovery on|off on svdhE
Active la découverte des verrous
DavMinTimeout secondes 0 svdE
Durée minimale pendant laquelle le serveur maintient un +verrou sur une ressource DAV
DBDExptime durée en secondes 300 svE
Durée de vie des connexions inactives
DBDInitSQL "instruction SQL"svE
Exécute une instruction SQL après connexion à une base de +données
DBDKeep nombre 2 svE
Nombre maximum de connexions maintenues
DBDMax nombre 10 svE
Nombre maximum de connexions
DBDMin nombre 1 svE
Nombre minimum de connexions
DBDParams +param1=valeur1[,param2=valeur2]svE
Paramètres de la connexion à la base de +données
DBDPersist On|OffsvE
Utiliser ou non des connexions persistentes
DBDPrepareSQL "requête SQL" étiquettesvE
Définit une requête SQL préparée
DBDriver nomsvE
Spécifie un pilote SQL
DefaultIcon chemin URLsvdhB
Icône à afficher par défaut lorsqu'aucun icône spécifique +n'est précisé
DefaultLanguage symbole-languesvdhB
Définit un symbole de langue par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langue n'a été +associé.
DefaultRuntimeDir chemin-répertoire DEFAULT_REL_RUNTIME +sC
Répertoire de base des fichiers créés au cours de l'exécution du serveur
DefaultType type média|none none svdhC
Les seuls effets de cette directive sont des émissions +d'avertissements si sa valeur est différente de none. Dans +les versions précédentes, DefaultType permettait de spécifier un type de +média à assigner par défaut au contenu d'une réponse pour lequel aucun +autre type de média n'avait été trouvé. +
Define nom-paramètre [valeur-paramètre]svdC
Permet de définir une variable
DeflateBufferSize valeur 8096 svE
Taille du fragment que zlib devra comprimer en une seule +fois
DeflateCompressionLevel valeursvE
Le niveau de compression que nous appliquons à la +sortie
DeflateFilterNote [type] nom de la notesvE
Enregistre le taux de compression sous la forme d'une note +à des fins de journalisation
DeflateInflateLimitRequestBody valuesvdhE
Taille maximale des corps de requête décompressés
DeflateInflateRatioBurst value 3 svdhE
Nombre maximal de fois que le ratio de décompression d'un +corps de requête peut être dépassé
DeflateInflateRatioLimit value 200 svdhE
Ratio de décompression maximum pour les corps de requêtes
DeflateMemLevel valeur 9 svE
La quantité de mémoire utilisable par zlib pour la +compression
DeflateWindowSize valeur 15 svE
Taille de la fenêtre de compression zlib
Deny from all|hôte|env=[!]variable +d'environnement +[hôte|env=[!]variable d'environnement] ...dhE
Définit quels hôtes ne sont pas autorisés à accéder au +serveur
<Directory chemin répertoire> +... </Directory>svC
Regroupe un ensemble de directives qui ne s'appliquent +qu'au répertoire concerné du système de fichiers, à ses +sous-répertoires, et à leur contenu.
DirectoryCheckHandler On|Off Off svdhB
Définit la réponse de ce module lorsqu'un autre +gestionnaire est utilisé
DirectoryIndex + disabled | url locale [url locale] ... index.html svdhB
Liste des fichiers ressources à rechercher lorsque le +client envoie une requête pour un répertoire
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code + off svdhB
Définit une redirection externe pour les index de +répertoires. +
<DirectoryMatch regex> +... </DirectoryMatch>svC
Regroupe des directives qui s'appliquent au contenu de répertoires +du système de fichiers correspondant à une expression rationnelle
DirectorySlash On|Off On svdhB
Activation/Désactivation de la redirection "slash de +fin"
DocumentRoot chemin répertoire "/usr/local/apache/ +svC
Racine principale de l'arborescence des documents visible +depuis Internet
DTracePrivileges On|Off Off sX
Détermine si les privilèges requis par dtrace sont +activés.
DumpIOInput On|Off Off sE
Enregistre toutes les entrées dans le journal des +erreurs
DumpIOOutput On|Off Off sE
Enregistre toutes les sorties dans le journal des +erreurs
<Else> ... </Else>svdhC
Contient des directives qui ne s'appliquent que si la +condition correspondant à la section <If> ou <ElseIf> précédente n'est pas satisfaite par la +requête à l'exécution
<ElseIf expression> ... </ElseIf>svdhC
Contient des directives qui ne s'appliquent que si la +condition correspondante est satisfaite par une requête à l'exécution, +alors que la condition correspondant à la section <If> ou <ElseIf> précédente ne l'était pas.
EnableExceptionHook On|Off Off sM
Active un hook ("point d'accrochage logiciel") qui exécute des +gestionnaires d'exception après un crash
EnableMMAP On|Off On svdhC
Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis
EnableSendfile On|Off Off svdhC
Utilise le support sendfile du noyau pour servir les +fichiers aux clients
Error messagesvdhC
Interrompt la lecture de la configuration avec un message +d'erreur personnalisé
ErrorDocument code erreur documentsvdhC
Document que le serveur renvoie au client en cas +d'erreur
ErrorLog file-path|syslog[:[facility][:tag]] logs/error_log (Uni +svC
Définition du chemin du journal des erreurs
ErrorLogFormat [connection|request] formatsvC
Spécification du format des entrées du journal des erreurs
ExamplesvdhX
Directive de démonstration pour illustrer l'API des modules +Apache
ExpiresActive On|Off Off svdhE
Active la génération d'en-têtes +Expires
ExpiresByType type MIME +<code>secondessvdhE
Définition de la valeur de l'en-tête Expires +en fonction du type MIME
ExpiresDefault <code>secondessvdhE
Mode de calcul par défaut de la date +d'expiration
ExtendedStatus On|Off Off sC
Extrait des informations d'état étendues pour chaque +requête
ExtFilterDefine nom_filtre paramètressE
Définit un filtre externe
ExtFilterOptions option [option] ... NoLogStderr dE
Configure les options de +mod_ext_filter
FallbackResource disabled | url-localesvdhB
Définit une URL par défaut pour les requêtes qui ne ciblent +aucun fichier
FileETag composant ... MTime Size svdhC
Caractéristiques de fichier utilisées lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques
<Files nom fichier> ... </Files>svdhC
Contient des directives qui s'appliquent aux fichiers +précisés
<FilesMatch expression rationnelle> ... +</FilesMatch>svdhC
Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles
FilterChain [+=-@!]nom_filtre ...svdhB
Configure la chaîne de filtrage
FilterDeclare nom_filtre [type]svdhB
Déclare un filtre intelligent
FilterProtocol nom_filtre [nom_fournisseur] + drapeaux_protocolesvdhB
Vérifie le respect du protocole HTTP
FilterProvider nom_filtre nom_fournisseur + expressionsvdhB
Enregistre un filtre de contenu
FilterTrace nom_filtre niveausvdB
Obtention d'informations de débogage/diagnostique en +provenance de mod_filter
FlushMaxPipelined number 5 svC
Nombre maximal de réponses en attente (pipelined) au-delà duquel +elles sont envoyées sur le réseau
FlushMaxThreshold number-of-bytes 65536 svC
Seuil au-delà duquel les données en attente sont envoyées sur le +réseau
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
Action à entreprendre si un document acceptable unique +n'est pas trouvé
ForceType type médium|NonedhC
Force le type de médium spécifié dans le champ d'en-tête +HTTP Content-Type pour les fichiers correspondants
ForensicLog nom-fichier|pipesvE
Définit le nom de fichier du journal légal
GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]sB
Définit le nom et le format du fichier journal
GprofDir /tmp/gprof/|/tmp/gprof/%svC
Répertoire dans lequel écrire les données de profiling +gmon.out.
GracefulShutdownTimeout seconds 0 sM
Spécifie le délai maximum après lequel le serveur va +s'arrêter dans le cas d'un arrêt "en douceur"
Group groupe unix #-1 sB
Groupe sous lequel le serveur va traiter les +requêtes
H2CopyFiles on|off off svdhE
Contrôle la gestion des fichiers dans les réponses
H2Direct on|off on pour h2c, off po +svE
Activation du protocole H2 Direct
H2EarlyHints on|off off svE
Contrôle l'envoi de codes d'état 103
H2MaxSessionStreams n 100 svE
Nombre maximal de flux actifs par session HTTP/2.
H2MaxWorkerIdleSeconds n 600 sE
Nombre maximal de secondes pendant lequel une unité de + traitement h2 pourra rester inactive sans être arrêtée.
H2MaxWorkers nsE
Nombre maximal de threads à utiliser pour chaque processus + enfant.
H2MinWorkers nsE
Nombre minimal de threads à utiliser pour chaque processus + enfant.
H2ModernTLSOnly on|off on svE
Impose les connexions HTTP/2 en mode "TLS moderne" + seulement
H2OutputBuffering on|off on svE
Contrôle la mise en tampon du flux de sortie
H2Padding numbits 0 svE
Spécifie un intervalle de nombres d'octets de bourrage à + ajouter aux trames utiles
H2Push on|off on svdhE
Activation/désactivation du server push H2
H2PushDiarySize n 256 svE
Taille du journal des Pushes H2
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 svE
Priorité des pushes H2
H2PushResource [add] path [critical]svdhE
Déclare des ressources à proposer ("pusher") au client
H2SerializeHeaders on|off off svE
Active/désactive la sérialisation du traitement des + requêtes/réponses
H2StreamMaxMemSize bytes 65536 svE
Quantité maximale de données en sortie mises en tampon par + flux.
H2TLSCoolDownSecs seconds 1 svE
Durée d'inactivité d'une connexion TLS avant diminution de + la taille des paquets
H2TLSWarmUpSize amount 1048576 svE
Taille des paquets durant la phase initiale de la connexion + TLS
H2Upgrade on|off on pour h2c, off po +svdhE
Activation/Désactivation du protocole de mise à jour H2
H2WindowSize bytes 65535 svE
Taille maximale des paquets de données pour les transmissions client + vers serveur.
Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +en-tête [[expr=]valeur +[remplacement] +[early|env=[!]variable|expr=expression]] +svdhE
Configure les en-têtes d'une réponse HTTP
HeaderName nom fichiersvdhB
Nom du fichier qui sera inséré au début de la page +contenant l'index
HeartbeatAddress addr:portsX
Adresse multicast à laquelle envoyer les requêtes +heartbeat
HeartbeatListen addr:portsX
Adresse multicast d'écoute des requêtes entrantes heartbeat
HeartbeatMaxServers nombre-de-serveurs 10 sX
Spécifie le nombre maximal de serveurs qui pourront envoyer +des requêtes heartbeat à ce serveur.
HeartbeatStorage chemin fichier logs/hb.dat sX
Chemin vers le stockage des données heartbeat lorsqu'on utilise un +fichier bidimensionnel (flat-file)
HeartbeatStorage chemin-fichier logs/hb.dat sX
Indique le chemin permettant de lire les données +heartbeat
HostnameLookups On|Off|Double Off svdC
Active la recherche DNS sur les adresses IP des +clients
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +svC
Modifie les contraintes sur les messages des requêtes HTTP
IdentityCheck On|Off Off svdE
Active la journalisation de l'identité RFC 1413 de +l'utilisateur distant
IdentityCheckTimeout secondes 30 svdE
Détermine le délai d'attente pour les requêtes +ident
<If expression> ... </If>svdhC
Contient des directives qui ne s'appliquent que si une +condition est satisfaite au cours du traitement d'une +requête
<IfDefine [!]paramètre> ... + </IfDefine>svdhC
Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur
<IfDirective [!]directive-name> ... + </IfDirective>svdhC
Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une directive particulière
<IfFile [!]filename> ... + </IfFile>svdhC
Regroupe des directives qui ne seront traitées que si un fichier +existe au démarrage
<IfModule [!]fichier module|identificateur +module> ... </IfModule>svdhC
Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique
<IfSection [!]section-name> ... + </IfSection>svdhC
Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une section particulière
<IfVersion [[!]opérateur] version> ... +</IfVersion>svdhE
Contient des portions de configuration dépendantes de la +version
ImapBase map|referer|URL http://nom_serveur/ +svdhB
Valeur par défaut de la directive base des +fichiers imagemap
ImapDefault error|nocontent|map|referer|URL nocontent svdhB
Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible
ImapMenu none|formatted|semiformatted|unformatted formatted svdhB
Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap
Include chemin-fichier|chemin-répertoire|wildcardsvdC
Inclut d'autres fichiers de configuration dans un des +fichiers de configuration du serveur
IncludeOptional +file-path|directory-path|wildcardsvdC
Inclusion de fichiers dans le fichier de configuration
IndexHeadInsert "marque ..."svdhB
Insère du texte dans la section HEAD de la page +d'index.
IndexIgnore fichier [fichier] ... "." svdhB
Ajouts à la liste des fichiers à cacher lors de l'affichage +de l'index d'un répertoire
IndexIgnoreReset ON|OFFsvdhB
Vide la liste des fichiers à cacher lors de l'affichage du +contenu d'un répertoire
IndexOptions [+|-]option [[+|-]option] +...svdhB
Diverses options de configuration pour l'indexation d'un +répertoire
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
Définit l'ordre d'affichage par défaut d'un index de +répertoire
IndexStyleSheet chemin-urlsvdhB
Ajoute une feuille de style CSS à l'index du +répertoire
InputSed commande-seddh
Commande sed à exécuter pour le filtrage des données d'une +requête (en général des données POST)
ISAPIAppendLogToErrors on|off off svdhB
Enregistrement des requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans le journal des erreurs
ISAPIAppendLogToQuery on|off on svdhB
Enregistre les requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans la partie arguments de la requête
ISAPICacheFile chemin-fichier +[chemin-fichier] +...svB
Fichiers .dll ISAPI devant être chargés au +démarrage
ISAPIFakeAsync on|off off svdhB
Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI
ISAPILogNotSupported on|off off svdhB
Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI
ISAPIReadAheadBuffer taille 49152 svdhB
Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI
KeepAlive On|Off On svC
Active les connexions HTTP persistantes
KeepAliveTimeout nombre[ms] 5 svC
Durée pendant laquelle le serveur va attendre une requête +avant de fermer une connexion persistante
KeptBodySize taille maximale en octets 0 dB
Conserve le corps de la requête à concurrence de la taille +maximale spécifiée, pour une utilisation éventuelle par des filtres +comme mod_include.
LanguagePriority langage-MIME [langage-MIME] +...svdhB
L'ordre de priorité des variantes de langages pour les +cas où le client n'a pas formulé de préférences
LDAPCacheEntries nombre 1024 sE
Nombre maximum d'entrées dans le cache LDAP +primaire
LDAPCacheTTL secondes 600 sE
Durée pendant laquelle les entrées du cache restent +valides.
LDAPConnectionPoolTTL n -1 svE
Désactive les connexions d'arrière-plan qui sont restées +inactives trop longtemps au sein du jeu de connexions.
LDAPConnectionTimeout secondessE
Spécifie le délai d'attente en secondes de la socket de +connexion
LDAPLibraryDebug 7sE
Active le débogage dans le SDK LDAP
LDAPOpCacheEntries nombre 1024 sE
Nombre d'entrées utilisées pour mettre en cache les +opérations de comparaison LDAP
LDAPOpCacheTTL secondes 600 sE
Durée pendant laquelle les entrées du cache d'opérations +restent valides
LDAPReferralHopLimit nombredhE
Le nombre maximum de redirections vers des serveurs +alternatifs (referrals) avant l'abandon de la requête +LDAP.
LDAPReferrals On|Off|default On dhE
Active la redirection vers des serveurs alternatifs au +cours des requêtes vers le serveur LDAP.
LDAPRetries nombre d'essais 3 sE
Définit le nombre maximum de tentatives de connexions au +serveur LDAP.
LDAPRetryDelay secondes 0 sE
Définit le temps d'attente avant un autre essai de connexion au +serveur LDAP.
LDAPSharedCacheFile chemin/fichiersE
Définit le fichier du cache en mémoire +partagée
LDAPSharedCacheSize octets 500000 sE
Taille en octets du cache en mémoire partagée
LDAPTimeout secondes 60 sE
Spécifie le délai d'attente pour les opérations de +recherche et d'identification LDAP en secondes
LDAPTrustedClientCert type +chemin/nom-fichier/alias [mot de passe]svdhE
Définit le nom de fichier contenant un certificat client ou +un alias renvoyant vers un certificat client spécifique à une connexion. +Tous les SDK LDAP ne supportent pas les certificats clients par +connexion.
LDAPTrustedGlobalCert type +chemin/nom-fichier [mot de passe]sE
Définit le nom de fichier ou la base de données contenant +les Autorités de Certification de confiance globales ou les certificats +clients globaux
LDAPTrustedMode typesvE
Spécifie le mode (SSL ou TLS) à utiliser lors de la +connexion à un serveur LDAP.
LDAPVerifyServerCert On|Off On sE
Force la vérification du certificat du +serveur
<Limit méthode [méthode] ... > ... + </Limit>dhC
Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP
<LimitExcept méthode [méthode] ... > ... + </LimitExcept>dhC
Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées
LimitInternalRecursion nombre [nombre] 10 svC
Détermine le nombre maximal de redirections internes et de +sous-requêtes imbriquées
LimitRequestBody octets 1073741824 svdhC
limite la taille maximale du corps de la requête HTTP +envoyée par le client
LimitRequestFields nombre 100 svC
Limite le nombre de champs d'en-tête autorisés dans une +requête HTTP
LimitRequestFieldSize octets 8190 svC
Dédinit la taille maximale autorisée d'un en-tête de +requête HTTP
LimitRequestLine octets 8190 svC
Définit la taille maximale d'une ligne de requête +HTTP
LimitXMLRequestBody octets 1000000 svdhC
Définit la taille maximale du corps d'une requête au format +XML
Listen [adresse IP:]numéro port +[protocole]sM
Les adresses IP et ports sur lesquels le serveur écoute
ListenBackLog backlog 511 sM
Longueur maximale de la liste d'attente des +connexions
ListenCoresBucketsRatio ratio 0 (disabled) sM
Rapport entre le nombre de coeurs de processeur activés et +le nombre de segments d'écoute
LoadFile nom-fichier [nom-fichier] ...svE
Liaison du fichier objet ou de la bibliothèque +spécifié
LoadModule module nom-fichiersvE
Liaison avec le serveur du fichier objet ou de la +bibliothèque spécifié, et ajout de ce dernier à la liste des modules +actifs
<Location + chemin URL|URL> ... </Location>svC
N'applique les directives contenues qu'aux URLs +spécifiées
<LocationMatch + regex> ... </LocationMatch>svC
N'applique les directives contenues qu'aux URLs +correspondant à une expression rationnelle
LogFormat format|alias +[alias] "%h %l %u %t \"%r\" +svB
Décrit un format utilisable dans un fichier +journal
LogIOTrackTTFB ON|OFF OFF svdhE
Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)
LogLevel [module:]niveau + [module:niveau] ... + warn svdC
Contrôle la verbosité du journal des erreurs
LogMessage message +[hook=hook] [expr=expression] +dX
Enregistre des messages personnalisés dans le journal des +erreurs
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Branche une fonction fournisseur d'autorisation dans mod_authz_core +
LuaCodeCache stat|forever|never stat svdhE
Configure le cache de code compilé.
LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]svdhE
Fournit un point d'entrée pour la phase access_checker du +traitement de la requête
LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]svdhE
Fournit un point d'entrée pour la phase auth_checker du +traitement de la requête
LuaHookCheckUserID /chemin/vers/lua/script.lua hook_function_name [early|late]svdhE
Fournit un point d'entrée pour la phase check_user_id du +traitement de la requête
LuaHookFixups /chemin/vers/lua/script.lua hook_function_namesvdhE
Fournit un point d'entrée pour la phase de correction du +traitement de la requête
LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_namesvdhE
Fournit un point d'entrée pour la phase insert_filter du +traitement de la requête
LuaHookLog /path/to/lua/script.lua log_function_namesvdhE
Permet une insertion dans la phase de journalisation du +traitement d'une requête
LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_namesvdhE
Fournit un point d'entrée pour la phase map_to_storage du +traitement de la requête
LuaHookPreTranslate /path/to/lua/script.lua hook_function_namesvdhE
Fournit un point d'entrée pour la phase de pré-traduction du +traitement d'une requête
LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]svE
Fournit un point d'entrée à la phase du nom de +traduction du traitement de la requête
LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_namesvdhE
Fournit un point d'entrée pour la phase type_checker du +traitement de la requête
LuaInherit none|parent-first|parent-last parent-first svdhE
Contrôle la manière dont les sections de configuration +parentes sont fusionnées dans les enfants
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Fournit une fonction Lua pour le filtrage en entrée
LuaMapHandler modele-uri /chemin/vers/lua/script.lua +[nom-fonction]svdhE
Met en correspondance un chemin avec un gestionnaire lua
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Fournit une fonction Lua pour le filtrage de contenu en +sortie
LuaPackageCPath /chemin/vers/include/?.soasvdhE
Ajoute un répertoire au package.cpath de lua
LuaPackagePath /chemin/vers/include/?.luasvdhE
Ajoute un répertoire au package.path de lua
LuaQuickHandler /path/to/script.lua hook_function_namesvdhE
Fournit un point d'entrée pour la gestion rapide du +traitement de la requête
LuaRoot /chemin/vers/un/répertoiresvdhE
Spécifie le chemin de base pour la résolution des chemins +relatifs dans les directives de mod_lua
LuaScope once|request|conn|thread|server [min] [max] once svdhE
Une valeur parmi once, request, conn, thread -- la valeur par défaut est once
+<Macro nom [par1 .. parN]> +... </Macro>svdB
Définition d'une macro dans un fichier de configuration
MaxConnectionsPerChild number 0 sM
Limite le nombre de connexions qu'un processus enfant va +traiter au cours de son fonctionnement
MaxKeepAliveRequests nombre 100 svC
Nombre de requêtes permises pour une connexion +persistante
MaxMemFree KOctets 2048 sM
Quantité maximale de mémoire que l'allocateur principal est +autorisé à conserver sans appeler free()
MaxRangeOverlaps default | unlimited | none | nombre de + chevauchements 20 svdC
Nombre de chevauchements de segments de données autorisé + (par exemple 100-200,150-300) avant le renvoi de la + ressource complète
MaxRangeReversals default | unlimited | none | nombre + d'inversions 20 svdC
Nombre d'inversions d'ordre autorisé dans la spécification des + segments de données (par exemple 100-200,50-70) avant le renvoi de la + ressource complète
MaxRanges default | unlimited | none | nombre de segments 200 svdC
Nombre de segments de données autorisé avant le renvoi de +l'intégralité de la ressource
MaxRequestWorkers nombresM
Nombre maximum de connexions pouvant être traitées +simultanément
MaxSpareServers nombre 10 sM
Nombre maximum de processus serveurs enfants +inactifs
MaxSpareThreads nombresM
Nombre maximum de threads inactifs
MaxThreads nombre 2048 sM
Définit le nombre maximum de threads esclaves
MDActivationDelay durationsX
-
MDBaseServer on|off off sX
Définit si le serveur global peut être géré ou seulement + les serveurs virtuels.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sX
Type de négociation ACME utilisée pour prouver l'appartenance + du domaine.
MDCertificateAgreement acceptedsX
Acceptation des conditions d'utilisation de l'autorité de + certification.
MDCertificateAuthority url letsencrypt sX
Les URLs du service ACME de l'autorité de certification.
MDCertificateCheck name urlsX
-
MDCertificateFile path-to-pem-filesX
Définit un fichier de certificat statique pour le domaine géré.
MDCertificateKeyFile path-to-filesX
Définit une clé privée statique pour le certificat + statique.
MDCertificateMonitor name url crt.sh https://crt. +sX
L'URL d'un moniteur d'enregistrement de certificat.
MDCertificateProtocol protocol ACME sX
Le protocole à utiliser avec l'autorité de certification.
MDCertificateStatus on|off on sX
Extrait les informations publiques du certificat au format + JSON.
MDChallengeDns01 path-to-commandsX
-
MDContactEmail addresssX
-
MDDriveMode always|auto|manual auto sX
Ancien nom de MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sX
-
MDHttpProxy urlsX
Spécifie un serveur mandataire pour les connexions + sortantes.
MDMember hostnamesX
Nom d'hôte additionnel pour le domaine géré.
MDMembers auto|manual auto sX
Définit si les alias de noms de domaines sont + automatiquement ajoutés.
MDMessageCmd path-to-cmd optional-argssX
Gère les évènements pour les domaines gérés
MDMustStaple on|off off sX
Définit si les nouveaux certificats doivent avoir le + drapeau OCSP Must Staple activé.
MDNotifyCmd path [ args ]sX
Lance un programme lorsqu'un domaine géré est opérationnel.
MDomain dns-name [ other-dns-name... ] [auto|manual]sX
Définit une liste de noms de domaines qui appartiennent à + un groupe.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sX
Conteneur de directives à appliquer à un ou plusieurs + domaines gérés.
MDPortMap map1 [ map2 ] http:80 https:443 sX
Mappage des ports externes avec les ports internes pour + vérifier à qui appartient le domaine.
MDPrivateKeys type [ params... ] RSA 2048 sX
Définit le type et la taille des clés privées générées.
MDRenewMode always|auto|manual auto sX
Contrôle le renouvellement des certificats.
MDRenewWindow duration 33% sX
Définit le moment auquel un certificat doit être renouvelé.
MDRequireHttps off|temporary|permanent off sX
Redirige le trafic http: vers https: pour les domaines + gérés.
MDRetryDelay duration 5s sX
-
MDRetryFailover number 13 sX
-
MDServerStatus on|off on sX
Définit si les informations à propos des domaines gérés + sont ajoutés ou non à server-status.
MDStapleOthers on|off on sX
Active l'agrafage pour les certificats non gérés par + mod_md.
MDStapling on|off off sX
Active l'agrafage pour un ou plusieurs domaines.
MDStaplingKeepResponse duration 7d sX
Contrôle la durée au bout de laquelle les anciennes + réponses doivent être supprimées.
MDStaplingRenewWindow duration 33% sX
Contrôle l'ancienneté des réponses OCSP au dela de laquelle + ces dernières seront renouvelées.
MDStoreDir path md sX
Chemin dans le système de fichiers local du répertoire où + seront stockées les données à propos des domaines gérés.
MDStoreLocks on|off|duration off sX
-
MDWarnWindow duration 10% sX
Définit la fenêtre de temps pendant laquelle vous serez + informé de l'expiration prochaine d'un certificat.
MemcacheConnTTL num[units] 15s svE
Durée de conservation des connexions inactives
MergeSlashes ON|OFF ON svC
Fusion des slashes consécutifs dans les URLs par le serveur. +
MergeTrailers [on|off] off svC
Détermine si les données supplémentaires (trailers) sont +fusionnées avec les en-têtes
MetaDir répertoire .web svdhE
Le nom du répertoire où trouver les fichiers de +métainformations dans le style du CERN
MetaFiles on|off off svdhE
Active le traitement des métafichiers du CERN
MetaSuffix suffixe .meta svdhE
Suffixe du fichier contenant les métainformations dans le +style du CERN
MimeMagicFile chemin-fichiersvE
Active la détermination du type MIME en se basant sur le +contenu du fichier et en utilisant le fichier magique +spécifié
MinSpareServers nombre 5 sM
Nombre minimum de processus serveurs enfants +inactifs
MinSpareThreads nombresM
Nombre minimum de threads inactifs qui seront disponibles +pour pouvoir traiter les pics de requêtes
MMapFile chemin fichier [chemin fichier] ...sX
Charge au démarrage une liste de fichiers en mémoire
ModemStandard V.21|V.26bis|V.32|V.34|V.92dX
Standard de modem à simuler
ModMimeUsePathInfo On|Off Off dB
Indique à mod_mime de traiter les éléments +de path_info en tant que parties du nom de +fichier
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly svdhB
Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)
Mutex mécanisme [default|nom-mutex] ... [OmitPID] default sC
Définit les mécanismes de mutex et le repertoire du fichier +verrou pour tous les mutex ou seulement les mutex spécifiés
NameVirtualHost adresse[:port]sC
OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de +nom
NoProxy domaine [domaine] ...svE
Serveurs, domaines ou réseaux auquels on se connectera +directement
NWSSLTrustedCerts nom-fichier +[nom-fichier] ...sB
Liste de certificats clients supplémentaires
NWSSLUpgradeable [adresse-IP:]num-portsB
Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande
Options + [+|-]option [[+|-]option] ... FollowSymlinks svdhC
Définit les fonctionnalités disponibles pour un répertoire +particulier
Order ordre Deny,Allow dhE
Définit le statut d'accès par défaut et l'ordre dans lequel +les directives Allow et +Deny sont évaluées.
OutputSed commande-seddh
Commande sed pour le filtrage des contenus de type +réponse
PassEnv var-env [var-env] +...svdhB
Transmet des variables d'environnement depuis le +shell
PidFile nom fichier logs/httpd.pid sM
Ficher dans lequel le serveur enregistre l'identificateur +de processus du démon
PrivilegesMode FAST|SECURE|SELECTIVE FAST svdX
Fait un compromis entre d'une part l'efficacité et la +vitesse de traitement et d'autre part la sécurité à l'encontre des codes +malicieux supportant les privilèges.
Protocol protocolesvC
Protocole pour une socket d'écoute
ProtocolEcho On|Off Off svX
Active ou désactive le serveur d'écho
Protocols protocole ... http/1.1 svC
Protocoles disponibles pour un serveur virtuel ou non
ProtocolsHonorOrder On|Off On svC
Détermine qui du client ou du serveur détermine l'ordre + des protocoles au cours de la négociation de la connexion
<Proxy url-avec-jokers> ...</Proxy>svE
Conteneur de directives s'appliquant à des ressources +mandatées
Proxy100Continue Off|On On svdE
Transmission du message "100-continue" au serveur d'origine
ProxyAddHeaders Off|On On svdE
Ajoute des informations à propos du mandataire aux +en-têtes X-Forwarded-*
ProxyBadHeader IsError|Ignore|StartBody IsError svE
Détermine la manière de traiter les lignes d'en-tête +incorrectes d'une réponse
ProxyBlock *|terme|serveur|domaine +[terme|serveur|domaine] ...svE
Termes, serveurs ou domaines bloqués par le +mandataire
ProxyDomain DomainesvE
Nom de domaine par défaut pour les requêtes +mandatées
ProxyErrorOverride Off|On [code ...] Off svdE
Outrepasser les pages d'erreur pour les contenus +mandatés
ProxyExpressDBMFile pathnamesvE
Chemin du fichier DBM.
ProxyExpressDBMType type default svE
Type de fichier DBM.
ProxyExpressEnable on|off off svE
Active la fonctionnalité du module.
ProxyFCGIBackendType FPM|GENERIC FPM svdhE
Spécifie le type de l'application FastCGI d'arrière-plan
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]svdhE
Permet d'adapter la valeur des variables envoyées aux serveurs +FastCGI
ProxyFtpDirCharset character_set ISO-8859-1 svdE
Définit le jeu de caractères des listings FTP +mandatés
ProxyFtpEscapeWildcards on|off on svdE
Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?
ProxyFtpListOnWildcard on|off on svdE
Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ?
ProxyHCExpr name {ap_expr expression}svE
Crée et nomme une expression conditionnelle à utiliser pour +déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur
ProxyHCTemplate name parameter=setting [...]svE
Crée et nomme un modèle permettant de définir différents +paramètres de check up
ProxyHCTPsize size 16 sE
Définit la taille totale, pour l'ensemble du +serveur, du jeu de threads utilisé pour le check up des +équipiers
ProxyHTMLBufSize nb-octets 8192 svdB
Définit l'incrément de la taille du tampon, ainsi que sa +taille initiale, pour la mise en +tampon des scripts en ligne et des feuilles de style.
ProxyHTMLCharsetOut jeu-de-caractères | *svdB
Spécifie un jeu de caractères pour la sortie de +mod_proxy_html.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
svdB
Définit une déclaration de type de document HTML ou XHTML.
ProxyHTMLEnable On|Off Off svdB
Permet d'activer/désactiver le filtre proxy_html.
ProxyHTMLEvents attribut [attribut ...]svdB
Spécifie les attributs à traiter comme des évènements de +type scripting.
ProxyHTMLExtended On|Off Off svdB
Détermine si l'on doit corriger les liens dans les scripts +en ligne, les feuilles de style et les évènements de type scripting.
ProxyHTMLFixups [lowercase] [dospath] [reset]svdB
Corrige les erreurs HTML simples.
ProxyHTMLInterp On|Off Off svdB
Active la réinterprétation des règles +ProxyHTMLURLMap pour chaque requête.
ProxyHTMLLinks élément attribut [attribut2 ...]svdB
Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits.
ProxyHTMLMeta On|Off Off svdB
Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <head>.
ProxyHTMLStripComments On|Off Off svdB
Détermine si les commentaires HTML doivent être supprimés.
ProxyHTMLURLMap modèle-source modèle-cible [drapeaux] [cond]svdB
Définit une règle de réécriture des liens HTML
ProxyIOBufferSize octets 8192 svE
Détermine la taille du tampon interne de transfert de +données
<ProxyMatch regex> ...</ProxyMatch>svE
Conteneur de directives s'appliquant à des ressources +mandatées correspondant à une expression rationnelle
ProxyMaxForwards nombre -1 svE
Nombre maximum de mandataires à travers lesquelles une +requête peut être redirigée
ProxyPass [chemin] !|url [clé=valeur + [clé=valeur ...]] [nocanon] [interpolate] [noquery]svdE
Référencer des serveurs distants depuis +l'espace d'URLs du serveur local
ProxyPassInherit On|Off On svE
Héritage des directives ProxyPass définies au niveau du +serveur principal
ProxyPassInterpolateEnv On|Off Off svdE
Active l'interpolation des variables d'environnement dans +les configurations de mandataires inverses
ProxyPassMatch [regex] !|url +[clé=valeur + [clé=valeur ...]]svdE
Fait correspondre des serveurs distants dans l'espace d'URL +du serveur local en utilisant des expressions rationnelles
ProxyPassReverse [chemin] url +[interpolate]svdE
Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée +par un serveur mandaté en inverse
ProxyPassReverseCookieDomain domaine-interne +domaine-public [interpolate]svdE
Ajuste la chaîne correspondant au domaine dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté
ProxyPassReverseCookiePath chemin-interne +chemin-public [interpolate]svdE
Ajuste la chaîne correspondant au chemin dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté
ProxyPreserveHost On|Off Off svdE
Utilise l'en-tête de requête entrante Host pour la requête +du mandataire
ProxyReceiveBufferSize octets 0 svE
Taille du tampon réseau pour les connexions mandatées HTTP +et FTP
ProxyRemote comparaison serveur-distantsvE
Mandataire distant à utiliser pour traiter certaines +requêtes
ProxyRemoteMatch regex serveur-distantsvE
Le mandataire distant à utiliser pour traiter les requêtes +correspondant à une expression rationnelle
ProxyRequests On|Off Off svE
Active la fonctionnalité (standard) de mandataire +direct
ProxySCGIInternalRedirect On|Off|Headername On svdE
Active ou désactive les réponses de redirection interne en +provenance du serveur cible.
ProxySCGISendfile On|Off|nom-en-tête Off svdE
Active l'évaluation du pseudo en-tête de réponse +X-Sendfile
ProxySet url clé=valeur [clé=valeur ...]svdE
Définit différents paramètres relatifs à la répartition de +charge des mandataires et aux membres des groupes de répartition de +charge
ProxySourceAddress adressesvE
Définit l'adresse IP locale pour les connexions mandatées +sortantes
ProxyStatus Off|On|Full Off svE
Affiche l'état du répartiteur de charge du mandataire dans +mod_status
ProxyTimeout secondessvE
Délai d'attente réseau pour les requêtes +mandatées
ProxyVia On|Off|Full|Block Off svE
Information fournie dans l'en-tête de réponse HTTP +Via pour les requêtes mandatées
ProxyWebsocketFallbackToProxyHttp On|Off On svE
Demande à ce module de laisser mod_proxy_http +gérer la requête
QualifyRedirectURL On|Off Off svdC
Vérifie si la variable d'environnement REDIRECT_URL est +pleinement qualifiée
ReadBufferSize bytes 8192 svdC
Taille des tampons utilisés pour lire les données
ReadmeName nom-fichiersvdhB
Nom du fichier dont le contenu sera inséré à la fin de +l'index
ReceiveBufferSize octets 0 sM
Taille du tampon TCP en entrée
Redirect [état] [URL-path] +URLsvdhB
Envoie une redirection externe demandant au client +d'effectuer une autre requête avec une URL différente
RedirectMatch [état] regex +URLsvdhB
Envoie une redirection externe faisant appel aux +expressions rationnelles pour la mise en correspondance de l'URL +courante
RedirectPermanent chemin URL URLsvdhB
Envoie une redirection externe permanente demandant au +client d'effectuer une nouvelle requête avec une URL +différente
RedirectTemp chemin URL URLsvdhB
Envoie une redirection externe temporaire demandant au +client d'effectuer une nouvelle requête avec une URL +différente
RedisConnPoolTTL num[units] 15s svE
Durée de vie du jeu de connexions avec le(s) serveur(s) Redis.
RedisTimeout num[units] 5s svE
Durée maximale de lecture/écriture sur la connexion avec le(s) +serveur(s) Redis.
ReflectorHeader en-tête-entrée [en-tête-sortie]svdhB
Renvoie un en-tête d'entrée dans les en-têtes de sortie
RegexDefaultOptions [none] [+|-]option [[+|-]option] ... DOTALL DOLLAR_ENDON +sC
Configuration des options globales par défaut pour les + expressions rationnelles
RegisterHttpMethod méthode [méthode [...]]sC
Enregistrement de méthodes HTTP non standards
RemoteIPHeader en-têtesvB
Définit le champ d'en-tête qui contiendra les adresses IP +du client
RemoteIPInternalProxy +ip-mandataire|ip-mandataire/sous-réseau|nom-hôte ...svB
Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader
RemoteIPInternalProxyList nom-fichiersvB
Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader
RemoteIPProxiesHeader Nom_en-têtesvB
Déclare le champ d'en-tête qui contiendra toutes les +adresses IP intermédiaires
RemoteIPProxyProtocol On|OffsvB
Active ou désactive la gestion du protocole PROXY
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]svB
Désactive la prise en compte de l'en-tête PROXY pour certains hôtes +ou réseaux
RemoteIPTrustedProxy +ip-mandataire|ip-mandataire/sous-réseau|nom-hôte ...svB
Déclare les adresses IP clientes de l'intranet dignes de +confiance pour présenter la valeur RemoteIPHeader
RemoteIPTrustedProxyList nom-fichiersvB
Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader
RemoveCharset extension [extension] +...vdhB
Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers
RemoveEncoding extension [extension] +...vdhB
Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers
RemoveHandler extension [extension] +...vdhB
Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers
RemoveInputFilter extension [extension] +...vdhB
Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers
RemoveLanguage extension [extension] +...vdhB
Supprime toute association de langue à un ensemble +d'extensions de noms de fichiers
RemoveOutputFilter extension [extension] +...vdhB
Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers
RemoveType extension [extension] +...vdhB
Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers
RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +en-tête [[expr=]valeur +[remplacement] +[early|env=[!]variable|expr=expression]] +svdhE
Configure les en-têtes d'une requête HTTP
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=MinRate] +[body=timeout[-maxtimeout][,MinRate=MinRate] + handshake=0 header= +svE
Définit des délais maximums pour la négociation TLS, la réception +des en-têtes et/ou corps des requêtes en provenance du client. +
Require [not] nom-entité [nom-entité] +...dhB
Vérifie si un utilisateur authentifié a une +autorisation d'accès accordée par un fournisseur +d'autorisation.
<RequireAll> ... </RequireAll>dhB
Regroupe plusieurs directives d'autorisation dont aucune ne +doit échouer et dont au moins une doit retourner un résultat positif +pour que la directive globale retourne elle-même un résultat +positif.
<RequireAny> ... </RequireAny>dhB
Regroupe des directives d'autorisation dont au moins une +doit retourner un résultat positif pour que la directive globale +retourne elle-même un résultat positif.
<RequireNone> ... </RequireNone>dhB
Regroupe des directives d'autorisation dont aucune ne doit +retourner un résultat positif pour que la directive globale n'échoue +pas.
RewriteBase chemin_URLdhE
Définit l'URL de base pour les réécritures au niveau +répertoire
RewriteCond + chaîne_de_test expression_de_comparaison [drapeaux]svdhE
Définit une condition qui devra être satisfaite pour que +la réécriture soit effectuée +
RewriteEngine on|off off svdhE
Active ou désactive l'exécution du +moteur de réécriture
RewriteMap MapName MapType:MapSource [MapTypeOptions] +svE
Définit une fonction de mise en correspondance pour la +recherche de mots-clés
RewriteOptions OptionssvdhE
Configure certaines options spéciales +pour le moteur de réécriture
RewriteRule + Modèle Substitution [drapeaux]svdhE
Définit les règles pour le moteur de réécriture
RLimitCPU secondes|max [secondes|max]svdhC
Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache httpd
RLimitMEM octets|max [octets|max]svdhC
Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache httpd
RLimitNPROC nombre|max [nombre|max]svdhC
Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache httpd
Satisfy Any|All All dhE
Interaction entre le contrôle d'accès en fonction de l'hôte +et l'authentification utilisateur
ScoreBoardFile chemin fichier logs/apache_runtime +sM
Chemin du fichier où sont stockées les données concernant +la coordination des processus enfants
Script méthode script cgisvdB
Active un script CGI dans le cas d'une méthode de requête +particulière.
ScriptAlias [chemin URL] +chemin fichier|chemin répertoiresvdB
Fait correspondre une URL à une zone du système de fichiers +et désigne la cible comme script CGI
ScriptAliasMatch regex +chemin fichier|chemin répertoiresvB
Fait correspondre une URL à une zone du système de fichiers +en faisant appel aux expressions rationnelles et en désignant la cible +comme un script CGI
ScriptInterpreterSource Registry|Registry-Strict|Script Script svdhC
Permet de localiser l'interpréteur des scripts +CGI
ScriptLog chemin fichiersvB
Chemin du fichier journal des erreurs du script +CGI
ScriptLogBuffer octets 1024 svB
Taille maximale des requêtes PUT ou POST qui seront +enregistrées dans le journal du script
ScriptLogLength octets 10385760 svB
Taille maximale du fichier journal des scripts +CGI
ScriptSock chemin fichier cgisock sB
Le préfixe du nom de fichier du socket à utiliser pour +communiquer avec le démon CGI
SecureListen [adresse-IP:]num-port +nom-certificat [MUTUAL]sB
Active le chiffrement SSL pour le port +spécifié
SeeRequestTail On|Off Off sC
Détermine si mod_status affiche les 63 premiers caractères +d'une requête ou les 63 derniers, en supposant que la requête +elle-même possède plus de 63 caractères.
SendBufferSize octets 0 sM
Taille du tampon TCP en sortie
ServerAdmin adresse électronique|URLsvC
L'adresse électronique que le serveur inclut dans les +messages d'erreur envoyés au client
ServerAlias nom serveur [nom serveur] +...vC
Autres noms d'un serveur utilisables pour atteindre des +serveurs virtuels à base de nom
ServerLimit nombresM
Limite supérieure de la définition du nombre de +processus
ServerName +[protocole://]nom-de-domaine|adresse-ip[:port]svC
Nom d'hôte et port que le serveur utilise pour +s'authentifier lui-même
ServerPath chemin d'URLvC
Nom de chemin d'URL hérité pour un serveur virtuel à base +de nom accédé par un navigateur incompatible
ServerRoot chemin de répertoire /usr/local/apache sC
Racine du répertoire d'installation du +serveur
ServerSignature On|Off|EMail Off svdhC
Définit un pied de page pour les documents générés par le +serveur
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sC
Configure l'en-tête Server de la réponse +HTTP
Session On|Off Off svdhE
Ouvre une session pour le contexte courant
SessionCookieName nom attributssvdhE
Nom et attributs du cookie RFC2109 dans lequel la session +est stockée
SessionCookieName2 nom attributssvdhE
Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session
SessionCookieRemove On|Off Off svdhE
Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants
SessionCryptoCipher algorithme aes256 svdhX
L'algorithme à utiliser pour le chiffrement de la session
SessionCryptoDriver nom [param[=valeur]]sX
Le pilote de chiffrement à utiliser pour chiffrer les +sessions
SessionCryptoPassphrase secret [ secret ... ] svdhX
La clé utilisée pour chiffrer la session
SessionCryptoPassphraseFile nom-fichiersvdX
Le fichier contenant les clés utilisées pour chiffrer la +session
SessionDBDCookieName nom attributssvdhE
Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session
SessionDBDCookieName2 nom attributssvdhE
Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session
SessionDBDCookieRemove On|Off On svdhE
Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants
SessionDBDDeleteLabel étiquette deletesession svdhE
La requête SQL à utiliser pour supprimer des sessions de la +base de données
SessionDBDInsertLabel étiquette insertsession svdhE
La requête SQL à utiliser pour insérer des sessions dans la +base de données
SessionDBDPerUser On|Off Off svdhE
Active une session propre à un utilisateur
SessionDBDSelectLabel étiquette selectsession svdhE
La requête SQL à utiliser pour sélectionner des sessions +dans la base de données
SessionDBDUpdateLabel étiquette updatesession svdhE
La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données
SessionEnv On|Off Off svdhE
Définit si le contenu de la session doit être enregistré +dans la variable d'environnement HTTP_SESSION
SessionExclude cheminsvdhE
Définit les préfixes d'URLs pour lesquels une session sera +ignorée
SessionExpiryUpdateInterval interval 0 (mise à jour syst +svdhE
Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour
SessionHeader en-têtesvdhE
Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié
SessionInclude cheminsvdhE
Définit les préfixes d'URL pour lesquels une session est +valide
SessionMaxAge durée de vie maximale 0 svdhE
Définit une durée de vie maximale pour la session en +secondes
SetEnv var-env [valeur]svdhB
Définit des variables d'environnement
SetEnvIf attribut + regex [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...svdhB
Définit des variables d'environnement en fonction des +attributs de la requête
SetEnvIfExpr expr + [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...svdhB
Définit des variables d'environnement en fonction d'une expression ap_expr
SetEnvIfNoCase attribut regex + [!]env-variable[=valeur] + [[!]env-variable[=valeur]] ...svdhB
Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse
SetHandler handler-name|none|expressionsvdhC
Force le traitement des fichiers spécifiés par un +gestionnaire particulier
SetInputFilter filtre[;filtre...]svdhC
Définit les filtres par lesquels vont passer les requêtes +client et les données POST
SetOutputFilter filtre[;filtre...]svdhC
Définit les filtres par lesquels vont passer les réponses +du serveur
SSIEndTag tag "-->" svB
Chaîne qui termine l'élément include
SSIErrorMsg message "[an error occurred +svdhB
Message d'erreur affiché lorsqu'une erreur SSI +survient
SSIETag on|off off dhB
Définit si des en-têtes ETags sont générés par le serveur.
SSILastModified on|off off dhB
Définit si des en-têtes Last-Modified sont +générés par le serveur.
SSILegacyExprParser on|off off dhB
Active le mode de compatibilité pour les expressions +conditionnelles.
SSIStartTag tag "<!--#" svB
Chaîne qui marque le début d'un élément +include
SSITimeFormat chaîne de formatage "%A, %d-%b-%Y %H:%M +svdhB
Configuration du format d'affichage des dates
SSIUndefinedEcho chaîne "(none)" svdhB
Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie
SSLCACertificateFile file-pathsvE
Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients
SSLCACertificatePath chemin-répertoiresvE
Répertoire des certificats de CA codés en PEM pour +l'authentification des clients
SSLCADNRequestFile file-pathsvE
Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables
SSLCADNRequestPath chemin-répertoiresvE
Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables
SSLCARevocationCheck chain|leaf|none [flags ...] none svE
Active la vérification des révocations basée sur les CRL
SSLCARevocationFile file-pathsvE
Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients
SSLCARevocationPath chemin-répertoiresvE
Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients
SSLCertificateChainFile file-pathsvE
Fichier contenant les certificats de CA du serveur codés en +PEM
SSLCertificateFile file-path|certidsvE
Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM ou identificateur de jeton
SSLCertificateKeyFile file-path|keyidsvE
Fichier contenant la clé privée du serveur codée en +PEM
SSLCipherSuite [protocol] cipher-spec DEFAULT (dépend de +svdhE
Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL
SSLCompression on|off off svE
Permet d'activer la compression au niveau SSL
SSLCryptoDevice moteur builtin sE
Active l'utilisation d'un accélérateur matériel de +chiffrement
SSLEngine on|off|optional off svE
Interrupteur marche/arrêt du moteur SSL
SSLFIPS on|off off sE
Coimmutateur du mode SSL FIPS
SSLHonorCipherOrder on|off off svE
Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence
SSLInsecureRenegotiation on|off off svE
Option permettant d'activer le support de la renégociation +non sécurisée
SSLOCSPDefaultResponder urisvE
Définit l'URI du répondeur par défaut pour la validation +OCSP
SSLOCSPEnable on|leaf|off off svE
Active la validation OCSP de la chaîne de certificats du +client
SSLOCSPNoverify on|off off svE
Evite la vérification des certificats des répondeurs OCSP
SSLOCSPOverrideResponder on|off off svE
Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP
SSLOCSPProxyURL urlsvE
Adresse de mandataire à utiliser pour les requêtes OCSP
SSLOCSPResponderCertificateFile filesvE
Fournit un jeu de certificats de confiance du répondeur OCSP avec +encodage PEM
SSLOCSPResponderTimeout secondes 10 svE
Délai d'attente pour les requêtes OCSP
SSLOCSPResponseMaxAge secondes -1 svE
Age maximum autorisé pour les réponses OCSP
SSLOCSPResponseTimeSkew secondes 300 svE
Dérive temporelle maximale autorisée pour la validation des +réponses OCSP
SSLOCSPUseRequestNonce on|off on svE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd commande valeursvE
Configuration des paramètres d'OpenSSL via son API SSL_CONF
SSLOptions [+|-]option ...svdhE
Configure différentes options d'exécution du moteur SSL
SSLPassPhraseDialog type builtin sE
Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées
SSLProtocol [+|-]protocole ... all -SSLv3 (jusqu'à +svE
Indique les versions du protocole SSL/TLS +disponibles
SSLProxyCACertificateFile file-pathsvpE
Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants
SSLProxyCACertificatePath chemin-répertoiresvpE
Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants
SSLProxyCARevocationCheck chain|leaf|none none svpE
Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant
SSLProxyCARevocationFile file-pathsvpE
Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants
SSLProxyCARevocationPath chemin-répertoiresvpE
Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants
SSLProxyCheckPeerCN on|off on svpE
Configuration de la vérification du champ CN du certificat +du serveur distant +
SSLProxyCheckPeerExpire on|off on svpE
Configuration de la vérification de l'expiration du +certificat du serveur distant +
SSLProxyCheckPeerName on|off on svpE
Configure la vérification du nom d'hôte dans les +certificats serveur distants +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +svpE
Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire
SSLProxyEngine on|off off svpE
Interrupteur marche/arrêt du moteur de mandataire +SSL
SSLProxyMachineCertificateChainFile nom-fichiersvpE
Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat
SSLProxyMachineCertificateFile chemin-fichiersvpE
Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser
SSLProxyMachineCertificatePath chemin-répertoiresvpE
Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser
SSLProxyProtocol [+|-]protocole ... all -SSLv3 (jusqu'à +svpE
Définit les protocoles SSL disponibles pour la fonction de +mandataire
SSLProxyVerify niveau none svpE
Niveau de vérification du certificat du serveur +distant
SSLProxyVerifyDepth niveau 1 svpE
Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant
SSLRandomSeed contexte source +[nombre]sE
Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG)
SSLRenegBufferSize taille 131072 dhE
Définit la taille du tampon de renégociation +SSL
SSLRequire expressiondhE
N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie
SSLRequireSSLdhE
Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL
SSLSessionCache type none sE
Type du cache de session SSL global et +inter-processus
SSLSessionCacheTimeout secondes 300 svE
Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions
SSLSessionTicketKeyFile file-pathsvE
Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS
SSLSessionTickets on|off on svE
Active ou désactive les tickets de session TLS
SSLSRPUnknownUserSeed secret-stringsvE
Source d'aléa pour utilisateur SRP inconnu
SSLSRPVerifierFile file-pathsvE
Chemin du fichier de vérification SRP
SSLStaplingCache typesE
Configuration du cache pour l'agrafage OCSP
SSLStaplingErrorCacheTimeout secondes 600 svE
Durée de vie des réponses invalides dans le cache pour +agrafage OCSP
SSLStaplingFakeTryLater on|off on svE
Génère une réponse "tryLater" pour les requêtes OCSP échouées
SSLStaplingForceURL urisvE
Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat
SSLStaplingResponderTimeout secondes 10 svE
Temps d'attente maximum pour les requêtes vers les serveurs +OCSP
SSLStaplingResponseMaxAge secondes -1 svE
Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS
SSLStaplingResponseTimeSkew secondes 300 svE
Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS
SSLStaplingReturnResponderErrors on|off on svE
Transmet au client les erreurs survenues lors des requêtes +OCSP
SSLStaplingStandardCacheTimeout secondes 3600 svE
Durée de vie des réponses OCSP dans le cache
SSLStrictSNIVHostCheck on|off off svE
Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. +
SSLUserName nom-varsdhE
Nom de la variable servant à déterminer le nom de +l'utilisateur
SSLUseStapling on|off off svE
Active l'ajout des réponses OCSP à la négociation TLS
SSLVerifyClient niveau none svdhE
Niveau de vérification du certificat client
SSLVerifyDepth nombre 1 svdhE
Profondeur maximale des certificats de CA pour la +vérification des certificats clients
StartServers nombresM
Nombre de processus enfants du serveur créés au +démarrage
StartThreads nombresM
Nombre de threads créés au démarrage
StrictHostCheck ON|OFF OFF svC
Détermine si le nom d'hôte contenu dans une requête doit être +explicitement spécifié au niveau du serveur virtuel qui a pris en compte cette +dernière. +
Substitute s/modèle/substitution/[infq]dhE
Modèle de substition dans le contenu de la +réponse
SubstituteInheritBefore on|off on dhE
Modifie l'ordre de fusion des modèles hérités
SubstituteMaxLineLength octets(b|B|k|K|m|M|g|G) 1m dhE
Définit la longueur de ligne maximale
Suexec On|OffsB
Active ou désactive la fonctionnalité suEXEC
SuexecUserGroup Utilisateur GroupesvE
L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter
ThreadLimit nombresM
Le nombre de threads maximum que l'on peut définir par +processus enfant
ThreadsPerChild nombresM
Nombre de threads créés par chaque processus +enfant
ThreadStackSize taillesM
La taille en octets de la pile qu'utilisent les threads qui +traitent les connexions clients
TimeOut secondes 60 svC
Temps pendant lequel le serveur va attendre certains +évènements avant de considérer qu'une requête a échoué
TLSCertificate cert_file [key_file]svX
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)svX
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used.
TLSEngine [address:]portsX
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on svX
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionsvdhX
enables SSL variables for requests.
TLSProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemsvpX
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)svpX
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)svpX
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offsvpX
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]svpX
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ svpX
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsX
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sX
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on svC
Détermine le comportement des requêtes +TRACE
TransferLog fichier|pipesvB
Spécifie l'emplacement d'un fichier journal
TypesConfig chemin-fichier conf/mime.types sB
Le chemin du fichier mime.types
UnDefine nom-variablesC
Invalide la définition d'une variable
UndefMacro nomsvdB
Supprime une macro
UnsetEnv var-env [var-env] +...svdhB
Supprime des variables de l'environnement
Use nom [valeur1 ... valeurN] +svdB
Utilisation d'une macro
UseCanonicalName On|Off|DNS Off svdC
Définit la manière dont le serveur détermine son propre nom +et son port
UseCanonicalPhysicalPort On|Off Off svdC
Définit la manière dont le serveur +détermine son propre port
User utilisateur unix #-1 sB
L'utilisateur sous lequel le serveur va traiter les +requêtes
UserDir nom-répertoire [nom-répertoire] ... +svB
Chemin des répertoires propres à un +utilisateur
VHostCGIMode On|Off|Secure On vX
Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel.
VHostGroup identifiant-groupe-unixvX
Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel.
VHostPrivs [+-]?nom-privilège [[+-]?nom-privilège] ...vX
Assigne des privilèges à un serveur virtuel.
VHostSecure On|Off On vX
Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels.
VHostUser identifiant-utilisateur-unixvX
Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel.
VirtualDocumentRoot répertoire-interpolé|none none svE
Permet une configuration dynamique de la racine des +documents d'un serveur virtuel donné
VirtualDocumentRootIP répertoire-interpolé|none none svE
Configuration dynamique de la racine des documents pour un +serveur virtuel donné
<VirtualHost + adresse IP[:port] [adresse + IP[:port]] ...> ... + </VirtualHost>sC
Contient des directives qui ne s'appliquent qu'à un nom +d'hôte spécifique ou à une adresse IP
VirtualScriptAlias répertoire-interpolé|none none svE
Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné
VirtualScriptAliasIP répertoire-interpolé|none none svE
Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné
WatchdogInterval time-interval[s] 1 sB
Intervalle Watchdog en secondes
XBitHack on|off|full off svdhB
Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné
xml2EncAlias jeu-de-caractères alias [alias ...]sB
Définit des alias pour les valeurs d'encodage
xml2EncDefault nomsvdhB
Définit un encodage par défaut à utiliser lorsqu'aucune +information ne peut être automatiquement détectée
xml2StartParse élément [élément ...]svdhB
Indique à l'interpréteur à partir de quelle balise il doit +commencer son traitement.
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.ja.utf8 b/docs/manual/mod/quickreference.html.ja.utf8 new file mode 100644 index 0000000..9f172ef --- /dev/null +++ b/docs/manual/mod/quickreference.html.ja.utf8 @@ -0,0 +1,1178 @@ + + + + + +ディレクティブ クイックリファレンス - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +

ディレクティブ クイックリファレンス

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

ディレクティブ クイックリファレンスã§ã¯ã€å„ Apache 設定ディレクティブ㮠+ 使用方法ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã¨ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’示ã—ã¦ã„ã¾ã™ã€‚ + å„ディレクティブã®ã€ã‚ˆã‚Šè©³ã—ã„情報ã«é–¢ã—ã¦ã¯ + ディレクティブ辞書を + ã”覧下ã•ã„。

+ +

第 1 列目ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®åå‰ã¨ä½¿ç”¨æ–¹æ³•ã§ã™ã€‚ + 第 2 列目㯠(ã‚‚ã—ã‚ã‚Œã°) デフォルト値ã¨ãªã£ã¦ã„ã¾ã™ã€‚ + デフォルト値ãŒé•·ã™ãŽã¦è¡¨ç¤ºã—ãã‚Œãªã„å ´åˆã¯ã€é€”中ã¾ã§è¡¨ç¤ºã—ãŸä¸Šã§ã€ã€ + 「 + ã€ã§ç¶šããŒã‚ã‚‹ã“ã¨ã‚’示ã—ã¦ã„ã¾ã™ã€‚

+ +

第 3, 4 列ã¯ã€ä¸‹ã®è¡¨ã®æ³¨é‡ˆã«å¾“ã£ã¦ã€ + ディレクティブã®ä½¿ç”¨ã§ãるコンテキストã¨ã€ + ディレクティブã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãŒç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
sサーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«
vãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
dディレクトリ
h.htaccess
+ + + + + +
CCore
MMPM
BBase
EExtension
XExperimental
TExternal
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter protocol accept_filtersC
プロトコルを Listen ã—ã¦ã„るソケットã®æœ€é©åŒ–を設定ã™ã‚‹
AcceptPathInfo On|Off|Default Default svdhC
後ã«ç¶šãパスå情報をå—ã‘付ã‘るリソースã®æŒ‡å®š
AccessFileName filename [filename] ... .htaccess svC
分散設定ファイルã®åå‰
Action action-type cgi-script [virtual]svdhB
特定ã®ãƒãƒ³ãƒ‰ãƒ©ã‚„コンテントタイプã«å¯¾ã—㦠CGI を実行ã™ã‚‹ã‚ˆã†ã« +設定
AddAlt string file [file] ...svdhB
アイコンã®ä»£ã‚ã‚Šã« +表示ã•ã‚Œã‚‹ã€ãƒ•ã‚¡ã‚¤ãƒ«åã§é¸æŠžã•ã‚ŒãŸä»£æ›¿ãƒ†ã‚­ã‚¹ãƒˆ
AddAltByEncoding string MIME-encoding +[MIME-encoding] ...svdhB
アイコンã®ä»£ã‚ã‚Šã«è¡¨ç¤ºã•ã‚Œã‚‹ã€MIME 符å·åŒ–方法ã§é¸æŠžã•ã‚ŒãŸ +代替テキスト
AddAltByType string MIME-type +[MIME-type] ...svdhB
アイコンã®ä»£ã‚ã‚Šã« +表示ã•ã‚Œã‚‹ã€MIME タイプã§é¸æŠžã•ã‚ŒãŸä»£æ›¿ãƒ†ã‚­ã‚¹ãƒˆ
AddCharset charset extension +[extension] ...svdh
ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸæ–‡å­—セットã«ãƒžãƒƒãƒ—ã™ã‚‹
AddDefaultCharset On|Off|charset Off svdhC
レスãƒãƒ³ã‚¹ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—㌠text/plain ã‚ã‚‹ã„㯠+text/html ã®å ´åˆã«è¿½åŠ ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® charset パラメータ
AddDescription string file [file] ...svdhB
ファイルã«å¯¾ã—ã¦è¡¨ç¤ºã™ã‚‹èª¬æ˜Ž
AddEncoding MIME-enc extension +[extension] ...svdh
ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° +ã«ãƒžãƒƒãƒ—ã™ã‚‹
AddHandler handler-name extension +[extension] ...svdh
ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸãƒãƒ³ãƒ‰ãƒ©ã«ãƒžãƒƒãƒ—ã™ã‚‹
AddIcon icon name +[name] ...svdhB
ファイルã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’åå‰ã§é¸æŠž
AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...svdhB
ファイルã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’ MIME +符å·åŒ–方法ã§é¸æŠž
AddIconByType icon MIME-type +[MIME-type] ...svdhB
ファイルã®éš£ã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³ã‚’ +MIME タイプã«ã‚ˆã£ã¦é¸æŠž
AddInputFilter filter[;filter...] +extension [extension] ...svdh
ファイルã®æ‹¡å¼µå­ã‚’クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã™ã‚‹ + フィルタã«ãƒžãƒƒãƒ—ã™ã‚‹
AddLanguage MIME-lang extension +[extension] ...svdh
ファイルåを指定ã•ã‚ŒãŸè¨€èªžã«ãƒžãƒƒãƒ—
AddModuleInfo module-name stringsvE
server-info ãƒãƒ³ãƒ‰ãƒ©ã«ã‚ˆã‚Šè¡¨ç¤ºã•ã‚Œã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æƒ…報㫠+追加ã®æƒ…報を付ã‘加ãˆã‚‹
AddOutputFilter filter[;filter...] +extension [extension] ...svdh
ファイルåã®æ‹¡å¼µå­ã‚’サーãƒã‹ã‚‰ã®å¿œç­”を処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã« + マップã™ã‚‹
AddOutputFilterByType filter[;filter...] +media-type [media-type] ...svdhB
assigns an output filter to a particular media-type
AddType MIME-type extension +[extension] ...svdh
ファイルåã®æ‹¡å¼µå­ã‚’指定ã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã«ãƒžãƒƒãƒ—
Alias URL-path +file-path|directory-pathsvB
URL をファイルシステムã®ä½ç½®ã«ãƒžãƒƒãƒ—ã™ã‚‹
AliasMatch regex +file-path|directory-pathsvB
æ­£è¦è¡¨ç¾ã‚’使ã£ã¦ URL をファイルシステムã®ä½ç½®ã«ãƒžãƒƒãƒ—ã™ã‚‹
Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
サーãƒã®ã‚る領域ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるホストを制御ã™ã‚‹
AllowCONNECT port[-port] +[port[-port]] ... 443 563 svE
Ports that are allowed to CONNECT through the +proxy
AllowEncodedSlashes On|Off Off svC
URL 中ã®ç¬¦å·åŒ–ã•ã‚ŒãŸãƒ‘ス分離文字ãŒå…ˆã«ä¼ãˆã‚‰ã‚Œã‚‹ã®ã‚’許å¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’ +決定ã™ã‚‹
AllowMethods reset|HTTP-method +[HTTP-method]... reset dX
Restrict access to the listed HTTP methods
AllowOverride All|None|directive-type +[directive-type] ... All dC
.htaccess ã§è¨±å¯ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ç¨®é¡ž
AllowOverrideList None|directive +[directive-type] ... None dC
Individual directives that are allowed in +.htaccess files
Anonymous user [user] ...dhE
パスワードã®æ¤œæŸ»ç„¡ã—ã§ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ userID を指定ã™ã‚‹ +
Anonymous_LogEmail On|Off On dhE
入力ã•ã‚ŒãŸãƒ‘スワードãŒã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ã«ãƒ­ã‚®ãƒ³ã‚°ã•ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’ +設定ã™ã‚‹
Anonymous_MustGiveEmail On|Off On dhE
空パスワードを許å¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã™ã‚‹
Anonymous_NoUserID On|Off Off dhE
空 userID を許å¯ã™ã‚‹ã‹ã‚’指定ã™ã‚‹
Anonymous_VerifyEmail On|Off Off dhE
パスワード欄ãŒæ­£ã—ã„å½¢å¼ã®é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã‚ã‚‹ã“ã¨ã‚’ +調ã¹ã‚‹ã‹ã©ã†ã‹ã‚’設定ã™ã‚‹
AsyncRequestWorkerFactor factorsM
Limit concurrent connections per process
AuthBasicAuthoritative On|Off On dhB
èªè¨¼ã¨æ‰¿èªã‚’ã€ã‚ˆã‚Šä½Žã„レベルã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ç§»è¡Œã•ã›ã‚‹ã‹ã‚’ +設定ã—ã¾ã™ã€‚
AuthBasicFake off|username [password]dhB
Fake basic authentication using the given expressions for +username and password
AuthBasicProvider provider-name +[provider-name] ... file dhB
ã“ã®ä½ç½®ã«å¯¾ã™ã‚‹èªè¨¼ãƒ—ロãƒã‚¤ãƒ€ã‚’設定ã—ã¾ã™ã€‚
AuthBasicUseDigestAlgorithm MD5|Off Off dhB
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBDUserPWQuery querydE
SQL query to look up a password for a user
AuthDBDUserRealmQuery querydE
SQL query to look up a password hash for a user and realm. +
AuthDBMGroupFile file-pathdhE
Sets the name of the database file containing the list +of user groups for authorization
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
パスワードをä¿å­˜ã™ã‚‹ãŸã‚ã«å¿…è¦ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¨®é¡žã‚’ +設定ã™ã‚‹
AuthDBMUserFile file-pathdhE
èªè¨¼ç”¨ã®ãƒ¦ãƒ¼ã‚¶ã¨ãƒ‘スワードã®ãƒªã‚¹ãƒˆã‚’ä¿æŒã—ã¦ã„ã‚‹ +データベースファイルåを設定ã™ã‚‹
AuthDigestAlgorithm MD5|MD5-sess MD5 dhE
Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
AuthDigestDomain URI [URI] ...dhE
URIs that are in the same protection space for digest +authentication
AuthDigestNonceLifetime seconds 300 dhE
How long the server nonce is valid
AuthDigestProvider provider-name +[provider-name] ... file dhE
Sets the authentication provider(s) for this location
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhE
Determines the quality-of-protection to use in digest +authentication
AuthDigestShmemSize size 1000 sE
The amount of shared memory to allocate for keeping track +of clients
AuthFormAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthFormBody fieldname httpd_body dB
The name of a form field carrying the body of the request to attempt on successful login
AuthFormDisableNoStore On|Off Off dB
Disable the CacheControl no-store header on the login page
AuthFormFakeBasicAuth On|Off Off dB
Fake a Basic Authentication header
AuthFormLocation fieldname httpd_location dB
The name of a form field carrying a URL to redirect to on successful login
AuthFormLoginRequiredLocation urldB
The URL of the page to be redirected to should login be required
AuthFormLoginSuccessLocation urldB
The URL of the page to be redirected to should login be successful
AuthFormLogoutLocation uridB
The URL to redirect to after a user has logged out
AuthFormMethod fieldname httpd_method dB
The name of a form field carrying the method of the request to attempt on successful login
AuthFormMimetype fieldname httpd_mimetype dB
The name of a form field carrying the mimetype of the body of the request to attempt on successful login
AuthFormPassword fieldname httpd_password dB
The name of a form field carrying the login password
AuthFormProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthFormSitePassphrase secretdB
Bypass authentication checks for high traffic sites
AuthFormSize size 8192 dB
The largest size of the form in bytes that will be parsed for the login details
AuthFormUsername fieldname httpd_username dB
The name of a form field carrying the login username
AuthGroupFile file-pathdhB
証èªã«ä½¿ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸€è¦§ãŒæ ¼ç´ã•ã‚Œã¦ã„る〠+テキストファイルã®åå‰ã‚’設定ã™ã‚‹
AuthLDAPAuthorizePrefix prefix AUTHORIZE_ dhE
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritative off|on on dhE
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDN distinguished-namedhE
Optional DN to use in binding to the LDAP server
AuthLDAPBindPassword passworddhE
Password used in conjunction with the bind DN
AuthLDAPCharsetConfig file-pathsE
Language to charset conversion configuration file
AuthLDAPCompareAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServer on|off on dhE
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
When will the module de-reference aliases
AuthLDAPGroupAttribute attribute member uniqueMember +dhE
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDN on|off on dhE
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUser off|on off dhE
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPattern regex substitution (.*) $1 (remote use +dhE
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepth Number 10 dhE
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttribute uiddhE
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDN on|off off dhE
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttribute attribute member uniqueMember +dhE
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClass LdapObjectClass groupOfNames groupO +dhE
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhB
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthName auth-domaindhB
Authorization realm for use in HTTP +authentication
AuthnCacheContext directory|server|custom-string directory dB
Specify a context string for use in the cache key
AuthnCacheEnablesB
Enable Authn caching configured anywhere
AuthnCacheProvideFor authn-provider [...]dhB
Specify which authn provider(s) to cache for
AuthnCacheSOCache provider-name[:provider-args]sB
Select socache backend provider to use
AuthnCacheTimeout timeout (seconds) 300 (5 minutes) dhB
Set a timeout for cache entries
<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>sB
Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Enables a FastCGI application to handle the check_authn +authentication hook.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Defines a FastCGI application as a provider for +authentication and/or authorization
AuthType None|Basic|Digest|FormdhB
Type of user authentication
AuthUserFile file-pathdhB
èªè¨¼ã«ä½¿ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã¨ãƒ‘スワードã®ä¸€è¦§ãŒæ ¼ç´ã•ã‚Œã¦ã„る〠+テキストファイルã®åå‰ã‚’設定ã™ã‚‹
AuthzDBDLoginToReferer On|Off Off dE
Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
AuthzDBDQuery querydE
Specify the SQL Query for the required operation
AuthzDBDRedirectQuery querydE
Specify a query to look up a login page for the user
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store list of user groups
<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +sB
Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
AuthzSendForbiddenOnFailure On|Off Off dhB
Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
BalancerGrowth # 5 svE
Number of additional Balancers that can be added Post-configuration
BalancerInherit On|Off On svE
Inherit ProxyPassed Balancers/Workers from the main server
dE
Add a member to a load balancing group
BalancerPersist On|Off Off svE
Attempt to persist changes made by the Balancer Manager across restarts.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix svE
How the outgoing ETag header should be modified during compression
BrotliCompressionMaxInputBlock valuesvE
Maximum input block size
BrotliCompressionQuality value 5 svE
Compression quality
BrotliCompressionWindow value 18 svE
Brotli sliding compression window size
BrotliFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...svdhB
HTTP User-Agent ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ +
BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
HTTP User-Agent ã«åŸºã¥ã„ã¦å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã« +環境変数を設定ã™ã‚‹
BufferedLogs On|Off Off sB
ディスクã«æ›¸ã出ã™å‰ã«ãƒ¡ãƒ¢ãƒªã«ãƒ­ã‚°ã‚¨ãƒ³ãƒˆãƒªã‚’ãƒãƒƒãƒ•ã‚¡ã™ã‚‹
BufferSize integer 131072 svdhE
Maximum size in bytes to buffer by the buffer filter
CacheDefaultExpire seconds 3600 (1時間) svE
期日ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’キャッシュã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æœŸé–“
CacheDetailHeader on|off off svdhE
Add an X-Cache-Detail header to the response.
CacheDirLength length 2 svE
サブディレクトリåã®æ–‡å­—æ•°
CacheDirLevels levels 2 svE
キャッシュã®ã‚µãƒ–ディレクトリã®æ·±ã•ã®æ•°
CacheDisable url-stringsvE
特定㮠URL をキャッシュã—ãªã„
CacheEnable cache_type url-stringsvE
指定ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ç®¡ç†æ–¹å¼ã‚’使ã£ã¦ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’有効ã«ã™ã‚‹
CacheFile file-path [file-path] ...sX
Cache a list of file handles at startup time
CacheHeader on|off off svdhE
Add an X-Cache header to the response.
CacheIgnoreCacheControl On|Off Off svE
キャッシュã•ã‚Œã¦ã„るコンテンツを返ã•ãªã„よã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ +リクエストã•ã‚Œã¦ã‚‚無視ã™ã‚‹
CacheIgnoreHeaders header-string [header-string] ... None svE
指定ã•ã‚ŒãŸ HTTP ヘッダをキャッシュã«ä¿å­˜ã—ãªã„。 +
CacheIgnoreNoLastMod On|Off Off svE
応答㫠Last Modified ãŒç„¡ãã¦ã‚‚æ°—ã«ã—ãªã„よã†ã«ã™ã‚‹
CacheIgnoreQueryString On|Off Off svE
キャッシュ時ã«ã‚¯ã‚¨ãƒªãƒ¼ã‚¹ãƒˆãƒªãƒ³ã‚°ã‚’無視ã™ã‚‹
CacheIgnoreURLSessionIdentifiers identifier [identifier] ... None svE
Ignore defined session identifiers encoded in the URL when caching +
CacheKeyBaseURL URLsvE
Override the base URL of reverse proxied cache keys.
CacheLastModifiedFactor float 0.1 svE
LastModified ã®æ—¥ä»˜ã«åŸºã¥ã„ã¦æœ‰åŠ¹æœŸé™ (expiry) +を計算ã™ã‚‹ãŸã‚ã®é‡ã¿ã‚’指定ã™ã‚‹ +
CacheLock on|off off svE
Enable the thundering herd lock.
CacheLockMaxAge integer 5 svE
Set the maximum possible age of a cache lock.
CacheLockPath directory /tmp/mod_cache-lock +svE
Set the lock path directory.
CacheMaxExpire seconds 86400 (一日) svE
ドキュメントをキャッシュã™ã‚‹æœ€å¤§æ™‚間を秒数ã§è¡¨ã—ãŸã‚‚ã®
CacheMaxFileSize bytes 1000000 svE
キャッシュã«ä¿ç®¡ã•ã‚Œã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ€å¤§ã® (ãƒã‚¤ãƒˆã§ã®) サイズ
CacheMinExpire seconds 0 svE
ドキュメントをキャッシュã™ã‚‹æœ€å°ç§’æ•°
CacheMinFileSize bytes 1 svE
キャッシュã«ä¿ç®¡ã•ã‚Œã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ€å°é™ã® (ãƒã‚¤ãƒˆã§ã®) 大ãã•
CacheNegotiatedDocs On|Off Off svB
コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã•ã‚ŒãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’プロキシサーãƒãŒ +キャッシュã§ãるよã†ã«ã™ã‚‹
CacheQuickHandler on|off on svE
Run the cache from the quick handler.
svdhE
The minimum size (in bytes) of the document to read and be cached before sending the data downstream
svdhE
The minimum time (in milliseconds) that should elapse while reading before data is sent downstream
CacheRoot directorysvE
キャッシュファイルãŒä¿ç®¡ã•ã‚Œã‚‹ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
CacheSocache type[:args]svE
The shared object cache implementation to use
CacheSocacheMaxSize bytes 102400 svdhE
The maximum size (in bytes) of an entry to be placed in the +cache
CacheSocacheMaxTime seconds 86400 svdhE
The maximum time (in seconds) for a document to be placed in the +cache
CacheSocacheMinTime seconds 600 svdhE
The minimum time (in seconds) for a document to be placed in the +cache
CacheSocacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheSocacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheStaleOnError on|off on svdhE
Serve stale content in place of 5xx responses.
CacheStoreExpired On|Off Off svdhE
Attempt to cache responses that the server reports as expired
CacheStoreNoStore On|Off Off svE
no-store ã¨æŒ‡å®šã•ã‚Œã¦ã„るレスãƒãƒ³ã‚¹ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’試ã¿ã‚‹ã€‚
CacheStorePrivate On|Off Off svE
private ã¨æŒ‡å®šã•ã‚Œã¦ã„るレスãƒãƒ³ã‚¹ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’試ã¿ã‚‹ã€‚
CGIDScriptTimeout time[s|ms]svdhB
The length of time to wait for more output from the +CGI program
CGIMapExtension cgi-path .extensiondhC
CGI スクリプトã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã®ä½ç½®ã‚’調ã¹ã‚‹ãŸã‚ã®æ‰‹æ³•
CGIPassAuth On|Off Off dhC
Enables passing HTTP authorization headers to scripts as CGI +variables
CGIVar variable ruledhC
Controls how some CGI variables are set
CharsetDefault charsetsvdhE
Charset to translate into
CharsetOptions option [option] ... ImplicitAdd svdhE
Configures charset translation behavior
CharsetSourceEnc charsetsvdhE
Source charset of files
CheckBasenameMatch on|off On svdhE
Also match files with differing file name extensions.
CheckCaseOnly on|off Off svdhE
大文字å°æ–‡å­—ã®ä¿®æ­£ã ã‘è¡Œã†ã‚ˆã†ã«ã™ã‚‹
CheckSpelling on|off Off svdhE
spelling モジュールを使用ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹
ChrootDir /path/to/directorysB
Directory for apache to run chroot(8) after startup.
ContentDigest On|Off Off svdhC
Content-MD5 HTTP 応答ヘッダã®ç”Ÿæˆã‚’有効ã«ã™ã‚‹
CookieDomain domainsvdhE
The domain to which the tracking cookie applies
CookieExpires expiry-periodsvdhE
Expiry time for the tracking cookie
CookieHTTPOnly on|off off svdhE
Adds the 'HTTPOnly' attribute to the cookie
CookieName token Apache svdhE
Name of the tracking cookie
CookieSameSite None|Lax|StrictsvdhE
Adds the 'SameSite' attribute to the cookie
CookieSecure on|off off svdhE
Adds the 'Secure' attribute to the cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
Format of the cookie header field
CookieTracking on|off off svdhE
Enables tracking cookie
CoreDumpDirectory directorysM
Apache ãŒã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã™ã‚‹å‰ã«ç§»å‹•ã‚’試ã¿ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª +
CustomLog file|pipe +format|nickname +[env=[!]environment-variable]svB
ログファイルã®åå‰ã¨æ›¸å¼ã‚’設定ã™ã‚‹
Dav On|Off|provider-name Off dE
WebDAV HTTP メソッドを有効ã«ã—ã¾ã™
DavDepthInfinity on|off off svdE
PROPFIND, Depth: Infinity リクエストを許å¯ã—ã¾ã™
DavGenericLockDB file-pathsvdE
DAV ロックデータベースã®å ´æ‰€
DavLockDB file-pathsvE
DAV ロックデータベースã®ä½ç½®
DavLockDiscovery on|off on svdhE
Enable lock discovery
DavMinTimeout seconds 0 svdE
サーãƒãŒ DAV リソースã®ãƒ­ãƒƒã‚¯ã‚’維æŒã™ã‚‹æœ€å°æ™‚é–“ã§ã™ã€‚ +
DBDExptime time-in-seconds 300 svE
Keepalive time for idle connections
DBDInitSQL "SQL statement"svE
Execute an SQL statement after connecting to a database
DBDKeep number 2 svE
Maximum sustained number of connections
DBDMax number 10 svE
Maximum number of connections
DBDMin number 1 svE
Minimum number of connections
DBDParams +param1=value1[,param2=value2]svE
Parameters for database connection
DBDPersist On|OffsvE
Whether to use persistent connections
DBDPrepareSQL "SQL statement" labelsvE
Define an SQL prepared statement
DBDriver namesvE
Specify an SQL driver
DefaultIcon url-pathsvdhB
特定ã®ã‚¢ã‚¤ã‚³ãƒ³ãŒä½•ã‚‚設定ã•ã‚Œã¦ã„ãªã„時㫠+ファイルã«è¡¨ç¤ºã™ã‚‹ã‚¢ã‚¤ã‚³ãƒ³
DefaultLanguage MIME-langsvdh
ã‚るスコープã®ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã•ã‚ŒãŸè¨€èªžã« +設定ã™ã‚‹
DefaultRuntimeDir directory-path DEFAULT_REL_RUNTIME +sC
Base directory for the server run-time files
DefaultType MIME-type|none text/plain svdhC
サーãƒãŒã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—を決定ã§ããªã„ã¨ãã« +é€ã‚‰ã‚Œã‚‹ MIME コンテントタイプ
Define parameter-namesC
変数ã®å­˜åœ¨ã‚’宣言ã™ã‚‹
DeflateBufferSize value 8096 svE
zlib ãŒä¸€åº¦ã«åœ§ç¸®ã™ã‚‹å¡Šã®å¤§ãã•
DeflateCompressionLevel valuesvE
出力ã«å¯¾ã—ã¦è¡Œãªã†åœ§ç¸®ã®ç¨‹åº¦
DeflateFilterNote [type] notenamesvE
ロギング用ã«åœ§ç¸®æ¯”をメモã«è¿½åŠ 
DeflateInflateLimitRequestBody valuesvdhE
Maximum size of inflated request bodies
DeflateInflateRatioBurst value 3 svdhE
Maximum number of times the inflation ratio for request bodies + can be crossed
DeflateInflateRatioLimit value 200 svdhE
Maximum inflation ratio for request bodies
DeflateMemLevel value 9 svE
zlib ãŒåœ§ç¸®ã«ä½¿ã†ãƒ¡ãƒ¢ãƒªã®ãƒ¬ãƒ™ãƒ«ã‚’指定
DeflateWindowSize value 15 svE
Zlib ã®åœ§ç¸®ç”¨ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã®å¤§ãã•
Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
サーãƒãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã™ã‚‹ãƒ›ã‚¹ãƒˆã‚’制御ã™ã‚‹
<Directory directory-path> +... </Directory>svC
指定ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã‚µãƒ–ディレクトリã¨ã®ã¿ã« +é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲む
DirectoryCheckHandler On|Off Off svdhB
Toggle how this module responds when another handler is configured
DirectoryIndex + local-url [local-url] ... index.html svdhB
クライアントãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’リクエストã—ãŸã¨ãã«èª¿ã¹ã‚‹ +リソースã®ãƒªã‚¹ãƒˆ
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code + off svdhB
Configures an external redirect for directory indexes. +
<DirectoryMatch regex> +... </DirectoryMatch>svC
æ­£è¦è¡¨ç¾ã«ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ +サブディレクトリã¨ã®ã¿ã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲む
DirectorySlash On|Off On svdhB
パス末尾ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ã‹ã©ã†ã‹ã®ã‚ªãƒ³ã‚ªãƒ•ã‚’トグルã•ã›ã‚‹
DocumentRoot directory-path /usr/local/apache/h +svC
ウェブã‹ã‚‰è¦‹ãˆã‚‹ãƒ¡ã‚¤ãƒ³ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リーã«ãªã‚‹ +ディレクトリ
DTracePrivileges On|Off Off sX
Determines whether the privileges required by dtrace are enabled.
DumpIOInput On|Off Off sE
エラーログã«ã™ã¹ã¦ã®å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ
DumpIOOutput On|Off Off sE
エラーログã«ã™ã¹ã¦ã®å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ
<Else> ... </Else>svdhC
Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
<ElseIf expression> ... </ElseIf>svdhC
Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
EnableExceptionHook On|Off Off sM
クラッシュã®å¾Œã«ä¾‹å¤–ãƒãƒ³ãƒ‰ãƒ©ã‚’実行ã™ã‚‹ãƒ•ãƒƒã‚¯ã‚’有効ã«ã™ã‚‹
EnableMMAP On|Off On svdhC
é…é€ä¸­ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€ãŸã‚ã«ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングを +使ã†ã‹ã©ã†ã‹
EnableSendfile On|Off On svdhC
ファイルã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®é…é€æ™‚ã«ã‚«ãƒ¼ãƒãƒ«ã® sendfile サãƒãƒ¼ãƒˆã‚’ +使ã†ã‹ã©ã†ã‹
Error messagesvdhC
Abort configuration parsing with a custom error message
ErrorDocument error-code documentsvdhC
エラーãŒç™ºç”Ÿã—ãŸã¨ãã«ã‚µãƒ¼ãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚‚ã®
ErrorLog file-path|syslog[:facility] logs/error_log (Uni +svC
サーãƒãŒã‚¨ãƒ©ãƒ¼ã‚’ログåŽé›†ã™ã‚‹å ´æ‰€
ErrorLogFormat [connection|request] formatsvC
Format specification for error log entries
ExamplesvdhX
Demonstration directive to illustrate the Apache module +API
ExpiresActive On|OffsvdhE
Expires ヘッダã®ç”Ÿæˆã‚’有効ã«ã™ã‚‹
ExpiresByType MIME-type +<code>secondssvdhE
MIME タイプã«ã‚ˆã£ã¦è¨­å®šã•ã‚Œã‚‹ Expires ヘッダã®å€¤
ExpiresDefault <code>secondssvdhE
期é™åˆ‡ã‚ŒæœŸæ—¥ã‚’計算ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 
ExtendedStatus On|Off Off[*] sC
Keep track of extended status information for each +request
ExtFilterDefine filtername parameterssE
外部フィルタを定義
ExtFilterOptions option [option] ... DebugLevel=0 NoLogS +dE
mod_ext_filter ã®ã‚ªãƒ—ションを設定
svdhB
Define a default URL for requests that don't map to a file
FileETag component ... INode MTime Size svdhC
ETag HTTP 応答ヘッダを作æˆã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã‚‹ +ファイルã®å±žæ€§
<Files filename> ... </Files>svdhC
マッãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲む
<FilesMatch regex> ... </FilesMatch>svdhC
æ­£è¦è¡¨ç¾ã«ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åã«é©ç”¨ã•ã‚Œã‚‹ +ディレクティブを囲む
FilterChain [+=-@!]filter-name ...svdhB
Configure the filter chain
FilterDeclare filter-name [type]svdhB
Declare a smart filter
FilterProtocol filter-name [provider-name] + proto-flagssvdhB
Deal with correct HTTP protocol handling
FilterProvider filter-name provider-name + expressionsvdhB
Register a content filter
FilterTrace filter-name levelsvdB
Get debug/diagnostic information from + mod_filter
FlushMaxPipelined number 5 svC
Maximum number of pipelined responses above which they are flushed +to the network
FlushMaxThreshold number-of-bytes 65536 svC
Threshold above which pending data are flushed to the +network
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
è¦æ±‚ã«åˆã†å˜ç‹¬ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã¨ãã«è¡Œãªã†ã“ã¨ã‚’指定 +
ForceType MIME-type|NonedhC
ã™ã¹ã¦ã®ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã® MIME コンテントタイプ㧠+é€ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹
ForensicLog filename|pipesvE
Forensic ログã®ãƒ•ã‚¡ã‚¤ãƒ«åを設定ã™ã‚‹
GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]sB
Sets filename and format of log file
GprofDir /tmp/gprof/|/tmp/gprof/%svC
Directory to write gmon.out profiling data to.
GracefulShutDownTimeout secondssM
ç©ã‚„ã‹ãªåœæ­¢ã‚’ã‹ã‘ãŸå¾Œã€çµ‚了ã™ã‚‹ã¾ã§å¾…ã¤æ™‚é–“
Group unix-group #-1 sB
Group under which the server will answer +requests
H2CopyFiles on|off off svdhE
Determine file handling in responses
H2Direct on|off on for h2c, off for +svE
H2 Direct Protocol Switch
H2EarlyHints on|off off svE
Determine sending of 103 status codes
H2MaxSessionStreams n 100 svE
Maximum number of active streams per HTTP/2 session.
H2MaxWorkerIdleSeconds n 600 sE
Maximum number of seconds h2 workers remain idle until shut down.
H2MaxWorkers nsE
Maximum number of worker threads to use per child process.
H2MinWorkers nsE
Minimal number of worker threads to use per child process.
H2ModernTLSOnly on|off on svE
Require HTTP/2 connections to be "modern TLS" only
H2OutputBuffering on|off on svE
Determine buffering behaviour of output
H2Padding numbits 0 svE
Determine the range of padding bytes added to payload frames
H2Push on|off on svdhE
H2 Server Push Switch
H2PushDiarySize n 256 svE
H2 Server Push Diary Size
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 svE
H2 Server Push Priority
H2PushResource [add] path [critical]svdhE
Declares resources for early pushing to the client
H2SerializeHeaders on|off off svE
Serialize Request/Response Processing Switch
H2StreamMaxMemSize bytes 65536 svE
Maximum amount of output data buffered per stream.
H2TLSCoolDownSecs seconds 1 svE
Configure the number of seconds of idle time on TLS before shrinking writes
H2TLSWarmUpSize amount 1048576 svE
Configure the number of bytes on TLS connection before doing max writes
H2Upgrade on|off on for h2c, off for +svdhE
H2 Upgrade Protocol Switch
H2WindowSize bytes 65535 svE
Size of Stream Window for upstream data.
Header [condition] set|append|add|unset|echo +header [value] [early|env=[!]variable]svdhE
HTTP 応答ヘッダã®è¨­å®š
HeaderName filenamesvdhB
+インデックス一覧ã®å…ˆé ­ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰
HeartbeatAddress addr:portsX
Multicast address for heartbeat packets
HeartbeatListen addr:portsX
multicast address to listen for incoming heartbeat requests
HeartbeatMaxServers number-of-servers 10 sX
Specifies the maximum number of servers that will be sending +heartbeat requests to this server
HeartbeatStorage file-path logs/hb.dat sX
Path to store heartbeat data when using flat-file storage
HeartbeatStorage file-path logs/hb.dat sX
Path to read heartbeat data
HostnameLookups On|Off|Double Off svdC
クライアント㮠IP アドレス㮠DNS ルックアップを +有効ã«ã™ã‚‹
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +svC
Modify restrictions on HTTP Request Messages
IdentityCheck On|Off Off svdE
リモートユーザ㮠RFC 1413 ã«ã‚ˆã‚‹ã‚¢ã‚¤ãƒ‡ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ãƒ­ã‚®ãƒ³ã‚°ã‚’ +有効ã«ã™ã‚‹
IdentityCheckTimeout seconds 30 svdE
Ident リクエストãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã™ã‚‹ã¾ã§ã®æœŸé–“を決ã‚ã‚‹
<If expression> ... </If>svdhC
実行時ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¡ä»¶ã‚’満ãŸã—ãŸå ´åˆã«ã®ã¿é©ç”¨ã•ã‚Œã‚‹ +ディレクティブを包å«ã™ã‚‹
<IfDefine [!]parameter-name> ... + </IfDefine>svdhC
起動時ã«ãƒ†ã‚¹ãƒˆãŒçœŸã§ã‚ã‚‹ã¨ãã®ã¿ã«å‡¦ç†ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ +囲む
<IfDirective [!]directive-name> ... + </IfDirective>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific directive
<IfFile [!]filename> ... + </IfFile>svdhC
Encloses directives that will be processed only +if file exists at startup
<IfModule [!]module-file|module-identifier> ... + </IfModule>svdhC
モジュールã®å­˜åœ¨ã™ã‚‹ã‹ã—ãªã„ã‹ã«å¿œã˜ã¦å‡¦ç†ã•ã‚Œã‚‹ +ディレクティブを囲む
<IfSection [!]section-name> ... + </IfSection>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific section directive
<IfVersion [[!]operator] version> ... +</IfVersion>svdhE
ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¾å­˜ã®è¨­å®šã‚’入れる
ImapBase map|referer|URL http://servername/ svdhB
Default base for imagemap files
ImapDefault error|nocontent|map|referer|URL nocontent svdhB
Default action when an imagemap is called with coordinates +that are not explicitly mapped
ImapMenu none|formatted|semiformatted|unformatted formatted svdhB
Action if no coordinates are given when calling +an imagemap
Include file-path|directory-pathsvdC
サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã‹ã‚‰ä»–ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’å–り込む
IncludeOptional file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IndexHeadInsert "markup ..."svdhB
インデックスページ㮠HEAD セクションã«ãƒ†ã‚­ã‚¹ãƒˆã‚’挿入ã™ã‚‹
IndexIgnore file [file] ...svdhB
ディレクトリ一覧を行ãªã†éš›ã«ç„¡è¦–ã™ã¹ã +ファイルリストã«è¿½åŠ 
IndexIgnoreReset ON|OFFsvdhB
Empties the list of files to hide when listing +a directory
IndexOptions [+|-]option [[+|-]option] ...svdhB
ディレクトリインデックスã®æ§˜ã€…ãªè¨­å®šé …ç›® +
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
+ディレクトリインデックスã®æ¨™æº–ã®é †ç•ªä»˜ã‘を設定
IndexStyleSheet url-pathsvdhB
ディレクトリインデックス㫠CSS スタイルシートを追加ã™ã‚‹
InputSed sed-commanddhX
Sed command to filter request data (typically POST data)
ISAPIAppendLogToErrors on|off off svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
ISAPIAppendLogToQuery on|off on svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
ISAPICacheFile file-path [file-path] +...svB
ISAPI .dll files to be loaded at startup
ISAPIFakeAsync on|off off svdhB
Fake asynchronous support for ISAPI callbacks
ISAPILogNotSupported on|off off svdhB
Log unsupported feature requests from ISAPI +extensions
ISAPIReadAheadBuffer size 49152 svdhB
Size of the Read Ahead Buffer sent to ISAPI +extensions
KeepAlive On|Off On svC
HTTP ã®æŒç¶šçš„ãªæŽ¥ç¶šã‚’有効ã«ã™ã‚‹
KeepAliveTimeout seconds 5 svC
æŒç¶šçš„ãªæŽ¥ç¶šã§æ¬¡ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¥ã‚‹ã¾ã§ã‚µãƒ¼ãƒãŒå¾…ã¤æ™‚é–“
KeptBodySize maximum size in bytes 0 dB
Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.
LanguagePriority MIME-lang [MIME-lang] +...svdhB
クライアントãŒå„ªå…ˆåº¦ã‚’示ã•ãªã‹ã£ãŸã¨ãã®è¨€èªžã® variant ã®å„ªå…ˆåº¦ã‚’ +指定
LDAPCacheEntries number 1024 sE
Maximum number of entries in the primary LDAP cache
LDAPCacheTTL seconds 600 sE
Time that cached items remain valid
LDAPConnectionPoolTTL n -1 svE
Discard backend connections that have been sitting in the connection pool too long
LDAPConnectionTimeout secondssE
Specifies the socket connection timeout in seconds
LDAPLibraryDebug 7sE
Enable debugging in the LDAP SDK
LDAPOpCacheEntries number 1024 sE
Number of entries used to cache LDAP compare +operations
LDAPOpCacheTTL seconds 600 sE
Time that entries in the operation cache remain +valid
LDAPReferralHopLimit numberdhE
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferrals On|Off|default On dhE
Enable referral chasing during queries to the LDAP server.
LDAPRetries number-of-retries 3 sE
Configures the number of LDAP server retries.
LDAPRetryDelay seconds 0 sE
Configures the delay between LDAP server retries.
LDAPSharedCacheFile directory-path/filenamesE
Sets the shared memory cache file
LDAPSharedCacheSize bytes 500000 sE
Size in bytes of the shared-memory cache
LDAPTimeout seconds 60 sE
Specifies the timeout for LDAP search and bind operations, in seconds
LDAPTrustedClientCert type directory-path/filename/nickname [password]dhE
Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
LDAPTrustedGlobalCert type directory-path/filename [password]sE
Sets the file or database containing global trusted +Certificate Authority or global client certificates
LDAPTrustedMode typesvE
Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
LDAPVerifyServerCert On|Off On sE
Force server certificate verification
<Limit method [method] ... > ... + </Limit>svdhC
囲ã„ã®ä¸­ã«ã‚るアクセス制御ã®é©ç”¨ã‚’特定㮠HTTP メソッドã®ã¿ã« +制é™ã™ã‚‹
<LimitExcept method [method] ... > ... + </LimitExcept>svdhC
指定ã•ã‚ŒãŸã‚‚ã®ä»¥å¤–ã® HTTP メソッドã«ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã‚’ +制é™ã™ã‚‹
LimitInternalRecursion number [number] 10 svC
内部リダイレクトã¨å…¥ã‚Œå­ã«ãªã£ãŸã‚µãƒ–リクエストã®æœ€å¤§æ•°ã‚’決定ã™ã‚‹
LimitRequestBody bytes 0 svdhC
クライアントã‹ã‚‰é€ã‚‰ã‚Œã‚‹ HTTP リクエストã®ãƒœãƒ‡ã‚£ã® +ç·é‡ã‚’制é™ã™ã‚‹
LimitRequestFields number 100 sC
クライアントã‹ã‚‰ã® HTTP リクエストã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ•°ã‚’ +制é™ã™ã‚‹
LimitRequestFieldSize bytes 8190 sC
クライアントã‹ã‚‰ã® HTTP リクエストã®ãƒ˜ãƒƒãƒ€ã® +サイズを制é™ã™ã‚‹
LimitRequestLine bytes 8190 sC
クライアントã‹ã‚‰ã® HTTP リクエスト行ã®ã‚µã‚¤ã‚ºã‚’制é™ã™ã‚‹
LimitXMLRequestBody bytes 1000000 svdhC
XML å½¢å¼ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒœãƒ‡ã‚£ã®ã‚µã‚¤ã‚ºã‚’制é™ã™ã‚‹
Listen [IP-address:]portnumber [protocol]sM
サーãƒãŒ listen ã™ã‚‹IP アドレスã¨ãƒãƒ¼ãƒˆç•ªå·
ListenBacklog backlogsM
ä¿ç•™çŠ¶æ…‹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ã‚­ãƒ¥ãƒ¼ã®æœ€å¤§é•·
ListenCoresBucketsRatio ratio 0 (disabled) sM
Ratio between the number of CPU cores (online) and the number of +listeners' buckets
LoadFile filename [filename] ...svE
指定ã•ã‚ŒãŸã‚ªãƒ–ジェクトファイルやライブラリをリンクã™ã‚‹
LoadModule module filenamesvE
オブジェクトファイルやライブラリをリンクã—ã€ä½¿ç”¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® +リストã«è¿½åŠ ã™ã‚‹
<Location + URL-path|URL> ... </Location>svC
囲んã ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をマッãƒã™ã‚‹ URL ã®ã¿ã«é©ç”¨
<LocationMatch + regex> ... </LocationMatch>svC
囲んã ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’æ­£è¦è¡¨ç¾ã«ãƒžãƒƒãƒã™ã‚‹ URL ã®ã¿ã« +é©ç”¨
LogFormat format|nickname +[nickname] "%h %l %u %t \"%r\" +svB
ログファイルã§ä½¿ç”¨ã™ã‚‹æ›¸å¼ã‚’設定ã™ã‚‹
LogIOTrackTTFB ON|OFF OFF svdhE
Enable tracking of time to first byte (TTFB)
LogLevel level warn svC
ErrorLog ã®å†—長性を制御ã™ã‚‹
LogMessage message +[hook=hook] [expr=expression] +dX
Log user-defined message to error log +
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Plug an authorization provider function into mod_authz_core +
LuaCodeCache stat|forever|never stat svdhE
Configure the compiled code cache.
LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the access_checker phase of request processing
LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the check_user_id phase of request processing
LuaHookFixups /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFilter /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the insert_filter phase of request processing
LuaHookLog /path/to/lua/script.lua log_function_namesvdhE
Provide a hook for the access log phase of a request +processing
LuaHookMapToStorage /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslate /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]svE
Provide a hook for the translate name phase of request processing
LuaHookTypeChecker /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the type_checker phase of request processing
LuaInherit none|parent-first|parent-last parent-first svdhE
Controls how parent configuration sections are merged into children
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content input filtering
LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]svdhE
Map a path to a lua handler
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content output filtering
LuaPackageCPath /path/to/include/?.soasvdhE
Add a directory to lua's package.cpath
LuaPackagePath /path/to/include/?.luasvdhE
Add a directory to lua's package.path
LuaQuickHandler /path/to/script.lua hook_function_namesvE
Provide a hook for the quick handler of request processing
LuaRoot /path/to/a/directorysvdhE
Specify the base path for resolving relative paths for mod_lua directives
LuaScope once|request|conn|thread|server [min] [max] once svdhE
One of once, request, conn, thread -- default is once
+<Macro name [par1 .. parN]> +... </Macro>svdB
Define a configuration file macro
MaxConnectionsPerChild number 0 sM
Limit on the number of connections that an individual child server +will handle during its life
MaxKeepAliveRequests number 100 svC
æŒç¶šçš„ãªæŽ¥ç¶šä¸Šã§è¨±å¯ã•ã‚Œã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°
MaxMemFree KBytes 0 sM
free() ãŒå‘¼ã°ã‚Œãªã„é™ã‚Šã€ +主メモリアロケータãŒä¿æŒã—続ã‘られるメモリã®æœ€å¤§é‡
MaxRangeOverlaps default | unlimited | none | number-of-ranges 20 svdC
Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
MaxRangeReversals default | unlimited | none | number-of-ranges 20 svdC
Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
MaxRanges default | unlimited | none | number-of-ranges 200 svdC
Number of ranges allowed before returning the complete +resource
MaxRequestWorkers numbersM
Maximum number of connections that will be processed +simultaneously
MaxSpareServers number 10 sM
アイドルãªå­ã‚µãƒ¼ãƒãƒ—ロセスã®æœ€å¤§å€‹æ•°
MaxSpareThreads numbersM
アイドルスレッドã®æœ€å¤§æ•°
MaxThreads number 2048 sM
Set the maximum number of worker threads
MDActivationDelay durationsX
-
MDBaseServer on|off off sX
Control if base server may be managed or only virtual hosts.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sX
Type of ACME challenge used to prove domain ownership.
MDCertificateAgreement acceptedsX
You confirm that you accepted the Terms of Service of the Certificate + Authority.
MDCertificateAuthority url letsencrypt sX
The URL(s) of the ACME Certificate Authority to use.
MDCertificateCheck name urlsX
-
MDCertificateFile path-to-pem-filesX
Specify a static certificate file for the MD.
MDCertificateKeyFile path-to-filesX
Specify a static private key for for the static cerrtificate.
MDCertificateMonitor name url crt.sh https://crt. +sX
The URL of a certificate log monitor.
MDCertificateProtocol protocol ACME sX
The protocol to use with the Certificate Authority.
MDCertificateStatus on|off on sX
Exposes public certificate information in JSON.
MDChallengeDns01 path-to-commandsX
-
MDContactEmail addresssX
-
MDDriveMode always|auto|manual auto sX
former name of MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sX
-
MDHttpProxy urlsX
Define a proxy for outgoing connections.
MDMember hostnamesX
Additional hostname for the managed domain.
MDMembers auto|manual auto sX
Control if the alias domain names are automatically added.
MDMessageCmd path-to-cmd optional-argssX
Handle events for Manage Domains
MDMustStaple on|off off sX
Control if new certificates carry the OCSP Must Staple flag.
MDNotifyCmd path [ args ]sX
Run a program when a Managed Domain is ready.
MDomain dns-name [ other-dns-name... ] [auto|manual]sX
Define list of domain names that belong to one group.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sX
Container for directives applied to the same managed domains.
MDPortMap map1 [ map2 ] http:80 https:443 sX
Map external to internal ports for domain ownership verification.
MDPrivateKeys type [ params... ] RSA 2048 sX
Set type and size of the private keys generated.
MDRenewMode always|auto|manual auto sX
Controls if certificates shall be renewed.
MDRenewWindow duration 33% sX
Control when a certificate will be renewed.
MDRequireHttps off|temporary|permanent off sX
Redirects http: traffic to https: for Managed Domains.
MDRetryDelay duration 5s sX
-
MDRetryFailover number 13 sX
-
MDServerStatus on|off on sX
Control if Managed Domain information is added to server-status.
MDStapleOthers on|off on sX
Enable stapling for certificates not managed by mod_md.
MDStapling on|off off sX
Enable stapling for all or a particular MDomain.
MDStaplingKeepResponse duration 7d sX
Controls when old responses should be removed.
MDStaplingRenewWindow duration 33% sX
Control when the stapling responses will be renewed.
MDStoreDir path md sX
Path on the local file system to store the Managed Domains data.
MDStoreLocks on|off|duration off sX
-
MDWarnWindow duration 10% sX
Define the time window when you want to be warned about an expiring certificate.
MemcacheConnTTL num[units] 15s svE
Keepalive time for idle connections
MergeSlashes ON|OFF ON svC
Controls whether the server merges consecutive slashes in URLs. +
MergeTrailers [on|off] off svC
Determines whether trailers are merged into headers
MetaDir directory .web svdhE
Name of the directory to find CERN-style meta information +files
MetaFiles on|off off svdhE
Activates CERN meta-file processing
MetaSuffix suffix .meta svdhE
File name suffix for the file containing CERN-style +meta information
MimeMagicFile file-pathsvE
Enable MIME-type determination based on file contents +using the specified magic file
MinSpareServers number 5 sM
アイドルãªå­ã‚µãƒ¼ãƒãƒ—ロセスã®æœ€å°å€‹æ•°
MinSpareThreads numbersM
リクエストã«å¿œç­”ã™ã‚‹ã“ã¨ã®ã§ãã‚‹ +アイドルスレッド数ã®æœ€å°æ•°
MMapFile file-path [file-path] ...sX
Map a list of files into memory at startup time
ModemStandard V.21|V.26bis|V.32|V.34|V.92dX
Modem standard to simulate
ModMimeUsePathInfo On|Off Off d
path_info コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’ファイルåã®ä¸€éƒ¨ã¨ã—ã¦æ‰±ã†ã‚ˆã†ã« +mod_mime ã«é€šçŸ¥ã™ã‚‹
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly svdh
MultiViews ã§ã®ãƒžãƒƒãƒãƒ³ã‚°ã®æ¤œç´¢ã«å«ã¾ã›ã‚‹ +ファイルã®ã‚¿ã‚¤ãƒ—を指定ã™ã‚‹
Mutex mechanism [default|mutex-name] ... [OmitPID] default sC
Configures mutex mechanism and lock file directory for all +or specified mutexes
NameVirtualHost addr[:port]sC
åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãŸã‚ã® IP アドレスを指定
NoProxy host [host] ...svE
直接接続ã™ã‚‹ ホストã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯
NWSSLTrustedCerts filename [filename] ...sB
List of additional client certificates
NWSSLUpgradeable [IP-address:]portnumbersB
Allows a connection to be upgraded to an SSL connection upon request
Options + [+|-]option [[+|-]option] ... All svdhC
ディレクトリã«å¯¾ã—ã¦ä½¿ç”¨å¯èƒ½ãªæ©Ÿèƒ½ã‚’設定ã™ã‚‹
Order ordering Deny,Allow dhE
デフォルトã®ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªçŠ¶æ…‹ã¨ã€Allow 㨠+Deny ãŒè©•ä¾¡ã•ã‚Œã‚‹é †ç•ªã‚’制御ã™ã‚‹
OutputSed sed-commanddhX
Sed command for filtering response content
PassEnv env-variable [env-variable] +...svdhB
シェルã‹ã‚‰ã®ç’°å¢ƒå¤‰æ•°ã‚’渡ã™
PidFile filename logs/httpd.pid sM
デーモンã®ãƒ—ロセス ID +をサーãƒãŒè¨˜éŒ²ã™ã‚‹ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«
PrivilegesMode FAST|SECURE|SELECTIVE FAST svdX
Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Protocol protocolsvC
Protocol for a listening socket
ProtocolEcho On|Off Off svX
エコーサーãƒã®æœ‰åŠ¹ç„¡åŠ¹ã‚’設定ã—ã¾ã™ã€‚
Protocols protocol ... http/1.1 svC
Protocols available for a server/virtual host
ProtocolsHonorOrder On|Off On svC
Determines if order of Protocols determines precedence during negotiation
<Proxy wildcard-url> ...</Proxy>svE
プロキシã•ã‚Œã‚‹ãƒªã‚½ãƒ¼ã‚¹ã«é©ç”¨ã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒŠ
Proxy100Continue Off|On On svdE
Forward 100-continue expectation to the origin server
ProxyAddHeaders Off|On On svdE
Add proxy information in X-Forwarded-* headers
ProxyBadHeader IsError|Ignore|StartBody IsError svE
応答ã«ãŠã‹ã—ãªãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹å ´åˆã®æ‰±ã„方を決ã‚ã‚‹
ProxyBlock *|word|host|domain +[word|host|domain] ...svE
プロキシ接続をç¦æ­¢ã™ã‚‹èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã™ã‚‹
ProxyDomain DomainsvE
プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³å
ProxyErrorOverride On|Off Off svE
プロキシã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã‚’上書ãã™ã‚‹
ProxyExpressDBMFile pathnamesvE
Pathname to DBM file.
ProxyExpressDBMType type default svE
DBM type of file.
ProxyExpressEnable on|off off svE
Enable the module functionality.
ProxyFCGIBackendType FPM|GENERIC FPM svdhE
Specify the type of backend FastCGI application
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]svdhE
Allow variables sent to FastCGI servers to be fixed up
ProxyFtpDirCharset character_set ISO-8859-1 svdE
Define the character set for proxied FTP listings
ProxyFtpEscapeWildcards on|off on svdE
Whether wildcards in requested filenames are escaped when sent to the FTP server
ProxyFtpListOnWildcard on|off on svdE
Whether wildcards in requested filenames trigger a file listing
ProxyHCExpr name {ap_expr expression}svE
Creates a named condition expression to use to determine health of the backend based on its response
ProxyHCTemplate name parameter=setting [...]svE
Creates a named template for setting various health check parameters
ProxyHCTPsize size 16 sE
Sets the total server-wide size of the threadpool used for the health check workers
ProxyHTMLBufSize bytes 8192 svdB
Sets the buffer size increment for buffering inline scripts and +stylesheets.
ProxyHTMLCharsetOut Charset | *svdB
Specify a charset for mod_proxy_html output.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
svdB
Sets an HTML or XHTML document type declaration.
ProxyHTMLEnable On|Off Off svdB
Turns the proxy_html filter on or off.
ProxyHTMLEvents attribute [attribute ...]svdB
Specify attributes to treat as scripting events.
ProxyHTMLExtended On|Off Off svdB
Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
ProxyHTMLFixups [lowercase] [dospath] [reset]svdB
Fixes for simple HTML errors.
ProxyHTMLInterp On|Off Off svdB
Enables per-request interpolation of +ProxyHTMLURLMap rules.
ProxyHTMLLinks element attribute [attribute2 ...]svdB
Specify HTML elements that have URL attributes to be rewritten.
ProxyHTMLMeta On|Off Off svdB
Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
ProxyHTMLStripComments On|Off Off svdB
Determines whether to strip HTML comments.
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]svdB
Defines a rule to rewrite HTML links
ProxyIOBufferSize bytes 8192 svE
内部データスループットãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’決定ã™ã‚‹
<ProxyMatch regex> ...</ProxyMatch>svE
æ­£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒ—ロキシリソース用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–コンテナ
ProxyMaxForwards number 10 svE
リクエストãŒãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã•ã‚Œã‚‹ãƒ—ロキシã®æœ€å¤§æ•°
ProxyPass [path] !|url [key=value key=value ...]]svdE
リモートサーãƒã‚’ローカルサーãƒã® URL 空間ã«ãƒžãƒƒãƒ—ã™ã‚‹
ProxyPassInherit On|Off On svE
Inherit ProxyPass directives defined from the main server
svdE
Enable Environment Variable interpolation in Reverse Proxy configurations
svdE
Maps remote servers into the local server URL-space using regular expressions
ProxyPassReverse [path] urlsvdE
リãƒãƒ¼ã‚¹ãƒ—ロキシã•ã‚ŒãŸã‚µãƒ¼ãƒã‹ã‚‰é€ã‚‰ã‚ŒãŸ HTTP 応答ヘッダ㮠+URL を調整ã™ã‚‹
ProxyPassReverseCookieDomain internal-domain public-domainsvdE
リãƒãƒ¼ã‚¹ãƒ—ロキシサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Domain 文字列を +調整ã™ã‚‹
ProxyPassReverseCookiePath internal-path public-pathsvdE
Reverse プロキシサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Path 文字列を +調整ã™ã‚‹
ProxyPreserveHost On|Off Off svE
プロキシリクエストã«ã€å—ã‘付ã‘㟠Host HTTP ヘッダを使ã†
ProxyReceiveBufferSize bytes 0 svE
プロキシã•ã‚Œã‚‹ HTTP 㨠FTP 接続ã®ãŸã‚ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º
ProxyRemote match remote-serversvE
特定ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†æ™‚ã«ä½¿ã‚れるリモートプロキシを指定ã™ã‚‹
ProxyRemoteMatch regex remote-serversvE
æ­£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ロキシã®æŒ‡å®š
ProxyRequests On|Off Off svE
フォワード (標準ã®) プロキシリクエストを有効ã«ã™ã‚‹
ProxySCGIInternalRedirect On|Off|Headername On svdE
Enable or disable internal redirect responses from the +backend
ProxySCGISendfile On|Off|Headername Off svdE
Enable evaluation of X-Sendfile pseudo response +header
dE
Set various Proxy balancer or member parameters
ProxySourceAddress addresssvE
Set local IP address for outgoing proxy connections
svE
Show Proxy LoadBalancer status in mod_status
ProxyTimeout seconds 300 svE
プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ
ProxyVia On|Off|Full|Block Off svE
プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Via HTTP 応答ヘッダ +ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹æƒ…å ±
ProxyWebsocketFallbackToProxyHttp On|Off On svE
Instructs this module to let mod_proxy_http handle the request
QualifyRedirectURL On|Off Off svdC
Controls whether the REDIRECT_URL environment variable is + fully qualified
ReadBufferSize bytes 8192 svdC
Size of the buffers used to read data
ReadmeName filenamesvdhB
インデックス一覧ã®æœ€å¾Œã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰
ReceiveBufferSize bytes 0 sM
TCP å—ä¿¡ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º
Redirect [status] URL-path +URLsvdhB
クライアントãŒé•ã† URL ã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«å¤–部ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’ +é€ã‚‹
RedirectMatch [status] regex +URLsvdhB
ç¾åœ¨ã® URL ã¸ã®æ­£è¦è¡¨ç¾ã®ãƒžãƒƒãƒã«ã‚ˆã‚Š +外部ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’é€ã‚‹
RedirectPermanent URL-path URLsvdhB
クライアントãŒé•ã† URL ã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«å¤–部ã¸ã®æ°¸ä¹…的㪠+リダイレクトをé€ã‚‹
RedirectTemp URL-path URLsvdhB
クライアントãŒé•ã† URL ã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«å¤–部ã¸ã®ä¸€æ™‚的㪠+リダイレクトをé€ã‚‹
RedisConnPoolTTL num[units] 15s svE
TTL used for the connection pool with the Redis server(s)
RedisTimeout num[units] 5s svE
R/W timeout used for the connection with the Redis server(s)
ReflectorHeader inputheader [outputheader]svdhB
Reflect an input header to the output headers
RegexDefaultOptions [none] [+|-]option [[+|-]option] ... DOTALL DOLLAR_ENDON +sC
Allow to configure global/default options for regexes
RegisterHttpMethod method [method [...]]sC
Register non-standard HTTP methods
RemoteIPHeader header-fieldsvB
Declare the header field which should be parsed for useragent IP addresses
RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPInternalProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPProxiesHeader HeaderFieldNamesvB
Declare the header field which will record all intermediate IP addresses
RemoteIPProxyProtocol On|OffsvB
Enable or disable PROXY protocol handling
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]svB
Disable processing of PROXY header for certain hosts or networks
RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPTrustedProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoveCharset extension [extension] +...vdh
ファイルã®æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸã™ã¹ã¦ã®æ–‡å­—セット +を解除ã™ã‚‹
RemoveEncoding extension [extension] +...vdh
ファイルã®æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸã™ã¹ã¦ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° +を解除ã™ã‚‹
RemoveHandler extension [extension] +...vdh
ファイルã®æ‹¡å¼µå­ã«é–¢é€£ä»˜ã‘られãŸã™ã¹ã¦ã®ãƒãƒ³ãƒ‰ãƒ©ã‚’ +解除ã™ã‚‹
RemoveInputFilter extension [extension] +...vdh
ファイル拡張å­ã«é–¢é€£ä»˜ã‘られãŸå…¥åŠ›ãƒ•ã‚£ãƒ«ã‚¿ã‚’解除ã™ã‚‹
RemoveLanguage extension [extension] +...vdh
ファイル拡張å­ã«é–¢é€£ä»˜ã‘られãŸè¨€èªžã‚’解除ã™ã‚‹
RemoveOutputFilter extension [extension] +...vdh
ファイル拡張å­ã«é–¢é€£ä»˜ã‘られãŸå‡ºåŠ›ãƒ•ã‚£ãƒ«ã‚¿ã‚’解除ã™ã‚‹
RemoveType extension [extension] +...vdh
ファイルã®æ‹¡å¼µå­ã¨é–¢é€£ä»˜ã‘られãŸã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã‚’ +解除ã™ã‚‹
RequestHeader set|append|add|unset header +[value] [early|env=[!]variable]svdhE
HTTP リクエストヘッダã®è¨­å®š
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] + handshake=0 header= +svE
Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Require [not] entity-name + [entity-name] ...dhB
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll> ... </RequireAll>dhB
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny> ... </RequireAny>dhB
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone> ... </RequireNone>dhB
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
RewriteBase URL-pathdhE
Sets the base URL for per-directory rewrites
RewriteCond + TestString CondPattern [flags]svdhE
Defines a condition under which rewriting will take place +
RewriteEngine on|off off svdhE
Enables or disables runtime rewriting engine
RewriteMap MapName MapType:MapSource + [MapTypeOptions] +svE
Defines a mapping function for key-lookup
RewriteOptions OptionssvdhE
Sets some special options for the rewrite engine
RewriteRule + Pattern Substitution [flags]svdhE
Defines rules for the rewriting engine
RLimitCPU seconds|max [seconds|max]svdhC
Apache ã®å­ãƒ—ロセスã‹ã‚‰èµ·å‹•ã•ã‚ŒãŸãƒ—ロセス㮠CPU 消費é‡ã‚’ +制é™ã™ã‚‹
RLimitMEM bytes|max [bytes|max]svdhC
Apache ã®å­ãƒ—ロセスã‹ã‚‰èµ·å‹•ã•ã‚ŒãŸãƒ—ロセスã®ãƒ¡ãƒ¢ãƒªæ¶ˆè²»é‡ã‚’ +制é™ã™ã‚‹
RLimitNPROC number|max [number|max]svdhC
Apache ã®å­ãƒ—ロセスã‹ã‚‰èµ·å‹•ã•ã‚ŒãŸãƒ—ロセスãŒèµ·å‹•ã™ã‚‹ãƒ—ロセス㮠+数を制é™ã™ã‚‹
Satisfy Any|All All dhE
ホストレベルã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã¨ãƒ¦ãƒ¼ã‚¶èªè¨¼ã¨ã®ç›¸äº’作用を指定
ScoreBoardFile file-path logs/apache_status sM
å­ãƒ—ロセスã¨é€£æºã™ã‚‹ãŸã‚ã®ãƒ‡ãƒ¼ã‚¿ã‚’ä¿å­˜ã™ã‚‹ +ファイルã®ä½ç½®
Script method cgi-scriptsvdB
特定ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ¡ã‚½ãƒƒãƒ‰ã«å¯¾ã—㦠CGI スクリプトを +実行ã™ã‚‹ã‚ˆã†ã«è¨­å®š
ScriptAlias URL-path +file-path|directory-pathsvB
URL をファイルシステムã®ä½ç½®ã¸ãƒžãƒƒãƒ—ã—ã€ãƒžãƒƒãƒ—先を +CGI スクリプトã«æŒ‡å®š
ScriptAliasMatch regex +file-path|directory-pathsvB
URL ã‚’æ­£è¦è¡¨ç¾ã‚’使ã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ä½ç½®ã¸ãƒžãƒƒãƒ—ã—ã€ãƒžãƒƒãƒ—先を +CGI スクリプトã«æŒ‡å®š
ScriptInterpreterSource Registry|Registry-Strict|Script Script svdhC
CGI スクリプトã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã®ä½ç½®ã‚’調ã¹ã‚‹ãŸã‚ã®æ‰‹æ³•
ScriptLog file-pathsvB
CGI スクリプトã®ã‚¨ãƒ©ãƒ¼ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®å ´æ‰€
ScriptLogBuffer bytes 1024 svB
スクリプトログã«è¨˜éŒ²ã•ã‚Œã‚‹ PUT ã‚„ POST リクエストã®å†…容ã®ä¸Šé™
ScriptLogLength bytes 10385760 svB
CGI スクリプトã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®å¤§ãã•ã®ä¸Šé™
ScriptSock file-path logs/cgisock sB
CGI デーモンã¨ã®é€šä¿¡ã«ä½¿ã‚れるソケットã®ãƒ•ã‚¡ã‚¤ãƒ«åã®æŽ¥é ­è¾ž
SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]sB
Enables SSL encryption for the specified port
SeeRequestTail On|Off Off sC
Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
SendBufferSize bytes 0 sM
TCP ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º
ServerAdmin email-address|URLsvC
サーãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«å«ã‚ã‚‹é›»å­ãƒ¡ãƒ¼ãƒ«ã® +アドレス
ServerAlias hostname [hostname] ...vC
リクエストをåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãƒžãƒƒãƒã•ã›ã¦ã„ã‚‹ã¨ãã« +使用ã•ã‚Œã‚‹ãƒ›ã‚¹ãƒˆã®åˆ¥å
ServerLimit numbersM
設定å¯èƒ½ãªã‚µãƒ¼ãƒãƒ—ロセス数ã®ä¸Šé™
ServerName [scheme://]fully-qualified-domain-name[:port]svC
サーãƒãŒè‡ªåˆ†è‡ªèº«ã‚’示ã™ã¨ãã«ä½¿ã†ãƒ›ã‚¹ãƒˆåã¨ãƒãƒ¼ãƒˆ
ServerPath URL-pathvC
éžäº’æ›ã®ãƒ–ラウザãŒåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã® +ãŸã‚ã®äº’æ›ç”¨ URL パスå
ServerRoot directory-path /usr/local/apache sC
インストールã•ã‚ŒãŸã‚µãƒ¼ãƒã®ãƒ™ãƒ¼ã‚¹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
ServerSignature On|Off|EMail Off svdhC
サーãƒãŒç”Ÿæˆã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ãƒ•ãƒƒã‚¿ã‚’設定
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sC
Server HTTP 応答ヘッダを設定ã™ã‚‹
Session On|Off Off svdhE
Enables a session for the current directory or location
SessionCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session
SessionCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session
SessionCookieRemove On|Off Off svdhE
Control for whether session cookies should be removed from incoming HTTP headers
SessionCryptoCipher name aes256 svdhX
The crypto cipher to be used to encrypt the session
SessionCryptoDriver name [param[=value]]sX
The crypto driver to be used to encrypt the session
SessionCryptoPassphrase secret [ secret ... ] svdhX
The key used to encrypt the session
SessionCryptoPassphraseFile filenamesvdX
File containing keys used to encrypt the session
SessionDBDCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session ID
SessionDBDCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session ID
SessionDBDCookieRemove On|Off On svdhE
Control for whether session ID cookies should be removed from incoming HTTP headers
SessionDBDDeleteLabel label deletesession svdhE
The SQL query to use to remove sessions from the database
SessionDBDInsertLabel label insertsession svdhE
The SQL query to use to insert sessions into the database
SessionDBDPerUser On|Off Off svdhE
Enable a per user session
SessionDBDSelectLabel label selectsession svdhE
The SQL query to use to select sessions from the database
SessionDBDUpdateLabel label updatesession svdhE
The SQL query to use to update existing sessions in the database
SessionEnv On|Off Off svdhE
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionExclude pathsvdhE
Define URL prefixes for which a session is ignored
SessionExpiryUpdateInterval interval 0 (always update) svdhE
Define the number of seconds a session's expiry may change without +the session being updated
SessionHeader headersvdhE
Import session updates from a given HTTP response header
SessionInclude pathsvdhE
Define URL prefixes for which a session is valid
SessionMaxAge maxage 0 svdhE
Define a maximum age in seconds for a session
SetEnv env-variable valuesvdhB
環境変数を設定ã™ã‚‹
SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ +
svdhB
Sets environment variables based on an ap_expr expression
SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹
SetHandler handler-name|NonesvdhC
マッãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒãƒãƒ³ãƒ‰ãƒ©ã§å‡¦ç†ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹
SetInputFilter filter[;filter...]svdhC
クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„ POST ã®å…¥åŠ›ã‚’処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’設定ã™ã‚‹
SetOutputFilter filter[;filter...]svdhC
サーãƒã®å¿œç­”を処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’設定ã™ã‚‹
SSIEndTag tag "-->" svB
include è¦ç´ ã‚’終了ã•ã›ã‚‹æ–‡å­—列
SSIErrorMsg message "[an error occurred +svdhB
SSI ã®ã‚¨ãƒ©ãƒ¼ãŒã‚ã£ãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸
SSIETag on|off off dhB
Controls whether ETags are generated by the server.
SSILastModified on|off off dhB
Controls whether Last-Modified headers are generated by the +server.
SSILegacyExprParser on|off off dhB
Enable compatibility mode for conditional expressions.
SSIStartTag tag "<!--#" svB
include è¦ç´ ã‚’開始ã™ã‚‹æ–‡å­—列
SSITimeFormat formatstring "%A, %d-%b-%Y %H:%M +svdhB
日付ã‘ã‚’ç¾ã™æ–‡å­—列ã®æ›¸å¼ã‚’設定ã™ã‚‹
SSIUndefinedEcho string "(none)" svdhB
未定義ã®å¤‰æ•°ãŒ echo ã•ã‚ŒãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹æ–‡å­—列
SSLCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Client Auth
SSLCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Client Auth
SSLCADNRequestFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
SSLCADNRequestPath directory-pathsvE
Directory of PEM-encoded CA Certificates for +defining acceptable CA names
SSLCARevocationCheck chain|leaf|none [flags ...] none svE
Enable CRL-based revocation checking
SSLCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Client Auth
SSLCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Client Auth
SSLCertificateChainFile file-pathsvE
File of PEM-encoded Server CA Certificates
SSLCertificateFile file-path|certidsvE
Server PEM-encoded X.509 certificate data file or token identifier
SSLCertificateKeyFile file-path|keyidsvE
Server PEM-encoded private key file
SSLCipherSuite [protocol] cipher-spec DEFAULT (depends on +svdhE
Cipher Suite available for negotiation in SSL +handshake
SSLCompression on|off off svE
Enable compression on the SSL level
SSLCryptoDevice engine builtin sE
Enable use of a cryptographic hardware accelerator
SSLEngine on|off|optional off svE
SSL Engine Operation Switch
SSLFIPS on|off off sE
SSL FIPS mode Switch
SSLHonorCipherOrder on|off off svE
Option to prefer the server's cipher preference order
SSLInsecureRenegotiation on|off off svE
Option to enable support for insecure renegotiation
SSLOCSPDefaultResponder urisvE
Set the default responder URI for OCSP validation
SSLOCSPEnable on|leaf|off off svE
Enable OCSP validation of the client certificate chain
SSLOCSPNoverify on|off off svE
skip the OCSP responder certificates verification
SSLOCSPOverrideResponder on|off off svE
Force use of the default responder URI for OCSP validation
SSLOCSPProxyURL urlsvE
Proxy URL to use for OCSP requests
SSLOCSPResponderCertificateFile filesvE
Set of trusted PEM encoded OCSP responder certificates
SSLOCSPResponderTimeout seconds 10 svE
Timeout for OCSP queries
SSLOCSPResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP responses
SSLOCSPResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP response validation
SSLOCSPUseRequestNonce on|off on svE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd command-name command-valuesvE
Configure OpenSSL parameters through its SSL_CONF API
SSLOptions [+|-]option ...svdhE
Configure various SSL engine run-time options
SSLPassPhraseDialog type builtin sE
Type of pass phrase dialog for encrypted private +keys
SSLProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL/TLS protocol versions
SSLProxyCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
SSLProxyCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Remote Server Auth
SSLProxyCARevocationCheck chain|leaf|none none svE
Enable CRL-based revocation checking for Remote Server Auth
SSLProxyCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCheckPeerCN on|off on svE
Whether to check the remote server certificate's CN field +
SSLProxyCheckPeerExpire on|off on svE
Whether to check if remote server certificate is expired +
SSLProxyCheckPeerName on|off on svE
Configure host name checking for remote server certificates +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +svE
Cipher Suite available for negotiation in SSL +proxy handshake
SSLProxyEngine on|off off svE
SSL Proxy Engine Operation Switch
SSLProxyMachineCertificateChainFile filenamesvE
File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
SSLProxyMachineCertificateFile filenamesvE
File of concatenated PEM-encoded client certificates and keys to be used by the proxy
SSLProxyMachineCertificatePath directorysvE
Directory of PEM-encoded client certificates and keys to be used by the proxy
SSLProxyProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL protocol flavors for proxy usage
SSLProxyVerify level none svE
Type of remote server Certificate verification
SSLProxyVerifyDepth number 1 svE
Maximum depth of CA Certificates in Remote Server +Certificate verification
SSLRandomSeed context source +[bytes]sE
Pseudo Random Number Generator (PRNG) seeding +source
SSLRenegBufferSize bytes 131072 dhE
Set the size for the SSL renegotiation buffer
SSLRequire expressiondhE
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLdhE
Deny access when SSL is not used for the +HTTP request
SSLSessionCache type none sE
Type of the global/inter-process SSL Session +Cache
SSLSessionCacheTimeout seconds 300 svE
Number of seconds before an SSL session expires +in the Session Cache
SSLSessionTicketKeyFile file-pathsvE
Persistent encryption/decryption key for TLS session tickets
SSLSessionTickets on|off on svE
Enable or disable use of TLS session tickets
SSLSRPUnknownUserSeed secret-stringsvE
SRP unknown user seed
SSLSRPVerifierFile file-pathsvE
Path to SRP verifier file
SSLStaplingCache typesE
Configures the OCSP stapling cache
SSLStaplingErrorCacheTimeout seconds 600 svE
Number of seconds before expiring invalid responses in the OCSP stapling cache
SSLStaplingFakeTryLater on|off on svE
Synthesize "tryLater" responses for failed OCSP stapling queries
SSLStaplingForceURL urisvE
Override the OCSP responder URI specified in the certificate's AIA extension
SSLStaplingResponderTimeout seconds 10 svE
Timeout for OCSP stapling queries
SSLStaplingResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP stapling responses
SSLStaplingResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP stapling response validation
SSLStaplingReturnResponderErrors on|off on svE
Pass stapling related OCSP errors on to client
SSLStaplingStandardCacheTimeout seconds 3600 svE
Number of seconds before expiring responses in the OCSP stapling cache
SSLStrictSNIVHostCheck on|off off svE
Whether to allow non-SNI clients to access a name-based virtual +host. +
SSLUserName varnamesdhE
Variable name to determine user name
SSLUseStapling on|off off svE
Enable stapling of OCSP responses in the TLS handshake
SSLVerifyClient level none svdhE
Type of Client Certificate verification
SSLVerifyDepth number 1 svdhE
Maximum depth of CA Certificates in Client +Certificate verification
StartServers numbersM
起動時ã«ç”Ÿæˆã•ã‚Œã‚‹å­ã‚µãƒ¼ãƒãƒ—ロセスã®æ•°
StartThreads numbersM
起動時ã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°
StrictHostCheck ON|OFF OFF svC
Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Substitute s/pattern/substitution/[infq]dhE
Pattern to filter the response content
SubstituteInheritBefore on|off off dhE
Change the merge order of inherited patterns
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) 1m dhE
Set the maximum line size
Suexec On|OffsB
Enable or disable the suEXEC feature
SuexecUserGroup User GroupsvE
CGI プログラムã®ãƒ¦ãƒ¼ã‚¶ãƒ‘ーミッションã€ã‚°ãƒ«ãƒ¼ãƒ—パーミッション
ThreadLimit numbersM
設定å¯èƒ½ãªå­ãƒ—ロセス毎ã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã®ä¸Šé™ã‚’ +設定ã—ã¾ã™
ThreadsPerChild numbersM
å­ãƒ—ロセスãã‚Œãžã‚Œã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°
ThreadStackSize sizesM
クライアントã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å—ã‘æŒã¤ã‚¹ãƒ¬ãƒƒãƒ‰ãŒä½¿ç”¨ã™ã‚‹ +スタックã®ãƒã‚¤ãƒˆæ•°
TimeOut seconds 60 svC
å„イベントã«ã¤ã„ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’失敗ã•ã›ã‚‹ã¾ã§ã«ã‚µãƒ¼ãƒãŒ +å¾…ã¤æ™‚間を設定
TLSCertificate cert_file [key_file]svX
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)svX
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used.
TLSEngine [address:]portsX
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on svX
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionsvdhX
enables SSL variables for requests.
TLSProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemsvX
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)svX
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offsvX
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]svX
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsX
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sX
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on sC
TRACE メソッドã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹å¿œç­”方法を決ã‚ã‚‹ +
TransferLog file|pipesvB
ログファイルã®ä½ç½®ã‚’指定
TypesConfig file-path conf/mime.types s
mime.types ファイルã®ä½ç½®
UnDefine parameter-namesC
Undefine the existence of a variable
UndefMacro namesvdB
Undefine a macro
UnsetEnv env-variable [env-variable] +...svdhB
環境ã‹ã‚‰å¤‰æ•°ã‚’å–り除ã
Use name [value1 ... valueN] +svdB
Use a macro
UseCanonicalName On|Off|Dns Off svdC
サーãƒãŒè‡ªåˆ†è‡ªèº«ã®åå‰ã¨ãƒãƒ¼ãƒˆã‚’決定ã™ã‚‹æ–¹æ³•ã‚’設定ã™ã‚‹
UseCanonicalPhysicalPort On|Off Off svdC
自分自身ã®åå‰ã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’解決ã™ã‚‹æ–¹æ³•ã‚’設定ã™ã‚‹ +
User unix-userid #-1 sB
The userid under which the server will answer +requests
UserDir directory-filename [directory-filename] ...svB
ユーザ専用ディレクトリã®ä½ç½®
VHostCGIMode On|Off|Secure On vX
Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to subprocesses created +by a virtual host.
VHostGroup unix-groupidvX
Sets the Group ID under which a virtual host runs.
VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to a virtual host.
VHostSecure On|Off On vX
Determines whether the server runs with enhanced security +for the virtualhost.
VHostUser unix-useridvX
Sets the User ID under which a virtual host runs.
VirtualDocumentRoot interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
VirtualDocumentRootIP interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>sC
特定ã®ãƒ›ã‚¹ãƒˆåã‚„ IP アドレスã®ã¿ã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ +囲む
VirtualScriptAlias interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
VirtualScriptAliasIP interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
WatchdogInterval time-interval[s] 1 sB
Watchdog interval in seconds
XBitHack on|off|full off svdhB
実行ビットãŒè¨­å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã® SSI ディレクティブを +解æžã™ã‚‹
xml2EncAlias charset alias [alias ...]sB
Recognise Aliases for encoding values
xml2EncDefault namesvdhB
Sets a default encoding to assume when absolutely no information +can be automatically detected
xml2StartParse element [element ...]svdhB
Advise the parser to skip leading junk.
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.ko.euc-kr b/docs/manual/mod/quickreference.html.ko.euc-kr new file mode 100644 index 0000000..0f7dd4e --- /dev/null +++ b/docs/manual/mod/quickreference.html.ko.euc-kr @@ -0,0 +1,1206 @@ + + + + + +Áö½Ã¾î ºü¸¥ÂüÁ¶ - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

Áö½Ã¾î ºü¸¥ÂüÁ¶

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ ¼³Á¤Áö½Ã¾î °¢°¢ÀÇ ¿ëµµ, ±âº»°ª, »óÅÂ, + »ç¿ëÀå¼Ò¸¦ º¸¿©ÁØ´Ù. À̵éÀº Áö½Ã¾î »çÀü¿¡¼­ ¼³¸íÇÑ´Ù.

+ +

ù¹ø° ¿­Àº Áö½Ã¾î À̸§°ú ¿ëµµ¸¦ ¾Ë·ÁÁØ´Ù. µÎ¹ø° ¿­Àº + Áö½Ã¾î¿¡ ±âº»°ªÀÌ ÀÖ´Ù¸é ±âº»°ªÀ» º¸¿©ÁØ´Ù. ¸¸¾à ±âº»°ªÀÌ + ³Ê¹« ±æ´Ù¸é, "+" ±âÈ£·Î »ý·«ÇßÀ½À» ¾Ë¸°´Ù.

+ +

¼¼¹ø°¿Í ³×¹ø° ¿­Àº °¢°¢ ¾Æ·¡ Ç¥¿¡ µû¶ó Áö½Ã¾î¸¦ »ç¿ëÇÒ + ¼ö ÀÖ´Â Àå¼Ò¿Í Áö½Ã¾îÀÇ »óŸ¦ ³ªÅ¸³½´Ù.

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
sÁÖ¼­¹ö¼³Á¤
v°¡»óÈ£½ºÆ®
ddirectory
h.htaccess
+ + + + + +
CCore
MMPM
BBase
EExtension
XExperimental
TExternal
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter protocol accept_filtersC
Configures optimizations for a Protocol's Listener Sockets
AcceptPathInfo On|Off|Default Default svdhC
Resources accept trailing pathname information
AccessFileName filename [filename] ... .htaccess svC
Name of the distributed configuration file
Action action-type cgi-script [virtual]svdhB
ƯÁ¤ Çڵ鷯³ª content-type¿¡ ´ëÇØ CGI ½ºÅ©¸³Æ®¸¦ +»ç¿ëÇÑ´Ù
AddAlt string file [file] ...svdhB
ÆÄÀϸíÀ¸·Î ¼±ÅÃÇÑ ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ÆÄÀÏ ¼³¸í±Û
AddAltByEncoding string MIME-encoding +[MIME-encoding] ...svdhB
MIME-encodingÀ¸·Î ¼±ÅÃÇÑ ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ÆÄÀÏ +¼³¸í±Û
AddAltByType string MIME-type +[MIME-type] ...svdhB
MIME content-typeÀ¸·Î ¼±ÅÃÇÑ ¾ÆÀÌÄÜ´ë½Å »ç¿ëÇÒ ÆÄÀÏ +¼³¸í±Û
AddCharset charset extension +[extension] ...svdhB
Maps the given filename extensions to the specified content +charset
AddDefaultCharset On|Off|charset Off svdhC
Default charset parameter to be added when a response +content-type is text/plain or text/html
AddDescription string file [file] ...svdhB
ÆÄÀÏ¿¡ ´ëÇÑ ¼³¸í
AddEncoding encoding extension +[extension] ...svdhB
Maps the given filename extensions to the specified encoding +type
AddHandler handler-name extension +[extension] ...svdhB
Maps the filename extensions to the specified +handler
AddIcon icon name [name] +...svdhB
À̸§À¸·Î ¼±ÅÃÇÑ ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...svdhB
MIME content-encodingÀ¸·Î ¼±ÅÃÇÑ ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
AddIconByType icon MIME-type +[MIME-type] ...svdhB
MIME content-typeÀ¸·Î ¼±ÅÃÇÑ ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
AddInputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +client requests
AddLanguage language-tag extension +[extension] ...svdhB
Maps the given filename extension to the specified content +language
AddModuleInfo module-name stringsvE
¸ðµâ¿¡ ´ëÇÑ Ãß°¡ Á¤º¸¸¦ server-info Çڵ鷯°¡ º¸¿©ÁÖµµ·Ï +Ãß°¡ÇÑ´Ù
AddOutputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +responses from the server
AddOutputFilterByType filter[;filter...] +media-type [media-type] ...svdhB
assigns an output filter to a particular media-type
AddType media-type extension +[extension] ...svdhB
Maps the given filename extensions onto the specified content +type
Alias URL-path +file-path|directory-pathsvB
URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÑ´Ù
AliasMatch regex +file-path|directory-pathsvB
Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© URLÀ» ÆÄÀϽýºÅÛ Àå¼Ò·Î +´ëÀÀÇÑ´Ù
Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts can access an area of the +server
AllowCONNECT port[-port] +[port[-port]] ... 443 563 svE
Ports that are allowed to CONNECT through the +proxy
AllowEncodedSlashes On|Off|NoDecode Off svC
Determines whether encoded path separators in URLs are allowed to +be passed through
AllowMethods reset|HTTP-method +[HTTP-method]... reset dX
Restrict access to the listed HTTP methods
AllowOverride All|None|directive-type +[directive-type] ... None (2.3.9 and lat +dC
Types of directives that are allowed in +.htaccess files
AllowOverrideList None|directive +[directive-type] ... None dC
Individual directives that are allowed in +.htaccess files
Anonymous user [user] ...dhE
¾ÏÈ£°Ë»ç¾øÀÌ Á¢±ÙÀ» Çã¿ëÇÒ »ç¿ëÀÚ ¾ÆÀ̵ðµéÀ» +ÁöÁ¤ÇÑ´Ù
Anonymous_LogEmail On|Off On dhE
ÀÔ·ÂÇÑ ¾ÏÈ£¸¦ ¿À·ù·Î±×¿¡ ±â·ÏÇÒÁö ¿©ºÎ
Anonymous_MustGiveEmail On|Off On dhE
¾ÏÈ£°¡ ¾ø¾îµµ °¡´ÉÇÑÁö ¿©ºÎ
Anonymous_NoUserID On|Off Off dhE
»ç¿ëÀÚ ¾ÆÀ̵𰡠¾ø¾îµµ °¡´ÉÇÏÁö ¿©ºÎ
Anonymous_VerifyEmail On|Off Off dhE
¾ÏÈ£°¡ ¿Ã¹Ù¸¥ Çü½ÄÀÇ ÀüÀÚ¿ìÆí ÁÖ¼ÒÀÎÁö °Ë»ç +¿©ºÎ
AsyncRequestWorkerFactor factorsM
Limit concurrent connections per process
AuthBasicAuthoritative On|Off On dhB
ÀÎÁõ°ú ±ÇÇѺο©¸¦ Àú¼öÁØ ¸ðµâ¿¡ ³Ñ°ÜÁÙÁö °áÁ¤ÇÑ´Ù
AuthBasicFake off|username [password]dhB
Fake basic authentication using the given expressions for +username and password
AuthBasicProvider On|Off|provider-name +[provider-name] ... On dhB
ÀÌ À§Ä¡¿¡ ´ëÇÑ ÀÎÁõÁ¦°øÀÚ¸¦ ÁöÁ¤ÇÑ´Ù
AuthBasicUseDigestAlgorithm MD5|Off Off dhB
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBDUserPWQuery querydE
SQL query to look up a password for a user
AuthDBDUserRealmQuery querydE
SQL query to look up a password hash for a user and realm. +
AuthDBMGroupFile file-pathdhE
ÀÎÁõ¿¡ »ç¿ëÇÒ »ç¿ëÀÚ ±×·ì ¸ñ·ÏÀ» ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º +ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
¾ÏÈ£¸¦ ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ù¸¦ +ÁöÁ¤ÇÑ´Ù
AuthDBMUserFile file-pathdhE
ÀÎÁõÇÒ »ç¿ëÀÚ¿Í ¾ÏÈ£ ¸ñ·ÏÀ» ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º +ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù
AuthDigestAlgorithm MD5|MD5-sess MD5 dhX
digest authentication¿¡¼­ challenge¿Í response +hash¸¦ °è»êÇÏ´Â ¾Ë°í¸®ÁòÀ» ¼±ÅÃÇÑ´Ù
AuthDigestDomain URI [URI] ...dhX
digest authentication¿¡¼­ °°Àº º¸È£¿µ¿ª¿¡ ¼ÓÇÏ´Â +URIµé
AuthDigestNonceLifetime seconds 300 dhX
¼­¹ö nonce°¡ À¯È¿ÇÑ ±â°£
AuthDigestProvider On|Off|provider-name +[provider-name] ... On dhX
ÀÌ À§Ä¡¿¡ ´ëÇÑ ÀÎÁõÁ¦°øÀÚ¸¦ ÁöÁ¤ÇÑ´Ù
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhX
digest authentication°¡ »ç¿ëÇÒ +º¸È£¼öÁØ(quality-of-protection)À» ÁöÁ¤ÇÑ´Ù.
AuthDigestShmemSize size 1000 sX
Ŭ¶óÀ̾ðÆ®¸¦ ÃßÀûÇϱâÀ§ÇØ ÇÒ´çÇÏ´Â °øÀ¯¸Þ¸ð¸®·®
AuthFormAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthFormBody fieldname httpd_body dB
The name of a form field carrying the body of the request to attempt on successful login
AuthFormDisableNoStore On|Off Off dB
Disable the CacheControl no-store header on the login page
AuthFormFakeBasicAuth On|Off Off dB
Fake a Basic Authentication header
AuthFormLocation fieldname httpd_location dB
The name of a form field carrying a URL to redirect to on successful login
AuthFormLoginRequiredLocation urldB
The URL of the page to be redirected to should login be required
AuthFormLoginSuccessLocation urldB
The URL of the page to be redirected to should login be successful
AuthFormLogoutLocation uridB
The URL to redirect to after a user has logged out
AuthFormMethod fieldname httpd_method dB
The name of a form field carrying the method of the request to attempt on successful login
AuthFormMimetype fieldname httpd_mimetype dB
The name of a form field carrying the mimetype of the body of the request to attempt on successful login
AuthFormPassword fieldname httpd_password dB
The name of a form field carrying the login password
AuthFormProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthFormSitePassphrase secretdB
Bypass authentication checks for high traffic sites
AuthFormSize size 8192 dB
The largest size of the form in bytes that will be parsed for the login details
AuthFormUsername fieldname httpd_username dB
The name of a form field carrying the login username
AuthGroupFile file-pathdhB
ÀÎÁõ¿¡ »ç¿ëÇÒ »ç¿ëÀÚ ±×·ì ¸ñ·ÏÀ» ÀúÀåÇÏ´Â ¹®ÀÚÆÄÀϸíÀ» +ÁöÁ¤ÇÑ´Ù
AuthLDAPAuthorizePrefix prefix AUTHORIZE_ dhE
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritative off|on on dhE
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDN distinguished-namedhE
Optional DN to use in binding to the LDAP server
AuthLDAPBindPassword passworddhE
Password used in conjunction with the bind DN
AuthLDAPCharsetConfig file-pathsE
Language to charset conversion configuration file
AuthLDAPCompareAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServer on|off on dhE
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
When will the module de-reference aliases
AuthLDAPGroupAttribute attribute member uniqueMember +dhE
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDN on|off on dhE
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUser off|on off dhE
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPattern regex substitution (.*) $1 (remote use +dhE
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepth Number 10 dhE
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttribute uiddhE
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDN on|off off dhE
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttribute attribute member uniqueMember +dhE
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClass LdapObjectClass groupOfNames groupO +dhE
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhB
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthName auth-domaindhB
Authorization realm for use in HTTP +authentication
AuthnCacheContext directory|server|custom-string directory dB
Specify a context string for use in the cache key
AuthnCacheEnablesB
Enable Authn caching configured anywhere
AuthnCacheProvideFor authn-provider [...]dhB
Specify which authn provider(s) to cache for
AuthnCacheSOCache provider-name[:provider-args]sB
Select socache backend provider to use
AuthnCacheTimeout timeout (seconds) 300 (5 minutes) dhB
Set a timeout for cache entries
<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>sB
Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Enables a FastCGI application to handle the check_authn +authentication hook.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Defines a FastCGI application as a provider for +authentication and/or authorization
AuthType None|Basic|Digest|FormdhB
Type of user authentication
AuthUserFile file-pathdhB
ÀÎÁõÇÒ »ç¿ëÀÚ¸í¿Í ¾ÏÈ£ ¸ñ·ÏÀ» ÀúÀåÇÏ´Â ¹®ÀÚÆÄÀϸíÀ» +ÁöÁ¤ÇÑ´Ù
AuthzDBDLoginToReferer On|Off Off dE
Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
AuthzDBDQuery querydE
Specify the SQL Query for the required operation
AuthzDBDRedirectQuery querydE
Specify a query to look up a login page for the user
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
¾ÏÈ£¸¦ ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Á¾·ù¸¦ ÁöÁ¤ÇÑ´Ù
<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +sB
Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
AuthzSendForbiddenOnFailure On|Off Off dhB
Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
BalancerGrowth # 5 svE
Number of additional Balancers that can be added Post-configuration
BalancerInherit On|Off On svE
Inherit ProxyPassed Balancers/Workers from the main server
BalancerMember [balancerurl] url [key=value [key=value ...]]dE
Add a member to a load balancing group
BalancerPersist On|Off Off svE
Attempt to persist changes made by the Balancer Manager across restarts.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix svE
How the outgoing ETag header should be modified during compression
BrotliCompressionMaxInputBlock valuesvE
Maximum input block size
BrotliCompressionQuality value 5 svE
Compression quality
BrotliCompressionWindow value 18 svE
Brotli sliding compression window size
BrotliFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...svdhB
HTTP User-Agent¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù
BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í User-Agent¿¡ µû¶ó ȯ°æº¯¼ö¸¦ +¼³Á¤ÇÑ´Ù
sB
Buffer log entries in memory before writing to disk
BufferSize integer 131072 svdhE
Maximum size in bytes to buffer by the buffer filter
CacheDefaultExpire seconds 3600 (one hour) svX
¸¸±â½Ã°£À» ÁöÁ¤ÇÏÁö¾ÊÀº ¹®¼­¸¦ ij½¬ÇÒ ±âº» ±â°£.
svdhX
Add an X-Cache-Detail header to the response.
CacheDirLength length 2 svX
ÇÏÀ§µð·ºÅ丮¸íÀÇ ¹®ÀÚ°³¼ö
CacheDirLevels levels 3 svX
ij½¬ÀÇ ÇÏÀ§µð·ºÅ丮 ±íÀÌ.
CacheDisable url-stringsvX
ƯÁ¤ URLÀ» ij½¬ÇÏÁö ¾Ê´Â´Ù
CacheEnable cache_type url-stringsvX
ÁöÁ¤ÇÑ ÀúÀå°ü¸®ÀÚ¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇÑ URLÀ» ij½¬ÇÑ´Ù
CacheFile file-path [file-path] ...sX
½ÃÀ۽à ¿©·¯ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù
svdhX
Add an X-Cache header to the response.
CacheIgnoreCacheControl On|Off Off svX
Ŭ¶óÀ̾ðÆ®°¡ ij½¬ÇÏÁö¾Ê´Â ³»¿ëÀ» ¿äûÇÔÀ» ¹«½ÃÇÑ´Ù.
CacheIgnoreHeaders header-string [header-string] ... None svX
ij½¬¿¡ ÁöÁ¤ÇÑ HTTP Çì´õ(µé)¸¦ ÀúÀåÇÏÁö ¾Ê´Â´Ù +
CacheIgnoreNoLastMod On|Off Off svX
ÀÀ´ä¿¡ Last Modified Çì´õ°¡ ¾ø´Ù´Â »ç½ÇÀ» ¹«½ÃÇÑ´Ù.
svX
Ignore query string when caching
svX
Ignore defined session identifiers encoded in the URL when caching +
svX
Override the base URL of reverse proxied cache keys.
CacheLastModifiedFactor float 0.1 svX
LastModified ½Ã°£À¸·Î ¸¸±â½Ã°£À» °è»êÇϴµ¥ »ç¿ëÇÏ´Â +°è¼ö.
svX
Enable the thundering herd lock.
svX
Set the maximum possible age of a cache lock.
svX
Set the lock path directory.
CacheMaxExpire seconds 86400 (ÇÏ·ç) svX
¹®¼­¸¦ ij½¬ÇÏ´Â ÃÊ´ÜÀ§ ÃÖ´ë½Ã°£
CacheMaxFileSize bytes 1000000 svX
ij½¬¿¡ ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ´ëÅ©±â (¹ÙÀÌÆ® ´ÜÀ§)
svdhX
The minimum time in seconds to cache a document
CacheMinFileSize bytes 1 svX
ij½¬¿¡ ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ¼ÒÅ©±â (¹ÙÀÌÆ® ´ÜÀ§)
CacheNegotiatedDocs On|Off Off svB
Allows content-negotiated documents to be +cached by proxy servers
svX
Run the cache from the quick handler.
svdhX
The minimum size (in bytes) of the document to read and be cached before sending the data downstream
svdhX
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheRoot directorysvX
ij½¬ ÆÄÀÏÀ» ÀúÀåÇÒ µð·ºÅ丮 root
CacheSocache type[:args]svE
The shared object cache implementation to use
CacheSocacheMaxSize bytes 102400 svdhE
The maximum size (in bytes) of an entry to be placed in the +cache
CacheSocacheMaxTime seconds 86400 svdhE
The maximum time (in seconds) for a document to be placed in the +cache
CacheSocacheMinTime seconds 600 svdhE
The minimum time (in seconds) for a document to be placed in the +cache
CacheSocacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheSocacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
svdhX
Serve stale content in place of 5xx responses.
svdhX
Attempt to cache responses that the server reports as expired
svdhX
Attempt to cache requests or responses that have been marked as no-store.
svdhX
Attempt to cache responses that the server has marked as private
CGIDScriptTimeout time[s|ms]svdhB
The length of time to wait for more output from the +CGI program
CGIMapExtension cgi-path .extensiondhC
Technique for locating the interpreter for CGI +scripts
CGIPassAuth On|Off Off dhC
Enables passing HTTP authorization headers to scripts as CGI +variables
CGIVar variable ruledhC
Controls how some CGI variables are set
CharsetDefault charsetsvdhX
º¯È¯ÇÒ ¹®ÀÚÁýÇÕ
CharsetOptions option [option] ... DebugLevel=0 NoImpl +svdhX
¹®ÀÚÁýÇÕ º¯È¯ ±â´ÉÀ» ¼³Á¤
CharsetSourceEnc charsetsvdhX
ÆÄÀÏ ¿øº»ÀÇ ¹®ÀÚÁýÇÕ
CheckBasenameMatch on|off On svdhE
Also match files with differing file name extensions.
svdhE
Limits the action of the speling module to case corrections
CheckSpelling on|off Off svdhE
¸ÂÃã¹ý ¸ðµâÀ» »ç¿ëÇÑ´Ù
ChrootDir /path/to/directorysB
Directory for apache to run chroot(8) after startup.
ContentDigest On|Off Off svdhC
Enables the generation of Content-MD5 HTTP Response +headers
CookieDomain domainsvdhE
The domain to which the tracking cookie applies
CookieExpires expiry-periodsvdhE
Expiry time for the tracking cookie
CookieHTTPOnly on|off off svdhE
Adds the 'HTTPOnly' attribute to the cookie
CookieName token Apache svdhE
Name of the tracking cookie
CookieSameSite None|Lax|StrictsvdhE
Adds the 'SameSite' attribute to the cookie
CookieSecure on|off off svdhE
Adds the 'Secure' attribute to the cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
Format of the cookie header field
CookieTracking on|off off svdhE
Enables tracking cookie
CoreDumpDirectory directorysM
Directory where Apache HTTP Server attempts to +switch before dumping core
CustomLog file|pipe +format|nickname +[env=[!]environment-variable]svB
·Î±×ÆÄÀÏ À̸§°ú Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù
Dav On|Off|provider-name Off dE
WebDAV HTTP ¸Þ½áµå¸¦ ½ÃÀÛÇÑ´Ù
DavDepthInfinity on|off off svdE
PROPFINDÀÇ Depth: Infinity ¿äûÀ» Çã°¡ÇÑ´Ù
DavGenericLockDB file-pathsvdE
Location of the DAV lock database
DavLockDB file-pathsvE
DAV Àá±Ý µ¥ÀÌÅͺ£À̽º À§Ä¡
DavLockDiscovery on|off on svdhE
Enable lock discovery
DavMinTimeout seconds 0 svdE
¼­¹ö°¡ DAV ÀÚ¿ø¿¡ ´ëÇØ À¯ÁöÇÒ Àá±ÝÀÇ Ãּҽð£
DBDExptime time-in-seconds 300 svE
Keepalive time for idle connections
DBDInitSQL "SQL statement"svE
Execute an SQL statement after connecting to a database
DBDKeep number 2 svE
Maximum sustained number of connections
DBDMax number 10 svE
Maximum number of connections
DBDMin number 1 svE
Minimum number of connections
DBDParams +param1=value1[,param2=value2]svE
Parameters for database connection
DBDPersist On|OffsvE
Whether to use persistent connections
DBDPrepareSQL "SQL statement" labelsvE
Define an SQL prepared statement
DBDriver namesvE
Specify an SQL driver
DefaultIcon url-pathsvdhB
ƯÁ¤ ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÏÁö¾ÊÀº ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ
DefaultLanguage language-tagsvdhB
Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
DefaultRuntimeDir directory-path DEFAULT_REL_RUNTIME +sC
Base directory for the server run-time files
DefaultType media-type|none none svdhC
This directive has no effect other than to emit warnings +if the value is not none. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +
Define parameter-name [parameter-value]svdC
Define a variable
DeflateBufferSize value 8096 svE
zlibÀÌ Çѹø¿¡ ¾ÐÃàÇÒ Å©±â
DeflateCompressionLevel valuesvE
Ãâ·ÂÀ» ¾î´ÀÁ¤µµ ¾ÐÃàÇϴ°¡
DeflateFilterNote [type] notenamesvE
¾ÐÃà·üÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù
DeflateInflateLimitRequestBody valuesvdhE
Maximum size of inflated request bodies
DeflateInflateRatioBurst value 3 svdhE
Maximum number of times the inflation ratio for request bodies + can be crossed
DeflateInflateRatioLimit value 200 svdhE
Maximum inflation ratio for request bodies
DeflateMemLevel value 9 svE
zlibÀÌ ¾ÐÃàÇÒ¶§ »ç¿ëÇÏ´Â ¸Þ¸ð¸®·®
DeflateWindowSize value 15 svE
Zlib ¾ÐÃà window size
Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts are denied access to the +server
<Directory directory-path> +... </Directory>svC
Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.
DirectoryCheckHandler On|Off Off svdhB
Toggle how this module responds when another handler is configured
DirectoryIndex + local-url [local-url] ... index.html svdhB
Ŭ¶óÀ̾ðÆ®°¡ µð·ºÅ丮¸¦ ¿äûÇÒ¶§ ã¾Æº¼ ÀÚ¿ø ¸ñ·Ï
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code + off svdhB
Configures an external redirect for directory indexes. +
<DirectoryMatch regex> +... </DirectoryMatch>svC
Enclose directives that apply to +the contents of file-system directories matching a regular expression.
DirectorySlash On|Off On svdhB
¸¶Áö¸· ½½·¡½¬ ¸®´ÙÀÌ·º¼ÇÀ» Å°°í ²ö´Ù
DocumentRoot directory-path "/usr/local/apache/ +svC
Directory that forms the main document tree visible +from the web
DTracePrivileges On|Off Off sX
Determines whether the privileges required by dtrace are enabled.
DumpIOInput On|Off Off sE
Dump all input data to the error log
DumpIOOutput On|Off Off sE
Dump all output data to the error log
<Else> ... </Else>svdhC
Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
<ElseIf expression> ... </ElseIf>svdhC
Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
EnableExceptionHook On|Off Off sM
Enables a hook that runs exception handlers +after a crash
EnableMMAP On|Off On svdhC
Use memory-mapping to read files during delivery
EnableSendfile On|Off Off svdhC
Use the kernel sendfile support to deliver files to the client
Error messagesvdhC
Abort configuration parsing with a custom error message
ErrorDocument error-code documentsvdhC
What the server will return to the client +in case of an error
ErrorLog file-path|syslog[:[facility][:tag]] logs/error_log (Uni +svC
Location where the server will log errors
ErrorLogFormat [connection|request] formatsvC
Format specification for error log entries
ExamplesvdhX
¾ÆÆÄÄ¡ ¸ðµâ API¸¦ ¼³¸íÇϱâÀ§ÇÑ ¿¹Á¦ Áö½Ã¾î
ExpiresActive On|OffsvdhE
Expires Çì´õ¸¦ »ý¼ºÇÑ´Ù
ExpiresByType MIME-type +<code>secondssvdhE
MIME typeÀ¸·Î Expires Çì´õ°ªÀ» ¼³Á¤ÇÑ´Ù
ExpiresDefault <code>secondssvdhE
¸¸±â½Ã°£À» °è»êÇÏ´Â ±âº» ¾Ë°í¸®Áò
ExtendedStatus On|Off Off[*] sC
Keep track of extended status information for each +request
ExtFilterDefine filtername parameterssE
¿ÜºÎ ÇÊÅ͸¦ Á¤ÀÇÇÑ´Ù
ExtFilterOptions option [option] ... DebugLevel=0 NoLogS +dE
mod_ext_filter ¿É¼ÇÀ» ¼³Á¤ÇÑ´Ù
svdhB
Define a default URL for requests that don't map to a file
FileETag component ... MTime Size svdhC
File attributes used to create the ETag +HTTP response header for static files
<Files filename> ... </Files>svdhC
Contains directives that apply to matched +filenames
<FilesMatch regex> ... </FilesMatch>svdhC
Contains directives that apply to regular-expression matched +filenames
FilterChain [+=-@!]filter-name ...svdhB
Configure the filter chain
FilterDeclare filter-name [type]svdhB
Declare a smart filter
FilterProtocol filter-name [provider-name] + proto-flagssvdhB
Deal with correct HTTP protocol handling
FilterProvider filter-name provider-name + expressionsvdhB
Register a content filter
FilterTrace filter-name levelsvdB
Get debug/diagnostic information from + mod_filter
FlushMaxPipelined number 5 svC
Maximum number of pipelined responses above which they are flushed +to the network
FlushMaxThreshold number-of-bytes 65536 svC
Threshold above which pending data are flushed to the +network
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
Action to take if a single acceptable document is not +found
ForceType media-type|NonedhC
Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field
ForensicLog filename|pipesvE
Sets filename of the forensic log
GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]sB
Sets filename and format of log file
GprofDir /tmp/gprof/|/tmp/gprof/%svC
Directory to write gmon.out profiling data to.
GracefulShutdownTimeout seconds 0 sM
Specify a timeout after which a gracefully shutdown server +will exit.
Group unix-group #-1 sB
Group under which the server will answer +requests
H2CopyFiles on|off off svdhE
Determine file handling in responses
H2Direct on|off on for h2c, off for +svE
H2 Direct Protocol Switch
H2EarlyHints on|off off svE
Determine sending of 103 status codes
H2MaxSessionStreams n 100 svE
Maximum number of active streams per HTTP/2 session.
H2MaxWorkerIdleSeconds n 600 sE
Maximum number of seconds h2 workers remain idle until shut down.
H2MaxWorkers nsE
Maximum number of worker threads to use per child process.
H2MinWorkers nsE
Minimal number of worker threads to use per child process.
H2ModernTLSOnly on|off on svE
Require HTTP/2 connections to be "modern TLS" only
H2OutputBuffering on|off on svE
Determine buffering behaviour of output
H2Padding numbits 0 svE
Determine the range of padding bytes added to payload frames
H2Push on|off on svdhE
H2 Server Push Switch
H2PushDiarySize n 256 svE
H2 Server Push Diary Size
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 svE
H2 Server Push Priority
H2PushResource [add] path [critical]svdhE
Declares resources for early pushing to the client
H2SerializeHeaders on|off off svE
Serialize Request/Response Processing Switch
H2StreamMaxMemSize bytes 65536 svE
Maximum amount of output data buffered per stream.
H2TLSCoolDownSecs seconds 1 svE
Configure the number of seconds of idle time on TLS before shrinking writes
H2TLSWarmUpSize amount 1048576 svE
Configure the number of bytes on TLS connection before doing max writes
H2Upgrade on|off on for h2c, off for +svdhE
H2 Upgrade Protocol Switch
H2WindowSize bytes 65535 svE
Size of Stream Window for upstream data.
Header [condition] set|append|add|unset|echo +header [value] [early|env=[!]variable]svdhE
HTTP ÀÀ´ä Çì´õ¸¦ ±¸¼ºÇÑ´Ù
HeaderName filenamesvdhB
ÆÄÀϸñ·Ï À§¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§
HeartbeatAddress addr:portsX
Multicast address for heartbeat packets
HeartbeatListen addr:portsX
multicast address to listen for incoming heartbeat requests
HeartbeatMaxServers number-of-servers 10 sX
Specifies the maximum number of servers that will be sending +heartbeat requests to this server
HeartbeatStorage file-path logs/hb.dat sX
Path to store heartbeat data when using flat-file storage
HeartbeatStorage file-path logs/hb.dat sX
Path to read heartbeat data
HostnameLookups On|Off|Double Off svdC
Enables DNS lookups on client IP addresses
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +svC
Modify restrictions on HTTP Request Messages
IdentityCheck On|Off Off svdE
¿ø°Ý »ç¿ëÀÚÀÇ RFC 1413 ½Å¿øÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù
IdentityCheckTimeout seconds 30 svdE
ident ¿äûÀÇ ½Ã°£Á¦ÇÑÀ» ÁöÁ¤ÇÑ´Ù
<If expression> ... </If>svdhC
Contains directives that apply only if a condition is +satisfied by a request at runtime
<IfDefine [!]parameter-name> ... + </IfDefine>svdhC
Encloses directives that will be processed only +if a test is true at startup
<IfDirective [!]directive-name> ... + </IfDirective>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific directive
<IfFile [!]filename> ... + </IfFile>svdhC
Encloses directives that will be processed only +if file exists at startup
<IfModule [!]module-file|module-identifier> ... + </IfModule>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific module
<IfSection [!]section-name> ... + </IfSection>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific section directive
<IfVersion [[!]operator] version> ... +</IfVersion>svdhE
¹öÀüº° ¼³Á¤À» ¹­´Â´Ù
ImapBase map|referer|URL http://servername/ svdhB
À̹ÌÁö¸Ê ÆÄÀÏ¿¡¼­ base ±âº»°ª
ImapDefault error|nocontent|map|referer|URL nocontent svdhB
À̹ÌÁö¸Ê¿¡ ¾î´À ¿µ¿ª¿¡µµ ÇØ´çÇÏÁö ¾Ê´Â ÁÂÇ¥¸¦ ÁØ +°æ¿ì ±âº» Çൿ
ImapMenu none|formatted|semiformatted|unformattedsvdhB
ÁÂÇ¥¾øÀÌ À̹ÌÁö¸Ê ¿äû½Ã ÃëÇÒ Çൿ
Include file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IncludeOptional file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
svdhB
Inserts text in the HEAD section of an index page.
IndexIgnore file [file] ...svdhB
µð·ºÅ丮 ¸ñ·Ï¿¡¼­ ¼û±æ ÆÄÀϸñ·ÏÀ» Ãß°¡ÇÑ´Ù
IndexIgnoreReset ON|OFFsvdhB
Empties the list of files to hide when listing +a directory
IndexOptions [+|-]option [[+|-]option] +...svdhB
µð·ºÅ丮 ¸ñ·ÏÀÇ ¿©·¯ ¼³Á¤µé
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
µð·ºÅ丮 ¸ñ·ÏÀÇ ±âº» ¼ø¼­¸¦ ¼³Á¤ÇÑ´Ù
IndexStyleSheet url-pathsvdhB
µð·ºÅ丮 ¸ñ·Ï¿¡ CSS ½ºÅ¸ÀϽ¬Æ®¸¦ Ãß°¡ÇÑ´Ù
InputSed sed-commanddhX
Sed command to filter request data (typically POST data)
ISAPIAppendLogToErrors on|off off svdhB
ISAPI exntensionÀÇ HSE_APPEND_LOG_PARAMETER +¿äûÀ» ¿À·ù ·Î±×¿¡ ±â·ÏÇÑ´Ù
ISAPIAppendLogToQuery on|off on svdhB
ISAPI exntensionÀÇ HSE_APPEND_LOG_PARAMETER +¿äûÀ» ÁúÀǹ®ÀÚ¿­¿¡ ±â·ÏÇÑ´Ù
ISAPICacheFile file-path [file-path] +...svB
¼­¹ö°¡ ½ÃÀÛÇÒ¶§ ¸Þ¸ð¸®·Î ÀоîµéÀÏ ISAPI .dll ÆÄÀϵé
ISAPIFakeAsync on|off off svdhB
ºñµ¿±â ISAPI ÄݹéÀ» Áö¿øÇϴ ôÇÑ´Ù
ISAPILogNotSupported on|off off svdhB
ISAPI extensionÀÌ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀ» ¿äûÇϸé +·Î±×¿¡ ±â·ÏÇÑ´Ù
ISAPIReadAheadBuffer size 49152 svdhB
ISAPI extensionÀÇ ¹Ì¸®Àбâ¹öÆÛ(read ahead buffer) +Å©±â
KeepAlive On|Off On svC
Enables HTTP persistent connections
KeepAliveTimeout num[ms] 5 svC
Amount of time the server will wait for subsequent +requests on a persistent connection
KeptBodySize maximum size in bytes 0 dB
Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.
LanguagePriority MIME-lang [MIME-lang] +...svdhB
The precedence of language variants for cases where +the client does not express a preference
LDAPCacheEntries number 1024 sE
Maximum number of entries in the primary LDAP cache
LDAPCacheTTL seconds 600 sE
Time that cached items remain valid
LDAPConnectionPoolTTL n -1 svE
Discard backend connections that have been sitting in the connection pool too long
LDAPConnectionTimeout secondssE
Specifies the socket connection timeout in seconds
LDAPLibraryDebug 7sE
Enable debugging in the LDAP SDK
LDAPOpCacheEntries number 1024 sE
Number of entries used to cache LDAP compare +operations
LDAPOpCacheTTL seconds 600 sE
Time that entries in the operation cache remain +valid
LDAPReferralHopLimit numberdhE
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferrals On|Off|default On dhE
Enable referral chasing during queries to the LDAP server.
LDAPRetries number-of-retries 3 sE
Configures the number of LDAP server retries.
LDAPRetryDelay seconds 0 sE
Configures the delay between LDAP server retries.
LDAPSharedCacheFile directory-path/filenamesE
Sets the shared memory cache file
LDAPSharedCacheSize bytes 500000 sE
Size in bytes of the shared-memory cache
LDAPTimeout seconds 60 sE
Specifies the timeout for LDAP search and bind operations, in seconds
LDAPTrustedClientCert type directory-path/filename/nickname [password]dhE
Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
LDAPTrustedGlobalCert type directory-path/filename [password]sE
Sets the file or database containing global trusted +Certificate Authority or global client certificates
LDAPTrustedMode typesvE
Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
LDAPVerifyServerCert On|Off On sE
Force server certificate verification
<Limit method [method] ... > ... + </Limit>dhC
Restrict enclosed access controls to only certain HTTP +methods
<LimitExcept method [method] ... > ... + </LimitExcept>dhC
Restrict access controls to all HTTP methods +except the named ones
LimitInternalRecursion number [number] 10 svC
Determine maximum number of internal redirects and nested +subrequests
LimitRequestBody bytes 1073741824 svdhC
Restricts the total size of the HTTP request body sent +from the client
LimitRequestFields number 100 svC
Limits the number of HTTP request header fields that +will be accepted from the client
LimitRequestFieldSize bytes 8190 svC
Limits the size of the HTTP request header allowed from the +client
LimitRequestLine bytes 8190 svC
Limit the size of the HTTP request line that will be accepted +from the client
LimitXMLRequestBody bytes 1000000 svdhC
Limits the size of an XML-based request body
Listen [IP-address:]portnumber [protocol]sM
IP addresses and ports that the server +listens to
ListenBackLog backlog 511 sM
Maximum length of the queue of pending connections
ListenCoresBucketsRatio ratio 0 (disabled) sM
Ratio between the number of CPU cores (online) and the number of +listeners' buckets
LoadFile filename [filename] ...sE
ÁöÁ¤ÇÑ ¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀδÙ
LoadModule module filenamesE
¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀÌ°í, »ç¿ë°¡´ÉÇÑ +¸ðµâ ¸ñ·Ï¿¡ Ãß°¡ÇÑ´Ù
<Location + URL-path|URL> ... </Location>svC
Applies the enclosed directives only to matching +URLs
<LocationMatch + regex> ... </LocationMatch>svC
Applies the enclosed directives only to regular-expression +matching URLs
LogFormat format|nickname +[nickname] "%h %l %u %t \"%r\" +svB
·Î±×ÆÄÀÏ¿¡ »ç¿ëÇÒ Çü½ÄÀ» ±â¼úÇÑ´Ù
LogIOTrackTTFB ON|OFF OFF svdhE
Enable tracking of time to first byte (TTFB)
LogLevel [module:]level + [module:level] ... + warn svdC
Controls the verbosity of the ErrorLog
LogMessage message +[hook=hook] [expr=expression] +dX
Log user-defined message to error log +
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Plug an authorization provider function into mod_authz_core +
LuaCodeCache stat|forever|never stat svdhE
Configure the compiled code cache.
LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the access_checker phase of request processing
LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the check_user_id phase of request processing
LuaHookFixups /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFilter /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the insert_filter phase of request processing
LuaHookLog /path/to/lua/script.lua log_function_namesvdhE
Provide a hook for the access log phase of a request +processing
LuaHookMapToStorage /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslate /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]svE
Provide a hook for the translate name phase of request processing
LuaHookTypeChecker /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the type_checker phase of request processing
LuaInherit none|parent-first|parent-last parent-first svdhE
Controls how parent configuration sections are merged into children
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content input filtering
LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]svdhE
Map a path to a lua handler
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content output filtering
LuaPackageCPath /path/to/include/?.soasvdhE
Add a directory to lua's package.cpath
LuaPackagePath /path/to/include/?.luasvdhE
Add a directory to lua's package.path
LuaQuickHandler /path/to/script.lua hook_function_namesvE
Provide a hook for the quick handler of request processing
LuaRoot /path/to/a/directorysvdhE
Specify the base path for resolving relative paths for mod_lua directives
LuaScope once|request|conn|thread|server [min] [max] once svdhE
One of once, request, conn, thread -- default is once
+<Macro name [par1 .. parN]> +... </Macro>svdB
Define a configuration file macro
MaxConnectionsPerChild number 0 sM
Limit on the number of connections that an individual child server +will handle during its life
MaxKeepAliveRequests number 100 svC
Number of requests allowed on a persistent +connection
MaxMemFree KBytes 2048 sM
Maximum amount of memory that the main allocator is allowed +to hold without calling free()
MaxRangeOverlaps default | unlimited | none | number-of-ranges 20 svdC
Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
MaxRangeReversals default | unlimited | none | number-of-ranges 20 svdC
Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
MaxRanges default | unlimited | none | number-of-ranges 200 svdC
Number of ranges allowed before returning the complete +resource
MaxRequestWorkers numbersM
Maximum number of connections that will be processed +simultaneously
MaxSpareServers number 10 sM
Maximum number of idle child server processes
MaxSpareThreads numbersM
Maximum number of idle threads
MaxThreads number 2048 sM
Set the maximum number of worker threads
MDActivationDelay durationsX
-
MDBaseServer on|off off sX
Control if base server may be managed or only virtual hosts.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sX
Type of ACME challenge used to prove domain ownership.
MDCertificateAgreement acceptedsX
You confirm that you accepted the Terms of Service of the Certificate + Authority.
MDCertificateAuthority url letsencrypt sX
The URL(s) of the ACME Certificate Authority to use.
MDCertificateCheck name urlsX
-
MDCertificateFile path-to-pem-filesX
Specify a static certificate file for the MD.
MDCertificateKeyFile path-to-filesX
Specify a static private key for for the static cerrtificate.
MDCertificateMonitor name url crt.sh https://crt. +sX
The URL of a certificate log monitor.
MDCertificateProtocol protocol ACME sX
The protocol to use with the Certificate Authority.
MDCertificateStatus on|off on sX
Exposes public certificate information in JSON.
MDChallengeDns01 path-to-commandsX
-
MDContactEmail addresssX
-
MDDriveMode always|auto|manual auto sX
former name of MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sX
-
MDHttpProxy urlsX
Define a proxy for outgoing connections.
MDMember hostnamesX
Additional hostname for the managed domain.
MDMembers auto|manual auto sX
Control if the alias domain names are automatically added.
MDMessageCmd path-to-cmd optional-argssX
Handle events for Manage Domains
MDMustStaple on|off off sX
Control if new certificates carry the OCSP Must Staple flag.
MDNotifyCmd path [ args ]sX
Run a program when a Managed Domain is ready.
MDomain dns-name [ other-dns-name... ] [auto|manual]sX
Define list of domain names that belong to one group.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sX
Container for directives applied to the same managed domains.
MDPortMap map1 [ map2 ] http:80 https:443 sX
Map external to internal ports for domain ownership verification.
MDPrivateKeys type [ params... ] RSA 2048 sX
Set type and size of the private keys generated.
MDRenewMode always|auto|manual auto sX
Controls if certificates shall be renewed.
MDRenewWindow duration 33% sX
Control when a certificate will be renewed.
MDRequireHttps off|temporary|permanent off sX
Redirects http: traffic to https: for Managed Domains.
MDRetryDelay duration 5s sX
-
MDRetryFailover number 13 sX
-
MDServerStatus on|off on sX
Control if Managed Domain information is added to server-status.
MDStapleOthers on|off on sX
Enable stapling for certificates not managed by mod_md.
MDStapling on|off off sX
Enable stapling for all or a particular MDomain.
MDStaplingKeepResponse duration 7d sX
Controls when old responses should be removed.
MDStaplingRenewWindow duration 33% sX
Control when the stapling responses will be renewed.
MDStoreDir path md sX
Path on the local file system to store the Managed Domains data.
MDStoreLocks on|off|duration off sX
-
MDWarnWindow duration 10% sX
Define the time window when you want to be warned about an expiring certificate.
MemcacheConnTTL num[units] 15s svE
Keepalive time for idle connections
MergeSlashes ON|OFF ON svC
Controls whether the server merges consecutive slashes in URLs. +
MergeTrailers [on|off] off svC
Determines whether trailers are merged into headers
MetaDir directory .web svdhE
CERN ¸ÞŸÁ¤º¸¸¦ ãÀ» µð·ºÅ丮 À̸§
MetaFiles on|off off svdhE
CERN ¸ÞŸÆÄÀÏÀ» ó¸®ÇÑ´Ù
MetaSuffix suffix .meta svdhE
CERN ¸ÞŸÁ¤º¸¸¦ ÀúÀåÇÏ´Â ÆÄÀÏÀÇ Á¢¹Ì»ç
MimeMagicFile file-pathsvE
Enable MIME-type determination based on file contents +using the specified magic file
MinSpareServers number 5 sM
Minimum number of idle child server processes
MinSpareThreads numbersM
Minimum number of idle threads available to handle request +spikes
MMapFile file-path [file-path] ...sX
½ÃÀ۽à ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù
ModemStandard V.21|V.26bis|V.32|V.34|V.92dX
Modem standard to simulate
ModMimeUsePathInfo On|Off Off dB
Tells mod_mime to treat path_info +components as part of the filename
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly svdhB
The types of files that will be included when searching for +a matching file with MultiViews
Mutex mechanism [default|mutex-name] ... [OmitPID] default sC
Configures mutex mechanism and lock file directory for all +or specified mutexes
NameVirtualHost addr[:port]sC
DEPRECATED: Designates an IP address for name-virtual +hosting
NoProxy host [host] ...svE
Hosts, domains, or networks that will be connected to +directly
NWSSLTrustedCerts filename [filename] ...sB
List of additional client certificates
NWSSLUpgradeable [IP-address:]portnumbersB
Allows a connection to be upgraded to an SSL connection upon request
Options + [+|-]option [[+|-]option] ... FollowSymlinks svdhC
Configures what features are available in a particular +directory
Order ordering Deny,Allow dhE
Controls the default access state and the order in which +Allow and Deny are +evaluated.
OutputSed sed-commanddhX
Sed command for filtering response content
PassEnv env-variable [env-variable] +...svdhB
½©¿¡¼­ ȯ°æº¯¼ö¸¦ °¡Á®¿Â´Ù
PidFile filename logs/httpd.pid sM
File where the server records the process ID +of the daemon
PrivilegesMode FAST|SECURE|SELECTIVE FAST svdX
Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Protocol protocolsvC
Protocol for a listening socket
ProtocolEcho On|OffsvX
echo ¼­¹ö¸¦ Å°°í ²ö´Ù
Protocols protocol ... http/1.1 svC
Protocols available for a server/virtual host
ProtocolsHonorOrder On|Off On svC
Determines if order of Protocols determines precedence during negotiation
<Proxy wildcard-url> ...</Proxy>svE
Container for directives applied to proxied resources
Proxy100Continue Off|On On svdE
Forward 100-continue expectation to the origin server
ProxyAddHeaders Off|On On svdE
Add proxy information in X-Forwarded-* headers
ProxyBadHeader IsError|Ignore|StartBody IsError svE
Determines how to handle bad header lines in a +response
ProxyBlock *|word|host|domain +[word|host|domain] ...svE
Words, hosts, or domains that are banned from being +proxied
ProxyDomain DomainsvE
Default domain name for proxied requests
ProxyErrorOverride Off|On [code ...] Off svdE
Override error pages for proxied content
ProxyExpressDBMFile pathnamesvE
Pathname to DBM file.
ProxyExpressDBMType type default svE
DBM type of file.
ProxyExpressEnable on|off off svE
Enable the module functionality.
ProxyFCGIBackendType FPM|GENERIC FPM svdhE
Specify the type of backend FastCGI application
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]svdhE
Allow variables sent to FastCGI servers to be fixed up
ProxyFtpDirCharset character_set ISO-8859-1 svdE
Define the character set for proxied FTP listings
ProxyFtpEscapeWildcards on|off on svdE
Whether wildcards in requested filenames are escaped when sent to the FTP server
ProxyFtpListOnWildcard on|off on svdE
Whether wildcards in requested filenames trigger a file listing
ProxyHCExpr name {ap_expr expression}svE
Creates a named condition expression to use to determine health of the backend based on its response
ProxyHCTemplate name parameter=setting [...]svE
Creates a named template for setting various health check parameters
ProxyHCTPsize size 16 sE
Sets the total server-wide size of the threadpool used for the health check workers
ProxyHTMLBufSize bytes 8192 svdB
Sets the buffer size increment for buffering inline scripts and +stylesheets.
ProxyHTMLCharsetOut Charset | *svdB
Specify a charset for mod_proxy_html output.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
svdB
Sets an HTML or XHTML document type declaration.
ProxyHTMLEnable On|Off Off svdB
Turns the proxy_html filter on or off.
ProxyHTMLEvents attribute [attribute ...]svdB
Specify attributes to treat as scripting events.
ProxyHTMLExtended On|Off Off svdB
Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
ProxyHTMLFixups [lowercase] [dospath] [reset]svdB
Fixes for simple HTML errors.
ProxyHTMLInterp On|Off Off svdB
Enables per-request interpolation of +ProxyHTMLURLMap rules.
ProxyHTMLLinks element attribute [attribute2 ...]svdB
Specify HTML elements that have URL attributes to be rewritten.
ProxyHTMLMeta On|Off Off svdB
Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
ProxyHTMLStripComments On|Off Off svdB
Determines whether to strip HTML comments.
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]svdB
Defines a rule to rewrite HTML links
ProxyIOBufferSize bytes 8192 svE
Determine size of internal data throughput buffer
<ProxyMatch regex> ...</ProxyMatch>svE
Container for directives applied to regular-expression-matched +proxied resources
ProxyMaxForwards number -1 svE
Maximum number of proxies that a request can be forwarded +through
ProxyPass [path] !|url [key=value + [key=value ...]] [nocanon] [interpolate] [noquery]svdE
Maps remote servers into the local server URL-space
ProxyPassInherit On|Off On svE
Inherit ProxyPass directives defined from the main server
ProxyPassInterpolateEnv On|Off Off svdE
Enable Environment Variable interpolation in Reverse Proxy configurations
ProxyPassMatch [regex] !|url [key=value + [key=value ...]]svdE
Maps remote servers into the local server URL-space using regular expressions
ProxyPassReverse [path] url +[interpolate]svdE
Adjusts the URL in HTTP response headers sent from a reverse +proxied server
ProxyPassReverseCookieDomain internal-domain +public-domain [interpolate]svdE
Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server
ProxyPassReverseCookiePath internal-path +public-path [interpolate]svdE
Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server
ProxyPreserveHost On|Off Off svdE
Use incoming Host HTTP request header for proxy +request
ProxyReceiveBufferSize bytes 0 svE
Network buffer size for proxied HTTP and FTP +connections
ProxyRemote match remote-serversvE
Remote proxy used to handle certain requests
ProxyRemoteMatch regex remote-serversvE
Remote proxy used to handle requests matched by regular +expressions
ProxyRequests On|Off Off svE
Enables forward (standard) proxy requests
ProxySCGIInternalRedirect On|Off|Headername On svdE
Enable or disable internal redirect responses from the +backend
ProxySCGISendfile On|Off|Headername Off svdE
Enable evaluation of X-Sendfile pseudo response +header
ProxySet url key=value [key=value ...]svdE
Set various Proxy balancer or member parameters
ProxySourceAddress addresssvE
Set local IP address for outgoing proxy connections
ProxyStatus Off|On|Full Off svE
Show Proxy LoadBalancer status in mod_status
ProxyTimeout secondssvE
Network timeout for proxied requests
ProxyVia On|Off|Full|Block Off svE
Information provided in the Via HTTP response +header for proxied requests
ProxyWebsocketFallbackToProxyHttp On|Off On svE
Instructs this module to let mod_proxy_http handle the request
QualifyRedirectURL On|Off Off svdC
Controls whether the REDIRECT_URL environment variable is + fully qualified
ReadBufferSize bytes 8192 svdC
Size of the buffers used to read data
ReadmeName filenamesvdhB
ÆÄÀϸñ·Ï ¸¶Áö¸·¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§
ReceiveBufferSize bytes 0 sM
TCP receive buffer size
Redirect [status] URL-path +URLsvdhB
Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ +¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù
RedirectMatch [status] regex +URLsvdhB
ÇöÀç URLÀÌ Á¤±ÔÇ¥Çö½Ä¿¡ ÇØ´çÇÏ¸é ¿ÜºÎ ¸®´ÙÀÌ·º¼ÇÀ» +º¸³½´Ù
RedirectPermanent URL-path URLsvdhB
Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ +¿µ±¸ ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù
RedirectTemp URL-path URLsvdhB
Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ +Àӽà ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù
RedisConnPoolTTL num[units] 15s svE
TTL used for the connection pool with the Redis server(s)
RedisTimeout num[units] 5s svE
R/W timeout used for the connection with the Redis server(s)
ReflectorHeader inputheader [outputheader]svdhB
Reflect an input header to the output headers
RegexDefaultOptions [none] [+|-]option [[+|-]option] ... DOTALL DOLLAR_ENDON +sC
Allow to configure global/default options for regexes
RegisterHttpMethod method [method [...]]sC
Register non-standard HTTP methods
RemoteIPHeader header-fieldsvB
Declare the header field which should be parsed for useragent IP addresses
RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPInternalProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPProxiesHeader HeaderFieldNamesvB
Declare the header field which will record all intermediate IP addresses
RemoteIPProxyProtocol On|OffsvB
Enable or disable PROXY protocol handling
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]svB
Disable processing of PROXY header for certain hosts or networks
RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPTrustedProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoveCharset extension [extension] +...vdhB
Removes any character set associations for a set of file +extensions
RemoveEncoding extension [extension] +...vdhB
Removes any content encoding associations for a set of file +extensions
RemoveHandler extension [extension] +...vdhB
Removes any handler associations for a set of file +extensions
RemoveInputFilter extension [extension] +...vdhB
Removes any input filter associations for a set of file +extensions
RemoveLanguage extension [extension] +...vdhB
Removes any language associations for a set of file +extensions
RemoveOutputFilter extension [extension] +...vdhB
Removes any output filter associations for a set of file +extensions
RemoveType extension [extension] +...vdhB
Removes any content type associations for a set of file +extensions
RequestHeader set|append|add|unset header +[value] [early|env=[!]variable]svdhE
HTTP ¿äû Çì´õ¸¦ ±¸¼ºÇÑ´Ù
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] + handshake=0 header= +svE
Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Require [not] entity-name + [entity-name] ...dhB
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll> ... </RequireAll>dhB
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny> ... </RequireAny>dhB
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone> ... </RequireNone>dhB
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
RewriteBase URL-pathdhE
Sets the base URL for per-directory rewrites
RewriteCond + TestString CondPattern [flags]svdhE
Defines a condition under which rewriting will take place +
RewriteEngine on|off off svdhE
Enables or disables runtime rewriting engine
RewriteMap MapName MapType:MapSource + [MapTypeOptions] +svE
Defines a mapping function for key-lookup
RewriteOptions OptionssvdhE
Sets some special options for the rewrite engine
RewriteRule + Pattern Substitution [flags]svdhE
Defines rules for the rewriting engine
RLimitCPU seconds|max [seconds|max]svdhC
Limits the CPU consumption of processes launched +by Apache httpd children
RLimitMEM bytes|max [bytes|max]svdhC
Limits the memory consumption of processes launched +by Apache httpd children
RLimitNPROC number|max [number|max]svdhC
Limits the number of processes that can be launched by +processes launched by Apache httpd children
Satisfy Any|All All dhE
Interaction between host-level access control and +user authentication
ScoreBoardFile file-path logs/apache_runtime +sM
Location of the file used to store coordination data for +the child processes
Script method cgi-scriptsvdB
ƯÁ¤ ¿äû¸Þ¼­µå¿¡ ´ëÇØ CGI ½ºÅ©¸³Æ®¸¦ +»ç¿ëÇÑ´Ù.
ScriptAlias URL-path +file-path|directory-pathsvB
URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÏ°í ´ë»óÀÌ CGI +½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù
ScriptAliasMatch regex +file-path|directory-pathsvB
Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î +´ëÀÀÇÏ°í ´ë»óÀÌ CGI ½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù
ScriptInterpreterSource Registry|Registry-Strict|Script Script svdhC
Technique for locating the interpreter for CGI +scripts
ScriptLog file-pathsvB
CGI ½ºÅ©¸³Æ® ¿À·ù·Î±×ÆÄÀÏÀÇ À§Ä¡
ScriptLogBuffer bytes 1024 svB
½ºÅ©¸³Æ® ·Î±×¿¡ ±â·ÏÇÒ PUT ȤÀº POST ¿äûÀÇ ÃÖ´ë·®
ScriptLogLength bytes 10385760 svB
CGI ½ºÅ©¸³Æ® ·Î±×ÆÄÀÏÀÇ Å©±â Á¦ÇÑ
ScriptSock file-path logs/cgisock svB
cgi µ¥¸ó°ú Åë½ÅÀ» À§ÇØ »ç¿ëÇÒ ¼ÒÄÏÀÇ À̸§
SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]sB
Enables SSL encryption for the specified port
SeeRequestTail On|Off Off sC
Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
SendBufferSize bytes 0 sM
TCP buffer size
ServerAdmin email-address|URLsvC
Email address that the server includes in error +messages sent to the client
ServerAlias hostname [hostname] ...vC
Alternate names for a host used when matching requests +to name-virtual hosts
ServerLimit numbersM
Upper limit on configurable number of processes
ServerName [scheme://]domain-name|ip-address[:port]svC
Hostname and port that the server uses to identify +itself
ServerPath URL-pathvC
Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser
ServerRoot directory-path /usr/local/apache sC
Base directory for the server installation
ServerSignature On|Off|EMail Off svdhC
Configures the footer on server-generated documents
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sC
Configures the Server HTTP response +header
Session On|Off Off svdhE
Enables a session for the current directory or location
SessionCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session
SessionCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session
SessionCookieRemove On|Off Off svdhE
Control for whether session cookies should be removed from incoming HTTP headers
SessionCryptoCipher name aes256 svdhX
The crypto cipher to be used to encrypt the session
SessionCryptoDriver name [param[=value]]sX
The crypto driver to be used to encrypt the session
SessionCryptoPassphrase secret [ secret ... ] svdhX
The key used to encrypt the session
SessionCryptoPassphraseFile filenamesvdX
File containing keys used to encrypt the session
SessionDBDCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session ID
SessionDBDCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session ID
SessionDBDCookieRemove On|Off On svdhE
Control for whether session ID cookies should be removed from incoming HTTP headers
SessionDBDDeleteLabel label deletesession svdhE
The SQL query to use to remove sessions from the database
SessionDBDInsertLabel label insertsession svdhE
The SQL query to use to insert sessions into the database
SessionDBDPerUser On|Off Off svdhE
Enable a per user session
SessionDBDSelectLabel label selectsession svdhE
The SQL query to use to select sessions from the database
SessionDBDUpdateLabel label updatesession svdhE
The SQL query to use to update existing sessions in the database
SessionEnv On|Off Off svdhE
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionExclude pathsvdhE
Define URL prefixes for which a session is ignored
SessionExpiryUpdateInterval interval 0 (always update) svdhE
Define the number of seconds a session's expiry may change without +the session being updated
SessionHeader headersvdhE
Import session updates from a given HTTP response header
SessionInclude pathsvdhE
Define URL prefixes for which a session is valid
SessionMaxAge maxage 0 svdhE
Define a maximum age in seconds for a session
SetEnv env-variable valuesvdhB
ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù
SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
¿äûÀÇ ¼ºÁú¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù
svdhB
Sets environment variables based on an ap_expr expression
SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í ¿äûÀÇ ¼ºÁú¿¡ µû¶ó ȯ°æº¯¼ö¸¦ +¼³Á¤ÇÑ´Ù
SetHandler handler-name|none|expressionsvdhC
Forces all matching files to be processed by a +handler
SetInputFilter filter[;filter...]svdhC
Sets the filters that will process client requests and POST +input
SetOutputFilter filter[;filter...]svdhC
Sets the filters that will process responses from the +server
SSIEndTag tag "-->" svB
String that ends an include element
SSIErrorMsg message "[an error occurred +svdhB
Error message displayed when there is an SSI +error
SSIETag on|off off dhB
Controls whether ETags are generated by the server.
SSILastModified on|off off dhB
Controls whether Last-Modified headers are generated by the +server.
SSILegacyExprParser on|off off dhB
Enable compatibility mode for conditional expressions.
SSIStartTag tag "<!--#" svB
String that starts an include element
SSITimeFormat formatstring "%A, %d-%b-%Y %H:%M +svdhB
Configures the format in which date strings are +displayed
SSIUndefinedEcho string "(none)" svdhB
String displayed when an unset variable is echoed
SSLCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Client Auth
SSLCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Client Auth
SSLCADNRequestFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
SSLCADNRequestPath directory-pathsvE
Directory of PEM-encoded CA Certificates for +defining acceptable CA names
SSLCARevocationCheck chain|leaf|none [flags ...] none svE
Enable CRL-based revocation checking
SSLCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Client Auth
SSLCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Client Auth
SSLCertificateChainFile file-pathsvE
File of PEM-encoded Server CA Certificates
SSLCertificateFile file-path|certidsvE
Server PEM-encoded X.509 certificate data file or token identifier
SSLCertificateKeyFile file-path|keyidsvE
Server PEM-encoded private key file
SSLCipherSuite [protocol] cipher-spec DEFAULT (depends on +svdhE
Cipher Suite available for negotiation in SSL +handshake
SSLCompression on|off off svE
Enable compression on the SSL level
SSLCryptoDevice engine builtin sE
Enable use of a cryptographic hardware accelerator
SSLEngine on|off|optional off svE
SSL Engine Operation Switch
SSLFIPS on|off off sE
SSL FIPS mode Switch
SSLHonorCipherOrder on|off off svE
Option to prefer the server's cipher preference order
SSLInsecureRenegotiation on|off off svE
Option to enable support for insecure renegotiation
SSLOCSPDefaultResponder urisvE
Set the default responder URI for OCSP validation
SSLOCSPEnable on|leaf|off off svE
Enable OCSP validation of the client certificate chain
SSLOCSPNoverify on|off off svE
skip the OCSP responder certificates verification
SSLOCSPOverrideResponder on|off off svE
Force use of the default responder URI for OCSP validation
SSLOCSPProxyURL urlsvE
Proxy URL to use for OCSP requests
SSLOCSPResponderCertificateFile filesvE
Set of trusted PEM encoded OCSP responder certificates
SSLOCSPResponderTimeout seconds 10 svE
Timeout for OCSP queries
SSLOCSPResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP responses
SSLOCSPResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP response validation
SSLOCSPUseRequestNonce on|off on svE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd command-name command-valuesvE
Configure OpenSSL parameters through its SSL_CONF API
SSLOptions [+|-]option ...svdhE
Configure various SSL engine run-time options
SSLPassPhraseDialog type builtin sE
Type of pass phrase dialog for encrypted private +keys
SSLProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL/TLS protocol versions
SSLProxyCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
SSLProxyCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Remote Server Auth
SSLProxyCARevocationCheck chain|leaf|none none svE
Enable CRL-based revocation checking for Remote Server Auth
SSLProxyCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCheckPeerCN on|off on svE
Whether to check the remote server certificate's CN field +
SSLProxyCheckPeerExpire on|off on svE
Whether to check if remote server certificate is expired +
SSLProxyCheckPeerName on|off on svE
Configure host name checking for remote server certificates +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +svE
Cipher Suite available for negotiation in SSL +proxy handshake
SSLProxyEngine on|off off svE
SSL Proxy Engine Operation Switch
SSLProxyMachineCertificateChainFile filenamesvE
File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
SSLProxyMachineCertificateFile filenamesvE
File of concatenated PEM-encoded client certificates and keys to be used by the proxy
SSLProxyMachineCertificatePath directorysvE
Directory of PEM-encoded client certificates and keys to be used by the proxy
SSLProxyProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL protocol flavors for proxy usage
SSLProxyVerify level none svE
Type of remote server Certificate verification
SSLProxyVerifyDepth number 1 svE
Maximum depth of CA Certificates in Remote Server +Certificate verification
SSLRandomSeed context source +[bytes]sE
Pseudo Random Number Generator (PRNG) seeding +source
SSLRenegBufferSize bytes 131072 dhE
Set the size for the SSL renegotiation buffer
SSLRequire expressiondhE
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLdhE
Deny access when SSL is not used for the +HTTP request
SSLSessionCache type none sE
Type of the global/inter-process SSL Session +Cache
SSLSessionCacheTimeout seconds 300 svE
Number of seconds before an SSL session expires +in the Session Cache
SSLSessionTicketKeyFile file-pathsvE
Persistent encryption/decryption key for TLS session tickets
SSLSessionTickets on|off on svE
Enable or disable use of TLS session tickets
SSLSRPUnknownUserSeed secret-stringsvE
SRP unknown user seed
SSLSRPVerifierFile file-pathsvE
Path to SRP verifier file
SSLStaplingCache typesE
Configures the OCSP stapling cache
SSLStaplingErrorCacheTimeout seconds 600 svE
Number of seconds before expiring invalid responses in the OCSP stapling cache
SSLStaplingFakeTryLater on|off on svE
Synthesize "tryLater" responses for failed OCSP stapling queries
SSLStaplingForceURL urisvE
Override the OCSP responder URI specified in the certificate's AIA extension
SSLStaplingResponderTimeout seconds 10 svE
Timeout for OCSP stapling queries
SSLStaplingResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP stapling responses
SSLStaplingResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP stapling response validation
SSLStaplingReturnResponderErrors on|off on svE
Pass stapling related OCSP errors on to client
SSLStaplingStandardCacheTimeout seconds 3600 svE
Number of seconds before expiring responses in the OCSP stapling cache
SSLStrictSNIVHostCheck on|off off svE
Whether to allow non-SNI clients to access a name-based virtual +host. +
SSLUserName varnamesdhE
Variable name to determine user name
SSLUseStapling on|off off svE
Enable stapling of OCSP responses in the TLS handshake
SSLVerifyClient level none svdhE
Type of Client Certificate verification
SSLVerifyDepth number 1 svdhE
Maximum depth of CA Certificates in Client +Certificate verification
StartServers numbersM
Number of child server processes created at startup
StartThreads numbersM
Number of threads created on startup
StrictHostCheck ON|OFF OFF svC
Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Substitute s/pattern/substitution/[infq]dhE
Pattern to filter the response content
SubstituteInheritBefore on|off off dhE
Change the merge order of inherited patterns
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) 1m dhE
Set the maximum line size
Suexec On|OffsB
Enable or disable the suEXEC feature
SuexecUserGroup User GroupsvE
CGI ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÒ »ç¿ëÀÚ¿Í ±×·ì ±ÇÇÑ
ThreadLimit numbersM
Sets the upper limit on the configurable number of threads +per child process
ThreadsPerChild numbersM
Number of threads created by each child process
ThreadStackSize sizesM
The size in bytes of the stack used by threads handling +client connections
TimeOut seconds 60 svC
Amount of time the server will wait for +certain events before failing a request
TLSCertificate cert_file [key_file]svX
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)svX
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used.
TLSEngine [address:]portsX
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on svX
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionsvdhX
enables SSL variables for requests.
TLSProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemsvX
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)svX
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offsvX
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]svX
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsX
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sX
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on svC
Determines the behavior on TRACE requests
TransferLog file|pipesvB
·Î±×ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù
TypesConfig file-path conf/mime.types sB
The location of the mime.types file
UnDefine parameter-namesC
Undefine the existence of a variable
UndefMacro namesvdB
Undefine a macro
UnsetEnv env-variable [env-variable] +...svdhB
ȯ°æº¯¼ö¸¦ Á¦°ÅÇÑ´Ù
Use name [value1 ... valueN] +svdB
Use a macro
UseCanonicalName On|Off|DNS Off svdC
Configures how the server determines its own name and +port
UseCanonicalPhysicalPort On|Off Off svdC
Configures how the server determines its own port
User unix-userid #-1 sB
The userid under which the server will answer +requests
UserDir directory-filename public_html svB
»ç¿ëÀÚº° µð·ºÅ丮 À§Ä¡
VHostCGIMode On|Off|Secure On vX
Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to subprocesses created +by a virtual host.
VHostGroup unix-groupidvX
Sets the Group ID under which a virtual host runs.
VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to a virtual host.
VHostSecure On|Off On vX
Determines whether the server runs with enhanced security +for the virtualhost.
VHostUser unix-useridvX
Sets the User ID under which a virtual host runs.
VirtualDocumentRoot interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
VirtualDocumentRootIP interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>sC
Contains directives that apply only to a specific +hostname or IP address
VirtualScriptAlias interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
VirtualScriptAliasIP interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
WatchdogInterval time-interval[s] 1 sB
Watchdog interval in seconds
XBitHack on|off|full off svdhB
Parse SSI directives in files with the execute bit +set
xml2EncAlias charset alias [alias ...]sB
Recognise Aliases for encoding values
xml2EncDefault namesvdhB
Sets a default encoding to assume when absolutely no information +can be automatically detected
xml2StartParse element [element ...]svdhB
Advise the parser to skip leading junk.
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.tr.utf8 b/docs/manual/mod/quickreference.html.tr.utf8 new file mode 100644 index 0000000..467f47b --- /dev/null +++ b/docs/manual/mod/quickreference.html.tr.utf8 @@ -0,0 +1,1245 @@ + + + + + +Hızlı Yönerge Kılavuzu - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +

Hızlı Yönerge Kılavuzu

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Bu hızlı yönerge kılavuzunda Apache yapılandırma yönergelerinin + kullanımı, öntanımlı değerleri, durumu ve bağlamı gösterilmiştir. Bunların + her biri hakkında ayrıntılı bilgi almak için Yönerge Sözlüğüne bakınız.

+ +

İlk sütunda yönergenin ismi ve kullanımı belirtilmiştir. İkinci sütunda + yönergenin varsa öntanımlı değeri gösterilmiştir. Eğer öntanımlı değer + sütuna sığmayacak kadar uzunsa sığmayan kısmı kırpılıp yerine “+†imi + konmuştur.

+ +

Aşağıda sağdaki gösterge tablolarına uygun olarak, üçüncü sütunda + yönergenin kullanımına izin verilen bağlamlar, dördüncü sütunda ise + yönergenin durumu gösterilmiştir.

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
ssunucu geneli
ksanal konak
ddizin
h.htaccess
vvekil bölümü
+ + + + + +
ÇÇekirdek
MMPM
TTemel
EEklenti
DDeneysel
HHarici
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter protocol kabul_süzgecisÇ
Bir protokolün dinleyici soketleri için en iyilemeleri ayarlar +
AcceptPathInfo On|Off|Default Default skdhÇ
Dosya isminden sonra belirtilen yol verisini kabul veya + reddeder.
AccessFileName filename [filename] ... .htaccess skÇ
Dağıtık yapılandırma dosyasının ismi belirtilir.
Action action-type cgi-script [virtual]skdhT
Activates a CGI script for a particular handler or +content-type
AddAlt metin dosya [dosya] ...skdhT
Dosyaya göre seçilen simgenin yerinde gösterilecek metni belirler. +
AddAltByEncoding metin MIME-kodlaması +[MIME-kodlaması] ...skdhT
Dosyanın MIME kodlamasına göre seçilen simgenin yerinde +gösterilecek metni belirler.
AddAltByType metin MIME-türü +[MIME-türü] ...skdhT
Dosyanın MIME türüne göre seçilen simgenin yerinde gösterilecek +metni belirler.
AddCharset charset extension +[extension] ...skdhT
Maps the given filename extensions to the specified content +charset
AddDefaultCharset On|Off|karküm Off skdhÇ
Bir yanıtın içerik türü text/plain veya + text/html olduğunda eklenecek öntanımlı karakter kümesi + parametresini belirler.
AddDescription metin dosya [dosya] ...skdhT
Bir dosya için gösterilecek açıklama belirtilir.
AddEncoding encoding extension +[extension] ...skdhT
Maps the given filename extensions to the specified encoding +type
AddHandler handler-name extension +[extension] ...skdhT
Maps the filename extensions to the specified +handler
AddIcon simge isim [isim] +...skdhT
Bir dosya için gösterilecek simgeyi dosya adına göre belirler. +
AddIconByEncoding simge MIME-kodlaması +[MIME-kodlaması] ...skdhT
Bir dosya için gösterilecek simgeyi dosyanın MIME kodlamasına +göre belirler.
AddIconByType simge MIME-türü +[MIME-türü] ...skdhT
Bir dosya için gösterilecek simgeyi dosyanın MIME türüne göre +belirler.
AddInputFilter filter[;filter...] +extension [extension] ...skdhT
Maps filename extensions to the filters that will process +client requests
AddLanguage language-tag extension +[extension] ...skdhT
Maps the given filename extension to the specified content +language
AddModuleInfo module-name stringskE
Adds additional information to the module +information displayed by the server-info handler
AddOutputFilter filter[;filter...] +extension [extension] ...skdhT
Maps filename extensions to the filters that will process +responses from the server
AddOutputFilterByType filter[;filter...] +media-type [media-type] ...skdhT
assigns an output filter to a particular media-type
AddType media-type extension +[extension] ...skdhT
Maps the given filename extensions onto the specified content +type
Alias [URL-yolu] dosya-yolu | +dizin-yoluskdT
URL’leri dosya sistemi konumlarıyla eşler.
AliasMatch "düzenli-ifade" +"dosya-yolu|dizin-yolu"skT
URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak +eşler.
Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts can access an area of the +server
AllowCONNECT port[-port] +[port[-port]] ... 443 563 skE
Ports that are allowed to CONNECT through the +proxy
AllowEncodedSlashes On|Off|NoDecode Off skÇ
Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip + verilmeyeceğini belirler.
AllowMethods reset|HTTP-method +[HTTP-method]... reset dD
Restrict access to the listed HTTP methods
AllowOverride All|None|yönerge-türü +[yönerge-türü] ... None (2.3.9 ve sonr +dÇ
.htaccess dosyalarında bulunmasına izin verilen + yönerge türleri belirtilir.
AllowOverrideList None|yönerge +[yönerge-türü] ... None dÇ
.htaccess dosyalarında izin verilecek yönergeler tek tek belirtilir
Anonymous user [user] ...dhE
Specifies userIDs that are allowed access without +password verification
Anonymous_LogEmail On|Off On dhE
Sets whether the password entered will be logged in the +error log
Anonymous_MustGiveEmail On|Off On dhE
Specifies whether blank passwords are allowed
Anonymous_NoUserID On|Off Off dhE
Sets whether the userID field may be empty
Anonymous_VerifyEmail On|Off Off dhE
Sets whether to check the password field for a correctly +formatted email address
AsyncRequestWorkerFactor factorsM
Limit concurrent connections per process
AuthBasicAuthoritative On|Off On dhT
Sets whether authorization and authentication are passed to +lower level modules
AuthBasicFake off|username [password]dhT
Fake basic authentication using the given expressions for +username and password
AuthBasicProvider provider-name +[provider-name] ... file dhT
Sets the authentication provider(s) for this location
AuthBasicUseDigestAlgorithm MD5|Off Off dhT
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBDUserPWQuery querydE
SQL query to look up a password for a user
AuthDBDUserRealmQuery querydE
SQL query to look up a password hash for a user and realm. +
AuthDBMGroupFile file-pathdhE
Sets the name of the database file containing the list +of user groups for authorization
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store passwords
AuthDBMUserFile file-pathdhE
Sets the name of a database file containing the list of users and +passwords for authentication
AuthDigestAlgorithm MD5|MD5-sess MD5 dhE
Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
AuthDigestDomain URI [URI] ...dhE
URIs that are in the same protection space for digest +authentication
AuthDigestNonceLifetime seconds 300 dhE
How long the server nonce is valid
AuthDigestProvider provider-name +[provider-name] ... file dhE
Sets the authentication provider(s) for this location
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhE
Determines the quality-of-protection to use in digest +authentication
AuthDigestShmemSize size 1000 sE
The amount of shared memory to allocate for keeping track +of clients
AuthFormAuthoritative On|Off On dhT
Sets whether authorization and authentication are passed to +lower level modules
AuthFormBody fieldname httpd_body dT
The name of a form field carrying the body of the request to attempt on successful login
AuthFormDisableNoStore On|Off Off dT
Disable the CacheControl no-store header on the login page
AuthFormFakeBasicAuth On|Off Off dT
Fake a Basic Authentication header
AuthFormLocation fieldname httpd_location dT
The name of a form field carrying a URL to redirect to on successful login
AuthFormLoginRequiredLocation urldT
The URL of the page to be redirected to should login be required
AuthFormLoginSuccessLocation urldT
The URL of the page to be redirected to should login be successful
AuthFormLogoutLocation uridT
The URL to redirect to after a user has logged out
AuthFormMethod fieldname httpd_method dT
The name of a form field carrying the method of the request to attempt on successful login
AuthFormMimetype fieldname httpd_mimetype dT
The name of a form field carrying the mimetype of the body of the request to attempt on successful login
AuthFormPassword fieldname httpd_password dT
The name of a form field carrying the login password
AuthFormProvider provider-name +[provider-name] ... file dhT
Sets the authentication provider(s) for this location
AuthFormSitePassphrase secretdT
Bypass authentication checks for high traffic sites
AuthFormSize size 8192 dT
The largest size of the form in bytes that will be parsed for the login details
AuthFormUsername fieldname httpd_username dT
The name of a form field carrying the login username
AuthGroupFile file-pathdhT
Sets the name of a text file containing the list +of user groups for authorization
AuthLDAPAuthorizePrefix prefix AUTHORIZE_ dhE
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritative off|on on dhE
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDN distinguished-namedhE
Optional DN to use in binding to the LDAP server
AuthLDAPBindPassword passworddhE
Password used in conjunction with the bind DN
AuthLDAPCharsetConfig file-pathsE
Language to charset conversion configuration file
AuthLDAPCompareAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServer on|off on dhE
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
When will the module de-reference aliases
AuthLDAPGroupAttribute attribute member uniqueMember +dhE
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDN on|off on dhE
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUser off|on off dhE
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPattern regex substitution (.*) $1 (remote use +dhE
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepth Number 10 dhE
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttribute uiddhE
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDN on|off off dhE
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttribute attribute member uniqueMember +dhE
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClass LdapObjectClass groupOfNames groupO +dhE
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhT
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthName auth-domaindhT
Authorization realm for use in HTTP +authentication
AuthnCacheContext directory|server|custom-string directory dT
Specify a context string for use in the cache key
AuthnCacheEnablesT
Enable Authn caching configured anywhere
AuthnCacheProvideFor authn-provider [...]dhT
Specify which authn provider(s) to cache for
AuthnCacheSOCache provider-name[:provider-args]sT
Select socache backend provider to use
AuthnCacheTimeout timeout (seconds) 300 (5 minutes) dhT
Set a timeout for cache entries
<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>sT
Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Enables a FastCGI application to handle the check_authn +authentication hook.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Defines a FastCGI application as a provider for +authentication and/or authorization
AuthType None|Basic|Digest|FormdhT
Type of user authentication
AuthUserFile file-pathdhT
Sets the name of a text file containing the list of users and +passwords for authentication
AuthzDBDLoginToReferer On|Off Off dE
Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
AuthzDBDQuery querydE
Specify the SQL Query for the required operation
AuthzDBDRedirectQuery querydE
Specify a query to look up a login page for the user
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store list of user groups
<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +sT
Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
AuthzSendForbiddenOnFailure On|Off Off dhT
Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
BalancerGrowth # 5 skE
Number of additional Balancers that can be added Post-configuration
BalancerInherit On|Off On skE
Inherit ProxyPassed Balancers/Workers from the main server
BalancerMember [balancerurl] url [key=value [key=value ...]]dE
Add a member to a load balancing group
BalancerPersist On|Off Off skE
Attempt to persist changes made by the Balancer Manager across restarts.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix skE
How the outgoing ETag header should be modified during compression
BrotliCompressionMaxInputBlock valueskE
Maximum input block size
BrotliCompressionQuality value 5 skE
Compression quality
BrotliCompressionWindow value 18 skE
Brotli sliding compression window size
BrotliFilterNote [type] notenameskE
Places the compression ratio in a note for logging
BrowserMatch düzifd [!]ort-değişkeni[=değer] +[[!]ort-değişkeni[=değer]] ...skdhT
Ortam değişkenlerini HTTP kullanıcı arayüzüne göre belirler. +
BrowserMatchNoCase düzifd [!]ort-değişkeni[=değer] +[[!]ort-değişkeni[=değer]] ...skdhT
Ortam değişkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne +duyarsız eşleşmelerine bağlı olarak belirler.
BufferedLogs On|Off Off sT
Günlük girdilerini diske yazmadan önce bellekte tamponlar +
BufferSize integer 131072 skdhE
Maximum size in bytes to buffer by the buffer filter
CacheDefaultExpire seconds 3600 (one hour) skdhE
The default duration to cache a document when no expiry date is specified.
CacheDetailHeader on|off off skdhE
Add an X-Cache-Detail header to the response.
CacheDirLength length 2 skE
The number of characters in subdirectory names
CacheDirLevels levels 2 skE
The number of levels of subdirectories in the +cache.
CacheDisable url-string | onskdhE
Disable caching of specified URLs
CacheEnable cache_type [url-string]skdE
Enable caching of specified URLs using a specified storage +manager
CacheFile file-path [file-path] ...sD
Cache a list of file handles at startup time
CacheHeader on|off off skdhE
Add an X-Cache header to the response.
CacheIgnoreCacheControl On|Off Off skE
Ignore request to not serve cached content to client
CacheIgnoreHeaders header-string [header-string] ... None skE
Do not store the given HTTP header(s) in the cache. +
CacheIgnoreNoLastMod On|Off Off skdhE
Ignore the fact that a response has no Last Modified +header.
CacheIgnoreQueryString On|Off Off skE
Ignore query string when caching
CacheIgnoreURLSessionIdentifiers identifier [identifier] ... None skE
Ignore defined session identifiers encoded in the URL when caching +
CacheKeyBaseURL URLskE
Override the base URL of reverse proxied cache keys.
CacheLastModifiedFactor float 0.1 skdhE
The factor used to compute an expiry date based on the +LastModified date.
CacheLock on|off off skE
Enable the thundering herd lock.
CacheLockMaxAge integer 5 skE
Set the maximum possible age of a cache lock.
CacheLockPath directory /tmp/mod_cache-lock +skE
Set the lock path directory.
CacheMaxExpire seconds 86400 (one day) skdhE
The maximum time in seconds to cache a document
CacheMaxFileSize bytes 1000000 skdhE
The maximum size (in bytes) of a document to be placed in the +cache
CacheMinExpire seconds 0 skdhE
The minimum time in seconds to cache a document
CacheMinFileSize bytes 1 skdhE
The minimum size (in bytes) of a document to be placed in the +cache
CacheNegotiatedDocs On|Off Off skT
Allows content-negotiated documents to be +cached by proxy servers
CacheQuickHandler on|off on skE
Run the cache from the quick handler.
CacheReadSize bytes 0 skdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheReadTime milliseconds 0 skdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheRoot directoryskE
The directory root under which cache files are +stored
CacheSocache type[:args]skE
The shared object cache implementation to use
CacheSocacheMaxSize bytes 102400 skdhE
The maximum size (in bytes) of an entry to be placed in the +cache
CacheSocacheMaxTime seconds 86400 skdhE
The maximum time (in seconds) for a document to be placed in the +cache
CacheSocacheMinTime seconds 600 skdhE
The minimum time (in seconds) for a document to be placed in the +cache
CacheSocacheReadSize bytes 0 skdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheSocacheReadTime milliseconds 0 skdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheStaleOnError on|off on skdhE
Serve stale content in place of 5xx responses.
CacheStoreExpired On|Off Off skdhE
Attempt to cache responses that the server reports as expired
CacheStoreNoStore On|Off Off skdhE
Attempt to cache requests or responses that have been marked as no-store.
CacheStorePrivate On|Off Off skdhE
Attempt to cache responses that the server has marked as private
CGIDScriptTimeout time[s|ms]skdhT
The length of time to wait for more output from the +CGI program
CGIMapExtension cgi-yolu .uzantıdhÇ
CGI betik yorumlayıcısını saptama tekniğini belirler. +
CGIPassAuth On|Off Off dhÇ
HTTP yetkilendirme başlıklarının betiklere CGI değişkenleri +olarak aktarılmasını etkin kılar
CGIVar değişken kuraldhÇ
Bazı CGI değişkenlerinin nasıl atanacağını belirler
CharsetDefault charsetskdhE
Charset to translate into
CharsetOptions option [option] ... ImplicitAdd skdhE
Configures charset translation behavior
CharsetSourceEnc charsetskdhE
Source charset of files
CheckBasenameMatch on|off On skdhE
Also match files with differing file name extensions.
CheckCaseOnly on|off Off skdhE
Limits the action of the speling module to case corrections
CheckSpelling on|off Off skdhE
Enables the spelling +module
ChrootDir /dizin/yolusT
Sunucunun başlatıldıktan sonra chroot(8) yapacağı dizini + belirler.
ContentDigest On|Off Off skdhÇ
Content-MD5 HTTP yanıt başlıklarının üretimini + etkin kılar.
CookieDomain domainskdhE
The domain to which the tracking cookie applies
CookieExpires expiry-periodskdhE
Expiry time for the tracking cookie
CookieHTTPOnly on|off off skdhE
Adds the 'HTTPOnly' attribute to the cookie
CookieName token Apache skdhE
Name of the tracking cookie
CookieSameSite None|Lax|StrictskdhE
Adds the 'SameSite' attribute to the cookie
CookieSecure on|off off skdhE
Adds the 'Secure' attribute to the cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape skdhE
Format of the cookie header field
CookieTracking on|off off skdhE
Enables tracking cookie
CoreDumpDirectory dizinsM
core dosyasını dökümlemek üzere Apache HTTP + Sunucusunun geçmeye çalışacağı dizin.
CustomLog dosya|borulu-süreç +biçem|takma-ad +[env=[!]ortam-değişkeni]| +expr=ifade]skT
Günlük dosyasın ismini ve girdi biçemini belirler.
Dav On|Off|provider-name Off dE
Enable WebDAV HTTP methods
DavDepthInfinity on|off off skdE
Allow PROPFIND, Depth: Infinity requests
DavGenericLockDB file-pathskdE
Location of the DAV lock database
DavLockDB file-pathskE
Location of the DAV lock database
DavLockDiscovery on|off on skdhE
Enable lock discovery
DavMinTimeout seconds 0 skdE
Minimum amount of time the server holds a lock on +a DAV resource
DBDExptime time-in-seconds 300 skE
Keepalive time for idle connections
DBDInitSQL "SQL statement"skE
Execute an SQL statement after connecting to a database
DBDKeep number 2 skE
Maximum sustained number of connections
DBDMax number 10 skE
Maximum number of connections
DBDMin number 1 skE
Minimum number of connections
DBDParams +param1=value1[,param2=value2]skE
Parameters for database connection
DBDPersist On|OffskE
Whether to use persistent connections
DBDPrepareSQL "SQL statement" labelskE
Define an SQL prepared statement
DBDriver nameskE
Specify an SQL driver
DefaultIcon URL-yoluskdhT
Özel bir simge atanmamış dosyalar için gösterilecek simgeyi +belirler.
DefaultLanguage language-tagskdhT
Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
DefaultRuntimeDir dizin-yolu DEFAULT_REL_RUNTIME +sÇ
Sunucunun çalışma anı dosyaları için temel dizin
DefaultType ortam-türü|none none skdhÇ
Değeri none olduğu takdirde, bu yönergenin bir +uyarı vermekten başka bir etkisi yoktur. Önceki sürümlerde, bu yönerge, +sunucunun ortam türünü saptayamadığı durumda göndereceği öntanımlı ortam +türünü belirlerdi.
Define değişken-ismi [değişken-değeri]skdÇ
Bir değişken tanımlar
DeflateBufferSize value 8096 skE
Fragment size to be compressed at one time by zlib
DeflateCompressionLevel valueskE
How much compression do we apply to the output
DeflateFilterNote [type] notenameskE
Places the compression ratio in a note for logging
DeflateInflateLimitRequestBody valueskdhE
Maximum size of inflated request bodies
DeflateInflateRatioBurst value 3 skdhE
Maximum number of times the inflation ratio for request bodies + can be crossed
DeflateInflateRatioLimit value 200 skdhE
Maximum inflation ratio for request bodies
DeflateMemLevel value 9 skE
How much memory should be used by zlib for compression
DeflateWindowSize value 15 skE
Zlib compression window size
Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts are denied access to the +server
<Directory dizin-yolu> +... </Directory>skÇ
Sadece ismi belirtilen dosya sistemi dizininde ve bunun + altdizinlerinde ve bunların içeriğinde uygulanacak bir yönerge grubunu + sarmalar.
DirectoryCheckHandler On|Off Off skdhT
Başka bir eylemci yapılandırılmışsa bu modülün nasıl yanıt + vereceğini belirler
DirectoryIndex + disabled | yerel-url [yerel-url] ... index.html skdhT
İstemci bir dizin istediğinde dizin içeriğini listeler. +
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-kodu + off skdhT
Dizin içerik listeleri için harici bir yönlendirme yapılandırır. +
<DirectoryMatch düzifd> +... </DirectoryMatch>skÇ
Bir düzenli ifade ile eşleşen dosya sistemi dizinlerinin içeriklerine uygulanacak bir yönerge grubunu sarmalar.
DirectorySlash On|Off On skdhT
Bölü çizgisi ile biten yönlendirmeleri açar/kapar.
DocumentRoot dizin-yolu "/usr/local/apache/ +skÇ
İstemciye görünür olan ana belge ağacının kök dizinini belirler.
DTracePrivileges On|Off Off sD
Determines whether the privileges required by dtrace are enabled.
DumpIOInput On|Off Off sE
Dump all input data to the error log
DumpIOOutput On|Off Off sE
Dump all output data to the error log
<Else> ... </Else>skdhÇ
Önceki bir <If> veya <ElseIf> bölümünün koşulu, çalışma anında bir istek tarafından yerine getirilmediği takdirde uygulanacak yönergeleri içerir
<ElseIf ifade> ... </ElseIf>skdhÇ
İçerdiği koşulun bir istek tarafınan sağlandığı ancak daha önceki bir <If> veya +<ElseIf> bölümlerininkilerin sağlanmadığı durumda kapsadığı yönergelerin uygulanmasını sağlar
EnableExceptionHook On|Off Off sM
Bir çöküş sonrası olağandışılık eylemcilerini çalıştıracak + kancayı etkin kılar.
EnableMMAP On|Off On skdhÇ
Teslimat sırasında okunacak dosyalar için bellek eşlemeyi etkin + kılar.
EnableSendfile On|Off Off skdhÇ
Dosyaların istemciye tesliminde çekirdeğin dosya gönderme + desteğinin kullanımını etkin kılar.
Error iletiskdhÇ
Özel bir hata iletisiyle yapılandırma çözümlemesini durdurur
ErrorDocument hata-kodu belgeskdhÇ
Bir hata durumunda sunucunun istemciye ne döndüreceğini + belirler.
ErrorLog dosya-yolu|syslog[:[oluşum][:etiket]] logs/error_log (Uni +skÇ
Sunucunun hata günlüğünü tutacağı yeri belirler.
ErrorLogFormat [connection|request] biçemskÇ
Hata günlüğü girdileri için biçem belirtimi
ExampleskdhD
Demonstration directive to illustrate the Apache module +API
ExpiresActive On|Off Off skdhE
Enables generation of Expires +headers
ExpiresByType MIME-type +<code>secondsskdhE
Value of the Expires header configured +by MIME type
ExpiresDefault <code>secondsskdhE
Default algorithm for calculating expiration time
ExtendedStatus On|Off Off[*] sÇ
Her istekte ek durum bilgisinin izini sürer
ExtFilterDefine filtername parameterssE
Define an external filter
ExtFilterOptions option [option] ... NoLogStderr dE
Configure mod_ext_filter options
FallbackResource disabled | yerel-urlskdhT
Bir dosya ile eşleşmeyen istekler için öntanımlı URL tanımlar +
FileETag bileşen ... MTime Size skdhÇ
Duruk dosyalar için ETag HTTP yanıt başlığını oluşturmakta kullanılacak dosya özniteliklerini belirler.
<Files dosya-adı> ... </Files>skdhÇ
Dosya isimleriyle eşleşme halinde uygulanacak yönergeleri + içerir.
<FilesMatch düzifd> ... </FilesMatch>skdhÇ
Düzenli ifadelerin dosya isimleriyle eşleşmesi halinde + uygulanacak yönergeleri içerir.
FilterChain [+=-@!]filter-name ...skdhT
Configure the filter chain
FilterDeclare filter-name [type]skdhT
Declare a smart filter
FilterProtocol filter-name [provider-name] + proto-flagsskdhT
Deal with correct HTTP protocol handling
FilterProvider filter-name provider-name + expressionskdhT
Register a content filter
FilterTrace filter-name levelskdT
Get debug/diagnostic information from + mod_filter
FlushMaxPipelined sayı 5 skÇ
Ağa akıtılacak azami ardışık yanıt sayısı
FlushMaxThreshold bayt-sayısı 65536 skÇ
Bekleyen verilerin ağa boşaltılacağı eşik değer
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer skdhT
Action to take if a single acceptable document is not +found
ForceType ortam-türü|NonedhÇ
Bütün dosyaların belirtilen ortam türüyle sunulmasına + sebep olur.
ForensicLog dosya-adı|borulu-süreçskE
Adli günlük için dosya ismini belirler.
GlobalLog dosya|boru|sağlayıcı +biçem|takma_ad +[env=[!]ortam_değişkeni| +expr=ifade]sT
Günlük dosyasının ismini ve biçemini belirler
GprofDir /tmp/gprof/|/tmp/gprof/%skÇ
gmon.out ayrıntılı inceleme verisinin yazılacağı dizin
GracefulShutdownTimeout saniye 0 sM
Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar + geçecek süre için bir zaman aşımı belirler.
Group unix-grubu #-1 sT
İsteklere yanıt verecek sunucunun ait olacağı grubu belirler.
H2CopyFiles on|off off skdhE
Determine file handling in responses
H2Direct on|off on for h2c, off for +skE
H2 Direct Protocol Switch
H2EarlyHints on|off off skE
Determine sending of 103 status codes
H2MaxSessionStreams n 100 skE
Maximum number of active streams per HTTP/2 session.
H2MaxWorkerIdleSeconds n 600 sE
Maximum number of seconds h2 workers remain idle until shut down.
H2MaxWorkers nsE
Maximum number of worker threads to use per child process.
H2MinWorkers nsE
Minimal number of worker threads to use per child process.
H2ModernTLSOnly on|off on skE
Require HTTP/2 connections to be "modern TLS" only
H2OutputBuffering on|off on skE
Determine buffering behaviour of output
H2Padding numbits 0 skE
Determine the range of padding bytes added to payload frames
H2Push on|off on skdhE
H2 Server Push Switch
H2PushDiarySize n 256 skE
H2 Server Push Diary Size
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 skE
H2 Server Push Priority
H2PushResource [add] path [critical]skdhE
Declares resources for early pushing to the client
H2SerializeHeaders on|off off skE
Serialize Request/Response Processing Switch
H2StreamMaxMemSize bytes 65536 skE
Maximum amount of output data buffered per stream.
H2TLSCoolDownSecs seconds 1 skE
Configure the number of seconds of idle time on TLS before shrinking writes
H2TLSWarmUpSize amount 1048576 skE
Configure the number of bytes on TLS connection before doing max writes
H2Upgrade on|off on for h2c, off for +skdhE
H2 Upgrade Protocol Switch
H2WindowSize bytes 65535 skE
Size of Stream Window for upstream data.
Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +skdhE
Configure HTTP response headers
HeaderName dosya-ismiskdhT
Dizin listesinin tepesine yerleştirilecek dosyanın ismini +belirler.
HeartbeatAddress addr:portsD
Multicast address for heartbeat packets
HeartbeatListen addr:portsD
multicast address to listen for incoming heartbeat requests
HeartbeatMaxServers number-of-servers 10 sD
Specifies the maximum number of servers that will be sending +heartbeat requests to this server
HeartbeatStorage file-path logs/hb.dat sD
Path to store heartbeat data when using flat-file storage
HeartbeatStorage file-path logs/hb.dat sD
Path to read heartbeat data
HostnameLookups On|Off|Double Off skdÇ
İstemci IP adresleri üzerinde DNS sorgularını etkin kılar. +
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +skÇ
HTTP İstek İletilerindeki sınırlamalarda değişiklik yapar
IdentityCheck On|Off Off skdE
Enables logging of the RFC 1413 identity of the remote +user
IdentityCheckTimeout seconds 30 skdE
Determines the timeout duration for ident requests
<If ifade> ... </If>skdhÇ
Çalışma anında bir koşul bir istek tarafından yerine getirildiği +takdirde uygulanacak yönergeleri barındırır.
<IfDefine [!]parametre-adı> ... + </IfDefine>skdhÇ
Başlatma sırasında bir doğruluk sınamasından sonra işleme +sokulacak yönergeleri sarmalar.
<IfDirective [!]yönerge-adı> ... + </IfDirective>skdhÇ
Belirtilen yönerge adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.
<IfFile [!]dosyaadı> ... + </IfFile>skdhÇ
Başlatma sırasında bir dosyanın varlığı durumunda işleme +sokulacak yönergeleri sarmalar.
<IfModule [!]modül-dosyası|modül-betimleyici> ... + </IfModule>skdhÇ
Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak +yönergeleri sarmalar.
<IfSection [!]bölüm-adı> ... + </IfSection>skdhÇ
Belirtilen bölüm adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.
<IfVersion [[!]operator] version> ... +</IfVersion>skdhE
contains version dependent configuration
ImapBase map|referer|URL http://servername/ skdhT
Default base for imagemap files
ImapDefault error|nocontent|map|referer|URL nocontent skdhT
Default action when an imagemap is called with coordinates +that are not explicitly mapped
ImapMenu none|formatted|semiformatted|unformatted formatted skdhT
Action if no coordinates are given when calling +an imagemap
Include dosya-yolu|dizin-yolu|jokerskdÇ
Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar. +
IncludeOptional dosya-yolu|dizin-yolu|jokerskdÇ
Diğer yapılandırma dosyalarının sunucu yapılandırma dosyasına dahil edilmesini sağlar
IndexHeadInsert "imlenim ..."skdhT
Bir dizin sayfasının HEAD bölümüne metin yerleştirir.
IndexIgnore dosya [dosya] ... "." skdhT
Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir. +
IndexIgnoreReset ON|OFFskdhT
Bir dizini listelerken gizlenecek dosyalar listesini boşaltır +
IndexOptions [+|-]seçenek [[+|-]seçenek] +...skdhT
Dizin içerik listesini yapılandıracak seçenekler belirtilir. +
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name skdhT
Dizin içerik listesinin öntanımlı sıralamasını belirler. +
IndexStyleSheet url-yoluskdhT
Dizin listesine bir biçembent ekler.
InputSed sed-commanddhD
Sed command to filter request data (typically POST data)
ISAPIAppendLogToErrors on|off off skdhT
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
ISAPIAppendLogToQuery on|off on skdhT
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
ISAPICacheFile file-path [file-path] +...skT
ISAPI .dll files to be loaded at startup
ISAPIFakeAsync on|off off skdhT
Fake asynchronous support for ISAPI callbacks
ISAPILogNotSupported on|off off skdhT
Log unsupported feature requests from ISAPI +extensions
ISAPIReadAheadBuffer size 49152 skdhT
Size of the Read Ahead Buffer sent to ISAPI +extensions
KeepAlive On|Off On skÇ
HTTP kalıcı bağlantılarını etkin kılar
KeepAliveTimeout sayı[ms] 5 skÇ
Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi +
KeptBodySize azami_bayt_sayısı 0 dT
mod_include gibi süzgeçler tarafından kullanılma olasılığına karşı +istek gövdesi iptal edilmek yerine belirtilen azami boyutta tutulur. +
LanguagePriority MIME-lang [MIME-lang] +...skdhT
The precedence of language variants for cases where +the client does not express a preference
LDAPCacheEntries number 1024 sE
Maximum number of entries in the primary LDAP cache
LDAPCacheTTL seconds 600 sE
Time that cached items remain valid
LDAPConnectionPoolTTL n -1 skE
Discard backend connections that have been sitting in the connection pool too long
LDAPConnectionTimeout secondssE
Specifies the socket connection timeout in seconds
LDAPLibraryDebug 7sE
Enable debugging in the LDAP SDK
LDAPOpCacheEntries number 1024 sE
Number of entries used to cache LDAP compare +operations
LDAPOpCacheTTL seconds 600 sE
Time that entries in the operation cache remain +valid
LDAPReferralHopLimit numberdhE
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferrals On|Off|default On dhE
Enable referral chasing during queries to the LDAP server.
LDAPRetries number-of-retries 3 sE
Configures the number of LDAP server retries.
LDAPRetryDelay seconds 0 sE
Configures the delay between LDAP server retries.
LDAPSharedCacheFile directory-path/filenamesE
Sets the shared memory cache file
LDAPSharedCacheSize bytes 500000 sE
Size in bytes of the shared-memory cache
LDAPTimeout seconds 60 sE
Specifies the timeout for LDAP search and bind operations, in seconds
LDAPTrustedClientCert type directory-path/filename/nickname [password]dhE
Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
LDAPTrustedGlobalCert type directory-path/filename [password]sE
Sets the file or database containing global trusted +Certificate Authority or global client certificates
LDAPTrustedMode typeskE
Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
LDAPVerifyServerCert On|Off On sE
Force server certificate verification
<Limit yöntem [yöntem] ... > ... + </Limit>dhÇ
Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları +sarmalar.
<LimitExcept yöntem [yöntem] ... > ... + </LimitExcept>dhÇ
İsimleri belirtilenler dışında kalan HTTP yöntemleri için +kullanılacak erişim sınırlayıcıları sarmalar.
LimitInternalRecursion sayı [sayı] 10 skÇ
Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını +belirler.
LimitRequestBody bayt-sayısı 1073741824 skdhÇ
İstemci tarafından gönderilen HTTP istek gövdesinin toplam +uzunluğunu sınırlar.
LimitRequestFields sayı 100 skÇ
İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını +sınırlar.
LimitRequestFieldSize bayt-sayısı 8190 skÇ
İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar. +
LimitRequestLine bayt-sayısı 8190 skÇ
İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar. +
LimitXMLRequestBody bayt-sayısı 1000000 skdhÇ
Bir XML temelli istek gövdesinin uzunluğunu sınırlar.
Listen [IP-adresi:]port-numarası + [protokol]sM
Sunucunun dinleyeceÄŸi IP adresini ve portu belirler.
ListenBackLog kuyruk-uzunluÄŸu 511 sM
Bekleyen bağlantılar kuyruğunun azami uzunluğunu + belirler
ListenCoresBucketsRatio oran 0 (iptal) sM
İşlemci çekirdek sayısının dinleyenlerin buket sayısına oranı
LoadFile dosya-ismi [dosya-ismi] ...skE
Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler. +
LoadModule modül dosya-ismiskE
Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler +ve etkin modül listesine ekler.
<Location URL-yolu|URL> ... +</Location>skÇ
İçerdiği yönergeler sadece eşleşen URL’lere uygulanır. +
<LocationMatch + düzifade> ... </LocationMatch>skÇ
İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere +uygulanır.
LogFormat biçem|takma-ad +[takma-ad] "%h %l %u %t \"%r\" +skT
Bir günlük dosyasında kullanılmak üzere girdi biçemi tanımlar. +
LogIOTrackTTFB ON|OFF OFF skdhE
İlk baytın yazılmasına kadar geçen süreyi izler
LogLevel [modül:]seviye + [modül:seviye] ... + warn skdÇ
Hata günlüklerinin ayrıntı seviyesini belirler.
LogMessage message +[hook=hook] [expr=expression] +dD
Log user-defined message to error log +
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Plug an authorization provider function into mod_authz_core +
LuaCodeCache stat|forever|never stat skdhE
Configure the compiled code cache.
LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]skdhE
Provide a hook for the access_checker phase of request processing
LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]skdhE
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]skdhE
Provide a hook for the check_user_id phase of request processing
LuaHookFixups /path/to/lua/script.lua hook_function_nameskdhE
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFilter /path/to/lua/script.lua hook_function_nameskdhE
Provide a hook for the insert_filter phase of request processing
LuaHookLog /path/to/lua/script.lua log_function_nameskdhE
Provide a hook for the access log phase of a request +processing
LuaHookMapToStorage /path/to/lua/script.lua hook_function_nameskdhE
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslate /path/to/lua/script.lua hook_function_nameskdhE
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]skE
Provide a hook for the translate name phase of request processing
LuaHookTypeChecker /path/to/lua/script.lua hook_function_nameskdhE
Provide a hook for the type_checker phase of request processing
LuaInherit none|parent-first|parent-last parent-first skdhE
Controls how parent configuration sections are merged into children
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content input filtering
LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]skdhE
Map a path to a lua handler
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content output filtering
LuaPackageCPath /path/to/include/?.soaskdhE
Add a directory to lua's package.cpath
LuaPackagePath /path/to/include/?.luaskdhE
Add a directory to lua's package.path
LuaQuickHandler /path/to/script.lua hook_function_nameskE
Provide a hook for the quick handler of request processing
LuaRoot /path/to/a/directoryskdhE
Specify the base path for resolving relative paths for mod_lua directives
LuaScope once|request|conn|thread|server [min] [max] once skdhE
One of once, request, conn, thread -- default is once
+<Macro name [par1 .. parN]> +... </Macro>skdT
Define a configuration file macro
MaxConnectionsPerChild sayı 0 sM
Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek + sayısını sınırlamakta kullanılır.
MaxKeepAliveRequests sayı 100 skÇ
Bir kalıcı bağlantıda izin verilen istek sayısı
MaxMemFree kB-sayısı 2048 sM
free() çağrılmaksızın ana bellek ayırıcının + ayırmasına izin verilen azami bellek miktarını belirler.
MaxRangeOverlaps default | unlimited | none | + aralık-sayısı 20 skdÇ
Özkaynağın tamamını döndürmeden önce izin verilen üst üste binen + aralık sayısı (100-200,150-300 gibi)
MaxRangeReversals default | unlimited | none | + aralık-sayısı 20 skdÇ
Özkaynağın tamamını döndürmeden önce izin verilen ters sıralı + aralık sayısı (100-200,50-70 gibi)
MaxRanges default | unlimited | none | + aralık-sayısı 200 skdÇ
Özkaynağın tamamını döndürmeden önce izin verilen aralık sayısı
MaxRequestWorkers sayısM
Aynı anda işleme sokulacak azami bağlantı sayısı
MaxSpareServers sayı 10 sM
Boştaki çocuk süreçlerin azami sayısı
MaxSpareThreads numbersM
Boştaki azami evre sayısını belirler
MaxThreads number 2048 sM
Set the maximum number of worker threads
MDActivationDelay durationsD
-
MDBaseServer on|off off sD
Control if base server may be managed or only virtual hosts.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sD
Type of ACME challenge used to prove domain ownership.
MDCertificateAgreement acceptedsD
You confirm that you accepted the Terms of Service of the Certificate + Authority.
MDCertificateAuthority url letsencrypt sD
The URL(s) of the ACME Certificate Authority to use.
MDCertificateCheck name urlsD
-
MDCertificateFile path-to-pem-filesD
Specify a static certificate file for the MD.
MDCertificateKeyFile path-to-filesD
Specify a static private key for for the static cerrtificate.
MDCertificateMonitor name url crt.sh https://crt. +sD
The URL of a certificate log monitor.
MDCertificateProtocol protocol ACME sD
The protocol to use with the Certificate Authority.
MDCertificateStatus on|off on sD
Exposes public certificate information in JSON.
MDChallengeDns01 path-to-commandsD
-
MDContactEmail addresssD
-
MDDriveMode always|auto|manual auto sD
former name of MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sD
-
MDHttpProxy urlsD
Define a proxy for outgoing connections.
MDMember hostnamesD
Additional hostname for the managed domain.
MDMembers auto|manual auto sD
Control if the alias domain names are automatically added.
MDMessageCmd path-to-cmd optional-argssD
Handle events for Manage Domains
MDMustStaple on|off off sD
Control if new certificates carry the OCSP Must Staple flag.
MDNotifyCmd path [ args ]sD
Run a program when a Managed Domain is ready.
MDomain dns-name [ other-dns-name... ] [auto|manual]sD
Define list of domain names that belong to one group.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sD
Container for directives applied to the same managed domains.
MDPortMap map1 [ map2 ] http:80 https:443 sD
Map external to internal ports for domain ownership verification.
MDPrivateKeys type [ params... ] RSA 2048 sD
Set type and size of the private keys generated.
MDRenewMode always|auto|manual auto sD
Controls if certificates shall be renewed.
MDRenewWindow duration 33% sD
Control when a certificate will be renewed.
MDRequireHttps off|temporary|permanent off sD
Redirects http: traffic to https: for Managed Domains.
MDRetryDelay duration 5s sD
-
MDRetryFailover number 13 sD
-
MDServerStatus on|off on sD
Control if Managed Domain information is added to server-status.
MDStapleOthers on|off on sD
Enable stapling for certificates not managed by mod_md.
MDStapling on|off off sD
Enable stapling for all or a particular MDomain.
MDStaplingKeepResponse duration 7d sD
Controls when old responses should be removed.
MDStaplingRenewWindow duration 33% sD
Control when the stapling responses will be renewed.
MDStoreDir path md sD
Path on the local file system to store the Managed Domains data.
MDStoreLocks on|off|duration off sD
-
MDWarnWindow duration 10% sD
Define the time window when you want to be warned about an expiring certificate.
MemcacheConnTTL num[units] 15s skE
Keepalive time for idle connections
MergeSlashes ON|OFF ON skÇ
Sunucunun URL’lerde ardışık bölü çizgilerini birleştirip birleştirmeyeceğini denetler. +
MergeTrailers [on|off] off skÇ
Trailer alanlarının başlığa dahil edilip edilmeyeceğini belirler
MetaDir directory .web skdhE
Name of the directory to find CERN-style meta information +files
MetaFiles on|off off skdhE
Activates CERN meta-file processing
MetaSuffix suffix .meta skdhE
File name suffix for the file containing CERN-style +meta information
MimeMagicFile file-pathskE
Enable MIME-type determination based on file contents +using the specified magic file
MinSpareServers sayı 5 sM
Boştaki çocuk süreçlerin asgari sayısı
MinSpareThreads sayısM
İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısını belirler.
MMapFile file-path [file-path] ...sD
Map a list of files into memory at startup time
ModemStandard V.21|V.26bis|V.32|V.34|V.92dD
Modem standard to simulate
ModMimeUsePathInfo On|Off Off dT
Tells mod_mime to treat path_info +components as part of the filename
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly skdhT
The types of files that will be included when searching for +a matching file with MultiViews
Mutex mekanizma [default|muteks-ismi] ... [OmitPID] default sÇ
Muteks mekanizmasını ve kilit dosyası dizinini tüm muteksler veya belirtilenler için yapılandırır
NameVirtualHost adres[:port]sÇ
ÖNERİLMİYOR: İsme dayalı sanal konaklar için IP adresi belirtir
NoProxy host [host] ...skE
Hosts, domains, or networks that will be connected to +directly
NWSSLTrustedCerts filename [filename] ...sT
List of additional client certificates
NWSSLUpgradeable [IP-address:]portnumbersT
Allows a connection to be upgraded to an SSL connection upon request
Options + [+|-]seçenek [[+|-]seçenek] ... FollowSymlinks skdhÇ
Belli bir dizinde geçerli olacak özellikleri yapılandırır. +
Order ordering Deny,Allow dhE
Controls the default access state and the order in which +Allow and Deny are +evaluated.
OutputSed sed-commanddhD
Sed command for filtering response content
PassEnv ortam-deÄŸiÅŸkeni [ortam-deÄŸiÅŸkeni] +...skdhT
Ortam değişkenlerini kabuktan aktarır.
PidFile dosya logs/httpd.pid sM
Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.
PrivilegesMode FAST|SECURE|SELECTIVE FAST skdD
Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Protocol protokolskÇ
Dinlenen bir soket için protokol
ProtocolEcho On|Off Off skD
Turn the echo server on or off
Protocols protokol ... http/1.1 skÇ
Sunucu/sanal konak için kullanılabilecek protokoller
ProtocolsHonorOrder On|Off On skÇ
Uzlaşma sırasında protokollerin öncelik sırasını belirler
<Proxy wildcard-url> ...</Proxy>skE
Container for directives applied to proxied resources
Proxy100Continue Off|On On skdE
Forward 100-continue expectation to the origin server
ProxyAddHeaders Off|On On skdE
Add proxy information in X-Forwarded-* headers
ProxyBadHeader IsError|Ignore|StartBody IsError skE
Determines how to handle bad header lines in a +response
ProxyBlock *|word|host|domain +[word|host|domain] ...skE
Words, hosts, or domains that are banned from being +proxied
ProxyDomain DomainskE
Default domain name for proxied requests
ProxyErrorOverride Off|On [code ...] Off skdE
Override error pages for proxied content
ProxyExpressDBMFile pathnameskE
Pathname to DBM file.
ProxyExpressDBMType type default skE
DBM type of file.
ProxyExpressEnable on|off off skE
Enable the module functionality.
ProxyFCGIBackendType FPM|GENERIC FPM skdhE
Specify the type of backend FastCGI application
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]skdhE
Allow variables sent to FastCGI servers to be fixed up
ProxyFtpDirCharset character_set ISO-8859-1 skdE
Define the character set for proxied FTP listings
ProxyFtpEscapeWildcards on|off on skdE
Whether wildcards in requested filenames are escaped when sent to the FTP server
ProxyFtpListOnWildcard on|off on skdE
Whether wildcards in requested filenames trigger a file listing
ProxyHCExpr name {ap_expr expression}skE
Creates a named condition expression to use to determine health of the backend based on its response
ProxyHCTemplate name parameter=setting [...]skE
Creates a named template for setting various health check parameters
ProxyHCTPsize size 16 sE
Sets the total server-wide size of the threadpool used for the health check workers
ProxyHTMLBufSize bytes 8192 skdT
Sets the buffer size increment for buffering inline scripts and +stylesheets.
ProxyHTMLCharsetOut Charset | *skdT
Specify a charset for mod_proxy_html output.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
skdT
Sets an HTML or XHTML document type declaration.
ProxyHTMLEnable On|Off Off skdT
Turns the proxy_html filter on or off.
ProxyHTMLEvents attribute [attribute ...]skdT
Specify attributes to treat as scripting events.
ProxyHTMLExtended On|Off Off skdT
Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
ProxyHTMLFixups [lowercase] [dospath] [reset]skdT
Fixes for simple HTML errors.
ProxyHTMLInterp On|Off Off skdT
Enables per-request interpolation of +ProxyHTMLURLMap rules.
ProxyHTMLLinks element attribute [attribute2 ...]skdT
Specify HTML elements that have URL attributes to be rewritten.
ProxyHTMLMeta On|Off Off skdT
Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
ProxyHTMLStripComments On|Off Off skdT
Determines whether to strip HTML comments.
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]skdT
Defines a rule to rewrite HTML links
ProxyIOBufferSize bytes 8192 skE
Determine size of internal data throughput buffer
<ProxyMatch regex> ...</ProxyMatch>skE
Container for directives applied to regular-expression-matched +proxied resources
ProxyMaxForwards number -1 skE
Maximum number of proxies that a request can be forwarded +through
ProxyPass [path] !|url [key=value + [key=value ...]] [nocanon] [interpolate] [noquery]skdE
Maps remote servers into the local server URL-space
ProxyPassInherit On|Off On skE
Inherit ProxyPass directives defined from the main server
ProxyPassInterpolateEnv On|Off Off skdE
Enable Environment Variable interpolation in Reverse Proxy configurations
ProxyPassMatch [regex] !|url [key=value + [key=value ...]]skdE
Maps remote servers into the local server URL-space using regular expressions
ProxyPassReverse [path] url +[interpolate]skdE
Adjusts the URL in HTTP response headers sent from a reverse +proxied server
ProxyPassReverseCookieDomain internal-domain +public-domain [interpolate]skdE
Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server
ProxyPassReverseCookiePath internal-path +public-path [interpolate]skdE
Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server
ProxyPreserveHost On|Off Off skdE
Use incoming Host HTTP request header for proxy +request
ProxyReceiveBufferSize bytes 0 skE
Network buffer size for proxied HTTP and FTP +connections
ProxyRemote match remote-serverskE
Remote proxy used to handle certain requests
ProxyRemoteMatch regex remote-serverskE
Remote proxy used to handle requests matched by regular +expressions
ProxyRequests On|Off Off skE
Enables forward (standard) proxy requests
ProxySCGIInternalRedirect On|Off|Headername On skdE
Enable or disable internal redirect responses from the +backend
ProxySCGISendfile On|Off|Headername Off skdE
Enable evaluation of X-Sendfile pseudo response +header
ProxySet url key=value [key=value ...]skdE
Set various Proxy balancer or member parameters
ProxySourceAddress addressskE
Set local IP address for outgoing proxy connections
ProxyStatus Off|On|Full Off skE
Show Proxy LoadBalancer status in mod_status
ProxyTimeout secondsskE
Network timeout for proxied requests
ProxyVia On|Off|Full|Block Off skE
Information provided in the Via HTTP response +header for proxied requests
ProxyWebsocketFallbackToProxyHttp On|Off On skE
Instructs this module to let mod_proxy_http handle the request
QualifyRedirectURL On|Off Off skdÇ
REDIRECT_URL ortam değişkeninin tamamen nitelenmiş olup +olmayacağını denetler
ReadBufferSize bayt-sayısı 8192 skdÇ
Veriyi okumakta kullanılacak tampon sayısı
ReadmeName dosya-ismiskdhT
Dizin listesinin sonuna yerleştirilecek dosyanın ismini +belirler.
ReceiveBufferSize bayt-sayısı 0 sM
TCP alım tamponu boyu
Redirect [durum] [URL-yolu] +URLskdhT
İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’ye +yönlendirir.
RedirectMatch [durum] düzenli-ifade +URLskdhT
Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir harici +yönlendirme gönderir.
RedirectPermanent URL-yolu URLskdhT
İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.
RedirectTemp URL-yolu URLskdhT
İstemciyi, geçici bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.
RedisConnPoolTTL num[units] 15s skE
TTL used for the connection pool with the Redis server(s)
RedisTimeout num[units] 5s skE
R/W timeout used for the connection with the Redis server(s)
ReflectorHeader inputheader [outputheader]skdhT
Reflect an input header to the output headers
RegexDefaultOptions [none] [+|-]seçenek [[+|-]seçenek] ... DOTALL DOLLAR_ENDON +sÇ
Regex düzenli ifadeleri için öntanımlı/küresel seçenekleri yapılandırır
RegisterHttpMethod yöntem [yöntem [...]]sÇ
Standart olmayan HTTP yöntemlerini devreye alır
RemoteIPHeader header-fieldskT
Declare the header field which should be parsed for useragent IP addresses
RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...skT
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPInternalProxyList filenameskT
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPProxiesHeader HeaderFieldNameskT
Declare the header field which will record all intermediate IP addresses
RemoteIPProxyProtocol On|OffskT
Enable or disable PROXY protocol handling
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]skT
Disable processing of PROXY header for certain hosts or networks
RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...skT
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPTrustedProxyList filenameskT
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoveCharset extension [extension] +...kdhT
Removes any character set associations for a set of file +extensions
RemoveEncoding extension [extension] +...kdhT
Removes any content encoding associations for a set of file +extensions
RemoveHandler extension [extension] +...kdhT
Removes any handler associations for a set of file +extensions
RemoveInputFilter extension [extension] +...kdhT
Removes any input filter associations for a set of file +extensions
RemoveLanguage extension [extension] +...kdhT
Removes any language associations for a set of file +extensions
RemoveOutputFilter extension [extension] +...kdhT
Removes any output filter associations for a set of file +extensions
RemoveType extension [extension] +...kdhT
Removes any content type associations for a set of file +extensions
RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +skdhE
Configure HTTP request headers
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] + handshake=0 header= +skE
Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Require [not] entity-name + [entity-name] ...dhT
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll> ... </RequireAll>dhT
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny> ... </RequireAny>dhT
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone> ... </RequireNone>dhT
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
RewriteBase URL-pathdhE
Sets the base URL for per-directory rewrites
RewriteCond + TestString CondPattern [flags]skdhE
Defines a condition under which rewriting will take place +
RewriteEngine on|off off skdhE
Enables or disables runtime rewriting engine
RewriteMap MapName MapType:MapSource + [MapTypeOptions] +skE
Defines a mapping function for key-lookup
RewriteOptions OptionsskdhE
Sets some special options for the rewrite engine
RewriteRule + Pattern Substitution [flags]skdhE
Defines rules for the rewriting engine
RLimitCPU saniye|max [saniye|max]skdhÇ
Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + işlemci tüketimine sınırlama getirir.
RLimitMEM bayt-sayısı|max [bayt-sayısı|max] +skdhÇ
Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + bellek tüketimine sınırlama getirir.
RLimitNPROC sayı|max [sayı|max]skdhÇ
Apache httpd alt süreçleri tarafından çalıştırılabilecek süreç + sayısına sınırlama getirir.
Satisfy Any|All All dhE
Interaction between host-level access control and +user authentication
ScoreBoardFile dosya-yolu logs/apache_runtime +sM
Çocuk süreçler için eşgüdüm verisini saklamakta kullanılan + dosyanın yerini belirler.
Script method cgi-scriptskdT
Activates a CGI script for a particular request +method.
ScriptAlias [URL-yolu] +dosya-yolu|dizin-yoluskdT
Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır.
ScriptAliasMatch düzenli-ifade +dosya-yolu|dizin-yoluskT
Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak +eşler ve hedefi bir CGI betiği olarak çalıştırır.
ScriptInterpreterSource Registry|Registry-Strict|Script Script skdhÇ
CGI betikleri için yorumlayıcı belirleme tekniği
ScriptLog file-pathskT
Location of the CGI script error logfile
ScriptLogBuffer bytes 1024 skT
Maximum amount of PUT or POST requests that will be recorded +in the scriptlog
ScriptLogLength bytes 10385760 skT
Size limit of the CGI script logfile
ScriptSock file-path cgisock sT
The filename prefix of the socket to use for communication with +the cgi daemon
SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]sT
Enables SSL encryption for the specified port
SeeRequestTail On|Off Off sÇ
İsteğin 63 karakterden büyük olduğu varsayımıyla, mod_status'un + ilk 63 karakteri mi yoksa son 63 karakteri mi göstereceğini + belirler.
SendBufferSize bayt-sayısı 0 sM
TCP tamponu boyu
ServerAdmin eposta-adresi|URLskÇ
Sunucunun hata iletilerinde istemciye göstereceği eposta adresi +
ServerAlias konakadı [konakadı] ...kÇ
İstekleri isme dayalı sanal konaklarla eşleştirilirken +kullanılacak konak adları için başka isimler belirtebilmeyi sağlar. +
ServerLimit sayısM
Ayarlanabilir süreç sayısının üst sınırını belirler.
ServerName [şema://]alan-adı|ip-adresi[:port] +skÇ
Sunucunun özdeşleşeceği konak ismi ve port.
ServerPath URL-yolukÇ
Uyumsuz bir tarayıcı tarafından erişilmesi için bir isme dayalı sanal konak için meşru URL yolu
ServerRoot dizin-yolu /usr/local/apache sÇ
Sunucu yapılandırması için kök dizin
ServerSignature On|Off|EMail Off skdhÇ
Sunucu tarafından üretilen belgelerin dipnotunu ayarlar. +
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sÇ
Server HTTP yanıt başlığını yapılandırır. +
Session On|Off Off skdhE
Enables a session for the current directory or location
SessionCookieName name attributesskdhE
Name and attributes for the RFC2109 cookie storing the session
SessionCookieName2 name attributesskdhE
Name and attributes for the RFC2965 cookie storing the session
SessionCookieRemove On|Off Off skdhE
Control for whether session cookies should be removed from incoming HTTP headers
SessionCryptoCipher name aes256 skdhD
The crypto cipher to be used to encrypt the session
SessionCryptoDriver name [param[=value]]sD
The crypto driver to be used to encrypt the session
SessionCryptoPassphrase secret [ secret ... ] skdhD
The key used to encrypt the session
SessionCryptoPassphraseFile filenameskdD
File containing keys used to encrypt the session
SessionDBDCookieName name attributesskdhE
Name and attributes for the RFC2109 cookie storing the session ID
SessionDBDCookieName2 name attributesskdhE
Name and attributes for the RFC2965 cookie storing the session ID
SessionDBDCookieRemove On|Off On skdhE
Control for whether session ID cookies should be removed from incoming HTTP headers
SessionDBDDeleteLabel label deletesession skdhE
The SQL query to use to remove sessions from the database
SessionDBDInsertLabel label insertsession skdhE
The SQL query to use to insert sessions into the database
SessionDBDPerUser On|Off Off skdhE
Enable a per user session
SessionDBDSelectLabel label selectsession skdhE
The SQL query to use to select sessions from the database
SessionDBDUpdateLabel label updatesession skdhE
The SQL query to use to update existing sessions in the database
SessionEnv On|Off Off skdhE
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionExclude pathskdhE
Define URL prefixes for which a session is ignored
SessionExpiryUpdateInterval interval 0 (always update) skdhE
Define the number of seconds a session's expiry may change without +the session being updated
SessionHeader headerskdhE
Import session updates from a given HTTP response header
SessionInclude pathskdhE
Define URL prefixes for which a session is valid
SessionMaxAge maxage 0 skdhE
Define a maximum age in seconds for a session
SetEnv ortam-deÄŸiÅŸkeni [deÄŸer]skdhT
Ortam değişkenlerini tanımlar.
SetEnvIf öznitelik + düzifd [!]ort-değişkeni[=değer] + [[!]ort-değişkeni[=değer]] ...skdhT
Ortam değişkenlerini isteğin özniteliklerine göre atar. +
SetEnvIfExpr ifade + [!]ort-deÄŸiÅŸkeni[=deÄŸer] + [[!]ort-deÄŸiÅŸkeni[=deÄŸer]] ...skdhT
Bir ap_expr ifadesine dayanarak ortam deÄŸiÅŸkenlerine deÄŸer atar
SetEnvIfNoCase öznitelik + düzifd [!]ort-değişkeni[=değer] + [[!]ort-değişkeni[=değer]] ...skdhT
Ortam değişkenlerini isteğin özniteliklerinde harf büyüklüğüne +bağlı olmaksızın yapılmış tanımlara göre atar.
SetHandler eylemci-ismi|none|ifadeskdhÇ
Eşleşen tüm dosyaların belli bir eylemci tarafından işlenmesine +sebep olur.
SetInputFilter süzgeç[;süzgeç...]skdhÇ
POST girdilerini ve istemci isteklerini işleyecek süzgeçleri +belirler.
SetOutputFilter süzgeç[;süzgeç...]skdhÇ
Sunucunun yanıtlarını işleyecek süzgeçleri belirler.
SSIEndTag tag "-->" skT
String that ends an include element
SSIErrorMsg message "[an error occurred +skdhT
Error message displayed when there is an SSI +error
SSIETag on|off off dhT
Controls whether ETags are generated by the server.
SSILastModified on|off off dhT
Controls whether Last-Modified headers are generated by the +server.
SSILegacyExprParser on|off off dhT
Enable compatibility mode for conditional expressions.
SSIStartTag tag "<!--#" skT
String that starts an include element
SSITimeFormat formatstring "%A, %d-%b-%Y %H:%M +skdhT
Configures the format in which date strings are +displayed
SSIUndefinedEcho string "(none)" skdhT
String displayed when an unset variable is echoed
SSLCACertificateFile file-pathskE
File of concatenated PEM-encoded CA Certificates +for Client Auth
SSLCACertificatePath directory-pathskE
Directory of PEM-encoded CA Certificates for +Client Auth
SSLCADNRequestFile file-pathskE
File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
SSLCADNRequestPath directory-pathskE
Directory of PEM-encoded CA Certificates for +defining acceptable CA names
SSLCARevocationCheck chain|leaf|none [flags ...] none skE
Enable CRL-based revocation checking
SSLCARevocationFile file-pathskE
File of concatenated PEM-encoded CA CRLs for +Client Auth
SSLCARevocationPath directory-pathskE
Directory of PEM-encoded CA CRLs for +Client Auth
SSLCertificateChainFile file-pathskE
File of PEM-encoded Server CA Certificates
SSLCertificateFile file-path|certidskE
Server PEM-encoded X.509 certificate data file or token identifier
SSLCertificateKeyFile file-path|keyidskE
Server PEM-encoded private key file
SSLCipherSuite [protocol] cipher-spec DEFAULT (depends on +skdhE
Cipher Suite available for negotiation in SSL +handshake
SSLCompression on|off off skE
Enable compression on the SSL level
SSLCryptoDevice engine builtin sE
Enable use of a cryptographic hardware accelerator
SSLEngine on|off|optional off skE
SSL Engine Operation Switch
SSLFIPS on|off off sE
SSL FIPS mode Switch
SSLHonorCipherOrder on|off off skE
Option to prefer the server's cipher preference order
SSLInsecureRenegotiation on|off off skE
Option to enable support for insecure renegotiation
SSLOCSPDefaultResponder uriskE
Set the default responder URI for OCSP validation
SSLOCSPEnable on|leaf|off off skE
Enable OCSP validation of the client certificate chain
SSLOCSPNoverify on|off off skE
skip the OCSP responder certificates verification
SSLOCSPOverrideResponder on|off off skE
Force use of the default responder URI for OCSP validation
SSLOCSPProxyURL urlskE
Proxy URL to use for OCSP requests
SSLOCSPResponderCertificateFile fileskE
Set of trusted PEM encoded OCSP responder certificates
SSLOCSPResponderTimeout seconds 10 skE
Timeout for OCSP queries
SSLOCSPResponseMaxAge seconds -1 skE
Maximum allowable age for OCSP responses
SSLOCSPResponseTimeSkew seconds 300 skE
Maximum allowable time skew for OCSP response validation
SSLOCSPUseRequestNonce on|off on skE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd command-name command-valueskE
Configure OpenSSL parameters through its SSL_CONF API
SSLOptions [+|-]option ...skdhE
Configure various SSL engine run-time options
SSLPassPhraseDialog type builtin sE
Type of pass phrase dialog for encrypted private +keys
SSLProtocol [+|-]protocol ... all -SSLv3 (up to 2 +skE
Configure usable SSL/TLS protocol versions
SSLProxyCACertificateFile file-pathskvE
File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
SSLProxyCACertificatePath directory-pathskvE
Directory of PEM-encoded CA Certificates for +Remote Server Auth
SSLProxyCARevocationCheck chain|leaf|none none skvE
Enable CRL-based revocation checking for Remote Server Auth
SSLProxyCARevocationFile file-pathskvE
File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCARevocationPath directory-pathskvE
Directory of PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCheckPeerCN on|off on skvE
Whether to check the remote server certificate's CN field +
SSLProxyCheckPeerExpire on|off on skvE
Whether to check if remote server certificate is expired +
SSLProxyCheckPeerName on|off on skvE
Configure host name checking for remote server certificates +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +skvE
Cipher Suite available for negotiation in SSL +proxy handshake
SSLProxyEngine on|off off skvE
SSL Proxy Engine Operation Switch
SSLProxyMachineCertificateChainFile filenameskvE
File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
SSLProxyMachineCertificateFile filenameskvE
File of concatenated PEM-encoded client certificates and keys to be used by the proxy
SSLProxyMachineCertificatePath directoryskvE
Directory of PEM-encoded client certificates and keys to be used by the proxy
SSLProxyProtocol [+|-]protocol ... all -SSLv3 (up to 2 +skvE
Configure usable SSL protocol flavors for proxy usage
SSLProxyVerify level none skvE
Type of remote server Certificate verification
SSLProxyVerifyDepth number 1 skvE
Maximum depth of CA Certificates in Remote Server +Certificate verification
SSLRandomSeed context source +[bytes]sE
Pseudo Random Number Generator (PRNG) seeding +source
SSLRenegBufferSize bytes 131072 dhE
Set the size for the SSL renegotiation buffer
SSLRequire expressiondhE
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLdhE
Deny access when SSL is not used for the +HTTP request
SSLSessionCache type none sE
Type of the global/inter-process SSL Session +Cache
SSLSessionCacheTimeout seconds 300 skE
Number of seconds before an SSL session expires +in the Session Cache
SSLSessionTicketKeyFile file-pathskE
Persistent encryption/decryption key for TLS session tickets
SSLSessionTickets on|off on skE
Enable or disable use of TLS session tickets
SSLSRPUnknownUserSeed secret-stringskE
SRP unknown user seed
SSLSRPVerifierFile file-pathskE
Path to SRP verifier file
SSLStaplingCache typesE
Configures the OCSP stapling cache
SSLStaplingErrorCacheTimeout seconds 600 skE
Number of seconds before expiring invalid responses in the OCSP stapling cache
SSLStaplingFakeTryLater on|off on skE
Synthesize "tryLater" responses for failed OCSP stapling queries
SSLStaplingForceURL uriskE
Override the OCSP responder URI specified in the certificate's AIA extension
SSLStaplingResponderTimeout seconds 10 skE
Timeout for OCSP stapling queries
SSLStaplingResponseMaxAge seconds -1 skE
Maximum allowable age for OCSP stapling responses
SSLStaplingResponseTimeSkew seconds 300 skE
Maximum allowable time skew for OCSP stapling response validation
SSLStaplingReturnResponderErrors on|off on skE
Pass stapling related OCSP errors on to client
SSLStaplingStandardCacheTimeout seconds 3600 skE
Number of seconds before expiring responses in the OCSP stapling cache
SSLStrictSNIVHostCheck on|off off skE
Whether to allow non-SNI clients to access a name-based virtual +host. +
SSLUserName varnamesdhE
Variable name to determine user name
SSLUseStapling on|off off skE
Enable stapling of OCSP responses in the TLS handshake
SSLVerifyClient level none skdhE
Type of Client Certificate verification
SSLVerifyDepth number 1 skdhE
Maximum depth of CA Certificates in Client +Certificate verification
StartServers sayısM
Sunucunun başlatılması sırasında oluşturulan çocuk süreçlerin + sayısını belirler.
StartThreads sayısM
Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını + belirler.
StrictHostCheck ON|OFF OFF skÇ
Sunucunun, istenen konak adının, isteği işleyen sanal konakta +listelenmesini gerektirip gerektirmediğini denetler
Substitute s/pattern/substitution/[infq]dhE
Pattern to filter the response content
SubstituteInheritBefore on|off off dhE
Change the merge order of inherited patterns
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) 1m dhE
Set the maximum line size
Suexec On|OffsT
suEXEC özelliğini etkin veya etkisiz yapar
SuexecUserGroup Kullanıcı GrupskE
CGI betiklerini çalıştıracak kullanıcı ve grup belirtilir. +
ThreadLimit sayısM
Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını + belirler.
ThreadsPerChild sayısM
Her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler.
ThreadStackSize boyutsM
İstemci bağlantılarını elde eden evreler tarafından kullanılan + yığıtın bayt cinsinden uzunluğunu belirler.
TimeOut saniye 60 skÇ
Bir istek için başarısız olmadan önce belirli olayların +gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.
TLSCertificate cert_file [key_file]skD
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)skD
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)skD
defines ciphers that are not to be used.
TLSEngine [address:]portsD
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on skD
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionskdhD
enables SSL variables for requests.
TLSProtocol version+ v1.2+ skD
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemskvD
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)skvD
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)skvD
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offskvD
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]skvD
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ skvD
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsD
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sD
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on skÇ
TRACE isteklerinde davranış şeklini belirler +
TransferLog dosya|borulu-süreç +[takma-ad]skT
Bir günlük dosyasının yerini belirtir.
TypesConfig file-path conf/mime.types sT
The location of the mime.types file
UnDefine değişken-ismisÇ
Bir değişkeni tanımsız yapar
UndefMacro nameskdT
Undefine a macro
UnsetEnv ortam-deÄŸiÅŸkeni [ortam-deÄŸiÅŸkeni] +...skdhT
Ortamdaki değişkenleri tanımsız hale getirir.
Use name [value1 ... valueN] +skdT
Use a macro
UseCanonicalName On|Off|DNS Off skdÇ
Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +
UseCanonicalPhysicalPort On|Off Off skdÇ
Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +
User unix-kullanıcısı #-1 sT
İsteklere yanıt verecek sunucunun ait olacağı kullanıcıyı + belirler.
UserDir dizin [dizin] ...skT
Kullanıcıya özel dizinlerin yeri
VHostCGIMode On|Off|Secure On kD
Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...kD
Assign arbitrary privileges to subprocesses created +by a virtual host.
VHostGroup unix-groupidkD
Sets the Group ID under which a virtual host runs.
VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...kD
Assign arbitrary privileges to a virtual host.
VHostSecure On|Off On kD
Determines whether the server runs with enhanced security +for the virtualhost.
VHostUser unix-useridkD
Sets the User ID under which a virtual host runs.
VirtualDocumentRoot hesaplanan-dizin|none none skE
Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +
VirtualDocumentRootIP hesaplanan-dizin|none none skE
Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +
<VirtualHost + adres[:port] [adres[:port]] + ...> ... </VirtualHost>sÇ
Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.
VirtualScriptAlias hesaplanan-dizin|none none skE
Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +
VirtualScriptAliasIP hesaplanan-dizin|none none skE
Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +
WatchdogInterval time-interval[s] 1 sT
Watchdog interval in seconds
XBitHack on|off|full off skdhT
Parse SSI directives in files with the execute bit +set
xml2EncAlias charset alias [alias ...]sT
Recognise Aliases for encoding values
xml2EncDefault nameskdhT
Sets a default encoding to assume when absolutely no information +can be automatically detected
xml2StartParse element [element ...]skdhT
Advise the parser to skip leading junk.
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.zh-cn.utf8 b/docs/manual/mod/quickreference.html.zh-cn.utf8 new file mode 100644 index 0000000..cc4ade4 --- /dev/null +++ b/docs/manual/mod/quickreference.html.zh-cn.utf8 @@ -0,0 +1,1243 @@ + + + + + +指令快速索引 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + + +
<-
+ +

指令快速索引

+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

指令快速索引显示指令的用法,默认值,状æ€å’Œä¸Šä¸‹æ–‡ã€‚è¦èŽ·å¾—更多信æ¯ï¼Œè¯·å‚è§ æ述指令的术语。

+ +

第一列给出指令的å称与用法。第二列显示指令的默认值(如果有的è¯)。 + 如果因为默认值太长而被截断显示,会在最åŽä¸€ä¸ªå­—符之åŽæ˜¾ç¤ºå­—符 “+â€ã€‚

+ +

第三列显示å…许此指令的上下文,第四列显示指令的状æ€ã€‚

+
+
+ + + +
 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  Q  |  R  |  S  |  T  |  U  |  V  |  W  |  X  + + + + +
sæœåŠ¡å™¨é…ç½®
v虚拟主机
d目录
h.htaccess
+ + + + + +
C核心
MMPM
B基础
E扩展
X实验
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AcceptFilter protocol accept_filtersC
Configures optimizations for a Protocol's Listener Sockets
AcceptPathInfo On|Off|Default Default svdhC
Resources accept trailing pathname information
AccessFileName filename [filename] ... .htaccess svC
Name of the distributed configuration file
Action action-type cgi-script [virtual]svdhB
Activates a CGI script for a particular handler or +content-type
AddAlt string file [file] ...svdhB
Alternate text to display for a file, instead of an +icon selected by filename
AddAltByEncoding string MIME-encoding +[MIME-encoding] ...svdhB
Alternate text to display for a file instead of an icon +selected by MIME-encoding
AddAltByType string MIME-type +[MIME-type] ...svdhB
Alternate text to display for a file, instead of an +icon selected by MIME content-type
AddCharset charset extension +[extension] ...svdhB
Maps the given filename extensions to the specified content +charset
AddDefaultCharset On|Off|charset Off svdhC
Default charset parameter to be added when a response +content-type is text/plain or text/html
AddDescription string file [file] ...svdhB
Description to display for a file
AddEncoding encoding extension +[extension] ...svdhB
Maps the given filename extensions to the specified encoding +type
AddHandler handler-name extension +[extension] ...svdhB
Maps the filename extensions to the specified +handler
AddIcon icon name [name] +...svdhB
Icon to display for a file selected by name
AddIconByEncoding icon MIME-encoding +[MIME-encoding] ...svdhB
Icon to display next to files selected by MIME +content-encoding
AddIconByType icon MIME-type +[MIME-type] ...svdhB
Icon to display next to files selected by MIME +content-type
AddInputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +client requests
AddLanguage language-tag extension +[extension] ...svdhB
Maps the given filename extension to the specified content +language
AddModuleInfo module-name stringsvE
Adds additional information to the module +information displayed by the server-info handler
AddOutputFilter filter[;filter...] +extension [extension] ...svdhB
Maps filename extensions to the filters that will process +responses from the server
AddOutputFilterByType filter[;filter...] +media-type [media-type] ...svdhB
assigns an output filter to a particular media-type
AddType media-type extension +[extension] ...svdhB
Maps the given filename extensions onto the specified content +type
Alias [URL-path] +file-path|directory-pathsvdB
Maps URLs to filesystem locations
AliasMatch regex +file-path|directory-pathsvB
Maps URLs to filesystem locations using regular +expressions
Allow from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts can access an area of the +server
AllowCONNECT port[-port] +[port[-port]] ... 443 563 svE
Ports that are allowed to CONNECT through the +proxy
AllowEncodedSlashes On|Off|NoDecode Off svC
Determines whether encoded path separators in URLs are allowed to +be passed through
AllowMethods reset|HTTP-method +[HTTP-method]... reset dX
Restrict access to the listed HTTP methods
AllowOverride All|None|directive-type +[directive-type] ... None (2.3.9 and lat +dC
Types of directives that are allowed in +.htaccess files
AllowOverrideList None|directive +[directive-type] ... None dC
Individual directives that are allowed in +.htaccess files
Anonymous user [user] ...dhE
Specifies userIDs that are allowed access without +password verification
Anonymous_LogEmail On|Off On dhE
Sets whether the password entered will be logged in the +error log
Anonymous_MustGiveEmail On|Off On dhE
Specifies whether blank passwords are allowed
Anonymous_NoUserID On|Off Off dhE
Sets whether the userID field may be empty
Anonymous_VerifyEmail On|Off Off dhE
Sets whether to check the password field for a correctly +formatted email address
AsyncRequestWorkerFactor factorsM
Limit concurrent connections per process
AuthBasicAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthBasicFake off|username [password]dhB
Fake basic authentication using the given expressions for +username and password
AuthBasicProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthBasicUseDigestAlgorithm MD5|Off Off dhB
Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +
AuthDBDUserPWQuery querydE
SQL query to look up a password for a user
AuthDBDUserRealmQuery querydE
SQL query to look up a password hash for a user and realm. +
AuthDBMGroupFile file-pathdhE
Sets the name of the database file containing the list +of user groups for authorization
AuthDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store passwords
AuthDBMUserFile file-pathdhE
Sets the name of a database file containing the list of users and +passwords for authentication
AuthDigestAlgorithm MD5|MD5-sess MD5 dhE
Selects the algorithm used to calculate the challenge and +response hashes in digest authentication
AuthDigestDomain URI [URI] ...dhE
URIs that are in the same protection space for digest +authentication
AuthDigestNonceLifetime seconds 300 dhE
How long the server nonce is valid
AuthDigestProvider provider-name +[provider-name] ... file dhE
Sets the authentication provider(s) for this location
AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhE
Determines the quality-of-protection to use in digest +authentication
AuthDigestShmemSize size 1000 sE
The amount of shared memory to allocate for keeping track +of clients
AuthFormAuthoritative On|Off On dhB
Sets whether authorization and authentication are passed to +lower level modules
AuthFormBody fieldname httpd_body dB
The name of a form field carrying the body of the request to attempt on successful login
AuthFormDisableNoStore On|Off Off dB
Disable the CacheControl no-store header on the login page
AuthFormFakeBasicAuth On|Off Off dB
Fake a Basic Authentication header
AuthFormLocation fieldname httpd_location dB
The name of a form field carrying a URL to redirect to on successful login
AuthFormLoginRequiredLocation urldB
The URL of the page to be redirected to should login be required
AuthFormLoginSuccessLocation urldB
The URL of the page to be redirected to should login be successful
AuthFormLogoutLocation uridB
The URL to redirect to after a user has logged out
AuthFormMethod fieldname httpd_method dB
The name of a form field carrying the method of the request to attempt on successful login
AuthFormMimetype fieldname httpd_mimetype dB
The name of a form field carrying the mimetype of the body of the request to attempt on successful login
AuthFormPassword fieldname httpd_password dB
The name of a form field carrying the login password
AuthFormProvider provider-name +[provider-name] ... file dhB
Sets the authentication provider(s) for this location
AuthFormSitePassphrase secretdB
Bypass authentication checks for high traffic sites
AuthFormSize size 8192 dB
The largest size of the form in bytes that will be parsed for the login details
AuthFormUsername fieldname httpd_username dB
The name of a form field carrying the login username
AuthGroupFile file-pathdhB
Sets the name of a text file containing the list +of user groups for authorization
AuthLDAPAuthorizePrefix prefix AUTHORIZE_ dhE
Specifies the prefix for environment variables set during +authorization
AuthLDAPBindAuthoritative off|on on dhE
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.
AuthLDAPBindDN distinguished-namedhE
Optional DN to use in binding to the LDAP server
AuthLDAPBindPassword passworddhE
Password used in conjunction with the bind DN
AuthLDAPCharsetConfig file-pathsE
Language to charset conversion configuration file
AuthLDAPCompareAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization comparisons
AuthLDAPCompareDNOnServer on|off on dhE
Use the LDAP server to compare the DNs
AuthLDAPDereferenceAliases never|searching|finding|always always dhE
When will the module de-reference aliases
AuthLDAPGroupAttribute attribute member uniqueMember +dhE
LDAP attributes used to identify the user members of +groups.
AuthLDAPGroupAttributeIsDN on|off on dhE
Use the DN of the client username when checking for +group membership
AuthLDAPInitialBindAsUser off|on off dhE
Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server
AuthLDAPInitialBindPattern regex substitution (.*) $1 (remote use +dhE
Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup
AuthLDAPMaxSubGroupDepth Number 10 dhE
Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.
AuthLDAPRemoteUserAttribute uiddhE
Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable
AuthLDAPRemoteUserIsDN on|off off dhE
Use the DN of the client username to set the REMOTE_USER +environment variable
AuthLDAPSearchAsUser on|off off dhE
Use the authenticated user's credentials to perform authorization searches
AuthLDAPSubGroupAttribute attribute member uniqueMember +dhE
Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.
AuthLDAPSubGroupClass LdapObjectClass groupOfNames groupO +dhE
Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.
AuthLDAPURL url [NONE|SSL|TLS|STARTTLS]dhE
URL specifying the LDAP search parameters
AuthMerging Off | And | Or Off dhB
Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.
AuthName auth-domaindhB
Authorization realm for use in HTTP +authentication
AuthnCacheContext directory|server|custom-string directory dB
Specify a context string for use in the cache key
AuthnCacheEnablesB
Enable Authn caching configured anywhere
AuthnCacheProvideFor authn-provider [...]dhB
Specify which authn provider(s) to cache for
AuthnCacheSOCache provider-name[:provider-args]sB
Select socache backend provider to use
AuthnCacheTimeout timeout (seconds) 300 (5 minutes) dhB
Set a timeout for cache entries
<AuthnProviderAlias baseProvider Alias> +... </AuthnProviderAlias>sB
Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias
AuthnzFcgiCheckAuthnProvider provider-name|None +option ...dE
Enables a FastCGI application to handle the check_authn +authentication hook.
AuthnzFcgiDefineProvider type provider-name +backend-addresssE
Defines a FastCGI application as a provider for +authentication and/or authorization
AuthType None|Basic|Digest|FormdhB
Type of user authentication
AuthUserFile file-pathdhB
Sets the name of a text file containing the list of users and +passwords for authentication
AuthzDBDLoginToReferer On|Off Off dE
Determines whether to redirect the Client to the Referring +page on successful login or logout if a Referer request +header is present
AuthzDBDQuery querydE
Specify the SQL Query for the required operation
AuthzDBDRedirectQuery querydE
Specify a query to look up a login page for the user
AuthzDBMType default|SDBM|GDBM|NDBM|DB default dhE
Sets the type of database file that is used to +store list of user groups
<AuthzProviderAlias baseProvider Alias Require-Parameters> +... </AuthzProviderAlias> +sB
Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias
AuthzSendForbiddenOnFailure On|Off Off dhB
Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +
BalancerGrowth # 5 svE
Number of additional Balancers that can be added Post-configuration
BalancerInherit On|Off On svE
Inherit ProxyPassed Balancers/Workers from the main server
BalancerMember [balancerurl] url [key=value [key=value ...]]dE
Add a member to a load balancing group
BalancerPersist On|Off Off svE
Attempt to persist changes made by the Balancer Manager across restarts.
BrotliAlterETag AddSuffix|NoChange|Remove AddSuffix svE
How the outgoing ETag header should be modified during compression
BrotliCompressionMaxInputBlock valuesvE
Maximum input block size
BrotliCompressionQuality value 5 svE
Compression quality
BrotliCompressionWindow value 18 svE
Brotli sliding compression window size
BrotliFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
BrowserMatch regex [!]env-variable[=value] +[[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on HTTP User-Agent +
BrowserMatchNoCase regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables conditional on User-Agent without +respect to case
BufferedLogs On|Off Off sB
Buffer log entries in memory before writing to disk
BufferSize integer 131072 svdhE
Maximum size in bytes to buffer by the buffer filter
CacheDefaultExpire seconds 3600 (one hour) svdhE
The default duration to cache a document when no expiry date is specified.
CacheDetailHeader on|off off svdhE
Add an X-Cache-Detail header to the response.
CacheDirLength length 2 svE
The number of characters in subdirectory names
CacheDirLevels levels 2 svE
The number of levels of subdirectories in the +cache.
CacheDisable url-string | onsvdhE
Disable caching of specified URLs
CacheEnable cache_type [url-string]svdE
Enable caching of specified URLs using a specified storage +manager
CacheFile file-path [file-path] ...sX
Cache a list of file handles at startup time
CacheHeader on|off off svdhE
Add an X-Cache header to the response.
CacheIgnoreCacheControl On|Off Off svE
Ignore request to not serve cached content to client
CacheIgnoreHeaders header-string [header-string] ... None svE
Do not store the given HTTP header(s) in the cache. +
CacheIgnoreNoLastMod On|Off Off svdhE
Ignore the fact that a response has no Last Modified +header.
CacheIgnoreQueryString On|Off Off svE
Ignore query string when caching
CacheIgnoreURLSessionIdentifiers identifier [identifier] ... None svE
Ignore defined session identifiers encoded in the URL when caching +
CacheKeyBaseURL URLsvE
Override the base URL of reverse proxied cache keys.
CacheLastModifiedFactor float 0.1 svdhE
The factor used to compute an expiry date based on the +LastModified date.
CacheLock on|off off svE
Enable the thundering herd lock.
CacheLockMaxAge integer 5 svE
Set the maximum possible age of a cache lock.
CacheLockPath directory /tmp/mod_cache-lock +svE
Set the lock path directory.
CacheMaxExpire seconds 86400 (one day) svdhE
The maximum time in seconds to cache a document
CacheMaxFileSize bytes 1000000 svdhE
The maximum size (in bytes) of a document to be placed in the +cache
CacheMinExpire seconds 0 svdhE
The minimum time in seconds to cache a document
CacheMinFileSize bytes 1 svdhE
The minimum size (in bytes) of a document to be placed in the +cache
CacheNegotiatedDocs On|Off Off svB
Allows content-negotiated documents to be +cached by proxy servers
CacheQuickHandler on|off on svE
Run the cache from the quick handler.
CacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheRoot directorysvE
The directory root under which cache files are +stored
CacheSocache type[:args]svE
The shared object cache implementation to use
CacheSocacheMaxSize bytes 102400 svdhE
The maximum size (in bytes) of an entry to be placed in the +cache
CacheSocacheMaxTime seconds 86400 svdhE
The maximum time (in seconds) for a document to be placed in the +cache
CacheSocacheMinTime seconds 600 svdhE
The minimum time (in seconds) for a document to be placed in the +cache
CacheSocacheReadSize bytes 0 svdhE
The minimum size (in bytes) of the document to read and be cached + before sending the data downstream
CacheSocacheReadTime milliseconds 0 svdhE
The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream
CacheStaleOnError on|off on svdhE
Serve stale content in place of 5xx responses.
CacheStoreExpired On|Off Off svdhE
Attempt to cache responses that the server reports as expired
CacheStoreNoStore On|Off Off svdhE
Attempt to cache requests or responses that have been marked as no-store.
CacheStorePrivate On|Off Off svdhE
Attempt to cache responses that the server has marked as private
CGIDScriptTimeout time[s|ms]svdhB
The length of time to wait for more output from the +CGI program
CGIMapExtension cgi-path .extensiondhC
Technique for locating the interpreter for CGI +scripts
CGIPassAuth On|Off Off dhC
Enables passing HTTP authorization headers to scripts as CGI +variables
CGIVar variable ruledhC
Controls how some CGI variables are set
CharsetDefault charsetsvdhE
Charset to translate into
CharsetOptions option [option] ... ImplicitAdd svdhE
Configures charset translation behavior
CharsetSourceEnc charsetsvdhE
Source charset of files
CheckBasenameMatch on|off On svdhE
Also match files with differing file name extensions.
CheckCaseOnly on|off Off svdhE
Limits the action of the speling module to case corrections
CheckSpelling on|off Off svdhE
Enables the spelling +module
ChrootDir /path/to/directorysB
Directory for apache to run chroot(8) after startup.
ContentDigest On|Off Off svdhC
Enables the generation of Content-MD5 HTTP Response +headers
CookieDomain domainsvdhE
The domain to which the tracking cookie applies
CookieExpires expiry-periodsvdhE
Expiry time for the tracking cookie
CookieHTTPOnly on|off off svdhE
Adds the 'HTTPOnly' attribute to the cookie
CookieName token Apache svdhE
Name of the tracking cookie
CookieSameSite None|Lax|StrictsvdhE
Adds the 'SameSite' attribute to the cookie
CookieSecure on|off off svdhE
Adds the 'Secure' attribute to the cookie
CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
Format of the cookie header field
CookieTracking on|off off svdhE
Enables tracking cookie
CoreDumpDirectory directorysM
Directory where Apache HTTP Server attempts to +switch before dumping core
CustomLog file|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]svB
Sets filename and format of log file
Dav On|Off|provider-name Off dE
Enable WebDAV HTTP methods
DavDepthInfinity on|off off svdE
Allow PROPFIND, Depth: Infinity requests
DavGenericLockDB file-pathsvdE
Location of the DAV lock database
DavLockDB file-pathsvE
Location of the DAV lock database
DavLockDiscovery on|off on svdhE
Enable lock discovery
DavMinTimeout seconds 0 svdE
Minimum amount of time the server holds a lock on +a DAV resource
DBDExptime time-in-seconds 300 svE
Keepalive time for idle connections
DBDInitSQL "SQL statement"svE
Execute an SQL statement after connecting to a database
DBDKeep number 2 svE
Maximum sustained number of connections
DBDMax number 10 svE
Maximum number of connections
DBDMin number 1 svE
Minimum number of connections
DBDParams +param1=value1[,param2=value2]svE
Parameters for database connection
DBDPersist On|OffsvE
Whether to use persistent connections
DBDPrepareSQL "SQL statement" labelsvE
Define an SQL prepared statement
DBDriver namesvE
Specify an SQL driver
DefaultIcon url-pathsvdhB
Icon to display for files when no specific icon is +configured
DefaultLanguage language-tagsvdhB
Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.
DefaultRuntimeDir directory-path DEFAULT_REL_RUNTIME +sC
Base directory for the server run-time files
DefaultType media-type|none none svdhC
This directive has no effect other than to emit warnings +if the value is not none. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +
Define parameter-name [parameter-value]svdC
Define a variable
DeflateBufferSize value 8096 svE
Fragment size to be compressed at one time by zlib
DeflateCompressionLevel valuesvE
How much compression do we apply to the output
DeflateFilterNote [type] notenamesvE
Places the compression ratio in a note for logging
DeflateInflateLimitRequestBody valuesvdhE
Maximum size of inflated request bodies
DeflateInflateRatioBurst value 3 svdhE
Maximum number of times the inflation ratio for request bodies + can be crossed
DeflateInflateRatioLimit value 200 svdhE
Maximum inflation ratio for request bodies
DeflateMemLevel value 9 svE
How much memory should be used by zlib for compression
DeflateWindowSize value 15 svE
Zlib compression window size
Deny from all|host|env=[!]env-variable +[host|env=[!]env-variable] ...dhE
Controls which hosts are denied access to the +server
<Directory directory-path> +... </Directory>svC
Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.
DirectoryCheckHandler On|Off Off svdhB
Toggle how this module responds when another handler is configured
DirectoryIndex + disabled | local-url [local-url] ... index.html svdhB
List of resources to look for when the client requests +a directory
DirectoryIndexRedirect on | off | permanent | temp | seeother | +3xx-code + off svdhB
Configures an external redirect for directory indexes. +
<DirectoryMatch regex> +... </DirectoryMatch>svC
Enclose directives that apply to +the contents of file-system directories matching a regular expression.
DirectorySlash On|Off On svdhB
Toggle trailing slash redirects on or off
DocumentRoot directory-path "/usr/local/apache/ +svC
Directory that forms the main document tree visible +from the web
DTracePrivileges On|Off Off sX
Determines whether the privileges required by dtrace are enabled.
DumpIOInput On|Off Off sE
Dump all input data to the error log
DumpIOOutput On|Off Off sE
Dump all output data to the error log
<Else> ... </Else>svdhC
Contains directives that apply only if the condition of a +previous <If> or +<ElseIf> section is not +satisfied by a request at runtime
<ElseIf expression> ... </ElseIf>svdhC
Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<If> or +<ElseIf> section is not +satisfied
EnableExceptionHook On|Off Off sM
Enables a hook that runs exception handlers +after a crash
EnableMMAP On|Off On svdhC
Use memory-mapping to read files during delivery
EnableSendfile On|Off Off svdhC
Use the kernel sendfile support to deliver files to the client
Error messagesvdhC
Abort configuration parsing with a custom error message
ErrorDocument error-code documentsvdhC
What the server will return to the client +in case of an error
ErrorLog file-path|syslog[:[facility][:tag]] logs/error_log (Uni +svC
Location where the server will log errors
ErrorLogFormat [connection|request] formatsvC
Format specification for error log entries
ExamplesvdhX
Demonstration directive to illustrate the Apache module +API
ExpiresActive On|Off Off svdhE
Enables generation of Expires +headers
ExpiresByType MIME-type +<code>secondssvdhE
Value of the Expires header configured +by MIME type
ExpiresDefault <code>secondssvdhE
Default algorithm for calculating expiration time
ExtendedStatus On|Off Off[*] sC
Keep track of extended status information for each +request
ExtFilterDefine filtername parameterssE
Define an external filter
ExtFilterOptions option [option] ... NoLogStderr dE
Configure mod_ext_filter options
FallbackResource disabled | local-urlsvdhB
Define a default URL for requests that don't map to a file
FileETag component ... MTime Size svdhC
File attributes used to create the ETag +HTTP response header for static files
<Files filename> ... </Files>svdhC
Contains directives that apply to matched +filenames
<FilesMatch regex> ... </FilesMatch>svdhC
Contains directives that apply to regular-expression matched +filenames
FilterChain [+=-@!]filter-name ...svdhB
Configure the filter chain
FilterDeclare filter-name [type]svdhB
Declare a smart filter
FilterProtocol filter-name [provider-name] + proto-flagssvdhB
Deal with correct HTTP protocol handling
FilterProvider filter-name provider-name + expressionsvdhB
Register a content filter
FilterTrace filter-name levelsvdB
Get debug/diagnostic information from + mod_filter
FlushMaxPipelined number 5 svC
Maximum number of pipelined responses above which they are flushed +to the network
FlushMaxThreshold number-of-bytes 65536 svC
Threshold above which pending data are flushed to the +network
ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
Action to take if a single acceptable document is not +found
ForceType media-type|NonedhC
Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field
ForensicLog filename|pipesvE
Sets filename of the forensic log
GlobalLogfile|pipe +format|nickname +[env=[!]environment-variable| +expr=expression]sB
Sets filename and format of log file
GprofDir /tmp/gprof/|/tmp/gprof/%svC
Directory to write gmon.out profiling data to.
GracefulShutdownTimeout seconds 0 sM
Specify a timeout after which a gracefully shutdown server +will exit.
Group unix-group #-1 sB
Group under which the server will answer +requests
H2CopyFiles on|off off svdhE
Determine file handling in responses
H2Direct on|off on for h2c, off for +svE
H2 Direct Protocol Switch
H2EarlyHints on|off off svE
Determine sending of 103 status codes
H2MaxSessionStreams n 100 svE
Maximum number of active streams per HTTP/2 session.
H2MaxWorkerIdleSeconds n 600 sE
Maximum number of seconds h2 workers remain idle until shut down.
H2MaxWorkers nsE
Maximum number of worker threads to use per child process.
H2MinWorkers nsE
Minimal number of worker threads to use per child process.
H2ModernTLSOnly on|off on svE
Require HTTP/2 connections to be "modern TLS" only
H2OutputBuffering on|off on svE
Determine buffering behaviour of output
H2Padding numbits 0 svE
Determine the range of padding bytes added to payload frames
H2Push on|off on svdhE
H2 Server Push Switch
H2PushDiarySize n 256 svE
H2 Server Push Diary Size
H2PushPriority mime-type [after|before|interleaved] [weight] * After 16 svE
H2 Server Push Priority
H2PushResource [add] path [critical]svdhE
Declares resources for early pushing to the client
H2SerializeHeaders on|off off svE
Serialize Request/Response Processing Switch
H2StreamMaxMemSize bytes 65536 svE
Maximum amount of output data buffered per stream.
H2TLSCoolDownSecs seconds 1 svE
Configure the number of seconds of idle time on TLS before shrinking writes
H2TLSWarmUpSize amount 1048576 svE
Configure the number of bytes on TLS connection before doing max writes
H2Upgrade on|off on for h2c, off for +svdhE
H2 Upgrade Protocol Switch
H2WindowSize bytes 65535 svE
Size of Stream Window for upstream data.
Header [condition] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP response headers
HeaderName filenamesvdhB
Name of the file that will be inserted at the top +of the index listing
HeartbeatAddress addr:portsX
Multicast address for heartbeat packets
HeartbeatListen addr:portsX
multicast address to listen for incoming heartbeat requests
HeartbeatMaxServers number-of-servers 10 sX
Specifies the maximum number of servers that will be sending +heartbeat requests to this server
HeartbeatStorage file-path logs/hb.dat sX
Path to store heartbeat data when using flat-file storage
HeartbeatStorage file-path logs/hb.dat sX
Path to read heartbeat data
HostnameLookups On|Off|Double Off svdC
Enables DNS lookups on client IP addresses
HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0] Strict LenientMetho +svC
Modify restrictions on HTTP Request Messages
IdentityCheck On|Off Off svdE
Enables logging of the RFC 1413 identity of the remote +user
IdentityCheckTimeout seconds 30 svdE
Determines the timeout duration for ident requests
<If expression> ... </If>svdhC
Contains directives that apply only if a condition is +satisfied by a request at runtime
<IfDefine [!]parameter-name> ... + </IfDefine>svdhC
Encloses directives that will be processed only +if a test is true at startup
<IfDirective [!]directive-name> ... + </IfDirective>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific directive
<IfFile [!]filename> ... + </IfFile>svdhC
Encloses directives that will be processed only +if file exists at startup
<IfModule [!]module-file|module-identifier> ... + </IfModule>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific module
<IfSection [!]section-name> ... + </IfSection>svdhC
Encloses directives that are processed conditional on the +presence or absence of a specific section directive
<IfVersion [[!]operator] version> ... +</IfVersion>svdhE
contains version dependent configuration
ImapBase map|referer|URL http://servername/ svdhB
Default base for imagemap files
ImapDefault error|nocontent|map|referer|URL nocontent svdhB
Default action when an imagemap is called with coordinates +that are not explicitly mapped
ImapMenu none|formatted|semiformatted|unformatted formatted svdhB
Action if no coordinates are given when calling +an imagemap
Include file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IncludeOptional file-path|directory-path|wildcardsvdC
Includes other configuration files from within +the server configuration files
IndexHeadInsert "markup ..."svdhB
Inserts text in the HEAD section of an index page.
IndexIgnore file [file] ... "." svdhB
Adds to the list of files to hide when listing +a directory
IndexIgnoreReset ON|OFFsvdhB
Empties the list of files to hide when listing +a directory
IndexOptions [+|-]option [[+|-]option] +...svdhB
Various configuration settings for directory +indexing
IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
Sets the default ordering of the directory index
IndexStyleSheet url-pathsvdhB
Adds a CSS stylesheet to the directory index
InputSed sed-commanddhX
Sed command to filter request data (typically POST data)
ISAPIAppendLogToErrors on|off off svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the error log
ISAPIAppendLogToQuery on|off on svdhB
Record HSE_APPEND_LOG_PARAMETER requests from +ISAPI extensions to the query field
ISAPICacheFile file-path [file-path] +...svB
ISAPI .dll files to be loaded at startup
ISAPIFakeAsync on|off off svdhB
Fake asynchronous support for ISAPI callbacks
ISAPILogNotSupported on|off off svdhB
Log unsupported feature requests from ISAPI +extensions
ISAPIReadAheadBuffer size 49152 svdhB
Size of the Read Ahead Buffer sent to ISAPI +extensions
KeepAlive On|Off On svC
Enables HTTP persistent connections
KeepAliveTimeout num[ms] 5 svC
Amount of time the server will wait for subsequent +requests on a persistent connection
KeptBodySize maximum size in bytes 0 dB
Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.
LanguagePriority MIME-lang [MIME-lang] +...svdhB
The precedence of language variants for cases where +the client does not express a preference
LDAPCacheEntries number 1024 sE
Maximum number of entries in the primary LDAP cache
LDAPCacheTTL seconds 600 sE
Time that cached items remain valid
LDAPConnectionPoolTTL n -1 svE
Discard backend connections that have been sitting in the connection pool too long
LDAPConnectionTimeout secondssE
Specifies the socket connection timeout in seconds
LDAPLibraryDebug 7sE
Enable debugging in the LDAP SDK
LDAPOpCacheEntries number 1024 sE
Number of entries used to cache LDAP compare +operations
LDAPOpCacheTTL seconds 600 sE
Time that entries in the operation cache remain +valid
LDAPReferralHopLimit numberdhE
The maximum number of referral hops to chase before terminating an LDAP query.
LDAPReferrals On|Off|default On dhE
Enable referral chasing during queries to the LDAP server.
LDAPRetries number-of-retries 3 sE
Configures the number of LDAP server retries.
LDAPRetryDelay seconds 0 sE
Configures the delay between LDAP server retries.
LDAPSharedCacheFile directory-path/filenamesE
Sets the shared memory cache file
LDAPSharedCacheSize bytes 500000 sE
Size in bytes of the shared-memory cache
LDAPTimeout seconds 60 sE
Specifies the timeout for LDAP search and bind operations, in seconds
LDAPTrustedClientCert type directory-path/filename/nickname [password]dhE
Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.
LDAPTrustedGlobalCert type directory-path/filename [password]sE
Sets the file or database containing global trusted +Certificate Authority or global client certificates
LDAPTrustedMode typesvE
Specifies the SSL/TLS mode to be used when connecting to an LDAP server.
LDAPVerifyServerCert On|Off On sE
Force server certificate verification
<Limit method [method] ... > ... + </Limit>dhC
Restrict enclosed access controls to only certain HTTP +methods
<LimitExcept method [method] ... > ... + </LimitExcept>dhC
Restrict access controls to all HTTP methods +except the named ones
LimitInternalRecursion number [number] 10 svC
Determine maximum number of internal redirects and nested +subrequests
LimitRequestBody bytes 1073741824 svdhC
Restricts the total size of the HTTP request body sent +from the client
LimitRequestFields number 100 svC
Limits the number of HTTP request header fields that +will be accepted from the client
LimitRequestFieldSize bytes 8190 svC
Limits the size of the HTTP request header allowed from the +client
LimitRequestLine bytes 8190 svC
Limit the size of the HTTP request line that will be accepted +from the client
LimitXMLRequestBody bytes 1000000 svdhC
Limits the size of an XML-based request body
Listen [IP-address:]portnumber [protocol]sM
IP addresses and ports that the server +listens to
ListenBackLog backlog 511 sM
Maximum length of the queue of pending connections
ListenCoresBucketsRatio ratio 0 (disabled) sM
Ratio between the number of CPU cores (online) and the number of +listeners' buckets
LoadFile filename [filename] ...svE
Link in the named object file or library
LoadModule module filenamesvE
Links in the object file or library, and adds to the list +of active modules
<Location + URL-path|URL> ... </Location>svC
Applies the enclosed directives only to matching +URLs
<LocationMatch + regex> ... </LocationMatch>svC
Applies the enclosed directives only to regular-expression +matching URLs
LogFormat format|nickname +[nickname] "%h %l %u %t \"%r\" +svB
Describes a format for use in a log file
LogIOTrackTTFB ON|OFF OFF svdhE
Enable tracking of time to first byte (TTFB)
LogLevel [module:]level + [module:level] ... + warn svdC
Controls the verbosity of the ErrorLog
LogMessage message +[hook=hook] [expr=expression] +dX
Log user-defined message to error log +
LuaAuthzProvider provider_name /path/to/lua/script.lua function_namesE
Plug an authorization provider function into mod_authz_core +
LuaCodeCache stat|forever|never stat svdhE
Configure the compiled code cache.
LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the access_checker phase of request processing
LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the auth_checker phase of request processing
LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]svdhE
Provide a hook for the check_user_id phase of request processing
LuaHookFixups /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the fixups phase of a request +processing
LuaHookInsertFilter /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the insert_filter phase of request processing
LuaHookLog /path/to/lua/script.lua log_function_namesvdhE
Provide a hook for the access log phase of a request +processing
LuaHookMapToStorage /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the map_to_storage phase of request processing
LuaHookPreTranslate /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the pre_translate phase of a request +processing
LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]svE
Provide a hook for the translate name phase of request processing
LuaHookTypeChecker /path/to/lua/script.lua hook_function_namesvdhE
Provide a hook for the type_checker phase of request processing
LuaInherit none|parent-first|parent-last parent-first svdhE
Controls how parent configuration sections are merged into children
LuaInputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content input filtering
LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]svdhE
Map a path to a lua handler
LuaOutputFilter filter_name /path/to/lua/script.lua function_namesE
Provide a Lua function for content output filtering
LuaPackageCPath /path/to/include/?.soasvdhE
Add a directory to lua's package.cpath
LuaPackagePath /path/to/include/?.luasvdhE
Add a directory to lua's package.path
LuaQuickHandler /path/to/script.lua hook_function_namesvE
Provide a hook for the quick handler of request processing
LuaRoot /path/to/a/directorysvdhE
Specify the base path for resolving relative paths for mod_lua directives
LuaScope once|request|conn|thread|server [min] [max] once svdhE
One of once, request, conn, thread -- default is once
+<Macro name [par1 .. parN]> +... </Macro>svdB
Define a configuration file macro
MaxConnectionsPerChild number 0 sM
Limit on the number of connections that an individual child server +will handle during its life
MaxKeepAliveRequests number 100 svC
Number of requests allowed on a persistent +connection
MaxMemFree KBytes 2048 sM
Maximum amount of memory that the main allocator is allowed +to hold without calling free()
MaxRangeOverlaps default | unlimited | none | number-of-ranges 20 svdC
Number of overlapping ranges (eg: 100-200,150-300) allowed before returning the complete + resource
MaxRangeReversals default | unlimited | none | number-of-ranges 20 svdC
Number of range reversals (eg: 100-200,50-70) allowed before returning the complete + resource
MaxRanges default | unlimited | none | number-of-ranges 200 svdC
Number of ranges allowed before returning the complete +resource
MaxRequestWorkers numbersM
Maximum number of connections that will be processed +simultaneously
MaxSpareServers number 10 sM
Maximum number of idle child server processes
MaxSpareThreads numbersM
Maximum number of idle threads
MaxThreads number 2048 sM
Set the maximum number of worker threads
MDActivationDelay durationsX
-
MDBaseServer on|off off sX
Control if base server may be managed or only virtual hosts.
MDCAChallenges name [ name ... ] tls-alpn-01 http-01 +sX
Type of ACME challenge used to prove domain ownership.
MDCertificateAgreement acceptedsX
You confirm that you accepted the Terms of Service of the Certificate + Authority.
MDCertificateAuthority url letsencrypt sX
The URL(s) of the ACME Certificate Authority to use.
MDCertificateCheck name urlsX
-
MDCertificateFile path-to-pem-filesX
Specify a static certificate file for the MD.
MDCertificateKeyFile path-to-filesX
Specify a static private key for for the static cerrtificate.
MDCertificateMonitor name url crt.sh https://crt. +sX
The URL of a certificate log monitor.
MDCertificateProtocol protocol ACME sX
The protocol to use with the Certificate Authority.
MDCertificateStatus on|off on sX
Exposes public certificate information in JSON.
MDChallengeDns01 path-to-commandsX
-
MDContactEmail addresssX
-
MDDriveMode always|auto|manual auto sX
former name of MDRenewMode.
MDExternalAccountBinding key-id hmac-64 | none | file none sX
-
MDHttpProxy urlsX
Define a proxy for outgoing connections.
MDMember hostnamesX
Additional hostname for the managed domain.
MDMembers auto|manual auto sX
Control if the alias domain names are automatically added.
MDMessageCmd path-to-cmd optional-argssX
Handle events for Manage Domains
MDMustStaple on|off off sX
Control if new certificates carry the OCSP Must Staple flag.
MDNotifyCmd path [ args ]sX
Run a program when a Managed Domain is ready.
MDomain dns-name [ other-dns-name... ] [auto|manual]sX
Define list of domain names that belong to one group.
<MDomainSet dns-name [ other-dns-name... ]>...</MDomainSet>sX
Container for directives applied to the same managed domains.
MDPortMap map1 [ map2 ] http:80 https:443 sX
Map external to internal ports for domain ownership verification.
MDPrivateKeys type [ params... ] RSA 2048 sX
Set type and size of the private keys generated.
MDRenewMode always|auto|manual auto sX
Controls if certificates shall be renewed.
MDRenewWindow duration 33% sX
Control when a certificate will be renewed.
MDRequireHttps off|temporary|permanent off sX
Redirects http: traffic to https: for Managed Domains.
MDRetryDelay duration 5s sX
-
MDRetryFailover number 13 sX
-
MDServerStatus on|off on sX
Control if Managed Domain information is added to server-status.
MDStapleOthers on|off on sX
Enable stapling for certificates not managed by mod_md.
MDStapling on|off off sX
Enable stapling for all or a particular MDomain.
MDStaplingKeepResponse duration 7d sX
Controls when old responses should be removed.
MDStaplingRenewWindow duration 33% sX
Control when the stapling responses will be renewed.
MDStoreDir path md sX
Path on the local file system to store the Managed Domains data.
MDStoreLocks on|off|duration off sX
-
MDWarnWindow duration 10% sX
Define the time window when you want to be warned about an expiring certificate.
MemcacheConnTTL num[units] 15s svE
Keepalive time for idle connections
MergeSlashes ON|OFF ON svC
Controls whether the server merges consecutive slashes in URLs. +
MergeTrailers [on|off] off svC
Determines whether trailers are merged into headers
MetaDir directory .web svdhE
Name of the directory to find CERN-style meta information +files
MetaFiles on|off off svdhE
Activates CERN meta-file processing
MetaSuffix suffix .meta svdhE
File name suffix for the file containing CERN-style +meta information
MimeMagicFile file-pathsvE
Enable MIME-type determination based on file contents +using the specified magic file
MinSpareServers number 5 sM
Minimum number of idle child server processes
MinSpareThreads numbersM
Minimum number of idle threads available to handle request +spikes
MMapFile file-path [file-path] ...sX
Map a list of files into memory at startup time
ModemStandard V.21|V.26bis|V.32|V.34|V.92dX
Modem standard to simulate
ModMimeUsePathInfo On|Off Off dB
Tells mod_mime to treat path_info +components as part of the filename
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] NegotiatedOnly svdhB
The types of files that will be included when searching for +a matching file with MultiViews
Mutex mechanism [default|mutex-name] ... [OmitPID] default sC
Configures mutex mechanism and lock file directory for all +or specified mutexes
NameVirtualHost addr[:port]sC
DEPRECATED: Designates an IP address for name-virtual +hosting
NoProxy host [host] ...svE
Hosts, domains, or networks that will be connected to +directly
NWSSLTrustedCerts filename [filename] ...sB
List of additional client certificates
NWSSLUpgradeable [IP-address:]portnumbersB
Allows a connection to be upgraded to an SSL connection upon request
Options + [+|-]option [[+|-]option] ... FollowSymlinks svdhC
Configures what features are available in a particular +directory
Order ordering Deny,Allow dhE
Controls the default access state and the order in which +Allow and Deny are +evaluated.
OutputSed sed-commanddhX
Sed command for filtering response content
PassEnv env-variable [env-variable] +...svdhB
Passes environment variables from the shell
PidFile filename logs/httpd.pid sM
File where the server records the process ID +of the daemon
PrivilegesMode FAST|SECURE|SELECTIVE FAST svdX
Trade off processing speed and efficiency vs security against +malicious privileges-aware code.
Protocol protocolsvC
Protocol for a listening socket
ProtocolEcho On|Off Off svX
Turn the echo server on or off
Protocols protocol ... http/1.1 svC
Protocols available for a server/virtual host
ProtocolsHonorOrder On|Off On svC
Determines if order of Protocols determines precedence during negotiation
<Proxy wildcard-url> ...</Proxy>svE
Container for directives applied to proxied resources
Proxy100Continue Off|On On svdE
Forward 100-continue expectation to the origin server
ProxyAddHeaders Off|On On svdE
Add proxy information in X-Forwarded-* headers
ProxyBadHeader IsError|Ignore|StartBody IsError svE
Determines how to handle bad header lines in a +response
ProxyBlock *|word|host|domain +[word|host|domain] ...svE
Words, hosts, or domains that are banned from being +proxied
ProxyDomain DomainsvE
Default domain name for proxied requests
ProxyErrorOverride Off|On [code ...] Off svdE
Override error pages for proxied content
ProxyExpressDBMFile pathnamesvE
Pathname to DBM file.
ProxyExpressDBMType type default svE
DBM type of file.
ProxyExpressEnable on|off off svE
Enable the module functionality.
ProxyFCGIBackendType FPM|GENERIC FPM svdhE
Specify the type of backend FastCGI application
ProxyFCGISetEnvIf conditional-expression + [!]environment-variable-name + [value-expression]svdhE
Allow variables sent to FastCGI servers to be fixed up
ProxyFtpDirCharset character_set ISO-8859-1 svdE
Define the character set for proxied FTP listings
ProxyFtpEscapeWildcards on|off on svdE
Whether wildcards in requested filenames are escaped when sent to the FTP server
ProxyFtpListOnWildcard on|off on svdE
Whether wildcards in requested filenames trigger a file listing
ProxyHCExpr name {ap_expr expression}svE
Creates a named condition expression to use to determine health of the backend based on its response
ProxyHCTemplate name parameter=setting [...]svE
Creates a named template for setting various health check parameters
ProxyHCTPsize size 16 sE
Sets the total server-wide size of the threadpool used for the health check workers
ProxyHTMLBufSize bytes 8192 svdB
Sets the buffer size increment for buffering inline scripts and +stylesheets.
ProxyHTMLCharsetOut Charset | *svdB
Specify a charset for mod_proxy_html output.
ProxyHTMLDocType HTML|XHTML [Legacy]
OR +
ProxyHTMLDocType fpi [SGML|XML]
svdB
Sets an HTML or XHTML document type declaration.
ProxyHTMLEnable On|Off Off svdB
Turns the proxy_html filter on or off.
ProxyHTMLEvents attribute [attribute ...]svdB
Specify attributes to treat as scripting events.
ProxyHTMLExtended On|Off Off svdB
Determines whether to fix links in inline scripts, stylesheets, +and scripting events.
ProxyHTMLFixups [lowercase] [dospath] [reset]svdB
Fixes for simple HTML errors.
ProxyHTMLInterp On|Off Off svdB
Enables per-request interpolation of +ProxyHTMLURLMap rules.
ProxyHTMLLinks element attribute [attribute2 ...]svdB
Specify HTML elements that have URL attributes to be rewritten.
ProxyHTMLMeta On|Off Off svdB
Turns on or off extra pre-parsing of metadata in HTML +<head> sections.
ProxyHTMLStripComments On|Off Off svdB
Determines whether to strip HTML comments.
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]svdB
Defines a rule to rewrite HTML links
ProxyIOBufferSize bytes 8192 svE
Determine size of internal data throughput buffer
<ProxyMatch regex> ...</ProxyMatch>svE
Container for directives applied to regular-expression-matched +proxied resources
ProxyMaxForwards number -1 svE
Maximum number of proxies that a request can be forwarded +through
ProxyPass [path] !|url [key=value + [key=value ...]] [nocanon] [interpolate] [noquery]svdE
Maps remote servers into the local server URL-space
ProxyPassInherit On|Off On svE
Inherit ProxyPass directives defined from the main server
ProxyPassInterpolateEnv On|Off Off svdE
Enable Environment Variable interpolation in Reverse Proxy configurations
ProxyPassMatch [regex] !|url [key=value + [key=value ...]]svdE
Maps remote servers into the local server URL-space using regular expressions
ProxyPassReverse [path] url +[interpolate]svdE
Adjusts the URL in HTTP response headers sent from a reverse +proxied server
ProxyPassReverseCookieDomain internal-domain +public-domain [interpolate]svdE
Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server
ProxyPassReverseCookiePath internal-path +public-path [interpolate]svdE
Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server
ProxyPreserveHost On|Off Off svdE
Use incoming Host HTTP request header for proxy +request
ProxyReceiveBufferSize bytes 0 svE
Network buffer size for proxied HTTP and FTP +connections
ProxyRemote match remote-serversvE
Remote proxy used to handle certain requests
ProxyRemoteMatch regex remote-serversvE
Remote proxy used to handle requests matched by regular +expressions
ProxyRequests On|Off Off svE
Enables forward (standard) proxy requests
ProxySCGIInternalRedirect On|Off|Headername On svdE
Enable or disable internal redirect responses from the +backend
ProxySCGISendfile On|Off|Headername Off svdE
Enable evaluation of X-Sendfile pseudo response +header
ProxySet url key=value [key=value ...]svdE
Set various Proxy balancer or member parameters
ProxySourceAddress addresssvE
Set local IP address for outgoing proxy connections
ProxyStatus Off|On|Full Off svE
Show Proxy LoadBalancer status in mod_status
ProxyTimeout secondssvE
Network timeout for proxied requests
ProxyVia On|Off|Full|Block Off svE
Information provided in the Via HTTP response +header for proxied requests
ProxyWebsocketFallbackToProxyHttp On|Off On svE
Instructs this module to let mod_proxy_http handle the request
QualifyRedirectURL On|Off Off svdC
Controls whether the REDIRECT_URL environment variable is + fully qualified
ReadBufferSize bytes 8192 svdC
Size of the buffers used to read data
ReadmeName filenamesvdhB
Name of the file that will be inserted at the end +of the index listing
ReceiveBufferSize bytes 0 sM
TCP receive buffer size
Redirect [status] [URL-path] +URLsvdhB
Sends an external redirect asking the client to fetch +a different URL
RedirectMatch [status] regex +URLsvdhB
Sends an external redirect based on a regular expression match +of the current URL
RedirectPermanent URL-path URLsvdhB
Sends an external permanent redirect asking the client to fetch +a different URL
RedirectTemp URL-path URLsvdhB
Sends an external temporary redirect asking the client to fetch +a different URL
RedisConnPoolTTL num[units] 15s svE
TTL used for the connection pool with the Redis server(s)
RedisTimeout num[units] 5s svE
R/W timeout used for the connection with the Redis server(s)
ReflectorHeader inputheader [outputheader]svdhB
Reflect an input header to the output headers
RegexDefaultOptions [none] [+|-]option [[+|-]option] ... DOTALL DOLLAR_ENDON +sC
Allow to configure global/default options for regexes
RegisterHttpMethod method [method [...]]sC
Register non-standard HTTP methods
RemoteIPHeader header-fieldsvB
Declare the header field which should be parsed for useragent IP addresses
RemoteIPInternalProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPInternalProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPProxiesHeader HeaderFieldNamesvB
Declare the header field which will record all intermediate IP addresses
RemoteIPProxyProtocol On|OffsvB
Enable or disable PROXY protocol handling
RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]svB
Disable processing of PROXY header for certain hosts or networks
RemoteIPTrustedProxy proxy-ip|proxy-ip/subnet|hostname ...svB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoteIPTrustedProxyList filenamesvB
Declare client intranet IP addresses trusted to present the RemoteIPHeader value
RemoveCharset extension [extension] +...vdhB
Removes any character set associations for a set of file +extensions
RemoveEncoding extension [extension] +...vdhB
Removes any content encoding associations for a set of file +extensions
RemoveHandler extension [extension] +...vdhB
Removes any handler associations for a set of file +extensions
RemoveInputFilter extension [extension] +...vdhB
Removes any input filter associations for a set of file +extensions
RemoveLanguage extension [extension] +...vdhB
Removes any language associations for a set of file +extensions
RemoveOutputFilter extension [extension] +...vdhB
Removes any output filter associations for a set of file +extensions
RemoveType extension [extension] +...vdhB
Removes any content type associations for a set of file +extensions
RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +header [[expr=]value [replacement] +[early|env=[!]varname|expr=expression]] +svdhE
Configure HTTP request headers
RequestReadTimeout +[handshake=timeout[-maxtimeout][,MinRate=rate] +[header=timeout[-maxtimeout][,MinRate=rate] +[body=timeout[-maxtimeout][,MinRate=rate] + handshake=0 header= +svE
Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +
Require [not] entity-name + [entity-name] ...dhB
Tests whether an authenticated user is authorized by +an authorization provider.
<RequireAll> ... </RequireAll>dhB
Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.
<RequireAny> ... </RequireAny>dhB
Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.
<RequireNone> ... </RequireNone>dhB
Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.
RewriteBase URL-pathdhE
Sets the base URL for per-directory rewrites
RewriteCond + TestString CondPattern [flags]svdhE
Defines a condition under which rewriting will take place +
RewriteEngine on|off off svdhE
Enables or disables runtime rewriting engine
RewriteMap MapName MapType:MapSource + [MapTypeOptions] +svE
Defines a mapping function for key-lookup
RewriteOptions OptionssvdhE
Sets some special options for the rewrite engine
RewriteRule + Pattern Substitution [flags]svdhE
Defines rules for the rewriting engine
RLimitCPU seconds|max [seconds|max]svdhC
Limits the CPU consumption of processes launched +by Apache httpd children
RLimitMEM bytes|max [bytes|max]svdhC
Limits the memory consumption of processes launched +by Apache httpd children
RLimitNPROC number|max [number|max]svdhC
Limits the number of processes that can be launched by +processes launched by Apache httpd children
Satisfy Any|All All dhE
Interaction between host-level access control and +user authentication
ScoreBoardFile file-path logs/apache_runtime +sM
Location of the file used to store coordination data for +the child processes
Script method cgi-scriptsvdB
Activates a CGI script for a particular request +method.
ScriptAlias [URL-path] +file-path|directory-pathsvdB
Maps a URL to a filesystem location and designates the +target as a CGI script
ScriptAliasMatch regex +file-path|directory-pathsvB
Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script
ScriptInterpreterSource Registry|Registry-Strict|Script Script svdhC
Technique for locating the interpreter for CGI +scripts
ScriptLog file-pathsvB
Location of the CGI script error logfile
ScriptLogBuffer bytes 1024 svB
Maximum amount of PUT or POST requests that will be recorded +in the scriptlog
ScriptLogLength bytes 10385760 svB
Size limit of the CGI script logfile
ScriptSock file-path cgisock sB
The filename prefix of the socket to use for communication with +the cgi daemon
SecureListen [IP-address:]portnumber +Certificate-Name [MUTUAL]sB
Enables SSL encryption for the specified port
SeeRequestTail On|Off Off sC
Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.
SendBufferSize bytes 0 sM
TCP buffer size
ServerAdmin email-address|URLsvC
Email address that the server includes in error +messages sent to the client
ServerAlias hostname [hostname] ...vC
Alternate names for a host used when matching requests +to name-virtual hosts
ServerLimit numbersM
Upper limit on configurable number of processes
ServerName [scheme://]domain-name|ip-address[:port]svC
Hostname and port that the server uses to identify +itself
ServerPath URL-pathvC
Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser
ServerRoot directory-path /usr/local/apache sC
Base directory for the server installation
ServerSignature On|Off|EMail Off svdhC
Configures the footer on server-generated documents
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full Full sC
Configures the Server HTTP response +header
Session On|Off Off svdhE
Enables a session for the current directory or location
SessionCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session
SessionCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session
SessionCookieRemove On|Off Off svdhE
Control for whether session cookies should be removed from incoming HTTP headers
SessionCryptoCipher name aes256 svdhX
The crypto cipher to be used to encrypt the session
SessionCryptoDriver name [param[=value]]sX
The crypto driver to be used to encrypt the session
SessionCryptoPassphrase secret [ secret ... ] svdhX
The key used to encrypt the session
SessionCryptoPassphraseFile filenamesvdX
File containing keys used to encrypt the session
SessionDBDCookieName name attributessvdhE
Name and attributes for the RFC2109 cookie storing the session ID
SessionDBDCookieName2 name attributessvdhE
Name and attributes for the RFC2965 cookie storing the session ID
SessionDBDCookieRemove On|Off On svdhE
Control for whether session ID cookies should be removed from incoming HTTP headers
SessionDBDDeleteLabel label deletesession svdhE
The SQL query to use to remove sessions from the database
SessionDBDInsertLabel label insertsession svdhE
The SQL query to use to insert sessions into the database
SessionDBDPerUser On|Off Off svdhE
Enable a per user session
SessionDBDSelectLabel label selectsession svdhE
The SQL query to use to select sessions from the database
SessionDBDUpdateLabel label updatesession svdhE
The SQL query to use to update existing sessions in the database
SessionEnv On|Off Off svdhE
Control whether the contents of the session are written to the +HTTP_SESSION environment variable
SessionExclude pathsvdhE
Define URL prefixes for which a session is ignored
SessionExpiryUpdateInterval interval 0 (always update) svdhE
Define the number of seconds a session's expiry may change without +the session being updated
SessionHeader headersvdhE
Import session updates from a given HTTP response header
SessionInclude pathsvdhE
Define URL prefixes for which a session is valid
SessionMaxAge maxage 0 svdhE
Define a maximum age in seconds for a session
SetEnv env-variable [value]svdhB
Sets environment variables
SetEnvIf attribute + regex [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +
SetEnvIfExpr expr + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on an ap_expr expression
SetEnvIfNoCase attribute regex + [!]env-variable[=value] + [[!]env-variable[=value]] ...svdhB
Sets environment variables based on attributes of the request +without respect to case
SetHandler handler-name|none|expressionsvdhC
Forces all matching files to be processed by a +handler
SetInputFilter filter[;filter...]svdhC
Sets the filters that will process client requests and POST +input
SetOutputFilter filter[;filter...]svdhC
Sets the filters that will process responses from the +server
SSIEndTag tag "-->" svB
String that ends an include element
SSIErrorMsg message "[an error occurred +svdhB
Error message displayed when there is an SSI +error
SSIETag on|off off dhB
Controls whether ETags are generated by the server.
SSILastModified on|off off dhB
Controls whether Last-Modified headers are generated by the +server.
SSILegacyExprParser on|off off dhB
Enable compatibility mode for conditional expressions.
SSIStartTag tag "<!--#" svB
String that starts an include element
SSITimeFormat formatstring "%A, %d-%b-%Y %H:%M +svdhB
Configures the format in which date strings are +displayed
SSIUndefinedEcho string "(none)" svdhB
String displayed when an unset variable is echoed
SSLCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Client Auth
SSLCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Client Auth
SSLCADNRequestFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names
SSLCADNRequestPath directory-pathsvE
Directory of PEM-encoded CA Certificates for +defining acceptable CA names
SSLCARevocationCheck chain|leaf|none [flags ...] none svE
Enable CRL-based revocation checking
SSLCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Client Auth
SSLCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Client Auth
SSLCertificateChainFile file-pathsvE
File of PEM-encoded Server CA Certificates
SSLCertificateFile file-path|certidsvE
Server PEM-encoded X.509 certificate data file or token identifier
SSLCertificateKeyFile file-path|keyidsvE
Server PEM-encoded private key file
SSLCipherSuite [protocol] cipher-spec DEFAULT (depends on +svdhE
Cipher Suite available for negotiation in SSL +handshake
SSLCompression on|off off svE
Enable compression on the SSL level
SSLCryptoDevice engine builtin sE
Enable use of a cryptographic hardware accelerator
SSLEngine on|off|optional off svE
SSL Engine Operation Switch
SSLFIPS on|off off sE
SSL FIPS mode Switch
SSLHonorCipherOrder on|off off svE
Option to prefer the server's cipher preference order
SSLInsecureRenegotiation on|off off svE
Option to enable support for insecure renegotiation
SSLOCSPDefaultResponder urisvE
Set the default responder URI for OCSP validation
SSLOCSPEnable on|leaf|off off svE
Enable OCSP validation of the client certificate chain
SSLOCSPNoverify on|off off svE
skip the OCSP responder certificates verification
SSLOCSPOverrideResponder on|off off svE
Force use of the default responder URI for OCSP validation
SSLOCSPProxyURL urlsvE
Proxy URL to use for OCSP requests
SSLOCSPResponderCertificateFile filesvE
Set of trusted PEM encoded OCSP responder certificates
SSLOCSPResponderTimeout seconds 10 svE
Timeout for OCSP queries
SSLOCSPResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP responses
SSLOCSPResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP response validation
SSLOCSPUseRequestNonce on|off on svE
Use a nonce within OCSP queries
SSLOpenSSLConfCmd command-name command-valuesvE
Configure OpenSSL parameters through its SSL_CONF API
SSLOptions [+|-]option ...svdhE
Configure various SSL engine run-time options
SSLPassPhraseDialog type builtin sE
Type of pass phrase dialog for encrypted private +keys
SSLProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL/TLS protocol versions
SSLProxyCACertificateFile file-pathsvE
File of concatenated PEM-encoded CA Certificates +for Remote Server Auth
SSLProxyCACertificatePath directory-pathsvE
Directory of PEM-encoded CA Certificates for +Remote Server Auth
SSLProxyCARevocationCheck chain|leaf|none none svE
Enable CRL-based revocation checking for Remote Server Auth
SSLProxyCARevocationFile file-pathsvE
File of concatenated PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCARevocationPath directory-pathsvE
Directory of PEM-encoded CA CRLs for +Remote Server Auth
SSLProxyCheckPeerCN on|off on svE
Whether to check the remote server certificate's CN field +
SSLProxyCheckPeerExpire on|off on svE
Whether to check if remote server certificate is expired +
SSLProxyCheckPeerName on|off on svE
Configure host name checking for remote server certificates +
SSLProxyCipherSuite [protocol] cipher-spec ALL:!ADH:RC4+RSA:+H +svE
Cipher Suite available for negotiation in SSL +proxy handshake
SSLProxyEngine on|off off svE
SSL Proxy Engine Operation Switch
SSLProxyMachineCertificateChainFile filenamesvE
File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate
SSLProxyMachineCertificateFile filenamesvE
File of concatenated PEM-encoded client certificates and keys to be used by the proxy
SSLProxyMachineCertificatePath directorysvE
Directory of PEM-encoded client certificates and keys to be used by the proxy
SSLProxyProtocol [+|-]protocol ... all -SSLv3 (up to 2 +svE
Configure usable SSL protocol flavors for proxy usage
SSLProxyVerify level none svE
Type of remote server Certificate verification
SSLProxyVerifyDepth number 1 svE
Maximum depth of CA Certificates in Remote Server +Certificate verification
SSLRandomSeed context source +[bytes]sE
Pseudo Random Number Generator (PRNG) seeding +source
SSLRenegBufferSize bytes 131072 dhE
Set the size for the SSL renegotiation buffer
SSLRequire expressiondhE
Allow access only when an arbitrarily complex +boolean expression is true
SSLRequireSSLdhE
Deny access when SSL is not used for the +HTTP request
SSLSessionCache type none sE
Type of the global/inter-process SSL Session +Cache
SSLSessionCacheTimeout seconds 300 svE
Number of seconds before an SSL session expires +in the Session Cache
SSLSessionTicketKeyFile file-pathsvE
Persistent encryption/decryption key for TLS session tickets
SSLSessionTickets on|off on svE
Enable or disable use of TLS session tickets
SSLSRPUnknownUserSeed secret-stringsvE
SRP unknown user seed
SSLSRPVerifierFile file-pathsvE
Path to SRP verifier file
SSLStaplingCache typesE
Configures the OCSP stapling cache
SSLStaplingErrorCacheTimeout seconds 600 svE
Number of seconds before expiring invalid responses in the OCSP stapling cache
SSLStaplingFakeTryLater on|off on svE
Synthesize "tryLater" responses for failed OCSP stapling queries
SSLStaplingForceURL urisvE
Override the OCSP responder URI specified in the certificate's AIA extension
SSLStaplingResponderTimeout seconds 10 svE
Timeout for OCSP stapling queries
SSLStaplingResponseMaxAge seconds -1 svE
Maximum allowable age for OCSP stapling responses
SSLStaplingResponseTimeSkew seconds 300 svE
Maximum allowable time skew for OCSP stapling response validation
SSLStaplingReturnResponderErrors on|off on svE
Pass stapling related OCSP errors on to client
SSLStaplingStandardCacheTimeout seconds 3600 svE
Number of seconds before expiring responses in the OCSP stapling cache
SSLStrictSNIVHostCheck on|off off svE
Whether to allow non-SNI clients to access a name-based virtual +host. +
SSLUserName varnamesdhE
Variable name to determine user name
SSLUseStapling on|off off svE
Enable stapling of OCSP responses in the TLS handshake
SSLVerifyClient level none svdhE
Type of Client Certificate verification
SSLVerifyDepth number 1 svdhE
Maximum depth of CA Certificates in Client +Certificate verification
StartServers numbersM
Number of child server processes created at startup
StartThreads numbersM
Number of threads created on startup
StrictHostCheck ON|OFF OFF svC
Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request +
Substitute s/pattern/substitution/[infq]dhE
Pattern to filter the response content
SubstituteInheritBefore on|off off dhE
Change the merge order of inherited patterns
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) 1m dhE
Set the maximum line size
Suexec On|OffsB
Enable or disable the suEXEC feature
SuexecUserGroup User GroupsvE
User and group for CGI programs to run as
ThreadLimit numbersM
Sets the upper limit on the configurable number of threads +per child process
ThreadsPerChild numbersM
Number of threads created by each child process
ThreadStackSize sizesM
The size in bytes of the stack used by threads handling +client connections
TimeOut seconds 60 svC
Amount of time the server will wait for +certain events before failing a request
TLSCertificate cert_file [key_file]svX
adds a certificate and key (PEM encoded) to a server/virtual host.
TLSCiphersPrefer cipher(-list)svX
defines ciphers that are preferred.
TLSCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used.
TLSEngine [address:]portsX
defines on which address+port the module shall handle incoming connections.
TLSHonorClientOrder on|off on svX
determines if the order of ciphers supported by the client is honored
TLSOptions [+|-]optionsvdhX
enables SSL variables for requests.
TLSProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use.
TLSProxyCA file.pemsvX
sets the root certificates to validate the backend server with.
TLSProxyCiphersPrefer cipher(-list)svX
defines ciphers that are preferred for a proxy connection.
TLSProxyCiphersSuppress cipher(-list)svX
defines ciphers that are not to be used for a proxy connection.
TLSProxyEngine on|offsvX
enables TLS for backend connections.
TLSProxyMachineCertificate cert_file [key_file]svX
adds a certificate and key file (PEM encoded) to a proxy setup.
TLSProxyProtocol version+ v1.2+ svX
specifies the minimum version of the TLS protocol to use in proxy connections.
TLSSessionCache cache-specsX
specifies the cache for TLS session resumption.
TLSStrictSNI on|off on sX
enforces exact matches of client server indicators (SNI) against host names.
TraceEnable [on|off|extended] on svC
Determines the behavior on TRACE requests
TransferLog file|pipesvB
Specify location of a log file
TypesConfig file-path conf/mime.types sB
The location of the mime.types file
UnDefine parameter-namesC
Undefine the existence of a variable
UndefMacro namesvdB
Undefine a macro
UnsetEnv env-variable [env-variable] +...svdhB
Removes variables from the environment
Use name [value1 ... valueN] +svdB
Use a macro
UseCanonicalName On|Off|DNS Off svdC
Configures how the server determines its own name and +port
UseCanonicalPhysicalPort On|Off Off svdC
Configures how the server determines its own port
User unix-userid #-1 sB
The userid under which the server will answer +requests
UserDir directory-filename [directory-filename] ... +svB
Location of the user-specific directories
VHostCGIMode On|Off|Secure On vX
Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.
VHostCGIPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to subprocesses created +by a virtual host.
VHostGroup unix-groupidvX
Sets the Group ID under which a virtual host runs.
VHostPrivs [+-]?privilege-name [[+-]?privilege-name] ...vX
Assign arbitrary privileges to a virtual host.
VHostSecure On|Off On vX
Determines whether the server runs with enhanced security +for the virtualhost.
VHostUser unix-useridvX
Sets the User ID under which a virtual host runs.
VirtualDocumentRoot interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
VirtualDocumentRootIP interpolated-directory|none none svE
Dynamically configure the location of the document root +for a given virtual host
<VirtualHost + addr[:port] [addr[:port]] + ...> ... </VirtualHost>sC
Contains directives that apply only to a specific +hostname or IP address
VirtualScriptAlias interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
VirtualScriptAliasIP interpolated-directory|none none svE
Dynamically configure the location of the CGI directory for +a given virtual host
WatchdogInterval time-interval[s] 1 sB
Watchdog interval in seconds
XBitHack on|off|full off svdhB
Parse SSI directives in files with the execute bit +set
xml2EncAlias charset alias [alias ...]sB
Recognise Aliases for encoding values
xml2EncDefault namesvdhB
Sets a default encoding to assume when absolutely no information +can be automatically detected
xml2StartParse element [element ...]svdhB
Advise the parser to skip leading junk.
+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

评论

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/worker.html b/docs/manual/mod/worker.html new file mode 100644 index 0000000..c81e790 --- /dev/null +++ b/docs/manual/mod/worker.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: worker.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: worker.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: worker.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: worker.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: worker.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/worker.html.de b/docs/manual/mod/worker.html.de new file mode 100644 index 0000000..a128aef --- /dev/null +++ b/docs/manual/mod/worker.html.de @@ -0,0 +1,201 @@ + + + + + +worker - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache-MPM worker

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ + + +
Beschreibung:Multi-Processing-Modul, das einen Hybrid-Webserver mit + Multi-Thread und Multi-Prozess-Unterstützung implementiert
Status:MPM
Modulbezeichner:mpm_worker_module
Quelltext-Datei:worker.c
+

Zusammenfassung

+ +

Dieses Multi-Processing-Modul (MPM) implementiert einen Hybrid-Server + mit Multi-Thread und Multi-Prozess-Unterstützung. Durch die Verwendung + von Threads für die Bedienung von Anfragen ist er in der Lage, + eine große Anzahl von Anfragen mit weniger Systemressourcen als + ein Prozess-basierter Server zu bedienen. Er behält jedoch viel von + der Stabilität eines Prozess-basierten Servers bei, indem er + mehrere Prozesse verfügbar hält, jeden mit etlichen Threads.

+ +

Die wichtigsten Direktiven zur Steuerung des MPMs sind ThreadsPerChild, welche die Anzahl + der Threads beeinflusst, die von jedem Kindprozess verwendet werden, und + MaxClients, welche die + maximale Gesamtzahl an Threads regelt, die gestartet werden + können.

+
+ +
top
+
+

Arbeitsweise

+

Ein einzelner Steuerprozess (der Elternprozess) ist für den + Start der Kindprozesse verantwortlich. Jeder Kindprozess erstellt eine + feste Anzahl von Server-Threads, wie durch die ThreadsPerChild-Direktive + angegeben, sowie einen "Listener-Thread", der auf Verbindungen wartet und + diese an einen Server-Thread zur Bearbeitung weiterreicht, sobald sie + eintreffen.

+ +

Der Apache versucht immer, einen Vorrat von freien oder + unbeschäftigten Threads zu verwalten, die zur Bedienung + hereinkommender Anfragen bereit stehen. Auf diese Weise brauchen + Clients nicht auf die Erstellung eines neuen Threads oder Prozesses + zu warten, bevor ihre Anfrage bedient werden kann. Die Anzahl der + Prozesse, die anfangs gestartet wird, wird mit der Direktive + StartServers festgelegt. + Dann, während des Betriebes, berechnet der Apache die Gesamtzahl + der unbeschäftigten Threads und forkt oder beendet Prozesse, um diese + Anzahl innerhalb der durch MinSpareThreads und MaxSpareThreads angegebenen Grenzen + zu halten. Da dieser Prozess sehr selbstregulierend ist, ist es nur selten + notwendig, die Voreinstellung dieser Direktiven zu ändern. Die + maximale Anzahl Clients, die gleichzeitig bedient werden kann (d.h. + die maximale Gesamtzahl der Threads in allen Prozessen), wird mit der + Direktive MaxClients + festgelegt. Die maximale Anzahl der aktiven Kindprozesse ergibt sich aus + MaxClients dividiert durch + ThreadsPerChild.

+ +

Zwei Direktiven legen harte Limits für die Anzahl der aktiven + Kindprozesse fest und können nur geändert werden, indem der Server + komplett gestoppt und dann wieder neu gestartet wird. ServerLimit stellt die obere Grenze für + die Anzahl der aktiven Kindprozesse dar und muss größer oder + gleich dem Quotienten aus MaxClients und ThreadsPerChild sein. ThreadLimit ist die obere Grenze für + die Anzahl der Server-Threads und muss größer oder gleich + ThreadsPerChild sein. Sofern für + diese Direktiven keine Voreinstellungen verwendet werden, sollten sie vor + allen anderen worker-Direktiven platziert werden.

+ +

Neben den normalen aktiven Kindprozessen gibt es möglicherweise noch + zusätzliche Kindprozesse, welche gerade beendet werden, wo allerdings + zumindest noch ein Server-Thread eine existierende Verbindung bearbeitet. + Obwohl die tatsächlich zu erwartende Anzahl deutlich kleiner ist, + können bis zu MaxClients + solcher Prozesse auftreten. Dieses Verhalten können Sie vermeiden, + indem Sie die Terminierung einzelner Kindprozesse wie folgt abschalten:

+ + + +

Eine typische Konfiguration der Prozess-Thread-Steuerung für + das MPM worker könnte wie folgt aussehen:

+ +

+ ServerLimit 16
+ StartServers 2
+ MaxClients 150
+ MinSpareThreads 25
+ MaxSpareThreads 75
+ ThreadsPerChild 25 +

+ +

Während der Elternprozess unter Unix normalerweise als + root gestartet wird, um sich an Port 80 binden zu können, + werden die Kindprozesse und Threads unter einem weniger privilegierten + Benutzer gestartet. Die Direktiven User und Group werden dazu verwendet, die + Privilegien der Apache-Kindprozesse festzulegen. Die Kindprozesse + müssen in der Lage sein, alle Inhalte zu lesen, die sie ausliefern + sollen, sollten darüber hinaus jedoch so wenig wie möglich Rechte + besitzen. Zusätzlich, solange nicht suexec verwendet wird, legen diese + Direktiven auch die Privilegien fest, die von CGI-Skripts + geerbt werden.

+ +

MaxRequestsPerChild + bestimmt, wie häufig der Server Prozesse erneuert, indem er alte + beendet und neue startet.

+
+
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/worker.html.en b/docs/manual/mod/worker.html.en new file mode 100644 index 0000000..3472a3f --- /dev/null +++ b/docs/manual/mod/worker.html.en @@ -0,0 +1,208 @@ + + + + + +worker - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM worker

+
+

Available Languages:  de  | + en  | + fr  | + ja  | + tr 

+
+ + + +
Description:Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server
Status:MPM
Module Identifier:mpm_worker_module
Source File:worker.c
+

Summary

+ +

This Multi-Processing Module (MPM) implements a hybrid + multi-process multi-threaded server. By using threads to serve + requests, it is able to serve a large number of requests with + fewer system resources than a process-based server. However, it + retains much of the stability of a process-based server by + keeping multiple processes available, each with many threads.

+ +

The most important directives used to control this MPM are + ThreadsPerChild, which + controls the number of threads deployed by each child process and + MaxRequestWorkers, which + controls the maximum total number of threads that may be + launched.

+
+ +
top
+
+

How it Works

+

A single control process (the parent) is responsible for launching + child processes. Each child process creates a fixed number of server + threads as specified in the ThreadsPerChild directive, as well + as a listener thread which listens for connections and passes them + to a server thread for processing when they arrive.

+ +

Apache HTTP Server always tries to maintain a pool of spare or + idle server threads, which stand ready to serve incoming + requests. In this way, clients do not need to wait for a new + threads or processes to be created before their requests can be + served. The number of processes that will initially launch is + set by the StartServers + directive. During operation, the server assesses the total number + of idle threads in all processes, and forks or kills processes to + keep this number within the boundaries specified by MinSpareThreads and MaxSpareThreads. Since this + process is very self-regulating, it is rarely necessary to modify + these directives from their default values. The maximum number of + clients that may be served simultaneously (i.e., the maximum total + number of threads in all processes) is determined by the + MaxRequestWorkers directive. + The maximum number of active child processes is determined by + the MaxRequestWorkers + directive divided by the + ThreadsPerChild directive.

+ +

Two directives set hard limits on the number of active child + processes and the number of server threads in a child process, + and can only be changed by fully stopping the server and then + starting it again. ServerLimit + is a hard limit on the number of active child + processes, and must be greater than or equal to the + MaxRequestWorkers + directive divided by the + ThreadsPerChild directive. + ThreadLimit is a hard + limit of the number of server threads, and must be greater than + or equal to the ThreadsPerChild directive.

+ +

In addition to the set of active child processes, there may + be additional child processes which are terminating, but where at + least one server thread is still handling an existing client + connection. Up to MaxRequestWorkers terminating processes + may be present, though the actual number can be expected to be + much smaller. This behavior can be avoided by disabling the + termination of individual child processes, which is achieved using + the following:

+ + + +

A typical configuration of the process-thread controls in + the worker MPM could look as follows:

+ +
ServerLimit         16
+StartServers         2
+MaxRequestWorkers  150
+MinSpareThreads     25
+MaxSpareThreads     75
+ThreadsPerChild     25
+ + +

While the parent process is usually started as root + under Unix in order to bind to port 80, the child processes and threads + are launched by the server as a less-privileged user. The User and Group directives are used to set + the privileges of the Apache HTTP Server child processes. The child processes + must be able to read all the content that will be served, but + should have as few privileges beyond that as possible. In + addition, unless suexec is used, + these directives also set the privileges which will be inherited + by CGI scripts.

+ +

MaxConnectionsPerChild + controls how frequently the server recycles processes by killing + old ones and launching new ones.

+ +

This MPM uses the mpm-accept mutex to serialize + access to incoming connections when subject to the thundering herd + problem (generally, when there are multiple listening sockets). + The implementation aspects of this mutex can be configured with the + Mutex directive. The performance hints + documentation has additional information about this mutex.

+
+
+
+

Available Languages:  de  | + en  | + fr  | + ja  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/worker.html.fr.utf8 b/docs/manual/mod/worker.html.fr.utf8 new file mode 100644 index 0000000..3d3a4ad --- /dev/null +++ b/docs/manual/mod/worker.html.fr.utf8 @@ -0,0 +1,212 @@ + + + + + +worker - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM worker

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + tr 

+
+ + + +
Description:Module multi-processus implémentant un serveur web hybride +multi-processus multi-thread
Statut:MPM
Identificateur de Module:mpm_worker_module
Fichier Source:worker.c
+

Sommaire

+ +

Ce module multi-processus (MPM) implémente un serveur hybride + multi-processus multi-thread. En utilisant les threads pour servir + les requêtes, il peut en traiter un grand nombre tout en consommant + moins de ressources qu'un serveur à base de processus. Cependant, il + conserve une grande partie de la stabilité d'un serveur à base de + processus en maintenant plusieurs processus disponibles, chacun de + ces derniers possédant de nombreux threads.

+ +

Les directives les plus importantes qui permettent de contrôler + ce MPM sont ThreadsPerChild, qui définit le + nombre de threads lancés par chaque processus enfant et MaxRequestWorkers, qui définit le nombre + global maximum de threads qui peuvent être lancés.

+
+ +
top
+
+

Comment ça marche

+

Un processus de contrôle unique (le parent) a pour tâche de + lancer les processus enfants. Chaque processus enfant crée un nombre + fixe de threads serveurs selon la valeur de la directive ThreadsPerChild, ainsi + qu'un thread chargé d'attendre les connexions et de les passer à un + thread serveur pour traitement au fur et à mesure de leur arrivée.

+ +

Le serveur HTTP Apache essaie toujours de maintenir un jeu de + threads serveurs + inactifs ou en réserve, qui se tiennent prêts à traiter + les requêtes entrantes. De cette façon, les clients n'ont pas besoin + d'attendre la création d'un nouveau thread ou d'un nouveau processus + pour que leurs requêtes puissent être traitées. Le nombre de + processus lancés initialement est défini par la directive StartServers. En cours de + fonctionnement, le serveur évalue le nombre total de threads inactifs + dans tous les processus, et en crée ou en arrête de façon à + maintenir ce nombre à l'intérieur des limites définies par les + directives MinSpareThreads et MaxSpareThreads. Comme ce module + s'auto-contrôle de manière efficace, on peut en général conserver + les valeurs par défaut. Le nombre maximum de clients pouvant être + servis simultanément (c'est à dire le nombre global maximum de + threads pour tous les processus) est défini par la directive + MaxRequestWorkers. Le nombre + maximum de processus enfants actifs est défini par la valeur de la + directive MaxRequestWorkers + divisée par la valeur de la directive + ThreadsPerChild.

+ +

Deux directives permettent de fixer des limites absolues pour le + nombre de processus enfants actifs et le nombre de threads serveurs + par processus enfant, et ne peuvent être modifiées qu'en + arrêtant complètement le serveur et en le démarrant à nouveau. + La valeur de la directive ServerLimit constitue une limite + absolue pour le nombre de processus enfants actifs, et doit être + supérieure ou égale à la valeur de la directive MaxRequestWorkers divisée par la valeur de + la directive + ThreadsPerChild. La valeur de la directive ThreadLimit constitue une limite + absolue pour le nombre de threads par processus enfant, et doit être + supérieure ou égale à la valeur de la directive ThreadsPerChild.

+ +

En plus du jeu de processus enfants actifs, il peut exister + quelques processus enfants en cours d'arrêt, mais dont au moins un + thread serveur est encore en train de traiter une connexion client + existante. Il peut subsister en théorie jusqu'à MaxRequestWorkers processus en cours + d'arrêt, bien qu'en réalité, ce nombre sera en général beaucoup plus + petit. Ce comportement peut être évité en désactivant l'arrêt de + processus enfants individuels de la manière suivante :

+ + + +

Voici un exemple typique de configuration du contrôle + processus-thread pour le MPM worker :

+ +
ServerLimit         16
+StartServers         2
+MaxRequestWorkers  150
+MinSpareThreads     25
+MaxSpareThreads     75
+ThreadsPerChild     25
+ + +

Alors que le processus parent est en général démarré en tant que + root sous Unix afin de se mettre en écoute du port 80, + les processus enfants et les threads sont lancés par le serveur sous un + utilisateur avec privilèges restreints. On peut utiliser les + directives User et Group pour définir les privilèges + des processus enfants. Les processus enfants doivent pouvoir être en + mesure de lire tous les contenus destinés à être servis, mais + doivent avoir des privilèges aussi bas que possible. De plus, ces + directives définissent également les privilèges dont vont hériter les + scripts CGI (sauf si on utilise suexec).

+ +

La directive MaxConnectionsPerChild permet de + définir la fréquence à laquelle le serveur recycle ses processus en + arrêtant les plus anciens et en en lançant de nouveaux.

+ +

Ce module MPM utilise le mutex mpm-accept pour + sérialiser l'accès aux connexions entrantes lorsqu'un problème + d'afflux de requêtes peut survenir (en général, lorsqu'il y a + plusieurs sockets en écoute). Les différents aspects de + l'implémentation de ce mutex peuvent être configurés via la + directive Mutex. Vous + trouverez des informations plus détaillées à propos de ce mutex dans + la documentation sur les conseils en matière de + performances.

+ +
+
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/worker.html.ja.utf8 b/docs/manual/mod/worker.html.ja.utf8 new file mode 100644 index 0000000..b915922 --- /dev/null +++ b/docs/manual/mod/worker.html.ja.utf8 @@ -0,0 +1,217 @@ + + + + + +worker - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM worker

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ + + +
説明:マルãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨ãƒžãƒ«ãƒãƒ—ロセスã®ãƒã‚¤ãƒ–リッド型 +ウェブサーãƒã‚’実装ã—ãŸãƒžãƒ«ãƒãƒ—ロセッシングモジュール
ステータス:MPM
モジュール識別å­:mpm_worker_module
ソースファイル:worker.c
+

概è¦

+ +

ã“ã®ãƒžãƒ«ãƒãƒ—ロセッシングモジュール (MPM) + ã¯ã€ãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨ãƒžãƒ«ãƒãƒ—ロセスã®ãƒã‚¤ãƒ–リッド型サーãƒã‚’ + 実装ã—ã¦ã„ã¾ã™ã€‚リクエストã®å¿œç­”ã«ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’使ã†ã¨ã€ + プロセスベースã®ã‚µãƒ¼ãƒã‚ˆã‚Šã‚‚å°‘ãªã„システム資æºã§ã€ + 多ãã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œç­”ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ãã‚Œã«ã‚‚ã‹ã‹ã‚らãšã€å¤šãã®ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’æŒã£ãŸè¤‡æ•°ã®ãƒ—ロセスを + 維æŒã™ã‚‹ã“ã¨ã§ã€ + プロセスベースã®ã‚µãƒ¼ãƒã®æŒã¤å®‰å®šæ€§ã‚‚ä¿æŒã—ã¦ã„ã¾ã™ã€‚

+ +

ã“ã® MPM を制御ã™ã‚‹ã®ã«ä½¿ã‚れる最もé‡è¦ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€ + ThreadsPerChild 㨠+ MaxClients ã§ã™ã€‚ + ThreadsPerChild 㯠+ å„å­ãƒ—ロセスã§ç”¨æ„ã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã‚’制御ã—ã¦ã€ + MaxClients 㯠+ èµ·å‹•ã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®ç·æ•°ã®æœ€å¤§å€¤ã‚’制é™ã—ã¾ã™ã€‚

+
+ +
top
+
+

動作方法

+

一ã¤ã®åˆ¶å¾¡ç”¨ãƒ—ロセス (親) ãŒå­ãƒ—ロセスを起動ã—ã¾ã™ã€‚ + å­ãƒ—ロセス㯠+ ThreadsPerChild + ディレクティブã§æŒ‡å®šã•ã‚ŒãŸä¸€å®šæ•°ã®ã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨æŽ¥ç¶šã‚’ + listen ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’一ã¤ä½œã‚Šã¾ã™ã€‚ + Listener スレッドã¯æŽ¥ç¶šãŒæ¥ãŸã¨ãã«ã‚µãƒ¼ãƒãƒ—ロセスã«æ¸¡ã—ã¾ã™ã€‚

+ +

Apache ã¯ã‚¹ãƒšã‚¢ã®ã€ã¤ã¾ã‚Šã‚¢ã‚¤ãƒ‰ãƒ«ãªã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã® + プールを常ã«ç¶­æŒã—ã¦ã„ã¦ã€ãれらã¯å…¥ã£ã¦ãるリクエスト㫠+ ç­”ãˆã‚‰ã‚Œã‚‹ã‚ˆã†ã«å¾…æ©Ÿã—ã¦ã„ã¾ã™ã€‚ + ã“ã®ã‚ˆã†ã«ã—ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å¿œç­”ãŒå¾—られるよã†ã«ãªã‚‹ãŸã‚ã« + æ–°ã—ã„スレッドやプロセスãŒç”Ÿæˆã•ã‚Œã‚‹ã®ã‚’ + å¾…ãŸãªãã¦ã‚‚よã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ + èµ·å‹•åˆæœŸæ™‚ã®ãƒ—ロセスç·æ•°ã¯ã€ + StartServers + ディレクティブã§è¨­å®šã•ã‚Œã¾ã™ã€‚稼åƒä¸­ã«ã€ + Apache ã¯å…¨ãƒ—ロセスã®ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ã®åˆè¨ˆæ•°ã‚’見ç©ã‚‚ã£ã¦ã€ + MinSpareThreads 㨠+ MaxSpareThreads + ã§æŒ‡å®šã•ã‚ŒãŸç¯„囲ã®ä¸­ã«ã“ã®æ•°ãŒåŽã¾ã‚‹ã‚ˆã†ã« fork ã—ãŸã‚Š + kill ã—ãŸã‚Šã—ã¾ã™ã€‚ã“ã®æ“作ã¯éžå¸¸ã«è‡ªå¾‹çš„ãªã®ã§ã€ + ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をデフォルト値ã‹ã‚‰å¤‰æ›´ã™ã‚‹å¿…è¦ã¯ + ã‚ã£ãŸã«ãªã„ã§ã—ょã†ã€‚ + åŒæ™‚ã«å¿œç­”ã™ã‚‹ã“ã¨ã®ã§ãるクライアント数ã®æœ€å¤§æ•° + (ã¤ã¾ã‚Šå…¨ãƒ—ロセス中ã®ç·ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã®æœ€å¤§å€¤) 㯠+ MaxClients + ディレクティブã§æ±ºå®šã•ã‚Œã¾ã™ã€‚ + 活動中ã®å­ãƒ—ロセス数ã®æœ€å¤§å€¤ã¯ + MaxClients ã‚’ + ThreadsPerChild ã§å‰²ã£ãŸ + ã‚‚ã®ã«ãªã‚Šã¾ã™ã€‚

+ +

活動中ã®å­ãƒ—ロセスã®æ•°ã¨å­ãƒ—ロセス中ã®ã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°ã®è¶Šãˆã‚‰ã‚Œãªã„ + 上é™ã‚’設定ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒäºŒã¤ã‚ã‚Šã¾ã™ã€‚ã“れらã¯ã‚µãƒ¼ãƒã‚’ + 完全ã«åœæ­¢ã—ã¦ã€å†èµ·å‹•ã™ã‚‹ã“ã¨ã§ã—ã‹å¤‰æ›´ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 + ServerLimit + ã¯æ´»å‹•ä¸­ã®å­ãƒ—ロセスã®è¶Šãˆã‚‰ã‚Œãªã„上é™ã‚’設定ã—〠+ MaxClients ディレクティブ + ã®å€¤ã‚’ + ThreadsPerChild ã®å€¤ã§å‰²ã£ãŸå€¤ä»¥ä¸Šã§ã‚ã‚‹ + å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ThreadLimit 㯠+ サーãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®è¶Šãˆã‚‰ã‚Œãªã„上é™ã§ã€ThreadsPerChild ディレクティブ㮠+ 値以上ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

活動中ã®å­ãƒ—ロセス群ã«åŠ ãˆã¦ã€å°‘ãªãã¨ã‚‚一ã¤ã®ã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ãŒ + 既存ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®æŽ¥ç¶šã‚’扱ã£ã¦ã„る終了ã—よã†ã¨ã—ã¦ã„ã‚‹ + å­ãƒ—ロセスãŒã‚ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚終了中ã®ãƒ—ロセス㯠MaxClients ã§æŒ‡å®šã•ã‚ŒãŸæ•°ã¾ã§ + 存在ã§ãã¾ã™ãŒã€å®Ÿéš›ã«æœŸå¾…ã•ã‚Œã‚‹æ•°ã¯ãšã£ã¨å°‘ãªããªã‚Šã¾ã™ã€‚ã“ã® + 振舞ã„ã¯å„å­ãƒ—ロセスを終了ã•ã›ãªã„よã†ã«ã™ã‚‹ã“ã¨ã§å›žé¿ã§ãã¾ã™ã€‚ + ã“ã‚Œã¯ä»¥ä¸‹ã®æ§˜ã«ã—ã¦å®Ÿç¾ã§ãã¾ã™ã€‚

+ + + +

worker MPM ã®å…¸åž‹çš„ãªãƒ—ロセス・スレッド制御㮠+ 設定ã§ã¯ã€æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+ +

+ ServerLimit 16
+ StartServers 2
+ MaxClients 150
+ MinSpareThreads 25
+ MaxSpareThreads 75
+ ThreadsPerChild 25 +

+ +

通常 Unix ã§ã¯è¦ªãƒ—ロセス㯠80 番ãƒãƒ¼ãƒˆã«ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ãŸã‚ã« + root ã§èµ·å‹•ã•ã‚Œã¾ã™ãŒã€å­ãƒ—ロセスやスレッド㯠+ ã‚‚ã£ã¨ä½Žã„権é™ã®ãƒ¦ãƒ¼ã‚¶ã§ Apache ã«ã‚ˆã£ã¦èµ·å‹•ã•ã‚Œã¾ã™ã€‚ + User 㨠+ Group ディレクティブ㯠+ Apache ã®å­ãƒ—ロセスã®æ¨©é™ã‚’設定ã™ã‚‹ã®ã«ç”¨ã„られã¾ã™ã€‚ + å­ãƒ—ロセスã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„å…¨ã¦ã‚’読ã‚ãªã„ã¨ã„ã‘ã¾ã›ã‚“ãŒã€ + å¯èƒ½ãªé™ã‚Šå¿…è¦æœ€å°é™ã®æ¨©é™ã®ã¿ã‚’æŒã£ã¦ã„るよã†ã«ã™ã‚‹ã¹ãã§ã™ã€‚ + ã•ã‚‰ã«ã€suexec + ãŒä½¿ç”¨ã•ã‚Œã¦ã„ãªã„é™ã‚Šã€ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+ CGI スクリプトã§ç¶™æ‰¿ã•ã‚Œã‚‹æ¨©é™ã‚‚設定ã—ã¾ã™ã€‚

+ +

MaxRequestsPerChild + ã¯ã€å¤ã„プロセスをåœæ­¢ã—ã¦æ–°ã—ã„プロセスを起動ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ + ã©ã®ç¨‹åº¦ã®é »åº¦ã§ã‚µãƒ¼ãƒãŒãƒ—ロセスをリサイクルã™ã‚‹ã‹ã‚’制御ã—ã¾ã™ã€‚

+
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/worker.html.tr.utf8 b/docs/manual/mod/worker.html.tr.utf8 new file mode 100644 index 0000000..1877154 --- /dev/null +++ b/docs/manual/mod/worker.html.tr.utf8 @@ -0,0 +1,203 @@ + + + + + +worker - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM worker

+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + tr 

+
+ + + +
Açıklama:Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok +süreçlilik modülü.
Durum:MPM
Modül Betimleyici:mpm_worker_module
Kaynak Dosyası:worker.c
+

Özet

+ +

Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli + olabilen melez bir sunucu oluşturur. İstekleri sunmak için evreleri + kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı + harcayarak daha çok isteğe hizmet sunabilir. Bununla birlikte, herbiri + çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli + sunucu kadar kararlı olur.

+ +

Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her + çocuk süreç için konuşlandırılacak evre sayısını belirleyen ThreadsPerChild yönergesi ile devreye + sokulacak toplam evre sayısının azamisini belirleyen MaxRequestWorkers yönergesidir.

+
+ +
top
+
+

Nasıl çalışır?

+

Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur. + Her çocuk süreç ThreadsPerChild yönergesinde belirtilen sayıda evre + konuşlandırır. Bunlardan ayrı olarak, bir dinleyici evre bağlantıları + dinleyip gelenleri işlenmek üzere bu sunucu evrelerinden birine + aktarır.

+ +

Apache HTTP Sunucusu daima, gelen isteklere hizmet sunmaya hazır + yedek + veya boştaki sunucu evrelerinden oluşan bir havuzu canlı tutmaya + çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk + süreçlerin çatallanmasını, dolayısıyla yeni evrelerin + konuşlandırılmasını beklemek gerekmez. Başlangıçta çalıştırılacak çocuk + süreçlerin sayısı StartServers yönergesinde belirtilir. + Apache httpd, çalışma süresi boyunca MinSpareThreads ve MaxSpareThreads yönergeleri ile belirtilen sınırlar + dahilinde kalmak üzere gerektiğinde süreçleri öldürerek gerektiğinde + yenilerini devreye alarak tüm süreçlerdeki toplam evre sayısını sabit + tutmaya çalışır. Bu işlem kendiliğinden çok iyi yürüdüğünden bu + yönergelere öntanımlı değerlerinden farklı değerlerin atanması nadiren + gerekli olur. Aynı anda hizmet sunulabilecek istemcilerin sayısı (yani, + tüm süreçlerin toplam evre sayısı) MaxRequestWorkers yönergesi ile belirlenir. Etkin çocuk + süreçlerin sayısı ise MaxRequestWorkers yönergesindeki değerin ThreadsPerChild yönergesindeki değere + bölünmesi ile elde edilir.

+ +

Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her + çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu + sınır sadece ana sunucu tamamen durdurulup yeniden başlatılarak + değiştirilebilir. ServerLimit yönergesinin değeri etkin çocuk süreç + sayısının üst sınırı olup MaxRequestWorkers yönergesindeki değerin ThreadsPerChild yönergesindeki değere + bölünmesi ile elde değere eşit veya bundan küçük olması gerekir. + ThreadLimit yönergesinin + değeri ise sunucu evreleri sayısının üst sınırını belirler ve ThreadsPerChild yönergesindeki değerden + büyük veya ona eşit olması gerekir.

+ +

Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci + bağlantılarını işleme sokmaya çalışan tek bir sunucu evresinden başka + fazladan bir çocuk süreç etkin kalabileceği gibi sonlandırılacak süreç + sayısının en fazla MaxRequestWorkers olması gerekirse de gerçekte sayı bundan + küçük olabilir. Şöyle bir işlemle tek bir çocuk sürecin sonlandırılması + iptal edilerek bu gibi durumlara karşı önlem alınabilir:

+ + + +

worker modülünün öntanımlı süreç-evre yapılandırması + genelde şöyledir:

+ +
ServerLimit         16
+StartServers         2
+MaxRequestWorkers  150
+MinSpareThreads     25
+MaxSpareThreads     75
+ThreadsPerChild     25
+ + +

Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından + çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache + httpd tarafından daha az yetkili bir kullanıcının aidiyetinde + çalıştırılırlar. Apache httpd’nin çocuk süreçlerinin kullanıcı ve + gruplarını ayarlamak için User + ve Group yönergeleri + kullanılır. + Çocuk süreçlerin sunacakları içeriği okumaya yetkili olmaları gerekir, + fakat bu yetkinin mümkün olduğunca kısıtlı tutulmasına çalışılmalıdır. + Bundan başka, suexec kullanılmadığı takdirde, bu + yönergeler CGI betikleri tarafından miras alınacak yetkili kullanıcı + ve grubu da ayarlarlar.

+ +

MaxConnectionsPerChild + yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı + ne kadar sıklıkla yapacağını denetler.

+ +

Bu MPM, gürleyen sürü sorunu ortaya çıktığında (genelde çok sayıda + dinlenen soket varlığında) gelen bağlantılara erişimi dizgileştirmek için + mpm-accept muteksini kullanır. Bu muteksin gerçeklenimle + ilgili hususları Mutex yönergesi ile + yapılandırılabilir. Bu muteks hakkında ek bilgi için başarımın arttırılması + belgesine bakınız.

+ +
+
+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html b/docs/manual/mpm.html new file mode 100644 index 0000000..f0ab748 --- /dev/null +++ b/docs/manual/mpm.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mpm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: mpm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mpm.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mpm.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mpm.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: mpm.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mpm.html.de b/docs/manual/mpm.html.de new file mode 100644 index 0000000..8e3b711 --- /dev/null +++ b/docs/manual/mpm.html.de @@ -0,0 +1,160 @@ + + + + + +Multi-Processing-Module (MPMs) - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Multi-Processing-Module (MPMs)

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Das Dokument beschreibt, was ein Multi-Processing-Modul ist und wie solche + Module beim Apache HTTP Server verwendet werden.

+
+ +
top
+
+

Einführung

+ +

Der Apache HTTP Server wurde als leistungsfähiger und flexibler Webserver + konzipiert, der auf einer Vielzahl von Plattformen in einer + Reihe unterschiedlicher Umgebungen arbeiten kann. Unterschiedliche + Plattformen und unterschiedliche Umgebungen verlangen oftmals verschiedene + Fähigkeiten oder kennen verschiedene Wege, die gleiche + Funktionaltät sehr effizient zu implementieren. Der Apache hat durch + seinen modularen Aufbau schon immer eine breite Auswahl von Umgebungen + unterstützt. Dieses Design erlaubt es dem Webmaster, durch Auswahl der + Module, die zur Kompilierungszeit oder zur Laufzeit geladen werden, die + Features auszuwählen, die in den Server intregiert werden.

+ +

Der Apache 2.0 erweitert dieses modulare Design auf die grundlegenden + Funktionen eines Webservers. Der Server wird mit einer Auswahl von + Multi-Processing-Modulen (MPMs) ausgeliefert, die für die Bindung an + Netzwerkports der Maschine, die Annahme von Anfragen und die Abfertigung von + Kindprozessen zur Behandlung der Anfragen zuständig sind.

+ +

Die Erweiterung des modularen Aufbaus auf diese Ebene des Servers + bringt zwei wesentliche Vorteile:

+ +
    +
  • Der Apache kann nun eine Vielfalt von Betriebssystemen sauberer und + effizienter unterstützen. Insbesondere die Windows-Version des Apache + ist jetzt deutlich effizienter, da mpm_winnt native + Netzwerkfähigkeiten anstelle der im Apache 1.3 verwendeten + POSIX-Schicht benutzen kann. Dieser Vorteil gilt auch für andere + Betriebssysteme, für die spezielle MPMs implementiert sind.
  • + +
  • Der Server läßt sich besser auf die Bedürfnisse der + jeweiligen Website anpassen. Sites beispielsweise, die eine hohe + Skalierbarkeit benötigen, können ein Threaded-MPM wie + worker oder event wählen, + während Sites, die Stabilität oder Kompatibilität mit + älterer Software erfordern, prefork wählen + können.
  • +
+ +

Auf Anwenderebene erscheinen MPMs fast wie andere Apache-Module. Der + Hauptunterschied ist, dass jeweils nur ein einziges MPM in den Server + geladen werden kann. Die Liste der verfügbaren MPMs finden Sie im Modul-Index.

+ +
top
+
+

Auswahl eines MPMs

+ +

MPMs müssen während der + (Anm.d.Ü.: Quelltext-)Konfiguration ausgewählt und in den + Server einkompiliert werden. Compiler sind in der Lage eine Reihe von + Funktionen zu optimieren, wenn Threads verwendet werden. Sie können + dies allerdings nur, wenn sie wissen, dass Threads benutzt werden.

+ +

Um das gewünschte MPM tatsächlich auszuwählen, verwenden Sie + beim configure-Skript das Argument + --with-mpm=NAME. NAME ist der Name des + gewünschten MPMs.

+ +

Ist der Server kompiliert, so ist es mittels ./httpd -l + möglich, das ausgewählte MPM zu ermitteln. Dieser Befehl listet + alle in den Server einkompilierten Module auf, einschließlich des + MPM.

+
top
+
+

MPM-Voreinstellungen

+ +

Die folgende Tabelle gibt die voreingestellten MPMs für verschiedene + Betriebssysteme an. Wenn Sie während der Kompilierung keine andere + Auswahl treffen, wird dieses MPM gewählt.

+ + + + + + + + +
BeOSbeos
Netwarempm_netware
OS/2mpmt_os2
Unixprefork
Windowsmpm_winnt
+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html.en b/docs/manual/mpm.html.en new file mode 100644 index 0000000..2844e10 --- /dev/null +++ b/docs/manual/mpm.html.en @@ -0,0 +1,211 @@ + + + + + +Multi-Processing Modules (MPMs) - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Multi-Processing Modules (MPMs)

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

This document describes what a Multi-Processing Module is and +how they are used by the Apache HTTP Server.

+
+ +
top
+
+

Introduction

+ +

The Apache HTTP Server is designed to be a powerful and + flexible web server that can work on a very wide variety of + platforms in a range of different environments. Different + platforms and different environments often require different + features, or may have different ways of implementing the same + feature most efficiently. Apache httpd has always accommodated a wide + variety of environments through its modular design. This design + allows the webmaster to choose which features will be included + in the server by selecting which modules to load either at + compile-time or at run-time.

+ +

Apache HTTP Server 2.0 extends this modular design to the most basic + functions of a web server. The server ships with a selection of + Multi-Processing Modules (MPMs) which are responsible for + binding to network ports on the machine, accepting requests, + and dispatching children to handle the requests.

+ +

Extending the modular design to this level of the server + allows two important benefits:

+ +
    +
  • Apache httpd can more cleanly and efficiently support a wide + variety of operating systems. In particular, the Windows + version of the server is now much more efficient, since + mpm_winnt can use native + networking features in place of the POSIX layer used in + Apache httpd 1.3. This benefit also extends to other operating + systems that implement specialized MPMs.
  • + +
  • The server can be better customized for the needs of the + particular site. For example, sites that need a great deal of + scalability can choose to use a threaded MPM like + worker or event, while sites requiring + stability or compatibility with older software can use a + prefork.
  • +
+ +

At the user level, MPMs appear much like other Apache httpd + modules. The main difference is that one and only one MPM must + be loaded into the server at any time. The list of available + MPMs appears on the module index page.

+ +
top
+
+

MPM Defaults

+ +

The following table lists the default MPMs for various operating +systems. This will be the MPM selected if you do not make another +choice at compile-time.

+ + + + + +
Netwarempm_netware
OS/2mpmt_os2
Unixprefork, worker, or + event, depending on platform capabilities
Windowsmpm_winnt
+ +

Here, 'Unix' is used to mean Unix-like operating systems, such as +Linux, BSD, Solaris, Mac OS X, etc.

+ +

In the case of Unix, the decision as to which MPM is installed is +based on two questions:

+

1. Does the system support threads?

+

2. Does the system support thread-safe polling (Specifically, the +kqueue and epoll functions)?

+ +

If the answer to both questions is 'yes', the default MPM is +event.

+ +

If The answer to #1 is 'yes', but the answer to #2 is 'no', the +default will be worker.

+ +

If the answer to both questions is 'no', then the default MPM will be +prefork.

+ +

In practical terms, this means that the default will almost always be +event, as all modern operating systems support these +two features.

+ +
top
+
+

Building an MPM as a static module

+ +

MPMs can be built as static modules on all platforms. A single MPM + is chosen at build time and linked into the server. The server must + be rebuilt in order to change the MPM.

+ +

To override the default MPM choice, use the + --with-mpm=NAME option of the + configure script. NAME is the name of the + desired MPM.

+ +

Once the server has been compiled, it is possible to determine which MPM + was chosen by using ./httpd -l. This command will list every + module that is compiled into the server, including the MPM.

+ +
top
+
+

Building an MPM as a DSO module

+ +

On Unix and similar platforms, MPMs can be built as DSO modules and + dynamically loaded into the server in the same manner as other DSO + modules. Building MPMs as DSO modules allows the MPM to be changed by + updating the LoadModule directive + for the MPM instead of by rebuilding the server.

+ +
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
+ + +

Attempting to LoadModule + more than one MPM will result in a startup failure with the + following error.

+ +

AH00534: httpd: Configuration error: More than one MPM + loaded.

+ +

This feature is enabled using the + --enable-mpms-shared option of the configure + script. + With argument all, all possible MPMs for the platform + will be installed. Alternately, a list of MPMs can be specified as the + argument.

+ +

The default MPM, either selected automatically or specified with the + --with-mpm option of the configure + script, will be loaded in the generated server configuration file. Edit the + LoadModule directive to select a + different MPM.

+ +
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html.es b/docs/manual/mpm.html.es new file mode 100644 index 0000000..f9a28d2 --- /dev/null +++ b/docs/manual/mpm.html.es @@ -0,0 +1,151 @@ + + + + + +Módulos de MultiProcesamiento (MPMs) - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Módulos de MultiProcesamiento (MPMs)

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Este documento describe que es un Módulo de Multiprocesamiento y +como los usa Apache.

+
+ +
top
+
+

Introducción

+ +

Apache está diseñado para ser un servidor web potente + y flexible que pueda funcionar en la más amplia variedad de + plataformas y entornos. Las diferentes plataformas y los + diferentes entornos, hacen que a menudo sean necesarias diferentes + características o funcionalidades, o que una misma + característica o funcionalidad sea implementada de diferente + manera para obtener una mayor eficiencia. Apache se ha adaptado + siempre a una gran variedad de entornos a través de su + diseño modular. Este diseño permite a los + administradores de sitios web elegir que características van + a ser incluidas en el servidor seleccionando que módulos se + van a cargar, ya sea al compilar o en tiempo de ejecución.

+ +

Apache 2.0 extiende este diseño modular hasta las + funciones más básicas de un servidor web. El servidor + viene con una serie de Módulos de MultiProcesamiento que son + responsables de conectar con los puertos de red de la + máquina, aceptar las peticiones, y generar los procesos hijo + que se encargan de servirlas.

+ +

La extensión del diseño modular a este nivel del + servidor ofrece dos beneficios importantes:

+ +
    +
  • Apache puede soportar de una forma más fácil y + eficiente una amplia variedad de sistemas operativos. En + concreto, la versión de Windows de Apache es mucho más + eficiente, porque el módulo mpm_winnt + puede usar funcionalidades nativas de red en lugar de usar la + capa POSIX como hace Apache 1.3. Este beneficio se extiende + también a otros sistemas operativos que implementan sus + respectivos MPMs.
  • + +
  • El servidor puede personalizarse mejor para las necesidades + de cada sitio web. Por ejemplo, los sitios web que necesitan + más que nada escalabilidad pueden usar un proceso MPM como + worker, mientras que los sitios web que + requieran por encima de otras cosas estabilidad o compatibilidad + con software antiguo pueden usar + prefork. +
  • +
+ +

A nivel de usuario, los MPMs son como cualquier otro + módulo de Apache. La diferencia más importante es que + solo un MPM puede estar cargado en el servidor en un determinado + momento. La lista de MPMs disponibles está en la sección índice de Módulos.

+ +
top
+
+

MPM por defecto

+ +

En la siguiente tabla se muestran los MPMs por defecto para varios +sistemas operativos. Estos serán los MPM seleccionados si no se +especifica lo contrario al compilar.

+ + + + + +
Netwarempm_netware
OS/2mpmt_os2
Unixprefork, worker, or + event, depending on platform capabilities
Windowsmpm_winnt
+ +

aquí, 'Unix' se usa para designar a los sistemas operativos "Unix-like", como +Linux, BSD, Solaris, Mac OS X, etc.

+ +

En el caso de los Unix, la decisión de que MPM se va a instalar + depende de dos pregunas:

+

1. ¿Nos permite el Sistema Operativo hilos?

+

2. -¿Nos permite el sistema operativo soporte a pila de hilos seguros + (Especificamente, las funciones kqueue y epoll)?

+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html.fr.utf8 b/docs/manual/mpm.html.fr.utf8 new file mode 100644 index 0000000..4aa8ee4 --- /dev/null +++ b/docs/manual/mpm.html.fr.utf8 @@ -0,0 +1,227 @@ + + + + + +Modules multi-processus (MPMs) - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Modules multi-processus (MPMs)

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Ce document décrit ce qu'est un Module Multi-Processus, ainsi +que la manière dont ces modules sont utilisés par le serveur HTTP Apache.

+
+ +
top
+
+

Introduction

+ +

La conception du serveur HTTP Apache en fait un serveur web puissant et + flexible pouvant fonctionner sur une très grande variété de + plateformes et toute une gamme d'environnements différents. Plateformes + différentes et environnements différents signifient souvent fonctionnalités + différentes, ou utilisation de différentes méthodes pour + implémenter la même fonctionnalité le plus efficacement possible. + Apache httpd s'est toujours accomodé d'une grande variété d'environnements + grâce à sa conception modulaire. Cette conception autorise le webmaster + à choisir quelles fonctionnalités seront incluses + dans le serveur en sélectionnant les modules à charger soit à la + compilation, soit à l'exécution.

+ +

Le serveur HTTP Apache 2.0 a étendu cette conception modulaire aux + fonctions les plus + élémentaires d'un serveur web. Le serveur est fourni avec une variété de + Modules Multi-Processus (MPMs) qui + sont responsables de l'association aux ports réseau de la machine, + acceptent les requêtes, et se chargent de répartir ces dernières + entre les différents processus enfants.

+ +

L'extension de la conception modulaire à ce niveau du serveur + comporte deux avantages importants :

+ +
    +
  • Apache httpd peut supporter plus proprement et efficacement une grande + variété de systèmes d'exploitation. En particulier, la version Windows + du serveur est maintenant beaucoup plus efficace, depuis que + mpm_winnt peut utiliser les fonctionnalités réseau + natives à la place de la couche POSIX utilisée par + Apache httpd 1.3. Cet avantage s'étend aussi aux systèmes d'exploitation + qui implémentent des MPMs spécialisés.
  • + +
  • le serveur est plus à même de répondre aux besoins d'un site + particulier. Par exemple, les sites qui sont très sollicités peuvent + utiliser un MPM threadé comme + worker ou event, tandis que les sites + qui privilégient la stabilité ou la compatibilité avec des logiciels + plus anciens peuvent utiliser un module comme + prefork.
  • +
+ +

Du point de vue de l'utilisateur, les MPMs ne sont pas différents des + autres modules Apache httpd. La principale différence réside dans le fait qu'un + et un seul MPM à la fois doit être chargé + lorsque le serveur s'exécute. La liste des + MPMs disponibles est fournie dans l'index des + modules.

+ +
top
+
+

MPM par défaut

+ +

La table suivante fournit la liste des MPMs par défaut pour divers +systèmes d'exploitation. Il s'agit du MPM qui sera utilisé si +vous n'en spécifiez pas un autre à la compilation.

+ + + + + +
Netwarempm_netware
OS/2mpmt_os2
Unixprefork, worker, +ou event, selon les possibilités de la plate-forme
Windowsmpm_winnt
+ +

Ici, 'Unix' sous-entend les systèmes d'exploitation de type +Unix, comme Linux, BSD, Solaris, Mac OS X, etc...

+ +

Dans le cas des systèmes d'exploitation de type Unix, le choix du MPM +à installer est orienté par deux questions :

+

1. Est-ce que le système supporte les threads ?

+

2. Est-ce que le système supporte le polling thread-safe (et en +particulier les fonctions kqueue et epoll) ?

+ +

Si la réponse aux deux questions est 'oui', le MPM par défaut sera +event.

+ +

Si la réponse à la première question est 'oui', et la réponse à la +deuxième 'non', le MPM par défaut sera worker.

+ +

Si la réponse aux deux questions est 'non', le MPM par défaut sera +prefork.

+ +

En pratique, cela signifie que le MPM par défaut sera presque +toujours event car tous les systèmes d'exploitation +modernes satisfont aux deux conditions.

+ +
top
+
+

Compiler un module MPM en tant que module +statique

+ +

Les modules MPM peuvent être compilés en tant que modules +statiques sur toutes les plates-formes. A la compilation d'Apache, un +seul module MPM doit être choisi pour être compilé et lié avec le +serveur. La recompilation du serveur sera donc nécessaire si vous +souhaitez changer de module MPM.

+ +

Pour choisir un module MPM autre que le MPM par défaut, + utiliser l'argument + --with-mpm=NOM du script + configure. NOM est le nom + du MPM désiré.

+ +

Une fois le serveur compilé, il est possible de savoir quel MPM + a été choisi à l'aide de la commande ./httpd -l. + Cette commande fournit la liste de tous les modules compilés + avec le serveur, y compris le MPM.

+ +
top
+
+

Compiler un module MPM en tant que module +DSO (Dynamic Shared Object)

+ +

Sous Unix et les plates-formes similaires, les modules MPM + peuvent être compilés en tant que modules DSO et chargés + dynamiquement dans le serveur comme tout module DSO. Compiler les + modules MPM en tant que modules DSO permet de changer de MPM en + modifiant la directive LoadModule concernée, sans avoir à + recompiler le serveur.

+ +
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
+ + +

Toute tentative de charger plusieurs modules MPM via la directive + LoadModule empêchera le + serveur de démarrer et affichera l'erreur suivante :

+ +

AH00534: httpd: Configuration error: More than one MPM + loaded.

+ +

Cette fonctionnalité est activée via l'option + --enable-mpms-shared du script + configure. Si on ajoute l'argument + all, tous les modules MPM disponibles sur la + plate-forme considérée seront installés. Cet argument peut aussi + contenir une liste de modules MPM à installer.

+ +

Le module MPM par défaut, sélectionné automatiquement ou spécifié + via l'option --with-mpm du script + configure, sera chargé via une directive + LoadModule du fichier de + configuration du serveur généré. Pour choisir un autre module MPM, + vous devrez donc modifier cette directive

+ +
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html.ja.utf8 b/docs/manual/mpm.html.ja.utf8 new file mode 100644 index 0000000..10f30b6 --- /dev/null +++ b/docs/manual/mpm.html.ja.utf8 @@ -0,0 +1,166 @@ + + + + + +マルãƒãƒ—ロセッシングモジュール (MPM) - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

マルãƒãƒ—ロセッシングモジュール (MPM)

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ã“ã®æ–‡æ›¸ã§ã¯ãƒžãƒ«ãƒãƒ—ロセッシングモジュールãŒã©ã®ã‚ˆã†ãªã‚‚ã®ã§ã€ +Apache HTTP サーãƒã§ã©ã®ã‚ˆã†ã«ä½¿ç”¨ã•ã‚Œã‚‹ã‹ã«ã¤ã„ã¦è§£èª¬ã—ã¦ã„ã¾ã™ã€‚

+
+ +
top
+
+

ã¯ã˜ã‚ã«

+ +

Apache HTTP サーãƒã¯ç•°ãªã‚‹å¹…広ã„環境ã€å¤šç¨®å¤šæ§˜ãªãƒ—ラットホーム㧠+ 動作ã™ã‚‹ã‚ˆã†ã«ã€ãƒ‘ワフルã§æŸ”軟性ã«å¯Œã‚“ã è¨­è¨ˆã«ãªã£ã¦ã„ã¾ã™ã€‚ + ç•°ãªã‚‹ãƒ—ラットホーム・異ãªã‚‹ç’°å¢ƒã§ã¯ã—ã°ã—ã°ã€ + ç•°ãªã‚‹æ©Ÿèƒ½ãŒå¿…è¦ã«ãªã£ãŸã‚Šã€ + åŒã˜æ©Ÿèƒ½ã§ã‚‚効率ã®ãŸã‚ã«ç•°ãªã‚‹å®Ÿè£…ãŒå¿…è¦ã«ãªã£ãŸã‚Šã—ã¾ã™ã€‚ + Apache ã§ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«åŒ–ã•ã‚ŒãŸè¨­è¨ˆã«ã‚ˆã‚Šå¹…広ã„環境ã«é©å¿œã—ã¦ãã¾ã—ãŸã€‚ + ã“ã®è¨­è¨ˆã®ãŠã‹ã’ã§ã€ç®¡ç†è€…㯠+ コンパイル時ã¾ãŸã¯å®Ÿè¡Œæ™‚ã«ã©ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ロードã™ã‚‹ã‹é¸ã¶ã“ã¨ã«ã‚ˆã£ã¦ã€ + ã©ã®æ©Ÿèƒ½ã‚’サーãƒã«å–り込むã‹é¸æŠžã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

Apache 2.0 ã§ã¯ã€ + ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«åŒ–ã•ã‚ŒãŸè¨­è¨ˆã‚’サーãƒã®åŸºæœ¬æ©Ÿèƒ½ã«ã¾ã§æ‹¡å¼µã—ã¾ã—ãŸã€‚ + サーãƒã«ã¯ç²¾é¸ã•ã‚ŒãŸãƒžãƒ«ãƒãƒ—ロセッシングモジュール (MPM) + ãŒä»˜ã„ã¦ãã¦ã€ã“れらã¯ãƒžã‚·ãƒ³ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒ¼ãƒˆã‚’ãƒã‚¤ãƒ³ãƒ‰ã—ãŸã‚Šã€ + リクエストをå—ã‘付ã‘ãŸã‚Šã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ã‚ˆã†å­ãƒ—ロセスã«å‰²ã‚Šå½“ã¦ãŸã‚Šã€ + ã¨ã„ã£ãŸå½¹å‰²ã‚’æŒã¡ã¾ã™ã€‚

+ +

モジュール化ã•ã‚ŒãŸè¨­è¨ˆã‚’サーãƒã®ã“ã®ãƒ¬ãƒ™ãƒ«ã¾ã§æ‹¡å¼µã™ã‚‹ã“ã¨ã§ + 二ã¤ã®é‡è¦ãªåˆ©ç‚¹ãŒç”Ÿã¾ã‚Œã¾ã™:

+ +
    +
  • Apache ã¯å¹…広ã„オペレーティングシステムを + より美ã—ã効率的ã«ã‚µãƒãƒ¼ãƒˆã§ãã¾ã™ã€‚ + 特㫠Windows 版㮠Apache ã¯éšåˆ†åŠ¹çŽ‡çš„ã«ãªã‚Šã¾ã—ãŸã€‚ + ãªãœãªã‚‰ mpm_winnt + ã«ã‚ˆã£ã¦ã€Apache 1.3 ã§ç”¨ã„られã¦ã„㟠POSIX + レイヤã®ä»£ã‚ã‚Šã«ãƒã‚¤ãƒ†ã‚£ãƒ–ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ©Ÿèƒ½ã‚’ + 利用ã§ãã‚‹ã‹ã‚‰ã§ã™ã€‚ + 特別化ã•ã‚ŒãŸ MPM + を実装ã—ãŸä»–ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã§ã‚‚〠+ åŒæ§˜ã«ã“ã®åˆ©ç‚¹ã¯ç”Ÿã¾ã‚Œã¾ã™ã€‚
  • + +
  • サーãƒã¯ç‰¹å®šã®ã‚µã‚¤ãƒˆå‘ã‘ã«ã€ã‚ˆã‚Šä¸Šæ‰‹ã«ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã§ãã¾ã™ã€‚ + 例ãˆã°ã€éžå¸¸ã«å¤§ããªã‚¹ã‚±ãƒ¼ãƒ©ãƒ“リティを必è¦ã¨ã™ã‚‹ã‚µã‚¤ãƒˆã§ã¯ã€ + worker ã‚„ event ã¨ã„ã£ãŸã‚¹ãƒ¬ãƒƒãƒ‰åŒ–ã•ã‚ŒãŸ + MPM を利用ã§ãる一方ã§ã€å®‰å®šæ€§ã‚„å¤ã„ソフトウェアã¨ã®äº’æ›æ€§ã‚’ + å¿…è¦ã¨ã™ã‚‹ã‚µã‚¤ãƒˆã§ã¯ prefork + ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚
  • +
+ +

ユーザレベルã§ã¯ã€MPM ã¯ä»–ã® Apache + モジュールã¨åŒç­‰ã«è¦‹ãˆã¾ã™ã€‚ + 主ãªé•ã„ã¯ã€ã„ã¤ã§ã‚‚唯一㮠MPM + ãŒãƒ­ãƒ¼ãƒ‰ã•ã‚Œãªã‘ã‚Œã°ãªã‚‰ãªã„ã¨ã„ã†ç‚¹ã§ã™ã€‚ + 利用å¯èƒ½ãª MPM 㯠+ module インデックスã«ã‚ã‚Šã¾ã™ã€‚

+ +
top
+
+

MPM ã‚’é¸ã¶

+ +

MPM ã¯è¨­å®šä¸­ã«é¸æŠžã—ã¦ã€ã‚µãƒ¼ãƒå†…部ã«ã‚³ãƒ³ãƒ‘イルã•ã‚Œãªã‘れ㰠+ ãªã‚Šã¾ã›ã‚“。 + コンパイラã¯ã€ã‚¹ãƒ¬ãƒƒãƒ‰ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã‚‹å ´åˆã«æ§˜ã€…ãªæ©Ÿèƒ½ã‚’最é©åŒ–ã§ãã¾ã™ãŒã€ + ãã®ãŸã‚ã«ã¯ãã‚‚ãもスレッドãŒä½¿ã‚ã‚Œã¦ã„ã‚‹ã¨ã„ã†ã“ã¨ã‚’知る必è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

望ã¿ã® MPM を実際ã«é¸ã¶ãŸã‚ã«ã¯ã€configure スクリプト㧠+ --with-mpm=NAME 引数を用ã„ã¦ãã ã•ã„。 + NAME ã¯æœ›ã¿ã® MPM ã®åå‰ã§ã™ã€‚

+ +

サーãƒã‚³ãƒ³ãƒ‘イル後ã¯ã€ã©ã® MPM ãŒé¸æŠžã•ã‚ŒãŸã‹ã‚’ + ./httpd -l ã§ç¢ºã‹ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã€MPM + ã‚’å«ã‚ã€ã‚µãƒ¼ãƒã«ã‚³ãƒ³ãƒ‘イルã§çµ„ã¿è¾¼ã¾ã‚ŒãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«å…¨ã¦ã‚’ + 列挙ã—ã¾ã™ã€‚

+
top
+
+

MPM デフォルト値

+ +

次表ã«æ§˜ã€…㪠OS å‘ã‘ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® MPM 一覧を掲載ã—ã¦ã„ã¾ã™ã€‚ +コンパイル時ã«æ„図的ã«ä»–ã‚’é¸æŠžã—ãªã‘ã‚Œã°ã€è‡ªå‹•çš„ã«ã“れら㮠MPM +ãŒé¸æŠžã•ã‚Œã¾ã™ã€‚

+ + + + + + + + +
BeOSbeos
Netwarempm_netware
OS/2mpmt_os2
Unixprefork
Windowsmpm_winnt
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html.ko.euc-kr b/docs/manual/mpm.html.ko.euc-kr new file mode 100644 index 0000000..748b0bd --- /dev/null +++ b/docs/manual/mpm.html.ko.euc-kr @@ -0,0 +1,154 @@ + + + + + +´ÙÁßó¸® ¸ðµâ (MPM) - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

´ÙÁßó¸® ¸ðµâ (MPM)

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ´ÙÁßó¸® ¸ðµâ (Multi-Processing Module)ÀÌ ¹«¾ùÀ̸ç, +¾ÆÆÄÄ¡ À¥¼­¹ö°¡ À̸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

¼Ò°³

+ +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â ´Ù¾çÇÑ È¯°æÀÇ ´Ù¾çÇÑ Ç÷¡Æû¿¡¼­ µ¿ÀÛÇÒ + ¼ö ÀÖµµ·Ï °­·ÂÇÏ°í À¯¿¬ÇÏ°Ô ¼³°èµÇ¾ú´Ù. ´Ù¸¥ Ç÷¡Æû°ú ´Ù¸¥ + ȯ°æÀº º¸Åë ´Ù¸¥ ±â´ÉÀ» ¿ä±¸Çϸç, ¾î¶² ±â´ÉÀ» °¡Àå È¿À²ÀûÀ¸·Î + ±¸ÇöÇÏ´Â ¹æ¹ýÀÌ ´Ù¸¦ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¸ðµâÈ­µÈ ¼³°è·Î ÀÌ·± + ´Ù¾çÇÑ È¯°æ¿¡ Ç×»ó ÀûÀÀÇØ¿Ô´Ù. ±×·¡¼­ À¥¸¶½ºÅÍ´Â ÄÄÆÄÀϽà + ȤÀº ½ÇÇà½Ã ¾î¶² ¸ðµâÀ» ÀоîµéÀÏÁö ¼±ÅÃÇÏ¿© ¼­¹ö¿¡ Æ÷ÇÔÇÒ + ±â´ÉÀ» °áÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +

Apache 2.0Àº ÀÌ·± ¸ðµâÈ­µÈ ¼³°è¸¦ À¥¼­¹öÀÇ °¡Àå ±âº»ÀûÀÎ + ºÎºÐ¿¡±îÁö È®ÀåÇß´Ù. ¼­¹ö´Â ½Ã½ºÅÛÀÇ ³×Æ®¿÷ Æ÷Æ®¿¡ ¿¬°áÇÏ°í, + ¿äûÀ» ¹Þ¾ÆµéÀ̸ç, ¹Þ¾ÆµéÀÎ ¿äûÀ» ó¸®ÇϱâÀ§ÇØ Àڽĵ鿡°Ô + ºÐ¹èÇÏ´Â ´ÙÁßó¸® ¸ðµâ (Multi-Processing Modules, MPMs)À» + ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

+ +

¼­¹ö¸¦ ÀÌ Á¤µµ·Î ¸ðµâÈ­ÇÏ¸é µÎ°¡Áö Áß¿äÇÑ ÀåÁ¡ÀÌ + ÀÖ´Ù:

+ +
    +
  • mpm_winnt°¡ Apache 1.3¿¡¼­ »ç¿ëÇÑ + POSIXÃþ ´ë½Å ÀÚü ³×Æ®¿÷ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â µî, + ¾ÆÆÄÄ¡´Â ¿©·¯ ´Ù¾çÇÑ ¿î¿µÃ¼Á¦¸¦ ´õ ±ò²ûÇÏ°í È¿À²ÀûÀ¸·Î + Áö¿øÇÒ ¼ö ÀÖ´Ù. ÀÌ ÀåÁ¡Àº ƯȭµÈ MPMÀ» ±¸ÇöÇÑ ´Ù¸¥ + ¿î¿µÃ¼Á¦¿¡µµ Àû¿ëµÈ´Ù.
  • + +
  • ¼­¹ö´Â ƯÁ¤ »çÀÌÆ®ÀÇ ¿ä±¸Á¶°Ç¿¡ ´õ ƯȭµÉ ¼ö ÀÖ´Ù. + ¿¹¸¦ µé¾î ³ôÀº È®Àå°¡´É¼º(scalability)ÀÌ ÇÊ¿äÇÑ »çÀÌÆ®´Â + worker¿Í °°Àº ¾²·¹µå MPMÀ» »ç¿ëÇÏ°í, + ¾ÈÁ¤¼º°ú ¿À·¡µÈ ¼ÒÇÁÆ®¿þ¾î¿ÍÀÇ È£È¯¼ºÀÌ ÇÊ¿äÇÑ »çÀÌÆ®´Â + preforking MPM À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. + Ãß°¡·Î ´Ù¸¥ »ç¿ëÀÚ¾ÆÀ̵ð·Î ¿©·¯ È£½ºÆ®¸¦ ¼­ºñ½ºÇÏ´Â + °Í(perchild)°ú °°Àº Ưº°ÇÑ ±â´Éµµ + Á¦°øµÈ´Ù.
  • +
+ +

»ç¿ëÀÚ°¡ º¸±â¿¡ MPMÀº ´Ù¸¥ ¾ÆÆÄÄ¡ ¸ðµâ°ú °ÅÀÇ ºñ½ÁÇØ + º¸ÀδÙ. ÁÖµÈ Â÷ÀÌ´Â ¼­¹ö´Â Çѹø¿¡ ¿ÀÁ÷ ÇÑ MPM¸¸À» »ç¿ëÇØ¾ß + ÇÑ´Ù´Â Á¡ÀÌ´Ù. »ç¿ë°¡´ÉÇÑ MPM ¸ñ·ÏÀº ¸ðµâ + ¸ñ·Ï ÆäÀÌÁö¿¡ ÀÖ´Ù.

+ +
top
+
+

MPM ¼±ÅÃÇϱâ

+ +

MPMs´Â ±¸¼ºÁß¿¡ ¼±ÅÃÇÏ¿© ¼­¹ö¿¡ ÄÄÆÄÀÏµÇ¾ß ÇÑ´Ù. + ¾²·¹µå¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÄÄÆÄÀÏ·¯°¡ ¾Ë¸é ¸¹Àº ÇÔ¼ö¸¦ + ÃÖÀûÈ­ÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º¿¡¼­ ¸î¸î MPMÀº ¾²·¹µå¸¦ ¾²°í + ³ª¸ÓÁö´Â ¾Æ´Ï¹Ç·Î, MPMÀÌ ±¸¼ºÁß¿¡ ¼±ÅÃµÇ¾î ¾ÆÆÄÄ¡¿¡ + ÄÄÆÄÀϵɶ§ ¾ÆÆÄÄ¡´Â ´õ ºü¸¥ ¼Óµµ¸¦ ³½´Ù.

+ +

¿øÇÏ´Â MPMÀ» ¼±ÅÃÇÏ·Á¸é ./configure ½ºÅ©¸³Æ®¿¡ + with-mpm= NAME ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇ϶ó. NAMEÀº + ¿øÇÏ´Â MPM À̸§ÀÌ´Ù.

+ +

¼­¹ö¸¦ ÄÄÆÄÀÏÇÑÈÄ ./httpd -l ¸í·É¾î·Î ¼±ÅÃÇÑ + MPMÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ ¸í·É¾î´Â MPMÀ» Æ÷ÇÔÇÏ¿© ¼­¹ö¿¡ ÄÄÆÄÀÏµÈ + ¸ðµç ¸ðµâÀ» ¾Ë·ÁÁØ´Ù.

+
top
+
+

MPM ±âº»°ª

+ +

´ÙÀ½ Ç¥´Â ¿©·¯ ¿î¿µÃ¼Á¦ÀÇ ±âº» MPMÀ» º¸¿©ÁØ´Ù. ÄÄÆÄÀϽà +´Ù¸£°Ô ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é ÀÌ MPMÀÌ ¼±ÅõȴÙ.

+ + + + + + + + +
BeOSbeos
Netwarempm_netware
OS/2mpmt_os2
À¯´Ð½ºprefork
À©µµ¿ìÁîmpm_winnt
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html.tr.utf8 b/docs/manual/mpm.html.tr.utf8 new file mode 100644 index 0000000..4a33558 --- /dev/null +++ b/docs/manual/mpm.html.tr.utf8 @@ -0,0 +1,210 @@ + + + + + +Çok Süreçlilik Modülleri (MPM’ler) - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Çok Süreçlilik Modülleri (MPM’ler)

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Bu belgede Çok Süreçlilik Modülü denince ne anlaşıldığı ve bunların + Apache HTTP Sunucusu tarafından nasıl kullanıldıkları açıklanmıştır.

+
+ +
top
+
+

GiriÅŸ

+ +

Apache HTTP Sunucusu çok çeşitli platformlar üstünde farklı ortamlarda + çalışabilen güçlü ve esnek bir HTTP sunucusu olarak tasarlanmıştır. + Farklı platformlar ve farklı ortamlar çoğunlukla farklı özellikler veya + aynı özelliğin en yüksek verimlilikle gerçeklenmesi için farklı yöntemler + gerektirir. Apache httpd, geniş ortam çeşitliliğini daima modüler + tasarımı sayesinde uzlaştırmıştır. Bu tasarım, site yöneticilerine, + sunucularında bulunmasını istedikleri özellikleri derleme sırasında veya + çalışma anında gerekli modülleri yüklemek suretiyle seçebilme imkanı + verir.

+ +

Apache HTTP Sunucusu 2.0, bu modüler tasarımı sunucunun en temel + işlevlerine kadar indirmiştir. Sunucu, Çok Süreçlilik Modülleri adı + verilen ve makine üzerindeki ağ portlarının bağlanmasından, isteklerin + kabul edilmesinden ve bu istekleri yanıtlayacak çocuklara dağıtmaktan + sorumlu olan modüllerin seçimine imkan verecek bir yapılanma ile + gelir.

+ +

Sunucunun modüler tasarımının bu seviyede genişletilmesi iki önemli + yarar sağlar:

+ +
    +
  • Apache httpd geniÅŸ çeÅŸitlilikteki iÅŸletim sistemlerini daha temiz ve + daha verimli bir ÅŸekilde destekleyebilmektedir. Özellikle, + mpm_winnt modülü, Apache httpd 1.3’te kullanılan POSIX + katmanının yerine iÅŸletim sistemine özgü özellikleri + kullanabildiÄŸinden, Apache HTTP Sunucusunun Windows sürümü artık çok + daha verimli bir duruma gelmiÅŸtir. Aynı fayda özelleÅŸtirilmiÅŸ MPM’lerle + diÄŸer iÅŸletim sistemlerine de saÄŸlanmıştır.
  • + +
  • Sunucu, belli bir sitenin ihtiyaçlarına uygun olarak daha iyi + kiÅŸiselleÅŸtirilebilmektedir. ÖrneÄŸin, eski yazılım ile uyumluluk ve + kararlılığa önem veren siteler prefork modülünü + kullanabilirken, daha geniÅŸ ölçeklenebilirlik gerektiren siteler + worker veya event gibi evreli MPM + modüllerinden birini seçebilmektedir.
  • +
+ +

Kullanıcı açısından MPM’lerin diğer Apache httpd modüllerinden görünüşte + bir farkı yoktur. Asıl fark sunucuya yüklenebilecek azami MPM modülü + sayısının bir ve yalnız bir olarak sınırlanmış olmasıdır. Mevcut MPM + modülleri modül dizini sayfasında listelenmiştir.

+ +
top
+
+

Öntanımlı MPM’ler

+ +

Aşağıdaki tabloda çeşitli işletim sistemlerinde öntanımlı olan MPM’ler + listelenmiştir. Derleme sırasında başka bir seçim yapmadığınız takdirde + bu işletim sistemlerinde bu MPM’ler seçilmiş olacaktır.

+ + + + + +
Netwarempm_netware
OS/2mpmt_os2
UnixPlatformun yapabildiklerine bağlı olarak, + prefork, worker veya + event
Windowsmpm_winnt
+ +

'Unix' burada Unix benzeri işletim sistemleri anlamında + kullanılmıştır (örn, Linux, BSD, Solaris, Mac OS X, vb.

+ +

Unix durumunda, hangi MPM'nin kurulacağı kararı şu 2 soruya verilecek + yanıta bağlıdır:

+

1. Sistem evreleri destekliyor mu?

+

2. Sistem evreleri "thread-safe polling" anlamında destekliyor mu + (özellikle kqueue ve epoll işlevlerini)?

+ +

Her iki soruya da verilen yanıt 'evet' ise, öntanımlı MPM'niz + event modülüdür.

+ +

Birincinin yanıtı 'evet' ikincinin 'hayır' ise öntanımlı MPM'niz + worker modülüdür.

+ +

Yanıtların her ikisi de 'hayır' ise öntanımlı MPM'niz + prefork modülüdür.

+ +

Uygulamada, günümüzdeki işletim sistemlerinin tümü bu iki özelliği + desteklediğinden öntanımlı MPM'niz hemen hemen daima + event modülü olacaktır.

+ +
top
+
+

Bir MPM'i bir duruk modül olarak derlemek

+ +

MPM'ler tüm platformlarda duruk (static) modüller olarak derlenebilir. + Derleme sırasında tek bir modül seçilir ve sunucu ile ilintilenir. MPM + değiştirilmek istenirse sunucunun yeniden derlenmesi gerekir.

+ +

Öntanımlı MPM seçimin değiştirmek için configure + betiğinin --with-mpm=AD seçeneği kullanılır. + Buradaki AD istenen MPM'in ismidir.

+ +

Sunucu bir kere derlendi mi, hangi MPM'in seçilmiş olduğunu + ./httpd -l komutuyla öğrenebilirsiniz. Bu komut, içerilen + MPM dahil, sunucu içinde derlenmiş bütüm modülleri listeler.

+ +
top
+
+

Bir MPM'i bir DSO modülü olarak derlemek

+ +

Unix ve benzeri platformlarda, MPM'ler DSO modülleri olarak derlenebilir + ve diğer DSO modülleri gibi sunucuya devingen olarak yüklenebilir. DSO + modülü olarak derlenen MPM'ler, sunucunun yeniden derlenmesini + gerektirmeden LoadModule yönergesi + güncellenerek değiştirilebilir.

+ +
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
+ + +

LoadModule yönergesini birden + fazla MPM için kullanmak sunucunun başlatılması sırasında aşağıdaki + hatanın oluşmasına sebep olur.

+ +

AH00534: httpd: Configuration error: More than one MPM + loaded.

+ +

Bu özellik configure betiğinin + --enable-mpms-shared seçeneği ile etkinleştirilebilir. + all değeri belirtilerek platform için + kullanılabilen tüm modüller kurulur. İstenirse, değer olarak bir MPM + listesi de belirtilebilir.

+ +

Özdevinimli olarak seçilerek veya configure betiğine + --with-mpm seçeneğiyle belirtilerek seçilen öntanımlı MPM + üretilen sunucu yapılandırma dosyasıyla yüklenir. Farklı bir MPM seçmek + için MPM'i LoadModule yönergesinde + belirtin.

+ +
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/mpm.html.zh-cn.utf8 b/docs/manual/mpm.html.zh-cn.utf8 new file mode 100644 index 0000000..a80ba96 --- /dev/null +++ b/docs/manual/mpm.html.zh-cn.utf8 @@ -0,0 +1,155 @@ + + + + + +多处ç†æ¨¡å—(MPM) - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

多处ç†æ¨¡å—(MPM)

+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

本文档介ç»äº†ä»€ä¹ˆæ˜¯å¤šå¤„ç†æ¨¡å—ï¼Œä»¥åŠ Apache HTTP æœåŠ¡å™¨å¦‚何使用它们。

+
+ +
top
+
+

介ç»

+ +

Apache HTTP æœåŠ¡å™¨è¢«è®¾è®¡ä¸ºä¸€ä¸ªåŠŸèƒ½å¼ºå¤§ï¼Œå¹¶ä¸”çµæ´»çš„ web æœåŠ¡å™¨ï¼Œ + å¯ä»¥åœ¨å¾ˆå¤šå¹³å°ä¸ŽçŽ¯å¢ƒä¸­å·¥ä½œã€‚ä¸åŒå¹³å°å’Œä¸åŒçš„环境往往需è¦ä¸åŒ + 的特性,或å¯èƒ½ä»¥ä¸åŒçš„æ–¹å¼å®žçŽ°ç›¸åŒçš„特性最有效率。Apache httpd + 通过模å—化的设计æ¥é€‚应å„ç§çŽ¯å¢ƒã€‚è¿™ç§è®¾è®¡å…许网站管ç†å‘˜é€šè¿‡åœ¨ + 编译时或è¿è¡Œæ—¶ï¼Œé€‰æ‹©å“ªäº›æ¨¡å—将会加载在æœåŠ¡å™¨ä¸­ï¼Œæ¥é€‰æ‹©æœåŠ¡å™¨ç‰¹æ€§ã€‚

+ +

Apache HTTP æœåŠ¡å™¨ 2.0 扩展此模å—化设计到最基本的 web æœåŠ¡å™¨åŠŸèƒ½ã€‚ + 它æ供了å¯ä»¥é€‰æ‹©çš„多处ç†æ¨¡å—(MPM),用æ¥ç»‘定到网络端å£ä¸Šï¼ŒæŽ¥å—请求, + 以åŠè°ƒåº¦å­è¿›ç¨‹å¤„ç†è¯·æ±‚。

+ +

扩展到这一级别的æœåŠ¡å™¨æ¨¡å—化设计,带æ¥ä¸¤ä¸ªé‡è¦çš„好处:

+ +
    +
  • Apache httpd 能更优雅,更高效率的支æŒä¸åŒçš„å¹³å°ã€‚尤其是 + Apache httpd çš„ Windows 版本现在更有效率了,因为 + mpm_winnt 能使用原生网络特性å–代在 + Apache httpd 1.3 中使用的 POSIX 层。它也å¯ä»¥æ‰©å±•åˆ°å…¶å®ƒå¹³å° + æ¥ä½¿ç”¨ä¸“用的 MPM。
  • + +
  • Apache httpd 能更好的为有特殊è¦æ±‚的站点定制。例如,è¦æ±‚ + 更高伸缩性的站点å¯ä»¥é€‰æ‹©ä½¿ç”¨çº¿ç¨‹çš„ MPMï¼Œå³ + worker 或 eventï¼› + 需è¦å¯é æ€§æˆ–者与旧软件兼容的站点å¯ä»¥ä½¿ç”¨ + prefork。
  • +
+ +

在用户看æ¥ï¼ŒMPM 很åƒå…¶å®ƒ Apache httpd 模å—。主è¦æ˜¯åŒºåˆ«æ˜¯ï¼Œåœ¨ä»»ä½•æ—¶é—´ï¼Œ + 必须有一个,而且åªæœ‰ä¸€ä¸ª MPM 加载到æœåŠ¡å™¨ä¸­ã€‚å¯ç”¨çš„ MPM 列表ä½äºŽ + 模å—索引页é¢ã€‚

+ +
top
+
+

默认 MPM

+ +

下表列出了ä¸åŒç³»ç»Ÿçš„默认 MPM。如果你ä¸åœ¨ç¼–译时选择,那么它就是你将è¦ä½¿ç”¨çš„ MPM。

+ + + + + +
Netwarempm_netware
OS/2mpmt_os2
Unixprefork,worker 或 + event,å–决于平å°ç‰¹æ€§
Windowsmpm_winnt
+
top
+
+

构建 MPM 为é™æ€æ¨¡å—

+ +

在全部平å°ä¸­ï¼ŒMPM 都å¯ä»¥æž„建为é™æ€æ¨¡å—ã€‚åœ¨æž„å»ºæ—¶é€‰æ‹©ä¸€ç§ + MPM,链接到æœåŠ¡å™¨ä¸­ã€‚如果è¦æ”¹å˜ MPM,必须é‡æ–°æž„建。

+ +

为了使用指定的 MPM,请在执行 configure 脚本 + 时,使用å‚æ•° --with-mpm=NAME。NAME + 是指定的 MPM å称。

+ +

编译完æˆåŽï¼Œå¯ä»¥ä½¿ç”¨ ./httpd -l æ¥ç¡®å®šé€‰æ‹©çš„ MPM。 + 此命令会列出编译到æœåŠ¡å™¨ç¨‹åºä¸­çš„所有模å—,包括 MPM。

+ +
top
+
+

构建 MPM 为动æ€æ¨¡å—

+ +

在 Unix 或类似平å°ä¸­ï¼ŒMPM å¯ä»¥æž„建为动æ€æ¨¡å—,与其它动æ€æ¨¡å—一样在è¿è¡Œæ—¶åŠ è½½ã€‚ + 构建 MPM 为动æ€æ¨¡å—å…许通过修改 LoadModule + 指令内容æ¥æ”¹å˜ MPM,而ä¸ç”¨é‡æ–°æž„建æœåŠ¡å™¨ç¨‹åºã€‚

+ +

在执行 configure 脚本时,使用 + --enable-mpms-shared 选项å¯ä»¥å¯ç”¨æ­¤ç‰¹æ€§ã€‚ + 当给出的å‚数为 all 时,所有此平å°æ”¯æŒçš„ MPM + 模å—都会被安装。还å¯ä»¥åœ¨å‚数中给出模å—列表。

+ +

默认 MPM,å¯ä»¥è‡ªåŠ¨é€‰æ‹©æˆ–者在执行 configure + 脚本时通过 --with-mpm 选项æ¥æŒ‡å®šï¼Œç„¶åŽå‡ºçŽ°åœ¨ç”Ÿæˆçš„æœåŠ¡å™¨é…置文件中。 + 编辑 LoadModule 指令内容å¯ä»¥é€‰æ‹©ä¸åŒçš„ MPM。

+ +
+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

评论

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html b/docs/manual/new_features_2_0.html new file mode 100644 index 0000000..597371c --- /dev/null +++ b/docs/manual/new_features_2_0.html @@ -0,0 +1,29 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: new_features_2_0.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: new_features_2_0.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: new_features_2_0.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: new_features_2_0.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: new_features_2_0.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: new_features_2_0.html.pt-br +Content-Language: pt-br +Content-type: text/html; charset=ISO-8859-1 + +URI: new_features_2_0.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/new_features_2_0.html.de b/docs/manual/new_features_2_0.html.de new file mode 100644 index 0000000..71e2629 --- /dev/null +++ b/docs/manual/new_features_2_0.html.de @@ -0,0 +1,295 @@ + + + + + +Übersicht der neuen Funktionen im Apache HTTP Server 2.0 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Übersicht der neuen Funktionen im Apache HTTP Server 2.0

+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
+ +

Dieses Dokument beschreibt einige der wichtigsten Änderungen + des Apache HTTP Servers 2.0 gegenüber der Version 1.3.

+
+ +
top
+
+

Core-Erweiterungen

+ + +
+
Unix-Threading
+ +
Auf Unix-Systemen mit Unterstützung für + POSIX-Threads, kann der Apache httpd jetzt in einem Multi-Process, + Multi-Threaded Hybrid-Mode gestartet werden. Dies verbessert die + Skalierfähigkeit für viele, jedoch nicht unbedingt alle + Konfigurationen.
+ +
Neues Build-System
+ +
Das Build-System wurde komplett auf der Basis von + autoconf und libtool neu geschrieben. + Dadurch wird das Konfigurationssystem des Apache httpd dem vieler + anderer Packages ähnlicher.
+ +
Multi-Protokoll-Unterstützung
+ +
Der Apache HTTP Server stellt jetzt die notwendigen + Grundfunktionalitäten bereit, um mehrere Protokolle + unterstützen und verarbeiten zu können. + mod_echo wurde hierfür als Beispiel + geschrieben.
+ +
Bessere Unterstützung von + Nicht-Unix-Plattformen
+ +
Der Apache HTTP Server 2.0 ist schneller und stabiler auf + Nicht-Unix-Plattformen wie BeOS, OS/2 und Windows. Mit der + Einführung von Plattform-spezifischen Multi-Processing Modulen (MPMs) und der Apache + Portable Runtime (APR), sind diese Plattformen jetzt in ihrem + nativen API implementiert, wodurch die Verwendung der häufig + fehlerbehafteten und schlecht funktionierenden + POSIX-Emulation-Layer vermieden wird.
+ +
Neues Apache-httpd API
+ +
Das API für Module hat sich in 2.0 stark verändert. + Die meisten der Sortierungs-/Prioritätsprobleme von Modulen bei + 1.3 sollten nun verschwunden sein. In 2.0 wird hiervon vieles + automatisch durchgeführt. Die Modulsortierung wird jetzt + über einen pre-hook vorgenommen, um mehr Flexibilität + zu bieten. Außerdem wurden neue API-Calls hinzugefügt, + die zusätzliche Modulfähigkeiten zur Verfügung stellen, + ohne den Kern des Apache HTTP Servers anpassen zu müssen.
+ +
IPv6-Unterstützung
+ +
Auf Systemen, bei denen die zugrundeliegende Apache Portable + Runtime-Bibliothek IPv6 unterstützt, bekommt der Apache httpd + standarmäßig IPv6 Listening Sockets. Zusätzlich + unterstützen die Konfigurationsanweisungen Listen, NameVirtualHost und VirtualHost numerische IPv6-Adressangaben + (z.B., "Listen [2001:db8::1]:8080").
+ +
Filterung
+ +
Apache-httpd-Module können jetzt als Filter entwickelt + und zur Filterung des rein- und rausgehenden Datenstroms des + Servers eingesetzt werden. Hierdurch kann beispielsweise die + Ausgabe von CGI-Skripten durch den INCLUDES-Filter + von mod_include bearbeitet werden und so + Server-Side Include-Anweisungen ausgeführt werden. Das Modul + mod_ext_filter erlaubt externen Programmen als + Filter zu agieren, in der gleichen Weise wie CGI-Programme als + Eingabe dienen können.
+ +
Mehrsprachige Fehlermeldungen
+ +
Fehlermeldungen die an den Browser rausgehen, stehen jetzt als + SSI-Dokumente in verschiedenen Sprachen zur Verfügung. Sie + können bei Bedarf durch den Administrator angepasst werden, + um ein einheitliches Design zu erreichen.
+ +
Vereinfachte Konfiguration
+ +
Viele der verwirrenden Konfigurationsanweisungen wurden vereinfacht. + Die oft für Verwirrung sorgenden Port- und + BindAddress-Anweisungen wurden entfernt. + Ausschließlich die Listen-Anweisung wird nun zum + Setzen von IP-Addressen und Portnummern benutzt. + Der Servername und die Portnummer, die für Weiterleitungen und + zur Erkennung virtueller Server verwendet werden, werden über + die ServerName-Anweisung + konfiguriert.
+ +
Native Windows NT Unicode-Unterstützung
+ +
Der Apache httpd 2.0 auf Windows NT benutzt jetzt utf-8 + für alle Dateinamen-Kodierungen. Diese werden direkt auf das + zugrundeliegende Unicode-Dateisystem abgebildet, wodurch + Mehrsprach-Unterstützung für alle Windows NT-basierten + Installationen, inklusive Windows 2000 und Windows XP, zur + Verfügung gestellt wird. Diese Unterstützung ist + nicht auf Windows 95, 98 oder ME verfügbar. Hier wird + weiterhin die jeweils lokale Codepage des Rechners für den + Zugriff auf das Dateisystem verwendet.
+ +
Bibliothek für reguläre Ausdrücke aktualisiert
+ +
Der Apache httpd 2.0 enthält die "Perl Compatible + Regular Expression Library" (PCRE). + Bei der Auswertung aller regulären Ausdrücke wird nun + die leistungsfähigere Syntax von Perl 5 verwendet.
+ +
+
top
+
+

Modul-Erweiterungen

+ + +
+
mod_ssl
+ +
Neues Modul in Apache httpd 2.0. Dieses Modul ist ein + Interface zu den von OpenSSL bereitgestellten SSL/TLS + Verschlüsselungs-Protokollen.
+ +
mod_dav
+ +
Neues Modul in Apache httpd 2.0. Dieses Modul implementiert + die HTTP Distributed Authoring and Versioning (DAV) Spezifikation + zur Erzeugung und Pflege von Web-Inhalten.
+ +
mod_deflate
+ +
Neues Modul in Apache httpd 2.0. Dieses Modul erlaubt es + Browsern, die dies unterstützen, eine Komprimierung des + Inhaltes vor der Auslieferung anzufordern, um so + Netzwerk-Bandbreite zu sparen.
+ +
mod_auth_ldap
+ +
Neues Modul in Apache httpd 2.0.41. Diese Modul + ermöglicht die Verwendung einer LDAP-Datenbank zur + Speicherung von Berechtigungsdaten für die + HTTP-Basic-Authentication. Ein Begleitmodul, + mod_ldap, stellt einen Verbindungs-Pool und die + Pufferung von Abfrageergebnissen zur Verfügung.
+ +
mod_auth_digest
+ +
Zusätzliche Unterstützung für + prozessübergreifendes Session-Caching mittels Shared-Memory. +
+ +
mod_charset_lite
+ +
Neues Modul in Apache httpd 2.0. + Dieses experimentelle Modul erlaubt Zeichensatz-Übersetzungen oder + -Umschlüsselung.
+ +
mod_file_cache
+ +
Neues Modul in Apache httpd 2.0. Dieses Modul beinhaltet die + Funktionalität von mod_mmap_static aus Version + 1.3 des Apache HTTP Server zuzüglich einiger weiterer + Caching-Funktionen.
+ +
mod_headers
+ +
Dieses Modul ist in Apache httpd 2.0 deutlich flexibler + geworden. Es kann jetzt die von mod_proxy + genutzten Request-Header manipulieren und es ist möglich + Response-Header auf Basis von definierten Bedingungen zu + verändern.
+ +
mod_proxy
+ +
Das Proxy Modul wurde komplett neu geschrieben um die + Möglichkeiten der neuen Filter-Funktionalität + auszuschöpfen und um einen zuverlässigen Proxy zu haben, der + den HTTP/1.1-Spezifikationen entspricht. Neue <Proxy> + -Konfigurationsabschnitte bieten eine besser lesbare (und intern + schnellere) Kontrolle der vermittelten Seiten. + Die überladenen <Directory + "proxy:...">-Konfigurationen werden nicht + mehr unterstützt. Das Modul ist nun in mehrere Module + unterteilt, die jeweils ein bestimmtes Übertragungsprotokoll + unterstützen, wie proxy_connect, + proxy_ftp und proxy_http.
+ +
mod_negotiation
+ +
Die neue Konfigurationsanweisung ForceLanguagePriority + kann benutzt werden, um sicherzustellen, dass ein Client auf jeden + Fall ein einzelnes Dokument, anstatt einer NOT ACCEPTABLE- oder + MULTIPLE CHOICES-Antwort, bekommt. Zusätzlich wurden die + Negotiation- und Multiview-Algorithmen angepasst um einheitlichere + Ergebnisse zu liefern. Außerdem wird ein neues + Type-Map-Format bereitgestellt, das Dokumenteninhalte direkt + enthalten kann.
+ +
mod_autoindex
+ +
Automatisch erzeugte Verzeichnisindizes können zur besseren + Übersichtlichkeit durch HTML-Tabellen dargestellt werden. + Genauere Sortierungen, wie Sortierung nach Versionsnummer und + Wildcard-Filterung des Verzeichnisindizes werden unterstützt.
+ +
mod_include
+ +
Neue Anweisungen erlauben es, die Standard Start- und Endtags von + SSI-Elementen zu ändern. Zudem können die Default-Formate + für Fehlermeldungen und Zeitangaben nun ebenfalls in der + Serverkonfiguration vorgenommen werden. Auf die Ergebnisse der + Auswertung und Gruppierung von regulären Ausdrücken (jetzt + auf Basis der Perl-Syntax für reguläre Ausdrücke) kann + über die mod_include Variablen $0 + bis $9 zugegriffen werden.
+ +
mod_auth_dbm
+ +
DBM-ähnliche Datenbanken werden jetzt durch die + Konfigurationsaweisung AuthDBMType + unterstützt.
+
+
+
+

Verfügbare Sprachen:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html.en b/docs/manual/new_features_2_0.html.en new file mode 100644 index 0000000..8b9d028 --- /dev/null +++ b/docs/manual/new_features_2_0.html.en @@ -0,0 +1,268 @@ + + + + + +Overview of new features in Apache HTTP Server 2.0 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Overview of new features in Apache HTTP Server 2.0

+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
+ +

This document describes some of the major changes between the + 1.3 and 2.0 versions of the Apache HTTP Server.

+
+ +
top
+
+

Core Enhancements

+ + +
+
Unix Threading
+ +
On Unix systems with POSIX threads support, Apache httpd can + now run in a hybrid multiprocess, multithreaded mode. This + improves scalability for many, but not all configurations.
+ +
New Build System
+ +
The build system has been rewritten from scratch to be + based on autoconf and libtool. + This makes Apache httpd's configuration system more similar to + that of other packages.
+ +
Multiprotocol Support
+ +
Apache HTTP Server now has some of the infrastructure in place to + support serving multiple protocols. mod_echo has + been written as an example.
+ +
Better support for non-Unix + platforms
+ +
Apache HTTP Server 2.0 is faster and more stable on non-Unix + platforms such as BeOS, OS/2, and Windows. With the + introduction of platform-specific multi-processing modules (MPMs) and the + Apache Portable Runtime (APR), these platforms are now + implemented in their native API, avoiding the often buggy and + poorly performing POSIX-emulation layers.
+ +
New Apache httpd API
+ +
The API for modules has changed significantly for 2.0. + Many of the module-ordering/-priority problems from 1.3 should + be gone. 2.0 does much of this automatically, and module ordering + is now done per-hook to allow more flexibility. Also, new calls + have been added that provide additional module capabilities + without patching the core Apache HTTP Server.
+ +
IPv6 Support
+ +
On systems where IPv6 is supported by the underlying + Apache Portable Runtime library, Apache httpd gets IPv6 listening + sockets by default. Additionally, the Listen, NameVirtualHost, and VirtualHost directives support + IPv6 numeric address strings (e.g., "Listen + [2001:db8::1]:8080").
+ +
Filtering
+ +
Apache httpd modules may now be written as filters which act on + the stream of content as it is delivered to or from the + server. This allows, for example, the output of CGI scripts to + be parsed for Server Side Include directives using the + INCLUDES filter in mod_include. The + module mod_ext_filter allows external programs to + act as filters in much the same way that CGI programs can act as + handlers.
+ +
Multilanguage Error Responses
+ +
Error response messages to the browser are now provided in + several languages, using SSI documents. They may be customized + by the administrator to achieve a consistent look and feel.
+ +
Simplified configuration
+ +
Many confusing directives have been simplified. The often + confusing Port and BindAddress directives + are gone; only the Listen + directive is used for IP address binding; the ServerName directive specifies the + server name and port number only for redirection and vhost + recognition.
+ +
Native Windows NT Unicode Support
+ +
Apache httpd 2.0 on Windows NT now uses utf-8 for all filename + encodings. These directly translate to the underlying Unicode + file system, providing multilanguage support for all Windows + NT-based installations, including Windows 2000 and Windows XP. + This support does not extend to Windows 95, 98 or ME, which + continue to use the machine's local codepage for filesystem + access.
+ +
Regular Expression Library Updated
+ +
Apache httpd 2.0 includes the Perl + Compatible Regular Expression Library (PCRE). All regular + expression evaluation now uses the more powerful Perl 5 + syntax.
+ +
+
top
+
+

Module Enhancements

+ + +
+
mod_ssl
+ +
New module in Apache httpd 2.0. This module is an interface + to the SSL/TLS encryption protocols provided by + OpenSSL.
+ +
mod_dav
+ +
New module in Apache httpd 2.0. This module implements the HTTP + Distributed Authoring and Versioning (DAV) specification for + posting and maintaining web content.
+ +
mod_deflate
+ +
New module in Apache httpd 2.0. This module allows supporting + browsers to request that content be compressed before delivery, + saving network bandwidth.
+ +
mod_auth_ldap
+ +
New module in Apache httpd 2.0.41. This module allows an LDAP + database to be used to store credentials for HTTP Basic + Authentication. A companion module, mod_ldap + provides connection pooling and results caching.
+ +
mod_auth_digest
+ +
Includes additional support for session caching across + processes using shared memory.
+ +
mod_charset_lite
+ +
New module in Apache httpd 2.0. This experimental module allows + for character set translation or recoding.
+ +
mod_file_cache
+ +
New module in Apache httpd 2.0. This module includes the + functionality of mod_mmap_static in Apache HTTP + Server version 1.3, plus adds further caching abilities.
+ +
mod_headers
+ +
This module is much more flexible in Apache httpd 2.0. It can now + modify request headers used by mod_proxy, and + it can conditionally set response headers.
+ +
mod_proxy
+ +
The proxy module has been completely rewritten to take + advantage of the new filter infrastructure and to implement a + more reliable, HTTP/1.1 compliant proxy. In addition, new + <Proxy> + configuration sections provide more readable (and internally + faster) control of proxied sites; overloaded <Directory + "proxy:..."> configuration are not supported. The module + is now divided into specific protocol support modules including + proxy_connect, proxy_ftp and + proxy_http.
+ +
mod_negotiation
+ +
A new ForceLanguagePriority directive can be used to assure that + the client receives a single document in all cases, rather than + NOT ACCEPTABLE or MULTIPLE CHOICES responses. In addition, the + negotiation and MultiViews algorithms have been cleaned up to + provide more consistent results and a new form of type map that + can include document content is provided.
+ +
mod_autoindex
+ +
Autoindex'ed directory listings can now be configured to + use HTML tables for cleaner formatting, and allow finer-grained + control of sorting, including version-sorting, and wildcard + filtering of the directory listing.
+ +
mod_include
+ +
New directives allow the default start and end tags for SSI elements + to be changed and allow for error and time format configuration + to take place in the main configuration file rather than in the + SSI document. Results from regular expression parsing and grouping + (now based on Perl's regular expression syntax) can be retrieved + using mod_include's variables $0 + .. $9.
+ +
mod_auth_dbm
+ +
Now supports multiple types of DBM-like databases using the + AuthDBMType directive.
+ +
+
+
+

Available Languages:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html.fr.utf8 b/docs/manual/new_features_2_0.html.fr.utf8 new file mode 100644 index 0000000..98ae168 --- /dev/null +++ b/docs/manual/new_features_2_0.html.fr.utf8 @@ -0,0 +1,284 @@ + + + + + +Vue d'ensemble des nouvelles fonctionnalités de la + version 2.0 du serveur HTTP Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Vue d'ensemble des nouvelles fonctionnalités de la + version 2.0 du serveur HTTP Apache

+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
+ +

Ce document décrit les changements majeurs apportés entre les + versions 1.3 et 2.0 du serveur HTTP Apache.

+
+ +
top
+
+

Améliorations du Système de Base

+ + +
+
Threading Unix
+ +
Sur les systèmes Unix qui supportent les threads + POSIX, Apache httpd + peut à présent tourner en mode hybride multi-processus et + multi-threadé, ce qui augmente l'extensibilité et la performance + du serveur pour la plupart des configurations.
+ +
Nouveau Système de Compilation
+ +
Le processus de compilation a été refait de A à Z; + il utilise à présent autoconf et libtool, + ce qui rend la compilation d'Apache httpd plus familière aux utilisateurs + d'autre logiciels de mème type.
+ +
Support Multiprotocole
+ +
Le serveur HTTP Apache dispose désormais de + l'infrastructure nécessaire pour supporter + d'autres protocoles. Le module mod_echo illustre ces + possibilités.
+ +
Support amélioré des Plate-formes non-Unix
+ +
Le serveur HTTP Apache 2.0 se montre plus rapide et plus stable sur les plate-formes + non Unix, telles BeOS, OS/2, NetWare et Windows. L'apparition des + Modules Multi-Processus (MPMs), ainsi que de + la bibliothèque "Apache Portable Runtime" (APR) permet à Apache de + tirer parti des API natives de ces plate-formes, sans s'appuyer sur leurs + couches POSIX souvent boguées et peu optimisées.
+ +
Nouvelle API d'Apache httpd
+ +
L'Interface de Programmation (API) des modules a beaucoup changé + avec le passage à la version 2.0. + Les problèmes d'ordre et de priorité des modules, rencontrés + avec la version 1.3, devraient maintenant être résolus. Apache 2.0 + gère ces problèmes de façon automatique. L'ordre des modules + est géré au moyen de "crochets" (hooks), ce qui rend la gestion + flexible. De nouveaux appels ont été également créés + afin de permettre l'implémentation d'autres fonctions dans les modules, + sans devoir corriger le noyau du serveur HTTP Apache.
+ +
Support IPv6
+ +
Sur les systèmes où la bibliothèque Apache Portable Runtime + supporte IPv6, Apache peut par défaut écouter sur des interfaces + de connexions IPv6. Les directives Listen, + NameVirtualHost et + VirtualHost supportent également + les adresses IPv6 (comme par exemple, dans "Listen[2001:db8::1]:8080").
+ +
Filtering
+ +
Il est maintenant possible d'écrire des modules + pour Apache httpd pour filtrer + les flux de données entrant ou sortant du serveur. A titre d'exemple, + il est possible de filtrer des directives Server Side Include de la sortie + standard d'un script CGI, au moyen du filtre INCLUDES fourni + par le module mod_include. Le module + mod_ext_filter permet quant à lui l'utilisation comme + filtres de programmes externes à Apache, de la même manière + qu'on peut utiliser des programmes CGI comme Handlers.
+ +
Réponses d'Erreurs Multilangues
+ +
Les messages d'erreur envoyés au navigateur existent à présent en + plusieurs langues avec des documents SSI. Ces messages peuvent être + personnalisés par l'administrateur afin de s'intégrer avec le site web.
+ +
Simplification de la Configuration
+ +
Beaucoup de directives, auparavant peu claires, ont été simplifiées. + Les directives Port et BindAddress, souvent + sources d'incompréhension, ont disparus. Désormais seule la directive + Listen sert de liaison pour les + adresses IP; la directive ServerName ne + précise le nom du serveur et son port que pour les redirections et la + gestion des hôtes virtuels.
+ +
Support natif de l'Unicode sous Windows NT
+ +
Apache httpd 2.0 sur Windows NT utilise à présent l'utf-8 pour tous les + noms de fichiers. Ces noms de fichiers sont directement traduits vers + l'encodage Unicode du système de fichiers, ce qui permet le support + multilangue pour toutes les installations sur la famille NT de Windows, y + compris Windows 2000 et Windows XP.Ce support n'est pas fonctionnel + pour Windows 95, 98 ni ME, qui utilisent les pages de code locales pour + les accès au système de fichiers, comme auparavant.
+ +
Mise à jour de la Bibliothèque d'Expressions Rationnelles
+ +
Apache httpd 2.0 contient la bibliothèque + d'expressions rationnelles compatible Perl (Perl Compatible Regular + Expression Library - PCRE). Toutes les expressions rationnelles sont dont + gérées avec la syntaxe de Perl 5, plus puissante.
+ +
+
top
+
+

Amélioration des Modules

+ + +
+
mod_ssl
+ +
Apparu dans Apache httpd 2.0, ce module est une interface aux protocoles de + chiffrement SSL/TLS fournis par OpenSSL.
+ +
mod_dav
+ +
Apparu dans Apache httpd 2.0, ce module implémente les spécifications HTTP de + gestion distribuée de versions et de rédaction (Distributed Authoring and + Versioning - DAV), destinées à la mise en ligne et à la maintenance des + contenus Web.
+ +
mod_deflate
+ +
Module apparu dans Apache httpd 2.0, mod_deflate permet aux navigateurs qui + le supportent de demander la compression des contenus envoyés par le serveur. + Cela a l'avantage de réduite l'occupation de la bande passante.
+ +
mod_auth_ldap
+ +
Apparu dans Apache httpd 2.0.41, ce module permet aux administrateurs + d'utiliser un arbre LDAP pour gérer la base d'utilisateurs pour les + Authentifications Basiques HTTP. Un module voisin, + mod_ldap, permet de globaliser les connexions à l'arbre LDAP + et de garder en mémoire cache ces accès.
+ +
mod_auth_digest
+ +
Améliore les fonctions de cache sur une session entre les différents + processus, en utilisant de la mémoire partagée.
+ +
mod_charset_lite
+ +
Apparu dans Apache httpd 2.0, ce module expérimental permet la conversion + et l'enregistrement entre jeux de caractères.
+ +
mod_file_cache
+ +
Apparu dans Apache httpd 2.0, ce module implémente les fonctionnalités du + module mod_mmap_static présent du serveur + HTTP Apache 1.3, et offre des + fonctions plus avancées pour la gestion du cache.
+ +
mod_headers
+ +
Ce module gagne beaucoup de flexibilité avec Apache + httpd 2.0 : on peut + désormais l'utiliser pour modifier les en-têtes des requêtes + utilisés par mod_proxy, et pour positionner les + en-têtes des réponses de manière conditionnelle.
+ +
mod_proxy
+ +
Le module proxy a été réécrit de A à Z. Il tire + maintenant avantage de la nouvelle infrastructure de filtrage, et implémente + un mandataire plus fiable, et conforme aux normes HTTP/1.1. De nouvelles + sections de configuration ajoutées à + <Proxy> + donnent un contrôle plus lisible et un traitement plus rapide des requêtes + mandatées ; les configurations surchargées <Directory + "proxy:..."> ne sont pas supportées. Le module a aussi été + fragmenté en plusieurs modules qui gèrent chacun leur protocole : + proxy_connect, proxy_ftp et + proxy_http.
+ +
mod_negotiation
+ +
Une nouvelle directive, ForceLanguagePriority a été ajoutée, + elle permet de garantir que le client reçoit un seul document dans tous les + cas, au lieu de réponses NOT ACCEPTABLE ou MULTIPLE CHOICES. Les + algorithmes gérant la négociation et les vues multiples (MultiViews) ont + été nettoyés et donnent des réponses plus logiques. Un nouveau format de + carte de types (map type) qui peut gérer le contenu de documents a + aussi été ajouté.
+ +
mod_autoindex
+ +
Les listes auto-générées par Autoindex sont à présent + configurables, et peuvent utiliser des tables HTML pour une mise en forme plus propre. + L'ordre d'affichage des fichiers est également finement paramètrable, + comme pour le tri par version, et le filtrage par caractères jokers du + listage du répertoire.
+ +
mod_include
+ +
De nouvelles directives permettent de modifier la valeur par défaut + des drapeaux start et end des éléments SSI. Ces directives + permettent à la configuration d'affichage de dates et heures d'être + effectuée dans le fichier de configuration principal, plutôt que dans le + document SSI. Les réponses données par des recherches par expressions + rationnelles (qui gèrent à présent les regex Perl) sont + recupérées au moyen des variables $0 à $9.
+ +
mod_auth_dbm
+ +
Plusieurs bases de données DBM sont supportées, et sélectionnables + via la directive AuthDBMType.
+
+
+
+

Langues Disponibles:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html.ja.utf8 b/docs/manual/new_features_2_0.html.ja.utf8 new file mode 100644 index 0000000..e3caa9a --- /dev/null +++ b/docs/manual/new_features_2_0.html.ja.utf8 @@ -0,0 +1,283 @@ + + + + + +Apache 2.0 ã®æ–°æ©Ÿèƒ½ã®æ¦‚è¦ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache 2.0 ã®æ–°æ©Ÿèƒ½ã®æ¦‚è¦

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ã“ã®æ–‡æ›¸ã§ã¯ã€Apache HTTP サーãƒãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.3 㨠2.0 + ã®ä¸»ãªé•ã„ã«ã¤ã„ã¦è¨˜è¿°ã—ã¦ã„ã¾ã™ã€‚

+
+ +
top
+
+

コア機能ã®æ‹¡å¼µ

+ + +
+
Unix ã®ã‚¹ãƒ¬ãƒƒãƒ‰
+ +
POSIX スレッドをサãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ Unix システム上ã§ã¯ã€ + Apache ã¯ãƒžãƒ«ãƒãƒ—ロセスã€ãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®ãƒã‚¤ãƒ–リッドモード㧠+ 実行ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ã“ã‚Œã«ã‚ˆã‚Š + 多ãã®è¨­å®šã«ãŠã„ã¦ã‚¹ã‚±ãƒ¼ãƒ©ãƒ“リティãŒå‘上ã—ã¾ã™ã€‚
+ +
æ–°ã—ã„ビルドシステム
+ +
ビルドシステム㯠autoconf 㨠libtool + ã«åŸºã¥ã„ãŸã‚‚ã®ã«ãªã‚‹ã‚ˆã†ã«ã€ + æ–°ã—ã書ãç›´ã•ã‚Œã¾ã—ãŸã€‚ã“ã‚Œã«ã‚ˆã‚Šã€Apache ã® configure ã®ã‚·ã‚¹ãƒ†ãƒ ã¯ + ä»–ã®ãƒ‘ッケージã¨ä¼¼ãŸã‚‚ã®ã«ãªã‚Šã¾ã—ãŸã€‚
+ +
マルãƒãƒ—ロトコルサãƒãƒ¼ãƒˆ
+ +
Apache ã«è¤‡æ•°ã®ãƒ—ロトコルを扱ã†ãŸã‚ã®æ©Ÿæ§‹ãŒå‚™ã‚ã‚Šã¾ã—ãŸã€‚ + 例ã¨ã—㦠mod_echo ãŒæ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚
+ +
Unix 以外ã®ãƒ—ラットフォームã®ã‚µãƒãƒ¼ãƒˆã®æ”¹å–„
+ +
Apache 2.0 㯠BeOSã€OS/2ã€Windows ãªã©ã® Unix 以外㮠+ プラットフォームã§ã€ã‚ˆã‚Šé€Ÿãã€ã‚ˆã‚Šå®‰å®šã—ã¦å‹•ä½œã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + プラットフォーム特有㮠マルãƒãƒ—ロセッシングモジュール (MPM) 㨠+ Apache Portable Runtime (APR) ã®å°Žå…¥ã«ã‚ˆã‚Šã€ + ãƒã‚¤ãƒ†ã‚£ãƒ´ã® API ã§å®Ÿè£…ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã€ + ãƒã‚°ãŒå¤šãã€æ€§èƒ½ã®æ‚ªã„ã“ã¨ãŒå¤šã„ POSIX エミュレーションレイヤã®ä½¿ç”¨ã‚’ + 回é¿ã™ã‚‹ã“ã¨ãŒã§ãã¾ã—ãŸã€‚
+ +
æ–°ã—ã„ Apache API
+ +
2.0 ã§ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® API ãŒå¤§ãã変ã‚ã‚Šã¾ã—ãŸã€‚ + 1.3 ã«ã‚ã£ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®é †ç•ª/優先度ã®å•é¡Œã®å¤šã㯠+ ãªããªã£ã¦ã„ã‚‹ã¯ãšã§ã™ã€‚2.0 ã¯å„ªå…ˆåº¦ã®é¸æŠžã‚’ã»ã¨ã‚“ã©ã‚’自動的ã«è¡Œãªã„〠+ モジュールã®é †ç•ªã¯ã‚ˆã‚ŠæŸ”軟性を高ã‚ã‚‹ãŸã‚ã«ãƒ•ãƒƒã‚¯æ¯Žã«è¡Œãªã‚れるよã†ã« + ãªã‚Šã¾ã—ãŸã€‚ã¾ãŸã€ã‚³ã‚¢ Apache サーãƒã«ãƒ‘ッãƒã‚’ã‚ã¦ã‚‹ã“ã¨ãªã + 追加ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«æ–°ã—ã„関数㌠+ 追加ã•ã‚Œã¾ã—ãŸã€‚
+ +
IPv6 サãƒãƒ¼ãƒˆ
+ +
Apache ãŒä½¿ç”¨ã—ã¦ã„ã‚‹ Apache Portable Runtime library ㌠+ IPv6 をサãƒãƒ¼ãƒˆã—ã¦ã„るシステムã§ã¯ Apache 㯠デフォルト㧠+ IPv6 ã®ã‚½ã‚±ãƒƒãƒˆã‚’ listen ã—ã¾ã™ã€‚ã•ã‚‰ã«ã€ + Listen, + NameVirtualHost, + VirtualHost + ã®å„ディレクティブ㌠IPv6 ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ + サãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠(例ãˆã°ã€ + "Listen [2001:db8::1]:8080")。
+ +
フィルタ
+ +
Apache ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚µãƒ¼ãƒã‹ã‚‰é€ã‚‰ã‚Œã¦ããŸã‚Šã€ã‚µãƒ¼ãƒã¸ + é€ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«å¯¾ã—ã¦å‹•ä½œã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã¨ã—ã¦æ›¸ãã“ã¨ãŒã§ãるよã†ã« + ãªã‚Šã¾ã—ãŸã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ä¾‹ãˆã° CGI スクリプトã®å‡ºåŠ›ã‚’ + mod_include ã® INCLUDES フィルタを使ã£ã¦ + Server Side Include ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を解æžã™ã‚‹ã€ + ã¨ã„ã†ã‚ˆã†ãªã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã—ãŸã€‚mod_ext_filter + ã§å¤–部プログラムをフィルタã¨ã—ã¦å‹•ä½œã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“れ㯠CGI プログラムをãƒãƒ³ãƒ‰ãƒ©ã¨ã—ã¦å‹•ä½œã•ã›ã‚‹ã®ã¨ + よãä¼¼ãŸæ–¹æ³•ã§ã§ãã¾ã™ã€‚
+ +
多言語エラー応答
+ +
ブラウザã¸ã®ã‚¨ãƒ©ãƒ¼å¿œç­”ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒã€SSI ã®æ–‡æ›¸ã‚’使ã£ã¦ + 複数ã®è¨€èªžã§æä¾›ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚見ãŸã‚ã®ä¸€è²«æ€§ã‚’ä¿ã¤ãŸã‚ã« + 管ç†è€…ãŒã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ +
設定ã®ç°¡ç´ åŒ–
+ +
多ãã®æ··ä¹±ã‚’æ‹›ããŒã¡ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒç°¡ç´ åŒ–ã•ã‚Œã¾ã—ãŸã€‚ + よã混乱を引ãèµ·ã“ã—ã¦ã„㟠Port ディレクティブ㨠+ Bind ディレクティブ㯠+ ãªããªã‚Šã¾ã—ãŸã€‚Listen + ディレクティブã®ã¿ãŒ IP アドレスã®ãƒã‚¤ãƒ³ãƒ‰ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + ServerName ディレクティブã§ã¯ + リダイレクト㨠vhost ã®èªè­˜ã®ãŸã‚ã ã‘ã«ã‚µãƒ¼ãƒã®åå‰ã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’ + 指定ã—ã¾ã™ã€‚
+ +
Windows NT ã®ãƒã‚¤ãƒ†ã‚£ãƒ´ Unicode サãƒãƒ¼ãƒˆ
+ +
Windows NT 上㮠Apache 2.0 ã¯ãƒ•ã‚¡ã‚¤ãƒ«åã®æ–‡å­—エンコード全ã¦ã« + utf-8 を使ã†ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ã“れら㯠Unicode ファイルシステム㫠+ 直接変æ›ã•ã‚Œã‚‹ã®ã§ã€Windows 2000 㨠Windows XP ã‚’å«ã‚€ã€å…¨ã¦ã® + Windows NT ç³»ã§å¤šè¨€èªžã‚µãƒãƒ¼ãƒˆãŒæä¾›ã•ã‚Œã¾ã™ã€‚ + ã“ã®ã‚µãƒãƒ¼ãƒˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ã‚¢ã‚¯ã‚»ã‚¹æ™‚ã«ãƒ­ãƒ¼ã‚«ãƒ«ã® + コードページを使ㆠWindows 95, 98, ME ã«ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。
+ +
æ­£è¦è¡¨ç¾ãƒ©ã‚¤ãƒ–ラリã®ã‚¢ãƒƒãƒ—デート
+ +
Apache 2.0 㯠Perl + 互æ›æ­£è¦è¡¨ç¾ãƒ©ã‚¤ãƒ–ラリ (PCRE) ã‚’å«ã‚“ã§ã„ã¾ã™ã€‚ + æ­£è¦è¡¨ç¾ã®è©•ä¾¡ã«ã¯ã€ã‚ˆã‚Šå¼·åŠ›ã«ãªã£ãŸ Perl 5 + 構文を使用ã—ã¾ã™ã€‚
+ +
+
top
+
+

モジュールã®æ‹¡å¼µ

+ + +
+
mod_ssl
+ +
Apache 2.0 ã®æ–°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ OpenSSL ㌠+ æä¾›ã™ã‚‹ SSL/TLS æš—å·ãƒ—ロトコルã¸ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã§ã™ã€‚
+ +
mod_dav
+ +
Apache 2.0 ã®æ–°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚¦ã‚§ãƒ–コンテンツを + é€ã‚Šã€ç¶­æŒã™ã‚‹ãŸã‚ã®è¦æ ¼ + HTTP Distributed Authoring and Versioning (DAV) を実装ã—ã¦ã„ã¾ã™ã€‚
+ +
mod_deflate
+ +
Apache 2.0 ã®æ–°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã€‚é€ä¿¡å‰ã«é€ä¿¡å†…容を圧縮ã—㦠+ ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å¸¯åŸŸã‚’節約ã™ã‚‹ã€ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ブラウザ㌠+ è¦æ±‚ã§ãるよã†ã«ã—ã¾ã™ã€‚
+ +
mod_auth_ldap
+ +
Apache 2.0.41 ã®æ–°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã€‚HTTP 基本èªè¨¼ã®è¨¼æ˜Žæ›¸ã‚’ä¿å­˜ã™ã‚‹ã®ã«ã€ + LDAP データベースを使用ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + 関連モジュール㮠mod_ldap ã§ã€ + コãƒã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ—ール機能ã¨çµæžœã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ãŒæä¾›ã•ã‚Œã¾ã™ã€‚
+ +
mod_auth_digest
+ +
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯å…±æœ‰ãƒ¡ãƒ¢ãƒªã‚’使ã†ã“ã¨ã«ã‚ˆã‚Šã€ãƒ—ロセスをã¾ãŸã„ã  + セッションã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ +
mod_charset_lite
+ +
Apache 2.0 ã®æ–°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã€‚ã“ã®å®Ÿé¨“çš„ãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ + キャラクタセットã®å¤‰æ›ã‚„å†ç¬¦å·åŒ–ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
+ +
mod_file_cache
+ +
Apache 2.0 ã®æ–°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã¯ã€ + Apache 1.3 ã«ãŠã‘ã‚‹ mod_mmap_static 機能ãŒå«ã¾ã‚Œã€ + ã¾ãŸã€è¿½åŠ ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ãŒåŠ ã‚ã£ã¦ã„ã¾ã™ã€‚
+ +
mod_headers
+ +
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ Apache 2.0 ã§éžå¸¸ã«æŸ”軟性㌠+ 高ããªã‚Šã¾ã—ãŸã€‚mod_proxy + ã§ä½¿ã‚れるリクエストã®ãƒ˜ãƒƒãƒ€ã‚’変更ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã—〠+ 応答ヘッダをæ¡ä»¶ã«å¿œã˜ã¦è¨­å®šã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ +
mod_proxy
+ +
proxy モジュールã¯æ–°ã—ã„フィルタã®æ©Ÿæ§‹ã‚’利用ã™ã‚‹ãŸã‚ã¨ã€ + より信頼ã§ãã‚‹ã€HTTP/1.1 ã«æº–æ‹ ã—㟠proxy を実装ã™ã‚‹ãŸã‚ã« + 完全ã«æ›¸ãç›´ã•ã‚Œã¾ã—ãŸã€‚ã•ã‚‰ã«ã€æ–°ã—ã„ + <Proxy> + 設定セクションãŒproxy ã•ã‚Œã‚‹ã‚µã‚¤ãƒˆã®ã‚ˆã‚Šèª­ã¿ã‚„ã™ã (内部的ã«ã‚‚より速ã„) + 設定をæä¾›ã—ã¾ã™ã€‚オーãƒãƒ¼ãƒ­ãƒ¼ãƒ‰ã•ã‚ŒãŸ + <Directory "proxy:... > + 設定ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ proxy_connect, + proxy_ftp, proxy_http + ã¨ã„ã£ãŸã€ç‰¹å®šã®ãƒ—ロトコルをサãƒãƒ¼ãƒˆã™ã‚‹ + モジュールã«åˆ†å‰²ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ +
mod_negotiation
+ +
クライアント㌠NOT ACCEPTABLE ã‚„ MULTIPLE CHOICES 応答㮠+ 代ã‚ã‚Šã«å¸¸ã«å˜ç‹¬ã®æ–‡æ›¸ã‚’å—ã‘ã¨ã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã€æ–°ã—ã„ディレクティブ + ForceLanguagePriority + を使ã†ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ã•ã‚‰ã«ã€ã‚ˆã‚Šä¸€è²«æ€§ã®ã‚ã‚‹çµæžœã‚’æä¾›ã™ã‚‹ãŸã‚ã« + ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã¨ MultiViews ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ãŒæ”¹å–„ã•ã‚Œã€ + 文書ã®å†…容をå«ã‚ã‚‹ã“ã¨ã®ã§ãã‚‹ã€æ–°ã—ã„å½¢å¼ã®ã‚¿ã‚¤ãƒ—マップ㌠+ æä¾›ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ +
mod_autoindex
+ +
Autoindex ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å†…容一覧ãŒã€ + ãã‚Œã„ã«è¡¨ç¤ºã•ã‚Œã‚‹ãŸã‚ã« HTML ã®ãƒ†ãƒ¼ãƒ–ルを使ã†ã‚ˆã†ã« + 設定ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ã¾ãŸã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚ˆã‚‹ã‚½ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ãªã©ã€ + より細ã‹ã„ソーティングã®åˆ¶å¾¡ãŒã§ãるよã†ã«ãªã‚Šã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª + ã®å†…容一覧をワイルドカードã«ã‚ˆã‚Šé¸åˆ¥ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ã‚‚ãªã‚Šã¾ã—ãŸã€‚
+ +
mod_include
+ +
æ–°ã—ã„ディレクティブã«ã‚ˆã‚Šã€SSI ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®é–‹å§‹ã‚¿ã‚°ã¨çµ‚了タグを + 変更ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ã¾ãŸã€ã‚¨ãƒ©ãƒ¼ã¨æ™‚刻ã®å½¢å¼ã®è¨­å®šãŒ SSI ã® + 文書中ã§ã¯ãªãã€ä¸»è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã§è¡Œãªãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + æ­£è¦è¡¨ç¾ã®è§£æžã¨ã‚°ãƒ«ãƒ¼ãƒ—化ã®çµæžœ (Perl ã®æ­£è¦è¡¨ç¾ã®æ§‹æ–‡ã« + 基ã¥ã„ãŸã‚‚ã®ã«ãªã‚Šã¾ã—ãŸ) ã‚’ mod_include + ã®å¤‰æ•° $0 .. $9 ã«ã‚ˆã‚Šå–å¾—ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ +
mod_auth_dbm
+ +
AuthDBMType + ディレクティブã«ã‚ˆã‚Šã€è¤‡æ•°ã® DBM åž‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ + よã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ +
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html.ko.euc-kr b/docs/manual/new_features_2_0.html.ko.euc-kr new file mode 100644 index 0000000..e791438 --- /dev/null +++ b/docs/manual/new_features_2_0.html.ko.euc-kr @@ -0,0 +1,261 @@ + + + + + +Apache 2.0ÀÇ »õ·Î¿î ±â´É °³¿ä - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache 2.0ÀÇ »õ·Î¿î ±â´É °³¿ä

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ À¥¼­¹ö 1.3 ¹öÀü°ú 2.0 ¹öÀü°£ÀÇ ÁÖµÈ Â÷ÀÌÁ¡À» + ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

ÇÙ½É ºÎºÐ¿¡¼­ ³ª¾ÆÁø Á¡

+ + +
+
À¯´Ð½º ¾²·¹µå
+ +
POSIX ¾²·¹µå¸¦ Áö¿øÇÏ´Â À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡¸¦ + ¿©·¯ ÇÁ·Î¼¼½º¿Í ¿©·¯ ¾²·¹µå·Î È¥ÇÕÇؼ­ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. + ÀüºÎ´Â ¾Æ´ÏÁö¸¸ ¸¹Àº °æ¿ì È®Àå°¡´É¼º(scalability)À» ³ôÀδÙ.
+ +
»õ·Î¿î ÄÄÆÄÀÏ ½Ã½ºÅÛ
+ +
ÄÄÆÄÀÏ ½Ã½ºÅÛÀÌ autoconf¿Í libtoolÀ» + »ç¿ëÇϵµ·Ï ÀçÀÛ¼ºµÇ¾ú´Ù. ±×·¡¼­ ¾ÆÆÄÄ¡ ±¸¼º ½Ã½ºÅÛÀÌ ´Ù¸¥ + ÆÐÅ°Áöµé°ú Á»´õ ºñ½ÁÇØÁ³´Ù.
+ +
¿©·¯ ÇÁ·ÎÅäÄÝ Áö¿ø
+ +
ÀÌÁ¦ ¾ÆÆÄÄ¡´Â ¿©·¯ ÇÁ·ÎÅäÄÝÀ» ¼­ºñ½ºÇÒ ¼ö ÀÖ´Â ±¸Á¶¸¦ + °®Ãè´Ù. mod_echo°¡ ±× ¿¹·Î ÀÛ¼ºµÇ¾ú´Ù.
+ +
ºñÀ¯´Ð½º Ç÷¡Æû¿¡ ´ëÇÑ ´õ ³ªÀº Áö¿ø
+ +
Apache 2.0´Â BeOS, OS/2, À©µµ¿ìÁî¿Í °°Àº ºñÀ¯´Ð½º + Ç÷¡Æû¿¡¼­ ´õ ºü¸£°í ¾ÈÁ¤È­µÇ¾ú´Ù. ÀÌÁ¦ ¾ÆÆÄÄ¡´Â À̵é + Ç÷¡Æû¿¡¼­ ¹ö±×°¡ ¸¹°í ¼º´ÉÀÌ ´À·È´ø POSIX ȣȯÃþ ´ë½Å + ÀÚü API·Î ±¸ÇöµÈ Ç÷¡Æû ƯÀ¯ÀÇ ´ÙÁßó¸® ¸ðµâ + (MPM)°ú Apache Portable Runtime (APR)À» »ç¿ëÇÏ¿© ±¸ÇöµÈ´Ù.
+ +
»õ·Î¿î ¾ÆÆÄÄ¡ API
+ +
¸ðµâ API°¡ 2.0¿¡¼­ »ó´çÈ÷ º¯Çß´Ù. 1.3ÀÇ ¿©·¯ ¸ðµâ + ¼ø¼­¿Í ¿ì¼±¼øÀ§ ¹®Á¦°¡ »ç¶óÁ³´Ù. 2.0Àº À̸¦ ´ëºÎºÐ ÀÚµ¿À¸·Î + ó¸®Çϸç, ¸ðµâ ¼ø¼­´Â ÀÌÁ¦ ´õ À¯¿¬ÇÑ ÈÅ(hook) ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. + ¶Ç, ¾ÆÆÄÄ¡ ¼­¹ö ÇÙ½É ºÎºÐÀ» ¼öÁ¤ÇÏÁö ¾Ê°í »õ·Î¿î ¸ðµâ ±â´ÉÀ» + Á¦°øÇÏ´Â ÇÔ¼ö°¡ Ãß°¡µÇ¾ú´Ù.
+ +
IPv6 Áö¿ø
+ +
ÇÏÀ§ Apache Portable Runtine ¶óÀ̺귯¸®°¡ IPv6¸¦ Áö¿øÇÏ´Â + ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡´Â ±âº»ÀûÀ¸·Î IPv6 ¼ÒÄÏÀ» ±â´Ù¸°´Ù. ¶Ç, + Listen, + NameVirtualHost, + VirtualHost Áö½Ã¾î°¡ + IPv6 ¼ýÀÚ ÁÖ¼Ò¸¦ Áö¿øÇÑ´Ù. (¿¹, + "Listen [2001:db8::1]:8080").
+ +
ÇÊÅ͸µ
+ +
ÀÌÁ¦ ¾ÆÆÄÄ¡ ¸ðµâÀ» ¼­¹ö·Î ¿À°í°¡´Â È帧¿¡ ´ëÇÑ + ÇÊÅÍ·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î mod_includeÀÇ + INCLUDES ÇÊÅ͸¦ »ç¿ëÇÏ¿© CGI ½ºÅ©¸³Æ® Ãâ·Â¿¡¼­ + Server Side Include Áö½Ã¾î¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù. + mod_ext_filter ¸ðµâÀº CGI ÇÁ·Î±×·¥À» + Çڵ鷯·Î »ç¿ëÇÏ´Â °Í°ú °°ÀÌ ¿ÜºÎ ÇÁ·Î±×·¥À» ÇÊÅÍ·Î + »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
+ +
´Ù±¹¾î ¿À·ù ÀÀ´ä
+ +
ºê¶ó¿ìÀú·Î º¸³»´Â ¿À·ù ÀÀ´ä¹®ÀÌ ÀÌÁ¦ SSI ¹®¼­¸¦ + »ç¿ëÇÏ¿© ´Ù±¹¾î·Î Á¦°øµÈ´Ù. °ü¸®ÀÚ´Â ÅëÀÏµÈ ¿Ü°üÀ» À§ÇØ + ÀÌ ¹®¼­¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
+ +
°£´ÜÇØÁø ¼³Á¤
+ +
È¥¶õÀ» ÁÖ´ø ¸¹Àº Áö½Ã¾îµéÀÌ °£´ÜÇØÁ³´Ù. ÀÚÁÖ È¥¶õÀ» + ÁÖ´ø Port¿Í BindAddress Áö½Ã¾î´Â + ¾ø¾îÁö°í IP ÁÖ¼Ò ¿¬°á¿¡ + Listen Áö½Ã¾î¸¸À» + »ç¿ëÇÑ´Ù. ServerName + Áö½Ã¾î´Â ¸®´ÙÀÌ·º¼Ç°ú °¡»óÈ£½ºÆ® ÀνĿ¡¸¸ »ç¿ëµÉ ¼­¹ö¸í°ú + Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù.
+ +
Windows NT À¯´ÏÄÚµå ÀÚü Áö¿ø
+ +
Windows NT¿¡¼­ Apache 2.0Àº ÀÌÁ¦ ¸ðµç ÆÄÀϸí ÀÎÄÚµù¿¡ + utf-8À» »ç¿ëÇÑ´Ù. ÆÄÀϸíÀº ÇÏÀ§ À¯´ÏÄÚµå ÆÄÀϽýºÅÛÀ¸·Î Á÷Á¢ + º¯¿ªµÇ¾î, Windows 2000°ú Windows XP¸¦ Æ÷ÇÔÇÑ ¸ðµç Windows NT±â¹Ý + ½Ã½ºÅÛ¿¡ ´Ù±¹¾î Áö¿øÀ» Á¦°øÇÑ´Ù. ÀÌ ±â´ÉÀº Windows 95, + 98, ME¿¡´Â Áö¿øµÇÁö¾Ê°í, ÆÄÀϽýºÅÛ Á¢±Ù¿¡ Àü°ú °°ÀÌ ½Ã½ºÅÛÀÇ + Áö¿ª ÄÚµåÆäÀÌÁö¸¦ »ç¿ëÇÑ´Ù.
+ +
Á¤±ÔÇ¥Çö½Ä ¶óÀ̺귯¸® Updated
+ +
Apache 2.0Àº Perlȣȯ + Á¤±ÔÇ¥Çö½Ä ¶óÀ̺귯¸® (Perl Compatible Regular Expression + Library) (PCRE)¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌÁ¦ ¸ðµç Á¤±ÔÇ¥Çö½Ä¿¡ + ´õ °­·ÂÇÑ Perl 5 ¹®¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+ +
+
top
+
+

¸ðµâ¿¡¼­ ³ª¾ÆÁø Á¡

+ + +
+
mod_ssl
+ +
Apache 2.0¿¡¼­ »õ·Î Ãß°¡µÇ¾ú´Ù. ÀÌ ¸ðµâÀº OpenSSLÀÌ + Á¦°øÇÏ´Â SSL/TLS ¾Ïȣȭ ÇÁ·ÎÅäÄÝÀÇ ÀÎÅ×ÆäÀ̽º´Ù.
+ +
mod_dav
+ +
Apache 2.0¿¡¼­ »õ·Î Ãß°¡µÇ¾ú´Ù. ÀÌ ¸ðµâÀº À¥ÄÁÅÙÃ÷¸¦ + ¿Ã¸®°í °ü¸®ÇϱâÀ§ÇÑ HTTP Distributed Authoring and Versioning + (DAV) Ç¥ÁØÀ» ±¸ÇöÇÑ´Ù.
+ +
mod_deflate
+ +
Apache 2.0¿¡¼­ »õ·Î Ãß°¡µÇ¾ú´Ù. ³×Æ®¿÷ »ç¿ë·®À» + ÁÙÀ̱âÀ§ÇØ ºê¶ó¿ìÀú¿¡°Ô ÄÁÅÙÃ÷¸¦ ¾ÐÃàÇؼ­ º¸³»¶ó°í ¿äûÇÒ + ¼ö ÀÖ´Ù.
+ +
mod_auth_ldap
+ +
Apache 2.0.41¿¡¼­ »õ·Î Ãß°¡µÇ¾ú´Ù. ÀÌ ¸ðµâÀº HTTP + Basic Authentication¿¡ »ç¿ëÇÏ´Â Á¤º¸¸¦ LDAP µ¥ÀÌÅͺ£À̽º¿¡ + ÀúÀåÇÑ´Ù. °ü·ÃµÈ mod_ldap ¸ðµâÀº + ¿¬°áÇ®(connection pool)À» Á¦°øÇÏ°í, °á°ú¸¦ ij½ÌÇÑ´Ù.
+ +
mod_auth_digest
+ +
°øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏ¿© ÇÁ·Î¼¼½º°£ ¼¼¼Ç ij½ÌÀ» Áö¿øÇÑ´Ù.
+ +
mod_charset_lite
+ +
Apache 2.0¿¡¼­ »õ·Î Ãß°¡µÇ¾ú´Ù. ÀÌ ½ÇÇèÀûÀÎ ¸ðµâÀº + ¹®ÀÚÁýÇÕ º¯È¯°ú ¹®ÀÚÁýÇÕ ÀçÀÛ¼º ±â´ÉÀ» Á¦°øÇÑ´Ù.
+ +
mod_file_cache
+ +
Apache 2.0¿¡¼­ »õ·Î Ãß°¡µÇ¾ú´Ù. ÀÌ ¸ðµâÀº Apache 1.3ÀÇ + mod_mmap_static ±â´É¿¡ ´õ ³ªÀº ij½¬ ±â´ÉÀ» + Ãß°¡Çß´Ù.
+ +
mod_headers
+ +
ÀÌ ¸ðµâÀº Apache 2.0¿¡¼­ ´õ À¯¿¬ÇØÁ³´Ù. ÀÌÁ¦ + mod_proxy°¡ »ç¿ëÇÏ´Â ¿äû Çì´õ¸¦ ¼öÁ¤ÇÒ + ¼ö ÀÖ°í, °æ¿ì¿¡ µû¶ó¼­ ÀÀ´ä Çì´õ¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.
+ +
mod_proxy
+ +
ÀÌ ÇÁ·Ï½Ã ¸ðµâÀº »õ·Î¿î ÇÊÅÍ ±¸Á¶¸¦ ÀÌ¿ëÇÏ°í ´õ ¹ÏÀ»¸¸ÇÑ + HTTP/1.1 ÇÁ·Ï½Ã¸¦ ±¸ÇöÇϱâÀ§ÇØ ¿ÏÀüÈ÷ ÀçÀÛ¼ºµÇ¾ú´Ù. Ãß°¡·Î + »õ·Î¿î <Proxy> + ¼³Á¤ ¼½¼ÇÀº ÇÁ·Ï½Ã ¼³Á¤À» ´õ ½±°Ô (±×¸®°í ³»ºÎÀûÀ¸·Î ´õ + ºü¸£°Ô) ¸¸µç´Ù. °ú°Å <Directory "proxy:..."> + ¼³Á¤Àº ÀÌÁ¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. ¸ðµâÀº proxy_connect, + proxy_ftp, proxy_http¿Í °°ÀÌ + Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝ º°·Î ³ª´²Á³´Ù.
+ +
mod_negotiation
+ +
»õ·Î¿î ForceLanguagePriority + Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®°¡ NOT ACCEPTABLEÀ̳ª MULTIPLE CHOICES + ÀÀ´ä ´ë½Å ¸ðµç °æ¿ì ÇÑ ¹®¼­¸¦ ¹ÞÀ½À» º¸ÀåÇÑ´Ù. Ãß°¡·Î + Çù»ó ¾Ë°í¸®Áò°ú MultiViews ¾Ë°í¸®ÁòÀÌ ´õ ÀÏ°üµÈ °á°ú¸¦ + ³»µµ·Ï ¼öÁ¤µÇ¾ú°í, ¹®¼­ ³»¿ëÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Â »õ·Î¿î Çü½ÄÀÇ + type mapÀÌ Ãß°¡µÇ¾ú´Ù.
+ +
mod_autoindex
+ +
ÀÚµ¿À¸·Î »ý¼ºµÈ µð·ºÅ丮 ¸ñ·ÏÀÌ ÀÌÁ¦ ´õ ±ò²ûÇÑ Çü½ÄÀ» + À§ÇØ HTML Ç¥¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú°í, ¹öÀü Á¤·ÄÀ» Æ÷ÇÔÇÏ¿© + Á¤·Ä¼ø¼­¸¦ ÀÚ¼¼È÷ Á¶ÀýÇÒ ¼ö ÀÖÀ¸¸ç, µð·ºÅ丮 ¸ñ·ÏÀ» ¿ÍÀϵåÄ«µå·Î + °É·¯³¾ ¼ö ÀÖ´Ù.
+ +
mod_include
+ +
»õ·Î¿î Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© SSI ¿ä¼ÒÀÇ ±âº» ½ÃÀÛ ÅÂ±×¿Í + ¸¶Ä§ ű׸¦ º¯°æÇÒ ¼ö ÀÖ°í, ¿À·ù¿Í ½Ã°£Çü½ÄÀ» SSI ¹®¼­¿Ü¿¡ + ÁÖ ¼³Á¤ÆÄÀÏ¿¡¼­µµ ¼³Á¤ÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. mod_include¿¡¼­ (ÀÌÁ¦ + Perl Á¤±ÔÇ¥Çö½Ä ¹®¹ýÀ¸·Î) Á¤±ÔÇ¥Çö½Ä ÆĽ̰ú ±×·ìÀÇ + °á°ú¸¦ mod_includeÀÇ $0 + ... $9 º¯¼ö·Î ¾òÀ» ¼ö ÀÖ´Ù.
+ +
mod_auth_dbm
+ +
ÀÌÁ¦ AuthDBMType + Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¿©·¯ DBM·ù µ¥ÀÌÅͺ£À̽º¸¦ Áö¿øÇÑ´Ù.
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html.pt-br b/docs/manual/new_features_2_0.html.pt-br new file mode 100644 index 0000000..297d3c1 --- /dev/null +++ b/docs/manual/new_features_2_0.html.pt-br @@ -0,0 +1,271 @@ + + + + + +Descrição das novas funcionalidades do Apache 2.0 - Servidor HTTP Apache Versão 2.4 + + + + + + + +
<-
+

Descrição das novas funcionalidades do Apache 2.0

+
+

Línguas Disponíveis:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
+
Esta tradução pode estar desatualizada. + Confira a versão em Inglês para mudanças recentes.
+ +

Esse documento descreve algumas das mudanças principais + entre as versões 1.3 e 2.0 do Servidor HTTP Apache.

+
+ +
top
+
+

Principais Melhorias

+ + +
+
Threading Unix
+ +
Em sistemas Unix com suporte a threads POSIX, o Apache pode + funcionar em modo híbrido multiprocesso e multithread. Não funciona + em todas configurações, mas melhora a escalabilidade em muitas.
+ +
Novo Sistema de Compilação
+ +
O sistema de compilação foi reescrito do zero para utilizar o + autoconf e o libtool, tornando a + configuração do sistema Apache mais similar a de outros + pacotes.
+ +
Suporte Multi-protocolo
+ +
O Apache possui agora uma infraestrutura feita para suportar + múltiplos protocolos. O módulo mod_echo é um + exemplo ilustrativo de sua utilização.
+ +
Suporte Aperfeiçoado para Plataformas Não-Unix
+ +
O Apache 2.0 está mais rápido e mais estável em plataformas + Não-Unix como BeOS, OS/2 e Windows. Com a introdução de módulos + multi-processamento (MPMs) específicos e a + Apache Portable Runtime (APR), essas plataformas estão implementando + as suas APIs nativas, evitando as camadas de emulação POSIX que se + mostravam lentas e defeituosas.
+ +
Nova API Apache
+ +
A API para módulos mudou significativamente na versão 2.0. + Muitos dos problemas de ordenamento/prioridade da versão + 1.3 foram resolvidos. A versão 2.0 faz o ordenamento automático + "per-hook" para permitir mais flexibilidade. Novas chamadas foram + adicionadas para fornecer capacidades adicionais sem a necessidade + de se aplicar nenhum patch ao servidor Apache principal.
+ +
Suporte IPv6
+ +
Em sistemas onde o IPv6 é suportado pela biblioteca de base + Apache Portable Runtime, o Apache monitora por padrão + as interfaces IPv6. Em adição as diretrizes Listen, NameVirtualHost e VirtualHost, suportam correntes (strings) de + endereços numéricos do tipo IPv6. (ex. "Listen + [2001:db8::1]:8080").
+ +
Filtrando
+ +
Os módulos do Apache agora são feito filtros que + agem na corrente do conteúdo na medida que este é entregue, tanto + na entrada quando na saída de dados do servidor. É possível então, + por exemplo, que o retorno de dados de scripts CGI sejam analisados + pelas diretrizes do "Server Side Include" usando o filtro INCLUDES do mod_include. O módulo mod_ext_filter, permite que programas externos trabalhem + como filtros do mesmo modo que aplicações CGI funcionam como + manipuladores.
+ +
Respostas de Erro Multi-linguais
+ +
Mensagens de erro para o navegador agora são fornecidas em + diversas línguas, usando documentos SSI. Podem ser personalizadas + pelo administrador que desejar definir seus próprios + padrões.
+ +
Configuração Simplificada
+ +
Muitas diretrizes confusas foram simplificadas. Entre elas, + Port e BindAddress não existem + mais; apenas a diretriz Listen + é usada para direcionar endereços IP; a diretriz ServerName especifica o nome do servidor + e o número da porta apenas para redirecionamento e reconhecimento + de hospedeiros virtuais.
+ +
Suporte Nativo ao Unicode do Windows NT
+ +
O Apache 2.0 para Windows NT agora usa utf-8 para codificação + de todos os nomes de arquivos. A tradução para o sistema + base Unicode, torna possível o suporte multi-lingual para todas + as instalações da família NT, incluindo o Windows 2000 e Windows XP. + Esse suporte não se estende ao Windows 95, 98 ou ME, que + continuam usando o código de páginas da máquina local para o + acesso ao sistema de arquivos.
+ +
Biblioteca de Expressões Regulares Atualizada
+ +
O Apache 2.0 inclui a Biblioteca + de Expressões Regulares Compatíveis Perl (PCRE). Todas as + avaliações de expressões regulares usam a mais poderosa sintaxe + do Perl 5.
+ +
+
top
+
+

Melhorias nos Módulos

+ + +
+
mod_ssl
+ +
Novo módulo no Apache 2.0. Esse módulo é uma interface + para os protocolos de codificação SSL/TLS fornecidos pela + OpenSSL.
+ +
mod_dav
+ +
Novo módulo no Apache 2.0. Este módulo implementa as + especificações de Autoria Distribuída e Versões (Distributed + Authoring and Versioning - DAV) para HTTP, para a publicação + e a manutenção de conteúdo da web.
+ +
mod_deflate
+ +
Novo módulo no Apache 2.0. Esse módulo permite o suporte + a navegadores que solicitam que o conteúdo seja comprimido antes + da entrega, economizando banda da rede.
+ +
mod_auth_ldap
+ +
Novo módulo no Apache 2.0.41. Este módulo permite que + bancos de dados LDAP sejam usados para armazenar credenciais + para Autenticação Básica HTTP. Um módulo que o acompanha mod_ldap, fornece a conciliação de conexões e armazenamento + de resultados.
+ +
mod_auth_digest
+ +
Inclui suporte adicional para armazenamento de sessões + através de processos que usam memória compartilhada.
+ +
mod_charset_lite
+ +
Novo módulo no Apache 2.0. Este modo experimental permite a + tradução de tabelas de caracteres ou re-codificação.
+ +
mod_file_cache
+ +
Novo módulo no Apache 2.0. Esse módulo inclui a funcionalidade + do mod_mmap_static do Apache 1.3, além de disponibilizar + outras possibilidades de armazenamento.
+ +
mod_headers
+ +
Este módulo está muito mais flexível no Apache 2.0. Pode + modificar pedidos de cabeçalhos usados pelo mod_proxy, e incondicionalmente pode ajustar cabeçalhos de respostas.
+ +
mod_proxy
+ +
O módulo proxy foi totalmente reescrito para levar vantagem + da nova infraestrutura de filtro e implementar um proxy mais fiel e + de acordo com o padrão HTTP/1.1. Além disso, uma nova seção + de configuração <Proxy> fornece controles mais legíveis (e internamente + mais rápidos) para sites com proxies; configurações + sobrecarregadas <Directory "proxy:...">, não + são suportadas. O módulo agora é dividido em suporte + de protocolos específicos incluindo proxy_connect, + proxy_ftp e proxy_http.
+ +
mod_negotiation
+ +
A nova diretriz ForceLanguagePriority pode ser usada para assegurar que + o cliente receba um único documento em todos os casos, ao invés de + respostas "NOT ACCEPTABLE" ou "MULTIPLE CHOICES". Novos algoritmos + de negociação e visões múltiplas (MultiViews) foram organizados para + obter resultados mais consistentes e uma nova forma de tipo de mapa + (map type) que podem incluir o conteúdo de documentos é fornecido.
+ +
mod_autoindex
+ +
As listagens de diretórios automáticas podem ser + configuradas para usar tabelas HTML para formatações mais limpas + e permitir controles mais acurados de classificação, incluindo + ordenação por versão e filtro da lista de + diretórios através de caracteres-coringa.
+ +
mod_include
+ +
Novas diretrizes permitem que as tags padrões start e + end para elementos SSI, possam ser alteradas e permitir que + as configurações de formatos de erro e hora sejam incluídos no + arquivo de configuração principal, ao invés de serem adicionadas + ao documento SSI. Resultados de análises de expressões regulares + e agrupamento (baseadas na sintaxe de expressões regulares do Perl) + podem ser obtidas usando as variáveis do módulo mod_include, de $0 a $9.
+ +
mod_auth_dbm
+ +
Agora suporta múltiplos tipos de banco de dados similares ao DBM, + usando a diretriz + AuthDBMType + .
+ +
+
+
+

Línguas Disponíveis:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
top

Comentários

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_0.html.tr.utf8 b/docs/manual/new_features_2_0.html.tr.utf8 new file mode 100644 index 0000000..37c5f11 --- /dev/null +++ b/docs/manual/new_features_2_0.html.tr.utf8 @@ -0,0 +1,275 @@ + + + + + +Apache HTTP Sunucusu 2.0’da Yeni olan Özellikler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache HTTP Sunucusu 2.0’da Yeni olan Özellikler

+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
+ +

Bu belgede Apache HTTP Sunucusunun 1.3 ve 2.0 sürümleri arasındaki + başlıca değişikliklerin bazılarına değinilmiştir.

+
+ +
top
+
+

Çekirdekteki Gelişmeler

+ + +
+
Unix Evreleri
+ +
POSIX evreleri desteği olan Unix sistemlerinde Apache httpd, çok evreli + kipte çok süreçlilik şeklinde melez bir yapıda çalışır. Bu bir çok + bakımdan ölçeklenebilirliği arttırsa da bütün yapılandırmalarda + sağlanamaz.
+ +
Yeni Paket Derleme Sistemi
+ +
Yeni kaynak paketi derleme sistemi autoconf ve + libtool’a dayalı olarak sıfırdan, yeni baştan yazıldı. + Böylece Apache httpd’nin paket yapılandırma sistemi diğer paketlerinkiyle + benzerlik kazanmış oldu.
+ +
Çok Sayıda Protokol Desteği
+ +
Apache HTTP Sunucusu artık çok sayıda protokol ile hizmet sunacak bir + alt yapıya sahiptir. Örneğin, mod_echo modülü bu + amaçla yazılmıştır.
+ +
Unix dışı platformalara daha iyi destek
+ +
Apache HTTP Sunucusu 2.0 sürümleri, BeOS, OS/2, Windows gibi Unix olmayan + platformlarda daha hızlı ve daha kararlı çalışacak duruma + getirilmiştir. Genelde iyi geliştirilmemiş olan dolayısıyla istenen + başarımı sağlayamayan POSIX taklit katmanlarının kullanımından + vazgeçilmiş, platforma özgü çok süreçlilik + modülleri (MPM) ve Apache Taşınabilirlik Arayüzü (APR) sayesinde + bu platformlar artık kendi doğal programlama arayüzleriyle + gerçeklenir olmuştur.
+ +
Yeni Apache httpd Programlama Arayüzü
+ +
Modüller için kullanılan programlama arayüzü 2.0 sürümüyle önemli + değişikliklere uğramıştır. 1.3 sürümünde görülen modüllerle ilgili + sıralama/öncelik sorunlarının çoğu giderilmiştir. 2.0 sürümü bu + işlemleri daha bir özdevimli yapar olmuştur; daha fazla esneklik + sağlamak için artık kancalı modül sıralaması kullanılabilmektedir. + Ayrıca, arayüze, Apache HTTP Sunucususu çekirdeğini yamamaya gerek kalmadan + modüllerle sunucu yeteneklerinin arttırılabilmesini sağlayan yeni + çağrılar eklenmiştir.
+ +
IPv6 DesteÄŸi
+ +
IPv6’nın Apache Taşınabilirlik Arayüzü kütüphanesi tarafından + desteklendiği sistemlerde Apache httpd öntanımlı olarak IPv6 soketlerini + dinler. Bundan başka, Listen, NameVirtualHost ve VirtualHost yönergelerinin IPv6 sayısal adres + dizgelerini desteklemesi sağlanmıştır.
Örnek: Listen + [2001:db8::1]:8080
+ +
Süzme
+ +
Apache httpd modülleri, artık, sunucuya teslim edilen veya sunucudan + teslim alınan içerik akımları üzerinde süzgeç gibi davranacak şekilde + yazılabilmektedir. Bu sayede, örneğin CGI betiklerinin çıktılarının + mod_include modülünün INCLUDES süzgeci + kullanılarak SSI yönergeleri için çözümlenmesi mümkündür. CGI + programlarının birer eylemci olarak davranması gibi, + mod_ext_filter modülü de harici programların birer + süzgeç olarak davranabilmesini mümkün kılar.
+ +
Çok Dilli Hata Yanıtları
+ +
Hata yanıtlarının tarayıcılara yönelik iletileri artık SSI + belgeleri kullanılarak çeşitli dillerde sağlanabilmektedir. Bunlar + ayrıca yönetici tarafından görünüş ve kullanışlılık tutarlılığı + bakımından kişiselleştirilebilmektedir.
+ +
Basitleştirilmiş Yapılandırma
+ +
Bazı yönergelerle ilgili kafa karışıklıkları giderilmiştir. + Bilhassa belli bir IP adresini dinlemek için kullanılan + Port ve BindAddress yönergeleri ile ilgili + karışıklığın önüne geçmek için sadece Listen yönergesi yeterli olmaktadır. ServerName yönergesi ise sadece yönlendirme + ve sanal konak tanıma amacıyla sunucu ismi ve port belirtiminde + kullanılmaktadır.
+ +
DoÄŸal Windows NT Unicode DesteÄŸi
+ +
Apache httpd 2.0, Windows NT üzerinde artık tüm dosya sistemi + kodlamalarında utf-8 kullanmaktadır. Bu destek, Windows 2000 ve + Windows XP dahil tüm Windows NT temelli sistemlere çok dillilik + desteğini sağlamak üzere mevcut Unicode dosya sistemine doğrudan + uyarlanır. Dosya sisteminde makinenin yerel karakter kodlamasını + kullanan kullanan Windows 95, 98 ve ME için bu destek + yoktur.
+ +
Düzenli İfade Kütüphanesi Güncellemesi
+ +
Apache httpd 2.0’da Perl uyumlu düzenli + ifade kütüphanesi bulunur. Tüm düzenli ifadelerde artık çok daha + güçlü olan Perl 5 sözdizimi kullanılmaktadır.
+ +
+
top
+
+

Modüllerdeki Gelişmeler

+ + +
+
mod_ssl
+ +
Apache httpd 2.0’da yeni olan bu modül, OpenSSL tarafından sağlanan + SSL/TLS şifreleme protokollerine bir arayüzdür.
+ +
mod_dav
+ +
Apache httpd 2.0’da yeni olan bu modül, site içeriğinin destek ve bakımı + için HTTP dağıtık yazım ve sürüm yönetimi (DAV - Distributed + Authoring and Versioning) belirtimini gerçekler.
+ +
mod_deflate
+ +
Apache httpd 2.0’da yeni olan bu modül sayesinde ağ band genişliğinden + daha verimli yararlanabilmek için içeriğin sıkıştırılarak + gönderilmesini talep eden tarayıcıların desteklenmesi mümkün + olmuştur.
+ +
mod_auth_ldap
+ +
Apache httpd 2.0.41’de yeni olan bu modül, HTTP temel kimlik + doğrulamasında kullanılan delillerin saklanması için LDAP + veritabanının kullanılabilmesini mümkün kılar. Kardeş modülü olan + mod_ldap ise bağlantı havuzlaması ve sonuçların + önbelleğe alınması ile ilgilenir.
+ +
mod_auth_digest
+ +
Paylaşımlı belleği kullanan süreçlere karşı oturum önbelleklemesi + için ek destek içerir.
+ +
mod_charset_lite
+ +
Apache httpd 2.0’da yeni olan bu deneysel modül, karakter kümesi + dönüşümleri veya kaydı için destek sağlar.
+ +
mod_file_cache
+ +
Apache httpd 2.0’da yeni olan bu modül, Apache HHP Sunucusu 1.3’teki + mod_mmap_static modülünün işlevselliğini içermenin + yanında buna önbellekleme yetenekleri de ekler.
+ +
mod_headers
+ +
Bu modül Apache httpd 2.0’da daha esnek hale getirilmiştir. Artık + mod_proxy tarafından kullanılan istek başlıkları + değiştirilebilmekte ve bunlar yanıt başlıklarına şartlı olarak + atanabilmektedir.
+ +
mod_proxy
+ +
Bu modül HTTP/1.1 uyumlu vekaleti daha güvenilir kılmak ve yeni + süzgeç alt yapısının getirilerinden de yararlanmak amacıyla yeni + baştan yazılmıştır. Bunun yanında, <Proxy> bölümünün yeni hali vekil siteleri + desteklemek bakımından daha okunabilir (ve kendi içinde daha hızlı) + olması sağlanmıştır; <Directory "proxy:..."> + yapılandırması artık desteklenmemektedir. Modül, + proxy_connect, proxy_ftp ve + proxy_http şeklinde her biri belli bir protokolü + destekleyen ayrı modüllere bölünmüştür.
+ +
mod_negotiation
+ +
Yeni ForceLanguagePriority yönergesi sayesinde istemciye + “Kabul edilebilir bir gösterim çeşidi yok†ya da “Çok sayıda seçim + belirtilmiş†yanıtını döndürmek yerine tüm durumlara uyan bir + sayfanın gönderilebilmesi sağlanmıştır. Bundan başka, uzlaşım ve + MultiViews algoritmaları daha tutarlı sonuçlar elde + etmek amacıyla elden geçirilmiş ve belge içeriği ile daha iyi eşleşen + yeni bir tür eşlem yapısı sağlanmıştır.
+ +
mod_autoindex
+ +
Dizin içeriklerinin özdevimli listelenmesi artık HTML tabloları + kullanılacak şekilde yapılandırılabilmektedir. Böylece sayfa daha iyi + biçemlenebilmekte, içerik daha hassas sıralanabilmekte, sürüm + numarasına göre sıralama yapılabilmekte ve dosya ismi kalıpları + kullanılarak sadece istenen içerik listelenebilmektedir.
+ +
mod_include
+ +
Yeni yönergeler, değiştirilecek SSI elemanları için öntanımlı + başlangıç ve bitiş etiketlerine izin vermekte, hataların ve zaman + biçemleme yapılandırmalarının SSI belgesinde değil ana yapılandırma + dosyasında bulunması mümkün olmaktadır. Düzenli ifadelerin gruplanmış + sonuçları (Perl düzenli ifade sözdizimi kullanılmaktadır) + mod_include modülünün $0 .. + $9 değişkenleri sayesinde kullanılabilmektedir.
+ +
mod_auth_dbm
+ +
AuthDBMType yönergesi + sayesinde artık çok sayıda DBM tarzı veritabanı türü + desteklenmektedir.
+
+
+
+

Mevcut Diller:  de  | + en  | + fr  | + ja  | + ko  | + pt-br  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_2.html b/docs/manual/new_features_2_2.html new file mode 100644 index 0000000..49c8f2d --- /dev/null +++ b/docs/manual/new_features_2_2.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: new_features_2_2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: new_features_2_2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: new_features_2_2.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: new_features_2_2.html.pt-br +Content-Language: pt-br +Content-type: text/html; charset=ISO-8859-1 + +URI: new_features_2_2.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/new_features_2_2.html.en b/docs/manual/new_features_2_2.html.en new file mode 100644 index 0000000..be23b4f --- /dev/null +++ b/docs/manual/new_features_2_2.html.en @@ -0,0 +1,305 @@ + + + + + +Overview of new features in Apache HTTP Server 2.2 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Overview of new features in Apache HTTP Server 2.2

+
+

Available Languages:  en  | + fr  | + ko  | + pt-br  | + tr 

+
+ +

This document describes some of the major changes between the + 2.0 and 2.2 versions of the Apache HTTP Server. For new features since + version 1.3, see the 2.0 new features + document.

+
+ +
top
+
+

Core Enhancements

+ +
+ +
Authn/Authz
+
The bundled authentication and authorization modules have + been refactored. The new mod_authn_alias(already removed from 2.3/2.4) + module can greatly simplify certain authentication configurations. + See module name changes, and + the developer changes for more + information about how these changes affects users and module + writers.
+ +
Caching
+
mod_cache, mod_cache_disk, and + mod_mem_cache(already removed from 2.3/2.4) have undergone a lot of changes, and + are now considered production-quality. htcacheclean + has been introduced to clean up mod_cache_disk + setups.
+ +
Configuration
+
The default configuration layout has been simplified and + modularised. Configuration snippets which can be used to + enable commonly-used features are now bundled with Apache, and + can be easily added to the main server config.
+ +
Graceful stop
+
The prefork, worker and + event MPMs now allow httpd + to be shutdown gracefully via the + graceful-stop + signal. The GracefulShutdownTimeout directive + has been added to specify an optional timeout, after which + httpd will terminate regardless of the status + of any requests being served.
+ +
Proxying
+
The new mod_proxy_balancer module provides + load balancing services for mod_proxy. + The new mod_proxy_ajp module adds support for the + Apache JServ Protocol version 1.3 used by + Apache Tomcat.
+ +
Regular Expression Library Updated
+
Version 5.0 of the + Perl Compatible Regular Expression + Library (PCRE) is now included. httpd can be + configured to use a system installation of PCRE by passing the + --with-pcre flag to configure.
+ +
Smart Filtering
+
mod_filter introduces dynamic configuration + to the output filter chain. It enables filters to be conditionally + inserted, based on any Request or Response header or environment + variable, and dispenses with the more problematic dependencies and + ordering problems in the 2.0 architecture.
+ +
Large File Support
+
httpd is now built with support for files larger + than 2GB on modern 32-bit Unix systems. Support for handling + >2GB request bodies has also been added.
+ +
Event MPM
+
The event MPM uses a separate thread to handle + Keep Alive requests and accepting connections. Keep Alive requests + have traditionally required httpd to dedicate a worker to handle it. + This dedicated worker could not be used again until the Keep Alive + timeout was reached.
+ +
SQL Database Support
+
mod_dbd, together with the apr_dbd + framework, brings direct SQL support to modules that need it. + Supports connection pooling in threaded MPMs.
+ +
+
top
+
+

Module Enhancements

+ +
+
Authn/Authz
+
Modules in the aaa directory have been renamed and offer + better support for digest authentication. For example, + mod_auth is now split into + mod_auth_basic and + mod_authn_file; mod_auth_dbm is now + called mod_authn_dbm; mod_access has + been renamed mod_authz_host. There is also a new + mod_authn_alias(already removed from 2.3/2.4) module for simplifying + certain authentication configurations. +
+ +
mod_authnz_ldap
+
This module is a port of the 2.0 + mod_auth_ldap module to the 2.2 Authn/Authz + framework. New features include using LDAP attribute values and + complicated search filters in the + Require directive.
+ +
mod_authz_owner
+
A new module that authorizes access to files based + on the owner of the file on the file system
+ +
mod_version
+
A new module that allows configuration blocks to be enabled based on the + version number of the running server.
+ +
mod_info
+
Added a new ?config argument which will show + the configuration directives as parsed by Apache, including + their file name and line number. The module also + shows the order of all request hooks and additional + build information, similar to httpd -V.
+ +
mod_ssl
+ +
Added a support for + RFC 2817, which + allows connections to upgrade from clear text to TLS encryption.
+ +
mod_imagemap
+
mod_imap has been renamed to + mod_imagemap to avoid user confusion.
+
+ +
top
+
+

Program Enhancements

+ +
+
httpd
+
A new command line option -M has been added that + lists all modules that are loaded based on the current + configuration. Unlike the -l option, this list + includes DSOs loaded via mod_so.
+ +
httxt2dbm
+
A new program used to generate dbm files from text input, + for use in RewriteMap + with the dbm map type.
+
+
top
+
+

Module Developer Changes

+ +
+
APR 1.0 API
+ +
Apache 2.2 uses the APR 1.0 API. All deprecated functions and + symbols have been removed from APR and + APR-Util. For details, see the + APR Website.
+ +
Authn/Authz
+
The bundled authentication and authorization modules have + been renamed along the following lines: +
    +
  • mod_auth_* -> Modules that implement an HTTP + authentication mechanism
  • +
  • mod_authn_* -> Modules that provide a backend + authentication provider
  • +
  • mod_authz_* -> Modules that implement + authorization (or access)
  • +
  • mod_authnz_* -> Module that implements both + authentication & authorization
  • +
+ There is a new authentication backend provider + scheme which greatly eases the construction of new authentication + backends.
+ +
Connection Error Logging
+ +
A new function, ap_log_cerror has been added to log + errors that occur with the client's connection. When logged, + the message includes the client IP address.
+ +
Test Configuration Hook Added
+ +
A new hook, test_config has been added to aid + modules that want to execute special code only when the user passes + -t to httpd.
+ +
Set Threaded MPM's Stacksize
+ +
A new directive, ThreadStackSize has been added to + set the stack size on all threaded MPMs. This is required + for some third-party modules on platforms with small default + thread stack size.
+ +
Protocol handling for output filters
+ +
In the past, every filter has been responsible for ensuring + that it generates the correct response headers where it affects + them. Filters can now delegate common protocol management to + mod_filter, using the + ap_register_output_filter_protocol or + ap_filter_protocol calls.
+ +
Monitor hook added
+
Monitor hook enables modules to run regular/scheduled jobs + in the parent (root) process.
+ +
Regular expression API changes
+ +
The pcreposix.h header is no longer available; + it is replaced by the new ap_regex.h header. The + POSIX.2 regex.h implementation exposed by the old + header is now available under the ap_ namespace + from ap_regex.h. Calls to regcomp, + regexec and so on can be replaced by calls to + ap_regcomp, ap_regexec.
+ +
DBD Framework (SQL Database API)
+ +

With Apache 1.x and 2.0, modules requiring an SQL backend + had to take responsibility for managing it themselves. Apart + from reinventing the wheel, this can be very inefficient, for + example when several modules each maintain their own connections.

+ +

Apache 2.1 and later provides the ap_dbd API for + managing database connections (including optimised strategies + for threaded and unthreaded MPMs), while APR 1.2 and later provides + the apr_dbd API for interacting with the database.

+ +

New modules SHOULD now use these APIs for all SQL database + operations. Existing applications SHOULD be upgraded to use it + where feasible, either transparently or as a recommended option + to their users.

+
+
+
+

Available Languages:  en  | + fr  | + ko  | + pt-br  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_2.html.fr.utf8 b/docs/manual/new_features_2_2.html.fr.utf8 new file mode 100644 index 0000000..05f6843 --- /dev/null +++ b/docs/manual/new_features_2_2.html.fr.utf8 @@ -0,0 +1,331 @@ + + + + + +Aperçu des nouvelles fonctionnalités de la version +2.2 du serveur HTTP Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Aperçu des nouvelles fonctionnalités de la version +2.2 du serveur HTTP Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + pt-br  | + tr 

+
+ +

Ce document décrit quelques uns des changements principaux entre + les versions 2.0 et 2.2 du serveur HTTP Apache. Pour les + nouvelles fonctionnalités ajoutées depuis la version 1.3, se + référer au document + 2.0 new features.

+
+ +
top
+
+

Améliorations du système de base

+ +
+ +
Authn/Authz
+
Les modules d'authentification et d'autorisation intégrés + ont été refondus. Le nouveau module + mod_authn_alias (supprimé dans la version 2.3/2.4) permet de + simplifier considérablement certaines configurations d'authentification. + Voir modification des noms de modules, + et + les changements pour le développeur + pour plus d'informations sur les conséquences de ces + changements pour les utilisateurs et les développeurs de + modules.
+ +
Mise en cache
+
mod_cache, mod_cache_disk, et + mod_mem_cache (supprimés dans la version 2.3/2.4) ont subi de nombreuses + modifications, et l'on considère qu'ils ont maintenant atteint + un degré de qualité suffisant pour leur mise en production. Le programme + htcacheclean a été ajouté afin de rendre + plus propre la configuration du module + mod_cache_disk.
+ +
Configuration
+
L'agencement de la configuration par défaut a été simplifié + et modularisé. Les portions de configuration qui peuvent être + utilisées pour activer des fonctionnalités courantes sont + maintenant intégrées à Apache, et peuvent être facilement + ajoutées à la configuration principale du serveur.
+ +
Arrêt en douceur
+
Les modules MPM prefork, + worker et event permettent + maintenant l'arrêt en douceur de httpd + au moyen du signal + graceful-stop. + La directive GracefulShutdownTimeout a été ajoutée dans le but + de spécifier un délai optionnel, après lequel + httpd s'arrêtera quel que soit le statut + des requêtes en cours.
+ +
Mise en oeuvre du proxy
+
Le nouveau module mod_proxy_balancer fournit + des services de répartition de charge (load balancing) pour le + module mod_proxy. + Le nouveau module mod_proxy_ajp ajoute le + support pour le + Protocole JServ de Apache version 1.3 qu'utilise + Apache Tomcat.
+ +
Mise à jour de la bibliothèque des expressions rationnelles
+
La version 5.0 de la + Perl Compatible Regular Expression + Library (PCRE) est maintenant disponible. + httpd peut être configuré pour utiliser une + PCRE choisie en passant l'option --with-pcre au + script configure.
+ +
Filtrage intelligent
+
Le module mod_filter permet la configuration + dynamique de la chaîne de filtrage en sortie. Il permet + d'insérer des filtres conditionnels basés sur toute + requête, en-tête de réponse ou variable + d'environnement, et fait table rase des problèmes de dépendances + et d'ordonnancement rencontrés avec l'architecture 2.0.
+ +
Support des gros fichiers
+
httpd supporte maintenant les fichiers d'une taille supérieure + à 2GB sur les systèmes 32 bits UNIX modernes. Le support des + corps de requête d'une taille supérieure à 2GB a aussi été + ajouté.
+ +
Module MPM Event
+
Le module MPM event utilise un thread séparé + pour gérer les requêtes "Keep alive" et accepter des connexions. + Les requêtes "Keep alive" requéraient traditionnellement un + processus httpd dédié pour leur gestion. Ce processus dédié + ne pouvait plus être réutilisé jusqu'à ce que le délai "Keep Alive" + soit écoulé.
+ +
Support des bases de données SQL
+
Le module mod_dbd, associé à l'environnement + apr_dbd, fournit le support SQL direct aux modules + qui en ont besoin. Supporte la mise en commun des connexions + dans les modules MPM threadés.
+ +
+
top
+
+

Améliorations des modules

+ +
+
Authn/Authz
+
Les modules du répertoire aaa ont été renommés et fournissent + un support amélioré pour la méthode d'authentification digest. Par exemple, mod_auth + est maintenant scindé en deux modules : mod_auth_basic et + mod_authn_file; mod_auth_dbm s'appelle maintenant + mod_authn_dbm; mod_access a été renommé en + mod_authz_host. Est également apparu le nouveau module + mod_authn_alias (supprimé dans la version 2.3/2.4) qui simplifie + certaines configurations d'authentification. +
+ +
mod_authnz_ldap
+
Ce module est un portage de la version 2.0 du module + mod_auth_ldap vers la version 2.2 du framework + Authn/Authz. + Les nouvelles fonctionnalités comprennent l'utilisation des valeurs + d'attributs LDAP et des filtres de recherche avancés dans la + directive Require.
+ +
mod_authz_owner
+
Un nouveau module qui autorise l'accès à un fichier + en fonction de son propriétaire dans le système de + fichiers
+ +
mod_version
+
Un nouveau module qui permet d'activer des blocs de + configuration en fonction de la version du serveur en cours + d'exécution.
+ +
mod_info
+
Un nouvel argument ?config a été ajouté, qui permettra d'afficher + les directives de configuration telles qu'elles sont interprétées + par Apache, y compris le nom de fichier et le numéro de ligne. + Le module montre aussi l'ordre des points d'entrée de traitement d'une + requête (request hooks) ainsi que des informations de construction + supplémentaires, d'une manière similaire à httpd -V.
+ +
mod_ssl
+ +
Le support de la RFC 2817 a été ajouté, ce qui permet de passer d'une + connexion en clair au chiffrement TLS.
+ +
mod_imagemap
+
mod_imap a été renommé en mod_imagemap afin + d'éviter une confusion pour les utilisateurs.
+
+ +
top
+
+

Améliorations des programmes

+ +
+
httpd
+
Une nouvelle option de ligne de commande -M + a été ajoutée, qui fournit la liste de tous les modules chargés + en fonction de la configuration réelle. À la différence de l'option + -l, cette liste inclut les Objets Dynamiques Partagés + (DSOs) chargés par l'intermédiaire du module + mod_so.
+
httxt2dbm
+
Un nouveau programme servant à générer des fichiers dbm à partir + d'une source au format texte, à utiliser avec la directive + RewriteMap + et le type de mise en correspondance dbm.
+
+
top
+
+

Changements pour le développeur de module

+ +
+
APR 1.0 API
+ +
Apache 2.2 utilise l'API APR 1.0. Toutes les fonctions et + symboles obsolètes ont été supprimés du code de APR et + APR-Util. Pour plus de détails, consultez le + site web d'APR.
+ +
Authn/Authz
+
Les modules d'authentification et d'autorisation intégrés ont + été renommés de la manière suivante: +
    +
  • mod_auth_* -> Modules qui implémentent un mécanisme + d'authentification HTTP
  • +
  • mod_authn_* -> Modules qui fournissent un dispositif + d'authentification en arrière-plan
  • +
  • mod_authz_* -> Modules qui implémentent l'autorisation (ou l'accès)
  • +
  • mod_authnz_* -> Modules qui implémentent à la fois + l'authentification & l'autorisation
  • +
+ L'organisation des méthodes d'authentification a également été revue, ce qui va simplifier + grandement l'ajout de nouvelles méthodes d'authentification.
+ +
Journalisation des erreurs de connexion
+ +
Une nouvelle fonction a été ajoutée, ap_log_cerror, + afin de pouvoir enregistrer les erreurs qui surviennent au cours de + la connexion du client. Une fois enregistré, le message inclut l'adresse IP du client.
+ +
Ajout d'une portion de code pour la vérification de la configuration
+ +
Un nouvel élément de traitement a été ajouté, test_config, + afin d'aider les modules qui ne veulent exécuter un code spécial + que si l'utilisateur passe le paramètre -t à + httpd.
+ +
Définition de la taille de la pile pour les modules MPM en processus légers
+ +
Une nouvelle directive a été ajoutée, ThreadStackSize + afin de définir la taille de la pile pour tous les modules MPM en processus légers (modules threadés). + Ceci s'avère nécessaire pour certains modules tiers sur des plateformes + dont la taille de la pile des threads par défaut est + trop petite.
+ +
Gestion de protocole pour les filtres en sortie
+ +
Par le passé, chaque filtre devait s'assurer que les en-têtes de + réponse corrects étaient générés dans la mesure où il les affectait. + Les filtres peuvent maintenant déléguer la gestion courante du + protocole au module + mod_filter, à l'aide des appels + ap_register_output_filter_protocol ou + ap_filter_protocol.
+ +
Ajout d'un élément de traitement pour le processus père (monitor hook)
+
Ce nouvel élément de traitement permet aux modules de lancer + des jobs réguliers/planifiés au niveau du processus père + (root).
+ +
Modifications de l'API de traitement des expressions rationnelles
+ +
Le fichier d'en-tête pcreposix.h n'est plus disponible ; + il a été remplacé par le nouveau fichier + d'en-tête ap_regex.h. L'implémentation + POSIX.2 regex.h exposée dans l'ancien fichier d'en-tête + est maintenant disponible dans l'espace de nommage ap_ + depuis ap_regex.h. Les appels à regcomp, + regexec, etc... peuvent être remplacés par des appels à + ap_regcomp, ap_regexec.
+ +
Cadre d'application DBD (API pour base de données SQL)
+ +

Avec Apache 1.x et 2.0, les modules nécessitant un processus + SQL d'arrière-plan devaient s'en charger eux-mêmes. En dehors du fait + de réinventer la roue, ceci peut s'avérer très inefficace, par + exemple lorsque plusieurs modules maintiennent chacun leurs + propres connexions.

+

Apache 2.1 et supérieur fournissent l'API ap_dbd qui + permet la gestion des connexions à la base de données (y compris + les stratégies optimisées pour les modules MPM threadés + et non threadés), tandis que APR 1.2 et supérieur fournissent + l'API apr_dbd qui permet l'interaction avec la + base de données.

+

Les nouveaux modules DEVRAIENT désormais utiliser ces APIs pour + toutes les opérations liées aux bases de données SQL. + De même, les applications existantes DEVRAIENT être mises à jour + lorsque c'est possible, que ce soit de manière transparente ou sous forme + d'une option recommandée à leurs utilisateurs.

+
+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + pt-br  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_2.html.ko.euc-kr b/docs/manual/new_features_2_2.html.ko.euc-kr new file mode 100644 index 0000000..47fc9bf --- /dev/null +++ b/docs/manual/new_features_2_2.html.ko.euc-kr @@ -0,0 +1,156 @@ + + + + + +¾ÆÆÄÄ¡ 2.2ÀÇ »õ·Î¿î ±â´É °³¿ä - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ 2.2ÀÇ »õ·Î¿î ±â´É °³¿ä

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + pt-br  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ À¥¼­¹ö 2.0 ¹öÀü°ú 2.2 ¹öÀü°£ÀÇ ÁÖµÈ Â÷ÀÌÁ¡À» + ¼³¸íÇÑ´Ù. 1.3 ¹öÀü ÀÌÈÄÀÇ »õ·Î¿î ±â´ÉÀº 2.0 »õ·Î¿î ±â´É ¹®¼­¸¦ + Âü°íÇ϶ó.

+
+ +
top
+
+

ÇÙ½É ºÎºÐ¿¡¼­ ³ª¾ÆÁø Á¡

+ +
+ +
Authn/Authz
+
...
+ +
ij½¬
+
...
+ +
ÇÁ·Ï½Ã
+
»õ·Î¿î mod_proxy_balancer ¸ðµâÀÌ + mod_proxy¸¦ À§ÇÑ ºÎÇÏºÐ»ê ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù. + »õ·Î¿î mod_proxy_ajp ¸ðµâÀº ¾ÆÆÄÄ¡ ÅèĹÀÌ + »ç¿ëÇÏ´Â Apache JServ Protocol 1.3 ¹öÀüÀ» + Áö¿øÇÑ´Ù.
+ +
¶È¶ÈÇÑ ÇÊÅÍ
+
mod_filter´Â Ãâ·ÂÇÊÅͼø¼­¸¦ µ¿ÀûÀ¸·Î + ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ¿äû Çì´õ, ÀÀ´ä Çì´õ, ȯ°æº¯¼ö¿¡ + µû¶ó ¼±ÅÃÀûÀ¸·Î ÇÊÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ°í, 2.0 ±¸Á¶ÀÇ Àǽɽº·¯¿î + ÀÇÁ¸°ü°è¿Í ¼ø¼­ ¹®Á¦¸¦ ´ú¾îÁØ´Ù.
+ +
+
top
+
+

¸ðµâ¿¡¼­ ³ª¾ÆÁø Á¡

+ +
+
mod_authnz_ldap
+
ÀÌ ¸ðµâÀº 2.0ÀÇ mod_auth_ldap ¸ðµâÀ» + 2.2ÀÇ Authn/Authz ±¸Á¶·Î ¿Å±ä °ÍÀÌ´Ù. Require Áö½Ã¾î¿¡¼­ LDAP + ¼Ó¼º(attribute) °ª°ú º¹ÀâÇÑ °Ë»ö ÇÊÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â + ±â´ÉÀÌ Ãß°¡µÇ¾ú´Ù.
+ +
mod_info
+
¾ÆÆÄÄ¡°¡ ÀоîµéÀÎ ¼³Á¤Áö½Ã¾î¸¦ ÆÄÀϸí°ú ÁÙ¹øÈ£¿Í °°ÀÌ + º¸¿©ÁÖ´Â ?config ¾Æ±Ô¸ÕÆ®°¡ Ãß°¡µÇ¾ú´Ù. ¸ðµâÀº + ¸ðµç ¿äû ÈÅ(hook)ÀÇ ¼ø¼­¿Í httpd -V¿Í ºñ½ÁÇÑ + ÄÄÆÄÀÏ Á¤º¸µµ º¸¿©ÁØ´Ù.
+
+
top
+
+

¸ðµâ °³¹ßÀÚ¿¡°Ô ´Þ¶óÁø Á¡

+ +
+
APR 1.0 API
+ +
¾ÆÆÄÄ¡ 2.2´Â APR 1.0 API¸¦ »ç¿ëÇÑ´Ù. APR°ú + APR-Util¿¡¼­ ¾ø¾îÁö±â·Î ¿¹Á¤µÇ¾ú´ø ÇÔ¼ö¿Í + ½Éº¼ÀÌ ¸ðµÎ ¾ø¾îÁ³´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº APR À¥»çÀÌÆ®¸¦ Âü°íÇ϶ó.
+ +
¿¬°á ¿À·ù ·Î±× ±â·Ï
+ +
Ŭ¶óÀ̾ðÆ®¿Í ¿¬°á¿¡ ¹ß»ýÇÑ ¿À·ù¸¦ ·Î±×¿¡ ±â·ÏÇϱâÀ§ÇØ + ÇÔ¼ö ap_log_cerror¸¦ »õ·Î Ãß°¡Çß´Ù. ·Î±×¿¡ + ±â·ÏÇÏ¸é ¹®±¸¿¡ Ŭ¶óÀ̾ðÆ® IP ÁÖ¼Ò°¡ ³ª¿Â´Ù.
+ +
¼³Á¤ Å×½ºÆ®¿ë ÈÅ Ãß°¡
+ +
»ç¿ëÀÚ°¡ httpd¿¡ -t ¿É¼ÇÀ» »ç¿ëÇÑ °æ¿ì¿¡¸¸ + ¸ðµâÀÌ Æ¯º°ÇÑ Äڵ带 ½ÇÇàÇϵµ·Ï ÈÅ test_config¸¦ + »õ·Î Ãß°¡Çß´Ù.
+ +
¾²·¹µå±â¹Ý MPMÀÇ ½ºÅÃÅ©±â ÁöÁ¤
+ +
¸ðµç ¾²·¹µå±â¹Ý MPMÀÇ ½ºÅÃÅ©±â¸¦ ÁöÁ¤ÇϱâÀ§ÇØ + ThreadStackSize Áö½Ã¾î¸¦ »õ·Î Ãß°¡Çß´Ù. ¾²·¹µå + ½ºÅÃÅ©±â ±âº»°ªÀÌ ÀÛÀº Ç÷¹Æû¿¡¼­ ÀϺΠÁ¦»ïÀÚ°¡ ¸¸µç ¸ðµâÀ» + »ç¿ëÇÒ °æ¿ì¿¡ ÇÊ¿äÇÏ´Ù.
+ +
Ãâ·ÂÇÊÅ͸¦ À§ÇÑ ÇÁ·ÎÅäÄÝ Ã³¸®
+ +
Àü¿¡´Â ¸ðµç ÇÊÅÍ¿¡°Ô ÀÚ½ÅÀÌ Ã³¸®ÇÑ ÀÀ´ä¿¡ ¿Ã¹Ù¸¥ ÀÀ´ä + Çì´õ¸¦ »ý¼ºÇÏ´ÂÁö È®ÀÎÇÒ Ã¥ÀÓÀÌ ÀÖ¾ú´Ù. ÀÌÁ¦ ÇÊÅÍ´Â + ap_register_output_filter_protocol ȤÀº + ap_filter_protocol È£ÃâÀ» »ç¿ëÇÏ¿© ÀÏ»óÀûÀÎ + ÇÁ·ÎÅäÄÝ °ü¸®¸¦ mod_filter¿¡°Ô ¶°³Ñ±æ + ¼ö ÀÖ´Ù.
+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + pt-br  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_2.html.pt-br b/docs/manual/new_features_2_2.html.pt-br new file mode 100644 index 0000000..9c2a092 --- /dev/null +++ b/docs/manual/new_features_2_2.html.pt-br @@ -0,0 +1,165 @@ + + + + + +Descrição das novas funcionalidades do Apache 2.2 - Servidor HTTP Apache Versão 2.4 + + + + + + + +
<-
+

Descrição das novas funcionalidades do Apache 2.2

+
+

Línguas Disponíveis:  en  | + fr  | + ko  | + pt-br  | + tr 

+
+
Esta tradução pode estar desatualizada. + Confira a versão em Inglês para mudanças recentes.
+ +

Esse documento descreve algumas das principais mudanças + entre as versões 2.0 e 2.2 do Servidor HTTP Apache. + Para a lista de mudanças desde a versão 1.3, veja a página + de documentação novas funcionalidades + do Apache 2.0.

+
+ +
top
+
+

Principais Melhorias

+ +
+ +
Authn/Authz
+
...
+ +
Caching
+
...
+ +
Proxying
+
O novo módulo mod_proxy_balancer fornece + serviços de carregamento de balenceamento para mod_proxy. O novo módulo mod_proxy_ajp oferece suporte para o Protocolo Apache JServ + versão 1.3, usado pelo Apache Tomcat.
+ +
Filtragem Inteligente (Smart Filtering)
+
O mod_filter introduz configuração dinâmica para + o filtro de saída de dados. Permitindo que os filtros sejam + condicionalmente inseridos, baseando-se nos cabeçalhos Request ou Response ou em variáveis do + ambiente, ele acaba com os problemas de dependências e pedidos + da arquitetura 2.0.
+ +
+
top
+
+

Melhorias nos Módulos

+ +
+
mod_authnz_ldap
+
Este módulo é uma migração do mod_auth_ldap, + da versão 2.0 para a estrutura 2.2 de Authn/Authz. + As novas funcionalidades incluem o uso de atributos LDAP e + filtros de procura complexos na diretriz Require.
+ +
mod_info
+
Adicionado um novo argumento ?config que + mostra a configuração das diretrizes analisadas pelo + Apache, incluindo o nome do arquivo e o número da linha. + Esse módulo também mostra a ordem de todos os ganchos de + pedidos (request hooks) e informações adicionais sobre + a compilação, similar ao comando httpd -V.
+
+
top
+
+

Mudanças ao Desenvolvedor de Módulos

+ +
+
API do APR 1.0
+ +
O Apache 2.2 utiliza a API do APR 1.0. Todas as funções e + símbolos antigos foram removidos do APR e + APR-Util. Para mais detalhes, visite o + Website do APR.
+ +
Registros de Erros de Conexão (logs)
+ +
Uma nova função ap_log_cerror, foi adicionada + para registrar erros que ocorrem na conexão do cliente. + Quando documentado no diário de log, a mensagem inclui o + endereço IP do cliente.
+ +
Adicionado Gancho de Teste de Configuração
+ +
Um novo gancho (hook), test_config foi + adicionado para auxiliar módulos que querem executar + códigos especiais apenas quando o usuário passa o + parâmetro -t para o httpd.
+ +
Ajustar o Stacksize dos "Threaded MPM's"
+ +
Uma nova diretriz chamada ThreadStackSize, + foi adicionada para ajustar o tamanho das stacks em todos + os threadeds MPMs. Essa é uma prática necessário para alguns + módulos de terceiros em plataformas com tamanhos de stacks + pequenos por padrão.
+ +
Negociação de Protocolo para filtros de saída
+ +
No passado, todo filtro era responsável por garantir + a geração de cabeçalhos de resposta correto que os afetava. + Os filtros agora podem delegar o gerenciamento de protocolos + comuns para mod_filter, usando chamadas + de ap_register_output_filter_protocol ou + ap_filter_protocol.
+ +
+ +
+
+

Línguas Disponíveis:  en  | + fr  | + ko  | + pt-br  | + tr 

+
top

Comentários

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_2.html.tr.utf8 b/docs/manual/new_features_2_2.html.tr.utf8 new file mode 100644 index 0000000..f0bdcdc --- /dev/null +++ b/docs/manual/new_features_2_2.html.tr.utf8 @@ -0,0 +1,305 @@ + + + + + +Apache HTTP Sunucusu 2.2’de Yeni olan Özellikler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache HTTP Sunucusu 2.2’de Yeni olan Özellikler

+
+

Mevcut Diller:  en  | + fr  | + ko  | + pt-br  | + tr 

+
+ +

Bu belgede Apache HTTP Sunucusunun 2.0 ve 2.2 sürümleri arasındaki + başlıca farklara değinilmiştir. 1.3 sürümüne göre yeni özellikler için Apache 2.0’da Yeni olan Özellikler + belgesine bakınız.

+
+ +
top
+
+

Çekirdekteki Gelişmeler

+ +
+ +
Authn/Authz
+
Mevcut kimlik doğrulama ve yetkilendirme modüllerinin iç işleyişi + yeniden düzenlendi. Yeni mod_authn_alias modülü + (2.3/2.4 sürümlerinde kaldırılmıştır) belli kimlik doğrulama + yapılandırmalarını büyük oranda basitleştirebilir. Bu değişikliklerin + kullanıcıları ve modül yazarlarını nasıl etkilediğini öğrenmek için + modül değişikliklerine ve geliştirici değişikliklerine bakabilirsiniz.
+ +
Önbellekleme
+
mod_cache, mod_cache_disk ve + mod_mem_cache (2.3/2.4 sürümlerinde kaldırılmıştır) + modüllerinde büyük oranda değişikliğe gidilerek bunlar deneysel + olmaktan çıkarılıp üretim amaçlı modüller haline getirildiler. + mod_cache_disk tarafından kullanılan disk + alanının htcacheclean tarafından + düzenli aralıklarla temizlenebilmesi sağlandı.
+ +
Yapılandırma
+
Öntanımlı yapılandırma basitleştirildi ve modüler bir yapıya + kavuşturuldu. Sık kullanılan ortak özellikleri etkinleştirmekte + kullanılan yapılandırmalar gruplanarak bunların Apache ile gelmesi ve + ana sunucu yapılandırılırken yapılandırmaya kolayca eklenebilmesi + sağlandı.
+ +
Nazikçe Durdurma
+
prefork, worker ve + event MPM’leri artık httpd’yi graceful-stop + sinyali sayesinde nazikçe durdurabilmektedir. + httpd programının sonlandırılmasındaki gecikmelere + karşı bir önlem olarak, isteğe bağlı bir zaman aşımı belirtmeyi + mümkün kılan GracefulShutdownTimeout yönergesi + sayesinde sunum sürüyor olsa bile httpd + sonlandırılabilmektedir.
+ +
Vekil Sunucu
+
Yeni mod_proxy_balancer modülü ile + mod_proxy için yük dengeleme hizmetleri sağlanmış, + yeni mod_proxy_ajp modülü ile Apache Tomcat tarafından + kullanılan Apache JServ Protokolünün 1.3 sürümü için destek + eklenmiştir.
+ +
Düzenli İfade Kütüphanesi Güncellemesi
+
Apache, Perl uyumlu düzenli ifade + kütüphanesinin 5.0 sürümünü (PCRE) içermektedir. + configure betiğinin --with-pcre + seçeneği sayesinde httpd programı PCRE destekli + olarak derlenebilmektedir.
+ +
Akıllı Süzme
+
mod_filter çıktı süzgeç zincirinin devingen olarak + yapılandırılmasını sağlar. Süzgeçlerin herhangi bir istek veya yanıt + başlığına veya bir ortam değişkenine dayanarak koşullu olarak + yerleştirilmesini mümkün kılar ve bunu yaparken 2.0 mimarisindeki + sorunlu bağımlılıklar ve sıralama sorunlarının da üstesinden + gelir.
+ +
Büyük Dosya (>2GB) Desteği
+
httpd artık günümüzün 32 bitlik Unix + sistemlerinde bulunan 2 GB’lık büyük dosyaları destekleyecek tarzda + derlenebilmektedir. 2 GB’lık istek gövdelerine destek de ayrıca + eklenmiştir.
+ +
Event MPM
+
event MPM modülü sürekli bağlantı isteklerinin + işlenmesi ve bağlantıların kabul edilmesi için ayrı bir evre + kullanır. Sürekli bağlantı (keepalive) isteklerinin işlenmesi + geleneksel olarak httpd’nin buna bir worker + adamasını gerektirirdi. Bu adanmış worker bağlantı + zaman aşımına uğrayıncaya değin tekrar kullanılamazdı.
+ +
SQL Veritabanı Desteği
+
mod_dbd modülü apr_dbd arayüzü ile + birlikte, ihtiyacı olan modüllere SQL desteği sağlar. Evreli MPM’ler + için bağlantı havuzlamasını destekler.
+
+
top
+
+

Modüllerdeki Gelişmeler

+ +
+
Authn/Authz
+
Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi ile ilgili + modüller özetli kimlik doğrulamasına daha iyi destek sağlamak + amacıyla yeniden isimlendirildi. Örneğin, mod_auth + modülü şimdi mod_auth_basic ve + mod_authn_file diye iki modüle bölünmüştür.; + mod_auth_dbm modülünün ismi + mod_authn_dbm ve mod_access modülünün + ismi de mod_authz_host olarak değiştirilmiştir. + Ayrıca, belli kimlik doğrulama yapılandırmalarını basitleştirmek + üzere mod_authn_alias diye yeni bir modül vardır + (2.3/2.4 sürümlerinde kaldırılmıştır). +
+ +
mod_authnz_ldap
+
Bu modül 2.0 sürümü mod_auth_ldap modülünün 2.2 + Authn/Authz arayüzüne bir uyarlamasıdır. Require yönergesine LDAP + öznitelik değerlerinin ve karmaşık arama süzgeçlerinin kullanımı gibi + yeni özellikler eklenmiştir.
+ +
mod_authz_owner
+
Dosya sistemi üzerindeki dosyalara erişimi dosya sahibine göre + düzenleyebilmeyi sağlayan yeni bir modüldür.
+ +
mod_version
+
Çalışan sunucunun sürüm numarasına göre belli yapılandırma + bloklarını etkinleştirebilen bir modüldür.
+ +
mod_info
+
Apache tarafından çözümlenen haliyle yapılandırma yönergelerinin + gösterilmesini sağlayan yeni ?config parametresini + ekler. Modül ayrıca, httpd -V’nin yaptığı gibi ek olarak + derleme bilgisini ve tüm istek kancalarının sırasını da gösterir.
+ +
mod_ssl
+ +
TLS şifrelemesini HTTP/1.1 için güncelleyen RFC 2817 için destek + sağlar.
+ +
mod_imagemap
+
mod_imap modülünün ismi yanlış anlamalara meydan + vermemek için mod_imagemap olarak değiştirildi.
+
+
top
+
+

Programlardaki GeliÅŸmeler

+ +
+
httpd
+
Mevcut yapılandırmaya göre yüklenen modülleri listelemek için + -M diye yeni bir komut satırı seçeneği eklendi. + -l seçeneğinin aksine, bu seçenekle elde edilen liste + mod_so üzerinden yüklenen DSO’ları içerir.
+ +
httxt2dbm
+
RewriteMap yönergesinde + dbm eşlem türü ile kullanmak üzere metin girdilerden DBM + dosyaları üretmek için kullanılan yeni bir program.
+
+
top
+
+

Modül Geliştirici Değişiklikleri

+ +
+
APR 1.0 Programlama Arayüzü
+ +
Apache 2.2’de APR 1.0 API kullanılmıştır. Kullanımı önerilmeyen + tüm işlevler ve simgeler APR ve + APR-Util’den kaldırılmıştır. Ayrıntılar için APR Sitesine bakınız.
+ +
Authn/Authz
+
Dağıtımla gelen kimlik doğrulama ve yetkilendirme modüllerinin + isimleri aşağıdaki gibi değiştirildi: +
    +
  • mod_auth_* -> HTTP kimlik doÄŸrulamasını + gerçekleÅŸtiren modüller.
  • +
  • mod_authn_* -> Kimlik doÄŸrulamasının artalanına + destek saÄŸlayan modüller.
  • +
  • mod_authz_* -> Yetkilendirmeyi (veya eriÅŸimi) + gerçekleÅŸtiren modüller.
  • +
  • mod_authnz_* -> Kimlik doÄŸrulama ve + yetkilendirmeyi birlikte gerçekleÅŸtiren modüller.
  • +
+ Yeni kimlik doğrulama artalanının oluşturulmasını büyük oranda + kolaylaştıran yeni bir kimlik doğrulama artalanı sağlayıcı şeması + vardır.
+ +
Bağlantı Hatalarının Günlüklenmesi
+ +
İstemci bağlantısında ortaya çıkan hataları günlüğe kaydetmek için + ap_log_cerror isminde yeni bir işlev eklendi. Böyle bir + durumda günlük kaydı istemcinin IP adresini içermektedir.
+ +
Deneme Yapılandırma Kancası Eklendi
+ +
Kullanıcı, httpd’yi sadece -t + seçeneği ile kullandığı takdirde özel kod icra edilmesini isteyen + modüllere yardımcı olmak üzere test_config diye yeni bir + kanca işlev eklendi.
+ +
Evreli MPM’lerin Yığıt Boyutunun Ayarlanması
+ +
Tüm evreli MPM’lerin yığıt boyutunu ayarlamak üzere ThreadStackSize isminde yeni bir + yönerge eklendi. Öntanımlı yığıt boyutunun küçük olduğu platformlarda + bazı üçüncü parti modüller tarafından buna ihtiyaç duyulmaktadır.
+ +
Çıktı süzgeçlerinde protokoller
+ +
Evvelce her süzgeç etkilediğini yanıt başlıklarının doğru olarak + üretilmesini sağlamak zorundaydı. Süzgeçler artık protokol yönetimini + ap_register_output_filter_protocol veya + ap_filter_protocol işlevi üzerinden + mod_filter modülüne devredebilmektedir.
+ +
İzleme kancası eklendi
+
İzleme kancası, modüllerin ana (tepe) süreçteki sıradan/zamanlanmış + işlerini yapacak modülleri etkinleştirir.
+ +
Düzenli ifade programlama aryüzü değişti
+ +
pcreposix.h başlık dosyası artık yok; yerine + ap_regex.h dosyası geçti. Eski başlık dosyasınca ifade + olunan POSIX.2 regex.h gerçeklenimi şimdi + ap_ isim alanı altında ap_regex.h başlık + dosyasındadır. regcomp, regexec gibi + işlevlerin yerine de artık ap_regcomp, + ap_regexec işlevleri geçerlidir.
+ +
DBD Arayüzü (SQL Veritabanı API)
+ +

Apache 1.x ve 2.0’da, modüller, SQL veritabanlarını kendileri + yönetebilmek için sorumluluğu alacak bir SQL artalanına ihtiyaç + duymaktadır. Her biri kendi bağlantısına sahip bir sürü modül + olduğunda bu yöntem çok verimsiz olabilmektedir.

+ +

Apache 2.1 ve sonrasında veritabanı bağlantılarını (evreli olsun + olmasın MPM’lerin eniyilenmiş stratejileri dahil) yönetmek için + ap_dbd arayüzü kullanılmıştır. APR 1.2 ve sonrasında ise + veritabanı ile etkileşim apr_dbd arayüzüyle + sağlanmıştır.

+ +

Yeni modüllerin tüm SQL veritabanı işlemlerinde bu arayüzü + kullanmaları ÖNERİlir. Mevcut uygulamaların uygulanabildiği takdirde + hem kullanıcılarına önerilen bir seçenek olarak hem de şeffaf olarak + kullanmak üzere kendilerini güncellemeleri ÖNERİir.

+
+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + pt-br  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_4.html b/docs/manual/new_features_2_4.html new file mode 100644 index 0000000..8f92f6c --- /dev/null +++ b/docs/manual/new_features_2_4.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: new_features_2_4.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: new_features_2_4.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: new_features_2_4.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/new_features_2_4.html.en b/docs/manual/new_features_2_4.html.en new file mode 100644 index 0000000..41f3350 --- /dev/null +++ b/docs/manual/new_features_2_4.html.en @@ -0,0 +1,473 @@ + + + + + +Overview of new features in Apache HTTP Server 2.4 - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Overview of new features in Apache HTTP Server 2.4

+
+

Available Languages:  en  | + fr  | + tr 

+
+ +

This document describes some of the major changes between the + 2.2 and 2.4 versions of the Apache HTTP Server. For new features since + version 2.0, see the 2.2 new features + document.

+
+ +
top
+
+

Core Enhancements

+ +
+
Run-time Loadable MPMs
+
Multiple MPMs can now be built + as loadable modules at compile time. + The MPM of choice can be configured at run time via LoadModule directive.
+ +
Event MPM
+
The Event MPM is no longer experimental + but is now fully supported.
+ +
Asynchronous support
+
Better support for asynchronous read/write for supporting MPMs and + platforms.
+ +
Per-module and per-directory LogLevel configuration
+
The LogLevel can now be + configured per module and per directory. New levels trace1 + to trace8 have been added above the debug log + level.
+ +
Per-request configuration sections
+
<If>, + <ElseIf>, + and <Else> + sections can be used to set the configuration based on per-request + criteria.
+ +
General-purpose expression parser
+
A new expression parser allows to specify + complex conditions using a common syntax + in directives like + SetEnvIfExpr, + RewriteCond, + Header, + <If>, + and others. +
+ +
KeepAliveTimeout in milliseconds
+
It is now possible to specify KeepAliveTimeout in milliseconds. +
+ +
NameVirtualHost directive
+
No longer needed and is now deprecated.
+ +
Override Configuration
+
The new AllowOverrideList + directive allows more fine grained control which directives are + allowed in .htaccess files.
+ +
Config file variables
+
It is now possible to Define + variables in the configuration, allowing a clearer representation + if the same value is used at many places in the configuration. +
+ +
Reduced memory usage
+
Despite many new features, 2.4.x tends to use less memory than + 2.2.x.
+ +
+
top
+
+

New Modules

+ +
+
mod_proxy_fcgi
+
FastCGI Protocol backend for mod_proxy
+ +
mod_proxy_scgi
+
SCGI Protocol backend for mod_proxy
+ +
mod_proxy_express
+
Provides dynamically configured mass reverse proxies for + mod_proxy
+ +
mod_remoteip
+
Replaces the apparent client remote IP address and hostname for the request + with the IP address list presented by a proxies or a load balancer via + the request headers.
+ +
mod_heartmonitor, + mod_lbmethod_heartbeat
+
Allow mod_proxy_balancer to base loadbalancing decisions + on the number of active connections on the backend servers.
+ +
mod_proxy_html
+
Formerly a third-party module, this supports fixing of HTML + links in a reverse proxy situation, where the backend generates + URLs that are not valid for the proxy's clients.
+ +
mod_sed
+
An advanced replacement of mod_substitute, allows + to edit the response body with the full power of sed.
+ +
mod_auth_form
+
Enables form-based authentication.
+ +
mod_session
+
Enables the use of session state for clients, using cookie or + database storage.
+ +
mod_allowmethods
+
New module to restrict certain HTTP methods without interfering with + authentication or authorization.
+ +
mod_lua
+
Embeds the Lua language into httpd, + for configuration and small business logic functions. (Experimental)
+ +
mod_log_debug
+
Allows the addition of customizable debug logging at different phases of the + request processing.
+ +
mod_buffer
+
Provides for buffering the input and output filter stacks
+ +
mod_data
+
Convert response body into an RFC2397 data URL
+ +
mod_ratelimit
+
Provides Bandwidth Rate Limiting for Clients
+ +
mod_request
+
Provides Filters to handle and make available HTTP request bodies
+ +
mod_reflector
+
Provides Reflection of a request body as a response via the output filter stack.
+ +
mod_slotmem_shm
+
Provides a Slot-based shared memory provider (ala the scoreboard).
+ +
mod_xml2enc
+
Formerly a third-party module, this supports internationalisation + in libxml2-based (markup-aware) filter modules.
+ +
mod_macro (available since 2.4.5)
+
Provide macros within configuration files.
+ +
mod_proxy_wstunnel (available since 2.4.5)
+
Support web-socket tunnels.
+ +
mod_authnz_fcgi (available since 2.4.10)
+
Enable FastCGI authorizer applications to authenticate and/or + authorize clients.
+ +
mod_http2 (available since 2.4.17)
+
Support for the HTTP/2 transport layer.
+ +
mod_proxy_http2 (available since 2.4.19)
+
HTTP/2 Protocol backend for mod_proxy
+ +
mod_proxy_hcheck (available since 2.4.21)
+
Support independent dynamic health checks for remote proxiy backend servers.
+ +
mod_brotli (available since 2.4.26)
+
Support the Brotli compression algorithm.
+ +
mod_md (available since 2.4.30)
+
Support the ACME protocol to automate certificate provisionning.
+ +
mod_proxy_uwsgi (available since 2.4.30)
+
UWSGI gateway module for mod_proxy.
+ +
mod_socache_redis (available since 2.4.39)
+
Support Redis based shared object cache provider.
+ +
mod_systemd (available since 2.4.42)
+
systemd integration. It allows httpd to be used in a service with the systemd + Type=notify.
+ +
+
top
+
+

Module Enhancements

+ +
+
mod_ssl
+ +
mod_ssl can now be configured to use an + OCSP server to check the validation status of a client + certificate. The default responder is configurable, along with + the decision on whether to prefer the responder designated in + the client certificate itself.
+ +
mod_ssl now also supports OCSP stapling, where the + server pro-actively obtains an OCSP verification of its certificate and + transmits that to the client during the handshake.
+ +
mod_ssl can now be configured to share SSL Session + data between servers through memcached
+ +
EC keys are now supported in addition to RSA and DSA.
+ +
Support for TLS-SRP (available in 2.4.4 and later).
+ +
mod_proxy
+ +
The ProxyPass directive + is now most optimally configured within a + Location or + LocationMatch + block, and offers a significant performance advantage over the traditional + two-parameter syntax when present in large numbers.
+
The source address used for proxy requests is now configurable.
+
Support for Unix domain sockets to the backend (available in 2.4.7 + and later).
+ +
mod_proxy_balancer
+ +
More runtime configuration changes for BalancerMembers via balancer-manager
+ +
Additional BalancerMembers can be added at runtime via balancer-manager
+ +
Runtime configuration of a subset of Balancer parameters
+ +
BalancerMembers can be set to 'Drain' so that they only respond to existing sticky + sessions, allowing them to be taken gracefully offline.
+ +
Balancer settings can be persistent after restarts.
+ +
mod_cache
+ +
The mod_cache CACHE filter can be optionally inserted + at a given point in the filter chain to provide fine control over caching. +
+ +
mod_cache can now cache HEAD requests.
+ +
Where possible, mod_cache directives can now be set + per directory, instead of per server.
+ +
The base URL of cached URLs can be customised, so that a cluster of + caches can share the same endpoint URL prefix.
+ +
mod_cache is now capable of serving stale cached + data when a backend is unavailable (error 5xx).
+ +
mod_cache can now insert HIT/MISS/REVALIDATE into + an X-Cache header.
+ +
mod_include
+
Support for the 'onerror' attribute within an 'include' element, + allowing an error document to be served on error instead of the default + error string.
+ +
mod_cgi, mod_include, + mod_isapi, ...
+
Translation of headers to environment variables is more strict than + before to mitigate some possible cross-site-scripting attacks via header + injection. Header names containing invalid characters (including underscores) + are no longer converted to environment variables. Environment Variables + in Apache has some pointers on how to work around broken legacy + clients which require such headers. (This affects all modules which + use these environment variables.)
+ +
mod_authz_core Authorization Logic Containers
+ +
Advanced authorization logic may now be specified using the + Require directive + and the related container directives, such as + <RequireAll>.
+ +
mod_rewrite
+
mod_rewrite adds the [QSD] + (Query String Discard) and [END] flags for + RewriteRule to + simplify common rewriting scenarios.
+
Adds the possibility to use complex boolean expressions in RewriteCond.
+
Allows the use of SQL queries as RewriteMap functions.
+ +
mod_ldap, mod_authnz_ldap
+
mod_authnz_ldap adds support for nested groups.
+
mod_ldap adds + LDAPConnectionPoolTTL, + LDAPTimeout, and + other improvements in the handling of timeouts. + This is especially useful for setups where a + stateful firewall drops idle connections to the LDAP server.
+
mod_ldap adds + LDAPLibraryDebug to log + debug information provided by the used LDAP toolkit.
+ +
mod_info
+
mod_info can now dump the pre-parsed configuration + to stdout during server startup.
+ +
mod_auth_basic
+
New generic mechanism to fake basic authentication (available in + 2.4.5 and later).
+ +
+
top
+
+

Program Enhancements

+ +
+
fcgistarter
+
New FastCGI daemon starter utility
+ +
htcacheclean
+
Current cached URLs can now be listed, with optional metadata + included.
+
Allow explicit deletion of individual cached URLs from the + cache.
+
File sizes can now be rounded up to the given block size, making + the size limits map more closely to the real size on disk.
+
Cache size can now be limited by the number of inodes, instead + of or in addition to being limited by the size of the files on + disk.
+ +
rotatelogs
+
May now create a link to the current log file.
+
May now invoke a custom post-rotate script.
+ +
htpasswd, htdbm
+
Support for the bcrypt algorithm (available in 2.4.4 and later). +
+
+
top
+
+

Documentation

+ +
+
mod_rewrite
+
The mod_rewrite documentation has been + rearranged and almost completely rewritten, with a focus on + examples and common usage, as well as on showing you when other + solutions are more appropriate. The Rewrite + Guide is now a top-level section with much more detail and + better organization.
+ +
mod_ssl
+
The mod_ssl documentation has been greatly + enhanced, with more examples at the getting started level, in + addition to the previous focus on technical details.
+ +
Caching Guide
+
The Caching Guide has been rewritten + to properly distinguish between the RFC2616 HTTP/1.1 caching + features provided by mod_cache, and the generic + key/value caching provided by the socache + interface, as well as to cover specialised caching provided by + mechanisms such as mod_file_cache.
+ +
+
top
+
+

Module Developer Changes

+ +
+
Check Configuration Hook Added
+ +
A new hook, check_config, has been added which runs + between the pre_config and open_logs + hooks. It also runs before the test_config hook + when the -t option is passed to + httpd. The check_config hook + allows modules to review interdependent configuration directive + values and adjust them while messages can still be logged to the + console. The user can thus be alerted to misconfiguration problems + before the core open_logs hook function redirects + console output to the error log.
+ +
Expression Parser Added
+ +
We now have a general-purpose expression parser, whose API is + exposed in ap_expr.h. This is adapted from the + expression parser previously implemented in + mod_ssl.
+ +
Authorization Logic Containers
+ +
Authorization modules now register as a provider, via + ap_register_auth_provider(), to support advanced authorization logic, + such as <RequireAll>.
+ +
Small-Object Caching Interface
+ +
The ap_socache.h header exposes a provider-based + interface for caching small data objects, based on the previous + implementation of the mod_ssl session cache. + Providers using a shared-memory cyclic buffer, disk-based dbm + files, and a memcache distributed cache are currently + supported.
+ +
Cache Status Hook Added
+ +
The mod_cache module now includes a new + cache_status hook, which is called when the caching + decision becomes known. A default implementation is provided + which adds an optional X-Cache and + X-Cache-Detail header to the response.
+
+ +

The developer documentation contains a + detailed list of API changes.

+
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_4.html.fr.utf8 b/docs/manual/new_features_2_4.html.fr.utf8 new file mode 100644 index 0000000..3a4167a --- /dev/null +++ b/docs/manual/new_features_2_4.html.fr.utf8 @@ -0,0 +1,523 @@ + + + + + +Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du +serveur HTTP Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du +serveur HTTP Apache

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

Ce document décrit les modifications majeures apportées par + la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités + ajoutées par la version 2.2, se référer au document + Nouvelles fonctionnalités + de la version 2.2.

+
+ +
top
+
+

Améliorations du noyau

+ +
+
Modules multiprocessus (MPMs) chargeables à l'exécution
+
Plusieurs MPMs peuvent maintenant être compilés en tant que modules + chargeables. Le choix du MPM à utiliser s'effectue + à l'exécution via la directive LoadModule.
+ +
MPM Event
+
Le MPM Event n'en est plus au stade expérimental et est + maintenant pleinement supporté.
+ +
Support du mode asynchrone
+
Le support des lectures/écritures asynchrones pour les MPMs et + les plateformes qui l'implémentent a été amélioré.
+ +
Configuration du niveau de journalisation (LogLevel) par + module et par répertoire
+
La directive LogLevel + peut maintenant être définie par module et par répertoire. Les + nouveaux niveaux trace1 à trace8 ont été + ajoutés au dessus du niveau de journalisation debug.
+ +
Sections de configuration au niveau requête
+
Les sections If, + <ElseIf> et + <Else> + permettent de définir une configuration en fonction de critères + liés à la requête.
+ +
Interpréteur d'expressions à usage général
+
Un nouvel interpréteur d'expressions permet de spécifier des + conditions complexes via des directives à + syntaxe commune comme SetEnvIfExpr, RewriteCond, Header, + <If>, etc... +
+ +
KeepAliveTimeout en millisecondes
+
Il est maintenant possible de définir la directive KeepAliveTimeout en millisecondes. +
+ +
Directive NameVirtualHost
+
Cette directive n'est plus nécessaire et est maintenant obsolète.
+ +
Directives autorisées dans les fichiers .htaccess
+
La nouvelle directive AllowOverrideList permet de contrôler de + manière plus précise la liste des directives autorisées dans les + fichiers .htaccess.
+ +
Variables dans les fichiers de configuration
+
La directive Define + permet de définir des variables dans les fichiers de + configuration, améliorant ainsi la clareté de la présentation si + la même valeur est utilisée en plusieurs points de la + configuration. +
+ +
Diminution de la mémoire utilisée
+
Bien qu'elle propose de nombreuses nouvelles fonctionnalités, + la version 2.4.x tend à utiliser moins de mémoire que la version + 2.2.x.
+ +
+
top
+
+

Nouveau modules

+ +
+ +
mod_proxy_fcgi
+
Mise à disposition du protocole FastCGI pour + mod_proxy.
+ +
mod_proxy_scgi
+
Mise à disposition du protocole SCGI pour + mod_proxy.
+ +
mod_proxy_express
+
Ajoute à mod_proxy la configuration dynamique + de mandataires inverses en masse.
+ +
mod_remoteip
+
Remplace l'adresse IP distante et le nom d'hôte apparents du + client pour la requête courante par la liste d'adresses IP + présentée par un mandataire ou un répartiteur de charge via les + en-têtes de la requête.
+ +
mod_heartmonitor, + mod_lbmethod_heartbeat
+
Permet à mod_proxy_balancer de répartir la + charge en fonction du nombre de connexions actives sur les + serveurs d'arrière-plan.
+ +
mod_proxy_html
+
Anciennement module tiers, il supporte la correction des liens + HTML dans une situation de mandat inverse, où le serveur + d'arrière-plan génère des URLs qui ne sont pas valides du point de + vue des clients du mandataire.
+ +
mod_sed
+
Une amélioration de mod_substitute qui permet + d'éditer le corps de la réponse avec toute la puissance de la + commande sed.
+ +
mod_auth_form
+
Implémente une authentification à base de formulaire.
+ +
mod_session
+
Permet de conserver les données de sessions des clients sous + forme de cookies ou dans une base de données.
+ +
mod_allowmethods
+
Permet de restreindre l'utilisation de + certaines méthodes HTTP sans interférer avec l'authentification et + l'autorisation.
+ +
mod_lua
+
Embarque le langage Lua dans + httpd pour la configuration et les fonctions logiques courantes + (Expérimental).
+ +
mod_log_debug
+
Permet d'introduire une journalisation personnalisée à + différentes phases du traitement de la requête.
+ +
mod_buffer
+
Fournit un tampon pour les piles des filtres en entrée et en + sortie.
+ +
mod_data
+
Convertit un corps de réponse en URL de type données RFC2397.
+ +
mod_ratelimit
+
Permet de limiter la bande passante pour certains + clients.
+ +
mod_request
+
Fournit des filtres permettant de gérer et de mettre à + disposition les corps des requêtes HTTP.
+ +
mod_reflector
+
Permet de renvoyer comme réponse le corps de la requête via la + pile du filtre de sortie.
+ +
mod_slotmem_shm
+
Met à disposition un fournisseur de mémoire partagée à base de + slots (du style tableau de bord).
+ +
mod_xml2enc
+
Anciennement module tiers, il supporte l'internationalisation + dans les modules de filtrage basés sur libxml2 (support du + markup)
+ +
mod_macro (disponible à partir de la version 2.4.5)
+
Permet d'utiliser des macros au sein des fichiers de + configuration.
+ +
mod_proxy_wstunnel (disponible à partir de la version 2.4.5)
+
Support des tunnels web-socket.
+ +
mod_authnz_fcgi (disponible à partir de la version 2.4.10)
+
Permet aux applications d'autorisation FastCGI d'authentifier + et/ou autoriser les clients.
+ +
mod_http2 (disponible à partir de la version 2.4.17)
+
Support de la couche transport HTTP/2.
+ +
mod_proxy_http2 (disponible à partir de la version 2.4.19)
+
Support du protocole HTTP/2 pour mod_proxy
+ +
mod_proxy_hcheck (disponible à partir de la version 2.4.21)
+
Support d'un bilan de santé dynamique indépendant pour les serveurs + d'arrière-plan mandatés distants.
+ +
mod_brotli (disponible à partir de la version 2.4.26)
+
Support de l'algorithme de compression Brotli.
+ +
mod_md (disponible à partir de la version 2.4.30)
+
Automatisation de l'obtention de certificats via le protocole ACME.
+ +
mod_proxy_uwsgi (disponible à partir de la version 2.4.30)
+
module passerelle UWSGI pour mod_proxy.
+ +
mod_socache_redis (disponible à partir de la version 2.4.39)
+
Supporte le fournisseur de cache d'objets partagés basé sur Redis.
+ +
mod_systemd (disponible à partir de la version 2.4.42)
+
intégration de systemd. Permet d'utiliser httpd en tant que service avec + le paramètre systemd Type=notify.
+ +
+
top
+
+

Améliorations des modules

+ +
+
mod_ssl
+ +
mod_ssl peut maintenant vérifier la + validité des certificats clients en se connectant à + un serveur OCSP. Il est possible de définir un + répondeur par défaut, et de choisir si l'on + préfère le répondeur désigné + dans le certificat client.
+ +
En outre, mod_ssl supporte maintenant + l'estampillage OCSP (OCSP stapling), qui permet au serveur + d'attester la validité de son certificat auprès du client au + cours de la phase de négociation de la connexion.
+ +
Enfin, mod_ssl peut maintenant être configuré pour + que celui-ci partage les données de session SSL entre les serveurs + via memcached.
+ +
Le support des clés EC a été ajouté à celui des clés RSA et + DSA.
+ +
Support de TLS-SRP (disponible à partir de la version 2.4.4).
+ +
mod_proxy
+ +
La directive ProxyPass est maintenant configurée + de manière optimale dans les sections Location ou LocationMatch, et offre un gain de + performances important par rapport à la syntaxe traditionnelle à + deux paramètres lorsqu'elle est présente en grand nombre.
+ +
Il est maintenant possible de configurer l'adresse source dans + les requêtes mandatées.
+ +
Support des sockets de type Unix vers le serveur + d'arrière-plan (disponible à partir de la version 2.4.7).
+ +
mod_proxy_balancer
+ +
Le gestionnaire de répartition de charge propose de nouvelles + fonctionnalités. Ainsi, les possibilités de configuration des + membres du groupe de répartition de charge pendant l'exécution ont + été améliorées (possibilité d'ajout d'un membre supplémentaire).
+ +
Configuration à l'exécution d'un sous-ensemble de paramètres + de répartition de charge.
+ +
Les membres du groupe de répartition peuvent être définis à + 'Drain' de façon à ce qu'ils ne répondent qu'aux sessions + persistantes existantes, ce qui permet de les mettre hors ligne en + douceur.
+ +
Les règlages du répartiteur de charge peuvent être rendus + persistants après redémarrage.
+ +
mod_cache
+ +
Le filtre CACHE du module mod_cache peut être + inséré à un certain point de la chaîne de filtrage pour contrôler + plus finement la mise en cache. +
+ +
mod_cache peut maintenant mettre en cache des + requêtes HEAD.
+ +
Chaque fois que cela est possible, les directives de + mod_cache peuvent maintenant être définies au + niveau du répertoire, et non plus seulement au niveau du serveur + principal.
+ +
L'URL de base des URLs en cache peut être personnalisée de + façon à ce qu'un cluster de caches puisse partager le même préfixe + d'URL.
+ +
mod_cache peut maintenant servir du contenu + non mis à jour lorsqu'un serveur d'arrière-plan n'est pas + disponible (erreur 5xx).
+ +
mod_cache peut maintenant insérer + HIT/MISS/REVALIDATE dans un en-tête X-Cache.
+ +
mod_include
+
Support de l'attribut 'onerror' dans un élément 'include', + permettant de renvoyer un message d'erreur personnalisé à la place + du message d'erreur par défaut.
+ +
mod_cgi, mod_include, + mod_isapi, ...
+
La traduction des en-têtes en variables d'environnement est + plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques + de type cross-site-scripting via injection d'en-têtes. Les noms + d'en-têtes contenant des caractères invalides (comme les caractères + de soulignement) ne sont plus convertis en variables d'environnement. Le document Les variables d'environnement dans Apache + présente quelques pistes pour contourner ce problème avec les + clients anciens qui nécessitent de tels en-têtes (Ceci affecte + tous les modules qui utilisent ces variables d'environnement).
+ +
mod_authz_core Conteneurs de logique d'autorisation
+ +
La directive Require et les directives de + conteneurs associées, comme <RequireAll>, permettent de définir une + logique d'autorisation avancée.
+ + + +
mod_rewrite
+
La directive RewriteRule dispose maintenant + des drapeaux [QSD] (Query String Discard) et + [END] qui permettent de simplifier les scénarios de + réécriture courants.
+
Possibilité d'utiliser des expressions booléennes complexes + dans la directive RewriteCond.
+
Possibilité d'utiliser des requêtes SQL en tant que fonctions + dans la directive RewriteMap.
+ +
mod_ldap, mod_authnz_ldap
+
mod_authnz_ldap ajoute le support des + groupes imbriqués.
+
mod_ldap apporte les directives LDAPConnectionPoolTTL et LDAPTimeout, ainsi que d'autres + améliorations dans le traitement des délais. Ceci s'avère utile + pour les configurations où un pare-feu à mémoire d'état (stateful) + rejète les connexions inactives vers le serveur LDAP.
+
mod_ldap propose la directive LDAPLibraryDebug qui permet de + journaliser les informations de débogage fournies par la boîte à + outils LDAP utilisée.
+ +
mod_info
+
mod_info est maintenant capable d'afficher la + configuration préinterprétée sur stdout au cours du démarrage du + serveur.
+ +
mod_auth_basic
+
Nouveau mécanisme générique permettant d'effectuer une + authentification basique (disponible à partir de la version 2.4.5).
+ +
+
top
+
+

Améliorations des programmes

+ +
+
fcgistarter
+
Nouvel utilitaire pour le démarrage des démons + FastCGI.
+
htcacheclean
+
Les URLs présentes dans le cache peuvent maintenant être + affichées, accompagnées éventuellement de leurs métadonnées.
+
Possibilité de supprimer explicitement des URLs individuelles + présentes dans le cache.
+
Les tailles de fichiers peuvent maintenant être arrondies au + multiple de la taille de bloc donnée, les limites de taille + collant de ce fait d'avantage à la taille réelle sur disque.
+
La taille du cache peut maintenant être limitée par le + nombre d'inodes, en plus de la possibilité de limitation par la + taille des fichiers.
+ +
rotatelogs
+
Possibilité de créer un lien vers le fichier journal + courant.
+
Possibilité d'invoquer un script personnalisé après la + rotation.
+ +
htpasswd, htdbm
+
Support de l'algorithme bcrypt (disponible à partir de la + version 2.4.4). +
+
+
top
+
+

Documentation

+ +
+
mod_rewrite
+
La documentation du module mod_rewrite a + été réorganisée et presque entièrement réécrite en mettant + l'accent sur les exemples et l'utilisation courante, ainsi que + sur l'incitation à utiliser d'autres solutions lorsque cela + s'avère plus approprié. Le document Rewrite + Guide constitue maintenant une section de premier niveau ; + il est mieux organisé et contient beaucoup plus de détails.
+ +
mod_ssl
+
La documentation du module mod_ssl a été + grandement améliorée, avec plus d'exemples et un niveau "Bien + démarrer" qui s'ajoutent aux détails techniques déjà présents + dans la précédente documentation.
+ +
Caching Guide
+
Le Guide de la mise en cache a + été réécrit afin de bien faire la différence entre les + fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies + par le module mod_cache, et la mise en cache + générique de type clé/valeur fournie par l'interface socache, mais aussi pour couvrir la mise + en cache spécialisée fournie par des mécanismes tels que ceux du + module mod_file_cache.
+
+
top
+
+

Modifications concernant les développeur de modules

+ +
+
Ajout de code pour la vérification de la configuration
+ +
Une nouvelle fonction, check_config, a été ajoutée et + s'exécute entre les fonctions pre_config et + open_logs. Elle s'exécute aussi avant la fonction + test_config si l'option -t est passée au + démon httpd. La fonction check_config + permet aux modules de vérifier l'interdépendance des valeurs des + directives de configuration et d'ajuster ces valeurs, alors que les + messages du serveur peuvent encore être affichés sur la console. + L'utilisateur est ainsi averti des erreurs de configuration avant que la + fonction du noyau open_logs ne redirige les sorties de la + console vers le journal des erreurs.
+ +
Ajout d'un analyseur syntaxique d'expressions
+
Nous disposons à présent d'un analyseur générique d'expressions, dont l'API + est décrite dans ap_expr.h. Il s'agit d'une adaptation de + l'analyseur qu'on trouvait auparavant dans mod_ssl.
+ +
Conteneurs de logique d'autorisation
+ +
Afin de fournir une logique d'autorisation avancée via des + directives telles que <RequireAll>, les modules d'autorisation + s'enregistrent maintenant en tant + que fournisseur par le biais de ap_register_auth_provider().
+ +
Interface de mise en cache des petits objets
+ +
Le fichier d'en-têtes ap_socache.h fournit une + interface à base de fournisseur pour la mise en cache des petits + objets de données, en s'inspirant de + l'implémentation précédente + du cache de session par mod_ssl. Sont supportés + actuellement : les fournisseurs utilisant un tampon cyclique en + mémoire partagée, les fichiers dbm sur disque, et les caches + distribués de type memcache.
+ +
Ajout du point d'ancrage Cache Status
+ +
Le module mod_cache inclut maintenant un + nouveau point d'ancrage, cache_status, qui est appelé + lorsque la décision à propos de la mise en cache est connue. Il en + existe une implémentation par défaut qui ajoute les en-têtes + optionnels X-Cache et X-Cache-Detail à + la réponse.
+ + +
+

La documentation du développeur contient une liste détaillée des modifications + de l'API.

+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/new_features_2_4.html.tr.utf8 b/docs/manual/new_features_2_4.html.tr.utf8 new file mode 100644 index 0000000..e8be839 --- /dev/null +++ b/docs/manual/new_features_2_4.html.tr.utf8 @@ -0,0 +1,492 @@ + + + + + +Apache HTTP Sunucusu 2.4'te Yeni olan Özellikler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache HTTP Sunucusu 2.4'te Yeni olan Özellikler

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ +

Bu belgede Apache HTTP Sunucusunun 2.2 ve 2.4 sürümleri arasındaki + başlıca farklara değinilmiştir. 2.0 sürümüne göre yeni özellikler için Apache 2.2’de Yeni olan Özellikler + belgesine bakınız.

+
+ +
top
+
+

Çekirdekteki Gelişmeler

+ +
+
Çalışma anında yüklenebilen MPM'ler
+
Çok sayıda MPM artık yüklenebilir + modül olarak derlenebilmektedir. Kullanılacak MPM'in seçimi + çalışma anında LoadModule + yönergesi üzerinden yapılabilmektedir.
+ +
Event MPM
+
Event MPM artık deneysel değil, ancak + tam olarak desteklenmiyor.
+ +
Eşzamansıza destek
+
MPM'leri ve platformları desteklemek için eşzamansız okuma/yazmaya + destek iyileştirildi.
+ +
Modul bazında ve dizin bazına LogLevel yapılandırması
+
LogLevel artık her modül ve her + dizin için yapılandırılabilmektedir. debug log + seviyesinin üstüne trace1'den trace8'e + kadar yeni log seviyeleri eklendi.
+ +
İstek bazında yapılandırma bölümleri
+
<If>, + <ElseIf>, + ve <Else> bölümleri + artık HTTP isteklerine dayalı olarak yapılandırılabilmektedir.
+ +
Genel amaçlı ifade çözümleyici
+
Yeni ifade çözümleyici + SetEnvIfExpr, + RewriteCond, + Header, + <If> ve + benzeri yönergelerde ortak bir sözdizimi kullanarak karmaşık durumlar belirtmeyi mümkün kılmaktadır. +
+ +
Milisaniye cinsinden KeepAliveTimeout
+
KeepAliveTimeout milisaniye + cinsinden belirtmek artık mümkündür.
+ +
NameVirtualHost yönergesi
+
Artık gerekmemekte ve kullanımı önerilmemektedir.
+ +
Yapılandırma geçersizleştirme
+
Yeni AllowOverrideList + yönergesi .htaccess dosyalarında kullanılabilen + yönergelerde daha ince ayarlara izin vermektedir.
+ +
Yapılandırma dosyası değişkenleri
+
Yapılandırmada değişkenler Define yönergesi ile tanımlanabilmekte, böylece aynı + değer yapılandırmada bir çok yerde kullanılıyorsa daha temiz bir + görünüm elde edilebilmektedir.
+ +
Azaltılmış bellek kullanımı
+
Bir çok yeni özelliğe karşın, 2.4.x'te 2.2.x'e nazaran bellek + kullanımı azaltılmıştır.
+
+
top
+
+

Yeni Modüller

+ +
+
mod_proxy_fcgi
+
mod_proxy için FastCGI Protokolü sağlayıcısı
+ +
mod_proxy_scgi
+
mod_proxy için SCGI Protokolü sağlayıcısı
+ +
mod_proxy_express
+
mod_proxy için devingen olarak yapılandırılmış tam + tersinir vekiller sağlar.
+ +
mod_remoteip
+
İstek başlıklarında bir yük dengeleyici veya bir vekil tarafından + sunulan IP adres listeli bir istek için görünen istemci IP adresi ve + konak adını değiştirir.
+ +
mod_heartmonitor, + mod_lbmethod_heartbeat
+
mod_proxy_balancer modülünün arka sunuculardaki + etkin bağlantı sayısı üzerindeki yük dengeleme kararlarına dayalı işlem + yapmasını sağlar.
+ +
mod_proxy_html
+
Başta bir üçüncü parti modüldü. Arka plandaki sağlayıcının vekil + istemcileri için geçersiz URL'ler ürettiği tersinir vekil durumlarında + HTML bağlarının düzeltilmesini sağlar.
+ +
mod_sed
+
mod_substitute modülünün geliştirilmiş hali olup + yanıt gövdesinin sed'in tüm gücü ile yeniden düzenlenebilmesini + sağlar.
+ +
mod_auth_form
+
Formlara dayalı kimlik kanıtlamayı etkinleştirir.
+ +
mod_session
+
Çerezleri ve veritabanı deposunu kullanarak istemciler için oturum + durumunun saklanmasını etkinleştirir.
+ +
mod_allowmethods
+
Kimlik Doğrulama ve Yetkilendirme ile etkileşmeyen belli HTTP + yöntemlerine sınır koymak için yeni bir modül.
+ +
mod_lua
+
Küçük iş mantıksal işlevleri ve yapılandırması için httpd içine Lua dilini gömer.
+ +
mod_log_debug
+
İstek işlemlerinin farklı aşamalarına özelleştirilebilir hata + ayıklama günlüğü eklenmesini sağlar.
+ +
mod_buffer
+
Girdi ve çıktı süzgeç yığıtlarına tampon bellek sağlar.
+ +
mod_data
+
Yanıt gövdesini bir RFC2397 veri URL'sine dönüştürür.
+ +
mod_ratelimit
+
İstemciler için band genişliği oranında sınırlama sağlar.
+ +
mod_request
+
Kullanılabilir HTTP istek gövdelerini yapmak ve elde etmek için + Süzgeçleri sağlar.
+ +
mod_reflector
+
Çıktı süzgeci yığıtı üzerinden bir yanıt olarak bir istek gövdesinin + yansısını sağlar.
+ +
mod_slotmem_shm
+
Yuva temelli bir paylaşımlı bellek sağlayıcı sağlar (scoreboard + olarak da bilinir).
+ +
mod_xml2enc
+
Başta bir üçüncü parti modüldü. libxml2 temelli süzgeç modüllerinde + i18n'i destekler.
+ +
mod_macro (2.4.5'den itibaren kullanılabilir)
+
Yapılandırma dosyalarında makro kullanımını sağlar.
+ +
mod_proxy_wstunnel (2.4.5'den itibaren + kullanılabilir)
+
Web-socket tünelleri için destek.
+ +
mod_authnz_fcgi (2.4.10'dan itibaren + kullanılabilir)
+
Kimlik kanıtlama ve/veya istemcileri yetkilendirmek için FastCGI + yetkilendirme uygulamalarını etkinleştirir.
+ +
mod_http2 (2.4.17'den itibaren kullanılabilir)
+
HTTP/2 aktarım katmanı desteği.
+ +
mod_proxy_http2 (2.4.19'dan itibaren + kullanılabilir)
+
mod_proxy için HTTP/2 Protokol arayüzü
+ +
mod_proxy_hcheck (2.4.21'den itibaren + kullanılabilir)
+
Uzak vekil artuç sunucuları için bağımsız özdevinimli sağlık + sınamalarını destekler.
+ +
mod_brotli (2.4.26'dan itibaren kullanılabilir)
+
Brotli sıkıştırma algoritması desteği.
+ +
mod_md (2.4.30'dan itibaren kullanılabilir)
+
Sertifika sağlama işlemi için ACME protokolü desteği.
+ +
mod_proxy_uwsgi (2.4.30'dan itibaren + kullanılabilir)
+
mod_proxy UWSGI ağ geçidi modülü.
+ +
mod_socache_redis (2.4.39'dan itibaren + kullanılabilir)
+
Redis tabanlı paylaşımlı nesne + arabelleği sağlayıcı için destek.
+ +
mod_systemd (2.4.42'den itibaren + kullanılabilir)
+
systemd bütünleştirmesi. Httpd'nin systemd Type=notify + ile bir hizmette kullanılmasına izin verir.
+ +
+
top
+
+

Modüllerdeki Gelişmeler

+ +
+
mod_ssl
+ +
mod_ssl bir istemci sertifikasının doğrulama + durumunu sınamak için bir OCSP sunucusunu kullanmak üzere + yapılandırılabilir. Öntanımlı yanıtlayıcı, istemci sertifikasının + kendisinde tasarlanmış yanıtlayıcının tercih edilip edilmeyeceği + kararına bağlı olarak yapılandırılabilir.
+ +
mod_ssl, ayrıca, sunucunun istemciyle anlaşma + sırasında kendi sertifikasının OCSP doğrulamasını umursamazca sağlayıp + aktardığı durumda OCSP zımbalamasını da destekler.
+ +
mod_ssl, sunucular arasında SSL Oturumu verisini + memcached üzerinden paylaşmak üzere yapılandırılabilir.
+ +
RSA ve DSA'ya ek olarak EC anahtarları da artık desteklenmektedir. +
+ +
TLS-SRP için destek (2.4.4 itibariyle kullanılabilir).
+ +
mod_proxy
+ +
ProxyPass yönergesi bir + Location veya + LocationMatch bloku içinde en + verimli şekilde yapılandırılabilir ve büyük sayıların varlığı durumunda + geleneksel iki değiştirgeli sözdiziminin de üzerinde belirgin bir + başarım artışı sağlar.
+ +
Vekil istekleri için kullanılan kaynak adresi artık + yapılandırılabilmektedir.
+ +
Artalanda Unix alan soketleri için destek (2.4.7 itibariyle + kullanılabilir).
+ +
mod_proxy_balancer
+ +
Dengeleme yöneticisi üzerinden BalancerMembers için daha fazla + çalışma anı yapılandırması
+ +
Çalışma anında dengeleme yöneticisi üzerinden başka BalancerMembers + eklenebilir.
+ +
Çalışma anı yapılandırmasına yönelik dengeleyici değiştirgeleri
+ +
BalancerMembers için 'Drain' değeri belirtilebilir; böylece sadece + mevcut yapışık oturumlara yanıt verirler ve bunların güzellikle hattan + alınması mümkün olur.
+ +
Balancer ayarları sunucu yeniden başlatılssa bile kalıcı olabilir. +
+ +
mod_cache
+ +
mod_cache CACHE süzgeci, arabellekleme üzerinde daha + hassas denetim sağlamak için istenirse süzgeç zincirinin belli bir + noktasına yerleştirilebilmektedir.
+ +
mod_cache artık HEAD isteklerini + arabellekleyebiliyor.
+ +
Mümkün olduğunda, mod_cache yönergeleri sunucu + bazında değil, dizin bazında belirtilebiliyor.
+ +
Arabellekli URL'lerin temel URL'si özelleştirilebiliyor; böylece + arabelleğin bir bölümü aynı uç URL önekini paylaşabiliyor.
+ +
mod_cache, ardalanda bir sağlayıcının olmadığı + durumda (5xx hatası), arabelleklenmiş bayat içeriği sunabiliyor.
+ +
mod_cache artık bir X-Cache başlığına bir + HIT/MISS/REVALIDATE yerleştirebiliyor.
+ +
mod_include
+
Bir hata durumunda öntanımlı hata dizgisi yerine bir hata sayfası + sunmayı sağlayan 'onerror' özniteliği için 'include' elemanı içinde + destek.
+ +
mod_cgi, mod_include, + mod_isapi, ...
+
Başlıkların ortam değişkenlerine dönüşümü, başlık zerki yoluyla bazı + olası karşı-site-betik saldırılarının hafifletilmesinden önce daha + hızlı ve doğru yapılmaktadır. Geçersiz karakterler (altçizgiler dahil) + içeren başlık isimleri artık sessizce bırakılmaktadır.Apache'deki Ortam değişkenleri, böyle başlıkları + gerektiren bozulmuş meşru istemcilerin çevresinden dolanabilen + göstericilere sahiptir. (Bu durum, bu değişkenleri kullanan tüm + modülleri etkiler.)
+ +
mod_authz_core Yetkilendirme Kuralları + Taşıyıcıları
+ +
Gelişkin yetkilendirme kuralları artık Require yönergesi ve <RequireAll> gibi + ilgili taşıyıcı yönergeler kullanılarak belirtilebilmektedir.
+ +
mod_rewrite
+
mod_rewrite bildik yeniden yazma senaryolarını + basitleştirmek için RewriteRule yönergesine + [QSD] (Query String Discard=sorgu dizgisini iptal) ve + [END] seçeneklerini sağlamaktadır.
+
RewriteCond içinde + karmaşık mantıksal ifadeler kullanımını mümkün kılmaktadır.
+
SQL sorgularının RewriteMap işlevleri olarak + kullanılması sağlanmıştır.
+ +
mod_ldap, mod_authnz_ldap
+
mod_authnz_ldap kümelenmiş gruplara destek sağlar. +
+
mod_ldap zaman aşımlarını işleme sokabilmek için + LDAPConnectionPoolTTL, + LDAPTimeout ve birtakım + başka geliştirmeler sahiptir. Özellikle, bir LDAP sunucusunun boşta + kalmış bağlantılarını bıraktıran bir durumsal güvenlik duvarı + varlığında gerekli ayarlamaları yapmak için kullanışlıdır.
+
mod_ldap, artık, LDAP araç kiti kullanarak sağlanan + hata ayıklama bilgisini günlüklemek için LDAPLibraryDebug yönergesini + içermektedir.
+ +
mod_info
+
mod_info önceden çözümlenmiş yapılandırmayı artık + sunucunun başlatılması sırasında standart çıktıya + dökümleyebilmektedir.
+ +
mod_auth_basic
+
Temel kimlik kanıtlamayı taklit eden yeni temel mekanizma + (2.4.5 itibariyle kullanılabilmektedir).
+
+
top
+
+

Programlardaki GeliÅŸmeler

+ +
+
fcgistarter
+
Yeni FastCGI artalan sunucusu başlatma aracı
+ +
htcacheclean
+
Arabellekli URL'ler, istenirse metadata'yı da dahil ederek + listelenebilmektedir.
+
Bazı URL'ler arabellekten tek tek silinebilmektedir.
+
Dosya boyutları belirtilen blok boyutuna yukarı doğru + yuvarlanabilmekte, böylece dosya boyutu sınırları diskteki gerçek + boyutlarla daha iyi eşlenebilmektedir.
+
Arabellek boyutu artık, diskteki dosyaların boyutuna göre bir + sınıra ek olarak veya bunun yerine dosya düğümü sayısı ile + sınırlanabilmektedir.
+ +
rotatelogs
+
Artık geçerli günlük dosyasına bir bağ oluşturulabiliyor.
+
Artık özel bir döndürme sonrası betiği çalıştırılabiliyor.
+ +
htpasswd, htdbm
+
Bcrypt algoritması için destek (2.4.4 itibariyle + kullanılabilmektedir).
+
+
top
+
+

Belgelendirme

+ +
+
mod_rewrite
+
mod_rewrite belgeleri, yeniden düzenlenerek, + genel kullanıma ve örneklere odaklı olarak ve diğer çözümlerin hangi + durumlarda daha uygun olduğu da gösterilerek hemen hemen tamamen + yeniden yazıldı. Yeniden Yazma Kılavuzu artık + bir sayfa olmaktan çıkıp, çok daha ayrıntılı ve daha iyi düzenlenmiş + bir bölüm haline geldi.
+ +
mod_ssl
+
mod_ssl belgeleri, evvelki teknik ayrıntılara ek + olarak başlarken seviyesinde daha fazla örnekle büyük oranda + genişletildi.
+ +
Önbellek Kullanım Kılavuzu
+
Önbellek Kullanım Kılavuzu + mod_cache tarafından sağlanan RFC2616 HTTP/1.1 + önbellekleme özellikleri arasıda daha iyi ayrım yapılabilmesi için ve + socache arayüzü ile sağlanan soysal + anahtar/değer önbelleklemesi yanında mod_file_cache + gibi mekanizmalarla sağlanan özelleştirilebilir arabelleklemeyi de + kapsamak üzere yeniden yazıldı.
+ +
+
top
+
+

Modül Geliştirici Değişiklikleri

+ +
+
Yapılandırma Denetleme Kancası Eklendi
+ +
Yeni bir kanca, check_config kancası, + pre_config ve open_logs kancaları arasında + çalışmak üzere eklendi. Ayrıca, httpd'ye + -t seçeneği verildiğinde test_config + kancasından önce çalışır. check_config kancası, modüllerin + karşılıklı bağımlı yapılandırma yönergesi değerlerini yeniden + yoklamasını ve iletiler konsola hala günlüklenebiliyorken bunların + ayarlanabilmesini sağlar. Temel open_logs kanca işlevi + konsol çıktısını hata günlüğüne yönlendirmeden önce hatalı yapılandırma + sorunlarına karşı kullanıcı uyarılabilir.
+ +
İfade Çözümleyici Eklendi
+ +
Artık genel amaçlı bir ifade çözümleyicimiz var. API + ap_expr.h içinde incelenebilir. Evvelce + mod_ssl içinde gerçeklenmiş olan ifade çözümleyiciden + esinlenildi.
+ +
Yetkilendirme Kuralları Taşıyıcıları
+ +
Yetkilendirme modülleri, <RequireAll> gibi gelişmiş yetkilendirme + kuralı taşıyıcılarını desteklemek için ap_register_auth_provider() + üzerinden artık bir sağlayıcı olarak çalıştırılabilmektedir.
+ +
Küçük Nesne Arabellekleme Arayüzü
+ +
ap_socache.h, evvelki mod_ssl oturum + arabelleği gerçeklenimine dayalı olarak küçük veri nesnelerini + arabelleklemek için sağlayıcı temelli bir arayüz ortaya koyar. + Paylaşımlı bellek çevrimsel tamponu kullanan sağlayıcılar, disk bazlı + dbm dosyaları ve memcache ile dağıtılan arabellekler şu an + desteklenmektedir.
+ +
Arabellek Durum Kancası Eklendi
+ +
mod_cache modülü artık, arabellekleme kararı bilinir + olduğunda çağrılan yeni bir cache_status kancası içeriyor. + Öntanımlı gerçeklenim, yanıta istemlik bir X-Cache ve + X-Cache-Detail ekleyebilmektedir.
+
+ +

Geliştirici belgeleri API + değişikliklerinin ayrıntılı bir listesini içermektedir.

+
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/ebcdic.html b/docs/manual/platform/ebcdic.html new file mode 100644 index 0000000..e5ae518 --- /dev/null +++ b/docs/manual/platform/ebcdic.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ebcdic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: ebcdic.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/platform/ebcdic.html.en b/docs/manual/platform/ebcdic.html.en new file mode 100644 index 0000000..01b95c8 --- /dev/null +++ b/docs/manual/platform/ebcdic.html.en @@ -0,0 +1,616 @@ + + + + + +The Apache EBCDIC Port - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

The Apache EBCDIC Port

+
+

Available Languages:  en  | + ko 

+
+ + +
Warning: This document + has not been updated to take into account changes made in + the 2.0 version of the Apache HTTP Server. Some of the + information may still be relevant, but please use it with care. +
+ +
+ +
top
+
+

Overview of the Apache EBCDIC Port

+ + + +

Version 1.3 of the Apache HTTP Server was the first version + which included a port to a (non-ASCII) mainframe machine which + uses the EBCDIC character set as its native codeset.

+ +

(It is the SIEMENS family of mainframes running the BS2000/OSD + operating system. This mainframe OS nowadays features a + SVR4-derived POSIX subsystem).

+ +

The port was started initially to

+ +
    +
  • prove the feasibility of porting the Apache HTTP server to + this platform
  • + +
  • find a "worthy and capable" successor for the venerable + CERN-3.0 daemon + (which was ported a couple of years ago), and to
  • + +
  • prove that Apache's preforking process model can on this + platform easily outperform the accept-fork-serve model used + by CERN by a factor of 5 or more.
  • +
+ +

This document serves as a rationale to describe some of the + design decisions of the port to this machine.

+ +
top
+
+

Design Goals

+ + + +

One objective of the EBCDIC port was to maintain enough + backwards compatibility with the (EBCDIC) CERN server to make + the transition to the new server attractive and easy. This + required the addition of a configurable method to define + whether a HTML document was stored in ASCII (the only format + accepted by the old server) or in EBCDIC (the native document + format in the POSIX subsystem, and therefore the only realistic + format in which the other POSIX tools like grep or + sed could operate on the documents). The current + solution to this is a "pseudo-MIME-format" which is intercepted + and interpreted by the Apache server (see below). Future versions + might solve the problem by defining an "ebcdic-handler" for all + documents which must be converted.

+ +
top
+
+

Technical Solution

+ + + +

Since all Apache input and output is based upon the BUFF + data type and its methods, the easiest solution was to add the + conversion to the BUFF handling routines. The conversion must + be settable at any time, so a BUFF flag was added which defines + whether a BUFF object has currently enabled conversion or not. + This flag is modified at several points in the HTTP + protocol:

+ +
    +
  • set before a request is received + (because the request and the request header lines are always + in ASCII format)
  • + +
  • set/unset when the request body is + received - depending on the content type of the request body + (because the request body may contain ASCII text or a binary + file)
  • + +
  • set before a reply header is sent + (because the response header lines are always in ASCII + format)
  • + +
  • set/unset when the response body is sent + - depending on the content type of the response body (because + the response body may contain text or a binary file)
  • +
+ +
top
+
+

Porting Notes

+ + + +
    +
  1. +

    The relevant changes in the source are #ifdef'ed + into two categories:

    + +
    +
    #ifdef + CHARSET_EBCDIC
    + +
    +

    Code which is needed for any EBCDIC based machine. + This includes character translations, differences in + contiguity of the two character sets, flags which + indicate which part of the HTTP protocol has to be + converted and which part doesn't etc.

    +
    + +
    #ifdef _OSD_POSIX
    + +
    +

    Code which is needed for the SIEMENS BS2000/OSD + mainframe platform only. This deals with include file + differences and socket implementation topics which are + only required on the BS2000/OSD platform.

    +
    +
    +
  2. + +
  3. +

    The possibility to translate between ASCII and EBCDIC at + the socket level (on BS2000 POSIX, there is a socket option + which supports this) was intentionally not chosen, + because the byte stream at the HTTP protocol level consists + of a mixture of protocol related strings and non-protocol + related raw file data. HTTP protocol strings are always + encoded in ASCII (the GET request, any Header: lines, + the chunking information etc.) whereas the file transfer + parts (i.e., GIF images, CGI output etc.) + should usually be just "passed through" by the server. This + separation between "protocol string" and "raw data" is + reflected in the server code by functions like bgets() + or rvputs() for strings, and functions like + bwrite() for binary data. A global translation + of everything would therefore be inadequate.

    + +

    (In the case of text files of course, provisions must be + made so that EBCDIC documents are always served in + ASCII)

    +
  4. + +
  5. +

    This port therefore features a built-in protocol level + conversion for the server-internal strings (which the + compiler translated to EBCDIC strings) and thus for all + server-generated documents. The hard coded ASCII escapes + \012 and \015 which are ubiquitous + in the server code are an exception: they are already the binary + encoding of the ASCII \n and \r and + must not be converted to ASCII a second time. + This exception is only relevant for server-generated strings; + and external EBCDIC documents are not expected to + contain ASCII newline characters.

    +
  6. + +
  7. +

    By examining the call hierarchy for the BUFF management + routines, I added an "ebcdic/ascii conversion layer" which + would be crossed on every puts/write/get/gets, and a + conversion flag which allowed enabling/disabling the + conversions on-the-fly. Usually, a document crosses this + layer twice from its origin source (a file or CGI output) to + its destination (the requesting client): file -> + Apache, and Apache -> client.

    + +

    The server can now read the header lines of a CGI-script + output in EBCDIC format, and then find out that the remainder + of the script's output is in ASCII (like in the case of the + output of a WWW Counter program: the document body contains a + GIF image). All header processing is done in the native + EBCDIC format; the server then determines, based on the type + of document being served, whether the document body (except + for the chunking information, of course) is in ASCII already + or must be converted from EBCDIC.

    +
  8. + +
  9. +

    For Text documents (MIME types text/plain, text/html + etc.), an implicit translation to ASCII can be + used, or (if the users prefer to store some documents in + raw ASCII form for faster serving, or because the files + reside on a NFS-mounted directory tree) can be served + without conversion.

    + +

    Example:

    + +

    to serve files with the suffix .ahtml as a + raw ASCII text/html document without implicit + conversion (and suffix .ascii as ASCII + text/plain), use the directives:

    + +

    + AddType text/x-ascii-html .ahtml
    + AddType text/x-ascii-plain .ascii +

    + +

    Similarly, any text/foo MIME type can be + served as "raw ASCII" by configuring a MIME type + "text/x-ascii-foo" for it using + AddType.

    +
  10. + +
  11. +

    Non-text documents are always served "binary" without + conversion. This seems to be the most sensible choice for, + .e.g., GIF/ZIP/AU file types. This of course + requires the user to copy them to the mainframe host using + the "rcp -b" binary switch.

    +
  12. + +
  13. +

    Server parsed files are always assumed to be in native + (i.e., EBCDIC) format as used on the machine, and + are converted after processing.

    +
  14. + +
  15. +

    For CGI output, the CGI script determines whether a + conversion is needed or not: by setting the appropriate + Content-Type, text files can be converted, or GIF output can + be passed through unmodified. An example for the latter case + is the wwwcount program which we ported as well.

    +
  16. + +
+ +
top
+
+

Document Storage Notes

+ + + +

Binary Files

+ + + +

All files with a Content-Type: which does not + start with text/ are regarded as binary + files by the server and are not subject to any conversion. + Examples for binary files are GIF images, gzip-compressed files + and the like.

+ +

When exchanging binary files between the mainframe host and + a Unix machine or Windows PC, be sure to use the ftp "binary" + (TYPE I) command, or use the + rcp -b command from the mainframe host (the + -b switch is not supported in unix + rcp's).

+ + + +

Text Documents

+ + + +

The default assumption of the server is that Text Files + (i.e., all files whose Content-Type: + starts with text/) are stored in the native + character set of the host, EBCDIC.

+ + + +

Server Side Included Documents

+ + + +

SSI documents must currently be stored in EBCDIC only. + No provision is made to convert it from ASCII before + processing.

+ + + +
top
+
+

Apache Modules' Status

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleStatusNotes
core+ +
mod_access+ +
mod_actions+ +
mod_alias+ +
mod_asis+ +
mod_auth+ +
mod_authn_anon+ +
mod_authn_dbm?with own libdb.a
mod_authz_dbm?with own libdb.a
mod_autoindex+ +
mod_cern_meta? +
mod_cgi+ +
mod_digest+ +
mod_dir+ +
mod_so-no shared libs
mod_env+ +
mod_example-(test bed only)
mod_expires+ +
mod_headers+ +
mod_imagemap+ +
mod_include+ +
mod_info+ +
mod_log_agent+ +
mod_log_config+ +
mod_log_referer+ +
mod_mime+ +
mod_mime_magic?not ported yet
mod_negotiation+ +
mod_proxy+ +
mod_rewrite+untested
mod_setenvif+ +
mod_speling+ +
mod_status+ +
mod_unique_id+ +
mod_userdir+ +
mod_usertrack?untested
+ +
top
+
+

Third Party Modules' Status

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleStatusNotes
JK (Formerly mod_jserv) + -JAVA still being ported.
mod_php3+mod_php3 runs fine, with LDAP and GD + and FreeType libraries.
mod_put?untested
mod_session-untested
+ +
+
+

Available Languages:  en  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/ebcdic.html.ko.euc-kr b/docs/manual/platform/ebcdic.html.ko.euc-kr new file mode 100644 index 0000000..6e45a37 --- /dev/null +++ b/docs/manual/platform/ebcdic.html.ko.euc-kr @@ -0,0 +1,585 @@ + + + + + +¾ÆÆÄÄ¡ EBCDIC Æ÷Æà - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¾ÆÆÄÄ¡ EBCDIC Æ÷ÆÃ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +
ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ À¥¼­¹ö 2.0 ¹öÀü¿¡¼­ + º¯°æµÈ ³»¿ëÀ» ´ã°íÀÖÁö ¾Ê´Ù. ¾ÆÁ÷µµ À¯È¿ÇÑ Á¤º¸°¡ ÀÖÁö¸¸, + ÁÖÀÇÇؼ­ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù. +
+ +
+ +
top
+
+

¾ÆÆÄÄ¡ EBCDIC Æ÷Æà °³¿ä

+ + + +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â 1.3 ¹öÀü¶§ óÀ½À¸·Î EBCDIC ¹®ÀÚÁýÇÕÀ» + ±âº» ¹®ÀÚÁýÇÕÀ¸·Î »ç¿ëÇÏ´Â (ºñ-ASCII) ¸ÞÀÎÇ÷¹ÀÓ ÄÄÇ»ÅÍ·Î + Æ÷ÆõǾú´Ù.

+ +

(BS2000/OSD + ¿î¿µÃ¼Á¦¸¦ »ç¿ëÇÏ´Â SIEMENS °è¿­ ¸ÞÀÎÇ÷¹ÀÓÀ» ¸»ÇÑ´Ù. + ÀÌ ¸ÞÀÎÇ÷¹ÀÓ ¿î¿µÃ¼Á¦¿¡´Â ÇöÀç SVR4°è¿­ÀÇ POSIX ÇÏÀ§½Ã½ºÅÛÀÌ + ÀÖ´Ù).

+ +

Æ÷ÆÃÀº óÀ½¿¡ ´ÙÀ½°ú °°Àº ¸ñÀû¿¡¼­ ½ÃÀ۵Ǿú´Ù

+ +
    +
  • ÀÌ Ç÷¹ÆûÀ¸·Îµµ ¾ÆÆÄÄ¡ + À¥¼­¹ö¸¦ Æ÷ÆÃÇÒ ¼ö ÀÖ´Ù´Â °¡´É¼ºÀ» º¸À̱âÀ§Çؼ­
  • + +
  • (¸î³â Àü¿¡ Æ÷ÆõÈ) ¿À·¡µÈ CERN-3.0 ¼­¹ö¸¦ ´ëüÇÒ + "¾µ¸¸ÇÏ°í À¯´ÉÇÑ" ÈÄ°èÀÚ¸¦ ã±âÀ§ÇØ
  • + +
  • ÀÌ Ç÷¹Æû¿¡¼­ ¾ÆÆÄÄ¡ÀÇ prefork ÇÁ·Î¼¼½º ¹æ½ÄÀÌ CERNÀÇ + accept-fork-serve ¹æ½Ä º¸´Ù 5¹è ÀÌ»ó ¼º´ÉÀÌ ÁÁÀ½À» + º¸À̱âÀ§Çؼ­.
  • +
+ +

ÀÌ ¹®¼­´Â Æ÷Æýà ¿©·¯ ¼³°è»ó °áÁ¤ÀÇ ÀÌÀ¯¸¦ ¼³¸íÇÑ´Ù.

+ +
top
+
+

¼³°è ¸ñÇ¥

+ + + +

EBCDIC Æ÷ÆÃÀÇ ¸ñÀûÁß Çϳª´Â »õ·Î¿î ¼­¹ö·Î ÀüȯÀ» À¯µµÇÏ°í + ½±°Ô ÀüȯÇÒ ¼ö ÀÖµµ·Ï °¡´ÉÇÑ (EBCDIC) CERN ¼­¹ö¿Í ȣȯ¼ºÀ» + À¯ÁöÇÏ´Â °ÍÀÌ´Ù. ±×·¡¼­ HTML ¹®¼­°¡ (ÀÌÀü CERN ¼­¹ö°¡ ÀνÄÇÏ´Â + À¯ÀÏÇÑ Çü½ÄÀÎ) ASCII¿Í (POSIX ÇÏÀ§½Ã½ºÅÛÀÇ ±âº» ¹®¼­ Çü½Ä. + ±×·¯¹Ç·Î grepÀ̳ª sed °°Àº POSIX + µµ±¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â Çö½ÇÀûÀÎ Çü½ÄÀÎ) EBCDIC Áß ¾î´À Çü½ÄÀÎÁö + ¼³Á¤ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÇöÀç ÇØ°áÃ¥Àº ¾ÆÆÄÄ¡ ¼­¹ö°¡ Áß°£¿¡¼­ + ¹®¼­¸¦ °¡·Îä¼­ ¹®¼­ÀÇ Çü½ÄÀ» ÆľÇÇÏ´Â "°¡»ó MIME Çü½Ä"ÀÌ´Ù + (¾Æ·¡ Âü°í). ´ÙÀ½ ¹öÀü¿¡¼­´Â º¯È¯ÇؾßÇÒ ¸ðµç ¹®¼­¿¡ + "ebcdic-handler"¸¦ Á¤ÀÇÇÏ´Â ¹æ¹ýÀ¸·Î ¹®Á¦¸¦ ÇØ°áÇÒ °ÍÀÌ´Ù.

+ +
top
+
+

±â¼úÀû ÇØ°áÃ¥

+ + + +

¾ÆÆÄÄ¡°¡ BUFF ÀÚ·áÇü°ú ¸Þ½áµå¸¦ »ç¿ëÇÏ¿© ¸ðµç ÀÔÃâ·ÂÀ» + ÇϹǷΠ°¡Àå ½¬¿î ¹æ¹ýÀº BUFF ó¸® ÇÔ¼ö¿¡ º¯È¯±â´ÉÀ» Ãß°¡ÇÏ´Â + °ÍÀÌ´Ù. ¾ðÁ¦µçÁö º¯È¯ÇÒ ¼ö ÀÖ¾î¾ß Çϱ⶧¹®¿¡ BUFF °´Ã¼¸¦ + º¯È¯ÇØ¾ß ÇÏ´ÂÁö ¾Ë·ÁÁÖ´Â BUFF Ç¥½Ã¸¦ Ãß°¡Çß´Ù. ÀÌ Ç¥½Ã´Â + HTTP ÇÁ·ÎÅäÄÝÀÇ ¿©·¯ ´Ü°è¿¡¼­ º¯°æµÉ ¼ö ÀÖ´Ù:

+ +
    +
  • ¿äûÀ» ¹Þ±â Àü¿¡ º¯È¯ (¿äû°ú ¿äûÇì´õ°¡ + Ç×»ó ASCII Çü½ÄÀ̱⠶§¹®¿¡)
  • + +
  • ¿äû ³»¿ëÀ» ¹Þ¾ÒÀ»¶§ content type¿¡ µû¶ó + º¯È¯/º¯È¯¾ÈÇÔ (¿äû ³»¿ëÀÌ ASCII ¹®ÀÚ³ª + ¹ÙÀ̳ʸ® ÆÄÀÏÀÎ °æ¿ì º¯È¯ÇØ¾ß Çϱ⶧¹®¿¡)
  • + +
  • ÀÀ´äÇì´õ¸¦ º¸³»±â Àü¿¡ º¯È¯ (ÀÀ´äÇì´õ´Â + Ç×»ó ASCII Çü½ÄÀ̱⶧¹®¿¡)
  • + +
  • ÀÀ´ä ³»¿ëÀ» º¸³¾¶§ content type¿¡ µû¶ó + º¯È¯/º¯È¯¾ÈÇÔ (ÀÀ´ä ³»¿ëÀÌ ¹®ÀÚ ÆÄÀÏÀ̰ųª + ¹ÙÀ̳ʸ® ÆÄÀÏÀ̱⶧¹®¿¡)
  • +
+ +
top
+
+

Æ÷Æÿ¡ ´ëÇؼ­

+ + + +
    +
  1. +

    ¼Ò½ºÀÇ º¯È­´Â µÎ°¡Áö #ifdef·Î ±¸ºÐÇÒ + ¼ö ÀÖ´Ù:

    + +
    +
    #ifdef + CHARSET_EBCDIC
    + +
    +

    ¸ðµç EBCDIC±â¹Ý ÄÄÇ»ÅÍ¿¡ ÇÊ¿äÇÑ ÄÚµå. ¹®ÀÚº¯È¯, + µÎ ¹®ÀÚÁýÇÕ°£ÀÇ ¿¬¼ÓµÈ ¹®ÀÚ°ª Â÷ÀÌ, ¾î¶² HTTP ÇÁ·ÎÅäÄÝ + ºÎºÐÀÌ º¯È¯µÇ¾ß ÇÏ´ÂÁö¸¦ ¾Ë·ÁÁִ ǥ½Ã µî.

    +
    + +
    #ifdef _OSD_POSIX
    + +
    +

    SIEMENS BS2000/OSD ¸ÞÀÎÇ÷¹ÀÓ Ç÷¹Æû¿¡¸¸ ÇÊ¿äÇÑ + ÄÚµå. BS2000/OSD Ç÷¹Æû¿¡¸¸ ÇÊ¿äÇÑ Çì´õÆÄÀÏ Â÷ÀÌ¿Í + ¼ÒÄÏ ±¸Çö ¹®Á¦¸¦ ´Ù·é´Ù.

    +
    +
    +
  2. + +
  3. +

    ¼ÒÄÏ ¼öÁØ¿¡¼­ ASCII¿Í EBCDIC°£ º¯È­´Â (BS2000 POSIX¿¡´Â + ÀÌ ±â´ÉÀ» Áö¿øÇÏ´Â ¼ÒÄÏ ¿É¼ÇÀÌ ÀÖ´Ù) HTTP ÇÁ·ÎÅäÄÝ ¼öÁØ¿¡¼­ + Àü¼ÛµÇ´Â ÀÚ·á¿¡ ÇÁ·ÎÅäÄÝ°ü·Ã ¹®ÀÚ¿­°ú ÇÁ·ÎÅäÄÝ°ú ¹«°üÇÑ + ÀϹÝÆÄÀÏÀÌ ¼¯¿©Àֱ⶧¹®¿¡ ÀǵµÀûÀ¸·Î »ç¿ëÇÏÁö + ¾Ê¾Ò´Ù. HTTP ÇÁ·ÎÅäÄÝ ¹®ÀÚ¿­Àº (GET + ¿äû, Header: ÁÙ, ±âŸ Á¤º¸ µî.) Ç×»ó ASCII + Çü½ÄÀÌ°í, ÆÄÀÏÀü¼Û ºÎºÐÀº (Áï, GIF ±×¸², CGI + Ãâ·Â µî.) ¼­¹ö°¡ Ç×»ó "º¯È¯ÇÏÁö¾Ê°í ±×³É" º¸³»¾ß + ÇÑ´Ù. ¼­¹ö ÄÚµå´Â "ÇÁ·ÎÅäÄÝ ¹®ÀÚ¿­"°ú "ÀÏ¹Ý ÀÚ·á"¸¦, + ¹®ÀÚ¿­¿¡´Â bgets()³ª rvputs(), + ¹ÙÀ̳ʸ® ÀÚ·á¿¡´Â bgets()³ª + rvputs() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ±¸º°ÇÑ´Ù. ±×·¯¹Ç·Î + ¹«Á¶°Ç ¸ðµç °ÍÀ» º¯È¯ÇÏ´Â °ÍÀº ÀûÀýÇÏÁö ¾Ê´Ù.

    + +

    (¹°·Ð ¹®ÀÚÆÄÀÏÀÇ °æ¿ì EBCDIC ¹®¼­¸¦ Ç×»ó ASCII·Î + ¼­ºñ½ºÇϵµ·Ï ÁغñÇØ¾ß ÇÑ´Ù)

    +
  4. + +
  5. +

    ±×·¡¼­ Æ÷Æÿ¡´Â (ÄÄÆÄÀÏ·¯°¡ EBCDIC ¹®ÀÚ¿­·Î º¯È¯ÇÑ) + ¼­¹ö ³»ºÎ ¹®ÀÚ¿­°ú ¼­¹ö°¡ »ý¼ºÇÑ ¹®¼­¸¦ ±âº» ÇÁ·ÎÅäÄÝ + ¼öÁØ¿¡¼­ º¯È¯ÇÏ´Â ±â´ÉÀÌ ÀÖ´Ù. ¼­¹ö Äڵ忡 »êÀçµÈ ASCII + escape¹®ÀÚ \012¿Í \015´Â ¿¹¿Ü´Ù: + À̵éÀÌ ÀÌ¹Ì ASCII \n°ú \rÀÇ + ¹ÙÀ̳ʸ® °ªÀ̱⶧¹®¿¡ ASCII·Î µÎ¹ø º¯È¯ÇÏ¸é ¾ÈµÈ´Ù. + ÀÌ ¿¹¿Ü´Â ¼­¹ö°¡ »ý¼ºÇÑ ¹®ÀÚ¿­¿¡¸¸ Àû¿ëµÈ´Ù; ¿ÜºÎ + EBCDIC ¹®¼­´Â ASCII Áٹٲ޹®ÀÚ¸¦ Æ÷ÇÔÇÏ¸é ¾ÈµÈ´Ù.

    +
  6. + +
  7. +

    BUFF °ü¸®ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» »ìÆ캻 ÈÄ ³ª´Â ¸ðµç + puts/write/get/gets°¡ °ÅÄ¡°ÔµÇ´Â "ebcdic/ascii º¯È¯ + °èÃþ"À» Ãß°¡ÇÏ°í, µ¿ÀûÀ¸·Î º¯È¯À¯¹«¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Â + º¯È¯ Ç¥½Ã¸¦ Ãß°¡Çß´Ù. ¹®¼­°¡ ¿øº»(ÆÄÀÏÀ̳ª CGI Ãâ·Â)¿¡¼­ + ´ë»ó(¿äûÇÑ Å¬¶óÀ̾ðÆ®)À¸·Î À̵¿ÇÒ¶§ Ç×»ó ÀÌ °èÃþÀ» + µÎ¹ø Áö³­´Ù: ÆÄÀÏ -> ¾ÆÆÄÄ¡, ¾ÆÆÄÄ¡ + -> Ŭ¶óÀ̾ðÆ®.

    + +

    ¼­¹ö´Â ÀÌÁ¦ EBCDIC Çü½ÄÀ¸·Î µÈ CGI ½ºÅ©¸³Æ® Ãâ·ÂÀÇ + Çì´õÁÙÀ» Àаí, ³ª¸ÓÁö ½ºÅ©¸³Æ® Ãâ·ÂÀÌ ASCIIÀÓÀ» ¾Ë¾Æ³¾ + ¼ö ÀÖ´Ù (WWW ¹æ¹®ÀÚ¼ö¸¦ ¼¼´Â ÇÁ·Î±×·¥°ú °°Àº °æ¿ì: ¹®¼­ + ³»¿ëÀº GIF ±×¸²ÀÌ´Ù). ±âº» EBCDIC Çü½ÄÀ¸·Î ¸ðµç Çì´õ¸¦ + ó¸®ÇÑ´Ù; ±×·± ´ÙÀ½ ¼­ºñ½ºÇÒ ¹®¼­ÀÇ type¿¡ µû¶ó ¼­¹ö´Â + ¹®¼­ ³»¿ëÀÌ ÀÌ¹Ì ASCIIÀÎÁö ȤÀº EBCDIC¿¡¼­ º¯È¯À» ÇØ¾ß + ÇÏ´ÂÁö °áÁ¤ÇÑ´Ù.

    +
  8. + +
  9. +

    (MIME typeÀÌ text/plain, text/html µî) ³»¿ëÀÌ + ÀÏ¹Ý ¹®ÀÚÀÎ ¹®¼­¸¦ ¾Ï¹¬ÀûÀ¸·Î ASCII·Î º¯È¯Çϰųª, (»ç¿ëÀÚ¿¡°Ô + ºü¸£°Ô ¼­ºñ½ºÇϱâÀ§ÇØ ¹Ì¸® ¹®¼­¸¦ ASCII Çü½ÄÀ¸·Î ÀúÀåÇÏ¿´°Å³ª + NFS·Î ¸¶¿îÆ®ÇÑ µð·ºÅ丮¿¡ ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì) º¯È¯¾øÀÌ + ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù.

    + +

    ¿¹:

    + +

    À̸§ÀÌ .ahtml·Î ³¡³ª´Â ÆÄÀÏÀ» ¾Ï¹¬ÀûÀÎ + º¯È¯¾øÀÌ ASCII text/html ¹®¼­·Î (±×¸®°í + .ascii È®ÀåÀÚ´Â ASCII + text/plainÀ¸·Î) ¼­ºñ½ºÇÏ·Á¸é ´ÙÀ½ Áö½Ã¾î¸¦ + »ç¿ëÇÑ´Ù:

    + +

    + AddType text/x-ascii-html .ahtml
    + AddType text/x-ascii-plain .ascii +

    + +

    ¶Ç, text/foo ½ÄÀÇ MIME typeÀ» + AddType "text/x-ascii-foo" + ¼³Á¤ÇÏ¿© "ÀÏ¹Ý ASCII"·Î ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù.

    +
  10. + +
  11. +

    ³»¿ëÀÌ ÀÏ¹Ý ¹®ÀÚ°¡ ¾Æ´Ñ ¹®¼­´Â º¯È¯¾øÀÌ Ç×»ó "¹ÙÀ̳ʸ®"·Î + ¼­ºñ½ºÇÑ´Ù. ¿¹¸¦ µé¾î, GIF/ZIP/AU ÆÄÀÏÇü½Ä¿¡ + °¡Àå ÀûÇÕÇÑ ¼±ÅÃÀÌ´Ù. ¹°·Ð »ç¿ëÀÚ´Â "rcp -b" + ¹ÙÀ̳ʸ® ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÆÄÀÏÀ» ¸ÞÀÎÇ÷¹ÀÓ È£½ºÆ®·Î + º¹»çÇß¾î¾ß ÇÑ´Ù.

    +
  12. + +
  13. +

    ¼­¹öÆÄ½Ì ÆÄÀÏÀº Ç×»ó ÄÄÇ»ÅÍ°¡ »ç¿ëÇÏ´Â ±âº» Çü½ÄÀ¸·Î + (Áï, EBCDIC) ÀúÀåµÇ¾ú´Ù°í °¡Á¤ÇÏ°í, ó¸®ÈÄ¿¡ + º¯È¯ÇÑ´Ù.

    +
  14. + +
  15. +

    CGI Ãâ·ÂÀÇ °æ¿ì CGI ½ºÅ©¸³Æ®°¡ º¯È¯ÀÌ ÇÊ¿äÇÑÁö °áÁ¤ÇÑ´Ù: + ÀûÀýÇÑ Content-TypeÀ» ¼³Á¤ÇÏ¿©, ¹®ÀÚÆÄÀÏÀº º¯È¯ÇÏ°í, + GIF Ãâ·ÂÀº º¯È¯¾øÀÌ º¸³¾ ¼ö ÀÖ´Ù. ¿ì¸®°¡ Æ÷ÆÃÇÑ wwwcount + ÇÁ·Î±×·¥ÀÌ ÈÄÀÚÀÇ °æ¿ì´Ù.

    +
  16. + +
+ +
top
+
+

¹®¼­ ÀúÀå¿¡ ´ëÇؼ­

+ + + +

¹ÙÀ̳ʸ® ÆÄÀÏ

+ + + +

¼­¹ö´Â Content-Type:ÀÌ text/·Î + ½ÃÀÛÇÏ´Â ¾Ê´Â ÆÄÀÏÀ» ¹ÙÀ̳ʸ® ÆÄÀÏ·Î °£ÁÖÇÏ¿© + ¾î¶² º¯È¯µµ ÇÏÁö ¾Ê´Â´Ù. ¹ÙÀ̳ʸ® ÆÄÀÏ¿¡´Â GIF ±×¸², gzipÀ¸·Î + ¾ÐÃàÇÑ ÆÄÀÏ µîÀÌ ÀÖ´Ù.

+ +

¸ÞÀÎÇ÷¹ÀÓ È£½ºÆ®¿Í À¯´Ð½º ȤÀº À©µµ¿ìÁî PC°£¿¡ ¹ÙÀ̳ʸ® + ÆÄÀÏÀ» Àü¼ÛÇÒ ¶§´Â ftp "binary" (TYPE I) ¸í·É¾î³ª + ¸ÞÀÎÇ÷¹ÀÓ È£½ºÆ®¿¡¼­ (À¯´Ð½º rcp´Â + -b ¿É¼ÇÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù) rcp -b + ¸í·É¾î¸¦ ¹Ýµå½Ã »ç¿ëÇ϶ó.

+ + + +

¹®ÀÚ ¹®¼­

+ + + +

±âº»ÀûÀ¸·Î ¼­¹ö´Â ¹®ÀÚÆÄÀÏÀÌ (Áï, + Content-Type:ÀÌ text/·Î ½ÃÀÛÇÏ´Â + ¸ðµç ÆÄÀÏ) È£½ºÆ®ÀÇ ±âº» ¹®ÀÚÁýÇÕÀÎ EBCDICÀ¸·Î ÀúÀåµÇ¾ú´Ù°í + °¡Á¤ÇÑ´Ù.

+ + + +

Server Side Include ¹®¼­

+ + + +

SSI ¹®¼­´Â ÇöÀç EBCDIC Çü½ÄÀ¸·Î¸¸ ÀúÀåÇØ¾ß ÇÑ´Ù. ó¸®Çϱâ + Àü¿¡ ASCII¸¦ º¯È¯ÇÏÁö ¾Ê´Â´Ù.

+ + + +
top
+
+

¾ÆÆÄÄ¡ ¸ðµâÀÇ »óÅÂ

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
¸ðµâ»óźñ°í
core+ +
mod_access+ +
mod_actions+ +
mod_alias+ +
mod_asis+ +
mod_auth+ +
mod_auth_anon+ +
mod_auth_dbm?ÀÚü libdb.a¸¦ »ç¿ëÇÏ¿©
mod_autoindex+ +
mod_cern_meta? +
mod_cgi+ +
mod_digest+ +
mod_dir+ +
mod_so-°øÀ¯¶óÀ̺귯¸®°¡ ¾øÀ½
mod_env+ +
mod_example-(½ÃÇè ´Ü°è)
mod_expires+ +
mod_headers+ +
mod_imagemap+ +
mod_include+ +
mod_info+ +
mod_log_agent+ +
mod_log_config+ +
mod_log_referer+ +
mod_mime+ +
mod_mime_magic?¾ÆÁ÷ Æ÷ÆþȵÊ
mod_negotiation+ +
mod_proxy+ +
mod_rewrite+Å×½ºÆ®¾ÈµÊ
mod_setenvif+ +
mod_speling+ +
mod_status+ +
mod_unique_id+ +
mod_userdir+ +
mod_usertrack?Å×½ºÆ®¾ÈµÊ
+ +
top
+
+

Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâÀÇ »óÅÂ

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
¸ðµâ»óźñ°í
JK (mod_jserv) + -JAVA´Â Æ÷ÆÃÁßÀÌ´Ù.
mod_php3+mod_php3´Â LDAP, GD, FreeType ¶óÀ̺귯¸®¿Í + ÇÔ²² Àß µ¿ÀÛÇÑ´Ù.
mod_put?Å×½ºÆ®¾ÈµÊ
mod_session-Å×½ºÆ®¾ÈµÊ
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/index.html b/docs/manual/platform/index.html new file mode 100644 index 0000000..5c37adc --- /dev/null +++ b/docs/manual/platform/index.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/platform/index.html.en b/docs/manual/platform/index.html.en new file mode 100644 index 0000000..fe44546 --- /dev/null +++ b/docs/manual/platform/index.html.en @@ -0,0 +1,124 @@ + + + + + +Platform Specific Notes - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Platform Specific Notes

+
+

Available Languages:  en  | + fr  | + ko  | + zh-cn 

+
+
+ +
top
+
+

Microsoft Windows

+ + + +
+
Using Apache
+
+

This document explains how to install, configure and run Apache 2.4 + under Microsoft Windows.

+ +

See: Using Apache with Microsoft Windows

+
+
+ +
+
Compiling Apache
+
+

There are many important points before you begin compiling Apache. + This document explain them.

+ +

See: Compiling Apache for Microsoft Windows

+
+
+ +
top
+
+

Unix Systems

+ + + +
+
RPM Based Systems (Redhat / CentOS / Fedora)
+
+

This document explains how to build, install, and run Apache 2.4 + on systems supporting the RPM packaging format.

+ +

See: Using Apache With RPM Based Systems

+
+
+ +
top
+
+

Other Platforms

+ + + +
+
Novell NetWare
+
+

This document explains how to install, configure and run Apache 2.4 + under Novell NetWare 5.1 and above.

+ +

See: Using Apache With Novell NetWare

+
+
+ +
+
EBCDIC
+
+

Version 1.3 of the Apache HTTP Server is the first version which + includes a port to a (non-ASCII) mainframe machine which uses the + EBCDIC character set as its native codeset.

+ +
Warning: This document + has not been updated to take into account changes made in + the 2.4 version of the Apache HTTP Server. Some of the + information may still be relevant, but please use it + with care.
+ +

See: The Apache EBCDIC Port

+
+
+ +
+
+

Available Languages:  en  | + fr  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/platform/index.html.fr.utf8 b/docs/manual/platform/index.html.fr.utf8 new file mode 100644 index 0000000..b4d99c2 --- /dev/null +++ b/docs/manual/platform/index.html.fr.utf8 @@ -0,0 +1,130 @@ + + + + + +Notes spécifiques aux différentes plateformes. - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Notes spécifiques aux différentes plateformes.

+
+

Langues Disponibles:  en  | + fr  | + ko  | + zh-cn 

+
+
+ +
top
+
+

Microsoft Windows

+ + + +
+
Utilisation d'Apache
+
+

Ce document explique comment installer, configurer et + exécuter Apache 2.4 sous Microsoft Windows.

+ +

Voir : Utilisation d'Apache avec Microsoft Windows

+
+
+ +
+
Compilation d'Apache
+
+

Il y a de nombreux points importants à connaître avant de se + lancer dans la compilation d'Apache. Ce document en donne la + description.

+ +

Voir : Compilation d'Apache pour Microsoft Windows

+
+
+ +
top
+
+

Systèmes de type Unix

+ + + +
+
Systèmes à base de paquets RPM (Redhat / CentOS / Fedora)
+
+

Ce document explique comment installer, configurer et + exécuter Apache 2.4 sur des systèmes qui supportent le format de + paquet RPM.

+ +

Voir : Utilisation d'Apache avec les + systèmes à base de paquets RPM

+
+
+ +
top
+
+

Autres plateformes

+ + + +
+
Novell NetWare
+
+

Ce document explique comment installer, configurer et + exécuter Apache 2.4 sous Novell NetWare versions 5.1 et + supérieures.

+ +

Voir : Utilisation d'Apache avec Novell NetWare

+
+
+ +
+
EBCDIC
+
+

La version 1.3 du serveur HTTP Apache est la première à + avoir été portée vers une machine de type mainframe (non-ASCII) + qui utilisait le jeu de caractères EBCDIC comme jeu de + caractères natif.

+ +
Avertissement :Ce document + n'a pas fait l'objet d'une mise à jour pour intégrer les + modifications intervenues à partir de la version 2.4 du serveur + HTTP Apache. Certaines des informations qu'il contient sont + toujours pertinentes, mais il est conseillé de les utiliser avec + prudence.
+ +

Voir : Le portage d'Apache vers EBCDIC

+
+
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/platform/index.html.ko.euc-kr b/docs/manual/platform/index.html.ko.euc-kr new file mode 100644 index 0000000..502eb0b --- /dev/null +++ b/docs/manual/platform/index.html.ko.euc-kr @@ -0,0 +1,109 @@ + + + + + +Ç÷¡Æûº° ¼³¸í - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Ç÷¡Æûº° ¼³¸í

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+
+ +
top
+
+

Microsoft Windows

+ + + +
+
¾ÆÆÄÄ¡ »ç¿ë¹ý
+
+

ÀÌ ¹®¼­´Â Microsoft Windows¿¡¼­ ¾ÆÆÄÄ¡ 2.0À» ¼³Ä¡, + ¼³Á¤, ½ÇÇàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+ +

¹®¼­: Microsoft Windows¿¡¼­ + ¾ÆÆÄÄ¡ »ç¿ë¹ý

+
+
+ +
+
¾ÆÆÄÄ¡ ÄÄÆÄÀÏ
+
+

¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇϱâ Àü¿¡ ÁÖÀÇÇÒ Á¡ÀÌ ¸¹´Ù. ÀÌ ¹®¼­´Â + ÀÌÁ¡À» ¼³¸íÇÑ´Ù.

+ +

¹®¼­: Microsoft Windows¿ë ¾ÆÆÄÄ¡ ÄÄÆÄÀÏ

+
+
+ +
top
+
+

±âŸ Ç÷¡Æû

+ + + +
+
Novell NetWare
+
+

ÀÌ ¹®¼­´Â Novell NetWare 5.1 À̻󿡼­ ¾ÆÆÄÄ¡ 2.0À» + ¼³Ä¡, ¼³Á¤, ½ÇÇàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+ +

¹®¼­: Novell NetWare¿¡¼­ ¾ÆÆÄÄ¡ + »ç¿ëÇϱâ

+
+
+ +
+
EBCDIC
+
+

¾ÆÆÄÄ¡ À¥¼­¹ö´Â 1.3 ¹öÀü¶§ óÀ½À¸·Î EBCDIC ¹®ÀÚÁýÇÕÀ» + ±âº» ¹®ÀÚÁýÇÕÀ¸·Î »ç¿ëÇÏ´Â (ºñ-ASCII) ¸ÞÀÎÇ÷¹ÀÓ ÄÄÇ»ÅÍ·Î + Æ÷ÆõǾú´Ù.

+ +
°æ°í: ÀÌ ¹®¼­´Â + ¾ÆÆÄÄ¡ À¥¼­¹ö 2.0 ¹öÀü¿¡¼­ º¯°æµÈ ³»¿ëÀ» ´ã°íÀÖÁö ¾Ê´Ù. + ¾ÆÁ÷µµ À¯È¿ÇÑ Á¤º¸°¡ ÀÖÁö¸¸, ÁÖÀÇÇؼ­ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.
+ +

¹®¼­: ¾ÆÆÄÄ¡ EBCDIC Æ÷ÆÃ

+
+
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/platform/index.html.zh-cn.utf8 b/docs/manual/platform/index.html.zh-cn.utf8 new file mode 100644 index 0000000..c391487 --- /dev/null +++ b/docs/manual/platform/index.html.zh-cn.utf8 @@ -0,0 +1,103 @@ + + + + + +å¹³å°ç›¸å…³è¯´æ˜Ž - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

å¹³å°ç›¸å…³è¯´æ˜Ž

+
+

å¯ç”¨è¯­è¨€:  en  | + fr  | + ko  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+
+ +
top
+
+

Microsoft Windows

+ + + +
+
使用 Apache
+
+

这篇文档解释了如何在 Microsoft Windows 中安装,é…置,以åŠè¿è¡Œ Apache 2.0 。

+ +

å‚è§: 在 Microsoft Windows 中使用 Apache

+
+
+ +
+
编译 Apache
+
+

这篇文档解释了编译 Apache çš„è¦ç‚¹ã€‚

+ +

å‚è§: 为 Microsoft Windows 编译 Apache

+
+
+ +
top
+
+

其它平å°

+ + + +
+
Novell NetWare
+
+

这篇文档解释了如何在 Novell NetWare 5.1 或更新的版本中,如何安装,é…置,以åŠè¿è¡Œ + Apache 2.0 。 +

+ +

å‚è§: 在 Novell NetWare 中使用 Apache

+
+
+ +
+
EBCDIC
+
+

从 Apache HTTP 版本 1.3 开始支æŒä½¿ç”¨ EBCDIC 字符集作为原生字符集的(éž ASCII)主机。

+ +
警告: + 这篇文档尚未完全更新,以å映自 Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.0 + 之åŽçš„修改。æŸäº›ä¿¡æ¯å¯èƒ½ä»æ—§é€‚用,但请å°å¿ƒä½¿ç”¨å®ƒã€‚
+ +

å‚è§: Apache 与 EBCDIC 系统

+
+
+ +
+
+

å¯ç”¨è¯­è¨€:  en  | + fr  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/platform/netware.html b/docs/manual/platform/netware.html new file mode 100644 index 0000000..afbeeb6 --- /dev/null +++ b/docs/manual/platform/netware.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: netware.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: netware.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: netware.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/platform/netware.html.en b/docs/manual/platform/netware.html.en new file mode 100644 index 0000000..dd00889 --- /dev/null +++ b/docs/manual/platform/netware.html.en @@ -0,0 +1,693 @@ + + + + + +Using Apache With Novell NetWare - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Using Apache With Novell NetWare

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + +

This document explains how to install, configure and run + Apache 2.0 under Novell NetWare 6.0 and above. If you find any bugs, + or wish to contribute in other ways, please use our + bug reporting + page.

+ +

The bug reporting page and dev-httpd mailing list are + not provided to answer questions about configuration or + running Apache. Before you submit a bug report or request, first + consult this document, the Frequently Asked + Questions page and the other relevant documentation topics. If + you still have a question or problem, post it to the + novell.devsup.webserver newsgroup, where many Apache users are + more than willing to answer new and obscure questions about using + Apache on NetWare.

+ +

Most of this document assumes that you are installing Apache + from a binary distribution. If you want to compile Apache + yourself (possibly to help with development, or to track down + bugs), see the section on Compiling Apache for + NetWare below.

+ +
+ +
top
+
+

Requirements

+ + + +

Apache 2.0 is designed to run on NetWare 6.0 service pack 3 + and above. If you are running a service pack less + than SP3, you must install the latest + NetWare Libraries + for C (LibC).

+ +

NetWare service packs are available here.

+ +

Apache 2.0 for NetWare can also be run in a NetWare 5.1 environment + as long as the latest service pack or the latest version + of the NetWare Libraries + for C (LibC) has been installed . WARNING: Apache 2.0 + for NetWare has not been targeted for or tested in this environment.

+ +
top
+
+

Downloading Apache for NetWare

+ + + +

Information on the latest version of Apache can be found on + the Apache web server at http://www.apache.org/. This + will list the current release, any more recent alpha or + beta-test releases, together with details of mirror web and + anonymous ftp sites. Binary builds of the latest releases of + Apache 2.0 for NetWare can be downloaded from + here.

+ +
top
+
+

Installing Apache for NetWare

+ + + +

There is no Apache install program for NetWare currently. If you + are building Apache 2.0 for NetWare from source, you will need to + copy the files over to the server manually.

+ +

Follow these steps to install Apache on NetWare from the + binary download (assuming you will install to + sys:/apache2):

+ +
    +
  • Unzip the binary download file to the root of the SYS: + volume (may be installed to any volume)
  • + +
  • Edit the httpd.conf file setting ServerRoot and ServerName along with any file path values + to reflect your correct server settings
  • + +
  • Add SYS:/APACHE2 to the search path, for example: +

    SEARCH ADD SYS:\APACHE2

    +
  • + +
+ +

Follow these steps to install Apache on NetWare manually + from your own build source (assuming you will install to + sys:/apache2):

+ +
    +
  • Create a directory called Apache2 on a + NetWare volume
  • + +
  • Copy APACHE2.NLM, APRLIB.NLM + to SYS:/APACHE2
  • + +
  • Create a directory under SYS:/APACHE2 + called BIN
  • + +
  • Copy HTDIGEST.NLM, HTPASSWD.NLM, + HTDBM.NLM, LOGRES.NLM, ROTLOGS.NLM + to SYS:/APACHE2/BIN
  • + +
  • Create a directory under SYS:/APACHE2 + called CONF
  • + +
  • Copy the HTTPD-STD.CONF file to the + SYS:/APACHE2/CONF directory and rename to + HTTPD.CONF
  • + +
  • Copy the MIME.TYPES, CHARSET.CONV and + MAGIC files to SYS:/APACHE2/CONF directory
  • + +
  • Copy all files and subdirectories in \HTTPD-2.0\DOCS\ICONS + to SYS:/APACHE2/ICONS
  • + +
  • Copy all files and subdirectories in \HTTPD-2.0\DOCS\MANUAL + to SYS:/APACHE2/MANUAL
  • + +
  • Copy all files and subdirectories in \HTTPD-2.0\DOCS\ERROR + to SYS:/APACHE2/ERROR
  • + +
  • Copy all files and subdirectories in \HTTPD-2.0\DOCS\DOCROOT + to SYS:/APACHE2/HTDOCS
  • + +
  • Create the directory SYS:/APACHE2/LOGS + on the server
  • + +
  • Create the directory SYS:/APACHE2/CGI-BIN + on the server
  • + +
  • Create the directory SYS:/APACHE2/MODULES + and copy all nlm modules into the modules directory
  • + +
  • Edit the HTTPD.CONF file searching for all + @@Value@@ markers and replacing them with the + appropriate setting
  • + +
  • Add SYS:/APACHE2 to the search path, for example: +

    SEARCH ADD SYS:\APACHE2

    +
  • +
+ +

Apache may be installed to other volumes besides the default SYS volume.

+ +

During the build process, adding the keyword "install" to the makefile command line + will automatically produce a complete distribution package under the subdirectory + DIST. Install Apache by simply copying the distribution that was produced + by the makfiles to the root of a NetWare volume (see: Compiling Apache for + NetWare below).

+ +
top
+
+

Running Apache for NetWare

+ + + +

To start Apache just type apache at the + console. This will load apache in the OS address space. If you + prefer to load Apache in a protected address space you may + specify the address space with the load statement as follows:

+ +

+ load address space = apache2 apache2 +

+ +

This will load Apache into an address space called apache2. + Running multiple instances of Apache concurrently on NetWare is + possible by loading each instance into its own protected + address space.

+ +

After starting Apache, it will be listening to port 80 + (unless you changed the Listen + directive in the configuration files). + To connect to the server and access the default page, + launch a browser and enter the server's name or address. This + should respond with a welcome page, and a link to the Apache + manual. If nothing happens or you get an error, look in the + error_log file in the logs + directory.

+ +

Once your basic installation is working, you should + configure it properly by editing the files in the + conf directory.

+ +

To unload Apache running in the OS address space just type + the following at the console:

+ +

+ unload apache2 +

+ +

or

+ +

+ apache2 shutdown +

+ +

If apache is running in a protected address space specify the + address space in the unload statement:

+ +

+ unload address space = apache2 apache2 +

+ +

When working with Apache it is important to know how it will + find the configuration files. You can specify a configuration + file on the command line in two ways:

+ +
    +
  • -f specifies a path to a particular + configuration file
  • +
+ +

+ apache2 -f "vol:/my server/conf/my.conf" +

+ +

+ apache -f test/test.conf +

+ +

In these cases, the proper ServerRoot + should be set in the configuration file.

+ +

If you don't specify a configuration file name with -f, + Apache will use the file name compiled into the server, usually + conf/httpd.conf. Invoking Apache with the -V + switch will display this value labeled as SERVER_CONFIG_FILE. + Apache will then determine its ServerRoot + by trying the following, in this order:

+ +
    +
  • A ServerRoot directive via a + -C switch.
  • + +
  • The -d switch on the command line.
  • + +
  • Current working directory
  • + +
  • The server root compiled into the server.
  • +
+ +

The server root compiled into the server is usually sys:/apache2. + invoking apache with the -V switch will display this value labeled as + HTTPD_ROOT.

+ +

Apache 2.0 for NetWare includes a set of command line directives that can + be used to modify or display information about the running instance of the + web server. These directives are only available while Apache is running. Each + of these directives must be preceded by the keyword APACHE2.

+ +
+
RESTART
+
Instructs Apache to terminate all running worker + threads as they become idle, reread the configuration file and restart each + worker thread based on the new configuration.
+ +
VERSION
+
Displays version information about the currently + running instance of Apache.
+ +
MODULES
+
Displays a list of loaded modules both built-in + and external.
+ +
DIRECTIVES
+
Displays a list of all available directives.
+ +
SETTINGS
+
Enables or disables the thread status display + on the console. When enabled, the state of each running threads is displayed + on the Apache console screen.
+ +
SHUTDOWN
+
Terminates the running instance of the Apache + web server.
+ +
HELP
+
Describes each of the runtime directives.
+
+ +

By default these directives are issued against the instance of Apache running + in the OS address space. To issue a directive against a specific instance running + in a protected address space, include the -p parameter along with the name of the + address space. For more information type "apache2 Help" on the command line.

+ +
top
+
+

Configuring Apache for NetWare

+ + + +

Apache is configured by reading configuration files usually stored + in the conf directory. These are the same as files used + to configure the Unix version, but there are a few different directives for + Apache on NetWare. See the Apache module + documentation for all the available directives.

+ +

The main differences in Apache for NetWare are:

+ +
    +
  • +

    Because Apache for NetWare is multithreaded, it does not + use a separate process for each request, as Apache does on some Unix + implementations. Instead there are only threads running: a parent + thread, and multiple child or worker threads which handle the requests.

    + +

    Therefore the "process"-management directives are different:

    + +

    MaxConnectionsPerChild - + Like the Unix directive, this controls how many connections + a worker thread will serve before exiting. The recommended default, + MaxConnectionsPerChild 0, causes the thread to continue servicing + request indefinitely. It is recommended on NetWare, unless there is some + specific reason, that this directive always remain set to 0.

    + +

    StartThreads - + This directive tells the server how many threads it should start initially. + The recommended default is StartThreads 50.

    + +

    MinSpareThreads - + This directive instructs the server to spawn additional worker threads + if the number of idle threads ever falls below this value. The recommended + default is MinSpareThreads 10.

    + +

    MaxSpareThreads - + This directive instructs the server to begin terminating worker threads + if the number of idle threads ever exceeds this value. The recommended + default is MaxSpareThreads 100.

    + +

    MaxThreads - + This directive limits the total number of work threads to a maximum + value. The recommended default is ThreadsPerChild 250.

    + +

    ThreadStackSize - + This directive tells the server what size of stack to use + for the individual worker thread. The recommended default + is ThreadStackSize 65536.

    +
  • + +
  • +

    The directives that accept filenames as arguments must use + NetWare filenames instead of Unix names. However, because Apache + uses Unix-style names internally, forward slashes must be used + rather than backslashes. It is recommended that all rooted file paths + begin with a volume name. If omitted, Apache will assume the + SYS: volume which may not be correct.

    +
  • + +
  • +

    Apache for NetWare has the ability to load modules at + runtime, without recompiling the server. If Apache is + compiled normally, it will install a number of optional + modules in the \Apache2\modules directory. + To activate these, or other modules, the LoadModule directive + must be used. For example, to active the status module, use + the following:

    + +

    + LoadModule status_module modules/status.nlm +

    + +

    Information on creating loadable + modules is also available.

    +
  • +
+ +

Additional NetWare specific directives:

+ + + +
    +
  • CGIMapExtension - + This directive maps a CGI file extension to a script interpreter.
  • +
+
    +
  • SecureListen - + Enables SSL encryption for a specified port.
  • +
+
    +
  • NWSSLTrustedCerts - + Adds trusted certificates that are used to create secure connections to proxied servers.
  • +
+
    +
  • NWSSLUpgradeable - + Allow a connection created on the specified address/port to be upgraded to an SSL connection.
  • +
+ + + +
top
+
+

Compiling Apache for NetWare

+ + + +

Compiling Apache requires MetroWerks CodeWarrior 6.x or higher. Once + Apache has been built, it can be installed to the root of any NetWare + volume. The default is the sys:/Apache2 directory.

+ +

Before running the server you must fill out the conf + directory. Copy the file HTTPD-STD.CONF from the distribution + conf directory and rename it to HTTPD.CONF. + Edit the HTTPD.CONF file searching for all @@Value@@ + markers and replacing them with the appropriate setting. Copy over + the conf/magic and conf/mime.types files as well. + Alternatively, a complete distribution can be built by including the keyword + install when invoking the makefiles.

+ +

Requirements:

+ + + +

The following development tools are required to build + Apache 2.0 for NetWare:

+ + + + + +

Building Apache using the NetWare makefiles:

+ + + +
    +
  • Set the environment variable NOVELLLIBC to the + location of the NetWare Libraries for C SDK, for example: +

    Set NOVELLLIBC=c:\novell\ndk\libc

    +
  • + +
  • Set the environment variable METROWERKS to the + location where you installed the Metrowerks CodeWarrior compiler, + for example: +

    Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior

    + If you installed to the default location C:\Program + Files\Metrowerks\CodeWarrior, you don't need to set this.
  • + +
  • Set the environment variable LDAPSDK to the + location where you installed the LDAP Libraries for C, for example: +

    Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc

    +
  • + +
  • Set the environment variable ZLIBSDK to the + location where you installed the source code for the ZLib Library, + for example: +

    Set ZLIBSDK=D:\NOVELL\zlib

    +
  • + +
  • Set the environment variable PCRESDK to the location + where you installed the source code for the PCRE Library, for example: +

    Set PCRESDK=D:\NOVELL\pcre

    +
  • + +
  • Set the environment variable AP_WORK to the full path of + the httpd source code directory. +

    Set AP_WORK=D:\httpd-2.0.x

    +
  • + +
  • Set the environment variable APR_WORK to the full path of + the apr source code directory. Typically \httpd\srclib\apr + but the APR project can be outside of the httpd directory structure. +

    Set APR_WORK=D:\apr-1.x.x

    +
  • + +
  • Set the environment variable APU_WORK to the full path of + the apr-util source code directory. Typically \httpd\srclib\apr-util + but the APR-UTIL project can be outside of the httpd directory structure. +

    Set APU_WORK=D:\apr-util-1.x.x

    +
  • + +
  • Make sure that the path to the AWK utility and the GNU make utility + (gmake.exe) have been included in the system's + PATH environment variable.
  • + +
  • Download the source code and unzip to an appropriate directory on + your workstation.
  • + +
  • Change directory to \httpd-2.0 and build the prebuild utilities + by running "gmake -f nwgnumakefile prebuild". This target will create + the directory \httpd-2.0\nwprebuild and copy each of the utilities + to this location that are necessary to complete the following build steps. +
  • + +
  • Copy the files \httpd-2.0\nwprebuild\GENCHARS.nlm and + \httpd-2.0\nwprebuild\DFTABLES.nlm to the SYS: volume of a + NetWare server and run them using the following commands: +

    + SYS:\genchars > sys:\test_char.h
    + SYS:\dftables sys:\chartables.c
    +

    +
  • + +
  • Copy the files test_char.h and chartables.c + to the directory \httpd-2.0\os\netware on the build machine.
  • + +
  • Change directory to \httpd-2.0 and build Apache by running + "gmake -f nwgnumakefile". You can create a distribution directory by + adding an install parameter to the command, for example: +

    gmake -f nwgnumakefile install

    +
  • +
+ + + +

Additional make options

+ + + +
    +
  • gmake -f nwgnumakefile

    Builds release versions of all of the + binaries and copies them to a \release destination directory.

  • + +
  • gmake -f nwgnumakefile DEBUG=1

    Builds debug versions of all of the + binaries and copies them to a \debug destination directory.

  • + +
  • gmake -f nwgnumakefile install

    Creates a complete Apache + distribution with binaries, docs and additional support files in a + \dist\Apache2 directory.

  • + +
  • gmake -f nwgnumakefile prebuild

    Builds all of the prebuild utilities + and copies them to the \nwprebuild directory.

  • + +
  • gmake -f nwgnumakefile installdev

    Same as install but also creates a + \lib and \include directory in the destination directory + and copies headers and import files.

  • + +
  • gmake -f nwgnumakefile clean

    Cleans all object files and binaries + from the \release.o or \debug.o build areas depending on whether + DEBUG has been defined.

  • + +
  • gmake -f nwgnumakefile clobber_all

    Same as clean and also deletes + the distribution directory if it exists.

  • +
+ + + +

Additional environment variable options

+ + + +
    +
  • To build all of the experimental modules, set the environment + variable EXPERIMENTAL: +

    Set EXPERIMENTAL=1

    +
  • + +
  • To build Apache using standard BSD style sockets rather than + Winsock, set the environment variable USE_STDSOCKETS: +

    Set USE_STDSOCKETS=1

    +
  • + +
+ + + +

Building mod_ssl for the NetWare platform

+ + + +

By default Apache for NetWare uses the built-in module + mod_nw_ssl to provide SSL services. This module + simply enables the native SSL services implemented in NetWare OS + to handle all encryption for a given port. Alternatively, mod_ssl + can also be used in the same manner as on other platforms.

+ +

Before mod_ssl can be built for the NetWare platform, the OpenSSL + libraries must be provided. This can be done through the following + steps:

+ +
    +
  • Download the recent OpenSSL 0.9.8 release source code from the + OpenSSL Source + page (older 0.9.7 versions need to be patched and are therefore not + recommended).
  • + +
  • Edit the file NetWare/set_env.bat and modify any + tools and utilities paths so that they correspond to your build + environment.
  • + +
  • From the root of the OpenSSL source directory, run the following + scripts: +

    + Netware\set_env netware-libc
    + Netware\build netware-libc +

    + For performance reasons you should enable to build with ASM code. + Download NASM from the SF site. + Then configure OpenSSL to use ASM code: +

    + Netware\build netware-libc nw-nasm enable-mdc2 enable-md5 +

    + Warning: don't use the CodeWarrior Assembler - it produces broken code! +
  • + +
  • Before building Apache, set the environment variable + OSSLSDK to the full path to the root of the openssl + source code directory, and set WITH_MOD_SSL to 1. +

    + Set OSSLSDK=d:\openssl-0.9.8x
    + Set WITH_MOD_SSL=1 +

  • + +
+ + + +
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/netware.html.fr.utf8 b/docs/manual/platform/netware.html.fr.utf8 new file mode 100644 index 0000000..c85575f --- /dev/null +++ b/docs/manual/platform/netware.html.fr.utf8 @@ -0,0 +1,763 @@ + + + + + +Utilisation d'Apache avec Novell NetWare - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Utilisation d'Apache avec Novell NetWare

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + +

Ce document explique l'installation, la configuration et le + lancement d'Apache 2.0 sous Novell NetWare 6.0 et les versions + ultérieures. Si vous trouvez une bogue, ou voulez tout simplement + contribuer de quelque manière que ce soit, utilisez s'il vous plait + notre page des + rapports de bogues.

+ +

La page des rapports de bogues et la liste de diffusion dev-httpd + ne doivent pas être utilisées pour poser des questions à propos de + la configuration ou du lancement d'Apache. Avant de soumettre un + rapport de bogue ou une question, consultez ce document, la FAQ ou tout autre sujet de la + documentation en rapport avec votre problème. Si vous n'avez + toujours pas résolu votre problème, postez votre question dans le + newsgroup + novell.devsup.webserver, où de nombreux utilisateurs d'Apache + sont prêts à répondre à toutes les nouvelles et obscures questions à + propos de l'utilisation d'Apache sous Netware.

+ +

Dans la majeure partie de ce document, vous êtes sensé avoir + installé Apache à partir d'une distribution binaire. Si vous voulez + compiler Apache vous-même (par exemple pour aider au développement, + ou pour rechercher des bogues), reportez-vous à la section traitant + de la Compilation d'Apache pour Netware + ci-dessous.

+ +
+ +
top
+
+

Prérequis

+ + + +

Apache 2.0 nécessite NetWare 6.0 service pack 3 et supérieurs + pour fonctionner. Si vous utilisez un service pack antérieur à SP3, + vous devez installer les dernières Bibliothèques + Netware pour C (LibC).

+ +

Vous trouverez les service packs Netware ici.

+ +

Apache 2.0 pour NetWare peut aussi fonctionner dans un + environnement NetWare 5.1, à partir du moment où le dernier service + pack ou la dernière version des Bibliothèques + Netware pour C (LibC) ont été installés. ATTENTION + : Apache 2.0 pour NetWare n'a pas été testé dans cet + environnement car il n'a pas été conçu pour ce dernier.

+ +
top
+
+

Téléchargement d'Apache pour NetWare

+ + + +

Les informations à propos de la dernière version + d'Apache sont disponibles sur le site web d'Apache à http://www.apache.org/. Vous y + trouverez la version courante, des versions alpha ou bêta-test plus + récentes, ainsi que des sites miroirs et des sites FTP anonymes. Les + distributions binaires des dernières versions d'Apache 2.0 pour + NetWare sont disponibles ici.

+ +
top
+
+

Installation d'Apache pour NetWare

+ + + +

Il n'existe pas actuellement de programme d'installation d'Apache + pour Netware. Si vous installez Apache 2.0 pour NetWare à partir des + sources, vous devrez copier les fichiers sur le serveur + manuellement.

+ +

Suivez ces instructions pour installer Apache sous Netware à + partir de la distribution binaire (en supposant que vous effectuez + l'installation dans sys:/apache2) :

+ +
    +
  • Décompressez le fichier binaire téléchargé à la racine du + volume SYS: (vous pouvez cependant l'installer dans + tout volume)
  • + +
  • Editez le fichier httpd.conf et définissez les + directives ServerRoot et + ServerName avec les valeurs + correctes des chemins de fichiers qui correspondent à la + configuration de votre serveur.
  • + +
  • Ajoutez SYS:/APACHE2 au chemin de recherche, par + une commande du style :

    SEARCH ADD + SYS:\APACHE2

  • + +
+ +

Suivez ces instructions pour installer Apache pour Netware + manuellement à partir de votre propre répertoire de sources (en + supposant que vous effectuez l'installation dans + sys:/apache2) :

+ +
    +
  • Créez un répertoire que vous appellerez Apache2 + dans un volume Netware.
  • + +
  • Copiez APACHE2.NLM, APRLIB.NLM dans + SYS:/APACHE2.
  • + +
  • Créez un répertoire que vous appellerez BIN dans + SYS:/APACHE2.
  • + +
  • Copiez HTDIGEST.NLM, HTPASSWD.NLM, + HTDBM.NLM, LOGRES.NLM, + ROTLOGS.NLM dans SYS:/APACHE2/BIN.
  • + +
  • Créez un répertoire que vous appellerez CONF dans + SYS:/APACHE2.
  • + +
  • Copiez le fichier HTTPD-STD.CONF dans le + répertoire SYS:/APACHE2/CONF et renommez-le en + HTTPD.CONF.
  • + +
  • Copiez les fichiers MIME.TYPES, + CHARSET.CONV et MAGIC dans le répertoire + SYS:/APACHE2/CONF.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\ICONS dans + SYS:/APACHE2/ICONS.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\MANUAL dans + SYS:/APACHE2/MANUAL.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\ERROR dans + SYS:/APACHE2/ERROR.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\DOCROOT dans + SYS:/APACHE2/HTDOCS.
  • + +
  • Créez le répertoire SYS:/APACHE2/LOGS sur le + serveur.
  • + +
  • Créez le répertoire SYS:/APACHE2/CGI-BIN sur le + serveur.
  • + +
  • Créez le répertoire SYS:/APACHE2/MODULES et + copiez tous les modules nlm dans le répertoire + modules.
  • + +
  • Editez le fichier HTTPD.CONF, et recherchez + toutes les marques @@Value@@ afin de les remplacer + par les valeurs appropriées.
  • + +
  • Ajoutez SYS:/APACHE2 au chemin de recherche, par + une commande du style :

    SEARCH ADD + SYS:\APACHE2

    .
  • +
+ +

Outre le volume par défaut SYS, Apache peut être + installé dans tout autre volume.

+ +

Au cours du processus d'installation, l'ajout du mot-clé + "install" à la ligne de commande du makefile va provoquer la + construction d'une distribution complète sous forme d'un paquetage + dans le sous-répertoire DIST. Vous pouvez simplement + installer Apache en copiant la distribution créée précédemment à la + racine d'un volume Netware (voir Compilation + d'Apache pour NetWare ci-dessous).

+ +
top
+
+

Exécuter Apache pour NetWare

+ + + +

Pour démarrer Apache, tapez simplement apache dans + la console. Ceci aura pour effet de charger Apache dans l'espace + d'adressage du système d'exploitation. Si vous préférez charger + Apache dans un espace d'adressage protégé, vous pouvez spécifier cet + espace d'adressage à l'aide de l'instruction de chargement suivante + :

+ +

+ load address space = apache2 apache2 +

+ +

Cette instruction va charger Apache dans un espace d'adressage + appelé apache2. Il est possible d'exécuter plusieurs instances + simultanées d'Apache sous Netware, en chargeant chacune d'entre + elles dans son propre espace d'adressage protégé.

+ +

Une fois démarré, Apache écoute le port 80 (à moins que vous + n'ayez modifié la directive Listen dans les fichiers de + configuration). Pour vous connecter au serveur et afficher la page + par défaut, lancez un navigateur et entrez le nom du serveur ou son + adresse IP. Vous devriez voir une page de bienvenue, et un lien vers + le manuel Apache. Si rien ne se produit, ou si vous obtenez un + message d'erreur, consultez le fichier error_log dans + le répertoire logs.

+ +

Lorsque votre installation de base fonctionne, vous devez la + configurer correctement en éditant les fichiers du répertoire + conf.

+ +

Pour arrêter une instance d'Apache s'exécutant dans l'espace + d'adressage du système d'exploitation, entrez simplement dans la + console :

+ +

+ unload apache2 +

+ +

ou

+ +

+ apache2 shutdown +

+ +

Si Apache s'exécute dans un espace d'adressage protégé, spécifiez + cet espace d'adressage dans l'instruction d'arrêt :

+ +

+ unload address space = apache2 apache2 +

+ +

Lorsqu'on travaille avec Apache, il est important de savoir + comment il trouve ses fichiers de configuration. Vous pouvez + spécifier un fichier de configuration sur la ligne de commande de + deux manières :

+ +
    +
  • -f spécifie un chemin vers un fichier de + configuration particulier
  • +
+ +

+ apache2 -f "vol:/nom-serveur/conf/fich-conf.conf" +

+ +

+ apache -f test/test.conf +

+ +

Dans ces cas, la directive ServerRoot doit être correctement définie + dans le fichier de configuration.

+ +

Si vous ne spécifiez pas de nom de fichier de configuration avec + l'option -f, Apache utilisera le nom de fichier codé en + dur dans le serveur, en général conf/httpd.conf. + L'invocation d'Apache avec l'option -V indiquera ce nom + comme valeur de l'étiquette SERVER_CONFIG_FILE. Apache + va ensuite déterminer son ServerRoot en effectuant les tests + suivants, dans cet ordre

+ +
    +
  • Une directive ServerRoot via une option + -C switch.
  • + +
  • L'option de ligne de commande -d.
  • + +
  • Le contenu du répertoire courant.
  • + +
  • La racine du répertoire d'installation codée en dur dans le + serveur.
  • +
+ +

La racine du répertoire d'installation codée en dur dans le + serveur est en général sys:/apache2. L'invocation + d'Apache avec l'option -V indiquera ce chemin comme + valeur de l'étiquette HTTPD_ROOT.

+ +

Apache 2.0 pour Netware comporte un jeu d'options de ligne de + commande permettant d'afficher ou de modifier certaines + caractéristiques de l'instance du serveur web en cours d'exécution. + Ces options ne sont disponibles que lorsqu'Apache est en cours + d'exécution. Chacune de ces options doit être précédée du mot-clé + APACHE2.

+ +
+
RESTART
+
Demande à Apache d'arrêter tout worker thread en cours + d'exécution lorsqu'il devient inactif, de recharger le fichier de + configuration, et de redémarrer chaque worker thread en fonction + de la nouvelle configuration.
+ +
VERSION
+
Affiche des informations à propos de la version de l'instance + d'Apache en cours d'exécution.
+ +
MODULES
+
Affiche la liste des modules chargés (intégrés et + externes).
+ +
DIRECTIVES
+
Affiche la liste des directives disponibles.
+ +
SETTINGS
+
Active ou désactive l'affichage du statut des threads sur la + console. En cas d'activation, l'état de chaque thread en cours + d'exécution s'affiche sur l'écran de la console Apache.
+ +
SHUTDOWN
+
Arrête l'instance du serveur web Apache en cours + d'exécution.
+ +
HELP
+
Décrit chacune des options disponibles au cours de l'exécution + d'Apache.
+
+ +

Par défaut, ces options sont passées à l'instance d'apache + s'exécutant dans l'espace d'adressage du système d'exploitation. + Pour passer une option à une instance d'Apache spécifique + s'exécutant dans un espace d'adressage protégé, ajouter le paramètre + -p suivi du nom de l'espace d'adressage. Pour plus d'informations, + tapez "apache2 Help" sur la ligne de commande.

+ +
top
+
+

Configuration d'Apache pour NetWare

+ + + +

Apache lit en général ses fichiers de configuration dans le + répertoire conf. Ces fichiers sont les mêmes que ceux + de la version Unix, mais quelques directives sont différentes sous + Netware. Voir la Documentation Apache pour + l'ensemble des directives disponibles.

+ +

Les principales différences propres à Apache pour NetWare sont + :

+ +
    +
  • +

    Comme Apache pour Netware est une application multithread, + elle n'utilise pas de processus séparé pour chaque requête, + comme c'est le cas pour certaines implémentations sous Unix. Il + n'y a que des threads en cours d'exécution : un thread parent, + et plusieurs threads enfants ou worker qui traitent les + requêtes.

    + +

    En conséquence, les directives de gestion des "processus" + sont différentes :

    + +

    MaxConnectionsPerChild - comme sous + Unix, cette directive contrôle le nombre maximum de connexions + qu'un worker thread peut traiter avant de s'arrêter. Avec la + valeur par défaut MaxConnectionsPerChild 0, + le thread va pouvoir traiter un nombre illimité de requêtes. + Cette valeur est recommandée sous Netware, à moins que vous + n'ayez des raisons particulières de la modifier.

    + +

    StartThreads - + Cette directive indique au serveur le nombre de threads qu'il + doit lancer au démarrage. Il est recommandé de conserver la + valeur par défaut StartThreads 50.

    + +

    MinSpareThreads - + Cette directive indique au serveur le nombre de worker threads + additionnels qu'il doit lancer si le nombre de threads inactifs + tombe en dessous de cette valeur. Il est recommandé de conserver la + valeur par défaut MinSpareThreads 10.

    + +

    MaxSpareThreads - + Cette directive indique au serveur qu'il doit commencer à + arrêter des worker threads si le nombre de threads inactifs + passe au dessus de cette valeur. Il est recommandé de conserver + la valeur par défaut MaxSpareThreads 100.

    + +

    MaxThreads - + Cette directive impose un nombre maximum de worker threads. Il + est recommandé de conserver la valeur par défaut + ThreadsPerChild 250.

    + +

    ThreadStackSize - + Cette directive indique au serveur la taille de la pile à + utiliser pour un worker thread individuel. Il est recommandé de + conserver la valeur par défaut ThreadStackSize + 65536.

    +
  • + +
  • +

    Les directives qui acceptent des noms de fichiers comme + arguments ne doivent pas utiliser des noms de fichiers Unix, + mais des noms de fichiers Netware. Cependant, comme Apache + utilise des noms de style Unix en interne, on doit utiliser des + slashes et non des antislashes. Il est recommandé de préfixer + tous les chemins de fichiers racines par un nom de volume. Si ce + dernier est omis, Apache supposera que le volume est + SYS:, ce qui n'est pas forcément correct.

    +
  • + +
  • +

    Apache pour Netware a la possibilité de charger des modules + en cours d'exécution, sans avoir à recompiler le serveur. Si + Apache est compilé avec les options par défaut, il va installer + de nombreux modules optionnels dans le répertoire + \Apache2\modules. Pour les activer, ou en activer + d'autres, on doit utiliser la directive LoadModule. Par exemple, pour + activer le module status, ajoutez la ligne suivante :

    + +

    + LoadModule status_module modules/status.nlm +

    + +

    Des informations à propos de la création de modules + chargeables sont aussi disponibles.

    +
  • +
+ +

Autres directives spécifiques à Netware :

+ + + +
    +
  • CGIMapExtension - + Cette directive associe une extension de fichier CGI à un + interpréteur de script.
  • +
+
    +
  • SecureListen - + Cette directive active le chiffrement SSL pour un port + spécifique.
  • +
+
    +
  • NWSSLTrustedCerts - + Cette directive permet d'ajouter des certificats de confiance + pouvant être utilisés pour créer des connexions sécurisées vers + des serveurs mandataires.
  • +
+
    +
  • NWSSLUpgradeable - + Cette directive permet de faire passer en SSL une connexion + initialisée sur les adresse IP et Port spécifiés.
  • +
+ + + +
top
+
+

Compilation d'Apache pour NetWare

+ + + +

La compilation d'Apache nécessite MetroWerks CodeWarrior 6.x ou + supérieur. Une fois compilé, Apache peut être installé à la racine + de tout volume Netware. Le répertoire d'installation par défaut est + sys:/Apache2.

+ +

Avant de démarrer Apache, vous devez remplir le répertoire + conf. Copiez le fichier HTTPD-STD.CONF + depuis le répertoire conf de la distribution et + renommez-le en HTTPD.CONF. Editez le fichier + HTTPD.CONF en recherchant les repères + @@Value@@, et remplacez ces derniers par la valeur + appropriée. Copiez de même les fichiers conf/magic et + conf/mime.types. Vous pouvez aussi construire une + distribution complète en ajoutant le mot-clé install + lors de l'invocation des makefiles.

+ +

Prérequis :

+ + + +

Les outils de développement suivants sont nécessaires pour la + compilation d'Apache pour Netware :

+ + + + + +

Compiler Apache en utilisant les makefiles Netware + :

+ + + +
    +
  • Définissez la variable d'environnement + NOVELLLIBC avec le chemin des bibliothèques Netware + pour C SDK ; par exemple :

    Set + NOVELLLIBC=c:\novell\ndk\libc

  • + +
  • Définissez la variable d'environnement + METROWERKS avec le chemin de votre compilateur + Metrowerks CodeWarrior ; par exemple :

    Set + METROWERKS=C:\Program Files\Metrowerks\CodeWarrior

    . Si + vous l'avez installé dans le répertoire par défaut + C:\Program Files\Metrowerks\CodeWarrior, vous + n'avez pas besoin de définir cette variable.
  • + +
  • Définissez la variable d'environnement LDAPSDK + avec le chemin des bibliothèques LDAP pour C ; par exemple : +

    Set + LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc

  • + +
  • Définissez la variable d'environnement ZLIBSDK + avec le chemin du code source de la bibliothèque Zlib ; par + exemple :

    Set ZLIBSDK=D:\NOVELL\zlib

  • + +
  • Définissez la variable d'environnement PCRESDK + avec le chemin d'installation du code source de la bibliothèque + PCRE ; par exemple : +

    Set PCRESDK=D:\NOVELL\pcre

    +
  • + +
  • Définissez la variable d'environnement AP_WORK + avec le chemin du code source de httpd. +

    Set AP_WORK=D:\httpd-2.0.x

  • + +
  • Définissez la variable d'environnement APR_WORK + avec le chemin du code source d'apr ; en général + \httpd\srclib\apr, mais le projet APR peut se + trouver en dehors de la structure des répertoires de httpd. +

    Set APR_WORK=D:\apr-1.x.x

  • + +
  • Définissez la variable d'environnement APU_WORK + avec le chemin du code source d'apr-util ; en + général \httpd\srclib\apr-util, mais le projet + APR-UTIL peut se trouver en dehors de la structure des + répertoires de httpd.

    Set + APU_WORK=D:\apr-util-1.x.x

  • + +
  • Vérifiez que les chemins des utilitaires AWK et GNU make + (gmake.exe) ont bien été inclus dans la variable + d'environnement système PATH.
  • + +
  • Téléchargez le code source et décompressez-le dans un + répertoire de votre choix sur votre station de travail.
  • + +
  • Positionnez-vous dans le répertoire \httpd-2.0 + et compilez les utilitaires précompilés à l'aide de la commande + "gmake -f nwgnumakefile prebuild". Cette cible va + créer le répertoire \httpd-2.0\nwprebuild, et y + copier tous les utilitaires nécessaires au franchissement des + étapes suivantes de la compilation.
  • + +
  • Copiez les fichiers + \httpd-2.0\nwprebuild\GENCHARS.nlm et + \httpd-2.0\nwprebuild\DFTABLES.nlm vers le volume + SYS: d'un serveur Netware et exécutez-les à l'aide + des commandes suivantes : +

    + SYS:\genchars > sys:\test_char.h
    + SYS:\dftables sys:\chartables.c
    +

    +
  • + +
  • Copiez les fichiers test_char.h et + chartables.c vers le répertoire + \httpd-2.0\os\netware de la machine où s'effectue + la compilation.
  • + +
  • Positionnez-vous dans le répertoire \httpd-2.0 + et compilez Apache à l'aide de la commande "gmake -f + nwgnumakefile". Vous pouvez créer un répertoire pour la + distribution en ajoutant le paramètre install à la commande ; + par exemple : +

    gmake -f nwgnumakefile install

    +
  • +
+ + + +

Options de make supplémentaires

+ + + +
    +
  • gmake -f nwgnumakefile

    Compile les versions + de distribution de tous les binaires et les copie dans un + répertoire \release.

  • + +
  • gmake -f nwgnumakefile DEBUG=1

    Compile les versions + de débogage de tous les binaires et les copie dans un + répertoire \debug.

  • + +
  • gmake -f nwgnumakefile install

    Crée une + distribution complète d'Apache avec les binaires, la + documentation et les fichiers support dans un répertoire + \dist\Apache2.

  • + +
  • gmake -f nwgnumakefile prebuild

    Compile tous + les utilitaires précompilés et les copie dans le répertoire + \nwprebuild.

  • + +
  • gmake -f nwgnumakefile installdev

    Même effet + que l'option install, mais en plus, les répertoires + \lib et \include sont créés dans le + répertoire de destination, et les en-têtes et fichiers d'import + y sont copiés.

  • + +
  • gmake -f nwgnumakefile clean

    Supprime tous + les fichiers objets et les binaires de la zone de compilation + \release.o, ou \debug.o si + DEBUG a été défini.

  • + +
  • gmake -f nwgnumakefile clobber_all

    Même effet + que clean, mais en plus, le répertoire de la distribution est + supprimé s'il existe.

  • +
+ + + +

Variables d'environnement supplémentaires

+ + + +
    +
  • Pour compiler tous les modules expérimentaux, définissez la + variable d'environnement EXPERIMENTAL : +

    Set EXPERIMENTAL=1

    +
  • + +
  • Pour compiler Apache en utilisant les sockets de style BSD + standard, plutôt que Winsock, définissez la variable + d'environnement USE_STDSOCKETS : +

    Set USE_STDSOCKETS=1

    +
  • + +
+ + + +

Compilation de mod_ssl pour la plate-forme Netware

+ + + +

Pour fournir les services SSL, Apache pour Netware utilise par + défaut le module intégré mod_nw_ssl. Ce module ne + fournit que les services SSL implémentés par le système + d'exploitation Netware lui-même pour gérer tous les chiffrements + pour un port donné. Cependant, on peut aussi utiliser mod_ssl de + la même manière que sur les autres plate-formes.

+ +

Afin de pouvoir compiler mod_ssl pour la plate-forme Netware, + les bibliothèques OpenSSL doivent être disponibles. Elles peuvent + être installées de la manière suivante :

+ +
    +
  • Téléchargez la dernière distribution du code source + d'OpenSSL 0.9.8 depuis la page OpenSSL Source (les + versions 0.9.7 doivent être patchées, et ne sont donc pas + recommandées).
  • + +
  • Editez le fichier NetWare/set_env.bat, et + effectuez toutes modifications nécessaires des chemins des + outils et utilitaires en fonction de votre environnement de + développement.
  • + +
  • Exécutez les scripts suivants depuis la racine du + répertoire des sources d'OpenSSL : +

    + Netware\set_env netware-libc
    + Netware\build netware-libc +

    + Pour des raisons de performances, vous devez activer la + compilation avec le code ASM. Télécharger NASM depuis le site SF. Configurez + ensuite OpenSSL pour utiliser le code ASM : +

    + Netware\build netware-libc nw-nasm enable-mdc2 enable-md5 +

    + Attention : n'utilisez pas l'Assembleur CodeWarrior - il + produit un code de mauvaise qualité !
  • + +
  • Avant de compiler Apache, définissez la variable + d'environnement OSSLSDK avec le chemin absolu de + la racine du répertoire du code source d'openssl, et + définissez WITH_MOD_SSL à 1. +

    + Set OSSLSDK=d:\openssl-0.9.8x
    + Set WITH_MOD_SSL=1 +

  • + +
+ + + +
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/netware.html.ko.euc-kr b/docs/manual/platform/netware.html.ko.euc-kr new file mode 100644 index 0000000..bb78274 --- /dev/null +++ b/docs/manual/platform/netware.html.ko.euc-kr @@ -0,0 +1,609 @@ + + + + + +Novell NetWare¿¡¼­ ¾ÆÆÄÄ¡ »ç¿ëÇϱâ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Novell NetWare¿¡¼­ ¾ÆÆÄÄ¡ »ç¿ëÇϱâ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +

ÀÌ ¹®¼­´Â Novell NetWare 6.0 À̻󿡼­ ¾ÆÆÄÄ¡ 2.0À» ¼³Ä¡, + ¼³Á¤, ½ÇÇàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¹ö±×¸¦ ã¾Ò°Å³ª ´Ù¸¥ ¹æ¹ýÀ¸·Î + µ½°í½Í´Ù¸é, ¹ö±× + º¸°í ÆäÀÌÁö¸¦ ÀÌ¿ëÇÏ±æ ¹Ù¶õ´Ù.

+ +

¹ö±× º¸°í ÆäÀÌÁö³ª dev-httpd ¸ÞÀϸµ¸®½ºÆ®´Â ¾ÆÆÄÄ¡ ¼³Á¤°ú + ½ÇÇà¿¡ ´ëÇÑ Áú¹®À» ´äÇÏÁö ¾Ê´Â´Ù. ¹ö±×¸¦ º¸°íÇϱâ + Àü¿¡ ¸ÕÀú ÀÌ ¹®¼­¿Í ÀÚÁÖ ¹°¾îº¸´Â Áú¹® + (FAQ) ÆäÀÌÁö, ´Ù¸¥ °ü·Ã¹®¼­¸¦ »ìÆìºÁ¶ó. ±×·¡µµ ±Ã±ÝÇÑ + Á¡À̳ª ¹®Á¦°¡ ÀÖ´Ù¸é, NetWare¿¡¼­ ¾ÆÆÄÄ¡ »ç¿ë¿¡ ´ëÇÑ ¾î·Æ°í + »õ·Î¿î Áú¹®À» ´äÇØÁÙ ¸¹Àº ¾ÆÆÄÄ¡ »ç¿ëÀÚ°¡ ÀÖ´Â + novell.devsup.webserver ´º½º±×·ì¿¡ ±ÛÀ» ¿Ã¸®±æ ¹Ù¶õ´Ù.

+ +

ÀÌ ¹®¼­´Â ¹ÙÀ̳ʸ® ¹èÆ÷º»À¸·Î ¾ÆÆÄÄ¡¸¦ ¼³Ä¡Çß´Ù°í °¡Á¤ÇÑ´Ù. + (¾Æ¸¶µµ °³¹ß¿¡ µµ¿òÀ» Áְųª ¹ö±×¸¦ ã±âÀ§ÇØ) Á÷Á¢ ¾ÆÆÄÄ¡¸¦ + ÄÄÆÄÀÏÇÏ·Á¸é ¾Æ·¡ NetWare¿¡¼­ ¾ÆÆÄÄ¡ + ÄÄÆÄÀÏÇϱâ ÀýÀ» Âü°íÇ϶ó.

+ +
+ +
top
+
+

¿ä±¸Á¶°Ç

+ + + +

¾ÆÆÄÄ¡ 2.0Àº NetWare 6.0 service pack 3 À̻󿡼­ µ¿ÀÛÇϵµ·Ï + ¼³°èµÇ¾ú´Ù. SP3º¸´Ù ³·Àº service packÀ» »ç¿ëÇÑ´Ù¸é ÃֽŠ+ NetWare + Libraries for C (LibC)¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù.

+ +

NetWare service packÀº ¿©±â¿¡ + ÀÖ´Ù.

+ +

ÃֽŠservice packÀ̳ª ÃֽŠ¹öÀü NetWare + Libraries for C (LibC)¸¦ ¼³Ä¡Çß´Ù¸é NetWare 5.1 ȯ°æ¿¡¼­µµ + NetWare¿ë ¾ÆÆÄÄ¡ 2.0À» ½ÇÇàÇÒ ¼ö ÀÖ´Ù. °æ°í: + NetWare¿ë ¾ÆÆÄÄ¡ 2.0Àº ÀÌ È¯°æÀ» °í·ÁÇÏÁö ¾Ê¾Ò°í Å×½ºÆ®ÇÏÁö + ¾Ê¾Ò´Ù.

+ +
top
+
+

NetWare¿ë ¾ÆÆÄÄ¡ ´Ù¿î¹Þ±â

+ + + +

¾ÆÆÄÄ¡ ÃֽŠ¹öÀü¿¡ ´ëÇÑ Á¤º¸´Â http://www.apache.org/¿¡¼­ + (¾ÆÆÄÄ¡ À¥¼­¹ö) ãÀ» ¼ö ÀÖ´Ù. ¿©±â¿¡´Â ÇöÀç ¹öÀü°ú ÃÖ±Ù + ¾ËÆÄ/º£Å¸Å×½ºÆ® ¹öÀü, ¹Ì·¯ À¥»çÀÌÆ®¿Í ftp »çÀÌÆ® Á¤º¸°¡ + ÀÖ´Ù. NetWare¿ë ¾ÆÆÄÄ¡ 2.0ÀÇ ÃֽŠ¹ÙÀ̳ʸ® ¹èÆ÷º»Àº ¿©±â¿¡¼­ + ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.

+ +
top
+
+

NetWare¿ë ¾ÆÆÄÄ¡ ¼³Ä¡Çϱâ

+ + + +

ÇöÀç NetWare¿ë ¾ÆÆÄÄ¡ ¼³Ä¡ÇÁ·Î±×·¥Àº ¾ø´Ù. NetWare¿ë + ¾ÆÆÄÄ¡ 2.0 ¼Ò½º¸¦ Á÷Á¢ ÄÄÆÄÀÏÇÑ´Ù¸é ÆÄÀÏÀ» ¼­¹ö·Î Á÷Á¢ + º¹»çÇØÁà¾ß ÇÑ´Ù.

+ +

¹ÙÀ̳ʸ®·Î ´Ù¿î¹ÞÀº NetWare¿ë ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÏ´Â °úÁ¤Àº + ´ÙÀ½°ú °°´Ù (sys:/apache2¿¡ ¼³Ä¡ÇÑ´Ù°í °¡Á¤ÇÑ´Ù):

+ +
    +
  • ¹ÙÀ̳ʸ®·Î ´Ù¿î¹ÞÀº ¾ÐÃàÆÄÀÏÀ» SYS: º¼·ý + ÃÖ»óÀ§ µð·ºÅ丮¿¡ Ǭ´Ù (´Ù¸¥ º¼·ý¿¡ ¼³Ä¡Çصµ µÈ´Ù)
  • + +
  • httpd.conf ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿© ServerRoot¿Í ServerName°ú ÆÄÀÏ°æ·Î °ªÀ» ¼­¹ö¿¡ + ¾Ë¸Â°Ô ÁöÁ¤ÇÑ´Ù
  • + +
  • ¿¹¸¦ µé¾î

    SEARCH ADD SYS:\APACHE2

    ¿Í + °°ÀÌ °Ë»ö°æ·Î¿¡ SYS:/APACHE2¸¦ Ãß°¡ÇÑ´Ù +
  • + +
+ +

Á÷Á¢ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÑ °æ¿ì NetWare¿¡ ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÏ´Â + ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù (sys:/apache2¿¡ ¼³Ä¡ÇÑ´Ù°í + °¡Á¤ÇÑ´Ù):

+ +
    +
  • NetWare º¼·ý¿¡ Apache2¶ó´Â µð·ºÅ丮¸¦ + ¸¸µç´Ù
  • + +
  • APACHE2.NLM°ú APRLIB.NLMÀ» + SYS:/APACHE2¿¡ º¹»çÇÑ´Ù
  • + +
  • SYS:/APACHE2 ¾Æ·¡¿¡ BINÀ̶ó´Â + µð·ºÅ丮¸¦ ¸¸µç´Ù
  • + +
  • HTDIGEST.NLM, HTPASSWD.NLM, + HTDBM.NLM, LOGRES.NLM, + ROTLOGS.NLMÀ» SYS:/APACHE2/BIN¿¡ + º¹»çÇÑ´Ù
  • + +
  • SYS:/APACHE2 ¾Æ·¡¿¡ CONF¶ó´Â + µð·ºÅ丮¸¦ ¸¸µç´Ù
  • + +
  • HTTPD-STD.CONF ÆÄÀÏÀ» + SYS:/APACHE2/CONF¿¡ º¹»çÇÏ°í ÆÄÀϸíÀ» + HTTPD.CONF·Î º¯°æÇÑ´Ù
  • + +
  • MIME.TYPES, CHARSET.CONV, + MAGIC ÆÄÀÏÀ» SYS:/APACHE2/CONF + µð·ºÅ丮¿¡ º¹»çÇÑ´Ù
  • + +
  • \HTTPD-2.0\DOCS\ICONS¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏ°ú + ÇÏÀ§µð·ºÅ丮¸¦ SYS:/APACHE2/ICONS·Î º¹»çÇÑ´Ù
  • + +
  • \HTTPD-2.0\DOCS\MANUAL¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏ°ú + ÇÏÀ§µð·ºÅ丮¸¦ SYS:/APACHE2/MANUAL·Î º¹»çÇÑ´Ù
  • + +
  • \HTTPD-2.0\DOCS\ERROR¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏ°ú + ÇÏÀ§µð·ºÅ丮¸¦ SYS:/APACHE2/ERROR·Î º¹»çÇÑ´Ù
  • + +
  • \HTTPD-2.0\DOCS\DICROOT¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏ°ú + ÇÏÀ§µð·ºÅ丮¸¦ SYS:/APACHE2/HTDOCS·Î º¹»çÇÑ´Ù
  • + +
  • ¼­¹ö¿¡ SYS:/APACHE2/LOGS µð·ºÅ丮¸¦ ¸¸µç´Ù
  • + +
  • ¼­¹ö¿¡ SYS:/APACHE2/APACHE2/CGI-BINÀ̶õ + µð·ºÅ丮¸¦ ¸¸µç´Ù
  • + +
  • SYS:/APACHE2/MODULES µð·ºÅ丮¸¦ ¸¸µé°í + ¸ðµç nlm ¸ðµâÀ» modules µð·ºÅ丮·Î º¹»çÇÑ´Ù
  • + +
  • HTTPD.CONF ÆÄÀÏÀÇ ¸ðµç @@Value@@ + Ç¥½Ã¸¦ ÀûÀýÇÑ ¼³Á¤À¸·Î ´ëüÇÑ´Ù
  • + +
  • SEARCH ADD SYS:\APACHE2

    °°ÀÌ °Ë»ö°æ·Î¿¡ + SYS:/APACHE2¸¦ Ãß°¡ÇÑ´Ù +
  • +
+ +

±âº» SYS º¼·ýÀÌ ¾Æ´Ñ ´Ù¸¥ º¼·ý¿¡µµ ¾ÆÆÄÄ¡¸¦ + ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù.

+ +

makefile ¸í·É¾î¿¡ "install" Å°¿öµå¸¦ »ç¿ëÇϸé ÄÄÆÄÀϽà + ÀÚµ¿À¸·Î DIST ÇÏÀ§µð·ºÅ丮¿¡ ¿ÏÀüÇÑ ¹èÆ÷º»À» + ¸¸µç´Ù. makefile·Î ¸¸µç ¹èÆ÷º»À» NetWare º¼·ý ÃÖ»óÀ§ µð·ºÅ丮·Î + º¹»çÇÏ¸é ¾ÆÆÄÄ¡°¡ ¼³Ä¡µÈ´Ù (¾Æ·¡ NetWare¿ë + ¾ÆÆÄÄ¡ ÄÄÆÄÀÏÇϱâ Âü°í).

+ +
top
+
+

NetWare¿ë ¾ÆÆÄÄ¡ ½ÇÇàÇϱâ

+ + + +

¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÏ·Á¸é Äֿܼ¡¼­ apache¸¦ ÀÔ·ÂÇϸé + µÈ´Ù. ±×·¯¸é ¿î¿µÃ¼Á¦ ÁÖ¼Ò¿µ¿ª¿¡ ¾ÆÆÄÄ¡¸¦ ÀоîµéÀδÙ. + º¸È£ÁÖ¼Ò¿µ¿ª¿¡ ¾ÆÆÄÄ¡¸¦ ÀоîµéÀÌ·Á¸é ´ÙÀ½°ú °°ÀÌ load ¸í·É¾î·Î + ÁÖ¼Ò¿µ¿ªÀ» ÁöÁ¤ÇÑ´Ù:

+ +

+ load address space = apache2 apache2 +

+ +

±×·¯¸é ¾ÆÆÄÄ¡¸¦ apache2¶ó´Â ÁÖ¼Ò¿µ¿ª¿¡ ÀоîµéÀδÙ. + NetWare´Â ¿©·¯ ¾ÆÆÄÄ¡¸¦ °¢°¢ ´Ù¸¥ º¸È£ÁÖ¼Ò¿µ¿ª¿¡ Àоîµé¿©¼­ + ¿©·¯ ¾ÆÆÄÄ¡¸¦ µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

+ +

¾ÆÆÄÄ¡°¡ ½ÃÀÛÇϸé (¼³Á¤ÆÄÀÏ¿¡¼­ Listen Áö½Ã¾î¸¦ ¼öÁ¤ÇÏÁö + ¾Ê´ÂÇÑ) Æ÷Æ® 80¹øÀ» ±â´Ù¸°´Ù. ºê¶ó¿ìÀú¸¦ ½ÃÀÛÇÏ¿© ¼­¹ö¸í + ȤÀº ¼­¹ö ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏ¸é ¼­¹ö¿¡ Á¢¼ÓÇÏ¿© ±âº»ÆäÀÌÁö¿¡ + Á¢±ÙÇÑ´Ù. ¾ÆÆÄÄ¡ ¼³¸í¼­ ¸µÅ©°¡ Àִ ȯ¿µÆäÀÌÁö°¡ ³ª¿Í¾ß + ÇÑ´Ù. ¾Æ¹« Àϵµ ¾ø°Å³ª ¿À·ù°¡ ¹ß»ýÇϸé logs + µð·ºÅ丮¿¡ ÀÖ´Â error_log ÆÄÀÏÀ» »ìÆìºÁ¶ó.

+ +

±âº» ¼³Ä¡°¡ µ¿ÀÛÇϸé conf µð·ºÅ丮¿¡ ÀÖ´Â + ÆÄÀÏÀ» ÀûÀýÈ÷ ¼³Á¤ÇÑ´Ù.

+ +

¿î¿µÃ¼Á¦ ÁÖ¼Ò¿µ¿ª¿¡¼­ ½ÇÇàÁßÀÎ ¾ÆÆÄÄ¡¸¦ ³»¸±·Á¸é Äֿܼ¡ + ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:

+ +

+ unload apache2 +

+ +

ȤÀº

+ +

+ apache2 shutdown +

+ +

º¸È£ÁÖ¼Ò¿µ¿ª¿¡¼­ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇß´Ù¸é unload ¸í·É¾î¿¡ + ÁÖ¼Ò¿µ¿ªÀ» ÁöÁ¤ÇÑ´Ù:

+ +

+ unload address space = apache2 apache2 +

+ +

¾ÆÆÄÄ¡°¡ ¼³Á¤ÆÄÀÏ À§Ä¡¸¦ ã´Â ¹æ¹ýÀ» ¾Ë¾ÆµÎ¾î¾ß ÇÑ´Ù. + ¸í·ÉÇà¿¡¼­ ¼³Á¤ÆÄÀÏÀ» ÁöÁ¤ÇÏ´Â ¹æ¹ýÀº µÎ°¡Áö´Ù:

+ +
    +
  • -f´Â ƯÁ¤ ¼³Á¤ÆÄÀÏ °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù
  • +
+ +

+ apache2 -f "vol:/my server/conf/my.conf" +

+ +

+ apache -f test/test.conf +

+ +

ÀÌ °æ¿ì ¼³Á¤ÆÄÀÏÀº ¿Ã¹Ù¸¥ ServerRoot¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù.

+ +

-f·Î ¼³Á¤ÆÄÀϸíÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é, ¾ÆÆÄÄ¡´Â + ¼­¹ö¿¡ ÄÄÆÄÀÏµÈ ÆÄÀϸíÀ» (º¸Åë conf/httpd.conf) + »ç¿ëÇÑ´Ù. -V ¿É¼ÇÀ¸·Î ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϸé + SERVER_CONFIG_FILEÀ̶ó´Â Ç׸ñÀ» º¸¿©ÁØ´Ù. + ¾ÆÆÄÄ¡´Â ´ÙÀ½ ¼ø¼­´ë·Î ServerRoot¸¦ ã´Â´Ù:

+ +
    +
  • -C ¿É¼ÇÀÇ ServerRoot Áö½Ã¾î.
  • + +
  • ¸í·ÉÇàÀÇ -d ¿É¼Ç.
  • + +
  • ÇöÀç µð·ºÅ丮
  • + +
  • ¼­¹ö¿¡ ÄÄÆÄÀÏµÈ server root.
  • +
+ +

¼­¹ö¿¡ ÄÄÆÄÀÏµÈ server root´Â º¸Åë + sys:/apache2ÀÌ´Ù. -V ¿É¼ÇÀ¸·Î + ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϸé HTTPD_ROOT¶ó´Â Ç׸ñÀ» º¸¿©ÁØ´Ù.

+ +

NetWare¿ë ¾ÆÆÄÄ¡ 2.0¿¡´Â ½ÇÇàÁßÀÎ À¥¼­¹ö¸¦ Á×À̰ųª Á¤º¸¸¦ + ¾Ë·ÁÁÖ´Â ¸í·ÉÇà Áö½Ã¾î°¡ ÀÖ´Ù. À̵é Áö½Ã¾î´Â ¾ÆÆÄÄ¡ µ¿ÀÛÁß¿¡¸¸ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. Áö½Ã¾î ¾Õ¿¡´Â APACHE2 Å°¿öµå¸¦ + ºÙ¿©¾ß ÇÑ´Ù.

+ +
+
RESTART
+
¸ðµç ¾²·¹µå°¡ ½¬´Â »óÅÂÀ϶§ ¾ÆÆÄÄ¡¸¦ Á×ÀÌ°í, ¼³Á¤ÆÄÀÏÀ» + ´Ù½Ã ÀÐÀºÈÄ »õ·Î¿î ¼³Á¤¿¡ µû¶ó worker ¾²·¹µåµéÀ» Àç½ÃÀÛÇÑ´Ù.
+ +
VERSION
+
ÇöÀç ½ÇÇàÁßÀÎ ¾ÆÆÄÄ¡ ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù.
+ +
MODULES
+
±âº» ¸ðµâ°ú ¿ÜºÎ ¸ðµâ ¸ñ·ÏÀ» Ãâ·ÂÇÑ´Ù.
+ +
DIRECTIVES
+
¸ðµç Áö½Ã¾î ¸ñ·ÏÀ» Ãâ·ÂÇÑ´Ù.
+ +
SETTINGS
+
Äֿܼ¡ ¾²·¹µå »óÅ ǥ½Ã¸¦ º¸À̰ųª ¾ø¾Ø´Ù. »óŸ¦ + º¸À̸é, ¾ÆÆÄÄ¡ ÄܼÖâ¿¡ µ¿ÀÛÇÏ´Â ¾²·¹µåµéÀÇ »óÅ°¡ ³ª¿Â´Ù.
+ +
SHUTDOWN
+
½ÇÇàÁßÀÎ ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ Á×ÀδÙ.
+ +
HELP
+
½ÇÇà ¿É¼ÇµéÀ» ¼³¸íÇÑ´Ù.
+
+ +

±âº»ÀûÀ¸·Î ÀÌ Áö½Ã¾îµéÀº ¿î¿µÃ¼Á¦ ÁÖ¼Ò¿µ¿ª¿¡¼­ ½ÇÇàÁßÀÎ + ¾ÆÆÄÄ¡¸¦ ´ë»óÀ¸·Î ÇÑ´Ù. ¾ÆÆÄÄ¡°¡ º¸È£ÁÖ¼Ò¿µ¿ª¿¡¼­ ½ÇÇàÁßÀ̶ó¸é, + -p¿Í ÁÖ¼Ò¿µ¿ª À̸§À» Ãß°¡ÇÑ´Ù. ´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é ¸í·ÉÇà¿¡ + "apache2 Help"¸¦ ÀÔ·ÂÇÑ´Ù.

+ +
top
+
+

NetWare¿ë ¾ÆÆÄÄ¡ ¼³Á¤Çϱâ

+ + + +

¾ÆÆÄÄ¡´Â º¸Åë conf µð·ºÅ丮¿¡ ÀÖ´Â ¼³Á¤ÆÄÀÏ·Î + ¼³Á¤ÇÑ´Ù. ÀÌ ÆÄÀÏÀº À¯´Ð½º¿ë°ú °°Áö¸¸, NetWare¿ë ¾ÆÆÄÄ¡¿¡´Â + Á¶±Ý ´Ù¸¥ Áö½Ã¾îµéÀÌ ÀÖ´Ù. »ç¿ë°¡´ÉÇÑ ¸ðµç Áö½Ã¾î¿¡ ´ëÇؼ­´Â + ¾ÆÆÄÄ¡ ¹®¼­¸¦ Âü°íÇ϶ó.

+ +

NetWare¿ë ¾ÆÆÄÄ¡ÀÇ ÁÖµÈ Â÷ÀÌÁ¡Àº:

+ +
    +
  • +

    NetWare¿ë ¾ÆÆÄÄ¡´Â ´ÙÁß¾²·¹µå ¹æ½ÄÀ» »ç¿ëÇϱ⶧¹®¿¡, + À¯´Ð½º¿Í °°ÀÌ ¿äû¸¶´Ù ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. + ´ë½Å ¿©·¯ ¾²·¹µå¸¦ ½ÇÇàÇÑ´Ù: ºÎ¸ð ¾²·¹µå¿Í ¿äûÀ» ó¸®ÇÏ´Â + ¿©·¯ ÀÚ½Ä È¤Àº worker ¾²·¹µåµé.

    + +

    ±×·¯¹Ç·Î "ÇÁ·Î¼¼½º"-°ü¸® Áö½Ã¾î°¡ ´Ù¸£´Ù:

    + +

    MaxRequestsPerChild - + À¯´Ð½º¿Í °°ÀÌ worker ¾²·¹µå°¡ ¿äûÀ» ¾ó¸¶¸¸Å­ ó¸®ÇÏ°í + Á×À»Áö¸¦ Á¶Á¤ÇÑ´Ù. ±ÇÀåÇÏ´Â ±âº»°ª + MaxRequestsPerChild 0À» »ç¿ëÇÏ¸é ¾²·¹µå´Â + Á×Áö¾Ê°í ¿µ¿øÈ÷ ¿äûÀ» ¼­ºñ½ºÇÑ´Ù. Ưº°ÇÑ ÀÌÀ¯°¡ ¾ø´Ù¸é + NetWare¿¡¼­´Â ÀÌ Áö½Ã¾î¸¦ 0À¸·Î ¼³Á¤Çϱæ + ±ÇÇÑ´Ù.

    + +

    StartThreads - + ÀÌ Áö½Ã¾î´Â ¼­¹ö°¡ óÀ½¿¡ ½ÃÀÛÇÒ ¾²·¹µå °³¼ö¸¦ °áÁ¤ÇÑ´Ù. + ±ÇÀåÇÏ´Â ±âº»°ªÀº StartThreads 50ÀÌ´Ù.

    + +

    MinSpareThreads - + ¼­¹ö´Â ½¬´Â(idle) ¾²·¹µå °³¼ö°¡ ÀÌ °ªº¸´Ù ÀûÀ¸¸é worker + ¾²·¹µå¸¦ ´õ ¸¸µç´Ù. ±ÇÀåÇÏ´Â ±âº»°ªÀº + MinSpareThreads 10ÀÌ´Ù.

    + +

    MaxSpareThreads - + ¼­¹ö´Â ½¬´Â ¾²·¹µå °³¼ö°¡ ÀÌ °ªº¸´Ù ¸¹À¸¸é worker ¾²·¹µå¸¦ + Á×À̱⠽ÃÀÛÇÑ´Ù. ±ÇÀåÇÏ´Â ±âº»°ªÀº + MaxSpareThreads 100ÀÌ´Ù.

    + +

    MaxThreads - + ÀÌ Áö½Ã¾î´Â worker ¾²·¹µåÀÇ ÃÖ´ë °³¼ö¸¦ Á¦ÇÑÇÑ´Ù. ±ÇÀåÇÏ´Â + ±âº»°ªÀº ThreadsPerChild 250ÀÌ´Ù.

    + +

    ThreadStackSize - + ÇÑ worker ¾²·¹µå°¡ »ç¿ëÇÒ ½ºÅà ũ±â¸¦ Áö½ÃÇÑ´Ù. ±ÇÀåÇÏ´Â + ±âº»°ªÀº ThreadStackSize 65536ÀÌ´Ù.

    +
  • + +
  • +

    ¾Æ±Ô¸ÕÆ®·Î ÆÄÀϸíÀ» ¹Þ´Â Áö½Ã¾î¿¡´Â À¯´Ð½º ÆÄÀϸíÀÌ + ¾Æ´Ñ NetWare ÆÄÀϸíÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ±×·¯³ª ¾ÆÆÄÄ¡°¡ + ³»ºÎÀûÀ¸·Î À¯´Ð½º½Ä ÆÄÀϸíÀ» »ç¿ëÇϱ⶧¹®¿¡ ¹é½½·¡½¬ + ´ë½Å ½½·¡½¬¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¸ðµç Àý´ë°æ·Î¿¡ º¼·ý¸íÀ» + Æ÷ÇÔÇÏ±æ ¹Ù¶õ´Ù. º¼·ý¸íÀ» »ý·«ÇÏ¸é ¾ÆÆÄÄ¡´Â + SYS: º¼·ýÀ̶ó°í À߸ø °¡Á¤ÇÒ ¼ö ÀÖ´Ù.

    +
  • + +
  • +

    NetWare¿ë ¾ÆÆÄÄ¡´Â ¼­¹ö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê°í ½ÇÇàÇÒ¶§ + ¸ðµâÀ» ÀоîµéÀÏ ¼ö ÀÖ´Ù. º¸Åë ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇϸé + \Apache2\modules µð·ºÅ丮¿¡ ¿©·¯ Ãß°¡ ¸ðµâÀ» + ¼³Ä¡ÇÑ´Ù. À̵é ȤÀº ´Ù¸¥ ¸ðµâÀ» »ç¿ëÇÏ·Á¸é LoadModule Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. + ¿¹¸¦ µé¾î status ¸ðµâÀ» »ç¿ëÇÑ´Ù¸é:

    + +

    + LoadModule status_module modules/status.nlm +

    + +

    ÀоîµéÀÏ ¼ö + ÀÖ´Â ¸ðµâ ¸¸µé±â¿¡ ´ëÇÑ Á¤º¸µµ ÀÖ´Ù.

    +
  • +
+ +

ÀÌ¿ÜÀÇ NetWare Àü¿ë Áö½Ã¾îµé:

+ + + +
    +
  • CGIMapExtension - + CGI ÆÄÀÏ È®ÀåÀÚ¸¦ ½ºÅ©¸³Æ® ÀÎÅÍÇÁ¸®ÅÍ¿Í ¿¬°áÇÑ´Ù.
  • +
+
    +
  • SecureListen - + ƯÁ¤ Æ÷Æ®¸¦ SSL ¾ÏȣȭÇÑ´Ù.
  • +
+
    +
  • NWSSLTrustedCerts - + ÇÁ·Ï½ÃÇÏ´Â ¼­¹ö¿¡ º¸¾È¿¬°áÇÒ¶§ »ç¿ëÇÒ ½Å·ÚÇÏ´Â + ÀÎÁõ¼­(certificate)¸¦ Ãß°¡ÇÑ´Ù.
  • +
+
    +
  • NWSSLUpgradeable - + ƯÁ¤ ÁÖ¼Ò/Æ÷Æ®·Î ¸Î¾îÁø ¿¬°áÀ» SSL ¿¬°á·Î º¯°æÇÒ ¼ö + ÀÖ´Ù.
  • +
+ + + +
top
+
+

Netware¿ë ¾ÆÆÄÄ¡ ÄÄÆÄÀÏÇϱâ

+ + + +

¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ·Á¸é MetroWerks CodeWarrior 6.x ÀÌ»óÀÌ + ÇÊ¿äÇÏ´Ù. ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ¸é ¾î¶² Netware º¼·ý¿¡¶óµµ ¼³Ä¡ÇÒ + ¼ö ÀÖ´Ù. ±âº»°ªÀº sys:/Apache2 µð·ºÅ丮´Ù.

+ +

¼­¹ö¸¦ ½ÇÇàÇϱâ Àü¿¡ conf µð·ºÅ丮¸¦ ÀÛ¼ºÇØ¾ß + ÇÑ´Ù. ¹èÆ÷º»ÀÇ conf µð·ºÅ丮¿¡ ÀÖ´Â + HTTPD-STD.CONF ÆÄÀϸíÀ» HTTPD.CONF·Î + º¯°æÇÑ´Ù. HTTPD.CONF ÆÄÀÏ¿¡¼­ @@Value@@ + Ç¥½Ã¸¦ ã¾Æ¼­ ÀûÀýÇÑ ¼³Á¤À¸·Î ´ëüÇÑ´Ù. conf/magic°ú + conf/mime.types ÆÄÀϵµ º¹»çÇÑ´Ù. ¾Æ´Ï¸é makefileÀ» + ½ÇÇàÇÒ¶§ install Å°¿öµå¸¦ »ç¿ëÇÏ¸é ¿ÏÀüÇÑ ¹èÆ÷º»À» + ¸¸µç´Ù.

+ +

¿ä±¸»çÇ×:

+ + + +

NetWare¿ë ¾ÆÆÄÄ¡ 2.0À» ÄÄÆÄÀÏÇÏ·Á¸é ´ÙÀ½ °³¹ßµµ±¸°¡ + ÇÊ¿äÇÏ´Ù:

+ + + + + +

NetWare makefileÀ» »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡ ÄÄÆÄÀÏÇϱâ:

+ + + +
    +
  • NOVELLLIBC ȯ°æº¯¼ö¸¦ +

    Set NOVELLLIBC=c:\novell\ndk\libc

    ¿Í + °°ÀÌ NetWare Libraries for C SDK À§Ä¡·Î ¼³Á¤ÇÑ´Ù. +
  • + +
  • METROWERKS ȯ°æº¯¼ö¸¦ +

    Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior

    ¿Í + °°ÀÌ Metrowerks CodeWarrior ÄÄÆÄÀÏ·¯¸¦ ¼³Ä¡ÇÑ À§Ä¡·Î + ¼³Á¤ÇÑ´Ù. ±âº» À§Ä¡ÀÎ + C:\Program Files\Metrowerks\CodeWarrior¿¡ + ¼³Ä¡ÇÏ¿´´Ù¸é, ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÒ ÇÊ¿ä´Â ¾ø´Ù.
  • + +
  • LDAPSDK ȯ°æº¯¼ö¸¦ +

    Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc

    ¿Í + °°ÀÌ LDAP Libraries for C¸¦ ¼³Ä¡ÇÑ À§Ä¡·Î ¼³Á¤ÇÑ´Ù. +
  • + +
  • ZLIBSDK ȯ°æº¯¼ö¸¦ +

    Set ZLIBSDK=D:\NOVELL\zlib

    °ú °°ÀÌ + ZLib ¶óÀ̺귯¸® ¼Ò½ºÄÚµå À§Ä¡·Î ¼³Á¤ÇÑ´Ù. +
  • + +
  • AP_WORK ȯ°æº¯¼ö¸¦ \httpd-2.0 + µð·ºÅ丮ÀÇ Àüü °æ·Î·Î ¼³Á¤ÇÑ´Ù.
  • + +
  • APR_WORK ȯ°æº¯¼ö¸¦ + \httpd-2.0\srclib\apr µð·ºÅ丮ÀÇ Àüü °æ·Î·Î + ¼³Á¤ÇÑ´Ù.
  • + +
  • AWK µµ±¸¿Í GNU make (gmake.exe) µµ±¸°¡ + ½Ã½ºÅÛÀÇ PATH ȯ°æº¯¼ö¿¡ Æ÷ÇÔµÇÀÖ´ÂÁö + È®ÀÎÇÑ´Ù.
  • + +
  • ¼Ò½ºÄڵ带 ´Ù¿î¹Þ¾Æ Àû´çÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ǭ´Ù.
  • + +
  • \httpd-2.0\srclib\apr-util\uri µð·ºÅ丮¿¡¼­ + "gmake -f nwgnumakefile"À» ½ÇÇàÇÏ¿© + GENURI.nlmÀ» ÄÄÆÄÀÏÇÑ´Ù.
  • + +
  • GENURI.nlm ÆÄÀÏÀ» NetWare ¼­¹öÀÇ + SYS: º¼·ýÀ¸·Î º¹»çÇÏ°í +

    SYS:\genuri > sys:\uri_delims.h

    + ¸í·ÉÀ» ½ÇÇàÇÑ´Ù. +
  • + +
  • uri_delims.h ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ´Â ÄÄÇ»ÅÍÀÇ + \httpd-2.0\srclib\apr-util\uri µð·ºÅ丮·Î + º¹»çÇÑ´Ù.
  • + +
  • \httpd-2.0\srclib\apr µð·ºÅ丮¿¡¼­ + "gmake -f nwgnumakefile"À» ½ÇÇàÇÏ¿© APRÀ» + ÄÄÆÄÀÏÇÑ´Ù.
  • + +
  • \httpd-2.0\srclib\pcre µð·ºÅ丮¿¡¼­ + "gmake -f nwgnumakefile"À» ½ÇÇàÇÏ¿© + DFTABLES.nlmÀ» ÄÄÆÄÀÏÇÑ´Ù.
  • + +
  • \httpd-2.0\server µð·ºÅ丮¿¡¼­ + "gmake -f nwgnumakefile"À» ½ÇÇàÇÏ¿© + GENCHARS.nlmÀ» ÄÄÆÄÀÏÇÑ´Ù.
  • + +
  • °¢ µð·ºÅ丮ÀÇ GENCHARS.nlm°ú + DFTABLES.nlm ÆÄÀÏÀ» NetWare ¼­¹öÀÇ + SYS: º¼·ýÀ¸·Î º¹»çÇÏ°í ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù: +

    + SYS:\genchars > sys:\test_char.h
    + SYS:\dftables > sys:\chartables.c
    +

    +
  • + +
  • test_char.h¿Í chartables.c + ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ´Â ÄÄÇ»ÅÍÀÇ \httpd-2.0\os\netware + µð·ºÅ丮·Î º¹»çÇÑ´Ù.
  • + +
  • \httpd-2.0 µð·ºÅ丮¿¡¼­ + "gmake -f nwgnumakefile"À» ½ÇÇàÇÏ¿© ¾ÆÆÄÄ¡¸¦ + ÄÄÆÄÀÏÇÑ´Ù. +

    gmake -f nwgnumakefile install

    °ú + °°ÀÌ install ÆĶó¹ÌÅ͸¦ Ãß°¡ÇÏ¸é ¹èÆ÷¿ë µð·ºÅ丮¸¦ ¸¸µé + ¼ö ÀÖ´Ù. +
  • +
+ + + +

Ãß°¡ make ¿É¼Ç

+ + + +
    +
  • gmake -f nwgnumakefile

    ÀÏ¹Ý ½ÇÇàÆÄÀÏÀ» + ÄÄÆÄÀÏÇÏ¿© \release µð·ºÅ丮·Î º¹»çÇÑ´Ù.

  • + +
  • gmake -f nwgnumakefile DEBUG=1

    µð¹ö±×¿ë + ½ÇÇàÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ¿© \debug µð·ºÅ丮·Î + º¹»çÇÑ´Ù.

  • + +
  • gmake -f nwgnumakefile install +

    \dist\Apache2 µð·ºÅ丮¿¡ ½ÇÇàÆÄÀÏ, ¹®¼­, + Ãß°¡ Áö¿øÆÄÀÏÀ» Æ÷ÇÔÇÑ ¿ÏÀüÇÑ ¾ÆÆÄÄ¡ ¹èÆ÷º»À» ¸¸µç´Ù.

  • + +
  • gmake -f nwgnumakefile installdev +

    install°ú ºñ½ÁÇÏÁö¸¸, \lib°ú + \include µð·ºÅ丮¸¦ ¸¸µé°í Çì´õÆÄÀÏ°ú import + ÆÄÀÏÀ» º¹»çÇÑ´Ù.

  • + +
  • gmake -f nwgnumakefile clean +

    DEBUG Á¤ÀÇ À¯¹«¿¡ µû¶ó \release³ª + \debug¿¡ ÀÖ´Â ¿ÀºêÁ§Æ®ÆÄÀÏ°ú ½ÇÇàÆÄÀÏÀ» + ¸ðµÎ Áö¿î´Ù.

  • + +
  • gmake -f nwgnumakefile clobber_all

    clean°ú + ºñ½ÁÇÏÁö¸¸ µð·ºÅ丮µµ Áö¿î´Ù.

  • +
+ + + +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/perf-hp.html b/docs/manual/platform/perf-hp.html new file mode 100644 index 0000000..7e93b4a --- /dev/null +++ b/docs/manual/platform/perf-hp.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: perf-hp.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: perf-hp.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: perf-hp.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/platform/perf-hp.html.en b/docs/manual/platform/perf-hp.html.en new file mode 100644 index 0000000..7e2f8d3 --- /dev/null +++ b/docs/manual/platform/perf-hp.html.en @@ -0,0 +1,131 @@ + + + + + +Running a High-Performance Web Server on HPUX - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Running a High-Performance Web Server on HPUX

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + +
Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones <raj@cup.hp.com>
+Reply-To: raj@cup.hp.com
+Organization: Network Performance
+Subject: HP-UX tuning tips
+ +

Here are some tuning tips for HP-UX to add to the tuning page.

+ +

For HP-UX 9.X: Upgrade to 10.20
+ For HP-UX 10.[00|01|10]: Upgrade to 10.20

+ +

For HP-UX 10.20:

+ +

Install the latest cumulative ARPA Transport Patch. This + will allow you to configure the size of the TCP connection + lookup hash table. The default is 256 buckets and must be set + to a power of two. This is accomplished with adb against the + *disc* image of the kernel. The variable name is tcp_hash_size. + Notice that it's critically important that you use "W" + to write a 32 bit quantity, not "w" to write a 16 bit + value when patching the disc image because the tcp_hash_size + variable is a 32 bit quantity.

+ +

How to pick the value? Examine the output of ftp://ftp.cup.hp.com/dist/networking/tools/connhist + and see how many total TCP connections exist on the system. You + probably want that number divided by the hash table size to be + reasonably small, say less than 10. Folks can look at HP's + SPECweb96 disclosures for some common settings. These can be + found at http://www.specbench.org/. + If an HP-UX system was performing at 1000 SPECweb96 connections + per second, the TIME_WAIT time of 60 seconds would mean + 60,000 TCP "connections" being tracked.

+ +

Folks can check their listen queue depths with ftp://ftp.cup.hp.com/dist/networking/misc/listenq.

+ +

If folks are running Apache on a PA-8000 based system, they + should consider "chatr'ing" the Apache executable to have a + large page size. This would be "chatr +pi L <BINARY>". + The GID of the running executable must have MLOCK privileges. + Setprivgrp(1m) should be consulted for assigning + MLOCK. The change can be validated by running Glance + and examining the memory regions of the server(s) to make sure that + they show a non-trivial fraction of the text segment being locked.

+ +

If folks are running Apache on MP systems, they might + consider writing a small program that uses mpctl() + to bind processes to processors. A simple pid % numcpu + algorithm is probably sufficient. This might even go into the + source code.

+ +

If folks are concerned about the number of FIN_WAIT_2 + connections, they can use nettune to shrink the value of + tcp_keepstart. However, they should be careful there - + certainly do not make it less than oh two to four minutes. If + tcp_hash_size has been set well, it is probably OK to + let the FIN_WAIT_2's take longer to timeout (perhaps + even the default two hours) - they will not on average have a big + impact on performance.

+ +

There are other things that could go into the code base, but + that might be left for another email. Feel free to drop me a + message if you or others are interested.

+ +

sincerely,

+ +

rick jones

+ +

http://www.netperf.org/netperf/

+ +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/perf-hp.html.fr.utf8 b/docs/manual/platform/perf-hp.html.fr.utf8 new file mode 100644 index 0000000..088a0f3 --- /dev/null +++ b/docs/manual/platform/perf-hp.html.fr.utf8 @@ -0,0 +1,143 @@ + + + + + +Mise en oeuvre d'un serveur Web hautes performances sous + HPUX - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Mise en oeuvre d'un serveur Web hautes performances sous + HPUX

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + +
Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones <raj@cup.hp.com>
+Reply-To: raj@cup.hp.com
+Organization: Network Performance
+Subject: HP-UX tuning tips
+ +

Traduction du corps du message cité ci-dessus :

+ +

Voici quelques conseils de personnalisation pour HPUX à ajouter à + la page de personnalisation.

+ +

Pour HP-UX 9.X: mettre à jour vers la version 10.20
+ Pour HP-UX 10.[00|01|10]: mettre à jour vers la version 10.20

+ +

Pour HP-UX 10.20:

+ +

Installez le dernier patch cumulatif à propos du transport ARPA. + Ceci va vous permettre de configurer la taille de la table de + hashage de recherche de connexion TCP. La valeur par défaut est 256 + conteneurs et doit être une puissance de deux. À cet effet, utilisez + adb pour modifier l'image *disque* du noyau. Le nom de la variable + est tcp_hash_size. Notez qu'il est impératif d'utiliser + "W" pour spécifier une quantité sur 32 bits, et non + "w" qui indique une valeur sur 16 bits, lors de la + modification de l'image disque car la variable + tcp_hash_size est une quantité sur 32 bits.

+ +

Comment déterminer cette valeur ? Examinez la sortie de ftp://ftp.cup.hp.com/dist/networking/tools/connhist, et + comptez le nombre total de connexions TCP existant sur le système. + Il est en général souhaitable que ce nombre divisé par la taille de + la table de hashage soit raisonnablement petit, disons inférieur à + 10. Les administrateurs peuvent consulter le document SPECweb96 de + HP pour quelques réglages courants. On peut les trouver à http://www.specbench.org/. Si + un système HP-UX traite 1000 connexions SPECweb96 par seconde, une + valeur de temps TIME_WAIT de 60 secondes permettrait le + suivi de 60000 connexions TCP.

+ +

Les administrateurs peuvent tester la profondeur de leur file + d'attente d'écoute avec ftp://ftp.cup.hp.com/dist/networking/misc/listenq.

+ +

Si Apache s'exécute sur un système à base de PA-8000, il est + conseillé de modifier l'exécutable Apache avec la commande chatr + afin d'utiliser une page de grande taille. La commande sera du style + "chatr +pi L <BINARY>". Le GID de l'exécutable en + cours de fonctionnement doit posséder le privilège + MLOCK. Pour assigner ce privilège MLOCK, + consultez Setprivgrp(1m). La modification peut être + validée en exécutant Glance et en examinant les portions de mémoire + du/des serveur(s) afin de s'assurer qu'elles montrent une fraction + non triviale du segment de texte verrouillé.

+ +

Si Apache s'exécute sur un système MP (multi-processeurs), il est + conseillé d'écrire un petit programme qui utilise + mpctl() et permettant d'associer les processus aux + processeurs. Un simple algorithme pid % numcpu suffira + probablement. Cette modification peut aussi être ajoutée dans le + code source.

+ +

Si l'administrateur s'intéresse au nombre de connexions + FIN_WAIT_2, il peut utiliser nettune pour diminuer la + valeur de tcp_keepstart. Il devra cependant être + prudent - surtout ne pas diminuer cette valeur en dessous de, disons + deux à quatre minutes. Si tcp_hash_size a été défini, + il est probablement approprié de laisser les connexions + FIN_WAIT_2 prendre plus de temps à expirer (peut-être + même la valeur par défaut de deux heures) - elles n'auront en + général pas un grand impact sur les performances.

+ +

On peut ajouter d'autres choses au code de base, mais elles + feront peut-être l'objet d'un autre email. N'hésitez pas à m'envoyer + un message si vous êtes intéressé.

+ +

sincèrement ,

+ +

rick jones

+ +

http://www.netperf.org/netperf/

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/perf-hp.html.ko.euc-kr b/docs/manual/platform/perf-hp.html.ko.euc-kr new file mode 100644 index 0000000..3fb2b10 --- /dev/null +++ b/docs/manual/platform/perf-hp.html.ko.euc-kr @@ -0,0 +1,128 @@ + + + + + +HPUX¿¡¼­ °í¼º´É À¥¼­¹ö ½ÇÇàÇϱâ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

HPUX¿¡¼­ °í¼º´É À¥¼­¹ö ½ÇÇàÇϱâ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +
Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones <raj@cup.hp.com>
+Reply-To: raj@cup.hp.com
+Organization: Network Performance
+Subject: HP-UX tuning tips
+ +

ÀÌ ±ÛÀº ¼º´ÉÇâ»ó ÆäÀÌÁö¿¡ Ãß°¡ÇÒ HP-UX ¼º´ÉÇâ»ó ÆÁÀÌ´Ù.

+ +

HP-UX 9.X´Â: 10.20À¸·Î ¾÷±×·¹À̵åÇ϶ó
+ HP-UX 10.[00|01|10]Àº: 10.20À¸·Î ¾÷±×·¹À̵åÇ϶ó

+ +

HP-UX 10.20˼:

+ +

ÃÖ±Ù ARPA Transport ÆÐÄ¡ ¸ðÀ½À» ¼³Ä¡ÇÑ´Ù. ±×·¯¸é TCP + ¿¬°áã±â Çؽ¬Å×À̺í Å©±â¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ±âº»°ªÀº + 256 °³ÀÌ°í, 2ÀÇ °ÅµìÁ¦°ö°ªÀ¸·Î ÁöÁ¤ÇØ¾ß ÇÑ´Ù. adb·Î Ä¿³ÎÀÇ + *disc* À̹ÌÁö¸¦ ¼öÁ¤ÇÏ¿© ¼³Á¤ÇÑ´Ù. º¯¼ö¸íÀº + tcp_hash_sizeÀÌ´Ù. tcp_hash_size + º¯¼ö°ªÀÌ 32ºñÆ®À̹ǷΠdisc À̹ÌÁö¸¦ ¼öÁ¤ÇÒ¶§ ¹Ýµå½Ã 16ºñÆ® + °ªÀ» ±â·ÏÇÏ´Â "w" ´ë½Å 32ºñÆ® °ªÀ» ±â·ÏÇÏ´Â + "W"¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

+ +

¾î¶² °ªÀ» °í¸¦±î? ftp://ftp.cup.hp.com/dist/networking/tools/connhistÀÇ + °á°ú¸¦ º¸°í, ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â TCP ¿¬°á ÃÑ°³¼ö¸¦ »ìÆìºÁ¶ó. + ÀÌ ¼ýÀÚ¸¦ Çؽ¬Å×À̺í Å©±â·Î ³ª´« °ªÀÌ »ó´çÈ÷ (10 ÀÌÇÏ) ÀÛÀ¸¸é + ÁÁ´Ù. HPÀÇ SPECweb96 °á°ú¿¡¼­ ÀϹÝÀûÀÎ ¼³Á¤À» º¼ ¼ö ÀÖ´Ù. + °á°ú´Â http://www.specbench.org/¿¡ + ÀÖ´Ù. HP-UX ½Ã½ºÅÛÀÌ ÃÊ´ç 1000¹ø SPECweb96 ¿¬°áÀ» ÇÏ´Â °æ¿ì + TIME_WAIT°¡ 60Ãʶó¸é 60,000°³ÀÇ TCP "¿¬°á"À» + ÃßÀûÇÑ´Ù´Â ¶æÀÌ´Ù.

+ +

ftp://ftp.cup.hp.com/dist/networking/misc/listenq¸¦ + ½ÇÇàÇÏ¿© ½Ã½ºÅÛÀÇ ¿¬°á´ë±âÇà·Ä ±íÀ̸¦ ¾Ë ¼ö ÀÖ´Ù.

+ +

PA-8000±â¹Ý ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÑ´Ù¸é, ¾ÆÆÄÄ¡ + ½ÇÇàÆÄÀÏÀÌ Å« ÆäÀÌÁöÅ©±â¸¦ »ç¿ëÇϵµ·Ï "chatr"ÇÑ´Ù. ¸í·ÉÀº + "chatr +pi L <½ÇÇàÆÄÀÏ>"ÀÌ´Ù. ½ÇÇàÆÄÀÏÀ» + ½ÇÇàÇÏ´Â GID¿¡ MLOCK ±ÇÇÑÀÌ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù. + MLOCK ºÎ¿©¿¡ ´ëÇؼ­´Â Setprivgrp(1m)¸¦ + Âü°íÇ϶ó. ¼öÁ¤ÈÄ Glance¸¦ ½ÇÇàÇÏ¿© ¼­¹öÀÇ ¸Þ¸ð¸®¿µ¿ªÀ» »ìÆ캸¸é + »ó´çÇÑ text ¼¼±×¸ÕÆ®°¡ Àá°ÜÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

+ +

´ÙÁßÇÁ·Î¼¼½º ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÑ´Ù¸é, ÇÁ·Î¼¼½º¸¦ + ÇÁ·Î¼¼½º¿¡ ¹èÁ¤ÇÏ´Â mpctl()¸¦ »ç¿ëÇÑ ÀÛÀº + ÇÁ·Î±×·¥À» ÀÛ¼ºÇغÁ¶ó. ´Ü¼øÇÑ pid % numcpu + ¾Ë°í¸®ÁòÀ¸·Îµµ ÃæºÐÇÒ °ÍÀÌ´Ù. ÀÌ ºÎºÐÀº ¾ÕÀ¸·Î ¼Ò½ºÄڵ忡 + Æ÷Ç﵃ ¼ö ÀÖ´Ù.

+ +

FIN_WAIT_2 ¿¬°áÀÇ °³¼ö°¡ °ÆÁ¤½º·´´Ù¸é, + nettuneÀ» »ç¿ëÇÏ¿© tcp_keepstart °ªÀ» ÁÙÀÏ + ¼ö ÀÖ´Ù. ±×·¯³ª Á¶½ÉÇØ¾ß ÇÑ´Ù - 4ºÐ º¸´Ù ÀÛ°Ô ¼³Á¤ÇÏÁö ¸¶¶ó. + tcp_hash_size¸¦ Àß ¼³Á¤ÇÏ¿´´Ù¸é, + FIN_WAIT_2 °ªÀÌ Ä¿µµ (½ÉÁö¾î ±âº»°ªÀÎ 2½Ã°£µµ) + ¹®Á¦¾ø´Ù - º¸Åë ¼º´É¿¡ Å« ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù.

+ +

¾ÕÀ¸·Î ¼Ò½ºÄڵ忡 Æ÷Ç﵃ ºÎºÐÀÌ ´õ ÀÖÁö¸¸, ¿©±â¼­ ÁÙÀδÙ. + °ü½ÉÀÌ ÀÖ´Ù¸é ¸ÞÀÏÀ» ÁÖ±æ ¹Ù¶õ´Ù.

+ +

±×·³ À̸¸,

+ +

rick jones

+ +

http://www.cup.hp.com/netperf/NetperfPage.html

+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/rpm.html b/docs/manual/platform/rpm.html new file mode 100644 index 0000000..40ebbc1 --- /dev/null +++ b/docs/manual/platform/rpm.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: rpm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: rpm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/platform/rpm.html.en b/docs/manual/platform/rpm.html.en new file mode 100644 index 0000000..eb752b9 --- /dev/null +++ b/docs/manual/platform/rpm.html.en @@ -0,0 +1,248 @@ + + + + + +Using Apache With RPM Based Systems (Redhat / CentOS / Fedora) - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Using Apache With RPM Based Systems (Redhat / CentOS / Fedora)

+
+

Available Languages:  en  | + fr 

+
+ + +

While many distributions make Apache httpd available as operating system + supported packages, it can sometimes be desirable to install and use the + canonical version of Apache httpd on these systems, replacing the natively + provided versions of the packages.

+ +

While the Apache httpd project does not currently create binary RPMs + for the various distributions out there, it is easy to build your own + binary RPMs from the canonical Apache httpd tarball.

+ +

This document explains how to build, install, configure and run + Apache httpd 2.4 under Unix systems supporting the RPM packaging format.

+ +
+ +
top
+
+

Creating a Source RPM

+ + +

The Apache httpd source tarball can be converted into an SRPM as + follows:

+ +

+ rpmbuild -ts httpd-2.4.x.tar.bz2 +

+ +
top
+
+

Building RPMs

+ + +

RPMs can be built directly from the Apache httpd source tarballs using + the following command:

+ +

+ rpmbuild -tb httpd-2.4.x.tar.bz2 +

+ +

Corresponding "-devel" packages will be required to be installed on your + build system prior to building the RPMs, the rpmbuild command + will automatically calculate what RPMs are required and will list any + dependencies that are missing on your system. These "-devel" packages will + not be required after the build is completed, and can be safely removed.

+ +

If successful, the following RPMs will be created:

+ +
+
httpd-2.4.x-1.i686.rpm
+
The core server and basic module set.
+ +
httpd-debuginfo-2.4.x-1.i686.rpm
+
Debugging symbols for the server and all modules.
+ +
httpd-devel-2.4.x-1.i686.rpm
+
Headers and development files for the server.
+ +
httpd-manual-2.4.x-1.i686.rpm
+
The webserver manual.
+ +
httpd-tools-2.4.x-1.i686.rpm
+
Supporting tools for the webserver.
+ +
mod_authnz_ldap-2.4.x-1.i686.rpm
+
mod_ldap and mod_authnz_ldap, with + corresponding dependency on openldap.
+ +
mod_lua-2.4.x-1.i686.rpm
+
mod_lua module, with + corresponding dependency on lua.
+ +
mod_proxy_html-2.4.x-1.i686.rpm
+
mod_proxy_html module, with + corresponding dependency on libxml2.
+ +
mod_socache_dc-2.4.x-1.i686.rpm
+
mod_socache_dc module, with + corresponding dependency on distcache.
+ +
mod_ssl-2.4.x-1.i686.rpm
+
mod_ssl module, with + corresponding dependency on openssl.
+ +
+ +
top
+
+

Installing the Server

+ + +

The httpd RPM is the only RPM necessary to get a basic + server to run. Install it as follows:

+ +

+ rpm -U httpd-2.4.x-1.i686.rpm +

+ +

Self contained modules are included with the server. Modules that + depend on external libraries are provided as separate RPMs to install + if needed.

+ +
top
+
+

Configuring the Default Instance of Apache httpd

+ + +

The default configuration for the server is installed by default + beneath the /etc/httpd directory, with logs written by + default to /var/log/httpd. The environment for the + webserver is set by default within the optional + /etc/sysconfig/httpd file.

+ +

Start the server as follows:

+ +

+ service httpd restart +

+ +
top
+
+

Configuring Additional Instances of Apache httpd on the Same Machine

+ + +

It is possible to configure additional instances of the Apache + httpd server running independently alongside each other on the same + machine. These instances can have independent configurations, and + can potentially run as separate users if so configured.

+ +

This was done by making the httpd startup script aware of its own + name. This name is then used to find the environment file for the + server, and in turn, the server root of the server instance.

+ +

To create an additional instance called + httpd-additional, follow these steps:

+ +
    +
  • Create a symbolic link to the startup script for the additional + server: + +

    + ln -s /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd-additional
    + chkconfig --add httpd-additional +

    + +
  • + +
  • Create an environment file for the server, using the + /etc/sysconfig/httpd file as a template: + +

    + # template from httpd
    + cp /etc/sysconfig/httpd /etc/sysconfig/httpd-additional +

    + +

    + # blank template
    + touch /etc/sysconfig/httpd-additional +

    + + Edit /etc/sysconfig/httpd-additional and pass the + server root of the new server instance within the + OPTIONS environment variable. + +

    + OPTIONS="-d /etc/httpd-additional -f conf/httpd-additional.conf" +

    + +
  • + +
  • Edit the server configuration file + /etc/httpd-additional/conf/httpd-additional.conf to + ensure the correct ports and paths are configured. +
  • + +
  • Start the server as follows: + +

    + service httpd-additional restart +

    + +
  • + +
  • Repeat this process as required for each server instance.
  • +
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/rpm.html.fr.utf8 b/docs/manual/platform/rpm.html.fr.utf8 new file mode 100644 index 0000000..c0a8446 --- /dev/null +++ b/docs/manual/platform/rpm.html.fr.utf8 @@ -0,0 +1,264 @@ + + + + + +Utiliser Apache sur les systèmes à base de paquets RPM (Redhat + / CentOS / Fedora) - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Utiliser Apache sur les systèmes à base de paquets RPM (Redhat + / CentOS / Fedora)

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Alors que de nombreuses distributions mettent à disposition des + paquets Apache httpd supportés par le système d'exploitation + sous-jacent, il peut s'avérer nécessaire d'installer et d'utiliser + la version de base d'Apache httpd en remplacement de la version des + paquets.

+ +

Bien que le projet Apache httpd ne crée pas actuellement de + paquets RPM pour les différentes distributions, il est aisé de + construire votre propre paquet RPM à partir du tarball de base + d'Apache httpd.

+ +

Ce document explique comment construire, installer, configurer et + exécuter Apache httpd 2.4 sur les systèmes Unix à base de paquets + RPM.

+ +
+ +
top
+
+

Création d'un paquet RPM source

+ + +

Le tarball d'Apache httpd peut être converti en paquet SRPM de la + manière suivante :

+ +

+ rpmbuild -ts httpd-2.4.x.tar.bz2 +

+ +
top
+
+

Création d'un paquet RPM

+ + +

Le tarball d'Apache httpd peut être converti en paquet RPM de la + manière suivante :

+ +

+ rpmbuild -tb httpd-2.4.x.tar.bz2 +

+ +

Il sera nécessaire d'installer les paquets "-devel" + correspondants avant de construire les RPMs ; à cet effet, la + commande rpmbuild détecte automatiquement les RPMs + requis et en donne la liste sous forme de dépendances manquantes sur + votre système. Ces paquets "-devel" ne seront d'ailleurs plus + nécessaires une fois la création des RPMs terminée, et pourront + alors être supprimés sans risque.

+ +

Si tout va bien, les RPMs suivants seront créés :

+ +
+
httpd-2.4.x-1.i686.rpm
+
Le serveur de base et le jeu de modules standards.
+ +
httpd-debuginfo-2.4.x-1.i686.rpm
+
Les symboles de débogage pour le serveur et tous les modules.
+ +
httpd-devel-2.4.x-1.i686.rpm
+
Les en-têtes et fichiers de développement pour le serveur.
+ +
httpd-manual-2.4.x-1.i686.rpm
+
Le manuel du serveur web.
+ +
httpd-tools-2.4.x-1.i686.rpm
+
Les utilitaires du serveur web.
+ +
mod_authnz_ldap-2.4.x-1.i686.rpm
+
Les modules mod_ldap et + mod_authnz_ldap avec les dépendances + correspondantes sur openldap.
+ +
mod_lua-2.4.x-1.i686.rpm
+
Le module mod_lua avec les dépendances + correspondantes sur lua.
+ +
mod_proxy_html-2.4.x-1.i686.rpm
+
Le module mod_proxy_html avec les + dépendances correspondantes sur libxml2.
+ +
mod_socache_dc-2.4.x-1.i686.rpm
+
Le module mod_socache_dc avec les + dépendances correspondantes sur distcache.
+ +
mod_ssl-2.4.x-1.i686.rpm
+
Le module mod_ssl avec les + dépendances correspondantes sur openssl.
+ +
+ +
top
+
+

Installation du serveur

+ + +

Le RPM httpd est le seul paquet nécessaire pour + obtenir un serveur de base fonctionnel. Vous pouvez l'installer + comme suit :

+ +

+ rpm -U httpd-2.4.x-1.i686.rpm +

+ +

Le jeu de modules standards est inclus dans le serveur. Les + modules qui dépendent de bibliothèques externes sont fournis en tant + que paquets RPM séparés et doivent être installés si nécessaire.

+ +
top
+
+

Configuration de l'instance par défaut d'Apache httpd

+ + +

Les répertoires par défaut sont + /etc/httpd pour la configuration du serveur, et + /var/log/httpd pour la journalisation. L'environnement + par défaut du serveur web est défini dans le répertoire optionnel + /etc/sysconfig/httpd.

+ +

Démarrez le serveur comme suit :

+ +

+ service httpd restart +

+ +
top
+
+

Configuration d'instances d'Apache httpd supplémentaires sur + la même machine

+ + +

Il est possible d'exécuter simultanément plusieurs instances du + serveur Apache httpd sur la même machine. Chaque instance peut + posséder sa propre configuration et en fonction de cette dernière, + s'exécuter sous un utilisateur différent.

+ +

Pour parvenir à ce résultat, on a fait en sorte que le script de + démarrage de httpd ait connaissance de son propre nom. Ce nom est + par la suite utilisé pour trouver le fichier d'environnement associé + au serveur, et par conséquent, la racine de l'instance du serveur + considéré.

+ +

Pour créer une instance supplémentaire appelée + httpd-additional, suivez ces étapes :

+ +
    +
  • Créez un lien symbolique vers le script de démarrage pour + l'instance supplémentaire : + +

    + ln -s /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd-additional
    + chkconfig --add httpd-additional +

    + +
  • + +
  • Créez un fichier d'environnement pour l'instance + supplémentaire, en utilisant le fichier + /etc/sysconfig/httpd comme modèle : + +

    + # création du fichier d'environnement à partir du modèle httpd
    + cp /etc/sysconfig/httpd /etc/sysconfig/httpd-additional +

    + +

    + # création du fichier d'environnement à partir de zéro
    + touch /etc/sysconfig/httpd-additional +

    + + Editez le fichier /etc/sysconfig/httpd-additional et + définissez la racine de la nouvelle instance du serveur via la + variable d'environnement OPTIONS. + +

    + OPTIONS="-d /etc/httpd-additional -f conf/httpd-additional.conf" +

    + +
  • + +
  • Editez le fichier de configuration du serveur supplémentaire + /etc/httpd-additional/conf/httpd-additional.conf et + assurez-vous que les ports et chemins sont correctement définis. +
  • + +
  • Démarrez le serveur supplémentaire comme suit : + +

    + service httpd-additional restart +

    + +
  • + +
  • Répétez ces opérations pour chaque instance supplémentaire + souhaitée.
  • +
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/win_compiling.html b/docs/manual/platform/win_compiling.html new file mode 100644 index 0000000..31812ba --- /dev/null +++ b/docs/manual/platform/win_compiling.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: win_compiling.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: win_compiling.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: win_compiling.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/platform/win_compiling.html.en b/docs/manual/platform/win_compiling.html.en new file mode 100644 index 0000000..492215b --- /dev/null +++ b/docs/manual/platform/win_compiling.html.en @@ -0,0 +1,517 @@ + + + + + +Compiling Apache for Microsoft Windows - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Compiling Apache for Microsoft Windows

+
+

Available Languages:  en  | + fr  | + ko 

+
+ + +

There are many important points to consider before you begin compiling + Apache HTTP Server (httpd). See Using Apache HTTP + Server on Microsoft Windows before you begin.

+ +

httpd can be built on Windows using a cmake-based build system or with + Visual Studio project files maintained by httpd developers. The cmake-based + build system directly supports more versions of Visual Studio but currently + has considerable functional limitations.

+ +
+ +
top
+
+

Building httpd with the included Visual Studio project files

+ + +

Requirements

+ + + +

Compiling Apache requires the following environment to be + properly installed:

+ +
    +
  • +

    Disk Space

    + +

    Make sure you have at least 200 MB of free disk space + available. After installation Apache requires approximately + 80 MB of disk space, plus space for log and cache files, + which can grow rapidly. The actual disk space requirements + will vary considerably based on your chosen configuration and + any third-party modules or libraries, especially when OpenSSL + is also built. Because many files are text and very easily + compressed, NTFS filesystem compression cuts these requirements + in half.

    +
  • + +
  • +

    Appropriate Patches

    + +

    The httpd binary is built with the help of several patches to + third party packages, which ensure the released code is buildable + and debuggable. These patches are available and distributed from http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ + and are recommended to be applied to obtain identical results as the + "official" ASF distributed binaries.

    +
  • + +
  • +

    Microsoft Visual C++ 6.0 (Visual Studio 97) or later.

    + +

    Apache can be built using the command line tools, or from + within the Visual Studio IDE Workbench. The command line + build requires the environment to reflect the PATH, + INCLUDE, LIB and other variables + that can be configured with the vcvars32.bat script.

    + +
    You may want the Visual Studio Processor Pack for your older + version of Visual Studio, or a full (not Express) version of newer + Visual Studio editions, for the ml.exe assembler. This will allow + you to build OpenSSL, if desired, using the more efficient assembly + code implementation.
    + +
    Only the Microsoft compiler tool chain is actively supported by + the active httpd contributors. Although the project regularly accepts + patches to ensure MinGW and other alternative builds work and improve + upon them, they are not actively maintained and are often broken in + the course of normal development.
    +
  • + +
  • +

    Updated Microsoft Windows Platform SDK, February 2003 or later.

    + +

    An appropriate Windows Platform SDK is included by default in the + full (not express/lite) versions of Visual C++ 7.1 (Visual Studio 2002) + and later, these users can ignore these steps unless explicitly choosing + a newer or different version of the Platform SDK.

    + +

    To use Visual C++ 6.0 or 7.0 (Studio 2000 .NET), the Platform SDK + environment must be prepared using the setenv.bat + script (installed by the Platform SDK) before starting the command + line build or launching the msdev/devenv GUI environment. Installing + the Platform SDK for Visual Studio Express versions (2003 and later) + should adjust the default environment appropriately.

    + +

    + "c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
    + "c:\Program Files\Platform SDK\setenv.bat" +

    +
  • + +
  • +

    Perl and awk

    + +

    Several steps recommended here require a perl interpreter during + the build preparation process, but it is otherwise not required.

    + +

    To install Apache within the build system, several files are + modified using the awk.exe utility. awk was chosen since + it is a very small download (compared with Perl or WSH/VB) and + accomplishes the task of modifying configuration files upon + installation. Brian Kernighan's + http://www.cs.princeton.edu/~bwk/btl.mirror/ + site has a compiled native Win32 binary, + http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe which + you must save with the name awk.exe (rather than + awk95.exe).

    + +
    If awk.exe is not found, Makefile.win's install target + will not perform substitutions in the installed .conf files. + You must manually modify the installed .conf files to allow + the server to start. Search and replace all "@token@" tags + as appropriate.
    + +
    The Visual Studio IDE will only find awk.exe + from the PATH, or executable path specified in the menu option + Tools -> Options -> (Projects ->) Directories. Ensure + awk.exe is in your system path.
    + +
    Also note that if you are using Cygwin tools + (http://www.cygwin.com/) + the awk utility is named gawk.exe and that the file + awk.exe is really a symlink to the gawk.exe + file. The Windows command shell does not recognize symlinks, and + because of this building InstallBin will fail. A workaround is + to delete awk.exe from the cygwin installation and + copy gawk.exe to awk.exe. Also note the + cygwin/mingw ports of gawk 3.0.x were buggy, please upgrade to 3.1.x + before attempting to use any gawk port.
    +
  • + +
  • +

    [Optional] zlib library (for mod_deflate)

    + +

    Zlib must be installed into a srclib subdirectory named + zlib. This must be built in-place. Zlib can be obtained + from http://www.zlib.net/ -- the + mod_deflate is confirmed to work correctly with + version 1.2.3.

    + +

    + nmake -f win32\Makefile.msc
    + nmake -f win32\Makefile.msc test +

    +
  • + +
  • +

    [Optional] OpenSSL libraries (for mod_ssl + and ab.exe with ssl support)

    + +
    The OpenSSL library is cryptographic software. The country + in which you currently reside may have restrictions on the import, + possession, use, and/or re-export to another country, of encryption + software. BEFORE using any encryption software, please check your + country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see + if this is permitted. See + http://www.wassenaar.org/ + for more information.
    + +

    Configuring and building OpenSSL requires perl to be installed.

    + +

    OpenSSL must be installed into a srclib subdirectory + named openssl, obtained from + http://www.openssl.org/source/, in order to compile + mod_ssl or the abs.exe project, which + is ab.c with SSL support enabled. To prepare OpenSSL to be linked + to Apache mod_ssl or abs.exe, and disable patent encumbered features + in OpenSSL, you might use the following build commands:

    + +

    + perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32 + -Ipath/to/srclib/zlib -Lpath/to/srclib/zlib
    + ms\do_masm.bat
    + nmake -f ms\ntdll.mak +

    + +
    It is not advisable to use zlib-dynamic, as that transfers + the cost of deflating SSL streams to the first request which must + load the zlib dll. Note the suggested patch enables the -L flag to + work with windows builds, corrects the name of zdll.lib and ensures + .pdb files are generated for troubleshooting. If the assembler is + not installed, you would add no-asm above and use ms\do_ms.bat + instead of the ms\do_masm.bat script.
    +
  • + +
  • +

    [Optional] Database libraries (for mod_dbd + and mod_authn_dbm)

    + +

    The apr-util library exposes dbm (keyed database) and dbd (query + oriented database) client functionality to the httpd server and its + modules, such as authentication and authorization. The sdbm dbm and + odbc dbd providers are compiled unconditionally.

    + +

    The dbd support includes the Oracle instantclient package, MySQL, + PostgreSQL and sqlite. To build these all, for example, set up the + LIB to include the library path, INCLUDE to include the headers path, + and PATH to include the dll bin path of all four SDK's, and set the + DBD_LIST environment variable to inform the build which client driver + SDKs are installed correctly, e.g.;

    + +

    + set DBD_LIST=sqlite3 pgsql oracle mysql +

    + +

    Similarly, the dbm support can be extended with DBM_LIST to + build a Berkeley DB provider (db) and/or gdbm provider, by similarly + configuring LIB, INCLUDE and PATH first to ensure the client library + libs and headers are available.

    + +

    + set DBM_LIST=db gdbm +

    + +
    Depending on the choice of database distributions, it may be + necessary to change the actual link target name (e.g. gdbm.lib vs. + libgdb.lib) that are listed in the corresponding .dsp/.mak files + within the directories srclib\apr-util\dbd or ...\dbm.
    + +

    See the README-win32.txt file for more hints on obtaining the + various database driver SDKs.

    +
  • +
+ + + +

Building from Unix sources

+ + + +

The policy of the Apache HTTP Server project is to only release Unix sources. + Windows source packages made available for download have been supplied by + volunteers and may not be available for every release. You can still build + the server on Windows from the Unix source tarball with just a few additional + steps.

+ +
    +
  1. Download and unpack the Unix source tarball for the latest version.
  2. +
  3. Download and unpack the Unix source tarball for latest version of + APR, AR-Util and APR-Iconv, place these sources in directories httpd-2.x.x\srclib\apr, httpd-2.x.x\srclib\apr-util and httpd-2.x.x\srclib\apr-iconv
  4. +
  5. Open a Command Prompt and CD to the httpd-2.x.x folder
  6. +
  7. Run the line endings conversion utility at the prompt;
  8. +
+ +

+ perl srclib\apr\build\lineends.pl +

+ +

You can now build the server with the Visual Studio development + environment using the IDE. Command-Line builds of the server are not + possible from Unix sources unless you export .mak files as explained + below. +

+ + + +

Command-Line Build

+ + + +

Makefile.win is the top level Apache makefile. + To compile Apache on Windows, simply use one of the following commands + to build the release or debug flavor:

+ +

+ nmake /f Makefile.win _apacher

+ nmake /f Makefile.win _apached +

+ +

Either command will compile Apache. The latter will disable + optimization of the resulting files, making it easier to single + step the code to find bugs and track down problems.

+ +

You can add your apr-util dbd and dbm provider choices with the + additional make (environment) variables DBD_LIST and DBM_LIST, + see the comments about [Optional] Database libraries, above. + Review the initial comments in Makefile.win for additional options + that can be provided when invoking the build.

+ + + +

Developer Studio Workspace IDE Build

+ + + +

Apache can also be compiled using VC++'s Visual Studio + development environment. To simplify this process, a + Visual Studio workspace, Apache.dsw, is provided. + This workspace exposes the entire list of working .dsp + projects that are required for the complete Apache binary release. + It includes dependencies between the projects to assure that they + are built in the appropriate order.

+ +

Open the Apache.dsw workspace, and select + InstallBin (Release or Debug build, + as desired) as the Active Project. InstallBin causes all + related project to be built, and then invokes Makefile.win to + move the compiled executables and dlls. You may personalize the + INSTDIR= choice by changing InstallBin's Settings, + General tab, Build command line entry. INSTDIR defaults to the + /Apache2 directory. If you only want a test compile (without + installing) you may build the BuildBin project instead.

+ +

The .dsp project files are distributed in Visual Studio 6.0 + (98) format. Visual C++ 5.0 (97) will recognize them. Visual Studio + 2002 (.NET) and later users must convert Apache.dsw plus + the .dsp files into an Apache.sln plus + .msproj files. Be sure you reconvert the .msproj + file again if its source .dsp file changes! This is really + trivial, just open Apache.dsw in the VC++ 7.0 IDE once again + and reconvert.

+ +
There is a flaw in the .vcproj conversion of .dsp files. devenv.exe + will mis-parse the /D flag for RC flags containing long quoted /D'efines + which contain spaces. The command: +

+ perl srclib\apr\build\cvtdsp.pl -2005 +

+ will convert the /D flags for RC flags to use an alternate, parseable + syntax; unfortunately this syntax isn't supported by Visual Studio 97 + or its exported .mak files. These /D flags are used to pass the long + description of the mod_apachemodule.so files to the shared .rc resource + version-identifier build.
+ +
Building with OpenSSL 1.1.0 and up + Due to difference in the build structure of OpenSSL begining with version + 1.1.0 you will need to convert the dsp files affected with cvtdsp.pl from + APR 1.6 or greater. The command: +

+ perl srclib\apr\build\cvtdsp.pl -ossl11 +

+
+ +

Visual Studio 2002 (.NET) and later users should also use the Build + menu, Configuration Manager dialog to uncheck both the Debug + and Release Solution modules abs, + mod_deflate and mod_ssl components, as + well as every component starting with apr_db*. These modules + are built by invoking nmake, or the IDE directly with the + BinBuild target, which builds those modules conditionally + if the srclib directories openssl and/or + zlib exist, and based on the setting of DBD_LIST + and DBM_LIST environment variables.

+ + + +

Exporting command-line .mak files

+ + + +

Exported .mak files pose a greater hassle, but they are + required for Visual C++ 5.0 users to build mod_ssl, + abs (ab with SSL support) and/or + mod_deflate. The .mak files also support a broader + range of C++ tool chain distributions, such as Visual Studio Express.

+ +

You must first build all projects in order to create all dynamic + auto-generated targets, so that dependencies can be parsed correctly. + Build the entire project from within the Visual Studio 6.0 (98) IDE, + using the BuildAll target, then use the Project Menu Export + for all makefiles (checking on "with dependencies".) Run the following + command to correct absolute paths into relative paths so they will build + anywhere:

+ +

+ perl srclib\apr\build\fixwin32mak.pl +

+ +

You must type this command from the top level + directory of the httpd source tree. Every + .mak and .dep project file within + the current directory and below will be corrected, and the + timestamps adjusted to reflect the .dsp.

+ +

Always review the generated .mak and .dep + files for Platform SDK or other local, machine specific file paths. + The DevStudio\Common\MSDev98\bin\ (VC6) directory contains + a sysincl.dat file, which lists all exceptions. Update + this file (including both forward and backslashed paths, such as both + sys/time.h and sys\time.h) to ignore such + newer dependencies. Including local-install paths in a distributed + .mak file will cause the build to fail completely.

+ +

If you contribute back a patch that revises project files, we + must commit project files in Visual Studio 6.0 format. Changes + should be simple, with minimal compilation and linkage flags that + can be recognized by all Visual Studio environments.

+ + + +

Installation

+ + + +

Once Apache has been compiled, it needs to be installed in + its server root directory. The default is the + \Apache2 directory, of the same drive.

+ +

To build and install all the files into the desired folder + dir automatically, use one of the following + nmake commands:

+ +

+ nmake /f Makefile.win installr INSTDIR=dir
+ nmake /f Makefile.win installd INSTDIR=dir +

+ +

The dir argument to INSTDIR provides + the installation directory; it can be omitted if Apache is + to be installed into \Apache22 (of the current + drive).

+ + + +

Warning about building Apache from the development tree

+ + + +
Note only the .dsp files are maintained between release + builds. The .mak files are NOT regenerated, due to the tremendous + waste of reviewer's time. Therefore, you cannot rely on the NMAKE + commands above to build revised .dsp project files unless you + then export all .mak files yourself from the project. This is + unnecessary if you build from within the Microsoft + Developer Studio environment.
+ + +
top
+
+

Building httpd with cmake

+ + +

The primary documentation for this build mechanism is in the + README.cmake file in the source distribution. Refer to that file + for detailed instructions.

+ +

Building httpd with cmake requires building APR and APR-util separately. + Refer to their README.cmake files for instructions.

+ +

The primary limitations of the cmake-based build are inherited from the APR-util + project, and are listed below because of their impact on httpd:

+ +
    +
  • No cmake build for the APR-iconv subproject is available, and the + APR-util cmake build cannot consume an existing APR-iconv build. Thus, + mod_charset_lite and possibly some third-party modules + cannot be used.
  • +
  • The cmake build for the APR-util subproject does not support most of the + optional DBM and DBD libraries supported by the included Visual Studio + project files. This limits the database backends supported by a number of + bundled and third-party modules.
  • +
+ +
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/win_compiling.html.fr.utf8 b/docs/manual/platform/win_compiling.html.fr.utf8 new file mode 100644 index 0000000..de3abd8 --- /dev/null +++ b/docs/manual/platform/win_compiling.html.fr.utf8 @@ -0,0 +1,603 @@ + + + + + +Compiler Apache pour Microsoft Windows - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Compiler Apache pour Microsoft Windows

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + +

Il y a de nombreux points importants à connaître avant de + compiler Le serveur HTTP Apache pour Microsoft Windows. Avant de commencer, lisez le + document Utiliser le serveur HTTP Apache avec Microsoft + Windows.

+ +

httpd peut être compilé sous Windows en utilisant une chaîne de + compilation basée sur cmake, ou à partir de fichiers projet Visual + Studio maintenus par les développeurs de httpd. La chaîne de + compilation basée sur cmake supporte directement davantage de + versions de Visual Studio, mais possède actuellement des + fonctionnalités très limitées.

+ +
+ +
top
+
+

Prérequis

+ + + +

Pour compiler Apache, l'environnement doit satisfaire aux + conditions suivantes :

+ +
    +
  • +

    Espace disque

    + +

    Assurez-vous de disposer d'un minimum de 200 Mo d'espace + disque disponible. Après l'installation, Apache occupe environ + 80 Mo d'espace disque, plus l'espace réservé aux journaux et au + cache, la taille de ces derniers pouvant augmenter rapidement. + Les besoins réels en espace disque dépendent étroitement de la + configuration choisie et des bibliothèques ou modules tiers + installés, en particulier lorsqu'OpenSSL est mis en oeuvre. + Comme de nombreux fichiers sont au format texte et donc + facilement compressibles, l'utilisation de la compression du + système de fichiers NTFS divise ces besoins par deux.

    +
  • + +
  • +

    Correctifs requis

    + +

    Le binaire httpd est compilé à l'aide de nombreux correctifs + appliqués aux paquets tiers, ce qui permet de s'assurer que le + code fourni est bien compilable et déboguable. Ces correctifs + sont disponibles à http://www.apache.org/dist/httpd/binaries/win32/patches_applied/, + et il est recommandé de les appliquer afin d'obtenir un + résultat identique aux binaires "officiels" distribués par + l'ASF.

    +
  • + +
  • +

    Microsoft Visual C++ 6.0 (Visual Studio 97) ou supérieur.

    + +

    Apache peut être compilé en utilisant l'outil ligne de + commande, ou depuis l'espace de travail IDE Visual Studio. Pour + la compilation depuis la ligne de commandes, l'environnement + doit comporter les variables the PATH, + INCLUDE, LIB, ainsi que d'autres + variables qui peuvent être définies via le script + vcvars32.bat :

    + +
    Vous pouvez vous procurer le paquet du Processeur Visual + Studio pour votre ancienne version de Visual Studio, ou une + version complète (et non Express) d'une édition plus récente de + Visual Studio pour l'assembleur ml.exe. Ceci vous permettra, si + vous le souhaitez, de compiler OpenSSL en utilisant une + implémentation du code d'assemblage plus efficace.
    + +
    Seule la chaîne d'outils de compilation de Microsoft est + supportée de manière suivie par les contributeurs actifs à httpd. + Bien que le projet accepte régulièrement des correctifs pour + s'assurer que MinGW et d'autre outils de compilation + fonctionnent, ou même pour les améliorer, ils ne sont pas + maintenus de manière suivie et sont même souvent hors d'état + de fonctionner à certains stades du développement normal.
    +
  • + +
  • +

    Le SDK de la plate-forme Windows mis à jour, février 2003 ou + plus récent.

    + +

    Un SDK approprié pour la plate-forme Windows est inclus par + défaut dans les versions complètes (et non Express/lite) de + Visual C++ 7.1 (Visual Studio 2002) et supérieures ; les + utilisateurs peuvent ignorer ces étapes, à moins qu'ils aient + choisi d'utiliser une version plus récente ou différente du SDK.

    + +

    Pour pouvoir utiliser Visual C++ 6.0 or 7.0 (Studio 2000 + .NET), l'environnement du SDK de la plate-forme doit être préparé en utilisant le + script setenv.bat (installé par le SDK de la plate-forme) avant de + lancer la compilation en ligne de commande ou l'interface GUI + msdev/devenv. L'installation du SDK de la plate-forme pour les + versions Express de Visual Studio (2003 et supérieures) devrait + ajuster l'environnement par défaut de manière appropriée.

    + +

    + "c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
    + "c:\Program Files\Platform SDK\setenv.bat" +

    + + +
  • + +
  • +

    Perl et awk

    + +

    De nombreuses étapes recommandées ici nécessitent un + interpréteur perl durant le processus de préparation de la + compilation.

    + +

    Pour installer Apache à partir du système de compilation, de + nombreux fichiers sont modifiés via l'utilitaire + awk.exe. awk effectue la modification des fichiers + au moment de l'installation ; il a été choisi car il nécessite + un téléchargement de petite taille (par rapport à Perl ou + WSH/VB). Le site de Brian Kernighan http://www.cs.princeton.edu/~bwk/btl.mirror/ propose un + binaire précompilé pour Win32, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe, que + vous devez enregistrer sous le nom awk.exe (plutôt + que awk95.exe).

    + +
    Si awk.exe n'est pas trouvé, la cible install du fichier + Makefile.win n'effectuera aucune substitution dans les fichiers + .conf installés. Vous devez modifier manuellement les fichiers + .conf installés afin de permettre au serveur de démarrer. + Recherchez et remplacez toutes les balises "@token@" par une + valeur appropriée.
    + +
    L'IDE Visual Studio ne trouvera le chemin de + awk.exe que dans la variable PATH, ou dans le + chemin des exécutables spécifié par l'option de menu Tools -> + Options -> (Projects ->) Directories. Assurez-vous + qu'awk.exe est bien dans votre chemin système.
    + +
    Notez aussi, si vous utilisez les outils Cygwin (http://www.cygwin.com/), que + l'utilitaire awk de nomme gawk.exe et que le + fichier awk.exe est en fait un lien symbolique vers + le fichier gawk.exe. Le shell de commandes Windows + ne reconnaît pas les liens symboliques, et par conséquent la + compilation d'InstallBin échouera. Pour contourner le problème, + vous pouvez supprimer le lien awk.exe de + l'installation de Cygwin, et copier gawk.exe vers + awk.exe. Notez aussi que les portages cygwin/mingw + de gawk 3.0.x étaient bogués ; veuillez par conséquent effectuer + une mise à jour vers la version 3.1.x avant l'utilisation de + tout portage de gawk.
    +
  • + +
  • +

    [Optionnel] bibliothèque zlib (pour le module + mod_deflate)

    + +

    Zlib doit être installée dans un sous-répertoire du + répertoire srclib et nommé zlib. Elle + doit être compilée directement à cette place. Zlib est + disponible à l'adresse http://www.zlib.net/ -- le + fonctionnement correct du module mod_deflate a + été vérifié avec la version 1.2.3.

    + +

    + nmake -f win32\Makefile.msc
    + nmake -f win32\Makefile.msc test +

    +
  • + +
  • +

    [Optionnel] Bibliothèques OpenSSL (pour le module + mod_ssl et ab.exe avec le support + ssl)

    + +
    La bibliothèque OpenSSL est un logiciel de chiffrement. Le + pays dans lequel vous résidez peut imposer des restrictions à + l'importation, la possession, l'utilisation, et/ou la + réexportation vers un autre pays des logiciels de chiffrement. + AVANT d'utiliser tout logiciel de chiffrement, veuillez + consulter la législation de votre pays, les règles et politiques + d'importation, de possession, ou d'utilisation, et de + réexportation des logiciels de chiffrement, afin de déterminer + si vous en avez le droit. Voir http://www.wassenaar.org/ + pour plus de détails.
    + +

    La configuration et la compilation d'OpenSSL nécessite + l'installation de perl.

    + +

    Pour pouvoir compiler mod_ssl ou le projet + abs.exe, qui devient ab.c avec le support SSL + activé, vous devez + télécharger OpenSSL à l'adresse http://www.openssl.org/source/, + et l'installer dans un sous-répertoire du répertoire + srclib que vous nommerez openssl. Afin + de préparer OpenSSL à la liaison avec le module Apache mod_ssl + ou abs.exe, et désactiver les fonctionnalités d'Openssl grévées + de brevets, vous pouvez utiliser la commande de compilation + suivante :

    + +

    + perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32 + -Ipath/to/srclib/zlib -Lpath/to/srclib/zlib
    + ms\do_masm.bat
    + nmake -f ms\ntdll.mak +

    + +
    Il est déconseillé d'utiliser zlib-dynamic, car la charge + de la décompression des flux SSL est alors transférée à la + première requête qui doit charger la dll zlib. Notez que le + correctif proposé active le drapeau -L afin de pouvoir + fonctionner avec les compilations Windows, corrige le nom de + zdll.lib et s'assure que les fichiers .pdb sont générés afin de + pouvoir résoudre les problèmes. Si l'assembleur n'est pas + installé, vous devez ajouter no-asm ci-dessus et utiliser le + script ms\do_ms.bat à la place de ms\do_masm.bat.
    +
  • + +
  • +

    [Optionnel] Bibliothèques de bases de données (pour +mod_dbd et mod_authn_dbm)

    + +

    La bibliothèque apr-util fournit un accès aux fonctionnalités + clients dbm (base de données à base de clés) et dbd (base de + données à base de requêtes) au serveur httpd et à certains de + ses modules, comme les modules d'authentification et + d'autorisation. Les fournisseurs sdbm dbm et odbc dbd sont + compilés automatiquement.

    + +

    Le support dbd inclut le paquet instantclient Oracle, MySQL, + PostgreSQL et sqlite. Par exemple, pour les compiler tous, + définissez LIB de façon à inclure le chemin des bibliothèques, + INCLUDE de façon à inclure le chemin des en-têtes, et PATH de + façon à inclure le chemin des dll et bin de chacun des quatre + SDK, et définissez la variable d'environnement DBD_LIST de façon + à indiquer au processus de compilation quels SDKs pilotes + clients du sont correctement installés ; par exemple :

    + +

    + set DBD_LIST=sqlite3 pgsql oracle mysql +

    + +

    De manière similaire, le support dbm peut être étendu avec + DBM_LIST pour compiler un fournisseur Berkeley DB (db) et/ou un + fournisseur gdbm, en configurant tout d'abord de la même manière + LIB, INCLUDE et PATH afin de s'assurer que les bibliothèques et + en-têtes de la bibliothèque client sont bien disponibles.

    + +

    + set DBM_LIST=db gdbm +

    + +
    En fonction du choix des distributions de bases de + données, il peut s'avérer nécessaire de modifier le nom des + cibles de l'édition de liens (par exemple gdbm.lib à la place de + libgdb.lib) listées dans les fichiers .dsp/.mak des répertoires + srclib\apr-util\dbd ou ...\dbm correspondants.
    + +

    Voir le fichier README-win32.txt pour plus d'informations à + propos de l'obtention des différents SDKs pilotes de bases de + données.

    +
  • + +
+ +
top
+
+

Compilation à partir des sources Unix

+ + + +

Le projet du serveur HTTP Apache à pour politique de ne fournir + que des sources de type Unix. Les paquets source de type Windows + disponibles en téléchargement ont été élaborés par des + contributeurs, et ne seront pas forcément reconduits pour toutes les + versions. Vous pouvez cependant compiler le serveur sous Windows à + partir des sources Unix en ajoutant quelques étapes supplémentaires.

+ +
    +
  1. Téléchargez et ouvrez le tarball source Unix de la dernière + version du serveur HTTP Apache.
  2. +
  3. Téléchargez et ouvrez le tarball source Unix de la dernière + version de APR, APR-Util et APR-Iconv, et copier l'arborescence + obtenue dans httpd-2.x.x\srclib\apr, httpd-2.x.x\srclib\apr-util + et httpd-2.x.x\srclib\apr-iconv
  4. +
  5. Ouvrez la console et placez-vous au niveau du répertoire httpd-2.x.x
  6. +
  7. Exécutez l'utilitaire de conversion de fins de ligne
  8. +
+ +

+ perl srclib\apr\build\lineends.pl +

+ +

Vous pouvez maintenant compiler le serveur via l'environnement de + développement Visual Studio en utilisant l'IDE. Les compilations + du serveur en ligne de commande ne sont possibles avec des sources + de type Unix que si vous exportez les fichiers .mak comme indiqué + ci-dessous. +

+ +
top
+
+

Compilation à partir de la ligne de commandes

+ + + +

Makefile.win est le makefile principal ou racine + d'Apache. Pour compiler Apache sous Windows, utilisez simplement une + des commandes suivantes pour compiler la version + release ou debug :

+ +

+ nmake /f Makefile.win _apacher

+ nmake /f Makefile.win _apached +

+ + +

Ces deux commandes effectuent la compilation d'Apache. Cependant, + avec la deuxième, les fichiers résultants ne seront pas optimisés, + ce qui va faciliter l'examen pas à pas du code pour trouver des + bogues et résoudre les problèmes.

+ +

Vous pouvez indiquer vos choix en matière de fournisseurs dbd et + dbm à l'aide des variables (d'environnement) additionnelles de make + DBD_LIST et DBM_LIST ; voir les commentaires à propos des + [Optionnel] Bibliothèques de bases de données ci-dessus. Consultez + les commentaires initiaux dans Makefile.win pour plus d'options + pouvant être fournies lors de la compilation.

+ +
top
+
+

Compilation depuis l'espace de travail IDE de Developer + Studio

+ + + +

Apache peut aussi être compilé depuis l'environnement de + développement Visual Studio de VC++. Pour simplifier ce processus, + l'espace de travail Visual Studio Apache.dsw est + fourni. Cet espace de travail expose la liste complète des projets + .dsp actifs nécessaires à l'installation binaire + complète d'Apache. Il inclut les dépendances entre projets afin que + ces derniers soient compilés selon l'ordre approprié.

+ +

Ouvrez l'espace de travail Apache.dsw, et + sélectionnez InstallBin (compilation + Release ou Debug, selon vos souhaits) + comme Active Project. InstallBin provoque la + compilation de tous les projets concernés, puis invoque + Makefile.win pour installer les exécutables et dlls + compilés. Vous pouvez modifier la valeur de INSTDIR= + via la configuration de InstallBin, onglet Général, + entrée ligne de commandes de compilation. La valeur par défaut de + INSTDIR est le répertoire /Apache2. Si + vous désirez effectuer un test de compilation (sans installation), + sélectionnez le projet BuildBin.

+ +

Les fichiers projets .dsp sont distribués au format + Visual Studio 6.0 (98). Visual C++ 5.0 (97) les reconnaît. Les + utilisateurs de Visual Studio 2002 (.NET) et versions supérieures + doivent convertir Apache.dsw et les fichiers + .dsp en un projet Apache.sln, ainsi que + les fichiers .msproj ; assurez-vous de reconvertir le + fichier .msproj si l'un des fichiers source + .dsp est modifié ! Cette opération est vraiment très + simple, il suffit de réouvrir Apache.dsw dans l'IDE + VC++ 7.0 et de le reconvertir.

+ + +
Il y a une erreur dans la conversion .vcproj des fichiers + .dsp. devenv.exe interprète mal le drapeau + /D pour les drapeaux RC contenant de grandes /D'éfinitions entourées + de guillemets, et contenant elles-mêmes des espaces. Ainsi, la + commande : +

+ perl srclib\apr\build\cvtdsp.pl -2005 +

+ va convertir les drapeaux /D pour les drapeaux RC afin d'utiliser + une syntaxe alternative, interprétable ; malheureusement, cette + syntaxe n'est pas supportée par Visual Studio 97 ou ses fichiers + .mak exportés. Ces drapeaux /D permettent de transmettre la longue + description des fichiers de mod_apachemodule.so à leurs compilations + d'identificateur de version de ressource .rc partagée.
+ + +
Compilation avec OpenSSL versions 1.1.0 et supérieures + Suite à une modification de la structure de compilation d'OpenSSL à partir + de la version 1.1.0, vous devez convertir les fichiers dsp concernés via la + commance cvtdsp.pl fournie par APR versions 1.6 et supérieures : +

+ perl srclib\apr\build\cvtdsp.pl -ossl11 +

+
+ + +

Les utilisateurs de Visual Studio 2002 (.NET) et versions + supérieures doivent aussi utiliser + la boîte de dialogue Configuration Manager du menu Build pour + décocher les deux versions Debug et + Release des modules mod_ssl + et mod_deflate pour abs. Ces modules + sont compilés + en invoquant nmake ou directement l'IDE avec la cible + BinBuild pour compiler ces modules de manière + conditionnelle si les sous-répertoires de srclib + openssl et/ou zlib existent, et en + fonction des définitions des variables d'environnement + DBD_LIST et DBM_LIST.

+ +
top
+
+

Export des fichiers .mak de la ligne de commandes

+ + + + +

Les fichiers .mak exportés posent plus de problèmes, + mais les utilisateurs de Visual C++ 5.0 en ont besoin pour compiler + mod_ssl, abs (ab avec support + SSL) et/ou mod_deflate. Les fichiers .mak + supportent aussi un choix plus large de distributions de chaînes + d'outils C++, comme Visual Studio Express.

+ +

Vous devez tout d'abord compiler tous les projets afin de créer + toutes les cibles dynamiques auto-générées, de façon à ce que les + dépendances puissent être interprétées correctement. Compilez + l'ensemble du projet depuis l'IDE Visual Studio 6.0 (98), en + utilisant la cible BuildAll, puis utilisez le menu de + projet Export pour tous les makefiles (en cochant "with + dependencies"). Utilisez la commande suivante pour transformer les + chemins absolus en chemins relatifs de façon à ce que la compilation + puisse s'effectuer depuis n'importe quelle position dans + l'arborescence :

+ +

+ perl srclib\apr\build\fixwin32mak.pl +

+ +

Vous devez exécuter cette commande depuis la racine de + l'arborescence des sources de httpd. Tout fichier projet + .mak et .dep du répertoire courant et de + ses sous-répertoires sera corrigé, et les repères de temps ajustés + en fonction des .dsp.

+ +

Vérifiez toujours le SDK de la plate-forme ou autres chemins + fichiers locaux, spécifiques à la machine dans les fichiers + .mak et .dep générés. Le répertoire + DevStudio\Common\MSDev98\bin\ (VC6) contient un fichier + sysincl.dat qui énumère toutes les exceptions. Mettez à + jour ce fichier (en particulier les chemins avec slashes et + anti-slashes, tels que sys/time.h et + sys\time.h) de façon à ignorer ces nouvelles + dépendances. Inclure les chemins d'installation locale dans un + fichier .mak distribué fera échouer la + compilation.

+ +

Si vous soumettez un patch qui modifie les fichiers projet, nous + devons valider la modification de ces fichiers projet au format + Visual Studio 6.0. Les modifications doivent êtres simples, avec un + minimum de drapeaux de compilation et d'édition de liens qui + pourront être reconnus par tous les environnements Visual + Studio.

+ +
top
+
+

Installation

+ + + + +

Une fois compilé, Apache doit être installé dans le répertoire + racine du serveur. La valeur par défaut est le répertoire + \Apache2, sur le même disque.

+ +

Pour compiler et installer automatiquement tous les fichiers dans + le répertoire rep désiré, utilisez une des commandes + nmake suivantes :

+ +

+ nmake /f Makefile.win installr INSTDIR=dir
+ nmake /f Makefile.win installd INSTDIR=dir +

+ +

L'argument rep de INSTDIR permet de + spécifier le répertoire d'installation ; il peut être omis si Apache + doit être installé dans \Apache22 (du lecteur de disque + courant.

+ +
top
+
+

Avertissement à propos de la compilation d'Apache à partir de +l'arborescence de développement

+ + + +
Notez que seuls les fichiers .dsp sont + maintenus d'une distribution release à l'autre. Les + fichiers .mak ne sont PAS régénérés, suite à + l'énorme perte de temps des relecteurs . Vous ne + pouvez donc pas utiliser les commandes NMAKE + ci-dessus pour compiler des fichiers de projet .dsp + révisés si vous n'exporter pas ensuite vous-même tous les + fichiers .mak du projet. Ceci n'est pas nécessaire + si vous effectuez la compilation depuis l'environnement + Microsoft Developer Studio.
+ +
top
+
+

Compilation de httpd avec cmake

+ + +

La documentation principale pour ce mécanisme de compilation se trouve + dans le fichier README.cmake situé dans l'arborescence + des sources. Consultez ce fichier pour des instructions détaillées.

+ +

Pour compiler httpd avec cmake, vous devez compiler APR et APR-util + séparément. Consultez les fichiers README.cmake de ces + projets pour obtenir des instructions.

+ +

Les principales limitations de la compilation basée sur cmake sont + héritées du projet APR-util et sont énumérées ci-dessous à cause de + leur impact sur httpd :

+ +
    +
  • Il n'est pas possible de compiler le projet APR-iconv avec + cmake, et la compilation de APR-util ne peut pas utiliser de projet + APR-iconv précompilé. A cause de cela, il n'est pas possible + d'utiliser mod_charset_lite et probablement + d'autres modules tiers.
  • +
  • La compilation du sous-projet APR-util avec cmake ne supporte + pas la plupart des bibliothèques optionnelles DBM et DBD utilisées + par les fichiers projet Visual Studio inclus. Cela limite les + serveurs de bases de données d'arrière-plan supportés par de + nombreux modules tiers ou inclus.
  • +
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/win_compiling.html.ko.euc-kr b/docs/manual/platform/win_compiling.html.ko.euc-kr new file mode 100644 index 0000000..38e8ecd --- /dev/null +++ b/docs/manual/platform/win_compiling.html.ko.euc-kr @@ -0,0 +1,448 @@ + + + + + +Microsoft Windows¿ë ¾ÆÆÄÄ¡ ÄÄÆÄÀÏ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Microsoft Windows¿ë ¾ÆÆÄÄ¡ ÄÄÆÄÀÏ

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +

¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇϱâ Àü¿¡ ÁÖÀÇÇÒ Á¡ÀÌ ¸¹´Ù. ¹Ì¸® Microsoft Windows¿¡¼­ ¾ÆÆÄÄ¡ »ç¿ë¹ýÀ» + Âü°íÇ϶ó.

+ +
+ +
top
+
+

¿ä±¸»çÇ×

+ + + +

¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ·Á¸é ´ÙÀ½ÀÌ Á¤»óÀûÀ¸·Î ¼³Ä¡µÇ¾ß ÇÑ´Ù:

+ +
    +
  • +

    µð½ºÅ© °ø°£

    +

    ³²Àº µð½ºÅ© °ø°£ÀÌ ÃÖ¼ÒÇÑ 50 MB´Â µÇ¾ß ÇÑ´Ù. ¾ÆÆÄÄ¡ + ¼³Ä¡ÈÄ¿¡´Â »¡¸® Áõ°¡ÇÏ´Â ·Î±×¿Í ij½¬ÆÄÀÏÀ» Á¦¿ÜÇÏ°í + ¾à 10 MB Á¤µµ°¡ ÇÊ¿äÇÏ´Ù. ½ÇÁ¦ µð½ºÅ© »ç¿ë·®Àº ¼±ÅÃÇÑ + ±¸¼º°ú Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâ ȤÀº ¶óÀ̺귯¸®¿¡ µû¶ó Å©°Ô + ´Ù¸£´Ù.

    +
  • + +
  • +

    Microsoft Visual C++ 5.0 ÀÌ»ó.

    +

    ¾ÆÆÄÄ¡´Â ¸í·ÉÇà µµ±¸¸¦ »ç¿ëÇϰųª Visual Studio IDE + Workbench ¾È¿¡¼­ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. ¸í·ÉÇà¿¡¼­ ÄÄÆÄÀÏÇÑ´Ù¸é + vcvars32 ¹èÄ¡ÆÄÀÏÀÌ ¼³Á¤ÇÏ´Â PATH, + INCLUDE, LIB µî ȯ°æº¯¼ö°¡ + ÇÊ¿äÇÏ´Ù:

    + +

    + "c:\Program Files\DevStudio\VC\Bin\vcvars32.bat" +

    +
  • + +
  • +

    Windows Platform SDK.

    +

    ¾î¶² ¾ÆÆÄÄ¡ ±â´ÉÀ» »ç¿ëÇÏ·Á¸é Visual C++ 5.0¿¡ Ãß°¡·Î + ÃֽŠMicrosoft Windows Platform SDK°¡ ÇÊ¿äÇÏ´Ù. ¸í·ÉÇà¿¡¼­ + ÄÄÆÄÀÏÇÑ´Ù¸é setenv ¹èÄ¡ÆÄÀÏÀÌ Platform + SDK ȯ°æÀ» ¸¸µç´Ù:

    + +

    + "c:\Program Files\Platform SDK\setenv.bat" +

    + +

    Visual C++ 6.0 ÀÌ»ó¿¡ Æ÷ÇÔµÈ Platform SDK ÆÄÀÏÀº + ÃæºÐÇÏ´Ù. ÀÌ ¹öÀüÀ» »ç¿ëÇÏ´Â »ç¿ëÀÚ´Â ÀÌ °úÁ¤À» »ý·«Çصµ + µÈ´Ù.

    + +
    ¸ðµç mod_isapi ±â´ÉÀ» »ç¿ëÇÏ·Á¸é + ÃֽŠWindows Platform SDK°¡ ÇÊ¿äÇÏ´Ù. ÃֽŠ¹öÀüÀÌ ¾Æ´Ï¸é + MSVC++ 5.0Àº mod_isapi ±â´ÉÀÇ ÀϺθ¦ + »ç¿ëÇÒ ¼ö ¾ø´Ù°í °æ°íÇÑ´Ù. http://msdn.microsoft.com/downloads/sdks/platform/platform.asp¿¡ + ÃֽŠ¹öÀüÀÌ ÀÖ´Ù.
    +
  • + +
  • +

    awk µµ±¸ (awk, gawk µî).

    +

    ÄÄÆÄÀÏÇÑ ½Ã½ºÅÛ¿¡ ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÏ·Á¸é + awk.exe µµ±¸¸¦ »ç¿ëÇÏ¿© ¿©·¯ ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß + ÇÑ´Ù. (PerlÀ̳ª WSH/VB°ú ºñ±³ÇÏ¿©) ´Ù¿î¹Þ±â¿¡ ¸Å¿ì ÀÛ°í + ÆÄÀÏ »ý¼º ÀÛ¾÷ÀÌ °¡´ÉÇÏ¿© awk¸¦ ¼±ÅÃÇß´Ù. Brian KernighanÀÇ + http://cm.bell-labs.com/cm/cs/who/bwk/ »çÀÌÆ®¿¡ + ÄÄÆÄÀÏµÈ Win32 ½ÇÇàÆÄÀÏ http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exeÀÌ + ÀÖ´Ù. À̸§À» awk95.exe ´ë½Å + awk.exe·Î º¯°æÇØ¾ß ÇÑ´Ù.

    + +
    Developer Studio IDE´Â Tools ¸Þ´º Options... + Directories ÅÇÀÇ (Developer Studio 7.0À̶ó¸é Projects + - VC++ Directories pane) Executable files °æ·Î ¸ñ·Ï¿¡¼­¸¸ + awk.exe¸¦ ã´Â´Ù. ÀÌ ¸ñ·Ï¿¡ awk.exe + °æ·Î¸¦ Ãß°¡ÇÏ°í, ÇÊ¿äÇÏ´Ù¸é PATH ȯ°æº¯¼ö¿¡µµ + Ãß°¡ÇÑ´Ù.
    + +
    CygwinÀ» (http://www.cygwin.com/) »ç¿ëÇÑ´Ù¸é + gawk.exe¶ó´Â À̸§À¸·Î awk µµ±¸°¡ ÀÖÀ¸¸ç, + awk.exe ÆÄÀÏÀº gawk.exe ÆÄÀÏÀÇ + ½Éº¼¸µÅ©ÀÓÀ» ÁÖÀÇÇ϶ó. Windows ¸í·É ÇÁ·ÒÇÁÆ®°¡ ½Éº¼¸µÅ©¸¦ + ÀνÄÇÏÁö ¸øÇϱ⶧¹®¿¡ InstallBinÀ» ÄÄÆÄÀÏÇÒ¶§ ½ÇÆÐÇÑ´Ù. + ÇØ°áÃ¥Àº cygwin¿¡¼­ awk.exe¸¦ »èÁ¦ÇÏ°í + gawk.exe À̸§À» awk.exe·Î + ¹Ù²Û´Ù.
    +
  • + +
  • +

    [¼±ÅÃÀûÀÎ] OpenSSL ¶óÀ̺귯¸® (mod_ssl°ú + ab.exeÀÇ ssl Áö¿ø¿¡ »ç¿ë)

    +

    ÁÖÀÇ: °­·ÂÇÑ ¾Ïȣȭ¿Í ƯÇã°¡ °É¸° ÁöÀûÀç»ê±ÇÀ» + Àü¼¼°è¿¡ ¹èÆ÷Çϴµ¥´Â »ó´çÇÑ Á¦¾àÀÌ ÀÖ´Ù. + OpenSSLÀº ¹Ì±¹ ¼öÃâ±ÔÁ¦¹ýÀÌ ±ÔÁ¦ÇÏ¸ç ¹Ì±¹°ú ±âŸ Áö¿ª¿¡¼­ + ƯÇã·Î º¸È£µÇ´Â ÁöÀûÀç»ê±ÇÀÎ °­·ÂÇÑ ¾Ïȣȭ¸¦ Æ÷ÇÔÇÑ´Ù. + Apache Software Foundation°ú OpenSSL ÇÁ·ÎÁ§Æ®´Â OpenSSL + ÇÁ·ÎÁ§Æ®°¡ Á¦°øÇÏ´Â Äڵ带 ¼ÒÀ¯, »ç¿ë, ¹èÆ÷Çϴµ¥ µû¸¥ + ¹ýÀû ÀÚ¹®À» Á¦°øÇÏÁö ¾Ê´Â´Ù. Á÷Á¢ ¹ý·ü »ó´ãÀ» + ¹Þ±æ ¹Ù¶õ´Ù. ´ç½Å ÇൿÀÇ Ã¥ÀÓÀº ´ç½Å¿¡°Ô ÀÖ´Ù.

    + +

    mod_sslÀ̳ª (SSLÀ» Áö¿øÇÏ´Â + ab.exe) abs ÇÁ·ÎÁ§Æ®¸¦ ÄÄÆÄÀÏÇÏ·Á¸é, OpenSSLÀ» + http://www.openssl.org/source/¿¡¼­ ´Ù¿î¹Þ¾Æ¼­ + srclibÀÇ opensslÀ̶ó´Â + ÇÏÀ§µð·ºÅ丮¿¡ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. release¿Í + debug·Î ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÒ¶§ »ç¿ëÇϸç 0.9.7 + ¹öÀü¿¡ Àִ ƯÇã°¡ °É¸° ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é, ¾Æ·¡ + ÄÄÆÄÀÏ ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù:

    + +

    + perl Configure VC-WIN32
    + perl util\mkfiles.pl >MINFO
    + perl util\mk1mf.pl dll no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >makefile
    + perl util\mk1mf.pl dll debug no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >makefile.dbg
    + perl util\mkdef.pl 32 libeay no-asm no-mdc2 no-rc5 no-idea >ms\libeay32.def
    + perl util\mkdef.pl 32 ssleay no-asm no-mdc2 no-rc5 no-idea >ms\ssleay32.def
    + nmake
    + nmake -f makefile.dbg +

    + +
  • + +
  • +

    [¼±ÅÃÀûÀÎ] zlib ¼Ò½º (mod_deflate¿¡ + »ç¿ë)

    +

    ZlibÀ» srclibÀÇ zlib¶ó´Â + ÇÏÀ§µð·ºÅ丮¿¡ ¼³Ä¡ÇØ¾ß ÇÏÁö¸¸, ¼Ò½º¸¦ ¹Ì¸® ÄÄÆÄÀÏÇÒ + ÇÊ¿ä´Â ¾ø´Ù. ÄÄÆÄÀÏ ½Ã½ºÅÛÀº ÀÌ ¾ÐÃà¼Ò½º¸¦ + mod_deflate ¸ðµâ°ú °°ÀÌ ÄÄÆÄÀÏÇÑ´Ù. + ZlibÀº http://www.gzip.org/zlib/¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù -- + mod_deflate´Â 1.1.4 ¹öÀü°ú Á¤»óÀûÀ¸·Î + ÄÄÆÄÀϵǾú´Ù.

    +
  • + +
+ +
top
+
+

¸í·ÉÇà¿¡¼­ ÄÄÆÄÀÏÇϱâ

+ + + +

¸ÕÀú Àû´çÇÑ µð·ºÅ丮¿¡ ¾ÆÆÄÄ¡ ¹èÆ÷º» ¾ÐÃàÀ» Ǭ´Ù. ¸í·ÉÇà + ÇÁ·ÒÇÁÆ®¸¦ ¿­°í ±× µð·ºÅ丮·Î cdÇÑ´Ù.

+ +

Makefile.win ÆÄÀÏ¿¡ ¾ÆÆÄÄ¡ makefile ¸í·ÉÀÌ + ÀÖ´Ù. Windows NT¿¡¼­ release¿Í debug + ÄÄÆÄÀÏÇÏ´Â ¸í·É¾î´Â °¢°¢ ´ÙÀ½°ú °°´Ù:

+ +
nmake /f Makefile.win _apacher
+
+nmake /f Makefile.win _apached
+ +

µÎ ¸í·É¾î ¸ðµÎ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÑ´Ù. ÈÄÀÚ´Â °á°úÆÄÀÏ¿¡ + µð¹ö±ë Á¤º¸¸¦ Æ÷ÇÔÇÏ¿© ¹ö±×¸¦ ã°í ¹®Á¦¸¦ ÃßÀûÇϱ⠽±°Ô + ÇÑ´Ù.

+ +
top
+
+

Developer Studio Workspace IDE¿¡¼­ ÄÄÆÄÀÏÇϱâ

+ + + +

VC++ÀÇ Visual Studio °³¹ß ȯ°æÀ» »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÒ + ¼öµµ ÀÖ´Ù. °úÁ¤À» ½±°Ô ÇÏ·Á°í Visual Studio workspace + Apache.dsw¸¦ Á¦°øÇÑ´Ù. ÀÌ workspace´Â ¿ÏÀüÇÑ + ¾ÆÆÄÄ¡ ¹ÙÀ̳ʸ® ¹èÆ÷º»¿¡ ÇÊ¿äÇÑ .dsp ÇÁ·ÎÁ§Æ® + ¸ñ·ÏÀ» ´ã°íÀÖ´Ù. ¶Ç, ¾Ë¸ÂÀº ¼ø¼­·Î ÄÄÆÄÀÏÇϱâÀ§ÇÑ ÇÁ·ÎÁ§Æ®°£ + ÀÇÁ¸¼º Á¤º¸µµ Æ÷ÇÔÇÑ´Ù.

+ +

Apache.dsw workspace¸¦ ¿­°í + InstallBinÀ» (Release³ª + Debug Áß ¿øÇÏ´Â °ÍÀ») Active Project·Î ¼±ÅÃÇÑ´Ù. + InstallBinÀº °ü·ÃµÈ ¸ðµç ÇÁ·ÎÁ§Æ®¸¦ ÄÄÆÄÀÏÇÏ°í, + ÄÄÆÄÀÏµÈ ½ÇÇàÆÄÀÏ°ú dllÀ» ¿Å±â´Â Makefile.winÀ» + È£ÃâÇÑ´Ù. InstallBinÀÇ Settings, General ÅÇ, + Build command line Ç׸ñÀ» ¼öÁ¤ÇÏ¿© INSTDIR=À» + º¯°æÇÒ ¼ö ÀÖ´Ù. INSTDIR= ±âº»°ªÀº + /Apache2 µð·ºÅ丮ÀÌ´Ù. (¼³Ä¡ÇÏÁö¾Ê°í) Å×½ºÆ®·Î + ÄÄÆÄÀϸ¸ Çغ¸·Á¸é ´ë½Å BuildBin ÇÁ·ÎÁ§Æ®¸¦ + »ç¿ëÇÑ´Ù.

+ +

.dsp ÇÁ·ÎÁ§Æ® ÆÄÀÏÀº Visual C++ 6.0 Çü½ÄÀÌ´Ù. + Visual C++ 5.0 (97)¿¡¼­µµ ÀÌ ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. Visual + C++ 7.0 (.net)Àº Apache.dsw¿Í .dsp + ÆÄÀϵéÀ» Apache.sln°ú .msproj + ÆÄÀϵé·Î º¯È¯ÇÑ´Ù. .dsp ¼Ò½ºÆÄÀÏÀ» ¼öÁ¤Çϸé + ¹Ýµå½Ã .msproj ÆÄÀÏ·Î ´Ù½Ã º¯È¯Ç϶ó! ±×³É VC++ + 7.0 IDE¿¡¼­ Apache.dsw¸¦ ´Ù½Ã ¿­±â¸¸ ÇÏ¸é µÈ´Ù.

+ +

¶Ç, Visual C++ 7.0 (.net) »ç¿ëÀÚ´Â Build ¸Þ´º, Configuration + Manager ´ëȭâ¿¡¼­ Debug¿Í ReleaseÀÇ + abs, mod_ssl, mod_deflate + Solution modules ¼±ÅÃÀ» ÇØÁ¦ÇØ¾ß ÇÑ´Ù. srclib¿¡ + opensslÀ̳ª zlib µð·ºÅ丮°¡ ÀÖ´Â + °æ¿ì¿¡¸¸ nmake¸¦ ½ÇÇàÇϰųª (ÀÌ ¸ðµâÀ» ¸í½ÃÀûÀ¸·Î + ÄÄÆÄÀÏÇÏ´Â) IDE BinBuild ´ë»óÀ» »ç¿ëÇÏ¿© ¸ðµâÀ» + ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ´Ù.

+ +

ExportÇÑ .mak ÆÄÀϵéÀÌ È¥¶õ½º·´Áö¸¸, Visual + C++ 5.0 »ç¿ëÀÚ°¡ mod_ssl, abs (SSLÀ» Áö¿øÇÏ´Â + ab), mod_deflate¸¦ ÄÄÆÄÀÏÇÒ¶§ ÇÊ¿äÇÏ´Ù. + VC++ 7.0 (.net) »ç¿ëÀÚ¿¡°Ôµµ binenv º¸´Ù + nmake¸¦ »ç¿ëÇϸé ÄÄÆÄÀÏÀÌ ´õ ºü¸£´Ù. VC++ 5.0À̳ª + 6.0 IDE¿¡¼­ Àüü ÇÁ·ÎÁ§Æ®¸¦ ÄÄÆÄÀÏÇÏ°í, Project ¸Þ´ºÀÇ Export + for all makefiles¸¦ »ç¿ëÇ϶ó. µ¿ÀûÀ¸·Î ÀÚµ¿ »ý¼ºÇÏ´Â ´ë»óÀ» + ¸ðµÎ ÄÄÆÄÀÏÇÏ°í ¿Ã¹Ù¸¥ ÀÇÁ¸¼º Á¤º¸¸¦ ¾ò±âÀ§Çؼ­´Â ¸ÕÀú + ÇÁ·ÎÁ§Æ®¸¦ ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇÏ¿© °æ·Î¸¦ + ¼öÁ¤ÇÏ¸é ¾î¶² °æ·Î¿¡¼­µµ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù:

+ +

+ perl srclib\apr\build\fixwin32mak.pl +

+ +

httpd ¼Ò½º ÃÖ»óÀ§ µð·ºÅ丮¿¡¼­ + ¸í·É¾î¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. ÇöÀç µð·ºÅ丮¿Í ÇÏÀ§µð·ºÅ丮¿¡ ÀÖ´Â + ¸ðµç .mak¿Í .dep ÇÁ·ÎÁ§Æ®ÆÄÀÏÀ» + ¼öÁ¤ÇÏ°í, .dsp¸¦ °í·ÁÇÏ¿© ÆÄÀϽð£À» ¼öÁ¤ÇÑ´Ù.

+ +

ÇÁ·ÎÁ§Æ®ÆÄÀÏÀ» ´Ùµë¾î¼­ ÆÐÄ¡¸¦ º¸³½´Ù¸é, ÇÁ·ÎÁ§Æ®ÆÄÀÏÀ» + Visual Studio 6.0 Çü½ÄÀ¸·Î ¸¸µé¾î¾ß ÇÑ´Ù. º¯°æÀº °£´ÜÇÏ°í, + VC++ 5.0¿¡¼­ 7.0±îÁö ¸ðµç ȯ°æ¿¡¼­ ÀνÄÇÏ´Â ÃÖ¼ÒÇÑÀÇ ÄÄÆÄÀÏ + ¿É¼Ç°ú ¸µÄ¿ ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.

+ +
top
+
+

ÇÁ·ÎÁ§Æ® ±¸¼º¿ä¼Ò

+ + + +

Apache.dsw workspace¿Í makefile.win + nmake ½ºÅ©¸³Æ®´Â ´ÙÀ½ ¼ø¼­´ë·Î ¾ÆÆÄÄ¡ ¼­¹ö + .dsp ÇÁ·ÎÁ§Æ®¸¦ ÄÄÆÄÀÏÇÑ´Ù:

+ +
    +
  1. srclib\apr\apr.dsp
  2. + +
  3. srclib\apr\libapr.dsp
  4. + +
  5. srclib\apr-util\uri\gen_uri_delims.dsp
  6. + +
  7. srclib\apr-util\xml\expat\lib\xml.dsp
  8. + +
  9. srclib\apr-util\aprutil.dsp
  10. + +
  11. srclib\apr-util\libaprutil.dsp
  12. + +
  13. srclib\pcre\dftables.dsp
  14. + +
  15. srclib\pcre\pcre.dsp
  16. + +
  17. srclib\pcre\pcreposix.dsp
  18. + +
  19. server\gen_test_char.dsp
  20. + +
  21. libhttpd.dsp
  22. + +
  23. Apache.dsp
  24. +
+ +

¶Ç, modules\ ÇÏÀ§µð·ºÅ丮 ¾Æ·¡ ´ëºÎºÐÀÇ + ¸ðµâ¿¡´Â ÇÁ·ÎÁ§Æ®ÆÄÀÏÀÌ ÀÖ´Ù.

+ +

support\ µð·ºÅ丮¿¡´Â ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇϴµ¥ + ÇÊ¿äÇÏÁö´Â ¾ÊÁö¸¸, °ü¸®ÀÚ°¡ ¾ÆÆÄÄ¡¸¦ °Ë»çÇϰųª ¾ÏÈ£ÆÄÀÏ°ú + ·Î±×ÆÄÀÏÀ» °ü¸®Çϴµ¥ »ç¿ëÇÒ Ãß°¡ ÇÁ·Î±×·¥µéÀÇ ÇÁ·ÎÁ§Æ®ÆÄÀÏÀÌ + ÀÖ´Ù. Windows Àü¿ë Áö¿ø ÇÁ·Î±×·¥Àº support\win32\ + µð·ºÅ丮¿¡ µû·Î ÀÖ´Ù.

+ +
    +
  1. support\ab.dsp
  2. + +
  3. support\htdigest.dsp
  4. + +
  5. support\htpasswd.dsp
  6. + +
  7. support\logresolve.dsp
  8. + +
  9. support\rotatelogs.dsp
  10. + +
  11. support\win32\ApacheMonitor.dsp
  12. + +
  13. support\win32\wintty.dsp
  14. +
+ +

¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇϸé server root µð·ºÅ丮¿¡ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. + ±âº»°ªÀº °°Àº µð½ºÅ©ÀÇ \Apache2 µð·ºÅ丮ÀÌ´Ù.

+ +

ÄÄÆÄÀÏÇÏ°í ¸ðµç ÆÄÀÏÀ» ¿øÇÏ´Â Æú´õ dir¿¡ ÀÚµ¿À¸·Î + ¼³Ä¡ÇÏ·Á¸é ´ÙÀ½ nmake ¸í·É¾îÁß Çϳª¸¦ »ç¿ëÇÑ´Ù:

+ +
nmake /f Makefile.win installr INSTDIR=dir
+
+nmake /f Makefile.win installd INSTDIR=dir
+    
+ +

INSTDIRÀÇ dir ¾Æ±Ô¸ÕÆ®´Â ¼³Ä¡µð·ºÅ丮¸¦ + ¶æÇÑ´Ù. »ý¶ôÇϸé \Apache2¿¡ ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÑ´Ù.

+ +

´ÙÀ½°ú °°ÀÌ ¼³Ä¡ÇÑ´Ù:

+ +
    +
  • dir\bin\Apache.exe - ¾ÆÆÄÄ¡ + ½ÇÇàÆÄÀÏ
  • + +
  • dir\bin\ApacheMonitor.exe - + ¼­ºñ½º °¨½Ã¿ë ÀÛ¾÷Ç¥½ÃÁÙ ¾ÆÀÌÄÜ µµ±¸
  • + +
  • dir\bin\htdigest.exe - Digest + auth ¾ÏÈ£ÆÄÀÏ µµ±¸
  • + +
  • dir\bin\htdbm.exe - SDBM auth + µ¥ÀÌÅͺ£À̽º ¾ÏÈ£ÆÄÀÏ µµ±¸
  • + +
  • dir\bin\htpasswd.exe - Basic + auth ¾ÏÈ£ÆÄÀÏ µµ±¸
  • + +
  • dir\bin\logresolve.exe - ·Î±×ÆÄÀÏ¿¡¼­ + dns À̸§À» ã´Â µµ±¸
  • + +
  • dir\bin\rotatelogs.exe - ·Î±×ÆÄÀÏ + ¼øȯ µµ±¸
  • + +
  • dir\bin\wintty.exe - ÄܼÖâ + µµ±¸
  • + +
  • dir\bin\libapr.dll - Apache + Portable Runtime °øÀ¯ ¶óÀ̺귯¸®
  • + +
  • dir\bin\libaprutil.dll - Apache + Utility Runtime °øÀ¯ ¶óÀ̺귯¸®
  • + +
  • dir\bin\libhttpd.dll - Apache + Core ¶óÀ̺귯¸®
  • + +
  • dir\modules\mod_*.so - ÀоîµéÀÏ + ¼ö ÀÖ´Â ¾ÆÆÄÄ¡ ¸ðµâ
  • + +
  • dir\conf - ¼³Á¤ µð·ºÅ丮
  • + +
  • dir\logs - ºñ¾îÀÖ´Â ·Î±× + µð·ºÅ丮
  • + +
  • dir\include - C ¾ð¾î Çì´õÆÄÀÏ
  • + +
  • dir\lib - ¸µÅ© ¶óÀ̺귯¸®ÆÄÀÏ
  • +
+ +

°³¹ßÁßÀÎ ¾ÆÆÄÄ¡ ¹öÀüÀ» ÄÄÆÄÀÏÇÒ¶§ °æ°í

+ + + +
.dsp ÆÄÀÏÀº release¸¶´Ù + »õ·Î ¸¸µé¾îÁø´Ù. °³¹ßÀÚÀÇ ½Ã°£³¶ºñ¸¦ ¸·±âÀ§ÇØ + .mak ÆÄÀÏÀº »õ·Î ¸¸µéÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î + NMAKE ¸í·É¾î¸¦ »ç¿ëÇÏ¿© »õ·Î¿î .dsp + ÇÁ·ÎÁ§Æ®ÆÄÀÏÀ» ÄÄÆÄÀÏÇÒ ¼ö ¾ø´Ù. ÇÁ·ÎÁ§Æ®¿¡¼­ Á÷Á¢ ¸ðµç + .mak ÆÄÀÏÀ» exportÇØ¾ß ÇÑ´Ù. Microsoft Developer + Studio ȯ°æ¿¡¼­ ÄÄÆÄÀÏÇÑ´Ù¸é ÀÌ ÀÛ¾÷ÀÌ ÇÊ¿ä¾ø´Ù.
+ +
¶Ç, makefileÀ» exportÇϱâ Àü¿¡ BuildBin + ÇÁ·ÎÁ§Æ®¸¦ (ȤÀº _apacher³ª _apached + ¸í·ÉÇà ´ë»ó) ÄÄÆÄÀÏÇÏ¸é ¸Å¿ì µµ¿òÀÌ µÈ´Ù. ÄÄÆÄÀÏÁß¿¡ ¸¹Àº + ÆÄÀÏÀÌ ÀÚµ¿À¸·Î ¸¸µé¾îÁø´Ù. Àüü¸¦ ÄÄÆÄÀÏÇؾ߸¸ Á¤»óÀûÀ¸·Î + ÄÄÆÄÀÏÇÒ¶§ ÇÊ¿äÇÑ ÀÇÁ¸ÆÄÀÏÀ» ¸ðµÎ ¸¸µç´Ù.
+ +

¹èÆ÷¿ë .mak ÆÄÀÏÀ» ¸¸µå·Á¸é Ç×»ó + .mak (ȤÀº .dep)¿¡¼­ Platform + SDK µîÀÇ ÀÇÁ¸¼ºÀ» Á¡°ËÇ϶ó. + DevStudio\SharedIDE\bin\ (VC5)³ª + DevStudio\Common\MSDev98\bin\ (VC6) µð·ºÅ丮¿¡´Â + ¸ðµç ¿¹¿Ü ¸ñ·ÏÀÌ ´ã±ä sysincl.dat ÆÄÀÏÀÌ + ÀÖ´Ù. ÀÌ ÆÄÀÏ¿¡ ÀÇÁ¸¼º Á¤º¸¸¦ Ãß°¡ÇÑ´Ù + (sys/time.h¿Í sys\time.h¿Í °°ÀÌ, + °æ·Î´Â ½½·¡½¬¸¦ »ç¿ëÇÑ °Í°ú ¹é½½·¡½¬¸¦ »ç¿ëÇÑ °Í ¸ðµÎ¸¦ + Ãß°¡ÇÑ´Ù). ¹èÆ÷ÇÒ .mak ÆÄÀÏ¿¡ ÇöÀç ÄÄÇ»ÅÍ¿¡¸¸ + ÇØ´çÇÏ´Â ¼³Ä¡°æ·Î°¡ ÀÖ´Ù¸é ÄÄÆÄÀÏÀÌ ¿ÏÀüÈ÷ ½ÇÆÐÇÑ´Ù. + ±×·¯¹Ç·Î srclib/apr/build/fixwin32mak.plÀ» + ½ÇÇàÇØÇÏ¿© .mak ÆÄÀÏ¿¡ ÀÖ´Â Àý´ë°æ·Î¸¦ ¾ø¾Ö¾ß + ÇÑ´Ù.

+ + + +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/windows.html b/docs/manual/platform/windows.html new file mode 100644 index 0000000..030298b --- /dev/null +++ b/docs/manual/platform/windows.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: windows.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: windows.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: windows.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/platform/windows.html.en b/docs/manual/platform/windows.html.en new file mode 100644 index 0000000..5f0ef46 --- /dev/null +++ b/docs/manual/platform/windows.html.en @@ -0,0 +1,664 @@ + + + + + +Using Apache HTTP Server on Microsoft Windows - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Using Apache HTTP Server on Microsoft Windows

+
+

Available Languages:  en  | + fr  | + ko 

+
+ +

This document explains how to install, configure and run + Apache 2.4 under Microsoft Windows. If you have questions after + reviewing the documentation (and any event and error logs), you + should consult the peer-supported + users' mailing + list.

+ +

This document assumes that you are installing a binary + distribution of Apache. If you want to compile Apache yourself + (possibly to help with development or tracking down bugs), + see Compiling Apache for Microsoft + Windows.

+
+ +
top
+
+

Operating System Requirements

+ + +

The primary Windows platform for running Apache 2.4 is Windows + 2000 or later. Always obtain and + install the current service pack to avoid operating system bugs.

+ +
Apache HTTP Server versions later than 2.2 will not run on any + operating system earlier than Windows 2000.
+
top
+
+

Downloading Apache for Windows

+ + +

The Apache HTTP Server Project itself does not provide binary releases of + software, only source code. Individual committers may provide + binary packages as a convenience, but it is not a release deliverable.

+

If you cannot compile the Apache HTTP Server + yourself, you can obtain a binary package from numerous binary distributions + available on the Internet.

+ +

Popular options for deploying Apache httpd, and, optionally, PHP + and MySQL, on Microsoft Windows, include:

+ +
top
+
+

Customizing Apache for Windows

+ + +

Apache is configured by the files in the conf + subdirectory. These are the same files used to configure the Unix + version, but there are a few different directives for Apache on + Windows. See the directive index + for all the available directives.

+ +

The main differences in Apache for Windows are:

+
    +
  • Because Apache for Windows is multithreaded, it does not + use a separate process for each request, as Apache can on Unix. + Instead there are usually only two Apache processes running: a + parent process, and a child which handles the requests. Within + the child process each request is handled by a separate thread. +

    + +

    The process management directives are also different:

    + +

    MaxConnectionsPerChild: + Like the Unix directive, this controls how many connections a single + child process will serve before exiting. + However, unlike on Unix, a replacement process is not instantly + available. Use the default MaxConnectionsPerChild 0, + unless instructed to change the behavior to overcome a memory leak + in third party modules or in-process applications.

    + +
    Warning: The server configuration + file is reread when a new child process is started. If you have + modified httpd.conf, the new child may not start or + you may receive unexpected results.
    + +

    ThreadsPerChild: + This directive is new. It tells the server how many threads it + should use. This is the maximum number of connections the server + can handle at once, so be sure to set this number high enough for + your site if you get a lot of hits. The recommended default is + ThreadsPerChild 150, but this must be adjusted to + reflect the greatest anticipated number of simultaneous + connections to accept.

  • + +
  • The directives that accept filenames as arguments must use + Windows filenames instead of Unix ones. However, because Apache + may interpret backslashes as an "escape character" sequence, you + should consistently use forward slashes in path names, not + backslashes.

  • + +
  • While filenames are generally case-insensitive on + Windows, URLs are still treated internally as case-sensitive + before they are mapped to the filesystem. For example, the + <Location>, + Alias, and ProxyPass directives all use + case-sensitive arguments. For this reason, it is particularly + important to use the <Directory> directive when attempting + to limit access to content in the filesystem, since this + directive applies to any content in a directory, regardless of + how it is accessed. If you wish to assure that only lowercase + is used in URLs, you can use something like:

    + +
    RewriteEngine On
    +RewriteMap lowercase int:tolower
    +RewriteCond "%{REQUEST_URI}" "[A-Z]"
    +RewriteRule "(.*)" "${lowercase:$1}" [R,L]
    +
  • + +
  • When running, Apache needs write access only to the logs + directory and any configured cache directory tree. Due to the + issue of case insensitive and short 8.3 format names, Apache must + validate all path names given. This means that each directory + which Apache evaluates, from the drive root up to the directory + leaf, must have read, list and traverse directory permissions. + If Apache2.4 is installed at C:\Program Files, then the root + directory, Program Files and Apache2.4 must all be visible + to Apache.

  • + +
  • Apache for Windows contains the ability to load modules at + runtime, without recompiling the server. If Apache is compiled + normally, it will install a number of optional modules in the + \Apache2.4\modules directory. To activate these or + other modules, the LoadModule + directive must be used. For example, to activate the status + module, use the following (in addition to the status-activating + directives in access.conf):

    + +
    LoadModule status_module "modules/mod_status.so"
    + + +

    Information on creating + loadable modules is also available.

  • + +
  • Apache can also load ISAPI (Internet Server Application + Programming Interface) extensions such as those used by Microsoft + IIS and other Windows servers. More + information is available. Note that Apache cannot + load ISAPI Filters, and ISAPI Handlers with some Microsoft feature + extensions will not work.

  • + +
  • When running CGI scripts, the method Apache uses to find + the interpreter for the script is configurable using the + ScriptInterpreterSource + directive.

  • + +
  • Since it is often difficult to manage files with names + like .htaccess in Windows, you may find it useful to + change the name of this per-directory configuration file using + the AccessFilename + directive.

  • + +
  • Any errors during Apache startup are logged into the + Windows event log when running on Windows NT. This mechanism + acts as a backup for those situations where Apache is not yet + prepared to use the error.log file. You can + review the Windows Application Event Log by using the Event Viewer, + e.g. Start - Settings - Control Panel - Administrative Tools + - Event Viewer.

  • +
+ +
top
+
+

Running Apache as a Service

+ + +

Apache comes with a utility called the Apache Service Monitor. + With it you can see and manage the state of all installed Apache + services on any machine on your network. To be able to manage an + Apache service with the monitor, you have to first install the + service (either automatically via the installation or manually). +

+ +

You can install Apache as a Windows NT service as follows from + the command prompt at the Apache bin subdirectory:

+ +

+ httpd.exe -k install +

+ +

If you need to specify the name of the service you want to + install, use the following command. You have to do this if you + have several different service installations of Apache on your + computer. If you specify a name during the install, you have to + also specify it during any other -k operation.

+ +

+ httpd.exe -k install -n "MyServiceName" +

+ +

If you need to have specifically named configuration files for + different services, you must use this:

+ +

+ httpd.exe -k install -n "MyServiceName" -f "c:\files\my.conf" +

+ +

If you use the first command without any special parameters except + -k install, the service will be called Apache2.4 + and the configuration will be assumed to be conf\httpd.conf. +

+ +

Removing an Apache service is easy. Just use:

+ +

+ httpd.exe -k uninstall +

+ +

The specific Apache service to be uninstalled can be specified by using:

+ +

+ httpd.exe -k uninstall -n "MyServiceName" +

+ +

Normal starting, restarting and shutting down of an Apache + service is usually done via the Apache Service Monitor, by using + commands like NET START Apache2.4 and NET STOP + Apache2.4 or via normal Windows service management. Before + starting Apache as a service by any means, you should test the + service's configuration file by using:

+ +

+ httpd.exe -n "MyServiceName" -t +

+ +

You can control an Apache service by its command line switches, + too. To start an installed Apache service you'll use this:

+ +

+ httpd.exe -k start -n "MyServiceName" +

+ +

To stop an Apache service via the command line switches, use + this:

+ +

+ httpd.exe -k stop -n "MyServiceName" +

+ +

or

+ +

+ httpd.exe -k shutdown -n "MyServiceName" +

+ +

You can also restart a running service and force it to reread + its configuration file by using:

+ +

+ httpd.exe -k restart -n "MyServiceName" +

+ +

By default, all Apache services are registered to run as the + system user (the LocalSystem account). The + LocalSystem account has no privileges to your network + via any Windows-secured mechanism, including the file system, named + pipes, DCOM, or secure RPC. It has, however, wide privileges locally. +

+ +
Never grant any network privileges to + the LocalSystem account! If you need Apache to be able + to access network resources, create a separate account for Apache as + noted below.
+ +

It is recommended that users create a separate account for running + Apache service(s). If you have to access network resources via Apache, + this is required.

+ +
    +
  1. Create a normal domain user account, and be sure to + memorize its password.
  2. + +
  3. Grant the newly-created user a privilege of Log on + as a service and Act as part of the operating + system. On Windows NT 4.0 these privileges are granted via + User Manager for Domains, but on Windows 2000 and XP you probably + want to use Group Policy for propagating these settings. You can + also manually set these via the Local Security Policy MMC snap-in. +
  4. + +
  5. Confirm that the created account is a member of the Users + group.
  6. + +
  7. Grant the account read and execute (RX) rights to all document + and script folders (htdocs and cgi-bin + for example).
  8. + +
  9. Grant the account change (RWXD) rights to the + Apache logs directory.
  10. + +
  11. Grant the account read and execute (RX) rights to the + httpd.exe binary executable.
  12. +
+ +
It is usually a good practice to grant the user the Apache + service runs as read and execute (RX) access to the whole Apache2.4 + directory, except the logs subdirectory, where the + user has to have at least change (RWXD) rights.
+ +

If you allow the account to log in as a user and as a service, + then you can log on with that account and test that the account has + the privileges to execute the scripts, read the web pages, and that + you can start Apache in a console window. If this works, and you + have followed the steps above, Apache should execute as a service + with no problems.

+ +
Error code 2186 is a good indication that + you need to review the "Log On As" configuration for the service, + since Apache cannot access a required network resource. Also, pay + close attention to the privileges of the user Apache is + configured to run as.
+ +

When starting Apache as a service you may encounter an error + message from the Windows Service Control Manager. For example, + if you try to start Apache by using the Services applet in the + Windows Control Panel, you may get the following message:

+ +

+ Could not start the Apache2.4 service on \\COMPUTER
+ Error 1067; The process terminated unexpectedly. +

+ +

You will get this generic error if there is any problem with + starting the Apache service. In order to see what is really causing + the problem you should follow the instructions for Running Apache + for Windows from the Command Prompt.

+ +

If you are having problems with the service, it is suggested + you follow the instructions below to try starting httpd.exe from + a console window, and work out the errors before struggling to + start it as a service again.

+
top
+
+

Running Apache as a Console Application

+ + +

Running Apache as a service is usually the recommended way to + use it, but it is sometimes easier to work from the command line, + especially during initial configuration and testing.

+ +

To run Apache from the command line as a console application, + use the following command:

+ +

+ httpd.exe +

+ +

Apache will execute, and will remain running until it is stopped + by pressing Control-C.

+ +

You can also run Apache via the shortcut Start Apache in Console + placed to Start Menu --> Programs --> Apache HTTP Server + 2.4.xx --> Control Apache Server during the installation. + This will open a console window and start Apache inside it. If you + don't have Apache installed as a service, the window will remain + visible until you stop Apache by pressing Control-C in the console + window where Apache is running in. The server will exit in a few + seconds. However, if you do have Apache installed as a service, the + shortcut starts the service. If the Apache service is running + already, the shortcut doesn't do anything.

+ +

If Apache is running as a service, you can tell it to stop by opening another console + window and entering:

+ +

+ httpd.exe -k shutdown +

+ +

Running as a service should be preferred over running in a + console window because this lets Apache end any current operations + and clean up gracefully.

+ +

But if the server is running in a console window, you can + only stop it by pressing Control-C in the same window.

+ +

You can also tell Apache to restart. This forces it to reread + the configuration file. Any operations in progress are allowed to + complete without interruption. To restart Apache, either press + Control-Break in the console window you used for starting Apache, + or enter

+ +

+ httpd.exe -k restart +

+ +

if the server is running as a service.

+ +
Note for people familiar with the Unix version of Apache: + these commands provide a Windows equivalent to kill -TERM + pid and kill -USR1 pid. The + command line option used, -k, was chosen as a reminder + of the kill command used on Unix.
+ +

If the Apache console window closes immediately or unexpectedly + after startup, open the Command Prompt from the Start Menu --> + Programs. Change to the folder to which you installed Apache, type + the command httpd.exe, and read the error message. Then + change to the logs folder, and review the error.log + file for configuration mistakes. Assuming httpd was installed into + C:\Program Files\Apache Software Foundation\Apache2.4\, + you can do the following:

+ +

+ c:
+ cd "\Program Files\Apache Software Foundation\Apache2.4\bin"
+ httpd.exe +

+ +

Then wait for Apache to stop, or press Control-C. Then enter the + following:

+ +

+ cd ..\logs
+ more < error.log +

+ +

When working with Apache it is important to know how it will + find the configuration file. You can specify a configuration file + on the command line in two ways:

+ +
    +
  • -f specifies an absolute or relative path to + a particular configuration file:

    + +

    + httpd.exe -f "c:\my server files\anotherconfig.conf" +

    + +

    or

    + +

    + httpd.exe -f files\anotherconfig.conf +

  • + +
  • -n specifies the installed Apache service + whose configuration file is to be used:

    + +

    + httpd.exe -n "MyServiceName" +

    +
  • +
+ +

In both of these cases, the proper + ServerRoot should be set in + the configuration file.

+ +

If you don't specify a configuration file with -f + or -n, Apache will use the file name compiled into the + server, such as conf\httpd.conf. This built-in path + is relative to the installation directory. You can verify the compiled + file name from a value labelled as SERVER_CONFIG_FILE when + invoking Apache with the -V switch, like this:

+ +

+ httpd.exe -V +

+ +

Apache will then try to determine its ServerRoot by trying the following, in this order:

+ +
    +
  1. A ServerRoot directive + via the -C command line switch.
  2. + +
  3. The -d switch on the command line.
  4. + +
  5. Current working directory.
  6. + +
  7. A registry entry which was created if you did a binary + installation.
  8. + +
  9. The server root compiled into the server. This is + /apache by default, you can verify it by using + httpd.exe -V and looking for a value labelled as + HTTPD_ROOT.
  10. +
+ +

If you did not do a binary install, Apache will in some + scenarios complain about the missing registry key. This warning can + be ignored if the server was otherwise able to find its + configuration file.

+ +

The value of this key is the + ServerRoot directory which + contains the conf subdirectory. When Apache starts it + reads the httpd.conf file from that directory. If + this file contains a ServerRoot + directive which contains a different directory from the one + obtained from the registry key above, Apache will forget the + registry key and use the directory from the configuration file. If + you copy the Apache directory or configuration files to a new + location it is vital that you update the + ServerRoot directive in the + httpd.conf file to reflect the new location.

+
top
+
+

Testing the Installation

+ + +

After starting Apache (either in a console window or as a + service) it will be listening on port 80 (unless you changed the + Listen directive in the + configuration files or installed Apache only for the current user). + To connect to the server and access the default page, launch a + browser and enter this URL:

+ +

+ http://localhost/ +

+ +

Apache should respond with a welcome page and you should see + "It Works!". If nothing happens or you get an error, look in the + error.log file in the logs subdirectory. + If your host is not connected to the net, or if you have serious + problems with your DNS (Domain Name Service) configuration, you + may have to use this URL:

+ +

+ http://127.0.0.1/ +

+ +

If you happen to be running Apache on an alternate port, you + need to explicitly put that in the URL:

+ +

+ http://127.0.0.1:8080/ +

+ +

Once your basic installation is working, you should configure it + properly by editing the files in the conf subdirectory. + Again, if you change the configuration of the Windows NT service + for Apache, first attempt to start it from the command line to + make sure that the service starts with no errors.

+ +

Because Apache cannot share the same port with + another TCP/IP application, you may need to stop, uninstall or reconfigure + certain other services before running Apache. These conflicting + services include other WWW servers, some firewall implementations, + and even some client applications (such as Skype) which will use port + 80 to attempt to bypass firewall issues.

+
top
+
+

Configuring Access to Network Resources

+ + +

Access to files over the network can be specified using two + mechanisms provided by Windows:

+ +
+
Mapped drive letters
+
e.g., Alias "/images/" "Z:/"
+ +
UNC paths
+
e.g., Alias "/images/" "//imagehost/www/images/"
+
+ +

Mapped drive letters allow the administrator to maintain the + mapping to a specific machine and path outside of the Apache httpd + configuration. However, these mappings are associated only with + interactive sessions and are not directly available to Apache httpd + when it is started as a service. Use only UNC paths for + network resources in httpd.conf so that the resources can + be accessed consistently regardless of how Apache httpd is started. + (Arcane and error prone procedures may work around the restriction + on mapped drive letters, but this is not recommended.)

+ +

Example DocumentRoot with UNC path

DocumentRoot "//dochost/www/html/"
+
+ +

Example DocumentRoot with IP address in UNC path

DocumentRoot "//192.168.1.50/docs/"
+
+ +

Example Alias and corresponding Directory with UNC path

Alias "/images/" "//imagehost/www/images/"
+
+<Directory "//imagehost/www/images/">
+#...
+</Directory>
+
+ +

When running Apache httpd as a service, you must create a + separate account in order to access network resources, as described + above.

+
top
+
+

Windows Tuning

+ +
    +
  • If more than a few dozen piped loggers are used on an operating system + instance, scaling up the "desktop heap" is often necessary. For + more detailed information, refer to the piped logging documentation.

  • +
+
+
+

Available Languages:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/windows.html.fr.utf8 b/docs/manual/platform/windows.html.fr.utf8 new file mode 100644 index 0000000..efe641f --- /dev/null +++ b/docs/manual/platform/windows.html.fr.utf8 @@ -0,0 +1,718 @@ + + + + + +Utilisation du serveur HTTP Apache sous Microsoft Windows - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Utilisation du serveur HTTP Apache sous Microsoft Windows

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + +

Ce document décrit l'installation, la configuration et + l'exécution d'Apache 2.4 sous Microsoft Windows. Si vous avez des + questions après avoir lu la documentation, ou si vous avez rencontré + des évènements particuliers ou des rapports d'erreur, vous pouvez + consultez la liste + de diffusion de la communauté des utilisateurs.

+ +

Dans ce document, nous supposons que vous installez une + distribution binaire d'Apache. Si vous voulez compiler Apache + vous-même (par exemple pour aider au développement ou pour + rechercher des bogues), référez-vous au document Compilation d'Apache pour Microsoft + Windows.

+ +
+ +
top
+
+

Prérequis du système d'exploitation

+ + +

La plate-forme Windows de base pour l'exécution d'Apache 2.4 est + Windows 2000 ou supérieur. Veillez à toujours vous procurer et installer le + dernier service pack afin d'éviter les bogues du système + d'exploitation.

+ +
Les versions du serveur HTTP Apache supérieures à 2.2 ne + fonctionneront sous aucun système d'exploitation d'une version + antérieure à Windows 2000.
+ +
top
+
+

Téléchargement d'Apache pour Windows

+ + +

Le projet du serveur HTTP Apache proprement dit ne fournit pas de + distribution binaire mais seulement le code source. Certains membres + du projet peuvent mettre à disposition des paquets binaires + à titre individuel, mais ceux-ci n'ont pas vocation à être + distribués publiquement.

+ +

Si vous n'êtes + pas en mesure de compiler le serveur HTTP Apache vous-même, vous + pouvez vous procurer un paquet binaire auprès des nombreuses + distributions disponibles sur Internet.

+ +

Quelques solutions populaires pour déployer Apache httpd, et + éventuellement PHP et MySQL sous Microsoft Windows :

+ +
top
+
+

Personnaliser Apache pour Windows

+ + +

La configuration d'Apache est enregistrée dans les fichiers du + sous-répertoire conf. Ce sont les même fichiers que + ceux utilisés pour configurer la version Unix, mais il y a quelques + directives spécifiques à Apache pour Windows. Voir l'index des directives pour la liste + des directives disponibles.

+ +

Les principales spécificités d'Apache pour Windows sont :

+
    +
  • Comme Apache pour Windows est un programme multithread, il + ne lance pas de processus séparé pour chaque requête, comme Apache + peut le faire sous Unix. En fait, il n'y a en général que deux + processus Apache en exécution : un processus parent, et un + processus enfant qui traite les requêtes. Chaque requête est + traitée par un thread séparé au sein du processus enfant.

    + +

    Les directives de gestion de processus diffèrent également :

    + +

    MaxConnectionsPerChild + : comme dans la version Unix, cette directive contrôle le nombre + de connexions qu'un + processus enfant particulier va traiter avant de s'arrêter. + Cependant, à la différence d'Unix, un processus de remplacement + n'est pas instantanément disponible. Utilisez la définition par + défaut MaxConnectionsPerChild 0, sauf si vous + risquez de manquer de mémoire dans des modules tiers ou dans des + applications in-process.

    + +
    Attention : le fichier de + configuration du serveur est rechargé lorsqu'un nouveau processus + enfant est démarré. En conséquence, si vous avez modifié + httpd.conf, le nouveau processus enfant peut ne pas + démarrer, ou vous pouvez obtenir des résultats + inattendus.
    + +

    ThreadsPerChild : il + s'agit d'une nouvelle directive. Elle indique au serveur le nombre + de threads qu'il doit utiliser. Elle définit le nombre maximum de + connexions simultanées que le serveur peut gérer ; vous devez + donc vous assurer que ce nombre soit suffisamment grand pour les + besoins de votre site. La valeur par défaut ThreadsPerChild + 150 est recommandée, mais doit être ajustée à la valeur + maximale estimée de connexions simultanées à accepter.

  • + +
  • Les directives qui acceptent des noms de fichiers comme + arguments doivent utiliser des noms de fichiers Windows et non + Unix. Cependant, comme Apache peut interpréter les anti-slashes + comme des séquences d'échappement de caractères, vous devez + absolument utiliser des slashes dans les noms de chemins à la + place des anti-slashes.

  • + +
  • Alors que les noms de fichiers sont en général insensibles + à la casse sous Windows, les URLs sont encore sensibles à la casse + en interne avant d'être mises en correspondance avec le système de + fichiers. Par exemple, les directives <Location>, Alias, et ProxyPass utilisent toutes des + arguments sensibles à la casse. Pour cette raison, il est + particulièrement recommandé d'utiliser la directive <Directory> lorsqu'on + désire limiter l'accès à certains contenus du système de fichiers, + car cette directive s'applique à tout contenu d'un répertoire, + sans tenir compte de la manière dont on y accède. Pour vous + assurer que seules des minuscules sont utilisées dans les URLs, + vous pouvez utiliser ceci :

    + +
    RewriteEngine On
    +RewriteMap lowercase int:tolower
    +RewriteCond "%{REQUEST_URI}" "[A-Z]"
    +RewriteRule "(.*)" "${lowercase:$1}" [R,L]
    +
  • + +
  • Lors de son exécution, Apache n'a besoin d'un accès en + écriture qu'au répertoire des journaux et à toute arborescence de + répertoires de cache configurée. Suite au problème d'insensibilité + à la casse et au format de noms courts 8.3, Apache doit valider + tous les noms de chemins fournis. Cela signifie que chaque + répertoire qu'Apache évalue doit avoir les droits en lecture, + listage et parcours, et ceci depuis la racine jusqu'aux feuilles. + Si Apache2.4 est installé dans C:\Program Files, le répertoire + racine, Program Files et Apache2.4 doivent tous être visibles pour + Apache

  • + +
  • Apache peut charger divers modules sans qu'il soit nécessaire + de recompiler le serveur. Si Apache est compilé + normalement, il va installer de nombreux modules optionnels dans + le répertoire \Apache2.4\modules. Pour activer ces + modules ou d'autres modules, on doit utiliser la + directive LoadModule. Par + exemple, pour activer le module status, ajoutez la ligne suivante + (en plus des directives d'activation de status dans + access.conf) :

    + +
    LoadModule status_module "modules/mod_status.so"
    + + +

    Des informations sont aussi à votre disposition pour créer des modules + chargeables

  • + +
  • Apache peut aussi charger des extensions ISAPI (Internet + Server Application Programming Interface), comme celles qu'utilise + Microsoft IIS et d'autres serveurs Windows. Voir ici pour plus + d'informations. Notez qu'Apache ne peut pas + charger de filtres ISAPI, et que les gestionnaires ISAPI contenant + des extensions de fonctionnalités Microsoft ne fonctionneront + pas.

  • + +
  • Pour les scripts CGI, la méthode qu'utilise Apache pour + déterminer l'interpréteur du script est configurable grâce à la + directive ScriptInterpreterSource

  • + +
  • Comme il est souvent difficile de gérer des fichiers avec + des noms du style .htaccess sous Windows, vous avez + tout intérêt à changer le nom de ce fichier de configuration par + répertoire à l'aide de la directive AccessFilename.

  • + +
  • Toute erreur survenant au cours du processus de démarrage + d'Apache est enregistrée dans le journal des évènements de + Windows si l'on est sous Windows NT. Ce mécanisme fonctionne comme + une sauvegarde pour les situations où Apache n'est pas encore prêt + à utiliser le fichier error.log. Vous pouvez + consulter le journal des évènements applicatifs Windows en + utilisant l'observateur d'évènements : Démarrage - Paramètres - + Panneau de configuration - Outils d'administration - Observateur + d'évènements.

  • +
+ +
top
+
+

Exécuter Apache en tant que service

+ + +

Apache fournit un utilitaire nommé Apache Service Monitor + (Moniteur du service Apache). Grâce à lui, vous pouvez voir et gérer + l'état de tous les services Apache installés sur toutes les machines + du réseau. Pour pouvoir gérer un service Apache avec le moniteur, + vous devez d'abord installer le service (soit automatiquement au + cours de l'installation, soit manuellement).

+ +

Vous pouvez installer Apache en tant que service Windows NT à + partir de la ligne de commandes et depuis le sous-répertoire Apache + bin comme suit :

+ +

+ httpd.exe -k install +

+ +

Si vous avez installé plusieurs services Apache sur votre + ordinateur, vous devrez spécifier le nom du service que vous voulez + installer en utilisant la commande suivante (notez que si vous + spécifiez un nom durant l'installation, vous devrez aussi le + spécifier pour toute opération comportant l'option -k) :

+ +

+ httpd.exe -k install -n "Nom-service" +

+ +

Si un service doit utiliser un fichier de configuration + spécifique, utilisez ceci :

+ +

+ httpd.exe -k install -n "Nom-service" -f "c:\fichiers\Nom-service.conf" +

+ +

Si vous utilisez la première commande sans paramètre particulier, + excepté -k install, le service aura pour nom + Apache2.4 et le fichier de configuration sera censé + être conf\httpd.conf.

+ +

Supprimer un service Apache est très simple. Utilisez + simplement :

+ +

+ httpd.exe -k uninstall +

+ +

On peut spécifier un service Apache particulier en utilisant + :

+ +

+ httpd.exe -k uninstall -n "Nom service" +

+ +

Normalement, le démarrage, le redémarrage et l'arrêt d'un + service Apache s'effectuent via le Moniteur de Service Apache, ou en + utilisant des commandes telles que NET START Apache2.4 et + NET STOP Apache2.4, ou encore via le gestionnaire de + services standard de Windows. Avant de démarrer Apache en tant que + service dans quelque but que ce soit, vous devez tester le fichier + de configuration du service en utilisant :

+ +

+ httpd.exe -n "Nom-service" -t +

+ +

Vous pouvez aussi contrôler un service Apache à l'aide de ses + options de ligne de commande. Avec cette méthode, pour démarrer un + service Apache installé, vous utiliserez :

+ +

+ httpd.exe -k start -n "Nom-Service" +

+ +

Pour arrêter un service Apache via les options de lignes de + commande, utilisez ceci :

+ +

+ httpd.exe -k stop -n "Nom-Service" +

+ +

ou

+ +

+ httpd.exe -k shutdown -n "Nom-Service" +

+ +

Vous pouvez aussi redémarrer un service en exécution et le forcer + à relire son fichier de configuration en utilisant :

+ +

+ httpd.exe -k restart -n "Nom-Service" +

+ +

Par défaut, tous les services Apache sont configurés pour + s'exécuter sous l'utilisateur system (le compte + LocalSystem). Le compte LocalSystem n'a + pas de privilèges sur votre réseau, que ce soit via un mécanisme + sécurisé de Windows, y compris le système de fichiers, des tubes + nommés, DCOM ou des RPC sécurisés. Il a cependant des privilèges + élevés en local.

+ +
N'accordez jamais de privilèges réseau + au compte LocalSystem ! Si Apache doit pouvoir accéder + à des ressources réseau, créez un compte séparé pour Apache comme + indiqué ci-dessous.
+ +

Il est fortement fortement conseillé aux utilisateurs de créer un + compte séparé pour exécuter le(s) service(s) Apache, et même + obligatoire si vous devez accéder à des ressources réseau via + Apache.

+ +
    +
  1. Créez un compte d'utilisateur du domaine normal, et + assurez-vous de retenir son mot de passe.
  2. + +
  3. Accordez à l'utilisateur nouvellement créé les privilèges + Log on as a service et Act as part of the + operating system. Sous Windows NT 4.0, ces privilèges sont + accordés via le Gestionnaire des utilisateurs du Domaine, mais + sous Windows 2000 et XP, vous aurez plutôt intérêt à utiliser une + GPO pour propager ces configurations. Vous pouvez aussi effectuer + ces réglages via la Politique de Sécurité Locale intégrée à la + MMC.
  4. + +
  5. Vérifiez que le compte nouvellement créé est membre du groupe + Utilisateurs
  6. + +
  7. Accordez à ce compte les droits Lecture et Exécution (RX) sur + tous les documents et répertoires de scripts (htdocs + et cgi-bin par exemple), et aussi sur l'exécutable + binaire httpd.exe.
  8. + +
  9. Accordez aussi à ce compte les droits de modification sur le + répertoire logs.
  10. + +
+ +
Il est en général de bonne pratique d'accorder à l'utilisateur + sous lequel le service Apache s'exécute les droits en lecture et + exécution (RX) sur l'ensemble du répertoire Apache2.4, sauf pour le + sous-répertoire logs, sur lequel l'utilisateur doit + avoir au moins les droits de modification (RWXD).
+ +

Si vous permettez à ce compte de se connecter en tant + qu'utilisateur et service, vous pouvez ouvrir une session sous ce + compte et vérifier s'il a bien le droit d'exécuter les scripts, de + lire les pages web, et si vous pouvez démarrer Apache à partir d'une + console Windows. Si tout fonctionne, et si vous avez suivi les + étapes ci-dessus, Apache devrait s'exécuter en tant que service sans + problème.

+ +
Le code d'erreur 2186 indique probablement + qu'Apache ne peut pas accéder à une ressource réseau nécessaire, et + que vous devez revoir la configuration "Log On As" (Se connecter en + tant que ...) du service.
+ +

Lorsqu'Apache démarre en tant que service, il se peut que vous + obteniez un message d'erreur du Gestionnaire de Services Windows. + Par exemple, si vous essayez de démarrer Apache en utilisant + l'applet Services du Panneau de configuration de Windows, vous + pouvez obtenir le message suivant :

+ +

+ Could not start the Apache2.4 service on \\COMPUTER
+ Error 1067; The process terminated unexpectedly. +

+ +

Vous obtiendrez cette erreur à caractère général pour tout + problème survenant au cours du démarrage du service Apache. Afin de + déterminer exactement la cause du problème, vous devez suivre les + instructions permettant d'exécuter Apache pour Windows depuis la + ligne de commande.

+ +

Si vous rencontrez des problèmes avec le service, il est + conseillé de suivre les instructions ci-dessous afin d'essayer de + démarrer httpd.exe depuis une console, et d'analyser les erreurs + plutôt que vous démener à essayer de démarrer le service.

+ +
top
+
+

Exécuter Apache depuis la console

+ + +

Il est en général recommandé d'exécuter Apache en tant que + service, mais il est parfois plus simple d'utiliser la ligne de + commande, en particulier au cours de la configuration initiale et + les tests.

+ +

Pour exécuter Apache depuis la ligne de commande et en tant + qu'application de console, utilisez la commande suivante :

+ +

+ httpd.exe +

+ +

Apache va démarrer, et continuera son exécution jusqu'à ce qu'on + l'arrête en tapant Ctrl-C.

+ +

Vous pouvez également démarrer Apache via le raccourci "Démarrer + Apache dans une console" placé dans Démarrer --> + Programmes --> Apache HTTP Server 2.4.xx --> Control Apache + Server au cours de l'installation. Ceci va + ouvrir une console Windows, et y démarrer Apache. + Si vous n'avez pas installé Apache en tant que service, la + fenêtre Windows restera ouverte jusqu'à ce que vous arrêtiez Apache + en tapant Ctrl-C dans cette fenêtre. Le serveur va alors s'arrêter + au bout de quelques secondes. Cependant, si vous avez installé + Apache en tant que service, c'est ce dernier que le raccourci + ci-dessus va lancer. Si le service Apache est déjà en cours + d'exécution, le raccourci va rester sans effet.

+ +

Si Apache s'exécute en tant que service, vous pouvez l'arrêter en + ouvrant une autre console et en entrant :

+ +

+ httpd.exe -k shutdown +

+ +

Plutôt que de lancer Apache à partir d'une console, il est + préférable de l'exécuter en tant que service car dans ce cas, il + termine proprement les opérations en cours avant de s'éteindre.

+ +

Si le serveur a été lancé depuis une console, vous ne pouvez + l'arrêter qu'en pressant la combinaison de touches Ctrl-C dans la + même fenêtre.

+ +

Vous pouvez aussi redémarrer Apache. Ceci le force à recharger + son fichier de configuration. Toute opération en cours peut être + achevée sans interruption. Pour redémarrer Apache, vous pouvez soit + taper Control-Break dans la fenêtre de console que vous avez + utilisée pour le démarrer, soit entrer :

+ +

+ httpd.exe -k restart +

+ +

si le serveur s'exécute en tant que service.

+ +
Note pour les utilisateurs familiers de la version Unix + d'Apache : les commandes ci-dessus représentent pour Windows + l'équivalent des commandes kill -TERM pid et + kill -USR1 pid. L'option de ligne de commande + -k a été choisie à titre de rapprochement avec la + commande kill utilisée sous Unix.
+ +

Si la fenêtre de la console Apache se ferme immédiatement ou + inopinément après le démarrage d'Apache, ouvrez une console Windows + depuis le menu Démarrer --> Programmes. Placez-vous dans le + répertoire d'installation d'Apache, tapez la commande + httpd.exe, et observez le message d'erreur. Allez + ensuite dans le répertoire des journaux, et visualisez le fichier + error.log pour détecter d'éventuelles erreurs de + configuration. Si Apache a été installé dans C:\Program + Files\Apache Software Foundation\Apache2.4\, vous + pouvez entrer ce qui suit :

+ +

+ c:
+ cd "\Program Files\Apache Software Foundation\Apache2.4\bin"
+ httpd.exe +

+ +

Attendez ensuite qu'Apache s'arrête ou tapez Ctrl-C. Entrez alors + la commande suivante :

+ +

+ cd ..\logs
+ more < error.log +

+ +

Lorsqu'on travaille avec Apache, il est important de comprendre + comment ce dernier trouve son fichier de configuration. Vous pouvez + spécifier un fichier de configuration à partir de la ligne de + commande de deux façons :

+ +
    +
  • L'option -f permet de spécifier un chemin + absolu ou relatif vers un fichier de configuration particulier + :

    (sous Windows 9x, il est recommandé d'utiliser la ligne de + commande à cause du manque de fiabilité du support des services + fourni par ce système). + +

    + httpd.exe -f "c:\fichiers-de-mon-serveur\autre-config.conf" +

    + +

    ou

    + +

    + httpd.exe -f fichiers-de-mon-serveur\autre-config.conf +

  • + +
  • L'option -n permet de spécifier le service + Apache installé dont le fichier de configuration doit être utilisé + :

    + +

    + httpd.exe -n "Nom-service" +

    +
  • +
+ +

Dans les deux cas, la directive ServerRoot doit être correctement définie + dans le fichier de configuration.

+ +

Si vous ne spécifiez aucun fichier de configuration à l'aide des + options -f ou -n, Apache utilisera le nom + du fichier de configuration compilé dans le serveur, en général + conf\httpd.conf. Ce chemin codé en dur est relatif au + répertoire d'installation. Vous pouvez vérifier ce chemin à partir + de la valeur de l'étiquette SERVER_CONFIG_FILE en + invoquant Apache avec l'option -V, comme ceci :

+ +

+ httpd.exe -V +

+ +

Apache va ensuite essayer de déterminer la valeur de son + ServerRoot en effectuant les + recherches suivantes, dans cet ordre :

+ +
    +
  1. Une directive ServerRoot + via l'option de ligne de commande -C.
  2. + +
  3. L'option de ligne de commande -d.
  4. + +
  5. Le répertoire de travail courant.
  6. + +
  7. Une entrée de la base de registre créée dans le cas d'une + installation binaire.
  8. + +
  9. La racine des documents (DocumentRoot) codée en dur + dans le serveur. Elle + correspond par défaut à /apache, et vous pouvez le + vérifier en tapant httpd.exe -V et en recherchant + l'étiquette HTTPD_ROOT.
  10. +
+ +

Si vous n'avez pas effectué d'installation binaire, dans certains + scénarios, Apache va signaler l'absence de cette clé de registre. + On peut passer outre cet avertissement si le serveur a été en mesure + de trouver son fichier de configuration d'une autre manière.

+ +

La valeur de cette clé correspond au répertoire ServerRoot qui contient lui-même le + sous-répertoire conf. Lors de son démarrage, Apache lit + le fichier httpd.conf à partir de ce répertoire. Si ce + fichier contient une directive ServerRoot qui spécifie un répertoire + différent de celui que contient la clé de registre ci-dessus, Apache + oubliera la clé de registre, et utilisera le répertoire spécifié par + le fichier de configuration. Si vous déplacez le répertoire Apache + ou ses fichiers de configuration, il est vital de mettre à jour la + directive ServerRoot dans + httpd.conf afin de refléter la nouvelle + localisation.

+ +
top
+
+

Vérification de l'installation

+ + +

Une fois Apache démarré (soit à partir d'une console Windows, + soit en tant que service), ce dernier va se mettre à l'écoute sur + le port 80 (à moins que vous ayiez modifié la directive Listen dans les fichiers de + configuration ou que vous ayiez installé Apache pour l'utilisateur + courant seulement). Pour vous connecter au serveur et accéder à la + page par défaut, lancez un navigateur et entrez cette URL :

+ +

+ http://localhost/ +

+ +

Apache devrait renvoyer une page de bienvenue et vous devriez + voir s'afficher "It Works!". Si rien ne se passe ou si vous obtenez + une erreur, consultez le fichier error.log dans le + sous-répertoire logs. Si votre serveur n'est pas + connecté au réseau, ou si vous avez de sérieux problèmes avec la + configuration de votre DNS (Domain Name Service), vous devez + utiliser cette URL :

+ +

+ http://127.0.0.1/ +

+ +

Si Apache écoute un port non standard, vous devez le préciser + explicitement dans l'URL :

+ +

+ http://127.0.0.1:8080/ +

+ +

Après que votre installation de base fonctionne, vous devez la + configurer correctement en éditant les fichiers du sous-répertoire + conf. Encore une fois, si vous modifiez la + configuration du service Apache sous Windows NT, essayez d'abord de + redémarrer le service depuis la ligne de commande afin de vous + assurer de l'absence d'erreur.

+ +

Comme Apache ne peut pas partager le même port + avec d'autres applications TCP/IP, il se peut que vous soyez amené à + arrêter, désinstaller ou reconfigurer certains services avant de + démarrer Apache. Ces services entrant en conflit avec Apache + comprennent les autres serveurs WWW, certaines implémentations de + pare-feu, et même certaines applications client (comme Skype) qui + utilisent le port 80 afin de contourner les pare-feu.

+ +
top
+
+

Configuration de l'accès aux ressources réseau

+ + +

L'accès à des fichiers par le réseau peut être spécifié via deux + mécanismes fournis par Windows :

+ +
+
Association de lettres de lecteur
+
Par exemple, Alias "/images/" "Z:/"
+ +
chemins UNC
+
Par exemple, Alias "/images/" "//imagehost/www/images/"
+
+ +

L'association de lettres de lecteur permet à l'administrateur de + maintenir une correspondance avec une certaine machine et un certain + chemin en dehors de la configuration d'Apache httpd. Cependant, ces + associations ne sont possibles que dans le cadre des sessions + interactives, et ne sont pas directement disponibles pour Apache httpd + lorsqu'il est démarré en tant que service. N'utilisez par + conséquent que des + chemins UNC pour les ressources réseau dans httpd.conf, de + façon à ce que les ressources soient accessibles quelle que soit la + manière dont Apache httpd a été démarré (des procédures exotiques et + probablement sujettes aux erreurs peuvent permettre de contourner la + restriction due aux associations de lettres de lecteur, mais leur + utilisation est déconseillée).

+ +

Exemple de DocumentRoot avec chemin UNC

DocumentRoot "//dochost/www/html/"
+
+ +

Exemple de DocumentRoot avec adresse IP dans le chemin UNC

DocumentRoot "//192.168.1.50/docs/"
+
+ +

Exemple d'Alias et répertoire correspondant avec + chemin UNC

Alias "/images/" "//imagehost/www/images/"
+
+<Directory "//imagehost/www/images/">
+#...
+</Directory>
+
+ +

Lorsqu'Apache s'exécute en tant que service, vous devez créer un + compte spécifique afin de pouvoir accéder aux ressources réseau, comme + décrit ci-dessus.

+
top
+
+

Personnalisation sous Windows

+ +
    +
  • Si on utilise un grand nombre de redirections de journaux + via des pipes, il est souvent nécessaire d'augmenter la + taille de la mémoire du bureau ("desktop heap"). Pour une information plus + détaillée, veuillez vous reporter à la documentation sur les redirections de journaux.

  • +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/windows.html.ko.euc-kr b/docs/manual/platform/windows.html.ko.euc-kr new file mode 100644 index 0000000..03954a9 --- /dev/null +++ b/docs/manual/platform/windows.html.ko.euc-kr @@ -0,0 +1,716 @@ + + + + + +Microsoft Windows¿¡¼­ ¾ÆÆÄÄ¡ »ç¿ë¹ý - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Microsoft Windows¿¡¼­ ¾ÆÆÄÄ¡ »ç¿ë¹ý

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ + +

ÀÌ ¹®¼­´Â Microsoft Windows¿¡¼­ ¾ÆÆÄÄ¡ 2.0À» ¼³Ä¡, ¼³Á¤, + ½ÇÇàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. À߸øµÈ ºÎºÐÀÌ Àְųª ´Ù¸¥ ¹æ¹ýÀ¸·Î + µµ¿òÀ» ÁÖ·Á¸é, ¹ö±× º¸°í + ÆäÀÌÁö¸¦ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.

+ +

ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ ¹ÙÀ̳ʸ® ¹èÆ÷º»À» ¼³Ä¡ÇÑ´Ù°í °¡Á¤ÇÑ´Ù. + (¾Æ¸¶µµ °³¹ß ȤÀº ¹ö±×¸¦ ã±âÀ§ÇØ) Á÷Á¢ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ·Á¸é + Microsoft Windows¿ë ¾ÆÆÄÄ¡ + ÄÄÆÄÀÏÀ» Âü°íÇ϶ó.

+ +

ÇöÀç Microsoft Windows ¿î¿µÃ¼Á¦±ºÀÇ ¹öÀü Á¤Ã¥»ó + ÀÌ ¹®¼­´Â ´ÙÀ½°ú °°ÀÌ ±¸ºÐÇÑ´Ù:

+
    +
  • Windows NT: Windows NT Ä¿³ÎÀ» ±â¹ÝÀ¸·Î + ÇÏ´Â ¸ðµç Windows ¹öÀüÀ» ÀǹÌÇÑ´Ù. Windows NT, Windows + 2000, Windows XP, Windows .Net Server 2003À» ÁöĪÇÑ´Ù.
  • +
  • Windows 9x: ¼ÒºñÀÚ Áß½ÉÀÇ ¿À·¡µÈ + Windows ¹öÀüÀ» ¶æÇÑ´Ù. Windows 95 (OSR2 Æ÷ÇÔ), Windows + 98, Windows ME¸¦ ÁöĪÇÑ´Ù.
  • +
+ +
+ +
top
+
+

¿î¿µÃ¼Á¦ ¿ä±¸Á¶°Ç

+ + +

¾ÆÆÄÄ¡ 2.0À» ½ÇÇàÇϱâÀ§ÇÑ ±âº» Windows Ç÷¡ÆûÀº Windows + NTÀÌ´Ù. ¹ÙÀ̳ʸ® ¼³Ä¡ÇÁ·Î±×·¥Àº Intel°ú AMD¿Í °°Àº x86 °³¿­ + ÇÁ·Î¼¼¼­¿¡¼­¸¸ µ¿ÀÛÇÑ´Ù. ¾ÆÆÄÄ¡´Â Windows 9x¿¡¼­ ÃæºÐÈ÷ + °Ë»çÇÏÁö ¾Ê¾Ò±â¶§¹®¿¡ Àý´ë·Î ½ÇÁ¦ ¼­ºñ½º¿¡ »ç¿ëÇÏÁö ¾Ê±æ + ¹Ù¶õ´Ù. +

+ +

¿î¿µÃ¼Á¦¿¡ ¼³Ä¡ÇÑ TCP/IP ³×Æ®¿öÅ©°¡ µ¿ÀÛÇØ¾ß ÇÑ´Ù. Windows + 95¿¡¼­ ½ÇÇàÇÑ´Ù¸é, Winsock 2 ¾÷±×·¹À̵带 ¼³Ä¡ÇØ¾ß ÇÑ´Ù. + Windows 95¿ë Winsock 2´Â ¿©±â¿¡¼­ + ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù. +

+ +

Windows NT 4.0À» »ç¿ëÇÑ´Ù¸é ¼­ºñ½ºÆÑ 4ÀÇ TCP/IP ¹®Á¦¿Í + Winsock ¹®Á¦°¡ ´ÙÀ½ ¼­ºñ½ºÆÑ¿¡¼­ ÇØ°áµÇ¾ú±â¶§¹®¿¡, ¼­ºñ½ºÆÑ + 6À» ¼³Ä¡Çϱæ Àû±Ø ±ÇÇÑ´Ù.

+
top
+
+

Windows¿ë ¾ÆÆÄÄ¡ ´Ù¿î·Îµå

+ + +

¾ÆÆÄÄ¡ À¥¼­¹ö http://httpd.apache.org/download.cgi¿¡¼­ + ¾ÆÆÄÄ¡ ÃֽŠ¹öÀü¿¡ ´ëÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¿©±â¿¡´Â ÃֽŠ+ ¹ßÇ¥ÆÇ°ú ¾ËÆÄ È¤Àº º£Å¸ Å×½ºÆ®¹öÀü°ú, ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ´Ù¿î·ÎµåÇÒ + ¼ö ÀÖ´Â HTTP ¹Ì·¯¿Í FTP ¹Ì·¯ ¸ñ·ÏÀÌ ÀÖ´Ù. ºü¸£°í ¾ÈÁ¤ÇÏ°Ô + ´Ù¿î¹ÞÀ¸·Á¸é °¡±î¿î ¹Ì·¯¸¦ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.

+ +

Windows¿¡ ¼³Ä¡ÇÏ·Á¸é È®ÀåÀÚ°¡ .msiÀÎ Windows¿ë + ¾ÆÆÄÄ¡ ¹öÀüÀ» ´Ù¿î¹Þ¾Æ¾ß ÇÑ´Ù. ÀÌ ÆÄÀÏÀº ¸·¹Ù·Î ½ÇÇàÇÒ ¼ö + ÀÖ´Â ¾ÆÆÄÄ¡¸¦ ÀúÀåÇÑ Microsoft ¼³Ä¡ÆÄÀÏÀÌ´Ù. µû·Î ¼Ò½ºÄڵ常 + ¹­¾îµÐ .zip ÆÄÀÏÀÌ ÀÖ´Ù. Microsoft Visual C++ + (Visual Studio)À» »ç¿ëÇÏ¿© Á÷Á¢ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÒ ¼öµµ ÀÖ´Ù.

+
top
+
+

Windows¿ë ¾ÆÆÄÄ¡ ¼³Ä¡Çϱâ

+ + +

¼³Ä¡ÇÏ·Á¸é Microsoft Installer 1.2 ÀÌ»ó ¹öÀüÀÌ ÇÊ¿äÇÏ´Ù. + Windows 9x¸¦ »ç¿ëÇÑ´Ù¸é ¿©±â¿¡¼­ + Microsoft Installer¸¦ 2.0 ¹öÀüÀ¸·Î ¾÷±×·¹À̵åÇÒ ¼ö ÀÖ°í, + Windows NT 4.0°ú 2000À» »ç¿ëÇÑ´Ù¸é ¿©±â¿¡¼­ + 2.0 ¹öÀü ¾÷µ¥ÀÌÆ®¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù. Windows XP´Â ¾÷µ¥ÀÌÆ®ÇÒ + ÇÊ¿ä°¡ ¾ø´Ù.

+ +

¹ÙÀ̳ʸ® ¼³Ä¡ÆÄÀϷδ °°Àº ÄÄÇ»ÅÍ¿¡ ¼­·Î ´Ù¸¥ ¾ÆÆÄÄ¡ + 2.0 ¹öÀüÀ» ¼³Ä¡ÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó. ±×·¯³ª 1.3 + ¹öÀü°ú 2.0 ¹öÀüÀº °°Àº ÄÄÇ»ÅÍ¿¡ ¾Æ¹« ¹®Á¦¾øÀÌ + ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. °°Àº ÄÄÇ»ÅÍ¿¡ µÎ°¡Áö ´Ù¸¥ 2.0 ¹öÀüÀ» ¼³Ä¡ÇÏ·Á¸é + ¼Ò½º¸¦ ÄÄÆÄÀÏÇÏ¿© ¾ÆÆÄÄ¡¸¦ + ¼³Ä¡ÇØ¾ß ÇÑ´Ù.

+ +

À§¿¡¼­ ´Ù¿î¹ÞÀº ¾ÆÆÄÄ¡ .msi ÆÄÀÏÀ» ½ÇÇàÇÑ´Ù. + ¼³Ä¡ÇÒ¶§ ´ÙÀ½°ú °°Àº °ÍÀ» ¹°¾îº»´Ù:

+ +
    +
  1. ³×Æ®¿öÅ© µµ¸ÞÀÎ (Network Domain). + µî·ÏµÈ ¼­¹öÀÇ DNS µµ¸ÞÀÎÀ» ÀÔ·ÂÇÑ´Ù. ¿¹¸¦ µé¾î, ¼­¹öÀÇ + Àüü DNS À̸§ÀÌ server.mydomain.netÀ̶ó¸é + ¿©±â¿¡ mydomain.netÀ» ÀÔ·ÂÇÑ´Ù.

  2. + +
  3. ¼­¹ö¸í (Server Name). ¼­¹öÀÇ Àüü + DNS À̸§. À§ÀÇ °æ¿ì ¿©±â¿¡ server.mydomain.netÀ» + ÀÔ·ÂÇÑ´Ù.

  4. + +
  5. °ü¸®ÀÚ ÀüÀÚ¿ìÆí ÁÖ¼Ò (Administrator's Email + Address). ¿©±â¿¡ ¼­¹ö °ü¸®ÀÚ³ª À¥¸¶½ºÅÍÀÇ ÀüÀÚ¿ìÆí + ÁÖ¼Ò¸¦ ÀÔ·ÂÇÑ´Ù. ±âº»ÀûÀ¸·Î Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»´Â ¿À·ù¹®¿¡ + ÀÌ ÁÖ¼Ò¸¦ ±â·ÏÇÑ´Ù.

  6. + +
  7. »ç¿ëÀÚ ´ë»ó (For whom to install + Apache) »õ·Î ¼³Ä¡ÇÏ´Â ¾ÆÆÄÄ¡°¡ 80¹ø Æ÷Æ®¿¡¼­ + ¿äûÀ» ±â´Ù¸®°Ô ÇÏ·Á¸é for All Users, on Port 80, + as a Service - Recommended (¸ðµç »ç¿ëÀÚ, 80¹ø Æ÷Æ®, + service·Î - Ãßõ)¸¦ ¼±ÅÃÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ service·Î ½ÇÇàÇÑ´Ù + (Áï, ¾ÆÆÄÄ¡´Â ¼­¹ö¿¡ ·Î±×ÀÎÇÑ »ç¶÷ÀÌ ¾ø¾îµµ ½ÇÇàµÈ´Ù). + °³ÀÎÀûÀ¸·Î Å×½ºÆ®Çغ¸°Å³ª ÀÌ¹Ì 80¹ø Æ÷Æ®¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ + À¥¼­¹ö°¡ ÀÖ´Ù¸é only for the Current User, on Port + 8080, when started Manually (ÇöÀç »ç¿ëÀÚ¸¸, 8080¹ø + Æ÷Æ®, Á÷Á¢ ½ÃÀÛ)¸¦ ¼±ÅÃÇÑ´Ù.

  8. + +
  9. ¼³Ä¡ Á¾·ù (The installation type). + ¸ðµâ °³¹ß¿¡ ÇÊ¿äÇÑ ¼Ò½ºÄÚµå¿Í ¶óÀ̺귯¸®¸¦ Á¦¿ÜÇÑ ¸ðµç + °ÍÀ» ¼³Ä¡ÇÏ·Á¸é TypicalÀ» ¼±ÅÃÇÑ´Ù. + CustomÀ» ¼±ÅÃÇÏ¸é ¼³Ä¡ÇÒ ³»¿ëÀ» ÁöÁ¤ÇÒ ¼ö + ÀÖ´Ù. Àüü ¼³Ä¡½Ã µð½ºÅ©¿¡ ºó °ø°£ÀÌ ¾à 13 ¸Þ°¡¹ÙÀÌÆ® + Á¤µµ ÇÊ¿äÇÏ´Ù. ÀÌ ¼öÄ¡´Â À¥»çÀÌÆ® Å©±â¸¦ Á¦¿ÜÇÑ + °ÍÀÌ´Ù.

  10. + +
  11. ¼³Ä¡ Àå¼Ò (Where to install). + ±âº» °æ·Î´Â C:\Program Files\Apache GroupÀÌ°í, + ÀÌ°÷¿¡ Apache2¶ó´Â µð·ºÅ丮¸¦ ¸¸µç´Ù.

  12. +
+ +

¼³Ä¡ÇÒ µ¿¾È ¾ÆÆÄÄ¡´Â conf ÇÏÀ§µð·ºÅ丮¿¡ + ÀÖ´Â ÆÄÀϵéÀ» ¼±ÅÃÇÑ ¼³Ä¡ µð·ºÅ丮¿¡ ¸Â°Ô ±¸¼ºÇÑ´Ù. ±×·¯³ª + ÀÌ µð·ºÅ丮¿¡ ¼³Á¤ÆÄÀÏÀÌ ÀÌ¹Ì ÀÖ´Ù¸é ±×´ë·Î µÐ´Ù. ´ë½Å, + ÇØ´ç ÆÄÀÏÀÇ »õ·Î¿î º¹»çº»¿¡ È®ÀåÀÚ .default¸¦ + ºÙÀδÙ. ¿¹¸¦ µé¾î, conf\httpd.conf°¡ ÀÌ¹Ì ÀÖ´Ù¸é + conf\httpd.conf.default·Î À̸§À» º¯°æÇÑ´Ù. + ¼³Ä¡ÈÄ .default ÆÄÀÏÀÇ ¼³Á¤À» Á÷Á¢ »ìÆ캸°í, + ÇÊ¿äÇÏ´Ù¸é ±âÁ¸ ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

+ +

¶Ç, ÀÌ¹Ì htdocs\index.htmlÀ̶ó´Â ÆÄÀÏÀÌ + ÀÖ´Ù¸é ±×´ë·Î µÐ´Ù (index.html.default¶ó°í + º¹»çÇÏÁöµµ ¾Ê´Â´Ù). Áï, ±âÁ¸¿¡ ¾ÆÆÄÄ¡°¡ ¼³Ä¡µÇÀÖ´õ¶óµµ ¾ÈÀüÇÏ°Ô + ¾ÆÆÄÄ¡¸¦ »õ·Î ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ¼³Ä¡Çϱâ Àü¿¡ ¼­¹ö¸¦ + Áß´ÜÇÏ°í, ¼³Ä¡ÈÄ »õ·Î¿î ¼­¹ö¸¦ ½ÃÀÛÇØ¾ß ÇÑ´Ù.

+ +

¾ÆÆÄÄ¡ ¼³Ä¡ÈÄ ÇÊ¿äÇÏ´Ù¸é conf ÇÏÀ§µð·ºÅ丮¿¡ + ÀÖ´Â ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. ÆÄÀÏÀº ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÑ µð·ºÅ丮ÀÇ + htdocs ÇÏÀ§µð·ºÅ丮¿¡ ÀÖ´Â ¹®¼­¸¦ ¼­ºñ½ºÇϵµ·Ï + ¼³Á¤µÇÀÖ´Ù. ½ÇÁ¦·Î ¾ÆÆÄÄ¡¸¦ »ç¿ëÇϱâ Àü¿¡ ¼³Á¤ÇØ¾ß ÇÒ ¿É¼ÇÀÌ + ¸¹´Ù. ±×·¯³ª »¡¸® ½ÇÇàÇغ¼ ¼ö ÀÖµµ·Ï ±âº» ¼³Á¤ÆÄÀϷεµ µ¿ÀÛÇÑ´Ù.

+
top
+
+

Windows¿ë ¾ÆÆÄÄ¡ ¼³Á¤Çϱâ

+ + +

¾ÆÆÄÄ¡´Â conf ÇÏÀ§µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏ·Î + ¼³Á¤ÇÑ´Ù. ÀÌ ÆÄÀÏÀº À¯´Ð½º¿ë°ú °°Áö¸¸, Windows¿ë ¾ÆÆÄÄ¡ + ƯÀ¯ÀÇ Áö½Ã¾î°¡ ¸î°³ ÀÖ´Ù. »ç¿ë°¡´ÉÇÑ ¸ðµç Áö½Ã¾î¸¦ º¸·Á¸é + Áö½Ã¾î ¸ñ·ÏÀ» Âü°íÇ϶ó.

+ +

Windows¿ë ¾ÆÆÄÄ¡ÀÇ ÁÖµÈ Â÷ÀÌÁ¡Àº:

+
    +
  • Windows¿ë ¾ÆÆÄÄ¡´Â ´ÙÁß¾²·¹µå ¹æ½ÄÀ» »ç¿ëÇϱ⶧¹®¿¡, + À¯´Ð½º¿Í ´Þ¸® ¿äû¸¶´Ù ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. + ´ë½Å ¾ÆÆÄÄ¡ ÇÁ·Î¼¼½º´Â Ç×»ó, ºÎ¸ð ÇÁ·Î¼¼½º¿Í ¿äûÀ» ó¸®ÇÏ´Â + ÀÚ½Ä ÇÁ·Î¼¼½º, 2°³ÀÌ´Ù. ÀÚ½Ä ÇÁ·Î¼¼½º¿¡ ÀÖ´Â ¿©·¯ ¾²·¹µåµéÀÌ + ¿äûµéÀ» ó¸®ÇÑ´Ù. +

    + +

    ÇÁ·Î¼¼½º °ü¸® Áö½Ã¾îµµ ´Ù¸£´Ù:

    + +

    MaxRequestsPerChild: À¯´Ð½º¿Í + °°ÀÌ, ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ¿äûÀ» ¾ó¸¶¸¸Å­ ó¸®ÇÏ°í Á×À»Áö¸¦ + Á¶Á¤ÇÑ´Ù. ±×·¯³ª À¯´Ð½º¿Í ´Þ¸® ÇÁ·Î¼¼½º°¡ Çѹø¿¡ ÇÑ ¿äû¸¸À» + ó¸®ÇÏÁö¾Ê°í Çѹø¿¡ ¸ðµç ¿äûÀ» ¼­ºñ½ºÇϱ⶧¹®¿¡, ¼³Á¤ÇÑ´Ù¸é + ¸Å¿ì Å« °ªÀ» ¼³Á¤ÇÏ±æ ±ÇÇÑ´Ù. ±ÇÀåÇÏ´Â ±âº»°ª + MaxRequestsPerChild 0À» »ç¿ëÇϸé ÀÚ½Ä ÇÁ·Î¼¼½º´Â + Á×Áö¾Ê°í ¿µ¿øÈ÷ ¿äûÀ» ¼­ºñ½ºÇÑ´Ù.

    + +
    °æ°í: ÀÚ½Ä ÇÁ·Î¼¼½º´Â »õ·Î + ½ÃÀÛÇÒ ¶§¸¶´Ù ¼­¹ö¼³Á¤ÆÄÀÏÀ» »õ·Î Àд´Ù. + httpd.conf¸¦ ¼öÁ¤Çß´Ù¸é, ÀÚ½Ä ÇÁ·Î¼¼½º°¡ + ½ÃÀÛÇÏÁö ¾Ê°Å³ª ¿¹±âÄ¡¾ÊÀº °á°ú°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
    + +

    ThreadsPerChild: + ÀÌ Áö½Ã¾î´Â »õ·Î Ãß°¡µÇ¾ú´Ù. ÀÌ Áö½Ã¾î´Â ¼­¹ö°¡ »ç¿ëÇÒ + ¾²·¹µå °³¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀÌ ¼­¹ö°¡ Çѹø¿¡ ó¸®ÇÒ ¼ö + ÀÖ´Â ÃÖ´ë ¿¬°á°³¼öÀ̱⶧¹®¿¡, »çÀÌÆ®¿¡ Á¢¼Ó·®ÀÌ ¸¹´Ù¸é + ÃæºÐÈ÷ Å« °ªÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. ±ÇÀåÇÏ´Â ±âº»°ªÀº + ThreadsPerChild 50ÀÌ´Ù.

  • + +
  • ÆÄÀϸíÀ» ¾Æ±Ô¸ÕÆ®·Î ¹Þ´Â Áö½Ã¾î´Â À¯´Ð½º ÆÄÀϸíÀÌ + ¾Æ´Ñ Windows ÆÄÀϸíÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ±×·¯³ª ¾ÆÆÄÄ¡ ³»ºÎ¿¡¼­ + À¯´Ð½º½Ä À̸§À» »ç¿ëÇϱ⶧¹®¿¡ ¹é½½·¡½¬°¡ ¾Æ´Ñ ½½·¡½¬¸¦ + »ç¿ëÇØ¾ß ÇÑ´Ù. µå¶óÀÌºê ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. µå¶óÀ̺긦 + ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÆÆÄÄ¡ ½ÇÇàÆÄÀÏÀÌ ÀÖ´Â µå¶óÀ̺긦 + »ç¿ëÇÑ´Ù.

  • + +
  • Windows¿ë ¾ÆÆÄÄ¡´Â ¼­¹ö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê°í + ½ÇÇàÁß¿¡ ¸ðµâÀ» ÀоîµéÀÏ ¼ö ÀÖ´Ù. ±âº»°ªÀ¸·Î ¾ÆÆÄÄ¡¸¦ + ÄÄÆÄÀÏÇϸé \Apache2\modules µð·ºÅ丮¿¡ ¿©·¯ + ¼±Åð¡´ÉÇÑ ¸ðµâÀ» ¼³Ä¡ÇÑ´Ù. ÀÌ ¸ðµâ ȤÀº ´Ù¸¥ ¸ðµâÀ» + »ç¿ëÇÏ·Á¸é »õ·Î »ý±ä LoadModule Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. + ¿¹¸¦ µé¾î, status ¸ðµâÀ» »ç¿ëÇÑ´Ù¸é + (access.conf¿¡ status°ü·Ã Áö½Ã¾î¿Í ÇÔ²²) + ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇÑ´Ù:

    + +

    + LoadModule status_module modules/mod_status.so +

    + +

    ÀоîµéÀÏ ¼ö ÀÖ´Â + ¸ðµâ ¸¸µé±â¿¡ ´ëÇÑ Á¤º¸µµ ÀÖ´Ù.

  • + +
  • ¾ÆÆÄÄ¡´Â Microsoft IIS¿Í ´Ù¸¥ Windows ¼­¹ö°¡ »ç¿ëÇÏ´Â + ISAPI (Internet Server Application Programming Interface) + È®ÀåÀ» (Áï, ÀÎÅÍ³Ý ¼­¹ö ÇÁ·Î±×·¥) ÀоîµéÀÏ ¼öµµ ÀÖ´Ù. + ´õ ÀÚ¼¼ÇÑ Á¤º¸°¡ ÀÖ´Ù. + ¾ÆÆÄÄ¡´Â ISAPI ÇÊÅ͸¦ ÀоîµéÀÏ ¼ö ¾øÀ½À» + ÁÖÀÇÇ϶ó.

  • + +
  • CGI ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù¸é ScriptInterpreterSource Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡°¡ ½ºÅ©¸³Æ®ÀÇ ÀÎÅÍÇÁ¸®Å͸¦ ã´Â ¹æ¹ýÀ» + ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

  • + +
  • Windows¿¡¼­ .htaccess¿Í °°Àº ÆÄÀϸíÀ» + ´Ù·ç±â Èûµå¹Ç·Î, AccessFilename Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© + µð·ºÅ丮º° ¼³Á¤ÆÄÀÏ À̸§À» º¯°æÇϸé ÆíÇÏ´Ù.

  • + +
  • Windows NT¶ó¸é ¾ÆÆÄÄ¡ ½ÃÀ۽à ¹ß»ýÇÑ ¿À·ù¸¦ Windows + À̺¥Æ® ·Î±×¿¡ ±â·ÏÇÑ´Ù. ±×·¡¼­ ¾ÆÆÄÄ¡°¡ º¸Åë »ç¿ëÇÏ´Â + error.log ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì¿¡ ´ëºñÇÑ´Ù. + Windows À̺¥Æ® ·Î±×´Â Windows NT 4.0¿¡¼­´Â À̺¥Æ® ºä¾î + ÇÁ·Î±×·¥À¸·Î, ÃֽŠWindows ¹öÀü¿¡¼­´Â À̺¥Æ® ºä¾î MMC + ½º³ÀÀο¡¼­ º¼ ¼ö ÀÖ´Ù.

    + +
    Windows 9x¿¡´Â Windows À̺¥Æ® ·Î±×°¡ ¾ø±â¶§¹®¿¡ + ½ÃÀ۽à ¹ß»ýÇÑ ¿À·ù¸¦ ±â·ÏÇÏÁö ¾Ê´Â´Ù.
  • +
+ +
top
+
+

¾ÆÆÄÄ¡¸¦ Service·Î ½ÇÇàÇϱâ

+ + +

Windows NT¿¡¼­´Â ¾ÆÆÄÄ¡¸¦ service·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù. Windows + 9x¿¡´Â ¸Å¿ì ½ÇÇèÀûÀÎ ¹æ¹ýÀ¸·Î ºñ½ÁÇÑ ±â´ÉÀ» Áö¿øÇÑ´Ù.

+ +

¼³Ä¡½Ã ÀÚµ¿À¸·Î ¾ÆÆÄÄ¡¸¦ service·Î ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. "¸ðµç + »ç¿ëÀÚ"¸¦ ¼±ÅÃÇϸé, ¾ÆÆÄÄ¡ service°¡ ¸¸µé¾îÁø´Ù. "ÇöÀç + »ç¿ëÀÚ¸¸"À» ¼±ÅÃÇÏ´õ¶óµµ ¼³Ä¡ÈÄ Á÷Á¢ ¾ÆÆÄÄ¡¸¦ service·Î + µî·ÏÇÒ ¼ö ÀÖ´Ù. service¸¦ ¼³Ä¡ÇÏ·Á¸é Administrators ±×·ìÀÇ + ±¸¼º¿øÀ̾î¾ß ÇÑ´Ù.

+ +

¾ÆÆÄÄ¡¿¡´Â Apache Service Monitor¶ó´Â µµ±¸°¡ ÀÖ´Ù. ÀÌ + µµ±¸¸¦ »ç¿ëÇÏ¸é ³×Æ®¿÷¿¡ ÀÖ´Â ´Ù¸¥ ÄÄÇ»ÅÍ¿¡ ¼³Ä¡µÈ ¾ÆÆÄÄ¡ + »óŵµ È®ÀÎÇÏ°í °ü¸®ÇÒ ¼ö ÀÖ´Ù. monitor·Î ¾ÆÆÄÄ¡ service¸¦ + °ü¸®ÇÏ·Á¸é ¸ÕÀú service¸¦ (¼³Ä¡½Ã ÀÚµ¿À¸·Î ȤÀº Á÷Á¢) ¼³Ä¡ÇØ¾ß + ÇÑ´Ù. +

+ +

¾ÆÆÄÄ¡ bin ÇÏÀ§µð·ºÅ丮¿¡¼­ ¸í·ÉÇà ÇÁ·ÒÇÁÆ®¿¡ + ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¸é ¾ÆÆÄÄ¡¸¦ Windows NT service·Î ¼³Ä¡ÇÑ´Ù:

+ +

+ apache -k install +

+ +

¼³Ä¡ÇÒ service À̸§À» ÁöÁ¤ÇÏ°í ½Í´Ù¸é ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù. + ÄÄÇ»ÅÍ¿¡ ¾ÆÆÄÄ¡°¡ ¿©·¯°³ ¼³Ä¡µÇÀÖ´Ù¸é À̸§À» ´Ù¸£°Ô ÁÖ¾î¾ß + ÇÑ´Ù.

+ +

+ apache -k install -n "MyServiceName" +

+ +

service°¡ »ç¿ëÇÒ ¼³Á¤ÆÄÀÏÀ» Á÷Á¢ ÁöÁ¤ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ + ÇÑ´Ù:

+ +

+ apache -k install -n "MyServiceName" -f "c:\files\my.conf" +

+ +

-k install ¿Ü¿¡ ´Ù¸¥ ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏÁö + ¾ÊÀ¸¸é, service À̸§Àº Apache2°¡ µÇ°í ¼³Á¤ÆÄÀÏÀº + conf\httpd.conf°¡ µÈ´Ù. +

+ +

¾ÆÆÄÄ¡ service¸¦ Á¦°ÅÇϱ⠽±´Ù. °£´ÜÈ÷:

+ +

+ apache -k uninstall +

+ +

´ÙÀ½°ú °°ÀÌ Á¦°ÅÇÒ ¾ÆÆÄÄ¡ service¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù:

+ +

+ apache -k uninstall -n "MyServiceName" +

+ +

º¸Åë ¾ÆÆÄÄ¡ service ½ÃÀÛ, Àç½ÃÀÛ, Á¾·á´Â Apache Service + Monitor³ª NET START Apache2, NET STOP + Apache2 °°Àº ¸í·É¾î ȤÀº Windows ¼­ºñ½º °ü¸®Ã¢¿¡¼­ + ÇÑ´Ù. ¾î¶² ¹æ¹ýÀ» »ç¿ëÇϵçÁö ¾ÆÆÄÄ¡ service¸¦ ½ÃÀÛÇϱâ Àü¿¡ + ¼³Á¤ÆÄÀÏÀ» °Ë»çÇغÁ¾ß ÇÑ´Ù:

+ +

+ apache -n "MyServiceName" -t +

+ +

¸í·ÉÇà ¿É¼ÇÀ¸·Îµµ ¾ÆÆÄÄ¡ service¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. ¼³Ä¡ÇÑ + ¾ÆÆÄÄ¡ serivce¸¦ ½ÃÀÛÇÏ·Á¸é:

+ +

+ apache -k start +

+ +

¸í·ÉÇà ¿É¼ÇÀ¸·Î ¾ÆÆÄÄ¡ service¸¦ Á¾·áÇÏ·Á¸é:

+ +

+ apache -k stop +

+ +

ȤÀº

+ +

+ apache -k shutdown +

+ +

½ÇÇàÁßÀÎ service¸¦ Àç½ÃÀÛÇÏ¿© ¼³Á¤ÆÄÀÏÀ» ´Ù½Ã Àеµ·Ï + ÇÒ ¼ö ÀÖ´Ù:

+ +

+ apache -k restart +

+ +

±âº»ÀûÀ¸·Î ¸ðµç ¾ÆÆÄÄ¡ service´Â ½Ã½ºÅÛ »ç¿ëÀÚ + (LocalSystem °èÁ¤) ±ÇÇÑÀ¸·Î ½ÇÇàÇϵµ·Ï µî·ÏµÈ´Ù. + Windows º¸¾È±¸Á¶»ó LocalSystem °èÁ¤Àº ÆÄÀϽýºÅÛ, + named pipes, DCOM, secure RPC µî ¾î¶² ¹æ¹ýÀ» »ç¿ëÇϵçÁö + ³×Æ®¿÷¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ÇØ´ç ÄÄÇ»ÅÍ¿¡¼­´Â ¸¹Àº ±ÇÇÑÀ» + °¡Áø´Ù. +

+ +
LocalSystem °èÁ¤¿¡°Ô + ³×Æ®¿÷ ±ÇÇÑÀ» Àý´ë·Î ÁÖÁö ¸¶¶ó! ¾ÆÆÄÄ¡°¡ ³×Æ®¿÷ ÀÚ¿ø¿¡ Á¢±ÙÇØ¾ß + ÇÑ´Ù¸é, ¾Æ·¡¿¡¼­ ¼³¸íÇÏ´Â ¹æ¹ýÀ¸·Î ¾ÆÆÄÄ¡¸¦ À§ÇÑ º°µµÀÇ + °èÁ¤À» ¸¸µé¾î¶ó.
+ +

¾ÆÆÄÄ¡ service¸¦ ½ÇÇàÇϱâÀ§ÇÑ º°µµÀÇ °èÁ¤À» ¸¸µé ¼öµµ + ÀÖ´Ù. ƯÈ÷ ¾ÆÆÄÄ¡°¡ ³×Æ®¿÷ ÀÚ¿ø¿¡ Á¢±ÙÇØ¾ß ÇÑ´Ù¸é ÀÌ ¹æ¹ýÀ» + °­·ÂÈ÷ ±ÇÇÑ´Ù.

+ +
    +
  1. ÀÏ¹Ý µµ¸ÞÀÎ »ç¿ëÀÚ °èÁ¤À» ¸¸µé°í ¾ÏÈ£¸¦ ±â¾ïÇ϶ó.
  2. + +
  3. »õ·Î ¸¸µç °èÁ¤¿¡ ¼­ºñ½º·Î ·Î±×¿Â¿Í + ¿î¿µ üÁ¦ÀÇ ÀϺηΠȰµ¿ ±ÇÇÑÀ» + ºÎ¿©ÇÑ´Ù. Windows NT 4.0¿¡¼­´Â User Manager for Domains¿¡¼­ + ±ÇÇÑÀ» ºÎ¿©ÇÒ ¼ö ÀÖ°í, Windows 2000°ú XP¿¡¼­´Â ¾Æ¸¶µµ + "±×·ì Á¤Ã¥"À» »ç¿ëÇØ¾ß ÇÑ´Ù. "·ÎÄà º¸¾È ¼³Á¤" MMC + ½º³ÀÀο¡¼­ Á÷Á¢ ¼³Á¤ÇØÁÙ ¼öµµ ÀÖ´Ù. +
  4. + +
  5. »õ·Î ¸¸µç °èÁ¤ÀÌ Users ±×·ì¿¡ ¼ÓÇÏ´ÂÁö È®ÀÎÇÑ´Ù.
  6. + +
  7. ¸ðµç ¹®¼­¿Í ½ºÅ©¸³Æ® Æú´õ¿¡ (¿¹¸¦ µé¾î + htdocs¿Í cgi-bin) ´ëÇØ ÀÐ±â ¹× + ½ÇÇà (RX) ±ÇÇÑÀ» ºÎ¿©ÇÑ´Ù.
  8. + +
  9. ¾ÆÆÄÄ¡ logs µð·ºÅ丮¿¡ ¼öÁ¤ (RWXD) ±ÇÇÑÀ» + ºÎ¿©ÇÑ´Ù.
  10. + +
  11. Apache.exe ½ÇÇàÆÄÀÏ¿¡ ÀÐ±â ¹× ½ÇÇà (RX) + ±ÇÇÑÀ» ºÎ¿©ÇÑ´Ù.
  12. +
+ +
¾ÆÆÄÄ¡ service¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ¿¡°Ô ÃÖ¼ÒÇÑ ¼öÁ¤ (RWXD) + ±ÇÇÑÀÌ ÇÊ¿äÇÑ logs ÇÏÀ§µð·ºÅ丮¸¦ Á¦¿ÜÇÏ°í + Apache2 µð·ºÅ丮 Àüü¿¡ ÀÐ±â ¹× ½ÇÇà (RX) ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â + °ÍÀÌ ÁÁ´Ù.
+ +

°èÁ¤¿¡ "·ÎÄà ·Î±×¿Â"°ú "¼­ºñ½º·Î ·Î±×¿Â" ±ÇÇÑÀÌ ÀÖ´Ù¸é, + ±× °èÁ¤À¸·Î ·Î±×¿ÂÇÏ¿© °èÁ¤ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ°í À¥ÆäÀÌÁö¸¦ + ÀÐÀ¸¸ç ÄܼÖâ¿¡¼­ ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´ÂÁö °Ë»çÇغ¼ ¼ö + ÀÖ´Ù. ¿©±â¼­ ¹®Á¦°¡ ¾ø´Ù¸é ¾ÆÆÄÄ¡¸¦ service·Î ½ÇÇàÇصµ ¹®Á¦°¡ + ¾ø´Ù.

+ +
Error code 2186Àº ¾ÆÆÄÄ¡°¡ ÇÊ¿äÇÑ + ³×Æ®¿÷ ÀÚ¿ø¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù´Â ¸»·Î serviceÀÇ "·Î±×¿Â" + ¼³Á¤À» È®ÀÎÇ϶ó. ¶Ç, ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â °èÁ¤ÀÇ ±ÇÇÑÀ» + »ìÆìºÁ¶ó.
+ +

¾ÆÆÄÄ¡¸¦ service·Î ½ÇÇàÇϸé Windows Service Control + Manager¿¡¼­ ¿À·ù¹®À» º¼ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, Á¦¾îÆÇ¿¡¼­ + "¼­ºñ½º"¸¦ »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÏ´Â °æ¿ì ´ÙÀ½°ú °°Àº ¹®±¸°¡ + ³ª¿Ã ¼ö ÀÖ´Ù:

+ +

+ Could not start the Apache2 service on \\COMPUTER
+ Error 1067; The process terminated unexpectedly. +

+ +

¾ÆÆÄÄ¡ service¸¦ ½ÃÀÛÇÒ¶§ ¹®Á¦°¡ ÀÖÀ¸¸é ÀϹÝÀûÀÎ ÀÌ·± + ¿À·ù°¡ ³ª¿Â´Ù. ½ÇÁ¦ ¾îµð°¡ ¹®Á¦ÀÎÁö ¾Ë·Á¸é ¾ÆÆÄÄ¡¸¦ ÄÜ¼Ö + ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇغ¸¶ó.

+ +

Windows 9x¿¡¼­ ¾ÆÆÄÄ¡´Â Windows NTÀÇ service¿Í ºñ½ÁÇÑ + ¹æ¹ýÀ» Áö¿øÇÑ´Ù. ±×·¯³ª ¸Å¿ì ½ÇÇèÀûÀÎ ±â´ÉÀÌ´Ù. + ½ÇÁ¦ ¼­ºñ½º¿¡ »ç¿ëÇÒ¸¸Å­ ¾ÈÁ¤ÀûÀÌÁö ¾Ê°í ¾ÕÀ¸·Î °³¼±µÉÁö + º¸ÀåÇÒ ¼öµµ ¾ø´Ù. À§ÇèÇϹǷΠȤ½Ã³ª »ç¿ëÇÑ´Ù¸é ÁÖÀÇÇؼ­ + »ç¿ëÇØ¾ß ÇÑ´Ù!

+ +

µÎ°¡Áö serviceÀÇ Áß¿äÇÑ Â÷ÀÌÁ¡Àº ´ÙÀ½°ú °°´Ù:

+ +
    +
  • ¾ÆÆÄÄ¡°¡ ¼º°øÀûÀ¸·Î ½ÃÀÛÇÏ¸é ¹è°æ¿¡¼­ ½ÇÇàÇÑ´Ù. + ¿¹¸¦ µé¾î, µ¥½ºÅ©Å¾¿¡ ¹Ù·Î°¡±â¸¦ ¸¸µé¾î¼­ ´ÙÀ½ ¸í·ÉÀ» + ½ÇÇàÇÏ´Â °æ¿ì,

    + +

    + apache -n "MyServiceName" -k start +

    + +

    service°¡ ¼º°øÀûÀ¸·Î ½ÃÀÛÇϸé ÄܼÖâÀÌ »ý°å´Ù°¡ ±Ý¹æ + »ç¶óÁø´Ù. httpd.conf ¼³Á¤ÆÄÀÏ¿¡ À߸øµÈ ³»¿ëÀÌ ÀÖ´Â µî + ¾ÆÆÄÄ¡ ½ÃÀ۽à ¿À·ù°¡ ¹ß»ýÇϸé ÄܼÖâÀ» °è¼Ó º¸ÀδÙ. ÄܼÖâÀº + ¹®Á¦ÀÇ ¿øÀÎÀ» ÆľÇÇϴµ¥ µµ¿òÀ» ÁÖ´Â ¿À·ù¹®À» º¸¿©ÁØ´Ù.

  • + +
  • Windows 9x´Â NET START¿Í NET + STOP ¸í·É¾î¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. ¸í·ÉÇÁ·ÒÇÁÆ®¿¡¼­ + -k ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡ service¸¦ Á¶Á¤ÇØ¾ß + ÇÑ´Ù. +

  • + +
  • + ¾ÆÆÄÄ¡¿Í Windows 9x´Â ³×Æ®¿÷ ±ÇÇÑÀ» °¡Áø ƯÁ¤ »ç¿ëÀÚ·Î + ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏÁö ¸øÇÑ´Ù. »ç½Ç Windows 9x´Â º¸¾ÈÀ» Á¦°øÇÏÁöµµ + ¾Ê´Â´Ù. ÀÌ°ÍÀÌ ¹Ù·Î Apache Software FoundationÀÌ Windows + 9x ½Ã½ºÅÛÀ» °ø°³ À¥¼­¹ö·Î »ç¿ëÇÏ±æ ±ÇÇÏÁö ¾Ê´Â ÀÌÀ¯´Ù. + »ç¿ëÀÚ°¡ À¥ ÄÁÅÙÃ÷¸¦ °³¹ßÇÏ°í ¾ÆÆÄÄ¡ ¼­¹ö ÇнÀÀ» µ½±âÀ§ÇØ, + ¾Æ´Ï¸é ¾ÈÀüÇÑ »ç¼³ ³×Æ®¿÷¿¡ À§Ä¡ÇÒ ÀÎÆ®¶ó³Ý ¼­¹ö¸¦ À§ÇØ, + Windows 9x¸¦ Áö¿øÇÒ »ÓÀÌ´Ù.

  • + +
+ +

¾ÆÆÄÄ¡°¡ ÄÜ¼Ö ÇÁ·Î±×·¥À¸·Î µ¿ÀÛÇÔÀ» È®ÀÎÇÏ¿´´Ù¸é Windows + NT¿¡¼­¿Í °°Àº ¸í·É¾î·Î °¡»ó service¸¦ ¼³Ä¡, Á¶Àý, Á¦°ÅÇÒ + ¼ö ÀÖ´Ù. ¶Ç, Apache Service Monitor¸¦ »ç¿ëÇÏ¿© Windows 9x + °¡»ó service¸¦ °ü¸®ÇÒ ¼ö ÀÖ´Ù.

+ +
top
+
+

¾ÆÆÄÄ¡¸¦ ÄÜ¼Ö ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇϱâ

+ + +

ÀϹÝÀûÀ¸·Î ¾ÆÆÄÄ¡¸¦ service·Î ½ÇÇàÇÏ±æ ±ÇÇÑ´Ù. ±×·¯³ª + ¸í·ÉÇà¿¡¼­ ½ÇÇàÇÏ´Â°Ô ÆíÇÑ °æ¿ì°¡ ÀÖ´Ù (Windows 9x¿¡¼­´Â + service¸¦ ¾ÈÁ¤ÀûÀ¸·Î Áö¿øÇÏÁö ¾Ê±â¶§¹®¿¡ ¸í·ÉÇà¿¡¼­ ¾ÆÆÄÄ¡¸¦ + ½ÇÇàÇÏ´Â ¹æ¹ýÀ» ±ÇÇÑ´Ù).

+ +

¾ÆÆÄÄ¡¸¦ ÄÜ¼Ö ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇÏ·Á¸é, ¸í·ÉÇà¿¡¼­ ´ÙÀ½ + ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù:

+ +

+ apache +

+ +

¾ÆÆÄÄ¡´Â Control-C¸¦ ´­·¯¼­ Á¤ÁöÇÒ ¶§±îÁö ½ÇÇàµÈ´Ù.

+ +

¶Ç, ½ÃÀÛ ¸Þ´º --> ÇÁ·Î±×·¥ --> Apache HTTP + Server 2.0.xx --> Control Apache Server¿¡ ¼³Ä¡µÈ + Start Apache in Console ¹Ù·Î°¡±â·Î ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. + ¹Ù·Î°¡±â¸¦ ½ÇÇàÇϸé ÄܼÖâÀ» ¿­°í ±× ¾È¿¡¼­ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÑ´Ù. + ¾ÆÆÄÄ¡¸¦ service·Î ¼³Ä¡ÇÏÁö ¾Ê¾Ò´Ù¸é, ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â + ÄܼÖâ¿¡¼­ Control-C¸¦ ´­·¯ ¾ÆÆÄÄ¡¸¦ Áß´ÜÇÒ¶§±îÁö âÀÌ ¶°ÀÖ´Ù. + ÀÌ °æ¿ì ¼­¹ö´Â ¸îÃʾȿ¡ Á¾·áÇÑ´Ù. ±×·¯³ª, ¾ÆÆÄÄ¡¸¦ service·Î + ¼³Ä¡ÇÏ¿´´Ù¸é ¹Ù·Î°¡±â´Â service¸¦ ½ÃÀÛÇÑ´Ù. ¾ÆÆÄÄ¡ service°¡ + ÀÌ¹Ì ½ÇÇàÁßÀ̶ó¸é ¹Ù·Î°¡±â´Â ¾Æ¹«Àϵµ ÇÏÁö ¾Ê´Â´Ù.

+ +

´Ù¸¥ ÄܼÖâÀ» ¿­°í ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¿© ½ÇÇàÁßÀÎ ¾ÆÆÄÄ¡¸¦ + Á¾·áÇÒ ¼ö ÀÖ´Ù:

+ +

+ apache -k shutdown +

+ +

ÀÌ ¹æ¹ýÀº ¾ÆÆÄÄ¡°¡ ÇöÀç ÀÛ¾÷À» ¸¶Ä¡°í Á¡ÀÝ°Ô Á¾·áÇÒ ¼ö + Àֱ⶧¹®¿¡ Control-C º¸´Ù ³´´Ù.

+ +

¶Ç, ¾ÆÆÄÄ¡¸¦ Àç½ÃÀÛÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ¼³Á¤ÆÄÀÏÀ» ´Ù½Ã + Àд´Ù. ÁøÇàÁßÀÎ ÀÛ¾÷À» Áß°£¿¡ ²÷Áö¾Ê°í ¿Ï·áÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ + Àç½ÃÀÛÇÏ·Á¸é:

+ +

+ apache -k restart +

+ +
À¯´Ð½º¿ë ¾ÆÆÄÄ¡¿¡ Àͼ÷ÇÑ »ç¶÷À» À§ÇØ: ÀÌ ¸í·É¾î´Â + kill -TERM pid³ª kill -USR1 + pidÀÇ WindowsÆÇÀÌ´Ù. ¸í·ÉÇà ¿É¼Ç + -k´Â À¯´Ð½º kill ¸í·É¾î À̸§À» + º»µû Áö¾ú´Ù.
+ +

¾ÆÆÄÄ¡ ÄܼÖâÀÌ Áï½Ã ȤÀº ½ÃÀÛÈÄ °©Àڱ⠴ÝÄ¡¸é ½ÃÀÛ ¸Þ´º + --> ÇÁ·Î±×·¥ÀÇ ¸í·É ÇÁ·ÒÇÁÆ®¸¦ ½ÇÇàÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÑ + Æú´õ·Î °¡¼­ apache ¸í·É¾î¸¦ ½ÇÇàÇغ¸°í ¹ß»ýÇÑ + ¿À·ù¹®À» »ìÆ캻´Ù. ±×¸®°í logs Æú´õ·Î °¡¼­, ¼³Á¤ÆÄÀÏÀÌ + À߸øµÇ¾ú´ÂÁö error.log ÆÄÀÏÀ» »ìÆ캻´Ù. ¾ÆÆÄÄ¡¸¦ + ¼³Ä¡ÇÒ¶§ ±âº»°ªÀ» »ç¿ëÇß´Ù¸é ´ÙÀ½°ú °°´Ù:

+ +

+ c:
+ cd "\Program Files\Apache Group\Apache2\bin"
+ apache +

+ +

¾ÆÆÄÄ¡°¡ Á¤ÁöÇÒ ¶§±îÁö ±â´Ù¸®°Å³ª Control-C¸¦ ´©¸¥´Ù. + ±×¸®°í ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:

+ +

+ cd ..\logs
+ more < error.log +

+ +

¾ÆÆÄÄ¡¸¦ ´Ù·ê¶§ ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô ¼³Á¤ÆÄÀÏÀ» ã´ÂÁö ¾Æ´Â + °ÍÀÌ Áß¿äÇÏ´Ù. µÎ°¡Áö ¹æ¹ýÀ¸·Î ¸í·ÉÇà¿¡¼­ ¼³Á¤ÆÄÀÏÀ» ÁöÁ¤ÇÒ + ¼ö ÀÖ´Ù:

+ +
    +
  • -f´Â ¼³Á¤ÆÄÀÏÀÇ Àý´ë°æ·Î ȤÀº »ó´ë°æ·Î¸¦ + ÁöÁ¤ÇÑ´Ù:

    + +

    + apache -f "c:\my server files\anotherconfig.conf" +

    + +

    ȤÀº

    + +

    + apache -f files\anotherconfig.conf +

  • + +
  • -nÀº ¾ÆÆÄÄ¡ service¸¦ ¼±ÅÃÇÏ°í, ÇØ´ç + serviceÀÇ ¼³Á¤ÆÄÀÏÀ» »ç¿ëÇÑ´Ù:

    + +

    + apache -n "MyServiceName" +

    +
  • +
+ +

µÎ °æ¿ì ¸ðµÎ ¼³Á¤ÆÄÀÏÀÌ ÀûÀýÇÑ ServerRoot¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù.

+ +

-f³ª -nÀ¸·Î ¼³Á¤ÆÄÀÏÀ» ÁöÁ¤ÇÏÁö + ¾ÊÀ¸¸é, ¾ÆÆÄÄ¡´Â conf\httpd.conf¿Í °°ÀÌ ¼­¹ö¿¡ + ÄÄÆÄÀÏµÈ ÆÄÀϸíÀ» »ç¿ëÇÑ´Ù. ÀÌ ±âº» °æ·Î´Â ¼³Ä¡ µð·ºÅ丮¿¡ + »ó´ëÀûÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ -V ¿É¼ÇÀ¸·Î ¾ÆÆÄÄ¡¸¦ + ½ÇÇàÇϸé SERVER_CONFIG_FILEÀ̶õ Ç׸ñ¿¡¼­ ¼­¹ö°¡ + »ç¿ëÇÒ ¼³Á¤ÆÄÀÏÀ» ¾Ë ¼ö ÀÖ´Ù:

+ +

+ apache -V +

+ +

¾ÆÆÄÄ¡´Â ´ÙÀ½ ¼ø¼­´ë·Î ServerRoot¸¦ ã´Â´Ù:

+ +
    +
  1. -C ¸í·ÉÇà ¿É¼Ç¿¡ »ç¿ëÇÑ ServerRoot Áö½Ã¾î.
  2. + +
  3. -d ¸í·ÉÇà ¿É¼Ç.
  4. + +
  5. ÇöÀç ÀÛ¾÷ µð·ºÅ丮.
  6. + +
  7. ¹ÙÀ̳ʸ® ¼³Ä¡¸¦ Çß´Ù¸é ¼³Ä¡ÇÒ¶§ ¸¸µç registry Ç׸ñ.
  8. + +
  9. ¼­¹ö¿¡ ÄÄÆÄÀÏµÈ server root. ±âº»°ªÀº + /apacheÀÌ°í, apache -V¸¦ ½ÇÇàÇϸé + HTTPD_ROOT¶ó´Â Ç׸ñ¿¡¼­ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
  10. +
+ +

¼³Ä¡ÇÒ¶§ À©µµ¿ìÁî ·¹Áö½ºÆ®¸®¿¡ ¹öÀü ƯÀ¯ÀÇ ·¹Áö½ºÆ®¸® + Å°¸¦ ¸¸µç´Ù. Å°ÀÇ À§Ä¡´Â ¼³Ä¡ Á¾·ù¿¡ µû¶ó ´Ù¸£´Ù. install + Apache for all users¸¦ ¼±ÅÃÇÏ¿´´Ù¸é + HKEY_LOCAL_MACHINE ¾Æ·¡¿¡ ´ÙÀ½°ú °°Àº Å°¸¦ + ¸¸µç´Ù (¹°·Ð ¹öÀü¹øÈ£´Â ¾ÆÆÄÄ¡ ¹öÀü¸¶´Ù ´Ù¸£´Ù): +

+ +

+ HKEY_LOCAL_MACHINE\SOFTWARE\Apache Group\Apache\2.0.43 +

+ +

"¸ðµç »ç¿ëÀÚ"¸¦ ´ë»óÀ¸·Î ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÏ¿´´Ù¸é + HKEY_CURRENT_USER ¾Æ·¡ Å°°¡ »ý±ä´Ù. ³»¿ëÀº + ÇöÀç ·Î±×¿ÂÇÑ »ç¿ëÀÚ¿¡ µû¶ó ´Ù¸£´Ù:

+ +

+ HKEY_CURRENT_USER\SOFTWARE\Apache Group\Apache\2.0.43 +

+ +

Å° À̸§ÀÌ ¼­¹ö¿¡ ÄÄÆÄÀϵDZ⶧¹®¿¡ ÇöÀç ¹öÀüÀ» °Çµå¸®Áö¾Ê°í + »õ·Î¿î ¹öÀüÀ» ¼³Ä¡ÇÏ¿© Å×½ºÆ®Çغ¼ ¼ö ÀÖ´Ù. ¹°·Ð »õ ¹öÀüÀ» + ´Ù¸¥ ¹öÀü°ú °°Àº µð·ºÅ丮¿¡ ¼³Ä¡ÇÏÁö¾Êµµ·Ï ÁÖÀÇÇØ¾ß ÇÑ´Ù.

+ +

¹ÙÀ̳ʸ® ¼³Ä¡¸¦ ÇÏÁö ¾ÊÀº °æ¿ì ¾ÆÆÄÄ¡´Â ·¹Áö½ºÆ®¸® Å°°¡ + ¾ø´Ù°í ºÒÆòÇÒ ¼ö ÀÖ´Ù. ¼­¹ö°¡ ´Ù¸¥ ¹æ¹ýÀ¸·Î ¼³Á¤ÆÄÀÏÀ» ãÀ» + ¼ö ÀÖ´Ù¸é ÀÌ °æ°í¸¦ ¹«½ÃÇصµ µÈ´Ù.

+ +

Å°ÀÇ °ªÀº ServerRoot + µð·ºÅ丮À̸ç, ÀÌ µð·ºÅ丮¿¡ conf¶ó´Â ÇÏÀ§µð·ºÅ丮°¡ + ÀÖ´Ù. ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϸé ÀÌ ÇÏÀ§µð·ºÅ丮¿¡¼­ + httpd.conf ÆÄÀÏÀ» Àд´Ù. ÀÌ ÆÄÀÏ¿¡ ³ª¿À´Â + ServerRoot Áö½Ã¾î°¡ + ·¹Áö½ºÆ®¸® Å°¿¡ ³ª¿Â µð·ºÅ丮¿Í ´Ù¸£´Ù¸é, ¾ÆÆÄÄ¡´Â ·¹Áö½ºÆ®¸®¿¡¼­ + ¾òÀº °ªÀ» ¹«½ÃÇÏ°í ¾ÕÀ¸·Î ¼³Á¤ÆÄÀÏ¿¡ ³ª¿Â µð·ºÅ丮¸¦ »ç¿ëÇÑ´Ù. + ¾ÆÆÄÄ¡ µð·ºÅ丮³ª ¼³Á¤ÆÄÀÏÀ» ´Ù¸¥ Àå¼Ò·Î º¹»çÇÏ¸é ¹Ýµå½Ã + httpd.conf ÆÄÀÏ¿¡ ÀÖ´Â ServerRoot Áö½Ã¾î¸¦ ±× À§Ä¡·Î + ¼öÁ¤Ç϶ó.

+ +
top
+
+

Á¤»óÀûÀ¸·Î ¼³Ä¡µÇ¾ú´ÂÁö °Ë»çÇϱâ

+ + +

(ÄܼÖâÀ̳ª service¸¦ ÅëÇØ) ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϸé (¼³Á¤ÆÄÀÏÀÇ + Listen Áö½Ã¾î¸¦ + ¼öÁ¤Çϰųª ¾ÆÆÄÄ¡¸¦ "ÇöÀç »ç¿ëÀÚ¸¸" ´ë»óÀ¸·Î ¼³Ä¡ÇÏÁö ¾Ê´Â + °æ¿ì) 80¹ø Æ÷Æ®¸¦ ±â´Ù¸°´Ù. ºê¶ó¿ìÀú¸¦ ½ÃÀÛÇÏ°í URLÀ» ÀÔ·ÂÇÏ¿© + ¼­¹öÀÇ ±âº» ÆäÀÌÁö¿¡ Á¢±ÙÇÏ´Ù:

+ +

+ http://localhost/ +

+ +

¾ÆÆÄÄ¡´Â ¾ÆÆÄÄ¡ ¼³¸í¼­ ¸µÅ©°¡ Àִ ȯ¿µÆäÀÌÁö¸¦ º¸¿©Áà¾ß + ÇÑ´Ù. ¾Æ¹« Àϵµ ÀϾÁö ¾Ê°Å³ª ¿À·ù°¡ ³ª¿À¸é, logs + ÇÏÀ§µð·ºÅ丮¿¡ ÀÖ´Â error.log ÆÄÀÏÀ» »ìÆìºÁ¶ó. + È£½ºÆ®°¡ ³×Æ®¿÷¿¡ ¿¬°áµÇÀÖÁö ¾Ê°Å³ª DNS (Domain Name Service) + ¼³Á¤¿¡ ¹®Á¦°¡ ÀÖ´Ù¸é ´ÙÀ½ URLÀ» »ç¿ëÇØ¾ß ÇÑ´Ù:

+ +

+ http://127.0.0.1/ +

+ +

±âº» ¼³Ä¡°¡ µ¿ÀÛÇϸé conf ÇÏÀ§µð·ºÅ丮¿¡ + ÀÖ´Â ÆÄÀÏÀ» ÀûÀýÈ÷ ¼³Á¤ÇÑ´Ù. ¶Ç, Windows NT ¾ÆÆÄÄ¡ service + ¼³Á¤À» ¼öÁ¤ÇÑ °æ¿ì ¸ÕÀú ¸í·ÉÇà¿¡¼­ ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÏ¿© ¿À·ù°¡ + ¹ß»ýÇÏÁö¾Ê´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù.

+ +

¾ÆÆÄÄ¡°¡ ´Ù¸¥ TCP/IP ÇÁ·Î±×·¥°ú °°Àº Æ÷Æ®¸¦ °øÀ¯ÇÒ ¼ö + ¾ø±â¶§¹®¿¡ ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϱâ Àü¿¡ ´Ù¸¥ + ¼­ºñ½º¸¦ Áß´Ü, Á¦°Å, Àç¼³Á¤ÇØ¾ß ÇÒÁöµµ ¸ð¸¥´Ù. ´Ù¸¥ À¥¼­¹ö³ª + ƯÁ¤ ¹æÈ­º® ¼­¹ö½º¿Í Ãæµ¹ÇÒ ¼ö ÀÖ´Ù. +

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/ab.html b/docs/manual/programs/ab.html new file mode 100644 index 0000000..82e0963 --- /dev/null +++ b/docs/manual/programs/ab.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ab.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: ab.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: ab.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: ab.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/ab.html.en b/docs/manual/programs/ab.html.en new file mode 100644 index 0000000..8d4b1ef --- /dev/null +++ b/docs/manual/programs/ab.html.en @@ -0,0 +1,360 @@ + + + + + +ab - Apache HTTP server benchmarking tool - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

ab - Apache HTTP server benchmarking tool

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

ab is a tool for benchmarking your Apache Hypertext + Transfer Protocol (HTTP) server. It is designed to give you an impression + of how your current Apache installation performs. This especially shows + you how many requests per second your Apache installation is capable of + serving.

+
+ +
top
+
+

Synopsis

+

ab + [ -A auth-username:password ] + [ -b windowsize ] + [ -B local-address ] + [ -c concurrency ] + [ -C cookie-name=value ] + [ -d ] + [ -e csv-file ] + [ -E client-certificate file ] + [ -f protocol ] + [ -g gnuplot-file ] + [ -h ] + [ -H custom-header ] + [ -i ] + [ -k ] + [ -l ] + [ -m HTTP-method ] + [ -n requests ] + [ -p POST-file ] + [ -P proxy-auth-username:password ] + [ -q ] + [ -r ] + [ -s timeout ] + [ -S ] + [ -t timelimit ] + [ -T content-type ] + [ -u PUT-file ] + [ -v verbosity] + [ -V ] + [ -w ] + [ -x <table>-attributes ] + [ -X proxy[:port] ] + [ -y <tr>-attributes ] + [ -z <td>-attributes ] + [ -Z ciphersuite ] + [http[s]://]hostname[:port]/path

+
top
+
+

Options

+
+
-A auth-username:password
+
Supply BASIC Authentication credentials to the server. The username and + password are separated by a single : and sent on the wire + base64 encoded. The string is sent regardless of whether the server needs + it (i.e., has sent an 401 authentication needed).
+ +
-b windowsize
+
Size of TCP send/receive buffer, in bytes.
+ +
-B local-address
+
Address to bind to when making outgoing connections.
+ +
-c concurrency
+
Number of multiple requests to perform at a time. Default is one + request at a time.
+ +
-C cookie-name=value
+
Add a Cookie: line to the request. The argument is + typically in the form of a name=value + pair. This field is repeatable.
+ +
-d
+
Do not display the "percentage served within XX [ms] table". (legacy + support).
+ +
-e csv-file
+
Write a Comma separated value (CSV) file which contains for each + percentage (from 1% to 100%) the time (in milliseconds) it took to serve + that percentage of the requests. This is usually more useful than the + 'gnuplot' file; as the results are already 'binned'.
+ +
-E client-certificate-file
+
When connecting to an SSL website, use the provided client certificate + in PEM format to authenticate with the server. The file is expected to + contain the client certificate, followed by intermediate certificates, + followed by the private key. Available in 2.4.36 and later.
+ +
-f protocol
+
Specify SSL/TLS protocol (SSL2, SSL3, TLS1, TLS1.1, TLS1.2, or ALL). + TLS1.1 and TLS1.2 support available in 2.4.4 and later.
+ +
-g gnuplot-file
+
Write all measured values out as a 'gnuplot' or TSV (Tab separate + values) file. This file can easily be imported into packages like Gnuplot, + IDL, Mathematica, Igor or even Excel. The labels are on the first line of + the file.
+ +
-h
+
Display usage information.
+ +
-H custom-header
+
Append extra headers to the request. The argument is typically in + the form of a valid header line, containing a colon-separated field-value + pair (i.e., "Accept-Encoding: zip/zop;8bit").
+ +
-i
+
Do HEAD requests instead of GET.
+ +
-k
+
Enable the HTTP KeepAlive feature, i.e., perform multiple + requests within one HTTP session. Default is no KeepAlive.
+ +
-l
+
Do not report errors if the length of the responses is not constant. This + can be useful for dynamic pages. + Available in 2.4.7 and later. +
+ +
-m HTTP-method
+
Custom HTTP method for the requests. + Available in 2.4.10 and later.
+ +
-n requests
+
Number of requests to perform for the benchmarking session. The default + is to just perform a single request which usually leads to + non-representative benchmarking results.
+ +
-p POST-file
+
File containing data to POST. Remember to also set -T.
+ +
-P proxy-auth-username:password
+
Supply BASIC Authentication credentials to a proxy en-route. The + username and password are separated by a single : and sent on + the wire base64 encoded. The string is sent regardless of whether the + proxy needs it (i.e., has sent an 407 proxy authentication + needed).
+ +
-q
+
When processing more than 150 requests, ab outputs a + progress count on stderr every 10% or 100 requests or so. The + -q flag will suppress these messages.
+ +
-r
+
Don't exit on socket receive errors.
+ +
-s timeout
+
Maximum number of seconds to wait before the socket times out. + Default is 30 seconds. + Available in 2.4.4 and later.
+ +
-S
+
Do not display the median and standard deviation values, nor display + the warning/error messages when the average and median are more than + one or two times the standard deviation apart. And default to the + min/avg/max values. (legacy support).
+ +
-t timelimit
+
Maximum number of seconds to spend for benchmarking. This implies a + -n 50000 internally. Use this to benchmark the server within a + fixed total amount of time. Per default there is no timelimit.
+ +
-T content-type
+
Content-type header to use for POST/PUT data, eg. + application/x-www-form-urlencoded. + Default is text/plain.
+ +
-u PUT-file
+
File containing data to PUT. Remember to also set -T.
+ +
-v verbosity
+
Set verbosity level - 4 and above prints information on + headers, 3 and above prints response codes (404, 200, etc.), + 2 and above prints warnings and info.
+ +
-V
+
Display version number and exit.
+ +
-w
+
Print out results in HTML tables. Default table is two columns wide, + with a white background.
+ +
-x <table>-attributes
+
String to use as attributes for <table>. Attributes + are inserted <table here >.
+ +
-X proxy[:port]
+
Use a proxy server for the requests.
+ +
-y <tr>-attributes
+
String to use as attributes for <tr>.
+ +
-z <td>-attributes
+
String to use as attributes for <td>.
+ +
-Z ciphersuite
+
Specify SSL/TLS cipher suite (See openssl ciphers)
+
+
top
+
+

Output

+

The following list describes the values returned by ab: +

+ +
+
Server Software
+
The value, if any, returned in the server HTTP header + of the first successful response. This includes all characters in the + header from beginning to the point a character with decimal value of 32 + (most notably: a space or CR/LF) is detected.
+ +
Server Hostname
+
The DNS or IP address given on the command line
+ +
Server Port
+
The port to which ab is connecting. If no port is given on the + command line, this will default to 80 for http and 443 for + https.
+ +
SSL/TLS Protocol
+
The protocol parameters negotiated between the client and server. + This will only be printed if SSL is used.
+ +
Document Path
+
The request URI parsed from the command line string.
+ +
Document Length
+
This is the size in bytes of the first successfully returned document. + If the document length changes during testing, the response is + considered an error.
+ +
Concurrency Level
+
The number of concurrent clients used during the test
+ +
Time taken for tests
+
This is the time taken from the moment the first socket connection + is created to the moment the last response is received
+ +
Complete requests
+
The number of successful responses received
+ +
Failed requests
+
The number of requests that were considered a failure. If the + number is greater than zero, another line will be printed showing the + number of requests that failed due to connecting, reading, incorrect + content length, or exceptions.
+ +
Write errors
+
The number of errors that failed during write (broken pipe).
+ +
Non-2xx responses
+
The number of responses that were not in the 200 series of response + codes. If all responses were 200, this field is not printed.
+ +
Keep-Alive requests
+
The number of connections that resulted in Keep-Alive requests
+ +
Total body sent
+
If configured to send data as part of the test, this is the total + number of bytes sent during the tests. This field is omitted if the test + did not include a body to send.
+ +
Total transferred
+
The total number of bytes received from the server. This number + is essentially the number of bytes sent over the wire.
+ +
HTML transferred
+
The total number of document bytes received from the server. This + number excludes bytes received in HTTP headers
+ +
Requests per second
+
This is the number of requests per second. This value is the result + of dividing the number of requests by the total time taken
+ +
Time per request
+
The average time spent per request. The first value is calculated + with the formula concurrency * timetaken * 1000 / done + while the second value is calculated with the formula + timetaken * 1000 / done
+ +
Transfer rate
+
The rate of transfer as calculated by the formula + totalread / 1024 / timetaken
+
+
top
+
+

Bugs

+

There are various statically declared buffers of fixed length. Combined + with the lazy parsing of the command line arguments, the response headers + from the server and other external inputs, this might bite you.

+ +

It does not implement HTTP/1.x fully; only accepts some 'expected' forms + of responses. The rather heavy use of strstr(3) shows up top + in profile, which might indicate a performance problem; i.e., you + would measure the ab performance rather than the server's.

+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/ab.html.fr.utf8 b/docs/manual/programs/ab.html.fr.utf8 new file mode 100644 index 0000000..137c483 --- /dev/null +++ b/docs/manual/programs/ab.html.fr.utf8 @@ -0,0 +1,404 @@ + + + + + +ab - L'outil de test des performances du serveur HTTP +Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

ab - L'outil de test des performances du serveur HTTP +Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

ab est un utilitaire qui vous permet de tester les + performances de votre serveur HTTP Apache. Il a été conçu pour vous + donner une idée du degré de performances de votre installation + d'Apache. Il vous permet en particulier de déterminer le nombre de + réquêtes que votre installation d'Apache est capable de servir par + seconde.

+
+ +
top
+
+

Syntaxe

+

ab + [ -A nom-utilisateur:mot-de-passe ] + [ -b taille-tampon ] + [ -B adresse-locale ] + [ -c simultanéité ] + [ -C nom-cookie=valeur ] + [ -d ] + [ -e fichier-csv ] + [ -E fichier du certificat client ] + [ -f protocole ] + [ -g fichier-gnuplot ] + [ -h ] + [ -H en-tête-personnalisé ] + [ -i ] + [ -k ] + [ -l ] + [ -m HTTP-method ] + [ -n requêtes ] + [ -p fichier-POST ] + [ -P + nom-utilisateur-mandataire:mot-de-passe ] + [ -q ] + [ -r ] + [ -s timeout ] + [ -S ] + [ -t limite-de-durée ] + [ -T type-de-contenu ] + [ -u fichier PUT ] + [ -v verbosité] + [ -V ] + [ -w ] + [ -x <table>-attributs ] + [ -X mandataire[:port] ] + [ -y <tr>-attributs ] + [ -z <td>-attributs ] + [ -Z algorithme-chiffrement ] + [http[s]://]nom-serveur[:port]/chemin

+
top
+
+

Options

+
+
-A nom-utilisateur:mot-de-passe
+
Fournit le support d'une authentification de base vers le + serveur. Les nom-utilisateur et mot-de-passe sont séparés par un + seul caractère : et transmis sous forme codée base64. + La chaîne est envoyée que le serveur en ait besoin ou non (qu'il ait + renvoyé un code "401 authentication needed" ou non).
+ +
-b taille-tampon
+
Taille du tampon d'émission/réception TCP, en octets.
+ +
-B adresse-locale
+
Adresse à laquelle se rattacher lors des connexions sortantes.
+ +
-c simultanéité
+
Nombre de requêtes à effectuer simultanément. Par défaut, une + seule requête est effectuée à la fois.
+ +
-C nom-cookie=valeur
+
Ajoute une ligne Cookie: à la requête. L'argument + se présente en général sous la forme d'une + paire nom=valeur. Ce champ peut + être répété.
+ +
-d
+ +
N'affiche pas le "pourcentage servi dans la table XX [ms]". + (support de l'héritage).
+ +
-e fichier-csv
+
Enregistre des valeurs séparées par des virgules (CSV) dans un + fichier, indiquant pour chaque pourcentage (de 1% à 100 %), le temps + (en millisecondes) mis pour servir ce pourcentage de requêtes. Ce + fichier est en général plus utile qu'un fichier 'gnuplot', car les + résultats sont déjà sous forme binaire.
+ +
-E fichier du certificat client
+
Utilise le certificat client au format PEM qu'il contient pour + s'authentifier auprès du serveur lors d'une connexion à un site web sous + SSL. Ce fichier doit contenir le certificat client suivi des certificats + intermédiaires et de la clé privé. Disponible à partir de la version 2.4.36 + du serveur HTTP Apache.
+ +
-f protocole
+
Spécifie le protocole SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2, or ALL). + TLS1.1 et TLS1.2 sont supportés à partir de la version 2.4.4 du + serveur HTTP Apache.
+ +
-g fichier-gnuplot
+
Enregistre toutes les valeurs mesurées dans un fichier 'gnuplot' + ou TSV (valeurs séparées par des tabulations). Ce fichier peut être + facilement importé dans des programmes comme Gnuplot, IDL, + Mathematica, Igor ou même Excel. La première ligne du fichier + contient les noms des valeurs.
+ +
-h
+
Affiche une aide à propos de l'utilisation du programme.
+ +
-H en-tête-personnalisé
+
Ajoute des en-têtes supplémentaires à la requête. L'argument se + présente sous la forme d'une ligne d'en-tête valide, autrement dit + une paire champ/valeur séparés par un caractère ':' (par exemple + "Accept-Encoding: zip/zop;8bit").
+ +
-i
+
Effectue des requêtes HEAD plutôt que + GET.
+ +
-k
+
Active la fonctionnalité des connexions HTTP persistantes + (KeepAlive), c'est à dire effectue plusieurs requêtes au cours d'une + seule session HTTP. Cette fonctionnalité est désactivée par + défaut.
+ +
-l
+
Ne signale pas les erreurs si la taille de la réponse n'est pas + constante. Cette option peut s'avérer utile pour les pages + dynamiques. Disponible à partir de la version 2.4.7 du serveur HTTP + Apache. +
+ +
-m HTTP-method
+
Méthode HTTP personnalisée à utiliser pour les requêtes. + Disponible à partir de la version 2.4.10 du serveur HTTP + Apache.
+ +
-n requêtes
+
Nombre de requêtes à effectuer au cours du test de performances. + Par défaut, une seule requête est effectuée, ce qui ne permet pas + d'obtenir des résultats représentatifs.
+ +
-p fichier-POST
+
Fichier contenant les données pour les requêtes POST. + Assurez-vous de spécifier aussi le paramètre -T.
+ +
-P nom-utilisateur-mandataire:mot-de-passe
+
Fournit les informations d'authentification basique pour un + mandataire en-route. Les nom d'utilisateur et mot de passe sont + séparés par un simple caractère : et envoyés sur le + réseau codés en base64. La chaîne est envoyée, que le mandataire en + ait besoin ou non (qu'il ait renvoyé un code "407 proxy + authentication needed" ou non).
+ +
-q
+
Lorsque plus de 150 requêtes sont traitées, ab + affiche la progression du traitement sur stderr tous + les 10% du nombre total ou toutes les 100 requêtes. Le drapeau + -q permet de supprimer ces messages.
+ +
-r
+
Ne s'arrête pas en cas d'erreur de réception du socket.
+ +
-s timeout
+
Temps maximum d'attente en secondes du socket avant de considérer + le délai comme dépassé. La valeur par défaut est de 30 secondes. + Disponible à partir de la version 2.4.4 du serveur HTTP + Apache.
+ +
-S
+
N'affiche ni les valeurs de déviation standards et médianes, ni + les messages d'erreur et d'avertissement lorsque les valeurs + médianes et moyennes sont égales à une ou deux fois la valeur de + déviation standard. Par défaut les valeurs mini/moyenne/maxi sont + affichées (support de l'héritage).
+ + +
-t limite-durée
+
Durée maximale en secondes du test de performances. Ceci + implique un -n 50000 en interne. Utilisez cette option + si vous souhaitez tester les performances du serveur pendant une + durée fixée à l'avance. Par défaut, il n'y a pas de limite de + durée.
+ +
-T type-contenu
+
Valeur de l'en-tête Content-type à utiliser pour les données + POST/PUT, par exemple + application/x-www-form-urlencoded. + La valeur par défaut est text/plain.
+ +
-u fichier PUT
+
Fichier contenant des données PUT. Ne pas oublier de spécifier + aussi -T.
+ +
-v verbosité
+
Définit le niveau de verbosité - les niveaux 4 et + supérieurs permettent d'afficher des informations à propos des + en-têtes, les niveaux 3 et supérieurs les codes de + réponse (404, 200, etc...), et les niveaux 2 et + supérieurs les messages d'avertissement et d'information.
+ +
-V
+
Affiche le numéro de version et s'arrête.
+ +
-w
+
Affiche les résultats dans des tables HTML. La table par défaut + comporte deux colonnes sur fond blanc.
+ +
-x <table>-attributs
+
La chaîne à utiliser comme attributs pour + <table>. Les attributs sont insérés + <table ici >.
+ +
-X mandataire[:port]
+
Utilise un serveur mandataire pour les requêtes.
+ +
-y <tr>-attributs
+
La chaîne à utiliser comme attributs pour + <tr>.
+ +
-z <td>-attributs
+
La chaîne à utiliser comme attributs pour + <td>.
+ +
-Z algorithme-chiffrement
+
Spécifie l'algorithme de chiffrement SSL/TLS (Voir les + algorithme de chiffrement openssl).
+
+
top
+
+

Sortie

+

Vous touverez dans ce qui suit la liste des valeurs retournées + par ab : +

+ +
+
Server Software
+
La valeur, si elle existe, de l'en-tête HTTP + server renvoyée dans la première réponse réussie. + Elle comporte tous les caractères de l'en-tête jusqu'à ce qu'un + caractère de valeur décimale 32 soit rencontré (le plus souvent + un espace ou une fin de ligne).
+ +
Server Hostname
+
Le nom DNS ou l'adresse IP fourni dans la ligne de commande.
+ +
Server Port
+
Le port auquel ab est connecté. Si la ligne de commande ne + spécifie aucun port, le port par défaut sera 80 pour http et 443 + pour https.
+ +
SSL/TLS Protocol
+
Les paramètres de protocole négociés entre le client et le + serveur. Uniquement si SSL est utilisé.
+ +
Document Path
+
L'URI de la requête interprété à partir de la chaîne de la + ligne de commande.
+ +
Document Length
+
Il s'agit de la taille en octets du premier document renvoyé + avec succès. Si la taille du document est modifiée au cours + du test, la réponse est considérée comme une erreur.
+ +
Concurrency Level
+
Le nombre de clients simultanés utilisés au cours du test.
+ +
Time taken for tests
+
Il s'agit du temps écoulé entre le moment de la première + connexion au socket et la réception de la dernière + réponse.
+ +
Complete requests
+
Le nombre de réponses reçues avec succès.
+ +
Failed requests
+
Le nombre de requêtes considérées comme erronées. Si ce + nombre est différent de 0, une ligne supplémentaire indiquera le + nombre de requêtes ayant échoué suite à un problème de + connexion, de lecture, de taille de contenu erronée ou + d'exceptions.
+ +
Write errors
+
Le nombre d'erreurs rencontrées en cours d'écriture (broken pipe).
+ +
Non-2xx responses
+
Le nombre de réponses dont le code était en dehors de la + série 200. Si toutes les réponses appartiennent à la série 200, + cette ligne est absente.
+ +
Keep-Alive requests
+
Le nombre de connexions promues à l'état de connexions + persistantes.
+ +
Total body sent
+
Si le test a été configuré dans ce sens, il s'agit du nombre + total d'octets envoyés au cours du test. Ce champ est omis si le + test ne prévoyait pas d'envoi de corps.
+ +
Total transferred
+
Le nombre total d'octets reçus du serveur. Ce nombre + correspond à peu près au nombre d'octets envoyés sur la ligne.
+ +
HTML transferred
+
Le nombre total d'octets utiles (contenus) reçus du serveur. + Ce nombre n'inclut pas les octets correspondant aux en-têtes + HTTP.
+ +
Requests per second
+
Il s'agit du nombre de requêtes par seconde. Il correspond + au nombre de requêtes divisé par la durée totale du traitement.
+ +
Time per request
+
La durée moyenne du traitement d'une requête. La première + valeur est calculée selon la formule concurrency * + timetaken * 1000 / done, alors que la seconde valeur est + calculée selon la formule timetaken * 1000 / done.
+ +
Transfer rate
+
Le taux de transfert calculé selon la formule + totalread / 1024 / timetaken.
+
+
top
+
+

Bogues

+

De nombreux tampons de taille fixe sont déclarés statiquement. + Combiné avec l'interprétation poussive des arguments de la ligne de + commande, les en-têtes de réponse du serveur et autres entrées + externes, ceci peut vous affecter.

+ +

HTTP/1.x n'est pas complètement implémenté ; seules certaines + formes de réponses 'attendues' sont acceptées. L'utilisation + relativement intense de strstr(3) provoque un affichage + en tête de profil, ce qui peut faire croire à un problème de + performances ; en d'autres termes, vous mesurez les performances de + ab plutôt que celles du serveur.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/ab.html.ko.euc-kr b/docs/manual/programs/ab.html.ko.euc-kr new file mode 100644 index 0000000..6c2f68b --- /dev/null +++ b/docs/manual/programs/ab.html.ko.euc-kr @@ -0,0 +1,231 @@ + + + + + +ab - ¾ÆÆÄÄ¡ À¥¼­¹ö ¼º´É°Ë»ç µµ±¸ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

ab - ¾ÆÆÄÄ¡ À¥¼­¹ö ¼º´É°Ë»ç µµ±¸

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ab´Â ¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ (HTTP) + ¼­¹öÀÇ ¼º´ÉÀ» °Ë»çÇÏ´Â(benchmarking) µµ±¸ÀÌ´Ù. ÇöÀç ¾ÆÆÄÄ¡°¡ + ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾Ë·ÁÁØ´Ù. ƯÈ÷ ¾ÆÆÄÄ¡°¡ ÇöÀç ÃÊ´ç ¸î°³ÀÇ + ¿äûÀ» ¼­ºñ½ºÇÏ´ÂÁö ¾Ë·ÁÁØ´Ù.

+
+ +
top
+
+

°³¿ä

+

ab + [ -A auth-username:password ] + [ -c concurrency ] + [ -C cookie-name=value ] + [ -d ] + [ -e csv-file ] + [ -g gnuplot-file ] + [ -h ] + [ -H custom-header ] + [ -i ] + [ -k ] + [ -n requests ] + [ -p POST-file ] + [ -P proxy-auth-username:password ] + [ -q ] + [ -s ] + [ -S ] + [ -t timelimit ] + [ -T content-type ] + [ -v verbosity] + [ -V ] + [ -w ] + [ -x <table>-attributes ] + [ -X proxy[:port] ] + [ -y <tr>-attributes ] + [ -z <td>-attributes ] + [http://]hostname[:port]/path

+
top
+
+

¿É¼Ç

+
+
-A auth-username:password
+
¼­¹ö¿¡°Ô BASIC Authentication Á¤º¸¸¦ Á¦°øÇÑ´Ù. + :À¸·Î ±¸ºÐÇÑ »ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ base64 ÀÎÄÚµùÇÏ¿© + Àü¼ÛÇÑ´Ù. ¼­¹ö°¡ Á¤º¸¸¦ ¿ä±¸ÇÏ´ÂÁö (¿¹¸¦ µé¾î, + 401 ÀÎÁõ Çʿ並 º¸³»´ÂÁö) °ü°è¾øÀÌ ¹®ÀÚ¿­À» Àü¼ÛÇÑ´Ù.
+ +
-c concurrency
+
µ¿½Ã¿¡ ¿äûÇÏ´Â ¿äû¼ö. ±âº»ÀûÀ¸·Î Çѹø¿¡ ÇÑ ¿äû¸¸À» + º¸³½´Ù.
+ +
-C cookie-name=value
+
¿äû¿¡ Cookie: Çì´õ¸¦ Ãß°¡ÇÑ´Ù. ¾Æ±Ô¸ÕÆ®´Â + º¸Åë name=value¿Í °°Àº + ½ÖÀÌ´Ù. ÀÌ ¿É¼ÇÀº ¿©·¯¹ø »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+ +
-d
+
"percentage served within XX [ms] table"À» Ãâ·ÂÇÏÁö + ¾Ê´Â´Ù. (ȣȯ¼ºÀ» À§ÇØ).
+ +
-e csv-file
+
¿äûÀ» ó¸®Çϴµ¥ °É¸° (¹Ð¸®ÃÊ ´ÜÀ§) ½Ã°£µéÀÇ (1%¿¡¼­ + 100%) ´©Àû¹éºÐÀ²À» ½°Ç¥·Î ±¸ºÐÇÑ Çü½Ä(CSV)À¸·Î Ãâ·ÂÇÑ´Ù. + °á°ú¸¦ ÀÌ¹Ì 'Á¤¸®'ÇÏ¿´±â¶§¹®¿¡ 'gnuplot' ÆÄÀϺ¸´Ù º¸Åë ´õ + À¯¿ëÇÏ´Ù.
+ +
-g gnuplot-file
+
ÃøÁ¤ÇÑ ¸ðµç °ªÀ» 'gnuplot' ȤÀº TSV (Tab separate values, + ÅÇÀ¸·Î ±¸ºÐÇÑ °ª) ÆÄÀÏ¿¡ ±â·ÏÇÑ´Ù. Gnuplot, IDL, Mathematica, + Igor, ½ÉÁö¾î Excel °°Àº ÇÁ·Î±×·¥¿¡¼­µµ ÀÌ·± ÆÄÀÏÀ» ½±°Ô + ÀÐÀ» ¼ö ÀÖ´Ù. ÆÄÀÏÀÇ Ã¹¹ø° ÁÙ¿¡ Ç׸ñÀ̸§ÀÌ ³ª¿Â´Ù.
+ +
-h
+
»ç¿ë¹ýÀ» Ãâ·ÂÇÑ´Ù.
+ +
-H custom-header
+
¿äû¿¡ Çì´õ¸¦ Ãß°¡ÇÑ´Ù. ¾Æ±Ô¸ÕÆ®´Â º¸Åë ÄÝ·ÐÀ¸·Î ±¸ºÐÇÑ + ½ÖÀÎ (¿¹¸¦ µé¾î, + "Accept-Encoding: zip/zop;8bit") À¯È¿ÇÑ + Çì´õÁÙÀÌ´Ù.
+ +
-i
+
GET ´ë½Å HEAD ¿äûÀ» ÇÑ´Ù.
+ +
-k
+
HTTP KeepAlive ±â´ÉÀ» »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, + ÇÑ HTTP ¼¼¼Ç¿¡¼­ ¿©·¯ ¿äûÀ» ÇÑ´Ù. ±âº»ÀûÀ¸·Î KeepAlive¸¦ + »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
-n requests
+
¼º´ÉÀ» °Ë»çÇϱâÀ§ÇØ º¸³»´Â ¿äû¼ö. ±âº»°ªÀ¸·Î ¿äûÀ» + Çѹø¸¸ º¸³»±â¶§¹®¿¡ ÀϹÝÀûÀÎ ¼º´É°Ë»ç °á°ú¸¦ ¾òÀ» ¼ö ¾ø´Ù.
+ +
-p POST-file
+
POST ÀÚ·á ÆÄÀÏ.
+ +
-P proxy-auth-username:password
+
ÇÁ·Ï½Ã¸¦ ÅëÇØ BASIC Authentication Á¤º¸¸¦ Á¦°øÇÑ´Ù. + :·Î ±¸ºÐÇÑ »ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ base64 ÀÎÄÚµùÇÏ¿© + Àü¼ÛÇÑ´Ù. ÇÁ·Ï½Ã°¡ Á¤º¸¸¦ ¿ä±¸ÇÏ´ÂÁö (¿¹¸¦ µé¾î, + 401 ÀÎÁõ Çʿ並 º¸³»´ÂÁö) °ü°è¾øÀÌ ¹®ÀÚ¿­À» Àü¼ÛÇÑ´Ù.
+ +
-q
+
150°³ ÀÌ»ó ¿äûÀ» º¸³¾¶§ ab´Â 10% ȤÀº + ¸Å 100 ¿äû´ç Ç¥ÁØ¿À·ù¿¡ ÁøÇà»óȲÀ» Ãâ·ÂÇÑ´Ù. + -q ¿É¼ÇÀº ÀÌ ¹®±¸¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù.
+ +
-s
+
±â´ÉÀ» Ãß°¡ÇÏ¿© ÄÄÆÄÀÏÇÏ¿´´Ù¸é (ab -h·Î + È®ÀÎÇÒ ¼ö ÀÖ´Ù) http ÇÁ·ÎÅäÄÝ ´ë½Å SSLÀ» »ç¿ëÇÑ + https ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù. ÀÌ ±â´ÉÀº ½ÇÇèÀûÀÌ°í + ¸Å¿ì ±âÃÊÀûÀÌ´Ù. ¾Æ¸¶µµ »ç¿ëÀ» ²¨·ÁÇÒ °ÍÀÌ´Ù.
+ +
-S
+
Áß°£°ª°ú Ç¥ÁØÆíÂ÷¸¦ Ãâ·ÂÇÏÁö ¾Ê°í, Æò±Õ°ú Áß°£°ªÀÇ Â÷ÀÌ°¡ + Ç¥ÁØÆíÂ÷º¸´Ù Å©´õ¶óµµ °æ°í/¿À·ù¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù. + ÃÖ¼Ò/Æò±Õ/ÃÖ´ë °ªÀ» Ãâ·ÂÇÑ´Ù. (ȣȯ¼ºÀ» À§ÇØ).
+ +
-t timelimit
+
¼º´ÉÀ» °Ë»çÇÏ´Â ÃÖ´ë ÃÊ´ÜÀ§ ½Ã°£. ³»ºÎÀûÀ¸·Î + -n 50000À» °¡Á¤ÇÑ´Ù. Á¤ÇØÁø ½Ã°£µ¿¾È ¼­¹ö ¼º´ÉÀ» + °Ë»çÇÒ¶§ »ç¿ëÇÑ´Ù. ±âº»ÀûÀ¸·Î ½Ã°£Á¦ÇÑ ¾øÀÌ °Ë»çÇÑ´Ù.
+ +
-T content-type
+
POST ÀÚ·áÀÇ Content-type Çì´õ.
+ +
-v verbosity
+
Ãâ·ÂÀÇ ÀÚ¼¼ÇÔ ¼öÁØÀ» ÁöÁ¤ÇÑ´Ù. 4 ÀÌ»óÀ̸é + Çì´õ¿¡ ´ëÇÑ Á¤º¸¸¦, 3 ÀÌ»óÀ̸é (404, 202, µî) + ÀÀ´äÄڵ带, 2 ÀÌ»óÀÌ¸é °æ°í(warning)¿Í + Á¤º¸(info)¸¦ Ãâ·ÂÇÑ´Ù.
+ +
-V
+
¹öÀüÀ» Ãâ·ÂÇÏ°í Á¾·áÇÑ´Ù.
+ +
-w
+
°á°ú¸¦ HTML Ç¥·Î Ãâ·ÂÇÑ´Ù. ±âº»ÀûÀ¸·Î Ç¥¸¦ Èò ¹è°æ¿¡ + µÎ ¿­·Î ÀÛ¼ºÇÑ´Ù.
+ +
-x <table>-attributes
+
<table>ÀÇ ¼Ó¼ºÀ¸·Î »ç¿ëÇÒ ¹®ÀÚ¿­. + ¼Ó¼ºÀ» <table ¿©±â¿¡ > + Ãß°¡ÇÑ´Ù.
+ +
-X proxy[:port]
+
ÇÁ·Ï½Ã ¼­¹ö¸¦ »ç¿ëÇÏ¿© ¿äûÇÑ´Ù.
+ +
-y <tr>-attributes
+
<tr>ÀÇ ¼Ó¼ºÀ¸·Î »ç¿ëÇÒ ¹®ÀÚ¿­.
+ +
-z <td>-attributes
+
<td>ÀÇ ¼Ó¼ºÀ¸·Î »ç¿ëÇÒ ¹®ÀÚ¿­.
+
+
top
+
+

¹ö±×

+

Á¤ÀûÀ¸·Î ±æÀÌ°¡ °íÁ¤µÈ ¹öÆÛ¸¦ ¸¹ÀÌ »ç¿ëÇÑ´Ù. ¸í·ÉÇà + ¾Æ±Ô¸ÕÆ®, ¼­¹öÀÇ ÀÀ´ä Çì´õ, ´Ù¸¥ ¿ÜºÎ ÀԷµéÀ» °°ÀÌ + ÀоîµéÀ̸鼭 ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.

+ +

ÀÌ ÇÁ·Î±×·¥Àº HTTP/1.x¸¦ ¿ÏÀüÈ÷ ±¸ÇöÇÏÁö ¾Ê´Â´Ù; ´ÜÁö + '±â´ëÇÏ´Â' Çü½ÄÀÇ ÀÀ´ä¸¸À» ¹Þ´Â´Ù. strstr(3)À» + ¸Å¿ì ¸¹ÀÌ »ç¿ë±â¶§¹®¿¡ ¼Óµµ°¡ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù; Áï, + ¼­¹ö ¼º´Éº¸´Ù´Â ab ¼º´ÉÀ» ÃøÁ¤ÇÏ°Ô µÉ ¼öµµ + ÀÖ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/ab.html.tr.utf8 b/docs/manual/programs/ab.html.tr.utf8 new file mode 100644 index 0000000..affa3d4 --- /dev/null +++ b/docs/manual/programs/ab.html.tr.utf8 @@ -0,0 +1,383 @@ + + + + + +ab - Apache HTTP sunucusu başarım ölçme aracı - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

ab - Apache HTTP sunucusu başarım ölçme aracı

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

ab Apache Hiper Metin Aktarım Protokolü + (HTTP) sunucunuzun başarımını ölçmek amacıyla kullanabileceğiniz bir + kıyaslama aracıdır. Mevcut Apache kurulumunuzun görevini nasıl yerine + getirdiği hakkında bir izlenim edinmeniz için tasarlanmıştır. + Özellikle, Apache kurulumunuzun saniyede kaç isteği sunma yeteneğinde + olduğunu gösterir.

+
+ +
top
+
+

Kullanım

+

ab + [ -A yetkili-kullanıcı:parola ] + [ -b tampon-boyu ] + [ -B yerel-adres ] + [ -c bağlantı-sayısı ] + [ -C çerez-ismi=değer ] + [ -d ] + [ -e csv-dosyası ] + [ -E istemci-sertifikası-dosyası ] + [ -f protokol ] + [ -g gnuplot-dosyası ] + [ -h ] + [ -H özel-başlık ] + [ -i ] + [ -k ] + [ -l ] + [ -m HTTP-yöntemi ] + [ -n istek-sayısı ] + [ -p POST-dosyası ] + [ -P vekil-yetkilisi:parola ] + [ -q ] + [ -r ] + [ -s zamanasimi ] + [ -S ] + [ -t saniye ] + [ -T içerik-türü ] + [ -u PUT-dosyası ] + [ -v ayrıntı-düzeyi] + [ -V ] + [ -w ] + [ -x <table>-öznitelikleri ] + [ -X vekil[:port] ] + [ -y <tr>-öznitelikleri ] + [ -z <td>-öznitelikleri ] + [ -Z şifre-kümesi ] + [http[s]://]konakadı[:port]/dizin +

+
top
+
+

Seçenekler

+
+
-A + yetkili-kullanıcı:parola
+
Sunucuya TEMEL Kimlik Doğrulamada kullanılmak üzere kanıt sağlar. + Kullanıcı adı ile parola arasına sadece : konur ve + sunucunun buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "401 + kimlik doğrulaması gerekli" yanıtı beklenmeden) bağlantı üzerinden + base64 kodlu olarak sunucuya gönderilir.
+ +
-b tampon-boyu
+
TCP gönderme/alma tamponlarının bayt cinsinden uzunluğu.
+ +
-B yerel-adres
+
Uzak bağlantılar yaparken dinlenecek adres.
+ +
-c bağlantı-sayısı
+
Aynı anda işleme sokulacak bağlantı sayısı. Aynı anda bir bağlantı + öntanımlı değerdir.
+ +
-C + çerez-ismi=değer
+
İsteğe bir Cookie: satırı ekler. Argüman olarak + genellikle bir isim=değer çifti kullanılır. Bu + çiftler birden fazla olabilir.
+ +
-d
+
"percentage served within XX [ms] table" iletisi gösterilmez. (Geriye + uyumluluk için vardır).
+ +
-e csv-dosyası
+
Sunulan isteğin birim zamanda (milisaniye) ne kadarının (yüzde + cinsinden) sunulduğunu gösteren virgül ayraçlı değerler (CSV) dosyası. + Sonuçlar 'bobin haline' getirilmiş olduğundan doğal olarak 'gnuplot' + dosyasından daha yararlıdır.
+ +
-E istemci-sertifikası-dosyası
+
Bir SSL sitesine bağlanırken, sunucu ile kimlik doğrulaması için + PEM biçeminde sağlanan sertifika kullanılır. Dosyanın sırayla istemci + sertifikasını, ara sertifikaları ve özel anahtarı içermesi beklenir. + 2.4.36 ve sonrasında kullanılabilir.
+ +
-f protokol
+
SSL/TLS protokolü belirtilir (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 veya + ALL). TLS1.1 ve TLS1.2 desteği 2.4.4 ve sonraki sürümler + içindir.
+ +
-g gnuplot-dosyası
+
Ölçülen değerler bir 'gnuplot' veya TSV (sekme ayraçlı değerler) + dosyasına yazılır. Bu dosya, Gnuplot, IDL, Mathematica, Igor hatta + Excel tarafından veri dosyası olarak kabul edilir. Veri sütunlarının + başlıkları dosyanın ilk satırında bulunur.
+ +
-h
+
Kullanım bilgisi gösterir.
+ +
-H özel-başlık
+
İsteğe fazladan başlık ekler. özel-başlık, aralarında iki + nokta imi bulunan bir isim-değer çifti olarak belirtilir. Örnek: + "Accept-Encoding: zip/zop;8bit"
+ +
-i
+
GET istekleri yerine HEAD istekleri + yapılır.
+ +
-k
+
HTTP KeepAlive (kalıcı bağlantı) özelliğini etkinleştirir, yani tek + bir oturum içinde çok sayıda isteğe hizmet sunulabilir. Özellik + öntanımlı olarak kapalıdır.
+ +
-l
+
Yanıtarın uzunluğu sabit değilse hataları raporlamaz. Özdevinimli + sayfalarda kullanışlı olabilir. 2.4.7 ve sonraki sürümler + içindir.
+ +
-m HTTP-yöntemi
+
İstekler için özel HTTP yöntemi, belirtilir. + 2.4.10 ve sonraki sürümler içindir.
+ +
-n istek-sayısı
+
Kıyaslama oturumu sırasında sunucuya uygulanacak istek sayısı. + Öntanımlı olarak hiçbir başarım ölçütü sağlamayan tek bir istek + yapılır.
+ +
-p POST-dosyası
+
POST isteği ile ilgili verileri içeren dosya. Ayrıca + -T seçeneğini de belirtmeyi + unutmayın..
+ +
-P + vekil-yetkilisi:parola
+
Vekil sunucuya TEMEL Kimlik Doğrulamasında kullanılacak kanıtları + sağlar. Kullanıcı adı ile parola arasına sadece : konur ve + vekilin buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "407 + vekilde kimlik doğrulaması gerekiyor" yanıtı beklenmeden) bağlantı + üzerinden base64 kodlu olarak sunucuya gönderilir.
+ +
-q
+
İstek sayısı 150'den fazla olduğunda, + ab her 100 veya %10 istekte bir, standart + hataya bir işlenen istek sayacı çıktılar. + -q seçeneği bu çıktının üretilmemesini + sağlar.
+ +
-r
+
Soket hata alsa bile program çıkmaz.
+ +
-s zamanasimi
+
Soket zaman aşımına uğramadan önce beklenecek azami saniye sayısı. + 30 saniye öntanımlı süredir. + 2.4.4 ve sonraki sürümler içindir.
+ +
-S
+
Ortalama ve ortanca değerler arasında bir veya iki standart sapmadan + fazlası varsa ne ortalama değer ne standart sapma değeri ne de + uyarı/hata iletileri gösterilir. Öntanımlı olarak, + asgari/ortalama/azami değerler gösterilir. (Geriye uyumluluk).
+ +
-t saniye
+
Ölçümleme işleminin ne kadar süreyle uygulanacağı belirtilir. Dahili + olarak -n 50000 seçeneği uygulanır. Bunu + belli bir süreye göre kıyaslama yapmak amacıyla kullanabilirsiniz. + Öntanımlı olarak bir süre kısıtlaması yoktur.
+ +
-T içerik-türü
+
POST/PUT verisi için kullanılacak içerik türü belirtilir. Örnek: + application/x-www-form-urlencoded. + Öntanımlı değer: text/plain.
+ +
-v ayrıntı-düzeyi
+
Çıktının ayrıntı düzeyi belirtilir. 4 ve üstü ile + başlıklar hakkında bilgi, 3 ve üstü ile yanıt kodları + (404, 200, vb.), 2 ve üstü ile ise uyarı ve bilgi + iletileri gösterilir.
+ +
-u PUT-dosyası
+
PUT verisini içeren dosya. Ayrıca, -T seçeneğini + belirtmeyi de unutmayın.
+ +
-V
+
Sürüm bilgilerini gösterir ve çıkar.
+ +
-w
+
Sonuçları HTML tabloları olarak basar. Öntanımlı tablo, beyaz + artalanlı ve iki sütunludur.
+ +
-x + <table>-öznitelikleri
+
<table> etiketinde kullanılacak öznitelikler + belirtilir. Belirtilen öznitelikler etiket içine <table + buraya > biçeminde yerleştirilir.
+ +
-X + vekil[:port]
+
İstekler için bir vekil sunucu kullanılır.
+ +
-y + <tr>-öznitelikleri
+
<tr> etiketinde kullanılacak öznitelikler + belirtilir.
+ +
-z + <td>-öznitelikleri
+
<td> etiketinde kullanılacak öznitelikler + belirtilir.
+ +
-Z şifre-kümesi
+
SSL/TLS şifre kümesi belirtilir + (openssl(1) şifrelerine bakınız).
+
+
top
+
+

Çıktı

+

Aşağıda ab tarafından döndürülen değerler + açıklanmıştır:

+ +
+
Server Software
+
İlk başarılı yanıtın, varsa, server HTTP başlığında + döndürülen değer. Bu başlıktaki başlangıçtan 32 ondalık değerli + karaktere (genellikle boşluk veya CR/LF karakteri) kadar tüm + karakterleri içerir.
+ +
Server Hostname
+
Komut satırında belirtilen DNS veya IP adresi.
+ +
Server Port
+
ab'nin bağlandığı port. Komut + satırında port belirtilmemişse, öntanımlı olarak http için 80, https + için 443'tür.
+ +
SSL/TLS Protocol
+
İstemci le sunucu arasında uzlaşılmış protokol değerleri. Bu sadece + SSL kullanılıyorsa çıktılanır.
+ +
Document Path
+
Komut satırı dizgesinden çözümlenen isteğin URI'si.
+ +
Document Length
+
Başarıyla döndürülen ilk belgenin bayt cinsinden uzunluğu. Eğer + belge uzunluğu sınama sırasında değişirse yanıt bir hata + içerecektir.
+ +
Concurrency Level
+
Sınama sırasında kullanılan eşzamanlı istemcilerin sayısı.
+ +
Time taken for tests
+
İlk soket bağlantısının alındığı andan son yanıtın alındığı ana + kadar geçen süre.
+ +
Complete requests
+
Alınan başarılı yanıtların sayısı.
+ +
Failed requests
+
Başarısızlık olarak addedilen isteklerin sayısı. Sayı sıfırdan + büyükse, diğer satırda, bağlanma, okuma, yanlış içerik uzunluğu, + istisnalar gibi sebeplerle başarısız olmuş istekler gösterilir.
+ +
Write errors
+
Başarısız yazma hatalarının (kırık boru) sayısı.
+ +
Non-2xx responses
+
200 serisi yanıt kodları ile açıklanamayan yanıtların sayısı. Tüm + yanıtlar 200 olursa bu alan çıktılanmaz.
+ +
Keep-Alive requests
+
Keep-Alive isteklerinde sonuçlanan bağlantı sayısı.
+ +
Total body sent
+
Sınamanın parçası olarak veri gönderimi yapılandırılmışsa, bu + sınama sırasında gönderilen toplam bayt sayısıdır. Sınama sırasında + gövde gönderilmiyorsa bu alan çıktılanmaz.
+ +
Total transferred
+
Sunucudan alınan toplam bayt sayısı. Bu sayı aslında hattan + gönderilen bayt sayısıdır.
+ +
HTML transferred
+
Sunucudan alınan belge baytlarının sayısı. Bu sayı HTTP + başlıklarının bayt sayısını içermez.
+ +
Requests per second
+
Saniyedeki istek sayısı. İstek sayısının toplam süreye + oranıdır.
+ +
Time per request
+
İstek başına harcanan süre. İlk değer eşzamanlılık * süre * + 1000 / biten formülüyle hesaplanırken ikincisi için + süre * 1000 / biten formülü kullanılır.
+ +
Transfer rate
+
okunantoplam / 1024 / süre formülüyle hesaplanan + aktarım hızı.
+
+
top
+
+

Börtü böcek

+

Duruk bildirimli sabit uzunlukta çeşitli tamponlar vardır. + Sunucudan gelen yanıt başlıkları ve diğer harici girdiler, komut satırı + argümanları ile birlikte basitçe çözümlenir, bu size can sıkıcı + gelebilir.

+ +

HTTP/1.x protokolünü tamamen gerçeklemez; sadece yanıtların 'belli + başlı' bazı biçimlerini kabul eder. Aksi takdirde, + strstr(3) işlevinin yoğun kullanımı + nedeniyle sunucu yerine ab'nin başarımını + ölçerdiniz.

+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apachectl.html b/docs/manual/programs/apachectl.html new file mode 100644 index 0000000..034c42e --- /dev/null +++ b/docs/manual/programs/apachectl.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: apachectl.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: apachectl.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: apachectl.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: apachectl.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/apachectl.html.en b/docs/manual/programs/apachectl.html.en new file mode 100644 index 0000000..1bae4f7 --- /dev/null +++ b/docs/manual/programs/apachectl.html.en @@ -0,0 +1,188 @@ + + + + + +apachectl - Apache HTTP Server Control Interface - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

apachectl - Apache HTTP Server Control Interface

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

apachectl is a front end to the Apache HyperText + Transfer Protocol (HTTP) server. It is designed to help the + administrator control the functioning of the Apache + httpd daemon.

+ +

The apachectl script can operate in two modes. + First, it can act as a simple front-end to the httpd + command that simply sets any necessary environment variables and + then invokes httpd, passing through any command line + arguments. Second, apachectl can act as a SysV init + script, taking simple one-word arguments like start, + restart, and stop, and translating them + into appropriate signals to httpd.

+ +

If your Apache installation uses non-standard paths, you will + need to edit the apachectl script to set the + appropriate paths to the httpd binary. You can also + specify any necessary httpd command line arguments. + See the comments in the script for details.

+ +

The apachectl script returns a 0 exit value on + success, and >0 if an error occurs. For more details, view + the comments in the script.

+
+ +
top
+
+

Synopsis

+ +

When acting in pass-through mode, apachectl can take +all the arguments available for the httpd +binary.

+ +

apachectl [ httpd-argument ]

+ +

When acting in SysV init mode, apachectl takes simple, +one-word commands, defined below.

+ +

apachectl command

+ +
top
+
+

Options

+ +

Only the SysV init-style options are defined here. Other arguments +are defined on the httpd manual page.

+ +
+ +
start
+ +
Start the Apache httpd daemon. Gives an error if it +is already running. This is equivalent to apachectl -k +start.
+ +
stop
+ +
Stops the Apache httpd daemon. This is equivalent to +apachectl -k stop.
+ +
restart
+ +
Restarts the Apache httpd daemon. If the daemon is +not running, it is started. This command automatically checks the +configuration files as in configtest before initiating +the restart to make sure the daemon doesn't die. This is equivalent +to apachectl -k restart.
+ +
fullstatus
+ +
Displays a full status report from mod_status. +For this to work, you need to have mod_status enabled +on your server and a text-based browser such as lynx +available on your system. The URL used to access the status report +can be set by editing the STATUSURL variable in the +script.
+ +
status
+ +
Displays a brief status report. Similar to the +fullstatus option, except that the list of requests +currently being served is omitted.
+ +
graceful
+ +
Gracefully restarts the Apache httpd daemon. If the +daemon is not running, it is started. This differs from a normal +restart in that currently open connections are not aborted. A side +effect is that old log files will not be closed immediately. This +means that if used in a log rotation script, a substantial delay may +be necessary to ensure that the old log files are closed before +processing them. This command automatically checks the configuration +files as in configtest before initiating the +restart to make sure Apache doesn't die. This is equivalent to +apachectl -k graceful.
+ +
graceful-stop
+ +
Gracefully stops the Apache httpd daemon. +This differs from a normal stop in that currently open connections are not +aborted. A side effect is that old log files will not be closed immediately. +This is equivalent to apachectl -k graceful-stop.
+ +
configtest
+ +
Run a configuration file syntax test. It parses the configuration +files and either reports Syntax Ok +or detailed information about the particular syntax error. This is +equivalent to apachectl -t.
+ +
+ +

The following option was available in earlier versions but has been removed.

+ +
+ +
startssl
+ +
To start httpd with SSL support, you should edit +your configuration file to include the relevant directives and then +use the normal apachectl start.
+ +
+ +
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apachectl.html.fr.utf8 b/docs/manual/programs/apachectl.html.fr.utf8 new file mode 100644 index 0000000..0014f1e --- /dev/null +++ b/docs/manual/programs/apachectl.html.fr.utf8 @@ -0,0 +1,202 @@ + + + + + +apachectl - L'interface de contrôle du serveur HTTP + Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

apachectl - L'interface de contrôle du serveur HTTP + Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

apachectl est un frontal pour le serveur HTTP + Apache. Il a été conçu pour aider l'administrateur à contrôler le + fonctionnement du démon Apache httpd.

+ +

Le script apachectl possède deux modes de + fonctionnement. Il peut fonctionner en tant que simple frontal + de la commande httpd et ne fait alors que + définir toute variable d'environnement nécessaire, puis invoque + httpd en lui passant tout argument de ligne de + commande souhaité. Il peut aussi fonctionner en tant que script + d'initialisation SysV n'acceptant qu'un seul argument tel que + start, restart et stop, et + traduisant ce dernier en signaux appropriés pour le démon + httpd.

+ +

Si votre installation d'Apache utilise des chemins non + standards, vous devrez éditer le script apachectl afin + de définir les chemins appropriés pour le binaire + httpd. Vous pouvez aussi spécifier tout argument + de ligne de commande de httpd nécessaire. Voir + les commentaires dans le script pour plus de détails.

+ +

Le script apachectl renvoie une valeur égale à 0 en + cas de succès, et une valeur supérieure à 0 en cas de problème. + Voir les commentaires dans le script pour plus de détails.

+
+ +
top
+
+

Résumé

+ +

En mode frontal (pass-through), apachectl peut spécifier +tous les arguments qu'accepte le binaire httpd.

+ +

apachectl [ argument-httpd ]

+ +

En mode script d'initialisation SysV, apachectl +n'accepte qu'un seul des arguments définis ci-dessous.

+ +

apachectl commande

+ +
top
+
+

Options

+ +

Seules les options du style initialisation SysV sont décrites ici. +Les autres arguments sont décrits dans la page de manuel de +httpd.

+ +
+ +
start
+ +
Démarre le démon Apache httpd. Renvoie une erreur +s'il est déjà en cours d'exécution. Équivalent à apachectl -k +start.
+ +
stop
+ +
Arrête le démon Apache httpd. Équivalent à +apachectl -k stop.
+ +
restart
+ +
Redémarre le démon Apache httpd. Si le démon +n'est pas en cours d'exécution, il est démarré. Cette option vérifie +automatiquement les fichiers de configuration (de la même manière que +l'option configtest ) avant de lancer le redémarrage, afin +d'être sûr que le fonctionnement du démon ne sera pas compromis. +Equivalent à apachectl -k restart.
+ +
fullstatus
+ +
Affiche le rapport d'état complet du module +mod_status. Pour que ceci fonctionne, +mod_status doit être activé dans votre serveur et vous +devez disposer d'un navigateur en mode texte tel que lynx +sur votre système. L'URL utilisée pour accéder au rapport d'état peut +être modifiée en définissant la variable STATUSURL dans le +script.
+ +
status
+ +
Affiche un rapport d'état succinct. Similaire à l'option +fullstatus, excepté que la liste des requêtes en cours de +traitement est omise.
+ +
graceful
+ +
Redémarre le démon Apache httpd en douceur. Si le +démon n'est pas en cours d'exécution, il est démarré. À la différence +d'un redémarrage normal, les connexions en cours ne sont pas fermées. +Comme effet de bord, les anciens fichiers journaux ne seront pas fermés +immédiatement. Cela signifie que si l'on utilise un script de rotation +des journaux, un délai suffisant sera nécessaire afin d'être sûr que les +fichiers journaux seront bien fermés avant leur traitement par le script +de rotation. Cette option vérifie +automatiquement les fichiers de configuration (de la même manière que +l'option configtest ) avant de lancer le redémarrage, afin +d'être sûr que le fonctionnement du démon ne sera pas compromis. +Équivalent à apachectl -k graceful.
+ +
graceful-stop
+ +
Arrête le démon Apache httpd en douceur. À la +différence d'un arrêt normal, les connexions en cours ne sont pas +fermées. Comme effet de bord, les anciens fichiers journaux ne seront +pas fermés immédiatement. Équivalent à apachectl -k +graceful-stop.
+ +
configtest
+ +
Effectue une vérification de la syntaxe du fichier de configuration. +Avec cette option, le script parcourt le fichier de configuration et +renvoie soit Syntax Ok, soit des informations détaillées à +propos des éventuelles erreurs de syntaxe. Equivalent à apachectl +-t.
+ +
+ +

Les options suivantes étaient disponibles dans les anciennes versions +et ont été supprimées.

+ +
+ +
startssl
+ +
Pour démarrer httpd avec le support SSL, vous +devez éditer votre fichier de configuration et y inclure les +directives appropriées, puis utiliser la commande de démarrage normale +apachectl start.
+ +
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apachectl.html.ko.euc-kr b/docs/manual/programs/apachectl.html.ko.euc-kr new file mode 100644 index 0000000..b72bd27 --- /dev/null +++ b/docs/manual/programs/apachectl.html.ko.euc-kr @@ -0,0 +1,174 @@ + + + + + +apachectl - ¾ÆÆÄÄ¡ À¥¼­¹ö Á¶Àý ÀÎÅÍÆäÀ̽º - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

apachectl - ¾ÆÆÄÄ¡ À¥¼­¹ö Á¶Àý ÀÎÅÍÆäÀ̽º

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

apachectlÀº ¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û + ÇÁ·ÎÅäÄÝ (HTTP) ¼­¹öÀÇ ¾Õ´ÜÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº °ü¸®ÀÚ°¡ + ¾ÆÆÄÄ¡ httpd µ¥¸óÀ» Á¶Á¤Çϵµ·Ï + µ½´Â´Ù.

+ +

apachectl ½ºÅ©¸³Æ®´Â µÎ°¡Áö ¹æ¹ýÀ¸·Î ½ÇÇàÇÑ´Ù. + ù¹ø° ¹æ¹ýÀº httpdÀ» ºÎ¸£´Â °£´ÜÇÑ ½ºÅ©¸³Æ® + ¿ªÇÒÀ» ÇÏ¿©, ÇÊ¿äÇÑ È¯°æº¯¼ö¸¦ ¼³Á¤ÇÏ°í ¹ÞÀº ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®¸¦ + °¡Áö°í httpd¸¦ ½ÇÇàÇÑ´Ù. µÎ¹ø° ¹æ¹ýÀº + apachectl¸¦ SysV init ½ºÅ©¸³Æ®·Î »ç¿ëÇÏ¿©, + start, restart, stop + °°Àº ÇÑ´Ü¾î ¾Æ±Ô¸ÕÆ®¸¦ ¹Þ¾Æ¼­ httpd¿¡°Ô + ÀûÀýÇÑ ½ÅÈ£¸¦ º¸³½´Ù.

+ +

¾ÆÆÄÄ¡¸¦ ÀϹÝÀûÀÎ °æ·Î¿¡ ¼³Ä¡ÇÏÁö ¾Ê¾Ò´Ù¸é, ÀûÀýÇÑ + httpd °æ·Î·Î apachectl ½ºÅ©¸³Æ®¸¦ + ¼öÁ¤ÇØ¾ß ÇÑ´Ù. ¶Ç, httpd ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®¸¦ + Ãß°¡·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ½ºÅ©¸³Æ®ÀÇ ÁÖ¼®À» + Âü°íÇ϶ó.

+ +

apachectl ½ºÅ©¸³Æ®´Â ¼º°ø½Ã Á¾·áÄÚµå 0À», + ¿À·ù½Ã >0À» ¹ÝȯÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ½ºÅ©¸³Æ®ÀÇ ÁÖ¼®À» + Âü°íÇ϶ó.

+
+ +
top
+
+

°³¿ä

+ +

°£´ÜÇÑ ½ÇÇà ½ºÅ©¸³Æ®·Î µ¿ÀÛÇϸé, apachectlÀº +httpd ½ÇÇàÆÄÀÏÀÇ ¸ðµç ¾Æ±Ô¸ÕÆ®¸¦ ¹Þ´Â´Ù.

+ +

apachectl [ httpd-argument ]

+ +

SysV init ¹æ½ÄÀ¸·Î µ¿ÀÛÇϸé, apachectlÀº ¾Æ·¡¼­ +¼³¸íÇÒ °£´ÜÇÑ ÇÑ´Ü¾î ¸í·É¾î¸¦ ¹Þ´Â´Ù.

+ +

apachectl command

+ +
top
+
+

¿É¼Ç

+ +

¿©±â¼­´Â SysV init-½Ä ¿É¼Ç¸¸ ¼³¸íÇÑ´Ù. ´Ù¸¥ ¿É¼ÇÀº httpd manpage¿¡¼­ ¼³¸íÇÑ´Ù.

+ +
+ +
start
+ +
¾ÆÆÄÄ¡ httpd µ¥¸óÀ» ½ÃÀÛÇÑ´Ù. ÀÌ¹Ì ½ÇÇàÁßÀ̶ó¸é +¿À·ù¸¦ ³½´Ù. apachectl -k start¿Í °°´Ù.
+ +
stop
+ +
¾ÆÆÄÄ¡ httpd µ¥¸óÀ» Áß´ÜÇÑ´Ù. apachectl +-k stop°ú °°´Ù.
+ +
restart
+ +
¾ÆÆÄÄ¡ httpd µ¥¸óÀ» Àç½ÃÀÛÇÑ´Ù. µ¥¸óÀÌ ½ÇÇàÁßÀÌ +¾Æ´Ï¶ó¸é, ½ÃÀÛÇÑ´Ù. µ¥¸óÀÌ Àç½ÃÀ۽à ½ÇÆÐÇÏÁö ¾ÊÀ½À» È®ÀÎÇϱâÀ§ÇØ +Àç½ÃÀÛ Àü¿¡ ÀÚµ¿À¸·Î configtest ¸í·É°ú °°ÀÌ ¼³Á¤ÆÄÀÏÀ» +°Ë»çÇÑ´Ù. apachectl -k restart¿Í °°´Ù.
+ +
fullstatus
+ +
mod_statusÀÇ ¸ðµç »óÅ Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. +ÀÌ ¸í·ÉÀ» »ç¿ëÇϱâÀ§Çؼ­´Â ¼­¹ö°¡ mod_status¸¦ +»ç¿ëÇÏ°í, ½Ã½ºÅÛ¿¡ lynx °°Àº ¹®ÀÚ±â¹Ý ºê¶ó¿ìÀú°¡ +ÇÊ¿äÇÏ´Ù. »óÅ Á¤º¸¿¡ Á¢±ÙÇÏ´Â URLÀº ½ºÅ©¸³Æ®ÀÇ +STATUSURL º¯¼ö¸¦ ¼öÁ¤ÇÏ¿© ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
+ +
status
+ +
°£´ÜÇÑ »óÅ Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. fullstatus ¿É¼Ç°ú +ºñ½ÁÇÏÁö¸¸, ÇöÀç ¼­ºñ½ºÁßÀÎ ¿äû ¸ñ·ÏÀ» Ãâ·ÂÇÏÁö ¾Ê´Â´Ù.
+ +
graceful
+ +
¾ÆÆÄÄ¡ httpd µ¥¸óÀ» Á¡ÀÝ°Ô(gracefully) Àç½ÃÀÛÇÑ´Ù. +µ¥¸óÀÌ ½ÇÇàÁßÀÌ ¾Æ´Ï¶ó¸é, ½ÃÀÛÇÑ´Ù. ÀϹÝÀûÀÎ Àç½ÃÀÛ°ú ´Þ¸® ÇöÀç +¿­·ÁÀÖ´Â ¿¬°áÀ» ²÷Áö¾Ê´Â´Ù. ¶Ç, ÀÌÀü ·Î±×ÆÄÀÏÀ» Áï½Ã ´ÝÁö ¾Ê´Â´Ù. +Áï, ·Î±×¼øȯ ½ºÅ©¸³Æ®¿¡¼­ ÀÌ ¸í·ÉÀ» »ç¿ëÇÑ´Ù¸é, ÀÌÀü ·Î±×ÆÄÀÏÀ» +ó¸®ÇϱâÀü¿¡ ·Î±×ÆÄÀÏÀ» ´ÝÇûÀ½À» º¸ÀåÇϱâÀ§ÇØ »ó´çÈ÷ ±â´Ù·Á¾ß +ÇÑ´Ù. ¾ÆÆÄÄ¡°¡ Àç½ÃÀ۽à ½ÇÆÐÇÏÁö ¾ÊÀ½À» È®ÀÎÇϱâÀ§ÇØ Àç½ÃÀÛ +Àü¿¡ ÀÚµ¿À¸·Î configtest ¸í·É°ú °°ÀÌ ¼³Á¤ÆÄÀÏÀ» +°Ë»çÇÑ´Ù. apachectl -k graceful°ú °°´Ù.
+ +
configtest
+ +
¼³Á¤ÆÄÀÏÀÇ ¹®¹ýÀ» °Ë»çÇÑ´Ù. ¼³Á¤ÆÄÀÏÀ» Àаí Syntax +Ok ȤÀº ƯÁ¤ ¼³Á¤¿À·ù¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾Ë·ÁÁØ´Ù. +apachectl -t¿Í °°´Ù.
+ +
+ +

¾Æ·¡ ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ¾ÕÀ¸·Î »ç¶óÁú °ÍÀÌ´Ù.

+ +
+ +
startssl
+ +
apachectl -k start -DSSL°ú °°´Ù. ¿ì¸®´Â Á÷Á¢ +¾ÕÀÇ ¸í·É¾î¸¦ »ç¿ëÇϰųª Ç×»ó SSLÀ» »ç¿ëÇϵµ·Ï +httpd.conf¿¡¼­ <IfDefine> ¼½¼ÇÀ» Á¦°ÅÇÏ±æ ±ÇÇÑ´Ù.
+ +
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apachectl.html.tr.utf8 b/docs/manual/programs/apachectl.html.tr.utf8 new file mode 100644 index 0000000..32e6aa9 --- /dev/null +++ b/docs/manual/programs/apachectl.html.tr.utf8 @@ -0,0 +1,195 @@ + + + + + +apachectl - Apache HTTP Sunucusu Denetim Arayüzü - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

apachectl - Apache HTTP Sunucusu Denetim Arayüzü

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

apachectl Apache Hiper Metin Aktarım + Protokolü (HTTP) sunucusu için bir denetim aracıdır. Sistem + yöneticisinin Apache httpd artalan + sürecini denetimi altında tutabilmesine yardımcı olmak amacıyla + tasarlanmıştır.

+ +

apachectl iki kipte işleyebilir. + İlkinde, httpd komutu için basit + bir önyüz gibi davranarak, gerekli ortam değişkenlerini atar ve + belirtilen komut satırı seçenekleriyle + httpd sürecini başlatır. İkinci + kipte ise, apachectl bir SysV başlatma + betiği olarak start, + restart, + stop gibi tek sözcüklük basit argümanlar + alır ve bunları uygun sinyallere dönüştürerek + httpd'ye gönderir.

+ +

Eğer Apache kurulumunuzda standart dışı dosya yolları kullanmışsanız, + httpd programına uygun yolları + atamak için apachectl betiğini elden + geçirmelisiniz. Bu arada gerek gördüğünüz + httpd komut satırı argümanlarını da + belirtebilirsiniz. Ayrıntılar için betik içindeki açıklamalara + bakınız.

+ +

apachectl betiği başarı durumunda 0 + çıkış değeri ile döner. Bir hata durumunda ise sıfırdan farklı bir + değerle döner. Daha fazla bilgi için betik içindeki açıklamalara + bakınız.

+
+ +
top
+
+

Kullanım

+ +

apachectl önyüz kipinde çalıştığında + httpd programının bütün komut + satırı argümanlarını kabul edebilir.

+ +

apachectl [ httpd-argümanları ] +

+ +

SysV başlatma betiği kipinde ise, + apachectl aşağıda tanımlanan basit, tek + sözcüklük komutları kabul eder.

+ +

apachectl komut

+ +
top
+
+

Seçenekler

+ +

Burada sadece SysV başlatma betiğine özgü seçeneklere yer verilmiştir. + Diğer argümanlar için httpd kılavuz + sayfasına bakınız.

+ +
+
start
+
Apache httpd artalan sürecini + başlatır. Zaten çalışmaktaysa bir hata verir. apachectl + -k start komutuna eşdeğerdir.
+ +
stop
+
Apache httpd artalan sürecini + durdurur. apachectl -k stop komutuna + eşdeğerdir.
+ +
restart
+
Apache httpd artalan sürecini + yeniden başlatır; çalışmıyorsa çalıştırılır. Artalan sürecinin ölü + olmadığından emin olmak için yeniden başlatmadan önce + configtest seçeneği verilmiş gibi + yapılandırma dosyaları sınanır. apachectl -k + restart komutuna eşdeğerdir.
+ +
fullstatus
+
mod_status üzerinden tam bir + durum raporu gösterir. Bunun çalışması için sunucuda + mod_status etkinleştirilmiş olmalı + ve sisteminizde lynx gibi bir metin + kipi HTTP tarayıcı kurulu olmalıdır. Durum raporuna erişmek için + kullanılacak adres betik içinde STATUSURL değişkenine + atanabilir.
+ +
status
+
Özet halinde bir durum raporu gösterir. O an sunulmakta olan + isteklerin gösterilmemesi dışında + fullstatus seçeneği gibidir.
+ +
graceful
+
Apache httpd artalan sürecini + nazikçe yeniden başlatır; çalışmıyorsa çalıştırılır. O an + hizmet sunmakta olan çocuk süreçleri hemen durdurmaması dışında + normal yeniden başlatma gibidir. Bir yan etki olarak eski günlük + dosyaları hemen kapatılmaz. Yani, günlük dosyalarını döndüren bir + betik kullanıyorsanız yenilerini başlatmadan önce eski dosyaların + tamamen kapandığından emin olmak için belli bir süre beklemeniz + gerekecektir. Artalan sürecinin ölü olmadığından emin olmak için + yeniden başlatmadan önce configtest + seçeneği verilmiş gibi yapılandırma dosyaları sınanır. + apachectl -k graceful komutuna + eşdeğerdir.
+ +
graceful-stop
+
Apache httpd artalan sürecini + nazikçe durdurur. O an hizmet sunmakta olan çocuk süreçleri + hemen durdurmaması dışında normal durdurma gibidir. Bir yan etki + olarak eski günlük dosyaları hemen kapatılmaz. + apachectl -k graceful-stop komutuna + eşdeğerdir.
+ +
configtest
+
Yapılandırma dosyasında sözdizimi denetimi yapılmasını sağlar. + Yapılandırma dosyaları çözümlenir ve bir sorun yoksa bir Syntax + Ok raporu verilir fakat, bir hata varsa o hataya ilişkin + ayrıntılı bilgi verilir. apachectl -t + komutuna eşdeğerdir.
+ +
+ +

Aşağıdaki seçenek eski sürümlerde kullanılmaktaydı, fakat artık + kullanılmamaktadır.

+ +
+
startssl
+
httpd programını SSL destekli + başlatmak için, yapılandırma dosyanızı ilgili yönergeleri içermesi + için elden geçirmeli ve normal apachectl + start komutunu kullanmalısınız.
+
+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apxs.html b/docs/manual/programs/apxs.html new file mode 100644 index 0000000..ae93741 --- /dev/null +++ b/docs/manual/programs/apxs.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: apxs.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: apxs.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: apxs.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: apxs.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/apxs.html.en b/docs/manual/programs/apxs.html.en new file mode 100644 index 0000000..40556b7 --- /dev/null +++ b/docs/manual/programs/apxs.html.en @@ -0,0 +1,364 @@ + + + + + +apxs - APache eXtenSion tool - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

apxs - APache eXtenSion tool

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

apxs is a tool for building and installing extension + modules for the Apache HyperText Transfer Protocol (HTTP) server. This is + achieved by building a dynamic shared object (DSO) from one or more source + or object files which then can be loaded into the Apache server + under runtime via the LoadModule + directive from mod_so.

+ +

So to use this extension mechanism your platform has to support the DSO + feature and your Apache httpd binary has to be built with the + mod_so module. The apxs tool automatically + complains if this is not the case. You can check this yourself by manually + running the command

+ +

+ $ httpd -l +

+ +

The module mod_so should be part of the displayed list. + If these requirements are fulfilled you can easily extend your Apache + server's functionality by installing your own modules with the DSO mechanism + by the help of this apxs tool:

+ +

+ $ apxs -i -a -c mod_foo.c
+ gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
+ ld -Bshareable -o mod_foo.so mod_foo.o
+ cp mod_foo.so /path/to/apache/modules/mod_foo.so
+ chmod 755 /path/to/apache/modules/mod_foo.so
+ [activating module `foo' in /path/to/apache/etc/httpd.conf]
+ $ apachectl restart
+ /path/to/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /path/to/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +

The arguments files can be any C source file (.c), a object + file (.o) or even a library archive (.a). The apxs tool + automatically recognizes these extensions and automatically used the C + source files for compilation while just using the object and archive files + for the linking phase. But when using such pre-compiled objects make sure + they are compiled for position independent code (PIC) to be able to use them + for a dynamically loaded shared object. For instance with GCC you always + just have to use -fpic. For other C compilers consult its + manual page or at watch for the flags apxs uses to compile the + object files.

+ +

For more details about DSO support in Apache read the documentation of + mod_so or perhaps even read the + src/modules/standard/mod_so.c source file.

+
+ +
top
+
+

Synopsis

+

apxs -g + [ -S name=value ] + -n modname

+ +

apxs -q + [ -v ] + [ -S name=value ] + query ...

+ +

apxs -c + [ -S name=value ] + [ -o dsofile ] + [ -I incdir ] + [ -D name=value ] + [ -L libdir ] + [ -l libname ] + [ -Wc,compiler-flags ] + [ -Wl,linker-flags ] + files ...

+ +

apxs -i + [ -S name=value ] + [ -n modname ] + [ -a ] + [ -A ] + dso-file ...

+ +

apxs -e + [ -S name=value ] + [ -n modname ] + [ -a ] + [ -A ] + dso-file ...

+
top
+
+

Options

+

Common Options

+
+
-n modname
+
This explicitly sets the module name for the -i (install) + and -g (template generation) option. Use this to explicitly + specify the module name. For option -g this is required, for + option -i the apxs tool tries to determine the + name from the source or (as a fallback) at least by guessing it from the + filename.
+
+ + +

Query Options

+
+
-q
+
Performs a query for variables and environment settings used to + build httpd. When invoked without query parameters, + it prints all known variables and their values. The optional -v + parameter formats the list output. + +

Use this to manually determine settings used to build the + httpd that will load your module. For instance use

+

+ INC=-I`apxs -q INCLUDEDIR` +

+ +

inside your own Makefiles if you need manual access to Apache's C + header files.

+
+ + +

Configuration Options

+
+
-S name=value
+
This option changes the apxs settings described above.
+
+ + +

Template Generation Options

+
+
-g
+
This generates a subdirectory name (see option + -n) and there two files: A sample module source file named + mod_name.c which can be used as a template for + creating your own modules or as a quick start for playing with the + apxs mechanism. And a corresponding Makefile for even easier + build and installing of this module.
+
+ + +

DSO Compilation Options

+
+
-c
+
This indicates the compilation operation. It first compiles the C + source files (.c) of files into corresponding object files (.o) + and then builds a dynamically shared object in dsofile by + linking these object files plus the remaining object files (.o and .a) of + files. If no -o option is specified the output + file is guessed from the first filename in files and thus + usually defaults to mod_name.so.
+ +
-o dsofile
+
Explicitly specifies the filename of the created dynamically shared + object. If not specified and the name cannot be guessed from the + files list, the fallback name mod_unknown.so is + used.
+ +
-D name=value
+
This option is directly passed through to the compilation command(s). + Use this to add your own defines to the build process.
+ +
-I incdir
+
This option is directly passed through to the compilation command(s). + Use this to add your own include directories to search to the build + process.
+ +
-L libdir
+
This option is directly passed through to the linker command. Use this + to add your own library directories to search to the build process.
+ +
-l libname
+
This option is directly passed through to the linker command. Use this + to add your own libraries to search to the build process.
+ +
-Wc,compiler-flags
+
This option passes compiler-flags as additional flags to + the libtool --mode=compile command. Use this to add local + compiler-specific options.
+ +
-Wl,linker-flags
+
This option passes linker-flags as additional + flags to the libtool --mode=link command. Use this + to add local linker-specific options.
+ +
-p
+
This option causes apxs to link against the apr/apr-util libraries. + This is useful when compiling helper programs that use the apr/apr-util + libraries.
+
+ + +

DSO Installation and Configuration Options

+ +
+
-i
+
This indicates the installation operation and installs one or more + dynamically shared objects into the server's modules + directory.
+ +
-a
+
This activates the module by automatically adding a corresponding + LoadModule line to Apache's + httpd.conf configuration file, or by enabling it if it + already exists.
+ +
-A
+
Same as option -a but the created LoadModule directive is prefixed with a hash + sign (#), i.e., the module is just prepared for + later activation but initially disabled.
+ +
-e
+
This indicates the editing operation, which can be used with the + -a and -A options similarly to the + -i operation to edit Apache's httpd.conf + configuration file without attempting to install the module.
+
+ +
top
+
+

Examples

+

Assume you have an Apache module named mod_foo.c available + which should extend Apache's server functionality. To accomplish this you + first have to compile the C source into a shared object suitable for loading + into the Apache server under runtime via the following command:

+ +

+ $ apxs -c mod_foo.c
+ /path/to/libtool --mode=compile gcc ... -c mod_foo.c
+ /path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ $ _ +

+ +

Then you have to update the Apache configuration by making sure a + LoadModule directive is present to + load this shared object. To simplify this step apxs provides + an automatic way to install the shared object in its "modules" directory + and updating the httpd.conf file accordingly. This can be + achieved by running:

+ +

+ $ apxs -i -a mod_foo.la
+ /path/to/instdso.sh mod_foo.la /path/to/apache/modules
+ /path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules + ... + chmod 755 /path/to/apache/modules/mod_foo.so
+ [activating module `foo' in /path/to/apache/conf/httpd.conf]
+ $ _ +

+ +

This way a line named

+ +

+ LoadModule foo_module modules/mod_foo.so +

+ +

is added to the configuration file if still not present. If you want to + have this disabled per default use the -A option, + i.e.

+ +

+ $ apxs -i -A mod_foo.c +

+ +

For a quick test of the apxs mechanism you can create a sample Apache + module template plus a corresponding Makefile via:

+ +

+ $ apxs -g -n foo
+ Creating [DIR] foo
+ Creating [FILE] foo/Makefile
+ Creating [FILE] foo/modules.mk
+ Creating [FILE] foo/mod_foo.c
+ Creating [FILE] foo/.deps
+ $ _ +

+ +

Then you can immediately compile this sample module into a shared object + and load it into the Apache server:

+ +

+ $ cd foo
+ $ make all reload
+ apxs -c mod_foo.c
+ /path/to/libtool --mode=compile gcc ... -c mod_foo.c
+ /path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ apxs -i -a -n "foo" mod_foo.la
+ /path/to/instdso.sh mod_foo.la /path/to/apache/modules
+ /path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules + ... + chmod 755 /path/to/apache/modules/mod_foo.so
+ [activating module `foo' in /path/to/apache/conf/httpd.conf]
+ apachectl restart
+ /path/to/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /path/to/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apxs.html.fr.utf8 b/docs/manual/programs/apxs.html.fr.utf8 new file mode 100644 index 0000000..fafaed0 --- /dev/null +++ b/docs/manual/programs/apxs.html.fr.utf8 @@ -0,0 +1,395 @@ + + + + + +apxs - Utilitaire pour les extensions d'Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

apxs - Utilitaire pour les extensions d'Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

apxs est un utilitaire permettant de compiler et + d'installer des modules en tant qu'extensions du serveur HTTP + Apache. A cet effet, un objet dynamique partagé (DSO) est compilé à + partir d'un ou plusieurs fichiers sources ou objets et + peut être chargé pendant l'exécution du serveur Apache via la + directive LoadModule du + module mod_so.

+ +

Pour pouvoir utiliser ce mécanisme d'extensions, votre + plate-forme doit supporter la fonctionnalité DSO, et votre binaire + httpd Apache doit être compilé avec le module + mod_so. Si ce n'est pas le cas, l'utilitaire + apxs vous le signalera. Vous pouvez aussi vérifier + vous-même ces prérequis en exécutant manuellement la commande :

+ +

+ $ httpd -l +

+ +

Le module mod_so doit faire partie de la liste + des modules affichée. Si ces prérequis sont présents, vous pouvez + facilement étendre les fonctionnalités de votre serveur Apache en + installant vos propres modules à l'aide de l'utilitaire + apxs, via le mécanisme DSO :

+ +

+ $ apxs -i -a -c mod_foo.c
+ gcc -fpic -DSHARED_MODULE -I/chemin/vers/apache/include -c mod_foo.c
+ ld -Bshareable -o mod_foo.so mod_foo.o
+ cp mod_foo.so /chemin/vers/apache/modules/mod_foo.so
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so
+ [activation du module `foo' dans /chemin/vers/apache/etc/httpd.conf]
+ $ apachectl restart
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /chemin/vers/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +

Les arguments fichiers peuvent correspondre à un + fichier source C (.c), un fichier objet (.o) ou même une archive de + bibliothèques (.a). L'utilitaire apxs reconnaît + automatiquement ces extensions et utilise automatiquement les + fichiers source C pour la compilation, et les fichiers objets et + archives pour l'édition de liens. Cependant, si vous utilisez des + fichiers objets précompilés, assurez-vous que leur code soit + indépendant de la position (PIC), afin de pouvoir les utiliser avec + un objet partagé chargé dynamiquement. Avec GCC, par exemple, il + vous suffit de toujours utiliser l'option de compilation + -fpic. Pour les autres compilateurs C, consultez leur + page de manuel, ou vérifiez les drapeaux qu'apxs + utilise pour compiler les fichiers objets.

+ +

Pour plus de détails à propos du support DSO dans Apache, lire la + documentation du module mod_so, ou même, consultez + le fichier source src/modules/standard/mod_so.c.

+
+ +
top
+
+

Syntaxe

+

apxs -g + [ -S nom=valeur ] + -n nom-module

+ +

apxs -q + [ -v ] + [ -S nom=valeur ] + requête ...

+ +

apxs -c + [ -S nom=valeur ] + [ -o fichier-dso ] + [ -I répertoire-inc ] + [ -D nom=valeur ] + [ -L répertoire-lib ] + [ -l nom-bibliothèque ] + [ -Wc,options-compilation ] + [ -Wl,options-edition-liens ] + fichiers ...

+ +

apxs -i + [ -S nom=valeur ] + [ -n nom-module ] + [ -a ] + [ -A ] + fichier-dso ...

+ +

apxs -e + [ -S nom=valeur ] + [ -n nom-module ] + [ -a ] + [ -A ] + fichier-dso ...

+
top
+
+

Options

+

Options courantes

+
+
-n nom-module
+
Définit explicitement le nom du module pour les options + -i (install) et -g (génération de + modèles). Utilisez cette option pour spécifier de manière + explicite le nom du module. Pour l'option -g, cette + option est nécessaire ; pour l'option -i, + l'utilitaire apxs tente de déterminer le nom du + module à partir des sources, ou (à défaut) en le déduisant du nom + de fichier.
+
+ + +

Options de requête

+
+
-q
+
Effectue une requête à propos des variables et de + l'environnement utilisés pour compiler httpd. + Lorsqu'elle est invoquée sans paramètre requête, cette + option affiche toutes les variables connues, ainsi que leurs + valeurs. Le paramètre optionnel -v formate la liste + affichée. + +

Utilisez cette option pour déterminer manuellement les options + utilisées pour compiler le binaire httpd qui chargera + votre module. Ajoutez par exemple

+

+ INC=-I`apxs -q INCLUDEDIR` +

+ +

dans vos propres Makefiles si vous devez accéder manuellement + aux fichiers d'en-têtes C d'Apache.

+
+ + +

Options de configuration

+
+
-S nom=valeur
+
Cette option permet de modifier la configuration d'apxs + décrite ci-dessus.
+
+ + +

Option de génération des + modèles

+
+
-g
+
Cette option permet de générer un sous-répertoire + nom (voir option -n) contenant deux + fichiers : le premier fichier est un exemple de fichier source de + module nommé mod_nom.c que l'on peut + utiliser comme modèle pour créer ses propres modules, ou comme + point de départ pour se familiariser avec le mécanisme apxs ; le + second fichier est le Makefile correspondant + facilitant la compilation et l'installation de ce module.
+
+ +

Options de compilation DSO

+
+
-c
+
Cette option indique une opération de compilation. Tout + d'abord, les fichiers sources (.c) spécifiés par + fichiers sont compilés en fichiers objets + correspondants (.o), puis un objet dynamiquement partagé + fichier-dso est compilé via une édition de liens de ces + fichiers objets avec les autres fichiers objets (.o and .a) + spécifiés par fichiers. Si l'option -o + n'est pas spécifiée, le nom du fichier résultant est déduit du + premier nom de fichier spécifié par fichiers, et ainsi + prend en général pour valeur par défaut + mod_nom.so.
+ +
-o fichier-dso
+
Spécifie de manière explicite le nom de fichier de l'objet + partagé dynamiquement créé. Sans cette option, et si le nom ne + peut pas être déduit de la liste fichiers, c'est le nom + par défaut mod_unknown.so qui sera utilisé.
+ +
-D nom=valeur
+
Cette option est transmise directement à la commande de + compilation. Vous pouvez l'utiliser pour ajouter vos propres + définitions au processus de compilation.
+ +
-I répertoire-inc
+
Cette option est transmise directement à la commande de + compilation. Vous pouvez l'utiliser pour ajouter vos propres + chemins de recherche des répertoires include au processus de + compilation.
+ +
-L répertoire-lib
+
Cette option est transmise directement à la commande d'édition + de liens. Vous pouvez l'utiliser pour ajouter vos propres + chemins de recherche des répertoires de bibliothèques au processus + de compilation.
+ +
-l nom-bibliothèque
+
Cette option est transmise directement à la commande d'édition + de liens. Vous pouvez l'utiliser pour ajouter vos propres + bibliothèques à rechercher au processus de compilation.
+ +
-Wc,options-compilation
+
Cette option transmet les options-compilation en + tant qu'options supplémentaires à la commande libtool + --mode=compile. Vous pouvez l'utiliser pour ajouter des + options locales spécifiques au compilateur.
+ +
-Wl,options-edition-liens
+
Cette option transmet les options-edition-liens en + tant qu'options supplémentaires à la commande libtool + --mode=link. Vous pouvez l'utiliser pour ajouter des + options locales spécifiques à l'éditeur de liens.
+ +
-p
+
Avec cette option, apxs effectue l'édition de liens avec les + bibliothèques apr/apr-util. Elle permet de compiler les programmes + helper qui utilisent les bibliothèques apr/apr-util.
+
+ + +

Options d'installation et de configuration DSO

+ +
+
-i
+
Cette option indique une opération d'installation et installe + un ou plusieurs objets dynamiquement partagés dans le répertoire + modules du serveur.
+ +
-a
+
Cette option active le module en ajoutant automatiquement une + directive LoadModule + correspondante au fichier de configuration d'Apache + httpd.conf, ou en l'activant s'il existe déjà.
+ +
-A
+
Identique à l'option -a, à la différence que la + directive LoadModule créée + est préfixée par un caractère dièse (#) ; le module + est ainsi préparé pour une activation ultérieure, mais est + désactivé dans un premier temps.
+ +
-e
+
Cette option indique une opération d'édition de liens et peut + être utilisée avec les options -a et -A + de la même manière qu'au cours de l'opération d'installation pour + éditer le fichier de configuration d'Apache + httpd.conf, sans toutefois installer le module.
+
+ +
top
+
+

Exemples

+

Supposons que vous disposiez d'un module Apache nommé + mod_foo.c et destiné à étendre les fonctionnalités du + serveur. Pour ce faire, vous devez tout d'abord compiler le fichier + source C en un objet partagé pouvant être chargé dans le serveur + Apache à l'exécution, via la commande suivante :

+ +

+ $ apxs -c mod_foo.c
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ $ _ +

+ +

Vous devez ensuite vérifier la configuration d'Apache en vous + assurant qu'une directive LoadModule est bien présente pour + charger cet objet partagé. Pour simplifier cette étape, + apxs propose une méthode automatique d'installation de + l'objet partagé dans son répertoire "modules", et de mise à jour du + fichier httpd.conf en conséquence. Pour bénéficier de + cette automatisation, utilisez la commande suivante :

+ +

+ $ apxs -i -a mod_foo.la
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules + ... + chmod 755 /chemin/vers/apache/modules/mod_foo.so
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]
+ $ _ +

+ +

Une ligne contenant

+ +

+ LoadModule foo_module modules/mod_foo.so +

+ +

est alors ajoutée au fichier de configuration si ce n'est pas + déjà fait. Si vous voulez que le module soit désactivé par défaut, + utilisez l'option -A comme suit :

+ +

+ $ apxs -i -A mod_foo.c +

+ +

Pour un test rapide du mécanisme apxs, vous pouvez créer un + exemple de modèle de module Apache, ainsi que le Makefile + correspondant via :

+ +

+ $ apxs -g -n foo
+ Creating [DIR] foo
+ Creating [FILE] foo/Makefile
+ Creating [FILE] foo/modules.mk
+ Creating [FILE] foo/mod_foo.c
+ Creating [FILE] foo/.deps
+ $ _ +

+ +

Vous pouvez ensuite compiler immédiatement ce module exemple en + objet partagé et le charger dans le serveur Apache :

+ +

+ $ cd foo
+ $ make all reload
+ apxs -c mod_foo.c
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ apxs -i -a -n "foo" mod_foo.la
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules + ... + chmod 755 /chemin/vers/apache/modules/mod_foo.so
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]
+ apachectl restart
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /chemin/vers/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apxs.html.ko.euc-kr b/docs/manual/programs/apxs.html.ko.euc-kr new file mode 100644 index 0000000..e056e68 --- /dev/null +++ b/docs/manual/programs/apxs.html.ko.euc-kr @@ -0,0 +1,354 @@ + + + + + +apxs - APache eXtenSion µµ±¸ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

apxs - APache eXtenSion µµ±¸

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

apxs´Â ¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ + (HTTP) ¼­¹öÀÇ È®Àå¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â µµ±¸ÀÌ´Ù. ÀÌ + µµ±¸´Â ¿©·¯ ¼Ò½º¿Í ¿ÀºêÁ§Æ®ÆÄÀÏÀ» °¡Áö°í, + mod_soÀÇ LoadModule Áö½Ã¾î·Î ½ÇÇàÁß¿¡ + ¾ÆÆÄÄ¡ ¼­¹ö·Î ÀоîµéÀÏ ¼ö ÀÖ´Â µ¿Àû°øÀ¯°´Ã¼(DSO)¸¦ ¸¸µç´Ù.

+ +

±×·¡¼­ ÀÌ·± È®Àå¹æ½ÄÀ» »ç¿ëÇÏ·Á¸é Ç÷¡ÆûÀÌ DSO ±â´ÉÀ» + Áö¿øÇÏ°í ¾ÆÆÄÄ¡ httpd ½ÇÇàÆÄÀÏÀ» + mod_so ¸ðµâ°ú °°ÀÌ ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù. + apxs µµ±¸´Â ÀÌ Á¶°ÇÀÌ ¸¸Á·ÇÏÁö¾ÊÀ¸¸é ½ÇÇàÇÏÁö + ¾Ê´Â´Ù. Á÷Á¢ ¸í·É¾î¸¦ ½ÇÇàÇÏ¿© Á¶°ÇÀÌ ¸¸Á·ÇÏ´ÂÁö ¾Ë¾Æº¼ + ¼ö ÀÖ´Ù

+ +

+ $ httpd -l +

+ +

¸ñ·Ï¿¡ mod_so ¸ðµâÀÌ ³ª¿Í¾ß ÇÑ´Ù. Á¶°ÇÀ» + ¸¸Á·Çϸé apxs µµ±¸·Î DSO ¸ðµâÀ» ¼³Ä¡ÇÏ¿© + ¾ÆÆÄÄ¡¼­¹öÀÇ ±â´ÉÀ» ½±°Ô È®ÀåÇÒ ¼ö ÀÖ´Ù:

+ +

+ $ apxs -i -a -c mod_foo.c
+ gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
+ ld -Bshareable -o mod_foo.so mod_foo.o
+ cp mod_foo.so /path/to/apache/modules/mod_foo.so
+ chmod 755 /path/to/apache/modules/mod_foo.so
+ [activating module `foo' in /path/to/apache/etc/httpd.conf]
+ $ apachectl restart
+ /path/to/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /path/to/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +

¾Æ±Ô¸ÕÆ® files¿¡´Â C ¼Ò½ºÆÄÀÏ (.c) À̳ª + ¿ÀºêÁ§Æ®ÆÄÀÏ (.o), ¶óÀ̺귯¸®¸ðÀ½ (.a)À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. + apxs µµ±¸´Â È®ÀåÀÚ¸¦ º¸°í ÀÚµ¿À¸·Î C ¼Ò½ºÆÄÀÏÀº + ÄÄÆÄÀÏÇÏ°í, ¿ÀºêÁ§Æ®¿Í ¸ðÀ½ÆÄÀÏÀº ¸µÅ©¿¡¸¸ »ç¿ëÇÑ´Ù. ±×·¯³ª + ÄÄÆÄÀÏÇÑ ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ·Á¸é µ¿ÀûÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Â + °øÀ¯°´Ã¼·Î »ç¿ëÇϱâÀ§ÇØ ¹Ýµå½Ã ¿ÀºêÁ§Æ®¸¦ À§Ä¡µ¶¸³ÄÚµå(PIC, + position independent code)·Î ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù. GCCÀÇ °æ¿ì + -fpicÀ» »ç¿ëÇÏ¸é µÈ´Ù. ´Ù¸¥ C ÄÄÆÄÀÏ·¯´Â ¼³¸í¼­¸¦ + Âü°íÇϰųª apxs°¡ ¿ÀºêÁ§Æ®ÆÄÀÏÀ» ÄÄÆÄÀÏÇÒ¶§ + »ç¿ëÇÏ´Â ¿É¼ÇÀ» Âü°íÇ϶ó.

+ +

¾ÆÆÄÄ¡ÀÇ DSO Áö¿ø¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº + mod_so ¹®¼­¸¦ Âü°íÇϰųª + src/modules/standard/mod_so.c ¼Ò½ºÆÄÀÏÀ» ÀоîºÁ¶ó.

+
+ +
top
+
+

°³¿ä

+

apxs -g + [ -S name=value ] + -n modname

+ +

apxs -q + [ -S name=value ] + query ...

+ +

apxs -c + [ -S name=value ] + [ -o dsofile ] + [ -I incdir ] + [ -D name=value ] + [ -L libdir ] + [ -l libname ] + [ -Wc,compiler-flags ] + [ -Wl,linker-flags ] + files ...

+ +

apxs -i + [ -S name=value ] + [ -n modname ] + [ -a ] + [ -A ] + dso-file ...

+ +

apxs -e + [ -S name=value ] + [ -n modname ] + [ -a ] + [ -A ] + dso-file ...

+
top
+
+

¿É¼Ç

+

°øÅë ¿É¼Ç

+
+
-n modname
+
-i (install)°ú -g (template + generation) ¿É¼ÇÀ» »ç¿ëÇÒ¶§ Á÷Á¢ ¸ðµâ¸íÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ + ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¸ðµâ¸íÀ» Á÷Á¢ ÁöÁ¤ÇÑ´Ù. -g + ¿É¼ÇÀ» »ç¿ëÇÑ´Ù¸é ÀÌ ¿É¼ÇÀ» ¹Ýµå½Ã »ç¿ëÇؾßÇÏ°í, + -i ¿É¼ÇÀ» »ç¿ëÇÑ´Ù¸é apxs µµ±¸´Â + ¼Ò½º³ª (¸¶Áö¸· ½Ãµµ·Î) ÆÄÀϸíÀ» °¡Áö°í À̸§À» ÃßÃøÇÑ´Ù.
+
+ + +

ÁúÀÇ ¿É¼Ç

+
+
-q
+
apxsÀÇ ¼³Á¤°ªÀ» ¾Ë¾Æ³½´Ù. query¿¡´Â + ´ÙÀ½À» »ç¿ëÇÒ ¼ö ÀÖ´Ù: CC, CFLAGS, + CFLAGS_SHLIB, INCLUDEDIR, + LD_SHLIB, LDFLAGS_SHLIB, + LIBEXECDIR, LIBS_SHLIB, + SBINDIR, SYSCONFDIR, TARGET. + +

¼³Á¤À» Á÷Á¢ ¾Ë¾Æ³¾¶§ »ç¿ëÇÑ´Ù.

+

+ INC=-I`apxs -q INCLUDEDIR` +

+ +

¿¹¸¦ µé¾î, ¾ÆÆÄÄ¡ C Çì´õÆÄÀÏÀ» Á÷Á¢ Á¢±ÙÇÑ´Ù¸é + Makefile¿¡¼­ À§¿Í °°ÀÌ »ç¿ëÇÑ´Ù.

+
+ + +

¼³Á¤ ¿É¼Ç

+
+
-S name=value
+
ÀÌ ¿É¼ÇÀº À§¿¡¼­ ¼³¸íÇÑ apxs ¼³Á¤À» º¯°æÇÑ´Ù.
+
+ + +

°ßº»(template) »ý¼º ¿É¼Ç

+
+
-g
+
ÇÏÀ§µð·ºÅ丮 nameÀ» ¸¸µé°í (-n + ¿É¼Ç Âü°í) ±×°÷¿¡ ÆÄÀÏ µÎ°³¸¦ ¸¸µç´Ù: ÇÑ ÆÄÀÏÀº + mod_name.c¶ó´Â °ßº» ¸ðµâ¼Ò½ºÆÄÀÏ·Î, + ÀÚ½ÅÀÇ ¸ðµâÀ» ¸¸µé¶§ °ßº»À¸·Î »ç¿ëÇϰųª apxs ±â´ÉÀ» + ½ÃÇèÇغ¼¶§ »ç¿ëÇÑ´Ù. ´Ù¸¥ ÆÄÀÏÀº ÀÌ ¸ðµâÀ» ½±°Ô ÄÄÆÄÀÏÇÏ°í + ¼³Ä¡ÇϱâÀ§ÇÑ MakefileÀÌ´Ù.
+
+ + +

DSO ÄÄÆÄÀÏ ¿É¼Ç

+
+
-c
+
ÄÄÆÄÀÏÀ» Áö½ÃÇÑ´Ù. ¸ÕÀú files¿¡¼­ C + ¼Ò½ºÆÄÀϵé(.c)À» ¿ÀºêÁ§Æ®ÆÄÀÏ(.o)·Î ÄÄÆÄÀÏÇÏ°í, + filesÀÇ ³ª¸ÓÁö ¿ÀºêÁ§Æ®ÆÄÀϵé(.o°ú .a)°ú + ¸µÅ©ÇÏ¿© µ¿Àû°øÀ¯°´Ã¼ dsofileÀ» ¸¸µç´Ù. + -o ¿É¼ÇÀ» »ç¿ëÇÏÁö¾ÊÀ¸¸é filesÀÇ + ù¹ø° ÆÄÀÏ¸í¿¡¼­ À̸§À» ÃßÃøÇÏ¿© º¸Åë + mod_name.so¸¦ »ç¿ëÇÑ´Ù.
+ +
-o dsofile
+
»ý¼ºÇÒ µ¿Àû°øÀ¯°´Ã¼ ÆÄÀϸíÀ» Á÷Á¢ ÁöÁ¤ÇÑ´Ù. À̸§À» + ÁöÁ¤ÇÏÁö¾Ê°í files ¸ñ·Ï¿¡¼­ À̸§À» ÃßÃøÇÏÁö + ¸øÇÏ¸é ¸¶Áö¸·À¸·Î mod_unknown.so¸¦ À̸§À¸·Î + »ç¿ëÇÑ´Ù.
+ +
-D name=value
+
ÀÌ ¿É¼ÇÀ» ÄÄÆÄÀÏ ¸í·É¾î·Î Á÷Á¢ Àü´ÞÇÑ´Ù. + ÄÄÆÄÀ϶§ ÀÚ½ÅÀÇ defineÀ» Ãß°¡ÇÑ´Ù.
+ +
-I incdir
+
ÀÌ ¿É¼ÇÀ» ÄÄÆÄÀÏ ¸í·É¾î·Î Á÷Á¢ Àü´ÞÇÑ´Ù. + ÄÄÆÄÀ϶§ include¸¦ ãÀ» µð·ºÅ丮¸¦ Ãß°¡ÇÑ´Ù.
+ +
-L libdir
+
ÀÌ ¿É¼ÇÀ» ¸µÄ¿ ¸í·É¾î·Î Á÷Á¢ Àü´ÞÇÑ´Ù. + ÄÄÆÄÀ϶§ ¶óÀ̺귯¸®¸¦ ãÀ» µð·ºÅ丮¸¦ Ãß°¡ÇÑ´Ù.
+ +
-l libname
+
ÀÌ ¿É¼ÇÀ» ¸µÄ¿ ¸í·É¾î·Î Á÷Á¢ Àü´ÞÇÑ´Ù. + ÄÄÆÄÀ϶§ »ç¿ëÇÒ ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÑ´Ù.
+ +
-Wc,compiler-flags
+
ÀÌ ¿É¼ÇÀº Ãß°¡ ¿É¼Ç compiler-flags¸¦ + libtool --mode=compile ¸í·É¾î·Î Àü´ÞÇÑ´Ù. + ÄÄÆÄÀÏ·¯ ƯÀ¯ÀÇ ¿É¼ÇÀ» Ãß°¡ÇÒ¶§ »ç¿ëÇÑ´Ù.
+ +
-Wl,linker-flags
+
ÀÌ ¿É¼ÇÀº Ãß°¡ ¿É¼Ç linker-flags¸¦ + libtool --mode=link ¸í·É¾î·Î Àü´ÞÇÑ´Ù. ¸µÄ¿ + ƯÀ¯ÀÇ ¿É¼ÇÀ» Ãß°¡ÇÒ¶§ »ç¿ëÇÑ´Ù.
+
+ + +

DSO ¼³Ä¡°ú ¼³Á¤ ¿É¼Ç

+ +
+
-i
+
¼³Ä¡¸¦ Áö½ÃÇÑ´Ù. ¿©·¯ µ¿Àû°øÀ¯°´Ã¼¸¦ ¼­¹öÀÇ + modules µð·ºÅ丮¿¡ ¼³Ä¡ÇÑ´Ù.
+ +
-a
+
¾ÆÆÄÄ¡ httpd.conf ¼³Á¤ÆÄÀÏ¿¡ ÀûÀýÇÑ + LoadModule ÁÙÀ» + Ãß°¡Çϰųª ÀÌ¹Ì ÀÖ´Ù¸é È°¼ºÈ­ÇÏ¿© ¸ðµâÀ» »ç¿ëÇϵµ·Ï + ¸¸µç´Ù.
+ +
-A
+
-a¿Í ºñ½ÁÇÏÁö¸¸, LoadModule Áö½Ã¾î ¾Õ¿¡ + ¿ì¹°Á¤ÀÚ(#)¸¦ ºÙÀδÙ. Áï, ÇöÀç´Â + »ç¿ëÇÏÁö¾ÊÁö¸¸ ³ªÁß¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¸ðµâÀ» ÁغñÇÑ´Ù.
+ +
-e
+
ÆíÁýÀ» Áö½ÃÇÑ´Ù. -a ȤÀº -A + ¿É¼Ç°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, -i ¸í·É°ú + ºñ½ÁÇÏÁö¸¸ ¸ðµâÀ» ¼³Ä¡ÇÏÁö¾Ê°í ¾ÆÆÄÄ¡ + httpd.conf ¼³Á¤ÆÄÀϸ¸ ÆíÁýÇÑ´Ù.
+
+ +
top
+
+

¿¹Á¦

+

¾ÆÆÄÄ¡¼­¹öÀÇ ±â´ÉÀ» È®ÀåÇÏ´Â mod_foo.c¶ó´Â + ¾ÆÆÄÄ¡ ¸ðµâÀÌ ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. ¸ÕÀú ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇÏ¿© + C ¼Ò½º¸¦ ¾ÆÆÄÄ¡ ¼­¹ö°¡ ÀоîµéÀÏ °øÀ¯°´Ã¼·Î ÄÄÆÄÀÏÇÑ´Ù:

+ +

+ $ apxs -c mod_foo.c
+ /path/to/libtool --mode=compile gcc ... -c mod_foo.c
+ /path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ $ _ +

+ +

±×¸®°í ÀÌ °øÀ¯°´Ã¼¸¦ ÀоîµéÀÌ´Â LoadModule Áö½Ã¾î¸¦ ¾ÆÆÄÄ¡ + ¼³Á¤¿¡ Ãß°¡ÇÑ´Ù. apxs´Â ÀÚµ¿À¸·Î °øÀ¯°´Ã¼¸¦ + "modules" µð·ºÅ丮¿¡ ¼³Ä¡ÇÏ°í httpd.conf ÆÄÀÏÀ» + ¾Ë¸Â°Ô ¼öÁ¤ÇÏ¿© °£´ÜÈ÷ ÀÛ¾÷À» ¸¶Ä£´Ù. ´ÙÀ½ °°ÀÌ ½ÇÇàÇÑ´Ù:

+ +

+ $ apxs -i -a mod_foo.la
+ /path/to/instdso.sh mod_foo.la /path/to/apache/modules
+ /path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules + ... + chmod 755 /path/to/apache/modules/mod_foo.so
+ [/path/to/apache/conf/httpd.conf¿¡¼­ `foo' ¸ðµâÀ» È°¼ºÈ­ÇÑ´Ù]
+ $ _ +

+ +

±×·¯¸é ´ÙÀ½°ú °°Àº ÁÙÀ»

+ +

+ LoadModule foo_module modules/mod_foo.so +

+ +

¼³Á¤ÆÄÀÏ¿¡ ¾ø´Ù¸é Ãß°¡ÇÑ´Ù. ÀÌ ¼³Á¤À» ±âº»ÀûÀ¸·Î »ç¿ëÇÏÁö + ¾Ê´Â´Ù¸é -A ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. Áï

+ +

+ $ apxs -i -A mod_foo.c +

+ +

apxs¸¦ ½±°Ô »ç¿ëÇÏ·Á°í ´ÙÀ½°ú °°ÀÌ ¾ÆÆÄÄ¡ ¸ðµâ °ßº»°ú + MakefileÀ» ¸¸µé ¼ö ÀÖ´Ù:

+ +

+ $ apxs -g -n foo
+ Creating [DIR] foo
+ Creating [FILE] foo/Makefile
+ Creating [FILE] foo/modules.mk
+ Creating [FILE] foo/mod_foo.c
+ Creating [FILE] foo/.deps
+ $ _ +

+ +

±×·±ÈÄ ¹Ù·Î °ßº» ¸ðµâÀ» °øÀ¯°´Ã¼·Î ÄÄÆÄÀÏÇÏ¿© ¾ÆÆÄÄ¡ + ¼­¹ö°¡ Àеµ·ÏÇÑ´Ù:

+ +

+ $ cd foo
+ $ make all reload
+ apxs -c mod_foo.c
+ /path/to/libtool --mode=compile gcc ... -c mod_foo.c
+ /path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ apxs -i -a -n "foo" mod_foo.la
+ /path/to/instdso.sh mod_foo.la /path/to/apache/modules
+ /path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules + ... + chmod 755 /path/to/apache/modules/mod_foo.so
+ [/path/to/apache/conf/httpd.conf¿¡¼­ `foo' ¸ðµâÀ» È°¼ºÈ­ÇÑ´Ù]
+ apachectl restart
+ /path/to/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /path/to/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apxs.html.tr.utf8 b/docs/manual/programs/apxs.html.tr.utf8 new file mode 100644 index 0000000..3b05d28 --- /dev/null +++ b/docs/manual/programs/apxs.html.tr.utf8 @@ -0,0 +1,388 @@ + + + + + +apxs - Apache Eklenti Aracı - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

apxs - Apache Eklenti Aracı

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

apxs, Apache Hiper Metin Aktarım + Protokolü (HTTP) sunucusu için ek modül derleme ve kurulum aracıdır. Bu + araç sayesinde, bir veya daha fazla kaynak veya nesne + dosyasından bir devingen paylaşımlı nesne (DSO - "Dynamic + Shared Object" kısaltması) derlemek ve bu nesneyi (modülü) Apache + sunucusuna çalışma anında mod_so + modülünün LoadModule yönergesi üzerinden yüklemek mümkün + olmaktadır.

+ +

Bu eklenti mekanizmasını platformunuzda kullanmak için DSO desteğinin + olması ve httpd programının + mod_so modülünü içerecek şekilde + derlenmiş olması gerekir. Eğer bunlar mevcut değilse + apxs aracı durumu size bildirecektir. Bunu + aşağıdaki komutla kendiniz de sınayabilirsiniz:

+ +

+ $ httpd -l +

+ +

mod_so modülü gösterilen listede yer + almalıdır. Bu gereksinimler sağlandığı takdirde + apxs aracı sayesinde DSO mekanizması + üzerinden kendi modüllerinizi kurmak suretiyle Apache sunucunuzun + işlevselliğini kolayca arttırabilirsiniz. Örnek bir uygulama:

+ +

+ $ apxs -i -a -c mod_foo.c
+ gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo.c
+ ld -Bshareable -o mod_foo.so mod_foo.o
+ cp mod_foo.so /dosya/yolu/apache/modules/mod_foo.so
+ chmod 755 /dosya/yolu/apache/modules/mod_foo.so
+ [`foo' modülü /dosya/yolu/apache/etc/httpd.conf'ta etkinleştiriliyor]
+ $ apachectl restart
+ /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /dosya/yolu/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +

dosya olarak bir C kaynak dosyası (.c), bir nesne dosyası + (.o) ve hatta bir kütüphane arşivi archive (.a) belirtebilirsiniz. + apxs aracı bu dosya uzantılarını + tanıdığından C dosyalarını derleme işleminden, arşiv ve nesne + dosyalarını ise doğrudan ilintileme işleminden geçirir. Fakat böyle + önceden derlenmiş nesne dosyalarını kullanırken, devingen paylaşımlı + nesne olarak kullanılmalarını sağlamak üzere konumdan bağımsız kod (PIC) + üretecek şekilde derlenmiş olduklarından emin olmalısınız. Örneğin + GCC'yi bunun için daima -fpic seçeneği ile + kullanmalısınız. Diğer C derleyiciler için, + apxs'in nesne dosyalarını derlerken + kullanacağı seçenekleri öğrenmek için o derleyicilerin kılavuz + sayfalarına bakınız.

+ +

Apache'deki DSO desteği ile ilgili daha ayrıntılı bilgi edinmek için + mod_so belgesini okumakla yetinmeyip + src/modules/standard/mod_so.c kaynak dosyasını da + okuyunuz.

+
+ +
top
+
+

Kullanım

+

apxs -g + [ -S isim=değer ] + -n modüladı

+ +

apxs -q + [ -v ] + [ -S isim=deÄŸer ] + sorgu ...

+ +

apxs -c + [ -S isim=değer ] + [ -o dso-dosyası ] + [ -I include-dizini ] + [ -D isim=değer ] + [ -L lib-dizini ] + [ -l kütüphane-adı ] + [ -Wc,derleyici-seçenekleri ] + [ -Wl,ilintileyici-seçenekleri ] + [ -p ] + dosya ...

+ +

apxs -i + [ -S isim=değer ] + [ -n modüladı ] + [ -a ] + [ -A ] + dso-dosyası ...

+ +

apxs -e + [ -S isim=değer ] + [ -n modüladı ] + [ -a ] + [ -A ] + dso-dosyası ...

+
top
+
+

Seçenekler

+

Ortak Seçenekler

+
+
-n modüladı
+
-i (kurulum) ve + -g (şablon üretimi) + seçenekleri için modül ismi belirtmek amacıyla kullanılır. Bir modül + ismi belirtmek için bu seçeneği kullanın. + -g seçeneği için bu gereklidir. + -i seçeneği için ise araç, modül + ismini kaynağın ismine bakarak veya (son çare olarak) dosya isminden + tahmin etmeye çalışarak saptamaya çalışır.
+
+ + +

Sorgu Seçenekleri

+
+
-q sorgu
+
httpd'yi derlemekte kullanılacak değişkenler ve + ortam ayarları için bir sorgu gerçekleştirir. When invoked without + sorgu belirtilmeksizin çağrıldığında, bilinen + değişkenleri değerleriyle birlikte basar. İsteğe bağlı + -v seçeneği liste çıktısını biçemler. + +

Modülünüzü yükleyecek httpd'yi + derlemek için kullanılacak ayarları elle belirtmek için kullanılır. + Örneğin, Apache'nin C başlık dosyalarının yerini kendi Makefile + dosyalarınızın içinde şöyle belirtebilirsiniz:

+

+ INC=-I`apxs -q INCLUDEDIR` +

+
+ + +

Yapılandırma Seçenekleri

+
+
-S isim=deÄŸer
+
Bu seçenek yukarıda açıklanan apxs + ayarlarını değiştirir.
+
+ + +

Şablon Üretme Seçenekleri

+
+
-g
+
modüladı (-n + seçeneğine bakınız) adında bir alt dizin oluşturur ve içine iki dosya + yerleştirir: Kendi modülünüzü oluşturabilmeniz için veya + apxs mekanizmaları ile hemen oynamaya + başlayabilmeniz için mod_modüladı.c adında bir + modül kaynak dosyası örneği ve bu modülü derleyip kurmayı + kolaylaştırmak için bir Makefile dosyası.
+
+ + +

DSO Derleme Seçenekleri

+
+
-c
+
Bu seçenek derleme yapılacağını belirtir. Önce belirtilen C kaynak + dosyalarını (.c), nesne dosyalarını (.o) elde etmek için + derler. Sonra bunları kalan nesne dosyaları (.o ve .a) ile + ilintileyerek dso-dosyası adında bir devingen paylaşımlı + nesne oluşturur. Eğer -o seçeneği ile + modül ismi belirtilmemişse dosyalar arasındaki ilk dosyanın + ismine bakarak dosya ismi tahmin edilmeye çalışılır ve + mod_isim.so dosya adı bu isimden elde + edilir.
+ +
-o dso-dosyası
+
Oluşturulacak devingen paylaşımlı nesnenin ismini belirtmek için + kullanılır. Modül ismi bu seçenekle belirtilmez ve dosya + listesinden bir isim tahmini de yapılamazsa son çare olarak + mod_unknown.so ismi kullanılır.
+ +
-D isim=deÄŸer
+
Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği + derleme işlemine kendi tanımlarınızı belirtmek için kullanın.
+ +
-I include-dizini
+
Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği + derleme işleminde kullanılmak üzere kendi başlık dosyalarınızı içeren + dizinleri arama yollarına eklemek için kullanın.
+ +
-L lib-dizini
+
Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği + derleme işleminde kullanılmak üzere kendi kütüphane dizinlerinizi + arama yollarına eklemek için kullanın.
+ +
-l kütüphane-adı
+
Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği + derleme işleminde kullanılmak üzere kendi kütüphanelerinizi arama + yollarına eklemek için kullanın.
+ +
-Wc,derleyici-seçenekleri
+
Bu seçenek libtool --mode=compile komutuna doğrudan + seçenek aktarmak için kullanılır. Bu seçeneği yerel derleyiciniz için + gereken ek seçenekleri belirtmek için kullanın.
+ +
-Wl,ilintileyici-seçenekleri
+
Bu seçenek libtool --mode=link komutuna doğrudan + seçenek aktarmak için kullanılır. Bu seçeneği yerel ilintileyiciniz + için gereken ek seçenekleri belirtmek için kullanın.
+ +
-p
+
Bu seçenek apxs'in apr/apr-util kütüphaneleriyle ilintilenmesini + sağlar. apr/apr-util kütüphanelerini kullanan yardımcı uygulamaları + derlerken yararlıdır.
+
+ + +

DSO Kurulum ve Yapılandırma Seçenekleri

+ +
+
-i
+
Kurulum işlemini belirtir ve devingen olarak paylaşımlı nesneleri + sunucunun modules dizinine kurar.
+ +
-a
+
İlgili LoadModule satırını + Apache'nin httpd.conf yapılandırma dosyasına özdevinimli + olarak ekleyerek veya böyle bir satır varsa bunu etkin kılarak modülü + etkinleştirir.
+ +
-A
+
LoadModule + yönergesini daha sonra etkinleştirmek üzere satırın başına bir diyez + imi (#) yerleştirmesi dışında + -a seçeneği ile aynıdır.
+ +
-e
+
Modülü kurmaya çalışmaksızın Apache'nin httpd.conf + yapılandırma dosyasını -i işlemine + benzer şekilde -a ve + -A seçenekleri ile düzenleme işlemini + belirtir.
+
+ +
top
+
+

Örnekler

+

Apache'nin sunucu işlevselliğini genişletmek amacıyla kullanacağınız + mod_foo.c adında bir Apache modülünüz olduğunu varsayalım. + Öncelikle, C kaynak dosyasını, Apache sunucusuna çalışma anında + yüklenmeye uygun bir paylaşımlı nesne olarak derlemeniz gerekir. Bunu + sağlamak için şu komutları vermelisiniz:

+ +

+ $ apxs -c mod_foo.c
+ /dosya/yolu/libtool --mode=compile gcc ... -c mod_foo.c
+ /dosya/yolu/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ $ _ +

+ +

Bundan sonra, Apache yapılandırmanızın bu paylaşımlı nesneyi yüklemek + için bir LoadModule yönergesi içermesini + sağlamalısınız. apxs bu adımı + basitleştirmek amacıyla, paylaşımlı nesneyi sunucunun modules + dizinine özdevinimli olarak kurmak ve httpd.conf dosyasını + buna uygun olarak güncellemek için bir yol sağlar. Bu sonuç şöyle elde + edilebilir:

+ +

+ $ apxs -i -a mod_foo.la
+ /dosya/yolu/instdso.sh mod_foo.la /path/to/apache/modules
+ /dosya/yolu/libtool --mode=install cp mod_foo.la /dosya/yolu/apache/modules + ... + chmod 755 /dosya/yolu/apache/modules/mod_foo.so
+ [`foo' modülü /dosya/yolu/apache/conf/httpd.conf'da etkinleştiriliyor]
+ $ _ +

+ +

Yapılandıma dosyasına (eğer yoksa) şu satır eklenir:

+ +

+ LoadModule foo_module modules/mod_foo.so +

+ +

Bunu öntanımlı olarak iptal etmek isterseniz + -A seçeneğini kullanmanız gerekir:

+ +

+ $ apxs -i -A mod_foo.c +

+ +

apxs mekanizmalarını hızlıca denemek + için örnek bir Apache modül şablonunu ve bir Makefile dosyasını şöyle + oluşturabilirsiniz:

+ +

+ $ apxs -g -n foo
+ Creating [DIR] foo
+ Creating [FILE] foo/Makefile
+ Creating [FILE] foo/modules.mk
+ Creating [FILE] foo/mod_foo.c
+ Creating [FILE] foo/.deps
+ $ _ +

+ +

Ardından bu örnek modülü bir paylaşımlı nesne olarak derleyip Apache + sunucusuna yükleyebilirsiniz:

+ +

+ $ cd foo
+ $ make all reload
+ apxs -c mod_foo.c
+ /dosya/yolu/libtool --mode=compile gcc ... -c mod_foo.c
+ /dosya/yolu/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ apxs -i -a -n "foo" mod_foo.la
+ /dosya/yolu/instdso.sh mod_foo.la /dosya/yolu/apache/modules
+ /dosya/yolu/libtool --mode=install cp mod_foo.la /dosya/yolu/apache/modules + ... + chmod 755 /dosya/yolu/apache/modules/mod_foo.so
+ [`foo' modülü /dosya/yolu/apache/conf/httpd.conf'ta etkinleştiriliyor]
+ apachectl restart
+ /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
+ chmod 755 /dosya/yolu/apache/modules/mod_foo.so
+ [`foo' modülü /dosya/yolu/apache/etc/httpd.conf'ta etkinleştiriliyor]
+ apachectl restart
+ /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /dosya/yolu/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/configure.html b/docs/manual/programs/configure.html new file mode 100644 index 0000000..75d1c80 --- /dev/null +++ b/docs/manual/programs/configure.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: configure.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: configure.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: configure.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: configure.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/configure.html.en b/docs/manual/programs/configure.html.en new file mode 100644 index 0000000..deaf354 --- /dev/null +++ b/docs/manual/programs/configure.html.en @@ -0,0 +1,706 @@ + + + + + +configure - Configure the source tree - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

configure - Configure the source tree

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

The configure script configures the source tree + for compiling and installing the Apache HTTP Server on your + particular platform. Various options allow the compilation of a + server corresponding to your personal requirements.

+ +

This script, included in the root directory of the source + distribution, is for compilation on Unix and Unix-like systems + only. For other platforms, see the platform documentation.

+
+ +
top
+
+

Synopsis

+

You should call the configure script from within the + root directory of the distribution.

+ +

./configure [OPTION]... + [VAR=VALUE]...

+ +

To assign environment variables (e.g. CC, + CFLAGS ...), specify them as + VAR=VALUE. See below + for descriptions of some of the useful variables.

+
top
+
+

Options

+ + +

Configuration options

+ +

The following options influence the behavior of + configure itself.

+ +
+
-C
+
--config-cache
+
This is an alias for --cache-file=config.cache
+ +
--cache-file=FILE
+
The test results will be cached in file FILE. + This option is disabled by default.
+ +
-h
+
--help [short|recursive]
+
Output the help and exit. With the argument short only + options specific to this package will displayed. The argument + recursive displays the short help of all the included + packages.
+ +
-n
+
--no-create
+
The configure script is run normally but does + not create output files. This is useful to check the test results + before generating makefiles for compilation.
+ +
-q
+
--quiet
+
Do not print checking ... messages during the + configure process.
+ +
--srcdir=DIR
+
Defines directory DIR to be the source file directory. + Default is the directory where configure is located, or + the parent directory.
+ +
--silent
+
Same as --quiet
+ +
-V
+
--version
+
Display copyright information and exit.
+
+ + +

Installation + directories

+ +

These options define the installation directory. The installation + tree depends on the selected layout.

+ +
+
--prefix=PREFIX
+
Install architecture-independent files in PREFIX. + By default the installation directory is set to + /usr/local/apache2.
+ +
--exec-prefix=EPREFIX
+
Install architecture-dependent files in EPREFIX. + By default the installation directory is set to the + PREFIX directory.
+
+ +

By default, make install will install all the files in + /usr/local/apache2/bin, /usr/local/apache2/lib + etc. You can specify an installation prefix other than + /usr/local/apache2 using --prefix, + for instance --prefix=$HOME.

+ +

Define a directory layout

+
+
--enable-layout=LAYOUT
+
Configure the source code and build scripts to assume an + installation tree based on the layout LAYOUT. This allows + you to separately specify the locations for each type of file within + the Apache HTTP Server installation. The config.layout + file contains several example configurations, and you can also create + your own custom configuration following the examples. The different + layouts in this file are grouped into <Layout + FOO>...</Layout> sections and referred to by name as + in FOO. The default layout is Apache.
+
+ + +

Fine tuning of the installation + directories

+ +

For better control of the installation directories, use the options + below. Please note that the directory defaults are set by + autoconf and are overwritten by the corresponding layout + setting.

+ +
+ +
--bindir=DIR
+
Install user executables in DIR. The user executables + are supporting programs like htpasswd, + dbmmanage, etc. which are useful for site + administrators. By default DIR is set to + EPREFIX/bin.
+ +
--datadir=DIR
+
Install read-only architecture-independent data in DIR. + By default datadir is set to + PREFIX/share. This option is offered by + autoconf and currently unused.
+ +
--includedir=DIR
+
Install C header files in DIR. By default + includedir is set to + EPREFIX/include.
+ +
--infodir=DIR
+
Install info documentation in DIR. + By default infodir is set to + PREFIX/info. This option is currently + unused.
+ +
--libdir=DIR
+
Install object code libraries in DIR. By default + libdir is set to + EPREFIX/lib.
+ +
--libexecdir=DIR
+
Install the program executables (i.e., shared modules) in + DIR. By default libexecdir is set to + EPREFIX/modules.
+ +
--localstatedir=DIR
+
Install modifiable single-machine data in DIR. + By default localstatedir is set to + PREFIX/var. This option is offered by + autoconf and currently unused.
+ +
--mandir=DIR
+
Install the man documentation in DIR. By default + mandir is set to + EPREFIX/man.
+ +
--oldincludedir=DIR
+
Install C header files for non-gcc in DIR. + By default oldincludedir is set to + /usr/include. This option is offered by + autoconf and currently unused.
+ +
--sbindir=DIR
+
Install the system administrator executables in DIR. + Those are server programs like httpd, + apachectl, suexec, etc. which + are necessary to run the Apache HTTP Server. By default + sbindir is set to + EPREFIX/sbin.
+ +
--sharedstatedir=DIR
+
Install modifiable architecture-independent data in DIR. + By default sharedstatedir is set to + PREFIX/com. This option is offered by + autoconf and currently unused.
+ +
--sysconfdir=DIR
+
Install read-only single-machine data like the server configuration + files httpd.conf, mime.types, etc. in + DIR. By default sysconfdir is set to + PREFIX/conf.
+
+ + + +

System types

+ +

These options are used to cross-compile the Apache HTTP Server to run on + another system. In normal cases, when building and running the server on + the same system, these options are not used.

+ +
+
--build=BUILD
+
Defines the system type of the system on which the tools are being + built. It defaults to the result of the script + config.guess.
+ +
--host=HOST
+
Defines the system type of the system on which the server will run. + HOST defaults to BUILD.
+ +
--target=TARGET
+
Configure for building compilers for the system type + TARGET. It defaults to HOST. This option is + offered by autoconf and not necessary for the Apache HTTP + Server.
+
+ + +

Optional Features

+ +

These options are used to fine tune the features your HTTP server will + have.

+ +

General syntax

+

Generally you can use the following syntax to enable or disable a + feature:

+ +
+
--disable-FEATURE
+
Do not include FEATURE. This is the same as + --enable-FEATURE=no.
+ +
--enable-FEATURE[=ARG]
+
Include FEATURE. The default value for ARG + is yes.
+ +
--enable-MODULE=shared
+
The corresponding module will be built as a DSO module. + By default enabled modules are linked dynamically.
+ +
--enable-MODULE=static
+
The corresponding module will be linked statically.
+
+ +

Note

+ configure will not complain about + --enable-foo even if foo doesn't + exist, so you need to type carefully. +
+ + +

Choosing modules to compile

+

Most modules are compiled by default and have to be disabled + explicitly or by using the keyword few + (see --enable-modules, --enable-mods-shared + and --enable-mods-static below for further explanation) + or --enable-modules=none to be removed as a group.

+ +

Other modules are not compiled by default and have to be enabled + explicitly or by using the keywords all or + reallyall to be available.

+ +

To find out which modules are compiled by default, run + ./configure -h or ./configure --help + and look under Optional Features. Suppose you + are interested in mod_example1 and + mod_example2, and you + see this:

+ +
Optional Features:
+  ...
+  --disable-example1     example module 1
+  --enable-example2      example module 2
+  ...
+ +

Then mod_example1 is enabled by default, + and you would use --disable-example1 to not + compile it. mod_example2 is disabled by + default, and you would use --enable-example2 + to compile it.

+ + +

Multi-Processing Modules

+

Multi-Processing Modules, or MPMs, implement + the basic behavior of the server. A single MPM must be active in order + for the server to function. The list of available MPMs appears on the + module index page.

+ +

MPMs can be built as DSOs for dynamic loading or statically linked with + the server, and are enabled using the following options:

+ +
+
--with-mpm=MPM
+
+

Choose the default MPM for your server. If MPMs are built as DSO + modules (see --enable-mpms-shared), this directive + selects the MPM which will be loaded in the default configuration + file. Otherwise, this directive selects the only available MPM, + which will be statically linked into the server.

+

If this option is omitted, the default + MPM for your operating system will be used.

+
+ +
--enable-mpms-shared=MPM-LIST
+
+

Enable a list of MPMs as dynamic shared modules. One of these + modules must be loaded dynamically using the + LoadModule directive.

+

MPM-LIST is a space-separated list of MPM names + enclosed by quotation marks. For example:

+

+ --enable-mpms-shared='prefork worker' +

+

Additionally you can use the special keyword all, + which will select all MPMs which support dynamic loading on the + current platform and build them as DSO modules. For example:

+

+ --enable-mpms-shared=all +

+
+
+ + +

Third-party modules

+

To add additional third-party modules use the following options:

+ +
+
--with-module=module-type:module-file[, + module-type:module-file]
+

Add one or more third-party modules to the list of statically linked + modules. The module source file module-file + will be searched in the modules/module-type + subdirectory of your Apache HTTP server source tree. If it is not found + there configure is considering module-file to be + an absolute file path and tries to copy the source file into the + module-type subdirectory. If the subdirectory doesn't + exist it will be created and populated with a standard + Makefile.in.

+

This option is useful to add small external modules consisting of + one source file. For more complex modules you should read the + vendor's documentation.

+

Note

+ If you want to build a DSO module instead of a statically linked + use apxs.
+
+
+ + +

Cumulative and other options

+
+
--enable-maintainer-mode
+
Turn on debugging and compile time warnings + and load all compiled modules.
+ +
--enable-mods-shared=MODULE-LIST
+
+

Defines a list of modules to be enabled and build as dynamic + shared modules. This mean, these module have to be loaded + dynamically by using the LoadModule directive.

+

MODULE-LIST is a space separated list of modulenames + enclosed by quotation marks. The module names are given without the + preceding mod_. For example:

+

+ --enable-mods-shared='headers rewrite dav' +

+

Additionally you can use the special keywords reallyall, + all, most and few. + For example,

+

+ --enable-mods-shared=most +

+

will compile most modules and build them as DSO modules,

+

+ --enable-mods-shared=few +

+

will only compile a very basic set of modules.

+

The default set is most.

+ +

The LoadModule directives for + the chosen modules will be automatically generated in the main + configuration file. By default, all those directives will be commented + out except for the modules that are either required or explicitly selected + by a configure --enable-foo argument. You can change the set + of loaded modules by activating or deactivating the LoadModule directives in + httpd.conf. In addition the + LoadModule directives for all + built modules can be activated via the configure option + --enable-load-all-modules.

+
+ +
--enable-mods-static=MODULE-LIST
+
This option behaves similar to --enable-mods-shared, + but will link the given modules statically. This mean, these modules + will always be present while running httpd. They need + not be loaded with LoadModule.
+ +
--enable-modules=MODULE-LIST
+
This option behaves like to --enable-mods-shared, + and will also link the given modules dynamically. The special + keyword none disables the build of all modules.
+ +
--enable-v4-mapped
+
Allow IPv6 sockets to handle IPv4 connections.
+ +
--with-port=PORT
+
This defines the port on which httpd will listen. + This port number is used when generating the configuration file + httpd.conf. The default is 80.
+ +
--with-program-name
+
Define an alternative executable name. The default is + httpd.
+
+ + + +

Optional packages

+

These options are used to define optional packages.

+ +

General syntax

+

Generally you can use the following syntax to define an optional + package:

+ +
+
--with-PACKAGE[=ARG]
+
Use the package PACKAGE. The default value for + ARG is yes.
+ +
--without-PACKAGE
+
Do not use the package PACKAGE. This is the same as + --with-PACKAGE=no. This option is provided by + autoconf but not very useful for the Apache HTTP + Server.
+
+ + + + +

Specific packages

+
+
--with-apr=DIR|FILE
+
The Apache Portable Runtime (APR) + is part of the httpd + source distribution and will automatically be build together with the + HTTP server. If you want to use an already installed APR instead you + have to tell configure the path to the + apr-config script. You may set the absolute path and name + or the directory to the installed APR. apr-config must + exist within this directory or the subdirectory + bin.
+ +
--with-apr-util=DIR|FILE
+
The Apache Portable Runtime Utilities (APU) are part of the + httpd source distribution and will automatically be build + together with the HTTP server. If you want to use an already installed + APU instead you have to tell configure the path to the + apu-config script. You may set the absolute path and name + or the directory to the installed APU. apu-config must + exist within this directory or the subdirectory + bin.
+ +
--with-ssl=DIR
+
If mod_ssl has been enabled configure + searches for an installed OpenSSL. You can set the directory path + to the SSL/TLS toolkit instead.
+ +
--with-z=DIR
+
configure searches automatically for an installed + zlib library if your source configuration requires one + (e.g., when mod_deflate is enabled). You can set the + directory path to the compression library instead.
+
+ +

Several features of the Apache HTTP Server, including + mod_authn_dbm and mod_rewrite's DBM + RewriteMap use simple + key/value databases for quick lookups of information. SDBM is included + in the APU, so this database is always available. If you would like to + use other database types, use the following options to enable + them:

+ +
+
--with-gdbm[=path]
+
If no path is specified, configure will + search for the include files and libraries of a GNU DBM + installation in the usual search paths. An explicit + path will cause configure to look in + path/lib and + path/include for the relevant files. + Finally, the path may specify specific include and + library paths separated by a colon.
+ +
--with-ndbm[=path]
+
Like --with-gdbm, but searches for a New DBM + installation.
+ +
--with-berkeley-db[=path]
+
Like --with-gdbm, but searches for a Berkeley DB + installation.
+
+ +

Note

+

The DBM options are provided by the APU and passed through to its + configuration script. They are useless when using an already + installed APU defined by --with-apr-util.

+

You may use more then one DBM implementation together with your + HTTP server. The appropriated DBM type will be configured within + the runtime configuration at each time.

+
+ + + +

Options for support programs

+
+
--enable-static-support
+
Build a statically linked version of the support binaries. This + means, a stand-alone executable will be built with all the necessary + libraries integrated. Otherwise the support binaries are linked + dynamically by default.
+ +
--enable-suexec
+
Use this option to enable suexec, which allows you to set + uid and gid for spawned processes. Do not use this + option unless you understand all the security implications of + running a suid binary on your server. Further options + to configure suexec are described below.
+
+ +

It is possible to create a statically linked binary of a single + support program by using the following options:

+ +
+
--enable-static-ab
+
Build a statically linked version of ab.
+ + +
--enable-static-checkgid
+
Build a statically linked version of checkgid.
+ +
--enable-static-htdbm
+
Build a statically linked version of htdbm.
+ +
--enable-static-htdigest
+
Build a statically linked version of htdigest.
+ +
--enable-static-htpasswd
+
Build a statically linked version of htpasswd.
+ +
--enable-static-logresolve
+
Build a statically linked version of logresolve.
+ +
--enable-static-rotatelogs
+
Build a statically linked version of rotatelogs.
+
+ +

suexec configuration options

+ +

The following options are used to fine tune the behavior of suexec. See Configuring and installing suEXEC + for further information.

+ +
+
--with-suexec-bin
+
This defines the path to suexec binary. + Default is --sbindir (see Fine tuning of installation directories).
+ +
--with-suexec-caller
+
This defines the user allowed to call suexec. + It should be the same as the user under which + httpd normally runs.
+ +
--with-suexec-docroot
+
This defines the directory tree under which suexec access is allowed for executables. Default value is + --datadir/htdocs.
+ +
--with-suexec-gidmin
+
Define this as the lowest GID allowed to be a target user for + suexec. The default value is 100.
+ +
--with-suexec-logfile
+
This defines the filename of the suexec logfile. + By default the logfile is named suexec_log and located in + --logfiledir.
+ +
--with-suexec-safepath
+
Define the value of the environment variable PATH to + be set for processes started by suexec. Default + value is /usr/local/bin:/usr/bin:/bin.
+ +
--with-suexec-userdir
+
This defines the subdirectory under the user's directory that + contains all executables for which suexec access + is allowed. This setting is necessary when you want to use + suexec together with user-specific directories (as + provided by mod_userdir). The default is + public_html.
+ +
--with-suexec-uidmin
+
Define this as the lowest UID allowed to be a target user for + suexec. The default value is 100.
+ +
--with-suexec-umask
+
Set umask for processes started by + suexec. It defaults to your system settings.
+
+ + +
top
+
+

Environment variables

+

There are some useful environment variables to override the choices made by + configure or to help it to find libraries and programs with + nonstandard names or locations.

+ + +
+
CC
+
Define the C compiler command to be used for compilation.
+ +
CFLAGS
+
Set C compiler flags you want to use for compilation.
+ +
CPP
+
Define the C preprocessor command to be used.
+ +
CPPFLAGS
+
Set C/C++ preprocessor flags, e.g. -Iincludedir + if you have headers in a nonstandard directory includedir.
+ +
LDFLAGS
+
Set linker flags, e.g. -Llibdir if you have + libraries in a nonstandard directory libdir.
+
+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/configure.html.fr.utf8 b/docs/manual/programs/configure.html.fr.utf8 new file mode 100644 index 0000000..1f817f4 --- /dev/null +++ b/docs/manual/programs/configure.html.fr.utf8 @@ -0,0 +1,790 @@ + + + + + +configure - Configure l'arborescence des sources - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

configure - Configure l'arborescence des sources

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

Le script configure permet de configurer + l'arborescence des sources afin de compiler et installer le serveur + HTTP Apache sur votre plate-forme spécifique. De nombreuses options + vous permettent de compiler un serveur correspondant à vos propres + besoins.

+ +

Ce script, situé dans le répertoire racine de la distribution des + sources, ne concerne que la compilation sur les systèmes Unix et + apparentés. Pour les autres plates-formes, voir la documentation spécifique de ces + dernières.

+
+ +
top
+
+

Résumé

+

Vous devez appeler le script configure depuis le + répertoire racine de la distribution.

+ +

./configure [OPTION]... + [VARIABLE=VALEUR]...

+ +

Pour définir des variables d'environnement (par exemple + CC,CFLAGS, etc...), utilisez la clause + VARIABLE=VALEUR. Voir ci-dessous pour la description de quelques variables + usuelles.

+
top
+
+

Options

+ + +

Options de Configuration

+ +

Les options suivantes affectent le comportement du script + configure.

+ +
+
-C
+
--config-cache
+
C'est un alias pour --cache-file=config.cache
+ +
--cache-file=FICHIER
+
Les résultats des tests seront mis en cache dans le fichier + FICHIER. Cette option est désactivée par défaut.
+ +
-h
+
--help [short|recursive]
+
Affichage de l'aide et sortie du script. Avec l'argument + short, seules les options spécifiques à ce paquet + seront affichées. L'argument recursive permet + d'afficher l'aide de tous les paquets inclus.
+ +
-n
+
--no-create
+
Le script configure s'exécute normalement, mais + ne crée pas les fichiers résultants. Ceci permet de vérifier les + résultats des tests avant de générer les fichiers makefile pour la + compilation.
+ +
-q
+
--quiet
+
Les messages checking ... ne sont pas affichés au + cours du processus de configuration.
+ +
--srcdir=DIR
+
Définit le répertoire DIR comme répertoire des + fichiers sources. Par défaut, c'est le répertoire où se situe le + script configure, ou le répertoire parent.
+ +
--silent
+
Identique à --quiet
+ +
-V
+
--version
+
Affichage des informations de copyright et sortie du + script.
+
+ + +

Répertoires + d'installation

+ +

Ces options permettent de spécifier le répertoire d'installation. + L'arborescence de l'installation dépend de l'organisation (layout) + sélectionnée.

+ +
+
--prefix=PREFIX
+
Installe les fichiers indépendants de l'architecture dans + PREFIX. Par défaut, le répertoire d'installation est + /usr/local/apache2.
+ +
--exec-prefix=EPREFIX
+
Installe les fichiers dépendants de l'architecture dans + EPREFIX. La valeur par défaut de cette option + correspond à la valeur de la variable + PREFIX.
+
+ +

Par défaut, make install va installer tous les + fichiers dans /usr/local/apache2/bin, + /usr/local/apache2/lib, etc... Vous pouvez cependant + spécifier un préfixe d'installation autre que + /usr/local/apache2 en utilisant l'option + --prefix (par exemple --prefix=$HOME).

+ +

Spécifier une organisation (layout) des + répertoires

+
+
--enable-layout=LAYOUT
+
Configure le code source et les scripts de compilation de + façon à ce que l'arborescence d'installation adopte + l'organisation LAYOUT. Ceci vous permet de spécifier + des chemins séparés pour chaque type de fichier de + l'installation du serveur HTTP Apache. Le fichier + config.layout contient de nombreux exemples de + configurations, et vous pouvez créer vos propres configurations + personnalisées en vous basant sur ces exemples. Les différentes + organisations contenues dans ce fichier sont enregistrées sous + forme de sections <Layout + FOO>...</Layout> et référencées dans ce cas par + le nom FOO. L'organisation par défaut + est Apache.
+
+ + +

Configuration avancée des + répertoires d'installation

+ +

Pour une définition plus précise des répertoires + d'installation, utilisez les options ci-dessous. Notez que les + répertoires par défaut sont définis par autoconf, et + que leurs valeurs sont écrasées par les valeurs correspondantes + définies lors du choix de l'organisation des répertoires + (layout).

+ +
+
--bindir=DIR
+
Installe les exécutables utilisateur dans DIR. + Les exécutables utilisateur sont des programmes support comme + htpasswd, dbmmanage, + etc..., et destinés aux administrateurs du site. Par défaut, + DIR est défini à + EPREFIX/bin.
+ +
--datadir=DIR
+
Installe les données non modifiables indépendantes de + l'architecture dans DIR. Par défaut, + datadir est défini à + PREFIX/share. Cette option est fournie + par autoconf et actuellement inutilisée.
+ +
--includedir=DIR
+
Installe les fichiers d'en-têtes C dans DIR. Par + défaut, includedir est défini à + EPREFIX/include.
+ +
--infodir=DIR
+
Installe la documentation info dans DIR. Par + défaut, infodir est défini à + PREFIX/info. Cette option est + actuellement inutilisée.
+ +
--libdir=DIR
+
Installe les fichiers objet des bibliothèques dans + DIR. Par défaut, libdir est défini à + EPREFIX/lib.
+ +
--libexecdir=DIR
+
Installe les exécutables du programme (autrement dit les + modules partagés) dans DIR. Par défaut, + libexecdir est défini à + EPREFIX/modules.
+ +
--localstatedir=DIR
+
Installe les données temporaires modifiables spécifiques à + la machine dans + DIR. Par défaut, localstatedir est + défini à PREFIX/var. Cette option est + fournie par autoconf et est actuellement + inutilisée.
+ +
--mandir=DIR
+
Installe les pages de manuel dans DIR. Par + défaut, mandir est défini à + EPREFIX/man.
+ +
--oldincludedir=DIR
+
Installe les fichiers d'en-têtes C pour les programmes + autres que gcc dans DIR. Par défaut, + oldincludedir est défini à + /usr/include. Cette option est fournie par + autoconf et est actuellement inutilisée.
+ +
--sbindir=DIR
+
Installe les exécutables de l'administrateur système dans + DIR. Ce sont les programmes du serveur comme + httpd, apachectl, + suexec, etc..., qui sont nécessaires à + l'exécution du serveur HTTP Apache. Par défaut, + sbindir est défini à + EPREFIX/sbin.
+ +
--sharedstatedir=DIR
+
Installe les données modifiables indépendantes de + l'architecture dans DIR. Par défaut, + sharedstatedir est défini à + PREFIX/com. Cette option est fournie par + autoconf et est actuellement inutilisée.
+ +
--sysconfdir=DIR
+
Installe les données non modifiables spécifiques à la + machine comme les fichiers de configuration du serveur + httpd.conf, mime.types, etc... dans + DIR. Par défaut, sysconfdir est défini à + PREFIX/conf.
+
+ + + +

Types de systèmes

+ +

Ces options sont utilisées pour la cross-compilation du serveur + HTTP Apache afin de pouvoir l'utiliser sur un autre système. Dans le + cas général où la compilation et l'exécution du serveur ont lieu sur + le même système, ces options ne sont pas utilisées.

+ +
+
--build=BUILD
+
Définit le type du système sur lequel les outils sont + compilés. Par défaut, il s'agit de la chaîne renvoyée par le + script config.guess.
+ +
--host=HOST
+
Définit le type du système sur lequel le serveur s'exécutera. + Par défaut, HOST est identique à BUILD.
+ +
--target=TARGET
+
Configure pour construire des compilateurs pour le type de + système TARGET. Par défaut, TARGET est + identique à HOST. Cette option est fournie par + autoconf et n'est pas requise par le serveur HTTP + Apache.
+
+ + +

Fonctionnalités + optionnelles

+ +

Ces options vous permettent de configurer avec précision les + fonctionnalités de votre futur serveur HTTP.

+ +

Syntaxe générale

+

D'une manière générale, vous pouvez utiliser la syntaxe + suivante pour activer ou désactiver une fonctionnalité :

+ +
+
--disable-FONCTIONNALITE
+
Désactive la fonctionnalité FONCTIONNALITE. + Identique à + --enable-FONCTIONNALITE=no.
+ +
--enable-FONCTIONNALITE[=ARG]
+
Active la fonctionnalité FONCTIONNALITE. La + valeur par défaut de ARG est yes.
+ +
--enable-MODULE=shared
+
Le module spécifié sera compilé en tant que module DSO. Par + défaut, les modules activés sont liés dynamiquement.
+ +
--enable-MODULE=static
+
Le module correspondant sera lié statiquement.
+
+ +

Note

+ Si vous spécifiez --enable-foo, et si + foo n'existe pas, configure ne le + signalera pas ; vous devez donc prendre soin de taper les + options correctement. +
+ + +

Choix des modules à compiler

+

La plupart des modules sont compilés par défaut et ils doivent être + désactivés de manière explicite ou via le mots-clé few (voir + ci-dessous --enable-modules, + --enable-mods-shared et --enable-mods-static + pour une explication plus détaillée), ou + --enable-modules=none pour les désactiver tous.

+ +

Par défaut, les autres modules ne sont pas compilés et doivent + être activés explicitement, ou en utilisant les mots-clés + all ou reallyall pour être disponibles.

+ +

Pour déterminer quels modules sont compilés par défaut, + exécutez la commande ./configure -h ou + ./configure --help, et consultez les Optional + Features. Par exemple, supposons que vous soyez intéressé + par les modules mod_example1 et + mod_example2, et que vous voyiez ceci :

+ +
Optional Features:
+  ...
+  --disable-example1     example module 1
+  --enable-example2      example module 2
+  ...
+ +

Le module mod_example1 est ici activé par + défaut, et vous devez spécifier --disable-example1 + si vous ne voulez pas le compiler. Par contre, le module + mod_example2 est désactivé par défaut, et vous + devez spécifier --enable-example2 si vous voulez le + compiler.

+ + + +

Modules Multi-Processus

+

Les Modules Multi-Processus, ou MPMs, + constituent le coeur du serveur. Un seul MPM doit être actif pour + que le serveur puisse fonctionner. Vous trouverez la liste des + MPMs disponibles à module index page.

+ +

Les MPMs peuvent être compilés en tant que modules DSO pour un + chargement dynamique, ou liés statiquement avec le serveur, et + sont activés via les options suivantes :

+ +
+
--with-mpm=MPM
+
+

Sélectionne le MPM par défaut pour votre serveur. Si les + MPMs sont compilés en tant que modules DSO (voir + --enable-mpms-shared), cette option spécifie le + MPM qui sera chargé par défaut selon le fichier de + configuration. Dans le cas contraire, cette option spécifie le + seul MPM disponible qui sera lié statiquement avec le + serveur.

+

Si cette option est omise, c'est le MPM par défaut pour votre + système d'exploitation qui sera utilisé.

+
+ +
--enable-mpms-shared=Liste de MPM
+
+

Définit une liste de MPMs à compiler en tant que modules + dynamiquement partagés (DSO). Un de ces modules doit être + chargé dynamiquement via la directive LoadModule.

+

Liste de MPM est une liste, entourée + d'apostrophes, de noms de MPM séparés par des espaces. Par + exemple :

+

+ --enable-mpms-shared='prefork worker' +

+

Vous pouvez aussi utiliser le mot-clé all, ce + qui aura pour effet de spécifier tous les MPMs qui supportent + le chargement dynamique sur la plate-forme considérée, et de + les compiler en tant que modules DSO. Par exemple :

+

+ --enable-mpms-shared=all +

+
+
+ + +

Modules tiers

+

Pour ajouter des modules tiers, utilisez les options suivantes + :

+ +
+
--with-module=type-module:fichier-module[, + type-module:fichier-module]
+

Ajoute un ou plusieurs modules tiers à la liste des + modules liés statiquement. Le fichier source du module + fichier-module sera recherché dans le sous-répertoire + type-module de l'arborescence des sources de votre + serveur HTTP Apache. S'il ne l'y trouve pas, + configure considèrera fichier-module + comme un chemin de fichier absolu et essaiera de copier le + fichier source dans le sous-répertoire type-module. + Si ce sous-répertoire n'existe pas, il sera créé et un fichier + Makefile.in standard y sera enregistré.

+

Cette option est conçue pour ajouter de petits modules + externes ne comportant qu'un seul fichier source. Pour des + modules plus complexes, vous devrez lire la documentation du + fournisseur du module.

+

Note

+ Si vous voulez compiler un module DSO (lié de manière + dynamique au lieu de statique), utilisez le programme + apxs.
+
+ +
+ + +

Options cumulatives et autres + options

+
+
--enable-maintainer-mode
+
Active les avertissements de débogage et de compilation et + charge tous les modules compilés.
+ +
--enable-mods-shared=LISTE-MODULES
+
+

Définit une liste de modules à activer et à compiler en + tant que modules dynamiques partagés. Cela signifie que ces + modules doivent être chargés dynamiquement en utilisant la + directive LoadModule.

+

LISTE-MODULES est une liste, entourée + d'apostrophes, de noms de modules + séparés par des espaces. Les noms + des modules sont spécifiés sans le préfixe mod_. + Par exemple :

+

+ --enable-mods-shared='headers rewrite dav' +

+

Vous pouvez aussi utiliser les mots-clés reallyall, + all, most et few. Par + exemple,

+

+ --enable-mods-shared=most +

+

va compiler la plupart des modules en tant que modules DSO,

+

+ --enable-mods-shared=few +

+

ne compilera qu'un jeu de modules de base.

+

Le jeu par défaut correspond au mot-clé most.

+ +

Les directives LoadModule correspondant aux + différents modules choisis sont automatiquement générées dans + le fichier de configuration principal. Par défaut, toutes ces + directives sont mises en commentaire, sauf pour les modules + requis ou ceux explicitement sélectionnés par un argument + --enable-nom-module du script configure. Vous + pouvez modifier le jeu de modules chargé en activant ou + désactivant les directives LoadModule dans le fichier + httpd.conf. En outre, les directives LoadModule peuvent être activées + pour tous les modules compilés via l'option + --enable-load-all-modules du script configure.

+ +
+ +
--enable-mods-static=MODULE-LIST
+
Cette option produit le même effet que l'option + --enable-mods-shared, à l'exception que les modules + seront liés statiquement. Cela signifie que les modules + spécifiés seront toujours disponibles au cours du fonctionnement + de httpd. Ils n'ont pas besoin d'être chargés + via la directive LoadModule.
+ +
--enable-modules=MODULE-LIST
+
Cette option se comporte comme + --enable-mods-shared, et va aussi lier les modules + concernés dynamiquement. Le mot-clé spécial none + désactive la compilation de tous les modules.
+ +
--enable-v4-mapped
+
Permet aux sockets IPv6 de traiter les connexions IPv4.
+ +
--with-port=PORT
+
Permet de définir le port que le programme + httpd va écouter. Ce numéro de port est + utilisé lors de la génération du fichier de configuration + httpd.conf. Sa valeur par défaut est 80.
+ +
--with-program-name
+
Permet de définir un nom d'exécutable alternatif. Le nom par + défaut est httpd.
+
+ + + +

Paquets optionnels

+

Ces options permettent de définir des paquets optionnels.

+ +

Syntaxe générale

+

D'une manière générale, vous pouvez utiliser la syntaxe + suivante pour définir un paquet optionnel :

+ +
+
--with-PAQUET[=ARG]
+
Utilise le paquet PAQUET. La valeur par défaut de + ARG est yes.
+ +
--without-PAQUET
+
N'utilise pas le paquet PAQUET. Cette option est + identique à --with-PAQUET=no. Elle est + fournie par autoconf mais n'est pas très utile pour + le serveur HTTP Apache.
+
+ + + + +

Paquets spécifiques

+
+
--with-apr=REP|FICHIER
+
La Bibliothèque pour la portabilité + d'Apache ou + Apache Portable Runtime (APR) fait partie de la + distribution des sources de httpd et est compilée + automatiquement avec le serveur HTTP. Si vous voulez utiliser + une APR déjà installée à la place, vous devez indiquer à + configure le chemin du script + apr-config. Vous pouvez spécifier le chemin absolu + et le nom ou le répertoire d'installation de l'APR. + apr-config doit se trouver dans ce répertoire ou + dans le sous-repertoire bin.
+ +
--with-apr-util=REP|FICHIER
+
Les utilitaires pour la Bibliothèque pour la portabilité + d'Apache ou Apache Portable Runtime Utilities (APU) font partie de la + distribution des sources de httpd et sont compilés + automatiquement avec le serveur HTTP. Si vous voulez utiliser + des APU déjà installés à la place, vous devez indiquer à + configure le chemin du script + apu-config. Vous pouvez spécifier le chemin absolu + et le nom ou le répertoire d'installation des APU. + apu-config doit se trouver dans ce répertoire ou + dans le sous-repertoire bin.
+ +
--with-ssl=REP
+
Si mod_ssl a été activé, + configure recherche une installation d'OpenSSL. + Vous pouvez définir le répertoire de la boîte à outils SSL/TLS à + la place.
+ +
--with-z=REP
+
configure recherche automatiquement une + bibliothèque zlib installée si la configuration de + vos sources en nécessite une (par exemple lorsque + mod_deflate est activé). Vous pouvez définir le + répertoire de la bibliothèque de compression à la place.
+
+ +

De nombreuses fonctionnalités du serveur HTTP Apache, y compris + les directives RewriteMap DBM de + mod_rewrite et mod_authn_dbm + utilisent une base de données simple + de la forme clé/valeur pour une recherche rapide d'informations. + SDBM, inclus dans les APU, est donc toujours disponible. Si vous + souhaitez utiliser d'autres types de bases de données, utilisez + les options suivantes afin de les activer :

+ +
+
--with-gdbm[=chemin]
+
Si aucun chemin n'est spécifié, + configure va rechercher les fichiers d'en-têtes et + les bibliothèques d'une installation DBM GNU dans les chemins + standards. Avec un chemin explicite, + configure recherchera les fichiers concernés dans + chemin/lib et + chemin/include. En fait, + chemin permet de spécifier plusieurs chemins + d'en-têtes et bibliothèques spécifiques en les séparant par des + caractères ':'.
+ +
--with-ndbm[=chemin]
+
Identique à --with-gdbm, mais recherche une + installation de New DBM.
+ +
--with-berkeley-db[=chemin]
+
Identique à --with-gdbm, mais recherche une + installation de Berkeley DB.
+
+ +

Note

+

Les options DBM sont fournies par les APU et passées en + paramètres à son script de configuration. Elles sont inutiles + lorsqu'on utilise des APU déjà installés définis par + --with-apr-util.

+

Vous pouvez utiliser plusieurs implémentations DBM avec votre + serveur HTTP. Le type DBM approprié sera choisi au cours de la + configuration de l'exécution à chaque démarrage.

+
+ + + +

Options pour les programmes de + support

+
+
--enable-static-support
+
Permet de compiler une version des binaires de support liés + statiquement. En d'autres termes, la compilation produira un + exécutable indépendant comportant toutes les bibliothèques + nécessaires. Sans cette option, les binaires de supports sont liés + dynamiquement.
+ +
--enable-suexec
+
Utilisez cette option pour activer la programme + suexec, qui vous permet de définir un uid et un + gid pour les processus lancés. N'utilisez cette option que + si vous maîtrisez toutes les implications en matière de sécurité + de l'exécution d'un binaire suid sur votre serveur. + D'autres options permettent de configurer + suexec comme décrit ci-dessous.
+
+ +

Il est possible de lier statiquement le binaire d'un programme + support particulier en utilisant les options suivantes :

+ +
+
--enable-static-ab
+
Compile une version liée statiquement du programme + ab.
+ + +
--enable-static-checkgid
+
>Compile une version liée statiquement du programme + checkgid.
+ +
--enable-static-htdbm
+
Compile une version liée statiquement du programme htdbm.
+ +
--enable-static-htdigest
+
Compile une version liée statiquement du programme htdigest.
+ +
--enable-static-htpasswd
+
Compile une version liée statiquement du programme htpasswd.
+ +
--enable-static-logresolve
+
Compile une version liée statiquement du programme logresolve.
+ +
--enable-static-rotatelogs
+
Compile une version liée statiquement du programme rotatelogs.
+
+ +

Options de configuration de suexec

+ +

Les options suivantes permettent de définir avec précision le + comportement du programme suexec. Voir Configurer et installer suEXEC + pour plus de détails.

+ +
+
--with-suexec-bin
+
Définit le chemin du binaire suexec. La + valeur par défaut est --sbindir (voir Définition précise des répertoires + d'installation).
+ +
--with-suexec-caller
+
Définit l'utilisateur qui a l'autorisation d'appeler + suexec. Il est en général souhaitable que ce + soit le même que celui sous lequel httpd + s'exécute.
+ +
--with-suexec-docroot
+
Définit l'arborescence des répertoires dans laquelle le + lancement des exécutables via suexec est + autorisé. La valeur par défaut est + --datadir/htdocs.
+ +
--with-suexec-gidmin
+
Définit la valeur de GID la plus basse autorisée comme + valeur cible pour suexec. La valeur par + défaut est 100.
+ +
--with-suexec-logfile
+
Définit le nom du fichier journal de + suexec. La valeur par défaut est + --logfiledir/suexec_log.
+ +
--with-suexec-safepath
+
Définit la valeur de la variable d'environnement + PATH pour les processus lancés par + suexec. La valeur par défaut est + /usr/local/bin:/usr/bin:/bin.
+ +
--with-suexec-userdir
+
Définit le sous-répertoire du répertoire utilisateur qui + contient tous les exécutables pouvant être lancés par + suexec. Cette option est nécessaire si vous + souhaitez utiliser suexec avec des + répertoires utilisateurs (définis via + mod_userdir). La valeur par défaut est + public_html.
+ +
--with-suexec-uidmin
+
Définit la valeur d'UID la plus basse autorisée comme + valeur cible pour suexec. La valeur par + défaut est 100.
+ +
--with-suexec-umask
+
Définit le masque de permissions umask pour les + processus lancés par suexec. Il correspond + par défaut au masque défini par la configuration de votre + système.
+
+ + +
top
+
+

Variables d'environnement

+

Certaines variables d'environnement permettent de modifier les + choix effectués par configure, ou d'aider ce dernier à + trouver les bibliothèques et programmes possédant des noms et chemins + non standards.

+ + +
+
CC
+
Définit la commande du compilateur C à utiliser pour la + compilation.
+ +
CFLAGS
+
Définit les paramètres du compilateur C que vous voulez utiliser + pour la compilation.
+ +
CPP
+
Définit la commande du préprocesseur C à utiliser.
+ +
CPPFLAGS
+
Définit les paramètres du préprocesseur C/C++, par exemple + -Irépertoire-include, si certains de vos + fichiers d'en-têtes se trouvent dans le répertoire non standard + répertoire-include.
+ +
LDFLAGS
+
Définit les paramètres de l'éditeur de liens, par exemple + -Lrépertoire-lib, si certaines de vos + bibliothèques se trouvent dans le répertoire non standard + répertoire-lib.
+
+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/configure.html.ko.euc-kr b/docs/manual/programs/configure.html.ko.euc-kr new file mode 100644 index 0000000..999ca93 --- /dev/null +++ b/docs/manual/programs/configure.html.ko.euc-kr @@ -0,0 +1,960 @@ + + + + + +configure - ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÑ´Ù - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

configure - ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÑ´Ù

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

configure ½ºÅ©¸³Æ®´Â ƯÁ¤ Ç÷¡Æû¿¡¼­ ¾ÆÆÄÄ¡ + À¥¼­¹ö¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇϱâÀ§ÇØ ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÑ´Ù. ¿©·¯ + ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿øÇÏ´Â ¿ä±¸Á¶°Ç¿¡ ¸Â°Ô ¼­¹ö¸¦ ÄÄÆÄÀÏÇÒ ¼ö + ÀÖ´Ù.

+ +

¼Ò½º ¹èÆ÷º»ÀÇ ÃÖ»óÀ§ µð·ºÅ丮¿¡ ÀÖ´Â ÀÌ ½ºÅ©¸³Æ®´Â À¯´Ð½º¿Í + À¯´Ð½º·ù ½Ã½ºÅÛ¿¡¼­¸¸ »ç¿ëÇÑ´Ù. ´Ù¸¥ Ç÷¡ÆûÀ» »ç¿ëÇÑ´Ù¸é + Ç÷¡Æû ¹®¼­¸¦ Âü°íÇ϶ó.

+
+ +
top
+
+

°³¿ä

+

configure ½ºÅ©¸³Æ®´Â ¹èÆ÷º»ÀÇ ÃÖ»óÀ§ + µð·ºÅ丮¿¡¼­ ½ÇÇàÇØ¾ß ÇÑ´Ù.

+ +

./configure [OPTION]... + [VAR=VALUE]...

+ +

ȯ°æº¯¼ö¸¦ (¿¹¸¦ µé¾î, CC, CFLAGS, + ...) ÁöÁ¤ÇÏ·Á¸é, VAR=VALUE¿Í + °°ÀÌ Áö½ÃÇÑ´Ù. ¾Æ·¡¿¡¼­ À¯¿ëÇÑ È¯°æº¯¼öµéÀ» + ¼³¸íÇÑ´Ù.

+
top
+
+

¿É¼Ç

+ + +

±¸¼º ¿É¼Ç

+ +

ÀÌ ¿É¼ÇµéÀº configure ÀÚü Çൿ¿¡ ¿µÇâÀ» + ÁØ´Ù.

+ +
+
-C
+
--config-cache
+
--cache-file=config.cache¿Í °°´Ù.
+ +
--cache-file=FILE
+
°Ë»ç °á°ú¸¦ FILE ÆÄÀÏ¿¡ ij½ÌÇÑ´Ù. + ±âº»°ªÀº °Ë»ç °á°ú¸¦ ±â·ÏÇÏÁö ¾Ê´Â´Ù.
+ +
-h
+
--help [short|recursive]
+
µµ¿ò¸»À» Ãâ·ÂÇÏ°í Á¾·áÇÑ´Ù. short ¾Æ±Ô¸ÕÆ®´Â + ÀÌ ÆÐÅ°Áö ƯÀ¯ÀÇ ¿É¼Ç¸¸À» Ãâ·ÂÇÑ´Ù. recursive + ¾Æ±Ô¸ÕÆ®´Â Æ÷ÇÔµÈ ¸ðµç ÆÐÅ°Áö¿¡ ´ëÇÑ ÂªÀº µµ¿ò¸»À» + º¸¿©ÁØ´Ù.
+ +
-n
+
--no-create
+
configure ½ºÅ©¸³Æ®¸¦ Á¤»óÀûÀ¸·Î ½ÇÇàÇÏÁö¸¸, + Ãâ·ÂÆÄÀÏÀ» ¸¸µéÁö ¾Ê´Â´Ù. ÀÌ ¿É¼ÇÀº ÄÄÆÄÀÏÀ» À§ÇÑ makefileÀ» + ¸¸µé±â ÀÌÀü¿¡ °Ë»ç °á°ú¸¦ È®ÀÎÇغ¼¶§ À¯¿ëÇÏ´Ù.
+ +
-q
+
--quiet
+
½ÇÇàÁß¿¡ checking ... ¹®±¸¸¦ Ãâ·ÂÇÏÁö + ¾Ê´Â´Ù.
+ +
--srcdir=DIR
+
DIR µð·ºÅ丮¸¦ ¼Ò½ºÆÄÀÏ µð·ºÅ丮·Î ÁöÁ¤ÇÑ´Ù. + ±âº»°ªÀº configure°¡ ÀÖ´Â µð·ºÅ丮 ȤÀº »óÀ§µð·ºÅ丮 + ..ÀÌ´Ù.
+ +
--silent
+
--quiet¿Í °°´Ù.
+ +
-V
+
--version
+
ÀúÀÛ±Ç Á¤º¸¸¦ Ãâ·ÂÇÏ°í Á¾·áÇÑ´Ù.
+
+ + +

¼³Ä¡ µð·ºÅ丮

+ +

ÀÌ ¿É¼ÇµéÀº ¼³Ä¡ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. ¼³Ä¡ À§Ä¡´Â + ¼±ÅÃÇÑ ±¸Á¶(layout)¿¡ µû¶ó ´Ù¸£´Ù.

+ +
+
--prefix=PREFIX
+
¾ÆÅ°ÅØÃÄ¿¡ µ¶¸³ÀûÀÎ ÆÄÀÏÀ» PREFIX¿¡ ¼³Ä¡ÇÑ´Ù. + ±âº»°ªÀº /usr/local/apache2ÀÌ´Ù.
+ +
--exec-prefix=EPREFIX
+
¾ÆÅ°ÅØÃÄ¿¡ ÀÇÁ¸ÀûÀÎ ÆÄÀÏÀ» EPREFIX¿¡ ¼³Ä¡ÇÑ´Ù. + ±âº»°ªÀº PREFIX µð·ºÅ丮ÀÌ´Ù.
+
+ +

±âº»ÀûÀ¸·Î make installÀº + /usr/local/apache2/bin, + /usr/local/apache2/lib¿Í °°Àº À§Ä¡¿¡ ¸ðµç + ÆÄÀÏÀ» ¼³Ä¡ÇÑ´Ù. --prefix=$HOME°ú °°ÀÌ + --prefix ¿É¼ÇÀ» »ç¿ëÇÏ¿© + /usr/local/apache2 ÀÌ¿ÜÀÇ ¼³Ä¡ »óÀ§µð·ºÅ丮¸¦ + ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +

µð·ºÅ丮 ±¸Á¶ ÁöÁ¤

+
+
--enable-layout=LAYOUT
+
¼³Ä¡ À§Ä¡¸¦ LAYOUT ±¸Á¶¿¡ µû¸£µµ·Ï + ¼Ò½ºÄÚµå¿Í ÄÄÆÄÀÏ ½ºÅ©¸³Æ®¸¦ ±¸¼ºÇÑ´Ù. ±¸Á¶¸¦ »ç¿ëÇϸé + ÆÄÀÏ Á¾·ù¿¡ µû¶ó ¼³Ä¡ À§Ä¡¸¦ µû·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. + config.layout ÆÄÀÏ¿¡ ¿©·¯ ¼³Á¤ ¿¹°¡ ÀÖ°í, + À̸¦ Âü°íÇÏ¿© Á÷Á¢ ¼³Á¤À» ¸¸µé ¼öµµ ÀÖ´Ù. ÆÄÀÏ¿¡¼­ + °¢ ±¸Á¶´Â <Layout + FOO>...</Layout>·Î ±¸ºÐµÇ¸ç, ÀÌ + ºÎºÐÀº FOO¶ó´Â À̸§ÀÇ ±¸Á¶¸¦ ³ªÅ¸³½´Ù. + ±¸Á¶ÀÇ ±âº»°ªÀº ApacheÀÌ´Ù.
+
+ + +

¼³Ä¡ µð·ºÅ丮ÀÇ + ÀÚ¼¼ÇÑ Á¶Á¤

+ +

¼³Ä¡ µð·ºÅ丮¸¦ ´õ ¼öÁ¤ÇÑ´Ù¸é ¾Æ·¡ ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. + °¢ µð·ºÅ丮ÀÇ ±âº»°ªÀº autoconf°¡ ÁöÁ¤Çϸç, + ¼±ÅÃÇÑ ±¸Á¶¿¡ µû¶ó ´Ù¸§À» ÁÖÀÇÇ϶ó.

+ +
+ +
--bindir=DIR
+
»ç¿ëÀÚ ½ÇÇàÆÄÀÏÀ» DIR¿¡ ¼³Ä¡ÇÑ´Ù. »ç¿ëÀÚ + ½ÇÇàÆÄÀÏ¿¡´Â »çÀÌÆ® °ü¸®ÀÚ¿¡°Ô À¯¿ëÇÑ + htpasswd¿Í dbmmanage °°Àº + Áö¿ø ÇÁ·Î±×·¥µµ Æ÷ÇԵȴÙ. DIRÀÇ ±âº»°ªÀº + EPREFIX/binÀÌ´Ù.
+ +
--datadir=DIR
+
¾ÆÅ°ÅØÃÄ µ¶¸³ÀûÀÎ ÀбâÀü¿ë ÀڷḦ DIR¿¡ + ¼³Ä¡ÇÑ´Ù. datadirÀÇ ±âº»°ªÀº + PREFIX/shareÀÌ´Ù. + autoconf¿¡ ÀÌ ¿É¼ÇÀÌ ÀÖÁö¸¸ ÇöÀç »ç¿ëÇÏÁö + ¾Ê´Â´Ù.
+ +
--includedir=DIR
+
C Çì´õÆÄÀÏÀ» DIR¿¡ ¼³Ä¡ÇÑ´Ù. + includedirÀÇ ±âº»°ªÀº + EPREFIX/includeÀÌ´Ù.
+ +
--infodir=DIR
+
info ¹®¼­¸¦ DIR¿¡ ¼³Ä¡ÇÑ´Ù. + infodirÀÇ ±âº»°ªÀº + PREFIX/infoÀÌ´Ù. ÇöÀç ÀÌ ¿É¼ÇÀº + »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--libdir=DIR
+
¿ÀºêÁ§Æ®ÄÚµå ¶óÀ̺귯¸®¸¦ DIR¿¡ ¼³Ä¡ÇÑ´Ù. + libdirÀÇ ±âº»°ªÀº + EPREFIX/libÀÌ´Ù.
+ +
--libexecdir=DIR
+
ÇÁ·Î±×·¥ ½ÇÇàÆÄÀÏÀ» (Áï, °øÀ¯¸ðµâ) DIR¿¡ + ¼³Ä¡ÇÑ´Ù. libexecdirÀÇ ±âº»°ªÀº + EPREFIX/libexecÀÌ´Ù.
+ +
--localstatedir=DIR
+
º¯°æµÇ´Â ¸Ó½®º° Á¤º¸¸¦ DIR¿¡ ¼³Ä¡ÇÑ´Ù. + localstatedirÀÇ ±âº»°ªÀº + PREFIX/varÀÌ´Ù. + autoconf¿¡ ÀÌ ¿É¼ÇÀÌ ÀÖÁö¸¸ ÇöÀç »ç¿ëÇÏÁö + ¾Ê´Â´Ù.
+ +
--mandir=DIR
+
man ¹®¼­¸¦ DIR¿¡ ¼³Ä¡ÇÑ´Ù. + mandirÀÇ ±âº»°ªÀº + EPREFIX/manÀÌ´Ù.
+ +
--oldincludedir=DIR
+
gcc°¡ ¾Æ´Ñ ÄÄÆÄÀÏ·¯¸¦ À§ÇÑ C Çì´õÆÄÀÏÀ» DIR¿¡ + ¼³Ä¡ÇÑ´Ù. oldincludedirÀÇ ±âº»°ªÀº + /usr/includeÀÌ´Ù. autoconf¿¡ + ÀÌ ¿É¼ÇÀÌ ÀÖÁö¸¸ ÇöÀç »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--sbindir=DIR
+
½Ã½ºÅÛ °ü¸®ÀÚ¿ë ½ÇÇàÆÄÀÏÀ» DIR¿¡ ¼³Ä¡ÇÑ´Ù. + ½Ã½ºÅÛ °ü¸®ÀÚ¿ë ½ÇÇàÆÄÀÏÀ̶õ ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ½ÇÇàÇϴµ¥ + ÇÊ¿äÇÑ httpd, apachectl, + suexec µî ¼­¹ö ÇÁ·Î±×·¥À» ¸»ÇÑ´Ù. + sbindirÀÇ ±âº»°ªÀº + EPREFIX/sbinÀÌ´Ù.
+ +
--sharedstatedir=DIR
+
º¯°æµÇ´Â ¾ÆÅ°ÅØÃÄ µ¶¸³ÀûÀÎ ÀڷḦ DIR¿¡ + ¼³Ä¡ÇÑ´Ù. sharedstatedirÀÇ ±âº»°ªÀº + PREFIX/comÀÌ´Ù. + autoconf¿¡ ÀÌ ¿É¼ÇÀÌ ÀÖÁö¸¸ ÇöÀç »ç¿ëÇÏÁö + ¾Ê´Â´Ù.
+ +
--sysconfdir=DIR
+
¼­¹ö ¼³Á¤ÆÄÀÏ httpd.conf, + mime.types¿Í °°Àº ÀбâÀü¿ë ¸Ó½®º° ÀڷḦ + DIR¿¡ ¼³Ä¡ÇÑ´Ù. sysconfdirÀÇ + ±âº»°ªÀº PREFIX/etcÀÌ´Ù.
+
+ + + +

½Ã½ºÅÛ Á¾·ù

+ +

´Ù¸¥ ½Ã½ºÅÛ¿¡¼­ ½ÇÇàÇÒ ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ + ±³Â÷ÄÄÆÄÀÏÇϱâ(cross-compile)Çϱâ À§ÇÑ ¿É¼ÇµéÀÌ´Ù. ¼­¹ö¸¦ + ÄÄÆÄÀÏÇÑ ½Ã½ºÅÛ¿¡¼­ ¼­¹ö¸¦ ½ÇÇàÇÏ´Â ÀϹÝÀûÀÎ °æ¿ì, ÀÌ + ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.

+ +
+
--build=BUILD
+
µµ±¸¸¦ ÄÄÆÄÀÏÇÏ´Â ½Ã½ºÅÛÀÇ Á¾·ù¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº + config.guess ½ºÅ©¸³Æ®ÀÇ °á°úÀÌ´Ù.
+ +
--host=HOST
+
¼­¹ö¸¦ ½ÇÇàÇÒ ½Ã½ºÅÛÀÇ Á¾·ù¸¦ ÁöÁ¤ÇÑ´Ù. HOSTÀÇ + ±âº»°ªÀº BUILDÀÌ´Ù.
+ +
--target=TARGET
+
TARGET ½Ã½ºÅÛ Á¾·ù¸¦ À§ÇÑ ÄÄÆÄÀÏ·¯¸¦ ¸¸µé¶§ + »ç¿ëÇÑ´Ù. ±âº»°ªÀº HOSTÀÌ´Ù. + autoconf¿¡ ÀÌ ¿É¼ÇÀÌ ÀÖÁö¸¸ ¾ÆÆÄÄ¡ À¥¼­¹ö¿Í´Â + °ü·ÃÀÌ ¾ø´Ù.
+
+ + +

±â´É ¼±ÅÃ

+ +

ÀÌ ¿É¼ÇÀº À¥¼­¹öÀÇ ¼¼ºÎ ±â´ÉÀ» Á¶ÀýÇÑ´Ù.

+ +

ÀϹÝÀûÀÎ ¹®¹ý

+

ÀϹÝÀûÀ¸·Î ´ÙÀ½ ¹®¹ýÀ» »ç¿ëÇÏ¿© ±â´ÉÀ» Æ÷ÇÔÇÏ°í »«´Ù:

+ +
+
--disable-FEATURE
+
FEATURE ±â´ÉÀ» »«´Ù. + --enable-FEATURE=no¿Í °°´Ù.
+ +
--enable-FEATURE[=ARG]
+
FEATURE ±â´ÉÀ» Æ÷ÇÔÇÑ´Ù. ARGÀÇ + ±âº»°ªÀº yesÀÌ´Ù.
+ +
--enable-MODULE=shared
+
ÇØ´ç ¸ðµâÀ» DSO ¸ðµâ·Î ÄÄÆÄÀÏÇÑ´Ù.
+ +
--enable-MODULE=static
+
Æ÷ÇÔÇÏ´Â ¸ðµâÀº ±âº»ÀûÀ¸·Î Á¤ÀûÀ¸·Î ¸µÅ©µÈ´Ù. ÀÌ + ¿É¼ÇÀº ¸í½ÃÀûÀ¸·Î Á¤Àû ¸µÅ©¸¦ °­Á¦ÇÑ´Ù.
+
+ +

ÁÖÀÇ

+ configure´Â foo°¡ ¾ø´Â °æ¿ì + --enable-foo¸¦ »ç¿ëÇصµ ÀÌ »ç½ÇÀ» + ¾Ë·ÁÁÖÁö ¾ÊÀ¸¹Ç·Î ÁÖÀÇÇؼ­ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. +
+ + + +

±âº»ÀûÀ¸·Î Æ÷ÇÔÇÏ´Â ¸ðµâ

+

¾î¶² ¸ðµâÀº ±âº»ÀûÀ¸·Î ÄÄÆÄÀϵDZ⶧¹®¿¡ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é + ¸í½ÃÀûÀ¸·Î »©Áà¾ß ÇÑ´Ù. ´ÙÀ½ ¿É¼ÇÀº ƯÁ¤ ¸ðµâÀ» ÄÄÆÄÀÏ + °úÁ¤¿¡¼­ Á¦¿ÜÇÑ´Ù.

+ +
+
--disable-actions
+
mod_actions°¡ Á¦°øÇÏ´Â ¿äû¿¡ ´ëÇÑ + Çൿ ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-alias
+
mod_alias°¡ Á¦°øÇÏ´Â ¿äûÀ» + ÆÄÀϽýºÅÛÀÇ ´Ù¸¥ ºÎºÐÀ¸·Î ´ëÀÀÇÏ´Â ±â´ÉÀ» »ç¿ëÇÏÁö + ¾Ê´Â´Ù.
+ +
--disable-asis
+
mod_asis°¡ Á¦°øÇÏ´Â as-is ÆÄÀÏÇüÀ» + Áö¿øÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-auth
+
mod_auth°¡ Á¦°øÇÏ´Â »ç¿ëÀÚº° Á¢±ÙÁ¦¾î + ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÀÌ ¸ðµâÀº »ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ + ÀÏ¹Ý ¹®ÀÚÆÄÀÏ¿¡ ÀúÀåÇÏ´Â HTTP Basic Authentication¿¡¼­ + »ç¿ëÇÑ´Ù.
+ +
--disable-autoindex
+
mod_autoindex°¡ Á¦°øÇÏ´Â µð·ºÅ丮 + ¸ñ·Ï ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-access
+
mod_access°¡ Á¦°øÇϴ ȣ½ºÆ®º° + Á¢±ÙÁ¦¾î ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-cgi
+
ºñ¾²·¹µå MPMÀ» »ç¿ëÇÏ´Â °æ¿ì CGI ½ºÅ©¸³Æ®¸¦ Áö¿øÇÏ´Â + mod_cgi¸¦ ±âº»ÀûÀ¸·Î Æ÷ÇÔÇÑ´Ù. ÀÌ + ¿É¼ÇÀ» »ç¿ëÇϸé CGI¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-cgid
+
¾²·¹µå MPMÀÎ worker³ª + perchild¸¦ »ç¿ëÇÏ´Â °æ¿ì ±âº»ÀûÀ¸·Î + mod_cgid°¡ CGI ½ºÅ©¸³Æ®¸¦ Áö¿øÇÑ´Ù. + ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé CGI¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-charset-lite
+
mod_charset_lite°¡ Á¦°øÇÏ´Â ¹®ÀÚÁýÇÕ + º¯È¯ ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÀÌ ¸ðµâÀº EBCDIC ½Ã½ºÅÛ¿¡¼­¸¸ + ±âº»ÀûÀ¸·Î Æ÷ÇÔÇÑ´Ù.
+ +
--disable-dir
+
mod_dirÀÌ Á¦°øÇÏ´Â µð·ºÅ丮 ¿äû + ó¸® ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-env
+
mod_env°¡ Á¦°øÇϴ ȯ°æº¯¼ö ¼³Á¤/ÇØÁ¦ + ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ + +
--disable-http
+
HTTP ÇÁ·ÎÅäÄÝÀ» ó¸®ÇÏÁö ¾Ê´Â´Ù. http + ¸ðµâÀº ¼­¹ö°¡ À¥¼­¹ö·Î µ¿ÀÛÇϴµ¥ ±âº»ÀûÀÎ ¸ðµâÀÌ´Ù. + ´ë½Å ´Ù¸¥ ÇÁ·ÎÅäÄÝ ¸ðµâÀ» »ç¿ëÇÒ °æ¿ì¿¡¸¸ ÀÌ ¸ðµâÀÌ + À¯¿ëÇÏ´Ù. ÀÚ½ÅÀÌ ¹«¾ùÀ» ÇÏ´ÂÁö È®½ÇÈ÷ ¾ËÁö + ¸øÇÑ´Ù¸é ÀÌ ¿É¼ÇÀ» »©Áö ¸¶¶ó +
+ ÁÖÀÇ: ÀÌ ¸ðµâÀº Ç×»ó Á¤ÀûÀ¸·Î ¸µÅ©µÈ´Ù.
+ +
--disable-imagemap
+
mod_imagemapÀÌ Á¦°øÇÏ´Â ¼­¹ö±â¹Ý imagemap + ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-include
+
mod_include°¡ Á¦°øÇÏ´Â Server Side + Includes ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-log-config
+
mod_log_config°¡ Á¦°øÇÏ´Â ·Î±× + ¼³Á¤À» »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÀÌ ¸ðµâÀÌ ¾øÀ¸¸é ¼­¹öÀÇ ¿äûÀ» + ·Î±×¿¡ ±â·ÏÇÒ ¼ö ¾ø´Ù.
+ +
--disable-mime
+
mod_mimeÀº ¿äûÇÑ ÆÄÀϸíÀÇ È®ÀåÀÚ¿¡ + µû¶ó ÆÄÀÏÀÇ Çൿ°ú ³»¿ë(mime-type, ¾ð¾î, ¹®ÀÚÁýÇÕ, + ÀÎÄÚµù)À» °áÁ¤ÇÑ´Ù. (ÀÌ ¸ðµâÀ» Á¦°ÅÇÏ¿©) ÆÄÀÏ È®ÀåÀÚ¸¦ + MIME°ú ¿¬°üÇÏÁö ¾Ê´Â °ÍÀ» ÀϹÝÀûÀ¸·Î ÃßõÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-negotiation
+
mod_negotiationÀÌ Á¦°øÇÏ´Â ³»¿ëÇù»ó + ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-setenvif
+
mod_setenvif°¡ Á¦°øÇÏ´Â Çì´õ¿¡ + µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ´Â ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-status
+
mod_status°¡ Á¦°øÇÏ´Â ÇÁ·Î¼¼½º/¾²·¹µå + °¨½Ã ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+ +
--disable-userdir
+
mod_userdirÀÌ Á¦°øÇÏ´Â ¿äûÀ» »ç¿ëÀÚº° + µð·ºÅ丮¿¡ ´ëÀÀÇÏ´Â ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù.
+
+ + +

±âº»ÀûÀ¸·Î Æ÷ÇÔÇÏÁö ¾Ê´Â ¸ðµâ

+

±âº»ÀûÀ¸·Î ÄÄÆÄÀϵǴ ¸ðµâµµ ÀÖÁö¸¸, ¸ðµâÀ» »ç¿ëÇÏ·Á¸é + Á÷Á¢ ȤÀº most³ª all Å°¿öµå¸¦ + »ç¿ëÇÏ¿© ¸í½ÃÀûÀ¸·Î Æ÷ÇÔÇØ¾ß ÇÏ´Â ¸ðµâÀÌ ÀÖ´Ù. ±×·¡¼­ + ¾Æ·¡ ¿É¼ÇµéÀ» »ç¿ëÇÑ´Ù.

+ +
+
--enable-auth-anon
+
mod_auth_anonÀÌ Á¦°øÇÏ´Â À͸í»ç¿ëÀÚ + Á¢±Ù ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-auth-dbm
+
mod_auth_dbmÀº »ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ + DBMÇü½ÄÀÇ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ¿¡ ÀúÀåÇÏ´Â HTTP Basic + Authentication¿¡¼­ »ç¿ëÇÑ´Ù. ¸ðµâÀ» »ç¿ëÇÏ·Á¸é ÀÌ + ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-auth-digest
+
mod_auth_digest°¡ Á¦°øÇÏ´Â RFC2617 + Digest authenticationÀ» »ç¿ëÇÑ´Ù. ÀÌ ¸ðµâÀº Á¤º¸¸¦ + ÀÏ¹Ý ¹®ÀÚÆÄÀÏ¿¡ ÀúÀåÇÑ´Ù.
+ +
--enable-authnz-ldap
+
mod_authnz_ldapÀÌ Á¦°øÇÏ´Â LDAP±â¹Ý + ÀÎÁõ ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-cache
+
mod_cache°¡ Á¦°øÇÏ´Â µ¿ÀûÀ¸·Î »ý¼ºÇÏ´Â + ÆÄÀÏÀÇ Ä³½Ì ±â´ÉÀ» »ç¿ëÇÑ´Ù. ¸Å¿ì ºÎÇÏ°¡ ¸¹°Å³ª ÇÁ·Ï½Ã + ¼­¹ö¸¦ ij½ÌÇÏ´Â ¼­¹ö¿¡°Ô ÀÌ ½ÇÇèÀûÀÎ ¸ðµâÀÌ À¯¿ëÇÒ + ¼ö ÀÖ´Ù. ÃÖ¼ÒÇÑ ÇÑ°¡Áö ÀúÀå°ü¸®¸ðµâ(storage management + module)À» (¿¹¸¦ µé¾î, mod_cache_disk³ª + mod_mem_cache) °°ÀÌ »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
--enable-cern-meta
+
mod_cern_meta°¡ Á¦°øÇÏ´Â CERN ¸ÞŸÆÄÀÏ + Áö¿ø ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-charset-lite
+
mod_charset_lite°¡ Á¦°øÇÏ´Â ¹®ÀÚÁýÇÕ + º¯È¯ ±â´ÉÀ» »ç¿ëÇÑ´Ù. ÀÌ ¸ðµâÀº EBCDIC ½Ã½ºÅÛ¿¡¼­¸¸ + ±âº»ÀûÀ¸·Î Æ÷ÇԵȴÙ. ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­´Â Á÷Á¢ Æ÷ÇÔ½ÃÄÑÁà¾ß + ÇÑ´Ù.
+ +
--enable-dav
+
mod_dav°¡ Á¦°øÇÏ´Â WebDAV ÇÁ·ÎÅäÄÝ + ó¸® ±â´ÉÀ» »ç¿ëÇÑ´Ù. µ¶¸³µÈ mod_dav_fs + ¸ðµâÀÌ ÆÄÀϽýºÅÛ ÀÚ¿øÀ» Áö¿øÇÑ´Ù. ÀÌ ¸ðµâÀº + --enable-dav¸¦ »ç¿ëÇϸé ÀÚµ¿À¸·Î Æ÷ÇÔÇÑ´Ù.
+ ÁÖÀÇ: mod_dav´Â http + ÇÁ·ÎÅäÄÝ ¸ðµâ°ú °°ÀÌ »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
--enable-dav-fs
+
mod_dav_fs°¡ Á¦°øÇÏ´Â DAVÀÇ ÆÄÀϽýºÅÛ + ÀÚ¿ø Áö¿ø ±â´ÉÀ» »ç¿ëÇÑ´Ù. ÀÌ ¸ðµâÀº + mod_dav ¸ðµâÀ» À§ÇÑ Á¦°øÀÚÀ̱⠶§¹®¿¡ + --enable-davµµ »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
--enable-deflate
+
mod_deflate°¡ Á¦°øÇÏ´Â ¾ÐÃàÀü¼Û + ÀÎÄÚµù ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-disk-cache
+
mod_cache_disk°¡ Á¦°øÇÏ´Â µð½ºÅ© + ij½Ì ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-expires
+
mod_expires°¡ Á¦°øÇÏ´Â Expires + Çì´õ Á¶Àý ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-ext-filter
+
mod_ext_filter°¡ Á¦°øÇÏ´Â ¿ÜºÎ + ÇÊÅÍ Áö¿ø ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-file-cache
+
mod_file_cache°¡ Á¦°øÇÏ´Â ÆÄÀÏ + ij½Ì ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-headers
+
mod_headers°¡ Á¦°øÇÏ´Â HTTP Çì´õ + Á¶Àý ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-info
+
mod_info°¡ Á¦°øÇÏ´Â ¼­¹öÁ¤º¸ ±â´ÉÀ» + »ç¿ëÇÑ´Ù.
+ +
--enable-ldap
+
mod_ldapÀÌ Á¦°øÇÏ´Â LDAP ij½Ì°ú + ¿¬°áÇ® ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-logio
+
mod_logio°¡ Á¦°øÇÏ´Â ·Î±×¿¡ Çì´õ¿Í + ÀÔÃâ·Â ¹ÙÀÌÆ®¼ö¸¦ ±â·ÏÇÏ´Â ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-mem-cache
+
mod_mem_cache°¡ Á¦°øÇÏ´Â ¸Þ¸ð¸® + ij½Ì ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-mime-magic
+
mod_mime_magicÀÌ Á¦°øÇÏ´Â MIME + type ÀÚµ¿ ÀÎ½Ä ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-isapi
+
mod_isapi°¡ Á¦°øÇÏ´Â isapi È®ÀåÀ» + Áö¿øÇÑ´Ù.
+ +
--enable-proxy
+
mod_proxy°¡ Á¦°øÇÏ´Â ÇÁ·Ï½Ã/°ÔÀÌÆ®¿þÀÌ + ±â´ÉÀ» »ç¿ëÇÑ´Ù. CONNECT, FTP, + HTTP¿¡ ´ëÇÑ ÇÁ·Ï½Ã ±â´ÉÀ» °¢°¢ + mod_proxy_connect, + mod_proxy_ftp, + mod_proxy_http + ¸ðµâÀÌ Á¦°øÇÑ´Ù. --enable-proxy¸¦ »ç¿ëÇϸé + ÀÌ ¼¼ ¸ðµâÀ» ÀÚµ¿À¸·Î Æ÷ÇÔÇÑ´Ù.
+ +
--enable-proxy-connect
+
mod_proxy_connect°¡ Á¦°øÇÏ´Â + CONNECT ¿äû¿¡ ´ëÇÑ ÇÁ·Ï½Ã Áö¿ø ±â´ÉÀ» + »ç¿ëÇÑ´Ù. ÀÌ ¸ðµâÀº mod_proxy ¸ðµâÀÇ + È®ÀåÀ̹ǷÎ, --enable-proxyµµ °°ÀÌ »ç¿ëÇØ¾ß + ÇÑ´Ù.
+ +
--enable-proxy-ftp
+
mod_proxy_ftp°¡ Á¦°øÇÏ´Â + FTP ¿äû¿¡ ´ëÇÑ ÇÁ·Ï½Ã Áö¿ø ±â´ÉÀ» »ç¿ëÇÑ´Ù. + ÀÌ ¸ðµâÀº mod_proxy ¸ðµâÀÇ È®ÀåÀ̹ǷÎ, + --enable-proxyµµ °°ÀÌ »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
--enable-proxy-http
+
mod_proxy_http°¡ Á¦°øÇÏ´Â + HTTP ¿äû¿¡ ´ëÇÑ ÇÁ·Ï½Ã Áö¿ø ±â´ÉÀ» »ç¿ëÇÑ´Ù. + ÀÌ ¸ðµâÀº mod_proxy ¸ðµâÀÇ È®ÀåÀ̹ǷÎ, + --enable-proxyµµ °°ÀÌ »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
--enable-rewrite
+
mod_rewrite°¡ Á¦°øÇÏ´Â ±ÔÄ¢±â¹Ý + URL Á¶ÀÛ ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-so
+
mod_so°¡ Á¦°øÇÏ´Â DSO ±â´ÉÀ» »ç¿ëÇÑ´Ù. + --enable-mods-shared ¿É¼ÇÀ» »ç¿ëÇϸé + ÀÚµ¿À¸·Î ÀÌ ¸ðµâÀ» Æ÷ÇÔÇÑ´Ù.
+ +
--enable-speling
+
mod_spellingÀÌ Á¦°øÇÏ´Â URL¿¡¼­ + ÀϹÝÀûÀÎ ¸ÂÃã¹ý ½Ç¼ö¸¦ °íÄ¡´Â ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-ssl
+
mod_sslÀÌ Á¦°øÇÏ´Â SSL/TLS ±â´ÉÀ» + »ç¿ëÇÑ´Ù.
+ +
--enable-unique-id
+
mod_unique_id°¡ Á¦°øÇÏ´Â ¿äû¸¶´Ù + À¯ÀÏÇÑ ½Äº°ÀÚ¸¦ ¸¸µå´Â ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-usertrack
+
mod_usertrackÀÌ Á¦°øÇÏ´Â »ç¿ëÀÚ¼¼¼Ç + ÃßÀû ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+ +
--enable-vhost-alias
+
mod_vhost_alias°¡ Á¦°øÇÏ´Â ´ë·® + °¡»óÈ£½ºÆ® ±â´ÉÀ» »ç¿ëÇÑ´Ù.
+
+ + +

°³¹ßÀÚ¸¦ À§ÇÑ ¸ðµâ

+

´ÙÀ½ ¸ðµâÀº Å×½ºÆ®¿ëÀ¸·Î °³¹ßÀÚ¿¡°Ô¸¸ À¯¿ëÇϸç, ±âº»ÀûÀ¸·Î + Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. ÀÌ ¸ðµâÀ» »ç¿ëÇÏ·Á¸é ´ÙÀ½ ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. + ÀÌ ¸ðµâÀÌ ÇÊ¿äÇÑÁö È®½ÇÄ¡¾Ê´Ù¸é »ç¿ëÇÏÁö ¸¶¶ó.

+ +
+ +
--enable-bucketeer
+
mod_bucketeer°¡ Á¦°øÇÏ´Â ¹öŶ(bucket) + Á¶ÀÛ ÇÊÅ͸¦ »ç¿ëÇÑ´Ù.
+ + +
--enable-case-filter
+
mod_case_filterÀÇ ´ë¹®ÀÚº¯È¯ Ãâ·ÂÇÊÅÍ + °ßº»À» »ç¿ëÇÑ´Ù.
+ + +
--enable-case-filter-in
+
mod_case_filter_inÀÇ ´ë¹®ÀÚº¯È¯ ÀÔ·ÂÇÊÅÍ + °ßº»À» »ç¿ëÇÑ´Ù.
+ +
--enable-echo
+
mod_echo°¡ Á¦°øÇÏ´Â ECHO ¼­¹ö¸¦ + »ç¿ëÇÑ´Ù.
+ +
--enable-example
+
°ßº» ¿¹Á¦¸ðµâÀÎ mod_exampleÀ» + »ç¿ëÇÑ´Ù.
+ + +
--enable-optional-fn-export
+
mod_optional_fn_export°¡ Á¦°øÇÏ´Â ¼±ÅÃÀûÀÎ + ÇÔ¼ö ¿¢½ºÆ÷Æ®(exporter)ÀÇ ¿¹¸¦ »ç¿ëÇÑ´Ù.
+ + +
--enable-optional-fn-import
+
mod_optional_fn_import°¡ Á¦°øÇÏ´Â ¼±ÅÃÀûÀÎ + ÇÔ¼ö ÀÓÆ÷Æ®(importer)ÀÇ ¿¹¸¦ »ç¿ëÇÑ´Ù.
+ + +
--enable-optional-hook-export
+
mod_optional_hook_export°¡ Á¦°øÇÏ´Â + ¼±ÅÃÀûÀÎ ÈÅ(hook) ¿¢½ºÆ÷Æ®ÀÇ ¿¹¸¦ »ç¿ëÇÑ´Ù.
+ + +
--enable-optional-hook-import
+
mod_optional_hook_import°¡ Á¦°øÇÏ´Â + ¼±ÅÃÀûÀÎ ÈÅ ÀÓÆ÷Æ®ÀÇ ¿¹¸¦ »ç¿ëÇÑ´Ù.
+
+ + +

MPM°ú Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâ

+

´ÙÀ½ ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÇÊ¿äÇÑ ´ÙÁß󸮸ðµâ°ú Á¦»ïÀÚ°¡ + ¸¸µç ¸ðµâÀ» Ãß°¡ÇÑ´Ù:

+ +
+
--with-module=module-type:module-file +
+

Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâÀ» Á¤ÀûÀ¸·Î ¸µÅ©ÇÒ ¸ðµâ ¸ñ·Ï¿¡ + Ãß°¡ÇÑ´Ù. ¾ÆÆÄÄ¡ À¥¼­¹ö ¼Ò½º Æ®¸®ÀÇ + modules/module-type¿¡¼­ ¸ðµâÀÇ + ¼Ò½ºÆÄÀÏ module-fileÀ» ã±â¶§¹®¿¡ + ±×°÷¿¡ ¼Ò½ºÆÄÀÏÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×°÷¿¡ ÆÄÀÏÀÌ ¾ø´Ù¸é + configure´Â module-fileÀÌ + Àý´ëÆÄÀÏ°æ·Î¶ó°í °¡Á¤ÇÏ°í ¼Ò½ºÆÄÀÏÀ» + module-type ÇÏÀ§µð·ºÅ丮¿¡ º¹»çÇÏ·Á°í + ½ÃµµÇÑ´Ù.

+

ÀÌ ¿É¼ÇÀº ¼Ò½ºÆÄÀÏÀÌ ÇÑ°³ÀÎ ÀÛÀº ¿ÜºÎ ¸ðµâÀ» Ãß°¡Çϴµ¥ + À¯¿ëÇÏ´Ù. ´õ º¹ÀâÇÑ ¸ðµâÀº °³¹ß»ç°¡ Á¦°øÇÑ ¹®¼­¸¦ + Âü°íÇØ¾ß ÇÑ´Ù.

+

ÁÖÀÇ

+ Á¤ÀûÀ¸·Î ¸µÅ©µÈ ¸ðµâÀÌ ¾Æ´Ñ DSO ¸ðµâÀ» ¿øÇÑ´Ù¸é + apxs¸¦ »ç¿ëÇ϶ó.
+
+ +
--with-mpm=MPM
+
¼­¹öÀÇ µ¿ÀÛ¹æ½ÄÀ» ¼±ÅÃÇÑ´Ù. Á¤È®È÷ ÇÑ°¡Áö ´ÙÁß󸮸ðµâ¸¸À» ¼±ÅÃÇØ¾ß ÇÑ´Ù. + ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é »ç¿ëÇÏ´Â ¿î¿µÃ¼Á¦ÀÇ ±âº» MPMÀ» »ç¿ëÇÑ´Ù. + »ç¿ëÇÒ ¼ö ÀÖ´Â MPM¿¡´Â beos, + leader, mpmt_os2, + perchild, prefork, + threadpool, worker°¡ + ÀÖ´Ù.
+
+ + +

±âŸ ¿É¼Ç

+
+
--enable-maintainer-mode
+
µð¹ö±ë ¸ðµå¿Í ÄÄÆÄÀϽà °æ°í¸¦ ÀÛµ¿ÇÑ´Ù.
+ +
--enable-mods-shared=MODULE-LIST
+
+

µ¿Àû°øÀ¯¸ðµâ·Î ÄÄÆÄÀÏÇÒ ¸ðµâ ¸ñ·ÏÀ» ÁöÁ¤ÇÑ´Ù. Áï, + ÀÌ ¸ðµâµéÀº LoadModule Áö½Ã¾î¸¦ + »ç¿ëÇÏ¿© µ¿ÀûÀ¸·Î Àоîµé¿©¾ß ÇÑ´Ù.

+

MODULE-LIST´Â °ø¹éÀ¸·Î ±¸ºÐÇÑ ¸ðµâ¸íµéÀ» + µû¿ÈÇ¥·Î ¹­Àº ¸ñ·ÏÀÌ´Ù. ¸ðµâ¸í¿¡¼­ ¾Õ¿¡ + mod_´Â »«´Ù. ¿¹¸¦ µé¾î:

+

+ --enable-mods-shared='headers rewrite dav' +

+

¶Ç, Ưº°ÇÑ Å°¿öµå all°ú most¸¦ + »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î,

+

+ --enable-mods-shared=most +

+

´Â ´ëºÎºÐÀÇ ¸ðµâÀ» DSO ¸ðµâ·Î ÄÄÆÄÀÏÇÑ´Ù. +

+
+ +
--enable-modules=MODULE-LIST
+
--enable-mods-shared¿Í ºñ½ÁÇÏÁö¸¸, + ÀÌ ¿É¼ÇÀº ¿­°ÅÇÑ ¸ðµâµéÀ» Á¤ÀûÀ¸·Î ¸µÅ©ÇÑ´Ù. Áï, ÀÌ + ¸ðµâµéÀº httpd ½ÇÇàÇÏ¸é ¾ðÁ¦³ª »ç¿ëÇÒ + ¼ö ÀÖ´Ù. LoadModule·Î ÀоîµéÀÏ + ÇÊ¿ä°¡ ¾ø´Ù.
+ +
--enable-v4-mapped
+
IPv6 ¼ÒÄÏÀÌ IPv4 ¿¬°áÀ» ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
+ +
--with-port=PORT
+
httpd°¡ ±â´Ù¸± Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ + Æ÷Æ®¹øÈ£´Â ¼³Á¤ÆÄÀÏ httpd.conf¸¦ ¸¸µé¶§ + ¾²ÀδÙ. ±âº»°ªÀº 80ÀÌ´Ù.
+ +
--with-program-name
+
´Ù¸¥ ½ÇÇàÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº + httpdÀÌ´Ù.
+
+ + + +

Ãß°¡ ÆÐÅ°Áö ¼±ÅÃ

+

´ÙÀ½ ¿É¼ÇÀº Ãß°¡ ÆÐÅ°Áö¸¦ ¼±ÅÃÇÑ´Ù.

+ +

ÀϹÝÀûÀÎ ¹®¹ý

+

ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº ¹®¹ýÀ» »ç¿ëÇÏ¿© Ãß°¡ ÆÐÅ°Áö¸¦ + ´Ù·é´Ù:

+ +
+
--with-PACKAGE[=ARG]
+
ÆÐÅ°Áö PACKAGE¸¦ »ç¿ëÇÑ´Ù. + ARGÀÇ ±âº»°ªÀº yesÀÌ´Ù.
+ +
--without-PACKAGE
+
ÆÐÅ°Áö PACKAGE¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. + --with-PACKAGE=no¿Í °°´Ù. + autoconf¿¡ ÀÌ ¿É¼ÇÀÌ ÀÖÁö¸¸ ¾ÆÆÄÄ¡ À¥¼­¹ö¿Í´Â + °ü°è°¡ ¾ø´Ù.
+
+ + + + +

ƯÁ¤ ÆÐÅ°Áö

+
+
--with-apr=DIR|FILE
+
httpd ¼Ò½º ¹èÆ÷º»¿¡ Æ÷ÇÔµÈ Apache Portable + Runtime (APR)Àº ÀÚµ¿À¸·Î À¥¼­¹ö¿Í °°ÀÌ ÄÄÆÄÀϵȴÙ. + ¸¸¾à ÀÌ¹Ì ¼³Ä¡µÈ APRÀ» ´ë½Å »ç¿ëÇÏ°í ½Í´Ù¸é + configure¿¡°Ô apr-config + ½ºÅ©¸³Æ®ÀÇ °æ·Î¸¦ ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù. APR°¡ ¼³Ä¡µÈ Àý´ë°æ·Î, + ÆÄÀϸí, µð·ºÅ丮¸íÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÁöÁ¤ÇÑ µð·ºÅ丮³ª + ±× µð·ºÅ丮ÀÇ ÇÏÀ§µð·ºÅ丮 bin¿¡ + apr-config°¡ ÀÖ¾î¾ß ÇÑ´Ù.
+ +
--with-apr-util=DIR|FILE
+
httpd ¼Ò½º ¹èÆ÷º»¿¡ Æ÷ÇÔµÈ Apache Portable + Runtime Utilities (APU)´Â ÀÚµ¿À¸·Î À¥¼­¹ö¿Í °°ÀÌ + ÄÄÆÄÀϵȴÙ. ¸¸¾à ÀÌ¹Ì ¼³Ä¡µÈ APUÀ» ´ë½Å »ç¿ëÇÏ°í ½Í´Ù¸é + configure¿¡°Ô apu-config + ½ºÅ©¸³Æ®ÀÇ °æ·Î¸¦ ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù. APU°¡ ¼³Ä¡µÈ Àý´ë°æ·Î, + ÆÄÀϸí, µð·ºÅ丮¸íÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÁöÁ¤ÇÑ µð·ºÅ丮³ª + ±× µð·ºÅ丮ÀÇ ÇÏÀ§µð·ºÅ丮 bin¿¡ + apu-config°¡ ÀÖ¾î¾ß ÇÑ´Ù.
+ +
--with-ssl=DIR
+
mod_sslÀ» »ç¿ëÇÏ´Â °æ¿ì + configure´Â ¼³Ä¡µÈ OpenSSLÀ» ã´Â´Ù. + ´ë½Å ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¿© SSL/TLS µµ±¸ÀÇ µð·ºÅ丮°æ·Î¸¦ + ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù.
+ +
--with-z=DIR
+
(mod_deflate¸¦ »ç¿ëÇÏ´Â °æ¿ì¿Í + °°ÀÌ) ±¸¼º¿¡ ÇÊ¿äÇÏ´Ù¸é ÀÚµ¿À¸·Î configure´Â + ¼³Ä¡µÈ zlib ¶óÀ̺귯¸®¸¦ ã´Â´Ù. ´ë½Å + ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¾ÐÃà ¶óÀ̺귯¸®ÀÇ µð·ºÅ丮°æ·Î¸¦ + ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù.
+
+ +

mod_authn_dbm°ú + mod_rewriteÀÇ DBM RewriteMap °°Àº ¾ÆÆÄÄ¡ + À¥¼­¹öÀÇ ÀϺΠ±â´ÉÀº Á¤º¸¸¦ »¡¸® ã±âÀ§ÇØ °£´ÜÇÑ Å°/°ª + µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÑ´Ù. APU¿¡ SDBMÀÌ µé¾îÀ־ ¾ðÁ¦³ª + ÃÖ¼ÒÇÑ ÀÌ µ¥ÀÌÅͺ£À̽º´Â »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ Á¾·ùÀÇ + µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ°í ½Í´Ù¸é ¾Æ·¡ ¿É¼ÇÀ» »ç¿ëÇÑ´Ù:

+ +
+
--with-gdbm[=path]
+
path¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é, + configure´Â ÀϹÝÀûÀÎ °Ë»ö°æ·Î¿¡¼­ ¼³Ä¡µÈ + GNU DBM Çì´õÆÄÀÏ°ú ¶óÀ̺귯¸®¸¦ ã´Â´Ù. Á÷Á¢ + path¸¦ ÁöÁ¤Çϸé configure´Â + path/lib°ú + path/include¿¡¼­ ÇÊ¿äÇÑ ÆÄÀÏÀ» + ã´Â´Ù. ¸¶Áö¸·À¸·Î path¿¡ Çì´õÆÄÀÏ °æ·Î¿Í + ¶óÀ̺귯¸® °æ·Î¸¦ ÄÝ·ÐÀ» »çÀÌ¿¡ µÎ°í °°ÀÌ ÀûÀ» ¼ö + ÀÖ´Ù.
+ +
--with-ndbm[=path]
+
--with-gdbm°ú °°Áö¸¸ ¼³Ä¡µÈ New DBMÀ» + ã´Â´Ù.
+ +
--with-berkeley-db[=path]
+
--with-gdbm°ú °°Áö¸¸ ¼³Ä¡µÈ Berkeley + DB¸¦ ã´Â´Ù.
+
+ +

ÁÖÀÇ

+

DBM ¿É¼ÇÀº APU°¡ Á¦°øÇϸç APU ±¸¼º½ºÅ©¸³Æ®·Î Á÷Á¢ + Àü´ÞµÈ´Ù. ±×·¡¼­ --with-apr-utilÀ» »ç¿ëÇÏ¿© + ÀÌ¹Ì ¼³Ä¡µÈ APU¸¦ »ç¿ëÇÑ´Ù¸é DBM ¿É¼ÇÀº ¼Ò¿ëÀÌ ¾ø´Ù.

+

À¥¼­¹ö´Â ¿©·¯ DBM ±¸ÇöÀ» °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ½ÇÇà½Ã + ÀûÀýÇÑ DBM Á¾·ù¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

+
+ + + +

Áö¿ø ÇÁ·Î±×·¥À» À§ÇÑ ¿É¼Ç

+
+
--enable-static-support
+
Áö¿ø ÇÁ·Î±×·¥À» Á¤ÀûÀ¸·Î ¸µÅ©µÈ ½ÇÇàÆÄÀÏ·Î ¸¸µç´Ù. + Áï, ÇÊ¿äÇÑ ¶óÀ̺귯¸®¸¦ ¸ðµÎ Æ÷ÇÔÇϵµ·Ï ½ÇÇàÆÄÀÏÀ» + ÄÄÆÄÀÏÇÑ´Ù. ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é ±âº»°ªÀ¸·Î Áö¿ø + ÇÁ·Î±×·¥À» µ¿ÀûÀ¸·Î ¸µÅ©ÇÑ´Ù.
+ +
--enable-suexec
+
À¥¼­¹ö°¡ ½ÇÇàÇÏ´Â ÇÁ·Î¼¼½ºÀÇ uid¿Í gid¸¦ ¼³Á¤ÇÏ´Â + suexec¸¦ »ç¿ëÇÏ·Á¸é + ÀÌ ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. suid ½ÇÇàÆÄÀÏÀÇ º¸¾È»ó À§ÇèÀ» + ¸ðµÎ ¾ËÁö ¸øÇÑ´Ù¸é ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏÁö ¸¶¶ó. + suexec¸¦ ±¸¼ºÇÏ´Â ¿É¼ÇÀº + ¾Æ·¡¿¡¼­ ¼³¸íÇÑ´Ù.
+
+ +

´ÙÀ½ ¿É¼ÇÀ» »ç¿ëÇÏ¿© Áö¿ø ÇÁ·Î±×·¥º°·Î Á¤ÀûÀ¸·Î ¸µÅ©µÈ + ½ÇÇàÆÄÀÏÀ» ¸¸µé ¼ö ÀÖ´Ù:

+ +
+
--enable-static-ab
+
ab¸¦ Á¤ÀûÀ¸·Î ¸µÅ©µÈ + ½ÇÇàÆÄÀÏ·Î ÄÄÆÄÀÏÇÑ´Ù.
+ + +
--enable-static-checkgid
+
checkgid¸¦ Á¤ÀûÀ¸·Î ¸µÅ©µÈ ½ÇÇàÆÄÀÏ·Î + ÄÄÆÄÀÏÇÑ´Ù.
+ + +
--enable-static-htdbm
+
htdbmÀ» Á¤ÀûÀ¸·Î ¸µÅ©µÈ ½ÇÇàÆÄÀÏ·Î + ÄÄÆÄÀÏÇÑ´Ù.
+ +
--enable-static-htdigest
+
htdigest¸¦ + Á¤ÀûÀ¸·Î ¸µÅ©µÈ ½ÇÇàÆÄÀÏ·Î ÄÄÆÄÀÏÇÑ´Ù.
+ +
--enable-static-htpasswd
+
htpasswd¸¦ + Á¤ÀûÀ¸·Î ¸µÅ©µÈ ½ÇÇàÆÄÀÏ·Î ÄÄÆÄÀÏÇÑ´Ù.
+ +
--enable-static-logresolve
+
logresolve¸¦ + Á¤ÀûÀ¸·Î ¸µÅ©µÈ ½ÇÇàÆÄÀÏ·Î ÄÄÆÄÀÏÇÑ´Ù.
+ +
--enable-static-rotatelogs
+
rotatelogs¸¦ + Á¤ÀûÀ¸·Î ¸µÅ©µÈ ½ÇÇàÆÄÀÏ·Î ÄÄÆÄÀÏÇÑ´Ù.
+
+ +

suexec ¼³Á¤ ¿É¼Ç

+

¾Æ·¡ ¿É¼ÇÀº suexec¸¦ ÀÚ¼¼È÷ ¼³Á¤ÇÑ´Ù. + ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â suEXEC + ±¸¼º°ú ¼³Ä¡¸¦ Âü°íÇ϶ó.

+ +
+
--with-suexec-bin
+
suexec ½ÇÇàÆÄÀÏÀÇ °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº + --sbindirÀÌ´Ù (¼³Ä¡ µð·ºÅ丮ÀÇ ÀÚ¼¼ÇÑ + Á¶Á¤ Âü°í).
+ +
--with-suexec-caller
+
suexec¸¦ ½ÇÇàÇÒ »ç¿ëÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. + ÀÌ »ç¿ëÀÚ´Â º¸Åë httpd¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ¿Í + °°¾Æ¾ß ÇÑ´Ù.
+ +
--with-suexec-docroot
+
suexec´Â ÀÌ ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ µð·ºÅ丮 + ¾Æ·¡¿¡ ÀÖ´Â ½ÇÇàÆÄÀϸ¸À» ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ±âº»°ªÀº + --datadir/htdocs´Ù.
+ +
--with-suexec-gidmin
+
suexec¿¡¼­ ÁöÁ¤°¡´ÉÇÑ ÃÖ¼Ò GID¸¦ ¼³Á¤ÇÑ´Ù. + ±âº»°ªÀº 100ÀÌ´Ù.
+ +
--with-suexec-logfile
+
suexec ·Î±×ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù. ·Î±×ÆÄÀϸíÀÇ + ±âº»°ªÀº suexec_logÀÌ°í, + --logfiledir¿¡ À§Ä¡ÇÑ´Ù.
+ +
--with-suexec-safepath
+
suexec°¡ ½ÃÀÛÇÏ´Â ÇÁ·Î¼¼½ºÀÇ + PATH ȯ°æº¯¼ö°ªÀ» ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº + /usr/local/bin:/usr/bin:/binÀÌ´Ù.
+ +
--with-suexec-userdir
+
»ç¿ëÀÚ µð·ºÅ丮¿¡¼­ suexec°¡ Á¢±ÙÇÒ + ¼ö ÀÖ´Â (½ÇÇàÆÄÀÏÀÌ ÀÖ´Â) ÇÏÀ§µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. + ÀÌ ¼³Á¤Àº suexec¿Í + (mod_userdirÀÌ Á¦°øÇÏ´Â) »ç¿ëÀÚº° + µð·ºÅ丮¸¦ °°ÀÌ »ç¿ëÇÒ¶§ ÇÊ¿äÇÏ´Ù. ±âº»°ªÀº + public_htmlÀÌ´Ù.
+ +
--with-suexec-uidmin
+
suexec¿¡¼­ ÁöÁ¤°¡´ÉÇÑ ÃÖ¼Ò UID¸¦ ¼³Á¤ÇÑ´Ù. + ±âº»°ªÀº 100ÀÌ´Ù.
+ +
--with-suexec-umask
+
suexec°¡ ½ÇÇàÇÏ´Â ÇÁ·Î¼¼½ºÀÇ + umask¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ + ±âº» ¼³Á¤°ú °°´Ù.
+
+ + +
top
+
+

ȯ°æº¯¼ö

+

configureÀÇ ¼±ÅÃÀ» ¹«½ÃÇϰųª °ü·Ê¿Í ´Ù¸¥ + À̸§À̳ª À§Ä¡¿¡ ÀÖ´Â ¶óÀ̺귯¸®¿Í ÇÁ·Î±×·¥À» ãµµ·Ï µµ¿ÍÁÖ´Â + À¯¿ëÇÑ È¯°æº¯¼öµéÀÌ ÀÖ´Ù.

+ + +
+
CC
+
ÄÄÆÄÀÏ¿¡ »ç¿ëÇÒ C ÄÄÆÄÀÏ·¯ ¸í·É¾î¸¦ ÁöÁ¤ÇÑ´Ù.
+ +
CFLAGS
+
ÄÄÆÄÀ϶§ »ç¿ëÇÏ±æ ¹Ù¶ó´Â C ÄÄÆÄÀÏ·¯ ¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù.
+ +
CPP
+
»ç¿ëÇÒ C ¼±Ã³¸®±â ¸í·É¾î¸¦ ÁöÁ¤ÇÑ´Ù.
+ +
CPPFLAGS
+
C/C++ ¼±Ã³¸®±â ¿É¼Ç. ¿¹¸¦ µé¾î, Çì´õÆÄÀÏÀÌ °ü·Ê¿Í ´Þ¸® + includedir µð·ºÅ丮¿¡ ÀÖ´Ù¸é + -IincludedirÀ» »ç¿ëÇÑ´Ù.
+ +
LDFLAGS
+
¸µÄ¿ ¿É¼Ç. ¿¹¸¦ µé¾î, ¶óÀ̺귯¸®°¡ °ü·Ê¿Í ´Þ¸® + libdir µð·ºÅ丮¿¡ ÀÖ´Ù¸é + -LlibdirÀ» »ç¿ëÇÑ´Ù.
+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/configure.html.tr.utf8 b/docs/manual/programs/configure.html.tr.utf8 new file mode 100644 index 0000000..f7b672a --- /dev/null +++ b/docs/manual/programs/configure.html.tr.utf8 @@ -0,0 +1,772 @@ + + + + + +configure - kaynak ağacını yapılandırır - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

configure - kaynak ağacını yapılandırır

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

configure betiği, Apache HTTP Sunucusunun kaynak kodlarını + belli bir platform için yapılandırmakta ve derlemekte kullanılır. + Sunucuyu kişisel gereksinimlerinize uygun şekilde derlemek için çeşitli + seçeneklere sahiptir.

+ +

Bu betik Apache HTTP Sunucusu kaynak paketinin kök dizininde bulunur ve + sadece Unix ve benzeri sistemlerde kullanılabilir. Kaynak paketinin + diğer platformalarda yapılandırılması ve derlenmesi hakkında bilgi + edinmek için platform belgelerine bakınız.

+
+ +
top
+
+

Komut Satırı

+

configure betiğini kaynak paketinin kök dizininden başka + bir yere kopyalayıp çalıştırmamalısınız.

+ +

./configure [seçenek]... + [değişken=değer]...

+ +

CC, CFLAGS gibi ortam değişkenlerini + değişken=değer atamaları biçiminde + kullanabilirsiniz. Kullanışlı değişkenlerin bazıları aşağıda açıklanmıştır.

+
top
+
+

Seçenekler

+ + +

Yapılandırma seçenekleri

+ +

Aşağıdaki seçenekler configure betiğinin kendi davranışını + belirlemekte kullanılır.

+ +
+
-C
+
--config-cache
+
--cache-file=config.cache için bir kısaltmadır.
+ +
--cache-file=dosya
+
Sınama sonuçları dosya dosyasında saklanır. + Bu seçenek açıkça belirtilmedikçe işlevsizdir.
+ +
-h
+
--help [short|recursive]
+
Yardım metnini basar ve çıkar. short değeriyle sadece + bu pakete özgü seçenekler listelenir. recursive değeriyle + ise paketin içindeki tüm paketler için kısa bir yardım metni + basılır.
+ +
-n
+
--no-create
+
configure betiği normal olarak çalışır fakat herhangi + bir çıktı dosyası üretmez. Derleme için Makefile + dosyalarını üretmeksizin sınamaların sonuçlarını görmek için + yararlıdır.
+ +
-q
+
--quiet
+
Yapılandırma sürecinde checking ... iletilerini basmaz. +
+ +
--srcdir=dizin
+
dizin dizinini kaynak dosyaları dizini olarak + tanımlar. configure betiğinin bulunduğu dizin veya bir + üst dizin öntanımlıdır.
+ +
--silent
+
--quiet ile aynı.
+ +
-V
+
--version
+
Telif hakkı bilgilerini gösterir ve çıkar.
+
+ + +

Kurulum dizinleri

+ +

Bu seçenekler kurulum dizinlerini tanımlar. Kurulum dizinleri seçilmiş + yerleşime bağımlıdır.

+ +
+
--prefix=PREFIX
+
Mimariden bağımsız dosyalar PREFIX dizininin + altına kurulur. /usr/local/apache2 öntanımlı kurulum + dizinidir.
+ +
--exec-prefix=EPREFIX
+
Mimariye bağımlı dosyalar EPREFIX dizininin + altına kurulur. Bunun için PREFIX dizini + öntanımlı kurulum dizinidir.
+
+ +

Öntanımlı olarak, make install tüm dosyaların + /usr/local/apache2/bin, /usr/local/apache2/lib + gibi dizinlere kurulmasını sağlar. Kurulum dizini önekini örneğin, + --prefix=$HOME şeklinde belirterek kurulumun başka bir yere + yapılmasını sağlayabilirsiniz.

+ +

Bir dizin yerleşimi tanımlamak

+
+
--enable-layout=LAYOUT
+
Kaynak kodu ve derleme betikleri kurulum ağacının + LAYOUT yerleşimine dayalı olduğu varsayımıyla + yapılandırılır. Bu seçenek sayesinde Apache HTTP Sunucusu kurulumu + içinde her dosya türü için farklı bir yer belirleyebilirsiniz. + config.layout dosyasında böyle yapılandırma örnekleri + vardır. Örnekleri izleyerek kendi yapılandırmanızı + oluşturabilirsiniz. Bu dosyada örneğin FOO isimli + yerleşim <Layout FOO>...</Layout> bölümü + içinde düzenlenmiştir ve her yerleşim için böyle ayrı bir bölüm + vardır. Öntanımlı yerleşim Apache’dir.
+
+ + +

Kurulum dizinlerinde ince ayar

+ + +

Kurulum dizinlerini daha iyi denetim altında tutmak için aşağıdaki + seçenekler kullanılır. Lütfen, dizin öntanımlılarının + autoconf tarafından tanımlandığına ve seçilen yerleşim + ayarlarının bunları yerini aldığına dikkat ediniz.

+ +
+ +
--bindir=dizin
+
Kullanıcı tarafından çalıştırılabilen dosyalar + dizin dizinine kurulur. Bunlar + htpasswd, dbmmanage gibi site + yönetimi için yararlı destek programlarıdır. Öntanımlı olarak bu + dosyalar EPREFIX/bin dizinine kurulur.
+ +
--datadir=dizin
+
Mimariden bağımsız salt okunur veriler dizin + dizinine kurulur. Bunların öntanımlı kurulum dizini + PREFIX/share dizinidir. Bu seçenek + autoconf tarafından atanır ve şimdilik + kullanılmamıştır.
+ +
--includedir=dizin
+
C başlık dosyaları dizin dizinine kurulur. + Bunların öntanımlı kurulum dizini + PREFIX/include dizinidir.
+ +
--infodir=dizin
+
Info belgeleri dizin dizinine kurulur. + Bunların öntanımlı kurulum dizini + PREFIX/info dizinidir. Bu seçenek şimdilik + kullanılmamıştır.
+ +
--libdir=dizin
+
Nesne kod kütüphaneleri dizin dizinine + kurulur. Bunların öntanımlı kurulum dizini + PREFIX/lib dizinidir.
+ +
--libexecdir=dizin
+
Paylaşımlı modüller gibi program dosyaları + dizin dizinine kurulur. Öntanımlı olarak + libexecdir bu dizini + EPREFIX/modules olarak tanımlar.
+ +
--localstatedir=dizin
+
Düzenlenebilir tek makinelik veri dizin + dizinine kurulur. Öntanımlı olarak localstatedir bu + dizini PREFIX/var olarak tanımlar. Bu + seçenek autoconf tarafından atanır ve şimdilik + kullanılmamıştır.
+ +
--mandir=dizin
+
Kılavuz sayfaları dizin dizinine kurulur. + Öntanımlı olarak mandir bu dizini + EPREFIX/man olarak tanımlar.
+ +
--oldincludedir=dizin
+
GCC harici C başlık dosyaları dizin dizinine + kurulur. Öntanımlı olarak oldincludedir bu dizini + /usr/include olarak tanımlar. Bu seçenek + autoconf tarafından atanır ve şimdilik + kullanılmamıştır.
+ +
--sbindir=dizin
+
Sistem yöneticisi tarafından kullanılabilen programlar + dizin dizinine kurulur. Bunlar + httpd, apachectl, + suexec gibi Apache HTTP Sunucusunu çalıştırmak + için gereken programlardır. Öntanımlı olarak sbindir bu + dizini EPREFIX/sbin olarak tanımlar.
+ +
--sharedstatedir=dizin
+
Mimariye bağımlı düzenlenebilir veriler + dizin dizinine kurulur. Öntanımlı olarak + sharedstatedir bu dizini + PREFIX/com olarak tanımlar. Bu seçenek + autoconf tarafından atanır ve şimdilik + kullanılmamıştır.
+ +
--sysconfdir=dizin
+
httpd.conf, mime.types gibi tek + makinelik salt okunur sunucu yapılandırma dosyaları + dizin dizinine kurulur. Öntanımlı olarak + sysconfdir bu dizini + PREFIX/conf olarak tanımlar.
+
+ + + +

Sistem türleri

+ +

Bu seçenekleri Apache HTTP Sunucusunu başka bir platformda çalıştırmak + üzere çapraz derleme yaparken kullanılır. Normal durumlarda sunucu + derlendiği platformda çalıştırıldığından bu seçenekler kullanılmaz.

+ +
+
--build=derleme-ortamı
+
Derleme araçlarının derleneceği sistemin sistem türünü tanımlar. + config.guess betiği ile elde edilen sonuç + öntanımlıdır.
+ +
--host=çalışma-ortamı
+
Sunucunun çalışacağı sistemin sistem türünü tanımlar. Öntanımlı + sistem türü derleme-ortamı’dır.
+ +
--target=hedef-ortam
+
Derleyicileri hedef-ortam sistem türü için + yapılandırır. Öntanımlı sistem türü + çalışma-ortamı’dır. Bu seçenek + autoconf tarafından atanır ve Apache HTTP Sunucusu için + gerekli değildir.
+
+ + +

Seçimlik özellikler

+ +

Bu seçenekler HTTP sunucunuzun sahip olmasını istediğiniz özelliklerin + hassas olarak ayarlanmasını sağlar.

+ +

Genel sözdizimi

+

Bir özelliği etkin kılmak veya iptal etmek için genellikle şu + sözdizimi kullanılır:

+ +
+
--disable-özellik
+
Sunucu özellik özelliğine sahip olmaz. Bu + seçenek--enable-özellik=no seçeneğine + eşdeğerdir.
+ +
--enable-özellik[=değer]
+
Sunucu özellik özelliğine sahip olur. + değer belirtilmediği takdirde + yes (evet) öntanımlıdır.
+ +
--enable-modül=shared
+
Belirtilen modül DSO modülü olarak derlenir. Öntanımlı olarak + etkin modüller devingen ilintilenir.
+ +
--enable-modül=static
+
Belirtilen modül durağan ilintilenir.
+
+ +

Bilginize

+

--enable-filanca seçeneğinin varlığı + configure betiğinin filanca diye + bir modül var olmasa bile bundan şikayetçi olmasına sebep olmaz. Bu + bakımdan dikkatli olunuz.

+
+ + +

Derlenecek modüllerin seçimi

+

Modüllerin çoğu öntanımlı olarak derlenir ve ya açıkça iptal edilmek + ya da few anahtar sözcüğü + kullanılarak kaldırılmak zorunda kalınır (ayrıntılar için + --enable-modules, --enable-mods-shared ve + --enable-mods-static seçeneklerine bakın). Bir grubu + tamamen kaldırmak için --enable-modules=none gerekir.

+ +

Öntanımlı olarak derlenmeyenler ise ya açıkça etkin kılınmak ya da + all veya reallyall anahtar sözcükleriyle + kullanılabilir yapılmak zorunda kalınır.

+ +

Hangi modüllerin öntanımlı olarak derlendiğini öğrenmek için + ./configure -h veya ./configure --help + komutunu çalıştırın ve çıktıdaki Optional Features + bölümüne bakın. Örnek olarak, mod_example1 ve + mod_example2 modülleriyle ilgilendiğinizi + varsayalım:

+ +
Optional Features:
+  ...
+  --disable-example1     example module 1
+  --enable-example2      example module 2
+  ...
+ +

Burada, mod_example1 öntanımlı olarak etkindir ve + derlenmemesini istiyorsanız --disable-example1 + seçeneğini kullanmalısınız. mod_example2 ise öntanımlı + olarak derlenmemektedir ve derlenmesini istiyorsanız + --enable-example2 seçeneğini kullanmalısınız.

+ + +

Çok Süreçlilik Modülleri

+

Çok Süreçlilik Modülleri veya MPM'ler + sunucunun temel davranışını belirler. Sunucuya yüklenebilecek azami MPM + sayısı birdir. Kullanılabilecek modüller modül + dizininde listelenmiştir.

+ +

MPM'ler devingen yükleme için DSO olarak derlenebileceği gibi + sunucuyla duruk olarak da ilintilenebilir ve bunlar aşağıdaki + seçeneklerle etkin kılınır:

+ +
+
--with-mpm=MPM
+
+

Sunucu için öntanımlı MPM'i seçer. MPM'ler DSO modülleri olarak + derleniyorsa (bak --enable-mpms-shared), bu seçenek + öntanımlı yapılandırma dosyasında yüklenecek MPM'i seçer. Aksi + takdirde, sunucuyla duruk olarak ilintilenecek, kullanılabilir tek + MPM'i seçer.

+ +

Bu seçenek belirtilmezse, işletim sisteminiz için + öntanımlı olan MPM seçilir.

+
+ +
--enable-mpms-shared=MPM-LISTESÄ°
+
+

MPM'leri devingen paylaşımlı modül olarak etkinleştirir. + LoadModule yönergesi + kullanılarak bu modüllerden biri devingen olarak yüklenmelidir.

+ +

MPM-LISTESİ MPM'lerin aralarına boşluk bırakılarak ve + tamamı tek tırnaklarla sarmalanarak oluşturulmuş bir listesidir. + Örnek:

+ +

+ --enable-mpms-shared='prefork worker' +

+ +

Ek olarak, kullandığınız platformda devingen yüklemeyi destekleyen + ve DSO modülü olarak derlenmiş tüm modülleri seçmek için + all anahtar sözcüğünü de kullanabilirsiniz. Örnek:

+ +

+ --enable-mpms-shared=all +

+
+
+ + +

Üçüncü parti modüller

+

Üçüncü parti modülleri etkin kılmak için şu seçenekler kullanılır:

+ +
+
--with-module=modül-türü:modül-dosyası[,modül-türü:modül-dosyası]
+

Durağan ilintili modüller listesine belirtilen modülleri ekler. + Modül kaynak dosyası modül-dosyası, önce + Apache HTTP Sunucusu kaynak ağacı altında + modules/modül-türü alt dizininde aranır. + Modül orada değilse configure betiği + modül-dosyası ile bir mutlak dosya yolu + belirtildiği varsayımıyla kaynak dosyasını + modül-türü alt dizinine kopyalamaya çalışır. + Alt dizin mevcut değilse oluşturulur ve içine standart bir + Makefile.in yerleştirilir.

+ +

Bu seçenek tek kaynak dosyasından oluşan küçük harici modülleri + eklemek için yararlıdır. Daha karmaşık modüller için modül üreticisi + tarafından sağlanan belgelere bakınız.

+ +

Bilginize

+

Durağan ilintili modüller yerine bir DSO modülü derlemek + isterseniz apxs programını kullanınız.

+
+
+
+ + +

Kümeleme seçenekleri ve diğerleri

+
+
--enable-maintainer-mode
+
Hata ayıklama iletileri ve derleme sırasındaki uyarıların + gösterilmesi etkin kılınır ve derlenmiş tüm modüller yüklenir.
+ +
--enable-mods-shared=modül-listesi
+
+

Etkinleştirilip devingen paylaşımlı modül olarak derlenecek + modüllerin listesi belirtilir. Yani, bu modüller LoadModule yönergesi kullanılarak + devingen olarak yüklenir.

+ +

modül-listesi tırnak içine alınmış boşluk + ayraçlı modül isimleri listesidir. Modül isimleri önlerindeki + mod_ öneki olmaksızın belirtilirler. Örnek:

+ +

+ --enable-mods-shared='headers rewrite dav' +

+ +

modül-listesi yerine + reallyall, all, most ve + few anahtar sözcükleri de belirtilebilir. Örneğin,

+ +

+ --enable-mods-shared=most +

+ +

seçeneği ile çoğu modül DSO modülü olarak derlenir,

+ +

+ --enable-mods-shared=few +

+ +

seçeneği ile sadece en temel modüller derlenir.

+ +

most öntanımlıdır.

+ +

Seçilen modüller için LoadModule yönergeleri ana yapılandırma dosyasında + kendiliğinden üretilir. Öntanımlı olarak, --enable-foo + yapılandıma seçeneği ile açıkça seçilen modüller ve gerekli olanlar + dışında kalan LoadModule yönergeleri açıklama haline + getirilir. Yüklü modülleri httpd.conf dosyasındaki + LoadModule yönergelerini + etkin kılarak veya açıklama haline getirerek değiştirebilirsiniz. + LoadModule yönergelerine ek + olarak, derlenmiş tüm modüller + --enable-load-all-modules yapılandırma seçeneği ile de + etkinleştirilebilir.

+ +
--enable-mods-static=modül-listesi
+
Bu seçenek modülleri devingen değil de durağan ilintilemek dışında + --enable-mods-shared seçeneğine benzer. Yani bu + modüller httpd çalıştırılır çalıştırılmaz etkin + olurlar. Yüklenmeleri için LoadModule yönergesine ihtiyaçları + yoktur.
+ +
--enable-modules=MODULE-LIST
+
Bu seçenek --enable-mods-shared gibi davranır ve ek + olarak belirtilen modülleri devingen olarak ilintiler.Özel + none anahtar sözcüğü tüm modüllerin derlenmesini iptal + eder.
+ +
--enable-v4-mapped
+
IPv6 soketlierinin IPv4 bağlantılar üzerinde kullanılması mümkün + olur.
+ +
--with-port=port
+
Bu seçenek httpd'nin dinleyeceği portu + belirler. Bu port httpd.conf yapılandırma dosyası + üretilirken kullanılır. 80. port öntanımlıdır.
+ +
--with-program-name
+
Öntanımlı olan httpd yerine başka bir çalıştırabilir + ismi tanımlar.
+
+ + + +

Seçimlik paketler

+

Buradaki seçenekler seçimlik paketleri tanımlamak için kullanılır.

+ +

Genel sözdizimi

+

Bir seçimlik paketi tanımlamak için genellikle şöyle bir sözdizimi + kullanılır:

+ +
+
--with-paket[=deÄŸer]
+
paket paketi kullanılır. Öntanımlı + değer yes’tir.
+ +
--without-paket
+
paket paketi kullanılmaz. Öntanımlı + değer no’dur. Bu seçenek + autoconf tarafından sağlanmıştır ve Apache HTTP + Sunucusu için pek yararlı değildir.
+
+ + + + +

Özel paketler

+
+
--with-apr=dizin|dosya
+
Apache Taşınabilir Arayüzü (APR) + httpd kaynak paketinin bir parçası olup HTTP Sunucu ile birlikte + derlenir. Eğer kendi kurulu APR’nizi kullanmak isterseniz bunu + configure betiğine apr-config betiğinin + yolunu belirterek ifade edebilirsiniz. Kurulu APR için bid dizin, + dosya ismi veya mutlak dosya yolu belirtebilirsiniz. + apr-config ya belirttiğiniz dizinde ya da + bin alt dizininde bulunmalıdır.
+ +
--with-apr-util=dizin|dosya
+
Apache Taşınabilir Arayüzü Araçları (APU) httpd kaynak paketinin + bir parçası olup HTTP Sunucu ile birlikte derlenir. Eğer kendi + kurulu APU’nuzu kullanmak isterseniz bunu configure + betiğine apu-config betiğinin yolunu belirterek ifade + edebilirsiniz. Kurulu APR için bir dizin, dosya ismi veya mutlak + dosya yolu belirtebilirsiniz. apr-config ya + belirttiğiniz dizinde ya da bin alt dizininde + bulunmalıdır.
+ +
--with-ssl=dizin
+
mod_ssl modülü etkinse configure + betiği kurulu bir OpenSSL arayacaktır. Kendi SSL/TLS kurulumunuzun + yolunu bu seçenekle belirtebilirsiniz.
+ +
--with-z=dizin
+
Yapılandırmanız gerektirdiği takdirde (örneğin, + mod_deflate etkinse) configure betiği + kurulu zlib kütüphanesinin yerini tespit etmeye + çalışacaktır. Kendi sıkıştırma kütüphanenizin yerini bu seçenekle + belirtebilirsiniz.
+
+ +

Apache HTTP Sunucusunun çeşitli bölümleri, + mod_authn_dbm modülü ve mod_rewrite + modülünün RewriteMap + yönergesi bilgilere erişimi hızlandırmak için basit anahtar/değer + veritabanları kullanırlar. SDBM, APU içinde mevcut olduğundan bu + veritabanı her zaman kullanılabilir durumdadır. Eğer başka veritabanı + türleri kullanmak isterseniz aşağıdaki seçeneklerle bunları etkin + kılabilirsiniz:

+ +
+
--with-gdbm[=dizin-yolu]
+
Bir dizin-yolu belirtilmemişse + configure betiği GNU DBM kurulumunun kütüphanelerini ve + başlık dosyalarını bulunması olası yerlerde arar. Bir + dizin-yolu belirtilmişse + configure betiği kurulumun kütüphanelerini + dizin-yolu/lib altında, başlık dosyalarını + ise dizin-yolu/include altında arayacaktır. + Bundan başka, başlık ve kütüphane dosyalarının bulundukları yerler + iki nokta imi ile ayrılarak dizin-yolu + olarak belirtilebilir.
+ +
--with-ndbm[=dizin-yolu]
+
New DBM kurulumunu araştırması dışında --with-gdbm + seçeneği gibidir.
+ +
--with-berkeley-db[=dizin-yolu]
+
Berkeley DB kurulumunu araştırması dışında + --with-gdbm seçeneği gibidir.
+
+ +

Bilginize

+

DBM seçenekleri APU tarafından sağlanmış olup onun yapılandırma + betiğine aktarılır. Bu seçenekler --with-apr-util + seçeneği ile tanımlanmış bir kurulu APU varsa kullanışlı olur.

+

HTTP sunucunuz ile birlikte birden fazla DBM gerçeklenimi + kullanabilirsiniz. Kullanılacak DBM türünü her zaman çalışma anı + yapılandırmanızla yapılandırabilirsiniz.

+
+ + + +

Destek programları için seçenekler

+
+
--enable-static-support
+
Destek programlarını durağan ilintili olarak derler. Yani + çalıştırılabilirin kullandığı bütün kütüphaneler kodla + bütünleştirilir. Bu seçenek belirtilmedikçe destek programları daima + devingen ilintili olarak derlenir.
+ +
--enable-suexec
+
Çatallanan sürecin kullanıcı ve grup kimliklerinin + değiştirilebilmesini sağlayan suexec programının + kullanımını etkinleştirir. Sunucunuz üzerinde suid biti + etkinleştirilmiş bir program çalıştırmanın sistem güvenliğinde + yaratacağı sorunlar hakkında bir fikriniz yoksa bu seçeneği + etkinleştirmeyin. suexec yapılandırma + seçenekleri aşağıda açıklanmıştır.
+
+ +

Tek bir destek programını aşağıdaki seçenekleri kullanarak bir durağan + ilintili çalıştırılabilir olarak derleyebilirsiniz:

+ +
+
--enable-static-ab
+
ab programının durağan ilintili sürümü + derlenir.
+ + +
--enable-static-checkgid
+
checkgid programının durağan ilintili sürümü + derlenir.
+ +
--enable-static-htdbm
+
htdbm programının durağan ilintili sürümü + derlenir.
+ +
--enable-static-htdigest
+
htdigest programının durağan ilintili sürümü + derlenir.
+ +
--enable-static-htpasswd
+
htpasswd programının durağan ilintili sürümü + derlenir.
+ +
--enable-static-logresolve
+
logresolve programının durağan ilintili sürümü + derlenir.
+ +
--enable-static-rotatelogs
+
rotatelogs programının durağan ilintili sürümü + derlenir.
+
+ +

suexec yapılandırma seçenekleri

+ + +

Aşağıdaki seçeneklerle suexec programının + davranışı hassas bir şekilde ayarlanabilir. Daha ayrıntılı bilgi için + suEXEC yapılandırması ve kurulumuna + bakınız.

+ +
+
--with-suexec-bin
+
Bu seçenek ile suexec çalıştırılabilirinin yeri + belirtilir. Öntanımlı olarak --sbindir ile belirtilen + dizine kurulur (Kurulum dizinlerinde + ince ayar konusuna bakınız).
+ +
--with-suexec-caller
+
Bu seçenek ile suexec’i çalıştırabilecek + kullanıcı belirtilir. Normalde httpd programını + çalıştıran kullanıcı olmalıdır.
+ +
--with-suexec-docroot
+
Bu seçenek ile suexec'e erişebilecek + çalıştırılabilirlerin altında bulunacağı dizin belirtilir. + --datadir/htdocs öntanımlıdır.
+ +
--with-suexec-gidmin
+
suexec için hedef kullanıcı olmasına izin + verilen en küçük grup kimliğini tanımlamak için kullanılır. 100 + öntanımlıdır.
+ +
--with-suexec-logfile
+
suexec günlük dosyasının ismi belirtilir. + Öntanımlı olarak bu dosyanın ismi suexec_log olup + --logfiledir seçeneği ile belirtilen dizin altında + bulunur.
+ +
--with-suexec-safepath
+
suexec tarafından çalıştırılacak süreçlerin + çalıştırılabilirlerinin bulunabileceği dizinleri PATH + ortam değişkenine tanımlamak için kullanılır. + /usr/local/bin:/usr/bin:/bin öntanımlıdır.
+ +
--with-suexec-userdir
+
Bu seçenek, kullanıcı dizinleri altında suexec + tarafından çalıştırılacak süreçlerin çalıştırılabilirlerinin + bulunabileceği alt dizini tanımlar. suexec + programını (mod_userdir tarafından sağlanan) + kullanıcıya özel dizinlerde kullanmak istediğinizde bu gereklidir. + public_html alt dizini öntanımlıdır.
+ +
--with-suexec-uidmin
+
suexec için hedef kullanıcı olmasına izin + verilen en küçük kullanıcı kimliğini tanımlamak için kullanılır. + 100 öntanımlıdır.
+ +
--with-suexec-umask
+
suexec tarafından çalıştırılacak süreçler için + umask tanımlar. Sisteminiz için geçerli ayarlar + öntanımlıdır.
+
+ + +
top
+
+

Ortam DeÄŸiÅŸkenleri

+

configure betiğinin yerleri ve isimleri standartlara uygun + olmayan kütüphaneleri ve programları bulmasını yardımcı olan veya + configure betiği tarafından yapılan bazı seçimleri + değiştirmenizi sağlayacak bazı ortam değişkenleri vardır.

+ + +
+
CC
+
Bu değişkenle derleme sırasında kullanılacak C derleyici komutu + tanımlanır.
+ +
CFLAGS
+
Bu değişkenle derleme sırasında kullanılacak C derleyici seçenekleri + tanımlanır.
+ +
CPP
+
Bu değişkenle derleme sırasında kullanılacak C önişlemci komutu + tanımlanır.
+ +
CPPFLAGS
+
C/C++ önişlemci seçenekleri tanımlanır. Örneğin, eğer başlık + dosyaları standart yerlerinde değil de + includedir dizinindeyse bunu + -Iincludedir seçeneği olarak + belirtebilirsiniz.
+ +
LDFLAGS
+
İlintileyici seçenekleri tanımlanır. Örneğin, eğer kütüphane + dosyalarınız standart yerlerinde değil de + libdir dizinindeyse bunu + -Llibdir seçeneği olarak belirtebilirsiniz.
+
+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/dbmmanage.html b/docs/manual/programs/dbmmanage.html new file mode 100644 index 0000000..cda21b8 --- /dev/null +++ b/docs/manual/programs/dbmmanage.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: dbmmanage.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: dbmmanage.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: dbmmanage.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: dbmmanage.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/dbmmanage.html.en b/docs/manual/programs/dbmmanage.html.en new file mode 100644 index 0000000..fa52f4b --- /dev/null +++ b/docs/manual/programs/dbmmanage.html.en @@ -0,0 +1,224 @@ + + + + + +dbmmanage - Manage user authentication files in DBM format - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

dbmmanage - Manage user authentication files in DBM format

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

dbmmanage is used to create and update the DBM format files + used to store usernames and password for basic authentication of HTTP users + via mod_authn_dbm. + Resources available from the Apache HTTP server can be restricted to just + the users listed in the files created by dbmmanage. This + program can only be used when the usernames are stored in a DBM file. To + use a flat-file database see htpasswd.

+ +

Another tool to maintain a DBM password database is + htdbm.

+ +

This manual page only lists the command line arguments. For details of + the directives necessary to configure user authentication in + httpd see the httpd manual, which is part of + the Apache distribution or can be found at http://httpd.apache.org/.

+
+ +
top
+
+

Synopsis

+

dbmmanage [ encoding ] + filename add|adduser|check|delete|update + username + [ encpasswd + [ group[,group...] + [ comment ] ] ]

+ +

dbmmanage filename + view [ username ]

+ +

dbmmanage filename import

+
top
+
+

Options

+
+
filename
+
The filename of the DBM format file. Usually without the extension + .db, .pag, or .dir.
+ +
username
+
The user for which the operations are performed. The username + may not contain a colon (:).
+ +
encpasswd
+
This is the already encrypted password to use for the + update and add commands. You may use a hyphen + (-) if you want to get prompted for the password, but fill + in the fields afterwards. Additionally when using the update + command, a period (.) keeps the original password + untouched.
+ +
group
+
A group, which the user is member of. A groupname may not contain a + colon (:). You may use a hyphen (-) if you don't + want to assign the user to a group, but fill in the comment field. + Additionally when using the update command, a period + (.) keeps the original groups untouched.
+ +
comment
+
This is the place for your opaque comments about the user, like + realname, mailaddress or such things. The server will ignore this + field.
+
+ +

Encodings

+
+
-d
+
crypt encryption (default, except on Win32, Netware)
+ +
-m
+
MD5 encryption (default on Win32, Netware)
+ +
-s
+
SHA1 encryption
+ +
-p
+
plaintext (not recommended)
+
+ + +

Commands

+
+
add
+
Adds an entry for username to filename using the + encrypted password encpasswd. + +

dbmmanage passwords.dat add rbowen foKntnEF3KSXA

+
+ +
adduser
+
Asks for a password and then adds an entry for username to + filename. + +

dbmmanage passwords.dat adduser krietz

+
+ +
check
+
Asks for a password and then checks if username is in + filename and if it's password matches the specified one. + +

dbmmanage passwords.dat check rbowen

+
+ +
delete
+
Deletes the username entry from filename. + +

dbmmanage passwords.dat delete rbowen

+
+ +
import
+
Reads username:password entries + (one per line) from STDIN and adds them to + filename. The passwords already have to be crypted.
+ +
update
+
Same as the adduser command, except that it makes + sure username already exists in filename. + +

dbmmanage passwords.dat update rbowen

+
+ +
view
+
Just displays the contents of the DBM file. If you specify a + username, it displays the particular record only. + +

dbmmanage passwords.dat view

+
+
+ +
top
+
+

Bugs

+

One should be aware that there are a number of different DBM file formats + in existence, and with all likelihood, libraries for more than one format + may exist on your system. The three primary examples are SDBM, NDBM, the GNU + project's GDBM, and Berkeley DB 2. Unfortunately, all these libraries use + different file formats, and you must make sure that the file format used + by filename is the same format that dbmmanage + expects to see. dbmmanage currently has no way of determining + what type of DBM file it is looking at. If used against the wrong format, + will simply return nothing, or may create a different DBM file with a + different name, or at worst, it may corrupt the DBM file if you were + attempting to write to it.

+ +

dbmmanage has a list of DBM format preferences, defined by + the @AnyDBM::ISA array near the beginning of the program. Since + we prefer the Berkeley DB 2 file format, the order in which + dbmmanage will look for system libraries is Berkeley DB 2, + then NDBM, then GDBM and then SDBM. The first library found will be the + library dbmmanage will attempt to use for all DBM file + transactions. This ordering is slightly different than the standard + @AnyDBM::ISA ordering in Perl, as well as the ordering used by + the simple dbmopen() call in Perl, so if you use any other + utilities to manage your DBM files, they must also follow this preference + ordering. Similar care must be taken if using programs in other languages, + like C, to access these files.

+ +

One can usually use the file program supplied with most + Unix systems to see what format a DBM file is in.

+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/dbmmanage.html.fr.utf8 b/docs/manual/programs/dbmmanage.html.fr.utf8 new file mode 100644 index 0000000..1621c63 --- /dev/null +++ b/docs/manual/programs/dbmmanage.html.fr.utf8 @@ -0,0 +1,247 @@ + + + + + +dbmmanage - Gestion des fichiers d'authentification des +utilisateurs au format DBM - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

dbmmanage - Gestion des fichiers d'authentification des +utilisateurs au format DBM

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

dbmmanage permet de créer et de maintenir les + fichiers au format DBM où sont stockés les noms d'utilisateurs et + mots de passe à des fins d'authentification de base des utilisateurs + HTTP via le module mod_authn_dbm. Il est possible + de restreindre l'accès aux ressources disponibles sur le serveur + HTTP Apache aux seuls utilisateurs spécifiés dans les fichiers créés + par dbmmanage. Ce programme ne peut être utilisé + qu'avec des fichiers d'utilisateurs au format DBM. Pour + l'utilisation de fichiers textes, voir le programme + htpasswd.

+ +

Le programme htdbm est aussi un utilitaire + permettant de maintenir une base de données de mots de passe DBM.

+ +

Cette page de manuel ne décrit que les arguments de la ligne de + commande. Pour plus de détails à propos des directives nécessaires + pour configurer l'authentification des utilisateurs dans + httpd, voir le manuel httpd qui est fourni avec + la distribution d'Apache, ou peut être consulté à http://httpd.apache.org/.

+
+ +
top
+
+

Syntaxe

+

dbmmanage [ codage ] + nom-fichier add|adduser|check|delete|update + nom-utilisateur + [ mot-de-passe-chiffré + [ groupe[,groupe...] + [ commentaire ] ] ]

+ +

dbmmanage nom-fichier + view [ nom-utilisateur ]

+ +

dbmmanage nom-fichierimport

+
top
+
+

Options

+
+
nom-fichier
+
Le nom du fichier au format DBM, en général sans l'extension + .db, .pag, ou .dir.
+ +
nom-utilisateur
+
L'utilisateur concerné par l'opération effectuée. Le + nom-utilisateur ne doit pas contenir de caractère + :.
+ +
mot-de-passe-chiffré
+
C'est le mot de passe sous sa forme chiffrée à utiliser avec les + commandes update et add. Vous pouvez + utiliser un tiret (-) si vous voulez que le mot de + passe vous soit demandé, mais remplissez les champs par la suite. En + outre, avec la commande update, un point + (.) permet de conserver le mot de passe original.
+ +
groupe
+
Un groupe dont l'utilisateur est membre. Un nom de groupe ne + doit pas contenir de caractère (:). Vous pouvez + utiliser un tiret (-) si vous ne voulez pas associer + l'utilisateur à un groupe, mais remplissez le champ commentaire. En + outre, avec la commande update, un point + (.) permet de conserver le groupe original.
+ +
commentaire
+
C'est l'endroit où vous pouvez enregistrer diverses informations + à propos de l'utilisateur telles que son nom réel, sont e-mail, + etc... Le serveur ignore ce champ.
+
+ +

Codages

+
+
-d
+
chiffrement crypt (chiffrement par défaut sauf sous Win32, + Netware)
+ +
-m
+
chiffrement MD5 (chiffrement par défaut sous Win32, + Netware)
+ +
-s
+
chiffrement SHA1
+ +
-p
+
en clair (déconseillé)
+
+ + +

Commandes

+
+
add
+
Ajoute une entrée pour nom-utilisateur à + nom-fichier en utilisant le mot de passe chiffré + mot-de-passe-chiffré. + +

dbmmanage passwords.dat add rbowen foKntnEF3KSXA

+
+ +
adduser
+
Demande un mot de passe puis ajoute une entrée pour + nom-utilisateur à nom-fichier. + +

dbmmanage passwords.dat adduser krietz

+
+ +
check
+
Demande un mot de passe puis vérifie si + nom-utilisateur est présent dans nom-fichier + et si son mot de passe correspond au mot de passe fourni. + +

dbmmanage passwords.dat check rbowen

+
+ +
delete
+
Supprime l'entrée nom-utilisateur de + nom-fichier. + +

dbmmanage passwords.dat delete rbowen

+
+ +
import
+
Lit les entrées + nom-utilisateur:mot-de-passe + (une par ligne) depuis STDIN, et les ajoute à + nom-fichier. Les mots de passe doivent être déjà + chiffrés.
+ +
update
+
Identique à la commande adduser, à l'exception + que la présence de nom-utilisateur dans + nom-fichier est vérifiée. + +

dbmmanage passwords.dat update rbowen

+
+ +
view
+
Affiche le contenu du fichier DBM. Si vous spécifiez un + nom-utilisateur, seule l'entrée correspondante est + affichée. + +

dbmmanage passwords.dat view

+
+
+ +
top
+
+

Bogues

+

Vous devez garder à l'esprit qu'il existe de nombreux formats de + fichiers DBM différents, et que selon toute vraisemblance, des + bibliothèques pour plus d'un format sont présentes sur votre + système. Les trois exemples de base sont SDBM, NDBM, le projet GNU + GDBM, et Berkeley DB 2. Malheureusement, toutes ces bibliothèques + utilisent des formats de fichiers différents, et vous devez vous + assurer que le format de fichier utilisé par nom-fichier + correspond au format attendu par dbmmanage. + Actuellement, dbmmanage n'a aucun moyen de savoir à + quel type de fichier DBM il a à faire. S'il est utilisé avec un + format inapproprié, il ne renverra rien, ou pourra créer un fichier + DBM différent avec un nom différent, ou au pire, va corrompre le + fichier DBM si vous avez tenté de le modifier.

+ +

dbmmanage possède une liste de préférences en + matière de formats DBM, définies dans le tableau + @AnyDBM::ISA au début du programme. Comme nous + préférons le format de fichier Berkeley DB 2, l'ordre dans lequel + dbmmanage va rechercher les bibliothèques système est + Berkeley DB 2, puis NDBM, GDBM et enfin SDBM. La première + bibliothèque trouvée sera celle que dbmmanage tentera + d'utiliser pour toutes les opérations sur les fichiers DBM. Cette + ordre est sensiblement différent de l'ordre standard de Perl + @AnyDBM::ISA, et de l'ordre utilisé par l'appel + dbmopen() de Perl ; si vous utilisez un autre + utilitaire pour gérer vos fichiers DBM, il doit donc se conformer à + l'ordre de préférence indiqué précédemment. Vous devez prêter la + même attention si vous utilisez des programmes écrits dans d'autres + langages, comme C, pour accéder à ces fichiers.

+ +

Vous pouvez utiliser le programme file fourni par la + plupart des systèmes Unix pour déterminer le format d'un fichier + DBM.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/dbmmanage.html.ko.euc-kr b/docs/manual/programs/dbmmanage.html.ko.euc-kr new file mode 100644 index 0000000..dfa7809 --- /dev/null +++ b/docs/manual/programs/dbmmanage.html.ko.euc-kr @@ -0,0 +1,202 @@ + + + + + +dbmmanage - DBM Çü½ÄÀÇ »ç¿ëÀÚÀÎÁõ ÆÄÀÏÀ» °ü¸®ÇÑ´Ù - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

dbmmanage - DBM Çü½ÄÀÇ »ç¿ëÀÚÀÎÁõ ÆÄÀÏÀ» °ü¸®ÇÑ´Ù

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

dbmmanage´Â HTTP basic authentication¿¡ + »ç¿ëÇÒ »ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ ÀúÀåÇÏ´Â DBMÇü½ÄÀÇ ÆÄÀÏÀ» ¸¸µé°í + ¼öÁ¤ÇÑ´Ù. ¾ÆÆÄÄ¡ À¥¼­¹ö´Â ÀÚ¿øÀ» dbmmanage·Î + ¸¸µç ÆÄÀÏ¿¡ ±â·ÏÇÑ »ç¿ëÀÚ¿¡°Ô¸¸ º¸¿©ÁÙ ¼ö ÀÖ´Ù. »ç¿ëÀÚ¸íÀÌ + DBM ÆÄÀÏ¿¡ ±â·ÏµÇÀÖÀ»¶§¸¸ ÀÌ ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. + ÀϹÝÆÄÀÏÀ» µ¥ÀÌÅͺ£À̽º·Î »ç¿ëÇÏ·Á¸é htpasswd¸¦ Âü°íÇ϶ó.

+ +

ÀÌ manpage´Â ¸í·ÉÇà ¿É¼Ç¸¸À» ¼³¸íÇÑ´Ù. httpd¿¡¼­ »ç¿ëÀÚÀÎÁõÀ» ¼³Á¤ÇÏ´Â Áö½Ã¾î¿¡ + ´ëÇÑ ¼³¸íÀº ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡ Æ÷ÇÔµÇÀÖ°í http://httpd.apache.org/¿¡¼­µµ + º¼ ¼ö ÀÖ´Â ¾ÆÆÄÄ¡ ¼³¸í¼­¸¦ Âü°íÇ϶ó.

+
+ +
top
+
+

°³¿ä

+

dbmmanage [ encoding ] + filename add|adduser|check|delete|update + username + [ encpasswd + [ group[,group...] + [ comment ] ] ]

+ +

dbmmanage filename + view [ username ]

+ +

dbmmanage filename import

+
top
+
+

¿É¼Ç

+
+
filename
+
DBMÇü½Ä ÆÄÀÏÀÇ ÆÄÀϸí. º¸Åë .db, + .pag, .dir È®ÀåÀÚ¸¦ »«´Ù.
+ +
username
+
ÀÛ¾÷ÇÒ »ç¿ëÀÚ¸í. username¿¡ ÄÝ·Ð(:)À» + »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
encpasswd
+
update³ª add ¸í·É¿¡ »ç¿ëÇÒ + ÀÌ¹Ì ¾ÏȣȭµÈ ¾ÏÈ£ÀÌ´Ù. ¾ÏÈ£¸¦ ³ªÁß¿¡ ÁöÁ¤ÇÏ°í ½ÍÀº °æ¿ì + »©±â±âÈ£(-)¸¦ »ç¿ëÇÑ´Ù. ¶Ç, update + ¸í·ÉÀ» »ç¿ëÇÒ¶§ ¸¶Ä§Ç¥(.)¸¦ »ç¿ëÇÏ¸é ¿ø·¡ + ¾ÏÈ£¸¦ ±×´ë·Î µÐ´Ù.
+ +
group
+
»ç¿ëÀÚ°¡ ¼ÓÇÑ ±×·ì. ±×·ì¸í¿¡ ÄÝ·Ð(:)À» + »ç¿ëÇÒ ¼ö ¾ø´Ù. »ç¿ëÀÚ¸¦ ±×·ì¿¡ Ãß°¡ÇÏÁö´Â ¾ÊÁö¸¸ ¼³¸í¶õÀ» + ä¿ì°í ½Í´Ù¸é »©±â±âÈ£(-)¸¦ »ç¿ëÇÑ´Ù. ¶Ç, + update ¸í·ÉÀ» »ç¿ëÇÒ¶§ ¸¶Ä§Ç¥(.)¸¦ + »ç¿ëÇÑ´Ù¸é ¿ø·¡ ±×·ìÀ» ±×´ë·Î µÐ´Ù.
+ +
comment
+
½ÇÁ¦ À̸§, ¸ÞÀÏ ÁÖ¼Ò µî »ç¿ëÀÚ¿¡ ´ëÇÑ ¼³¸íÀ» Àû´Â ¶õÀÌ´Ù. + ¼­¹ö´Â ÀÌ Ç׸ñÀ» ¹«½ÃÇÑ´Ù.
+
+ +

ÀÎÄÚµù

+
+
-d
+
crypt ¾Ïȣȭ (Win32³ª Netware°¡ ¾Æ´Ï¶ó¸é ±âº»°ª)
+ +
-m
+
MD5 ¾Ïȣȭ (Win32°ú Netware¿¡¼­ ±âº»°ª)
+ +
-s
+
SHA1 ¾Ïȣȭ
+ +
-p
+
¾ÏÈ£¸¦ ±×´ë·Î ±â·Ï (ÃßõÇÏÁö ¾ÊÀ½)
+
+ + +

¸í·É

+
+
add
+
¾ÏȣȭµÈ ¾ÏÈ£ encpasswd¸¦ »ç¿ëÇÏ¿© + filename¿¡ username Ç׸ñÀ» Ãß°¡ÇÑ´Ù.
+ +
adduser
+
¾ÏÈ£¸¦ ¹°¾îº¸°í filename¿¡ + username Ç׸ñÀ» Ãß°¡ÇÑ´Ù.
+ +
check
+
¾ÏÈ£¸¦ ¹°¾îº»ÈÄ filename¿¡ + usernameÀÌ ÀÖ°í ¾ÏÈ£°¡ ÀÏÄ¡ÇÏ´ÂÁö °Ë»çÇÑ´Ù.
+ +
delete
+
filename¿¡¼­ username Ç׸ñÀ» + »èÁ¦ÇÑ´Ù.
+ +
import
+
STDIN¿¡¼­ + username:password Ç׸ñÀ» + (ÇÑÁÙ¿¡ Çϳª¾¿) Àо filename¿¡ Ãß°¡ÇÑ´Ù. + ¾ÏÈ£´Â ÀÌ¹Ì ¾ÏȣȭµÇÀÖ¾î¾ß ÇÑ´Ù.
+ +
update
+
adduser ¸í·É°ú ºñ½ÁÇÏÁö¸¸, + filename¿¡ ÀÌ¹Ì usernameÀÌ ÀÖ´ÂÁö + È®ÀÎÇÑ´Ù.
+ +
view
+
DBM ÆÄÀÏ ³»¿ëÀ» Ãâ·ÂÇÑ´Ù. usernameÀ» + ÁöÁ¤Çϸé ƯÁ¤ Ç׸ñ¸¸À» Ãâ·ÂÇÑ´Ù.
+
+ +
top
+
+

¹ö±×

+

¿©·¯ ´Ù¸¥ DBM ÆÄÀÏÇü½ÄµéÀÌ ÀÖ°í ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ¿©·¯ + Çü½Ä¿¡ ´ëÇÑ ºñ½ÁÇÑ ¶óÀ̺귯¸®µéÀÌ ÀÖÀ½À» ÁÖÀÇÇØ¾ß ÇÑ´Ù. + °¡Àå ´ëÇ¥ÀûÀÎ ³×°¡Áö°¡ SDBM, NDBM, GNU ÇÁ·ÎÁ§Æ®ÀÇ GDBM, + Berkeley DB 2ÀÌ´Ù. ºÒÇàÈ÷µµ ÀÌ ¶óÀ̺귯¸®µéÀº ¸ðµÎ ´Ù¸¥ + ÆÄÀÏÇü½ÄÀ» »ç¿ëÇÑ´Ù. ±×·¡¼­ filenameÀÌ »ç¿ëÇÏ´Â + ÆÄÀÏÇü½ÄÀÌ dbmmanage°¡ ¿øÇÏ´Â Çü½Ä°ú °°ÀºÁö + È®ÀÎÇØ¾ß ÇÑ´Ù. dbmmanage´Â DBM ÆÄÀÏÀÇ Çü½ÄÀ» + ¾Ë¾Æ³»Áö ¸øÇÑ´Ù. ´Ù¸¥ Çü½ÄÀ» »ç¿ëÇÏ¸é ¾Æ¹«Àϵµ ÇÏÁö ¾Ê°Å³ª, + ´Ù¸§ À̸§ÀÇ DBM ÆÄÀÏÀ» ¸¸µé°Å³ª, ÃÖ¾ÇÀÇ °æ¿ì ÆÄÀÏÀ» ±â·ÏÇÏ¿© + DBM ÆÄÀÏÀ» ¸ÁÄ¥ ¼ö ÀÖ´Ù.

+ +

dbmmanage ÇÁ·Î±×·¥ ¾ÕºÎºÐ¿¡ ÀÖ´Â + @AnyDBM::ISA ¹è¿­ÀÌ DBMÇü½Ä ¼±È£¼ø¼­ÀÌ´Ù. + ¿ì¸®´Â Berkeley DB 2 ÆÄÀÏÇü½ÄÀ» ¼±È£ÇϹǷΠ+ dbmmanage°¡ ½Ã½ºÅÛ ¶óÀ̺귯¸®¸¦ ã´Â ¼ø¼­´Â + Berkeley DB 2, NDBM, GDBM, SDBM ¼øÀÌ´Ù. dbmmanage´Â + Á¦ÀÏ ¸ÕÀú ãÀº ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ¿© ¸ðµç DBM ÆÄÀÏ ÀÛ¾÷À» + ÇÑ´Ù. ÀÌ ¼ø¼­´Â PerlÀÇ °£´ÜÇÑ dbmopen() È£ÃâÀÌ + »ç¿ëÇÏ´Â ¼ø¼­³ª PerlÀÇ Ç¥ÁØ @AnyDBM::ISA ¼ø¼­¿Í + Á¶±Ý ´Ù¸£´Ù. ±×·¡¼­ ´Ù¸¥ µµ±¸¸¦ »ç¿ëÇÏ¿© DBM ÆÄÀÏÀ» °ü¸®ÇÑ´Ù¸é + ÀÌ ¼ø¼­¸¦ µû¶ó¾ß ÇÑ´Ù. C¿Í °°ÀÌ ´Ù¸¥ ¾ð¾î·Î ÀÛ¼ºÇÑ ÇÁ·Î±×·¥À» + »ç¿ëÇÏ¿© ÆÄÀÏÀ» ´Ù·ç´Â °æ¿ì¿¡µµ ¸¶Âù°¡Áö´Ù.

+ +

´ëºÎºÐÀÇ À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ file ÇÁ·Î±×·¥À¸·Î + DBM ÆÄÀÏÇü½ÄÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/dbmmanage.html.tr.utf8 b/docs/manual/programs/dbmmanage.html.tr.utf8 new file mode 100644 index 0000000..c0f1e47 --- /dev/null +++ b/docs/manual/programs/dbmmanage.html.tr.utf8 @@ -0,0 +1,240 @@ + + + + + +dbmmanage - DBM biçemli kullanıcı kimlik doğrulama dosyalarını yönetir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

dbmmanage - DBM biçemli kullanıcı kimlik doğrulama dosyalarını yönetir

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

dbmmanage, + mod_authn_dbm üzerinden HTTP kullanıcılarının temel + kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının + saklanmasında kullanılacak DBM dosyalarını oluşturmak ve güncellemek için + kullanılır. Apache HTTP sunucusunun mevcut özkaynaklarının kullanımı + sadece dbmmanage tarafından oluşturulan + dosyalarda listelenmiş kullanıcılara tahsis edilebilir. Bu program + sadece, kullanıcı isimleri bir DBM dosyasında saklanmak istenirse işe + yarar. Düz metin bir veritabanı kullanmak isterseniz + htpasswd sayfasına bakınız.

+ +

DBM parola veritabanı sağlayan diğer bir araç da + htdbm'dir.

+ +

Bu kılavuz sayfası sadece komut satırı değiştirgelerini listeler. + Kullanıcı kimlik doğrulamasını + httpd'de yapılandırmak için gerekli + yönergelerle ilgili ayrıntılar için Apache dağıtımının bir parçası olan + ve http://httpd.apache.org/ + adresinde de bulunan Apache HTTP Sunucusu Belgelerine bakınız.

+
+ +
top
+
+

Kullanım

+

dbmmanage [ kodlama ] + dosyaismi add|adduser|check|delete|update + kullanıcı + [ şifreli_parola + [ grup[,grup...] + [ açıklama ] ] ]

+ +

dbmmanage dosyaismi + view [ kullanıcı ]

+ +

dbmmanage dosyaismi import

+
top
+
+

Seçenekler

+
+
dosyaismi
+
DBM dosyasının ismi. Genellikle, .db, .pag + veya .dir eklentisi olmaksızın belirtilir.
+ +
kullanıcı
+
İşlemleri gerçekleştirecek kullanıcı ismi. + kullanıcı ismi ikinokta imi (:) + içeremez.
+ +
ÅŸifreli_parola
+
update ve + add komutları için kullanılacak şifreli + paroladır. Parolanın istenmesini sağlamak, fakat hemen ardından alanları + doldurmak için bir tire imi (-) kullanabilirsiniz. Buna ek + olarak, update komutunu kullanırken özgün + parolaya dokunulmaması için bir nokta imi (.) + kullanabilirsiniz.
+ +
grup
+
Kullanıcının üyesi olduğu grup. Grup ismi ikinokta imi + (:) içeremez.Kullanıcıyı bir gruba atamadan açıklama alanını + doldurmak istiyorsanız bir tire imi (-) kullanabilirsiniz. + Buna ek olarak, update komutunu kullanırken + özgün gruba dokunulmaması için bir nokta imi (.) + kullanabilirsiniz.
+ +
açıklama
+
Adı ve soyadı, eposta adresi gibi kullanıcıyla ilgili bir takım + bilgiler buraya yazılır. Sunucu bu alanı gözardı eder.
+
+ +

Kodlamalar

+
+
-d
+
CRYPT şifrelemesi (Win32 ve Netware hariç, öntanımlı)
+ +
-m
+
MD5 şifrelemesi (Win32 ve Netware için öntanımlı)
+ +
-s
+
SHA1 ÅŸifrelemesi
+ +
-p
+
düz metin (önerilmez)
+
+ + +

Komutlar

+
+
add
+
şifreli_parola'yı kullanarak + dosyaismi dosyasına + kullanıcı için bir girdi ekler. + +

dbmmanage passwords.dat add rbowen foKntnEF3KSXA

+
+ +
adduser
+
Parola sorduktan sonra dosyaismi + dosyasına kullanıcı için bir girdi ekler. + +

dbmmanage passwords.dat adduser krietz

+
+ +
check
+
Parola sorduktan sonra belirtilen kullanıcı, + dosyaismi dosyasında var mı diye bakar; varsa + belirtilen parolayı kullanıcınınkiyle eşleştirmeye çalışır. + +

dbmmanage passwords.dat check rbowen

+
+ +
delete
+
dosyaismi dosyasından + kullanıcı girdisini siler. + +

dbmmanage passwords.dat delete rbowen

+
+ +
import
+
Standart girdiden + kullanıcı:parola satırlarını (her + satırda bir tane) okur ve bunları dosyaismi + dosyasına ekler. Parola şifrelenmiş olmalıdır.
+ +
update
+
Belirtilen kullanıcı'nın + dosyaismi dosyasında mevcut olması dışında + adduser komutu gibidir. + +

dbmmanage passwords.dat update rbowen

+
+ +
view
+
Sadece, DBM dosyasının içeriğini gösterir. Bir + kullanıcı belirtirseniz sadece o kaydı + gösterir. + +

dbmmanage passwords.dat view

+
+
+ +
top
+
+

Hatalar

+

Birden fazla DBM dosya biçemi vardır ve büyük bir olasılıkla da + sisteminizde bu birden fazla biçemle ilgili kütüphaneler vardır. SDBM, + NDBM, GNU'nun GDBM projesi ve Berkeley DB 2 bunların başlıcalarıdır. Ne + yazık ki, bu kütüphanelerin her birinin dosya biçimleri farklıdır. Bu + bakımdan, dosyaismi dosyasında kullanılan dosya + biçeminin dbmmanage tarafından kullanılanla + aynı biçemde olduğundan emin olmalısınız. + dbmmanage hangi tür DBM dosyasına baktığını + saptayacak yeterliliğe sahip değildir. Yanlış biçemli bir dosya + belirtirseniz hiçbir şey dönmeyebileceği gibi, başka isimde bir DBM + dosyasının oluşturulması veya daha da kötüsü üzerine yazmaya + çalışıyorsanız DBM dosyasının bozulması bile olasıdır.

+ +

dbmmanage programının başlangıcında + @AnyDBM::ISA dizisi olarak tanımlanmış DBM biçem + tercihlerinin bir listesi vardır. Berkeley DB 2 biçemini tercih + ettiğimizden dbmmanage sistem + kütüphanelerini şu sıraya göre arar: Berkeley DB 2, NDBM, GDBM ve SDBM. + dbmmanage DBM dosyası hareketleri için bu + sıralamaya göre bulduğu ilk kütüphaneyi kullanacaktır. Sıralama Perl'deki + dbmopen() çağrısının kullandığından faklı olduğu gibi + Perl'deki standart @AnyDBM::ISA sıralamasından da oldukça + farklıdır. Bu bakımdan, DBM dosyalarınızı yönetmek için Perl ile yazılmış + başka araçlar kullanıyorsanız, onların da bu tercih sırasını izlemesini + sağlamalısınız. Benzer şekilde, bu dosyalara erişmek için diğer dillerde + (C gibi) yazılmış programlar kullanıyorsanız bunlar için de aynı durum + geçerlidir.

+ +

Unix sistemlerinde, kullanılan DBM dosyasının biçemini öğrenmek için + file programı kullanılabilir.

+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/fcgistarter.html b/docs/manual/programs/fcgistarter.html new file mode 100644 index 0000000..cb34b69 --- /dev/null +++ b/docs/manual/programs/fcgistarter.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: fcgistarter.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: fcgistarter.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: fcgistarter.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/fcgistarter.html.en b/docs/manual/programs/fcgistarter.html.en new file mode 100644 index 0000000..740a2e3 --- /dev/null +++ b/docs/manual/programs/fcgistarter.html.en @@ -0,0 +1,96 @@ + + + + + +fcgistarter - Start a FastCGI program - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

fcgistarter - Start a FastCGI program

+
+

Available Languages:  en  | + fr  | + tr 

+
+ +

+

+ +
top
+
+

Note

+

Currently only works on Unix systems.

+
top
+
+

Synopsis

+

fcgistarter + -c command + -p port + [ -i interface ] + -N num +

+
top
+
+

Options

+
+
-c command
+
Absolute path of the FastCGI program
+ +
-p port
+
Port which the program will listen on
+ +
-i interface
+
Interface which the program will listen on
+ +
-N num
+
Number of instances of the program
+ +
+
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/fcgistarter.html.fr.utf8 b/docs/manual/programs/fcgistarter.html.fr.utf8 new file mode 100644 index 0000000..503b964 --- /dev/null +++ b/docs/manual/programs/fcgistarter.html.fr.utf8 @@ -0,0 +1,96 @@ + + + + + +fcgistarter - Démarrer un programme FastCGI - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

fcgistarter - Démarrer un programme FastCGI

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

+

+ +
top
+
+

Note

+

Ne fonctionne actuellement que sur les systèmes de type Unix.

+
top
+
+

Syntaxe

+

fcgistarter + -c commande + -p port + [ -i interface ] + -N nombre +

+
top
+
+

Options

+
+
-c commande
+
Le chemin absolu du programme FastCGI
+ +
-p port
+
Port sur lequel le programme va se mettre en écoute
+ +
-i interface
+
Interface sur laquelle le programme va se mettre en écoute
+ +
-N nombre
+
Nombre d'instances du programme
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/fcgistarter.html.tr.utf8 b/docs/manual/programs/fcgistarter.html.tr.utf8 new file mode 100644 index 0000000..1e40155 --- /dev/null +++ b/docs/manual/programs/fcgistarter.html.tr.utf8 @@ -0,0 +1,95 @@ + + + + + +fcgistarter - Bir FastCGI betiğini çalıştır - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

fcgistarter - Bir FastCGI betiğini çalıştır

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ +

+

+ +
top
+
+

Bilginize

+

Şimdilik sadece Unix sistemlerinde çalışmaktadır.

+
top
+
+

Kullanım

+

fcgistarter + -c komut + -p port + [ -i arabirim ] + -N sayı +

+
top
+
+

Seçenekler

+
+
-c komut
+
Çalıştırılacak FastCGI betiğinin mutlak yolu
+ +
-p port
+
BetiÄŸin dinleyeceÄŸi port
+ +
-i arabirim
+
BetiÄŸin dinleyeceÄŸi arabirim
+ +
-N sayı
+
Betik örneklerinin sayısı
+
+
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htcacheclean.html b/docs/manual/programs/htcacheclean.html new file mode 100644 index 0000000..b659bfc --- /dev/null +++ b/docs/manual/programs/htcacheclean.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: htcacheclean.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: htcacheclean.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: htcacheclean.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: htcacheclean.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/htcacheclean.html.en b/docs/manual/programs/htcacheclean.html.en new file mode 100644 index 0000000..f209ee7 --- /dev/null +++ b/docs/manual/programs/htcacheclean.html.en @@ -0,0 +1,248 @@ + + + + + +htcacheclean - Clean up the disk cache - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

htcacheclean - Clean up the disk cache

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

htcacheclean is used to keep the size of + mod_cache_disk's storage within a given size limit, or + limit on inodes in use. This tool can run either manually or in daemon mode. + When running in daemon mode, it sleeps in the background and checks the cache + directory at regular intervals for cached content to be removed. You can stop + the daemon cleanly by sending it a TERM or INT signal. When run manually, a + once off check of the cache directory is made for cached content to be + removed. If one or more URLs are specified, each URL will be deleted from + the cache, if present.

+
+ +
top
+
+

Synopsis

+

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -r ] + [ -n ] + [ -Rround ] + -ppath + [ -llimit ] + [ -Llimit ]

+ +

htcacheclean + [ -n ] + [ -t ] + [ -i ] + [ -Ppidfile ] + [ -Rround ] + -dinterval + -ppath + [ -llimit ] + [ -Llimit ]

+ +

htcacheclean + [ -v ] + [ -Rround ] + -ppath + [ -a ] + [ -A ]

+ +

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -Rround ] + -ppath + url

+
top
+
+

Options

+
+
-dinterval
+
Daemonize and repeat cache cleaning every interval minutes. + This option is mutually exclusive with the -D, -v + and -r options. To shutdown the daemon cleanly, just send it + a SIGTERM or SIGINT.
+ +
-D
+
Do a dry run and don't delete anything. This option is mutually + exclusive with the -d option. When doing a dry run and + deleting directories with -t, the inodes reported deleted + in the stats cannot take into account the directories deleted, and will + be marked as an estimate.
+ +
-v
+
Be verbose and print statistics. This option is mutually exclusive + with the -d option.
+ +
-r
+
Clean thoroughly. This assumes that the Apache web server is + not running (otherwise you may get garbage in the cache). This option + is mutually exclusive with the -d option and implies + the -t option.
+ +
-n
+
Be nice. This causes slower processing in favour of other + processes. htcacheclean will sleep from time to time + so that (a) the disk IO will be delayed and (b) the kernel can schedule + other processes in the meantime.
+ +
-t
+
Delete all empty directories. By default only cache files are + removed, however with some configurations the large number of + directories created may require attention. If your configuration + requires a very large number of directories, to the point that + inode or file allocation table exhaustion may become an issue, use + of this option is advised.
+ +
-ppath
+
Specify path as the root directory of the disk cache. This + should be the same value as specified with the CacheRoot directive.
+ +
-Ppidfile
+
Specify pidfile as the name of the file to write the + process ID to when daemonized.
+ +
-Rround
+
Specify round as the amount to round sizes up to, to + compensate for disk block sizes. Set to the block size of the cache + partition.
+ +
-llimit
+
Specify limit as the total disk cache size limit. The value + is expressed in bytes by default (or attaching B to the + number). Attach K for Kbytes, M for + MBytes or G for Gbytes.
+ +
-Llimit
+
Specify limit as the total disk cache inode limit. + K, M or G suffix can also be + used.
+ +
-i
+
Be intelligent and run only when there was a modification of the disk + cache. This option is only possible together with the -d + option.
+ +
-a
+
List the URLs currently stored in the cache. Variants of the same URL + will be listed once for each variant.
+ +
-A
+
List the URLs currently stored in the cache, along with their + attributes in the following order: url, header size, body size, status, + entity version, date, expiry, request time, response time, body present, + head request.
+
+ +
top
+
+

Deleting a specific URL

+

If htcacheclean is passed one or more URLs, each URL will + be deleted from the cache. If multiple variants of an URL exists, all + variants would be deleted.

+ +

When a reverse proxied URL is to be deleted, the effective URL is + constructed from the Host header, the + port, the path and the + query. Note the '?' in the URL must always be specified + explicitly, whether a query string is present or not. For example, an + attempt to delete the path / from the server + localhost, the URL to delete would be + http://localhost:80/?.

+ +
top
+
+

Listing URLs in the Cache

+

By passing the -a or -A options to + htcacheclean, the URLs within the cache will be listed + as they are found, one URL per line. The -A option + dumps the full cache entry after the URL, with fields in the + following order:

+ +
+
url
The URL of the entry.
+
header size
The size of the header in bytes.
+
body size
The size of the body in bytes.
+
status
Status of the cached response.
+
entity version
The number of times this entry has been + revalidated without being deleted.
+
date
Date of the response.
+
expiry
Expiry date of the response.
+
request time
Time of the start of the request.
+
response time
Time of the end of the request.
+
body present
If 0, no body is stored with this request, + 1 otherwise.
+
head request
If 1, the entry contains a cached HEAD + request with no body, 0 otherwise.
+
+ +
top
+
+

Exit Status

+

htcacheclean returns a zero status ("true") if all + operations were successful, 1 otherwise. If an URL is + specified, and the URL was cached and successfully removed, + 0 is returned, 2 otherwise. If an error + occurred during URL removal, 1 is returned.

+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htcacheclean.html.fr.utf8 b/docs/manual/programs/htcacheclean.html.fr.utf8 new file mode 100644 index 0000000..de6dd3d --- /dev/null +++ b/docs/manual/programs/htcacheclean.html.fr.utf8 @@ -0,0 +1,264 @@ + + + + + +htcacheclean - Nettoyage du cache sur disque - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

htcacheclean - Nettoyage du cache sur disque

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

htcacheclean permet de maintenir la taille de + l'espace de stockage réservé à mod_disk_cache en + dessous d'une limite de taille donnée ou d'inodes utilisés. Cet + utilitaire peut s'exécuter + soit manuellement, soit en mode démon. Lorsqu'il fonctionne en mode + démon, il se met en attente en arrière-plan et recherche à + intervalles réguliers dans le répertoire du cache les contenus à + supprimer. Pour arrêter proprement le démon, vous pouvez lui envoyer + un signal TERM ou INT. Lorsqu'il est lancé manuellement, une + recherche des contenus du cache qui peuvent être supprimés est + effectuée une seule fois. Si une ou plusieurs URLs sont spécifiées, + chacune d'entre elles sera supprimée du cache, si elle est présente.

+
+ +
top
+
+

Syntaxe

+

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -r ] + [ -n ] + [ -Rarrondi ] + -pchemin + [ -llimite ] + [ -Llimite ]

+ +

htcacheclean + [ -n ] + [ -t ] + [ -i ] + [ -Pfichier-pid ] + [ -Rarrondi ] + -dintervalle + -pchemin + [ -llimite ] + [ -Llimite ]

+ +

htcacheclean + [ -v ] + [ -Rarrondi ] + -pchemin + [ -a ] + [ -A ]

+ +

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -Rarrondi ] + -pchemin + url

+
top
+
+

Options

+
+
-dintervalle
+
Configure en mode démon et planifie le nettoyage du cache toutes + les intervalle minutes. Cette option et les options + -D, -v et -r s'excluent + mutuellement. Pour arrêter le démon proprement, il suffit de lui + envoyer un signal SIGTERM ou SIGINT.
+ +
-D
+
Le programme s'exécute mais ne supprime aucun contenu ("dry run"). Cette + option et l'option -d s'excluent mutuellement. Si ce mode + est combiné avec la suppression des répertoires avec + -t, les inodes signalés comme supprimés dans les + statistiques ne peuvent pas prendre en compte les répertoires + supprimés, et seront marqués en tant qu'estimation.
+ +
-v
+
Exécution verbeuse et affichage de statistiques. Cette + option et l'option -d s'excluent mutuellement.
+ +
-r
+
Nettoyage en profondeur. Le serveur web Apache doit être arrêté + (dans le cas contraire, il risque de rester des déchets dans le + cache). Cette option implique l'option -t et s'exclue + mutuellement avec l'option -d.
+ +
-n
+
Exécution en retrait. L'exécution du programme est ralentie en + faveur des autres processus. htcacheclean s'interrompt + de temps en temps de façon à ce que a) les entrées/sorties disque + soient retardées et b) que le noyau puisse mettre ce temps + processeur à disposition des autres processus.
+ +
-t
+
Supprime tous les répertoires vides. Par défaut, seuls les + fichiers sont supprimés du cache ; avec certaines configurations, + cependant, un grand nombre de répertoires sont créés et méritent que + l'on y prête attention. Si votre configuration nécessite un grand + nombre de répertoires, au point que le remplissage de la table + d'inodes ou d'allocation de fichiers puisse poser problème, + l'utilisation de cette option est conseillée.
+ +
-pchemin
+
Définit chemin comme répertoire racine du cache sur + disque. Cette valeur doit correspondre à celle spécifiée par la + directive CacheRoot.
+ +
-Pfichier-pid
+
Permet de spécifier fichier-pid comme nom du fichier + dans le lequel sera enregistré l'identifiant du processus en mode + démon.
+ +
-Rround
+
Permet de spécifier le plus petit commun multiple de la taille + du cache, afin de tenir compte de la taille des blocs. Définir ce + paramètre à la taille d'un bloc de la partition du cache.
+ +
-llimite
+
Définit limite comme la taille maximale du cache sur + disque. La valeur s'exprime par défaut en octets (ou en ajoutant le + suffixe B à la valeur). Ajoutez le suffixe + K pour Ko, M pour Mo ou G pour + Go.
+ +
-Llimite
+
Spécifie limite comme la limite totale en inodes du cache + disque. Là aussi, on peut ajouter le suffixe K pour Ko, + M pour Mo ou G pour Go.
+ +
-i
+
Exécution intelligente. Le programme ne s'exécute que lorsque le + cache sur disque a été modifié. Cette option ne peut s'utiliser + qu'avec l'option -d.
+ +
-a
+
Affiche la liste des URLs actuellement stockées dans le cache. + Les variantes de la même URL seront listées une seule fois par + variante.
+ +
-A
+
Affiche la liste des URLs actuellement stockées dans le cache, + ainsi que leurs attributs dans l'ordre suivant : url, header size, + body size, status, entity version, date, expiry, request time, + response time, body present, head request.
+
+
top
+
+

Suppression d'une URL particulière

+

Si une ou plusieurs URLs sont passées en argument à + htcacheclean, chacune d'entre elles sera supprimée du + cache. S'il existe plusieurs variantes de ces URLs, elles seront + toutes supprimées.

+ +

Lorsqu'une URL mandatée en inverse doit être supprimée, l'URL + effective est construite à partir de l'en-tête + Host, du port, du + chemin et de la requête. Notez que + le '?' doit toujours être spécifié explicitement dans l'URL, qu'une + chaîne de paramètres soit présente ou non. Par exemple, pour + supprimer le chemin / du serveur + localhost, l'URL devra être spécifiée comme suit : + http://localhost:80/?.

+ +
top
+
+

Affichage des URLs présentes dans le cache

+

Les options -a ou -A permettent + d'afficher les URLs présentes dans le cache telles qu'elles s'y + trouvent, une URL par ligne. L'option -A affiche + l'entrée du cache complète pour chaque URL, avec ses différents + champs dans l'ordre suivant :

+ +
+
url
L'URL de l'entrée considérée.
+
header size
La taille de l'en-tête en octets.
+
body size
La taille du corps en octets.
+
status
Etat de la réponse en cache.
+
entity version
Le nombre de fois que cette entrée a + été revalidée sans être effacée.
+
date
Date de la réponse.
+
expiry
Date d'expiration de la réponse.
+
request time
Date du début de la requête.
+
response time
Date de la fin de la requête.
+
body present
Ce champ contient la valeur 0 si aucun + corps n'est stocké avec cette requête, 1 dans le cas contraire.
+
head request
Ce champ contient la valeur 1 si + l'entrée comporte une requête HEAD en cache sans corps, 0 dans + le cas contraire.
+
+ +
top
+
+

Valeur renvoyée

+

htcacheclean renvoie zéro ("true") si toutes les + opérations se sont déroulées normalement, et 1 dans le + cas contraire. Si une URL est spécifiée, et si cette URL était + présente dans le cache et a été supprimée avec succès, + htcacheclean renvoie 0, et 2 + dans le cas contraire. Si une erreur est survenue au cours de la + suppression de l'URL, htcacheclean renvoie + 1.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htcacheclean.html.ko.euc-kr b/docs/manual/programs/htcacheclean.html.ko.euc-kr new file mode 100644 index 0000000..37b30f8 --- /dev/null +++ b/docs/manual/programs/htcacheclean.html.ko.euc-kr @@ -0,0 +1,143 @@ + + + + + +htcacheclean - µð½ºÅ© ij½¬¸¦ û¼ÒÇÑ´Ù - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

htcacheclean - µð½ºÅ© ij½¬¸¦ û¼ÒÇÑ´Ù

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

htcachecleanÀº mod_cache_disk°¡ + »ç¿ëÇÏ´Â ÀúÀå¼Ò ¿ë·®À» ÀÏÁ¤ Çѵµ·Î À¯ÁöÇÑ´Ù. ÀÌ µµ±¸´Â Á÷Á¢ + ½ÇÇàÇϰųª µ¥¸ó(daemon)À¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥À» µ¥¸óÀ¸·Î + ½ÇÇàÇÏ¸é ¹é±×¶ó¿îµå¿¡¼­ ÀáÀÚ°í ÀÖ´Ù°¡ ÀÏÁ¤ ÁÖ±â·Î ij½¬ + µð·ºÅ丮¿¡¼­ Áö¿ï °ÍÀÌ ÀÖ´ÂÁö °Ë»çÇÑ´Ù. µ¥¸ó¿¡°Ô TERMÀ̳ª + INT ½Ã±×³ÎÀ» º¸³»¸é ¾ÈÀüÇÏ°Ô Á¾·áÇÑ´Ù.

+
+ +
top
+
+

°³¿ä

+

htcacheclean + [ -D ] + [ -v ] + [ -r ] + [ -n ] + -ppath + -llimit

+ +

htcacheclean -b + [ -n ] + [ -i ] + -dinterval + -ppath + -llimit

+
top
+
+

¿É¼Ç

+
+
-dinterval
+
µ¥¸óÀ¸·Î ½ÇÇàÇÏ¿© interval ºÐ¸¶´Ù ij½¬¸¦ + û¼ÒÇÑ´Ù. ÀÌ ¿É¼ÇÀº -D, -v, + -r ¿É¼Ç°ú ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù. µ¥¸óÀ» ¾ÈÀüÇÏ°Ô + Á¾·áÇÏ·Á¸é µ¥¸ó¿¡°Ô SIGTERM ȤÀº + SIGINT ½Ã±×³ÎÀ» º¸³»¸é µÈ´Ù.
+ +
-D
+
°Ë»ç¸¸ ÇÏ°í ½ÇÁ¦ ¾Æ¹«°Íµµ Áö¿ìÁö ¾Ê´Â´Ù. ÀÌ ¿É¼ÇÀº + -d ¿É¼Ç°ú ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
-v
+
ÀÚ¼¼ÇÑ Åë°è¸¦ Ãâ·ÂÇÑ´Ù. ÀÌ ¿É¼ÇÀº -d ¿É¼Ç°ú + ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
-r
+
¿ÏÀüÈ÷ û¼ÒÇÑ´Ù. ¾ÆÆÄÄ¡ À¥¼­¹ö°¡ µ¿ÀÛÇÏÁö ¾Ê´Â´Ù°í °¡Á¤ÇÑ´Ù + (¸¸¾à µ¿ÀÛÇÑ´Ù¸é ij½¬¿¡ ÀÌ»óÇÑ °ªÀÌ ÀúÀåµÈ´Ù). ÀÌ ¿É¼ÇÀº + -d ¿É¼Ç°ú ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
-n
+
Ä£ÀýÇÏ°Ô(nice) µ¿ÀÛÇÑ´Ù. ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ À§ÇØ ´À¸®°Ô + µ¿ÀÛÇÑ´Ù. htcacheclean°¡ ÀÚÁÖ ÀáÀ» ÀڰԵǿ© + (1) µð½ºÅ© ÀÔÃâ·ÂÀÌ Áö¿¬µÇ°í (2) ±×µ¿¾È Ä¿³ÎÀº ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ + ½ºÄÉÁÙÇÒ ¼ö ÀÖ´Ù.
+ +
-ppath
+
path¸¦ µð½ºÅ© ij½¬ÀÇ ÃÖ»óÀ§ µð·ºÅ丮·Î ÁöÁ¤ÇÑ´Ù. + CacheRoot + Áö½Ã¾î¿¡ »ç¿ëÇÑ °ª°ú µ¿ÀÏÇÑ °ªÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
+ +
-llimit
+
Àüü µð½ºÅ© ij½¬ ¿ë·® Á¦ÇÑÀ» limit·Î Á¦ÇÑÇÑ´Ù. + °ªÀº ±âº»ÀûÀ¸·Î (ȤÀº ¼ýÀÚ¿¡ B¸¦ ºÙÀ̸é) ¹ÙÀÌÆ® + ´ÜÀ§ÀÌ´Ù. ų·Î¹ÙÀÌÆ®´Â K¸¦, ¸Þ°¡¹ÙÀÌÆ®´Â + MÀ» µÚ¿¡ ºÙÀδÙ.
+ +
-i
+
Áö´ÉÀûÀ¸·Î µð½ºÅ© ij½¬°¡ º¯°æµÈ °æ¿ì¿¡¸¸ µ¿ÀÛÇÑ´Ù. ÀÌ + ¿É¼ÇÀº -d ¿É¼Ç°ú ÇÔ²²¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+
+
top
+
+

Á¾·áÄÚµå

+

htcacheclean´Â ¸ðµç ÀÛ¾÷ÀÌ ¼º°øÇÑ °æ¿ì¿¡ + ("Âü") Á¾·áÄÚµå 0À» ¹ÝȯÇÏ°í, ½ÇÆÐÇÑ °æ¿ì¿¡´Â 1À» + ¹ÝȯÇÑ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htcacheclean.html.tr.utf8 b/docs/manual/programs/htcacheclean.html.tr.utf8 new file mode 100644 index 0000000..5c090fc --- /dev/null +++ b/docs/manual/programs/htcacheclean.html.tr.utf8 @@ -0,0 +1,246 @@ + + + + + +htcacheclean - Disk arabelleğini temizler - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

htcacheclean - Disk arabelleÄŸini temizler

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

htcacheclean, + mod_cache_disk deposunun boyutlarını belli sınırlar + içinde veya kullanımdaki dosya düğümlerinin sınırları içinde tutmak için + kullanılır. Bu araç ya elle ya da bir artalan süreci + olarak çalıştırılır. Artalan süreci olarak çalıştırıldığında, silinecek + arabellek içeriğini tespit etmek için arabellek dizinlerine belli + aralıklarla bakmak dışında uykuda olur. Artalan sürecini temiz olarak + durdurmak için TERM veya INT sinyali göndermeniz yeterlidir. Elle + çalıştırıldığında, silinecek arabellek içeriğini tespit etmek için + arabellek dizinlerine bir kereliğine bakar. Bir veya daha fazla URL + belirtilmesi durumunda arabellekte olanlar arabellekten silinir.

+
+ +
top
+
+

Kullanım

+

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -r ] + [ -n ] + [ -Rboyut ] + -pyol + [ -lsınır | + [ -Lsınır ]

+ +

htcacheclean + [ -n ] + [ -t ] + [ -i ] + [ -Ppiddosyası ] + [ -Rboyut ] + -dsüre + -pyol + [ -lsınır | + [ -Lsınır ]

+ +

htcacheclean + [ -v ] + [ -Rboyut ] + -pyol + [ -a ] + [ -A ]

+ +

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -Rboyut ] + -pyol + url

+
top
+
+

Seçenekler

+
+
-d süre
+
Artalanda çalışarak süre dakikada bir + arabelleği temizler. Bu seçenek -D, + -v ve -r + seçenekleri ile birlikte kullanılamaz. Artalan sürecini temiz olarak + sonlandırmak için SIGTERM veya SIGINT göndermek + yeterlidir.
+ +
-D
+
Kuru kuruya çalışıp, hiçbir şeyi silmez. + -d seçeneği ile birlikte kullanılamaz. Kuru + çalıştırma sırasında -t seçeneği ile dizinler + silinmek istenirse, statlarda silinmiş görünen dosya düğümleri silinmiş + dizinler olarak hesaba katılmaz ve tahmini olarak imlenir.
+ +
-v
+
Çıktı daha ayrıntılı olur. -d seçeneği + ile birlikte kullanılamaz.
+ +
-r
+
İyice temizlik yapılır. Bunun için Apache HTTP sunucusunun + çalışmadığı varsayılır (aksi takdirde arabellek içeriği bozulabilir). + -t seçeneğinin de uygulanmasını sağlar. + -d seçeneği ile birlikte kullanılamaz.
+ +
-n
+
Nazik olur. Diğer süreçlerin yararına daha yavaş çalışır. (a) disk + G/Ç işlemlerinde gecikmeler olursa ve (b) çekirdek bu arada başka bir + süreci öne çekmişse htcacheclean uyumayı + tercih edecektir.
+ +
-t
+
Tüm boş dizinleri siler. Öntanımlı olarak, sadece arabellek dosyaları + silinirse de bazı yapılandırmalarda büyük miktarda dizin oluşturulması bu + seçeneğin kullanılmasını gerektirebilir. Yapılandırmanız çok sayıda dizin + gerektiriyorsa ve dosya düğümlerinin veya dosya ayırma tablolarının + tükenmesi sözkonusu ise bu seçeneğin kullanılması önerilir.
+ +
-p yol
+
yol, disk arabelleğinin kök dizini olarak + belirtilir. CacheRoot + yönergesinde belirtilen dizin olmalıdır.
+ +
-Ppiddosyası
+
Artalan süreci olarak çalışmada süreç kimliğinin yazılacağı dosyanın + adını belirtmek için kullanılır.
+ +
-Rboyut
+
Disk bloklarının boyunu denkleştirmek için yuvarlanacak üst boyutu + belirtmekte kullanılır. Arabellek bölümünün blok boyutunu belirler.
+ +
-l sınır
+
sınır, disk arabelleğinin toplam boyutu + olarak belirtilir. Değerin öntanımlı olarak bayt cinsinden belirtileceği + varsayılır. Değerin sonuna kilobayt için K, megabayt + M, Gbayt için G harfi konulabilir.
+ +
-Llimit
+
Disk arabellek dosyası düğümü toplamının sınırını belirlemekte + kullanılır. Değerin sonuna kilobayt için K, megabayt + M, Gbayt için G harfi konulabilir.
+ +
-i
+
Akıllı olup sadece disk arabelleği değiştiği zaman çalışır. Bu + seçenek -d seçeneği ile birlikte + belirtilmek zorundadır.
+ +
-a
+
O an arabellekte saklanmakta olan URL'leri listeler. Birden fazla aynı + URL varsa yalnız biri listelenir.
+ +
-A
+
O an arabellekte saklanmakta olan URL'leri öznitelikleri ile listeler. + Öznitelikler şu sırayla verilir: url, header size, body size, status, + entity version, date, expiry, request time, response time, body present, + head request
+
+
top
+
+

Belli bir URL'nin silinmesi

+

htcacheclean tarafından aktarılan URL'ler + arabellekten silinir. Bir URL birden fazla mevcutsa hepsi silinir.

+ +

Ters vekilli bir URL silinmişse, etkin URL Host başlığı + port, yol ve sorgu ile + oluşturulur. Bir sorgu dizgesi olsun olmasın, URL içinde '?' daima açıkça + belirtilmelidir. Örneğin, localhost sunucusundaki + / yolu silinmek istenirse silinecek URL + http://localhost:80/? olurdu.

+ +
top
+
+

Arabellekteki URL'lerin listelenmesi

+

htcacheclean'e + -a veya -A + seçeneğinin aktarılmasıyla, arabellekteki URL'ler bulundukça her satıra bir + URL gelecek biçemde listelenir. -A seçeneği + URL'nin ardından arabellek içeriğini tamamını şu sırayla dökümler:

+ +
+
url
Öğenin URL'si.
+
header size
Bayt cinsinden başlık uzunluğu.
+
body size
Bayt cinsinden gövde uzunluğu.
+
status
Arabellekteki yanıtın durumu.
+
entity version
Öğenin silinmeksizin kaç kere + doğrulandığı.
+
date
Yanıt tarihi.
+
expiry
Yanıtın zaman aşımı tarihi.
+
request time
İsteğin başlama zamanı.
+
response time
İsteğin bitiş zamanı.
+
body present
0 ise istekle birlikte gövde saklanmaz, 1 ise + saklanır.
+
head request
1 ise, öğe, gövde olmaksızın arabellekli bir + HEAD isteği içerir, 0 ise içermez.
+
+
top
+
+

Çıkış Durumu

+

htcacheclean, tüm işlemler başarıyla + yerine getirildiğinde 0, aksi takdirde 1 + döndürür. Bir URL belirtildiğinde, bu URL arablleklenmi ve silinmişse + 0, aksi takdirde 2 döndürür. URL'nin silinmesi + sırasında bir hata oluşursa 1 döndürür.

+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdbm.html b/docs/manual/programs/htdbm.html new file mode 100644 index 0000000..a470dca --- /dev/null +++ b/docs/manual/programs/htdbm.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: htdbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: htdbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: htdbm.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/htdbm.html.en b/docs/manual/programs/htdbm.html.en new file mode 100644 index 0000000..00aa52d --- /dev/null +++ b/docs/manual/programs/htdbm.html.en @@ -0,0 +1,347 @@ + + + + + +htdbm - Manipulate DBM password databases - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

htdbm - Manipulate DBM password databases

+
+

Available Languages:  en  | + fr  | + tr 

+
+ +

htdbm is used to manipulate the DBM format files used to + store usernames and password for basic authentication of HTTP users via + mod_authn_dbm. See the dbmmanage + documentation for more information about these DBM files.

+
+ +
top
+
+

Synopsis

+

htdbm + [ -TDBTYPE ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + filename username

+ +

htdbm -b + [ -TDBTYPE ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + filename username password

+ +

htdbm -n + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + username

+ +

htdbm -nb + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + username password

+ +

htdbm -v + [ -TDBTYPE ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + filename username

+ +

htdbm -vb + [ -TDBTYPE ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + filename username password

+ +

htdbm -x + [ -TDBTYPE ] + filename username

+ +

htdbm -l + [ -TDBTYPE ] +

+
top
+
+

Options

+
+
-b
+
Use batch mode; i.e., get the password from the command line + rather than prompting for it. This option should be used with extreme care, + since the password is clearly visible on the command + line. For script use see the -i option.
+ +
-i
+
Read the password from stdin without verification (for script usage).
+ +
-c
+
Create the passwdfile. If passwdfile already + exists, it is rewritten and truncated. This option cannot be combined with + the -n option.
+ +
-n
+
Display the results on standard output rather than updating a + database. This option changes the syntax of the command line, since the + passwdfile argument (usually the first one) is omitted. It + cannot be combined with the -c option.
+ +
-m
+
Use MD5 encryption for passwords. On Windows and Netware, this is + the default.
+ +
-B
+
Use bcrypt encryption for passwords. This is currently considered to + be very secure.
+ +
-C
+
This flag is only allowed in combination with -B (bcrypt + encryption). It sets the computing time used for the bcrypt algorithm + (higher is more secure but slower, default: 5, valid: 4 to 31).
+ +
-d
+
Use crypt() encryption for passwords. The default on all + platforms but Windows and Netware. Though possibly supported by + htdbm on all platforms, it is not supported by the + httpd server on Windows and Netware. + This algorithm is insecure by today's standards.
+ +
-s
+
Use SHA encryption for passwords. Facilitates migration from/to Netscape + servers using the LDAP Directory Interchange Format (ldif). + This algorithm is insecure by today's standards.
+ +
-p
+
Use plaintext passwords. Though htdbm will support + creation on all platforms, the httpd daemon will + only accept plain text passwords on Windows and Netware.
+ +
-l
+
Print each of the usernames and comments from the database on + stdout.
+ +
-v
+
Verify the username and password. The program will print a message + indicating whether the supplied password is valid. If the password is + invalid, the program exits with error code 3.
+ +
-x
+
Delete user. If the username exists in the specified DBM file, it + will be deleted.
+ +
-t
+
Interpret the final parameter as a comment. When this option is + specified, an additional string can be appended to the command line; this + string will be stored in the "Comment" field of the database, associated + with the specified username.
+ +
filename
+
The filename of the DBM format file. Usually without the extension + .db, .pag, or .dir. If + -c is given, the DBM file is created if it does not already + exist, or updated if it does exist.
+ +
username
+
The username to create or update in passwdfile. If + username does not exist in this file, an entry is added. If it + does exist, the password is changed.
+ +
password
+
The plaintext password to be encrypted and stored in the DBM file. + Used only with the -b flag.
+ +
-TDBTYPE
+
Type of DBM file (SDBM, GDBM, DB, or "default").
+
+
top
+
+

Bugs

+

One should be aware that there are a number of different DBM file + formats in existence, and with all likelihood, libraries for more than + one format may exist on your system. The three primary examples are + SDBM, NDBM, GNU GDBM, and Berkeley/Sleepycat DB 2/3/4. Unfortunately, + all these libraries use different file formats, and you must make sure + that the file format used by filename is the same format that + htdbm expects to see. htdbm currently has + no way of determining what type of DBM file it is looking at. If used + against the wrong format, will simply return nothing, or may create a + different DBM file with a different name, or at worst, it may corrupt + the DBM file if you were attempting to write to it.

+ +

One can usually use the file program supplied with most + Unix systems to see what format a DBM file is in.

+
top
+
+

Exit Status

+

htdbm returns a zero status ("true") if the username and + password have been successfully added or updated in the DBM File. + htdbm returns 1 if it encounters some problem + accessing files, 2 if there was a syntax problem with the + command line, 3 if the password was entered interactively and + the verification entry didn't match, 4 if its operation was + interrupted, 5 if a value is too long (username, filename, + password, or final computed record), 6 if the username + contains illegal characters (see the Restrictions + section), and 7 if the file is not a valid DBM password + file.

+
top
+
+

Examples

+

+ htdbm /usr/local/etc/apache/.htdbm-users jsmith +

+ +

Adds or modifies the password for user jsmith. The user + is prompted for the password. If executed on a Windows system, the password + will be encrypted using the modified Apache MD5 algorithm; otherwise, the + system's crypt() routine will be used. If the file does not + exist, htdbm will do nothing except return an error.

+ +

+ htdbm -c /home/doe/public_html/.htdbm jane +

+ +

Creates a new file and stores a record in it for user jane. + The user is prompted for the password. If the file exists and cannot be + read, or cannot be written, it is not altered and htdbm + will display a message and return an error status.

+ +

+ htdbm -mb /usr/web/.htdbm-all jones Pwd4Steve +

+ +

Encrypts the password from the command line (Pwd4Steve) + using the MD5 algorithm, and stores it in the specified file.

+
top
+
+

Security Considerations

+

Web password files such as those managed by htdbm should + not be within the Web server's URI space -- that is, they should + not be fetchable with a browser.

+ +

The use of the -b option is discouraged, since when it is + used the unencrypted password appears on the command line.

+ +

When using the crypt() algorithm, note that only the first + 8 characters of the password are used to form the password. If the supplied + password is longer, the extra characters will be silently discarded.

+ +

The SHA encryption format does not use salting: for a given password, + there is only one encrypted representation. The crypt() and + MD5 formats permute the representation by prepending a random salt string, + to make dictionary attacks against the passwords more difficult.

+ +

The SHA and crypt() formats are insecure by today's + standards.

+
top
+
+

Restrictions

+

On the Windows platform, passwords encrypted with + htdbm are limited to no more than 255 + characters in length. Longer passwords will be truncated to 255 + characters.

+ +

The MD5 algorithm used by htdbm is specific to the Apache + software; passwords encrypted using it will not be usable with other Web + servers.

+ +

Usernames are limited to 255 bytes and may not include the + character :.

+
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdbm.html.fr.utf8 b/docs/manual/programs/htdbm.html.fr.utf8 new file mode 100644 index 0000000..d9b7d15 --- /dev/null +++ b/docs/manual/programs/htdbm.html.fr.utf8 @@ -0,0 +1,384 @@ + + + + + +htdbm - Manipuler des bases de données DBM de mots de +passe - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

htdbm - Manipuler des bases de données DBM de mots de +passe

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

htdbm permet de manipuler des fichiers au format DBM + ou sont stockés des nom d'utilisateurs et mots de passe à des fins + d'authentification de base des utilisateurs HTTP via le module + mod_authn_dbm. Voir la documentation de + dbmmanage pour plus de détails à propos de ces + fichiers DBM.

+
+ +
top
+
+

Syntaxe

+

htdbm + [ -TDBTYPE ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur

+ +

htdbm -b + [ -TDBTYPE ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur mot-de-passe

+ +

htdbm -n + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-utilisateur

+ +

htdbm -nb + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-utilisateur mot-de-passe

+ +

htdbm -v + [ -TDBTYPE ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur

+ +

htdbm -vb + [ -TDBTYPE ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur mot-de-passe

+ +

htdbm -x + [ -TDBTYPE ] + nom-fichier nom-utilisateur

+ +

htdbm -l + [ -TDBTYPE ] +

+
top
+
+

Options

+
+
-b
+
Utilise le mode batch ; en d'autres termes, le mot de passe est + extrait de la ligne de commande au lieu d'être demandé à + l'opérateur. Cette option doit être utilisée avec la plus grande + prudence, car le mot de passe est visible en clair + dans la ligne de commande. Pour utiliser un script, voir l'option + -i.
+ +
-i
+
Lit le mot de passe depuis stdin sans vérification (à utiliser + dans le cadre d'un script).
+ +
-c
+
Crée le fichier-mots-de-passe. Si + fichier-mots-de-passe existe déjà, il est réécrit et + tronqué. Cette option ne peut pas être combinée avec l'option + -n.
+ +
-n
+
Affiche les résultats sur la sortie standard et ne met pas à + jour la base de données. Cette option modifie la syntaxe de la ligne + de commande, car l'argument fichier-mots-de-passe (en + général le premier) est omis. Elle ne peut pas être combinée avec + l'option -c.
+ +
-m
+
Utilise un chiffrement MD5 pour les mots de passe. Sous Windows + et Netware, c'est l'option par défaut..
+ +
-B
+
Utilise l'algorythme de chiffrement bcrypt pour les mots de + passe. C'est un algorythme actuellement considéré comme sûr.
+ +
-C
+
Ce drapeau n'est autorisé qu'en conjonction avec le drapeau + -B (chiffrement bcrypt). Il permet de définir la durée + de traitement pour l'algorythme de chiffrement bcrypt (plus elle est + longue, plus la sécurité est élevée, mais la rapidité est diminuée + d'autant) ; la valeur par défaut est 5, les valeurs valides vont de + 4 à 31.
+ + +
-d
+
Utilise un chiffrement crypt() pour les mots de + passe. C'est l'option par défaut sur toutes les plates-formes, sauf + Windows et Netware. Bien que htdbm supporte ce + chiffrement sur toutes les plates-formes, il n'est pas supporté par + le serveur httpd sous Windows et Netware. Cet + algorythme est considéré comme non sûr selon les + standards actuels.
+ +
-s
+
Utilise le chiffrement SHA pour les mots de passe. Facilite la + migration vers/depuis les serveurs Netscape qui utilisent le format + LDAP Directory Interchange (ldif). Cet + algorythme est considéré comme non sûr selon les + standards actuels.
+ +
-p
+
Utilise des mots de passe au format texte en clair. Bien que + htdbm supporte ce format sur toutes les plates-formes, + le démon httpd n'accepte les mots de passe au + format texte en clair que sous Windows et Netware.
+ +
-l
+
Affiche chaque nom d'utilisateur de la base de données + accompagné de son commentaire sur la sortie standard.
+ +
-v
+
Vérifie une association nom d'utilisateur/mot de passe. Le + programme affichera un message indiquant si le mot de passe fourni + est valide. Si le mot de passe n'est pas valide, le programme + s'arrête et renvoie un code d'erreur 3.
+ +
-x
+
Supprime l'utilisateur. Si le nom d'utilisateur existe dans le + fichier DBM spécifié, il sera supprimé.
+ +
-t
+
Interprète le dernier paramètre en tant que commentaire. Avec + cette option, il est possible d'ajouter une chaîne supplémentaire à + la fin de la ligne de commande ; le contenu de cette chaîne sera + stocké dans la base de données dans le champ "Comment" associé au + nom d'utilisateur spécifié.
+ +
nom-fichier
+
Le nom du fichier au format DBM en général sans l'extension + .db, .pag, ou .dir. Avec + l'option -c, le fichier DBM est mis à jour s'il existe + ou créé dans le cas contraire.
+ +
nom-utilisateur
+
Le nom d'utilisateur à créer ou mettre à jour dans le + fichier-mots-de-passe. Si nom-utilisateur + n'existe pas dans ce fichier, une entrée est ajoutée. S'il existe, + son mot de passe est modifié.
+ +
mot-de-passe
+
Le mot de passe en clair destiné à être chiffré et stocké dans + le fichier DBM. Ne s'utilise qu'avec l'option -b.
+ +
-TDBTYPE
+
Type de fichier DBM (SDBM, GDBM, DB, ou "default").
+
+
top
+
+

Bugs

+

Vous devez garder à l'esprit qu'il existe de nombreux formats de + fichiers DBM différents, et que selon toute vraisemblance, des + bibliothèques pour plus d'un format sont présentes sur votre + système. Les trois exemples de base sont SDBM, NDBM, le projet GNU + GDBM, et Berkeley/Sleepycat DB 2/3/4. Malheureusement, toutes ces + bibliothèques + utilisent des formats de fichiers différents, et vous devez vous + assurer que le format de fichier utilisé par nom-fichier + correspond au format attendu par htdbm. + Actuellement, htdbm n'a aucun moyen de savoir à + quel type de fichier DBM il a à faire. S'il est utilisé avec un + format inapproprié, il ne renverra rien, ou pourra créer un fichier + DBM différent avec un nom différent, ou au pire, va corrompre le + fichier DBM si vous avez tenté de le modifier.

+ +

Vous pouvez utiliser le programme file fourni par la + plupart des systèmes Unix pour déterminer le format d'un fichier + DBM.

+
top
+
+

Valeur renvoyée

+

htdbm renvoie 0 ("true") si les nom d'utilisateur et + mot de passe ont été créés ou mis à jour avec succès dans le fichier + DBM. htdbm renvoie 1 s'il a rencontré un + problème d'accès aux fichiers, 2 si la ligne de + commande comportait une erreur de syntaxe, 3 si le mot + de passe a été fourni interactivement et s'il est invalide pour + l'entrée considérée, 4 si l'opération a été + interrompue, 5 si une valeur est trop longue (nom + utilisateur, nom fichier, mot de passe, ou l'enregistrement après + son élaboration), 6 si le nom d'utilisateur contient + des caractères illégaux (voir la section Restrictions), et 7 si le + fichier n'est pas un fichier de mots de passe DBM valide.

+
top
+
+

Exemples

+

+ htdbm /usr/local/etc/apache/.utilisateurs-htdbm jsmith +

+ +

Ajoute ou modifie le mot de passe de l'utilisateur + jsmith. Le mot de passe est demandé à l'opérateur. Sous + Windows, le mot de passe sera chiffré en utilisant l'algorithme MD5 + Apache modifié ; dans les autres cas, c'est la routine + crypt() du système qui sera utilisée. Si le fichier + n'existe pas, htdbm s'arrêtera et renverra une + erreur.

+ +

+ htdbm -c /home/doe/public_html/.htdbm jane +

+ +

Crée un nouveau fichier et y enregistre une entrée pour + l'utilisateur jane. Le mot de passe est demandé à + l'opérateur. Si le fichier existe et ne peut pas être lu, ou ne peut + pas être écrit, il ne sera pas modifié et + htdbm affichera un message et renverra un code + d'erreur.

+ +

+ htdbm -mb /usr/web/.htdbm-tous jones Pwd4Steve +

+ +

Chiffre le mot de passe entré avec la ligne de commande + (Pwd4Steve) à l'aide de l'algorithme MD5, et + l'enregistre dans le fichier spécifié.

+
top
+
+

Considérations à propos de sécurité

+

Les fichiers de mots de passe Web tels que ceux que gère + htdbm ne doivent pas être stockés dans + l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas + être possible d'y accéder à l'aide d'un navigateur.

+ +

L'utilisation de l'option -b est déconseillée, car + lorsqu'il est utilisé, le mot de passe apparaît en clair dans la + ligne de commande.

+ +

Notez que lorsque vous utilisez l'algorythme + crypt(), seuls les 8 premiers caractères du mot de + passe sont pris en compte. Si le mot de passe fourni est plus long, + les caractères supplémentaires seront ignorés sans avertissement.

+ +

L'algorythme SHA ne permet pas de spécifier une valeur + d'initialisation pour la génération de nombres aléatoires (salting) + : un mot de passe donné ne possède ainsi qu'une réprésentation + chiffrée. Les algorythmes crypt() et MD5 permettent quant à + eux des représentations chiffrées multiples en acceptant comme + paramètre une chaîne d'initialisation (salt), rendant les attaques à + base de dictionnaires contre les mots de passe plus difficiles.

+ +

Les algorythmes SHA et crypt() sont considérés comme + non sûrs selon les standards actuels.

+
top
+
+

Restrictions

+

Sur la plate-forme Windows, les mots de passe chiffrés avec + htdbm ont une taille limitée à 255 + caractères. Si le mot de passe fourni est plus long, il sera tronqué + à 255 caractères.

+ +

L'algorithme MD5 utilisé par htdbm est spécifique à + Apache ; les mots de passe chiffrés en utilisant cet algorithme + seront inutilisables sur d'autres serveurs Web.

+ +

Les noms d'utilisateurs ont une taille limitée à 255 + octets et ne doivent pas contenir de caractère :.

+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdbm.html.tr.utf8 b/docs/manual/programs/htdbm.html.tr.utf8 new file mode 100644 index 0000000..70eef35 --- /dev/null +++ b/docs/manual/programs/htdbm.html.tr.utf8 @@ -0,0 +1,359 @@ + + + + + +htdbm - DBM parola veritabanlarını yönetir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

htdbm - DBM parola veritabanlarını yönetir

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ +

htdbm, + mod_authn_dbm üzerinden HTTP kullanıcılarının temel + kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının + saklanmasında kullanılacak DBM dosyalarını yönetmek için kullanılır. DBM + dosyaları hakkında daha ayrıntılı bilgi edinmek için + dbmmanage sayfasına bakınız.

+
+ +
top
+
+

Kullanım

+

htdbm + [ -TVTtürü ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] + [ -t ] + [ -v ] + parola-dosyası kullanıcı

+ +

htdbm -b + [ -TVTtürü ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] + [ -t ] + [ -v ] + parola-dosyası kullanıcı parola

+ +

htdbm -n + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] + [ -t ] + [ -v ] + kullanıcı

+ +

htdbm -nb + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] + [ -t ] + [ -v ] + kullanıcı parola

+ +

htdbm -v + [ -TVTtürü ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] + [ -t ] + [ -v ] + parola-dosyası kullanıcı

+ +

htdbm -vb + [ -TVTtürü ] + [ -c ] + [ -m | + -B + -d | + -s | + -p ] + [ -C bedel ] + [ -t ] + [ -v ] + parola-dosyası kullanıcı parola

+ +

htdbm -x + [ -TVTtürü ] + parola-dosyası kullanıcı

+ +

htdbm -l + [ -TVTtürü ] +

+
top
+
+

Seçenekler

+
+
-b
+
Betik kipi; parola için istek yapmak yerine parola komut satırından + verilir. Parola komut satırında görünür olacağından çok + dikkatli kullanmak gerekir. Betik kullanımı için + -i seçeneğine bakınız.
+ +
-i
+
Parolayı doğrulamaksızın standart girdiden okur (betik kullanımı + için).
+ +
-c
+
parola-dosyası oluşturur. Dosya mevcutsa, + dosya silinip yeniden yazılır. Bu seçenek + -n seçeneği ile birlikte kullanılamaz.
+ +
-n
+
Sonuçları veritabanında güncellemek yerine standart çıktıya gönderir. + parola-dosyası belirtilmediğinden, bu seçenek + komut satırı sözdizimini değiştirir. Bu seçenek + -c seçeneği ile birlikte kullanılamaz.
+ +
-m
+
Parolalar için MD5 şifrelemesi kullanılır. Windows ve Netware + için bu öntanımlıdır.
+ +
-B
+
Parolalar için bcrypt şifrelemesi kullanılır. Şu an için çok güvenli + kabul edilmektedir.
+ +
-C bedel
+
Bu seçenek sadece -B (bcrypt şifrelemesi) + seçeneği ile birlikte kullanılabilir. Bcrypt algoritmasına hesaplama + süresini belirtir (daha yüksek değerler daha güvenlidir, öntanımlı 5, + geçerli değerler: 4 - 31).
+ +
-d
+
Parolaları şifrelemek için crypt() kullanılır. Windows, + ve Netware dışında öntanımlıdır. + htdbm tarafından tüm platformlarda + destekleniyor olsa da Windows ve Netware üzerinde + httpd sunucusu tarafından desteklenmez. Bu algoritma + günümüz standartlarında güvenilmez kabul + edilmektedir.
+ +
-s
+
Parolalar için SHA şifrelemesi kullanılır. LDAP Dizin değişim + biçemini (ldif) kullanarak Netscape sunucularına/sunucularından göçü + kolaylaştırır. Bu algoritma günümüz standartlarında + güvenilmez kabul edilmektedir.
+ +
-p
+
Düz metin parolalar kullanılır. htdbm + tarafından tüm platformlarda destekleniyor olsa da Windows, Netware ve + TPF üzerinde httpd sunucusu tarafından sadece düz + metin parolalar kabul edilir.
+ +
-l
+
Veritabanındaki kullanıcıları açıklamalarıyla birlikte standart + çıktıya gönderir.
+ +
-v
+
Kullanıcı adını ve parolasını doğrular. Program belirtilen parolanın + geçerli olup olmadığını belirten bir ileti basar. Eğer parola geçersizse + program hata kodu 3 ile çıkar.
+ +
-x
+
Kullanıcıyı siler. Kullanıcı belirtilen DBM dosyasında mevcutsa + silinir.
+ +
-t
+
Son değiştirgenin bir açıklama olarak yorumlanmasını sağlar. Bu + seçenek kullanıldığında komut satırının sonuna fazladan bir dizge + eklenebilir. Bu dizge, veritabanında belirtilen kullanıcının "Comment" + alanında saklanır.
+ +
parola-dosyası
+
DBM dosyasının ismi. Genellikle, .db, .pag + veya .dir eklentisi olmaksızın belirtilir. + -c seçeneği ile birlikte verilmişse ve DBM + dosyası mevcut değilse dosya oluşturulur, mevcutsa dosya güncellenir.
+ +
kullanıcı
+
parola-dosyası'nda oluşturulacak veya + güncellenecek kullanıcı ismi. kullanıcı bu + dosyada mevcut değilse yeni bir girdi eklenir. Girdi mevcutsa parolası + değiştirilir.
+ +
parola
+
Şifrelenip DBM dosyasında saklanacak düz metin parola. Sadece + -b seçeneği ile kullanılır.
+ +
-T VTtürü
+
DBM dosyasının türü; SDBM, GDBM, DB, veya "default" olabilir.
+
+
top
+
+

Hatalar

+

Birden fazla DBM dosya biçemi vardır ve büyük bir olasılıkla da + sisteminizde bu birden fazla biçemle ilgili kütüphaneler vardır. SDBM, + NDBM, GNU'nun GDBM projesi ve Berkeley/Sleepycat DB 2/3/4 bunların + başlıcalarıdır. Ne yazık ki, bu kütüphanelerin her birinin dosya + biçimleri farklıdır. Bu bakımdan, dosyaismi + dosyasında kullanılan dosya biçeminin htdbm + tarafından kullanılanla aynı biçemde olduğundan emin olmalısınız. + htdbm hangi tür DBM dosyasına baktığını + saptayacak yeterliliğe sahip değildir. Yanlış biçemli bir dosya + belirtirseniz hiçbir şey dönmeyebileceği gibi, başka isimde bir DBM + dosyasının oluşturulması veya daha da kötüsü üzerine yazmaya + çalışıyorsanız DBM dosyasının bozulması bile olasıdır.

+ +

Unix sistemlerinde, kullanılan DBM dosyasının biçemini öğrenmek için + file programı kullanılabilir.

+
top
+
+

Çıkış Durumu

+

htdbm, kullanıcı ismi ve parolasını DBM + dosyasına başarıyla eklemiş veya güncellemişse 0, dosyalara + erişirken bir sorun çıkmışsa 1, komut satırında bir + sözdizimi hatası varsa 2, parola etkileşimli alınmış fakat + girdi ile eşleşme sağlanamamışsa 3, işlem kesintiye + uğramışsa 4, bir değer çok uzunsa 5 (kullanıcı, + parola, dosya ismi veya açıklama), kullanıcı ismi kuraldışı karakter + içeriyorsa (Kısıtlamalar bölümüne bakınız) + 6 ve dosya geçerli bir DBM parola dosyası değilse + 7 değeriyle döner.

+
top
+
+

Örnekler

+

+ htdbm /usr/local/etc/apache/.htdbm-users jsmith +

+ +

jsmith kullanıcısı için parolayı ekler veya değiştirir. + Parolayı vermesi için kullanıcıya parola isteği yapılır. Windows üzerinde + çalıştırılırsa parola Apache MD5 algoritması ile şifrelenir, aksi + takdirde sistemin crypt() yordamı kullanılır. Dosya mevcut + değilse htdbm beklenen hiçbir işlemi + yapmadan bir hata vererek çıkar.

+ +

+ htdbm -c /home/doe/public_html/.htdbm jane +

+ +

Yeni bir dosya oluşturur ve kullanıcı jane için kaydı bir + girdi olarak bu dosyaya yazar. Dosya mevcutsa fakat okunamıyor veya + yazılamıyorsa dosyada bir değişiklik yapılmaz ve + htdbm bir ileti gösterip bir hata durumu + ile çıkar.

+ +

+ htdbm -mb /usr/web/.htdbm-all jones Pwd4Steve +

+ +

Komut satırından verilen parolayı (Pwd4Steve) MD5 + algoritmasıyla şifreler ve bunu belirtilen dosyada saklar.

+
top
+
+

Güvenlik Değerlendirmeleri

+

htdbm tarafından yönetilen parola + dosyalarına sunucunun URI uzayından erişilememelidir; yani dosya bir + tarayıcı ile okunabilecek bir yerde bulunmamalıdır.

+ +

Komut satırında parolanın şifrelenmemiş olarak görünmesi sebebiyle + -b seçeneğinin kullanımından kaçınılmasını + öneriyoruz.

+ +

crypt() algoritması kullanılırken, parolayı + şekillendirmek için parolanın ilk 8 baytının kullanılacağına dikkat + ediniz. Eğer parola 8 bayttan uzunsa kalanlar bir uyarı verilmeksizin + iptal edilir.

+ +

SHA şifreleme biçeminde tuz kullanılmaz; yani, bir parolanın + sadece bir şifreli gösterimi olabilir. crypt() ve + MD5 biçemleri parolanın önüne rasgele üretilmiş bir tuz dizgesi + eklediklerinden sözlük saldırılarına karşı daha dayanıklıdır.

+ +

SHA ve crypt() biçimleri günümüz standartlarında + güvenilmez kabul edilmektedir.

+
top
+
+

Kısıtlamalar

+

Windows platformunda, htdbm + ile şifrelenen parolalar 255 karakterden daha uzun olamaz. + 255 karakterden sonrası kırpılır.

+ +

htdbm tarafından kullanılan MD5 + algoritması Apache yazılımına özeldir; bu algoritma ile şifrelenen + parolalar başka HTTP sunucularında kullanılamayabilir.

+ +

Kullanıcı isimleri 255 bayttan uzun olamaz ve iki nokta + imi (:) içeremez.

+
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdigest.html b/docs/manual/programs/htdigest.html new file mode 100644 index 0000000..7e1c057 --- /dev/null +++ b/docs/manual/programs/htdigest.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: htdigest.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: htdigest.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: htdigest.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: htdigest.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/htdigest.html.en b/docs/manual/programs/htdigest.html.en new file mode 100644 index 0000000..73f7cb2 --- /dev/null +++ b/docs/manual/programs/htdigest.html.en @@ -0,0 +1,111 @@ + + + + + +htdigest - manage user files for digest authentication - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

htdigest - manage user files for digest authentication

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

htdigest is used to create and update the flat-files used + to store usernames, realm and password for digest authentication of HTTP + users. Resources available from the Apache HTTP server can be restricted + to just the users listed in the files created by htdigest.

+ +

This manual page only lists the command line arguments. For details of + the directives necessary to configure digest authentication in + httpd see the Apache manual, which is part + of the Apache distribution or can be found at + http://httpd.apache.org/.

+
+ +
top
+
+

Synopsis

+

htdigest [ -c ] + passwdfile realm username

+
top
+
+

Options

+
+
-c
+
Create the passwdfile. If passwdfile already + exists, it is deleted first.
+ +
passwdfile
+
Name of the file to contain the username, realm and password. If + -c is given, this file is created if it does not already + exist, or deleted and recreated if it does exist.
+ +
realm
+
The realm name to which the user name belongs. See + + http://tools.ietf.org/html/rfc2617#section-3.2.1 for more details. +
+ +
username
+
The user name to create or update in passwdfile. If + username does not exist is this file, an entry is added. If it + does exist, the password is changed.
+
+
top
+
+

Security Considerations

+

This program is not safe as a setuid executable. Do not make it + setuid.

+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdigest.html.fr.utf8 b/docs/manual/programs/htdigest.html.fr.utf8 new file mode 100644 index 0000000..d791c45 --- /dev/null +++ b/docs/manual/programs/htdigest.html.fr.utf8 @@ -0,0 +1,119 @@ + + + + + +htdigest - Gestion des fichiers d'utilisateurs pour +l'authentification à base de condensés - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

htdigest - Gestion des fichiers d'utilisateurs pour +l'authentification à base de condensés

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

htdigest permet de créer et maintenir les fichiers + textes dans lesquels sont stockés des noms d'utilisateurs, des + domaines de protection (realms) et des mots de passe pour + l'authentification à base de condensés des utilisateurs HTTP. + L'accès aux ressources du serveur HTTP Apache peut être limité aux + seuls utilisateurs enregistrés dans les fichiers créés par + htdigest.

+ +

Cette page de manuel ne décrit que les arguments de la ligne de + commande. Pour plus de détails à propos des directives nécessaires à + la configuration de l'authentification à base de condensés dans + httpd, voir le manuel Apache qui est fourni avec + la distribution et peut être consulté à http://httpd.apache.org/.

+
+ +
top
+
+

Syntaxe

+

htdigest [ -c ] + fichier-mots-de-passe realm + nom-utilisateur

+
top
+
+

options

+
+
-c
+
Crée le fichier fichier-mots-de-passe. Si + fichier-mots-de-passe existe déjà, il est tout d'abord + supprimé.
+ +
fichier-mots-de-passe
+
Nom du fichier contenant les noms utilisateurs, realms et mots + de passe. Si l'option -c est spécifiée, le fichier est + créé s'il n'existe pas, ou supprimé et recréé s'il existe + déjà.
+ +
realm
+
Le nom du domaine de protection auquel le nom d'utilisateur + appartient. Voir http://tools.ietf.org/html/rfc2617#section-3.2.1 + pour plus de détails.
+ +
nom-utilisateur
+
Le nom d'utilisateur à créer ou mettre à jour dans le + fichier-mots-de-passe. Si nom-utilisateur est + absent de ce fichier, une nouvelle entrée est ajoutée. Si + l'utilisateur existe déjà, le mot de passe est modifié.
+
+
top
+
+

Considérations à propos de sécurité

+

En tant qu'exécutable setuid, ce programme n'est pas sûr. En + conséquence, évitez de lui attribuer des permissions setuid.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdigest.html.ko.euc-kr b/docs/manual/programs/htdigest.html.ko.euc-kr new file mode 100644 index 0000000..40b09aa --- /dev/null +++ b/docs/manual/programs/htdigest.html.ko.euc-kr @@ -0,0 +1,105 @@ + + + + + +htdigest - digest authentication¿¡ »ç¿ëÇÒ »ç¿ëÀÚÆÄÀÏÀ» +°ü¸®ÇÑ´Ù - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

htdigest - digest authentication¿¡ »ç¿ëÇÒ »ç¿ëÀÚÆÄÀÏÀ» +°ü¸®ÇÑ´Ù

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

htdigest´Â HTTP »ç¿ëÀÚÀÇ digest authentication¿¡ + »ç¿ëÇÒ »ç¿ëÀÚ¸í, ¿µ¿ª, ¾ÏÈ£¸¦ ÀúÀåÇÏ´Â ÀϹÝÆÄÀÏÀ» ¸¸µé°í + ¼öÁ¤ÇÑ´Ù. ¾ÆÆÄÄ¡ À¥¼­¹ö´Â ÀÚ¿øÀ» htdigest·Î + ¸¸µç ÆÄÀÏ¿¡ ±â·ÏÇÑ »ç¿ëÀÚ¿¡°Ô¸¸ º¸¿©ÁÙ ¼ö ÀÖ´Ù.

+ +

ÀÌ manpage´Â ¸í·ÉÇà ¿É¼Ç¸¸À» ¼³¸íÇÑ´Ù. httpd¿¡¼­ digest authenticationÀ» + ¼³Á¤ÇÏ´Â Áö½Ã¾î¿¡ ´ëÇÑ ¼³¸íÀº ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡ Æ÷ÇÔµÇÀÖ°í + http://httpd.apache.org/¿¡¼­µµ + º¼ ¼ö ÀÖ´Â ¾ÆÆÄÄ¡ ¼³¸í¼­¸¦ Âü°íÇ϶ó.

+
+ +
top
+
+

°³¿ä

+

htdigest [ -c ] + passwdfile realm username

+
top
+
+

¿É¼Ç

+
+
-c
+
passwdfileÀ» ¸¸µç´Ù. passwdfileÀÌ + ÀÌ¹Ì ÀÖ´Ù¸é ¸ÕÀú Áö¿ì°í ¸¸µç´Ù.
+ +
passwdfile
+
»ç¿ëÀÚ¸í, ¿µ¿ª, ¾ÏÈ£¸¦ ÀúÀåÇÒ ÆÄÀϸí. -c¸¦ + °°ÀÌ »ç¿ëÇÑ °æ¿ì ÆÄÀÏÀÌ ¾ø´Ù¸é ¸¸µé°í, ÀÖ´Ù¸é ÆÄÀÏÀ» Áö¿ì°í + ´Ù½Ã ¸¸µç´Ù.
+ +
realm
+
»ç¿ëÀÚ¸íÀÌ ¼ÓÇÑ ¿µ¿ªÀ̸§.
+ +
username
+
passwdfile¿¡ ¸¸µé°Å³ª ¼öÁ¤ÇÒ »ç¿ëÀÚ¸í. ÆÄÀÏ¿¡ + usernameÀÌ ¾ø´Ù¸é Ç׸ñÀ» Ãß°¡ÇÑ´Ù. ÀÖ´Ù¸é ¾ÏÈ£¸¦ + ¼öÁ¤ÇÑ´Ù.
+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdigest.html.tr.utf8 b/docs/manual/programs/htdigest.html.tr.utf8 new file mode 100644 index 0000000..d1418da --- /dev/null +++ b/docs/manual/programs/htdigest.html.tr.utf8 @@ -0,0 +1,114 @@ + + + + + +htdigest - Özet kimlik doğrulama dosyalarını yönetir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

htdigest - Özet kimlik doğrulama dosyalarını yönetir

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

htdigest, HTTP kullanıcılarının digest + türü kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının + saklanmasında kullanılacak düz metin dosyalarını oluşturmak ve güncellemek + için kullanılır. Apache HTTP sunucusunun mevcut özkaynaklarının kullanımı + sadece htdigest tarafından oluşturulan + dosyalarda listelenmiş kullanıcılara tahsis edilebilir.

+ +

Bu kılavuz sayfası sadece komut satırı değiştirgelerini listeler. + Kullanıcı kimlik doğrulamasını + httpd'de yapılandırmak için gerekli + yönergelerle ilgili ayrıntılar için Apache dağıtımının bir parçası olan + ve http://httpd.apache.org/ + adresinde de bulunan Apache HTTP Sunucusu Belgelerine bakınız.

+
+ +
top
+
+

Kullanım

+

htdigest [ -c ] + parola-dosyası bölge kullanıcı

+
top
+
+

Seçenekler

+
+
-c
+
parola-dosyası oluşturur. Dosya mevcutsa, + dosya silinip yeniden yazılır.
+ +
parola-dosyası
+
Kullanıcı ismi, parola ve bölge bilgilerini içeren dosyanın ismi. + -c seçeneği verilmişse ve dosya mevcut + değilse oluşturulur, dosya mevcutsa silinip yeniden oluşturulur.
+ +
bölge
+
Kullanıcının mensup olduğu bölge ismi. Daha fazla bilgi için: + + http://tools.ietf.org/html/rfc2617#section-3.2.1
+ +
kullanıcı
+
parola-dosyası'nda oluşturulacak veya + güncellenecek kullanıcı ismi. kullanıcı bu + dosyada mevcut değilse yeni bir girdi eklenir. Girdi mevcutsa parolası + değiştirilir.
+
+
top
+
+

Güvenlik Değerlendirmeleri

+

Bu program bir setuid çalıştırılabiliri olarak güvenilir olmadığından + setuid yapılmamalıdır.

+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htpasswd.html b/docs/manual/programs/htpasswd.html new file mode 100644 index 0000000..f610db4 --- /dev/null +++ b/docs/manual/programs/htpasswd.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: htpasswd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: htpasswd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: htpasswd.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: htpasswd.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/htpasswd.html.en b/docs/manual/programs/htpasswd.html.en new file mode 100644 index 0000000..9c219e1 --- /dev/null +++ b/docs/manual/programs/htpasswd.html.en @@ -0,0 +1,304 @@ + + + + + +htpasswd - Manage user files for basic authentication - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

htpasswd - Manage user files for basic authentication

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

htpasswd is used to create and update the flat-files used to + store usernames and password for basic authentication of HTTP users. If + htpasswd cannot access a file, such as not being able to write + to the output file or not being able to read the file in order to update it, + it returns an error status and makes no changes.

+ +

Resources available from the Apache HTTP server can be restricted to + just the users listed in the files created by htpasswd. This + program can only manage usernames and passwords stored in a flat-file. It + can encrypt and display password information for use in other types of data + stores, though. To use a DBM database see dbmmanage or + htdbm.

+ +

htpasswd encrypts passwords using either bcrypt, + a version of MD5 modified for Apache, SHA1, or the system's + crypt() routine. Files + managed by htpasswd may contain a mixture of different encoding + types of passwords; some + user records may have bcrypt or MD5-encrypted passwords while others in the + same file may have passwords encrypted with crypt().

+ +

This manual page only lists the command line arguments. For details of + the directives necessary to configure user authentication in + httpd see the Apache manual, which is part of the + Apache distribution or can be found at http://httpd.apache.org/.

+
+
Support Apache!

See also

+
top
+
+

Synopsis

+

htpasswd + [ -c ] + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] + [ -v ] passwdfile username

+ +

htpasswd -b + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] + [ -v ] passwdfile username + password

+ +

htpasswd -n + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] username

+ +

htpasswd -nb + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] username + password

+
top
+
+

Options

+
+
-b
+
Use batch mode; i.e., get the password from the command line + rather than prompting for it. This option should be used with extreme care, + since the password is clearly visible on the command + line. For script use see the -i option. + Available in 2.4.4 and later.
+ +
-i
+
Read the password from stdin without verification (for script usage).
+ +
-c
+
Create the passwdfile. If passwdfile already + exists, it is rewritten and truncated. This option cannot be combined with + the -n option.
+ +
-n
+
Display the results on standard output rather than updating a file. + This is useful for generating password records acceptable to Apache for + inclusion in non-text data stores. This option changes the syntax of the + command line, since the passwdfile argument (usually the first + one) is omitted. It cannot be combined with the -c option.
+ +
-m
+
Use MD5 encryption for passwords. This is the default (since version + 2.2.18).
+ +
-B
+
Use bcrypt encryption for passwords. This is currently considered to + be very secure.
+ +
-C
+
This flag is only allowed in combination with -B (bcrypt + encryption). It sets the computing time used for the bcrypt algorithm + (higher is more secure but slower, default: 5, valid: 4 to 17).
+ +
-d
+
Use crypt() encryption for passwords. This is not + supported by the httpd server on Windows and + Netware. This algorithm limits the password length to 8 characters. + This algorithm is insecure by today's standards. + It used to be the default algorithm until version 2.2.17.
+ +
-s
+
Use SHA encryption for passwords. Facilitates migration from/to Netscape + servers using the LDAP Directory Interchange Format (ldif). + This algorithm is insecure by today's standards.
+ +
-p
+
Use plaintext passwords. Though htpasswd will support + creation on all platforms, the httpd daemon will + only accept plain text passwords on Windows and Netware.
+ +
-D
+
Delete user. If the username exists in the specified htpasswd file, it + will be deleted.
+ +
-v
+
Verify password. Verify that the given password matches the password + of the user stored in the specified htpasswd file. + Available in 2.4.5 and later.
+ +
passwdfile
+
Name of the file to contain the user name and password. If + -c is given, this file is created if it does not already exist, + or rewritten and truncated if it does exist.
+ +
username
+
The username to create or update in passwdfile. If + username does not exist in this file, an entry is added. If it + does exist, the password is changed.
+ +
password
+
The plaintext password to be encrypted and stored in the file. Only + used with the -b flag.
+
+
top
+
+

Exit Status

+

htpasswd returns a zero status ("true") if the username and + password have been successfully added or updated in the + passwdfile. htpasswd returns 1 if it + encounters some problem accessing files, 2 if there was a + syntax problem with the command line, 3 if the password was + entered interactively and the verification entry didn't match, + 4 if its operation was interrupted, 5 if a value + is too long (username, filename, password, or final computed record), + 6 if the username contains illegal characters (see the + Restrictions section), and 7 + if the file is not a valid password file.

+
top
+
+

Examples

+

+ htpasswd /usr/local/etc/apache/.htpasswd-users jsmith +

+ +

Adds or modifies the password for user jsmith. The user + is prompted for the password. The password will be encrypted using the + modified Apache MD5 algorithm. If the file does not exist, + htpasswd will do nothing except return an error.

+ +

+ htpasswd -c /home/doe/public_html/.htpasswd jane +

+ +

Creates a new file and stores a record in it for user jane. + The user is prompted for the password. If the file exists and cannot be + read, or cannot be written, it is not altered and htpasswd + will display a message and return an error status.

+ +

+ htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve +

+ +

Encrypts the password from the command line (Pwd4Steve) + using the crypt() algorithm, and stores it in the specified + file.

+
top
+
+

Security Considerations

+

Web password files such as those managed by htpasswd should + not be within the Web server's URI space -- that is, they should + not be fetchable with a browser.

+ +

This program is not safe as a setuid executable. Do not make it + setuid.

+ +

The use of the -b option is discouraged, since when it is + used the unencrypted password appears on the command line.

+ +

When using the crypt() algorithm, note that only the first + 8 characters of the password are used to form the password. If the supplied + password is longer, the extra characters will be silently discarded.

+ +

The SHA encryption format does not use salting: for a given password, + there is only one encrypted representation. The crypt() and + MD5 formats permute the representation by prepending a random salt string, + to make dictionary attacks against the passwords more difficult.

+ +

The SHA and crypt() formats are insecure by today's + standards.

+
top
+
+

Restrictions

+

On the Windows platform, passwords encrypted with + htpasswd are limited to no more than 255 + characters in length. Longer passwords will be truncated to 255 + characters.

+ +

The MD5 algorithm used by htpasswd is specific to the Apache + software; passwords encrypted using it will not be usable with other Web + servers.

+ +

Usernames are limited to 255 bytes and may not include the + character :.

+ +

The cost of computing a bcrypt password hash value increases + with the number of rounds specified by the -C option. + The apr-util library enforces a maximum number of + rounds of 17 in version 1.6.0 and later.

+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htpasswd.html.fr.utf8 b/docs/manual/programs/htpasswd.html.fr.utf8 new file mode 100644 index 0000000..8890663 --- /dev/null +++ b/docs/manual/programs/htpasswd.html.fr.utf8 @@ -0,0 +1,343 @@ + + + + + +htpasswd - Gestion des fichiers d'utilisateurs pour +l'authentification de base - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

htpasswd - Gestion des fichiers d'utilisateurs pour +l'authentification de base

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

htpasswd permet de créer et de maintenir les + fichiers textes où sont stockés les noms d'utilisateurs et mots de + passe pour l'authentification de base des utilisateurs HTTP. Si + htpasswd rencontre un problème d'accès à un fichier, + que ce soit pour écrire dans le fichier de sortie, ou pour lire le + fichier d'entrée dans le but de le mettre à jour, il renvoie un code + d'erreur et n'effectue aucune modification.

+ +

Il est possible de limiter l'accès aux ressources du serveur HTTP + Apache aux seuls utilisateurs présents dans les fichiers créés par + htpasswd. Ce programme ne sait gérer les noms + d'utilisateurs et mots de passe que s'ils sont stockés dans des + fichiers textes. Il peut cependant chiffrer et afficher les mots de + passe à des fins d'utilisation dans d'autres types de bases de + données. Pour utiliser une base de données DBM, voir le programme + dbmmanage ou htdbm.

+ +

htpasswd chiffre les mots de passe en utilisant soit + bcrypt, + une version de MD5 modifiée pour Apache, soit SHA1, soit la routine + crypt() du système. Les fichiers gérés par + htpasswd peuvent contenir deux types de mots de passe ; + certaines entrées peuvent contenir des mots de passe chiffrés en + MD5 ou bcrypt, alors que d'autres entrées du même fichier contiendront des + mots de passe chiffrés avec crypt().

+ +

Cette page de manuel ne décrit que les arguments de la ligne de + commande. Pour plus de détails à propos des directives nécessaires à + la configuration de l'authentification des utilisateurs dans + httpd, voir le manuel Apache qui est fourni avec + la distribution ou peut être consulté à http://httpd.apache.org/.

+
+
Support Apache!

Voir aussi

+
top
+
+

Syntaxe

+

htpasswd + [ -c ] + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] + [ -v ] fichier-mots-de-passe nom-utilisateur

+ +

htpasswd -b + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] + [ -v ] fichier-mots-de-passe nom-utilisateur + mot-de-passe

+ +

htpasswd -n + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] nom-utilisateur

+ +

htpasswd -nb + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] nom-utilisateur + mot-de-passe

+
top
+
+

Options

+
+
-b
+
Utilise le mode batch ; c'est à dire, extrait le mot de passe de + la ligne de commande au lieu de le demander à l'opérateur. Cette + option doit être utilisée avec la plus grande prudence, car + le mot de passe est visible en clair dans la ligne + de commande. Pour utiliser un script, voir l'option + -i. + Disponible à partir de la version 2.4.4 du serveur HTTP Apache.
+ +
-i
+
Lit le mot de passe depuis stdin sans vérification (à utiliser + dans les scripts).
+ +
-c
+
Crée le fichier-mots-de-passe. Si + fichier-mots-de-passe existe déjà, il est réécrit et + tronqué. Cette option ne peut pas être combinée avec l'option + -n.
+ +
-n
+
Affiche le résultat du traitement sur la sortie standard au lieu + de mettre à jour le fichier. Ceci peut s'avérer utile pour générer + des enregistrements de mots de passe qu'Apache pourra utiliser à des + fins d'inclusion dans des fichiers de données au format autre que + texte. Cette option modifie la syntaxe de la ligne de commande, car + l'argument fichier-mots-de-passe (en général le premier) + est omis. Elle ne peut pas être combinée avec l'option + -c option.
+ +
-m
+
Utilise le chiffrement MD5 pour les mots de passe. C'est le + comportement par défaut (depuis la version 2.2.18).
+ +
-B
+
Utilise bcrypt pour chiffrer les mots de passe. c'est un + algorythme de chiffrement actuellement considéré comme sûr.
+ +
-C
+
Ce drapeau n'est autorisé qu'en conjonction avec le drapeau + -B (chiffrement bcrypt). Il permet de définir la durée + de traitement pour l'algorytme bcrypt (plus elle est longue, + meilleure sera la sécurité, mais inférieure la rapidité). La valeur + par défaut est 5 et les valeurs autorisées vont de 4 à 17.
+ + +
-d
+
Utilise le chiffrement crypt() pour les mots de + passe. Cette option n'est pas supportée par le + serveur httpd sous Windows ou Netware. Cet + algorithme limite la longueur des mots de passe à 8 caractères ; il + est considéré comme non sur du point de vue des + standards actuels. C'était l'algorithme par défaut jusqu'à la + version 2.2.17.
+ +
-s
+
Utilise le chiffrement SHA pour les mots de passe. Facilite la + migration vers/depuis les serveurs Netscape qui utilisent le format + LDAP Directory Interchange (ldif). Cet algorithme + est considéré comme non sur du point de vue des + standards actuels.
+ +
-p
+
Enregistre les mots de passe en clair. Bien que + htpasswd supporte la création des mots de passe en + clair sur toutes les plates-formes, le démon + httpd n'accepte les mots de passe en clair que + sous Windows et Netware.
+ +
-D
+
Supprime un utilisateur, sous réserve qu'il existe dans le + fichier spécifié par htpasswd.
+ +
-v
+
Vérifie si le mot de passe fourni correspond au mot de passe de + l'utilisateur enregistré dans le fichier de mots de passe spécifié. + Disponible à partir de la version 2.4.5 du serveur HTTP Apache.
+ +
fichier-mots-de-passe
+
Le nom du fichier contenant les noms d'utilisateurs et mots de + passe. Avec l'option -c, le fichier est créé s'il + n'existe pas, ou réécrit et tronqué s'il existe déjà.
+ +
nom-utilisateur
+
Le nom d'utilisateur à créer ou mettre à jour dans le + fichier-mots-de-passe. Si nom-utilisateur + n'existe pas, une nouvelle entrée est ajoutée. Dans le cas + contraire, le mot de passe est modifié.
+ +
mot-de-passe
+
Le mot de passe en clair et destiné à être chiffré puis stocké + dans le fichier. Cet argument ne s'utilise qu'avec l'option + -b.
+
+
top
+
+

Valeur renvoyée

+

htpasswd renvoie 0 ("true") si le nom d'utilisateur + et le mot de passe ont été enregistrés ou mis à jour avec succès + dans le fichier-mots-de-passe. htpasswd + renvoie 1 s'il a rencontré un problème d'accès aux + fichiers, 2 si la ligne de commande comportait une + erreur de syntaxe, 3 si le mot de passe entré + interactivement ne correspondait pas au nom d'utilisateur, + 4 si l'opération a été interrompue, 5 si + une valeur était trop longue (nom-utilisateur, nom-fichier, + mot-de-passe, ou l'enregistrement résultant), 6 si le + nom d'utilisateur contenait des caractères illégaux (voir la section + Restrictions), et 7 si le + fichier spécifié n'était pas un fichier de mots de passe + valide.

+
top
+
+

Exemples

+

+ htpasswd /usr/local/etc/apache/.utilisateurs-htpasswd jsmith +

+ +

Ajoute ou modifie le mot de passe de l'utilisateur + jsmith. Le mot de passe est demandé à l'opérateur. Le + mot de passe sera chiffré en utilisant l'algorithme MD5 + modifié pour Apache. Si le fichier spécifié + n'existe pas, htpasswd renverra un code d'erreur.

+ +

+ htpasswd -c /home/doe/public_html/.htpasswd jane +

+ +

Crée un nouveau fichier de mots de passe et y enregistre une + entrée pour l'utilisateur jane. Le mot de passe est + demandé à l'opérateur. Si le fichier existe et ne peut être ni lu ni + écrit, il n'est pas modifié et htpasswd affichera un + message et renverra un code d'erreur.

+ +

+ htpasswd -db /usr/web/.htpasswd-tous jones Pwd4Steve +

+ +

Chiffre le mot de passe spécifié dans la ligne de commande + (Pwd4Steve) en utilisant l'algorithme + crypt(), et le stocke dans le fichier spécifié.

+
top
+
+

Considérations à propos de sécurité

+

Les fichiers de mots de passe Web comme ceux que gère + htpasswd ne doivent pas être situés dans + l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas + être possible d'y accéder à partir d'un navigateur.

+ +

En tant qu'exécutable setuid, ce programme n'est pas sûr, et il + ne faut par conséquent pas lui attribuer de permissions + setuid.

+ +

L'utilisation de l'option -b est déconseillée, car + avec elle, les mots de passe apparaissent en clair dans la ligne de + commande.

+ +

Notez qu'avec l'algorithme crypt(), seuls les huit + premiers caractères du mot de passe spécifié sont pris en compte. Si + le mot de passe spécifié est plus long, les caractères + supplémentaires sont ignorés.

+ +

Le format de chiffrement SHA n'utilise pas d'amorçage aléatoire + (salting) : à un mot de passe donné correspond une seule + représentation chiffrée. Les formats crypt() et MD5 + permutent la représentation en la préfixant par une chaîne d'amorce + aléatoire, afin de rendre les attaques de mots de passe à base de + dictionnaires plus difficiles.

+ +

Les algorithmes de chiffrement SHA et crypt() + sont considérés comme non surs du point de vue des + standards actuels.

+
top
+
+

Restrictions

+

Sur les plates-formes Windows, la taille des mots de passe + chiffrés avec htpasswd est limitée à 255 + caractères. Les mots de passe dont la taille est supérieure seront + tronqués.

+ +

L'algorithme MD5 utilisé par htpasswd est spécifique + à Apache ; les mots de passe chiffrés en utilisant cet algorithme + seront inutilisables sur d'autres serveurs Web.

+ +

La taille des noms d'utilisateurs est limitée à 255 + octets et ceux-ci ne doivent pas contenir de caractère + :.

+ +

Le coût en performances de la génération de la valeur de hashage d'un mot + de passe bcrypt augmente avec le nombre de passes spécifié par l'option + -C. A partir de sa version 1.6.0, la bibliothèque + apr-util limite le nombre de passes à 17.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htpasswd.html.ko.euc-kr b/docs/manual/programs/htpasswd.html.ko.euc-kr new file mode 100644 index 0000000..f852060 --- /dev/null +++ b/docs/manual/programs/htpasswd.html.ko.euc-kr @@ -0,0 +1,247 @@ + + + + + +htpasswd - basic authentication¿¡ »ç¿ëÇÒ »ç¿ëÀÚÆÄÀÏÀ» + °ü¸®ÇÑ´Ù - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

htpasswd - basic authentication¿¡ »ç¿ëÇÒ »ç¿ëÀÚÆÄÀÏÀ» + °ü¸®ÇÑ´Ù

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

htpasswd´Â HTTP basic authentication¿¡ »ç¿ëÇÒ + »ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ ÀúÀåÇÏ´Â ÀϹÝÆÄÀÏÀ» »ý¼ºÇÏ°í ¼öÁ¤ÇÑ´Ù. + htpasswd°¡ ÆÄÀÏÀ» ¾²°Å³ª ÀÐÀ» ¼ö ¾ø´Ù¸é, + ¿À·ù»óŸ¦ ¹ÝȯÇÏ°í ¾Æ¹«°Íµµ ¼öÁ¤ÇÏÁö ¾Ê´Â´Ù.

+ +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â ÀÚ¿øÀ» htpasswd·Î ¸¸µç ÆÄÀÏ¿¡ + ±â·ÏÇÑ »ç¿ëÀÚ¿¡°Ô¸¸ º¸¿©ÁÙ ¼ö ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚ¸í°ú + ¾ÏÈ£¸¦ ÀúÀåÇÏ´Â ÀÏ¹Ý ÆÄÀÏÀ» °ü¸®ÇÑ´Ù. ±×·¯³ª ´Ù¸¥ ÀÚ·áÀúÀå + ¹æ½ÄÀ» À§ÇØ ¾ÏÈ£ Á¤º¸¸¦ ¾ÏȣȭÇÏ¿© ÀúÀåÇÒ ¼ö ÀÖ´Ù. DBM + µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ·Á¸é dbmmanage¸¦ Âü°íÇ϶ó.

+ +

htpasswd´Â ¾ÆÆÄÄ¡ ƯÀ¯ÀÇ MD5 ȤÀº ½Ã½ºÅÛÀÇ + crypt()¸¦ »ç¿ëÇÏ¿© ¾ÏÈ£¸¦ ¾ÏȣȭÇÑ´Ù. + htpasswd°¡ °ü¸®ÇÏ´Â ÆÄÀÏÀº µÎ Á¾·ùÀÇ ¾ÏÈ£¸¦ + ¸ðµÎ ÀúÀåÇÒ ¼ö ÀÖ´Ù. Áï, °°Àº ÆÄÀÏ¿¡ MD5·Î ¾ÏȣȭÇÑ ¾ÏÈ£¸¦ + »ç¿ëÇÏ´Â »ç¿ëÀÚ¿Í crypt()·Î ¾ÏȣȭÇÑ ¾ÏÈ£¸¦ + »ç¿ëÇÏ´Â »ç¿ëÀÚ Á¤º¸ ¸ðµÎ ³ª¿Ã ¼ö ÀÖ´Ù.

+ +

ÀÌ manpage´Â ¸í·ÉÇà ¿É¼Ç¸¸À» ¼³¸íÇÑ´Ù. httpd¿¡¼­ »ç¿ëÀÚÀÎÁõÀ» ¼³Á¤ÇÏ´Â Áö½Ã¾î¿¡ + ´ëÇÑ ¼³¸íÀº ¾ÆÆÄÄ¡ ¹èÆ÷º»¿¡ Æ÷ÇÔµÇÀÖ°í http://httpd.apache.org/¿¡¼­µµ + º¼ ¼ö ÀÖ´Â ¾ÆÆÄÄ¡ ¼³¸í¼­¸¦ Âü°íÇ϶ó.

+
+
Support Apache!

Âü°í

  • httpd
  • ¹èÆ÷º»¿¡´Â SHA1À» Áö¿øÇÏ´Â ½ºÅ©¸³Æ®µµ ÀÖ´Ù.
  • Comments
+
top
+
+

°³¿ä

+

htpasswd + [ -c ] + [ -m ] + [ -D ] passwdfile username

+ +

htpasswd -b + [ -c ] + [ -m | + -d | + -p | + -s ] + [ -D ] passwdfile username + password

+ +

htpasswd -n + [ -m | + -d | + -s | + -p ] username

+ +

htpasswd -nb + [ -m | + -d | + -s | + -p ] username password

+
top
+
+

¿É¼Ç

+
+
-b
+
¹èÄ¡(batch) ¸ðµå¸¦ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, ¾ÏÈ£¸¦ + ¹°¾îº¸Áö¾Ê°í ¸í·ÉÇà¿¡¼­ ¹Þ´Â´Ù. ¸í·ÉÇà¿¡ ¾ÏÈ£°¡ + Á÷Á¢ µå·¯³ª¹Ç·Î, ÀÌ ¿É¼ÇÀº ¸Å¿ì Á¶½ÉÇؼ­ »ç¿ëÇØ¾ß + ÇÑ´Ù.
+ +
-c
+
passwdfileÀ» ¸¸µç´Ù. passwdfileÀÌ + ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é, µ¤¾î¾´´Ù. ÀÌ ¿É¼ÇÀ» -n ¿É¼Ç°ú + °°ÀÌ »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
-n
+
ÆÄÀÏÀ» ¼öÁ¤ÇÏÁö¾Ê°í °á°ú¸¦ Ç¥ÁØÃâ·ÂÀ¸·Î Ãâ·ÂÇÑ´Ù. + ¾ÆÆÄÄ¡°¡ ¹®¼­ÀÌ¿ÜÀÇ °÷¿¡ »ý¼ºÇÑ ¾ÏÈ£¸¦ ÀúÀåÇÒ¶§ À¯¿ëÇÏ´Ù. + (Ç×»ó ù¹ø° ¾Æ±Ô¸ÕÆ®ÀÎ) passwdfile ¾Æ±Ô¸ÕÆ®°¡ + ¾ø±â¶§¹®¿¡ ¸í·ÉÇà ¹®¹ýÀÌ ´Ù¸£´Ù. -c ¿É¼Ç°ú + °°ÀÌ »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ +
-m
+
MD5¸¦ »ç¿ëÇÏ¿© ¾ÏÈ£¸¦ ¾ÏȣȭÇÑ´Ù. Windows, Netware, + TPF¿¡¼­ ±âº»°ªÀÌ´Ù.
+ +
-d
+
crypt()¸¦ »ç¿ëÇÏ¿© ¾ÏÈ£¸¦ ¾ÏȣȭÇÑ´Ù. + Windows, Netware, TPF¸¦ Á¦¿ÜÇÑ ¸ðµç Ç÷¡Æû¿¡¼­ ±âº»°ªÀÌ´Ù. + ¸ðµç Ç÷¡ÆûÀÇ htpasswd°¡ ÀÌ Çü½ÄÀ» Áö¿øÇÒ ¼ö´Â + ÀÖÁö¸¸, Windows, Netware, TPFÀÇ httpd + ¼­¹ö´Â ÀÌ Çü½ÄÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.
+ +
-s
+
¾ÏÈ£¸¦ SHA ¾ÏȣȭÇÑ´Ù. LDAP µð·ºÅ丮±³È¯Çü½Ä(ldif)À» + »ç¿ëÇÏ¿© Netscape ¼­¹ö·Î Á¤º¸¸¦ º¸³»°Å³ª °ÅÁ®¿Ã¶§ À¯¿ëÇÏ´Ù.
+ +
-p
+
¾ÏÈ£¸¦ ±×´ë·Î »ç¿ëÇÑ´Ù. ¸ðµç Ç÷¡ÆûÀÇ htpasswd°¡ + Áö¿øÇÏÁö¸¸, Windows, Netware, TPFÀÇ httpd + µ¥¸ó¸¸ÀÌ ÀÏ¹Ý ¾ÏÈ£¸¦ ¹Þ´Â´Ù.
+ +
-D
+
»ç¿ëÀÚ¸¦ »èÁ¦ÇÑ´Ù. htpasswd ÆÄÀÏ¿¡ »ç¿ëÀÚ¸íÀÌ ÀÖ´Ù¸é + »èÁ¦ÇÑ´Ù.
+ +
passwdfile
+
»ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ ÀúÀåÇÏ´Â ÆÄÀϸí. -c¸¦ + »ç¿ëÇÑ °æ¿ì ÆÄÀÏÀÌ ¾ø´Ù¸é »õ·Î ¸¸µé°í, ÀÖ´Ù¸é µ¤¾î¾´´Ù.
+ +
username
+
passwdfile¿¡ ¸¸µé°Å³ª ¼öÁ¤ÇÒ »ç¿ëÀÚ¸í. + usernameÀÌ ÀÌ ÆÄÀÏ¿¡ ¾ø´Ù¸é Ç׸ñÀ» Ãß°¡ÇÑ´Ù. + ÀÖ´Ù¸é ¾ÏÈ£¸¦ ¼öÁ¤ÇÑ´Ù.
+ +
password
+
¾ÏȣȭÇÏ¿© ÆÄÀÏ¿¡ ÀúÀåÇÒ ¾ÏÈ£. ¿ÀÁ÷ -b + ¿É¼Ç°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+
+
top
+
+

Á¾·áÄÚµå

+

htpasswd´Â passwdfile¿¡ »ç¿ëÀÚ¸í°ú + ¾ÏÈ£¸¦ ¼º°øÀûÀ¸·Î Ãß°¡Çϰųª ¼öÁ¤ÇÑ °æ¿ì ("Âü") Á¾·áÄÚµå + 0À» ¹ÝȯÇÑ´Ù. htpasswd´Â ÆÄÀÏ¿¡ Á¢±ÙÇÒ¶§ ¹®Á¦°¡ + ¹ß»ýÇÑ °æ¿ì 1À», ¸í·ÉÇà Çü½ÄÀÌ À߸øµÈ °æ¿ì + 2¸¦, ÀÔ·ÂÇÑ ¾ÏÈ£¿Í È®ÀÎÂ÷ ´Ù½Ã ÀÔ·ÂÇÑ °ªÀÌ + ÀÏÄ¡ÇÏÁö ¾ÊÀº °æ¿ì 3À», ¸í·ÉÀÌ Áß´ÜµÈ °æ¿ì + 4¸¦, (»ç¿ëÀÚ¸í, ÆÄÀϸí, ¾ÏÈ£, ÃÖÁ¾ °è»ê°á°ú) + °ªÀÌ ³Ê¹« ±ä °æ¿ì 5¸¦, »ç¿ëÀÚ¸í¿¡ Çã¿ëÇÏÁö¾Ê´Â + ¹®ÀÚ°¡ Æ÷ÇÔµÈ °æ¿ì Á¦ÇÑ Àý Âü°í) + 6¸¦, ÆÄÀÏÀÌ ¿Ã¹Ù¸¥ ¾ÏÈ£ÆÄÀÏÀÌ ¾Æ´Ñ °æ¿ì + 7À» ¹ÝȯÇÑ´Ù.

+
top
+
+

¿¹Á¦

+

+ htpasswd /usr/local/etc/apache/.htpasswd-users jsmith +

+ +

»ç¿ëÀÚ jsmithÀÇ ¾ÏÈ£¸¦ Ãß°¡Çϰųª ¼öÁ¤ÇÑ´Ù. + »ç¿ëÀÚ¿¡°Ô ¾ÏÈ£¸¦ ¹°¾îº»´Ù. Windows ½Ã½ºÅÛ¿¡¼­ ½ÇÇàÇϸé + ¾ÏÈ£¸¦ ¾ÆÆÄÄ¡ ƯÀ¯ÀÇ MD5 ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ¿© ¾ÏȣȭÇÏ°í, + ¾Æ´Ï¸é ½Ã½ºÅÛÀÇ crypt() ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ÆÄÀÏÀÌ + ¾ø´Ù¸é htpasswd´Â ¾Æ¹« Àϵµ ÇÏÁö¾Ê°í ¿À·ù¸¦ + ³½´Ù.

+ +

+ htpasswd -c /home/doe/public_html/.htpasswd jane +

+ +

»õ·Î ÆÄÀÏÀ» ¸¸µé°í ±× ÆÄÀÏ¿¡ »ç¿ëÀÚ janeÀ» + Ãß°¡ÇÑ´Ù. »ç¿ëÀÚ¿¡°Ô ¾ÏÈ£¸¦ ¹°¾îº»´Ù. ÆÄÀÏÀÌ ÀÖÁö¸¸ Àаųª + ¾µ ¼ö ¾ø´Ù¸é, htpasswd´Â ÆÄÀÏÀ» ¼öÁ¤ÇÏÁö¾Ê°í + ¹®±¸¸¦ Ãâ·ÂÇÑÈÄ ¿À·ù»óŸ¦ ¹ÝȯÇÑ´Ù.

+ +

+ htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve +

+ +

¸í·ÉÇàÀÇ ¾ÏÈ£(Pwd4Steve)¸¦ MD5 ¾Ë°í¸®ÁòÀ¸·Î + ¾ÏȣȭÇÏ¿© ÁöÁ¤ÇÑ ÆÄÀÏ¿¡ ÀúÀåÇÑ´Ù.

+
top
+
+

º¸¾È»ó °í·ÁÇÒ Á¡

+

htpasswd µîÀÌ °ü¸®ÇÏ´Â À¥ ¾ÏÈ£ÆÄÀÏÀÌ À¥¼­¹öÀÇ + URI °ø°£¿¡ ÀÖÀ¸¸é ¾ÈµÈ´Ù. Áï, ºê¶ó¿ìÀú°¡ ÀÌ ÆÄÀÏÀ» + º¼ ¼ö ¾ø¾î¾ß ÇÑ´Ù.

+ +

¸í·ÉÇà¿¡ ¾ÏȣȭÇÏÁö¾ÊÀº ¾ÏÈ£¸¦ »ç¿ëÇϱ⶧¹®¿¡ -b + ¿É¼ÇÀ» ÃßõÇÏÁö ¾Ê´Â´Ù.

+
top
+
+

Á¦ÇÑ

+

Windows¿Í MPE Ç÷¡ÆûÀº htpasswd°¡ ¾ÏȣȭÇÏ´Â + ¾ÏÈ£ÀÇ ±æÀ̸¦ 255 ¹®ÀÚ·Î Á¦ÇÑÇÑ´Ù. ´õ ±ä ¾ÏÈ£´Â + 255ÀÚ¿¡¼­ ©¸°´Ù.

+ +

htpasswd°¡ »ç¿ëÇÏ´Â MD5 ¾Ë°í¸®ÁòÀº ¾ÆÆÄÄ¡ + ¼ÒÇÁÆ®¿þ¾î ƯÀ¯ÀÇ °ÍÀÌ´Ù. À̸¦ »ç¿ëÇÏ¿© ¾ÏȣȭÇÑ ¾ÏÈ£¸¦ + ´Ù¸¥ À¥¼­¹ö¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø´Ù.

+ +

»ç¿ëÀÚ¸íÀº 255 ¹ÙÀÌÆ®·Î Á¦Çѵǰí : + ¹®ÀÚ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htpasswd.html.tr.utf8 b/docs/manual/programs/htpasswd.html.tr.utf8 new file mode 100644 index 0000000..58072a5 --- /dev/null +++ b/docs/manual/programs/htpasswd.html.tr.utf8 @@ -0,0 +1,315 @@ + + + + + +htpasswd - Temel kimlik doğrulama dosyalarını yönetir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

htpasswd - Temel kimlik doğrulama dosyalarını yönetir

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

htpasswd, HTTP kullanıcılarının temel + kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının + saklanmasında kullanılacak düz metin dosyalarını oluşturmak ve güncellemek + için kullanılır. htpasswd, güncelleme + sırasında yazmak veya okumak için bir dosyaya erişemezse beklenen hiçbir + işlemi yapmaz ve hata vererek çıkar.

+ +

Apache HTTP sunucusunun mevcut özkaynaklarının kullanımı + sadece htpasswd tarafından oluşturulan + dosyalarda listelenmiş kullanıcılara tahsis edilebilir. + htpasswd sadece düz metin dosyalarda + saklanmış kullanıcı isimlerini ve parolalarını yönetirse de, diğer veri + saklama türleri için parolayı şifreleyip gösterebilir. Bir DBM veritabanı + kullanmak isterseniz dbmmanage ve + htdbm sayfasına bakınız.

+ +

htpasswd, parolaları şifrelemek için + bcrypt, Apache'nin kendine özgü MD5 algoritması, SHA1 ya da sistemin + crypt() yordamını kullanır. Bu bakımdan + htpasswd tarafından yönetilen dosyalar farklı + algoritmalarla şifrelenmiş parolalar içerebilir.

+ +

Bu kılavuz sayfası sadece komut satırı değiştirgelerini listeler. + Kullanıcı kimlik doğrulamasını + httpd'de yapılandırmak için gerekli + yönergelerle ilgili ayrıntılar için Apache dağıtımının bir parçası olan + ve http://httpd.apache.org/ + adresinde de bulunan Apache HTTP Sunucusu Belgelerine bakınız.

+
+
Support Apache!

Ayrıca bakınız:

+
top
+
+

Kullanım

+

htpasswd + [ -c ] + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] + [ -D ] + [ -v ] parola-dosyası kullanıcı

+ +

htpasswd -b + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] + [ -D ] + [ -v ] parola-dosyası kullanıcı + parola

+ +

htpasswd -n + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] kullanıcı

+ +

htpasswd -nb + [ -m | + -B | + -d | + -s | + -p ] + [ -C bedel ] kullanıcı + parola

+
top
+
+

Seçenekler

+
+
-b
+
Betik kipi; parola için istek yapmak yerine parola komut satırından + verilir. Parola komut satırında görünür olacağından çok + dikkatli kullanmak gerekir. Betik kullanımı için + -i seçeneğine bakınız. + 2.4.4 ve sonraki sürümler içindir.
+ +
-i
+
Parolayı doğrulamaksızın standart girdiden okur (betik kullanımı + için).
+ +
-c
+
parola-dosyası oluşturur. Dosya mevcutsa, + dosya silinip yeniden yazılır. Bu seçenek + -n seçeneği ile birlikte kullanılamaz.
+ +
-n
+
Sonuçları veritabanında güncellemek yerine standart çıktıya gönderir. + Bu seçenek, Apache'nin metin veriler içermeyen veri depolarına dahil + edilebilecek parolaları üretmekte yararlıdır. + parola-dosyası belirtilmediğinden, bu seçenek + komut satırı sözdizimini değiştirir. Bu seçenek + -c seçeneği ile birlikte kullanılamaz.
+ +
-m
+
Parolalar için MD5 şifrelemesi kullanılır. + Bu 2.2.18 sürümünden beri öntanımlıdır.
+ +
-B
+
Parolalar için bcrypt şifrelemesi kullanılır. Şu an için çok güvenli + kabul edilmektedir.
+ +
-C bedel
+
Bu seçenek sadece -B (bcrypt şifrelemesi) + seçeneği ile birlikte kullanılabilir. Bcrypt algoritmasına hesaplama + süresini belirtir (daha yüksek değerler daha güvenlidir, öntanımlı 5, + geçerli değerler: 4 - 17).
+ +
-d
+
Parolaları şifrelemek için crypt() kullanılır. + htpasswd tarafından tüm platformlarda + destekleniyor olsa da Windows, Netware ve TPF üzerinde + httpd sunucusu tarafından desteklenmez. Bu algoritma + günümüz standartlarında güvenilmez kabul + edilmektedir. 2.2.17 sürümüne kadar öntanımlı algoritma olarak + kullanılmıştı.
+ +
-s
+
Parolalar için SHA şifrelemesi kullanılır. LDAP Dizin değişim + biçemini (ldif) kullanarak Netscape sunucularına/sunucularından göçü + kolaylaştırır.Bu algoritma günümüz standartlarında + güvenilmez kabul edilmektedir.
+ +
-p
+
Düz metin parolalar kullanılır. htpasswd + tarafından tüm platformlarda destekleniyor olsa da Windows, Netware ve + TPF üzerinde httpd sunucusu tarafından sadece düz + metin parolalar kabul edilir.
+ +
-D
+
Kullanıcıyı siler. Kullanıcı belirtilen dosyada mevcutsa + silinir.
+ +
-v
+
Parolayı doğrular. Verilen parolayı belitilen htpasswd dosyasında + saklanan kullanıcı parolası ile karşılaştırarak doğrulama yapar. + 2.4.5 ve sonraki sürümler içindir.
+ +
parola-dosyası
+
Kullanıcı ismini ve parolasını içeren dosyanın ismi. + -c seçeneği verilmişse ve dosya mevcut + değilse oluşturulur, dosya mevcutsa silinip yeniden oluşturulur.
+ +
kullanıcı
+
parola-dosyası'nda oluşturulacak veya + güncellenecek kullanıcı ismi. kullanıcı bu + dosyada mevcut değilse yeni bir girdi eklenir. Girdi mevcutsa parolası + değiştirilir.
+ +
parola
+
Şifrelenip dosyada saklanacak düz metin parola. Sadece + -b seçeneği ile kullanılır.
+
+
top
+
+

Çıkış Durumu

+

htpasswd, kullanıcı ismi ve parolasını DBM + dosyasına başarıyla eklemiş veya güncellemişse 0, dosyalara + erişirken bir sorun çıkmışsa 1, komut satırında bir + sözdizimi hatası varsa 2, parola etkileşimli alınmış fakat + girdi ile eşleşme sağlanamamışsa 3, işlem kesintiye + uğramışsa 4, bir değer çok uzunsa 5 (kullanıcı, + parola, dosya ismi veya açıklama), kullanıcı ismi kuraldışı karakter + içeriyorsa (Kısıtlamalar bölümüne bakınız) + 6 ve dosya geçerli bir DBM parola dosyası değilse + 7 değeriyle döner.

+
top
+
+

Örnekler

+

+ htpasswd /usr/local/etc/apache/.htpasswd-users jsmith +

+ +

jsmith kullanıcısı için parolayı ekler veya değiştirir. + Parolayı vermesi için kullanıcıya parola isteği yapılır. + Parola takviyeli Apache MD5 algoritması ile şifrelenir. Dosya mevcut + değilse htpasswd beklenen hiçbir işlemi + yapmadan bir hata vererek çıkar.

+ +

+ htpasswd -c /home/doe/public_html/.htpasswd jane +

+ +

Yeni bir dosya oluşturur ve kullanıcı jane için kaydı bir + girdi olarak bu dosyaya yazar. Dosya mevcutsa fakat okunamıyor veya + yazılamıyorsa dosyada bir değişiklik yapılmaz ve + htpasswd bir ileti gösterip bir hata durumu + ile çıkar.

+ +

+ htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve +

+ +

Komut satırından verilen parolayı (Pwd4Steve) crypt() + algoritmasıyla şifreler ve bunu belirtilen dosyada saklar.

+
top
+
+

Güvenlik Değerlendirmeleri

+

htpasswd tarafından yönetilen parola + dosyalarına sunucunun URI uzayından erişilememelidir; yani dosya bir + tarayıcı ile okunabilecek bir yerde bulunmamalıdır.

+ +

Bu program bir setuid çalıştırılabiliri olarak güvenilir olmadığından + setuid yapılmamalıdır.

+ +

Komut satırında parolanın şifrelenmemiş olarak görünmesi sebebiyle + -b seçeneğinin kullanımından kaçınılmasını + öneriyoruz.

+ +

crypt() algoritması kullanılırken, parolayı + şekillendirmek için parolanın ilk 8 baytının kullanılacağına dikkat + ediniz. Eğer parola 8 bayttan uzunsa kalanlar bir uyarı verilmeksizin + iptal edilir.

+ +

SHA şifreleme biçeminde tuz kullanılmaz; yani, bir parolanın + sadece bir şifreli gösterimi olabilir. crypt() ve + MD5 biçemleri parolanın önüne rasgele üretilmiş bir tuz dizgesi + eklediklerinden sözlük saldırılarına karşı daha dayanıklıdırlar.

+ +

SHA ve crypt() biçimleri günümüz standartlarında + güvenilmez kabul edilmektedir.

+
top
+
+

Kısıtlamalar

+

Windows platformuda, htpasswd + ile şifrelenen parolalar 255 karakterden daha uzun olamaz. + 255 karakterden sonrası kırpılır.

+ +

htpasswd tarafından kullanılan MD5 + algoritması Apache yazılımına özeldir; bu algoritma ile şifrelenen + parolalar başka HTTP sunucularında kullanılamayabilir.

+ +

Kullanıcı isimleri 255 bayttan uzun olamaz ve iki nokta + imi (:) içeremez.

+ +

Bir bcrypt parolasının karma değerini hesaplamanın maliyeti, + -C seçeneğinde belirtilen tur sayısı ile artar. + apr-util kitaplığının 1.6.0 ve sonraki + sürümleri için azami tur sayısı 17 ile sınırlıdır.

+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httpd.html b/docs/manual/programs/httpd.html new file mode 100644 index 0000000..8c4f698 --- /dev/null +++ b/docs/manual/programs/httpd.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: httpd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: httpd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: httpd.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: httpd.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/httpd.html.en b/docs/manual/programs/httpd.html.en new file mode 100644 index 0000000..52f6022 --- /dev/null +++ b/docs/manual/programs/httpd.html.en @@ -0,0 +1,225 @@ + + + + + +httpd - Apache Hypertext Transfer Protocol Server - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

httpd - Apache Hypertext Transfer Protocol Server

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

httpd is the Apache HyperText Transfer Protocol + (HTTP) server program. It is designed to be run as a standalone + daemon process. When used like this it will create a pool of + child processes or threads to handle requests.

+ +

In general, httpd should not be invoked directly, + but rather should be invoked via apachectl on Unix-based systems or as a service on Windows NT, + 2000 and XP and as + a console application on Windows 9x and ME.

+
+ +
top
+
+

Synopsis

+

httpd [ -d + serverroot ] [ -f config ] + [ -C directive ] [ -c + directive ] [ -D parameter ] + [ -e level ] [ -E + file ] + [ -k start|restart|graceful|stop|graceful-stop ] + [ -h ] + [ -l ] [ -L ] [ -S ] + [ -t ] [ -v ] [ -V ] + [ -X ] [ -M ] [ -T ] +

+ +

On Windows systems, the + following additional arguments are available:

+ +

httpd [ -k + install|config|uninstall ] [ -n name ] + [ -w ]

+
top
+
+

Options

+ +
+
-d serverroot
+ +
Set the initial value for the ServerRoot directive to +serverroot. This can be overridden by the ServerRoot +directive in the configuration file. The default is +/usr/local/apache2.
+ +
-f config
+ +
Uses the directives in the file config on startup. If +config does not begin with a /, then it is taken to be a +path relative to the ServerRoot. The default is +conf/httpd.conf.
+ +
-k start|restart|graceful|stop|graceful-stop
+ +
Signals httpd to start, restart, or stop. See Stopping Apache httpd for more information.
+ +
-C directive
+ +
Process the configuration directive before reading +config files.
+ +
-c directive
+ +
Process the configuration directive after reading config +files.
+ + +
-D parameter
+ +
Sets a configuration parameter which can be used with +<IfDefine> sections +in the configuration files to conditionally skip or process commands +at server startup and restart. Also can be used to set certain +less-common startup parameters including -DNO_DETACH +(prevent the parent from forking) and -DFOREGROUND +(prevent the parent from calling setsid() et al).
+ +
-e level
+ +
Sets the LogLevel to +level during server startup. This is useful for +temporarily increasing the verbosity of the error messages to find +problems during startup.
+ +
-E file
+ +
Send error messages during server startup to file.
+ +
-h
+ +
Output a short summary of available command line options.
+ +
-l
+ +
Output a list of modules compiled into the server. This will +not list dynamically loaded modules included using +the LoadModule directive.
+ +
-L
+ +
Output a list of directives provided by static modules, together with expected arguments and +places where the directive is valid. Directives provided by shared modules are not listed.
+ +
-M
+ +
Dump a list of loaded Static and Shared Modules.
+ +
-S
+ +
Show the settings as parsed from the config file (currently only +shows the virtualhost settings).
+ +
-T (Available in 2.3.8 and later)
+ +
Skip document root check at startup/restart.
+ +
-t
+ +
Run syntax tests for configuration files only. The program +immediately exits after these syntax parsing tests with either a return code +of 0 (Syntax OK) or return code not equal to 0 (Syntax Error). If -D +DUMP_VHOSTS is also set, details of the virtual host +configuration will be printed. If -D DUMP_MODULES is +set, all loaded modules will be printed.
+ +
-v
+ +
Print the version of httpd, and then exit.
+ +
-V
+ +
Print the version and build parameters of httpd, and +then exit.
+ +
-X
+ +
Run httpd in debug mode. Only one worker will be started and the +server will not detach from the console.
+ +
+ +

The following arguments are available only on the Windows platform:

+ +
+ +
-k install|config|uninstall
+ +
Install Apache httpd as a Windows NT service; change startup options for +the Apache httpd service; and uninstall the Apache httpd service.
+ +
-n name
+ +
The name of the Apache httpd service to signal.
+ +
-w
+ +
Keep the console window open on error so that the error message can +be read.
+ +
+ +
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httpd.html.fr.utf8 b/docs/manual/programs/httpd.html.fr.utf8 new file mode 100644 index 0000000..c7771b9 --- /dev/null +++ b/docs/manual/programs/httpd.html.fr.utf8 @@ -0,0 +1,239 @@ + + + + + +httpd - Le serveur HTTP d'Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

httpd - Le serveur HTTP d'Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

httpd est le programme du serveur HTTP d'Apache. Il + a été conçu pour fonctionner sous forme de processus démon + indépendant. Lorsqu'il est utilisé ainsi, il va créer un jeu de + processus enfants ou de threads qui traiteront les requêtes.

+ +

En général, httpd n'est pas invoqué directement, + mais plutôt via apachectl sur les systèmes de + style Unix ou en tant que service sous + Windows NT, 2000 et XP et comme application de + console sous Windows 9x et ME.

+
+ +
top
+
+

Syntaxe

+

httpd [ -d + racine-serveur ] [ -f config ] + [ -C directive ] [ -c + directive ] [ -D paramètre ] + [ -e niveau ] [ -E + fichier ] + [ -k start|restart|graceful|stop|graceful-stop ] + [ -h ] + [ -l ] [ -L ] [ -S ] + [ -t ] [ -v ] [ -V ] + [ -X ] [ -M ] [ -T ] +

+ +

Sur les systèmes Windows, + les options additionnelles suivantes sont disponibles :

+ +

httpd [ -k + install|config|uninstall ] [ -n nom ] + [ -w ]

+
top
+
+

Options

+ +
+
-d racine-serveur
+ +
Définit la valeur initiale de la directive ServerRoot à racine-serveur. Cette +valeur peut être écrasée par la directive ServerRoot du fichier de +configuration. La valeur par défaut est +/usr/local/apache2.
+ +
-f config
+ +
Utilise les directives du fichier config au démarrage. Si +config ne commence pas par un '/', il est considéré comme +relatif au chemin défini par la directive ServerRoot. La valeur par défaut est +conf/httpd.conf.
+ +
-k start|restart|graceful|stop|graceful-stop
+ +
Permet de démarrer, redémarrer ou arrêter httpd. Voir Arrêter Apache httpd pour plus d'informations.
+ +
-C directive
+ +
Exécute la directive de configuration directive avant de +lire les fichiers de configurations.
+ +
-c directive
+ +
Exécute la directive de configuration directive après +avoir lu les fichiers de configurations.
+ + +
-D paramètre
+ +
Définit un paramètre de configuration à utiliser dans les +sections <IfDefine> +des fichiers de configuration, ces dernières permettant d'exécuter ou +non des +commandes au démarrage ou au redémarrage du serveur. Sert aussi à +définir certains paramètres de démarrage moins courants comme +-DNO_DETACH (empêche le processus parent de lancer des +processus enfants) et -DFOREGROUND (empêche le processus +parent d'appeler setsid() et autres).
+ +
-e niveau
+ +
Définit la directive LogLevel à +niveau pendant le démarrage du serveur. Ceci permet +d'augmenter temporairement la verbosité des messages d'erreur afin de +déterminer les problèmes de démarrage.
+ +
-E fichier
+ +
Envoie les messages d'erreur de démarrage vers le fichier +fichier.
+ +
-h
+ +
Affiche un bref résumé des options de ligne de commande +disponibles.
+ +
-l
+ +
Affiche la liste des modules compilés dans le le serveur. Ce +paramètre n'affiche pas les modules chargés +dynamiquement via la directive LoadModule.
+ +
-L
+ +
Affiche une liste des directives fournies par les modules statiques +avec les arguments associés, ainsi que les contextes dans lesquels elles +sont valides. Les directives fournies par les modules partagés +(dynamiques) ne sont pas affichées).
+ +
-M
+ +
Affiche une liste des modules statiques et des modules chargés +dynamiquement.
+ +
-S
+ +
Affiche la configuration telle qu'elle est issue de l'interprétation +du fichier de configuration (actuellement, seule la configuration des +serveurs virtuels est affichée).
+ +
-T (disponible depuis la version 2.3.8)
+ +
Empêche la vérification de la racine des documents (DocumentRoot) au +démarrage/redémarrage.
+ +
-t
+ +
Exécute une vérification de syntaxe pour les fichiers de +configuration seulement. Le programme se termine immédiatement après ces +tests de vérification de syntaxe avec soit un code de retour de 0 +(syntaxe OK), soit un code de retour différent de 0 (erreur de +syntaxe). Si -D DUMP_VHOSTS est défini, les +détails de la configuration des serveurs virtuels seront affichés. Si -D +DUMP_MODULES est défini, tous les modules chargés +seront affichés.
+ +
-v
+ +
Print the version of httpd, and then exit.
+ +
-V
+ +
Le programme affiche la version et les paramètres de compilation de +httpd, puis se termine.
+ +
-X
+ +
Exécute httpd en mode debug. Un seul processus sera démarré, et le +serveur ne rendra pas la main à la console.
+ +
+ +

Les arguments suivants ne sont disponibles que sur la plate-forme Windows :

+ +
+ +
-k install|config|uninstall
+ +
Respectivement : installe Apache httpd en tant que service Windows NT ; +modifie les options de démarrage du service Apache httpd ; désinstalle le +service Apache httpd.
+ +
-n nom
+ +
Le nom du service Apache httpd à actionner.
+ +
-w
+ +
Garde la console Windows ouverte en cas de problème de façon à ce +que le message d'erreur puisse être lu.
+ +
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httpd.html.ko.euc-kr b/docs/manual/programs/httpd.html.ko.euc-kr new file mode 100644 index 0000000..fea4f9a --- /dev/null +++ b/docs/manual/programs/httpd.html.ko.euc-kr @@ -0,0 +1,218 @@ + + + + + +httpd - ¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ ¼­¹ö - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

httpd - ¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ ¼­¹ö

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

httpd´Â ¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ + (HTTP) ¼­¹ö ÇÁ·Î±×·¥ÀÌ´Ù. ÀÚü(standalone) µ¥¸ó ÇÁ·Î¼¼½º·Î + ½ÇÇàÇϵµ·Ï ¼³°èµÇ¾ú´Ù. ¿øÇÑ´Ù¸é ¿äûÀ» ó¸®ÇϱâÀ§ÇØ ÀÚ½Ä + ÇÁ·Î¼¼½º¿Í ¾²·¹µåµéÀ» ¸¸µç´Ù.

+ +

ÀϹÝÀûÀ¸·Î httpd¸¦ Á÷Á¢ ½ÇÇàÇϱ⺸´Ù´Â + À¯´Ð½º±â¹Ý ½Ã½ºÅÛ¿¡¼­´Â apachectlÀ» ÅëÇØ, 2000, XP¿¡¼­´Â + ¼­ºñ½º·Î, Windows + 9x¿Í ME¿¡¼­´Â ÄÝ¼Ö ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇØ¾ß ÇÑ´Ù.

+
+ +
top
+
+

°³¿ä

+

httpd [ -d + serverroot ] [ -f config ] + [ -C directive ] [ -c + directive ] [ -D parameter ] + [ -e level ] [ -E + file ] [ -k start|restart|graceful|stop ] + [ -R directory ] [ -h ] + [ -l ] [ -L ] [ -S ] + [ -t ] [ -v ] [ -V ] + [ -X ] [ -M ]

+ +

Windows ½Ã½ºÅÛ¿¡¼­´Â + ´ÙÀ½ ¾Æ±Ô¸ÕÆ®¸¦ Ãß°¡·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù:

+ +

httpd [ -k + install|config|uninstall ] [ -n name ] + [ -w ]

+
top
+
+

¿É¼Ç

+ +
+
-d serverroot
+ +
ServerRoot Áö½Ã¾îÀÇ +±âº»°ªÀ» serverroot·Î ¼³Á¤ÇÑ´Ù. ¼³Á¤ÆÄÀÏ¿¡¼­ ServerRoot +Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ÀÌ °ªÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ±âº»°ªÀº +/usr/local/apache2ÀÌ´Ù.
+ +
-f config
+ +
½ÃÀÛÇÒ¶§ config ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. +config°¡ /·Î ½ÃÀÛÇÏÁö ¾ÊÀ¸¸é ServerRoot¿¡ »ó´ë°æ·ÎÀÌ´Ù. ±âº»°ªÀº +conf/httpd.confÀÌ´Ù.
+ +
-k start|restart|graceful|stop
+ +
httpd¸¦ ½ÃÀÛ, Àç½ÃÀÛ, Áß´ÜÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â +¾ÆÆÄÄ¡ Áß´ÜÇϱ⸦ Âü°íÇ϶ó.
+ +
-C directive
+ +
¼³Á¤ÆÄÀÏÀ» ÀбâÀü¿¡ directive Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù.
+ +
-c directive
+ +
¼³Á¤ÆÄÀÏÀ» ÀбâÀü¿¡ directive Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù.
+ + +
-D parameter
+ +
¼­¹ö ½ÃÀÛ È¤Àº Àç½ÃÀ۽à ¼±ÅÃÀûÀ¸·Î ¸í·É¾î¸¦ ó¸®ÇϱâÀ§ÇØ +¼³Á¤ÆÄÀÏÀÇ <IfDefine> +¼½¼Ç¿¡ »ç¿ëÇÒ parameter¸¦ ¼³Á¤ÇÑ´Ù.
+ +
-e level
+ +
¼­¹ö°¡ ½ÃÀÛÇϴµ¿¾È LogLevelÀ» +level·Î ¼³Á¤ÇÑ´Ù. ÀÌ´Â ½ÃÀÛÁß ¹®Á¦¸¦ ã±âÀ§ÇØ Àá½Ã +´õ ÀÚ¼¼ÇÑ ¿À·ù¹®À» ¾òÀ»¶§ À¯¿ëÇÏ´Ù.
+ +
-E file
+ +
¼­¹ö°¡ ½ÃÀÛÇϴµ¿¾È file·Î ¿À·ù¹®À» º¸³½´Ù.
+ +
-R directory
+ +
¼­¹ö¸¦ SHARED_CORE ±ÔÄ¢À» »ç¿ëÇÏ¿© ÄÄÆÄÀÏÇÑ +°æ¿ì °øÀ¯¿ÀºêÁ§Æ®ÆÄÀÏ directory¸¦ ÁöÁ¤ÇÑ´Ù.
+ +
-h
+ +
»ç¿ëÇÒ ¼ö ÀÖ´Â ¸í·ÉÇà ¿É¼ÇµéÀÇ ÂªÀº ¿ä¾àÀ» Ãâ·ÂÇÑ´Ù.
+ +
-l
+ +
¼­¹ö¿¡ °°ÀÌ ÄÄÆÄÀÏÇÑ ¸ðµâ ¸ñ·ÏÀ» Ãâ·ÂÇÑ´Ù. LoadModule Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© µ¿ÀûÀ¸·Î +ÀоîµéÀÌ´Â ¸ðµâÀº Ãâ·ÂÇÏÁö ¾Ê´Â´Ù.
+ +
-L
+ +
Áö½Ã¾î ¸ñ·ÏÀ» Áö½Ã¾î°¡ ¹Þ´Â ¾Æ±Ô¸ÕÆ®¿Í Áö½Ã¾î »ç¿ëÀå¼Ò¿Í +°°ÀÌ Ãâ·ÂÇÑ´Ù.
+ +
-M
+ +
ÀоîµéÀÎ Á¤Àû ¸ðµâ°ú °øÀ¯ ¸ðµâ ¸ñ·ÏÀ» Ãâ·ÂÇÑ´Ù.
+ +
-S
+ +
¼³Á¤ÆÄÀÏ¿¡¼­ ÀоîµéÀÎ ¼³Á¤À» º¸¿©ÁØ´Ù (ÇöÀç´Â °¡»óÈ£½ºÆ® +¼³Á¤¸¸À» º¸¿©ÁØ´Ù).
+ +
-t
+ +
¼³Á¤ÆÄÀÏÀÇ ¹®¹ý°Ë»ç¸¸ ÇÑ´Ù. ÇÁ·Î±×·¥Àº ¹®¹ýÀ» °Ë»çÇÑÈÄ +(¹®¹ýÀÌ ¿Ã¹Ù¸¥ °æ¿ì) 0À̳ª (¹®¹ý¿¡ ¹®Á¦°¡ ÀÖ´Â °æ¿ì) 0ÀÌ ¾Æ´Ñ +Á¾·áÄÚµå·Î Áï½Ã Á¾·áÇÑ´Ù. -D DUMP_VHOSTSÀ» +»ç¿ëÇÏ¸é °¡»óÈ£½ºÆ® ¼³Á¤À» ÀÚ¼¼È÷ Ãâ·ÂÇÑ´Ù. -D +DUMP_MODULES¸¦ »ç¿ëÇϸé ÀоîµéÀÎ ¸ðµâ +¸ñ·ÏÀ» Ãâ·ÂÇÑ´Ù.
+ +
-v
+ +
httpdÀÇ ¹öÀüÀ» Ãâ·ÂÇÏ°í Á¾·áÇÑ´Ù.
+ +
-V
+ +
httpdÀÇ ¹öÀü°ú ÄÄÆÄÀÏ ÆĶó¹ÌÅ͸¦ Ãâ·ÂÇÏ°í +Á¾·áÇÑ´Ù.
+ +
-X
+ +
µð¹ö±× »óÅ·ΠÀ¥¼­¹ö¸¦ ½ÇÇàÇÑ´Ù. ¿ÀÁ÷ ÇÑ ÇÁ·Î¼¼½º³ª ¾²·¹µå·Î¸¸ +¼­ºñ½ºÇÏ°í, ¼­¹ö´Â Äֿܼ¡¼­ ¶³¾îÁöÁö ¾Ê´Â´Ù.
+ +
+ +

´ÙÀ½ ¾Æ±Ô¸ÕÆ®´Â Windows +Ç÷¡Æû¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù:

+ +
+ +
-k install|config|uninstall
+ +
¾ÆÆÄÄ¡¸¦ Windows NT ¼­ºñ½º·Î ¼³Ä¡ÇÑ´Ù; ¾ÆÆÄÄ¡ ¼­ºñ½ºÀÇ ½ÃÀÛ +¿É¼ÇÀ» ¼öÁ¤ÇÑ´Ù; ¾ÆÆÄÄ¡ ¼­ºñ½º ¼³Ä¡¸¦ Áö¿î´Ù.
+ +
-n name
+ +
¾ÆÆÄÄ¡ ¼­ºñ½ºÀÇ name.
+ +
-w
+ +
¿À·ù°¡ ¹ß»ýÇϸé ÄܼÖâÀ» ¿­¾î¼­ ¿À·ù¹®À» º¸¿©ÁØ´Ù.
+ +
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httpd.html.tr.utf8 b/docs/manual/programs/httpd.html.tr.utf8 new file mode 100644 index 0000000..2c2b5d6 --- /dev/null +++ b/docs/manual/programs/httpd.html.tr.utf8 @@ -0,0 +1,216 @@ + + + + + +httpd - Apache Hiper Metin Aktarım Protokolü Sunucusu - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

httpd - Apache Hiper Metin Aktarım Protokolü Sunucusu

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

httpd, Apache Hiper Metin Aktarım + Protokolü (HTTP) sunucusu programıdır. Tek başına çalışan bir artalan + süreci olarak tasarlanmıştır. Bu tarz kullanıldığında istekleri işleme + sokmak için çocuk süreçlerden ve evrelerden oluşan bir havuz + oluşturur.

+ +

Genelde, httpd'nin doğrudan çağrılmaması + gerekir. Unix ve benzerlerinde apachectl + aracılığıyla, Windows NT, 2000 + ve XP'de bir hizmet olarak, Windows 9x ve ME'de ise bir + konsol uygulaması olarak çalıştırılır.

+
+ +
top
+
+

Kullanım

+

httpd [ -d + sunucu-kök-dizini ] [ -f + yapılandırma-dosyası ] + [ -C yönerge ] [ -c + yönerge ] [ -D parametre ] + [ -e seviye ] [ -E + dosya ] + [ -k start | restart | graceful | stop | graceful-stop ] + [ -h ] + [ -l ] [ -L ] [ -S ] + [ -t ] [ -v ] [ -V ] + [ -X ] [ -M ] [ -T ] +

+ +

Windows sistemlerinde, ek + olarak şunlar vardır:

+ +

httpd [ -k install | config | + uninstall ] [ -n isim ] + [ -w ]

+
top
+
+

Seçenekler

+ +
+
-d sunucu-kök-dizini
+
sunucu-kök-dizini'ni ServerRoot yönergesine ilk değer olarak atar. Yapılandırma + dosyasındaki bir ServerRoot + yönergesiyle bu atama geçersiz kılınabilir. Bu seçenek belirtilmediği + takdirde /usr/local/apache2 dizini öntanımlıdır.
+ +
-f yapılandırma-dosyası
+
Başlatma sırasında yapılandırma-dosyası'ndaki yönergeler + kullanılır. Eğer yapılandırma-dosyası bir / ile başlamıyorsa + dosyanın ServerRoot yönergesinin + değerine göreli olduğu varsayılır. Seçenek belirtilmediği takdirde + conf/httpd.conf öntanımlı değerdir.
+ +
-k start | restart | graceful | stop | + graceful-stop
+
httpd'yi başlatmak, durdurmak ve yeniden + başlatmak için sinyal gönderir. Daha ayrıntılı bilgi edinmek için Apache httpd'nin Durdurulması belgesine + bakınız.
+ +
-C yönerge
+
Yapılandırma yönerge'sini yapılandırma dosyalarını okumadan + önce işleme sokar.
+ +
-c yönerge
+
Yapılandırma yönerge'sini yapılandırma dosyalarını + okuduktan sonra işleme sokar.
+ +
-D parametre
+
Sunucu başlatılırken veya yeniden başlatılırken komutları şarta bağlı + olarak işleme sokmak veya atlamak için yapılandırma dosyalarında + kullanılan <IfDefine> + bölümlerinde kullanılmak üzere bir yapılandırma parametre'si + tanımlar. Ayrıca, -DNO_DETACH (ana sürecin çatallanmasını + engellemek için), -DFOREGROUND (ana sürecin + setsid() ve benzerlerinden çağrılmasını engellemek için) + gibi daha az bilinen bazı başlatma parametrelerini atamakta da + kullanılabilir.
+ +
-e seviye
+
Hata günlüğü seviyesi olarak LogLevel yönergesine sunucu başlatılırken seviye + değerini atar. Bu seçenek, başlatma sırasındaki sorunları saptamak + amacıyla hata iletilerinin ayrıntı seviyesini geçici olarak arttırmak + için kullanılır.
+ +
-E dosya
+
Sunucunun başlatılması sırasında hata iletilerinin belirtilen + dosya'ya gönderilmesini sağlar.
+ +
-h
+
Mevcut komut satırı seçeneklerinin kısa bir özetini çıktılar.
+ +
-l
+
Sunucunun içinde derlenmiş modüllerin listesini çıktılar. Bu liste + LoadModule yönergesi kullanılarak + devingen olarak yüklenen modülleri içermez.
+ +
-L
+
Durağan modüllerce sağlanmış yönergeleri olası değerleriyle geçerli + konumlarına yerleştirerek listeler. Paylaşımlı modüllerce sağlanan + yönergeleri listelemez.
+ +
-M
+
Yüklü durağan ve paylaşımlı modülleri listeler.
+ +
-S
+
Yapılandırma dosyasından çözümlenmiş haliyle ayarları gösterir (şu an + sadece sanal konak ayarları gösterilmektedir).
+ +
-T (2.3.8 ve sonrasında + kullanılabilmektedir)
+
Başlatma ve yeniden başlatma sırasında belge kökü sınanmadan + geçilir.
+ +
-t
+
Yapılandırma dosyasını sözdizimi hatalarına karşı denetler. Program + sözdizimini denetledikten sonra sözdizimi geçerliyse 0 ile, değilse + sıfırdan farklı bir değerle çıkar. + -DDUMP_VHOSTS seçeneği ile birlikte + kullanılmışsa ek olarak sanal konak ayrıntıları da basılır. + -DDUMP_MODULES seçeneği ile ise ek olarak + tüm modüller listelenir.
+ +
-v
+
httpd sürümünü basar ve çıkar.
+ +
-V
+
Sürümü ve httpd kurulum parametrelerini + basar ve çıkar.
+ +
-X
+
httpd hata ayıklama kipinde çalışır. Tek + çocuk süreç başlatılır ve sunucu konsolu terketmez.
+
+ +

Aşağıdaki seçenekler sadece Windows + platformunda geçerlidir:

+ +
+
-k install | config | uninstall
+
Parametreler bakımından sırasıyla: Apache httpd bir Windows NT hizmeti + haline getirilir; başlatma seçenekleri Apache httpd hizmeti için + değiştirilir; ve Apache httpd hizmeti sistemden kaldırılır.
+ +
-n isim
+
Sinyal gönderilecek Apache httpd hizmetinin ismi.
+ +
-w
+
Hata durumunda konsol penceresi açık tutularak hata iletilerinin + okunması sağlanır.
+
+ +
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httxt2dbm.html b/docs/manual/programs/httxt2dbm.html new file mode 100644 index 0000000..2b59857 --- /dev/null +++ b/docs/manual/programs/httxt2dbm.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: httxt2dbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: httxt2dbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: httxt2dbm.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/httxt2dbm.html.en b/docs/manual/programs/httxt2dbm.html.en new file mode 100644 index 0000000..602febd --- /dev/null +++ b/docs/manual/programs/httxt2dbm.html.en @@ -0,0 +1,114 @@ + + + + + +httxt2dbm - Generate dbm files for use with RewriteMap - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

httxt2dbm - Generate dbm files for use with RewriteMap

+
+

Available Languages:  en  | + fr  | + tr 

+
+ +

httxt2dbm is used to generate dbm files from text input, for + use in RewriteMap with the + dbm map type.

+ +

If the output file already exists, it will not be truncated. New keys will be + added and existing keys will be updated.

+
+ +
top
+
+

Synopsis

+

httxt2dbm + [ -v ] + [ -f DBM_TYPE ] + -i SOURCE_TXT + -o OUTPUT_DBM +

+
top
+
+

Options

+
+
-v
+
More verbose output
+ +
-f DBM_TYPE
+
Specify the DBM type to be used for the output. If not specified, will + use the APR Default. Available types are: + GDBM for GDBM files, + SDBM for SDBM files, + DB for berkeley DB files, + NDBM for NDBM files, + default for the default DBM type. +
+ +
-i SOURCE_TXT
+
Input file from which the dbm is to be created. The file should be formatted + with one record per line, of the form: key value. + See the documentation for RewriteMap for + further details of this file's format and meaning. +
+ +
-o OUTPUT_DBM
+
Name of the output dbm files.
+
+
top
+
+

Examples

+

+ httxt2dbm -i rewritemap.txt -o rewritemap.dbm
+ httxt2dbm -f SDBM -i rewritemap.txt -o rewritemap.dbm
+

+
+
+

Available Languages:  en  | + fr  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httxt2dbm.html.fr.utf8 b/docs/manual/programs/httxt2dbm.html.fr.utf8 new file mode 100644 index 0000000..c8bdda8 --- /dev/null +++ b/docs/manual/programs/httxt2dbm.html.fr.utf8 @@ -0,0 +1,122 @@ + + + + + +httxt2dbm - Génère des fichiers dbm à utiliser avec +RewriteMap - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

httxt2dbm - Génère des fichiers dbm à utiliser avec +RewriteMap

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

httxt2dbm permet, à partir d'une entrée au format + texte, de générer des fichiers dbm à utiliser dans les directives + RewriteMap avec le type + de table dbm. +

+ +

Si le fichier de sortie existe déjà, il ne sera pas tronqué. Les + nouvelles clés seront ajoutées et les clés préexistantes mises à + jour.

+
+ +
top
+
+

Syntaxe

+

httxt2dbm + [ -v ] + [ -f TYPE_DBM ] + -i TEXTE_SOURCE + -o SORTIE_DBM +

+
top
+
+

Options

+
+
-v
+
Sortie plus verbeuse
+ +
-f TYPE_DBM
+
Spécifie le type DBM à utiliser pour le fichier de sortie. + S'il n'est pas spécifié, c'est la valeur par défaut de + l'APR qui sera utilisée. Les types disponibles + sont : + GDBM pour les fichiers GDBM, + SDBM pour les fichiers SDBM, + DB pour les fichiers DB, + NDBM pour les fichiers NDBM, + default pour le type DBM par défaut +
+ +
-i TEXTE_SOURCE
+
Le fichier d'entrée à partir duquel le fichier dbm sera créé. Le + fichier doit être formaté de façon à ne contenir qu'un seul + enregistrement par ligne, de la forme : clé valeur. + Voir la documentation de la directive RewriteMap pour plus de détails à + propos du format de ce fichier et de sa signification. +
+ +
-o SORTIE_DBM
+
Nom du fichier dbm de sortie.
+
+
top
+
+

Exemples

+

+ httxt2dbm -i rewritemap.txt -o rewritemap.dbm
+ httxt2dbm -f SDBM -i rewritemap.txt -o rewritemap.dbm
+

+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httxt2dbm.html.tr.utf8 b/docs/manual/programs/httxt2dbm.html.tr.utf8 new file mode 100644 index 0000000..c884b22 --- /dev/null +++ b/docs/manual/programs/httxt2dbm.html.tr.utf8 @@ -0,0 +1,116 @@ + + + + + +httxt2dbm - RewriteMap ile kullanmak için DBM dosyaları üretir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

httxt2dbm - RewriteMap ile kullanmak için DBM dosyaları üretir

+
+

Mevcut Diller:  en  | + fr  | + tr 

+
+ +

httxt2dbm, RewriteMap ile kullanmak için düz metin + dosyalardan DBM dosyaları üretir.

+ +

Çıktı dosyası mevcutsa dosya kırpılmaz. Yeni anahtarlar eklenir, + mevcutlar da güncellenir.

+
+ +
top
+
+

Kullanım

+

httxt2dbm + [ -v ] + [ -f DBM_türü ] + -i kaynak_metin + -o çıktı_DBM +

+
top
+
+

Seçenekler

+
+
-v
+
Çıktı daha ayrıntılı olur.
+ +
-f DBM_türü
+
Çıktı için kullanılacak DBM türü belirtilir. Belirtilmediği takdirde + APR öntanımlısı kullanılır. Belirtilebilecek DBM + türleri: + GDBM dosyalar için GDBM, + SDBM dosyalar için SDBM, + Berkeley DB dosyalar için DB, + NDBM dosyalar için NDBM, + öntanımlı DBM türü için default +
+ +
-i kaynak_metin
+
DBM dosyasının üretiminde kullanılacak girdi dosyası belirtilir. Bu + dosya, her satırda bir kayıt bulunmak üzere her satırı şöyle biçemlenmiş + olmalıdır: + anahtar değer. + Bu dosyanın biçemi ve manası ile ilgili ayrıntılar için RewriteMap yönergesinin açıklamasına + bakınız. +
+ +
-o çıktı_DBM
+
Çıktılanacak DBM dosyasının ismi belirtilir.
+
+
top
+
+

Örnekler

+

+ httxt2dbm -i rewritemap.txt -o rewritemap.dbm
+ httxt2dbm -f SDBM -i rewritemap.txt -o rewritemap.dbm
+

+
+
+

Mevcut Diller:  en  | + fr  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/index.html b/docs/manual/programs/index.html new file mode 100644 index 0000000..af26b8b --- /dev/null +++ b/docs/manual/programs/index.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/index.html.en b/docs/manual/programs/index.html.en new file mode 100644 index 0000000..42a6827 --- /dev/null +++ b/docs/manual/programs/index.html.en @@ -0,0 +1,130 @@ + + + + + +Server and Supporting Programs - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Server and Supporting Programs

+
+

Available Languages:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ +

This page documents all the executable programs included + with the Apache HTTP Server.

+
+
top
+
+

Index

+ +
+
httpd
+ +
Apache hypertext transfer protocol server
+ +
apachectl
+ +
Apache HTTP server control interface
+ +
ab
+ +
Apache HTTP server benchmarking tool
+ +
apxs
+ +
APache eXtenSion tool
+ +
configure
+ +
Configure the source tree
+ +
dbmmanage
+ +
Create and update user authentication files in DBM format + for basic authentication
+ +
fcgistarter
+ +
Start a FastCGI program
+ +
htcacheclean
+ +
Clean up the disk cache
+ +
htdigest
+ +
Create and update user authentication files for digest + authentication
+ +
htdbm
+ +
Manipulate DBM password databases.
+ +
htpasswd
+ +
Create and update user authentication files for basic + authentication
+ +
httxt2dbm
+ +
Create dbm files for use with RewriteMap
+ +
logresolve
+ +
Resolve hostnames for IP-addresses in Apache + logfiles
+ +
log_server_status
+ +
Periodically log the server's status
+ +
rotatelogs
+ +
Rotate Apache logs without having to kill the server
+ +
split-logfile
+ +
Split a multi-vhost logfile into per-host logfiles
+ +
suexec
+ +
Switch User For Exec
+ +
+
+
+

Available Languages:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/programs/index.html.es b/docs/manual/programs/index.html.es new file mode 100644 index 0000000..4bd33cb --- /dev/null +++ b/docs/manual/programs/index.html.es @@ -0,0 +1,132 @@ + + + + + +El Servidor Apache y Programas de Soporte - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

El Servidor Apache y Programas de Soporte

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ +

Esta página contiene toda la documentación sobre los programas + ejecutables incluidos en el servidor Apache.

+
+
top
+
+

Índice

+ +
+
httpd
+ +
Servidor Apache del Protocolo de Transmisión de + Hipertexto (HTTP)
+ +
apachectl
+ +
Interfaz de control del servidor HTTP Apache
+ +
ab
+ +
Herramienta de benchmarking del Servidor HTTP Apache
+ +
apxs
+ +
Herramienta de Extensión de Apache
+ +
configure
+ +
Configuración de la estructura de directorios de Apache
+ +
dbmmanage
+ +
Crea y actualiza los archivos de autentificación de usuarios + en formato DBM para autentificación básica
+ +
fcgistarter
+ +
Ejecuta un programa FastCGI.
+ +
htcacheclean
+ +
Vacía la caché del disco.
+ +
htdigest
+ +
Crea y actualiza los ficheros de autentificación de usuarios + para autentificación tipo digest
+ +
htdbm
+ +
Manipula la base de datos DBM de contraseñas.
+ +
htpasswd
+ +
Crea y actualiza los ficheros de autentificación de usuarios + para autentificación tipo básica
+ +
httxt2dbm
+ +
Crea ficheros dbm para que se usen con RewriteMap
+ +
logresolve
+ +
Resuelve los nombres de host para direcciones IP que están + en los ficheros log de Apache
+ +
log_server_status
+ +
Logea de forma periódica el estado del servidor.
+ +
rotatelogs
+ +
Renueva los logs de Apache sin tener que parar el servidor
+ +
split-logfile
+ +
Divide un archivo de registro multi-host virtual en + archivos de registro por host
+ +
suexec
+ +
Programa para cambiar la identidad de + usuario con la que se ejecuta un CGI
+
+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/programs/index.html.fr.utf8 b/docs/manual/programs/index.html.fr.utf8 new file mode 100644 index 0000000..2d46b48 --- /dev/null +++ b/docs/manual/programs/index.html.fr.utf8 @@ -0,0 +1,132 @@ + + + + + +Le serveur et ses utilitaires - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Le serveur et ses utilitaires

+
+

Langues Disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ +

Cette page documente tous les utilitaires inclus + dans le serveur HTTP Apache.

+
+
top
+
+

Index

+ +
+
httpd
+ +
Le serveur de protocole de transfert hypertexte Apache
+ +
apachectl
+ +
L'interface de contrôle du serveur HTTP Apache
+ +
ab
+ +
L'outil de test de performances du serveur HTTP Apache
+ +
apxs
+ +
L'outil de gestion des extensions Apache
+ +
configure
+ +
Configuration de l'arborescence des sources
+ +
dbmmanage
+ +
Crée et met à jour les fichiers d'authentification utilisateurs au + format DBM pour une authentification basique
+ +
fcgistarter
+ +
Lance un programme fastcgi
+ +
htcacheclean
+ +
Nettoie le cache sur disque
+ +
htdigest
+ +
Crée et met à jour les fichiers d'authentification pour une + authentification sommaire
+ +
htdbm
+ +
Manipulation des bases de données DBM des mots de passe.
+ +
htpasswd
+ +
Crée et met à jour les fichiers d'authentification pour une + authentification basique
+ +
httxt2dbm
+ +
Crée des fichiers dbm destinés à être utilisés avec + RewriteMap
+ +
logresolve
+ +
Résolution des noms d'hôtes en adresses IP dans les fichiers + de traces d'Apache
+ +
log_server_status
+ +
Journalisation périodique du statut du serveur
+ +
rotatelogs
+ +
Rotation des traces d'Apache sans devoir arrêter le serveur
+ +
split-logfile
+ +
Divise un journal pour plusieurs hôtes virtuels en journaux + spécifiques à chaque hôte
+ +
suexec
+ +
Change d'utilisateur pour l'exécution de certains programmes
+ +
+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/programs/index.html.ko.euc-kr b/docs/manual/programs/index.html.ko.euc-kr new file mode 100644 index 0000000..3de8b4c --- /dev/null +++ b/docs/manual/programs/index.html.ko.euc-kr @@ -0,0 +1,111 @@ + + + + + +¼­¹ö¿Í Áö¿ø ÇÁ·Î±×·¥ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¼­¹ö¿Í Áö¿ø ÇÁ·Î±×·¥

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

¾ÆÆÄÄ¡ À¥¼­¹ö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥µéÀÌ´Ù.

+
+
top
+
+

¸ñ·Ï

+ +
+
httpd
+ +
¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ ¼­¹ö
+ +
apachectl
+ +
¾ÆÆÄÄ¡ À¥¼­¹ö Á¶Àý ÀÎÅÍÆäÀ̽º
+ +
ab
+ +
¾ÆÆÄÄ¡ À¥¼­¹ö ¼º´É°Ë»ç µµ±¸
+ +
apxs
+ +
¾ÆÆÄÄ¡ È®Àå µµ±¸ (APache eXtenSion tool)
+ +
configure
+ +
¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÑ´Ù
+ +
dbmmanage
+ +
basic authentication¿¡ »ç¿ëÇÒ DBM Çü½ÄÀÇ »ç¿ëÀÚ + ÀÎÁõÆÄÀÏÀ» ¸¸µé°í ¼öÁ¤ÇÑ´Ù
+ +
htcacheclean
+
µð½ºÅ© ij½¬¸¦ û¼ÒÇÑ´Ù
+ +
htdigest
+ +
digest authentication¿¡ »ç¿ëÇÒ »ç¿ëÀÚ ÀÎÁõÆÄÀÏÀ» + ¸¸µé°í ¼öÁ¤ÇÑ´Ù
+ +
htpasswd
+ +
basic authentication¿¡ »ç¿ëÇÒ »ç¿ëÀÚ ÀÎÁõÆÄÀÏÀ» ¸¸µé°í + ¼öÁ¤ÇÑ´Ù
+ +
logresolve
+ +
¾ÆÆÄÄ¡ ·Î±×ÆÄÀÏÀÇ IP-ÁÖ¼Ò¸¦ È£½ºÆ®¸íÀ¸·Î º¯È¯ÇÑ´Ù
+ +
rotatelogs
+ +
¼­¹ö¸¦ Á×ÀÌÁö¾Ê°í ¾ÆÆÄÄ¡ ·Î±×¸¦ ¼øȯÇÑ´Ù
+ +
suexec
+ +
½ÇÇàÀ» À§ÇØ »ç¿ëÀÚ¸¦ º¯°æÇÑ´Ù (Switch User For Exec)
+ +
´Ù¸¥ ÇÁ·Î±×·¥µé
+
manpage°¡ ¾ø´Â Áö¿ø µµ±¸µé.
+
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/programs/index.html.tr.utf8 b/docs/manual/programs/index.html.tr.utf8 new file mode 100644 index 0000000..835dc2f --- /dev/null +++ b/docs/manual/programs/index.html.tr.utf8 @@ -0,0 +1,115 @@ + + + + + +Sunucu ve Destek Programları - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Sunucu ve Destek Programları

+
+

Mevcut Diller:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ +

Bu sayfada Apache HTTP Sunucusuna dahil tüm çalıştırılabilir programlar + tanıtılmıştır.

+
+
top
+
+

Dizin

+ +
+
httpd
+
Apache hiper metin aktarım protokolü sunucusu.
+ +
apachectl
+
Apache HTTP Sunucusu denetim arayüzü.
+ +
ab
+
Apache HTTP Sunucusu başarım ölçme aracı.
+ +
apxs
+
Apache HTTP Sunucusu eklenti aracı (APache eXtenSion tool).
+ +
configure
+
Kaynak ağacını yapılandırır.
+ +
dbmmanage
+
Kullanıcı kimlik doğrulama dosyalarını temel kimlik doğrulaması için + DBM biçeminde oluşturur ve günceller.
+ +
fcgistarter
+
Bir FastCGI programını çalıştırır.
+ +
htcacheclean
+
Disk arabelleÄŸini temizler.
+ +
htdigest
+ +
Kullanıcı kimlik doğrulama dosyalarını özet kimlik doğrulaması için + oluşturur ve günceller.
+ +
htdbm
+
DBM parola veritabanlarını idare eder.
+ +
htpasswd
+
Kullanıcı kimlik doğrulama dosyalarını temel kimlik doğrulaması için + oluşturur ve günceller.
+ +
httxt2dbm
+
RewriteMap ile kullanmak + üzere DBM dosyaları oluşturur.
+ +
logresolve
+
Apache günlük dosyalarındaki IP adreslerini konak isimlerine + dönüştürür.
+ +
log_server_status
+
Sunucunun durumunu düzenli aralıklarla günlüğe kaydeder.
+ +
rotatelogs
+
Sunucuyu öldürmek gerekmeksizin günlük dosyalarının döndürülmesini + sağlar.
+ +
split-logfile
+
Bir çok konaklı günlük dosyasını konak başına bir günlük dosyası düşecek şekilde böler.
+ +
suexec
+
Bir dosyayı belli bir kullanıcı adına çalıştırır.
+
+
+
+

Mevcut Diller:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/programs/index.html.zh-cn.utf8 b/docs/manual/programs/index.html.zh-cn.utf8 new file mode 100644 index 0000000..a201b84 --- /dev/null +++ b/docs/manual/programs/index.html.zh-cn.utf8 @@ -0,0 +1,124 @@ + + + + + +Apache HTTP æœåŠ¡å™¨ä¸Žæ”¯æŒç¨‹åº - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

Apache HTTP æœåŠ¡å™¨ä¸Žæ”¯æŒç¨‹åº

+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

本页æ述了 Apache HTTP æœåŠ¡å™¨åŒ…å«çš„所有å¯æ‰§è¡Œç¨‹åºã€‚

+
+
top
+
+

索引

+ +
+
httpd
+ +
Apache æœåŠ¡å™¨ã€‚
+ +
apachectl
+ +
Apache HTTP æœåŠ¡å™¨æŽ§åˆ¶å·¥å…·ã€‚
+ +
ab
+ +
Apache HTTP æœåŠ¡å™¨æ€§èƒ½åŸºå‡†å·¥å…·ã€‚
+ +
apxs
+ +
Apache 扩展工具。
+ +
configure
+ +
é…ç½®æºä»£ç ã€‚
+ +
dbmmanage
+ +
为基本认è¯åˆ›å»ºå’Œæ›´æ–° DBM æ ¼å¼çš„用户认è¯æ–‡ä»¶ã€‚
+ +
fcgistarter
+ +
å¯åŠ¨ FastCGI 程åºã€‚
+ +
htcacheclean
+
清ç†ç£ç›˜ç¼“存。
+ +
htdigest
+ +
为摘è¦è®¤è¯åˆ›å»ºå’Œæ›´æ–°ç”¨æˆ·è®¤è¯æ–‡ä»¶ã€‚
+ +
htdbm
+ +
æ“作 DBM 密ç æ•°æ®åº“。
+ +
htpasswd
+ +
为基本认è¯åˆ›å»ºå’Œæ›´æ–°ç”¨æˆ·è®¤è¯æ–‡ä»¶ã€‚
+ +
httxt2dbm
+ +
为 RewriteMap 创建 dbm 文件。
+ +
logresolve
+ +
å°† Apache 日志文件中的 IP 地å€è§£æžåˆ°ä¸»æœºå称。
+ +
log_server_status
+ +
周期性的记录æœåŠ¡å™¨çŠ¶æ€ã€‚
+ +
rotatelogs
+ +
ä¸å…³é—­ Apache 而切æ¢æ—¥å¿—文件。
+ +
split-logfile
+ +
将多个虚拟主机的日志文件按照主机拆分。
+ +
suexec
+ +
执行外部程åºå‰åˆ‡æ¢ç”¨æˆ·ã€‚
+
+
+
+

å¯ç”¨è¯­è¨€:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/programs/log_server_status.html b/docs/manual/programs/log_server_status.html new file mode 100644 index 0000000..e2198a5 --- /dev/null +++ b/docs/manual/programs/log_server_status.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: log_server_status.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: log_server_status.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/log_server_status.html.en b/docs/manual/programs/log_server_status.html.en new file mode 100644 index 0000000..7241ab4 --- /dev/null +++ b/docs/manual/programs/log_server_status.html.en @@ -0,0 +1,86 @@ + + + + + +log_server_status - Log periodic status summaries - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

log_server_status - Log periodic status summaries

+
+

Available Languages:  en  | + fr 

+
+ +

This perl script is designed to be run at a frequent interval by + something like cron. It connects to the server and downloads the status + information. It reformats the information to a single line and logs it to + a file. Adjust the variables at the top of the script to specify the + location of the resulting logfile. mod_status will + need to be loaded and configured in order for this script to do its + job.

+
+
top
+
+

Usage

+ +

The script contains the following section.

+ +
my $wherelog = "/usr/local/apache2/logs/";  # Logs will be like "/usr/local/apache2/logs/19960312"
+my $server   = "localhost";        # Name of server, could be "www.foo.com"
+my $port     = "80";               # Port on server
+my $request = "/server-status/?auto";    # Request to send
+ + +

You'll need to ensure that these variables have the correct values, +and you'll need to have the /server-status handler +configured at the location specified, and the specified log location +needs to be writable by the user which will run the script.

+ +

Run the script periodically via cron to produce a daily log file, +which can then be used for statistical analysis.

+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/log_server_status.html.fr.utf8 b/docs/manual/programs/log_server_status.html.fr.utf8 new file mode 100644 index 0000000..1cc9888 --- /dev/null +++ b/docs/manual/programs/log_server_status.html.fr.utf8 @@ -0,0 +1,89 @@ + + + + + +log_server_status - Enregistrement périodique de l'état du serveur - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

log_server_status - Enregistrement périodique de l'état du serveur

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Ce script perl a été conçu pour être exécuté à intervalles + réguliers via un déclencheur de type cron. Il se connecte au serveur + pour en extraire des informations quant à son état. Il formate ces + informations sous la forme d'une seule ligne qu'il enregistre dans + un fichier. Vous devez éditer la valeur des variables en tête de + script afin de définir le chemin du fichier de sortie. Pour que ce + script puisse fonctionner, mod_status doit au + préalable être chargé et configuré.

+
+
top
+
+

Mode d'emploi

+ +

Le script contient les sections suivantes :

+ +
my $wherelog = "/usr/local/apache2/logs/";  # Le fichier de sortie sera
+					# du style "/usr/local/apache2/logs/19960312"
+my $server   = "localhost";        # Nom du serveur, par exemple "www.foo.com"
+my $port     = "80";               # Port d'écoute du serveur
+my $request = "/server-status/?auto";    # Requête à soumettre
+ + +

Ces variables doivent contenir des valeurs correctes, et le +gestionnaire /server-status doit être configuré pour le +répertoire considéré. En outre, l'utilisateur qui exécute le script doit +avoir les droits d'écriture sur le chemin du fichier de sortie.

+ +

L'exécution périodique du script via cron permet d'obtenir un jeu de +rapports d'état qui pourra être utilisé à des fins d'analyse +statistique.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/logresolve.html b/docs/manual/programs/logresolve.html new file mode 100644 index 0000000..0e0c24e --- /dev/null +++ b/docs/manual/programs/logresolve.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: logresolve.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: logresolve.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: logresolve.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: logresolve.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/logresolve.html.en b/docs/manual/programs/logresolve.html.en new file mode 100644 index 0000000..f55a7cf --- /dev/null +++ b/docs/manual/programs/logresolve.html.en @@ -0,0 +1,102 @@ + + + + + +logresolve - Resolve IP-addresses to hostnames in Apache + log files - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

logresolve - Resolve IP-addresses to hostnames in Apache + log files

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

logresolve is a post-processing program to + resolve IP-addresses in Apache's access logfiles. To minimize + impact on your nameserver, logresolve has its very own internal + hash-table cache. This means that each IP number will only be + looked up the first time it is found in the log file.

+ +

Takes an Apache log file on standard input. The IP addresses + must be the first thing on each line and must be separated from + the remainder of the line by a space.

+
+ +
top
+
+

Synopsis

+ +

logresolve [ -s + filename ] [ -c ] < + access_log > access_log.new

+
top
+
+

Options

+ +
+ +
-s filename
+ +
Specifies a filename to record statistics.
+ +
-c
+ +
This causes logresolve to apply some DNS checks: +after finding the hostname from the IP address, it looks up the IP +addresses for the hostname and checks that one of these matches the +original address.
+ +
+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/logresolve.html.fr.utf8 b/docs/manual/programs/logresolve.html.fr.utf8 new file mode 100644 index 0000000..e37704c --- /dev/null +++ b/docs/manual/programs/logresolve.html.fr.utf8 @@ -0,0 +1,106 @@ + + + + + +logresolve - Résoud les adresses IP en noms d'hôtes dans les + fichiers journaux d'Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

logresolve - Résoud les adresses IP en noms d'hôtes dans les + fichiers journaux d'Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

logresolve est un programme agissant après + traitement pour résoudre les adresses IP dans les journaux d'accès + d'Apache. Pour minimiser la charge de votre serveur de noms, + logresolve possède son propre cache interne sous forme d'une table + de hashage. Cela implique que chaque numéro IP ne fera l'objet + d'une requête DNS que la première fois où il est rencontré dans le + fichier journal.

+ +

Le programme reçoit le fichier journal sur son entrée standard. + Les adresses IP doivent se trouver en tête de chaque ligne et + doivent être séparées du reste de la ligne par un espace.

+
+ +
top
+
+

Syntaxe

+ +

logresolve [ -s + nom-fichier ] [ -c ] < + access_log > access_log.new

+
top
+
+

Options

+ +
+ +
-s nom-fichier
+ +
Spécifie le nom du fichier où seront enregistrées des +statistiques.
+ +
-c
+ +
Avec cette option, logresolve effectue certaines +vérifications DNS : après avoir trouvé le nom d'hôte correspondant à une +adresse IP, logresolve effectue une recherche DNS sur ce +nom d'hôte et vérifie si une des adresses IP trouvées correspond à +l'adresse originale.
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/logresolve.html.ko.euc-kr b/docs/manual/programs/logresolve.html.ko.euc-kr new file mode 100644 index 0000000..a70ff7f --- /dev/null +++ b/docs/manual/programs/logresolve.html.ko.euc-kr @@ -0,0 +1,101 @@ + + + + + +logresolve - ¾ÆÆÄÄ¡ ·Î±×ÆÄÀÏÀÇ IP-ÁÖ¼Ò¸¦ È£½ºÆ®¸íÀ¸·Î + º¯È¯ÇÑ´Ù - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

logresolve - ¾ÆÆÄÄ¡ ·Î±×ÆÄÀÏÀÇ IP-ÁÖ¼Ò¸¦ È£½ºÆ®¸íÀ¸·Î + º¯È¯ÇÑ´Ù

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

logresolve´Â ¾ÆÆÄÄ¡ Á¢±Ù·Î±×ÆÄÀÏ¿¡ ÀÖ´Â + IP-ÁÖ¼Ò¸¦ ã´Â ÈÄó¸® ÇÁ·Î±×·¥ÀÌ´Ù. ³×ÀÓ¼­¹öÀÇ ºÎÇϸ¦ + ÃÖ¼ÒÈ­ÇϱâÀ§ÇØ logresolve´Â ³»ºÎÀûÀ¸·Î Çؽ¬Å×À̺í ij½¬¸¦ + »ç¿ëÇÑ´Ù. Áï, IP ÁÖ¼Ò°¡ ·Î±×ÆÄÀÏ¿¡ óÀ½ ³ª¿Ã¶§¸¸ ã´Â´Ù.

+ +

Ç¥ÁØÀÔ·ÂÀ¸·Î ¾ÆÆÄÄ¡ ·Î±×ÆÄÀÏÀ» Àд´Ù. °¢ ÁÙÀÇ Ã¹¹ø° + Ç׸ñÀÌ IP ÁÖ¼ÒÀÌ°í, ³ª¸ÓÁö ºÎºÐ°ú °ø¹éÀ¸·Î ±¸ºÐµÇ¾ß ÇÑ´Ù.

+
+ +
top
+
+

°³¿ä

+ +

logresolve [ -s + filename ] [ -c ] < + access_log > access_log.new

+
top
+
+

¿É¼Ç

+ +
+ +
-s filename
+ +
Åë°è¸¦ ±â·ÏÇÒ ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù.
+ +
-c
+ +
logresolve°¡ ¸î°¡Áö DNS °Ë»ç¸¦ Çϵµ·Ï ÇÑ´Ù: +IP ÁּҷΠȣ½ºÆ®¸íÀ» ãÀºÈÄ ±× È£½ºÆ®¸íÀ¸·Î ´Ù½Ã IP ÁÖ¼ÒµéÀ» +ã¾Æ¼­ ±×Áß Çϳª°¡ ¿ø·¡ ÁÖ¼Ò¿Í ÀÏÄ¡ÇÏ´ÂÁö °Ë»çÇÑ´Ù.
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/logresolve.html.tr.utf8 b/docs/manual/programs/logresolve.html.tr.utf8 new file mode 100644 index 0000000..245f530 --- /dev/null +++ b/docs/manual/programs/logresolve.html.tr.utf8 @@ -0,0 +1,99 @@ + + + + + +logresolve - Apache günlük dosyalarındaki IP adreslerini konak + isimlerine dönüştürür - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

logresolve - Apache günlük dosyalarındaki IP adreslerini konak + isimlerine dönüştürür

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

logresolve, Apache'nin erişim + günlüklerindeki IP adreslerini çözümlemek için bir ardıl işlem + uygulamasıdır. İsim sunucunuza bindirdiği yükü en aza indirmek için + logresolve kendi arabelleğinde oluşturduğu + eşleme tablosunu kullanır.

+ +

Apache günlük dosyasını standart girdisinden okur. IP adresleri günlük + dosyası satırlarında ilk bileşen olmalı ve sonraki bileşenlerden bir + boşluk ile ayrılmalıdır.

+
+
Support Apache!

Ayrıca bakınız:

+
top
+
+

Kullanım

+ +

logresolve [ -s + dosyaismi ] [ -c ] < + günlük_dosyası > yeni_günlük_dosyası

+
top
+
+

Seçenekler

+ +
+
-s dosyaismi
+
İstatistiklerin kaydedileceği dosyanın ismi belirtilir.
+ +
-c
+
logresolve uygulamasının bazı DNS + sorguları yapmasına sebep olur: IP adresine karşılık olan konak ismini + bulduktan sonra özgün adresle karşılaştırmak için bu konak ismine karşılık + gelen IP adresini sorgular.
+ +
+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/other.html b/docs/manual/programs/other.html new file mode 100644 index 0000000..3a55484 --- /dev/null +++ b/docs/manual/programs/other.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: other.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: other.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: other.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: other.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/other.html.en b/docs/manual/programs/other.html.en new file mode 100644 index 0000000..9a68b7c --- /dev/null +++ b/docs/manual/programs/other.html.en @@ -0,0 +1,68 @@ + + + + + +Other Programs - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Other Programs

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

This page used to contain documentation for programs which now + have their own docs pages. Please update any links.

+ +

log_server_status

+

split-logfile

+
+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/other.html.fr.utf8 b/docs/manual/programs/other.html.fr.utf8 new file mode 100644 index 0000000..7fbe786 --- /dev/null +++ b/docs/manual/programs/other.html.fr.utf8 @@ -0,0 +1,70 @@ + + + + + +Autres programmes - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Autres programmes

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ + +

Cette page contenait la documentation de programmes qui possèdent + maintenant leurs propres pages de documentation. Merci de bien + vouloir mettre à jour vos liens.

+ +

log_server_status

+

split-logfile

+
+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/other.html.ko.euc-kr b/docs/manual/programs/other.html.ko.euc-kr new file mode 100644 index 0000000..355f0c3 --- /dev/null +++ b/docs/manual/programs/other.html.ko.euc-kr @@ -0,0 +1,89 @@ + + + + + +Other Programs - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Other Programs

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

´ÙÀ½Àº °£´ÜÇÏ¿© manpage°¡ ¾ø´Â, ¾ÆÆÄÄ¡ À¥¼­¹ö¿¡ Æ÷ÇÔµÈ + Áö¿ø ÇÁ·Î±×·¥µéÀÌ´Ù. ÀÚµ¿À¸·Î À̵éÀ» ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù. + ±¸¼º°úÁ¤ÈÄ support/ µð·ºÅ丮¿¡¼­ ÀÌ ÇÁ·Î±×·¥µéÀ» + ãÀ» ¼ö ÀÖ´Ù.

+
+ +
top
+
+

log_server_status

+

ÀÌ perl ½ºÅ©¸³Æ®´Â cron µî¿¡¼­ ÀÚÁÖ ½ÇÇàÇϵµ·Ï ¼³°èµÇ¾ú´Ù. + ÀÌ ½ºÅ©¸³Æ®¸¦ ¼­¹ö¿¡ ¿¬°áÇÏ¿© »óÅ Á¤º¸¸¦ ´Ù¿î·ÎµåÇÑ´Ù. + ±×·±ÈÄ ÀÌ Á¤º¸¸¦ ÇÑÁÙ·Î Á¤¸®ÇÏ¿© ÆÄÀÏ¿¡ ±â·ÏÇÑ´Ù. ·Î±×ÆÄÀÏÀÇ + À§Ä¡¸¦ ÁöÁ¤ÇÏ·Á¸é ½ºÅ©¸³Æ® ¾ÕºÎºÐÀÇ º¯¼ö¸¦ ¼öÁ¤ÇÑ´Ù.

+
top
+
+

split-logfile

+

ÀÌ perl ½ºÅ©¸³Æ®´Â °áÇÕµÈ À¥¼­¹ö Á¢±Ù·Î±×ÆÄÀÏÀÇ ³»¿ëÀ» + ¿©·¯ ÆÄÀÏ·Î ³ª´«´Ù. °¢ ÁÙÀÇ Ã¹¹ø° Ç׸ñÀÌ ("%v"·Î + Ãß°¡ÇÑ) °¡»óÈ£½ºÆ® Á¤º¸ÀÌ°í, ·Î±×ÆÄÀϸíÀº ÇöÀç µð·ºÅ丮¿¡ + °¡»óÈ£½ºÆ®¸í + ".log"¶ó°í °¡Á¤ÇÑ´Ù.

+ +

°áÇÕµÈ ·Î±×ÆÄÀÏÀ» Ç¥ÁØÀÔ·ÂÀ¸·Î Àд´Ù. ÀÐÀº ³»¿ëÀ» ±âÁ¸ÀÇ + ·Î±×ÆÄÀϵ鿡 Ãß°¡ÇÑ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/other.html.tr.utf8 b/docs/manual/programs/other.html.tr.utf8 new file mode 100644 index 0000000..62c09de --- /dev/null +++ b/docs/manual/programs/other.html.tr.utf8 @@ -0,0 +1,68 @@ + + + + + +Diğer Programlar - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

DiÄŸer Programlar

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

Bu sayfada daha önce belgelenen programlar şimdi kendi belgelerine + sahiptir. Bu sayfaya verilmiş bağlantıları lütfen güncelleyin.

+ +

log_server_status

+

split-logfile

+
+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/rotatelogs.html b/docs/manual/programs/rotatelogs.html new file mode 100644 index 0000000..0680a21 --- /dev/null +++ b/docs/manual/programs/rotatelogs.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: rotatelogs.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: rotatelogs.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: rotatelogs.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: rotatelogs.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/rotatelogs.html.en b/docs/manual/programs/rotatelogs.html.en new file mode 100644 index 0000000..e768ae8 --- /dev/null +++ b/docs/manual/programs/rotatelogs.html.en @@ -0,0 +1,321 @@ + + + + + +rotatelogs - Piped logging program to rotate Apache logs - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

rotatelogs - Piped logging program to rotate Apache logs

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

rotatelogs is a simple program for use in + conjunction with Apache's piped logfile feature. It supports + rotation based on a time interval or maximum size of the log.

+
+ +
top
+
+

Synopsis

+ +

rotatelogs + [ -l ] + [ -L linkname ] + [ -p program ] + [ -f ] + [ -D ] + [ -t ] + [ -v ] + [ -e ] + [ -c ] + [ -n number-of-files ] + logfile + rotationtime|filesize(B|K|M|G) + [ offset ]

+
top
+
+

Options

+ +
+ +
-l
+
Causes the use of local time rather than GMT as the base for the +interval or for strftime(3) formatting with size-based +rotation.
+ +
-L linkname
+

Causes a hard link to be made from the current logfile +to the specified link name. This can be used to watch +the log continuously across rotations using a command like +tail -F linkname.

+

If the linkname is not an absolute +path, it is relative to rotatelogs' working directory, +which is the ServerRoot when +rotatelogs is run by the server. +

+
+ +
-p program
+ +
If given, rotatelogs will execute the specified +program every time a new log file is opened. The filename of the +newly opened file is passed as the first argument to the program. If +executing after a rotation, the old log file is passed as the second +argument. rotatelogs does not wait for the specified +program to terminate before continuing to operate, and will not log +any error code returned on termination. The spawned program uses the +same stdin, stdout, and stderr as rotatelogs itself, and also inherits +the environment.
+ +
-f
+
Causes the logfile to be opened immediately, as soon as +rotatelogs starts, instead of waiting for the +first logfile entry to be read (for non-busy sites, there may be +a substantial delay between when the server is started +and when the first request is handled, meaning that the +associated logfile does not "exist" until then, which +causes problems from some automated logging tools)
+ +
-D
+
Creates the parent directories of the path that the log file will be +placed in if they do not already exist. This allows strftime(3) +formatting to be used in the path and not just the filename.
+ +
-t
+
Causes the logfile to be truncated instead of rotated. This is +useful when a log is processed in real time by a command like tail, +and there is no need for archived data. No suffix will be added to +the filename, however format strings containing '%' characters +will be respected. +
+ +
-T
+
Causes all but the initial logfile to be truncated when opened. +This is useful when the format string contains something that will +loop around, such as the day of the month. Available in 2.4.56 and later. +
+ + +
-v
+
Produce verbose output on STDERR. The output contains +the result of the configuration parsing, and all file open and +close actions.
+ +
-e
+
Echo logs through to stdout. Useful when logs need to be further +processed in real time by a further tool in the chain.
+ +
-c
+
Create log file for each interval, even if empty.
+ +
-n number-of-files
+
Use a circular list of filenames without timestamps. This option overwrites +log files at startup and during rotation. With -n 3, the series of log +files opened would be "logfile", "logfile.1", "logfile.2", then overwriting +"logfile". +
+When this program first opens "logfile", the file will only be truncated if -t is also provided. Every subsequent rotation will +always begin with truncation of the target file. For size based rotation without -t and existing log files in place, +this option may result in unintuitive behavior such as initial log entries being sent to "logfile.1", and entries in "logfile.1" not being preserved +even if later "logfile.n" have not yet been used. +
+Available in 2.4.5 and later.
+ +
logfile
+ +

The path plus basename of the logfile. If logfile +includes any '%' characters, it is treated as a format string for +strftime(3). Otherwise, the suffix +.nnnnnnnnnn is automatically added and is the time in +seconds (unless the -t option is used). Both formats compute the +start time from the beginning of the current period. For example, +if a rotation time of 86400 is specified, the hour, minute, and +second fields created from the strftime(3) format will +all be zero, referring to the beginning of the current 24-hour +period (midnight).

+

When using strftime(3) filename formatting, +be sure the log file format has enough granularity to produce +a different file name each time the logs are rotated. Otherwise +rotation will overwrite the same file instead of starting a new +one. For example, if logfile was +/var/log/errorlog.%Y-%m-%d with log rotation at 5 +megabytes, but 5 megabytes was reached twice in the same day, the +same log file name would be produced and log rotation would keep +writing to the same file.

+

If the logfile is not an absolute +path, it is relative to rotatelogs' working directory, +which is the ServerRoot when +rotatelogs is run by the server. +

+
+ +
rotationtime
+ +
The time between log file rotations in seconds. The rotation +occurs at the beginning of this interval. For example, if the +rotation time is 3600, the log file will be rotated at the beginning +of every hour; if the rotation time is 86400, the log file will be +rotated every night at midnight. (If no data is logged during an +interval, no file will be created.)
+ +
filesize(B|K|M|G)
+ +
The maximum file size in followed by exactly one of the letters +B (Bytes), K (KBytes), M (MBytes) +or G (GBytes). +

+When time and size are specified, the size must be given after the time. +Rotation will occur whenever either time or size limits are reached. +

+
+ +
offset
+ +
The number of minutes offset from UTC. If omitted, zero is +assumed and UTC is used. For example, to use local time in the zone +UTC -5 hours, specify a value of -300 for this argument. +In most cases, -l should be used instead of specifying +an offset.
+ +
+
top
+
+

Examples

+ +
CustomLog "|bin/rotatelogs /var/log/logfile 86400" common
+
+ +

This creates the files /var/log/logfile.nnnn where nnnn is + the system time at which the log nominally starts (this time + will always be a multiple of the rotation time, so you can + synchronize cron scripts with it). At the end of each rotation + time (here after 24 hours) a new log is started.

+ +
CustomLog "|bin/rotatelogs -l /var/log/logfile.%Y.%m.%d 86400" common
+
+ +

This creates the files /var/log/logfile.yyyy.mm.dd where + yyyy is the year, mm is the month, and dd is the day of the month. + Logging will switch to a new file every day at midnight, local time.

+ +
CustomLog "|bin/rotatelogs /var/log/logfile 5M" common
+
+ +

This configuration will rotate the logfile whenever it reaches + a size of 5 megabytes.

+ +
ErrorLog "|bin/rotatelogs /var/log/errorlog.%Y-%m-%d-%H_%M_%S 5M"
+
+

This configuration will rotate the error logfile whenever it + reaches a size of 5 megabytes, and the suffix to the logfile name + will be created of the form + errorlog.YYYY-mm-dd-HH_MM_SS.

+ +
CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common
+
+ +

This creates the file /var/log/logfile, truncating the file at + startup and then truncating the file once per day. It is expected + in this scenario that a separate process (such as tail) would + process the file in real time.

+ +
CustomLog "|bin/rotatelogs -T /var/log/logfile.%d 86400" common
+
+ +

If the server is started (or restarted) on the first of the month, this +appends to /var/log/logfile.01. When a log entry is written on the +second of the month, /var/log/logfile.02 is truncated and new entries +will be added to the top. This example keeps approximately 1 months worth of +logs without external maintenance.

+ +
top
+
+

Portability

+ +

The following logfile format string substitutions should be +supported by all strftime(3) implementations, see +the strftime(3) man page for library-specific +extensions.

+ + + + + + + + + + + + + + + + + + + + + + + +
%Afull weekday name (localized)
%a3-character weekday name (localized)
%Bfull month name (localized)
%b3-character month name (localized)
%cdate and time (localized)
%d2-digit day of month
%H2-digit hour (24 hour clock)
%I2-digit hour (12 hour clock)
%j3-digit day of year
%M2-digit minute
%m2-digit month
%pam/pm of 12 hour clock (localized)
%S2-digit second
%U2-digit week of year +(Sunday first day of week)
%W2-digit week of year +(Monday first day of week)
%w1-digit weekday +(Sunday first day of week)
%Xtime (localized)
%xdate (localized)
%Y4-digit year
%y2-digit year
%Ztime zone name
%%literal `%'
+ +
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/rotatelogs.html.fr.utf8 b/docs/manual/programs/rotatelogs.html.fr.utf8 new file mode 100644 index 0000000..c5f8ee1 --- /dev/null +++ b/docs/manual/programs/rotatelogs.html.fr.utf8 @@ -0,0 +1,325 @@ + + + + + +rotatelogs - Rotation des journaux d'Apache par redirection de + ces derniers dans un "pipe" - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

rotatelogs - Rotation des journaux d'Apache par redirection de + ces derniers dans un "pipe"

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
+ +

rotatelogs est un programme simple à utiliser en + conjonction avec la fonctionnalité d'Apache de redirection dans un + "pipe" des fichiers journaux. Il supporte une rotation basée sur un + intervalle de temps ou une taille maximale du journal.

+
+ +
top
+
+

Syntaxe

+ +

rotatelogs + [ -l ] + [ -L nom-lien ] + [ -p programme ] + [ -f ] + [ -D ] + [ -t ] + [ -v ] + [ -e ] + [ -c ] + [ -n nombre-de-fichiers ] + fichier-journal + heure-de-rotation|taille-fichier(B|K|M|G) + [ décalage ]

+
top
+
+

Options

+ +
+ +
-l
+
Utilise le temps local plutôt que GMT comme base pour l'intervalle +de temps ou pour le formatage de strftime(3) avec une +rotation basée sur la taille.
+ +
-L nom-lien
+

Etablit un lien physique entre le fichier journal courant et le lien +spécifié. Cette option permet de consulter le journal de manière +continue malgré les rotations via une commande du style tail -F +nom-lien.

+

Si le nom du lien spécifié n'est pas un chemin absolu, il est relatif au +répertoire de travail de rotatelogs qui correspond à la valeur de +la directive ServerRoot lorsque la commande +rotatelogs est exécutée par le serveur. +

+
+ +
-p programme
+
Avec cette option, rotatelogs exécutera le programme +programme chaque fois qu'un nouveau fichier journal sera +ouvert. Le nom du fichier nouvellement ouvert est passé comme premier +argument au programme. Si l'exécution se produit après une rotation, +l'ancien nom du fichier journal est passé au programme comme second +argument. rotatelogs +n'attend pas la fin du programme pour continuer son +exécution, et cessera tout enregistrement de codes d'erreur lorsqu'il +aura terminé son processus. Le programme utilise les mêmes +canaux stdin, stdout, et stderr que rotatelogs, et hérite de son +environnement.
+ +
-f
+
Ouvre le fichier journal immédiatement, dès que +rotatelogs démarre, au lieu d'attendre la lecture de la +première entrée de journal (pour les sites peu chargés, il peut +s'écouler un temps substantiel entre le démarrage du serveur et le +traitement de la première requête, temps pendant lequel le fichier +journal associé n'"existe" pas, ce qui peut causer des problèmes à +certains utilitaires de journalisation automatiques).
+ +
-D
+
Crée les répertoires parents du chemin du fichier journal s'ils +n'existent pas déjà, ce qui permet d'utiliser le format +strftime(3) dans les chemins au lieu du nom de fichier seul.
+ +
-t
+
Provoque une troncature du fichier journal au lieu d'une rotation. +Cela peut s'avérer utile lorsqu'un journal est élaboré en temps réel par +une commande telle que tail, l'archivage des données n'étant ici pas +nécessaire. Si aucun suffixe n'est ajouté au nom de fichier, les +chaînes de format contenant des caractères '%' sont cependant +respectées. +
+ +
-v
+
Affiche une sortie verbeuse sur STDERR. La sortie contient le +résultat de l'interprétation de la configuration, ainsi que toutes les +opérations d'ouverture et de fermeture de fichiers.
+ +
-c
+
Crée un fichier journal pour chaque intervalle, même s'il est vide.
+ +
-e
+
Envoie les messages de journalisation vers stdout. Ceci s'avère +utile lorsque les journaux doivent être traités par un autre programme.
+ +
-n nombre-de-fichiers
+
Utilise une liste circulaire de noms de fichiers sans repères de temps. +Cette option permet d'écraser des fichiers journaux au démarrage et au cours de +la rotation. Avec -n 3, la série de fichiers conservés sera "logfile", +"logfile.1", "logfile.2" avec écrasement de "logfile". +
+Lorsque ce programme ouvre « logfile Â», ce dernier sera seulement tronqué si +l'option -t est aussi spécifiée. Toute rotation subséquente sera +précédée d'une troncature du fichier cible. Dans le cas d'une rotation basée sur +la taille sans l'option -t et si des fichiers journaux sont déjà en +place, cette option peut provoquer des résultats inattendus comme l'envoi des +entrées de journal initiales vers « logfile.1 Â», les entrées de « logfile.1 Â» +n'étant pas conservées, même si des fichiers « logfile.n Â» n'ont pas encore été +utilisés. +
+Disponible à partir de la version 2.4.5 du serveur HTTP Apache.
+ +
fichier-journal
+

Le chemin et le nom de base du fichier journal. Si +fichier-journal contient des caractères '%', il est considéré +comme une chaîne de formatage pour strftime(3). Dans le cas +contraire, le suffixe .nnnnnnnnnn est automatiquement ajouté +et correspond au temps en secondes (sauf si l'option -t est spécifiée). +Les deux formats calculent le temps +de démarrage depuis le début de la période courante. Par exemple, si un +temps de rotation de 86400 est spécifié, les champs heure, minute et +seconde créés à partir du format strftime(3) auront tous +pour valeur 0, en référence au début de la période de 24 heures courante +(minuit).

+

Si vous utilisez le formatage de noms de fichiers +strftime(3), assurez-vous que le format du fichier journal +possède une granularité suffisamment importante pour générer un nom de +fichier différent à chaque rotation des journaux. Si ce n'est pas le +cas, la rotation va écraser le fichier existant au lieu d'en générer un +nouveau. Par exemple, si fichier-journal était +/var/log/errorlog.%Y-%m-%d avec une rotation à 5 +mégaoctets, et si la limite de 5 mégaoctets a été atteinte deux fois +dans la même journée, le même nom de fichier va être généré, et la +rotation va écraser le fichier existant.

+

Si le nom du fichier journal n'est pas un chemin absolu, il est relatif au +répertoire de travail de rotatelogs qui correspond à la valeur de +la directive ServerRoot lorsque la commande +rotatelogs est exécutée par le serveur. +

+
+ +
temps-rotation
+ +
Le temps entre deux rotations des fichiers journaux en secondes. La +rotation intervient au début de cet intervalle. Par exemple, si le temps +de rotation est de 3600, la rotation des fichiers journaux s'effectuera +au début de chaque heure ; si le temps de rotation est de 86400, la +rotation des fichiers journaux s'effectuera chaque nuit à minuit. (Si +aucune donnée n'est enregistrée au cours d'un intervalle, aucun fichier +ne sera créé).
+ +
taille-fichier(B|K|M|G)
+ +
La taille maximale du fichier suivie par une des lettres +B (Octets), K (KOctets), M (MOctets) +ou G (GOctets). +

+Lorsque temps et taille sont spécifiés, la taille doit l'être après le +temps. La rotation interviendra alors aussitôt que l'une des deux limites +(temps ou taille) sera atteinte. +

+
+ +
décalage
+ +
Le décalage en minutes par rapport au temps UTC. Par défaut, le +décalage est considéré comme nul et c'est le temps UTC qui est utilisé. +Par exemple, pour utiliser le temps local de la zone UTC -5 heures, +spécifiez une valeur de -300 pour cette option. Dans la +plupart des cas, il vaut mieux utiliser l'option -l que +spécifier un décalage.
+ +
+
top
+
+

Exemples

+ +
CustomLog "|bin/rotatelogs /var/log/fichier-journal 86400" common
+
+ +

Cette directive crée les fichiers /var/log/fichier-journal.nnnn + où nnnn correspond au temps système auquel la journalisation + démarre effectivement (ce temps sera toujours un multiple du temps + de rotation, si bien que vous pouvez synchroniser les scripts cron + avec lui). A la fin de chaque temps de rotation (ici après 24 + heures), une nouvelle journalisation démarre.

+ +
CustomLog "|bin/rotatelogs -l /var/log/fichier-journal.%Y.%m.%d 86400" common
+
+ +

Cette directive crée les fichiers + /var/log/fichier-journal.yyyy.mm.dd où yyyy correspond à l'année, + mm au mois et dd au jour du mois. La journalisation basculera vers + un nouveau fichier chaque jour à minuit, temps local.

+ +
CustomLog "|bin/rotatelogs /var/log/fichier-journal 5M" common
+
+ +

Cette directive va effectuer une rotation du fichier journal + chaque fois que la taille de ce dernier atteindra 5 MOctets.

+ +
ErrorLog "|bin/rotatelogs /var/log/journal-erreurs.%Y-%m-%d-%H_%M_%S 5M"
+
+

Cette directive va effectuer une rotation du fichier journal des + erreurs chaque fois que la taille de ce dernier atteindra 5 + MOctets, et le nom du fichier journal se présentera sous + la forme journal-erreurs.YYYY-mm-dd-HH_MM_SS.

+ +
CustomLog "|bin/rotatelogs -t /var/log/journal 86400" common
+
+ +

Cet exemple crée le fichier /var/log/journal en le + tronquant au démarrage, puis une fois par jour. Ce scénario implique qu'un + processus séparé (tel que tail) traite le fichier en temps réel.

+ +
top
+
+

Portabilité

+ +

Les substitutions des chaînes de format du fichier journal suivantes +doivent être supportées par toutes les implémentations de +strftime(3) ; voir la page de manuel de +strftime(3) pour les extensions spécifiques à une +bibliothèque.

+ + + + + + + + + + + + + + + + + + + + + + + +
%Anom du jour de la semaine en entier +(localisé)
%anom du jour de la semaine sur 3 +caractères (localisé)
%Bnom du mois en entier (localisé)
%bnom du mois sur 3 caractères (localisé)
%cdate et heure (localisé)
%djour du mois sur 2 chiffres
%Hheure sur 2 chiffres (de 0 à 24h)
%Iheure sur 2 chiffres (de 0 à 12h)
%jjour de l'année sur 3 chiffres
%Mminutes sur 2 chiffres
%mmois sur 2 chiffres
%psuffixe am/pm pour l'heure de 0 à 12h +(localisé)
%Ssecondes sur 2 chiffres
%Usemaine de l'année sur 2 chiffres +(Dimanche est le premier jour de la semaine)
%W semaine de l'année sur 2 chiffres +(Lundi est le premier jour de la semaine)
%wjour de la semaine sur 1 chiffre +(Dimanche est le premier jour de la semaine)
%Xheure (localisée)
%xdate (localisée)
%Yannée sur 4 chiffres
%yannée sur 2 chiffres
%Znom de la zone de temps
%%caractère littéral `%'
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/rotatelogs.html.ko.euc-kr b/docs/manual/programs/rotatelogs.html.ko.euc-kr new file mode 100644 index 0000000..5229595 --- /dev/null +++ b/docs/manual/programs/rotatelogs.html.ko.euc-kr @@ -0,0 +1,175 @@ + + + + + +rotatelogs - ¾ÆÆÄÄ¡ ·Î±×¸¦ ¼øȯÇϱâÀ§ÇØ ÆÄÀÌÇÁ·Î ¿¬°áÇÒ + ·Î±× ÇÁ·Î±×·¥ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

rotatelogs - ¾ÆÆÄÄ¡ ·Î±×¸¦ ¼øȯÇϱâÀ§ÇØ ÆÄÀÌÇÁ·Î ¿¬°áÇÒ + ·Î±× ÇÁ·Î±×·¥

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

rotatelogs´Â ¾ÆÆÄÄ¡ÀÇ ÆÄÀÌÇÁ ·Î±×ÆÄÀÏ ±â´ÉÀ» + À§ÇÑ °£´ÜÇÑ ÇÁ·Î±×·¥ÀÌ´Ù. ¿¹¸¦ µé¾î:

+ +

+ CustomLog "|bin/rotatelogs /var/logs/logfile 86400" common +

+ +

±×·¯¸é /var/logs/logfile.nnnn ÆÄÀÏÀ» ¸¸µç´Ù. nnnnÀº + ·Î±×¸¦ ½ÃÀÛÇÑ ½Ã½ºÅ۽ð£ÀÌ´Ù (ÀÌ ½Ã°£Àº Ç×»ó ¼øȯ±â°£ÀÇ + ¹è¼öÀÌ´Ù. ±×·¡¼­ cron ½ºÅ©¸³Æ®·Î ó¸®Çϱ⠽±´Ù). ¼øȯ±â°£ + (¿©±â¼­´Â 24 ½Ã°£) ¸¶´Ù »õ·Î¿î ·Î±×¸¦ ½ÃÀÛÇÑ´Ù.

+ +

+ CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common +

+ +

ÀÌ ¼³Á¤Àº ·Î±×ÆÄÀÏ Å©±â°¡ 5 ¸Þ°¡¹ÙÀÌÆ®°¡ µÉ¶§¸¶´Ù + ¼øȯÇÑ´Ù.

+ +

+ ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M" +

+

ÀÌ ¼³Á¤Àº ¿À·ù·Î±× ÆÄÀÏ Å©±â°¡ 5 ¸Þ°¡¹ÙÀÌÆ®°¡ µÉ¶§¸¶´Ù + errorlog.YYYY-mm-dd-HH_MM_SS¿Í °°Àº ÆÄÀÏÀ» + ¸¸µé¾î¼­ ¿À·ù·Î±× ÆÄÀÏÀ» ¼øȯÇÑ´Ù.

+ +
+ +
top
+
+

°³¿ä

+ +

rotatelogs + [ -l ] + logfile + [ rotationtime [ offset ]] | + [ filesizeM ]

+
top
+
+

¿É¼Ç

+ +
+ +
-l
+
¼øȯÁÖ±â·Î GMT ´ë½Å Áö¿ª½Ã°£À» »ç¿ëÇÑ´Ù. (BST³ª DST¿Í °°ÀÌ) +GMT ½Ã°£Â÷°¡ º¯Çϴ ȯ°æ¿¡¼­ -lÀ» »ç¿ëÇÏ¸é ¿¹±âÄ¡ +¾ÊÀº °á°ú°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù!
+ +
logfile
+ +
·Î±×ÆÄÀÏÀÇ °æ·Î¿Í À̸§. logfile¿¡ '%' ¹®ÀÚ°¡ +ÀÖ´Ù¸é strftime(3)ÀÇ Çü½Ä¹®ÀÚ¿­°ú °°ÀÌ Ã³¸®ÇÑ´Ù. +'%' ¹®ÀÚ°¡ ¾ø´Ù¸é µÚ¿¡ ÃÊ´ÜÀ§ ½Ã°£ .nnnnnnnnnnÀ» +ÀÚµ¿À¸·Î ºÙÀδÙ. µÎ Çü½Ä ¸ðµÎ ÇöÀç ±â°£ºÎÅÍ ½ÃÀ۽ð£À» °è»êÇÑ´Ù.
+ +
rotationtime
+ +
·Î±×ÆÄÀÏÀ» ¼øȯÇÒ ÃÊ´ÜÀ§ ½Ã°£.
+ +
offset
+ +
UTC¿¡¼­ ºÐ´ÜÀ§ ½Ã°£Â÷ÀÌ. »ý·«Çϸé 0À¸·Î °¡Á¤ÇÏ¿© UTC¸¦ +»ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, UTC -5 ½Ã°£´ëÀÇ Áö¿ª½Ã°£À» »ç¿ëÇÑ´Ù¸é +¾Æ±Ô¸ÕÆ®·Î -300À» ÁöÁ¤ÇÑ´Ù.
+ +
filesizeM
+ +
½Ã°£ÀÌ ¾Æ´Ñ Å©±â¸¦ ÁöÁ¤ÇÒ¶§ ¸Þ°¡¹ÙÀÌÆ®´ÜÀ§ ÃÖ´ë ÆÄÀÏÅ©±â +µÚ¿¡ MÀ» ºÙÀδÙ. rotationtime°ú offset ´ë½Å ÀÌ +ÆĶó¹ÌÅ͸¦ »ç¿ëÇÑ´Ù.
+
+
top
+
+

Æ÷Æð¡´É¼º

+ +

´ÙÀ½ ·Î±×ÆÄÀÏ Çü½Ä¹®ÀÚ¿­ Ç¥ÇöÀº ¸ðµç strftime(3) +±¸ÇöÀÌ Áö¿øÇØ¾ß ÇÑ´Ù. ¶óÀ̺귯¸® ƯÀ¯ÀÇ È®ÀåÀº +strftime(3) manpage¸¦ Âü°íÇ϶ó.

+ + + + + + + + + + + + + + + + + + + + + + + +
%A(Áö¿ªÈ­µÈ) ¿ÏÀüÇÑ ¿äÀÏ À̸§
%a(Áö¿ªÈ­µÈ) 3-¹®ÀÚ ¿äÀÏ À̸§
%B(Áö¿ªÈ­µÈ) ¿ÏÀüÇÑ ´Þ À̸§
%b(Áö¿ªÈ­µÈ) 3-¹®ÀÚ ´Þ À̸§
%c(Áö¿ªÈ­µÈ) ³¯Â¥¿Í ½Ã°£
%d2-ÀÚ¸® ÀÏ
%H2-ÀÚ¸® ½Ã°£ (24 ½Ã°£ ½Ã°è)
%I2-ÀÚ¸® ½Ã°£ (12 ½Ã°£ ½Ã°è)
%j3-ÀÚ¸® ³¯Â¥¼ö
%M2-ÀÚ¸® ºÐ
%m2-ÀÚ¸® ´Þ
%p(Áö¿ªÈ­µÈ) 12 ½Ã°£ ½Ã°èÀÇ am/pm
%S2-ÀÚ¸® ÃÊ
%U2-ÀÚ¸® ÁÖÀϼö (ÁÖÀÇ Ã¹¹øÀç ³¯Àº +ÀÏ¿äÀÏ)
%W2-ÀÚ¸® ÁÖÀϼö (ÁÖÀÇ Ã¹¹øÀç ³¯Àº +¿ù¿äÀÏ)
%w1-ÀÚ¸® ¿äÀϼö (ÁÖÀÇ Ã¹¹ø° ³¯Àº +ÀÏ¿äÀÏ)
%X(Áö¿ªÈ­µÈ) ½Ã°£
%x(Áö¿ªÈ­µÈ) ³¯Â¥
%Y4-ÀÚ¸® ¿¬µµ
%y2-ÀÚ¸® ¿¬µµ
%Z½Ã°£´ë À̸§
%%¹®ÀÚ±×´ë·Î `%'
+ +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/rotatelogs.html.tr.utf8 b/docs/manual/programs/rotatelogs.html.tr.utf8 new file mode 100644 index 0000000..dd0156c --- /dev/null +++ b/docs/manual/programs/rotatelogs.html.tr.utf8 @@ -0,0 +1,302 @@ + + + + + +rotatelogs - Apache günlüklerini döndürmek için borulu günlük kayıt + programı - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

rotatelogs - Apache günlüklerini döndürmek için borulu günlük kayıt + programı

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+
Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.
+ +

rotatelogs, Apache'nin borulu günlük + dosyaları özelliği ile birlikte kullanmak için tasarlanmış basit bir + programdır. Günlük dosyasının azami boyutuna göre veya belli aralıklarla + günlük dosyalarını döndürür.

+
+ +
top
+
+

Kullanım

+ +

rotatelogs + [ -l ] + [ -L isim ] + [ -p program ] + [ -f ] + [ -D ] + [ -t ] + [ -v ] + [ -e ] + [ -c ] + [ -n dosya_sayısı ] + dosyaismi + süre|boyut(B|K|M|G) + [ saat_farkı ]

+
top
+
+

Seçenekler

+ +
+
-l
+
GMT yerine yerel zamanın kullanılmasını sağlar.
+ +
-L bagismi
+

Belirtilen bağ dosyası ismine geçerli günlük dosyasından kalıcı bir bağ + oluşturulur. tail -F bagismi gibi bir komut kullanılarak + günlüğün sürekli izlenmesi için kullanılabilir.

+

Bağ ismi mutlak bir yol içermiyorsa, rotatelogs'un çalışma + dizinine, rotatelogs sunucu tarafından çalıştırılıyorsa + ServerRoot dizinine görelidir.

+
+ +
-p program
+ +
Belirtildiği takdirde, rotatelogs yeni + bir günlük dosyasının her açılışında belirtilen programı çalıştırır. Yeni + açılan dosyanın ismi programa ilk argüman olarak aktarılır. Bu işlem bir + döndürme sonrası yapılırsa eski günlük dosyası ikinci argüman olarak + aktarılır. rotatelogs işlemini sürdürmek için + belirtilen programın sonlanmasını beklemez, dolayısıyla sonlanma soucunda + döndürülen hata kodunu günlüğe kaydetmez. Çalıştırılan program + rotatelogs ile aynı stdin, stdout ve stderr'i + kullanır ve ortamı da miras alır.
+ +
-f
+
İlk günlük giridisinin okunmasını beklemeden + rotatelogs başlar başlamaz günlük + dosyasının açılmasını sağlar. Çok meşgul sitelerde, sunucu başlatılıp ilk + istek sunuluncaya kadar geçen zamanda günlük dosyasının yokluğu + özdevinimli işlemler yapan bazı günlükleme araçlarında sorunlara yol + açabilir. Bu seçenek bu gibi durumlarda yararlıdır.
+ +
-D
+
Günlük dosyasının yerleştirileceği dizini (eğer yoksa) üst dizinleri ile + birlikte yapılandırır. Bu, strftime(3) işlevinin sırf dosya için + değil yol için de kullanılmasını sağlar.
+ +
-t
+
Günlük dosyasının döndürülmek yerine tepeden kırpılmasına sebep olur. + Günlüğün tail gibi bir araç tarafından gerçek + zamanda işlendiği ve veriyi saklamanın gerekmediği durumda kullanışlıdır. + Dosya ismine bir sonek eklenmez, ancak biçem dizgesi '%' karakteri + içeriyorsa buna uyulur.
+ +
-v
+
Standart hataya verilen çıktı daha ayrıntılı olur. Çıktı, + yapılandırma çözümlemesinin sonuçlarını ve tüm dosya açma/kapama + işlemlerini içerir.
+ +
-e
+
Günlüğü standart çıktıya basar. Günlüğün zincirdeki ilgili araç + tarafından gerçek zamanda işlenmesi gerektiğinde kullanışlıdır.
+ +
-c
+
Boş olsa bile her döngüde günlük dosyası oluşturur.
+ +
-n dosya_sayısı
+
Zaman damgalarına bakılmaksızın bir dosya serisi açılır. Bu seçenek + döndürme ve başlatma sırasında günlük dosyalarının üzerine yazar. + Örneğin -n3 belirtilirse dosyaismi, dosyaismi.1, + dosyaismi.2 serisi açılır ve dosyaismi'nin üzerine + yazılır.
+ Bu uygulama dosyaismi dosyasını ilk açtığında, dosya yalnızca + -t seçeneği de belirtilmişse kırpılır. Sonraki her döngü, + daima hedef dosya kırpılarak başlar. -t ve mevcut günlük + dosyaları olmadan boyuta dayalı döndürme için bu seçenek, ilk günlük + girişlerinin dosyaismi.1'e gönderilmesine ve + dosyaismi.n henüz kullanılmamış olsa bile + dosyaismi.1'deki girdilerin korunmaması gibi sezgisel + olmayan davranışlara neden olabilir.
+ 2.4.5 ve sonraki sürümler içindir.
+ +
dosyaismi
+

Günlük dosyasının ismi yoluyla birlikte belirtilir. + dosyaismi '%' karakterleri içeriyorsa bunlar + strftime(3) biçem belirteçleri olarak ele alınır. Aksi + takdirde, özdevinimli olarak .nnnnnnnnnn uzantısı üretilir. + (-t seçeneği kullanılmadıkça) Uzantı saniye + cinsindendir ve her iki durumda da bu değer, mevcut döngü + diliminin başlangıcına göre hesaplanır. Örneğin, döndürmenin 86400 + saniyede bir yapılacağı belirtilmişse, strftime(3) biçeminde + oluşturulan saat, dakika ve saniye alanları, 24 saatlik sürenin + başlangıcını (geceyarısı) göstermek üzere sıfırlarla doldurulur.

+ +

strftime(3) dosyaismi biçemlemesi kullanılırken, günlük + dosyası biçeminin günlük dosyası döndürülürken her zaman farklı bir dosya + ismi üretecek yeterlilikte parçacıklı yapıya sahip olduğundan emin + olmalısınız. Aks takdirde döndürme işlemi yeni bir dosya başlatmak yerine + hep aynı dosyanın üzerine yazar. Örneğin, logfile için + /var/log/errorlog.%Y-%m-%d belirtilmişse 5 mega baytta bir + yeni bir günlük dosyasına başlanacaktır. Fakat 5 megabayta gün içinde iki + kez ulaşılırsa aynı günlük dosyası üretilir ve günlük hep aynı dosyanın + üzerine yazılır.

+

Günlük dosyası mutlak bir yol içermiyorsa, rotatelogs'un + çalışma dizinine, rotatelogs sunucu tarafından + çalıştırılıyorsa ServerRoot + dizinine görelidir.

+
+ +
süre
+
Günlük dosyasının yenisinin kaç saniyede bir açılacağı belirtilir. + Örneğin, bu süre 3600 saniye ise günlük dosyası her saat başında + yenilenir; 86400 saniye ise her geceyarısı yenilenir. (Bu süre zarfında + günlüğe kaydedilecek bir olay gerçekleşmemişse dosya oluşturulmaz.)
+ +
boyut(B|K|M|G)
+
Boyuta göre döndürme için azami dosya boyutu. Belirtilenin bir süre + değil de bir boyut değeri olarak ele alınması için değerin sonuna şu + karakterlerden biri eklenmelidir: B (Bayt), K + (kilobayt), M (megabayt), G (gigabayt). + +

Süre ve boyut birlikte belirtilmişse boyut süreden sonra + belirtilmelidir. Dosya yenilemesi, bunlardan hangisi daha önce aşılırsa o + zaman gerçekleşir.

+ +
saat_farkı
+
Koordinatlı evrensel zamana göre "dakika" farkı. Belirtilmezse, sıfır + öntanımlıdır. Örneğin, -5 saatlik bir zaman diliminde bulunuyorsanız bu + değer -300 olmalıdır. Çoğu durumda, bunun yerine + -l seçeneğini kullanmak gerekir.
+
+ +
top
+
+

Örnekler

+ +

+ CustomLog "|bin/rotatelogs /var/log/logfile 86400" common +

+ +

nnnn, günlük kaydının başladığı sistem zamanı olmak üzere + /var/log/logfile.nnnn dosyası oluşturulur. Bu zaman, daima döngü + süresinin katları olacağından bunu cron betiklerinizi eşzamanlamakta + kullanabilirsiniz. Her döngü süresinin sonunda (burada 24 saat sonra) + yeni bir günlük dosyası açılır.

+ +

+ CustomLog "|bin/rotatelogs -l /var/log/logfile.%Y.%m.%d 86400" common +

+ +

yyyy, yıl; mm, ay; dd, ayın gününü belirtmek üzere + /var/log/logfile.yyyy.mm.dd dosyası oluşturulur. Her gün yerel zamanla + geceyarısı yeni bir günlük dosyasına geçilecektir.

+ +

+ CustomLog "|bin/rotatelogs /var/log/logfile 5M" common +

+ +

Günlük dosyası 5 megabaytlık olunca yenisinin oluşturulmasını sağlar. +

+ +

+ ErrorLog "|bin/rotatelogs /var/log/errorlog.%Y-%m-%d-%H_%M_%S 5M" +

+

Hata günlüğünün 5 megabaytta bir + errorlog.YYYY-mm-dd-HH_MM_SS biçemli bir isimle + oluşturulmasını sağlar.

+ +

+ CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common +

+ +

/var/log/logfile dosyasını oluşturur, sunucu başlatılırken ve günde + bir kere dosyanın tepesi kırpılır. Bu senaryoda ayrı bir sürecin (tail + gibi) dosyayı gerçek zamanlı işleyeceği umulur.

+ +
top
+
+

Taşınabilirlik

+ +

Aşağıdaki günlük dosyası biçem belirteçlerinin tüm + strftime(3) gerçeklenimlerince desteklenmesi gerekir. + Kullandığınız kütüphaneye özgü belirteçler için sisteminizdeki + strftime(3) kılavuz sayfasına bakınız.

+ + + + + + + + + + + + + + + + + + + + + + + +
%Atam gün ismi (yerelleştirilmiş)
%a3 harflik gün ismi +(yerelleştirilmiş)
%Btam ay ismi (yerelleÅŸtirilmiÅŸ)
%b3 harflik ay ismi (yerelleÅŸtirilmiÅŸ)
%ctarih ve saat (yerelleÅŸtirilmiÅŸ)
%d2 haneli ay günü numarası
%H2 haneli saat (24 saatlik)
%I2 haneli saat (12 saatlik)
%j3 hanelik yıl günü numarası
%M2 haneli dakika
%m2 haneli ay
%p12 saatlik kip için öö/ös +(yerelleştirilmiş)
%S2 haneli saniye
%U2 haneli yılın hafta numarası +(Haftanın ilk gününün Pazar olduğu varsayımıyla)
%W2 haneli yılın hafta numarası +(Haftanın ilk gününün Pazartesi olduğu varsayımıyla)
%w1 hanelik haftanın gün numarası +(Haftanın ilk gününün Pazar olduğu varsayımıyla)
%Xsaat (yerelleÅŸtirilmiÅŸ)
%xtarih (yerelleÅŸtirilmiÅŸ)
%Y4 hanelik yıl
%y2 hanelik yıl
%Zzaman dilimi ismi
%%`%' iminin kendisi
+ +
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/split-logfile.html b/docs/manual/programs/split-logfile.html new file mode 100644 index 0000000..9e90a76 --- /dev/null +++ b/docs/manual/programs/split-logfile.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: split-logfile.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: split-logfile.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/split-logfile.html.en b/docs/manual/programs/split-logfile.html.en new file mode 100644 index 0000000..74e0a15 --- /dev/null +++ b/docs/manual/programs/split-logfile.html.en @@ -0,0 +1,85 @@ + + + + + +split-logfile - Split up multi-vhost logfiles - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

split-logfile - Split up multi-vhost logfiles

+
+

Available Languages:  en  | + fr 

+
+ +

This perl script will take a combined Web server access log file and + break its contents into separate files. It assumes that the first field of + each line is the virtual host identity, put there using the "%v" + variable in LogFormat. +

+
+
top
+
+

Usage

+ +

Create a log file with virtual host information in it:

+ +
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined_plus_vhost
+CustomLog logs/access_log combined_plus_vhost
+ + +

Log files will be created, in the directory where you run the + script, for each virtual host name that appears in the combined log file. + These logfiles will named after the hostname, with a + .log file extension.

+ +

The combined log file is read from stdin. Records read will be appended + to any existing log files.

+ +

split-logfile < access_log

+ + +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/split-logfile.html.fr.utf8 b/docs/manual/programs/split-logfile.html.fr.utf8 new file mode 100644 index 0000000..0890561 --- /dev/null +++ b/docs/manual/programs/split-logfile.html.fr.utf8 @@ -0,0 +1,92 @@ + + + + + +split-logfile - Eclatement des journaux en fonction des serveurs +virtuels - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

split-logfile - Eclatement des journaux en fonction des serveurs +virtuels

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Ce script perl permet d'extraire un journal pour chaque serveur + virtuel à partir d'un journal d'accès global du serveur web. Pour + que ce script fonctionne, le premier champ de chaque ligne du + journal global doit contenir l'identité du serveur virtuel ; ce + champ aura été ajouté à la directive LogFormat via la variable + "%v". +

+
+
top
+
+

Mode d'emploi

+ +

Création d'un fichier journal comportant l'identité du serveur + virtuel considéré :

+ +
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined_plus_vhost
+CustomLog logs/access_log combined_plus_vhost
+ + +

Un fichier journal sera créé dans le répertoire à partir duquel + vous exécutez le script pour chaque serveur virtuel qui apparaît + dans le journal global. Ces fichiers journaux seront nommés à partir + du nom du serveur virtuel considéré, avec l'extension + .log.

+ +

Le fichier journal global est lu depuis l'entrée standard stdin. + Les entrées de ce journal sont alors ajoutées au journal du serveur + virtuel correspondant.

+ +

split-logfile < access_log

+ + +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/suexec.html b/docs/manual/programs/suexec.html new file mode 100644 index 0000000..133db05 --- /dev/null +++ b/docs/manual/programs/suexec.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: suexec.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: suexec.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: suexec.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: suexec.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/suexec.html.en b/docs/manual/programs/suexec.html.en new file mode 100644 index 0000000..4ad99c8 --- /dev/null +++ b/docs/manual/programs/suexec.html.en @@ -0,0 +1,91 @@ + + + + + +suexec - Switch user before executing external programs - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

suexec - Switch user before executing external programs

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

suexec is used by the Apache HTTP Server to switch + to another user before executing CGI programs. In order to achieve this, + it must run as root. Since the HTTP daemon normally doesn't + run as root, the suexec executable needs the + setuid bit set and must be owned by root. It should never be + writable for any other person than root.

+ +

For further information about the concepts and the security model + of suexec please refer to the suexec documentation (http://httpd.apache.org/docs/2.4/suexec.html).

+
+ +
top
+
+

Synopsis

+

suexec -V

+
top
+
+

Options

+ +
+
-V
+ +
If you are root, this option displays the compile options of +suexec. For security reasons all configuration options are +changeable only at compile time.
+ +
+
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/suexec.html.fr.utf8 b/docs/manual/programs/suexec.html.fr.utf8 new file mode 100644 index 0000000..db05ad2 --- /dev/null +++ b/docs/manual/programs/suexec.html.fr.utf8 @@ -0,0 +1,96 @@ + + + + + +suexec - Change d'utilisateur avant l'exécution d'un programme +externe - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

suexec - Change d'utilisateur avant l'exécution d'un programme +externe

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

suexec permet au serveur HTTP Apache de changer + d'utilisateur avant d'exécuter un programme CGI. Pour ce faire, il + doit être exécuté par root. A cet effet, comme le + démon HTTP ne s'exécute en général pas en tant que + root, l'exécutable suexec doit posséder + le bit setuid et avoir comme propriétaire root. Seul + root doit en posséder les droits en écriture.

+ +

Pour plus d'informations à propos des concepts et du modèle de + sécurité du programme suexec, veuillez vous reporter à sa + documentation : http://httpd.apache.org/docs/2.4/suexec.html.

+
+ +
top
+
+

Synopsis

+

suexec -V

+
top
+
+

Options

+ +
+
-V
+ +
Si vous êtes root, cette option permet d'afficher les +options de compilation du programme suexec. Pour des +raisons de sécurité, toutes les options de configuration ne sont +modifiables qu'à la compilation.
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/suexec.html.ko.euc-kr b/docs/manual/programs/suexec.html.ko.euc-kr new file mode 100644 index 0000000..8739d1f --- /dev/null +++ b/docs/manual/programs/suexec.html.ko.euc-kr @@ -0,0 +1,94 @@ + + + + + +suexec - ¿ÜºÎ ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ Àü¿¡ »ç¿ëÀÚ¸¦ º¯°æÇÑ´Ù - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

suexec - ¿ÜºÎ ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ Àü¿¡ »ç¿ëÀÚ¸¦ º¯°æÇÑ´Ù

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

¾ÆÆÄÄ¡ À¥¼­¹ö´Â CGI ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ Àü¿¡ ´Ù¸¥ »ç¿ëÀÚ·Î + ÀüȯÇϱâÀ§ÇØ suexec¸¦ »ç¿ëÇÑ´Ù. À̸¦ »ç¿ëÇÏ·Á¸é + ¼­¹ö¸¦ root °èÁ¤À¸·Î ½ÇÇàÇØ¾ß ÇÑ´Ù. º¸Åë À¥ + µ¥¸óÀ» root °èÁ¤À¸·Î ½ÇÇàÇÏÁö ¾Ê±â¶§¹®¿¡ + suexec ½ÇÇàÆÄÀÏ¿¡ setuid ºñÆ®¸¦ ¼³Á¤ÇÏ°í + root°¡ ¼ÒÀ¯ÁÖÀ̾î¾ß ÇÑ´Ù. rootÀÌ¿ÜÀÇ + ´Ù¸¥ »ç¿ëÀÚ°¡ ¾²±â±ÇÇÑÀ» °¡Áö¸é ¾ÈµÈ´Ù.

+ +

suexecÀÇ °³³ä°ú º¸¾È¸ðµ¨¿¡ ´ëÇÑ Á¤º¸´Â suexec ¹®¼­¸¦ + (http://httpd.apache.org/docs/2.4/suexec.html) Âü°íÇ϶ó.

+
+ +
top
+
+

°³¿ä

+

suexec -V

+
top
+
+

¿É¼Ç

+ +
+
-V
+ +
root°¡ ½ÇÇàÇϸé suexecÀÇ ÄÄÆÄÀÏ +¿É¼ÇÀ» Ãâ·ÂÇÑ´Ù. º¸¾È»ó ÀÌÀ¯·Î ¸ðµç ¼³Á¤¿É¼ÇÀº ÄÄÆÄÀÏÇÒ ¶§¸¸ +ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
+ +
+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/suexec.html.tr.utf8 b/docs/manual/programs/suexec.html.tr.utf8 new file mode 100644 index 0000000..4d7f5d4 --- /dev/null +++ b/docs/manual/programs/suexec.html.tr.utf8 @@ -0,0 +1,91 @@ + + + + + +suexec - harici programları çalıştırmadan önce kullanıcıyı değiştirir - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

suexec - harici programları çalıştırmadan önce kullanıcıyı değiştirir

+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
+ +

suexec, CGI programlarını çalıştırmadan + önce Apache HTTP Sunucusu tarafından kullanıcı değiştirmek için kullanılır. + Bunu yapabilmek için sunucunun root tarafından çalıştırılmış + olması gerekir. HTTP artalan süreci normalde root aidiyetinde + çalışmadığından suexec'in çalıştırılabilir + dosyasının sahibi root olmalı, setuid biti etkin + (u+s) olmalı ve dosyaya root dışında hiç kimse + yazamamalıdır.

+ +

suexec güvenlik modeli ve kavramlar + hakkında bilgi edinmek için suexec belgesine (http://httpd.apache.org/docs/2.4/suexec.html) bakınız.

+
+
Support Apache!

Ayrıca bakınız:

+
top
+
+

Kullanım

+

suexec -V

+
top
+
+

Seçenekler

+
+
-V
+
root iseniz, bu seçenek + suexec + derleme seçeneklerini gösterir. Güvenlik sebebiyle tüm yapılandırma + seçenekleri sadece derleme sırasında değiştirilebilir.
+
+
+
+

Mevcut Diller:  en  | + fr  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/access.html b/docs/manual/rewrite/access.html new file mode 100644 index 0000000..8f93fdb --- /dev/null +++ b/docs/manual/rewrite/access.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: access.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: access.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/access.html.en b/docs/manual/rewrite/access.html.en new file mode 100644 index 0000000..3dd731b --- /dev/null +++ b/docs/manual/rewrite/access.html.en @@ -0,0 +1,323 @@ + + + + + +Using mod_rewrite to control access - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Using mod_rewrite to control access

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It describes +how you can use mod_rewrite to control access to +various resources, and other related techniques. +This includes many examples of common uses of mod_rewrite, +including detailed descriptions of how each works.

+ +
Note that many of these examples won't work unchanged in your +particular server configuration, so it's important that you understand +them, rather than merely cutting and pasting the examples into your +configuration.
+ +
+ +
top
+
+

Forbidding Image "Hotlinking"

+ + + +
+
Description:
+ +
+

The following technique forbids the practice of other sites + including your images inline in their pages. This practice is + often referred to as "hotlinking", and results in + your bandwidth being used to serve content for someone else's + site.

+
+ +
Solution:
+ +
+

This technique relies on the value of the + HTTP_REFERER variable, which is optional. As + such, it's possible for some people to circumvent this + limitation. However, most users will experience the failed + request, which should, over time, result in the image being + removed from that other site.

+

There are several ways that you can handle this + situation.

+ +

In this first example, we simply deny the request, if it didn't + initiate from a page on our site. For the purpose of this example, + we assume that our site is www.example.com.

+ + + +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$"    "-"   [F,NC]
+ + +

In this second example, instead of failing the request, we display + an alternate image instead.

+ +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$"    "/images/go-away.png"   [R,NC]
+ + +

In the third example, we redirect the request to an image on some + other site.

+ +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif"   [R,NC]
+ + +

Of these techniques, the last two tend to be the most effective + in getting people to stop hotlinking your images, because they will + simply not see the image that they expected to see.

+ +
+ +
Discussion:
+ +
+

If all you wish to do is deny access to the resource, rather + than redirecting that request elsewhere, this can be + accomplished without the use of mod_rewrite:

+ +
SetEnvIf Referer "example\.com" localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+    Require env localreferer
+</FilesMatch>
+ +
+
+ +
top
+
+

Blocking of Robots

+ + + +
+
Description:
+ +
+

+ In this recipe, we discuss how to block persistent requests from + a particular robot, or user agent.

+ +

The standard for robot exclusion defines a file, + /robots.txt that specifies those portions of your + website where you wish to exclude robots. However, some robots + do not honor these files. +

+ +

Note that there are methods of accomplishing this which do + not use mod_rewrite. Note also that any technique that relies on + the clients USER_AGENT string can be circumvented + very easily, since that string can be changed.

+
+ +
Solution:
+ +
+

We use a ruleset that specifies the directory to be + protected, and the client USER_AGENT that + identifies the malicious or persistent robot.

+ +

In this example, we are blocking a robot called + NameOfBadRobot from a location + /secret/files. You may also specify an IP address + range, if you are trying to block that user agent only from the + particular source.

+ +
RewriteCond "%{HTTP_USER_AGENT}"   "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}"       "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/"   "-"   [F]
+ +
+ +
Discussion:
+ +
+

+ Rather than using mod_rewrite for this, you can accomplish the + same end using alternate means, as illustrated here: +

+
SetEnvIfNoCase User-Agent "^NameOfBadRobot" goaway
+<Location "/secret/files">
+    <RequireAll>
+        Require all granted
+        Require not env goaway
+    </RequireAll>
+</Location>
+ +

+ As noted above, this technique is trivial to circumvent, by simply + modifying the USER_AGENT request header. If you + are experiencing a sustained attack, you should consider blocking + it at a higher level, such as at your firewall. +

+ +
+ +
+ +
top
+
+

Denying Hosts in a Reject List

+ + + +
+
Description:
+ +
+

We wish to maintain a list of hosts, rather like + hosts.deny, and have those hosts blocked from + accessing our server.

+
+ +
Solution:
+ +
+
RewriteEngine on
+RewriteMap    hosts-deny  "txt:/path/to/hosts.deny"
+RewriteCond   "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond   "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule   "^"  "-"  [F]
+ + +

+##
+## hosts.deny
+##
+## ATTENTION! This is a map, not a list, even when we treat it as such.
+## mod_rewrite parses it for key/value pairs, so at least a
+## dummy value "-" must be present for each entry.
+##
+
+193.102.180.41 -
+bsdti1.sdm.de -
+192.76.162.40 -
+

+
+ +
Discussion:
+
+

+ The second RewriteCond assumes that you have HostNameLookups turned + on, so that client IP addresses will be resolved. If that's not the + case, you should drop the second RewriteCond, and drop the + [OR] flag from the first RewriteCond. +

+
+
+ +
top
+
+

Referer-based Deflector

+ + + +
+
Description:
+ +
+

Redirect requests based on the Referer from which the request + came, with different targets per Referer.

+
+ +
Solution:
+ +
+

The following ruleset uses a map file to associate each Referer + with a redirection target.

+ +
RewriteMap  deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" "=-"
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]
+ + +

The map file lists redirection targets for each referer, or, if + we just wish to redirect back to where they came from, a "-" is + placed in the map:

+ +
##
+##  deflector.map
+##
+
+http://badguys.example.com/bad/index.html    -
+http://badguys.example.com/bad/index2.html   -
+http://badguys.example.com/bad/index3.html   http://somewhere.example.com/
+ + +
+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/access.html.fr.utf8 b/docs/manual/rewrite/access.html.fr.utf8 new file mode 100644 index 0000000..e3f9258 --- /dev/null +++ b/docs/manual/rewrite/access.html.fr.utf8 @@ -0,0 +1,331 @@ + + + + + +Utiliser mod_rewrite pour le contrôle d'accès - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Utiliser mod_rewrite pour le contrôle d'accès

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la documentation de référence de +mod_rewrite. Il explique comment utiliser +mod_rewrite pour contrôler l'accès à diverses +ressources, ainsi que d'autres techniques en rapport. Il contient de +nombreux exemples d'utilisation courante de mod_rewrite avec une +description détaillée de leur fonctionnement.

+ +
Vous devez vous attacher à comprendre le +fonctionnement des exemples, car la plupart d'entre eux ne +fonctionneront pas sur votre système si vous vous contentez de les +copier/coller dans vos fichiers de configuration.
+ +
+ +
top
+
+

Blocage du référencement à chaud (Hotlinking) d'images

+ + + +
+
Description :
+ +
+

Cette technique vous permet d'interdire à d'autres sites + d'inclure directement vos images dans leurs pages. On fait + souvent référence à cette pratique sous le nom de + référencement à chaud (Hotlinking) qui entraîne l'utilisation + de votre bande passante pour servir des contenus faisant + partie du site de quelqu'un d'autre.

+
+ +
Solution :
+ +
+

Cette technique repose sur la valeur de la variable + optionnelle HTTP_REFERER. Certaines personnes + pourront donc contourner cette limitation. Pour la plupart des + utilisateurs cependant, la requête échouera, en ce sens que + l'image ne sera pas affichée depuis le site tiers.

+

Il y a plusieurs manières de gérer cette situation.

+ +

Dans le premier exemple, nous rejetons tout simplement la + requête si elle ne provenait pas d'une page appartenant à notre + site. Pour les besoins de cet exemple, nous supposons que le nom + de votre site est www.example.com.

+ + + +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$"    "-"   [F,NC]
+ + +

Dans le second exemple, plutôt que de rejeter la requête, + nous affichons une autre image à la place.

+ +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$"    "/images/go-away.png"   [R,NC]
+ + +

Dans le troisième exemple, nous redirigeons la requête vers + une image appartenant à un autre site.

+ +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif"   [R,NC]
+ + +

De tous ces exemples, les deux derniers semblent les plus + efficaces pour faire en sorte que les gens arrêtent de + référencer vos images à chaud, car il ne verront pas les images + qu'ils s'attendent à voir.

+ +
+ +
Discussion :
+ +
+

Si vous ne voulez pas rediriger la requête, mais + simplement interdire l'accès à la ressource, vous pouvez y + parvenir sans utiliser mod_rewrite :

+ +
SetEnvIf Referer "example\.com" localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+    Require env localreferer
+</FilesMatch>
+ +
+
+ +
top
+
+

Blocage des robots

+ + + +
+
Description :
+ +
+

+ Dans cet exemple, nous allons discuter d'une méthode permettant + de bloquer les requêtes persistentes en provenance d'un robot + particulier, ou d'un navigateur.

+ +

La méthode classique pour exclure un robot consiste à définir + un fichier, /robots.txt qui spécifie les parties de + votre site web pour lesquelles vous voulez exclure les robots. + Malheureusement, certains robots ne tiennent pas compte de ces + fichiers. +

+ +

Notez qu'il existe des méthodes d'exclusion qui n'utilisent + pas mod_rewrite. Notez aussi que toute technique qui repose sur + le contenu de la chaîne client USER_AGENT peut être + contournée très facilement car cette chaîne peut être modifiée.

+
+ +
Solution :
+ +
+

On utilise un jeu de règles qui spécifie le répertoire à + protéger, ainsi que la chaîne client USER_AGENT qui + identifie le robot malin ou envahissant.

+ +

Dans cet exemple, nous bloquons un robot nommé + Vilain_Robot pour le répertoire + /secret/fichiers. Si vous voulez bloquer ce client + seulement depuis une source particulière, vous pouvez aussi + spécifier un intervalle d'adresses IP.

+ +
RewriteCond "%{HTTP_USER_AGENT}"   "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}"       "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/"   "-"   [F]
+ +
+ +
Discussion :
+ +
+

+ Vous pouvez cependant parvenir au même résultat sans utiliser + mod_rewrite via la méthode alternative suivante : +

+
SetEnvIfNoCase User-Agent "^NameOfBadRobot" goaway
+<Location "/secret/files">
+    <RequireAll>
+        Require all granted
+        Require not env goaway
+    </RequireAll>
+</Location>
+ +

+ Comme indiqué plus haut, il est aisé de contourner cette + technique, simplement en modifiant le contenu de l'en-tête + USER_AGENT. Si vous subissez une attaque en règle, + vous allez devoir réfléchir à un blocage à un niveau supérieur, + par exemple une règle de filtrage de votre pare-feu. +

+ +
+ +
+ +
top
+
+

Rejet des clients contenus dans une liste de proscrits

+ + + +
+
Description :
+ +
+

Nous voulons interdire l'accès à notre serveur aux clients + contenus dans une liste de proscrits similaire à + hosts.deny.

+
+ +
Solution :
+ +
+
RewriteEngine on
+RewriteMap    hosts-deny  "txt:/path/to/hosts.deny"
+RewriteCond   "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond   "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule   "^"  "-"  [F]
+ + +

+##
+## hosts.deny
+##
+## ATTENTION! Ceci est une table de correspondances, non une liste,
+## même si elle est traitée comme telle. mod_rewrite
+## l'interprète comme une liste de paires clé/valeur, et
+## chaque entrée doit au moins posséder une valeur par
+## défaut "-".
+
+193.102.180.41 -
+bsdti1.sdm.de -
+192.76.162.40 -
+

+
+ +
Discussion :
+
+

+ La seconde condition RewriteCond présuppose que HostNameLookups est + défini à On, de façon à ce que les adresses IP des clients puissent + être résolues. Dans le cas contraire, vous devez supprimer la + seconde condition, ainsi que le drapeau [OR] de la + première. +

+
+
+ +
top
+
+

Aiguillage basé sur l'en-tête Referer

+ + + +
+
Description :
+ +
+

Redirige les requêtes en fonction du Referer de provenance de + la requête, avec des cibles différentes pour chaque Referer.

+
+ +
Solution :
+ +
+

Le jeu de règles suivant utilise un fichier de correspondances pour + associer chaque Referer à une cible de redirection.

+ +
RewriteMap  deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" "=-"
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]
+ + +

Le fichier de correspondances contient les cibles de + redirection associées à chaque Referer, ou, si nous voulons + simplement rediriger les requêtes vers leur Referer, un "-" est + inscrit dans le fichier de correspondances :

+ +
##
+##  deflector.map
+##
+
+http://badguys.example.com/bad/index.html    -
+http://badguys.example.com/bad/index2.html   -
+http://badguys.example.com/bad/index3.html   http://somewhere.example.com/
+ + +
+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/advanced.html b/docs/manual/rewrite/advanced.html new file mode 100644 index 0000000..8e5e94f --- /dev/null +++ b/docs/manual/rewrite/advanced.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: advanced.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: advanced.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/advanced.html.en b/docs/manual/rewrite/advanced.html.en new file mode 100644 index 0000000..c2ad1c0 --- /dev/null +++ b/docs/manual/rewrite/advanced.html.en @@ -0,0 +1,370 @@ + + + + + +Advanced Techniques with mod_rewrite - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Advanced Techniques with mod_rewrite

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It provides +a few advanced techniques using mod_rewrite.

+ +
Note that many of these examples won't work unchanged in your +particular server configuration, so it's important that you understand +them, rather than merely cutting and pasting the examples into your +configuration.
+ +
+ +
top
+
+

URL-based sharding across multiple backends

+ + + +
+
Description:
+ +
+

A common technique for distributing the burden of + server load or storage space is called "sharding". + When using this method, a front-end server will use the + url to consistently "shard" users or objects to separate + backend servers.

+
+ +
Solution:
+ +
+

A mapping is maintained, from users to target servers, in + external map files. They look like:

+ +

+user1 physical_host_of_user1
+user2 physical_host_of_user2
+# ... and so on +

+ +

We put this into a map.users-to-hosts file. The + aim is to map;

+ +

+/u/user1/anypath +

+ +

to

+ +

+http://physical_host_of_user1/u/user/anypath +

+ +

thus every URL path need not be valid on every backend physical + host. The following ruleset does this for us with the help of the map + files assuming that server0 is a default server which will be used if + a user has no entry in the map:

+ +
RewriteEngine on
+RewriteMap    users-to-hosts      "txt:/path/to/map.users-to-hosts"
+RewriteRule   "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"
+ +
+
+ +

See the RewriteMap + documentation and the RewriteMap HowTo + for more discussion of the syntax of this directive.

+ +
top
+
+

On-the-fly Content-Regeneration

+ + + +
+
Description:
+ +
+

We wish to dynamically generate content, but store it + statically once it is generated. This rule will check for the + existence of the static file, and if it's not there, generate + it. The static files can be removed periodically, if desired (say, + via cron) and will be regenerated on demand.

+
+ +
Solution:
+ +
+ This is done via the following ruleset: + +
# This example is valid in per-directory context only
+RewriteCond "%{REQUEST_URI}"   "!-U"
+RewriteRule "^(.+)\.html$"     "/regenerate_page.cgi"   [PT,L]
+ + +

The -U operator determines whether the test string + (in this case, REQUEST_URI) is a valid URL. It does + this via a subrequest. In the event that this subrequest fails - + that is, the requested resource doesn't exist - this rule invokes + the CGI program /regenerate_page.cgi, which generates + the requested resource and saves it into the document directory, so + that the next time it is requested, a static copy can be served.

+ +

In this way, documents that are infrequently updated can be served in + static form. if documents need to be refreshed, they can be deleted + from the document directory, and they will then be regenerated the + next time they are requested.

+
+
+ +
top
+
+

Load Balancing

+ + + +
+
Description:
+ +
+

We wish to randomly distribute load across several servers + using mod_rewrite.

+
+ +
Solution:
+ +
+

We'll use RewriteMap and a list of servers + to accomplish this.

+ +
RewriteEngine on
+RewriteMap lb        "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1"     [P,L]
+ + +

serverlist.txt will contain a list of the servers:

+ +

+## serverlist.txt
+
+servers one.example.com|two.example.com|three.example.com
+

+ +

If you want one particular server to get more of the load than the +others, add it more times to the list.

+ +
+ +
Discussion
+
+

Apache comes with a load-balancing module - +mod_proxy_balancer - which is far more flexible and +featureful than anything you can cobble together using mod_rewrite.

+
+
+ +
top
+
+

Structured Userdirs

+ + + +
+
Description:
+ +
+

Some sites with thousands of users use a + structured homedir layout, i.e. each homedir is in a + subdirectory which begins (for instance) with the first + character of the username. So, /~larry/anypath + is /home/l/larry/public_html/anypath + while /~waldo/anypath is + /home/w/waldo/public_html/anypath.

+
+ +
Solution:
+ +
+

We use the following ruleset to expand the tilde URLs + into the above layout.

+ +
RewriteEngine on
+RewriteRule   "^/~(([a-z])[a-z0-9]+)(.*)"  "/home/$2/$1/public_html$3"
+ +
+
+ +
top
+
+

Redirecting Anchors

+ + + +
+
Description:
+ +
+

By default, redirecting to an HTML anchor doesn't work, + because mod_rewrite escapes the # character, + turning it into %23. This, in turn, breaks the + redirection.

+
+ +
Solution:
+ +
+

Use the [NE] flag on the + RewriteRule. NE stands for No Escape. +

+
+ +
Discussion:
+
This technique will of course also work with other + special characters that mod_rewrite, by default, URL-encodes.
+
+ +
top
+
+

Time-Dependent Rewriting

+ + + +
+
Description:
+ +
+

We wish to use mod_rewrite to serve different content based on + the time of day.

+
+ +
Solution:
+ +
+

There are a lot of variables named TIME_xxx + for rewrite conditions. In conjunction with the special + lexicographic comparison patterns <STRING, + >STRING and =STRING we can + do time-dependent redirects:

+ +
RewriteEngine on
+RewriteCond   "%{TIME_HOUR}%{TIME_MIN}" ">0700"
+RewriteCond   "%{TIME_HOUR}%{TIME_MIN}" "<1900"
+RewriteRule   "^foo\.html$"             "foo.day.html" [L]
+RewriteRule   "^foo\.html$"             "foo.night.html"
+ + +

This provides the content of foo.day.html + under the URL foo.html from + 07:01-18:59 and at the remaining time the + contents of foo.night.html.

+ +
mod_cache, intermediate proxies + and browsers may each cache responses and cause the either page to be + shown outside of the time-window configured. + mod_expires may be used to control this + effect. You are, of course, much better off simply serving the + content dynamically, and customizing it based on the time of day.
+ +
+
+ +
top
+
+

Set Environment Variables Based On URL Parts

+ + + +
+
Description:
+ +
+

At times, we want to maintain some kind of status when we + perform a rewrite. For example, you want to make a note that + you've done that rewrite, so that you can check later to see if a + request came via that rewrite. One way to do this is by setting an + environment variable.

+
+ +
Solution:
+ +
+

Use the [E] flag to set an environment variable.

+ +
RewriteEngine on
+RewriteRule   "^/horse/(.*)"   "/pony/$1" [E=rewritten:1]
+ + +

Later in your ruleset you might check for this environment + variable using a RewriteCond:

+ +
RewriteCond "%{ENV:rewritten}" "=1"
+ + +

Note that environment variables do not survive an external + redirect. You might consider using the [CO] flag to set a + cookie. For per-directory and htaccess rewrites, where the final + substitution is processed as an internal redirect, environment + variables from the previous round of rewriting are prefixed with + "REDIRECT_".

+ +
+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/advanced.html.fr.utf8 b/docs/manual/rewrite/advanced.html.fr.utf8 new file mode 100644 index 0000000..250db5d --- /dev/null +++ b/docs/manual/rewrite/advanced.html.fr.utf8 @@ -0,0 +1,390 @@ + + + + + +Advanced Techniques with mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Advanced Techniques with mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document complète la documentation de référence du + module mod_rewrite. Il présente un certain nombre + de techniques avancées quant à + l'utilisation de mod_rewrite.

+ +
Notez que la plupart des exemples ne fonctionneront +pas en l'état dans la configuration particulière de votre serveur ; il +est donc important de bien comprendre leur fonctionnement, plutôt que de +simplement les copier/coller dans votre configuration.
+ +
+ +
top
+
+

Distribution de la charge entre plusieurs serveurs + d'arrière-plan en fonction de l'adresse IP

+ + + +
+
Description :
+ +
+

La fragmentation ou "sharding" est une technique courante de + distribution de la charge du serveur ou de l'espace de stockage. + Quand on utilise cette méthode, un serveur frontal utilise l'URL + pour répartir de manière appropriée les utilisateurs et objets + entre différents serveurs d'arrière-plan.

+
+ +
Solution :
+ +
+

On maintient une table de correspondance entre utilisateurs et + serveurs cibles dans des fichiers externes. Ces derniers se + présentent comme suit :

+ +

+utilisateur1 serveur_physique_utilisateur1
+utilisateur2 serveur_physique_utilisateur2
+# etc ... +

+ +

Tout ceci est enregistré dans un fichier + correspondances-utilisateurs-serveurs. Le but est de + faire correspondre

+ +

+/u/utilisateur1/chemin +

+ +

avec

+ +

+http://serveur_physique_utilisateur1/u/utilisateur/chemin +

+ +

il n'est ainsi pas nécessaire que tous les chemins URL soient + valides sur tous les serveurs physiques d'arrière-plan. Le jeu de + règles suivant fait tout ceci pour nous, en s'appuyant sur les + fichiers de correspondances, en supposant que serveur0 est un + serveur par défaut qui sera utilisé lorsqu'un utilisateur ne + possèdera pas d'entrée dans la table de correspondances :

+ +
RewriteEngine on
+RewriteMap    users-to-hosts      "txt:/path/to/map.users-to-hosts"
+RewriteRule   "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"
+ +
+
+ +

Voir la documentation de RewriteMap et le RewriteMap HowTo pour une description plus + approfondie de la syntaxe de cette directive.

+ +
top
+
+

Régéneration de contenu à la volée

+ + + +
+
Description :
+ +
+

Nous voulons générer du contenu de manière dynamique, mais le + conserver de manière statique lorsqu'il a été généré. La règle + suivante vérifie l'existence du fichier statique, et le génère + s'il est absent. Les fichiers statiques peuvent être supprimés + périodiquement si on le désire (par exemple via cron), et seront + régénérés à la demande.

+
+ +
Solution :
+ +
+ A cet effet, on utilise le jeu de règles suivant : + +
# Cet exemple n'est valable que dans un contexte de répertoire
+RewriteCond "%{REQUEST_URI}"   "!-U"
+RewriteRule "^(.+)\.html$"     "/regenerate_page.cgi"   [PT,L]
+ + +

L'opérateur -U permet de déterminer si la chaîne + de test (dans ce cas REQUEST_URI) est une URL valide. + Pour ce faire, il utilise une sous-requête. Si cette sous-requête + échoue, ou en d'autres termes, si la ressource demandée n'existe pas, + cette règle invoque le programme CGI + /regenerate_page.cgi qui génère la ressource + demandée et la sauvegarde dans le répertoire des documents, de + façon à ce qu'une copie statique puisse être servie lors d'une + demande ultérieure.

+ +

De cette façon, les documents qui ne sont pas mis à jour + régulièrement peuvent être servis sous une forme statique. Si ces + documents doivent être réactualisés, on peut les supprimer du + répertoire des documents, et ils seront ainsi régénérés à la + prochaine demande.

+
+
+ +
top
+
+

Répartition de charge

+ + + +
+
Description :
+ +
+

Nous voulons répartir la charge de manière aléatoire entre + plusieurs serveurs en utilisant mod_rewrite.

+
+ +
Solution :
+ +
+

Pour y parvenir, nous allons utiliser la directive RewriteMap et une liste de + serveurs.

+ +
RewriteEngine on
+RewriteMap lb        "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1"     [P,L]
+ + +

liste-serveurs.txt contiendra la liste des serveurs :

+ +

+## liste-serveurs.txt
+
+serveurs un.example.com|deux.example.com|trois.example.com
+

+ +

Si vous voulez qu'un serveur se voit confier d'avantage de charge que +les autres, faites le figurer plusieurs fois dans la liste.

+ +
+ +
Discussion
+
+

Apache possède un module de répartition de charge - +mod_proxy_balancer - beaucoup plus souple et présentant +plus de fonctionnalités dans ce domaine que mod_rewrite.

+
+
+ +
top
+
+

Répertoires Home structurés

+ + + +
+
Description :
+ +
+

Certains sites avec des milliers d'utilisateurs organisent + les répertoires utilisateurs de manière structurée, c'est à + dire que chaque répertoire utilisateur se trouve dans un + sous-répertoire dont le nom commence (par exemple) par le + premier caractère du nom de l'utilisateur. Ainsi, + /~larry/chemin correspond à + /home/l/larry/public_html/chemin, alors + que /~waldo/chemin correspond à + /home/w/waldo/public_html/chemin.

+
+ +
Solution :
+ +
+

On utilise le jeu de règles suivant pour développer les + URLs avec tilde selon l'organisation structurée précédente.

+ +
RewriteEngine on
+RewriteRule   "^/~(([a-z])[a-z0-9]+)(.*)"  "/home/$2/$1/public_html$3"
+ +
+
+ +
top
+
+

Redirection des ancrages

+ + + +
+
Description :
+ +
+

Par défaut, la redirection vers un ancrage HTML ne fonctionne + pas, car mod_rewrite échappe le caractère # en le + transformant en %23, ce qui rend la redirection + inopérante.

+
+ +
Solution :
+ +
+

On utilise le drapeau [NE] dans la règle + RewriteRule. NE signifie "No Escape". +

+
+ +
Discussion :
+
Cette technique fonctionne bien entendu pour tout autre + caractère spécial que mod_rewrite, par défaut, code pour insertion + dans une URL.
+
+ +
top
+
+

Réécriture dépendant de l'heure

+ + + +
+
Description :
+ +
+

Nous voulons servir des contenus différents selon l'heure du + jour en utilisant mod_rewrite.

+
+ +
Solution :
+ +
+

Il existe de nombreuses variables nommées + TIME_xxx utilisables dans les conditions de + réécriture. Utilisées en conjonction avec les modèles de + comparaison lexicographique spéciaux <STRING, + >STRING et =STRING, elles + permettent d'effectuer des redirections dépendant de + l'heure :

+ +
RewriteEngine on
+RewriteCond   "%{TIME_HOUR}%{TIME_MIN}" ">0700"
+RewriteCond   "%{TIME_HOUR}%{TIME_MIN}" "<1900"
+RewriteRule   "^foo\.html$"             "foo.day.html" [L]
+RewriteRule   "^foo\.html$"             "foo.night.html"
+ + +

Avec cet exemple, l'URL foo.html renvoie + le contenu de foo.jour.html durant le + créneau horaire 07:01-18:59, et le contenu de + foo.nuit.html le reste du temps.

+ +
mod_cache, les mandataires + intermédiaires et les navigateurs peuvent chacun mettre en cache + les réponses et ainsi afficher une des deux pages en dehors de + la fenêtre de temps configurée. On peut utiliser + mod_expires pour contourner ce problème. Il est + cependant bien plus commode de servir un contenu dynamique, et + de le personnaliser en fonction de l'heure du jour.
+
+ +
top
+
+

Définir des variables d'environnement en fonction de + certaines parties de l'URL

+ + + +
+
Description :
+ +
+

Nous voulons parfois conserver une certaine forme de statut + lorsqu'une réécriture a eu lieu. Par exemple, vous souhaitez + consigner le fait que cette réécriture a eu lieu, et vous servir + plus tard de cette information pour déterminer si une requête était + concernée par cette réécriture. Pour ce faire, on peut utiliser + une variable d'environnement.

+
+ +
Solution :
+ +
+

Utiliser le drapeau [E] pour définir une variable + d'environnement.

+ +
RewriteEngine on
+RewriteRule   "^/cheval/(.*)"   "/poney/$1" [E=rewritten:1]
+ + +

Plus loin dans votre jeu de règles, vous pouvez vérifier le + contenu de cette variable d'environnement via une directive + RewriteCond :

+ +
RewriteCond "%{ENV:rewritten}" "=1"
+ + +

Notez que les variables d'environnement ne survivent pas à une + redirection externe. Vous devez alors utiliser le drapeau [CO] pour définir + un cookie. Pour les redirections de niveau répertoire et htaccess où la + substitution finale est traitée en tant que redirection interne, les + variables d'environnement du tour de réécriture précédent sont préfixées par + "REDIRECT_".

+ +
+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/avoid.html b/docs/manual/rewrite/avoid.html new file mode 100644 index 0000000..92bbe36 --- /dev/null +++ b/docs/manual/rewrite/avoid.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: avoid.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: avoid.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/avoid.html.en b/docs/manual/rewrite/avoid.html.en new file mode 100644 index 0000000..b572a2a --- /dev/null +++ b/docs/manual/rewrite/avoid.html.en @@ -0,0 +1,254 @@ + + + + + +When not to use mod_rewrite - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

When not to use mod_rewrite

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It describes +perhaps one of the most important concepts about mod_rewrite - namely, +when to avoid using it.

+ +

mod_rewrite should be considered a last resort, when other +alternatives are found wanting. Using it when there are simpler +alternatives leads to configurations which are confusing, fragile, and +hard to maintain. Understanding what other alternatives are available is +a very important step towards mod_rewrite mastery.

+ +

Note that many of these examples won't work unchanged in your +particular server configuration, so it's important that you understand +them, rather than merely cutting and pasting the examples into your +configuration.

+ +

The most common situation in which mod_rewrite is +the right tool is when the very best solution requires access to the +server configuration files, and you don't have that access. Some +configuration directives are only available in the server configuration +file. So if you are in a hosting situation where you only have .htaccess +files to work with, you may need to resort to +mod_rewrite.

+ +
+ +
top
+
+

Simple Redirection

+ + +

mod_alias provides the Redirect and RedirectMatch directives, which provide a +means to redirect one URL to another. This kind of simple redirection of +one URL, or a class of URLs, to somewhere else, should be accomplished +using these directives rather than RewriteRule. RedirectMatch +allows you to include a regular expression in your redirection criteria, +providing many of the benefits of using RewriteRule.

+ +

A common use for RewriteRule is to redirect an entire +class of URLs. For example, all URLs in the /one directory +must be redirected to http://one.example.com/, or perhaps +all http requests must be redirected to +https.

+ +

These situations are better handled by the Redirect +directive. Remember that Redirect preserves path +information. That is to say, a redirect for a URL /one will +also redirect all URLs under that, such as /one/two.html +and /one/three/four.html.

+ +

To redirect URLs under /one to +http://one.example.com, do the following:

+ +
Redirect "/one/" "http://one.example.com/"
+ + +

To redirect one hostname to another, for example +example.com to www.example.com, see the +Canonical Hostnames +recipe.

+ +

To redirect http URLs to https, do the +following:

+ +
<VirtualHost *:80>
+    ServerName www.example.com
+    Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+    ServerName www.example.com
+    # ... SSL configuration goes here
+</VirtualHost>
+ + +

The use of RewriteRule to perform this task may be +appropriate if there are other RewriteRule directives in +the same scope. This is because, when there are Redirect +and RewriteRule directives in the same scope, the +RewriteRule directives will run first, regardless of the +order of appearance in the configuration file.

+ +

In the case of the http-to-https redirection, the use of +RewriteRule would be appropriate if you don't have access +to the main server configuration file, and are obliged to perform this +task in a .htaccess file instead.

+ +
top
+
+

URL Aliasing

+

The Alias directive +provides mapping from a URI to a directory - usually a directory outside +of your DocumentRoot. Although it +is possible to perform this mapping with mod_rewrite, +Alias is the preferred method, for +reasons of simplicity and performance.

+ +

Using Alias

Alias "/cats" "/var/www/virtualhosts/felines/htdocs"
+
+ +

+The use of mod_rewrite to perform this mapping may be +appropriate when you do not have access to the server configuration +files. Alias may only be used in server or virtualhost context, and not +in a .htaccess file. +

+ +

Symbolic links would be another way to accomplish the same thing, if +you have Options FollowSymLinks enabled on your +server.

+
top
+
+

Virtual Hosting

+

Although it is possible to handle virtual hosts +with mod_rewrite, it is seldom the right way. Creating individual +<VirtualHost> blocks is +almost always the right way to go. In the +event that you have an enormous number of virtual hosts, consider using +mod_vhost_alias to create these hosts automatically.

+ +

Modules such as mod_macro are +also useful for creating a large number of virtual hosts dynamically.

+ +

Using mod_rewrite for vitualhost creation may be +appropriate if you are using a hosting service that does not provide +you access to the server configuration files, and you are therefore +restricted to configuration using .htaccess files.

+ +

See the virtual hosts with mod_rewrite +document for more details on how you might accomplish this if it still +seems like the right approach.

+ +
top
+
+

Simple Proxying

+ +

RewriteRule provides the [P] flag to pass rewritten URIs through +mod_proxy.

+ +
RewriteRule "^/?images(.*)" "http://imageserver.local/images$1" [P]
+ + +

However, in many cases, when there is no actual pattern matching +needed, as in the example shown above, the ProxyPass directive is a better choice. +The example here could be rendered as:

+ +
ProxyPass "/images/" "http://imageserver.local/images/"
+ + +

Note that whether you use RewriteRule or ProxyPass, you'll still need to use the +ProxyPassReverse directive to +catch redirects issued from the back-end server:

+ +
ProxyPassReverse "/images/" "http://imageserver.local/images/"
+ + +

You may need to use RewriteRule instead when there are +other RewriteRules in effect in the same scope, as a +RewriteRule will usually take effect before a +ProxyPass, and so may preempt what you're trying to +accomplish.

+ +
top
+
+

Environment Variable Testing

+ +

mod_rewrite is frequently used to take a particular +action based on the presence or absence of a particular environment +variable or request header. This can be done more efficiently using the +<If> directive.

+ +

Consider, for example, the common scenario where +RewriteRule is used to enforce a canonical +hostname, such as www.example.com instead of +example.com. This can be done using the <If> directive, as shown here:

+ +
<If "req('Host') != 'www.example.com'">
+    Redirect "/" "http://www.example.com/"
+</If>
+ + +

This technique can be used to take actions based on any request +header, response header, or environment variable, replacing +mod_rewrite in many common scenarios.

+ +

See especially the expression evaluation +documentation for a overview of what types of expressions you can +use in <If> sections, +and in certain other directives.

+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/avoid.html.fr.utf8 b/docs/manual/rewrite/avoid.html.fr.utf8 new file mode 100644 index 0000000..627777a --- /dev/null +++ b/docs/manual/rewrite/avoid.html.fr.utf8 @@ -0,0 +1,271 @@ + + + + + +Quand ne pas utiliser mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Quand ne pas utiliser mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la Documentation de référence de +mod_rewrite. Il décrit peut-être un des concepts les +plus importants à propos de mod_rewrite - à savoir, quand doit-on éviter +de l'utiliser.

+ +

mod_rewrite doit être considéré comme un dernier recours, +lorsqu'aucune alternative n'est possible. Utiliser mod_rewrite lorsqu'il +existe des alternatives plus simples conduit à des configurations +confuses, fragiles, et difficiles à maintenir. La compréhension des +autres alternatives disponibles est une étape très importante sur le +chemin de la maîtrise de mod_rewrite.

+ +

Vous devez vous attacher à comprendre le +fonctionnement des exemples, car la plupart d'entre eux ne +fonctionneront pas sur votre système si vous vous contentez de les +copier/coller dans vos fichiers de configuration.

+ +

Le cas le plus courant dans lequel mod_rewrite est +l'outil approprié est la situation où la seule solution envisageable +nécessite l'accès aux fichiers de configuration du serveur, alors que +cet accès ne vous est pas accordé. Certaines directives de configuration +ne sont disponibles que dans le fichier de configuration du serveur. Si +vous ne pouvez agir que sur les fichiers .htaccess, vous devrez donc +vous tourner vers mod_rewrite.

+ +
+ +
top
+
+

Redirection simple

+ + +

mod_alias fournit les directives Redirect et RedirectMatch qui permettent de +rediriger une URL vers une autre. Plutôt que d'utiliser la directive +RewriteRule pour ce genre de +redirection simple d'une URL ou d'une classe d'URLs vers une autre, on +préfèrera l'utilisation de ces directives. En outre, avec +RedirectMatch, vous pouvez inclure une expression +rationnelle dans votre critère de redirection, ce qui vous permet de +bénéficier de nombreux avantages de la directive +RewriteRule.

+ +

Une utilisation courante de la directive RewriteRule est +la redirection de toute une classe d'URLs. Par exemple, toutes les URLs +faisant référence au répertoire /un doivent être +redirigées vers http://un.example.com/, ou toutes les +requêtes http doivent être redirigées vers +https.

+ +

Pour ce faire, il est préférable d'utiliser la directive +Redirect. Souvenez-vous que la directive +Redirect conserve les informations relatives au chemin. En +d'autres termes, la redirection d'une URL /un va aussi +rediriger toutes les URLs de niveaux inférieurs comme +/un/deux.html et /un/trois/quatre.html.

+ +

Pour rediriger les URLs sous /un vers +http://un.example.com/, utilisez cette définition :

+ +
Redirect /one/ http://one.example.com/
+ + +

Pour rediriger un nom d'hôte vers un autre nom d'hôte, par exemple +example.com vers www.example.com, voir la +méthode Noms d'hôtes canoniques.

+ +

Pour rediriger les URLs http vers https, +utilisez cette définition :

+ +
<VirtualHost *:80>
+ServerName www.example.com
+Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ServerName www.example.com
+#  ... insérer ici la configuration SSL
+</VirtualHost>
+ + +

L'utilisation de la directive RewriteRule pour accomplir +cette tâche peut se justifier s'il existe d'autres directives +RewriteRule dans la même portée. En effet, lorsque des +directives Redirect et RewriteRule se trouvent +dans la même portée, les directives RewriteRule sont +exécutées en premier, sans tenir compte de leur ordre d'apparition dans +le fichier de configuration.

+ +

Dans le cas de la redirection http-vers-https, l'utilisation +de règles RewriteRule se justifie si vous n'avez pas accès +au fichier de configuration principal, et devez donc accomplir cette +tâche au sein d'un fichier .htaccess.

+ +
top
+
+

Alias d'URL

+

La directive Alias permet +de mettre en correspondance un URI avec un répertoire, ce dernier étant +en général situé en dehors de l'arborescence définie par la directive +DocumentRoot. Bien qu'il soit +possible d'effectuer cette mise en correspondance avec +mod_rewrite, il est préférable d'utiliser la directive +Alias pour des raisons de simplicité +et de performances.

+ +

Utilisation de la directive Alias

Alias "/cats" "/var/www/virtualhosts/felines/htdocs"
+
+ +

+Pour effectuer cette mise en correspondance, mod_rewrite +s'impose si vous n'avez pas accès aux fichiers de configuration du +serveur. En effet, la directive Alias ne peut pas être utilisée dans un +fichier .htaccess, mais seulement dans un contexte de +serveur principal ou de serveur virtuel. +

+ +

En outre, vous pouvez arriver au même résultat avec les liens +symboliques, pourvu que Options FollowSymLinks soit activé +sur votre serveur.

+
top
+
+

Hébergement virtuel

+

Bien qu'il soit possible de gérer les serveurs +virtuels avec mod_rewrite, il s'agit rarement de la bonne méthode. +Il est pratiquement toujours préférable de créer des blocs +<VirtualHost> individuels. +Dans l'éventualité où vous devez gérer +un grand nombre de serveurs virtuels, vous devez vous tourner vers +mod_vhost_alias pour créer ces serveurs +automatiquement.

+ +

Il est aussi possible d'utiliser des modules comme mod_macro pour +créer un grand nombre de serveurs virtuels dynamiquement.

+ +

L'utilisation de mod_rewrite pour la création de +serveurs virtuels peut se révéler appropriée si votre service +d'hébergement ne vous permet pas d'accéder aux fichiers de configuration +du serveur, et que vous soyez par conséquent obligé de passer par les +fichiers .htaccess.

+ +

Voir le document création de serveurs virtuels +avec mod_rewrite pour plus de détails sur la manière d'y parvenir si +cela semble être tout de même la meilleure approche.

+ +
top
+
+

Mandat simple

+ +

La directive RewriteRule fournit +le drapeau [P] qui permet de faire passer les URIs +réécrits par mod_proxy.

+ +
RewriteRule "^/?images(.*)" "http://serveur-images.local/images$1" [P]
+ + +

Cependant, dans les nombreux cas où aucune correspondance au modèle +n'est vraiment nécessaire, comme dans l'exemple ci-dessus, il est +préférable d'utiliser la directive ProxyPass. L'exemple précédent pourrait +être remplacé par :

+ +
ProxyPass "/images/" "http://serveur-images.local/images/"
+ + +

Que vous utilisiez RewriteRule ou ProxyPass, vous devrez dans tous les cas +utiliser aussi la directive ProxyPassReverse pour intercepter les +redirections en provenance du serveur d'arrière-plan :

+ +
ProxyPassReverse "/images/" "http://serveur-images.local/images/"
+ + +

Vous devrez cependant tout de même utiliser RewriteRule +lorsque d'autres RewriteRules se trouvent dans la même portée, +car elles agissent en général avant les directives +ProxyPass, et peuvent ainsi les court-circuiter.

+ +
top
+
+

Test de variables d'environnement

+ +

mod_rewrite est souvent utilisé pour effectuer une +action en fonction de la présence ou de l'absence d'une variable +d'environnement particulière ou d'un en-tête de requête, ce qui peut +être accompli de manière plus efficace via la directive <If>.

+ +

Considérons par exemple le scénario courant où la directive +RewriteRule est utilisée pour forcer un nom +d'hôte canonique, tel que www.example.com au lieu de +example.com. Il est possible d'utiliser à la place la +directive <If> comme +suit :

+ +
<If "req('Host') != 'www.example.com'">
+    Redirect "/" "http://www.example.com"
+</If>
+ + +

On peut utiliser cette technique dans de nombreux scénarios courant +pour remplacer mod_rewrite pour effectuer des actions +en fonction d'en-têtes de requêtes ou de réponses, ou de variables +d'environnement.

+ +

Voir en particulier la documentation sur +l'évaluation des expressions pour une vue d'ensemble des types +d'expressions que vous pouvez utiliser dans les sections <If>, +ainsi que dans certaines directives.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/flags.html b/docs/manual/rewrite/flags.html new file mode 100644 index 0000000..e74abb3 --- /dev/null +++ b/docs/manual/rewrite/flags.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: flags.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: flags.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/flags.html.en b/docs/manual/rewrite/flags.html.en new file mode 100644 index 0000000..5ffd1b2 --- /dev/null +++ b/docs/manual/rewrite/flags.html.en @@ -0,0 +1,796 @@ + + + + + +RewriteRule Flags - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

RewriteRule Flags

+
+

Available Languages:  en  | + fr 

+
+ +

This document discusses the flags which are available to the +RewriteRule directive, +providing detailed explanations and examples.

+
+ +
top
+
+

Introduction

+

A RewriteRule can have +its behavior modified by one or more flags. Flags are included in +square brackets at the end of the rule, and multiple flags are separated +by commas.

+
RewriteRule pattern target [Flag1,Flag2,Flag3]
+ + +

Each flag (with a few exceptions) has a short form, such as +CO, as well as a longer form, such as cookie. +While it is most common to use +the short form, it is recommended that you familiarize yourself with the +long form, so that you remember what each flag is supposed to do. +Some flags take one or more arguments. Flags are not case sensitive.

+ +

Flags that alter metadata associated with the request (T=, H=, E=) +have no affect in per-directory and htaccess context, when a substitution +(other than '-') is performed during the same round of rewrite processing. +

+ +

Presented here are each of the available flags, along with an example +of how you might use them.

+
top
+
+

B (escape backreferences)

+

The [B] flag instructs RewriteRule to escape non-alphanumeric +characters before applying the transformation.

+

In 2.4.26 and later, you can limit the escaping to specific characters +in backreferences by listing them: [B=#?;]. Note: The space +character can be used in the list of characters to escape, but it cannot be +the last character in the list.

+ +

mod_rewrite has to unescape URLs before mapping them, +so backreferences are unescaped at the time they are applied. +Using the B flag, non-alphanumeric characters in backreferences +will be escaped. For example, consider the rule:

+ +
RewriteRule "^search/(.*)$" "/search.php?term=$1"
+ + +

Given a search term of 'x & y/z', a browser will encode it as +'x%20%26%20y%2Fz', making the request 'search/x%20%26%20y%2Fz'. Without the B +flag, this rewrite rule will map to 'search.php?term=x & y/z', which +isn't a valid URL, and so would be encoded as +search.php?term=x%20&y%2Fz=, which is not what was intended.

+ +

With the B flag set on this same rule, the parameters are re-encoded +before being passed on to the output URL, resulting in a correct mapping to +/search.php?term=x%20%26%20y%2Fz.

+ +
RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]
+ + +

Note that you may also need to set AllowEncodedSlashes to On to get this +particular example to work, as httpd does not allow encoded slashes in URLs, and +returns a 404 if it sees one.

+ +

This escaping is particularly necessary in a proxy situation, +when the backend may break if presented with an unescaped URL.

+ +

An alternative to this flag is using a RewriteCond to capture against %{THE_REQUEST} which will capture +strings in the encoded form.

+
top
+
+

BNP|backrefnoplus (don't escape space to +)

+

The [BNP] flag instructs RewriteRule to escape the space character +in a backreference to %20 rather than '+'. Useful when the backreference +will be used in the path component rather than the query string.

+ +

This flag is available in version 2.4.26 and later.

+ +
top
+
+

C|chain

+

The [C] or [chain] flag indicates that the RewriteRule is chained to the next +rule. That is, if the rule matches, then it is processed as usual and +control moves on to the next rule. However, if it does not match, then +the next rule, and any other rules that are chained together, are +skipped.

+ +
top
+
+

CO|cookie

+

The [CO], or [cookie] flag, allows you to set a cookie when a +particular RewriteRule +matches. The argument consists of three required fields and five optional +fields.

+ +

The full syntax for the flag, including all attributes, is as +follows:

+ +

+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite] +

+ +

If a literal ':' character is needed in any of the cookie fields, an +alternate syntax is available. To opt-in to the alternate syntax, the cookie +"Name" should be preceded with a ';' character, and field separators should be +specified as ';'.

+ +

+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite] +

+ +

You must declare a name, a value, and a domain for the cookie to be set.

+ +
+
Domain
+
The domain for which you want the cookie to be valid. This may be a +hostname, such as www.example.com, or it may be a domain, +such as .example.com. It must be at least two parts +separated by a dot. That is, it may not be merely .com or +.net. Cookies of that kind are forbidden by the cookie +security model.
+
+ +

You may optionally also set the following values:

+ +
+
Lifetime
+
The time for which the cookie will persist, in minutes.
+
A value of 0 indicates that the cookie will persist only for the +current browser session. This is the default value if none is +specified.
+ +
Path
+
The path, on the current website, for which the cookie is valid, +such as /customers/ or /files/download/.
+
By default, this is set to / - that is, the entire +website.
+ +
Secure
+
If set to secure, true, or 1, +the cookie will only be permitted to be translated via secure (https) +connections.
+ +
httponly
+
If set to HttpOnly, true, or +1, the cookie will have the HttpOnly flag set, +which means that the cookie is inaccessible to JavaScript code on +browsers that support this feature.
+ +
samesite
+
If set to anything other than false or 0, the SameSite +attribute is set to the specified value. Typical values are None, +Lax, and Strict. Available in 2.4.47 and later.
+
+ + +

Consider this example:

+ +
RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]
+ + +

In the example give, the rule doesn't rewrite the request. +The "-" rewrite target tells mod_rewrite to pass the request +through unchanged. Instead, it sets a cookie +called 'frontdoor' to a value of 'yes'. The cookie is valid for any host +in the .example.com domain. It is set to expire in 1440 +minutes (24 hours) and is returned for all URIs.

+ +
top
+
+

DPI|discardpath

+

The DPI flag causes the PATH_INFO portion of the rewritten URI to be +discarded.

+

This flag is available in version 2.2.12 and later.

+

In per-directory context, the URI each RewriteRule +compares against is the concatenation of the current values of the URI +and PATH_INFO.

+ +

The current URI can be the initial URI as requested by the client, the +result of a previous round of mod_rewrite processing, or the result of +a prior rule in the current round of mod_rewrite processing.

+ +

In contrast, the PATH_INFO that is appended to the URI before each +rule reflects only the value of PATH_INFO before this round of +mod_rewrite processing. As a consequence, if large portions +of the URI are matched and copied into a substitution in multiple +RewriteRule directives, without regard for +which parts of the URI came from the current PATH_INFO, the final +URI may have multiple copies of PATH_INFO appended to it.

+ +

Use this flag on any substitution where the PATH_INFO that resulted +from the previous mapping of this request to the filesystem is not of +interest. This flag permanently forgets the PATH_INFO established +before this round of mod_rewrite processing began. PATH_INFO will +not be recalculated until the current round of mod_rewrite processing +completes. Subsequent rules during this round of processing will see +only the direct result of substitutions, without any PATH_INFO +appended.

+
top
+
+

E|env

+

With the [E], or [env] flag, you can set the value of an environment +variable. Note that some environment variables may be set after the rule +is run, thus unsetting what you have set. See the +Environment Variables document for more details on how Environment +variables work.

+ +

The full syntax for this flag is:

+ +
[E=VAR:VAL]
+[E=!VAR]
+ + +

VAL may contain backreferences ($N or +%N) which are expanded.

+ +

Using the short form

+ +

+[E=VAR] +

+ +

you can set the environment variable named VAR to an +empty value.

+ +

The form

+ +

+[E=!VAR] +

+ +

allows to unset a previously set environment variable named +VAR.

+ +

Environment variables can then be used in a variety of +contexts, including CGI programs, other RewriteRule directives, or +CustomLog directives.

+ +

The following example sets an environment variable called 'image' to a +value of '1' if the requested URI is an image file. Then, that +environment variable is used to exclude those requests from the access +log.

+ +
RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image
+ + +

Note that this same effect can be obtained using SetEnvIf. This technique is offered as +an example, not as a recommendation.

+
top
+
+

END

+

Using the [END] flag terminates not only the current round of rewrite +processing (like [L]) but also prevents any subsequent rewrite +processing from occurring in per-directory (htaccess) context.

+ +

This does not apply to new requests resulting from external +redirects.

+
top
+
+

F|forbidden

+

Using the [F] flag causes the server to return a 403 Forbidden status +code to the client. While the same behavior can be accomplished using +the Deny directive, this +allows more flexibility in assigning a Forbidden status.

+ +

The following rule will forbid .exe files from being +downloaded from your server.

+ +
RewriteRule "\.exe" "-" [F]
+ + +

This example uses the "-" syntax for the rewrite target, which means +that the requested URI is not modified. There's no reason to rewrite to +another URI, if you're going to forbid the request.

+ +

When using [F], an [L] is implied - that is, the response is returned +immediately, and no further rules are evaluated.

+ +
top
+
+

G|gone

+

The [G] flag forces the server to return a 410 Gone status with the +response. This indicates that a resource used to be available, but is no +longer available.

+ +

As with the [F] flag, you will typically use the "-" syntax for the +rewrite target when using the [G] flag:

+ +
RewriteRule "oldproduct" "-" [G,NC]
+ + +

When using [G], an [L] is implied - that is, the response is returned +immediately, and no further rules are evaluated.

+ +
top
+
+

H|handler

+

Forces the resulting request to be handled with the specified +handler. For example, one might use this to force all files without a +file extension to be parsed by the php handler:

+ +
RewriteRule "!\." "-" [H=application/x-httpd-php]
+ + +

+The regular expression above - !\. - will match any request +that does not contain the literal . character. +

+ +

This can be also used to force the handler based on some conditions. +For example, the following snippet used in per-server context allows +.php files to be displayed by mod_php +if they are requested with the .phps extension:

+ +
RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]
+ + +

The regular expression above - ^(/source/.+\.php)s$ - will +match any request that starts with /source/ followed by 1 or +n characters followed by .phps literally. The backreference +$1 referrers to the captured match within parenthesis of the regular +expression.

+
top
+
+

L|last

+

The [L] flag causes mod_rewrite to stop processing +the rule set. In most contexts, this means that if the rule matches, no +further rules will be processed. This corresponds to the +last command in Perl, or the break command in +C. Use this flag to indicate that the current rule should be applied +immediately without considering further rules.

+ +

If you are using RewriteRule in either +.htaccess files or in +<Directory> sections, +it is important to have some understanding of how the rules are +processed. The simplified form of this is that once the rules have been +processed, the rewritten request is handed back to the URL parsing +engine to do what it may with it. It is possible that as the rewritten +request is handled, the .htaccess file or +<Directory> section +may be encountered again, and thus the ruleset may be run again from the +start. Most commonly this will happen if one of the rules causes a +redirect - either internal or external - causing the request process to +start over.

+ +

It is therefore important, if you are using RewriteRule directives in one of these +contexts, that you take explicit steps to avoid rules looping, and not +count solely on the [L] flag to terminate execution of a series of +rules, as shown below.

+ +

An alternative flag, [END], can be used to terminate not only the +current round of rewrite processing but prevent any subsequent +rewrite processing from occurring in per-directory (htaccess) +context. This does not apply to new requests resulting from external +redirects.

+ +

The example given here will rewrite any request to +index.php, giving the original request as a query string +argument to index.php, however, the RewriteCond ensures that if the request +is already for index.php, the RewriteRule will be skipped.

+ +
RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" "!=/index.php"
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]
+ +
top
+
+

N|next

+

+The [N] flag causes the ruleset to start over again from the top, using +the result of the ruleset so far as a starting point. Use +with extreme caution, as it may result in loop. +

+

+The [Next] flag could be used, for example, if you wished to replace a +certain string or letter repeatedly in a request. The example shown here +will replace A with B everywhere in a request, and will continue doing +so until there are no more As to be replaced. +

+
RewriteRule "(.*)A(.*)" "$1B$2" [N]
+ +

You can think of this as a while loop: While this +pattern still matches (i.e., while the URI still contains an +A), perform this substitution (i.e., replace the +A with a B).

+ +

In 2.4.8 and later, this module returns an error after 32,000 iterations to +protect against unintended looping. An alternative maximum number of +iterations can be specified by adding to the N flag.

+
# Be willing to replace 1 character in each pass of the loop
+RewriteRule "(.+)[><;]$" "$1" [N=64000]
+# ... or, give up if after 10 loops
+RewriteRule "(.+)[><;]$" "$1" [N=10]
+ + +
top
+
+

NC|nocase

+

Use of the [NC] flag causes the RewriteRule to be matched in a +case-insensitive manner. That is, it doesn't care whether letters appear +as upper-case or lower-case in the matched URI.

+ +

In the example below, any request for an image file will be proxied +to your dedicated image server. The match is case-insensitive, so that +.jpg and .JPG files are both acceptable, for +example.

+ +
RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]
+ +
top
+
+

NE|noescape

+

By default, special characters, such as & and +?, for example, will be converted to their hexcode +equivalent for rules that result in external redirects. +Using the [NE] flag prevents that from happening. +

+ +
RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]
+ + +

+The above example will redirect /anchor/xyz to +/bigpage.html#xyz. Omitting the [NE] will result in the # +being converted to its hexcode equivalent, %23, which will +then result in a 404 Not Found error condition. +

+ +
top
+
+

NS|nosubreq

+

Use of the [NS] flag prevents the rule from being used on +subrequests. For example, a page which is included using an SSI (Server +Side Include) is a subrequest, and you may want to avoid rewrites +happening on those subrequests. Also, when mod_dir +tries to find out information about possible directory default files +(such as index.html files), this is an internal +subrequest, and you often want to avoid rewrites on such subrequests. +On subrequests, it is not always useful, and can even cause errors, if +the complete set of rules are applied. Use this flag to exclude +problematic rules.

+ +

To decide whether or not to use this rule: if you prefix URLs with +CGI-scripts, to force them to be processed by the CGI-script, it's +likely that you will run into problems (or significant overhead) +on sub-requests. In these cases, use this flag.

+ +

+Images, javascript files, or css files, loaded as part of an HTML page, +are not subrequests - the browser requests them as separate HTTP +requests. +

+
top
+
+

P|proxy

+

Use of the [P] flag causes the request to be handled by +mod_proxy, and handled via a proxy request. For +example, if you wanted all image requests to be handled by a back-end +image server, you might do something like the following:

+ +
RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]
+ + +

Use of the [P] flag implies [L] - that is, the request is immediately +pushed through the proxy, and any following rules will not be +considered.

+ +

+You must make sure that the substitution string is a valid URI +(typically starting with http://hostname) which can be +handled by the mod_proxy. If not, you will get an +error from the proxy module. Use this flag to achieve a +more powerful implementation of the ProxyPass directive, +to map remote content into the namespace of the local server.

+ +
+

Security Warning

+

Take care when constructing the target URL of the rule, considering +the security impact from allowing the client influence over the set of +URLs to which your server will act as a proxy. Ensure that the scheme +and hostname part of the URL is either fixed, or does not allow the +client undue influence.

+
+ +
+

Performance warning

+

Using this flag triggers the use of mod_proxy, without handling of persistent connections. This +means the performance of your proxy will be better if you set it up with ProxyPass or +ProxyPassMatch

+

This is because this flag triggers the use of the default worker, which does not handle connection pooling/reuse.

+

Avoid using this flag and prefer those directives, whenever you can.

+
+ +

Note: mod_proxy must be enabled in order +to use this flag.

+ +
top
+
+

PT|passthrough

+ +

+The target (or substitution string) in a RewriteRule is assumed to be a +file path, by default. The use of the [PT] flag causes it to be treated +as a URI instead. That is to say, the +use of the [PT] flag causes the result of the RewriteRule to be passed back through +URL mapping, so that location-based mappings, such as Alias, Redirect, or ScriptAlias, for example, might have a +chance to take effect. +

+ +

+If, for example, you have an +Alias +for /icons, and have a RewriteRule pointing there, you should +use the [PT] flag to ensure that the +Alias is evaluated. +

+ +
Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]
+ + +

+Omission of the [PT] flag in this case will cause the Alias to be +ignored, resulting in a 'File not found' error being returned. +

+ +

The PT flag implies the L flag: +rewriting will be stopped in order to pass the request to +the next phase of processing.

+ +

Note that the PT flag is implied in per-directory +contexts such as +<Directory> sections +or in .htaccess files. The only way to circumvent that +is to rewrite to -.

+ +
top
+
+

QSA|qsappend

+

+When the replacement URI contains a query string, the default behavior +of RewriteRule is to discard +the existing query string, and replace it with the newly generated one. +Using the [QSA] flag causes the query strings to be combined. +

+ +

Consider the following rule:

+ +
RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]
+ + +

With the [QSA] flag, a request for /pages/123?one=two will be +mapped to /page.php?page=123&one=two. Without the [QSA] +flag, that same request will be mapped to +/page.php?page=123 - that is, the existing query string +will be discarded. +

+
top
+
+

QSD|qsdiscard

+

+When the requested URI contains a query string, and the target URI does +not, the default behavior of RewriteRule is to copy that query +string to the target URI. Using the [QSD] flag causes the query string +to be discarded. +

+ +

This flag is available in version 2.4.0 and later.

+ +

+Using [QSD] and [QSA] together will result in [QSD] taking precedence. +

+ +

+If the target URI has a query string, the default behavior will be +observed - that is, the original query string will be discarded and +replaced with the query string in the RewriteRule target +URI. +

+ +
top
+
+

QSL|qslast

+

+By default, the first (left-most) question mark in the substitution +delimits the path from the query string. Using the [QSL] flag instructs +RewriteRule to instead split +the two components using the last (right-most) question mark.

+ +

+This is useful when mapping to files that have literal question marks in +their filename. If no query string is used in the substitution, +a question mark can be appended to it in combination with this flag.

+ +

This flag is available in version 2.4.19 and later.

+ +
top
+
+

R|redirect

+

+Use of the [R] flag causes a HTTP redirect to be issued to the browser. +If a fully-qualified URL is specified (that is, including +http://servername/) then a redirect will be issued to that +location. Otherwise, the current protocol, servername, and port number +will be used to generate the URL sent with the redirect. +

+ +

+Any valid HTTP response status code may be specified, +using the syntax [R=305], with a 302 status code being used by +default if none is specified. The status code specified need not +necessarily be a redirect (3xx) status code. However, +if a status code is outside the redirect range (300-399) then the +substitution string is dropped entirely, and rewriting is stopped as if +the L were used.

+ +

In addition to response status codes, you may also specify redirect +status using their symbolic names: temp (default), +permanent, or seeother.

+ +

+You will almost always want to use [R] in conjunction with [L] (that is, +use [R,L]) because on its own, the [R] flag prepends +http://thishost[:thisport] to the URI, but then passes this +on to the next rule in the ruleset, which can often result in 'Invalid +URI in request' warnings. +

+ +
top
+
+

S|skip

+

The [S] flag is used to skip rules that you don't want to run. The +syntax of the skip flag is [S=N], where N signifies +the number of rules to skip (provided the +RewriteRule matches). This can be thought of as a goto +statement in your rewrite ruleset. In the following example, we only want +to run the RewriteRule if the +requested URI doesn't correspond with an actual file.

+ +
# Is the request for a non-existent file?
+RewriteCond "%{REQUEST_FILENAME}" "!-f"
+RewriteCond "%{REQUEST_FILENAME}" "!-d"
+# If so, skip these two RewriteRules
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"
+ + +

This technique is useful because a RewriteCond only applies to the +RewriteRule immediately +following it. Thus, if you want to make a RewriteCond apply +to several RewriteRules, one possible technique is to +negate those conditions and add a RewriteRule with a [Skip] flag. You can +use this to make pseudo if-then-else constructs: The last rule of +the then-clause becomes skip=N, where N is the +number of rules in the else-clause:

+
# Does the file exist?
+RewriteCond "%{REQUEST_FILENAME}" "!-f"
+RewriteCond "%{REQUEST_FILENAME}" "!-d"
+# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
+RewriteRule ".?" "-" [S=3]
+
+# IF the file exists, then:
+    RewriteRule "(.*\.gif)" "images.php?$1"
+    RewriteRule "(.*\.html)" "docs.php?$1"
+    # Skip past the "else" stanza.
+    RewriteRule ".?" "-" [S=1]
+# ELSE...
+    RewriteRule "(.*)" "404.php?file=$1"
+# END
+ + +

It is probably easier to accomplish this kind of configuration using +the <If>, <ElseIf>, and <Else> directives instead.

+ +
top
+
+

T|type

+

Sets the MIME type with which the resulting response will be +sent. This has the same effect as the AddType directive.

+ +

For example, you might use the following technique to serve Perl +source code as plain text, if requested in a particular way:

+ +
# Serve .pl files as plain text
+RewriteRule "\.pl$" "-" [T=text/plain]
+ + +

Or, perhaps, if you have a camera that produces jpeg images without +file extensions, you could force those images to be served with the +correct MIME type by virtue of their file names:

+ +
# Files with 'IMG' in the name are jpg images.
+RewriteRule "IMG" "-" [T=image/jpg]
+ + +

Please note that this is a trivial example, and could be better done +using <FilesMatch> +instead. Always consider the alternate +solutions to a problem before resorting to rewrite, which will +invariably be a less efficient solution than the alternatives.

+ +

+If used in per-directory context, use only - (dash) +as the substitution for the entire round of mod_rewrite processing, +otherwise the MIME-type set with this flag is lost due to an internal +re-processing (including subsequent rounds of mod_rewrite processing). +The L flag can be useful in this context to end the +current round of mod_rewrite processing.

+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/flags.html.fr.utf8 b/docs/manual/rewrite/flags.html.fr.utf8 new file mode 100644 index 0000000..75d9aa8 --- /dev/null +++ b/docs/manual/rewrite/flags.html.fr.utf8 @@ -0,0 +1,858 @@ + + + + + +Les drapeaux de réécriture - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Les drapeaux de réécriture

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Ce document décrit les drapeaux disponibles dans la directive +RewriteRule, en fournissant +des explications détaillées et des exemples.

+
+ +
top
+
+

Introduction

+

Le comportement d'une directive RewriteRule peut être modifié par un ou +plusieurs drapeaux. Les drapeaux sont situés en fin de règle, entourés +de crochets, et séparés le cas échéant par des virgules.

+
RewriteRule pattern target [Flag1,Flag2,Flag3]
+ + +

Chaque drapeau (à quelques exceptions près) +possède une forme courte, comme CO, ainsi qu'une forme longue, +comme cookie. Bien que +la forme courte soit la plus couramment utilisée, nous vous recommandons +de vous familiariser avec les drapeaux sous leur forme longue, afin de +bien mémoriser ce que chaque drapeau est supposé faire. +Certains drapeaux acceptent un ou plusieurs arguments. Les drapeaux ne +sont pas sensibles à la casse.

+ +

Les drapeaux qui modifient les métadonnées associées à la requête +(T=, H=, E=) n'ont aucun effet dans un contexte de répertoire ou de +fichier htaccess, lorsqu'une substitution (autre que '-') est effectuée +au cours de la même passe du processus de réécriture. +

+ +

Chaque drapeau disponible est présenté ici, avec un exemple +d'utilisation.

+
top
+
+

B (échappement dans les références arrières)

+

Avec le drapeau [B], la directive RewriteRule échappe les caractères +non-alphanumériques avant d'appliquer la transformation. A partir +de la version 2.4.26, vous pouvez limiter l'échappement dans les +références arrières à une liste de caractères que vous pouvez spécifiez comme +dans cet exemple : [B=#?;]. Notez que l'espace peut faire +partie de la liste des caractères à échapper, mais qu'il ne doit pas +être le dernier caractère de cette liste. +

+ +

mod_rewrite doit supprimer les séquences d'échappement +des URLs avant leur +mise en correspondance avec le système de fichiers ; les séquences +d'échappement sont donc supprimées des références arrières au moment où +ces dernières sont appliquées. Avec le drapeau B, les caractères +non-alphanumériques des références arrières seront échappés. Considérons +par exemple cette règle :

+ +
RewriteRule "^search/(.*)$" "/search.php?term=$1"
+ + +

Soit le terme de recherche 'x & y/z' ; un navigateur va le coder +en 'x%20%26%20y%2Fz', transformant la requête en +'search/x%20%26%20y%2Fz'. Sans le drapeau B, cette règle de réécriture +va réécrire la requête en 'search.php?term=x & y/z', ce qui ne +correspond pas à une URL valide et cette dernière sera encodée en +search.php?term=x%20&y%2Fz=, ce qui ne correspond pas à +ce que l'on souhaitait.

+ +

Avec le drapeau B, les paramètres sont réencodés avant d'être passés +à l'URL résultante, ce qui fournit une réécriture correcte en +/search.php?term=x%20%26%20y%2Fz.

+ +
RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]
+ + +

Notez que vous devrez peut-être aussi définir la +directive AllowEncodedSlashes +à On pour +que cet exemple particulier fonctionne, car httpd ne permet pas les +slashes encodés dans les URLs, et renvoie une erreur 404 s'il en +rencontre un.

+ +

Ce processus d'échappement est en particulier nécessaire dans le +contexte d'un mandataire, où l'accès au serveur d'arrière-plan échouera +si on présente à ce dernier une URL non échappée.

+ +

Une alternative à ce drapeau consiste à utiliser une directive +RewriteCond pour capturer +%{THE_REQUEST}, les chaînes capturées se présentant +alors sous la forme codée.

+ +
top
+
+

BNP|backrefnoplus (ne pas échapper +l'espace en +)

+

Si le drapeau [BNP] est spécifié, la directive RewriteRule échappera le caractère +espace en %20 au lieu de '+' dans les références arrières. Ceci s'avère +utile lorsque la référence arrière est utilisée dans la partie chemin, +et non dans les paramètres de la requête.

+ +

Ce drapeau est disponible à partir de la version 2.4.26 du serveur HTTP +Apache.

+ +
top
+
+

C|chain

+

Le drapeau [C] ou [chain] indique que la règle RewriteRule est chaînée avec la +suivante. Autrement dit, si la règle s'applique, elle est traitée +normalement et passe le contrôle à la règle suivante. Par contre, si +elle ne s'applique pas, la règle suivante, ainsi que toutes les règles +chaînées qui suivent, seront sautées.

+ +
top
+
+

CO|cookie

+

Le drapeau [CO], ou [cookie], vous permet de définir un cookie +lorsqu'une règle RewriteRule +s'applique. Il possède trois arguments obligatoires et +cinq arguments optionnels.

+ +

La syntaxe complète de ce drapeau, avec tous ses attributs, est la +suivante :

+ +

+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite] +

+ +

Si un caractère littéral ':' doit être insérer dans un des champs du +cookie, une autre syntaxe est disponible. Pour utiliser cette syntaxe +alternative, le contenu du champ "Name" doit être précédé du caractère +';', et les sépateurs de champs deviendront des ';'.

+ +

+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite] +

+ +

Vous devez déclarer un nom, une valeur et un domaine pour que +le cookie puisse être défini.

+ + +
+
Domain
+
Le domaine pour lequel vous souhaitez que le cookie soit valide. Ce +peut être un nom de serveur, comme www.example.com, ou un +domaine, comme .example.com. Il doit comporter au moins +deux parties séparées par un point. C'est à dire que vous ne pouvez pas +utiliser les valeurs .com ou .net. En effet, +ce style de cookie est interdit par le modèle de sécurité des cookies.
+
+ +

Vous pouvez aussi définir les valeurs suivantes :

+ +
+
Lifetime
+
La durée de vie du cookie, en minutes.
+
Une valeur de 0 indique une durée de vie correspondant à la session +courante du navigateur. Il s'agit de la valeur par défaut.
+ +
Path
+
Le chemin, sur le site web concerné, pour lequel le cookie est +valide, du style /clients/ or +/fichiers/telechargement/.
+
La valeur par défaut est / - c'est à dire l'ensemble du +site web.
+ +
Secure
+
Si cet argument a pour valeur secure, +true, ou 1, le cookie ne pourra être transmis +que dans le cadre d'une connexion sécurisée (https).
+ +
httponly
+
Si cet argument a pour valeur HttpOnly, +true, ou 1, le cookie aura son drapeau +HttpOnly activé, ce qui signifie qu'il sera inaccessible au +code JavaScript pour les navigateurs qui supportent cette +fonctionnalité.
+ +
samesite
+
S'il est différent de false ou 0, l'attribut +SameSite est défini à la valeur spécifiée. Les valeurs typiques +sont None, Lax et Strict. Disponible à +partir de la version 2.4.47 du serveur HTTP Apache.
+
+ +

Voici un exemple :

+ +
RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.org:1440:/]
+ + +

Dans l'exemple ci-dessus, la règle ne réécrit +pas la requête. La cible de réécriture "-" +indique à mod_rewrite de transmettre la requête sans +modification. Par contre, il +définit un cookie nommé 'frontdoor' avec une valeur 'yes'. Le cookie est +valide pour tout hôte situé dans le domaine .example.org. Sa +durée de vie est limitée à 1440 minutes (24 heures), et il sera renvoyé +pour tous les URIs.

+ +
top
+
+

DPI|discardpath

+

Avec le drapeau DPI, la partie PATH_INFO de l'URI +réécrit est supprimée.

+

Ce drapeau est disponible dans les versions 2.2.12 et supérieures.

+

Dans un contexte de répertoire, l'URI mis en comparaison par chaque +règle RewriteRule est la concaténation des +valeurs courantes de l'URI et de PATH_INFO.

+ +

L'URI courant peut être l'URI initial tel qu'il a été fourni par le +client, le résultat d'une passe précédente du processus de réécriture, +ou le résultat de la règle précédente dans le processus courant de +réécriture.

+ +

Par contre, la partie PATH_INFO ajoutée à l'URI avant chaque règle ne +reflète que la valeur de PATH_INFO avant la passe courante du processus +de réécriture. En conséquence, si de larges portions de l'URI +correspondent et sont traduites via plusieurs directives +RewriteRule, sans prendre en compte +quelles parties de l'URI provenaient du PATH_INFO courant, l'URI final +pourra se voir ajouter plusieurs copies de PATH_INFO.

+ +

Utilisez ce drapeau pour toute substitution où la présence du PATH_INFO qui +résultait de la mise en correspondance précédente de cette requête avec +le système de fichier n'est pas nécessaire. Avec ce drapeau, le +PATH_INFO établi avant que cette passe du processus de réécriture ne +débute est oublié. PATH_INFO ne sera pas recalculé tant que la passe +courante du processus de réécriture ne sera pas achevée. Les règles +suivantes de cette passe ne verront que le résultat direct des +substitutions, sans aucun PATH_INFO ajouté.

+
top
+
+

E|env

+

Avec le drapeau [E], ou [env], vous pouvez définir la valeur d'une +variable d'environnement. Notez que certaines variables d'environnement +peuvent être définies après le traitement de la règle, annulant par +la-même ce que vous avez défini. Voir le document +sur les variables d'environnement pour plus de détails sur le +fonctionnement des variables d'environnement.

+ +

La syntaxe complète pour ce drapeau est :

+ +
[E=!VAR]
+ + +

VAL peut comporter des références arrières +($N ou %N) qui seront développées.

+ +

En utilisant la version courte

+ +

+[E=VAR] +

+ +

vous pouvez définir la variable d'environnement nommée +VAR avec une valeur vide.

+ +

La forme

+ +

+[E=!VAR] +

+ +

permet d'annuler la définition de la variable VAR.

+ +

Les variables d'environnement s'emploient dans différents contextes, +comme les programmes CGI, d'autres directives RewriteRule, ou des +directives CustomLog.

+ +

L'exemple suivant définit une variable d'environnement nommée 'image' +avec une valeur de '1' si l'URI de la requête correspond à un fichier +image. Cette variable d'environnement est ensuite utilisée pour exclure +une telle requête du journal des accès.

+ +

+RewriteRule "\.(png|gif|jpg)" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image +

+ +

Notez que le même effet peut être obtenu à l'aide de la directive +SetEnvIf. Cette technique +est présentée à titre d'exemple et non de recommandation.

+
top
+
+

END

+

L'utilisation du drapeau [END] permet non seulement de terminer le +processus de réécriture en cours (comme [L]), mais aussi d'empêcher tout +processus de réécriture ultérieur dans un contexte de répertoire +(htaccess).

+ +

Ceci ne s'applique pas aux nouvelles requêtes résultant d'une +redirection externe.

+
top
+
+

F|forbidden

+

L'utilisation du drapeau [F] permet de faire envoyer par le serveur au +client un code de statut "403 Forbidden". Le même effet peut être obtenu à +l'aide de la directive Deny, +mais ce drapeau offre plus de souplesse dans l'attribution d'un statut +Forbidden.

+ +

La règle suivante va interdire la téléchargement de fichiers +.exe depuis votre serveur.

+ +
RewriteRule "\.exe" "-" [F]
+ + +

Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce +qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune +raison de réécrire un URI, si vous avez l'intention d'interdire la +requête.

+ +

Lorsqu'on utilise [F], [L] est implicite - c'est à dire que la +réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.

+ +
top
+
+

G|gone

+

Le drapeau [G] permet de faire envoyer par le serveur un code de statut +"410 Gone" avec la réponse. Ce code indique qu'une ressource qui était +disponible auparavant ne l'est plus actuellement.

+ +

Comme dans le cas du drapeau [F], on utilise en général la syntaxe +"-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :

+ +
RewriteRule "oldproduct" "-" [G,NC]
+ + +

Lorsqu'on utilise [G], [L] est implicite - c'est à dire que la +réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.

+ +
top
+
+

H|handler

+

Force le traitement de la requête résultante par le gestionnaire +spécifié. Par exemple, on peut utiliser ce drapeau pour forcer +l'interprétation de tous les fichiers sans extension par le gestionnaire +php :

+ +
RewriteRule "!\." "-" [H=application/x-httpd-php]
+ + +

+L'expression rationnelle ci-dessus - !\. - correspond à +toute requête qui ne contient pas le caractère .. +

+

On peut aussi utiliser ce drapeau pour forcer l'utilisation d'un +certain gestionnaire en fonction de certaines conditions. Par exemple, +l'extrait suivant utilisé dans un contexte de niveau serveur permet de +faire en sorte que les fichiers .php soient +affichés par mod_php dans le cas où ils font +l'objet d'une requête avec l'extension .phps :

+ +
RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]
+ + + +

L'expression rationnelle ci-dessus - +^(/source/.+\.php)s$ - va correspondre à toute requête qui +débutera par /source/, continuera par 1 ou n caractères +puis par .phps. La référence arrière $1 fait référence à la +correspondance capturée entre parenthèses de l'expression +rationnelle.

+ + +
top
+
+

L|last

+

Lorsque le drapeau [L] est présent, mod_rewrite +arrête le traitement du jeu de règles. Cela signifie dans la plupart des +situations que si la règle s'applique, aucune autre règle ne sera +traitée. Ce drapeau correspond à la commande Perl last, ou +à la commande break en C. Utilisez ce drapeau pour indiquer +que la règle courante doit être appliquée immédiatement, sans tenir +compte des règles ultérieures.

+ +

Si vous utilisez des règles RewriteRule dans des fichiers +.htaccess ou des sections <Directory>, il est important d'avoir quelques +notions sur la manière dont les règles sont traitées. Pour simplifier, +une fois les règles traitées, la requête réécrite est passée à nouveau +au moteur d'interprétation des URLs afin que ce dernier puisse la +traiter. Il est possible qu'au cours du traitement de la requête +réécrite, le fichier .htaccess ou la section <Directory> soient à nouveau +rencontrés, entraînant un nouveau traitement du jeu de règles depuis le +début. Cette situation se présente le plus souvent lorsqu'une des règles +provoque une redirection - interne ou externe - ce qui réinitialise le +traitement de la requête.

+ +

Si vous utilisez des directives RewriteRule dans un de ces contextes, +il importe par conséquent de prévoir explicitement des étapes permettant +d'éviter un bouclage infini sur les règles, +et de ne pas compter seulement sur +le drapeau [L] pour terminer l'exécution d'une série de règles, comme +décrit ci-dessous.

+ +

Un autre drapeau, [END], permet non seulement d'interrompre le cycle +courant du processus de réécriture, mais aussi d'empêcher toute +réécriture ultérieure dans le contexte de répertoire (htaccess). Ceci ne +s'applique pas aux nouvelles requêtes résultant de redirections +externes.

+ +

Dans l'exemple donné ici, toute requête est réécrite en +index.php, la requête originale étant ajoutée comme chaîne +de requête en argument à index.php ; cependant, la +directive RewriteCond permet de s'assurer que si +la requête concerne déjà index.php, la directive RewriteRule sera sautée.

+ +
RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" "!=/index.php"
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]
+ +
top
+
+

N|next

+

Le drapeau [N] provoque un redémarrage du traitement des règles +depuis le début, en utilisant le résultat du jeu de règles, sous +réserve qu'il existe un point de démarrage ; à utiliser avec précautions +car il peut provoquer un bouclage infini. +

+

+Le drapeau [Next] peut servir, par exemple, +à remplacer de manière répétitive +une chaîne de caractère ou une lettre dans une requête. Dans l'exemple +suivant, chaque occurence de A sera remplacée par B dans la requête, et +ceci jusqu'il n'y ait plus de A à remplacer. +

+ +
RewriteRule "(.*)A(.*)" "$1B$2" [N]
+ + +

Vous pouvez vous représenter ce traitement comme une boucle +while : tant que le modèle de la règle correspond (c'est à +dire, tant que l'URI contient un A), +effectuer la substitution (c'est à dire, remplacer le A par +un B).

+ +

A partir de la version 2.4.8, ce module renvoie une erreur après +32000 itérations afin d'éviter les boucles infinies. Ce nombre maximum +d'itération peut être modifié via le drapeau N.

+
# On veut remplacer 1 caractère à chaque itération de la boucle
+RewriteRule "(.+)[><;]$" "$1" [N=64000]
+# ... ou s'arrêter après 10 itérations
+RewriteRule "(.+)[><;]$" "$1" [N=10]
+ + +
top
+
+

NC|nocase

+

Avec le drapeau [NC], le modèle de la règle RewriteRule est comparé à la requête de +manière insensible à la casse. C'est à dire que cette comparaison +s'effectue sans tenir compte des majuscules/minuscules dans l'URI +comparé.

+ +

Dans l'exemple suivant, toute requête pour un fichier image sera +transmise par Apache à votre serveur d'images dédié. La correspondance est +insensible à la casse, si bien que par exemple, .jpg aussi +bien que .JPG seront acceptés.

+ +
RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]
+ +
top
+
+

NE|noescape

+

Par défaut, les caractères spéciaux, comme & et +?, sont convertis en leur équivalent hexadécimal pour les règles +qui génèrent des redirections externes. Le drapeau [NE] permet d'éviter cette +conversion.

+ +
RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]
+ + +

+Dans l'exemple ci-dessus, /anchor/xyz est réécrit en +/bigpage.html#xyz. En l'absence du drapeau [NE], le # +aurait été converti en son équivalent hexadécimal, %23, ce +qui aurait provoqué un code d'erreur "404 Not Found". +

+ +
top
+
+

NS|nosubreq

+

Le drapeau [NS] empêche la règle de s'appliquer aux sous-requêtes. +Par exemple, une page incluse au moyen d'une SSI (Server +Side Include) est une sous-requête, et vous ne voudrez probablement pas que +la réécriture s'applique à ces sous-requêtes. Ainsi, lorsque +mod_dir recherche des informations à propos des +fichiers par défaut du répertoire (comme les fichiers +index.html), il s'agit d'une sous-requête interne, et vous +ne désirez en général pas que ces sous-requêtes soient réécrites. Cette +réécriture +n'est pas toujours utile pour les sous-requêtes, et peut même causer des +erreurs si l'ensemble du jeu de règles est appliqué. L'utilisation de +ce drapeau permet d'exclure les règles qui peuvent poser problème.

+ +

Comment déterminer si vous devez utiliser cette règle ou non : si +vous préfixez les URLs avec des scripts CGI, afin de forcer leur +traitement par le script CGI, vous vous exposez à des problèmes (ou du +moins à une surcharge significative) avec les sous-requêtes. Dans ces +cas, vous devez utiliser ce drapeau.

+ +

+Les images, scripts java, ou fichiers css, chargés en tant que partie +d'une page html, ne sont pas des sous-requêtes - le navigateur les +appelle sous forme de requêtes HTTP à part entière. +

+
top
+
+

P|proxy

+

L'utilisation du drapeau [P] entraîne le traitement de la requête par +le module mod_proxy, et ceci via une requête de +mandataire. Par exemple, si vous voulez que toutes les requêtes d'images +soient traitées par un serveur d'images annexe, vous pouvez utiliser +une règle de ce style :

+ +
RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]
+ + +

L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] - +autrement dit, la requête est immédiatement envoyée au mandataire, et +toute règle ultérieure sera ignorée.

+ +

+Vous devez vous assurer que la chaîne de substitution soit un URI valide +(commençant typiquement par http://nom-serveur) +qui puisse être traitée par le module mod_proxy. Dans +le cas contraire, le module mandataire vous renverra une erreur. +L'utilisation de ce drapeau implémente de manière plus puissante la +directive ProxyPass, pour +faire correspondre le contenu distant à l'espace de nommage du serveur +local.

+ +
+

Avertissement à propos de la sécurité

+

Lors de la construction de l'URL cible de la règle, il convient + de prendre en compte l'impact en matière de sécurité qu'aura le + fait de permettre au client d'influencer le jeu d'URLs pour + lesquelles votre serveur agira en tant que mandataire. + Assurez-vous que la partie protocole://nom-serveur de l'URL soit + fixe, ou ne permette pas au client de l'influencer induement.

+
+ +
+

Avertissement au sujet des performances

+

Utiliser ce drapeau fait intervenir mod_proxy sans la gestion des connexions + persistantes, ce qui signifie que vous obtiendrez des performances meilleurs si vous utilisez + ProxyPass ou ProxyPassMatch.

+

Ceci est du au fait que ce drapeau induit l'utilisation du worker par défaut, qui + ne gère pas la mise en commun et la réutilisation des connexions.

+

Partout où cela est possible, préférez l'utilisation de ces directives.

+
+ +

Note: mod_proxy doit être activé pour pouvoir +utiliser ce drapeau.

+ +
top
+
+

PT|passthrough

+ +

+Par défaut, la cible (ou chaîne de substitution) d'une règle +RewriteRule est sensée être un chemin de fichier. Avec le drapeau [PT], +par contre, elle est traitée comme un URI. Autrement dit, avec le +drapeau [PT], le résultat de la règle RewriteRule est passé à nouveau au +système de mise en correspondance des URLs avec le système de fichiers, +de façon à ce que les systèmes de mise en correspondance basés sur les +chemins de fichiers, comme la directive Alias, Redirect, ou ScriptAlias, par exemple, puissent avoir une +chance d'accomplir leur tâche. +

+ +

+Si par exemple, vous avez un Alias pour /icons, et une règle RewriteRule qui renvoie vers /icons, +vous devez utiliser le drapeau [PT] pour être sûr que l'Alias sera bien évalué. +

+ +
Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]
+ + +

+Dans l'exemple précédent, en l'absence du drapeau [PT], l'Alias aurait +été ignoré, ce qui aurait provoqué une erreur 'File not found'. +

+ +

Avec le drapeau PT, le drapeau L est +implicite : la réécriture s'arrêtera afin de transmettre la requête à la +phase suivante du traitement.

+ +

Notez que le drapeau PT est implicite dans des contextes +de répertoire comme les sections <Directory> ou les fichiers +.htaccess. Le seul moyen de contourner ceci consiste à +réécrire vers -.

+ +
top
+
+

QSA|qsappend

+

+Quand l'URI de remplacement contient une chaîne de requête, le +comportement par défaut de la règle RewriteRule est de supprimer la +query string (il s'agit des paramètres éventuellement passés dans l'URL après le +caractère ?, usuellement pour les formulaires traités par la +méthode HTTP GET) existante, et de la remplacer par celle nouvellement créée. +Avec le drapeau [QSA], les chaînes de requête peuvent être combinées. +

+ +

Considérons la règle suivante :

+ +
RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]
+ + +

Avec le drapeau [QSA], une requête pour +/pages/123?one=two sera réécrite en +/page.php?page=123&one=two. Sans le drapeau [QSA], la +même requête sera réécrite en /page.php?page=123 - +autrement dit, la chaîne de requête (query string) existante sera supprimée. +

+
top
+
+

QSD|qsdiscard

+

+Lorsque l'URI de la requête contient une chaîne de paramètres, et si +l'URI cible n'en contient pas, le comportement par défaut de la +directive RewriteRule consiste à copier cette +chaîne de paramètres dans l'URI cible. Avec le drapeau [QSD], la chaîne +de paramètres est supprimée. +

+ +

Ce drapeau est disponible dans les versions 2.4.0 et supérieures.

+ +

+Lorsque les drapeaux [QSD] et [QSA] sont utilisés ensemble, c'est le +drapeau [QSD] qui l'emporte. +

+ +

+Si l'URI cible possède une chaîne de paramètres, le comportement par +défaut sera respecté - c'est à dire que la chaîne de paramètres +originale sera supprimée et remplacée par la chaîne de paramètres de +l'URI cible. +

+ +
top
+
+

QSL|qslast

+

+Par défaut, le premier (le plus à gauche) point d'interrogation de la +substitution sépare le chemin de la requête de sa chaîne de paramètres. Avec le +drapeau [QSL] au contraire, les deux composants seront séparés en utilisant le +dernier (le plus à droite) point d'interrogation.

+ +

+Cela peut s'avérer utile lorsqu'on recherche un fichier dont le nom contient des +points d'interrogation. Si aucune chaîne de paramètre n'est présente dans la +substitution, il est alors possible d'ajouter un point d'interrogation à la fin +et d'utiliser ce drapeau.

+ +

Ce drapeau est disponible à partir de la version 2.4.19 du serveur HTTP +Apache.

+ +
top
+
+

R|redirect

+

+L'utilisation du drapeau [R] provoque l'envoi d'une redirection au +navigateur. Si une URL pleinement qualifiée (FQDN - fully qualified domain name) + est spécifiée (c'est à dire incluant http://nom-du-serveur/), + une redirection sera effectuée vers cette adresse. Dans le cas contraire, + le protocole courant, le nom du serveur et le numéro de port seront + utilisés pour générer l'URL envoyée avec la redirection. +

+ +

Tout code de statut de réponse HTTP valide peut être +spécifié, en utilisant la syntaxe [R=305], le code de statut 302 étant +utilisé par défaut si aucun code n'est spécifié. Le code de statut +spécifié n'est pas nécessairement un code de statut +de redirection (3xx). Cependant, si le code de statut est en dehors de la plage des codes de +redirection (300-399), la chaîne de substitution est entièrement +supprimée, et la réécriture s'arrête comme si le drapeau L +était utilisé.

+ +

En plus des codes de statut de réponse, vous pouvez spécifier les +codes de redirection en utilisant leurs noms symboliques : +temp (défaut), permanent, ou +seeother.

+ +

+Vous utiliserez presque toujours [R] en conjonction avec [L] (c'est à +dire [R,L]), car employé seul, le drapeau [R] préfixe l'URI avec +http://cet-hôte[:ce-port], mais passe ensuite cette adresse +à la règle suivante, ce qui provoquera le plus souvent des +avertissements 'Invalid URI in request'. +

+ +
top
+
+

S|skip

+

Le drapeau [S] sert à sauter des règles que vous ne voulez pas voir +exécuter. La syntaxe du drapeau [S] est [S=N], où +N correspond au nombre de règles à sauter (sous +réserve que la règle RewriteRule corresponde). +Ceci peut s'interpréter comme une instruction +goto dans votre jeu de règles de réécriture. Dans +l'exemple suivant, nous ne voulons exécuter la règle RewriteRule que si l'URI demandé ne +correspond pas à un fichier existant.

+
# La requête concerne-t-elle un fichier qui n'existe pas ?
+RewriteCond "%{REQUEST_FILENAME}" "!-f"
+RewriteCond "%{REQUEST_FILENAME}" "!-d"
+# Si c'est la cas, on saute les deux règles de réécriture suivantes
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"
+ + + + +

Cette technique trouve son utilité dans le fait qu'une directive +RewriteCond ne s'applique +qu'à la règle qui la suit immédiatement. Ainsi, si vous voulez +qu'une directive RewriteCond s'applique à plusieurs règles +RewriteRule, une technique possible consiste à inverser ces +conditions et ajouter une RewriteRule avec le drapeau [Skip]. Cette technique permet +d'élaborer des pseudo-constructions if-then-else : la dernière règle du +bloc then contiendra skip=N, où N est le nombre de règles +contenues dans le bloc else :

+
# Est-ce que le fichier existe ?
+RewriteCond "%{REQUEST_FILENAME}" "!-f"
+RewriteCond "%{REQUEST_FILENAME}" "!-d"
+# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
+RewriteRule ".?" "-" [S=3]
+
+# Si le fichier existe, alors :
+RewriteRule "(.*\.gif)" "images.php?$1"
+    RewriteRule "(.*\.html)" "docs.php?$1"
+    # Skip past the "else" stanza.
+    RewriteRule ".?" "-" [S=1]
+# ELSE...
+RewriteRule "(.*)" "404.php?file=$1
+# END
+ + +

Il est probablement plus aisé de définir ce genre de configuration +via les directives <If>, <ElseIf>, et <Else>.

+ +
top
+
+

T|type

+

Définit le type MIME de la réponse résultante renvoyée. L'effet est +identique à celui de la directive AddType.

+ +

Par exemple, vous pouvez utiliser la technique suivante pour servir +du code source Perl en tant que plein texte, s'il est requis d'une +certaine manière :

+ +
# Sert les fichier .pl en tant que plein texte
+RewriteRule "\.pl$" "-" [T=text/plain]
+ + +

Ou encore, si vous possédez une caméra qui produit des fichiers +images jpeg sans extension, vous pouvez forcer le renvoi de ces images +avec le type MIME correct en se basant sur le nom du fichier :

+ +
# Les fichiers dont le nom contient 'IMG' sont des images jpg.
+RewriteRule "IMG" "-" [T=image/jpg]
+ + +

Notez cependant qu'il s'agit d'un exemple trivial, et que le problème +aurait pu être résolu en utilisant à la place la directive <FilesMatch>. Il faut toujours +envisager la possibilité d'une solution alternative à un problème avant +d'avoir recours à la réécriture, qui sera toujours moins efficace qu'une +solution alternative.

+ +

+Dans un contexte de niveau répertoire, n'utilisez que - +(tiret) comme substitution, dans toute la séquence de réécriture de +mod_rewrite, sinon le type MIME défini avec ce drapeau +sera perdu suite à un retraitement interne (y compris les séquences de +réécriture suivantes de mod_rewrite). Dans ce contexte, vous pouvez +utiliser le drapeau L pour terminer la séquence +courante de réécriture de mod_rewrite.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/htaccess.html b/docs/manual/rewrite/htaccess.html new file mode 100644 index 0000000..848460b --- /dev/null +++ b/docs/manual/rewrite/htaccess.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: htaccess.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: htaccess.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/htaccess.html.en b/docs/manual/rewrite/htaccess.html.en new file mode 100644 index 0000000..82ba78c --- /dev/null +++ b/docs/manual/rewrite/htaccess.html.en @@ -0,0 +1,66 @@ + + + + + +mod_rewrite and .htaccess files - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

mod_rewrite and .htaccess files

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It describes +the way that the rules change when you use mod_rewrite in .htaccess files, +and how to deal with these changes.

+ +
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/htaccess.html.fr.utf8 b/docs/manual/rewrite/htaccess.html.fr.utf8 new file mode 100644 index 0000000..c44d1cb --- /dev/null +++ b/docs/manual/rewrite/htaccess.html.fr.utf8 @@ -0,0 +1,67 @@ + + + + + +mod_rewrite et les fichiers .htaccess - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

mod_rewrite et les fichiers .htaccess

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément de la documentation de référence du module +mod_rewrite. Il décrit les changements apportés aux règles +lorsqu'on utilise mod_rewrite dans les fichiers .htaccess, et comment +travailler avec ces changements.

+ +
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/index.html b/docs/manual/rewrite/index.html new file mode 100644 index 0000000..fa23ff6 --- /dev/null +++ b/docs/manual/rewrite/index.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/index.html.en b/docs/manual/rewrite/index.html.en new file mode 100644 index 0000000..fb6fc6a --- /dev/null +++ b/docs/manual/rewrite/index.html.en @@ -0,0 +1,96 @@ + + + + + +Apache mod_rewrite - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache mod_rewrite

+
+

Available Languages:  en  | + fr  | + tr  | + zh-cn 

+
+ + +

mod_rewrite provides a way to modify incoming + URL requests, dynamically, based on regular + expression rules. This allows you to map arbitrary URLs onto + your internal URL structure in any way you like.

+ +

It supports an unlimited number of rules and an + unlimited number of attached rule conditions for each rule to + provide a really flexible and powerful URL manipulation + mechanism. The URL manipulations can depend on various tests: + server variables, environment variables, HTTP + headers, time stamps, external database lookups, and various other + external programs or handlers, can be used to achieve granular URL + matching.

+ +

Rewrite rules can operate on the full URLs, including the path-info + and query string portions, and may be used in per-server context + (httpd.conf), per-virtualhost context (<VirtualHost> blocks), or + per-directory context (.htaccess files and <Directory> blocks). The + rewritten result can lead to further rules, internal + sub-processing, external request redirection, or proxy + passthrough, depending on what flags you + attach to the rules.

+ +

Since mod_rewrite is so powerful, it can indeed be rather + complex. This document supplements the reference documentation, and + attempts to allay some of that complexity, and provide highly + annotated examples of common scenarios that you may handle with + mod_rewrite. But we also attempt to show you when you should not + use mod_rewrite, and use other standard Apache features instead, + thus avoiding this unnecessary complexity.

+ + + +
+ +
+
+

Available Languages:  en  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/index.html.fr.utf8 b/docs/manual/rewrite/index.html.fr.utf8 new file mode 100644 index 0000000..a180a6d --- /dev/null +++ b/docs/manual/rewrite/index.html.fr.utf8 @@ -0,0 +1,110 @@ + + + + + +Le module Apache mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Le module Apache mod_rewrite

+
+

Langues Disponibles:  en  | + fr  | + tr  | + zh-cn 

+
+ + +

mod_rewrite permet de modifier les requêtes + entrantes dynamiquement, en fonction de règles manipulant des expressions rationnelles. Vous pouvez + ainsi relier des URLs arbitraires à votre propre structure d'URLs + interne comme vous le souhaitez.

+ +

Il fournit un + mécanisme de manipulation d'URL particulièrement souple et + puissant en supportant un nombre illimité de règles et de + conditions attachées à chaque règle. Les manipulations d'URLs + peuvent dépendre de tests variés : les URLs peuvent + être finement caractérisées en fonction de variables du serveur, + de variables d'environnement, d'en-têtes HTTP, de repères + temporels, de recherches dans des bases de données + externes, ou même de requêtes vers des bases de données externes + et de différents gestionnaires ou programmes externes.

+ +

Les règles de réécriture peuvent agir sur l'ensemble des URLs (la partie chemin + et la chaîne de paramètres) et peuvent être utilisées dans le contexte du serveur principal + (httpd.conf), mais aussi dans le contexte des + serveurs virtuels (sections <VirtualHost>), ou dans le + contexte des + répertoires (fichiers .htaccess et blocs + <Directory>. Le résultat + réécrit peut conduire vers d'autres règles à un + traitement secondaire interne, une redirection vers une requête + externe ou même l'envoi vers un serveur mandataire, en fonction + des drapeaux que vous attachez aux + règles

+ +

mod_rewrite étant très puissant, il peut par + conséquent être très complexe. Ce document + complète la documentation de + référence du module mod_rewrite, et est sensé alléger un + peu cette complexité, et présenter des exemples largement + commentés, ainsi que des situations courantes que vous + pourrez traiter avec mod_rewrite. Mais nous voulons aussi vous + montrer des situations où vous ne devrez pas utiliser + mod_rewrite, et lui préférer d'autres + fonctionnalités standard d'Apache, évitant ainsi + d'entrer dans une complexité inutile.

+ + +
+ +
+
+

Langues Disponibles:  en  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/index.html.tr.utf8 b/docs/manual/rewrite/index.html.tr.utf8 new file mode 100644 index 0000000..ddbe388 --- /dev/null +++ b/docs/manual/rewrite/index.html.tr.utf8 @@ -0,0 +1,91 @@ + + + + + +Apache mod_rewrite - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache mod_rewrite

+
+

Mevcut Diller:  en  | + fr  | + tr  | + zh-cn 

+
+ +

mod_rewrite modülü gelen URL isteklerinde değişiklik + yapabilmek için düzenli ifade kurallarına + dayalı, devingen bir yol sunar. Böylece, keyfi URL'leri dahili URL + yapınızla kolayca eşleyebilirsiniz.

+ +

Gerçekten esnek ve güçlü bir URL kurgulama mekanizması oluşturmak için + sınısız sayıda kural ve her kural için de sınırsız sayıda koşul destekler. + URL değişiklikleri çeşitli sınamalara dayanır; sunucu değişkenleri, HTTP + başlıkları, ortam değişkenleri, zaman damgaları hatta çeşitli biçimlerde + harici veritabanı sorguları bile bu amaçla kullanılabilir.

+ +

Yeniden yazma kuralları URL’lerin tamamında (path-info kısmı ve sorgu + dizgesi dahil) hem sunucu bağlamında (httpd.conf) hem sanal + konaklar bağlamında (<VirtualHost> bölümleri), hem de dizin bağlamında + (.htaccess dosyaları ve <Directory> + bölümleri) çalışır ve URL üzerinde sorgu dizgesi bölümleri bile + oluşturabilir. Kurallara atadığınız seçeneklere + bağlı olarak, yeniden yazılan URL sonuçta dahili işlemlerde, harici + yönlendirmelerde ve vekalet işlemlerinde kullanılabilir.

+ +

mod_rewrite modülü çok güçlü olduğundan, gerçekten çok + karmaşık olabilir. Bu belge, başvuru + belgelerinin tamamlayıcısı olup karmaşıklığı biraz azaltmaya çalışır + ve mod_rewrite ile elde edilebilen ortak senaryoların + oldukça açıklamalı örneklerini sağlar. Fakat ayrıca, + mod_rewrite modülünü kullanmamanız, yerine standart + Apache özelliklerini kullanmanız gereken durumları da göstermeye, + böylece gereksiz karmaşıklıktan kurtulmanızı sağlamaya çalıştık.

+ + +
+ +
+
+

Mevcut Diller:  en  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/index.html.zh-cn.utf8 b/docs/manual/rewrite/index.html.zh-cn.utf8 new file mode 100644 index 0000000..2191a4d --- /dev/null +++ b/docs/manual/rewrite/index.html.zh-cn.utf8 @@ -0,0 +1,80 @@ + + + + + +Apache mod_rewrite - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

Apache mod_rewrite

+
+

å¯ç”¨è¯­è¨€:  en  | + fr  | + tr  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

mod_rewrite æ供了基于正则表达å¼è§„则动æ€ä¿®æ”¹ä¼ å…¥çš„请求的 URL 的方法。 + è¿™å…许你以自己喜欢的任æ„æ–¹æ³•æ˜ å°„ä»»æ„ URL 到你的内部 URL 结构。

+ +

它支æŒæ— é™çš„规则,以åŠä¸ºæ¯ä¸ªè§„则附加æ¡ä»¶ï¼Œä»Žè€Œæ供了一个真正çµæ´»ä¸”强大的 URL + æ“作机制。URL æ“作å¯ä»¥ä¾èµ–于å„ç§æµ‹è¯•ï¼Œä¾‹å¦‚æœåŠ¡å™¨å˜é‡ï¼ŒçŽ¯å¢ƒå˜é‡ï¼ŒHTTP + 头,时戳,甚至外部数æ®åº“æŸ¥è¯¢ç­‰ï¼Œä»¥ä¾¿å®Œæˆ URL å•å…ƒåŒ¹é…。

+ +

这个模å—在æœåŠ¡å™¨ä¸Šä¸‹æ–‡ (httpd.conf),虚拟主机上下文 (<VirtualHost> 指令å—),目录上下文 + (.htaccess 文件和 <Directory> + 指令å—) 对完整的 URL (包å«ç›®å½•ä¿¡æ¯éƒ¨åˆ†å’ŒæŸ¥è¯¢å­—符串部分) æ“作。 + é‡å†™ç»“æžœå¯ä»¥å¯¼è‡´æ–°çš„规则处ç†ï¼Œå†…部的åŽç»­å¤„ç†ï¼Œå¤–部请求é‡å®šå‘,甚至é€è¿‡å†…部代ç†ï¼Œ + è¿™å–决于你为规则附加的标志。

+ +

既然 mod_rewrite 这么强大,它当然是相当å¤æ‚。这篇文档作为å‚考手册的补充,试图å‡è½»ä¸€äº›å¤æ‚性, + æ供你å¯èƒ½ä½¿ç”¨ mod_rewrite 的常è§åœºæ™¯çš„有充分注释的例å­ã€‚ + 但是,我们也试图告诉你,在什么时候你ä¸åº”当使用 mod_rewrite, + å¯ä»¥ä½¿ç”¨å…¶å®ƒæ ‡å‡†çš„ Apache 特性æ¥è¾¾åˆ°ç›®çš„,以é¿å…æ— è°“çš„å¤æ‚性。

+ + +
+ +
+
+

å¯ç”¨è¯­è¨€:  en  | + fr  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/intro.html b/docs/manual/rewrite/intro.html new file mode 100644 index 0000000..53af197 --- /dev/null +++ b/docs/manual/rewrite/intro.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: intro.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: intro.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/intro.html.en b/docs/manual/rewrite/intro.html.en new file mode 100644 index 0000000..a612af9 --- /dev/null +++ b/docs/manual/rewrite/intro.html.en @@ -0,0 +1,400 @@ + + + + + +Apache mod_rewrite Introduction - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache mod_rewrite Introduction

+
+

Available Languages:  en  | + fr 

+
+ +

This document supplements the mod_rewrite +reference documentation. It +describes the basic concepts necessary for use of +mod_rewrite. Other documents go into greater detail, +but this doc should help the beginner get their feet wet. +

+
+ +
top
+
+

Introduction

+

The Apache module mod_rewrite is a very powerful and +sophisticated module which provides a way to do URL manipulations. With +it, you can do nearly all types of URL rewriting that you may need. It +is, however, somewhat complex, and may be intimidating to the beginner. +There is also a tendency to treat rewrite rules as magic incantation, +using them without actually understanding what they do.

+ +

This document attempts to give sufficient background so that what +follows is understood, rather than just copied blindly. +

+ +

Remember that many common URL-manipulation tasks don't require the +full power and complexity of mod_rewrite. For simple +tasks, see mod_alias and the documentation +on mapping URLs to the +filesystem.

+ +

Finally, before proceeding, be sure to configure +mod_rewrite's log level to one of the trace levels using +the LogLevel directive. Although this +can give an overwhelming amount of information, it is indispensable in +debugging problems with mod_rewrite configuration, since +it will tell you exactly how each rule is processed.

+ +
top
+
+

Regular Expressions

+ +

mod_rewrite uses the Perl Compatible +Regular Expression vocabulary. In this document, we do not attempt +to provide a detailed reference to regular expressions. For that, we +recommend the PCRE man pages, the +Perl regular +expression man page, and Mastering +Regular Expressions, by Jeffrey Friedl.

+ +

In this document, we attempt to provide enough of a regex vocabulary +to get you started, without being overwhelming, in the hope that +RewriteRules will be scientific +formulae, rather than magical incantations.

+ +

Regex vocabulary

+ +

The following are the minimal building blocks you will need, in order +to write regular expressions and RewriteRules. They certainly do not +represent a complete regular expression vocabulary, but they are a good +place to start, and should help you read basic regular expressions, as +well as write your own.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CharacterMeaningExample
.Matches any single characterc.t will match cat, cot, + cut, etc
+Repeats the previous match one or more timesa+ matches a, aa, + aaa, etc
*Repeats the previous match zero or more timesa* matches all the same things a+ matches, + but will also match an empty string
?Makes the match optionalcolou?r will match color and + colour
\Escape the next character\. will match . (dot) and not any single + character as explain above
^Called an anchor, matches the beginning of the string^a matches a string that begins with a
$The other anchor, this matches the end of the stringa$ matches a string that ends with a
( )Groups several characters into a single unit, and captures a match + for use in a backreference(ab)+ matches ababab - that is, the + + applies to the group. For more on backreferences see + below
[ ]A character class - matches one of the charactersc[uoa]t matches cut, cot or + cat
[^ ]Negative character class - matches any character not specifiedc[^/]t matches cat or c=t but + not c/t
+ +

In mod_rewrite the ! character can be +used before a regular expression to negate it. This is, a string will +be considered to have matched only if it does not match the rest of +the expression.

+ + + +

Regex Back-Reference Availability

+ +

One important thing here has to be remembered: Whenever you + use parentheses in Pattern or in one of the + CondPattern, back-references are internally created + which can be used with the strings $N and + %N (see below). These are available for creating + the Substitution parameter of a + RewriteRule or + the TestString parameter of a + RewriteCond.

+

Captures in the RewriteRule patterns are (counterintuitively) available to + all preceding + RewriteCond directives, + because the RewriteRule + expression is evaluated before the individual conditions.

+ +

Figure 1 shows to which + locations the back-references are transferred for expansion as + well as illustrating the flow of the RewriteRule, RewriteCond + matching. In the next chapters, we will be exploring how to use + these back-references, so do not fret if it seems a bit alien + to you at first. +

+ +

+ Flow of RewriteRule and RewriteCond matching
+ Figure 1: The back-reference flow through a rule.
+ In this example, a request for /test/1234 would be transformed into /admin.foo?page=test&id=1234&host=admin.example.com. +

+ + +
top
+
+

RewriteRule Basics

+

A RewriteRule consists +of three arguments separated by spaces. The arguments are

+
    +
  1. Pattern: which incoming URLs should be affected by the rule;
  2. +
  3. Substitution: where should the matching requests be sent;
  4. +
  5. [flags]: options affecting the rewritten request.
  6. +
+ +

The Pattern is a regular expression. +It is initially (for the first rewrite rule or until a substitution occurs) +matched against the URL-path of the incoming request (the part after the +hostname but before any question mark indicating the beginning of a query +string) or, in per-directory context, against the request's path relative +to the directory for which the rule is defined. Once a substitution has +occurred, the rules that follow are matched against the substituted +value. +

+ +

+ Syntax of the RewriteRule directive
+ Figure 2: Syntax of the RewriteRule directive. +

+ + +

The Substitution can itself be one of three things:

+ +
+
1. A full filesystem path to a resource
+
+
RewriteRule "^/games" "/usr/local/games/web/puzzles.html"
+ +

This maps a request to an arbitrary location on your filesystem, much +like the Alias directive.

+
+ +
2. A web-path to a resource
+
+
RewriteRule "^/games$" "/puzzles.html"
+ +

If DocumentRoot is set +to /usr/local/apache2/htdocs, then this directive would +map requests for http://example.com/games to the +path /usr/local/apache2/htdocs/puzzles.html.

+ +
+ +
3. An absolute URL
+
+
RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]
+ +

This tells the client to make a new request for the specified URL.

+
+
+ +
Note that 1 and 2 have exactly the same syntax. The difference between them is that in the case of 1, the top level of the target path (i.e., /usr/) exists on the filesystem, where as in the case of 2, it does not. (i.e., there's no /bar/ as a root-level directory in the filesystem.)
+ +

The Substitution can also +contain back-references to parts of the incoming URL-path +matched by the Pattern. Consider the following:

+
RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"
+ +

The variable $1 will be replaced with whatever text +was matched by the expression inside the parenthesis in +the Pattern. For example, a request +for http://example.com/product/r14df/view will be mapped +to the path /var/web/productdb/r14df.

+ +

If there is more than one expression in parenthesis, they are +available in order in the +variables $1, $2, $3, and so +on.

+ + +
top
+
+

Rewrite Flags

+

The behavior of a RewriteRule can be modified by the +application of one or more flags to the end of the rule. For example, the +matching behavior of a rule can be made case-insensitive by the +application of the [NC] flag: +

+
RewriteRule "^puppy.html" "smalldog.html" [NC]
+ + +

For more details on the available flags, their meanings, and +examples, see the Rewrite Flags document.

+ +
top
+
+

Rewrite Conditions

+

One or more RewriteCond +directives can be used to restrict the types of requests that will be +subject to the +following RewriteRule. The +first argument is a variable describing a characteristic of the +request, the second argument is a regular +expression that must match the variable, and a third optional +argument is a list of flags that modify how the match is evaluated.

+ +

+ Syntax of the RewriteCond directive
+ Figure 3: Syntax of the RewriteCond directive +

+ +

For example, to send all requests from a particular IP range to a +different server, you could use:

+
RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)"           "http://intranet.example.com$1"
+ + +

When more than +one RewriteCond is +specified, they must all match for +the RewriteRule to be +applied. For example, to deny requests that contain the word "hack" in +their query string, unless they also contain a cookie containing +the word "go", you could use:

+
RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}"  !go
+RewriteRule "."               "-"   [F]
+ +

Notice that the exclamation mark specifies a negative match, so the rule is only applied if the cookie does not contain "go".

+ +

Matches in the regular expressions contained in +the RewriteConds can be +used as part of the Substitution in +the RewriteRule using the +variables %1, %2, etc. For example, this +will direct the request to a different directory depending on the +hostname used to access the site:

+
RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)"       "/sites/%1/$1"
+ +

If the request was for http://example.com/foo/bar, +then %1 would contain example.com +and $1 would contain foo/bar.

+ + + +
top
+
+

Rewrite maps

+ +

The RewriteMap directive +provides a way to call an external function, so to speak, to do your +rewriting for you. This is discussed in greater detail in the RewriteMap supplementary documentation.

+
top
+
+

.htaccess files

+ +

Rewriting is typically configured in the main server configuration +setting (outside any <Directory> section) or +inside <VirtualHost> +containers. This is the easiest way to do rewriting and is +recommended. It is possible, however, to do rewriting +inside <Directory> +sections or .htaccess +files at the expense of some additional complexity. This technique +is called per-directory rewrites.

+ +

The main difference with per-server rewrites is that the path +prefix of the directory containing the .htaccess file is +stripped before matching in +the RewriteRule. In addition, the RewriteBase should be used to assure the request is properly mapped.

+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/intro.html.fr.utf8 b/docs/manual/rewrite/intro.html.fr.utf8 new file mode 100644 index 0000000..6497b7a --- /dev/null +++ b/docs/manual/rewrite/intro.html.fr.utf8 @@ -0,0 +1,426 @@ + + + + + +Introduction au module Apache mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Introduction au module Apache mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Ce document est un complément à la documentation de référence du module +mod_rewrite. Il décrit les concepts de base dont la +connaissance est nécessaire pour l'utilisation de +mod_rewrite. D'autres documents entrent d'avantage dans +les détails, mais celui-ci devrait aider le débutant à se mouiller les +pieds. +

+
+ +
top
+
+

Introduction

+

Le module Apache mod_rewrite est un module puissant +et sophistiqué qui permet la réécriture des URLs. Grâce à lui, vous +pouvez effectuer quasiment tous les types de réécriture d'URLs dont vous +avez besoin. Il est cependant assez complexe, et peut paraître +intimidant au débutant. Certains ont aussi tendance à traiter les +règles de réécriture comme des incantations magiques, et à les utiliser +sans vraiment comprendre leur manière d'agir.

+ +

Ce document a pour ambition d'être suffisamment explicite pour +permettre la compréhension, et non la copie en aveugle, de ce qui suit. +

+ +

Gardez à l'esprit que de nombreuses tâches de manipulation d'URLs +courantes n'ont pas besoin de la puissance et de la complexité de +mod_rewrite. Pour les tâches simples, voir +mod_alias et la documentation sur la Mise en correspondance des URLs avec le +système de fichiers.

+ +

Enfin, avant de procéder, assurez-vous d'avoir configuré le niveau de +journalisation de mod_rewrite à un des niveaux de trace +via la directive LogLevel. Bien que +ceci risque de vous submerger sous une énorme quantité d'informations, +le débogage des problèmes avec la configuration de +mod_rewrite est à ce prix car vous verrez alors +exactement comment chaque règle est traitée.

+ +
top
+
+

Expressions rationnelles

+ +

mod_rewrite utilise le vocabulaire des Expressions rationnelles compatibles Perl. +Ce document n'a pas pour prétention d'être une référence détaillée des +expressions rationnelles. A cet effet, nous recommandons les pages de manuel de PCRE, la page de manuel des +expressions rationnelles Perl, et l'ouvrage Mastering +Regular Expressions, by Jeffrey Friedl.

+ +

Dans ce document, nous avons pour but de vous fournir suffisamment de +vocabulaire des expressions rationnelles pour vous mettre le pied à +l'étrier, sans être dépassé, en espérant que les directives RewriteRule vous apparaîtront comme des +formules scientifiques, plutôt que comme des incantations magiques.

+ +

Vocabulaire des expressions rationnelles

+ +

Vous trouverez dans ce qui suit le minimum à connaître pour être en +mesure d'écrire des expressions rationnelles et des règles RewriteRule. Ceci ne représente +certainement pas un vocabulaire des expressions rationnelles complet, +mais constitue un bon point de départ, et devrait vous aider à +déchiffrer les expressions rationnelles simples, et à écrire vos propres +expressions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MotifSignificationExemple
.Correspond à tout caractère uniquec.t correspondra à cat, + cot, cut, etc.
+Répète le caractère de correspondance précédent une ou plusieurs foisa+ correspond à a, aa, + aaa, etc.
*Répète le caractère de correspondance + précédent zéro ou plusieurs foisa* correspond à tout ce à quoi correspond + a+, mais correspond aussi à la chaîne vide.
?Rend la correspondance optionnelle.colou?r correspondra à color et colour.
\Echappe le caractère suivant\. correspondra à . (le point) et non à + tout caractère unique comme expliqué plus haut
^Appelé ancrage, correspond au début de la + chaîne^a correspond à une chaîne qui commence par + a
$L'autre ancrage, correspond à la fin de + la chaîne.a$ correspond à une chaîne qui se termine par + a.
( )Regroupe plusieurs caractères en une + seule entité, et conserve une correspondance à des fins d'utilisation + dans une référence arrière.(ab)+ + correspond à ababab - à savoir, le + + s'applique au groupe. + Pour plus de détails sur les références arrières, voir ci-dessous.
[ ]Une classe de caractères - correspond à + un des caractères de la classec[uoa]t correspond à cut, + cot ou cat.
[^ ]Négation de la classe de caractères - + correspond à tout caractère ne faisant pas partie de la classec[^/]t correspond à cat ou + c=t mais pas à c/t
+ +

Avec mod_rewrite, le caractère ! peut +préfixer une expression rationnelle afin d'en exprimer la négation. +Autrement dit, une chaîne ne correspondra que si elle ne correspond pas +à l'expression située après le !.

+ + + +

Disponibilité des références +arrières dans les expressions rationnelles

+ +

Vous devez vous souvenir d'une chose importante : chaque fois + que vous utilisez des parenthèses dans un Modèle ou dans + un des modèles de conditions, des références arrières + sont créées en interne et peuvent être rappelées via les chaînes + $N et %N (voir ci-dessous). Ces + références sont disponibles lors de la + création de la chaîne de substitution d'une directive + RewriteRule ou de la + chaîne de test d'une directive RewriteCond.

+

Les captures dans les modèles de directives RewriteRule sont paradoxalement + disponibles dans toutes les directives RewriteCond qui précèdent, car + les expressions des directives RewriteRule sont évaluées avant + les conditions individuelles.

+ +

La figure 1 montre à quels endroits les + références arrières sont suceptibles + d'être développées, et illustre le flux des comparaisons + effectuées par les règles RewriteRule et + RewriteCond. Dans les chapitres suivants, nous examinerons comment + utiliser ces références arrières, donc ne vous affolez pas si + elles vous paraissent un peu exotiques au premier abord.

+ +

+ Flux des comparaisons effectuées par les règles RewriteRule       et RewriteCond
+ Figure 1 : Le cheminement d'une référence arrière à + travers une règle.
+ Dans cet exemple, une requête pour /test/1234 serait + transformée en + /admin.foo?page=test&id=1234&host=admin.example.com. +

+ + +
top
+
+

Les bases des règles de réécriture

+

Une règle de réécriture RewriteRule est constituée de trois +arguments séparés par des espaces. Les arguments sont :

+
    +
  1. Modèle: le modèle des URLs auxquelles la règle doit +s'appliquer;
  2. +
  3. Substitution: vers quoi la requête correspondante doit être +transformée;
  4. +
  5. [drapeaux]: options affectant la requête réécrite.
  6. +
+ +

Le Modèle est une expression +rationnelle. Au sein de la première règle de réécriture, ou jusqu'à +ce qu'une substitution survienne, elle est comparée au chemin de +l'URL de la requête entrante (la +partie située après le nom d'hôte mais avant tout point d'interrogation +qui indique le début d'une chaîne de paramètres de +requête) ou, dans un contexte de répertoire, au chemin de la +requête relativement au répertoire pour lequel la +règle est définie. Lorsqu'une substitution a eu lieu, les +règles suivantes effectuent leurs comparaisons par rapport à la valeur +substituée.

+ +

+ Syntaxe de la directive RewriteRule
+ Figure 2 : Syntaxe de la directive RewriteRule. +

+ +

La chaîne de Substitution peut, quant à elle, être de +trois types :

+ +
+
1. Un chemin complet du système de fichiers vers une ressource
+
+
RewriteRule "^/games" "/usr/local/games/web/puzzles.html"
+ +

Ceci peut faire correspondre une requête à toute localisation voulue de +votre système de fichiers, un peu comme la directive Alias.

+
+ +
2. Un chemin web vers une ressource
+
+
RewriteRule "^/games$" "/puzzles.html"
+ +

Si la directive DocumentRoot a +pour valeur /usr/local/apache2/htdocs, cette règle va faire +correspondre les requêtes pour http://example.com/games au +chemin /usr/local/apache2/htdocs/puzzles.html.

+
+ +
3. Une URL absolue
+
+
RewriteRule "^/produits/vues$" "http://site2.example.com/voirproduits.html" [R]
+ +

Ceci informe le client qu'il doit effectuer une nouvelle requête vers +l'URL spécifiée.

+
+
+ +
Notez que 1 et 2 +possèdent exactement la même syntaxe. Par contre, dans le cas de +1, le niveau racine du chemin cible (par exemple +/usr/) existe dans le système de fichiers, alors que ce n'est pas +le cas avec 2 (par exemple, il n'y a pas de répertoire +/bar/ au niveau de la racine du système de fichiers).
+ +

La chaîne de Substitution peut aussi contenir des +références arrières vers des parties du chemin d'URL entrant +correspondant au Modèle. Considérons ce qui suit :

+
RewriteRule "^/produits/(.*)/view$" "/var/web/produitsdb/$1"
+ +

La variable $1 sera remplacée par tout texte +correspondant à l'expression située entre les parenthèses dans le +Modèle. Par exemple, une requête pour +http://example.com/produits/r14df/vue correspondra au +chemin /var/web/produitsdb/r14df.

+ +

S'il y a plus d'une expression entre parenthèses, elle seront +accessibles selon leur ordre d'apparition via les variables +$1, $2, $3, etc...

+ + +
top
+
+

Drapeaux de réécriture

+

Le comportement d'une règle RewriteRule peut être modifié par la +présence d'un ou plusieurs drapeaux en fin de règle. Par exemple, les +conditions de correspondance d'une règle peuvent être rendues +insensibles à la casse par la présence du drapeau [NC] : +

+
RewriteRule "^puppy.html" "petitchien.html" [NC]
+ + +

Pour une liste des drapeaux disponibles, leurs significations, et des +exemples, voir le document Drapeaux de +réécriture.

+ +
top
+
+

Conditions de réécriture

+

Il est possible d'utiliser une ou plusieurs directives RewriteCond pour restreindre les types +de requêtes auxquelles devra s'appliquer la règle RewriteRule suivante. Le premier +argument est une variable décrivant une caractéristique de la requête, +le second argument est une expression rationnelle +qui doit correspondre à la variable, et un troisième argument optionnel +est une liste de drapeaux qui modifient la manière dont la +correspondance est évaluée.

+ +

+ Syntaxe de la directive RewriteCond
+ Figure 3 : Syntaxe de la directive RewriteCond +

+ + +

Par exemple, pour renvoyer toutes les requêtes en provenance d'une +certaine tranche d'adresses IP vers un autre serveur, vous pouvez +utiliser :

+
RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)"           "http://intranet.example.com$1"
+ + +

Si vous spécifiez plus d'une directive RewriteCond, ces directives +doivent toutes être satisfaites pour que la règle RewriteRule suivante s'applique. Par exemple, +pour interdire les requêtes qui contiennent le mot "hack" dans la chaîne +de requête, sauf si elles contiennent aussi un cookie contenant le mot +"go", vous pouvez utiliser :

+
RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}"  !go
+RewriteRule "."               "-"   [F]
+ +

Notez que le point d'exclamation indique une correspondance négative +; ainsi, la règle n'est appliquée que si le cookie ne contient pas "go"

+ +

Les correspondances dans les expressions rationnelles contenues dans +les directives RewriteCond +peuvent constituer des parties de la chaîne de Substitution +de la règle RewriteRule via +les variables %1, %2, etc... Par +exemple, ce qui suit va diriger la requête vers un répertoire différent +en fonction du nom d'hôte utilisé pour accéder au site :

+
RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)"       "/sites/%1/$1"
+ +

Si la requête concernait http://example.com/foo/bar, +alors %1 contiendrait example.com et +$1 contiendrait foo/bar.

+ + + +
top
+
+

Tables de réécriture

+ +

La directive RewriteMap +permet en quelque sorte de faire appel à une fonction externe pour +effectuer la réécriture à votre place. Tout ceci est décrit plus en +détails dans la Documentation +supplémentaire sur RewriteMap.

+
top
+
+

Fichiers .htaccess

+ +

La réécriture est en général définie au niveau de la configuration du +serveur principal (en dehors de toute section <Directory>) ou dans une section <VirtualHost>. Il s'agit là de la +manière la plus simple de mettre en oeuvre la réécriture et nous la +recommandons. Il est possible, cependant, de mettre en oeuvre la +réécriture au sein d'une section <Directory> ou d'un fichier .htaccess ; ce type de +configuration est cependant plus complexe. Cette technique est appelée +réécriture par répertoire.

+ +

La principale différence avec les réécritures au niveau du serveur réside +dans le fait que le préfixe du chemin du répertoire contenant le fichier +.htaccess est supprimé avant la mise en correspondance dans +la règle RewriteRule. De +plus, on doit utiliser la directive RewriteBase pour s'assurer que la +requête est correctement mise en correspondance.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/proxy.html b/docs/manual/rewrite/proxy.html new file mode 100644 index 0000000..7e5a578 --- /dev/null +++ b/docs/manual/rewrite/proxy.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: proxy.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: proxy.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/proxy.html.en b/docs/manual/rewrite/proxy.html.en new file mode 100644 index 0000000..a32b9ed --- /dev/null +++ b/docs/manual/rewrite/proxy.html.en @@ -0,0 +1,119 @@ + + + + + +Using mod_rewrite for Proxying - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Using mod_rewrite for Proxying

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It describes +how to use the RewriteRule's [P] flag to proxy content to another server. +A number of recipes are provided that describe common scenarios.

+ +
+ +
top
+
+

Proxying Content with mod_rewrite

+ + + +
+
Description:
+ +
+

+ mod_rewrite provides the [P] flag, which allows URLs to be passed, + via mod_proxy, to another server. Two examples are given here. In + one example, a URL is passed directly to another server, and served + as though it were a local URL. In the other example, we proxy + missing content to a back-end server.

+
+ +
Solution:
+ +
+

To simply map a URL to another server, we use the [P] flag, as + follows:

+ +
RewriteEngine  on
+RewriteBase    "/products/"
+RewriteRule    "^widget/(.*)$"  "http://product.example.com/widget/$1"  [P]
+ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"
+ + +

In the second example, we proxy the request only if we can't find + the resource locally. This can be very useful when you're migrating + from one server to another, and you're not sure if all the content + has been migrated yet.

+ +
RewriteCond "%{REQUEST_FILENAME}"       !-f
+RewriteCond "%{REQUEST_FILENAME}"       !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
+ProxyPassReverse "/" "http://old.example.com/"
+ +
+ +
Discussion:
+ +

In each case, we add a ProxyPassReverse directive to ensure + that any redirects issued by the backend are correctly passed on to + the client.

+ +

Consider using either ProxyPass or ProxyPassMatch whenever possible in + preference to mod_rewrite.

+
+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/proxy.html.fr.utf8 b/docs/manual/rewrite/proxy.html.fr.utf8 new file mode 100644 index 0000000..db74411 --- /dev/null +++ b/docs/manual/rewrite/proxy.html.fr.utf8 @@ -0,0 +1,124 @@ + + + + + +Utilisation de mod_rewrite comme mandataire - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Utilisation de mod_rewrite comme mandataire

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément de la documentation de référence du module +mod_rewrite. Il décrit comment utiliser le drapeau [P] +de la directive RewriteRule pour mandater un contenu vers un autre +serveur. Plusieurs recettes décrivant des scénarios courants sont +fournies.

+ +
+ +
top
+
+

Mandater du contenu avec mod_rewrite

+ + + +
+
Description :
+ +
+

+ mod_rewrite implémente le drapeau [P] qui permet de passer des URLs, + via mod_proxy, à un autre serveur. Deux exemples sont fournis ici. + Dans le premier, une URL est passée directement à un autre serveur, + et servie comme si c'était une URL locale. Dans le deuxième, nous + mandatons un contenu manquant vers un serveur d'arrière-plan.

+
+ +
Solution :
+ +
+

Pour passer une URL à un autre serveur, on utilise le drapeau + [P] comme suit :

+ +
RewriteEngine  on
+RewriteBase    "/produits/"
+RewriteRule    "^widget/(.*)$"  "http://produits.example.com/widget/$1"  [P]
+ProxyPassReverse "/produits/objet/" "http://produits.example.com/objet/"
+ + +

Dans le deuxième exemple, nous ne mandatons la requête que si nous + ne trouvons pas la ressource localement. Ceci peut s'avérer très + utile lorsque vous effectuez une migration d'un serveur vers un + autre, et que vous n'êtes pas certain que tout le contenu a déjà été + migré.

+ +
RewriteCond "%{REQUEST_FILENAME}"       !-f
+RewriteCond "%{REQUEST_FILENAME}"       !-d
+RewriteRule "^/(.*)" "http://ancien.exemple.com/$1" [P]
+ProxyPassReverse "/" "http://ancien.exemple.com/"
+ +
+ +
Discussion :
+ +

Dans les deux cas, on ajoute une directive ProxyPassReverse afin de s'assurer + que toute redirection en provenance du serveur d'arrière-plan est + renvoyée correctement au client.

+ +

Chaque fois que cela est possible, préférez l'utilisation de la + directive ProxyPass ou + ProxyPassMatch à + mod_rewrite.

+
+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/remapping.html b/docs/manual/rewrite/remapping.html new file mode 100644 index 0000000..c60c397 --- /dev/null +++ b/docs/manual/rewrite/remapping.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: remapping.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: remapping.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/remapping.html.en b/docs/manual/rewrite/remapping.html.en new file mode 100644 index 0000000..9b8670d --- /dev/null +++ b/docs/manual/rewrite/remapping.html.en @@ -0,0 +1,697 @@ + + + + + +Redirecting and Remapping with mod_rewrite - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Redirecting and Remapping with mod_rewrite

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It describes +how you can use mod_rewrite to redirect and remap +request. This includes many examples of common uses of mod_rewrite, +including detailed descriptions of how each works.

+ +
Note that many of these examples won't work unchanged in your +particular server configuration, so it's important that you understand +them, rather than merely cutting and pasting the examples into your +configuration.
+ +
+ +
top
+
+

From Old to New (internal)

+ + + +
+
Description:
+ +
+

Assume we have recently renamed the page + foo.html to bar.html and now want + to provide the old URL for backward compatibility. However, + we want that users of the old URL even not recognize that + the pages was renamed - that is, we don't want the address to + change in their browser.

+
+ +
Solution:
+ +
+

We rewrite the old URL to the new one internally via the + following rule:

+ +
RewriteEngine  on
+RewriteRule    "^/foo\.html$"  "/bar.html" [PT]
+ +
+
+ +
top
+
+

Rewriting From Old to New (external)

+ + + +
+
Description:
+ +
+

Assume again that we have recently renamed the page + foo.html to bar.html and now want + to provide the old URL for backward compatibility. But this + time we want that the users of the old URL get hinted to + the new one, i.e. their browsers Location field should + change, too.

+
+ +
Solution:
+ +
+

We force a HTTP redirect to the new URL which leads to a + change of the browsers and thus the users view:

+ +
RewriteEngine  on
+RewriteRule    "^/foo\.html$"  "bar.html"  [R]
+ +
+ +
Discussion
+ +
+

In this example, as contrasted to the internal example above, we can simply + use the Redirect directive. mod_rewrite was used in that earlier + example in order to hide the redirect from the client:

+ +
Redirect "/foo.html" "/bar.html"
+ + +
+
+ +
top
+
+

Resource Moved to Another Server

+ + + +
+
Description:
+ +
+

If a resource has moved to another server, you may wish to have + URLs continue to work for a time on the old server while people + update their bookmarks.

+
+ +
Solution:
+ +
+

You can use mod_rewrite to redirect these URLs + to the new server, but you might also consider using the Redirect + or RedirectMatch directive.

+ +
#With mod_rewrite
+RewriteEngine on
+RewriteRule   "^/docs/(.+)"  "http://new.example.com/docs/$1"  [R,L]
+ + +
#With RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://new.example.com/docs/$1"
+ + +
#With Redirect
+Redirect "/docs/" "http://new.example.com/docs/"
+ +
+
+ +
top
+
+

From Static to Dynamic

+ + + +
+
Description:
+ +
+

How can we transform a static page + foo.html into a dynamic variant + foo.cgi in a seamless way, i.e. without notice + by the browser/user.

+
+ +
Solution:
+ +
+

We just rewrite the URL to the CGI-script and force the + handler to be cgi-script so that it is + executed as a CGI program. + This way a request to /~quux/foo.html + internally leads to the invocation of + /~quux/foo.cgi.

+ +
RewriteEngine  on
+RewriteBase    "/~quux/"
+RewriteRule    "^foo\.html$"  "foo.cgi"  [H=cgi-script]
+ +
+
+ +
top
+
+

Backward Compatibility for file extension change

+ + + +
+
Description:
+ +
+

How can we make URLs backward compatible (still + existing virtually) after migrating document.YYYY + to document.XXXX, e.g. after translating a + bunch of .html files to .php?

+
+ +
Solution:
+ +
+

We rewrite the name to its basename and test for + existence of the new extension. If it exists, we take + that name, else we rewrite the URL to its original state.

+ +
#   backward compatibility ruleset for
+#   rewriting document.html to document.php
+#   when and only when document.php exists
+<Directory "/var/www/htdocs">
+    RewriteEngine on
+    RewriteBase "/var/www/htdocs"
+
+    RewriteCond "$1.php" -f
+    RewriteCond "$1.html" !-f
+    RewriteRule "^(.*).html$" "$1.php"
+</Directory>
+ +
+ +
Discussion
+
+

This example uses an often-overlooked feature of mod_rewrite, + by taking advantage of the order of execution of the ruleset. In + particular, mod_rewrite evaluates the left-hand-side of the + RewriteRule before it evaluates the RewriteCond directives. + Consequently, $1 is already defined by the time the RewriteCond + directives are evaluated. This allows us to test for the existence + of the original (document.html) and target + (document.php) files using the same base filename.

+ +

This ruleset is designed to use in a per-directory context (In a + <Directory> block or in a .htaccess file), so that the + -f checks are looking at the correct directory path. + You may need to set a RewriteBase directive to specify the + directory base that you're working in.

+
+
+ +
top
+
+

Canonical Hostnames

+ + + +
+
Description:
+ +
The goal of this rule is to force the use of a particular + hostname, in preference to other hostnames which may be used to + reach the same site. For example, if you wish to force the use + of www.example.com instead of + example.com, you might use a variant of the + following recipe.
+ +
Solution:
+ +
+ +

The very best way to solve this doesn't involve mod_rewrite at all, +but rather uses the Redirect +directive placed in a virtual host for the non-canonical +hostname(s).

+ +
<VirtualHost *:80>
+  ServerName undesired.example.com
+  ServerAlias example.com notthis.example.com
+
+  Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+  ServerName www.example.com
+</VirtualHost>
+ + +

You can alternatively accomplish this using the +<If> +directive:

+ +
<If "%{HTTP_HOST} != 'www.example.com'">
+    Redirect "/" "http://www.example.com/"
+</If>
+ + +

Or, for example, to redirect a portion of your site to HTTPS, you +might do the following:

+ +
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
+    Redirect "/admin/" "https://www.example.com/admin/"
+</If>
+ + +

If, for whatever reason, you still want to use mod_rewrite +- if, for example, you need this to work with a larger set of RewriteRules - +you might use one of the recipes below.

+ +

For sites running on a port other than 80:

+
RewriteCond "%{HTTP_HOST}"   "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}"   "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)"        "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]
+ + +

And for a site running on port 80

+
RewriteCond "%{HTTP_HOST}"   "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}"   "!^$"
+RewriteRule "^/?(.*)"        "http://www.example.com/$1" [L,R,NE]
+ + +

+ If you wanted to do this generically for all domain names - that + is, if you want to redirect example.com to + www.example.com for all possible values of + example.com, you could use the following + recipe:

+ +
RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)"      "http://www.%{HTTP_HOST}/$1" [L,R,NE]
+ + +

These rulesets will work either in your main server configuration + file, or in a .htaccess file placed in the DocumentRoot of the server.

+
+
+ +
top
+
+

Search for pages in more than one directory

+ + + +
+
Description:
+ +
+

A particular resource might exist in one of several places, and + we want to look in those places for the resource when it is + requested. Perhaps we've recently rearranged our directory + structure, dividing content into several locations.

+
+ +
Solution:
+ +
+

The following ruleset searches in two directories to find the + resource, and, if not finding it in either place, will attempt to + just serve it out of the location requested.

+ +
RewriteEngine on
+
+#   first try to find it in dir1/...
+#   ...and if found stop and be happy:
+RewriteCond         "%{DOCUMENT_ROOT}/dir1/%{REQUEST_URI}"  -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/dir1/$1"  [L]
+
+#   second try to find it in dir2/...
+#   ...and if found stop and be happy:
+RewriteCond         "%{DOCUMENT_ROOT}/dir2/%{REQUEST_URI}"  -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/dir2/$1"  [L]
+
+#   else go on for other Alias or ScriptAlias directives,
+#   etc.
+RewriteRule   "^"  "-"  [PT]
+ +
+
+ +
top
+
+

Redirecting to Geographically Distributed Servers

+ + + +
+
Description:
+ +
+

We have numerous mirrors of our website, and want to redirect + people to the one that is located in the country where they are + located.

+
+ +
Solution:
+ +
+

Looking at the hostname of the requesting client, we determine + which country they are coming from. If we can't do a lookup on their + IP address, we fall back to a default server.

+

We'll use a RewriteMap + directive to build a list of servers that we wish to use.

+ +
HostnameLookups on
+RewriteEngine on
+RewriteMap    multiplex         "txt:/path/to/map.mirrors"
+RewriteCond   "%{REMOTE_HOST}"  "([a-z]+)$" [NC]
+RewriteRule   "^/(.*)$"  "${multiplex:%1|http://www.example.com/}$1"  [R,L]
+ + +

+## map.mirrors -- Multiplexing Map
+
+de http://www.example.de/
+uk http://www.example.uk/
+com http://www.example.com/
+##EOF## +

+
+ +
Discussion
+
+
This ruleset relies on + HostNameLookups + being set on, which can be + a significant performance hit.
+ +

The RewriteCond + directive captures the last portion of the hostname of the + requesting client - the country code - and the following RewriteRule + uses that value to look up the appropriate mirror host in the map + file.

+
+
+ +
top
+
+

Browser Dependent Content

+ + + +
+
Description:
+ +
+

We wish to provide different content based on the browser, or + user-agent, which is requesting the content.

+
+ +
Solution:
+ +
+

We have to decide, based on the HTTP header "User-Agent", + which content to serve. The following config + does the following: If the HTTP header "User-Agent" + contains "Mozilla/3", the page foo.html + is rewritten to foo.NS.html and the + rewriting stops. If the browser is "Lynx" or "Mozilla" of + version 1 or 2, the URL becomes foo.20.html. + All other browsers receive page foo.32.html. + This is done with the following ruleset:

+ +
RewriteCond "%{HTTP_USER_AGENT}"  "^Mozilla/3.*"
+RewriteRule "^foo\.html$"         "foo.NS.html"          [L]
+
+RewriteCond "%{HTTP_USER_AGENT}"  "^Lynx/" [OR]
+RewriteCond "%{HTTP_USER_AGENT}"  "^Mozilla/[12]"
+RewriteRule "^foo\.html$"         "foo.20.html"          [L]
+
+RewriteRule "^foo\.html$"         "foo.32.html"          [L]
+ +
+
+ +
top
+
+

Canonical URLs

+ + + +
+
Description:
+ +
+

On some webservers there is more than one URL for a + resource. Usually there are canonical URLs (which are be + actually used and distributed) and those which are just + shortcuts, internal ones, and so on. Independent of which URL the + user supplied with the request, they should finally see the + canonical one in their browser address bar.

+
+ +
Solution:
+ +
+

We do an external HTTP redirect for all non-canonical + URLs to fix them in the location view of the Browser and + for all subsequent requests. In the example ruleset below + we replace /puppies and /canines + by the canonical /dogs.

+ +
RewriteRule   "^/(puppies|canines)/(.*)"    "/dogs/$2"  [R]
+ +
+ +
Discussion:
+
+ This should really be accomplished with Redirect or RedirectMatch + directives: + +
RedirectMatch "^/(puppies|canines)/(.*)" "/dogs/$2"
+ +
+
+ +
top
+
+

Moved DocumentRoot

+ + + +
+
Description:
+ +
+

Usually the DocumentRoot +of the webserver directly relates to the URL "/". +But often this data is not really of top-level priority. For example, +you may wish for visitors, on first entering a site, to go to a +particular subdirectory /about/. This may be accomplished +using the following ruleset:

+
+ +
Solution:
+ +
+

We redirect the URL / to + /about/: +

+ +
RewriteEngine on
+RewriteRule   "^/$"  "/about/"  [R]
+ + +

Note that this can also be handled using the RedirectMatch directive:

+ +
RedirectMatch "^/$" "http://example.com/about/"
+ + +

Note also that the example rewrites only the root URL. That is, it +rewrites a request for http://example.com/, but not a +request for http://example.com/page.html. If you have in +fact changed your document root - that is, if all of +your content is in fact in that subdirectory, it is greatly preferable +to simply change your DocumentRoot +directive, or move all of the content up one directory, +rather than rewriting URLs.

+
+
+ +
top
+
+

Fallback Resource

+ + +
+
Description:
+
You want a single resource (say, a certain file, like index.php) to +handle all requests that come to a particular directory, except those +that should go to an existing resource such as an image, or a css file.
+ +
Solution:
+
+

As of version 2.2.16, you should use the FallbackResource directive for this:

+ +
<Directory "/var/www/my_blog">
+  FallbackResource "index.php"
+</Directory>
+ + +

However, in earlier versions of Apache, or if your needs are more +complicated than this, you can use a variation of the following rewrite +set to accomplish the same thing:

+ +
<Directory "/var/www/my_blog">
+  RewriteBase "/my_blog"
+
+  RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+  RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+  RewriteRule "^" "index.php" [PT]
+</Directory>
+ + +

If, on the other hand, you wish to pass the requested URI as a query +string argument to index.php, you can replace that RewriteRule with:

+ +
RewriteRule "(.*)" "index.php?$1" [PT,QSA]
+ + +

Note that these rulesets can be used in a .htaccess +file, as well as in a <Directory> block.

+ +
+ +
+ +
top
+
+

Rewrite query string

+ + +
+
Description:
+
You want to capture a particular value from a query string +and either replace it or incorporate it into another component +of the URL.
+ +
Solutions:
+
+

Many of the solutions in this section will all use the same condition, +which leaves the matched value in the %2 backreference. %1 is the beginining +of the query string (up to the key of intererest), and %3 is the remainder. This +condition is a bit complex for flexibility and to avoid double '&&' in the +substitutions.

+
    +
  • This solution removes the matching key and value: + +
    # Remove mykey=???
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
    +RewriteRule "(.*)" "$1?%1%3"
    + +
  • + +
  • This solution uses the captured value in the URL substitution, + discarding the rest of the original query by appending a '?': + +
    # Copy from query string to PATH_INFO
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
    +RewriteRule "(.*)" "$1/products/%2/?" [PT]
    + +
  • + +
  • This solution checks the captured value in a subsequent condition: + +
    # Capture the value of mykey in the query string
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
    +RewriteCond "%2" !=not-so-secret-value 
    +RewriteRule "(.*)" - [F]
    + +
  • + +
  • This solution shows the reverse of the previous ones, copying + path components (perhaps PATH_INFO) from the URL into the query string. +
    # The desired URL might be /products/kitchen-sink, and the script expects
    +# /path?products=kitchen-sink.
    +RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]
    + +
  • +
+ +
+ +
+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/remapping.html.fr.utf8 b/docs/manual/rewrite/remapping.html.fr.utf8 new file mode 100644 index 0000000..7b0bf03 --- /dev/null +++ b/docs/manual/rewrite/remapping.html.fr.utf8 @@ -0,0 +1,717 @@ + + + + + +Redirection et remise en correspondance avec mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Redirection et remise en correspondance avec mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la Documentation de référence de +mod_rewrite. Il montre comment utiliser +mod_rewrite pour rediriger et remettre en +correspondance une requête. Il contient de +nombreux exemples d'utilisation courante de mod_rewrite avec une +description détaillée de leur fonctionnement.

+ +
Vous devez vous attacher à comprendre le +fonctionnement des exemples, car la plupart d'entre eux ne +fonctionneront pas sur votre système si vous vous contentez de les +copier/coller dans vos fichiers de configuration.
+ +
+ +
top
+
+

De l'ancienne à la nouvelle URL (en interne)

+ + + +
+
Description :
+ +
+

Supposons que nous ayons récemment renommé la page + foo.html en bar.html, et voulions + maintenant que l'ancienne URL soit toujours valide à des fins + de compatibilité ascendante. En fait, on voudrait que le + changement de nom soit transparent aux utilisateurs de + l'ancienne URL.

+
+ +
Solution :
+ +
+

On réécrit l'ancienne URL en interne vers la nouvelle via + la règle suivante :

+ +
RewriteEngine  on
+RewriteRule    "^/foo\.html$" "/bar.html" [PT]
+ +
+
+ +
top
+
+

De l'ancien au nouveau (en externe)

+ + + +
+
Description :
+ +
+

Supposons toujours que nous ayons récemment renommé la page + foo.html en bar.html, et voulions + maintenant que l'ancienne URL soit toujours valide à des fins + de compatibilité ascendante. En revanche, nous voulons cette + fois que la nouvelle URL soit suggérée aux utilisateurs de + l'ancienne URL, c'est à dire que l'adresse vue depuis leur + navigateur doit également être modifiée.

+
+ +
Solution :
+ +
+

On force une redirection HTTP vers la nouvelle URL, ce qui + entraîne une modification de celle du navigateur et aussi de ce + que voit l'utilisateur :

+ +
RewriteEngine  on
+RewriteRule    "^foo\.html$"  "bar.html"  [R]
+ +
+ +
Discussion
+ +
+

Dans l'exemple interne, on a utilisé mod_rewrite afin + de dissimuler la redirection au client. Dans cet exemple, en + revanche, on aurait pu se contenter d'une directive Redirect :

+ +
Redirect "/foo.html" "/bar.html"
+ + +
+
+ +
top
+
+

Ressource déplacée vers un autre serveur

+ + + +
+
Description :
+ +
+

Si une ressource a été déplacée vers un autre serveur, vous + pouvez faire en sorte que les URLs de l'ancien serveur continuent + de fonctionner pendant un certain temps, afin de laisser au + utilisateurs le temps de modifier leurs favoris.

+
+ +
Solution :
+ +
+

Vous pouvez utiliser mod_rewrite pour + rediriger ces URLs vers le nouveau serveur, mais vous pouvez aussi + utiliser les directives Redirect ou RedirectMatch.

+ +
#Avec mod_rewrite
+RewriteEngine on
+RewriteRule   "^/docs/(.+)"  "http://nouveau.example.com/docs/$1"  [R,L]
+ + +
#Avec RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://nouveau.example.com/docs/$1"
+ + +
#Avec Redirect
+Redirect "/docs/" "http://nouveau.example.com/docs/"
+ +
+
+ +
top
+
+

De statique à dynamique

+ + + +
+
Description :
+ +
+

Comment transformer une page statique foo.html + en sa variante dynamique foo.cgi de manière + transparente, c'est à dire sans en avertir le + navigateur/utilisateur.

+
+ +
Solution :
+ +
+

On réécrit simplement l'URL en script CGI et force le + gestionnaire de contenu à cgi-script de façon + à ce que le script s'exécute en tant que programme CGI. + Ainsi, une requête vers /~quux/foo.html conduit + en interne à l'invocation de + /~quux/foo.cgi.

+ +
RewriteEngine  on
+RewriteBase    "/~quux/"
+RewriteRule    "^foo\.html$"  "foo.cgi"  [H=cgi-script]
+ +
+
+ +
top
+
+

Compatibilité ascendante dans le cadre d'une modification + d'extension de nom de fichier

+ + + +
+
Description :
+ +
+

Comment conférer une compatibilité ascendante aux URLs + (existant encore virtuellement) après avoir migré + document.YYYY vers document.XXXX, + c'est à dire après avoir par exemple traduit un lot de + fichiers .html en fichiers .php + ?

+
+ +
Solution :
+ +
+

On réécrit simplement le nom du fichier en son nom + de base et vérifie s'il existe aussi avec la nouvelle + extension. Si c'est le cas, on utilise ce nom, sinon on + réécrit l'URL sous sa forme originale.

+ + +
#   jeu de règles assurant une compatibilité ascendante en réécrivant
+# document.html en document.php si et seulement si document.php
+# existe +<Directory "/var/www/htdocs"> + RewriteEngine on + RewriteBase "/var/www/htdocs" + + RewriteCond "$1.php" -f + RewriteCond "$1.html" !-f + RewriteRule "^(.*).html$" "$1.php" +</Directory>
+ +
+ +
Discussion
+
+

Cet exemple utilise une fonctionnalité souvent méconnue de + mod_rewrite, en tirant avantage de l'ordre d'exécution du jeu de + règles. En particulier, mod_rewrite évalue la partie gauche des + règles de réécriture avant d'évaluer les directives RewriteCond. En + conséquence, $1 est déjà défini au moment où les directives + RewriteCond sont évaluées. Ceci nous permet de tester l'existence du + fichier original (document.html) et du fichier cible + (document.php) en utilisant le même nom de base.

+ +

Ce jeu de règles est conçu pour une utilisation dans un contexte + de répertoire (au sein d'une section <Directory> ou d'un + fichier .htaccess), de façon à ce que les vérifications + -f effectuent leurs recherches dans le bon répertoire. + Vous serez peut-être amené à définir une directive RewriteBase pour spécifier le + répertoire de base à partir duquel vous travaillez.

+
+
+ +
top
+
+

Noms d'hôtes canoniques

+ + + +
+
Description :
+ +
Le but de cette règle est de préférer l'utilisation d'un nom + d'hôte particulier à d'autres noms d'hôte utilisables + pour atteindre le même site. Par exemple, si vous voulez + utiliser www.example.com à la place de + example.com, vous pouvez utiliser une solution + du style :
+ +
Solution :
+ +
+ +

Pour y parvenir, il vaut mieux se passer de mod_rewrite, et utiliser +plutôt la directive Redirect dans +une section de serveur virtuel pour le/les noms d'hôte non canoniques.

+ +
<VirtualHost *:80>
+  ServerName undesired.example.com
+  ServerAlias example.com notthis.example.com
+
+  Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+  ServerName www.example.com
+</VirtualHost>
+ + +

Vous pouvez aussi utiliser la directive <If> :

+ +
<If "%{HTTP_HOST} != 'www.example.com'">
+	Redirect "/" "http://www.example.com/"
+</If>
+ + +

Ou, par exemple, pour rediriger une portion de votre site vers HTTPS +:

+ +
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
+	Redirect "/admin/" "https://www.example.com/admin/"
+</If>
+ + +

Si, pour une raison particulière, vous voulez tout de même utiliser +mod_rewrite - dans le cas, par exemple, où vous avez besoin +d'un jeu plus important de règles de réécritures - vous pouvez utiliser +la recette suivante :

+ +

Pour les sites écoutant sur un port autre que 80:

+
RewriteCond "%{HTTP_HOST}"   "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}"   "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)"         "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]
+ + +

Et pour un site écoutant sur le port 80

+
RewriteCond "%{HTTP_HOST}"   "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}"   "!^$"
+RewriteRule "^/?(.*)"         "http://www.example.com/$1" [L,R,NE]
+ +

+ Si vous souhaitez que cette règle s'applique à tous les noms de + domaine - en d'autres termes, si vous voulez rediriger + example.com vers + www.example.com pour toutes les valeurs + possibles de example.com, vous pouvez utiliser + le jeu de règles suivants :

+ +
RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]
+ +

+ Vous pouvez utiliser ce jeu de règles aussi bien dans le fichier + de configuration de votre serveur principal que dans un fichier + .htaccess placé dans le répertoire défini par la + directive DocumentRoot du serveur.

+
+
+ +
top
+
+

Recherche de pages dans plus d'un répertoire

+ + + +
+
Description:
+ +
+

Une ressource peut exister dans plusieurs répertoires, et nous + voulons rechercher cette ressource dans ces répertoires + lorsqu'elle fait l'objet d'une requête. Il est possible que nous + ayons récemment réorganisé la structure de notre site en + répartissant son contenu dans plusieurs répertoires.

+
+ +
Solution :
+ +
+

Le jeu de règles suivant recherche la ressource dans deux + répertoires, et s'il ne la trouve dans aucun des deux, il tentera + simplement de la servir à partir de l'adresse fournie dans la + requête.

+ +
RewriteEngine on
+
+#   on cherche tout d'abord dans dir1/...
+#   ... et si on trouve, on est content et on arrête :
+RewriteCond         "%{DOCUMENT_ROOT}/dir1/%{REQUEST_URI}"  -f
+RewriteRule  "^(.+)"  "%{DOCUMENT_ROOT}/dir1/$1"  [L]
+
+#   on cherche ensuite dans dir2/...
+#   ... et si on trouve, on est content et on arrête :
+RewriteCond         "%{DOCUMENT_ROOT}/dir2/%{REQUEST_URI}"  -f
+RewriteRule  "^(.+)"  "%{DOCUMENT_ROOT}/dir2/$1"  [L]
+
+#   sinon, on continue la recherche avec d'autres directives Alias
+#   ou ScriptAlias, etc...
+RewriteRule   "^"  "-"  [PT]
+ +
+
+ +
top
+
+

Redirection vers des serveurs géographiquement distribués

+ + + +
+
Description :
+ +
+

Notre site web possède de nombreux miroirs, et nous voulons + rediriger les utilisateurs vers celui qui se situe dans le pays où + ils se trouvent.

+
+ +
Solution :
+ +
+

En consultant le nom d'hôte du client demandeur, on détermine le + pays dans lequel il se trouve. S'il est impossible d'effectuer une + recherche sur leur adresse IP, on se rabat sur un serveur par + défaut.

+

Nous allons utiliser une directive RewriteMap afin de construire une + liste des serveurs que nous voulons utiliser.

+ +
HostnameLookups on
+RewriteEngine on
+RewriteMap    multiplex         "txt:/path/to/map.mirrors"
+RewriteCond  "%{REMOTE_HOST}"     "([a-z]+)$ [NC]"
+RewriteRule   "^/(.*)$"  "${multiplex:%1|http://www.example.com/}$1"  [R,L]
+ + +

+## liste_miroirs -- Table de correspondance pays - serveurs
+
+de http://www.exemple.de/
+uk http://www.exemple.uk/
+com http://www.example.com/
+##EOF## +

+
+ +
Discussion
+
+
Ce jeu de règles nécessite la définition à + on de la directive HostNameLookups, ce qui peut induire une + baisse de performance significative.
+ +

La directive RewriteCond extrait la dernière + partie du nom d'hôte du client demandeur - le code du pays - et la + règle de réécriture qui suit utilise cette valeur pour rechercher le + serveur miroir approprié dans le fichier de correspondances.

+
+
+ +
top
+
+

Contenu dépendant du navigateur

+ + + +
+
Description :
+ +
+

Nous voulons fournir des contenus différents en fonction du + navigateur (user-agent) qui effectue la requête.

+
+ +
Solution :
+ +
+

Nous devons déterminer quel contenu servir, en nous basant + sur l'en-tête HTTP "User-Agent". La + configuration suivante effectue ceci : si l'en-tête HTTP + "User-Agent" commence par "Mozilla/3", le nom de la page + foo.html est réécrit en foo.NS.html + et la réécriture s'arrête. Si le navigateur est "Lynx" ou + "Mozilla" version 1 ou 2, l'URL devient + foo.20.html. Tous les autres navigateurs + reçoivent la page foo.32.html. Tout ceci est + effectué par le jeu de règles suivant :

+
RewriteCond "%{HTTP_USER_AGENT}"  "^Mozilla/3.*"
+RewriteRule "^foo\.html$"         "foo.NS.html"          [L]
+
+RewriteCond "%{HTTP_USER_AGENT}"  "^Lynx/" [OR]
+RewriteCond "%{HTTP_USER_AGENT}"  "^Mozilla/[12]"
+RewriteRule "^foo\.html$"         "foo.20.html"          [L]
+
+RewriteRule "^foo\.html$"         "foo.32.html"          [L]
+ +
+
+ +
top
+
+

URLs canoniques

+ + + +
+
Description :
+ +
+

Sur certains serveurs, une ressource peut posséder plusieurs + URLs. Il y a en général les URLs canoniques (celles qui sont + réellement distribuées et utilisées), et celles qui correspondent à + des raccourcis, les URLs internes, etc... Quelle que soit l'adresse + que l'utilisateur fournit dans la requête, il devrait finalement + voir l'URL canonique dans la barre d'adresse de son navigateur.

+
+ +
Solution :
+ +
+

Nous effectuons une redirection HTTP externe pour toutes les + URLs non canoniques afin de les corriger dans la barre d'adresse + du navigateur, et ceci pour toutes les requêtes futures. Dans le + jeu de règles suivant, nous remplaçons /matous et + /minettes par le canonique /chats.

+ +
RewriteRule   "^/(matous|minettes)/(.*)"    "/chats/$2"  [R]
+ +
+ +
Discussion :
+
On serait mieux inspiré d'utiliser ici les directives Redirect ou + RedirectMatch : + +
RedirectMatch "^/(matous|minettes)/(.*)" "/chats/$2"
+ +
+
+ +
top
+
+

Déplacement du répertoire DocumentRoot

+ + + +
+
Description :
+ +
+

En général, le répertoire DocumentRoot du serveur web correspond à l'URL +"/". Ce répertoire ne contient cependant pas forcément des +ressources de première importance pour l'utilisateur. Par exemple, vous +préférerez peut-être que le répertoire d'accueil d'un visiteur accédant +pour la première fois à votre site soit un répertoire particulier +/a-propos-de/. Pour y parvenir, utilisez le jeu de règles +suivant :

+
+ +
Solution :
+ +
+

On redirige l'URL / vers + /a-propos-de/ : +

+ +
RewriteEngine on
+RewriteRule   "^/$"  "/a-propos-de/"  [R]
+ + +

Notez que l'on peut aussi y parvenir en utilisant la directive +RedirectMatch :

+ +
RedirectMatch "^/$" "http://example.com/a-propos-de/"
+ + +

Notez aussi que cet exemple ne réécrit que l'URL racine. En d'autres +termes, il réécrit une requête pour http://example.com/, +mais pas pour une requête http://example.com/page.html. Si +vous avez effectivement modifié la racine de vos documents - c'est à dire +si tous vos contenus se trouvent dans un +sous-répertoire, il est largement préférable de modifier simplement +votre directive DocumentRoot, ou de +déplacer l'ensemble du contenu vers le répertoire supérieur, plutôt que +de réécrire les URLs.

+
+
+ +
top
+
+

Ressource par défaut

+ + +
+
Description :
+
Vous voulez qu'une seule ressource (disons un certain fichier tel +que index.php) soit servie pour toutes les requêtes à destination d'un +certain répertoire, sauf pour celles qui concernent une ressource +existant effectivement comme une image, ou un fichier css.
+ +
Solution :
+
+

Depuis la version 2.2.16, vous pouvez y parvenir via la directive +FallbackResource :

+ +
<Directory "/var/www/my_blog">
+  FallbackResource "index.php"
+</Directory>
+ + +

Cependant, si vos besoins étaient plus complexes, vous pouviez, dans +les versions plus anciennes d'Apache, utiliser un jeu de règles du style +:

+ +
<Directory "/var/www/my_blog">
+  RewriteBase "/my_blog"
+
+  RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+  RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+  RewriteRule "^" "index.php" [PT]
+</Directory>
+ + +

D'autre part, si vous voulez transmettre l'URI de la requête en tant +que chaîne de paramètres à index.php, vous pouvez remplacer cette règle +de réécriture par :

+ +
RewriteRule "(.*)" "index.php?$1" [PT,QSA]
+ + +

Notez que l'on peut utiliser ces jeux de règles aussi bien dans un +fichier .htaccess que dans une section +<Directory>.

+ +
+ +
+ +
top
+
+

Rewrite query string

+ + +
+
Description :
+
Vous voulez extraire une valeur particulière d'une chaîne de +paramètres d'une URL, et soit la remplacer, soit l'incorporer dans un +autre composant de l'URL.
+ +
Solutions :
+
+

Dans la plupart des solutions de cette section, on utilise la même +condition qui stocke la valeur recherchée dans la référence arrière %2. +%1 est le début de la requête, et %3 ce qui reste. Cette condition est +un peu complexe car elle introduit de la flexibilité et évite les +doubles perluettes '&&' dans les substitutions.

+
    +
  • Cette solution supprime le couple clé/valeur recherché : + +
    # Remove mykey=???
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
    +RewriteRule "(.*)" "$1?%1%3"
    + +
  • + +
  • Cette solution remplace la partie de l'URL qui suit la valeur + recherchée par un '?' : + +
    # Copy from query string to PATH_INFO
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
    +RewriteRule "(.*)" "$1/products/%2/?" [PT]
    + +
  • + +
  • Cette solution utilise la valeur recherchée dans une deuxième + condition :: + +
    # Capture the value of mykey in the query string
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$""
    +RewriteCond "%2" !=not-so-secret-value 
    +RewriteRule "(.*)" - [F]
    + +
  • + +
  • Cette solution produit l'effet inverse des précédentes ; elle + copie des composantes du chemin (peut-être PATH_INFO) depuis l'URL + vers sa chaîne de paramètres : +
    # The desired URL might be /products/kitchen-sink, and the script expects 
    +# /path?products=kitchen-sink.
    +RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]
    + +
  • +
+ +
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/rewritemap.html b/docs/manual/rewrite/rewritemap.html new file mode 100644 index 0000000..c5925e3 --- /dev/null +++ b/docs/manual/rewrite/rewritemap.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: rewritemap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: rewritemap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/rewritemap.html.en b/docs/manual/rewrite/rewritemap.html.en new file mode 100644 index 0000000..1f7c8dd --- /dev/null +++ b/docs/manual/rewrite/rewritemap.html.en @@ -0,0 +1,481 @@ + + + + + +Using RewriteMap - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Using RewriteMap

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It describes +the use of the RewriteMap directive, +and provides examples of each of the various RewriteMap types.

+ +
Note that many of these examples won't work unchanged in your +particular server configuration, so it's important that you understand +them, rather than merely cutting and pasting the examples into your +configuration.
+ +
+ +
top
+
+

Introduction

+ + +

+ The RewriteMap directive + defines an external function which can be called in the context of + RewriteRule or + RewriteCond directives to + perform rewriting that is too complicated, or too specialized to be + performed just by regular expressions. The source of this lookup can + be any of the types listed in the sections below, and enumerated in + the RewriteMap reference + documentation.

+ +

The syntax of the RewriteMap + directive is as follows:

+ +
RewriteMap MapName MapType:MapSource
+
+ + +

The MapName is an + arbitrary name that you assign to the map, and which you will use in + directives later on. Arguments are passed to the map via the + following syntax:

+ +

+ + ${ MapName : LookupKey + }
${ MapName : + LookupKey | DefaultValue } +
+

+ +

When such a construct occurs, the map MapName is + consulted and the key LookupKey is looked-up. If the + key is found, the map-function construct is substituted by + SubstValue. If the key is not found then it is + substituted by DefaultValue or by the empty string + if no DefaultValue was specified.

+ +

For example, you can define a + RewriteMap as:

+
RewriteMap examplemap "txt:/path/to/file/map.txt"
+ +

You would then be able to use this map in a + RewriteRule as follows:

+
RewriteRule "^/ex/(.*)" "${examplemap:$1}"
+ + +

A default value can be specified in the event that nothing is found +in the map:

+ +
RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"
+ + +

Per-directory and .htaccess context

+

+The RewriteMap directive may not be +used in <Directory> sections or +.htaccess files. You must +declare the map in server or virtualhost context. You may use the map, +once created, in your RewriteRule and +RewriteCond directives in those +scopes. You just can't declare it in those scopes.

+
+ +

The sections that follow describe the various MapTypes that +may be used, and give examples of each.

+
top
+
+

int: Internal Function

+ + +

When a MapType of int is used, the MapSource is one + of the available internal RewriteMap + functions. Module authors can provide + additional internal functions by registering them with the + ap_register_rewrite_mapfunc API. + The functions that are provided by default are: +

+ +
    +
  • toupper:
    + Converts the key to all upper case.
  • +
  • tolower:
    + Converts the key to all lower case.
  • +
  • escape:
    + Translates special characters in the key to + hex-encodings.
  • +
  • unescape:
    + Translates hex-encodings in the key back to + special characters.
  • +
+ +

+ To use one of these functions, create a RewriteMap referencing + the int function, and then use that in your RewriteRule: +

+ +

Redirect a URI to an all-lowercase version of itself

+
RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]
+ + +
+

Please note that the example offered here is for + illustration purposes only, and is not a recommendation. If you want + to make URLs case-insensitive, consider using + mod_speling instead. +

+
+ +
top
+
+

txt: Plain text maps

+ + +

When a MapType of txt is used, the MapSource is a filesystem path to a + plain-text mapping file, containing one space-separated key/value pair + per line. Optionally, a line may contain a comment, starting with + a '#' character.

+ +

A valid text rewrite map file will have the following syntax:

+ +

+ # Comment line
+ MatchingKey SubstValue
+ MatchingKey SubstValue # comment
+

+ +

When the RewriteMap is invoked + the argument is looked for in the + first argument of a line, and, if found, the substitution value is + returned.

+ +

For example, we can use a mapfile to translate product names to + product IDs for easier-to-remember URLs, using the following + recipe:

+

Product to ID configuration

+
RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
+ + +

We assume here that the prods.php script knows what + to do when it received an argument of id=NOTFOUND when + a product is not found in the lookup map.

+ +

The file /etc/apache2/productmap.txt then contains + the following:

+ +

Product to ID map

+##
+## productmap.txt - Product to ID map file
+##
+
+television 993
+stereo 198
+fishingrod 043
+basketball 418
+telephone 328 +

+ +

Thus, when http://example.com/product/television is + requested, the RewriteRule is + applied, and the request + is internally mapped to /prods.php?id=993.

+ +

Note: .htaccess files

+ The example given is crafted to be used in server or virtualhost + scope. If you're planning to use this in a .htaccess + file, you'll need to remove the leading slash from the rewrite + pattern in order for it to match anything: +
RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
+ +
+ +

Cached lookups

+

+ The looked-up keys are cached by httpd until the mtime + (modified time) of the mapfile changes, or the httpd server is + restarted. This ensures better performance on maps that are called + by many requests. +

+
+ +
top
+
+

rnd: Randomized Plain Text

+ + +

When a MapType of rnd is used, the MapSource is a + filesystem path to a plain-text mapping file, each line of which + contains a key, and one or more values separated by |. + One of these values will be chosen at random if the key is + matched.

+ +

For example, you can use the following map + file and directives to provide a random load balancing between + several back-end servers, via a reverse-proxy. Images are sent + to one of the servers in the 'static' pool, while everything + else is sent to one of the 'dynamic' pool.

+ +

Rewrite map file

+##
+## map.txt -- rewriting map
+##
+
+static www1|www2|www3|www4
+dynamic www5|www6 +

+

Configuration directives

+
RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1"  [NC,P,L]
+RewriteRule "^/(.*)"                "http://${servers:dynamic}/$1" [P,L]
+ + +

So, when an image is requested and the first of these rules is + matched, RewriteMap looks up the string + static in the map file, which returns one of the + specified hostnames at random, which is then used in the + RewriteRule target.

+ +

If you wanted to have one of the servers more likely to be chosen + (for example, if one of the server has more memory than the others, + and so can handle more requests) simply list it more times in the + map file.

+ +

+static www1|www1|www2|www3|www4 +

+ +
top
+
+

dbm: DBM Hash File

+ + +

When a MapType of dbm is used, the MapSource is a + filesystem path to a DBM database file containing key/value pairs to + be used in the mapping. This works exactly the same way as the + txt map, but is much faster, because a DBM is indexed, + whereas a text file is not. This allows more rapid access to the + desired key.

+ +

You may optionally specify a particular dbm type:

+ +
RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"
+ + +

The type can be sdbm, gdbm, ndbm + or db. + However, it is recommended that you just use the httxt2dbm utility that is + provided with Apache HTTP Server, as it will use the correct DBM library, + matching the one that was used when httpd itself was built.

+ +

To create a dbm file, first create a text map file as described + in the txt section. Then run + httxt2dbm:

+ +

+$ httxt2dbm -i mapfile.txt -o mapfile.map +

+ +

You can then reference the resulting file in your +RewriteMap directive:

+ +
RewriteMap mapname "dbm:/etc/apache/mapfile.map"
+ + +
+

Note that with some dbm types, more than one file is generated, with +a common base name. For example, you may have two files named +mapfile.map.dir and mapfile.map.pag. This is +normal, and you need only use the base name mapfile.map in +your RewriteMap directive.

+
+ +

Cached lookups

+

+The looked-up keys are cached by httpd until the mtime +(modified time) of the mapfile changes, or the httpd server is +restarted. This ensures better performance on maps that are called +by many requests. +

+
+ +
top
+
+

prg: External Rewriting Program

+ +

When a MapType of prg is used, the MapSource is a + filesystem path to an executable program which will providing the + mapping behavior. This can be a compiled binary file, or a program + in an interpreted language such as Perl or Python.

+ +

This program is started once, when the Apache HTTP Server is + started, and then communicates with the rewriting engine via + STDIN and STDOUT. That is, for each map + function lookup, it expects one argument via STDIN, and + should return one new-line terminated response string on + STDOUT. If there is no corresponding lookup value, the + map program should return the four-character string + "NULL" to indicate this.

+ +

External rewriting programs are not started if they're defined in + a context that does not have RewriteEngine set to + on.

+ +

By default, external rewriting programs are run as the + user:group who started httpd. This can be changed on UNIX systems + by passing user name and group name as third argument to + RewriteMap in the + username:groupname format.

+ +

This feature utilizes the rewrite-map mutex, + which is required for reliable communication with the program. + The mutex mechanism and lock file can be configured with the + Mutex directive.

+ +

A simple example is shown here which will replace all dashes with + underscores in a request URI.

+ +

Rewrite configuration

+
RewriteMap d2u "prg:/www/bin/dash2under.pl" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"
+ + +

dash2under.pl

+
#!/usr/bin/perl
+$| = 1; # Turn off I/O buffering
+while (<STDIN>) {
+    s/-/_/g; # Replace dashes with underscores
+    print $_;
+}
+ + +

Caution!

+
    +
  • Keep your rewrite map program as simple as possible. If the program +hangs, it will cause httpd to wait indefinitely for a response from the +map, which will, in turn, cause httpd to stop responding to +requests.
  • +
  • Be sure to turn off buffering in your program. In Perl this is done +by the second line in the example script: $| = 1; This will +of course vary in other languages. Buffered I/O will cause httpd to wait +for the output, and so it will hang.
  • +
  • Remember that there is only one copy of the program, started at +server startup. All requests will need to go through this one bottleneck. +This can cause significant slowdowns if many requests must go through +this process, or if the script itself is very slow.
  • +
+
+ +
top
+
+

dbd or fastdbd: SQL Query

+ + +

When a MapType of dbd or fastdbd is + used, the MapSource is a SQL SELECT statement that takes a single + argument and returns a single value.

+ +

mod_dbd will need to be configured to point at + the right database for this statement to be executed.

+ +

There are two forms of this MapType. + Using a MapType of dbd causes the query to be + executed with each map request, while using fastdbd + caches the database lookups internally. So, while + fastdbd is more efficient, and therefore faster, it + won't pick up on changes to the database until the server is + restarted.

+ +

If a query returns more than one row, a random row from + the result set is used.

+ +

Example

RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"
+
+ +

Note

+

The query name is passed to the database driver as a label for + an SQL prepared statement, and will therefore need to follow any rules + (such as case-sensitivity) required for your database.

+ +
top
+
+

Summary

+ + +

The RewriteMap directive can + occur more than once. For each mapping-function use one + RewriteMap directive to declare + its rewriting mapfile.

+ +

While you cannot declare a map in + per-directory context (.htaccess files or + <Directory> blocks) it is + possible to use this map in per-directory context.

+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/rewritemap.html.fr.utf8 b/docs/manual/rewrite/rewritemap.html.fr.utf8 new file mode 100644 index 0000000..2fbda44 --- /dev/null +++ b/docs/manual/rewrite/rewritemap.html.fr.utf8 @@ -0,0 +1,511 @@ + + + + + +Utilisation de RewriteMap - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Utilisation de RewriteMap

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la documentation de référence du + module mod_rewrite. Il décrit l'utilisation de la + directive RewriteMap, et + fournit des exemples pour chacun des différents types de + RewriteMap.

+ +
Notez que la plupart de ces exemples ne + fonctionneront pas en l'état dans le contexte de votre configuration + particulière ; vous devez donc vous attacher à les + comprendre, plutôt que de simplement les insérer dans votre + configuration par copier/coller.
+ +
+ +
top
+
+

Introduction

+ + +

+ La directive RewriteMap + définit une fonction externe qui peut être appelée depuis une + directive RewriteRule ou + RewriteCond pour + accomplir une réécriture trop compliquée, ou trop spécialisée pour + être effectuée à partir d'expressions rationnelles. Vous trouverez + ci-dessous les différents types disponibles pour la source de + données, ceux-ci étant par ailleurs énumérés dans la documentation de + référence de RewriteMap.

+ +

La syntaxe de la directive RewriteMap est la suivante + :

+ +
RewriteMap MapName MapType:MapSource
+ + +

L'argument MapName + est un nom arbitraire que vous associez à la table de + correspondances, et que vous + pourrez utilisez par la suite dans les directives de réécriture. Les + recherches dans la table de correspondance s'effectuent en + respectant cette syntaxe :

+ +

+ + ${ nom-map : + clé-recherche + }
${ nom-map : + clé-recherche | DefaultValue } +
+

+ +

Lorsque cette syntaxe est employée, la table de correspondances + nom-map est consultée et la clé clé-recherche + recherchée. Si la clé est trouvée, la fonction de recherche dans la + table de correspondance est remplacée par SubstValue, ou + par DefaultValue dans le cas contraire, ou par la chaîne + vide si aucune DefaultValue n'a été spécifiée.

+ +

Par exemple, vous pouvez définir une directive + RewriteMap comme suit :

+
RewriteMap examplemap "txt:/path/to/file/map.txt"
+ +

Vous pourrez par la suite utiliser cette table de correspondances + dans une directive RewriteRule comme suit :

+
RewriteRule "^/ex/(.*)" "${examplemap:$1}"
+ + +

Il est possible de spécifier une valeur par défaut qui sera utilisée +si la recherche dans la table de correspondances est infructueuse :

+ +
RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"
+ + +

Contexte de répertoire et fichiers.htaccess

+

+Vous ne pouvez utiliser la directive RewriteMap ni dans +les sections <Directory>, ni dans les fichiers +.htaccess. Vous devez déclarer la table de correspondances +au niveau du serveur principal ou dans un contexte de serveur virtuel. +En revanche, si vous ne pouvez pas déclarer la table dans une section +<Directory> ou dans un fichier .htaccess, vous +pourrez y faire référence dans ces contextes, une fois cette table +créée. +

+
+ +

Les sections suivantes décrivent les différents types de tables de +correspondances type-map disponibles, et fournissent des +exemples pour chacun d'entre eux.

+
top
+
+

int: Fonction interne

+ + +

Lorsque le type-map int est spécifié, la source est + une des fonctions RewriteMap internes disponibles. Les développeurs + de modules peuvent fournir des fonctions internes supplémentaires en + les enregistrant via l'API ap_register_rewrite_mapfunc. + Les fonctions fournies par défaut sont : +

+ +
    +
  • toupper:
    + Met tous les caractères de la clé en majuscules.
  • +
  • tolower:
    + Met tous les caractères de la clé en minuscules.
  • +
  • escape:
    + Protège les caractères spéciaux de la clé en les + transformant en leur code hexadécimal.
  • +
  • unescape:
    + Retraduit les codes hexadécimaux de la clé en caractères + spéciaux.
  • +
+ +

+ Pour utiliser une de ces fonctions, créez une + RewriteMap faisant référence à cette fonction int, et + utilisez-la dans votre règle RewriteRule : +

+ +

Redirige un URI vers son équivalent en minuscules

+
RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]
+ + +
+

Notez que cet exemple n'est fourni qu'à titre d'illustration, + et ne constitue en aucun cas une recommandation. Si vous voulez + rendre des URLs insensibles à la casse, vous devez plutôt vous + tourner vers mod_speling. +

+
+ +
top
+
+

txt: tables de correspondances au format texte

+ + +

Lorsqu'un type-map txt est utilisé, la source-map + est un chemin du système de fichiers vers un fichier de + correspondances au format texte, contenant sur chaque ligne une + paire clé/valeur séparées par un espace. Il est possible d'insérer + des commentaires sous la forme de chaînes commençant par le caractère + '#'.

+ +

Voici un exemple d'entrées valides dans un fichier de + correspondances :

+ +

+ # Ligne de commentaires
+ clé valeur-substitution
+ clé valeur-substitution # commentaire
+

+ +

Lorsque la table de correspondance fait l'objet d'une recherche, + la valeur spécifiée est recherchée dans le premier champ, et si elle + est trouvée, la valeur de substitution est renvoyée.

+ +

Par exemple, nous pourrions utiliser un fichier de + correspondances pour traduire des noms de produits en identifiants + produits pour obtenir des URLs plus simples à mémoriser, en + utilisant la recette suivante :

+ +

Product to ID configuration

+
RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
+ + +

Nous supposons ici que le script prods.php sait quoi + faire lorsqu'il reçoit un argument id=NOTFOUND, dans + le cas où le produit ne se trouve pas dans la table de + correspondances.

+ +

Le fichier /etc/apache2/map-produit.txt contient ce + qui suit :

+ +

Fichier de correspondances Produit - Identifiant

+##
+## map-produit.txt - Fichier de correspondances Produit - Identifiant
+##
+
+TELEVISION 993
+STEREO 198
+CANNE-A-PECHE 043
+BALLON-BASKET 418
+TELEPHONE 328 +

+ +

Ainsi, lorsqu'une requête pour + http://example.com/produit/TELEVISION arrive, la directive + RewriteRule s'applique, et la + requête est transformée en interne en /prods.php?id=993.

+ +

Note: fichiers .htaccess

+ L'exemple donné est conçu pour être utilisé dans un contexte de + serveur principal ou de serveur virtuel. Si vous voulez l'utiliser + dans un fichier .htaccess, vous devrez supprimer le + slash de début dans le modèle de réécriture afin que ce dernier + puisse correspondre à toute URL : +
RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
+ +
+ +

Recherches mises en cache

+

+ Les clés de recherche sont mises en cache par httpd jusqu'à ce que + le mtime (date de modification) du fichier de + correspondances soit modifié, ou que le serveur httpd soit + redémarré, ce qui améliore les performances pour les tables de + correspondances consultées par de nombreuses requêtes. +

+
+ +
top
+
+

rnd: Fichier texte à valeurs de substitution multiples + choisies de manière aléatoire

+ + +

Lorsque le type-map spécifié est rnd, la source est + un chemin du système de fichiers vers un fichier de correspondances + au format texte dont chaque ligne contient une clé, et une ou + plusieurs valeurs séparées par le caractère |. Si une + clé convient, une des valeurs correspondantes sera choisie de + manière aléatoire.

+ +

Par exemple, vous pouvez utiliser le fichier de correspondances + et les directives suivants pour implémenter une répartition de + charge aléatoire entre plusieurs serveurs d'arrière-plan, par + l'intermédiaire d'un mandataire inverse. Les images sont envoyées + vers un des serveurs de l'ensemble 'statique', tandis que tout le + reste est envoyé vers un des serveurs de l'ensemble 'dynamique'.

+ +

Fichier de correspondances

+##
+## map.txt -- table de réécriture
+##
+
+statique www1|www2|www3|www4
+dynamique www5|www6 +

+

Directives de configuration

+
RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)"                "http://${servers:dynamic}/$1" [P,L]
+ + + +

Ainsi, lorsqu'une image est demandée et que la première règle + convient, RewriteMap recherche la chaîne + statique dans le fichier de correspondances qui + renvoie un des noms de serveurs spécifiés de manière aléatoire, + ce dernier étant utilisé dans la cible de la règle + RewriteRule.

+ +

Si vous voulez qu'un des serveurs soit plus souvent sollicité que + les autres (par exemple s'il possède plus de mémoire, et peut donc + traiter d'avantage de requêtes), spécifiez-le plusieurs fois dans la + liste des serveurs.

+ +

+statique www1|www1|www2|www3|www4 +

+ +
top
+
+

dbm: Fichier condensé DBM

+ + +

Lorsque le type-map dbm est utilisé, la source est + un chemin du système de fichiers vers un fichier de données DBM + contenant des paires clé/valeur permettant d'effectuer la + correspondance. Le fonctionnement est identique à celui du type-map + txt, mais beaucoup plus rapide car un fichier DBM est + indexé, alors qu'un fichier texte ne l'est pas. L'accès à la clé + recherchée est donc plus rapide.

+ +

Vous pouvez éventuellement spécifier un type dbm particulier :

+ +
RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"
+ + +

Ce type peut être choisi parmi sdbm, gdbm, + ndbm ou db. Il est + cependant recommandé d'utiliser l'utilitaire httxt2dbm fourni avec le + serveur HTTP Apache, car il utilise la bibliothèque DBM appropriée, + à savoir celle qui a été utilisée lors de la compilation de httpd.

+ +

Pour créer un fichier dbm, créez tout d'abord un fichier de + correspondances au format texte comme décrit dans la section txt. Traitez ensuite ce fichier avec + httxt2dbm :

+ +

+$ httxt2dbm -i fichier-map.txt -o fichier-map.map +

+ +

Vous pouvez alors faire référence au fichier obtenu dans votre +directive RewriteMap :

+
RewriteMap mapname "dbm:/etc/apache/mapfile.map"
+ + +
+

Notez qu'avec certains types dbm, plusieurs fichiers possédant le +même nom de base sont créés. Par exemple, vous pouvez obtenir deux +fichiers nommés fichier-map.map.dir et +fichier-map.map.pag. Ceci est tout à fait normal, et vous +ne devez utiliser que le nom de base fichier-map.map dans votre +directive RewriteMap.

+
+ +

Mise en cache des recherches

+

+ Les clés de recherche sont mises en cache par httpd jusqu'à ce que + le mtime (date de modification) du fichier de + correspondances soit modifié, ou que le serveur httpd soit + redémarré, ce qui améliore les performances pour les tables de + correspondances consultées par de nombreuses requêtes. +

+
+ +
top
+
+

prg: Programme de réécriture externe

+ +

Lorque le type-map prg est spécifié, la source est + un chemin du système de fichiers vers un programme exécutable + destiné à effectuer la mise en correspondance. Il peut s'agir d'un + fichier binaire compilé, ou d'un programme en langage interprété + comme Perl ou Python.

+ +

Ce programme est lancé une fois au démarrage du serveur HTTP + Apache, puis communique avec le moteur de réécriture via + STDIN et STDOUT. En d'autres termes, pour + chaque recherche de correspondance, il reçoit un argument via + STDIN, et doit renvoyer en guise de réponse une chaîne + terminée par un caractère nouvelle-ligne sur STDOUT. Si + la recherche de correspondance est infructueuse, le programme doit + l'indiquer en retournant la chaîne de quatre caractères + "NULL".

+ +

Les programmes de réécriture externes ne sont pas lancés s'il + n'ont pas été définis dans un contexte où la directive RewriteEngine est définie à + on.

+ +

Par défaut, les programmes de réécriture externes sont lancés par + l'utilisateur/groupe qui a démarré httpd. Pour changer ce comportement, il + est possible sur les systèmes de style Unix de spécifier un autre couple + utilisateur/groupe via le troisième argument de la directive RewriteMap, et ceci au format + utilisateur:groupe.

+ +

Cette fonctionnalité utilise le mutex rewrite-map + nécessaire à la fiabilité des communications avec le programme. Le + mécanisme de mutex et le fichier verrou peuvent être définis via la + directive Mutex.

+ +

Voici un exemple simple qui remplace tous les tirets par des + caractères de soulignement dans l'URI de la requête.

+ +

Configuration de la réécriture

+
RewriteMap d2u "prg:/www/bin/dash2under.pl" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"
+ + +

dash2under.pl

+
    #!/usr/bin/perl
+    $| = 1; # Turn off I/O buffering
+    while (<STDIN>) {
+        s/-/_/g; # Remplace tous les tirets par des caractères de soulignement
+        print $_;
+    }
+ + +

Mises en garde !

+
    +
  • Votre programme doit être le plus +simple possible. Si le programme se bloque, httpd va attendre +indéfiniment une réponse de sa part, et par conséquent ne répondra plus +aux requêtes.
  • +
  • Assurez-vous de bien désactiver la mise en tampon dans votre +programme. En Perl, ceci est effectué à la seconde ligne du script de +l'exemple - $| = 1; - La syntaxe sera bien entendu +différente dans +d'autres langages. Si les entrées/sorties sont mises en tampon, httpd va +attendre une sortie, et va par conséquent se bloquer.
  • +
  • Rappelez-vous qu'il n'existe qu'une copie du programme lancé au +démarrage du serveur, et que toutes les requêtes vont devoir passer par +ce goulot d'étranglement. Ceci peut provoquer des ralentissements +significatifs si de nombreuses requêtes doivent être traitées, ou si le +script lui-même est très lent.
  • +
+
+ +
top
+
+

dbd ou fastdbd: requête SQL

+ + +

Lorsque le type-map dbd ou fastdbd est + spécifié, la source est une requête SQL SELECT qui reçoit un + argument et renvoie une seule valeur.

+ +

Pour que cette requête puisse être exécutée, + mod_dbd doit être configuré pour attaquer la base + de données concernée.

+ +

Ce type-map existe sous deux formes. Avec le type-map + dbd, la requête est exécutée à chaque demande, tandis + qu'avec le type-map fastdbd, les recherches dans la + base de données sont mises en cache en interne. fastdbd + est donc plus efficace et donc plus rapide ; par contre, il ne + tiendra pas compte des modifications apportées à la base de données + jusqu'à ce que le serveur soit redémarré.

+ +

Si une requête renvoie plusieurs enregistrements, un de ceux-ci + sera sélectionné aléatoirement.

+ +

Exemple

RewriteMap ma-requete "fastdbd:SELECT destination FROM rewrite WHERE source = %s"
+
+ +

Note

+

Le nom de la requête est transmis au pilote de base de données en tant + que label pour une requête SQL préparée, et doit donc respecter toutes les + règles imposées par votre base de données (comme la sensibilité à la casse).

+ +
top
+
+

Résumé

+ + +

La directive RewriteMap peut apparaître + plusieurs fois. Utilisez une directive + RewriteMap pour chaque fonction de mise en + correspondance pour déclarer son fichier de correspondances.

+ +

Bien que l'on ne puisse pas déclarer de fonction + de mise en correspondance dans un contexte de répertoire (fichier + .htaccess ou section <Directory>), il est + possible d'utiliser cette fonction dans un tel contexte.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/tech.html b/docs/manual/rewrite/tech.html new file mode 100644 index 0000000..f7b80ba --- /dev/null +++ b/docs/manual/rewrite/tech.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: tech.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: tech.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/tech.html.en b/docs/manual/rewrite/tech.html.en new file mode 100644 index 0000000..5207ec7 --- /dev/null +++ b/docs/manual/rewrite/tech.html.en @@ -0,0 +1,205 @@ + + + + + +Apache mod_rewrite Technical Details - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache mod_rewrite Technical Details

+
+

Available Languages:  en  | + fr 

+
+ +

This document discusses some of the technical details of mod_rewrite +and URL matching.

+
+ +
top
+
+

API Phases

+ +

The Apache HTTP Server handles requests in several phases. At + each of these phases, one or more modules may be called upon to + handle that portion of the request lifecycle. Phases include things + like URL-to-filename translation, authentication, authorization, + content, and logging. (This is not an exhaustive list.)

+ +

mod_rewrite acts in two of these phases (or "hooks", as they are + often called) to influence how URLs may be rewritten.

+ +

First, it uses the URL-to-filename translation hook, which occurs + after the HTTP request has been read, but before any authorization + starts. Secondly, it uses the Fixup hook, which is after the + authorization phases, and after per-directory configuration files + (.htaccess files) have been read, but before the + content handler is called.

+ +

So, after a request comes in and a corresponding server or + virtual host has been determined, the rewriting engine starts + processing any mod_rewrite directives appearing in the + per-server configuration. (i.e., in the main server configuration file + and <Virtualhost> + sections.) This happens in the URL-to-filename phase.

+ +

A few steps later, once the final data directories have been found, + the per-directory configuration directives (.htaccess + files and <Directory> blocks) are applied. This + happens in the Fixup phase.

+ +

In each of these cases, mod_rewrite rewrites the + REQUEST_URI either to a new URL, or to a filename.

+ +

In per-directory context (i.e., within .htaccess files + and Directory blocks), these rules are being applied + after a URL has already been translated to a filename. Because of + this, the URL-path that mod_rewrite initially compares RewriteRule directives against + is the full filesystem path to the translated filename with the current + directories path (including a trailing slash) removed from the front.

+ +

To illustrate: If rules are in /var/www/foo/.htaccess and a request + for /foo/bar/baz is being processed, an expression like ^bar/baz$ would + match.

+ +

If a substitution is made in per-directory context, a new internal + subrequest is issued with the new URL, which restarts processing of the + request phases. If the substitution is a relative path, the RewriteBase directive + determines the URL-path prefix prepended to the substitution. + In per-directory context, care must be taken to + create rules which will eventually (in some future "round" of per-directory + rewrite processing) not perform a substitution to avoid looping. + (See RewriteLooping + for further discussion of this problem.)

+ +

Because of this further manipulation of the URL in per-directory + context, you'll need to take care to craft your rewrite rules + differently in that context. In particular, remember that the + leading directory path will be stripped off of the URL that your + rewrite rules will see. Consider the examples below for further + clarification.

+ + + + + + + + + + + + + + + + + + + + + + + +
Location of ruleRule
VirtualHost sectionRewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"
.htaccess file in document rootRewriteRule "^images/(.+)\.jpg" "images/$1.gif"
.htaccess file in images directoryRewriteRule "^(.+)\.jpg" "$1.gif"
+ +

For even more insight into how mod_rewrite manipulates URLs in + different contexts, you should consult the log entries made during + rewriting.

+ +
top
+
+

Ruleset Processing

+ +

Now when mod_rewrite is triggered in these two API phases, it + reads the configured rulesets from its configuration + structure (which itself was either created on startup for + per-server context or during the directory walk of the Apache + kernel for per-directory context). Then the URL rewriting + engine is started with the contained ruleset (one or more + rules together with their conditions). The operation of the + URL rewriting engine itself is exactly the same for both + configuration contexts. Only the final result processing is + different.

+ +

The order of rules in the ruleset is important because the + rewriting engine processes them in a special (and not very + obvious) order. The rule is this: The rewriting engine loops + through the ruleset rule by rule (RewriteRule directives) and + when a particular rule matches it optionally loops through + existing corresponding conditions (RewriteCond + directives). For historical reasons the conditions are given + first, and so the control flow is a little bit long-winded. See + Figure 1 for more details.

+

+ Flow of RewriteRule and RewriteCond matching
+ Figure 1:The control flow through the rewriting ruleset +

+

First the URL is matched against the + Pattern of each rule. If it fails, mod_rewrite + immediately stops processing this rule, and continues with the + next rule. If the Pattern matches, mod_rewrite looks + for corresponding rule conditions (RewriteCond directives, + appearing immediately above the RewriteRule in the configuration). + If none are present, it substitutes the URL with a new value, which is + constructed from the string Substitution, and goes on + with its rule-looping. But if conditions exist, it starts an + inner loop for processing them in the order that they are + listed. For conditions, the logic is different: we don't match + a pattern against the current URL. Instead we first create a + string TestString by expanding variables, + back-references, map lookups, etc. and then we try + to match CondPattern against it. If the pattern + doesn't match, the complete set of conditions and the + corresponding rule fails. If the pattern matches, then the + next condition is processed until no more conditions are + available. If all conditions match, processing is continued + with the substitution of the URL with + Substitution.

+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/tech.html.fr.utf8 b/docs/manual/rewrite/tech.html.fr.utf8 new file mode 100644 index 0000000..f246179 --- /dev/null +++ b/docs/manual/rewrite/tech.html.fr.utf8 @@ -0,0 +1,223 @@ + + + + + +Détails techniques sur le module Apache mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Détails techniques sur le module Apache mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Ce document passe en revue certains détails techniques à propos du +module mod_rewrite et de la mise en correspondance des URLs

+
+ +
top
+
+

Phases de l'API

+ +

Le traitement des requêtes par le serveur HTTP Apache se + déroule en plusieurs phases. Au cours de chaque phase, un ou + plusieurs modules peuvent être appelés pour traiter la partie + concernée du cycle de vie de la requête. Les différentes phases + peuvent consister en traduction d'URL en nom de fichier, + authentification, autorisation, gestion de contenu ou journalisation (la + liste n'est pas exhaustive).

+ +

mod_rewrite agit dans deux de ces phases (ou accroches - hooks - + comme on les nomme souvent) pour la réécriture des URLs.

+ +

Tout d'abord, il utilise le hook traduction URL vers nom de + fichier qui intervient après la lecture de la requête HTTP, mais + avant le processus d'autorisation. Ensuite, il utilise le hook + Fixup, qui intervient après les phases d'autorisation, après la + lecture des fichiers de configuration de niveau répertoire (fichiers + .htaccess), mais avant l'appel du gestionnaire de + contenu.

+ +

Ainsi, lorsqu'une requête arrive et une fois le serveur + correspondant ou le serveur virtuel déterminé, le moteur de + réécriture commence à traiter toute directive apparaissant dans la + configuration de niveau serveur (autrement dit dans le + fichier de configuration principal du serveur et les sections + <Virtualhost>). + Tout ce processus s'exécute au cours de la phase de traduction URL + vers nom de fichier.

+ +

Quelques étapes plus loin, une fois les répertoires de données + finaux trouvés, les directives de configuration de niveau répertoire + (fichiers .htaccess et sections <Directory>) sont appliquées. Ce processus + s'exécute au cours de la phase Fixup.

+ +

Dans tous ces cas, mod_rewrite réécrit le + REQUEST_URI soit vers une nouvelle URL, soit vers un + nom de fichier.

+ +

Dans un contexte de niveau répertoire (autrement dit dans les + fichiers .htaccess et les sections + Directory), les règles de réécriture s'appliquent après + la traduction de l'URL en nom de fichier. C'est pourquoi le chemin + URL auquel mod_rewrite compare initialement les directives + RewriteRule est le + chemin complet vers le nom de fichier traduit amputé de la partie + répertoires (y compris le dernier slash).

+ +

Un exemple : si les règles se trouvent dans + /var/www/foo/.htaccess et si une requête pour /foo/bar/baz est + traité, une expression comme ^bar/baz$ correspondra.

+ +

Si une substitution intervient dans un contexte de répertoire, + une nouvelle sous-requête interne est générée avec la nouvelle URL, + ce qui relance le traitement des phases de la requête. Si la + substitution est un chemin relatif, la directive RewriteBase détermine le chemin URL + devant préfixer cette substitution. Dans un contexte de répertoire, + il faut s'assurer de créer des règles qui + n'effectueront pas de substitution au + cours d'une passe ultérieure du processus de réécriture au niveau + répertoire afin d'éviter les bouclages . Voir Bouclage dans le + processus de réécriture pour une discussion plus détaillée à + propos de ce problème.

+ +

En conséquence de cette manipulation de l'URL , vous devrez + pensez à confectionner différemment vos règles de réécriture dans un + contexte de niveau répertoire. En particulier, rappelez-vous que le + chemin de répertoire sera absent de l'URL que vos règles de + réécriture verront. Voici quelques exemples qui permettront de + clarifier les choses :

+ + + + + + + + + + + + + + + + + + + + + + + +
Position de la règleRègle
Section VirtualHostRewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"
Fichier .htaccess à la racine des documentsRewriteRule "^images/(.+)\.jpg" "images/$1.gif"
Fichier .htaccess dans le répertoire imagesRewriteRule "^(.+)\.jpg" "$1.gif"
+ +

Pour une étude plus approfondie de la manière dont mod_rewrite + manipule les URLs dans les différents contextes, vous pouvez + consulter les entrées du + journal générées au cours du processus de réécriture.

+ +
top
+
+

Traitement du jeu de règles

+ +

Maintenant, quand mod_rewrite se lance dans ces deux phases de + l'API, il lit le jeu de règles configurées depuis la structure + contenant sa configuration (qui a été elle-même créée soit au + démarrage d'Apache pour le contexte du serveur, soit lors du + parcours des répertoires par le noyau d'Apache pour le contexte de + répertoire). Puis le moteur de réécriture est démarré avec le jeu + de règles contenu (une ou plusieurs règles associées à leurs + conditions). En lui-même, le mode opératoire du moteur de + réécriture d'URLs est exactement le même dans les deux contextes + de configuration. Seul le traitement du résultat final diffère.

+ +

L'ordre dans lequel les règles sont définies est important car + le moteur de réécriture les traite selon une chronologie + particulière (et pas très évidente). Le principe est le suivant : + le moteur de réécriture traite les règles (les directives RewriteRule) les unes + à la suite des autres, et lorsqu'une règle s'applique, il parcourt + les éventuelles conditions (directives + RewriteConddirectives) associées. + Pour des raisons historiques, les + conditions précèdent les règles, si bien que le déroulement du + contrôle est un peu compliqué. Voir la figure 1 pour plus de + détails.

+

+ Flux des comparaisons des directives RewriteRule et RewriteCond
+ Figure 1:Déroulement du contrôle à travers le jeu de + règles de réécriture +

+

L'URL est tout d'abord comparée au + Modèle de chaque règle. Lorsqu'une règle ne s'applique + pas, mod_rewrite stoppe immédiatement le traitement de cette règle + et passe à la règle suivante. Si l'URL correspond au + Modèle, mod_rewrite recherche la présence de conditions + correspondantes (les directives Rewritecond apparaissant dans la + configuration juste + avant les règles de réécriture). S'il n'y en a pas, mod_rewrite remplace + l'URL par une chaîne élaborée à partir de la chaîne de + Substitution, puis passe à la règle suivante. Si des + conditions sont présentes, mod_rewrite lance un bouclage + secondaire afin de les traiter selon l'ordre dans lequel elles + sont définies. La logique de traitement des conditions est + différente : on ne compare pas l'URL à un modèle. Une chaîne de + test TestString est tout d'abord élaborée en développant + des variables, des références arrières, des recherches dans des + tables de correspondances, etc..., puis cette chaîne de test est + comparée au modèle de condition CondPattern. Si le modèle + ne correspond pas, les autres conditions du jeu ne sont pas + examinées et la règle correspondante ne s'applique pas. Si le + modèle correspond, la condition suivante est examinée et ainsi de + suite jusqu'à la dernière condition. Si toutes les conditions sont + satisfaites, le traitement de la règle en cours se poursuit avec + le remplacement de l'URL par la chaîne de Substitution.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/vhosts.html b/docs/manual/rewrite/vhosts.html new file mode 100644 index 0000000..e7f261c --- /dev/null +++ b/docs/manual/rewrite/vhosts.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: vhosts.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: vhosts.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/vhosts.html.en b/docs/manual/rewrite/vhosts.html.en new file mode 100644 index 0000000..a2cbb99 --- /dev/null +++ b/docs/manual/rewrite/vhosts.html.en @@ -0,0 +1,228 @@ + + + + + +Dynamic mass virtual hosts with mod_rewrite - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Dynamic mass virtual hosts with mod_rewrite

+
+

Available Languages:  en  | + fr 

+
+ + +

This document supplements the mod_rewrite +reference documentation. It describes +how you can use mod_rewrite to create dynamically +configured virtual hosts.

+ +
mod_rewrite is not the best way to configure +virtual hosts. You should first consider the alternatives before resorting to +mod_rewrite. See also the "how to avoid +mod_rewrite document.
+ +
+ +
top
+
+

Virtual Hosts For Arbitrary Hostnames

+ + + +
+
Description:
+ +
+

We want to automatically create a virtual host for every hostname + which resolves in our domain, without having to create + new VirtualHost sections.

+ +

In this recipe, we assume that we'll be using the hostname + www.SITE.example.com for each + user, and serve their content out of + /home/SITE/www.

+
+ +
Solution:
+ +
+ +
RewriteEngine on
+
+RewriteMap    lowercase int:tolower
+
+RewriteCond   "${lowercase:%{HTTP_HOST}}"   "^www\.([^.]+)\.example\.com$"
+RewriteRule   "^(.*)" "/home/%1/www$1"
+
+ +
Discussion
+
+ +
You will need to take care of the DNS + resolution - Apache does + not handle name resolution. You'll need either to create CNAME + records for each hostname, or a DNS wildcard record. Creating DNS + records is beyond the scope of this document.
+ +

The internal tolower RewriteMap directive is used to +ensure that the hostnames being used are all lowercase, so that there is +no ambiguity in the directory structure which must be created.

+ +

Parentheses used in a RewriteCond are captured into the +backreferences %1, %2, etc, while parentheses +used in RewriteRule are +captured into the backreferences $1, $2, +etc.

+ +

+As with many techniques discussed in this document, mod_rewrite really +isn't the best way to accomplish this task. You should, instead, +consider using mod_vhost_alias instead, as it will much +more gracefully handle anything beyond serving static files, such as any +dynamic content, and Alias resolution. +

+
+
+ +
top
+
+

Dynamic + Virtual Hosts Using mod_rewrite

+ +

This extract from httpd.conf does the same + thing as the first example. The first + half is very similar to the corresponding part above, except for + some changes, required for backward compatibility and to make the + mod_rewrite part work properly; the second half + configures mod_rewrite to do the actual work.

+ +

Because mod_rewrite runs before other URI translation + modules (e.g., mod_alias), mod_rewrite must + be told to explicitly ignore any URLs that would have been handled + by those modules. And, because these rules would otherwise bypass + any ScriptAlias directives, we must have + mod_rewrite explicitly enact those mappings.

+ +
# get the server name from the Host: header
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+    # ExecCGI is needed here because we can't force
+    # CGI execution in the way that ScriptAlias does
+    Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# a ServerName derived from a Host: header may be any case at all
+RewriteMap  lowercase  int:tolower
+
+## deal with normal documents first:
+# allow Alias "/icons/" to work - repeat for other aliases
+RewriteCond  "%{REQUEST_URI}"  "!^/icons/"
+# allow CGIs to work
+RewriteCond  "%{REQUEST_URI}"  "!^/cgi-bin/"
+# do the magic
+RewriteRule  "^/(.*)$"  "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## and now deal with CGIs - we have to force a handler
+RewriteCond  "%{REQUEST_URI}"  "^/cgi-bin/"
+RewriteRule  "^/(.*)$"  "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1"  [H=cgi-script]
+ + +
top
+
+

Using a Separate Virtual Host Configuration File

+ +

This arrangement uses more advanced mod_rewrite + features to work out the translation from virtual host to document + root, from a separate configuration file. This provides more + flexibility, but requires more complicated configuration.

+ +

The vhost.map file should look something like + this:

+ +

+customer-1.example.com /www/customers/1
+customer-2.example.com /www/customers/2
+# ...
+customer-N.example.com /www/customers/N
+

+ +

The httpd.conf should contain the following:

+ +
RewriteEngine on
+
+RewriteMap   lowercase  int:tolower
+
+# define the map file
+RewriteMap   vhost      "txt:/www/conf/vhost.map"
+
+# deal with aliases as above
+RewriteCond  "%{REQUEST_URI}"               "!^/icons/"
+RewriteCond  "%{REQUEST_URI}"               "!^/cgi-bin/"
+RewriteCond  "${lowercase:%{SERVER_NAME}}"  "^(.+)$"
+# this does the file-based remap
+RewriteCond  "${vhost:%1}"                  "^(/.*)$"
+RewriteRule  "^/(.*)$"                      "%1/docs/$1"
+
+RewriteCond  "%{REQUEST_URI}"               "^/cgi-bin/"
+RewriteCond  "${lowercase:%{SERVER_NAME}}"  "^(.+)$"
+RewriteCond  "${vhost:%1}"                  "^(/.*)$"
+RewriteRule  "^/cgi-bin/(.*)$"                      "%1/cgi-bin/$1" [H=cgi-script]
+ + +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/vhosts.html.fr.utf8 b/docs/manual/rewrite/vhosts.html.fr.utf8 new file mode 100644 index 0000000..ee685c1 --- /dev/null +++ b/docs/manual/rewrite/vhosts.html.fr.utf8 @@ -0,0 +1,239 @@ + + + + + +Hébergement virtuel de masse avec mod_rewrite - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Hébergement virtuel de masse avec mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la documentation de référence du module +mod_rewrite. Il décrit comment créer des serveurs +virtuels dynamiquement configurés en utilisant +mod_rewrite.

+ +
L'utilisation de mod_rewrite n'est pas la meilleure +méthode pour configurer des serveurs virtuels. Vous devez dans un +premier temps tenter de résoudre votre problème via ces d'autres méthodes avant d'avoir +recours à mod_rewrite. Voir aussi le document Comment éviter l'utilisation de +mod_rewrite.
+ + +
+ +
top
+
+

Serveurs virtuels pour des noms d'hôtes arbitraires

+ + + +
+
Description :
+ +
+

Nous voulons créer automatiquement un serveur virtuel pour tout + nom d'hôte qui peut être résolu dans notre domaine, sans avoir à + créer de nouvelle section VirtualHost.

+ +

Dans cet exemple, nous supposons que nous utilisons le nom d'hôte + www.SITE.example.com pour chaque + utilisateur, et que nous servons leur contenu depuis + /home/SITE/www.

+
+ +
Solution :
+ +
+ +
RewriteEngine on
+
+RewriteMap    lowercase int:tolower
+
+RewriteCond   "${lowercase:%{HTTP_HOST}}" "^www\.([^.]+)\.example\.com$"
+RewriteRule   "^(.*)" "/home/%1/www$1"
+
+ +
Discussion
+
+ +
Vous devez vérifier le bon fonctionnement de la + résolution DNS - Apache ne gère pas la résolution de nom. Vous + devrez créer soit des enregistrements CNAME pour chaque nom d'hôte, + soit un enregistrement DNS avec caractères génériques. La création + des enregistrements DNS est en dehors du sujet de ce document.
+ +

La directive RewriteMap interne tolower permet de +s'assurer que les noms d'hôtes utilisés seront tous en minuscules, de +façon à éviter toute ambiguité dans la structure des répertoires qui +doit être créée.

+ +

Les contenus des parenthèses utilisées dans une directive RewriteCond sont enregistrés dans les +références arrières %1, %2, etc..., alors que +les contenus des parenthèses utilisées dans une directive RewriteRule le sont dans les +références arrières $1, $2, etc...

+ +

+Comme c'est le cas pour de nombreuses techniques discutées dans ce +document, mod_rewrite n'est vraiment pas la meilleure méthode pour +accomplir cette tâche. Vous devez plutôt vous tourner vers +mod_vhost_alias, car ce dernier sera bien plus à même +de gérer tout ce qui est au delà du domaine des fichiers statiques, +comme les contenus dynamiques et la résolution des alias. +

+
+
+ +
top
+
+

Configuration dynamique de serveurs +virtuels via mod_rewrite

+ +

Cet extrait du fichier httpd.conf permet d'obtenir + le même résultat que le premier exemple. + La première moitié est très similaire à la partie correspondante + ci-dessus, excepté quelques modifications requises à des fins de + compatibilité ascendante et pour faire en sorte que la partie + mod_rewrite fonctionne correctement ; la seconde moitié + configure mod_rewrite pour effectuer le travail + proprement dit.

+ +

Comme mod_rewrite s'exécute avant tout autre module + de traduction d'URI (comme mod_alias), il faut lui + ordonner explicitement d'ignorer toute URL susceptible d'être + traitée par ces autres modules. Et comme ces règles auraient sinon + court-circuité toute directive ScriptAlias, nous devons + faire en sorte que mod_rewrite déclare explicitement + ces correspondances.

+ +
# extrait le nom de serveur de l'en-tête Host:
+UseCanonicalName Off
+
+# journaux dissociables
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+    # ExecCGI est nécessaire ici car on ne peut pas forcer l'exécution
+    # des CGI à la manière de ScriptAlias
+    Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# un nom de serveur extrait d'un en-tête Host: peut être dans n'importe
+# quelle casse
+RewriteMap  lowercase  int:tolower
+
+## on s'occupe tout d'abord des documents normaux :
+# permet à Alias "/icons/" de fonctionner - répéter pour les autres +RewriteCond "%{REQUEST_URI}" "!^/icons/" +# permet aux CGIs de fonctionner +RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/" +# le coeur du traitement +RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1" + +## on s'occupe maintenant des CGIs - on doit forcer l'utilisation d'un +# gestionnaire +RewriteCond "%{REQUEST_URI}" "^/cgi-bin/" +RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]
+ + +
top
+
+

Utilisation d'un fichier de configuration +du serveur virtuel séparé

+ +

Cette construction utilise des fonctionnalités plus avancées de + mod_rewrite pour effectuer la traduction depuis le + serveur virtuel vers la racine des documents, à partir d'un fichier + de configuration séparé. Elle est plus souple mais nécessite une + configuration plus compliquée.

+ +

Le fichier vhost.map devrait ressembler à ceci :

+ +

+www.client-1.example.com /www/clients/1
+www.client-2.example.com /www/clients/2
+# ...
+www.client-N.example.com /www/clients/N
+

+ +

On doit ajouter à httpd.conf :

+ +
RewriteEngine on
+
+RewriteMap   lowercase  int:tolower
+
+# définit le fichier de correspondances
+RewriteMap   vhost      "txt:/www/conf/vhost.map"
+
+# on s'occupe des alias comme ci-dessus
+RewriteCond  "%{REQUEST_URI}"               "!^/icons/"
+RewriteCond  "%{REQUEST_URI}"               "!^/cgi-bin/"
+RewriteCond  "${lowercase:%{SERVER_NAME}}"  "^(.+)$"
+# on effectue ici la remise en correspondance à base de fichier
+RewriteCond  "${vhost:%1}"                  "^(/.*)$"
+RewriteRule  "^/(.*)$"                      "%1/docs/$1"
+
+RewriteCond  "%{REQUEST_URI}"               "^/cgi-bin/"
+RewriteCond  "${lowercase:%{SERVER_NAME}}"  "^(.+)$"
+RewriteCond  "${vhost:%1}"                  "^(/.*)$"
+RewriteRule  "^/cgi-bin/(.*)$"              "%1/cgi-bin/$1" [H=cgi-script]
+ + +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sections.html b/docs/manual/sections.html new file mode 100644 index 0000000..2f35046 --- /dev/null +++ b/docs/manual/sections.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: sections.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: sections.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: sections.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: sections.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: sections.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/sections.html.en b/docs/manual/sections.html.en new file mode 100644 index 0000000..71885e9 --- /dev/null +++ b/docs/manual/sections.html.en @@ -0,0 +1,607 @@ + + + + + +Configuration Sections - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Configuration Sections

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+

Directives in the configuration files may apply to the +entire server, or they may be restricted to apply only to particular +directories, files, hosts, or URLs. This document describes how to +use configuration section containers or .htaccess files +to change the scope of other configuration directives.

+
+ +
top
+
+

Types of Configuration Section Containers

+ + + +

There are two basic types of containers. Most containers are +evaluated for each request. The enclosed directives are applied only +for those requests that match the containers. The <IfDefine>, <IfModule>, and +<IfVersion> +containers, on the other hand, are evaluated only at server startup +and restart. If their conditions are true at startup, then the +enclosed directives will apply to all requests. If the conditions are +not true, the enclosed directives will be ignored.

+ +

The <IfDefine> directive +encloses directives that will only be applied if an appropriate +parameter is defined on the httpd command line. For example, +with the following configuration, all requests will be redirected +to another site only if the server is started using +httpd -DClosedForNow:

+ +
<IfDefine ClosedForNow>
+    Redirect "/" "http://otherserver.example.com/"
+</IfDefine>
+ + +

The <IfModule> +directive is very similar, except it encloses directives that will +only be applied if a particular module is available in the server. +The module must either be statically compiled in the server, or it +must be dynamically compiled and its LoadModule line must be earlier in the +configuration file. This directive should only be used if you need +your configuration file to work whether or not certain modules are +installed. It should not be used to enclose directives that you want +to work all the time, because it can suppress useful error messages +about missing modules.

+ +

In the following example, the MimeMagicFile directive will be +applied only if mod_mime_magic is available.

+ +
<IfModule mod_mime_magic.c>
+    MimeMagicFile "conf/magic"
+</IfModule>
+ + +

The <IfVersion> +directive is very similar to <IfDefine> and <IfModule>, except it encloses directives that will +only be applied if a particular version of the server is executing. This +module is designed for the use in test suites and large networks which have to +deal with different httpd versions and different configurations.

+ +
<IfVersion >= 2.4>
+    # this happens only in versions greater or
+    # equal 2.4.0.
+</IfVersion>
+ + +

<IfDefine>, +<IfModule>, and the +<IfVersion> +can apply negative conditions by preceding their test with "!". +Also, these sections can be nested to achieve more complex +restrictions.

+
top
+
+

Filesystem, Webspace, and Boolean Expressions

+ +

The most commonly used configuration section containers are the +ones that change the configuration of particular places in the +filesystem or webspace. First, it is important to understand the +difference between the two. The filesystem is the view of your disks +as seen by your operating system. For example, in a default install, +Apache httpd resides at /usr/local/apache2 in the Unix +filesystem or "c:/Program Files/Apache Group/Apache2" in +the Windows filesystem. (Note that forward slashes should always be +used as the path separator in Apache httpd configuration files, even for Windows.) In contrast, +the webspace is the view of your site as delivered by the web server +and seen by the client. So the path /dir/ in the +webspace corresponds to the path +/usr/local/apache2/htdocs/dir/ in the filesystem of a +default Apache httpd install on Unix. The webspace need not map directly to +the filesystem, since webpages may be generated dynamically +from databases or other locations.

+ +

Filesystem Containers

+ +

The <Directory> +and <Files> +directives, along with their regex +counterparts, apply directives to +parts of the filesystem. Directives enclosed in a <Directory> section apply to +the named filesystem directory and all subdirectories of that +directory (as well as the files in those directories). +The same effect can be obtained using .htaccess files. For example, in the +following configuration, directory indexes will be enabled for the +/var/web/dir1 directory and all subdirectories.

+ +
<Directory "/var/web/dir1">
+    Options +Indexes
+</Directory>
+ + +

Directives enclosed in a <Files> section apply to any file with +the specified name, regardless of what directory it lies in. +So for example, the following configuration directives will, +when placed in the main section of the configuration file, +deny access to any file named private.html regardless +of where it is found.

+ +
<Files "private.html">
+    Require all denied
+</Files>
+ + +

To address files found in a particular part of the filesystem, the +<Files> and +<Directory> sections +can be combined. For example, the following configuration will deny +access to /var/web/dir1/private.html, +/var/web/dir1/subdir2/private.html, +/var/web/dir1/subdir3/private.html, and any other instance +of private.html found under the /var/web/dir1/ +directory.

+ +
<Directory "/var/web/dir1">
+    <Files "private.html">
+        Require all denied
+    </Files>
+</Directory>
+ + + +

Webspace Containers

+ +

The <Location> +directive and its regex counterpart, on +the other hand, change the +configuration for content in the webspace. For example, the following +configuration prevents access to any URL-path that begins in /private. +In particular, it will apply to requests for +http://yoursite.example.com/private, +http://yoursite.example.com/private123, and +http://yoursite.example.com/private/dir/file.html as well +as any other requests starting with the /private string.

+ +
<LocationMatch "^/private">
+    Require all denied
+</LocationMatch>
+ + +

The <Location> +directive need not have anything to do with the filesystem. +For example, the following example shows how to map a particular +URL to an internal Apache HTTP Server handler provided by mod_status. +No file called server-status needs to exist in the +filesystem.

+ +
<Location "/server-status">
+    SetHandler server-status
+</Location>
+ + + +

Overlapping Webspace

+

In order to have two overlapping URLs one has to consider the order in which +certain sections or directives are evaluated. For +<Location> this would be:

+
<Location "/foo">
+</Location>
+<Location "/foo/bar">
+</Location>
+ +

<Alias>es on the other hand, +are mapped vice-versa:

+
Alias "/foo/bar" "/srv/www/uncommon/bar"
+Alias "/foo"     "/srv/www/common/foo"
+ +

The same is true for the ProxyPass +directives:

+
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
+ + + +

Wildcards and Regular Expressions

+ +

The <Directory>, +<Files>, and +<Location> +directives can each use shell-style wildcard characters as in +fnmatch from the C standard library. The character "*" +matches any sequence of characters, "?" matches any single character, +and "[seq]" matches any character in seq. The "/" +character will not be matched by any wildcard; it must be specified +explicitly.

+ +

If even more flexible matching is required, each +container has a regular expression (regex) counterpart <DirectoryMatch>, <FilesMatch>, and <LocationMatch> that allow +perl-compatible +regular expressions +to be used in choosing the matches. But see the section below on +configuration merging to find out how using regex sections will change +how directives are applied.

+ +

A non-regex wildcard section that changes the configuration of +all user directories could look as follows:

+ +
<Directory "/home/*/public_html">
+    Options Indexes
+</Directory>
+ + +

Using regex sections, we can deny access to many types of image files +at once:

+
<FilesMatch "\.(?i:gif|jpe?g|png)$">
+    Require all denied
+</FilesMatch>
+ + +

Regular expressions containing named groups and +backreferences are added to the environment with the +corresponding name in uppercase. This allows elements of filename paths +and URLs to be referenced from within expressions +and modules like mod_rewrite.

+ +
<DirectoryMatch "^/var/www/combined/(?<SITENAME>[^/]+)">
+    Require ldap-group "cn=%{env:MATCH_SITENAME},ou=combined,o=Example"
+</DirectoryMatch>
+ + + + +

Boolean expressions

+

The <If> +directive change the configuration depending on a condition which can be +expressed by a boolean expression. For example, the following configuration +denies access if the HTTP Referer header does not start with +"http://www.example.com/".

+
<If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
+    Require all denied
+</If>
+ + + + +

What to use When

+ +

Choosing between filesystem containers and webspace containers is +actually quite easy. When applying directives to objects that reside +in the filesystem always use <Directory> or <Files>. When applying directives to objects +that do not reside in the filesystem (such as a webpage generated from +a database), use <Location>.

+ +

It is important to never use <Location> when trying to restrict +access to objects in the filesystem. This is because many +different webspace locations (URLs) could map to the same filesystem +location, allowing your restrictions to be circumvented. +For example, consider the following configuration:

+ +
<Location "/dir/">
+    Require all denied
+</Location>
+ + +

This works fine if the request is for +http://yoursite.example.com/dir/. But what if you are on +a case-insensitive filesystem? Then your restriction could be easily +circumvented by requesting +http://yoursite.example.com/DIR/. The <Directory> directive, in +contrast, will apply to any content served from that location, +regardless of how it is called. (An exception is filesystem links. +The same directory can be placed in more than one part of the +filesystem using symbolic links. The <Directory> directive will follow the symbolic +link without resetting the pathname. Therefore, for the highest level +of security, symbolic links should be disabled with the appropriate +Options directive.)

+ +

If you are, perhaps, thinking that none of this applies to you +because you use a case-sensitive filesystem, remember that there are +many other ways to map multiple webspace locations to the same +filesystem location. Therefore you should always use the filesystem +containers when you can. There is, however, one exception to this +rule. Putting configuration restrictions in a <Location +"/"> section is perfectly safe because this section will apply +to all requests regardless of the specific URL.

+ + +

Nesting of sections

+ +

Some section types can be nested inside other section types. On the one +hand, <Files> can be used +inside <Directory>. On +the other hand, <If> can +be used inside <Directory>, +<Location>, and <Files> sections (but not inside another +<If>). The regex +counterparts of the named section behave identically.

+ +

Nested sections are merged after non-nested sections of the same type.

+ + + +
top
+
+

Virtual Hosts

+ +

The <VirtualHost> +container encloses directives that apply to specific hosts. +This is useful when serving multiple hosts from the same machine +with a different configuration for each. For more information, +see the Virtual Host Documentation.

+
top
+
+

Proxy

+ +

The <Proxy> +and <ProxyMatch> +containers apply enclosed configuration directives only +to sites accessed through mod_proxy's proxy server +that match the specified URL. For example, the following configuration +will allow only a subset of clients to access the +www.example.com website using the proxy server:

+ +
<Proxy "http://www.example.com/*">
+    Require host yournetwork.example.com
+</Proxy>
+ +
top
+
+

What Directives are Allowed?

+ +

To find out what directives are allowed in what types of +configuration sections, check the Context of the directive. +Everything that is allowed in +<Directory> +sections is also syntactically allowed in +<DirectoryMatch>, +<Files>, +<FilesMatch>, +<Location>, +<LocationMatch>, +<Proxy>, +and <ProxyMatch> +sections. There are some exceptions, however:

+ + +
top
+
+

How the sections are merged

+ +

The configuration sections are applied in a very particular order. +Since this can have important effects on how configuration directives +are interpreted, it is important to understand how this works.

+ +

The order of merging is:

+ +
    +
  1. <Directory> (except regular expressions) + and .htaccess done simultaneously (with + .htaccess, if allowed, overriding + <Directory>)
  2. + +
  3. <DirectoryMatch> + (and <Directory "~">)
  4. + +
  5. <Files> and <FilesMatch> done + simultaneously
  6. + +
  7. <Location> + and <LocationMatch> done simultaneously
  8. + +
  9. <If> sections, even when + they are enclosed in any of the preceding contexts. +
  10. + +
+ +

Some important remarks:

+
    +
  • Apart from <Directory>, within each group the sections are + processed in the order they appear in the configuration files. + For example, a request for /foo/bar will match + <Location "/foo/bar"> and + <Location "/foo"> (group 4 in this case): + both sections will be evaluated + but in the order they appear in the configuration files.
  • +
  • <Directory> + (group 1 above) is processed in the order shortest directory + component to longest. For example, + <Directory "/var/web/dir"> will be processed before + <Directory "/var/web/dir/subdir">.
  • +
  • If multiple <Directory> sections apply + to the same directory they are processed in the configuration file + order.
  • +
  • Configurations included via the Include directive will be treated as if + they were inside the including file at the location of the + Include directive.
  • +
  • Sections inside <VirtualHost> sections + are applied after the corresponding sections outside + the virtual host definition. This allows virtual hosts to + override the main server configuration.
  • +
  • When the request is served by mod_proxy, the + <Proxy> + container takes the place of the <Directory> container in the processing + order.
  • +
  • Caution should be exercised when mixing related configuration + directives inside and outside of <If> because of the effect on merging order. Explicit use + of <Else> can help. +
  • +
  • When <If> is + used in .htaccess, the enclosed directives in a parent + directory will be merged after non-enclosed directives in a + subdirectory.
  • +
+ +

Technical Note

+ There is actually a + <Location>/<LocationMatch> + sequence performed just before the name translation phase + (where Aliases and DocumentRoots + are used to map URLs to filenames). The results of this + sequence are completely thrown away after the translation has + completed. +
+ +

Relationship between modules and configuration sections

+

One question that often arises after reading how configuration sections are + merged is related to how and when directives of specific modules like mod_rewrite + are processed. The answer is not trivial and needs a bit of background. + Each httpd module manages its own configuration, and each of its directives in httpd.conf specify one piece + of configuration in a particular context. httpd does not execute a command as it is read.

+

At runtime, the core of httpd iterates over the defined configuration sections in the order + described above to determine which ones apply to the current request. When the first section matches, + it is considered the current configuration for this request. If a subsequent section matches too, + then each module with a directive in either of the sections is given a chance to merge its configuration between the two sections. The result is a third configuration, and the process goes on until all the configuration sections + are evaluated.

+

After the above step, the "real" processing of the HTTP request begins: each module has a chance to run + and perform whatever tasks they like. They can retrieve their own final merged configuration from the core + of the httpd to determine how they should act.

+

An example can help to visualize the whole process. The following configuration uses the + Header directive of mod_headers to set + a specific HTTP header. What value will httpd set in the CustomHeaderName header for a request to + /example/index.html ? +

+
<Directory "/">
+    Header set CustomHeaderName one
+    <FilesMatch ".*">
+        Header set CustomHeaderName three
+    </FilesMatch>
+</Directory>
+
+<Directory "/example">
+    Header set CustomHeaderName two
+</Directory>
+ +
    +
  • Directory "/" matches and an initial configuration to set the CustomHeaderName header with the value one is created.
  • +
  • Directory "/example" matches, and since mod_headers specifies in its code to override in case of a merge, a new configuration is created to set the CustomHeaderName header with the value two.
  • +
  • FilesMatch ".*" matches and another merge opportunity arises, causing the CustomHeaderName header to be set with the value three.
  • +
  • Eventually during the next steps of the HTTP request processing mod_headers will be called and it will receive the configuration to set the CustomHeaderName header with the value three. mod_headers normally uses this configuration to perform its job, namely setting the foo header. This does not mean that a module can't perform a more complex action like discarding directives because not needed or deprecated, etc..
  • +
+ +

This is true for .htaccess too since they have the same priority as Directory in the merge order. The important concept to understand is that configuration sections like Directory and FilesMatch are not comparable to module specific directives like Header or RewriteRule because they operate on different levels. +

+ + +

Some useful examples

+ +

Below is an artificial example to show the order of +merging. Assuming they all apply to the request, the directives in +this example will be applied in the order A > B > C > D > +E.

+ +
<Location "/">
+    E
+</Location>
+
+<Files "f.html">
+    D
+</Files>
+
+<VirtualHost *>
+    <Directory "/a/b">
+        B
+    </Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+    C
+</DirectoryMatch>
+
+<Directory "/a/b">
+    A
+</Directory>
+ + + +

For a more concrete example, consider the following. Regardless of +any access restrictions placed in <Directory> sections, the <Location> section will be +evaluated last and will allow unrestricted access to the server. In +other words, order of merging is important, so be careful!

+ +
<Location "/">
+    Require all granted
+</Location>
+
+# Whoops!  This <Directory> section will have no effect
+<Directory "/">
+    <RequireAll>
+        Require all granted
+        Require not host badguy.example.com
+    </RequireAll>
+</Directory>
+ + + + +
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sections.html.fr.utf8 b/docs/manual/sections.html.fr.utf8 new file mode 100644 index 0000000..deec5eb --- /dev/null +++ b/docs/manual/sections.html.fr.utf8 @@ -0,0 +1,687 @@ + + + + + +Sections de configuration - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Sections de configuration

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+

Les directives des fichiers de configuration peuvent s'appliquer +au serveur dans son ensemble, ou seulement à des répertoires, fichiers, hôtes, +ou URLs particuliers. Ce document décrit comment utiliser les conteneurs de +sections de configuration ou les fichiers .htaccess pour +modifier la portée des directives de configuration.

+
+ +
top
+
+

Types de conteneurs de sections de +configuration

+ + + +

Il existe deux grands types de conteneurs. La plupart des conteneurs sont +évalués pour chaque requête. Les directives qu'ils contiennent s'appliquent +seulement aux requêtes qui sont concernées par le conteneur. En revanche, +les conteneurs +<IfDefine>, <IfModule>, et +<IfVersion> sont +évalués seulement au démarrage et au redémarrage du serveur. +Si leurs conditions sont vérifiées au démarrage, les directives qu'ils contiennent +s'appliqueront à toutes les requêtes. Si leurs conditions ne sont pas vérifiées, les +directives qu'ils contiennent seront ignorées.

+ +

Le conteneur <IfDefine> +contient des directives qui ne seront appliquées que si un paramètre +approprié a été défini dans la ligne de commande de httpd. +Par exemple, +avec la configuration suivante, toutes les requêtes seront redirigées vers +un autre site si le serveur est démarré en utilisant la ligne de commande : +httpd -DClosedForNow:

+ +
<IfDefine ClosedForNow>
+    Redirect "/" "http://otherserver.example.com/"
+</IfDefine>
+ + +

Le conteneur <IfModule> +est similaire; les directives qu'il contient ne s'appliqueront que si +un module particulier est disponible au niveau du serveur. +Le module doit être soit compilé statiquement dans le serveur, soit +dynamiquement et dans ce cas, la ligne LoadModule correspondante doit apparaître +plus haut dans le fichier de configuration. Ce conteneur ne doit être +utilisé que dans le cas où votre fichier de configuration doit fonctionner +indépendamment de la présence ou de l'absence de certains modules. +Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer +systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur +à propos de modules manquants.

+ +

Dans l'exemple suivant, la directive MimeMagicFile ne s'appliquera que si le +module mod_mime_magic est disponible.

+ +
<IfModule mod_mime_magic.c>
+    MimeMagicFile "conf/magic"
+</IfModule>
+ + +

Le conteneur +<IfVersion> +est similaire aux conteneurs <IfDefine> et <IfModule>; les directives qu'il contient ne +s'appliqueront que si une version particulière du serveur s'exécute. Ce +conteneur a été conçu pour une utilisation dans les suites de tests +et les grands réseaux qui doivent prendre en compte différentes versions +et configurations de httpd.

+ +
<IfVersion >= 2.4>
+    # les directives situées ici ne s'appliquent que si la version 
+ # est supérieure ou égale à 2.4.0. +</IfVersion>
+ + +

<IfDefine>, +<IfModule>, et +<IfVersion> +peuvent inverser leur test conditionnel en le faisant précéder d'un "!". +De plus, ces sections peuvent être imbriquées afin de définir des restrictions +plus complexes.

+
top
+
+

Système de fichiers, +arborescence du site web et expressions booléennes

+ +

Les conteneurs de sections de configuration les plus couramment utilisés +sont ceux qui modifient la configuration de points particuliers du système de +fichiers ou de l'arborescence du site web. Tout d'abord, il est important de +comprendre la différence entre les deux. Le système de fichiers est une vue +de vos disques tels qu'ils sont perçus par votre système d'exploitation. +Par exemple, avec une installation par défaut, +Apache httpd est situé dans /usr/local/apache2 pour le système de +fichiers UNIX, ou "c:/Program Files/Apache Group/Apache2" pour +le système de fichiers Windows. (Notez que des slashes directs doivent +toujours être utilisés comme séparateur de chemin +dans les fichiers de configuration d'Apache httpd, même sous +Windows.) Quant à +l'arborescence du site web, il s'agit d'une vue de votre site +tel que présenté par le +serveur web et perçue par le client. Ainsi le chemin /dir/ dans +l'arborescence du site web correspond au chemin +/usr/local/apache2/htdocs/dir/ dans le système de fichiers pour +une installation d'Apache httpd par défaut sous UNIX. +En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au +système de fichiers, car les pages web peuvent être générées dynamiquement +à partir de bases de données ou d'autres emplacements.

+ +

Conteneurs de système de fichiers

+ +

Les conteneurs <Directory> +et <Files>, +ainsi que leurs équivalents acceptant les +expressions rationnelles, +appliquent des directives à certaines parties du système de fichiers. +Les directives contenues dans une section <Directory> s'appliquent au répertoire +précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces +derniers contiennent. +Le même effet peut être obtenu en utilisant les fichiers .htaccess. Par exemple, avec la +configuration suivante, l'indexation sera activée pour le répertoire +/var/web/dir1 et tous ses sous-répertoires.

+ +
<Directory "/var/web/dir1">
+    Options +Indexes
+</Directory>
+ + +

Les directives contenues dans une section <Files> s'appliquent à tout fichier +avec le nom spécifié, quel que soit le répertoire dans lequel il se trouve. +Ainsi par exemple, les directives de configuration suivantes, si elles sont +placées dans la section principale du fichier de configuration, vont interdire +l'accès à tout fichier nommé private.html quel que soit +l'endroit où il se trouve.

+ +
<Files "private.html">
+    Require all denied
+</Files>
+ + +

Pour faire référence à des fichiers qui se trouvent en des points +particuliers du système de fichiers, les sections +<Files> et +<Directory> +peuvent être combinées. Par exemple, la configuration suivante va interdire +l'accès à /var/web/dir1/private.html, +/var/web/dir1/subdir2/private.html, +/var/web/dir1/subdir3/private.html, ainsi que toute instance de +private.html qui se trouve dans l'arborescence +/var/web/dir1/.

+ +
<Directory "/var/web/dir1">
+    <Files "private.html">
+        Require all denied
+    </Files>
+</Directory>
+ + + +

Conteneurs de l'arborescence du site web

+ +

le conteneur <Location> +et son équivalent acceptant les +expressions rationnelles, modifient quant à eux la +configuration de parties de l'arborescence du site web. Par exemple, la +configuration suivante interdit l'accès à toute URL dont la partie chemin +commence par /private. +En particulier, l'interdiction s'appliquera aux requêtes pour : +http://yoursite.example.com/private, +http://yoursite.example.com/private123, et +http://yoursite.example.com/private/dir/file.html ainsi qu'à +toute requête commençant par la chaîne de caractères /private.

+ +
<LocationMatch "^/private">
+    Require all denied
+</LocationMatch>
+ + +

Le conteneur <Location> +n'a pas besoin de faire référence à un élément du système de fichiers. +Par exemple, l'exemple suivant montre comment faire référence à une URL +particulière vers un gestionnaire interne du serveur HTTP Apache fourni par le module +mod_status. +Il n'est pas nécessaire de trouver un fichier nommé server-status +dans le système de fichiers.

+ +
<Location "/server-status">
+    SetHandler server-status
+</Location>
+ + + +

Espace web imbriqué

+

Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre +dans lequel certaines sections ou directives sont évaluées. Pour +<Location>, on doit +avoir :

+
<Location "/foo">
+</Location>
+<Location "/foo/bar">
+</Location>
+ +

Les directives <Alias>, quant à elles, sont évaluées vice-versa :

+
Alias "/foo/bar" "/srv/www/uncommon/bar"
+Alias "/foo" "/srv/www/common/foo"
+ +

Ceci est aussi vrai pour les directives ProxyPass :

+
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
+ + + + +

Caractères de remplacement +et expressions rationnelles

+ +

Les conteneurs +<Directory>, +<Files>, et +<Location> +peuvent utiliser des caractères de remplacement de style shell comme dans +la fonction fnmatch de la bibliothèque C standard. +Le caractère "*" +correspond à toute séquence de caractères, "?" à un caractère seul, +et "[seq]" à tout caractère contenu dans seq. +Le caractère "/" +ne peut pas faire l'objet d'un remplacement; +il doit être spécifié explicitement.

+ +

Si une définition des critères de correspondance +encore plus souple est nécessaire, chaque conteneur +possède son équivalent acceptant les expressions rationnelles : <DirectoryMatch>, <FilesMatch>, et <LocationMatch> acceptent les +expressions rationnelles compatibles Perl +pour définir les critères de correspondance. Mais voyez plus loin la section +à propos de la combinaison des sections de configuration +pour comprendre comment l'utilisation de +conteneurs avec des expressions rationnelles va modifier la manière +dont les directives sont appliquées.

+ +

Un conteneur qui modifie la configuration de tous les +répertoires utilisateurs à l'aide de caractères de remplacement +mais sans utiliser +les expressions rationnelles pourrait ressembler à ceci :

+ +
<Directory "/home/*/public_html">
+    Options Indexes
+</Directory>
+ + +

Avec les conteneurs utilisant les expressions rationnelles, +on peut interdire l'accès à de nombreux types de fichiers d'images +simultanément :

+
+<FilesMatch "\.(?i:gif|jpe?g|png)$">
+    Require all denied
+</FilesMatch>
+ + +

Les expressions rationnelles contenant des groupes nommés et +des références arrières sont ajoutées à l'environnement avec +leur nom en majuscules. Ceci permet de référencer des éléments de +chemins de fichiers et d'URLs depuis une expression et au sein de modules comme +mod_rewrite.

+ +
<DirectoryMatch "^/var/www/combined/(?<SITENAME>[^/]+)">
+    Require ldap-group "cn=%{env:MATCH_SITENAME},ou=combined,o=Example"
+</DirectoryMatch>
+ + + + +

Expressions booléennes

+

La directive <If> +permet de modifier la configuration en fonction d'une condition qui peut +être définie sous la forme d'une expression booléenne. Dans l'exemple +suivant, l'accès est interdit si l'en-tête HTTP Referer ne commence pas +par "http://www.example.com/".

+
<If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
+    Require all denied
+</If>
+ + + + +

Que faut-il utiliser et quand ?

+ +

Choisir entre des conteneurs de système de fichiers et des conteneurs +d'arborescence du site web est vraiment très simple. +Pour appliquer des directives à des objets qui résident dans le système de +fichiers, utilisez toujours un conteneur <Directory> ou <Files>. Pour appliquer des directives à des objets +qui ne résident pas dans le système de fichiers (comme une page web générée +par une base de données), utilisez un conteneur <Location>.

+ +

Il ne faut jamais utiliser un conteneur <Location> pour restreindre l'accès à des +objets du système de fichiers, car plusieurs localisations de +l'arborescence du site web (URLs) peuvent correspondre à la même localisation +du système de fichier, ce qui peut permettre de contourner vos restrictions. +Par exemple, imaginez la configuration suivante :

+ +
<Location "/dir/">
+    Require all denied
+</Location>
+ + +

Elle fonctionne correctement si la requête appelle +http://yoursite.example.com/dir/. Mais que va-t-il se passer si +votre système de fichiers est insensible à la casse ? +Votre restriction va pouvoir être tout simplement contournée en envoyant une +requête sur +http://yoursite.example.com/DIR/. Le conteneur <Directory>, quant à lui, s'appliquera +à tout contenu servi à partir de cette localisation, +sans tenir compte de la manière dont il est appelé. +(Les liens du système de fichiers constituent une exception. +Le même répertoire peut être placé dans plusieurs parties du système de +fichiers en utilisant des liens symboliques. Le conteneur +<Directory> va suivre le +lien symbolique sans modifier le nom du chemin. Par conséquent, pour plus de +sécurité, les liens symboliques doivent être désactivés à l'aide de la +directive +Options appropriée.)

+ +

Si vous pensez que vous n'êtes pas concerné par ce problème +parceque vous utilisez un système de fichiers sensible à la casse, +gardez à l'esprit qu'il y a de nombreuses autres manières pour faire +correspondre plusieurs localisations de l'arborescence du site web à la même +localisation du système de fichiers. C'est pourquoi vous devez autant que +possible toujours utiliser les conteneurs de système de fichiers. +Il y a cependant une exception à cette règle. Placer des restrictions de +configuration dans un conteneur <Location +"/"> est tout à fait sans rique car ce conteneur va s'appliquer à +toutes les requêtes sans tenir compte de l'URL spécifique.

+ + +

Imbrication des sections

+ +

Certains types de sections peuvent être imbriqués : d'une part, on peut +utiliser les sections <Files> +à l'intérieur des sections <Directory>, d'autre part, on peut utiliser les +directives <If> à l'intérieur +des sections <Directory>, +<Location> et <Files> (mais pas à l'intérieur d'une +autre section <If>). Les +valeurs des expressions rationnelles correspondant aux sections nommées se +comportent de manière identique.

+ +

Les sections imbriquées sont fusionnées après les sections +non-imbriquées de même type.

+ + + +
top
+
+

Serveurs virtuels

+ +

Le conteneur <VirtualHost> +contient des directives qui s'appliquent à des serveurs virtuels spécifiques. +Ceci s'avère utile pour servir les contenus de plusieurs serveurs virtuels à +partir de la même machine, chacun d'entre eux possédant une configuration +différente. Pour de plus amples informations, voir la Documentation sur les serveurs virtuels.

+
top
+
+

Mandataire

+ +

Les conteneurs +<Proxy> +et <ProxyMatch> +appliquent les directives de configuration qu'ils contiennent uniquement aux +sites qui correspondent à l'URL spécifiée et auxquels on a +accédé via le serveur mandataire du module mod_proxy. +Par exemple, la configuration suivante n'autorisera qu'un sous-ensemble de +clients à accéder au site www.example.com en passant par le serveur +mandataire :.

+ +
<Proxy "http://www.example.com/*">
+    Require host yournetwork.example.com
+</Proxy>
+ +
top
+
+

Quelles sont les directives autorisées ?

+ +

Pour déterminer quelles sont les directives autorisées pour tel type de +section de configuration, vérifiez le Contexte de la directive. +Tout ce qui est autorisé dans les sections +<Directory> +l'est aussi d'un point de vue syntaxique dans les sections +<DirectoryMatch>, +<Files>, +<FilesMatch>, +<Location>, +<LocationMatch>, +<Proxy>, +et <ProxyMatch>. +Il y a cependant quelques exceptions :

+ + +
top
+
+

Comment les sections sont combinées entre elles

+ +

Les sections de configuration sont appliquées dans un ordre très particulier. +Il est important de savoir comment cet ordre est défini car il peut avoir +des effets importants sur la manière dont les directives de configuration +sont interprétées.

+ +

L'ordre dans lequel les sections sont appliquées est :

+ +
    +
  1. Les sections <Directory> (à l'exception des + expressions rationnelles) + et les fichiers .htaccess sont appliquées simultanément (avec + la possibilité pour .htaccess, s'il y est autorisé, de + prévaloir sur + <Directory>)
  2. + +
  3. Les sections + <DirectoryMatch> + (et <Directory "~">)
  4. + +
  5. Les sections <Files> et <FilesMatch> sont appliquées + simultanément
  6. + +
  7. Les sections + <Location> + et <LocationMatch> sont appliquées + simultanément
  8. + +
  9. Les sections <If>, + même si elles sont incluses dans un des contextes précédents. +
  10. +
+ +

Quelques remarques importantes :

+
    +
  • Mises à part les sections <Directory>, dans chaque groupe, les sections sont + traitées selon + l'ordre dans lequel elles apparaissent dans les fichiers de configuration. + Par exemple, une requête pour /foo/bar correspondra à + <Location "/foo/bar"> et <Location + "/foo"> (dans ce cas le groupe 4) : les deux sections seront + évaluées mais selon l'ordre dans lequel elles apparaissent dans le fichier + de configuration..
  • +
  • Les sections <Directory> (groupe 1 ci-dessus) + sont traitées dans l'ordre du répertoire le plus court vers le plus long. + Par exemple, <Directory "/var/web/dir"> sera + traitée avant <Directory + "/var/web/dir/subdir">.
  • +
  • Si plusieurs sections <Directory> s'appliquent au même + répertoire, elles sont traitées selon l'ordre dans lequel elles + apparaissent dans le fichier de configuration.
  • +
  • Les sections de configuration incluses via la directive Include sont traitées comme si elles se + trouvaient réellement dans le fichier qui les inclut à la position de la + directive + Include.
  • +
  • Les sections situées à l'intérieur de sections <VirtualHost> + sont appliquées après les sections correspondantes situées en + dehors de la définition de l'hôte virtuel, ce qui permet à l'hôte virtuel + de prévaloir sur la configuration du serveur principal.
  • +
  • Quand la requête est servie par le module mod_proxy, + le conteneur <Proxy> + prend la place du conteneur <Directory> dans l'ordre de traitement.
  • +
  • Il faut être très prudent lorsqu'on mélange des directives de + configuration similaires à l'intérieur et à l'extérieur d'une section + <If> car leur ordre + d'apparition a de l'importance. A cet effet, l'utilisation explicite de la + directive <Else> + peut vous y aider. +
  • +
  • Lorsqu'une section <If> est utilisée dans un fichier .htaccess, les + directives incluses dans un répertoire parent seront fusionnées + après les directives non-incluses dans un sous-répertoire. +
  • +
+ +

Note technique

+ Une séquence <Location>/<LocationMatch> + est réellement traitée juste avant la phase de traduction du nom + (où Aliases et DocumentRoots + sont utilisés pour faire correspondre les URLs aux noms de fichiers). + Les effets de cette séquence disparaissent totalement lorsque + la traduction est terminée. +
+ +

Interactions entre +modules et sections de configuration

+

Une question se pose souvent après avoir lu comment les sections de + configuration sont fusionnées : comment et quand les directives de modules + particuliers comme mod_rewrite sont-elles interprétées ? La + réponse n'est pas triviale et nécessite un approfondissement. Chaque module + httpd gère sa propre configuration, et chacune de ses directives dans + httpd.conf définit un élément de configuration dans un contexte particulier. + httpd n'exécute pas une commande au moment où elle est lue.

+

A l'exécution, le noyau de httpd parcourt les sections de configuration + dans l'ordre décrit ci-dessus afin de déterminer lesquelles s'appliquent à + la requête courante. Lorsqu'une première section s'applique, elle est + considérée comme la configuration courante pour cette requête. Si une + section suivante s'applique aussi, chaque module qui possède des directives + dans chacune de ces sections a la possibilité de fusionner sa configuration + entre ces deux sections. Il en résulte une troisième configuration et le + processus de fusion se poursuit jusqu'à ce que toutes les sections de + configuration aient été évaluées.

+

Après l'étape précédente, le traitement proprement dit de la requête HTTP + peut commencer : chaque module peut effectuer toute tâche qui lui incombe, + et pour déterminer de quelle manière dont il doit agir, il peut s'appuyer + sur le noyau de httpd pour retrouver sa configuration globale issue de la + fusion précédente.

+

Un exemple permet de mieux visualiser l'ensemble du processus. La + configuration suivante utilise la directive Header du module + mod_headers pour définir un en-tête HTTP spécifique. Quelle + valeur httpd va-t-il affecter à l'en-tête CustomHeaderName pour + une requête vers /example/index.html ? +

+
<Directory "/">
+    Header set CustomHeaderName one
+    <FilesMatch ".*">
+        Header set CustomHeaderName three
+    </FilesMatch>
+</Directory>
+
+<Directory "/example">
+    Header set CustomHeaderName two
+</Directory>
+ +
    +
  • Directory "/" s'applique, et une configuration + initiale est créée qui définit l'en-tête CustomHeaderName + avec la valeur one.
  • +
  • Directory "/example" s'applique, et comme + mod_headers spécifie dans son code que + la valeur d'un en-tête doit être écrasée si ce dernier est défini à + nouveau, une nouvelle configuration est créée qui définit l'en-tête + CustomHeaderName avec la valeur two.
  • +
  • FilesMatch ".*" s'applique, une nouvelle + opportunité de fusion surgit, et l'en-tête CustomHeaderName + est défini à la valeur three.
  • +
  • Finalement, au cours des étapes suivantes du traitement de la + requête HTTP, mod_headers sera sollicité, et il se + basera sur la configuration qui a défini l'en-tête + CustomHeaderName à la valeur three. + mod_headers utilise normalement cette configuration pour + accomplir sa tâche, à savoir définir des en-têtes HTTP. Cela ne veut + cependant pas dire qu'un module ne peut pas effectuer des actions plus + complexes comme désactiver des directives car elle ne sont pas + nécessaires ou obsolètes, etc...
  • +
+ +

Ceci est aussi vrai pour les fichiers .htaccess car ils possèdent la même + priorité que les sections Directory dans l'ordre de + fusion. Il faut bien comprendre que les sections de configuration comme + Directory et FilesMatch ne + sont pas comparables avec les directives spécifiques de modules comme + Header ou RewriteRule car elles agissent à des + niveaux différents. +

+ + +

Quelques exemples utiles

+ +

Voici un exemple imaginaire qui montre l'ordre de combinaison des sections. +En supposant qu'elles s'appliquent toutes à la requête, les directives de +cet exemple seront appliquées dans l'ordre suivant : A > B > C > D > +E.

+ +
<Location "/">
+    E
+</Location>
+
+<Files "f.html">
+    D
+</Files>
+
+<VirtualHost *>
+   <Directory "/a/b">
+        B
+   </Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+    C
+</DirectoryMatch>
+
+<Directory "/a/b">
+    A
+</Directory>
+ + +

Pour un exemple plus concret, considérez ce qui suit. Sans tenir compte +de toute restriction d'accès placée dans les sections <Directory>, la section <Location> sera +évaluée en dernier et permettra un accès au serveur sans aucune restriction. +En d'autres termes, l'ordre de la combinaison des sections est important, +soyez donc prudent !

+ +
<Location "/">
+    Require all granted
+</Location>
+
+# Arrghs!  Cette section <Directory> n'aura aucun effet
+<Directory "/">
+    <RequireAll>
+        Require all granted
+        Require not host badguy.example.com
+    </RequireAll>
+</Directory>
+ + + + +
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sections.html.ja.utf8 b/docs/manual/sections.html.ja.utf8 new file mode 100644 index 0000000..b31177c --- /dev/null +++ b/docs/manual/sections.html.ja.utf8 @@ -0,0 +1,523 @@ + + + + + +セクションã®è¨­å®š - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

セクションã®è¨­å®š

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+

設定ファイル中ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+サーãƒå…¨ä½“ã«é©ç”¨ã•ã‚ŒãŸã‚Šã€ç‰¹å®šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„ファイルã€ãƒ›ã‚¹ãƒˆã€URL ã«ã®ã¿ +é©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«åˆ¶é™ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®æ–‡æ›¸ã¯è¨­å®šç”¨ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã® +コンテナや .htaccess ファイルを使ã£ã¦ä»–ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã® +スコープを変更ã™ã‚‹æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚

+
+ +
top
+
+

設定用セクションコンテナã®ç¨®é¡ž

+ + + +

コンテナã«ã¯äºŒã¤ã®åŸºæœ¬ã¨ãªã‚‹ç¨®é¡žãŒã‚ã‚Šã¾ã™ã€‚ã»ã¨ã‚“ã©ã®ã‚³ãƒ³ãƒ†ãƒŠã¯ +å„リクエストã«å¯¾ã—ã¦è©•ä¾¡ã•ã‚Œã¾ã™ã€‚ãã®å ´åˆã€ã‚³ãƒ³ãƒ†ãƒŠä¸­ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+コンテナã«ãƒžãƒƒãƒã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã®ã¿é©ç”¨ã•ã‚Œã¾ã™ã€‚一方〠+<IfDefine>, +<IfModule>, +<IfVersion> +コンテナ㯠+サーãƒã®èµ·å‹•æ™‚ã¨å†èµ·å‹•æ™‚ã«ã®ã¿è©•ä¾¡ã•ã‚Œã¾ã™ã€‚起動時ã«æ¡ä»¶ãŒçœŸã§ã‚ã‚Œã°ã€ +コンテナ中ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«é©ç”¨ã•ã‚Œã¾ã™ã€‚æ¡ä»¶ãŒ +å½ã§ã‚ã‚Œã°ã€ã‚³ãƒ³ãƒ†ãƒŠä¸­ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚

+ +

<IfDefine> ディレクティブ㯠+httpd コマンドラインã§é©åˆ‡ãªãƒ‘ラメータãŒå®šç¾©ã•ã‚ŒãŸã¨ãã«ã®ã¿ +é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲ã„ã¾ã™ã€‚例ãˆã°æ¬¡ã®è¨­å®šã§ã¯ã€ã‚µãƒ¼ãƒãŒ +httpd -DClosedForNow を使ã£ã¦èµ·å‹•ã•ã‚ŒãŸã¨ãã ã‘ã™ã¹ã¦ã® +リクエストを別ã®ã‚µã‚¤ãƒˆã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™:

+ +

+<IfDefine ClosedForNow>
+Redirect / http://otherserver.example.com/
+</IfDefine> +

+ +

<IfModule> 㯠+éžå¸¸ã«ä¼¼ã¦ã„ã¾ã™ãŒã€ä»£ã‚ã‚Šã«ã‚µãƒ¼ãƒä¸Šã§ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒä½¿ç”¨å¯èƒ½ãªå ´åˆã«ã®ã¿ +é©ç”¨å¯èƒ½ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲ã„ã¾ã™ã€‚モジュールã¯ã‚µãƒ¼ãƒã« +é™çš„ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã‹ã€å‹•çš„ã«çµ„ã¿è¾¼ã‚€ã‚ˆã†ã«ãªã£ã¦ã„ã¦ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã§ +LoadModule ã®è¡ŒãŒã‚ˆã‚Šå‰ã® +部分ã«æ›¸ã‹ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç‰¹å®šã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® +存在ã«é–¢ã‚らãšè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ãŒå‹•ä½œã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«ã®ã¿ä½¿ã£ã¦ãã ã•ã„。 +常ã«å‹•ä½œã—ã¦æ¬²ã—ã„ディレクティブを囲むãŸã‚ã«ä½¿ã†ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。 +存在ã—ãªã„モジュールã«é–¢ã™ã‚‹æœ‰ç”¨ãªã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ç™ºç”Ÿã‚’抑制ã—ã¦ã—ã¾ã„ã¾ã™ã®ã§ã€‚ +

+ +

次ã®ä¾‹ã§ã¯ã€mod_mime_magic ãŒã‚ã‚‹ã¨ãã«ã®ã¿ MimeMagicFiles ディレクティブ㌠+é©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

+<IfModule mod_mime_magic.c>
+MimeMagicFile conf/magic
+</IfModule> +

+ +

<IfVersion> +ディレクティブ㯠+<IfDefine> ã‚„ +<IfModule>ã¨ã€ +ã¨ã¦ã‚‚よãä¼¼ã¦ã„ã¾ã™ãŒã€ç¨¼åƒä¸­ã®ã‚µãƒ¼ãƒã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒç‰¹å®šã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®æ™‚ã«ã®ã¿ +é©ç”¨ã•ã‚Œã¾ã™ã€‚様々ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® httpd を様々ãªè¨­å®šã§å‹•ä½œã•ã›ã‚‹ã“ã¨ã«ãªã‚‹å ´åˆã§ã€ +テストスイートや巨大ãªãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§ã®ç”¨é€”を想定ã—ã¦ã€ +ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯è¨­è¨ˆã•ã‚Œã¦ã„ã¾ã™ã€‚

+ +

+ <IfVersion >= 2.1>
+ + # this happens only in versions greater or
+ # equal 2.1.0.
+
+ </IfVersion> +

+ +

<IfDefine>, +<IfModule>, +<IfVersion> ディレクティブ㯠+テストã®å‰ã« "!" を付ã‘ã‚‹ã“ã¨ã§å¦å®šã®æ¡ä»¶ã‚’é©ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +ã¾ãŸã€ã“れらã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚ˆã‚Šè¤‡é›‘ãªåˆ¶é™ã‚’課ã™ãŸã‚ã«å…¥ã‚Œå­ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +

+
top
+
+

ファイルシステムã¨ã‚¦ã‚§ãƒ–空間

+ +

最もよã使ã‚れる設定ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒ†ãƒŠã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã‚„ウェブ空間㮠+特定ã®å ´æ‰€ã®è¨­å®šã‚’変更ã™ã‚‹ã‚‚ã®ã§ã™ã€‚ã¾ãšã€ã“ã®äºŒã¤ã®é•ã„ã‚’ç†è§£ã™ã‚‹ã“ã¨ãŒ +大切ã§ã™ã€‚ファイルシステムã¯ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã‹ã‚‰è¦‹ãŸãƒ‡ã‚£ã‚¹ã‚¯ã®å†…容ã§ã™ã€‚ +ãŸã¨ãˆã°ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã¯ Apache 㯠Unix ファイルシステムã§ã¯ +/usr/local/apache2 ã«ã€Windows ファイルシステムã§ã¯ +"c:/Program Files/Apache Group/Apache2" ã«å­˜åœ¨ã—ã¾ã™ã€‚ +(Apache ã§ã¯ Windows ã§ã‚‚パスセパレータã¨ã—ã¦ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’使ã†ã“ã¨ã« +æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。) 対照的ã«ã€ã‚¦ã‚§ãƒ–空間ã¯ã‚ãªãŸã®ã‚µã‚¤ãƒˆã‚’ +ウェブサーãƒã‹ã‚‰é…ä¿¡ã•ã‚Œã‚‹ã‚‚ã®ã¨ã—ã¦è¦‹ãŸã‚‚ã®ã§ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¦‹ãˆã‚‹ã‚‚ã®ã§ã™ã€‚ +デフォルト㮠Unix 上㮠Apache ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã¯ã‚¦ã‚§ãƒ–空間㮠+/dir/ ã¨ã„ã†ãƒ‘スã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã® +/usr/local/apache2/htdocs/dir/ ã¨ã„ã†ãƒ‘スã«å¯¾å¿œã—ã¾ã™ã€‚ +ウェブページã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚„ä»–ã®å ´æ‰€ã‹ã‚‰å‹•çš„ã«ç”Ÿæˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã®ã§ã€ +ウェブ空間ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã«ç›´æŽ¥ãƒžãƒƒãƒ—ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

ファイルシステムコンテナ

+ +

<Directory> ディレクティブ㨠+<Files> ディレクティブã€ãれ㨠+ãれらã®æ­£è¦è¡¨ç¾ç‰ˆã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をファイルシステムã®ä¸€éƒ¨åˆ†ã«å¯¾ã—ã¦é©ç”¨ã—ã¾ã™ã€‚ +<Directory> セクション㮠+中ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯æŒ‡å®šã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãã®ã™ã¹ã¦ã®ã‚µãƒ–ディレクトリ㫠+é©ç”¨ã•ã‚Œã¾ã™ã€‚.htaccess ファイルを +使ã†ã“ã¨ã§ã‚‚åŒã˜åŠ¹æžœã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€æ¬¡ã®è¨­å®šã§ã¯ +/var/web/dir1 ã¨ã™ã¹ã¦ã®ã‚µãƒ–ディレクトリã«å¯¾ã—㦠+ディレクトリインデックスを行ãªã„ã¾ã™ã€‚

+ +

+<Directory /var/web/dir1>
+Options +Indexes
+</Directory> +

+ +

<Files> セクション㮠+中ã«ã‚るディレクティブã¯ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚ã‚‹ã‹ã«é–¢ã‚らãšã€æŒ‡å®šã•ã‚ŒãŸåå‰ã® +ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ã§ã™ã‹ã‚‰ä¾‹ãˆã°ä»¥ä¸‹ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㌠+設定ファイルã®ä¸»ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«æ›¸ã‹ã‚ŒãŸã¨ãã«ã¯ã€ã™ã¹ã¦ã®å ´æ‰€ã® +private.html ã¨ã„ã†åå‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã€‚

+ +

+<Files private.html>
+Order allow,deny
+Deny from all
+</Files> +

+ +

ファイルシステムã®ç‰¹å®šã®å ´æ‰€ã«ã‚るファイルを指定ã™ã‚‹ãŸã‚ã«ã€ +<Files> セクション㨠+<Directory> セクションを +組ã¿åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€æ¬¡ã®è¨­å®šã§ã¯ +/var/web/dir1/private.html, +/var/web/dir1/subdir2/private.html, +/var/web/dir1/subdir3/private.html ãªã©ã€ +/var/web/dir1/ ディレクトリã®ä¸‹ã«ã‚ã‚‹ã™ã¹ã¦ã® +private.html ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã€‚

+ +

+<Directory /var/web/dir1>
+<Files private.html>
+Order allow,deny
+Deny from all
+</Files>
+</Directory> +

+ + +

ウェブ空間コンテナ

+ +

一方ã€<Location> +ディレクティブã¨ãã®æ­£è¦è¡¨ç¾ç‰ˆã¯ +ウェブ空間上ã®å†…容ã«å¯¾ã—ã¦è¨­å®šã‚’変更ã—ã¾ã™ã€‚ +ãŸã¨ãˆã°ã€æ¬¡ã®è¨­å®šã§ã¯ /private ã§å§‹ã¾ã‚‹ URL パスã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã—ã¾ã™ã€‚ +具体的ã«ã¯ã€ +http://yoursite.example.com/private, +http://yoursite.example.com/private123, +http://yoursite.example.com/private/dir/file.html +ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„〠+ä»–ã®åŒæ§˜ã« /private 文字列ã§å§‹ã¾ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã« +é©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

+<Location /private>
+Order Allow,Deny
+Deny from all
+</Location> +

+ +

<Location> +ディレクティブã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã¨é–¢ä¿‚ã‚ã‚‹å¿…è¦ãŒå…¨ãã‚ã‚Šã¾ã›ã‚“。 +ãŸã¨ãˆã°æ¬¡ã®ä¾‹ã§ã¯ã€ã©ã®ã‚ˆã†ã«ã—ã¦ç‰¹å®šã® URL ã‚’ +mod_statusã§æä¾›ã•ã‚Œã¦ã„ã‚‹ Apache +内部ãƒãƒ³ãƒ‰ãƒ©ã«ãƒžãƒƒãƒ—ã™ã‚‹ã‹ã‚’示ã—ã¦ã„ã¾ã™ã€‚ファイルシステム㫠+server-status ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ãŒå­˜åœ¨ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

+<Location /server-status>
+SetHandler server-status
+</Location> +

+ + +

ワイルドカードã¨æ­£è¦è¡¨ç¾

+ +

<Directory>, +<Files>, +<Location> +ディレクティブã§ã¯ã€ C 標準ライブラリ㮠fnmatch ã®ã‚ˆã†ã« +shell スタイルã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ãŒä½¿ç”¨ã§ãã¾ã™ã€‚ +"*" 文字ã¯ä»»æ„ã®æ–‡å­—列ã«ãƒžãƒƒãƒã—ã€"?" 文字ã¯ä»»æ„ã® 1 文字ã«ãƒžãƒƒãƒã—〠+"[seq]" 㯠seq ã®ä»»æ„ã®æ–‡å­—ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚ +"/" 文字ã¯ã©ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã§ã‚‚マッãƒã•ã‚Œã¾ã›ã‚“。 +明示的ã«æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

ã“れより柔軟ãªãƒžãƒƒãƒãƒ³ã‚°ãŒå¿…è¦ãªå ´åˆã¯ã€ã“れらã®ã‚³ãƒ³ãƒ†ãƒŠã«æ­£è¦è¡¨ç¾ +(regex) 版ã§ã‚ã‚‹ +<DirectoryMatch>, +<FilesMatch>, +<LocationMatch> +ãŒã‚ã‚Šã€ãƒžãƒƒãƒã‚’é¸æŠžã™ã‚‹ã®ã« perl 互æ›æ­£è¦è¡¨ç¾ã‚’使用ã§ãã¾ã™ã€‚ã—ã‹ã—ã€æ¬¡ã®è¨­å®šã®ãƒžãƒ¼ã‚¸ã«ç›®ã‚’通ã—ã¦ã€ +regex セクションを使用ã™ã‚‹ã“ã¨ã§ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®é©ç”¨ãŒã©ã®ã‚ˆã†ã« +変化ã™ã‚‹ã‹æŠŠæ¡ã—ã¦ãŠã„ã¦ãã ã•ã„。

+ +

全ユーザディレクトリã®è¨­å®šã‚’変更ã™ã‚‹ã€éž regex +ワイルドカードセクションã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

+ +

+<Directory /home/*/public_html>
+Options Indexes
+</Directory> +

+ +

regex セクションを使用ã™ã‚‹ã“ã¨ã§ã€ç”»åƒãƒ•ã‚¡ã‚¤ãƒ«ã®å¤šãã®ã‚¿ã‚¤ãƒ—ã«å¯¾ã™ã‚‹ +アクセスを一度ã«æ‹’å¦ã§ãã¾ã™ã€‚

+

+<FilesMatch \.(?i:gif|jpe?g|png)$>
+Order allow,deny
+Deny from all
+</FilesMatch> +

+ + + +

ã„ã¤ä½•ã‚’使ã†ã‹

+ +

ファイルシステムコンテナã¨ã‚¦ã‚§ãƒ–空間コンテナを使ã„分ã‘ã‚‹ã®ã¯ã€ +実際ã«ã¯éžå¸¸ã«ç°¡å˜ã§ã™ã€‚ファイルシステムã«ä¾å­˜ã™ã‚‹ +オブジェクトã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’é©å¿œã™ã‚‹å ´åˆã¯ã€å¿…ãš +<Directory> ã‹ +<Files> +を使用ã—ã¾ã™ã€‚ファイルシステムã«ä¾å­˜ã—ãªã„オブジェクト +(データベースã‹ã‚‰ç”Ÿæˆã•ã‚Œã‚‹ã‚¦ã‚§ãƒ–ページãªã©) +ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’é©ç”¨ã™ã‚‹éš›ã«ã¯ã€ +<Location> +を使用ã—ã¾ã™ã€‚

+ +

ファイルシステム上ã®ã‚ªãƒ–ジェクトã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã™ã‚‹ãŸã‚ã«ã€ +<Location> +を決ã—ã¦ä½¿ç”¨ãªã„よã†ã«ã—ã¾ã—ょã†ã€‚ +åŒä¸€ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä½ç½®ã«ãƒžãƒƒãƒ—ã—ã¦ã„ã‚‹ã€ã‚¦ã‚§ãƒ–空間ä½ç½® (URL) +ãŒå¤šæ•°ã‚ã£ã¦ã€è¨­å®šã—ãŸåˆ¶é™ã‚’迂回ã•ã‚Œã¦ã—ã¾ã†ã‹ã‚‚ã—ã‚Œãªã„ã‹ã‚‰ã§ã™ã€‚ +例ãˆã°æ¬¡ã®è¨­å®šã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚

+ +

+<Location /dir/>
+Order allow,deny
+Deny from all
+</Location> +

+ +

http://yoursite.example.com/dir/ +ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã¯ä¸Šæ‰‹ã動作ã—ã¾ã™ã€‚ã—ã‹ã—大文字å°æ–‡å­—を区別ã—ãªã„ +ファイルシステムを使ã£ã¦ã„ãŸã‚‰ã©ã†ãªã‚‹ã§ã—ょã†? +http://yoursite.example.com/DIR/ +ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ç°¡å˜ã«ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã‚’迂回ã•ã‚Œã¦ã—ã¾ã„ã¾ã™ã€‚ã“ã‚Œã«å¯¾ã—㦠+<Directory> +ディレクティブを使用ã™ã‚‹ã¨ã€ã©ã®ã‚ˆã†ã«å‘¼ã³å‡ºã•ã‚ŒãŸã‹ã«é–¢ã‚ら㚠+ãã®å ´æ‰€ã‹ã‚‰æä¾›ã•ã‚Œã‚‹å†…容ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ +(例外ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ãƒªãƒ³ã‚¯ã§ã™ã€‚シンボリックリンクを使ã£ã¦ã€ +åŒä¸€ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’複数ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã«è¨­ç½®ã§ãã¾ã™ã€‚ +<Directory> +ディレクティブã¯ãƒ‘スåをリセットã™ã‚‹ã“ã¨ãªãシンボリックリンクを +辿りã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€é«˜åº¦ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒè¦æ±‚ã•ã‚Œã‚‹å ´åˆã¯ã€ +é©åˆ‡ã« Options +ディレクティブを使用ã—ã¦ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’無効ã«ã™ã‚‹ã¹ãã§ã™ã€‚)

+ +

大文字å°æ–‡å­—を区別ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã‚’使用ã—ã¦ã„ã‚‹ã‹ã‚‰ä¸Šè¨˜ã®ã“ã¨ã¯ +無関係ã ã¨æ€ã‚れるã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€ +åŒä¸€ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä½ç½®ã«è¤‡æ•°ã®ã‚¦ã‚§ãƒ–空間ä½ç½®ã‚’マップã™ã‚‹æ–¹æ³•ã¯ã€ +ä»–ã«ã„ãらã§ã‚‚ã‚ã‚‹ã¨ã„ã†ã“ã¨ã‚’覚ãˆã¦ã„ã¦ãã ã•ã„。 +ã§ã™ã‹ã‚‰ã§ãã‚‹é™ã‚Šãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã‚³ãƒ³ãƒ†ãƒŠã‚’使用ã—ã¦ãã ã•ã„。 +ã—ã‹ã—ãªãŒã‚‰ä¸€ã¤ã ã‘例外ãŒã‚ã‚Šã¾ã™ã€‚ +<Location /> セクションã¯ã©ã‚“㪠URL +ã«ã‚‚é–¢ã‚らãšé©ç”¨ã•ã‚Œã‚‹ã®ã§ã€å®Œå…¨ã«å®‰å…¨ã§ã™ã€‚

+ + +
top
+
+

ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ

+ +

<VirtualHost> +コンテナã¯ç‰¹å®šã®ãƒ›ã‚¹ãƒˆã«é©ç”¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’æ ¼ç´ã—ã¾ã™ã€‚ +一å°ã®ãƒžã‚·ãƒ³ã§è¤‡æ•°ã®ãƒ›ã‚¹ãƒˆã‚’ç•°ãªã‚‹è¨­å®šã§æä¾›ã—ãŸã„ã¨ãã«æœ‰ç”¨ã§ã™ã€‚ +詳細ã«é–¢ã—ã¦ã¯ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ +ã”覧下ã•ã„。

+
top
+
+

プロクシ

+ +

<Proxy> +㨠<ProxyMatch> +コンテナã¯ã€ç‰¹å®šã® URL ã«ãƒžãƒƒãƒã™ã‚‹ mod_proxy +プロクシサーãƒã‚’経由ã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã‚µã‚¤ãƒˆã«å¯¾ã—ã¦ã®ã¿é©ç”¨ã•ã‚Œã‚‹ +設定ディレクティブを格ç´ã—ã¾ã™ã€‚例ãˆã°æ¬¡ã®è¨­å®šã¯ã€cnn.com +ウェブサイトã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ç”¨ã„られるプロクシサーãƒã‚’ +制é™ã—ã¾ã™ã€‚

+ +

+<Proxy http://cnn.com/*>
+Order allow,deny
+Deny from all
+</Proxy> +

+
top
+
+

ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒä½¿ãˆã‚‹ã®?

+ +

ã©ã®ã‚¿ã‚¤ãƒ—ã®è¨­å®šã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒä½¿ç”¨ã§ãã‚‹ã‹ã¯ã€ +ディレクティブ㮠Context +を見ã¦ãã ã•ã„。 +<Directory> +ã§ä½¿ç”¨å¯èƒ½ãªã‚‚ã®ã¯å…¨ã¦ã€åŒæ§˜ã« +<DirectoryMatch>, +<Files>, +<FilesMatch>, +<Location>, +<LocationMatch>, +<Proxy>, +<ProxyMatch> +セクションã§ä½¿ç”¨å¯èƒ½ã§ã™ã€‚ã—ã‹ã—ãªãŒã‚‰å¹¾ã¤ã‹ä¾‹å¤–も存在ã—ã¾ã™ã€‚

+ +
    +
  • AllowOverride ディレクティブ㯠+<Directory> +セクションã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã€‚
  • + +
  • FollowSymLinks 㨠SymLinksIfOwnerMatch ã® +Options ã¯ã€ +<Directory> +セクション㋠.htaccess ファイルã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã€‚
  • + +
  • Options ディレクティブã¯ã€ +<Files> +㨠<FilesMatch> +セクションã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。
  • +
+
top
+
+

セクションã®ãƒžãƒ¼ã‚¸æ–¹æ³•

+ +

マージã®é †ç•ªã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™:

+ +
    +
  1. <Directory> (æ­£è¦è¡¨ç¾ç„¡ã—) 㨠+ .htaccess ã‚’åŒæ™‚ã« (.htaccess ãŒè¨±å¯ã•ã‚Œã¦ã„ã‚Œã°ã€ãれ㌠+ <Directory> を上書ãã—ã¾ã™) +
  2. + +
  3. <DirectoryMatch> + (㨠<Directory ~>
  4. + +
  5. <Files> 㨠+ <FilesMatch> ã‚’åŒæ™‚ã«
  6. + +
  7. <Location> 㨠+ <LocationMatch> ã‚’åŒæ™‚ã«
  8. +
+ +

<Directory> + 以外ã¯ã€ãã‚Œãžã‚Œã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã«ç¾ã‚ŒãŸé †ç•ªã«å‡¦ç†ã•ã‚Œã¾ã™ã€‚ + <Directory> (上ã®ã‚°ãƒ«ãƒ¼ãƒ— 1) + ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒçŸ­ã„ã‚‚ã®ã‹ã‚‰é•·ã„ã‚‚ã®ã¸ã¨å‡¦ç†ã•ã‚Œã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ + 例ãˆã° <Directory /var/web/dir1> 㯠+ <Directory /var/web/dir/subdir> ã®å‰ã«å‡¦ç†ã•ã‚Œã¾ã™ã€‚複数㮠+ <Directory> セクション㌠+ åŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã« + é©ç”¨ã•ã‚Œã‚‹å ´åˆã¯ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®é †ç•ªã«å¾“ã£ã¦å‡¦ç†ã•ã‚Œã¾ã™ã€‚ + Include + ã«ã‚ˆã£ã¦æŒ¿å…¥ã•ã‚ŒãŸè¨­å®šã¯ 挿入ã—ã¦ã„るファイル㮠+ Include + ディレクティブã®ä½ç½®ã«ã‚ã£ãŸã‹ã®ã‚ˆã†ã«æ‰±ã‚ã‚Œã¾ã™ã€‚

+ +

<VirtualHost> セクション中ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ + ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®å®šç¾©ã®å¤–å´ã®å¯¾å¿œã™ã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã® + 後ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒ + メインã®ã‚µãƒ¼ãƒè¨­å®šã‚’上書ãã§ãるよã†ãªã‚Šã¾ã™ã€‚

+ +

mod_proxy ã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒå‡¦ç†ã•ã‚Œã‚‹å ´åˆã¯ã€ + 処ç†é †ç•ªã®ã†ã¡ã€<Directory> コンテナã®éƒ¨åˆ†ãŒ + <Proxy> + コンテナã«å–ã£ã¦ä»£ã‚られã¾ã™ã€‚

+ +

後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒå‰ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚‚ã®ã‚’上書ãã—ã¾ã™ã€‚

+ + +

技術メモ

+ 実際ã«ã¯ã€åå‰ã‚’変æ›ã™ã‚‹æ®µéšŽ (URL + をファイルåã«ãƒžãƒƒãƒ—ã™ã‚‹ãŸã‚ã« Alias ã‚„ + DocumentRoot ãŒä½¿ç”¨ã•ã‚Œã‚‹ã¨ã“ã‚) ã®ç›´å‰ã« + <Location>/<LocationMatch> + ãŒè¡Œãªã‚ã‚Œã¾ã™ã€‚ + ã“れらをé©ç”¨ã—ãŸçµæžœã¯å¤‰æ›ãŒçµ‚ã‚ã£ãŸå¾Œã«å®Œå…¨ã«æ¨ã¦ã‚‰ã‚Œã¾ã™ã€‚ +
+

例

+ +

次ã¯ãƒžãƒ¼ã‚¸ã®é †ç•ªã‚’示ã™ãŸã‚ã®æ£æ„çš„ãªä¾‹ã«ãªã£ã¦ã„ã¾ã™ã€‚ +リクエスト全ã¦ã«é©ç”¨ã•ã‚Œã‚‹ã¨ã—ã¦ã€æœ¬ä¾‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠+A > B > C > D > E ã®é †ç•ªã«é©ç”¨ã•ã‚Œã¾ã™ã€‚

+ +

+<Location />
+E
+</Location>
+
+<Files f.html>
+D
+</Files>
+
+<VirtualHost *>
+<Directory /a/b>
+B
+</Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+C
+</DirectoryMatch>
+
+<Directory /a/b>
+A
+</Directory>
+
+

+ +

ã‚‚ã£ã¨å…·ä½“çš„ãªã€æ¬¡ã®ä¾‹ã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚ +<Directory> +セクションã«è¨­ç½®ã•ã‚ŒãŸã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã«é–¢ã‚らãšã€ +<Location> +セクションãŒæœ€å¾Œã«è©•ä¾¡ã•ã‚Œã¦ã€ã‚µãƒ¼ãƒã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯åˆ¶é™ã•ã‚Œã¾ã›ã‚“。 +言ã„æ›ãˆã‚Œã°ã€ãƒžãƒ¼ã‚¸ã®é †ç•ªã¯é‡è¦ã§ã€æ³¨æ„ã—ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„!

+ +

+<Location />
+Order deny,allow
+Allow from all
+</Location>
+
+# Woops! This <Directory> section will have no effect
+<Directory />
+Order allow,deny
+Allow from all
+Deny from badguy.example.com
+</Directory> +

+ + + +
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sections.html.ko.euc-kr b/docs/manual/sections.html.ko.euc-kr new file mode 100644 index 0000000..650c74a --- /dev/null +++ b/docs/manual/sections.html.ko.euc-kr @@ -0,0 +1,452 @@ + + + + + +¼½¼Ç ¼³Á¤ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¼½¼Ç ¼³Á¤

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+

¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â +Áö½Ã¾î´Â ¼­¹ö Àüü¿¡ Àû¿ëµÇ°Å³ª, ƯÁ¤ µð·ºÅ丮, ÆÄÀÏ, È£½ºÆ®, +URL¿¡¸¸ Àû¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­´Â ´Ù¸¥ Áö½Ã¾îÀÇ Àû¿ë¹üÀ§¸¦ +Á¦ÇÑÇϱâÀ§ÇØ ¼³Á¤ ¼½¼ÇÀ̳ª .htaccess ÆÄÀÏÀ» +»ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

¼³Á¤ ¼½¼ÇÀÇ Á¾·ù

+ + + +

¼½¼Ç¿¡´Â µÎ°¡Áö Á¾·ù°¡ ÀÖ´Ù. ´ëºÎºÐÀº ¸Å¿äû¸¶´Ù 󸮵ȴÙ. +ÇØ´çÇÏ´Â ¿äû¿¡¸¸ ¾È¿¡ Æ÷ÇÔÇÑ Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ¹Ý´ë·Î, <IfDefine>°ú <IfModule>Àº ¼­¹ö°¡ +½ÃÀÛÇÒ¶§¿Í ²¨Áú¶§¸¸ ó¸®ÇÑ´Ù. ½ÃÀÛÇÒ¶§ »óÅ°¡ ÂüÀÌ¸é ¾È¿¡ ÀÖ´Â +Áö½Ã¾î°¡ ¸ðµç ¿äû¿¡ Àû¿ëµÈ´Ù. ÂüÀÌ ¾Æ´Ï¸é ¾È¿¡ ÀÖ´Â Áö½Ã¾î´Â +¹«½ÃÇÑ´Ù.

+ +

<IfDefine> +Áö½Ã¾î´Â httpd ¸í·ÉÇà¿¡ ÀûÀýÇÑ ÆĶó¹ÌÅÍ°¡ ÀÖ´Â +°æ¿ì¿¡¸¸ ¾È¿¡ Æ÷ÇÔÇÑ Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, +¼­¹ö¸¦ httpd -DClosedForNow·Î ½ÃÀÛÇÒ °æ¿ì¿¡¸¸ +¸ðµç ¿äûÀÌ ´Ù¸¥ »çÀÌÆ®·Î ¸®´ÙÀÌ·º¼ÇµÈ´Ù:

+ +

+<IfDefine ClosedForNow>
+Redirect / http://otherserver.example.com/
+</IfDefine> +

+ +

<IfModule> +Áö½Ã¾îµµ ƯÁ¤ ¸ðµâÀÌ ¼­¹ö¿¡ Æ÷ÇÔµÈ °æ¿ì¿¡¸¸ ¾È¿¡ µç Áö½Ã¾î¸¦ +Àû¿ëÇÑ´Ù´Â Á¡À» Á¦¿ÜÇÏ°í´Â ¸Å¿ì ºñ½ÁÇÏ´Ù. ¸ðµâÀ» ¼­¹ö¿¡ Á¤ÀûÀ¸·Î +ÄÄÆÄÀÏÇϰųª µ¿ÀûÀ¸·Î ÄÄÆÄÀÏÇÑÈÄ ¼³Á¤ÆÄÀÏ ¾Õ¿¡ LoadModule ÁÙÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ +Áö½Ã¾î´Â ƯÁ¤ ¸ðµâÀÇ ¼³Ä¡À¯¹«¿¡ µû¶ó ¼³Á¤ÆÄÀÏÀÌ ´Ù¸¦ ÇÊ¿ä°¡ +ÀÖÀ»¶§¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù. ¸ðµâÀÌ ¾ø´Â °æ¿ì À¯¿ëÇÑ ¿À·ù¹®ÀÌ ³ª¿ÀÁö¾ÊÀ» +¼ö Àֱ⠶§¹®¿¡ ¾ðÁ¦³ª »ç¿ëÇÏ±æ ¿øÇÏ´Â Áö½Ã¾î¸¦ ¾È¿¡ µÎ¸é ¾ÈµÈ´Ù.

+ +

´ÙÀ½ ¿¹¿¡¼­ mod_mime_magicÀÌ ÀÖÀ»¶§¸¸ MimeMagicFiles Áö½Ã¾î¸¦ +ó¸®ÇÑ´Ù.

+ +

+<IfModule mod_mime_magic.c>
+MimeMagicFile conf/magic
+</IfModule> +

+ +

<IfDefine>°ú +<IfModule>ÀÇ +°Ë»ç ¾Õ¿¡ "!"À» ºÙ¿© Á¶°ÇÀ» ¿ªÀ¸·Î ÇÒ ¼ö ÀÖ´Ù. ¶Ç, ¿©·¯ ¼½¼ÇµéÀ» +°ãÃļ­ »ç¿ëÇÏ¿© ´õ º¹ÀâÇÑ È¿°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

+
top
+
+

ÆÄÀϽýºÅÛ°ú À¥°ø°£

+ +

°¡Àå ÀÚÁÖ »ç¿ëµÇ´Â ¼³Á¤ ¼½¼ÇÀº ÆÄÀϽýºÅÛ°ú À¥°ø°£(webspace)ÀÇ +ƯÁ¤ Àå¼Ò¿¡ ´ëÇÑ ¼³Á¤À» º¯°æÇÏ´Â °ÍµéÀÌ´Ù. ¸ÕÀú ÀÌ µÑÀÇ Â÷À̸¦ +ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ÆÄÀϽýºÅÛÀº ¿î¿µÃ¼Á¦ ÀÔÀå¿¡¼­ µð½ºÅ©¸¦ +º¸´Â °üÁ¡ÀÌ´Ù. ¿¹¸¦ µé¾î, ±âº»°ªÀ¸·Î ¾ÆÆÄÄ¡¸¦ ¼³Ä¡¸¦ Çϸé À¯´Ð½º +ÆÄÀϽýºÅÛÀÇ °æ¿ì /usr/local/apache2, À©µµ¿ìÁî +ÆÄÀϽýºÅÛÀÇ °æ¿ì "c:/Program Files/Apache +Group/Apache2"¿¡ ¼³Ä¡µÈ´Ù. (¾ÆÆÄÄ¡´Â À©µµ¿ìÁî¿¡¼­ Á¶Â÷ +Ç×»ó, ¿ª½½·¡½¬°¡ ¾Æ´Ñ, ½½·¡½¬¸¦ »ç¿ëÇÔÀ» ÁÖÀÇÇ϶ó.) ¹Ý´ë·Î +À¥°ø°£Àº À¥¼­¹ö°¡ Á¦°øÇÏ°í Ŭ¶óÀ̾ðÆ®°¡ º¸°ÔµÉ »çÀÌÆ®ÀÇ °üÁ¡ÀÌ´Ù. +±×·¡¼­ À¯´Ð½º¿¡¼­ ±âº» ¾ÆÆÄÄ¡ ¼³Ä¡¸¦ ÇÑ °æ¿ì À¥°æ·ÎÀÇ °æ·Î +/dir/Àº ÆÄÀϽýºÅÛ °æ·Î +/usr/local/apache2/htdocs/dir/¿¡ ÇØ´çÇÑ´Ù. À¥°ø°£Àº +µ¥ÀÌŸº£À̽º µî¿¡¼­ µ¿ÀûÀ¸·Î »ý¼ºµÉ ¼ö Àֱ⶧¹®¿¡ ¹Ýµå½Ã +ÆÄÀϽýºÅÛ¿¡ Á÷Á¢ ´ëÀÀµÉ ÇÊ¿ä´Â ¾ø´Ù.

+ +

ÆÄÀϽýºÅÛ ¼½¼Ç

+ +

<Directory>¿Í +<Files> Áö½Ã¾î¿Í +Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ´Â Áö½Ã¾î´Â ÆÄÀϽýºÅÛÀÇ Æ¯Á¤ ºÎºÐ¿¡ Áö½Ã¾î¸¦ +Àû¿ëÇÑ´Ù. <Directory> Áö½Ã¾î¿¡ Æ÷ÇÔµÈ Áö½Ã¾îµéÀº +ÁöÁ¤ÇÑ ÆÄÀϽýºÅÛ µð·ºÅ丮¿Í ±× ÇÏÀ§ µð·ºÅ丮¿¡ Àû¿ëµÈ´Ù. .htaccess ÆÄÀÏÀ» »ç¿ëÇصµ °á°ú´Â +°°´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, µð·ºÅ丮 ¸ñ·Ï(index)ÀÌ +/var/web/dir1 ÀÌÇÏ µð·ºÅ丮¿¡¼­ µð·ºÅ丮 ¸ñ·Ï(index)ÀÌ +°¡´ÉÇÏ´Ù.

+ +

+<Directory /var/web/dir1>
+Options +Indexes
+</Directory> +

+ +

<Files> ¼½¼Ç¿¡ Æ÷ÇÔµÈ Áö½Ã¾îµéÀº ¾î¶² +µð·ºÅ丮¿¡ ÀÖ´ÂÁö °ü°è¾øÀÌ ÁöÁ¤ÇÑ À̸§À» °¡Áø ÆÄÀÏ¿¡ Àû¿ëµÈ´Ù. +¼³Á¤ÆÄÀÏÀÇ ÁÖ¼³Á¤ºÎºÐ¿¡ ÀÖ´Â ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, Àå¼Ò¿Í +°ü°è¾øÀÌ private.htmlÀ̶õ À̸§À» ÇÑ ÆÄÀÏÀÇ Á¢±ÙÀ» +°ÅºÎÇÑ´Ù.

+ +

+<Files private.html>
+Order allow,deny
+Deny from all
+</Files> +

+ +

ÆÄÀϽýºÅÛÀÇ Æ¯Á¤ ºÎºÐ¿¡ ÀÖ´Â ÆÄÀÏÀ» ÁöĪÇϱâÀ§ÇØ <Files>¿Í <Directory> ¼½¼ÇÀ» °°ÀÌ +»ç¿ëÇÑ´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, +/var/web/dir1/private.html, +/var/web/dir1/subdir2/private.html, +/var/web/dir1/subdir3/private.html °°ÀÌ +/var/web/dir1/ µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Â À̸§ÀÌ +private.htmlÀÎ ÆÄÀÏÀÇ Á¢±ÙÀ» °ÅºÎÇÑ´Ù.

+ +

+<Directory /var/web/dir1>
+<Files private.html>
+Order allow,deny
+Deny from all
+</Files>
+</Directory> +

+ + +

À¥°ø°£ ¼½¼Ç

+ +

<Location> +Áö½Ã¾î¿Í ÀÌ¿¡ ÇØ´çÇÏ´Â Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ´Â Áö½Ã¾î´Â ¹Ý´ë·Î +ƯÁ¤ À¥°ø°£ÀÇ ¼³Á¤À» ¹Ù²Û´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, /privateÀ¸·Î +½ÃÀÛÇÏ´Â URL-°æ·ÎÀÇ Á¢±ÙÀÌ °ÅºÎµÈ´Ù. ¿©±â¿¡´Â +http://yoursite.example.com/private, +http://yoursite.example.com/private123, +http://yoursite.example.com/private/dir/file.html +°°ÀÌ /private ¹®ÀÚ¿­·Î ½ÃÀÛÇÏ´Â ¿äûÀÌ ÇØ´çµÈ´Ù.

+ +

+<Location /private>
+Order Allow,Deny
+Deny from all
+</Location> +

+ +

<Location> +Áö½Ã¾î´Â ÆÄÀϽýºÅÛ¿¡ ´ëÀÀÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ´ÙÀ½ ¿¹´Â ¾î¶»°Ô ƯÁ¤ +URLÀ» mod_status°¡ Á¦°øÇÏ´Â ¾ÆÆÄÄ¡ ³»ºÎ Çڵ鷯·Î +´ëÀÀ½ÃÅ°´ÂÁö¸¦ º¸¿©ÁØ´Ù. ÆÄÀϽýºÅÛ¿¡ server-status¶ó´Â +ÆÄÀÏÀº ÇÊ¿ä¾ø´Ù.

+ +

+<Location /server-status>
+SetHandler server-status
+</Location> +

+ + +

¿ÍÀϵåÄ«µå¿Í Á¤±ÔÇ¥Çö½Ä

+ +

<Directory>, +<Files>, +<Location> +Áö½Ã¾î¿¡¼­ C Ç¥ÁØ ÆÄÀ̺귯¸®ÀÇ fnmatch¿Í °°Àº +½©¿¡¼­ »ç¿ëÇÏ´Â ¿ÍÀϵåÄ«µå ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. +"*" ¹®ÀÚ´Â ¾î¶² ¹®ÀÚ¿­ÀÌ¶óµµ ³ªÅ¸³»°í, "?" ¹®ÀÚ´Â ¾î¶² ¹®ÀÚ ÇÑ°³¸¦ +³ªÅ¸³»¸ç, "[seq]"´Â seq Áß¿¡ ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³½´Ù. +¾î¶² ¿ÍÀϵåÄ«µåµµ "/" ¹®ÀÚ¸¦ ³ªÅ¸³»Áö´Â ¸øÇÑ´Ù. ±×·¡¼­ ÀÌ ¹®ÀÚ´Â +Á÷Á¢ »ç¿ëÇØ¾ß ÇÑ´Ù.

+ +

´õ À¯¿¬ÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇϸé perlȣȯ Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ´Â <DirectoryMatch>, <FilesMatch>, <LocationMatch>¸¦ »ç¿ëÇÒ +¼ö ÀÖ´Ù. ±×·¯³ª ¾Æ·¡ ¼³Á¤ÀÇ °áÇÕ¿¡ °üÇÑ Àý¿¡¼­ Á¤±ÔÇ¥Çö½Ä ¼½¼ÇÀ» +»ç¿ëÇϸé Áö½Ã¾î°¡ Àû¿ëµÇ´Â ¹æ¹ýÀÌ ¾î¶»°Ô º¯ÇÏ´ÂÁö »ìÆìºÁ¶ó.

+ +

¸ðµç »ç¿ëÀÚ µð·ºÅ丮 ¼³Á¤À» º¯°æÇÏ´Â ºñÁ¤±ÔÇ¥Çö½Ä ¿ÍÀϵåÄ«µå +¼½¼ÇÀº ´ÙÀ½°ú °°´Ù:

+ +

+<Directory /home/*/public_html>
+Options Indexes
+</Directory> +

+ +

Á¤±ÔÇ¥Çö½Ä ¼½¼ÇÀ» »ç¿ëÇÏ¿© Çѹø¿¡ ¿©·¯ Á¾·ùÀÇ ±×¸²ÆÄÀÏ¿¡ +´ëÇÑ Á¢±ÙÀ» °ÅºÎÇÒ ¼ö ÀÖ´Ù:

+

+<FilesMatch \.(?i:gif|jpe?g|png)$>
+Order allow,deny
+Deny from all
+</FilesMatch> +

+ + + +

¹«¾ùÀ» »ç¿ëÇϳª

+ +

ÆÄÀϽýºÅÛ ¼½¼Ç°ú À¥°ø°£ ¼½¼Ç Áß Çϳª¸¦ ¼±ÅÃÇÏ´Â °ÍÀº ½ÇÁ¦·Î +¸Å¿ì ½±´Ù. ÆÄÀϽýºÅÛ¿¡ ÀÖ´Â °´Ã¼¿¡ Áö½Ã¾î¸¦ Àû¿ëÇÒ¶§´Â Ç×»ó +<Directory>³ª +<Files>¸¦ +»ç¿ëÇÑ´Ù. (µ¥ÀÌŸº£À̽º¿¡¼­ »ý¼ºÇÑ À¥ÆäÀÌÁö¿Í °°ÀÌ) ÆÄÀϽýºÅÛ¿¡ +ÀÖÁö ¾Ê´Â °´Ã¼¿¡ Áö½Ã¾î¸¦ Àû¿ëÇÒ¶§´Â <Location>À» »ç¿ëÇÑ´Ù.

+ +

ÆÄÀϽýºÅÛ¿¡ ÀÖ´Â °´Ã¼ÀÇ Á¢±ÙÀ» Á¦ÇÑÇϱâÀ§ÇØ <Location>À» »ç¿ëÇϸé +Àý´ë ¾ÈµÈ´Ù. ¿©·¯ ´Ù¸¥ À¥°ø°£ Àå¼Ò(URL)°¡ °°Àº ÆÄÀϽýºÅÛ Àå¼Ò¿¡ +´ëÀÀµÉ ¼ö ÀÖÀ¸¹Ç·Î, °É¾îµÐ Á¦ÇÑÀ» ¿ìȸÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ´ÙÀ½ +¼³Á¤ÀÇ ¿¹¸¦ »ìÆ캸ÀÚ:

+ +

+<Location /dir/>
+Order allow,deny
+Deny from all
+</Location> +

+ +

ÀÌ ¼³Á¤Àº http://yoursite.example.com/dir/À» +¿äûÇÑ´Ù¸é Àß ÀÛµ¿ÇÑ´Ù. ±×·¯³ª ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê´Â ÆÄÀϽýºÅÛÀ» +»ç¿ëÇÑ´Ù¸é ¾î¶»°ÔµÇ³ª? +http://yoursite.example.com/DIR/À» ¿äûÇÏ¿© ½±°Ô +Á¦ÇÑÀ» ¿ìȸÇÒ ¼ö ÀÖ´Ù. ¹Ý´ë·Î <Directory> Áö½Ã¾î´Â ¾î¶»°Ô ¿äûÇÏ¿´´ÂÁö +°ü°è¾øÀÌ ±× Àå¼Ò¿¡¼­ ¼­ºñ½ºµÇ´Â ³»¿ë¿¡ Àû¿ëµÈ´Ù. (¿¹¿Ü´Â ÆÄÀϽýºÅÛ +¸µÅ©¸¦ »ç¿ëÇÏ´Â °æ¿ì´Ù. ½Éº¼¸µÅ©¸¦ »ç¿ëÇÏ¿© ÇÑ µð·ºÅ丮¸¦ +ÆÄÀϽýºÅÛÀÇ ¿©·¯ Àå¼Ò¿¡ µÑ ¼ö ÀÖ´Ù. <Directory> Áö½Ã¾î´Â ½Éº¼¸µÅ©¸¦ µû¶ó°£´Ù. +±×·¯¹Ç·Î ³ôÀº ¼öÁØÀÇ º¸¾ÈÀ» À§Çؼ­´Â ÀûÀýÇÑ Options Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ½Éº¼¸µÅ©¸¦ +¹«½ÃÇØ¾ß ÇÑ´Ù.)

+ +

¾Æ¸¶µµ ´ç½ÅÀº ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏ´Â ÆÄÀϽýºÅÛÀ» »ç¿ëÇϹǷΠ+ÀÌ·± ÀÏÀÌ ÀϾÁö ¾Ê´Â´Ù°í »ý°¢ÇÒÁöµµ ¸ð¸¥´Ù. ±×·¯³ª ´Ù¸¥ +¹æ¹ýÀ¸·Îµµ ¿©·¯ À¥°ø°£ À§Ä¡°¡ ÇÑ ÆÄÀϽýºÅÛ À§Ä¡¿¡ ´ëÀÀµÉ ¼ö +ÀÖÀ½À» ±â¾ïÇ϶ó. ±×·¡¼­ °¡´ÉÇϸé Ç×»ó ÆÄÀϽýºÅÛ ¼½¼ÇÀ» »ç¿ëÇØ¾ß +ÇÑ´Ù. ±×·¯³ª ÀÌ ±ÔÄ¢¿¡ ¿¹¿Ü°¡ Çϳª ÀÖ´Ù. ¼³Á¤ Á¦ÇÑÀ» +<Location /> ¼½¼Ç¿¡ µÎ¸é ÀÌ ¼½¼ÇÀÌ Æ¯Á¤ +URLÀÌ ¾Æ´Ñ ¸ðµç ¿äû¿¡ Àû¿ëµÇ¹Ç·Î ¿Ïº®ÇÏ°Ô ¾ÈÀüÇÏ´Ù.

+ + +
top
+
+

°¡»óÈ£½ºÆ®

+ +

<VirtualHost> +¼½¼ÇÀº ƯÁ¤ È£½ºÆ®¿¡ Àû¿ëµÇ´Â Áö½Ã¾îµéÀ» Æ÷ÇÔÇÑ´Ù. ÀÌ´Â ÇÑ +ÄÄÇ»ÅÍ¿¡¼­ °¢°¢ ´Ù¸¥ ¼³Á¤À» »ç¿ëÇÑ ¿©·¯ È£½ºÆ®¸¦ ¼­ºñ½ºÇÒ¶§ +À¯¿ëÇÏ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â °¡»óÈ£½ºÆ® ¹®¼­¸¦ +Âü°íÇ϶ó.

+
top
+
+

ÇÁ·Ï½Ã

+ +

<Proxy>¿Í +<ProxyMatch> +¼½¼ÇÀº ÁöÁ¤ÇÑ URL¿¡ ´ëÇØ mod_proxy ÇÁ·Ï½Ã ¼­¹ö¸¦ +°ÅÃÄ Á¢±ÙÇÏ´Â °æ¿ì¿¡¸¸ Àû¿ëµÈ´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, ÇÁ·Ï½Ã +¼­¹ö¸¦ ÅëÇØ cnn.com À¥»çÀÌÆ®¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù.

+ +

+<Proxy http://cnn.com/*>
+Order allow,deny
+Deny from all
+</Proxy> +

+
top
+
+

¾È¿¡ ¾î¶² Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö +ÀÖ³ª?

+ +

¾î¶² ¼³Á¤ ¼½¼Ç¾È¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â Áö½Ã¾î¸¦ ¾Ë·Á¸é Áö½Ã¾îÀÇ +»ç¿ëÀå¼Ò¸¦ È®ÀÎÇ϶ó. +<Directory>¿¡¼­ +»ç¿ë°¡´ÉÇÑ Áö½Ã¾î´Â <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch>, <Proxy>, <ProxyMatch> ¼½¼Ç¿¡¼­µµ »ç¿ë°¡´ÉÇÏ´Ù. +±×·¯³ª, ¿¹¿Ü°¡ ÀÖ´Ù:

+ +
    +
  • AllowOverride Áö½Ã¾î´Â +<Directory> +¼½¼Ç¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
  • + +
  • FollowSymLinks, SymLinksIfOwnerMatch, +Options´Â <Directory> ¼½¼ÇÀ̳ª +.htaccess ÆÄÀÏ¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
  • + +
  • Options Áö½Ã¾î´Â +<Files>°ú +<FilesMatch> +¼½¼Ç¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø´Ù.
  • +
+
top
+
+

¼½¼ÇµéÀÌ °áÇÕÇÏ´Â ¹æ¹ý

+ +

¼³Á¤ ¼½¼ÇÀº ¸Å¿ì Ưº°ÇÑ ¹æ¹ýÀ¸·Î Àû¿ëµÈ´Ù. ÀÌ ¼ø¼­°¡ ¼³Á¤ +Áö½Ã¾î¸¦ Çؼ®ÇÏ´Â ¹æ¹ý¿¡ Áß¿äÇÑ ¿µÇâÀ» Áֱ⶧¹®¿¡ ÀÌ ¹æ¹ýÀ» +ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù.

+ +

°áÇÕÇÏ´Â ¼ø¼­´Â:

+ +
    +
  1. (Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏÁö¾Ê´Â) <Directory>¿Í .htaccess´Â + µ¿½Ã¿¡ ÀϾ´Ù (°æ¿ì¿¡ µû¶ó .htaccessÀÌ + <Directory>¸¦ + ¹«½ÃÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù)
  2. + +
  3. <DirectoryMatch> (±×¸®°í + <Directory ~>)
  4. + +
  5. <Files>¿Í <FilesMatch>´Â µ¿½Ã¿¡ ÀϾ´Ù
  6. + +
  7. <Location>°ú <LocationMatch>´Â µ¿½Ã¿¡ ÀϾ´Ù
  8. +
+ +

<Directory>¸¦ Á¦¿ÜÇÏ°í °¢ ¼½¼ÇµéÀ» + ¼³Á¤ÆÄÀÏ¿¡ ³ª¿Â ¼ø¼­´ë·Î 󸮵ȴÙ. (À§ÀÇ ¼ø¼­ 1) <Directory>´Â µð·ºÅ丮 + ³»¿ëÀÌ °¡Àå ªÀº °Í¿¡¼­ ±äÂÊÀ¸·Î 󸮵ȴÙ. ±×·¡¼­ ¿¹¸¦ µé¾î, + <Directory /var/web/dir>À» + <Directory /var/web/dir/subdir> ÀÌÀü¿¡ + ó¸®ÇÑ´Ù. °°Àº µð·ºÅ丮¸¦ ÁöĪÇÏ´Â ¿©·¯ <Directory> ¼½¼ÇÀÌ + ÀÖ´Ù¸é À̵éÀ» ¼³Á¤ÆÄÀÏ ¼ø¼­´ë·Î ó¸®ÇÑ´Ù. Include Áö½Ã¾î·Î Æ÷ÇÔÇÑ ¼³Á¤Àº + Include Áö½Ã¾î À§Ä¡¿¡ + Æ÷ÇÔÇÑ ÆÄÀÏ ³»¿ëÀÌ ÀÖ´Â °Íó·³ ó¸®ÇÑ´Ù.

+ +

<VirtualHost> ¼½¼Ç ¾È¿¡ Æ÷ÇÔµÈ ¼½¼ÇÀº + °¡»óÈ£½ºÆ® Á¤ÀÇ ¹Û¿¡ ÀÖ´Â ÇØ´ç ¼½¼Ç ÀÌÈÄ¿¡ Àû¿ëµÈ´Ù. + ±×·¡¼­ °¡»óÈ£½ºÆ® ¾È¿¡¼­ ÁÖ¼­¹öÀÇ ¼³Á¤»çÇ×À» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

+ +

mod_proxy°¡ ¿äû ¼­ºñ½ºÇÒ¶§, <Proxy> ¼½¼ÇÀÇ + 󸮼ø¼­´Â <Directory> ¼½¼Ç°ú °°´Ù.

+ +

´ÙÀ½¿¡ ³ª¿À´Â ¼½¼ÇÀº ÀÌÀü ¼½¼ÇÀÇ °á°ú¸¦ ¼öÁ¤ÇÑ´Ù.

+ +

±â¼úÀû ÁÖÀÇ

+ ½ÇÁ¦·Î + <Location>/<LocationMatch>´Â + (Aliases¿Í DocumentRoot¸¦ »ç¿ëÇÏ¿© + URLÀ» ÆÄÀϸíÀ¸·Î º¯È¯ÇÏ´Â) À̸§¹ø¿ª ´Ü°è ÀÌÀü¿¡ 󸮵ȴÙ. + º¯¿ªÀÌ ³¡³­ ÀÌÈÄ¿¡´Â ¿ÏÀüÈ÷ ¹«½ÃÇÑ´Ù. +
+ +

¿¹Á¦

+ +

´ÙÀ½Àº °ãÇÕÇÏ´Â ¼ø¼­¸¦ ¼³¸íÇÏ´Â ¿¹´Ù. ÀÌµé ¸ðµÎ ¿äû¿¡ +Àû¿ëµÈ´Ù°í °¡Á¤Çϸé Áö½Ã¾î´Â A > B > C > D > E +¼ø¼­·Î 󸮵ȴÙ.

+ +

+<Location />
+E
+</Location>
+
+<Files f.html>
+D
+</Files>
+
+<VirtualHost *>
+<Directory /a/b>
+B
+</Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+C
+</DirectoryMatch>
+
+<Directory /a/b>
+A
+</Directory>
+
+

+ +

´õ Çö½ÇÀûÀÎ ¿¹´Â ´ÙÀ½°ú °°´Ù. <Location> ¼½¼ÇÀ» ³ªÁß¿¡ ó¸®ÇϹǷΠ+<Directory> +¼½¼Ç¿¡ ÀÖ´Â Á¢±ÙÁ¦ÇÑ°ú °ü°è¾øÀÌ ¼­¹ö¿¡ ¹«Á¦ÇÑ Á¢±ÙÀ» °¡´ÉÇÏ´Ù. +Áï, °áÇÕÇÏ´Â ¼ø¼­´Â Áß¿äÇϹǷΠÁÖÀÇÇ϶ó!

+ +

+<Location />
+Order deny,allow
+Allow from all
+</Location>
+
+# ¾Ç! ÀÌ <Directory> ¼½¼ÇÀº ¾Æ¹«·± È¿°ú°¡ ¾ø´Ù
+<Directory />
+Order allow,deny
+Allow from all
+Deny from badguy.example.com
+</Directory> +

+ + + +
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sections.html.tr.utf8 b/docs/manual/sections.html.tr.utf8 new file mode 100644 index 0000000..be6ff8a --- /dev/null +++ b/docs/manual/sections.html.tr.utf8 @@ -0,0 +1,645 @@ + + + + + +Yapılandırma Bölümleri - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Yapılandırma Bölümleri

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+
Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.
+ +

Yapılandırma dosyalarındaki + yönergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler, + dosyalar, konaklar veya URL’lere uygulanmakla sınırlanabilir. Bu + belgede, yapılandırma bölümü taşıyıcılarınının veya + .htaccess dosyalarının, yapılandırma dosyalarındaki diğer + yönergelerin etki alanlarını değiştirtirmek için nasıl kullanılacağı + açıklanmıştır.

+
+ +
top
+
+

Yapılandırma Bölümü Taşıyıcılarının Türleri

+ + + +

İki temel taşıyıcı türü vardır. Taşıyıcıların çoğu her istek için + değerlendirmeye alınır. Taşıyıcılardaki yönergeler ise sadece bu + taşıyıcılarla eşleşen istekler için uygulanır. Diğer yandan, + <IfDefine>, + <IfModule> ve + <IfVersion> + taşıyıcıları sadece sunucu başlatılırken veya yeniden başlatılırken + değerlendirmeye alınır. Başlatma sırasında gerektirdikleri koşullar + sağlanıyorsa içerdikleri yönergeler tüm isteklere uygulanır. Aksi + takdirde, içerdikleri yönergeler yok sayılır.

+ +

<IfDefine> yönergesi + sadece httpd komut satırında uygun parametreler + tanımlanmışsa uygulanabilecek yönergeleri içerir. Örneğin, aşağıdaki + yapılandırma ile tüm isteklerin diğer siteye yönlendirilebilmesi sadece + sunucu httpd -DClosedForNow komut satırı ile başlatıldığı + takdirde mümkün olur:

+ +
<IfDefine ClosedForNow>
+  Redirect "/" "http://otherserver.example.com/"
+</IfDefine>
+ + +

<IfModule> yönergesi + sadece belli bir modülün sunucuda kullanılabilir durumda olması halinde + uygulanabilecek yönergeleri içerir. Modülün ya sunucuyla birlikte durağan + olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma + dosyasında yönergeden önce o modüle ilişkin bir LoadModule satırının bulunması gerekir. Bu + yönergeyi sadece belli bir modülün varlığının veya yokluğunun + yapılandırma dosyanızın çalışmasını etkilememesini istediğiniz durumlarda + kullanmalısınız. Eksik modüllerle ilgili hata iletilerini + engellediğinden, taşıyıcı içine, her zaman çalışması istenen yönergeler + konulmamalıdır.

+ +

Aşağıdaki örnekte, MimeMagicFile yönergesi sadece + mod_mime_magic modülü mevcutsa uygulanacaktır.

+ +
<IfModule mod_mime_magic.c>
+  MimeMagicFile "conf/magic"
+</IfModule>
+ + +

<IfVersion> + yönergesi sunucunun belli bir sürümünün çalıştırılması halinde + uygulanabilecek yönergeleri içerebilmesi dışında <IfDefine> ve <IfModule> yönergeleri gibidir. + mod_version modülü farklı httpd sürümleri ve farklı + yapılandırmalarla büyük ağlarda çalışmayı mümkün kılmak veya sürüm + denemeleri yapabilmek amacıyla tasarlanmıştır.

+ +
<IfVersion >= 2.4>
+  # burası sadece 2.4.0 veya daha üstü sürümlerde
+  # iş görür.
+</IfVersion>
+ + +

<IfDefine>, + <IfModule> ve + <IfVersion> + yönergelerinin önüne "!" konularak olumsuz koşullar için uygulanabilir. + Ayrıca, bu bölümler daha karmaşık sınırlamalar elde etmek amacıyla bir + diğerinin içinde kullanılabilirler.

+
top
+
+

Dosya Sistemi, Site Alanı ve Mantıksal İfadeler

+ + +

En sık kullanılan yapılandırma bölümü taşıyıcıları dosya sistemindeki + veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte + kullanılanlardır. Öncelikle, bu ikisi arasındaki farkları bilmek + önemlidir. Dosya sistemi disklerinizin işletim sistemi tarafından size + gösterilen halidir. Örneğin, öntanımlı kurulumda Apache httpd, Unix + sistemlerinde /usr/local/apache2 altındayken Windows + sistemlerinde "c:/Program Files/Apache Group/Apache2" + altındadır. (Bilgi: Windows için bile, Apache httpd yapılandırma + dosyalarında dosya yolu belirtilirken tersbölü değil normal bölü + karakterleri kullanılır.) Site alanı ise sunucu tarafından istemciye + sunulan dizin ağacıdır. Yani, site alanı içindeki /dir/ + dizini, Apache httpd’nin Unix üzerinde dosya sistemine öntanımlı olarak + kurulduğu yer göz önüne alınarak, dosya sistemindeki + /usr/local/apache2/htdocs/dir/ dizinine karşılıktır. Site + sayfaları veritabanlarından veya başka yerlerden devingen olarak + üretilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi + gerekli değildir.

+ +

Dosya Sistemi Taşıyıcıları

+ +

<Directory> + ve <Files> + taşıyıcıları, düzenli ifade karşılıkları + ile beraber, yönergeleri dosya sisteminin parçalarına uygularlar. Bir + <Directory> bölümü + içindeki yönergeler belli bir dosya sistemi dizinine ve onun alt + dizinlerine uygulanır. Aynı etki .htaccess + dosyaları kullanılarak da sağlanabilir. Örneğin aşağıdaki + yapılandırmada, /var/web/dir1 dizini ve alt dizinlerinde + dizin içeriğinin listelenmesi etkin kılınmaktadır.

+ +
<Directory "/var/web/dir1">
+  Options +Indexes
+</Directory>
+ + +

Bir <Files> bölümü + içindeki yönergeler, hangi dizinde bulunduğuna bakılmaksızın ismi + belirtilen dosyalara uygulanır. Örneğin, aşağıdaki yapılandırma + yönergeleri yapılandırma dosyasının ana bölümüne yerleştirildiği takdirde + gizli.html isimli dosyalara nerede bulunursa bulunsun + erişime izin vermeyecektir.

+ +
<Files "gizli.html">
+  Require all denied
+</Files>
+ + +

Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar + için <Files> ve + <Directory> bölümleri + birlikte kullanılabilir. Örneğin, aşağıdaki yapılandırma + /var/web/dir1/gizli.html, + /var/web/dir1/subdir2/gizli.html, + /var/web/dir1/subdir3/gizli.html ve + /var/web/dir1/ altında bulunabilecek diğer tüm + gizli.html dosyalarına erişimi yasaklar.

+ +
<Directory "/var/web/dir1">
+ <Files "gizli.html">
+ Require all denied + </Files>
+</Directory>
+ + + +

Site Alanı Taşıyıcıları

+ +

<Location> yönergesi + ve yönergenin düzenli ifade karşılığı + site alanındaki içerik için yapılandırmayı değiştirir. Örneğin aşağıdaki + yapılandırma, /gizli ile başlayan URL yollarına erişimi + engeller. Özellikle, http://siteniz.mesela.dom/gizli, + http://siteniz.mesela.dom/gizli123 ve + http://siteniz.mesela.dom/gizli/dir/dosya.html + istekleri yanında /gizli ile başlayan diğer isteklere de + uygulanır.

+ +
<LocationMatch "^/gizli">
+    Require all denied
+</LocationMatch>
+ + +

Dosya sistemi ile etkileşime girmeyen herşey için + <Location> + yönergesi gerekir. Aşağıdaki örnekte, belli bir URL’nin + mod_status modülü tarafından sağlanan bir dahili + Apache eylemcisine nasıl eşlenebileceği gösterilmiştir. Bu örnek + için dosya sisteminde server-status adında bir dosya + veya dizin bulunması gerekli değildir.

+ +
<Location "/server-status">
+    SetHandler server-status
+</Location>
+ + + +

Site Alanında Çakışma

+

Belli bölümler ve yönergeler değerlendirilirken çakışan iki URL bir URL + olarak dikkate alınır. <Location> yönergesi için bu şöyle olurdu:

+ +
<Location "/foo">
+</Location>
+<Location "/foo/bar">
+</Location>
+ + +

DiÄŸer yandan <Takma + adlar> tam tersi eÅŸlenir:

+ +
Alias "/foo/bar" "/srv/www/uncommon/bar"
+Alias "/foo"     "/srv/www/common/foo"
+ + +

Aynısı ProxyPass + yönergeleri için de geçerlidir:

+ +
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
+ + + +

Dosya Adı Şablonları ve Düzenli İfadeler

+ + +

<Directory>, + <Files> ve + <Location> + yönergelerinde, Standart C kütüphanesindeki fnmatch + işlevindeki gibi kabuk tarzı dosya ismi kalıpları kullanılabilir. "*" + karakteri herhangi bir karakter dizisi ile eşleşirken "?" karakteri tek + tek karakterlerle ve "[seq]" kalıbı ise seq içindeki + her karakterle eşleşir. "/" karakteri her hangi bir kalıp karakteri ile + eşleşmez; açıkça belirtilmesi gerekir.

+ +

Daha esnek bir eşleşmenin gerekli olduğu durumlar için her taşıyıcının + bir düzenli ifade karşılığı vardır. <DirectoryMatch>, <FilesMatch> ve <LocationMatch> yönergelerinde gerekli + eşleşmeleri seçmek için perl uyumlu düzenli + ifadelerin kullanımına izin verilir. Ayrıca, yönergelerin + uygulanışının düzenli ifade bölümleri kullanılarak nasıl + değiştirileceğini öğrenmek için, aşağıda, yapılandırmanın + katıştırılmasıyla ilgili bölüme de bakınız.

+ +

Tüm kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek için dosya + ismi kalıpları şöyle kullanılabilirdi:

+ +
<Directory "/home/*/public_html">
+    Options Indexes
+</Directory>
+ + +

Düzenli ifade bölümleri kullanarak çeşitli türlerdeki resim dosyalarına + erişimi bir defada yasaklayabiliriz:

+ +
<FilesMatch "\.(?i:gif|jpe?g|png)$">
+    Require all denied
+</FilesMatch>
+ + +

İsimli gruplar ve geriye başvurular içeren düzenli + ifadeler ortama eklenirken ilgili isimler büyük harfli yapılır. Böylece, + URL'lere ve dosya yolları elemanlarına ifadelerin + içinden ve mod_rewrite gibi modüllerden başvurmak + mümkün olur.

+ +
<DirectoryMatch "^/var/www/combined/(?<SITENAME>[^/]+)">
+    Require ldap-group "cn=%{env:MATCH_SITENAME},ou=combined,o=Example"
+</DirectoryMatch>
+ + + +

Mantıksal İfadeler

+

<If> yönergesi bir + mantıksal ifade olarak belirtilebilen bir kurala bağlı olarak + yapılandırmayı değiştirebilir. Örneğin, aşağıdaki yapılandırmada, + HTTP Referer başlığı "http://www.example.com/" ile + başlamıyorsa erişimi yasaklar.

+ +
<If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
+    Require all denied
+</If>
+ + + +

Ne, Ne Zaman Kullanılır?

+

Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında seçim + yapmak aslında oldukça kolaydır. Dosya sisteminde bulunan nesnelere + uygulanacak yönergeler için daima <Directory> veya <Files> kullanılır. Dosya sisteminde bulunmayan nesnelere + (bir sayfanın bir veritabanı tarafından üretilmesi gibi) uygulanacak + yönergeler için ise <Location> kullanılır.

+ +

Dosya sistemindeki nesnelere erişimi kısıtlarken asla + <Location> + kullanmamak önemlidir. Bunun sebebi farklı site alanı konumlarının + (URL’ler) aynı dosya sistemi konumuna eşlenebilmesi dolayısıyla + kısıtlamalarınızın etrafından dolaşılabilmesine izin vermesidir. + Örneğin, aşağıdaki yapılandırmayı ele alalım:

+ +
<Location "/dir/">
+    Require all denied
+</Location>
+ + +

http://siteniz.mesela.dom/dir/ için bir istek yapılmışsa + bu doğru çalışacaktır. Fakat dosya sistemi harf büyüklüğüne duyarsızsa + ne olacak? Kısıtlamanız, istek + http://siteniz.mesela.dom/DIR/ + şeklinde yapılarak kolayca geçersiz kılınabilir. Halbuki <Directory> yönergesi isteğin + nasıl yapıldığına bakılmaksızın bu konumdan sunulan her türlü içeriğe + uygulanacaktı. (Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik + bağlar kullanılarak aynı dizin dosya sisteminin bir çok yerine + yerleştirilebilir. <Directory> yönergesi dosya yolunu sıfırlamaksızın sembolik + bağları izleyecektir. Bu bakımdan, en yüksek seviyede güvenlik için uygun + Options yönergesi ile sembolik + bağların izlenmesi devredışı bırakılabilir.)

+ +

Belki de siz sırf harf büyüklüğüne duyarlı bir dosya sistemi + kullanıyorsunuz diye böyle uygulamalara ihtiyacınız olmadığını düşünüyor + olabilirsiniz, fakat aynı site alanını çok sayıda dosya sistemi konumuna + eşleyecek daha bir sürü yol bulunduğunu unutmayınız. Bu bakımdan dosya + sisteminde yapacağınız kısıtlamalarda daima dosya sistemi taşıyıcılarını + kullanmalısınız. Bununla birlikte bu kuralın da bir istisnası vardır. + Yapılandırma kısıtlamalarının bir <Location "/"> bölümü + içine koyulması, bu bölüme konan yönergelerin etki alanının belli bir URL + ile sınırlı olmaması nedeniyle mükemmelen güvenlidir.

+ + +

Bölüm iç içeliği

+

Bazı bölüm türleri başka bölüm türlerinin içinde olabilir. Bir yandan, + <Files> bölümü + <Directory> bölümünün + içinde bulunabilirken diğer yandan bir <If> bölümü <Directory>, <Location> ve <Files> bölümlerinde bulunabilir fakat + başka bir <If> bölümünün + içinde bulunamaz. Bu bölümlerin düzenli ifadeli türevleri de benzer tarzda + davranır.

+ +

İç içe bölümler, aynı türdeki iç içe olmayan bölümlerin sonrasına + yerleştirilir.

+ + +
top
+
+

Sanal Konaklar

+ +

<VirtualHost> + taşıyıcısının içinde belli bir konağa uygulanan yönergeler bulunur. + Aynı makinede çok sayıda konağı farklı yapılandırmalarla sunuyorsanız + bu taşıyıcı çok işinize yarar. Daha fazla bilgi için + Sanal Konak Belgeleri bölümüne bakınız.

+
top
+
+

Vekil

+

<Proxy> + ve <ProxyMatch> + taşıyıcıları, sadece belli bir URL ile eşleşen mod_proxy + vekil sunucusu üzerinden erişilen sitelere uygulanan yapılandırma + yönergelerini bulundururlar. Örneğin aşağıdaki yapılandırma + example.com sitesine erişim için vekil sunucunun + sadece ağdaki bazı kullanıcılar tarafından kullanılabilmesini sağlayacaktır.

+ +
<Proxy "http://www.example.com/*">
+    Require host bizimki.example.com
+</Proxy>
+ +
top
+
+

Hangi Yönergelere İzin Veriliyor?

+

Hangi yönergelere hangi yapılandırma bölümlerinde izin verildiğini + öğrenmek için yönerge bağlamına bakınız. <Directory> bölümlerinde + izin verilen herşeye sözdizimsel olarak ayrıca + <DirectoryMatch>, + <Files>, + <FilesMatch>, + <Location>, + <LocationMatch>, + <Proxy> + ve <ProxyMatch> + bölümlerinde de izin verilir. Yine de bazı istisnai durumlar + mevcuttur:

+ +
    +
  • AllowOverride yönergesi sadece + <Directory> + bölümlerinde çalışır.
  • + +
  • Options yönergesinin + FollowSymLinks ve SymLinksIfOwnerMatch + seçenekleri sadece <Directory> bölümlerinde veya .htaccess + dosyalarında çalışır.
  • + +
  • Options yönergesi + <Files> ve + <FilesMatch> + bölümlerinde kullanılamaz.
  • +
+
top
+
+

Bölümler Nasıl Katıştırılır?

+ +

Yapılandırma bölümleri belli bir sıra ile uygulanır. Yapılandırma + yönergelerinin yorumlanışı üzerinde önemli etkilere sahip olabilmesi + nedeniyle neyin ne zaman çalıştığını anlamak çok önemlidir.

+ +

Yapılandırma bölümlerinin katıştırılma sırası şöyledir:

+ +
    +
  1. <Directory> (düzenli ifadeler hariç) + ve .htaccess aynı anda işleme sokulur + (.htaccess ile eğer izin verilmişse <Directory> içindeki bazı + yönergeler geçersiz kılınabileceği için).
  2. + +
  3. <DirectoryMatch> + (ve <Directory "~">).
  4. + +
  5. <Files> ve + <FilesMatch> aynı anda + işleme sokulur.
  6. + +
  7. <Location> + ve <LocationMatch> + aynı anda işleme sokulur.
  8. + +
  9. <If> +
  10. +
+ +

Bazı önemli durumlar:

+
    +
  • <Directory> + bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları + sıraya göre iÅŸleme sokulurlar. ÖrneÄŸin, 4. grupta /foo/bar için yapılan + bir istek <Location "/foo/bar"> ve <Location + "/foo"> bölümleriyle de eÅŸleÅŸir ve bunlar yapılandırma + dosyalarında bulundukları sıraya göre deÄŸerlendirilir.
  • + +
  • Yukarıda 1. grup olan <Directory> bölümü en kısa dizin elemanından en uzun + dizin elemanına doÄŸru iÅŸleme sokulur. Yani, örneÄŸin, <Directory + "/var/web/dir"> bölümü <Directory + "/var/web/dir/subdir"> bölümünden önce iÅŸleme sokulacaktır.
  • + +
  • EÄŸer aynı dizin için birden fazla <Directory> bölümü varsa bunlar yapılandırma + dosyasında bulundukları sıraya göre iÅŸleme sokulurlar.
  • + +
  • Include yönergeleri ile + yapılandırmaya dahil edilen dosyaların içerikleri Include yönergesinin bulunduÄŸu yere konulduktan + sonra iÅŸleme sokulurlar.
  • + +
  • <VirtualHost> + bölümlerinin içindeki bölümler, sanal konak tanımı dışındaki + karşılıklarından sonra uygulanırlar. Bu yöntemle ana sunucu + yapılandırmasındaki tanımlar geçersiz kılınabilir
  • + +
  • Ä°stek mod_proxy tarafından sunulduÄŸu takdirde, + <Proxy> taşıyıcısı + iÅŸlem sırasında <Directory> taşıyıcısının yerini alır.
  • +
+ +

Bazı Teknik Bilgiler

+ Aslında, isim dönüşüm aşamasından (Aliases ve + DocumentRoots, URL’leri dosya isimlerine eşlemek için + kullanılırken) hemen önce uygulanan bir + <Location>/<LocationMatch> dizisi + vardır. Bu dizinin sonuçları isim dönüşüm aşaması tamamlandıktan sonra + tamamen elden çıkarılır. +
+ +

Modüllerle + yapılandırma bölümleri arasındaki ilişki

+ +

Yapılandırma bölümlerini okurken örneğin mod_rewrite + gibi belli modüllerin yönergelerinin bu bölümlere nasıl katılacağı ve + ne zaman nasıl işleneceği gibi sorular sıkça aklımızdan geçer. Bunun + belli bir yanıtı yoktur ve biraz temel bilgi gerektirir. Her httpd + modülü yapılandırmasını kendi yönetir ve httpd.conf içindeki + yönergelerinin her biri belli bir bağlamdaki bir yapılandırmayı + belirtir. httpd bir komutu okunduğu sırada çalıştırmaz.

+ +

Çalışma anında, httpd çekirdeği geçerli isteğe hangilerinin + uygulanacağını belirlemek için yukarıda açıklanan sırada tanımlı + yapılandırma bölümlerini tekrar tekrar okur. Eşleşen ilk bölümün bu + istek için geçerli yapılandırmayı içerdiği varsayılır. Eğer alt + bölümlerden biri de eşleşmişse bu bölümlerde yönergeleri bulunan her + modüle yapılandırmasını iki bölüm arasında katıştırma şansı verilir. + Sonuç üçüncü bir yapılandırma olup işlem bütün yapılandırma bölümleri + değerlendirilene kadar sürer.

+ +

Yukarıdaki adımların ardından HTTP isteğiyle ilgili "asıl" işlem + başlar: her modül ondan istenen görevleri gerçekleştirme şansına sahip + olur. Nasıl davranacaklarını belirlemek için kendilerinin katıştırılmış + son yapılandırmalarını http çekirdeğinden alabilirler.

+ +

Sürecin tamamı bir örnekle görselleştirilebilir. Aşağıdaki örnekte + belli bir HTTP başlığını ayarlamak için mod_headers + modülünün Header yönergesi + kullanılmıştır. /example/index.html isteği için httpd + CustomHeaderName başlığına hangi değeri atayacaktır? +

+
<Directory "/">
+    Header set CustomHeaderName bir
+    <FilesMatch ".*">
+        Header set CustomHeaderName yedi
+    </FilesMatch>
+</Directory>
+
+<Directory "/example">
+    Header set CustomHeaderName iki
+</Directory>
+ +
    +
  • Directory "/" eÅŸleÅŸir ve ilk yapılandırma + olarak CustomHeaderName baÅŸlığı bir + deÄŸeriyle oluÅŸturulur.
  • + +
  • Directory "/example" eÅŸleÅŸir ve + mod_headers modülünün koduna göre bir katıştırma + durumundan yeni deÄŸer eskiyi geçersiz kılacağından yeni bir + yapılandırma ile CustomHeaderName baÅŸlığının deÄŸeri + iki yapılır.
  • + +
  • FilesMatch ".*" eÅŸleÅŸir ve baÅŸka bir + katıştırma fırsatı doÄŸar: CustomHeaderName baÅŸlığının + deÄŸeri yedi yapılır.
  • + +
  • Neticede HHP isteÄŸinin sonraki adımlarında + mod_headers çaÄŸrılıp yedi deÄŸeri + atanmış CustomHeaderName baÅŸlığını iÅŸleme sokması + istenecektir. mod_headers normalde iÅŸini yapmak + için bu yapılandırmayı kullanacaktır. Fakat bundan, bir yönergenin + gerekli olmaması veya kullanımdan kaldırılması ve benzeri nedenlerle + yapılandırmada iptal edilmesi gibi daha karmaşık bir eylemi bir + modülün gerçekleÅŸtiremeyeceÄŸi anlamı çıkarılmamalıdır.
  • +
+ +

Directory ile aynı katıştırma sırasından dolayı + bu durum .htaccess için de geçerlidir. Burada anlaşılması gereken husus, + Directory ve FilesMatch + gibi yapılandırma bölümlerinin Header veya RewriteRule gibi modüle özgü + yönergelerle karşılaştırılmamasıdır, çünkü bunlar farklı seviyelerde + işlem görür. +

+ + +

Bazı Örnekler

+ +

Aşağıdaki yapay örnekte katıştırma sırası gösterilmiştir. Hepsinin aynı + isteğe uygulandığı varsayımıyla, bu örnekteki yönergeler A > B > C + > D > E sırasıyla uygulanacaktır.

+ +
<Location "/">
+    E
+</Location>
+
+<Files "f.html">
+    D
+</Files>
+
+<VirtualHost *>
+    <Directory "/a/b">
+        B
+    </Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+    C
+</DirectoryMatch>
+
+<Directory "/a/b">
+    A
+</Directory>
+ + +

Daha somut bir örnek olarak aşağıdakini ele alalım. + <Directory> + bölümlerindeki erişim sınırlamaları ne olursa olsun <Location> bölümü son olarak + değerlendirmeye alınacak ve sunucuya sınırsız erişim verecektir. + Başka bir deyişle, katıştırma sırası önemlidir, bu nedenle dikkatli + olmalısınız!

+ +
<Location "/">
+    Require all granted
+</Location>
+
+# Alooo!  Bu <Directory> bölümünün hiçbir hükmü yok.
+<Directory "/">
+    <RequireAll>
+        Require all granted
+        Require not host kkadam.example.com
+    </RequireAll>
+</Directory>
+ + + + +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/server-wide.html b/docs/manual/server-wide.html new file mode 100644 index 0000000..69175bd --- /dev/null +++ b/docs/manual/server-wide.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: server-wide.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: server-wide.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: server-wide.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: server-wide.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: server-wide.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/server-wide.html.en b/docs/manual/server-wide.html.en new file mode 100644 index 0000000..fee285b --- /dev/null +++ b/docs/manual/server-wide.html.en @@ -0,0 +1,142 @@ + + + + + +Server-Wide Configuration - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Server-Wide Configuration

+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

This document explains some of the directives provided by +the core server which are used to configure +the basic operations of the server.

+
+ +
top
+
+

Server Identification

+ + + + +

The ServerAdmin and + ServerTokens directives + control what information about the server will be presented + in server-generated documents such as error messages. The + ServerTokens directive + sets the value of the Server HTTP response header field.

+ +

The ServerName, + UseCanonicalName and + UseCanonicalPhysicalPort + directives are used by the server to determine how to construct + self-referential URLs. For example, when a client requests a + directory, but does not include the trailing slash in the + directory name, httpd must redirect the client to the full + name including the trailing slash so that the client will + correctly resolve relative references in the document.

+
top
+
+

File Locations

+ + + + +

These directives control the locations of the various files + that httpd needs for proper operation. When the pathname used + does not begin with a slash (/), the files are located relative + to the ServerRoot. Be careful + about locating files in paths which are writable by non-root users. + See the security tips + documentation for more details.

+
top
+
+

Limiting Resource Usage

+ + + + +

The LimitRequest* + directives are used to place limits on the amount of resources + httpd will use in reading requests from clients. By limiting + these values, some kinds of denial of service attacks can be + mitigated.

+ +

The RLimit* directives + are used to limit the amount of resources which can be used by + processes forked off from the httpd children. In particular, + this will control resources used by CGI scripts and SSI exec + commands.

+ +

The ThreadStackSize + directive is used with some platforms to control the stack size.

+
top
+
+

Implementation Choices

+ + + + +

The Mutex directive can be used to change + the underlying implementation used for mutexes, in order to relieve + functional or performance problems with APR's + default choice.

+
+
+

Available Languages:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/server-wide.html.fr.utf8 b/docs/manual/server-wide.html.fr.utf8 new file mode 100644 index 0000000..585f8ec --- /dev/null +++ b/docs/manual/server-wide.html.fr.utf8 @@ -0,0 +1,144 @@ + + + + + +Configuration à l'échelle du serveur - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Configuration à l'échelle du serveur

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Ce document explique le fonctionnement de certaines directives du serveur +de base qui sont utilisées pour configurer les opérations élémentaires du +serveur.

+
+ +
top
+
+

Identification du serveur

+ + + + +

Les directives ServerAdmin et + ServerTokens contrôlent la nature des + informations à propos du serveur qui seront affichées dans les documents + générés par le serveur comme les messages d'erreur. La directive + ServerTokens définit la valeur du + champ d'en-tête de la réponse du serveur HTTP.

+ +

Le serveur utilise les directives + ServerName, + UseCanonicalName et + UseCanonicalPhysicalPort pour + déterminer la manière de construire des URLs vers ses propres ressources. + Par exemple, quand un client émet une requête vers un répertoire, mais + n'ajoute pas le slash final au nom du répertoire, httpd doit rediriger le + client vers le nom complet incluant le slash final afin que le client + puisse résoudre correctement les références relatives présentes dans + le document.

+
top
+
+

Localisation des fichiers

+ + + + +

Ces directives contrôlent la localisation des différents fichiers + nécessaires au bon fonctionnement de httpd. Quand le chemin utilisé ne + commence pas par un slash (/), la localisation des fichiers est relative + à la valeur de la directive + ServerRoot. Soyez prudent avec la + localisation de fichiers dans des répertoires où les utilisateurs non root + ont les droits en écriture. Voir la documention sur les + Conseils à propos + de la sécurité pour plus de détails.

+
top
+
+

Limitation de l'utilisation des ressources

+ + + + +

Les directives LimitRequest* permettent de + limiter la quantité de ressources consommées par httpd pour le traitement + des requêtes des clients. Cette limitation permet de minimiser les effets + de certains types d'attaques par déni de service.

+ +

Les directives RLimit* permettent de limiter la + quantité de ressources utilisable par les processus initiés (forked) par + les processus enfants httpd. Elles permettent en particulier de contrôler + les ressources utilisées par les scripts CGI et les commandes exec des + "Inclusions côté serveur" (Server Side Includes ou SSI).

+ +

La directive ThreadStackSize + permet sur certaines plates-formes de contrôler la taille de la pile.

+
top
+
+

Choix d'implémentation

+ + + + +

La directive Mutex permet de modifier + l'implémentation sous-jacente des mutex, afin de résoudre les + problèmes de fonctionnement ou de performance dus au choix par + défaut d'APR.

+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/server-wide.html.ja.utf8 b/docs/manual/server-wide.html.ja.utf8 new file mode 100644 index 0000000..a581e64 --- /dev/null +++ b/docs/manual/server-wide.html.ja.utf8 @@ -0,0 +1,134 @@ + + + + + +サーãƒå…¨ä½“ã®è¨­å®š - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

サーãƒå…¨ä½“ã®è¨­å®š

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ã“ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§ã¯core +サーãƒã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ä¸­ã§ã€ +基本動作を設定ã™ã‚‹ãŸã‚ã®ã‚‚ã®ã‚’説明ã—ã¾ã™ã€‚

+
+ +
top
+
+

サームID

+ + + + +

ServerAdmin ディレクティブ㨠+ ServerTokens + ディレクティブã¯ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãªã©ã®ã‚µãƒ¼ãƒãŒä½œã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ã€ + ã©ã®ã‚ˆã†ãªã‚µãƒ¼ãƒã®æƒ…報を表示ã™ã‚‹ã‹ã‚’制御ã—ã¾ã™ã€‚ + ServerTokens ディレクティブã¯ã€Server HTTP + レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ã‚’設定ã—ã¾ã™ã€‚

+ +

ServerName, + UseCanonicalName, + UseCanonicalPhysicalPort + ディレクティブã¯ã€ã‚µãƒ¼ãƒãŒè‡ªåˆ†è‡ªèº«ã‚’å‚ç…§ã™ã‚‹ URL + を作るã¨ãã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + ãŸã¨ãˆã°ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’è¦æ±‚ã—ã¦ã€ + ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã®æœ€å¾Œã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒä»˜ã„ã¦ã„ãªã„よã†ãªå ´åˆã«ã¯ã€ + ドキュメントã®ç›¸å¯¾çš„ãªå‚照を正ã—ã解決ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«ã€ + Apache ã¯æœ€å¾Œã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’å«ã‚“ã å®Œå…¨ãªãƒ‘スã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚’ + リダイレクトã•ã›ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+
top
+
+

ファイルã®ä½ç½®

+ + + + +

ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache + ãŒé©åˆ‡ãªå‹•ä½œã‚’ã™ã‚‹ãŸã‚ã«å¿…è¦ãªå„種ファイルã®ä½ç½®ã‚’制御ã—ã¾ã™ã€‚ + パスãŒã‚¹ãƒ©ãƒƒã‚·ãƒ¥ (/) ã§å§‹ã¾ã£ã¦ã„ãªã„ã¨ãã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã¯ + ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—㦠+ 探ã•ã‚Œã¾ã™ã€‚root + 以外ã®ãƒ¦ãƒ¼ã‚¶ãŒæ›¸ãè¾¼ã¿å¯èƒ½ãªãƒ‘スã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ç½®ãå ´åˆã¯æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚ + 詳細ã¯ã€Œã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£æƒ…報〠+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+
top
+
+

リソースã®åˆ¶é™

+ + + + +

LimitRequest* ディレクティブ㯠Apache + ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆèª­ã¿è¾¼ã¿ã§ä½¿ã† + リソースを制é™ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ã“れらã®å€¤ã‚’制é™ã™ã‚‹ã“ã¨ã§ã€ + ã„ãã¤ã‹ã®ã‚µãƒ¼ãƒ“ス拒å¦æ”»æ’ƒã¯å½±éŸ¿ã‚’和らã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ +

RLimit* ディレクティブã¯ã€Apache ã®å­ãƒ—ロセスã‹ã‚‰ + fork ã•ã‚ŒãŸãƒ—ロセスãŒä½¿ç”¨ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚’制é™ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + 特ã«ã€ã“れ㯠CGI スクリプト㨠SSI exec + コマンドã§ä½¿ã‚れるリソースを制御ã—ã¾ã™ã€‚

+ +

ThreadStackSize 㯠Netware + ã§ã®ã¿ã€ã‚¹ã‚¿ãƒƒã‚¯ã®å¤§ãã•ã‚’制御ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/server-wide.html.ko.euc-kr b/docs/manual/server-wide.html.ko.euc-kr new file mode 100644 index 0000000..370e65b --- /dev/null +++ b/docs/manual/server-wide.html.ko.euc-kr @@ -0,0 +1,125 @@ + + + + + +¼­¹ö Àü¿ª ¼³Á¤ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

¼­¹ö Àü¿ª ¼³Á¤

+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â core ¼­¹ö°¡ ¼­¹öÀÇ ±âº» ÇൿÀ» +¼³Á¤ÇϱâÀ§ÇØ Á¦°øÇÏ´Â Áö½Ã¾îÁß ÀϺθ¦ ¼³¸íÇÑ´Ù.

+
+ +
top
+
+

¼­¹ö ½Äº°

+ + + + +

ServerAdmin°ú + ServerTokens Áö½Ã¾î´Â + ¿À·ù¹® µî ¼­¹ö°¡ »ý¼ºÇÏ´Â ¹®¼­¿¡ ³ª¿Ã ¼­¹ö¿¡ ´ëÇÑ Á¤º¸¸¦ + ¼³Á¤ÇÑ´Ù. ServerTokens + Áö½Ã¾î´Â ¼­¹ö HTTP ÀÀ´ä Çì´õ¸¦ ¼³Á¤ÇÑ´Ù.

+ +

¼­¹ö´Â ServerName°ú + UseCanonicalName + Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ÀÚ±âÂüÁ¶ URLÀ» ¸¸µç´Ù. ¿¹¸¦ µé¾î, + Ŭ¶óÀ̾ðÆ®°¡ µð·ºÅ丮¸¦ ¿äûÇßÁö¸¸ µð·ºÅ丮¸í µÚ¿¡ ½½·¡½¬¸¦ + ºÙÀÌÁö¾ÊÀº °æ¿ì ¾ÆÆÄÄ¡´Â µÚ¿¡ ½½·¡½¬¸¦ ºÙÀÎ Àüü À̸§À» + Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·ºÆ®ÇÏ¿©, Ŭ¶óÀ̾ðÆ®°¡ ¹®¼­ÀÇ »ó´ëÂüÁ¶¸¦ + ¿Ã¹Ù·Î ã°Ô ÇÑ´Ù.

+
top
+
+

ÆÄÀÏ À§Ä¡

+ + + + +

ÀÌ Áö½Ã¾îµéÀº ¾ÆÆÄÄ¡°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâÀ§ÇØ ÇÊ¿äÇÑ + ¿©·¯ ÆÄÀϵéÀÇ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù. °æ·Î¸íÀÌ ½½·¡½¬(/)·Î ½ÃÀÛÇÏÁö + ¾ÊÀ¸¸é, ServerRoot¿¡ + »ó´ëÀûÀÎ ÆÄÀÏÀ» ã´Â´Ù. root°¡ ¾Æ´Ñ »ç¿ëÀÚ¿¡°Ô ¾²±â±ÇÇÑÀÌ + ÀÖ´Â °æ·Î¿¡ ÆÄÀÏÀ» µÎÁö¾Êµµ·Ï Á¶½ÉÇضó. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â + º¸¾È ÆÁ + ¹®¼­¸¦ Âü°íÇ϶ó.

+
top
+
+

ÀÚ¿ø»ç¿ë Á¦ÇÑ

+ + + + +

LimitRequest* Áö½Ã¾î´Â ¾ÆÆÄÄ¡°¡ + Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ÀÐÀ» ¶§ »ç¿ëÇÒ ÀÚ¿ø·®À» Á¦ÇÑÇÑ´Ù. ÀÌ·± + °ªµéÀ» Á¦ÇÑÇÏ¿© ¼­ºñ½º°ÅºÎ(denial of service)·ù °ø°ÝÀ» + ÁÙÀÏ ¼ö ÀÖ´Ù.

+ +

RLimit* Áö½Ã¾î´Â ¾ÆÆÄÄ¡ ÀÚ½ÄÀÌ + »ý¼ºÇÏ´Â ÇÁ·Î¼¼½º°¡ »ç¿ëÇÒ ÀÚ¿ø·®À» Á¦ÇÑÇÑ´Ù. ƯÈ÷ CGI + ½ºÅ©¸³Æ®³ª SSI exec ¸í·É¾î°¡ »ç¿ëÇÒ ÀÚ¿øÀ» Á¦ÇÑÇÑ´Ù.

+ +

ThreadStackSize + Áö½Ã¾î´Â ½ºÅà ũ±â¸¦ Á¶ÀýÇϱâÀ§ÇØ Netware¿¡¼­¸¸ »ç¿ëÇÑ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/server-wide.html.tr.utf8 b/docs/manual/server-wide.html.tr.utf8 new file mode 100644 index 0000000..76f4d61 --- /dev/null +++ b/docs/manual/server-wide.html.tr.utf8 @@ -0,0 +1,140 @@ + + + + + +Sunucu Genelinde Yapılandırma - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Sunucu Genelinde Yapılandırma

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu belgede core modülü ile sağlanan ve sunucunun temel + işlemlerini yapılandırmakta kullanılan yönergelerden bazıları + açıklanmıştır.

+
+ +
top
+
+

Sunucu KimliÄŸi

+ + + + +

ServerAdmin ve ServerTokens yönergeleri, hata iletileri gibi + sunucu tarafından üretilen belgelerde sunucu ile ilgili hangi bilgilerin + sunulacağını belirlerler. ServerTokens yönergesi sunucunun HTTP yanıt başlığı + alanının değerini belirler.

+ +

ServerName, + UseCanonicalName ve + UseCanonicalPhysicalPort + yönergeleri, sunucu tarafından, özüne yönelik URL’leri nasıl + oluşturacağını saptamak için kullanılır. Örneğin bir istemci bir dizin + isteğinde bulunurken URL’nin sonuna bölü çizgisi eklemese bile + Apache httpd’nin istemciyi bölü çizgisi ile bitirilmiş URL yoluna + yönlendirmesi gerekir; böylece istemci belge içindeki göreli + bağlantıları doğru şekilde çözümleyebilir.

+
top
+
+

Dosyaların Yerleri

+ + + + +

Bu yönergeler Apache httpd’nin doğru işlem yapması için gereksinim + duyduğu çeşitli dosyaların yerlerini belirlerler. Bölü çizgisi (/) ile + başlamayan dosya yolları kullanıldığında bu dosyaların yerlerinin + ServerRoot yönergesinde belirtilen + dizine göre belirtildiği varsayılır; root olmayan kullanıcılar + tarafından yazılabilen dosya yollarına dosya yerleştirmemeye dikkat + ediniz. Bu konuda daha ayrıntılı bilgi edinmek için güvenlik ipuçları + belgesine bakınız.

+
top
+
+

Özkaynak Kullanımının Sınırlanması

+ + + + +

LimitRequest* yönergeleri, Apache httpd’nin istemcilerden + gelen istekleri okumak için kullanacağı özkaynakların miktarları ile + ilgili sınırlamalar koymak için kullanılırlar. Bu değerleri sınırlamak + suretiyle bazı hizmet reddi saldırılarının etkileri azaltılabilir.

+ +

RLimit* yönergeleri ise Apache httpd’nin çocuk süreçleri + tarafından çatallanabilen özkaynakların miktarlarını sınırlamakta + kullanılırlar. Özellikle de CGI betikleri ve SSI çalıştırma komutları + tarafından kullanılan özkaynakları denetlemekte kullanılırlar.

+ +

ThreadStackSize yönergesi + bazı platformlarda yığıt boyutunu denetim altında tutmak için + kullanılır.

+
top
+
+

Gerçeklenimle ilgili Seçimler

+ + + + +

Mutex yönergesi, APR'nin + öntanımlı seçimi ile ilgili işlevsel ve başarımsal sorunlarına çare + bulmada ilgili gerçeklenimi mutex'ler için değiştirmekte + kullanılabilir.

+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html b/docs/manual/sitemap.html new file mode 100644 index 0000000..cd9a74d --- /dev/null +++ b/docs/manual/sitemap.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: sitemap.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: sitemap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: sitemap.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: sitemap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: sitemap.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: sitemap.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: sitemap.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: sitemap.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/sitemap.html.de b/docs/manual/sitemap.html.de new file mode 100644 index 0000000..cfbbf05 --- /dev/null +++ b/docs/manual/sitemap.html.de @@ -0,0 +1,377 @@ + + + + + +Seitenindex - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

Seitenindex

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Diese Seite verzeichnet die zur Zeit verfügbaren Dokumente der +Dokumentation zum Apache HTTP Server Version +2.4.

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

Apache-Module

+ +
top
+
top
+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html.en b/docs/manual/sitemap.html.en new file mode 100644 index 0000000..f30abd3 --- /dev/null +++ b/docs/manual/sitemap.html.en @@ -0,0 +1,376 @@ + + + + + +Sitemap - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

Sitemap

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

This page lists the currently available documents of the +Apache HTTP Server Version 2.4 +Documentation.

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

Apache modules

+ +
top
+
top
+
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html.es b/docs/manual/sitemap.html.es new file mode 100644 index 0000000..b3f0cf9 --- /dev/null +++ b/docs/manual/sitemap.html.es @@ -0,0 +1,353 @@ + + + + + +Mapa de este sitio web - Servidor HTTP Apache Versión 2.4 + + + + + + + + +
<-
+ +

Mapa de este sitio web

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ +

Esta página contiene la lista con los documentos actualmente +disponibles de la Versión 2.4 de la +Documentación del Servidor HTTP Apache.

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

Módulos de Apache

+ +
top
+
top
+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html.fr.utf8 b/docs/manual/sitemap.html.fr.utf8 new file mode 100644 index 0000000..fd3fd89 --- /dev/null +++ b/docs/manual/sitemap.html.fr.utf8 @@ -0,0 +1,399 @@ + + + + + +Plan du site - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +

Plan du site

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Cette page contient la liste des éléments actuellement disponibles de +la Documentation du serveur HTTP Apache Version +2.4.

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

Modules Apache

+ +
top
+
top
+
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html.ja.utf8 b/docs/manual/sitemap.html.ja.utf8 new file mode 100644 index 0000000..77b2fee --- /dev/null +++ b/docs/manual/sitemap.html.ja.utf8 @@ -0,0 +1,353 @@ + + + + + +Site Map - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + + +
<-
+ +

Site Map

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +

ã“ã®ãƒšãƒ¼ã‚¸ã¯ç¾æ™‚点ã§åˆ©ç”¨å¯èƒ½ãª +Apache HTTP サーãƒãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ +ã®ä¸€è¦§ã§ã™ã€‚

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

Apache モジュール

+ +
top
+
top
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html.ko.euc-kr b/docs/manual/sitemap.html.ko.euc-kr new file mode 100644 index 0000000..42045a7 --- /dev/null +++ b/docs/manual/sitemap.html.ko.euc-kr @@ -0,0 +1,351 @@ + + + + + +»çÀÌÆ®¸Ê - Apache HTTP Server Version 2.4 + + + + + + + + +
<-
+ +

»çÀÌÆ®¸Ê

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ÆäÀÌÁö´Â ÇöÀç +Apache HTTP Server Version 2.4 ¹®¼­ ¸ñ·ÏÀ» +º¸¿©ÁØ´Ù.

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

¾ÆÆÄÄ¡ ¸ðµâ

+ +
top
+
top
+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html.tr.utf8 b/docs/manual/sitemap.html.tr.utf8 new file mode 100644 index 0000000..e131d74 --- /dev/null +++ b/docs/manual/sitemap.html.tr.utf8 @@ -0,0 +1,371 @@ + + + + + +Site Haritası - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + + +
<-
+ +

Site Haritası

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+ +

Bu sayfada Apache HTTP Sunucusu Sürüm 2.4 +Belgelerinin tamamı listelenmiştir.

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

Apache Modülleri

+ +
top
+
top
+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/sitemap.html.zh-cn.utf8 b/docs/manual/sitemap.html.zh-cn.utf8 new file mode 100644 index 0000000..5ddadfc --- /dev/null +++ b/docs/manual/sitemap.html.zh-cn.utf8 @@ -0,0 +1,351 @@ + + + + + +站点导航 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + + +
<-
+ +

站点导航

+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

本页列出了 +Apache HTTP æœåŠ¡å™¨ 2.4 +的全部文档。

+
+ +
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+
top
+

Apache 模å—

+ +
top
+
top
+
+
+

å¯ç”¨è¯­è¨€:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr  | + zh-cn 

+
top

评论

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/socache.html b/docs/manual/socache.html new file mode 100644 index 0000000..e3c1e8a --- /dev/null +++ b/docs/manual/socache.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: socache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: socache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/socache.html.en b/docs/manual/socache.html.en new file mode 100644 index 0000000..f910064 --- /dev/null +++ b/docs/manual/socache.html.en @@ -0,0 +1,148 @@ + + + + + +Shared Object Cache in Apache HTTP Server - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Shared Object Cache in Apache HTTP Server

+
+

Available Languages:  en  | + fr 

+
+ +

The Shared Object Cache provides a means to share simple data + across all a server's workers, regardless of thread + and process models. It is used where the advantages of sharing + data across processes outweigh the performance overhead of + inter-process communication.

+
+
top
+
+

Shared Object Cache Providers

+ +

The shared object cache as such is an abstraction. Five different + modules implement it. To use the cache, one or more of these modules + must be present, and configured.

+

The only configuration required is to select which cache provider + to use. This is the responsibility of modules using the cache, and + they enable selection using directives such as + CacheSocache, + AuthnCacheSOCache, + SSLSessionCache, and + SSLStaplingCache.

+

Currently available providers are:

+
+
"dbm" (mod_socache_dbm)
+
This makes use of a DBM hash file. + The choice of underlying DBM used may be configurable + if the installed APR version supports multiple DBM implementations.
+
"dc" (mod_socache_dc)
+
This makes use of the distcache + distributed session caching libraries.
+
"memcache" (mod_socache_memcache)
+
This makes use of the memcached + high-performance, distributed memory object caching system.
+
"redis" (mod_socache_redis)
+
This makes use of the Redis + high-performance, distributed memory object caching system.
+
"shmcb" (mod_socache_shmcb)
+
This makes use of a high-performance cyclic buffer inside a + shared memory segment.
+
+ +

The API provides the following functions:

+ +
+
const char *create(ap_socache_instance_t **instance, const char *arg, + apr_pool_t *tmp, apr_pool_t *p);
+
Create a session cache based on the given configuration string. + The instance pointer returned in the instance parameter will be + passed as the first argument to subsequent invocations.
+ +
apr_status_t init(ap_socache_instance_t *instance, const char *cname, + const struct ap_socache_hints *hints, + server_rec *s, apr_pool_t *pool)
+
Initialize the cache. The cname must be of maximum length 16 + characters, and uniquely identifies the consumer of the cache + within the server; using the module name is recommended, e.g. + "mod_ssl-sess". This string may be used within a filesystem + path so use of only alphanumeric [a-z0-9_-] characters is + recommended. If hints is non-NULL, it gives a set of hints for + the provider. Return APR error code.
+ +
void destroy(ap_socache_instance_t *instance, server_rec *s)
+
Destroy a given cache instance object.
+ +
apr_status_t store(ap_socache_instance_t *instance, server_rec *s, + const unsigned char *id, unsigned int idlen, + apr_time_t expiry, + unsigned char *data, unsigned int datalen, + apr_pool_t *pool)
+
Store an object in a cache instance.
+ +
apr_status_t retrieve(ap_socache_instance_t *instance, server_rec *s, + const unsigned char *id, unsigned int idlen, + unsigned char *data, unsigned int *datalen, + apr_pool_t *pool)
+
Retrieve a cached object.
+ +
apr_status_t remove(ap_socache_instance_t *instance, server_rec *s, + const unsigned char *id, unsigned int idlen, + apr_pool_t *pool)
+
Remove an object from the cache.
+ +
void status(ap_socache_instance_t *instance, request_rec *r, int flags)
+
Dump the status of a cache instance for mod_status.
+ +
apr_status_t iterate(ap_socache_instance_t *instance, server_rec *s, + void *userctx, ap_socache_iterator_t *iterator, + apr_pool_t *pool)
+
Dump all cached objects through an iterator callback.
+
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/socache.html.fr.utf8 b/docs/manual/socache.html.fr.utf8 new file mode 100644 index 0000000..941634d --- /dev/null +++ b/docs/manual/socache.html.fr.utf8 @@ -0,0 +1,152 @@ + + + + + +Le cache des objets partagés du serveur HTTP Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Le cache des objets partagés du serveur HTTP Apache

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Le cache des objets partagés est un concept de partage de données + de base entre tous les processus d'un serveur, sans se préoccuper du + modèle de threads et de processus. On + l'utilise lorsque les avantages apportés par le partage de données + entre processus contrebalance la perte de performances consécutive à + la communication interprocessus.

+
+
top
+
+

Fournisseurs du cache d'objets partagés

+ +

Le cache d'objets partagés en tant que tel est une abstraction. + Il est implémenté par cinq modules différents. Pour pouvoir + utiliser le cache, un ou plusieurs de ces modules doivent être + présents et configurés.

+

Le seul élément de configuration consiste à définir le + fournisseur de cache à utiliser. Ceci est de la responsabilité des + modules qui utilisent le cache, et pour cela, ils activent la + sélection via des directives telles que CacheSocache, AuthnCacheSOCache, SSLSessionCache, et SSLStaplingCache.

+

Les fournisseurs actuellement disponibles sont :

+
+
"dbm" (mod_socache_dbm)
+
Celui-ci utilise un fichier de hashage DBM. Le choix de la + DBM sous-jacente peut être configurable si la version + d'APR installée supporte de multiples implémentations de DBM.
+
"dc" (mod_socache_dc)
+
Celui-ci utilise les bibliothèques de mise en cache de sessions + distribuées distcache.
+
"memcache" (mod_socache_memcache)
+
Celui-ci utilise le système à hautes performances de mise en + cache d'objets de mémoire distribuée memcached.
+
"redis" (mod_socache_redis)
+
Celui-ci utilise le système de mise en cache d'objets de mémoire + distribuée à hautes performances Redis.
+
"shmcb" (mod_socache_shmcb)
+
Celui-ci utilise un tampon cyclique à hautes performances au + sein d'un segment de mémoire partagée.
+
+ +

L'API fournit les fonctions suivantes :

+ +
+
const char *create(ap_socache_instance_t **instance, const char *arg, + apr_pool_t *tmp, apr_pool_t *p);
+
Cette fonction permet de créer un cache de session basé sur + la chaîne de configuration spécifiée. Le pointeur d'instance + renvoyé dans le paramètre instance sera passé comme premier + argument des invocations subséquentes.
+ +
apr_status_t init(ap_socache_instance_t *instance, const char *cname, + const struct ap_socache_hints *hints, + server_rec *s, apr_pool_t *pool)
+
Cette fonction permet d'initialiser le cache. L'argument cname + doit avoir une longueur maximale de 16 caractères et permet + d'identifier de manière unique l'utilisateur du cache au sein du + serveur ; il est recommandé d'utiliser le nom du module, par + exemple "mod_ssl-sess". Comme cette chaîne peut être utilisée au + sein d'un système de fichiers, il est conseillé de n'utiliser que + des caractères alphanumériques [a-z0-9_-]. Si l'argument hints + n'est pas égal à NULL, il fournit un ensemble d'indications au + fournisseur. La valeur retournée est le code d'erreur APR.
+ +
void destroy(ap_socache_instance_t *instance, server_rec *s)
+
Cette fonction permet de détruire l'instance de cache + spécifiée.
+ +
apr_status_t store(ap_socache_instance_t *instance, server_rec *s, + const unsigned char *id, unsigned int idlen, + apr_time_t expiry, + unsigned char *data, unsigned int datalen, + apr_pool_t *pool)
+
Cette fonction permet de stocker un objet dans une instance de + cache.
+ +
apr_status_t retrieve(ap_socache_instance_t *instance, server_rec *s, + const unsigned char *id, unsigned int idlen, + unsigned char *data, unsigned int *datalen, + apr_pool_t *pool)
+
Cette fonction permet d'extraire un objet du cache.
+ +
apr_status_t remove(ap_socache_instance_t *instance, server_rec *s, + const unsigned char *id, unsigned int idlen, + apr_pool_t *pool)
+
Supprime un objet du cache.
+ +
void status(ap_socache_instance_t *instance, request_rec *r, int flags)
+
Renvoie le statut d'une instance de cache à destination de mod_status.
+ +
apr_status_t iterate(ap_socache_instance_t *instance, server_rec *s, + void *userctx, ap_socache_iterator_t *iterator, + apr_pool_t *pool)
+
Envoie tous les objets gardés en cache à une fonction pour traitement itératif.
+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/index.html b/docs/manual/ssl/index.html new file mode 100644 index 0000000..45c7bc7 --- /dev/null +++ b/docs/manual/ssl/index.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/ssl/index.html.en b/docs/manual/ssl/index.html.en new file mode 100644 index 0000000..50113c0 --- /dev/null +++ b/docs/manual/ssl/index.html.en @@ -0,0 +1,71 @@ + + + + + +Apache SSL/TLS Encryption - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Apache SSL/TLS Encryption

+
+

Available Languages:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ +

The Apache HTTP Server module mod_ssl +provides an interface to the OpenSSL library, which provides +Strong Encryption using the Secure Sockets Layer and Transport Layer +Security protocols.

+
+ +
top
+
top
+
+

mod_ssl

+

Extensive documentation on the directives and environment variables +provided by this module is provided in the mod_ssl reference documentation. +

+
+
+

Available Languages:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/ssl/index.html.fr.utf8 b/docs/manual/ssl/index.html.fr.utf8 new file mode 100644 index 0000000..e43563d --- /dev/null +++ b/docs/manual/ssl/index.html.fr.utf8 @@ -0,0 +1,73 @@ + + + + + +Apache et le Chiffrement SSL/TLS - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Apache et le Chiffrement SSL/TLS

+
+

Langues Disponibles:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ +

Le module mod_ssl du serveur HTTP Apache fournit une +interface avec la bibliothèque OpenSSL, qui permet d'effectuer un +chiffrement fort en s'appuyant sur les protocoles "Couche Points d'accès +Sécurisés" (Secure Sockets Layer - SSL) et "Sécurité de la Couche Transport" +(Transport Layer Security - TLS).

+
+ +
top
+
top
+
+

mod_ssl

+

La documentation complète sur les directives et les variables +d'environnement fournies par ce module se trouve dans la +documentation de référence de mod_ssl. +

+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/ssl/index.html.ja.utf8 b/docs/manual/ssl/index.html.ja.utf8 new file mode 100644 index 0000000..35b1d7d --- /dev/null +++ b/docs/manual/ssl/index.html.ja.utf8 @@ -0,0 +1,72 @@ + + + + + +Apache ã® SSL/TLS æš—å·åŒ– - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache ã® SSL/TLS æš—å·åŒ–

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ +

Apache HTTP サーãƒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« mod_ssl ㌠+OpenSSL +ライブラリã¸ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’æä¾›ã—ã¦ã„ã¾ã™ãŒã€ã“れ㯠+Secure Sockts Layer 㨠Transport Layer Security +プロトコルを用ã„ãŸå¼·åŠ›ãªæš—å·åŒ–ã‚’æä¾›ã—ã¾ã™ã€‚

+
+ +
top
+
top
+
+

mod_ssl

+

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§æä¾›ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–や環境変数ã«é–¢ã™ã‚‹ +詳ã—ã„文書ã¯ã€mod_ssl +リファレンスをã”覧下ã•ã„。

+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/ssl/index.html.tr.utf8 b/docs/manual/ssl/index.html.tr.utf8 new file mode 100644 index 0000000..1555548 --- /dev/null +++ b/docs/manual/ssl/index.html.tr.utf8 @@ -0,0 +1,71 @@ + + + + + +Apache SSL/TLS Şifrelemesi - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache SSL/TLS Åžifrelemesi

+
+

Mevcut Diller:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ +

Apache HTTP Sunucusunun mod_ssl modülü, Güvenli Soketler + Katmanı (SSL) ve Aktarım Katmanı Güvenliği (TLS) protokollerinin + kullanıldığı Sağlam Şifreleme desteğini sağlayan OpenSSL kütüphanesine bir arayüz + içerir.

+
+ +
top
+
top
+
+

mod_ssl Modülü

+

Bu modülce sağlanan yönergeler ve ortam değişkenleri + mod_ssl başvuru kılavuzunda ayrıntılı olarak + açıklanmıştır.

+
+
+

Mevcut Diller:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/ssl/index.html.zh-cn.utf8 b/docs/manual/ssl/index.html.zh-cn.utf8 new file mode 100644 index 0000000..c5bab75 --- /dev/null +++ b/docs/manual/ssl/index.html.zh-cn.utf8 @@ -0,0 +1,72 @@ + + + + + +Apache SSL/TLS 加密 - Apache HTTP æœåŠ¡å™¨ 版本 2.4 + + + + + + + +
<-
+

Apache SSL/TLS 加密

+
+

å¯ç”¨è¯­è¨€:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+
此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。
+ +

Apache HTTP æœåŠ¡å™¨æ¨¡å— mod_ssl +æ供了与 OpenSSL +的接å£ï¼Œå®ƒä½¿ç”¨å®‰å…¨å¥—接字层和传输层安全åè®®æ供了强加密。 +此模å—与这篇文档都基于 +Ralf S. Engelschall çš„ mod_ssl 项目。

+
+ +
top
+
top
+
+

mod_ssl

+

此模å—æ供的指令和环境å˜é‡çš„文档ä½äºŽ mod_ssl å‚考手册。 +

+
+
+

å¯ç”¨è¯­è¨€:  en  | + fr  | + ja  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_compat.html b/docs/manual/ssl/ssl_compat.html new file mode 100644 index 0000000..70a72cb --- /dev/null +++ b/docs/manual/ssl/ssl_compat.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ssl_compat.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: ssl_compat.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/ssl/ssl_compat.html.en b/docs/manual/ssl/ssl_compat.html.en new file mode 100644 index 0000000..fb1f45f --- /dev/null +++ b/docs/manual/ssl/ssl_compat.html.en @@ -0,0 +1,248 @@ + + + + + +SSL/TLS Strong Encryption: Compatibility - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

SSL/TLS Strong Encryption: Compatibility

+
+

Available Languages:  en  | + fr 

+
+ +

+This page covers backwards compatibility between mod_ssl and other +SSL solutions. mod_ssl is not the only SSL solution for Apache; four +additional products are (or were) also available: Ben Laurie's freely +available Apache-SSL (from +where mod_ssl were originally derived in 1998), Red Hat's commercial +Secure Web Server (which was based on mod_ssl), Covalent's commercial +Raven SSL Module (also based on +mod_ssl) and finally C2Net's (now Red Hat's) commercial product Stronghold (based +on a different evolution branch, named Sioux up to Stronghold 2.x, and +based on mod_ssl since Stronghold 3.x).

+ +

+mod_ssl mostly provides a superset of the functionality of all the other +solutions, so it's simple to migrate from one of the older modules to +mod_ssl. The configuration directives and environment variable names +used by the older SSL solutions vary from those used in mod_ssl; +mapping tables are included here to give the equivalents used by mod_ssl.

+
+ +
top
+
+

Configuration Directives

+

The mapping between configuration directives used by Apache-SSL +1.x and mod_ssl 2.0.x is given in Table +1. The mapping from Sioux 1.x and Stronghold 2.x is only partial +because of special functionality in these interfaces which mod_ssl +doesn't provide.

+ + +

Table 1: Configuration Directive Mapping

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Old Directivemod_ssl DirectiveComment
Apache-SSL 1.x & mod_ssl 2.0.x compatibility:
SSLEnableSSLEngine oncompactified
SSLDisableSSLEngine offcompactified
SSLLogFile fileUse per-module LogLevel setting instead.
SSLRequiredCiphers specSSLCipherSuite specrenamed
SSLRequireCipher c1 ...SSLRequire %{SSL_CIPHER} in {"c1", +...}generalized
SSLBanCipher c1 ...SSLRequire not (%{SSL_CIPHER} in {"c1", +...})generalized
SSLFakeBasicAuthSSLOptions +FakeBasicAuthmerged
SSLCacheServerPath dir-functionality removed
SSLCacheServerPort integer-functionality removed
Apache-SSL 1.x compatibility:
SSLExportClientCertificatesSSLOptions +ExportCertDatamerged
SSLCacheServerRunDir dir-functionality not supported
Sioux 1.x compatibility:
SSL_CertFile fileSSLCertificateFile filerenamed
SSL_KeyFile fileSSLCertificateKeyFile filerenamed
SSL_CipherSuite argSSLCipherSuite argrenamed
SSL_X509VerifyDir argSSLCACertificatePath argrenamed
SSL_Log file-Use per-module LogLevel setting instead.
SSL_Connect flagSSLEngine flagrenamed
SSL_ClientAuth argSSLVerifyClient argrenamed
SSL_X509VerifyDepth argSSLVerifyDepth argrenamed
SSL_FetchKeyPhraseFrom arg-not directly mappable; use SSLPassPhraseDialog
SSL_SessionDir dir-not directly mappable; use SSLSessionCache
SSL_Require expr-not directly mappable; use SSLRequire
SSL_CertFileType arg-functionality not supported
SSL_KeyFileType arg-functionality not supported
SSL_X509VerifyPolicy arg-functionality not supported
SSL_LogX509Attributes arg-functionality not supported
Stronghold 2.x compatibility:
StrongholdAccelerator engineSSLCryptoDevice enginerenamed
StrongholdKey dir-functionality not needed
StrongholdLicenseFile dir-functionality not needed
SSLFlag flagSSLEngine flagrenamed
SSLSessionLockFile fileSSLMutex filerenamed
SSLCipherList specSSLCipherSuite specrenamed
RequireSSLSSLRequireSSLrenamed
SSLErrorFile file-functionality not supported
SSLRoot dir-functionality not supported
SSL_CertificateLogDir dir-functionality not supported
AuthCertDir dir-functionality not supported
SSL_Group name-functionality not supported
SSLProxyMachineCertPath dirSSLProxyMachineCertificatePath dirrenamed
SSLProxyMachineCertFile fileSSLProxyMachineCertificateFile filerenamed
SSLProxyCipherList specSSLProxyCipherSpec specrenamed
+ +
top
+
+

Environment Variables

+ +

The mapping between environment variable names used by the older +SSL solutions and the names used by mod_ssl is given in Table 2.

+ +

Table 2: Environment Variable Derivation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Old Variablemod_ssl VariableComment
SSL_PROTOCOL_VERSIONSSL_PROTOCOLrenamed
SSLEAY_VERSIONSSL_VERSION_LIBRARYrenamed
HTTPS_SECRETKEYSIZESSL_CIPHER_USEKEYSIZErenamed
HTTPS_KEYSIZESSL_CIPHER_ALGKEYSIZErenamed
HTTPS_CIPHERSSL_CIPHERrenamed
HTTPS_EXPORTSSL_CIPHER_EXPORTrenamed
SSL_SERVER_KEY_SIZESSL_CIPHER_ALGKEYSIZErenamed
SSL_SERVER_CERTIFICATESSL_SERVER_CERTrenamed
SSL_SERVER_CERT_STARTSSL_SERVER_V_STARTrenamed
SSL_SERVER_CERT_ENDSSL_SERVER_V_ENDrenamed
SSL_SERVER_CERT_SERIALSSL_SERVER_M_SERIALrenamed
SSL_SERVER_SIGNATURE_ALGORITHMSSL_SERVER_A_SIGrenamed
SSL_SERVER_DNSSL_SERVER_S_DNrenamed
SSL_SERVER_CNSSL_SERVER_S_DN_CNrenamed
SSL_SERVER_EMAILSSL_SERVER_S_DN_Emailrenamed
SSL_SERVER_OSSL_SERVER_S_DN_Orenamed
SSL_SERVER_OUSSL_SERVER_S_DN_OUrenamed
SSL_SERVER_CSSL_SERVER_S_DN_Crenamed
SSL_SERVER_SPSSL_SERVER_S_DN_SPrenamed
SSL_SERVER_LSSL_SERVER_S_DN_Lrenamed
SSL_SERVER_IDNSSL_SERVER_I_DNrenamed
SSL_SERVER_ICNSSL_SERVER_I_DN_CNrenamed
SSL_SERVER_IEMAILSSL_SERVER_I_DN_Emailrenamed
SSL_SERVER_IOSSL_SERVER_I_DN_Orenamed
SSL_SERVER_IOUSSL_SERVER_I_DN_OUrenamed
SSL_SERVER_ICSSL_SERVER_I_DN_Crenamed
SSL_SERVER_ISPSSL_SERVER_I_DN_SPrenamed
SSL_SERVER_ILSSL_SERVER_I_DN_Lrenamed
SSL_CLIENT_CERTIFICATESSL_CLIENT_CERTrenamed
SSL_CLIENT_CERT_STARTSSL_CLIENT_V_STARTrenamed
SSL_CLIENT_CERT_ENDSSL_CLIENT_V_ENDrenamed
SSL_CLIENT_CERT_SERIALSSL_CLIENT_M_SERIALrenamed
SSL_CLIENT_SIGNATURE_ALGORITHMSSL_CLIENT_A_SIGrenamed
SSL_CLIENT_DNSSL_CLIENT_S_DNrenamed
SSL_CLIENT_CNSSL_CLIENT_S_DN_CNrenamed
SSL_CLIENT_EMAILSSL_CLIENT_S_DN_Emailrenamed
SSL_CLIENT_OSSL_CLIENT_S_DN_Orenamed
SSL_CLIENT_OUSSL_CLIENT_S_DN_OUrenamed
SSL_CLIENT_CSSL_CLIENT_S_DN_Crenamed
SSL_CLIENT_SPSSL_CLIENT_S_DN_SPrenamed
SSL_CLIENT_LSSL_CLIENT_S_DN_Lrenamed
SSL_CLIENT_IDNSSL_CLIENT_I_DNrenamed
SSL_CLIENT_ICNSSL_CLIENT_I_DN_CNrenamed
SSL_CLIENT_IEMAILSSL_CLIENT_I_DN_Emailrenamed
SSL_CLIENT_IOSSL_CLIENT_I_DN_Orenamed
SSL_CLIENT_IOUSSL_CLIENT_I_DN_OUrenamed
SSL_CLIENT_ICSSL_CLIENT_I_DN_Crenamed
SSL_CLIENT_ISPSSL_CLIENT_I_DN_SPrenamed
SSL_CLIENT_ILSSL_CLIENT_I_DN_Lrenamed
SSL_EXPORTSSL_CIPHER_EXPORTrenamed
SSL_KEYSIZESSL_CIPHER_ALGKEYSIZErenamed
SSL_SECKEYSIZESSL_CIPHER_USEKEYSIZErenamed
SSL_SSLEAY_VERSIONSSL_VERSION_LIBRARYrenamed
SSL_STRONG_CRYPTO-Not supported by mod_ssl
SSL_SERVER_KEY_EXP-Not supported by mod_ssl
SSL_SERVER_KEY_ALGORITHM-Not supported by mod_ssl
SSL_SERVER_KEY_SIZE-Not supported by mod_ssl
SSL_SERVER_SESSIONDIR-Not supported by mod_ssl
SSL_SERVER_CERTIFICATELOGDIR-Not supported by mod_ssl
SSL_SERVER_CERTFILE-Not supported by mod_ssl
SSL_SERVER_KEYFILE-Not supported by mod_ssl
SSL_SERVER_KEYFILETYPE-Not supported by mod_ssl
SSL_CLIENT_KEY_EXP-Not supported by mod_ssl
SSL_CLIENT_KEY_ALGORITHM-Not supported by mod_ssl
SSL_CLIENT_KEY_SIZE-Not supported by mod_ssl
+ +
top
+
+

Custom Log Functions

+

+When mod_ssl is enabled, additional functions exist for the Custom Log Format of +mod_log_config as documented in the Reference +Chapter. Beside the ``%{varname}x'' +eXtension format function which can be used to expand any variables provided +by any module, an additional Cryptography +``%{name}c'' cryptography format function +exists for backward compatibility. The currently implemented function calls +are listed in Table 3.

+ +

Table 3: Custom Log Cryptography Function

+ + + + + + + + + + + + +
Function CallDescription
%...{version}c SSL protocol version
%...{cipher}c SSL cipher
%...{subjectdn}c Client Certificate Subject Distinguished Name
%...{issuerdn}c Client Certificate Issuer Distinguished Name
%...{errcode}c Certificate Verification Error (numerical)
%...{errstr}c Certificate Verification Error (string)
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_compat.html.fr.utf8 b/docs/manual/ssl/ssl_compat.html.fr.utf8 new file mode 100644 index 0000000..ec1249c --- /dev/null +++ b/docs/manual/ssl/ssl_compat.html.fr.utf8 @@ -0,0 +1,257 @@ + + + + + +Chiffrement fort SSL/TLS : Compatibilité - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Chiffrement fort SSL/TLS : Compatibilité

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document couvre la compatibilité ascendante entre mod_ssl et +d'autres solutions SSL. mod_ssl n'est pas la seule solution SSL pour Apache ; +quatre autres produits sont (ou ont été) également disponibles : +Apache-SSL, le produit libre de +Ben Laurie (d'où mod_ssl est issu à l'origine en 1998), Secure +Web Server, un produit commercial de Red Hat (basé sur mod_ssl), +Raven SSL Module, un produit commercial +de Covalent (basé lui aussi sur mod_ssl), et enfin Stronghold, produit +commercial de C2Net et maintenant de Red Hat, (basé sur une branche +d'évolution différente appelée Sioux jusqu'à Stronghold 2.x et basé sur +mod_ssl depuis Stronghold 3.x).

+ +

En plus de ses fonctionnalités propres, mod_ssl rassemble la plupart de +celles des autres solutions SSL, si bien qu'il est très simple de +migrer depuis un module plus ancien vers mod_ssl. Les directives de +configuration et les noms des variables d'environnement utilisés par les +solutions SSL plus anciennes diffèrent de ceux qu'utilise mod_ssl ; +les tableaux de correspondance ci-dessous fournissent les équivalences +de termes utilisés par mod_ssl.

+
+ +
top
+
+

Directives de configuration

+

La correspondance entre les directives de configuration qu'utilise +Apache-SSL 1.x et mod_ssl 2.0.x est fournie dans le Tableau +1. La correspondance depuis Sioux 1.x et Stronghold 2.x n'est que +partielle car certaines fonctionnalités de ces interfaces ne sont pas +supportées par mod_ssl.

+ + +

Tableau 1: Correspondance entre les directives de configuration

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ancienne directiveDirective mod_sslCommentaires
Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x :
SSLEnableSSLEngine onplus compacte
SSLDisableSSLEngine offplus compacte
SSLLogFile +fileUtilisez plutôt la directive +de niveau module LogLevel.
SSLRequiredCiphers specSSLCipherSuite specrenommée
SSLRequireCipher c1 ...SSLRequire %{SSL_CIPHER} in {"c1", +...}plus générale
SSLBanCipher c1 ...SSLRequire not (%{SSL_CIPHER} in {"c1", +...})plus générale
SSLFakeBasicAuthSSLOptions +FakeBasicAuthrassemblées
SSLCacheServerPath dir-fonctionnalité supprimée
SSLCacheServerPort integer-fonctionnalité supprimée
Compatibilité avec Apache-SSL 1.x :
SSLExportClientCertificatesSSLOptions +ExportCertDatarassemblées
SSLCacheServerRunDir dir-fonctionnalité non supportée
Compatibilité avec Sioux 1.x :
SSL_CertFile fileSSLCertificateFile filerenommée
SSL_KeyFile fileSSLCertificateKeyFile filerenommée
SSL_CipherSuite argSSLCipherSuite argrenommée
SSL_X509VerifyDir argSSLCACertificatePath argrenommée
SSL_Log +file-Utilisez plutôt la directive +de niveau module LogLevel
SSL_Connect flagSSLEngine flagrenommée
SSL_ClientAuth argSSLVerifyClient argrenommée
SSL_X509VerifyDepth argSSLVerifyDepth argrenommée
SSL_FetchKeyPhraseFrom arg-pas de véritable équivalent ; utiliser SSLPassPhraseDialog
SSL_SessionDir dir-pas de véritable équivalent ; utiliser SSLSessionCache
SSL_Require expr-pas de véritable équivalent ; utiliser SSLRequire
SSL_CertFileType arg-fonctionnalité non supportée
SSL_KeyFileType arg-fonctionnalité non supportée
SSL_X509VerifyPolicy arg-fonctionnalité non supportée
SSL_LogX509Attributes arg-fonctionnalité non supportée
Compatibilité avec Stronghold 2.x :
StrongholdAccelerator engineSSLCryptoDevice enginerenommée
StrongholdKey dir-sans objet
StrongholdLicenseFile dir-sans objet
SSLFlag flagSSLEngine flagrenommée
SSLSessionLockFile fileSSLMutex filerenommée
SSLCipherList specSSLCipherSuite specrenommée
RequireSSLSSLRequireSSLrenommée
SSLErrorFile file-fonctionnalité non supportée
SSLRoot dir-fonctionnalité non supportée
SSL_CertificateLogDir dir-fonctionnalité non supportée
AuthCertDir dir-fonctionnalité non supportée
SSL_Group name-fonctionnalité non supportée
SSLProxyMachineCertPath dirSSLProxyMachineCertificatePath dirrenommée
SSLProxyMachineCertFile fileSSLProxyMachineCertificateFile filerenommée
SSLProxyCipherList specSSLProxyCipherSpec specrenommée
+ +
top
+
+

Variables d'environnement

+ +

La correspondance entre les noms des variables d'environnement utilisés par +les solutions SSL plus anciennes et les noms utilisés par mod_ssl est fournie +dans le Tableau 2.

+ +

Tableau 2: Dérivation des variables d'environnement

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ancienne variableVariable mod_sslCommentaires
SSL_PROTOCOL_VERSIONSSL_PROTOCOLrenommée
SSLEAY_VERSIONSSL_VERSION_LIBRARYrenommée
HTTPS_SECRETKEYSIZESSL_CIPHER_USEKEYSIZErenommée
HTTPS_KEYSIZESSL_CIPHER_ALGKEYSIZErenommée
HTTPS_CIPHERSSL_CIPHERrenommée
HTTPS_EXPORTSSL_CIPHER_EXPORTrenommée
SSL_SERVER_KEY_SIZESSL_CIPHER_ALGKEYSIZErenommée
SSL_SERVER_CERTIFICATESSL_SERVER_CERTrenommée
SSL_SERVER_CERT_STARTSSL_SERVER_V_STARTrenommée
SSL_SERVER_CERT_ENDSSL_SERVER_V_ENDrenommée
SSL_SERVER_CERT_SERIALSSL_SERVER_M_SERIALrenommée
SSL_SERVER_SIGNATURE_ALGORITHMSSL_SERVER_A_SIGrenommée
SSL_SERVER_DNSSL_SERVER_S_DNrenommée
SSL_SERVER_CNSSL_SERVER_S_DN_CNrenommée
SSL_SERVER_EMAILSSL_SERVER_S_DN_Emailrenommée
SSL_SERVER_OSSL_SERVER_S_DN_Orenommée
SSL_SERVER_OUSSL_SERVER_S_DN_OUrenommée
SSL_SERVER_CSSL_SERVER_S_DN_Crenommée
SSL_SERVER_SPSSL_SERVER_S_DN_SPrenommée
SSL_SERVER_LSSL_SERVER_S_DN_Lrenommée
SSL_SERVER_IDNSSL_SERVER_I_DNrenommée
SSL_SERVER_ICNSSL_SERVER_I_DN_CNrenommée
SSL_SERVER_IEMAILSSL_SERVER_I_DN_Emailrenommée
SSL_SERVER_IOSSL_SERVER_I_DN_Orenommée
SSL_SERVER_IOUSSL_SERVER_I_DN_OUrenommée
SSL_SERVER_ICSSL_SERVER_I_DN_Crenommée
SSL_SERVER_ISPSSL_SERVER_I_DN_SPrenommée
SSL_SERVER_ILSSL_SERVER_I_DN_Lrenommée
SSL_CLIENT_CERTIFICATESSL_CLIENT_CERTrenommée
SSL_CLIENT_CERT_STARTSSL_CLIENT_V_STARTrenommée
SSL_CLIENT_CERT_ENDSSL_CLIENT_V_ENDrenommée
SSL_CLIENT_CERT_SERIALSSL_CLIENT_M_SERIALrenommée
SSL_CLIENT_SIGNATURE_ALGORITHMSSL_CLIENT_A_SIGrenommée
SSL_CLIENT_DNSSL_CLIENT_S_DNrenommée
SSL_CLIENT_CNSSL_CLIENT_S_DN_CNrenommée
SSL_CLIENT_EMAILSSL_CLIENT_S_DN_Emailrenommée
SSL_CLIENT_OSSL_CLIENT_S_DN_Orenommée
SSL_CLIENT_OUSSL_CLIENT_S_DN_OUrenommée
SSL_CLIENT_CSSL_CLIENT_S_DN_Crenommée
SSL_CLIENT_SPSSL_CLIENT_S_DN_SPrenommée
SSL_CLIENT_LSSL_CLIENT_S_DN_Lrenommée
SSL_CLIENT_IDNSSL_CLIENT_I_DNrenommée
SSL_CLIENT_ICNSSL_CLIENT_I_DN_CNrenommée
SSL_CLIENT_IEMAILSSL_CLIENT_I_DN_Emailrenommée
SSL_CLIENT_IOSSL_CLIENT_I_DN_Orenommée
SSL_CLIENT_IOUSSL_CLIENT_I_DN_OUrenommée
SSL_CLIENT_ICSSL_CLIENT_I_DN_Crenommée
SSL_CLIENT_ISPSSL_CLIENT_I_DN_SPrenommée
SSL_CLIENT_ILSSL_CLIENT_I_DN_Lrenommée
SSL_EXPORTSSL_CIPHER_EXPORTrenommée
SSL_KEYSIZESSL_CIPHER_ALGKEYSIZErenommée
SSL_SECKEYSIZESSL_CIPHER_USEKEYSIZErenommée
SSL_SSLEAY_VERSIONSSL_VERSION_LIBRARYrenommée
SSL_STRONG_CRYPTO-Non supportée par mod_ssl
SSL_SERVER_KEY_EXP-Non supportée par mod_ssl
SSL_SERVER_KEY_ALGORITHM-Non supportée par mod_ssl
SSL_SERVER_KEY_SIZE-Non supportée par mod_ssl
SSL_SERVER_SESSIONDIR-Non supportée par mod_ssl
SSL_SERVER_CERTIFICATELOGDIR-Non supportée par mod_ssl
SSL_SERVER_CERTFILE-Non supportée par mod_ssl
SSL_SERVER_KEYFILE-Non supportée par mod_ssl
SSL_SERVER_KEYFILETYPE-Non supportée par mod_ssl
SSL_CLIENT_KEY_EXP-Non supportée par mod_ssl
SSL_CLIENT_KEY_ALGORITHM-Non supportée par mod_ssl
SSL_CLIENT_KEY_SIZE-Non supportée par mod_ssl
+ +
top
+
+

Fonctions de personnalisation des journaux

+

Quand mod_ssl est activé, le Format de journal courant +(Custom Log Format) du module mod_log_config possède +des fonctions supplémentaires comme indiqué dans le chapitre de référence. +En plus de la fonction de format étendu +``%{varname}x'' que l'on peut utiliser pour +extraire le contenu d'une variable fournie par n'importe quel module, +la fonction +de format cryptographique ``%{name}c'' a +été ajoutée à des fins de compatibilité ascendante. Les appels de fonctions +actuellement implémentés sont énumérés dans le +Tableau 3.

+ +

Table 3: Fonctions cryptographiques du format de journal courant

+ + + + + + + + + + + + +
Appel de fonctionDescription
%...{version}c Version du protocole SSL
%...{cipher}c Chiffrement SSL
%...{subjectdn}c Nom distinctif du sujet du certificat du client
%...{issuerdn}c Nom distinctif de l'émetteur du certificat du client
%...{errcode}c Erreur lors de la vérification du certificat (numérique)
%...{errstr}c Erreur lors de la vérification du certificat (chaîne de caractères)
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_faq.html b/docs/manual/ssl/ssl_faq.html new file mode 100644 index 0000000..db96c12 --- /dev/null +++ b/docs/manual/ssl/ssl_faq.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ssl_faq.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: ssl_faq.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/ssl/ssl_faq.html.en b/docs/manual/ssl/ssl_faq.html.en new file mode 100644 index 0000000..a95b4e1 --- /dev/null +++ b/docs/manual/ssl/ssl_faq.html.en @@ -0,0 +1,935 @@ + + + + + +SSL/TLS Strong Encryption: FAQ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

SSL/TLS Strong Encryption: FAQ

+
+

Available Languages:  en  | + fr 

+
+ +
+

The wise man doesn't give the right answers, +he poses the right questions.

+

-- Claude Levi-Strauss

+ +
+
+ +
top
+
+

Installation

+ + +

Why do I get permission errors related to + SSLMutex when I start Apache?

+

Errors such as ``mod_ssl: Child could not open + SSLMutex lockfile /opt/apache/logs/ssl_mutex.18332 (System error follows) + [...] System: Permission denied (errno: 13)'' are usually + caused by overly restrictive permissions on the parent directories. + Make sure that all parent directories (here /opt, + /opt/apache and /opt/apache/logs) have the x-bit + set for, at minimum, the UID under which Apache's children are running (see + the User directive).

+ + +

Why does mod_ssl stop with the error + "Failed to generate temporary 512 bit RSA private key" when I start + Apache?

+

Cryptographic software needs a source of unpredictable data + to work correctly. Many open source operating systems provide + a "randomness device" that serves this purpose (usually named + /dev/random). On other systems, applications have to + seed the OpenSSL Pseudo Random Number Generator (PRNG) manually with + appropriate data before generating keys or performing public key + encryption. As of version 0.9.5, the OpenSSL functions that need + randomness report an error if the PRNG has not been seeded with + at least 128 bits of randomness.

+

To prevent this error, mod_ssl has to provide + enough entropy to the PRNG to allow it to work correctly. This can + be done via the SSLRandomSeed + directive.

+ +
top
+
+

Configuration

+ + +

Is it possible to provide HTTP and HTTPS + from the same server?

+

Yes. HTTP and HTTPS use different server ports (HTTP binds to + port 80, HTTPS to port 443), so there is no direct conflict between + them. You can either run two separate server instances bound to + these ports, or use Apache's elegant virtual hosting facility to + create two virtual servers, both served by the same instance of Apache + - one responding over HTTP to requests on port 80, and the other + responding over HTTPS to requests on port 443.

+ + +

Which port does HTTPS use?

+

You can run HTTPS on any port, but the standards specify port 443, which + is where any HTTPS compliant browser will look by default. You can force + your browser to look on a different port by specifying it in the URL. For + example, if your server is set up to serve pages over HTTPS on port 8080, + you can access them at https://example.com:8080/

+ + +

How do I speak HTTPS manually for testing purposes?

+

While you usually just use

+ +

$ telnet localhost 80
+ GET / HTTP/1.0

+ +

for simple testing of Apache via HTTP, it's not so easy for + HTTPS because of the SSL protocol between TCP and HTTP. With the + help of OpenSSL's s_client command, however, you can + do a similar check via HTTPS:

+ +

$ openssl s_client -connect localhost:443 -state -debug
+ GET / HTTP/1.0

+ +

Before the actual HTTP response you will receive detailed + information about the SSL handshake. For a more general command + line client which directly understands both HTTP and HTTPS, can + perform GET and POST operations, can use a proxy, supports byte + ranges, etc. you should have a look at the nifty + cURL tool. Using this, you can + check that Apache is responding correctly to requests via HTTP and + HTTPS as follows:

+ +

$ curl http://localhost/
+ $ curl https://localhost/

+ + +

Why does the connection hang when I connect + to my SSL-aware Apache server?

+ +

This can happen when you try to connect to a HTTPS server (or virtual + server) via HTTP (eg, using http://example.com/ instead of + https://example.com). It can also happen when trying to + connect via HTTPS to a HTTP server (eg, using + https://example.com/ on a server which doesn't support HTTPS, + or which supports it on a non-standard port). Make sure that you're + connecting to a (virtual) server that supports SSL.

+ +

Why do I get ``Connection Refused'' messages, + when trying to access my newly installed Apache+mod_ssl server via HTTPS?

+

+ This error can be caused by an incorrect configuration. + Please make sure that your Listen directives match your + <VirtualHost> + directives. If all else fails, please start afresh, using the default + configuration provided by mod_ssl.

+ + +

Why are the SSL_XXX variables + not available to my CGI & SSI scripts?

+

Please make sure you have ``SSLOptions +StdEnvVars'' + enabled for the context of your CGI/SSI requests.

+ + +

How can I switch between HTTP and HTTPS in relative + hyperlinks?

+ +

Usually, to switch between HTTP and HTTPS, you have to use + fully-qualified hyperlinks (because you have to change the URL + scheme). Using mod_rewrite however, you can + manipulate relative hyperlinks, to achieve the same effect.

+
RewriteEngine on
+RewriteRule   "^/(.*)_SSL$"   "https://%{SERVER_NAME}/$1" [R,L]
+RewriteRule   "^/(.*)_NOSSL$" "http://%{SERVER_NAME}/$1"  [R,L]
+ + +

This rewrite ruleset lets you use hyperlinks of the form + <a href="document.html_SSL">, to switch to HTTPS + in a relative link. (Replace SSL with NOSSL to switch to HTTP.)

+ +
top
+
+

Certificates

+ + +

What are RSA Private Keys, CSRs and Certificates?

+

An RSA private key file is a digital file that you can use to decrypt + messages sent to you. It has a public component which you distribute (via + your Certificate file) which allows people to encrypt those messages to + you.

+

A Certificate Signing Request (CSR) is a digital file which contains + your public key and your name. You send the CSR to a Certifying Authority + (CA), who will convert it into a real Certificate, by signing it.

+

A Certificate contains your + RSA public key, your name, the name of the CA, and is digitally signed by + the CA. Browsers that know the CA can verify the signature on that + Certificate, thereby obtaining your RSA public key. That enables them to + send messages which only you can decrypt.

+

See the Introduction chapter for a general + description of the SSL protocol.

+ + +

Is there a difference on startup between + a non-SSL-aware Apache and an SSL-aware Apache?

+

Yes. In general, starting Apache with + mod_ssl built-in is just like starting Apache + without it. However, if you have a passphrase on your SSL private + key file, a startup dialog will pop up which asks you to enter the + pass phrase.

+ +

Having to manually enter the passphrase when starting the server + can be problematic - for example, when starting the server from the + system boot scripts. In this case, you can follow the steps + below to remove the passphrase from + your private key. Bear in mind that doing so brings additional security + risks - proceed with caution!

+ + +

How do I create a self-signed SSL +Certificate for testing purposes?

+
    +
  1. Make sure OpenSSL is installed and in your PATH.
    +
    +
  2. +
  3. Run the following command, to create server.key and + server.crt files:
    + $ openssl req -new -x509 -nodes -out server.crt + -keyout server.key
    + These can be used as follows in your httpd.conf + file: +
    SSLCertificateFile    "/path/to/this/server.crt"
    +SSLCertificateKeyFile "/path/to/this/server.key"
    + +
  4. +
  5. It is important that you are aware that this + server.key does not have any passphrase. + To add a passphrase to the key, you should run the following + command, and enter & verify the passphrase as requested.
    +

    $ openssl rsa -des3 -in server.key -out + server.key.new
    + $ mv server.key.new server.key

    + Please backup the server.key file, and the passphrase + you entered, in a secure location. +
  6. +
+ + +

How do I create a real SSL Certificate?

+

Here is a step-by-step description:

+
    +
  1. Make sure OpenSSL is installed and in your PATH. +
    +
    +
  2. +
  3. Create a RSA private key for your Apache server + (will be Triple-DES encrypted and PEM formatted):
    +
    + $ openssl genrsa -des3 -out server.key 2048
    +
    + Please backup this server.key file and the + pass-phrase you entered in a secure location. + You can see the details of this RSA private key by using the command:
    + +
    + $ openssl rsa -noout -text -in server.key
    +
    + If necessary, you can also create a decrypted PEM version (not + recommended) of this RSA private key with:
    +
    + $ openssl rsa -in server.key -out server.key.unsecure
    +
    + +
  4. +
  5. Create a Certificate Signing Request (CSR) with the server RSA private + key (output will be PEM formatted):
    +
    + $ openssl req -new -key server.key -out server.csr
    +
    + Make sure you enter the FQDN ("Fully Qualified Domain Name") of the + server when OpenSSL prompts you for the "CommonName", i.e. when you + generate a CSR for a website which will be later accessed via + https://www.foo.dom/, enter "www.foo.dom" here. + You can see the details of this CSR by using
    + +
    + $ openssl req -noout -text -in server.csr
    +
    +
  6. +
  7. You now have to send this Certificate Signing Request (CSR) to + a Certifying Authority (CA) to be signed. Once the CSR has been + signed, you will have a real Certificate, which can be used by + Apache. You can have a CSR signed by a commercial CA, or you can + create your own CA to sign it.
    + Commercial CAs usually ask you to post the CSR into a web form, + pay for the signing, and then send a signed Certificate, which + you can store in a server.crt file.
    + + For details on how to create your own CA, and use this to sign + a CSR, see below.
    + + Once your CSR has been signed, you can see the details of the + Certificate as follows:
    +
    + $ openssl x509 -noout -text -in server.crt
    + +
  8. +
  9. You should now have two files: server.key and + server.crt. These can be used as follows in your + httpd.conf file: +
    SSLCertificateFile    "/path/to/this/server.crt"
    +SSLCertificateKeyFile "/path/to/this/server.key"
    + + The server.csr file is no longer needed. +
  10. + +
+ + +

How do I create and use my own Certificate Authority (CA)?

+

The short answer is to use the CA.sh or CA.pl + script provided by OpenSSL. Unless you have a good reason not to, + you should use these for preference. If you cannot, you can create a + self-signed certificate as follows:

+ +
    +
  1. Create a RSA private key for your server + (will be Triple-DES encrypted and PEM formatted):
    +
    + $ openssl genrsa -des3 -out server.key 2048
    +
    + Please backup this server.key file and the + pass-phrase you entered in a secure location. + You can see the details of this RSA private key by using the + command:
    +
    + $ openssl rsa -noout -text -in server.key
    +
    + If necessary, you can also create a decrypted PEM version (not + recommended) of this RSA private key with:
    +
    + $ openssl rsa -in server.key -out server.key.unsecure
    +
    +
  2. +
  3. Create a self-signed certificate (X509 structure) + with the RSA key you just created (output will be PEM formatted):
    +
    + $ openssl req -new -x509 -nodes -sha1 -days 365 + -key server.key -out server.crt -extensions usr_cert
    +
    + This signs the server CSR and results in a server.crt file.
    + You can see the details of this Certificate using:
    +
    + $ openssl x509 -noout -text -in server.crt
    +
    +
  4. +
+ + +

How can I change the pass-phrase on my private key file?

+

You simply have to read it with the old pass-phrase and write it again, + specifying the new pass-phrase. You can accomplish this with the following + commands:

+ + +

$ openssl rsa -des3 -in server.key -out server.key.new
+ $ mv server.key.new server.key

+ +

The first time you're asked for a PEM pass-phrase, you should + enter the old pass-phrase. After that, you'll be asked again to + enter a pass-phrase - this time, use the new pass-phrase. If you + are asked to verify the pass-phrase, you'll need to enter the new + pass-phrase a second time.

+ + +

How can I get rid of the pass-phrase dialog at Apache startup time?

+

The reason this dialog pops up at startup and every re-start + is that the RSA private key inside your server.key file is stored in + encrypted format for security reasons. The pass-phrase is needed to decrypt + this file, so it can be read and parsed. Removing the pass-phrase + removes a layer of security from your server - proceed with caution!

+
    +
  1. Remove the encryption from the RSA private key (while + keeping a backup copy of the original file):
    +
    + $ cp server.key server.key.org
    + $ openssl rsa -in server.key.org -out server.key
    + +
    +
  2. +
  3. Make sure the server.key file is only readable by root:
    +
    + $ chmod 400 server.key
    +
    +
  4. +
+ +

Now server.key contains an unencrypted copy of the key. + If you point your server at this file, it will not prompt you for a + pass-phrase. HOWEVER, if anyone gets this key they will be able to + impersonate you on the net. PLEASE make sure that the permissions on this + file are such that only root or the web server user can read it + (preferably get your web server to start as root but run as another + user, and have the key readable only by root).

+ +

As an alternative approach you can use the ``SSLPassPhraseDialog + exec:/path/to/program'' facility. Bear in mind that this is + neither more nor less secure, of course.

+ + +

How do I verify that a private key matches its Certificate?

+

A private key contains a series of numbers. Two of these numbers form + the "public key", the others are part of the "private key". The "public + key" bits are included when you generate a CSR, and subsequently form + part of the associated Certificate.

+

To check that the public key in your Certificate matches the public + portion of your private key, you simply need to compare these numbers. + To view the Certificate and the key run the commands:

+ +

$ openssl x509 -noout -text -in server.crt
+ $ openssl rsa -noout -text -in server.key

+ +

The `modulus' and the `public exponent' portions in the key and the + Certificate must match. As the public exponent is usually 65537 + and it's difficult to visually check that the long modulus numbers + are the same, you can use the following approach:

+ +

$ openssl x509 -noout -modulus -in server.crt | openssl md5
+ $ openssl rsa -noout -modulus -in server.key | openssl md5

+ +

This leaves you with two rather shorter numbers to compare. It is, + in theory, possible that these numbers may be the same, without the + modulus numbers being the same, but the chances of this are + overwhelmingly remote.

+

Should you wish to check to which key or certificate a particular + CSR belongs you can perform the same calculation on the CSR as + follows:

+ +

$ openssl req -noout -modulus -in server.csr | openssl md5

+ + +

How can I convert a certificate from PEM to DER format?

+

The default certificate format for OpenSSL is PEM, which is simply + Base64 encoded DER, with header and footer lines. For some applications + (e.g. Microsoft Internet Explorer) you need the certificate in plain DER + format. You can convert a PEM file cert.pem into the + corresponding DER file cert.der using the following command: + $ openssl x509 -in cert.pem -out cert.der -outform DER

+ + +

Why do browsers complain that they cannot verify my server certificate?

+ +

One reason this might happen is because your server certificate is signed + by an intermediate CA. Various CAs, such as Verisign or Thawte, have started + signing certificates not with their root certificate but with intermediate + certificates.

+ +

Intermediate CA certificates lie between the root CA certificate (which is + installed in the browsers) and the server certificate (which you installed + on the server). In order for the browser to be able to traverse and verify + the trust chain from the server certificate to the root certificate it + needs need to be given the intermediate certificates. The CAs should + be able to provide you such intermediate certificate packages that can be + installed on the server.

+ +

You need to include those intermediate certificates with the + SSLCertificateChainFile + directive.

+ +
top
+
+

The SSL Protocol

+ + +

Why do I get lots of random SSL protocol +errors under heavy server load?

+

There can be a number of reasons for this, but the main one + is problems with the SSL session Cache specified by the + SSLSessionCache directive. The DBM session + cache is the most likely source of the problem, so using the SHM session cache (or + no cache at all) may help.

+ + +

Why does my webserver have a higher load, now +that it serves SSL encrypted traffic?

+

SSL uses strong cryptographic encryption, which necessitates a lot of + number crunching. When you request a webpage via HTTPS, everything (even + the images) is encrypted before it is transferred. So increased HTTPS + traffic leads to load increases.

+ + +

Why do HTTPS connections to my server +sometimes take up to 30 seconds to establish a connection?

+

This is usually caused by a /dev/random device for + SSLRandomSeed which blocks the + read(2) call until enough entropy is available to service the + request. More information is available in the reference + manual for the SSLRandomSeed + directive.

+ + +

What SSL Ciphers are supported by mod_ssl?

+

Usually, any SSL ciphers supported by the version of OpenSSL in use, + are also supported by mod_ssl. Which ciphers are + available can depend on the way you built OpenSSL. Typically, at + least the following ciphers are supported:

+ +
    +
  1. RC4 with SHA1
  2. +
  3. AES with SHA1
  4. +
  5. Triple-DES with SHA1
  6. +
+ +

To determine the actual list of ciphers available, you should run + the following:

+

$ openssl ciphers -v

+ + +

Why do I get ``no shared cipher'' errors, when +trying to use Anonymous Diffie-Hellman (ADH) ciphers?

+

By default, OpenSSL does not allow ADH ciphers, for security + reasons. Please be sure you are aware of the potential side-effects + if you choose to enable these ciphers.

+

In order to use Anonymous Diffie-Hellman (ADH) ciphers, you must + build OpenSSL with ``-DSSL_ALLOW_ADH'', and then add + ``ADH'' into your SSLCipherSuite.

+ + +

Why do I get a 'no shared ciphers' +error when connecting to my newly installed server?

+

Either you have made a mistake with your + SSLCipherSuite + directive (compare it with the pre-configured example in + extra/httpd-ssl.conf) or you chose to use DSA/DH + algorithms instead of RSA when you generated your private key + and ignored or overlooked the warnings. If you have chosen + DSA/DH, then your server cannot communicate using RSA-based SSL + ciphers (at least until you configure an additional RSA-based + certificate/key pair). Modern browsers like NS or IE can only + communicate over SSL using RSA ciphers. The result is the + "no shared ciphers" error. To fix this, regenerate your server + certificate/key pair, using the RSA algorithm.

+ + +

Why can't I use SSL with name-based/non-IP-based virtual hosts?

+

The reason is very technical, and a somewhat "chicken and egg" problem. + The SSL protocol layer stays below the HTTP protocol layer and + encapsulates HTTP. When an SSL connection (HTTPS) is established + Apache/mod_ssl has to negotiate the SSL protocol parameters with the + client. For this, mod_ssl has to consult the configuration of the virtual + server (for instance it has to look for the cipher suite, the server + certificate, etc.). But in order to go to the correct virtual server + Apache has to know the Host HTTP header field. To do this, the + HTTP request header has to be read. This cannot be done before the SSL + handshake is finished, but the information is needed in order to + complete the SSL handshake phase. See the next question for how to + circumvent this issue.

+ +

Note that if you have a wildcard SSL certificate, or a + certificate that has multiple hostnames on it using subjectAltName + fields, you can use SSL on name-based virtual hosts without further + workarounds.

+ + +

Is it possible to use Name-Based +Virtual Hosting to identify different SSL virtual hosts?

+

Name-Based Virtual Hosting is a very popular method of identifying + different virtual hosts. It allows you to use the same IP address and + the same port number for many different sites. When people move on to + SSL, it seems natural to assume that the same method can be used to have + lots of different SSL virtual hosts on the same server.

+ +

It is possible, but only if using a 2.2.12 or later web server, + built with 0.9.8j or later OpenSSL. This is because it requires a + feature that only the most recent revisions of the SSL + specification added, called Server Name Indication (SNI).

+ +

Note that if you have a wildcard SSL certificate, or a + certificate that has multiple hostnames on it using subjectAltName + fields, you can use SSL on name-based virtual hosts without further + workarounds.

+ +

The reason is that the SSL protocol is a separate layer which + encapsulates the HTTP protocol. So the SSL session is a separate + transaction, that takes place before the HTTP session has begun. + The server receives an SSL request on IP address X and port Y + (usually 443). Since the SSL request did not contain any Host: + field, the server had no way to decide which SSL virtual host to use. + Usually, it just used the first one it found which matched the + port and IP address specified.

+ +

If you are using a version of the web server and OpenSSL that + support SNI, though, and the client's browser also supports SNI, + then the hostname is included in the original SSL request, and the + web server can select the correct SSL virtual host.

+ +

You can, of course, use Name-Based Virtual Hosting to identify many + non-SSL virtual hosts (all on port 80, for example) and then + have a single SSL virtual host (on port 443). But if you do this, + you must make sure to put the non-SSL port number on the NameVirtualHost + directive, e.g.

+ +
NameVirtualHost 192.168.1.1:80
+ + +

Other workaround solutions include:

+ +

Using separate IP addresses for different SSL hosts. + Using different port numbers for different SSL hosts.

+ + +

How do I get SSL compression working?

+

Although SSL compression negotiation was defined in the specification +of SSLv2 and TLS, it took until May 2004 for RFC 3749 to define DEFLATE as +a negotiable standard compression method. +

+

OpenSSL 0.9.8 started to support this by default when compiled with the +zlib option. If both the client and the server support compression, +it will be used. However, most clients still try to initially connect with an +SSLv2 Hello. As SSLv2 did not include an array of preferred compression algorithms +in its handshake, compression cannot be negotiated with these clients. +If the client disables support for SSLv2, either an SSLv3 or TLS Hello +may be sent, depending on which SSL library is used, and compression may +be set up. You can verify whether clients make use of SSL compression by +logging the %{SSL_COMPRESS_METHOD}x variable. +

+ + +

When I use Basic Authentication over HTTPS +the lock icon in Netscape browsers stays unlocked when the dialog pops up. +Does this mean the username/password is being sent unencrypted?

+

No, the username/password is transmitted encrypted. The icon in + Netscape browsers is not actually synchronized with the SSL/TLS layer. + It only toggles to the locked state when the first part of the actual + webpage data is transferred, which may confuse people. The Basic + Authentication facility is part of the HTTP layer, which is above + the SSL/TLS layer in HTTPS. Before any HTTP data communication takes + place in HTTPS, the SSL/TLS layer has already completed its handshake + phase, and switched to encrypted communication. So don't be + confused by this icon.

+ + +

Why do I get I/O errors when connecting via +HTTPS to an Apache+mod_ssl server with older versions of Microsoft Internet +Explorer (MSIE)?

+

The first reason is that the SSL implementation in some MSIE versions has + some subtle bugs related to the HTTP keep-alive facility and the SSL close + notify alerts on socket connection close. Additionally the interaction + between SSL and HTTP/1.1 features are problematic in some MSIE versions. + You can work around these problems by forcing Apache not to use HTTP/1.1, + keep-alive connections or send the SSL close notify messages to MSIE clients. + This can be done by using the following directive in your SSL-aware + virtual host section:

+
SetEnvIf User-Agent "MSIE [2-5]" \
+         nokeepalive ssl-unclean-shutdown \
+         downgrade-1.0 force-response-1.0
+ +

Further, some MSIE versions have problems with particular ciphers. + Unfortunately, it is not possible to implement a MSIE-specific + workaround for this, because the ciphers are needed as early as the + SSL handshake phase. So a MSIE-specific + SetEnvIf won't solve these + problems. Instead, you will have to make more drastic + adjustments to the global parameters. Before you decide to do + this, make sure your clients really have problems. If not, do not + make these changes - they will affect all your clients, MSIE + or otherwise.

+ + +

How do I enable TLS-SRP?

+

TLS-SRP (Secure Remote Password key exchange for TLS, specified in RFC 5054) + can supplement or replace certificates in authenticating an SSL connection. + To use TLS-SRP, set the + SSLSRPVerifierFile directive to + point to an OpenSSL SRP verifier file. To create the verifier file, use the + openssl tool:

+

+ openssl srp -srpvfile passwd.srpv -add username +

+

After creating this file, specify it in the SSL server configuration:

+

+ SSLSRPVerifierFile /path/to/passwd.srpv +

+

To force clients to use non-certificate TLS-SRP cipher suites, use the + following directive:

+

+ SSLCipherSuite "!DSS:!aRSA:SRP" +

+ + +

Why do I get handshake failures with Java-based clients when using a certificate with more than 1024 bits?

+

Beginning with version 2.4.7, + mod_ssl will use DH parameters which include primes + with lengths of more than 1024 bits. Java 7 and earlier limit their + support for DH prime sizes to a maximum of 1024 bits, however.

+ +

If your Java-based client aborts with exceptions such as + java.lang.RuntimeException: Could not generate DH keypair and + java.security.InvalidAlgorithmParameterException: Prime size must be + multiple of 64, and can only range from 512 to 1024 (inclusive), + and httpd logs tlsv1 alert internal error (SSL alert number 80) + (at LogLevel info + or higher), you can either rearrange mod_ssl's cipher list with + SSLCipherSuite + (possibly in conjunction with SSLHonorCipherOrder), + or you can use custom DH parameters with a 1024-bit prime, which + will always have precedence over any of the built-in DH parameters.

+ +

To generate custom DH parameters, use the openssl dhparam 1024 + command. Alternatively, you can use the following standard 1024-bit DH + parameters from RFC 2409, + section 6.2:

+
-----BEGIN DH PARAMETERS-----
+MIGHAoGBAP//////////yQ/aoiFowjTExmKLgNwc0SkCTgiKZ8x0Agu+pjsTmyJR
+Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL
+/1y29Aa37e44a/taiZ+lrp8kEXxLH+ZJKGZR7OZTgf//////////AgEC
+-----END DH PARAMETERS-----
+

Add the custom parameters including the "BEGIN DH PARAMETERS" and + "END DH PARAMETERS" lines to the end of the first certificate file + you have configured using the + SSLCertificateFile directive.

+ + +
top
+
+

mod_ssl Support

+ + +

What information resources are available in case of mod_ssl problems?

+

The following information resources are available. + In case of problems you should search here first.

+ +
+
Answers in the User Manual's F.A.Q. List (this)
+
+ http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html
+ First check the F.A.Q. (this text). If your problem is a common + one, it may have been answered several times before, and been included + in this doc. +
+
+ + +

What support contacts are available in case +of mod_ssl problems?

+

The following lists all support possibilities for mod_ssl, in order of + preference. Please go through these possibilities + in this order - don't just pick the one you like the look of.

+
    + +
  1. Send a Problem Report to the Apache httpd Users Support Mailing List
    + + users@httpd.apache.org
    + This is the second way of submitting your problem report. Again, you must + subscribe to the list first, but you can then easily discuss your problem + with the whole Apache httpd user community. +
  2. + +
  3. Write a Problem Report in the Bug Database
    + + http://httpd.apache.org/bug_report.html
    + This is the last way of submitting your problem report. You should only + do this if you've already posted to the mailing lists, and had no success. + Please follow the instructions on the above page carefully. +
  4. +
+ + +

What information should I +provide when writing a bug report?

+

You should always provide at least the following information:

+ +
+
Apache httpd and OpenSSL version information
+
The Apache version can be determined + by running httpd -v. The OpenSSL version can be + determined by running openssl version. Alternatively, if + you have Lynx installed, you can run the command lynx -mime_header + http://localhost/ | grep Server to gather this information in a + single step. +
+ +
The details on how you built and installed Apache httpd and OpenSSL
+
For this you can provide a logfile of your terminal session which shows + the configuration and install steps. If this is not possible, you + should at least provide the configure command line you used. +
+ +
In case of core dumps please include a Backtrace
+
If your Apache httpd dumps its core, please attach + a stack-frame ``backtrace'' (see below + for information on how to get this). This information is required + in order to find a reason for your core dump. +
+ +
A detailed description of your problem
+
Don't laugh, we really mean it! Many problem reports don't + include a description of what the actual problem is. Without this, + it's very difficult for anyone to help you. So, it's in your own + interest (you want the problem be solved, don't you?) to include as + much detail as possible, please. Of course, you should still include + all the essentials above too. +
+
+ + +

I had a core dump, can you help me?

+

In general no, at least not unless you provide more details about the code + location where Apache dumped core. What is usually always required in + order to help you is a backtrace (see next question). Without this + information it is mostly impossible to find the problem and help you in + fixing it.

+ + +

How do I get a backtrace, to help find +the reason for my core dump?

+

Following are the steps you will need to complete, to get a backtrace:

+
    +
  1. Make sure you have debugging symbols available, at least + in Apache. On platforms where you use GCC/GDB, you will have to build + Apache+mod_ssl with ``OPTIM="-g -ggdb3"'' to get this. On + other platforms at least ``OPTIM="-g"'' is needed. +
  2. + +
  3. Start the server and try to reproduce the core-dump. For this you may + want to use a directive like ``CoreDumpDirectory /tmp'' to + make sure that the core-dump file can be written. This should result + in a /tmp/core or /tmp/httpd.core file. If you + don't get one of these, try running your server under a non-root UID. + Many modern kernels do not allow a process to dump core after it has + done a setuid() (unless it does an exec()) for + security reasons (there can be privileged information left over in + memory). If necessary, you can run /path/to/httpd -X + manually to force Apache to not fork. +
  4. + +
  5. Analyze the core-dump. For this, run gdb /path/to/httpd + /tmp/httpd.core or a similar command. In GDB, all you + have to do then is to enter bt, and voila, you get the + backtrace. For other debuggers consult your local debugger manual. +
  6. +
+ +
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_faq.html.fr.utf8 b/docs/manual/ssl/ssl_faq.html.fr.utf8 new file mode 100644 index 0000000..73159e0 --- /dev/null +++ b/docs/manual/ssl/ssl_faq.html.fr.utf8 @@ -0,0 +1,1036 @@ + + + + + +Chiffrement SSL/TLS fort: foire aux questions - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Chiffrement SSL/TLS fort: foire aux questions

+
+

Langues Disponibles:  en  | + fr 

+
+ +
+

Le sage n'apporte pas de bonnes réponses, il pose les bonnes questions

+

-- Claude Levi-Strauss

+ +
+
+ +
top
+
+

Installation

+ + +

Pourquoi le démarrage d'Apache provoque-t-il des +erreurs de permission en rapport avec SSLMutex ?

+

Des erreurs telles que ``mod_ssl: Child could not open + SSLMutex lockfile /opt/apache/logs/ssl_mutex.18332 (avec l'erreur + système qui suit) [...] System: Permission denied (errno: 13)'' + sont souvent provoquées par des permissions trop restrictives sur les + répertoires parents. Assurez-vous que tous les répertoires + parents (ici /opt, /opt/apache et + /opt/apache/logs) ont le bit x positionné au moins pour + l'UID sous lequel les processus enfants d'Apache s'exécutent (voir la + directive User).

+ + +

Pourquoi mod_ssl s'arrête-t-il avec l'erreur +"Failed to generate temporary 512 bit RSA private key" au démarrage +d'Apache ?

+

Pour fonctionner correctement, les logiciels de cryptographie ont + besoin d'une source de données aléatoires. De nombreux systèmes + d'exploitation libres proposent un "périphérique source d'entropie" + qui fournit ce service (il se nomme en général + /dev/random). Sur d'autres systèmes, les applications + doivent amorcer manuellement + le Générateur de Nombres Pseudo-Aléatoires d'OpenSSL + (Pseudo Random Number Generator -PRNG) à l'aide de données appropriées + avant de générer des clés ou d'effectuer un chiffrement à clé + publique. Depuis la version 0.9.5, les fonctions d'OpenSSL qui nécessitent + des données aléatoires provoquent une erreur si le PRNG n'a pas été amorcé + avec une source de données aléatoires d'au moins 128 bits.

+

Pour éviter cette erreur, mod_ssl doit fournir + suffisamment d'entropie au PRNG pour lui permettre de fonctionner + correctement. Ce niveau d'entropie est défini par la directive + SSLRandomSeed.

+ +
top
+
+

Configuration

+ + +

Peut-on faire cohabiter HTTP et HTTPS sur le même +serveur ?

+

Oui. HTTP et HTTPS utilisent des ports différents (HTTP écoute le port + 80 et HTTPS le port 443), si bien qu'il n'y a pas de conflit direct entre + les deux. Vous pouvez soit exécuter deux instances séparées du serveur, + chacune d'entre elles écoutant l'un de ces ports, soit utiliser l'élégante + fonctionnalité d'Apache que constituent les hôtes virtuels pour créer + deux serveurs virtuels gérés par la même instance d'Apache - le + premier serveur répondant en HTTP aux requêtes sur le port 80, + le second répondant en HTTPS aux requêtes sur le port + 443.

+ + +

Quel port HTTPS utilise-t-il ?

+

Vous pouvez associer le protocole HTTPS à n'importe quel port, mais le port +standard est le port 443, que tout navigateur compatible HTTPS va utiliser par +défaut. Vous pouvez forcer votre navigateur à utiliser un port différent en le +précisant dans l'URL. Par exemple, si votre serveur est configuré pour +servir des pages en HTTPS sur le port 8080, vous pourrez y accéder par +l'adresse https://example.com:8080/.

+ + +

Comment s'exprimer en langage HTTPS à des fins +de test ?

+

Alors que vous utilisez simplement

+ +

$ telnet localhost 80
+ GET / HTTP/1.0

+ +

pour tester facilement Apache via HTTP, les choses ne sont pas si + simples pour HTTPS à cause du protocole SSL situé entre TCP et HTTP. + La commande OpenSSL s_client vous permet cependant + d'effectuer un test similaire via HTTPS :

+ +

$ openssl s_client -connect localhost:443 -state -debug
+ GET / HTTP/1.0

+ +

Avant la véritable réponse HTTP, vous recevrez des informations + détaillées à propos de l'établissement de la connexion SSL. Si vous + recherchez un client en ligne de commande à usage plus général qui comprend + directement HTTP et HTTPS, qui peut effectuer des opérations GET et POST, + peut utiliser un mandataire, supporte les requêtes portant sur une partie + d'un fichier (byte-range), etc..., vous devriez vous tourner vers + l'excellent outil cURL. Grâce à lui, + vous pouvez vérifier si Apache répond correctement aux requêtes via + HTTP et HTTPS comme suit :

+ +

$ curl http://localhost/
+ $ curl https://localhost/

+ + +

Pourquoi la communication se bloque-t-elle lorsque je +me connecte à mon serveur Apache configuré pour SSL ?

+

Ceci peut arriver si vous vous connectez à un serveur HTTPS (ou à +un serveur virtuel) via HTTP (par exemple, en utilisant +http://example.com/ au lieu de https://example.com). +Cela peut aussi arriver en essayant de vous connecter via HTTPS à un +serveur HTTP (par exemple, en utilisant https://example.com/ +avec un serveur qui ne supporte pas HTTPS, ou le supporte, mais sur un +port non standard). Assurez-vous que vous vous connectez bien à un +serveur (virtuel) qui supporte SSL.

+ + +

Pourquoi, lorsque je tente d'accéder en HTTPS à mon +serveur Apache+mod_ssl fraîchement installé, l'erreur ``Connection Refused'' +s'affiche-t-elle ?

+

Une configuration incorrecte peut provoquer ce type d'erreur. +Assurez-vous que vos directives Listen s'accordent avec vos directives + <VirtualHost>. Si + l'erreur persiste, recommencez depuis le début en restaurant la + configuration par défaut fournie parmod_ssl.

+ + +

Pourquoi les variables SSL_XXX +ne sont-elles pas disponibles dans mes scripts CGI et SSI ?

+

Assurez-vous que la directive ``SSLOptions +StdEnvVars'' est +bien présente dans le contexte de vos requêtes CGI/SSI.

+ + +

Comment puis-je basculer entre les protocoles HTTP et +HTTPS dans les hyperliens relatifs ?

+ +

Normalement, pour basculer entre HTTP et HTTPS, vous devez utiliser des +hyperliens pleinement qualifiés (car vous devez modifier le schéma de l'URL). +Cependant, à l'aide du module mod_rewrite, vous pouvez +manipuler des hyperliens relatifs, pour obtenir le même effet.

+
RewriteEngine on
+RewriteRule   "^/(.*)_SSL$"   "https://%{SERVER_NAME}/$1" [R,L]
+RewriteRule   "^/(.*)_NOSSL$" "http://%{SERVER_NAME}/$1"  [R,L]
+ + +

Ce jeu de règles rewrite vous permet d'utiliser des hyperliens de la + forme <a href="document.html_SSL"> pour passer en HTTPS + dans les liens relatifs. (Remplacez SSL par NOSSL pour passer en HTTP.)

+ +
top
+
+

Certificats

+ + +

Qu'est-ce qu'un clé privée RSA, un certificat, +une demande de signature de certificat (CSR) ?

+

Un fichier de clé privée RSA est un fichier numérique que vous pouvez +utiliser pour déchiffrer des messages que l'on vous a envoyés. Il a son +pendant à caractère public que vous pouvez distribuer (par le biais de votre +certificat), ce qui permet aux utilisateurs de chiffrer les messages qu'ils +vous envoient.

+

Une Demande de Signature de Certificat (CSR) est un fichier numérique + qui contient votre clé publique et votre nom. La CSR doit être envoyée à + une Autorité de Certification (CA), qui va la convertir en vrai certificat + en la signant.

+

Un certificat contient votre clé publique RSA, votre nom, le nom + de la CA, et est signé numériquement par cette dernière. Les navigateurs + qui reconnaissent la CA peuvent vérifier la signature du certificat, et + ainsi en extraire votre clé publique RSA. Ceci leur permet de vous envoyer + des messages chiffrés que vous seul pourrez déchiffrer.

+

Se référer au chapitre Introduction + pour une description générale du protocole SSL.

+ + +

Y a-t-il une différence au démarrage entre un serveur +Apache non SSL et un serveur Apache supportant SSL ?

+

Oui. En général, avec ou sans mod_ssl intégré, le démarrage +d'Apache ne présente pas de différences. Cependant, si votre fichier de clé +privée SSL possède un mot de passe, vous devrez le taper au démarrage +d'Apache.

+ +

Devoir entrer manuellement le mot de passe au démarrage du serveur peut + poser quelques problèmes - par exemple, quand le serveur est démarré au + moyen de scripts au lancement du système. Dans ce cas, vous pouvez suivre + les étapes ci-dessous pour supprimer le + mot de passe de votre clé privée. Gardez à l'esprit qu'agir ainsi augmente + les risques de sécurité - agissez avec précaution !

+ + +

Comment créer un certificat auto-signé SSL à des +fins de test ?

+
    +
  1. Vérifiez qu'OpenSSL est installé et l'exécutable openssl dans votre + PATH.
    +
    +
  2. +
  3. Exécuter la commande suivante pour créer les fichiers + server.key et server.crt :
    + $ openssl req -new -x509 -nodes -out server.crt + -keyout server.key
    + Ces fichiers seront utilisés comme suit dans votre + httpd.conf : +
    SSLCertificateFile    "/path/to/this/server.crt"
    +SSLCertificateKeyFile "/path/to/this/server.key"
    + +
  4. +
  5. Il est important de savoir que le fichier server.key n'a + pas de mot de passe. Pour ajouter un mot de passe à la clé, vous + devez exécuter la commande suivante et confirmer le mot de passe comme + demandé.
    +

    $ openssl rsa -des3 -in server.key -out + server.key.new
    + $ mv server.key.new server.key

    + Sauvegardez le fichier server.key ainsi que son mot de + passe en lieu sûr. +
  6. +
+ + +

Comment créer un vrai certificat SSL ?

+

Voici la marche à suivre pas à pas :

+
    +
  1. Assurez-vous qu'OpenSSL est bien installé et dans votre PATH. +
    +
    +
  2. +
  3. Créez une clé privée RSA pour votre serveur Apache + (elle sera au format PEM et chiffrée en Triple-DES):
    +
    + $ openssl genrsa -des3 -out server.key 2048
    +
    + Enregistrez le fichier server.key et le mot de passe + éventuellement défini en lieu sûr. + Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la + commande :
    + +
    + $ openssl rsa -noout -text -in server.key
    +
    + Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée + (non recommandé) de clé privée RSA avec :
    +
    + $ openssl rsa -in server.key -out server.key.unsecure
    +
    + +
  4. +
  5. Créez une Demande de signature de Certificat (CSR) à l'aide de la + clé privée précédemment générée (la sortie sera au format PEM):
    +
    + $ openssl req -new -key server.key -out server.csr
    +
    + Vous devez entrer le Nom de Domaine Pleinement Qualifié + ("Fully Qualified Domain Name" ou FQDN) de votre serveur lorsqu'OpenSSL + vous demande le "CommonName", c'est à dire que si vous générez une CSR + pour un site web auquel on accèdera par l'URL + https://www.foo.dom/, le FQDN sera "www.foo.dom". Vous + pouvez afficher les détails de ce CSR avec :
    + +
    + $ openssl req -noout -text -in server.csr
    +
    +
  6. +
  7. Vous devez maintenant envoyer la CSR à une Autorité de Certification + (CA), afin que cette dernière puisse la signer. Une fois la CSR signée, + vous disposerez d'un véritable certificat que vous pourrez utiliser avec + Apache. Vous pouvez faire signer votre CSR par une CA commerciale ou par + votre propre CA.
    + Les CAs commerciales vous demandent en général de leur envoyer la CSR + par l'intermédiaire d'un formulaire web, de régler le montant de la + signature, puis vous envoient un certificat signé que vous pouvez + enregistrer dans un fichier server.crt. + + Pour plus de détails sur la manière de créer sa propre CA, et de + l'utiliser pour signer une CSR, voir ci-dessous.
    + + Une fois la CSR signée, vous pouvez afficher les détails du certificat + comme suit :
    +
    + $ openssl x509 -noout -text -in server.crt
    + +
  8. +
  9. Vous devez maintenant disposer de deux fichiers : + server.key et server.crt. Ils sont précisés dans + votre fichier httpd.conf comme suit : +
    SSLCertificateFile    "/path/to/this/server.crt"
    +SSLCertificateKeyFile "/path/to/this/server.key"
    + + Le fichier server.csr n'est plus nécessaire. +
  10. + +
+ + +

Comment créer et utiliser sa propre Autorité de +certification (CA) ?

+

La solution la plus simple consiste à utiliser les scripts + CA.sh ou CA.pl fournis avec OpenSSL. De + préférence, utilisez cette solution, à moins que vous ayez de bonnes + raisons de ne pas le faire. Dans ce dernier cas, vous pouvez créer un + certificat auto-signé comme suit :

+ +
    +
  1. Créez une clé privée RSA pour votre serveur + (elle sera au format PEM et chiffrée en Triple-DES) :
    +
    + $ openssl genrsa -des3 -out server.key 2048
    +
    + Sauvegardez le fichier server.key et le mot de passe + éventuellement défini en lieu sûr. + Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la + commande :
    +
    + $ openssl rsa -noout -text -in server.key
    +
    + Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée + (non recommandé) de cette clé privée RSA avec :
    +
    + $ openssl rsa -in server.key -out server.key.unsecure
    +
    +
  2. +
  3. Créez un certificat auto-signé (structure X509) à l'aide de la clé RSA + que vous venez de générer (la sortie sera au format PEM) :
    +
    + $ openssl req -new -x509 -nodes -sha1 -days 365 + -key server.key -out server.crt -extensions usr_cert
    +
    + Cette commande signe le certificat du serveur et produit un fichier + server.crt. Vous pouvez afficher les détails de ce + certificat avec :
    +
    + $ openssl x509 -noout -text -in server.crt
    +
    +
  4. +
+ + +

Comment modifier le mot de passe +de ma clé privée ?

+

Vous devez simplement lire la clé avec l'ancien mot de passe et la +réécrire en spécifiant le nouveau mot de passe. Pour cela, vous pouvez +utiliser les commandes suivantes :

+ + +

$ openssl rsa -des3 -in server.key -out server.key.new
+ $ mv server.key.new server.key

+ +

La première fois qu'il vous est demandé un mot de passe PEM, vous + devez entrer l'ancien mot de passe. Ensuite, on vous demandera d'entrer + encore un mot de passe - cette fois, entrez le nouveau mot de passe. Si on + vous demande de vérifier le mot de passe, vous devrez entrer le nouveau + mot de passe une seconde fois.

+ + +

Comment démarrer Apache sans avoir à entrer de +mot de passe ?

+

L'apparition de ce dialogue au démarrage et à chaque redémarrage provient +du fait que la clé privée RSA contenue dans votre fichier server.key est +enregistrée sous forme chiffrée pour des raisons de sécurité. Le +déchiffrement de ce fichier nécessite un mot de passe, afin de pouvoir être +lu et interprété. Cependant, La suppression du mot de passe diminue le niveau de +sécurité du serveur - agissez avec précautions !

+
    +
  1. Supprimer le chiffrement de la clé privée RSA (tout en conservant une + copie de sauvegarde du fichier original) :
    +
    + $ cp server.key server.key.org
    + $ openssl rsa -in server.key.org -out server.key
    + +
    +
  2. +
  3. Assurez-vous que le fichier server.key n'est lisible que par root :
    +
    + $ chmod 400 server.key
    +
    +
  4. +
+ +

Maintenant, server.key contient une copie non chiffrée de + la clé. Si vous utilisez ce fichier pour votre serveur, il ne vous + demandera plus de mot de passe. CEPENDANT, si quelqu'un arrive à obtenir + cette clé, il sera en mesure d'usurper votre identité sur le réseau. + Vous DEVEZ par conséquent vous assurer que seuls root ou le serveur web + peuvent lire ce fichier (de préférence, démarrez le serveur web sous + root et faites le s'exécuter sous un autre utilisateur, en n'autorisant + la lecture de la clé que par root).

+ +

Une autre alternative consiste à utiliser la directive + ``SSLPassPhraseDialog exec:/chemin/vers/programme''. Gardez + cependant à l'esprit que ce n'est bien entendu ni plus ni moins + sécurisé.

+ + +

Comment vérifier si une clé privée correspond bien +à son certificat ?

+

Une clé privée contient une série de nombres. Deux de ces nombres forment la +"clé publique", les autres appartiennent à la "clé privée". Les bits de la +"clé publique" sont inclus quand vous générez une CSR, et font par +conséquent partie du certificat associé.

+

Pour vérifier que la clé publique contenue dans votre certificat + correspond bien à la partie publique de votre clé privée, il vous suffit + de comparer ces nombres. Pour afficher le certificat et la clé, + utilisez cette commande :

+ +

$ openssl x509 -noout -text -in server.crt
+ $ openssl rsa -noout -text -in server.key

+ +

Les parties `modulus' et `public exponent' doivent être identiques dans + la clé et le certificat. Comme le `public exponent' est habituellement + 65537, et comme il est difficile de vérifier visuellement que les nombreux + nombres du `modulus' sont identiques, vous pouvez utiliser l'approche + suivante :

+ +

$ openssl x509 -noout -modulus -in server.crt | openssl md5
+ $ openssl rsa -noout -modulus -in server.key | openssl md5

+ +

Il ne vous reste ainsi que deux nombres relativement courts à comparer. + Il est possible, en théorie que ces deux nombres soient les mêmes, sans que + les nombres du modulus soient identiques, mais les chances en sont infimes.

+

Si vous souhaitez vérifier à quelle clé ou certificat appartient une CSR + particulière, vous pouvez effectuer le même calcul + sur la CSR comme suit :

+ +

$ openssl req -noout -modulus -in server.csr | openssl md5

+ + +

Comment convertir un certificat du format PEM +au format DER ?

+

Le format des certificats par défaut pour OpenSSL est le format PEM, +qui est tout simplement un format DER codé en Base64, avec des lignes +d'en-têtes et des annotations. Certaines applications, comme +Microsoft Internet Explorer, ont besoin d'un certificat au format DER de base. +Vous pouvez convertir un fichier PEM cert.pem en son équivalent +au format DER cert.der à l'aide de la commande suivante : +$ openssl x509 -in cert.pem -out cert.der +-outform DER

+ + +

Pourquoi les navigateurs se plaignent-ils de ne pas pouvoir +vérifier mon certificat de serveur ?

+ +

Ceci peut se produire si votre certificat de serveur est signé + par une autorité de certification intermédiaire. Plusieurs CAs, + comme Verisign ou Thawte, ont commencé à signer les certificats avec + des certificats intermédiaires au lieu de leur certificat racine.

+ +

Les certificats de CA intermédiaires se situe à un niveau + intermédiaire entre le certificat racine de la CA (qui est installé dans les + navigateurs) et le certificat du serveur (que vous avez installé sur + votre serveur). Pour que le navigateur puisse traverser et vérifier + la chaîne de confiance depuis le certificat du serveur jusqu'au + certificat racine, il faut lui fournir les certificats + intermédiaires. Les CAs devraient pouvoir fournir de tels + paquetages de certificats intermédiaires à installer sur les + serveurs.

+ +

Vous devez inclure ces certificats intermédiaires via la + directive SSLCertificateChainFile.

+ +
top
+
+

Le protocole SSL

+ + +

Pourquoi de nombreuses et aléatoires erreurs de +protocole SSL apparaissent-elles en cas de forte charge du serveur ?

+

Ce problème peut avoir plusieurs causes, mais la principale réside dans le +cache de session SSL défini par la directive +SSLSessionCache. Le cache de session +DBM est souvent à la source du problème qui peut être résolu en utilisant le +cache de session SHM (ou en n'utilisant tout simplement pas de cache).

+ + +

Pourquoi la charge de mon serveur est-elle plus +importante depuis qu'il sert des ressources chiffrées en SSL ?

+

SSL utilise un procédé de chiffrement fort qui nécessite la manipulation +d'une quantité très importante de nombres. Lorsque vous effectuez une requête +pour une page web via HTTPS, tout (même les images) est chiffré avant d'être +transmis. C'est pourquoi un accroissement du traffic HTTPS entraîne une +augmentation de la charge.

+ + +

Pourquoi les connexions en HTTPS à mon serveur +prennent-elles parfois jusqu'à 30 secondes pour s'établir ?

+

Ce problème provient en général d'un périphérique /dev/random +qui bloque l'appel système read(2) jusqu'à ce que suffisamment d'entropie +soit disponible pour servir la requête. Pour plus d'information, se référer au +manuel de référence de la directive +SSLRandomSeed.

+ + +

Quels sont les algorithmes de chiffrement +supportés par mod_ssl ?

+

En général, tous les algorithmes de chiffrement supportés par la version +d'OpenSSL installée, le sont aussi par mod_ssl. La liste des +algorithmes disponibles peut dépendre de la manière dont vous avez installé +OpenSSL. Typiquement, au moins les algorithmes suivants sont supportés :

+ +
    +
  1. RC4 avec SHA1
  2. +
  3. AES avec SHA1
  4. +
  5. Triple-DES avec SHA1
  6. +
+ +

Pour déterminer la liste réelle des algorithmes disponibles, vous + pouvez utiliser la commande suivante :

+

$ openssl ciphers -v

+ + +

Pourquoi une erreur ``no shared cipher'' apparaît-elle +quand j'essaie d'utiliser un algorithme de chiffrement +Diffie-Hellman anonyme (ADH) ?

+

Par défaut et pour des raisons de sécurité, OpenSSl ne permet pas +l'utilisation des algorithmes de chiffrements ADH. Veuillez vous informer +sur les effets pervers potentiels si vous choisissez d'activer le support +de ces algorithmes de chiffrements.

+

Pour pouvoir utiliser les algorithmes de chiffrements Diffie-Hellman +anonymes (ADH), vous devez compiler OpenSSL avec +``-DSSL_ALLOW_ADH'', puis ajouter ``ADH'' à votre +directive SSLCipherSuite.

+ + +

Pourquoi une erreur ``no shared cipher'' +apparaît-elle lorsqu'on se connecte à mon serveur +fraîchement installé ?

+

Soit vous avez fait une erreur en définissant votre directive +SSLCipherSuite (comparez-la avec +l'exemple préconfiguré dans extra/httpd-ssl.conf), soit vous avez +choisi d'utiliser des algorithmes DSA/DH au lieu de RSA lorsque vous avez +généré votre clé privée, et avez ignoré ou êtes passé outre les +avertissements. Si vous avez choisi DSA/DH, votre serveur est incapable de +communiquer en utilisant des algorithmes de chiffrements SSL basés sur RSA +(du moins tant que vous n'aurez pas configuré une paire clé/certificat RSA +additionnelle). Les navigateurs modernes tels que NS ou IE ne peuvent +communiquer par SSL qu'avec des algorithmes RSA. C'est ce qui provoque l'erreur +"no shared ciphers". Pour la corriger, générez une nouvelle paire +clé/certificat pour le serveur en utilisant un algorithme de chiffrement +RSA.

+ + +

Pourquoi ne peut-on pas utiliser SSL avec des hôtes +virtuels identifiés par un nom et non par une adresse IP ?

+

La raison est très technique, et s'apparente au problème de la primauté de +l'oeuf ou de la poule. La couche du protocole SSL se trouve en dessous de la +couche de protocole HTTP qu'elle encapsule. Lors de l'établissement d'une +connexion SSL (HTTPS), Apache/mod_ssl doit négocier les paramètres du +protocole SSL avec le client. Pour cela, mod_ssl doit consulter la +configuration du serveur virtuel (par exemple, il doit accéder à la suite +d'algorithmes de chiffrement, au certificat du serveur, etc...). Mais afin de +sélectionner le bon serveur virtuel, Apache doit connaître le contenu du champ +d'en-tête HTTP Host. Pour cela, il doit lire l'en-tête de la +requête HTTP. Mais il ne peut le faire tant que la négociation SSL n'est pas +terminée, or, la phase de négociation SSL a besoin du nom d'hôte contenu +dans l'en-tête de la requête. Voir la question suivante pour +contourner ce problème.

+ +

Notez que si votre certificat comporte un nom de serveur avec + caractères génériques, ou des noms de serveurs multiples dans le + champ subjectAltName, vous pouvez utiliser SSL avec les serveurs + virtuels à base de noms sans avoir à contourner ce problème.

+ + +

Est-il possible d'utiliser +l'hébergement virtuel basé sur le nom d'hôte +pour différencier plusieurs hôtes virtuels ?

+

L'hébergement virtuel basé sur le nom est une méthode très populaire + d'identification des différents hôtes virtuels. Il permet d'utiliser la + même adresse IP et le même numéro de port pour de nombreux sites + différents. Lorsqu'on se tourne vers SSL, il semble tout naturel de penser + que l'on peut appliquer la même méthode pour gérer plusieurs hôtes + virtuels SSL sur le même serveur.

+ +

C'est possible, mais seulement si on utilise une version 2.2.12 + ou supérieure du serveur web compilée avec OpenSSL + version 0.9.8j ou supérieure. Ceci est du au fait que + l'utilisation de l'hébergement virtuel à base de nom + avec SSL nécessite une fonctionnalité appelée + Indication du Nom de Serveur (Server Name Indication - SNI) que + seules les révisions les plus récentes de la + spécification SSL supportent.

+ +

Notez que si votre certificat comporte un nom de serveur avec + caractères génériques, ou des noms de serveurs multiples dans le + champ subjectAltName, vous pouvez utiliser SSL avec les serveurs + virtuels à base de noms sans avoir à contourner ce problème.

+ +

La raison en est que le protocole SSL constitue une couche séparée qui + encapsule le protocole HTTP. Aini, la session SSL nécessite une + transaction séparée qui prend place avant que la session HTTP n'ait débuté. + Le serveur reçoit une requête SSL sur l'adresse IP X et le port Y + (habituellement 443). Comme la requête SSL ne contenait aucun + en-tête Host:, le serveur n'avait aucun moyen de déterminer quel hôte virtuel SSL il + devait utiliser. En général, il utilisait le premier + qu'il trouvait et qui + correspondait à l'adresse IP et au port spécifiés.

+ +

Par contre, si vous utilisez des versions du serveur web et + d'OpenSSL qui supportent SNI, et si le navigateur du client le + supporte aussi, alors le nom d'hôte sera inclus dans la + requête SSL originale, et le serveur web pourra + sélectionner le bon serveur virtuel SSL.

+ +

Bien entendu, vous pouvez utiliser l'hébergement virtuel basé sur le nom + pour identifier de nombreux hôtes virtuels non-SSL + (tous sur le port 80 par exemple), et ne gérer qu'un seul hôte virtuel SSL + (sur le port 443). Mais dans ce cas, vous devez définir le numéro de port + non-SSL à l'aide de la directive NameVirtualHost dans ce style :

+ +
NameVirtualHost 192.168.1.1:80
+ + +

il existe d'autres solutions alternatives comme :

+ +

Utiliser des adresses IP différentes pour chaque hôte SSL. + Utiliser des numéros de port différents pour chaque hôte SSL.

+ + +

Comment mettre en oeuvre la compression SSL ?

+

Bien que la négociation pour la compression SSL ait été définie dans la +spécification de SSLv2 et TLS, ce n'est qu'en mai 2004 que la RFC 3749 a +défini DEFLATE comme une méthode de compression standard négociable. +

+

Depuis la version 0.9.8, OpenSSL supporte cette compression par défaut +lorsqu'il est compilé avec l'option zlib. Si le client et le +serveur supportent la compression, elle sera utilisée. Cependant, la +plupart des clients essaient encore de se connecter avec un Hello SSLv2. +Comme SSLv2 ne comportait pas de table des algorithmes de compression préférés +dans sa négociation, la compression ne peut pas être négociée avec ces clients. +Si le client désactive le support SSLv2, un Hello SSLv3 ou TLS peut être +envoyé, selon la bibliothèque SSL utilisée, et la compression peut être mise +en oeuvre. Vous pouvez vérifier si un client utilise la compression SSL en +journalisant la variable %{SSL_COMPRESS_METHOD}x. +

+ + +

Lorsque j'utilise l'authentification de base sur HTTPS, +l'icône de verrouillage des navigateurs Netscape reste ouverte quand la boîte +de dialogue d'authentification apparaît. Cela signifie-t-il que les utilisateur +et mot de passe sont envoyés en clair ?

+

Non, le couple utilisateur/mot de passe est transmis sous forme chiffrée. + L'icône de chiffrement dans les navigateurs Netscape n'est pas vraiment + synchronisé avec la couche SSL/TLS. Il ne passe à l'état verrouillé + qu'au moment où la première partie des données relatives à la page web + proprement dite sont transférées, ce qui peut prêter à confusion. Le + dispositif d'authentification de base appartient à la couche HTTP, qui + est située au dessus de la couche SSL/TLS dans HTTPS. Avant tout + transfert de données HTTP sous HTTPS, la couche SSL/TLS a déjà achevé + sa phase de négociation et basculé dans le mode de communication + chiffrée. Ne vous laissez donc pas abuser par l'état de cet icône.

+ + +

Pourquoi des erreurs d'entrée/sortie apparaissent-elles +lorsqu'on se connecte via HTTPS à un serveur Apache+mod_ssl avec des +versions anciennes de +Microsoft Internet Explorer (MSIE) ?

+

La première raison en est la présence dans l'implémentation SSL de +certaines versions de MSIE de bogues subtils en rapport avec le +dispositif de "maintien en vie" (keep-alive) HTTP, et les alertes de +notification de fermeture de session SSL en cas de coupure de la +connexion au point d'entrée (socket). De plus, l'interaction entre +SSL et les fonctionnalités HTTP/1.1 pose problème avec certaines +versions de MSIE. Vous pouvez contourner ces problèmes en interdisant +à Apache l'utilisation de HTTP/1.1, les connexions avec maintien en vie +ou l'envoi de messages de notification de fermeture de session SSL aux +clients MSIE. Pour cela, vous pouvez utiliser la directive suivante +dans votre section d'hôte virtuel avec support SSL :

+
SetEnvIf User-Agent "MSIE [2-5]" \
+         nokeepalive ssl-unclean-shutdown \
+         downgrade-1.0 force-response-1.0
+ +

En outre, certaines versions de MSIE ont des problèmes avec des + algorithmes de chiffrement particuliers. Hélas, il n'est pas + possible d'apporter une solution spécifique à MSIE pour ces + problèmes, car les algorithmes de chiffrement sont utilisés dès la + phase de négociation SSL. Ainsi, une directive + SetEnvIf spécifique + à MSIE ne peut être d'aucun secours. Par contre, vous devrez + ajuster les paramètres généraux de manière drastique. Avant de + vous décider, soyez sûr que vos clients rencontrent vraiment des + problèmes. Dans la négative, n'effectuez pas ces ajustements car + ils affecteront tous vos clients, ceux utilisant MSIE, + mais aussi les autres.

+ + + +

Comment activer TLS-SRP ?

+

Le protocole TLS-SRP (Echange de clés sécurisé par mot de passe + pour TLS comme spécifié dans la RFC 5054) peut compléter ou même + remplacer les certificats lors du processus d'authentification des + connexions SSL. Pour utiliser TLS-SRP, spécifiez un fichier de + vérification SRP OpenSSL via la directive SSLSRPVerifierFile. Vous pouvez créer + le fichier de vérification via l'utilitaire openssl :

+

+ openssl srp -srpvfile passwd.srpv -add username +

+

Une fois ce fichier créé, vous devez le référencer dans la + configuration du serveur SSL :

+

+ SSLSRPVerifierFile /path/to/passwd.srpv +

+

Pour forcer les clients à utiliser des algorithmes de chiffrement + basés sur TLS-SRP et s'affranchissant des certificats, utilisez la + directive suivante :

+

+ SSLCipherSuite "!DSS:!aRSA:SRP" +

+ + +

Pourquoi des erreurs de négociation apparaissent +avec les clients basés sur Java lorsqu'on utilise un certificat de plus +de 1024 bits ?

+

Depuis la version 2.4.7, + mod_ssl utilise des paramètres DH qui comportent + des nombres premiers de plus de 1024 bits. Cependant, java 7 et ses versions + antérieures ne supportent que les nombres premiers DH d'une longueur + maximale de 1024 bits.

+ +

Si votre client basé sur Java s'arrête avec une exception telle + que java.lang.RuntimeException: Could not generate DH + keypair et + java.security.InvalidAlgorithmParameterException: Prime size + must be multiple of 64, and can only range from 512 to 1024 + (inclusive), et si httpd enregistre le message tlsv1 + alert internal error (SSL alert number 80) dans son journal + des erreurs (avec un LogLevel + info ou supérieur), vous pouvez soit réarranger la + liste d'algorithmes de mod_ssl via la directive SSLCipherSuite (éventuellement en + conjonction avec la directive SSLHonorCipherOrder), soit utiliser des + paramètres DH personnalisés avec un nombre + premier de 1024 bits, paramètres qui seront toujours prioritaires + par rapport à tout autre paramètre DH par défaut.

+ +

Pour générer des paramètres DH personnalisés, utilisez la + commande openssl dhparam 1024. Vous pouvez aussi + utiliser les + paramètres DH standards issus de la RFC 2409, section 6.2 :

+
-----BEGIN DH PARAMETERS-----
+MIGHAoGBAP//////////yQ/aoiFowjTExmKLgNwc0SkCTgiKZ8x0Agu+pjsTmyJR
+Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL
+/1y29Aa37e44a/taiZ+lrp8kEXxLH+ZJKGZR7OZTgf//////////AgEC
+-----END DH PARAMETERS-----
+

Ajoute les paramètres personnalisés incluant les lignes "BEGIN DH + PARAMETERS" et "END DH PARAMETERS" à la fin du premier fichier de + certificat défini via la directive SSLCertificateFile.

+ + +
top
+
+

Support de mod_ssl

+ + +

Quelles sont les sources d'informations +disponibles en cas de problème avec mod_ssl ?

+

Voici les sources d'informations disponibles ; vous devez chercher +ici en cas de problème.

+ +
+
Vous trouverez des réponses dans la Foire Aux Questions du + manuel utilisateur (ce document)
+
+ http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html
+ Cherchez tout d'abord dans la foire aux questions + (ce document). Si votre question est courante, on a déjà dû y + répondre de nombreuses fois, et elle fait probablement partie + de ce document. +
+
+ + +

Qui peut-on contacter pour un support en cas de +problème avec mod_ssl ?

+

Voici toutes les possibilités de support pour mod_ssl, par ordre + de préférence. Merci d'utiliser ces possibilités + dans cet ordre - ne vous précipitez pas sur celle qui vous + paraît la plus alléchante.

+
    +
  1. Envoyez un rapport de problème à la liste de diffusion de + support des utilisateurs d'Apache httpd
    + + users@httpd.apache.org
    + C'est la deuxième manière de soumettre votre rapport de + problème. Ici aussi, vous devez d'abord vous abonner à la + liste, mais vous pourrez ensuite discuter facilement de votre + problème avec l'ensemble de la communauté d'utilisateurs + d'Apache httpd. +
  2. + +
  3. Ecrire un rapport de problème dans la base de données des + bogues
    + + http://httpd.apache.org/bug_report.html
    + C'est la dernière manière de soumettre votre rapport de + problème. Vous ne devez utiliser cette solution que si vous + avez déjà écrit aux listes de diffusion, et n'avez pas trouvé + de solution. Merci de suivre les instructions de la page + mentionnée ci-dessus avec soin. +
  4. +
+ + +

Quelles informations dois-je fournir lors +de l'écriture d'un rapport de bogue ?

+

Vous devez toujours fournir au moins les informations +suivantes :

+ +
+
Les versions d'Apache httpd et OpenSSL installées
+
La version d'Apache peut être déterminée en exécutant + httpd -v. La version d'OpenSSL peut être déterminée + en exécutant openssl version. Si Lynx est installé, + vous pouvez aussi exécuter la commandelynx -mime_header + http://localhost/ | grep Server et ainsi obtenir ces + informations en une seule fois. +
+ +
Les détails de votre installation d'Apache httpd et OpenSSL
+
A cet effet, vous pouvez fournir un fichier journal de votre + session de terminal qui montre les étapes de la configuration et + de l'installation. En cas d'impossibilité, vous devez au moins + fournir la ligne de commande configure que + vous avez utilisée. +
+ +
En cas de vidage mémoire, inclure une trace de ce qui s'est + passé
+
Si votre serveur Apache httpd fait un vidage de sa + mémoire, merci de fournir en pièce jointe un fichier contenant + une trace de la zone dédiée à la pile (voir + ci-dessous pour des informations sur la manière + de l'obtenir). Il est nécessaire de disposer de ces informations + afin de pouvoir déterminer la raison de votre vidage mémoire. +
+ +
Une description détaillée de votre problème
+ +
Ne riez pas, nous sommes sérieux ! De nombreux rapports + n'incluent pas de description de la véritable nature du problème. + Sans ces informations, il est très difficile pour quiconque de + vous aider. Donc, et c'est votre propre intérêt (vous souhaitez + que le problème soit résolu, n'est-ce pas ?), fournissez, s'il vous + plait, le maximum de détails possible. Bien entendu, vous devez + aussi inclure tout ce qui a été dit précédemment. +
+
+ + +

Un vidage mémoire s'est produit, +pouvez-vous m'aider ?

+

En général non, du moins tant que vous n'aurez pas fourni plus de +détails à propos de la localisation dans le code où Apache a effectué +son vidage mémoire. Ce dont nous avons en général besoin pour vous +aider est une trace de ce qui s'est passé (voir la question suivante). +Sans cette information, il est pratiquement impossible de déterminer +la nature du problème et de vous aider à le résoudre.

+ + +

Comment puis-je obtenir une journalisation de +ce qui s'est passé, pour m'aider à trouver la raison de ce vidage +mémoire ?

+

Vous trouverez ci-dessous les différentes étapes permettant +d'obtenir une journalisation des évènements (backtrace) :

+
    +
  1. Assurez-vous que les symboles de débogage sont disponibles, au + moins pour Apache. Pour cela, sur les plates-formes où GCC/GDB est + utilisé, vous devez compiler Apache+mod_ssl avec l'option + ``OPTIM="-g -ggdb3"''. Sur les autres plates-formes, + l'option ``OPTIM="-g"'' est un minimum. +
  2. + +
  3. Démarrez le serveur et essayez de reproduire le vidage mémoire. + A cet effet, vous pouvez utiliser une directive du style + ``CoreDumpDirectory /tmp'' pour être sûr que le + fichier de vidage mémoire puisse bien être écrit. Vous devriez + obtenir un fichier /tmp/core ou + /tmp/httpd.core. Si ce n'est pas le cas, essayez de + lancer votre serveur sous un UID autre que root. + Pour des raisons de sécurité, de nombreux + noyaux modernes de permettent pas à un processus de vider sa + mémoire une fois qu'il a accompli un setuid() (à moins + qu'il effectue un exec()) car des informations d'un + niveau privilégié pourraient être transmises en mémoire. Si + nécessaire, vous pouvez exécuter /chemin/vers/httpd -X + manuellement afin de ne pas permettre à Apache de se clôner (fork). +
  4. + +
  5. Analysez le vidage mémoire. Pour cela, exécutez + gdb /path/to/httpd /tmp/httpd.core ou une commande + similaire. Dans GDB, tout ce que vous avez à faire est d'entrer + bt, et voila, vous obtenez la backtrace. Pour les + débogueurs autres que GDB consulter le manuel correspondant. +
  6. +
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_howto.html b/docs/manual/ssl/ssl_howto.html new file mode 100644 index 0000000..004586e --- /dev/null +++ b/docs/manual/ssl/ssl_howto.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ssl_howto.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: ssl_howto.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/ssl/ssl_howto.html.en b/docs/manual/ssl/ssl_howto.html.en new file mode 100644 index 0000000..d5c2075 --- /dev/null +++ b/docs/manual/ssl/ssl_howto.html.en @@ -0,0 +1,449 @@ + + + + + +SSL/TLS Strong Encryption: How-To - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

SSL/TLS Strong Encryption: How-To

+
+

Available Languages:  en  | + fr 

+
+ + +

This document is intended to get you started, and get a few things +working. You are strongly encouraged to read the rest of the SSL +documentation, and arrive at a deeper understanding of the material, +before progressing to the advanced techniques.

+
+ +
top
+
+

Basic Configuration Example

+ + +

Your SSL configuration will need to contain, at minimum, the +following directives.

+ +
LoadModule ssl_module modules/mod_ssl.so
+
+Listen 443
+<VirtualHost *:443>
+    ServerName www.example.com
+    SSLEngine on
+    SSLCertificateFile "/path/to/www.example.com.cert"
+    SSLCertificateKeyFile "/path/to/www.example.com.key"
+</VirtualHost>
+ + +
top
+
+

Cipher Suites and Enforcing Strong Security

+ + + +

How can I create an SSL server which accepts strong encryption +only?

+ +

The following enables only the strongest ciphers:

+
SSLCipherSuite HIGH:!aNULL:!MD5
+ + +

While with the following configuration you specify a preference + for specific speed-optimized ciphers (which will be selected by + mod_ssl, provided that they are supported by the client):

+ +
SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
+SSLHonorCipherOrder on
+ + + +

How can I create an SSL server which accepts all types of ciphers +in general, but requires a strong ciphers for access to a particular +URL?

+ +

Obviously, a server-wide SSLCipherSuite which restricts + ciphers to the strong variants, isn't the answer here. However, + mod_ssl can be reconfigured within Location + blocks, to give a per-directory solution, and can automatically force + a renegotiation of the SSL parameters to meet the new configuration. + This can be done as follows:

+
# be liberal in general
+SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
+
+<Location "/strong/area">
+# but https://hostname/strong/area/ and below
+# requires strong ciphers
+SSLCipherSuite HIGH:!aNULL:!MD5
+</Location>
+ + +
top
+
+

OCSP Stapling

+ + +

The Online Certificate Status Protocol (OCSP) is a mechanism for +determining whether or not a server certificate has been revoked, and OCSP +Stapling is a special form of this in which the server, such as httpd and +mod_ssl, maintains current OCSP responses for its certificates and sends +them to clients which communicate with the server. Most certificates +contain the address of an OCSP responder maintained by the issuing +Certificate Authority, and mod_ssl can communicate with that responder to +obtain a signed response that can be sent to clients communicating with +the server.

+ +

Because the client can obtain the certificate revocation status from +the server, without requiring an extra connection from the client to the +Certificate Authority, OCSP Stapling is the preferred way for the +revocation status to be obtained. Other benefits of eliminating the +communication between clients and the Certificate Authority are that the +client browsing history is not exposed to the Certificate Authority and +obtaining status is more reliable by not depending on potentially heavily +loaded Certificate Authority servers.

+ +

Because the response obtained by the server can be reused for all clients +using the same certificate during the time that the response is valid, the +overhead for the server is minimal.

+ +

Once general SSL support has been configured properly, enabling OCSP +Stapling generally requires only very minor modifications to the httpd +configuration — the addition of these two directives:

+ +
SSLUseStapling On
+SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
+ + +

These directives are placed at global scope (i.e., not within a virtual +host definition) wherever other global SSL configuration directives are +placed, such as in conf/extra/httpd-ssl.conf for normal +open source builds of httpd, /etc/apache2/mods-enabled/ssl.conf +for the Ubuntu or Debian-bundled httpd, etc.

+ +

The path on the SSLStaplingCache directive +(e.g., logs/) should match the one on the +SSLSessionCache directive. This path is relative +to ServerRoot.

+ +

This particular SSLStaplingCache directive requires +mod_socache_shmcb (from the shmcb prefix on the +directive's argument). This module is usually enabled already for +SSLSessionCache or on behalf of some module other than +mod_ssl. If you enabled an SSL session cache using a +mechanism other than mod_socache_shmcb, use that alternative +mechanism for SSLStaplingCache as well. For example:

+ +
SSLSessionCache "dbm:logs/ssl_scache"
+SSLStaplingCache "dbm:logs/ssl_stapling"
+ + +

You can use the openssl command-line program to verify that an OCSP response +is sent by your server:

+ +
$ openssl s_client -connect www.example.com:443 -status -servername www.example.com
+...
+OCSP response: 
+======================================
+OCSP Response Data:
+    OCSP Response Status: successful (0x0)
+    Response Type: Basic OCSP Response
+...
+    Cert Status: Good
+...
+ +

The following sections highlight the most common situations which require +further modification to the configuration. Refer also to the +mod_ssl reference manual.

+ +

If more than a few SSL certificates are used for the server

+ +

OCSP responses are stored in the SSL stapling cache. While the responses +are typically a few hundred to a few thousand bytes in size, mod_ssl +supports OCSP responses up to around 10K bytes in size. With more than a +few certificates, the stapling cache size (32768 bytes in the example above) +may need to be increased. Error message AH01929 will be logged in case of +an error storing a response.

+ + +

If the certificate does not point to an OCSP responder, or if a +different address must be used

+ +

Refer to the +SSLStaplingForceURL directive.

+ +

You can confirm that a server certificate points to an OCSP responder +using the openssl command-line program, as follows:

+ +
$ openssl x509 -in ./www.example.com.crt -text | grep 'OCSP.*http'
+OCSP - URI:http://ocsp.example.com
+ +

If the OCSP URI is provided and the web server can communicate to it +directly without using a proxy, no configuration is required. Note that +firewall rules that control outbound connections from the web server may +need to be adjusted.

+ +

If no OCSP URI is provided, contact your Certificate Authority to +determine if one is available; if so, configure it with +SSLStaplingForceURL in the virtual +host that uses the certificate.

+ + +

If multiple SSL-enabled virtual hosts are configured and OCSP +Stapling should be disabled for some

+ + +

Add SSLUseStapling Off to the virtual hosts for which OCSP +Stapling should be disabled.

+ + +

If the OCSP responder is slow or unreliable

+ +

Several directives are available to handle timeouts and errors. Refer +to the documentation for the +SSLStaplingFakeTryLater, +SSLStaplingResponderTimeout, and +SSLStaplingReturnResponderErrors +directives.

+ + +

If mod_ssl logs error AH02217

+ +
AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!
+

In order to support OCSP Stapling when a particular server certificate is +used, the certificate chain for that certificate must be configured. If it +was not configured as part of enabling SSL, the AH02217 error will be issued +when stapling is enabled, and an OCSP response will not be provided for clients +using the certificate.

+ +

Refer to the SSLCertificateChainFile +and SSLCertificateFile for instructions +for configuring the certificate chain.

+ + +
top
+
+

Client Authentication and Access Control

+ + + +

How can I force clients to authenticate using certificates?

+ + +

When you know all of your users (eg, as is often the case on a corporate + Intranet), you can require plain certificate authentication. All you + need to do is to create client certificates signed by your own CA + certificate (ca.crt) and then verify the clients against this + certificate.

+
# require a client certificate which has to be directly
+# signed by our CA certificate in ca.crt
+SSLVerifyClient require
+SSLVerifyDepth 1
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+ + + +

How can I force clients to authenticate using certificates for a + particular URL, but still allow arbitrary clients to access the rest of the server?

+ + +

To force clients to authenticate using certificates for a particular URL, + you can use the per-directory reconfiguration features of + mod_ssl:

+ +
SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+
+<Location "/secure/area">
+SSLVerifyClient require
+SSLVerifyDepth 1
+</Location>
+ + + +

How can I allow only clients who have certificates to access a + particular URL, but allow all clients to access the rest of the server?

+ + +

The key to doing this is checking that part of the client certificate + matches what you expect. Usually this means checking all or part of the + Distinguished Name (DN), to see if it contains some known string. + There are two ways to do this, using either mod_auth_basic or + SSLRequire.

+ +

The mod_auth_basic method is generally required when + the certificates are completely arbitrary, or when their DNs have + no common fields (usually the organisation, etc.). In this case, + you should establish a password database containing all + clients allowed, as follows:

+ +
SSLVerifyClient      none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+<Directory "/usr/local/apache2/htdocs/secure/area">
+    SSLVerifyClient      require
+    SSLVerifyDepth       5
+    SSLOptions           +FakeBasicAuth
+    SSLRequireSSL
+    AuthName             "Snake Oil Authentication"
+    AuthType             Basic
+    AuthBasicProvider    file
+    AuthUserFile         "/usr/local/apache2/conf/httpd.passwd"
+    Require              valid-user
+</Directory>
+ + +

The password used in this example is the DES encrypted string "password". + See the SSLOptions docs for more + information.

+ +

httpd.passwd

/C=DE/L=Munich/O=Snake Oil, Ltd./OU=Staff/CN=Foo:xxj31ZMTZzkVA
+/C=US/L=S.F./O=Snake Oil, Ltd./OU=CA/CN=Bar:xxj31ZMTZzkVA
+/C=US/L=L.A./O=Snake Oil, Ltd./OU=Dev/CN=Quux:xxj31ZMTZzkVA
+ +

When your clients are all part of a common hierarchy, which is encoded + into the DN, you can match them more easily using SSLRequire, as follows:

+ + +
SSLVerifyClient      none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+<Directory "/usr/local/apache2/htdocs/secure/area">
+  SSLVerifyClient      require
+  SSLVerifyDepth       5
+  SSLOptions           +FakeBasicAuth
+  SSLRequireSSL
+  SSLRequire       %{SSL_CLIENT_S_DN_O}  eq "Snake Oil, Ltd." \
+               and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
+</Directory>
+ + + +

How can I require HTTPS with strong ciphers, and either basic +authentication or client certificates, for access to part of the +Intranet website, for clients coming from the Internet? I still want to allow +plain HTTP access for clients on the Intranet.

+ + +

These examples presume that clients on the Intranet have IPs in the range + 192.168.1.0/24, and that the part of the Intranet website you want to allow + internet access to is /usr/local/apache2/htdocs/subarea. + This configuration should remain outside of your HTTPS virtual host, so + that it applies to both HTTPS and HTTP.

+ +
SSLCACertificateFile "conf/ssl.crt/company-ca.crt"
+
+<Directory "/usr/local/apache2/htdocs">
+    #   Outside the subarea only Intranet access is granted
+    Require              ip 192.168.1.0/24
+</Directory>
+
+<Directory "/usr/local/apache2/htdocs/subarea">
+    #   Inside the subarea any Intranet access is allowed
+    #   but from the Internet only HTTPS + Strong-Cipher + Password
+    #   or the alternative HTTPS + Strong-Cipher + Client-Certificate
+    
+    #   If HTTPS is used, make sure a strong cipher is used.
+    #   Additionally allow client certs as alternative to basic auth.
+    SSLVerifyClient      optional
+    SSLVerifyDepth       1
+    SSLOptions           +FakeBasicAuth +StrictRequire
+    SSLRequire           %{SSL_CIPHER_USEKEYSIZE} >= 128
+    
+    #   Force clients from the Internet to use HTTPS
+    RewriteEngine        on
+    RewriteCond          "%{REMOTE_ADDR}" "!^192\.168\.1\.[0-9]+$"
+    RewriteCond          "%{HTTPS}" "!=on"
+    RewriteRule          "." "-" [F]
+    
+    #   Allow Network Access and/or Basic Auth
+    Satisfy              any
+    
+    #   Network Access Control
+    Require              ip 192.168.1.0/24
+    
+    #   HTTP Basic Authentication
+    AuthType             basic
+    AuthName             "Protected Intranet Area"
+    AuthBasicProvider    file
+    AuthUserFile         "conf/protected.passwd"
+    Require              valid-user
+</Directory>
+ + +
top
+
+

Logging

+ + +

mod_ssl can log extremely verbose debugging information + to the error log, when its LogLevel is + set to the higher trace levels. On the other hand, on a very busy server, + level info may already be too much. Remember that you can + configure the LogLevel per module to + suite your needs.

+
+
+

Available Languages:  en  | + fr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_howto.html.fr.utf8 b/docs/manual/ssl/ssl_howto.html.fr.utf8 new file mode 100644 index 0000000..660a905 --- /dev/null +++ b/docs/manual/ssl/ssl_howto.html.fr.utf8 @@ -0,0 +1,489 @@ + + + + + +Chiffrement fort SSL/TLS : Mode d'emploi - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Chiffrement fort SSL/TLS : Mode d'emploi

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document doit vous permettre de démarrer et de faire fonctionner +une configuration de base. Avant de vous lancer dans l'application de +techniques avancées, il est fortement recommandé de lire le reste +de la documentation SSL afin d'en comprendre le fonctionnement de +manière plus approfondie.

+
+ +
top
+
+

Exemple de configuration basique

+ + +

Votre configuration SSL doit comporter au moins les directives +suivantes :

+ +
LoadModule ssl_module modules/mod_ssl.so
+
+Listen 443
+<VirtualHost *:443>
+    ServerName www.example.com
+    SSLEngine on
+    SSLCertificateFile "/path/to/www.example.com.cert"
+    SSLCertificateKeyFile "/path/to/www.example.com.key"
+</VirtualHost>
+ + +
top
+
+

Suites de chiffrement et mise en application de la sécurité +de haut niveau

+ + + + +

Comment créer un serveur SSL qui n'accepte +que le chiffrement fort ?

+ +

Les directives suivantes ne permettent que les + chiffrements de plus haut niveau :

+
SSLCipherSuite HIGH:!aNULL:!MD5
+ + +

Avec la configuration qui suit, vous indiquez une préférence pour + des algorityhmes de chiffrement spécifiques optimisés en matière de + rapidité (le choix final sera opéré par mod_ssl, dans la mesure ou le + client les supporte) :

+ +
SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
+SSLHonorCipherOrder on
+ + + +

Comment créer un serveur qui accepte tous les types de +chiffrement en général, mais exige un chiffrement fort pour pouvoir +accéder à une URL particulière ?

+ +

Dans ce cas bien évidemment, une directive SSLCipherSuite au niveau du serveur principal + qui restreint le choix des suites de chiffrement aux versions les plus + fortes ne conviendra pas. mod_ssl peut cependant être + reconfiguré au sein de blocs Location qui permettent + d'adapter la configuration générale à un répertoire spécifique ; + mod_ssl peut alors forcer automatiquement une + renégociation des paramètres SSL pour parvenir au but recherché. + Cette configuration peut se présenter comme suit :

+
# soyons très tolérant a priori
+SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
+
+<Location "/strong/area">
+# sauf pour https://hostname/strong/area/ et ses sous-répertoires
+# qui exigent des chiffrements forts
+SSLCipherSuite HIGH:!aNULL:!MD5
+</Location>
+ + +
top
+
+

Agrafage OCSP

+ + +

Le protocole de contrôle du statut des certificats en ligne (Online +Certificate Status Protocol - OCSP) est un mécanisme permettant de +déterminer si un certificat a été révoqué ou non, et l'agrafage OCSP en +est une fonctionnalité particulière par laquelle le serveur, par exemple +httpd et mod_ssl, maintient une liste des réponses OCSP actuelles pour +ses certificats et l'envoie aux clients qui communiquent avec lui. La +plupart des certificats contiennent l'adresse d'un répondeur OCSP maintenu +par l'Autorité de Certification (CA) spécifiée, et mod_ssl peut requérir +ce répondeur pour obtenir une réponse signée qui peut être envoyée aux +clients qui communiquent avec le serveur.

+ +

L'agrafage OCSP est la méthode la plus performante pour obtenir le +statut d'un certificat car il est disponible au niveau du serveur, et le +client n'a donc pas besoin d'ouvrir une nouvelle connexion vers +l'autorité de certification. Autres avantages de l'absence de +communication entre le client et l'autorité de certification : +l'autorité de certification n'a pas accès à l'historique de navigation +du client, et l'obtention du statut du certificat est plus efficace car +elle n'est plus assujettie à une surcharge éventuelle des serveurs de +l'autorité de certification.

+ +

La charge du serveur est moindre car la réponse qu'il a obtenu du +répondeur OCSP peut être réutilisée par tous les clients qui utilisent +le même certificat dans la limite du temps de validité de la réponse.

+ +

Une fois le support général SSL correctement configuré, l'activation +de l'agrafage OCSP ne requiert que des modifications mineures +à la configuration de httpd et il suffit en général de l'ajout de ces +deux directives :

+ +
SSLUseStapling On
+SSLStaplingCache "shmcb:ssl_stapling(32768)"
+ + +

Ces directives sont placées de façon à ce qu'elles aient une portée +globale (et particulièrement en dehors de toute section VirtualHost), le +plus souvent où sont placées les autres directives de configuration +globales SSL, comme conf/extra/httpd-ssl.conf pour les +installations de httpd à partir des sources, ou +/etc/apache2/mods-enabled/ssl.conf pour Ubuntu ou Debian, +etc...

+ +

Le chemin spécifié par la directive +SSLStaplingCache (par exemple logs/) +doit être le même que celui spécifié par la directive +SSLSessionCache. Ce chemin est relatif au chemin +spécifié par la directive ServerRoot.

+ +

Cette directive SSLStaplingCache particulière +nécessite le chargement du module mod_socache_shmcb (à +cause du préfixe shmcb de son argument). Ce module est en +général déjà activé pour la directive +SSLSessionCache, ou pour des modules autres que +mod_ssl. Si vous activez un cache de session SSL +utilisant un mécanisme autre que mod_socache_shmcb, +utilisez aussi ce mécanisme alternatif pour la directive +SSLStaplingCache. Par exemple :

+ +
SSLSessionCache "dbm:ssl_scache"
+SSLStaplingCache "dbm:ssl_stapling"
+ + +

Vous pouvez utiliser la commande openssl pour vérifier que votre +serveur envoie bien une réponse OCSP :

+ +
$ openssl s_client -connect www.example.com:443 -status -servername www.example.com
+...
+OCSP response: 
+======================================
+OCSP Response Data:
+    OCSP Response Status: successful (0x0)
+    Response Type: Basic OCSP Response
+...
+    Cert Status: Good
+...
+ +

Les sections suivantes explicitent les situations courantes qui +requièrent des modifications supplémentaires de la configuration. Vous +pouvez aussi vous référer au manuel de référence de +mod_ssl.

+ +

Si l'on utilise plus que quelques certificats SSL pour le serveur

+ +

Les réponses OCSP sont stockées dans le cache d'agrafage SSL. Alors +que les réponses ont une taille de quelques centaines à quelques +milliers d'octets, mod_ssl supporte des réponses d'une taille jusqu'à +environ 10 ko. Dans notre cas, le nombre de certificats est conséquent +et la taille du cache (32768 octets dans l'exemple ci-dessus) doit être +augmentée. En cas d'erreur lors du stockage d'une réponse, le +message AH01929 sera enregistré dans le journal.

+ + +

Si le certificat ne spécifie pas de répondeur OCSP, ou si une +adresse différente doit être utilisée

+ +

Veuillez vous référer à la documentation de la directive SSLStaplingForceURL.

+ +

Vous pouvez vérifier si un certificat spécifie un répondeur OCSP en +utilisant la commande openssl comme suit :

+ +
$ openssl x509 -in ./www.example.com.crt -text | grep 'OCSP.*http'
+OCSP - URI:http://ocsp.example.com
+ +

Si un URI OCSP est fourni et si le serveur web peut communiquer +directement avec lui sans passer par un mandataire, aucune modification +supplémentaire de la configuration n'est requise. Notez que les règles +du pare-feu qui contrôlent les connexions sortantes en provenance du +serveur web devront peut-être subir quelques ajustements.

+ +

Si aucun URI OCSP n'est fourni, contactez votre autorité de +certification pour savoir s'il en existe une ; si c'est le +cas, utilisez la directive SSLStaplingForceURL pour la spécifier dans +la configuration du serveur virtuel qui utilise le certificat.

+ + +

Si plusieurs serveurs virtuels sont configurés pour utiliser SSL +et si l'agrafage OCSP doit être désactivé pour certains d'entre eux

+ + +

Ajoutez la directive SSLUseStapling Off à la +configuration des serveurs virtuels pour lesquels l'agrafage OCSP doit +être désactivé.

+ + +

Si le répondeur OCSP est lent ou instable

+ +

De nombreuses directives permettent de gérer les temps de réponse et +les erreurs. Référez-vous à la documentation de SSLStaplingFakeTryLater, SSLStaplingResponderTimeout, et SSLStaplingReturnResponderErrors.

+ + +

Si mod_ssl enregistre l'erreur AH02217 dans le journal

+ +
AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!
+

Afin de pouvoir supporter l'agrafage OCSP lorsqu'un certificat de +serveur particulier est utilisé, une chaîne de certification pour ce +certificat doit être spécifiée. Si cela n'a pas été fait lors de +l'activation de SSL, l'erreur AH02217 sera enregistrée lorsque +l'agrafage OCSP sera activé, et les clients qui utilisent le certificat +considéré ne recevront pas de réponse OCSP.

+ +

Veuillez vous référer à la documentation des directives SSLCertificateChainFile et SSLCertificateFile pour spécifier une +chaîne de certification.

+ + +
top
+
+

Authentification du client et contrôle d'accès

+ + + +

Comment forcer les clients +à s'authentifier à l'aide de certificats ? +

+ + +

Lorsque vous connaissez tous vos clients (comme c'est en général le cas + au sein d'un intranet d'entreprise), vous pouvez imposer une + authentification basée uniquement sur les certificats. Tout ce dont vous + avez besoin pour y parvenir est de créer des certificats clients signés par + le certificat de votre propre autorité de certification + (ca.crt), et d'authentifier les clients à l'aide de ces + certificats.

+
# exige un certificat client signé par le certificat de votre CA
+# contenu dans ca.crt
+SSLVerifyClient require
+SSLVerifyDepth 1
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+ + + +

Comment forcer les clients +à s'authentifier à l'aide de certificats pour une URL particulière, +mais autoriser quand-même tout client anonyme +à accéder au reste du serveur ?

+ + +

Pour forcer les clients à s'authentifier à l'aide de certificats pour une +URL particulière, vous pouvez utiliser les fonctionnalités de reconfiguration +de mod_ssl en fonction du répertoire :

+ +
SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+
+<Location "/secure/area">
+SSLVerifyClient require
+SSLVerifyDepth 1
+</Location>
+ + + +

Comment n'autoriser l'accès à une URL +particulière qu'aux clients qui possèdent des certificats, mais autoriser +l'accès au reste du serveur à tous les clients ?

+ + +

La clé du problème consiste à vérifier si une partie du certificat + client correspond à ce que vous attendez. Cela signifie en général + consulter tout ou partie du nom distinctif (DN), afin de vérifier s'il + contient une chaîne connue. Il existe deux méthodes pour y parvenir ; + on utilise soit le module mod_auth_basic, soit la + directive SSLRequire.

+ +

La méthode du module mod_auth_basic est en général + incontournable lorsque les certificats ont un contenu arbitraire, ou + lorsque leur DN ne contient aucun champ connu + (comme l'organisation, etc...). Dans ce cas, vous devez construire une base + de données de mots de passe contenant tous les clients + autorisés, comme suit :

+ +
SSLVerifyClient      none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+<Directory "/usr/local/apache2/htdocs/secure/area">
+SSLVerifyClient      require
+    SSLVerifyDepth       5
+    SSLOptions           +FakeBasicAuth
+    SSLRequireSSL
+    AuthName             "Snake Oil Authentication"
+    AuthType             Basic
+    AuthBasicProvider    file
+    AuthUserFile         "/usr/local/apache2/conf/httpd.passwd"
+    Require              valid-user
+</Directory>
+ + + +

Le mot de passe utilisé dans cet exemple correspond à la chaîne de + caractères "password" chiffrée en DES. Voir la documentation de la + directive SSLOptions pour + plus de détails.

+ +

httpd.passwd

/C=DE/L=Munich/O=Snake Oil, Ltd./OU=Staff/CN=Foo:xxj31ZMTZzkVA
+/C=US/L=S.F./O=Snake Oil, Ltd./OU=CA/CN=Bar:xxj31ZMTZzkVA
+/C=US/L=L.A./O=Snake Oil, Ltd./OU=Dev/CN=Quux:xxj31ZMTZzkVA
+ +

Lorsque vos clients font tous partie d'une même hiérarchie, ce qui + apparaît dans le DN, vous pouvez les authentifier plus facilement en + utilisant la directive SSLRequire, comme suit :

+ + +
SSLVerifyClient      none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+<Directory "/usr/local/apache2/htdocs/secure/area">
+  SSLVerifyClient      require
+  SSLVerifyDepth       5
+  SSLOptions           +FakeBasicAuth
+  SSLRequireSSL
+  SSLRequire       %{SSL_CLIENT_S_DN_O}  eq "Snake Oil, Ltd." \
+               and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
+</Directory>
+ + + +

Comment imposer HTTPS avec chiffrements forts, +et soit authentification de base, soit possession de certificats clients, +pour l'accès à une partie de l'Intranet, pour les clients en +provenance de l'Internet ? Je souhaite quand-même autoriser l'accès en HTTP +aux clients de l'intranet.

+ + +

On suppose dans ces exemples que les clients de l'intranet ont des + adresses IP dans la gamme 192.168.1.0/24, et que la partie de l'intranet + à laquelle vous voulez autoriser l'accès depuis l'Internet est + /usr/local/apache2/htdocs/subarea. Ces lignes de configuration + doivent se trouver en dehors de votre hôte virtuel HTTPS, afin qu'elles + s'appliquent à la fois à HTTP et HTTPS.

+ +
SSLCACertificateFile "conf/ssl.crt/company-ca.crt"
+
+<Directory "/usr/local/apache2/htdocs">
+#   En dehors de subarea, seul l'accès depuis l'intranet est
+#   autorisé
+    Require              ip 192.168.1.0/24
+</Directory>
+
+<Directory "/usr/local/apache2/htdocs/subarea">
+#   Dans subarea, tout accès depuis l'intranet est autorisé
+#   mais depuis l'Internet, seul l'accès par HTTPS + chiffrement fort + Mot de passe
+#   ou HTTPS + chiffrement fort + certificat client n'est autorisé.
+
+#   Si HTTPS est utilisé, on s'assure que le niveau de chiffrement est fort.
+#   Autorise en plus les certificats clients comme une alternative à
+#   l'authentification basique.
+    SSLVerifyClient      optional
+    SSLVerifyDepth       1
+    SSLOptions           +FakeBasicAuth +StrictRequire
+    SSLRequire           %{SSL_CIPHER_USEKEYSIZE} >= 128
+    
+    #   ON oblige les clients venant d'Internet à utiliser HTTPS
+    RewriteEngine        on
+    RewriteCond          "%{REMOTE_ADDR}" "!^192\.168\.1\.[0-9]+$"
+    RewriteCond          "%{HTTPS}" "!=on"
+    RewriteRule          "." "-" [F]
+    
+    #   On permet l'accès soit sur les critères réseaux, soit par authentification Basique
+    Satisfy              any
+    
+    #   Contrôle d'accès réseau
+    Require              ip 192.168.1.0/24
+    
+    #   Configuration de l'authentification HTTP Basique
+    AuthType             basic
+    AuthName             "Protected Intranet Area"
+    AuthBasicProvider    file
+    AuthUserFile         "conf/protected.passwd"
+    Require              valid-user
+</Directory>
+ + +
top
+
+

Journalisation

+ + +

mod_ssl peut enregistrer des informations de + débogage très verbeuses dans le journal des erreurs, lorsque sa + directive LogLevel est définie + à des niveaux de trace élevés. Par contre, sur un serveur très + sollicité, le niveau info sera probablement déjà trop + élevé. Souvenez-vous que vous pouvez configurer la directive + LogLevel par module afin de + pourvoir à vos besoins.

+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_intro.html b/docs/manual/ssl/ssl_intro.html new file mode 100644 index 0000000..25de340 --- /dev/null +++ b/docs/manual/ssl/ssl_intro.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ssl_intro.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: ssl_intro.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: ssl_intro.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/ssl/ssl_intro.html.en b/docs/manual/ssl/ssl_intro.html.en new file mode 100644 index 0000000..bdd4792 --- /dev/null +++ b/docs/manual/ssl/ssl_intro.html.en @@ -0,0 +1,672 @@ + + + + + +SSL/TLS Strong Encryption: An Introduction - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

SSL/TLS Strong Encryption: An Introduction

+
+

Available Languages:  en  | + fr  | + ja 

+
+ + +

As an introduction this chapter is aimed at readers who are familiar +with the Web, HTTP, and Apache, but are not security experts. It is not +intended to be a definitive guide to the SSL protocol, nor does it discuss +specific techniques for managing certificates in an organization, or the +important legal issues of patents and import and export restrictions. +Rather, it is intended to provide a common background to mod_ssl users by pulling together various concepts, definitions, +and examples as a starting point for further exploration.

+
+ +
top
+
+

Cryptographic Techniques

+ +

Understanding SSL requires an understanding of cryptographic +algorithms, message digest functions (aka. one-way or hash functions), and +digital signatures. These techniques are the subject of entire books (see +for instance [AC96]) and provide the basis for privacy, +integrity, and authentication.

+ +

Cryptographic Algorithms

+ +

Suppose Alice wants to send a message to her bank to transfer some + money. Alice would like the message to be private, since it will + include information such as her account number and transfer amount. One + solution is to use a cryptographic algorithm, a technique that would + transform her message into an encrypted form, unreadable until it is + decrypted. Once in this form, the message can only be + decrypted by using a secret key. Without the key the message is useless: + good cryptographic algorithms make it so difficult + for intruders to decode the original text that it isn't worth their + effort.

+ +

There are two categories of cryptographic algorithms: conventional + and public key.

+ +
+
Conventional cryptography
+
also known as symmetric cryptography, requires the sender and + receiver to share a key: a secret piece of information that may be + used to encrypt or decrypt a message. As long as this key is kept + secret, nobody other than the sender or recipient can read the message. + If Alice and the bank know a secret key, then they can send each other + private messages. The task of sharing a key between sender and recipient + before communicating, while also keeping it secret from others, can be + problematic.
+ +
Public key cryptography
+
also known as asymmetric cryptography, solves the key exchange + problem by defining an algorithm which uses two keys, each of which + may be used to encrypt a message. If one key is used to encrypt a + message then the other must be used to decrypt it. This makes it + possible to receive secure messages by simply publishing one key + (the public key) and keeping the other secret (the private key).
+
+ +

Anyone can encrypt a message using the public key, but only the + owner of the private key will be able to read it. In this way, Alice + can send private messages to the owner of a key-pair (the bank), by + encrypting them using their public key. Only the bank will be able to + decrypt them.

+ + +

Message Digests

+ +

Although Alice may encrypt her message to make it private, there + is still a concern that someone might modify her original message or + substitute it with a different one, in order to transfer the money + to themselves, for instance. One way of guaranteeing the integrity + of Alice's message is for her to create a concise summary of her + message and send this to the bank as well. Upon receipt of the message, + the bank creates its own summary and compares it with the one Alice + sent. If the summaries are the same then the message has been received + intact.

+ +

A summary such as this is called a message digest, one-way + function or hash function. Message digests are used to create + a short, fixed-length representation of a longer, variable-length message. + Digest algorithms are designed to produce a unique digest for each + message. Message digests are designed to make it impractically difficult + to determine the message from the digest and (in theory) impossible to + find two different messages which create the same digest -- thus + eliminating the possibility of substituting one message for another while + maintaining the same digest.

+ +

Another challenge that Alice faces is finding a way to send the digest + to the bank securely; if the digest is not sent securely, its integrity may + be compromised and with it the possibility for the bank to determine the + integrity of the original message. Only if the digest is sent securely can + the integrity of the associated message be determined.

+ +

One way to send the digest securely is to include it in a digital + signature.

+ + +

Digital Signatures

+

When Alice sends a message to the bank, the bank needs to ensure that the +message is really from her, so an intruder cannot request a transaction +involving her account. A digital signature, created by Alice and +included with the message, serves this purpose.

+ +

Digital signatures are created by encrypting a digest of the message and +other information (such as a sequence number) with the sender's private key. +Though anyone can decrypt the signature using the public key, only the +sender knows the private key. This means that only the sender can have signed +the message. Including the digest in the signature means the signature is only +good for that message; it also ensures the integrity of the message since no one +can change the digest and still sign it.

+

To guard against interception and reuse of the signature by an intruder at a +later date, the signature contains a unique sequence number. This protects +the bank from a fraudulent claim from Alice that she did not send the message +-- only she could have signed it (non-repudiation).

+ +
top
+
+

Certificates

+ +

Although Alice could have sent a private message to the bank, signed +it and ensured the integrity of the message, she still needs to be sure +that she is really communicating with the bank. This means that she needs +to be sure that the public key she is using is part of the bank's key-pair, +and not an intruder's. Similarly, the bank needs to verify that the message +signature really was signed by the private key that belongs to Alice.

+ +

If each party has a certificate which validates the other's identity, +confirms the public key and is signed by a trusted agency, then both +can be assured that they are communicating with whom they think they are. +Such a trusted agency is called a Certificate Authority and +certificates are used for authentication.

+ +

Certificate Contents

+ +

A certificate associates a public key with the real identity of + an individual, server, or other entity, known as the subject. As + shown in Table 1, information about the subject + includes identifying information (the distinguished name) and the + public key. It also includes the identification and signature of the + Certificate Authority that issued the certificate and the period of + time during which the certificate is valid. It may have additional + information (or extensions) as well as administrative information + for the Certificate Authority's use, such as a serial number.

+ +

Table 1: Certificate Information

+ + + + + + + + + + + + + +
SubjectDistinguished Name, Public Key
IssuerDistinguished Name, Signature
Period of ValidityNot Before Date, Not After Date
Administrative InformationVersion, Serial Number
Extended InformationBasic Constraints, Netscape Flags, etc.
+ + +

A distinguished name is used to provide an identity in a specific + context -- for instance, an individual might have a personal + certificate as well as one for their identity as an employee. + Distinguished names are defined by the X.509 standard [X509], which defines the fields, field names and + abbreviations used to refer to the fields (see Table + 2).

+ +

Table 2: Distinguished Name Information

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DN FieldAbbrev.DescriptionExample
Common NameCNName being certifiedCN=Joe Average
Organization or CompanyOName is associated with this
organization
O=Snake Oil, Ltd.
Organizational UnitOUName is associated with this
organization unit, such + as a department
OU=Research Institute
City/LocalityLName is located in this CityL=Snake City
State/ProvinceSTName is located in this State/ProvinceST=Desert
CountryCName is located in this Country (ISO code)C=XZ
+ + +

A Certificate Authority may define a policy specifying which + distinguished field names are optional and which are required. It + may also place requirements upon the field contents, as may users of + certificates. For example, a Netscape browser requires that the + Common Name for a certificate representing a server matches a wildcard + pattern for the domain name of that server, such + as *.snakeoil.com.

+ +

The binary format of a certificate is defined using the ASN.1 + notation [ASN1] [PKCS]. This + notation defines how to specify the contents and encoding rules + define how this information is translated into binary form. The binary + encoding of the certificate is defined using Distinguished Encoding + Rules (DER), which are based on the more general Basic Encoding Rules + (BER). For those transmissions which cannot handle binary, the binary + form may be translated into an ASCII form by using Base64 encoding + [MIME]. When placed between begin and end delimiter + lines (as below), this encoded version is called a PEM ("Privacy Enhanced + Mail") encoded certificate.

+ +

Example of a PEM-encoded certificate (snakeoil.crt)

-----BEGIN CERTIFICATE-----
+MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
+FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
+A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
+cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
+bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL
+MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
+a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
+cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
+AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b
+vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa
+lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV
+HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB
+gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt
+2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7
+dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ==
+-----END CERTIFICATE-----
+ + +

Certificate Authorities

+ +

By verifying the information in a certificate request + before granting the certificate, the Certificate Authority assures + itself of the identity of the private key owner of a key-pair. + For instance, if Alice requests a personal certificate, the + Certificate Authority must first make sure that Alice really is the + person the certificate request claims she is.

+ +

Certificate Chains

+ +

A Certificate Authority may also issue a certificate for + another Certificate Authority. When examining a certificate, + Alice may need to examine the certificate of the issuer, for each + parent Certificate Authority, until reaching one which she has + confidence in. She may decide to trust only certificates with a + limited chain of issuers, to reduce her risk of a "bad" certificate + in the chain.

+ + +

Creating a Root-Level CA

+ +

As noted earlier, each certificate requires an issuer to assert + the validity of the identity of the certificate subject, up to + the top-level Certificate Authority (CA). This presents a problem: + who can vouch for the certificate of the top-level + authority, which has no issuer? In this unique case, the + certificate is "self-signed", so the issuer of the certificate is + the same as the subject. Browsers are preconfigured to trust well-known + certificate authorities, but it is important to exercise extra care in + trusting a self-signed certificate. The wide publication of a + public key by the root authority reduces the risk in trusting this + key -- it would be obvious if someone else publicized a key + claiming to be the authority.

+ +

A number of companies, such as Thawte and VeriSign + have established themselves as Certificate Authorities. These + companies provide the following services:

+ +
    +
  • Verifying certificate requests
  • +
  • Processing certificate requests
  • +
  • Issuing and managing certificates
  • +
+ +

It is also possible to create your own Certificate Authority. + Although risky in the Internet environment, it may be useful + within an Intranet where the organization can easily verify the + identities of individuals and servers.

+ + +

Certificate Management

+ +

Establishing a Certificate Authority is a responsibility which + requires a solid administrative, technical and management + framework. Certificate Authorities not only issue certificates, + they also manage them -- that is, they determine for how long + certificates remain valid, they renew them and keep lists of + certificates that were issued in the past but are no longer valid + (Certificate Revocation Lists, or CRLs).

+ +

For example, if Alice is entitled to a certificate as an + employee of a company but has now left + that company, her certificate may need to be revoked. + Because certificates are only issued after the subject's identity has + been verified and can then be passed around to all those with whom + the subject may communicate, it is impossible to tell from the + certificate alone that it has been revoked. + Therefore when examining certificates for validity + it is necessary to contact the issuing Certificate Authority to + check CRLs -- this is usually not an automated part of the process.

+ +

Note

+

If you use a Certificate Authority that browsers are not configured + to trust by default, it is necessary to load the Certificate + Authority certificate into the browser, enabling the browser to + validate server certificates signed by that Certificate Authority. + Doing so may be dangerous, since once loaded, the browser will + accept all certificates signed by that Certificate Authority.

+
+ + + +
top
+
+

Secure Sockets Layer (SSL)

+ +

The Secure Sockets Layer protocol is a protocol layer which may be +placed between a reliable connection-oriented network layer protocol +(e.g. TCP/IP) and the application protocol layer (e.g. HTTP). SSL provides +for secure communication between client and server by allowing mutual +authentication, the use of digital signatures for integrity and encryption +for privacy.

+ +

The protocol is designed to support a range of choices for specific +algorithms used for cryptography, digests and signatures. This allows +algorithm selection for specific servers to be made based on legal, export +or other concerns and also enables the protocol to take advantage of new +algorithms. Choices are negotiated between client and server when +establishing a protocol session.

+ +

Table 4: Versions of the SSL protocol

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersionSourceDescription
SSL v2.0Vendor Standard (from Netscape Corp.)First SSL protocol for which implementations exist
SSL v3.0Expired Internet Draft (from Netscape Corp.) [SSL3]Revisions to prevent specific security attacks, add non-RSA + ciphers and support for certificate chains
TLS v1.0Proposed Internet Standard (from IETF) [TLS1]Revision of SSL 3.0 to update the MAC layer to HMAC, add block + padding for block ciphers, message order standardization and more + alert messages.
TLS v1.1Proposed Internet Standard (from IETF) [TLS11]Update of TLS 1.0 to add protection against Cipher block chaining + (CBC) attacks.
TLS v1.2Proposed Internet Standard (from IETF) [TLS12]Update of TLS 1.1 deprecating MD5 as hash, and adding incompatibility + to SSL so it will never negotiate the use of SSLv2.
+ + +

There are a number of versions of the SSL protocol, as shown in +Table 4. As noted there, one of the benefits in +SSL 3.0 is that it adds support of certificate chain loading. This feature +allows a server to pass a server certificate along with issuer certificates +to the browser. Chain loading also permits the browser to validate the +server certificate, even if Certificate Authority certificates are not +installed for the intermediate issuers, since they are included in the +certificate chain. SSL 3.0 is the basis for the Transport Layer Security +[TLS] protocol standard, currently in development by +the Internet Engineering Task Force (IETF).

+ +

Establishing a Session

+ +

The SSL session is established by following a handshake sequence + between client and server, as shown in Figure 1. This sequence may vary, depending on whether the server + is configured to provide a server certificate or request a client + certificate. Although cases exist where additional handshake steps + are required for management of cipher information, this article + summarizes one common scenario. See the SSL specification for the full + range of possibilities.

+ +

Note

+

Once an SSL session has been established, it may be reused. This + avoids the performance penalty of repeating the many steps needed + to start a session. To do this, the server assigns each SSL session a + unique session identifier which is cached in the server and which the + client can use in future connections to reduce the handshake time + (until the session identifier expires from the cache of the server).

+
+ +

+
+ Figure 1: Simplified SSL + Handshake Sequence

+ +

The elements of the handshake sequence, as used by the client and + server, are listed below:

+ +
    +
  1. Negotiate the Cipher Suite to be used during data transfer
  2. +
  3. Establish and share a session key between client and server
  4. +
  5. Optionally authenticate the server to the client
  6. +
  7. Optionally authenticate the client to the server
  8. +
+ +

The first step, Cipher Suite Negotiation, allows the client and + server to choose a Cipher Suite supported by both of them. The SSL3.0 + protocol specification defines 31 Cipher Suites. A Cipher Suite is + defined by the following components:

+ +
    +
  • Key Exchange Method
  • +
  • Cipher for Data Transfer
  • +
  • Message Digest for creating the Message Authentication Code (MAC)
  • +
+ +

These three elements are described in the sections that follow.

+ + +

Key Exchange Method

+ +

The key exchange method defines how the shared secret symmetric + cryptography key used for application data transfer will be agreed + upon by client and server. SSL 2.0 uses RSA key exchange only, while + SSL 3.0 supports a choice of key exchange algorithms including + RSA key exchange (when certificates are used), and Diffie-Hellman key + exchange (for exchanging keys without certificates, or without prior + communication between client and server).

+ +

One variable in the choice of key exchange methods is digital + signatures -- whether or not to use them, and if so, what kind of + signatures to use. Signing with a private key provides protection + against a man-in-the-middle-attack during the information exchange + used to generating the shared key [AC96, p516].

+ + +

Cipher for Data Transfer

+ +

SSL uses conventional symmetric cryptography, as described earlier, + for encrypting messages in a session. + There are nine choices of how to encrypt, including the option not to + encrypt:

+ +
    +
  • No encryption
  • +
  • Stream Ciphers +
      +
    • RC4 with 40-bit keys
    • +
    • RC4 with 128-bit keys
    • +
  • +
  • CBC Block Ciphers +
    • RC2 with 40 bit key
    • +
    • DES with 40 bit key
    • +
    • DES with 56 bit key
    • +
    • Triple-DES with 168 bit key
    • +
    • Idea (128 bit key)
    • +
    • Fortezza (96 bit key)
    • +
  • +
+ +

"CBC" refers to Cipher Block Chaining, which means that a + portion of the previously encrypted cipher text is used in the + encryption of the current block. "DES" refers to the Data Encryption + Standard [AC96, ch12], which has a number of + variants (including DES40 and 3DES_EDE). "Idea" is currently one of + the best and cryptographically strongest algorithms available, + and "RC2" is a proprietary algorithm from RSA DSI [AC96, ch13].

+ + +

Digest Function

+ +

The choice of digest function determines how a digest is created + from a record unit. SSL supports the following:

+ +
    +
  • No digest (Null choice)
  • +
  • MD5, a 128-bit hash
  • +
  • Secure Hash Algorithm (SHA-1), a 160-bit hash
  • +
+ +

The message digest is used to create a Message Authentication Code + (MAC) which is encrypted with the message to verify integrity and to + protect against replay attacks.

+ + +

Handshake Sequence Protocol

+ +

The handshake sequence uses three protocols:

+ +
    +
  • The SSL Handshake Protocol + for performing the client and server SSL session establishment.
  • +
  • The SSL Change Cipher Spec Protocol for actually + establishing agreement on the Cipher Suite for the session.
  • +
  • The SSL Alert Protocol for conveying SSL error + messages between client and server.
  • +
+ +

These protocols, as well as application protocol data, are + encapsulated in the SSL Record Protocol, as shown in + Figure 2. An encapsulated protocol is + transferred as data by the lower layer protocol, which does not + examine the data. The encapsulated protocol has no knowledge of the + underlying protocol.

+ +

+
+ Figure 2: SSL Protocol Stack +

+ +

The encapsulation of SSL control protocols by the record protocol + means that if an active session is renegotiated the control protocols + will be transmitted securely. If there was no previous session, + the Null cipher suite is used, which means there will be no encryption and + messages will have no integrity digests, until the session has been + established.

+ + +

Data Transfer

+ +

The SSL Record Protocol, shown in Figure 3, + is used to transfer application and SSL Control data between the + client and server, where necessary fragmenting this data into smaller units, + or combining multiple higher level protocol data messages into single + units. It may compress, attach digest signatures, and encrypt these + units before transmitting them using the underlying reliable transport + protocol (Note: currently, no major SSL implementations include support + for compression).

+ +

+
+ Figure 3: SSL Record Protocol +

+ + +

Securing HTTP Communication

+ +

One common use of SSL is to secure Web HTTP communication between + a browser and a webserver. This does not preclude the use of + non-secured HTTP - the secure version (called HTTPS) is the same as + plain HTTP over SSL, but uses the URL scheme https + rather than http, and a different server port (by default, + port 443). This functionality is a large part of what mod_ssl provides for the Apache webserver.

+ +
top
+
+

References

+ +
+
[AC96]
+
Bruce Schneier, Applied Cryptography, 2nd Edition, Wiley, +1996. See http://www.counterpane.com/ for various other materials by Bruce +Schneier.
+ +
[ASN1]
+
ITU-T Recommendation X.208, Specification of Abstract Syntax Notation +One (ASN.1), last updated 2008. See http://www.itu.int/ITU-T/asn1/. +
+ +
[X509]
+
ITU-T Recommendation X.509, The Directory - Authentication +Framework. For references, see http://en.wikipedia.org/wiki/X.509. +
+ +
[PKCS]
+
Public Key Cryptography Standards (PKCS), +RSA Laboratories Technical Notes, See http://www.rsasecurity.com/rsalabs/pkcs/.
+ +
[MIME]
+
N. Freed, N. Borenstein, Multipurpose Internet Mail Extensions +(MIME) Part One: Format of Internet Message Bodies, RFC2045. +See for instance http://tools.ietf.org/html/rfc2045.
+ +
[SSL3]
+
Alan O. Freier, Philip Karlton, Paul C. Kocher, The SSL Protocol +Version 3.0, 1996. See http://www.netscape.com/eng/ssl3/draft302.txt.
+ +
[TLS1]
+
Tim Dierks, Christopher Allen, The TLS Protocol Version 1.0, +1999. See http://ietf.org/rfc/rfc2246.txt.
+ +
[TLS11]
+
The TLS Protocol Version 1.1, +2006. See http://tools.ietf.org/html/rfc4346.
+ +
[TLS12]
+
The TLS Protocol Version 1.2, +2008. See http://tools.ietf.org/html/rfc5246.
+
+
+
+

Available Languages:  en  | + fr  | + ja 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_intro.html.fr.utf8 b/docs/manual/ssl/ssl_intro.html.fr.utf8 new file mode 100644 index 0000000..420a1b1 --- /dev/null +++ b/docs/manual/ssl/ssl_intro.html.fr.utf8 @@ -0,0 +1,727 @@ + + + + + +Chiffrement SSL/TLS fort : Introduction - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Chiffrement SSL/TLS fort : Introduction

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + +

Ce chapitre en guise d'introduction est destiné aux lecteurs pour lesquels +le Web, HTTP et Apache sont familiers, mais ne sont pas des experts en matière +de sécurité. Il n'a pas la prétention d'être un guide détaillé sur le +protocole SSL, il ne traitera pas non plus des techniques spécifiques de gestion +des certificats dans une organisation, ni des importants problèmes légaux de +brevets ou des restrictions d'importation ou d'exportation. Il se veut plutôt +une base de travail pour les utilisateurs de mod_ssl en +rassemblant différents concepts, définitions et exemples comme point de départ +pour une exploration plus détaillée.

+ +
+ +
top
+
+

Techniques de chiffrement

+ +

La maîtrise de SSL nécessite la compréhension des algorithmes de +chiffrement, des fonctions relatives aux empreintes de messages (comme les +fonctions de type hash ou non réversibles), et des signatures numériques. Ces +techniques pourraient faire l'objet d'un ouvrage à elles seules (voir par +exemple [AC96]) et constituent les bases de la +confidentialité, de l'intégrité et de l'authentification.

+ +

Algorithmes de chiffrement

+ +

Supposons qu'Alice veuille envoyer un message à sa banque pour + transférer une certaine somme. Alice souhaiterait que le message soit + privé, car il contient des informations comme son numéro de compte et le + montant du transfert. Une solution consisterait à utiliser un algorithme de + chiffrement, technique qui permet de remplacer un message par sa version + chiffrée, illisible jusqu'à ce qu'elle soit déchiffrée. + Sous sa forme chiffrée, + le message ne peut être déchiffré qu'en utilisant une clé secrète. Sans la + clé, le message est inutilisable : les bons algorithmes de chiffrement + rendent si difficile la restitution du texte original par des intrus que + ceux-ci y gaspilleraient leurs efforts.

+ +

Il existe deux catégories d'algorithmes de chiffrement : conventionnel + ou à clé publique.

+ +
+
Chiffrement conventionnel
+
aussi connu sous le nom de chiffrement symétrique, il nécessite le + partage d'une clé entre l'expéditeur et le destinataire : une portion + d'information secrète permettant de chiffrer et déchiffrer un message. + Tant que cette clé reste secrète, personne à part l'expéditeur et le + destinataire ne peut lire le message. Si Alice et sa banque partagent une + clé secrète, ils peuvent donc s'envoyer l'un à l'autre des messages privés. + Le fait de partager une clé entre l'expéditeur et le destinataire avant + de communiquer, tout en la maintenant secrète vis à vis des autres, peut + toutefois poser des problèmes.
+ +
Chiffrement à clé publique
+
aussi connu sous le nom de chiffrement asymétrique, il résoud le + problème d'échange de clé en définissant un algorithme qui utilise deux + clés, chacune d'entre elles pouvant être utilisée pour chiffrer un message. + Si une des clés a été utilisée pour chiffrer le message, on doit utiliser + l'autre clé pour le déchiffrer. Il est ainsi possible de recevoir des + messages sécurisés simplement en rendant publique une des clés (la clé + publique), et en gardant l'autre clé secrète (la clé privée).
+
+ +

Tout le monde peut chiffrer un message en utilisant la clé publique, + mais seul le propriétaire de la clé privée sera en mesure de le lire. De + cette façon, Alice peut envoyer des messages privés au propriétaire d'une + paire de clés (sa banque), en les chiffrant à l'aide de la clé publique. + Seule la banque sera en mesure de les déchiffrer.

+ + +

Empreinte d'un message

+ +

Bien qu'Alice puisse chiffrer son message pour le rendre privé, il + subsiste toujours le risque que quelqu'un puisse modifier le message + original ou le remplacer par un autre, afin d'effectuer le transfert de + fonds à son profit, par exemple. Une solution pour garantir l'intégrité du + message consisterait pour Alice à créer un résumé concentré de son message + qu'elle enverrait à sa banque avec ce dernier. A la réception du message, + la banque crée son propre résumé et le compare avec celui qu'Alice a + envoyé. Si les deux résumés sont identiques, le message reçu n'a pas + été modifié.

+ +

Un résumé tel que celui-ci est appelé + empreinte numérique de message (message digest), + fonction irréversible (one-way function) ou + fonction de hashage (hash function). Une empreinte de message + constitue une représentation courte et de longueur fixe, d'un message plus + long et de longueur variable. Les algorithmes de création d'empreintes sont + conçus pour produire une empreinte unique pour chaque message. Les + empreintes de messages sont conçues pour que la restitution du message + à partir de l'empreinte soit d'une difficulté insurmontable, et qu'il soit + (en théorie) impossible de trouver deux messages différents qui produisent + la même empreinte -- ce qui élimine la possibilité de remplacer un message + par un autre en conservant la même empreinte.

+ +

Trouver le moyen d'envoyer l'empreinte de manière sécurisée à la banque + constitue un autre défit auquel Alice doit faire face ; si l'empreinte + n'est pas envoyée de manière sécurisée, son intégrité peut être compromise, + et avec elle, la possibilité pour la banque de vérifier l'intégrité du + message original. L'intégrité du message ne peut être vérifiée que si + l'empreinte qui lui est associée est envoyée de manière sécurisée.

+ +

Une solution pour envoyer l'empreinte de manière sécurisée consiste à + l'inclure dans une signature numérique.

+ + +

Signatures numériques

+

Quand Alice envoie un message à sa banque, cette dernière doit s'assurer +que le message a bien été envoyé par elle, pour éviter qu'un intrus puisse +effectuer une transaction sur son compte. Une signature numérique, +créée par Alice et incluse dans le message, permet d'atteindre cet +objectif.

+ +

Les signatures numériques peuvent être créées en chiffrant une empreinte de +message, ainsi que d'autres informations (comme un numéro d'ordre) avec la clé +privée de l'expéditeur. Bien que tout le monde puisse déchiffrer la +signature à l'aide de la clé publique, seul l'expéditeur connait la clé privée. +Ce qui implique que seul l'expéditeur peut avoir signé le message. Inclure +l'empreinte dans la signature entraîne que cette dernière n'est valable que +pour ce message ; ceci assure aussi l'intégrité du message car personne ne +peut modifier l'empreinte et ensuite signer le message.

+

Afin de se prémunir contre l'interception et la réutilisation de la +signature par un intrus quelques jours plus tard, la signature contient un +numéro d'ordre unique. Ceci protège la banque contre une plainte frauduleuse +de la part d'Alice alléguant qu'elle n'a pas envoyé le message -- +elle seule peut l'avoir signé (non-répudiation).

+ + +
top
+
+

Certificats

+ +

Bien qu'Alice soit parvenue à envoyer un message privé à sa banque, après +l'avoir signé et avoir ainsi assuré l'intégrité du message, elle doit encore vérifier +qu'elle communique réellement avec la banque. C'est à dire qu'elle doit +s'assurer que la clé publique qu'elle utilise appartient bien à la paire de +clés de la banque, et non à celle d'un intrus. +De même, la banque doit vérifier que la +signature du message a bien été construite avec la clé privée d'Alice.

+ +

Si chaque partie possède un certificat qui valide l'identité de l'autre, +confirme la clé publique, et est signé par un organisme de confiance, alors +les deux protagonistes peuvent être sûrs que la personne avec laquelle ils +communiquent est bien celle avec laquelle ils désirent le faire. Un tel +organisme de confiance s'appelle une Autorité de Certification, et +on utilise les certificats à des fins d'authentification.

+ +

Contenu d'un certificat

+ +

Un certificat associe une clé publique avec l'identité réelle d'un + individu, d'un serveur, ou d'une autre entité plus connue sous le nom de + sujet. Comme on le voit dans le Tableau 1, les + information concernant le sujet comprennent des informations + d'identification (le nom distinctif ou distinguished name - dn), ainsi que + la clé publique. Il comporte aussi l'identification et la signature de + l'autorité de certification qui a délivré le certificat, ainsi que la + période de validité de ce dernier. Il peut aussi contenir des informations + supplémentaires (ou extensions) telles que des informations de gestion + destinées à l'autorité de certification, comme un numéro de série.

+ +

Tableau 1: Information contenues dans un certificat

+ + + + + + + + + + + + + +
SujetNom distinctif, Clé publique
FournisseurNom distinctif, Signature
Période de validitéPas avant, Pas après
Informations de gestionVersion, Numéro de série
ExtensionsContraintes de base, Drapeaux Netscape, etc.
+ + +

Un nom distinctif sert à fournir une identité dans un contexte + spécifique -- par exemple, un individu peut posséder un certificat + personnel, et aussi un certificat en tant qu'employé. Les noms distinctifs + doivent respecter le standard X509 [X509], qui définit + les champs, les noms de champs, et les abréviations utilisées pour faire + référence aux champs (voir Tableau 2).

+ +

Tableau 2: Informations contenues dans le nom distinctif

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Champ du DNAbrév.DescriptionExemple
Nom complet (Common Name)CNNom certifiéCN=Joe Average
Organisation or EntrepriseONom est associé à cette
organisation
O=Snake Oil, Ltd.
Unité organisationnelle (Organizational Unit)OUNom est associé avec cette
unité organisationnelle, + par exemple un département
OU=Research Institute
Ville/LocalisationLNom est localisé dans cette villeL=Snake City
Etat/ProvinceSTNom est localisé dans cet état/provinceST=Desert
PaysCNom est localisé dans ce pays (code ISO)C=XZ
+ + +

Une autorité de certification peut définir une contrainte spécifiant + quels champs du nom distinctif sont optionnels et lesquels sont + obligatoires. Elle peut aussi imposer des contraintes sur le contenu des + champs, ce que peuvent aussi faire les utilisateurs de certificats. Par + exemple, un navigateur Netscape peut exiger, dans le cas d'un certificat + de serveur, que le nom complet (Common Name) corresponde à un nom générique + contenant le nom de domaine du serveur, comme + *.snakeoil.com.

+ +

Le format binaire d'un certificat est défini en utilisant la + notation ASN.1 [ASN1] [PKCS]. + Cette notation definit la manière de spécifier les contenus, et les règles + d'encodage définissent la manière dont ces information sont converties au + format binaire. L'encodage binaire du certificat est défini par les Règles + d'Encodage Distinctives (Distinguished Encoding Rules - DER), qui se basent + d'une manière plus générale sur les Règles d'Encodage de Base (Basic + Encoding Rules - BER). Pour les transmissions qui ne supportent pas le + format binaire, ce dernier peut être converti au format ASCII en utilisant + le codage Base64 [MIME]. Lorsqu'il est placé entre des + délimiteurs de début et de fin (comme ci-dessous), on dit que le certificat + est encodé au format PEM ("Privacy Enhanced Mail").

+ +

Exemple de certificat encodé au format PEM (snakeoil.crt)

-----BEGIN CERTIFICATE-----
+MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
+FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
+A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
+cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
+bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL
+MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
+a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
+cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
+AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b
+vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa
+lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV
+HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB
+gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt
+2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7
+dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ==
+-----END CERTIFICATE-----
+ + +

Autorités de certification

+ +

En vérifiant les informations contenues dans une demande de certificat + avant de l'accorder, l'autorité de certification s'assure de l'identité du + propriétaire de la clé privée issue de sa paire de clés. Par exemple, Si + Alice demande un certificat personnel, l'autorité de certification doit + d'abord s'assurer qu'elle correspond vraiment à la personne à laquelle + la demande de certificat fait référence.

+ +

Chaînes de certification

+ +

Une autorité de certification peut aussi émettre un certificat à + destination d'une + autre autorité de certification. Pour vérifier un certificat, Alice + peut être amenée à vérifier le certificat de l'émetteur pour chaque + autorité de certification parente, jusqu'à ce qu'elle en atteigne une + en qui elle a confiance. Elle peut aussi ne faire confiance qu'aux + certificats faisant l'objet d'une chaîne limitée d'émetteurs, afin + de réduire le risque de rencontrer un "mauvais" certificat dans la + chaîne.

+ + +

Création d'une autorité de certification racine

+ +

Comme indiqué plus haut, chaque certificat nécessite la validation + de l'identité du sujet par un émetteur de certificats + de niveau supérieur, et ceci en + remontant jusqu'à l'Autorité de Certification (CA) racine. Ceci pose un + problème : qui va se porter garant du certificat de l'autorité racine + qui ne possède pas d'émetteur de certificat ? C'est uniquement dans ce + cas que le certificat est auto-signé, l'émetteur du certificat et son + sujet étant confondus. Les navigateurs sont préconfigurés avec une + liste d'autorités de certification de confiance, mais il est important + d'être extrèmement prudent avant de faire confiance à un certificat + auto-signé. La large publication d'une clé publique par l'autorité + racine réduit cependant les risques encourus + en faisant confiance à cette clé -- + si quelqu'un publiait une clé en se faisant passer pour l'autorité, il + serait vite démasqué.

+ +

Quelques compagnies, comme Thawte et VeriSign, + se sont proclamées elles-mêmes Autorités de Certification. Ces + compagnies proposent les services suivant :

+ +
    +
  • Vérification des demandes de certificats
  • +
  • Traitement des demandes de certificats
  • +
  • Emission et gestion des certificats
  • +
+ +

Vous pouvez aussi créer votre propre autorité de certification. Bien + que risqué dans l'environnement de l'Internet, ceci peut s'avérer utile + dans un Intranet, où l'organisme peut vérifier facilement les identités + des individus et des serveurs.

+ + +

Gestion des certificats

+ +

Constituer une autorité de certification représente une + responsabilité qui nécessite une solide infrastructure administrative, + technique et gestionnaire. Les autorités de certification ne se + contentent pas d'émettre des certificats, elles doivent aussi les gérer + -- à savoir elles déterminent leur durée de validité, elles les + renouvellent, et elles maintiennent des listes de certificats qui ont + été émis dans le passé mais ne sont plus valides (Listes de révocations + de certificats, ou CRLs).

+ +

Par exemple, si Alice est titulaire d'un certificat en tant + qu'employée d'une compagnie, mais vient de quitter cette compagnie, + son certificat doit être révoqué. Comme les certificats ne sont émis + qu'après vérification de l'identité du sujet, et peuvent être envoyés + à tous ceux avec lesquels le sujet peut communiquer, il est impossible + de discerner à partir du seul certificat s'il a été révoqué. Pour + vérifier la validité d'un certificat, il est donc nécessaire de + contacter l'autorité de certification qui l'a émis afin de pouvoir + consulter ses listes de révocations de certificats -- ce qui n'est + en général pas une partie automatique du processus.

+ +

Note

+

Si votre autorité de certification ne fait pas partie de la liste + des autorités de confiance de votre navigateur, il faut enregistrer le + certificat de l'autorité de certification dans ce dernier, ce qui lui + permettra de valider les certificats de serveurs signés par cette + autorité de certification. Ceci peut être dangereux, car une fois le + certificat enregistré, le navigateur acceptera tous les certificats + signés par cette autorité de certification.

+
+ + + +
top
+
+

Couche Points d'Accès Sécurisés - Secure Sockets Layer (SSL)

+ +

Le protocole Couche Points d'Accès Sécurisés est une couche protocolaire +qui pourrait s'intercaler entre un protocole d'une couche réseau orientée +connexion (comme TCP/IP) et une couche protocolaire d'application (comme HTTP). +SSL fournit une communication sécurisée entre client et serveur en permettant +l'authentification mutuelle, l'utilisation des signatures numériques pour la +vérification de l'intégrité des données, et le chiffrement pour la +confidentialité.

+ +

Ce protocole est conçu pour supporter un grand choix d'algorithmes +spécifiques utilisés pour la cryptographie, les empreintes et les signatures. +Ceci permet la sélection d'un algorithme pour des serveurs spécifiques en +respectant la légalité, les règles d'exportation ou autres contraintes, et +permet aussi au protocole de tirer parti des nouveaux algorithmes. Ces choix +font l'objet d'une négociation entre client et serveur lors de +l'établissement de la session protocolaire.

+ +

Tableau 4: Versions du protocole SSL

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersionSourceDescription
SSL v2.0Standard du fournisseur (de Netscape Corp.)Premier protocole SSL pour lequel il existe des implémentations
SSL v3.0Projet Internet arrivé à expiration (de Netscape Corp.) [SSL3]Comporte des révisions permettant de prévenir certaines attaques de + sécurité spécifiques, ajout de chiffrements non RSA, et support des + chaînes de certification
TLS v1.0Standard proposé pour l'Internet (de l'IETF) [TLS1]Révision de SSL 3.0 pour mettre à jour la couche MAC vers HMAC, + ajout du bourrage de bloc pour le chiffrement de bloc, standardisation + de l'ordonnancement des messages et plus de messages d'alerte.
TLS v1.1Standard proposé pour l'Internet (de l'IETF) [TLS11]Mise à jour de TLS 1.0 pour la protection contre les + attaques de type Cipher block chaining (CBC).
TLS v1.2Standard proposé pour l'Internet (de l'IETF) [TLS12]Mise à jour de TLS 1.1 rendant les condensés MD5 obsolètes, + et introduisant une incompatibilité avec SSL ce qui interdit toute + négociation en vue d'une utilisation de SSLv2.
+ + +

Il existe plusieurs versions du protocole SSL, comme le montre le +Tableau 4. Comme indiqué dans ce dernier, un des apports +de SSL 3.0 est le support du chargement des chaînes de certification. Cette +fonctionnalité permet à un serveur de passer au navigateur un certificat de +serveur accompagné du certificat de l'émetteur. Le chargement de la +chaîne permet aussi au navigateur de valider le certificat du serveur, même si +les certificats de l'autorité de certification ne sont pas installés pour les +émetteurs intermédiaires, car ils sont inclus dans la chaîne de certification. +SSL 3.0 sert de base au standard du protocole Sécurité de la Couche Transport +ou Transport Layer Security +[TLS], actuellement en développement au sein de +l'Internet Engineering Task Force (IETF).

+ +

Etablissement d'une session

+ +

La session SSL est établie en suivant une séquence d'échanges + d'informations entre client et serveur, comme le montre la + Figure 1. Cette séquence peut varier, selon que + le serveur est configuré pour fournir un certificat de serveur ou + réclame un certificat client. Bien que dans certains cas, des étapes + d'échanges d'informations supplémentaires soient nécessaires pour la + gestion des informations de chiffrement, cet article résume un scénario + courant. Se reporter aux spécifications SSL pour avoir la liste de + toutes les possibilités.

+ +

Note

+

Une fois la session SSL établie, elle peut être réutilisée. Ceci + permet d'éviter la perte de performances due à la répétition des nombreuses + étapes nécessaires à l'établissement d'une session. Pour parvenir à ceci, + le serveur assigne un identifiant de session unique à chaque session SSL ; + cet identifiant est mis en cache dans le serveur et le client peut + l'utiliser pour des connexions ultérieures afin de réduire la durée des + échanges d'informations (et ceci jusqu'à ce que l'identifiant de session + arrive à expiration dans le cache du serveur).

+
+ +

+
+ Figure 1 : Séquence + simplifiée d'échanges d'informations SSL

+ +

Les éléments de la séquence d'échanges d'informations, tels qu'ils + sont utilisés par le client et le serveur, sont énumérés ci-après :

+ +
    +
  1. Négociation de la suite de chiffrement à utiliser durant le transfert des données
  2. +
  3. Elaboration et échange d'une clé de session entre le client et le serveur
  4. +
  5. Authentification éventuelle du serveur par le client
  6. +
  7. Authentification éventuelle du client par le serveur
  8. +
+ +

La première étape, la négociation de la suite de chiffrement, permet au + client et au serveur de choisir une suite de chiffrement qu'ils supportent + tous les deux. La spécification du protocole SSL 3.0 définit 31 suites de + chiffrement. Une suite de chiffrement se compose des éléments + suivants :

+ +
    +
  • Méthode d'échange de la clé
  • +
  • Chiffrement du transfert des données
  • +
  • Empreinte du message servant à créer le code d'authentification du + message (MAC)
  • +
+ +

Ces trois éléments sont décrits dans les sections suivantes.

+ + +

Méthode d'échange de la clé

+ +

La méthode d'échange de la clé définit la manière + dont la clé de chiffrement + symétrique secrète et partagée utilisée pour le transfert des données de + l'application sera acceptée par le client et le serveur. SSL 2.0 utilise + l'échange de clé RSA seulement, tandis que SSL 3.0 supporte tout un choix + d'algorithmes d'échange de clé incluant l'échange de clé RSA (quand les + certificats sont utilisés), et l'échange de clés Diffie-Hellman (pour + échanger des clés sans certificat, ou en l'absence de communication + préalable entre le client et le serveur).

+ +

Les signatures numériques constituent une variante dans le choix des + méthodes d'échange de clé -- utiliser les signatures ou pas, et dans + l'affirmative, quel genre de signatures utiliser. La signature à l'aide + d'une clé privée fournit une protection contre une attaque + "man-in-the-middle" au cours de laquelle + l'échange d'informations destiné à générer la + clé partagée peut être intercepté [AC96, p516].

+ + +

Chiffrement du transfert de données

+ +

Comme décrit plus haut, SSL utilise le chiffrement symétrique + conventionnel pour chiffrer les messages au cours d'une session. Il existe + neuf choix possibles pour le chiffrement, y compris l'option du transfert + non chiffré :

+ +
    +
  • Pas de chiffrement
  • +
  • Chiffrement en continu (Stream Ciphers) +
      +
    • RC4 avec clés de 40 bits
    • +
    • RC4 avec clés de 128 bits
    • +
  • +
  • Chiffrement par blocs CBC (CBC Block Ciphers) +
    • RC2 avec clé de 40 bits
    • +
    • DES avec clé de 40 bits
    • +
    • DES avec clé de 56 bits
    • +
    • Triple-DES avec clé de 168 bits
    • +
    • Idea (clé de 128 bits)
    • +
    • Fortezza (clé de 96 bits)
    • +
  • +
+ +

"CBC" signifie Cipher Block Chaining (Chaînage de blocs chiffrés), + c'est à dire qu'une portion du bloc de texte chiffré précédent est utilisée + pour le chiffrement du bloc courant. "DES" signifie Data Encryption + Standard (Standard de Chiffrement des Données) + [AC96, ch12], et possède de nombreuses variantes + (telles que DES40 et 3DES_EDE). Parmi les algorithmes disponibles, "Idea" + est actuellement un des meilleurs et des plus puissants sur le plan + cryptographique, et "RC2" est un algorithme propriétaire de RSA DSI + [AC96, ch13].

+ + +

Fonction de création d'empreinte

+ +

Le choix d'une fonction de création d'empreinte détermine la manière + dont une empreinte est créée à partir d'une unité de données. SSL supporte + les fonctions suivantes :

+ +
    +
  • Pas d'empreinte (choix Null)
  • +
  • MD5, une empreinte de 128 bits
  • +
  • Algorithme d'Empreinte Sécurisée (Secure Hash Algorithm - SHA-1), une + empreinte de 160 bits
  • +
+ +

On utilise l'empreinte de message pour créer un Code d'Authentification + de Message (Message Authentication Code - MAC) qui est chiffré avec le + message afin de vérifier son intégrité et de se protéger contre les + attaques de type "rejeu".

+ + +

Protocole de la séquence d'échanges d'informations

+ +

La séquence d'échanges d'informations utilise trois protocoles :

+ +
    +
  • Le Protocole d'échanges d'informations SSL pour établir + la session SSl entre le client et le serveur.
  • +
  • Le Protocole de spécification du chiffrement SSL pour + l'agrément effectif de la suite de chiffrement à utiliser + pour la session.
  • +
  • Le Protocole d'alertes SSL pour la transmission de + messages d'erreur SSL entre le client et le serveur.
  • +
+ +

Ces protocoles, ainsi que les données du protocole de l'application, + sont encapsulés dans le Protocole d'enregistrement SSL + (SSL Record Protocol), comme + le montre la Figure 2. Un protocole encapsulé est + tranféré en tant que données par le protocole de la couche de niveau + inférieur, qui ne se préoccupe pas du contenu des données. Le protocole + encapsulé n'a aucune connaissance du protocole sous-jacent.

+ +

+
+ Figure 2: + Pile du protocole SSL

+ +

L'encapsulation des protocoles de contrôle SSL dans le protocole + d'enregistrement signifie que si une session active est renégociée, les + protocoles de contrôle seront transmis de manière sécurisée. S'il n'y + avait pas de session préalable, la suite de chiffrement Null est utilisée, + ce qui signifie que les messages ne seront pas chiffrés et ne possèderont + pas d'empreinte d'intégrité, jusqu'à ce que la session ait été établie.

+ + +

Transmission des données

+ +

Le protocole d'enregistrement SSL, comme le montre la + Figure 3, est utilisé pour transmettre les données + de l'application et les données de contrôle SSL entre le client et le + serveur, les données étant nécessairement fragmentées en éléments plus + petits, ou plusieurs messages de données avec protocole de niveau + supérieur pouvant être combinés en un seul élément. Ce protocole peut + joindre des signatures d'empreintes, compresser et chiffrer ces éléments + avant de les transmettre en utilisant le protocole fiable de transport + sous-jacent (Note : actuellement, aucune implémentation majeure de SSL + n'inclut le support de la compression).

+ +

+
+ Figure 3: + Protocole d'enregistrement SSL

+ + +

Sécurisation des communications HTTP

+ +

Une des utilisations courantes de SSL est la sécurisation des + communication HTTP sur le Web entre un navigateur et un serveur web. Ceci + n'exclut pas l'utilisation de HTTP non sécurisé - la version sécurisée + (appelée HTTPS) est identique à du vrai HTTP sur SSL, + mais utilise le préfixe + d'URL https au lieu de http, et un port + de serveur différent (par défaut le port 443). + Ceci constitue pour une large part + ce qu'apporte mod_ssl au serveur web Apache.

+ +
top
+
+

Références

+ +
+
[AC96]
+
Bruce Schneier, Applied Cryptography, 2nd Edition, Wiley, +1996. Voir http://www.counterpane.com/ pour diverses autres productions de Bruce +Schneier.
+ +
[ASN1]
+
ITU-T Recommendation X.208, Specification of Abstract Syntax Notation +One (ASN.1), dernière mise à jour en 2008. Voir http://www.itu.int/ITU-T/asn1/. +
+ +
[X509]
+
ITU-T Recommendation X.509, The Directory - Authentication +Framework. A titre de référence, voir http://en.wikipedia.org/wiki/X.509. +
+ +
[PKCS]
+
Public Key Cryptography Standards (PKCS), +RSA Laboratories Technical Notes, Voir http://www.rsasecurity.com/rsalabs/pkcs/.
+ +
[MIME]
+
N. Freed, N. Borenstein, Multipurpose Internet Mail Extensions +(MIME) Part One: Format of Internet Message Bodies, RFC2045. +Voir par exemple http://tools.ietf.org/html/rfc2045.
+ +
[SSL3]
+
Alan O. Freier, Philip Karlton, Paul C. Kocher, The SSL Protocol +Version 3.0, 1996. Voir http://www.netscape.com/eng/ssl3/draft302.txt.
+ +
[TLS1]
+
Tim Dierks, Christopher Allen, The TLS Protocol Version 1.0, +1999. Voir http://ietf.org/rfc/rfc2246.txt.
+ +
[TLS11]
+
Le protocole TLS Version 1.1, +2006. Voir http://tools.ietf.org/html/rfc4346.
+ +
[TLS12]
+
Le protocole TLS Version 1.2, +2008. Voir http://tools.ietf.org/html/rfc5246.
+
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/ssl/ssl_intro.html.ja.utf8 b/docs/manual/ssl/ssl_intro.html.ja.utf8 new file mode 100644 index 0000000..b48ad3f --- /dev/null +++ b/docs/manual/ssl/ssl_intro.html.ja.utf8 @@ -0,0 +1,730 @@ + + + + + +SSL/TLS æš—å·åŒ–: ã¯ã˜ã‚ã« - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

SSL/TLS æš—å·åŒ–: ã¯ã˜ã‚ã«

+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
+
ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹ + å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。 +
+ +
+

標準è¦æ ¼ã®è‰¯ã„所ã¯ã€ãŸãã•ã‚“ã®è¦æ ¼ã‹ã‚‰é¸ã¹ã‚‹ã¨ã„ã†ã“ã¨ã ã€‚ +ãã—ã¦ã€ã‚‚ã—本当ã«ã©ã®è¦æ ¼ã‚‚æ°—ã«å…¥ã‚‰ãªã‘ã‚Œã°ã€ +一年待ã¤ã ã‘ã§æŽ¢ã—ã¦ã„ãŸè¦æ ¼ãŒç¾ã‚Œã‚‹ã€‚

+ +

-- A. Tanenbaum, "Introduction to +Computer Networks"

+
+ +

+入門ã¨ã„ã†ã“ã¨ã§ã€ã“ã®ç« ã¯ Webã€HTTPã€Apache ã«é€šã˜ã¦ã„ã‚‹ +読者å‘ã‘ã§ã™ãŒã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£å°‚門家å‘ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 +SSL プロトコルã®æ±ºå®šçš„ãªæ‰‹å¼•ãã§ã‚ã‚‹ã¤ã‚‚ã‚Šã¯ã‚ã‚Šã¾ã›ã‚“。 +ã¾ãŸã€çµ„織内ã®èªè¨¼ç®¡ç†ã®ãŸã‚ã®ç‰¹å®šã®ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ã‚„〠+特許や輸出è¦åˆ¶ãªã©ã®é‡è¦ãªæ³•çš„ãªå•é¡Œã«ã¤ã„ã¦ã‚‚扱ã„ã¾ã›ã‚“。 +ã‚€ã—ã‚ã€æ›´ãªã‚‹ç ”究ã¸ã®å‡ºç™ºç‚¹ã¨ã—ã¦è‰²ã€…ãªæ¦‚念ã€å®šç¾©ã€ä¾‹ã‚’並ã¹ã‚‹ã“ã¨ã§ +mod_ssl ã®ãƒ¦ãƒ¼ã‚¶ã«åŸºç¤ŽçŸ¥è­˜ã‚’æä¾›ã™ã‚‹äº‹ã‚’目的ã¨ã—ã¦ã„ã¾ã™ã€‚

+ +

ã“ã“ã«ç¤ºã•ã‚ŒãŸå†…容ã¯ä¸»ã«ã€åŽŸè‘—者ã®è¨±å¯ã®ä¸‹ +The Open Group Research Institute ã® Frederick J. Hirsch + æ°ã®è¨˜äº‹ +Introducing SSL and Certificates using SSLeay を基ã«ã—ã¦ã„ã¾ã™ã€‚ +æ°ã®è¨˜äº‹ã¯ Web Security: A Matter of +Trust, World Wide Web Journal, Volume 2, Issue 3, Summer 1997 +ã«æŽ²è¼‰ã•ã‚Œã¾ã—ãŸã€‚ +肯定的ãªæ„見㯠Frederick Hirsch æ° + (元記事ã®è‘—者) ã¸å…¨ã¦ã®è‹¦æƒ…㯠Ralf S. Engelschall ( +mod_ssl ã®ä½œè€…) ã¸ãŠé¡˜ã„ã—ã¾ã™ã€‚ +(訳注: 訳ã«ã¤ã„ã¦ã¯ +Apache ドキュメント翻訳プロジェクト +ã¸ãŠé¡˜ã„ã—ã¾ã™ã€‚)

+
+ +
top
+
+

æš—å·åŒ–技術

+ +

SSL ã‚’ç†è§£ã™ã‚‹ã«ã¯ã€æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã€ +メッセージダイジェスト関数(別å: 一方å‘関数ã€ãƒãƒƒã‚·ãƒ¥é–¢æ•°)〠+é›»å­ç½²åãªã©ã¸ã®ç†è§£ãŒå¿…è¦ã§ã™ã€‚ +ã“れらã®æŠ€è¡“ã¯æœ¬ãŒä¸¸ã”ã¨å¿…è¦ãªé¡Œç›®ã§ +(例ãˆã° [AC96] ã‚’å‚ç…§)〠+プライãƒã‚·ãƒ¼ã€ä¿¡ç”¨ã€èªè¨¼ãªã©ã®æŠ€è¡“ã®åŸºç¤Žã¨ãªã£ã¦ã„ã¾ã™ã€‚

+ +

æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 

+ +

例ãˆã°ã€ã‚¢ãƒªã‚¹ãŒé€é‡‘ã®ãŸã‚ã«éŠ€è¡Œã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚ŠãŸã„ã¨ã—ã¾ã™ã€‚ + å£åº§ç•ªå·ã‚„é€é‡‘ã®é‡‘é¡ãŒå«ã¾ã‚Œã‚‹ãŸã‚〠+ アリスã¯ãã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’秘密ã«ã—ãŸã„ã¨æ€ã„ã¾ã™ã€‚ + 解決方法ã®ä¸€ã¤ã¯æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’使ã£ã¦ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ + 復å·ã•ã‚Œã‚‹ã¾ã§èª­ã‚€ã“ã¨ãŒã§ããªã„æš—å·åŒ–ã•ã‚ŒãŸ + 形態ã«å¤‰ãˆã¦ã—ã¾ã†ã“ã¨ã§ã™ã€‚ + ãã®å½¢æ…‹ã«ãªã‚‹ã¨ã€ + メッセージã¯ç§˜å¯†ã®éµã«ã‚ˆã£ã¦ã®ã¿å¾©å·åŒ–ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + éµãªã—ã§ã¯ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯å½¹ã«ç«‹ã¡ã¾ã›ã‚“。 + 良ã„æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯ã€ä¾µå…¥è€…ãŒå…ƒã®ãƒ†ã‚­ã‚¹ãƒˆã‚’解読ã™ã‚‹ã“ã¨ã‚’ + éžå¸¸ã«é›£ã—ãã™ã‚‹ãŸã‚ã€åŠªåŠ›ãŒå‰²ã«åˆã‚ãªãã•ã›ã¾ã™ã€‚

+ +

æš—å·ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã«ã¯ + 従æ¥åž‹ã¨å…¬é–‹éµã®äºŒã¤ã®ç¨®é¡žãŒã‚ã‚Šã¾ã™ã€‚

+ +
+
従æ¥åž‹æš—å·
+
対称暗å·ã¨ã—ã¦ã‚‚知られ〠+ é€ä¿¡è€…ã¨å—信者ãŒéµã‚’共有ã™ã‚‹ã“ã¨ãŒå¿…è¦ã§ã™ã€‚ + éµã¨ã¯ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æš—å·åŒ–ã—ãŸã‚Šå¾©å·ã™ã‚‹ã®ã«ä½¿ã‚れる秘密 + ã®æƒ…å ±ã®ã“ã¨ã§ã™ã€‚ + ã“ã®éµãŒç§˜å¯†ã«ãªã£ã¦ã„ã‚‹é™ã‚Šã€é€ä¿¡è€…ã¨å—信者以外ã¯èª°ã‚‚メッセージを読 + ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“。 + ã‚‚ã—ã‚‚ã€ã‚¢ãƒªã‚¹ã¨éŠ€è¡ŒãŒç§˜å¯†ã®éµã‚’知ã£ã¦ã„ã‚‹ãªã‚‰ã€ + 彼らã¯ãŠäº’ã„ã«ç§˜å¯†ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ã¨ãŒã§ãã‚‹ã§ã—ょã†ã€‚ + ãŸã ã—交信ã®å‰ã«ã€äº‹å‰ã«å†…密ã«éµã‚’共有ã™ã‚‹ã¨ã„ã†ä½œæ¥­è‡ªä½“ã¯é›£é¡Œã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ +
公開éµæš—å·
+
éžå¯¾ç§°æš—å·ã¨ã—ã¦ã‚‚知られ〠+ メッセージを暗å·åŒ–ã™ã‚‹ã“ã¨ã®ã§ãる二ã¤ã®éµ + を使用ã™ã‚‹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’定義ã™ã‚‹ã“ã¨ã§éµã®ã‚„ã‚Šå–ã‚Šã®å•é¡Œã‚’解決 + ã—ã¾ã™ã€‚ + ã‚‚ã—ã€ã‚ã‚‹éµãŒæš—å·åŒ–ã«ä½¿ã‚ã‚ŒãŸãªã‚‰ã€ + ã‚‚ã†ç‰‡æ–¹ã®éµã§å¾©å·ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。 + ã“ã®æ–¹å¼ã«ã‚ˆã£ã¦ã€ä¸€ã¤ã®éµã‚’公表ã—ã¦(公開éµ)〠+ ã‚‚ã†ç‰‡æ–¹ã‚’秘密ã«ã—ã¦ãŠã(秘密éµ)ã ã‘ã§ã€ + 安全ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘å–ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+
+ +

公開éµã‚’使ã£ã¦èª°ã‚‚ãŒãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æš—å·åŒ–ã§ãã¾ã™ãŒã€ç§˜ + 密éµã®æŒã¡ä¸»ã ã‘ãŒãれを読むã“ã¨ãŒã§ãã¾ã™ã€‚ + ã“ã®æ–¹æ³•ã§ã€éŠ€è¡Œã®å…¬é–‹éµã‚’使ã£ã¦æš—å·åŒ–ã™ã‚‹ã“ã¨ã§ã€ + アリスã¯ç§˜å¯†ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 銀行ã®ã¿ãŒé€ã‚‰ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’復å·ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+ + +

メッセージダイジェスト

+ +

アリスã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’秘密ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ + 誰ã‹ãŒä¾‹ãˆã°è‡ªåˆ†ã«é€é‡‘ã™ã‚‹ã‚ˆã†ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’変更ã—ãŸã‚Šã€ + 別ã®ã‚‚ã®ã«ç½®ãæ›ãˆã¦ã—ã¾ã†ã‹ã‚‚ã—ã‚Œãªã„ã¨ã„ã†å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚ + アリスã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã ã¨ã„ã†ä¿¡æ†‘性をä¿è¨¼ã™ã‚‹æ–¹æ³•ã®ä¸€ã¤ã¯ã€ + メッセージã®ç°¡æ½”ãªãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚’作ã£ã¦ã€ãれも銀行ã«é€ã‚‹ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚ + メッセージをå—ã‘å–ã‚‹ã¨éŠ€è¡Œå´ã§ã‚‚ダイジェストを作æˆã—〠+ アリスãŒé€ã£ãŸãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã¨æ¯”ã¹ã¾ã™ã€‚ã‚‚ã—一致ã—ãŸãªã‚‰ã€ + å—ã‘å–ã£ãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ç„¡å‚·ã ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

+ +

ã“ã®ã‚ˆã†ãªè¦ç´„ã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã€ + 一方行関数ã€ã¾ãŸã¯ãƒãƒƒã‚·ãƒ¥é–¢æ•°ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ + メッセージダイジェストã¯é•·ã„å¯å¤‰é•·ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‹ã‚‰ + 短ã„固定長ã®è¡¨ç¾ã‚’作るã®ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + ダイジェストアルゴリズムã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‹ã‚‰ + 一æ„ãªãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚’生æˆã™ã‚‹ã‚ˆã†ã«ä½œã‚‰ã‚Œã¦ã„ã¾ã™ã€‚ + メッセージダイジェストã¯ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‹ã‚‰å…ƒã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ + 判定ã™ã‚‹ã®ãŒã¨ã¦ã‚‚難ã—ã„よã†ã«ã§ãã¦ã„ã¦ã€ + åŒã˜è¦ç´„を作æˆã™ã‚‹äºŒã¤ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’探ã™ã®ã¯(ç†è«–上)ä¸å¯èƒ½ã§ã™ã€‚ + ã“ã‚Œã«ã‚ˆã£ã¦ã€è¦ç´„を変更ã™ã‚‹ã“ã¨ãªãメッセージを置ãæ›ãˆã‚‰ã‚Œã‚‹ + å¯èƒ½æ€§ã‚’排除ã—ã¦ã„ã¾ã™ã€‚

+ +

アリスã¸ã®ã‚‚ã†ä¸€ã¤ã®å•é¡Œã¯ã€ã“ã®ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚’安全ã«é€ã‚‹æ–¹æ³•ã‚’探ã™ã“ã¨ã§ã™ã€‚ + ダイジェストãŒå®‰å…¨ã«é€ã‚‰ã‚Œã‚Œã°ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã®ä¿¡æ†‘性ãŒä¿éšœã•ã‚Œã¦ã€ + ダイジェストã®ä¿¡æ†‘性をもã£ã¦ã‚ªãƒªã‚¸ãƒŠãƒ«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä¿¡æ†‘性を得るã“ã¨ãŒã§ãã¾ã™ã€‚ + ダイジェストを安全ã«é€ã£ãŸå ´åˆã«ã®ã¿ã€ãã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã® + 信憑性ãŒå¾—られã¾ã™ã€‚

+ +

ダイジェスト安全ã«é€ã‚‹æ–¹æ³•ã®ä¸€ã¤ã¯ã€é›»å­ç½²åã«å«ã‚る方法ã§ã™ã€‚

+ + +

é›»å­ç½²å

+

アリスãŒéŠ€è¡Œã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã£ãŸã¨ã〠+侵入者ãŒå½¼å¥³ã«ãªã‚Šã™ã¾ã—ã¦å½¼å¥³ã®å£åº§ã¸ã®å–引を申請ã§ããªã„よã†ã«ã€ +銀行å´ã§ã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒæœ¬å½“ã«å½¼å¥³ã‹ã‚‰ã®ã‚‚ã®ã‹ç¢ºå®Ÿã«åˆ†ã‹ã‚‹ã‚ˆã†ã«ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 +アリスã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¦ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«å«ã¾ã‚ŒãŸ +é›»å­ç½²åãŒã“ã“ã§å½¹ã«ç«‹ã¡ã¾ã™ã€‚

+ +

é›»å­ç½²åã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã‚„ãã®ä»–ã®æƒ…å ±(処ç†ç•ªå·ãªã©)ã‚’ +é€ä¿¡è€…ã®ç§˜å¯†éµã§æš—å·åŒ–ã™ã‚‹ã“ã¨ã§ä½œã‚‰ã‚Œã¾ã™ã€‚ +誰もãŒå…¬é–‹éµã‚’使ã£ã¦ç½²åを復å·ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ +é€ä¿¡è€…ã®ã¿ãŒç§˜å¯†éµã‚’知ã£ã¦ã„ã¾ã™ã€‚ +ã“ã‚Œã¯é€ä¿¡è€…ã®ã¿ãŒç½²åã—ãˆãŸã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ +ダイジェストを電å­ç½²åã«å«ã‚€ã“ã¨ã¯ã€ +ãã®ç½²åãŒãã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ã¿ã«æœ‰åŠ¹ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ +ã“ã‚Œã¯ã€èª°ã‚‚ダイジェストを変ãˆã¦ç½²åã‚’ã™ã‚‹ã“ã¨ãŒã§ããªã„ãŸã‚〠+メッセージã®ä¿¡ç”¨ã‚‚ä¿è¨¼ã—ã¾ã™ã€‚

+ +

侵入者ãŒç½²åã‚’å‚å—ã—ã¦å¾Œæ—¥ã«å†åˆ©ç”¨ã™ã‚‹ã®ã‚’防ããŸã‚ +é›»å­ç½²åã«ã¯ä¸€æ„ãªå‡¦ç†ç•ªå·ãŒå«ã¾ã‚Œã¾ã™ã€‚ +ã“ã‚Œã¯ã€ã‚¢ãƒªã‚¹ãŒãã‚“ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯é€ã£ã¦ã„ãªã„ã¨è¨€ã†è©æ¬º +ã‹ã‚‰éŠ€è¡Œã‚’守りã¾ã™ã€‚ +彼女ã ã‘ãŒç½²åã—ãˆãŸã‹ã‚‰ã§ã™ã€‚(å¦èªé˜²æ­¢)

+ +
top
+
+

証明書

+ +

アリスã¯ç§˜å¯†ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’銀行ã«é€ã‚Šã€ +ç½²åã‚’ã—ã¦ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä¿¡ç”¨ã‚’ä¿è¨¼ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãŠã†ã«ãªã‚Šã¾ã—ãŸãŒã€ +通信ã—ã¦ã„る相手ãŒæœ¬å½“ã«éŠ€è¡Œãªã®ã‹ç¢ºã‹ã‚ãªãã¦ã¯ã„ã‘ã¾ã›ã‚“。 +ã¤ã¾ã‚Šå½¼å¥³ãŒä½¿ãŠã†ã¨ã—ã¦ã„る公開éµãŒã€éŠ€è¡Œã®ç§˜å¯†éµã¨å¯¾ã«ãªã£ã¦ã„ã¦ã€ +侵入者ã®ç§˜å¯†éµã¨å¯¾ã«ãªã£ã¦ã„ã‚‹ã‚ã‘ã§ã¯ãªã„ã“ã¨ã‚’ +確ã‹ã‚ãªãã¦ã¯ã„ã‘ãªã„ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚ +åŒæ§˜ã«éŠ€è¡Œã¯ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ç½²åãŒæœ¬å½“ã«ã‚¢ãƒªã‚¹ã®æŒã£ã¦ã„ã‚‹ +秘密éµã§ç½²åã•ã‚ŒãŸç½²åã‹ã‚’確èªã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

+ +

ã‚‚ã—両者ã«èº«å…ƒã‚’証明ã—ã€å…¬é–‹éµã‚’確èªã—ã€ã¾ãŸä¿¡é ¼ã•ã‚ŒãŸæ©Ÿé–¢ãŒç½²å +ã—ãŸè¨¼æ˜Žæ›¸ãŒã‚ã‚Œã°ã€ä¸¡è€…ã¨ã‚‚通信相手ã«ã¤ã„ã¦æ­£ã—ã„相手ã ã¨ +確信ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +ãã®ã‚ˆã†ãªä¿¡é ¼ã•ã‚ŒãŸæ©Ÿé–¢ã¯èªè¨¼å±€ + (Certificate Authority ã¾ãŸã¯ CA) ã¨å‘¼ã°ã‚Œã€ +証明書 (certificate) ãŒèªè¨¼ (authentication) ã«ä½¿ã‚ã‚Œã¾ã™ã€‚

+ +

証明書ã®å†…容

+ +

証明書ã¯å…¬é–‹éµã¨å€‹äººã€ã‚µãƒ¼ãƒã€ãã®ä»–ã®ä¸»ä½“ã®å®Ÿåœ¨ã®èº«å…ƒã‚’ + 関連付ã‘ã¾ã™ã€‚ + 表1ã«ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«è¨¼æ˜Žå¯¾è±¡ã®æƒ…報㯠+ 身元証明ã®æƒ…å ±(識別å)ã¨å…¬é–‹éµãŒå«ã¾ã‚Œã¾ã™ã€‚ + 証明書ã¯ã¾ãŸã€èªè¨¼å±€ã®èº«å…ƒè¨¼æ˜Žã¨ç½²åã€ãã—ã¦è¨¼æ˜Žæ›¸ã®æœ‰åŠ¹æœŸé–“ã‚’ + å«ã¿ã¾ã™ã€‚ + シリアルナンãƒãƒ¼ãªã©ã®èªè¨¼å±€ã®ç®¡ç†ä¸Šã®æƒ…報や + ãã®ä»–ã®è¿½åŠ ã®æƒ…å ±ãŒå«ã¾ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ +

表1: 証明書情報

+ + + + + + + + + + + + + +
証明対象識別åã€å…¬é–‹éµ
発行者識別åã€å…¬é–‹éµ
有効期間開始日ã€å¤±åŠ¹æ—¥
管ç†æƒ…å ±ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã€ã‚·ãƒªã‚¢ãƒ«ãƒŠãƒ³ãƒãƒ¼
拡張情報基本的ãªåˆ¶ç´„ã€ãƒãƒƒãƒˆã‚¹ã‚±ãƒ¼ãƒ—フラッグã€ãã®ä»–
+ + +

識別å(ディスティングイッシュ・ãƒãƒ¼ãƒ )ã¯ç‰¹å®šã®çŠ¶æ³ã«ãŠã‘ã‚‹ + 身分証明をæä¾›ã™ã‚‹ã®ã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚例ãˆã°ã€ã‚る人㯠+ ç§ç”¨ã¨ä¼šç¤¾ã¨ã§åˆ¥ã€…ã®èº«åˆ†è¨¼æ˜Žã‚’æŒã¤ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + + 識別å㯠X.509 標準è¦æ ¼ [X509] ã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚ + X.509 標準è¦æ ¼ã¯ã€é …ç›®ã€é …ç›®åã€ãã—ã¦é …ç›®ã®ç•¥ç§°ã‚’定義ã—ã¦ã„ã¾ã™ã€‚(表 + 2 å‚ç…§)

+ +

表 2: 識別å情報

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
識別å項目略称説明例
Common Name (コモンãƒãƒ¼ãƒ )CNèªè¨¼ã•ã‚Œã‚‹åå‰
+ SSL接続ã™ã‚‹URL
CN=www.example.com
Organization or Company (組織å)O団体ã®æ­£å¼è‹±èªžçµ„ç¹”åO=Example Japan K.K.
Organizational Unit (部門å)OU部署åãªã©OU=Customer Service
City/Locality (市区町æ‘)L所在ã—ã¦ã‚‹å¸‚区町æ‘L=Sapporo
State/Province (都é“府県)ST所在ã—ã¦ã‚‹éƒ½é“府県ST=Hokkaido
Country(国)C所在ã—ã¦ã„る国åã® ISO コード
+ 日本ã®å ´åˆ JP +
C=JP
+ + +

èªè¨¼å±€ã¯ã©ã®é …ç›®ãŒçœç•¥å¯èƒ½ã§ã©ã‚ŒãŒå¿…é ˆã‹ã®æ–¹é‡ã‚’定義ã™ã‚‹ + ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。項目ã®å†…容ã«ã¤ã„ã¦ã‚‚èªè¨¼å±€ã‚„証明書ã®ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã® + è¦ä»¶ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + 例ãˆã°ãƒãƒƒãƒˆã‚¹ã‚±ãƒ¼ãƒ—ã®ãƒ–ラウザã¯ã€ã‚µãƒ¼ãƒã®è¨¼æ˜Žæ›¸ã® + Common Name (コモンãƒãƒ¼ãƒ )ãŒã‚µãƒ¼ãƒã®ãƒ‰ãƒ¡ã‚¤ãƒ³åã® + *.snakeoil.com + ã¨ã„ã†ã‚ˆã†ãªãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã®ãƒ‘ターンã«ãƒžãƒƒãƒã™ã‚‹ã“㨠+ ã‚’è¦æ±‚ã—ã¾ã™ã€‚

+ +

ãƒã‚¤ãƒŠãƒªå½¢å¼ã®è¨¼æ˜Žæ›¸ã¯ ASN.1 表記法 + [X208] [PKCS] 㧠+ 定義ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã“ã®è¡¨è¨˜æ³•ã¯å†…容をã©ã®ã‚ˆã†ã«è¨˜è¿°ã™ã‚‹ã‹ã‚’定義ã—〠+ 符å·åŒ–ã®è¦å®šãŒã“ã®æƒ…å ±ãŒã©ã®ã‚ˆã†ã«ãƒã‚¤ãƒŠãƒªå½¢å¼ã«å¤‰æ›ã•ã‚Œã‚‹ã‹ã‚’ + 定義ã—ã¾ã™ã€‚ + 証明書ã®ãƒã‚¤ãƒŠãƒªç¬¦å·åŒ–㯠Distinguished Encoding + Rules (DER) ã§å®šç¾©ã•ã‚Œã€ãã‚Œã¯ã‚ˆã‚Šä¸€èˆ¬çš„㪠Basic Encoding Rules + (BER) ã«åŸºã¥ã„ã¦ã„ã¾ã™ã€‚ + ãƒã‚¤ãƒŠãƒªå½¢å¼ã‚’扱ã†ã“ã¨ã®ã§ããªã„é€ä¿¡ã§ã¯ã€ + ãƒã‚¤ãƒŠãƒªå½¢å¼ã¯ Base64 符å·åŒ– [MIME] 㧠+ ASCII å½¢å¼ã«å¤‰æ›ã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ + 開始デリミタ行ã¨çµ‚了デリミタ行ã§å›²ã¾ã‚ŒãŸã€ã“ã®å½¢å¼ã®ã“ã¨ã‚’ + PEM ("Privacy Enhanced Mail") 符å·åŒ–ã•ã‚ŒãŸè¨¼æ˜Žæ›¸ã¨è¨€ã„ã¾ã™ã€‚

+ +

PEM 符å·åŒ–ã•ã‚ŒãŸè¨¼æ˜Žæ›¸ã®ä¾‹ (example.crt)

-----BEGIN CERTIFICATE-----
+MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
+FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
+A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
+cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
+bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL
+MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
+a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
+cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
+AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b
+vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa
+lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV
+HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB
+gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt
+2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7
+dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ==
+-----END CERTIFICATE-----
+ + +

èªè¨¼å±€

+ +

証明書を承èªã™ã‚‹å‰ã«ã€è¨¼æ˜Žæ›¸è¦æ±‚ã«è¨˜è¼‰ã•ã‚Œã¦ã„る情報を確èªã—〠+ èªè¨¼å±€ã¯éµã®æ‰€æœ‰è€…ã®èº«å…ƒã‚’確èªã—ã¾ã™ã€‚ + 例ãˆã°ã€ã‚¢ãƒªã‚¹ãŒå€‹äººè¨¼æ˜Žæ›¸ã‚’申請ã—ãŸã¨ã™ã‚‹ã¨ã€ + èªè¨¼å±€ã¯ã‚¢ãƒªã‚¹ãŒè¨¼æ˜Žæ›¸ã®ç”³è«‹ãŒä¸»å¼µã™ã‚‹é€šã‚Šã® + 当ã®æœ¬äººã ã¨ã„ã†ã“ã¨ã‚’確èªã—ãªãã¦ã¯ã„ã‘ã¾ã›ã‚“。

+ +

証明書ã®é€£éŽ–

+ +

èªè¨¼å±€ã¯ä»–ã®èªè¨¼å±€ã¸ã®è¨¼æ˜Žæ›¸ã‚’発行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + 未知ã®è¨¼æ˜Žæ›¸ã‚’調ã¹ã‚‹æ™‚ã«ã€ã‚¢ãƒªã‚¹ã¯ãã®è¨¼æ˜Žæ›¸ã®ç™ºè¡Œè€… + ã«è‡ªä¿¡ãŒæŒã¦ã‚‹ã¾ã§ã€ç™ºè¡Œè€…ã®è¨¼æ˜Žæ›¸ã‚’ + ãã®ä¸Šä½éšŽå±¤ã®èªè¨¼å±€ã‚’ãŸã©ã£ã¦èª¿ã¹ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 「悪質ãªã€è¨¼æ˜Žæ›¸ã®å±é™ºæ€§ã‚’減らã™ãŸã‚〠+ 彼女ã¯é™ã‚‰ã‚ŒãŸé€£éŽ–ã®ç™ºè¡Œè€…ã®ã¿ä¿¡é ¼ã™ã‚‹ã‚ˆã†ã« + 決ã‚ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

+ + +

最上ä½èªè¨¼å±€ã®ä½œæˆ

+ +

å‰ã«è¿°ã¹ãŸã‚ˆã†ã«ã€å…¨ã¦ã®è¨¼æ˜Žæ›¸ã«ã¤ã„ã¦ã€ + 最上ä½ã®èªè¨¼å±€(CA)ã¾ã§ãã‚Œãžã‚Œã®ç™ºè¡Œè€…㌠+ 対象ã®èº«å…ƒè¨¼æ˜Žã®æœ‰åŠ¹æ€§ã‚’明らã‹ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + å•é¡Œã¯ã€èª°ãŒãã®æœ€ä¸Šä½ã®èªè¨¼æ©Ÿé–¢ã®è¨¼æ˜Žæ›¸ã‚’ä¿è¨¼ã™ã‚‹ã®ã‹ã€ + ã¨ã„ã†ã“ã¨ã§ã™ã€‚ + ã“ã®ã‚ˆã†ãªå ´åˆã«é™ã‚Šã€è¨¼æ˜Žæ›¸ã¯ã€Œè‡ªå·±ç½²åã€ã•ã‚Œã¾ã™ã€‚ + ブラウザã«ã¯ã€ã¨ã¦ã‚‚よã知られã¦ã„ã‚‹èªè¨¼å±€ãŒåˆæœŸç™»éŒ²ã•ã‚Œã¦ã„ã¾ã™ãŒã€ + 自己署åã•ã‚ŒãŸè¨¼æ˜Žæ›¸ã‚’信用ã™ã‚‹éš›ã«ã¯ + 細心ã®æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚ + 最上ä½èªè¨¼å±€ãŒå…¬é–‹éµã‚’広ã公表ã™ã‚‹ã“ã¨ã§ã€ + ãã®éµã‚’ä¿¡é ¼ã™ã‚‹ãƒªã‚¹ã‚¯ã‚’低ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + ã‚‚ã—ã€ä»–人ãŒãã®èªè¨¼å±€ã«ãªã‚Šã™ã¾ã—ãŸæ™‚ã«ã€ãã‚ŒãŒéœ²è¦‹ã—ã‚„ + ã™ã„ã‹ã‚‰ã§ã™ã€‚

+ +

Thawte + ã‚„ VeriSign + ã®ã‚ˆã†ãªå¤šãã®ä¼šç¤¾ãŒèªè¨¼å±€ã¨ã—ã¦é–‹è¨­ã—ã¾ã—ãŸã€‚ + ã“ã®ã‚ˆã†ãªä¼šç¤¾ã¯ä»¥ä¸‹ã®ã‚µãƒ¼ãƒ“スをæä¾›ã—ã¾ã™:

+ +
    +
  • 証明書申請ã®ç¢ºèª
  • +
  • 証明書申請ã®å‡¦ç†
  • +
  • 証明書ã®ç™ºè¡Œã¨ç®¡ç†
  • +
+ +

自分ã§èªè¨¼å±€ã‚’作るã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ + インターãƒãƒƒãƒˆç’°å¢ƒã§ã¯å±é™ºã§ã™ãŒã€ + 個人やサーãƒã®èº«å…ƒè¨¼æ˜ŽãŒç°¡å˜ã«è¡Œãˆã‚‹çµ„織㮠+ イントラãƒãƒƒãƒˆå†…ã§ã¯å½¹ã«ç«‹ã¤ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。

+ + +

証明書管ç†

+ +

èªè¨¼å±€ã®é–‹è¨­ã¯å¾¹åº•ã—ãŸç®¡ç†ã€æŠ€è¡“ã€é‹ç”¨ã®ä½“制を必è¦ã¨ã™ã‚‹ + 責任ã®ã‚る仕事ã§ã™ã€‚ + èªè¨¼å±€ã¯è¨¼æ˜Žæ›¸ã‚’発行ã™ã‚‹ã ã‘ã§ãªã〠+ 管ç†ã‚‚ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + 具体的ã«ã¯ã€è¨¼æ˜Žæ›¸ãŒã„ã¤ã¾ã§æœ‰åŠ¹ã§ã‚り続ã‘ã‚‹ã‹ã‚’決定ã—ã€æ›´æ–°ã—〠+ ã¾ãŸéŽåŽ»ç™ºè¡Œã•ã‚Œã¦å¤±åŠ¹ã—ãŸè¨¼æ˜Žæ›¸ã®ãƒªã‚¹ãƒˆ + (Certificate Revocation Lists ã¾ãŸã¯ CRL) + を管ç†ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。

+ +

例ãˆã°ã‚¢ãƒªã‚¹ãŒéŽåŽ»ã€ä¼šç¤¾ã®ç¤¾å“¡ã§ã‚ã‚‹ã“ã¨ã‚’証明ã™ã‚‹è¨¼æ˜Žæ›¸ã‚’æŒã£ã¦ã„ãŸãŒã€ + ç¾åœ¨ã¯é€€è·ã—ã¦ã„ãŸéš›ã€ãã®è¨¼æ˜Žæ›¸ã¯å¤±åŠ¹ã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + 証明書ã¯æ¬¡ã€…ã¨äººã«æ¸¡ã•ã‚Œã¦ã„ãã‚‚ã®ãªã®ã§ã€ + 証明書ãã®ã‚‚ã®ã‹ã‚‰ã€ãã‚ŒãŒå–り消ã•ã‚ŒãŸã‹åˆ¤æ–­ã™ã‚‹ã“ã¨ã¯ + ä¸å¯èƒ½ã§ã™ã€‚ + よã£ã¦ã€è¨¼æ˜Žæ›¸ã®æœ‰åŠ¹æ€§ã‚’調ã¹ã‚‹ã¨ãã«ã¯ã€ + èªè¨¼å±€ã«é€£çµ¡ã—㦠CRL ã‚’ç…§åˆã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 普通ã“ã®éŽç¨‹ã¯è‡ªå‹•åŒ–ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。

+ +

注æ„

+

ブラウザã«ä¿¡ç”¨ã§ãã‚‹èªè¨¼å±€ã¨ã—ã¦ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ç™»éŒ²ã•ã‚Œã¦ã„ãªã„ + èªè¨¼å±€ã‚’使ãŠã†ã¨ã—ãŸå ´åˆã€ + èªè¨¼å±€ã®è¨¼æ˜Žæ›¸ã‚’ブラウザã«èª­ã¿è¾¼ã‚“ã§ã€ + ブラウザãŒãã®èªè¨¼å±€ã«ã‚ˆã£ã¦ç½²åã•ã‚ŒãŸã‚µãƒ¼ãƒã®è¨¼æ˜Žæ›¸ã‚’ + 有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 一度読ã¿è¾¼ã¾ã‚Œã‚‹ã¨ã€ãã®èªè¨¼å±€ã«ã‚ˆã£ã¦ç½²åã•ã‚ŒãŸå…¨ã¦ã® + 証明書をå—ã‘入れるãŸã‚ã€å±é™ºã‚’ä¼´ã„ã¾ã™ã€‚

+
+ + + +
top
+
+

Secure Sockets Layer (SSL)

+ +

Secure Sockets Layer プロトコルã¯ä¿¡é ¼æ€§ã®ã‚るコãƒã‚¯ã‚·ãƒ§ãƒ³åž‹ã® +ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã®ãƒ—ロトコル(例ãˆã°ã€TCP/IP)㨠+アプリケーション層ã®ãƒ—ロトコル(例ãˆã°ã€HTTP) +ã®é–“ã«ç½®ãã“ã¨ãŒã§ãã¾ã™ã€‚ +SSL ã¯ã€ç›¸äº’èªè¨¼ã«ã‚ˆã£ã¦ã‚µãƒ¼ãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆé–“ã®å®‰å…¨ãªé€šä¿¡ã‚’〠+é›»å­ç½²åã«ã‚ˆã£ã¦ãƒ‡ãƒ¼ã‚¿ã®å®Œå…¨æ€§ã‚’〠+ãã—ã¦æš—å·åŒ–ã«ã‚ˆã£ã¦ãƒ—ライãƒã‚·ã‚’æä¾›ã—ã¾ã™ã€‚

+ +

SSL プロトコルã¯æš—å·åŒ–ã€ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆã€é›»å­ç½²åã«ã¤ã„ã¦ã€ +様々ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«ã§ãã¦ã„ã¾ã™ã€‚ +ã“ã†ã™ã‚‹ã“ã¨ã§ã€æ³•ã‚„輸出ã®è¦åˆ¶ã‚’考慮ã«å…¥ã‚Œã¦ã€ã‚µãƒ¼ãƒã«åˆã‚ã›ãŸ +アルゴリズムをé¸ã¶ã“ã¨ãŒã§ãã€ã¾ãŸã€æ–°ã—ã„アルゴリズムを +利用ã—ã¦ã„ãã“ã¨ã‚‚å¯èƒ½ã«ã—ã¦ã„ã¾ã™ã€‚ +アルゴリズムã®é¸æŠžã¯ãƒ—ロトコルセッション開始時㫠+サーãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆé–“ã§å–り決ã‚られã¾ã™ã€‚

+ +

表4: SSL プロトコルã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³

+ + + + + + + + + + + + + + + + + + + +
ãƒãƒ¼ã‚¸ãƒ§ãƒ³å‡ºå…¸èª¬æ˜Žãƒ–ラウザã®ã‚µãƒãƒ¼ãƒˆ
SSL v2.0Vendor Standard (Netscape Corp. より) [SSL2]実装ãŒç¾å­˜ã™ã‚‹åˆã‚ã¦ã® SSL プロトコル- NS Navigator 1.x/2.x
+ - MS IE 3.x
+ - Lynx/2.8+OpenSSL
SSL v3.0Expired Internet Draft (Netscape Corp. より) [SSL3]特定ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£æ”»æ’ƒã‚’防ããŸã‚ã®æ”¹è¨‚〠+ éžRSA æš—å·ã®è¿½åŠ ã€è¨¼æ˜Žæ›¸éšŽå±¤æ§‹é€ ã®ã‚µãƒãƒ¼ãƒˆ- NS Navigator 2.x/3.x/4.x
+ - MS IE 3.x/4.x
+ - Lynx/2.8+OpenSSL
TLS v1.0Proposed Internet Standard (IETF より) [TLS1]MAC レイヤを HMAC ã¸æ›´æ–°ã€ãƒ–ロック暗å·ã® block + paddingã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸é †åºã®æ¨™æº–化ã€è­¦å‘Šæ–‡ã®å……実ãªã©ã®ãŸã‚ + SSL 3.0 を改訂。- Lynx/2.8+OpenSSL
+ + +

表4ã«ç¤ºã•ã‚Œã‚‹ã¨ãŠã‚Šã€SSL プロトコルã«ã¯ +ã„ãã¤ã‚‚ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã‚ã‚Šã¾ã™ã€‚ +表ã«ã‚‚書ã‹ã‚Œã¦ã„るよã†ã«ã€SSL 3.0 ã®åˆ©ç‚¹ã®ä¸€ã¤ã¯ +証明書階層構造をサãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ã§ã™ã€‚ +ã“ã®æ©Ÿèƒ½ã«ã‚ˆã£ã¦ã€ã‚µãƒ¼ãƒã¯è‡ªåˆ†ã®è¨¼æ˜Žæ›¸ã«åŠ ãˆã¦ã€ +発行者ã®è¨¼æ˜Žæ›¸ã‚’ブラウザã«æ¸¡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ +証明書階層構造ã«ã‚ˆã£ã¦ã€ +ブラウザã«ç™ºè¡Œè€…ã®è¨¼æ˜Žæ›¸ãŒç›´æŽ¥ç™»éŒ²ã•ã‚Œã¦ã„ãªãã¦ã‚‚〠+階層ã®ä¸­ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ã€ +ブラウザã¯ã‚µãƒ¼ãƒã®è¨¼æ˜Žæ›¸ã‚’有効化ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +SSL 3.0 ã¯ç¾åœ¨ Internet Engineering Task Force (IETF) +ã«ã‚ˆã£ã¦é–‹ç™ºã•ã‚Œã¦ã„ã‚‹ Transport Layer Security +[TLS] プロトコル標準è¦æ ¼ã®åŸºç¤Žã¨ãªã£ã¦ã„ã¾ã™ã€‚

+ +

セッションã®ç¢ºç«‹

+ +

図1ã§ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ã€ + セッションã®ç¢ºç«‹ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒé–“ã® + ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã«ã‚ˆã£ã¦è¡Œãªã‚ã‚Œã¾ã™ã€‚ + サーãƒãŒè¨¼æ˜Žæ›¸ã‚’æä¾›ã™ã‚‹ã‹ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®è¨¼æ˜Žæ›¸ã‚’リクエストã™ã‚‹ã‹ + ã¨ã„ã†ã‚µãƒ¼ãƒã®è¨­å®šã«ã‚ˆã‚Šã€ã“ã®ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã¯ç•°ãªã‚‹ã‚‚ã®ã¨ãªã‚Šã¾ã™ã€‚ + æš—å·æƒ…å ±ã®ç®¡ç†ã®ãŸã‚ã«ã€è¿½åŠ ã®ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯éŽç¨‹ãŒå¿…è¦ã«ãªã‚‹ + å ´åˆã‚‚ã‚ã‚Šã¾ã™ãŒã€ã“ã®è¨˜äº‹ã§ã¯ + よãã‚るシナリオを手短ã«èª¬æ˜Žã—ã¾ã™ã€‚ + å…¨ã¦ã®å¯èƒ½æ€§ã«ã¤ã„ã¯ã€SSL 仕様書をå‚ç…§ã—ã¦ãã ã•ã„。

+ +

注æ„

+

一度 SSL セッションãŒç¢ºç«‹ã™ã‚‹ã¨ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’å†åˆ©ç”¨ã™ã‚‹ã“ã¨ã§ã€ + セッションを開始ã™ã‚‹ãŸã‚ã®å¤šãã®éŽç¨‹ã‚’ç¹°ã‚Šè¿”ã™ã¨ã„ㆠ+ パフォーマンスã®æ失を防ãŽã¾ã™ã€‚ + ãã®ãŸã‚ã€ã‚µãƒ¼ãƒã¯å…¨ã¦ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«ä¸€æ„ãªã‚»ãƒƒã‚·ãƒ§ãƒ³è­˜åˆ¥åã‚’ + 割り当ã¦ã€ã‚µãƒ¼ãƒã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã—ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æ¬¡å›žã‹ã‚‰ + (識別åãŒã‚µãƒ¼ãƒã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã§æœŸé™åˆ‡ã‚Œã«ãªã‚‹ã¾ã§ã¯) + ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ãªã—ã§æŽ¥ç¶šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

+
+ +

+
+ 図1: SSL + ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹æ¦‚ç•¥

+ +

サーãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ä½¿ã‚れる + ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã®è¦ç´ ã‚’以下ã«ç¤ºã—ã¾ã™:

+ +
    +
  1. データ通信ã«ä½¿ã‚れる暗å·ã‚¹ã‚¤ãƒ¼ãƒˆã®å–り決ã‚
  2. +
  3. クライアントã¨ã‚µãƒ¼ãƒé–“ã§ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³éµã®ç¢ºç«‹ã¨å…±æœ‰
  4. +
  5. オプションã¨ã—ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾ã™ã‚‹ã‚µãƒ¼ãƒã®èªè¨¼
  6. +
  7. オプションã¨ã—ã¦ã€ã‚µãƒ¼ãƒã«å¯¾ã™ã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®èªè¨¼
  8. +
+ +

第一ステップã®æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆå–り決ã‚ã«ã‚ˆã£ã¦ã€ + サーãƒã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ãã‚Œãžã‚Œã«ã‚ã£ãŸ + æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆã‚’é¸ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚ + SSL3.0 プロトコルã®ä»•æ§˜æ›¸ã¯ 31 ã®æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆã‚’定義ã—ã¦ã„ã¾ã™ã€‚ + æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆã¯ä»¥ä¸‹ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã«ã‚ˆã‚Šå®šç¾©ã•ã‚Œã¦ã„ã¾ã™:

+ +
    +
  • éµã®äº¤æ›æ‰‹æ®µ
  • +
  • データ通信ã®æš—å·è¡“
  • +
  • Message Authentication Code (MAC) 作æˆã®ãŸã‚ã® + メッセージダイジェスト
  • +
+ +

ã“れらã®ä¸‰ã¤ã®è¦ç´ ã¯ä»¥ä¸‹ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚

+ + +

éµã®äº¤æ›æ‰‹æ®µ

+ +

éµã®äº¤æ›æ‰‹æ®µã¯ã‚¢ãƒ—リケーションã®ãƒ‡ãƒ¼ã‚¿é€šä¿¡ã«ä½¿ã‚れ〠+ 共有ã•ã‚Œã‚‹å¯¾ç§°æš—å·éµã‚’ã©ã®ã‚ˆã†ã«ãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒã§ + å–り決ã‚ã‚‹ã‹ã‚’定義ã—ã¾ã™ã€‚ + SSL 2.0 㯠RSA éµäº¤æ›ã—ã‹ä½¿ã„ã¾ã›ã‚“ãŒã€ + SSL 3.0 㯠(証明書ãŒä½¿ã‚れるã¨ãã®) RSA éµäº¤æ›ã‚„〠+ (証明書無ã—ã®å ´åˆã‚„クライアントã¨ã‚µãƒ¼ãƒã®äº‹å‰ã®é€šä¿¡ãŒç„¡ã„å ´åˆã®) + Diffie-Hellman éµäº¤æ› + ãªã©æ§˜ã€…ãªéµäº¤æ›ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚

+ +

éµã®äº¤æ›æ–¹æ³•ã«ãŠã‘る一ã¤ã®é¸æŠžè‚¢ã¯é›»å­ç½²åã§ã™ã€‚ + é›»å­ç½²åを使ã†ã‹ã©ã†ã‹ã€ã¾ãŸã€ + ã©ã®ç¨®é¡žã®ç½²åを使ã†ã‹ã¨ã„ã†é¸æŠžãŒã‚ã‚Šã¾ã™ã€‚ + 秘密éµã§ç½²åã™ã‚‹ã“ã¨ã§å…±æœ‰éµã‚’ä¿è­·ã—ã€æƒ…報交æ›ã™ã‚‹æ™‚ã® + マン・イン・ザ・ミドル攻撃を防ãã“ã¨ãŒã§ãã¾ã™ã€‚ + [AC96, p516]

+ + +

データ通信ã®æš—å·è¡“

+ +

SSL ã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æš—å·åŒ–ã«å‰è¿°ã—㟠+ 対称暗å·æ–¹å¼ã‚’用ã„ã¾ã™ã€‚ + æš—å·åŒ–ã—ãªã„ã¨ã„ã†é¸æŠžè‚¢ã‚‚å«ã‚ä¹ã¤ã®æš—å·æ–¹å¼ã®é¸æŠžè‚¢ãŒã‚ã‚Šã¾ã™:

+ +
    +
  • æš—å·åŒ–ãªã—
  • +
  • ã‚¹ãƒˆãƒªãƒ¼ãƒ æš—å· +
      +
    • 40-bit éµã§ã® RC4
    • +
    • 128-bit éµã§ã® RC4
    • +
  • +
  • CBC ãƒ–ãƒ­ãƒƒã‚¯æš—å· +
    • 40 bit éµã§ã® RC2
    • +
    • 40 bit éµã§ã® DES
    • +
    • 56 bit éµã§ã® DES
    • +
    • 168 bit éµã§ã® Triple-DES
    • +
    • Idea (128 bit éµ)
    • +
    • Fortezza (96 bit éµ)
    • +
  • +
+ +

CBC ã¨ã¯æš—å·ãƒ–ロック連鎖 (Cipher Block Chaining) + ã®ç•¥ã§ã€ä¸€ã¤å‰ã®æš—å·åŒ–ã•ã‚ŒãŸæš—å·æ–‡ã®ä¸€éƒ¨ãŒ + ブロックã®æš—å·åŒ–ã«ä½¿ã‚れるã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ + DES ã¯ãƒ‡ãƒ¼ã‚¿æš—å·åŒ–標準è¦æ ¼ (Data Encryption Standard) + [AC96, ch12] ã®ç•¥ã§ã€ + DES40 ã‚„ 3DES_EDE ã‚’å«ã‚€ã„ãã¤ã‚‚ã®ç¨®é¡žãŒã‚ã‚Šã¾ã™ã€‚ + Idea ã¯ç¾åœ¨æœ€é«˜ãªã‚‚ã®ã®ä¸€ã¤ã§ã€æš—å·è¡“çš„ã«ã¯ç¾åœ¨ã‚る中㧠+ 最も強力ãªã‚‚ã®ã§ã™ã€‚ + RC2 㯠RSA DSI ã«ã‚ˆã‚‹ç‹¬å çš„ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§ã™ã€‚ + [AC96, + ch13]

+ + +

ダイジェスト関数

+ +

+ ダイジェスト関数ã®é¸æŠžã¯ãƒ¬ã‚³ãƒ¼ãƒ‰ãƒ¦ãƒ‹ãƒƒãƒˆã‹ã‚‰ã©ã®ã‚ˆã†ã«ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆãŒç”Ÿæˆã•ã‚Œã‚‹ã‹ã‚’決定ã—ã¾ã™ã€‚ + SSL ã¯ä»¥ä¸‹ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™:

+ +
    +
  • ダイジェストãªã—
  • +
  • MD5 (128-bit ãƒãƒƒã‚·ãƒ¥)
  • +
  • Secure Hash Algorithm (SHA-1) (160-bit ãƒãƒƒã‚·ãƒ¥)
  • +
+ +

メッセージダイジェスト㯠Message Authentication Code (MAC) + ã®ç”Ÿæˆã«ä½¿ã‚ã‚Œã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¨å…±ã«æš—å·åŒ–ã•ã‚Œã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ä¿¡æ†‘性を + 確èªã—ã€ãƒªãƒ—レイ攻撃を防ãŽã¾ã™ã€‚

+ + +

ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ãƒ—ロトコル

+ +

ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã¯ä¸‰ã¤ã®ãƒ—ロトコルを使ã„ã¾ã™:

+ +
    +
  • SSL ãƒãƒ³ãƒ‰ã‚·ã‚§ãƒ¼ã‚¯ãƒ—ロトコル㯠+ クライアントã¨ã‚µãƒ¼ãƒé–“ã§ã® SSL セッションã®ç¢ºç«‹ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
  • +
  • SSL æš—å·ä»•æ§˜å¤‰æ›´ãƒ—ロトコル㯠+ セッションã§ã®æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆã®å–り決ã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
  • +
  • SSL 警告プロトコル㯠+ クライアントサーãƒé–“㧠SSL エラーをä¼é”ã™ã‚‹ã®ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
  • +
+ +

三ã¤ã®ãƒ—ロトコルã¯ã€ã‚¢ãƒ—リケーションプロトコルデータã¨ã¨ã‚‚ã«ã€ + 図2ã«ç¤ºã™ã¨ãŠã‚Š SSL レコードプロトコル + ã§ã‚«ãƒ—セル化ã•ã‚Œã¾ã™ã€‚ + カプセル化ã•ã‚ŒãŸãƒ—ロトコルã¯ãƒ‡ãƒ¼ã‚¿ã‚’検査ã—ãªã„ + 下層ã®ãƒ—ロトコルã«ã‚ˆã£ã¦ãƒ‡ãƒ¼ã‚¿ã¨ã—ã¦ä¼é”ã•ã‚Œã¾ã™ã€‚ + カプセル化ã•ã‚ŒãŸãƒ—ロトコルã¯ä¸‹å±¤ã®ãƒ—ロトコルã«é–¢ã—ã¦ä¸€åˆ‡é–¢çŸ¥ã—ã¾ã›ã‚“。

+ +

+
+ 図2: SSL プロトコルスタック +

+ +

+ レコードプロトコル㧠SSL コントロールプロトコルãŒã‚«ãƒ—セル化ã•ã‚Œã¦ã„ã‚‹ã¨ã„ã†ã“ã¨ã¯ã€ + アクティブãªã‚»ãƒƒã‚·ãƒ§ãƒ³ä¸Šã§å†ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã•ã‚ŒãŸã¨ãã«ã‚‚〠+ コントロールプロトコルã¯å®‰å…¨ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚ + 既存ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒç„¡ã„å ´åˆã¯ã€Null æš—å·ã‚¹ã‚¤ãƒ¼ãƒˆãŒä½¿ã‚れ〠+ æš—å·åŒ–ã¯è¡Œãªã‚ã‚Œãšã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒç¢ºç«‹ã™ã‚‹ã¾ã§ã¯ + ダイジェストも無ã„状態ã¨ãªã‚Šã¾ã™ã€‚

+ + +

データ通信

+ +

図3ã«ç¤ºã•ã‚Œã‚‹ SSL レコードプロトコル + ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã‚µãƒ¼ãƒé–“ã®ã‚¢ãƒ—リケーションや + SSL コントロールデータã®é€šä¿¡ã«ä½¿ã‚ã‚Œã¾ã™ã€‚ + å¿…è¦ã«å¿œã˜ã¦ã“ã®ãƒ‡ãƒ¼ã‚¿ã¯ã‚ˆã‚Šå°ã•ã„ユニットã«åˆ†ã‘られãŸã‚Šã€ + ã„ãã¤ã‹ã®é«˜ç´šãƒ—ロトコルをã¾ã¨ã‚ã¦ä¸€ãƒ¦ãƒ‹ãƒƒãƒˆã¨ã—ã¦é€šä¿¡ãŒ + è¡Œãªã‚れるã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚ + データを圧縮ã—ã€ãƒ€ã‚¤ã‚¸ã‚§ã‚¹ãƒˆç½²åを添付ã—ã¦ã€ + ã“れらã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’æš—å·åŒ–ã—ãŸã®ã¡ã€ãƒ™ãƒ¼ã‚¹ã¨ãªã£ã¦ã„ã‚‹ + 信頼性ã®ã‚るトランスãƒãƒ¼ãƒˆãƒ—ロトコルを用ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + (注æ„: ç¾åœ¨ãƒ¡ã‚¸ãƒ£ãƒ¼ãª SLL 実装ã§åœ§ç¸®ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‚‚ã®ã¯ã‚ã‚Šã¾ã›ã‚“)

+ +

+
+ 図 3: SSL レコードプロトコル +

+ + +

HTTP 通信ã®å®‰å…¨åŒ–

+ +

よãã‚ã‚‹ SSL ã®ä½¿ã„æ–¹ã¯ãƒ–ラウザã¨ã‚¦ã‚§ãƒ–サーãƒé–“ã® HTTP 通信 + ã®å®‰å…¨åŒ–ã§ã™ã€‚ + ã“ã‚Œã¯ã€å¾“æ¥ã®å®‰å…¨ã§ã¯ãªã„ HTTP ã®ä½¿ç”¨ã‚’除外ã™ã‚‹ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 + 安全化ã•ã‚ŒãŸã‚‚ã® (HTTPS ã¨å‘¼ã°ã‚Œã¾ã™) ã¯ã€SSL 上ã§ã®æ™®é€šã® HTTP ã§ã€ + URL スキーム㫠http ã®ä»£ã‚ã‚Šã« https + を用ã„ã€ã‚µãƒ¼ãƒã§åˆ¥ã®ãƒãƒ¼ãƒˆã‚’使ã†ã“ã¨ã§ã™ (デフォルトã§ã¯443)。 + ã“ã‚ŒãŒä¸»ã« mod_ssl ㌠Apache + ウェブサーãƒã«æä¾›ã™ã‚‹æ©Ÿèƒ½ã§ã™ã€‚

+ +
top
+
+

å‚考文献

+ +
+
[AC96]
+
Bruce Schneier, Applied Cryptography, 2nd Edition, Wiley, +1996. See http://www.counterpane.com/ for various other materials by Bruce +Schneier.
+ +
[X208]
+
ITU-T Recommendation X.208, Specification of Abstract Syntax Notation +One (ASN.1), 1988. See for instance http://www.itu.int/rec/recommendation.asp?type=items&lang=e&parent=T-REC-X.208-198811-I. +
+ +
[X509]
+
ITU-T Recommendation X.509, The Directory - Authentication +Framework. See for instance http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-X.509. +
+ +
[PKCS]
+
Public Key Cryptography Standards (PKCS), +RSA Laboratories Technical Notes, See http://www.rsasecurity.com/rsalabs/pkcs/.
+ +
[MIME]
+
N. Freed, N. Borenstein, Multipurpose Internet Mail Extensions +(MIME) Part One: Format of Internet Message Bodies, RFC2045. +See for instance http://ietf.org/rfc/rfc2045.txt.
+ +
[SSL2]
+
Kipp E.B. Hickman, The SSL Protocol, 1995. See http://www.netscape.com/eng/security/SSL_2.html.
+ +
[SSL3]
+
Alan O. Freier, Philip Karlton, Paul C. Kocher, The SSL Protocol +Version 3.0, 1996. See http://www.netscape.com/eng/ssl3/draft302.txt.
+ +
[TLS1]
+
Tim Dierks, Christopher Allen, The TLS Protocol Version 1.0, +1999. See http://ietf.org/rfc/rfc2246.txt.
+
+
+
+

翻訳済ã¿è¨€èªž:  en  | + fr  | + ja 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/stopping.html b/docs/manual/stopping.html new file mode 100644 index 0000000..68adf07 --- /dev/null +++ b/docs/manual/stopping.html @@ -0,0 +1,29 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: stopping.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: stopping.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: stopping.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: stopping.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: stopping.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: stopping.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: stopping.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/stopping.html.de b/docs/manual/stopping.html.de new file mode 100644 index 0000000..07e7d94 --- /dev/null +++ b/docs/manual/stopping.html.de @@ -0,0 +1,288 @@ + + + + + +Beenden und Neustarten - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Beenden und Neustarten

+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.
+ +

Dieses Dokument umfasst das Beenden und Neustarten des + Apache auf Unix-ähnlichen Systemen. Anwender von Windows NT, 2000 + und XP sollten Betreiben + des Apache als Dienst lesen, während hingegen Anwender von + Windows 9x sowie ME Betreiben + des Apache als Konsolenanwendung lesen sollten, um mehr Informationen + zur Handhabung des Apache auf diesen Systemen zu erhalten.

+
+ +
top
+
+

Einleitung

+ +

Um den Apache zu stoppen oder neu zu starten, müssen Sie + ein Signal an den laufenden httpd-Prozess senden. Es gibt + zwei Möglichkeiten, diese Signale zu senden. Zum einen können + Sie den Unix-Befehl kill verwenden, um den Prozessen + direkt Signale zu senden. Sie werden feststellen, dass auf Ihrem + System mehrere httpd-Programme laufen. Sie sollten + jedoch nicht jedem dieser Prozesse ein Signal senden, sondern nur dem + Elternprozess, dessen PID im PidFile steht. Das heißt, Sie + sollten es niemals nötig haben, einem anderen Prozess, als dem + Elternprozess, ein Signal zu senden. Es gibt drei Signale, die Sie an den + Elternprozess senden können: TERM, + HUP und + USR1, die nachfolgend beschrieben + werden.

+ +

Um dem Elternprozess ein Signal zu senden, verwenden Sie einen + Befehl wie z.B.:

+ +

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

+ +

Die zweite Methode, dem httpd-Prozess zu + signalisieren, ist die Verwendung der -k-Befehlszeilenoptionen + stop, restart und graceful, wie + unten beschrieben. Dies sind Argumente des httpd-Programms, es wird jedoch + empfohlen, sie unter Verwendung des Steuerskripts apachectl zu senden, welches diese + an httpd durchreicht.

+ +

Nachdem Sie httpd signalisiert haben, können Sie + dessen Fortschritt beobachten, indem Sie eingeben:

+ +

tail -f /usr/local/apache2/logs/error_log

+ +

Passen Sie diese Beispiele entsprechend Ihren ServerRoot- und PidFile-Einstellungen an.

+
top
+
+

Beenden

+ +
Signal: TERM
+
apachectl -k stop
+
+ +

Das Senden des TERM- oder stop-Signals an + den Elternprozess veranlasst diesen, sofort zu versuchen, alle seine + Kindprozesse zu beenden. Es kann einige Sekunden dauern, bis alle + Kindprozesse komplett beendet sind. Danach beendet sich der Elternprozess + selbst. Alle gerade bearbeiteten Anfragen werden abgebrochen. + Es werden keine weiteren Anfragen mehr bedient.

+
top
+
+

Unterbrechungsfreier Neustart

+ +
Signal: USR1
+
apachectl -k graceful
+
+ +

Das USR1- oder graceful-Signal + veranlasst den Elternprozess, die Kinder anzuweisen, sich + nach Abschluß ihrer momentanen bearbeiteten Anfrage zu beenden + (oder sich sofort zu beenden, wenn sie gerade keine Anfrage bedienen). + Der Elternprozess liest seine Konfigurationsdateien erneut ein und + öffnet seine Logdateien neu. Wenn ein Kindprozess stirbt, + ersetzt der Elternprozess ihn durch ein Kind der neuen + Konfigurations-Generation. Dieses beginnt sofort damit, + neue Anfragen zu bedienen.

+ +
Auf bestimmten Plattformen, welche kein USR1 + für einen unterbrechungsfreien Neustart erlauben, kann ein + alternatives Signal verwendet werden (wie z.B. + WINCH). Der Befehl apachectl graceful + sendet das jeweils richtige Signal für Ihre Platform.
+ +

Der Code ist dafür ausgelegt, stets die MPM-Direktiven + zur Prozesssteuerung zu beachten, so dass die Anzahl der Prozesse + und Threads, die zur Bedienung der Clients bereitstehen, während + des Neustarts auf die entsprechenden Werte gesetzt werden. + Weiterhin wird StartServers + auf folgende Art und Weise interpretiert: Wenn nach einer Sekunde + nicht mindestens StartServers + neue Kindprozesse erstellt wurden, dann werden, um den Durchsatz zu + beschleunigen, entsprechend weitere erstellt. Auf diese Weise versucht + der Code sowohl die Anzahl der Kinder entsprechend der Serverlast + anzupassen als auch Ihre Wünsche hinsichtlich des Parameters + StartServers zu + berücksichtigen.

+ +

Benutzer von mod_status werden feststellen, + dass die Serverstatistiken nicht auf Null + zurückgesetzt werden, wenn ein USR1 gesendet + wurde. Der Code wurde so geschrieben, dass sowohl die Zeit minimiert + wird, in der der Server nicht in der Lage ist, neue Anfragen zu + bedienen (diese werden vom Betriebssystem in eine Warteschlange + gestellt, so dass sie auf keinen Fall verloren gehen) als auch + Ihre Parameter zur Feinabstimmung berücksichtigt werden. + Um dies zu erreichen, muss die Statustabelle (Scoreboard), + die dazu verwendet wird, alle Kinder über mehrere Generationen + zu verfolgen, erhalten bleiben.

+ +

Das Statusmodul benutzt außerdem ein G, um + diejenigen Kinder zu kennzeichen, die noch immer Anfragen bedienen, + welche gestartet wurden, bevor ein unterbrechungsfreier Neustart + veranlaßt wurde.

+ +

Derzeit gibt es keine Möglichkeit für ein + Log-Rotationsskript, das USR1 verwendet, sicher + festzustellen, dass alle Kinder, die in ein vor dem Neustart + geöffnetes Log schreiben, beendet sind. Wir schlagen vor, dass + Sie nach dem Senden des Signals USR1 eine angemessene + Zeitspanne warten, bevor Sie das alte Log anfassen. Wenn beispielsweise + die meisten Ihrer Zugriffe bei Benutzern mit niedriger Bandbreite + weniger als 10 Minuten für eine vollständige Antwort + benötigen, dann könnten Sie 15 Minuten warten, bevor Sie auf + das alte Log zugreifen.

+ +
Wenn Ihre Konfigurationsdatei Fehler enthält, während + Sie einen Neustart anweisen, dann wird Ihr Elternprozess nicht neu starten, + sondern sich mit einem Fehler beenden. Im Falle eines unterbrechungsfreien + Neustarts läßt er die Kinder weiterlaufen, wenn er sich beendet. + (Dies sind die Kinder, die sich "sanft beenden", indem sie ihre letzte + Anfrage erledigen.) Das verursacht Probleme, wenn Sie versuchen, + den Server neu zu starten -- er ist nicht in der Lage, sich an die Ports zu + binden, an denen er lauschen soll. Bevor Sie einen Neustart + durchführen, können Sie die Syntax der Konfigurationsdateien + mit dem Befehlszeilenargument -t überprüfen + (siehe auch httpd). Das garantiert + allerdings nicht, dass der Server korrekt starten wird. Um sowohl die + Syntax als auch die Semantik der Konfigurationsdateien zu prüfen, + können Sie versuchen, httpd als nicht-root-Benutzer + zu starten. Wenn dabei keine Fehler auftreten, wird er versuchen, seine + Sockets und Logdateien zu öffnen und fehlschlagen, da er nicht root + ist (oder weil sich der gegenwärtig laufende httpd + bereits diese Ports gebunden hat). Wenn er aus einem anderen Grund + fehlschlägt, dann liegt wahrscheinlich ein Konfigurationsfehler vor. + Der Fehler sollte behoben werden, bevor der unterbrechungsfreie Neustart + angewiesen wird.
+
top
+
+

Neustarten

+ +
Signal: HUP
+
apachectl -k restart
+
+ +

Das Senden des Signals HUP oder restart + veranlaßt den Elternprozess, wie bei TERM alle seine + Kinder zu beenden. Der Elternprozess beendet sich jedoch nicht. Er liest + seine Konfigurationsdateien neu ein und öffnet alle Logdateien + erneut. Dann erzeugt er einen neuen Satz Kindprozesse und setzt die + Bedienung von Zugriffen fort.

+ +

Benutzer von mod_status werden feststellen, dass + die Serverstatistiken auf Null gesetzt werden, wenn ein HUP + gesendet wurde.

+ +
Wenn Ihre Konfigurationsdatei einen Fehler enthält, + während Sie einen Neustart anweisen, dann wird Ihr Elternprozess + nicht neu starten, sondern sich mit einem Fehler beenden. Lesen Sie oben, + wie Sie das vermeiden können.
+
top
+
+

Anhang: Signale und Wettkampfsituationen

+ +

Vor der Version 1.2b9 des Apache existierten verschiedene + Wettkampfsituationen (race conditions), die den Neustart und + die Signale beeinflußt haben. (Einfach erklärt ist eine + Wettkampfsituation ein zeitabhängiges Problem - wenn + etwas zum falschen Zeitpunkt erfolgt oder Dinge in der falschen + Reihenfolge passieren, ist unerwartetes Verhalten die Folge. Wenn die + gleichen Dinge zur richtigen Zeit geschehen, funktioniert alles korrekt.) + Bei Architekturen mit dem "richtigen" Funktionsumfang + haben wir so viele eliminiert wie wir nur konnten. Dennoch + sollte beachtet werden, dass noch immer Wettkampfsituationen auf + bestimmten Architekturen existieren.

+ +

Bei Architekturen, die ein ScoreBoardFile auf Platte verwenden, + besteht die Gefahr, dass die Statustabelle beschädigt wird. + Das kann zu "bind: Address already in use" ("bind: Adresse wird + bereits verwendet", nach einem HUP) oder "long lost + child came home!" ("Der verlorene Sohn ist heimgekehrt", nach einem + USR1) führen. Ersteres ist ein schwerer Fehler, + wärend letzteres lediglich bewirkt, dass der Server einen Eintrag + in der Statustabelle verliert. So kann es ratsam sein, unterbrechungsfreie + Neustarts zusammen mit einem gelegentlichen harten Neustart zu verwenden. + Diese Probleme lassen sich nur sehr schwer umgehen, aber + glücklicherweise benötigen die meisten Architekturen keine + Statustabelle in Form einer Datei. Bitte lesen Sie für Architekturen, + die sie benötigen, die Dokumentation zu ScoreBoardFile.

+ +

Alle Architekturen haben in jedem Kindprozess eine kleine + Wettkampfsituation, welche die zweite und nachfolgende Anfragen + einer persistenten HTTP-Verbindung (KeepAlive) umfaßt. Der Prozess + kann nach dem Lesen der Anfragezeile aber vor dem Lesen der Anfrage-Header + enden. Es existiert eine Korrektur, die für 1.2 zu spät kam. + Theoretisch sollte das kein Problem darstellen, da + der KeepAlive-Client derartige Ereignisse aufgrund von + Netzwerk-Latenzzeiten und Auszeiten des Servers erwarten sollte. + In der Praxis scheint keiner von beiden beeinflußt zu werden + -- in einem Testfall wurde der Server zwanzig mal + pro Sekunde neu gestartet, während Clients das Angebot abgegrast + haben, ohne kaputte Bilder oder leere Dokumente zu erhalten.

+
+
+

Verfügbare Sprachen:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Kommentare

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/stopping.html.en b/docs/manual/stopping.html.en new file mode 100644 index 0000000..79f3d2d --- /dev/null +++ b/docs/manual/stopping.html.en @@ -0,0 +1,264 @@ + + + + + +Stopping and Restarting Apache HTTP Server - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Stopping and Restarting Apache HTTP Server

+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

This document covers stopping and restarting Apache HTTP Server on + Unix-like systems. Windows NT, 2000 and XP users should see + Running httpd as a + Service and Windows 9x and ME users should see Running httpd as a + Console Application for information on how to control + httpd on those platforms.

+
+ +
top
+
+

Introduction

+ +

In order to stop or restart the Apache HTTP Server, you must send a signal to + the running httpd processes. There are two ways to + send the signals. First, you can use the unix kill + command to directly send signals to the processes. You will + notice many httpd executables running on your system, + but you should not send signals to any of them except the parent, + whose pid is in the PidFile. That is to say you + shouldn't ever need to send signals to any process except the + parent. There are four signals that you can send the parent: + TERM, + USR1, + HUP, and + WINCH, which + will be described in a moment.

+ +

To send a signal to the parent you should issue a command + such as:

+ +

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

+ +

The second method of signaling the httpd processes + is to use the -k command line options: stop, + restart, graceful and graceful-stop, + as described below. These are arguments to the httpd binary, but we recommend that + you send them using the apachectl control script, which + will pass them through to httpd.

+ +

After you have signaled httpd, you can read about + its progress by issuing:

+ +

tail -f /usr/local/apache2/logs/error_log

+ +

Modify those examples to match your ServerRoot and PidFile settings.

+
top
+
+

Stop Now

+ +
Signal: TERM
+
apachectl -k stop
+
+ +

Sending the TERM or stop signal to + the parent causes it to immediately attempt to kill off all of its + children. It may take it several seconds to complete killing off + its children. Then the parent itself exits. Any requests in + progress are terminated, and no further requests are served.

+
top
+
+

Graceful Restart

+ +
Signal: USR1
+
apachectl -k graceful
+
+ +

The USR1 or graceful signal causes + the parent process to advise the children to exit after + their current request (or to exit immediately if they're not + serving anything). The parent re-reads its configuration files and + re-opens its log files. As each child dies off the parent replaces + it with a child from the new generation of the + configuration, which begins serving new requests immediately.

+ +

This code is designed to always respect the process control + directive of the MPMs, so the number of processes and threads + available to serve clients will be maintained at the appropriate + values throughout the restart process. Furthermore, it respects + StartServers in the + following manner: if after one second at least StartServers new children have not + been created, then create enough to pick up the slack. Hence the + code tries to maintain both the number of children appropriate for + the current load on the server, and respect your wishes with the + StartServers + parameter.

+ +

Users of mod_status + will notice that the server statistics are not + set to zero when a USR1 is sent. The code was + written to both minimize the time in which the server is unable + to serve new requests (they will be queued up by the operating + system, so they're not lost in any event) and to respect your + tuning parameters. In order to do this it has to keep the + scoreboard used to keep track of all children across + generations.

+ +

The status module will also use a G to indicate + those children which are still serving requests started before + the graceful restart was given.

+ +

At present there is no way for a log rotation script using + USR1 to know for certain that all children writing + the pre-restart log have finished. We suggest that you use a + suitable delay after sending the USR1 signal + before you do anything with the old log. For example if most of + your hits take less than 10 minutes to complete for users on + low bandwidth links then you could wait 15 minutes before doing + anything with the old log.

+ +
+

When you issue a restart, a syntax check is first run, to + ensure that there are no errors in the configuration files. + If your configuration file has errors in it, you will get an + error message about that syntax error, and the server will refuse to + restart. This avoids the situation where the server halts and then + cannot restart, leaving you with a non-functioning server.

+ +

This still will not + guarantee that the server will restart correctly. To check the + semantics of the configuration files as well as the syntax, you + can try starting httpd as a non-root user. If there + are no errors it will attempt to open its sockets and logs and fail + because it's not root (or because the currently running + httpd already has those ports bound). If it fails + for any other reason then it's probably a config file error and the error + should be fixed before issuing the graceful restart.

+
top
+
+

Restart Now

+ +
Signal: HUP
+
apachectl -k restart
+
+ +

Sending the HUP or restart signal to + the parent causes it to kill off its children like in + TERM, but the parent doesn't exit. It re-reads its + configuration files, and re-opens any log files. Then it spawns a + new set of children and continues serving hits.

+ +

Users of mod_status + will notice that the server statistics are set to zero when a + HUP is sent.

+ +
As with a graceful restart, a syntax check is run before the +restart is attempted. If your configuration file has errors in it, the +restart will not be attempted, and you will receive notification of the +syntax error(s).
+
top
+
+

Graceful Stop

+ +
Signal: WINCH
+
apachectl -k graceful-stop
+
+ +

The WINCH or graceful-stop signal causes + the parent process to advise the children to exit after + their current request (or to exit immediately if they're not + serving anything). The parent will then remove its PidFile and cease listening on + all ports. The parent will continue to run, and monitor children + which are handling requests. Once all children have finalised + and exited or the timeout specified by the GracefulShutdownTimeout has been + reached, the parent will also exit. If the timeout is reached, + any remaining children will be sent the TERM signal + to force them to exit.

+ +

A TERM signal will immediately terminate the + parent process and all children when in the "graceful" state. However + as the PidFile will + have been removed, you will not be able to use + apachectl or httpd to send this signal.

+ +

The graceful-stop signal allows you to run multiple + identically configured instances of httpd at the + same time. This is a powerful feature when performing graceful + upgrades of httpd, however it can also cause deadlocks and race + conditions with some configurations.

+ +

Care has been taken to ensure that on-disk files such as lock files + (Mutex) and Unix socket files + (ScriptSock) contain the server + PID, and should coexist without problem. However, if a configuration + directive, third-party module or persistent CGI utilises any other on-disk + lock or state files, care should be taken to ensure that multiple running + instances of httpd do not clobber each other's files.

+ +

You should also be wary of other potential race conditions, such as + using rotatelogs style piped logging. Multiple running + instances of rotatelogs attempting to rotate the same + logfiles at the same time may destroy each other's logfiles.

+
+
+

Available Languages:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/stopping.html.es b/docs/manual/stopping.html.es new file mode 100644 index 0000000..1eb6265 --- /dev/null +++ b/docs/manual/stopping.html.es @@ -0,0 +1,297 @@ + + + + + +Iniciar y Parar el servidor Apache - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Iniciar y Parar el servidor Apache

+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.
+ +

Este documento explica como iniciar y parar el servidor Apache + en sistemas tipo Unix. Los usuarios de Windows NT, 2000 y XP + deben consultar la sección Ejecutar Apache como un + servicio y los usuario de Windows 9x y ME deben consultar Ejecutar Apache como una + Aplicación de Consola para obtener información + sobre como controlar Apache en esas plataformas.

+
+ +
top
+
+

Introducción

+ +

Para parar y reiniciar Apache, hay que enviar la señal + apropiada al proceso padre httpd que se esté + ejecutando. Hay dos maneras de enviar estas señales. En + primer lugar, puede usar el comando de Unix kill que + envía señales directamente a los procesos. Puede que + tenga varios procesos httpd ejecutandose en su + sistema, pero las señales deben enviarse solamente al proceso + padre, cuyo pid está especificado en la directiva PidFile. Esto quiere decir que no + debe necesitar enviar señales a ningún proceso excepto + al proceso padre. Hay tres señales que puede enviar al + proceso padre: TERM, HUP, y USR1, que van a ser descritas a + continuación.

+ +

Para enviar una señal al proceso padre debe escribir un + comando como el que se muestra en el ejemplo:

+ +

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

+ +

La segunda manera de enviar señales a los procesos + httpd es usando las opciones de línea de + comandos -k: stop, restart, + y graceful, como se muestra más abajo. Estas + opciones se le pueden pasar al binario httpd, pero se recomienda que se + pasen al script de control apachectl, que a su vez los + pasará a httpd.

+ +

Después de haber enviado las señales que desee a + httpd, puede ver como progresa el proceso + escribiendo:

+ +

tail -f /usr/local/apache2/logs/error_log

+ +

Modifique estos ejemplos para que coincidan con la + configuración que tenga especificada en las directivas + ServerRoot y PidFile en su fichero principal de + configuración.

+
top
+
+

Parar Apache

+ +
Señal: TERM
+
apachectl -k stop
+
+ +

Enviar las señales TERM o stop + al proceso padre hace que se intenten eliminar todos los procesos + hijo inmediatamente. Esto puede tardar algunos minutos. Una vez + que hayan terminado todos los procesos hijo, terminará el + proceso padre. Cualquier petición en proceso terminará + inmediatanmente, y ninguna petición posterior será + atendida.

+
top
+
+

Reinicio Graceful

+ +
Señal: USR1
+
apachectl -k graceful
+
+ +

Las señales USR1 o graceful + hacen que el proceso padre indique a sus hijos que + terminen después de servir la petición que estén + atendiendo en ese momento (o de inmediato si no están + sirviendo ninguna petición). El proceso padre lee de nuevo + sus ficheros de configuración y vuelve a abrir sus ficheros + log. Conforme cada hijo va terminando, el proceso padre lo va + sustituyendo con un hijo de una nueva generación con + la nueva configuración, que empeciezan a servir peticiones + inmediatamente.

+ +
En algunas plataformas que no permiten usar + USR1 para reinicios graceful, puede usarse una + señal alternativa (como WINCH). Tambien puede + usar apachectl graceful y el script de control + enviará la señal adecuada para su plataforma.
+ +

Apache está diseñado para respetar en todo momento la + directiva de control de procesos de los MPM, así como para + que el número de procesos y hebras disponibles para servir a + los clientes se mantenga en los valores adecuados durante el + proceso de reinicio. Aún más, está diseñado + para respetar la directiva StartServers de la siguiente + manera: si después de al menos un segundo el nuevo hijo de la + directiva StartServers + no ha sido creado, entonces crea los suficientes para se atienda + el trabajo que queda por hacer. Así, se intenta mantener + tanto el número de hijos adecuado para el trabajo que el + servidor tenga en ese momento, como respetar la configuración + determinada por los parámetros de la directiva + StartServers.

+ +

Los usuarios del módulo mod_status + notarán que las estadísticas del servidor + no se ponen a cero cuando se usa la señal + USR1. Apache fue escrito tanto para minimizar el + tiempo en el que el servidor no puede servir nuevas peticiones + (que se pondrán en cola por el sistema operativo, de modo que + se no se pierda ningún evento), como para respetar sus + parámetros de ajuste. Para hacer esto, tiene que guardar el + scoreboard usado para llevar el registro de los procesos + hijo a través de las distintas generaciones.

+ +

El mod_status también usa una G para indicar + que esos hijos están todavía sirviendo peticiones + previas al reinicio graceful.

+ +

Actualmente no existe ninguna manera de que un script con un + log de rotación usando USR1 sepa con seguridad + que todos los hijos que se registraron en el log con anterioridad + al reinicio han terminado. Se aconseja que se use un retardo + adecuado después de enviar la señal USR1 + antes de hacer nada con el log antiguo. Por ejemplo, si la mayor + parte las visitas que recibe de usuarios que tienen conexiones de + baja velocidad tardan menos de 10 minutos en completarse, entoces + espere 15 minutos antes de hacer nada con el log antiguo.

+ +
Si su fichero de configuración tiene errores cuando + haga el reinicio, entonces el proceso padre no se reinciciará + y terminará con un error. En caso de un reinicio graceful, + también dejará a los procesos hijo ejecutandose mientras + existan. (Estos son los hijos de los que se está saliendo de + forma graceful y que están sirviendo sus últimas + peticiones.) Esto provocará problemas si intenta reiniciar el + servidor -- no será posible conectarse a la lista de puertos + de escucha. Antes de reiniciar, puede comprobar que la sintaxis de + sus ficheros de configuracion es correcta con la opción de + línea de comandos -t (consulte httpd). No obstante, esto no + garantiza que el servidor se reinicie correctamente. Para + comprobar que no hay errores en los ficheros de + configuración, puede intentar iniciar httpd con + un usuario diferente a root. Si no hay errores, intentará + abrir sus sockets y logs y fallará porque el usuario no es + root (o porque el httpd que se está ejecutando + en ese momento ya está conectado a esos puertos). Si falla + por cualquier otra razón, entonces casi seguro que hay + algún error en alguno de los ficheros de configuración y + debe corregir ese o esos errores antes de hacer un reinicio + graceful.
+
top
+
+

Reiniciar Apache

+ +
Señal: HUP
+
apachectl -k restart
+
+ +

El envío de las señales HUP o + restart al proceso padre hace que los procesos hijo + terminen como si le enviá ramos la señal + TERM, para eliminar el proceso padre. La diferencia + está en que estas señales vuelven a leer los archivos de + configuración y vuelven a abrir los ficheros log. Se genera + un nuevo conjunto de hijos y se continúa sirviendo + peticiones.

+ +

Los usuarios del módulo mod_status + notarán que las estadísticas del servidor se ponen a + cero cuando se envía la señal HUP.

+ +
Si su fichero de configuración contiene errores, cuando +intente reiniciar, el proceso padre del servidor no se +reiniciará, sino que terminará con un error. Consulte +más arriba cómo puede solucionar este problema.
+
top
+
+

Apéndice: señales y race conditions

+ +

Con anterioridad a la versión de Apache 1.2b9 había + varias race conditions implicadas en las señales + para parar y reiniciar procesos (una descripción sencilla de + una race condition es: un problema relacionado con el momento en + que suceden las cosas, como si algo sucediera en momento en que no + debe, y entonces el resultado esperado no se corresponde con el + obtenido). Para aquellas arquitecturas que tienen el conjunto de + características "adecuadas", se han eliminado tantas race + conditions como ha sido posible. Pero hay que tener en cuenta que + todavía existen race conditions en algunas arquitecturas.

+ +

En las arquitecturas que usan un ScoreBoardFile en disco, existe la + posibilidad de que se corrompan los scoreboards. Esto puede hacer + que se produzca el error "bind: Address already in use" + (después de usarHUP) o el error "long lost child + came home!" (después de usar USR1). En el + primer caso se trata de un error irrecuperable, mientras que en el + segundo, solo ocurre que el servidor pierde un slot del + scoreboard. Por lo tanto, sería aconsejable usar reinicios + graceful, y solo hacer reinicios normales de forma + ocasional. Estos problemas son bastante complicados de solucionar, + pero afortunadamente casi ninguna arquitectura necesita un fichero + scoreboard. Consulte la documentación de la directiva + ScoreBoardFile para ver + las arquitecturas que la usan.

+ +

Todas las arquitecturas tienen una pequeña race condition + en cada proceso hijo implicada en la segunda y subsiguientes + peticiones en una conexión HTTP persistente + (KeepAlive). Puede ser que el servidor termine después de + leer la línea de petición pero antes de leer cualquiera + de las cebeceras de petición. Hay una solución que fue + descubierta demasiado tarde para la incluirla en versión + 1.2. En teoria esto no debe suponer ningún problema porque el + cliente KeepAlive ha de esperar que estas cosas pasen debido a los + retardos de red y a los timeouts que a veces dan los + servidores. En la practica, parece que no afecta a nada más + -- en una sesión de pruebas, un servidor se reinició + veinte veces por segundo y los clientes pudieron navegar sin + problemas por el sitio web sin encontrar problemas ni para + descargar una sola imagen ni encontrar un solo enlace roto.

+
+
+

Idiomas disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/stopping.html.fr.utf8 b/docs/manual/stopping.html.fr.utf8 new file mode 100644 index 0000000..0ee6c73 --- /dev/null +++ b/docs/manual/stopping.html.fr.utf8 @@ -0,0 +1,305 @@ + + + + + +Arrêt et redémarrage du serveur HTTP Apache - Serveur HTTP Apache Version 2.4 + + + + + + + +
<-
+

Arrêt et redémarrage du serveur HTTP Apache

+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Ce document couvre l'arrêt et le redémarrage du + serveur HTTP Apache sur + les systèmes Unix et similaires. Les utilisateurs de Windows NT, 2000 + and XP doivent consulter + Exécuter httpd en tant que + service et les utilisateurs de Windows 9x et ME doivent consulter + Exécuter httpd comme une + application de type console pour plus d'informations sur le contrôle + de httpd à partir de ces plateformes.

+
+ +
top
+
+

Introduction

+ +

Afin d'arrêter ou redémarrer le serveur HTTP Apache, vous devez envoyer un signal aux + processus httpd en cours d'exécution. Les signaux + peuvent être envoyés de deux manières. La + première méthode consiste à + utiliser la commande unix kill + pour envoyer directement des signaux aux processus. Vous pouvez remarquer + que plusieurs processus httpd s'exécutent sur votre + système, mais il vous suffit d'envoyer les signaux au processus parent, + dont le PID est enregistré dans le fichier précisé par la directive + PidFile. Autrement dit, vous + n'aurez jamais besoin d'envoyer des signaux à aucun des + processus enfants, mais seulement au processus parent. Quatre types + de signaux peuvent être envoyés au processus parent : + TERM, + USR1, + HUP, et + WINCH, qui + seront décrit plus loin.

+ +

Pour envoyer un signal au processus parent, vous devez entrer une commande + du style :

+ +

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

+ +

La seconde méthode permettant d'envoyer des signaux aux processus + httpd + consiste à utiliser les options stop, + restart, graceful et + graceful-stop du commutateur -k de la ligne + de commande comme décrit ci-dessous. Ce sont des arguments du binaire + httpd, mais il est recommandé de les utiliser + avec le script de contrôle apachectl, qui se + chargera de les passer à httpd.

+ +

Après avoir envoyé un signal à httpd, vous pouvez + suivre le cours de son action en entrant :

+ +

tail -f /usr/local/apache2/logs/error_log

+ +

Adaptez ces exemples en fonction de la définition de vos directives + ServerRoot et + PidFile.

+
top
+
+

Arrêter immédiatement

+ +
Signal: TERM
+
apachectl -k stop
+
+ +

A la réception du signal TERM ou stop, + le processus parent tente immédiatement + de tuer tous ses processus enfants. Cela peut durer plusieurs secondes. + Après cela, le processus parent lui-même se termine. Toutes les requêtes + en cours sont terminées, et plus aucune autre n'est traitée.

+
top
+
+

Redémarrage en douceur

+ +
Signal: USR1
+
apachectl -k graceful
+
+ +

A la réception du signal USR1 ou + graceful, le + processus parent envoie aux processus enfants + l'ordre de se terminer une fois leur requête courante + traitée (ou de se terminer immédiatement s'ils n'ont plus rien à traiter). + Le processus parent relit ses fichiers de configuration et + réouvre ses fichiers de log. Chaque fois qu'un enfant s'éteint, le + processus parent le remplace par un processus + enfant de la nouvelle génération de la + configuration, et celui-ci commence immédiatement à traiter les + nouvelles requêtes.

+ +

Ce code est conçu pour toujours respecter la directive de contrôle + de processus des modules MPMs, afin que les nombres de processus et de + threads + disponibles pour traiter les demandes des clients soient maintenus à + des valeurs appropriées tout au long du processus de démarrage. + En outre, il respecte la directive + StartServers de la manière + suivante : si après une seconde au moins StartServers nouveaux processus + enfants n'ont pas été créés, un nombre suffisant de processus + supplémentaires est créé pour combler le manque. Ainsi le code + tente de maintenir à la fois le nombre approprié de processus enfants + en fonction de la charge du serveur, et le nombre de processus défini par la + directive StartServers.

+ +

Les utilisateurs du module mod_status + noteront que les statistiques du serveur ne sont pas + remises à zéro quand un signal USR1 est envoyé. Le code + a été conçu à la fois pour minimiser la durée durant laquelle le + serveur ne peut pas traiter de nouvelles requêtes (elle sont mises en + file d'attente par le système d'exploitation, et ne sont ainsi jamais + perdues) et pour respecter vos paramètres de personnalisation. + Pour y parvenir, il doit conserver le + tableau utilisé pour garder la trace de tous les processus + enfants au cours des différentes générations.

+ +

Dans son état des processus, + le module status utilise aussi un caractère G afin d'indiquer + quels processus enfants ont encore des traitements de requêtes en cours + débutés avant que l'ordre graceful restart ne soit donné.

+ +

Pour l'instant, il est impossible pour un script de rotation + des logs utilisant + USR1 de savoir de manière certaine si tous les processus + enfants inscrivant des traces de pré-redémarrage sont terminés. + Nous vous suggérons d'attendre un délai suffisant après l'envoi du + signal USR1 + avant de faire quoi que ce soit avec les anciens logs. Par exemple, + si la plupart de vos traitements durent moins de 10 minutes pour des + utilisateurs empruntant des liaisons à faible bande passante, alors vous + devriez attendre 15 minutes avant de faire quoi que ce soit + avec les anciens logs.

+ +
+

Lorsque vous initiez un redémarrage, une vérification de + la syntaxe est tout d'abord effectuée, afin de s'assurer qu'il n'y a + pas d'erreurs dans les fichiers de configuration. Si votre fichier de + configuration comporte des erreurs de syntaxe, vous recevrez un message + d'erreur les concernant, et le serveur refusera de redémarrer. Ceci + permet d'éviter la situation où un serveur a + été arrêté et ne peut plus redémarrer, + et où vous vous retrouvez avec un serveur hors-service.

+ +

Ceci ne garantit pas encore que le serveur va redémarrer + correctement. Pour vérifier la sémantique des fichiers de configuration + en plus de leur syntaxe, vous pouvez essayer de démarrer + httpd sous un utilisateur non root. + S'il n'y a pas d'erreur, il tentera d'ouvrir ses sockets et ses fichiers + de log et échouera car il n'a pas les privilèges root (ou parce que + l'instance actuelle de + httpd est déjà associée à ces ports). S'il échoue + pour toute autre raison, il y a probablement une erreur dans le + fichier de configuration et celle-ci doit être corrigée avant de lancer + le redémarrage en douceur.

+
top
+
+

Redémarrer immédiatement

+ +
Signal: HUP
+
apachectl -k restart
+
+ +

A la réception du signal HUP ou + restart, le + processus parent tue ses processus enfants comme pour le signal + TERM, mais le processus parent ne se termine pas. + Il relit ses fichiers de configuration, et réouvre ses fichiers de log. + Puis il donne naissance à un nouveau jeu de processus enfants + et continue de traiter les requêtes.

+ +

Les utilisateurs du module mod_status + noteront que les statistiques du serveur sont remises à zéro quand un + signal HUP est envoyé.

+ +
Comme dans le cas d'un redémarrage "graceful", une +vérification de la syntaxe est effectuée avant que le +redémarrage ne soit tenté. Si votre fichier de configuration comporte +des erreurs de syntaxe, le redémarrage ne sera pas effectué, et +vous recevrez un message concernant ces erreurs.
+
top
+
+

Arrêt en douceur

+ +
Signal : WINCH
+
apachectl -k graceful-stop
+
+ +

A la réception du signal WINCH ou + graceful-stop, le + processus parent ordonne à ses processus enfants + de s'arrêter après le traitement de leur requête en cours + (ou de s'arrêter immédiatement s'ils n'ont plus de requête à traiter). + Le processus parent va alors supprimer son fichier + PidFile et cesser l'écoute + de tous ses ports. Le processus parent va continuer à s'exécuter, + et va surveiller les processus enfants + qui ont encore des requêtes à traiter. Lorsque tous les processus enfants + ont terminé leurs traitements et se sont arrêtés ou lorsque le délai + spécifié par la directive GracefulShutdownTimeout a été atteint, + le processus parent s'arrêtera à son tour. Si ce délai est atteint, + tout processus enfant encore en cours d'exécution se verra envoyer + le signal TERM + afin de le forcer à s'arrêter.

+ +

L'envoi du signal TERM va arrêter immédiatement + les processus parent et enfants en état "graceful". Cependant, + comme le fichier PidFile + aura été supprimé, vous ne pourrez pas utiliser + apachectl ou httpd pour envoyer ce signal.

+ +

Le signal graceful-stop vous permet d'exécuter + simultanément plusieurs instances de httpd + avec des configurations identiques. Ceci s'avère une fonctionnalité + puissante quand vous effectuez des mises à jour "en douceur" + de httpd ; cependant, cela peut aussi causer des blocages fatals et des + situations de compétition (race conditions) + avec certaines configurations.

+ +

On a pris soin de s'assurer que les fichiers sur disque + comme les fichiers verrou (Mutex) et les fichiers socket Unix + (ScriptSock) contiennent le PID + du serveur, et coexistent sans problème. Cependant, si une directive de + configuration, un module tiers ou une CGI résidente utilise un autre + verrou ou fichier d'état sur disque, il faut prendre soin de s'assurer + que chaque instance de httpd qui s'exécute + n'écrase pas les fichiers des autres instances.

+ +

Vous devez aussi prendre garde aux autres situations de compétition, + comme l'enregistrement des logs avec un transfert de ceux-ci + via un pipe vers le programme rotatelogs. Plusieurs instances + du programme rotatelogs qui tentent d'effectuer + une rotation des mêmes fichiers de log en même temps peuvent détruire + mutuellement leurs propres fichiers de log.

+
+
+

Langues Disponibles:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/stopping.html.ja.utf8 b/docs/manual/stopping.html.ja.utf8 new file mode 100644 index 0000000..5d312e8 --- /dev/null +++ b/docs/manual/stopping.html.ja.utf8 @@ -0,0 +1,279 @@ + + + + + +Apache HTTP Server ã®åœæ­¢ã¨å†èµ·å‹• - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4 + + + + + + + +
<-
+

Apache HTTP Server ã®åœæ­¢ã¨å†èµ·å‹•

+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

ã“ã®æ–‡æ›¸ã§ã¯ Unix ã«é¡žä¼¼ã—ãŸã‚·ã‚¹ãƒ†ãƒ ã§ã® + Apache HTTP Serverã®åœæ­¢ã¨å†èµ·å‹•ã«ã¤ã„ã¦æ‰±ã£ã¦ã„ã¾ã™ã€‚ + Windows NT, 2000, XP ユーザã¯ã‚µãƒ¼ãƒ“スã¨ã—㦠+ httpd を実行ã™ã‚‹ã§ã€Windows 9x, MEユーザã¯ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‚¢ãƒ—リケーションã¨ã—㦠+ httpd を実行ã™ã‚‹ã§ã€ + ã“れらã®ãƒ—ラットホームã§ã®ä½¿ç”¨æ–¹æ³•ã‚’ã”覧下ã•ã„。

+
+ +
top
+
+

イントロダクション

+ +

Apache HTTP Server ã‚’åœæ­¢ã—ãŸã‚Šå†èµ·å‹•ã—ãŸã‚Šã™ã‚‹ãŸã‚ã«ã¯ã€å®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹ + httpd プロセスã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + シグナルをé€ã‚‹ã«ã¯äºŒã¤ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚ + 一ã¤ç›®ã¯ãƒ—ロセスã«ç›´æŽ¥ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚‹ unix ã® kill + コマンドを使用ã™ã‚‹æ–¹æ³•ã§ã™ã€‚ + システムを見れã°ãŸãã•ã‚“ã® httpd ㌠+ 実行ã•ã‚Œã¦ã„ã‚‹ã®ã«æ°—ãŒä»˜ãã§ã—ょã†ãŒã€ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚‹ã®ã¯ + 親プロセスã ã‘ã§ã€ãれ以外ã®å€‹ã€…ã®ãƒ—ロセスã«ã¯ + シグナルをé€ã‚‰ãªã„ã§ä¸‹ã•ã„。ãã®è¦ªãƒ—ロセス㮠pid 㯠+ PidFile + ã«æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã¤ã¾ã‚Šã€è¦ªä»¥å¤–ã®ãƒ—ロセス㫠+ シグナルをé€ã‚‹å¿…è¦ã™ã‚‰ãªã„ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚ + 親プロセスã«é€ã‚‹ã“ã¨ãŒã§ãã‚‹ 4 種類ã®ã‚·ã‚°ãƒŠãƒ«ãŒã‚ã‚Šã¾ã™: + TERM, + HUP, + USR1, + WINCH + ã§ã™ã€‚ã“れらã®èª¬æ˜Žã«ã¤ã„ã¦ã¯ç¶šãã‚’ã”覧下ã•ã„。

+ +

親プロセスã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚‹ã«ã¯ã€ + 次ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰ã‚’発行ã—ã¦ä¸‹ã•ã„:

+ +

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

+ +

httpd プロセスã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚‹ 2 番目ã®æ–¹æ³•ã¯ + -k ã¨ã„ã†ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã‚’使用ã™ã‚‹ã“ã¨ã§ã™ã€‚ + 下ã§èª¬æ˜Žã•ã‚Œã¦ã„るよã†ã«ã€stop, restart, + graceful, graceful-stop を指定ã§ãã¾ã™ã€‚ + ã“れら㯠httpd ã®å¼•æ•°ã§ã™ãŒã€ + 制御用ã®ã‚¹ã‚¯ãƒªãƒ—ト apachectl ã¯ãれらã®å¼•æ•°ã‚’ãã®ã¾ã¾ + httpd ã«æ¸¡ã—ã¾ã™ã€‚

+ +

httpd ã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã£ãŸå¾Œã€ + 実行状æ³ã‚’次ã®ã‚³ãƒžãƒ³ãƒ‰ã§èª­ã‚€ã“ã¨ãŒã§ãã¾ã™:

+ +

tail -f /usr/local/apache2/logs/error_log

+

ã“ã“ã«æŒ™ã’ãŸä¾‹ã¯ã€å„自㮠+ ServerRoot + 㨠+ PidFile + ã®è¨­å®šã«é©åˆã™ã‚‹ã‚ˆã†ã«é©å®œä¿®æ­£ã—ã¦ä¸‹ã•ã„。

+
top
+
+

急ãªåœæ­¢

+ +
シグナル: TERM
+
apachectl -k stop
+
+ +

TERM ã‚ã‚‹ã„㯠stop + シグナルを親プロセスã«é€ã‚‹ã¨ã€å³åº§ã«å­ãƒ—ロセス全ã¦ã‚’ kill ã—よã†ã¨ã—ã¾ã™ã€‚ + å­ãƒ—ロセスを完全㫠kill ã—終ã‚ã‚‹ã¾ã§ã«æ•°ç§’ã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ãã®å¾Œã€è¦ªãƒ—ロセス自身ãŒçµ‚了ã—ã¾ã™ã€‚ + 処ç†ä¸­ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯å…¨ã¦åœæ­¢ã•ã‚Œã€ã‚‚ã¯ã‚„リクエストã«å¯¾ã™ã‚‹ + 応答ã¯ã•ã‚Œã¾ã›ã‚“。

+
top
+
+

ç·©ã‚„ã‹ãªå†èµ·å‹•

+ +
シグナル: USR1
+
apachectl -k graceful
+
+ +

親プロセス㯠USR1 ã‚ã‚‹ã„㯠graceful + シグナルをå—ã‘å–ã‚‹ã¨ã€å­ãƒ—ロセスã«ç¾åœ¨ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å‡¦ç†ã®å¾Œã«çµ‚了ã™ã‚‹ + (ã‚ã‚‹ã„ã¯ä½•ã‚‚ã—ã¦ã„ãªã‘ã‚Œã°ã™ãã«çµ‚了ã™ã‚‹) + よã†ã«åŠ©è¨€ã—ã¾ã™ã€‚ + 親プロセスã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’å†èª­è¾¼ã—ã¦ã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ãç›´ã—ã¾ã™ã€‚ + å­ãƒ—ロセスãŒå¾ã€…ã«ãªããªã‚‹ã«å¾“ã£ã¦ã€ + æ–°ã—ã„世代ã®è¨­å®šã«ã‚ˆã‚‹å­ãƒ—ロセスã«ç½®ãæ›ãˆã¦ã„ãã¾ã™ã€‚ + ãã—ã¦ã€ã“れらãŒæ–°ãŸãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å³åº§ã«å¿œç­”ã—始ã‚ã¾ã™ã€‚

+ +

ã“ã®ã‚³ãƒ¼ãƒ‰ã¯å¸¸ã« + MPM ã®ãƒ—ロセス制御ディレクティブã®è¨­å®šã‚’é‡è¦–ã—ã¾ã™ã®ã§ã€ + クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ãƒ—ロセスã¨ã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°ã‚’å†èµ·å‹•ã®å‡¦ç†ä¸­ã‚‚ + é©åˆ‡ãªå€¤ã«ç¶­æŒã•ã‚Œã¾ã™ã€‚。ã¾ãŸã€æ¬¡ã®ã‚ˆã†ã«ã—㦠+ StartServers + を守りã¾ã™: + å°‘ãªãã¨ã‚‚ 1 秒後㫠StartServers 個ã®æ–°ã—ã„å­ãƒ—ロセス㌠+ 生æˆã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€ãã®æ•°ã«ãªã‚‹ã‚ˆã†ã«é©å®œãƒ—ロセスを生æˆã—ã¾ã™ã€‚ + ã“ã®æŒ™å‹•ã¯ç¾åœ¨ã®è² è·ã«å¯¾ã—ã¦é©åˆ‡ãªå­ãƒ—ロセスã®æ•°ã¨ + StartServers パラメータã§ã® + 希望ã®æ•°ã®ä¸¡æ–¹ã‚’維æŒã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚

+ +

mod_status ã‚’ + 使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€USR1 シグナルãŒé€ã‚‰ã‚ŒãŸéš›ã« + サーãƒçµ±è¨ˆãŒã‚¼ãƒ­ã«è¨­å®šã•ã‚Œãªã„ã“ã¨ã« + 注æ„ã—ã¦ãã ã•ã„。 + サーãƒãŒæ–°ã—ã„リクエストã«å¿œç­”ä¸èƒ½ãªæ™‚間を最å°ã«ã™ã‚‹ã‚ˆã†ã« + (リクエスト㯠OS ã«ã‚ˆã£ã¦ã‚­ãƒ¥ãƒ¼ã«è¿½åŠ ã•ã‚Œã‚‹ã®ã§çµ¶å¯¾ã«ç´›å¤±ã¯ã—ã¾ã›ã‚“)〠+ ã¾ãŸåŒæ™‚ã«ã€å¸Œæœ›ã®ãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ãƒ‘ラメータを守るよã†ã« + コードã¯æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚ + ã“ã®ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã€ä¸–代をã¾ãŸãŒã£ãŸå…¨å­ãƒ—ロセスã®è¿½è·¡ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹ + スコアボードを維æŒã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

status モジュールã¯ã€ç·©ã‚„ã‹ãªå†èµ·å‹•ä»¥å‰ã‹ã‚‰é–‹å§‹ã—㦠+ リクエストã«å¿œç­”ã—続ã‘ã¦ã„ã‚‹å­ãƒ—ロセスを特定ã™ã‚‹ãŸã‚ã«ã€ + G を使ã†ã“ã¨ã‚‚ã—ã¾ã™ã€‚

+ +

ç¾åœ¨ã€USR1 を使ã†ãƒ­ã‚°ç§»å‹•ã‚¹ã‚¯ãƒªãƒ—トã§ã¯ã€ + å†èµ·å‹•å‰ã®å­ãƒ—ロセスãŒãƒ­ã‚°ã‚’書ã終ã‚ã£ãŸã“ã¨ã‚’確証ã™ã‚‹æ–¹æ³•ãŒ + ã‚ã‚Šã¾ã›ã‚“。å¤ã„ログã«å¯¾ã—ã¦ä½•ã‹ã™ã‚‹å‰ã«ã€ + USR1 シグナルをé€ã£ãŸå¾Œã„ãらã‹é©å½“ãªæ™‚é–“å¾…ã¤ã“ã¨ã‚’ + æ案ã—ã¾ã™ã€‚例ãˆã°ã€å¸¯åŸŸã®ç‹­ã„通信路ã®ãƒ¦ãƒ¼ã‚¶ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã»ã¨ã‚“ã©ãŒ 10 + 分以下ã§å®Œäº†ã—ã¦ã„ã‚‹ã¨ã„ã†ã“ã¨ãŒåˆ†ã‹ã£ã¦ã„ã‚Œã°ã€ + å¤ã„ログã«ä½•ã‹ã™ã‚‹å‰ã« 15 分待ã¤ã¨ã„ã†ã“ã¨ã§ã™ã€‚

+ +

å†èµ·å‹•ãŒç™ºè¡Œã•ã‚Œã‚‹ã¨è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã®æ§‹æ–‡ãƒã‚§ãƒƒã‚¯ãŒã¾ãšèµ°ã‚Šã€ + 設定ファイル㫠(構文上ã®) 誤りãŒãªã„ã‹ãƒã‚§ãƒƒã‚¯ã•ã‚Œã¾ã™ã€‚ + 誤りãŒã‚ã£ãŸå ´åˆã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ãã®æ—¨ãŒç¤ºã•ã‚Œã€ã‚µãƒ¼ãƒã¯å†èµ·å‹•ã•ã‚Œã¾ã›ã‚“。 + ã“ã†ã™ã‚‹ã“ã¨ã§ã‚µãƒ¼ãƒãŒçµ‚了ã—ã¦ã„ã‚‹ã‘ã‚Œã©ã‚‚å†èµ·å‹•ã§ããªã„ã¨ã„ã†çŠ¶æ³ã‚’ + 防ãŽã€ã‚µãƒ¼ãƒãŒæ©Ÿèƒ½ä¸å…¨ãªçŠ¶æ…‹ã«ãªã‚‹ã®ã‚’防ã„ã§ã„ã¾ã™ã€‚

+ +

ãŸã ã—ã“ã‚Œã§ã‚‚サーãƒãŒæ­£ã—ãå†èµ·å‹•ã™ã‚‹ã“ã¨ã¯ä¿è¨¼ã•ã‚Œã¾ã›ã‚“。 + 設定ファイルã®æ„味的ãªå†…容を構文ã¨åŒæ§˜ã«æ¤œè¨¼ã—ãŸã„å ´åˆã¯ã€ + éž root ユーザ㧠httpd ã‚’èµ·å‹•ã—よã†ã¨ã™ã‚Œã°ã‚ã‹ã‚Šã¾ã™ã€‚ + ã‚‚ã—エラーãŒãªã‘ã‚Œã°ã€ã‚½ã‚±ãƒƒãƒˆã‚„ログを開ã“ã†ã¨ã—㦠+ root ã§ãªã„ãŸã‚ + (ã‚‚ã—ãã¯å®Ÿè¡Œä¸­ã® httpd + ãŒæ—¢ã«å¿…è¦ãªãƒãƒ¼ãƒˆã«ãƒã‚¤ãƒ³ãƒ‰ã—ã¦ã„ã‚‹ãŸã‚) + ã«å¤±æ•—ã™ã‚‹ã§ã—ょã†ã€‚ + ã“れ以外ã®ç†ç”±ã§èµ·å‹•ã«å¤±æ•—ã—ãŸã®ã§ã‚ã‚Œã°ã€ + ãã‚Œã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¨ãƒ©ãƒ¼ã§ã€ + ç·©ã‚„ã‹ãªå†èµ·å‹•ã‚’è¡Œã†å‰ã«ãã®èª¤ã‚Šã‚’修正ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+
+
top
+
+

急ãªå†èµ·å‹•

+ +
シグナル: HUP
+
apachectl -k restart
+
+ +

HUP ã‚ã‚‹ã„㯠restart シグナルを親プロセスã«é€ã‚‹ã¨ã€ + TERM ã¨åŒæ§˜ã«å­ãƒ—ロセスを kill ã—ã¾ã™ãŒã€ + 親プロセスã¯çµ‚了ã—ã¾ã›ã‚“。 + 設定ファイルをå†èª­è¾¼ã—ã¦ã€ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«å…¨ã¦ã‚’é–‹ãç›´ã—ã¾ã™ã€‚ + ãã®å¾Œã€æ–°ã—ã„å­ãƒ—ロセスを起動ã—ã¦å¿œç­”を続ã‘ã¾ã™ã€‚

+ +

mod_status + を使ã£ã¦ã„ã‚‹å ´åˆã¯ã€HUP ãŒé€ã‚‰ã‚ŒãŸå ´åˆã« + サーãƒçµ±è¨ˆãŒã‚¼ãƒ­ã«è¨­å®šã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。

+ +
graceful å†èµ·å‹•æ™‚ã¯ã€å†èµ·å‹•å‰ã«æ§‹æ–‡ãƒã‚§ãƒƒã‚¯ãŒè¡Œã‚ã‚Œã¾ã™ã€‚ + ã‚‚ã—構文エラーãŒã‚ã‚Œã°ãã®æ—¨ãŒç¤ºã•ã‚Œã€å†èµ·å‹•ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。
+
top
+
+

ç·©ã‚„ã‹ãªåœæ­¢

+ +
Signal: WINCH
+
apachectl -k graceful-stop
+
+ +

WINCH ã‚„ graceful-stop シグナルをå—ã‘å–ã‚‹ã¨ã€ + 親プロセスã¯å­ãƒ—ロセスã«ç¾åœ¨å‡¦ç†ä¸­ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å¾Œã«çµ‚了ã™ã‚‹ + (ã‚ã‚‹ã„ã¯å‡¦ç†ä¸­ã®ã‚‚ã®ãŒä½•ã‚‚ãªã‘ã‚Œã°ç›´ã¡ã«çµ‚了ã™ã‚‹) + よã†ã«ã‚¢ãƒ‰ãƒã‚¤ã‚¹ã—ã¾ã™ã€‚ + ãã®å¾Œè¦ªãƒ—ロセス㯠PidFile + を削除ã—ã€ãƒãƒ¼ãƒˆã§ã® Listen ã‚’å…¨ã¦åœæ­¢ã—ã¾ã™ã€‚ + 親プロセスã¯ã©ã®å­ãƒ—ロセスãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆå‡¦ç†ä¸­ã‹ã‚’監視ã—続ã‘ã¦ã„ã¾ã™ã€‚ + å…¨ã¦ã®å­ãƒ—ロセスãŒçµ‚了ã™ã‚‹ã‹ + GracefulShutdownTimeout + ã§è¨­å®šã—ãŸæ™‚é–“ãŒéŽãŽã‚‹ã¨ã€è¦ªãƒ—ロセスも終了ã—ã¾ã™ã€‚ + タイムアウトã«é”ã—ãŸå ´åˆã€æ®‹ã‚Šã®å­ãƒ—ロセスã«ã¯ TERM + シグナルãŒé€ä¿¡ã•ã‚Œå¼·åˆ¶çš„ã«çµ‚了ã•ã‚Œã¾ã™ã€‚

+ +

"graceful" 状態ã®å ´åˆ TERM シグナルをå—ã‘å–ã‚‹ã¨ã€ + 親プロセスもå­ãƒ—ロセスもã™ãã«çµ‚了ã—ã¾ã™ã€‚ã—ã‹ã—ãªãŒã‚‰ + PidFile + ãŒå‰Šé™¤ã•ã‚Œã¦ã—ã¾ã£ã¦ã„ã‚‹ã®ã§ã€apachectl + ã‚„ httpd ã«ã“ã®ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

+ +

graceful-stop を使ã†ã¨ã¾ã£ãŸãåŒä¸€ã«è¨­å®šã•ã‚ŒãŸ + 複数㮠httpd ã‚’åŒæ™‚ã«å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + httpd ã‚’ç·©ã‚„ã‹ã«ã‚¢ãƒƒãƒ—グレードã™ã‚‹ã®ã«ã¯ã¨ã¦ã‚‚便利ã§ã™ãŒã€ + 設定ファイルã«ã‚ˆã£ã¦ã¯ãƒ‡ãƒƒãƒ‰ãƒ­ãƒƒã‚¯ã‚„レースコンディションを + 引ãèµ·ã“ã™ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚

+ +

ディスク上ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’使ã†ã‚‚ã®ã€ãŸã¨ãˆã°ãƒ­ãƒƒã‚¯ãƒ•ã‚¡ã‚¤ãƒ« + (Mutex) ã‚„ Unix ソケットファイル + (ScriptSock) + ãªã©ã¯ã‚µãƒ¼ãƒã® PID ã‚’å«ã‚ã¦ç®¡ç†ã•ã‚Œã¦ã„ã¦ã€ + 共存ã§ãるよã†æ³¨æ„ãŒæ‰•ã‚ã‚Œã¦ã„ã¾ã™ã€‚ + ã—ã‹ã—ãã®ä»–設定ディレクティブやサードパーティ製ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã€ + CGI ユーティリティã®ãƒ‘ーシステント層ãªã©ã§ + ディスク上ã«ãƒ­ãƒƒã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚„状態管ç†ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + 使ã£ã¦ã„ã‚‹å ´åˆã¯ã€å®Ÿè¡Œã•ã‚Œã¦ã„る複数㮠httpd + ãŒäº’ã„ã«è¡çªã—ãªã„よã†ã«æ°—ã‚’ã¤ã‘ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。

+ +

rotatelogs å½¢å¼ã®ãƒ‘イプを使ã£ãŸãƒ­ã‚°ã¨ã„ã£ãŸã€ + ãã®ä»–潜在的ãªãƒ¬ãƒ¼ã‚¹ã‚³ãƒ³ãƒ‡ã‚£ã‚·ãƒ§ãƒ³ã«ã¤ã„ã¦ã‚‚注æ„ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + 複数㮠rotatelogs ãŒåŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚’åŒæ™‚ã« + rotate ã—よã†ã¨ã™ã‚‹ã¨ã€äº’ã„ã«ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’破壊ã—ã¦ã—ã¾ã„ã¾ã™ã€‚

+
+
+
+

翻訳済ã¿è¨€èªž:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/stopping.html.ko.euc-kr b/docs/manual/stopping.html.ko.euc-kr new file mode 100644 index 0000000..4bb7b1b --- /dev/null +++ b/docs/manual/stopping.html.ko.euc-kr @@ -0,0 +1,235 @@ + + + + + +Áß´Ü°ú Àç½ÃÀÛ - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Áß´Ü°ú Àç½ÃÀÛ

+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+
ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
+ +

ÀÌ ¹®¼­´Â À¯´Ð½º·ù ½Ã½ºÅÛ¿¡¼­ ¾ÆÆÄÄ¡¸¦ Áß´ÜÇÏ°í Àç½ÃÀÛÇÏ´Â + ³»¿ëÀ» ´ã°íÀÖ´Ù. À©µµ¿ìÁî NT, 2000, XP »ç¿ëÀÚ´Â ¼­ºñ½º·Î ¾ÆÆÄÄ¡ + ½ÇÇàÇϱ⿡¼­, À©µµ¿ìÁî 9x¿Í ME »ç¿ëÀÚ´Â ÄÝ¼Ö ÇÁ·Î±×·¥À¸·Î + ¾ÆÆÄÄ¡ ½ÇÇàÇϱ⿡¼­ Ç÷¡Æûº° ¾ÆÆÄÄ¡ Á¶ÀÛ¹ýÀ» ¾Ë ¼ö ÀÖ´Ù.

+
+ +
top
+
+

¼Ò°³

+ +

¾ÆÆÄÄ¡¸¦ Áß´ÜÇÏ°í Àç½ÃÀÛÇÏ·Á¸é ½ÇÇàÇÏ°í ÀÖ´Â + httpd ÇÁ·Î¼¼½º¿¡ ½Ã±×³ÎÀ» º¸³»¾ß ÇÑ´Ù. ½Ã±×³ÎÀ» + º¸³»´Â ¹æ¹ýÀº µÎ°¡Áö´Ù. Çϳª´Â À¯´Ð½º kill + ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÇÁ·Î¼¼½º¿¡ Á÷Á¢ ½Ã±×³ÎÀ» º¸³»´Â ¹æ¹ýÀÌ´Ù. + ½Ã½ºÅÛ¿¡ ¸¹Àº httpd°¡ ½ÇÇàµÇÁö¸¸, PidFile¿¡ pid°¡ ±â·ÏµÈ ºÎ¸ð¿Ü¿¡ + ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ½Ã±×³Î(signal)À» º¸³»¸é ¾ÈµÈ´Ù. Áï, ºÎ¸ðÀÌ¿Ü¿¡ + ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ½Ã±×³ÎÀ» º¸³¾ ÇÊ¿ä°¡ ¾ø´Ù´Â ¸»ÀÌ´Ù. ºÎ¸ð¿¡°Ô + º¸³¾ ¼ö ÀÖ´Â ½Ã±×³ÎÀº ¼¼°¡Áö·Î, ÀÌÁ¦ ¼³¸íÇÒ TERM, HUP, USR1ÀÌ´Ù.

+ +

´ÙÀ½°ú °°ÀÌ ºÎ¸ð¿¡°Ô ½Ã±×³ÎÀ» º¸³½´Ù:

+ +

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

+ +

httpd ÇÁ·Î¼¼½º¿¡°Ô ½Ã±×³ÎÀ» º¸³»´Â ´Ù¸¥ ¹æ¹ýÀº + ¸í·ÉÇà ¿É¼Ç -k¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¾Æ·¡¼­ ¼³¸íÇÒ + stop, restart, gracefulÀº + httpd ½ÇÇàÆÄÀÏÀÇ ¾Æ±Ô¸ÕÆ®µéÀÌ´Ù. + ±×·¯³ª ÀÌ ¾Æ±Ô¸ÕÆ®µé·Î httpd¸¦ ½ÇÇàÇÏ´Â, apachectl ½ºÅ©¸³Æ®¸¦ + »ç¿ëÇÏ±æ ±ÇÇÑ´Ù.

+ +

httpd¿¡ ½Ã±×³ÎÀ» º¸³½ÈÄ, ´ÙÀ½ ¸í·É¾î·Î + ÁøÇà»óȲÀ» ¾Ë ¼ö ÀÖ´Ù:

+ +

tail -f /usr/local/apache2/logs/error_log

+ +

À§ ¿¹¸¦ ´ç½ÅÀÇ ServerRoot¿Í PidFile ¼³Á¤¿¡ ¾Ë¸Â°Ô ¼öÁ¤Ç϶ó.

+
top
+
+

´çÀå Áß´Ü

+ +
½Ã±×³Î: TERM
+
apachectl -k stop
+
+ +

TERMÀ̳ª stop ½Ã±×³ÎÀ» ºÎ¸ð¿¡°Ô + º¸³»¸é Áï½Ã ¸ðµç ÀÚ½ÄÀ» Á×ÀδÙ. ÀÚ½ÄÀ» ¿ÏÀüÈ÷ Á×À̴µ¥´Â + ¸î ÃÊ°¡ °É¸± ¼ö ÀÖ´Ù. ±×·±ÈÄ ºÎ¸ð°¡ Á¾·áÇÑ´Ù. ó¸®ÁßÀÎ ¿äûÀº + Áߴܵǰí, ´õ ÀÌ»ó ¿äûÀ» ¹ÞÁö¾Ê´Â´Ù.

+
top
+
+

Á¡ÀÝÀº Àç½ÃÀÛ

+ +
½Ã±×³Î: USR1
+
apachectl -k graceful
+
+ +

USR1À̳ª graceful ½Ã±×³ÎÀ» + ºÎ¸ð¿¡°Ô º¸³»¸é ºÎ¸ð ÇÁ·Î¼¼½º´Â Àڽĵ鿡°Ô ÇöÀç ¿äûÀ» + ó¸®ÇÑÈÄ Á¾·áÇ϶ó°í (ȤÀº ÇöÀç ¾Æ¹«°Íµµ ó¸®ÇÏÁö ¾Ê´Ù¸é + Áï½Ã Á¾·áÇ϶ó°í) Á¶¾ðÇÑ´Ù. ºÎ¸ð´Â ¼³Á¤ÆÄÀÏÀ» + ´Ù½ÃÀÐ°í ·Î±×ÆÄÀϵµ ´Ù½Ã ¿¬´Ù. ÀÚ½ÄÀÌ Á×À»¶§¸¶´Ù ºÎ¸ð´Â + Á×Àº ÀڽĴë½Å »õ·Î¿î ¼³Á¤ ¼¼´ë¿¡ ±âÃÊÇÑ ÀÚ½ÄÀ» + ½ÇÇàÇÏ¿© Áï½Ã ¿äûÀ» ó¸®ÇÏ°Ô ÇÑ´Ù.

+ +
Á¡ÀÝÀº Àç½ÃÀÛ(graceful restart)À¸·Î USR1À» + »ç¿ëÇÒ ¼ö ¾ø´Â Ç÷¡Æû¿¡¼­´Â ´ë½Å (WINCH¿Í °°Àº) + ´Ù¸¥ ½Ã±×³ÎÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. apachectl gracefulÀº + Ç÷¡Æû¿¡ ¾Ë¸ÂÀº ½Ã±×³ÎÀ» º¸³½´Ù.
+ +

Á¡ÀÝÀº Àç½ÃÀÛÀº Ç×»ó MPMÀÇ ÇÁ·Î¼¼½º Á¶Àý Áö½Ã¾î ¼³Á¤À» + °í·ÁÇÏ¿©, Àç½ÃÀÛµ¿¾È Ŭ¶óÀ̾ðÆ®¸¦ ¼­ºñ½ºÇÏ´Â ÇÁ·Î¼¼½º³ª ¾²·¹µå°¡ + Àû´çÇÑ ¼ö¸¦ À¯ÁöÇϵµ·Ï ¼³°èµÇ¾ú´Ù. °Ô´Ù°¡ StartServers´Â, ÀÏÃÊ ÈÄ + ÃÖ¼ÒÇÑ StartServers¸¸Å­ »õ·Î¿î ÀÚ½ÄÀÌ ¾È¸¸µé¾îÁö¸é ÀÚ½ÄÀÌ + StartServers °³°¡ µÇµµ·Ï »õ·Î ¸¸µç´Ù. Áï, ÇÁ·Î±×·¥Àº ¼­¹öÀÇ + ÇöÀç ºÎÇÏ¿¡ ¾Ë¸ÂÀº ÀÚ½ÄÀÇ °³¼ö¸¦ À¯ÁöÇϸç, + StartServers ÆĶó¹ÌÅÍ·Î ÁöÁ¤ÇÑ ´ç½ÅÀÇ + ±â´ë¸¦ Á¸ÁßÇÑ´Ù.

+ +

mod_status »ç¿ëÀÚ´Â USR1À» + ¹ÞÀ»¶§ ¼­¹ö Åë°è°¡ 0ÀÌ µÇÁö ¾ÊÀ½À» ºÃÀ» + °ÍÀÌ´Ù. ¼­¹ö´Â »õ·Î¿î ¿äûÀ» (¿î¿µÃ¼Á¦´Â À̵éÀ» Å¥¿¡ ´ã¾Æ¼­ + ¾î¶² °æ¿ì¿¡µµ ÀÒ¾î¹ö¸®Áö ¾Ê´Â´Ù) ó¸®ÇÏÁö ¸øÇÏ´Â ½Ã°£À» + ÃÖ¼ÒÈ­ÇÏ°í ´ç½ÅÀÇ Æ©´× ÆĶó¹ÌÅ͸¦ Á¸ÁßÇϵµ·Ï ¸¸µé¾îÁ³´Ù. + À̸¦ À§ÇØ ¼¼´ë°£ ¸ðµç ÀÚ½ÄÀ» ±â·ÏÇÏ´Â scoreboard¸¦ + À¯ÁöÇÑ´Ù.

+ +

status ¸ðµâÀº ¶ÇÇÑ Á¡ÀÝÀº Àç½ÃÀÛ Àü¿¡ ½ÃÀÛÇÏ¿© ¾ÆÁ÷µµ + ¿äûÀ» ó¸®ÇÏ°í ÀÖ´Â ÀÚ½ÄÀ» G·Î ¾Ë·ÁÁØ´Ù.

+ +

ÇöÀç·Î´Â USR1À» »ç¿ëÇÏ´Â ·Î±×¼øȯ ½ºÅ©¸³Æ®°¡ + Àç½ÃÀÛÀü¿¡ ¸ðµç ÀÚ½ÄÀÌ ·Î±×ÀÛ¼ºÀ» ¸¶ÃÆ´ÂÁö ¾Ë ¼ö ÀÖ´Â + ¹æ¹ýÀÌ ¾ø´Ù. ¿ì¸®´Â USR1 ½Ã±×³ÎÀ» º¸³»°í + Àû´çÇÑ ½Ã°£ÀÌ Áö³­ÈÄ ÀÌÀü ·Î±×¸¦ ´Ù·çµµ·Ï Á¦¾ÈÇÑ´Ù. ¿¹¸¦ + µé¾î ³·Àº ´ë¿ªÆø »ç¿ëÀÚÀÇ °æ¿ì Á¢¼Ó ´ëºÎºÐÀÌ ¸¶Ä¡´Âµ¥ 10ºÐÀÌ + ¾È°É¸°´Ù¸é, ÀÌÀü ·Î±×¸¦ ´Ù·ç±âÀü¿¡ 15ºÐ ±â´Ù¸°´Ù.

+ +
¼³Á¤ÆÄÀÏ¿¡ ¿À·ù°¡ ÀÖ´Ù¸é Àç½ÃÀ۽à ºÎ¸ð´Â Àç½ÃÀÛÇÏÁö + ¾Ê°í ¿À·ù¸¦ ³»¸ç Á¾·áÇÑ´Ù. ¶Ç, Á¡ÀÝÀº Àç½ÃÀÛÀÇ °æ¿ì Á¾·áÇÒ¶§ + ÀÚ½ÄÀÌ ½ÇÇàµÇµµ·Ï ³öµÐ´Ù. (ÀڽĵéÀº ÀÚ½ÅÀÇ ¸¶Áö¸· ¿äûÀ» + ó¸®ÇÏ°í "Á¡ÀÝ°Ô Á¾·áÇÑ´Ù".) ÀÌ´Â ¼­¹ö¸¦ Àç½ÃÀÛÇÒ¶§ + ¹®Á¦°¡ µÈ´Ù. ¼­¹ö´Â ÀÚ½ÅÀÌ ±â´Ù¸± Æ÷Æ®¿¡ ¿¬°áÇÏÁö ¸øÇÑ´Ù. + Àç½ÃÀÛÀü¿¡ -t ¸í·ÉÇà ¿É¼Ç(httpd Âü°í)À¸·Î ¼³Á¤ÆÄÀÏ + ¹®¹ýÀ» °Ë»çÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ·± °Ë»çµµ ¼­¹ö°¡ ¿Ã¹Ù·Î + Àç½ÃÀÛÇÒÁö¸¦ º¸ÀåÇÏÁö ¸øÇÑ´Ù. ¼³Á¤ÆÄÀÏÀÇ ¹®¹ýÀÌ ¾Æ´Ñ Àǹ̸¦ + °Ë»çÇÏ·Á¸é root°¡ ¾Æ´Ñ »ç¿ëÀÚ·Î httpd¸¦ ½ÃÀÛÇغ¼ ¼ö ÀÖ´Ù. + root°¡ ¾Æ´Ï±â¶§¹®¿¡ (¾Æ´Ï¸é ÇöÀç ±× Æ÷Æ®¸¦ »ç¿ëÇÏ´Â + httpd°¡ ½ÇÇàµÇ±â¶§¹®¿¡) ¿À·ù°¡ ¾ø´Ù¸é ¼ÒÄÏ°ú + ·Î±×ÆÄÀÏÀ» ¿­·Á°í ½ÃµµÇÏ´Â °úÁ¤¿¡¼­ ½ÇÆÐÇÒ °ÍÀÌ´Ù. ´Ù¸¥ + ÀÌÀ¯¶§¹®¿¡ ½ÇÆÐÇÑ´Ù¸é ¾Æ¸¶µµ ¼³Á¤ÆÄÀÏ¿¡ ¿À·ù°¡ ÀÖÀ» °ÍÀÌ´Ù. + Á¡ÀÝÀº Àç½ÃÀÛÀ» ÇϱâÀü¿¡ ¿À·ù¸¦ °íÃľßÇÑ´Ù.
+
top
+
+

´çÀå Àç½ÃÀÛ

+ +
½Ã±×³Î: HUP
+
apachectl -k restart
+
+ +

HUPÀ̳ª restart ½Ã±×³ÎÀ» + ºÎ¸ð¿¡°Ô º¸³»¸é TERM°ú °°ÀÌ ¸ðµç ÀÚ½ÄÀ» + Á×ÀÌÁö¸¸ ºÎ¸ð´Â Á¾·áÇÏÁö ¾Ê´Â´Ù. ºÎ¸ð´Â ¼³Á¤ÆÄÀÏÀ» ´Ù½ÃÀаí + ·Î±×ÆÄÀÏÀ» ´Ù½Ã ¿¬´Ù. ±×¸®°í »õ·Î¿î ÀڽĵéÀ» ¸¸µé°í ¼­ºñ½º¸¦ + °è¼ÓÇÑ´Ù.

+ +

mod_status »ç¿ëÀÚ´Â HUP¸¦ + º¸³»¸é ¼­¹ö Åë°è°¡ 0ÀÌ µÊÀ» ¾Ë ¼ö ÀÖ´Ù.

+ +
¼³Á¤ÆÄÀÏ¿¡ ¿À·ù°¡ ÀÖ´Ù¸é Àç½ÃÀÛÀ» Çصµ ºÎ¸ð´Â Àç½ÃÀÛÇÏÁö +¾Ê°í ¿À·ù¸¦ ³»¸ç Á¾·áÇÒ °ÍÀÌ´Ù. À̸¦ ÇÇÇÏ´Â ¹æ¹ýÀº À§¸¦ Âü°íÇ϶ó.
+
top
+
+

ºÎ·Ï: ½Ã±×³Î°ú ·¹À̽º ÄÁµð¼Ç

+ +

Apache 1.2b9 ÀÌÀü¿¡´Â Àç½ÃÀÛ°ú Á¾·á ½Ã±×³Î¿¡ °ü°èµÈ + ·¹À̽º ÄÁµð¼Ç(race condition)ÀÌ ÀÖ¾ú´Ù. (·¹À̽º + ÄÁµð¼ÇÀº °£´ÜÇÑ ¼³¸íÇÏÀÚ¸é, ¾î¶² ÀÏÀÌ À߸øµÈ¶§ ÀϾ¼­ + ±â´ëÇÑ´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â ½Ã°£¿¡ ¹Î°¨ÇÑ ¹®Á¦´Ù.) "¿Ã¹Ù¸¥" + ±â´ÉÀÌ ÀÖ´Â ¾ÆÅ°ÅØÃÄ¿¡¼­ ¿ì¸®´Â ÀÌ·± ¹®Á¦¸¦ ÃÖ´ëÇÑ ÇØ°áÇß´Ù. + ±×·¯³ª ¾î¶² ¾ÆÅ°ÅØÃÄ¿¡´Â ¾ÆÁ÷µµ ·¹À̽º ÄÁµð¼ÇÀÌ Á¸ÀçÇÔÀ» + ÁÖÀÇÇ϶ó.

+ +

ScoreBoardFileÀ» + µð½ºÅ©¿¡ ÀúÀåÇÏ´Â ¾ÆÅ°ÅØÃÄ´Â scoreboard¸¦ ¸Á°¡Æ®¸± °¡´É¼ºÀÌ + ÀÖ´Ù. ±×·¯¸é (HUPÈÄ) "bind: Address already in use" + ȤÀº (USR1 ÈÄ) "long lost child came home!"ÀÌ + ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ÀüÀÚ´Â ½É°¢ÇÑ ¿À·ùÀÌ°í, ÈÄÀÚ´Â ´ÜÁö ¼­¹ö°¡ + scoreboard slotÀ» ÀÒ°Ô ¸¸µç´Ù. ±×·¡¼­ °­Á¦ Àç½ÃÀÛÀ» ÁÙÀÌ°í + Á¡ÀÝÀº Àç½ÃÀÛÀ» »ç¿ëÇϱæ ÃßõÇÑ´Ù. ÀÌ ¹®Á¦´Â ÇØ°áÇϱ⠸ſì + Èûµé´Ù. ±×·¯³ª ´ÙÇàÈ÷µµ ´ëºÎºÐÀÇ ¾ÆÅ°ÅØÃÄ´Â scoreboard·Î ÆÄÀÏÀ» + »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÆÄÀÏÀ» »ç¿ëÇÏ´Â ¾ÆÅ°ÅØÃĶó¸é ScoreBoardFile ¹®¼­¸¦ Âü°íÇ϶ó.

+ +

¸ðµç ¾ÆÅ°ÅØÃÄ¿¡´Â Áö¼ÓµÇ´Â HTTP ¿¬°á (KeepAlive)¿¡¼­ + µÎ¹ø° ÀÌÈÄ ¿äûÀ» ó¸®ÇÏ´Â ÀڽĿ¡ ¾à°£ÀÇ ·¹À̽º ÄÁµð¼ÇÀÌ + ÀÖ´Ù. ÀÚ½ÄÀº ¿äûÁÙÀ» ÀÐÀº ÈÄ ¿äû Çì´õ¸¦ ÀбâÀü¿¡ Á¾·áÇÒ ¼ö + ÀÖ´Ù. ÀÌ ¹®Á¦´Â ³Ê¹« ´Ê°Ô ¹ß°ßÇÏ¿© 1.2 ¹öÀüÀÌ ³ª¿ÂÈÄ¿¡¾ß + ¼öÁ¤µÇ¾ú´Ù. ±×·¯³ª ³×Æ®¿÷ Áö¿¬À̳ª ¼­¹ö ½Ã°£Á¦ÇѶ§¹®¿¡ KeepAlive + Ŭ¶óÀ̾ðÆ®´Â ÀÌ·± °æ¿ì¸¦ ¿¹»óÇؾßÇϱ⠶§¹®¿¡ ÀÌ·Ð»ó ¹®Á¦´Â + ¾ÈµÈ´Ù. ½ÇÁ¦·Î ¼­¹ö¸¦ °Ë»çÇϱâÀ§ÇØ ÀÏÃÊ¿¡ 20¹ø Àç½ÃÀÛÇÏ´Â µ¿¾È + Ŭ¶óÀ̾ðÆ®°¡ ±úÁø ±×¸²À̳ª ºó ¹®¼­¾øÀÌ »çÀÌÆ®¸¦ ¼º°øÀûÀ¸·Î + ÀоîµéÀÌ±æ ±â´ëÇÏÁö ¾Ê´Â´Ù¸é ¹®Á¦°¡ ¾ÈµÈ´Ù.

+
+
+

°¡´ÉÇÑ ¾ð¾î:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/stopping.html.tr.utf8 b/docs/manual/stopping.html.tr.utf8 new file mode 100644 index 0000000..54c9c48 --- /dev/null +++ b/docs/manual/stopping.html.tr.utf8 @@ -0,0 +1,273 @@ + + + + + +Apache HTTP Sunucusunun Durdurulması ve Yeniden Başlatılması - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Apache HTTP Sunucusunun Durdurulması ve Yeniden Başlatılması

+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu belge Apache HTTP Sunucusunun Unix benzeri sistemlerde durdurulması + ve yeniden başlatılması konularını kapsar. Windows NT, 2000 ve XP + kullanıcıları Apache HTTPd’yi bu platformlarda nasıl denetimlerine + alacaklarını öğrenmek için httpd’nin Bir Hizmet Olarak Çalıştırılması sayfasına, Windows 9x ve + ME kullanıcıları ise httpd’nin + Bir Konsol Uygulaması Olarak Çalıştırılması sayfasına + bakabilirler.

+
+ +
top
+
+

GiriÅŸ

+ +

Apache HTTP Sunucusunu durdurmak ve yeniden başlatmak için çalışan + httpd süreçlerine bir sinyal göndermeniz gerekir. + Sinyal göndermek için iki yol vardır. İlki, süreçlere doğrudan sinyal + göndermek için unix kill komutunun kullanımıdır. Bu + suretle, sisteminizde çalışmakta olan bir çok httpd + sürecini uyarabilirsiniz ama süreç kimliği PidFile yönergesi ile belirtilen dosyada + tutulan ana süreç dışında hiçbirine sinyal göndermemelisiniz. Başka + bir deyişle, ana süreç haricinde hiçbir sürece sinyal göndermeye normal + olarak ihtiyacınız olmaması gerekir. Ana sürece gönderebileceğiniz + dört çeşit sinyal vardır: + TERM, + USR1, + HUP ve + WINCH. Bunlar yeri geldikçe + açıklanacaktır.

+ +

Ana sürece kill ile sinyal göndermek için şöyle bir + komut verebilirsiniz:

+ +

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

+ +

httpd süreçlerine sinyal göndermenin ikinci yolu + -k komut satırı seçeneğini şu değerlerden biri ile + kullanmaktır: stop, restart, + graceful ve graceful-stop. Bunlar aşağıda + açıklanacaktır. -k komut satırı seçeneği + httpd’ye ait olsa da ana sürece bu sinyalleri + göndermek için apachectl betiğini kullanmanızı + öneririz. apachectl, komut satırı seçeneklerini + httpd’ye aktaracaktır.

+ +

httpd’ye sinyal gönderdikten sonra olup biteni şu + komutla izleyebilirsiniz:

+ +

tail -f /usr/local/apache2/logs/error_log

+ +

Bu örnekleri, kendi ServerRoot ve + PidFile yönergelerinizdeki + ayarlara uygun olarak değiştirdikten sonra kullanınız.

+
top
+
+

Hemen Durdur

+ +
Sinyal: TERM
+
apachectl -k stop
+
+ +

Ana sürece TERM veya stop sinyali + göndererek tüm çocukların bir an önce öldürülmeye çalışılmasını sağlamış + olursunuz. Tüm çocukların öldürülmesi bir kaç saniye sürebilir. Son + olarak ana süreç çıkacaktır. Yanıtlanmakta olan istekler hemen + sonlandırılacak ve artık isteklere yanıt verilmeyecektir.

+
top
+
+

Nazikçe Yeniden Başlat

+ +
Sinyal: USR1
+
apachectl -k graceful
+
+ +

Ana sürece USR1 veya graceful sinyalinin + gönderilmesi, çocuklara ellerindeki mevcut işleri bitirdikten sonra + (veya sundukları bir şey yoksa hemen) çıkmalarının önerilmesi + demektir. Ana süreç kendi yapılandırma dosyalarını yeniden okur ve + kendi günlük dosyalarını yeniden açar. Ana sürecin öldürdüğü her sürecin + yerine yeni yapılandırma kuşağından bir süreç başlatır ve hemen + yeni isteklere hizmet sunulmaya başlanır.

+ +

Bu kod MPM’lerin süreçleri denetleyen yönergelerine daima uyacak + şekilde tasarlanmıştır. Bu suretle, istemcilere hizmet sunacak çocuk + süreçler ve evreler, yeniden başlatma işleminde de uygun sayıda + sağlanmış olur. Bununla birlikte, StartServers yönergesinde şöyle + davranılır: İlk saniye içinde en azından StartServers sayıda yeni çocuk + oluşturulmamışsa iş olmayan bir devreyi geçiştirecek kadarı oluşturulur. + Ardından sunucunun mevcut yükünü karşılamak için gereken sayıda çocuk + süreç oluşturulur. Bu suretle, kod her ikisi için de gereğini yerine + getirmeye çalışmış olur.

+ +

mod_status kullanıcıları USR1 + gönderildiği zaman sunucu istatistiklerinin sıfırlanmadığı konusunda + uyarılacaktır. Kod, sunucunun yeni isteklere yanıt veremediği zamanı en + aza indirmenin yanısıra ayar parametrelerinize de uymak üzere + tasarlanmıştır (yeni istekler işletim sistemi tarafından kuyruğa + alınacağından bir istek kaybı olayı yaşanmaz). Bunu sağlamak için, her + iki kuşağın çocuklarının izini sürecek bir çetele tutulur.

+ +

mod_status modülü, nazikçe yeniden başlat komutunun + verilmesinden önce başlamış ve sunulmaya devam eden isteklere bakan + çocukları imlemek için ayrıca bir G (Graceful’un baş harfi) + kullanır.

+ +

Günlük dosyası döndürme betiğine, yeniden başlatma öncesi günlüğe yazan + tüm çocukların işini bitirdiğini USR1 kullanarak + bildirmenin bir yolu yoktur. Önerimiz, eski günlük kaydı üzerinde bir + işlem yapmaya başlamadan önce USR1 sinyali gönderilmesinin + ardından belli bir süre beklenilmesi olacaktır. Örneğin, düşük band + genişliğine sahip istemcilere hizmet sunan çoğu sürecin işinin 10 + dakikadan önce bitmeyeceğini gözönüne alarak eski günlük üzerinde işlem + yapmaya başlamak için 15 dakika beklenebilir.

+ +
+

Bir yeniden başlatma isteğinde, yapılandırma dosyalarında bir hata + olmadığından emin olmak için önce bir sözdizimi denetimi yapılır. Eğer + yapılandırma dosyalarınızda bir hata varsa bu sözdizimi hatasıyla ilgili + bir hata iletisi alırsınız ve sunucu yeniden başlamayı reddeder. Bu + yolla, bir hata sonucu sunucunun çökerek yeniden başlamaması nedeniyle + işlevsiz bir sunucuyla başbaşa kalmanız önlenmiştir.

+ +

Ancak, bu hala sunucunuzun düzgünce yeniden başlatılmasını garanti + etmeyecektir. Yapılandırma dosyalarınızı sözdizimi denetiminin yanında + anlamlandırılması bakımından da sınamak için + httpd’nin root olmayan bir kullanıcı tarafından + çalıştırılmasını deneyebilirsiniz. Eğer yapılandırma dosyalarında bir + hata yoksa soketleri ve günlük dosyalarını açmaya çalışırken root + aidiyetinde çalışmadığından veya çalışmakta olan asıl sunucu bu portları + zaten dinlediğinden başarısız olacaktır. Eğer başka bir sebeple + başarısız olursa olası sebep bir yapılandırma dosyası hatasıdır ve asıl + sunucuya ‘nazikçe yeniden başla’ komutunu vermeden önce bu hatayı + düzeltmeniz gerekir.

+
top
+
+

Hemen Yeniden BaÅŸlat

+ +
Sinyal: HUP
+
apachectl -k restart
+
+ +

Ana sürece HUP veya restart sinyalinin + gönderilmesi tüm çocukların TERM sinyali gönderilmiş gibi + öldürülmesine sebep olur fakat ana sürecin çıkmasını sağlamaz. + Ana süreç yapılandırma dosyalarını yeniden okur ve günlük kayıt + dosyalarını yeniden açar. Bunların ardından isteklere yanıt verecek yeni + kuşak çocukları oluşturmaya başlar.

+ +

mod_status kullanıcıları bir HUP sinyalı + gönderildiğinde sunucu istatistiklerinin sıfırlandığı konusunda + uyarılırlar.

+ +
‘Nazikçe yeniden başlat’ komutundaki gibi yeniden başlatma öncesi + bir sözdizimi denetimi yapılır. Eğer yapılandırma dosyalarınızda + sözdizimi hatası varsa yeniden başlatma işlemi gerçekleşmez ve sözdizimi + hatalarıyla ilgili bildirim alırsınız.
+
top
+
+

Nazikçe Durdur

+ +
Sinyal: WINCH
+
apachectl -k graceful-stop
+
+ +

Ana sürecin WINCH veya graceful-stop + sinyalini alması, çocuklara ellerindeki mevcut işleri bitirdikten sonra + (veya sundukları bir şey yoksa hemen) çıkmalarının önerilmesine + sebep olur. Ana süreç bunun hemen ardından PidFile dosyasını siler ve port + dinlemeyi keser. Ana süreç çalışmaya ve isteklere yanıt vermekte olan + çocuk süreçleri izlemeye devam eder. Tüm çocuklar işlerini bitirip + çıktığında veya GracefulShutdownTimeout ile belirtilen + zaman aşımı dolduğunda ana süreç de kendini sonlandırır. Eğer zaman aşımı + devreye girmişse o an çalışmakta olan çocuk süreçlere TERM + sinyali gönderilerek hemen çıkmaları sağlanır.

+ +

Bir TERM sinyali ile "graceful" durumundaki tüm çocuklar + ve ana süreç hemen sonlandırılacaktır. Bununla birlikte, PidFile dosyası da silineceğinden, artık + apachectl veya httpd’yi bu sinyali göndermek + için kullanamayacaksınız.

+ +

graceful-stop sinyali, aynı anda, aynı yapılandırma + ile çok sayıda httpd kopyasının çalıştırılabilmesine + imkan verir. Bu, Apache nazikçe yükseltileceği zaman güçlü bir özellik + haline gelmekteyse de, bazı yapılandırmalarda yarış koşullarının + oluşmasına ve kısır çekişmelere (deadlock) sebep olabilir.

+ +

Sunucunun süreç kimliğini içeren kilit dosyaları (Mutex) ve Unix soket dosyaları + (ScriptSock) gibi dosyaların + disk üzerindeki mevcudiyetlerinin sorunsuz olarak devam ettiğinden emin + olunmaya çalışılmalıdır. Ayrıca, bir yapılandırma yönergesi, üçüncü + parti bir modül veya kalıcı CGI uygulamalarına ait disk kilit veya durum + dosyaları olabilir; httpd’nin birden fazla kopyasının + çalışması nedeniyle bu dosyaların da üzerine yazılmadığından emin + olunmaya çalışılmalıdır.

+ +

rotatelogs tarzı borulu günlükleme kullanımı gibi + durumlarda yarış koşullarının oluşması olasılığına karşı uyanık + olunmalıdır. Aynı günlük kayıt dosyalarını aynı anda döndürmeye çalışan + birden fazla rotatelogs kopyasının çalıştırılması + halinde bunların her biri diğerlerinin günlük kayıt dosyalarının kaybına + sebep olabilir.

+
+
+

Mevcut Diller:  de  | + en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/style/build.properties b/docs/manual/style/build.properties new file mode 100644 index 0000000..1a9c079 --- /dev/null +++ b/docs/manual/style/build.properties @@ -0,0 +1,27 @@ +# This file contains version specific properties + +# No xml files yet or anymore +#noxml.fr = rewrite/rewrite_guide.html.fr rewrite/rewrite_guide_advanced.html.fr + +# This httpd version is not retired +# (run build bootstrap on change) +retired = no + + +manpages.8 = \ + apachectl \ + fcgistarter \ + htcacheclean \ + httpd \ + rotatelogs \ + suexec + +manpages.1 = \ + ab \ + apxs \ + dbmmanage \ + htdbm \ + htdigest \ + htpasswd \ + httxt2dbm \ + logresolve diff --git a/docs/manual/style/common.dtd b/docs/manual/style/common.dtd new file mode 100644 index 0000000..2cd3080 --- /dev/null +++ b/docs/manual/style/common.dtd @@ -0,0 +1,201 @@ + + + + + + + +%HTMLlat1; + + +%HTMLsymbol; + + +%HTMLspecial; + + + + +%HTTPD-VERSION; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/manual/style/css/manual-chm.css b/docs/manual/style/css/manual-chm.css new file mode 100644 index 0000000..8471411 --- /dev/null +++ b/docs/manual/style/css/manual-chm.css @@ -0,0 +1,27 @@ +@import url(manual-loose-100pc.css); + +/* 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. + */ + +html { + font-size: 95%; +} + +h1 { + margin: 0 0 0.5em 0; +} + +/* the end */ diff --git a/docs/manual/style/css/manual-loose-100pc.css b/docs/manual/style/css/manual-loose-100pc.css new file mode 100644 index 0000000..ffea7de --- /dev/null +++ b/docs/manual/style/css/manual-loose-100pc.css @@ -0,0 +1,155 @@ +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * manual.css - no sidebar, 100% normal font height + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* 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. + */ + +/* import the main CSS, so we + * have to adjust only a few things + */ +@import url(manual.css); + +html { + font-size: 100%; +} + +/* "sidebar" background is white here */ +div#quickview a:hover, +div#quickview a:active { + background-color: #f0f0f0; + color: #0073c7; +} + +div#quickview code.module a:hover, +div#quickview code.module a:active { + background-color: #f0f0f0; + color: #8b4513; +} + +div#quickview code.directive a:hover, +div#quickview code.directive a:active { + background-color: #f0f0f0; + color: #287f00; +} + +h1 { + font-size: 1.5em; +} + +h2 { + font-size: 1.2em; +} + +.category h2 { + font-size: 1em; +} + +h3 { + font-size: 1.1em; +} + +h4 { + font-size: 1em; +} + +div.example h3, +div.note h3, +div.warning h3 { + font-size: 1em; +} + +div#quickview h3, +div#quickview h3.directives { + margin: 1em 0 0.3em 0; + font-size: 1.1em; +} + +div#quickview h3.directives { + margin-top: 0; +} + +div#quickview li { + font-size: 1em; +} + +div#quickview ul { + margin-bottom: 1em; +} + +div#quickview ul#toc { + margin-left: 0; +} + +div#quickview li img { + display: inline; + margin-right: 19px; +} + +#module-index div#quickview ul#toc, +#manual-page div#quickview ul#toc, +div#quickview #topics { + padding-left: 0; +} + +div#quickview .seealso { + padding-left: 34px; +} + +#module-index div#quickview ul#toc li, +#manual-page div#quickview ul#toc li, +div#quickview #topics li, +div#quickview .seealso li { + margin: 0; + list-style-type: none; +} + +div#page-header p.menu, +div#path, +div#footer { + font-size: smaller; +} + +div#quickview { + position: static; + margin: 0 0 1em 30px; + padding: 0; + width: auto; + background-color: #fff; +} + +div#page-content { + margin-right: 0; + padding-right: 0; +} + +div.example pre, +div.example p > code { + font-size: 0.9em; +} + +div.note pre, +div.warning pre { + font-size: 0.9em; +} + +table.qref td.descr { + font-size: 0.9em; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * -> The End <- + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ diff --git a/docs/manual/style/css/manual-print.css b/docs/manual/style/css/manual-print.css new file mode 100644 index 0000000..0d0695d --- /dev/null +++ b/docs/manual/style/css/manual-print.css @@ -0,0 +1,717 @@ +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * manual.css for printers + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* 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. + */ + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * mainframe ;-) + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +html { + font-size: 11pt; +} + +body { + background-color: #fff; + color: #000; + padding: 0 0 0 0; + margin: 0; + font-family: "Times New Roman", serif; + font-weight: normal; +} + +pre, code { + font-family: "Courier New", Courier, monospace; +} + +strong { + font-weight: bold; +} + +q, em, var { + font-style: italic; +} + +span.transnote, span.phonetic { + font-weight: normal; + background-color: inherit; + color: #888; +} + +/* fixup IE & Opera + * otherwise they forget to inherit + * the computed font-size value + */ +table, code { + font-size: 1em; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Links + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* normal links */ +/* ====================== */ +a:link, +a:visited, +a:hover, +a:active { + color: #000; + background-color: inherit; + text-decoration: none; +} + +/* sidebar */ +div#quickview a:hover, +div#quickview a:active { + background-color: #fff; + color: #000; +} + +/* EXPERIMENTAL! I'm waiting for complaints... */ +#page-content p > a[href]:after { + content: " (\002197\0000A0" attr(href) ") "; + color: #036; +} + +/* code.module [links] */ +/* ====================== */ +code.module, +code.module a:link, +code.module a:visited, +code.module a:hover, +code.module a:active { + color: #8b4513; + background-color: inherit; + text-decoration: none; +} + +/* code.directive [links] */ +/* ====================== */ +code.directive, +code.directive a:link, +code.directive a:visited, +code.directive a:hover, +code.directive a:active { + color: #287f00; + background-color: inherit; + text-decoration: none; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Headings + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* h1 */ +/* ====================== */ +h1 { + padding: 0 0 0.2em 0; + margin: 1em 0 0.5em 0; + border-style: none none solid none; + border-bottom-width: 1px; + border-bottom-color: #405871; + background-color: inherit; + color: #000; + text-decoration: none; + font-size: 17pt; + font-weight: bold; + text-align: center; +} + +/* h2 */ +/* ====================== */ +h2 { + padding: 0.2em 0 0.2em 0.2em; + margin: 0 0 0.5em 0; + width: 80%; + text-decoration: none; + font-size: 15pt; + font-weight: bold; + border-bottom: 1px solid #000; + text-align: left; +} + +.section h2, +.directive-section h2, +.category h2 { + background-color: #fff; + color: #000; +} + +/* take care of s inside */ +h2 a, +h2 a:hover, +h2 a:active { + color: inherit; + background-color: inherit; + text-decoration: none; +} + +/* h3, h4 */ +/* ====================== */ +h3 { + background-color: inherit; + color: #000; + text-decoration: none; + font-weight: bold; + font-size: 13pt; + margin: 1.3em 0 0.4em 0; + padding: 0 0 0 0.2em; +} + +h4 { + background-color: inherit; + color: #000; + text-decoration: none; + font-weight: bold; + font-size: 11pt; + margin: 1.3em 0 0.2em 0; + padding: 0 0 0 0.2em; +} + +/* margin adjustment */ +h3 + *, h4 + * { + margin-top: 0; +} + +/* IE confuses the + * :-( + * so reset some things + */ +ul, .section table, .directive-section table { + margin-bottom: 1em; +} + +/* titles for + * examples, notes and warnings + */ +div.example h3, +div.note h3, +div.warning h3 { + margin: 0 0 0.5em 0; + text-align: left; + font-size: 11pt; +} + +/* sidebar */ +div#quickview h3 { + margin: 1em 0 0.3em 0; + font-size: 13pt; +} + +div#quickview h3.directives { + margin-top: 0; +} + +/* take care of s inside */ +h3 a, +h3 a:hover, +h3 a:active, +h4 a, +h4 a:hover, +h4 a:active { + color: inherit; + background-color: inherit; + text-decoration: none; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Up & Top helper images + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +div.up, +div.top { + display: none; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Tables + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* general */ +/* ====================== */ +table { + border: 1px solid #000; + border-collapse: collapse; + padding: 2px; + margin-top: 0.5em; + margin-bottom: 0; + margin-left: 1px; /* border-width == 1px */ +} + +td, th { + empty-cells: show; /* show border around empty cells */ + padding: 0.1em 0.2em; + vertical-align: top; + text-align: left; + line-height: 1.1em; +} + +th { + font-weight: bold; +} + +td.centered { + text-align: center; +} + +tr.header, tr.header th { + border-top: 1px solid #000; + border-bottom: 1px solid #000; +} + +/* bordered table cells */ +/* ====================== */ + +/* turn off borders in tables nested in + * bordered tables per default + */ +table.bordered table td, +table.bordered table th { + border-style: none; +} + +table.bordered td, +table.bordered th, +table table.bordered td, +table table.bordered th { + border: 1px solid #000; +} + +/* mod/dir. overview table and quick reference */ +/* ============================================ */ +table.module th, +table.directive th { + white-space: nowrap; +} + +table.qref { + border-collapse: collapse; + width: auto; +} + +table.qref td { + border-style: none solid; + border-color: #000; + border-width: 1px; +} + +table.qref td.descr { + padding-left: 1em; + font-size: 11pt; +} + +table#legend { + width: 100%; + border-style: none; + border-width: 0; + vertical-align: bottom; + padding: 0; + margin: 0; +} + +table#legend td { + vertical-align: bottom; + margin: 0; + padding: 0; +} + +table#legend table { + vertical-align: bottom; + margin: 0 0 0 0.4em; + padding: 0; + height: 7.5em; +} + +table#legend td.letters span { + display: none; +} + +table#legend table td, +table#legend table th { + vertical-align: middle; + padding: 0.1ex 0.2em; + line-height: 1em; +} + +/* related modules & dir. */ +/* ====================== */ + +/* assuming, all links are enclosed by + * or + * + */ + +table.related { + border-collapse: collapse; +} + +table.related th, +table.related td { + background-color: #fff; + color: #000; + padding: 0.2ex 0.4em; + border: 1px solid #000; +} + +table.related th { + vertical-align: middle; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Lists + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* list default values */ +/* ====================== */ +ul { + list-style-type: disc; +} + +ul ul { + list-style-type: square; +} + +ul ul ul { + list-style-type: circle; +} + +li, dt, dd { + line-height: 1.1em; +} + +dt { + margin-top: 0.5em; + font-weight: bold; +} + +ol li { + margin-top: 0.5em; +} + +ol.up-A { + list-style-type: upper-alpha; +} + +/* table of contents */ +/* ====================== */ +#toc, +#topics { + margin: 0; + padding: 0; +} + +#toc li, +#topics li { + list-style-type: square; + margin: 0 0 1em 0; + padding: 0; +} + +#toc li img, +#topics li img { + margin-right: 19px; +} + +/* see also */ +/* ====================== */ +.seealso { + margin: 0; + padding: 0; +} + +.seealso li { + list-style-type: square; + margin: 0 0 1em 0; + padding: 0 0 0 34px; +} + +/* related modules & dir. */ +/* ====================== */ +table.related td ul, +table.related td li { + list-style-type: none; + margin: 0; + padding: 0; +} + +/* list of all directives */ +/* ====================== */ +div#directive-list ul { + margin: 0; + padding: 0; +} + +/* quickview */ +/* ====================== */ +div#quickview li { + font-size: 11pt; +} + +div#quickview ul { + margin: 0; + padding: 0; +} + +div#quickview ul#toc { + margin: 0; + padding: 0; +} + +div#quickview ul#toc li { + margin: 0 0 0 1em; + padding: 0; + list-style-type: square; + list-style-position: outside; +} + +div#quickview li img { + display: none; +} + +#module-index div#quickview ul#toc, +#manual-page div#quickview ul#toc, +div#quickview #topics, +div#quickview .seealso { + padding-left: 0; +} + +#module-index div#quickview ul#toc li, +#manual-page div#quickview ul#toc li, +div#quickview #topics li, +div#quickview .seealso li { + margin: 0 0 2px 1em; + padding: 0; + list-style-type: square; + list-style-position: outside; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * main page sections + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* page header */ +/* ====================== */ +div#page-header { + margin-left: 0; +} + +div#page-header img { + display: none; +} + +div#page-header p.apache { + background-color: #fff; + color: #000; + padding: 0; + margin: 0; + text-align: center; + vertical-align: middle; + font-size: 20pt; + font-weight: bold; + line-height: 20pt; +} + +div#page-header p.menu { + display: none; +} + +/* breadcrumb navigation */ +div#path { + display: none; +} + +/* content sections */ +/* ====================== */ +div#preamble { + padding-bottom: 1em; + margin-left: 0; +} + +div.section, +div.directive-section { + margin: 0; + padding: 0; +} + +.section p, +.directive-section p { + margin: 0 0 1em 0; + padding: 0; +} + +/* look for this on directive + * list pages + */ +div#directive-list { + margin-left: 0; + padding: 0 0 1em 1em; +} + +div#directive-ref { + margin: -1em 0 0 1px; + padding: 0 0 1em 0; + width: auto; +} + +/* no sidebar */ +div#quickview { + position: static; + margin: 0 0 1em 0; + padding: 0; + width: auto; + background-color: #fff; + color: inherit; +} + +/* -> keep content wide */ +div#page-content { + padding-top: 0; + margin-right: 0; + padding-right: 0; +} + +/* in general */ +p { + line-height: 1.1em; +} + +/* page footer */ +/* ====================== */ +div#footer { + margin-left: 0; + font-size: 11pt; + border-top: 1px solid #000; + padding-top: 0.2em; +} + +div#footer p.apache { + float: none; + text-align: center; + padding: 0 0 1em 0; + margin-top: 0; + font-weight: bold; +} + +div.toplang, +div.bottomlang, +div#footer p.menu { + display: none; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * subsections (examples, notes, warnings) + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* examples */ +/* ====================== */ +div.example, +div.note div.example { + background-color: #fff; + color: #000; + padding: 0.5em; + margin: 1em; + border: 1px dotted #000; +} + +/* the following [block] elements + * may appear inside example... + */ +div.example p, +div.example pre, +div.example table { + padding: 0; + margin: 0; +} + +div.example p { + line-height: 1em; +} + +div.example pre, +div.example p > code { + font-size: 10pt; +} + +/* notes & warnings */ +/* ====================== */ +div.note, +div.warning { + background-color: #fff; + color: #000; + border: 1px solid #000; + padding: 0.5em; + margin: 1em; +} + +div.note p, +div.warning p { + margin: 0; + padding: 0; +} + +div.note pre, +div.warning pre { + font-size: 10pt; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * quotations, indented paragraphs and figures + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +p.letters { + display: none; +} + +blockquote p { + font-style: italic; + margin: 0; +} + +blockquote p.cite { + font-style: normal; + margin-top: 0; + margin-left: 2em; +} + +blockquote p.cite cite { + font-style: normal; +} + +p.indent { + margin-left: 2em; + margin-top: 1em; +} + +#index-page form { + display: none; +} + +p.figure { + margin-left: 2em; + font-style: italic; +} + +p.figure img { + border: 1px solid #000; +} + +p.figure dfn { + font-weight: bold; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * -> The End <- + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ diff --git a/docs/manual/style/css/manual-zip-100pc.css b/docs/manual/style/css/manual-zip-100pc.css new file mode 100644 index 0000000..488d460 --- /dev/null +++ b/docs/manual/style/css/manual-zip-100pc.css @@ -0,0 +1,23 @@ +@import url(manual-loose-100pc.css); + +/* 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. + */ + +h1 { + margin: 0 0 0.5em 0; +} + +/* the end */ diff --git a/docs/manual/style/css/manual-zip.css b/docs/manual/style/css/manual-zip.css new file mode 100644 index 0000000..563a824 --- /dev/null +++ b/docs/manual/style/css/manual-zip.css @@ -0,0 +1,24 @@ +@import url(manual.css); + +/* 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. + */ + + +h1 { + margin: 0 0 0.5em 0; +} + +/* the end */ diff --git a/docs/manual/style/css/manual.css b/docs/manual/style/css/manual.css new file mode 100644 index 0000000..57b5e7d --- /dev/null +++ b/docs/manual/style/css/manual.css @@ -0,0 +1,1048 @@ +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * manual.css + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* 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. + */ + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * mainframe ;-) + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +html { + font-size: 14px; +} + +body { + background-color: #fff; + color: #036; + padding: 0 1em 0 0; + margin: 0; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal; +} + +pre, code { + font-family: "Courier New", Courier, monospace; +} + +strong { + font-weight: bold; +} + +q, em, var { + font-style: italic; +} + +span.transnote, span.phonetic { + font-weight: normal; + background-color: inherit; + color: #888; +} + +/* fixup IE & Opera + * otherwise they forget to inherit + * the computed font-size value + */ +table, code { + font-size: 1em; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Links + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* normal links */ +/* ====================== */ +a:link { + color: #0073c7; + background-color: inherit; +} + +a:visited { + color: #5A88B5; + background-color: inherit; +} + +a:link:hover, +a:link:active, +a:visited:hover, +a:visited:active { + color: #0073c7; + background-color: #f0f0f0; +} + +/* hover on non-white backgrounds */ +tr.odd a:hover, +tr.odd a:active, +tr.header a:hover, +tr.header a:active, +div.note a:hover, +div.note a:active, +div.example a:hover, +div.example a:active, +div.warning a:hover, +div.warning a:active, +div#quickview a:hover, +div#quickview a:active { + background-color: #fff; + color: #0073c7; +} + +/* code.module [links] */ +/* ====================== */ +code.module, +code.module a:link { + color: #8b4513; + background-color: inherit; +} + +code.module a:visited { + color: #bc8f8f; + background-color: inherit; +} + +code.module a:hover, +code.module a:active { + color: #8b4513; + background-color: #f0f0f0; +} + +/* hover on non-white backgrounds */ +tr.odd code.module a:hover, +tr.odd code.module a:active, +tr.header code.module a:hover, +tr.header code.module a:active, +div.note code.module a:hover, +div.note code.module a:active, +div.example code.module a:hover, +div.example code.module a:active, +div.warning code.module a:hover, +div.warning code.module a:active, +div#quickview code.module a:hover, +div#quickview code.module a:active { + background-color: #fff; + color: #8b4513; +} + +/* code.directive [links] */ +/* ====================== */ +code.directive, +code.directive a:link { + color: #287f00; + background-color: inherit; +} + +code.directive a:visited { + color: #35a500; + background-color: inherit; +} + +code.directive a:hover, +code.directive a:active { + color: #287f00; + background-color: #f0f0f0; +} + +/* hover on non-white backgrounds */ +tr.odd code.directive a:hover, +tr.odd code.directive a:active, +tr.header code.directive a:hover, +tr.header code.directive a:active, +div.note code.directive a:hover, +div.note code.directive a:active, +div.example code.directive a:hover, +div.example code.directive a:active, +div.warning code.directive a:hover, +div.warning code.directive a:active, +div#quickview code.directive a:hover, +div#quickview code.directive a:active { + background-color: #fff; + color: #287f00; +} + +/* glossary [links] */ +/* ====================== */ +.glossarylink { + cursor: help; + border-bottom: 1px dashed #0073c7; + text-decoration: none; +} + + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Headings + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* h1 */ +/* ====================== */ +h1 { + padding: 0.2em; + margin: 0; + border: 1px solid #405871; + background-color: inherit; + color: #036; + text-decoration: none; + font-size: 22px; + font-weight: bold; +} + +/* h2 */ +/* ====================== */ +h2 { + padding: 0.2em 0 0.2em 0.7em; + margin: 0 0 0.5em 0; + text-decoration: none; + font-size: 18px; + font-weight: bold; +} + +.section h2 { + background-color: #405871; + color: #fff; +} + +.directive-section h2 { + background-color: #557697; + color: #fff; +} + +.category h2 { + background-color: #e5ecf3; + color: #405871; + font-size: 14px; +} + +/* take care of s inside */ +h2 a, +h2 a:hover, +h2 a:active { + color: inherit; + background-color: inherit; + text-decoration: none; +} + +/* h3, h4 */ +/* ====================== */ +h3 { + background-color: inherit; + color: #036; + text-decoration: none; + font-weight: bold; + font-size: 16px; + margin: 1.3em 0 0.4em 0; + padding: 0; +} + +h4 { + background-color: inherit; + color: #036; + text-decoration: none; + font-weight: bold; + font-size: 14px; + margin: 1.3em 0 0.2em 0; + padding: 0; +} + +/* margin adjustment */ +h3 + *, h4 + * { + margin-top: 0; +} + +/* IE confuses the + * :-( + * so reset some things + */ +ul, .section table, .directive-section table { + margin-bottom: 1em; +} + +/* titles for + * examples, notes and warnings + */ +div.example h3, +div.note h3, +div.warning h3 { + margin: 0 0 0.5em 0; + text-align: left; + font-size: 14px; +} + +/* sidebar */ +div#quickview h3 { + margin: 1em 0 0.3em 0.5em; + font-size: 15px; +} + +div#quickview h3.directives { + margin-top: 0.3em; +} + +/* take care of s inside */ +h3 a, +h3 a:hover, +h3 a:active, +h4 a, +h4 a:hover, +h4 a:active { + color: inherit; + background-color: inherit; + text-decoration: none; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Up & Top helper images + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* arrow left */ +/* ====================== */ +div.up { + width: 30px; + height: 20px; + padding: 0; + margin: -20px 0 1px 0; + text-align: center; + vertical-align: top; +} + +div.up img { + vertical-align: top; + width: 11px; + height: 11px; + border-style: none; +} + +/* arrow up (to page top) */ +/* ====================== */ +div.top { + width: 30px; + padding: 0 0 0 30px; + margin: 0; +} + +div.top img { + margin-top: 0.5em; + vertical-align: bottom; + width: 11px; + height: 11px; + border-style: none; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Tables + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* general */ +/* ====================== */ +table { + border: 1px solid #aaa; + border-collapse: collapse; + padding: 2px; + margin-top: 0.5em; + margin-bottom: 0; +} + +td, th { + empty-cells: show; /* show border around empty cells */ + padding: 0.1em 0.2em; + vertical-align: top; + text-align: left; + line-height: 1.3em; +} + +th { + font-weight: bold; +} + +td.centered { + text-align: center; +} + +td.data { + font-family: monospace; + text-align: right; + padding-left: 1em; +} + +th.data { + text-align: right; +} + +tr.odd { /* for large tables alternating colors */ + background-color: #f2f2f2; +} + +tr.header, tr.header th { + background-color: #e2e2e2; + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; +} + +/* bordered table cells */ +/* ====================== */ + +/* turn off borders in tables nested in + * bordered tables per default + */ +table.bordered table td, +table.bordered table th { + border-style: none; +} + +table.bordered td, +table.bordered th, +table table.bordered td, +table table.bordered th { + border: 1px solid #aaa; +} + +/* index page layout table */ +/* ======================= */ +body#index-page div#page-content { + width: 100%; /* IE fun */ +} + +body[id]#index-page div#page-content { + width: auto; /* reasonable browsers. */ +} + +table#indextable { + width: 100%; + border-collapse: collapse; + border: 0 none; +} + +table#indextable td { + width: 33.3%; + border-left: 1px solid #aaa; + padding-top: 0; + padding-bottom: 0; +} + +table#indextable td.col1 { + border-left: 0 none; + padding-left: 0; +} + +table#indextable td.col3 { + padding-right: 0; +} + +/* mod/dir. overview table and quick reference */ +/* ============================================ */ +table.module th, +table.directive th { + white-space: nowrap; +} + +table.qref { + border-collapse: collapse; + width: 100%; +} + +table.qref td { + border-style: none solid; + border-color: #aaa; + border-width: 1px; +} + +table.qref td.descr { + padding-left: 1em; + font-size: 13px; +} + +table#legend { + width: 100%; + border-style: none; + border-width: 0; + vertical-align: bottom; + padding: 0; + margin: 0; +} + +table#legend td { + vertical-align: bottom; + margin: 0; + padding: 0; +} + +table#legend td.letters { + width: 100%; + padding-bottom: 0.5em; +} + +table#legend table { + vertical-align: bottom; + margin: 0 0 0 0.4em; + padding: 0; + height: 7.5em; +} + +table#legend table td, +table#legend table th { + vertical-align: middle; + padding: 0.1ex 0.2em; + line-height: 1em; + white-space: nowrap; +} + +/* related modules & dir. */ +/* ====================== */ + +/* assuming, all links are enclosed by + * or + * + */ + +table.related { + border-collapse: separate; +} + +table.related th { + padding: 0.2ex 0.3em; + background-color: #e5ecf3; + color: #405871; + vertical-align: middle; +} + +table.related td { + padding: 0.2ex 0.3em; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Lists + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* list default values */ +/* ====================== */ +ul { + list-style-type: disc; +} + +ul ul { + list-style-type: square; +} + +ul ul ul { + list-style-type: circle; +} + +li, dt, dd { + line-height: 1.3em; +} + +dt { + margin-top: 0.5em; + font-weight: bold; +} + +ol li { + margin-top: 0.5em; +} + +ol.up-A { + list-style-type: upper-alpha; +} + +ol.lo-A { + list-style-type: lower-alpha; +} + +dd.separate { + margin-bottom: 2em; +} + +li.separate { + margin-bottom: 1em; +} + +/* table of contents */ +/* ====================== */ +#toc, +#topics { + margin: 0 0 1em 0; + padding: 0; +} + +#toc li, +#topics li { + list-style-type: none; + margin: 0; + padding: 0; +} + +/* see also */ +/* ====================== */ +.seealso { + margin: 0 0 1em 0; + padding: 0; +} + +.seealso li { + list-style-type: none; + margin: 0; + padding: 0 0 0 34px; +} + +/* related modules & dir. */ +/* ====================== */ +table.related td ul, +table.related td li { + list-style-type: none; + margin: 0; + padding: 0; +} + +/* list of all directives */ +/* ====================== */ +div#directive-list ul { + margin: 0; + padding: 0; +} + +/* override index */ +/* ============== */ +div#override-list td.module { + width: 20%; +} + +/* indextable */ +/* ========== */ +table#indextable td ul { + list-style-type: none; + margin: 0 0 1em 0.5em; + padding: 0 0 0 0; +} + +table#indextable td ul li { + margin-top: 0.3em; +} + +/* sidebar */ +/* ====================== */ +div#quickview li { + font-size: 13px; +} + +div#quickview ul { + margin: 0 0 15px 0; + padding: 0; +} + +div#quickview ul#toc { + margin: 0 0 0 0.5em; + padding: 0; +} + +#module-index div#quickview ul#toc, +#manual-page div#quickview ul#toc { + margin-left: 0; +} + +div#quickview ul#toc li { + margin: 0; + padding: 0; + list-style-type: none; +} + +div#quickview li img { + display: none; +} + +#module-index div#quickview ul#toc, +#manual-page div#quickview ul#toc, +div#quickview #topics, +div#quickview .seealso { + padding-left: 15px; +} + +#module-index div#quickview ul#toc li, +#manual-page div#quickview ul#toc li, +div#quickview #topics li, +div#quickview .seealso li { + margin: 0.4em 0 2px 0; + padding: 0; + list-style-type: square; + list-style-position: outside; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * main page sections + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* page header */ +/* ====================== */ +div#page-header { + margin-left: 30px; +} + +div#page-header img { + padding: 0; + display: block; + margin: -70px 0 1px 2em; + width: 248px; + height: 70px; +} + +div#quickview a.badge { + /* Temporary hack for the Support Apache badge */ + background-color: transparent; +} + +div#quickview a.badge img { + /* Temporary hack for the Support Apache badge */ + width: 95px; + height: 95px; +} + +div#page-header p.apache { + background-color: #405871; + color: #fff; + padding: 0 0 0 248px; + margin: 0; + text-align: center; + vertical-align: middle; + font-size: 16px; + font-weight: bold; + line-height: 29px; +} + +div#page-header p.menu { + text-align: right; + font-size: 13px; + margin: 30px 0 0.5em 0; + padding: 0; +} + +/* breadcrumb navigation */ +div#path { + margin: 0.2em 0 1.2em 30px; + padding: 0; + font-size: 13px; +} + +/* content sections */ +/* ====================== */ +div#preamble { + padding-bottom: 1em; + margin-left: 30px; +} + +div.section, +div.directive-section { + margin: -1.2em 0 0 60px; + padding: 0; +} + +.section p, +.directive-section p { + margin: 0 0 1em 0; + padding: 0; +} + +/* look for this on directive + * list pages + */ +div#directive-list { + margin-left: 30px; + padding: 0 0 1em 1em; +} + +div#directive-ref { + margin: -1em 0 0 0; + padding: 0 0 1em 30px; + width: 100%; /* IE is BAD (broken as designed) */ +} + +div[id]#directive-ref { /* a big sorry to ICab, Amaya (and old Konquerors?) */ + width: auto; /* other browsers are fine ;-) */ +} + +/* sidebar position: right */ +div#quickview { + position: absolute; + top: 5.5em; + right: 1em; + margin-left: 0; + margin-top: 40px; + padding: 4px; + width: 13.5em; + background-color: #f0f0f0; + color: inherit; +} + +/* -> move content left */ +div#page-content { + padding-top: 0; + margin-right: 13em; + padding-right: 30px; +} + +/* unsqueeze on some pages... */ +body.no-sidebar div#page-content, +body#index-page div#page-content { + margin-right: 0; + padding-right: 0; +} + +body#index-page div#page-content { + margin-left: 30px; + padding-bottom: 1em; +} + +/* in general */ +p { + line-height: 1.3em; +} + +/* translations */ +/* ====================== */ +.toplang { + padding: 0; + margin: 0.2em 0.2em 1em 0; +} + +.bottomlang { + padding: 0; + margin: 0 0.2em 0.2em 0; +} + +.toplang p, +.bottomlang p { + font-size: 13px; + text-align: right; + background-color: inherit; + color: #ccc; + margin: 0; + padding: 0; +} + +.toplang p span, +.bottomlang p span { + background-color: inherit; + color: #036; +} + +.toplang p a:link, +.toplang p a:visited, +.bottomlang p a:link, +.bottomlang p a:visited { + text-decoration: none; + font-weight: bold; +} + +.toplang p a:hover, +.toplang p a:active, +.bottomlang p a:hover, +.bottomlang p a:active { + font-weight: bold; +} + +/* page footer */ +/* ====================== */ +div#footer { + margin-left: 30px; + font-size: 13px; + border-top: 1px solid #405871; + padding-top: 0.2em; +} + +div#footer p.apache { + float: left; + text-align: left; + padding: 0 0 1em 0; + margin-top: 0; +} + +div#footer p.menu { + float: right; + text-align: right; + margin-top: 0; + padding: 0 0 1em 0; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * subsections (examples, notes, warnings) + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +/* examples */ +/* ====================== */ +div.example { + background-color: #e5ecf3; + color: #000; + padding: 0.5em; + margin: 1em 2em 1em 1em; +} + +/* example inside a note: + * blue in gray doesn't look good + * so simply draw a border around + * and keep it gray + */ +div.note div.example, +div.warning div.example { + border: 1px solid #aaa; + background-color: transparent; + color: inherit; + margin-right: 1em; +} + +/* example inside table */ +table div.example { + margin-right: 1em; +} + +/* the following [block] elements + * may appear inside example... + */ +div.example p, +div.example pre, +div.example table { + padding: 0; + margin: 0; +} + +div.example p { + line-height: 1em; +} + +div.example pre, +div.example p > code { + font-size: 13px; +} + +/* notes & warnings */ +/* ====================== */ +div.note, +div.warning { + background-color: #eee; + color: #036; + padding: 0.5em; + margin: 1em 2em 1em 1em; +} + +div.warning { + border: 1px solid #f00; +} + +div.note p, +div.warning p { + margin: 0.5em 0 0 0; + padding: 0; +} + +div.note pre, +div.warning pre { + font-size: 13px; +} + +/* inside table */ +table div.note, +table div.warning { + margin-right: 1em; +} + +div.outofdate, +div.retired{ + background-color: #ffffc0; + color: #036; + padding: 0.5em; + margin: 1em 2em 1em 1em; +} +div.retired{ + border: solid 1px #ff0000; + margin-left: 3em; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * quotations, indented paragraphs, forms and figures + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +p.letters { + margin: 1em 0 0 0; +} + +p.centered { + text-align: center; +} + +.letters { + text-align: center; + background-color: inherit; + color: #ccc; +} + +.letters a:link, +.letters a:visited { + text-decoration: none; + font-weight: bold; +} + +.letters a:hover, +.letters a:active { + font-weight: bold; +} + +blockquote p { + font-style: italic; + margin: 0; +} + +blockquote p.cite { + font-style: normal; + margin-top: 0; + margin-left: 2em; +} + +blockquote p.cite cite { + font-style: normal; +} + +p.indent { + margin-left: 2em; + margin-top: 1em; +} + +span.indent { + padding-left: 1.5em; + display: block; +} + +#index-page form { + text-align: center; +} + +#index-page form p { + line-height: 1.1em; +} + +#index-page form input { + font-size: 1em; +} + +p.figure { + margin-left: 2em; + font-style: italic; +} + +p.figure img { + border: 1px solid #aaa; +} + +p.figure dfn { + font-weight: bold; +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * -> The End <- + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ diff --git a/docs/manual/style/css/prettify.css b/docs/manual/style/css/prettify.css new file mode 100644 index 0000000..012a8e9 --- /dev/null +++ b/docs/manual/style/css/prettify.css @@ -0,0 +1,121 @@ +/* Pretty printing styles. Used with prettify.js. */ + +/* SPAN elements with the classes below are added by prettyprint. */ +.pln { color: #000 } /* plain text */ + +@media screen { + .str { color: #060 } /* string content */ + .kwd { color: #006 } /* a keyword */ + .com { color: #600 } /* a comment */ + .typ { color: #404 } /* a type name */ + .lit { color: #066 } /* a literal value */ + /* punctuation, lisp open bracket, lisp close bracket */ + .pun, .opn, .clo { color: #660 } + .tag { color: #008 } /* a markup tag name */ + .atn { color: #606 } /* a markup attribute name */ + .atv { color: #080 } /* a markup attribute value */ + .dec, .var { color: #606 } /* a declaration; a variable name */ + .fun { color: red } /* a function name */ +} + +/* Use higher contrast and text-weight for printable form. */ +@media print, projection { + .str { color: #060 } + .kwd { color: #006; font-weight: bold } + .com { color: #600; font-style: italic } + .typ { color: #404; font-weight: bold } + .lit { color: #044 } + .pun, .opn, .clo { color: #440 } + .tag { color: #006; font-weight: bold } + .atn { color: #404 } + .atv { color: #060 } +} + +/* Put a border around prettyprinted code snippets. */ +pre.prettyprint { padding: 2px; border: 1px solid #888; tab-size: 4; overflow: auto; overflow-y: hidden; } + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */ +li.L0, +li.L1, +li.L2, +li.L3, +li.L5, +li.L6, +li.L7, +li.L8 { list-style-type: none } +/* Alternate shading for lines */ +li.L1, +li.L3, +li.L5, +li.L7, +li.L9 { background: #eee } + + + +/* Highlighting style for Apache configuration files */ +pre.lang-config{ + background-color: #e5ecf3; + color: #000; + padding: 0.5em; + margin: 1em 2em 1em 1em; + border: none; +} +.lang-config .tag { color: #821; font-weight: bold } /* enclosures */ +.lang-config .kwd { color: #128; font-weight: bold } /* directives */ +.lang-config .com { color: #c46d34 } /* comments */ +.lang-config .lit { color: #077 } /* miscellaneous types: Options arguments, handler names etc */ + + + +/* Highlighting style for C source code */ +pre.lang-c{ + background-color: #f8f6ee; + color: #000; + padding: 0.5em; + margin: 1em 2em 1em 1em; + border: 1px dotted #666; +} + +.lang-c .com { color: #c46d34 } /* a comment */ +.lang-c .lit { color: #088 } /* a literal */ +.lang-c .str { color: #009606 } /* string content */ +.lang-c .kwd { color: #00C; font-weight: bold } /* a keyword */ +.lang-c .typ { color: #808 } /* a type name */ +.lang-c .tag { color: #248 } /* a markup tag name */ + + + + +/* Highlighting style for Lua source code */ +pre.lang-lua{ + background-color: #f8f6ee; + color: #000; + padding: 0.5em; + margin: 1em 2em 1em 1em; + border: 1px dotted #666; +} + +.lang-lua .com { color: #c34e00 } /* a comment */ +.lang-lua .lit { color: #088 } /* a literal (in this context; a known directive argument, a number or an IP address) */ +.lang-lua .str { color: #009606 } /* string content */ +.lang-lua .kwd { color: #00C; font-weight: bold } /* a keyword */ +.lang-lua .typ { color: #808 } /* a type name */ + + + + +/* Highlighting style for Perl source code */ +pre.lang-perl{ + background-color: #f8f6ee; + color: #000; + padding: 0.5em; + margin: 1em 2em 1em 1em; + border: 1px dotted #666; +} + +.lang-perl .com { color: #c34e00 } /* a comment */ +.lang-perl .lit { color: #088 } /* a literal */ +.lang-perl .str { color: #009606 } /* string content */ +.lang-perl .kwd { color: #00C; font-weight: bold } /* a keyword */ +.lang-perl .typ { color: #808 } /* a type name */ diff --git a/docs/manual/style/faq.dtd b/docs/manual/style/faq.dtd new file mode 100644 index 0000000..2285453 --- /dev/null +++ b/docs/manual/style/faq.dtd @@ -0,0 +1,36 @@ + + + + + +%common; + + + + + + + + + + + diff --git a/docs/manual/style/lang.dtd b/docs/manual/style/lang.dtd new file mode 100644 index 0000000..422313c --- /dev/null +++ b/docs/manual/style/lang.dtd @@ -0,0 +1,24 @@ + + + + + +%HTTPD-VERSION; + + + diff --git a/docs/manual/style/latex/atbeginend.sty b/docs/manual/style/latex/atbeginend.sty new file mode 100644 index 0000000..79b555d --- /dev/null +++ b/docs/manual/style/latex/atbeginend.sty @@ -0,0 +1,80 @@ +% atbeginend.sty +% +% 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. + +% defines +% \BeforeBegin{environment}{code-to-execute} +% \BeforeEnd {environment}{code-to-execute} +% \AfterBegin {environment}{code-to-execute} +% \AfterEnd {environment}{code-to-execute} +% +% Save \begin and \end to \BeginEnvironment and \EndEnvironment +\let\BeginEnvironment=\begin +\let\EndEnvironment=\end + +\def\IfUnDef#1{\expandafter\ifx\csname#1\endcsname\relax} + +% Null command needed to for \nothing{something}=.nothing. +\def\NullCom#1{} + +\def\begin#1{% +% +% if defined \BeforeBeg for this environment, execute it +\IfUnDef{BeforeBeg#1}\else\csname BeforeBeg#1\endcsname\fi% +% +% +% +\IfUnDef{AfterBeg#1}% This is done to skip the command for environments + % which can take arguments, like multicols; YOU MUST NOT + % USE \AfterBegin{...}{...} for such environments! + \let\SaveBegEng=\BeginEnvironment% +\else% + % Start this environment + \BeginEnvironment{#1}% + % and execute code after \begin{environment} + \csname AfterBeg#1\endcsname% + % + \let\SaveBegEng=\NullCom% +\fi% +\SaveBegEng{#1}% +} + + +\def\end#1{% +% +% execute code before \end{environment} +\IfUnDef{BeforeEnd#1}\else\csname BeforeEnd#1\endcsname\fi% +% +% close this environment +\EndEnvironment{#1}% +% +% and execute code after \begin{environment} +\IfUnDef{AfterEnd#1}\else\csname AfterEnd#1\endcsname\fi% +} + + +%% Now, define commands +% \BeforeBegin{environment}{code-to-execute} +% \BeforeEnd {environment}{code-to-execute} +% \AfterBegin {environment}{code-to-execute} +% \AfterEnd {environment}{code-to-execute} + +\def\BeforeBegin#1#2{\expandafter\gdef\csname BeforeBeg#1\endcsname +{#2}} +\def\BeforeEnd #1#2{\expandafter\gdef\csname BeforeEnd#1\endcsname +{#2}} +\def\AfterBegin #1#2{\expandafter\gdef\csname AfterBeg#1\endcsname {#2}} +\def\AfterEnd #1#2{\expandafter\gdef\csname AfterEnd#1\endcsname{#2}} diff --git a/docs/manual/style/manualpage.dtd b/docs/manual/style/manualpage.dtd new file mode 100644 index 0000000..e9c22a0 --- /dev/null +++ b/docs/manual/style/manualpage.dtd @@ -0,0 +1,29 @@ + + + + + +%common; + + + + + diff --git a/docs/manual/style/modulesynopsis.dtd b/docs/manual/style/modulesynopsis.dtd new file mode 100644 index 0000000..aa3d6ee --- /dev/null +++ b/docs/manual/style/modulesynopsis.dtd @@ -0,0 +1,92 @@ + + + + + +%sitemap; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/manual/style/scripts/MINIFY b/docs/manual/style/scripts/MINIFY new file mode 100644 index 0000000..2c1efc3 --- /dev/null +++ b/docs/manual/style/scripts/MINIFY @@ -0,0 +1,5 @@ +#!/bin/sh + +(echo '// see prettify.js for copyright, license and expanded version'; python -mrjsmin prettify.min.js + +# needs python and rjsmin installed diff --git a/docs/manual/style/scripts/prettify.js b/docs/manual/style/scripts/prettify.js new file mode 100644 index 0000000..c39f0a3 --- /dev/null +++ b/docs/manual/style/scripts/prettify.js @@ -0,0 +1,1622 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed 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. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + * + *

+ * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window, define */
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/**
    + * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    + * {@code class=prettyprint} and prettify them.
    + *
    + * @param {Function?} opt_whenDone if specified, called when the last entry
    + *     has been finished.
    + */
    +var prettyPrintOne;
    +/**
    + * Pretty print a chunk of code.
    + *
    + * @param {string} sourceCodeHtml code as html
    + * @return {string} code as html, but prettier
    + */
    +var prettyPrint;
    +
    +
    +(function () {
    +  var win = window;
    +  // Keyword lists for various languages.
    +  // We use things that coerce to strings to make them compact when minified
    +  // and to defeat aggressive optimizers that fold large string constants.
    +  var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
    +  var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," + 
    +      "double,enum,extern,float,goto,int,long,register,short,signed,sizeof,module," +
    +      "static,struct,switch,typedef,union,unsigned,void,volatile"];
    +  var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," +
    +      "new,operator,private,protected,public,this,throw,true,try,typeof"];
    +  var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," +
    +      "concept,concept_map,const_cast,constexpr,decltype," +
    +      "dynamic_cast,explicit,export,friend,inline,late_check," +
    +      "mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast," +
    +      "template,typeid,typename,using,virtual,where,request_req"];
    +  var JAVA_KEYWORDS = [COMMON_KEYWORDS,
    +      "abstract,boolean,byte,extends,final,finally,implements,import," +
    +      "instanceof,null,native,package,strictfp,super,synchronized,throws," +
    +      "transient"];
    +  var CSHARP_KEYWORDS = [JAVA_KEYWORDS,
    +      "as,base,by,checked,decimal,delegate,descending,dynamic,event," +
    +      "fixed,foreach,from,group,implicit,in,interface,internal,into,is,let," +
    +      "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," +
    +      "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," +
    +      "var,virtual,where"];
    +  var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," +
    +      "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," +
    +      "throw,true,try,unless,until,when,while,yes";
    +  var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS,
    +      "debugger,eval,export,function,get,null,set,undefined,var,with," +
    +      "Infinity,NaN"];
    +  var PERL_KEYWORDS = "caller,delete,die,do,dump,else,elsif,eval,exit,foreach,for," +
    +      "goto,if,import,last,local,my,next,no,our,print,printf,package,redo,require," +
    +      "sub,undef,unless,until,use,wantarray,while,BEGIN,END";
    +  var PHP_KEYWORDS = "abstract,and,array,as,break,case,catch,cfunction,class," +
    +      "clone,const,continue,declare,default,do,else,elseif,enddeclare,endfor," + 
    +      "endforeach,endif,endswitch,endwhile,extends,final,for,foreach,function," +
    +      "global,goto,if,implements,interface,instanceof,namespace,new,old_function," +
    +      "or,private,protected,public,static,switch,throw,try,use,var,while,xor," + 
    +      "die,echo,empty,exit,eval,include,include_once,isset,list,require," + 
    +      "require_once,return,print,unset";
    +  var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," +
    +      "elif,except,exec,finally,from,global,import,in,is,lambda," +
    +      "nonlocal,not,or,pass,print,raise,try,with,yield," +
    +      "False,True,None"];
    +  var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," +
    +      "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," +
    +      "rescue,retry,self,super,then,true,undef,unless,until,when,yield," +
    +      "BEGIN,END"];
    +  var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," +
    +      "function,in,local,set,then,until,echo"];
    +  var CONFIG_ENVS = ["User-Agent,HTTP_USER_AGENT,HTTP_REFERER,HTTP_COOKIE,HTTP_FORWARDED,HTTP_HOST,HTTP_PROXY_CONNECTION,HTTP_ACCEPT,REMOTE_ADDR,REMOTE_HOST,REMOTE_PORT,REMOTE_USER,REMOTE_IDENT,REQUEST_METHOD,SCRIPT_FILENAME,PATH_INFO,QUERY_STRING,AUTH_TYPE,DOCUMENT_ROOT,SERVER_ADMIN,SERVER_NAME,SERVER_ADDR,SERVER_PORT,SERVER_PROTOCOL,SERVER_SOFTWARE,TIME_YEAR,TIME_MON,TIME_DAY,TIME_HOUR,TIME_MIN,TIME_SEC,TIME_WDAY,TIME,API_VERSION,THE_REQUEST,REQUEST_URI,REQUEST_FILENAME,IS_SUBREQ,HTTPS,REQUEST_SCHEME"];
    +  var CONFIG_KEYWORDS = ["AcceptFilter,AcceptPathInfo,AccessFileName,Action,AddAlt,AddAltByEncoding,AddAltByType,AddCharset,AddDefaultCharset,AddDescription,AddEncoding,AddHandler,AddIcon,AddIconByEncoding,AddIconByType,AddInputFilter,AddLanguage,AddModuleInfo,AddOutputFilter,AddOutputFilterByType,AddType,Alias,AliasMatch,Allow,AllowCONNECT,AllowEncodedSlashes,AllowMethods,AllowOverride,AllowOverrideList,Anonymous,Anonymous_LogEmail,Anonymous_MustGiveEmail,Anonymous_NoUserID,Anonymous_VerifyEmail,AsyncRequestWorkerFactor,AuthBasicAuthoritative,AuthBasicFake,AuthBasicProvider,AuthBasicUseDigestAlgorithm,AuthDBDUserPWQuery,AuthDBDUserRealmQuery,AuthDBMGroupFile,AuthDBMType,AuthDBMUserFile,AuthDigestAlgorithm,AuthDigestDomain,AuthDigestNonceLifetime,AuthDigestProvider,AuthDigestQop,AuthDigestShmemSize,AuthFormAuthoritative,AuthFormBody,AuthFormDisableNoStore,AuthFormFakeBasicAuth,AuthFormLocation,AuthFormLoginRequiredLocation,AuthFormLoginSuccessLocation,AuthFormLogoutLocation,AuthFormMethod,AuthFormMimetype,AuthFormPassword,AuthFormProvider,AuthFormSitePassphrase,AuthFormSize,AuthFormUsername,AuthGroupFile,AuthLDAPAuthorizePrefix,AuthLDAPBindAuthoritative,AuthLDAPBindDN,AuthLDAPBindPassword,AuthLDAPCharsetConfig,AuthLDAPCompareAsUser,AuthLDAPCompareDNOnServer,AuthLDAPDereferenceAliases,AuthLDAPGroupAttribute,AuthLDAPGroupAttributeIsDN,AuthLDAPInitialBindAsUser,AuthLDAPInitialBindPattern,AuthLDAPMaxSubGroupDepth,AuthLDAPRemoteUserAttribute,AuthLDAPRemoteUserIsDN,AuthLDAPSearchAsUser,AuthLDAPSubGroupAttribute,AuthLDAPSubGroupClass,AuthLDAPURL,AuthMerging,AuthName,AuthnCacheContext,AuthnCacheEnable,AuthnCacheProvideFor,AuthnCacheSOCache,AuthnCacheTimeout,<AuthnProviderAlias>,AuthnzFcgiCheckAuthnProvider,AuthnzFcgiDefineProvider,AuthType,AuthUserFile,AuthzDBDLoginToReferer,AuthzDBDQuery,AuthzDBDRedirectQuery,AuthzDBMType,<AuthzProviderAlias>,AuthzSendForbiddenOnFailure,BalancerGrowth,BalancerInherit,BalancerMember,BalancerPersist,BrotliAlterETag,BrotliCompressionMaxInputBlock,BrotliCompressionQuality,BrotliCompressionWindow,BrotliFilterNote,BrowserMatch,BrowserMatchNoCase,BufferedLogs,BufferSize,CacheDefaultExpire,CacheDetailHeader,CacheDirLength,CacheDirLevels,CacheDisable,CacheEnable,CacheFile,CacheHeader,CacheIgnoreCacheControl,CacheIgnoreHeaders,CacheIgnoreNoLastMod,CacheIgnoreQueryString,CacheIgnoreURLSessionIdentifiers,CacheKeyBaseURL,CacheLastModifiedFactor,CacheLock,CacheLockMaxAge,CacheLockPath,CacheMaxExpire,CacheMaxFileSize,CacheMinExpire,CacheMinFileSize,CacheNegotiatedDocs,CacheQuickHandler,CacheReadSize,CacheReadTime,CacheRoot,CacheSocache,CacheSocacheMaxSize,CacheSocacheMaxTime,CacheSocacheMinTime,CacheSocacheReadSize,CacheSocacheReadTime,CacheStaleOnError,CacheStoreExpired,CacheStoreNoStore,CacheStorePrivate,CGIDScriptTimeout,CGIMapExtension,CGIPassAuth,CGIVar,CharsetDefault,CharsetOptions,CharsetSourceEnc,CheckCaseOnly,CheckSpelling,ChrootDir,ContentDigest,CookieDomain,CookieExpires,CookieName,CookieStyle,CookieTracking,CoreDumpDirectory,CustomLog,Dav,DavDepthInfinity,DavGenericLockDB,DavLockDB,DavMinTimeout,DBDExptime,DBDInitSQL,DBDKeep,DBDMax,DBDMin,DBDParams,DBDPersist,DBDPrepareSQL,DBDriver,DefaultIcon,DefaultLanguage,DefaultRuntimeDir,DefaultType,Define,DeflateBufferSize,DeflateCompressionLevel,DeflateFilterNote,DeflateInflateLimitRequestBody,DeflateInflateRatioBurst,DeflateInflateRatioLimit,DeflateMemLevel,DeflateWindowSize,Deny,<Directory>,DirectoryCheckHandler,DirectoryIndex,DirectoryIndexRedirect,<DirectoryMatch>,DirectorySlash,DocumentRoot,DTracePrivileges,DumpIOInput,DumpIOOutput,<Else>,<ElseIf>,EnableExceptionHook,EnableMMAP,EnableSendfile,Error,ErrorDocument,ErrorLog,ErrorLogFormat,Example,ExpiresActive,ExpiresByType,ExpiresDefault,ExtendedStatus,ExtFilterDefine,ExtFilterOptions,FallbackResource,FileETag,<Files>,<FilesMatch>,FilterChain,FilterDeclare,FilterProtocol,FilterProvider,FilterTrace,ForceLanguagePriority,ForceType,ForensicLog,GlobalLog,GprofDir,GracefulShutdownTimeout,Group,H2CopyFiles,H2Direct,H2EarlyHints,H2MaxSessionStreams,H2MaxWorkerIdleSeconds,H2MaxWorkers,H2MinWorkers,H2ModernTLSOnly,H2Padding,H2Push,H2PushDiarySize,H2PushPriority,H2PushResource,H2SerializeHeaders,H2StreamMaxMemSize,H2TLSCoolDownSecs,H2TLSWarmUpSize,H2Upgrade,H2WindowSize,Header,HeaderName,HeartbeatAddress,HeartbeatListen,HeartbeatMaxServers,HeartbeatStorage,HeartbeatStorage,HostnameLookups,HttpProtocolOptions,IdentityCheck,IdentityCheckTimeout,<If>,<IfDefine>,<IfDirective>,<IfFile>,<IfModule>,<IfSection>,<IfVersion>,ImapBase,ImapDefault,ImapMenu,Include,IncludeOptional,IndexHeadInsert,IndexIgnore,IndexIgnoreReset,IndexOptions,IndexOrderDefault,IndexStyleSheet,InputSed,ISAPIAppendLogToErrors,ISAPIAppendLogToQuery,ISAPICacheFile,ISAPIFakeAsync,ISAPILogNotSupported,ISAPIReadAheadBuffer,KeepAlive,KeepAliveTimeout,KeptBodySize,LanguagePriority,LDAPCacheEntries,LDAPCacheTTL,LDAPConnectionPoolTTL,LDAPConnectionTimeout,LDAPLibraryDebug,LDAPOpCacheEntries,LDAPOpCacheTTL,LDAPReferralHopLimit,LDAPReferrals,LDAPRetries,LDAPRetryDelay,LDAPSharedCacheFile,LDAPSharedCacheSize,LDAPTimeout,LDAPTrustedClientCert,LDAPTrustedGlobalCert,LDAPTrustedMode,LDAPVerifyServerCert,<Limit>,<LimitExcept>,LimitInternalRecursion,LimitRequestBody,LimitRequestFields,LimitRequestFieldSize,LimitRequestLine,LimitXMLRequestBody,Listen,ListenBackLog,ListenCoresBucketsRatio,LoadFile,LoadModule,<Location>,<LocationMatch>,LogFormat,LogIOTrackTTFB,LogLevel,LogMessage,LuaAuthzProvider,LuaCodeCache,LuaHookAccessChecker,LuaHookAuthChecker,LuaHookCheckUserID,LuaHookFixups,LuaHookInsertFilter,LuaHookLog,LuaHookMapToStorage,LuaHookTranslateName,LuaHookTypeChecker,LuaInherit,LuaInputFilter,LuaMapHandler,LuaOutputFilter,LuaPackageCPath,LuaPackagePath,LuaQuickHandler,LuaRoot,LuaScope,<Macro>,MaxConnectionsPerChild,MaxKeepAliveRequests,MaxMemFree,MaxRangeOverlaps,MaxRangeReversals,MaxRanges,MaxRequestWorkers,MaxSpareServers,MaxSpareThreads,MaxThreads,MDBaseServer,MDCAChallenges,MDCertificateAgreement,MDCertificateAuthority,MDCertificateFile,MDCertificateKeyFile,MDCertificateProtocol,MDCertificateStatus,MDChallengeDns01,MDDriveMode,MDHttpProxy,MDMember,MDMembers,MDMessageCmd,MDMustStaple,MDNotifyCmd,MDomain,<MDomainSet>,MDPortMap,MDPrivateKeys,MDRenewMode,MDRenewWindow,MDRequireHttps,MDServerStatus,MDStoreDir,MDWarnWindow,MemcacheConnTTL,MergeSlashes,MergeTrailers,MetaDir,MetaFiles,MetaSuffix,MimeMagicFile,MinSpareServers,MinSpareThreads,MMapFile,ModemStandard,ModMimeUsePathInfo,MultiviewsMatch,Mutex,NameVirtualHost,NoProxy,NWSSLTrustedCerts,NWSSLUpgradeable,Options,Order,OutputSed,PassEnv,PidFile,PrivilegesMode,Protocol,ProtocolEcho,Protocols,ProtocolsHonorOrder,<Proxy>,Proxy100Continue,ProxyAddHeaders,ProxyBadHeader,ProxyBlock,ProxyDomain,ProxyErrorOverride,ProxyExpressDBMFile,ProxyExpressDBMType,ProxyExpressEnable,ProxyFCGIBackendType,ProxyFCGISetEnvIf,ProxyFtpDirCharset,ProxyFtpEscapeWildcards,ProxyFtpListOnWildcard,ProxyHCExpr,ProxyHCTemplate,ProxyHCTPsize,ProxyHTMLBufSize,ProxyHTMLCharsetOut,ProxyHTMLDocType,ProxyHTMLEnable,ProxyHTMLEvents,ProxyHTMLExtended,ProxyHTMLFixups,ProxyHTMLInterp,ProxyHTMLLinks,ProxyHTMLMeta,ProxyHTMLStripComments,ProxyHTMLURLMap,ProxyIOBufferSize,<ProxyMatch>,ProxyMaxForwards,ProxyPass,ProxyPassInherit,ProxyPassInterpolateEnv,ProxyPassMatch,ProxyPassReverse,ProxyPassReverseCookieDomain,ProxyPassReverseCookiePath,ProxyPreserveHost,ProxyReceiveBufferSize,ProxyRemote,ProxyRemoteMatch,ProxyRequests,ProxySCGIInternalRedirect,ProxySCGISendfile,ProxySet,ProxySourceAddress,ProxyStatus,ProxyTimeout,ProxyVia,QualifyRedirectURL,ReadmeName,ReceiveBufferSize,Redirect,RedirectMatch,RedirectPermanent,RedirectTemp,RedisConnPoolTTL,RedisTimeout,ReflectorHeader,RegexDefaultOptions,RegisterHttpMethod,RemoteIPHeader,RemoteIPInternalProxy,RemoteIPInternalProxyList,RemoteIPProxiesHeader,RemoteIPProxyProtocol,RemoteIPProxyProtocolExceptions,RemoteIPTrustedProxy,RemoteIPTrustedProxyList,RemoveCharset,RemoveEncoding,RemoveHandler,RemoveInputFilter,RemoveLanguage,RemoveOutputFilter,RemoveType,RequestHeader,RequestReadTimeout,Require,<RequireAll>,<RequireAny>,<RequireNone>,RewriteBase,RewriteCond,RewriteEngine,RewriteMap,RewriteOptions,RewriteRule,RLimitCPU,RLimitMEM,RLimitNPROC,Satisfy,ScoreBoardFile,Script,ScriptAlias,ScriptAliasMatch,ScriptInterpreterSource,ScriptLog,ScriptLogBuffer,ScriptLogLength,ScriptSock,SecureListen,SeeRequestTail,SendBufferSize,ServerAdmin,ServerAlias,ServerLimit,ServerName,ServerPath,ServerRoot,ServerSignature,ServerTokens,Session,SessionCookieName,SessionCookieName2,SessionCookieRemove,SessionCryptoCipher,SessionCryptoDriver,SessionCryptoPassphrase,SessionCryptoPassphraseFile,SessionDBDCookieName,SessionDBDCookieName2,SessionDBDCookieRemove,SessionDBDDeleteLabel,SessionDBDInsertLabel,SessionDBDPerUser,SessionDBDSelectLabel,SessionDBDUpdateLabel,SessionEnv,SessionExclude,SessionExpiryUpdateInterval,SessionHeader,SessionInclude,SessionMaxAge,SetEnv,SetEnvIf,SetEnvIfExpr,SetEnvIfNoCase,SetHandler,SetInputFilter,SetOutputFilter,SSIEndTag,SSIErrorMsg,SSIETag,SSILastModified,SSILegacyExprParser,SSIStartTag,SSITimeFormat,SSIUndefinedEcho,SSLCACertificateFile,SSLCACertificatePath,SSLCADNRequestFile,SSLCADNRequestPath,SSLCARevocationCheck,SSLCARevocationFile,SSLCARevocationPath,SSLCertificateChainFile,SSLCertificateFile,SSLCertificateKeyFile,SSLCipherSuite,SSLCompression,SSLCryptoDevice,SSLEngine,SSLFIPS,SSLHonorCipherOrder,SSLInsecureRenegotiation,SSLOCSPDefaultResponder,SSLOCSPEnable,SSLOCSPNoverify,SSLOCSPOverrideResponder,SSLOCSPProxyURL,SSLOCSPResponderCertificateFile,SSLOCSPResponderTimeout,SSLOCSPResponseMaxAge,SSLOCSPResponseTimeSkew,SSLOCSPUseRequestNonce,SSLOpenSSLConfCmd,SSLOptions,SSLPassPhraseDialog,SSLProtocol,SSLProxyCACertificateFile,SSLProxyCACertificatePath,SSLProxyCARevocationCheck,SSLProxyCARevocationFile,SSLProxyCARevocationPath,SSLProxyCheckPeerCN,SSLProxyCheckPeerExpire,SSLProxyCheckPeerName,SSLProxyCipherSuite,SSLProxyEngine,SSLProxyMachineCertificateChainFile,SSLProxyMachineCertificateFile,SSLProxyMachineCertificatePath,SSLProxyProtocol,SSLProxyVerify,SSLProxyVerifyDepth,SSLRandomSeed,SSLRenegBufferSize,SSLRequire,SSLRequireSSL,SSLSessionCache,SSLSessionCacheTimeout,SSLSessionTicketKeyFile,SSLSessionTickets,SSLSRPUnknownUserSeed,SSLSRPVerifierFile,SSLStaplingCache,SSLStaplingErrorCacheTimeout,SSLStaplingFakeTryLater,SSLStaplingForceURL,SSLStaplingResponderTimeout,SSLStaplingResponseMaxAge,SSLStaplingResponseTimeSkew,SSLStaplingReturnResponderErrors,SSLStaplingStandardCacheTimeout,SSLStrictSNIVHostCheck,SSLUserName,SSLUseStapling,SSLVerifyClient,SSLVerifyDepth,StartServers,StartThreads,Substitute,SubstituteInheritBefore,SubstituteMaxLineLength,Suexec,SuexecUserGroup,ThreadLimit,ThreadsPerChild,ThreadStackSize,TimeOut,TraceEnable,TransferLog,TypesConfig,UnDefine,UndefMacro,UnsetEnv,Use,UseCanonicalName,UseCanonicalPhysicalPort,User,UserDir,VHostCGIMode,VHostCGIPrivs,VHostGroup,VHostPrivs,VHostSecure,VHostUser,VirtualDocumentRoot,VirtualDocumentRootIP,<VirtualHost>,VirtualScriptAlias,VirtualScriptAliasIP,WatchdogInterval,XBitHack,xml2EncAlias,xml2EncDefault,xml2StartParse"];
    +  var CONFIG_OPTIONS = /^[\\+\\-]?(AuthConfig|IncludesNOEXEC|ExecCGI|FollowSymLinks|MultiViews|Includes|Indexes|SymLinksIfOwnerMatch)\b/i;
    +  var ALL_KEYWORDS = [
    +      CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS +
    +      PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS, CONFIG_KEYWORDS, PHP_KEYWORDS];
    +  var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float|char|void|const|static|struct)\d*(_t)?\b)|[a-z_]+_rec|cmd_parms\b/;
    +
    +  // token style names.  correspond to css classes
    +  /**
    +   * token style for a string literal
    +   * @const
    +   */
    +  var PR_STRING = 'str';
    +  /**
    +   * token style for a keyword
    +   * @const
    +   */
    +  var PR_KEYWORD = 'kwd';
    +  /**
    +   * token style for a comment
    +   * @const
    +   */
    +  var PR_COMMENT = 'com';
    +  /**
    +   * token style for a type
    +   * @const
    +   */
    +  var PR_TYPE = 'typ';
    +  /**
    +   * token style for a literal value.  e.g. 1, null, true.
    +   * @const
    +   */
    +  var PR_LITERAL = 'lit';
    +  /**
    +   * token style for a punctuation string.
    +   * @const
    +   */
    +  var PR_PUNCTUATION = 'pun';
    +  /**
    +   * token style for plain text.
    +   * @const
    +   */
    +  var PR_PLAIN = 'pln';
    +
    +  /**
    +   * token style for an sgml tag.
    +   * @const
    +   */
    +  var PR_TAG = 'tag';
    +  /**
    +   * token style for a markup declaration such as a DOCTYPE.
    +   * @const
    +   */
    +  var PR_DECLARATION = 'dec';
    +  /**
    +   * token style for embedded source.
    +   * @const
    +   */
    +  var PR_SOURCE = 'src';
    +  /**
    +   * token style for an sgml attribute name.
    +   * @const
    +   */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /**
    +   * token style for an sgml attribute value.
    +   * @const
    +   */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   * @const
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +
    +
    +/**
    + * A set of tokens that can precede a regular expression literal in
    + * javascript
    + * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html
    + * has the full list, but I've removed ones that might be problematic when
    + * seen in languages that don't support regular expression literals.
    + *
    + * <p>Specifically, I've removed any keywords that can't precede a regexp
    + * literal in a syntactically legal javascript program, and I've removed the
    + * "in" keyword since it's not a keyword in many languages, and might be used
    + * as a count of inches.
    + *
    + * <p>The link above does not accurately describe EcmaScript rules since
    + * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    + * very well in practice.
    + *
    + * @private
    + * @const
    + */
    +var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
    +
    +// CAVEAT: this does not properly handle the case where a regular
    +// expression immediately follows another since a regular expression may
    +// have flags for case-sensitivity and the like.  Having regexp tokens
    +// adjacent is not valid in any language I'm aware of, so I'm punting.
    +// TODO: maybe style special characters inside a regexp as punctuation.
    +
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union of the sets of strings matched by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +  
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +  
    +    var escapeCharToCodeUnit = {
    +      'b': 8,
    +      't': 9,
    +      'n': 0xa,
    +      'v': 0xb,
    +      'f': 0xc,
    +      'r': 0xd
    +    };
    +  
    +    function decodeEscape(charsetPart) {
    +      var cc0 = charsetPart.charCodeAt(0);
    +      if (cc0 !== 92 /* \\ */) {
    +        return cc0;
    +      }
    +      var c1 = charsetPart.charAt(1);
    +      cc0 = escapeCharToCodeUnit[c1];
    +      if (cc0) {
    +        return cc0;
    +      } else if ('0' <= c1 && c1 <= '7') {
    +        return parseInt(charsetPart.substring(1), 8);
    +      } else if (c1 === 'u' || c1 === 'x') {
    +        return parseInt(charsetPart.substring(2), 16);
    +      } else {
    +        return charsetPart.charCodeAt(1);
    +      }
    +    }
    +  
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      return (ch === '\\' || ch === '-' || ch === ']' || ch === '^')
    +          ? "\\" + ch : ch;
    +    }
    +  
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +  
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +  
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        if (/\\[bdsw]/i.test(p)) {  // Don't muck with named groups.
    +          out.push(p);
    +        } else {
    +          var start = decodeEscape(p);
    +          var end;
    +          if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +            end = decodeEscape(charsetParts[i + 2]);
    +            i += 2;
    +          } else {
    +            end = start;
    +          }
    +          ranges.push([start, end]);
    +          // If the range might intersect letters, then expand it.
    +          // This case handling is too simplistic.
    +          // It does not deal with non-latin case folding.
    +          // It works for latin source code identifiers though.
    +          if (!(end < 65 || start > 122)) {
    +            if (!(end < 65 || start > 90)) {
    +              ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +            }
    +            if (!(end < 97 || start > 122)) {
    +              ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +            }
    +          }
    +        }
    +      }
    +  
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +  
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +  
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/end of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +  
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +  
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue) {
    +            if (decimalValue <= groupIndex) {
    +              capturedGroups[decimalValue] = -1;
    +            } else {
    +              // Replace with an unambiguous escape sequence so that
    +              // an octal escape sequence does not turn into a backreference
    +              // to a capturing group from an earlier regex.
    +              parts[i] = encodeEscape(decimalValue);
    +            }
    +          }
    +        }
    +      }
    +  
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (!capturedGroups[groupIndex]) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[decimalValue];
    +          }
    +        }
    +      }
    +  
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +  
    +      // Expand letters to groups to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +  
    +      return parts.join('');
    +    }
    +  
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +  
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +
    +  /**
    +   * Split markup into a string of source code and an array mapping ranges in
    +   * that string to the text nodes in which they appear.
    +   *
    +   * <p>
    +   * The HTML DOM structure:</p>
    +   * <pre>
    +   * (Element   "p"
    +   *   (Element "b"
    +   *     (Text  "print "))       ; #1
    +   *   (Text    "'Hello '")      ; #2
    +   *   (Element "br")            ; #3
    +   *   (Text    "  + 'World';")) ; #4
    +   * </pre>
    +   * <p>
    +   * corresponds to the HTML
    +   * {@code <p><b>print </b>'Hello '<br>  + 'World';</p>}.</p>
    +   *
    +   * <p>
    +   * It will produce the output:</p>
    +   * <pre>
    +   * {
    +   *   sourceCode: "print 'Hello '\n  + 'World';",
    +   *   //                     1          2
    +   *   //           012345678901234 5678901234567
    +   *   spans: [0, #1, 6, #2, 14, #3, 15, #4]
    +   * }
    +   * </pre>
    +   * <p>
    +   * where #1 is a reference to the {@code "print "} text node above, and so
    +   * on for the other text nodes.
    +   * </p>
    +   *
    +   * <p>
    +   * The {@code} spans array is an array of pairs.  Even elements are the start
    +   * indices of substrings, and odd elements are the text nodes (or BR elements)
    +   * that contain the text for those substrings.
    +   * Substrings continue until the next index or the end of the source.
    +   * </p>
    +   *
    +   * @param {Node} node an HTML DOM subtree containing source-code.
    +   * @param {boolean} isPreformatted true if white-space in text nodes should
    +   *    be considered significant.
    +   * @return {Object} source code and the text nodes in which they occur.
    +   */
    +  function extractSourceSpans(node, isPreformatted) {
    +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    +  
    +    var chunks = [];
    +    var length = 0;
    +    var spans = [];
    +    var k = 0;
    +  
    +    function walk(node) {
    +      switch (node.nodeType) {
    +        case 1:  // Element
    +          if (nocode.test(node.className)) { return; }
    +          for (var child = node.firstChild; child; child = child.nextSibling) {
    +            walk(child);
    +          }
    +          var nodeName = node.nodeName.toLowerCase();
    +          if ('br' === nodeName || 'li' === nodeName) {
    +            chunks[k] = '\n';
    +            spans[k << 1] = length++;
    +            spans[(k++ << 1) | 1] = node;
    +          }
    +          break;
    +        case 3: case 4:  // Text
    +          var text = node.nodeValue;
    +          if (text.length) {
    +            if (!isPreformatted) {
    +              text = text.replace(/[ \t\r\n]+/g, ' ');
    +            } else {
    +              text = text.replace(/\r\n?/g, '\n');  // Normalize newlines.
    +              text = text.replace(/^(\r?\n\s*)+/g, '');  // Remove leading newlines
    +              text = text.replace(/^\s*/g, '');  // Remove leading spaces due to indented formatting
    +              text = text.replace(/(\r?\n\s*)+$/g, '');  // Remove ending newlines
    +              
    +            }
    +            // TODO: handle tabs here?
    +            chunks[k] = text;
    +            spans[k << 1] = length;
    +            length += text.length;
    +            spans[(k++ << 1) | 1] = node;
    +          }
    +          break;
    +      }
    +    }
    +  
    +    walk(node);
    +  
    +    return {
    +      sourceCode: chunks.join('').replace(/\n$/, ''),
    +      spans: spans
    +    };
    +  }
    +
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      sourceCode: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  var notWs = /\S/;
    +
    +  /**
    +   * Given an element, if it contains only one child element and any text nodes
    +   * it contains contain only space characters, return the sole child element.
    +   * Otherwise returns undefined.
    +   * <p>
    +   * This is meant to return the CODE element in {@code <pre><code ...>} when
    +   * there is a single child element that contains all the non-space textual
    +   * content, but not to return anything where there are multiple child elements
    +   * as in {@code <pre><code>...</code><code>...</code></pre>} or when there
    +   * is textual content.
    +   */
    +  function childContentWrapper(element) {
    +    var wrapper = undefined;
    +    for (var c = element.firstChild; c; c = c.nextSibling) {
    +      var type = c.nodeType;
    +      wrapper = (type === 1)  // Element Node
    +          ? (wrapper ? element : c)
    +          : (type === 3)  // Text Node
    +          ? (notWs.test(c.nodeValue) ? element : wrapper)
    +          : wrapper;
    +    }
    +    return wrapper === element ? undefined : wrapper;
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, guarantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +
    +    /**
    +     * Lexes job.sourceCode and produces an output array job.decorations of
    +     * style classes preceded by the position at which they start in
    +     * job.sourceCode in order.
    +     *
    +     * @param {Object} job an object like <pre>{
    +     *    sourceCode: {string} sourceText plain text,
    +     *    basePos: {int} position of job.sourceCode in the larger chunk of
    +     *        sourceCode.
    +     * }</pre>
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.sourceCode, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    var hc = options['hashComments'];
    +    if (hc) {
    +      if (options['cStyleComments']) {
    +        if (hc > 1) {  // multiline hash comments
    +          shortcutStylePatterns.push(
    +              [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
    +        } else {
    +          // Stop C preprocessor declarations at an unclosed open comment
    +          shortcutStylePatterns.push(
    +              [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +               null, '#']);
    +        }
    +        // #include <stdio.h>
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    if (options['regexLiterals']) {
    +      /**
    +       * @const
    +       */
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C]'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C[\\s\\S]'
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var types = options['types'];
    +    if (types) {
    +      fallthroughStylePatterns.push([PR_TYPE, types]);
    +    }
    +
    +    if (options['strings']) {
    +        var strings = ("" + options['strings']).replace(/^ | $/g, '').replace(/-/g, '\\-');
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +            new RegExp('(?:' + strings.replace(/[\s,]+/g, '|') + ')'),
    +            , null]
    +        );
    +    }
    +    
    +    var keywords = ("" + options['keywords']).replace(/^ | $/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/[\s,]+/g, '|') + ')\\b'),
    +           null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +    if (options['httpdComments']) {
    +        fallthroughStylePatterns.push(
    +            [PR_PLAIN,     /^.*\S.*#/i, null]
    +        );
    +    }
    +    
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*|\bNULL\b/i, null],
    +        [PR_LITERAL,     CONFIG_OPTIONS, null],
    +        //[PR_STRING,     CONFIG_ENVS, null],
    +        [PR_TAG,     /^\b(AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfDirective|IfFile|IfModule|IfSection|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|MDomainSet|Proxy|ProxyMatch|RequireAll|RequireAny|RequireNone|VirtualHost)\b/, null],
    +        [PR_TYPE,        /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_(t|req|module)\b)/, null],
    +        [PR_TAG,     /^apr_[a-z_0-9]+|ap_[a-z_0-9]+/i, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9\-]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // An IPv6 Address
    +             + '|[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        // Don't treat escaped quotes in bash as starting strings.  See issue 144.
    +        [PR_PLAIN,       /^\\[\s\S]?/, null],
    +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /**
    +   * Given a DOM subtree, wraps it in a list, and puts each line into its own
    +   * list item.
    +   *
    +   * @param {Node} node modified in place.  Its content is pulled into an
    +   *     HTMLOListElement, and each line is moved into a separate list item.
    +   *     This requires cloning elements, so the input might not have unique
    +   *     IDs after numbering.
    +   * @param {boolean} isPreformatted true iff white-space in text nodes should
    +   *     be treated as significant.
    +   */
    +  function numberLines(node, opt_startLineNum, isPreformatted) {
    +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    +    var lineBreak = /\r\n?|\n/;
    +  
    +    var document = node.ownerDocument;
    +  
    +    var li = document.createElement('li');
    +    while (node.firstChild) {
    +      li.appendChild(node.firstChild);
    +    }
    +    // An array of lines.  We split below, so this is initialized to one
    +    // un-split line.
    +    var listItems = [li];
    +  
    +    function walk(node) {
    +      switch (node.nodeType) {
    +        case 1:  // Element
    +          if (nocode.test(node.className)) { break; }
    +          if ('br' === node.nodeName) {
    +            breakAfter(node);
    +            // Discard the <BR> since it is now flush against a </LI>.
    +            if (node.parentNode) {
    +              node.parentNode.removeChild(node);
    +            }
    +          } else {
    +            for (var child = node.firstChild; child; child = child.nextSibling) {
    +              walk(child);
    +            }
    +          }
    +          break;
    +        case 3: case 4:  // Text
    +          if (isPreformatted) {
    +            var text = node.nodeValue;
    +            var match = text.match(lineBreak);
    +            if (match) {
    +              var firstLine = text.substring(0, match.index);
    +              node.nodeValue = firstLine;
    +              var tail = text.substring(match.index + match[0].length);
    +              if (tail) {
    +                var parent = node.parentNode;
    +                parent.insertBefore(
    +                    document.createTextNode(tail), node.nextSibling);
    +              }
    +              breakAfter(node);
    +              if (!firstLine) {
    +                // Don't leave blank text nodes in the DOM.
    +                node.parentNode.removeChild(node);
    +              }
    +            }
    +          }
    +          break;
    +      }
    +    }
    +  
    +    // Split a line after the given node.
    +    function breakAfter(lineEndNode) {
    +      // If there's nothing to the right, then we can skip ending the line
    +      // here, and move root-wards since splitting just before an end-tag
    +      // would require us to create a bunch of empty copies.
    +      while (!lineEndNode.nextSibling) {
    +        lineEndNode = lineEndNode.parentNode;
    +        if (!lineEndNode) { return; }
    +      }
    +  
    +      function breakLeftOf(limit, copy) {
    +        // Clone shallowly if this node needs to be on both sides of the break.
    +        var rightSide = copy ? limit.cloneNode(false) : limit;
    +        var parent = limit.parentNode;
    +        if (parent) {
    +          // We clone the parent chain.
    +          // This helps us resurrect important styling elements that cross lines.
    +          // E.g. in <i>Foo<br>Bar</i>
    +          // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>.
    +          var parentClone = breakLeftOf(parent, 1);
    +          // Move the clone and everything to the right of the original
    +          // onto the cloned parent.
    +          var next = limit.nextSibling;
    +          parentClone.appendChild(rightSide);
    +          for (var sibling = next; sibling; sibling = next) {
    +            next = sibling.nextSibling;
    +            parentClone.appendChild(sibling);
    +          }
    +        }
    +        return rightSide;
    +      }
    +  
    +      var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0);
    +  
    +      // Walk the parent chain until we reach an unattached LI.
    +      for (var parent;
    +           // Check nodeType since IE invents document fragments.
    +           (parent = copiedListItem.parentNode) && parent.nodeType === 1;) {
    +        copiedListItem = parent;
    +      }
    +      // Put it on the list of lines for later processing.
    +      listItems.push(copiedListItem);
    +    }
    +  
    +    // Split lines while there are lines left to split.
    +    for (var i = 0;  // Number of lines that have been split so far.
    +         i < listItems.length;  // length updated by breakAfter calls.
    +         ++i) {
    +      walk(listItems[i]);
    +    }
    +  
    +    // Make sure numeric indices show correctly.
    +    if (opt_startLineNum === (opt_startLineNum|0)) {
    +      listItems[0].setAttribute('value', opt_startLineNum);
    +    }
    +  
    +    var ol = document.createElement('ol');
    +    ol.className = 'linenums';
    +    var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0;
    +    for (var i = 0, n = listItems.length; i < n; ++i) {
    +      li = listItems[i];
    +      // Stick a class on the LIs so that stylesheets can
    +      // color odd/even rows, or any other row pattern that
    +      // is co-prime with 10.
    +      li.className = 'L' + ((i + offset) % 1);
    +      if (!li.firstChild) {
    +        li.appendChild(document.createTextNode('\xA0'));
    +      }
    +      ol.appendChild(li);
    +    }
    +  
    +    node.appendChild(ol);
    +  }
    +
    +  /**
    +   * Breaks {@code job.sourceCode} around style boundaries in
    +   * {@code job.decorations} and modifies {@code job.sourceNode} in place.
    +   * @param {Object} job like <pre>{
    +   *    sourceCode: {string} source as plain text,
    +   *    spans: {Array.<number|Node>} alternating span start indices into source
    +   *       and the text node or element (e.g. {@code <BR>}) corresponding to that
    +   *       span.
    +   *    decorations: {Array.<number|string} an array of style classes preceded
    +   *       by the position at which they start in job.sourceCode in order
    +   * }</pre>
    +   * @private
    +   */
    +  function recombineTagsAndDecorations(job) {
    +    var isIE8OrEarlier = /\bMSIE\s(\d+)/.exec(navigator.userAgent);
    +    isIE8OrEarlier = isIE8OrEarlier && +isIE8OrEarlier[1] <= 8;
    +    var newlineRe = /\n/g;
    +  
    +    var source = job.sourceCode;
    +    var sourceLength = source.length;
    +    // Index into source after the last code-unit recombined.
    +    var sourceIndex = 0;
    +  
    +    var spans = job.spans;
    +    var nSpans = spans.length;
    +    // Index into spans after the last span which ends at or before sourceIndex.
    +    var spanIndex = 0;
    +  
    +    var decorations = job.decorations;
    +    var nDecorations = decorations.length;
    +    // Index into decorations after the last decoration which ends at or before
    +    // sourceIndex.
    +    var decorationIndex = 0;
    +  
    +    // Remove all zero-length decorations.
    +    decorations[nDecorations] = sourceLength;
    +    var decPos, i;
    +    for (i = decPos = 0; i < nDecorations;) {
    +      if (decorations[i] !== decorations[i + 2]) {
    +        decorations[decPos++] = decorations[i++];
    +        decorations[decPos++] = decorations[i++];
    +      } else {
    +        i += 2;
    +      }
    +    }
    +    nDecorations = decPos;
    +  
    +    // Simplify decorations.
    +    for (i = decPos = 0; i < nDecorations;) {
    +      var startPos = decorations[i];
    +      // Conflate all adjacent decorations that use the same style.
    +      var startDec = decorations[i + 1];
    +      var end = i + 2;
    +      while (end + 2 <= nDecorations && decorations[end + 1] === startDec) {
    +        end += 2;
    +      }
    +      decorations[decPos++] = startPos;
    +      decorations[decPos++] = startDec;
    +      i = end;
    +    }
    +  
    +    nDecorations = decorations.length = decPos;
    +  
    +    var sourceNode = job.sourceNode;
    +    var oldDisplay;
    +    if (sourceNode) {
    +      oldDisplay = sourceNode.style.display;
    +      sourceNode.style.display = 'none';
    +    }
    +    try {
    +      var decoration = null;
    +      var X = 0;
    +      while (spanIndex < nSpans) {
    +        X = X + 1;
    +        if (X > 5000) { break; }
    +        var spanStart = spans[spanIndex];
    +        var spanEnd = spans[spanIndex + 2] || sourceLength;
    +  
    +        var decEnd = decorations[decorationIndex + 2] || sourceLength;
    +  
    +        var end = Math.min(spanEnd, decEnd);
    +  
    +        var textNode = spans[spanIndex + 1];
    +        var styledText;
    +        if (textNode.nodeType !== 1  // Don't muck with <BR>s or <LI>s
    +            // Don't introduce spans around empty text nodes.
    +            && (styledText = source.substring(sourceIndex, end))) {
    +          // This may seem bizarre, and it is.  Emitting LF on IE causes the
    +          // code to display with spaces instead of line breaks.
    +          // Emitting Windows standard issue linebreaks (CRLF) causes a blank
    +          // space to appear at the beginning of every line but the first.
    +          // Emitting an old Mac OS 9 line separator makes everything spiffy.
    +          if (isIE8OrEarlier) {
    +            styledText = styledText.replace(newlineRe, '\r');
    +          }
    +          textNode.nodeValue = styledText;
    +          var document = textNode.ownerDocument;
    +          var span = document.createElement('span');
    +          span.className = decorations[decorationIndex + 1];
    +          var parentNode = textNode.parentNode;
    +          parentNode.replaceChild(span, textNode);
    +          span.appendChild(textNode);
    +          if (sourceIndex < spanEnd) {  // Split off a text node.
    +            spans[spanIndex + 1] = textNode
    +                // TODO: Possibly optimize by using '' if there's no flicker.
    +                = document.createTextNode(source.substring(end, spanEnd));
    +            parentNode.insertBefore(textNode, span.nextSibling);
    +          }
    +        }
    +  
    +        sourceIndex = end;
    +  
    +        if (sourceIndex >= spanEnd) {
    +          spanIndex += 2;
    +        }
    +        if (sourceIndex >= decEnd) {
    +          decorationIndex += 2;
    +        }
    +      }
    +    } finally {
    +      if (sourceNode) {
    +        sourceNode.style.display = oldDisplay;
    +      }
    +    }
    +  }
    +
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        sourceCode: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.sourceCode in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if (win['console']) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'types': C_TYPES
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PHP_KEYWORDS,
    +          'hashComments': false,
    +          'cStyleComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +//          'types': C_TYPES,
    +        }), ['php', 'phtml', 'inc']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null,true,false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true,
    +          'types': C_TYPES
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['js']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': COFFEE_KEYWORDS,
    +          'hashComments': 3,  // ### style block comments
    +          'cStyleComments': true,
    +          'multilineStrings': true,
    +          'tripleQuotedStrings': true,
    +          'regexLiterals': true
    +        }), ['coffee']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CONFIG_KEYWORDS,
    +          'literals': CONFIG_OPTIONS,
    +          'strings': CONFIG_ENVS,
    +          'hashComments': true,
    +          'cStyleComments': false,
    +          'multiLineStrings': false,
    +          'regexLiterals': false,
    +          'httpdComments': true
    +        }), ['config']);
    +
    +  function applyDecorator(job) {
    +    var opt_langExtension = job.langExtension;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndSpans = extractSourceSpans(job.sourceNode, job.pre);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndSpans.sourceCode;
    +      job.sourceCode = source;
    +      job.spans = sourceAndSpans.spans;
    +      job.basePos = 0;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +
    +      // Integrate the decorations and tags back into the source code,
    +      // modifying the sourceNode in place.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if (win['console']) {
    +        console['log'](e && e['stack'] ? e['stack'] : e);
    +      }
    +    }
    +  }
    +
    +  /**
    +   * @param sourceCodeHtml {string} The HTML to pretty print.
    +   * @param opt_langExtension {string} The language name to use.
    +   *     Typically, a filename extension like 'cpp' or 'java'.
    +   * @param opt_numberLines {number|boolean} True to number lines,
    +   *     or the 1-indexed number of the first line in sourceCodeHtml.
    +   */
    +  function prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) {
    +    var container = document.createElement('pre');
    +    // This could cause images to load and onload listeners to fire.
    +    // E.g. <img onerror="alert(1337)" src="nosuchimage.png">.
    +    // We assume that the inner HTML is from a trusted source.
    +    container.innerHTML = sourceCodeHtml;
    +    if (opt_numberLines) {
    +      numberLines(container, opt_numberLines, true);
    +    }
    +
    +    var job = {
    +      langExtension: opt_langExtension,
    +      numberLines: opt_numberLines,
    +      sourceNode: container,
    +      pre: 1
    +    };
    +    applyDecorator(job);
    +    return container.innerHTML;
    +  }
    +
    +  function prettyPrint(opt_whenDone) {
    +    function byTagName(tn) { return document.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return +(new Date); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    var langExtensionRe = /\blang(?:uage)?-([\w.]+)(?!\S)/;
    +    var prettyPrintRe = /\bprettyprint\b/;
    +    var prettyPrintedRe = /\bprettyprinted\b/;
    +    var preformattedTagNameRe = /pre|xmp/i;
    +    var codeRe = /^code$/i;
    +    var preCodeXmpRe = /^(?:pre|code|xmp)$/i;
    +
    +    function doWork() {
    +      var endTime = (win['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock['now']() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock['now']() < endTime; k++) {
    +        var cs = elements[k];
    +        var className = cs.className;
    +        if (prettyPrintRe.test(className)
    +            // Don't redo this if we've already done it.
    +            // This allows recalling pretty print to just prettyprint elements
    +            // that have been added to the page since last call.
    +            && !prettyPrintedRe.test(className)) {
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            var tn = p.tagName;
    +            if (preCodeXmpRe.test(tn)
    +                && p.className && prettyPrintRe.test(p.className)) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // Mark done.  If we fail to prettyprint for whatever reason,
    +            // we shouldn't try again.
    +            cs.className += ' prettyprinted';
    +
    +            // If the classes includes a language extensions, use it.
    +            // Language extensions can be specified like
    +            //     <pre class="prettyprint lang-cpp">
    +            // the language extension "cpp" is used to find a language handler
    +            // as passed to PR.registerLangHandler.
    +            // HTML5 recommends that a language be specified using "language-"
    +            // as the prefix instead.  Google Code Prettify supports both.
    +            // http://dev.w3.org/html5/spec-author-view/the-code-element.html
    +            var langExtension = className.match(langExtensionRe);
    +            // Support <pre class="prettyprint"><code class="language-c">
    +            var wrapper;
    +            if (!langExtension && (wrapper = childContentWrapper(cs))
    +                && codeRe.test(wrapper.tagName)) {
    +              langExtension = wrapper.className.match(langExtensionRe);
    +            }
    +
    +            if (langExtension) { langExtension = langExtension[1]; }
    +
    +            var preformatted;
    +            if (preformattedTagNameRe.test(cs.tagName)) {
    +              preformatted = 1;
    +            } else {
    +              var currentStyle = cs['currentStyle'];
    +              var whitespace = (
    +                  currentStyle
    +                  ? currentStyle['whiteSpace']
    +                  : (document.defaultView
    +                     && document.defaultView.getComputedStyle)
    +                  ? document.defaultView.getComputedStyle(cs, null)
    +                  .getPropertyValue('white-space')
    +                  : 0);
    +              preformatted = whitespace
    +                  && 'pre' === whitespace.substring(0, 3);
    +            }
    +
    +            // Look for a class like linenums or linenums:<n> where <n> is the
    +            // 1-indexed number of the first line.
    +            var lineNums = cs.className.match(/\blinenums\b(?::(\d+))?/);
    +            lineNums = lineNums
    +                ? lineNums[1] && lineNums[1].length ? +lineNums[1] : true
    +                : false;
    +            if (lineNums) { numberLines(cs, lineNums, preformatted); }
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              langExtension: langExtension,
    +              sourceNode: cs,
    +              numberLines: lineNums,
    +              pre: preformatted
    +            };
    +            applyDecorator(prettyPrintingJob);
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if (opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  /**
    +   * Contains functions for creating and registering new language handlers.
    +   * @type {Object}
    +   */
    +  var PR = win['PR'] = {
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE,
    +        'prettyPrintOne': win['prettyPrintOne'] = prettyPrintOne,
    +        'prettyPrint': win['prettyPrint'] = prettyPrint
    +      };
    +   
    +
    +/* Register Lua syntaxes */   
    +   PR['registerLangHandler'](
    +    PR['createSimpleLexer'](
    +        [
    +         // Whitespace
    +         [PR['PR_PLAIN'],       /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
    +         // A double or single quoted, possibly multi-line, string.
    +         [PR['PR_STRING'],      /^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/, null, '"\'']
    +        ],
    +        [
    +         // A comment is either a line comment that starts with two dashes, or
    +         // two dashes preceding a long bracketed block.
    +         [PR['PR_COMMENT'], /^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],
    +         [PR['PR_TYPE'], /^nil|false|true/],
    +         // A long bracketed block not preceded by -- is a string.
    +         [PR['PR_STRING'],  /^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],
    +         [PR['PR_KEYWORD'], /^(?:and|break|do|else|elseif|end|for|function|if|in|local|not|or|repeat|require|return|then|until|while)\b/, null],
    +         // A number is a hex integer literal, a decimal real literal, or in
    +         // scientific notation.
    +         [PR['PR_LITERAL'],
    +          /^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],
    +         // An identifier
    +         [PR['PR_PLAIN'], /^[a-z_]\w*/i],
    +         // A run of punctuation
    +         [PR['PR_PUNCTUATION'], /^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\'\-\+=]*/]
    +        ]),
    +    ['lua']);
    +
    +
    +  // Make PR available via the Asynchronous Module Definition (AMD) API.
    +  // Per https://github.com/amdjs/amdjs-api/wiki/AMD:
    +  // The Asynchronous Module Definition (AMD) API specifies a
    +  // mechanism for defining modules such that the module and its
    +  // dependencies can be asynchronously loaded.
    +  // ...
    +  // To allow a clear indicator that a global define function (as
    +  // needed for script src browser loading) conforms to the AMD API,
    +  // any global define function SHOULD have a property called "amd"
    +  // whose value is an object. This helps avoid conflict with any
    +  // other existing JavaScript code that could have defined a define()
    +  // function that does not conform to the AMD API.
    +  if (typeof define === "function" && define['amd']) {
    +    define("google-code-prettify", [], function () {
    +      return PR; 
    +    });
    +  }
    +})();
    diff --git a/docs/manual/style/scripts/prettify.min.js b/docs/manual/style/scripts/prettify.min.js
    new file mode 100644
    index 0000000..0f51acd
    --- /dev/null
    +++ b/docs/manual/style/scripts/prettify.min.js
    @@ -0,0 +1,123 @@
    +// see prettify.js for copyright, license and expanded version
    +window['PR_SHOULD_USE_CONTINUATION']=true;var prettyPrintOne;var prettyPrint;(function(){var win=window;var FLOW_CONTROL_KEYWORDS=["break,continue,do,else,for,if,return,while"];var C_KEYWORDS=[FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default,"+"double,enum,extern,float,goto,int,long,register,short,signed,sizeof,module,"+"static,struct,switch,typedef,union,unsigned,void,volatile"];var COMMON_KEYWORDS=[C_KEYWORDS,"catch,class,delete,false,import,"+"new,operator,private,protected,public,this,throw,true,try,typeof"];var CPP_KEYWORDS=[COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool,"+"concept,concept_map,const_cast,constexpr,decltype,"+"dynamic_cast,explicit,export,friend,inline,late_check,"+"mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,"+"template,typeid,typename,using,virtual,where,request_req"];var JAVA_KEYWORDS=[COMMON_KEYWORDS,"abstract,boolean,byte,extends,final,finally,implements,import,"+"instanceof,null,native,package,strictfp,super,synchronized,throws,"+"transient"];var CSHARP_KEYWORDS=[JAVA_KEYWORDS,"as,base,by,checked,decimal,delegate,descending,dynamic,event,"+"fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,"+"lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,"+"sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,"+"var,virtual,where"];var COFFEE_KEYWORDS="all,and,by,catch,class,else,extends,false,finally,"+"for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,"+"throw,true,try,unless,until,when,while,yes";var JSCRIPT_KEYWORDS=[COMMON_KEYWORDS,"debugger,eval,export,function,get,null,set,undefined,var,with,"+"Infinity,NaN"];var PERL_KEYWORDS="caller,delete,die,do,dump,else,elsif,eval,exit,foreach,for,"+"goto,if,import,last,local,my,next,no,our,print,printf,package,redo,require,"+"sub,undef,unless,until,use,wantarray,while,BEGIN,END";var PHP_KEYWORDS="abstract,and,array,as,break,case,catch,cfunction,class,"+"clone,const,continue,declare,default,do,else,elseif,enddeclare,endfor,"+"endforeach,endif,endswitch,endwhile,extends,final,for,foreach,function,"+"global,goto,if,implements,interface,instanceof,namespace,new,old_function,"+"or,private,protected,public,static,switch,throw,try,use,var,while,xor,"+"die,echo,empty,exit,eval,include,include_once,isset,list,require,"+"require_once,return,print,unset";var PYTHON_KEYWORDS=[FLOW_CONTROL_KEYWORDS,"and,as,assert,class,def,del,"+"elif,except,exec,finally,from,global,import,in,is,lambda,"+"nonlocal,not,or,pass,print,raise,try,with,yield,"+"False,True,None"];var RUBY_KEYWORDS=[FLOW_CONTROL_KEYWORDS,"alias,and,begin,case,class,"+"def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,"+"rescue,retry,self,super,then,true,undef,unless,until,when,yield,"+"BEGIN,END"];var SH_KEYWORDS=[FLOW_CONTROL_KEYWORDS,"case,done,elif,esac,eval,fi,"+"function,in,local,set,then,until,echo"];var CONFIG_ENVS=["User-Agent,HTTP_USER_AGENT,HTTP_REFERER,HTTP_COOKIE,HTTP_FORWARDED,HTTP_HOST,HTTP_PROXY_CONNECTION,HTTP_ACCEPT,REMOTE_ADDR,REMOTE_HOST,REMOTE_PORT,REMOTE_USER,REMOTE_IDENT,REQUEST_METHOD,SCRIPT_FILENAME,PATH_INFO,QUERY_STRING,AUTH_TYPE,DOCUMENT_ROOT,SERVER_ADMIN,SERVER_NAME,SERVER_ADDR,SERVER_PORT,SERVER_PROTOCOL,SERVER_SOFTWARE,TIME_YEAR,TIME_MON,TIME_DAY,TIME_HOUR,TIME_MIN,TIME_SEC,TIME_WDAY,TIME,API_VERSION,THE_REQUEST,REQUEST_URI,REQUEST_FILENAME,IS_SUBREQ,HTTPS,REQUEST_SCHEME"];var CONFIG_KEYWORDS=["AcceptFilter,AcceptPathInfo,AccessFileName,Action,AddAlt,AddAltByEncoding,AddAltByType,AddCharset,AddDefaultCharset,AddDescription,AddEncoding,AddHandler,AddIcon,AddIconByEncoding,AddIconByType,AddInputFilter,AddLanguage,AddModuleInfo,AddOutputFilter,AddOutputFilterByType,AddType,Alias,AliasMatch,Allow,AllowCONNECT,AllowEncodedSlashes,AllowMethods,AllowOverride,AllowOverrideList,Anonymous,Anonymous_LogEmail,Anonymous_MustGiveEmail,Anonymous_NoUserID,Anonymous_VerifyEmail,AsyncRequestWorkerFactor,AuthBasicAuthoritative,AuthBasicFake,AuthBasicProvider,AuthBasicUseDigestAlgorithm,AuthDBDUserPWQuery,AuthDBDUserRealmQuery,AuthDBMGroupFile,AuthDBMType,AuthDBMUserFile,AuthDigestAlgorithm,AuthDigestDomain,AuthDigestNonceLifetime,AuthDigestProvider,AuthDigestQop,AuthDigestShmemSize,AuthFormAuthoritative,AuthFormBody,AuthFormDisableNoStore,AuthFormFakeBasicAuth,AuthFormLocation,AuthFormLoginRequiredLocation,AuthFormLoginSuccessLocation,AuthFormLogoutLocation,AuthFormMethod,AuthFormMimetype,AuthFormPassword,AuthFormProvider,AuthFormSitePassphrase,AuthFormSize,AuthFormUsername,AuthGroupFile,AuthLDAPAuthorizePrefix,AuthLDAPBindAuthoritative,AuthLDAPBindDN,AuthLDAPBindPassword,AuthLDAPCharsetConfig,AuthLDAPCompareAsUser,AuthLDAPCompareDNOnServer,AuthLDAPDereferenceAliases,AuthLDAPGroupAttribute,AuthLDAPGroupAttributeIsDN,AuthLDAPInitialBindAsUser,AuthLDAPInitialBindPattern,AuthLDAPMaxSubGroupDepth,AuthLDAPRemoteUserAttribute,AuthLDAPRemoteUserIsDN,AuthLDAPSearchAsUser,AuthLDAPSubGroupAttribute,AuthLDAPSubGroupClass,AuthLDAPURL,AuthMerging,AuthName,AuthnCacheContext,AuthnCacheEnable,AuthnCacheProvideFor,AuthnCacheSOCache,AuthnCacheTimeout,<AuthnProviderAlias>,AuthnzFcgiCheckAuthnProvider,AuthnzFcgiDefineProvider,AuthType,AuthUserFile,AuthzDBDLoginToReferer,AuthzDBDQuery,AuthzDBDRedirectQuery,AuthzDBMType,<AuthzProviderAlias>,AuthzSendForbiddenOnFailure,BalancerGrowth,BalancerInherit,BalancerMember,BalancerPersist,BrotliAlterETag,BrotliCompressionMaxInputBlock,BrotliCompressionQuality,BrotliCompressionWindow,BrotliFilterNote,BrowserMatch,BrowserMatchNoCase,BufferedLogs,BufferSize,CacheDefaultExpire,CacheDetailHeader,CacheDirLength,CacheDirLevels,CacheDisable,CacheEnable,CacheFile,CacheHeader,CacheIgnoreCacheControl,CacheIgnoreHeaders,CacheIgnoreNoLastMod,CacheIgnoreQueryString,CacheIgnoreURLSessionIdentifiers,CacheKeyBaseURL,CacheLastModifiedFactor,CacheLock,CacheLockMaxAge,CacheLockPath,CacheMaxExpire,CacheMaxFileSize,CacheMinExpire,CacheMinFileSize,CacheNegotiatedDocs,CacheQuickHandler,CacheReadSize,CacheReadTime,CacheRoot,CacheSocache,CacheSocacheMaxSize,CacheSocacheMaxTime,CacheSocacheMinTime,CacheSocacheReadSize,CacheSocacheReadTime,CacheStaleOnError,CacheStoreExpired,CacheStoreNoStore,CacheStorePrivate,CGIDScriptTimeout,CGIMapExtension,CGIPassAuth,CGIVar,CharsetDefault,CharsetOptions,CharsetSourceEnc,CheckCaseOnly,CheckSpelling,ChrootDir,ContentDigest,CookieDomain,CookieExpires,CookieName,CookieStyle,CookieTracking,CoreDumpDirectory,CustomLog,Dav,DavDepthInfinity,DavGenericLockDB,DavLockDB,DavMinTimeout,DBDExptime,DBDInitSQL,DBDKeep,DBDMax,DBDMin,DBDParams,DBDPersist,DBDPrepareSQL,DBDriver,DefaultIcon,DefaultLanguage,DefaultRuntimeDir,DefaultType,Define,DeflateBufferSize,DeflateCompressionLevel,DeflateFilterNote,DeflateInflateLimitRequestBody,DeflateInflateRatioBurst,DeflateInflateRatioLimit,DeflateMemLevel,DeflateWindowSize,Deny,<Directory>,DirectoryCheckHandler,DirectoryIndex,DirectoryIndexRedirect,<DirectoryMatch>,DirectorySlash,DocumentRoot,DTracePrivileges,DumpIOInput,DumpIOOutput,<Else>,<ElseIf>,EnableExceptionHook,EnableMMAP,EnableSendfile,Error,ErrorDocument,ErrorLog,ErrorLogFormat,Example,ExpiresActive,ExpiresByType,ExpiresDefault,ExtendedStatus,ExtFilterDefine,ExtFilterOptions,FallbackResource,FileETag,<Files>,<FilesMatch>,FilterChain,FilterDeclare,FilterProtocol,FilterProvider,FilterTrace,ForceLanguagePriority,ForceType,ForensicLog,GlobalLog,GprofDir,GracefulShutdownTimeout,Group,H2CopyFiles,H2Direct,H2EarlyHints,H2MaxSessionStreams,H2MaxWorkerIdleSeconds,H2MaxWorkers,H2MinWorkers,H2ModernTLSOnly,H2Padding,H2Push,H2PushDiarySize,H2PushPriority,H2PushResource,H2SerializeHeaders,H2StreamMaxMemSize,H2TLSCoolDownSecs,H2TLSWarmUpSize,H2Upgrade,H2WindowSize,Header,HeaderName,HeartbeatAddress,HeartbeatListen,HeartbeatMaxServers,HeartbeatStorage,HeartbeatStorage,HostnameLookups,HttpProtocolOptions,IdentityCheck,IdentityCheckTimeout,<If>,<IfDefine>,<IfDirective>,<IfFile>,<IfModule>,<IfSection>,<IfVersion>,ImapBase,ImapDefault,ImapMenu,Include,IncludeOptional,IndexHeadInsert,IndexIgnore,IndexIgnoreReset,IndexOptions,IndexOrderDefault,IndexStyleSheet,InputSed,ISAPIAppendLogToErrors,ISAPIAppendLogToQuery,ISAPICacheFile,ISAPIFakeAsync,ISAPILogNotSupported,ISAPIReadAheadBuffer,KeepAlive,KeepAliveTimeout,KeptBodySize,LanguagePriority,LDAPCacheEntries,LDAPCacheTTL,LDAPConnectionPoolTTL,LDAPConnectionTimeout,LDAPLibraryDebug,LDAPOpCacheEntries,LDAPOpCacheTTL,LDAPReferralHopLimit,LDAPReferrals,LDAPRetries,LDAPRetryDelay,LDAPSharedCacheFile,LDAPSharedCacheSize,LDAPTimeout,LDAPTrustedClientCert,LDAPTrustedGlobalCert,LDAPTrustedMode,LDAPVerifyServerCert,<Limit>,<LimitExcept>,LimitInternalRecursion,LimitRequestBody,LimitRequestFields,LimitRequestFieldSize,LimitRequestLine,LimitXMLRequestBody,Listen,ListenBackLog,ListenCoresBucketsRatio,LoadFile,LoadModule,<Location>,<LocationMatch>,LogFormat,LogIOTrackTTFB,LogLevel,LogMessage,LuaAuthzProvider,LuaCodeCache,LuaHookAccessChecker,LuaHookAuthChecker,LuaHookCheckUserID,LuaHookFixups,LuaHookInsertFilter,LuaHookLog,LuaHookMapToStorage,LuaHookTranslateName,LuaHookTypeChecker,LuaInherit,LuaInputFilter,LuaMapHandler,LuaOutputFilter,LuaPackageCPath,LuaPackagePath,LuaQuickHandler,LuaRoot,LuaScope,<Macro>,MaxConnectionsPerChild,MaxKeepAliveRequests,MaxMemFree,MaxRangeOverlaps,MaxRangeReversals,MaxRanges,MaxRequestWorkers,MaxSpareServers,MaxSpareThreads,MaxThreads,MDBaseServer,MDCAChallenges,MDCertificateAgreement,MDCertificateAuthority,MDCertificateFile,MDCertificateKeyFile,MDCertificateProtocol,MDCertificateStatus,MDChallengeDns01,MDDriveMode,MDHttpProxy,MDMember,MDMembers,MDMessageCmd,MDMustStaple,MDNotifyCmd,MDomain,<MDomainSet>,MDPortMap,MDPrivateKeys,MDRenewMode,MDRenewWindow,MDRequireHttps,MDServerStatus,MDStoreDir,MDWarnWindow,MemcacheConnTTL,MergeSlashes,MergeTrailers,MetaDir,MetaFiles,MetaSuffix,MimeMagicFile,MinSpareServers,MinSpareThreads,MMapFile,ModemStandard,ModMimeUsePathInfo,MultiviewsMatch,Mutex,NameVirtualHost,NoProxy,NWSSLTrustedCerts,NWSSLUpgradeable,Options,Order,OutputSed,PassEnv,PidFile,PrivilegesMode,Protocol,ProtocolEcho,Protocols,ProtocolsHonorOrder,<Proxy>,Proxy100Continue,ProxyAddHeaders,ProxyBadHeader,ProxyBlock,ProxyDomain,ProxyErrorOverride,ProxyExpressDBMFile,ProxyExpressDBMType,ProxyExpressEnable,ProxyFCGIBackendType,ProxyFCGISetEnvIf,ProxyFtpDirCharset,ProxyFtpEscapeWildcards,ProxyFtpListOnWildcard,ProxyHCExpr,ProxyHCTemplate,ProxyHCTPsize,ProxyHTMLBufSize,ProxyHTMLCharsetOut,ProxyHTMLDocType,ProxyHTMLEnable,ProxyHTMLEvents,ProxyHTMLExtended,ProxyHTMLFixups,ProxyHTMLInterp,ProxyHTMLLinks,ProxyHTMLMeta,ProxyHTMLStripComments,ProxyHTMLURLMap,ProxyIOBufferSize,<ProxyMatch>,ProxyMaxForwards,ProxyPass,ProxyPassInherit,ProxyPassInterpolateEnv,ProxyPassMatch,ProxyPassReverse,ProxyPassReverseCookieDomain,ProxyPassReverseCookiePath,ProxyPreserveHost,ProxyReceiveBufferSize,ProxyRemote,ProxyRemoteMatch,ProxyRequests,ProxySCGIInternalRedirect,ProxySCGISendfile,ProxySet,ProxySourceAddress,ProxyStatus,ProxyTimeout,ProxyVia,QualifyRedirectURL,ReadmeName,ReceiveBufferSize,Redirect,RedirectMatch,RedirectPermanent,RedirectTemp,RedisConnPoolTTL,RedisTimeout,ReflectorHeader,RegexDefaultOptions,RegisterHttpMethod,RemoteIPHeader,RemoteIPInternalProxy,RemoteIPInternalProxyList,RemoteIPProxiesHeader,RemoteIPProxyProtocol,RemoteIPProxyProtocolExceptions,RemoteIPTrustedProxy,RemoteIPTrustedProxyList,RemoveCharset,RemoveEncoding,RemoveHandler,RemoveInputFilter,RemoveLanguage,RemoveOutputFilter,RemoveType,RequestHeader,RequestReadTimeout,Require,<RequireAll>,<RequireAny>,<RequireNone>,RewriteBase,RewriteCond,RewriteEngine,RewriteMap,RewriteOptions,RewriteRule,RLimitCPU,RLimitMEM,RLimitNPROC,Satisfy,ScoreBoardFile,Script,ScriptAlias,ScriptAliasMatch,ScriptInterpreterSource,ScriptLog,ScriptLogBuffer,ScriptLogLength,ScriptSock,SecureListen,SeeRequestTail,SendBufferSize,ServerAdmin,ServerAlias,ServerLimit,ServerName,ServerPath,ServerRoot,ServerSignature,ServerTokens,Session,SessionCookieName,SessionCookieName2,SessionCookieRemove,SessionCryptoCipher,SessionCryptoDriver,SessionCryptoPassphrase,SessionCryptoPassphraseFile,SessionDBDCookieName,SessionDBDCookieName2,SessionDBDCookieRemove,SessionDBDDeleteLabel,SessionDBDInsertLabel,SessionDBDPerUser,SessionDBDSelectLabel,SessionDBDUpdateLabel,SessionEnv,SessionExclude,SessionExpiryUpdateInterval,SessionHeader,SessionInclude,SessionMaxAge,SetEnv,SetEnvIf,SetEnvIfExpr,SetEnvIfNoCase,SetHandler,SetInputFilter,SetOutputFilter,SSIEndTag,SSIErrorMsg,SSIETag,SSILastModified,SSILegacyExprParser,SSIStartTag,SSITimeFormat,SSIUndefinedEcho,SSLCACertificateFile,SSLCACertificatePath,SSLCADNRequestFile,SSLCADNRequestPath,SSLCARevocationCheck,SSLCARevocationFile,SSLCARevocationPath,SSLCertificateChainFile,SSLCertificateFile,SSLCertificateKeyFile,SSLCipherSuite,SSLCompression,SSLCryptoDevice,SSLEngine,SSLFIPS,SSLHonorCipherOrder,SSLInsecureRenegotiation,SSLOCSPDefaultResponder,SSLOCSPEnable,SSLOCSPNoverify,SSLOCSPOverrideResponder,SSLOCSPProxyURL,SSLOCSPResponderCertificateFile,SSLOCSPResponderTimeout,SSLOCSPResponseMaxAge,SSLOCSPResponseTimeSkew,SSLOCSPUseRequestNonce,SSLOpenSSLConfCmd,SSLOptions,SSLPassPhraseDialog,SSLProtocol,SSLProxyCACertificateFile,SSLProxyCACertificatePath,SSLProxyCARevocationCheck,SSLProxyCARevocationFile,SSLProxyCARevocationPath,SSLProxyCheckPeerCN,SSLProxyCheckPeerExpire,SSLProxyCheckPeerName,SSLProxyCipherSuite,SSLProxyEngine,SSLProxyMachineCertificateChainFile,SSLProxyMachineCertificateFile,SSLProxyMachineCertificatePath,SSLProxyProtocol,SSLProxyVerify,SSLProxyVerifyDepth,SSLRandomSeed,SSLRenegBufferSize,SSLRequire,SSLRequireSSL,SSLSessionCache,SSLSessionCacheTimeout,SSLSessionTicketKeyFile,SSLSessionTickets,SSLSRPUnknownUserSeed,SSLSRPVerifierFile,SSLStaplingCache,SSLStaplingErrorCacheTimeout,SSLStaplingFakeTryLater,SSLStaplingForceURL,SSLStaplingResponderTimeout,SSLStaplingResponseMaxAge,SSLStaplingResponseTimeSkew,SSLStaplingReturnResponderErrors,SSLStaplingStandardCacheTimeout,SSLStrictSNIVHostCheck,SSLUserName,SSLUseStapling,SSLVerifyClient,SSLVerifyDepth,StartServers,StartThreads,Substitute,SubstituteInheritBefore,SubstituteMaxLineLength,Suexec,SuexecUserGroup,ThreadLimit,ThreadsPerChild,ThreadStackSize,TimeOut,TraceEnable,TransferLog,TypesConfig,UnDefine,UndefMacro,UnsetEnv,Use,UseCanonicalName,UseCanonicalPhysicalPort,User,UserDir,VHostCGIMode,VHostCGIPrivs,VHostGroup,VHostPrivs,VHostSecure,VHostUser,VirtualDocumentRoot,VirtualDocumentRootIP,<VirtualHost>,VirtualScriptAlias,VirtualScriptAliasIP,WatchdogInterval,XBitHack,xml2EncAlias,xml2EncDefault,xml2StartParse"];var CONFIG_OPTIONS=/^[\\+\\-]?(AuthConfig|IncludesNOEXEC|ExecCGI|FollowSymLinks|MultiViews|Includes|Indexes|SymLinksIfOwnerMatch)\b/i;var ALL_KEYWORDS=[CPP_KEYWORDS,CSHARP_KEYWORDS,JSCRIPT_KEYWORDS,PERL_KEYWORDS+
    +PYTHON_KEYWORDS,RUBY_KEYWORDS,SH_KEYWORDS,CONFIG_KEYWORDS,PHP_KEYWORDS];var C_TYPES=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float|char|void|const|static|struct)\d*(_t)?\b)|[a-z_]+_rec|cmd_parms\b/;var PR_STRING='str';var PR_KEYWORD='kwd';var PR_COMMENT='com';var PR_TYPE='typ';var PR_LITERAL='lit';var PR_PUNCTUATION='pun';var PR_PLAIN='pln';var PR_TAG='tag';var PR_DECLARATION='dec';var PR_SOURCE='src';var PR_ATTRIB_NAME='atn';var PR_ATTRIB_VALUE='atv';var PR_NOCODE='nocode';var REGEXP_PRECEDER_PATTERN='(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';function combinePrefixPatterns(regexs){var capturedGroupIndex=0;var needToFoldCase=false;var ignoreCase=false;for(var i=0,n=regexs.length;i<n;++i){var regex=regexs[i];if(regex.ignoreCase){ignoreCase=true;}else if(/[a-z]/i.test(regex.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,''))){needToFoldCase=true;ignoreCase=false;break;}}
    +var escapeCharToCodeUnit={'b':8,'t':9,'n':0xa,'v':0xb,'f':0xc,'r':0xd};function decodeEscape(charsetPart){var cc0=charsetPart.charCodeAt(0);if(cc0!==92){return cc0;}
    +var c1=charsetPart.charAt(1);cc0=escapeCharToCodeUnit[c1];if(cc0){return cc0;}else if('0'<=c1&&c1<='7'){return parseInt(charsetPart.substring(1),8);}else if(c1==='u'||c1==='x'){return parseInt(charsetPart.substring(2),16);}else{return charsetPart.charCodeAt(1);}}
    +function encodeEscape(charCode){if(charCode<0x20){return(charCode<0x10?'\\x0':'\\x')+charCode.toString(16);}
    +var ch=String.fromCharCode(charCode);return(ch==='\\'||ch==='-'||ch===']'||ch==='^')?"\\"+ch:ch;}
    +function caseFoldCharset(charSet){var charsetParts=charSet.substring(1,charSet.length-1).match(new RegExp('\\\\u[0-9A-Fa-f]{4}'
    ++'|\\\\x[0-9A-Fa-f]{2}'
    ++'|\\\\[0-3][0-7]{0,2}'
    ++'|\\\\[0-7]{1,2}'
    ++'|\\\\[\\s\\S]'
    ++'|-'
    ++'|[^-\\\\]','g'));var ranges=[];var inverse=charsetParts[0]==='^';var out=['['];if(inverse){out.push('^');}
    +for(var i=inverse?1:0,n=charsetParts.length;i<n;++i){var p=charsetParts[i];if(/\\[bdsw]/i.test(p)){out.push(p);}else{var start=decodeEscape(p);var end;if(i+2<n&&'-'===charsetParts[i+1]){end=decodeEscape(charsetParts[i+2]);i+=2;}else{end=start;}
    +ranges.push([start,end]);if(!(end<65||start>122)){if(!(end<65||start>90)){ranges.push([Math.max(65,start)|32,Math.min(end,90)|32]);}
    +if(!(end<97||start>122)){ranges.push([Math.max(97,start)&~32,Math.min(end,122)&~32]);}}}}
    +ranges.sort(function(a,b){return(a[0]-b[0])||(b[1]-a[1]);});var consolidatedRanges=[];var lastRange=[];for(var i=0;i<ranges.length;++i){var range=ranges[i];if(range[0]<=lastRange[1]+1){lastRange[1]=Math.max(lastRange[1],range[1]);}else{consolidatedRanges.push(lastRange=range);}}
    +for(var i=0;i<consolidatedRanges.length;++i){var range=consolidatedRanges[i];out.push(encodeEscape(range[0]));if(range[1]>range[0]){if(range[1]+1>range[0]){out.push('-');}
    +out.push(encodeEscape(range[1]));}}
    +out.push(']');return out.join('');}
    +function allowAnywhereFoldCaseAndRenumberGroups(regex){var parts=regex.source.match(new RegExp('(?:'
    ++'\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'
    ++'|\\\\u[A-Fa-f0-9]{4}'
    ++'|\\\\x[A-Fa-f0-9]{2}'
    ++'|\\\\[0-9]+'
    ++'|\\\\[^ux0-9]'
    ++'|\\(\\?[:!=]'
    ++'|[\\(\\)\\^]'
    ++'|[^\\x5B\\x5C\\(\\)\\^]+'
    ++')','g'));var n=parts.length;var capturedGroups=[];for(var i=0,groupIndex=0;i<n;++i){var p=parts[i];if(p==='('){++groupIndex;}else if('\\'===p.charAt(0)){var decimalValue=+p.substring(1);if(decimalValue){if(decimalValue<=groupIndex){capturedGroups[decimalValue]=-1;}else{parts[i]=encodeEscape(decimalValue);}}}}
    +for(var i=1;i<capturedGroups.length;++i){if(-1===capturedGroups[i]){capturedGroups[i]=++capturedGroupIndex;}}
    +for(var i=0,groupIndex=0;i<n;++i){var p=parts[i];if(p==='('){++groupIndex;if(!capturedGroups[groupIndex]){parts[i]='(?:';}}else if('\\'===p.charAt(0)){var decimalValue=+p.substring(1);if(decimalValue&&decimalValue<=groupIndex){parts[i]='\\'+capturedGroups[decimalValue];}}}
    +for(var i=0;i<n;++i){if('^'===parts[i]&&'^'!==parts[i+1]){parts[i]='';}}
    +if(regex.ignoreCase&&needToFoldCase){for(var i=0;i<n;++i){var p=parts[i];var ch0=p.charAt(0);if(p.length>=2&&ch0==='['){parts[i]=caseFoldCharset(p);}else if(ch0!=='\\'){parts[i]=p.replace(/[a-zA-Z]/g,function(ch){var cc=ch.charCodeAt(0);return'['+String.fromCharCode(cc&~32,cc|32)+']';});}}}
    +return parts.join('');}
    +var rewritten=[];for(var i=0,n=regexs.length;i<n;++i){var regex=regexs[i];if(regex.global||regex.multiline){throw new Error(''+regex);}
    +rewritten.push('(?:'+allowAnywhereFoldCaseAndRenumberGroups(regex)+')');}
    +return new RegExp(rewritten.join('|'),ignoreCase?'gi':'g');}
    +function extractSourceSpans(node,isPreformatted){var nocode=/(?:^|\s)nocode(?:\s|$)/;var chunks=[];var length=0;var spans=[];var k=0;function walk(node){switch(node.nodeType){case 1:if(nocode.test(node.className)){return;}
    +for(var child=node.firstChild;child;child=child.nextSibling){walk(child);}
    +var nodeName=node.nodeName.toLowerCase();if('br'===nodeName||'li'===nodeName){chunks[k]='\n';spans[k<<1]=length++;spans[(k++<<1)|1]=node;}
    +break;case 3:case 4:var text=node.nodeValue;if(text.length){if(!isPreformatted){text=text.replace(/[ \t\r\n]+/g,' ');}else{text=text.replace(/\r\n?/g,'\n');text=text.replace(/^(\r?\n\s*)+/g,'');text=text.replace(/^\s*/g,'');text=text.replace(/(\r?\n\s*)+$/g,'');}
    +chunks[k]=text;spans[k<<1]=length;length+=text.length;spans[(k++<<1)|1]=node;}
    +break;}}
    +walk(node);return{sourceCode:chunks.join('').replace(/\n$/,''),spans:spans};}
    +function appendDecorations(basePos,sourceCode,langHandler,out){if(!sourceCode){return;}
    +var job={sourceCode:sourceCode,basePos:basePos};langHandler(job);out.push.apply(out,job.decorations);}
    +var notWs=/\S/;function childContentWrapper(element){var wrapper=undefined;for(var c=element.firstChild;c;c=c.nextSibling){var type=c.nodeType;wrapper=(type===1)?(wrapper?element:c):(type===3)?(notWs.test(c.nodeValue)?element:wrapper):wrapper;}
    +return wrapper===element?undefined:wrapper;}
    +function createSimpleLexer(shortcutStylePatterns,fallthroughStylePatterns){var shortcuts={};var tokenizer;(function(){var allPatterns=shortcutStylePatterns.concat(fallthroughStylePatterns);var allRegexs=[];var regexKeys={};for(var i=0,n=allPatterns.length;i<n;++i){var patternParts=allPatterns[i];var shortcutChars=patternParts[3];if(shortcutChars){for(var c=shortcutChars.length;--c>=0;){shortcuts[shortcutChars.charAt(c)]=patternParts;}}
    +var regex=patternParts[1];var k=''+regex;if(!regexKeys.hasOwnProperty(k)){allRegexs.push(regex);regexKeys[k]=null;}}
    +allRegexs.push(/[\0-\uffff]/);tokenizer=combinePrefixPatterns(allRegexs);})();var nPatterns=fallthroughStylePatterns.length;var decorate=function(job){var sourceCode=job.sourceCode,basePos=job.basePos;var decorations=[basePos,PR_PLAIN];var pos=0;var tokens=sourceCode.match(tokenizer)||[];var styleCache={};for(var ti=0,nTokens=tokens.length;ti<nTokens;++ti){var token=tokens[ti];var style=styleCache[token];var match=void 0;var isEmbedded;if(typeof style==='string'){isEmbedded=false;}else{var patternParts=shortcuts[token.charAt(0)];if(patternParts){match=token.match(patternParts[1]);style=patternParts[0];}else{for(var i=0;i<nPatterns;++i){patternParts=fallthroughStylePatterns[i];match=token.match(patternParts[1]);if(match){style=patternParts[0];break;}}
    +if(!match){style=PR_PLAIN;}}
    +isEmbedded=style.length>=5&&'lang-'===style.substring(0,5);if(isEmbedded&&!(match&&typeof match[1]==='string')){isEmbedded=false;style=PR_SOURCE;}
    +if(!isEmbedded){styleCache[token]=style;}}
    +var tokenStart=pos;pos+=token.length;if(!isEmbedded){decorations.push(basePos+tokenStart,style);}else{var embeddedSource=match[1];var embeddedSourceStart=token.indexOf(embeddedSource);var embeddedSourceEnd=embeddedSourceStart+embeddedSource.length;if(match[2]){embeddedSourceEnd=token.length-match[2].length;embeddedSourceStart=embeddedSourceEnd-embeddedSource.length;}
    +var lang=style.substring(5);appendDecorations(basePos+tokenStart,token.substring(0,embeddedSourceStart),decorate,decorations);appendDecorations(basePos+tokenStart+embeddedSourceStart,embeddedSource,langHandlerForExtension(lang,embeddedSource),decorations);appendDecorations(basePos+tokenStart+embeddedSourceEnd,token.substring(embeddedSourceEnd),decorate,decorations);}}
    +job.decorations=decorations;};return decorate;}
    +function sourceDecorator(options){var shortcutStylePatterns=[],fallthroughStylePatterns=[];if(options['tripleQuotedStrings']){shortcutStylePatterns.push([PR_STRING,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,'\'"']);}else if(options['multiLineStrings']){shortcutStylePatterns.push([PR_STRING,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,'\'"`']);}else{shortcutStylePatterns.push([PR_STRING,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,'"\'']);}
    +if(options['verbatimStrings']){fallthroughStylePatterns.push([PR_STRING,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);}
    +var hc=options['hashComments'];if(hc){if(options['cStyleComments']){if(hc>1){shortcutStylePatterns.push([PR_COMMENT,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,'#']);}else{shortcutStylePatterns.push([PR_COMMENT,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,'#']);}
    +fallthroughStylePatterns.push([PR_STRING,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null]);}else{shortcutStylePatterns.push([PR_COMMENT,/^#[^\r\n]*/,null,'#']);}}
    +if(options['cStyleComments']){fallthroughStylePatterns.push([PR_COMMENT,/^\/\/[^\r\n]*/,null]);fallthroughStylePatterns.push([PR_COMMENT,/^\/\*[\s\S]*?(?:\*\/|$)/,null]);}
    +if(options['regexLiterals']){var REGEX_LITERAL=('/(?=[^/*])'
    ++'(?:[^/\\x5B\\x5C]'
    ++'|\\x5C[\\s\\S]'
    ++'|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    ++'/');fallthroughStylePatterns.push(['lang-regex',new RegExp('^'+REGEXP_PRECEDER_PATTERN+'('+REGEX_LITERAL+')')]);}
    +var types=options['types'];if(types){fallthroughStylePatterns.push([PR_TYPE,types]);}
    +if(options['strings']){var strings=(""+options['strings']).replace(/^ | $/g,'').replace(/-/g,'\\-');fallthroughStylePatterns.push([PR_STRING,new RegExp('(?:'+strings.replace(/[\s,]+/g,'|')+')'),,null]);}
    +var keywords=(""+options['keywords']).replace(/^ | $/g,'');if(keywords.length){fallthroughStylePatterns.push([PR_KEYWORD,new RegExp('^(?:'+keywords.replace(/[\s,]+/g,'|')+')\\b'),null]);}
    +shortcutStylePatterns.push([PR_PLAIN,/^\s+/,null,' \r\n\t\xA0']);if(options['httpdComments']){fallthroughStylePatterns.push([PR_PLAIN,/^.*\S.*#/i,null]);}
    +fallthroughStylePatterns.push([PR_LITERAL,/^@[a-z_$][a-z_$@0-9]*|\bNULL\b/i,null],[PR_LITERAL,CONFIG_OPTIONS,null],[PR_TAG,/^\b(AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfDirective|IfFile|IfModule|IfSection|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|MDomainSet|Proxy|ProxyMatch|RequireAll|RequireAny|RequireNone|VirtualHost)\b/,null],[PR_TYPE,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_(t|req|module)\b)/,null],[PR_TAG,/^apr_[a-z_0-9]+|ap_[a-z_0-9]+/i,null],[PR_PLAIN,/^[a-z_$][a-z_$@0-9\-]*/i,null],[PR_LITERAL,new RegExp('^(?:'
    ++'0x[a-f0-9]+'
    ++'|[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+:[a-f0-9:]+'
    ++'|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    ++'(?:e[+\\-]?\\d+)?'
    ++')'
    ++'[a-z]*','i'),null,'0123456789'],[PR_PLAIN,/^\\[\s\S]?/,null],[PR_PUNCTUATION,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return createSimpleLexer(shortcutStylePatterns,fallthroughStylePatterns);}
    +var decorateSource=sourceDecorator({'keywords':ALL_KEYWORDS,'hashComments':true,'cStyleComments':true,'multiLineStrings':true,'regexLiterals':true});function numberLines(node,opt_startLineNum,isPreformatted){var nocode=/(?:^|\s)nocode(?:\s|$)/;var lineBreak=/\r\n?|\n/;var document=node.ownerDocument;var li=document.createElement('li');while(node.firstChild){li.appendChild(node.firstChild);}
    +var listItems=[li];function walk(node){switch(node.nodeType){case 1:if(nocode.test(node.className)){break;}
    +if('br'===node.nodeName){breakAfter(node);if(node.parentNode){node.parentNode.removeChild(node);}}else{for(var child=node.firstChild;child;child=child.nextSibling){walk(child);}}
    +break;case 3:case 4:if(isPreformatted){var text=node.nodeValue;var match=text.match(lineBreak);if(match){var firstLine=text.substring(0,match.index);node.nodeValue=firstLine;var tail=text.substring(match.index+match[0].length);if(tail){var parent=node.parentNode;parent.insertBefore(document.createTextNode(tail),node.nextSibling);}
    +breakAfter(node);if(!firstLine){node.parentNode.removeChild(node);}}}
    +break;}}
    +function breakAfter(lineEndNode){while(!lineEndNode.nextSibling){lineEndNode=lineEndNode.parentNode;if(!lineEndNode){return;}}
    +function breakLeftOf(limit,copy){var rightSide=copy?limit.cloneNode(false):limit;var parent=limit.parentNode;if(parent){var parentClone=breakLeftOf(parent,1);var next=limit.nextSibling;parentClone.appendChild(rightSide);for(var sibling=next;sibling;sibling=next){next=sibling.nextSibling;parentClone.appendChild(sibling);}}
    +return rightSide;}
    +var copiedListItem=breakLeftOf(lineEndNode.nextSibling,0);for(var parent;(parent=copiedListItem.parentNode)&&parent.nodeType===1;){copiedListItem=parent;}
    +listItems.push(copiedListItem);}
    +for(var i=0;i<listItems.length;++i){walk(listItems[i]);}
    +if(opt_startLineNum===(opt_startLineNum|0)){listItems[0].setAttribute('value',opt_startLineNum);}
    +var ol=document.createElement('ol');ol.className='linenums';var offset=Math.max(0,((opt_startLineNum-1))|0)||0;for(var i=0,n=listItems.length;i<n;++i){li=listItems[i];li.className='L'+((i+offset)%1);if(!li.firstChild){li.appendChild(document.createTextNode('\xA0'));}
    +ol.appendChild(li);}
    +node.appendChild(ol);}
    +function recombineTagsAndDecorations(job){var isIE8OrEarlier=/\bMSIE\s(\d+)/.exec(navigator.userAgent);isIE8OrEarlier=isIE8OrEarlier&&+isIE8OrEarlier[1]<=8;var newlineRe=/\n/g;var source=job.sourceCode;var sourceLength=source.length;var sourceIndex=0;var spans=job.spans;var nSpans=spans.length;var spanIndex=0;var decorations=job.decorations;var nDecorations=decorations.length;var decorationIndex=0;decorations[nDecorations]=sourceLength;var decPos,i;for(i=decPos=0;i<nDecorations;){if(decorations[i]!==decorations[i+2]){decorations[decPos++]=decorations[i++];decorations[decPos++]=decorations[i++];}else{i+=2;}}
    +nDecorations=decPos;for(i=decPos=0;i<nDecorations;){var startPos=decorations[i];var startDec=decorations[i+1];var end=i+2;while(end+2<=nDecorations&&decorations[end+1]===startDec){end+=2;}
    +decorations[decPos++]=startPos;decorations[decPos++]=startDec;i=end;}
    +nDecorations=decorations.length=decPos;var sourceNode=job.sourceNode;var oldDisplay;if(sourceNode){oldDisplay=sourceNode.style.display;sourceNode.style.display='none';}
    +try{var decoration=null;var X=0;while(spanIndex<nSpans){X=X+1;if(X>5000){break;}
    +var spanStart=spans[spanIndex];var spanEnd=spans[spanIndex+2]||sourceLength;var decEnd=decorations[decorationIndex+2]||sourceLength;var end=Math.min(spanEnd,decEnd);var textNode=spans[spanIndex+1];var styledText;if(textNode.nodeType!==1&&(styledText=source.substring(sourceIndex,end))){if(isIE8OrEarlier){styledText=styledText.replace(newlineRe,'\r');}
    +textNode.nodeValue=styledText;var document=textNode.ownerDocument;var span=document.createElement('span');span.className=decorations[decorationIndex+1];var parentNode=textNode.parentNode;parentNode.replaceChild(span,textNode);span.appendChild(textNode);if(sourceIndex<spanEnd){spans[spanIndex+1]=textNode=document.createTextNode(source.substring(end,spanEnd));parentNode.insertBefore(textNode,span.nextSibling);}}
    +sourceIndex=end;if(sourceIndex>=spanEnd){spanIndex+=2;}
    +if(sourceIndex>=decEnd){decorationIndex+=2;}}}finally{if(sourceNode){sourceNode.style.display=oldDisplay;}}}
    +var langHandlerRegistry={};function registerLangHandler(handler,fileExtensions){for(var i=fileExtensions.length;--i>=0;){var ext=fileExtensions[i];if(!langHandlerRegistry.hasOwnProperty(ext)){langHandlerRegistry[ext]=handler;}else if(win['console']){console['warn']('cannot override language handler %s',ext);}}}
    +function langHandlerForExtension(extension,source){if(!(extension&&langHandlerRegistry.hasOwnProperty(extension))){extension=/^\s*</.test(source)?'default-markup':'default-code';}
    +return langHandlerRegistry[extension];}
    +registerLangHandler(decorateSource,['default-code']);registerLangHandler(createSimpleLexer([],[[PR_PLAIN,/^[^<?]+/],[PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],['lang-',/^<\?([\s\S]+?)(?:\?>|$)/],['lang-',/^<%([\s\S]+?)(?:%>|$)/],[PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],['lang-',/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],['lang-js',/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],['lang-css',/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],['lang-in.tag',/^(<\/?[a-z][^<>]*>)/i]]),['default-markup','htm','html','mxml','xhtml','xml','xsl']);registerLangHandler(createSimpleLexer([[PR_PLAIN,/^[\s]+/,null,' \t\r\n'],[PR_ATTRIB_VALUE,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,'\"\'']],[[PR_TAG,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[PR_ATTRIB_NAME,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],['lang-uq.val',/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[PR_PUNCTUATION,/^[=<>\/]+/],['lang-js',/^on\w+\s*=\s*\"([^\"]+)\"/i],['lang-js',/^on\w+\s*=\s*\'([^\']+)\'/i],['lang-js',/^on\w+\s*=\s*([^\"\'>\s]+)/i],['lang-css',/^style\s*=\s*\"([^\"]+)\"/i],['lang-css',/^style\s*=\s*\'([^\']+)\'/i],['lang-css',/^style\s*=\s*([^\"\'>\s]+)/i]]),['in.tag']);registerLangHandler(createSimpleLexer([],[[PR_ATTRIB_VALUE,/^[\s\S]+/]]),['uq.val']);registerLangHandler(sourceDecorator({'keywords':CPP_KEYWORDS,'hashComments':true,'cStyleComments':true,'types':C_TYPES}),['c','cc','cpp','cxx','cyc','m']);registerLangHandler(sourceDecorator({'keywords':PHP_KEYWORDS,'hashComments':false,'cStyleComments':true,'multiLineStrings':true,'regexLiterals':true}),['php','phtml','inc']);registerLangHandler(sourceDecorator({'keywords':'null,true,false'}),['json']);registerLangHandler(sourceDecorator({'keywords':CSHARP_KEYWORDS,'hashComments':true,'cStyleComments':true,'verbatimStrings':true,'types':C_TYPES}),['cs']);registerLangHandler(sourceDecorator({'keywords':JAVA_KEYWORDS,'cStyleComments':true}),['java']);registerLangHandler(sourceDecorator({'keywords':SH_KEYWORDS,'hashComments':true,'multiLineStrings':true}),['bsh','csh','sh']);registerLangHandler(sourceDecorator({'keywords':PYTHON_KEYWORDS,'hashComments':true,'multiLineStrings':true,'tripleQuotedStrings':true}),['cv','py']);registerLangHandler(sourceDecorator({'keywords':PERL_KEYWORDS,'hashComments':true,'multiLineStrings':true,'regexLiterals':true}),['perl','pl','pm']);registerLangHandler(sourceDecorator({'keywords':RUBY_KEYWORDS,'hashComments':true,'multiLineStrings':true,'regexLiterals':true}),['rb']);registerLangHandler(sourceDecorator({'keywords':JSCRIPT_KEYWORDS,'cStyleComments':true,'regexLiterals':true}),['js']);registerLangHandler(sourceDecorator({'keywords':COFFEE_KEYWORDS,'hashComments':3,'cStyleComments':true,'multilineStrings':true,'tripleQuotedStrings':true,'regexLiterals':true}),['coffee']);registerLangHandler(createSimpleLexer([],[[PR_STRING,/^[\s\S]+/]]),['regex']);registerLangHandler(sourceDecorator({'keywords':CONFIG_KEYWORDS,'literals':CONFIG_OPTIONS,'strings':CONFIG_ENVS,'hashComments':true,'cStyleComments':false,'multiLineStrings':false,'regexLiterals':false,'httpdComments':true}),['config']);function applyDecorator(job){var opt_langExtension=job.langExtension;try{var sourceAndSpans=extractSourceSpans(job.sourceNode,job.pre);var source=sourceAndSpans.sourceCode;job.sourceCode=source;job.spans=sourceAndSpans.spans;job.basePos=0;langHandlerForExtension(opt_langExtension,source)(job);recombineTagsAndDecorations(job);}catch(e){if(win['console']){console['log'](e&&e['stack']?e['stack']:e);}}}
    +function prettyPrintOne(sourceCodeHtml,opt_langExtension,opt_numberLines){var container=document.createElement('pre');container.innerHTML=sourceCodeHtml;if(opt_numberLines){numberLines(container,opt_numberLines,true);}
    +var job={langExtension:opt_langExtension,numberLines:opt_numberLines,sourceNode:container,pre:1};applyDecorator(job);return container.innerHTML;}
    +function prettyPrint(opt_whenDone){function byTagName(tn){return document.getElementsByTagName(tn);}
    +var codeSegments=[byTagName('pre'),byTagName('code'),byTagName('xmp')];var elements=[];for(var i=0;i<codeSegments.length;++i){for(var j=0,n=codeSegments[i].length;j<n;++j){elements.push(codeSegments[i][j]);}}
    +codeSegments=null;var clock=Date;if(!clock['now']){clock={'now':function(){return+(new Date);}};}
    +var k=0;var prettyPrintingJob;var langExtensionRe=/\blang(?:uage)?-([\w.]+)(?!\S)/;var prettyPrintRe=/\bprettyprint\b/;var prettyPrintedRe=/\bprettyprinted\b/;var preformattedTagNameRe=/pre|xmp/i;var codeRe=/^code$/i;var preCodeXmpRe=/^(?:pre|code|xmp)$/i;function doWork(){var endTime=(win['PR_SHOULD_USE_CONTINUATION']?clock['now']()+250:Infinity);for(;k<elements.length&&clock['now']()<endTime;k++){var cs=elements[k];var className=cs.className;if(prettyPrintRe.test(className)&&!prettyPrintedRe.test(className)){var nested=false;for(var p=cs.parentNode;p;p=p.parentNode){var tn=p.tagName;if(preCodeXmpRe.test(tn)&&p.className&&prettyPrintRe.test(p.className)){nested=true;break;}}
    +if(!nested){cs.className+=' prettyprinted';var langExtension=className.match(langExtensionRe);var wrapper;if(!langExtension&&(wrapper=childContentWrapper(cs))&&codeRe.test(wrapper.tagName)){langExtension=wrapper.className.match(langExtensionRe);}
    +if(langExtension){langExtension=langExtension[1];}
    +var preformatted;if(preformattedTagNameRe.test(cs.tagName)){preformatted=1;}else{var currentStyle=cs['currentStyle'];var whitespace=(currentStyle?currentStyle['whiteSpace']:(document.defaultView&&document.defaultView.getComputedStyle)?document.defaultView.getComputedStyle(cs,null).getPropertyValue('white-space'):0);preformatted=whitespace&&'pre'===whitespace.substring(0,3);}
    +var lineNums=cs.className.match(/\blinenums\b(?::(\d+))?/);lineNums=lineNums?lineNums[1]&&lineNums[1].length?+lineNums[1]:true:false;if(lineNums){numberLines(cs,lineNums,preformatted);}
    +prettyPrintingJob={langExtension:langExtension,sourceNode:cs,numberLines:lineNums,pre:preformatted};applyDecorator(prettyPrintingJob);}}}
    +if(k<elements.length){setTimeout(doWork,250);}else if(opt_whenDone){opt_whenDone();}}
    +doWork();}
    +var PR=win['PR']={'createSimpleLexer':createSimpleLexer,'registerLangHandler':registerLangHandler,'sourceDecorator':sourceDecorator,'PR_ATTRIB_NAME':PR_ATTRIB_NAME,'PR_ATTRIB_VALUE':PR_ATTRIB_VALUE,'PR_COMMENT':PR_COMMENT,'PR_DECLARATION':PR_DECLARATION,'PR_KEYWORD':PR_KEYWORD,'PR_LITERAL':PR_LITERAL,'PR_NOCODE':PR_NOCODE,'PR_PLAIN':PR_PLAIN,'PR_PUNCTUATION':PR_PUNCTUATION,'PR_SOURCE':PR_SOURCE,'PR_STRING':PR_STRING,'PR_TAG':PR_TAG,'PR_TYPE':PR_TYPE,'prettyPrintOne':win['prettyPrintOne']=prettyPrintOne,'prettyPrint':win['prettyPrint']=prettyPrint};PR['registerLangHandler'](PR['createSimpleLexer']([[PR['PR_PLAIN'],/^[\t\n\r \xA0]+/,null,'\t\n\r \xA0'],[PR['PR_STRING'],/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,'"\'']],[[PR['PR_COMMENT'],/^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],[PR['PR_TYPE'],/^nil|false|true/],[PR['PR_STRING'],/^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],[PR['PR_KEYWORD'],/^(?:and|break|do|else|elseif|end|for|function|if|in|local|not|or|repeat|require|return|then|until|while)\b/,null],[PR['PR_LITERAL'],/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR['PR_PLAIN'],/^[a-z_]\w*/i],[PR['PR_PUNCTUATION'],/^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\'\-\+=]*/]]),['lua']);if(typeof define==="function"&&define['amd']){define("google-code-prettify",[],function(){return PR;});}})();
    \ No newline at end of file
    diff --git a/docs/manual/style/sitemap.dtd b/docs/manual/style/sitemap.dtd
    new file mode 100644
    index 0000000..829f326
    --- /dev/null
    +++ b/docs/manual/style/sitemap.dtd
    @@ -0,0 +1,42 @@
    +<?xml version='1.0' encoding='UTF-8' ?>
    +
    +<!--
    + 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.
    +-->
    +
    +<!ENTITY % common SYSTEM "common.dtd">
    +%common;
    +
    +<!-- <sitemap> is the root element -->
    +<!ELEMENT sitemap (title, summary?, seealso*, category*)>
    +
    +<!ATTLIST sitemap metafile CDATA  #REQUIRED
    +                  upgrade  CDATA  #IMPLIED
    +>
    +
    +<!-- <indexpage> is another root element -->
    +<!ELEMENT indexpage (parentdocument, title, category*)>
    +
    +<!ATTLIST indexpage metafile CDATA  #REQUIRED
    +                    upgrade  CDATA  #IMPLIED
    +>
    +
    +<!ELEMENT category (title, page*)>
    +<!ATTLIST category id ID #IMPLIED>
    +
    +<!ELEMENT page (#PCDATA)>
    +<!ATTLIST page href CDATA #IMPLIED
    +               separate (yes | no) "no" >
    diff --git a/docs/manual/style/version.ent b/docs/manual/style/version.ent
    new file mode 100644
    index 0000000..29e0dfc
    --- /dev/null
    +++ b/docs/manual/style/version.ent
    @@ -0,0 +1,24 @@
    +<?xml version='1.0' encoding='UTF-8' ?>
    +
    +<!--
    + 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.
    +-->
    +
    +<!ENTITY httpd.major "2">
    +<!ENTITY httpd.minor "4">
    +<!ENTITY httpd.patch "56">
    +
    +<!ENTITY httpd.docs "2.4">
    diff --git a/docs/manual/suexec.html b/docs/manual/suexec.html
    new file mode 100644
    index 0000000..33e872a
    --- /dev/null
    +++ b/docs/manual/suexec.html
    @@ -0,0 +1,21 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: suexec.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: suexec.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: suexec.html.ja.utf8
    +Content-Language: ja
    +Content-type: text/html; charset=UTF-8
    +
    +URI: suexec.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: suexec.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/suexec.html.en b/docs/manual/suexec.html.en
    new file mode 100644
    index 0000000..c51f6d9
    --- /dev/null
    +++ b/docs/manual/suexec.html.en
    @@ -0,0 +1,641 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>suEXEC Support - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="./images/feather.png" /></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.4</a></div><div id="page-content"><div id="preamble"><h1>suEXEC Support</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="./en/suexec.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>The <strong>suEXEC</strong> feature provides users of the Apache
    +    HTTP Server the ability
    +    to run <strong>CGI</strong> and <strong>SSI</strong> programs
    +    under user IDs different from the user ID of the calling
    +    web server. Normally, when a CGI or SSI program executes, it
    +    runs as the same user who is running the web server.</p>
    +
    +    <p>Used properly, this feature can reduce
    +    considerably the security risks involved with allowing users to
    +    develop and run private CGI or SSI programs. However, if suEXEC
    +    is improperly configured, it can cause any number of problems
    +    and possibly create new holes in your computer's security. If
    +    you aren't familiar with managing <em>setuid root</em> programs
    +    and the security issues they present, we highly recommend that
    +    you not consider using suEXEC.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Before we begin</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#model">suEXEC Security Model</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#install">Configuring &amp; Installing
    +    suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#enable">Enabling &amp; Disabling
    +    suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#usage">Using suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#debug">Debugging suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Beware the Jabberwock:
    +    Warnings &amp; Examples</a></li>
    +</ul><h3>See also</h3><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="before" id="before">Before we begin</a></h2>
    +
    +    <p>Before jumping head-first into this document,
    +    you should be aware that certain assumptions are made about you and
    +    the environment in which you will be using suexec.</p>
    +
    +    <p>First, it is assumed that you are using a UNIX
    +    derivative operating system that is capable of
    +    <strong>setuid</strong> and <strong>setgid</strong> operations.
    +    All command examples are given in this regard. Other platforms,
    +    if they are capable of supporting suEXEC, may differ in their
    +    configuration.</p>
    +
    +    <p>Second, it is assumed you are familiar with
    +    some basic concepts of your computer's security and its
    +    administration. This involves an understanding of
    +    <strong>setuid/setgid</strong> operations and the various
    +    effects they may have on your system and its level of
    +    security.</p>
    +
    +    <p>Third, it is assumed that you are using an
    +    <strong>unmodified</strong> version of suEXEC code. All code
    +    for suEXEC has been carefully scrutinized and tested by the
    +    developers as well as numerous beta testers. Every precaution
    +    has been taken to ensure a simple yet solidly safe base of
    +    code. Altering this code can cause unexpected problems and new
    +    security risks. It is <strong>highly</strong> recommended you
    +    not alter the suEXEC code unless you are well versed in the
    +    particulars of security programming and are willing to share
    +    your work with the Apache HTTP Server development team for consideration.</p>
    +
    +    <p>Fourth, and last, it has been the decision of
    +    the Apache HTTP Server development team to <strong>NOT</strong> make suEXEC part of
    +    the default installation of Apache httpd. To this end, suEXEC
    +    configuration requires of the administrator careful attention
    +    to details. After due consideration has been given to the
    +    various settings for suEXEC, the administrator may install
    +    suEXEC through normal installation methods. The values for
    +    these settings need to be carefully determined and specified by
    +    the administrator to properly maintain system security during
    +    the use of suEXEC functionality. It is through this detailed
    +    process that we hope to limit suEXEC
    +    installation only to those who are careful and determined
    +    enough to use it.</p>
    +
    +    <p>Still with us? Yes? Good. Let's move on!</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="model" id="model">suEXEC Security Model</a></h2>
    +
    +    <p>Before we begin configuring and installing
    +    suEXEC, we will first discuss the security model you are about
    +    to implement. By doing so, you may better understand what
    +    exactly is going on inside suEXEC and what precautions are
    +    taken to ensure your system's security.</p>
    +
    +    <p><strong>suEXEC</strong> is based on a setuid
    +    "wrapper" program that is called by the main Apache HTTP Server.
    +    This wrapper is called when an HTTP request is made for a CGI
    +    or SSI program that the administrator has designated to run as
    +    a userid other than that of the main server. When such a
    +    request is made, Apache httpd provides the suEXEC wrapper with the
    +    program's name and the user and group IDs under which the
    +    program is to execute.</p>
    +
    +    <p>The wrapper then employs the following process
    +    to determine success or failure -- if any one of these
    +    conditions fail, the program logs the failure and exits with an
    +    error, otherwise it will continue:</p>
    +
    +    <ol>
    +      <li>
    +        <strong>Is the user executing this wrapper a valid user of
    +        this system?</strong>
    +
    +        <p class="indent">
    +          This is to ensure that the user executing the wrapper is
    +          truly a user of the system.
    +        </p>
    +     </li>
    +
    +     <li>
    +        <strong>Was the wrapper called with the proper number of
    +        arguments?</strong>
    +
    +        <p class="indent">
    +          The wrapper will only execute if it is given the proper
    +          number of arguments. The proper argument format is known
    +          to the Apache HTTP Server. If the wrapper is not receiving
    +          the proper number of arguments, it is either being
    +          hacked, or there is something wrong with the suEXEC
    +          portion of your Apache httpd binary.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is this valid user allowed to run the
    +        wrapper?</strong>
    +
    +        <p class="indent">
    +          Is this user the user allowed to run this wrapper? Only
    +          one user (the Apache user) is allowed to execute this
    +          program.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Does the target CGI or SSI program have an unsafe
    +        hierarchical reference?</strong>
    +
    +        <p class="indent">
    +          Does the target CGI or SSI program's path contain a leading
    +          '/' or have a '..' backreference? These are not allowed; the
    +          target CGI/SSI program must reside within suEXEC's document
    +          root (see <code>--with-suexec-docroot=<em>DIR</em></code>
    +          below).
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target user name valid?</strong>
    +
    +        <p class="indent">
    +          Does the target user exist?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target group name valid?</strong>
    +
    +        <p class="indent">
    +          Does the target group exist?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target user <em>NOT</em> superuser?</strong>
    +
    +
    +        <p class="indent">
    +          suEXEC does not allow <code><em>root</em></code>
    +          to execute CGI/SSI programs.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target userid <em>ABOVE</em> the minimum ID
    +        number?</strong>
    +
    +        <p class="indent">
    +          The minimum user ID number is specified during
    +          configuration. This allows you to set the lowest possible
    +          userid that will be allowed to execute CGI/SSI programs.
    +          This is useful to block out "system" accounts.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target group <em>NOT</em> the superuser
    +        group?</strong>
    +
    +        <p class="indent">
    +          Presently, suEXEC does not allow the <code><em>root</em></code>
    +          group to execute CGI/SSI programs.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target groupid <em>ABOVE</em> the minimum ID
    +        number?</strong>
    +
    +        <p class="indent">
    +          The minimum group ID number is specified during
    +          configuration. This allows you to set the lowest possible
    +          groupid that will be allowed to execute CGI/SSI programs.
    +          This is useful to block out "system" groups.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Can the wrapper successfully become the target user
    +        and group?</strong>
    +
    +        <p class="indent">
    +          Here is where the program becomes the target user and
    +          group via setuid and setgid calls. The group access list
    +          is also initialized with all of the groups of which the
    +          user is a member.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Can we change directory to the one in which the target
    +        CGI/SSI program resides?</strong>
    +
    +        <p class="indent">
    +          If it doesn't exist, it can't very well contain files. If we
    +          can't change directory to it, it might as well not exist.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the directory within the httpd webspace?</strong>
    +
    +        <p class="indent">
    +          If the request is for a regular portion of the server, is
    +          the requested directory within suEXEC's document root? If
    +          the request is for a <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, is the requested directory
    +          within the directory configured as suEXEC's userdir (see
    +          <a href="#install">suEXEC's configuration options</a>)?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the directory <em>NOT</em> writable by anyone
    +        else?</strong>
    +
    +        <p class="indent">
    +          We don't want to open up the directory to others; only
    +          the owner user may be able to alter this directories
    +          contents.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Does the target CGI/SSI program exist?</strong>
    +
    +        <p class="indent">
    +          If it doesn't exists, it can't very well be executed.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target CGI/SSI program <em>NOT</em> writable
    +        by anyone else?</strong>
    +
    +        <p class="indent">
    +          We don't want to give anyone other than the owner the
    +          ability to change the CGI/SSI program.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target CGI/SSI program <em>NOT</em> setuid or
    +        setgid?</strong>
    +
    +        <p class="indent">
    +          We do not want to execute programs that will then change
    +          our UID/GID again.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Is the target user/group the same as the program's
    +        user/group?</strong>
    +
    +        <p class="indent">
    +          Is the user the owner of the file?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Can we successfully clean the process environment
    +        to ensure safe operations?</strong>
    +
    +        <p class="indent">
    +          suEXEC cleans the process's environment by establishing a
    +          safe execution PATH (defined during configuration), as
    +          well as only passing through those variables whose names
    +          are listed in the safe environment list (also created
    +          during configuration).
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Can we successfully become the target CGI/SSI program
    +        and execute?</strong>
    +
    +        <p class="indent">
    +          Here is where suEXEC ends and the target CGI/SSI program begins.
    +        </p>
    +      </li>
    +    </ol>
    +
    +    <p>This is the standard operation of the
    +    suEXEC wrapper's security model. It is somewhat stringent and
    +    can impose new limitations and guidelines for CGI/SSI design,
    +    but it was developed carefully step-by-step with security in
    +    mind.</p>
    +
    +    <p>For more information as to how this security
    +    model can limit your possibilities in regards to server
    +    configuration, as well as what security risks can be avoided
    +    with a proper suEXEC setup, see the <a href="#jabberwock">"Beware the Jabberwock"</a> section of this
    +    document.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="install" id="install">Configuring &amp; Installing
    +    suEXEC</a></h2>
    +
    +    <p>Here's where we begin the fun.</p>
    +
    +    <p><strong>suEXEC configuration
    +    options</strong><br />
    +    </p>
    +
    +    <dl>
    +      <dt><code>--enable-suexec</code></dt>
    +
    +      <dd>This option enables the suEXEC feature which is never
    +      installed or activated by default. At least one
    +      <code>--with-suexec-xxxxx</code> option has to be provided
    +      together with the <code>--enable-suexec</code> option to let
    +      APACI accept your request for using the suEXEC feature.</dd>
    +
    +      <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
    +
    +      <dd>The path to the <code>suexec</code> binary must be hard-coded
    +      in the server for security reasons. Use this option to override
    +      the default path. <em>e.g.</em>
    +      <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
    +
    +      <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
    +
    +      <dd>The <a href="mod/mpm_common.html#user">username</a> under which
    +      httpd normally runs. This is the only user allowed to
    +      execute the suEXEC wrapper.</dd>
    +
    +      <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
    +
    +      <dd>Define to be the subdirectory under users' home
    +      directories where suEXEC access should be allowed. All
    +      executables under this directory will be executable by suEXEC
    +      as the user so they should be "safe" programs. If you are
    +      using a "simple" <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
    +      directive (ie. one without a "*" in it) this should be set to the same
    +      value. suEXEC will not work properly in cases where the <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> directive points to
    +      a location that is not the same as the user's home directory
    +      as referenced in the <code>passwd</code> file. Default value is
    +      "<code>public_html</code>".<br />
    +      If you have virtual hosts with a different <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> for each,
    +      you will need to define them to all reside in one parent
    +      directory; then name that parent directory here. <strong>If
    +      this is not defined properly, "~userdir" cgi requests will
    +      not work!</strong></dd>
    +
    +      <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
    +
    +      <dd>Define as the DocumentRoot set for httpd. This will be
    +      the only hierarchy (aside from <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>s) that can be used for suEXEC behavior. The
    +      default directory is the <code>--datadir</code> value with the suffix
    +      "<code>/htdocs</code>", <em>e.g.</em> if you configure with
    +      "<code>--datadir=/home/apache</code>" the directory
    +      "<code>/home/apache/htdocs</code>" is used as document root for the
    +      suEXEC wrapper.</dd>
    +
    +      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
    +
    +      <dd>Define this as the lowest UID allowed to be a target user
    +      for suEXEC. For most systems, 500 or 100 is common. Default
    +      value is 100.</dd>
    +
    +      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
    +
    +      <dd>Define this as the lowest GID allowed to be a target
    +      group for suEXEC. For most systems, 100 is common and
    +      therefore used as default value.</dd>
    +
    +      <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
    +
    +      <dd>This defines the filename to which all suEXEC
    +      transactions and errors are logged (useful for auditing and
    +      debugging purposes). By default the logfile is named
    +      "<code>suexec_log</code>" and located in your standard logfile
    +      directory (<code>--logfiledir</code>).</dd>
    +
    +      <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
    +
    +      <dd>Define a safe PATH environment to pass to CGI
    +      executables. Default value is
    +      "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
    +    </dl>
    +
    +    <h3>Compiling and installing the suEXEC wrapper</h3>
    +      
    +
    +      <p>If you have enabled the suEXEC feature with the
    +      <code>--enable-suexec</code> option the <code>suexec</code> binary
    +      (together with httpd itself) is automatically built if you execute
    +      the <code>make</code> command.</p>
    +
    +      <p>After all components have been built you can execute the
    +      command <code>make install</code> to install them. The binary image
    +      <code>suexec</code> is installed in the directory defined by the
    +      <code>--sbindir</code> option. The default location is
    +      "/usr/local/apache2/bin/suexec".</p>
    +
    +      <p>Please note that you need <strong><em>root
    +      privileges</em></strong> for the installation step. In order
    +      for the wrapper to set the user ID, it must be installed as
    +      owner <code><em>root</em></code> and must have the setuserid
    +      execution bit set for file modes.</p>
    +    
    +
    +    <h3>Setting paranoid permissions</h3>
    +      
    +
    +      <p>Although the suEXEC wrapper will check to ensure that its
    +      caller is the correct user as specified with the
    +      <code>--with-suexec-caller</code> <code class="program"><a href="./programs/configure.html">configure</a></code>
    +      option, there is
    +      always the possibility that a system or library call suEXEC uses
    +      before this check may be exploitable on your system. To counter
    +      this, and because it is best-practise in general, you should use
    +      filesystem permissions to ensure that only the group httpd
    +      runs as may execute suEXEC.</p>
    +
    +      <p>If for example, your web server is configured to run as:</p>
    +
    +      <pre class="prettyprint lang-config">User www
    +Group webgroup</pre>
    +
    +
    +      <p>and <code class="program"><a href="./programs/suexec.html">suexec</a></code> is installed at
    +      "/usr/local/apache2/bin/suexec", you should run:</p>
    +
    +      <div class="example"><p><code>
    +          chgrp webgroup /usr/local/apache2/bin/suexec<br />
    +          chmod 4750 /usr/local/apache2/bin/suexec<br />
    +      </code></p></div>
    +
    +      <p>This will ensure that only the group httpd runs as can even
    +      execute the suEXEC wrapper.</p>
    +    
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="enable" id="enable">Enabling &amp; Disabling
    +    suEXEC</a></h2>
    +
    +    <p>Upon startup of httpd, it looks for the file
    +    <code class="program"><a href="./programs/suexec.html">suexec</a></code> in the directory defined by the
    +    <code>--sbindir</code> option (default is
    +    "/usr/local/apache/sbin/suexec"). If httpd finds a properly
    +    configured suEXEC wrapper, it will print the following message
    +    to the error log:</p>
    +
    +<div class="example"><p><code>
    +    [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
    +</code></p></div>
    +
    +    <p>If you don't see this message at server startup, the server is
    +    most likely not finding the wrapper program where it expects
    +    it, or the executable is not installed <em>setuid root</em>.</p>
    +
    +     <p>If you want to enable the suEXEC mechanism for the first time
    +    and an Apache HTTP Server is already running you must kill and
    +    restart httpd. Restarting it with a simple HUP or USR1 signal
    +    will not be enough. </p>
    +     <p>If you want to disable suEXEC you should kill and restart
    +    httpd after you have removed the <code class="program"><a href="./programs/suexec.html">suexec</a></code> file.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="usage" id="usage">Using suEXEC</a></h2>
    +
    +    <p>Requests for CGI programs will call the suEXEC wrapper only if
    +    they are for a virtual host containing a <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> directive or if
    +    they are processed by <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
    +
    +    <p><strong>Virtual Hosts:</strong><br /> One way to use the suEXEC
    +    wrapper is through the <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> directive in
    +    <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> definitions.  By
    +    setting this directive to values different from the main server
    +    user ID, all requests for CGI resources will be executed as the
    +    <em>User</em> and <em>Group</em> defined for that <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. If this
    +    directive is not specified for a <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> then the main server userid
    +    is assumed.</p>
    +
    +    <p><strong>User directories:</strong><br /> Requests that are
    +     processed by <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> will call the suEXEC
    +     wrapper to execute CGI programs under the userid of the requested
    +     user directory.  The only requirement needed for this feature to
    +     work is for CGI execution to be enabled for the user and that the
    +     script must meet the scrutiny of the <a href="#model">security
    +     checks</a> above.  See also the
    +     <code>--with-suexec-userdir</code> <a href="#install">compile
    +     time option</a>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="debug" id="debug">Debugging suEXEC</a></h2>
    +
    +    <p>The suEXEC wrapper will write log information
    +    to the file defined with the <code>--with-suexec-logfile</code>
    +    option as indicated above. If you feel you have configured and
    +    installed the wrapper properly, have a look at this log and the
    +    error_log for the server to see where you may have gone astray.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="jabberwock" id="jabberwock">Beware the Jabberwock:
    +    Warnings &amp; Examples</a></h2>
    +
    +    <p><strong>NOTE!</strong> This section may not be
    +    complete.</p>
    +
    +    <p>There are a few points of interest regarding
    +    the wrapper that can cause limitations on server setup. Please
    +    review these before submitting any "bugs" regarding suEXEC.</p>
    +
    +    <p><strong>suEXEC Points Of Interest</strong></p>
    +    <ul>
    +
    +      <li>
    +        Hierarchy limitations
    +
    +        <p class="indent">
    +          For security and efficiency reasons, all suEXEC requests
    +          must remain within either a top-level document root for
    +          virtual host requests, or one top-level personal document
    +          root for userdir requests. For example, if you have four
    +          VirtualHosts configured, you would need to structure all
    +          of your VHosts' document roots off of one main httpd
    +          document hierarchy to take advantage of suEXEC for
    +          VirtualHosts. (Example forthcoming.)
    +        </p>
    +      </li>
    +
    +      <li>
    +        suEXEC's PATH environment variable
    +
    +        <p class="indent">
    +          This can be a dangerous thing to change. Make certain
    +          every path you include in this define is a
    +          <strong>trusted</strong> directory. You don't want to
    +          open people up to having someone from across the world
    +          running a trojan horse on them.
    +        </p>
    +      </li>
    +
    +      <li>
    +        Altering the suEXEC code
    +
    +        <p class="indent">
    +          Again, this can cause <strong>Big Trouble</strong> if you
    +          try this without knowing what you are doing. Stay away
    +          from it if at all possible.
    +        </p>
    +      </li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="./en/suexec.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/suexec.html.fr.utf8 b/docs/manual/suexec.html.fr.utf8
    new file mode 100644
    index 0000000..481dcd9
    --- /dev/null
    +++ b/docs/manual/suexec.html.fr.utf8
    @@ -0,0 +1,689 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Support suEXEC - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="./images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Support suEXEC</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>La fonctionnalité <strong>suEXEC</strong> permet
    +    l'exécution des programmes <strong>CGI</strong> et
    +    <strong>SSI</strong> sous un utilisateur autre que celui sous
    +    lequel s'exécute le serveur web qui appelle ces programmes.
    +    Normalement, lorsqu'un programme CGI ou SSI est lancé, il
    +    s'exécute sous le même utilisateur que celui du serveur web qui
    +    l'appelle.</p>
    +
    +    <p>Utilisée de manière appropriée, cette fonctionnalité peut
    +    réduire considérablement les risques de sécurité encourus
    +    lorsqu'on autorise les utilisateurs à développer et faire
    +    s'exécuter des programmes CGI ou SSI de leur cru. Cependant, mal
    +    configuré, suEXEC peut causer de nombreux problèmes et même créer
    +    de nouvelles failles dans la sécurité de votre ordinateur. Si
    +    vous n'êtes pas familier avec la gestion des programmes
    +    <em>setuid root</em> et les risques de sécurité qu'ils comportent,
    +    nous vous recommandons vivement de ne pas tenter
    +    d'utiliser suEXEC.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Avant de commencer</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#model">Modèle de sécurité de suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#install">Configurer et installer suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#enable">Activation et désactivation
    +de suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#usage">Utilisation de suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#debug">Débogage de suEXEC</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Avis à la population !
    +    Avertissements et exemples</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</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="before" id="before">Avant de commencer</a></h2>
    +
    +    <p>Avant de foncer tête baissée dans la lecture de ce document,
    +    vous devez tenir compte de certaines hypothèses concernant vous-même
    +    et l'environnement dans lequel vous allez utiliser suexec.</p>
    +
    +    <p>Premièrement, vous devez utiliser un système d'exploitation
    +    UNIX ou dérivé, capable d'effectuer des opérations
    +    <strong>setuid</strong> et <strong>setgid</strong>. Tous les
    +    exemples de commande sont donnés en conséquence. D'autres
    +    plates-formes, même si elles supportent suEXEC, peuvent
    +    avoir une configuration différente.</p>
    +
    +    <p>Deuxièmement, vous devez être familier avec les concepts de base
    +    relatifs à la sécurité de votre ordinateur et son administration.
    +    Ceci implique la compréhension des opérations
    +    <strong>setuid/setgid</strong> et des différents effets qu'elles
    +    peuvent produire sur votre système et son niveau de sécurité.</p>
    +
    +    <p>Troisièmement, vous devez utiliser une version
    +    <strong>non modifiée</strong> du code de suEXEC. L'ensemble du
    +    code de suEXEC a été scruté et testé avec soin par les développeurs
    +    et de nombreux bêta testeurs. Toutes les précautions ont été prises
    +    pour s'assurer d'une base sûre de code non seulement simple, mais
    +    aussi solide. La modification de ce code peut causer des problèmes
    +    inattendus et de nouveaux risques de sécurité. Il est
    +    <strong>vivement</strong> recommandé de ne pas modifier le code de
    +    suEXEC, à moins que vous ne soyez un programmeur spécialiste des
    +    particularités liées à la sécurité, et souhaitez partager votre
    +    travail avec l'équipe de développement du serveur HTTP Apache afin
    +    de pouvoir en discuter.</p>
    +
    +    <p>Quatrièmement et dernièrement, l'équipe de développement du
    +    serveur HTTP Apache a décidé de ne
    +    <strong>PAS</strong> inclure suEXEC dans l'installation par défaut
    +    d'Apache httpd. Pour pouvoir mettre en oeuvre suEXEC, l'administrateur
    +    doit porter la plus grande attention aux détails. Après avoir bien
    +    réfléchi aux différents points de la configuration de suEXEC,
    +    l'administrateur peut l'installer selon les méthodes classiques.
    +    Les valeurs des paramètres de configuration doivent être
    +    déterminées et spécifiées avec soin par l'administrateur, afin de
    +    maintenir la sécurité du système de manière appropriée lors de
    +    l'utilisation de la fonctionnalité suEXEC. C'est par le biais de
    +    ce processus minutieux que nous espérons réserver
    +    l'installation de suEXEC aux administrateurs prudents et
    +    suffisamment déterminés à vouloir l'utiliser.</p>
    +
    +    <p>Vous êtes encore avec nous ? Oui ? Bien.
    +    Alors nous pouvons continuer !</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="model" id="model">Modèle de sécurité de suEXEC</a></h2>
    +
    +    <p>Avant d'installer et configurer suEXEC, nous allons tout d'abord
    +    décrire le modèle de sécurité que vous êtes sur le point
    +    d'implémenter. Vous devriez ainsi mieux comprendre ce qui se passe
    +    vraiment à l'intérieur de suEXEC et quelles précautions ont été
    +    prises pour préserver la sécurité de votre système.</p>
    +
    +    <p><strong>suEXEC</strong> est basé sur un programme "conteneur"
    +    (wrapper) setuid qui est appelé par le serveur HTTP Apache principal.
    +    Ce conteneur est appelé quand une requête HTTP concerne
    +    un programme CGI ou SSI que l'administrateur
    +    a décidé de faire s'exécuter
    +    sous un utilisateur autre que celui du serveur principal.
    +    Lorsqu'il reçoit une telle requête, Apache httpd fournit au conteneur
    +    suEXEC le nom du programme, ainsi que les identifiants utilisateur
    +    et groupe sous lesquels le programme doit s'exécuter.</p>
    +
    +    <p>Le conteneur effectue ensuite les vérifications suivantes afin
    +    de déterminer la réussite ou l'échec du processus -- si une seule
    +    de ces conditions n'est pas vérifiée, le programme journalise
    +    l'erreur et se termine en retournant un code d'erreur, sinon il
    +    continue :</p>
    +
    +    <ol>
    +      <li>
    +        <strong>L'utilisateur qui exécute le conteneur est-il un
    +	utilisateur valide de ce système ?</strong>
    +
    +        <p class="indent">
    +          Ceci permet de s'assurer que l'utilisateur qui exécute le
    +	  conteneur est vraiment un utilisateur appartenant au système.
    +        </p>
    +     </li>
    +
    +     <li>
    +        <strong>Le conteneur a-t-il été appelé avec un nombre
    +	d'arguments correct ?</strong>
    +
    +        <p class="indent">
    +          Le conteneur ne s'exécutera que si on lui fournit un nombre
    +	  d'arguments correct. Le serveur HTTP apache sait quel est le
    +	  bon format des arguments. Si le conteneur ne reçoit pas un
    +	  nombre d'arguments correct, soit il a été modifié,
    +	  soit quelque chose ne va pas dans la portion suEXEC de
    +	  votre binaire Apache httpd.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Cet utilisateur valide est-il autorisé à exécuter le
    +	conteneur ?</strong>
    +
    +        <p class="indent">
    +          Cet utilisateur est-il celui autorisé à exécuter le
    +	  conteneur ? Un seul utilisateur (celui d'Apache) est
    +	  autorisé à exécuter ce programme.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le chemin du programme CGI ou SSI cible est-il
    +	non sûr ?</strong>
    +
    +        <p class="indent">
    +          Le chemin du programme CGI ou SSI cible débute-t-il par un
    +	  '/' ou contient-il une référence arrière '..' ? Ceci est
    +	  interdit ; le programme CGI ou SSI cible doit se trouver dans
    +	  la hiérarchie de la racine des documents de suEXEC (voir
    +	  <code>--with-suexec-docroot=<em>DIR</em></code> ci-dessous).
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le nom utilisateur cible est-il valide ?</strong>
    +
    +        <p class="indent">
    +          L'utilisateur cible existe-t-il ?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le nom du groupe cible est-il valide ?</strong>
    +
    +        <p class="indent">
    +          Le groupe cible existe-t-il ?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>L'utilisateur cible n'est-il <em>PAS</em>
    +	superutilisateur ?</strong>
    +
    +
    +        <p class="indent">
    +          suEXEc ne permet pas à
    +	  <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le numéro de l'identifiant de l'utilisateur cible
    +	est-il <em>SUPERIEUR</em> au numéro d'identifiant
    +	minimum ?</strong>
    +
    +        <p class="indent">
    +          Le numéro d'identifiant utilisateur minimum est défini à
    +	  l'exécution du script configure. Ceci vous permet de définir
    +	  le numéro d'identifiant utilisateur le plus bas qui sera
    +	  autorisé à éxécuter des programmes CGI/SSI. En particulier,
    +	  cela permet d'écarter les comptes système.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le groupe cible n'est-il <em>PAS</em> le groupe
    +	superutilisateur ?</strong>
    +
    +        <p class="indent">
    +          Actuellement, suEXEC ne permet pas au groupe
    +	  <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong> Le numéro d'identifiant du groupe cible est-il
    +	<em>SUPERIEUR</em> au numéro d'identifiant minimum ?</strong>
    +
    +        <p class="indent">
    +          Le numéro d'identifiant de groupe minimum est spécifié lors
    +	  de l'exécution du script configure. Ceci vous permet de
    +	  définir l'identifiant de groupe le plus bas possible qui sera
    +	  autorisé à exécuter des programmes CGI/SSI, et est
    +	  particulièrement utile pour écarter les groupes "système".
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le conteneur peut-il obtenir avec succès l'identité
    +	des utilisateur et groupe cibles ?</strong>
    +
    +        <p class="indent">
    +          C'est ici que le programme obtient l'identité des utilisateur
    +	  et groupe cibles via des appels à setuid et setgid. De même,
    +	  la liste des accès groupe est initialisée avec tous les
    +	  groupes auxquels l'utilisateur cible appartient.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Peut-on se positionner dans le répertoire dans dequel
    +	sont situés les programmes CGI/SSI ?</strong>
    +
    +        <p class="indent">
    +          S'il n'existe pas, il ne peut pas contenir de fichier. Et si
    +	  l'on ne peut pas s'y positionner, il n'existe probablement
    +	  pas.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le répertoire est-il dans l'espace web
    +	de httpd ?</strong>
    +
    +        <p class="indent">
    +          Si la requête concerne une portion de la racine du serveur,
    +	  le répertoire demandé est-il dans la hiérarchie de la racine
    +	  des documents de suEXEC ? Si la requête concerne un
    +	 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, le répertoire demandé est-il dans
    +	  la hiérarchie du répertoire défini comme le répertoire
    +	  utilisateur de suEXEC (voir les
    +	  <a href="#install">options de configuration de suEXEC</a>) ?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>L'écriture dans le répertoire est-elle interdite pour
    +	un utilisateur autre que le propriétaire </strong>
    +
    +        <p class="indent">
    +          Le répertoire ne doit pas être ouvert aux autres
    +	  utilisateurs ; seul l'utilisateur propriétaire doit pouvoir
    +	  modifier le contenu du répertoire.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le programme CGI/SSI cible existe-t-il ?</strong>
    +
    +        <p class="indent">
    +          S'il n'existe pas, il ne peut pas être exécuté.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Les utilisateurs autres que le propriétaire n'ont-ils
    +	<em>PAS</em> de droits en écriture sur le programme
    +	CGI/SSI ?</strong>
    +
    +        <p class="indent">
    +          Les utilisateurs autres que le propriétaire ne doivent pas
    +	  pouvoir modifier le programme CGI/SSI.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le programme CGI/SSI n'est-il <em>PAS</em> setuid ou
    +	setgid ?</strong>
    +
    +        <p class="indent">
    +          Les programmes cibles ne doivent pas pouvoir modifier à
    +	  nouveau les identifiants utilisateur/groupe.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le couple utilisateur/groupe cible est-il le même que
    +	celui du programme ?</strong>
    +
    +        <p class="indent">
    +          L'utilisateur est-il le propriétaire du fichier ?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Peut-on nettoyer avec succès l'environnement des
    +	processus afin de garantir la sûreté des opérations ?</strong>
    +
    +        <p class="indent">
    +          suExec nettoie l'environnement des processus en établissant
    +	  un chemin d'exécution sûr (défini lors de la configuration),
    +	  et en ne passant que les variables dont les noms font partie
    +	  de la liste de l'environnement sûr (créée de même lors de la
    +	  configuration).
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>Le conteneur peut-il avec succès se substituer au
    +	programme CGI/SSI cible et s'exécuter ?</strong>
    +
    +        <p class="indent">
    +          C'est là où l'exécution de suEXEC s'arrête et où commence
    +	  celle du programme CGI/ssi cible.
    +        </p>
    +      </li>
    +    </ol>
    +
    +    <p>Ce sont les opérations standards effectuées par le modèle de
    +    sécurité du conteneur suEXEC. Il peut paraître strict et est
    +    susceptible d'imposer de nouvelles limitations et orientations
    +    dans la conception des programmes CGI/SSI, mais il a été développé
    +    avec le plus grand soin, étape par étape, en se focalisant sur
    +    la sécurité.</p>
    +
    +    <p>Pour plus d'informations sur la mesure dans laquelle ce modèle
    +    de sécurité peut limiter vos possibilités au regard de la
    +    configuration du serveur, ainsi que les risques de sécurité qui
    +    peuvent être évités grâce à une configuration appropriée de suEXEC,
    +    se référer à la section <a href="#jabberwock">"Avis à la population !"</a> de ce document.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="install" id="install">Configurer et installer suEXEC</a></h2>
    +
    +    <p>C'est ici que nous entrons dans le vif du sujet.</p>
    +
    +    <p><strong>Options de configuration de suEXEC</strong><br />
    +    </p>
    +
    +    <dl>
    +      <dt><code>--enable-suexec</code></dt>
    +
    +      <dd>Cette option active la fonctionnalité suEXEC qui n'est
    +      jamais installée ou activée par défaut. Au moins une option
    +      <code>--with-suexec-xxxxx</code> doit accompagner l'option
    +      <code>--enable-suexec</code> pour qu'APACI (l'utilitaire de
    +      configuration de la compilation d'Apache) accepte votre demande
    +      d'utilisation de la fonctionnalité suEXEC.</dd>
    +
    +      <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
    +
    +      <dd>Le chemin du binaire <code>suexec</code> doit être codé en
    +      dur dans le serveur pour des raisons de sécurité. Cette option
    +      vous permet de modifier le chemin par défaut.
    +      <em>Par exemple</em>
    +      <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
    +
    +      <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
    +
    +      <dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous
    +      lequel httpd s'exécute habituellement. C'est le seul utilisateur
    +      autorisé à exécuter le wrapper suEXEC.</dd>
    +
    +      <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
    +
    +      <dd>Cette option définit le sous-répertoire de la hiérarchie des
    +      répertoires utilisateurs dans lequel l'utilisation
    +      de suEXEC sera autorisée. Tous les exécutables situés dans ce
    +      répertoire seront exécutables par suEXEC sous l'utilisateur
    +      cible ; ces programmes doivent donc être sûrs. Si vous utilisez
    +      une directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
    +      "simple" (c'est à dire ne contenant pas de
    +      "*"), l'option --with-suexec-userdir
    +      devra contenir la même valeur. SuEXEC ne fonctionnera pas
    +      correctement si la directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur
    +      différente du répertoire home de l'utilisateur tel qu'il est
    +      défini dans le fichier <code>passwd</code>. la valeur par défaut
    +      est "<code>public_html</code>".<br />
    +      Si vous avez plusieurs hôtes virtuels avec une directive
    +      <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> différente
    +      pour chacun d'entre eux, vous devrez faire en sorte que chaque
    +      UserDir possède un répertoire parent commun ; donnez alors à
    +      l'option --with-suexec-userdir le nom
    +      de ce répertoire commun. <strong>Si tout ceci n'est pas défini
    +      correctement, les requêtes CGI "~userdir" ne fonctionneront
    +      pas !</strong></dd>
    +
    +      <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
    +
    +      <dd>Cette option fonctionne comme la directive DocumentRoot pour
    +      httpd. Il s'agit de la seule hiérarchie (en dehors des directives
    +      <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalité suEXEC
    +      pourra être utilisée. La valeur par défaut est la valeur de
    +      <code>--datadir</code> accompagnée du suffixe
    +      "<code>/htdocs</code>" ;
    +      <em>Par exemple</em>, si vous exécutez configure avec
    +      "<code>--datadir=/home/apache</code>", la valeur
    +      "<code>/home/apache/htdocs</code>" sera utilisée par défaut comme
    +      racine des documents pour le conteneur suEXEC.</dd>
    +
    +      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
    +
    +      <dd>Cette option définit l'identifiant utilisateur le plus bas
    +      avec lequel un utilisateur pourra être la cible de
    +      suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des
    +      systèmes. la valeur par défaut est 100.</dd>
    +
    +      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
    +
    +      <dd>Cette option définit l'identifiant de groupe le plus bas
    +      avec lequel un utilisateur pourra être la cible de
    +      suEXEC. 100 est une valeur courante sur la plupart des
    +      systèmes et est par conséquent la valeur par défaut.</dd>
    +
    +      <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
    +
    +      <dd>Cette option permet de définir le fichier dans lequel
    +      toutes les transactions et erreurs de suEXEC seront journalisées
    +      (à des fins d'analyse ou de débogage). Par défaut, le fichier
    +      journal se nomme "<code>suexec_log</code>" et se trouve dans votre
    +      répertoire standard des fichiers journaux défini par
    +      <code>--logfiledir</code></dd>
    +
    +      <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
    +
    +      <dd>Cette option permet de définir une variable d'environnement
    +      PATH sûre à passer aux exécutables CGI. La valeur par défaut
    +      est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
    +    </dl>
    +
    +    <h3>Compilation et installation du conteneur suEXEC</h3>
    +      
    +
    +    <p>Si vous avez activé la fonctionnalité suEXEC à l'aide de
    +     l'option <code>--enable-suexec</code>, le binaire
    +     <code>suexec</code> sera automatiquement construit (en même temps
    +     que httpd) lorsque vous exécuterez la commande
    +     <code>make</code>.</p>
    +
    +     <p>Lorsque tous les composants auront été construits, vous pourrez
    +     exécuter la commande <code>make install</code> afin de les
    +     installer. Le binaire <code>suexec</code> sera installé dans le
    +     répertoire défini à l'aide de l'option <code>--sbindir</code>. La
    +     localisation par défaut est "/usr/local/apache2/bin/suexec".</p>
    +     <p>Veuillez noter que vous aurez besoin des
    +     <strong><em>privilèges root</em></strong> pour passer l'étape de
    +     l'installation. Pour que le conteneur puisse changer
    +     l'identifiant utilisateur, il doit avoir comme propriétaire
    +     <code><em>root</em></code>, et les droits du fichier doivent
    +     inclure le bit d'exécution setuserid.</p>
    +   
    +
    +   <h3>&gt;Mise en place de permissions pour
    +    paranoïaque</h3>
    +	
    +    <p>Bien que le conteneur suEXEC vérifie que l'utilisateur qui
    +    l'appelle correspond bien à l'utilisateur spécifié à l'aide de
    +    l'option <code>--with-suexec-caller</code> du programme
    +    <code class="program"><a href="./programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un
    +    appel système ou une bibliothèque fasse appel à suEXEC avant que
    +    cette vérification ne soit exploitable sur votre système. Pour
    +    tenir compte de ceci, et parce que c'est en général la meilleure
    +    pratique, vous devez utiliser les permissions du système de
    +    fichiers afin de vous assurer que seul le groupe sous lequel
    +    s'exécute httpd puisse faire appel à suEXEC.</p>
    +
    +    <p>Si, par exemple, votre serveur web est configuré pour
    +    s'exécuter en tant que :</p>
    +
    +<pre class="prettyprint lang-config">User www
    +Group webgroup</pre>
    +
    +
    +    <p>et <code class="program"><a href="./programs/suexec.html">suexec</a></code> se trouve à
    +    "/usr/local/apache2/bin/suexec", vous devez exécuter les
    +    commandes</p>
    +
    +<div class="example"><p><code>
    +    chgrp webgroup /usr/local/apache2/bin/suexec<br />
    +    chmod 4750 /usr/local/apache2/bin/suexec<br />
    +</code></p></div>
    +
    +    <p>Ceci permet de s'assurer que seul le groupe sous lequel httpd
    +    s'exécute (ici webgroup) puisse faire appel au conteneur
    +    suEXEC.</p>
    +  
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="enable" id="enable">Activation et désactivation
    +de suEXEC</a></h2>
    +
    +    <p>Au démarrage, httpd vérifie la présence du fichier
    +    <code class="program"><a href="./programs/suexec.html">suexec</a></code> dans le répertoire défini par
    +    l'option <code>--sbindir</code> du script configure (le
    +    répertoire par défaut est "/usr/local/apache/sbin/suexec"). Si
    +    httpd trouve un conteneur suEXEC correctement configuré, il
    +    enregistrera le message suivant dans le journal des erreurs :</p>
    +
    +<div class="example"><p><code>
    +    [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
    +</code></p></div>
    +
    +    <p>Si ce message n'est pas généré au démarrage du serveur, ce
    +    dernier ne trouve probablement pas le programme conteneur à
    +    l'endroit où il est sensé être, ou l'exécutable suexec n'est pas
    +    installé en <em>setuid root</em>.</p>
    +
    +     <p>Si le serveur HTTP Apache est déjà en cours d'exécution, et si
    +     vous activez le mécanisme suEXEC pour la première fois, vous
    +     devez arrêter et redémarrer httpd. Un redémarrage
    +     à l'aide d'un simple signal HUP ou USR1 suffira. </p>
    +     <p>Pour désactiver suEXEC, vous devez supprimer le fichier
    +     <code class="program"><a href="./programs/suexec.html">suexec</a></code>, puis arrêter et redémarrer
    +     httpd.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="usage" id="usage">Utilisation de suEXEC</a></h2>
    +
    +    <p>Les requêtes pour des programmes CGI ne feront appel au
    +    conteneur suEXEC que si elles concernent un hôte virtuel
    +    contenant une directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont
    +    traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
    +
    +    <p><strong>Hôtes virtuels :</strong><br /> Une des méthodes
    +    d'utilisation du conteneur suEXEC consiste à insérer une
    +    directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section
    +    <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>. En définissant
    +    des valeurs différentes de celles du serveur principal, toutes les
    +    requêtes pour des ressources CGI seront exécutées sous
    +    les <em>User</em> et <em>Group</em> définis pour cette section
    +    <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. Si cette
    +    directive est absente de la section <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>, l'utilisateur du
    +    serveur principal sera pris par défaut</p>
    +
    +    <p><strong>Répertoires des utilisateurs :</strong><br /> Avec
    +    cette méthode, les
    +    requêtes traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> appelleront le
    +    conteneur suEXEC pour exécuter le programme CGI sous l'identifiant
    +    utilisateur du répertoire utilisateur concerné. Seuls prérequis
    +    pour pouvoir accéder à cette fonctionnalité : l'exécution des CGI
    +    doit être activée pour l'utilisateur concerné, et le script doit
    +    passer avec succès le test des <a href="#model">vérifications de
    +    sécurité</a> décrit plus haut. Voir aussi l'
    +    <a href="#install">option de compilation</a>
    +    <code>--with-suexec-userdir</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="debug" id="debug">Débogage de suEXEC</a></h2>
    +
    +    <p>Le conteneur suEXEC va écrire ses informations de journalisation
    +    dans le fichier défini par l'option de compilation
    +    <code>--with-suexec-logfile</code> comme indiqué plus haut. Si vous
    +    pensez avoir configuré et installé correctement le conteneur,
    +    consultez ce journal, ainsi que le journal des erreurs du serveur
    +    afin de déterminer l'endroit où vous avez fait fausse route.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="jabberwock" id="jabberwock">Avis à la population !
    +    Avertissements et exemples</a></h2>
    +
    +    <p><strong>NOTE !</strong> Cette section est peut-être
    +    incomplète.</p>
    +
    +    <p>Quelques points importants du conteneur peuvent
    +    imposer des contraintes du point de vue de la configuration du
    +    serveur. Veuillez en prendre connaissance avant de soumettre un
    +    rapport de bogue à propos de suEXEC.</p>
    +
    +    <p><strong>Points importants à propos de suEXEC</strong></p>
    +    <ul>
    + 
    +      <li>
    +        Limitations concernant la hiérarchie.
    +
    +        <p class="indent">
    +          Pour des raisons de sécurité et d'efficacité, toutes les
    +	  requêtes suEXEC ne doivent concerner que des ressources
    +	  situées dans la racine des documents définie pour les
    +	  requêtes concernant un hôte virtuel, ou des ressources
    +	  situées dans la racine des documents définies pour les
    +	  requêtes concernant un répertoire utilisateur. Par exemple,
    +	  si vous avez configuré quatre hôtes virtuels, vous devrez
    +	  définir la structure des racines de documents de vos hôtes
    +	  virtuels en dehors d'une hiérarchie de documents principale
    +	  de httpd, afin de tirer parti de suEXEC dans le contexte des
    +	  hôtes virtuels (Exemple à venir).
    +        </p>
    +      </li>
    +
    +      <li>
    +        La variable d'environnement PATH de suEXEC
    +
    +        <p class="indent">
    +          Modifier cette variable peut s'avérer dangereux. Assurez-vous
    +	  que tout chemin que vous ajoutez à cette variable est un
    +	  répertoire <strong>de confiance</strong>. Vous n'avez
    +	  probablement pas l'intention d'ouvrir votre serveur de façon
    +	  à ce que l'on puisse y exécuter un cheval de Troie.
    +        </p>
    +      </li>
    +
    +      <li>
    +        Modification de suEXEC
    +
    +        <p class="indent">
    +          Encore une fois, ceci peut vous causer de
    +	  <strong>graves ennuis</strong> si vous vous y essayez sans
    +	  savoir ce que vous faites. Evitez de vous y risquer dans la
    +	  mesure du possible.
    +        </p>
    +      </li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/suexec.html.ja.utf8 b/docs/manual/suexec.html.ja.utf8
    new file mode 100644
    index 0000000..98cd6d2
    --- /dev/null
    +++ b/docs/manual/suexec.html.ja.utf8
    @@ -0,0 +1,643 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="ja" xml:lang="ja"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>suEXEC サãƒãƒ¼ãƒˆ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p>
    +<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
    +<img alt="" src="./images/feather.png" /></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 サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="./">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a></div><div id="page-content"><div id="preamble"><h1>suEXEC サãƒãƒ¼ãƒˆ</h1>
    +<div class="toplang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
    +            å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +            最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
    +        </div>
    +
    +    <p><strong>suEXEC</strong>
    +    機能ã«ã‚ˆã‚Šã€Apache ユーザ㯠Web サーãƒã‚’実行ã—ã¦ã„るユーザ ID ã¨ã¯
    +    ç•°ãªã‚‹ãƒ¦ãƒ¼ã‚¶ ID 㧠<strong>CGI</strong> プログラムや <strong>SSI</strong> 
    +    プログラムを実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚CGI プログラムã¾ãŸã¯ SSI
    +    プログラムを実行ã™ã‚‹å ´åˆã€é€šå¸¸ã¯ web サーãƒã¨åŒã˜ãƒ¦ãƒ¼ã‚¶ã§å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
    +    </p>
    +
    +    <p>é©åˆ‡ã«ä½¿ç”¨ã™ã‚‹ã¨ã€ã“ã®æ©Ÿèƒ½ã«ã‚ˆã‚Šãƒ¦ãƒ¼ã‚¶ãŒå€‹åˆ¥ã® CGI
    +    ã‚„ SSI プログラムを開発ã—実行ã™ã‚‹ã“ã¨ã§ç”Ÿã˜ã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®å±é™ºã‚’ã€
    +    ã‹ãªã‚Šæ¸›ã‚‰ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ã—ã‹ã—ã€suEXEC ã®è¨­å®šãŒä¸é©åˆ‡ã ã¨ã€
    +    多ãã®å•é¡ŒãŒç”Ÿã˜ã€ã‚ãªãŸã®ã‚³ãƒ³ãƒ”ュータã«æ–°ã—ã„セキュリティホールを
    +    作ã£ã¦ã—ã¾ã†å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ã‚ãªãŸãŒ <em>setuid root</em>
    +    ã•ã‚ŒãŸãƒ—ログラムã¨ã€ãれらã‹ã‚‰ç”Ÿã˜ã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®å•é¡Œã®ç®¡ç†ã«
    +    詳ã—ããªã„よã†ãªã‚‰ã€suEXEC ã®ä½¿ç”¨ã‚’検討ã—ãªã„よã†ã«å¼·ã推奨ã—ã¾ã™ã€‚
    +    </p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">始ã‚ã‚‹å‰ã«</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#model">suEXEC セキュリティモデル</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC
    +    ã®è¨­å®šã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC
    +    ã®æœ‰åŠ¹åŒ–ã¨ç„¡åŠ¹åŒ–</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#usage">suEXEC ã®ä½¿ç”¨</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#debug">suEXEC ã®ãƒ‡ãƒãƒƒã‚°</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">ã¨ã‹ã’ã«æ³¨æ„: 警告ã¨äº‹ä¾‹</a></li>
    +</ul><h3>å‚ç…§</h3><ul class="seealso"><li><a href="#comments_section">コメント</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="before" id="before">始ã‚ã‚‹å‰ã«</a></h2>
    +
    +    <p>ã“ã®æ–‡æ›¸ã®å…ˆé ­ã«é£›ã¶å‰ã«ã€Apache
    +    グループã¨ã“ã®æ–‡æ›¸ã§ã®ä»®å®šã‚’知ã£ã¦ãŠãã¹ãã§ã—ょã†ã€‚
    +    </p>
    +
    +    <p>第 1 ã«ã€ã‚ãªãŸãŒ <strong>setuid</strong> ã¨
    +    <strong>setgid</strong> æ“作ãŒå¯èƒ½ãª UNIX
    +    ç”±æ¥ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã‚’使ã£ã¦ã„ã‚‹ã“ã¨ã‚’想定ã—ã¦ã„ã¾ã™ã€‚
    +    ã“ã‚Œã¯ã€ã™ã¹ã¦ã®ã‚³ãƒžãƒ³ãƒ‰ä¾‹ã«ã‚ã¦ã¯ã¾ã‚Šã¾ã™ã€‚
    +    ãã®ä»–ã®ãƒ—ラットホームã§ã¯ã€ã‚‚ã— suEXEC
    +    ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãŸã¨ã—ã¦ã‚‚設定ã¯ç•°ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。</p>
    +
    +    <p>第 2 ã«ã€ã‚ãªãŸãŒä½¿ç”¨ä¸­ã®ã‚³ãƒ³ãƒ”ュータã®
    +    セキュリティã«é–¢ã™ã‚‹åŸºæœ¬çš„ãªæ¦‚念ã¨ã€ãれらã®ç®¡ç†ã«ã¤ã„ã¦è©³ã—ã„ã“ã¨ã‚’
    +    想定ã—ã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã€<strong>setuid/setgid</strong>
    +    æ“作ã€ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ ä¸Šã§ã®ãã®æ“作ã«ã‚ˆã‚‹æ§˜ã€…ãªåŠ¹æžœã€
    +    セキュリティレベルã«ã¤ã„ã¦ã‚ãªãŸãŒç†è§£ã—ã¦ã„ã‚‹ã¨ã„ã†ã“ã¨ã‚’å«ã¿ã¾ã™ã€‚
    +    </p>
    +
    +    <p>第 3 ã«ã€<strong>改造ã•ã‚Œã¦ã„ãªã„</strong> suEXEC
    +    コードã®ä½¿ç”¨ã‚’想定ã—ã¦ã„ã¾ã™ã€‚suEXEC ã®ã‚³ãƒ¼ãƒ‰ã¯ã€
    +    多ãã®ãƒ™ãƒ¼ã‚¿ãƒ†ã‚¹ã‚¿ã ã‘ã§ãªãã€é–‹ç™ºè€…ã«ã‚ˆã£ã¦ã‚‚注æ„æ·±ã精査ã•ã‚Œ
    +    テストã•ã‚Œã¦ã„ã¾ã™ã€‚ãれらã®æ³¨æ„ã«ã‚ˆã‚Šã€ç°¡æ½”ã§ä¿¡é ¼ã§ãる安全ãª
    +    コードã®åŸºç›¤ãŒä¿è¨¼ã•ã‚Œã¾ã™ã€‚ã“ã®ã‚³ãƒ¼ãƒ‰ã‚’改変ã™ã‚‹ã“ã¨ã§ã€
    +    予期ã•ã‚Œãªã„å•é¡Œã‚„æ–°ã—ã„セキュリティ上ã®å±é™ºãŒç”Ÿã˜ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
    +    セキュリティプログラミングã®è©³ç´°ã«é€šã˜ã¦ã„ã¦ã€
    +    今後ã®æ¤œè¨Žã®ãŸã‚ã«æˆæžœã‚’ Apache
    +    グループã¨å…±æœ‰ã—よã†ã¨æ€ã†ã®ã§ãªã‘ã‚Œã°ã€suEXEC
    +    コードã¯å¤‰ãˆãªã„ã“ã¨ã‚’ <strong>å¼·ã</strong>推奨ã—ã¾ã™ã€‚</p>
    +
    +    <p>第 4 ã«ã€ã“ã‚ŒãŒæœ€å¾Œã§ã™ãŒã€suEXEC ã‚’ Apache
    +    ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«ã¯<strong>å«ã‚ãªã„</strong>ã“ã¨ãŒ
    +    Apache グループã§æ±ºå®šã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã€suEXEC
    +    ã®è¨­å®šã«ã¯ç®¡ç†è€…ã®è©³ç´°ã«ã‚ãŸã‚‹æ…Žé‡ãªæ³¨æ„ãŒå¿…è¦ã ã‹ã‚‰ã§ã™ã€‚
    +    suEXEC ã®æ§˜ã€…ãªè¨­å®šã«ã¤ã„ã¦æ¤œè¨ŽãŒçµ‚ã‚ã‚Œã°ã€ç®¡ç†è€…㯠suEXEC
    +    を通常ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ–¹æ³•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
    +    ã“れらã®è¨­å®šå€¤ã¯ã€suEXEC
    +    機能ã®ä½¿ç”¨ä¸­ã«ã‚·ã‚¹ãƒ†ãƒ ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚’é©åˆ‡ã«ä¿ã¤ãŸã‚ã«ã€
    +    管ç†è€…ã«ã‚ˆã£ã¦æ…Žé‡ã«æ±ºå®šã•ã‚ŒæŒ‡å®šã•ã‚Œã‚‹ã“ã¨ãŒå¿…è¦ã§ã™ã€‚
    +    ã“ã®è©³ç´°ãªæ‰‹é †ã«ã‚ˆã‚Šã€Apache グループã¯ã€suEXEC
    +    ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«ã¤ã„ã¦ã€æ³¨æ„æ·±ãå分ã«æ¤œè¨Žã—ã¦ãれを使用ã™ã‚‹ã“ã¨ã‚’
    +    決定ã—ãŸå ´åˆã«é™ã£ã¦ã„ãŸã ããŸã„ã¨è€ƒãˆã¦ã„ã¾ã™ã€‚
    +    </p>
    +
    +    <p>ãã‚Œã§ã‚‚進ã¿ã¾ã™ã‹? よã‚ã—ã„。ã§ã¯ã€å…ˆã¸é€²ã¿ã¾ã—ょã†!</p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="model" id="model">suEXEC セキュリティモデル</a></h2>
    +
    +    <p>suEXEC ã®è¨­å®šã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’始ã‚ã‚‹å‰ã«ã€
    +    ã¾ãšå®Ÿè£…ã—よã†ã¨ã—ã¦ã„るセキュリティモデルã«ã¤ã„ã¦è«–ã˜ã¦ãŠãã¾ã™ã€‚
    +    ãã‚Œã«ã¯ã€suEXEC ã®å†…部ã§è¡Œãªã‚ã‚Œã¦ã„ã‚‹ã“ã¨ã€
    +    システムã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚’ä¿è¨¼ã™ã‚‹ãŸã‚ã«è­¦å‘Šã•ã‚Œã‚‹ã“ã¨ã‚’
    +    よãç†è§£ã—ã¦ãŠã„ãŸæ–¹ãŒã‚ˆã„ã§ã—ょã†ã€‚</p>
    +
    +    <p><strong>suEXEC</strong> ã¯ã€Apache web
    +    サーãƒã‹ã‚‰å‘¼ã³å‡ºã•ã‚Œã‚‹ setuid ã•ã‚ŒãŸ "wrapper"
    +    プログラムãŒåŸºæœ¬ã¨ãªã£ã¦ã„ã¾ã™ã€‚設計ã—㟠CGIã€ã¾ãŸã¯ SSI
    +    プログラムã¸ã® HTTP リクエストãŒã‚ã‚‹ã¨ã€ã“ã® wrapper
    +    ãŒå‘¼ã³å‡ºã•ã‚Œã¾ã™ã€‚ã“ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒã‚ã‚‹ã¨ã€Apache
    +    ã¯ãã®ãƒ—ログラムãŒå®Ÿè¡Œã•ã‚Œã‚‹éš›ã®ãƒ—ログラムåã¨ãƒ¦ãƒ¼ã‚¶ ID ã¨ã‚°ãƒ«ãƒ¼ãƒ—
    +    ID を指定ã—㦠suEXEC wrapper を実行ã—ã¾ã™ã€‚
    +    </p>
    +
    +    <p>ãã‚Œã‹ã‚‰ã€wrapper ã¯æˆåŠŸã¾ãŸã¯å¤±æ•—を決定ã™ã‚‹ãŸã‚
    +    以下ã®å‡¦ç†ã‚’è¡Œãªã„ã¾ã™ã€‚ã“れらã®çŠ¶æ…‹ã®ã†ã¡ä¸€ã¤ã§ã‚‚失敗ã—ãŸå ´åˆã€
    +    プログラムã¯å¤±æ•—をログã«è¨˜éŒ²ã—ã¦ã‚¨ãƒ©ãƒ¼ã§çµ‚了ã—ã¾ã™ã€‚
    +    ãã†ã§ãªã‘ã‚Œã°ã€å¾Œã®å‡¦ç†ãŒç¶šã‘られã¾ã™ã€‚</p>
    +
    +    <ol>
    +      <li>
    +        <strong>wrapper
    +        を実行ã—ã¦ã„るユーザã¯ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã®æ­£å½“ãªãƒ¦ãƒ¼ã‚¶ã‹?</strong>
    +
    +        <p class="indent">
    +          ã“ã‚Œã¯ã€wrapper を実行ã—ã¦ã„るユーザãŒ
    +          本当ã«ã‚·ã‚¹ãƒ†ãƒ ã®åˆ©ç”¨è€…ã§ã‚ã‚‹ã“ã¨ã‚’ä¿è¨¼ã™ã‚‹ãŸã‚ã§ã™ã€‚
    +        </p>
    +      </li>
    +
    +
    +     <li>
    +        <strong>wrapper ãŒé©åˆ‡ãªæ•°ã®å¼•æ•°ã§å‘¼ã³å‡ºã•ã‚ŒãŸã‹?</strong>
    +
    +
    +        <p class="indent">
    +          wrapper ã¯é©åˆ‡ãªæ•°ã®å¼•æ•°ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã«ã®ã¿å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
    +          é©åˆ‡ãªå¼•æ•°ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã¯ Apache Web サーãƒã«è§£é‡ˆã•ã‚Œã¾ã™ã€‚
    +          é©åˆ‡ãªæ•°ã®å¼•æ•°ã‚’å—ã‘å–らãªã‘ã‚Œã°ã€æ”»æ’ƒã‚’ã•ã‚ŒãŸã‹
    +          ã‚ãªãŸã® Apache ãƒã‚¤ãƒŠãƒªã® suEXEC ã®éƒ¨åˆ†ãŒ
    +          ã©ã“ã‹ãŠã‹ã—ã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ã“ã®æ­£å½“ãªãƒ¦ãƒ¼ã‚¶ã¯ wrapper
    +        ã®å®Ÿè¡Œã‚’許å¯ã•ã‚Œã¦ã„ã‚‹ã‹?</strong>
    +
    +        <p class="indent">
    +          ã“ã®ãƒ¦ãƒ¼ã‚¶ã¯ wrapper 実行を許å¯ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã§ã™ã‹?
    +          ãŸã ä¸€äººã®ãƒ¦ãƒ¼ã‚¶ (Apache ユーザ) ã ã‘ãŒã€
    +          ã“ã®ãƒ—ログラムã®å®Ÿè¡Œã‚’許å¯ã•ã‚Œã¾ã™ã€‚
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>対象㮠CGI, SSI プログラムãŒå®‰å…¨ã§ãªã„階層ã®å‚照をã—ã¦ã„ã‚‹ã‹?
    +        </strong>
    +
    +        <p class="indent">
    +          対象㮠CGI, SSI プログラム㌠'/' ã‹ã‚‰å§‹ã¾ã‚‹ã€ã¾ãŸã¯
    +          '..' ã«ã‚ˆã‚‹å‚照を行ãªã£ã¦ã„ã¾ã™ã‹? ã“れらã¯è¨±å¯ã•ã‚Œã¾ã›ã‚“。
    +          対象ã®ãƒ—ログラム㯠suEXEC ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆ
    +          (下記㮠<code>--with-suexec-docroot=<em>DIR</em></code> ã‚’å‚ç…§)
    +          内ã«å­˜åœ¨ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ãƒ¦ãƒ¼ã‚¶åã¯æ­£å½“ãªã‚‚ã®ã‹?</strong>
    +
    +        <p class="indent">
    +          対象ã¨ãªã‚‹ãƒ¦ãƒ¼ã‚¶åã¯å­˜åœ¨ã—ã¦ã„ã¾ã™ã‹?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ã‚°ãƒ«ãƒ¼ãƒ—åã¯æ­£å½“ãªã‚‚ã®ã‹?</strong>
    +
    +        <p class="indent">
    +          対象ã¨ãªã‚‹ã‚°ãƒ«ãƒ¼ãƒ—åã¯å­˜åœ¨ã—ã¦ã„ã¾ã™ã‹?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>目的ã®ãƒ¦ãƒ¼ã‚¶ã¯ã‚¹ãƒ¼ãƒ‘ーユーザã§ã¯<em>ãªã„</em>ã‹?
    +        </strong>
    +
    +        <p class="indent">
    +          今ã®ã¨ã“ã‚ã€suEXEC 㯠<code><em>root</em></code> ã«ã‚ˆã‚‹ CGI/SSI
    +          プログラムã®å®Ÿè¡Œã‚’許å¯ã—ã¦ã„ã¾ã›ã‚“。
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ãƒ¦ãƒ¼ã‚¶ ID ã¯ã€æœ€å°ã® ID
    +        番å·ã‚ˆã‚Šã‚‚<em>大ãã„</em>ã‹?  </strong>
    +
    +        <p class="indent">
    +          最å°ãƒ¦ãƒ¼ã‚¶ ID 番å·ã¯è¨­å®šæ™‚ã«æŒ‡å®šã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯ã€
    +          CGI/SSI プログラム実行を許å¯ã•ã‚Œã‚‹ãƒ¦ãƒ¼ã‚¶ ID
    +          ã®ã¨ã‚Šã†ã‚‹æœ€å°å€¤ã§ã™ã€‚ã“ã‚Œã¯
    +          "system" 用ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’é–‰ã‚出ã™ã®ã«æœ‰åŠ¹ã§ã™ã€‚
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ã¯ã‚¹ãƒ¼ãƒ‘ーユーザã®ã‚°ãƒ«ãƒ¼ãƒ—ã§ã¯
    +        <em>ãªã„</em>ã‹?</strong>
    +
    +        <p class="indent">
    +         今ã®ã¨ã“ã‚ã€suEXEC 㯠'root' グループã«ã‚ˆã‚‹ CGI/SSI
    +         プログラムã®å®Ÿè¡Œã‚’許å¯ã—ã¦ã„ã¾ã›ã‚“。
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ã‚°ãƒ«ãƒ¼ãƒ— ID ã¯æœ€å°ã® ID
    +          番å·ã‚ˆã‚Šã‚‚<em>大ãã„</em>ã‹?</strong>
    +
    +        <p class="indent">
    +          最å°ã‚°ãƒ«ãƒ¼ãƒ— ID 番å·ã¯è¨­å®šæ™‚ã«æŒ‡å®šã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯ã€
    +          CGI/SSI プログラム実行を許å¯ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ãƒ—
    +          ID ã®ã¨ã‚Šã†ã‚‹æœ€å°å€¤ã§ã™ã€‚
    +          ã“れ㯠"system" 用ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é–‰ã‚出ã™ã®ã«æœ‰åŠ¹ã§ã™ã€‚
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>wrapper ãŒæ­£å¸¸ã«å¯¾è±¡ã¨ãªã‚‹ãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã«ãªã‚Œã‚‹ã‹?
    +        </strong>
    +
    +        <p class="indent">
    +          ã“ã“ã§ã€setuid 㨠setgid
    +          ã®èµ·å‹•ã«ã‚ˆã‚Šãƒ—ログラムã¯å¯¾è±¡ã¨ãªã‚‹ãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã«ãªã‚Šã¾ã™ã€‚
    +          グループアクセスリストã¯ã€
    +          ユーザãŒå±žã—ã¦ã„ã‚‹ã™ã¹ã¦ã®ã‚°ãƒ«ãƒ¼ãƒ—ã§åˆæœŸåŒ–ã•ã‚Œã¾ã™ã€‚
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>CGI/SSI プログラムãŒç½®ã‹ã‚Œã¦ã„るディレクトリã«ç§»å‹•
    +        (change directory) ã§ãã‚‹ã‹?</strong>
    +
    +        <p class="indent">
    +          ディレクトリãŒå­˜åœ¨ã—ãªã„ãªã‚‰ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚‚存在ã—ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
    +          ディレクトリã«ç§»å‹•ã§ããªã„ã®ã§ã‚ã‚Œã°ã€ãŠãらã存在もã—ãªã„ã§ã—ょã†ã€‚
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ディレクトリ㌠Apache ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リー内ã«ã‚ã‚‹ã‹?
    +        </strong>
    +
    +        <p class="indent">
    +          リクエストãŒã‚µãƒ¼ãƒå†…ã®ã‚‚ã®ã§ã‚ã‚Œã°ã€
    +          è¦æ±‚ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒ suEXEC ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆé…下ã«ã‚ã‚Šã¾ã™ã‹?
    +          リクエスト㌠UserDir ã®ã‚‚ã®ã§ã‚ã‚Œã°ã€è¦æ±‚ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒ suEXEC 
    +          ã®ãƒ¦ãƒ¼ã‚¶ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆé…下ã«ã‚ã‚Šã¾ã™ã‹?
    +          (<a href="#install">suEXEC 設定オプション</a> å‚ç…§)
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ディレクトリを他ã®ãƒ¦ãƒ¼ã‚¶ãŒæ›¸ãè¾¼ã‚るよã†ã«ãªã£ã¦
    +        <em>ã„ãªã„</em>ã‹?</strong>
    +
    +        <p class="indent">
    +          ディレクトリを他ユーザã«é–‹æ”¾ã—ãªã„よã†ã«ã—ã¾ã™ã€‚
    +          所有ユーザã ã‘ãŒã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å†…容を改変ã§ãるよã†ã«ã—ã¾ã™ã€‚
    +        </p>
    +      </li>
    +
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ CGI/SSI プログラムã¯å­˜åœ¨ã™ã‚‹ã‹?</strong>
    +
    +        <p class="indent">
    +          存在ã—ãªã‘ã‚Œã°å®Ÿè¡Œã§ãã¾ã›ã‚“。
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ CGI/SSI プログラムファイルãŒä»–アカウントã‹ã‚‰
    +        書ãè¾¼ã‚るよã†ã«ãªã£ã¦<em>ã„ãªã„</em>ã‹?</strong>
    +
    +        <p class="indent">
    +          所有者以外ã«ã¯ CGI/SSI プログラムを変更ã™ã‚‹æ¨©é™ã¯ä¸Žãˆã‚‰ã‚Œã¾ã›ã‚“。
    +        </p>
    +      </li>
    +
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ CGI/SSI プログラム㌠setuid ã¾ãŸã¯ setgid 
    +        ã•ã‚Œã¦<em>ã„ãªã„</em>ã‹?</strong>
    +
    +        <p class="indent">
    +          UID/GID ã‚’å†åº¦å¤‰æ›´ã—ã¦ã®ãƒ—ログラム実行ã¯ã—ã¾ã›ã‚“
    +        </p>
    +      </li>
    +
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ãƒ¦ãƒ¼ã‚¶/グループãŒãƒ—ログラムã®
    +        ユーザ/グループã¨åŒã˜ã‹?</strong>
    +
    +        <p class="indent">
    +          ユーザãŒãã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‰€æœ‰è€…ã§ã™ã‹?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>安全ãªå‹•ä½œã‚’ä¿è¨¼ã™ã‚‹ãŸã‚ã®ç’°å¢ƒå¤‰æ•°ã‚¯ãƒªã‚¢ãŒå¯èƒ½ã‹?
    +        </strong>
    +
    +        <p class="indent">
    +          suEXEC ã¯ã€å®‰å…¨ãªç’°å¢ƒå¤‰æ•°ã®ãƒªã‚¹ãƒˆ
    +          (ã“れらã¯è¨­å®šæ™‚ã«ä½œæˆã•ã‚Œã¾ã™) 内ã®å¤‰æ•°ã¨ã—ã¦æ¸¡ã•ã‚Œã‚‹å®‰å…¨ãª
    +          PATH 変数 (設定時ã«æŒ‡å®šã•ã‚Œã¾ã™) を設定ã™ã‚‹ã“ã¨ã§ã€
    +          プロセスã®ç’°å¢ƒå¤‰æ•°ã‚’クリアã—ã¾ã™ã€‚
    +        </p>
    +      </li>
    +
    +
    +      <li>
    +        <strong>対象ã¨ãªã‚‹ CGI/SSI プログラムを exec ã—ã¦å®Ÿè¡Œã§ãã‚‹ã‹?</strong>
    +
    +
    +        <p class="indent">
    +          ã“ã“㧠suEXEC ãŒçµ‚了ã—ã€å¯¾è±¡ã¨ãªã‚‹ãƒ—ログラムãŒé–‹å§‹ã•ã‚Œã¾ã™ã€‚
    +        </p>
    +      </li>
    +    </ol>
    +
    +    <p>ã“ã“ã¾ã§ãŒ suEXEC ã® wrapper
    +    ã«ãŠã‘るセキュリティモデルã®æ¨™æº–çš„ãªå‹•ä½œã§ã™ã€‚ã‚‚ã†å°‘ã—厳é‡ã«
    +    CGI/SSI 設計ã«ã¤ã„ã¦ã®æ–°ã—ã„制é™ã‚„è¦å®šã‚’å–り入れるã“ã¨ã‚‚ã§ãã¾ã™ãŒã€
    +    suEXEC ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«æ³¨æ„ã—ã¦æ…Žé‡ã«å°‘ã—ãšã¤é–‹ç™ºã•ã‚Œã¦ãã¾ã—ãŸã€‚
    +    </p>
    +
    +    <p>ã“ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒ¢ãƒ‡ãƒ«ã‚’用ã„ã¦
    +    サーãƒè¨­å®šæ™‚ã«ã©ã®ã‚ˆã†ã«è¨±ã™ã“ã¨ã‚’制é™ã™ã‚‹ã‹ã€ã¾ãŸã€suEXEC
    +    ã‚’é©åˆ‡ã«è¨­å®šã™ã‚‹ã¨ã©ã®ã‚ˆã†ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®å±é™ºã‚’é¿ã‘られるã‹ã«
    +    é–¢ã™ã‚‹ã‚ˆã‚Šè©³ã—ã„情報ã«ã¤ã„ã¦ã¯ã€<a href="#jabberwock">"ã¨ã‹ã’ã«æ³¨æ„"
    +    (Beware the Jabberwock)</a> ã®ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
    +    </p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="install" id="install">suEXEC
    +    ã®è¨­å®šã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«</a></h2>
    +
    +    <p>ã“ã“ã‹ã‚‰æ¥½ã—ããªã‚Šã¾ã™ã€‚</p>
    +
    +    <p><strong>suEXEC
    +    設定オプション</strong><br />
    +    </p>
    +
    +    <dl>
    +      <dt><code>--enable-suexec</code></dt>
    +
    +      <dd>ã“ã®ã‚ªãƒ—ションã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œãšã€
    +      有効ã«ã¯ãªã‚‰ãªã„ suEXEC 機能を有効ã«ã—ã¾ã™ã€‚
    +      suEXEC を使ã†ã‚ˆã†ã« APACI ã«è¦æ±‚ã™ã‚‹ã«ã¯ã€<code>--enable-suexec</code>
    +      オプションã«ã‚ã‚ã›ã¦å°‘ãªãã¨ã‚‚一ã¤ã¯ <code>--with-suexec-xxxxx</code>
    +      オプションãŒæŒ‡å®šã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</dd>
    +
    +      <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
    +
    +      <dd>セキュリティ上ã®ç†ç”±ã«ã‚ˆã‚Šã€<code>suexec</code> ãƒã‚¤ãƒŠãƒªã®ãƒ‘スã¯ã‚µãƒ¼ãƒã«
    +      ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚デフォルトã®ãƒ‘スを
    +      変ãˆãŸã„ã¨ãã¯ã“ã®ã‚ªãƒ—ションを使ã£ã¦ãã ã•ã„。<em>例ãˆã°</em>ã€
    +      <code>--with-suexec-bin=/usr/sbin/suexec</code> ã®ã‚ˆã†ã«ã€‚</dd>
    +
    +      <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
    +
    +      <dd>Apache を通常動作ã•ã›ã‚‹<a href="mod/mpm_common.html#user">ユーザå</a>を指定ã—ã¾ã™ã€‚
    +      ã“ã®ãƒ¦ãƒ¼ã‚¶ã ã‘㌠suexec ã®å®Ÿè¡Œã‚’許å¯ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã«ãªã‚Šã¾ã™ã€‚</dd>
    +
    +      <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
    +
    +      <dd>suEXEC ãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’許ã•ã‚Œã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªé…下ã®
    +      サブディレクトリを指定ã—ã¾ã™ã€‚
    +      ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä»¥ä¸‹ã®å…¨å®Ÿè¡Œãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€"安全ãª"プログラムã«ãªã‚‹ã‚ˆã†ã€
    +      suEXEC ãŒãã®ãƒ¦ãƒ¼ã‚¶ã¨ã—ã¦å®Ÿè¡Œã§ãるよã†ã«ã—ã¾ã™ã€‚
    +      "å˜ç´”ãª" UserDir ディレクティブを使ã£ã¦ã„ã‚‹å ´åˆ 
    +      (ã™ãªã‚ã¡ "*" ã‚’å«ã¾ãªã„ã‚‚ã®)ã€ã“ã‚Œã¨åŒã˜å€¤ã‚’設定ã™ã¹ãã§ã™ã€‚
    +      Userdir ディレクティブãŒãã®ãƒ¦ãƒ¼ã‚¶ã®ãƒ‘スワードファイル内ã®
    +      ホームディレクトリã¨åŒã˜å ´æ‰€ã‚’指ã—ã¦ã„ãªã‘ã‚Œã°ã€
    +      suEXEC ã¯é©åˆ‡ã«å‹•ä½œã—ã¾ã›ã‚“。デフォルト㯠"public_html" ã§ã™ã€‚
    +      <br />
    +      å„ UserDir ãŒç•°ãªã£ãŸä»®æƒ³ãƒ›ã‚¹ãƒˆã‚’設定ã—ã¦ã„ã‚‹å ´åˆã€
    +      ãれらを全ã¦ä¸€ã¤ã®è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å«ã‚ã¦ã€
    +      ãã®è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®åå‰ã‚’ã“ã“ã§æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
    +      <strong>ã“ã®ã‚ˆã†ã«æŒ‡å®šã•ã‚Œãªã‘れ㰠"~userdir" cgi
    +      ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒå‹•ä½œã—ã¾ã›ã‚“。</strong></dd>
    +
    +      <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
    +
    +      <dd>Apache ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆã‚’設定ã—ã¾ã™ã€‚ã“れ㌠suEXEC
    +      ã®å‹•ä½œã§ä½¿ç”¨ã™ã‚‹å”¯ä¸€ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªéšŽå±¤ã«ãªã‚Šã¾ã™ (UserDir
    +      ã®æŒ‡å®šã¯åˆ¥)。デフォルトã§ã¯ <code>--datedir</code> ã« "/htdocs"
    +      ã¨ã„ã†ã‚µãƒ•ã‚£ãƒƒã‚¯ã‚¹ã‚’ã¤ã‘ãŸã‚‚ã®ã§ã™ã€‚
    +      "<code>--datadir=/home/apache</code>" ã¨ã—ã¦è¨­å®šã™ã‚‹ã¨ã€
    +      suEXEC wrapper ã«ã¨ã£ã¦ "/home/apache/htdocs"
    +      ãŒãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆã¨ã—ã¦ä½¿ã‚ã‚Œã¾ã™ã€‚</dd>
    +
    +      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
    +
    +      <dd>suEXEC ã®å¯¾è±¡ãƒ¦ãƒ¼ã‚¶ã¨ã—ã¦è¨±ã•ã‚Œã‚‹ UID ã®æœ€å°å€¤ã‚’指定ã—ã¾ã™ã€‚
    +      大抵ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ 500 ã‹ 100 ãŒä¸€èˆ¬çš„ã§ã™ã€‚
    +      デフォルト値㯠100 ã§ã™ã€‚</dd>
    +
    +      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
    +
    +      <dd>suEXEC ã®å¯¾è±¡ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã—ã¦è¨±ã•ã‚Œã‚‹ GID
    +      ã®æœ€å°å€¤ã‚’指定ã—ã¾ã™ã€‚大抵ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ 100 ãŒä¸€èˆ¬çš„ãªã®ã§ã€
    +      デフォルト値ã¨ã—ã¦ã‚‚ 100 ãŒä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚</dd>
    +
    +      <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
    +
    +      <dd>suEXEC ã®å‡¦ç†ã¨ã‚¨ãƒ©ãƒ¼ãŒè¨˜éŒ²ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¾ã™ã€‚
    +      (監査やデãƒãƒƒã‚°ç›®çš„ã«æœ‰ç”¨)
    +      デフォルトã§ã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã¯ "suexec_log" ã¨ã„ã†åå‰ã§ã€
    +      標準ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª (<code>--logfiledir</code>) ã«ç½®ã‹ã‚Œã¾ã™ã€‚
    +      </dd>
    +
    +      <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
    +
    +      <dd>CGI 実行ファイルã«æ¸¡ã•ã‚Œã‚‹å®‰å…¨ãª PATH 環境変数ã§ã™ã€‚
    +      デフォルト値㯠"/usr/local/bin:/usr/bin:/bin" ã§ã™ã€‚
    +      </dd>
    +    </dl>
    +
    +    <p><strong>suEXEC wrapper
    +    ã®ã‚³ãƒ³ãƒ‘イルã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«</strong><br />
    +    <code>--enable-suexec</code> オプション㧠suEXEC 機能を有効ã«ã™ã‚‹ã¨ã€
    +    "make" コマンドを実行ã—ãŸæ™‚ã« <code>suexec</code> ã®ãƒã‚¤ãƒŠãƒª (Apache 自体も)
    +    ãŒè‡ªå‹•çš„ã«ä½œæˆã•ã‚Œã¾ã™ã€‚
    +    <br />
    +    ã™ã¹ã¦ã®æ§‹æˆè¦ç´ ãŒä½œæˆã•ã‚Œã‚‹ã¨ã€ãれらã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«ã¯
    +    <code>make install</code> コマンドãŒå®Ÿè¡Œã§ãã¾ã™ã€‚ãƒã‚¤ãƒŠãƒªã‚¤ãƒ¡ãƒ¼ã‚¸ã® <code>suexec</code>
    +    㯠<code>--sbindir</code> オプションã§æŒ‡å®šã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã™ã€‚
    +    デフォルトã®å ´æ‰€ã¯ "/usr/local/apache/bin/suexec" ã§ã™ã€‚<br />
    +    インストール時ã«ã¯ <strong><em>root</em></strong>
    +    権é™ãŒå¿…è¦ãªã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。wrapper ãŒãƒ¦ãƒ¼ã‚¶ ID
    +    を設定ã™ã‚‹ãŸã‚ã«ã€æ‰€æœ‰è€… <code><em>root</em></code>
    +    ã§ã®ã‚»ãƒƒãƒˆãƒ¦ãƒ¼ã‚¶ ID
    +    ビットをãã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
    +    </p>
    +
    +    <p><strong>安全ãªãƒ‘ーミッションを設定ã™ã‚‹</strong><br />
    +    suEXEC ラッパーã¯ã€<code>--with-suexec-caller</code> <code class="program"><a href="./programs/configure.html">configure</a></code> 
    +    オプションã§æŒ‡å®šã—ãŸæ­£ã—ã„ユーザã§èµ·å‹•ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ãŒã€
    +    システム上ã§ã“ã®ãƒã‚§ãƒƒã‚¯ãŒè¡Œãªã‚れるå‰ã«ã€
    +    suEXEC ãŒå‘¼ã¶ã‚·ã‚¹ãƒ†ãƒ ã‚„ライブラリãŒè„†å¼±ã§ã‚ã‚‹å¯èƒ½æ€§ã¯æ®‹ã‚Šã¾ã™ã€‚対抗策ã¨ã—ã¦ã€
    +    一般ã«è‰¯ã„ç¿’æ…£ã¨ã‚‚ã•ã‚Œã„ã¾ã™ãŒã€
    +    ファイルシステムパーミッションを使ã£ã¦
    +    Apache ã®å®Ÿè¡Œæ™‚ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ã¿ãŒ suEXEC を実行ã§ãるよã†ã«
    +    ã™ã‚‹ã®ãŒè‰¯ã„ã§ã—ょã†ã€‚</p>
    +
    +    <p>ãŸã¨ãˆã°ã€æ¬¡ã®ã‚ˆã†ã«ã‚µãƒ¼ãƒãŒè¨­å®šã•ã‚Œã¦ã„ãŸã¨ã—ã¾ã™ã€‚</p>
    +
    +<div class="example"><p><code>
    +    User www<br />
    +    Group webgroup<br />
    +</code></p></div>
    +
    +    <p><code class="program"><a href="./programs/suexec.html">suexec</a></code> ㌠"/usr/local/apache2/bin/suexec" 
    +    ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãŸå ´åˆã€æ¬¡ã®ã‚ˆã†ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p>
    +
    +<div class="example"><p><code>
    +    chgrp webgroup /usr/local/apache2/bin/suexec<br />
    +    chmod 4750 /usr/local/apache2/bin/suexec<br />
    +</code></p></div>
    +
    +    <p>ã“れ㧠Apache ãŒå®Ÿè¡Œã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ã®ã¿ãŒ 
    +    suEXEC ラッパーを実行ã§ãã‚‹ã¨ã„ã†ã“ã¨ã‚’
    +    確証ã—ã¾ã™ã€‚</p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="enable" id="enable">suEXEC
    +    ã®æœ‰åŠ¹åŒ–ã¨ç„¡åŠ¹åŒ–</a></h2>
    +
    +    <p>起動時ã«ã€Apache 㯠<code>--sbindir</code>
    +    オプションã§è¨­å®šã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§
    +    <code>suexec</code> を探ã—ã¾ã™
    +    (デフォルト㯠"/usr/local/apache/sbin/suexec") 。
    +    é©åˆ‡ã«è¨­å®šã•ã‚ŒãŸ suEXEC ãŒã¿ã¤ã‹ã‚‹ã¨ã€
    +    エラーログã«ä»¥ä¸‹ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚</p>
    +
    +<div class="example"><p><code>
    +    [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
    +</code></p></div>
    +
    +    <p>サーãƒèµ·å‹•æ™‚ã«ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå‡ºãªã„å ´åˆã€
    +    大抵ã¯ã‚µãƒ¼ãƒãŒæƒ³å®šã—ãŸå ´æ‰€ã§ wrapper プログラムãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã‹ã€
    +    <em>setuid root</em> ã¨ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãªã„ã‹ã§ã™ã€‚</p>
    +
    +    <p>suEXEC ã®ä»•çµ„ã¿ã‚’使用ã™ã‚‹ã®ãŒåˆã‚ã¦ã§ã€Apache ãŒæ—¢ã«å‹•ä½œä¸­ã§ã‚ã‚Œã°ã€
    +    Apache ã‚’ kill ã—ã¦ã€å†èµ·å‹•ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。HUP シグナルや
    +    USR1 シグナルã«ã‚ˆã‚‹å˜ç´”ãªå†èµ·å‹•ã§ã¯ä¸å分ã§ã™ã€‚</p>
    +    <p>suEXEC を無効ã«ã™ã‚‹å ´åˆã¯ã€<code>suexec</code> ファイルを削除ã—ã¦ã‹ã‚‰
    +    Apache ã‚’ kill ã—ã¦å†èµ·å‹•ã—ã¾ã™ã€‚
    +    </p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="usage" id="usage">suEXEC ã®ä½¿ç”¨</a></h2>
    +
    +    <p>CGI プログラムã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒ suEXEC ラッパーを呼ã¶ã®ã¯ã€
    +    <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> ディレクティブを
    +    å«ã‚€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‹ã€<code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> ã«ã‚ˆã‚Š
    +    処ç†ã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å ´åˆã«é™ã‚Šã¾ã™ã€‚</p>
    +
    +    <p><strong>仮想ホスト:</strong><br />
    +    suEXEC wrapper ã®ä½¿ã„æ–¹ã¨ã—ã¦ã€
    +    <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> 設定ã§ã®
    +    <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>
    +    ディレクティブを通ã—ãŸã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚
    +    ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をメインサーãƒã®ãƒ¦ãƒ¼ã‚¶ ID
    +    ã¨ç•°ãªã‚‹ã‚‚ã®ã«ã™ã‚‹ã¨ã€CGI リソースã¸ã®ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€ãã®
    +    <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ã§æŒ‡å®šã•ã‚ŒãŸ <em>User</em> ã¨
    +    <em>Group</em> ã¨ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚<code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    ã§ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„å ´åˆã€
    +    メインサーãƒã®ãƒ¦ãƒ¼ã‚¶ ID ãŒæƒ³å®šã•ã‚Œã¾ã™ã€‚</p>
    +
    +    <p><strong>ユーザディレクトリ:</strong><br />
    +    <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> ã«ã‚ˆã‚Šå‡¦ç†ã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
    +    リクエストã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ¦ãƒ¼ã‚¶ ID 㧠CGI プログラムを
    +    実行ã™ã‚‹ãŸã‚ã« suEXEC ラッパーを呼ã³ã¾ã™ã€‚
    +    ã“ã®æ©Ÿèƒ½ã‚’動作ã•ã›ã‚‹ãŸã‚ã«å¿…è¦ãªã“ã¨ã¯ã€CGI
    +    ã‚’ãã®ãƒ¦ãƒ¼ã‚¶ã§å®Ÿè¡Œã§ãã‚‹ã“ã¨ã€ãã®ã‚¹ã‚¯ãƒªãƒ—トãŒä¸Šè¨˜ã®<a href="#model">セキュリティ検査</a>をパスã§ãã‚‹ã“ã¨ã§ã™ã€‚
    +    <a href="#install">コンパイル
    +     時ã®ã‚ªãƒ—ション</a> <code>--with-suexec-userdir</code> ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。</p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="debug" id="debug">suEXEC ã®ãƒ‡ãƒãƒƒã‚°</a></h2>
    +
    +    <p>suEXEC wrapper ã¯ã€ä¸Šè¨˜ã§è¿°ã¹ãŸ <code>--with-suexec-logfile</code>
    +    オプションã§æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒ­ã‚°æƒ…報を記録ã—ã¾ã™ã€‚
    +    wrapper ã‚’é©åˆ‡ã«è¨­å®šã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãã¦ã„ã‚‹ã¨æ€ã†å ´åˆã€
    +    ã©ã“ã§è¿·ã£ã¦ã„ã‚‹ã‹è¦‹ã‚ˆã†ã¨ã™ã‚‹ãªã‚‰ã“ã®ãƒ­ã‚°ã¨ã‚µãƒ¼ãƒã®
    +    エラーログを見るã¨ã‚ˆã„ã§ã—ょã†ã€‚</p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="jabberwock" id="jabberwock">ã¨ã‹ã’ã«æ³¨æ„: 警告ã¨äº‹ä¾‹</a></h2>
    +
    +    <p><strong>注æ„!</strong>
    +    ã“ã®ç« ã¯å®Œå…¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ã“ã®ç« ã®æœ€æ–°æ”¹è¨‚版ã«ã¤ã„ã¦ã¯ã€
    +    Apache グループã®<a href="http://httpd.apache.org/docs/2.4/suexec.html">
    +    オンラインドキュメント</a>版をå‚ç…§ã—ã¦ãã ã•ã„。
    +    </p>
    +
    +    <p>サーãƒã®è¨­å®šã«åˆ¶é™ã‚’ã‚‚ã†ã‘ã‚‹ wrapper ã«ã¤ã„ã¦ã€
    +    ã„ãã¤ã‹èˆˆå‘³æ·±ã„点ãŒã‚ã‚Šã¾ã™ã€‚suEXEC ã«é–¢ã™ã‚‹ "ãƒã‚°"
    +    を報告ã™ã‚‹å‰ã«ã“れらを確èªã—ã¦ãã ã•ã„。</p>
    +
    +    <ul>
    +      <li><strong>suEXEC ã®èˆˆå‘³æ·±ã„点</strong></li>
    +
    +      <li>階層構造ã®åˆ¶é™
    +
    +
    +        <p class="indent">
    +          セキュリティã¨åŠ¹çŽ‡ã®ç†ç”±ã‹ã‚‰ã€<code>suEXEC</code> ã®å…¨ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
    +          仮想ホストã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ãŠã‘る最上ä½ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆå†…ã‹ã€
    +          ユーザディレクトリã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ãŠã‘る個々ã®ãƒ¦ãƒ¼ã‚¶ã®æœ€ä¸Šä½ã®
    +          ドキュメントルート内ã«æ®‹ã‚‰ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
    +          例ãˆã°ã€å››ã¤ã®ä»®æƒ³ãƒ›ã‚¹ãƒˆã‚’設定ã—ã¦ã„ã‚‹å ´åˆã€
    +          仮想ホスト㮠suEXEC ã«æœ‰åˆ©ãªã‚ˆã†ã«ã€ãƒ¡ã‚¤ãƒ³ã® Apache
    +          ドキュメント階層ã®å¤–å´ã«å…¨ã¦ã®ä»®æƒ³ãƒ›ã‚¹ãƒˆã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ«ãƒ¼ãƒˆã‚’
    +          構築ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚(例ã¯å¾Œæ—¥è¨˜è¼‰)
    +        </p>
    +      </li>
    +
    +      <li>suEXEC 㮠PATH 環境変数
    +
    +
    +        <p class="indent">
    +          ã“れを変更ã™ã‚‹ã®ã¯å±é™ºã§ã™ã€‚ã“ã®æŒ‡å®šã«å«ã¾ã‚Œã‚‹å„パスãŒ
    +          <strong>ä¿¡é ¼ã§ãã‚‹</strong>
    +          ディレクトリã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。
    +          世界ã‹ã‚‰ã®ã‚¢ã‚¯ã‚»ã‚¹ã«ã‚ˆã‚Šã€èª°ã‹ãŒãƒ›ã‚¹ãƒˆä¸Šã§ãƒˆãƒ­ã‚¤ã®æœ¨é¦¬
    +          を実行ã§ãるよã†ã«ã¯ã—ãŸããªã„ã§ã—ょã†ã€‚
    +        </p>
    +      </li>
    +
    +      <li>suEXEC コードã®æ”¹é€ 
    +
    +
    +        <p class="indent">
    +          ç¹°ã‚Šè¿”ã—ã¾ã™ãŒã€ä½•ã‚’ã‚„ã‚ã†ã¨ã—ã¦ã„ã‚‹ã‹æŠŠæ¡ã›ãšã«ã“れをやるã¨
    +          <strong>大ããªå•é¡Œ</strong>を引ãèµ·ã“ã—ã‹ã­ã¾ã›ã‚“。
    +          å¯èƒ½ãªé™ã‚Šé¿ã‘ã¦ãã ã•ã„。
    +        </p>
    +      </li>
    +    </ul>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
    +<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/suexec.html.ko.euc-kr b/docs/manual/suexec.html.ko.euc-kr
    new file mode 100644
    index 0000000..10d2dc5
    --- /dev/null
    +++ b/docs/manual/suexec.html.ko.euc-kr
    @@ -0,0 +1,564 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>suEXEC Áö¿ø - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="./images/feather.png" /></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.4</a></div><div id="page-content"><div id="preamble"><h1>suEXEC Áö¿ø</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +    <p><strong>suEXEC</strong> ±â´ÉÀº ¾ÆÆÄÄ¡°¡ <strong>CGI</strong>¿Í
    +    <strong>SSI</strong> ÇÁ·Î±×·¥À» À¥¼­¹ö¸¦ ½ÇÇàÇÑ »ç¿ëÀÚ ID°¡
    +    ¾Æ´Ñ ´Ù¸¥ »ç¿ëÀÚ ID·Î ½ÇÇàÇϵµ·Ï ÇÑ´Ù. º¸Åë CGI³ª SSI ÇÁ·Î±×·¥À»
    +    ½ÇÇàÇϸé À¥¼­¹ö¸¦ ½ÇÇàÇÑ »ç¿ëÀÚ¿Í °°Àº »ç¿ëÀÚ·Î ½ÇÇàÇÑ´Ù.</p>
    +
    +    <p>ÀÌ ±â´ÉÀ» ÀûÀýÈ÷ »ç¿ëÇÏ¸é »ç¿ëÀÚ°¡ Á÷Á¢ CGI³ª SSI ÇÁ·Î±×·¥À»
    +    °³¹ßÇÏ°í ½ÇÇàÇÒ¶§ ¹ß»ýÇÒ ¼ö ÀÖ´Â º¸¾ÈÀ§ÇèÀ» »ó´çÈ÷ ÁÙÀÏ
    +    ¼ö ÀÖ´Ù. ±×·¯³ª suEXEC°¡ ºÎÀûÀýÇÏ°Ô ¼³Á¤µÇ¸é ¸¹Àº ¹®Á¦¿Í
    +    ÄÄÇ»ÅÍ¿¡ »õ·Î¿î º¸¾È ÇãÁ¡À» ¸¸µé ¼ö ÀÖ´Ù. ¸¸¾à <em>setuid root</em>
    +    ÇÁ·Î±×·¥°ú ÀÌ·± ÇÁ·Î±×·¥ÀÇ º¸¾È ¹®Á¦¿¡ »ý¼ÒÇÏ´Ù¸é suEXEC¸¦
    +    »ç¿ëÇÏÁö¾Ê±æ Áø½ÉÀ¸·Î ¹Ù¶õ´Ù.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">½ÃÀÛÇϱâ Àü¿¡</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#model">suEXEC º¸¾È¸ðµ¨</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC ±¸¼º°ú ¼³Ä¡</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC Å°°í ²ô±â</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#usage">suEXEC »ç¿ëÇϱâ</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#debug">suEXEC µð¹ö±ëÇϱâ</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">´Ù½Ã Çѹø Á¶½ÉÇ϶ó: °æ°í¿Í ¿¹Á¦</a></li>
    +</ul><h3>Âü°í</h3><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="before" id="before">½ÃÀÛÇϱâ Àü¿¡</a></h2>
    +
    +    <p>½ÃÀÛÇϱâ Àü¿¡ ¿ì¼± ¾ÆÆÄÄ¡±×·ì°ú ÀÌ ¹®¼­ÀÇ °¡Á¤À» ¹àÈù´Ù.</p>
    +
    +    <p>¸ÕÀú <strong>setuid</strong>¿Í <strong>setgid</strong>
    +    ±â´ÉÀÌ °¡´ÉÇÑ À¯´Ð½º·ù ¿î¿µÃ¼Á¦¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù. ¸ðµç
    +    ¸í·É¾î ¿¹µéµµ °°Àº °¡Á¤À» ÇÑ´Ù. suEXEC¸¦ Áö¿øÇÏ´Â ´Ù¸¥ Ç÷¡ÆûÀ»
    +    »ç¿ëÇÏ´Ù¸é ¼³Á¤ÀÌ ´Ù¸¦ ¼ö ÀÖ´Ù.</p>
    +
    +    <p>µÎ¹ø°, ´ç½ÅÀÌ ÄÄÇ»ÅÍ º¸¾ÈÀÇ ±âº» °³³ä°ú °ü¸®¿¡ Àͼ÷ÇÏ´Ù°í
    +    °¡Á¤ÇÑ´Ù. ¿©±â¿¡´Â <strong>setuid/setgid</strong> ±â´É°ú
    +    À̵éÀÌ ½Ã½ºÅÛ°ú º¸¾È¿¡ ¹ÌÄ¡´Â ¿©·¯ ¿µÇâ¿¡ ´ëÇÑ ÀÌÇØ°¡ Æ÷ÇԵȴÙ.</p>
    +
    +    <p>¼¼¹ø°, suEXEC ÄÚµåÀÇ <strong>¼öÁ¤ÇÏÁö¾ÊÀº</strong>
    +    ¹öÀüÀ» »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù. °³¹ßÀÚ¿Í ¿©·¯ º£Å¸Å×½ºÅ͵éÀº
    +    suEXEC¿Í °ü·ÃµÈ ¸ðµç Äڵ带 Á¶½É½º·´°Ô Á¶»çÇÏ°í °Ë»çÇß´Ù.
    +    Äڵ带 °£´ÜÇÏ°Ô ÇÏ°í È®½ÇÇÑ ¾ÈÀüÀ» º¸ÀåÇϱâÀ§ÇØ ¸ðµç ÁÖÀǸ¦
    +    ±â¿ï¿´´Ù. ÀÌ Äڵ带 ¼öÁ¤ÇÏ¸é ¿¹»óÄ¡¸øÇÑ ¹®Á¦¿Í »õ·Î¿î º¸¾È
    +    À§ÇèÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. º¸¾È ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ ¸Å¿ì Àß ¾Ë°í
    +    Äڵ带 »ìÆ캸±âÀ§ÇØ ¾ÆÆÄÄ¡±×·ì°ú ÀÛ¾÷À» °øÀ¯ÇÒ Àǻ簡 ¾ø´Ù¸é
    +    suEXEC Äڵ带 ¼öÁ¤ÇÏÁö¾Ê±æ <strong>°­·ÂÈ÷</strong> ±ÇÇÑ´Ù.</p>
    +
    +    <p>³×¹ø°ÀÌÀÚ ¸¶Áö¸·À¸·Î, ¾ÆÆÄÄ¡±×·ìÀº suEXEC¸¦ ¾ÆÆÄÄ¡
    +    ±âº»¼³Ä¡¿¡ Æ÷ÇÔÇÏÁö <strong>¾Ê±â·Î</strong> °áÁ¤Çß´Ù. °á±¹
    +    °ü¸®ÀÚ°¡ ÁÖÀǸ¦ ±â¿ï¿©¼­ suEXEC¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. suEXECÀÇ
    +    ¿©·¯ ¼³Á¤À» Àß °í·ÁÇÑÈÄ °ü¸®ÀÚ´Â ÀϹÝÀûÀÎ ¼³Ä¡¹æ¹ýÀ» suEXEC¸¦
    +    ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. suEXEC ±â´ÉÀ» »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ º¸¾ÈÀ» Ã¥ÀÓÁö´Â
    +    °ü¸®ÀÚ´Â ÀÌ ¼³Á¤°ªµéÀ» ÁÖÀÇÀÖ°Ô »ìÆ캸°í ÁöÁ¤ÇØ¾ß ÇÑ´Ù.
    +    ÀÌ·± »ó¼¼ÇÑ °úÁ¤Àº suEXEC¸¦ »ç¿ëÇÒ¸¸Å­ ÁÖÀÇÀÖ°í ´ÜÈ£ÇÑ 
    +    »ç¶÷¸¸ÀÌ suEXEC¸¦ »ç¿ëÇϵµ·Ï ¾ÆÆÄÄ¡±×·ìÀÌ ¿øÇϱ⠶§¹®ÀÌ´Ù.</p>
    +
    +    <p>¾ÆÁ÷µµ »ç¿ëÇÏ±æ ¿øÇϴ°¡? ±×·±°¡? ÁÁ´Ù. ÀÌÁ¦ ½ÃÀÛÇÏÀÚ!</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="model" id="model">suEXEC º¸¾È¸ðµ¨</a></h2>
    +
    +    <p>suEXEC¸¦ ±¸¼ºÇÏ°í ¼³Ä¡Çϱâ Àü¿¡ ¿ì¸®´Â º¸¾È¸ðµ¨À» ¸ÕÀú
    +    ¼³¸íÇÑ´Ù. À̸¦ ÅëÇØ Á¤È®È÷ suEXEC ¾È¿¡¼­´Â ¹«½¼ ÀÏÀÌ ÀϾ¸ç
    +    ½Ã½ºÅÛÀÇ º¸¾ÈÀ» À§ÇØ ¹«¾ùÀ» Á¶½ÉÇØ¾ß ÇÒÁö ´õ Àß ÀÌÇØÇÒ ¼ö
    +    ÀÖ´Ù.</p>
    +
    +    <p><strong>suEXEC</strong>´Â ¾ÆÆÄÄ¡ À¥¼­¹ö°¡ ºÎ¸£´Â setuid
    +    "wrapper" ÇÁ·Î±×·¥À» ±â¹ÝÀ¸·Î ÇÑ´Ù. ÀÌ wrapper´Â °ü¸®ÀÚ°¡
    +    ÁÖ¼­¹ö¿Í ´Ù¸¥ userid·Î ½ÇÇàÇϵµ·Ï ¼³Á¤ÇÑ CGI³ª SSI ÇÁ·Î±×·¥¿¡
    +    HTTP ¿äûÀÌ ¿À¸é ºÒ¸°´Ù. ÀÌ·± ¿äûÀÌ ¿À¸é ¾ÆÆÄÄ¡´Â suEXEC
    +    wrapper¿¡°Ô ÇÁ·Î±×·¥¸í°ú ÇÁ·Î±×·¥À» ½ÇÇàÇÒ »ç¿ëÀÚ¿Í ±×·ì
    +    ID¸¦ Á¦°øÇÑ´Ù.</p>
    +
    +    <p>±×·¯¸é wrapper´Â ´ÙÀ½ °úÁ¤À» ÅëÇØ ¼º°ø°ú ½ÇÆи¦ °áÁ¤ÇÑ´Ù.
    +    ÀÌ Á¶°ÇÁß Çϳª¶óµµ ½ÇÆÐÇϸé ÇÁ·Î±×·¥Àº ½ÇÆзΠ±â·ÏµÇ°í ¿À·ù¸¦
    +    ³»¸ç Á¾·áÇÑ´Ù. ½ÇÆÐÇÏÁö ¾ÊÀ¸¸é °úÁ¤À» °è¼ÓÇÑ´Ù:</p>
    +
    +    <ol>
    +      <li>
    +        <strong>wrapper¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀÇ Á¤»óÀûÀÎ
    +        »ç¿ëÀÚÀΰ¡?</strong> 
    +
    +        <p class="indent">
    +          wrapper¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ°¡ ½ÇÁ¦·Î ½Ã½ºÅÛÀÇ »ç¿ëÀÚÀÎÁö
    +          È®ÀÎÇÑ´Ù.
    +        </p>
    +     </li>
    +
    +     <li>
    +        <strong>ÀûÀýÇÑ ¼öÀÇ ¾Æ±Ô¸ÕÆ®·Î wrapper¸¦ ½ÇÇàÇϴ°¡?</strong>
    +
    +        <p class="indent">
    +          wrapper´Â ÀûÀýÇÑ ¼öÀÇ ¾Æ±Ô¸ÕÆ®°¡ ÀÖ¾î¾ß¸¸ ½ÇÇàµÈ´Ù.
    +          ¾ÆÆÄÄ¡ À¥¼­¹ö°¡ ÀÌ °³¼ö¸¦ ¾È´Ù. wrapper°¡ ÀûÀýÇÑ ¼öÀÇ
    +          ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¸øÇϸé ÇØÅ·µÇ¾ú°Å³ª ¾ÆÆÄÄ¡ÀÇ suEXEC¿¡
    +          ¹º°¡ ¹®Á¦°¡ ÀÖ´Â °ÍÀÌ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÀÌ »ç¿ëÀÚ°¡ wrapper¸¦ ½ÇÇàÇϵµ·Ï Çã¿ëµÇ¾ú³ª?</strong> 
    +
    +        <p class="indent">
    +          ÀÌ »ç¿ëÀÚ°¡ wrapper¸¦ ½ÇÇàÇϵµ·Ï Çã¿ëµÇ¾ú³ª? ¿ÀÁ÷
    +          ÇÑ »ç¿ëÀÚ(¾ÆÆÄÄ¡ »ç¿ëÀÚ)¸¸ÀÌ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ
    +          ¼ö ÀÖ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ CGI³ª SSI ÇÁ·Î±×·¥ÀÌ ¾ÈÀüÇÏÁö¾ÊÀº °èÃþÂüÁ¶¸¦
    +        °¡Áö´Â°¡?</strong>
    +
    +        <p class="indent">
    +          ÁöÁ¤ÇÑ CGI³ª SSI ÇÁ·Î±×·¥ÀÌ '/'·Î ½ÃÀÛÇϰųª µÞÂüÁ¶
    +          '..'À» °¡Áö´Â°¡? À̵éÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÁöÁ¤ÇÑ CGI/SSI
    +          ÇÁ·Î±×·¥Àº suEXEC ¹®¼­ root (¾Æ·¡
    +          <code>--with-suexec-docroot=<em>DIR</em></code> Âü°í)
    +          ³»¿¡ ÀÖ¾î¾ß ÇÑ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ »ç¿ëÀÚ¸íÀÌ À¯È¿ÇÑ°¡?</strong> 
    +
    +        <p class="indent">
    +          ÁöÁ¤ÇÑ »ç¿ëÀÚ°¡ Á¸ÀçÇϴ°¡?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ ±×·ì¸íÀÌ À¯È¿ÇÑ°¡?</strong> 
    +
    +        <p class="indent">
    +          ÁöÁ¤ÇÑ ±×·ìÀÌ Á¸ÀçÇϴ°¡?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ »ç¿ëÀÚ°¡ superuser°¡ <em>¾Æ´Ñ°¡</em>?</strong>
    +        
    +
    +        <p class="indent">
    +          ÇöÀç suEXEC´Â <code><em>root</em></code>°¡ CGI/SSI
    +          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ¾øµµ·Ï ÇÑ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ userid°¡ ÃÖ¼Ò ID ¼ýÀÚº¸´Ù <em>Å«°¡</em>?</strong>
    +
    +        <p class="indent">
    +          ¼³Á¤¿¡¼­ ÃÖ¼Ò »ç¿ëÀÚ ID ¼ýÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ±×·¡¼­ CGI/SSI
    +          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â useridÀÇ ÃÖ¼ÒÄ¡¸¦ ÁöÁ¤ÇÒ
    +          ¼ö ÀÖ´Ù. "½Ã½ºÅÛ¿ë" °èÁ¤À» Á¦¿ÜÇÒ¶§ À¯¿ëÇÏ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ ±×·ìÀÌ superuser ±×·ìÀÌ <em>¾Æ´Ñ°¡</em>?</strong> 
    +
    +        <p class="indent">
    +          ÇöÀç suEXEC´Â <code><em>root</em></code> ±×·ìÀÌ CGI/SSI
    +          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ¾øµµ·Ï ÇÑ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ groupid°¡ ÃÖ¼Ò ID ¼ýÀÚº¸´Ù <em>Å«°¡</em>?</strong> 
    +
    +        <p class="indent">
    +          ¼³Á¤¿¡¼­ ÃÖ¼Ò ±×·ì ID ¼ýÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ±×·¡¼­ CGI/SSI
    +          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â groupidÀÇ ÃÖ¼ÒÄ¡¸¦ ÁöÁ¤ÇÒ
    +          ¼ö ÀÖ´Ù. "½Ã½ºÅÛ¿ë" ±×·ìÀ» Á¦¿ÜÇÒ¶§ À¯¿ëÇÏ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>wrapper°¡ ¼º°øÀûÀ¸·Î ÁöÁ¤ÇÑ »ç¿ëÀÚ¿Í ±×·ìÀÌ
    +        µÉ ¼ö Àִ°¡?</strong>
    +
    +        <p class="indent">
    +          ÀÌ ´Ü°è¿¡¼­ ÇÁ·Î±×·¥Àº setuid¿Í setgid È£ÃâÀ» ÇÏ¿©
    +          ÁöÁ¤ÇÑ »ç¿ëÀÚ¿Í ±×·ìÀÌ µÈ´Ù. ¶Ç, ±×·ì Á¢±Ù¸ñ·ÏÀº
    +          »ç¿ëÀÚ°¡ ÇØ´çµÈ ¸ðµç ±×·ìÀ¸·Î ÃʱâÈ­µÈ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>CGI/SSI ÇÁ·Î±×·¥ÀÌ ÀÖ´Â µð·ºÅ丮·Î µð·ºÅ丮¸¦
    +        º¯°æÇÒ ¼ö Àִ°¡?</strong>
    +
    +        <p class="indent">
    +          µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾Ê´Ù¸é ÆÄÀÏÀÌ ÀÖÀ» ¼ö ¾ø´Ù. ÀÌ°÷À¸·Î
    +          µð·ºÅ丮¸¦ º¯°æÇÒ ¼ö ¾ø´Ù¸é µð·ºÅ丮´Â Á¸ÀçÇÏÁö ¾ÊÀ»
    +          °ÍÀÌ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>µð·ºÅ丮°¡ ¾ÆÆÄÄ¡ À¥°ø°£ ¾È¿¡ Àִ°¡?</strong>
    +
    +        <p class="indent">
    +          ¼­¹öÀÇ ÀϹÝÀûÀÎ ºÎºÐÀ» ¿äûÇÒ °æ¿ì ¿äûÇÏ´Â µð·ºÅ丮°¡
    +          suEXEC ¹®¼­ root ¾Æ·¡ Àִ°¡? UserDirÀ» ¿äûÇÒ °æ¿ì
    +          ¿äûÇÏ´Â µð·ºÅ丮°¡ suEXEC userdir·Î ¼³Á¤ÇÑ (<a href="#install">suEXEC ¼³Á¤ ¿É¼Ç</a> Âü°í) µð·ºÅ丮
    +          ¾Æ·¡¿¡ Àִ°¡?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>´Ù¸¥ ´©±¸µµ µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀÌ <em>¾ø´Â°¡</em>?</strong>
    +
    +        <p class="indent">
    +          µð·ºÅ丮¸¦ ´Ù¸¥ »ç¶÷¿¡°Ô ¿­¾îµÎ±æ ¿øÇÏÁö¾Ê´Â´Ù. ¿ÀÁ÷
    +          ¼ÒÀ¯ÀÚ¸¸ÀÌ µð·ºÅ丮 ³»¿ëÀ» º¯°æÇÒ ¼ö ÀÖ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇϴ°¡?</strong> 
    +
    +        <p class="indent">
    +          Á¸ÀçÇÏÁö¾Ê´Ù¸é ½ÇÇàÇÒ ¼öµµ ¾ø´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>´Ù¸¥ ´©±¸µµ ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥¿¡ ¾²±â±ÇÇÑÀÌ
    +        <em>¾ø´Â°¡</em>?</strong>
    +
    +        <p class="indent">
    +          ¼ÒÀ¯ÀÚ¿Ü ´©±¸µµ CGI/SSI ÇÁ·Î±×·¥À» º¯°æÇÏ±æ ¿øÇÏÁö¾Ê´Â´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥ÀÌ setuid³ª setgid°¡
    +        <em>¾Æ´Ñ°¡</em>?</strong>
    +
    +        <p class="indent">
    +          ¿ì¸®´Â ÇÁ·Î±×·¥ÀÌ ´Ù½Ã UID/GID¸¦ º¯°æÇÏ±æ ¿øÇÏÁö¾Ê´Â´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>ÁöÁ¤ÇÑ »ç¿ëÀÚ/±×·ìÀÌ ÇÁ·Î±×·¥ÀÇ »ç¿ëÀÚ/±×·ì°ú °°Àº°¡?</strong>
    +
    +        <p class="indent">
    +          »ç¿ëÀÚ°¡ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚÀΰ¡?
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>¾ÈÀüÇÑ µ¿ÀÛÀ» À§ÇØ ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ û¼ÒÇÒ
    +        ¼ö Àִ°¡?</strong>
    +
    +        <p class="indent">
    +          suEXEC´Â (¼³Á¤¿¡¼­ Á¤ÀÇÇÑ) ¾ÈÀüÇÑ ½ÇÇà PATH¸¦ Àâ°í,
    +          (À̰͵µ ¼³Á¤¿¡¼­ Á¤ÀÇ) ¾ÈÀüÇÑ È¯°æº¯¼ö ¸ñ·Ï¿¡ ¿­°ÅµÈ
    +          º¯¼ö¸¸ ³²±â°í ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ Áö¿î´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        <strong>¼º°øÀûÀ¸·Î ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥À» ½ÇÇàÇÒ
    +        ¼ö Àִ°¡?</strong> 
    +
    +        <p class="indent">
    +          ¿©±â¼­ suEXEC°¡ ³¡³ª°í ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÑ´Ù.
    +        </p>
    +      </li>
    +    </ol>
    +
    +    <p>ÀÌ°ÍÀÌ suEXEC wrapper º¸¾È¸ðµ¨ÀÇ Ç¥ÁØ µ¿ÀÛÀÌ´Ù. ´Ù¼Ò
    +    ¾ö°ÝÇÏ°í CGI/SSI ¼³°è¿¡ »õ·Î¿î Á¦ÇÑÀÌ µÇÁö¸¸, º¸¾ÈÀ» ¿°µÎ¿¡
    +    µÎ°í ÇѴܰ辿 Á¶½É½º·´°Ô ¸¸µé¾îÁ³´Ù.</p>
    +
    +    <p>ÀÌ º¸¾È ¸ðµ¨ÀÌ ¼­¹ö ¼³Á¤¿¡ ¾î¶² Á¦ÇÑÀ» ÁÖ´ÂÁö¿Í ÀûÀýÇÑ
    +    suEXEC ¼³Á¤À¸·Î ¾î¶² º¸¾È À§ÇèÀ» ÇÇÇÒ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇØ ÀÌ
    +    ¹®¼­ÀÇ <a href="#jabberwock">"´Ù½Ã Çѹø Á¶½ÉÇ϶ó"</a> ÀýÀ»
    +    Âü°íÇ϶ó.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="install" id="install">suEXEC ±¸¼º°ú ¼³Ä¡</a></h2>
    +
    +    <p>ÀÌÁ¦ Àç¹ÌÀÖ´Â ³»¿ëÀÌ ½ÃÀÛÇÑ´Ù.</p>
    +
    +    <p><strong>suEXEC ±¸¼º ¿É¼Ç</strong><br />
    +    </p>
    +
    +    <dl>
    +      <dt><code>--enable-suexec</code></dt>
    +
    +      <dd>ÀÌ ¿É¼ÇÀº ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ°Å³ª È°¼ºÈ­µÇÁö¾Ê´Â suEXEC
    +      ±â´ÉÀ» È°¼ºÈ­ÇÑ´Ù. APACI°¡ suEXEC¸¦ ¹Þ¾ÆµéÀÌ·Á¸é
    +      <code>--enable-suexec</code> ¿É¼Ç¿Ü¿¡
    +      <code>--with-suexec-xxxxx</code> ¿É¼ÇÀÌ ÃÖ¼ÒÇÑ ÇÑ°³
    +      ÇÊ¿äÇÏ´Ù.</dd>
    +
    +      <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
    +
    +      <dd><code>suexec</code> ¹ÙÀ̳ʸ® °æ·Î´Â º¸¾È»ó ÀÌÀ¯·Î
    +      ¼­¹ö¿¡ ±â·ÏµÇ¾ß ÇÑ´Ù. °æ·Î ±âº»°ªÀ» ¹«½ÃÇÏ·Á¸é ÀÌ ¿É¼ÇÀ»
    +      »ç¿ëÇÑ´Ù. <em>¿¹¸¦ µé¾î</em>
    +      <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
    +
    +      <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
    +
    +      <dd>º¸Åë ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â <a href="mod/mpm_common.html#user">»ç¿ëÀÚ¸í</a>. ÇÁ·Î±×·¥À»
    +      ½ÇÇàÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ »ç¿ëÀÚ´Ù.</dd>
    +
    +      <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
    +
    +      <dd>suEXEC Á¢±ÙÀÌ Çã¿ëµÇ´Â »ç¿ëÀÚ È¨µð·ºÅ丮ÀÇ ÇÏÀ§µð·ºÅ丮¸¦
    +      ÁöÁ¤ÇÑ´Ù. ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ½ÇÇàÆÄÀÏÀ» »ç¿ëÀÚÀÇ
    +      suEXEC·Î ½ÇÇà¹Ç·Î, ¸ðµç ÇÁ·Î±×·¥ÀÌ "¾ÈÀüÇؾß" ÇÑ´Ù. (¿¹¸¦
    +      µé¾î, °ª¿¡ "*"ÀÌ ¾ø´Â) "°£´ÜÇÑ" UserDir Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù¸é
    +      °°Àº °ªÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. UserDir Áö½Ã¾î°¡ passwd ÆÄÀÏ¿¡
    +      ³ª¿Â »ç¿ëÀÚ È¨µð·ºÅ丮¿Í ´Ù¸£¸é suEXEC´Â Á¤»óÀûÀ¸·Î
    +      ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. ±âº»°ªÀº "public_html"ÀÌ´Ù.<br />
    +      °¡»óÈ£½ºÆ®µéÀÌ °¢°¢ ´Ù¸¥ UserDirÀ» »ç¿ëÇÑ´Ù¸é ¸ðµÎ ÇÑ
    +      ºÎ¸ð µð·ºÅ丮 ¾È¿¡ ÀÖµµ·Ï Á¤ÀÇÇØ¾ß ÇÏ°í, ±× ºÎ¸ð µð·ºÅ丮¸íÀ»
    +      ¿©±â Àû´Â´Ù. <strong>ÀÌ·¸°Ô Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é, "~userdir"
    +      cgi ¿äûÀÌ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù!</strong></dd>
    +
    +      <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
    +
    +      <dd>¾ÆÆÄÄ¡ÀÇ DocumentRoot¸¦ Á¤ÀÇÇÑ´Ù. ÀÌ´Â suEXEC°¡ »ç¿ëÇÒ
    +      ¼ö ÀÖ´Â (UserDirsÀ» Á¦¿ÜÇÑ) À¯ÀÏÇÑ °ø°£ÀÌ´Ù. ±âº» µð·ºÅ丮´Â
    +      <code>--datadir</code> °ª¿¡ "/htdocs"À» ºÙÀÎ °ÍÀÌ´Ù.
    +      <em>¿¹¸¦ µé¾î</em> "<code>--datadir=/home/apache</code>"·Î
    +      ±¸¼ºÇß´Ù¸é suEXEC wrapper´Â document root·Î
    +      "/home/apache/htdocs" µð·ºÅ丮¸¦ »ç¿ëÇÑ´Ù.</dd>
    +
    +      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
    +
    +      <dd>suEXEC¿¡¼­ ÁöÁ¤°¡´ÉÇÑ »ç¿ëÀÚÀÇ ÃÖ¼Ò UID¸¦ Á¤ÀÇÇÑ´Ù.
    +      ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­ 500À̳ª 100ÀÌ ÀûÀýÇÏ´Ù. ±âº»°ªÀº
    +      100ÀÌ´Ù.</dd>
    +
    +      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
    +
    +      <dd>suEXEC¿¡¼­ ÁöÁ¤°¡´ÉÇÑ ±×·ìÀÇ ÃÖ¼Ò GID¸¦ Á¤ÀÇÇÑ´Ù.
    +      ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­ 100ÀÌ ÀûÀýÇϹǷΠÀÌ °ªÀÌ ±âº»°ªÀÌ´Ù.</dd>
    +
    +      <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
    +
    +      <dd>¸ðµç suEXEC ÀÛµ¿°ú ¿À·ù¸¦ (°¨½Ã³ª µð¹ö±ë ¸ñÀû¿¡ À¯¿ëÇÑ)
    +      ±â·ÏÇÒ ·Î±×ÆÄÀϸíÀ» ÁöÁ¤ÇÑ´Ù. ±âº»ÀûÀ¸·Î ·Î±×ÆÄÀÏÀÇ À̸§Àº
    +      "suexec_log"ÀÌ°í Ç¥ÁØ ·Î±×ÆÄÀÏ µð·ºÅ丮¿¡
    +      (<code>--logfiledir</code>) À§Ä¡ÇÑ´Ù.</dd>
    +
    +      <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
    +
    +      <dd>CGI ½ÇÇàÆÄÀÏ¿¡ ³Ñ°ÜÁú ¾ÈÀüÇÑ PATH ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÑ´Ù.
    +      ±âº»°ªÀº "/usr/local/bin:/usr/bin:/bin"ÀÌ´Ù.</dd>
    +    </dl>
    +
    +    <p><strong>suEXEC wrapper¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡Çϱâ</strong><br />
    +    <code>--enable-suexec</code> ¿É¼ÇÀ¸·Î suEXEC ±â´ÉÀ» °¡´ÉÇÏ°ÔÇÑ
    +    °æ¿ì <code>make</code> ¸í·É¾î¸¦ ½ÇÇàÇϸé <code>suexec</code>
    +    ½ÇÇàÆÄÀÏÀÌ (¾ÆÆÄÄ¡¿Í ÇÔ²²) ÀÚµ¿À¸·Î ¸¸µé¾îÁø´Ù.<br />
    +    ¸ðµç°ÍÀ» ÄÄÆÄÀÏÇÑ ÈÄ <code>make install</code> ¸í·É¾î¸¦
    +    ½ÇÇàÇÏ¿© ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ¹ÙÀ̳ʸ®ÆÄÀÏ <code>suexec</code>´Â
    +    <code>--sbindir</code> ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ µð·ºÅ丮¿¡ ¼³Ä¡µÈ´Ù.
    +    ±âº» À§Ä¡´Â "/usr/local/apache2/sbin/suexec"ÀÌ´Ù.<br />
    +    ¼³Ä¡ °úÁ¤¿¡ <strong><em>root ±ÇÇÑ</em></strong>ÀÌ ÇÊ¿äÇÔÀ»
    +    ÁÖÀÇÇ϶ó. wrapper°¡ »ç¿ëÀÚ ID¸¦ ¼³Á¤ÇϱâÀ§Çؼ­´Â ¼ÒÀ¯ÀÚ°¡
    +    <code><em>root</em></code>ÀÌ°í ÆÄÀϸðµå·Î setuserid ½ÇÇàºñÆ®°¡
    +    ¼³Á¤µÇ¾ß ÇÑ´Ù.</p>
    +
    +    <p><strong>ÆíÁýÁõÀûÀÎ ±ÇÇѼ³Á¤</strong><br />
    +    suEXEC wrapper´Â ÀÚ½ÅÀ» ½ÇÇàÇÑ »ç¿ëÀÚ°¡ ±¸¼º ¿É¼Ç
    +    <code>--with-suexec-caller</code>·Î ÁöÁ¤ÇÑ ¿Ã¹Ù¸¥ »ç¿ëÀÚÀÎÁö
    +    È®ÀÎÀ» ÇÏÁö¸¸, ÀÌ °Ë»ç ÀÌÀü¿¡ suEXEC°¡ »ç¿ëÇÏ´Â ½Ã½ºÅÛÈ£Ãâ
    +    ȤÀº ¶óÀ̺귯¸® ÇÔ¼ö°¡ Á¶À۵ǾúÀ» ¼ö ÀÖ´Ù. À̸¦ ´ëºñÇϸç
    +    ÀϹÝÀûÀ¸·Î ÁÁÀº ½À°üÀ̹ǷΠ¿ÀÁ÷ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â ±×·ì¸¸ÀÌ
    +    suEXEC¸¦ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÆÄÀϽýºÅÛ ±ÇÇÑÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù.</p>
    +
    +    <p>¿¹¸¦ µé¾î, À¥¼­¹ö¸¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÏ°í:</p>
    +
    +<div class="example"><p><code>
    +    User www<br />
    +    Group webgroup<br />
    +</code></p></div>
    +
    +    <p><code>suexec</code>¸¦ "/usr/local/apache2/sbin/suexec"¿¡
    +    ¼³Ä¡ÇÏ¿´´Ù¸é, ´ÙÀ½À» ½ÇÇàÇØ¾ß ÇÑ´Ù:</p>
    +
    +<div class="example"><p><code>
    +    chgrp webgroup /usr/local/apache2/bin/suexec<br />
    +    chmod 4750 /usr/local/apache2/bin/suexec<br />
    +</code></p></div>
    +
    +    <p>±×·¯¸é ¿ÀÁ÷ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â ±×·ì¸¸ÀÌ suEXEC wrapper¸¦
    +    ½ÇÇàÇÒ ¼ö ÀÖ´Ù.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="enable" id="enable">suEXEC Å°°í ²ô±â</a></h2>
    +
    +    <p>¾ÆÆÄÄ¡´Â ½ÃÀÛÇÒ¶§ <code>--sbindir</code> ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ
    +    µð·ºÅ丮¿¡¼­ <code>suexec</code> ÆÄÀÏÀ» (±âº»°ª
    +    "/usr/local/apache2/sbin/suexec") ã´Â´Ù. ¾ÆÆÄÄ¡°¡
    +    Á¤»óÀûÀ¸·Î ±¸¼ºµÈ suEXEC wrapper¸¦ ¹ß°ßÇÏ¸é ¿À·ù ·Î±×(error
    +    log)¿¡ ´ÙÀ½°ú °°ÀÌ Ãâ·ÂÇÑ´Ù:</p>
    +
    +<div class="example"><p><code>
    +    [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
    +</code></p></div>
    +
    +    <p>¼­¹ö ½ÃÀÛÁß¿¡ ÀÌ·± ¹®±¸¸¦ ¾ø´Ù¸é ¼­¹ö´Â ±â´ëÇÑ Àå¼Ò¿¡¼­
    +    wrapper ÇÁ·Î±×·¥À» ãÁö ¸øÇ߰ųª, ½ÇÇàÆÄÀÏÀÌ <em>setuid
    +    root</em>·Î ¼³Ä¡µÇÁö¾Ê¾Ò±â ¶§¹®ÀÏ °ÍÀÌ´Ù.</p>
    +
    +     <p>óÀ½À¸·Î suEXEC ±â´ÉÀ» »ç¿ëÇÏ°í ½Í°í ÀÌ¹Ì ¾ÆÆÄÄ¡ ¼­¹ö°¡
    +     ½ÇÇàÁßÀ̶ó¸é, ¾ÆÆÄÄ¡¸¦ Á×ÀÌ°í ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÑ´Ù. °£´ÜÈ÷
    +     HUPÀ̳ª USR1 ½Ã±×³Î·Î Àç½ÃÀÛÇÏ´Â °ÍÀ¸·Î´Â ÃæºÐÇÏÁö ¾Ê´Ù. </p>
    +     <p>suEXEC¸¦ ¾È»ç¿ëÇÏ·Á¸é <code>suexec</code> ÆÄÀÏÀ» Áö¿îÈÄ
    +     ¾ÆÆÄÄ¡¸¦ Á×ÀÌ°í Àç½ÃÀÛÇØ¾ß ÇÑ´Ù. </p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="usage" id="usage">suEXEC »ç¿ëÇϱâ</a></h2>
    +
    +    <p>CGI ÇÁ·Î±×·¥ ¿äûÀÇ °æ¿ì <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> Áö½Ã¾î¸¦
    +    »ç¿ëÇÑ °¡»óÈ£½ºÆ®¿¡ ¿äûÀ» ÇÏ¿´°Å³ª <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>ÀÌ
    +    ¿äûÀ» ó¸®ÇÏ´Â °æ¿ì¿¡¸¸ suEXEC wrapper¸¦ È£ÃâÇÑ´Ù.</p>
    +
    +    <p><strong>°¡»óÈ£½ºÆ®:</strong><br /> suEXEC wrapper¸¦
    +    »ç¿ëÇÏ´Â ÇÑ°¡Áö ¹æ¹ýÀº <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> Á¤ÀÇ¿¡ <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> Áö½Ã¾î¸¦
    +    »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ Áö½Ã¾î¸¦ ÁÖ¼­¹ö »ç¿ëÀÚ ID¿Í ´Ù¸£°Ô
    +    ¼³Á¤Çϸé CGI ÀÚ¿øÀÇ ¸ðµç ¿äûÀÌ <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>¿¡¼­
    +    ÁöÁ¤ÇÑ <em>User</em>¿Í <em>Group</em>À¸·Î ½ÇÇàµÈ´Ù. ÀÌ
    +    Áö½Ã¾îµéÀÌ <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>¿¡ ¾øÀ¸¸é ÁÖ¼­¹ö
    +    userid¸¦ »ç¿ëÇÑ´Ù.</p>
    +
    +    <p><strong>»ç¿ëÀÚ µð·ºÅ丮:</strong><br />
    +     <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>ÀÌ ¿äûÀ» ó¸®ÇÑ´Ù¸é suEXEC
    +     wrapper¸¦ È£ÃâÇÏ¿©, ¿äûÇÑ »ç¿ëÀÚ µð·ºÅ丮¿¡ ÇØ´çÇÏ´Â »ç¿ëÀÚ
    +     ID·Î CGI ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. ÀÌ ±â´ÉÀÌ µ¿ÀÛÇÏ·Á¸é »ç¿ëÀÚ
    +     ID·Î CGI¸¦ ½ÇÇàÇÒ ¼ö ÀÖ°í ½ºÅ©¸³Æ®°¡ À§ÀÇ <a href="#model">º¸¾È
    +     °Ë»ç</a> Ç׸ñÀ» ¸¸Á·ÇØ¾ß ÇÑ´Ù. <a href="#install">±¸¼º
    +     ¿É¼Ç</a> <code>--with-suexec-userdir</code>À» Âü°íÇ϶ó.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="debug" id="debug">suEXEC µð¹ö±ëÇϱâ</a></h2>
    +
    +    <p>suEXEC wrapper´Â ·Î±× Á¤º¸¸¦ À§¿¡¼­ ´Ù·é
    +    <code>--with-suexec-logfile</code> ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ ÆÄÀÏ¿¡
    +    ¾´´Ù. wrapper¸¦ ¿Ã¹Ù·Î ±¸¼ºÇÏ°í ¼³Ä¡Çß´Ù¸é ¾îµð¼­ À߸øµÇ¾ú´ÂÁö
    +    ÀÌ ·Î±×ÆÄÀÏ¿Í ¼­¹öÀÇ error_log¸¦ »ìÆìºÁ¶ó.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="jabberwock" id="jabberwock">´Ù½Ã Çѹø Á¶½ÉÇ϶ó: °æ°í¿Í ¿¹Á¦</a></h2>
    +
    +    <p><strong>ÁÖÀÇ!</strong> ÀÌ ¼½¼ÇÀº ¿ÏÀüÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù.
    +    ¾ÆÆÄÄ¡±×·ìÀÇ <a href="http://httpd.apache.org/docs/2.4/suexec.html">¿Â¶óÀÎ
    +    ¹®¼­</a>¿¡¼­ ÀÌ ¹®¼­ÀÇ ÃÖ½ÅÆÇÀ» Âü°íÇ϶ó.</p>
    +
    +    <p>wrapper°¡ ¼­¹ö ¼³Á¤À» Á¦¾àÇÏ´Â ¸î°¡Áö Èï¹Ì·Î¿î Á¡ÀÌ ÀÖ´Ù.
    +    suEXEC¿Í °ü·ÃµÈ "¹ö±×"¸¦ º¸°íÇϱâ Àü¿¡ À̵éÀ» »ìÆ캸±æ ¹Ù¶õ´Ù.</p>
    +
    +    <ul>
    +      <li><strong>suEXEC Á¦¾à »çÇ×</strong></li>
    +
    +      <li>
    +        µð·ºÅ丮 ±¸Á¶ Á¦ÇÑ
    +
    +        <p class="indent">
    +          º¸¾È°ú È¿À²¼ºÀ» À§ÇØ ¸ðµç suEXEC ¿äûÀº °¡»óÈ£½ºÆ®ÀÇ
    +          °æ¿ì ÃÖ»óÀ§ document root ȤÀº userdir ¿äûÀÇ °æ¿ì
    +          ÃÖ»óÀ§ °³ÀÎ document root ¾È¿¡¼­ ¹ß»ýÇØ¾ß ÇÑ´Ù. ¿¹¸¦
    +          µé¾î, °¡»óÈ£½ºÆ® ³×°³¸¦ ¼³Á¤Çß´Ù¸é °¡»óÈ£½ºÆ®¿¡¼­
    +          suEXEC¸¦ ÀÌ¿ëÇϱâÀ§ÇØ °¡»óÈ£½ºÆ®ÀÇ document root¸¦
    +          ÁÖ ¾ÆÆÄÄ¡ ¹®¼­ °èÃþ±¸Á¶ ¹Û¿¡ ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
    +          (¿¹Á¦´Â ´ÙÀ½¿¡.)
    +        </p>
    +      </li>
    +
    +      <li>
    +        suEXECÀÇ PATH ȯ°æº¯¼ö
    +
    +        <p class="indent">
    +          º¯°æÇϸé À§ÇèÇÒ ¼ö ÀÖ´Ù.  ¿©±â¿¡ Æ÷ÇÔÇÏ´Â ¸ðµç °æ·Î°¡
    +          <strong>¹ÏÀ» ¼ö ÀÖ´Â</strong> µð·ºÅ丮ÀÎÁö È®ÀÎÇ϶ó. 
    +          ÀÌ Áö±¸»óÀÇ ´©±º°¡°¡ ±×°÷¿¡ ÀÖ´Â Æ®·ÎÀ̸ñ¸¶¸¦ ½ÇÇàÇϱæ
    +          ¿øÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
    +        </p>
    +      </li>
    +
    +      <li>
    +        suEXEC ÄÚµå ¼öÁ¤Çϱâ
    +
    +        <p class="indent">
    +          ¹Ýº¹Çؼ­ ¸»ÇÏÁö¸¸, ´ç½ÅÀÌ ¹«¾ùÀ» ÇÏ´ÂÁö ¸ð¸£°í ½ÃµµÇÑ´Ù¸é
    +          <strong>Å« ¹®Á¦</strong>°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ¾î¶² °æ¿ì¿¡µµ
    +          ¼öÁ¤ÇÏÁö¸¶¶ó.
    +        </p>
    +      </li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/suexec.html.tr.utf8 b/docs/manual/suexec.html.tr.utf8
    new file mode 100644
    index 0000000..ca5787c
    --- /dev/null
    +++ b/docs/manual/suexec.html.tr.utf8
    @@ -0,0 +1,580 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>SuEXEC Desteği - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="./images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>SuEXEC Desteği</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p><strong>SuEXEC</strong> özelliği, Apache HTTP Sunucusu kullanıcılarına
    +      <strong>CGI</strong> ve <strong>SSI</strong> programlarını sunucunun
    +      aidiyetinde çalıştığı kullanıcıdan farklı bir kullanıcının aidiyetinde
    +      çalıştırma olanağı verir. Normalde, <strong>CGI</strong> ve
    +      <strong>SSI</strong> programlarını çalıştıranla sunucuyu çalıştıran
    +      aynı kullanıcıdır.</p>
    +
    +    <p>Gerektiği gibi kullanıldığında bu özellik, kullanıcılara
    +      <strong>CGI</strong> ve <strong>SSI</strong> programlarını çalıştırma
    +      ve geliştirmeye izin vermekle ortaya çıkan güvenlik risklerini azaltır.
    +      Bununla birlikte, <strong>suEXEC</strong> gerektiÄŸi gibi
    +      yapılandırılmadığı takdirde bazı sorunlara yol açabilir ve bilgisayar
    +      güvenliğinizde yeni delikler ortaya çıkmasına sebep olabilir.
    +      Güvenlikle ilgili mevcut sorunlarla başa çıkmada ve <em>setuid
    +      root</em> programları yönetmekte bilgi ve deneyim sahibi değilseniz
    +      <strong>suEXEC</strong> kullanmayı kesinlikle düşünmemenizi
    +      öneririz.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Başlamadan önce</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#model">SuEXEC Güvenlik Modeli</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC’in Yapılandırılması ve Kurulumu</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#usage">SuEXEC’in kullanımı</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#debug">SuEXEC ve hata ayıklama</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Uyarılar ve Örnekler</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</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="before" id="before">Başlamadan önce</a></h2>
    +
    +    <p>Belgeye balıklama dalmadan önce, suexec'i kullanacağınız ortam ve
    +      kendiniz hakkında yapılmış çeşitli kabuller hakkında bilgi sahibi
    +      olmalısınız.</p>
    +
    +    <p>Öncelikle, üzerinde <strong>setuid</strong> va <strong>setgid</strong>
    +      işlemlerinin yapılabildiği Unix türevi bir işletim sistemi
    +      kullandığınızı varsayıyoruz. Tüm komut örnekleri buna dayanarak
    +      verilmiÅŸtir. Bu desteÄŸe sahip baÅŸka platformlar varsa onlardaki
    +      yapılandırma burada anlattığımız yapılandırmadan farklı olabilir.</p>
    +
    +    <p>İkinci olarak, bilgisayarınızın güvenliği ve yönetimi ile ilgili bazı
    +      temel kavramları bildiğinizi kabul ediyoruz. Buna
    +      <strong>setuid/setgid</strong> işlemlerinin sisteminiz ve güvenlik
    +      seviyesi üzerindeki etkilerini bilmek dahildir.</p>
    +
    +    <p>Üçüncü olarak, <strong>suEXEC</strong> kodunun
    +      <strong>değiştirilmemiş</strong> bir sürümünü kullandığınızı
    +      varsayıyoruz. Tüm suEXEC kodu, geliştiricilerin yanında sayısız beta
    +      kullanıcısı tarafından dikkatle incelenmiş ve denenmiştir. Kodların hem
    +      basit hem de sağlam bir şekilde güvenli olması için gerekli tüm
    +      önlemler alınmıştır. Bu kodun değiştirilmesi beklenmedik sorunlara ve
    +      yeni güvenlik risklerine yol açabilir. Özellikle güvenlikle ilgili
    +      programlarda deneyimli deÄŸilseniz suEXEC kodunda kesinlikle bir
    +      değişiklik yapmamalısınız. Değişiklik yaparsanız kodlarınızı gözden
    +      geçirmek ve tartışmak üzere Apache HTTP Sunucusu geliştirme ekibi ile
    +      paylaşmanızı öneririz.</p>
    +
    +    <p>Dördüncü ve son olarak, Apache HTTP Sunucusu geliştirme ekibinin
    +      suEXEC’i öntanımlı httpd kurulumunun bir parçası yapmama kararından
    +      bahsetmek gerekir. Bunun sonucu olarak, suEXEC yapılandırması sistem
    +      yöneticisinin ayrıntılı bir incelemesini gerektirir. Gerekli incelemeden
    +      sonra yönetici tarafından suEXEC yapılandırma seçeneklerine karar
    +      verilip, normal yollardan sisteme kurulumu yapılır. Bu seçeneklerin
    +      belirlenmesi, suEXEC işlevselliğinin kullanımı sırasında sistem
    +      güvenliğini gerektiği gibi sağlamak için yönetici tarafından dikkatle
    +      saptanmayı gerektirir. Bu sürecin ayrıntılarının yöneticiye bırakılma
    +      sebebi, suEXEC kurulumunu, suEXEC’i dikkatle kullanacak yeterliliğe sahip
    +      olanlarla sınırlama  beklentimizdir.</p>
    +
    +    <p>Hala bizimle misiniz? Evet mi? Pekala, o halde devam!</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="model" id="model">SuEXEC Güvenlik Modeli</a></h2>
    +
    +    <p>SuEXEC yapılandırması ve kurulumuna girişmeden önce biraz da
    +      gerçekleşmesini istediğiniz güvenlik modelinin ayrıntıları üzerinde
    +      duralım. Böylece, suEXEC’in içinde olup bitenleri ve sisteminizin
    +      güvenliği için alınacak önlemleri daha iyi anlayabilirsiniz.</p>
    +
    +    <p><strong>suEXEC</strong> işlevselliği, Apache HTTP Sunucusu tarafından
    +      gerektiği takdirde artalanda çalıştırılan bir setuid programa dayanır.
    +      Bu program, bir CGI veya SSI betiğine bir HTTP isteği yapıldığı zaman,
    +      bu betiği, yöneticinin ana sunucunun aidiyetinde çalıştığı kullanıcıdan
    +      farklı olarak seçtiği bir kullanıcının aidiyetinde çalıştırmak için
    +      çağrılır. Böyle bir istek geldiğinde, Apache httpd artalandaki setuid
    +      programına, HTTP isteği yapılan programın ismiyle beraber aidiyetinde
    +      çalışacağı kullanıcı ve grup kimliklerini de aktarır.</p>
    +
    +    <p>Artalanda çalıştırılan setuid program başarıyı ve başarısızlığı
    +      aşağıdaki süreci izleyerek saptar. Bunlardan herhangi biri başarısız
    +      olursa program başarısızlık durumunu günlüğe kaydeder ve bir hata
    +      vererek çıkar. Aksi takdirde çalışmaya devam eder.</p>
    +
    +    <ol>
    +      <li>
    +        <strong>Setuid programı çalıştıran kullanıcı sistemin geçerli
    +        kullanıcılarından biri mi?</strong>
    +
    +        <p class="indent">Bu, setuid programı çalıştıran kullanıcının
    +        sistemin gerçek bir kullanıcısı olduğunudan emin olunmasını sağlar.
    +        </p>
    +     </li>
    +
    +     <li>
    +        <strong>Setuid program yeterli sayıda argümanla çağrılmış mı?
    +        </strong>
    +
    +        <p class="indent">Apache HTTP Sunucusunun artalanda çağırdığı
    +          setuid program ancak yeterli sayıda argüman sağlandığı takdirde
    +          çalışacaktır. Argümanların sayısını ve sırasını Apache HTTP sunucusu
    +          bilir. Eğer setuid program yeterli sayıda argümanla çağrılmamışsa
    +          ya kendisinde bir değişiklik yapılmıştır ya da kurulu Apache httpd
    +          çalıştırılabilirinin suEXEC ile ilgili kısmında yanlış giden bir
    +          şeyler vardır.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Bu geçerli kullanıcının bu setuid programı çalıştırma
    +          yetkisi var mı?</strong>
    +
    +        <p class="indent">Sadece tek bir kullanıcı (Apache’nin aidiyetinde
    +          çalıştığı kullanıcı) bu programı çalıştırmaya yetkilidir.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef CGI veya SSI programı hiyerarşik olarak güvenliği
    +          bozacak bir dosya yolu üzerinde mi?</strong>
    +
    +        <p class="indent">Hedef CGI veya SSI programının dosya yolu '/' veya
    +          '..' ile başlıyor  mu? Buna izin verilmez. Hedef CGI veya SSI
    +          programı suEXEC’in belge kök dizininde yer almalıdır (aşağıda
    +          <code>--with-suexec-docroot=<em>DİZİN</em></code> seçeneğine
    +          bakınız).</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef kullanıcı ismi geçerli mi?</strong>
    +
    +        <p class="indent">Hedef kullanıcı mevcut mu?</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef grup ismi geçerli mi?</strong>
    +
    +        <p class="indent">Hedef grup mevcut mu?</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef kullanıcı <code>root</code> değil, değil mi?</strong>
    +
    +        <p class="indent">Mevcut durumda, <code>root</code> kullanıcısının
    +          CGI/SSI programlarını çalıştırmasına izin verilmemektedir.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef kullanıcı kimliği asgari kullanıcı numarasından
    +          <em>BÜYÜK</em> mü?</strong>
    +
    +        <p class="indent">Asgari kullanıcı numarası yapılandırma sırasında
    +          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
    +          verilecek olası en düşük kullanıcı numarasını belirlemeniz mümkün
    +          kılınmıştır. Bu bazı “sistem†hesaplarını devreden çıkarmak için
    +          yararlıdır.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef grup <code>root</code>  deÄŸil, deÄŸil mi?</strong>
    +
    +        <p class="indent"><code>root</code> grubunun CGI/SSI
    +          programlarını çalıştırmasına izin verilmemektedir.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef grup numarası asgari grup numarasından
    +          <em>BÜYÜK</em> mü?</strong>
    +
    +        <p class="indent">Asgari grup numarası yapılandırma sırasında
    +          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
    +          verilecek olası en düşük grup numarasını belirlemeniz mümkün
    +          kılınmıştır. Bu bazı “sistem†hesaplarını devreden çıkarmak için
    +          yararlıdır.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Apache’nin artalanda çağırdığı setuid program hedef
    +          kullanıcı ve grubun aidiyetine geçebildi mi?</strong>
    +
    +        <p class="indent">Bu noktadan itibaren program setuid ve setgid
    +          çağrıları üzerinden hedef kullanıcı ve grubun aidiyetine geçer.
    +          Erişim grubu listesi de ayrıca kullanıcının üyesi olduğu tüm
    +          gruplara geniÅŸletilir.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef CGI/SSI programının bulunduğu dizine geçebildik mi?
    +        </strong>
    +
    +        <p class="indent">Dizin mevcut değilse dosyaları da içeremez. Hedef
    +          dizine geçemiyorsak bu, dizin mevcut olmadığından olabilir.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef dizin Apache için izin verilen yerlerden biri mi?
    +        </strong>
    +
    +        <p class="indent">İstek sunucunun normal bir bölümü için yapılmış
    +          olsa da istenen dizin acaba suEXEC’in belge kök dizini altında mı?
    +          Yani, istenen dizin, suEXEC’in aidiyetinde çalıştığı kullanıcının
    +          ev dizini altında bulunan, <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> ile belirtilen dizinin altında mı? (<a href="#install">suEXEC’in yapılandırma seçeneklerine</a>
    +          bakınız).</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef dizin başkaları tarafından yazılabilen bir dizin değil,
    +          deÄŸil mi?</strong>
    +
    +        <p class="indent">Başkaları da yazabilsin diye bir dizin açmıyoruz;
    +          dizin içeriğini sadece sahibi değiştirebilmelidir.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef CGI/SSI programı mevcut mu?</strong>
    +
    +        <p class="indent">Mevcut değilse çalıştırılamaz.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef CGI/SSI program dosyasına başkaları tarafından
    +          yazılamıyor, değil mi?</strong>
    +
    +        <p class="indent">Hedef CGI/SSI programının dosyasına sahibinden
    +          başka kimsenin bir şeyler yazmasını istemeyiz.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef CGI/SSI program setuid veya setgid <em>deÄŸil</em>,
    +          deÄŸil mi?</strong>
    +
    +        <p class="indent">UID/GID‘i tekrar değiştirecek programlar
    +          çalıştırmayı istemeyiz.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef kullanıcı/grup, programın kullanıcı/grubu ile aynı mı?
    +        </strong>
    +
    +        <p class="indent">Hedef kullanıcı dosyanın sahibi mi?</p>
    +      </li>
    +
    +      <li>
    +        <strong>İşlemlerin güvenle yapılabilmesi için süreç ortamını
    +          başarıyla temizleyebildik mi?</strong>
    +
    +        <p class="indent">suEXEC, sürecin çalışacağı ortama güvenli bir
    +          program çalıştırma yolu sağlamaktan başka, yapılandırma sırasında
    +          oluşturulan güvenli ortam değişkenleri listesinde isimleri bulunan
    +          ortam değişkenlerinden başkasını aktarmayacaktır.</p>
    +      </li>
    +
    +      <li>
    +        <strong>Hedef CGI/SSI programı haline gelip çalışabildik mi?</strong>
    +
    +        <p class="indent">Burası suEXEC’in bitip CGI/SSI programının
    +          başladığı yerdir.</p>
    +      </li>
    +    </ol>
    +
    +    <p>Bu süreç suEXEC güvenlik modelinin standart işlemlerini oluşturur.
    +      Biraz zorlayıcı ve CGI/SSI tasarımına yeni kurallar ve sınırlamalar
    +      getiriyor olsa da düşünülen güvenliği adım adım sağlayacak şekilde
    +      tasarlanmıştır.</p>
    +
    +    <p>Düzgün bir suEXEC yapılandırmasının hangi güvenlik risklerinden
    +      kurtulmayı sağladığı ve bu güvenlik modelinin sunucu yapılandırmasıyla
    +      ilgili sorumluluklarınızı nasıl sınırlayabildiği hakkında daha
    +      ayrıntılı bilgi edinmek için bu belgenin <a href="#jabberwock">"Uyarılar ve Örnekler"</a> bölümüne bakınız.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="install" id="install">suEXEC’in Yapılandırılması ve Kurulumu</a></h2>
    +
    +    <p>Eğlence başlıyor.</p>
    +
    +    <p><strong>suEXEC yapılandırma seçenekleri</strong><br />
    +    </p>
    +
    +    <dl>
    +      <dt><code>--enable-suexec</code></dt>
    +
    +      <dd>Bu seçenek, hiçbir zaman öntanımlı olarak kurulmayan ve
    +        etkinleştirilmeyen suEXEC özelliğini etkin kılar. suEXEC özelliğini
    +        kullanma isteğinizi Apache’nin kabul edebilmesi için
    +        <code>--enable-suexec</code> seçeneğinin yanında en azından bir tane
    +        de <code>--with-suexec-xxxxx</code> seçeneği belirtilmiş
    +        olmalıdır.</dd>
    +
    +      <dt><code>--with-suexec-bin=<em>YOL</em></code></dt>
    +
    +      <dd>Güvenlik sebebiyle <code>suexec</code> çalıştırılabilirinin
    +        bulunduğu yer sunucu koduna yazılır. Bu seçenekle öntanımlı yol
    +        değiştirilmiş olur. Örnek:<br />
    +        <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
    +
    +      <dt><code>--with-suexec-caller=<em>KULLANICI</em></code></dt>
    +
    +      <dd>Normalde httpd’nin aidiyetinde çalıştığı <a href="mod/mpm_common.html#user">kullanıcı</a>dır. Bu, suEXEC
    +        çalıştırıcısını çalıştırmasına izin verilen tek kullanıcıdır.</dd>
    +
    +      <dt><code>--with-suexec-userdir=<em>DÄ°ZÄ°N</em></code></dt>
    +
    +      <dd><p>Kullanıcıların ev dizinleri altında suEXEC’in erişmesine izin
    +        verilen alt dizinin yerini tanımlar. Bu dizin altında suEXEC
    +        kullanıcısı tarafından çalıştırılacak tüm programlar "güvenilir"
    +        olmalıdır. EÄŸer “basit†bir <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi kullanıyorsanız ( içinde “*â€
    +        bulunmayan), bunun aynı dizin olması gerekir. Eğer burada belirtilen
    +        dizin, <code>passwd</code> dosyasında kullanıcı için belirtilmiş
    +        dizinin altında <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
    +        yönergesinde belirtilen dizin olmadığı takdirde suEXEC işini
    +        gerektiği gibi yapmayacaktır. Öntanımlı değer
    +        <code>public_html</code>’dir.</p>
    +
    +      <p>Eğer, sanal konaklarınızın herbiri farklı <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergeleri içeriyorsa
    +        burada belirtilecek dizinin üst dizininin hepsinde aynı olması
    +        gerekir. <strong>Aksi takdirde, "~<em><code>kullanıcı</code></em>"
    +        istekleri düzgün çalışmayacaktır.</strong></p></dd>
    +
    +      <dt><code>--with-suexec-docroot=<em>DÄ°ZÄ°N</em></code></dt>
    +
    +      <dd>httpd için belge kök dizinini belirler. Bu, (<code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>’lardan başka) suEXEC için
    +        kullanılacak tek hiyerarşi olacaktır. Öntanımlı dizin sonuna
    +        "<code>/htdocs</code>" eklenmiÅŸ <code>--datadir</code> dizinidir.
    +        Yani, seçeneği "<code>--datadir=/home/apache</code>" olarak
    +        belirtmişseniz suEXEC çalıştırıcısı için belge kök dizini
    +        "<code>/home/apache/htdocs</code>" olur.</dd>
    +
    +      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
    +
    +      <dd>suEXEC kullanıcısının kullanıcı kimliği olarak izin verilen en
    +        düşük değeri belirler. Çoğu sistemde bu ya 500’dür ya da 100; 100
    +        öntanımlıdır.</dd>
    +
    +      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
    +
    +      <dd>suEXEC kullanıcısının grup kimliği olarak izin verilen en düşük
    +        değeri belirler. Çoğu sistemde bu 100 olup, seçeneğin de öntanımlı
    +        deÄŸeridir.</dd>
    +
    +      <dt><code>--with-suexec-logfile=<em>DOSYA</em></code></dt>
    +
    +      <dd>suEXEC hareketlerinin ve hatalarının kaydedileceği günlük
    +        dosyasının adını belirler (denetim ve hata ayıklama için
    +        kullanışlıdır). Öntanımlı günlük dosyası ismi
    +        "<code>suexec_log</code>" olup yeri (<code>--logfiledir</code>
    +        seçeneği ile belirtilen) günlük dosyaları dizinidir.</dd>
    +
    +      <dt><code>--with-suexec-safepath=<em>YOL</em></code></dt>
    +
    +      <dd>CGI çalıştırılabilirlerine aktarılacak güvenilir <code>PATH</code>
    +        ortam değişkeninin değerini tanımlar.
    +        "<code>/usr/local/bin:/usr/bin:/bin</code>" öntanımlıdır.</dd>
    +    </dl>
    +
    +    <h3>SuEXEC çalıştırıcısının derlenmesi ve kurulumu</h3>
    +      
    +
    +      <p>SuEXEC özelliğini <code>--enable-suexec</code> seçeneği ile
    +        etkinleÅŸtirdiyseniz <code>make</code> komutunu verdiÄŸinizde httpd
    +        ile birlikte <code>suexec</code> çalıştırılabilir dosyası da
    +        derlenecektir.</p>
    +
    +      <p>Tüm bileşenler derlendikten sonra <code>make install</code> komutunu
    +        vererek kurulumu tamamlayabilirsiniz. <code>suexec</code>
    +        çalıştırılabilir dosyası <code>--sbindir</code> seçeneği ile
    +        tanımlanan dizine kurulacaktır; öntanımlı yeri
    +        <code>/usr/local/apache2/bin/</code> dizinidir.</p>
    +
    +      <p>Kurulum adımında <strong><em>root yetkisine</em></strong> sahip
    +        olmanız gerektiğini unutmayın. Çalıştırıcıya kullanıcı kimliğinin
    +        atanabilmesi ve dosyanın sahibi olan kullanıcı kimliği ile
    +        çalıştırılabilmesini mümkün kılan bitinin etkin kılınabilmesi için
    +        kurulumun <code><em>root</em></code> tarafından yapılması
    +        önemlidir.</p>
    +    
    +
    +    <h3>Paranoyak yetkilendirme</h3>
    +      
    +
    +      <p>SuEXEC çalıştırıcısı kendini çalıştıran kullanıcının
    +        <code class="program"><a href="./programs/configure.html">configure</a></code> betiÄŸine
    +        <code>--with-suexec-caller</code> seçeneği ile belirtilen kullanıcı
    +        olup olmadığına bakacaksa da, bu sınamanın da bir sistem veya
    +        kütüphane çağrısı ile istismar edilmiş olma ihtimali gözardı
    +        edilmemelidir. Bunun meydana gelmesini önlemek için ve genelde
    +        yapıldığı gibi dosyanın izinlerini suEXEC çalıştırıcısı sadece
    +        httpd'nin aidiyetinde çalıştığı grup tarafından çalıştırılacak
    +        şekilde ayarlayınız.</p>
    +
    +      <p>Örneğin, sunucunuz şöyle yapılandırılmışsa:</p>
    +
    +      <pre class="prettyprint lang-config">User www
    +Group webgroup</pre>
    +
    +
    +      <p>Ve <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırılabilir de
    +        <code>/usr/local/apache2/bin/</code> dizinine kurulmuşsa şu komutları
    +        vermelisiniz:</p>
    +
    +      <div class="example"><p><code>
    +          chgrp apache-grup /usr/local/apache2/bin/suexec<br />
    +          chmod 4750 /usr/local/apache2/bin/suexec<br />
    +      </code></p></div>
    +
    +      <p>Böylece suEXEC çalıştırıcısını httpd’yi çalıştıran grubun
    +        üyelerinden başkasının çalıştıramayacağından emin olabilirsiniz.</p>
    +    
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="enable" id="enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></h2>
    +    
    +
    +    <p>httpd başlatıldığı sırada <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırıcısı için
    +      <code>--sbindir</code> seçeneği ile tanımlanan dizine bakar (seçeneğin
    +      öntanımlı değeri <code>/usr/local/apache/sbin/suexec</code>’tir). httpd
    +      düzgün yapılandırılmış bir suEXEC çalıştırıcısı bulduğu takdirde hata
    +      günlüğüne şöyle bir ileti yazacaktır:</p>
    +
    +<div class="example"><p><code>
    +    [notice] suEXEC mechanism enabled (wrapper: <var>/dosya/yolu/suexec</var>)
    +</code></p></div>
    +
    +    <p>Sunucu başlatıldığında bu ileti yazılmazsa sunucu ya çalıştırıcı
    +      programı umduğu yerde bulamamıştır ya da dosyanın <em>setuid</em> biti
    +      <em>root</em> tarafından etkin kılınmamıştır.</p>
    +
    +     <p>SuEXEC mekanizmasını etkin kılmak istediğiniz sunucu çalışmaktaysa
    +      sunucuyu önce öldürmeli sonra yeniden başlatmalısınız.  Basit bir
    +      <code>HUP</code> veya <code>USR1</code> sinyali ile yeniden başlamasını
    +      sağlamak yeterli olmayacaktır.</p>
    +
    +     <p>SuEXEC mekanizmasını iptal etmek için ise <code class="program"><a href="./programs/suexec.html">suexec</a></code>
    +      dosyasını sildikten sonra httpd'yi öldürüp yeniden başlamalısınız.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="usage" id="usage">SuEXEC’in kullanımı</a></h2>
    +
    +    <p>CGI programlarına yapılan isteklerin suEXEC çalıştırıcısı tarafından
    +      yerine getirilebilmesi için sanal konağın bir <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> yönergesi içermesi veya
    +      isteğin <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme konulması
    +      gerekir.</p>
    +
    +    <p><strong>Sanal Konaklar:</strong><br />SuEXEC çalıştırıcısını farklı
    +      bir kullanıcı ile etkin kılmanın tek yolu <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> bölümleri içinde <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> yönergesini
    +      kullanmaktır. Bu yönergede ana sunucuyu çalıştıran kullanıcıdan farklı
    +      bir kullanıcı  belirterek ilgili sanal konak üzerinden CGI kaynakları
    +      için yapılan tüm isteklerin belirtilen <em>kullanıcı</em> ve
    +      <em>grup</em> tarafından çalıştırılması sağlanır. Bu yönergeyi
    +      içermeyen sanal konaklar için ana sunucunun kullanıcısı
    +      öntanımlıdır.</p>
    +
    +    <p><strong>Kullanıcı dizinleri:</strong><br />
    +    <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme sokulan tüm istekler için
    +    suEXEC çalıştırıcısı istek yapılan kullanıcı dizininin sahibinin
    +    aidiyetinde çalıştırılacaktır. Bu özelliğin çalışması için tek
    +    gereklilik, kullanıcının SuEXEC çalıştırıcısı için etkin kılınmış olması
    +    ve çalıştırıcının yukarıdaki <a href="#model">güvenlik sınamalarından</a>
    +    geçebilmesidir. Ayrıca,  <code>--with-suexec-userdir</code> <a href="#install">derleme</a> seçeneğinin açıklamasına da bakınız.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="debug" id="debug">SuEXEC ve hata ayıklama</a></h2>
    +
    +    <p>SuEXEC çalıştırıcısı yukarıda değinildiği gibi günlük bilgilerini
    +      <code>--with-suexec-logfile</code> seçeneği ile belirtilen dosyaya
    +      yazacaktır. Çalıştırıcıyı doğru yapılandırarak kurduğunuzdan emin olmak
    +      istiyorsanız, yolunda gitmeyen şeyler var mı diye bu günlük dosyasına
    +      bakmayı ihmal etmeyin.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="jabberwock" id="jabberwock">Uyarılar ve Örnekler</a></h2>
    +    
    +
    +    <p><strong>UYARI!</strong> Bu bölüm henüz bitmedi.</p>
    +
    +    <p>SuEXEC çalıştırıcısından dolayı sunucu ayarlarına bazı sınırlamalar
    +      getiren bir kaç önemli nokta mevcuttur. SuEXEC ile ilgili hata
    +      bildiriminde bulunmadan önce bunlara bir göz atmalısınız.</p>
    +
    +    <p><strong>suEXEC ile ilgili önemli noktalar</strong></p>  
    +    <ul>
    +      <li>Hiyerarşik sınırlamalar
    +
    +        <p class="indent">Güvenlik ve verimlilik adına, tüm suEXEC
    +          isteklerinin sanal konaklar için üst düzey belge kökünün altındaki
    +          dosyalarla, kullanıcı dizinleri için ise üst düzey bireysel belge
    +          köklerinin altındaki dosyalarla sınırlı kalması gerekir. Örneğin,
    +          dört sanal konağınız varsa ve suEXEC çalıştırıcısının
    +          getirilerinden faydalanmak istiyorsanız, sanal konaklarınızın belge
    +          kök dizinlerini ana sunucunun belge kök dizininin altında kalacak
    +          şekilde yapılandırmanız gerekir (örnek yolda).</p>
    +      </li>
    +
    +      <li>SuEXEC'in <code>PATH</code> ortam deÄŸiÅŸkeni
    +
    +        <p class="indent">Bunu deÄŸiÅŸtirmek tehlikeli olabilir. Bu deÄŸiÅŸkende
    +          tanımladığınız her yolun <strong>güvenli</strong> bir dizini işaret
    +          ettiğinden emin olmalısınız. Başkalarının oralarda bir truva atı
    +          çalıştırmasını istemiyorsanız buna çok dikkat ediniz.</p>
    +      </li>
    +
    +      <li>SuEXEC kodunda deÄŸiÅŸiklik
    +
    +        <p class="indent">Gerçekte ne yaptığınızı bilmiyorsanız bu,
    +          <strong>büyük bir sorun</strong> olabilir. Böyle şeyler yapmaktan
    +          mümkün olduğunca uzak durmalısınız.</p>
    +      </li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/upgrading.html b/docs/manual/upgrading.html
    new file mode 100644
    index 0000000..55029c6
    --- /dev/null
    +++ b/docs/manual/upgrading.html
    @@ -0,0 +1,9 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: upgrading.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: upgrading.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/upgrading.html.en b/docs/manual/upgrading.html.en
    new file mode 100644
    index 0000000..b6b305e
    --- /dev/null
    +++ b/docs/manual/upgrading.html.en
    @@ -0,0 +1,537 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Upgrading to 2.4 from 2.2 - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="./images/feather.png" /></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.4</a></div><div id="page-content"><div id="preamble"><h1>Upgrading to 2.4 from 2.2</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="./en/upgrading.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
    +</div>
    +
    +  <p>In order to assist folks upgrading, we maintain a document
    +  describing information critical to existing Apache HTTP Server users. These
    +  are intended to be brief notes, and you should be able to find
    +  more information in either the <a href="new_features_2_4.html">New Features</a> document, or in
    +  the <code>src/CHANGES</code> file.  Application and module developers
    +  can find a summary of API changes in the <a href="developer/new_api_2_4.html">API updates</a> overview.</p>
    +
    +  <p>This document describes changes in server behavior that might
    +  require you to change your configuration or how you use the server
    +  in order to continue using 2.4 as you are currently using 2.2.
    +  To take advantage of new features in 2.4, see the New Features
    +  document.</p>
    +
    +  <p>This document describes only the changes from 2.2 to 2.4.  If you
    +  are upgrading from version 2.0, you should also consult the <a href="http://httpd.apache.org/docs/2.2/upgrading.html">2.0 to 2.2
    +  upgrading document.</a></p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#compile-time">Compile-Time Configuration Changes</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#run-time">Run-Time Configuration Changes</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#misc">Misc Changes</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#third-party">Third Party Modules</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#commonproblems">Common problems when upgrading</a></li>
    +</ul><h3>See also</h3><ul class="seealso"><li><a href="new_features_2_4.html">Overview of new features in
    +  Apache HTTP Server 2.4</a></li><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="compile-time" id="compile-time">Compile-Time Configuration Changes</a></h2>
    +    
    +
    +    <p>The compilation process is very similar to the one used in
    +    version 2.2.  Your old <code>configure</code> command line (as
    +    found in <code>build/config.nice</code> in the installed server
    +    directory) can be used in most cases.  There are some changes in
    +    the default settings.  Some details of changes:</p>
    +
    +    <ul>
    +      <li>These modules have been removed: mod_authn_default,
    +      mod_authz_default, mod_mem_cache.  If you were using
    +      mod_mem_cache in 2.2, look at <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> in
    +      2.4.</li>
    +
    +      <li>All load balancing implementations have been moved to
    +      individual, self-contained mod_proxy submodules, e.g.
    +      <code class="module"><a href="./mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>.  You might need
    +      to build and load any of these that your configuration
    +      uses.</li>
    +
    +      <li>Platform support has been removed for BeOS, TPF, and
    +      even older platforms such as A/UX, Next, and Tandem.  These were
    +      believed to be broken anyway.</li>
    +
    +      <li>configure: dynamic modules (DSO) are built by default</li>
    +
    +      <li>configure: By default, only a basic set of modules is loaded. The
    +      other <code class="directive">LoadModule</code> directives are commented
    +      out in the configuration file.</li>
    +
    +      <li>configure: the "most" module set gets built by default</li>
    +
    +      <li>configure: the "reallyall" module set adds developer modules
    +      to the "all" set</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="run-time" id="run-time">Run-Time Configuration Changes</a></h2>
    +    
    +    <p>There have been significant changes in authorization configuration,
    +    and other minor configuration changes, that could require changes to your 2.2
    +    configuration files before using them for 2.4.</p>
    +
    +    <h3><a name="authz" id="authz">Authorization</a></h3>
    +      
    +
    +      <p>Any configuration file that uses authorization will likely
    +      need changes.</p>
    +
    +    <p>You should review the <a href="howto/auth.html">Authentication,
    +    Authorization and Access Control Howto</a>, especially the section
    +    <a href="howto/auth.html#beyond">Beyond just authorization</a>
    +    which explains the new mechanisms for controlling the order in
    +    which the authorization directives are applied.</p>
    +
    +    <p>Directives that control how authorization modules respond when they don't match
    +    the authenticated user have been removed: This includes 
    +    AuthzLDAPAuthoritative, AuthzDBDAuthoritative, AuthzDBMAuthoritative, 
    +    AuthzGroupFileAuthoritative, AuthzUserAuthoritative,
    +    and AuthzOwnerAuthoritative.   These directives have been replaced by the
    +    more expressive <code class="directive"><a href="./mod/mod_authz_core.html#requireany">RequireAny</a></code>, 
    +    <code class="directive"><a href="./mod/mod_authz_core.html#requirenone">RequireNone</a></code>, and
    +    <code class="directive"><a href="./mod/mod_authz_core.html#requireall">RequireAll</a></code>.</p>
    +
    +    <p>If you use <code class="module"><a href="./mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, you must port your 
    +    configuration to use <code>Require dbm-group ...</code> in place
    +    of <code>Require group ...</code>.</p>
    +
    +    <h4><a name="access" id="access">Access control</a></h4>
    +      
    +
    +      <p>In 2.2, access control based on client hostname, IP address,
    +      and other characteristics of client requests was done using the
    +      directives <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code>, and <code class="directive"><a href="./mod/mod_access_compat.html#satisfy">Satisfy</a></code>.</p>
    +
    +      <p>In 2.4, such access control is done in the same way as other
    +      authorization checks, using the new module
    +      <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>.  The old access control idioms
    +      should be replaced by the new authentication mechanisms,
    +      although for compatibility with old configurations, the new
    +      module <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> is provided.</p>
    +
    +      <div class="note"><h3>Mixing old and new directives</h3>
    +      <p>Mixing old directives like <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code> or <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code> with new ones like
    +      <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> is technically possible 
    +      but discouraged. <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> was created to support 
    +      configurations containing only old directives to facilitate the 2.4 upgrade. 
    +      Please check the examples below to get a better idea about issues that might arise.
    +      </p>
    +      </div>
    +
    +      <p>Here are some examples of old and new ways to do the same
    +      access control.</p>
    +
    +      <p>In this example, there is no authentication and all requests are denied.</p>
    +      <div class="example"><h3>2.2 configuration:</h3><pre class="prettyprint lang-config">Order deny,allow
    +Deny from all</pre>
    +</div>
    +      <div class="example"><h3>2.4 configuration:</h3><pre class="prettyprint lang-config">Require all denied</pre>
    +</div>
    +
    +      <p>In this example, there is no authentication and all requests are allowed.</p>
    +      <div class="example"><h3>2.2 configuration:</h3><pre class="prettyprint lang-config">Order allow,deny
    +Allow from all</pre>
    +</div>
    +      <div class="example"><h3>2.4 configuration:</h3><pre class="prettyprint lang-config">Require all granted</pre>
    +</div>
    +
    +      <p>In the following example, there is no authentication and all hosts in the example.org domain
    +      are allowed access; all other hosts are denied access.</p>
    +
    +      <div class="example"><h3>2.2 configuration:</h3><pre class="prettyprint lang-config">Order Deny,Allow
    +Deny from all
    +Allow from example.org</pre>
    +</div>
    +      <div class="example"><h3>2.4 configuration:</h3><pre class="prettyprint lang-config">Require host example.org</pre>
    +</div>
    +
    +      <p>In the following example, mixing old and new directives leads to 
    +      unexpected results.</p>
    + 
    +      <div class="example"><h3>Mixing old and new directives: NOT WORKING AS EXPECTED</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
    +
    +&lt;Directory "/"&gt;
    +    AllowOverride None
    +    Order deny,allow
    +    Deny from all
    +&lt;/Directory&gt;
    +
    +&lt;Location "/server-status"&gt;
    +    SetHandler server-status
    +    Require local
    +&lt;/Location&gt;
    +
    +access.log - GET /server-status 403 127.0.0.1
    +error.log - AH01797: client denied by server configuration: /var/www/html/server-status</pre>
    +</div>
    +      <p>Why httpd denies access to servers-status even if the configuration seems to allow it?
    +        Because <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> directives take precedence
    +        over the <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code> one in this configuration 
    +        <a href="sections.html#merging">merge</a> scenario.</p>
    +
    +      <p>This example conversely works as expected:</p>
    +
    +      <div class="example"><h3>Mixing old and new directives: WORKING AS EXPECTED</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
    +
    +&lt;Directory "/"&gt;
    +    AllowOverride None
    +    Require all denied
    +&lt;/Directory&gt;
    +
    +&lt;Location "/server-status"&gt;
    +    SetHandler server-status
    +    Order deny,allow
    +    Deny from all
    +    Allow From 127.0.0.1
    +&lt;/Location&gt;
    +
    +access.log - GET /server-status 200 127.0.0.1</pre>
    +</div> 
    +      <p>So even if mixing configuration is still
    +        possible, please try to avoid it when upgrading: either keep old directives and then migrate
    +        to the new ones on a later stage or just migrate everything in bulk.  
    +      </p>
    +    
    +
    +     <p>In many configurations with authentication, where the value of the
    +     <code class="directive">Satisfy</code> was the default of <em>ALL</em>, snippets
    +     that simply disabled host-based access control are omitted:</p>
    +
    +      <div class="example"><h3>2.2 configuration:</h3><pre class="prettyprint lang-config"># 2.2 config that disables host-based access control and uses only authentication
    +Order Deny,Allow
    +Allow from all
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +      <div class="example"><h3>2.4 configuration:</h3><pre class="prettyprint lang-config"># No replacement of disabling host-based access control needed
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +
    +     <p>In configurations where both authentication and access control were meaningfully combined, the 
    +        access control directives should be migrated. This example allows requests meeting <em>both</em> criteria:</p>
    +      <div class="example"><h3>2.2 configuration:</h3><pre class="prettyprint lang-config">Order allow,deny
    +Deny from all
    +# Satisfy ALL is the default
    +Satisfy ALL
    +Allow from 127.0.0.1
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +      <div class="example"><h3>2.4 configuration:</h3><pre class="prettyprint lang-config">AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +&lt;RequireAll&gt;
    +  Require valid-user
    +  Require ip 127.0.0.1
    +&lt;/RequireAll&gt;</pre>
    +</div>
    +
    +     <p>In configurations where both authentication and access control were meaningfully combined, the 
    +        access control directives should be migrated. This example allows requests meeting <em>either</em> criteria:</p>
    +      <div class="example"><h3>2.2 configuration:</h3><pre class="prettyprint lang-config">Order allow,deny
    +Deny from all
    +Satisfy any
    +Allow from 127.0.0.1
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +      <div class="example"><h3>2.4 configuration:</h3><pre class="prettyprint lang-config">AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +# Implicitly &lt;RequireAny&gt;
    +Require valid-user
    +Require ip 127.0.0.1</pre>
    +</div>
    +
    +    
    +
    +    <h3><a name="config" id="config">Other configuration changes</a></h3>
    +      
    +
    +      <p>Some other small adjustments may be necessary for particular
    +      configurations as discussed below.</p>
    +
    +      <ul>
    +        <li><code class="directive">MaxRequestsPerChild</code> has been renamed to
    +        <code class="directive"><a href="./mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>,
    +        describes more accurately what it does. The old name is still
    +        supported.</li>
    +
    +        <li><code class="directive">MaxClients</code> has been renamed to
    +        <code class="directive"><a href="./mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>,
    +        which describes more accurately what it does. For async MPMs, like
    +        <code class="module"><a href="./mod/event.html">event</a></code>, the maximum number of clients is not
    +        equivalent than the number of worker threads. The old name is still
    +        supported.</li>
    +
    +        <li>The <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code>
    +        directive no longer has any effect, other than to emit a
    +        warning if it's used with any value other than
    +        <code>none</code>.  You need to use other configuration
    +        settings to replace it in 2.4.
    +        </li>
    +
    +        <li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> now
    +        defaults to <code>None</code>.</li>
    +
    +        <li><code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code> now
    +        defaults to Off.</li>
    +
    +        <li><code class="directive"><a href="./mod/core.html#fileetag">FileETag</a></code> now
    +        defaults to "MTime Size" (without INode).</li>
    +
    +        <li><code class="module"><a href="./mod/mod_dav_fs.html">mod_dav_fs</a></code>: The format of the <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> file has changed for
    +        systems with inodes.  The old <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> file must be deleted on
    +        upgrade.
    +        </li>
    +
    +        <li><code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> only
    +        accepts values of <code>On</code> or <code>Off</code>.
    +        Previously, any value other than "Off" or "0" was treated as
    +        "On".</li>
    +
    +        <li>Directives AcceptMutex, LockFile, RewriteLock, SSLMutex,
    +        SSLStaplingMutex, and WatchdogMutexPath have been replaced
    +        with a single <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>
    +        directive.  You will need to evaluate any use of these removed
    +        directives in your 2.2 configuration to determine if they can
    +        just be deleted or will need to be replaced using <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.</li>
    +
    +        <li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: <code class="directive"><a href="./mod/mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></code>
    +        now does an exact match against the query string instead of a
    +        partial match.  If your configuration was using partial
    +        strings, e.g. using <code>sessionid</code> to match
    +        <code>/someapplication/image.gif;jsessionid=123456789</code>,
    +        then you will need to change to the full string
    +        <code>jsessionid</code>.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: The second parameter to 
    +        <code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code> only
    +        matches forward proxy content if it begins with the correct
    +        protocol. In 2.2 and earlier, a parameter of '/' matched all
    +        content.</li>
    +
    +        <li><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>: <code class="directive"><a href="./mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> is now
    +        consistently a per-directory setting only.  If you use this
    +        directive, review your configuration to make sure it is
    +        present in all the necessary directory contexts.</li>
    +
    +        <li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>: <code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code> syntax has changed and
    +        now uses a boolean expression to determine if a filter is applied.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>:
    +            <ul>
    +            <li>The <code>#if expr</code> element now uses the new <a href="expr.html">expression parser</a>. The old syntax can be
    +            restored with the new directive <code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code>.
    +            </li>
    +            <li>An SSI* config directive in directory scope no longer causes
    +            all other per-directory SSI* directives to be reset to their
    +            default values.</li>
    +            </ul>
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>: The <code>DebugLevel</code>
    +        option has been removed in favour of per-module <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> configuration.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>: The <code>DebugLevel</code>
    +        option has been removed in favour of per-module <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> configuration.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>: The default setting for
    +        <code>PATH_INFO</code> has changed from httpd 2.2, and
    +        some web applications will no longer operate properly with
    +        the new <code>PATH_INFO</code> setting.  The previous setting
    +        can be restored by configuring the <code>proxy-scgi-pathinfo</code>
    +        variable.</li>
    +
    +        <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: CRL based revocation checking
    +        now needs to be explicitly configured through <code class="directive"><a href="./mod/mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></code>.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>: The maximum line length is now
    +        limited to 1MB.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code>: If the module is loaded, it
    +        will now set some default timeouts.</li>
    +
    +        <li><code class="module"><a href="./mod/mod_dumpio.html">mod_dumpio</a></code>: <code class="directive">DumpIOLogLevel</code>
    +        is no longer supported.  Data is always logged at <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> <code>trace7</code>.</li>
    +
    +        <li>On Unix platforms, piped logging commands configured using
    +        either <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> or
    +        <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> were invoked using
    +        <code>/bin/sh -c</code> in 2.2 and earlier.  In 2.4 and later,
    +        piped logging commands are executed directly.  To restore the
    +        old behaviour, see the <a href="logs.html#piped">piped logging
    +        documentation</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="misc" id="misc">Misc Changes</a></h2>
    +    
    +
    +    <ul>
    +      <li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>: will now extract titles and
    +      display descriptions for .xhtml files, which were previously
    +      ignored.</li>
    +
    +      <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: The default format of the <code>*_DN</code>
    +      variables has changed. The old format can still be used with the new
    +      <code>LegacyDNStringFormat</code> argument to <code class="directive"><a href="./mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. The SSLv2 protocol is
    +      no longer supported. <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN
    +	  </a></code> and <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire
    +	  </a></code> now default to On, causing proxy requests to HTTPS hosts
    +	  with bad or outdated certificates to fail with a 502 status code (Bad 
    +	  gateway)</li>
    +
    +      <li><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code> now uses MD5 hash by default on
    +      all platforms.</li>
    +
    +      <li>The <code class="directive"><a href="./mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    +      directive no longer has any effect, other than to emit a
    +      warning.  Any address/port combination appearing in multiple
    +      virtual hosts is implicitly treated as a name-based virtual host.
    +      </li>
    +
    +      <li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> will now skip compression if it knows
    +      that the size overhead added by the compression is larger than the data
    +      to be compressed.
    +      </li>
    +
    +      <li>Multi-language error documents from 2.2.x may not work unless
    +      they are adjusted to the new syntax of <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>'s
    +      <code>#if expr=</code> element or the directive
    +      <code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code> is
    +      enabled for the directory containing the error documents.
    +      </li>
    +
    +      <li>The functionality provided by <code>mod_authn_alias</code>
    +      in previous versions (i.e., the <code class="directive"><a href="./mod/mod_authn_core.html#authnprovideralias">AuthnProviderAlias</a></code> directive)
    +      has been moved into <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.  
    +      </li>
    +
    +      <li>The RewriteLog and RewriteLogLevel directives have been removed.
    +      This functionality is now provided by configuring the appropriate
    +      level of logging for the <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> module using
    +      the <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> directive.
    +      See also the <a href="mod/mod_rewrite.html#logging">mod_rewrite logging</a>
    +      section.</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="third-party" id="third-party">Third Party Modules</a></h2>
    +    
    +    <p>All modules must be recompiled for 2.4 before being loaded.</p>
    +
    +    <p>Many third-party modules designed for version 2.2 will
    +    otherwise work unchanged with the Apache HTTP Server version 2.4.
    +    Some will require changes; see the <a href="developer/new_api_2_4.html">API
    +    update</a> overview.</p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="commonproblems" id="commonproblems">Common problems when upgrading</a></h2>
    +    
    +    <ul><li>Startup errors:
    +    <ul>
    +      <li><code>Invalid command 'User', perhaps misspelled or defined by a module not included in the server configuration</code> - load module <code class="module"><a href="./mod/mod_unixd.html">mod_unixd</a></code></li>
    +      <li><code>Invalid command 'Require', perhaps misspelled or defined by a module not included in the server configuration</code>, or
    +<code>Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration</code>
    + - load module <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code>, or update configuration to 2.4 authorization directives.</li>
    +      <li><code>Ignoring deprecated use of DefaultType in line NN of /path/to/httpd.conf</code> - remove <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code>
    +      and replace with other configuration settings.</li>
    +      <li><code>Invalid command 'AddOutputFilterByType', perhaps misspelled 
    +      or defined by a module not included in the server configuration
    +      </code> - <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> 
    +      has moved from the core to mod_filter, which must be loaded.</li>
    +    </ul></li>
    +    <li>Errors serving requests:
    +    <ul>
    +      <li><code>configuration error:  couldn't check user: /path</code> -
    +      load module <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.</li>
    +      <li><code>.htaccess</code> files aren't being processed - Check for an
    +      appropriate <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> directive;
    +      the default changed to <code>None</code> in 2.4.</li>
    +    </ul>
    +    </li>
    +</ul>
    +  </div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="./en/upgrading.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/upgrading.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/upgrading.html.fr.utf8 b/docs/manual/upgrading.html.fr.utf8
    new file mode 100644
    index 0000000..bc1aa8c
    --- /dev/null
    +++ b/docs/manual/upgrading.html.fr.utf8
    @@ -0,0 +1,598 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Mise à jour de la version 2.2 vers la version 2.4 - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="./images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Mise à jour de la version 2.2 vers la version 2.4</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/upgrading.html" title="Français">&nbsp;fr&nbsp;</a></p>
    +</div>
    +
    +  <p>Afin d'assister les utilisateurs lors de leurs opérations de mise à
    +  jour, nous maintenons un document
    +  qui comporte des informations critiques à l'attention des personnes qui
    +  utilisent déjà le serveur HTTP Apache. Ces informations
    +  ne sont que de brèves notes, et vous
    +  trouverez plus d'informations dans le document <a href="new_features_2_4.html">Nouvelles fonctionnalités</a>, ou dans
    +  le fichier <code>src/CHANGES</code>. Les développeurs d'applications
    +  et de modules trouveront un résumé des modifications de l'API dans la
    +  vue d'ensemble <a href="developer/new_api_2_4.html">Mises à jour de
    +  l'API</a>.</p>
    +
    +  <p>Ce document présente les changements de comportement du serveur qui
    +  peuvent nécessiter une modification de la configuration, et une
    +  méthode pour utiliser la version 2.4 du serveur en parallèle avec la
    +  version 2.2. Pour tirer parti des nouvelles fonctionnalités de la
    +  version 2.4, reportez-vous au document "Nouvelles fonctionnalités".</p>
    +
    +  <p>Ce document ne décrit que les modifications intervenues entre les versions
    +  2.2 et 2.4. Si vous effectuez une mise à jour depuis la version 2.0, vous
    +  devez aussi consulter le
    +  <a href="http://httpd.apache.org/docs/2.2/upgrading.html">document de mise
    +  à jour de 2.0 vers 2.2.</a></p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#compile-time">Modifications des paramètres de compilation</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#run-time">Modifications de la configuration à l'exécution</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#misc">Changements divers</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#third-party">Modules tiers</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#commonproblems">Problèmes de mise à jour courants</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="new_features_2_4.html">Vue d'ensemble des nouvelles
    +fonctionnalités du serveur HTTP Apache 2.4</a></li><li><a href="#comments_section">Commentaires</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="compile-time" id="compile-time">Modifications des paramètres de compilation</a></h2>
    +    
    +     <p>Le processus de compilation est très similaire à celui de la
    +     version 2.2. Dans la plupart des cas, vous pourrez utiliser votre
    +     ancienne ligne de commande <code>configure</code> (telle qu'elle
    +     est enregistrée dans le fichier <code>build/config.nice</code>
    +     situé dans le répertoire de compilation du serveur). Voici certains
    +     changements intervenus dans la configuration par défaut :</p>
    +
    +    <ul>
    +      <li>Les modules suivants ont été supprimés : mod_authn_default,
    +      mod_authz_default et mod_mem_cache. Si vous utilisiez
    +      mod_mem_cache sous la version 2.2, vous devez maintenant utiliser
    +      <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> dans la version 2.4.</li>
    +
    +      <li>Toutes les implémentations de répartition de charge ont été
    +      déplacées vers des sous-modules spécifiques de mod_proxy, comme
    +      <code class="module"><a href="./mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>. Vous devrez compiler et
    +      chargés tous les modules correspondants que votre configuration
    +      utilise.</li>
    +
    +      <li>Le support de BeOS, TPF, et des anciennes plates-formes telles
    +      que A/UX, Next, et Tandem a été supprimé, car
    +      elles ne sont plus considérées comme maintenues.</li>
    +
    +      <li>configure: les modules dynamiques (DSO) sont compilés par
    +      défaut</li>
    +
    +      <li>configure: par défaut, seul un jeu de modules de base est
    +      chargé. Les autres directives <code class="directive">LoadModule</code>
    +      sont mises en commentaires dans le fichier de configuration.</li>
    +
    +      <li>configure: le jeu de modules "most" est compilé par défaut</li>
    +
    +      <li>configure: le jeu de modules "reallyall" ajoute les modules de
    +      développeur au jeu "all".</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="run-time" id="run-time">Modifications de la configuration à l'exécution</a></h2>
    +    
    +<p>Des changements significatifs dans la configuration de
    +l'autorisation, ainsi que quelques changements mineurs, peuvent
    +nécessiter une mise à jour des fichiers de configuration de la version
    +2.2 avant de les utiliser sous la version 2.4.</p>
    +
    +    <h3><a name="authz" id="authz">Autorisation</a></h3>
    +      
    +
    +      <p>Tout fichier de configuration qui gère des autorisations devra
    +      probablement être mis à jour.</p>
    +
    +    <p>Vous devez vous reporter au document <a href="howto/auth.html">Authentification, autorisation et contrôle
    +    d'accès</a>, et plus particulièrement à la section <a href="howto/auth.html#beyond">Pour aller plus loin qu'une simple
    +    autorisation</a> qui explique les nouveaux mécanismes permettant de
    +    contrôler l'ordre dans lequel les directives d'autorisation sont
    +    appliquées.</p>
    +
    +    <p>Les directives qui contrôlent la manière dont les modules
    +    d'autorisation réagissent lorsqu'ils ne reconnaissent pas
    +    l'utilisateur authentifié ont été supprimées : elles comprennent les
    +    directives AuthzLDAPAuthoritative, AuthzDBDAuthoritative,
    +    AuthzDBMAuthoritative, AuthzGroupFileAuthoritative,
    +    AuthzUserAuthoritative et AuthzOwnerAuthoritative. Ces directives
    +    ont été remplacées par les directives plus explicites <code class="directive"><a href="./mod/mod_authz_core.html#requireany">RequireAny</a></code>, <code class="directive"><a href="./mod/mod_authz_core.html#requirenone">RequireNone</a></code>, et <code class="directive"><a href="./mod/mod_authz_core.html#requireall">RequireAll</a></code>.</p>
    +
    +    <p>Si vous utilisez <code class="module"><a href="./mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, vous devez
    +    mettre à jour votre configuration en remplaçant les directives du
    +    style <code>Require group ...</code> par des directives du style
    +    <code>Require dbm-group ...</code>.</p>
    +
    +    <h4><a name="access" id="access">Contrôle d'accès</a></h4>
    +      
    +
    +      <p>Dans la version 2.2, le contrôle d'accès basé sur le nom d'hôte
    +      du client, son adresse IP, ou d'autres caractéristiques de la
    +      requête était assuré via les directives <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code>, et <code class="directive"><a href="./mod/mod_access_compat.html#satisfy">Satisfy</a></code>.</p>
    +
    +      <p>Dans la version 2.4, ce contrôle d'accès est assuré, comme tout
    +      contrôle d'autorisation, par le nouveau module
    +      <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. Bien que le module
    +      <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> soit fourni à des fins de
    +      compatibilité avec les anciennes configurations, les anciennes
    +      directives de contrôle d'accès devront être remplacées par les
    +      nouveaux mécanismes d'authentification.</p>
    +
    +      <div class="note"><h3>Mélanger anciennes et nouvelles directives</h3>
    +      <p>Mélanger d'anciennes directives comme <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code> ou <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code> avec des nouvelles comme
    +      <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> est techniquement
    +      possible mais déconseillé. En effet, <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> a
    +      été conçu pour supporter des configurations ne contenant que des anciennes
    +      directives afin de faciliter le passage à la version 2.4. Les
    +      exemples ci-dessous vous permettront de vous faire une meilleure idée des
    +      problèmes qui peuvent survenir.
    +      </p>
    +      </div>
    +
    +      <p>Voici quelques exemples de contrôle d'accès avec l'ancienne et
    +      la nouvelle méthode :</p>
    +
    +      <p>Dans cet exemple, il n'y a pas d'authentification et toutes les requêtes sont rejetées :</p>
    +      <div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order deny,allow
    +Deny from all</pre>
    +</div>
    +      <div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require all denied</pre>
    +</div>
    +
    +      <p>Dans cet exemple, il n'y a pas d'authentification et toutes les requêtes sont acceptées :</p>
    +      <div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
    +Allow from all</pre>
    +</div>
    +      <div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require all granted</pre>
    +</div>
    +
    +      <p>Dans l'exemple suivant, il n'y a pas d'authentification et tous les
    +      hôtes du domaine example.org ont l'autorisation d'accès, tous les autres
    +      étant rejetés :</p>
    +
    +      <div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order Deny,Allow
    +Deny from all
    +Allow from example.org</pre>
    +</div>
    +      <div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require host example.org</pre>
    +</div>
    +    <p>Dans l'exemple suivant, tous les hôtes du domaine example.org
    +      ont l'autorisation d'accès, tous les autres sont rejetés :</p>
    +
    +      <div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order Deny,Allow
    +Deny from all
    +Allow from example.org</pre>
    +</div>
    +      <div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require host example.org</pre>
    +</div>
    +
    +      <p>Dans l'exemple suivant, le mélange d'anciennes et de nouvelles
    +      directives produit des résultats inattendus.</p>
    + 
    +      <div class="example"><h3>Mélange d'anciennes et de nouvelles directives : RESULTAT
    +	INATTENDU</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
    +
    +&lt;Directory "/"&gt;
    +    AllowOverride None
    +    Order deny,allow
    +    Deny from all
    +&lt;/Directory&gt;
    +
    +&lt;Location "/server-status"&gt;
    +    SetHandler server-status
    +    Require local
    +&lt;/Location&gt;
    +
    +access.log - GET /server-status 403 127.0.0.1
    +error.log - AH01797: client denied by server configuration: /var/www/html/server-status</pre>
    +</div>
    +      <p>Pourquoi httpd interdit l'accès à server-status alors que la
    +      configuration semble l'autoriser ? Parce que dans ce scénario de <a href="sections.html#merging">fusion</a> de configuration, les
    +      directives de <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> sont prioritaires par
    +      rapport à celles de <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
    +
    +      <p>L'exemple suivant quant à lui produit un résultat conforme :</p>
    +
    +      <div class="example"><h3>Mélange d'anciennes et de nouvelles directives : RESULTAT
    +	CONFORME</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
    +
    +&lt;Directory "/"&gt;
    +    AllowOverride None
    +    Require all denied
    +&lt;/Directory&gt;
    +
    +&lt;Location "/server-status"&gt;
    +    SetHandler server-status
    +    Order deny,allow
    +    Deny from all
    +    Allow From 127.0.0.1
    +&lt;/Location&gt;
    +
    +access.log - GET /server-status 200 127.0.0.1</pre>
    +</div> 
    +      <p>En conclusion, même si une configuration hybride peut fonctionner,
    +      essayez de l'éviter lors de la mise à jour : soit conservez les anciennes
    +      directives, puis migrez-les vers les nouvelles ultérieurement, soit
    +      effectuez une migration immédiate de toutes les anciennes directives vers
    +      les nouvelles.  
    +      </p>      
    +    
    +
    +    <p>Dans de nombreuses configurations avec authentification où la directive
    +     <code class="directive">Satisfy</code> était définie à sa valeur par défaut
    +     <em>ALL</em>, les lignes de configuration qui désactivent le contrôle
    +     d'accès basé sur l'hôte sont maintenant omises :</p>
    +
    +      <div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config"># configuration en version 2.2 qui désactive le contrôle d'accès basé sur le nom
    +# d'hôte pour n'utiliser que l'authentification
    +Order Deny,Allow
    +Allow from all
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +      <div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config"># Pas besoin de remplacer les directives de contrôle d'accès basées sur le nom
    +# d'hôte désactivées
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +
    +     <p>Dans les configurations où l'authentification et le contrôle d'accès se
    +     combinaient dans un but précis, les directives de contrôle d'accès doivent
    +     être migrées. Dans l'exemple suivant, les requêtes qui correspondent aux
    +     <em>deux</em> critères sont acceptées :</p>
    +      <div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
    +Deny from all
    +# ALL est la valeur par défaut de Satisfy
    +Satisfy ALL
    +Allow from 127.0.0.1
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +      <div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config">AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +&lt;RequireAll&gt;
    +  Require valid-user
    +  Require ip 127.0.0.1
    +&lt;/RequireAll&gt;</pre>
    +</div>
    +
    +     <p>Dans les configurations où l'authentification et le contrôle d'accès se
    +     combinaient dans un but précis, les directives de contrôle d'accès doivent
    +     être migrées. Dans l'exemple suivant, les requêtes qui correspondent à
    +     <em>au moins un</em> critère sont acceptées :</p>
    +      <div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
    +Deny from all
    +Satisfy any
    +Allow from 127.0.0.1
    +AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +Require valid-user</pre>
    +</div>
    +      <div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config">AuthType Basic
    +AuthBasicProvider file
    +AuthUserFile /example.com/conf/users.passwd
    +AuthName secure
    +# Implicite : &lt;RequireAny&gt;
    +Require valid-user
    +Require ip 127.0.0.1</pre>
    +</div>
    +
    +    
    +    
    +    <h3><a name="config" id="config">Autres changements dans la configuration</a></h3>
    +      
    +
    +      <p>D'autres ajustements mineurs peuvent s'avérer nécessaires pour
    +      certaines configurations particulières, comme décrit ci-dessous.</p>
    +
    +      <ul>
    +        <li>La directive <code class="directive">MaxRequestsPerChild</code> a été renommée en
    +	<code class="directive"><a href="./mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>;
    +	ce nouveau nom reflète mieux l'usage de cette directive.
    +	L'ancien nom est encore supporté.</li>
    +
    +	<li>La directive <code class="directive">MaxClients</code> a
    +	été renommée en <code class="directive"><a href="./mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>; ce nouveau
    +	nom reflète mieux l'usage de cette directive. Pour les
    +	modules multiprocessus asynchrones, comme <code class="module"><a href="./mod/event.html">event</a></code>, le nombre
    +	maximal de clients n'est pas équivalent au nombre de threads du
    +	worker. L'ancien nom est encore supporté.</li>
    +
    +        <li>La directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> ne produit plus aucun
    +	effet, si ce n'est d'émettre un avertissement si elle est
    +	définie à une valeur autre que <code>none</code>. D'autres
    +	directives de configuration la remplacent dans la version 2.4.
    +        </li>
    +
    +	<li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est maintenant
    +	<code>None</code>.</li>
    +
    +	<li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code> est maintenant Off.</li>
    +
    +	<li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#fileetag">FileETag</a></code> est maintenant "MTime Size"
    +	(sans INode).</li>
    +
    +        <li><code class="module"><a href="./mod/mod_dav_fs.html">mod_dav_fs</a></code>: le format du fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> a changé pour les systèmes
    +	avec inodes. L'ancien fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> doit être supprimé dans le
    +	cadre de la mise à jour.
    +        </li>
    +
    +        <li>La directive <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code>
    +	n'accepte que les valeurs <code>On</code> ou <code>Off</code>.
    +	Avant, toute valeur autre que "Off" ou "0" était traitée comme
    +	"On".</li>
    +
    +        <li>Les directives AcceptMutex, LockFile, RewriteLock, SSLMutex,
    +	SSLStaplingMutex et WatchdogMutexPath ont été remplacées par la
    +	directive unique <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.
    +	Vous devez évaluer l'impact de ces directives obsolètes dans
    +	votre configuration version 2.2 afin de déterminer si elles
    +	peuvent être simplement supprimées, ou si elles doivent être
    +	remplacées par la directive <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.</li>
    +
    +        <li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: la directive <code class="directive"><a href="./mod/mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></code>
    +	effectue maintenant une correspondance exacte dans la chaîne de
    +	paramètres au lieu d'une correspondance partielle. Si votre
    +	configuration mettait en jeu des sous-chaînes comme
    +	<code>sessionid</code> pour correspondre à
    +	<code>/une-application/image.gif;jsessionid=123456789</code>,
    +	vous devez maintenant utiliser la chaîne de correspondance
    +	complète <code>jsessionid</code>.
    +        </li>
    +
    +	<li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: le second paramètre de la
    +	directive <code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code>
    +	ne concerne les contenus en mandat direct que s'ils débutent par
    +	le protocole approprié. Dans les versions 2.2 et antérieures, un
    +	paramètre tel que '/' concernait tous les contenus.</li>
    +
    +        <li><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>: la directive <code class="directive"><a href="./mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> s'utilise
    +	maintenant exclusivement au sein d'une configuration de niveau
    +	répertoire. Si vous utilisez cette directive, passez en revue
    +	votre configuration pour vous assurer qu'elle est bien présente
    +	dans tous les contextes de répertoire nécessaires.</li>
    +
    +	<li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>: la syntaxe de la directive
    +	<code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code> utilise
    +	maintenant une expression booléenne pour déterminer si un filtre
    +	s'applique.
    +        </li>
    +
    +	<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>:
    +            <ul>
    +            <li>L'élément <code>#if expr</code> utilise maintenant le
    +	    nouvel <a href="expr.html">interpréteur d'expressions</a>.
    +	    L'ancienne syntaxe peut être réactivée via la directive
    +	    <code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code>.
    +            </li>
    +            <li>Dans la portée du répertoire, une directive de
    +	    configuration SSI* ne provoque plus la réinitialisation à
    +	    leur valeur par défaut de toutes les directives SSI* de
    +	    niveau répertoire.</li>
    +            </ul>
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code> : l'option
    +	<code>DebugLevel</code> a été supprimée en faveur d'une
    +	configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau répertoire.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> : l'option
    +	<code>DebugLevel</code> a été supprimée en faveur d'une
    +	configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau répertoire.
    +        </li>
    +
    +	<li><code class="module"><a href="./mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>: certaines applications web
    +	ne fonctionneront plus correctement avec la nouvelle
    +	configuration de <code>PATH_INFO</code> qui est différente de
    +	celle de la version 2.2. La configuration
    +	précédente peut être
    +	restaurée en définissant la variable
    +	<code>proxy-scgi-pathinfo</code>.</li>
    +
    +	<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: le contrôle de révocation des
    +	certificats basé sur les CRL doit être maintenant explicitement
    +	configuré via la directive <code class="directive"><a href="./mod/mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></code>.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>: la taille maximale d'une
    +	ligne est maintenant 1Mo.
    +        </li>
    +
    +        <li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code>: si ce module est chargé, il
    +	définit maintenant certains temps d'attente par défaut.</li>
    +
    +	<li><code class="module"><a href="./mod/mod_dumpio.html">mod_dumpio</a></code>: la directive
    +	<code class="directive">DumpIOLogLevel</code> n'est plus supportée. Les
    +	données sont toujours enregistrées au niveau <code>trace7</code>
    +	de <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li>
    +
    +        <li>Jusqu'à la version 2.2, sur les plateformes de style Unix, 
    +	les commandes de redirection des logs définies via <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> ou <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> étaient invoquées
    +	en utilisant <code>/bin/sh -c</code>. A
    +	partir de la version 2.4, les commandes de redirection des logs
    +	sont exécutées directement. Pour retrouver l'ancien
    +	comportement, voir la <a href="logs.html#piped">documentation
    +	sur la redirection des logs</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="misc" id="misc">Changements divers</a></h2>
    +    
    +
    +    <ul>
    +      <li><code class="module"><a href="./mod/mod_auto_index.html">mod_auto_index</a></code>: extrait maintenant les titres
    +      et affiche la description pour les fichiers .xhtml qui étaient
    +      jusqu'alors ignorés.</li>
    +
    +      <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> : le format par défaut des variables
    +      <code>*_DN</code> a changé. Il est cependant encore possible
    +      d'utiliser l'ancien format via la nouvelle option
    +      <code>LegacyDNStringFormat</code> de la directive <code class="directive"><a href="./mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. Le protocole SSLv2 n'est
    +      plus supporté. Les directives <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> et
    +      <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></code>
    +      sont maintenant définies par défaut à On, et les requêtes mandatées
    +      vers des serveurs HTTPS possèdant des certificats non conformes ou
    +      périmés échoueront donc avec un code d'erreur 502 (Bad gateway).</li>
    +
    +      <li><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code> utilise maintenant par défaut les
    +      condensés MD5 sur toutes les plates-formes.</li>
    +
    +      <li>La directive <code class="directive"><a href="./mod/core.html#namevirtualhost">NameVirtualHost</a></code> n'a plus aucun effet, si
    +      ce n'est l'émission d'un avertissement. Toute combinaison
    +      adresse/port apparaissant dans plusieurs serveurs virtuels est
    +      traitée implicitement comme un serveur virtuel basé sur le nom.
    +      </li>
    +
    +      <li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> n'effectue plus de compression
    +      s'il s'aperçoit que la quantité de données ajoutée par la
    +      compression est supérieure à la quantité de données à compresser.
    +      </li>
    +
    +      <li>Les pages d'erreur multilingues de la version 2.2.x ne
    +      fonctionneront qu'après avoir été corrigées pour
    +      respecter la nouvelle syntaxe de l'élément <code>#if expr=</code>
    +      du module <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, ou si la directive
    +      <code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code> a
    +      été activée pour le répertoire contenant les pages d'erreur.
    +      </li>
    +
    +      <li>La fonctionnalité fournie par <code>mod_authn_alias</code>
    +      dans les précédentes versions (en fait la directive
    +      <code class="directive"><a href="./mod/mod_authn_core.html#authnprovideralias">AuthnProviderAlias</a></code>)
    +      est maintenant fournie par <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.  
    +      </li>
    +
    +      <li>Les directives RewriteLog et RewriteLogLevel ont été
    +      supprimées. Leur fonctions sont maintenant assurées par la
    +      directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> qui permet de définir
    +      un niveau de journalisation approprié pour le module
    +      <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>. Voir aussi la section <a href="mod/mod_rewrite.html#logging">journalisation de
    +      mod_rewrite</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="third-party" id="third-party">Modules tiers</a></h2>
    +    
    +
    +	<p>Tous les modules tiers doivent être recompilés pour la
    +	version 2.4 avant d'être chargés.</p>
    +
    +    <p>De nombreux modules tiers conçus pour la version 2.2
    +    fonctionneront sans changement avec le serveur HTTP Apache
    +    version 2.4. Certains nécessiteront cependant des modifications ; se
    +    reporter à la vue d'ensemble <a href="developer/new_api_2_4.html">Mise à jour de l'API</a>.</p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="commonproblems" id="commonproblems">Problèmes de mise à jour courants</a></h2>
    +    
    +    <ul><li>Erreurs au démarrage :
    +    <ul>
    +      <li><code>Invalid command 'User', perhaps misspelled or defined by
    +      a module not included in the server configuration</code> - chargez
    +      le module <code class="module"><a href="./mod/mod_unixd.html">mod_unixd</a></code></li>
    +
    +      <li><code>Invalid command 'Require', perhaps misspelled or defined
    +      by a module not included in the server configuration</code>, ou
    +      <code>Invalid command 'Order', perhaps misspelled or defined by a
    +      module not included in the server configuration</code> - chargez
    +      le module <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code>, ou mettez à jour
    +      vers la version 2.4 les directives d'autorisation.</li>
    +
    +      <li><code>Ignoring deprecated use of DefaultType in line NN of
    +      /path/to/httpd.conf</code> - supprimez la directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> et remplacez-la par les
    +      directives de configuration appropriées.</li>
    +
    +      <li><code>Invalid command 'AddOutputFilterByType', perhaps misspelled 
    +      or defined by a module not included in the server configuration
    +      </code> - la directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> qui était
    +      jusqu'alors implémentée par le module core, l'est maintenant par
    +      le module mod_filter, qui doit donc être chargé.</li>
    +
    +    </ul></li>
    +    <li>Erreurs de traitement des requêtes :
    +    <ul>
    +      <li><code>configuration error:  couldn't check user: /path</code> -
    +      chargez le module <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.</li>
    +      <li>Les fichiers <code>.htaccess</code> ne sont pas traités -
    +      Vérifiez la présence d'une directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> appropriée ; sa valeur par
    +      défaut est maintenant <code>None</code>.</li>
    +    </ul>
    +    </li>
    +</ul>
    +
    +  </div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/upgrading.html" title="Français">&nbsp;fr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/upgrading.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/urlmapping.html b/docs/manual/urlmapping.html
    new file mode 100644
    index 0000000..ef6cbf1
    --- /dev/null
    +++ b/docs/manual/urlmapping.html
    @@ -0,0 +1,21 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: urlmapping.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: urlmapping.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: urlmapping.html.ja.utf8
    +Content-Language: ja
    +Content-type: text/html; charset=UTF-8
    +
    +URI: urlmapping.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: urlmapping.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/urlmapping.html.en b/docs/manual/urlmapping.html.en
    new file mode 100644
    index 0000000..5dd32c0
    --- /dev/null
    +++ b/docs/manual/urlmapping.html.en
    @@ -0,0 +1,379 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Mapping URLs to Filesystem Locations - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="./images/feather.png" /></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.4</a></div><div id="page-content"><div id="preamble"><h1>Mapping URLs to Filesystem Locations</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="./en/urlmapping.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>This document explains how the Apache HTTP Server uses the URL of a request
    +    to determine the filesystem location from which to serve a
    +    file.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">Related Modules and Directives</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#outside">Files Outside the DocumentRoot</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#user">User Directories</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#redirect">URL Redirection</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Reverse Proxy</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Rewriting Engine</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#notfound">File Not Found</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#other">Other URL Mapping Modules</a></li>
    +</ul><h3>See also</h3><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="related" id="related">Related Modules and Directives</a></h2>
    +
    +<table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></li><li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="documentroot" id="documentroot">DocumentRoot</a></h2>
    +
    +    <p>In deciding what file to serve for a given request, httpd's
    +    default behavior is to take the URL-Path for the request (the part
    +    of the URL following the hostname and port) and add it to the end
    +    of the <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> specified
    +    in your configuration files. Therefore, the files and directories
    +    underneath the <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +    make up the basic document tree which will be visible from the
    +    web.</p>
    +
    +    <p>For example, if <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +    were set to <code>/var/www/html</code> then a request for
    +    <code>http://www.example.com/fish/guppies.html</code> would result
    +    in the file <code>/var/www/html/fish/guppies.html</code> being
    +    served to the requesting client.</p>
    +
    +    <p>If a directory is requested (i.e. a path ending with
    +    <code>/</code>), the file served from that directory is defined by
    +    the <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> directive.
    +    For example, if <code>DocumentRoot</code> were set as above, and 
    +    you were to set:</p>
    +
    +    <div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>
    +
    +    <p>Then a request for <code>http://www.example.com/fish/</code> will
    +    cause httpd to attempt to serve the file
    +    <code>/var/www/html/fish/index.html</code>. In the event that
    +    that file does not exist, it will next attempt to serve the file
    +    <code>/var/www/html/fish/index.php</code>.</p>
    +
    +    <p>If neither of these files existed, the next step is to
    +    attempt to provide a directory index, if
    +    <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> is loaded and configured to permit
    +    that.</p>
    +
    +    <p>httpd is also capable of <a href="vhosts/">Virtual
    +    Hosting</a>, where the server receives requests for more than one
    +    host. In this case, a different <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> can be specified for each
    +    virtual host, or alternatively, the directives provided by the
    +    module <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> can
    +    be used to dynamically determine the appropriate place from which
    +    to serve content based on the requested IP address or
    +    hostname.</p>
    +
    +    <p>The <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> directive
    +    is set in your main server configuration file
    +    (<code>httpd.conf</code>) and, possibly, once per additional <a href="vhosts/">Virtual Host</a> you create.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="outside" id="outside">Files Outside the DocumentRoot</a></h2>
    +
    +    <p>There are frequently circumstances where it is necessary to
    +    allow web access to parts of the filesystem that are not strictly
    +    underneath the <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. httpd offers several
    +    different ways to accomplish this. On Unix systems, symbolic links
    +    can bring other parts of the filesystem under the <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. For security reasons,
    +    httpd will follow symbolic links only if the <code class="directive"><a href="./mod/core.html#options">Options</a></code> setting for the relevant
    +    directory includes <code>FollowSymLinks</code> or
    +    <code>SymLinksIfOwnerMatch</code>.</p>
    +
    +    <p>Alternatively, the <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code> directive will map any part
    +    of the filesystem into the web space. For example, with</p>
    +
    +<pre class="prettyprint lang-config">Alias "/docs" "/var/web"</pre>
    +
    +
    +    <p>the URL <code>http://www.example.com/docs/dir/file.html</code>
    +    will be served from <code>/var/web/dir/file.html</code>. The
    +    <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code> directive
    +    works the same way, with the additional effect that all content
    +    located at the target path is treated as <a class="glossarylink" href="./glossary.html#cgi" title="see glossary">CGI</a> scripts.</p>
    +
    +    <p>For situations where you require additional flexibility, you
    +    can use the <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
    +    and <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code>
    +    directives to do powerful <a class="glossarylink" href="./glossary.html#regex" title="see glossary">regular
    +    expression</a> based matching and substitution. For
    +    example,</p>
    +
    +    <pre class="prettyprint lang-config">ScriptAliasMatch "^/~([a-zA-Z0-9]+)/cgi-bin/(.+)"   "/home/$1/cgi-bin/$2"</pre>
    +
    +
    +    <p>will map a request to
    +    <code>http://example.com/~user/cgi-bin/script.cgi</code> to the
    +    path <code>/home/user/cgi-bin/script.cgi</code> and will treat
    +    the resulting file as a CGI script.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="user" id="user">User Directories</a></h2>
    +
    +    <p>Traditionally on Unix systems, the home directory of a
    +    particular <em>user</em> can be referred to as
    +    <code>~user/</code>. The module <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>
    +    extends this idea to the web by allowing files under each user's
    +    home directory to be accessed using URLs such as the
    +    following.</p>
    +
    +<div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>
    +
    +    <p>For security reasons, it is inappropriate to give direct
    +    access to a user's home directory from the web. Therefore, the
    +    <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> directive
    +    specifies a directory underneath the user's home directory
    +    where web files are located. Using the default setting of
    +    <code>Userdir public_html</code>, the above URL maps to a file
    +    at a directory like
    +    <code>/home/user/public_html/file.html</code> where
    +    <code>/home/user/</code> is the user's home directory as
    +    specified in <code>/etc/passwd</code>.</p>
    +
    +    <p>There are also several other forms of the
    +    <code>Userdir</code> directive which you can use on systems
    +    where <code>/etc/passwd</code> does not contain the location of
    +    the home directory.</p>
    +
    +    <p>Some people find the "~" symbol (which is often encoded on the
    +    web as <code>%7e</code>) to be awkward and prefer to use an
    +    alternate string to represent user directories. This functionality
    +    is not supported by mod_userdir. However, if users' home
    +    directories are structured in a regular way, then it is possible
    +    to use the <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
    +    directive to achieve the desired effect. For example, to make
    +    <code>http://www.example.com/upages/user/file.html</code> map to
    +    <code>/home/user/public_html/file.html</code>, use the following
    +    <code>AliasMatch</code> directive:</p>
    +
    +    <pre class="prettyprint lang-config">AliasMatch "^/upages/([a-zA-Z0-9]+)(/(.*))?$"   "/home/$1/public_html/$3"</pre>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="redirect" id="redirect">URL Redirection</a></h2>
    +
    +    <p>The configuration directives discussed in the above sections
    +    tell httpd to get content from a specific place in the filesystem
    +    and return it to the client. Sometimes, it is desirable instead to
    +    inform the client that the requested content is located at a
    +    different URL, and instruct the client to make a new request with
    +    the new URL. This is called <em>redirection</em> and is
    +    implemented by the <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code> directive. For example, if
    +    the contents of the directory <code>/foo/</code> under the
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> are moved
    +    to the new directory <code>/bar/</code>, you can instruct clients
    +    to request the content at the new location as follows:</p>
    +
    +    <pre class="prettyprint lang-config">Redirect permanent "/foo/"   "http://www.example.com/bar/"</pre>
    +
    +
    +    <p>This will redirect any URL-Path starting in
    +    <code>/foo/</code> to the same URL path on the
    +    <code>www.example.com</code> server with <code>/bar/</code>
    +    substituted for <code>/foo/</code>. You can redirect clients to
    +    any server, not only the origin server.</p>
    +
    +    <p>httpd also provides a <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> directive for more
    +    complicated rewriting problems. For example, to redirect requests
    +    for the site home page to a different site, but leave all other
    +    requests alone, use the following configuration:</p>
    +
    +    <pre class="prettyprint lang-config">RedirectMatch permanent "^/$"    "http://www.example.com/startpage.html"</pre>
    +
    +
    +    <p>Alternatively, to temporarily redirect all pages on one site
    +    to a particular page on another site, use the following:</p>
    +
    +    <pre class="prettyprint lang-config">RedirectMatch temp ".*"  "http://othersite.example.com/startpage.html"</pre>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy">Reverse Proxy</a></h2>
    +
    +<p>httpd also allows you to bring remote documents into the URL space
    +of the local server.  This technique is called <em>reverse
    +proxying</em> because the web server acts like a proxy server by
    +fetching the documents from a remote server and returning them to the
    +client.  It is different from normal (forward) proxying because, to the client,
    +it appears the documents originate at the reverse proxy server.</p>
    +
    +<p>In the following example, when clients request documents under the
    +<code>/foo/</code> directory, the server fetches those documents from
    +the <code>/bar/</code> directory on <code>internal.example.com</code>
    +and returns them to the client as if they were from the local
    +server.</p>
    +
    +<pre class="prettyprint lang-config">ProxyPass "/foo/" "http://internal.example.com/bar/"
    +ProxyPassReverse "/foo/" "http://internal.example.com/bar/"
    +ProxyPassReverseCookieDomain internal.example.com public.example.com
    +ProxyPassReverseCookiePath "/foo/" "/bar/"</pre>
    +
    +
    +<p>The <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> configures
    +the server to fetch the appropriate documents, while the
    +<code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
    +directive rewrites redirects originating at
    +<code>internal.example.com</code> so that they target the appropriate
    +directory on the local server.  Similarly, the
    +<code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>
    +and <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
    +rewrite cookies set by the backend server.</p>
    +<p>It is important to note, however, that
    +links inside the documents will not be rewritten. So any absolute
    +links on <code>internal.example.com</code> will result in the client
    +breaking out of the proxy server and requesting directly from
    +<code>internal.example.com</code>. You can modify these links (and other
    +content) in a page as it is being served to the client using
    +<code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>.</p>
    +
    +<pre class="prettyprint lang-config">Substitute "s/internal\.example\.com/www.example.com/i"</pre>
    +
    +
    +<p>For more sophisticated rewriting of links in HTML and XHTML, the 
    +<code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> module is also available. It allows you
    +to create maps of URLs that need to be rewritten, so that complex
    +proxying scenarios can be handled.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="rewrite" id="rewrite">Rewriting Engine</a></h2>
    +
    +    <p>When even more powerful substitution is required, the rewriting
    +    engine provided by <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>
    +    can be useful. The directives provided by this module can use
    +    characteristics of the request such as browser type or source IP
    +    address in deciding from where to serve content. In addition,
    +    mod_rewrite can use external database files or programs to
    +    determine how to handle a request. The rewriting engine is capable
    +    of performing all three types of mappings discussed above:
    +    internal redirects (aliases), external redirects, and proxying.
    +    Many practical examples employing mod_rewrite are discussed in the
    +    <a href="rewrite/">detailed mod_rewrite documentation</a>.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="notfound" id="notfound">File Not Found</a></h2>
    +
    +    <p>Inevitably, URLs will be requested for which no matching
    +    file can be found in the filesystem. This can happen for
    +    several reasons. In some cases, it can be a result of moving
    +    documents from one location to another. In this case, it is
    +    best to use <a href="#redirect">URL redirection</a> to inform
    +    clients of the new location of the resource. In this way, you
    +    can assure that old bookmarks and links will continue to work,
    +    even though the resource is at a new location.</p>
    +
    +    <p>Another common cause of "File Not Found" errors is
    +    accidental mistyping of URLs, either directly in the browser,
    +    or in HTML links. httpd provides the module
    +    <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) to help with
    +    this problem. When this module is activated, it will intercept
    +    "File Not Found" errors and look for a resource with a similar
    +    filename. If one such file is found, mod_speling will send an
    +    HTTP redirect to the client informing it of the correct
    +    location. If several "close" files are found, a list of
    +    available alternatives will be presented to the client.</p>
    +
    +    <p>An especially useful feature of mod_speling, is that it will
    +    compare filenames without respect to case. This can help
    +    systems where users are unaware of the case-sensitive nature of
    +    URLs and the unix filesystem. But using mod_speling for
    +    anything more than the occasional URL correction can place
    +    additional load on the server, since each "incorrect" request
    +    is followed by a URL redirection and a new request from the
    +    client.</p>
    +
    +    <p><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> provides <code class="directive"><a href="./mod/mod_dir.html#fallbackresource">FallbackResource</a></code>, which can be used to map virtual
    +    URIs to a real resource, which then serves them. This is a very
    +    useful replacement for <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> when implementing
    +    a 'front controller'</p>
    +
    +    <p>If all attempts to locate the content fail, httpd returns
    +    an error page with HTTP status code 404 (file not found). The
    +    appearance of this page is controlled with the
    +    <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> directive
    +    and can be customized in a flexible manner as discussed in the
    +    <a href="custom-error.html">Custom error responses</a>
    +    document.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="other" id="other">Other URL Mapping Modules</a></h2>
    +
    +
    +
    +    <p>Other modules available for URL mapping include:</p>
    +
    +    <ul>
    +    <li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Maps a request to a CGI script
    +    based on the request method, or resource MIME type.</li>
    +    <li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - Provides basic mapping of a trailing
    +    slash into an index file such as <code>index.html</code>.</li>
    +    <li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Maps a request to a URL based
    +    on where a user clicks on an image embedded in a HTML document.</li>
    +    <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Selects an appropriate
    +    document based on client preferences such as language or content
    +    compression.</li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="./en/urlmapping.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/urlmapping.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/urlmapping.html.fr.utf8 b/docs/manual/urlmapping.html.fr.utf8
    new file mode 100644
    index 0000000..aea08c7
    --- /dev/null
    +++ b/docs/manual/urlmapping.html.fr.utf8
    @@ -0,0 +1,402 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title> Mise en correspondance des URLs avec le système de fichiers - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="./images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1> Mise en correspondance des URLs avec le système de fichiers</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une
    +    requête pour déterminer le noeud du système de fichier à partir duquel le
    +    fichier devra être servi.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#documentroot">Racine des documents (DocumentRoot)</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#outside">Fichiers situés en dehors de
    +l'arborescence DocumentRoot</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#user">Répertoires des utilisateurs</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#redirect">Redirection d'URL</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire inverse (Reverse Proxy)</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Moteur de réécriture</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Fichier non trouvé (File Not Found)</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#other">Autres modules de mise en correspondance des
    +URLs</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</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="related" id="related">Modules et directives concernés</a></h2>
    +
    +<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></li><li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="documentroot" id="documentroot">Racine des documents (DocumentRoot)</a></h2>
    +
    +    <p>La méthode par défaut de httpd pour déterminer quel fichier servir pour
    +    une requête donnée, consiste à extraire le chemin du fichier de la requête
    +    (la partie de l'URL qui suit le nom d'hôte et le port), puis de l'ajouter
    +    à la fin de la valeur de la directive
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> définie dans vos fichiers
    +    de configuration.
    +    Ainsi, les fichiers et répertoires
    +    situés en dessous de <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +    constituent l'arborescence de base des documents qui seront visibles
    +    depuis le web.</p>
    +
    +    <p>Par exemple, si la directive
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> contient
    +    <code>/var/www/html</code>, une requête pour
    +    <code>http://www.example.com/fish/guppies.html</code> retournera le
    +    fichier <code>/var/www/html/fish/guppies.html</code> au client.</p>
    +
    +    <p>Si la requête concerne un répertoire (autrement dit un chemin se
    +    terminant par un slash <code>/</code>), le nom du fichier qui sera
    +    recherché et servi depuis ce répertoire est défini via la directive
    +    <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>. Par exemple,
    +    supposons que <code>DocumentRoot</code> ait été définie comme
    +    précédemment, et que vous ayez défini <code>DirectoryIndex</code>
    +    comme suit :</p>
    +
    +    <div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>
    +
    +    <p>Si httpd reçoit alors une requête pour
    +    <code>http://www.example.com/fish/</code>, il tentera de servir le
    +    fichier <code>/var/www/html/fish/index.html</code>. Si ce fichier
    +    n'existe pas, il tentera de servir le fichier
    +    <code>/var/www/html/fish/index.php</code>.</p>
    +
    +    <p>Si aucun de ces fichiers existe, httpd tentera de générer et
    +    d'afficher un index du répertoire, à condition que
    +    <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> ait été chargé et configuré pour le
    +    permettre.</p>
    +
    +    <p>httpd supporte aussi les <a href="vhosts/">Hôtes virtuels</a>,
    +    ce qui lui permet de traiter des requêtes pour plusieurs hôtes.
    +    Dans ce cas, un <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +    différent peut être défini pour chaque hôte virtuel;
    +    les directives fournies par le module
    +    <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> peuvent aussi être utilisées afin de
    +    déterminer dynamiquement le noeud approprié du système de fichiers
    +    à partir duquel servir un contenu en fonction de l'adresse IP
    +    ou du nom d'hôte.</p>
    +
    +    <p>La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>  est
    +    définie dans le fichier de configuration de votre serveur principal
    +    (<code>httpd.conf</code>), mais peut aussi être redéfinie pour chaque
    +    <a href="vhosts/">Hôte virtuel</a> supplémentaire que vous avez créé.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="outside" id="outside">Fichiers situés en dehors de
    +l'arborescence DocumentRoot</a></h2>
    +
    +    <p>Il existe de nombreuses circonstances pour lesquelles il est nécessaire
    +    d'autoriser l'accès web à des portions du système de fichiers qui ne se
    +    trouvent pas dans l'arborescence <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>.  httpd propose de nombreuses
    +    solutions pour réaliser cela. Sur les systèmes Unix, les liens
    +    symboliques permettent de rattacher d'autres portions du système de
    +    fichiers au <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. Pour des raisons de sécurité,
    +    httpd ne suivra les liens symboliques que si les <code class="directive"><a href="./mod/core.html#options">Options</a></code> pour le répertoire concerné contiennent
    +    <code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p>
    +
    +    <p>Une autre méthode consiste à utiliser la directive <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code> pour rattacher toute portion
    +    du système de fichiers à l'arborescence du site web. Par exemple, avec</p>
    +
    +<pre class="prettyprint lang-config">Alias "/docs" "/var/web"</pre>
    +
    +
    +    <p>l'URL <code>http://www.example.com/docs/dir/file.html</code>
    +    correspondra au fichier <code>/var/web/dir/file.html</code>. La
    +    directive
    +    <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code>
    +    fonctionne de la même manière, excepté que tout contenu localisé dans le
    +    chemin cible sera traité comme un script <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGI</a>.</p>
    +
    +    <p>Pour les situations qui nécessitent plus de flexibilité, vous disposez
    +    des directives <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
    +    et <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code>
    +    qui permettent des substitutions et comparaisons puissantes basées
    +    sur les <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>.
    +    Par exemple,</p>
    +
    +<pre class="prettyprint lang-config">ScriptAliasMatch "^/~([a-zA-Z0-9]+)/cgi-bin/(.+)" "/home/$1/cgi-bin/$2"</pre>
    +
    +
    +    <p>fera correspondre une requête du style
    +    <code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin
    +    <code>/home/user/cgi-bin/script.cgi</code>, et traitera le fichier résultant
    +    comme un script CGI.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="user" id="user">Répertoires des utilisateurs</a></h2>
    +
    +    <p>Sur les systèmes Unix, on peut traditionnellement faire référence
    +    au répertoire personnel d'un <em>utilisateur</em> particulier à l'aide de
    +    l'expression <code>~user/</code>.
    +    Le module <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>
    +    étend cette idée au web en autorisant l'accès aux fichiers situés dans les
    +    répertoires home des utilisateurs à l'aide d'URLs
    +    comme dans ce qui suit :</p>
    +
    +<div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>
    +
    +    <p>Pour des raisons de sécurité, il est déconseillé de permettre un accès
    +    direct à un répertoire home d'utilisateur depuis le web. A cet effet, la
    +    directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
    +    spécifie un répertoire où sont situés les fichiers accessibles depuis le web
    +    dans le répertoire home de l'utilisateur.
    +    Avec la configuration par défaut
    +    <code>Userdir public_html</code>, l'URL ci-dessus correspondra à un fichier
    +    dont le chemin sera du style
    +    <code>/home/user/public_html/file.html</code> où
    +    <code>/home/user/</code> est le répertoire home de l'utilisateur tel qu'il
    +    est défini dans <code>/etc/passwd</code>.</p>
    +
    +    <p>La directive <code>Userdir</code> met à votre disposition de nombreuses
    +    formes différentes pour les systèmes où <code>/etc/passwd</code> ne
    +    spécifie pas la localisation du répertoire home.</p>
    +
    +    <p>Certains jugent le symbole "~" (dont le code sur le web est souvent
    +    <code>%7e</code>) inapproprié et préfèrent utiliser une chaîne de
    +    caractères différente pour représenter les répertoires utilisateurs.
    +    mod_userdir ne supporte pas cette fonctionnalité. Cependant, si les
    +    répertoires home des utilisateurs sont structurés de manière rationnelle,
    +    il est possible d'utiliser la directive
    +    <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
    +    pour obtenir l'effet désiré. Par exemple, pour faire correspondre
    +    <code>http://www.example.com/upages/user/file.html</code> à
    +    <code>/home/user/public_html/file.html</code>, utilisez la directive
    +    <code>AliasMatch</code> suivante :</p>
    +
    +<pre class="prettyprint lang-config">AliasMatch "^/upages/([a-zA-Z0-9]+)(/(.*))?$"   "/home/$1/public_html/$3"</pre>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="redirect" id="redirect">Redirection d'URL</a></h2>
    +
    +    <p>Les directives de configuration décrites dans les sections précédentes
    +    demandent à httpd d'extraire un contenu depuis un emplacement spécifique
    +    du système de fichiers
    +    et de la retourner au client. Il est cependant parfois
    +    souhaitable d'informer le
    +    client que le contenu demandé est localisé à une URL différente, et de
    +    demander au client d'élaborer une nouvelle requête avec la nouvelle URL.
    +    Ce processus se nomme <em>redirection</em> et est implémenté par la
    +    directive <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>.
    +    Par exemple, si le contenu du répertoire <code>/foo/</code> sous
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est déplacé vers le
    +    nouveau répertoire <code>/bar/</code>, vous pouvez demander aux clients
    +    de le requérir à sa nouvelle localisation comme suit :</p>
    +
    +<pre class="prettyprint lang-config">Redirect permanent "/foo/"   "http://www.example.com/bar/"</pre>
    +
    +
    +    <p>Ceci aura pour effet de rediriger tout chemin d'URL commençant par
    +    <code>/foo/</code> vers le même chemin d'URL sur le serveur
    +    <code>www.example.com</code> en remplaçant <code>/foo/</code> par
    +    <code>/bar/</code>. Vous pouvez rediriger les clients non seulement sur le
    +    serveur d'origine, mais aussi vers n'importe quel autre serveur.</p>
    +
    +    <p>httpd propose aussi la directive <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> pour traiter les problèmes
    +    de réécriture d'une plus grande complexité. Par exemple, afin de rediriger
    +    les requêtes pour la page d'accueil du site vers un site différent, mais
    +    laisser toutes les autres requêtes inchangées, utilisez la
    +    configuration suivante :</p>
    +
    +<pre class="prettyprint lang-config">RedirectMatch permanent "^/$"    "http://www.example.com/startpage.html"</pre>
    +
    +
    +    <p>De même, pour rediriger temporairement toutes les pages d'un site
    +    vers une page particulière d'un autre site, utilisez ce qui suit :</p>
    +
    +<pre class="prettyprint lang-config">RedirectMatch temp ".*"  "http://othersite.example.com/startpage.html"</pre>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy">Mandataire inverse (Reverse Proxy)</a></h2>
    +
    +<p>httpd vous permet aussi de rapatrier des documents distants
    +dans l'espace des URL du serveur local.
    +Cette technique est appelée <em>mandataire inverse ou reverse
    +proxying</em> car le serveur web agit comme un serveur mandataire en
    +rapatriant les documents depuis un serveur distant puis les renvoyant
    +au client. Ceci diffère d'un service de mandataire usuel (direct) car, pour le client,
    +les documents semblent appartenir au serveur mandataire inverse.</p>
    +
    +<p>Dans l'exemple suivant, quand les clients demandent des documents situés
    +dans le répertoire
    +<code>/foo/</code>, le serveur rapatrie ces documents depuis le répertoire
    +<code>/bar/</code> sur <code>internal.example.com</code>
    +et les renvoie au client comme s'ils appartenaient au serveur local.</p>
    +
    +<pre class="prettyprint lang-config">ProxyPass "/foo/" "http://internal.example.com/bar/"
    +ProxyPassReverse "/foo/" "http://internal.example.com/bar/"
    +ProxyPassReverseCookieDomain internal.example.com public.example.com
    +ProxyPassReverseCookiePath "/foo/" "/bar/"</pre>
    +
    +
    +<p>La directive <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> configure
    +le serveur pour rapatrier les documents appropriés, alors que la directive
    +<code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
    +réécrit les redirections provenant de
    +<code>internal.example.com</code> de telle manière qu'elles ciblent le
    +répertoire approprié sur le serveur local. De manière similaire, les directives
    +<code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>
    +et <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
    +réécrivent les cookies élaborés par le serveur d'arrière-plan.</p>
    +<p>Il est important de noter cependant, que les liens situés dans les documents
    +ne seront pas réécrits.  Ainsi, tout lien absolu sur
    +<code>internal.example.com</code> fera décrocher le client
    +du serveur mandataire et effectuer sa requête directement sur
    +<code>internal.example.com</code>. Vous pouvez modifier ces liens (et
    +d'utres contenus) situés dans la page au moment où elle est envoyée au
    +client en utilisant le module <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>.</p>
    +
    +<pre class="prettyprint lang-config">Substitute "s/internal\.example\.com/www.example.com/i"</pre>
    +
    +
    +<p>Le module <code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> rend possible une réécriture plus
    +élaborée des liens en HTML et XHTML. Il permet de créer des listes
    +d'URLs et de leurs réécritures, de façon à pouvoir gérer des scénarios
    +de réécriture complexes.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="rewrite" id="rewrite">Moteur de réécriture</a></h2>
    +
    +    <p>Le moteur de réécriture <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> peut s'avérer
    +    utile lorsqu'une substitution plus puissante est nécessaire.
    +    Les directives fournies par ce module peuvent utiliser des caractéristiques de la
    +    requête comme le type de navigateur ou l'adresse IP source afin de décider
    +    depuis où servir le contenu. En outre, mod_rewrite peut utiliser des
    +    fichiers ou programmes de bases de données externes pour déterminer comment
    +    traiter une requête. Le moteur de réécriture peut effectuer les trois types
    +    de mise en correspondance discutés plus haut :
    +    redirections internes (aliases), redirections externes, et services mandataires.
    +    De nombreux exemples pratiques utilisant mod_rewrite sont discutés dans la
    +    <a href="rewrite/">documentation détaillée de mod_rewrite</a>.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="notfound" id="notfound">Fichier non trouvé (File Not Found)</a></h2>
    +
    +    <p>Inévitablement, apparaîtront des URLs qui ne correspondront à aucun
    +    fichier du système de fichiers.
    +    Ceci peut arriver pour de nombreuses raisons.
    +    Il peut s'agir du déplacement de documents d'une
    +    localisation vers une autre. Dans ce cas, le mieux est d'utiliser la
    +    <a href="#redirect">redirection d'URL</a> pour informer les clients de la
    +    nouvelle localisation de la ressource. De cette façon, vous êtes sur que
    +    les anciens signets et liens continueront de fonctionner, même si la
    +    ressource est déplacée.</p>
    +
    +    <p>Une autre cause fréquente d'erreurs "File Not Found" est l'erreur de
    +    frappe accidentelle dans les URLs, soit directement dans le navigateur,
    +    soit dans les liens HTML. httpd propose le module
    +    <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) pour tenter de résoudre ce problème.
    +    Lorsque ce module est activé, il intercepte les erreurs
    +    "File Not Found" et recherche une ressource possédant un nom de fichier
    +    similaire. Si un tel fichier est trouvé, mod_speling va envoyer une
    +    redirection HTTP au client pour lui communiquer l'URL correcte.
    +    Si plusieurs fichiers proches sont trouvés, une liste des alternatives
    +    possibles sera présentée au client.</p>
    +
    +    <p>mod_speling possède une fonctionnalité particulièrement utile :
    +    il compare les noms de fichiers sans tenir compte de la casse.
    +    Ceci peut aider les systèmes où les utilisateurs ne connaissent pas la
    +    sensibilité des URLs à la casse et bien sûr les systèmes de fichiers unix.
    +    Mais l'utilisation de mod_speling pour toute autre chose que la correction
    +    occasionnelle d'URLs peut augmenter la charge du serveur, car chaque
    +    requête "incorrecte" entraîne une redirection d'URL et une nouvelle requête
    +    de la part du client.</p>
    +
    +    <p><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> fournit la directive <code class="directive"><a href="./mod/mod_dir.html#fallbackresource">FallbackResource</a></code> qui permet d'associer
    +    des URIs virtuels à une ressource réelle qui peut ainsi les servir.
    +    Cette directive remplace avantageusement
    +    <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> lors de l'implémentation d'un
    +    "contrôleur frontal".</p>
    +
    +    <p>Si toutes les tentatives pour localiser le contenu
    +    échouent, httpd
    +    retourne une page d'erreur avec le code de statut HTTP 404
    +    (file not found). L'apparence de cette page est contrôlée à l'aide de la
    +    directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
    +    et peut être personnalisée de manière très flexible comme discuté dans le
    +    document
    +    <a href="custom-error.html">Réponses personnalisées aux erreurs</a>.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="other" id="other">Autres modules de mise en correspondance des
    +URLs</a></h2>
    +
    +
    +
    +    <p>Les autres modules disponibles pour la mise en correspondance des
    +    URLs sont :</p>
    +    <ul>
    +    <li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Met une URL en correspondance
    +    avec un script CGI en fonction de la méthode de la requête, ou du
    +    type MIME de la ressource.</li>
    +    <li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - Permet une mise en correspondance
    +    basique d'un slash terminal dans un fichier index comme
    +    <code>index.html</code>.</li>
    +    <li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Met en correspondance une
    +    requête avec une URL en fonction de la zone d'une image intégrée à
    +    un document HTML dans laquelle un utilisateur clique.</li>
    +    <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Sélectionne le document
    +    approprié en fonction de préférences du client telles que la langue
    +    ou la compression du contenu.</li>
    +    </ul>
    +    
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/urlmapping.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/urlmapping.html.ja.utf8 b/docs/manual/urlmapping.html.ja.utf8
    new file mode 100644
    index 0000000..33163c2
    --- /dev/null
    +++ b/docs/manual/urlmapping.html.ja.utf8
    @@ -0,0 +1,318 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="ja" xml:lang="ja"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>URL ã‹ã‚‰ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®ä½ç½®ã¸ã®ãƒžãƒƒãƒ— - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p>
    +<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
    +<img alt="" src="./images/feather.png" /></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 サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="./">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a></div><div id="page-content"><div id="preamble"><h1>URL ã‹ã‚‰ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®ä½ç½®ã¸ã®ãƒžãƒƒãƒ—</h1>
    +<div class="toplang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
    +            å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +            最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
    +        </div>
    +
    +    <p>ã“ã®æ–‡æ›¸ã¯ Apache ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã® URL ã‹ã‚‰é€ä¿¡ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®
    +    ファイルシステム上ã®ä½ç½®ã‚’決定ã™ã‚‹æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">関連ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#outside">DocumentRoot 外ã®ãƒ•ã‚¡ã‚¤ãƒ«</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#user">ユーザディレクトリ</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#redirect">URL リダイレクション</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#proxy">リãƒãƒ¼ã‚¹ãƒ—ロキシ</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">リライトエンジン</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#notfound">File Not Found</a></li>
    +</ul><h3>å‚ç…§</h3><ul class="seealso"><li><a href="#comments_section">コメント</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="related" id="related">関連ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–</a></h2>
    +
    +<table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritematch">RewriteMatch</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="documentroot" id="documentroot">DocumentRoot</a></h2>
    +
    +    <p>リクエストã«å¯¾ã—ã¦ã©ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é€ä¿¡ã™ã‚‹ã‹ã‚’決定ã™ã‚‹ã¨ãã®
    +    Apache ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å‹•ä½œã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã® URL-Path (URL ã®ãƒ›ã‚¹ãƒˆåã¨
    +    ãƒãƒ¼ãƒˆç•ªå·ã®å¾Œã«ç¶šã部分) ã‚’å–り出ã—ã¦è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> 
    +    ã®æœ€å¾Œã«è¿½åŠ ã™ã‚‹ã€ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚ã§ã™ã‹ã‚‰ã€
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> 
    +    ã®ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„ファイルãŒã‚¦ã‚§ãƒ–ã‹ã‚‰è¦‹ãˆã‚‹åŸºæœ¬ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ¨æ§‹é€ ã‚’
    +    ãªã—ã¾ã™ã€‚</p>
    +
    +    <p>Apache ã«ã¯ã‚µãƒ¼ãƒãŒè¤‡æ•°ã®ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã‚‹
    +    <a href="vhosts/">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a> ã®æ©Ÿèƒ½ã‚‚ã‚ã‚Šã¾ã™ã€‚
    +    ã“ã®å ´åˆã€ãã‚Œãžã‚Œã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã—ã¦é•ã†
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +    を指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¾ãŸã€<code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code>
    +    モジュールã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã£ã¦ã€
    +    é€ä¿¡ã™ã‚‹ãŸã‚ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®å ´æ‰€ã‚’リクエストã•ã‚ŒãŸ IP
    +    アドレスやホストåã‹ã‚‰å‹•çš„ã«æ±ºã‚ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="outside" id="outside">DocumentRoot 外ã®ãƒ•ã‚¡ã‚¤ãƒ«</a></h2>
    +
    +    <p>ファイルシステム上ã®ã€
    +    厳密ã«ã¯ <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +    ã®ä¸‹ã«ã¯ãªã„部分ã¸ã®ã‚¦ã‚§ãƒ–アクセスを許å¯ã™ã‚‹å¿…è¦ãŒã‚ã‚‹
    +    å ´åˆãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚Apache ã¯ã“ã®ãŸã‚ã«è¤‡æ•°ã®æ–¹æ³•ã‚’用æ„ã—ã¦ã„ã¾ã™ã€‚
    +    Unix システムã§ã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ä»–ã®éƒ¨åˆ†ã‚’シンボリックリンクを
    +    使ã£ã¦ <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +    ã®ä¸‹ã«æŒã£ã¦ãã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚セキュリティ上ã®ç†ç”±ã«ã‚ˆã‚Šã€
    +    Apache ã¯è©²å½“ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®
    +    <code class="directive"><a href="./mod/core.html#options">Options</a></code> ã®è¨­å®šã«
    +    <code>FollowSymLinks</code> ã‹ <code>SymLinksIfOwnerMatch</code> ãŒ
    +    ã‚ã‚‹å ´åˆã«ã®ã¿ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ãŸã©ã‚Šã¾ã™ã€‚</p>
    +
    +    <p>代ã‚ã‚Šã®æ–¹æ³•ã¨ã—ã¦ã€<code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code>
    +    ディレクティブを使ã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ä»»æ„ã®éƒ¨åˆ†ã‚’ウェブã®ç©ºé–“ã«
    +    マップã§ãã¾ã™ã€‚ãŸã¨ãˆã°ã€</p>
    +
    +<div class="example"><p><code>Alias /docs /var/web</code></p></div>
    +
    +    <p>ã¨ã„ã†è¨­å®šã®ã¨ãã¯ã€URL
    +    <code>http://www.example.com/docs/dir/file.html</code> ã«ã¯
    +    <code>/var/web/dir/file.html</code> ãŒé€ä¿¡ã•ã‚Œã¾ã™ã€‚
    +    <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ã‚‚ã€
    +    対象ã¨ãªã£ã¦ã„るパス㌠CGI スクリプトã¨ã—ã¦æ‰±ã‚れるã¨ã„ã†è¿½åŠ ã®
    +    効果以外ã¯åŒã˜ã‚ˆã†ã«å‹•ä½œã—ã¾ã™ã€‚</p>
    +
    +    <p>ã‚‚ã£ã¨æŸ”軟ãªè¨­å®šãŒå¿…è¦ãªçŠ¶æ³ã§ã¯ã€
    +    <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ディレクティブや
    +    <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code> ディレクティブ
    +    を使ã£ã¦å¼·åŠ›ãªæ­£è¦è¡¨ç¾ã«åŸºã¥ã„ãŸãƒžãƒƒãƒã¨ç½®æ›ã‚’è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™ã€‚
    +    ãŸã¨ãˆã°ã€</p>
    +
    +<div class="example"><p><code>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
    +      /home/$1/cgi-bin/$2</code></p></div>
    +
    +    <p>㯠<code>http://example.com/~user/cgi-bin/script.cgi</code> ã¸ã®
    +    リクエストを <code>/home/user/cgi-bin/script.cgi</code> ã¨ã„ã†ãƒ‘スã¸
    +    マップã—ã€ã“ã®ãƒžãƒƒãƒ—ã®çµæžœã¨ã—ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ CGI スクリプトã¨ã—ã¦
    +    扱ã„ã¾ã™ã€‚</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="user" id="user">ユーザディレクトリ</a></h2>
    +
    +    <p>ä¼çµ±çš„ã« Unix システムã§ã¯ãƒ¦ãƒ¼ã‚¶ <em>user</em> ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’
    +    <code>~user/</code> ã¨ã—ã¦å‚ç…§ã§ãã¾ã™ã€‚<code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> 
    +    モジュールã¯ã“ã®æ¦‚念をウェブã«æ‹¡å¼µã—ã¦ã€
    +    ãã‚Œãžã‚Œã®ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’
    +    以下ã®ã‚ˆã†ãª URL を使ã£ã¦ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ã—ã¾ã™ã€‚</p>
    +
    +<div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>
    +
    +    <p>セキュリティã®è¦³ç‚¹ã‹ã‚‰ã€ã‚¦ã‚§ãƒ–ã‹ã‚‰ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸
    +    直接アクセスã§ãるよã†ã«ã™ã‚‹ã“ã¨ã¯é©åˆ‡ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ã§ã™ã‹ã‚‰ã€
    +    <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> ディレクティブã«ã¯
    +    ユーザã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä¸‹ã®ã€ã‚¦ã‚§ãƒ–ファイルã®
    +    ç½®ã‹ã‚Œã¦ã„るディレクトリを指定ã—ã¾ã™ã€‚デフォルトã®è¨­å®šã®
    +    <code>Userdir public_html</code> を使ã†ã¨ã€ä¸Šã® URL ã¯
    +    <code>/home/user/public_html/file.html</code> ã¨ã„ã†ã‚ˆã†ãªãƒ•ã‚¡ã‚¤ãƒ«ã«
    +    マップã•ã‚Œã¾ã™ã€‚ã“ã“ã§ã€<code>/home/user/</code> ã¯
    +    <code>/etc/passwd</code> ã§æŒ‡å®šã•ã‚Œã¦ã„るユーザã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚</p>
    +
    +    <p><code class="directive"><a href="./mod/mod_userdir.html#userdir">Userdir</a></code> ã«ã¯ã€
    +    <code>/etc/passwd</code> ã«ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä½ç½®ãŒæ›¸ã‹ã‚Œã¦ã„ãªã„
    +    システムã§ã‚‚使ã†ã“ã¨ã®ã§ãã‚‹ä»–ã®å½¢å¼ã‚‚ã‚ã‚Šã¾ã™ã€‚</p>
    +
    +    <p>中ã«ã¯ã‚·ãƒ³ãƒœãƒ« "~" (<code>%7e</code> ã®ã‚ˆã†ã«ç¬¦å·åŒ–ã•ã‚Œã‚‹ã“ã¨ãŒå¤šã„)
    +    を格好ãŒæ‚ªã„ã¨æ€ã£ã¦ã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’表ã™ãŸã‚ã«åˆ¥ã®æ–‡å­—列ã®
    +    使用を好む人ãŒã„ã¾ã™ã€‚mod_userdir ã¯ã“ã®æ©Ÿèƒ½ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。
    +    ã—ã‹ã—ã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒè¦å‰‡çš„ãªæ§‹æˆã®ã¨ãã¯ã€
    +    <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> を使ã£ã¦æœ›ã¿ã®
    +    効果をé”æˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãŸã¨ãˆã°ã€
    +    <code>http://www.example.com/upages/user/file.html</code> ãŒ
    +    <code>/home/user/public_html/file.html</code> ã«ãƒžãƒƒãƒ—ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ã€
    +    以下ã®ã‚ˆã†ã« <code>AliasMatch</code> ディレクティブを使ã„ã¾ã™:</p>
    +
    +<div class="example"><p><code>AliasMatch ^/upages/([a-zA-Z0-9]+)/?(.*)
    +      /home/$1/public_html/$2</code></p></div>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="redirect" id="redirect">URL リダイレクション</a></h2>
    +
    +    <p>上ã®ç¯€ã§èª¬æ˜Žã—ãŸè¨­å®šç”¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache ã«
    +    ファイルシステムã®ç‰¹å®šã®å ´æ‰€ã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å–ã£ã¦ãã¦
    +    クライアントã«é€ã‚Šè¿”ã™ã‚ˆã†ã«ã—ã¾ã™ã€‚ã¨ãã«ã¯ã€ãã®ä»£ã‚ã‚Šã«
    +    クライアントã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯åˆ¥ã® URL ã«ã‚ã‚‹ã“ã¨ã‚’
    +    知らã›ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒæ–°ã—ã„ URL ã¸æ–°ã—ã„リクエストを行ãªã†ã‚ˆã†ã«
    +    ã™ã‚‹æ–¹ãŒæœ›ã¾ã—ã„ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ã“ã‚Œã¯<em>リダイレクション</em>ã¨
    +    呼ã°ã‚Œã¦ã„ã¦ã€<code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>
    +    ディレクティブã«ã‚ˆã‚Šå®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚ãŸã¨ãˆã°ã€
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> ã®ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
    +    <code>/foo/</code> ãŒæ–°ã—ã„ディレクトリ <code>/bar/</code> ã«ç§»å‹•ã—ãŸã¨ãã¯ã€
    +    以下ã®ã‚ˆã†ã«ã—ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒæ–°ã—ã„場所ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„をリクエストã™ã‚‹ã‚ˆã†ã«
    +    指示ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:</p>
    +
    +<div class="example"><p><code>Redirect permanent /foo/
    +      http://www.example.com/bar/</code></p></div>
    +
    +    <p>ã“ã‚Œã¯ã€<code>/foo/</code> ã§å§‹ã¾ã‚‹ã™ã¹ã¦ã® URL-Path ã‚’ã€
    +    <code>www.example.com</code> サーãƒã® <code>/bar/</code> ãŒ
    +    <code>/foo/</code> ã«ç½®æ›ã•ã‚ŒãŸã‚‚ã®ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™ã€‚
    +    サーãƒã¯è‡ªåˆ†è‡ªèº«ã®ã‚µãƒ¼ãƒã ã‘ã§ãªãã€ã©ã®ã‚µãƒ¼ãƒã«ã§ã‚‚クライアントを
    +    リダイレクトã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +
    +    <p>Apache ã¯ã‚ˆã‚Šè¤‡é›‘ãªæ›¸ãæ›ãˆã®å•é¡Œã®ãŸã‚ã«ã€
    +    <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> ディレクティブを
    +    æä¾›ã—ã¦ã„ã¾ã™ã€‚ãŸã¨ãˆã°ã€ã‚µã‚¤ãƒˆã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã‚’é•ã†ã‚µã‚¤ãƒˆã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ
    +    ã™ã‚‹ã‘ã‚Œã©ã€ä»–ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ãã®ã¾ã¾æ‰±ã†ã€ã¨ã„ã†ã¨ãã¯ä»¥ä¸‹ã®è¨­å®šã‚’
    +    使ã„ã¾ã™:</p>
    +
    +<div class="example"><p><code>RedirectMatch permanent ^/$
    +      http://www.example.com/startpage.html</code></p></div>
    +
    +    <p>ã‚ã‚‹ã„ã¯ã€ä¸€æ™‚çš„ã«ã‚µã‚¤ãƒˆã®ã™ã¹ã¦ã®ãƒšãƒ¼ã‚¸ã‚’ä»–ã®ã‚µã‚¤ãƒˆã®ç‰¹å®šã®
    +    ページã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ã¨ãã¯ã€ä»¥ä¸‹ã‚’使ã„ã¾ã™:</p>
    +
    +<div class="example"><p><code>RedirectMatch temp .*
    +      http://othersite.example.com/startpage.html</code></p></div>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy">リãƒãƒ¼ã‚¹ãƒ—ロキシ</a></h2>
    +
    +<p>Apache ã¯é éš”地ã«ã‚るドキュメントをローカルã®ã‚µãƒ¼ãƒã® URL 空間ã«
    +æŒã£ã¦ãã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ã“ã®æ‰‹æ³•ã¯<em>リãƒãƒ¼ã‚¹ãƒ—ロキシ</em>ã¨å‘¼ã°ã‚Œã¦ã„ã¾ã™ã€‚
    +ウェブサーãƒãŒé éš”地ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å–å¾—ã—ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚Šè¿”ã™ã®ãŒ
    +プロキシサーãƒã®å‹•ä½œã®ã‚ˆã†ã«è¦‹ãˆã‚‹ã‹ã‚‰ã§ã™ã€‚クライアントã«ã¯ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒ
    +リãƒãƒ¼ã‚¹ãƒ—ロキシサーãƒã‹ã‚‰é€ã‚‰ã‚Œã¦ãã¦ã„るよã†ã«è¦‹ãˆã‚‹ç‚¹ãŒé€šå¸¸ã®
    +プロキシã¨ã¯ç•°ãªã‚Šã¾ã™ã€‚</p>
    +
    +<p>次ã®ä¾‹ã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ <code>/foo/</code> ディレクトリã®ä¸‹ã«ã‚ã‚‹
    +ドキュメントをリクエストã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒãŒ <code>internal.example.com</code> ã®
    +<code>/bar/</code> ディレクトリã‹ã‚‰å–å¾—ã—ã¦ã€ã•ã‚‚ローカルサーãƒã‹ã‚‰ã®
    +ドキュメントã®ã‚ˆã†ã«ã—ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã—ã¾ã™ã€‚</p>
    +
    +<div class="example"><p><code>
    +ProxyPass /foo/ http://internal.example.com/bar/<br />
    +ProxyPassReverse /foo/ http://internal.example.com/bar/<br />
    +ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
    +ProxyPassReverseCookiePath /foo/ /bar/
    +</code></p></div>
    +
    +<p><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> ディレクティブã¯
    +サーãƒãŒé©åˆ‡ãªãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«è¨­å®šã—ã€
    +<code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> ディレクティブã¯
    +<code>internal.example.com</code> ã‹ã‚‰ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãŒãƒ­ãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã®
    +é©åˆ‡ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指ã™ã‚ˆã†ã«æ›¸ãæ›ãˆã¾ã™ã€‚
    +åŒæ§˜ã« <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>
    +㨠<code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
    +ã§ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰å´ã‚µãƒ¼ãƒã®ç™ºè¡Œã—㟠Cookie を書ãæ›ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +<p>ãŸã ã—ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ä¸­ã®ãƒªãƒ³ã‚¯ã¯æ›¸ãæ›ãˆã‚‰ã‚Œãªã„ã€
    +ã¨ã„ã†ã“ã¨ã¯çŸ¥ã£ã¦ãŠã„ã¦ãã ã•ã„。
    +ã§ã™ã‹ã‚‰ã€<code>internal.example.com</code> ã¸ã®çµ¶å¯¾ãƒ‘スã«ã‚ˆã‚‹ãƒªãƒ³ã‚¯ã§ã¯ã€
    +クライアントãŒãƒ—ロキシサーãƒã‚’抜ã‘出ã—㦠<code>internal.example.com</code> ã«
    +直接リクエストをé€ã‚‹ã€ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
    +サードパーティ製モジュール㮠<a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a>
    +ã¯ã€HTML 㨠XHTML 中ã®ãƒªãƒ³ã‚¯ã‚’書ãæ›ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="rewrite" id="rewrite">リライトエンジン</a></h2>
    +
    +    <p>より一層強力ãªç½®æ›ãŒå¿…è¦ãªã¨ãã¯ã€<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>
    +    ãŒæä¾›ã™ã‚‹ãƒªãƒ©ã‚¤ãƒˆã‚¨ãƒ³ã‚¸ãƒ³ãŒå½¹ã«ç«‹ã¤ã§ã—ょã†ã€‚
    +    ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯
    +    ブラウザã®ç¨®é¡žã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆå…ƒã® IP アドレスãªã©ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ç‰¹å¾´ã‚’
    +    使ã£ã¦é€ã‚Šè¿”ã™ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®å ´æ‰€ã‚’決ã‚ã¾ã™ã€‚ã•ã‚‰ã«ã€<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>
    +    ã¯å¤–部ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‚„プログラムを使ã£ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ‰±ã„方を
    +    決ã‚ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚リライトエンジンã¯ä¸Šã§æŒ™ã’られã¦ã„る三ã¤ã®ãƒžãƒƒãƒ”ング
    +    ã™ã¹ã¦ã‚’è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™: 内部ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ (エイリアス)ã€
    +    外部ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã€ãƒ—ロキシã§ã™ã€‚mod_rewrite を使ã†å¤šãã®å®Ÿç”¨çš„ãªä¾‹ã¯
    +    <a href="misc/rewriteguide.html">URL リライトガイド</a>
    +    ã§èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="notfound" id="notfound">File Not Found</a></h2>
    +
    +    <p>å¿…ãšã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸ URL ã«å¯¾å¿œã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã«
    +    ç„¡ã„ã¨ã„ã†å ´åˆãŒç™ºç”Ÿã—ã¾ã™ã€‚ã“ã‚ŒãŒèµ·ã“ã‚‹ã®ã«ã¯ã„ãã¤ã‹ã®ç†ç”±ãŒã‚ã‚Šã¾ã™ã€‚
    +    å ´åˆã«ã‚ˆã£ã¦ã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’別ã®å ´æ‰€ã«ç§»å‹•ã—ãŸçµæžœã§ã‚ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
    +    ã“ã®å ´åˆã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ãƒªã‚½ãƒ¼ã‚¹ã®æ–°ã—ã„ä½ç½®ã‚’知らã›ã‚‹ãŸã‚ã«
    +    <a href="#redirect">URL リダイレクション</a>を使ã†ã®ãŒæœ€å–„ã®æ–¹æ³•ã§ã™ã€‚
    +    ãã†ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ãƒªã‚½ãƒ¼ã‚¹ã¯æ–°ã—ã„ä½ç½®ã«ç§»å‹•ã—ã¦ã„ã‚‹ã‘ã‚Œã©ã‚‚ã€
    +    å¤ã„ブックマークやリンクãŒå‹•ä½œã—続ã‘るよã†ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +
    +    <p>"File Not Found" エラーã®ã‚‚ã†ä¸€ã¤ã®ã‚ˆãã‚ã‚‹ç†ç”±ã¯ã€
    +    ブラウザã¸ã®ç›´æŽ¥å…¥åŠ›ã‚„ HTML リンクã‹ã‚‰ã®å¶ç™ºçš„㪠URL ã®å…¥åŠ›é–“é•ã„ã§ã™ã€‚
    +    Apache ã¯ã“ã®å•é¡Œã‚’改善ã™ã‚‹ãŸã‚ã«ã€<code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code>
    +    モジュール (æ„図的ãªç¶´ã‚Šé–“é•ã„)
    +    (訳注: æ­£ã—ã㯠spelling) ã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒ
    +    使用ã•ã‚Œã¦ã„ã‚‹ã¨ãã¯ã€"File Not Found" エラーを横å–ã‚Šã—ã¦ã€
    +    ä¼¼ãŸãƒ•ã‚¡ã‚¤ãƒ«åã®ãƒªã‚½ãƒ¼ã‚¹ã‚’探ã—ã¾ã™ã€‚ã‚‚ã—一ã¤ã ã‘見ã¤ã‹ã£ãŸå ´åˆã¯
    +    mod_speling ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«æ­£ã—ã„ä½ç½®ã‚’知らã›ã‚‹ãŸã‚ã« HTTP リダイレクトを
    +    é€ã‚Šã¾ã™ã€‚ã‚‚ã—複数ã®ã€Œè¿‘ã„ã€ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¦‹ã¤ã‹ã£ãŸå ´åˆã¯ã€ãれら
    +    代替ã¨ãªã‚Šãˆã‚‹ã‚‚ã®ã®ãƒªã‚¹ãƒˆãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚</p>
    +
    +    <p>mod_speling ã®éžå¸¸ã«æœ‰ç”¨ãªæ©Ÿèƒ½ã¯ã€å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«
    +    ファイルåを比較ã™ã‚‹ã‚‚ã®ã§ã™ã€‚ã“れ㯠URL 㨠unix ã®
    +    ファイルシステムãŒä¸¡æ–¹ã¨ã‚‚大文字å°æ–‡å­—を区別ã™ã‚‹ã‚‚ã®ã§ã‚ã‚‹ã€
    +    ã¨ã„ã†ã“ã¨ã‚’ユーザãŒçŸ¥ã‚‰ãªã„システムã§å½¹ã«ç«‹ã¡ã¾ã™ã€‚ãŸã ã—ã€
    +    時折㮠URL 訂正程度ã§æ¸ˆã¾ãšã€mod_speling をより多ã使用ã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒã«
    +    ã•ã‚‰ãªã‚‹è² è·ãŒã‹ã‹ã‚Šã¾ã™ã€‚ã™ã¹ã¦ã®ã€Œæ­£ã—ããªã„ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å¾Œã«
    +    URL ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®æ–°ã—ã„リクエストãŒãã‚‹ã“ã¨ã«
    +    ãªã‚Šã¾ã™ã‹ã‚‰ã€‚</p>
    +
    +    <p>コンテンツã®ä½ç½®ã‚’決ã‚よã†ã¨ã™ã‚‹ã™ã¹ã¦ã®è©¦ã¿ãŒå¤±æ•—ã™ã‚‹ã¨ã€
    +    Apache ã¯ã€HTTP ステータスコード 404 (file not found) ã¨å…±ã«
    +    エラーページを返ã—ã¾ã™ã€‚ã“ã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã®å¤–観ã¯
    +    <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> 
    +    ディレクティブã§åˆ¶å¾¡ã•ã‚Œã€
    +    <a href="custom-error.html">カスタムエラーレスãƒãƒ³ã‚¹</a> ã§
    +    説明ã•ã‚Œã¦ã„るよã†ã«ã€æŸ”軟ãªè¨­å®šã‚’è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/urlmapping.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
    +<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/urlmapping.html.ko.euc-kr b/docs/manual/urlmapping.html.ko.euc-kr
    new file mode 100644
    index 0000000..90e8b47
    --- /dev/null
    +++ b/docs/manual/urlmapping.html.ko.euc-kr
    @@ -0,0 +1,277 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>URLÀ» ÆÄÀϽýºÅÛ À§Ä¡·Î ´ëÀÀÇϱâ - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="./images/feather.png" /></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.4</a></div><div id="page-content"><div id="preamble"><h1>URLÀ» ÆÄÀϽýºÅÛ À§Ä¡·Î ´ëÀÀÇϱâ</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +    <p>ÀÌ ¹®¼­´Â ¿äûÀÇ URLÀ» °¡Áö°í ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô ¼­ºñ½ºÇÒ 
    +    ÆÄÀÏÀÇ ÆÄÀϽýºÅÛ»ó À§Ä¡¸¦ ã´ÂÁö ¼³¸íÇÑ´Ù.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">°ü·ÃµÈ ¸ðµâ°ú Áö½Ã¾îµé</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#outside">DocumentRoot ¹Û¿¡ ÀÖ´Â ÆÄÀϵé</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#user">»ç¿ëÀÚ µð·ºÅ丮</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#redirect">URL ¸®´ÙÀÌ·º¼Ç(Redirection)</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#proxy">¿ªÇÁ·Ï½Ã(Reverse Proxy)</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">ÀçÀÛ¼º ¿£Áø (Rewriting Engine)</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#notfound">File Not Found</a></li>
    +</ul><h3>Âü°í</h3><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="related" id="related">°ü·ÃµÈ ¸ðµâ°ú Áö½Ã¾îµé</a></h2>
    +
    +<table class="related"><tr><th>°ü·ÃµÈ ¸ðµâ</th><th>°ü·ÃµÈ Áö½Ã¾î</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritematch">RewriteMatch</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="documentroot" id="documentroot">DocumentRoot</a></h2>
    +
    +    <p>¿äûÀ» ¹ÞÀº ¾ÆÆÄÄ¡´Â ¾î¶² ÆÄÀÏÀ» ¼­ºñ½ºÇÒÁö °áÁ¤ÇϱâÀ§ÇØ
    +    ±âº»ÀûÀ¸·Î ¿äûÀÇ URL-°æ·Î(URL¿¡¼­ È£½ºÆ®¸í°ú Æ÷Æ® µÚ¿¡
    +    ³ª¿À´Â ºÎºÐ)¸¦ ¼³Á¤ÆÄÀÏ¿¡¼­ ÁöÁ¤ÇÑ <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> µÚ¿¡ ºÙÀδÙ. ±×·¡¼­
    +    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> ¾Æ·¡ÀÖ´Â
    +    ÆÄÀÏ°ú µð·ºÅ丮µéÀº À¥¿¡¼­ º¸°ÔµÉ ±âº»ÀûÀÎ ³»¿ëÀÌ´Ù.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="outside" id="outside">DocumentRoot ¹Û¿¡ ÀÖ´Â ÆÄÀϵé</a></h2>
    +
    +    <p>Á¾Á¾ ÆÄÀϽýºÅÛ¿¡¼­ <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> ¾Æ·¡ ÀÖÁö¾ÊÀº ºÎºÐÀ»
    +    À¥¿¡¼­ Á¢±ÙÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ÀÌ °æ¿ì ¿©·¯°¡Áö ¹æ¹ýÀ»
    +    »ç¿ëÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ ½Éº¼¸µÅ©¸¦ »ç¿ëÇÏ¿©
    +    ÆÄÀϽýºÅÛÀÇ ´Ù¸¥ ºÎºÐÀ» <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> ¾Æ·¡¿¡ µÑ ¼ö ÀÖ´Ù.
    +    º¸¾ÈÀ» À§ÇØ ¾ÆÆÄÄ¡´Â ÇØ´ç µð·ºÅ丮ÀÇ <code class="directive"><a href="./mod/core.html#options">Options</a></code> ¼³Á¤¿¡
    +    <code>FollowSymLinks</code>³ª
    +    <code>SymLinksIfOwnerMatch</code>°¡ ÀÖ´Â °æ¿ì¿¡¸¸ ½Éº¼¸µÅ©¸¦
    +    µû¶ó°£´Ù.</p>
    +
    +    <p>¶Ç, <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code>
    +    Áö½Ã¾î´Â ÆÄÀϽýºÅÛÀÇ Æ¯Á¤ ºÎºÐÀ» À¥°ø°£¿¡ ´ëÀÀÇÑ´Ù. ¿¹¸¦
    +    µé¾î ´ÙÀ½°ú °°´Ù¸é</p>
    +
    +<div class="example"><p><code>Alias /docs /var/web</code></p></div>
    +
    +    <p>URL <code>http://www.example.com/docs/dir/file.html</code>˼
    +    <code>/var/web/dir/file.html</code>À» °¡Áö°í ¼­ºñ½ºÇÑ´Ù.
    +    ÁöÁ¤ÇÑ °æ·Î¿¡ ÀÖ´Â ¸ðµç ³»¿ëÀ» CGI ½ºÅ©¸³Æ®·Î Ãë±ÞÇÏ´Â °ÍÀ»
    +    Á¦¿ÜÇÏ°í´Â <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code>
    +    Áö½Ã¾îµµ °°Àº ÀÏÀ» ÇÑ´Ù.</p>
    +
    +    <p><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>¿Í
    +    <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code>
    +    Áö½Ã¾îÀÇ °­·ÂÇÑ Á¤±ÔÇ¥Çö½Ä±â¹Ý ´ëÀÀ°ú ´ëÄ¡¸¦ »ç¿ëÇÏ¿© ´õ
    +    À¯¿¬ÇÑ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î,</p>
    +
    +<div class="example"><p><code>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
    +      /home/$1/cgi-bin/$2</code></p></div>
    +
    +    <p>´Â <code>http://example.com/~user/cgi-bin/script.cgi</code>·ÎÀÇ
    +    ¿äûÀ» °æ·Î <code>/home/user/cgi-bin/script.cgi</code>·Î
    +    ´ëÀÀÇÏ°í, ÇØ´ç ÆÄÀÏÀ» CGI ½ºÅ©¸³Æ®·Î Ãë±ÞÇÑ´Ù.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="user" id="user">»ç¿ëÀÚ µð·ºÅ丮</a></h2>
    +
    +    <p>À¯´Ð½º ½Ã½ºÅÛÀº ÀüÅëÀûÀ¸·Î ƯÁ¤ »ç¿ëÀÚ <em>user</em>ÀÇ
    +    Ȩµð·ºÅ丮¸¦ <code>~user/</code>·Î ÁöĪÇÑ´Ù.
    +    <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> ¸ðµâÀº ÀÌ °³³äÀ» À¥¿¡±îÁö
    +    È®ÀåÇÏ¿©, ´ÙÀ½°ú °°Àº URLÀ» °¡Áö°í °¢ »ç¿ëÀÚ È¨µð·ºÅ丮
    +    ¾È¿¡ ÀÖ´Â ÆÄÀÏÀ» ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +<div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>
    +
    +    <p>º¸¾È»ó À¥¿¡¼­ »ç¿ëÀÚ È¨µð·ºÅ丮·Î Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖÀ¸¸é
    +    ¾ÈµÈ´Ù. ±×·¡¼­ <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
    +    Áö½Ã¾î´Â »ç¿ëÀÚ È¨µð·ºÅ丮¿¡¼­ À¥¿ë ÆÄÀϵéÀÌ ÀÖÀ» µð·ºÅ丮¸¦
    +    ÁöÁ¤ÇÑ´Ù. ±âº» ¼³Á¤ <code>Userdir public_html</code>À» »ç¿ëÇÏ°í
    +    <code>/home/user/</code>°¡ <code>/etc/passwd</code>¿¡ ÁöÁ¤µÈ
    +    »ç¿ëÀÚ È¨µð·ºÅ丮¶ó¸é, À§ÀÇ URLÀº ÆÄÀÏ
    +    <code>/home/user/public_html/file.html</code>¿¡ ´ëÀÀÇÑ´Ù.</p>
    +
    +    <p>¶Ç, <code>Userdir</code> Áö½Ã¾î´Â <code>/etc/passwd</code>¿¡
    +    Ȩµð·ºÅ丮ÀÇ À§Ä¡°¡ ÀúÀåµÇÁö¾Ê´Â ½Ã½ºÅÛÀ» À§ÇØ ¿©·¯ ´Ù¸¥
    +    ÇüŸ¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <p>¾î¶² »ç¶÷Àº (º¸Åë À¥¿¡¼­ <code>%7e</code>·Î ÀÎÄÚµùµÇ´Â)
    +    "~" ±âÈ£°¡ ÀÌ»óÇÏ¿© ´Ù¸¥ ¹æ½ÄÀ¸·Î »ç¿ëÀÚ µð·ºÅ丮¸¦ ³ªÅ¸³»°í
    +    ½Í¾îÇÑ´Ù. ÀÌ ±â´ÉÀº mod_userdirÀÌ Á¦°øÇÏÁö¾Ê´Â´Ù. ±×·¯³ª
    +    »ç¿ëÀÚ È¨µð·ºÅ丮°¡ ±ÔÄ¢ÀûÀÎ ¹æ¹ýÀ¸·Î ±¸¼ºµÇÀÖ´Ù¸é, <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
    +    ¿øÇÏ´Â È¿°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ
    +    <code>AliasMatch</code> Áö½Ã¾î¸¦ »ç¿ëÇϸé
    +    <code>http://www.example.com/upages/user/file.html</code>ÀÌ
    +    <code>/home/user/public_html/file.html</code>¿¡ ´ëÀÀÇÑ´Ù:</p>
    +
    +<div class="example"><p><code>AliasMatch ^/upages/([a-zA-Z0-9]+)/?(.*)
    +      /home/$1/public_html/$2</code></p></div>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="redirect" id="redirect">URL ¸®´ÙÀÌ·º¼Ç(Redirection)</a></h2>
    +
    +    <p>¾Õ¿¡¼­ ¼³¸íÇÑ ¼³Á¤ Áö½Ã¾îµéÀº ¾ÆÆÄÄ¡°¡ ÆÄÀϽýºÅÛÀÇ Æ¯Á¤
    +    Àå¼Ò¿¡ ÀÖ´Â ³»¿ëÀ» Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»°Ô ¸¸µç´Ù. ±×·¯³ª
    +    ¶§¶§·Î ¿äûÇÑ ³»¿ëÀÌ ´Ù¸¥ URL¿¡ ÀÖ´Ù°í Ŭ¶óÀ̾ðÆ®¿¡°Ô ¾Ë·ÁÁÖ¾î,
    +    Ŭ¶óÀ̾ðÆ®°¡ »õ·Î ±× URLÀ» ¿äûÇϵµ·Ï ¸¸µå´Â °ÍÀÌ ÁÁÀ» ¶§°¡
    +    ÀÖ´Ù. À̸¦ <em>¸®´ÙÀÌ·º¼Ç(redirection)</em>À̶ó°í Çϸç,
    +    <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code> Áö½Ã¾î¸¦
    +    »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> ¾Æ·¡ <code>/foo/</code>
    +    µð·ºÅ丮ÀÇ ³»¿ëÀ» »õ·Î <code>/bar/</code> µð·ºÅ丮·Î ¿Å°å´Ù¸é
    +    ´ÙÀ½°ú °°ÀÌ Å¬¶óÀ̾ðÆ®°¡ »õ·Î¿î À§Ä¡¸¦ ¿äûÇϵµ·Ï ÇÑ´Ù:</p>
    +
    +<div class="example"><p><code>Redirect permanent /foo/
    +      http://www.example.com/bar/</code></p></div>
    +
    +    <p>±×·¯¸é <code>www.example.com</code> ¼­¹öÀÇ <code>/foo/</code>·Î
    +    ½ÃÀÛÇÏ´Â URL-°æ·Î´Â <code>/foo/</code>¸¦ <code>/bar/</code>·Î
    +    ¹Ù²Û URL·Î ¸®´ÙÀÌ·º¼ÇµÈ´Ù. Ŭ¶óÀ̾ðÆ®¸¦ ¿ø·¡ ¼­¹ö¿Ü¿¡ ¾î¶²
    +    ´Ù¸¥ ¼­¹ö·Îµµ ¸®´ÙÀÌ·º¼ÇÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <p>¶Ç, ¾ÆÆÄÄ¡´Â ´õ º¹ÀâÇÑ ÀçÀÛ¼º ¹®Á¦¸¦ À§ÇØ
    +    <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>
    +    Áö½Ã¾î¸¦ Á¦°øÇÑ´Ù. ¿¹¸¦ µé¾î, ´Ù¸¥ ¿äûÀº ±×´ë·Î µÎ°í »çÀÌÆ®
    +    ȨÆäÀÌÁö¿¡ ´ëÇÑ ¿äû¸¸À» ´Ù¸¥ »çÀÌÆ®·Î ¸®´ÙÀÌ·º¼ÇÇÏ·Á¸é:</p>
    +
    +<div class="example"><p><code>RedirectMatch permanent ^/$
    +      http://www.example.com/startpage.html</code></p></div>
    +
    +    <p>Àӽ÷Π»çÀÌÆ®ÀÇ ¸ðµç ÆäÀÌÁö¸¦ ´Ù¸¥ »çÀÌÆ®ÀÇ Æ¯Á¤ ÆäÀÌÁö·Î
    +    ¸®´ÙÀÌ·º¼ÇÇÏ·Á¸é:</p>
    +
    +<div class="example"><p><code>RedirectMatch temp .*
    +      http://othersite.example.com/startpage.html</code></p></div>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy">¿ªÇÁ·Ï½Ã(Reverse Proxy)</a></h2>
    +
    +<p>¾ÆÆÄÄ¡´Â ´Ù¸¥ ¼­¹ö¿¡ ÀÖ´Â ¹®¼­¸¦ ¼­¹öÀÇ URL °ø°£À¸·Î °¡Á®¿Ã
    +¼ö ÀÖ´Ù. ÀÌ °æ¿ì À¥¼­¹ö°¡ ¿ø°Ý ¼­¹ö¿¡¼­ ¹®¼­¸¦ °¡Á®¿Í¼­
    +Ŭ¶óÀ̾ðÆ®¿¡°Ô Àü´ÞÇÏ´Â ÇÁ·Ï½Ã ¼­¹ö¿Í °°ÀÌ µ¿ÀÛÇϱ⶧¹®¿¡ ÀÌ·±
    +¹æ¹ýÀ» <em>¿ªÇÁ·Ï½Ã(reverse proxying)</em>¶ó°í ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ
    +ÀÔÀå¿¡¼­ ¿ªÇÁ·Ï½Ã ¼­¹ö°¡ ¹®¼­¸¦ º¸³»ÁÖ´Â °Íó·³ º¸À̹ǷΠÀϹÝ
    +ÇÁ·Ï½Ã¿Í´Â ´Ù¸£´Ù.</p>
    +
    +<p>¾Æ·¡ ¼³Á¤¿¡¼­ Ŭ¶óÀ̾ðÆ®°¡ <code>/foo/</code>¿¡ ÀÖ´Â ¹®¼­¸¦
    +¿äûÇϸé, ¼­¹ö´Â <code>internal.example.com</code>ÀÇ
    +<code>/bar/</code> µð·ºÅ丮¿¡¼­ ¹®¼­¸¦ °¡Á®¿Í¼­ ¹®¼­°¡ ¸¶Ä¡
    +¼­¹ö¿¡ ÀÖ¾ú´ø °Íó·³ Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³½´Ù.</p>
    +
    +<div class="example"><p><code>
    +ProxyPass /foo/ http://internal.example.com/bar/<br />
    +ProxyPassReverse /foo/ http://internal.example.com/bar/
    +</code></p></div>
    +
    +<p><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code>´Â ¼­¹ö°¡
    +ÀûÀýÇÑ ¹®¼­¸¦ °¡Á®¿Àµµ·Ï ¼³Á¤Çϸç, <code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> Áö½Ã¾î´Â
    +<code>internal.example.com</code>ÀÌ º¸³»´Â ¸®´ÙÀÌ·º¼ÇÀ» ÀçÀÛ¼ºÇÏ¿©
    +¸®´ÙÀÌ·º¼ÇÀÌ ÇöÀç ¼­¹öÀÇ ÀûÀýÇÑ µð·ºÅ丮¸¦ °¡¸®Å°µµ·Ï ÇÑ´Ù.
    +¶Ç, <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>°ú
    +<code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>˼
    +°°Àº ¹æ¹ýÀ¸·Î ¿ø·¡ ¼­¹ö°¡ º¸³½ ÄíÅ°¸¦ ÀçÀÛ¼ºÇÑ´Ù.</p>
    +<p>±×·¯³ª ¹®¼­ ¾È¿¡ ÀÖ´Â ¸µÅ©´Â ÀçÀÛ¼ºÇÏÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó.
    +<code>internal.example.com</code>¿¡ ´ëÇÑ Àý´ë¸µÅ©´Â Ŭ¶óÀ̾ðÆ®°¡
    +ÇÁ·Ï½Ã¼­¹ö°¡ ¾Æ´Ï¶ó <code>internal.example.com</code>À¸·Î Á÷Á¢
    +¿äûÇÏ°Ô ÇÑ´Ù. Á¦»ïÀÚ°¡ ¸¸µç <a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a>
    +¸ðµâÀ» »ç¿ëÇÏ¿© HTML°ú XHTML¿¡ ÀÖ´Â ¸µÅ©¸¦ ÀçÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="rewrite" id="rewrite">ÀçÀÛ¼º ¿£Áø (Rewriting Engine)</a></h2>
    +
    +    <p>´õ °­·ÂÇÑ Ä¡È¯ÀÌ ÇÊ¿äÇÒ¶§ <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>ÀÇ
    +    ÀçÀÛ¼º ¿£ÁøÀÌ µµ¿òÀÌ µÈ´Ù. ÀÌ ¸ðµâÀÇ Áö½Ã¾î´Â ºê¶ó¿ìÀú Á¾·ù³ª
    +    Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò µî ¿äûÀÇ Æ¯Â¡À» °¡Áö°í ¾îµð¿¡ ÀÖ´Â
    +    ³»¿ëÀ» ¼­ºñ½ºÇÒÁö °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¶Ç, mod_rewrite´Â ¿äûÀ»
    +    ¾î¶»°Ô ó¸®ÇÒÁö °áÁ¤ÇϱâÀ§ÇØ ¿ÜºÎ µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀ̳ª
    +    ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀçÀÛ¼º ¿£ÁøÀº À§¿¡¼­ ´Ù·é ¼¼
    +    Á¾·ù ´ëÀÀ, Áï, ³»ºÎ ¸®´ÙÀÌ·º¼Ç (alias), ¿ÜºÎ ¸®´ÙÀÌ·º¼Ç,
    +    ÇÁ·Ï½Ã, ¸ðµÎ¸¦ Áö¿øÇÑ´Ù. mod_rewrite¸¦ »ç¿ëÇÏ´Â ½ÇÁ¦ ¿¹´Â
    +    <a href="misc/rewriteguide.html">URL Á¦ÀÛ¼º Áöħ¼­</a>¿¡¼­
    +    ¼³¸íÇÑ´Ù.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="notfound" id="notfound">File Not Found</a></h2>
    +
    +    <p>°á±¹ ¿äûÇÑ URL¿¡ ´ëÀÀÇÏ´Â ÆÄÀÏÀ» ÆÄÀϽýºÅÛ¿¡¼­ ãÁö
    +    ¸øÇÑ °æ¿ìÀÌ´Ù. ¿©·¯ °¡Áö ÀÌÀ¯°¡ ÀÖ´Ù. ¾î¶² °æ¿ì ¹®¼­¸¦
    +    ´Ù¸¥ °÷À¸·Î ¿Å°å±â ¶§¹®ÀÏ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì Ŭ¶óÀ̾ðÆ®¿¡°Ô
    +    <a href="#redirect">URL ¸®´ÙÀÌ·º¼Ç</a>À¸·Î ÀÚ¿øÀÇ »õ·Î¿î
    +    À§Ä¡¸¦ ¾Ë·ÁÁÖ´Â ¹æ¹ýÀÌ Á¦ÀÏ ÁÁ´Ù. ±×·¯¸é ÀÚ¿øÀ» ¿Å°Üµµ
    +    ¿À·¡µÈ ºÏ¸¶Å©³ª ¸µÅ©°¡ °è¼Ó À¯È¿ÇÏ´Ù.</p>
    +
    +    <p>"File Not Found" ¿À·ùÀÇ ´Ù¸¥ ÀϹÝÀûÀÎ ¿øÀÎÀº ºê¶ó¿ìÀú¿¡
    +    Á÷Á¢ ȤÀº HTML ¸µÅ©¿¡ URLÀÌ À߸ø ÀÔ·ÂµÈ °æ¿ìÀÌ´Ù. ¾ÆÆÄÄ¡´Â
    +    <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (¸ÂÃã¹ýÀÌ Æ²¸®Áö ¾Ê¾ÒÀ½) ¸ðµâ·Î
    +    ÀÌ¿Í °°Àº ¹®Á¦¸¦ µ½´Â´Ù. ÀÌ ¸ðµâÀ» »ç¿ëÇϸé "File Not Found"
    +    ¿À·ù°¡ ¹ß»ýÇÏ´Â °æ¿ì ºñ½ÁÇÑ ÆÄÀϸíÀ» °¡Áø ÀÚ¿øÀ» ã´Â´Ù.
    +    ¸¸¾à ¹ß°ßÇϸé mod_spelingÀº Ŭ¶óÀ̾ðÆ®¸¦ ¿Ã¹Ù¸¥ À§Ä¡·Î
    +    HTTP ¸®´ÙÀÌ·º¼ÇÇÑ´Ù. "ºñ½ÁÇÑ" ÆÄÀÏÀÌ ¿©·¯°³ ÀÖ´Ù¸é
    +    Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸ñ·ÏÀ» º¸³½´Ù.</p>
    +
    +    <p>mod_spelingÀÇ Æ¯È÷ À¯¿ëÇÑ ÀåÁ¡Àº ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í
    +    ÆÄÀϸíÀ» ºñ±³ÇÏ´Â ±â´ÉÀÌ´Ù. ±×·¡¼­ À¯´Ð½º ÆÄÀϽýºÅÛ°ú URLÀÇ
    +    ´ë¼Ò¹®ÀÚ ¼ºÁúÀ» ¾ËÁö¸øÇÏ´Â »ç¿ëÀÚ°¡ ÀÖ´Â ½Ã½ºÅÛ¿¡ µµ¿òÀÌ
    +    µÈ´Ù. ±×·¯³ª mod_spelingÀÌ ÀÚÁÖ URLÀ» °íÃľßÇÑ´Ù¸é, "À߸øµÈ"
    +    ¿äû¶§¸¶´Ù URL ¸®´ÙÀÌ·º¼Ç°ú Ŭ¶óÀ̾ðÆ®ÀÇ »õ·Î¿î ¿äûÀÌ
    +    ÀϾ¹Ç·Î ¼­¹ö¿¡ ºÎ´ãÀÌ µÈ´Ù.</p>
    +
    +    <p>ã´Â ½Ãµµ°¡ ¸ðµÎ ½ÇÆÐÇÏ¸é ¾ÆÆÄÄ¡´Â HTTP status code 404
    +    (file not found) ¿À·ùÆäÀÌÁö¸¦ º¸³½´Ù. ÀÌ ÆäÀÌÁöÀÇ ³»¿ëÀº
    +    <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> Áö½Ã¾î·Î
    +    Á¶ÀýÇϸç, <a href="custom-error.html">»ç¿ëÀÚÁ¤ÀÇ ¿À·ù ÀÀ´ä</a>
    +    ¹®¼­¸¦ Âü°íÇÏ¿© »ç¿ëÀÚÁ¤ÀÇÇÒ ¼ö ÀÖ´Ù.</p>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/urlmapping.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/urlmapping.html.tr.utf8 b/docs/manual/urlmapping.html.tr.utf8
    new file mode 100644
    index 0000000..c0823a8
    --- /dev/null
    +++ b/docs/manual/urlmapping.html.tr.utf8
    @@ -0,0 +1,365 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>URL’lerin Dosya Sistemi ile Eşleştirilmesi - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="./images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="./images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>URL’lerin Dosya Sistemi ile Eşleştirilmesi</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>Bu belgede, bir istekte belirtilen URL’nin sunulacak dosyanın dosya
    +      sistemindeki yerini bulmak için Apache HTTP Sunucusu tarafından nasıl
    +      kullanıldığı açıklanmaktadır.</p>
    +  </div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">İlgili Modüller ve Yönergeler</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#documentroot"><code>DocumentRoot</code></a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#outside">Belge Kök Dizini Dışındaki Dosyalar</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#user">Kullanıcı Dizinleri</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#redirect">URL Yönlendirme</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Karşı Vekil</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Yeniden Yazma Motoru</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Dosya orada yok</a></li>
    +<li><img alt="" src="./images/down.gif" /> <a href="#other">Diğer URL Eşleme Modülleri</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</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="related" id="related">İlgili Modüller ve Yönergeler</a></h2>
    +
    +<table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></li><li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="documentroot" id="documentroot"><code>DocumentRoot</code></a></h2>
    +
    +    <p>Yapılan bir isteğe hangi dosyanın sunulacağına karar verirken
    +      httpd’nin öntanımlı davranışı istek için URL yolunu (URL’den konak ismi
    +      ve port ayrıldıktan sonra kalan kısım) alıp bunu yapılandırma dosyasında
    +      <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesi ile
    +      belirtilen dizinin sonuna eklemektir. Bu nedenle, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altındaki dizinler ve dosyalar
    +      sitenin dışardan görünen temel belge ağacını oluştururlar.</p>
    +
    +    <p>Örneğin, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesine
    +      <code>/var/http/html</code> atanmış olsun.
    +      <code>http://example.com/balıklar/zargana.html</code> şeklindeki bir
    +      istek için istemciye <code>/var/http/html/balıklar/zargana.html</code>
    +      dosyası sunulur.</p>
    +
    +    <p>Bir dizin istenirse (<code>/</code> ile biten bir yol belirtilmesi
    +      durumu), sunulacak dosya <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> yönergesinde belirtilen dosya olacaktır.
    +      Örneğin, <code>DocumentRoot</code> yukarıdaki gibi belirtimiş ve siz de
    +      ÅŸunu belirtmiÅŸseniz:</p>
    +
    +    <div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>
    +
    +    <p><code>http://www.example.com/fish/</code> isteÄŸi, httpd'nin
    +      <code>/var/www/html/fish/index.html</code> dosyasını sunmaya, bu dosya
    +      bulunmuyorsa <code>/var/www/html/fish/index.php</code> dosyasını sunmaya
    +      çalışmasına sebep olacaktır.</p>
    +
    +    <p>Bu dosyaların ikisi de bulunmuyorsa sonraki adım,
    +      <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> yüklü ve uygun şekilde yapılandırılmışsa
    +      bir dizin içeriği dosyası sağlamaya çalışmak olacaktır.</p>
    +
    +    <p>httpd ayrıca, sunucunun birden fazla konak için istek kabul etmesini
    +      sağlayan <a href="vhosts/">sanal barındırmaya</a> da muktedirdir. Bu
    +      durumda her sanal konak için ayrı bir <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> belirtilebileceği gibi sunulacak içeriğin
    +      istekte bulunulan IP adresi veya konak ismine dayanarak devingen olarak
    +      saptanmasını sağlayabilen <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> modülüyle
    +      gelen yönergeler de kullanılabilir.</p>
    +
    +    <p><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesi
    +      yapılandırma dosyanızda ana sunucu için bir tane ve muhtemelen
    +      oluşturduğunuz her <a href="vhosts/">sanal konak</a> için de birer
    +      tanedir.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="outside" id="outside">Belge Kök Dizini Dışındaki Dosyalar</a></h2>
    +
    +    <p>Bazen dosya sisteminde doğrudan <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altında bulunmayan dosyalara da erişim izni
    +      vermek gerekir. httpd’de bunu sağlamanın çeşitli yolları vardır. Unix
    +      sistemlerinde sembolik bağlar sayesinde dosya sisteminin farklı
    +      yerlerindeki dosyaları ve dizinleri <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altındaymış gibi göstermek mümkündür.
    +      <code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesine değer olarak
    +      <code>FollowSymLinks</code> veya <code>SymLinksIfOwnerMatch</code>
    +      atanmadıkça httpd olası güvenlik açıklarına karşı öntanımlı olarak
    +      sembolik bağları izlemez.</p>
    +
    +    <p>Bundan başka, dosya sisteminin farklı parçalarını belge kök dizini
    +      altında göstermek için <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code>
    +      yönergesi de kullanılabilir. Örneğin,</p>
    +
    +    <pre class="prettyprint lang-config">Alias "/belgeler" "/var/http"</pre>
    +
    +
    +    <p>yapılandırması ile
    +      <code>http://example.com/belgeler/dizin/dosya.html</code> URL’si için
    +      dosya sistemindeki <code>/var/http/dizin/dosya.html</code> dosyası
    +      sunulacaktır. Hedef dizindeki dosyaları birer <a class="glossarylink" href="./glossary.html#cgi" title="sözlüğe bakınız">CGI</a> betiği olarak imlemesi dışında <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code> yönergesi de aynı şekilde
    +      çalışır.</p>
    +
    +    <p>Biraz daha fazla esnekliğin gerektiği durumlarda  <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifadelere</a> dayalı eşleşmeler sağlamak
    +      üzere <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ve <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code> yönergelerinin gücünden
    +      yararlanılabilir. Örneğin,</p>
    +
    +    <pre class="prettyprint lang-config">ScriptAliasMatch "^/~([a-zA-Z0-9]+)/cgi-bin/(.+)" "/home/$1/cgi-bin/$2"</pre>
    +
    +
    +    <p>satırı sayesinde <code>http://example.com/~user/cgi-bin/betik.cgi</code>
    +      URL’si <code>/home/user/cgi-bin/betik.cgi</code> dosyası ile
    +      eşleştirilir ve dosya bir CGI betiği olarak çalıştırılırdı.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="user" id="user">Kullanıcı Dizinleri</a></h2>
    +
    +    <p>Geleneksel olarak Unix sistemlerinde belli bir kullanıcının (örn,
    +      <em>birisi</em>) ev dizinine <code>~birisi/</code> şeklinde atıfta
    +      bulunulabilir. <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> modülü bu özelliği site
    +      üzerinden kullanıcıların ev dizinlerindeki dosyaları kişisel sayfalar
    +      olarak sunmalarını sağlamak üzere kullanır. Örnek:</p>
    +
    +    <div class="example"><p><code>http://example.com/~birisi/dosya.html</code></p></div>
    +
    +    <p>Güvenlik sebebiyle kullanıcıların ev dizinlerine doğrudan HTTP erişimi
    +      vermek uygun olmaz. Bu bakımdan, kullanıcının ev dizini altında HTTP
    +      erişimi verilecek dosyaların bulunduğu dizini belirtmek için <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi sağlanmıştır.
    +      Öntanımlı olan <code>Userdir public_html</code> yapılandırması ile
    +      yukarıdaki gibi bir URL kullanıcının ev dizini (<code>/etc/passwd</code>
    +      dosyasında belirtilir) <code>/home/birisi/</code> altında yer alan
    +      <code>/home/birisi/public_html/dosya.html</code> dosyası ile
    +      eÅŸleÅŸirdi.</p>
    +
    +    <p>Ev dizininin yerinin <code>/etc/passwd</code> dosyasında belirtilmediği
    +      sistemlerde kullanılmak üzere <code>Userdir</code> yönergesinin başka
    +      kullanım şekilleri de vardır.</p>
    +
    +    <p>Bazı kişiler (genellikle URL üzerinde <code>%7e</code> olarak
    +      kodlanması sebebiyle) "~" simgesini biçimsiz bulabilir ve kullanıcı
    +      dizinlerini imlemek için başka bir karakter kullanmayı tercih
    +      edebilirler. Bu işlevsellik <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından
    +      desteklenmemektedir. Ancak, kullanıcı dizinleri düzgün şekilde
    +      yapılandırılmışsa istenen etki <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> yönergesi ile sağlanabilir.
    +      Örneğin, <code>http://example.com/sayfalar/birisi/dosya.html</code>
    +      URL’si ile <code>/home/birisi/public_html/dosya.html</code> dosyasını
    +      eşlemek için <code>AliasMatch</code> yönergesi şöyle
    +      kullanılabilirdi:</p>
    +
    +    <pre class="prettyprint lang-config">AliasMatch "^/sayfalar/([a-zA-Z0-9]+)(/(.*))?$" "/home/$1/public_html/$3"</pre>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="redirect" id="redirect">URL Yönlendirme</a></h2>
    +
    +    <p>Yukarıdaki bölümlerde açıklanan yapılandırma yönergeleri httpd’ye
    +      içeriği dosya sisteminin belli bir yerinden alıp istemciye göndermesini
    +      söyler. Bazen istemciye, istediği içeriğe farklı bir URL ile
    +      erişebileceğini ve bu URL için ayrı bir istek yapması gerektiğini
    +      bildirmek gerekir. Bu işleme <em>yönlendirme</em> adı verilir ve bu
    +      işlevsellik <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code> yönergesi
    +      ile sağlanır. Örneğin, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    +      altındaki <code>/foo/</code> dizininin içeriğinin <code>/bar/</code>
    +      adında yeni bir dizine taşınması halinde istemciye yeni konumun
    +      bildirilmesi şöyle sağlanabilirdi:</p>
    +
    +    <pre class="prettyprint lang-config">Redirect permanent "/foo/" "http://example.com/bar/"</pre>
    +
    +
    +    <p>Bu atama sayesinde <code>/foo/</code> ile başlayan URL yolları
    +      <code>example.com</code> sunucundaki <code>/bar/</code> dizini altındaki
    +      içeriğe yönlendirilmektedir. Yönlendirmeyi aynı sunucu üzerinde yapmak
    +      zorunda değilsiniz, bu yönerge ile başka bir sunucuya da yönlendirme
    +      yapabilirsiniz.</p>
    +
    +    <p>httpd ayrıca, yeniden yazma ile ilgili daha karmaşık sorunlara çözüm
    +      olarak <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> diye bir
    +      yönerge daha sağlar. Örneğin bir sitenin baş sayfasını diğer isteklerden
    +      ayrı olarak farklı bir siteye yönlendirmek için yönergeyi şöyle
    +      kullanabilirsiniz:</p>
    +
    +    <pre class="prettyprint lang-config">RedirectMatch permanent "^/$" "http://example.com/ilksayfa.html"</pre>
    +
    +
    +    <p>Bundan başka, bir sitedeki tüm sayfalara yapılan istekleri başka bir
    +      siteye geçici olarak yönlendirmek için şöyle bir şey yapabilirsiniz:</p>
    +
    +    <pre class="prettyprint lang-config">RedirectMatch temp ".*" "http://mesela.example.com/ilksayfa.html"</pre>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy">Karşı Vekil</a></h2>
    +
    +    <p>httpd ayrıca, uzak sunuculardaki belgelerin yerel sunucunun URL
    +      alanına getirilmesini de mümkün kılar. Bu tekniğe HTTP sunucunun
    +      belgeleri uzak bir sunucudan alıp istemciye sunmasını sağlayarak bir
    +      vekil sunucu gibi davranması nedeniyle <em>ters vekalet</em> adı
    +      verilir. Belgelerin istemciye özkaynağın bulunduğu sunucudan
    +      geliyormuş gibi değilde doğrudan isteği yaptığı sunucudan geliyormuş
    +      gibi sunulması nedeniyle bu işlem normal vekaletten farklıdır.</p>
    +
    +    <p>Aşağıdaki örnekte, istemci <code>/foo/</code> dizini altından bir belge
    +      istemekte, sunucu ise bu belgeyi <code>dahili.example.com</code>
    +      üzerindeki <code>/bar/</code> dizininden alıp istemciye yerel sunucudan
    +      geliyormuş gibi sunmaktadır:</p>
    +
    +    <pre class="prettyprint lang-config">ProxyPass "/foo/" "http://dahili.example.com/bar/"
    +ProxyPassReverse "/foo/" "http://dahili.example.com/bar/"
    +ProxyPassReverseCookieDomain dahili.example.com harici.example.com
    +ProxyPassReverseCookiePath "/foo/" "/bar/"</pre>
    +
    +
    +    <p><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> sunucuyu uygun
    +      belgeleri alması için yapılandırırken <code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> yönergesi <code>dahili.example.com</code>
    +      sunucusundan kaynaklanan yönlendirmeleri yeniden yazar, böylece bunların
    +      yerel sunucudaki yerleri belirlenmiÅŸ olur. Benzer ÅŸekilde,  <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code> ve
    +      <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
    +      yönergeleri de arka sunucu tarafından atanan çerezleri yeniden yazar.</p>
    +
    +    <p>Yalnız, belgelerin içindeki hiperbağların yeniden yazılmayacağına
    +      dikkat ediniz. Dolayısıyla, belge içinde
    +      <code>dahili.example.com</code>’u ismiyle hedef alan mutlak hiperbağlar
    +      varsa bunlar istemci tarafından vekil sunucudan değil doğrudan
    +      <code>dahili.example.com</code>’dan istenecektir. Bir sayfanın içindeki bu
    +      bağları (ve diğer içeriği) <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code> modülü
    +      kullanılarak istemciye sunuluyormuşçasına değiştirebilirsiniz.</p>
    +
    +    <pre class="prettyprint lang-config">Substitute "s/dahili\.example\.com/harici.example.com/i"</pre>
    +
    +
    +     <p>HTML ve XHTML’de hiperbağları daha bilgece yeniden yazabilen
    +      <code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> modülü de kullanılabilir. Yeniden
    +      yazılması gereken URL eşlemlerini oluşturmanızı sağlar, böylece karmaşık
    +      vekil senaryoları oluşturulabilir.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="rewrite" id="rewrite">Yeniden Yazma Motoru</a></h2>
    +
    +    <p>Daha güçlü ikameler gerektiğinde <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülü
    +      tarafından sağlanan yeniden yazma motoru işe yarayabilir. Bu modüldeki
    +      yönergeler sunulacak içeriğin yerine karar vermek için kaynak IP adresi,
    +      tarayıcı türü gibi isteğe özgü özellikleri kullanırlar.
    +      <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülü buna ek olarak isteğin nasıl ele
    +      alınacağına karar vermek için harici yazılımları ve veritabanlarını
    +      kullanabilir. Yeniden yazma motoru yukarıda değinilen üç eşleşme türünü
    +      de uygulayabilecek yetenektedir: Dahili yönlendirmeler (rumuzlar),
    +      harici yönlendirmeler ve vekalet. <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülü
    +      tarafından sağlanan yeteneklerin ayrıntılı açıklamaları ve bunların
    +      kullanım örnekleri ayrıntılı olarak <a href="rewrite/">mod_rewrite
    +      belgeleri</a>nde bulunmaktadır.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="notfound" id="notfound">Dosya orada yok</a></h2>
    +
    +    <p>Kaçınılmaz olarak, dosya sisteminde mevcut olmayan dosyalar için de
    +      istek yapılacaktır. Bunun çeşitli sebepleri olabilir.  Bazı durumlarda
    +      bu, belgelerin yerlerininin deÄŸiÅŸtirilmesinin bir sonucu olabilir. Bu
    +      durumda yapılacak en iyi şey, istemciyi belgeyi yeni yerinden istemesi
    +      için bilgilendirmek amacıyla  <a href="#redirect">URL yönlendirmesi</a>
    +      kullanmaktır. Bu şekilde, içeriğin yeri değişse bile eski yer imlerinin
    +      ve hiperbağların çalışmaya devam edeceklerinden emin olabilirsiniz.</p>
    +
    +    <p>"Dosya orada yok" ("File Not Found") hatalarının diğer bir bildik
    +      sebebi de URL’lerin hiperbağlarda veya doğrudan tarayıcıda kasıtlı ya da
    +      kasıtsız, yanlış yazılmasıdır. Bu tür sorunlarda yardımcı olması için
    +      httpd <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) adında bir modülle gelir. Bu
    +      modül etkin kılındığında htpd, "Dosya orada yok" ("File Not Found")
    +      hatalarının önünü kesip başka bir yerde benzer isimde bir dosya var mı
    +      diye bakar. Böyle bir dosya varsa, <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code>
    +      istemciye dosyanın doğru yerini bildiren bir HTTP yönlendirmesi yollar.
    +      Benzer çok sayıda dosya varsa bunlar istemciye bir liste halinde
    +      sunulur.</p>
    +
    +    <p><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> modülünün en yararlı özelliklerinden biri
    +      de dosya isimlerini harf büyüklüğüne duyarsız olarak arayabilmesidir.
    +      Dosya isimlerinde harf büyüklüğünün önemli olduğu Unix benzeri sistemler
    +      hakkında bilgisi olmayan kullanıcılara sahip sistemlerin kullanıcılarına
    +      bu büyük yarar sağlar. Fakat modülün URL düzeltmekten başka şeyler için
    +      de kullanılması, istemcilerden gelen neredeyse her isteğin URL
    +      yönlendirmesine konu olmasına sebep olarak sunucunun yükünü
    +      arttırabilir.</p>
    +
    +    <p><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> modülü sanal URI'leri, onları sunan gerçek
    +      kaynağa eşlemekte kullanılan <code class="directive"><a href="./mod/mod_dir.html#fallbackresource">FallbackResource</a></code> yönergesini içerir. Bir 'ön denetleyici'
    +      gerçeklerken <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülünün kullanılmasını
    +      sağlamak için çok kullanışlıdır.</p>
    +
    +    <p>Yerinde bulunmayan içeriğin bulunması çabalarının tümü Apache’nin 404
    +      (Dosya orada yok) HTTP durum kodlu bir hata sayfası döndürmesine yol
    +      açar. Bu sayfanın içeriği <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesi ile denetlenebilir ve <a href="custom-error.html">Hata Yanıtlarının Kişiselleştirilmesi</a>
    +      bölümünde anlatıldığı gibi oldukça esnek bir şekilde
    +      kiÅŸiselleÅŸtirilebilir.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="other" id="other">Diğer URL Eşleme Modülleri</a></h2>
    +
    +
    +
    +    <p>URL eşlemede kullanılabilecek diğer modüller:</p>
    +
    +    <ul>
    +    <li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Bir isteği, özkaynağın MIME türüne veya
    +      istek yöntemine bakarak bir CGI betiğine eşler.</li>
    +
    +    <li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - URL'yi sonlandıran bölü çizgisini
    +      <code>index.html</code> bir dosyaya eÅŸler.</li>
    +
    +    <li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Bir isteği, bir HTML belge içindeki
    +      bir resme yapılan kullanıcı tıklamalarına dayanarak bir URL'ye
    +      eÅŸler.</li>
    +
    +    <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Dil veya içerik sıkıştırması gibi
    +      kullanıcı tercihlerine dayanarak uygun bir belgeyi seçer.</li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="./tr/urlmapping.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/urlmapping.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/details.html b/docs/manual/vhosts/details.html
    new file mode 100644
    index 0000000..8132639
    --- /dev/null
    +++ b/docs/manual/vhosts/details.html
    @@ -0,0 +1,17 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: details.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: details.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: details.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: details.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/vhosts/details.html.en b/docs/manual/vhosts/details.html.en
    new file mode 100644
    index 0000000..d0fa1d0
    --- /dev/null
    +++ b/docs/manual/vhosts/details.html.en
    @@ -0,0 +1,348 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>An In-Depth Discussion of Virtual Host Matching - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>An In-Depth Discussion of Virtual Host Matching</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/details.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>This document attempts to explain
    +    exactly what Apache HTTP Server does when deciding what virtual host to
    +    serve a request from.</p>
    +
    +    <p>Most users should read about <a href="name-based.html#namevip">
    +    Name-based vs. IP-based Virtual Hosts</a> to decide which type they
    +    want to use, then read more about <a href="name-based.html">name-based</a>
    +    or <a href="ip-based.html">IP-based</a> virtualhosts, and then see
    +    <a href="examples.html">some examples</a>.</p>
    +
    +    <p>If you want to understand all the details, then you can
    +    come back to this page.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Configuration File</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Virtual Host Matching</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#tips">Tips</a></li>
    +</ul><h3>See also</h3><ul class="seealso"><li><a href="ip-based.html">IP-based Virtual Host Support</a></li><li><a href="name-based.html">Name-based Virtual Hosts Support</a></li><li><a href="examples.html">Virtual Host examples for common setups</a></li><li><a href="mass.html">Dynamically configured mass virtual hosting</a></li><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="configparsing" id="configparsing">Configuration File</a></h2>
    +
    +    <p>There is a <em>main server</em> which consists of all the
    +    definitions appearing outside of
    +    <code>&lt;VirtualHost&gt;</code> sections.</p>
    +
    +    <p>There are virtual
    +    servers, called <em>vhosts</em>, which are defined by
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    sections.</p>
    +
    +    <p>Each <code>VirtualHost</code> directive includes one
    +    or more addresses and optional ports.</p>
    +
    +    <p>Hostnames can be used in place of IP addresses in a virtual
    +    host definition, but they are resolved at startup and if any name
    +    resolutions fail, those virtual host definitions are ignored.
    +    This is, therefore, not recommended.</p>
    +
    +    <p>The address can be specified as
    +    <code>*</code>, which will match a request if no
    +    other vhost has the explicit address on which the request was
    +    received. </p>
    +
    +    <p>The address appearing in the <code>VirtualHost</code>
    +    directive can have an optional port. If the port is unspecified,
    +    it is treated as a wildcard port, which can also be indicated
    +    explicitly using <code>*</code>.
    +    The wildcard port matches any port.</p>
    +
    +    <p>(Port numbers specified in the <code>VirtualHost</code> directive do
    +    not influence what port numbers Apache will listen on, they only control
    +    which <code>VirtualHost</code> will be selected to handle a request.
    +    Use the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> directive to
    +    control the addresses and ports on which the server listens.)
    +    </p>
    +
    +    <p>Collectively the
    +    entire set of addresses (including multiple
    +    results from DNS lookups) are called the vhost's
    +    <em>address set</em>.</p>
    +
    +    <p>Apache automatically discriminates on the
    +    basis of the HTTP <code>Host</code> header supplied by the client
    +    whenever the most specific match for an IP address and port combination
    +    is listed in multiple virtual hosts.</p>
    +
    +    <p>The
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> directive
    +    may appear anywhere within the definition of a server. However,
    +    each appearance overrides the previous appearance (within that
    +    server).  If no <code>ServerName</code> is specified, the server
    +    attempts to deduce it from the server's IP address.</p>
    +
    +    <p>The first name-based vhost in the configuration file for a
    +    given IP:port pair is significant because it is used for all
    +    requests received on that address and port for which no other
    +    vhost for that IP:port pair has a matching ServerName or
    +    ServerAlias.  It is also used for all SSL connections if the
    +    server does not support <a class="glossarylink" href="../glossary.html#servernameindication" title="see glossary">Server Name Indication</a>.</p>
    +
    +    <p>The complete list of names in the <code>VirtualHost</code>
    +    directive are treated just like a (non wildcard) <code>ServerAlias</code>
    +    (but are not overridden by any <code>ServerAlias</code> statement).</p>
    +
    +    <p>For every vhost various default values are set. In
    +    particular:</p>
    +
    +    <ol>
    +      <li>If a vhost has no <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
    +      <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
    +      <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
    +      <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
    +      <code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
    +      <code class="directive"><a href="../mod/mpm_common.html#receivebuffersize">ReceiveBufferSize</a></code>,
    +      or <code class="directive"><a href="../mod/mpm_common.html#sendbuffersize">SendBufferSize</a></code>
    +      directive then the respective value is inherited from the
    +      main server. (That is, inherited from whatever the final
    +      setting of that value is in the main server.)</li>
    +
    +      <li>The "lookup defaults" that define the default directory
    +      permissions for a vhost are merged with those of the
    +      main server. This includes any per-directory configuration
    +      information for any module.</li>
    +
    +      <li>The per-server configs for each module from the
    +      main server are merged into the vhost server.</li>
    +    </ol>
    +
    +    <p>Essentially, the main server is treated as "defaults" or a
    +    "base" on which to build each vhost. But the positioning of
    +    these main server definitions in the config file is largely
    +    irrelevant -- the entire config of the main server has been
    +    parsed when this final merging occurs. So even if a main server
    +    definition appears after a vhost definition it might affect the
    +    vhost definition.</p>
    +
    +    <p>If the main server has no <code>ServerName</code> at this
    +    point, then the hostname of the machine that <code class="program"><a href="../programs/httpd.html">httpd</a></code>
    +    is running on is used instead. We will call the <em>main server address
    +    set</em> those IP addresses returned by a DNS lookup on the
    +    <code>ServerName</code> of the main server.</p>
    +
    +    <p>For any undefined <code>ServerName</code> fields, a
    +    name-based vhost defaults to the address given first in the
    +    <code>VirtualHost</code> statement defining the vhost.</p>
    +
    +    <p>Any vhost that includes the magic <code>_default_</code>
    +    wildcard is given the same <code>ServerName</code> as the
    +    main server.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="hostmatching" id="hostmatching">Virtual Host Matching</a></h2>
    +
    +    <p>The server determines which vhost to use for a request as
    +    follows:</p>
    +
    +    <h3><a name="hashtable" id="hashtable">IP address lookup</a></h3>
    +
    +    <p>When the connection is first received on some address and port,
    +    the server looks for all the <code>VirtualHost</code> definitions
    +    that have the same IP address and port.</p>
    +
    +    <p>If there are no exact matches for the address and port, then
    +    wildcard (<code>*</code>) matches are considered.</p>
    +
    +    <p>If no matches are found, the request is served by the
    +    main server.</p>
    +
    +    <p>If there are <code>VirtualHost</code> definitions for
    +    the IP address, the next step is to decide if we have to
    +    deal with an IP-based or a name-based vhost.</p>
    +
    +    
    +
    +    <h3><a name="ipbased" id="ipbased">IP-based vhost</a></h3>
    +
    +    <p>If there is exactly one <code>VirtualHost</code> directive
    +    listing the IP address and port combination that was determined
    +    to be the best match, no further actions are performed and
    +    the request is served from the matching vhost.</p>
    +
    +    
    +
    +    <h3><a name="namebased" id="namebased">Name-based vhost</a></h3>
    +
    +    <p>If there are multiple <code>VirtualHost</code> directives listing
    +    the IP address and port combination that was determined to be the
    +    best match, the "list" in the remaining steps refers to the list of vhosts
    +    that matched, in the order they were in the configuration file.</p>
    +
    +    <p>If the connection is using SSL, the server supports <a class="glossarylink" href="../glossary.html#servernameindication" title="see glossary">Server Name Indication</a>, and
    +    the SSL client handshake includes the TLS extension with the
    +    requested hostname, then that hostname is used below just like the
    +    <code>Host:</code> header would be used on a non-SSL connection.
    +    Otherwise, the first name-based vhost whose address matched is
    +    used for SSL connections.  This is significant because the
    +    vhost determines which certificate the server will use for the
    +    connection.</p>
    +
    +    <p>If the request contains a <code>Host:</code> header field, the
    +    list is searched for the first vhost with a matching
    +    <code>ServerName</code> or <code>ServerAlias</code>, and the
    +    request is served from that vhost. A <code>Host:</code> header
    +    field can contain a port number, but Apache always ignores it and
    +    matches against the real port to which the client sent the
    +    request.</p>
    +
    +    <p>The first vhost in the config
    +    file with the specified IP address has the highest priority
    +    and catches any request to an unknown server name, or a request
    +    without a <code>Host:</code> header field (such as a HTTP/1.0
    +    request).</p>
    +
    +    
    +
    +    <h3><a name="persistent" id="persistent">Persistent connections</a></h3>
    +
    +    <p>The <em>IP lookup</em> described above is only done <em>once</em> for a
    +    particular TCP/IP session while the <em>name lookup</em> is done on
    +    <em>every</em> request during a KeepAlive/persistent
    +    connection. In other words, a client may request pages from
    +    different name-based vhosts during a single persistent
    +    connection.</p>
    +
    +    
    +
    +    <h3><a name="absoluteURI" id="absoluteURI">Absolute URI</a></h3>
    +
    +    <p>If the URI from the request is an absolute URI, and its
    +    hostname and port match the main server or one of the
    +    configured virtual hosts <em>and</em> match the address and
    +    port to which the client sent the request, then the
    +    scheme/hostname/port prefix is stripped off and the remaining
    +    relative URI is served by the corresponding main server or
    +    virtual host. If it does not match, then the URI remains
    +    untouched and the request is taken to be a proxy request.</p>
    +
    +
    +<h3><a name="observations" id="observations">Observations</a></h3>
    +
    +    <ul>
    +      <li>Name-based virtual hosting is a process applied after
    +      the server has selected the best matching IP-based virtual
    +      host.</li>
    +
    +      <li>If you don't care what IP address the client has connected to, use a
    +      "*" as the address of every virtual host, and name-based virtual hosting
    +      is applied across all configured virtual hosts.</li>
    +
    +      <li><code>ServerName</code> and <code>ServerAlias</code>
    +      checks are never performed for an IP-based vhost.</li>
    +
    +      <li>Only the ordering of
    +      name-based vhosts for a specific address set is significant.
    +      The one name-based vhosts that comes first in the
    +      configuration file has the highest priority for its
    +      corresponding address set.</li>
    +
    +      <li>Any port in the <code>Host:</code> header field is never used during the
    +      matching process. Apache always uses the real port to which
    +      the client sent the request.</li>
    +
    +      <li>If two vhosts have an address in common, those common addresses
    +      act as name-based virtual hosts implicitly.  This is new behavior as of
    +      2.3.11.</li>
    +
    +      <li>The main server is only used to serve a request if the IP
    +      address and port number to which the client connected
    +      does not match any vhost (including a
    +      <code>*</code> vhost). In other words, the main server
    +      only catches a request for an unspecified address/port
    +      combination (unless there is a <code>_default_</code> vhost
    +      which matches that port).</li>
    +
    +      <li>You should never specify DNS names in
    +      <code>VirtualHost</code> directives because it will force
    +      your server to rely on DNS to boot. Furthermore it poses a
    +      security threat if you do not control the DNS for all the
    +      domains listed. There's <a href="../dns-caveats.html">more
    +      information</a> available on this and the next two
    +      topics.</li>
    +
    +      <li><code>ServerName</code> should always be set for each
    +      vhost. Otherwise a DNS lookup is required for each
    +      vhost.</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="tips" id="tips">Tips</a></h2>
    +
    +    <p>In addition to the tips on the <a href="../dns-caveats.html#tips">DNS Issues</a> page, here are
    +    some further tips:</p>
    +
    +    <ul>
    +      <li>Place all main server definitions before any
    +      <code>VirtualHost</code> definitions. (This is to aid the
    +      readability of the configuration -- the post-config merging
    +      process makes it non-obvious that definitions mixed in around
    +      virtual hosts might affect all virtual hosts.)</li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/details.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/details.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/details.html.fr.utf8 b/docs/manual/vhosts/details.html.fr.utf8
    new file mode 100644
    index 0000000..29bc31d
    --- /dev/null
    +++ b/docs/manual/vhosts/details.html.fr.utf8
    @@ -0,0 +1,369 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Détails sur le fonctionnement des serveurs virtuels - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Détails sur le fonctionnement des serveurs virtuels</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Ce document vise à expliquer dans le détail comment le serveur
    +    HTTP Apache procède lors du choix de l'utilisation
    +    d'un serveur virtuel en fonction d'une requête reçue.</p>
    +
    +    <p>Il est recommandé de lire la documentation<a href="name-based.html#namevip">
    +    Serveurs virtuels à base de nom et serveurs virtuels à base
    +    d'adresse IP</a> pour déterminer quel type de serveur virtuel nous
    +    convient le mieux, puis de lire les documentations <a href="name-based.html">serveurs virtuels à base de nom</a> ou <a href="ip-based.html">serveurs virtuels à base d'adresse IP</a>, et enfin
    +    d'étudier <a href="examples.html">quelques exemples</a>.</p>
    +
    +    <p>Si vous voulez entrer dans les détails, vous pouvez revenir vers
    +    cette page.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Fichier de configuration</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Choix du serveur virtuel</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#tips">Trucs et astuces</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support des serveurs virtuels à base
    +d'adresse IP</a></li><li><a href="name-based.html">Support des serveurs virtuels à base
    +de nom</a></li><li><a href="examples.html">Exemples de serveurs virtuels pour une
    +configuration courante</a></li><li><a href="mass.html">Hébergement virtuel de masse configuré
    +dynamiquement</a></li><li><a href="#comments_section">Commentaires</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="configparsing" id="configparsing">Fichier de configuration</a></h2>
    +
    +    <p>Un <em>serveur  principal (main_server)</em> contient toutes
    +    les définitions qui apparaissent en dehors des sections
    +    <code>&lt;VirtualHost&gt;</code>.</p>
    +
    +    <p>Les serveurs virtuels, aussi
    +    appelés <em>vhosts</em> (pour virtual hosts), sont définis par les
    +    sections <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
    +
    +    <p>Chaque directive <code>VirtualHost</code> comporte une ou
    +    plusieurs adresses et des ports optionnels.</p>
    +
    +    <p>Il est possible d'utiliser des noms d'hôtes dans la définition
    +    d'un serveur virtuel, mais ils seront résolus en adresses IP au
    +    démarrage du serveur, et si une résolution de nom échoue, cette
    +    définition de serveur virtuel sera ignorée. Cette méthode est par
    +    conséquent déconseillée.</p>
    +
    +    <p>L'adresse peut
    +    être spécifiée sous la forme <code>*</code>, ce qui conviendra à la
    +    requête si aucun autre serveur virtuel ne possède l'adresse IP
    +    explicite correspondant à celle de la requête.</p>
    +
    +    <p>L'adresse qui apparaît dans la directive <code>VirtualHost</code>
    +    peut être associée à un port optionnel. Si aucun port n'est
    +    spécifié, il s'agit d'un port générique qui peut aussi être spécifié
    +    comme <code>*</code>. Le port générique correspond à toutes les
    +    valeurs de port.</p>
    +
    +    <p>(Il ne faut pas confondre les numéros de port sur lesquels Apache
    +    est en écoute avec les numéros de port spécifiés dans la directive
    +    <code>VirtualHost</code> ; ces derniers ne servent qu'à définir le
    +    <code>serveur virtuel</code> qui sera sélectionné pour traiter la
    +    requête. Pour définir les ports sur lesquels Apache est en écoute,
    +    utilisez la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>).
    +    </p>
    +
    +    <p>L'ensemble des adresses (y compris les résultats multiples
    +    <code>A</code> issus des requêtes DNS) est appelé <em>jeu
    +    d'adresses</em> du serveur virtuel.</p>
    +
    +    <p>Apache fait automatiquement sa sélection à partir de l'en-tête
    +    HTTP <code>Host</code> fourni par le client, lorsque la
    +    correspondance la plus exacte du point de vue adresse IP/port a lieu
    +    pour plusieurs serveurs virtuels.</p>
    +
    +    <p>La directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> peut
    +    apparaître en quelque endroit de la définition d'un serveur.
    +    Cependant, chaque occurrence écrase la précédente (pour ce serveur).
    +    Si aucune directive <code>ServerName</code> n'est spécifiée, le
    +    serveur tente de déterminer le nom du serveur à partir de l'adresse
    +    IP.</p>
    +
    +    <p>Le premier serveur virtuel à base de nom apparaissant dans le
    +    fichier de configuration pour une paire IP:port donnée est
    +    significatif car c'est lui qui sera utilisé pour toutes les requêtes
    +    reçues sur cette adresse IP/port et pour laquelle aucun autre
    +    serveur virtuel ne possède un ServerName ou un ServerAlias
    +    correspondant. Il sera aussi utilisé pour toutes les connexions SSL
    +    si le serveur ne supporte pas l'<a class="glossarylink" href="../glossary.html#servernameindication" title="voir glossaire">Indication du nom du serveur</a>.</p>
    +
    +    <p>Tous les noms spécifiés au sein d'une section
    +    <code>VirtualHost</code> sont traités comme un
    +    <code>ServerAlias</code> (sans caractères génériques), mais ne sont
    +    écrasés par aucune directive <code>ServerAlias</code>.</p>
    +
    +    <p>Pour chaque serveur virtuel, diverses valeurs sont initialisées
    +    par défaut. En particulier&nbsp;:</p>
    +
    +    <ol>
    +      <li>Dans le cas où un serveur virtuel ne contient pas de directives
    +      <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
    +      <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
    +      <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
    +      <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
    +      <code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
    +      <code class="directive"><a href="../mod/mpm_common.html#receivebuffersize">ReceiveBufferSize</a></code>,
    +      ou <code class="directive"><a href="../mod/mpm_common.html#sendbuffersize">SendBufferSize</a></code>,
    +      alors la valeur de chacun de ces paramètres est héritée de celle du
    +      serveur principal. (C'est à dire, héritée de la valeur finale après
    +      lecture de la configuration du serveur principal.)</li>
    +
    +      <li>Les permissions par défaut sur les répertoires de chaque
    +      serveur virtuel sont assemblées avec celles du serveur principal.
    +      Elles concernent également toutes les informations de configuration
    +      par répertoire pour tous les modules.</li>
    +
    +      <li>Les configurations par serveur pour chaque module sont assemblées
    +      à partir de celles du serveur principal.</li>
    +    </ol>
    +
    +    <p>L'essentiel des valeurs de configuration des serveurs virtuels
    +    provient de valeurs par défaut issues du serveur principal.
    +    Mais la position dans le fichier de configuration des directives
    +    du serveur principal n'a pas d'importance -- l'ensemble de la
    +    configuration du serveur principal est lu avant que ces valeurs par
    +    défaut soient appliquées aux serveur virtuels. Ainsi, même si la
    +    définition d'une valeur apparaît après celle d'un serveur virtuel,
    +    cette valeur peut affecter la definition du serveur virtuel.</p>
    +
    +    <p>Dans le cas où le serveur principal n'a pas de <code>ServerName</code>
    +    à ce stade, le nom de la machine sur laquelle tourne le programme
    +    <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilisé à sa place. Nous appellerons
    +    <em>jeu d'adresses du serveur principal</em> les adresses IP
    +    renvoyées par une résolution DNS sur le <code>ServerName</code>
    +    du serveur principal.</p>
    +
    +    <p>Pour tous les champs <code>ServerName</code> non définis, dans
    +    le cas d'une configuration en serveur virtuel par nom, la valeur
    +    adoptée par défaut est la première adresse donnée dans la section
    +    <code>VirtualHost</code> qui définit le serveur virtuel.</p>
    +
    +    <p>Si un serveur virtuel contient la valeur magique
    +    <code>_default_</code>, il fonctionne sur le même <code>ServerName</code>
    +    que le serveur principal.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="hostmatching" id="hostmatching">Choix du serveur virtuel</a></h2>
    +
    +    <p>À la réception d'une requête, le serveur procède comme suit pour
    +    déterminer quel serveur virtuel utiliser&nbsp;:</p>
    +
    +    <h3><a name="hashtable" id="hashtable">Recherche de l'adresse IP</a></h3>
    +
    +    <p>Lors d'une première connexion sur une adresse/port, le serveur
    +    recherche toutes les directives <code>VirtualHost</code> qui
    +    possèdent la même adresse IP/port.</p>
    +
    +    <p>S'il n'y a aucune correspondance exacte pour cette adresse/port,
    +    la recherche s'effectue sur la valeur générique (<code>*</code>).</p>
    +
    +    <p>Si aucune correspondance n'est enfin trouvée, la requête sera
    +    servie par le serveur principal.</p>
    +
    +    <p>S'il existe des définitions <code>VirtualHost</code> pour
    +    l'adresse IP, l'étape suivante consiste à déterminer si nous avons à
    +    faire à un serveur virtuel à base de nom ou d'adresse IP.</p>
    +
    +    
    +
    +    <h3><a name="ipbased" id="ipbased">Serveur virtuel par IP</a></h3>
    +
    +    <p>Si une seule section <code>VirtualHost</code> présente la
    +    meilleure correspondance avec la paire adresse IP/port, aucune
    +    action n'est entreprise et la requête est
    +    traitée par le serveur virtuel qui correspond.</p>
    +
    +    
    +
    +    <h3><a name="namebased" id="namebased">Serveur virtuel par nom</a></h3>
    +
    +    <p>Si plusieurs sections <code>VirtualHost</code> présentent la
    +    meilleure correspondance avec la paire adresse IP/port, le terme
    +    "liste" dans les étapes suivantes fait référence à la liste des
    +    serveurs virtuels qui correspondent, selon l'ordre dans lequel ils
    +    apparaissent dans le fichier de configuration.</p>
    +
    +    <p>Si la connexion utilise SSL, si le serveur supporte l'<a class="glossarylink" href="../glossary.html#servernameindication" title="voir glossaire">Indication de nom de serveur</a>,
    +    et si la négociation du client SSL inclut l'extension TLS dans le
    +    nom d'hôte requis, alors ce nom d'hôte sera utilisé par la suite, tout
    +    comme un en-tête <code>Host:</code> aurait été utilisé dans le cas
    +    d'une connexion non-SSL. Si ces conditions ne sont pas réunies, le
    +    premier serveur virtuel à base de nom dont l'adresse correspond sera
    +    utilisé pour les connexions SSL. Ceci est important car c'est le
    +    serveur virtuel qui détermine quel certificat le serveur va utiliser
    +    pour la connexion.</p>
    +
    +    <p>Si la requête contient un en-tête <code>Host:</code>, on
    +    recherche dans la liste le premier serveur virtuel dont le
    +    <code>ServerName</code> ou le <code>ServerAlias</code> correspond,
    +    et c'est celui-ci qui va traiter la requête. Un en-tête
    +    <code>Host:</code> peut comporter un numéro de port mais Apache
    +    l'ignore systématiquement et utilise toujours le
    +    port sur lequel il a effectivement reçu la requête.</p>
    +
    +    <p>Le premier serveur virtuel du fichier de configuration qui
    +    possède l'adresse spécifiée est prioritaire et intercepte toutes les
    +    requêtes à destination d'un nom de serveur inconnu, ou toute requête
    +    sans en-tête <code>Host:</code> (comme les requêtes HTTP/1.0).</p>
    +
    +    
    +
    +    <h3><a name="persistent" id="persistent">Connexions persistantes</a></h3>
    +
    +    <p>La <em>recherche par adresse IP</em> décrite ci-avant n'est faite
    +    qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
    +    <em>recherche par nom</em> est réalisée pour <em>chaque</em> requête au
    +    cours d'une connexion persistante (KeepAlive). En d'autres termes,
    +    il est possible pour un client de faire des requêtes sur
    +    différents serveurs virtuels par nom, au cours d'une unique
    +    connexion persistante.</p>
    +
    +    
    +
    +    <h3><a name="absoluteURI" id="absoluteURI">URI absolu</a></h3>
    +
    +    <p>Au cas où l'URI de la requête est absolu, et que son nom de
    +    serveur et son port correspondent au serveur principal (ou l'un
    +    des serveurs virtuels configurés), <em>et</em> qu'ils correspondent
    +    à l'adresse et au port de la requête, alors l'URI est amputé
    +    de son préfixe protocole/nom de serveur/port et traité par le
    +    serveur correspondant (principal ou virtuel). Si cette correspondance
    +    n'existe pas, l'URI reste inchangé et la requête est considérée
    +    comme une requête d'un serveur mandataire (proxy).</p>
    +
    +
    +<h3><a name="observations" id="observations">Observations</a></h3>
    +
    +    <ul>
    +      <li>La sélection d'un serveur virtuel en fonction de son nom est
    +      un processus qui intervient après la sélection par le serveur du
    +      serveur virtuel qui correspond le mieux du point de vue adresse
    +      IP/port.</li>
    +
    +      <li>Si vous ne tenez pas compte de l'adresse IP à laquelle le
    +      client s'est connecté, indiquez un caractère "*" comme adresse
    +      pour tous les serveurs virtuels, et la sélection du serveur
    +      virtuel en fonction du nom s'appliquera alors à tous les serveurs
    +      virtuels définis.</li>
    +
    +      <li>Les vérifications sur <code>ServerName</code> et
    +      <code>ServerAlias</code> ne sont jamais
    +      réalisées pour les serveurs virtuels par IP.</li>
    +
    +      <li>Seul l'ordre des serveurs virtuels par nom
    +      pour une adresse donnée a une importance. Le serveur virtuel
    +      par nom qui est présent en premier dans la configuration se
    +      voit attribué la priorité la plus haute pour les requêtes
    +      arrivant sur son jeu d'adresses IP.</li>
    +
    +      <li>Le numéro de port contenu dans l'en-tête <code>Host:</code> n'est jamais utilisé
    +      pour les tests de correspondances. Apache ne prend en compte
    +      que le numéro de port sur lequel le client a envoyé la requête.</li>
    +
    +      <li>Si deux serveurs virtuels partagent la même adresse, la
    +      sélection se fera implicitement sur le nom. Il s'agit d'une
    +      nouvelle fonctionnalité de la version 2.3.11.</li>
    +
    +      <li>Le serveur principal ne sert les requêtes que
    +      lorsque l'adresse IP et le port demandés par le client ne
    +      correspondent à aucun serveur virtuel (y compris un serveur
    +      virtuel <code>*</code>). En d'autres termes, le serveur
    +      principal n'est utile que pour les combinaisons adresse/port
    +      non spécifiées (sauf quand un serveur virtuel <code>_default_</code>
    +      correspond au port).</li>
    +
    +      <li>Il ne faut jamais employer de noms DNS dans des directives
    +      <code>VirtualHost</code>, car cela oblige le serveur a s'appuyer
    +      sur le DNS au moment du démarrage. De plus, vous vous exposez
    +      à des problèmes de sécurité si vous n'avez pas la maîtrise du
    +      DNS pour la totalité de vos domaines. Voir la documentation
    +      <a href="../dns-caveats.html">disponible ici</a>, ainsi que
    +      les deux points précisés ci-après.</li>
    +
    +      <li>Un nom de serveur <code>ServerName</code> devrait toujours
    +      être indiqué pour chaque serveur virtuel. Sans cela, une
    +      résolution DNS est nécessaire pour chaque serveur virtuel.</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="tips" id="tips">Trucs et astuces</a></h2>
    +
    +    <p>En plus des points évoqués sur la page des
    +    <a href="../dns-caveats.html#tips">problèmes liés au DNS</a>,
    +    voici quelques points intéressants&nbsp;:</p>
    +
    +    <ul>
    +      <li>Toujours positionner les définitions relatives au serveur
    +      principal avant toute définition <code>VirtualHost</code>.
    +      (Ceci améliore grandement la lisibilité de la configuration
    +      -- la manière dont la configuration est interprétée après la
    +      lecture des fichiers ne met pas en évidence le fait que les
    +      définitions positionnées avant et surtout après les serveurs
    +      virtuels peuvent impacter le fonctionnement de tous les
    +      serveurs virtuels.)</li>
    +
    +   </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/details.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/details.html.ko.euc-kr b/docs/manual/vhosts/details.html.ko.euc-kr
    new file mode 100644
    index 0000000..ca5088a
    --- /dev/null
    +++ b/docs/manual/vhosts/details.html.ko.euc-kr
    @@ -0,0 +1,412 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>°¡»óÈ£½ºÆ® ã±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">°¡»óÈ£½ºÆ®</a></div><div id="page-content"><div id="preamble"><h1>°¡»óÈ£½ºÆ® ã±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +
    +    <p>°¡»óÈ£½ºÆ® ÄÚµå´Â <strong>¾ÆÆÄÄ¡ 1.3</strong>¿¡¼­ °ÅÀÇ ´Ù½Ã
    +    ÀÛ¼ºµÇ¾ú´Ù. ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡°¡ ¿äûÀ» ¹ÞÀ¸¸é ¾î¶² °¡»óÈ£½ºÆ®°¡
    +    ¼­ºñ½ºÇÒÁö °áÁ¤ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. »õ·Î¿î <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
    +    °¡»óÈ£½ºÆ® ¼³Á¤ÀÌ 1.3 ¹öÀü ÀÌÀüº¸´Ù ´õ ½±°í ¾ÈÀüÇØÁ³´Ù.</p>
    +
    +    <p>¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ÀÌÇØÇÏÁö¾Ê°í ´ÜÁö <cite>µ¿ÀÛÇÏ°Ô¸¸</cite>
    +    ÇÏ°í ½Í´Ù¸é, <a href="examples.html">¿¹Á¦µé</a>À» Âü°íÇ϶ó.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">¼³Á¤ÆÄÀÏ Àбâ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">°¡»óÈ£½ºÆ® ã±â</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#tips">ÆÁ</a></li>
    +</ul><h3>Âü°í</h3><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="configparsing" id="configparsing">¼³Á¤ÆÄÀÏ Àбâ</a></h2>
    +
    +    <p><code>&lt;VirtualHost&gt;</code> ¼³Á¤À» Á¦¿ÜÇÑ ¼³Á¤ÀÌ
    +    <em>ÁÖ¼­¹ö</em>¸¦ ¸¸µç´Ù. <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ¼½¼ÇÀ¸·Î Á¤ÀÇÇÑ
    +    ºÎºÐÀ» °¡»óÈ£½ºÆ®¶ó°í ºÎ¸¥´Ù.</p>
    +
    +    <p><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>,
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>,
    +    <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>,
    +    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> Áö½Ã¾î´Â
    +    ¼­¹ö Á¤ÀÇ ¾î´À°÷¿¡¼­µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª °°Àº Áö½Ã¾î°¡
    +    ¿©·¯¹ø ³ª¿À¸é (±× ¼­¹ö¿¡¼­) ¸¶Áö¸· Áö½Ã¾î¸¸ÀÌ À¯È¿ÇÏ´Ù.</p>
    +
    +    <p>ÁÖ¼­¹ö <code>Listen</code>ÀÇ ±âº»°ªÀº 80ÀÌ´Ù. ÁÖ¼­¹öÀÇ
    +    <code>ServerPath</code>³ª <code>ServerAlias</code>¿¡´Â
    +    ±âº»°ªÀº ¾ø´Ù. <code>ServerName</code>ÀÇ ±âº»°ªÀº ¼­¹öÀÇ
    +    IP ÁÖ¼ÒÀÌ´Ù.</p>
    +
    +    <p>ÁÖ¼­¹öÀÇ Listen Áö½Ã¾î´Â µÎ°¡Áö ±â´ÉÀ» ÇÑ´Ù. ù°´Â
    +    ¾ÆÆÄÄ¡°¡ ¿¬°áÇÒ ±âº» ³×Æ®¿÷ Æ÷Æ®¸¦ ÁöÁ¤ÇÏ´Â ÀÏÀÌ´Ù. µÑ°´Â
    +    ¸®´ÙÀÌ·º¼ÇÇÒ Àý´ë URI¿¡ »ç¿ëÇÒ Æ÷Æ® ¹øÈ£¸¦ ÁöÁ¤ÇÏ´Â ÀÏÀÌ´Ù.</p>
    +
    +    <p>ÁÖ¼­¹ö¿Í ´Þ¸® °¡»óÈ£½ºÆ®ÀÇ Æ÷Æ®´Â ¾ÆÆÄÄ¡°¡ ¿¬°áÀ» ±â´Ù¸®´Â
    +    Æ÷Æ®¿¡ ¿µÇâÀ» ÁÖÁö <em>¾Ê´Â´Ù</em>.</p>
    +
    +    <p><code>VirtualHost</code> Áö½Ã¾î¿¡ Æ÷Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
    +    Æ÷Æ®¸¦ ÁöÁ¤ÇÏÁö¾ÊÀ¸¸é ÁÖ¼­¹öÀÇ °¡Àå ÃÖ±Ù <code>Listen</code>
    +    °ªÀ» »ç¿ëÇÑ´Ù. Ưº°ÇÑ Æ÷Æ® <code>*</code>´Â ¾î¶² Æ÷Æ®¶óµµ
    +    ÁöĪÇÏ´Â ¿ÍÀϵåÄ«µåÀÌ´Ù. (DNS °Ë»ö °á°úÀÇ ¿©·¯ <code>A</code>
    +    ·¹Äڵ带 Æ÷ÇÔÇÏ¿©) °¡»óÈ£½ºÆ®ÀÇ ÁÖ¼Ò¸¦ ¸ðµÎ ÃÑĪÇÏ¿© °¡»óÈ£½ºÆ®ÀÇ
    +    <em>ÁÖ¼ÒÁýÇÕ(address set)</em>À̶ó°í ºÎ¸¥´Ù.</p>
    +
    +    <p>ƯÁ¤ IP ÁÖ¼Ò¿¡ ´ëÇÑ <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> Áö½Ã¾î°¡ ¾ø´Ù¸é
    +    ±× ÁÖ¼Ò¸¦ Æ÷ÇÔÇϴ ù¹ø° °¡»óÈ£½ºÆ®¸¦ IP±â¹Ý °¡»óÈ£½ºÆ®·Î Ãë±ÞÇÑ´Ù.
    +    IP ÁÖ¼Ò¿¡ ¿ÍÀϵåÄ«µå <code>*</code>¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.</p>
    +
    +    <p>À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÑ´Ù¸é À̸§±â¹Ý °¡»óÈ£½ºÆ®¿¡
    +    »ç¿ëÇÒ IP ÁÖ¼Ò¸¦ <code>NameVirtualHost</code> Áö½Ã¾î¿¡
    +    »ç¿ëÇØ¾ß <em>ÇÑ´Ù</em>. Áï, ¼³Á¤ÆÄÀÏÀÇ <code>NameVirtualHost</code>
    +    Áö½Ã¾î¿¡ À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ È£½ºÆ®º°¸í(CNAME)¿¡ ÇØ´çÇÏ´Â
    +    IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù.</p>
    +
    +    <p>ƯÁ¤ IP:Æ÷Æ® ½Ö¿¡ ´ëÇØ ¿ÀÁ÷ ÇÑ <code>NameVirtualHost</code>
    +    Áö½Ã¾î¸¸À» »ç¿ëÇÑ´Ù¸é, ¿©·¯ <code>NameVirtualHost</code> Áö½Ã¾î¿Í
    +    <code>VirtualHost</code> Áö½Ã¾î¸¦ ¼¯¾î¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <p><code>NameVirtualHost</code>¿Í <code>VirtualHost</code>
    +    Áö½Ã¾îÀÇ ¼ø¼­´Â Áß¿äÇÏÁö ¾Ê±â¶§¹®¿¡ ´ÙÀ½ µÎ ¿¹´Â °°´Ù (¿ÀÁ÷
    +    <em>ÇÑ</em> ÁÖ¼ÒÁýÇÕ¿¡ ´ëÇÑ <code>VirtualHost</code>ÀÇ
    +    ¼ø¼­°¡ Áß¿äÇÏ´Ù. ¾Æ·¡ Âü°í):</p>
    +
    +<table><tr>
    +<td><div class="example"><p><code>
    +  NameVirtualHost 111.22.33.44<br />
    +  &lt;VirtualHost 111.22.33.44&gt;<br />
    +  # ¼­¹ö A<br />
    +  ...<br />
    +  &lt;/VirtualHost&gt;<br />
    +  &lt;VirtualHost 111.22.33.44&gt;<br />
    +  # ¼­¹ö B<br />
    +  ...<br />
    +  &lt;/VirtualHost&gt;<br />
    +  <br />
    +  NameVirtualHost 111.22.33.55<br />
    +  &lt;VirtualHost 111.22.33.55&gt;<br />
    +  # ¼­¹ö C<br />
    +  ...<br />
    +  &lt;/VirtualHost&gt;<br />
    +  &lt;VirtualHost 111.22.33.55&gt;<br />
    +  # ¼­¹ö D<br />
    +  ...<br />
    +  &lt;/VirtualHost&gt;
    +</code></p></div></td>
    +<td><div class="example"><p><code>
    +  &lt;VirtualHost 111.22.33.44&gt;<br />
    +  # ¼­¹ö A<br />
    +  &lt;/VirtualHost&gt;<br />
    +  &lt;VirtualHost 111.22.33.55&gt;<br />
    +  # ¼­¹ö C<br />
    +  ...<br />
    +  &lt;/VirtualHost&gt;<br />
    +  &lt;VirtualHost 111.22.33.44&gt;<br />
    +  # ¼­¹ö B<br />
    +  ...<br />
    +  &lt;/VirtualHost&gt;<br />
    +  &lt;VirtualHost 111.22.33.55&gt;<br />
    +  # ¼­¹ö D<br />
    +  ...<br />
    +  &lt;/VirtualHost&gt;<br />
    +  <br />
    +  NameVirtualHost 111.22.33.44<br />
    +  NameVirtualHost 111.22.33.55<br />
    +  <br />
    +</code></p></div></td>
    +</tr></table>
    +
    +
    +    <p>(¿ÞÂÊ ¼³Á¤ÀÌ ´õ Àбâ ÆíÇÏ´Ù.)</p>
    +
    +    <p><code>VirtualHost</code> Áö½Ã¾î¸¦ ÀÐÀ» ´ÙÀ½, °¡»óÈ£½ºÆ®
    +    ¼­¹ö´Â <code>VirtualHost</code> Áö½Ã¾î¿¡ ÁöÁ¤ÇÑ Æ÷Æ®¸¦ ±âº»
    +    <code>Listen</code>À¸·Î ÇÑ´Ù.</p>
    +
    +    <p><code>VirtualHost</code> Áö½Ã¾îÀÇ À̸§ÀÌ ¸ðµÎ °°Àº
    +    ÁÖ¼ÒÁýÇÕ¿¡ ¼ÓÇÑ´Ù¸é <code>ServerAlias</code>¿Í °°ÀÌ Ãë±ÞÇÑ´Ù
    +    (±×·¯³ª ´Ù¸¥ <code>ServerAlias</code>ÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù).
    +    °¡»óÈ£½ºÆ®¿¡ Ãß°¡·Î »ç¿ëÇÑ <code>Listen</code>Àº ÁÖ¼ÒÁýÇÕÀÌ
    +    ÁöÁ¤ÇÑ Æ÷Æ®¿¡ ¿µÇâÀ» ÁÖÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó.</p>
    +
    +    <p>½ÃÀÛÇÒ¶§ IP ÁÖ¼Ò ¸ñ·ÏÀ» ¸¸µé¾î Çؽ¬Å×ÀÌºí¿¡ Ãß°¡ÇÑ´Ù.
    +    <code>NameVirtualHost</code> Áö½Ã¾î¿¡ IP ÁÖ¼Ò¸¦ »ç¿ëÇϸé
    +    ¸ñ·ÏÀº ±× IP ÁÖ¼Ò¿¡ ´ëÇÑ ¸ðµç À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ Æ÷ÇÔÇÑ´Ù.
    +    ±× ÁÖ¼Ò¿¡ ´ëÇÑ °¡»óÈ£½ºÆ®°¡ ¾ø´Ù¸é <code>NameVirtualHost</code>
    +    Áö½Ã¾î¸¦ ¹«½ÃÇÏ°í ·Î±×¿¡ ¿À·ù¸¦ ±â·ÏÇÑ´Ù. IP±â¹Ý °¡»óÈ£½ºÆ®´Â
    +    Çؽ¬Å×ÀÌºí¿¡ ¸ñ·ÏÀ» Ãß°¡ÇÏÁö ¾Ê´Â´Ù.</p>
    +
    +    <p>ºü¸¥ Çؽ¬ÇÔ¼ö¸¦ »ç¿ëÇϱ⶧¹®¿¡ ¿äû½Ã IP ÁÖ¼Ò¸¦ ÇؽÌÇÏ´Â
    +    ºÎ´ãÀº °ÅÀÇ ¾ø´Ù. ¶Ç Çؽ¬Å×À̺íÀº IP ÁÖ¼ÒÀÇ ¸¶Áö¸· ºÎºÐÀÇ
    +    Â÷ÀÌ¿¡ ÃÖÀûÈ­µÇÀÖ´Ù.</p>
    +
    +    <p>°¡»óÈ£½ºÆ®¿¡ ¿©·¯ ±âº»°ªÀÌ ¼³Á¤µÈ´Ù. ƯÈ÷:</p>
    +
    +    <ol>
    +      <li>°¡»óÈ£½ºÆ®¿¡ <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
    +      <code class="directive"><a href="../mod/core.html#resourceconfig">ResourceConfig</a></code>,
    +      <code class="directive"><a href="../mod/core.html#accessconfig">AccessConfig</a></code>,
    +      <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
    +      <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
    +      <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
    +      <code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
    +      <code class="directive"><a href="../mod/core.html#sendbuffersize">SendBufferSize</a></code>
    +      Áö½Ã¾î°¡ ¾ø´Ù¸é ÁÖ¼­¹ö¿¡¼­ ÇØ´ç °ªÀ» °¡Á®¿Â´Ù. (Áï,
    +      ÁÖ¼­¹öÀÇ ¼³Á¤°ªÀ» »ç¿ëÇÑ´Ù.)</li>
    +
    +      <li>°¡»óÈ£½ºÆ®ÀÇ µð·ºÅ丮 ±âº»±ÇÇÑÀ» Á¤ÀÇÇÏ´Â "ÂüÁ¶
    +      ±âº»°ª(lookup defaults)"Àº ÁÖ¼­¹öÀÇ ¼³Á¤°ú ÇÕÃÄÁø´Ù.
    +      ¸ðµâÀÇ µð·ºÅ丮´ç ¼³Á¤(per-directory configuration)µµ
    +      ¿©±â¿¡ ÇØ´çµÈ´Ù.</li>
    +
    +      <li>°¢ ¸ðµâÀÇ ¼­¹ö´ç ¼³Á¤(per-server config)Àº ÁÖ¼­¹öÀÇ
    +      ¼³Á¤°ú °¡»óÈ£½ºÆ®ÀÇ ¼³Á¤À» ÇÕÄ£´Ù.</li>
    +    </ol>
    +
    +    <p>±âº»ÀûÀ¸·Î ÁÖ¼­¹ö´Â °¡»óÈ£½ºÆ®¸¦ ¸¸µå´Â "±âº»" ȤÀº "±â¹Ý"ÀÌ
    +    µÈ´Ù. ±×·¯³ª ¼³Á¤ÆÄÀÏ¿¡¼­ ÁÖ¼­¹ö¸¦ Á¤ÀÇÇÏ´Â À§Ä¡´Â °ü°è¾ø´Ù.
    +    ¸¶Áö¸·À¸·Î ¼³Á¤À» ÇÕÄ¡±â Àü¿¡ ÁÖ¼­¹öÀÇ ¸ðµç ¼³Á¤À» ÀоîµéÀδÙ.
    +    ±×·¡¼­ ÁÖ¼­¹ö Á¤ÀÇ°¡ °¡»óÈ£½ºÆ® Á¤ÀÇ µÚ¿¡ ³ª¿Íµµ °¡»óÈ£½ºÆ®
    +    Á¤ÀÇ¿¡ ¿µÇâÀ» ÁØ´Ù.</p>
    +
    +    <p>ÁÖ¼­¹ö¿¡ <code>ServerName</code>ÀÌ ¾ø´Ù¸é À¥¼­¹ö¸¦ ½ÇÇàÇÏ´Â
    +    ÄÄÇ»ÅÍÀÇ È£½ºÆ®¸íÀ» ´ë½Å »ç¿ëÇÑ´Ù. ÁÖ¼­¹öÀÇ
    +    <code>ServerName</code>À» DNS °Ì»öÇÏ¿© ¾òÀº IP ÁÖ¼ÒµéÀ»
    +    <em>ÁÖ¼­¹ö ÁÖ¼ÒÁýÇÕ</em>À̶ó°í ºÎ¸¥´Ù.</p>
    +
    +    <p>À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ <code>ServerName</code>À» Á¤ÀÇÇÏÁö
    +    ¾ÊÀ¸¸é °¡»óÈ£½ºÆ®¸¦ Á¤ÀÇÇÏ´Â <code>VirtualHost</code>¿¡¼­
    +    óÀ½À¸·Î ³ª¿Â ÁÖ¼Ò¸¦ ±âº»°ªÀ¸·Î »ç¿ëÇÑ´Ù.</p>
    +
    +    <p>Ưº°ÇÑ <code>_default_</code> ¿ÍÀÏƮīµå¸¦ Æ÷ÇÔÇÏ´Â
    +    °¡»óÈ£½ºÆ®´Â ÁÖ¼­¹ö¿Í °°Àº <code>ServerName</code>À» °¡Áø´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="hostmatching" id="hostmatching">°¡»óÈ£½ºÆ® ã±â</a></h2>
    +
    +    <p>¼­¹ö´Â ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ¾î¶² °¡»óÈ£½ºÆ®°¡ ¿äûÀ»
    +    ó¸®ÇÒÁö °áÁ¤ÇÑ´Ù:</p>
    +
    +    <h3><a name="hashtable" id="hashtable">Çؽ¬Å×À̺í ã±â</a></h3>
    +
    +    <p>Ŭ¶óÀ̾ðÆ®°¡ óÀ½ ¿¬°áÇÏ¸é ¿¬°áÇÑ IP ÁÖ¼Ò¸¦ ³»ºÎ IP
    +    Çؽ¬Å×ÀÌºí¿¡¼­ ã´Â´Ù.</p>
    +
    +    <p>IP ÁÖ¼Ò¸¦ ãÀ» ¼ö ¾ø°í Ŭ¶óÀ̾ðÆ®°¡ ¿äûÀ» º¸³½ Æ÷Æ®¿¡
    +    ÇØ´çÇÏ´Â °¡»óÈ£½ºÆ®°¡ ÀÖ´Ù¸é, <code>_default_</code> °¡»óÈ£½ºÆ®°¡
    +    ¿äûÀ» ¼­ºñ½ºÇÑ´Ù. <code>_default_</code> °¡»óÈ£½ºÆ®°¡
    +    ¾ø´Ù¸é ÁÖ¼­¹ö°¡ ¿äûÀ» ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    <p>Çؽ¬Å×ÀÌºí¿¡ IP ÁÖ¼Ò°¡ ¾øÁö¸¸ Æ÷Æ® ¹øÈ£°¡
    +    <code>NameVirtualHost *</code>¿¡ ÇØ´çÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì
    +    À̸§±â¹Ý °¡»óÈ£½ºÆ®Ã³·³ ó¸®ÇÑ´Ù.</p>
    +
    +    <p>ã¾Ò´Ù¸é (¸ñ·Ï¿¡¼­ IP ÁÖ¼Ò¿¡ ÇØ´çÇÏ´Â Ç׸ñÀ» ãÀ¸¸é),
    +    IP±â¹Ý °¡»óÈ£½ºÆ®ÀÎÁö À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÎÁö °áÁ¤ÇÑ´Ù.</p>
    +
    +    
    +
    +    <h3><a name="ipbased" id="ipbased">IP±â¹Ý °¡»óÈ£½ºÆ®</a></h3>
    +
    +    <p>ãÀº Ç׸ñ¿¡ À̸§ ¸ñ·ÏÀÌ ¾ø´Ù¸é IP±â¹Ý °¡»óÈ£½ºÆ®ÀÌ´Ù.
    +    ´õ ÀÌ»ó ÀÛ¾÷ÀÌ ÇÊ¿ä¾ø°í, ±× °¡»óÈ£½ºÆ®°¡ ¿äûÀ» ó¸®ÇÑ´Ù.</p>
    +
    +    
    +
    +    <h3><a name="namebased" id="namebased">À̸§±â¹Ý °¡»óÈ£½ºÆ®</a></h3>
    +
    +    <p>À̸§ ¸ñ·Ï¿¡ ÇÑ°³ ÀÌ»óÀÇ °¡»óÈ£½ºÆ® ±¸Á¶°¡ Æ÷ÇԵǸé
    +    À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÌ´Ù. ÀÌ ¸ñ·Ï¿¡¼­ °¡»óÈ£½ºÆ®µéÀº ¼³Á¤ÆÄÀÏÀÇ
    +    <code>VirtualHost</code> ¼ø¼­´ë·Î À§Ä¡ÇÑ´Ù.</p>
    +
    +    <p>¸ñ·Ï¿¡¼­ ù¹ø° °¡»óÈ£½ºÆ®(¼³Á¤ÆÄÀÏ¿¡¼­ ÇØ´ç IP ÁÖ¼Ò¸¦
    +    Æ÷ÇÔÇϴ ù¹ø° °¡»óÈ£½ºÆ®)´Â °¡Àå ³ôÀº ¿ì¼±¼øÀ§¸¦ °¡Áö¸ç,
    +    ¼­¹ö¸íÀ» ¾Ë ¼ö ¾ø°Å³ª <code>Host:</code> Çì´õ°¡ ¾ø´Â ¿äûÀ»
    +    ó¸®ÇÑ´Ù.</p>
    +
    +    <p>Ŭ¶óÀ̾ðÆ®°¡ <code>Host:</code> Çì´õ¸¦ ÁÖ¸é, ¸ñ·Ï¿¡¼­
    +    ù¹ø°·Î <code>ServerName</code>À̳ª
    +    <code>ServerAlias</code>°¡ ´ëÀÀÇÏ´Â °¡»óÈ£½ºÆ®°¡ ¿äûÀ»
    +    ¼­ºñ½ºÇÑ´Ù. <code>Host:</code> Çì´õ¿¡ Æ÷Æ® ¹øÈ£°¡ ³ª¿Ã ¼ö
    +    ÀÖÁö¸¸, ¾ÆÆÄÄ¡´Â Ç×»ó Ŭ¶óÀ̾ðÆ®°¡ ¿äûÀ» º¸³½ ½ÇÁ¦ Æ÷Æ®¸¦
    +    ã´Â´Ù.</p>
    +
    +    <p>Ŭ¶óÀ̾ðÆ®°¡ <code>Host:</code> Çì´õ¾øÀÌ HTTP/1.0 ¿äûÀ»
    +    Çϸé Ŭ¶óÀ̾ðÆ®°¡ ¾î¶² ¼­¹ö¿¡ ¿¬°áÇÏ·Á´ÂÁö ¾Ë ¼ö ¾ø±â¶§¹®¿¡
    +    ¿äûÀÇ URI¿¡ ÇØ´çÇÏ´Â <code>ServerPath</code>°¡ ÀÖ´ÂÁö ã´Â´Ù.
    +    ¸ñ·Ï¿¡¼­ Á¦ÀÏ ¸ÕÀú ãÀº °æ·Î¸¦ »ç¿ëÇÏ°í, ±× °¡»óÈ£½ºÆ®°¡
    +    ¿äûÀ» ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    <p>´ëÀÀÇÏ´Â °¡»óÈ£½ºÆ®¸¦ ãÀ» ¼ö ¾ø´Ù¸é, (ÀÌ¹Ì ¾Õ¿¡ ¸»ÇßµíÀÌ)
    +    Ŭ¶óÀ̾ðÆ®°¡ ¿¬°áÇÑ IP¿¡ ´ëÇÑ ¸ñ·Ï¿¡¼­ ÀÏÄ¡ÇÏ´Â Æ÷Æ® ¹øÈ£¸¦
    +    Æ÷ÇÔÇϴ ù¹ø° °¡»óÈ£½ºÆ®°¡ ¿äûÀ» ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    
    +
    +    <h3><a name="persistent" id="persistent">Áö¼Ó ¿¬°á</a></h3>
    +
    +    <p>IP´Â À§¿¡¼­ ¼³¸íÇѵ¥·Î ƯÁ¤ TCP/IP ¼¼¼Ç´ç <em>Çѹø¸¸</em>
    +    ãÁö¸¸, À̸§Àº KeepAlive/Áö¼Ó ¿¬°áµ¿¾È <em>¸Å</em> ¿äû¶§¸¶´Ù
    +    ã´Â´Ù. Áï, Ŭ¶óÀ̾ðÆ®´Â Áö¼Ó ¿¬°áµ¿¾È ¿©·¯ À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®ÀÇ ÆäÀÌÁö¸¦ ¿äûÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    
    +
    +    <h3><a name="absoluteURI" id="absoluteURI">Àý´ë URI</a></h3>
    +
    +    <p>¿äûÀÇ URI°¡ Àý´ë URIÀÌ°í Ŭ¶óÀ̾ðÆ®°¡ º¸³½ ¿äûÀÇ
    +    È£½ºÆ®¸í°ú Æ÷Æ®°¡ ÁÖ¼­¹ö³ª ƯÁ¤ °¡»óÈ£½ºÆ®¿¡ ÇØ´çÇϸé,
    +    ±× ÁÖ¼­¹ö ȤÀº °¡»óÈ£½ºÆ®´Â URI ¾ÕÀÇ ½ºÅ´/È£½ºÆ®¸í/Æ÷Æ®
    +    ºÎºÐÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö »ó´ë URI¸¦ ¼­ºñ½ºÇÑ´Ù. ÇØ´çÇÏ´Â
    +    ÁÖ¼­¹ö³ª °¡»óÈ£½ºÆ®°¡ ¾ø´Ù¸é URI¸¦ ±×´ë·Î µÎ°í ¿äûÀ»
    +    ÇÁ·Ï½Ã ¿äûÀ¸·Î ó¸®ÇÑ´Ù.</p>
    +
    +
    +<h3><a name="observations" id="observations">ÁÖÀÇ</a></h3>
    +
    +    <ul>
    +      <li>À̸§±â¹Ý °¡»óÈ£½ºÆ®¿Í IP±â¹Ý °¡»óÈ£½ºÆ®´Â ¼­·Î¿¡°Ô
    +     ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù. IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ÀÚ½ÅÀÇ À̸§ÁýÇÕ
    +     IP ÁÖ¼Ò¿Ü¿¡ ¾î¶² Áּҷεµ Á¢±ÙÇÒ ¼ö ¾ø´Ù. À̸§±â¹Ý
    +     °¡»óÈ£½ºÆ®µµ ¸¶Âù°¡Áö´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®´Â
    +     <code>NameVirtualHost</code> Áö½Ã¾î·Î Á¤ÀÇÇÑ ÁÖ¼ÒÁýÇÕÀÇ
    +     IP ÁÖ¼Ò¸¦ ÅëÇؼ­¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.</li>
    +
    +      <li>IP±â¹Ý °¡»óÈ£½ºÆ®´Â <code>ServerAlias</code>¿Í
    +      <code>ServerPath</code>¸¦ Àý´ë·Î °Ë»çÇÏÁö ¾Ê´Â´Ù.</li>
    +
    +      <li>¼³Á¤ÆÄÀÏ¿¡¼­ À̸§±â¹Ý °¡»óÈ£½ºÆ®, IP±â¹Ý °¡»óÈ£½ºÆ®,
    +      <code>_default_</code> °¡»óÈ£½ºÆ®, <code>NameVirtualHost</code>
    +      Áö½Ã¾îÀÇ ¼ø¼­´Â Áß¿äÇÏÁö ¾Ê´Ù. ƯÁ¤ ÁÖ¼ÒÁýÇÕ¿¡ ´ëÇÑ
    +      À̸§±â¹Ý °¡»óÈ£½ºÆ®µéÀÇ ¼ø¼­¸¸ÀÌ Áß¿äÇÏ´Ù. ¼³Á¤ÆÄÀÏ¿¡¼­
    +      ¾Õ¿¡ ³ª¿À´Â À̸§±â¹Ý °¡»óÈ£½ºÆ®´Â ÀÚ½ÅÀÌ ¼ÓÇÑ ÁÖ¼ÒÁýÇÕ¿¡¼­
    +      °¡Àå ³ôÀº ¿ì¼±¼øÀ§¸¦ °¡Áø´Ù.</li>
    +
    +      <li>º¸¾ÈÀ» À§ÇØ <code>Host:</code> Çì´õ¿¡ Æ÷ÇÔµÈ Æ÷Æ®
    +      ¹øÈ£´Â Àý´ë·Î »ç¿ëÇÏÁö ¾Ê´Â´Ù. ¾ÆÆÄÄ¡´Â Ç×»ó Ŭ¶óÀ̾ðÆ®°¡
    +      ¿äûÀ» º¸³½ ½ÇÁ¦ Æ÷Æ®¸¦ »ç¿ëÇÑ´Ù.</li>
    +
    +      <li>(µÑ »çÀ̸¦ ±¸º°ÇÒ <code>Host:</code> Çì´õ°¡ ¾ø´Ù°í
    +      °¡Á¤Çϸé,) <code>ServerPath</code> Áö½Ã¾î°¡ ¼³Á¤ÆÄÀÏ¿¡¼­
    +      µÚ¿¡ ³ª¿À´Â ´Ù¸¥ <code>ServerPath</code> Áö½Ã¾îÀÇ ¾ÕºÎºÐÀ»
    +      ÁöĪÇÏ´Â °æ¿ì Ç×»ó ¾Õ¿¡ ³ª¿Â Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù.</li>
    +
    +      <li>µÎ IP±â¹Ý °¡»óÈ£½ºÆ®°¡ °°Àº ÁÖ¼Ò¸¦ °¡Áö¸é, Ç×»ó
    +      ¼³Á¤ÆÄÀÏ¿¡¼­ ¾Õ¿¡ ³ª¿À´Â °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÑ´Ù. ÀÌ·± ÀÏÀº
    +      ¾Æ¹«µµ ¸ð¸£°Ô ÀϾ ¼ö ÀÖ´Ù. ¼­¹ö°¡ ÀÌ·± »óȲÀ» ¹ß°ßÇϸé
    +      ¿À·ù ·Î±×ÆÄÀÏ¿¡ °æ°í¸¦ ±â·ÏÇÑ´Ù.</li>
    +
    +      <li><code>_default_</code> °¡»óÈ£½ºÆ®´Â ¿äûÀÇ IP ÁÖ¼Ò<em>¿Í</em>
    +      Æ÷Æ® ¹øÈ£¿¡ ÇØ´çÇÏ´Â °¡»óÈ£½ºÆ®°¡ ¾øÀ»¶§¸¸ ¿äûÀ» ó¸®ÇÑ´Ù.
    +      Ŭ¶óÀ̾ðÆ®°¡ ¿äûÀ» º¸³½ Æ÷Æ® ¹øÈ£°¡ <code>_default_</code>
    +      °¡»óÈ£½ºÆ®ÀÇ Æ÷Æ® ¹øÈ£(±âº»°ªÀº <code>Listen</code>)¿Í
    +      °°À»¶§¸¸ ¿äûÀ» ó¸®ÇÑ´Ù. ¾î¶² Æ÷Æ®ÀÇ ¿äûÀÌ¶óµµ Àâ±âÀ§ÇØ
    +      (<em>¿¹¸¦ µé¾î</em>, <code>_default_:*</code>) ¿ÍÀϵåÄ«µå
    +      Æ÷Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <code>NameVirtualHost *</code>
    +      °¡»óÈ£½ºÆ®µµ ¸¶Âù°¡Áö´Ù.</li>
    +
    +      <li>ÁÖ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®°¡ ¿¬°áÇÑ IP ÁÖ¼Ò¿Í Æ÷Æ® ¹øÈ£¿¡
    +      ÇØ´çÇÏ´Â (<code>_default_</code> °¡»óÈ£½ºÆ®¸¦ Æ÷ÇÔÇÏ¿©)
    +      °¡»óÈ£½ºÆ®°¡ ¾øÀ»¶§¸¸ ¿äûÀ» ¼­ºñ½ºÇÑ´Ù. Áï, ÁÖ¼­¹ö´Â
    +      (±× Æ÷Æ®¿¡ ÇØ´çÇÏ´Â <code>_default_</code> °¡»óÈ£½ºÆ®°¡
    +      ¾ø´Ù¸é) ÁöÁ¤ÇÏÁö¾ÊÀº ÁÖ¼Ò/Æ÷Æ® ½Ö¿¡ ´ëÇÑ ¿äû¸¸À» ó¸®ÇÑ´Ù.</li>
    +
    +      <li>Ŭ¶óÀ̾ðÆ®°¡ (<em>¿¹¸¦ µé¾î</em>, <code>NameVirtualHost</code>
    +      Áö½Ã¾î¿¡¼­) À̸§±â¹Ý °¡»óÈ£½ºÆ® ÁÖ¼Ò(¿Í Æ÷Æ®)¿¡ ¿¬°áÇÑ
    +      °æ¿ì <code>Host:</code> Çì´õ¸¦ ¾Ë ¼ö ¾ø°Å³ª Çì´õ°¡ ¾ø´Â
    +      ¿äûÀ» º¸³»¸é ¿äûÀº <em>Àý´ë·Î</em> <code>_default_</code>
    +      °¡»óÈ£½ºÆ®³ª ÁÖ¼­¹ö¿¡¼­ ó¸®ÇÏÁö ¾Ê´Â´Ù.</li>
    +
    +      <li>½ÃÀÛÇÒ¶§ ¼­¹ö°¡ DNS¸¦ ÀÇÁ¸ÇÏÁö ¾ÊÀ¸·Á¸é Àý´ë·Î
    +      <code>VirtualHost</code> Áö½Ã¾î¿¡ DNS À̸§À» »ç¿ëÇÏÁö¸¶¶ó.
    +      °Ô´Ù°¡ ¿­°ÅÇÑ ¸ðµç µµ¸ÞÀÎÀÇ DNS¸¦ ÅëÁ¦ÇÏÁö ¾Ê´Â´Ù¸é
    +      º¸¾È»ó À§Çèµµ ÀÖ´Ù. ÀÌ¿¡ ´ëÇÑ <a href="../dns-caveats.html">Á¤º¸</a>°¡ ÀÖ´Ù.</li>
    +
    +      <li>°¢ °¡»óÈ£½ºÆ®¸¶´Ù <code>ServerName</code>¸¦ Ç×»ó
    +      Á¤ÀÇÇØ¾ß ÇÑ´Ù. ¾È±×·¯¸é °¡»óÈ£½ºÆ®¸¶´Ù DNS¸¦ ã°Ô µÈ´Ù.</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="tips" id="tips">ÆÁ</a></h2>
    +
    +    <p><a href="../dns-caveats.html#tips">DNS ¹®Á¦</a> ÆäÀÌÁöÀÇ
    +    ÆÁ¿¡ Ãß°¡·Î ¾Æ·¡¿¡ ÆÁÀÌ ÀÖ´Ù:</p>
    +
    +    <ul>
    +      <li>¸ðµç ÁÖ¼­¹ö Á¤ÀǸ¦ <code>VirtualHost</code> Á¤ÀÇ ¾Õ¿¡
    +      µÎ¾î¶ó. (±×·¯¸é ¼³Á¤À» Àбâ ÆíÇÏ´Ù. ¾È±×·¯¸é ³ªÁß¿¡ ¼³Á¤ÀÌ
    +      ÇÕÃÄÁú¶§ °¡»óÈ£½ºÆ®µé »çÀÌ¿¡ ¼¯ÀÎ Á¤ÀÇ°¡ ¸ðµç °¡»óÈ£½ºÆ®¿¡
    +      ¿µÇâÀ» ÁÙ ¼ö Àֱ⶧¹®¿¡ È¥¶õ½º·´´Ù.)</li>
    +
    +      <li>Àбâ ÆíÇϵµ·Ï ¼³Á¤¿¡¼­ ÇØ´çÇÏ´Â <code>NameVirtualHost</code>°ú
    +      <code>VirtualHost</code> Á¤ÀǵéÀ» ¹­¾î¶ó.</li>
    +
    +      <li><code>ServerPath</code>°¡ ´Ù¸¥ <code>ServerPath</code>ÀÇ
    +      ¾ÕºÎºÐÀ» ÁöĪÇÏ´Â °æ¿ì¸¦ ÇÇÇ϶ó. ÇÇÇÒ ¼ö ¾ø´Ù¸é ¼³Á¤ÆÄÀÏ¿¡¼­
    +      ¾ÕºÎºÐÀÌ ´õ ±ä (´õ ÀÚ¼¼ÇÑ) °¡»óÈ£½ºÆ®¸¦ ªÀº (´ú ÀÚ¼¼ÇÑ)
    +      °¡»óÈ£½ºÆ®º¸´Ù ¾Õ¿¡ µÎ¾î¶ó. (<em>¿¹¸¦ µé¾î</em>,
    +      "ServerPath /abc"´Â "ServerPath /abc/def" ´ÙÀ½¿¡ µÎ¾î¾ß
    +      ÇÑ´Ù.</li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/details.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/details.html.tr.utf8 b/docs/manual/vhosts/details.html.tr.utf8
    new file mode 100644
    index 0000000..ef4297d
    --- /dev/null
    +++ b/docs/manual/vhosts/details.html.tr.utf8
    @@ -0,0 +1,319 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Sanal Konak Eşlemenin Derinliğine İncelenmesi - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Sanal Konak Eşlemenin Derinliğine İncelenmesi</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Bu belgede, bir istek aldığında Apache’nin hangi sanal konak
    +      ile hizmet sunacağına nasıl karar verdiği açıklanmaya çalışılmıştır.</p>
    +
    +    <p>Çoğu kullanıcı hangi türü kullanacağına karar vermek için önce <a href="name-based.html#namevip">İsme dayalı ve IP’ye dayalı Sanal
    +      Konak</a> bölümünü, sonra <a href="name-based.html">İsme Dayalı Sanal
    +      Konak Desteği</a> veya <a href="ip-based.html">IP’ye Dayalı Sanal Konak
    +      Desteği</a> belgesini okumalı ve <a href="examples.html">bazı
    +      örneklere</a> göz atmalıdır.</p>
    +
    +    <p>Bunlardan sonra tüm ayrıntıları anlamak isterseniz tekrar bu sayfaya
    +      gelebilirsiniz.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Yapılandırma Dosyası</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Sanal Konağın Belirlenmesi</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#tips">İpuçları</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="ip-based.html">IP’ye Dayalı Sanal Konak Desteği</a></li><li><a href="name-based.html">İsme Dayalı Sanal Konak Desteği</a></li><li><a href="examples.html">Çok Kullanılan Sanal Konak Örnekleri</a></li><li><a href="mass.html">Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma</a></li><li><a href="#comments_section">Yorumlar</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="configparsing" id="configparsing">Yapılandırma Dosyası</a></h2>
    +
    +    <p>Bu belgede <code>&lt;VirtualHost&gt;</code> bölümleri dışında kalan
    +      tanımlardan bahsederken <em>ana_sunucu</em> diyeceğiz.</p>
    +
    +    <p><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +      bölümlerindeki tanımlamalardan bahsederken <em>sankonlar</em>
    +      diyeceÄŸiz.</p>
    +
    +    <p>Her <code>VirtualHost</code> bölümü en az bir adres ve isteğe bağlı
    +      portlar içerir.</p>
    +
    +    <p>Sanal konak tanımlarının içindeki IP adreslerinin yerine konak isimleri
    +      kullanılabilir, fakat bunlar başlatma sırasında çözümleneceklerinden
    +      çözümlemedeki bir başarısızlık bu sanal konak tanımlarının yoksayılması
    +      ile sonuçlanacaktır. Bu bakımdan önerilmez.</p>
    +
    +    <p><code>VirtualHost</code> yönergesinde görünen her adresin seçimlik bir
    +      portu olabilir. EÄŸer bir port belirtilmemiÅŸse, port olarak <code>*</code>
    +      belirtilmiş gibi bütün portlar dinlenir.</p>
    +
    +    <p>(<code>VirtualHost</code> yönergesinde belirtilen port numaraları Apache
    +      httpd'nin dinleyeceği port numaraları olarak yorumlanmaz, sadece bir
    +      isteği işleme sokarken hangi <code>VirtualHost</code> bölümünün
    +      seçileceğini belirlerler. Sunucunun dinleyeceği adresleri ve portları
    +      belirtmek için <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>
    +      yönergesini kullanın.)</p>
    +
    +    <p>Adreslerin tamamını (DNS sorgularındaki çoklu sonuçlar dahil) içeren
    +      kümeye <em>sankonların adres kümesi</em> denir.</p>
    +
    +    <p>Apache httpd, bir IP adresi ve port birleşimi için en belirgin
    +      eşleşmelerin listelendiği çok sayıdaki sanal konak arasında ayırdedici
    +      olarak istemci tarafından sağlanan HTTP <code>Host</code> başlığını
    +      kullanır.</p>
    +
    +    <p><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesi sunucu
    +      tanımının içinde herhangi bir yerde görünebilirse de her göründüğü yerde
    +      bir öncekini iptal eder. Hiç <code>ServerName</code> belirtilmemişse,
    +      Apache httpd, sunucu ismini sunucunun IP adresinden saptamaya
    +      çalışır.</p>
    +
    +    <p>Belli bir IP adresi ve port çifti için yapılandırma dosyasındaki ilk
    +      isme dayalı sankon önemlidir, çünkü başka hiçbir sankonun ServerName veya
    +      ServerAlias yönergesi ile eşleşmeyen bu adres ve port çifti için alınmış
    +      tüm isteklerde bu sankon kullanılır. Ayrıca, sunucunun <a class="glossarylink" href="../glossary.html#servernameindication" title="sözlüğe bakınız">Sunucu İsmi Belirtimi</a>ni
    +      desteklemediği durumlarda tüm SSL bağlantıları için bu sankon
    +      kullanılır.</p>
    +
    +    <p><code>VirtualHost</code> içindeki isimlerin sırası (jokersiz) bir
    +      <code>ServerAlias</code> gibi ele alınır (fakat hiçbir
    +      <code>ServerAlias</code> yönergesi ile geçersiz kılınmaz).</p>
    +
    +    <p>Her sankon için bazı değerler öntanımlı olarak atanır. Bunların
    +      başlıcaları:</p>
    +
    +    <ol>
    +      <li>Sankon bir <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>
    +        yönergesi içermiyorsa,
    +        <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
    +        <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
    +        <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
    +        <code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
    +        <code class="directive"><a href="../mod/mpm_common.html#receivebuffersize">ReceiveBufferSize</a></code> ve
    +        <code class="directive"><a href="../mod/mpm_common.html#sendbuffersize">SendBufferSize</a></code> yönergeleri için
    +        öntanımlı değerler ana_sunucudaki eşdeğerlerinden miras alınır. (Yani,
    +        bu yönergeler için ana_sunucudaki son değerler miras alınır.)</li>
    +
    +      <li>Sankon için öntanımlı dizin erişim izinlerinin tanımlandığı "arama
    +        öntanımlıları" ana_sunucununkilere katılır. Buna her modülün dizinlere
    +        özgü yapılandırma bilgileri dahildir.</li>
    +
    +      <li>Her modülün ana_sunucudaki sunuculara özgü yapılandırmaları sankon
    +        sunucusununkilerle katıştırılır.</li>
    +    </ol>
    +
    +    <p>Esasen, ana_sunucu, sankon sunucularını oluştururken bir öntanımlılar
    +      listesi veya öntanımlı değerlere dayanak noktası olarak ele alınır.
    +      Fakat bu ana_sunucu tanımlarının yapılandırma dosyasındaki yerlerinin
    +      saptanmasının konumuzla ilgisi yoktur; ana_sunucu yapılandırmasının
    +      tamamı son katıştırma yapılacağı zaman çözümlenir. Bu bakımdan,
    +      ana_sunucu tanımlarından bir kısmı sankon tanımlarından sonra yer alsa
    +      bile sankon tanımlarında etkili olabilir.</p>
    +
    +    <p>Eğer, bu noktada ana_sunucu hiçbir <code>ServerName</code> satırı
    +      içermiyorsa <code class="program"><a href="../programs/httpd.html">httpd</a></code> programının çalıştığı makinenin
    +      konak ismi öntanımlıdır. Ana_sunucunun <code>ServerName</code> için
    +      yaptığı DNS sorgusundan dönen IP adreslerine <em>ana_sunucu adres
    +      kümesi</em> diyoruz.</p>
    +
    +    <p>Tanımsız <code>ServerName</code> alanları için bir isme dayalı sankon,
    +      sankonu tanımlayan <code>VirtualHost</code> yönergesinde belirtilen ilk
    +      adresi öntanımlı değer kabul eder.</p>
    +
    +    <p>Sihirli <code>_default_</code> sankonları için ana_sunucunun
    +      <code>ServerName</code> değeri kullanılır.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="hostmatching" id="hostmatching">Sanal Konağın Belirlenmesi</a></h2>
    +
    +    <p>Sunucu bir istek durumunda hangi sankonun kullanılacağını şöyle
    +      belirler:</p>
    +
    +    <h3><a name="hashtable" id="hashtable">IP adresi aranır</a></h3>
    +
    +    <p>Bir adres ve port için bağlantı ilk alındığında Apache httpd tüm
    +      <code>VirtualHost</code> tanımlarında bu çifti arar.</p>
    +
    +    <p>Arama başarısız olursa <code>*</code> (herşey) eşleşmelerine
    +      bakılır.</p>
    +
    +    <p>Bir eÅŸleÅŸme bulunamazsa hizmet ana sunucudan sunulur.</p>
    +
    +    <p>Arama sonucunda bu IP adresi için bulunmuş <code>VirtualHost</code>
    +      tanımları varsa sonraki adım hizmetin bir IP’ye dayalı sankondan mı yoksa
    +      isme dayalı bir sankondan mı sunulacağına karar vermektir.</p>
    +
    +    
    +
    +    <h3><a name="ipbased" id="ipbased">IP’ye dayalı sankon</a></h3>
    +
    +    <p>Eğer en iyi eşleşme olarak saptanmış IP adresi ve port çiftini içeren
    +      sadece bir <code>VirtualHost</code> yönergesi varsa artık karar vermek
    +      için başka bir şey yapmaya gerek yoktur ve istek bu sankondan
    +      sunulur.</p>
    +
    +    
    +
    +    <h3><a name="namebased" id="namebased">İsme dayalı sankon</a></h3>
    +
    +    <p>Eğer en iyi eşleşme olarak saptanmış IP adresi ve port çiftini içeren
    +      birden fazla <code>VirtualHost</code> yönergesi varsa, sonraki
    +      adımlardaki "liste" eşleşen sankonların listesi olup sankonlar listede
    +      yapılandırma dosyasındaki yerlerine göre sıralanırlar.</p>
    +
    +    <p>Bağlantı SSL kullanıyorsa, sunucunun <a class="glossarylink" href="../glossary.html#servernameindication" title="sözlüğe bakınız">Sunucu İsmi Belirtimi</a>ni
    +      desteklediği durumlarda SSL istemci uzlaşımı, istenen konak ismiyle
    +      birlikte TLS eklentisini de içeriyorsa, konak ismi, SSL olmayan
    +      bağlantılardaki <code>Host:</code> başlığı kullanımına benzer şekilde
    +      aşağıdaki gibi kullanılır. Aksi takdirde, SSL bağlantıları için adresin
    +      eşleştiği ilk isme dayalı sankon kullanılır. Sunucunun bağlantı için
    +      hangi sertifikayı kullanacağını sankon belirlediği için bu önemlidir.</p>
    +
    +    <p>İstek bir <code>Host:</code> başlık alanı içeriyorsa, listede
    +      <code>ServerName</code> veya <code>ServerAlias</code> alanı başlık alanı
    +      ile eşleşen ilk sankona bakılır. <code>Host:</code> alanı bir port
    +      içerebilirse de Apache httpd bunu yoksayarak daima istemcinin isteği
    +      gönderdiği portu gerçek port kabul eder.</p>
    +
    +    <p>Yapılandırma dosyasındaki belirtilen IP adresiyle eşleşen ilk sankon en
    +      yüksek önceliğe sahiptir ve sunucu ismi bilinmeyen ve (bir HTTP/1.0
    +      isteği gibi) <code>Host:</code> başlık alanı içermeyen istekleri de
    +      yakalar.</p>
    +
    +    
    +
    +    <h3><a name="persistent" id="persistent">Kalıcı bağlantılar</a></h3>
    +
    +    <p>Yukarıda açıklanan <em>IP araması</em> belli bir TCP/IP oturumunda
    +      <em>bir</em> defaya mahsus yapıldığı halde bir kalıcı/KeepAlive bağlantı
    +      sırasında <em>her</em> istek için ayrı bir <em>arama</em> yapılır. Başka
    +      bir deyişle, bir istemci tek bir kalıcı bağlantı üzerinde farklı isme
    +      dayalı sankonlardan sayfa talebinde bulunabilir.</p>
    +
    +    
    +
    +    <h3><a name="absoluteURI" id="absoluteURI">Mutlak URI</a></h3>
    +
    +    <p>Eğer istekte belirtilen URI bir mutlak URI ise ve istek yapılan konak
    +      ismi ve port ana sunucuyla veya sankonlardan biriyle eÅŸleÅŸiyorsa,
    +      şema/konakadı/port öneki ayrılır ve elde edilen göreli URI ilgili
    +      sankondan veya ana sunucudan sunulur. EÄŸer bir eÅŸleÅŸme saÄŸlanamazsa
    +      URI’ye dokunulmaz ve istek bir vekil isteği olarak ele alınır.</p>
    +
    +
    +<h3><a name="observations" id="observations">Ä°zlenimler</a></h3>
    +
    +    <ul>
    +      <li>İsme dayalı sanal konak işlemleri, sunucunun en iyi eşleşen IP'ye
    +        dayalı sanal konağı seçmesinin ardından uygulanır.</li>
    +
    +      <li>İstemcinin hangi IP adresine bağlandığını umursamıyorsanız, sanal
    +        konaklarınızda adres olarak "*" kullanın, böylece yapılandırılmış
    +        sankonların hepsine isme dayalı sanal konak işlemleri uygulanır.</li>
    +
    +      <li>Bir IP’ye dayalı sankon için asla <code>ServerAlias</code> ve
    +        <code>ServerPath</code> değerine bakılmaz.</li>
    +
    +      <li>Sıralama sadece aynı IP adresine sahip isme dayalı sankonlar arasında
    +        önemlidir. Aynı adres kümesine mensup isme dayalı sankonlardan
    +        yapılandırma dosyasında ilk sırada yer alanı en yüksek önceliğe
    +        sahiptir.</li>
    +
    +      <li>Eşleştirme işlemi sırasında <code>Host:</code>
    +        başlık alanında belirtilen port asla kullanılmaz. Apache httpd daima
    +        istemcinin isteği gönderdiği gerçek portu kullanır.</li>
    +
    +      <li>Eğer aynı IP adresine sahip IP’ye dayalı iki sankon varsa, bunlara
    +        örtük olarak isme dayalı sanal konak işlemleri uygulanır. 2.3.11
    +        sürümünden beri yeni davranış şekli budur.</li>
    +
    +      <li>Ana_sunucunun bir isteğe hizmet sunabilmesi için istemcinin
    +        bağlandığı IP adresi ve port hiçbir yerde belirtilmemiş ve
    +        hiçbir sankon ile eşleşme sağlanamamış olmalıdır. Başka bir deyişle,
    +        istemcinin bağlandığı port ile eşleşen bir <code>_default_</code>
    +        sankon olmadıkça adres ve port belirtmeyen bir isteğe ana_sunucu yanıt
    +        verecektir.</li>
    +
    +      <li><code>VirtualHost</code> yönergelerinde asla DNS isimleri
    +        belirtmemelisiniz. Aksi takdirde sunucuyu başlatma sırasında DNS
    +        sorgusu yapmaya zorlamış olursunuz. Listelenen tüm alanlar için DNS
    +        üzerinde tam denetime sahip değilseniz bu ayrıca bir güvenlik
    +        tehdidine yol açar. Bu konuda daha ayrıntılı bilgi edinmek için <a href="../dns-caveats.html">DNS ile ilgili konular ve Apache</a>
    +        belgesine bakınız.</li>
    +
    +      <li><code>ServerName</code> her sankon için ayrı ayrı belirlenmiş
    +        olmalıdır. Aksi takdirde her sankon için bir DNS sorgusu gerekir.</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="tips" id="tips">İpuçları</a></h2>
    +
    +    <p><a href="../dns-caveats.html#tips">DNS konuları</a> sayfasındaki
    +      ipuçlarına ilaveten burada da bazı ipuçları bulacaksınız:</p>
    +
    +    <ul>
    +      <li>Ana sunucu tanımlarının hepsini <code>VirtualHost</code>
    +        tanımlarının öncesinde bitirin. Bu ayrıca yapılandırmanızın
    +        okunabilirliğini de arttırır; <code>VirtualHost</code> tanımlarının
    +        sonrasına sarkan yapılandırmaların katıştırılması işlemi tüm sanal
    +        konakları etkileyebilen tanımlar bakımından bir
    +        karışıklığa/belirsizliğe sebep olabilir.)</li>
    +    </ul>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/details.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/details.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/examples.html b/docs/manual/vhosts/examples.html
    new file mode 100644
    index 0000000..73b5188
    --- /dev/null
    +++ b/docs/manual/vhosts/examples.html
    @@ -0,0 +1,21 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: examples.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: examples.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: examples.html.ja.utf8
    +Content-Language: ja
    +Content-type: text/html; charset=UTF-8
    +
    +URI: examples.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: examples.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/vhosts/examples.html.en b/docs/manual/vhosts/examples.html.en
    new file mode 100644
    index 0000000..6c4f333
    --- /dev/null
    +++ b/docs/manual/vhosts/examples.html.en
    @@ -0,0 +1,566 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>VirtualHost Examples - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>VirtualHost Examples</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/examples.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>This document attempts to answer the commonly-asked questions about
    +    setting up <a href="index.html">virtual hosts</a>. These scenarios are those involving multiple
    +    web sites running on a single server, via <a href="name-based.html">name-based</a> or <a href="ip-based.html">IP-based</a> virtual hosts.
    +    </p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Running several name-based web
    +    sites on a single IP address.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#twoips">Name-based hosts on more than one
    +    IP address.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Serving the same content on
    +    different IP addresses (such as an internal and external
    +    address).</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#port">Running different sites on different
    +    ports.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ip">IP-based virtual hosting</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipport">Mixed port-based and ip-based virtual
    +  hosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#mixed">Mixed name-based and IP-based
    +    vhosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Using <code>Virtual_host</code> and
    +    mod_proxy together</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#default">Using <code>_default_</code>
    +    vhosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#migrate">Migrating a name-based vhost to an
    +    IP-based vhost</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">Using the <code>ServerPath</code>
    +  directive</a></li>
    +</ul><h3>See also</h3><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="purename" id="purename">Running several name-based web
    +    sites on a single IP address.</a></h2>
    +
    +    <p>Your server has multiple hostnames that resolve to a single address,
    +    and you want to respond differently for <code>www.example.com</code>
    +    and <code>www.example.org</code>.</p>
    +
    +    <div class="note"><h3>Note</h3><p>Creating virtual
    +          host configurations on your Apache server does not magically
    +          cause DNS entries to be created for those host names. You
    +          <em>must</em> have the names in DNS, resolving to your IP
    +          address, or nobody else will be able to see your web site. You
    +          can put entries in your <code>hosts</code> file for local
    +          testing, but that will work only from the machine with those
    +          <code>hosts</code> entries.</p>
    +    </div>
    +
    +    <pre class="prettyprint lang-config"># Ensure that Apache listens on port 80
    +Listen 80
    +&lt;VirtualHost *:80&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +
    +    # Other directives here
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost *:80&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +
    +    # Other directives here
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>The asterisks match all addresses, so the main server serves no
    +    requests. Due to the fact that the virtual host with
    +    <code>ServerName www.example.com</code> is first
    +    in the configuration file, it has the highest priority and can be seen
    +    as the <cite>default</cite> or <cite>primary</cite> server. That means
    +    that if a request is received that does not match one of the specified
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> directives, it will be served by this first
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
    +
    +    <p>The above configuration is what you will want to use in almost
    +    all name-based virtual hosting situations. The only thing that this
    +    configuration will not work for, in fact, is when you are serving
    +    different content based on differing IP addresses or ports.</p>
    +
    +    <div class="note">
    +            <h3>Note</h3>
    +
    +           <p>You may replace <code>*</code> with a specific IP address
    +           on the system.  Such virtual hosts will only be used for
    +           HTTP requests received on connection to the specified IP
    +           address.</p>
    +
    +           <p>However, it is additionally useful to use <code>*</code>
    +           on systems where the IP address is not predictable - for
    +           example if you have a dynamic IP address with your ISP, and
    +           you are using some variety of dynamic DNS solution. Since
    +           <code>*</code> matches any IP address, this configuration
    +           would work without changes whenever your IP address
    +           changes.</p>
    +    </div>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="twoips" id="twoips">Name-based hosts on more than one
    +    IP address.</a></h2>
    +
    +    <div class="note">
    +      <h3>Note</h3>
    +      <p>Any of the techniques discussed here can be extended to any
    +      number of IP addresses.</p>
    +    </div>
    +
    +    <p>The server has two IP addresses. On one (<code>172.20.30.40</code>), we
    +    will serve the "main" server, <code>server.example.com</code> and on the
    +    other (<code>172.20.30.50</code>), we will serve two or more virtual hosts.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +
    +# This is the "main" server running on 172.20.30.40
    +ServerName server.example.com
    +DocumentRoot "/www/mainserver"
    +
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +
    +    # Other directives here ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +
    +    # Other directives here ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Any request to an address other than <code>172.20.30.50</code> will be
    +    served from the main server. A request to <code>172.20.30.50</code> with an
    +    unknown hostname, or no <code>Host:</code> header, will be served from
    +    <code>www.example.com</code>.</p>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="intraextra" id="intraextra">Serving the same content on
    +    different IP addresses (such as an internal and external
    +    address).</a></h2>
    +
    +    <p>The server machine has two IP addresses (<code>192.168.1.1</code>
    +    and <code>172.20.30.40</code>). The machine is sitting between an
    +    internal (intranet) network and an external (internet) network. Outside
    +    of the network, the name <code>server.example.com</code> resolves to
    +    the external address (<code>172.20.30.40</code>), but inside the
    +    network, that same name resolves to the internal address
    +    (<code>192.168.1.1</code>).</p>
    +
    +    <p>The server can be made to respond to internal and external requests
    +    with the same content, with just one <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> section.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 192.168.1.1 172.20.30.40&gt;
    +    DocumentRoot "/www/server1"
    +    ServerName server.example.com
    +    ServerAlias server
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Now requests from both networks will be served from the same
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
    +
    +    <div class="note">
    +          <h3>Note:</h3><p>On the internal
    +          network, one can just use the name <code>server</code> rather
    +          than the fully qualified host name
    +          <code>server.example.com</code>.</p>
    +
    +          <p>Note also that, in the above example, you can replace the list
    +          of IP addresses with <code>*</code>, which will cause the server to
    +          respond the same on all addresses.</p>
    +    </div>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="port" id="port">Running different sites on different
    +    ports.</a></h2>
    +
    +    <p>You have multiple domains going to the same IP and also want to
    +    serve multiple ports.  The example below illustrates that the name-matching
    +    takes place after the best matching IP address and port combination
    +    is determined.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +Listen 8080
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerName www.example.com
    +    DocumentRoot "/www/domain-80"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    ServerName www.example.com
    +    DocumentRoot "/www/domain-8080"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerName www.example.org
    +    DocumentRoot "/www/otherdomain-80"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    ServerName www.example.org
    +    DocumentRoot "/www/otherdomain-8080"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ip" id="ip">IP-based virtual hosting</a></h2>
    +
    +    <p>The server has two IP addresses (<code>172.20.30.40</code> and
    +    <code>172.20.30.50</code>) which resolve to the names
    +    <code>www.example.com</code> and <code>www.example.org</code>
    +    respectively.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Requests for any address not specified in one of the
    +    <code>&lt;VirtualHost&gt;</code> directives (such as
    +    <code>localhost</code>, for example) will go to the main server, if
    +    there is one.</p>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipport" id="ipport">Mixed port-based and ip-based virtual
    +  hosts</a></h2>
    +
    +    <p>The server machine has two IP addresses (<code>172.20.30.40</code> and
    +    <code>172.20.30.50</code>) which resolve to the names
    +    <code>www.example.com</code> and <code>www.example.org</code>
    +    respectively. In each case, we want to run hosts on ports 80 and
    +    8080.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 172.20.30.40:80
    +Listen 172.20.30.40:8080
    +Listen 172.20.30.50:80
    +Listen 172.20.30.50:8080
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    DocumentRoot "/www/example1-80"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    DocumentRoot "/www/example1-8080"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:80&gt;
    +    DocumentRoot "/www/example2-80"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:8080&gt;
    +    DocumentRoot "/www/example2-8080"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="mixed" id="mixed">Mixed name-based and IP-based
    +    vhosts</a></h2>
    +
    +    <p>Any address mentioned in the argument to a virtualhost that never
    +    appears in another virtual host is a strictly IP-based virtual host.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example3"
    +    ServerName www.example.net
    +&lt;/VirtualHost&gt;
    +
    +# IP-based
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example4"
    +    ServerName www.example.edu
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.60&gt;
    +    DocumentRoot "/www/example5"
    +    ServerName www.example.gov
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy">Using <code>Virtual_host</code> and
    +    mod_proxy together</a></h2>
    +
    +    <p>The following example allows a front-end machine to proxy a
    +    virtual host through to a server running on another machine. In the
    +    example, a virtual host of the same name is configured on a machine
    +    at <code>192.168.111.2</code>. The <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost">ProxyPreserveHost
    +    On</a></code> directive is used so that the desired hostname is
    +    passed through, in case we are proxying multiple hostnames to a
    +    single machine.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost *:*&gt;
    +    ProxyPreserveHost On
    +    ProxyPass        "/" "http://192.168.111.2/"
    +    ProxyPassReverse "/" "http://192.168.111.2/"
    +    ServerName hostname.example.com
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="default" id="default">Using <code>_default_</code>
    +    vhosts</a></h2>
    +
    +    <h3><a name="defaultallports" id="defaultallports"><code>_default_</code> vhosts
    +    for all ports</a></h3>
    +
    +    <p>Catching <em>every</em> request to any unspecified IP address and
    +    port, <em>i.e.</em>, an address/port combination that is not used for
    +    any other virtual host.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:*&gt;
    +    DocumentRoot "/www/default"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Using such a default vhost with a wildcard port effectively prevents
    +    any request going to the main server.</p>
    +
    +    <p>A default vhost never serves a request that was sent to an
    +    address/port that is used for name-based vhosts. If the request
    +    contained an unknown or no <code>Host:</code> header it is always
    +    served from the primary name-based vhost (the vhost for that
    +    address/port appearing first in the configuration file).</p>
    +
    +    <p>You can use <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> or
    +    <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to rewrite any
    +    request to a single information page (or script).</p>
    +    
    +
    +    <h3><a name="defaultdifferentports" id="defaultdifferentports"><code>_default_</code> vhosts
    +    for different ports</a></h3>
    +
    +    <p>Same as setup 1, but the server listens on several ports and we want
    +    to use a second <code>_default_</code> vhost for port 80.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
    +    DocumentRoot "/www/default80"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost _default_:*&gt;
    +    DocumentRoot "/www/default"
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>The default vhost for port 80 (which <em>must</em> appear before any
    +    default vhost with a wildcard port) catches all requests that were sent
    +    to an unspecified IP address. The main server is never used to serve a
    +    request.</p>
    +    
    +
    +    <h3><a name="defaultoneport" id="defaultoneport"><code>_default_</code> vhosts
    +    for one port</a></h3>
    +
    +    <p>We want to have a default vhost for port 80, but no other default
    +    vhosts.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
    +    DocumentRoot "/www/default"
    +...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>A request to an unspecified address on port 80 is served from the
    +    default vhost. Any other request to an unspecified address and port is
    +    served from the main server.</p>
    +
    +    <p>Any use of <code>*</code> in a virtual host declaration will have
    +    higher precedence than <code>_default_</code>.</p>
    +
    +    
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="migrate" id="migrate">Migrating a name-based vhost to an
    +    IP-based vhost</a></h2>
    +
    +    <p>The name-based vhost with the hostname
    +    <code>www.example.org</code> (from our <a href="#name">name-based</a> example, setup 2) should get its own IP
    +    address. To avoid problems with name servers or proxies who cached the
    +    old IP address for the name-based vhost we want to provide both
    +    variants during a migration phase.</p>
    +
    +    <p>
    +     The solution is easy, because we can simply add the new IP address
    +    (<code>172.20.30.50</code>) to the <code>VirtualHost</code>
    +    directive.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +ServerName www.example.com
    +DocumentRoot "/www/example1"
    +
    +&lt;VirtualHost 172.20.30.40 172.20.30.50&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example3"
    +    ServerName www.example.net
    +    ServerAlias *.example.net
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>The vhost can now be accessed through the new address (as an
    +    IP-based vhost) and through the old address (as a name-based
    +    vhost).</p>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="serverpath" id="serverpath">Using the <code>ServerPath</code>
    +  directive</a></h2>
    +
    +    <p>We have a server with two name-based vhosts. In order to match the
    +    correct virtual host a client must send the correct <code>Host:</code>
    +    header. Old HTTP/1.0 clients do not send such a header and Apache has
    +    no clue what vhost the client tried to reach (and serves the request
    +    from the primary vhost). To provide as much backward compatibility as
    +    possible we create a primary vhost which returns a single page
    +    containing links with an URL prefix to the name-based virtual
    +    hosts.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 172.20.30.40&gt;
    +    # primary vhost
    +    DocumentRoot "/www/subdomain"
    +    RewriteEngine On
    +    RewriteRule "." "/www/subdomain/index.html"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/subdomain/sub1"
    +    ServerName www.sub1.domain.tld
    +    ServerPath "/sub1/"
    +    RewriteEngine On
    +    RewriteRule "^(/sub1/.*)" "/www/subdomain$1"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/subdomain/sub2"
    +    ServerName www.sub2.domain.tld
    +    ServerPath "/sub2/"
    +    RewriteEngine On
    +    RewriteRule "^(/sub2/.*)" "/www/subdomain$1"
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Due to the <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>
    +    directive a request to the URL
    +    <code>http://www.sub1.domain.tld/sub1/</code> is <em>always</em> served
    +    from the sub1-vhost.<br /> A request to the URL
    +    <code>http://www.sub1.domain.tld/</code> is only
    +    served from the sub1-vhost if the client sent a correct
    +    <code>Host:</code> header. If no <code>Host:</code> header is sent the
    +    client gets the information page from the primary host.</p>
    +
    +    <p>Please note that there is one oddity: A request to
    +    <code>http://www.sub2.domain.tld/sub1/</code> is also served from the
    +    sub1-vhost if the client sent no <code>Host:</code> header.</p>
    +
    +    <p>The <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directives
    +    are used to make sure that a client which sent a correct
    +    <code>Host:</code> header can use both URL variants, <em>i.e.</em>,
    +    with or without URL prefix.</p>
    +
    +  </div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/examples.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/examples.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/examples.html.fr.utf8 b/docs/manual/vhosts/examples.html.fr.utf8
    new file mode 100644
    index 0000000..f8851a7
    --- /dev/null
    +++ b/docs/manual/vhosts/examples.html.fr.utf8
    @@ -0,0 +1,586 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Exemples d'utilisations de VirtualHost - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Exemples d'utilisations de VirtualHost</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Le but de ce document est d'essayer de répondre aux questions 
    +    les plus répandues sur la configuration des <a href="index.html">serveurs virtuels</a>. 
    +    Les scénarios présentés ici se rencontrent quand plusieurs 
    +    serveurs Webs doivent tourner sur une seule et même machine au 
    +    moyen de serveurs virtuels <a href="name-based.html">par nom</a> 
    +    ou <a href="ip-based.html">par IP</a>.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Fonctionnement de plusieurs serveurs 
    +  virtuels par nom sur une seule adresse IP.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#twoips">Serveurs virtuels par nom sur plus 
    +    d'une seule adresse IP.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Servir le même contenu sur des 
    +    adresses IP différentes (telle qu'une adresse interne et une 
    +    externe).</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#port">Servir différents sites sur différents 
    +    ports.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ip">Hébergement virtuel basé sur IP</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hébergements virtuels mixtes basés sur 
    +    les ports et sur les IP</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hébergements virtuels mixtes basé sur 
    +    les noms et sur IP</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Utilisation simultanée de 
    +    <code>Virtual_host</code> et de mod_proxy</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#default">Utilisation de serveurs virtuels 
    +    <code>_default_</code></a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#migrate">Migration d'un serveur virtuel 
    +	par nom en un serveur virtuel par IP</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">Utilisation de la directive 
    +    <code>ServerPath</code></a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</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="purename" id="purename">Fonctionnement de plusieurs serveurs 
    +  virtuels par nom sur une seule adresse IP.</a></h2>
    +
    +    <p>Votre serveur possède plusieurs noms d'hôte qui correspondent à une seule
    +    adresse IP, et vous souhaitez des réponses différentes si on demande
    +    <code>www.example.com</code> ou <code>www.example.org</code>.</p>
    +
    +    <div class="note"><h3>Note&nbsp;:</h3><p>La configuration de serveurs virtuels 
    +    sous Apache ne provoque pas leur apparition magique dans la 
    +    configuration du DNS. Il <em>faut</em> que leurs noms soient 
    +    définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP 
    +    du serveur, faute de quoi personne ne pourra visiter votre site Web. 
    +    Il est possible d'ajouter des entrées dans le fichier 
    +    <code>hosts</code> pour tests locaux, mais qui ne fonctionneront 
    +    que sur la machine possédant ces entrées.</p>
    +    </div>
    +
    +    <pre class="prettyprint lang-config"># Apache doit écouter sur le port 80
    +Listen 80
    +&lt;VirtualHost *:80&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +  
    +    # Autres directives ici
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost *:80&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +
    +    # Autres directives ici
    +&lt;/VirtualHost&gt;</pre>
    +
    +   
    +
    +    <p>Les astérisques correspondent à toutes les adresses, si bien que 
    +    le serveur principal ne répondra jamais à aucune requête. Comme le
    +    serveur virtuel
    +    <code>ServerName www.example.com</code> se trouve en premier dans le fichier 
    +    de configuration, il a la plus grande priorité et peut être vu 
    +    comme serveur <cite>par défaut</cite> ou <cite>primaire</cite>&nbsp;; 
    +    ce qui signifie que toute requête reçue ne correspondant à aucune 
    +    des directives <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> sera servie par ce premier 
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
    +
    +    <p>La configuration ci-dessus correspond à ce que l'on souhaite pour
    +    la plupart des serveurs virtuels à base de nom. Il faudra cependant
    +    utiliser une configuration différente si vous souhaitez servir un
    +    contenu différent en fonction de l'adresse IP ou du port.</p>
    +
    +    <div class="note">
    +            <h3>Note&nbsp;:</h3>
    +
    +            <p>Vous pouvez remplacer <code>*</code> 
    +            par une adresse IP du système. Le serveur virtuel concerné
    +	    ne sera alors sélectionné que pour les requêtes HTTP vers
    +	    cette adresse IP.</p>
    +
    +           <p>En général, il est commode d'utiliser <code>*</code> sur 
    +           les systèmes dont l'adresse IP n'est pas constante - par 
    +           exemple, pour des serveurs dont l'adresse IP est attribuée 
    +           dynamiquement par le FAI, et où le DNS est géré au moyen 
    +           d'un DNS dynamique quelconque. Comme <code>*</code> signifie 
    +           <cite>n'importe quelle adresse</cite>, cette configuration 
    +           fonctionne sans devoir être modifiée quand l'adresse IP du 
    +           système est modifiée.</p>
    +    </div>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="twoips" id="twoips">Serveurs virtuels par nom sur plus 
    +    d'une seule adresse IP.</a></h2>
    +
    +  	<div class="note">
    +          <h3>Note&nbsp;:</h3><p>Toutes les techniques présentées ici 
    +          peuvent être étendues à un plus grand nombre d'adresses IP.</p>
    +    </div>
    +
    +    <p>Le serveur a deux adresses IP. Sur l'une 
    +    (<code>172.20.30.40</code>), le serveur "principal" 
    +    <code>server.example.com</code> doit répondre, et sur l'autre 
    +    (<code>172.20.30.50</code>), deux serveurs virtuels (ou plus) 
    +    répondront.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +
    +# Serveur "principal" sur 172.20.30.40
    +ServerName server.example.com
    +DocumentRoot "/www/mainserver"
    +
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +    
    +    # D'autres directives ici ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +    
    +    # D'autres directives ici ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Toute requête arrivant sur une autre adresse que 
    +    <code>172.20.30.50</code> sera servie par le serveur principal. 
    +    Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur 
    +    inconnu, ou sans en-tête <code>Host:</code>, seront servies par 
    +    <code>www.example.com</code>.</p>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="intraextra" id="intraextra">Servir le même contenu sur des 
    +    adresses IP différentes (telle qu'une adresse interne et une 
    +    externe).</a></h2>
    +
    +    <p>La machine serveur dispose de deux adresses IP 
    +    (<code>192.168.1.1</code> et <code>172.20.30.40</code>). Cette 
    +    machine est placée à la fois sur le réseau interne (l'Intranet) 
    +    et le réseau externe (Internet). Sur Internet, le nom 
    +    <code>server.example.com</code> pointe vers l'adresse externe 
    +    (<code>172.20.30.40</code>), mais sur le réseau interne, ce même 
    +    nom pointe vers l'adresse interne (<code>192.168.1.1</code>).</p>
    +
    +    <p>Le serveur peut être configuré pour répondre de la même manière 
    +    aux requêtes internes et externes, au moyen d'une seule section 
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 192.168.1.1 172.20.30.40&gt;
    +    DocumentRoot "/www/server1"
    +    ServerName server.example.com
    +    ServerAlias server
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Ainsi, les requêtes en provenance de chacun des deux réseaux 
    +    seront servies par le même <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
    +
    +    <div class="note">
    +          <h3>Note&nbsp;:</h3><p>Sur le réseau interne, il est possible 
    +          d'utiliser le nom raccourci <code>server</code> au lieu du nom 
    +          complet <code>server.example.com</code>.</p>
    +
    +          <p>Notez également que dans l'exemple précédent, vous pouvez 
    +          remplacer la liste des adresses IP par des <code>*</code> afin 
    +          que le serveur réponde de la même manière sur toutes ses 
    +          adresses.</p>
    +    </div>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="port" id="port">Servir différents sites sur différents 
    +    ports.</a></h2>
    +
    +    <p>Vous disposez de plusieurs domaines pointant sur la même adresse 
    +    IP et vous voulez également servir de multiples ports. L'exemple
    +    suivant montre que la sélection en fonction du nom intervient après
    +    la sélection de la meilleure correspondance du point de vue adresse
    +    IP/port.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +Listen 8080
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerName www.example.com
    +    DocumentRoot "/www/domain-80"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    ServerName www.example.com
    +    DocumentRoot "/www/domain-8080"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerName www.example.org
    +    DocumentRoot "/www/otherdomain-80"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    ServerName www.example.org
    +    DocumentRoot "/www/otherdomain-8080"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ip" id="ip">Hébergement virtuel basé sur IP</a></h2>
    +
    +    <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
    +    et <code>172.20.30.50</code>) correspondant respectivement aux noms 
    +    <code>www.example.com</code> et <code>www.example.org</code>.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Les requêtes provenant d'adresses non spécifiées dans l'une des 
    +    directives <code>&lt;VirtualHost&gt;</code> (comme pour 
    +    <code>localhost</code> par exemple) seront dirigées vers le serveur 
    +    principal, s'il en existe un.</p>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipport" id="ipport">Hébergements virtuels mixtes basés sur 
    +    les ports et sur les IP</a></h2>
    +
    +    <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
    +    et <code>172.20.30.50</code>) correspondant respectivement aux noms 
    +    <code>www.example.com</code> et <code>www.example.org</code>. 
    +    Pour chacun d'eux, nous voulons un hébergement sur les ports 80 
    +    et 8080.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 172.20.30.40:80
    +Listen 172.20.30.40:8080
    +Listen 172.20.30.50:80
    +Listen 172.20.30.50:8080
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    DocumentRoot "/www/example1-80"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    DocumentRoot "/www/example1-8080"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:80&gt;
    +    DocumentRoot "/www/example2-80"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:8080&gt;
    +    DocumentRoot "/www/example2-8080"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="mixed" id="mixed">Hébergements virtuels mixtes basé sur 
    +    les noms et sur IP</a></h2>
    +
    +    <p>Toute adresse indiquée comme argument d'une section VirtualHost
    +    et n'apparaissant dans aucun autre serveur virtuel, fait de cette
    +    section un serveur virtuel sélectionnable uniquement en fonction de
    +    son adresse IP.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example1"
    +    ServerName www.example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example3"
    +    ServerName www.example.net
    +&lt;/VirtualHost&gt;
    +
    +# IP-based
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/www/example4"
    +    ServerName www.example.edu
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.60&gt;
    +    DocumentRoot "/www/example5"
    +    ServerName www.example.gov
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy">Utilisation simultanée de 
    +    <code>Virtual_host</code> et de mod_proxy</a></h2>
    +
    +    <p>L'exemple suivant montre comment une machine peut mandater 
    +    un serveur virtuel fonctionnant sur le serveur d'une autre machine. 
    +    Dans cet exemple, un serveur virtuel de même nom est configuré sur 
    +    une machine à l'adresse <code>192.168.111.2</code>. La directive 
    +    <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost">ProxyPreserveHost On</a></code> est
    +    employée pour permette au nom de domaine d'être préservé lors du 
    +    transfert, au cas où plusieurs noms de domaines cohabitent sur 
    +    une même machine.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost *:*&gt;
    +    ProxyPreserveHost On
    +    ProxyPass        "/" "http://192.168.111.2/"
    +    ProxyPassReverse "/" "http://192.168.111.2/"
    +    ServerName hostname.example.com
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="default" id="default">Utilisation de serveurs virtuels 
    +    <code>_default_</code></a></h2>
    +
    +    <h3><a name="defaultallports" id="defaultallports">Serveurs virtuels 
    +    <code>_default_</code> pour tous les ports</a></h3>
    +
    +    <p>Exemple de capture de <em>toutes</em> les requêtes émanant 
    +    d'adresses IP ou de ports non connus, <em>c'est-à-dire</em>, d'un 
    +    couple adresse/port non traité par aucun autre serveur virtuel.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:*&gt;
    +    DocumentRoot "/www/default"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>L'utilisation d'un tel serveur virtuel avec un joker pour le 
    +    port empêche de manière efficace qu'une requête n'atteigne le 
    +    serveur principal.</p>
    +
    +    <p>Un serveur virtuel par défaut ne servira jamais une requête 
    +    qui est envoyée vers un couple adresse/port utilisée par un 
    +    serveur virtuel par nom. Si la requête contient un en-tête 
    +    <code>Host:</code> inconnu, ou si celui-ci est absent, elle 
    +    sera toujours servie par le serveur virtuel primaire par nom 
    +    (celui correspondant à ce couple adresse/port trouvé en premier 
    +    dans le fichier de configuration).</p>
    +
    +    <p>Vous pouvez utiliser une directive 
    +    <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ou 
    +    <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> afin de 
    +    réécrire une requête pour une unique page d'information (ou pour 
    +    un script).</p>
    +    
    +
    +    <h3><a name="defaultdifferentports" id="defaultdifferentports">Serveurs virtuels 
    +    <code>_default_</code> pour des ports différents</a></h3>
    +
    +    <p>La configuration est similaire à l'exemple précédent, mais 
    +    le serveur écoute sur plusieurs ports et un second serveur virtuel 
    +    <code>_default_</code> pour le port 80 est ajouté.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
    +    DocumentRoot "/www/default80"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost _default_:*&gt;
    +    DocumentRoot "/www/default"
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Le serveur virtuel par défaut défini pour le port 80 (il doit 
    +    impérativement être placé avant un autre serveur virtuel par 
    +    défaut traitant tous les ports grâce au joker *) capture toutes 
    +    les requêtes envoyées sur une adresse IP non spécifiée. Le 
    +    serveur principal n'est jamais utilisé pour servir une requête.</p>
    +    
    +
    +    <h3><a name="defaultoneport" id="defaultoneport">Serveurs virtuels 
    +    <code>_default_</code> pour un seul port</a></h3>
    +
    +    <p>Nous voulons créer un serveur virtuel par défaut seulement 
    +    pour le port 80.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
    +    DocumentRoot "/www/default"
    +...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Une requête vers une adresse non spécifiée sur le port 80 
    +    sera servie par le serveur virtuel par défaut, et toute autre 
    +    requête vers une adresse et un port non spécifiés sera servie 
    +    par le serveur principal.</p>
    +
    +    <p>L'utilisation du caractère générique <code>*</code> dans la
    +    déclaration d'un serveur virtuel l'emporte sur
    +    <code>_default_</code>.</p>
    +    
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="migrate" id="migrate">Migration d'un serveur virtuel 
    +	par nom en un serveur virtuel par IP</a></h2>
    +
    +    <p>Le serveur virtuel par nom avec le nom de domaine 
    +    <code>www.example.org</code> (de notre <a href="#name">exemple 
    +    par nom</a>) devrait obtenir sa propre adresse IP. Pendant la 
    +    phase de migration, il est possible d'éviter les problèmes avec 
    +    les noms de serveurs et autres serveurs mandataires qui mémorisent 
    +    les vielles adresses IP pour les serveurs virtuels par nom.<br />
    +    La solution est simple, car il suffit d'ajouter la nouvelle 
    +    adresse IP (<code>172.20.30.50</code>) dans la directive 
    +    <code>VirtualHost</code>.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +ServerName www.example.com
    +DocumentRoot "/www/example1"
    +
    +&lt;VirtualHost 172.20.30.40 172.20.30.50&gt;
    +    DocumentRoot "/www/example2"
    +    ServerName www.example.org
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/example3"
    +    ServerName www.example.net
    +    ServerAlias *.example.net
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Le serveur virtuel peut maintenant être joint par la nouvelle 
    +    adresse (comme un serveur virtuel par IP) et par l'ancienne 
    +    adresse (comme un serveur virtuel par nom).</p>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="serverpath" id="serverpath">Utilisation de la directive 
    +    <code>ServerPath</code></a></h2>
    +
    +    <p>Dans le cas où vous disposez de deux serveurs virtuels par nom, 
    +    le client doit transmettre un en-tête <code>Host:</code> correct 
    +    pour déterminer le serveur concerné. Les vieux clients HTTP/1.0 
    +    n'envoient pas un tel en-tête et Apache n'a aucun indice pour 
    +    connaître le serveur virtuel devant être joint (il sert la 
    +    requête à partir d'un serveur virtuel primaire). Dans un soucis 
    +    de préserver la compatibilité descendante, il suffit de créer 
    +    un serveur virtuel primaire chargé de retourner une page contenant 
    +    des liens dont les URLs auront un préfixe identifiant les serveurs 
    +    virtuels par nom.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 172.20.30.40&gt;
    +    # serveur virtuel primaire
    +    DocumentRoot "/www/subdomain"
    +    RewriteEngine On
    +    RewriteRule "." "/www/subdomain/index.html"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/subdomain/sub1"
    +    ServerName www.sub1.domain.tld
    +    ServerPath "/sub1/"
    +    RewriteEngine On
    +    RewriteRule "^(/sub1/.*)" "/www/subdomain$1
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/www/subdomain/sub2"
    +    ServerName www.sub2.domain.tld
    +    ServerPath "/sub2/"
    +    RewriteEngine On
    +    RewriteRule "^(/sub2/.*)" "/www/subdomain$1"
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>À cause de la directive 
    +    <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, une requête sur 
    +    une URL <code>http://www.sub1.domain.tld/sub1/</code> est 
    +    <em>toujours</em> servie par le serveur sub1-vhost.<br />
    +    Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est 
    +    servie par le serveur sub1-vhost que si le client envoie un en-tête 
    +    <code>Host:</code> correct. Si aucun en-tête <code>Host:</code> 
    +    n'est transmis, le serveur primaire sera utilisé.</p>
    +    <p>Notez qu'il y a une singularité&nbsp;: une requête sur 
    +    <code>http://www.sub2.domain.tld/sub1/</code> est également servie 
    +    par le serveur sub1-vhost si le client n'envoie pas d'en-tête 
    +    <code>Host:</code>.</p>
    +    <p>Les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 
    +    sont employées pour s'assurer que le client qui envoie un en-tête 
    +    <code>Host:</code> correct puisse utiliser d'autres variantes d'URLs, 
    +    <em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
    +
    +	</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/examples.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/examples.html.ja.utf8 b/docs/manual/vhosts/examples.html.ja.utf8
    new file mode 100644
    index 0000000..7c31f0e
    --- /dev/null
    +++ b/docs/manual/vhosts/examples.html.ja.utf8
    @@ -0,0 +1,680 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="ja" xml:lang="ja"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ä¾‹ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
    +<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a> &gt; <a href="./">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></div><div id="page-content"><div id="preamble"><h1>ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ä¾‹</h1>
    +<div class="toplang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
    +            å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +            最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
    +        </div>
    +
    +
    +    <p>ã“ã®æ–‡æ›¸ã¯ã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®šã®éš›ã«
    +    よãã‚る質å•ã«ç­”ãˆã‚‹ã‚‚ã®ã§ã™ã€‚想定ã—ã¦ã„る対象㯠<a href="name-based.html">åå‰ãƒ™ãƒ¼ã‚¹</a> ã‚„ <a href="ip-based.html">IP ベース</a> ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã£ã¦
    +    一ã¤ã®ã‚µãƒ¼ãƒã§è¤‡æ•°ã®ã‚¦ã‚§ãƒ–サイトをé‹ç”¨ã—ã¦ã„る状æ³ã§ã™ã€‚
    +    </p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">一ã¤ã® IP アドレスã§ã„ãã¤ã‹ã®åå‰ãƒ™ãƒ¼ã‚¹ã®
    +    ウェブサイトを実行ã™ã‚‹</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#twoips">複数㮠IP アドレスã®ã‚るホストã§åå‰ãƒ™ãƒ¼ã‚¹ã®
    +    ホスティングを行ãªã†</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">é•ã† IP アドレス (例ãˆã°ã€å†…部ã¨å¤–部アドレス)
    +    ã§åŒã˜ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’é€ã‚‹</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#port">é•ã†ãƒãƒ¼ãƒˆã§é•ã†ã‚µã‚¤ãƒˆã‚’é‹å–¶ã™ã‚‹</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ip">IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipport">ãƒãƒ¼ãƒˆãƒ™ãƒ¼ã‚¹ã¨ IP ベースã®æ··ã–ã£ãŸ
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#mixed">åå‰ãƒ™ãƒ¼ã‚¹ã¨ IP ベースを混ãœãŸ
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#proxy"><code>Virtual_host</code> ã¨
    +    mod_proxy を併用ã™ã‚‹</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#default"><code>_default_</code> ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’
    +    使ã†</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#migrate">åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‹ã‚‰ IP ベースã®
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ç§»è¡Œã™ã‚‹</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> ディレクティブを
    +    使ã†</a></li>
    +</ul><h3>å‚ç…§</h3><ul class="seealso"><li><a href="#comments_section">コメント</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="purename" id="purename">一ã¤ã® IP アドレスã§ã„ãã¤ã‹ã®åå‰ãƒ™ãƒ¼ã‚¹ã®
    +    ウェブサイトを実行ã™ã‚‹</a></h2>
    +
    +    <p>サーãƒã¯ IP アドレスを一ã¤å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã¦ã€DNS ã§ãƒžã‚·ãƒ³ã«
    +    複数ã®åå‰ (CNAME) ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã®ãƒžã‚·ãƒ³ã§
    +    <code>www.example.com</code> 㨠<code>www.example.org</code>
    +    ã®ãŸã‚ã®ã‚¦ã‚§ãƒ–サーãƒã‚’実行ã•ã›ãŸã„ã¨ã—ã¾ã™ã€‚</p>
    +
    +    <div class="note"><h3>注</h3><p>
    +          Apache サーãƒã®è¨­å®šã§ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ãŸã ã‘ã§ã€
    +          知らãªã„é–“ã«ãã®ãƒ›ã‚¹ãƒˆåã«å¯¾å¿œã™ã‚‹ DNS ã®ã‚¨ãƒ³ãƒˆãƒªãŒ
    +          作æˆã•ã‚ŒãŸã‚Šã¯ã—ã¾ã›ã‚“。ãã®ã‚µãƒ¼ãƒã® IP アドレスã«è§£æ±ºã•ã‚Œã‚‹
    +          よã†ã« DNS ã«åå‰ã‚’登録ã—ãªã‘ã‚Œã°<em>ãªã‚Šã¾ã›ã‚“</em>。
    +          ãã†ã§ãªã„ã¨èª°ã‚‚ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトを見るã“ã¨ã¯ã§ãã¾ã›ã‚“。
    +          ローカルã§ã®ãƒ†ã‚¹ãƒˆã®ãŸã‚ã« <code>hosts</code> ファイルã«
    +          エントリを追加ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ãŒã€ã“ã®å ´åˆã¯ãã®
    +          hosts エントリã®ã‚るマシンã‹ã‚‰ã—ã‹å‹•ä½œã—ã¾ã›ã‚“。</p>
    +    </div>
    +
    +    <div class="example"><h3>サーãƒè¨­å®š</h3><p><code>
    +    
    +
    +    # Ensure that Apache listens on port 80<br />
    +    Listen 80<br />
    +    <br />
    +    # Listen for virtual host requests on all IP addresses<br />
    +    NameVirtualHost *:80<br />
    +    <br />
    +    &lt;VirtualHost *:80&gt;<br />
    +    <span class="indent">
    +      DocumentRoot /www/example1<br />
    +      ServerName www.example.com<br />
    +      <br />
    +      # Other directives here<br />
    +      <br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost *:80&gt;<br />
    +    <span class="indent">
    +      DocumentRoot /www/example2<br />
    +      ServerName www.example.org<br />
    +      <br />
    +      # Other directives here<br />
    +      <br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>アスタリスクã¯ã™ã¹ã¦ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãƒžãƒƒãƒã—ã¾ã™ã®ã§ã€ä¸»ã‚µãƒ¼ãƒã¯
    +    リクエストを扱ã„ã¾ã›ã‚“。<code>www.example.com</code> ã¯
    +    最åˆã«ã‚ã‚‹ãŸã‚ã€å„ªå…ˆé †ä½ã¯ä¸€ç•ªé«˜ããªã‚Šã€<cite>default</cite> ã‚‚ã—ãã¯
    +    <cite>primary</cite>  ã®ã‚µãƒ¼ãƒã¨è€ƒãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¤ã¾ã‚Šã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒ
    +    ã©ã® <code>ServerName</code> ディレクティブã«ã‚‚マッãƒã—ãªã„å ´åˆã€
    +    一番最åˆã® <code>VirtualHost</code> ã«ã‚ˆã‚Šæ‰±ã‚ã‚Œã¾ã™ã€‚</p>
    +
    +    <div class="note"><h3>注</h3>
    +
    +          <p><code>*</code> をシステムã®å®Ÿéš›ã® IP アドレスã«ç½®ãæ›ãˆã‚‹
    +          ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ãã®å ´åˆã¯ <code>VirtualHost</code> ã®å¼•æ•°ã¯
    +          <code>NameVirtualHost</code> ã®å¼•æ•°ã¨åŒã˜ã«<em>ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“
    +          </em>:</p>
    +
    +            <div class="example"><p><code>
    +            NameVirtualHost 172.20.30.40<br />
    +            <br />
    +            &lt;VirtualHost 172.20.30.40&gt;<br />
    +             # etc ...
    +            </code></p></div>
    +
    +          <p>ã—ã‹ã—ã€IP アドレスãŒäºˆæ¸¬ä¸å¯èƒ½ãªã‚·ã‚¹ãƒ†ãƒ 
    +          ――例ãˆã°ãƒ—ロãƒã‚¤ãƒ€ã‹ã‚‰å‹•çš„ã« IP アドレスをå–å¾—ã—ã¦ä½•ã‚‰ã‹ã®
    +          ダイナミック DNS を使ã£ã¦ã„ã‚‹å ´åˆãªã©â€•â€•ã«ãŠã„ã¦ã¯ã€<code>*</code> 
    +          指定ã¯ã•ã‚‰ã«ä¾¿åˆ©ã§ã™ã€‚<code>*</code> ã¯ã™ã¹ã¦ã® IP アドレスã«
    +          マッãƒã—ã¾ã™ã®ã§ã€ã“ã®è¨­å®šã«ã—ã¦ãŠã‘ã° IP アドレスãŒå¤‰æ›´ã•ã‚Œã¦ã‚‚
    +          設定変更ã›ãšã«å‹•ä½œã—ã¾ã™ã€‚</p>
    +    </div>
    +
    +    <p>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°ã§ã¯ã»ã¼ã™ã¹ã¦ã®çŠ¶æ³ã§ã€
    +    上記ã®è¨­å®šã§å¸Œæœ›ã®è¨­å®šã«ãªã£ã¦ã„ã‚‹ã“ã¨ã§ã—ょã†ã€‚
    +    実際ã“ã®è¨­å®šãŒå‹•ä½œã—ãªã„ã®ã¯ã€IP アドレスやãƒãƒ¼ãƒˆã®é•ã„ã«ã‚ˆã£ã¦
    +    é•ã†ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’é€ã‚‹ã¨ãã ã‘ã§ã™ã€‚</p>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="twoips" id="twoips">複数㮠IP アドレスã®ã‚るホストã§åå‰ãƒ™ãƒ¼ã‚¹ã®
    +    ホスティングを行ãªã†</a></h2>
    + 
    +    <div class="note">
    +    <h3>注</h3><p>ã“ã“ã§èª¬æ˜Žã•ã‚Œã¦ã„る方法㯠IP アドレスãŒ
    +    何個ã‚ã£ã¦ã‚‚åŒæ§˜ã«ã§ãã¾ã™ã€‚</p>
    +    </div>
    +
    +    <p>サーãƒã«ã¯äºŒã¤ IP アドレスãŒã¤ã„ã¦ã„ã¾ã™ã€‚一ã¤ç›®
    +    (<code>172.20.30.40</code>) ã§ã¯ä¸»ã‚µãƒ¼ãƒ 
    +    <code>server.domain.com</code> を扱ã„ã€ã‚‚ã†ä¸€æ–¹
    +    (<code>172.20.30.50</code>) ã§ã¯äºŒã¤ã‹ãれ以上ã®æ•°ã®
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’扱ã„ã¾ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +    <br />
    +    # This is the "main" server running on 172.20.30.40<br />
    +    ServerName server.domain.com<br />
    +    DocumentRoot /www/mainserver<br />
    +    <br />
    +    # This is the other address<br />
    +    NameVirtualHost 172.20.30.50<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1<br />
    +        ServerName www.example.com<br />
    +        <br />
    +        # Other directives here ...<br />
    +        <br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +        <br />
    +        # Other directives here ...<br />
    +        <br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p><code>172.20.30.50</code> 以外ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ä¸»ã‚µãƒ¼ãƒ
    +    ãŒæ‰±ã„ã¾ã™ã€‚<code>172.20.30.50</code> ã¸ã®ã€æœªçŸ¥ã®ãƒ›ã‚¹ãƒˆåã¾ãŸã¯
    +    <code>Host:</code> ヘッダãªã—ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ <code>www.example.com</code>
    +    ãŒæ‰±ã„ã¾ã™ã€‚</p>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="intraextra" id="intraextra">é•ã† IP アドレス (例ãˆã°ã€å†…部ã¨å¤–部アドレス)
    +    ã§åŒã˜ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’é€ã‚‹</a></h2>
    +
    +    <p>サーãƒãƒžã‚·ãƒ³ã¯ IP アドレスを二㤠(<code>192.168.1.1</code>
    +    㨠<code>172.20.30.40</code>) æŒã£ã¦ã„ã¾ã™ã€‚ã“ã®ãƒžã‚·ãƒ³ã¯å†…部
    +    (イントラãƒãƒƒãƒˆ) 㨠外部 (インターãƒãƒƒãƒˆ) ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®é–“ã«
    +    ã‚ã‚Šã¾ã™ã€‚<code>server.example.com</code> ã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®å¤–ã‹ã‚‰ã¯
    +    外部アドレス (<code>172.20.30.40</code>) ã¨ã—ã¦è§£æ±ºã•ã‚Œã¾ã™ãŒã€
    +    ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ä¸­ã‹ã‚‰ã¯å†…部アドレス (<code>192.168.1.1</code>) 
    +    ã¨ã—ã¦è§£æ±ºã•ã‚Œã¾ã™ã€‚</p>
    +
    +    <p><code>VirtualHost</code> 一ã¤ã ã‘ã§ã‚µãƒ¼ãƒãŒå†…部ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨
    +    外部ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ä¸¡æ–¹ã«åŒã˜ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã§å¿œç­”ã™ã‚‹ã‚ˆã†ã«ã§ãã¾ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    NameVirtualHost 192.168.1.1<br />
    +    NameVirtualHost 172.20.30.40<br />
    +    <br />
    +    &lt;VirtualHost 192.168.1.1 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/server1<br />
    +        ServerName server.example.com<br />
    +        ServerAlias server<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>ã“ã‚Œã§ã©ã¡ã‚‰ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚‚åŒã˜ <code>VirtualHost</code>
    +    ã§æ‰±ã‚れるよã†ã«ãªã‚Šã¾ã™ã€‚</p>
    +
    +    <div class="note"><h3>注:</h3><p>内部ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§ã¯å®Œå…¨ãªãƒ›ã‚¹ãƒˆåã®
    +          <code>server.example.com</code> ã®ä»£ã‚ã‚Šã«ã€å˜ã« <code>server</code>
    +          を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +
    +          <p>上ã®ä¾‹ã§ã¯ã€IP アドレスã®ãƒªã‚¹ãƒˆã‚’ã€ã™ã¹ã¦ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«
    +           åŒã˜ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã§å¿œç­”ã™ã‚‹ <code>*</code> ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚</p>
    +    </div>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="port" id="port">é•ã†ãƒãƒ¼ãƒˆã§é•ã†ã‚µã‚¤ãƒˆã‚’é‹å–¶ã™ã‚‹</a></h2>
    +
    +    <p>åŒã˜ IP ã«è¤‡æ•°ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ãŒã‚ã‚Šã€ã•ã‚‰ã«è¤‡æ•°ã®ãƒãƒ¼ãƒˆã‚’使ã£ã¦
    +    リクエストを扱ã„ãŸã„ã¨ããŒã‚ã‚Šã¾ã™ã€‚"NameVirtualHost" ã‚¿ã‚°ã®ä¸­ã§
    +    ãƒãƒ¼ãƒˆã‚’定義ã™ã‚‹ã“ã¨ã§ã€ã“れを動作ã•ã›ã‚‰ã‚Œã¾ã™ã€‚
    +    NameVirtualHost name:port ç„¡ã—ã‚„ Listen ディレクティブã§
    +    &lt;VirtualHost name:port&gt; を使ãŠã†ã¨ã—ã¦ã‚‚ã€ãã®è¨­å®šã¯å‹•ä½œã—ã¾ã›ã‚“。</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +    Listen 8080<br />
    +    <br />
    +    NameVirtualHost 172.20.30.40:80<br />
    +    NameVirtualHost 172.20.30.40:8080<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40:80&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.com<br />
    +        DocumentRoot /www/domain-80<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.com<br />
    +        DocumentRoot /www/domain-8080<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40:80&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.org<br />
    +        DocumentRoot /www/otherdomain-80<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.org<br />
    +        DocumentRoot /www/otherdomain-8080<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ip" id="ip">IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°</a></h2>
    +
    +    <p>サーãƒã¯ <code>www.example.com</code> 㨠<code>www.example.org</code>
    +    ã«ãã‚Œãžã‚Œè§£æ±ºã•ã‚Œã‚‹ã€äºŒã¤ã® IP アドレス (<code>172.20.30.40</code> ã¨
    +    <code>172.20.30.50</code>) ãŒã‚ã‚Šã¾ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1<br />
    +        ServerName www.example.com<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p><code>&lt;VirtualHost&gt;</code> ディレクティブã®ã©ã‚Œã§ã‚‚
    +    指定ã•ã‚Œã¦ã„ãªã„アドレス (例ãˆã° <code>localhost</code>) ã¯ã€
    +    主サーãƒãŒã‚ã‚Œã°ãã“ã«è¡Œãã¾ã™ã€‚</p>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipport" id="ipport">ãƒãƒ¼ãƒˆãƒ™ãƒ¼ã‚¹ã¨ IP ベースã®æ··ã–ã£ãŸ
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></h2>
    +
    +    <p>サーãƒãƒžã‚·ãƒ³ã¯ãã‚Œãžã‚Œ <code>www.example.com</code> ã¨
    +    <code>www.example.org</code> ã«ãã‚Œãžã‚Œè§£æ±ºã•ã‚Œã‚‹ã€IP アドレスを二ã¤
    +    (<code>172.20.30.40</code> 㨠<code>172.20.30.50</code>) æŒã£ã¦ã„ã¾ã™ã€‚
    +    ã©ã¡ã‚‰ã‚‚ãƒãƒ¼ãƒˆ 80 㨠8080 ã§ãƒ›ã‚¹ãƒˆã‚’走らã›ã¾ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    Listen 172.20.30.40:80<br />
    +    Listen 172.20.30.40:8080<br />
    +    Listen 172.20.30.50:80<br />
    +    Listen 172.20.30.50:8080<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40:80&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1-80<br />
    +        ServerName www.example.com<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1-8080<br />
    +        ServerName www.example.com<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.50:80&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2-80<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.50:8080&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2-8080<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="mixed" id="mixed">åå‰ãƒ™ãƒ¼ã‚¹ã¨ IP ベースを混ãœãŸ
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></h2>
    +
    +    <p>ã„ãã¤ã‹ã®ãƒžã‚·ãƒ³ã§ã¯åå‰ãƒ™ãƒ¼ã‚¹ã®ã€ãã®ä»–ã§ã¯ IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«
    +    ホストをã—ã¾ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +    <br />
    +    NameVirtualHost 172.20.30.40<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1<br />
    +        ServerName www.example.com<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example3<br />
    +        ServerName www.example3.net<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    # IP-based<br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example4<br />
    +        ServerName www.example4.edu<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.60&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example5<br />
    +        ServerName www.example5.gov<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy"><code>Virtual_host</code> ã¨
    +    mod_proxy を併用ã™ã‚‹</a></h2>
    +
    +    <p>次ã®ä¾‹ã¯ã€ãƒ•ãƒ­ãƒ³ãƒˆå´ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ä»–ã®ãƒžã‚·ãƒ³ã¸ãƒ—ロクシã—ã¾ã™ã€‚
    +    例ã§ã¯ <code>192.168.111.2</code> ã®ãƒžã‚·ãƒ³ã§ã¯ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆåã¯
    +    åŒã˜åå‰ã§è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚複数ã®ãƒ›ã‚¹ãƒˆåを一å°ã®ãƒžã‚·ãƒ³ã«ãƒ—ロクシã™ã‚‹
    +    å ´åˆã¯ã€<code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost on">ProxyPreserveHost On</a></code>
    +    ディレクティブを使ã£ã¦ã€å¸Œæœ›ã®ãƒ›ã‚¹ãƒˆåを渡ã›ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
    +    </p>
    +
    +    <div class="example"><p><code>
    +    &lt;VirtualHost *:*&gt;<br />
    +        ProxyPreserveHost On<br />
    +        ProxyPass / http://192.168.111.2/<br />
    +        ProxyPassReverse / http://192.168.111.2/<br />
    +        ServerName hostname.example.com<br />
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="default" id="default"><code>_default_</code> ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’
    +    使ã†</a></h2> 
    +
    +    <h3><a name="defaultallports" id="defaultallports">ã™ã¹ã¦ã®ãƒãƒ¼ãƒˆã«å¯¾ã™ã‚‹
    +    <code>_default_</code> ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></h3>
    +
    +    <p>未指定㮠IP アドレスã¨ãƒãƒ¼ãƒˆã€<em>ã¤ã¾ã‚Š</em>ä»–ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«
    +    使ã‚ã‚Œã¦ã„ãªã„アドレスã¨ãƒãƒ¼ãƒˆã®çµ„ã¿åˆã‚ã›ã€ã¸ã®<em>ã™ã¹ã¦ã®</em>リクエストを
    +    å—ã‘å–ã‚Šã¾ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    &lt;VirtualHost _default_:*&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/default<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>ã“ã®ã‚ˆã†ã«ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã®ãƒãƒ¼ãƒˆã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’
    +    指定ã™ã‚‹ã¨ã€ä¸»ã‚µãƒ¼ãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒè¡Œãã®ã‚’防ã’ã¾ã™ã€‚</p>
    +
    +    <p>デフォルトã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«
    +    使ã‚ã‚Œã¦ã„るアドレスã¨ãƒãƒ¼ãƒˆã®çµ„ã«é€ã‚‰ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ã“ã¨ã¯
    +    ã‚ã‚Šã¾ã›ã‚“。リクエストãŒä¸æ˜Žãª <code>Host:</code> ヘッダやãã®
    +    ヘッダãŒãªã‹ã£ãŸã‚Šã™ã‚‹å ´åˆã¯åŸºæœ¬åå‰ãƒ™ãƒ¼ã‚¹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ (ãã®
    +    アドレスã¨ãƒãƒ¼ãƒˆã§è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã§æœ€åˆã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ) ã«ã‚ˆã‚Š
    +    扱ã‚ã‚Œã¾ã™ã€‚</p>
    +
    +    <p>ã©ã‚“ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã‚‚ <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
    +    ã‚„ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> を使ã£ã¦
    +    å˜ä¸€ã®æƒ…報ページ (やスクリプト) ã«æ›¸ãæ›ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +    
    +
    +    <h3><a name="defaultdifferentports" id="defaultdifferentports">é•ã†ãƒãƒ¼ãƒˆã®ãŸã‚ã®
    +    <code>_default_</code> ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></h3>
    +
    +    <p>一ã¤ã‚ã®è¨­å®šã¨ã»ã¼åŒã˜ã§ã™ãŒã€ã‚µãƒ¼ãƒã¯è¤‡æ•°ã®ãƒãƒ¼ãƒˆã‚’ listen ã—ã¦ãŠã‚Šã€
    +    80 番ãƒãƒ¼ãƒˆã«å¯¾ã—ã¦äºŒã¤ã‚ã® <code>_default_</code> ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’
    +    設定ã—ãŸã„å ´åˆã§ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    &lt;VirtualHost _default_:80&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/default80<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost _default_:*&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/default<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>80 番ãƒãƒ¼ãƒˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ (ワイルドカードãƒãƒ¼ãƒˆã®
    +    デフォルトãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚ˆã‚Šã‚‚å‰ã«æ›¸ã‹ã‚Œã¦ã„ãªã‘ã‚Œã°<em>ãªã‚Šã¾ã›ã‚“</em>) ã¯
    +    未指定㮠IP アドレスã«é€ã‚‰ã‚ŒãŸã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã„ã¾ã™ã€‚
    +    主サーãƒã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã„ã¾ã›ã‚“。</p>
    +    
    +
    +    <h3><a name="defaultoneport" id="defaultoneport">一ã¤ã®ãƒãƒ¼ãƒˆã«å¯¾ã—ã¦ã ã‘ã®
    +    <code>_default_</code> ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></h3>
    +
    +    <p>80 番ãƒãƒ¼ãƒˆã«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒå¿…è¦ã§ã€ä»–ã®
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãŒå¿…è¦ãªã„å ´åˆã§ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    &lt;VirtualHost _default_:80&gt;<br />
    +    DocumentRoot /www/default<br />
    +    ...<br />
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>80 番ãƒãƒ¼ãƒˆã¸ã®ã‚¢ãƒ‰ãƒ¬ã‚¹æœªæŒ‡å®šã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒãƒ¼ãƒãƒ£ãƒ«
    +    ホストã‹ã‚‰é€ã‚‰ã‚Œã¾ã™ã€‚ä»–ã®æœªæŒ‡å®šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
    +    主サーãƒã‹ã‚‰é€ã‚‰ã‚Œã¾ã™ã€‚</p>
    +    
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="migrate" id="migrate">åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‹ã‚‰ IP ベースã®
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ç§»è¡Œã™ã‚‹</a></h2>
    +
    +    <p>ホストåãŒåå‰ <code>www.example.org</code> ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
    +    (<a href="#name">åå‰ãƒ™ãƒ¼ã‚¹</a>ã®ä¾‹ã® 2 番目ã®è¨­å®š) ãŒå°‚用㮠IP アドレスを
    +    å¾—ãŸã¨ã—ã¾ã™ã€‚åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®å¤ã„ IP アドレスを
    +    キャッシュã—ã¦ã„ã‚‹ãƒãƒ¼ãƒ ã‚µãƒ¼ãƒã‚„プロキシã®ãŸã‚ã«ç§»è¡ŒæœŸé–“中ã¯ä¸¡æ–¹ã®
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’æä¾›ã—ãŸã„ã¨ã—ã¾ã™ã€‚</p>
    +
    +    <p>ç­”ã¯ç°¡å˜ã§ã™ã€‚å˜ã«æ–°ã—ã„ IP アドレス (<code>172.20.30.50</code>)
    +    ã‚’ <code>VirtualHost</code> ディレクティブã«è¿½åŠ ã™ã‚‹ã“ã¨ã§
    +    ã§ãã¾ã™ã€‚</p>
    +  
    +    <div class="example"><h3>サーãƒè¨­å®š</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +    ServerName www.example.com<br />
    +    DocumentRoot /www/example1<br />
    +    <br />
    +    NameVirtualHost 172.20.30.40<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example3<br />
    +        ServerName www.example.net<br />
    +        ServerAlias *.example.net<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯æ–°ã—ã„アドレス (IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¨ã—ã¦)
    +    ã¨å¤ã„アドレス(åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¨ã—ã¦) ã®ä¸¡æ–¹ã‹ã‚‰
    +    アクセスã§ãã¾ã™ã€‚</p>
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="serverpath" id="serverpath"><code>ServerPath</code> ディレクティブを
    +    使ã†</a></h2>
    +
    +    <p>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒäºŒã¤ã‚るサーãƒãŒã‚ã‚‹ã¨ã—ã¾ã™ã€‚
    +    æ­£ã—ã„ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’å¾—ã‚‹ãŸã‚ã«ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æ­£ã—ã„
    +    <code>Host:</code> ヘッダをé€ã‚‰ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
    +    å¤ã„ HTTP/1.0 ã¯ãã®ã‚ˆã†ãªãƒ˜ãƒƒãƒ€ã‚’é€ã‚‰ãªã„ã®ã§ã€Apache ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ
    +    ã©ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’æ„図ã—ãŸã®ã‹ã•ã£ã±ã‚Šã‚ã‹ã‚Šã¾ã›ã‚“
    +    (ãªã®ã§ã€ä¸»ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã„ã¾ã™)。
    +    å¯èƒ½ãªé™ã‚Šã®ä¸‹ä½äº’æ›æ€§ã‚’å¾—ã‚‹ãŸã‚ã€åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®
    +    URL 接頭辞ã¸ã®ãƒªãƒ³ã‚¯ã®æ›¸ã‹ã‚ŒãŸãƒšãƒ¼ã‚¸ã‚’è¿”ã™ã€
    +    主ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒä½œæˆã•ã‚Œã¾ã™ã€‚</p>
    +
    +    <div class="example"><h3>サーãƒã®è¨­å®š</h3><p><code>
    +    
    +
    +    NameVirtualHost 172.20.30.40<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        # primary vhost<br />
    +        DocumentRoot /www/subdomain<br />
    +        RewriteEngine On<br />
    +        RewriteRule ^/.* /www/subdomain/index.html<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    DocumentRoot /www/subdomain/sub1<br />
    +    <span class="indent">
    +        ServerName www.sub1.domain.tld<br />
    +        ServerPath /sub1/<br />
    +        RewriteEngine On<br />
    +        RewriteRule ^(/sub1/.*) /www/subdomain$1<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/subdomain/sub2<br />
    +        ServerName www.sub2.domain.tld<br />
    +        ServerPath /sub2/<br />
    +        RewriteEngine On<br />
    +        RewriteRule ^(/sub2/.*) /www/subdomain$1<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> ディレクティブã®è¨­å®šã«
    +    よりã€URL <code>http://www.sub1.domain.tld/sub1/</code> ã¯
    +    <em>常ã«</em> sub1-vhost ã«ã‚ˆã‚Šæ‰±ã‚ã‚Œã¾ã™ã€‚URL
    +    <code>http://www.sub1.domain.tld/</code> ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
    +    クライアントãŒæ­£ã—ã„ <code>Host:</code> ヘッダをé€ã£ãŸã¨ãã«ã®ã¿
    +    sub1-vhost ã‹ã‚‰é€ã‚‰ã‚Œã¾ã™ã€‚<code>Host:</code> ヘッダãŒãªã‘ã‚Œã°
    +    クライアントã¯ä¸»ãƒ›ã‚¹ãƒˆã®æƒ…報ページを得ã¾ã™ã€‚</p>
    +
    +    <p>一ã¤å¥‡å¦™ãªå‹•ä½œã‚’ã™ã‚‹ç‚¹ãŒã‚ã‚‹ã“ã¨ã¯è¦šãˆã¦ãŠã„ã¦ãã ã•ã„。
    +    <code>http://www.sub2.domain.tld/sub1/</code> ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚‚
    +    <code>Host:</code> ヘッダãŒãªã‘れ㰠sub1-vhost ã«ã‚ˆã‚Šæ‰±ã‚ã‚Œã¾ã™ã€‚</p>
    +
    +    <p>æ­£ã—ã„ <code>Host:</code> ヘッダをé€ã£ãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ã©ã¡ã‚‰ã®
    +    URLã€<em>ã¤ã¾ã‚Š</em>接頭辞ãŒã‚る方も無ã„方も使ãˆã‚‹ã‚ˆã†ã«
    +    <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブãŒ
    +    使ã‚ã‚Œã¦ã„ã¾ã™ã€‚</p>
    +  </div></div>
    +<div class="bottomlang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/examples.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/examples.html.ko.euc-kr b/docs/manual/vhosts/examples.html.ko.euc-kr
    new file mode 100644
    index 0000000..ebe9e0c
    --- /dev/null
    +++ b/docs/manual/vhosts/examples.html.ko.euc-kr
    @@ -0,0 +1,657 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>°¡»óÈ£½ºÆ® ¿¹ - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">°¡»óÈ£½ºÆ®</a></div><div id="page-content"><div id="preamble"><h1>°¡»óÈ£½ºÆ® ¿¹</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +
    +    <p>ÀÌ ¹®¼­´Â ÀÚÁÖ ¹®ÀǵǴ °¡»óÈ£½ºÆ®
    +    Áú¹®¿¡ ´äÀ» ÇÏ·Á°í ¾²¿©Á³´Ù. »óȲÀº <a href="name-based.html">À̸§±â¹Ý</a>À̳ª <a href="ip-based.html">IP±â¹Ý</a> °¡»óÈ£½ºÆ®¸¦ ÅëÇØ ÇÑ ¼­¹ö¿¡¼­
    +    ¿©·¯ À¥»çÀÌÆ®¸¦ ¼­ºñ½ºÇÏ·Á´Â °æ¿ìÀÌ´Ù. ÇÑ ÇÁ·Ï½Ã ¼­¹ö µÚ¿¡¼­
    +    ¿©·¯ ¼­¹ö¸¦ »ç¿ëÇÏ¿© »çÀÌÆ®¸¦ ¿î¿µÇÏ´Â °æ¿ì¸¦ ´Ù·é ¹®¼­µµ
    +    °ð ³ª¿Ã °ÍÀÌ´Ù.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">IP ÁÖ¼Ò ÇÑ°³¿¡ ¿©·¯ À̸§±â¹Ý
    +    À¥»çÀÌÆ® ¿î¿µÇϱâ.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#twoips">¿©·¯ IP ÁÖ¼Ò¿¡¼­ À̸§±â¹Ý
    +    È£½ºÆ®.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">(³»ºÎ¿Í ¿ÜºÎ ÁÖ¼Ò¿Í °°ÀÌ)
    +    ´Ù¸¥ IP ÁÖ¼Ò·Î °°Àº ³»¿ëÀ» ¼­ºñ½ºÇϱâ.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#port">¿©·¯ Æ÷Æ®¿¡¼­ ¼­·Î ´Ù¸¥ »çÀÌÆ®
    +    ¿î¿µÇϱâ.</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ip">IP±â¹Ý °¡»óÈ£½ºÆ®</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipport">Æ÷Æ®±â¹Ý°ú ip±â¹ÝÀÌ È¥ÇÕµÈ
    +    °¡»óÈ£½ºÆ®</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#mixed">À̸§±â¹Ý°ú IP±â¹ÝÀÌ È¥ÇÕµÈ
    +    °¡»óÈ£½ºÆ®</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#default"><code>_default_</code> °¡»óÈ£½ºÆ®
    +    »ç¿ëÇϱâ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#migrate">À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ IP±â¹Ý
    +    °¡»óÈ£½ºÆ®·Î ¿Å±â±â</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code>
    +	Áö½Ã¾î »ç¿ëÇϱâ</a></li>
    +</ul><h3>Âü°í</h3><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="purename" id="purename">IP ÁÖ¼Ò ÇÑ°³¿¡ ¿©·¯ À̸§±â¹Ý
    +    À¥»çÀÌÆ® ¿î¿µÇϱâ.</a></h2>
    +
    +    <p>¼­¹ö¿¡ IP ÁÖ¼Ò°¡ ÇÑ°³ ÀÖ°í, DNS¿¡¼­ ¿©·¯ ÁÖ¼Ò(CNAMES)°¡
    +    ÀÌ ÄÄÇ»Å͸¦ °¡¸®Å²´Ù. ÀÌ ÄÄÇ»ÅÍ¿¡¼­ <code>www.example.com</code>°ú
    +    <code>www.example.org</code>ÀÇ À¥¼­¹ö¸¦ ½ÇÇàÇÏ°í ½Í´Ù.</p>
    +
    +    <div class="note"><h3>Note</h3><p>¾ÆÆÄÄ¡ ¼­¹ö¿¡ °¡»óÈ£½ºÆ® ¼³Á¤À»
    +          ÇÑ´Ù°í ±× È£½ºÆ®¸í¿¡ ´ëÇÑ DNS Ç׸ñÀÌ ÀÚµ¿ÀÌ·Î »ý¼ºµÇÁö
    +          ¾Ê´Â´Ù. <em>¹Ýµå½Ã</em> DNS¿¡ IP ÁÖ¼Ò¸¦ °¡¸®Å°´Â
    +          À̸§ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ¾È±×·¯¸é ¾Æ¹«µµ À¥»çÀÌÆ®¸¦ º¼
    +          ¼ö ¾ø´Ù. °Ë»çÇغ¸±â À§ÇØ <code>hosts</code> ÆÄÀÏ¿¡ Ç׸ñÀ»
    +          Ãß°¡ÇÒ ¼ö ÀÖÁö¸¸, ÀÌ´Â hosts Ç׸ñÀ» °¡Áø ÄÄÇ»ÅÍ¿¡¸¸
    +          ¹Ý¿µµÈ´Ù.</p>
    +    </div>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    # ¾ÆÆÄÄ¡°¡ Æ÷Æ® 80À» ±â´Ù¸°´Ù<br />
    +    Listen 80<br />
    +    <br />
    +    # ¸ðµç IP ÁÖ¼Ò¿¡¼­ °¡»óÈ£½ºÆ® ¿äûÀ» ±â´Ù¸°´Ù<br />
    +    NameVirtualHost *:80<br />
    +    <br />
    +    &lt;VirtualHost *:80&gt;<br />
    +    <span class="indent">
    +      DocumentRoot /www/example1<br />
    +      ServerName www.example.com<br />
    +      <br />
    +      # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù<br />
    +      <br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost *:80&gt;<br />
    +    <span class="indent">
    +      DocumentRoot /www/example2<br />
    +      ServerName www.example.org<br />
    +      <br />
    +      # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù<br />
    +      <br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>º°Ç¥´Â ¸ðµç ÁÖ¼Ò¸¦ °¡¸®Å°¹Ç·Î, ÁÖ¼­¹ö´Â ¾î¶² ¿äûµµ
    +    ¼­ºñ½ºÇÏÁö ¾Ê´Â´Ù. <code>www.example.com</code>ÀÌ
    +    ¼³Á¤ÆÄÀÏ¿¡ óÀ½À¸·Î ³ª¿À¹Ç·Î °¡Àå ³ôÀº ¿ì¼±¼øÀ§¸¦ °¡Áö¸ç,
    +    <cite>±âº»</cite>ȤÀº <cite>Ãʱâ</cite> ¼­¹ö°¡ µÈ´Ù.
    +    ¾î¶² <code>ServerName</code> Áö½Ã¾î¿¡µµ ÇØ´çµÇÁö¾Ê´Â ¿äûÀº
    +    ù¹ø° <code>VirtualHost</code>°¡ ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    <div class="note">
    +            <h3>ÁÖÀÇ</h3>
    +
    +            <p>¿øÇÑ´Ù¸é <code>*</code> ´ë½Å ½Ã½ºÅÛÀÇ ½ÇÁ¦ IP
    +            ÁÖ¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì
    +            <code>VirtualHost</code>ÀÇ ¾Æ±Ô¸ÕÆ®´Â
    +            <code>NameVirtualHost</code>ÀÇ ¾Æ±Ô¸ÕÆ®¿Í ÀÏÄ¡Çؾß
    +            <em>ÇÑ´Ù</em>:</p>
    +
    +            <div class="example"><p><code>
    +            NameVirtualHost 172.20.30.40<br />
    +						<br />
    +            &lt;VirtualHost 172.20.30.40&gt;<br />
    + 		        # »ý·« ...
    +            </code></p></div>
    +
    +           <p>±×·¯³ª ISP¿¡¼­ µ¿ÀûÀ¸·Î IP ÁÖ¼Ò¸¦ °¡Á®¿À´Â µî
    +           IP ÁÖ¼Ò¸¦ ¸ð¸£´Â °æ¿ì¿¡´Â <code>*</code>¸¦ »ç¿ëÇÏ´Â
    +           °ÍÀÌ À¯¿ëÇÏ´Ù. <code>*</code>´Â ¸ðµç IP ÁÖ¼Ò¿¡
    +           ÇØ´çÇϹǷÎ, IP ÁÖ¼Ò°¡ º¯°æµÇ¾îµµ ¼³Á¤À» º¯°æÇÒ
    +           ÇÊ¿ä°¡ ¾ø´Ù.</p>
    +    </div>
    +
    +    <p>°ÅÀÇ ´ëºÎºÐÀÇ À̸§±â¹Ý °¡»óÈ£½ºÆ® ¼³Á¤Àº À§¿Í °°´Ù.
    +    ¿¹¿Ü´Â ´Ù¸¥ IP ÁÖ¼Ò³ª Æ÷Æ®·Î ´Ù¸¥ ³»¿ëÀ» ¼­ºñ½ºÇÏ·Á´Â
    +    °æ¿ìÀÌ´Ù.</p>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="twoips" id="twoips">¿©·¯ IP ÁÖ¼Ò¿¡¼­ À̸§±â¹Ý
    +    È£½ºÆ®.</a></h2>
    +
    +  	<div class="note">
    +		  <h3>ÁÖÀÇ</h3><p>¿©±â¼­ ¼³¸íÇÑ ¹æ¹ýÀº IP ÁÖ¼Ò°¡
    +          ¸î°³¶óµµ Àû¿ë°¡´ÉÇÏ´Ù.</p>
    +    </div>
    +
    +    <p>¼­¹ö´Â IP ÁÖ¼Ò°¡ µÎ°³ÀÖ´Ù. Çϳª¿¡¼­
    +    (<code>172.20.30.40</code>) "ÁÖ" ¼­¹ö
    +    <code>server.domain.com</code>À» ¼­ºñ½ºÇÏ°í, ´Ù¸¥ Çϳª¿¡¼­
    +    (<code>172.20.30.50</code>) ¿©·¯ °¡»óÈ£½ºÆ®¸¦ ¼­ºñ½ºÇÒ
    +    °ÍÀÌ´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +		<br />
    +    # 172.20.30.40¿¡¼­ ½ÇÇàÇÏ´Â "ÁÖ"¼­¹öÀÌ´Ù<br />
    +    ServerName server.domain.com<br />
    +    DocumentRoot /www/mainserver<br />
    +		<br />
    +    # ´Ù¸¥ ÁÖ¼Ò´Ù<br />
    +    NameVirtualHost 172.20.30.50<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1<br />
    +        ServerName www.example.com<br />
    +   			<br />
    +        # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù ...<br />
    +				<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +				<br />
    +        # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù ...<br />
    +				<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p><code>172.20.30.50</code>ÀÌ ¾Æ´Ñ ÁÖ¼Ò¿¡ ´ëÇÑ ¿äûÀº
    +    ÁÖ¼­¹ö°¡ ¼­ºñ½ºÇÑ´Ù. È£½ºÆ®¸í ¾øÀÌ, Áï <code>Host:</code>
    +    Çì´õ¾øÀÌ <code>172.20.30.50</code>·Î ¿äûÇϸé
    +    <code>www.example.com</code>ÀÌ ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="intraextra" id="intraextra">(³»ºÎ¿Í ¿ÜºÎ ÁÖ¼Ò¿Í °°ÀÌ)
    +    ´Ù¸¥ IP ÁÖ¼Ò·Î °°Àº ³»¿ëÀ» ¼­ºñ½ºÇϱâ.</a></h2>
    +
    +    <p>¼­¹ö ÄÄÇ»ÅÍ¿¡ IP ÁÖ¼Ò°¡ µÎ°³ (<code>192.168.1.1</code>°ú
    +    <code>172.20.30.40</code>) ÀÖ´Ù. ÄÄÇ»ÅÍ´Â ³»ºÎ (ÀÎÆ®¶ó³Ý)
    +    ³×Æ®¿÷°ú ¿ÜºÎ (ÀÎÅͳÝ) ³×Æ®¿÷ »çÀÌ¿¡ À§Ä¡ÇÑ´Ù. ³×Æ®¿÷ ¹Û¿¡¼­
    +    <code>server.example.com</code>Àº ¿ÜºÎ ÁÖ¼Ò¸¦
    +    (<code>172.20.30.40</code>) ÀǹÌÇÏ°í, ³×Æ®¿÷ ³»ºÎ¿¡¼­ °°Àº
    +    À̸§À» ³»ºÎ ÁÖ¼Ò·Î (<code>192.168.1.1</code>) »ç¿ëÇÑ´Ù.</p>
    +
    +    <p>¼­¹ö´Â <code>VirtualHost</code> ¼½¼Ç ÇÑ°³·Î ³»ºÎ¿Í ¿ÜºÎ
    +    ÀÀ´ä¿¡ °°Àº ³»¿ëÀ» ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    NameVirtualHost 192.168.1.1<br />
    +    NameVirtualHost 172.20.30.40<br />
    +		<br />
    +    &lt;VirtualHost 192.168.1.1 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/server1<br />
    +        ServerName server.example.com<br />
    +        ServerAlias server<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>ÀÌÁ¦ µÎ ³×Æ®¿÷¿¡¼­ µé¾î¿Â ¿äûÀ» °°Àº
    +    <code>VirtualHost</code>¿¡¼­ ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    <div class="note">
    +          <h3>ÁÖÀÇ:</h3><p>³»ºÎ ³×Æ®¿÷¿¡¼­´Â ¿ÏÀüÇÑ È£½ºÆ®¸í
    +          <code>server.example.com</code> ´ë½Å À̸§
    +          <code>server</code>µµ °¡´ÉÇÏ´Ù.</p>
    +
    +          <p>¶ÇÇÑ À§ÀÇ ¿¹¿¡¼­ IP ÁÖ¼Ò ´ë½Å <code>*</code>À»
    +          »ç¿ëÇÏ¿© ¼­¹ö°¡ ¸ðµç ÁÖ¼Ò¿¡ µ¿ÀÏÇÏ°Ô µ¿ÀÛÇÒ ¼ö
    +          ÀÖ´Ù.</p>
    +    </div>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="port" id="port">¿©·¯ Æ÷Æ®¿¡¼­ ¼­·Î ´Ù¸¥ »çÀÌÆ®
    +    ¿î¿µÇϱâ.</a></h2>
    +
    +    <p>°°Àº IPÀÇ ¿©·¯ Æ÷Æ®¿¡¼­ ¼­·Î ´Ù¸¥ µµ¸ÞÀÎÀ» ¼­ºñ½ºÇÑ´Ù°í
    +    °¡Á¤ÇÏÀÚ. ÀÌ´Â "NameVirtualHost" ű׿¡ Æ÷Æ®¸¦ Á¤ÀÇÇϸé
    +    °¡´ÉÇÏ´Ù. NameVirtualHost name:port¾øÀÌ &lt;VirtualHost
    +    name:port&gt;¸¸ ȤÀº Listen Áö½Ã¾î¸¸ »ç¿ëÇÏ¸é ¾ÈµÈ´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +    Listen 8080<br />
    +		<br />
    +    NameVirtualHost 172.20.30.40:80<br />
    +    NameVirtualHost 172.20.30.40:8080<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40:80&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.com<br />
    +        DocumentRoot /www/domain-80<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.com<br />
    +        DocumentRoot /www/domain-8080<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40:80&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.org<br />
    +        DocumentRoot /www/otherdomain-80<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
    +    <span class="indent">
    +        ServerName www.example.org<br />
    +        DocumentRoot /www/otherdomain-8080<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ip" id="ip">IP±â¹Ý °¡»óÈ£½ºÆ®</a></h2>
    +
    +    <p>¼­¹ö´Â °¢°¢ <code>www.example.com</code>°ú
    +    <code>www.example.org</code>¿¡ ÇØ´çÇÏ´Â µÎ IP ÁÖ¼Ò¸¦
    +    (<code>172.20.30.40</code>°ú <code>172.20.30.50</code>)
    +    °¡Áø´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1<br />
    +        ServerName www.example.com<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p><code>&lt;VirtualHost&gt;</code> Áö½Ã¾î·Î ÁöÁ¤ÇÑ ÁÖ¼Ò¿¡
    +    ÇØ´çÇÏÁö¾Ê´Â ÁÖ¼Ò·Î (¿¹¸¦ µé¾î, <code>localhost</code>)
    +    ¿äûÀÌ µé¾î¿À¸é ÁÖ¼­¹ö°¡ ÀÖ´Â °æ¿ì ÁÖ¼­¹ö°¡ ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipport" id="ipport">Æ÷Æ®±â¹Ý°ú ip±â¹ÝÀÌ È¥ÇÕµÈ
    +    °¡»óÈ£½ºÆ®</a></h2>
    +
    +    <p>¼­¹ö´Â °¢°¢ <code>www.example.com</code>°ú
    +    <code>www.example.org</code>¿¡ ÇØ´çÇÏ´Â µÎ IP ÁÖ¼Ò¸¦
    +    (<code>172.20.30.40</code>°ú <code>172.20.30.50</code>)
    +    °¡Áø´Ù. °¢ IPÀÇ 80¹ø°ú 8080¹ø Æ÷Æ®¿¡ °¡»óÈ£½ºÆ®¸¦ µ¹¸°´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    Listen 172.20.30.40:80<br />
    +    Listen 172.20.30.40:8080<br />
    +    Listen 172.20.30.50:80<br />
    +    Listen 172.20.30.50:8080<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40:80&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1-80<br />
    +        ServerName www.example.com<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1-8080<br />
    +        ServerName www.example.com<br />
    +		</span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.50:80&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2-80<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.50:8080&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2-8080<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="mixed" id="mixed">À̸§±â¹Ý°ú IP±â¹ÝÀÌ È¥ÇÕµÈ
    +    °¡»óÈ£½ºÆ®</a></h2>
    +
    +    <p>ÁÖ¼ÒÁß ¸î¸îÀº À̸§±â¹Ý °¡»óÈ£½ºÆ®·Î, ´Ù¸¥ °ÍÀº IP±â¹Ý
    +    °¡»óÈ£½ºÆ®·Î ¼­ºñ½ºÇÏ°í ½Í´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +		<br />
    +    NameVirtualHost 172.20.30.40<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example1<br />
    +        ServerName www.example.com<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example3<br />
    +        ServerName www.example3.net<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    # IP-±â¹Ý<br />
    +    &lt;VirtualHost 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example4<br />
    +        ServerName www.example4.edu<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.60&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example5<br />
    +        ServerName www.example5.gov<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="default" id="default"><code>_default_</code> °¡»óÈ£½ºÆ®
    +    »ç¿ëÇϱâ</a></h2>
    +
    +  	<h3><a name="defaultallports" id="defaultallports">¸ðµç Æ÷Æ®¿¡ ´ëÇÑ
    +    <code>_default_</code> °¡»óÈ£½ºÆ®</a></h3>
    +
    +    <p>¾î¶² °¡»óÈ£½ºÆ®¿¡µµ ÇØ´çÇÏÁö¾ÊÀº IP ÁÖ¼Ò¿Í Æ÷Æ®¿¡ ´ëÇÑ
    +    <em>¸ðµç</em> ¿äûÀ» ó¸®Çϱâ.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    &lt;VirtualHost _default_:*&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/default<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>default(±âº») °¡»óÈ£½ºÆ®ÀÇ Æ÷Æ®·Î ¿ÍÀϵåÄ«µå¸¦ »ç¿ëÇÏ¿© ¾î¶² ¿äûµµ
    +    ÁÖ¼­¹ö·Î ¸ø°¡µµ·Ï ¸¸µç´Ù.</p>
    +
    +    <p>default °¡»óÈ£½ºÆ®´Â Àý´ë·Î À̸§±â¹Ý °¡»óÈ£½ºÆ®°¡ »ç¿ëÇÏ´Â
    +    ÁÖ¼Ò/Æ÷Æ®·ÎÀÇ ¿äûÀ» ¼­ºñ½ºÇÏÁö ¾Ê´Â´Ù. ¾Ë ¼ö ¾ø°Å³ª
    +    <code>Host:</code> Çì´õ°¡ »ý·«µÈ ¿äûÀº Ç×»ó ÃÖÃÊÀÇ À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®(¼³Á¤ÆÄÀÏ¿¡¼­
    +    ÁÖ¼Ò/Æ÷Æ®°¡ óÀ½À¸·Î ³ª¿Â °¡»óÈ£½ºÆ®)°¡ ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    <p><code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code>³ª
    +    <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>À»
    +    »ç¿ëÇÏ¿© ¾î¶² ¿äûÀ» ƯÁ¤ ÆäÀÌÁö(ȤÀº ½ºÅ©¸³Æ®)·Î
    +    ÀçÀÛ¼ºÇÒ(rewrite) ¼ö ÀÖ´Ù.</p>
    +    
    +
    +    <h3><a name="defaultdifferentports" id="defaultdifferentports">¿©·¯ Æ÷Æ®¿¡ ´ëÇÑ
    +    <code>_default_</code> °¡»óÈ£½ºÆ®</a></h3>
    +
    +    <p>À§ÀÇ °æ¿ì¿Í °°Áö¸¸, ¼­¹ö´Â ¿©·¯ Æ÷Æ®¸¦ ±â´Ù¸®°í 80¹ø
    +    Æ÷Æ®¿¡ ´ëÇؼ­ Ãß°¡·Î <code>_default_</code> °¡»óÈ£½ºÆ®¸¦
    +    »ç¿ëÇÏ°í ½Í´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    &lt;VirtualHost _default_:80&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/default80<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost _default_:*&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/default<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>80¹ø Æ÷Æ®¿¡ ´ëÇÑ default °¡»óÈ£½ºÆ®´Â (<em>¹Ýµå½Ã</em>
    +    ¿ÍÀϵåÄ«µå Æ÷Æ®¸¦ °¡Áø ±âº» °¡»óÈ£½ºÆ® ÀÌÀü¿¡ ³ª¿Í¾ß ÇÑ´Ù)
    +    ÁöÁ¤ÇÏÁö¾ÊÀº IP ÁÖ¼Ò·Î º¸³»Áø ¸ðµç ¿äûÀ» ¼­ºñ½ºÇÑ´Ù.
    +    ÁÖ¼­¹ö´Â Àý´ë·Î ¿äûÀ» ¼­ºñ½ºÇÏÁö ¸øÇÑ´Ù.</p>
    +    
    +
    +    <h3><a name="defaultoneport" id="defaultoneport">ÇÑ Æ÷Æ®¿¡ ´ëÇÑ
    +    <code>_default_</code> °¡»óÈ£½ºÆ®</a></h3>
    +
    +    <p>80¹ø Æ÷Æ®¿¡ ´ëÇؼ­¸¸ default °¡»óÈ£½ºÆ®¸¦ ¸¸µé°í ½Í´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    &lt;VirtualHost _default_:80&gt;<br />
    +    DocumentRoot /www/default<br />
    +    ...<br />
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>Æ÷Æ® 80¹ø¿¡ ÁöÁ¤ÇÏÁö¾ÊÀº ÁÖ¼Ò¿¡ ´ëÇÑ ¿äûÀº ±âº»
    +    °¡»óÈ£½ºÆ®°¡ ¼­ºñ½ºÇÏ°í, ´Ù¸¥ ÁöÁ¤ÇÏÁö¾ÊÀº ÁÖ¼Ò¿Í Æ÷Æ®¸¦
    +    °¡Áø ¿äûÀº ÁÖ ¼­¹ö°¡ ¼­ºñ½ºÇÑ´Ù.</p>
    +    
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="migrate" id="migrate">À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ IP±â¹Ý
    +    °¡»óÈ£½ºÆ®·Î ¿Å±â±â</a></h2>
    +
    +    <p>(<a href="#name">À̸§±â¹Ý</a>ÀÇ Ã¹¹ø° ¿¹¿¡¼­) È£½ºÆ®¸í
    +    <code>www.example.org</code>¿¡ ´ëÇÑ À̸§±â¹Ý °¡»óÈ£½ºÆ®´Â
    +    ÀÚ½ÅÀÇ IP ÁÖ¼Ò¸¦ °¡Á®¾ß ÇÑ´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ ÀÌÀü
    +    IP ÁÖ¼Ò¸¦ ij½ÌÇÏ´Â ³×ÀÓ¼­¹ö³ª ÇÁ·Ï½Ã¿ÍÀÇ ¹®Á¦¸¦ ÇÇÇϱâÀ§ÇØ
    +    ¿Å±â´Â µ¿¾È µÑ ¸ðµÎ¸¦ ¼­ºñ½ºÇÏ°í ½Í´Ù.</p>
    +
    +    <p>
    +     ¹æ¹ýÀº <code>VirtualHost</code> Áö½Ã¾î¿¡ »õ IP ÁÖ¼Ò¸¸À»
    +    (<code>172.20.30.50</code>) Ãß°¡ÇϸéµÇ¹Ç·Î ½±´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    Listen 80<br />
    +    ServerName www.example.com<br />
    +    DocumentRoot /www/example1<br />
    +		<br />
    +    NameVirtualHost 172.20.30.40<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40 172.20.30.50&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example2<br />
    +        ServerName www.example.org<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/example3<br />
    +        ServerName www.example.net<br />
    +        ServerAlias *.example.net<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>ÀÌÁ¦ (IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ÅëÇÑ) »õ·Î¿î ÁÖ¼Ò¿Í (À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®¸¦ ÅëÇÑ) ÀÌÀü ÁÖ¼Ò ¸ðµÎ °¡»óÈ£½ºÆ®¿¡ Á¢±ÙÇÒ
    +    ¼ö ÀÖ´Ù.</p>
    +
    +	</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="serverpath" id="serverpath"><code>ServerPath</code>
    +	Áö½Ã¾î »ç¿ëÇϱâ</a></h2>
    +
    +    <p>µÎ À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ °¡Áø ¼­¹ö°¡ ÀÖ´Ù. ¿Ã¹Ù¸¥
    +    °¡»óÈ£½ºÆ®¸¦ ¼±ÅÃÇϱâÀ§ÇØ Å¬¶óÀ̾ðÆ®´Â ¿Ã¹Ù¸¥
    +    <code>Host:</code> Çì´õ¸¦ º¸³»¾ß ÇÑ´Ù. ¿À·¡µÈ HTTP/1.0
    +    Ŭ¶óÀ̾ðÆ®°¡ ÀÌ Çì´õ¸¦ º¸³»Áö ¸øÇÏ¸é ¾ÆÆÄÄ¡´Â Ŭ¶óÀ̾ðÆ®°¡
    +    ¾î¶² °¡»óÈ£½ºÆ®¸¦ º¸·Á°íÇÏ´ÂÁö ¾Ë ¼ö ¾ø´Ù (±×·¡¼­ ÃÖÃÊÀÇ
    +    °¡»óÈ£½ºÆ®°¡ ¿äûÀ» ¼­ºñ½ºÇÑ´Ù). ¿À·¡µÈ ºê¶ó¿ìÀú¿Í °¡´ÉÇÑ È£È¯À»
    +    À¯ÁöÇϱâÀ§ÇØ ÃÖÃÊÀÇ °¡»óÈ£½ºÆ®¸¦ ¸¸µé°í, ¿©±â¿¡ À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®ÀÇ URL Á¢µÎ»ç¸¦ Æ÷ÇÔÇÏ´Â ¸µÅ© ¸ñ·Ï ÆäÀÌÁö¸¦
    +    µÐ´Ù.</p>
    +
    +    <div class="example"><h3>¼­¹ö ¼³Á¤</h3><p><code>
    +    
    +
    +    NameVirtualHost 172.20.30.40<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        # primary vhost<br />
    +        DocumentRoot /www/subdomain<br />
    +        RewriteEngine On<br />
    +        RewriteRule ^/.* /www/subdomain/index.html<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    DocumentRoot /www/subdomain/sub1<br />
    +    <span class="indent">
    +        ServerName www.sub1.domain.tld<br />
    +        ServerPath /sub1/<br />
    +        RewriteEngine On<br />
    +        RewriteRule ^(/sub1/.*) /www/subdomain$1<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost 172.20.30.40&gt;<br />
    +    <span class="indent">
    +        DocumentRoot /www/subdomain/sub2<br />
    +        ServerName www.sub2.domain.tld<br />
    +        ServerPath /sub2/<br />
    +        RewriteEngine On<br />
    +        RewriteRule ^(/sub2/.*) /www/subdomain$1<br />
    +        # ...<br />
    +    </span>
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> Áö½Ã¾î¶§¹®¿¡
    +    URL <code>http://www.sub1.domain.tld/sub1/</code>¿¡ ´ëÇÑ
    +    ¿äûÀº <em>Ç×»ó</em> subl-°¡»óÈ£½ºÆ®°¡ ¼­ºñ½ºÇÑ´Ù.<br />
    +    Ŭ¶óÀ̾ðÆ®°¡ ¿Ã¹Ù¸¥ <code>Host:</code> Çì´õ¸¦ º¸³½´Ù¸é,
    +    URL <code>http://www.sub1.domain.tld/</code>¿¡ ´ëÇÑ ¿äûÀº
    +    subl-°¡»óÈ£½ºÆ®¿¡¼­¸¸ ¼­ºñ½ºÇÑ´Ù. ¸¸¾à <code>Host:</code> Çì´õ¸¦
    +    º¸³»Áö¾ÊÀ¸¸é Ŭ¶óÀ̾ðÆ®´Â ÃÖÃÊÀÇ È£½ºÆ®¿¡ ÀÖ´Â Á¤º¸ÆäÀÌÁö¸¦
    +    º¸°ÔµÈ´Ù.</p>
    +
    +    <p>¿©±â¿¡ ¹®Á¦°¡ ÀÖÀ½À» ÁÖÀÇÇ϶ó: Ŭ¶óÀ̾ðÆ®°¡
    +    <code>Host:</code> Çì´õ¸¦ º¸³»Áö¾ÊÀ¸¸é
    +    <code>http://www.sub2.domain.tld/sub1/</code>¿¡ ´ëÇÑ ¿äûµµ
    +    subl-°¡»óÈ£½ºÆ®°¡ ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
    +    Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¿Ã¹Ù¸¥ <code>Host:</code> Çì´õ¸¦ º¸³»´Â
    +    Ŭ¶óÀ̾ðÆ®´Â (<em>¿¹¸¦ µé¾î</em>, URL ÀüÄ¡»ç°¡ Àְųª ¾ø´Â)
    +    µÎ URLÀ» ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +	</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/examples.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/examples.html.tr.utf8 b/docs/manual/vhosts/examples.html.tr.utf8
    new file mode 100644
    index 0000000..d5c620d
    --- /dev/null
    +++ b/docs/manual/vhosts/examples.html.tr.utf8
    @@ -0,0 +1,562 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Sanal Konak Örnekleri - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Sanal Konak Örnekleri</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Bu belgede <a href="index.html">sanal konaklarla</a> ile ilgili olarak
    +      karşılaşılması olası tüm  senaryolara yer verilmeye çalışılmıştır.
    +      Buradaki senaryolar, tek bir  sunucu üzerinde  <a href="name-       based.html">isme dayalı</a> veya <a href="ip-based.html">IP’ye dayalı</a>
    +      sanal konaklar aracılığıyla çok sayıda sitenin sunumu ile ilgilidir.
    +    </p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Tek bir IP ile çok sayıda isme dayalı site</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#twoips">IP adresleri farklı çok sayıda isme dayalı site</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Aynı içeriği farklı IP adresleriyle sunmak
    +    (örn., dahili ve harici ağlara)</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#port">Farklı portlarla farklı siteler</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ip">IP’ye dayalı sanal konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#proxy"><code>Virtualhost</code> ve
    +    <code>mod_proxy</code>’nin birlikte kullanımı</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#default"><code>_default_</code> sanal konakları</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı
    +    sanal konakla yansılamak</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> yönergesinin kullanımı</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</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="purename" id="purename">Tek bir IP ile çok sayıda isme dayalı site</a></h2>
    +    
    +
    +    <p>Bu örnekte, makinenizin tek bir IP adresine çözümlenen çok sayıda konak 
    +      adına sahip olduğunu, <code>example.com</code> ve 
    +      <code>example.org</code> gibi farklı isimlere farklı yanıtlar vermek 
    +      istediğinizi varsayalım.</p>
    +    
    +    <div class="note"><h3>Bilginize</h3><p>Apache sunucusu üzerinde sanal konakları
    +      yapılandırmakla bu konak isimleri için sihirli bir şekilde DNS
    +      kayıtlarının da oluşturulmasını sağlamış olmazsınız. Bu isimler için
    +      ilgili DNS kayıtlarında sizin IP adresinize çözümlenen A kayıtlarının
    +      olması gerekir, yoksa sitenize kimse erişemez. Sitelere erişimi yerel
    +      olarak denemek isterseniz, bu girdileri <code>hosts</code> dosyanıza
    +      yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel
    +      ağınızdaki her makinenin <code>hosts</code> dosyasına bu girdileri
    +      yazarak yerel ağdan erişimi bu yolla sağlayabilirsiniz ama dış ağdan
    +      gelecek ziyaretçileriniz için DNS kayıtlarınızın olması şarttır.</p>
    +    </div>
    +
    +    <pre class="prettyprint lang-config"># Apache’nin 80. portu dinlediğinden emin olalım
    +Listen 80
    +&lt;VirtualHost *:80&gt;
    +  DocumentRoot "/siteler/ecom"
    +  ServerName example.com
    +
    +  # Diğer yönergeler, burada ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost *:80&gt;
    +  DocumentRoot "/siteler/eorg"
    +  ServerName example.org
    +
    +  # Diğer yönergeler, burada ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Yıldız imleri tüm adreslerle eşleşmeyi sağladığından ana sunucu
    +      (yapılandırma dosyası genelindeki yapılandırma - sunucu geneli)
    +      erişilebilir olmayacaktır. Yapılandırma
    +      dosyasındaki <code>ServerName example.com</code> yönergeli konak, ilk
    +      sanal konak olduğundan en yüksek önceliğe sahiptir ve
    +      <cite>öntanımlı</cite> veya <cite>baskın</cite> site olarak davranır.
    +      Yani, hiçbir <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesi 
    +      ile eşleşmeyen bir istek alındığında bu istek ilk <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> yapılandırması ile
    +      karşılanır.</p>
    +    
    +    <p>Yukarıdaki yapılandırmayı hemen hemen tüm isme dayalı sanal konaklar
    +      için kullanabilirsiniz. Bu yapılandırmanın çalışmayacağı tek durum,
    +      farklı içerikleri farklı IP adres veya portlardan sunma gereğiyle
    +      karşılaşmaktır.</p>
    +
    +    <div class="note"><h3>Bilginize</h3>
    +      <p><code>*</code> yerine sisteminizdeki belli bir IP adresini 
    +        yazabilirsiniz. Böyle sanal konaklar sadece, HTTP isteklerinin sadece 
    +        belirtilen IP adreslerinden alınması için kullanilabilir.</p>
    +
    +      <pre class="prettyprint lang-config">NameVirtualHost 192.168.1.22
    +
    +&lt;VirtualHost 192.168.1.22&gt;
    +  # vs. ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +      <p>Bununla birlikte, IP adresinin önceden kestirilebilir olmadığı
    +        sistemlerde, örneğin, hizmet sağlayıcınıza çevirmeli ağ ile bağlanıyor
    +        ve onun rasgele atadığı bir IP adresi için bir devingen DNS çözümü
    +        kullanıyorsanız, IP adresi değil de <code>*</code> kullanmak daha çok
    +        işinize yarayacaktır. Yıldız imi her IP adresi ile eşleşeceğinden IP
    +        adresiniz değişse bile bu yapılandırmayı değiştirmeden
    +        kullanabilirsiniz.</p>
    +    </div>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="twoips" id="twoips">IP adresleri farklı çok sayıda isme dayalı site</a></h2>
    +    
    +
    +    <div class="note"><h3>Bilginize</h3>
    +      <p>Burada açıklanan teknikler istendiği kadar çok IP adresine
    +        geniÅŸletilebilir.</p>
    +    </div>
    +
    +    <p>Sunucunun iki IP adresi olsun. Birinden "ana sunucu"
    +      (<code>192.168.1.2</code>) diÄŸerinden <code>example.com</code>
    +      <code>192.168.2.2</code> hizmet versin. Bu arada başka sanal konakları
    +      da sunabilelim istiyoruz.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +
    +# Bu, 192.168.1.2 adresindeki "ana sunucu" olsun
    +ServerName sunucu.example.com
    +DocumentRoot "/siteler/anasunucu"
    +
    +&lt;VirtualHost 192.168.1.20&gt;
    +    DocumentRoot "/siteler/ecom"
    +    ServerName example.com
    +
    +    # Diğer yönergeler, burada ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 192.168.1.20&gt;
    +    DocumentRoot "/siteler/eorg"
    +    ServerName example.org
    +
    +    # Diğer yönergeler, burada ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p><code>192.168.1.20</code> adresinden gelmeyen tüm isteklere ana sunucu
    +      (<code>sunucu.example.com</code>), <code>192.168.1.20</code> adresinden
    +      gelen sunucu ismi belirtmeyenler ile <code>Host:</code> başlığı
    +      belirtmeyenlere ise  <code>example.com</code> hizmet verecektir.</p>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="intraextra" id="intraextra">Aynı içeriği farklı IP adresleriyle sunmak
    +    (örn., dahili ve harici ağlara)</a></h2>
    +
    +    <p>Sunucu makine iki IP adresine sahip olsun. Biri iç ağa
    +      (<code>192.168.1.1</code>) diğeri dış ağa (<code>172.20.30.40</code>)
    +      bakıyor olsun. <code>sunucu.example.com</code> ismi dış ağda dış ağa
    +      bakan IP’ye, iç ağda ise iç ağa bakan IP’ye çözümleniyor olsun.</p>
    +
    +    <p>Bu durumda, sunucu hem iç hem de dış ağdan gelen isteklere aynı içerik,
    +      dolayısıyla aynı <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümü ile hizmet verebilir.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 192.168.1.1 172.20.30.40&gt;
    +    DocumentRoot "/siteler/sunucu"
    +    ServerName sunucu.example.com
    +    ServerAlias sunucu
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Artık, hem iç hem de dış ağdan gelen isteklere aynı
    +      <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
    +      bölümünden hizmet sunulacaktır.</p>
    +
    +    <div class="note"><h3>Bilginize:</h3>
    +      <p>İç ağdan istek yapan biri, tam nitelenmiş konak ismi
    +        <code>sunucu.example.com</code> yerine makine ismini
    +        (<code>sunucu</code>) kullanabilir (<code>ServerAlias sunucu</code>
    +        satırına dikkat).</p>
    +
    +      <p>Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece
    +        <code>*</code> belirtmekle sunucunun tüm IP adreslerine yine aynı
    +        içerikle yanıt vereceğine dikkat ediniz.</p>
    +    </div>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="port" id="port">Farklı portlarla farklı siteler</a></h2>
    +
    +    <p>Aynı IP adresine sahip çok sayıda konak ismine sahip olduğunuzu ve
    +      bunların bazılarının farklı portları kullanmasını istediğinizi
    +      varsayalım. Aşağıdaki örnekte, isim eşleşmesinin, en iyi eşleşen IP
    +      adresi ve port çifti saptandıktan sonra yer alması gösterilmiştir. </p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +Listen 8080
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerName example.com
    +    DocumentRoot "/siteler/ecom-80"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    ServerName example.com
    +    DocumentRoot "/siteler/ecom-8080"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerName example.org
    +    DocumentRoot "/siteler/eorg-80"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    ServerName example.org
    +    DocumentRoot "/siteler/eorg-8080"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ip" id="ip">IP’ye dayalı sanal konaklar</a></h2>
    +
    +    <p>Sunucu makinenin, biri <code>example.com</code> adından çözümlenen
    +      <code>172.20.30.40</code>, diğeri <code>example.org</code> adından
    +      çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/siteler/ecom"
    +    ServerName example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/siteler/eorg"
    +    ServerName example.org
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p><code>&lt;VirtualHost&gt;</code> yönergelerinde belirtilmeyen
    +      adreslerle yapılan isteklere (örneğin, <code>localhost</code>) sunucu
    +      genelindeki yapılandırma ile ana sunucu yanıt verecektir.</p>
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipport" id="ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></h2>
    +    
    +
    +    <p>Sunucu makinenin, biri <code>example.com</code> adından çözümlenen
    +      <code>172.20.30.40</code>, diğeri <code>example.org</code> adından
    +      çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun ve iki
    +      konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 172.20.30.40:80
    +Listen 172.20.30.40:8080
    +Listen 172.20.30.50:80
    +Listen 172.20.30.50:8080
    +
    +&lt;VirtualHost 172.20.30.40:80&gt;
    +    DocumentRoot "/siteler/ecom-80"
    +    ServerName example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40:8080&gt;
    +    DocumentRoot "/siteler/ecom-8080"
    +    ServerName example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:80&gt;
    +    DocumentRoot "/siteler/eorg-80"
    +    ServerName example.org
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:8080&gt;
    +    DocumentRoot "/siteler/eorg-8080"
    +    ServerName example.org
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="mixed" id="mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></h2>
    +    
    +
    +    <p>Bir <code>VirtualHost</code> yönergesinde belirtilen bir IP adresi başka
    +      bir sanal konakta görünmüyorsa bu sankon kesinlikle IP'ye dayalı bir
    +      sanal konaktır.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/siteler/ecom"
    +    ServerName example.com
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/siteler/eorg"
    +    ServerName example.org
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/siteler/enet"
    +    ServerName example.net
    +&lt;/VirtualHost&gt;
    +
    +# IP'ye dayalı
    +&lt;VirtualHost 172.20.30.50&gt;
    +    DocumentRoot "/siteler/eedu"
    +    ServerName example.edu
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.60&gt;
    +    DocumentRoot "/siteler/egov"
    +    ServerName example.gov
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="proxy" id="proxy"><code>Virtualhost</code> ve
    +    <code>mod_proxy</code>’nin birlikte kullanımı</a></h2>
    +
    +    <p>Bu örnekte bir arabirimi dışarıya bakan bir makinede, başka bir
    +      makinede çalışan bir sunucuya sanal konak olarak, bir vekil sunucu
    +      çalıştırmak istediğimizi varsayıyoruz. <code>192.168.111.2</code> IP
    +      adresli bir makinede aynı isimde bir sanal konak yapılandırılmış olsun.
    +      Çok sayıda konak ismi için vekil olarak tek bir makine kullandığımızdan
    +      ve konak isminin de aktarılmasını arzuladığımızdan <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost">ProxyPreserveHost
    +      On</a></code> yönergesini kullandık.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost *:*&gt;
    +    ProxyPreserveHost On
    +    ProxyPass        "/" "http://192.168.111.2/"
    +    ProxyPassReverse "/" "http://192.168.111.2/"
    +    ServerName konak.example.com
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="default" id="default"><code>_default_</code> sanal konakları</a></h2>
    +
    +    <h3><a name="defaultallports" id="defaultallports">Tüm portlar için <code>_default_</code></a></h3>
    +      
    +
    +    <p>Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir
    +      adresi/portu ile eÅŸleÅŸmeyen istekleri yakalamak istersek...</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:*&gt;
    +    DocumentRoot "/siteler/default"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Bütün portlarla eşleşen böyle bir öntanımlı sanal konağın kullanımı
    +      hiçbir isteğin ana sunucuya gitmemesi sonucunu doğurur.</p>
    +
    +    <p>Bir öntanımlı sanal konak, asla, isme dayalı sanal konaklar için
    +      kullanılmış bir adrese/porta gönderilmiş bir isteğe hizmet sunmaz. Eğer
    +      istek bilinmeyen bir <code>Host:</code> başlığına sahipse veya hiç
    +      <code>Host:</code> başlığı içermiyorsa isteğe daima ilk (yapılandırma
    +      dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.</p>
    +
    +    <p>Her isteği tek bir bilgilendirme sayfasına (veya betiğe) yönlendirmek
    +      isterseniz <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> veya
    +      <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesini
    +      kullanabilirsiniz.</p>
    +    
    +
    +    <h3><a name="defaultdifferentports" id="defaultdifferentports">Farklı portlardan <code>_default_</code></a></h3>
    +      
    +
    +    <p>Önceki yapılandırmaya ek olarak 80. portta ayrı bir
    +      <code>_default_</code> sanal konağı kullanmak istersek...</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
    +    DocumentRoot "/siteler/default80"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost _default_:*&gt;
    +    DocumentRoot "/siteler/default"
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>80. porttan hizmet sunan <code>_default_</code> sanal konağı IP adresi
    +      belirtilmeyen tüm istekleri yakalar, bunu yapabilmesi için yapılandırma
    +      dosyasında tüm portlara hizmet sunan benzerinden önce yer almalıdır. Bu
    +      durumda ana sunucu hiçbir isteğe yanıt vermeyecektir.</p>
    +    
    +
    +    <h3><a name="defaultoneport" id="defaultoneport">Tek portluk <code>_default_</code></a></h3>
    +      
    +
    +    <p><code>_default_</code> sanal konağının sadece 80. porttan hizmet
    +      sunmasını istersek...</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
    +    DocumentRoot "/siteler/default"
    +    ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>80. porttan gelen IP adresi belirtilmemiÅŸ isteklere
    +      <code>_default_</code> sanal konağı, diğer portlardan gelen adres
    +      belirtilmemiÅŸ isteklere ise ana sunucu hizmet verecektir.</p>
    +
    +    <p>Bir sanal konak bildiriminde <code>*</code> kullanımı
    +      <code>_default_</code> kullanımından daha yüksek öncelik sağlar.</p>
    +   
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="migrate" id="migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı
    +    sanal konakla yansılamak</a></h2>
    +
    +    <p>İsme dayalı sanal konak örneklerinin <a href="#twoips">2. sinde</a> adı
    +      geçen <code>example.org</code> bu örnekte kendi IP adresinden hizmet
    +      veriyor olsun. İsme dayalı sanal konağı eski IP adresiyle kaydetmiş
    +      vekiller ve isim sunucularından kaynaklanacak olası sorunlardan kaçınmak
    +      için yansılama sırasında sanal konağı hem eski hem de yeni IP adresiyle
    +      sunmamız lazım.</p>
    +
    +    <p>Çözüm kolay, çünkü yapacağımız sadece <code>VirtualHost</code>
    +      yönergesine yeni IP adresini (<code>192.168.1.2</code>) eklemek
    +      olacak.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 80
    +ServerName example.com
    +DocumentRoot "/siteler/ecom"
    +
    +&lt;VirtualHost 192.168.1.20 192.168.1.2&gt;
    +    DocumentRoot "/siteler/eorg"
    +    ServerName example.org
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 192.168.1.20&gt;
    +    DocumentRoot "/siteler/enet"
    +    ServerName example.enet
    +    ServerAlias *.example.net
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Böylece sanal konağa hem yeni (bir IP’ye dayalı sanal konak olarak)
    +      hem de eski adresinden (bir isme dayalı sanal konak olarak)
    +      eriÅŸilebilecektir.</p>
    +
    +  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="serverpath" id="serverpath"><code>ServerPath</code> yönergesinin kullanımı</a></h2>
    +    
    +
    +    <p>İsme dayalı iki sanal konağı olan bir sunucumuz olsun. Doğru sanal
    +      konağa erişebilmek için istemcinin doğru <code>Host:</code> başlığı
    +      göndermesi gerekir. Eski HTTP/1.0 istemcileri böyle bir başlık
    +      göndermedikleri için Apache istemcinin hangi sanal konağa erişmek
    +      istediÄŸini bilemez (ve isteÄŸe ilk sanal konaktan hizmet sunar). Daha iyi
    +      bir geriye uyumluluk sağlamak için isme dayalı sanal konağa bir önek
    +      bağlantısı içeren bir bilgilendirme sayfası sunmak üzere yeni bir sanal
    +      konak oluÅŸturabiliriz.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 172.20.30.40&gt;
    +    # ilk sanal konak
    +    DocumentRoot "/siteler/baska"
    +    RewriteEngine On
    +    RewriteRule "." "/siteler/baska/index.html"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot /siteler/baska/bir
    +    ServerName "bir.baska.tld"
    +    ServerPath "/bir/"
    +    RewriteEngine On
    +    RewriteRule "^(/bir/.*) /siteler/baska$1"
    +    # ...
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.40&gt;
    +    DocumentRoot "/siteler/baska/iki"
    +    ServerName iki.baska.tld
    +    ServerPath "/iki/"
    +    RewriteEngine On
    +    RewriteRule "^(/iki/.*)" "/siteler/baska$1"
    +    # ...
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> yönergesinden dolayı
    +      <code>http://bir.baska.tld/bir/</code> şeklinde yapılan isteklere
    +      <em>daima</em> “bir†sanal konağı hizmet sunacaktır.</p>
    +
    +    <p><code>http://bir.baska.tld/</code> şeklinde yapılan isteklere ise
    +      istemcinin doğru <code>Host:</code> başlığı göndermesi şartıyla
    +      “bir†sanal konağı hizmet sunacaktır. İstemci, bir
    +      <code>Host:</code> başlığı göndermediği takdirde ilk konaktan bir
    +      bilgilendirme sayfası alacaktır.</p>
    +
    +    <p>Yalnız buradaki bir tuhaflığa dikkat edin: Eğer istemci bir
    +      <code>Host:</code> başlığı göndermeden
    +      <code>http://iki.baska.tld/bir/</code> ÅŸeklinde bir istek yaparsa bu
    +      isteğe de “bir†sanal konağı hizmet sunacaktır.</p>
    +
    +    <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesi, bir
    +      istemcinin, bir URL öneki belirtsin ya da belirtmesin doğru
    +      <code>Host:</code> başlığı gönderdiğinden emin olmak için
    +      kullanılmıştır.</p>
    +
    +  </div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/examples.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/examples.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/fd-limits.html b/docs/manual/vhosts/fd-limits.html
    new file mode 100644
    index 0000000..9ae89ba
    --- /dev/null
    +++ b/docs/manual/vhosts/fd-limits.html
    @@ -0,0 +1,21 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: fd-limits.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: fd-limits.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: fd-limits.html.ja.utf8
    +Content-Language: ja
    +Content-type: text/html; charset=UTF-8
    +
    +URI: fd-limits.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: fd-limits.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/vhosts/fd-limits.html.en b/docs/manual/vhosts/fd-limits.html.en
    new file mode 100644
    index 0000000..730573a
    --- /dev/null
    +++ b/docs/manual/vhosts/fd-limits.html.en
    @@ -0,0 +1,155 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>File Descriptor Limits - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page" class="no-sidebar"><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.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>File Descriptor Limits</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/fd-limits.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>When using a large number of Virtual Hosts, Apache may run
    +    out of available file descriptors (sometimes called <cite>file
    +    handles</cite>) if each Virtual Host specifies different log
    +    files. The total number of file descriptors used by Apache is
    +    one for each distinct error log file, one for every other log
    +    file directive, plus 10-20 for internal use. Unix operating
    +    systems limit the number of file descriptors that may be used
    +    by a process; the limit is typically 64, and may usually be
    +    increased up to a large hard-limit.</p>
    +
    +    <p>Although Apache attempts to increase the limit as required,
    +    this may not work if:</p>
    +
    +    <ol>
    +      <li>Your system does not provide the <code>setrlimit()</code>
    +      system call.</li>
    +
    +      <li>The <code>setrlimit(RLIMIT_NOFILE)</code> call does not
    +      function on your system (such as Solaris 2.3)</li>
    +
    +      <li>The number of file descriptors required exceeds the hard
    +      limit.</li>
    +
    +      <li>Your system imposes other limits on file descriptors,
    +      such as a limit on stdio streams only using file descriptors
    +      below 256. (Solaris 2)</li>
    +    </ol>
    +
    +    <p>In the event of problems you can:</p>
    +
    +    <ul>
    +      <li>Reduce the number of log files; don't specify log files
    +      in the <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +      sections, but only log to the main log files. (See <a href="#splitlogs">Splitting up your log files</a>, below, for more
    +      information on doing this.)</li>
    +
    +      <li>
    +        If your system falls into 1 or 2 (above), then increase the
    +        file descriptor limit before starting Apache, using a
    +        script like:
    +
    +        <div class="example"><p><code>
    +          <code>#!/bin/sh<br />
    +           ulimit -S -n 100<br />
    +           exec httpd</code>
    +        </code></p></div>
    +      </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="splitlogs" id="splitlogs">Splitting up your log files</a></h2>
    +
    +<p>If you want to log multiple virtual hosts to the same log file, you
    +may want to split up the log files afterwards in order to run
    +statistical analysis of the various virtual hosts. This can be
    +accomplished in the following manner.</p>
    +
    +<p>First, you will need to add the virtual host information to the log
    +entries. This can be done using the <code class="directive"><a href="../mod/mod_log_config.html#logformat">
    +LogFormat</a></code>
    +directive, and the <code>%v</code> variable. Add this to the beginning
    +of your log format string:</p>
    +
    +<pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost
    +CustomLog logs/multiple_vhost_log vhost</pre>
    +
    +
    +<p>This will create a log file in the common log format, but with the
    +canonical virtual host (whatever appears in the
    +<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> directive) prepended to
    +each line. (See <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> for
    +more about customizing your log files.)</p>
    +
    +<p>When you wish to split your log file into its component parts (one
    +file per virtual host), you can use the program <code><a href="../programs/other.html">split-logfile</a></code> to accomplish
    +this. You'll find this program in the <code>support</code> directory
    +of the Apache distribution.</p>
    +
    +<p>Run this program with the command:</p>
    +
    +<div class="example"><p><code>
    +split-logfile &lt; /logs/multiple_vhost_log
    +</code></p></div>
    +
    +<p>This program, when run with the name of your vhost log file, will
    +generate one file for each virtual host that appears in your log file.
    +Each file will be called <code>hostname.log</code>.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/fd-limits.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/fd-limits.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/fd-limits.html.fr.utf8 b/docs/manual/vhosts/fd-limits.html.fr.utf8
    new file mode 100644
    index 0000000..f926e16
    --- /dev/null
    +++ b/docs/manual/vhosts/fd-limits.html.fr.utf8
    @@ -0,0 +1,167 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Limites des descripteurs de fichiers - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page" class="no-sidebar"><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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Serveurs Virtuels</a></div><div id="page-content"><div id="preamble"><h1>Limites des descripteurs de fichiers</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Quand de nombreux serveurs virtuels sont créés, Apache peut
    +    dépasser les limites en descripteurs de fichiers ('file descriptors',
    +    également appelés <cite>gestionnaires de fichiers</cite>) si chacun
    +    des serveurs virtuels utilise ses propres fichiers journaux. Le
    +    nombre total de descripteurs de fichiers utilisés par Apache est
    +    d'un par fichier journal, un pour chacune des autres directives
    +    de fichiers journaux, plus un nombre constant compris entre 10 et 20
    +    pour son fonctionnement interne. Les systèmes d'exploitation Unix
    +    limitent le nombre de descripteurs de fichiers utilisables par
    +    processus&nbsp;; une valeur courante pour cette limite est de 64, et
    +    cette valeur peut le plus souvent être augmentée.</p>
    +
    +    <p>Apache tente d'accroître cette valeur limite si nécessaire, mais
    +    sans y parvenir dans les cas suivants&nbsp;:</p>
    +
    +    <ol>
    +      <li>Le système d'exploitation ne permet pas l'utilisation d'appels
    +      systèmes <code>setrlimit()</code>.</li>
    +
    +      <li>L'appel <code>setrlimit(RLIMIT_NOFILE)</code> ne fonctionne pas
    +      sur votre système d'exploitation (c'est le cas sous Solaris 2.3).</li>
    +
    +      <li>Le nombre de descripteurs de fichiers nécessaires à Apache
    +      dépasse la limite physique du matériel.</li>
    +
    +      <li>Le système impose d'autres limites sur l'utilisation des
    +      descripteurs de fichiers, comme par exemple une limite sur les
    +      flux stdio, utilisables uniquement sur les descripteurs de
    +      fichiers inférieurs à 256. (sous Solaris 2).</li>
    +    </ol>
    +
    +    <p>En cas de problème, Vous pouvez&nbsp;:</p>
    +
    +    <ul>
    +      <li>Réduire le nombre de fichiers journaux, en ne spécifiant
    +      aucun fichier journal dans les sections
    +      <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>,
    +      en donc en envoyant les informations aux fichiers journaux du
    +      serveur principal (Voir <a href="#splitlogs">Éclatement des
    +      fichiers journaux</a> ci-dessous pour plus d'informations sur
    +      cette possibilité).</li>
    +
    +      <li>
    +        Dans les cas 1 ou 2 (évoqués ci-dessus), augmentez la limite sur
    +        les descripteurs de fichiers avant le démarrage d'Apache, au
    +        moyen d'un script comme
    +
    +        <div class="example"><p><code>
    +          <code>#!/bin/sh<br />
    +           ulimit -S -n 100<br />
    +           exec httpd</code>
    +        </code></p></div>
    +      </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="splitlogs" id="splitlogs">Éclatement des fichiers journaux</a></h2>
    +
    +<p>Lorsque vous choisissez d'enregistrer les informations émanant de
    +plusieurs serveurs virtuels dans un même fichier journal, vous voudrez
    +ensuite pouvoir scinder ces informations à des fins de statistiques, par
    +exemple, sur les différents serveurs virtuels. Il est possible de procéder
    +de la manière suivante&nbsp;:</p>
    +
    +<p>Tout d'abord, vous devez ajouter le nom du serveur virtuel à chaque
    +entrée du journal. Ceci se paramètre au moyen de la directive
    +<code class="directive"><a href="../mod/mod_log_config.html#logformat"> LogFormat</a></code> et de la
    +variable <code>%v</code>. Ajoutez cette variable au début de la chaîne
    +de définition du format de journalisations&nbsp;:</p>
    +
    +<pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost
    +CustomLog logs/multiple_vhost_log vhost</pre>
    +
    +
    +<p>Cette configuration va provoquer la création d'un fichier de
    +journalisation au format standard (CLF&nbsp;: 'Common Log Format'), mais dont
    +chaque ligne débutera par le nom canonique du serveur virtuel (spécifié
    +par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>).
    +(Voir <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> pour d'autres informations sur la
    +personnalisation des fichiers journaux.)</p>
    +
    +<p>Au moment de séparer les informations du fichier journal en un fichier
    +par serveur virtuel, le programme <code>
    +<a href="../programs/other.html">split-logfile</a></code> peut être
    +utilisé. Ce programme peut être trouvé dans le répertoire
    +<code>support</code> de la distribution d'Apache.</p>
    +
    +<p>Exécutez ce programme au moyen de la commande&nbsp;:</p>
    +
    +<div class="example"><p><code>
    +split-logfile &lt; /logs/multiple_vhost_log
    +</code></p></div>
    +
    +<p>Une fois exécuté avec le nom du fichier contenant tous les journaux,
    +ce programme va générer un fichier pour chacun des serveurs virtuels
    +qui apparaît dans le fichier d'entrée. Chaque fichier en sortie est
    +nommé <code>nomduserveur.log</code>.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/fd-limits.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/fd-limits.html.ja.utf8 b/docs/manual/vhosts/fd-limits.html.ja.utf8
    new file mode 100644
    index 0000000..8f2d447
    --- /dev/null
    +++ b/docs/manual/vhosts/fd-limits.html.ja.utf8
    @@ -0,0 +1,157 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="ja" xml:lang="ja"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>ファイル記述å­ã®é™ç•Œ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page" class="no-sidebar"><div id="page-header">
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
    +<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a> &gt; <a href="./">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></div><div id="page-content"><div id="preamble"><h1>ファイル記述å­ã®é™ç•Œ</h1>
    +<div class="toplang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
    +            å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +            最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
    +        </div>
    +
    +
    +    <p>ãŸãã•ã‚“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’é‹ç”¨ã™ã‚‹å ´åˆã€ã‚‚ã—ã€
    +    å„ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã”ã¨ã«ç•°ãªã‚‹ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã—ã¦ã‚ã‚‹ã¨ã€
    +    Apache ãŒãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ (<cite>ファイルãƒãƒ³ãƒ‰ãƒ«</cite>ã¨ã‚‚呼ã°ã‚Œã¾ã™)
    +    を使ã„切ã£ã¦ã—ã¾ã†ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚Apache ãŒä½¿ç”¨ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«
    +    記述å­ã®æ•°ã¯ã€å„エラーログファイルã«ã¤ã 1 ã¤ã€ä»–ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®
    +    ディレクティブã«ã¤ã 1 ã¤ã€ã•ã‚‰ã«å†…部ã§ä½¿ç”¨ã™ã‚‹ 10 ã‹ã‚‰ 20ã€
    +    ã®åˆè¨ˆã«ãªã‚Šã¾ã™ã€‚Unix オペレーティングシステムã§ã¯ãƒ—ロセスã”ã¨ã«
    +    使用å¯èƒ½ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã®æ•°ã‚’制é™ã—ã¦ã„ã¾ã™ã€‚ãŸã„ã¦ã„ã®å ´åˆã¯ 64 ã§ã€
    +    普通ã¯å¤§ããªå€¤ã®ãƒãƒ¼ãƒ‰ãƒªãƒŸãƒƒãƒˆã¾ã§å¢—ã‚„ã™ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +
    +    <p>Apache ã¯å¿…è¦ã«å¿œã˜ã¦ä¸Šé™ã‚’拡大ã—よã†ã¨è©¦ã¿ã¾ã™ãŒã€
    +    以下ã®ã‚ˆã†ãªå ´åˆã«ã¯ã†ã¾ãã„ã‹ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。</p>
    +
    +    <ol>
    +      <li>利用ã—ã¦ã„るシステム㧠<code>setrlimit()</code>
    +      システムコールãŒæä¾›ã•ã‚Œã¦ã„ãªã„。</li>
    +
    +      <li>システム上㧠<code>setrlimit</code>(RLIMIT_NOFILE) ãŒå‹•ä½œã—ãªã„
    +      (ãŸã¨ãˆã° Solaris 2.3 ã®ã‚ˆã†ã«)。</li>
    +
    +      <li>è¦æ±‚ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã®æ•°ãŒ
    +      ãƒãƒ¼ãƒ‰ãƒªãƒŸãƒƒãƒˆã‚’超ãˆã¦ã—ã¾ã†ã€‚</li>
    +      
    +      <li>システムã«ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã«é–¢ã—ã¦åˆ¥ã®åˆ¶é™ãŒå­˜åœ¨ã—ã¦ã—ã¾ã£ã¦ã„る。
    +      ãŸã¨ãˆã°ã€stdio ストリームã§ã¯ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã‚’ 256 以上使ãˆãªã„
    +      (Solaris 2)ã€ãªã©ã€‚</li>
    +    </ol>
    +
    +    <p>å•é¡ŒãŒç™ºç”Ÿã—ãŸæ™‚ã«å–り得る対処方法ã¯æ¬¡ã®ã¨ãŠã‚Š:</p>
    +
    +    <ul>
    +      <li>ログファイルã®æ•°ã‚’減らã™ã€‚<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +      セクションã§ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã›ãšã€ãƒ¡ã‚¤ãƒ³ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«ã®ã¿è¨˜éŒ²ã™ã‚‹ã€‚
    +      (ã“ã‚Œã«é–¢ã™ã‚‹è©³ã—ã„情報ã¯ä»¥ä¸‹ã®<a href="#splitlogs">ログファイルã®åˆ†å‰²</a>を読んã§ãã ã•ã„。)</li>
    +
    +      <li>
    +        ã‚‚ã—ã€å‰è¿°ã® 1 ã¾ãŸã¯ 2 ã®å ´åˆã§ã‚ã‚Œã°ã€
    +        Apache ã‚’èµ·å‹•ã™ã‚‹å‰ã«ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã‚’増やã—ã¾ã™ã€‚
    +        ãŸã¨ãˆã°æ¬¡ã®ã‚ˆã†ãªã‚¹ã‚¯ãƒªãƒ—トを使ã„ã¾ã™ã€‚
    +
    +        <div class="example"><p><code>
    +          <code>#!/bin/sh<br />
    +           ulimit -S -n 100<br />
    +           exec httpd</code>
    +        </code></p></div>
    +      </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="splitlogs" id="splitlogs">ログファイルã®åˆ†å‰²</a></h2>
    +
    +<p>複数ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒ­ã‚°ã‚’åŒã˜ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«åŽé›†ã—よã†ã¨ã—ã¦ã„ã‚‹ã¨ãã«ã¯ã€
    +å„ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã¤ã„ã¦çµ±è¨ˆçš„ãªè§£æžã‚’実行ã™ã‚‹ãŸã‚ã«å¾Œã§ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’
    +分割ã—ãŸããªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¦å®Ÿç¾ã§ãã¾ã™ã€‚</p>
    +
    +<p>ã¾ãšã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®æƒ…報をログã®ã‚¨ãƒ³ãƒˆãƒªã«è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
    +ã“れ㯠<code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code>
    +ディレクティブ㮠<code>%v</code> 変数を使ã†ã“ã¨ã§ã§ãã¾ã™ã€‚
    +ã“れをログã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å­—列ã®å…ˆé ­ã«è¿½åŠ ã—ã¾ã™:</p>
    +
    +<div class="example"><p><code>
    +LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost<br />
    +CustomLog logs/multiple_vhost_log vhost
    +</code></p></div>
    +
    +<p>ã“れ㯠common log format ã®ãƒ­ã‚°ã‚’作æˆã—ã¾ã™ãŒã€ãã‚Œãžã‚Œã®è¡Œã®å…ˆé ­ã«
    +æ­£è¦åŒ–ã•ã‚ŒãŸãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®åå‰
    +(<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
    +ディレクティブã«æ›¸ã‹ã‚Œã¦ã„ã‚‹ã‚‚ã®) ãŒä»˜åŠ ã•ã‚Œã¾ã™ã€‚
    +(ログファイルã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã®è©³ç´°ã«ã¤ã„ã¦ã¯ <a href="../mod/mod_log_config.html#formats">Custom Log Formats</a> ã‚’
    +読んã§ãã ã•ã„。)</p>
    +
    +<p>ログファイルをå„部分 (ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆæ¯Žã« 1 ファイル) ã«åˆ†ã‘ãŸã„ã¨ãã¯ã€
    +<code><a href="../programs/other.html">split-logfile</a></code>
    +を使ã£ã¦è¡Œãªã†ã“ã¨ãŒã§ãã¾ã™ã€‚プログラム㯠Apache é…布㮠
    +<code>support</code> ディレクトリã«ã‚ã‚Šã¾ã™ã€‚</p>
    +
    +<p>以下ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰ã§ã“ã®ãƒ—ログラムを実行ã—ã¾ã™:</p>
    +
    +<div class="example"><p><code>
    +split-logfile &lt; /logs/multiple_vhost_log
    +</code></p></div>
    +
    +<p>ã“ã®ãƒ—ログラムã¯ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã¨ã¨ã‚‚ã«å®Ÿè¡Œã•ã‚Œã€
    +ログファイルã«ç¾ã‚Œã‚‹ãã‚Œãžã‚Œã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆæ¯Žã«ä¸€ã¤ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã—ã¾ã™ã€‚
    +ãã‚Œãžã‚Œã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ <code>ホストå.log</code> ã¨ã„ã†åå‰ã«ãªã‚Šã¾ã™ã€‚</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/fd-limits.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/fd-limits.html.ko.euc-kr b/docs/manual/vhosts/fd-limits.html.ko.euc-kr
    new file mode 100644
    index 0000000..db1237f
    --- /dev/null
    +++ b/docs/manual/vhosts/fd-limits.html.ko.euc-kr
    @@ -0,0 +1,152 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>ÆÄÀϱâ¼úÀÚ(file descriptor) ÇÑ°è - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page" class="no-sidebar"><div id="page-header">
    +<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">°¡»óÈ£½ºÆ®</a></div><div id="page-content"><div id="preamble"><h1>ÆÄÀϱâ¼úÀÚ(file descriptor) ÇÑ°è</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +
    +    <p>°¡»óÈ£½ºÆ®¸¦ ¸¹ÀÌ »ç¿ëÇÏ°í °¢ °¡»óÈ£½ºÆ®¿¡ ¼­·Î ´Ù¸¥
    +    ·Î±×ÆÄÀÏÀ» ÁöÁ¤Çϸé, ¾ÆÆÄÄ¡°¡ »ç¿ë°¡´ÉÇÑ ÆÄÀϱâ¼úÀÚ(file
    +    descriptor, ÈçÈ÷ <cite>ÆÄÀÏÇÚµé(file handle)</cite>À̶ó°í
    +    ºÎ¸§)¸¦ ´Ù ½á¹ö¸± ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ »ç¿ëÇÏ´Â ÆÄÀϱâ¼úÀÚÀÇ
    +    ÃÑ °³¼ö´Â ¿À·ù ·Î±×ÆÄÀÏ´ç ÇÑ°³, ´Ù¸¥ ·Î±×ÆÄÀÏ Áö½Ã¾î´ç
    +    ÇÑ°³, Ãß°¡·Î ³»ºÎ¿ëµµ·Î 10-20°³¸¦ ´õÇÑ ¼ö´Ù. À¯´Ð½º ¿î¿µÃ¼Á¦´Â
    +    ÇÁ·Î¼¼½º°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ÆÄÀϱâ¼úÀÚ °³¼ö¸¦ Á¦ÇÑÇÑ´Ù. ÀÌ ÇÑ°è´Â
    +    º¸Åë 64°³·Î, º¸Åë À̺¸´Ù Å« hard-limit±îÁö ´Ã¸± ¼ö ÀÖ´Ù.</p>
    +
    +    <p>¾ÆÆÄÄ¡´Â ÀÌ ÇѰ踦 ÇÊ¿äÇѸ¸Å­ ´Ã¸®·Á°í ÇÏÁö¸¸, ½ÇÆÐÇÏ´Â
    +    °æ¿ì°¡ ÀÖ´Ù:</p>
    +
    +    <ol>
    +      <li>½Ã½ºÅÛÀÌ <code>setrlimit()</code> ½Ã½ºÅÛÈ£ÃâÀ»
    +      Á¦°øÇÏÁö ¾Ê´Â´Ù.</li>
    +
    +      <li>(Solaris 2.3°ú °°ÀÌ) ½Ã½ºÅÛ¿¡¼­
    +      <code>setrlimit(RLIMIT_NOFILE)</code> ÇÔ¼ö°¡ µ¿ÀÛÇÏÁö
    +      ¾Ê´Â´Ù.</li>
    +
    +      <li>ÇÊ¿äÇÑ ÆÄÀϱâ¼úÀÚ °³¼ö°¡ hard limit º¸´Ù ¸¹´Ù.</li>
    +      
    +      <li>(Solaris 2) ½Ã½ºÅÛÀÌ stdio ½ºÆ®¸²À» 256ÀÌÇÏÀÇ
    +      ÆÄÀϱâ¼úÀÚ¸¸À» »ç¿ëÇϵµ·Ï Á¦ÇÑÇÏ´Â µî ÆÄÀϱâ¼úÀÚ¿¡
    +      Á¦¾àÀ» °¡ÇÑ´Ù.</li>
    +    </ol>
    +
    +    <p>ÀÌ °æ¿ì ÇØ°áÃ¥Àº:</p>
    +
    +    <ul>
    +      <li>·Î±×ÆÄÀÏ °³¼ö¸¦ ÁÙÀδÙ. <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ¼½¼Ç¿¡¼­ ·Î±×ÆÄÀÏÀ»
    +      ÁöÁ¤ÇÏÁö ¾Ê°í ÁÖ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÑ´Ù. (´õ ÀÚ¼¼ÇÑ ¹æ¹ýÀº
    +      ¾Æ·¡ <a href="#splitlogs">·Î±×ÆÄÀÏ ³ª´©±â</a>¸¦ Âü°íÇ϶ó.)</li>
    +
    +      <li>
    +        »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÌ (À§ÀÇ) 1¹ø°³ª 2¹ø° °æ¿ì¿¡ ÇØ´çÇÑ´Ù¸é,
    +        ´ÙÀ½°ú °°Àº ½ºÅ©¸³Æ®·Î ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϱâ Àü¿¡ ÆÄÀϱâ¼úÀÚ
    +        ÇѰ踦 ´Ã¸°´Ù.
    +
    +        <div class="example"><p><code>
    +          <code>#!/bin/sh<br />
    +           ulimit -S -n 100<br />
    +           exec httpd</code>
    +        </code></p></div>
    +      </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="splitlogs" id="splitlogs">·Î±×ÆÄÀÏ ³ª´©±â</a></h2>
    +
    +<p>¿©·¯ °¡»óÈ£½ºÆ®°¡ °°Àº ·Î±×ÆÄÀÏÀ» »ç¿ëÇÑ´Ù¸é ³ªÁß¿¡ °¢
    +°¡»óÈ£½ºÆ®ÀÇ Åë°èºÐ¼®À» À§ÇØ ·Î±×ÆÄÀÏÀ» ³ª´©°í ½ÍÀ» °ÍÀÌ´Ù.
    +ÀÌ ÀÛ¾÷Àº ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +<p>¸ÕÀú ·Î±× Ç׸ñ¿¡ °¡»óÈ£½ºÆ® Á¤º¸¸¦ Ãß°¡ÇÑ´Ù. À̸¦ À§ÇØ
    +<code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code>
    +Áö½Ã¾î¿Í <code>%v</code> º¯¼ö¸¦ »ç¿ëÇÑ´Ù. ÀÌ º¯¼ö¸¦ ·Î±×
    +Çü½Ä¹®ÀÚ¿­ ¾Õ¿¡ Ãß°¡ÇÑ´Ù:</p>
    +
    +<div class="example"><p><code>
    +LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost<br />
    +CustomLog logs/multiple_vhost_log vhost
    +</code></p></div>
    +
    +<p>±×·¯¸é common ·Î±×Çü½Ä ¾Õ¿¡ (<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> Áö½Ã¾î¿¡ ³ª¿À´Â) Á¤±Ô
    +°¡»óÈ£½ºÆ®¸¦ Æ÷ÇÔÇÏ¿© ·Î±×ÆÄÀÏÀ» ±â·ÏÇÑ´Ù. (·Î±×ÆÄÀÏ
    +»ç¿ëÀÚÁ¤ÀÇ¿¡ °üÇÑ ³»¿ëÀº <code class="directive"><a href="../mod/mod_log_config.html#»ç¿ëÀÚÁ¤ÀÇ ·Î±×Çü½Ä">»ç¿ëÀÚÁ¤ÀÇ ·Î±×Çü½Ä</a></code>À»
    +Âü°íÇ϶ó.)</p>
    +
    +<p>·Î±×ÆÄÀÏÀ» (°¡»óÈ£½ºÆ®´ç ÇÑ ÆÄÀϾ¿) ³ª´©°í ½Í´Ù¸é <code><a href="../programs/other.html">split-logfile</a></code> ÇÁ·Î±×·¥À»
    +»ç¿ëÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¾ÆÆÄÄ¡ ¹èÆ÷º»ÀÇ <code>support</code>
    +µð·ºÅ丮¿¡ ÀÖ´Ù.</p>
    +
    +<p>´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù:</p>
    +
    +<div class="example"><p><code>
    +split-logfile &lt; /logs/multiple_vhost_log
    +</code></p></div>
    +
    +<p>°¡»óÈ£½ºÆ® ·Î±×ÆÄÀÏÀ» °¡Áö°í ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ·Î±×ÆÄÀÏ¿¡
    +³ª¿À´Â °¢ °¡»óÈ£½ºÆ®´ç ÆÄÀÏÀ» Çϳª¾¿ ¸¸µç´Ù. °¢°¢ÀÇ ÆÄÀϸíÀº
    +<code>hostname.log</code>ÀÌ´Ù.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/fd-limits.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/fd-limits.html.tr.utf8 b/docs/manual/vhosts/fd-limits.html.tr.utf8
    new file mode 100644
    index 0000000..73a7037
    --- /dev/null
    +++ b/docs/manual/vhosts/fd-limits.html.tr.utf8
    @@ -0,0 +1,150 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Dosya Tanıtıcı Sınırları - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page" class="no-sidebar"><div id="page-header">
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Dosya Tanıtıcı Sınırları</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Çok büyük sayıda sanal konak kullanıyorsanız ve bunların her biri için
    +      ayrı günlük kayıtları tutuyorsanız, Apache dosya tanıtıcılarını
    +      tüketebilir. Apache tarafından, dahili olarak 10-20 dosya tanıtıcıya ek
    +      olarak her hata günlüğü için bir ve her diğer günlük kaydı için bir dosya
    +      tanıcı kullanılır. Unix işletim sisteminde dosya tanıtıcıların sayısı
    +      süreç başına 64 taneyle sınırlıdır ve gerekirse donanıma bağlı olarak
    +      arttırılabilir.</p>
    +
    +    <p>Apache gerektiğinde bu sınırı kendisi arttırmaya çalışırsa da bu her
    +      zaman mümkün olmaz. Şöyle ki:</p>
    +
    +    <ol>
    +      <li>Sisteminiz <code>setrlimit()</code> sistem çağrısını
    +        sağlamıyordur.</li>
    +
    +      <li>Sisteminizde <code>setrlimit(RLIMIT_NOFILE)</code> çağrısı hiçbir işe
    +        yaramıyordur (örneğin, Solaris 2.3).</li>
    +
    +      <li>Dosya tanıtıcılarının sayısı donanıma bağlı olarak daha fazla
    +        arttırılamıyordur.</li>
    +
    +      <li>Sisteminiz dosya tanıtıcı sayısını başka sınırlara bağlı kılmıştır:
    +        örneğin stdio akımları ile ilgili sınır, dosya tanıtıcı sayısının
    +        256’nın altında ollmasını gerektiriyordur (Solaris 2).</li>
    +    </ol>
    +
    +    <p>Böyle sorunlar karşısında yapabilecekleriniz:</p>
    +
    +    <ul><li>Ana günlük dosyaları hariç, <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümlerinde günlük dosyası
    +      belirtmeyerek günlük dosyası sayısını düşürürsünüz. (Bunun nasıl
    +      yapılacağını öğrenmek için <a href="#splitlogs">Günlük kayıtlarının
    +      ayrıştırılması</a> bölümüne bakınız.)</li>
    +
    +      <li>Sisteminizde serbest dosya tanıtıcı sayısı 1-2 civarına düşerse
    +        Apache’yi aşağıdaki gibi bir betikle yeniden çalıştırarak dosya
    +        tanıtıcı sayısını arttırabilirsiniz:
    +
    +        <div class="example"><p><code>
    +          <code>#!/bin/sh<br />
    +           ulimit -S -n 100<br />
    +           exec httpd</code>
    +        </code></p></div>
    +      </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="splitlogs" id="splitlogs">Günlük kayıtlarının ayrıştırılması</a></h2>
    +
    +    <p>Günlük dosyalarını çok sayıda sanal konak için ortak olarak
    +      kullanıyorsanız, sanal konaklar için istatistiksel çözümlemeler yapmak
    +      amacıyla sırası geldiğinde bunları ayrıştırabilirsiniz. Bu işlem aşağıda
    +      anlatıldığı gibi yapılabilir.</p>
    +
    +    <p>İlk iş olarak, sanal konak bilgilerini günlük girdilerine eklemeniz
    +      gerekir. Bu işlem, <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesi ve
    +      <code>%v</code> biçem değişkeni ile yapılabilir. Günlük girdisi biçem
    +      dizgesinin başına bunu ekleyiniz:</p>
    +
    +    <pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost
    +CustomLog logs/multiple_vhost_log vhost</pre>
    +
    +
    +    <p>Bu yapılandırma ile her günlük kaydının başında sanal konağın
    +      <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesine belirtilen
    +      ismi eklenir. (Günlük dosyalarınızın kişiselleştirilmesi ile ilgili daha
    +      fazla bilgi için <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> belgesine bakınız.)</p>
    +
    +    <p>Günlük dosyanızdaki kayıtları bileşenlere göre gruplamak isterseniz
    +      <code><a href="../programs/other.html">split-logfile</a></code>
    +      programını kullanabilirsiniz. Bu programı Apache dağıtımının
    +      <code>support</code> dizininde bulabilirsiniz.</p>
    +
    +    <p>Programı aşağıdaki gibi çalıştırın:</p>
    +
    +    <div class="example"><p><code>
    +    split-logfile &lt; /logs/multiple_vhost_log
    +    </code></p></div>
    +
    +    <p>Bu programı sanal konaklar için tuttuğunuz günlük dosyasının ismini
    +      argüman olarak belirterek çalıştırdığınızda o dosyadaki kayıtlardan her
    +      sanal konak için ayrı bir günlük dosyası
    +      (<code><em>konakadı</em>.log</code>) üretilir.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/fd-limits.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/fd-limits.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/index.html b/docs/manual/vhosts/index.html
    new file mode 100644
    index 0000000..4fda34f
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html
    @@ -0,0 +1,29 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: index.html.de
    +Content-Language: de
    +Content-type: text/html; charset=ISO-8859-1
    +
    +URI: index.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: index.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: index.html.ja.utf8
    +Content-Language: ja
    +Content-type: text/html; charset=UTF-8
    +
    +URI: index.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: index.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: index.html.zh-cn.utf8
    +Content-Language: zh-cn
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/vhosts/index.html.de b/docs/manual/vhosts/index.html.de
    new file mode 100644
    index 0000000..72055b8
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html.de
    @@ -0,0 +1,124 @@
    +<?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="de" xml:lang="de"><head>
    +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Apache-Dokumentation zu virtuellen Hosts - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Dokumentation</a> &gt; <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache-Dokumentation zu virtuellen Hosts</h1>
    +<div class="toplang">
    +<p><span>Verf&#252;gbare Sprachen: </span><a href="../de/vhosts/" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div>
    +<div class="outofdate">Diese &#220;bersetzung ist m&#246;glicherweise
    +            nicht mehr aktuell. Bitte pr&#252;fen Sie die englische Version auf
    +            die neuesten &#196;nderungen.</div>
    +
    +    <p>Der Begriff <cite>virtueller Host</cite> <span class="transnote">(<em>Anm.d.&#220;.:</em> engl. 'virtual
    +    host')</span> bezieht sich auf die Praxis, mehr als ein Webangebot
    +    (z.B. <code>www.company1.com</code> und <code>www.company2.com</code>)
    +    auf einer einzigen Maschine zu betreiben. Virtuelle Hosts k&#246;nnen
    +    "<a href="ip-based.html">IP-basiert</a>" sein, was bedeutet, dass jedes
    +    Webangebot eine andere IP besitzt, oder  "<a href="name-based.html">Namens-basiert</a>", was bedeutet, dass
    +    unter jeder IP-Adresse mehrere Namen laufen. Die Tatsache, dass sie
    +    auf dem gleichen physischen Server laufen, ist f&#252;r den Endbenutzer
    +    nicht offensichtlich.</p>
    +
    +    <p>Der Apache war einer der ersten Server, der IP-basierte
    +    virtuelle Hosts von Haus aus direkt unterst&#252;tzt hat. Seit Version 1.1
    +    unterst&#252;tzt der Apache sowohl IP-basierte als auch namensbasierte
    +    virtuelle Hosts (vhosts). Letzteres wird zuweilen auch
    +    <em>Host-basiert</em> oder <em>non-IP-Virtual-Host</em> genannt.</p>
    +
    +    <p>Nachfolgend finden Sie eine Liste von Dokumenten, die alle Details
    +    der Unterst&#252;tzung von virtuellen Hosts ab Apache Version 1.3
    +    beschreiben.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">Unterst&#252;tzung virtueller Hosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#directives">Konfigurationsdirektiven</a></li>
    +</ul><h3>Siehe auch</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">Namensbasierte virtuelle Hosts</a></li><li><a href="ip-based.html">IP-basierte virtuelle Hosts</a></li><li><a href="examples.html">Beispiele f&#252;r virtuelle
    +  Hosts</a></li><li><a href="fd-limits.html">Datei-Deskriptor-Begrenzungen</a></li><li><a href="mass.html">Massen-Virtual-Hosting</a></li><li><a href="details.html">Zuweisung virtueller Hosts</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="support" id="support">Unterst&#252;tzung virtueller Hosts</a></h2>
    +
    +    <ul>
    +      <li><a href="name-based.html">Namensbasierte virtuelle Hosts</a> (Mehr
    +       als ein Webangebot pro IP-Adresse)</li>
    +      <li><a href="ip-based.html">IP-basierte virtuelle Hosts</a> (Eine
    +        IP-Adresse f&#252;r jedes Webangebot)</li>
    +      <li><a href="examples.html">Beispiele f&#252;r virtuelles Hosts in
    +        typischen Installationen</a></li>
    +      <li><a href="fd-limits.html">Datei-Deskriptor-Begrenzungen</a> (oder
    +      <em>Zu viele Protokolldateien</em>)</li>
    +      <li><a href="mass.html">Dynamisch konfiguriertes
    +        Massen-Virtual-Hosting</a></li>
    +      <li><a href="details.html">Tiefergehende Er&#246;rterung der Zuweisung
    +        virtueller Hosts</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="directives" id="directives">Konfigurationsdirektiven</a></h2>
    +
    +    <ul>
    +      <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
    +    </ul>
    +
    +    <p>Bei der Suche von Fehlern in Ihrer Virtual-Host-Konfiguration ist
    +    die Apache-Befehlszeilenoption <code>-S</code> m&#246;glicherweise
    +    hilfreich. Geben Sie dazu den folgenden Befehl ein:</p>
    +
    +    <div class="example"><p><code>
    +    /usr/local/apache2/bin/httpd -S
    +    </code></p></div>
    +
    +    <p>Diese Anweisung gibt eine Beschreibung aus, wie der Apache die
    +    Konfigurationsdatei analysiert hat. Eine sorgf&#228;ltige
    +    &#220;berpr&#252;fung der IP-Adressen und Servernamen kann helfen,
    +    Konfigurationsfehler aufzudecken. (Lesen Sie die Dokumentation zum
    +    <code class="program"><a href="../programs/httpd.html">httpd</a></code>-Programm f&#252;r weitere
    +    Befehlszeilenoptionen.)</p>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Verf&#252;gbare Sprachen: </span><a href="../de/vhosts/" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
    +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/index.html.en b/docs/manual/vhosts/index.html.en
    new file mode 100644
    index 0000000..7d5a37b
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html.en
    @@ -0,0 +1,126 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Apache Virtual Host documentation - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a></div><div id="page-content"><div id="preamble"><h1>Apache Virtual Host documentation</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>The term <cite>Virtual Host</cite> refers to the practice of
    +    running more than one web site (such as
    +    <code>company1.example.com</code> and <code>company2.example.com</code>)
    +    on a single machine. Virtual hosts can be "<a href="ip-based.html">IP-based</a>", meaning that you have a
    +    different IP address for every web site, or "<a href="name-based.html">name-based</a>", meaning that you have
    +    multiple names running on each IP address. The fact that they
    +    are running on the same physical server is not apparent to the
    +    end user.</p>
    +
    +    <p>Apache was one of the first servers to support IP-based
    +    virtual hosts right out of the box. Versions 1.1 and later of
    +    Apache support both IP-based and name-based virtual hosts
    +    (vhosts). The latter variant of virtual hosts is sometimes also
    +    called <em>host-based</em> or <em>non-IP virtual hosts</em>.</p>
    +
    +    <p>Below is a list of documentation pages which explain all
    +    details of virtual host support in Apache HTTP Server:</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">Virtual Host Support</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#directives">Configuration directives</a></li>
    +</ul><h3>See also</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">Name-based virtual
    +hosts</a></li><li><a href="ip-based.html">IP-based virtual hosts</a></li><li><a href="examples.html">Virtual host examples</a></li><li><a href="fd-limits.html">File descriptor limits</a></li><li><a href="mass.html">Mass virtual hosting</a></li><li><a href="details.html">Details of host matching</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="support" id="support">Virtual Host Support</a></h2>
    +
    +    <ul>
    +      <li><a href="name-based.html">Name-based Virtual Hosts</a> (More
    +      than one web site per IP address)</li>
    +      <li><a href="ip-based.html">IP-based Virtual Hosts</a> (An IP
    +      address for each web site)</li>
    +      <li><a href="examples.html">Virtual Host examples for common
    +      setups</a></li>
    +      <li><a href="fd-limits.html">File Descriptor Limits</a> (or,
    +      <em>Too many log files</em>)</li>
    +      <li><a href="mass.html">Dynamically Configured Mass Virtual
    +      Hosting</a></li>
    +      <li><a href="details.html">In-Depth Discussion of Virtual Host
    +      Matching</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="directives" id="directives">Configuration directives</a></h2>
    +
    +    <ul>
    +      <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
    +    </ul>
    +
    +    <p>If you are trying to debug your virtual host configuration, you
    +    may find the <code>-S</code> command line switch
    +    useful.</p>
    +
    +    <div class="example"><h3>Unix example</h3><p><code>
    +    
    +    apachectl -S
    +    </code></p></div>
    +
    +    <div class="example"><h3>Windows example</h3><p><code>
    +    
    +    httpd.exe -S
    +    </code></p></div>
    +
    +
    +    <p>This command will dump out a description of how Apache parsed
    +    the configuration file. Careful examination of the IP addresses and
    +    server names may help uncover configuration mistakes. (See
    +    the docs for the <code class="program"><a href="../programs/httpd.html">httpd</a></code> program for
    +    other command line options)</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/index.html.fr.utf8 b/docs/manual/vhosts/index.html.fr.utf8
    new file mode 100644
    index 0000000..0240fab
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html.fr.utf8
    @@ -0,0 +1,127 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Documentation sur les serveurs virtuels Apache - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Documentation sur les serveurs virtuels Apache</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Le principe des <cite>Serveurs Virtuels</cite> consiste à 
    +    faire fonctionner un ou plusieurs serveurs Web (comme 
    +    <code>www.company1.example.com</code> et <code>www.company2.example.com</code>) 
    +    sur une même machine. Les serveurs virtuels peuvent être soit 
    +    "<a href="ip-based.html">par-IP</a>" où une adresse IP est 
    +    attribuée pour chaque serveur Web, soit "<a href="name-based.html">par-nom</a>" où plusieurs noms de domaine se côtoient sur 
    +    des mêmes adresses IP. L'utilisateur final ne perçoit pas 
    +    qu'en fait il s'agit d'un même serveur physique.</p>
    +
    +    <p>Apache a été le précurseur des serveurs proposant cette 
    +    méthode de serveurs virtuels basés sur les adresses IP. Ses 
    +    versions 1.1 et suivantes proposent les deux 
    +    méthodes de serveurs virtuels : par-IP et par-nom. Cette 
    +    deuxième méthode est parfois également appelée <em>host-based</em> 
    +    ou <em>serveur virtuel non-IP</em>.</p>
    +
    +    <p>Vous trouverez ci-dessous une liste documentaire qui vous 
    +    expliquera en détails le fonctionnement du support des serveurs
    +    virtuels par le serveur HTTP Apache.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">Support des serveurs virtuels</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#directives">Directives de configuration</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">Serveurs virtuels par-nom</a></li><li><a href="ip-based.html">Serveurs virtuels par-IP</a></li><li><a href="examples.html">Exemples de serveurs virtuels</a></li><li><a href="fd-limits.html">Limites des descripteurs de fichiers</a></li><li><a href="mass.html">Hébergement virtuel en masse</a></li><li><a href="details.html">Détails sur les critères de choix du serveur</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="support" id="support">Support des serveurs virtuels</a></h2>
    +
    +    <ul>
    +      <li><a href="name-based.html">Serveurs Virtuels par-Nom</a> 
    +      (Un ou plusieurs sites Web par adresse IP)</li>
    +      <li><a href="ip-based.html">Serveurs Virtuels par-IP</a> 
    +      (Une adresse IP pour chaque site Web)</li>
    +      <li><a href="examples.html">Exemples de configurations classiques 
    +      de Serveurs Virtuels </a></li>
    +      <li><a href="fd-limits.html">Limites des descripteurs de fichiers</a> 
    +      (ou, <em>trop de fichiers journaux</em>)</li>
    +      <li><a href="mass.html">Configuration dynamique en masse de 
    +      Serveurs Virtuels</a></li>
    +      <li><a href="details.html">Explication approfondie des critères 
    +      de sélection d'un Serveur Virtuel</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="directives" id="directives">Directives de configuration</a></h2>
    +
    +    <ul>
    +      <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
    +    </ul>
    +
    +    <p>Pour vérifier et analyser la configuration de vos serveurs 
    +    virtuels, vous pouvez utiliser l'argument <code>-S</code> sur 
    +    la ligne de commande.</p>
    +
    +    <div class="example"><h3>Exemple Unix</h3><p><code>
    +    
    +    apachectl -S
    +    </code></p></div>
    +
    +    <div class="example"><h3>Exemple Windows</h3><p><code>
    +    
    +    httpd.exe -S
    +    </code></p></div>
    +
    +    <p>Cette commande affichera dans le détail comment Apache a 
    +    traité son fichier de configuration. Les erreurs de configuration 
    +    peuvent être corrigées par l'examen attentif des adresses IP et 
    +    des noms de serveurs. (Consultez la documentation du programme 
    +    <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour les autres arguments de la ligne de 
    +    commande)</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/index.html.ja.utf8 b/docs/manual/vhosts/index.html.ja.utf8
    new file mode 100644
    index 0000000..9c4af13
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html.ja.utf8
    @@ -0,0 +1,120 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="ja" xml:lang="ja"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Apache ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆèª¬æ˜Žæ›¸ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
    +<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆèª¬æ˜Žæ›¸</h1>
    +<div class="toplang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
    +            å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +            最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
    +        </div>
    +
    +
    +    <p><cite>ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</cite>ã¨ã„ã†ç”¨èªžã¯ã€1 å°ã®ãƒžã‚·ãƒ³ä¸Šã§
    +    (<code>www.company1.com</code> and <code>www.company2.com</code> ã®ã‚ˆã†ãª)
    +    二ã¤ä»¥ä¸Šã®ã‚¦ã‚§ãƒ–サイトを扱ã†é‹ç”¨æ–¹æ³•ã®ã“ã¨ã‚’指ã—ã¾ã™ã€‚
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã¯ã€å„ウェブサイトã«é•ã† IP アドレスãŒã‚ã‚‹
    +    「<a href="ip-based.html">IP ベース</a>ã€ã¨ã€ãã‚Œãžã‚Œã® IP アドレスã«
    +    複数ã®åå‰ãŒã‚る「<a href="name-based.html">åå‰ãƒ™ãƒ¼ã‚¹</a>ã€ã¨ãŒã‚ã‚Šã¾ã™ã€‚
    +    複数ã®ã‚µã‚¤ãƒˆãŒç‰©ç†çš„ã«åŒã˜ã‚µãƒ¼ãƒã§æ‰±ã‚ã‚Œã¦ã„ã‚‹ã€ã¨ã„ã†ã“ã¨ã¯ã‚¨ãƒ³ãƒ‰ãƒ¦ãƒ¼ã‚¶ã«ã¯
    +    明らã‹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</p>
    +
    +    <p>Apache ã¯ã€ç‰¹ã«æ‰‹ã‚’入れãªã„状態㧠IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
    +    をサãƒãƒ¼ãƒˆã—ãŸæœ€åˆã®ã‚µãƒ¼ãƒã®ä¸€ã¤ã§ã™ã€‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.1 以é™ã® Apache
    +    ã§ã¯ã€IP ベースã¨ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ä¸¡æ–¹ã‚’サãƒãƒ¼ãƒˆ
    +    ã—ã¦ã„ã¾ã™ã€‚ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ã€<em>ホストベース</em>ã‚ã‚‹ã„ã¯
    +    <em>éž IP ベース</em>ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¨å‘¼ã°ã‚Œã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚</p>
    +
    +    <p>以下ã®ãƒšãƒ¼ã‚¸ã§ã¯ã€Apache ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.3
    +    以é™ã§ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ã‚µãƒãƒ¼ãƒˆã«ã¤ã„ã¦ã®è©³ç´°ã‚’説明ã—ã¾ã™ã€‚</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ã‚µãƒãƒ¼ãƒˆ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#directives">設定ディレクティブ</a></li>
    +</ul><h3>å‚ç…§</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></li><li><a href="ip-based.html">IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></li><li><a href="examples.html">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ä¸€èˆ¬çš„ãªè¨­å®šä¾‹</a></li><li><a href="fd-limits.html">ファイル記述å­ã®é™ç•Œ</a></li><li><a href="mass.html">大é‡ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®š</a></li><li><a href="details.html">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒžãƒƒãƒãƒ³ã‚°ã«ã¤ã„ã¦ã®è©³ç´°</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="support" id="support">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ã‚µãƒãƒ¼ãƒˆ</a></h2>
    +
    +    <ul>
    +      <li><a href="name-based.html">ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a>
    +      (一ã¤ã® IP アドレスã«è¤‡æ•°ã®ã‚¦ã‚§ãƒ–サイト)</li>
    +      <li><a href="ip-based.html">IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a>
    +      (å„ウェブサイト㫠IP アドレス)</li>
    +      <li><a href="examples.html">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ä¸€èˆ¬çš„ãªè¨­å®šä¾‹</a></li>
    +      <li><a href="fd-limits.html">ファイル記述å­ã®é™ç•Œ</a>
    +      (ã¾ãŸã¯ã€<em>多éŽãŽã‚‹ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«</em>)</li>
    +      <li><a href="mass.html">大é‡ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®š</a></li>
    +      <li><a href="details.html">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒžãƒƒãƒãƒ³ã‚°ã«ã¤ã„ã¦ã®è©³ç´°</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="directives" id="directives">設定ディレクティブ</a></h2>
    +
    +    <ul>
    +      <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
    +    </ul>
    +
    +    <p>ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®šã®ãƒ‡ãƒãƒƒã‚°ã‚’ã™ã‚‹ã«ã¯
    +    Apache ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¹ã‚¤ãƒƒãƒ <code>-S</code> ãŒä¾¿åˆ©ã§ã™ã€‚
    +    ã¤ã¾ã‚Šã€ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™:</p>
    +
    +    <div class="example"><p><code>
    +    /usr/local/apache2/bin/httpd -S
    +    </code></p></div>
    +
    +    <p>ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ Apache ãŒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã©ã†è§£æžã—ãŸã‹ã«ã¤ã„ã¦å‡ºåŠ›ã—ã¾ã™ã€‚
    +    IP アドレスã¨ã‚µãƒ¼ãƒåを注æ„æ·±ã調ã¹ã‚Œã°ã€
    +    設定ã®é–“é•ã„を見ã¤ã‘る助ã‘ã«ãªã‚‹ã§ã—ょã†ã€‚
    +    (ä»–ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®ã‚ªãƒ—ション㯠<code class="program"><a href="../programs/httpd.html">httpd</a></code>
    +    プログラムã®èª¬æ˜Žæ–‡æ›¸ã‚’見ã¦ãã ã•ã„)</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/index.html.ko.euc-kr b/docs/manual/vhosts/index.html.ko.euc-kr
    new file mode 100644
    index 0000000..59012d6
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html.ko.euc-kr
    @@ -0,0 +1,119 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>¾ÆÆÄÄ¡ °¡»óÈ£½ºÆ® ¹®¼­ - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a></div><div id="page-content"><div id="preamble"><h1>¾ÆÆÄÄ¡ °¡»óÈ£½ºÆ® ¹®¼­</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +
    +    <p><cite>°¡»óÈ£½ºÆ® (Virtual Host)</cite>´Â ÇÑ ÄÄÇ»ÅÍ¿¡¼­
    +    ¿©·¯ À¥»çÀÌÆ®¸¦ (¿¹¸¦ µé¾î, <code>www.company1.com</code>°ú
    +    <code>www.company2.com</code>) ¼­ºñ½ºÇÔÀ» ¶æÇÑ´Ù.
    +    °¡»óÈ£½ºÆ®¿¡´Â °¢ À¥»çÀÌÆ®¸¶´Ù ´Ù¸¥ IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ´Â
    +    "<a href="ip-based.html">IP±â¹Ý (IP-based)</a>" ¹æ½Ä°ú ÇÑ
    +    IP ÁÖ¼Ò´ç ¿©·¯ À̸§À» °¡Áö´Â "<a href="name-based.html">À̸§±â¹Ý (name-based)</a>" ¹æ½ÄÀÌ
    +    ÀÖ´Ù. ¿©·¯ »çÀÌÆ®µéÀÌ °°Àº ¼­¹ö¿¡¼­ µ¹°íÀÖ´Ù´Â »ç½ÇÀ» À¥»ç¿ëÀÚ´Â
    +    ´«Ä¡Ã¤Áö ¸øÇÑ´Ù.</p>
    +
    +    <p>¾ÆÆÄÄ¡´Â ±âº»À¸·Î IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ Áö¿øÇÑ ÃÊâ±â
    +    ¼­¹öµéÁß Çϳª´Ù. ¾ÆÆÄÄ¡ ¹öÀü 1.1 ÀÌ»óÀº IP±â¹Ý°ú À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®¸¦ ¸ðµÎ Áö¿øÇÑ´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦
    +    <em>È£½ºÆ®±â¹Ý (host-based)</em> ¶Ç´Â <em>ºñIP °¡»óÈ£½ºÆ®
    +    (non-IP virtual hosts)</em>¶ó°íµµ ºÎ¸¥´Ù.</p>
    +
    +    <p>´ÙÀ½Àº ¾ÆÆÄÄ¡ ¹öÀü 1.3 ÀÌ»óÀÇ °¡»óÈ£½ºÆ® Áö¿øÀ» ÀÚ¼¼È÷
    +    ¼³¸íÇÑ ¹®¼­µéÀÌ´Ù.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">°¡»óÈ£½ºÆ® Áö¿ø</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#directives">¼³Á¤ Áö½Ã¾î</a></li>
    +</ul><h3>Âü°í</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">À̸§±â¹Ý °¡»óÈ£½ºÆ®</a></li><li><a href="ip-based.html">IP±â¹Ý °¡»óÈ£½ºÆ®</a></li><li><a href="examples.html">°¡»óÈ£½ºÆ® ¿¹</a></li><li><a href="fd-limits.html">ÆÄÀϱâ¼úÀÚ ÇÑ°è</a></li><li><a href="mass.html">´ë·®ÀÇ °¡»óÈ£½ºÆ®</a></li><li><a href="details.html">°¡»óÈ£½ºÆ® ã±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í</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="support" id="support">°¡»óÈ£½ºÆ® Áö¿ø</a></h2>
    +
    +    <ul>
    +      <li><a href="name-based.html">À̸§±â¹Ý °¡»óÈ£½ºÆ®</a>
    +      (IP ÁÖ¼Ò´ç ¿©·¯ À¥»çÀÌÆ®)</li>
    +      <li><a href="ip-based.html">IP±â¹Ý °¡»óÈ£½ºÆ®</a> (°¢
    +      À¥»çÀÌÆ®¸¶´Ù IP ÁÖ¼Ò)</li>
    +      <li><a href="examples.html">ÀϹÝÀûÀÎ °¡»óÈ£½ºÆ® ¿¹</a></li>
    +      <li><a href="fd-limits.html">ÆÄÀϱâ¼úÀÚ(file descriptor)
    +      ÇÑ°è</a> (Áï, <em>³Ê¹« ¸¹Àº ·Î±×ÆÄÀÏ</em>)</li>
    +      <li><a href="mass.html">´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ µ¿ÀûÀ¸·Î
    +      ¼³Á¤Çϱâ</a></li>
    +      <li><a href="details.html">°¡»óÈ£½ºÆ® ã±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ
    +      ¼³¸í</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="directives" id="directives">¼³Á¤ Áö½Ã¾î</a></h2>
    +
    +    <ul>
    +      <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
    +    </ul>
    +
    +    <p>°¡»óÈ£½ºÆ® ¼³Á¤À» Å×½ºÆ®ÇÒ¶§ ¾ÆÆÄÄ¡ÀÇ <code>-S</code>
    +    ¸í·ÉÇà ¿É¼ÇÀÌ À¯¿ëÇÏ´Ù. Áï, ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù:</p>
    +
    +    <div class="example"><p><code>
    +    /usr/local/apache2/bin/httpd -S
    +    </code></p></div>
    +
    +    <p>ÀÌ ¸í·É¾î´Â ¾ÆÆÄÄ¡°¡ ÀÐÀº ¼³Á¤ÆÄÀÏ¿¡ ´ëÇÑ
    +    Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. IP ÁÖ¼Ò¿Í ¼­¹ö¸íÀ» ÀÚ¼¼È÷ »ìÆ캸¸é ¼³Á¤¿¡¼­
    +    ½Ç¼ö¸¦ ¹ß°ßÇϴµ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. (´Ù¸¥ ¸í·ÉÇà ¿É¼ÇµéÀº
    +    <a href="../programs/httpd.html">httpd ÇÁ·Î±×·¥ ¹®¼­</a>¸¦
    +    Âü°íÇ϶ó.)</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/index.html.tr.utf8 b/docs/manual/vhosts/index.html.tr.utf8
    new file mode 100644
    index 0000000..2d249e1
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html.tr.utf8
    @@ -0,0 +1,123 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Apache Sanal Konak Belgeleri - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache Sanal Konak Belgeleri</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div>
    +
    +
    +    <p><cite>Sanal Konak</cite> (Virtual Host) terimi tek bir makine üzerinde
    +      birden fazla sitenin (sirket1.example.com, sirket2.example.com gibi)
    +      barındırılma uygulamasını betimler. Sanal konaklar,
    +      "<a href="ip-based.html">IP’ye dayalı</a>" veya
    +      "<a href="name-based.html">isme dayalı</a>" olabilir;
    +      birincisinde, her site ayrı bir IP adresinden sunulurken, ikincisinde her
    +      IP adresinde birden fazla site sunulur. Olayda aynı fiziksel sunucu
    +      kullanıldığı halde bu sunucu son kullanıcıya görünür değildir.</p>
    +
    +    <p>Apache yazılımsal olarak IP’ye dayalı sanal konakları destekleyen ilk
    +      sunuculardan biridir. 1.1 sürümünden itibaren Apache hem IP’ye dayalı hem
    +      de isme dayalı sanal konakları desteklemektedir. İsme dayalı sanal
    +      konaklara bazen <em>konağa dayalı</em> sanal konaklar veya <em>IP’ye
    +      dayanmayan</em> sanal konaklar da denmektedir.</p>
    +
    +    <p>Aşağıda, Apache HTTP Suncusundaki sanal konak desteğini bütün
    +      ayrıntıları ile açıklayan belgeler listelenmiştir.</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">Sanal Konak DesteÄŸi</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#directives">Yapılandırma Yönergeleri</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">İsme Dayalı Sanal Konaklar</a></li><li><a href="ip-based.html">IP Adresine Dayalı Sanal Konaklar</a>
    +</li><li><a href="examples.html">Sanal Konak Örnekleri</a></li><li><a href="fd-limits.html">Dosya Tanıtıcı Sınırları</a></li><li><a href="mass.html">Kütlesel Sanal Konaklık</a></li><li><a href="details.html">Ayrıntılı olarak Konak Eşleme</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="support" id="support">Sanal Konak DesteÄŸi</a></h2>
    +
    +    <ul>
    +      <li><a href="name-based.html">İsme Dayalı Sanal Konaklar</a> (Her IP
    +        adresinde birden fazla site)</li>
    +      <li><a href="ip-based.html">IP Adresine Dayalı Sanal Konaklar</a> (Her
    +        site için ayrı IP adresi)</li>
    +      <li><a href="examples.html">Çok kullanılan sanal konak yapılandırma
    +        örnekleri</a></li>
    +      <li><a href="fd-limits.html">Dosya Tanıtıcı Sınırları</a> (veya,
    +      <em>çok fazla günlük dosyası</em>)</li>
    +      <li><a href="mass.html">Devingen olarak Yapılandırılan Kütlesel Sanal
    +        Barındırma</a></li>
    +      <li><a href="details.html">Konak EÅŸlemenin DerinliÄŸine
    +        Ä°ncelenmesi</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="directives" id="directives">Yapılandırma Yönergeleri</a></h2>
    +
    +    <ul>
    +      <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
    +    </ul>
    +
    +    <p>Sanal konak yapılandırmanız üzerinde hata ayıklamaya çalışıyorsanız
    +      <code>-S</code> komut satırı seçeneği şu şekilde çok işinize
    +      yarayabilir:</p>
    +
    +    <div class="example"><h3>Unix örneği</h3><p><code>
    +    apachectl -S
    +    </code></p></div>
    +
    +    <div class="example"><h3>Windows örneği</h3><p><code>
    +    httpd.exe -S
    +    </code></p></div>
    +    
    +    <p>Bu komut, yapılandırma dosyasının Apache yorumunu dökümler. IP
    +      adreslerinin ve sunucu isimlerinin dikkatli bir incelemesi, yapılandırma
    +      yanlışlarınızı keşfetmenize yardımcı olabilir. (Diğer komut satırı
    +      seçenekleri için <code class="program"><a href="../programs/httpd.html">httpd</a></code> programının belgelerine
    +      bakınız.)</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/index.html.zh-cn.utf8 b/docs/manual/vhosts/index.html.zh-cn.utf8
    new file mode 100644
    index 0000000..f1fc334
    --- /dev/null
    +++ b/docs/manual/vhosts/index.html.zh-cn.utf8
    @@ -0,0 +1,105 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="zh-cn" xml:lang="zh-cn"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Apache 虚拟主机文档 - Apache HTTP æœåŠ¡å™¨ 版本 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
    +<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache 虚拟主机文档</h1>
    +<div class="toplang">
    +<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div>
    +<div class="outofdate">此翻译å¯èƒ½è¿‡æœŸã€‚è¦äº†è§£æœ€è¿‘的更改,请阅读英文版。</div>
    +
    +
    +    <p>术语<cite>虚拟主机</cite>指的是在å•ä¸€æœºå™¨ä¸Šè¿è¡Œå¤šä¸ªç½‘ç«™
    +    (例如 <code>company1.example.com</code> 和
    +    <code>company2.example.com</code>) 。
    +    虚拟主机å¯ä»¥â€œ<a href="ip-based.html">基于 IP</a>â€ï¼Œå³æ¯ä¸ª IP 一个站点;
    +    或者“<a href="name-based.html">基于å称</a>â€ï¼Œ
    +    å³æ¯ä¸ª IP 多个站点。这些站点è¿è¡Œåœ¨åŒä¸€ç‰©ç†æœåŠ¡å™¨ä¸Šçš„事实ä¸ä¼šæ˜Žæ˜¾çš„é€æ¼ç»™æœ€ç»ˆç”¨æˆ·ã€‚</p>
    +
    +    <p>Apache 是第一个支æŒåŸºäºŽ IP 的虚拟主机的æœåŠ¡å™¨ã€‚
    +    Apache 版本 1.1 和更新的版本åŒæ—¶æ”¯æŒåŸºäºŽ IP 和基于å称的虚拟主机。
    +    基于å称的虚拟主机有时候称为<em>基于主机</em>或<em>éž IP</em> 的虚拟主机.</p>
    +
    +    <p>以下解释是在 Apache 中支æŒè™šæ‹Ÿä¸»æœºçš„所有详细信æ¯çš„文档页é¢åˆ—表。</p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">虚拟主机支æŒ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#directives">é…置指令</a></li>
    +</ul><h3>å‚è§</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">基于å称的虚拟主机</a></li><li><a href="ip-based.html">基于 IP 的虚拟主机</a></li><li><a href="examples.html">虚拟主机样例</a></li><li><a href="fd-limits.html">文件å¥æŸ„é™åˆ¶</a></li><li><a href="mass.html">动æ€é…置的大规模虚拟主机</a></li><li><a href="details.html">虚拟主机匹é…的深入讨论</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="support" id="support">虚拟主机支æŒ</a></h2>
    +
    +    <ul>
    +      <li><a href="name-based.html">基于å称的虚拟主机</a> (æ¯ä¸ª IP 多个站点)</li>
    +      <li><a href="ip-based.html">基于 IP 的虚拟主机</a> (æ¯ä¸ª IP 一个站点)</li>
    +      <li><a href="examples.html">虚拟主机样例</a></li>
    +      <li><a href="fd-limits.html">文件å¥æŸ„é™åˆ¶</a> (或者<em>日志文件太多</em>)</li>
    +      <li><a href="mass.html">动æ€é…置的大规模虚拟主机</a></li>
    +      <li><a href="details.html">虚拟主机匹é…的深入讨论</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="directives" id="directives">é…置指令</a></h2>
    +
    +    <ul>
    +      <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
    +      <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
    +    </ul>
    +
    +    <p>如果你è¦è°ƒè¯•è™šæ‹Ÿä¸»æœºé…置,你会å‘现 Apache 的命令行å‚æ•° <code>-S</code>
    +    éžå¸¸æœ‰ç”¨ã€‚å³è¾“入以下命令:</p>
    +
    +    <div class="example"><p><code>
    +    /usr/local/apache2/bin/httpd -S
    +    </code></p></div>
    +
    +    <p>这个命令将会显示 Apache 是如何解æžé…置文件的。仔细检查 IP
    +    地å€ä¸ŽæœåŠ¡å™¨å称å¯èƒ½ä¼šå¸®åŠ©ä½ å‘现é…置错误
    +    (å‚è§ <code class="program"><a href="../programs/httpd.html">httpd</a></code> 程åºæ–‡æ¡£ï¼Œä»¥ä¾¿äº†è§£å…¶å®ƒå‘½ä»¤è¡Œé€‰é¡¹)。</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
    +<a href="../zh-cn/vhosts/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
    +</div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
    +<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/ip-based.html b/docs/manual/vhosts/ip-based.html
    new file mode 100644
    index 0000000..caffda8
    --- /dev/null
    +++ b/docs/manual/vhosts/ip-based.html
    @@ -0,0 +1,21 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: ip-based.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: ip-based.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: ip-based.html.ja.utf8
    +Content-Language: ja
    +Content-type: text/html; charset=UTF-8
    +
    +URI: ip-based.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: ip-based.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/vhosts/ip-based.html.en b/docs/manual/vhosts/ip-based.html.en
    new file mode 100644
    index 0000000..0823428
    --- /dev/null
    +++ b/docs/manual/vhosts/ip-based.html.en
    @@ -0,0 +1,210 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Apache IP-based Virtual Host Support - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Apache IP-based Virtual Host Support</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/ip-based.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#explanation">What is IP-based virtual hosting</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#requirements">System requirements</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#howto">How to set up Apache</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#multiple">Setting up multiple daemons</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#single">Setting up a single daemon
    +  with virtual hosts</a></li>
    +</ul><h3>See also</h3><ul class="seealso"><li>
    +<a href="name-based.html">Name-based Virtual Hosts Support</a>
    +</li><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="explanation" id="explanation">What is IP-based virtual hosting</a></h2>
    +<p>IP-based virtual hosting is a method to apply different directives
    +based on the IP address and port a request is received on.  Most commonly,
    +this is used to serve different websites on different ports or interfaces.</p>
    +
    +<p>In many cases, <a href="name-based.html">name-based
    +virtual hosts</a> are more convenient, because they allow
    +many virtual hosts to share a single address/port.
    +See <a href="name-based.html#namevip">Name-based vs. IP-based
    +Virtual Hosts</a> to help you decide.  </p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="requirements" id="requirements">System requirements</a></h2>
    +
    +    <p>As the term <cite>IP-based</cite> indicates, the server
    +    <strong>must have a different IP address/port combination for each IP-based
    +    virtual host</strong>. This can be achieved by the machine
    +    having several physical network connections, or by use of
    +    virtual interfaces which are supported by most modern operating
    +    systems (see system documentation for details, these are
    +    frequently called "ip aliases", and the "ifconfig" command is
    +    most commonly used to set them up), and/or using multiple
    +    port numbers.</p>
    +
    +    <p> In the terminology of Apache HTTP Server, using a single IP address
    +    but multiple TCP ports, is also IP-based virtual hosting.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="howto" id="howto">How to set up Apache</a></h2>
    +
    +    <p>There are two ways of configuring apache to support multiple
    +    hosts. Either by running a separate <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon for
    +    each hostname, or by running a single daemon which supports all the
    +    virtual hosts.</p>
    +
    +    <p>Use multiple daemons when:</p>
    +
    +    <ul>
    +      <li>There are security partitioning issues, such as company1
    +      does not want anyone at company2 to be able to read their
    +      data except via the web. In this case you would need two
    +      daemons, each running with different <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>, <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>, <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>, and <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> settings.</li>
    +
    +      <li>You can afford the memory and file descriptor
    +      requirements of listening to every IP alias on the
    +      machine. It's only possible to <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> to the "wildcard"
    +      address, or to specific addresses. So if you have a need to
    +      listen to a specific address for whatever reason, then you
    +      will need to listen to all specific addresses. (Although one
    +      <code class="program"><a href="../programs/httpd.html">httpd</a></code> could listen to N-1 of the addresses, and another could
    +      listen to the remaining address.)</li>
    +    </ul>
    +
    +    <p>Use a single daemon when:</p>
    +
    +    <ul>
    +      <li>Sharing of the httpd configuration between virtual hosts
    +      is acceptable.</li>
    +
    +      <li>The machine services a large number of requests, and so
    +      the performance loss in running separate daemons may be
    +      significant.</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="multiple" id="multiple">Setting up multiple daemons</a></h2>
    +
    +    <p>Create a separate <code class="program"><a href="../programs/httpd.html">httpd</a></code> installation for each
    +    virtual host. For each installation, use the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> directive in the
    +    configuration file to select which IP address (or virtual host)
    +    that daemon services. e.g.</p>
    +
    +    <pre class="prettyprint lang-config">Listen 192.0.2.100:80</pre>
    +
    +
    +    <p>It is recommended that you use an IP address instead of a
    +    hostname (see <a href="../dns-caveats.html">DNS caveats</a>).</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="single" id="single">Setting up a single daemon
    +  with virtual hosts</a></h2>
    +
    +    <p>For this case, a single <code class="program"><a href="../programs/httpd.html">httpd</a></code> will service
    +    requests for the main server and all the virtual hosts. The <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> directive
    +    in the configuration file is used to set the values of <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>, <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> and <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>
    +    or <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code>
    +    configuration directives to different values for each virtual
    +    host. e.g.</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerAdmin webmaster@www1.example.com
    +    DocumentRoot "/www/vhosts/www1"
    +    ServerName www1.example.com
    +    ErrorLog "/www/logs/www1/error_log"
    +    CustomLog "/www/logs/www1/access_log" combined
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:80&gt;
    +    ServerAdmin webmaster@www2.example.org
    +    DocumentRoot "/www/vhosts/www2"
    +    ServerName www2.example.org
    +    ErrorLog "/www/logs/www2/error_log"
    +    CustomLog "/www/logs/www2/access_log" combined
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>It is recommended that you use an IP address instead of a
    +    hostname in the &lt;VirtualHost&gt; directive
    +    (see <a href="../dns-caveats.html">DNS caveats</a>).</p>
    +
    +    <p> Specific IP addresses or ports have precedence over their wildcard
    +    equivalents, and any virtual host that matches has precedence over
    +    the servers base configuration.</p>
    +
    +    <p>Almost <strong>any</strong> configuration directive can be
    +    put in the VirtualHost directive, with the exception of
    +    directives that control process creation and a few other
    +    directives. To find out if a directive can be used in the
    +    VirtualHost directive, check the <a href="../mod/directive-dict.html#Context">Context</a> using the
    +    <a href="../mod/quickreference.html">directive index</a>.</p>
    +
    +    <p><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>
    +    may be used inside a
    +    VirtualHost directive if the <a href="../suexec.html">suEXEC
    +    wrapper</a> is used.</p>
    +
    +    <p><em>SECURITY:</em> When specifying where to write log files,
    +    be aware of some security risks which are present if anyone
    +    other than the user that starts Apache has write access to the
    +    directory where they are written. See the <a href="../misc/security_tips.html">security tips</a> document
    +    for details.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/ip-based.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/ip-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/ip-based.html.fr.utf8 b/docs/manual/vhosts/ip-based.html.fr.utf8
    new file mode 100644
    index 0000000..c8ade5d
    --- /dev/null
    +++ b/docs/manual/vhosts/ip-based.html.fr.utf8
    @@ -0,0 +1,213 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Support Apache des serveurs virtuels par IP - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Support Apache des serveurs virtuels par IP</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">Système requis</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#howto">Comment configurer Apache</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#multiple">Configuration de processus multiples</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#single">Configuration d'un unique processus
    +résident pour des serveurs virtuels</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li>
    +<a href="name-based.html">Support Apache des serveurs virtuels par nom</a>
    +</li><li><a href="#comments_section">Commentaires</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="requirements" id="requirements">Système requis</a></h2>
    +
    +    <p>Comme l'indique le terme <cite>par IP</cite>, le serveur
    +    <strong>doit disposer de différentes paires adresses IP/port pour chaque
    +    serveur virtuel par IP</strong>. La machine peut posséder
    +    plusieurs connexions physiques au réseau, ou utiliser des
    +    interfaces virtuelles qui sont supportées par la plupart des
    +    systèmes d'exploitation modernes (Consultez la documentation des
    +    systèmes d'exploitation pour plus de détails, notamment les "alias
    +    IP" et la commande "ifconfig" pour les activer), et/ou utiliser
    +    plusieurs numéros de port.</p>
    +
    +    <p>Selon la terminologie du serveur HTTP Apache, l'utilisation d'une
    +    seule adresse IP avec plusieurs ports TCP s'apparente aussi à de
    +    l'hébergement virtuel basé sur IP.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="howto" id="howto">Comment configurer Apache</a></h2>
    +
    +    <p>Il y a deux manières de configurer Apache pour le support de
    +    multiples serveurs virtuels. Il suffit soit de faire tourner un
    +    processus résident <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour chaque nom de
    +    domaine, soit de faire tourner un unique processus résident qui
    +    gère tous les serveurs virtuels.</p>
    +
    +    <p>Utilisez des processus résidents multiples lorsque&nbsp;:</p>
    +
    +    <ul>
    +      <li>il y a des problèmes de répartition de sécurité, tels
    +      qu'une entreprise1 ne souhaite que personne d'une entreprise2
    +      ne puisse lire ses données excepté via le Web. Dans ce cas,
    +      vous aurez besoin de deux processus résidents, chacun fonctionnant
    +      avec des paramètres <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>,
    +      <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>,
    +      <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>, et
    +      <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> différents.</li>
    +
    +      <li>vous disposez suffisamment de mémoire et de
    +      <a href="../misc/descriptors.html">descripteurs de fichiers</a>
    +      pour l'écoute de chaque alias IP de la machine. Il est seulement
    +      possible d'appliquer la directive
    +      <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>, soit sur toutes
    +      les adresses avec le joker "*", soit uniquement sur des adresses
    +      spécifiques. Donc, si vous avez besoin d'écouter une adresse
    +      en particulier, vous devrez le faire pour l'ensemble des
    +      autres adresses (Bien qu'il soit plus simple de lancer un
    +      processus <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour écouter N-1 adresses,
    +      et un autre pour l'adresse restante).</li>
    +    </ul>
    +
    +    <p>Utilisez un unique processus résident lorsque&nbsp;:</p>
    +
    +    <ul>
    +      <li>le partage de la configuration httpd entre les serveurs
    +      virtuels est acceptable.</li>
    +
    +      <li>la machine assume déjà une grande quantité de requêtes, et
    +      que l'ajout de processus résidents supplémentaires en affecterait
    +      les performances.</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="multiple" id="multiple">Configuration de processus multiples</a></h2>
    +
    +    <p>Créez une installation indépendante du programme
    +    <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour chaque serveur virtuel. Pour
    +    chacune d'elle, utilisez la directive
    +    <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> dans le fichier
    +    de configuration pour définir l'adresse IP (ou serveur virtuel)
    +    que le processus résident doit gérer. Par exemple&nbsp;:</p>
    +
    +    <pre class="prettyprint lang-config">Listen 192.0.2.100:80</pre>
    +
    +
    +    <p>Il est recommandé d'utiliser une adresse IP plutôt qu'un nom
    +    de domaine (consultez <a href="../dns-caveats.html">Problèmes DNS
    +    avec Apache</a>).</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="single" id="single">Configuration d'un unique processus
    +résident pour des serveurs virtuels</a></h2>
    +
    +    <p>Dans ce cas, un unique processus httpd va gérer les requêtes
    +    pour le serveur principal et tous les serveurs virtuels. Dans le
    +    fichier de configuration, la directive
    +    <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> va servir à
    +    définir les autres directives
    +    <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>,
    +    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>,
    +    <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> et
    +    <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> ou
    +    <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> avec des
    +    valeurs différentes pour chaque serveur virtuel. Par exemple&nbsp;:</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 172.20.30.40:80&gt;
    +    ServerAdmin webmaster@www1.example.com
    +    DocumentRoot "/www/vhosts/www1"
    +    ServerName www1.example.com
    +    ErrorLog "/www/logs/www1/error_log"
    +    CustomLog "/www/logs/www1/access_log" combined
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 172.20.30.50:80&gt;
    +    ServerAdmin webmaster@www2.example.org
    +    DocumentRoot "/www/vhosts/www2"
    +    ServerName www2.example.org
    +    ErrorLog "/www/logs/www2/error_log"
    +    CustomLog "/www/logs/www2/access_log" combined
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Il est recommandé d'utiliser une adresse IP plutôt qu'un nom
    +    de domaine comme argument à la directive &lt;VirtualHost&gt;
    +     (consultez <a href="../dns-caveats.html">Problèmes DNS
    +    avec Apache</a>).</p>
    +
    +    <p>Presque <strong>toutes</strong> les directives de configuration
    +    peuvent être employées dans une directive VirtualHost, à l'exception
    +    des directives qui contrôlent la création du processus et de
    +    quelques autres. Pour connaître celles utilisables dans une
    +    directive VirtualHost, vérifiez leur
    +    <a href="../mod/directive-dict.html#Context">Contexte</a> en utilisant
    +    l'<a href="../mod/quickreference.html">directive index</a>.</p>
    +
    +
    +    <p><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> peut être
    +    utilisées à l'intérieur d'une directive VirtualHost si l'exécution se fait
    +    sous suEXEC. (Voir <a href="../suexec.html">suEXEC</a>).</p>
    +
    +    <p><em>SÉCURITÉ&nbsp;:</em> lorsque vous spécifiez où écrire les
    +    fichiers journaux, soyez attentif aux risques si quelqu'un d'autre
    +    que celui qui a démarré Apache dispose des droits d'écriture
    +    sur l'emplacement de ces fichiers. Consultez les
    +    <a href="../misc/security_tips.html">Conseils sur la sécurité</a>
    +    pour plus de détails.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/ip-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/ip-based.html.ja.utf8 b/docs/manual/vhosts/ip-based.html.ja.utf8
    new file mode 100644
    index 0000000..d8a1497
    --- /dev/null
    +++ b/docs/manual/vhosts/ip-based.html.ja.utf8
    @@ -0,0 +1,190 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="ja" xml:lang="ja"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Apache ã® IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚µãƒãƒ¼ãƒˆ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
    +<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a> &gt; <a href="./">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></div><div id="page-content"><div id="preamble"><h1>Apache ã® IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚µãƒãƒ¼ãƒˆ</h1>
    +<div class="toplang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
    +            å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +            最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
    +        </div>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">システムè¦ä»¶</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#howto">Apache ã®è¨­å®šæ–¹æ³•</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#multiple">複数デーモンã®è¨­å®š</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#single">複数ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ãŸ
    +デーモンを一ã¤è¨­å®šã™ã‚‹</a></li>
    +</ul><h3>å‚ç…§</h3><ul class="seealso"><li>
    +<a href="name-based.html">åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚µãƒãƒ¼ãƒˆ</a>
    +</li><li><a href="#comments_section">コメント</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="requirements" id="requirements">システムè¦ä»¶</a></h2>
    +
    +    <p><cite>IP ベース</cite> ã¨ã„ã†åå‰ãŒç¤ºã™ã‚ˆã†ã«ã€ã‚µãƒ¼ãƒã«ã¯
    +    <strong>IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãã‚Œãžã‚Œã«ã¤ãã€åˆ¥ã€…ã® IP アドレスãŒ
    +    å¿…è¦ã§ã™</strong>。複数ã®ç‰©ç†ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’æŒã£ã¦ã„るマシンを用æ„ã™ã‚‹ã‹ã€
    +    最近ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«
    +    インタフェース (詳細ã¯ã‚·ã‚¹ãƒ†ãƒ ã®èª¬æ˜Žæ›¸ã‚’読んã§ãã ã•ã„。ãŸã„ã¦ã„ã¯
    +    "ip エイリアス" ã¨å‘¼ã°ã‚Œã¦ã„ã¦ã€è¨­å®šã«ã¯æ™®é€š "ifconfig" コマンドを
    +    使ã„ã¾ã™) を使ã†ã‹ã§å®Ÿç¾ã§ãã¾ã™ã€‚</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="howto" id="howto">Apache ã®è¨­å®šæ–¹æ³•</a></h2>
    +
    +    <p>複数ã®ãƒ›ã‚¹ãƒˆã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã« Apache を設定ã™ã‚‹æ–¹æ³•ã¯
    +    二通りã‚ã‚Šã¾ã™ã€‚別㮠<code class="program"><a href="../programs/httpd.html">httpd</a></code> デーモンをå„ホスト毎ã«å®Ÿè¡Œã™ã‚‹ã‹ã€
    +    ã™ã¹ã¦ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’サãƒãƒ¼ãƒˆã™ã‚‹ãƒ‡ãƒ¼ãƒ¢ãƒ³ã‚’一ã¤å®Ÿè¡Œã™ã‚‹ã‹ã§ã™ã€‚</p>
    +
    +    <p>以下ã®ã¨ãã«ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ãƒ¢ãƒ³ã‚’使ã†ã¨è‰¯ã„ã§ã—ょã†:</p>
    +
    +    <ul>
    +      <li>会社1 ã¯ã‚¦ã‚§ãƒ–経由以外ã§ã¯ä¼šç¤¾2 ã‹ã‚‰ã¯ãƒ‡ãƒ¼ã‚¿ã‚’読ã¾ã‚ŒãŸããªã„ã€
    +      ã¨ã„ã£ãŸã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®åˆ†é›¢ã®å•é¡ŒãŒã‚ã‚‹ã¨ã。ã“ã®å ´åˆã€ãã‚Œãžã‚Œ
    +      <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code>, <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code>, <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>, <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> ã®è¨­å®šãŒé•ã†äºŒã¤ã®ãƒ‡ãƒ¼ãƒ¢ãƒ³ã‚’
    +      実行ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</li>
    +
    +      <li>マシンã®ã™ã¹ã¦ã® IP エイリアスを listen ã™ã‚‹ã ã‘ã®
    +      メモリã¨ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã®ä½™è£•ãŒã‚ã‚‹ã¨ã。<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> ã¯ã€Œãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã€
    +      アドレスã‹ã€ç‰¹å®šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ã¿ã‚’ listen ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
    +      ã§ã™ã‹ã‚‰ã€ä½•ã‚‰ã‹ã®ç†ç”±ã§ç‰¹å®šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ listen ã—ãªã‘ã°ãªã‚‰ãªã„
    +      ã¨ãã¯ã€ãã®ç‰¹å®šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ã™ã¹ã¦ listen ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
    +      (ãŸã ã—ã€ä¸€ã¤ã® <code class="program"><a href="../programs/httpd.html">httpd</a></code> ㌠N-1 個ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ listen ã—ã€
    +      別㮠<code class="program"><a href="../programs/httpd.html">httpd</a></code> ãŒæ®‹ã‚Šã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ listen ã™ã‚‹ã¨ã„ã£ãŸã“ã¨ã¯å¯èƒ½ã§ã™ã€‚)</li>
    +    </ul>
    +
    +    <p>以下ã®ã¨ãã«ã¯å˜ç‹¬ã®ãƒ‡ãƒ¼ãƒ¢ãƒ³ã‚’使ã†ã¨è‰¯ã„ã§ã—ょã†:</p>
    +
    +    <ul>
    +      <li>ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆé–“ã§ã® httpd ã®è¨­å®šã‚’共有ã—ã¦ã‚‚よã„ã¨ã。</li>
    +
    +      <li>マシンãŒå¤šãã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ãŸã‚ã€åˆ¥ãƒ‡ãƒ¼ãƒ¢ãƒ³ã‚’実行ã™ã‚‹ã“ã¨ã«ã‚ˆã‚‹
    +      性能ã®ä½Žä¸‹ã®å½±éŸ¿ãŒè‘—ã—ã„ã¨ã。</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="multiple" id="multiple">複数デーモンã®è¨­å®š</a></h2>
    +
    +    <p>å„ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã—ã¦åˆ¥ã® <code class="program"><a href="../programs/httpd.html">httpd</a></code> ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’è¡Œãªã„ã¾ã™ã€‚
    +    設定ファイル中㮠<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> 
    +    ディレクティブを使ã£ã¦ã€
    +    å„インストールã§ãƒ‡ãƒ¼ãƒ¢ãƒ³ãŒæ‰±ã† IP アドレス (ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ) 
    +    ã‚’é¸æŠžã—ã¾ã™ã€‚例ãˆã°</p>
    +
    +    <div class="example"><p><code>
    +    Listen www.smallco.com:80
    +    </code></p></div>
    +
    +    <p>ã“ã“ã§ã€ãƒ›ã‚¹ãƒˆåã®ä»£ã‚ã‚Šã« IP アドレスを使ã†æ–¹ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã«
    +    注æ„ã—ã¦ãŠã„ã¦ãã ã•ã„
    +    (<a href="../dns-caveats.html">DNS ã®æ³¨æ„事項</a> å‚ç…§)。</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="single" id="single">複数ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ãŸ
    +デーモンを一ã¤è¨­å®šã™ã‚‹</a></h2>
    +
    +    <p>ã“ã®å ´åˆã¯ã€ä¸€ã¤ã® <code class="program"><a href="../programs/httpd.html">httpd</a></code> ãŒä¸»ã‚µãƒ¼ãƒã¨ã™ã¹ã¦ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’
    +    処ç†ã—ã¾ã™ã€‚設定ファイル㮠<code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> ディレクティブを使ã£ã¦ã€
    +    <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>, <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>, <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>
    +    ã‚„ <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code>
    +    設定ディレクティブã®å€¤ãŒå„ホスト毎ã«ç•°ãªã‚‹å€¤ã«è¨­å®šã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚
    +    例ãˆã°</p>
    +
    +    <div class="example"><p><code>
    +    &lt;VirtualHost www.smallco.com&gt;<br />
    +    ServerAdmin webmaster@mail.smallco.com<br />
    +    DocumentRoot /groups/smallco/www<br />
    +    ServerName www.smallco.com<br />
    +    ErrorLog /groups/smallco/logs/error_log<br />
    +    TransferLog /groups/smallco/logs/access_log<br />
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost www.baygroup.org&gt;<br />
    +    ServerAdmin webmaster@mail.baygroup.org<br />
    +    DocumentRoot /groups/baygroup/www<br />
    +    ServerName www.baygroup.org<br />
    +    ErrorLog /groups/baygroup/logs/error_log<br />
    +    TransferLog /groups/baygroup/logs/access_log<br />
    +    &lt;/VirtualHost&gt;
    +    </code></p></div>
    +
    +    <p>ã“ã“ã§ã€ãƒ›ã‚¹ãƒˆåã®ä»£ã‚ã‚Šã« IP アドレスを使ã†æ–¹ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã«
    +    注æ„ã—ã¦ãŠã„ã¦ãã ã•ã„
    +    (<a href="../dns-caveats.html">DNS ã®æ³¨æ„事項</a> å‚ç…§)。</p>
    +
    +    <p>プロセス生æˆã‚’制御ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚„ãã®ä»–ã®ã„ãã¤ã‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’
    +    除ã„ã¦ã€ã»ã¼<strong>ã™ã¹ã¦</strong>ã®è¨­å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ VirtualHost
    +    ディレクティブã®ä¸­ã«æ›¸ãã“ã¨ãŒã§ãã¾ã™ã€‚ディレクティブ㌠VirtualHost
    +    ディレクティブã§ä½¿ç”¨ã§ãã‚‹ã‹ã©ã†ã‹ã¯ <a href="../mod/directives.html">ディレクティブ索引</a>を使ã£ã¦<a href="../mod/directive-dict.html#Context">コンテキスト</a>ã®
    +    欄を調ã¹ã¦ãã ã•ã„。</p>
    +
    +    <p><a href="../suexec.html">suEXECラッパー</a>を使ã£ã¦ã„ã‚‹å ´åˆã¯ã€
    +    <code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>
    +    ディレクティブを VirtualHost
    +    ディレクティブã®ä¸­ã§ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
    +
    +    <p><em>セキュリティ:</em> ログファイルを書ã場所を指定ã™ã‚‹ã¨ãã¯ã€
    +    Apache ã‚’èµ·å‹•ã—ãŸãƒ¦ãƒ¼ã‚¶ä»¥å¤–ãŒãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ›¸ãè¾¼ã¿æ¨©é™ã‚’
    +    æŒã£ã¦ã„ã‚‹å ´åˆã«ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®å±é™ºãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
    +    詳細ã¯<a href="../misc/security_tips.html">セキュリティã®ã“ã¤</a>ドキュメントを
    +    å‚ç…§ã—ã¦ãã ã•ã„。</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/ip-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/ip-based.html.ko.euc-kr b/docs/manual/vhosts/ip-based.html.ko.euc-kr
    new file mode 100644
    index 0000000..f6a306c
    --- /dev/null
    +++ b/docs/manual/vhosts/ip-based.html.ko.euc-kr
    @@ -0,0 +1,180 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>¾ÆÆÄÄ¡ IP±â¹Ý °¡»óÈ£½ºÆ® Áö¿ø - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">°¡»óÈ£½ºÆ®</a></div><div id="page-content"><div id="preamble"><h1>¾ÆÆÄÄ¡ IP±â¹Ý °¡»óÈ£½ºÆ® Áö¿ø</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">½Ã½ºÅÛ ¿ä±¸»çÇ×</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#howto">¾ÆÆÄÄ¡ ¼³Á¤¹æ¹ý</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#multiple">¿©·¯ ¼­¹ö¸¦ ½ÇÇàÇϱâ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#single">¼­¹ö Çϳª·Î °¡»óÈ£½ºÆ® ½ÇÇàÇϱâ</a></li>
    +</ul><h3>Âü°í</h3><ul class="seealso"><li>
    +<a href="name-based.html">À̸§±â¹Ý °¡»óÈ£½ºÆ® Áö¿ø</a>
    +</li><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="requirements" id="requirements">½Ã½ºÅÛ ¿ä±¸»çÇ×</a></h2>
    +
    +    <p><cite>IP±â¹Ý</cite>À̶õ ¸»ÀÌ ÀǹÌÇϵíÀÌ ¼­¹ö´Â
    +    <strong>IP±â¹Ý °¡»óÈ£½ºÆ® °¢°¢¿¡ ´ëÇØ ´Ù¸¥ IP ÁÖ¼Ò¸¦
    +    °¡Á®¾ßÇÑ´Ù</strong>. ÀÌ´Â ÄÄÇ»Å͸¦ ¹°¸®ÀûÀ¸·Î ¿©·¯ ³×Æ®¿÷¿¡
    +    ¿¬°áÇϰųª, ÃÖ±Ù ¿î¿µÃ¼Á¦¿¡¼­ Áö¿øÇÏ´Â °¡»ó ÀÎÅÍÆäÀ̽º¸¦
    +    (ÀÚ¼¼ÇÑ ³»¿ëÀº ½Ã½ºÅÛ ¹®¼­¸¦ Âü°íÇ϶ó. ÈçÈ÷ "ip aliases"¶ó°í
    +    Çϸç, º¸Åë "ifconfig" ¸í·É¾î·Î ¸¸µç´Ù) »ç¿ëÇÏ¿© °¡´ÉÇÏ´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="howto" id="howto">¾ÆÆÄÄ¡ ¼³Á¤¹æ¹ý</a></h2>
    +
    +    <p>¿©·¯ È£½ºÆ®¸¦ Áö¿øÇϵµ·Ï ¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀº µÎ°¡Áö´Ù.
    +    Çϳª´Â °¢ È£½ºÆ®¸¶´Ù º°µµÀÇ À¥¼­¹ö¸¦ ½ÇÇàÇÏ´Â
    +    ¹ýÀÌ°í, ´Ù¸¥ Çϳª´Â ¸ðµç °¡»óÈ£½ºÆ®¸¦ Áö¿øÇÏ´Â ¼­¹ö ÇÑ°³¸¦
    +    ½ÇÇàÇÏ´Â ¹æ¹ýÀÌ´Ù.</p>
    +
    +    <p>¾ðÁ¦ ¿©·¯ ¼­¹ö¸¦ »ç¿ëÇϳª:</p>
    +
    +    <ul>
    +      <li>ȸ»ç2ÀÇ »ç¿ëÀÚ°¡ À¥ÀÌ¿ÜÀÇ ¹æ¹ýÀ¸·Î ȸ»ç1ÀÇ ÀڷḦ ÀÐÀ»
    +      ¼ö ¾ø°Ô ÇÏ´Â µî º¸¾È»ó ±¸ºÐÀÌ ÇÊ¿äÇÑ °æ¿ì. ÀÌ °æ¿ì
    +      µÎ ¼­¹ö¸¦ °¢°¢ ´Ù¸¥ <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code>, <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code>, <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>, <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> ¼³Á¤À¸·Î ½ÇÇàÇØ¾ß ÇÑ´Ù.</li>
    +
    +      <li>ÃæºÐÇÑ ¸Þ¸ð¸®°¡ ÀÖ°í, ÄÄÇ»ÅÍÀÇ ¸ðµç IP¸¦ ±â´Ù¸®±âÀ§ÇÑ
    +      ÆÄÀϱâ¼úÀÚ(file descriptor) ¿ä±¸»çÇ×µµ ¸¸Á·ÇÑ´Ù. "¿ÍÀϵåÄ«µå"³ª
    +      ƯÁ¤ ÁÖ¼Ò¸¦ <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>ÇÒ ¼ö¸¸ ÀÖ´Ù. ±×·¡¼­
    +      ¾î¶² ÀÌÀ¯¿¡¼­°Ç ƯÁ¤ ÁÖ¼Ò¸¦ ±â´Ù¸± ÇÊ¿ä°¡ ÀÖ´Ù¸é, (ÇÑ
    +      À¥¼­¹ö°¡ ÇÑ ÁÖ¼Ò¸¦ Á¦¿ÜÇÑ ¸ðµç ÁÖ¼Ò¸¦ ±â´Ù¸®°í ´Ù¸¥ ÇÑ
    +      À¥¼­¹ö°¡ Á¦¿ÜÇÑ ÁÖ¼Ò¸¦ ±â´Ù¸± ¼ö ÀÖÁö¸¸) ÁöÁ¤ÇÑ ÁÖ¼Ò
    +      ¸ðµÎ¸¦ ±â´Ù·Á¾ß ÇÑ´Ù.</li>
    +    </ul>
    +
    +    <p>¾ðÁ¦ ¼­¹ö ÇÑ°³¸¦ »ç¿ëÇϳª:</p>
    +
    +    <ul>
    +      <li>°¡»óÈ£½ºÆ®µéÀÇ À¥¼­¹ö ¼³Á¤À» °øÀ¯ÇÒ ¼ö ÀÖ´Â °æ¿ì.</li>
    +
    +      <li>ÄÄÇ»ÅÍ°¡ ¸Å¿ì ¸¹Àº ¿äûÀ» ¼­ºñ½ºÇÑ´Ù¸é ¿©·¯ ¼­¹ö¸¦
    +      ½ÇÇàÇϱ⿡ ¼Óµµ ¼Õ½ÇÀÌ Å¬ ¼ö ÀÖ´Ù.</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="multiple" id="multiple">¿©·¯ ¼­¹ö¸¦ ½ÇÇàÇϱâ</a></h2>
    +
    +    <p>°¢ °¡»óÈ£½ºÆ®º°·Î À¥¼­¹ö¸¦ ¼³Ä¡ÇÑ´Ù. ¼³Á¤ÆÄÀÏÀÇ
    +    <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> Áö½Ã¾î¿¡
    +    ¼­¹ö°¡ ¼­ºñ½ºÇÒ IP ÁÖ¼Ò(ȤÀº °¡»óÈ£½ºÆ®)¸¦ Àû¾îÁØ´Ù. ¿¹¸¦
    +    µé¸é,</p>
    +
    +    <div class="example"><p><code>
    +    Listen www.smallco.com:80
    +    </code></p></div>
    +
    +    <p>È£½ºÆ®¸í º¸´Ù´Â IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.
    +    (<a href="../dns-caveats.html">DNS ¹®Á¦</a> Âü°í)</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="single" id="single">¼­¹ö Çϳª·Î °¡»óÈ£½ºÆ® ½ÇÇàÇϱâ</a></h2>
    +
    +    <p>ÀÌ °æ¿ì À¥¼­¹ö ÇÑ°³·Î ÁÖ¼­¹ö¿Í ¸ðµç °¡»óÈ£½ºÆ®¿¡ ´ëÇÑ
    +    ¿äûÀ» ¼­ºñ½ºÇÑ´Ù. ¼³Á¤ÆÄÀÏÀÇ <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> Áö½Ã¾î¿¡ °¡»óÈ£½ºÆ®¸¶´Ù
    +    ´Ù¸¥ <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>, <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>,
    +    <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code>
    +    Áö½Ã¾î °ªÀ» ¼³Á¤ÇÑ´Ù. ¿¹¸¦ µé¸é,</p>
    +
    +    <div class="example"><p><code>
    +    &lt;VirtualHost www.smallco.com&gt;<br />
    +    ServerAdmin webmaster@mail.smallco.com<br />
    +    DocumentRoot /groups/smallco/www<br />
    +    ServerName www.smallco.com<br />
    +    ErrorLog /groups/smallco/logs/error_log<br />
    +    TransferLog /groups/smallco/logs/access_log<br />
    +    &lt;/VirtualHost&gt;<br />
    +		<br />
    +    &lt;VirtualHost www.baygroup.org&gt;<br />
    +    ServerAdmin webmaster@mail.baygroup.org<br />
    +    DocumentRoot /groups/baygroup/www<br />
    +    ServerName www.baygroup.org<br />
    +    ErrorLog /groups/baygroup/logs/error_log<br />
    +    TransferLog /groups/baygroup/logs/access_log<br />
    +    &lt;/VirtualHost&gt;
    +		</code></p></div>
    +
    +    <p>È£½ºÆ®¸í º¸´Ù´Â IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.
    +    (<a href="../dns-caveats.html">DNS ¹®Á¦</a> Âü°í)</p>
    +
    +    <p>VirtualHost Áö½Ã¾î ¾È¿¡¼­´Â ÇÁ·Î¼¼½º »ý¼º°ú ±âŸ ¸î¸î Áö½Ã¾î¸¦
    +    Á¦¿ÜÇÏ°í °ÅÀÇ <strong>¸ðµç</strong> ¼³Á¤Áö½Ã¾î¸¦ »ç¿ëÇÒ
    +    ¼ö ÀÖ´Ù. VirtualHost Áö½Ã¾î ¾È¿¡¼­ Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö
    +    ¾Ë·Á¸é <a href="../mod/directives.html">Áö½Ã¾î ¸ñ·Ï</a>¿¡¼­
    +    <a href="../mod/directive-dict.html#Context">»ç¿ëÀå¼Ò</a>¸¦
    +    È®ÀÎÇ϶ó.</p>
    +
    +    <p><a href="../suexec.html">suEXEC ÇÁ·Î±×·¥</a>À»
    +    »ç¿ëÇÑ´Ù¸é VirtualHost Áö½Ã¾î ¾È¿¡ <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code>¿Í <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code>À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <p><em>º¸¾È:</em> ¼­¹ö¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ¿Ü¿¡ ´Ù¸¥ »ç¶÷¿¡°Ô
    +    ·Î±×ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮ÀÇ ¾²±â±ÇÇÑÀÌ ÀÖ´Ù¸é º¸¾È
    +    ¹®Á¦¸¦ Á¶½ÉÇ϶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº <a href="../misc/security_tips.html">º¸¾È ÆÁ</a>À» Âü°íÇ϶ó.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/ip-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/ip-based.html.tr.utf8 b/docs/manual/vhosts/ip-based.html.tr.utf8
    new file mode 100644
    index 0000000..0397fd2
    --- /dev/null
    +++ b/docs/manual/vhosts/ip-based.html.tr.utf8
    @@ -0,0 +1,211 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>IP’ye Dayalı Sanal Konak Desteği - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>IP’ye Dayalı Sanal Konak Desteği</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#explanation">IP'ye dayalı sanal konak desteği nedir</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#requirements">Sistem gereksinimleri</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#howto">Apache nasıl ayarlanır?</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#multiple">Çok sayıda sürecin yapılandırılması</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#single">Sanal konaklar tek bir sürecin yapılandırılması</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li>
    +<a href="name-based.html">İsme Dayalı Sanal Konak Desteği</a>
    +</li><li><a href="#comments_section">Yorumlar</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="explanation" id="explanation">IP'ye dayalı sanal konak desteği nedir</a></h2>
    +    <p>IP'ye dayalı sanal konak desteği, bir isteğin alındığı IP adresi ve
    +      porta bağlı olarak farklı yönergeleri uygulamak için bir yoldur. Özetle,
    +      farklı siteleri farklı portlardan ve arayüzlerden sunmakta
    +      kullanılır.</p>
    +
    +     <p>Çoğu durumda, <a href="name-based.html">isme dayalı sanal konaklar</a>
    +       birçok sanal konağın tek bir IP adresi/port çiftini paylaşmasını
    +       sağladığından daha kullanışlıdır. Neyi kullanacağınıza karar vermek için
    +       <a href="name-based.html#namevip">İsme dayalı ve IP’ye dayalı Sanal
    +       Konaklar</a> bölümüne bakınız.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="requirements" id="requirements">Sistem gereksinimleri</a></h2>
    +
    +    <p><cite>IP’ye dayalı</cite> deyince, sunucunun <strong>her IP’ye dayalı
    +      sanal konak için ayrı bir IP adresi/port çifti</strong>ne sahip olduğunu
    +      anlıyoruz. Bunun olması için, makine ya çok sayıda ağ bağlantısına
    +      sahiptir ya da makinede, günümüzde çoğu işletim sistemi tarafından
    +      desteklenen sanal arabirimler ve/veya çok sayıda port kullanılıyordur.
    +      (Sanal arabirimlerle ilgili ayrıntılar için sistem belgelerinize bakınız;
    +      bu konu genellikle IP rumuzları (ip aliases) olarak geçer ve ayarlamak
    +      için genellikle "ifconfig" komutu kullanılır.)</p>
    +
    +    <p>Apache HTTP Sunucusu terminolojisinde, tek bir IP adresinin çok sayıda
    +      TCP portuyla kullanımı IP'ye dayalı sanal konak desteği olarak
    +      bilinir.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="howto" id="howto">Apache nasıl ayarlanır?</a></h2>
    +
    +    <p>Çok sayıda konağı desteklemek üzere Apache iki şekilde
    +      yapılandırılabilir. Ya her konak için ayrı bir <code class="program"><a href="../programs/httpd.html">httpd</a></code>
    +      süreci çalıştırırsınız ya da tüm sanal konakları destekleyen tek bir
    +      süreciniz olur.</p>
    +
    +    <p>Çok sayıda süreç kullanıyorsanız:</p>
    +
    +    <ul>
    +      <li>Güvenli bölgeler oluşturmanız gerekiyordur. Örneğin, şirket2’deki hiç
    +        kimse dosya sistemi üzerinden şirket1’e ait verileri okuyamasın, sadece
    +        herkes gibi tarayıcı kullanarak okuyabilsin istenebilir.  Bu durumda,
    +        <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>,
    +        <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>,
    +        <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> ve
    +        <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergeleri farklı
    +        değerlerle yapılandırılmış iki ayrı süreç çalıştırmanız gerekir.</li>
    +
    +      <li>Makine üzerindeki her IP adresini dinlemek için gereken dosya tanıtıcı
    +        ve bellek miktarını makul bir seviyede tutabilirsiniz. Bu sadece belli
    +        adresleri dinleyerek veya çok sayıda adresle eşleşen adres kalıpları
    +        kullanarak mümükün olabilir. Zaten, bir sebeple belli bir adresi dinleme
    +        ihtiyacı duyarsanız, diğer tüm adresleri de ayrı ayrı dinlemeniz
    +        gerekir. (Bir <code class="program"><a href="../programs/httpd.html">httpd</a></code> programı N-1 adresi dinlerken
    +        diÄŸerleri kalan adresleri dinleyebilir.)</li>
    +    </ul>
    +
    +    <p>Tek bir süreç kullanıyorsanız:</p>
    +
    +    <ul>
    +      <li><code class="program"><a href="../programs/httpd.html">httpd</a></code> yapılandırmasının sanal konaklar arasında
    +        paylaşılmasına izin veriliyor demektir.</li>
    +
    +      <li>Makine çok büyük miktarda isteği karşılayabilir ve ayrı ayrı
    +        süreçlerin çalışmasından kaynaklanan önemli başarım kayıpları
    +        yaÅŸanmaz.</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="multiple" id="multiple">Çok sayıda sürecin yapılandırılması</a></h2>
    +
    +    <p>Her sanal konak için ayrı bir <code class="program"><a href="../programs/httpd.html">httpd</a></code> yapılandırması
    +      oluşturulur. Her yapılandırmada, o süreç tarafından sunulacak IP adresi
    +      (veya sanal konak) için <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>
    +      yönergesi kullanılır. Örnek:</p>
    +
    +    <pre class="prettyprint lang-config">Listen 192.0.2.100:80</pre>
    +
    +
    +    <p>Burada konak ismi yerine IP adresi kullanmanız önerilir (ayrıntılar için
    +      <a href="../dns-caveats.html">DNS ile ilgili konular</a> belgesine
    +      bakınız).</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="single" id="single">Sanal konaklar tek bir sürecin yapılandırılması</a></h2>
    +
    +    <p>Bu durum için, ana sunucu ve sanal konakların tümüne gelen istekler tek
    +      bir <code class="program"><a href="../programs/httpd.html">httpd</a></code> süreci tarafından karşılanır. Yapılandırma
    +      dosyasında, her sanal konak için, farklı değerlere sahip <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>, <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>ve<code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>
    +      veya <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> yönergeleri
    +      içeren ayrı birer <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> bölümü
    +      oluşturulur. Örnek:</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost 192.168.1.10:80&gt;
    +    ServerAdmin bilgi@example.com
    +    DocumentRoot "/siteler/belgeler/ecom"
    +    ServerName example.com
    +    ErrorLog "/siteler/gunlukler/ecom/hatalar.log"
    +    CustomLog "/siteler/gunlukler/ecom/erisim.log" combined
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 192.168.1.20:80&gt;
    +    ServerAdmin bilgi@example.org
    +    DocumentRoot "/siteler/belgeler/eorg"
    +    ServerName example.org
    +    ErrorLog "/siteler/gunlukler/eorg/hatalar.log"
    +    CustomLog "/siteler/gunlukler/eorg/erisim.log" combined
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>&lt;VirtualHost&gt; yönergesinde konak ismi yerine
    +       IP adresi kullanmanız önerilir (ayrıntılar için
    +       <a href="../dns-caveats.html">DNS ile ilgili konular</a>
    +       belgesine bakınız).</p>
    +
    +    <p>Belli bir IP adresi veya port kullanımı bunların joker eşdeğerlerine
    +      göre daha yüksek öncelik sağlar ve eşleşen bir sanal konak da genel
    +      sunucuya göre öncelik alır.</p>
    +
    +    <p>Süreç oluşturmayı denetleyen yönergeler ve bir kaç başka yönerge dışında
    +      hemen hemen tüm yapılandırma yönergeleri <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> bölümleri içinde kullanılabilir.
    +      Bir yönergenin <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code>
    +      bölümlerinde kullanılıp kullanılmayacağını öğrenmek için <a href="../mod/quickreference.html">yönerge dizinini</a> kullanarak yönergenin
    +      <a href="../mod/directive-dict.html#Context">Bağlam</a>’ına bakınız.</p>
    +
    +    <p><a href="../suexec.html">suEXEC sarmalayıcısı</a> kullanıldığı takdirde
    +      <code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> yönergesi de
    +      bir <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> bölümü içinde
    +      kullanılabilir.</p>
    +
    +    <p><em>GÜVENLİK:</em>Günlük dosyalarının yazılacağı yeri belirlerken,
    +      Apache’yi başlatan kullanıcıdan başka kimsenin yazamayacağı bir yerin
    +      seçilmesi bazı güvenlik risklerini ortadan kaldırmak bakımından
    +      önemlidir. Ayrıntılar için <a href="../misc/security_tips.html">güvenlik
    +      ipuçları</a> belgesine bakınız.</p>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/ip-based.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/ip-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/mass.html b/docs/manual/vhosts/mass.html
    new file mode 100644
    index 0000000..ff8663f
    --- /dev/null
    +++ b/docs/manual/vhosts/mass.html
    @@ -0,0 +1,17 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: mass.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: mass.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: mass.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: mass.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/vhosts/mass.html.en b/docs/manual/vhosts/mass.html.en
    new file mode 100644
    index 0000000..f5af1e1
    --- /dev/null
    +++ b/docs/manual/vhosts/mass.html.en
    @@ -0,0 +1,348 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Dynamically Configured Mass Virtual Hosting - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Dynamically Configured Mass Virtual Hosting</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/mass.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>This document describes how to efficiently serve an
    +    arbitrary number of virtual hosts with the Apache HTTP Server. A
    +    <a href="../rewrite/vhosts.html">separate document</a> discusses using
    +    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> to create dynamic mass virtual hosts.
    +    </p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">Motivation</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#overview">Overview</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#simple">Dynamic Virtual Hosts with
    +mod_vhost_alias</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#homepages">Simplified Dynamic Virtual Hosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Using Multiple Virtual
    +  Hosting Systems on the Same Server</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">More Efficient IP-Based Virtual Hosting</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Mass virtual hosts with
    +mod_rewrite</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#macro">Mass virtual hosts with mod_macro</a></li>
    +</ul><h3>See also</h3><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="motivation" id="motivation">Motivation</a></h2>
    +
    +    <p>The techniques described here are of interest if your
    +    <code>httpd.conf</code> contains many
    +    <code>&lt;VirtualHost&gt;</code> sections that are
    +    substantially the same, for example:</p>
    +
    +<pre class="prettyprint lang-config">&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 customer-1.example.com
    +    DocumentRoot        "/www/hosts/customer-1.example.com/docs"
    +    ScriptAlias  "/cgi-bin/"  "/www/hosts/customer-1.example.com/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 customer-2.example.com
    +    DocumentRoot        "/www/hosts/customer-2.example.com/docs"
    +    ScriptAlias  "/cgi-bin/"  "/www/hosts/customer-2.example.com/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 customer-N.example.com
    +    DocumentRoot        "/www/hosts/customer-N.example.com/docs"
    +    ScriptAlias  "/cgi-bin/"  "/www/hosts/customer-N.example.com/cgi-bin"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>We wish to replace these multiple
    +    <code>&lt;VirtualHost&gt;</code> blocks with a mechanism
    +    that works them out dynamically. This has a number of
    +    advantages:</p>
    +
    +    <ol>
    +      <li>Your configuration file is smaller, so Apache starts
    +      more quickly and uses less memory. Perhaps more importantly, the
    +      smaller configuration is easier to maintain, and leaves less room
    +      for errors.</li>
    +
    +      <li>Adding virtual hosts is simply a matter of creating the
    +      appropriate directories in the filesystem and entries in the
    +      DNS - you don't need to reconfigure or restart Apache.</li>
    +    </ol>
    +
    +    <p>The main disadvantage is that you cannot have a different log file for
    +    each virtual host; however, if you have many virtual hosts, doing
    +    this can be a bad idea anyway, because of the <a href="fd-limits.html">number of file descriptors needed</a>.
    +    It is better to <a href="../logs.html#piped">log to a pipe or a fifo</a>,
    +    and arrange for the process at the other end to split up the log
    +    files into one per virtual host. One example of such a process can
    +    be found in the <a href="../programs/split-logfile.html">split-logfile</a>
    +    utility.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="overview" id="overview">Overview</a></h2>
    +
    +    <p>A virtual host is defined by two pieces of information: its
    +    IP address, and the contents of the <code>Host:</code> header
    +    in the HTTP request. The dynamic mass virtual hosting technique
    +    used here is based on automatically inserting this information into the
    +    pathname of the file that is used to satisfy the request. This
    +    can be most easily done by using <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>
    +    with Apache httpd. Alternatively,
    +    <a href="../rewrite/vhosts.html">mod_rewrite can
    +    be used</a>.</p>
    +    <p>Both of these modules are disabled by default; you must enable
    +    one of them when configuring and building Apache httpd if you want to
    +    use this technique.</p>
    +
    +    <p>A couple of things need to be determined from the request in
    +    order to make the dynamic
    +    virtual host look like a normal one. The most important is the
    +    server name, which is used by the server to generate
    +    self-referential URLs etc. It is configured with the
    +    <code>ServerName</code> directive, and it is available to CGIs
    +    via the <code>SERVER_NAME</code> environment variable. The
    +    actual value used at run time is controlled by the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>
    +    setting. With <code>UseCanonicalName Off</code>, the server name
    +    is taken from the contents of the <code>Host:</code> header in the
    +    request. With <code>UseCanonicalName DNS</code>, it is taken from a
    +    reverse DNS lookup of the virtual host's IP address. The former
    +    setting is used for name-based dynamic virtual hosting, and the
    +    latter is used for IP-based hosting. If httpd cannot work out
    +    the server name because there is no <code>Host:</code> header,
    +    or the DNS lookup fails, then the value configured with
    +    <code>ServerName</code> is used instead.</p>
    +
    +    <p>The other thing to determine is the document root (configured
    +    with <code>DocumentRoot</code> and available to CGI scripts via the
    +    <code>DOCUMENT_ROOT</code> environment variable). In a normal
    +    configuration, this is used by the core module when
    +    mapping URIs to filenames, but when the server is configured to
    +    do dynamic virtual hosting, that job must be taken over by another
    +    module (either <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> or
    +    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>), which has a different way of doing
    +    the mapping. Neither of these modules is responsible for
    +    setting the <code>DOCUMENT_ROOT</code> environment variable so
    +    if any CGIs or SSI documents make use of it, they will get a
    +    misleading value.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="simple" id="simple">Dynamic Virtual Hosts with
    +mod_vhost_alias</a></h2>
    +
    +    <p>This extract from <code>httpd.conf</code> implements the
    +    virtual host arrangement outlined in the <a href="#motivation">Motivation</a> section above
    +    using <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>.</p>
    +
    +<pre class="prettyprint lang-config"># get the server name from the Host: header
    +UseCanonicalName Off
    +
    +# this log format can be split per-virtual-host based on the first field
    +# using the split-logfile utility.
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# include the server name in the filenames used to satisfy requests
    +VirtualDocumentRoot "/www/hosts/%0/docs"
    +VirtualScriptAlias  "/www/hosts/%0/cgi-bin"</pre>
    +
    +
    +    <p>This configuration can be changed into an IP-based virtual
    +    hosting solution by just turning <code>UseCanonicalName
    +    Off</code> into <code>UseCanonicalName DNS</code>. The server
    +    name that is inserted into the filename is then derived from
    +    the IP address of the virtual host. The variable <code>%0</code>
    +    references the requested servername, as indicated in the
    +    <code>Host:</code> header.</p>
    +
    +<p>See the <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> documentation for more usage
    +examples.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="homepages" id="homepages">Simplified Dynamic Virtual Hosts</a></h2>
    +
    +    <p>This is an adjustment of the above system, tailored for an
    +    ISP's web hosting server. Using <code>%2</code>,
    +    we can select substrings of the server name to
    +    use in the filename so that, for example, the documents for
    +    <code>www.user.example.com</code> are found in
    +    <code>/home/user/www</code>. It uses a single <code>cgi-bin</code>
    +    directory instead of one per virtual host.</p>
    +
    +<pre class="prettyprint lang-config">UseCanonicalName Off
    +
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# include part of the server name in the filenames
    +VirtualDocumentRoot "/home/%2/www"
    +
    +# single cgi-bin directory
    +ScriptAlias  "/cgi-bin/"  "/www/std-cgi/"</pre>
    +
    +
    +    <p>There are examples of more complicated
    +    <code>VirtualDocumentRoot</code> settings in the
    +    <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> documentation.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="combinations" id="combinations">Using Multiple Virtual
    +  Hosting Systems on the Same Server</a></h2>
    +
    +    <p>With more complicated setups, you can use httpd's normal
    +    <code>&lt;VirtualHost&gt;</code> directives to control the
    +    scope of the various virtual hosting configurations. For
    +    example, you could have one IP address for general customers' homepages,
    +    and another for commercial customers, with the following setup.
    +    This can be combined with conventional
    +    <code>&lt;VirtualHost&gt;</code> configuration sections, as shown
    +    below.</p>
    +
    +<pre class="prettyprint lang-config">UseCanonicalName Off
    +
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +
    +&lt;Directory "/www/commercial"&gt;
    +    Options FollowSymLinks
    +    AllowOverride All
    +&lt;/Directory&gt;
    +
    +&lt;Directory "/www/homepages"&gt;
    +    Options FollowSymLinks
    +    AllowOverride None
    +&lt;/Directory&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName www.commercial.example.com
    +
    +    CustomLog "logs/access_log.commercial" vcommon
    +
    +    VirtualDocumentRoot "/www/commercial/%0/docs"
    +    VirtualScriptAlias  "/www/commercial/%0/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.45&gt;
    +    ServerName www.homepages.example.com
    +
    +    CustomLog "logs/access_log.homepages" vcommon
    +
    +    VirtualDocumentRoot "/www/homepages/%0/docs"
    +    ScriptAlias         "/cgi-bin/" "/www/std-cgi/"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +<div class="note">
    +    <h3>Note</h3>
    +    <p>If the first VirtualHost block does <em>not</em> include a
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> directive, the reverse
    +    DNS of the relevant IP will be used instead.
    +    If this is not the server name you
    +    wish to use, a bogus entry (eg. <code>ServerName
    +    none.example.com</code>) can be added to get around this
    +    behaviour.</p>
    +</div>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipbased" id="ipbased">More Efficient IP-Based Virtual Hosting</a></h2>
    +
    +    <p>The configuration changes suggested to turn <a href="#simple">the first
    +    example</a> into an IP-based virtual hosting setup result in
    +    a rather inefficient setup. A new DNS lookup is required for every
    +    request. To avoid this overhead, the filesystem can be arranged to
    +    correspond to the IP addresses, instead of to the host names, thereby
    +    negating the need for a DNS lookup. Logging will also have to be adjusted
    +    to fit this system.</p>
    +
    +<pre class="prettyprint lang-config"># get the server name from the reverse DNS of the IP address
    +UseCanonicalName DNS
    +
    +# include the IP address in the logs so they may be split
    +LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# include the IP address in the filenames
    +VirtualDocumentRootIP "/www/hosts/%0/docs"
    +VirtualScriptAliasIP  "/www/hosts/%0/cgi-bin"</pre>
    +
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="rewrite" id="rewrite">Mass virtual hosts with
    +mod_rewrite</a></h2>
    +
    +<p>
    +Mass virtual hosting may also be accomplished using
    +<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, either using simple <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directives, or using more
    +complicated techniques such as storing the vhost definitions externally
    +and accessing them via <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. These techniques are
    +discussed in the <a href="../rewrite/vhosts.html">rewrite
    +documentation</a>.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="macro" id="macro">Mass virtual hosts with mod_macro</a></h2>
    +
    +<p>Another option for dynamically generated virtual hosts is
    +<code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code>, with which you can create a virtualhost
    +template, and invoke it for multiple hostnames. An example of this is
    +provided in the <strong>Usage</strong> section of the module
    +documentation.
    +</p>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="../en/vhosts/mass.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/mass.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/mass.html.fr.utf8 b/docs/manual/vhosts/mass.html.fr.utf8
    new file mode 100644
    index 0000000..7415fc4
    --- /dev/null
    +++ b/docs/manual/vhosts/mass.html.fr.utf8
    @@ -0,0 +1,363 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Hébergement virtuel de masse configuré dynamiquement - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Hébergement virtuel</a></div><div id="page-content"><div id="preamble"><h1>Hébergement virtuel de masse configuré dynamiquement</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Ce document propose une méthode performante pour servir un nombre
    +    quelconque d'hôtes virtuels avec le serveur HTTP Apache. Un <a href="../rewrite/vhosts.html">document séparé</a> décrit comment
    +    utiliser <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour gérer l'hébergement
    +    virtuel de masse dynamique.
    +    </p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">A qui ce document est-il destiné ?</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#overview">Vue d'ensemble</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#simple">Hébergement virtuel
    +dynamique avec mod_vhost_alias</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#homepages">Système de serveurs virtuels dynamiques
    +simplifié</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Utiliser plusieurs systèmes
    +d'hébergement virtuel sur le même serveur</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">Pour un hébergement virtuel par IP plus
    +efficace</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Hébergement virtuel de masse avec
    +mod_rewrite</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#macro">Hébergement virtuel en masse avec mod_macro</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</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="motivation" id="motivation">A qui ce document est-il destiné ?</a></h2>
    +
    +    <p>Les techniques décrites ici vous concernent si votre
    +    <code>httpd.conf</code> contient de nombreuses sections
    +    <code>&lt;VirtualHost&gt;</code> très semblables,
    +    dans le style :</p>
    +
    +<pre class="prettyprint lang-config">&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 customer-1.example.com
    +    DocumentRoot        "/www/hosts/customer-1.example.com/docs"
    +    ScriptAlias  "/cgi-bin/" "/www/hosts/customer-1.example.com/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 customer-2.example.com
    +    DocumentRoot        "/www/hosts/customer-2.example.com/docs"
    +    ScriptAlias  "/cgi-bin/" "/www/hosts/customer-2.example.com/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 customer-N.example.com
    +    DocumentRoot        "/www/hosts/customer-N.example.com/docs"
    +    ScriptAlias  "/cgi-bin/" "/www/hosts/customer-N.example.com/cgi-bin"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Nous voulons remplacer toutes les configurations
    +    <code>&lt;VirtualHost&gt;</code> par un mécanisme qui les génère
    +    dynamiquement. Ceci présente certains avantages :</p>
    +
    +    <ol>
    +      <li>Votre fichier de configuration est plus petit, ainsi Apache
    +      démarre plus rapidement et consomme moins de mémoire. Et ce qui
    +      est peut-être le plus important, le fichier de configuration plus
    +      petit est plus facile à maintenir, et le risque d'erreurs en est
    +      diminué d'autant.
    +      </li>
    +
    +      <li>Pour ajouter des serveurs virtuels, il suffit de créer les
    +      répertoires appropriés dans le système de fichiers et les entrées
    +      dans le DNS - il n'est plus nécessaire de reconfigurer ou de
    +      redémarrer Apache.</li>
    +    </ol>
    +
    +    <p>Le principal désavantage réside dans le fait que vous ne pouvez
    +    pas définir un fichier journal différent pour chaque serveur
    +    virtuel. De toute façon, ce serait une mauvaise idée si vous avez de
    +    nombreux serveurs virtuels, car cela nécessiterait un <a href="fd-limits.html">nombre important de descripteurs de
    +    fichier</a>. Il est préférable de rediriger <a href="../logs.html#piped">les journaux via un pipe ou
    +    une file fifo</a> vers un
    +    programme, et faire en sorte que ce dernier éclate les journaux
    +    en un journal par serveur virtuel. L'utilitaire <a href="../programs/split-logfile.html">split-logfile</a>
    +    constitue un exemple de ce traitement.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="overview" id="overview">Vue d'ensemble</a></h2>
    +
    +    <p>Un serveur virtuel peut être défini par deux informations : son
    +    adresse IP, et le contenu de l'en-tête <code>Host:</code> de la
    +    requête HTTP. La technique d'hébergement virtuel dynamique de masse
    +    utilisée ici consiste à insérer automatiquement ces informations
    +    dans le chemin du fichier à utiliser pour répondre à la requête. On
    +    peut y parvenir assez facilement en utilisant
    +    <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> avec Apache httpd, mais on peut aussi
    +    <a href="../rewrite/vhosts.html">utiliser mod_rewrite</a>. </p>
    +    <p>Par défaut, ces deux modules
    +    sont désactivés ; vous devez activer l'un d'eux lors de la
    +    compilation et de la configuration d'Apache httpd si vous voulez utiliser
    +    cette technique.</p>
    +
    +    <p>Certains paramètres doivent être extraits de la requête pour que le serveur
    +    dynamique se présente comme un serveur dynamique normal. Le plus
    +    important est le nom du serveur, que le serveur utilise pour générer des
    +    URLs d'auto-référencement, etc... Il est défini via la directive
    +    <code>ServerName</code>, et les CGIs peuvent s'y référer via la
    +    variable d'environnement <code>SERVER_NAME</code>. Sa véritable
    +    valeur utilisée à l'exécution est contrôlée par la définition de la
    +    directive
    +    <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>. Avec
    +    <code>UseCanonicalName Off</code>, le nom du serveur correspond au
    +    contenu de l'en-tête <code>Host:</code> de la requête. Avec
    +    <code>UseCanonicalName DNS</code>, il est extrait d'une recherche
    +    DNS inverse sur l'adresse IP du serveur virtuel. La première
    +    configuration est utilisée pour l'hébergement virtuel dynamique par
    +    nom, et la deuxième pour l'hébergement virtuel dynamique par IP. Si
    +    httpd ne peut pas déterminer le nom du serveur, soit parce qu'il
    +    n'y a pas d'en-tête <code>Host:</code>, soit parce que la recherche
    +    DNS a échoué, il prend en compte la valeur définie par la directive
    +    <code>ServerName</code>.</p>
    +
    +    <p>L'autre paramètre à extraire est la racine des documents (définie
    +    via la directive <code>DocumentRoot</code> et disponible pour les
    +    scripts CGI via la variable d'environnement <code>DOCUMENT_ROOT</code>).
    +    Dans une configuration classique, il est utilisé par le module core
    +    pour faire correspondre les URIs aux noms de fichiers, mais lorsque
    +    la configuration du serveur comporte des serveurs virtuels, ce
    +    traitement doit être pris en charge par un autre module (soit
    +    <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>, soit <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>), qui
    +    utilise un méthode de correspondance différente. Aucun de ces
    +    modules ne se chargeant de définir la variable d'environnement
    +    <code>DOCUMENT_ROOT</code>, si des CGIs ou des documents SSI
    +    doivent en faire usage, ils obtiendront une valeur erronée.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="simple" id="simple">Hébergement virtuel
    +dynamique avec mod_vhost_alias</a></h2>
    +
    +    <p>Cet extrait de fichier <code>httpd.conf</code> implémente
    +    l'hébergement virtuel décrit dans la section <a href="#motivation">À qui ce document est-il destiné ?</a> ci-dessus
    +    en utilisant <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>.</p>
    +
    +<pre class="prettyprint lang-config"># extrait le nom du serveur de l'en-tête Host:
    +UseCanonicalName Off
    +
    +# ce format de journal peut être éclaté en journaux par serveur virtuel
    +# à l'aide du premier champ via l'utilitaire split-logfile
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# inclut le nom du serveur dans les noms de fichiers ressources
    +# nécessaires aux traitements des requêtes
    +VirtualDocumentRoot "/www/hosts/%0/docs"
    +VirtualScriptAlias  "/www/hosts/%0/cgi-bin"</pre>
    +
    +
    +    <p>Pour changer cette configuration en solution de serveur virtuel
    +    par IP, il suffit de remplacer <code>UseCanonicalName
    +    Off</code> par <code>UseCanonicalName DNS</code>. Le nom du serveur
    +    inséré dans le nom de fichier sera alors déduit de l'adresse IP du
    +    serveur virtuel. La variable <code>%0</code> fait référence au nom
    +    de serveur de la requête, tel qu'il est indiqué dans l'en-tête
    +    <code>Host:</code>.</p>
    +
    +    <p>Voir la documentation du module <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>
    +    pour d'avantages d'exemples d'utilisation.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="homepages" id="homepages">Système de serveurs virtuels dynamiques
    +simplifié</a></h2>
    +
    +    <p>Il s'agit d'une adaptation du système ci-dessus, ajusté pour un
    +    serveur d'hébergement web de FAI. Grâce à la variable
    +    <code>%2</code>, on peut extraire des sous-chaînes de caractères du
    +    nom du serveur pour les utiliser dans le nom de fichier afin, par
    +    exemple, de définir <code>/home/user/www</code> comme emplacement des
    +    documents pour <code>www.user.example.com</code>. Un seul répertoire
    +    <code>cgi-bin</code> suffit pour l'ensemble des
    +    serveurs virtuels.</p>
    +
    +<pre class="prettyprint lang-config">UseCanonicalName Off
    +
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# insertion d'une partie du nom du serveur dans les noms de fichiers
    +VirtualDocumentRoot "/home/%2/www"
    +
    +# répertoire cgi-bin unique
    +ScriptAlias  "/cgi-bin/"  "/www/std-cgi/"</pre>
    +
    +
    +    <p>Vous trouverez des exemples plus élaborés d'utilisation de la
    +    directive <code>VirtualDocumentRoot</code> dans la documentation du
    +    module <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="combinations" id="combinations">Utiliser plusieurs systèmes
    +d'hébergement virtuel sur le même serveur</a></h2>
    +
    +    <p>Moyennant une configuration un peu plus compliquée, vous pouvez
    +    contrôler la portée des différentes configurations d'hébergement
    +    virtuel à l'aide des directives <code>&lt;VirtualHost&gt;</code>
    +    normales de httpd. Par exemple, on peut associer une adresse IP pour
    +    les pages d'accueil des clients en général, et une autre pour les
    +    clients commerciaux avec la configuration suivante. Cette
    +    configuration peut être combinée avec les sections
    +    <code>&lt;VirtualHost&gt;</code> conventionnelles, comme indiqué
    +    plus loin.</p>
    +
    +<pre class="prettyprint lang-config">UseCanonicalName Off
    +
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +
    +&lt;Directory "/www/commercial"&gt;
    +    Options FollowSymLinks
    +    AllowOverride All
    +&lt;/Directory&gt;
    +
    +&lt;Directory "/www/homepages"&gt;
    +    Options FollowSymLinks
    +    AllowOverride None
    +&lt;/Directory&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName www.commercial.example.com
    +    
    +    CustomLog "logs/access_log.commercial" vcommon
    +    
    +    VirtualDocumentRoot "/www/commercial/%0/docs"
    +    VirtualScriptAlias  "/www/commercial/%0/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.45&gt;
    +    ServerName www.homepages.example.com
    +    
    +    CustomLog "logs/access_log.homepages" vcommon
    +    
    +    VirtualDocumentRoot "/www/homepages/%0/docs"
    +    ScriptAlias         "/cgi-bin/" "/www/std-cgi/"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +<div class="note">
    +	<h3>Note</h3>
    +	<p>Si le premier bloc VirtualHost ne comporte <em>pas</em> de
    +	directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, c'est
    +	le nom issu d'une recherche DNS inverse à partir de l'adresse IP
    +	du serveur virtuel qui sera utilisé. Si ce nom ne correspond pas
    +	à celui que vous voulez utiliser, vous pouvez ajouter une entrée
    +	de remplacement (par exemple <code>ServerName
    +	none.example.com</code>) pour éviter ce comportement.</p>
    +</div>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipbased" id="ipbased">Pour un hébergement virtuel par IP plus
    +efficace</a></h2>
    +
    +    <p>Les changements de configuration suggérés pour transformer <a href="#simple">le premier exemple</a> en hébergement virtuel par IP
    +    conduisent à une configuration peu efficace. Chaque requête
    +    nécessite une nouvelle recherche DNS. Pour éviter cette surcharge de
    +    travail, le système de fichiers peut être organisé pour correspondre
    +    aux adresses IP, plutôt qu'aux noms de serveurs, supprimant par
    +    la-même la nécessité d'une recherche DNS. La journalisation doit
    +    aussi être adaptée pour fonctionner sur un tel système.</p>
    +
    +<pre class="prettyprint lang-config"># obtention du nom du serveur par recherche DNS inverse
    +# sur l'adresse IP
    +UseCanonicalName DNS
    +
    +# insertion de l'adresse IP dans les journaux afin de pouvoir les
    +# éclater
    +LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# insertion de l'adresse IP dans les noms de fichiers
    +VirtualDocumentRootIP "/www/hosts/%0/docs"
    +VirtualScriptAliasIP  "/www/hosts/%0/cgi-bin"</pre>
    +
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="rewrite" id="rewrite">Hébergement virtuel de masse avec
    +mod_rewrite</a></h2>
    +
    +<p>
    +L'hébergement virtuel de masse peut aussi être effectué en utilisant
    +<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, soit à l'aide de simples directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, soit en utilisant des
    +techniques plus compliquées comme le stockage externe des définitions
    +des serveurs virtuels, ces dernières étant accessibles via des
    +directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. Ces
    +techniques sont décrites dans la <a href="../rewrite/vhosts.html">documentation sur la réécriture</a>.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="macro" id="macro">Hébergement virtuel en masse avec mod_macro</a></h2>
    +
    +<p>Une autre option pour générer dynamiquement des serveurs virtuels :
    +mod_macro ; ce module permet de créer un modèle de serveur virtuel que
    +vous pourrez invoquer pour des noms d'hôtes multiples. La section
    +<strong>Usage</strong> de la documentation du module présente un exemple qui
    +illustre cette méthode.
    +</p>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/mass.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/mass.html.ko.euc-kr b/docs/manual/vhosts/mass.html.ko.euc-kr
    new file mode 100644
    index 0000000..d6d2f89
    --- /dev/null
    +++ b/docs/manual/vhosts/mass.html.ko.euc-kr
    @@ -0,0 +1,453 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ µ¿ÀûÀ¸·Î ¼³Á¤Çϱâ - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">°¡»óÈ£½ºÆ®</a></div><div id="page-content"><div id="preamble"><h1>´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ µ¿ÀûÀ¸·Î ¼³Á¤Çϱâ</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +
    +    <p>ÀÌ ¹®¼­´Â ¾ÆÆÄÄ¡ 1.3¿¡¼­ ´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ È¿À²ÀûÀ¸·Î
    +    ¼­ºñ½ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. 
    +    </p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">µ¿±â</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#overview">°³¿ä</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#simple">°£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#homepages">°¡»óÀ¸·Î È£½ºÆ®Çϴ ȨÆäÀÌÁö ½Ã½ºÅÛ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#combinations">ÇÑ ¼­¹ö¿¡ ¿©·¯ °¡»óÈ£½ºÆ®
    +    ½Ã½ºÅÛ »ç¿ëÇϱâ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">´õ È¿À²ÀûÀÎ IP±â¹Ý °¡»óÈ£½ºÆ®</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#oldversion">¾ÆÆÄÄ¡ ÀÌÀü ¹öÀü »ç¿ëÇϱâ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite"><code>mod_rewrite</code>¸¦
    +    »ç¿ëÇÑ °£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#homepages.rewrite"><code>mod_rewrite</code>¸¦
    +    »ç¿ëÇÑ È¨ÆäÀÌÁö ½Ã½ºÅÛ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">º°µµÀÇ °¡»óÈ£½ºÆ® ¼³Á¤ÆÄÀÏ
    +    »ç¿ëÇϱâ</a></li>
    +</ul><h3>Âü°í</h3><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="motivation" id="motivation">µ¿±â</a></h2>
    +
    +    <p>´ç½ÅÀÇ <code>httpd.conf</code>¿¡ ´ÙÀ½°ú °°ÀÌ ¼­·Î ºñ½ÁÇÑ
    +    <code>&lt;VirtualHost&gt;</code> ¼½¼ÇµéÀ» ¸¹ÀÌ ÀÖ´Ù¸é ¿©±â¼­
    +    ¼³¸íÇÏ´Â ¹æ¹ýÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù:</p>
    +
    +<div class="example"><p><code>
    +NameVirtualHost 111.22.33.44<br />
    +&lt;VirtualHost 111.22.33.44&gt;<br />
    +<span class="indent">
    +    ServerName                 www.customer-1.com<br />
    +    DocumentRoot        /www/hosts/www.customer-1.com/docs<br />
    +    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-1.com/cgi-bin<br />
    +</span>
    +&lt;/VirtualHost&gt;<br />
    +&lt;VirtualHost 111.22.33.44&gt;<br />
    +<span class="indent">
    +    ServerName                 www.customer-2.com<br />
    +    DocumentRoot        /www/hosts/www.customer-2.com/docs<br />
    +    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-2.com/cgi-bin<br />
    +</span>
    +&lt;/VirtualHost&gt;<br />
    +# ¹Ùº¸ ¹Ùº¸ ¹Ùº¸<br />
    +&lt;VirtualHost 111.22.33.44&gt;<br />
    +<span class="indent">
    +    ServerName                 www.customer-N.com<br />
    +    DocumentRoot        /www/hosts/www.customer-N.com/docs<br />
    +    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-N.com/cgi-bin<br />
    +</span>
    +&lt;/VirtualHost&gt;
    +</code></p></div>
    +
    +    <p>±âº» °³³äÀº Á¤ÀûÀÎ <code>&lt;VirtualHost&gt;</code>
    +    ¼³Á¤ ¸ðµÎ¸¦ µ¿ÀûÀ¸·Î ó¸®Çϵµ·Ï ´ëüÇÏ´Â °ÍÀÌ´Ù.
    +    ±×·¯¸é ¸¹Àº ÀåÁ¡ÀÌ ÀÖ´Ù:</p>
    +
    +    <ol>
    +      <li>¼³Á¤ÆÄÀÏÀÌ ÀÛ¾ÆÁ®¼­ ¾ÆÆÄÄ¡°¡ »¡¸® ½ÃÀÛÇÏ°í ¸Þ¸ð¸®¸¦
    +      Àû°Ô »ç¿ëÇÑ´Ù.</li>
    +
    +      <li>°¡»óÈ£½ºÆ®¸¦ Ãß°¡ÇϱâÀ§ÇØ ÆÄÀϽýºÅÛ¿¡ Àû´çÇÑ
    +      µð·ºÅ丮¸¦ ¸¸µé°í DNS¿¡ Ç׸ñÀ» Ãß°¡Çϱ⸸ ÇϸéµÈ´Ù. Áï,
    +      ¾ÆÆÄÄ¡¸¦ Àç¼³Á¤ÇÏ°í Àç½ÃÀÛÇÒ ÇÊ¿ä°¡ ¾ø´Ù.</li>
    +    </ol>
    +
    +    <p>´ÜÁ¡Àº °¢ °¡»óÈ£½ºÆ®º°·Î ´Ù¸¥ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù´Â
    +    Á¡ÀÌ´Ù. ±×·¯³ª ¸Å¿ì ¸¹Àº °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÑ´Ù¸é ÆÄÀϱâ¼úÀÚ¸¦
    +    ´Ù ½á¹ö¸®±â¶§¹®¿¡ ¼­·Î ´Ù¸¥ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÆÄÀÌÇÁ³ª
    +    fifo·Î ·Î±×¸¦ º¸³»°í, ¹Þ´Â Æí¿¡¼­ ·Î±×¸¦ ó¸®ÇÏ¿© ³ª´©´Â
    +    ¹æ¹ýÀÌ (Åë°è µîÀ» ¸ðÀ» ¼öµµ ÀÖ´Ù) ´õ ³´´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="overview" id="overview">°³¿ä</a></h2>
    +
    +    <p>°¡»óÈ£½ºÆ®´Â IP ÁÖ¼Ò¿Í HTTP ¿äûÀÇ <code>Host:</code>
    +    Çì´õ Á¤º¸·Î Á¤ÀÇÇÑ´Ù. ±âº»ÀûÀ¸·Î ´ë·®ÀÇ
    +    µ¿Àû °¡»óÈ£½ºÆ® ±â¼úÀº ÀÚµ¿À¸·Î °¡»óÈ£½ºÆ® Á¤º¸¸¦ ¿äûÀÇ
    +    ÆÄÀÏ°æ·Î¿¡ Æ÷ÇÔÇÑ´Ù. ÀÌ´Â ´ëºÎºÐ <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>¸¦
    +    »ç¿ëÇÏ¿© ½±°Ô ÇØ°áÇÒ ¼ö ÀÖÁö¸¸, ¾ÆÆÄÄ¡ 1.3.6 ÀÌÇϸ¦ »ç¿ëÇÑ´Ù¸é
    +    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ µÎ ¸ðµâ
    +    ¸ðµÎ ±âº»ÀûÀ¸·Î ¼­¹ö¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ·Á¸é
    +    ¾ÆÆÄÄ¡¸¦ ±¸¼ºÇÏ°í ÄÄÆÄÀÏÇÒ¶§ Æ÷ÇÔÇØ¾ß ÇÑ´Ù.</p>
    +
    +    <p>µ¿Àû °¡»óÈ£½ºÆ®¸¦ ÀϹÝÀûÀÎ °¡»óÈ£½ºÆ®Ã³·³ º¸ÀÌ°ÔÇÏ·Á¸é
    +    ¿©·¯°¡Áö¸¦ `¼Ó¿©¾ß' ÇÑ´Ù. °¡Àå Áß¿äÇÑ °ÍÀº ¾ÆÆÄÄ¡°¡ ÀÚ±âÂüÁ¶
    +    URL µîÀ» ¸¸µé¶§ »ç¿ëÇÒ ¼­¹ö¸íÀÌ´Ù. ¼­¹ö¸íÀº
    +    <code>ServerName</code> Áö½Ã¾î·Î ¼³Á¤Çϸç, CGI¿¡´Â
    +    <code>SERVER_NAME</code> ȯ°æº¯¼ö·Î ÁÖ¾îÁø´Ù.  ½ÇÇàÁß ½ÇÁ¦
    +    ¼­¹ö¸íÀº <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> ¼³Á¤¿¡ ´Þ·È´Ù.
    +    <code>UseCanonicalName Off</code>ÀÌ¸é ¿äûÀÇ <code>Host:</code>
    +    Çì´õ ³»¿ëÀÌ ¼­¹ö¸íÀÌ µÈ´Ù. <code>UseCanonicalName DNS</code>À̸é
    +    °¡»óÈ£½ºÆ®ÀÇ IP ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ¼­¹ö¸íÀ» ¾Ë¾Æ³½´Ù.
    +    ÀüÀÚ´Â À̸§±â¹Ý µ¿Àû °¡»óÈ£½ºÆ®¿¡¼­ »ç¿ëÇÏ°í, ÈÄÀÚ´Â IP±â¹Ý
    +    °¡»óÈ£½ºÆ®¿¡¼­ »ç¿ëÇÑ´Ù. <code>Host:</code> Çì´õ°¡ ¾ø°Å³ª
    +    DNS °Ë»öÀÌ ½ÇÆÐÇÏ¿© ¾ÆÆÄÄ¡°¡ ¼­¹ö¸íÀ» ¾Ë¾Æ³»Áö ¸øÇϸé
    +    <code>ServerName</code>À¸·Î ¼³Á¤ÇÑ °ªÀ» ´ë½Å »ç¿ëÇÑ´Ù.</p>
    +
    +    <p>´Ù¸¥ `¼ÓÀÏ' °ÍÀº (<code>DocumentRoot</code>·Î ¼³Á¤Çϸç,
    +    CGI¿¡´Â <code>DOCUMENT_ROOT</code> ȯ°æº¯¼ö·Î ÁÖ¾îÁö´Â)
    +    ¹®¼­·çÆ®ÀÌ´Ù. ÀϹÝÀûÀÎ °æ¿ì core ¸ðµâÀÌ ÀÌ ¼³Á¤À» »ç¿ëÇÏ¿©
    +    URI¿¡ ÇØ´çÇÏ´Â ÆÄÀϸíÀ» ãÁö¸¸, ¼­¹ö¸¦ µ¿Àû °¡»óÈ£½ºÆÃÀ» ÇÒ¶§´Â ´Ù¸¥
    +    ¸ðµâÀÌ (<code>mod_vhost_alias</code>³ª <code>mod_rewrite</code>)
    +    ´Ù¸¥ ¹æ¹ýÀ¸·Î ÀÌ·± ÀÛ¾÷À» ÇÑ´Ù. µÎ ¸ðµâ ¸ðµÎ
    +    <code>DOCUMENT_ROOT</code> ȯ°æº¯¼ö¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î
    +    CGI³ª SSI ¹®¼­°¡ ÀÌ °ªÀ» »ç¿ëÇÑ´Ù¸é À߸øµÈ °á°ú¸¦ ¾òÀ» ¼ö
    +    ÀÖ´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="simple" id="simple">°£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®</a></h2>
    +
    +    <p>À§ <a href="#motivation">µ¿±â</a> ÀýÀÇ °¡»óÈ£½ºÆ®
    +    ¼³Á¤À» <code>mod_vhost_alias</code>¸¦ »ç¿ëÇÏ¿© ´õ ÀϹÝÀûÀ¸·Î
    +    ±¸ÇöÇß´Ù.</p>
    +
    +<div class="example"><p><code>
    +# Host: Çì´õ¿¡¼­ ¼­¹ö¸íÀ» ¾Ë¾Æ³½´Ù<br />
    +UseCanonicalName Off<br />
    +<br />
    +# ù¹ø° Çʵ带 »ç¿ëÇÏ¿© ÀÌ ·Î±×¸¦ °¡»óÈ£½ºÆ®º°·Î ³ª´­ ¼ö ÀÖ´Ù<br />
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
    +CustomLog logs/access_log vcommon<br />
    +<br />
    +# ¿äûÀ» ó¸®ÇϱâÀ§ÇØ ÆÄÀÏ¸í¿¡ ¼­¹ö¸íÀ» Æ÷ÇÔÇÑ´Ù<br />
    +VirtualDocumentRoot /www/hosts/%0/docs<br />
    +VirtualScriptAlias  /www/hosts/%0/cgi-bin
    +</code></p></div>
    +
    +    <p>ÀÌ ¼³Á¤¿¡¼­ <code>UseCanonicalName Off</code>¸¦
    +    <code>UseCanonicalName DNS</code>·Î º¯°æÇϱ⸸ Çϸé IP±â¹Ý
    +    °¡»óÈ£½ºÆ®°¡ µÈ´Ù. °¡»óÈ£½ºÆ®ÀÇ IP ÁÖ¼Ò¸¦ °¡Áö°í
    +    ÆÄÀÏ¸í¿¡ Ãß°¡ÇÒ ¼­¹ö¸íÀ» ¾Ë ¼ö ÀÖ´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="homepages" id="homepages">°¡»óÀ¸·Î È£½ºÆ®Çϴ ȨÆäÀÌÁö ½Ã½ºÅÛ</a></h2>
    +
    +    <p>ISP ȨÆäÀÌÁö ¼­¹ö¸¦ À§ÇØ À§ÀÇ ¼³Á¤À» ¼öÁ¤Çß´Ù. Á¶±Ý ´õ
    +    º¹ÀâÇÑ ¼³Á¤À» »ç¿ëÇϸé <code>www.user.isp.com</code>ÀÇ ¹®¼­¸¦
    +    <code>/home/user/</code>¿¡ µÎ´Â ½ÄÀ¸·Î ¼­¹ö¸íÀÇ ÀϺθ¦ °¡Áö°í
    +    ÆÄÀϸíÀ» ¸¸µé ¼ö ÀÖ´Ù. ÀÌ ¼³Á¤Àº
    +    <code>cgi-bin</code>À» °¢ °¡»óÈ£½ºÆ®°¡ µû·Î °¡ÁöÁö¾Ê°í
    +    ¸ðµç °¡»óÈ£½ºÆ®°¡ °°ÀÌ »ç¿ëÇÑ´Ù.</p>
    +
    +<div class="example"><p><code>
    +# ±âº»ÀûÀÎ ³»¿ëÀº À§¿Í °°´Ù. ±×¸®°í<br />
    +<br />
    +# ÆÄÀÏ¸í¿¡ ¼­¹ö¸íÀÇ ÀϺθ¦ Æ÷ÇÔÇÑ´Ù<br />
    +VirtualDocumentRoot /www/hosts/%2/docs<br />
    +<br />
    +# ÇϳªÀÇ cgi-bin µð·ºÅ丮<br />
    +ScriptAlias  /cgi-bin/  /www/std-cgi/<br />
    +</code></p></div>
    +
    +    <p><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> ¹®¼­¿¡´Â ´õ º¹ÀâÇÑ
    +    <code>VirtualDocumentRoot</code> ¼³Á¤ÀÇ ¿¹°¡ ÀÖ´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="combinations" id="combinations">ÇÑ ¼­¹ö¿¡ ¿©·¯ °¡»óÈ£½ºÆ®
    +    ½Ã½ºÅÛ »ç¿ëÇϱâ</a></h2>
    +
    +    <p>´õ º¹ÀâÇÑ ¼³Á¤ÀÇ ¿¹·Î ¾ÆÆÄÄ¡ÀÇ ÀϹÝÀûÀÎ
    +    <code>&lt;VirtualHost&gt;</code> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¿©·¯
    +    °¡»óÈ£½ºÆ® ¼³Á¤ÀÇ ¹üÀ§¸¦ Á¶ÀýÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú
    +    °°Àº ¼³Á¤Àº ȨÆäÀÌÁö °í°´¿¡ IP ÁÖ¼Ò ÇÑ°³, »ó¾÷ÀûÀÎ
    +    °í°´¿¡°Ô ´Ù¸¥ IP ÁÖ¼Ò ÇÑ°³¸¦ ºÎ¿©ÇÑ´Ù. ¹°·Ð ÀÌÀüó·³
    +    <code>&lt;VirtualHost&gt;</code> ¼³Á¤ ¼½¼Ç¿¡ ¸ðµÎ ¹­À» ¼öµµ
    +    ÀÖ´Ù.</p>
    +
    +<div class="example"><p><code>
    +UseCanonicalName Off<br />
    +<br />
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
    +<br />
    +&lt;Directory /www/commercial&gt;<br />
    +<span class="indent">
    +    Options FollowSymLinks<br />
    +    AllowOverride All<br />
    +</span>
    +&lt;/Directory&gt;<br />
    +<br />
    +&lt;Directory /www/homepages&gt;<br />
    +<span class="indent">
    +    Options FollowSymLinks<br />
    +    AllowOverride None<br />
    +</span>
    +&lt;/Directory&gt;<br />
    +<br />
    +&lt;VirtualHost 111.22.33.44&gt;<br />
    +<span class="indent">
    +    ServerName www.commercial.isp.com<br />
    +    <br />
    +    CustomLog logs/access_log.commercial vcommon<br />
    +    <br />
    +    VirtualDocumentRoot /www/commercial/%0/docs<br />
    +    VirtualScriptAlias  /www/commercial/%0/cgi-bin<br />
    +</span>
    +&lt;/VirtualHost&gt;<br />
    +<br />
    +&lt;VirtualHost 111.22.33.45&gt;<br />
    +<span class="indent">
    +    ServerName www.homepages.isp.com<br />
    +    <br />
    +    CustomLog logs/access_log.homepages vcommon<br />
    +    <br />
    +    VirtualDocumentRoot /www/homepages/%0/docs<br />
    +    ScriptAlias         /cgi-bin/ /www/std-cgi/<br />
    +</span>
    +&lt;/VirtualHost&gt;
    +</code></p></div>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipbased" id="ipbased">´õ È¿À²ÀûÀÎ IP±â¹Ý °¡»óÈ£½ºÆ®</a></h2>
    +
    +    <p><a href="#simple">ù¹ø° ¿¹</a>¿¡¼­ ³ª´Â ¼³Á¤À» °£´ÜÈ÷
    +    IP±â¹Ý °¡»óÈ£½ºÆ®·Î ¹Ù²Ü ¼ö ÀÖ´Ù°í ¸»Çß´Ù. ºÒÇàÈ÷µµ
    +    ±×·± ¼³Á¤Àº ¸Å ¿äû¸¶´Ù DNS¸¦ ã¾Æ¾ßÇϹǷΠ¸Å¿ì ºñÈ¿À²ÀûÀÌ´Ù.
    +    À̸§´ë½Å IP ÁÖ¼Ò·Î ÆÄÀϽýºÅÛÀ» ±¸¼ºÇÏ°í °°Àº ¹æ½ÄÀ¸·Î
    +    ·Î±×¸¦ ¼öÁ¤ÇÏ¸é ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¼­¹ö¸íÀ»
    +    ´Ù·ê ÇÊ¿ä°¡ ¾ø¾îÁö°í, DNS °Ë»öµµ ÇÏÁö ¾Ê°Ô µÈ´Ù.</p>
    +
    +<div class="example"><p><code>
    +# IP ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ¼­¹ö¸íÀ» ¾Ë¾Æ³½´Ù<br />
    +UseCanonicalName DNS<br />
    +<br />
    +# ·Î±×¸¦ ³ª´­ ¼ö ÀÖµµ·Ï IP ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù<br />
    +LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon<br />
    +CustomLog logs/access_log vcommon<br />
    +<br />
    +# ÆÄÀÏ¸í¿¡ IP ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù<br />
    +VirtualDocumentRootIP /www/hosts/%0/docs<br />
    +VirtualScriptAliasIP  /www/hosts/%0/cgi-bin<br />
    +</code></p></div>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="oldversion" id="oldversion">¾ÆÆÄÄ¡ ÀÌÀü ¹öÀü »ç¿ëÇϱâ</a></h2>
    +
    +    <p>À§ ¿¹µéÀº ¾ÆÆÄÄ¡ ¹öÀü 1.3.6 ÀÌÈÄ¿¡ Æ÷ÇÔµÈ
    +    <code>mod_vhost_alias</code>À» »ç¿ëÇÑ´Ù.
    +    <code>mod_vhost_alias</code>°¡ ¾ø´Â ¾ÆÆÄÄ¡ ¹öÀüÀ» »ç¿ëÇÑ´Ù¸é
    +    ÀÌ¹Ì ¸»ÇßµíÀÌ <code>mod_rewrite</code>¸¦ »ç¿ëÇÏ¿©, ´Ü
    +    Host:-Çì´õ±â¹Ý °¡»óÈ£½ºÆ®¸¸À», ±¸ÇöÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <p>¶Ç ·Î±×¿¡ °üÇÏ¿© ÁÖÀÇÇÒ Á¡ÀÌ ÀÖ´Ù. ¾ÆÆÄÄ¡ 1.3.6¿¡¼­
    +    ·Î±×Çü½Ä Áö½Ã¾î <code>%V</code>°¡ Æ÷ÇԵǾú°í, ¹öÀü 1.3.0
    +    - 1.3.3¿¡¼­ ÀÌ ±â´ÉÀ» <code>%v</code> ¿É¼ÇÀÌ ´ë½Å Çß´Ù. ±×·¯³ª
    +    ¹öÀü 1.3.4¿¡´Â ÀÌ·± ±â´ÉÀÌ ¾ø´Ù. ¾î¶² ¾ÆÆÄÄ¡ ¹öÀü¿¡¼­µµ
    +    <code>.htaccess</code> ÆÄÀÏ¿¡¼­ <code>UseCanonicalName</code>
    +    Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î ·Î±×¿¡ ÀÌ»óÇÑ ³»¿ëÀÌ ±â·ÏµÉ ¼ö ÀÖ´Ù.
    +    ±×·¯¹Ç·Î °¡Àå ÁÁÀº ¹æ¹ýÀº <code>%{Host}i</code> Áö½Ã¾î¸¦
    +    »ç¿ëÇÏ¿© <code>Host:</code> Çì´õ¸¦ Á÷Á¢ ·Î±×¿¡ ³²±â´Â °ÍÀÌ´Ù.
    +    ¶Ç, ÀÌ ¹æ¹ýÀº <code>%V</code>´Â Æ÷ÇÔÇÏÁö¾Ê´Â <code>:port</code>¸¦
    +    µÚ¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="simple.rewrite" id="simple.rewrite"><code>mod_rewrite</code>¸¦
    +    »ç¿ëÇÑ °£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®</a></h2>
    +
    +    <p>´ÙÀ½Àº <a href="#simple">ù¹ø° ¿¹</a>¿Í °°Àº ÀÏÀ» ÇÏ´Â
    +    <code>httpd.conf</code> ¿¹ÀÌ´Ù. óÀ½ Àý¹ÝÀº ù¹ø° ¿¹¿Í
    +    °ÅÀÇ ºñ½ÁÇÏÁö¸¸, ÀÌÀü ¹öÀü°úÀÇ È£È¯¼º°ú <code>mod_rewrite</code>ÀÇ
    +    ÀûÀýÇÑ µ¿ÀÛÀ» À§ÇØ ¼öÁ¤µÇ¾ú´Ù. ³ª¸ÓÁö Àý¹ÝÀº ½ÇÁ¦ ÀÛ¾÷À»
    +    ÇÏ´Â <code>mod_rewrite</code>¸¦ ¼³Á¤ÇÑ´Ù.</p>
    +
    +    <p>Ưº°È÷ ÁÖÀÇÇØ¾ß ÇÒ »çÇ×ÀÌ ÀÖ´Ù. ±âº»ÀûÀ¸·Î
    +    <code>mod_rewrite</code>´Â (<code>mod_alias</code> µî) ´Ù¸¥
    +    URI ¹ø¿ª ¸ðµâ ÀÌÀü¿¡ ½ÇÇàµÈ´Ù. ±×·¡¼­ ´Ù¸¥ URI ¹ø¿ª ¸ðµâµé°ú
    +    °°ÀÌ µ¿ÀÛÇÒ °ÍÀ» °í·ÁÇÏ¿© <code>mod_rewrite</code>¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù.
    +    ¶Ç, µ¿Àû °¡»óÈ£½ºÆ®¿¡¼­ <code>ScriptAlias</code>°ú °°Àº
    +    ±â´ÉÀ» À§Çؼ­´Â Ưº°ÇÑ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.</p>
    +
    +<div class="example"><p><code>
    +# Host: Çì´õ¿¡¼­ ¼­¹ö¸íÀ» ¾ò´Â´Ù<br />
    +UseCanonicalName Off<br />
    +<br />
    +# splittable logs<br />
    +LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br />
    +CustomLog logs/access_log vcommon<br />
    +<br />
    +&lt;Directory /www/hosts&gt;<br />
    +<span class="indent">
    +    # ScriptAlias ½ÄÀ¸·Î CGI ½ÇÇàÀ» °­Á¦ÇÒ ¼ö ¾ø±â¶§¹®¿¡<br />
    +    # ¿©±â¿¡ ExecCGI¸¦ »ç¿ëÇÑ´Ù<br />
    +    Options FollowSymLinks ExecCGI<br />
    +</span>
    +&lt;/Directory&gt;<br />
    +<br />
    +# ÀÌÁ¦ ¾î·Á¿î ºÎºÐÀÌ´Ù<br />
    +<br />
    +RewriteEngine On<br />
    +<br />
    +# Host: Çì´õ¿¡¼­ °¡Á®¿Â ¼­¹ö¸í¿¡´Â ´ë¼Ò¹®ÀÚ°¡ µÚ¼¯¿©ÀÖÀ» ¼ö ÀÖ´Ù<br />
    +RewriteMap  lowercase  int:tolower<br />
    +<br />
    +## ÀÏ¹Ý ¹®¼­¸¦ ¸ÕÀú ó¸®ÇÑ´Ù:<br />
    +# Alias /icons/ °¡ µ¿ÀÛÇϵµ·Ï - ´Ù¸¥ alias¿¡ ´ëÇؼ­µµ ¹Ýº¹<br />
    +RewriteCond  %{REQUEST_URI}  !^/icons/<br />
    +# CGI°¡ µ¿ÀÛÇϵµ·Ï<br />
    +RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
    +# Ưº°ÇÑ ÀÛ¾÷<br />
    +RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1<br />
    +<br />
    +## ÀÌÁ¦ CGI¸¦ ó¸®ÇÑ´Ù - MIME typeÀ» °­Á¦ÇØ¾ß ÇÑ´Ù<br />
    +RewriteCond  %{REQUEST_URI}  ^/cgi-bin/<br />
    +RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1  [T=application/x-httpd-cgi]<br />
    +<br />
    +# ³¡!
    +</code></p></div>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="homepages.rewrite" id="homepages.rewrite"><code>mod_rewrite</code>¸¦
    +    »ç¿ëÇÑ È¨ÆäÀÌÁö ½Ã½ºÅÛ</a></h2>
    +
    +    <p>´ÙÀ½Àº <a href="#homepages">µÎ¹ø° ¿¹</a>¿Í °°Àº ÀÏÀ»
    +    ÇÑ´Ù.</p>
    +
    +<div class="example"><p><code>
    +RewriteEngine on<br />
    +<br />
    +RewriteMap   lowercase  int:tolower<br />
    +<br />
    +# CGI°¡ µ¿ÀÛÇϵµ·Ï<br />
    +RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
    +<br />
    +# RewriteRuleÀÌ µ¿ÀÛÇϵµ·Ï È£½ºÆ®¸íÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÑ´Ù<br />
    +RewriteCond  ${lowercase:%{SERVER_NAME}}  ^www\.[a-z-]+\.isp\.com$<br />
    +<br />
    +# °¡»óÈ£½ºÆ®¸íÀ» URI ¾Õ¿¡ ºÙÀδÙ<br />
    +# [C]´Â ÀÌ °á°ú¸¦ °¡Áö°í ´ÙÀ½ ÀçÀÛ¼ºÀ» ¼öÇàÇÔÀ» ¶æÇÑ´Ù<br />
    +RewriteRule  ^(.+)  ${lowercase:%{SERVER_NAME}}$1  [C]<br />
    +<br />
    +# ÀÌÁ¦ ½ÇÁ¦ ÆÄÀϸíÀ» ¸¸µç´Ù<br />
    +RewriteRule  ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2<br />
    +<br />
    +# Àüü CGI µð·ºÅ丮¸¦ Á¤ÀÇÇÑ´Ù<br />
    +ScriptAlias  /cgi-bin/  /www/std-cgi/
    +</code></p></div>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="xtra-conf" id="xtra-conf">º°µµÀÇ °¡»óÈ£½ºÆ® ¼³Á¤ÆÄÀÏ
    +    »ç¿ëÇϱâ</a></h2>
    +
    +    <p>´ÙÀ½Àº <code>mod_rewrite</code>ÀÇ °í±Þ ±â´ÉÀ» »ç¿ëÇÏ¿©
    +    º°µµÀÇ ¼³Á¤ÆÄÀÏÀ» °¡Áö°í °¡»óÈ£½ºÆ®ÀÇ ¹®¼­·çÆ®¸¦ ¾Ë¾Æ³½´Ù.
    +    ´õ À¯¿¬ÇÏÁö¸¸ ´õ º¹ÀâÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.</p>
    +
    +    <p><code>vhost.map</code> ÆÄÀÏÀº ´ÙÀ½°ú °°´Ù:</p>
    +
    +<div class="example"><p><code>
    +www.customer-1.com  /www/customers/1<br />
    +www.customer-2.com  /www/customers/2<br />
    +# ...<br />
    +www.customer-N.com  /www/customers/N<br />
    +</code></p></div>
    +
    +    <p><code>http.conf</code>´Â ´ÙÀ½°ú °°´Ù:</p>
    +
    +<div class="example"><p><code>
    +RewriteEngine on<br />
    +<br />
    +RewriteMap   lowercase  int:tolower<br />
    +<br />
    +# ´ëÀÀÆÄÀÏÀ» Á¤ÀÇÇÑ´Ù<br />
    +RewriteMap   vhost      txt:/www/conf/vhost.map<br />
    +<br />
    +# À§¿Í °°ÀÌ aliasµéÀ» ó¸®ÇÑ´Ù<br />
    +RewriteCond  %{REQUEST_URI}               !^/icons/<br />
    +RewriteCond  %{REQUEST_URI}               !^/cgi-bin/<br />
    +RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
    +# ÆÄÀÏ ³»¿ëÀ» °¡Áö°í ã´Â´Ù<br />
    +RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
    +RewriteRule  ^/(.*)$                      %1/docs/$1<br />
    +<br />
    +RewriteCond  %{REQUEST_URI}               ^/cgi-bin/<br />
    +RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
    +RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
    +RewriteRule  ^/(.*)$                      %1/cgi-bin/$1
    +</code></p></div>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/mass.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/mass.html.tr.utf8 b/docs/manual/vhosts/mass.html.tr.utf8
    new file mode 100644
    index 0000000..bfac687
    --- /dev/null
    +++ b/docs/manual/vhosts/mass.html.tr.utf8
    @@ -0,0 +1,334 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +
    +    <p>Bu belgede sanal konakların sonu belirsiz bir şekilde artışı karşısında
    +      Apache HTTP Sunucusunun nasıl daha verimli kullanılacağı açıklanmıştır.
    +      Devingen kitlesel konakları oluşturmak için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
    +      modülünün kullanımını açıklayan <a href="../rewrite/vhosts.html">ayrı bir
    +      belge</a> de mevcuttur.
    +    </p>
    +
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">Amaç</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#overview">Genel Bakış</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#simple">mod_vhost_alias ile Kitlesel Sanal Konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#homepages">BasitleÅŸtirilmiÅŸ Kitlesel Sanal Konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Aynı Sunucuda Kişisel ve Kurumsal Sanal Konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">IP’ye dayalı sanal konakları daha verimli kılmak</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite"><code>mod_rewrite</code> ile Kitlesel Sanal Konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#macro"><code>mod_macro</code> ile Kitlesel Sanal Konaklar</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</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="motivation" id="motivation">Amaç</a></h2>
    +
    +    <p>Burada açıklanan teknikler, <code>httpd.conf</code> dosyanızın
    +      örnekteki gibi, aslında hemen hemen birbirinin aynı çok sayıda
    +      <code>&lt;VirtualHost&gt;</code> bölümü içereceği zaman yapılacaklar ile
    +      ilgilidir.</p>
    +
    +<pre class="prettyprint lang-config">&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 musteri-1.example.com
    +    DocumentRoot        "/siteler/musteri-1/belgeler"
    +    ScriptAlias  "/cgi-bin/"  "/siteler/musteri-1/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 musteri-2.example.com
    +    DocumentRoot        "/siteler/musteri-2/belgeler"
    +    ScriptAlias   "/cgi-bin/"   "/siteler/musteri-2/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName                 musteri-N.example.com
    +    DocumentRoot          "/siteler/musteri-N/belgeler"
    +    ScriptAlias   "/cgi-bin/"  "/siteler/musteri-N/cgi-bin"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>İsteğimiz çok sayıda <code>&lt;VirtualHost&gt;</code> bölümünü devingen
    +      olarak çalışan tek bir <code>&lt;VirtualHost&gt;</code> bölümüyle
    +      değiştirmektir. Bunun elbette bazı getirileri olacaktır:</p>
    +
    +    <ol>
    +      <li>Yapılandırma dosyanız küçüleceği için Apache daha çabuk
    +        başlatılabilecek ve daha az bellek harcayacaktır. Muhtemelen daha da
    +        önemlisi, küçülmüş bir yapılandırmanın bakımı da kolaylaşacağı için
    +        hatalar da azalacaktır.</li>
    +
    +      <li>Yeni sanal konakların eklenmesi, DNS’de yeni girdiler oluşturmak ve
    +        dosya sisteminde bununla ilgili dizinleri açmak dışında biraz daha
    +        basit olacaktır; en azından Apache’yi yeniden yapılandırmak ve yeniden
    +        başlatmak zorunda kalmayacaksınız.</li>
    +    </ol>
    +
    +    <p>Ana götürüsü ise her sanal konak için ayrı birer günlük dosyasına sahip
    +      olamayacak olmanızdır. Öte yandan, <a href="fd-limits.html">dosya
    +      tanıtıcılarının sınırlı olması</a>  nedeniyle bunu yapmayı zaten
    +      istemezsiniz. Günlük kayıtları için bir <a href="../logs.html#piped">fifo
    +      veya bir boru hattı</a> oluşturmak ve diğer uçta çalışan bir süreç
    +      vasıtasıyla günlükleri müşterilere paylaştırmak daha iyidir. Böyle bir
    +      işlemle ilgili bir örneği <a href="../programs/split-logfile.html">split-logfile</a> aracının belgesinde bulabilirsiniz.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="overview" id="overview">Genel Bakış</a></h2>
    +
    +    <p>Bir sanal konak iki bilgiye bakarak belirlenir: IP adresi ve HTTP
    +      isteğindeki <code>Host:</code> başlığının içeriği. Devingen sanal
    +      barındırma tekniği, isteği yerine getirmek için kullanılacak dosya
    +      yoluna bu bilgiyi kendiliğinden girmek esasına dayanır. Bu, Apache httpd
    +      ile <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> modülünü kullanarak oldukça kolay
    +      yapılabileceği gibi <a href="../rewrite/vhosts.html">mod_rewrite modülü
    +      de kullanılabilir</a>.</p>
    +
    +    <p>Bu modüllerin her ikisi de öntanımlı olarak devre dışıdır. Bu tekniği
    +      kullanmak isterseniz  Apache httpd'yi yeniden yapılandırıp derleyerek bu
    +      iki modülü etkin duruma getirmeniz gerekir.</p>
    +
    +    <p>Devingen sanal konağı normal bir sanal konak gibi göstermek için
    +      bazı bilgileri istekten saptamak gerekir. Bunlardan en önemlisi,
    +      httpd tarafından göreli URL’lerden normal URL’leri ve benzerlerini
    +      üretmek için kullanılan sunucu ismidir. Sunucu ismi
    +      <code>ServerName</code> yönergesi ile yapılandırılır ve CGI’ler
    +      tarafından <code>SERVER_NAME</code> ortam değişkeni üzerinden
    +      kullanılır. Çalışma anındaki asıl değer <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> yönergesi tarafından denetlenir.
    +      <code>UseCanonicalName Off</code> olduÄŸunda sunucu ismi isteÄŸin
    +      <code>Host:</code> başlık alanından elde edilir. <code>UseCanonicalName
    +      DNS</code> belirtilmişse, sunucu ismi, sanal konağın IP adresinden
    +      tersine DNS sorgusu yapılarak elde edilir. Birincisi isme dayalı sanal
    +      konaklar tarafından ikincisi ise IP’ye dayalı sanal konaklar tarafından
    +      kullanılır. Eğer httpd, istekte <code>Host:</code> başlığının olmayışı
    +      veya DNS sorgusunun başarısız olması sebebiyle sunucu ismini elde
    +      edemezse son çare olarak <code>ServerName</code> yönergesinde yazılı
    +      değeri kullanır.</p>
    +
    +    <p>Saptanan bilgilerden biri de <code>DocumentRoot</code>
    +      yönergesi ile yapılandırılan belge kök dizini olup CGI’ler tarafından
    +      <code>DOCUMENT_ROOT</code> ortam değişkeni üzerinden kullanılır. Normal
    +      yapılandırmada <code class="module"><a href="../mod/core.html">core</a></code> modülü tarafından dosya isimlerini
    +      URI’lere eşlerken kullanılır. Fakat sunucu devingen sanal konakları
    +      kullanmak üzere yapılandırıldığında, eşleştirmeyi farklı yollardan yapan
    +      başka bir modül devreye girer (<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> veya
    +      <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>). <code>DOCUMENT_ROOT</code> ortam
    +      değişkenine değerini atamaktan sorumlu olan bu iki modülden biri
    +      kullanılmazsa CGI veya SSI belgeleri yanlış değerlerle üretilirler.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="simple" id="simple">mod_vhost_alias ile Kitlesel Sanal Konaklar</a></h2>
    +
    +    <p>Yukarıda <a href="#motivation">Amaç</a> bölümünde özetlenen sanal konak
    +      düzenlemesinin <code>mod_vhost_alias</code> kullanarak gerçekleştirilmiş
    +      halini içeren <code>httpd.conf</code> bölümü aşağıdadır.</p>
    +
    +<pre class="prettyprint lang-config"># sunucu ismini Host: başlığından elde edelim
    +UseCanonicalName Off
    +
    +# Bu günlükleme biçiminde split-logfile aracı kullanılarak
    +# sanal konak günlükleri ilk alana göre ayrıştırılabilir
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log vcommon"
    +
    +# istekleri yerine getirmek için kullanılacak
    +# dosya isimlerine sunucu ismini ekleyelim
    +VirtualDocumentRoot "/siteler/%0/belgeler"
    +VirtualScriptAlias  "/siteler/%0/cgi-bin"</pre>
    +
    +
    +    <p>Bu yapılandırmayı IP’ye dayalı sanal konaklar için kullanmak isterseniz
    +      <code>UseCanonicalName Off</code> yerine <code>UseCanonicalName
    +      DNS</code> yazmanız yeterlidir. Böylece dosya ismine eklenecek konak
    +      ismi sanal konağın IP adresinden türetilir. <code>%0</code> değişkeni,
    +      <code>Host:</code> başlığı ile belirlenen istekteki sunucu isminin
    +      ifadesidir.</p>
    +
    +    <p>Kullanım örnekleri için <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>modülünün
    +      belgesine bakınız.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="homepages" id="homepages">BasitleÅŸtirilmiÅŸ Kitlesel Sanal Konaklar</a></h2>
    +
    +    <p>Bu sistem, yukarıdaki yapılandırmanın bir ISS’nin sunucusuna
    +      uyarlanmasından başka bir şey değildir. <code>%2</code> değişkenini
    +      kullanarak, dosya isminde kullanmak üzere sunucu isminin alt dizgelerini
    +      seçebiliriz, böylece, örneğin <code>www.user.example.com</code> belgeleri
    +      <code>/home/user/www</code> dizininde bulunabilir. Farklı olarak her
    +      sanal konak için bir tane değil hepsi için bir tane <code>cgi-bin</code>
    +      olacaktır.</p>
    +
    +    <pre class="prettyprint lang-config">UseCanonicalName Off
    +
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# sunucu ismini içerecek dosya isimlerini oluşturalım
    +VirtualDocumentRoot "/home/%2/www"
    +
    +# ortak cgi-bin dizini
    +ScriptAlias  "/cgi-bin/"  "/siteler/std-cgi/"</pre>
    +
    +
    +    <p><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> belgesinde daha karmaşık
    +      <code>VirtualDocumentRoot</code> örnekleri vardır.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="combinations" id="combinations">Aynı Sunucuda Kişisel ve Kurumsal Sanal Konaklar</a></h2>
    +
    +    <p>Daha karmaşık ayarlamalar yaparak httpd’nin normal
    +      <code>&lt;VirtualHost&gt;</code> bölümlerini farklı kitlesel sanal konak
    +      yapılandırmaları için kullanabilirsiniz. Örneğin, bireysel
    +      müşterileriniz için bir IP adresiniz, kurumsal müşterileriniz için de
    +      başka bir IP adresiniz olsun. Her biri için ayrı ayrı sanal konaklar
    +      ayarlamak yerine aşağıdaki gibi bir yapılandırma kullanabilirsiniz:</p>
    +
    +<pre class="prettyprint lang-config">UseCanonicalName Off
    +
    +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    +
    +&lt;Directory "/siteler/kurumsal"&gt;
    +    Options FollowSymLinks
    +    AllowOverride All
    +&lt;/Directory&gt;
    +
    +&lt;Directory "/siteler/bireysel"&gt;
    +    Options FollowSymLinks
    +    AllowOverride None
    +&lt;/Directory&gt;
    +
    +&lt;VirtualHost 111.22.33.44&gt;
    +    ServerName kurumsal.example.com
    +
    +    CustomLog "logs/access_log.kurumsal" vcommon
    +
    +    VirtualDocumentRoot "/siteler/kurumsal/%0/belgeler"
    +    VirtualScriptAlias  "/siteler/kurumsal/%0/cgi-bin"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost 111.22.33.45&gt;
    +    ServerName bireysel.example.com
    +
    +    CustomLog "logs/access_log.bireysel" vcommon
    +
    +    VirtualDocumentRoot "/siteler/bireysel/%0/belgeler"
    +    ScriptAlias         "/cgi-bin/" "/siteler/std-cgi/"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <div class="note"><h3>Bilginize</h3>
    +      <p>Eğer ilk <code>&lt;VirtualHost&gt;</code> bölümü bir <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesi içermezse ilgili IP
    +        için ters DNS sorgusu yapılır. Eğer sorgudan elde edilen isim
    +        sunucunun ismi değilse bu istenmeyen duruma bir çözüm olarak bir
    +        bilgilendirme bölümü (örn, <code>ServerName bilgi.example.com</code>)
    +        eklenebilir.</p>
    +    </div>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="ipbased" id="ipbased">IP’ye dayalı sanal konakları daha verimli kılmak</a></h2>
    +    
    +
    +    <p><a href="#simple">İlk örnekte</a> IP’ye dayalı sanal konaklar için
    +      kullanılmak istenirse yapılandırmada neyin nasıl değiştirileceği
    +      belirtilmişti. Her istek için ayrı bir DNS sorgusu gerekeceğinden bu
    +      başarım düşmesine yol açar. DNS sorgusu ihtiyacını ortadan kaldırmak
    +      için, bir çözüm olarak dosya sistemi, konak isimleri yerine IP
    +      adreslerine göre düzenlenebilir. Günlük kayıtları da IP adreslerine göre
    +      ayrıştırılacak şekilde ayarlanabilir.</p>
    +
    +<pre class="prettyprint lang-config"># Sunucu ismini IP adresinden ters DNS sorgusu ile elde edelim
    +UseCanonicalName DNS
    +
    +# Günlük kayıtları IP adreslerine göre ayrıştırılabilsin
    +LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
    +CustomLog "logs/access_log" vcommon
    +
    +# dosya isimleri IP adreslerini içersin
    +VirtualDocumentRootIP "/siteler/%0/belgeler"
    +VirtualScriptAliasIP  "/siteler/%0/cgi-bin"</pre>
    +
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="simple.rewrite" id="simple.rewrite"><code>mod_rewrite</code> ile Kitlesel Sanal Konaklar</a></h2>
    +    
    +
    +    <p>Kitlesel sanal barındırma <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülü kullanarak
    +      da gerçeklenebilir. Ya basitçe <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergelerini kullanırsınız ya da daha karmaşık
    +      olarak sanal konak tanımlarınızı harici bir yerde tutar ve bunlara
    +      <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesini
    +      kullanarak erişirsiniz. Bu teknikler ayrıntılı olarak
    +      <a href="../rewrite/vhosts.html">rewrite belgelerinde</a>
    +      açıklanmıştır.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="macro" id="macro"><code>mod_macro</code> ile Kitlesel Sanal Konaklar</a></h2>
    +    
    +
    +    <p>Devingen olarak üretilen sanal konaklar için diğer bir seçenek 
    +      <code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> modülüdür. Bir sanal konak şablonu oluşturup 
    +      bunu çok sayıda konak ismi için çağırabilirsiniz. Modül belgelerinin 
    +      <strong>Kullanım</strong> bölümünde böyle bir örneğe yer verilmiştir.</p>
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/mass.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/mass.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/mass.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/name-based.html b/docs/manual/vhosts/name-based.html
    new file mode 100644
    index 0000000..26593d7
    --- /dev/null
    +++ b/docs/manual/vhosts/name-based.html
    @@ -0,0 +1,25 @@
    +# GENERATED FROM XML -- DO NOT EDIT
    +
    +URI: name-based.html.de
    +Content-Language: de
    +Content-type: text/html; charset=ISO-8859-1
    +
    +URI: name-based.html.en
    +Content-Language: en
    +Content-type: text/html; charset=UTF-8
    +
    +URI: name-based.html.fr.utf8
    +Content-Language: fr
    +Content-type: text/html; charset=UTF-8
    +
    +URI: name-based.html.ja.utf8
    +Content-Language: ja
    +Content-type: text/html; charset=UTF-8
    +
    +URI: name-based.html.ko.euc-kr
    +Content-Language: ko
    +Content-type: text/html; charset=EUC-KR
    +
    +URI: name-based.html.tr.utf8
    +Content-Language: tr
    +Content-type: text/html; charset=UTF-8
    diff --git a/docs/manual/vhosts/name-based.html.de b/docs/manual/vhosts/name-based.html.de
    new file mode 100644
    index 0000000..7bdf376
    --- /dev/null
    +++ b/docs/manual/vhosts/name-based.html.de
    @@ -0,0 +1,299 @@
    +<?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="de" xml:lang="de"><head>
    +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Unterst&#252;tzung namensbasierter virtueller Hosts - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Dokumentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Unterst&#252;tzung namensbasierter virtueller Hosts</h1>
    +<div class="toplang">
    +<p><span>Verf&#252;gbare Sprachen: </span><a href="../de/vhosts/name-based.html" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">Diese &#220;bersetzung ist m&#246;glicherweise
    +            nicht mehr aktuell. Bitte pr&#252;fen Sie die englische Version auf
    +            die neuesten &#196;nderungen.</div>
    +
    +  <p>Das Dokument beschreibt, wann und wie namensbasierte virtuelle Hosts zu
    +    verwenden sind.</p>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Namensbasierte gegen&#252;ber IP-basierten
    +    virtuellen Hosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#using">Die Verwendung von namensbasierten virtuellen Hosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#compat">Kompatibilit&#228;t mit &#228;lteren Browsern</a></li>
    +</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="ip-based.html">Unterst&#252;tzung IP-basierter virtueller
    +    Hosts</a></li><li><a href="details.html">Tiefergehende Er&#246;rterung der Zuweisung
    +    virtueller Hosts</a></li><li><a href="mass.html">Dynamisch konfiguriertes
    +    Massen-Virtual-Hosting</a></li><li><a href="examples.html">Beispiele f&#252;r virtuelle Hosts in typischen
    +    Installationen</a></li><li><a href="examples.html#serverpath">ServerPath-Beispielkonfiguration</a></li><li><a href="#comments_section">Kommentare</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="namevip" id="namevip">Namensbasierte gegen&#252;ber IP-basierten
    +    virtuellen Hosts</a></h2>
    +
    +  <p>IP-basierte virtuelle Hosts verwenden die IP-Adresse der Verbindung, um den
    +    korrekten virtuellen Host zur Bedienung einer Anfrage zu ermitteln. Folglich 
    +    ben&#246;tigen Sie eine IP-Adresse f&#252;r jeden virtuellen Host. Bei der 
    +    Verwendung von namensbasierten virtuellen Hosts verl&#228;&#223;t sich der 
    +    Server darauf, dass der Client den Hostnamen als Bestandteil der HTTP-Header 
    +    angibt. Durch Anwendung dieser Technik k&#246;nnen sich mehrere verschiedene 
    +    Hosts die gleiche IP-Adresse teilen.</p>
    +
    +  <p>Die Verwendung von namensbasierten virtuellen Hosts ist gew&#246;hnlich 
    +    einfacher. Sie m&#252;ssen lediglich Ihren DNS-Server darauf einstellen, 
    +    jeden Hostnamen auf die richtige IP-Adresse abzubilden, und dann den Apache 
    +    HTTP Server so konfigurieren, dass er die verschiedenen Hostnamen erkennt.
    +    Namensbasierte virtuelle Hosts entsch&#228;rfen auch den Bedarf an 
    +    knappen IP-Adressen. Daher sollten Sie namensbasierte virtuelle Hosts 
    +    verwenden, sofern kein besonderer Grund daf&#252;r existiert, IP-basierte 
    +    virtuelle Hosts zu w&#228;hlen. M&#246;gliche Gr&#252;nde f&#252;r die 
    +    Verwendung IP-basierter virtueller Hosts sind:</p>
    +
    +  <ul>
    +    <li>Einige antike Clients sind nicht kompatibel zu namensbasierten
    +      virtuellen Hosts. Damit namensbasierte virtuelle Hosts funktionieren,
    +      muss der Client den HTTP-Host-Header senden. Dies ist bei HTTP/1.1
    +      vorgeschrieben und in allen modernen HTTP/1.0-Browsern als Erweiterung
    +      implementiert. Wenn Sie Unterst&#252;tzung f&#252;r veraltete Clients
    +      ben&#246;tigen und dennoch namensbasierte virtuelle Hosts verwenden,
    +      dann finden Sie eine m&#246;gliche L&#246;sung daf&#252;r am Ende des
    +      Dokuments.</li>
    +
    +    <li>Namensbasierte virtuelle Hosts k&#246;nnen aufgrund der Natur des
    +      SSL-Protokolls nicht mit SSL-gesicherten Servern verwendet werden.</li>
    +
    +    <li>Einige Betriebssysteme und Netzwerkanlagen setzen Techniken zum 
    +      Bandbreiten-Management ein, die nicht zwischen Hosts unterscheiden
    +      k&#246;nnen, wenn diese nicht auf verschiedenen IP-Adressen liegen.</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="using" id="using">Die Verwendung von namensbasierten virtuellen Hosts</a></h2>
    +
    +  <table class="related"><tr><th>Referenzierte Module</th><th>Referenzierte Direktiven</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
    +
    +  <p>Um namensbasierte virtuelle Hosts zu verwenden, m&#252;ssen Sie die
    +    IP-Adresse (und m&#246;glicherweise den Port) des Servers benennen, an
    +    der Anfragen f&#252;r die Hosts entgegengenommen werden. Dies wird mit
    +    der Direktive <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    +    eingestellt. Im Normalfall, wenn alle IP-Adressen des Server verwendet
    +    werden sollen, k&#246;nnen Sie <code>*</code> als Argument f&#252;r
    +    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> verwenden. Wenn Sie
    +    vorhaben, mehrere Ports zu nutzen (etwa wenn SSL l&#228;uft), sollten
    +    Sie dem Argument einen Port hinzuf&#252;gen, wie zum Beispiel
    +    <code>*:80</code>. Beachten Sie,
    +    dass die Angabe einer IP-Adresse in einer <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung den Server nicht
    +    automatisch an dieser Adresse lauschen l&#228;&#223;t. Lesen Sie bitte "<a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen und
    +    Ports</a>" f&#252;r weitere Details. Zus&#228;tzlich muss jede hier
    +    angegebene IP-Adresse einer Netzwerkkarte des Servers zugeordnet sein.</p>
    + 
    +  <p>Der n&#228;chste Schritt ist die Erstellung eines <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Blocks f&#252;r jeden einzelnen
    +    Host, den Sie bedienen wollen. Das Argument der Direktive <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> sollte das gleiche
    +    sein wie das Argument der <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung (d.h. eine IP-Adresse
    +    oder <code>*</code> f&#252;r alle Adressen). Innerhalb jedes <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Blocks ben&#246;tigen
    +    Sie zumindestens eine <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>-Anweisung, um zu bestimmen, welcher
    +    Host bedient wird, und eine <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisung, um anzugeben, wo im
    +    Dateisystem der Inhalt des Hosts abgelegt ist.</p>
    +
    +  <div class="note"><h3>Der Hauptserver verschwindet</h3>
    +    Wenn Sie virtuelle Hosts zu einem bestehenden Webserver hinzuf&#252;gen,
    +    m&#252;ssen Sie auch einen <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Block f&#252;r den bestehenden Host
    +    <span class="transnote">(<em>Anm.d.&#220;.:</em> und bisherigen Hauptserver)</span> erstellen. 
    +    Die <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>- und
    +    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisungen zu diesem
    +    virtuellen Host sollten die gleichen sein wie die globalen <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>- und <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisungen. F&#252;hren Sie diesen
    +    virtuellen Host als erstes in der Konfigurationsdatei auf, so dass er als
    +    Standard-Host fungiert.
    +  </div>
    +
    +  <p>Vorausgesetzt, Sie bedienen z.B. die Domain
    +    <code>www.domain.tld</code> und m&#246;chten den virtuellen Host
    +    <code>www.otherdomain.tld</code> hinzuf&#252;gen, welcher auf
    +    die gleiche IP-Adresse zeigt. Dann f&#252;gen Sie einfach Folgendes der
    +    <code>httpd.conf</code> hinzu:</p>
    +
    +    <div class="example"><p><code>
    +    NameVirtualHost *:80<br />
    +    <br />
    +    &lt;VirtualHost *:80&gt;<br />
    +    <span class="indent">
    +    ServerName www.domain.tld<br />
    +    ServerAlias domain.tld *.domain.tld<br />
    +    DocumentRoot /www/domain<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    <br />
    +    &lt;VirtualHost *:80&gt;<br />
    +    <span class="indent">ServerName www.otherdomain.tld<br />
    +    DocumentRoot /www/otherdomain<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +    </code></p></div>
    +
    +  <p>Sie k&#246;nnen anstelle des <code>*</code> bei den beiden Anweisungen 
    +    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> und <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> alternativ eine 
    +    eindeutige IP-Adresse angeben. Das kann man beispielsweise machen, um 
    +    einige namensbasierte virtuelle Hosts auf einer IP-Adresse zu betreiben und 
    +    entweder IP-basierte oder ein anderes Set von namensbasierten virtuellen 
    +    Hosts auf einer anderen Adresse.</p>
    +  
    +  <p>Viele Server wollen unter mehr als einem Namen erreichbar sein. Die 
    +    Direktive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>, die innerhalb 
    +    des <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Abschnittes angegeben wird,
    +    erm&#246;glicht dies. Zum Beispiel zeigt die <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>-Anweisung in dem ersten <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Block oben an, dass die
    +    aufgef&#252;hrten Namen alternative Namen sind, die man verwenden kann, um
    +    das gleiche Webangebot zu erreichen:</p>
    +
    +    <div class="example"><p><code>
    +    ServerAlias domain.tld *.domain.tld
    +    </code></p></div>
    +
    +  <p>Anfragen f&#252;r alle Hosts der Domain <code>domain.tld</code> werden
    +    von dem virtuellen Host <code>www.domain.tld</code> bedient. Die
    +    Platzhalter <code>*</code> und <code>?</code> k&#246;nnen anstelle
    +    entsprechender Namen verwendet werden. Nat&#252;rlich k&#246;nnen Sie nicht
    +    einfach Namen erfinden und diese bei <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> oder <code>ServerAlias</code>
    +    angeben, Sie m&#252;ssen zun&#228;chst Ihren DNS Server entsprechend
    +    konfigurieren, dass er diese Namen auf die mit Ihrem Server verkn&#252;pfte
    +    IP-Adresse abbildet.</p>
    +
    +  <p>Und schlu&#223;endlich k&#246;nnen Sie die Konfiguration der virtuellen
    +    Hosts mittels Angabe weiterer Direktiven innherhalb der <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Container
    +    feineinstellen. Die meisten Direktiven k&#246;nnen in diesen Containern
    +    angegeben werden und ver&#228;ndern dann ausschlie&#223;lich die
    +    Konfiguration des entsprechenden virtuellen Hosts. Pr&#252;fen Sie den <a href="../mod/directive-dict.html#Context">Kontext</a> einer Direktive, um
    +    herauszufinden, ob eine bestimmte Direktive zul&#228;ssig ist.
    +    Im <em>Hauptserver-Kontext</em> (au&#223;erhalb der <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Container) definierte
    +    Konfigurationsanweisungen werden nur dann angewendet, wenn sie nicht durch
    +    Einstellungen des virtuellen Hosts au&#223;er Kraft gesetzt wurden.</p>
    +
    +  <p>Wenn nun eine Anfrage eintrifft, pr&#252;ft der Server zuerst, ob sie eine
    +    IP-Adresse verwendet, die der <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung entspricht. Ist dies der
    +    Fall, dann sieht er sich jeden <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Abschnitt mit einer passenden
    +    IP-Adresse an und versucht den einen zu finden, dessen <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>- oder <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>-Anweisung mit dem gew&#252;nschten
    +    Hostnamen &#252;bereinstimmt. Findet er einen, dann verwendet er die
    +    Konfiguration dieses Servers. Wird kein passender virtueller Host gefunden,
    +    dann wird <strong>der erste angegeben virtuelle Host</strong> verwendet,
    +    dessen IP-Adresse pa&#223;t.</p>
    +
    +  <p>Die Folge davon ist, dass der erste aufgef&#252;hrte virtuelle Host der
    +    <em>Standard</em>-Virtual-Host ist. Die <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisung des <em>Hauptservers</em>
    +    wird <strong>niemals</strong> verwendet, wenn eine IP-Adresse mit einer 
    +    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung
    +    &#252;bereinstimmt. Wenn Sie eine spezielle Konfiguration f&#252;r Anfragen
    +    angeben m&#246;chten, die keinem bestimmten virtuellen Host entsprechen,
    +    packen Sie diese Konfiguration einfach in einen <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Container und f&#252;hren diesen als
    +    erstes in der Konfigurationsdatei auf.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="compat" id="compat">Kompatibilit&#228;t mit &#228;lteren Browsern</a></h2>
    +  
    +  <p>Wie zuvor erw&#228;hnt gibt es einige Clients, die nicht die notwendigen
    +    Daten senden, mit denen namensbasierte virtuelle Hosts korrekt
    +    funktionieren. Diesen Clients werden stets die Seiten des ersten, f&#252;r
    +    diese IP-Adresse aufgef&#252;hrten virtuellen Hosts gesendet werden (des
    +    <cite>prim&#228;ren</cite> namensbasierten virtuellen Hosts).</p>
    +
    +  <div class="note"><h3>Was bedeutet &#228;lter?</h3>
    +    <p>Beachten Sie bitte, wenn wir von &#228;lter sprechen, meinen wir auch
    +    &#228;lter. Es ist sehr unwahrscheinlich, dass sie einen dieser Browser
    +    heutzutage in Verwendung finden werden. Alle aktuellen Browser-Versionen
    +    senden den <code>Host</code>-Header, so wie er f&#252;r namensbasierte
    +    virtuelle Hosts ben&#228;&#246;tigt wird.</p>
    +  </div>
    +
    +  <p>Mit der Direktive <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> existiert  
    +    eine m&#246;gliche Behelfskonstruktion, obgleich sie etwas schwerf&#228;llig
    +    ist:</p>
    +
    +  <p>Beispielkonfiguration:</p>
    +
    +  <div class="example"><p><code>
    +    NameVirtualHost 111.22.33.44<br />
    +    <br />
    +    &lt;VirtualHost 111.22.33.44&gt;<br />
    +    <span class="indent">
    +    ServerName www.domain.tld<br />
    +    ServerPath /domain<br />
    +    DocumentRoot /web/domain<br />
    +    </span>
    +    &lt;/VirtualHost&gt;<br />
    +  </code></p></div>
    +
    +  <p>Was bedeutet das? Es bedeutet, dass eine Anfrage f&#252;r eine mit
    +    "<code>/domain</code>" beginnende URI von dem virtuellen Host
    +    <code>www.domain.tld</code> bedient wird. Dies hei&#223;t, dass die Seiten
    +    f&#252;r alle Clients unter <code>http://www.domain.tld/domain/</code>
    +    abrufbar sind, wenngleich Clients, die den Header <code>Host:</code>
    +    senden, auch &#252;ber <code>http://www.domain.tld/</code> auf sie zugreifen
    +    k&#246;nnen.</p>
    +
    +  <p>Legen Sie einen Link auf der Seite Ihres prim&#228;ren virtuellen Hosts zu 
    +    <code>http://www.domain.tld/domain/</code>, um die Behelfsl&#246;sung
    +    verf&#252;gbar zu machen. Bei den Seiten der virtuellen Hosts m&#252;ssen
    +    Sie dann sicherstellen, entweder au&#223;schlie&#223;lich relative Links
    +    (<em>z.B.</em> "<code>file.html</code>" oder
    +    "<code>../icons/image.gif</code>") zu verwenden oder Links, die das
    +    einleitende <code>/domain/</code> enthalten (<em>z.B.</em>,
    +    "<code>http://www.domain.tld/domain/misc/file.html</code>" oder
    +    "<code>/domain/misc/file.html</code>").</p>
    +
    +  <p>Dies erfordert etwas Disziplin, die Befolgung dieser Richtlinien stellt
    +    jedoch gr&#246;&#223;tenteils sicher, dass Ihre Seiten mit allen Browsern
    +    funktionieren, alten wie neuen.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Verf&#252;gbare Sprachen: </span><a href="../de/vhosts/name-based.html" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
    +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/name-based.html.en b/docs/manual/vhosts/name-based.html.en
    new file mode 100644
    index 0000000..e2496a3
    --- /dev/null
    +++ b/docs/manual/vhosts/name-based.html.en
    @@ -0,0 +1,224 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Name-based Virtual Host Support - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Name-based Virtual Host Support</h1>
    +<div class="toplang">
    +<p><span>Available Languages: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>This document describes when and how to use name-based virtual hosts.</p>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Name-based vs. IP-based Virtual Hosts</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#alg">How the server selects the proper name-based virtual host</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#using">Using Name-based Virtual Hosts</a></li>
    +</ul><h3>See also</h3><ul class="seealso"><li><a href="ip-based.html">IP-based Virtual Host Support</a></li><li><a href="details.html">An In-Depth Discussion of Virtual Host Matching</a></li><li><a href="mass.html">Dynamically configured mass virtual hosting</a></li><li><a href="examples.html">Virtual Host examples for common setups</a></li><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="namevip" id="namevip">Name-based vs. IP-based Virtual Hosts</a></h2>
    +
    +    <p><a href="ip-based.html">IP-based virtual hosts</a> use the IP address of the connection to
    +    determine the correct virtual host to serve.  Therefore you need to
    +    have a separate IP address for each host.</p>
    +
    +    <p>With name-based virtual hosting, the server relies on the client to
    +    report the hostname as part of the HTTP headers.  Using this technique,
    +    many different hosts can share the same IP address.</p>
    +
    +    <p>Name-based virtual hosting is usually simpler, since you need
    +    only configure your DNS server to map each hostname to the correct
    +    IP address and then configure the Apache HTTP Server to recognize
    +    the different hostnames. Name-based virtual hosting also eases
    +    the demand for scarce IP addresses. Therefore you should use
    +    name-based virtual hosting unless you are using equipment
    +    that explicitly demands IP-based hosting.  Historical reasons for
    +    IP-based virtual hosting based on client support are no longer
    +    applicable to a general-purpose web server.</p>
    +
    +    <p> Name-based virtual hosting builds off of the IP-based virtual host
    +    selection algorithm, meaning that searches for the proper server name
    +    occur only between virtual hosts that have the best IP-based address.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="alg" id="alg">How the server selects the proper name-based virtual host</a></h2>
    +
    +    <p>It is important to recognize that the first step in name-based virtual
    +    host resolution is IP-based resolution.  Name-based virtual host
    +    resolution only chooses the most appropriate name-based virtual host
    +    after narrowing down the candidates to the best IP-based match.  Using a wildcard (*)
    +    for the IP address in all of the VirtualHost directives makes this
    +    IP-based mapping irrelevant.</p>
    +
    +    <p>When a request arrives, the server will find the best (most specific) matching
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> argument based on
    +    the IP address and port used by the request.  If there is more than one virtual host
    +    containing this best-match address and port combination, Apache will further
    +    compare the <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> and <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> directives to the server name
    +    present in the request.</p>
    +
    +    <p>If you omit the <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> 
    +    directive from any name-based virtual host, the server will default
    +    to a fully qualified domain name (FQDN) derived from the system hostname.
    +    This implicitly set server name can lead to counter-intuitive virtual host
    +    matching and is discouraged.</p>
    + 
    +    <h3><a name="defaultvhost" id="defaultvhost">The default name-based vhost for an IP and port combination </a></h3>
    +    <p> If no matching ServerName or ServerAlias is found in the set of
    +    virtual hosts containing the most specific matching IP address and port
    +    combination, then <strong>the first listed virtual host</strong> that
    +    matches that will be used.</p>
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="using" id="using">Using Name-based Virtual Hosts</a></h2>
    +
    +<table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
    +
    +    <p>The first step is to create a <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> block for
    +    each different host that you would like to serve.  Inside each <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> block, you will need at minimum a
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> directive to designate
    +    which host is served and a <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
    +    directive to show where in the filesystem the content for that host
    +    lives.</p>
    +
    +    <div class="note"><h3>Main host goes away</h3>
    +        <p> Any request that doesn't match an existing <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> is handled by the global
    +        server configuration, regardless of the hostname or ServerName.</p>
    +
    +        <p> When you add a name-based virtual host to an existing server, and
    +        the virtual host arguments match preexisting IP and port combinations,
    +        requests will now be handled by an explicit virtual host.  In this case,
    +        it's usually wise to create a <a href="#defaultvhost">default virtual host</a>
    +        with a <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> matching that of
    +        the base server.  New domains on the same interface and port, but
    +        requiring separate configurations,  can then be added as subsequent (non-default)
    +        virtual hosts.</p>
    +    </div>
    +
    +    <div class="note"><h3>ServerName inheritance</h3>
    +       <p> It is best to always explicitly list a  <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> in every name-based virtual host.</p>
    +       <p>If a <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> doesn't specify 
    +       a <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, a server name will be 
    +       inherited from the base server configuration.  If no server name was 
    +       specified globally, one is detected at startup through reverse DNS resolution
    +       of the first listening address.  In either case, this inherited server name
    +       will influence name-based virtual host resolution, so it is best to always
    +       explicitly list a  <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> in every
    +       name-based virtual host.</p>
    +    </div>
    +
    +    <p>For example, suppose that you are serving the domain
    +    <code>www.example.com</code> and you wish to add the virtual host
    +    <code>other.example.com</code>, which points at the same IP address.
    +    Then you simply add the following to <code>httpd.conf</code>:</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost *:80&gt;
    +    # This first-listed virtual host is also the default for *:80
    +    ServerName www.example.com
    +    ServerAlias example.com 
    +    DocumentRoot "/www/domain"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost *:80&gt;
    +    ServerName other.example.com
    +    DocumentRoot "/www/otherdomain"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>You can alternatively specify an explicit IP address in place of the
    +    <code>*</code> in <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> directives. For example, you might want to do this
    +    in order to run some name-based virtual hosts on one IP address, and either
    +    IP-based, or another set of name-based virtual hosts on another address.</p>
    +
    +    <p>Many servers want to be accessible by more than one name. This is
    +    possible with the <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
    +    directive, placed inside the <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> section. For example in the first <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> block above, the
    +    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> directive indicates that
    +    the listed names are other names which people can use to see that same
    +    web site:</p>
    +
    +    <pre class="prettyprint lang-config">ServerAlias example.com *.example.com</pre>
    +
    +
    +    <p>then requests for all hosts in the <code>example.com</code> domain will
    +    be served by the <code>www.example.com</code> virtual host. The wildcard
    +    characters <code>*</code> and <code>?</code> can be used to match names.
    +    Of course, you can't just make up names and place them in <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> or <code>ServerAlias</code>. You must
    +    first have your DNS server properly configured to map those names to an IP
    +    address associated with your server.</p>
    +
    +    <p>Name-based virtual hosts for the best-matching set of  <code class="directive"><a href="../mod/core.html#virtualhost">&lt;virtualhost&gt;</a></code>s are processed 
    +    in the order they appear in the configuration.  The first matching <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> or <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> is used, with no different precedence for wildcards
    +    (nor for ServerName vs. ServerAlias).  </p>
    +
    +    <p>The complete list of names in the <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code>
    +    directive are treated just like a (non wildcard) 
    +    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>.</p>
    +
    +    <p>Finally, you can fine-tune the configuration of the virtual hosts
    +    by placing other directives inside the <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> containers. Most directives can be
    +    placed in these containers and will then change the configuration only of
    +    the relevant virtual host. To find out if a particular directive is allowed,
    +    check the <a href="../mod/directive-dict.html#Context">Context</a> of the
    +    directive. Configuration directives set in the <em>main server context</em>
    +    (outside any <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    container) will be used only if they are not overridden by the virtual host
    +    settings.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Available Languages: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/name-based.html.fr.utf8 b/docs/manual/vhosts/name-based.html.fr.utf8
    new file mode 100644
    index 0000000..062c0a9
    --- /dev/null
    +++ b/docs/manual/vhosts/name-based.html.fr.utf8
    @@ -0,0 +1,267 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="fr" xml:lang="fr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>Support Apache des serveurs virtuels par nom - Serveur HTTP Apache Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    +<p class="apache">Serveur HTTP Apache Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Support Apache des serveurs virtuels par nom</h1>
    +<div class="toplang">
    +<p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>Ce document décrit quand et comment utiliser des serveurs
    +    virtuels par nom.</p>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Serveurs virtuels par nom vs. par IP</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#alg">Comment le serveur sélectionne-t-il le serveur
    +virtuel basé sur le nom approprié</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de serveurs virtuels par nom</a></li>
    +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support Apache des serveurs virtuels par IP</a></li><li><a href="details.html">Détails sur le fonctionnement des serveurs virtuels</a></li><li><a href="mass.html">Configuration dynamique des hébergements virtuels de masse</a></li><li><a href="examples.html">Exemples d'utilisations de VirtualHost</a></li><li><a href="#comments_section">Commentaires</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="namevip" id="namevip">Serveurs virtuels par nom vs. par IP</a></h2>
    +
    +    <p>Les <a href="ip-based.html">serveurs virtuels</a> par IP utilisent l'adresse IP
    +    de la connexion afin de déterminer quel serveur virtuel doit
    +    répondre. Par conséquent, vous devez disposer d'adresses IP
    +    différentes pour chaque serveur.</p>
    +
    +    <p>Avec un hébergement
    +    virtuel par nom, le serveur s'appuie sur les informations
    +    transmises par le client dans les en-têtes HTTP de ses requêtes.
    +    La technique présentée ici vous permet de disposer de serveurs
    +    virtuels différents partagés sur une même adresse IP.</p>
    +
    +    <p>L'hébergement virtuel par nom est habituellement plus simple,
    +    car il vous suffit de configurer votre serveur DNS pour que
    +    chaque domaine pointe sur l'adresse IP dont vous disposez, et de
    +    configurer votre serveur Apache HTTP afin qu'il reconnaisse
    +    ces domaines. Il réduit aussi la pénurie en adresses IP. Par
    +    conséquent, vous devriez utiliser l'hébergement virtuel par
    +    nom, sauf dans le cas où vous utiliseriez des équipements qui
    +    nécessitent un hébergement basé sur IP. Les raisons historiques de
    +    l'hébergement basé sur IP dans un but de support de certains clients ne
    +    s'appliquent plus à un serveur web d'usage général.</p>
    +
    +    <p>La sélection du serveur virtuel en fonction du nom s'opère en
    +    dehors de l'algorithme de sélection du serveur virtuel en fonction
    +    de l'adresse IP, ce qui signifie que les recherches du point de vue
    +    du nom du serveur ne s'effectuent que parmi le jeu de serveurs
    +    virtuels pour lesquels la correspondance avec la paire adresse
    +    IP/port est la plus exacte.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="alg" id="alg">Comment le serveur sélectionne-t-il le serveur
    +virtuel basé sur le nom approprié</a></h2>
    +
    +    <p>Il est important de savoir que la première étape de la résolution
    +    de serveur virtuel basée sur le nom est une résolution basée sur IP.
    +    La résolution de serveur virtuel basée sur le nom ne fait que
    +    choisir le serveur virtuel basé sur le nom le plus approprié, en se
    +    limitant aux candidats qui conviennent le mieux du point de vue IP.
    +    La résolution basée sur IP est sans objet si l'on
    +    utilise un caractère générique (*) pour l'adresse IP dans
    +    toutes les directives VirtualHost.</p>
    +
    +    <p>A l'arrivée d'une requête, le serveur va rechercher l'argument de
    +    section <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> présentant la meilleure
    +    (la plus exacte) correspondance avec la paire adresse IP/port
    +    utilisée dans la requête. Si plusieurs serveurs virtuels possèdent
    +    cette même paire adresse IP/port, Apache va ensuite comparer les
    +    valeurs des directives <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> avec le nom de serveur
    +    présent dans la requête.</p>
    +
    +    <p>Si vous ne définissez pas de directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour un serveur virtuel à base
    +    de nom, le serveur utilisera par défaut le nom de domaine
    +    entièrement qualifié (FQDN) déduit du nom d'hôte système. Cette
    +    configuration sans nom de serveur explicite peut conduire à des
    +    erreurs de choix du serveur virtuel à utiliser et est déconseillée.</p>
    +
    +    <h3><a name="defaultvhost" id="defaultvhost">Le serveur virtuel à base de nom
    +    par défaut pour une paire adresse IP/port</a></h3>
    +    <p>Si aucune directive ServerName ou ServerAlias ne correspond dans
    +    la liste de serveurs virtuels présentant la meilleure correspondance
    +    du point de vue adresse IP/port, c'est <strong>le premier serveur
    +    virtuel de cette liste</strong> qui sera utilisé.</p>
    +
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="using" id="using">Utilisation de serveurs virtuels par nom</a></h2>
    +
    +<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
    +
    +
    +    <p>La première étape consiste à créer une section
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    pour chacun des serveurs à définir. Dans chaque section
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>,
    +    vous devez définir au minimum une directive
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner
    +    le serveur concerné et une directive
    +    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser
    +    l'emplacement sur le système de fichiers du contenu de ce serveur.</p>
    +
    +    <div class="note"><h3>Le serveur principal disparaît</h3>
    +        <p>Toute requête qui ne correspond à aucune section <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> existante
    +	est traitée avec la configuration du serveur principal, sans
    +	tenir compte du nom d'hôte ou de la directive ServerName.</p>
    +
    +        <p>Lorsque vous ajoutez un serveur virtuel basé sur le nom à un
    +	serveur existant, et si les caractéristiques de ce serveur
    +	virtuel correspondent à des combinaisons IP/port préexistantes,
    +	les requêtes seront alors traitées par un serveur virtuel
    +	explicite. Dans ce cas, il est en général judicieux de créer un
    +	<a href="#defaultvhost">serveur virtuel par défaut</a>
    +	comportant une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> correspondant au nom du
    +	serveur principal. De nouveaux domaines sur les mêmes interface
    +	et port, mais nécessitant des configurations distinctes,
    +	pourront alors être ajoutés en tant que serveurs virtuels
    +	spécifiques (et non par défaut).</p>
    +    </div>
    +
    +    <div class="note"><h3>Héritage du nom de serveur</h3>
    +       <p>Il est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> au niveau de chaque serveur
    +       virtuel à base de nom. Si un serveur virtuel ne définit pas
    +       de directive  <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, le
    +       nom de ce serveur virtuel sera hérité du serveur principal. Si
    +       aucun nom de serveur n'a été explicitement défini au niveau du
    +       serveur principal, le serveur tentera de déterminer son nom via
    +       une résolution de nom DNS inverse sur la première adresse
    +       d'écoute. Dans tous les cas, ce nom de serveur hérité influencera
    +       la sélection du serveur virtuel à base de nom, c'est pourquoi il
    +       est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour chaque serveur virtuel
    +       à base de nom.</p>
    +    </div>
    +
    +    <p>Par exemple, supposez que vous hébergez le domaine
    +    <code>www.example.com</code> et que vous souhaitez ajouter le
    +    serveur virtuel <code>other.example.com</code> qui pointe sur
    +    la même adresse IP. Il vous suffit d'ajouter la configuration
    +    suivante à <code>httpd.conf</code>&nbsp;:</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost *:80&gt;
    +    # Le premier serveur virtuel de la liste est aussi le
    +    # serveur par défaut pour *:80
    +    ServerName www.example.com
    +    ServerAlias example.com
    +    DocumentRoot "/www/domain"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost *:80&gt;
    +    ServerName other.example.com
    +    DocumentRoot "/www/otherdomain"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>Autrement, vous pouvez spécifiez une adresse IP explicite
    +    à la place de <code>*</code> dans la directive
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.
    +    Par exemple, cette méthode est utile si vous souhaitez faire
    +    tourner quelques serveurs virtuels par nom sur une même adresse
    +    IP, et d'autres, soit par IP, soit basés sur un autre jeu de
    +    serveurs virtuels par nom sur une autre adresse IP.</p>
    +
    +    <p>Plusieurs serveurs sont accessibles par plus d'un nom. Il
    +    suffit de placer la directive
    +    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> dans une section
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.
    +    Par exemple, dans la première section
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    ci-dessus, la directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
    +    indique aux utilisateurs les autres noms permis pour accéder au
    +    même site Web&nbsp;:</p>
    +
    +    <pre class="prettyprint lang-config">ServerAlias example.com *.example.com</pre>
    +
    +
    +    <p>ainsi, toutes les requêtes portant sur un domaine
    +    <code>example.com</code> seront servies par le serveur virtuel
    +    <code>www.example.com</code>. Les caractères joker <code>*</code>
    +    et <code>?</code> peuvent être utilisés pour les correspondances.
    +    Bien entendu, vous ne pouvez pas inventer des noms et les placer
    +    dans une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
    +    ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS
    +    doit être correctement configuré pour lier ces noms à une
    +    adresse IP associée avec votre serveur.</p>
    +
    +    <p>La recherche du serveur virtuel à base de nom qui correspond au
    +    plus près à la requête s'effectue parmi les <code class="directive"><a href="../mod/core.html#virtualhost">&lt;virtualhost&gt;</a></code> selon leur
    +    ordre d'apparition dans le fichier de configuration. Le premier
    +    serveur virtuel dont le <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou le <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> correspond est utilisé, sans
    +    priorité particulière en cas de présence de caractères génériques
    +    (que ce soit pour le ServerName ou le ServerAlias).</p>
    +
    +    <p>La liste complète des noms dans la section <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> sont traités comme une
    +    directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sans
    +    caractères génériques.</p>
    +
    +    <p>Finalement, vous pouvez affiner la configuration des serveurs
    +    virtuels en plaçant d'autres directives à l'intérieur des sections
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.
    +    La plupart des directives peut être placée dans ces sections en
    +    y changeant seulement la configuration du serveur virtuel associé.
    +    Pour déterminer si une directive particulière est permise,
    +    consultez le <a href="../mod/directive-dict.html#Context">contexte</a> de la
    +    directive. Le jeu de directives configurées dans le contexte
    +    du <em>serveur principal</em> (en dehors de toutes sections
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>)
    +    sera utilisé seulement s'il n'y a pas de configuration contraire
    +    par un serveur virtuel.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <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">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/name-based.html.ja.utf8 b/docs/manual/vhosts/name-based.html.ja.utf8
    new file mode 100644
    index 0000000..2089756
    --- /dev/null
    +++ b/docs/manual/vhosts/name-based.html.ja.utf8
    @@ -0,0 +1,303 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="ja" xml:lang="ja"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
    +<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a> &gt; <a href="./">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></div><div id="page-content"><div id="preamble"><h1>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</h1>
    +<div class="toplang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
    +            å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
    +            最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
    +        </div>
    +
    +    <p>ã“ã®æ–‡æ›¸ã§ã¯åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’ã©ã‚“ãªã¨ãã€
    +    ã©ã†ã‚„ã£ã¦ä½¿ã†ã‹ã‚’説明ã—ã¾ã™ã€‚</p>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">åå‰ãƒ™ãƒ¼ã‚¹ã¨ IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®æ¯”較</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#using">åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’利用ã™ã‚‹</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#compat">å¤ã„ブラウザã¨ã®äº’æ›æ€§</a></li>
    +</ul><h3>å‚ç…§</h3><ul class="seealso"><li><a href="ip-based.html">ãƒãƒ¼ãƒ ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></li><li><a href="details.html">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒžãƒƒãƒãƒ³ã‚°ã«ã¤ã„ã¦ã®è©³ç´°</a></li><li><a href="mass.html">大é‡ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®å‹•çš„ãªè¨­å®š</a></li><li><a href="examples.html">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ä¸€èˆ¬çš„ãªè¨­å®šä¾‹</a></li><li><a href="examples.html#serverpath">ServerPath 設定例</a></li><li><a href="#comments_section">コメント</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="namevip" id="namevip">åå‰ãƒ™ãƒ¼ã‚¹ã¨ IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®æ¯”較</a></h2>
    +
    +    <p>IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ã¯ã€å¿œç­”ã™ã‚‹
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’決定ã™ã‚‹ãŸã‚ã« IP
    +    アドレスを使用ã—ã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ãã‚Œãžã‚Œã®ãƒ›ã‚¹ãƒˆã«å€‹ã€…ã« IP
    +    アドレスãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ã“ã‚Œã«å¯¾ã—ã¦åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ã¯ã€
    +    クライアント㌠HTTP ヘッダã®ä¸€éƒ¨ã¨ã—ã¦ãƒ›ã‚¹ãƒˆåã‚’å‘Šã’ã‚‹ã€
    +    ã¨ã„ã†ã“ã¨ã«ä¾å­˜ã—ã¾ã™ã€‚ã“ã®æŠ€è¡“ã§åŒä¸€ IP 
    +    アドレスを異ãªã‚‹å¤šæ•°ã®ãƒ›ã‚¹ãƒˆã§å…±æœ‰ã—ã¦ã„ã¾ã™ã€‚</p>
    +
    +    <p>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯é€šå¸¸å˜ç´”ã§ã€ãã‚Œãžã‚Œã®ãƒ›ã‚¹ãƒˆåã¨
    +    ãã‚Œã«å¯¾å¿œã™ã‚‹æ­£ç¢ºãª IP アドレスを DNS ã§è¨­å®šã—ã€ç•°ãªã‚‹
    +    ホストåを区別ã™ã‚‹ã‚ˆã†ã« Apache HTTP サーãƒã‚’設定ã™ã‚‹ã ã‘ã§ã™ã€‚
    +    ã•ã‚‰ã«ã€åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ä¸è¶³ã™ã‚‹ IP
    +    アドレスã®éœ€è¦ã‚’ç·©å’Œã—ã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’
    +    é¸æŠžã™ã¹ã特定ã®ç†ç”±ãŒãªã‘ã‚Œã°åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã†ã¹ãã§ã™ã€‚
    +    IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使用ã™ã‚‹ã“ã¨ã‚’考慮ã™ã‚‹ç†ç”±ã¨ã—ã¦ã€</p>
    +
    +    <ul> 
    +      <li>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾å¿œã—ã¦ã„ãªã„å¤ã„クライアントãŒã‚ã‚‹
    +      åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒåƒããŸã‚ã«ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯
    +      HTTP ホストヘッダをé€ã£ã¦ã“ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
    +      ã“れ㯠HTTP/1.1 ã®ä»•æ§˜ã§è¦æ±‚ã•ã‚Œã¦ã„ã¦ã€ã™ã¹ã¦ã®ç¾ä»£çš„ãª
    +      HTTP/1.0 ブラウザã§ã‚‚æ‹¡å¼µã¨ã—ã¦å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚
    +      ã¨ã¦ã‚‚å¤ã„クライアントをサãƒãƒ¼ãƒˆã—ã¤ã¤ã€åå‰ãƒ™ãƒ¼ã‚¹ã®
    +      ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’è¡Œã„ãŸã„å ´åˆã¯ã€ã“ã®æ–‡æ›¸ã®æœ€å¾Œã®æ–¹ã«
    +      書ã‹ã‚Œã¦ã„る解決策ã«ãªã‚‹ã‹ã‚‚ã—ã‚Œãªã„方法を見ã¦ãã ã•ã„。</li>
    +
    +      <li>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ SSL プロトコルã®ç‰¹å¾´ã«ã‚ˆã‚Šã€
    +      SSL セキュアサーãƒã«ã¯ä½¿ãˆã¾ã›ã‚“。</li>
    +
    +      <li>オペレーティングシステムやãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯è£…ç½®ã®ãªã‹ã«ã¯ã€
    +      別㮠IP アドレス上ã§ãªã„å ´åˆã€è¤‡æ•°ã®ãƒ›ã‚¹ãƒˆã‚’別扱ã„ã§ããªã„よã†ãª
    +      帯域管ç†ã®æ–¹æ³•ã‚’実装ã—ã¦ã„ã‚‹ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚</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="using" id="using">åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’利用ã™ã‚‹</a></h2>
    +
    +<table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
    +
    +    <p>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã†ã«ã¯ã€ãã®ãƒ›ã‚¹ãƒˆã¸ã®
    +    リクエストをå—ã‘付ã‘るサーãƒã® IP アドレス (ã‚‚ã—ã‹ã—ãŸã‚‰ãƒãƒ¼ãƒˆã‚‚)
    +    を指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
    +    ã“れ㯠<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    +    ディレクティブã§è¨­å®šã—ã¾ã™ã€‚通常ã€<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ã§
    +    <code>*</code> ã®å±žæ€§ã‚’使ã£ã¦ã‚µãƒ¼ãƒã®å…¨ã¦ã® IP アドレスを使ã„ã¾ã™ã€‚
    +    (例ãˆã° SSL ã®ä½¿ç”¨ãªã©ã§) 複数ã®ãƒãƒ¼ãƒˆã‚’使ã†ã“ã¨ã‚’計画ã—ã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€
    +    引数㫠<code>*:80</code> ã®ã‚ˆã†ã«ãƒãƒ¼ãƒˆã‚‚å«ã‚るよã†ã«ã—ã¦ãã ã•ã„。
    +    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ディレクティブã§
    +    IP アドレスを書ã„ã¦ã‚‚ã€
    +    自動的ã«ã‚µãƒ¼ãƒãŒãã® IP アドレスをリッスンã™ã‚‹ã¨ã„ã†ã“ã¨ã¯ãªã„ã“ã¨ã«
    +    注æ„ã—ã¦ãã ã•ã„。詳細ã¯ã€Œ<a href="../bind.html">Apache ã®ä½¿ã†ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨
    +    ãƒãƒ¼ãƒˆã‚’設定ã™ã‚‹</a>ã€ã‚’読んã§ãã ã•ã„。ã•ã‚‰ã«ã€ã“ã“ã§æŒ‡å®šã•ã‚ŒãŸ
    +    IP アドレスã¯å…¨ã¦ã‚µãƒ¼ãƒã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¨é–¢é€£ä»˜ã‘られã¦
    +    ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</p>
    +
    +    <p>次ã¯ã€æ‰±ã†ãƒ›ã‚¹ãƒˆãã‚Œãžã‚Œã«å¯¾ã—㦠<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ブロックを
    +    作æˆã—ã¦ãã ã•ã„。<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    ディレクティブã®å¼•æ•°ã¯ <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    +    ディレクティブã®å¼•æ•°ã¨åŒã˜ã«ã—ã¦ãã ã•ã„ (ã™ãªã‚ã¡ã€IP アドレスã‹ã€å…¨ã¦ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’æ„味ã™ã‚‹
    +    <code>*</code>)。ãã‚Œãžã‚Œã® <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    ディレクティブã®ä¸­ã«ã¯ã€æœ€ä½Žé™ã€ã©ã®ãƒ›ã‚¹ãƒˆãŒæ‰±ã‚れるã‹ã‚’示㙠<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ディレクティブã¨ã€
    +    ãã®ãƒ›ã‚¹ãƒˆç”¨ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®ã©ã“ã«ã‚ã‚‹ã‹ã‚’示ã™
    +    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> ディレクティブを
    +    書ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p>
    +
    +    <div class="note"><h3>メインホストã¯ãªããªã‚Šã¾ã™</h3>
    +        <p>æ—¢ã«ã‚るウェブサーãƒã«ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’追加ã™ã‚‹å ´åˆã€
    +        既存ã®ã‚¦ã‚§ãƒ–サーãƒã«å¯¾ã—ã¦ã‚‚ <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +        ブロックを作らãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®
    +        <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ã¨
    +        <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
    +        ã¯ã€ã‚°ãƒ­ãƒ¼ãƒãƒ«ãª <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ã¨
    +        <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
    +        ã¨åŒã˜ã‚‚ã®ã«ã—ã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’設定ファイルã®ä¸­ã§
    +        先頭ã«ç½®ã„ã¦ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ›ã‚¹ãƒˆã¨ã—ã¦å‹•ä½œã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚</p>
    +    </div>
    +
    +    <p>ãŸã¨ãˆã°ã€<code>www.domain.tld</code> ã‚’å‹•ã‹ã—ã¦ã„ã¦ã€
    +    ã•ã‚‰ã«ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ <code>www.otherdomain.tld</code>
    +    を追加ã™ã‚‹ã¨ã—ã¾ã—ょã†ã€‚ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯åŒä¸€ IP を指ã—ã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚
    +    ãã®ã‚ˆã†ãªå ´åˆã¯ã€<code>httpd.conf</code>
    +    ã«ä»¥ä¸‹ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã‚’追加ã™ã‚‹ã ã‘ã§ã™</p>
    +
    +    <div class="example"><p><code>
    +        NameVirtualHost *:80<br />
    +        <br />
    +        &lt;VirtualHost *:80&gt;<br />
    +        <span class="indent">
    +            ServerName www.domain.tld<br />
    +            ServerAlias domain.tld *.domain.tld<br />
    +            DocumentRoot /www/domain<br />
    +        </span>
    +        &lt;/VirtualHost&gt;<br />
    +        <br />
    +        &lt;VirtualHost *:80&gt;<br />
    +        <span class="indent">ServerName www.otherdomain.tld<br />
    +            DocumentRoot /www/otherdomain<br />
    +        </span>
    +        &lt;/VirtualHost&gt;<br />
    +    </code></p></div>
    +
    +    <p><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> åŠã³
    +    <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> ã®ã©ã¡ã‚‰ã®å ´åˆã‚‚ã€
    +    * ã®éƒ¨åˆ†ã«ã¯æ˜Žç¤ºçš„ã« IP アドレスを指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
    +    例ãˆã°ã€ã‚ã‚‹ IP アドレスã§ã¯åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã„ãŸã„一方ã§ã€
    +    別㮠IP アドレスã§ã¯ã€ä»–ã® IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚„
    +    別組ã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã„ãŸã„å ´åˆã€
    +    ãã†è¨­å®šã™ã‚‹ã“ã¨ã«ãªã‚‹ã§ã—ょã†ã€‚</p>
    +
    +    <p>複数ã®åå‰ã§ã‚µãƒ¼ãƒã‚¢ã‚¯ã‚»ã‚¹ãŒã§ãるよã†ã«ã—ãŸã„ã“ã¨ã‚‚多ã„ã§ã—ょã†ã€‚
    +    ã“ã®ã‚ˆã†ãªã“ã¨ã¯ã€<code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> ディレクティブを <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    セクションã«è¨˜è¿°ã™ã‚‹ã“ã¨ã§å®Ÿç¾ã§ãã¾ã™ã€‚
    +    例ãˆã°ä¸Šè¨˜ã® <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ã®ä¾‹ã§ã‚ã‚Œã°ã€
    +    次ã®ã‚ˆã†ã«ä¸€è¦§ã«æŒ™ã’られãŸåå‰ãŒã€
    +    ユーザãŒåŒä¸€ã®ã‚¦ã‚§ãƒ–サイトã¨ã—ã¦ç›®ã«ã—ã¦ä½¿ç”¨ã§ãるサーãƒåã§ã‚ã‚‹ã€
    +    㨠<code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
    +    ディレクティブã§æŒ‡å®šã§ãã¾ã™ã€‚</p> 
    +
    +    <div class="example"><p><code>
    +        ServerAlias domain.tld *.domain.tld
    +    </code></p></div>
    +
    +    <p><code>domain.tld</code> ドメインã¸ã®å…¨ã¦ã®ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
    +    <code>www.domain.tld</code> ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒå‡¦ç†ã—ã¾ã™ã€‚
    +    åå‰ã‚’マッãƒã•ã›ã‚‹ãŸã‚ã«ã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰æ–‡å­— * ã‚„ ? 
    +    を使用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ã‚‚ã¡ã‚ã‚“æ€ã„ã¤ãã®åå‰ã‚’作ã£ã¦ã€
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ã‚„ 
    +    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
    +    ã«ãã®åå‰ã‚’書ãã¨ã„ã£ãŸã“ã¨ã¯ã§ãã¾ã›ã‚“。ã¾ãšã¯ã€
    +    ã“れらã®åå‰ãŒ サーãƒã«ä»˜ã‘られ㟠IP アドレスã«ãƒžãƒƒãƒ—ã•ã‚Œã‚‹ã‚ˆã†ã«
    +    DNS サーãƒã‚’é©åˆ‡ã«è¨­å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</p>
    +
    +    <p>最後ã«ã€<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> コンテナã®ä¸­ã«
    +    ä»–ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ãã“ã¨ã§ã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ç´°ã‹ã調整
    +    ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
    +    ã»ã¨ã‚“ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã“れらã®ã‚³ãƒ³ãƒ†ãƒŠã«è¨­ç½®ã™ã‚‹ã“ã¨ãŒã§ãã¦ã€
    +    変更点ã¯ãã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã—ã¦ã®ã¿æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚
    +    ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ãã“ã¨ãŒã§ãã‚‹ã‹ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã® <a href="../mod/directive-dist.html#context">コンテキスト</a> ã‚’
    +    調ã¹ã¦ãã ã•ã„。<em>主サーãƒã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ</em>
    +    (<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    コンテナã®å¤–) ã®è¨­å®šç”¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ã®è¨­å®šã§
    +    上書ãã•ã‚Œãªã„å ´åˆã®ã¿ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚</p>
    +
    +    <p>リクエストãŒæ¥ã‚‹ã¨ã€ã‚µãƒ¼ãƒã¯ã¾ãšæœ€åˆã« <code class="directive"><a href="../mod/core.html#namevirtualhost">&lt;NameVirtualHost&gt;</a></code>
    +    ã«ãƒžãƒƒãƒã™ã‚‹ IP アドレスã‹ã©ã†ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚マッãƒã™ã‚Œã°
    +    マッãƒã—㟠IP アドレス㮠<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    ã®ãã‚Œãžã‚Œã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ä¸­ã‹ã‚‰ 
    +    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ã‹
    +    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> 
    +    ã«è¦æ±‚ã•ã‚ŒãŸãƒ›ã‚¹ãƒˆåãŒã‚ã‚‹ã‹æŽ¢ã—ã¾ã™ã€‚
    +    見ã¤ã‹ã‚Œã°ãã®ã‚µãƒ¼ãƒç”¨ã®è¨­å®šã‚’使ã„ã¾ã™ã€‚マッãƒã™ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
    +    ãŒè¦‹ã¤ã‹ã‚‰ãªã‘ã‚Œã°ã€ãƒžãƒƒãƒã—㟠IP アドレス㮠
    +    <strong>リストã®æœ€åˆã«ã‚ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</strong> ãŒä½¿ã‚ã‚Œã¾ã™ã€‚</p>
    +
    +    <p>çµæžœã¨ã—ã¦ã€ãƒªã‚¹ãƒˆã®æœ€åˆã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒ <em>デフォルト</em> ã®
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãªã‚Šã¾ã™ã€‚IP アドレス㌠<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    +    ディレクティブã«ãƒžãƒƒãƒã—ãŸå ´åˆã¯ã€<em>メインã®ã‚µãƒ¼ãƒ</em> ã®
    +    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> 
    +    ã¯<strong>決ã—ã¦ä½¿ã‚ã‚Œã¾ã›ã‚“</strong>
    +    ã©ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã‚‚マッãƒã—ãªã„リクエストã«å¯¾ã—ã¦ã€
    +    特別ãªè¨­å®šã‚’ã—ãŸã„ã®ã§ã‚ã‚Œã°ã€è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®æœ€åˆã®
    +    <code>&lt;VirtualHost&gt;</code> コンテナã«ãれを記述ã—ã¦ãã ã•ã„。</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="compat" id="compat">å¤ã„ブラウザã¨ã®äº’æ›æ€§</a></h2>
    +
    +    <p>以å‰è¿°ã¹ãŸã‚ˆã†ã«ã€åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒæ­£ã—ã動作ã™ã‚‹
    +    ãŸã‚ã«å¿…è¦ãªæƒ…報をé€ã£ã¦ã“ãªã„クライアントãŒä¾ç„¶ã¨ã—ã¦å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚
    +    ãã®ã‚ˆã†ãªã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾ã—ã¦ã¯ã€è©²å½“ã™ã‚‹ IP アドレスã«ã¤ã„ã¦ã€
    +    一番最åˆã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
    +    (<cite>プライマリ</cite>ã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ)
    +    ã‹ã‚‰ãƒšãƒ¼ã‚¸ãŒé€ã‚Šè¿”ã•ã‚Œã¾ã™ã€‚</p>
    +
    +    <div class="note"><h3>ã©ã®ãらã„å¤ã„ã® ?</h3>
    +    <p>「å¤ã„ã€ã¨è¡¨ç¾ã—ã¦ã„ã‚‹å ´åˆã€æœ¬å½“ã«å¤ã„ã“ã¨ã‚’æ„味ã—ã¦ä½¿ã£ã¦ã„ã¾ã™ã€‚
    +    ä¸å¹¸ã«ã—ã¦ä»Šç¾åœ¨ã§ã‚‚ã“ã®ã‚ˆã†ãªå¤ã„ブラウザã«é­é‡ã™ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
    +    ç¾åœ¨ã®ãƒ–ラウザã¯å…¨ã¦ã€åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¿…è¦ãª
    +    <code>Host</code> ヘッダをé€ã‚Šã¾ã™ã€‚</p>
    +    </div>
    +
    +    <p><a href="../mod/core.html#serverpath"><code>ServerPath</code></a>
    +    ディレクティブã§å¯¾å‡¦ãŒå¯èƒ½ã§ã™ã€‚ã¡ã‚‡ã£ã¨ä¸æ ¼å¥½ã§ã™ã‘ã‚Œã©ã‚‚。</p>
    +
    +    <p>設定例</p>
    +
    +    <div class="example"><p><code>
    +        NameVirtualHost 111.22.33.44<br />
    +        <br />
    +        &lt;VirtualHost 111.22.33.44&gt;<br />
    +        <span class="indent">
    +            ServerName www.domain.tld<br />
    +            ServerPath /domain<br />
    +            DocumentRoot /web/domain<br />
    +        </span>
    +        &lt;/VirtualHost&gt;<br />
    +    </code></p></div>
    +
    +    <p>ã“ã®ä¾‹ã«ã¯ã©ã†ã„ã†æ„味ãŒã‚ã‚‹ã§ã—ょã†ã‹? ã“ã‚Œã¯
    +    "<code>/domain</code>" ã§å§‹ã¾ã‚‹ URI ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã™ã¹ã¦ã€
    +    ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ <code>www.domain.tld</code> ã§å‡¦ç†ã•ã‚Œã‚‹ã€
    +    ã¨ã„ã†æ„味ã§ã™ã€‚ã¤ã¾ã‚Šã€ã™ã¹ã¦ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§
    +    <code>http://www.domain.tld/domain/</code> ã§ã‚¢ã‚¯ã‚»ã‚¹ã§ãるページãŒã€
    +    <code>Host:</code> ヘッダをé€ã£ã¦ãるクライアントã§ã‚ã‚Œã°
    +    <code>http://www.domain.tld/</code> ã¨ã—ã¦ã‚‚アクセスã§ãã‚‹ã€
    +    ã¨ã„ã†æ„味ã§ã™ã€‚</p>
    +
    +    <p>ã“ã‚ŒãŒå‹•ä½œã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ã€
    +    プライマリã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒšãƒ¼ã‚¸ã«
    +    <code>http://www.domain.tld/domain/</code> ã¸ã®ãƒªãƒ³ã‚¯ã‚’設置ã—ã¾ã™ã€‚
    +    ãã—ã¦ã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒšãƒ¼ã‚¸ã§ã¯ã€ç´”粋ãªç›¸å¯¾ãƒªãƒ³ã‚¯ (<em>例:</em>
    +    "<code>file.html</code>" ã‚„ "<code>../icons/image.gif</code>")ã€
    +    ã‚ã‚‹ã„㯠<code>/domain/</code> ã§å§‹ã¾ã‚‹ãƒªãƒ³ã‚¯ (<em>例:</em>
    +    "<code>http://www.domain.tld/domain/misc/file.html</code>" ã‚„
    +    "<code>/domain/misc/file.html</code>") ã ã‘を設置ã—ã¾ã™ã€‚</p>
    +
    +    <p>ã“ã‚Œã«ã¯ã€å¹¾åˆ†ã‹ã®è¦å¾‹ãŒå¿…è¦ã¨ãªã‚Šã¾ã™ãŒã€
    +    ã“ã®ã‚ˆã†ãªã‚¬ã‚¤ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’忠実ã«å®ˆã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ãŸã„ã¦ã„ã®å ´åˆã€
    +    ã™ã¹ã¦ã®ãƒ–ラウザ㧠― æ–°ã—ã„ブラウザã§ã‚‚å¤ã„ã‚‚ã®ã§ã‚‚ ―
    +    作æˆã—ãŸãƒšãƒ¼ã‚¸ãŒè¦‹ãˆã‚‹ã¨ã„ã†ã“ã¨ã‚’ä¿è¨¼ã—ã¾ã™ã€‚</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>翻訳済ã¿è¨€èªž: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&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">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
    +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/name-based.html.ko.euc-kr b/docs/manual/vhosts/name-based.html.ko.euc-kr
    new file mode 100644
    index 0000000..86f7d2a
    --- /dev/null
    +++ b/docs/manual/vhosts/name-based.html.ko.euc-kr
    @@ -0,0 +1,266 @@
    +<?xml version="1.0" encoding="EUC-KR"?>
    +<!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="ko" xml:lang="ko"><head>
    +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>À̸§±â¹Ý °¡»óÈ£½ºÆ® Áö¿ø - Apache HTTP Server Version 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
    +<p class="apache">Apache HTTP Server Version 2.4</p>
    +<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">°¡»óÈ£½ºÆ®</a></div><div id="page-content"><div id="preamble"><h1>À̸§±â¹Ý °¡»óÈ£½ºÆ® Áö¿ø</h1>
    +<div class="toplang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
    +</div>
    +<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
    +            ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
    +
    +    <p>ÀÌ ¹®¼­´Â À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÏ´Â °æ¿ì¿Í ¹æ¹ýÀ»
    +    ¼³¸íÇÑ´Ù.</p>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">À̸§±â¹Ý ´ë IP±â¹Ý °¡»óÈ£½ºÆ®</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#using">À̸§±â¹Ý °¡»óÈ£½ºÆ® »ç¿ëÇϱâ</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#compat">¿À·¡µÈ ºê¶ó¿ìÀú¿Í ȣȯ</a></li>
    +</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="ip-based.html">IP±â¹Ý °¡»óÈ£½ºÆ® Áö¿ø</a></li><li><a href="details.html">°¡»óÈ£½ºÆ® ã±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í</a></li><li><a href="mass.html">´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ µ¿ÀûÀ¸·Î ¼³Á¤Çϱâ</a></li><li><a href="examples.html">ÀϹÝÀûÀÎ °¡»óÈ£½ºÆ® ¿¹</a></li><li><a href="examples.html#serverpath">ServerPath ¼³Á¤ ¿¹</a></li><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="namevip" id="namevip">À̸§±â¹Ý ´ë IP±â¹Ý °¡»óÈ£½ºÆ®</a></h2>
    +
    +    <p>IP±â¹Ý °¡»óÈ£½ºÆ®´Â ¿¬°áÇÑ IP ÁÖ¼Ò¸¦ °¡Áö°í ¼­ºñ½ºÇÒ
    +    °¡»óÈ£½ºÆ®¸¦ °áÁ¤ÇÑ´Ù. ±×·¡¼­ °¢ È£½ºÆ®´Â ¼­·Î ´Ù¸¥ IP ÁÖ¼Ò¸¦
    +    °¡Á®¾ß ÇÑ´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ °æ¿ì ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®°¡
    +    HTTP Çì´õ·Î È£½ºÆ®¸íÀ» ¾Ë·ÁÁÖ±æ ¹Ù¶õ´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î ÇÑ
    +    IP ÁÖ¼Ò·Î ¿©·¯ ´Ù¸¥ È£½ºÆ®¸¦ ¼­ºñ½ºÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <p>À̸§±â¹Ý °¡»óÈ£½ºÆ®´Â DNS ¼­¹ö°¡ °¢ È£½ºÆ®¸íÀÌ ¿Ã¹Ù¸¥
    +    IP ÁÖ¼Ò·Î ´ëÀÀÇϵµ·Ï °¡»óÈ£½ºÆ®¸¦ ¼³Á¤ÇÏ°í, ´Ù¸¥ È£½ºÆ®¸íÀ» ±¸º°ÇÒ
    +    ¼ö ÀÖµµ·Ï ¾ÆÆÄÄ¡ À¥¼­¹ö¸¦ ¼³Á¤Çϱ⸸ ÇϸéµÇ¹Ç·Î ´õ °£´ÜÇÏ´Ù. À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®´Â ¶Ç ¿©·¯ IP ÁÖ¼Ò°¡ ÇÊ¿ä¾ø´Ù. ±×·¯¹Ç·Î Ưº°È÷
    +    IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ¼±ÅÃÇÒ ÀÌÀ¯°¡ ¾ø´Ù¸é À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦
    +    »ç¿ëÇØ¾ß ÇÑ´Ù. IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇؾßÇÒ ÀÌÀ¯·Î´Â:</p>
    +
    +	<ul>
    +        <li>À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ Áö¿øÇÏÁö¾Ê´Â ¿À·¡µÈ
    +        Ŭ¶óÀ̾ðÆ®µéÀÌ ÀÖ´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÏ·Á¸é
    +        Ŭ¶óÀ̾ðÆ®°¡ HTTP Host Çì´õ¸¦ º¸³»¾ß ÇÑ´Ù. ÀÌ´Â
    +        HTTP/1.1¿¡¼­´Â ÇʼöÀÌ°í, ÃÖ±Ù ¸ðµç HTTP/1.0 ºê¶ó¿ìÀúµéµµ
    +        È®ÀåÀ¸·Î Áö¿øÇÑ´Ù. ¸¸¾à À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇϸ鼭
    +        ¿À·¡µÈ Ŭ¶óÀ̾ðÆ®¸¦ Áö¿øÇØ¾ß ÇÑ´Ù¸é ÀÌ ¹®¼­ ³¡¿¡ ÀÖ´Â
    +        ¹æ¹ýÀ» »ìÆìºÁ¶ó.</li>
    +
    +        <li>SSL ÇÁ·ÎÅäÄÝÀÇ ¼º°Ý»ó SSL º¸¾È¼­¹ö¿¡¼­ À̸§±â¹Ý
    +        °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.</li>
    +
    +        <li>¾î¶² ¿î¿µÃ¼Á¦³ª ³×Æ®¿÷ ÀåÄ¡´Â ´Ù¸¥ IP ÁÖ¼Ò¸¦ »ç¿ëÇÏÁö
    +        ¾ÊÀ¸¸é È£½ºÆ®¸¦ ±¸º°ÇÏÁö ¸øÇÏ´Â ³×Æ®¿÷ »ç¿ë·®(bandwidth)
    +        °ü¸®±â¼úÀ» »ç¿ëÇÑ´Ù.</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="using" id="using">À̸§±â¹Ý °¡»óÈ£½ºÆ® »ç¿ëÇϱâ</a></h2>
    +
    +<table class="related"><tr><th>°ü·ÃµÈ ¸ðµâ</th><th>°ü·ÃµÈ Áö½Ã¾î</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
    +
    +    <p>À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÏ·Á¸é ¼­¹ö´Â ¿¬°áÀ» ¹ÞÀ»
    +    IP ÁÖ¼Ò¸¦ (¾Æ¸¶ Æ÷Æ®µµ) Á¤ÇØ¾ß ÇÑ´Ù. ÀÌ´Â <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> Áö½Ã¾î·Î °¡´ÉÇÏ´Ù.
    +    ÀϹÝÀûÀ¸·Î ¼­¹öÀÇ ¸ðµç IP ÁÖ¼Ò¸¦ »ç¿ëÇÑ´Ù¸é
    +    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>ÀÇ
    +    ¾Æ±Ô¸ÕÆ®·Î <code>*</code>¸¦ »ç¿ëÇÑ´Ù. ¿©·¯ Æ÷Æ®¸¦ »ç¿ëÇÒ
    +    (¿¹¸¦ µé¾î, SSLÀ» »ç¿ëÇÒ) °èȹÀ̶ó¸é <code>*:80</code>°ú
    +    °°ÀÌ ¾Æ±Ô¸ÕÆ®¿¡ Æ÷Æ®¸¦ Ãß°¡ÇØ¾ß ÇÑ´Ù. <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> Áö½Ã¾î¿¡ IP ÁÖ¼Ò¸¦
    +    Àû¾îÁÖ¾ú´Ù°í ¼­¹ö°¡ ÀÚµ¿À¸·Î ±× IP ÁÖ¼Ò¸¦ ±â´Ù¸®Áö ¾ÊÀ½À»
    +    ÁÖÀÇÇ϶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº <a href="../bind.html">¾ÆÆÄÄ¡°¡
    +    »ç¿ëÇÒ ÁÖ¼Ò¿Í Æ÷Æ® ¼³Á¤Çϱâ</a>¸¦ Âü°íÇ϶ó. ¶Ç, ¿©±â¼­
    +    ÁöÁ¤ÇÑ IP ÁÖ¼Ò´Â ¼­¹öÀÇ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽ºÀ̾î¾ß ÇÑ´Ù.</p>
    +
    +    <p>´ÙÀ½ ´Ü°è´Â ¼­ºñ½ºÇÏ·Á´Â È£½ºÆ®º°·Î <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ºí·ÏÀ»
    +    ¸¸µå´Â ÀÏÀÌ´Ù. <code class="directive"><a href="../mod/core.html#virtualhost&gt;">&lt;VirtualHost&gt;&gt;</a></code> Áö½Ã¾îÀÇ ¾Æ±Ô¸ÕÆ®´Â
    +    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> Áö½Ã¾îÀÇ
    +    ¾Æ±Ô¸ÕÆ®(¿¹¸¦ µé¾î, IP ÁÖ¼Ò³ª ¸ðµç ÁÖ¼Ò¸¦ ¶æÇÏ´Â <code>*</code>)¿Í
    +    °°¾Æ¾ß ÇÑ´Ù. <code class="directive"><a href="../mod/core.html#virtualhost&gt;">&lt;VirtualHost&gt;&gt;</a></code> ºí·Ï ¾È¿¡´Â
    +    ÃÖ¼ÒÇÑ ¼­ºñ½ºÇÒ È£½ºÆ®¸¦ ÁöÁ¤ÇÏ´Â <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> Áö½Ã¾î¿Í È£½ºÆ®ÀÇ
    +    ³»¿ëÀÌ ÆÄÀϽýºÅÛ ¾îµð¿¡ ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÏ´Â <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> Áö½Ã¾î°¡ ÇÊ¿äÇÏ´Ù.</p>
    +
    +    <div class="note"><h3>ÁÖ È£½ºÆ®°¡ ¾ø¾îÁø´Ù</h3>
    +        <p>±âÁ¸¿¡ »ç¿ëÇÏ´ø À¥¼­¹ö¿¡ °¡»óÈ£½ºÆ®¸¦ Ãß°¡ÇÑ´Ù¸é
    +        ±âÁ¸¿¡ »ç¿ëÇÏ´ø È£½ºÆ®¿¡ ´ëÇÑ <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ºí·Ïµµ Ãß°¡Çؾß
    +        ÇÑ´Ù. ÀÌ ºí·Ï¿¡ Æ÷ÇÔÇÏ´Â <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>°ú <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>´Â Àüü <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>°ú <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>¿Í °°¾Æ¾ß ÇÑ´Ù.
    +        ¼³Á¤ÆÄÀÏ¿¡¼­ ÀÌ °¡»óÈ£½ºÆ®¸¦ °¡Àå ¸ÕÀú ÀûÀ¸¸é ±âº» È£½ºÆ®°¡
    +        µÈ´Ù.</p>
    +    </div>
    +
    +    <p>¿¹¸¦ µé¾î <code>www.domain.tld</code> µµ¸ÞÀÎÀ» ¼­ºñ½ºÇÏ°í
    +    ÀÖ¾ú´Âµ¥ °°Àº IP ÁÖ¼Ò¿¡
    +    <code>www.otherdomain.tld</code>¶õ °¡»óÈ£½ºÆ®¸¦ Ãß°¡ÇÏ°í
    +    ½Í´Ù°í °¡Á¤ÇÏÀÚ. <code>httpd.conf</code>¿¡ ´ÙÀ½°ú °°ÀÌ
    +    Ãß°¡ÇÏ¸é µÈ´Ù:</p>
    +
    +    <div class="example"><p><code>
    +        NameVirtualHost *:80<br />
    +        <br />
    +        &lt;VirtualHost *:80&gt;<br />
    +        <span class="indent">
    +            ServerName www.domain.tld<br />
    +            ServerAlias domain.tld *.domain.tld<br />
    +            DocumentRoot /www/domain<br />
    +        </span>
    +        &lt;/VirtualHost&gt;<br />
    +        <br />
    +        &lt;VirtualHost *:80&gt;<br />
    +        <span class="indent">ServerName www.otherdomain.tld<br />
    +            DocumentRoot /www/otherdomain<br />
    +        </span>
    +        &lt;/VirtualHost&gt;<br />
    +    </code></p></div>
    +
    +    <p><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>¿Í
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    Áö½Ã¾î µÑ ¸ðµÎ <code>*</code> ´ë½Å Á÷Á¢ IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇÒ
    +    ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, ÀÌ·±½ÄÀ¸·Î ÇÑ IP ÁÖ¼Ò¿¡ ¿©·¯ À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®µéÀ» µ¹¸®°í, ´Ù¸¥ ÁÖ¼Ò¿¡ IP±â¹Ý ȤÀº À̸§±â¹Ý
    +    °¡»óÈ£½ºÆ®µéÀ» µ¹¸± ¼ö ÀÖ´Ù.</p>
    +
    +    <p>¾î¶² ¼­¹ö´Â ¿©·¯ À̸§À¸·Î Á¢¼ÓÇÒ ¼ö ÀÖ±æ ¹Ù¶õ´Ù. ÀÌ´Â
    +    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    ¼½¼Ç ¾È¿¡ <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
    +    Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î À§ÀÇ Ã¹¹ø° <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ºí·Ï¿¡¼­
    +    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> Áö½Ã¾î¸¦
    +    »ç¿ëÇÏ¸é ¿­°ÅÇÑ À̸§À¸·Î °°Àº À¥»çÀÌÆ®¸¦ º¼ ¼ö ÀÖ´Ù:</p>
    +
    +    <div class="example"><p><code>
    +        ServerAlias domain.tld *.domain.tld
    +    </code></p></div>
    +
    +    <p><code>domain.tld</code> µµ¸ÞÀο¡ ÀÖ´Â ¸ðµç È£½ºÆ®¿¡ ´ëÇÑ
    +    ¿äûÀ» <code>www.domain.tld</code> °¡»óÈ£½ºÆ®°¡ ¼­ºñ½ºÇÑ´Ù.
    +    À̸§À» ÁÙ¶§ ¿ÍÀϵåÄ«µå ¹®ÀÚ <code>*</code>¿Í <code>?</code>¸¦
    +    »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹°·Ð <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>À̳ª <code>ServerAlias</code>¿¡
    +    À̸§À» Àû¾îÁÖ¾ú´Ù°í ³¡ÀÌ ¾Æ´Ï´Ù. ¸ÕÀú ÀÌ À̸§µéÀÌ ¼­¹öÀÇ
    +    IP ÁÖ¼Ò·Î ´ëÀÀÇϵµ·Ï DNS ¼­¹ö¸¦ ¾Ë¸Â°Ô ¼³Á¤ÇØ¾ß ÇÑ´Ù.</p>
    +
    +    <p>¸¶Áö¸·À¸·Î <code class="directive"><a href="../mod/core.html#&lt;virtualhost&gt;">&lt;&lt;VirtualHost&gt;&gt;</a></code> ¾È¿¡ ´Ù¸¥
    +    Áö½Ã¾îµéÀ» »ç¿ëÇÏ¿© °¡»óÈ£½ºÆ®¸¦ ÀÚ¼¼È÷ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
    +    ´ëºÎºÐÀÇ Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, °ü·ÃµÈ °¡»óÈ£½ºÆ®ÀÇ ¼³Á¤¸¸À»
    +    º¯°æÇÑ´Ù. ¾î¶² Áö½Ã¾î°¡ »ç¿ë°¡´ÉÇÑÁö ¾Ë·Á¸é Áö½Ã¾îÀÇ <a href="../mod/directive-dict.html#Context">»ç¿ëÀå¼Ò</a>¸¦
    +    È®ÀÎÇ϶ó. (<code class="directive"><a href="../mod/core.html#&lt;virtualhost&gt;">&lt;&lt;VirtualHost&gt;&gt;</a></code> ¾ÈÀÌ ¾Æ´Ñ)
    +    <em>ÁÖ¼­¹ö¼³Á¤</em>¿¡¼­ ÁöÁ¤ÇÑ ¼³Á¤ Áö½Ã¾î´Â °¡»óÈ£½ºÆ®¿¡
    +    °°Àº ¼³Á¤ Áö½Ã¾î°¡ ¾ø´Â °æ¿ì¿¡¸¸ »ç¿ëµÈ´Ù.</p>
    +
    +    <p>¿äûÀ» ¹ÞÀ¸¸é ¼­¹ö´Â ¸ÕÀú <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>¿¡¼­ ÁöÁ¤ÇÑ IP
    +    ÁÖ¼ÒÀÎÁö °Ë»çÇÑ´Ù. ±×·¸´Ù¸é ±× IP ÁÖ¼Ò¸¦ °¡Áø <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +    ¼½¼Çµé¿¡¼­ ¿äûÇÑ È£½ºÆ®¸í°ú ÀÏÄ¡ÇÏ´Â <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>À̳ª
    +    <code>ServerAlias</code>¸¦ ã´Â´Ù. ãÀ¸¸é ±× ¼³Á¤À» »ç¿ëÇÑ´Ù.
    +    ÀûÀýÇÑ °¡»óÈ£½ºÆ®¸¦ ãÁö¸øÇϸé, IP ÁÖ¼Ò¿¡ ÇØ´çÇÏ´Â
    +    <strong>°¡»óÈ£½ºÆ®µéÁß Ã¹¹ø° °Í</strong>À» »ç¿ëÇÑ´Ù.</p>
    +
    +    <p>°á°úÀûÀ¸·Î óÀ½¿¡ ³ª¿Â °¡»óÈ£½ºÆ®°¡ <em>±âº»</em>
    +    °¡»óÈ£½ºÆ®°¡ µÈ´Ù. IP ÁÖ¼Ò°¡ <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> Áö½Ã¾î¿¡ ÇØ´çÇϸé,
    +    <em>ÁÖ¼­¹ö</em>ÀÇ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>´Â
    +    <strong>Àý´ë·Î</strong> »ç¿ëÇÏÁö ¾Ê´Â´Ù. ƯÁ¤ °¡»óÈ£½ºÆ®¿¡
    +    ÇØ´çÇÏÁö¾Ê´Â ¿äûÀ» ¼³Á¤ÇÏ·Á¸é ¼³Á¤À» <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>¿¡ ´ã°í ¼³Á¤ÆÄÀÏ¿¡¼­
    +    ¸ÕÀú ³ª¿Àµµ·Ï ÇÏ¸é µÈ´Ù.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="compat" id="compat">¿À·¡µÈ ºê¶ó¿ìÀú¿Í ȣȯ</a></h2>
    +
    +    <p>ÀÌ¹Ì Àû¾úµíÀÌ À̸§±â¹Ý °¡»óÈ£½ºÆ®°¡ ¿Ã¹Ù·Î µ¿ÀÛÇϱâÀ§ÇØ
    +    ÇÊ¿äÇÑ Á¤º¸¸¦ º¸³»Áö¾Ê´Â Ŭ¶óÀ̾ðÆ®°¡ ÀÖ´Ù. ÀÌ·± Ŭ¶óÀ̾ðÆ®´Â
    +    Ç×»ó ¿äûÇÑ IP ÁÖ¼Ò¿¡ ´ëÇØ Ã¹¹ø°·Î ³ª¿À´Â °¡»óÈ£½ºÆ®
    +    (<cite>ÃÖÃÊÀÇ</cite> À̸§±â¹Ý °¡»óÈ£½ºÆ®)°¡
    +    ¼­ºñ½ºÇÑ´Ù.</p>
    +
    +    <div class="note"><h3>¾ó¸¶³ª ¿À·¡µÈ °ÍÀ» ¸»Çϴ°¡?</h3>
    +    <p>¿©±â¼­ ¿À·¡µÇ¾úÀ½Àº ½ÇÁ¦·Î »ó´çÈ÷ ¿À·¡µÈ °ÍÀ» ¶æÇÑ´Ù.
    +    ¿À´Ã³¯ ÀÌ·± ºê¶ó¿ìÀú¸¦ »ç¿ëÇÒ ÀÏÀº °ÅÀǾø´Ù. ¿äÁò
    +    ºê¶ó¿ìÀú´Â ¸ðµÎ À̸§±â¹Ý °¡»óÈ£½ºÆ®¿¡ ÇÊ¿äÇÑ <code>Host</code>
    +    Çì´õ¸¦ º¸³½´Ù.</p>
    +    </div>
    +
    +    <p>ÀÌ ¹®Á¦´Â ¾à°£ °ÅÃßÀ彺·´Áö¸¸ <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> Áö½Ã¾î·Î ÇØ°áÇÒ ¼ö ÀÖ´Ù:</p>
    +
    +    <p>¼³Á¤ ¿¹:</p>
    +
    +    <div class="example"><p><code>
    +        NameVirtualHost 111.22.33.44<br />
    +        <br />
    +        &lt;VirtualHost 111.22.33.44&gt;<br />
    +        <span class="indent">
    +            ServerName www.domain.tld<br />
    +            ServerPath /domain<br />
    +            DocumentRoot /web/domain<br />
    +        </span>
    +        &lt;/VirtualHost&gt;<br />
    +    </code></p></div>
    +
    +    <p>ÀÌ°Ô ¹«½¼ ¶æÀΰ¡? "<code>/domain</code>"·Î ½ÃÀÛÇÏ´Â
    +    URI¿¡ ´ëÇÑ ¿äûÀº °¡»óÈ£½ºÆ® <code>www.domain.tld</code>°¡
    +    ¼­ºñ½ºÇÑ´Ù.  Áï, <code>Host:</code> Çì´õ¸¦ º¸³»´Â Ŭ¶óÀ̾ðÆ®´Â
    +    <code>http://www.domain.tld/</code>¸¸À¸·Îµµ Á¢±ÙÇÒ ¼ö ÀÖÁö¸¸,
    +    <code>http://www.domain.tld/domain/</code>À¸·Î´Â ¸ðµç
    +    Ŭ¶óÀ̾ðÆ®°¡ ÆäÀÌÁö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.</p>
    +
    +    <p>À̸¦ À§ÇØ ÃÖÃÊÀÇ °¡»óÈ£½ºÆ®¿¡ ÀÖ´Â ÆäÀÌÁö¿¡
    +    <code>http://www.domain.tld/domain/</code>À¸·Î °¡´Â ¸µÅ©¸¦
    +    ³Ö´Â´Ù. ±×¸®°í °¡»óÈ£½ºÆ® ÆäÀÌÁö¿¡¼­´Â »ó´ë¸µÅ© (¿¹¸¦ µé¾î,
    +    "<code>file.html</code>" À̳ª "<code>../icons/image.gif</code>")
    +    ȤÀº ("<code>http://www.domain.tld/domain/misc/file.html</code>"À̳ª
    +    "<code>/domain/misc/file.html</code>"°ú °°ÀÌ) ¾Õ¿¡
    +    <code>/domain/</code>ÀÌ ºÙÀº ¸µÅ©¸¸À» »ç¿ëÇÑ´Ù.</p>
    +
    +    <p>Á¶±Ý ±ÔÄ¢ÀÌ ÇÊ¿äÇÏÁö¸¸ ÀÌ ±ÔÄ¢À» µû¸£¸é ´ëºÎºÐÀÇ °æ¿ì
    +    ¿äÁò °ÍÀ̳ª ¿À·¡µÈ °ÍÀ̳ª °ü°è¾øÀÌ ¸ðµç ºê¶ó¿ìÀú·Î ÆäÀÌÁö¸¦
    +    º¼ ¼ö ÀÖ´Ù.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 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/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/manual/vhosts/name-based.html.tr.utf8 b/docs/manual/vhosts/name-based.html.tr.utf8
    new file mode 100644
    index 0000000..3d51992
    --- /dev/null
    +++ b/docs/manual/vhosts/name-based.html.tr.utf8
    @@ -0,0 +1,238 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!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="tr" xml:lang="tr"><head>
    +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    +<!--
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +              This file is generated from xml source: DO NOT EDIT
    +        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    +      -->
    +<title>İsme Dayalı Sanal Konaklar - Apache HTTP Sunucusu Sürüm 2.4</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.min.js" type="text/javascript">
    +</script>
    +
    +<link href="../images/favicon.ico" rel="shortcut icon" /></head>
    +<body id="manual-page"><div id="page-header">
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
    +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
    +<img alt="" src="../images/feather.png" /></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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>İsme Dayalı Sanal Konaklar</h1>
    +<div class="toplang">
    +<p><span>Mevcut Diller: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    +</div>
    +
    +    <p>Bu belgede isme dayalı sanal konakların ne zaman, nasıl kullanılacakları
    +      açıklanmıştır.</p>
    +</div>
    +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">İsme dayalı ve IP’ye dayalı Sanal Konaklar</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#alg">Sunucu isme dayalı sanal konaklardan uygun olanını nasıl seçer</a></li>
    +<li><img alt="" src="../images/down.gif" /> <a href="#using">İsme Dayalı Sanal Konakların Kullanımı</a></li>
    +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="ip-based.html">IP Adresine Dayalı Sanal Konaklar</a></li><li><a href="details.html">Konak Eşlemenin Derinliğine İncelenmesi</a>
    +</li><li><a href="mass.html">Devingen olarak Yapılandırılan Kütlesel Sanal
    +Barındırma</a></li><li><a href="examples.html">Çok kullanılan sanal konak yapılandırma
    +örnekleri</a></li><li><a href="#comments_section">Yorumlar</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="namevip" id="namevip">İsme dayalı ve IP’ye dayalı Sanal Konaklar</a></h2>
    +
    +    <p><a href="ip-based.html">IP’ye dayalı sanal konaklar</a>da sunulacak
    +      sanal konağı doğru tespit edebilmek için bağlantının yapıldığı IP
    +      adresine bakılır. Bu bakımdan her konak için ayrı bir IP adresine
    +      gereksinim vardır.</p>
    +
    +    <p>İsme dayalı sanal konaklarda ise sunucu, istemcinin HTTP başlığının bir
    +      parçası olarak gönderdiği konak adını kullanır. Bu teknikte aynı IP
    +      adresini çok sayıda farklı konak kullanabilir.</p>
    +
    +    <p>İsme dayalı sanal barındırma nispeten daha kolaydır, çünkü her konak
    +      ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan
    +      sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde
    +      yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten
    +      kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal
    +      konakları kullanmanızı gerektiren donanım kullanmadıkça isme  dayalı
    +      sanal konaklar kullanmalısınız. İstemci uyumuna bağlı IP’ye dayalı
    +      sanal barındırma için eskiden varolan sebepler genel amaçlı bir HTTP
    +      sunucusu için artık uygulanabilir değildir.</p>
    +
    +    <p>İsme dayalı sanal barındırma, IP'ye dayalı sanal barındırma seçim
    +      algoritmasını kullanmaz, yani uygun sunucu ismini arama işlemi sadece en
    +      iyi IP'ye dayalı adrese sahip sanal konaklar arasında gerçekleşir.</p>
    +
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="alg" id="alg">Sunucu isme dayalı sanal konaklardan uygun olanını nasıl seçer</a></h2>
    +  
    +
    +    <p>İsme dayalı sanal konak çözümlemesinin ilk adımının IP'ye dayalı
    +      çözümleme olduğunun anlaşılması çok önemlidir. İsme dayalı sanal konak
    +      çözümlemesi en uygun isme dayalı sanal konağı seçerken önce en iyi IP'ye
    +      dayalı eşleşme adaylarının sayısını azaltır, sonra bunlar arasından en
    +      uygununu seçer. Tüm <code>VirtualHost</code> yönergelerinde IP adresi
    +      yerine joker kullanımı bu IP'ye dayalı eşlemeyi yersiz kılar.</p>
    +
    +    <p>Bir istek geldiğinde, sunucu, istekte kullanılan IP adresi ve portu ile
    +      en iyi eşleşen <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bileşenini bulur. Bu IP adresi ve port çifti ile
    +      eşleşen birden fazla sanal konak varsa, Apache httpd istekte kullanılan
    +      sunucu ismini <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ve
    +      <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> yönergelerindeki
    +      isimlerle karşılaştırır.</p>
    +
    +    <p>Herhangi bir isme dayalı sanal konakta <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesini kullanmazsanız, sunucu
    +      bu yönergeye sistem konak adından türetilmiş tam nitelenmiş alan adının
    +      (FQDN) tanımlandığını varsayacaktır. Bu örtük atama sezgiselliğin
    +      istenmediği bir sanal konak eşleşmesi ile sonuçlanabilir ve bu
    +      önerilmez.</p>
    +
    +  <h3><a name="defaultvhost" id="defaultvhost">Bir IP adresi ve port çifti için öntanımlı isme dayalı sankon</a></h3>
    +   
    +    <p><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ve
    +      <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> yönergelerinde bir
    +      eşleşme bulunamazsa, Apache httpd bu çift ile eşleşen <strong>sanal
    +      konaklar listesindeki ilk sanal konağı</strong> kullanır.</p>
    +  
    +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    +<div class="section">
    +<h2><a name="using" id="using">İsme Dayalı Sanal Konakların Kullanımı</a></h2>
    +
    +<table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
    +
    +    <p>İlk adım sunacağınız her konak için ayrı bir <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümü oluşturmaktır. Her
    +      <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümü
    +      içinde sunulan konağı belirtmek üzere en azından bir adet <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesine ve konak içeriğinin
    +      dosya sisteminde bulunduğu yeri gösteren bir <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> yönergesine ihtiyacınız
    +      olacaktır.</p>
    +
    +    <div class="note"><h3>Ana konağı unutmayın</h3>
    +      <p>Mevcut <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    +        yönergelerinin hiçbiriyle eşleşmeyen bir istek için, sunucu veya konak
    +        ismine bakılmaksızın genel sunucu yapılandırmanız kullanılır.</p>
    +
    +      <p>Mevcut sitenize isme dayalı bir sanal konak eklerseniz ve bu sanal
    +        konak ana sunucunun IP adresi ve portuna sahipse, ana sunucuya yapılan
    +        istekler için bu sanal konak kullanılır. Bu bakımdan, <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesi ana sunucununki ile aynı
    +        olan bir <a href="#defaultvhost">öntanımlı sanal konak</a> oluşturmak
    +        akıllıca olacaktır. Aynı arayüz ve portu kullanan fakat farklı
    +        yapılandırmalara sahip diğer alan isimlerinin sanal konakları (yani
    +        öntanımlı olmayanlar) bu öntanımlı sanal konağın sonrasına
    +        yerleÅŸtirilmelidir.</p>
    +    </div>
    +
    +    <div class="note"><h3>ServerName miras alma</h3>
    +       <p>İsme dayalı her sanal konak için daima bir <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> belirtmek en iyisidir.</p>
    +
    +       <p>Eğer bir <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> bölümü
    +       içinde bir <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
    +       belirtilmezse, sunucu ismi olarak ana sunucu yapılandırmasındaki isim
    +       kullanılır. Orada da bir sunucu ismi belirtilmemişse, başlatma sırasında
    +       dinlenen ilk IP adresinden ters DNS araması ile elde edilen isim
    +       kullanılır. Her iki durumda da miras alınan isim gereksiz yere isme
    +       dayalı sanal konak ismi haline gelecektir; bu bakımdan isme dayalı her
    +       sanal konak için daima bir <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> belirtmek en iyisidir.</p>
    +    </div>
    +
    +    <p>Örnek olarak, <code>site1.example.com</code> adresinden sitenizi
    +      sunmakta olduğunuzu ve bunun yanına aynı IP adresini kullanan
    +      <code>site2.example.com</code> sanal konağını eklemek istediğinizi
    +      varsayalım. Bunun için <code>httpd.conf</code> dosyanıza basitçe şu
    +      satırları ekleyebilirsiniz:</p>
    +
    +    <pre class="prettyprint lang-config">&lt;VirtualHost *:80&gt;
    +    #İlk sanal konak aynı zamanda *:80 için de öntanımlıdır.
    +    ServerName site1.example.com
    +    ServerAlias example.com
    +    DocumentRoot "/siteler/site1"
    +&lt;/VirtualHost&gt;
    +
    +&lt;VirtualHost *:80&gt;
    +    ServerName site2.example.com
    +    DocumentRoot "/siteler/site2"
    +&lt;/VirtualHost&gt;</pre>
    +
    +
    +    <p>İsterseniz, <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> yönergesinde argüman olarak <code>*</code>
    +      yerine doÄŸrudan bir IP adresi belirtebilirsiniz. Hatta, daha sonra, isme
    +      dayalı sanal konakları bir IP adresinden ve IP’ye dayalı olanları veya
    +      isme dayalı diğer bir sanal konak grubunu diğer IP adreslerinden sunmak
    +      isteyebilirsiniz.</p>
    +
    +    <p>Çoğu sunucunun birden fazla isim ile erişilebilir olması istenir. Bu,
    +      <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümü
    +      içine bir <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> yönergesi
    +      yerleştirmek suretiyle mümkün olur. Örneğin yukarıdaki örnekte,
    +      kullanıcıların aynı siteye farklı isimlerle erişmelerini mümkün kılmak
    +      için bölüm içine şu satırı ekleyebilirsiniz:</p>
    +
    +    <pre class="prettyprint lang-config">ServerAlias example.com *.example.com</pre>
    +
    +
    +    <p>Böylece <code>example.com</code> alanındaki tüm konaklar için gelen
    +      isteklere <code>www.example.com</code> sanal konağından hizmet sunulmuş
    +      olur. Konak isimleriyle eşleşmek üzere dosya ismi kalıp karakterleri
    +      <code>*</code> ve <code>?</code> kullanılabilir. Şüphesiz bu isimleri
    +      sırf <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> veya
    +      <code>ServerAlias</code> yönergesinde belirtmiş olmakla bu isimleri
    +      erişilebilir kılamazsınız. Öncelikle, bu isimleri sunucunuzdaki IP
    +      adresleriyle eşlemek üzere yapılandıracağınız bir DNS sunucunuz
    +      olmalıdır.</p>
    +
    +    <p>İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar
    +      yapılandırmada göründükleri sıraya göre işleme sokulur. Joker
    +      kullanımları arasında fark gözetilmeksizin <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> veya <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> yönergesi eşleşen ilk sanal konak
    +      kullanılır.</p>
    +
    +    <p><code>VirtualHost</code> içindeki isimlerin sırası (jokersiz) bir
    +      <code>ServerAlias</code> gibi ele alınır (fakat hiçbir
    +      <code>ServerAlias</code> yönergesi ile geçersiz kılınmaz).</p>
    +
    +    <p>Son olarak, sanal konak yapılandırmanıza, <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümlerinin içine başka yönergeler
    +      yerleştirerek ince ayar çekebilirsiniz. Çoğu yönerge bu bölümlere
    +      yerleştirilebilir ve sadece o sanal konakla ilgili yapılandırmayı
    +      değiştirmek için kullanılabilir. Belli bir yönergenin sanal konak
    +      bölümlerinde kullanılıp kullanılmayacağını yönergenin açıklamasında <a href="../mod/directive-dict.html#Context">Bağlam</a> satırına bakarak
    +      öğrenebilirsiniz. <em>Ana sunucu bağlamındaki</em> (<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümleri dışındaki)
    +      yapılandırma yönergelerinden sadece sanal konak bölümlerinde geçersiz
    +      kılınmamış olanlar kullanılacaktır.</p>
    +
    +</div></div>
    +<div class="bottomlang">
    +<p><span>Mevcut Diller: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
    +<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    +<a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
    +<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    +<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    +<a href="../tr/vhosts/name-based.html" title="Türkçe">&nbsp;tr&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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
    +<script type="text/javascript"><!--//--><![CDATA[//><!--
    +var comments_shortname = 'httpd';
    +var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
    +(function(w, d) {
    +    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    +        d.write('<div id="comments_thread"><\/div>');
    +        var s = d.createElement('script');
    +        s.type = 'text/javascript';
    +        s.async = true;
    +        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    +        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    +    }
    +    else { 
    +        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    +    }
    +})(window, document);
    +//--><!]]></script></div><div id="footer">
    +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
    +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
    +if (typeof(prettyPrint) !== 'undefined') {
    +    prettyPrint();
    +}
    +//--><!]]></script>
    +</body></html>
    \ No newline at end of file
    diff --git a/docs/server-status/README.md b/docs/server-status/README.md
    new file mode 100644
    index 0000000..ddb876d
    --- /dev/null
    +++ b/docs/server-status/README.md
    @@ -0,0 +1,40 @@
    +server-status
    +=============
    +
    +`mod_lua` version of the Apache httpd's mod_status using dynamic charts
    +
    +## What does it do? ##
    +This script is an extended version of the known mod_status statistics page for httpd.
    +It uses the simple Quokka Chart API to visualize many of the elements that are sometimes hard 
    +to properly diagnose using plain text information.
    +
    +Take a look at https://www.apache.org/server-status to see how it works.
    +
    +## Requirements ##
    +* Apache httpd 2.4.6 or higher
    +* mod_lua (with either Lua 5.1, 5.2 or LuaJIT)
    +* mod_status loaded (for enabling traffic statistics)
    +
    +## Installing ##
    +First, install mod_lua (you can enable this during configure time with --enable-lua)
    +
    +### Installing as a handler:
    +To install it as a handler, add the following to your httpd.conf in the appropriate VirtualHost:
    +
    +    LuaMapHandler ^/server-status$ /path/to/server-status.lua
    +    
    +### Installing as a web app:
    +To install as a plain web-app, enable .lua scripts to be handled by mod_lua, by adding the following 
    +to your appropriate VirtualHost configuration:
    +
    +    AddHandler lua-script .lua
    +
    +Then just put the `.lua` script somewhere in your document root and visit the page.
    +
    +## Configuring
    +There are a few options inside the Lua script that can be set to `true` or `false`:
    +
    +- `show_warning`: Whether or not to show a notice that this page is there on purpose.
    +- `redact_ips`: Whether or not to replace the last few bits of every IP with 'x.x'
    +- `show_modules`: Whether to show the list of loaded modules or not
    +- `show_threads`: Whether to show thread details or not.
    diff --git a/docs/server-status/feather.png b/docs/server-status/feather.png
    new file mode 100644
    index 0000000..a1d0786
    Binary files /dev/null and b/docs/server-status/feather.png differ
    diff --git a/docs/server-status/server-status.lua b/docs/server-status/server-status.lua
    new file mode 100644
    index 0000000..323a699
    --- /dev/null
    +++ b/docs/server-status/server-status.lua
    @@ -0,0 +1,1901 @@
    +--[[
    +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.
    +]]
    +
    +--[[ mod_lua implementation of the server-status page ]]
    +local ssversion = "0.11" -- version of this script
    +local redact_ips = true -- whether to replace the last two bits of every IP with 'x.x'
    +local warning_banner = [[
    +    <div style="float: left; color: #222; margin-bottom: 8px; margin-top: 24px; text-align: center; width: 200px; font-size: 0.7rem; border: 1px dashed #333; background: #F8C940;">
    +        <h3 style="margin: 4px; font-size: 1rem;">Don't be alarmed - this page is here for a reason!</h3>
    +        <p style="font-weight: bolder; font-size: 0.8rem;">This is an example server status page for the Apache HTTP Server. Nothing on this server is secret, no URL tokens, no sensitive passwords. Everything served from here is static data.</p>
    +    </div>
    +]]
    +local show_warning = true -- whether to display the above warning/notice on the page
    +local show_modules = false -- Whether to list loaded modules or not
    +local show_threads = true -- whether to list thread information or not
    +
    +-- pre-declare some variables defined at the bottom of this script:
    +local status_js, status_css, quokka_js
    +
    +-- quick and dirty JSON conversion
    +local function quickJSON(input)
    +    if type(input) == "table" then
    +        local t = 'array'
    +        for k, v in pairs(input) do
    +            if type(k) ~= "number" then
    +                t = 'hash'
    +                break
    +            end
    +        end
    +        
    +        if t == 'hash' then
    +            local out = ""
    +            local tbl = {}
    +            for k, v in pairs(input) do
    +                local kv = ([["%s": %s]]):format(k, quickJSON(v))
    +                table.insert(tbl, kv)
    +            end
    +            return "{" .. table.concat(tbl, ", ") .. "}"
    +        else
    +            local tbl = {}
    +            for k, v in pairs(input) do
    +                table.insert(tbl, quickJSON(v))
    +            end
    +            return "[" .. table.concat(tbl, ", ") .. "]"
    +        end
    +    elseif type(input) == "string" then
    +        return ([["%s"]]):format(input:gsub('"', '\\"'):gsub("[\r\n\t]", " "))
    +    elseif type(input) == "number" then
    +        return tostring(input)
    +    elseif type(input) == "boolean" then
    +        return (input and "true" or "false")
    +    else
    +        return "null"
    +    end
    +end
    +
    +-- Module information callback
    +local function modInfo(r, modname)
    +    if modname then
    +            r:puts [[
    +    <!DOCTYPE html>
    +    <html>
    +      <head>
    +        <meta charset="utf-8">
    +        <style>
    +        ]]
    +        r:puts (status_css)
    +        r:puts [[
    +        </style>
    +        <title>Module information</title>
    +      </head>
    +    
    +      <body>
    +    ]]
    +        r:puts( ("<h3>Details for module %s</h3>\n"):format(r:escape_html(modname)) )
    +        -- Queries the server for information about a module
    +        local mod = r.module_info(modname)
    +        if mod then
    +            for k, v in pairs(mod.commands) do
    +                -- print out all directives accepted by this module
    +                r:puts( ("<b>%s:</b> %s<br>\n"):format(r:escape_html(k), v))
    +            end
    +        end
    +        -- HTML tail
    +        r:puts[[
    +      </body>
    +    </html>
    +    ]]
    +    end
    +end
    +
    +-- Function for generating server stats
    +function getServerState(r, verbose)
    +    local state = {}
    +    
    +    state.mpm = {
    +        type = "prefork", -- default to prefork until told otherwise
    +        threadsPerChild = 1,
    +        threaded = false,
    +        maxServers = r.mpm_query(12),
    +        activeServers = 0
    +    }
    +    if r.mpm_query(14) == 1 then
    +        state.mpm.type = "event" -- this is event mpm
    +    elseif r.mpm_query(3) >= 1 then
    +        state.mpm.type = "worker" -- it's not event, but it's threaded, we'll assume worker mpm (could be motorz??)
    +    elseif r.mpm_query(2) == 1 then
    +        state.mpm.type = "winnt" -- it's threaded, but not worker nor event, so it's probably winnt
    +    end
    +    if state.mpm.type ~= "prefork" then
    +        state.mpm.threaded = true -- it's threaded
    +        state.mpm.threadsPerChild = r.mpm_query(6) -- get threads per child proc
    +    end
    +    
    +    state.processes = {} -- list of child procs
    +    state.connections = { -- overall connection info
    +        idle = 0,
    +        active = 0
    +    }
    +    -- overall server stats
    +    state.server = {
    +        connections = 0,
    +        bytes = 0,
    +        built = r.server_built,
    +        localtime = os.time(),
    +        uptime = os.time() - r.started,
    +        version = r.banner,
    +        host = r.server_name,
    +        modules = nil,
    +        extended = show_threads, -- whether extended status is available or not
    +    }
    +    
    +    -- if show_modules is true, add list of modules to the JSON
    +    if show_modules then
    +        state.server.modules = {}
    +        for k, module in pairs(r:loaded_modules()) do
    +            table.insert(state.server.modules, module)
    +        end
    +    end
    +    
    +    -- Fetch process/thread data
    +    for i=0,state.mpm.maxServers-1,1 do
    +        local server = r.scoreboard_process(r, i);
    +        if server then
    +            local s = {
    +                active = false,
    +                pid = nil,
    +                bytes = 0,
    +                stime = 0,
    +                utime = 0,
    +                connections = 0,
    +            }
    +            local tstates = {}
    +            if server.pid then
    +                state.connections.idle = state.connections.idle + (server.keepalive or 0)
    +                s.connections = 0
    +                if server.pid > 0 then
    +                    state.mpm.activeServers = state.mpm.activeServers + 1
    +                    s.active = true
    +                    s.pid = server.pid
    +                end
    +                for j = 0, state.mpm.threadsPerChild-1, 1 do
    +                    local worker = r.scoreboard_worker(r, i, j)
    +                    if worker then
    +                        s.stime = s.stime + (worker.stimes or 0);
    +                        s.utime = s.utime + (worker.utimes or 0);
    +                        if verbose and show_threads then
    +                            s.threads = s.threads or {}
    +                            table.insert(s.threads, {
    +                                bytes = worker.bytes_served,
    +                                thread = ("0x%x"):format(worker.tid),
    +                                client = redact_ips and (worker.client or "???"):gsub("[a-f0-9]+[.:]+[a-f0-9]+$", "x.x") or worker.client or "???",
    +                                cost = ((worker.utimes or 0) + (worker.stimes or 0)),
    +                                count = worker.access_count,
    +                                vhost = worker.vhost:gsub(":%d+", ""),
    +                                request = worker.request,
    +                                last_used = math.floor(worker.last_used/1000000)
    +                            })
    +                        end
    +                        state.server.connections = state.server.connections + worker.access_count
    +                        s.bytes = s.bytes + worker.bytes_served
    +                        s.connections = s.connections + worker.access_count
    +                        if server.pid > 0 then
    +                            tstates[worker.status] = (tstates[worker.status] or 0) + 1
    +                        end
    +                    end
    +                end
    +            end
    +            
    +            s.workerStates = {
    +                keepalive = (server.keepalive > 0) and server.keepalive or tstates[5] or 0,
    +                closing = tstates[8] or 0,
    +                idle = tstates[2] or 0,
    +                writing = tstates[4] or 0,
    +                reading = tstates[3] or 0,
    +                graceful = tstates[9] or 0
    +            }
    +            table.insert(state.processes, s)
    +            state.server.bytes = state.server.bytes + s.bytes
    +            state.connections.active = state.connections.active + (tstates[8] or 0) + (tstates[4] or 0) + (tstates[3] or 0)
    +        end
    +    end
    +    return state
    +end
    +
    +-- Handler function
    +function handle(r)
    +    
    +    -- Parse GET data, if any, and set content type
    +    local GET = r:parseargs()
    +    
    +    if GET['module'] then
    +        modInfo(r, GET['module'])
    +        return apache2.OK
    +    end
    +
    +
    +    -- If we only need the stats feed, compact it and hand it over
    +    if GET['view'] and GET['view'] == "json" then
    +        local state = getServerState(r, GET['extended'] == 'true')
    +        r.content_type = "application/json"
    +        r:puts(quickJSON(state))
    +        return apache2.OK
    +    end
    +    
    +    if not GET['resource'] then
    +    
    +        local state = getServerState(r, show_threads)
    +        
    +        -- Print out the HTML for the front page
    +        r.content_type = "text/html"
    +        r:puts ( ([=[
    +    <!DOCTYPE html>
    +    <html>
    +      <head>
    +        <meta charset="utf-8">
    +        <!-- Stylesheet -->
    +        <link href="?resource=css" rel="stylesheet">
    +        
    +        <!-- JavaScript-->
    +        <script type="text/javascript" src="?resource=js"></script>
    +        
    +        <title>Server status for %s</title>
    +      </head>
    +    
    +      <body onload="refreshCharts(false);">
    +        <div class="wrapper" id="wrapper">
    +            <div class="navbarLeft">
    +                <img align='absmiddle' src='?resource=feather' width="15" height="30"/>
    +                Apache HTTPd
    +            </div>
    +            <div class="navbarRight">Status for %s on %s</div>
    +            <div style="clear: both;"></div>
    +            <div class="serverinfo" id="leftpane">
    +                <ul id="menubar">
    +                    <li>
    +                        <a class="btn active" id="dashboard_button" href="javascript:void(showPanel('dashboard'));">Dashboard</a>
    +                    </li>
    +                    <li>
    +                        <a class="btn" id="misc_button" href="javascript:void(showPanel('misc'));">Server Info</a>
    +                    </li>
    +                    <li>
    +                        <a class="btn" id="threads_button" style="display: none;" href="javascript:void(showPanel('threads'));">Show thread information</a>
    +                    </li>
    +                    <li>
    +                        <a class="btn" id="modules_button" style="display: none;" href="javascript:void(showPanel('modules'));">Show loaded modules</a>
    +                    </li>
    +                </ul>
    +                
    +                <!-- warning --> %s <!-- /warning -->
    +                
    +            </div>
    +            
    +            <!-- dashboard -->
    +            <div class="charts" id="dashboard_panel">
    +            
    +                <div class="infobox_wrapper" style="clear: both; width: 100%%;">
    +                    <div class="infobox_title">Quick Stats</div>
    +                    <div class="infobox" id="general_stats">
    +                    </div>
    +                </div>
    +                <div class="infobox_wrapper" style="width: 100%%;">
    +                    <div class="infobox_title">Charts</div>
    +                    <div class="infobox">
    +                        <!--Div that will hold the pie chart-->
    +                        <canvas id="actions_div" width="1400" height="400" class="canvas_wide"></canvas>
    +                        <canvas id="status_div" width=580" height="400" class="canvas_narrow"></canvas>
    +                        <canvas id="traffic_div" width="1400" height="400" class="canvas_wide"></canvas>
    +                        <canvas id="idle_div" width="580" height="400" class="canvas_narrow"></canvas>
    +                        <canvas id="connection_div" width="1400" height="400" class="canvas_wide"></canvas>
    +                        <canvas id="cpu_div" width="580" height="400" class="canvas_narrow"></canvas>
    +                        <div style="clear: both"></div>
    +                    </div>
    +                </div>
    +            </div>
    +            
    +            <!-- misc server info -->
    +            <div class="charts" id="misc_panel" style="display: none;">
    +                <div class="infobox_wrapper" style="clear: both; width: 100%%;">
    +                    <div class="infobox_title">General server information</div>
    +                    <div class="infobox" style='padding: 16px; width: calc(100%% - 32px);' id="server_breakdown">
    +                    </div>
    +                </div>
    +            </div>
    +            
    +            <!-- thread info -->
    +            <div class="charts" id="threads_panel" style="display: none;">
    +                <div class="infobox_wrapper" style="clear: both; width: 100%%;">
    +                    <div class="infobox_title">Thread breakdown</div>
    +                    <div class="infobox" style='padding: 16px; width: calc(100%% - 32px);' id="threads_breakdown">
    +                    </div>
    +                </div>
    +            </div>
    +            
    +            <!-- module info -->
    +            <div class="charts" id="modules_panel" style="display: none;">
    +                <div class="infobox_wrapper" style="clear: both; width: 100%%;">
    +                    <div class="infobox_title">Modules loaded</div>
    +                    <div class="infobox" style='padding: 16px; width: calc(100%% - 32px);' id="modules_breakdown">
    +                    blabla
    +                    </div>
    +                </div>
    +            </div>
    +            
    +            
    +        </div>
    +    
    +    
    +    ]=]):format(
    +        r.server_name,
    +        r.banner,
    +        r.server_name,
    +        show_warning and warning_banner or ""
    +        ) );
    +        -- HTML tail
    +        r:puts[[
    +        </body>
    +      </html>
    +      ]]
    +    else
    +        -- Resource documents (CSS, JS, PNG)
    +        if GET['resource'] == 'js' then
    +            r.content_type = "application/javascript"
    +            r:puts(quokka_js)
    +            r:puts(status_js)
    +        elseif GET['resource'] == 'css' then
    +            r.content_type = "text/css"
    +            r:puts(status_css)
    +        elseif GET['resource'] == 'feather' then
    +            r.content_type = "image/png"
    +            r:write(r:base64_decode('iVBORw0KGgoAAAANSUhEUgAAACUAAABACAYAAACdp77qAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QEWECwoSXwjUAAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAlvSURBVGje7Zl7cFXVFcZ/a50bHhIRAQWpICSEgGKEUKAUgqKDWsBBHBFndKzYKdAWlWkDAlUEkfIogyAUxfqqdYqP1scg2mq1QLCiIC8LhEeCPDQwoWAgBHLvOXv1j3PvJQRQAjfgH90zmXvu3nv2/u73fWutvU/gHLX9C3IBOLCgc9MDz+S+dGB+l6B0Tu7re2d1bgawd0bn5Fw5F4D+uyCXJsNXs//pzi1U5SMg25zgYkYQY4s76ro3H7/2m8R8PRegmgxfTenTnS8R1SIgG0AERAQR2kma/gFgz7Rrah/UvwdfnpCucUR1KVAvLo4hFj4qiNDz6yk56c3Hrqt9UG3aXxbaw/gz0CHebcBhANE4RKW+RrwW50S+yyavtF0P5T7nH6IfxxCVAWlJCUOmVDXsqzVQW+/PAWDXmC53I9wXO0hgQRh8QClQN7G7KKAEiFTWKqiINuTL/Nzmzsk8c4qL4vkV5kRtjXhkiRKYTyyosCBWTix6gIP+odieWgG1eVi30EtzlhNEvfctkItcAC5QjpTI24d3cP2hbRYt24KW7yCtogQvup80d5SSFpO+KN817pray1NbR3Sbqx4jRUE8ANuunlWKWntRQOy4+Wb201bT17xUa8lz833d+4vKG+JRR9Qg/HvGi8gwEUPU4jkqPgZBy2mrI1XXSKl8G+/60UXOl6nmU8fFwPmCxeQFAumf+O58xQWCc4L5ijkmAKzLz0ktqPW39ghliOk0i+nVzhfMBxdjrQukmfn6gxCQ4Pxj4IJA9vlRferw9O5cM3N96kCt+Uk3ct76hPUDe1xvASNCMIKLaWAxPreAvs4H8wXzBRfTquCey5i96sDevdHj1kyJp1b3657uqbdBlFaSyD0ehepZiXj0EQE8IzEW5ibbD35O1oLPv6q+3lkxVdCqF2tv6om/L21YEJVWxxgAF7PnnS95LhaXLaYhg/HxwGd01oLPv9o6ousJ654xUx+37UXPbctZntHrAo3IoUhT57wGRMQDUXtTlXT16EtVdrzEs/tnh5dX9N10b3c6vPhp6kAlTwJZee8BN+Ph6jQzxOMI6h7ROjJL1FCpKhmIx0Y8rqtXP1qa+fyqk1eEswG0PCPvDkNuFgAf9cvwvQa2SOrog64SJBKyg4GYodjbR0t1YRC1uletWHXKdc+IqaVt8vA8GoAsBbokKz4c8RoFz4onw8SjLkrMnPkSUN8CVltMWksailjOl4e/2XXHhg2pAwVQkJE3SFTeqFYvloryDSIDxWGYCRruIl7SU38N6kaH9Fz5qTvV2jWOvmUZvcNfIzqr+pjDppjJQHPgMEElRGRhMrUo5qK8+G2Aagxqaca19C5exrKM3sMNWlcl2rDZgk6oKoIzw6qKYnz648KCxf/pdCMpA3Vt8VKWtO6djsgUA5yBmWAmBzEpFqFXdXeYJebZKudzM8CesrJvP4/V2EyeN8zgYjCEJBMfCfIzi98Fqh9NgM8Cx7O9txeUfZyZR8+igtSAej/jJpRYuqFDwFQAw8WBua0gvSV+KxAST2Bmu0TEU5VGwHcCqpF8Nxb/AyStY4B2C9A4HA+H7gY9YkjjkLtQLhfKiqAtMfaA/0RBZt7pHadPZ9Litv3pv20xvsk4EUHjsikOQ/IV7ylJWtoQXPIuhdm7ecXLBtTEIaedpxZn9WsuTkpUDMzF049txmyeCnMlDiZx0VPMGW6rwGHn3KDrthfsPN29vlO+11vdEuYg5z1sooTSeTgUH53hRGc4BJfsFwzFoQpetiH7agLotOQbvHMRsxoNVMNudxY3sRgBtlPMtTGR+s4szg4IHsdYE4BJNQ3w0zJ66ybaN8BrGIS3RgJTnGmhE69ngEcgHiaKk/g4SoBHgBRGrd6Kf2X2IaVMAQR4XRWrHxaNUCDMPlBkvAAqQhBPAxr3Vdz4T91U/K6r8WX2uya8mjG4rsENAWHUCYpguxH2gFwsOMyMMCrBiZdIDHtx+saZFPtvle/lNkMw1YhDe1jczAGK73Sow5tzzOBKYAlZBRfKO69f8Xu7P7xqQGpB3b39VQInVzu0rksmTN1pKi0c2jiIgwzwsOSzEhibBxS98/iizAHcsOEdUi6fE++2KrkHzP6kovnJs0GyBiaizspA+gPcUvQOKZcvfHfTsI9ZMveUG1IRoO2rMJewt8Wjc8RtxW8WvZlx6xkfs08ANbZF/nHfK6XeD4+SFljola8C0aaGprl46Cc+DXFm3D+46G+vvJZ5O4OK3zpjUCctM4+3ze+LBR+CXZqmXkk9dzRo6Mo9wc0RoYtAL5FE+TUEK4xY5d0rtXNhRummil+W/cXOFNCKNh31OKbym8VZcm4dXmQRGslxCBVaX3wU37n5zqSXQ3CJaHMy+q6ihR12asvmza30nrMBlLRx9Z7JV4zikR2zmdxu9DwxrhWhY/jWJpjfyB00xX4FVgq8fkDS58a0XoM0/IfF7Iox257InZn5gOQXPXlWwE55Snis3ZjOgiwDSxcMM3IFW4WgDm+XYFEPawQ0EXOFmN0wbtusr1PxbuKU0Tdhy4w1TmSTieKQzwLx+gQa0TD0aQlkOmhi8Nrho0c6Hah0JdMyR6XmnWn1jvyMhyJpaXVaTt08eXsgskyQrghLnOlQFTAxxAwxyh3MFyNWt/4FPR7fMnNJKgCNHPngpScwVX60IhCzluPbP7zYiTfQiUYdXomptkiWFVGcajqio0xs6SNbZi55ZciClLAkIrkngLrwokvEx9aZ6UZncplDyn3TSmfS0InGDKIOqXDIQt/k0ke3/P6DCW1/w52vDk8FS8ydO/vvxxl9VPajEQ86RoQ7wZaJ0UOgsQkHwDYolAD+7wonL6+t/1KMHPlg90i1UHRmbJy+edJYgNEdJo5R828DvcSht0wrnLQwMXdc1jimbp1aG7h2nHLk19mPXZ7f/rEXkgGQPTGPc9ROmRLM006B6PtxQMzcPLEgP3viOQF10uR5/1VTEBgL8taTG8YXco7bCUw90OMZ5m74LQFeVnj7/Z604VdOv/IXV86Yeb72P6mnTL0RvvA236d2Z8dJRQCjOs0+L/t71Tuubz9qUCXR3UWlnxSs2HMhsPGcgzqhIJdZ+R0Vh4/eE3+TcP49lZM9tFEMt2/TjpdjXdv+/LzZJ8nU1Vn3IkgGsBZg5bY/ct6j74utL2JYJtjOnHZDz2ugHZ8SjKYYK9ZveeH7kwpy2t2r/L+dvP0P/Tla8usTzhIAAAAASUVORK5CYII='))
    +        end
    +    end
    +    return apache2.OK;
    +end
    +
    +
    +------------------------------------
    +-- JavaScript and CSS definitions --
    +------------------------------------
    +
    +-- Set up some JavaScripts:
    +status_js = [==[
    +Number.prototype.pad = function(size) {
    +    var str = String(this);
    +    while (str.length < size) {
    +        str = "0" + str;
    +    }
    +    return str;
    +}
    +
    +function getAsync(theUrl, xstate, callback) {
    +    var xmlHttp = null;
    +    if (window.XMLHttpRequest) {
    +	xmlHttp = new XMLHttpRequest();
    +    } else {
    +	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    +    }
    +    xmlHttp.open("GET", theUrl, true);
    +    xmlHttp.send(null);
    +    xmlHttp.onreadystatechange = function(state) {
    +        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
    +            if (callback) {
    +                callback(JSON.parse(xmlHttp.responseText));
    +            }
    +            
    +        }
    +    }
    +}
    +
    +var actionCache = [];
    +var connectionCache = [];
    +var trafficCache = [];
    +var processes = {};
    +var lastBytes = 0;
    +var lastConnections = 0;
    +var negativeBytes = 0; // cache for proc reloads, which skews traffic
    +var updateSpeed = 5; // How fast do charts update?
    +var maxRecords = 24; // How many records to show per chart
    +var cpumax = 1000000; // random cpu max(?)
    +
    +function refreshCharts(json, state) {
    +    if (json && json.processes) {
    +        
    +        
    +        
    +         // general server info box
    +        var gs = document.getElementById('server_breakdown');
    +        gs.innerHTML = "";
    +        gs.innerHTML += "<b>Server version: </b>" + json.server.version + "<br/>";
    +        gs.innerHTML += "<b>Server built: </b>" + json.server.built + "<br/>";
    +        gs.innerHTML += "<b>Server MPM: </b>" + json.mpm.type + " <span id='mpminfo'></span><br/>";
    +        
    +        
    +        // Get a timestamp
    +        var now = new Date();
    +        var ts = now.getHours().pad(2) + ":" + now.getMinutes().pad(2) + ":" + now.getSeconds().pad(2);
    +        
    +        var utime = 0;
    +        var stime = 0;
    +        
    +        // Construct state based on proc details
    +        var state = {
    +            timestamp: ts,
    +            closing: 0,
    +            idle: 0,
    +            writing: 0,
    +            reading: 0,
    +            keepalive: 0,
    +            graceful: 0
    +        }
    +        for (var i in json.processes) {
    +            var proc = json.processes[i];
    +            if (proc.pid) {
    +                state.closing += proc.workerStates.closing||0;
    +                state.idle += proc.workerStates.idle||0;
    +                state.writing += proc.workerStates.writing||0;
    +                state.reading += proc.workerStates.reading||0;
    +                state.keepalive += proc.workerStates.keepalive||0;
    +                state.graceful += proc.workerStates.graceful||0;
    +                utime += proc.utime;
    +                stime += proc.stime;
    +            }
    +        }
    +        
    +        // Push action state entry into action cache with timestamp
    +        // Shift if more than 10 entries in cache
    +        actionCache.push(state);
    +        if (actionCache.length > maxRecords) {
    +            actionCache.shift();
    +        }
    +        
    +        // construct array for QuokkaLines
    +        var arr = [];
    +        for (var i in actionCache) {
    +            var el = actionCache[i];
    +            if (json.mpm.type == 'event') {
    +            arr.push([el.timestamp, el.closing, el.idle, el.writing, el.reading, el.graceful]);
    +            } else {
    +                arr.push([el.timestamp, el.keepalive, el.closing, el.idle, el.writing, el.reading, el.graceful]);
    +            }
    +        }
    +        var states = ['Keepalive', 'Closing', 'Idle', 'Writing', 'Reading', 'Graceful']
    +        if (json.mpm.type == 'event') {
    +            states.shift();
    +            if (document.getElementById('mpminfo')) {
    +                document.getElementById('mpminfo').innerHTML = "(" + fn(parseInt(json.connections.idle)) + " connections in idle keepalive)";
    +            }
    +        }
    +        // Draw action chart
    +        quokkaLines("actions_div", states, arr, { lastsum: true, hires: true, nosum: true, stack: true, curve: true, title: "Thread states" } );
    +        
    +        
    +        // Get traffic, figure out how much it was this time (0 if just started!)
    +        var bytesThisTurn = 0;
    +        var connectionsThisTurn = 0;
    +        for (var i in json.processes) {
    +            var proc = json.processes[i];
    +            var pid = proc.pid
    +            // if we haven't seen this proc before, ignore its bytes first time
    +            if (!processes[pid]) {
    +                processes[pid] = {
    +                    bytes: proc.bytes,
    +                    connections: proc.connections,
    +                }
    +            } else {
    +                bytesThisTurn += proc.bytes - processes[pid].bytes;
    +                if (pid) {
    +                    x = proc.connections - processes[pid].connections;
    +                    connectionsThisTurn += (x > 0) ? x : 0;
    +                }
    +                processes[pid].bytes = proc.bytes;
    +                processes[pid].connections = proc.connections;
    +            }
    +        }
    +        
    +        if (lastBytes == 0 ) {
    +            bytesThisTurn = 0;
    +        }
    +        lastBytes = 1;
    +
    +        // Push a new element into cache, prune cache
    +        var el = {
    +            timestamp: ts,
    +            bytes: bytesThisTurn/updateSpeed
    +        };
    +        trafficCache.push(el);
    +        if (trafficCache.length > maxRecords) {
    +            trafficCache.shift();
    +        }
    +        
    +        // construct array for QuokkaLines
    +        arr = [];
    +        for (var i in trafficCache) {
    +            var el = trafficCache[i];
    +            arr.push([el.timestamp, el.bytes]);
    +        }
    +        // Draw action chart
    +        quokkaLines("traffic_div", ['Traffic'], arr, { traffic: true, hires: true, nosum: true, stack: true, curve: true, title: "Traffic per second" } );
    +        
    +        
    +        // Get connections per second
    +        // Push a new element into cache, prune cache
    +        var el = {
    +            timestamp: ts,
    +            connections: (connectionsThisTurn+1)/updateSpeed
    +        };
    +        connectionCache.push(el);
    +        if (connectionCache.length > maxRecords) {
    +            connectionCache.shift();
    +        }
    +        
    +        // construct array for QuokkaLines
    +        arr = [];
    +        for (var i in connectionCache) {
    +            var el = connectionCache[i];
    +            arr.push([el.timestamp, el.connections]);
    +        }
    +        // Draw connection chart
    +        quokkaLines("connection_div", ['Connections/sec'], arr, { traffic: false, hires: true, nosum: true, stack: true, curve: true, title: "Connections per second" } );
    +        
    +        
    +        // Thread info
    +        quokkaCircle("status_div", [
    +        { title: 'Active', value: (json.mpm.threadsPerChild*json.mpm.activeServers)},
    +        { title: 'Reserve', value: (json.mpm.threadsPerChild*(json.mpm.activeServers-json.mpm.maxServers))}
    +        ],
    +            { title: "Worker pool", hires: true});
    +        
    +        // Idle vs active connections
    +        var idlecons = json.connections.idle;
    +        var activecons = json.connections.active;
    +        quokkaCircle("idle_div", [
    +            { title: 'Idle', value: idlecons},
    +            { title: 'Active', value: activecons},
    +            ],
    +            { hires: true, title: "Idle vs active connections"});
    +        
    +        
    +        // CPU info
    +        while ( (stime+utime) > cpumax ) {
    +            cpumax = cpumax * 2;
    +        }
    +
    +        quokkaCircle("cpu_div", [
    +            { title: 'Idle', value: (cpumax - stime - utime) / (cpumax/100)},
    +            { title: 'System', value: stime/(cpumax/100)},
    +            { title: 'User', value: utime/(cpumax/100)}
    +            ],
    +            { hires: true, title: "CPU usage", pct: true});
    +        
    +        
    +        
    +        
    +        
    +        
    +        // General stats infobox
    +        var gstats = document.getElementById('general_stats');
    +        gstats.innerHTML = ''; // wipe the box
    +        
    +            // Days since restart
    +            var u_f = Math.floor(json.server.uptime/8640.0) / 10;
    +            var u_d = Math.floor(json.server.uptime/86400);
    +            var u_h = Math.floor((json.server.uptime%86400)/3600);
    +            var u_m = Math.floor((json.server.uptime%3600)/60);
    +            var u_s = Math.floor(json.server.uptime %60);
    +            var str =  u_d + " day" + (u_d != 1 ? "s, " : ", ") + u_h + " hour" + (u_h != 1 ? "s, " : ", ") + u_m + " minute" + (u_m != 1 ? "s" : "");
    +            var ubox = document.createElement('div');
    +            ubox.setAttribute("class", "statsbox");
    +            ubox.innerHTML = "<span style='font-size: 2rem;'>" + u_f + " days</span><br/><i>since last (re)start.</i><br/><small>" + str;
    +            gstats.appendChild(ubox);
    +            
    +            
    +            // Bytes transferred in total
    +            var MB = fnmb(json.server.bytes);
    +            var KB = (json.server.bytes > 0) ? fnmb(json.server.bytes/json.server.connections) : 0;
    +            var KBs = fnmb(json.server.bytes/json.server.uptime);
    +            var mbbox = document.createElement('div');
    +            mbbox.setAttribute("class", "statsbox");
    +            mbbox.innerHTML = "<span style='font-size: 2rem;'>" + MB + "</span><br/><i>transferred in total.</i><br/><small>" + KBs + "/sec, " + KB + "/request";
    +            gstats.appendChild(mbbox);
    +            
    +            // connections in total
    +            var cons = fn(json.server.connections);
    +            var cps = Math.floor(json.server.connections/json.server.uptime*100)/100;
    +            var conbox = document.createElement('div');
    +            conbox.setAttribute("class", "statsbox");
    +            conbox.innerHTML = "<span style='font-size: 2rem;'>" + cons + " conns</span><br/><i>since server started.</i><br/><small>" + cps + " requests per second";
    +            gstats.appendChild(conbox);
    +            
    +            // threads working
    +            var tpc = json.mpm.threadsPerChild;
    +            var activeThreads = fn(json.mpm.activeServers * json.mpm.threadsPerChild);
    +            var maxThreads = json.mpm.maxServers * json.mpm.threadsPerChild;
    +            var tbox = document.createElement('div');
    +            tbox.setAttribute("class", "statsbox");
    +            tbox.innerHTML = "<span style='font-size: 2rem;'>" + activeThreads + " threads</span><br/><i>currently at work (" + json.mpm.activeServers + "x" + tpc+" threads).</i><br/><small>" + maxThreads + " (" + json.mpm.maxServers + "x"+tpc+") threads allowed.";
    +            gstats.appendChild(tbox);
    +        
    +        
    +        
    +        window.setTimeout(waitTwo, updateSpeed*1000);
    +        
    +        // resize pane
    +        document.getElementById('leftpane').style.height = document.getElementById('wrapper').getBoundingClientRect().height + "px";
    +        
    +        // Do we have extended info and module lists??
    +        if (json.server.extended) document.getElementById('threads_button').style.display = 'block';
    +        if (json.server.modules && json.server.modules.length > 0) {
    +            var panel = document.getElementById('modules_breakdown');
    +            var list = "<ul>";
    +            for (var i in json.server.modules) {
    +                var mod = json.server.modules[i];
    +                list += "<li>" + mod + "</li>";
    +            }
    +            list += "</ul>";
    +            panel.innerHTML = list;
    +            
    +            document.getElementById('modules_button').style.display = 'block';
    +        }
    +       
    +        
    +    } else if (json === false) {
    +        waitTwo();
    +    }
    +}
    +
    +function refreshThreads(json, state) {
    +    var box = document.getElementById('threads_breakdown');
    +    box.innerHTML = "";
    +    for (var i in json.processes) {
    +        var proc = json.processes[i];
    +        var phtml = '<div style="color: #DDF">';
    +        if (!proc.active) phtml = '<div title="this process is inactive" style="color: #999;">';
    +        phtml += "<h3>Process " + i + ":</h3>";
    +        phtml += "<b>PID:</b> " + (proc.pid||"None (not active)") + "<br/>";
    +        if (proc.threads && proc.active) {
    +            phtml += "<table style='width: 800px; color: #000;'><tr><th>Thread ID</th><th>Access count</th><th>Bytes served</th><th>Last Used</th><th>Last client</th><th>Last request</th></tr>";
    +            for (var j in proc.threads) {
    +                var thread = proc.threads[j];
    +                thread.request = (thread.request||"(Unknown)").replace(/[<>]+/g, "");
    +                phtml += "<tr><td>"+thread.thread+"</td><td>"+thread.count+"</td><td>"+thread.bytes+"</td><td>"+thread.last_used+"</td><td>"+thread.client+"</td><td>"+thread.request+"</td></tr>";
    +            }
    +            phtml += "</table>";
    +        } else {
    +            phtml += "<p>No thread information available</p>";
    +        }
    +        phtml += "</div>";
    +        box.innerHTML += phtml;
    +    }
    +}
    +
    +function waitTwo() {
    +    getAsync(location.href + "?view=json&rnd=" + Math.random(), null, refreshCharts)
    +}
    +
    +    function showPanel(what) {
    +        var items = ['dashboard','misc','threads','modules'];
    +        for (var i in items) {
    +            var item = items[i];
    +            var btn = document.getElementById(item+'_button');
    +            var panel = document.getElementById(item+'_panel');
    +            if (item == what) {
    +                btn.setAttribute("class", "btn active");
    +                panel.style.display = 'block';
    +            } else {
    +                btn.setAttribute("class", "btn");
    +                panel.style.display = 'none';
    +            }
    +        }
    +        
    +        // special constructors
    +        if (what == 'threads') {
    +            getAsync(location.href + "?view=json&extended=true&rnd=" + Math.random(), null, refreshThreads)
    +        }
    +    }
    +    
    +    function fn(num) {
    +        num = num + "";
    +        num = num.replace(/(\d)(\d{9})$/, '$1,$2');
    +        num = num.replace(/(\d)(\d{6})$/, '$1,$2');
    +        num = num.replace(/(\d)(\d{3})$/, '$1,$2');
    +        return num;
    +    }
    +
    +    function fnmb(num) {
    +        var add = "bytes";
    +        var dec = "";
    +        var mul = 1;
    +        if (num > 1024) { add = "KB"; mul= 1024; }
    +        if (num > (1024*1024)) { add = "MB"; mul= 1024*1024; }
    +        if (num > (1024*1024*1024)) { add = "GB"; mul= 1024*1024*1024; }
    +        if (num > (1024*1024*1024*1024)) { add = "TB"; mul= 1024*1024*1024*1024; }
    +        num = num / mul;
    +        if (add != "bytes") {
    +            dec = "." + Math.floor( (num - Math.floor(num)) * 100 );
    +        }
    +        return ( fn(Math.floor(num)) + dec + " " + add );
    +    }
    +
    +    function sort(a,b){
    +        last_col = -1;
    +        var sort_reverse = false;
    +        var sortWay = a.getAttribute("sort_" + b);
    +        if (sortWay && sortWay == "forward") {
    +            a.setAttribute("sort_" + b, "reverse");
    +            sort_reverse = true;
    +        }
    +        else {
    +            a.setAttribute("sort_" + b, "forward");
    +        }
    +        var c,d,e,f,g,h,i;
    +        c=a.rows.length;
    +        if(c<1){ return; }
    +        d=a.rows[1].cells.length;
    +        e=1;
    +        var j=new Array(c);
    +        f=0;
    +        for(h=e;h<c;h++){
    +            var k=new Array(d);
    +            for(i=0;i<d;i++){
    +                cell_text="";
    +                cell_text=a.rows[h].cells[i].textContent;
    +                if(cell_text===undefined){cell_text=a.rows[h].cells[i].innerText;}
    +                k[i]=cell_text;
    +            }
    +            j[f++]=k;
    +        }
    +        var l=false;
    +        var m,n;
    +        if(b!=lastcol) lastseq="A";
    +        else{
    +            if(lastseq=="A") lastseq="D";
    +            lastseq="A";
    +        }
    +
    +        g=c-1;
    +
    +        for(h=0;h<g;h++){
    +            l=false;
    +            for(i=0;i<g-1;i++){
    +                m=j[i];
    +                n=j[i+1];
    +                if(lastseq=="A"){
    +                    var gt = (m[b]>n[b]) ? true : false;
    +                    var lt = (m[b]<n[b]) ? true : false;
    +                    if (n[b].match(/^(\d+)$/)) { gt = parseInt(m[b], 10) > parseInt(n[b], 10) ? true : false; lt = parseInt(m[b], 10) < parseInt(n[b], 10) ? true : false; }
    +                    if (sort_reverse) {gt = (!gt); lt = (!lt);}
    +                    if(gt){
    +                        j[i+1]=m;
    +                        j[i]=n;
    +                        l=true;
    +                    }
    +                }
    +                else{
    +                    if(lt){
    +                        j[i+1]=m;
    +                        j[i]=n;
    +                        l=true;
    +                    }
    +                }
    +            }
    +            if(l===false){
    +                break;
    +            }
    +        }
    +        f=e;
    +        for(h=0;h<g;h++){
    +            m=j[h];
    +            for(i=0;i<d;i++){
    +                if(a.rows[f].cells[i].innerText!==undefined){
    +                    a.rows[f].cells[i].innerText=m[i];
    +                }
    +                else{
    +                    a.rows[f].cells[i].textContent=m[i];
    +                }
    +            }
    +            f++;
    +        }
    +        lastcol=b;
    +    }
    +
    +    
    +    var CPUmax =            1000000;
    +    
    +    
    +    var showing = false;
    +    function showDetails() {
    +        for (i=1; i < 1000; i++) {
    +            var obj = document.getElementById("srv_" + i);
    +            if (obj) {
    +                if (showing) { obj.style.display = "none"; }
    +                else { obj.style.display = "block"; }
    +            }
    +        }
    +        var link = document.getElementById("show_link");
    +        showing = (!showing);
    +        if (showing) { link.innerHTML = "Hide thread information"; }
    +        else { link.innerHTML = "Show thread information"; }
    +    }
    +
    +    var showing_modules = false;
    +    function show_modules() {
    +
    +        var obj = document.getElementById("modules");
    +        if (obj) {
    +            if (showing_modules) { obj.style.display = "none"; }
    +            else { obj.style.display = "block"; }
    +        }
    +        var link = document.getElementById("show_modules_link");
    +        showing_modules = (!showing_modules);
    +        if (showing_modules) { link.innerHTML = "Hide loaded modules"; }
    +        else { link.innerHTML = "Show loaded modules"; }
    +    }
    +]==]
    +
    +quokka_js = [==[
    +/*
    + * 
    + * Licensed 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.
    + */
    +
    +// Traffic shaper
    +function quokka_fnmb(num) {
    +    var add = "b";
    +    var dec = "";
    +    var mul = 1;
    +    if (num > 1024) { add = "KB"; mul= 1024; }
    +    if (num > (1024*1024)) { add = "MB"; mul= 1024*1024; }
    +    if (num > (1024*1024*1024)) { add = "GB"; mul= 1024*1024*1024; }
    +    if (num > (1024*1024*1024*1024)) { add = "TB"; mul= 1024*1024*1024*1024; }
    +    num = num / mul;
    +    if (add != "b" && num < 10) {
    +        dec = "." + Math.floor( (num - Math.floor(num)) * 100 );
    +    }
    +    return ( Math.floor(num) + dec + " " + add );
    +}
    +
    +// Hue, Saturation and Lightness to Red, Green and Blue:
    +function quokka_internal_hsl2rgb (h,s,l)
    +{
    +    var min, sv, switcher, fract, vsf;
    +    h = h % 1;
    +    if (s > 1) s = 1;
    +    if (l > 1) l = 1;
    +    var v = (l <= 0.5) ? (l * (1 + s)) : (l + s - l * s);
    +    if (v === 0)
    +        return { r: 0, g: 0, b: 0 };
    +
    +    min = 2 * l - v;
    +    sv = (v - min) / v;
    +    var sh = (6 * h) % 6;
    +    switcher = Math.floor(sh);
    +    fract = sh - switcher;
    +    vsf = v * sv * fract;
    +
    +    switch (switcher)
    +    {
    +        case 0: return { r: v, g: min + vsf, b: min };
    +        case 1: return { r: v - vsf, g: v, b: min };
    +        case 2: return { r: min, g: v, b: min + vsf };
    +        case 3: return { r: min, g: v - vsf, b: v };
    +        case 4: return { r: min + vsf, g: min, b: v };
    +        case 5: return { r: v, g: min, b: v - vsf };
    +    }
    +    return {r:0, g:0, b: 0};
    +}
    +
    +// RGB to Hex conversion
    +function quokka_internal_rgb2hex(r, g, b) {
    +    return "#" + ((1 << 24) + (Math.floor(r) << 16) + (Math.floor(g) << 8) + Math.floor(b)).toString(16).slice(1);
    +}
    +
    +
    +// Generate color list used for charts
    +var colors = [];
    +var rgbs = []
    +var numColorRows = 6;
    +var numColorColumns = 20;
    +for (var x=0;x<numColorRows;x++) {
    +    for (var y=0;y<numColorColumns;y++) {
    +        var rnd = [[148, 221, 119], [0, 203, 171], [51, 167, 215] , [35, 160, 253], [218, 54, 188], [16, 171, 246], [110, 68, 206], [21, 49, 248], [142, 104, 210]][y]
    +        var color = quokka_internal_hsl2rgb(y > 8 ? (Math.random()) : (rnd[0]/255), y > 8 ? (0.75+(y*0.05)) : (rnd[1]/255), y > 8 ? (0.42 + (y*0.05*(x/numColorRows))) : (0.1 + rnd[2]/512));
    +        
    +        // Light (primary) color:
    +        var hex = quokka_internal_rgb2hex(color.r*255, color.g*255, color.b*255);
    +        
    +        // Darker variant for gradients:
    +        var dhex = quokka_internal_rgb2hex(color.r*131, color.g*131, color.b*131);
    +        
    +        // Medium variant for legends:
    +        var mhex = quokka_internal_rgb2hex(color.r*200, color.g*200, color.b*200);
    +        
    +        colors.push([hex, dhex, color, mhex]);
    +    }
    +}
    +
    +
    +/* Function for drawing pie diagrams
    + * Example usage:
    + * quokkaCircle("canvasName", [ { title: 'ups', value: 30}, { title: 'downs', value: 70} ] );
    + */
    +
    +function quokkaCircle(id, tags, opts) {
    +    // Get Canvas object and context
    +    var canvas = document.getElementById(id);
    +    var ctx=canvas.getContext("2d");
    +    
    +    // Calculate the total value of the pie
    +    var total = 0;
    +    var k;
    +    for (k in tags) {
    +        tags[k].value = Math.abs(tags[k].value);
    +        total += tags[k].value;
    +    }
    +    
    +    
    +    
    +    // Draw the empty pie
    +    var begin = 0;
    +    var stop = 0;
    +    var radius = (canvas.height*0.75)/2;
    +    ctx.clearRect(0, 0, canvas.width, canvas.height);
    +    ctx.beginPath();
    +    ctx.shadowBlur = 6;
    +    ctx.shadowOffsetX = 6;
    +    ctx.shadowOffsetY = 6;
    +    ctx.shadowColor = "#555";
    +    ctx.lineWidth = (opts && opts.hires) ? 6 : 2;
    +    ctx.strokeStyle = "#222";
    +    ctx.arc((canvas.width-140)/2,canvas.height/2,radius, 0, Math.PI * 2);
    +    ctx.closePath();
    +    ctx.stroke();
    +    ctx.fill();
    +    ctx.shadowBlur = 0;
    +    ctx.shadowOffsetY = 0;
    +    ctx.shadowOffsetX = 0;
    +    
    +    
    +    // Draw a title if set:
    +    if (opts && opts.title) {
    +        ctx.font= (opts && opts.hires) ? "28px Sans-Serif" : "15px Sans-Serif";
    +        ctx.fillStyle = "#000000";
    +        ctx.textAlign = "center";
    +        ctx.fillText(opts.title,(canvas.width-140)/2, (opts && opts.hires) ? 30:15);
    +        ctx.textAlign = "left";
    +    }
    +    
    +    ctx.beginPath();
    +    var posY = 50;
    +    var left = 120 + ((canvas.width-140)/2) + ((opts && opts.hires) ? 40 : 25)
    +    for (k in tags) {
    +        var val = tags[k].value;
    +        stop = stop + (2 * Math.PI * (val / total));
    +        
    +        // Make a pizza slice
    +        ctx.beginPath();
    +        ctx.lineCap = 'round';
    +        ctx.arc((canvas.width-140)/2,canvas.height/2,radius,begin,stop);
    +        ctx.lineTo((canvas.width-140)/2,canvas.height/2);
    +        ctx.closePath();
    +        ctx.lineWidth = 0;
    +        ctx.stroke();
    +        
    +        // Add color gradient
    +        var grd=ctx.createLinearGradient(0,canvas.height*0.2,0,canvas.height);
    +        grd.addColorStop(0,colors[k % colors.length][1]);
    +        grd.addColorStop(1,colors[k % colors.length][0]);
    +        ctx.fillStyle = grd;
    +        ctx.fill();
    +        begin = stop;
    +        
    +        // Make color legend
    +        ctx.fillRect(left, posY-((opts && opts.hires) ? 15 : 10), (opts && opts.hires) ? 14 : 7, (opts && opts.hires) ? 14 : 7);
    +        
    +        // Add legend text
    +        ctx.shadowColor = "rgba(0,0,0,0)"
    +        ctx.font= (opts && opts.hires) ? "22px Sans-Serif" : "12px Sans-Serif";
    +        ctx.fillStyle = "#000";
    +        ctx.fillText(tags[k].title + " (" + Math.floor(val) + (opts && opts.pct ? "%" : "") + ")",left+20,posY);
    +        
    +        posY += (opts && opts.hires) ? 28 : 14;
    +    }
    +    
    +}
    +
    +
    +/* Function for drawing line charts
    + * Example usage:
    + * quokkaLines("myCanvas", ['Line a', 'Line b', 'Line c'], [ [x1,a1,b1,c1], [x2,a2,b2,c2], [x3,a3,b3,c3] ], { stacked: true, curve: false, title: "Some title" } );
    + */
    +function quokkaLines(id, titles, values, options, sums) {
    +    var canvas = document.getElementById(id);
    +    var ctx=canvas.getContext("2d");
    +    // clear the canvas first
    +    ctx.clearRect(0, 0, canvas.width, canvas.height);
    +    
    +    
    +
    +
    +    ctx.lineWidth = 0.25;
    +    ctx.strokeStyle = "#000000";
    +    
    +    var lwidth = 300;
    +    var lheight = 75;
    +    wspace = (options && options.hires) ? 110 : 55;
    +    var rectwidth = canvas.width - lwidth - wspace;
    +    var stack = options ? options.stack : false;
    +    var curve = options ? options.curve : false;
    +    var title = options ? options.title : null;
    +    var spots = options ? options.points : false;
    +    var noX = options ? options.nox : false;
    +    var verts = options ? options.verts : true;
    +    if (noX) {
    +        lheight = 0;
    +    }
    +    
    +    
    +    // calc rectwidth if titles are large
    +    var nlwidth = 0
    +    for (var k in titles) {
    +        ctx.font= (options && options.hires) ? "24px Sans-Serif" : "12px Sans-Serif";
    +        ctx.fillStyle = "#00000";
    +        var x = parseInt(k)
    +        if (!noX) {
    +            x = x + 1;
    +        }
    +        var sum = 0
    +        for (var y in values) {
    +            sum += values[y][x]
    +        }
    +        var t = titles[k] + (!options.nosum ? " (" + ((sums && sums[k]) ? sums[k] : sum.toFixed(0)) + ")" : "");
    +        var w = ctx.measureText(t).width + 48;
    +        if (w > lwidth && w > nlwidth) {
    +            nlwidth = w
    +        }
    +        if (nlwidth > 0) {
    +            rectwidth -= nlwidth - lwidth
    +            lwidth = nlwidth
    +        }
    +    }
    +    
    +    // Draw a border
    +    ctx.lineWidth = 0.5;
    +    ctx.strokeRect((wspace*0.75), 30, rectwidth, canvas.height - lheight - 40);
    +    
    +    // Draw a title if set:
    +    if (title != null) {
    +        ctx.font= (options && options.hires) ? "24px Sans-Serif" : "15px Sans-Serif";
    +        ctx.fillStyle = "#00000";
    +        ctx.textAlign = "center";
    +        ctx.fillText(title,rectwidth/2, 20);
    +    }
    +    
    +    // Draw legend
    +    ctx.textAlign = "left";
    +    var posY = 50;
    +    for (var k in titles) {
    +        var x = parseInt(k)
    +        if (!noX) {
    +            x = x + 1;
    +        }
    +        var sum = 0
    +        for (var y in values) {
    +            sum += values[y][x]
    +        }
    +        
    +        var title = titles[k] + (!options.nosum ? (" (" + ((sums && sums[k]) ? sums[k] : sum.toFixed(0)) + ")") : "");
    +        if (options && options.lastsum) {
    +            title = titles[k] + " (" + values[values.length-1][x].toFixed(0) + ")";
    +        }
    +        ctx.fillStyle = colors[k % colors.length][3];
    +        ctx.fillRect(wspace + rectwidth + 75 , posY-((options && options.hires) ? 18:9), (options && options.hires) ? 20:10, (options && options.hires) ?20:10);
    +        
    +        // Add legend text
    +        ctx.font= (options && options.hires) ? "24px Sans-Serif" : "14px Sans-Serif";
    +        ctx.fillStyle = "#00000";
    +        ctx.fillText(title,canvas.width - lwidth + ((options && options.hires) ? 100:60), posY);
    +        
    +        posY += (options && options.hires) ? 30:15;
    +    }
    +    
    +    // Find max and min
    +    var max = null;
    +    var min = 0;
    +    var stacked = null;
    +    for (x in values) {
    +        var s = 0;
    +        for (y in values[x]) {
    +            if (y > 0 || noX) {
    +                s += values[x][y];
    +                if (max === null || max < values[x][y]) {
    +                    max = values[x][y];
    +                }
    +                if (min === null || min > values[x][y]) {
    +                    min = values[x][y];
    +                }
    +            }
    +        }
    +        if (stacked === null || stacked < s) {
    +            stacked = s;
    +        }
    +    }
    +    if (min == max) max++;
    +    if (stack) {
    +        min = 0;
    +        max = stacked;
    +    }
    +    
    +    
    +    // Set number of lines to draw and each step
    +    var numLines = 5;
    +    var step = (max-min) / (numLines+1);
    +    
    +    // Prettify the max value so steps aren't ugly numbers
    +    if (step %1 != 0) {
    +        step = (Math.round(step+0.5));
    +        max = step * (numLines+1);
    +    }
    +    
    +    // Draw horizontal lines
    +    
    +    for (x = -1; x <= numLines; x++) {
    +        ctx.beginPath();
    +        var y = 30 + (((canvas.height-40-lheight) / (numLines+1)) * (x+1));
    +        ctx.moveTo(wspace*0.75, y);
    +        ctx.lineTo(wspace*0.75 + rectwidth, y);
    +        ctx.lineWidth = 0.25;
    +        ctx.stroke();
    +        
    +        // Add values
    +        ctx.font= (options && options.hires) ? "20px Sans-Serif" : "12px Sans-Serif";
    +        ctx.fillStyle = "#000000";
    +        
    +        var val = Math.round( ((max-min) - (step*(x+1))) );
    +        if (options && options.traffic) {
    +            val = quokka_fnmb(val);
    +        }
    +        ctx.textAlign = "left";
    +        ctx.fillText( val,canvas.width - lwidth - 20, y+8);
    +        ctx.textAlign = "right";
    +        ctx.fillText( val,wspace-32, y+8);
    +        ctx.closePath();
    +    }
    +    
    +    
    +    
    +    // Draw vertical lines
    +    var sx = 1
    +    var numLines = values.length-1;
    +    var step = (canvas.width - lwidth - wspace*0.75) / values.length;
    +    while (step < 24) {
    +        step *= 2
    +        sx *= 2
    +    }
    +    
    +    
    +    if (verts) {
    +        ctx.beginPath();
    +        for (var x = 1; x < values.length; x++) {
    +            if (x % sx == 0) {
    +                var y = (wspace*0.75) + (step * (x/sx));
    +                ctx.moveTo(y, 30);
    +                ctx.lineTo(y, canvas.height - 10 - lheight);
    +                ctx.lineWidth = 0.25;
    +                ctx.stroke();
    +            }
    +        }
    +        ctx.closePath();
    +    }
    +    
    +    
    +    
    +    // Some pre-calculations of steps
    +    var step = (rectwidth) / (values.length > 1 ? values.length-1:1);
    +    
    +    // Draw X values if noX isn't set:
    +    if (noX != true) {
    +        ctx.beginPath();
    +        for (var i = 0; i < values.length; i++) {
    +            zz = 1
    +            var x = (wspace*0.75) + ((step) * i);
    +            var y = canvas.height - lheight + 5;
    +            if (i % sx == 0) {
    +                ctx.translate(x, y);
    +                ctx.moveTo(0,0);
    +                ctx.lineTo(0,-15);
    +                ctx.stroke();
    +                ctx.rotate(45*Math.PI/180);
    +                ctx.textAlign = "left";
    +                var val = values[i][0];
    +                if (val.constructor.toString().match("Date()")) {
    +                    val = val.toDateString();
    +                }
    +                ctx.fillText(val.toString(), 0, 0);
    +                ctx.rotate(-45*Math.PI/180);
    +                ctx.translate(-x,-y);
    +            }
    +        }
    +        ctx.closePath();
    +        
    +    }
    +    
    +    
    +    
    +    
    +    // Draw each line
    +    var stacks = [];
    +    var pstacks = [];
    +    for (k in values) { if (k > 0) { stacks[k] = 0; pstacks[k] = canvas.height - 40 - lheight; }}
    +    
    +    for (k in titles) {
    +        var maxY = 0, minY = 99999;
    +        ctx.beginPath();
    +        var color = colors[k % colors.length][0];
    +        var f = parseInt(k) + 1;
    +        if (noX) {
    +            f = parseInt(k);
    +        }
    +        var value = values[0][f];
    +        var step = rectwidth / numLines;
    +        var x = (wspace*0.75);
    +        var y = (canvas.height - 10 - lheight) - (((value-min) / (max-min)) * (canvas.height - 40 - lheight));
    +        var py = y;
    +        if (stack) {
    +            stacks[0] = stacks[0] ? stacks[0] : 0
    +            y -= stacks[0];
    +            pstacks[0] = stacks[0];
    +            stacks[0] += (((value-min) / (max-min)) * (canvas.height - 40 - lheight));
    +        }
    +        
    +        // Draw line
    +        ctx.moveTo(x, y);
    +        var pvalY = y;
    +        var pvalX = x;
    +        for (var i in values) {
    +            if (i > 0) {
    +                x = (wspace*0.75) + (step*i);
    +                var f = parseInt(k) + 1;
    +                if (noX == true) {
    +                    f = parseInt(k);
    +                }
    +                value = values[i][f];
    +                y = (canvas.height - 10 - lheight) - (((value-min) / (max-min)) * (canvas.height - 40 - lheight));
    +                if (stack) {
    +                    y -= stacks[i];
    +                    pstacks[i] = stacks[i];
    +                    stacks[i] += (((value-min) / (max-min)) * (canvas.height - 40- lheight));
    +                }
    +                if (y > maxY) maxY = y;
    +                if (y < minY) minY = y;
    +                // Draw curved lines??
    +                /* We'll do: (x1,y1)-----(x1.5,y1)
    +                 *                          |
    +                 *                       (x1.5,y2)-----(x2,y2)
    +                 * with a quadratic beizer thingy
    +                */
    +                if (curve) {
    +                    ctx.bezierCurveTo((pvalX + x) / 2, pvalY, (pvalX + x) / 2, y, x, y);
    +                    pvalX = x;
    +                    pvalY = y;
    +                }
    +                // Nope, just draw straight lines
    +                else {
    +                    ctx.lineTo(x, y);
    +                }
    +                if (spots) {
    +                    ctx.fillStyle = color;
    +                    ctx.translate(x-2, y-2);
    +                    ctx.rotate(-45*Math.PI/180);
    +                    ctx.fillRect(-2,1,4,4);
    +                    ctx.rotate(45*Math.PI/180);
    +                    ctx.translate(-x+2, -y+2);
    +                }
    +            }
    +        }
    +        
    +        ctx.lineWidth = 4;
    +        ctx.strokeStyle = color;
    +        ctx.stroke();
    +        
    +        
    +        if (minY == maxY) maxY++;
    +        
    +        // Draw stack area
    +        if (stack) {
    +            ctx.globalAlpha = 0.65;
    +            for (i in values) {
    +                if (i > 0) {
    +                    var f = parseInt(k) + 1;
    +                    if (noX == true) {
    +                        f = parseInt(k);
    +                    }
    +                    x = (wspace*0.75) + (step*i);
    +                    value = values[i][f];
    +                    y = (canvas.height - 10 - lheight) - (((value-min) / (max-min)) * (canvas.height - 40 - lheight));
    +                    y -= stacks[i];
    +                }
    +            }
    +            var pvalY = y;
    +            var pvalX = x;
    +            if (y > maxY) maxY = y;
    +            if (y < minY) minY = y;
    +            for (i in values) {
    +                var l = values.length - i - 1;
    +                x = (wspace*0.75) + (step*l);
    +                y = canvas.height - 10 - lheight - pstacks[l];
    +                if (y > maxY) maxY = y;
    +                if (y < minY) minY = y;
    +                if (curve) {
    +                    ctx.bezierCurveTo((pvalX + x) / 2, pvalY, (pvalX + x) / 2, y, x, y);
    +                    pvalX = x;
    +                    pvalY = y;
    +                }
    +                else {
    +                    ctx.lineTo(x, y);
    +                }
    +            }
    +            ctx.lineTo((wspace*0.75), py - pstacks[0]);
    +            ctx.lineWidth = 0;
    +            var grad = ctx.createLinearGradient(0, minY, 0, maxY);
    +            grad.addColorStop(0.25, colors[k % colors.length][0])
    +            grad.addColorStop(1, colors[k % colors.length][1])
    +            ctx.strokeStyle = colors[k % colors.length][0];
    +            ctx.fillStyle = grad;
    +            ctx.fill();
    +            ctx.fillStyle = "#000"
    +            ctx.strokeStyle = "#000"
    +            ctx.globalAlpha = 1;
    +        }
    +        ctx.closePath();
    +    }
    +    
    +    // draw feather
    +    base_image = new Image();
    +    base_image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAEACAYAAAB7+X6nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACJQAAAiUBweyXgQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7Z13vBXF2ce/z+65hUuxYUNEuFyaF0EEwRaDPRobKsYSW0w0auwKWBKPFUEs0ddujJpEDWo0aiyxYBcEgqKXJsJFEQuitFvP2XneP07b0+utnN/nA/fs7MyzszO/eZ5nnpndFYrocNC7q7s1SMNvUY40qsNQa3NVvkGZbYw+02Ndl6fEW9OciSxp6coWUVg03Fd5hqreoipboaAKqAT/Bv6pUmtUzt78kqX/TSevSIAOgrX39Nmi1PI8BhwORHe4ESJkCP9Vo/xlM2m6QC5Z2ZBMbpEAHQAbHqiqttU8h1IVTozq8BgCmMh5VX3H+Dlyy0nL1iWSXSRAO0f9fVV7gvkPsEXUibgRL7EawEUGmec4Zr9EJLBa/haKyBUN9/ffD8yrxHY+BIauxCcRmyyA6AjLtp7TO6vKYsUUCdBOUX9f5TGq+jLQPVkeCf4nCciQAGPXNzI5oYwi2hc23tv/dEv0IcBOmTGdGTBucyCoomI4dLNJS18NiShqgHaGjfdWnizwF9J1fhrEaYfAUBcVHvj2lmFdQ/mKBGhHqLuv6ghB/kqm/eLq3IT2Pwoaytun3DScG0otEqCdYMO9VWNRnQ6UQHBqlwHE/SN6tCeH6oV6/8gSKBKgXaDu7srdbfR5oDw/SRr5mUo7CDv8tOang6BIgDZH4wOVA7HkRU3h7adEgtGeoMND08FwolgyHsCT00WLKAjqH6zq7fj1TWCbvARJ5I9ClCJInl+OUA34iEW0AfTu6m71dsO7qOyaKp9Iut5Eg9M+SRcWJmaqaDlmUNEEtAHUi1VvNf49XednAAM0EWUIogkTmgYmChb5LWt0kQBtgLptK6cBR+UpRoF1QHki7z+pahd1O4cjiwRoZdTdV3WmIBfnK0dgAa41grDjl+lUMJC3d17RpiKyw8b7+h0kKk+Q1exLEnhqMhMYQjBmkKxcXIqGJQKgsLZIgFbChrsHDLEsXgEqsi0bQ4D/AdsCPaMzEWP+JcEvV0rAEviLJqAV8NXF1Vs2fCc3omyep6gvAr4+fRKedTt8ZBQW7lkkQAtDx2OXlvr+bpoY529gXk4yAmHhDcBHKCOT5YvfB0BSfyCYZIoEaGF8XzngJoVDARpX2yZHMUZV7wCOy7xITPwgRjsE4RQJ0IL4dsKgIxW5PHSshpH+OvkoWzmCTBVLTiWl00e2u4RAij5Ai+H7y4cMQPQxYtq+cY10RclGEzxv0EqUnTLJnGQfQLK8RQK0BL66uHcXx3L+CWwWe06NVDdvsD7IUNRSFZkpcHymy8MxVwv8SU6GjcXFoBZAaVnFvaqMSHa+6UfZobQHPlKr9AYR/RPKw4WqlwAqkRmjwrdFDVBgfDNx4HmqnJYmW7+mn6z3U+ZQuUBVLiHbPQJZ7BISdFWRAAXENxMGjsZwa2gFLhWa18lglPqEJ1X/ArodMCo6ubC7hASWFQlQIHx1cfWWOPJPVMrCT+WEiJCYDNs1rrFnJkhfatk8gvDHwtQsyS4hARUWFwlQAKgXy8b/hCp9CTyJE/6nMU/quOGrY7ga1rqSmsSyfm2M9X9Aac4VSrVLSDHGx0qnQf6njnxWdAILgFU/DbpchIPB1ccanIoFvS4NnolSz8pWjT9Yb3TZxhwAICJXqjFHAMPzrZOq1pkm62vjkzW+Rmk2zZSpw1ao9AF6A1tt+1P3T4sEyBOrLhg8UpXrFA2stiXYmiGQlAj+ehmjDt+JzceIvI/qe6mupyqBXUKKUSOrjY/VpknWOc3i8zdLifrpoYbtCSwWDUwuiP/JA3N9RQLkgdUTBnVvbuBJoJTgKg1uIgT/JiSCashT79bwnfV2t16+PxjDSwoGP98ZR9aroc7x0ag+mo0fNX6rBIduGLbUwIpg6F/WUJgJxU2heaGpjruBKgTX6I8QgVBSIiKE1uRV8TXx8PoVpaersiMB259zx2YOKRIgH6z8/aDjUTkldBzu3PDoT6DyQ0QI/hVAVR7H0oVqeALJw/HLDurxBOIQxV3BOaD2t4P62R7rY6AHouH4uzvyEk4LnwsSITo6s9o2zbuY0pLHgf1jzrUkZm83ZcloKD4YkjXUO9YjlvUPlB6RbdYSfhoX11O5UVNAE5wWmqi0c9Qu/SVG9o87l3Y3eO4QlRdCv4smIEt8tfLba0Vkz7AaT2D7wwM4pe3nSUv97xiPvTC0QcftF0TJLrRGMPw79LNoArLAl2cO2VfhTZHgo9spVX6QErFqPRCF+8H2+apNecktoKfGnHPldz3KVTgi1Gw3ZcnQ0EFRA2SIFSftsgXG+RuCHRn9kQ6KHuWBBA33pkb1naLnaknJEFU9JaoMLgdRcbFBw4985esnKPKY+7hIgAyhHv9DwShaJC2kuENE0IDzD9FEQII+QsBhfLrBcp6vwPMJRiQmJoC7WEA2uPdxJYwoZg7HUedxd0KRABlgxak7/1rhmLCDFmX7XUQIdZuLCODuI/mh2Wf/obycKxQGRc6F/YIASaJkE/6RNrScHi/2nrp0pTuhSIA0+PKEQb0clT8HuyicHj/vj6h8NxHc837gDyW200MME4MZo2ICRJXOMLQcqz1SEEGE/4tNK04D08DxlDyIYcvA8m5gyodrmTdutc8QnBZKJC3Qc//a8f6F0xHuVZXyqDLBpeOoqWSS6WX8NRNMLxNOIfXzbW5e8kZsalEDpMCyk4aeqY4eFvtoVqa2XyVIAtF14jfnf332kFNQDkjgF7hkB+XkEVpONIVUlTslATWKBEiCz08e1hu/My3c0GEbTEa2P5oz8scusKHBYUpI50ap/BS2P9vQcpgIrjqJxXoP8mii+yyagARQEPGZh1Rlc1yqPCq6F2UGQipfoiOBgc0hc/tsWHBPo1hXAduF1Xisyk6k8mOvqUQiirGmJ86MROpjVB7ZeuriDYnutRgISoBlx1afp5YEHCZ3IAZwv2cneQAomA+MKntZJfZqcBYglCUNDrnKh66TSHZ0XYCgvLj4QCSvT7EG9Lp14YpE91rUADFYNH5YP4PcHLWfL2oUSnAUxqYTM/oF1Lq7398WzBI101DKwg6ikfjRG6dZXBrBJTu5ExivPYJ5H03W+VDUAFFQL9ayT3aZocK+uEaqJBiFMSM9ZvQD8C0lJUPE+EYg+mZCbREsn2j0Jh79SfImkhk4dhxjDdnxzoWfJ7vnogZwYen/drnIKPtqjA2NtsHEjNrEtl/g0r51Azag3B7vF7j/ScbTy4RaIcUU0ihPpOp8KBIgjIXjhg8EbojqgBARTAoihJd+XURQ3t3pHzVP1JbV/FaV4THnwrLjzUAMEQzJiZDejKhHrSnp7rtoAggo+88P3+U1hODuXBI5U8EfaZxAMFiMwSn73CppXIIE3wHoluM2G7FyotI0gRlIqfLdPfp077sXjU9370UNACw5bNiZqBwQpfKTRt9cTmCiEarc3//Jz+aIp/FPqmyTcJSaaI2Q0AlMFFHMfArpWOr8KZN73+Q1wLIjh27r91kLVQJv3IqM/tROYJRGIJz+k1PaPNAypZvZUINometcQs0SNdLTTi8zm0KqcF+fexeek8n9b/IawNcsd6qyRba2X+Nsv6CqVw96YskPluEOVcqS2f5oJzBz25/hFLLOOFyX6f1v0hpg4cHDDxf0hWQ2GGJHv8anRf5+WlUyeMQXLPi5qLyRUE6M7U8+vYy3/YmnkPHaQy25bqf7F1yTaRtsshrgk4OHdRXlzsjolTS2n8QbO0P/0MuofkoxckfCMG0C258wtBxl++Onl6m0h6h+X+FzpmXTDpvsYlCpXyar0A8hauUNIOGCS7CcuP4Prbyp8sqgFz7771IZdiroLgQe3QosDCnuDT1BrohrYUkj6UQGd7g8rtc6hssHMsZuSjFY12/9cE3CmH8ybJImoGb/4aMt+ACwUzteyVW+K81xjI4wXc3i0iZrIRaV0bJinMmkJsZlHpKo/DRTyJrVJV1GjHpgri+bttjkTMCMsWM9YuR+NWIXYuVNDH8d8tKnn5Y22ucClfEqO6LKU5mYhCo/lRmJrreqI+dn2/mwCWqA+fsMv8Rjy61A4kBK6G8iRy04ml1pdeq3BzqbN68vabC+QNgmxapc6uml67oSrFPi8sSMfgWRv/V9rObUrBoiiE1KA8wbMmaAs8bzezU057fyFk6bNvi1eatK6q0JqGzjPpdwNTHV9DJquhejEZJoj6ATuB5jJubaJpuUBvjfoFH/QTjM09W8a1eYnwE5234RvtPyxgG2r6Lc4HyB0D2jhzoKZPtD5dXi/Mq/18Rt9swUm4wGmDdo1FEoh6Hg32hXYmiOC6RkYfvV0asGP794g1FzDUr3qBBtFrafbG1/dJ0/XbFy6/vyaZdNQgN80HvPLmVdfJ8BlaGRY3c179gVum/mQZeotfgF3zpbDN++9McdgUUIpfna/iSh5VTaw6/oXv3/WTM7m7aIxSahAcrKnYkYqXSPUqfe7o+hKdGCS9xsIOQnRHbdXLLfW2/5Ra0bUSmN8gtytP2JQsvJwseqYGBKvp0Pm4AGmFM5sg9YC4GKWBttdeGdkm7OvuG0sFftzke07UfeHPL2vAMWHTB0mGLPQ7ASzhRcMt2ysggtJ9Ueqiy0u2/crd8jtY05NksYm0AkUP6MBr7SoUqkcxBMA4O1gkaR4Ns4lfine4IIljXG5hIANfYUJKBBw3KVcG9qWCBR28lDUgP9GqhMomcDwzIUJPohUZ+onlaIzodObgJm9xt1ECpHRyW61a1hG3+dPSvTlTdR/jl0xrxPFu434ueq8otMNnbGOZMZTC9TTSFVrYv6/yt/1R9CpyVATXV1qSB3Jc0QbFxTL0Mw1CfzwEO2H8Xx++3rANTRaxP4BcmJkGhWkXBzRxrbjz424F/z7ylkO3VaAjQ0VFyiwSdwU0GVbXz19uw4JzB+182jwz6cu6hm32H7q/LzNDtyooiQTWg5afgYPqSx8axCt1OnJMAHvffcQVWugkgbp4JTJ0NVpS7ugc5Ix/gcy3NjILN1TWynZf1AZ6plZU1EBPm4udEcPuDlpU0FbSg6KQFKPM4toN3caamIIMJWzkZrjtv2R+/ZkweHvTd72YI9RhyoKvtmYvs1B9ufZAo5w24sGVv9as2PBW8oOiEBZvcbNRrRE5KdT0YEf6PsooaNsdE3VWk0+CcDGMEbZ/tTESFL2x+3KQXu8Xd1ftH/9bnrQvWcM3Jk3FdI8kGnmwYq1rTIjCq58g+dCU+9hS2dBustu4sZG7WBQ/Tu4bPmr/x0zPCD1bB39HQtzZO9ESGuKWDM4+DBcjGbUlYb9JwhL81/JpRv3phdB9iOfS0W04HnMmmLTNCpCDBrp9HjBH4WSYnMn5PBfcY0yTC7jA1qBWL7ImykyZkayGh5w2VCnea6TrjTg3P6QEwhpiYKad4LYFD5u+W3Lx381twfAOaPGLGnipwjPk5E1CNSkvd3h93oNJHAGWPHerqtqJ9P4Ju6KZDaJbQ9+pbd1YwFUJEbdp0394+f7L7bL0R5uUUf6kBfN7ZMqH79k3mfDt1tmPFYR6DmFIRBLjkLh//vfzunvr/s0Gk0QLcV9b9XGJKe0am1guOXEZZjrRVLpcRXejuAGLzhEkF17o4URkY/rtEfE1EMnovVHoq87zRb9/nX4UHk3I+HjjzEEXbERGyKBDWGIs9n0BRZoVMQ4L1Be3fXZt/VEN2tqcmQlAibOY3yttWF16prPvxx/q6jDlNjxsS9JiZEBI2M9HjbjzHIahH9AcNGNdKEQdWRElW6Gb90x5FhCH+LeAhuc+GWK1hiwm/4LBQ6BQFKm5qvQCTu9epxHZIQ8UQwfrbv2lR2ZyDVuQYVV1w+qvA6g3yLQx1Kszrix6FUjXQ1PtkKpSewLcK2hEyC22SE/mow3h8e6a6aRYiwYpd58xJ9YygvdHgCfNB7zx3AuTBVnqyJoHrv4MXvb5g7ePQh6jd+Vd5WQB3K8Ut3VXpi6Engw5DJp2Xi/hMazpp8uzggxBMBQAyPSgJ1lS86PAFKPM5NChWZ9HKGRPhOms0DAKZJrzNNMjpl7lQnQ+Y/yu5HrexlRAQU9VtEveK1UOjQBJjVb/RwVX4dlZgnEUSYOmrV3Pq5fUcfYmB0ukGXGakIB4qiVH7wRBQRQs5iWK4AvD7qszlfpLtELujQBBDVW0ASRzNzI8IPXbpUPADgCFdJ7NksAkvpMkY6PYYIIRmuWYNY+ud0YnNFhyXAzH5jDlbVgyAzNZwJEUCmVNe8tXF23z3GgvlZfM7MA0s5ESGREwhLd1049+V04nJFhyWAqIYfgc6o0dNn+qFrRZf7AFT0qhynkFlcLjpjQidQQUTvFLL63HxW6JCLQTP7jjkKGBObnmyhJ5NMqtxSXfPWxjl99xgDemBGsqLCf1ldLmnGmO3ia+wuvoczKZ4rOhwBFCyBa9PkyZwIgYw/dOtacQ+AEXNV1rJagggGMHrb8Pnz6zIplis6HAFm991jPDC8kI2uhjuqa97aOLPfmGHA4bnLyrxOGdRrnaX+gm7/SoQORYDpjLcVvSY6Ne9GX18qzXcDWKoTY1Zrk8pKjfR1SidLVG8fUfvx2iSnC4YORYC+fb86haSrfUIuWkGEu0bUfrx2dp/dK1GOT5gpAzmFrBPwrc9j355WfAHQYQgwZ+TIEoP+MbNYaMaNXm/bvj8DqCWXITGzooIRIas6IXDhHktnrc9IbJ7oMARw1ti/ASohGzuautEFfXC3pfNWz+w3Zlvg9KQZsyBC3uZB5eGRy2dPTyumQOgQBJjRd2y5IlclOpdHo/t8UnJ7UMhFCl1ynUIWsE6LSxsaL0h/hcKhQxCgXBp/B+yYKk8Ojf7E3ss/WDGzakwPQcMvVcxhClmoOjVg9MTh37XstC8W7Z4AL1UdWoZhQhrnPIwMG10t29wCII6eTYIl3YxVemGI4IjKSbuvmDMv3eUKjXZPgC38P52B0BtAkXSztDBSN7q+uPsXcz77vOrQMlG5KD9ZmWdKkqVZ0ZNG1X5UsJ2+2aBdE2A6421VuTS24/MlgmUCr1Ff4//xJIVeeUzXcsrkylKPyLjRrej0xaJdE6D3Tit/pSJVoeOCEEF5b/cvZ74fWGeRS+JzthoRalV1792XzXoJYO5Oewz5qGr36nRiC412SwAFUZHLAr9Td3w2RMDWKQAf9t3zEESHJs/YYkQwIPc0l5YMG107++N3++yzxUd9x0x2LPN47dK+i9LWv8BotwR4r3KfXyoyIpuOz4AIC0cv++glAEvNpa260BPItERh7Ojls86z6kzJrH6jryq3m79AdJJgXXM8Tzlpq1NgtFsCiOqk0O9sOz4ZEUT0ZgHzUd/dd0U4MJK/hYmgrAS90Gp2RliOMbP7jn7U43G+FrhBYQvg1d2Xzyz4nv9M0C43hLxXuc8+atg7dOz6nHJOx8G0r+wtnSdYDkatSxL1pYbzpkLmm0GA5cBTIroQtQ4wpXI1sHVMxnpVMvq4Q0ugXRLAGLks+smbvDo+9PPWUXPn+mZWjemNn6RPDwfKh8qmQnoiANtCIIYhkiSfyDVjamctT3mpFkS7MwHv77hXf+DwkBrPV/UH035s6NrlLwD4uECRkkzqUoAVv4pUsgRm1C7v0yqrfsnQ7gjgWPaFitjutFyJEH7sUuTe/Wre2vjeoL27I/wuUZlUaIkVP+A7UefktnD83GhXBJhZNaaHipwG8Z3oTsv0OJjms23nPgCryZxpsDbPN5ZQAIexCdHjR62Y+01GF25BtCsCNDhdzlKkR74d7yaPoI/vsXTWSgVLkfMzlZEOeRBBRfS3o5fPfifji7Ug2g0BpjPeRvmDO61AGuAOgA/77nkkUJmt+UiHLImgilw8evnsv2ckvBXQbmYBW/ddfQSwUyIPPudZgPDGPsvf/ziYdlFQI2QkI1laMmQwc3CA8/aonXV/WmGtiHZDAEXOgdQdkPWxkdsB3u23z3BV/Xk2MlLlSX0fobJRaFDllD1WfPRMXIE2RrsgwBs77t8f9EDIrAMyPF7ysxXvvhxMuDBbGZnmSQYXEZYgevwetR99krZQG6Bd+ADi0XMVsZLM4bM+DqbdLmDeqfrZ1oqcmKOMjMokgQKP1HftMnLM8kDnv99/r23SFWpttDkBPui9Zxej1umh4wJN/35saOjyNwD8nAOU5+hA5kqEj0X053vUzjpjG1Y3z+o3evzMnca8ZjkmZQSyLdDmBGjwdDkB2LIQHR8+Vu455Lv/1tVUV5cq8vs8tEi29ahR5AzHtg9RlR1m9h3z8Ia6bl+qynSE/R3HfjrnhmohtLkPYLDOgoI6f82C3gPwff3Wx1uY7bORkeN1GxV5B8MqLM63HPMX4gfX2/t89f6qLJqmVdCmBHi98oCBatgDCur8Pb7vine/ARDVC1rC+UtwXA4c7O7yuDwiT2TcMK2INiWAMdaZod+F0gAqgcDPm33221vR3fNZQcy1HgnSfFaz+VeGzdKqaDMfYMbYsR5Fwu/3KZAP8Pb+y2d8AiAWF+YiI8frppShIv8d8/VHa9K1SVugzQjQtLzsEKBXQTtAuQtgRtXY3qqMa0XnL52Mf2bYLK2ONiOAIqcXuAO+7tFz/fMAxmedTfBBz9bUAElIuVFLpU32/GeCNiHAK70P2VJEj4DCdQDKvaPmzvXNGTmyBOE3Be3EDI+T5Hlyn8Xvb8ikXdoCbeIEmhLrWFEtg4I5YU1qyUMAa9dsfizQK1dHLpcyqeqO8JdM26Ut0DYmQCN78gox8gzWkwcuf+O74MnzcpHRQhpg0T617xf8/b6FRKtrgP/0PWw70J8XcuRZlrkb4M0++1U7IvvkIiOXMmllKA9m3jJtg7bQAMera89fAUbezAOXvTEbwG95Mt7xU0jnL4mMZstj2s3Gj2RoCwL8CgrXAUatuwBeqjq0B8rJbaH6E8pQeX7vLz74PrMmaTu0KgGe63/UjorsWcAO+N6UWM8A2H7ndBXploOMXK6bVoZlt9z7fQuJVvUBbMc5kdDmuAL4AAbr3sOWvhz6mOJZuchoER9AmbPPsvfey7BZ2hSt7QQeV8AO8NmO8wDAy31+cYCi1TnIyIuAyequIrdm0SZtilYzAc/sdMz2iowKHeerggX918FfvRZYXrU4NxcZ7uOCOX/Kyu5bbWh3e/+SodUIUGo1Hw6Bj6QVogMM1r0A/93xoF7AEQX24LM6jkm7Y9Tcub7MWqXt0WomQFWOUOK3ZUNOanvhobUvvwPgs0vOErSk4HP4LI5daRsc234oq4ZpY7SKBpjee3wXRQ6Awow8I9a9Ajqd8baonpmLjEKo/gQyHjpo2evh7/x2BLSKBvCU+g9QIxVQkJFXj8PfASr61f9SVXrnIKMgzl+MjAb8dBjnL4TWMQEm8gr2fDtAVR4/4ssXfwqeODsXGe7jXMokkmFh7tp/5YyvM2qPdoRWMQGCHlwoFSyq90EgqAQc0pbOnythY6OnfFpmrdG+0OIa4Nkdj+6vSL8CqeDZh3/5n7kAtt/8TkXstnT+wjKEaYctfXl1lk3TLtDiGsDYVviRr3w1AHAvBPYTIvqbTMq0pAYIpq3xeUra9C0f+aDlfQDlQJXkT+UmSktyvFaa+SfAxtruhyvskEGZFtUAwYObD1v6cqu8278l0KIawIvXAsZCQTTAI0eseqE+kB6I+2dQpqU1QG1XX93dmbVG+0SLaoChlZ/upkZ6QgFGnglsrnih8og+xsjBOckoRD1cxyJ64V4rP2zIrlXaF1pUA6iRg8K/8xt5M47+8t8LABy1zgLiNpRke5yP1ggev3rw8tfa5OWOhUTLEgD5eYGcv/sh6PwpZxSiE3Mp4zpuciy7Vb/s0VJoMQIE7f8eoeM8OmBNqaf5OYB1yzc7QpFeBRi9+WqAa3+57KUlmbZFe0aLEWDnyppqYLN8O0BEHwlt+lCR32VSJpPjPGTMKu/beEs2bdGe0XImQEm49Ss6S/oG9zklDwM8U3VMb0WSRhSzPc5V9VvGnLnfW2/5s2qLdowWI4BRa0/IswOU947/8qkFADicTgGcPzeylqFy5S++fLUmi2Zo92hJJ3CvfEeesawHA+kIyukFst+5lRH5z2ErXuqwEb9kaBECPLrDqVsBAyCvkbeuvKnpaYBndxq3nyL9c5ARd5wjeb5sbi49TcAVAuwcaJFAkFNij1JEII/Ai/CPUOTPiHVmTjISHOdQpkksPfaYr59tl8/354sW0QAbSroO90nJEshdA4jRhwCe7Xv05oqMy0VGATSAqsjvfrnspTnZtkFHQYsQwKg1dL3VY10ezt+c41Y8Mw+gWUtPBrpkLSPJcTZlVOSaI5e/8LfcW6L9o4WcQKn2iWf3ZilZmEsHYEUeqhTR3xSi47OVIehfj1r+/PU53X4HQsEJ4MVrKQwBWG9vVh9Kz6ID6prt0icBpvcdv6siu7nlt4oGEHnmm622P5tNAAUnQEXlj/1BuijgxxrZQOnCbDpAkX/+euk/1gMYtaJ2/LaSBpj+3Zbbnnj23Ac6zN7+fFBwAnjEHqqEPGlhg92jAbLoAA286eOlqkPLgBMK5fxlIkPQJzfvu/bkTaXzoQUIYCzCnz9VwBF7tyarbEGGnbTwpBVPfAiw3t9jHEJP9/mW1ACC3vFx7YiTO1OYNxO0RByg2tWoAKyT7mZr1hCbnuD4gZAQRU4N/c5jDh/V4Uny+BDOG7f8uQeh3b7Mq8VQcA2gyNCg9g+PMCPW0Ear/DNXnkQjsdnnK/kbwBM7ntBLiez6KYQGSJLnR1H9xTHLn233r3JpKaQlwE0DLx2cqbDgHoABGhpbLiKss7qlVsGqz5/29WNrANQjJwN2Th585qr/Axtn5DErnn0z0/vrjEhLABV7+8kDL5t+U9UVW6fL22Pguu0VyoI75ggRQQVUrKFNVtknkLST/ho+VjklRw8+6bErzQGm/LjVlmPHHim3iwAADrJJREFU1T5Xm+g+pg28tGe6e+0sSEuAqxZPnQGyTizfZzcNvPToVHn94ukb+q2EVk4CakCBdXaP0iSd9G2vfqv+C/BY5SmjgF3c5wvo/C0T1X3H1z49KZmnf0fVhed6fH470bnOiIx8gKZm3+UgfsF6dvLAy+/39vWWJ8pnjO4UaezQvD5CBIMMabRKP4ntJIP1SMj7th3ntEKq/iB8wJ10Zfj4FU9/kKju0xlv3z7ggvvBdL9o+Z+/y6RdOgMyIoC39o61oH8I+uJnlZXWv3dz5cQ+sflE2Cn02x0LiBzDBqtHWSRPoJM8+B8FmF49vtRgFfolkm+L0V1/VTv9wuNrntqY6P7u6XPOFl9Xbf8sah2y1r+hQ7zcqVDIeBZwxZJpz6L6dKAjdaR6zKzJgy8d6c5jwm//jiCWCI7I4AYpm+fqpA9Oqn1iEUDzxtJfIvQshAYAPlWVY06sfXJseFdRAtxeddGejaWlcxU5QtVM8tY+0phpm3QGZDUN9JTK+cBaAIXt1Fgzbh5w6b6RHLp1oK8TjdwIEdZ5ulcAqggqEefPEfv0Ajh/i4xYp1m1ZsSJK558Ntm93Fl1ftltVRfeqPAuSD9g5sVf3NluX+veUsiKABNqbvlWkRtcjd7diPXSzQMn7gOAWNuFbX5MLCCEwHlrUL1dPg9oMGo9DfBw1RlbC3poIE/WGkBV5A1VOdZT6x968vLHH0v2VW4FubXqkvE+7BpFrlSwFZow1lkSclc2IWQdCfSVVNxV4qs/B+gf7ICuDubZG/pfspsqW4MggIbaUggeh5o3UGqjdOtRrs1Pn7HikbUAtt85SZGSQJHMoniKrEZ50hJzz0nLA2YkGbxjvZ5uq9YefquKF3Q4GiXHe+my2z/Nti06A7ImgLfG23z9oAmTRHnK1T09xfY8AbodRLz+kPsXGlbhTWIKjlC1xurqfr3baRl2/Ocq8jzw77LlTR8kG+khTBl04SBL7TP4ev2pirV9uHbBSxiVt3daurLT7PPPFpI+SzwU5MZBEz9CdVQiIRKjSaMNQPj428Ze3Xb0vuX1P9rv1GGq8klMeZ8iqxX53of9sVjyjlViXj1z8cNJP73m7eWt6NplY6URxqjoPhbsDTog8c0qoKtK/LrbpjTti0VOi0ECer3oZEGeAVCXanf/iozeULkonfCo9y2vH+Anu/vhJWre9Vmech92D0c8WzpYWwvaC+gF7AqcLoqZPPDyVaDuDqsX2AplB9i4mXGRLKkmCvzfgOpxm3LnQ44aAAJa4IZBkz4GHSauxGgFHrpIvEYQYw2dtHRKjXes1+P5puFLlO1jNETS8pE8GnPsTkpUj3AGn2CNu/zzaf9JfoebBnJeDRRQFW4HV7QvagoYQQIPfu6kpVNqAOxVTQcrbB8qG+ruVOUj10wQcQwnJaoHKOJDOKXY+QHktRy8ub/uiaCdBiKdoCEiSHRnhuf1oq6dtvprd9kwESQXIkg8EaIJWSeiR09YctsmN99PhrwIcMHSu5oUHgF358SOyLjO9Pn8+gTAlEETuqtwVOK1g4Rlib6WOy1+8SkiB0TkKyPsN2HJbS/lc8+dDXlvCFHLeixV6DeOCKKveL+Y9j1Ao9jHABWpyiUhUTBPsogjuIkA8obf59v9iiW3zs73fjsb8iaAd+FNnyGyIN0aQKRj7Ij6N6FPvCQvF1U2CREgWcSRDWCdP3HJLQddFfT2vX0v2jyf++1sKMiWMEWeCvxK6ngR7NB1FXVNLwLcOOTK7RH2z7CcKw0XEeLnB2EiKM8bx6m+YsnU/wvFIG8aePlh5VZZj0Lcc2dBYTaFiryiqtdAeI7tmnNHYgGK9eQlK29vAPDDCep63j82chCJKSQ6G7psMFWjcs4FJl75+S1vuKs4ecCE36M6eNKyKUUfwIWCEGBVxeq5vep61gFdFQ33UHgNAEK/wurfKL+WUDxW44I0cURwHyUMMYsswJEbrvz85ifdizo3DrlsKI411aC7lzpaTRFRyDkQFItrBl/xBsj+EaHRRABq/7R4cqWAequv2FkdCb9pI0rJa2xaID1RRYPXmSMqN/mXlP/bi9d4R3orrLrGIeI4e4nIUQL7A4LIr65aPGV6Ie61M6FgzwUo9jzB7B/4DYE2D55TBZFHw+uBjnWykiRULIEUjSJCvEkJljMgW4owzTOo4bbrmbg5Gxs2FwDLilwbHri62PkJkZQA51edX7aZZ4tTEYyjvucmL5qc+gUJyhcqyWy1qO23QupfFE4KnE+cP0KeWCLEmRQLqDShMsH0KMdQrHcdT/n5FJEQ6UyAXDn46j+JyFUCM0HewTLveUo8M70fe9e6M/5p8JWHgLwSLTzce+9du/CmnwFcNeSqfS3l7UQXTx7zJ7TilKDCKWP+c0p8HDhp2ZQO9RmX1kQ6E6A3Lbrh2qsHX/2pijwK+jOM4G9yuHrI1etRvgLWCrKFotsEi8SPVo18Q9eCE2PduGSriIG0AEIOo8YRIfHMQZH3Sks5ctLim4udnwIZxQFuWHTDv8AMBV6EcAP3UJFqhL1VdGeFnqGuCc3Pg53X1Fyi0wHOGnlWiaoclzJsS5oIX0wwyG02QtcV+Ic2lR90xac3/5Rle2xyyHoWcEW19zgxzq0CUdvCk3j+oOa56xffNA7g6uqrf4GRl935oiuRTM0nXlIOFHFTgA0icsGfFt30SFY3tQkj60jg5Brv0z9UfFelwimKhF+eFI7cScCTD41OseTJcGEjJ8bmc+eNaIQUEb6o6xHWCAgv2pa1S7Hzs0NO08CydWWWVWavMmqeV6QB9GexkbugF7/Bqih5AcDb11vejHN0XD4IzAsgydQvWTAofPa/BuO9ftHkD3O5l00dWRFg4uA/7mKLda4iJzrGbAapQ7iC/Ns711sP0FTOYYL0SBnqTRkDiDIPP4E8Jap3exffOD+beygiGhkRYMLQ64dY6tyIcrRRlUAHJvLkYwM2gXX/AJwTI6WSje7AuSREWA76GvCiZZe86q3xNmd1p0UkREoCXNz7ti4lPdZPFONMUgg80xf8AFRk/SXmOQDCawA/rK747jUAb7W3W5PRw6Li98H/E0T46hRWgsxHmC+WzjdGP7lx4Y0rCnC/RcQgKQEuH+o9XMyGu0D6BrttlQUzjPKBWLLIZzxf2Gb9j1MXT90wYdCE7pZWbC0WFyHm/KD6f/qB4CPYjWqOAqkA62XgNohMAiwx6oj+oLa9xvfjujW3B1cLi2gdxBHAO9JbUV9v36HGnKbwsiBTcKwZUxf/cXEyIVMXT90AbJg0+JoBIY3gIBH1r3JCQC3ooSLyyuQF3jtb4maKyB5RBJi483XVGxq5DPhYPLrjtPne7zMVdOlAb08sDXwkUuWrLgt5L3xSZJkKjqC2ordOHOL9eMpC7zuFuokickfYBztr5P0l3ZpWb3fbZ1d/lYugSTt7f6/BL3uKcMvNNd4J7vMTqq/dT1SfAbYQdMGPXb7Z9YFN6H187RXhQNADc8/25dr5AAZODP124PHY81NrrplhYR0KbFRk583re52X67WKKBwKsiFkwiBvL2z5CrAUXXTLAu+QZHkvG+I90BZeBtb+1GX7Xg/MPbuoBdoQhXlPoC0nKlgKiEjc6Hdj2kLv68BNCj23qv/moFR5i2h5FIQARjkhpEz8jqZ96qbLNlwvyCy/RMxGEW2DvAlw+dDr+2PJyOAiz+zbFnnTflDR+5bX7xf9jYjsnu/1i8gPeRPAqJyowcm/imvunwa31ngXqPJislfOFdE6KIAJ0BOCS7jGeCSrjZeNzXpdk6e0e/51KCJX5DULuHiX63YRI/MBFN68veaPBxSmWkW0FvLTAI51QujxLStq5a+IjoL8ngsQjgdQaG5yPEnfyVdE+0XOGuDi6htGK1IVXNF/9e5FV3bKDyt2duSsAVQY7zpIGfwpov0idwJgHRP8VeexS18oVIWKaF3kZAL+MPSGUQqVgSN5Ydr8y+sKWakiWg85EcASz3gIbwUvPnTZgZGTCVA1xwZDCBs93cteSZe/iPaLrDXAecOm7qZIfwBFX7z9w0uKe/g6MLLWAKJmPBJ8LYvydAvUqYhWRNYEUBgHIEJ9ueUpqv8OjqxMwLnVU3cFGRTcxf9i0fvv+MhOA4geF358Q0KvhiuiIyM7J1Dk2GDot74i8JBHER0cGRPgnKG3DFMYDGCwXiqq/86BjE2ACseFnvpDKar/ToKMNYARjgss/Uu9pRXFt212EmREgLNHTNtZYEjwrRyv3FNzXsIvcBbR8ZCRCVAjx4Z+W2hR/XciZKQBfMY/zsGg0FjSpayo/jsR0mqAk4bcsJMfZ1dLBQvz8l2zLlvfGhUronWQlgDGco5RVbFEELGL6r+TIS0BmnDG2SiWSlNJg7/4pa1OhpQEGDfMu43j+PZSVWzklelLryuq/06GlASo9zUeaQu2JYqR4tJvZ0RKAvjFf4xBsFR9HkuK6r8TIikB9h40obtffftZCJbom69+Oq344uVOiKQEMNJwuF+l3BJBoPjUTydFUgL4xYwTBUvFlCDPt2alimg9JHw6uKrq/LJudtNqC6u7JfLBnEX37t3aFSuidZBQA5RRf7Bf6W6JYhXVf6dGQgI4thmHgqiiYhfVfydGgsWg8TbKEQCq+tmiRQ+mfedPER0XcQQYXNVtH6AnAMK/WrtCRbQu4jWAJUeGftqqRfvfyRFPANUjgr9qaz5/5JPWrU4RrY0oAuxcdVo1woDg4bNEf82tiE6IKAIYS46KnCiq/00BMSZAQup/9YIldR+0em2KaHWECTC032+3BUYDILwITzltVakiWg9hAvhL/EeGjkWl+M6fTQQuExCe/jUZ4fU2qU0RrQ4LYGSvsyoQ9gdQeGPx4oc3tG21imgtWAD13fyHoFQAUFT/mxQsAMWE1L86ar3YhvUpopVhwXgb5JcAKG8vXfrQyjauUxGtCGvQoIo9gK0BI1jXtHWFimhdWBZyFIGP+k5c+Plfih9z3MTgUZVtVfSwxUseKb7xaxPE/wNdTWzU9o0tSgAAAABJRU5ErkJggg==';
    +    base_image.onload = function(){
    +        ctx.globalAlpha = 0.15
    +        ctx.drawImage(base_image, (canvas.width/2) - 64 - (lwidth/2), (canvas.height/2) - 128);
    +        ctx.globalAlpha = 1
    +    }
    +}
    +
    +
    +
    +/* Function for drawing line charts
    + * Example usage:
    + * quokkaLines("myCanvas", ['Line a', 'Line b', 'Line c'], [ [x1,a1,b1,c1], [x2,a2,b2,c2], [x3,a3,b3,c3] ], { stacked: true, curve: false, title: "Some title" } );
    + */
    +function quokkaBars(id, titles, values, options) {
    +    var canvas = document.getElementById(id);
    +    var ctx=canvas.getContext("2d");
    +    // clear the canvas first
    +    ctx.clearRect(0, 0, canvas.width, canvas.height);
    +    var lwidth = 150;
    +    var lheight = 75;
    +    var stack = options ? options.stack : false;
    +    var astack = options ? options.astack : false;
    +    var curve = options ? options.curve : false;
    +    var title = options ? options.title : null;
    +    var noX = options ? options.nox : false;
    +    var verts = options ? options.verts : true;
    +    if (noX) {
    +        lheight = 0;
    +    }
    +    
    +    
    +    
    +    // Draw a border
    +    ctx.lineWidth = 0.5;
    +    ctx.strokeRect(25, 30, canvas.width - lwidth - 40, canvas.height - lheight - 40);
    +    
    +    // Draw a title if set:
    +    if (title != null) {
    +        ctx.font="15px Arial";
    +        ctx.fillStyle = "#000";
    +        ctx.textAlign = "center";
    +        ctx.fillText(title,(canvas.width-lwidth)/2, 15);
    +    }
    +    
    +    // Draw legend
    +    ctx.textAlign = "left";
    +    var posY = 50;
    +    for (var k in titles) {
    +        var x = parseInt(k)
    +        if (!noX) {
    +            x = x + 1;
    +        }
    +        var title = titles[k];
    +        if (title && title.length > 0) {
    +            ctx.fillStyle = colors[k % colors.length][0];
    +            ctx.fillRect(canvas.width - lwidth + 20, posY-10, 10, 10);
    +            
    +            // Add legend text
    +            ctx.font="12px Arial";
    +            ctx.fillStyle = "#000";
    +            ctx.fillText(title,canvas.width - lwidth + 40, posY);
    +            
    +            posY += 15;
    +        }
    +        
    +
    +    }
    +    
    +    // Find max and min
    +    var max = null;
    +    var min = 0;
    +    var stacked = null;
    +    for (x in values) {
    +        var s = 0;
    +        for (y in values[x]) {
    +            if (y > 0 || noX) {
    +                s += values[x][y];
    +                if (max == null || max < values[x][y]) {
    +                    max = values[x][y];
    +                }
    +                if (min == null || min > values[x][y]) {
    +                    min = values[x][y];
    +                }
    +            }
    +        }
    +        if (stacked == null || stacked < s) {
    +            stacked = s;
    +        }
    +    }
    +    if (min == max) {
    +        max++;
    +    }
    +    if (stack) {
    +        min = 0;
    +        max = stacked;
    +    }
    +    
    +    
    +    // Set number of lines to draw and each step
    +    var numLines = 5;
    +    var step = (max-min) / (numLines+1);
    +    
    +    // Prettify the max value so steps aren't ugly numbers
    +    if (step %1 != 0) {
    +        step = (Math.round(step+0.5));
    +        max = step * (numLines+1);
    +    }
    +    
    +    // Draw horizontal lines
    +    for (x = numLines; x >= 0; x--) {
    +        
    +        var y = 30 + (((canvas.height-40-lheight) / (numLines+1)) * (x+1));
    +        ctx.moveTo(25, y);
    +        ctx.lineTo(canvas.width - lwidth - 15, y);
    +        ctx.lineWidth = 0.25;
    +        ctx.stroke();
    +        
    +        // Add values
    +        ctx.font="10px Arial";
    +        ctx.fillStyle = "#000";
    +        ctx.textAlign = "right";
    +        ctx.fillText( Math.round( ((max-min) - (step*(x+1))) * 100 ) / 100,canvas.width - lwidth + 12, y-4);
    +        ctx.fillText( Math.round( ((max-min) - (step*(x+1))) * 100 ) / 100,20, y-4);
    +    }
    +    
    +    
    +    // Draw vertical lines
    +    var sx = 1
    +    var numLines = values.length-1;
    +    var step = (canvas.width - lwidth - 40) / values.length;
    +    while (step < 24) {
    +        step *= 2
    +        sx *= 2
    +    }
    +    
    +    
    +    if (verts) {
    +        ctx.beginPath();
    +        for (var x = 1; x < values.length; x++) {
    +            if (x % sx == 0) {
    +                var y = 35 + (step * (x/sx));
    +                ctx.moveTo(y, 30);
    +                ctx.lineTo(y, canvas.height - 10 - lheight);
    +                ctx.lineWidth = 0.25;
    +                ctx.stroke();
    +            }
    +        }
    +    }
    +    
    +    
    +    
    +    // Some pre-calculations of steps
    +    var step = (canvas.width - lwidth - 48) / values.length;
    +    var smallstep = (step / titles.length) - 2;
    +    
    +    // Draw X values if noX isn't set:
    +    if (noX != true) {
    +        ctx.beginPath();
    +        for (var i = 0; i < values.length; i++) {
    +            smallstep = (step / (values[i].length-1)) - 2;
    +            zz = 1
    +            var x = 35 + ((step) * i);
    +            var y = canvas.height - lheight + 5;
    +            if (i % sx == 0) {
    +                ctx.translate(x, y);
    +                ctx.moveTo(0,0);
    +                ctx.lineTo(0,-15);
    +                ctx.stroke();
    +                ctx.rotate(45*Math.PI/180);
    +                ctx.textAlign = "left";
    +                var val = values[i][0];
    +                if (val.constructor.toString().match("Date()")) {
    +                    val = val.toDateString();
    +                }
    +                ctx.fillText(val.toString(), 0, 0);
    +                ctx.rotate(-45*Math.PI/180);
    +                ctx.translate(-x,-y);
    +            }
    +        }
    +        
    +    }
    +    
    +    
    +    
    +    
    +    // Draw each line
    +    var stacks = [];
    +    var pstacks = [];
    +    
    +    for (k in values) {
    +        smallstep = (step / (values[k].length)) - 2;
    +        stacks[k] = 0;
    +        pstacks[k] = canvas.height - 40 - lheight;
    +        var beginX = 0;
    +        for (i in values[k]) {
    +            if (i > 0 || noX) {
    +                var z = parseInt(i);
    +                var zz = z;
    +                if (!noX) {
    +                    z = parseInt(i) + 1;
    +                    zz = z - 2;
    +                    if (z > values[k].length) {
    +                        break;
    +                    }
    +                }
    +                var value = values[k][i];
    +                var title = titles[i];
    +                var color = colors[zz % colors.length][1];
    +                var fcolor = colors[zz % colors.length][2];
    +                if (values[k][2] && values[k][2].toString().match(/^#.+$/)) {
    +                    color = values[k][2]
    +                    fcolor = values[k][2]
    +                    smallstep = (step / (values[k].length-2)) - 2;
    +                }
    +                var x = ((step) * k) + ((smallstep+2) * zz) + 5;
    +                var y = canvas.height - 10 - lheight;
    +                var mdiff = (max-min);
    +                mdiff = (mdiff == 0) ? 1 : mdiff;
    +                var height = ((canvas.height - 40 - lheight) / (mdiff)) * value * -1;
    +                var width = smallstep - 2;
    +                if (width <= 1) {
    +                    width = 1
    +                }
    +                if (stack) {
    +                    width = step - 10;
    +                    y -= stacks[k];
    +                    stacks[k] -= height;
    +                    x = (step * k) + 4;
    +                    if (astack) {
    +                        y = canvas.height - 10 - lheight;
    +                    }
    +                }
    +                
    +                        
    +                // Draw bar
    +                ctx.beginPath();
    +                ctx.lineWidth = 2;
    +                ctx.strokeStyle = color;
    +                ctx.strokeRect(27 + x, y, width, height);
    +                var alpha = 0.75
    +                if (fcolor.r) {
    +                    ctx.fillStyle = 'rgba('+ [parseInt(fcolor.r*255),parseInt(fcolor.g*255),parseInt(fcolor.b*255),alpha].join(",") + ')';
    +                } else {
    +                    ctx.fillStyle = fcolor;
    +                }
    +                ctx.fillRect(27 + x, y, width, height);
    +                
    +            }
    +        }
    +        
    +
    +    }
    +}
    +
    +
    +]==]
    +
    +
    +status_css = [[
    +    html {
    +    font-size: 14px;
    +    position: relative;
    +    background: #272B30;
    +    }
    +
    +    body {
    +        background-color: #272B30;
    +        color: #000;
    +        margin: 0 auto;
    +        min-height: 100%;
    +        font-family: Arial, Helvetica, sans-serif;
    +        font-weight: normal;
    +    }
    +    
    +    .navbarLeft {
    +        background: linear-gradient(to bottom, #F8A900 0%,#D88900 100%);
    +        width: 200px;
    +        height: 30px;
    +        padding-top: 2px;
    +        font-size: 1.35rem;
    +        color: #FFF;
    +        border-bottom: 2px solid #000;
    +        float: left;
    +        text-align: center;
    +    }
    +    
    +    .navbarRight {
    +        background: linear-gradient(to bottom, #EFEFEF 0%,#EEE 100%);
    +        width: calc(100% - 240px);
    +        height: 28px;
    +        color: #333;
    +        border-bottom: 2px solid #000;
    +        float: left;
    +        font-size: 1.3rem;
    +        padding-top: 4px;
    +        text-align: left;
    +        padding-left: 40px;
    +    }
    +    
    +    .wrapper {
    +        width: 100%;
    +        float: left;
    +        background: #33363F;
    +        min-height: calc(100% - 80px);
    +        position: relative;
    +    }
    +    
    +    .serverinfo {
    +        float: left;
    +        width: 200px;
    +        height: calc(100% - 34px);
    +        background: #293D4C;
    +    }
    +    
    +    .skey {
    +        background: rgba(30,30,30,0.3);
    +        color: #C6E7FF;
    +        font-weight: bold;
    +        padding: 2px;
    +    }
    +    
    +    .sval {
    +        padding: 2px;
    +        background: rgba(30,30,30,0.3);
    +        color: #FFF;
    +        font-size: 0.8rem;
    +        border-bottom: 1px solid rgba(200,200,200,0.2);
    +    }
    +    
    +    .charts {
    +        padding: 0px;
    +        width: calc(100% - 220px);
    +        max-width: 1000px;
    +        min-height: 100%;
    +        margin: 0px auto;
    +        position: relative;
    +        float: left;
    +        margin-left: 20px;
    +    }
    +
    +    pre, code {
    +        font-family: "Courier New", Courier, monospace;
    +    }
    +
    +    strong {
    +        font-weight: bold;
    +    }
    +
    +    q, em, var {
    +        font-style: italic;
    +    }
    +    /* h1                     */
    +    /* ====================== */
    +    h1 {
    +        padding: 0.2em;
    +        margin: 0;
    +        border: 1px solid #405871;
    +        background-color: inherit;
    +        color: #036;
    +        text-decoration: none;
    +        font-size: 22px;
    +        font-weight: bold;
    +    }
    +
    +    /* h2                     */
    +    /* ====================== */
    +    h2 {
    +        padding: 0.2em 0 0.2em 0.7em;
    +        margin: 0 0 0.5em 0;
    +        text-decoration: none;
    +        font-size: 18px;
    +        font-weight: bold;
    +        text-align: center;
    +    }
    +
    +    #modules {
    +        margin-top:20px;
    +        display:none;
    +        width:400px;
    +    }
    +    
    +    .servers {
    +        
    +        width: 1244px;
    +        background: #EEE;
    +    }
    +
    +    tr:nth-child(odd) {
    +        background: #F6F6F6;
    +    }
    +    tr:nth-child(even) {
    +        background: #EBEBEB;
    +    }
    +    td {
    +        padding: 2px;
    +    }
    +    table {
    +        border: 1px solid #333;
    +        padding: 0px;
    +        margin: 5px;
    +        min-width: 360px;
    +        background: #999;
    +        font-size: 0.8rem;
    +    }
    +    
    +    canvas {
    +        background: #FFF;
    +        margin: 3px;
    +        text-align: center;
    +        padding: 2px;
    +        border-radius: 10px;
    +        border: 1px solid #999;
    +    }
    +    
    +    .canvas_wide {
    +        position: relative;
    +        width: 65%;
    +    }
    +    .canvas_narrow {
    +        position: relative;
    +        width: 27%;
    +    }
    +    
    +    a {
    +        color: #FFA;
    +    }
    +    
    +    .statsbox {
    +        border-radius: 3px;
    +        background: #3C3E47;
    +        min-width: 150px;
    +        height: 60px;
    +        float: left;
    +        margin: 15px;
    +        padding: 10px;
    +    }
    +    
    +    .btn {
    +        background: linear-gradient(to bottom, #72ca72 0%,#55bf55 100%);
    +        border-radius: 5px;
    +        color: #FFF;
    +        text-decoration: none;
    +        padding-top: 6px;
    +        padding-bottom: 6px;
    +        padding-left: 3px;
    +        padding-right: 3px;
    +        font-weight: bold;
    +        text-shadow: 1px 1px rgba(0,0,0,0.4);
    +        margin: 12px;
    +        float: left;
    +        clear: none;
    +    }
    +    
    +    .infobox_wrapper {
    +        float: left;
    +        min-width: 200px;
    +        margin: 10px;
    +    }
    +    .infobox_title {
    +        border-top-left-radius: 4px;
    +        border-top-right-radius: 4px;
    +        background: #FAB227;
    +        color: #FFF;
    +        border: 2px solid #FAB227;
    +        border-bottom: none;
    +        font-weight: bold;
    +        text-align: center;
    +        width: 100%;
    +    }
    +    .infobox {
    +        background: #222222;
    +        border: 2px solid #FAB227;
    +        border-top: none;
    +        color: #EFEFEF;
    +        border-bottom-left-radius: 4px;
    +        border-bottom-right-radius: 4px;
    +        float: left;
    +        width: 100%;
    +
    +    }
    +    
    +    
    +    .serverinfo ul {
    +        margin: 0px;
    +        padding: 0px;
    +        margin-top: 20px;
    +        list-style: none;
    +    }
    +    
    +    .serverinfo ul li .btn {
    +        width: calc(100% - 8px);
    +        margin: 0px;
    +        border: 0px;
    +        border-radius: 0px;
    +        padding: 0px;
    +        padding-top: 8px;
    +        padding-left: 8px;
    +        height: 24px;
    +        background: rgba(0,0,0,0.2);
    +        border-bottom: 1px solid rgba(100,100,100,0.3);
    +    }
    +    
    +    .serverinfo  ul li:nth-child(1)  {
    +        border-top: 1px solid rgba(100,100,100,0.3);
    +    }
    +    .serverinfo ul li .btn.active {
    +        background: rgba(30,30,50,0.2);
    +        border-left: 4px solid #27FAB2;
    +        padding-left: 4px;
    +        color: #FFE;
    +    }
    +    
    +    .serverinfo ul li .btn:hover {
    +        background: rgba(50,50,50,0.15);
    +        border-left: 4px solid #FAB227;
    +        padding-left: 4px;
    +        color: #FFE;
    +    }
    +]]
    -- 
    cgit v1.2.3